[
  {
    "path": ".github/workflows/test.yml",
    "content": "name: Tests\n\non:\n  push:\n    branches: [master]\n  pull_request:\n    branches: [master]\n\njobs:\n  test:\n    runs-on: ubuntu-22.04\n    steps:\n      - uses: actions/checkout@v4\n\n      - name: Install sass\n        run: |\n          sudo apt-get update\n          sudo apt-get install --yes ruby-sass build-essential\n\n      - name: Install uv\n        uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0\n        with:\n          python-version: '3.13'\n\n      - name: Install dependencies\n        run: |\n          uv sync --locked\n          uv run whotracksme --help\n\n      - name: Fetch test data assets\n        run: |\n          aws --no-sign-request s3 cp --recursive s3://data.whotracks.me/2017-06 2017-06\n          aws --no-sign-request s3 cp --recursive s3://data.whotracks.me/2021-06 2021-06\n        working-directory: whotracksme/data/assets\n        env:\n          AWS_DEFAULT_REGION: us-east-1\n\n      - name: Run tests\n        run: |\n          uv run pytest\n\n      - name: Check build\n        run: |\n          uv run whotracksme website\n"
  },
  {
    "path": ".gitignore",
    "content": "*.pyc\n.cache/\n.sass-cache/\n__pycache__/\n_site/\ndist/\nwhotracksme.egg-info/\n.DS_Store\nvenv/\nwhotracksme/data/assets/**/*.csv\nwhotracksme.db\n"
  },
  {
    "path": ".tool-versions",
    "content": "python 3.11.6\n"
  },
  {
    "path": "Dockerfile",
    "content": "# Set base image to build upon\nFROM python:3.11-slim\n\n# Set arg and env\nARG VERSION\nARG UID=1000\nARG GID=1000\nARG USER=jenkins\nARG GROUP=jenkins\n\n# Add jenkins user and group\nRUN groupadd -g ${GID} ${GROUP} && \\\n    useradd -u ${UID} -g ${GID} -m -s /bin/bash ${USER}\n\n# Set labels to identify image\nLABEL vendor=\"Ghostery GmbH\" \\\n      maintainer=\"chrmod@ghostery.com\" \\\n      version=${VERSION}\n\nRUN apt-get update && \\\n    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \\\n      build-essential \\\n      libffi-dev \\\n      ruby-sass \\\n    && \\\n    rm -rf /var/lib/apt/lists/* && \\\n    rm -f /var/cache/apt/*.bin\n\n# Copy application python requirements\nCOPY requirements-dev.txt /home/jenkins/\n\n# Install python dependencies\nRUN pip install -r /home/jenkins/requirements-dev.txt\n"
  },
  {
    "path": "Jenkinsfile",
    "content": "\ndef testReport = 'test-report.xml'\ndef stagingBucket = 'internal.clyqz.com'\ndef stagingPrefix = '/docs/whotracksme'\ndef productionBucket = 'whotracksme'\ndef productionPrefix = ''\n\nnode('magrathea') {\n    stage ('Checkout') {\n        checkout([\n            $class: 'GitSCM',\n            branches: [[name: 'refs/heads/'+env.BRANCH_NAME]],\n            extensions: [[$class: 'GitLFSPull']],\n            userRemoteConfigs: [\n                [refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*/head:refs/remotes/origin/PR-* +refs/tags/*:refs/remotes/origin/*',\n                url: 'https://github.com/ghostery/whotracks.me.git']\n            ]\n        ])\n    }\n    def img\n\n    stage('Download Datasets') {\n        dir('whotracksme/data/assets') {\n            sh('aws s3 sync --no-sign-request --no-progress s3://data.whotracks.me/ .')\n        }\n    }\n\n    stage('Build Docker Image') {\n        img = docker.build('whotracksme', '. --build-arg user=`whoami` --build-arg UID=`id -u` --build-arg GID=`id -g`')\n    }\n\n    img.inside() {\n        try {\n            stage('Install') {\n                sh(\"python -m pip install --user -e '.[dev]'\")\n            }\n\n            stage('Test') {\n                try {\n                    sh(script: \"pytest --junit-xml=${testReport}\")\n                } catch(err) {\n                    junit(testReport)\n                    currentBuild.result = \"FAILURE\"\n                }\n            }\n\n            stage('Build site') {\n                sh('/home/jenkins/.local/bin/whotracksme website')\n            }\n\n            if (env.BRANCH_NAME == 'master') {\n                withCredentials([[\n                $class: 'AmazonWebServicesCredentialsBinding',\n                accessKeyVariable: 'AWS_ACCESS_KEY_ID',\n                credentialsId: '04e892d6-1f78-400e-9908-1e9466e238a9',\n                secretKeyVariable: 'AWS_SECRET_ACCESS_KEY'\n                ]]) {\n                    stage('Publish Site') {\n                        sh(\"python deploy_to_s3.py ${productionBucket} ${productionPrefix} --production\")\n                    }\n                }\n            }\n        } finally {\n            // cleanup\n            sh('rm -rf _site; rm -rf .sass-cache')\n        }\n    }\n\n    junit(testReport)\n}\n"
  },
  {
    "path": "LICENSE.md",
    "content": "MIT License\n\nCopyright (c) 2017 - to present Ghostery GmbH\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "&nbsp;\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/ghostery/whotracks.me/master/static/img/who-tracksme-logo.png\" width=\"300px\" alt=\"WhoTracks.Me\" />\n</p>\n<h3 align=\"center\">Bringing Transparency to Online Tracking</h3>\n\n<p align=\"center\">\n  <em>\n    Transparency\n    · Privacy\n    · Tracking landscape\n    · Built by Ghostery\n  </em>\n  <br />\n  <em>\n    <a href=\"https://www.ghostery.com/whotracksme/trackers\" target=\"_blank\" rel=\"noopener noreferrer\">Trackers</a>\n    · <a href=\"https://www.ghostery.com/whotracksme/websites\" target=\"_blank\" rel=\"noopener noreferrer\">Websites</a>\n    · <a href=\"https://www.ghostery.com/whotracksme/explorer\" target=\"_blank\" rel=\"noopener noreferrer\">Explorer</a>\n  </em>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.ghostery.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n    <img alt=\"powered by Ghostery\" src=\"https://img.shields.io/badge/ghostery-powered-blue?logo=ghostery&style=flat-square\">\n  </a>\n  <a href=\"https://github.com/cliqz-oss/adblocker/blob/master/LICENSE\">\n    <img alt=\"License Badge\" src=\"https://img.shields.io/github/license/ghostery/whotracks.me?style=flat-square\"></a>\n</p>\n\n# Downloading the data\n\nEach month, we release a new version of the web site. The data from the last month can be directly [accessed through the website](https://www.ghostery.com/whotracksme/explorer).\n\nThe raw data, from which the graphs have been computed, is also available as an open data set (updated every month). You can also\ndownload historical data. More information on the raw data can be found [here](whotracksme/data/Readme.md).\n\nWhoTracks.me also builts heavily on another open source project called [TrackerDB](https://github.com/ghostery/trackerdb);\nall meta data (e.g. company descriptions) is maintained there.\n\n# Using the data\n\nYou can directly use the [raw data](whotracksme/data/Readme.md), which are all text files. As an alternative, you an also\ndownload it locally and use the Python API:\n\n\n```\nuv sync --frozen\n. .venv/bin/activate\n```\n\nThe Python API can now be accessed as follows (make sure you have already downloaded data):\n\n```python\nfrom whotracksme.data.loader import DataSource\n\ndata = DataSource()\n\n# available entities\ndata.trackers\ndata.companies\ndata.sites\n```\n\nA whitepaper for WhoTracks.me is available at https://arxiv.org/abs/1804.08959, and here's a BibTeX entry that you can use to cite it in a publication:\n\n```\n@misc{whotracksme,\n    title={WhoTracks.Me: Shedding light on the opaque world of online tracking},\n    author={Arjaldo Karaj and Sam Macbeth and Rémi Berson and Josep M. Pujol},\n    year={2018},\n    eprint={1804.08959},\n    archivePrefix={arXiv},\n    primaryClass={cs.CY}\n}\n```\n\n# Contributing\n\nWe rely on contributions for the community to keep the quality of this project high. If you want, you can support us in multiple ways:\n* Do you see inconsistencies in the data? Please open a Github issue [here](https://github.com/whotracksme/whotracks.me/issues). We will have a look!\n* Do you see wrong company descriptions? Did we put something in the category? Please check out the [TrackerDB project](https://github.com/ghostery/trackerdb), where all the meta data is kept, and open an [issue](https://github.com/ghostery/trackerdb/issues), or send us a pull request.\n* Do you have any feedback on the [WhoTracks.me homepage](https://www.ghostery.com/whotracksme) or about the documentation? Please, let us know, so we can improve.\n\nYou can also contact us via email at [info@whotracks.me](mailto:info@whotracks.me)\n\n# Right to Amend\n\nPlease read our [Guideline for 3rd parties](https://github.com/ghostery/whotracks.me/blob/master/RIGHT_TO_AMEND.md) wanting to suggest\ncorrections to their data.\n\n# Local builds\n\n[Readme on local builds](docs/local-build.md) (this is mostly relevant for the maintainer of this project)\n\n# License\n\nThe content of this project itself is licensed under the [Creative\nCommons Attribution 4.0 license](https://creativecommons.org/licenses/by/4.0/), and the underlying source code used\nto generate and display that content is licensed under the [MIT\nlicense](https://github.com/ghostery/whotracks.me/blob/master/LICENSE.md).\n"
  },
  {
    "path": "RIGHT_TO_AMEND.md",
    "content": "# Right to Amend\nA Guideline for 3rd parties wanting to suggest corrections to their data\n\n\nwhotracks.me has already grown to be the most comprehensive transparency \nand monitoring tool on online tracking that we are aware of. It already \nfeatures longitudinal data of more than 800 million page loads.\n\nWe are constantly working on improving the quality of our database, and at this \nscale, it is possible to have minor inaccuracies. Hence, we are always happy to \namend incorrect entries when pointed out.\n\nThis is a guideline for 3rd parties wanting to suggest corrections to their\ndata. \n\n1. Please reach out by opening an issue in the repository.\n2. Identify yourself, and your role in the organization on behalf of which you are \n   proposing an amendment of the data.\n3. Provide urls to the whotracks.me pages that contain inaccuracies (e.g. https://whotracks.me/trackers/name-of-tracker)\n4. Clearly list the inaccuracy(y/ies), and for each write a sentence or two providing \n   evidence/justification w.r.t. why the current information is not correct.\n\n\nWe dislike inaccurate information just as much as you do, and \nwill do our best to resolve the issue as soon as we can. \n"
  },
  {
    "path": "blog/adblockers_performance_study.md",
    "content": "title: Adblockers Performance Study\nsubtitle:\ndescription: A detailed comparison of popular adblockers with tips to help you block ads effectively and improve your digital privacy.\nauthor:\ntype: article\npublish: True\ndate: 2019-02-15\ntags: blog, adblocker, performance\nheader_img: blog/adblocker-perf-study.jpg\nredirect_url: https://www.ghostery.com/blog/adblockers-performance-study\n+++\n\n_In this study, we show_\n\n * _That all popular content-blockers are very efficient, having sub-millisecond\n   median decision time per request_\n * _That the manifest v3 performance claim is inaccurate based on our measurements_\n * _That the ad blocker used by Cliqz and [Ghostery](https://www.ghostery.com/) consistently performs as well\n   or better than other popular content-blockers_\n * _How to block ads effectively and improve your digital privacy._\n---\n\n## About the adblocker performance study\n\nHere, we present a detailed analysis of the performance of some of the\nmost popular adblockers and content-blocker engines: *uBlock Origin*, *Adblock Plus*,\n*Brave*, *DuckDuckGo* and *Cliqz/Ghostery's* advanced adblocker (shipped\nsince Ghostery 8), which we will refer to as *Ghostery* for the rest of\nthe article.\n\n## Why was the study conducted?\n\nThis study was motivated by the recent [Manifest V3\ncontroversy](https://bugs.chromium.org/p/chromium/issues/detail?id=896897).\nOne of the proposed changes involves crippling the WebRequest APIs to\nlimit their blocking abilities.\n\nTwo justifications were put forth:\none related to *performance* and another related to privacy. The\nprivacy argument deserves its own separate analysis and will not be\ncovered here.\n\n### What were the findings?\n\nIn this study, we show that the *performance* argument\ndoes not hold. Our comparison demonstrates that the most popular\ncontent-blockers and adblockers are already very efficient (having a sub-millisecond\nmedian decision time per request) and should not result in any\noverhead noticeable by users.\n\nWe showed in another study [The Tracker\nTax](https://www.ghostery.com/lp/trackertax/) that blocking ads and\ntrackers actually reduces the loading time of websites by **up to\na factor of 2**. Besides, efficiency is continuously improved and\ntechnologies such as WebAssembly will enable further optimizations.\n\n### What did the study compare?\n\nThis comparison does not involve full extensions, but instead **focuses\non network request-blocking engines**. This is the most CPU-intensive\ntask performed by content-blockers (in particular, this does not account\nfor cosmetics engines or subscription management).\n\nHere are the home pages for all content-blockers compared:\n\n* Ghostery and Cliqz's [adblocker v0.6.9](https://github.com/cliqz-oss/adblocker/commit/58d89689af95d09e02a52e57aceb75151153d4ab).\n* Brave's [ad-block 4.1.3](https://github.com/brave/ad-block/commit/cfb714387fef649bd4ec7c1242ae442d58e4d41f).\n* DuckDuckGo's [abp-filter-parser 0.2.0](https://github.com/duckduckgo/abp-filter-parser/commit/01a864e84f472e31b9f5c47bbc05a7d75ee1ca62).\n* uBlock Origin commit [29b10d2](https://github.com/gorhill/uBlock/commit/29b10d215184aef1a9a12b715b47de9656ecdc3c).\n* AdblockPlus' [adblockpluscore 34c49bb](https://github.com/adblockplus/adblockpluscore/commit/34c49bbf029e586226220c067c50cec6e8bf8842).\n\nWe did not include native blockers from Chromium and Safari projects\nas this would require some significant effort to package them in a way\nthat allows benchmarking against the other libraries. We leave this for\nfuture work.\n\n### How were the adblockers compared?\n\nEvery adblocker, except *uBlock Origin*, are available as JavaScript libraries which\ncan be loaded in Node.js. To allow a comparison of *uBlock Origin*, we had to\nextract the static network filtering engine [out of the\nextension](https://github.com/cliqz-oss/adblocker/blob/master/bench/comparison/ublock.js).\nThe version of *uBlock Origin* running in this benchmark *does not make\nuse of the Webassembly* version of domain matching.\n\nAll benchmarks were run on an X1 Carbon 2016 (i7 U6600 + 16 GB) in\nNode.js 11.9.0. Memory measurements were performed in Google Chrome version\n72.0.3626.96 using the memory snapshot tool.\n\n## Results\n\nBefore presenting the detailed analysis of the results, let us highlight\nour findings in a nutshell:\n\n- All content-blockers except *DuckDuckGo* have **sub-millisecond median decision\n  time** per request.\n\n- **Time to Process a Request in Ghostery** (median): **0.007 ms**\n    - 2.7x faster than *uBlock Origin*\n    - 2.9x faster than *Adblock Plus*\n    - 6.3x faster than *Brave*\n    - 1258.4x faster than *DuckDuckGo*\n\n- **Loading Ghostery's Blocking Engine** (from cache): **0.03 ms**\n    - 368x faster than *Brave*\n    - 588x faster than *uBlock Origin*\n    - 3575x faster than *Adblock Plus*\n    - *DuckDuckGo*'s engine does not offer serialization, so the loading cost is always the one from parsing the lists.\n\n- **Memory Consumption of Ghostery's Blocking Engine** (at startup, in Chrome): **1.8 MB**\n    - 1.6x less memory than *uBlock Origin*\n    - 8.4x less memory than *Adblock Plus*\n    - 8.8x less memory than *DuckDuckGo*\n    - The memory usage of *Brave* could not be evaluated using the devtools\n      and thus is not included in this section.\n\n### 0. About the Dataset\n\nTo measure the performance of each adblocker, we replayed requests\nfrom popular domains and tracked the time it took to decide\nif they should be blocked or not.\n\nWe then analyzed the results in three\ndifferent ways: all requests, blocked only and not blocked (taken from\nthe same run).\n\n### How the dataset was created\n\nThe dataset was created using a pool of Chrome\nheadless browsers (driven by the [`puppeteer` library](https://github.com/GoogleChrome/puppeteer))\nto visit home pages of the *top 500 domains* (as reported by Cliqz\nSearch). Up to 3 pages of each domain (picked randomly from\nthe home page) and all the network requests seen (URL, frame\nURL and type) were also collected.\n\nThe dataset was shuffled in such a way that the different\npages were visited in a random order, but requests seen on each page\nwere replayed as they were recorded initially.\n\nIn summary:\n\n* The dataset is composed of 242944 requests.\n* We released the data publicly at\n  this URL: [requests_top500.json.gz](https://cdn.cliqz.com/adblocking/requests_top500.json.gz).\n* The script to create the dataset is also available:\n  [create_dataset.js](https://github.com/cliqz-oss/adblocker/blob/master/bench/comparison/create_dataset.js) and\n  [shuffle_dataset.js](https://github.com/cliqz-oss/adblocker/blob/master/bench/comparison/shuffle_dataset.js) was used to shuffle the\n  requests to produce the final data.\n\n### 1. Composition of Requests\n\nFor the purpose of this comparison, we consider that each network\nrequest can be either blocked or allowed by the content-blocker; we call\nthe process of deciding whether a request should be blocked or not:\n*matching*.\n\nWe observed that from our dataset, only ~19.2% are blocked\n(average across all content-blockers).\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/requests-composition.svg\" alt=\"Composition of requests\" />\n\n### Key takeaway: how to make an adblocker more effective\n\nThis observation suggests that content-blockers will perform better on\naverage if they can efficiently decide which requests to *not block*.\n\nThe filters used to determine whether or not a request is to be blocked\nare the ones from [Easylist](https://easylist-downloads.adblockplus.org/easylist.txt),\nwhere we removed all the cosmetic rules before running the benchmarks.\nThe final list contains *38978 network filters* and is available here:\n[easylist.txt](https://github.com/cliqz-oss/adblocker/blob/master/bench/comparison/easylist.txt).\n\nIt should be noted at this point that a larger proportion of requests\nwould be blocked by enabling extra filters lists such as *EasyPrivacy*.\n\n### 2. Time To Match All Requests\n\nWe first look at all of the requests (whether they will eventually\nbe blocked or not).\n\nWe use a log scale for the x-axis (time in\nmilliseconds) to facilitate the comparison of the cumulative\ndistribution of the time it takes for adblockers to decide whether\nor not a request should be blocked.\n\nHere is a break-down of the 99th percentile and median times for each\ncontent-blocker:\n\n<table class=\"table table-hover\">\n<thead>\n<tr>\n<th></th>\n<th>99% OF REQUESTS</th>\n<th>MEDIAN</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Ghostery</strong></td>\n<td><strong>0.050ms</strong></td>\n<td><strong>0.007ms</strong></td>\n</tr>\n<tr>\n<td>uBlock Origin</td>\n<td>0.124ms (<strong>2.5x slower</strong>)</td>\n<td>0.017ms (<strong>2.7x slower</strong>)</td>\n</tr>\n<tr>\n<td>Adblock Plus</td>\n<td>0.103ms (<strong>2.1x slower</strong>)</td>\n<td>0.019ms (<strong>2.9x slower</strong>)</td>\n</tr>\n<tr>\n<td>Brave</td>\n<td>1.288ms (<strong>25.9x slower</strong>)</td>\n<td>0.041ms (<strong>6.3x slower</strong>)</td>\n</tr>\n<tr>\n<td>DuckDuckGo</td>\n<td>12.085ms (<strong>242.5x slower</strong>)</td>\n<td>8.270ms (<strong>1258.4x slower</strong>)</td>\n</tr>\n</tbody>\n</table>\n\nBelow you can find the cumulative distribution plots of these timings:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/ghostery-ublock-origin-brave-duckduckgo-adblock-plus-all.svg\" alt=\"Time To Match All Requests\" />\n\n### 3. Time To Match Requests Which Are Not Blocked\n\nThe following table details 99th percentile and median timings for requests not\nblocked:\n\n<table class=\"table table-hover\">\n<thead>\n<tr>\n<th></th>\n<th>99% OF REQUESTS</th>\n<th>MEDIAN</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Ghostery</strong></td>\n<td><strong>0.049ms</strong></td>\n<td><strong>0.006ms</strong></td>\n</tr>\n<tr>\n<td>uBlock Origin</td>\n<td>0.112ms (<strong>2.3x slower</strong>)</td>\n<td>0.018ms (<strong>2.8x slower</strong>)</td>\n</tr>\n<tr>\n<td>Adblock Plus</td>\n<td>0.105ms (<strong>2.2x slower</strong>)</td>\n<td>0.020ms (<strong>3.1x slower</strong>)</td>\n</tr>\n<tr>\n<td>Brave</td>\n<td>1.270ms (<strong>26.2x slower</strong>)</td>\n<td>0.038ms (<strong>5.9x slower</strong>)</td>\n</tr>\n<tr>\n<td>DuckDuckGo</td>\n<td>11.190ms (<strong>230.5x slower</strong>)</td>\n<td>6.781ms (<strong>1060.5x slower</strong>)</td>\n</tr>\n</tbody>\n</table>\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/ghostery-ublock-origin-brave-duckduckgo-adblock-plus-not-blocked.svg\" alt=\"Time to match requests which are not blocked\" />\n\n### 4. Time To Match Requests Which Are Blocked\n\nThe following table details 99th percentile and median timings for requests blocked:\n\n<table class=\"table table-hover\">\n<thead>\n<tr>\n<th></th>\n<th>99% OF REQUESTS</th>\n<th>MEDIAN</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Ghostery</strong></td>\n<td><strong>0.052ms</strong></td>\n<td><strong>0.007ms</strong></td>\n</tr>\n<tr>\n<td>uBlock Origin</td>\n<td>0.165ms (<strong>3.1x slower</strong>)</td>\n<td>0.016ms (<strong>2.2x slower</strong>)</td>\n</tr>\n<tr>\n<td>Adblock Plus</td>\n<td>0.099ms (<strong>1.9x slower</strong>)</td>\n<td>0.014ms (<strong>1.9x slower</strong>)</td>\n</tr>\n<tr>\n<td>Brave</td>\n<td>1.468ms (<strong>28.0x slower</strong>)</td>\n<td>0.062ms (<strong>8.5x slower</strong>)</td>\n</tr>\n<tr>\n<td>DuckDuckGo</td>\n<td>13.025ms (<strong>248.5x slower</strong>)</td>\n<td>8.31ms (<strong>1130.6x slower</strong>)</td>\n</tr>\n</tbody>\n</table>\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/ghostery-ublock-origin-brave-duckduckgo-adblock-plus-blocked.svg\" alt=\"Time to match requests which are blocked\" />\n\n### Summary of findings: How the adblockers performed\n\nOn these graphs, we observe a plateau for *Adblock Plus*, *Brave* and\n*Duckduckgo*.\n\nThis can be explained by the fact that these engines\nimplement some form of caching internally, thus having a very fast\nresponse time for some requests (redundancy in\nrequests comes from both common third parties seen on multiple websites\nas well as the fact that we load several pages for each domain).\n\nThis caching can be implemented on top of any content-blocker and does not\ntell much about the efficiency of each. We can see this as a means to\ntrade *memory* against *CPU usage*.\n\n### Ghostery’s adblocker performance\n\nFrom the previous measurements, we see that Ghostery outperforms other\nlibraries in terms of matching speed. Without going into too many\ndetails, here are some of the optimizations which can explain these\nresults:\n\n* Ghostery makes use of a reverse index associating tokens to filters. Contrary\n  to other libraries, we make sure that we pick *the best* token for each filter\n  at construction time (best being defined as the *least seen token*). This incurs\n  a one-time extra cost but results in maximized dispatching capabilities.\n* Filters are stored in a very compact form, in typed arrays, and only loaded in\n  memory lazily, when there is a chance they will be blocked (if we encounter\n  identical tokens in URLs).\n* Filters loaded in memory are optimized on-the-fly and multiple filters can be\n  combined for increased efficiency. The optimizations were carefully crafted\n  based on common cases observed in Easylist.\n\n### 5. Serialization And Deserialization\n\nIn this section, we have a look at the performance of content-blockers\nwhen it comes to serializing their internal representation for faster\nsubsequent loading.\n\nOnly *DuckDuckGo*'s engine does not provide this\nfeature. *uBlock Origin*, *Ghostery*, *Adblock Plus* and *Brave* all allow to\nserialize or cache (*uBlock Origin*'s terminology is: *selfies*) the\nentire blocking engine to either a string or a buffer, which can then be\nused to speed-up subsequent loads.\n\n### The impact of load time on user experience\n\nAs this is a one-time operation, having a higher loading time does not\nimpact desktop users significantly. On the other hand, the ability to quickly\ninitialize the content-blocker is critical on mobile.\n\n### Comparison of serialization and deserialization times\n\nAnother use-case allowed by such capability is to perform the parsing\nof the lists on the backend and ship the serialized form of the\ncontent-blocker to clients directly. This removes the cost of\ninitialization completely.\n\nWe performed 100 serializations for each content-blocker and display the\nresults below:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/ghostery-ublock-origin-brave-adblock-plus-serializationtimings.svg\" alt=\"Serialization timings\" />\n\nThis bar plot contains the median time taken to serialize the engine for each\ncontent-blocker:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/serializationtimings.svg\" alt=\"Serialization timings\" />\n\nSimilarly, we measure the time it takes to restore the content-blocker from its\nserialized form:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/ghostery-ublock-origin-brave-adblock-plus-deserializationtimings.svg\" alt=\"Deserialization timings\" />\n\nAnd here is the median time:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/deserializationtimings.svg\" alt=\"Deserialization timings\" />\n\nLast but not least, we measured the size of the serialized buffer for each\ncontent-blocker:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/cache-size.svg\" alt=\"Cache size\" />\n\nFrom these measurements, we see that *Ghostery* offers both significantly\nfaster serialization and deserialization times as well as a smaller\ncache size.\n\nThe reason is the following:\n* The internal representation is already\n  mostly stored in a compact form (using typed arrays).\n* This means that serialization only adds a small amount of metadata\n  alongside the already available arrays. Deserialization is\n  *essentially instantaneous* since it's enough to create some typed array\n  views on top of the serialized buffer (think of `mmap` but using typed\n  arrays).\n* This also explains the very low memory consumption: after\n  initialization, the memory footprint is only slightly higher than the size\n  of the serialized form.\n\n### 6. Memory Consumption at Start-up\n\nHere, we consider the memory usage of each content-blocker, initialized\nfrom lists (not from cache) after one full garbage collection.\n\n### How memory consumption was measured\n\nThe measurements were performed using Chrome's devtools memory snapshot. We\ndid not measure *Brave* here since the memory used from C++ side does not\nseem to be taken into account in the snapshot. Keep in mind that\nthis memory usage can vary at run-time as content-blockers might cache\nfrequently used resources, etc.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/memory-usage-at-startup.svg\" alt=\"Memory usage at start-up\" />\n\nAs mentioned in the previous section on serialization, the very low\nmemory usage of *Ghostery* can be explained by the fact that the\ninternal representation mostly consists of very compact typed arrays\nwith some small overhead for extra meta-data.\n\nAgain, we need to stress\nhere that this measures the network filtering engine of Ghostery only,\nnot the full extension, as described in the introduction.\n\n### 7. Parsing Lists\n\nIn this graph, we present the time it takes for each content-blocker to\nbe initialized from the lists (without any prior caching, which means\ninitializing all internal resources by parsing the raw list).\n\nWe see that only *Brave* seems to be significantly slower and that *uBlock Origin*,\n*Ghostery*, *Adblock Plus* and *DuckDuckGo* all perform well.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/time-to-parse-easylist-all.svg\" alt=\"Time to parse Easylist\" />\n\nIt seems that the long parsing time for *Brave* is a [known\nissue](https://github.com/brave/ad-block/issues/158) tracked on their\nGitHub repository.\n\n### Key findings on parsing lists\n\nIf we remove *Brave*, we see that there are still differences between\n*uBlock Origin*, *Ghostery*, *Adblock Plus* and *DuckDuckGo*. One reason\n*Ghostery* is slower than *uBlock Origin* and *AdblockPlus* here is that to\nachieve maximum performance while matching as well as minimize memory\nusage, there is a bit more work to do up-front.\n\nIn practice, this does\nnot matter so much since it is a one-time operation and subsequent\nloads are performed from cache. This is really fast. In fact, we\ncan even perform the parsing backend-side and just ship the serialized\nversion of the blocker, which removes this step completely.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/adblockers_performance/time-to-parse-easylist-without-brave.svg\" alt=\"Time to parse Easylist without Brave\" />\n\n### 8. Conclusion\n\nIn this study, we looked closely at the performance of some of the most\npopular content-blockers in use today. In particular, we focused on the\nefficiency of their network filtering engines, which is the most CPU\nintensive task they perform.\n\nThis work was motivated by one of the claims formulated in the [Manifest V3\nproposal](https://bugs.chromium.org/p/chromium/issues/detail?id=896897)\nof the Chromium project: *\"the extension then performs arbitrary (and\npotentially very slow) JavaScript\"*, talking about content-blockers'\nability to process all network requests.\n\n### Key findings:\n\n* We do not think the Manifest V3 claim is accurate as all popular content-blockers are already\n  very efficient and should not incur any noticeable slow-down for users.\n* Moreover, the efficiency of content-blockers is *continuously improving*,\n  either thanks to more innovative approaches or using technologies like\n  WebAssembly to reach native performance.\n* While most content-blockers are indeed efficient, they are not\n  equivalent. We observed that *Ghostery* performs consistently as well\n  or better across all dimensions, often surpassing other libraries.\n\nWe hope these benchmarks will give content-blocker developers the opportunity\nto measure their own progress against other popular libraries.\nThis will benefit all users, no matter which extension they use, as the efficiency of\ncontent-blockers improves.\n\n[*Edit of 20-02-2019*](https://github.com/ghostery/whotracks.me/pull/154): The study has been updated with the specific version of each content-blocker measured.\n\n[*Edit of 15-03-2019*](https://github.com/ghostery/whotracks.me/pull/161): DuckDuckGo's description has been amended to more accurately describe the way their content-blocker is used in practice: focusing on blocking third-party trackers, but not ads.\n"
  },
  {
    "path": "blog/block-third-party-cookies.md",
    "content": "title: Third-party cookies - the guests who won't leave\nsubtitle: How the web ecosystem is preventing us from reverting the third-party cookie mistake.\nauthor: privacy team\ntype: primer\npublish: True\ndate: 2018-08-27\ntags: blog, cookies\nheader_img: blog/blog-third-party-cookies.jpg\n+++\n\nSummary: _In this post we describe_\n\n * _How third-party cookies are the cause of multiple privacy and security issues on the web._\n * _That, despite the cookie spec writers recommending against it, all major browsers ended up allowing third-party cookies by default._\n * _How several major sites and services, including those from Microsoft and Google, fail badly when third-party cookies are blocked._\n * _How Cliqz and Ghostery are defusing the privacy issues of third-party cookies by blocking them, while preventing the breakage issues caused by developers assuming a cookie free-for-all._\n\n---\n\nCookies are a fundamental browser technology which enables state to be kept between browser and servers over the normally stateless HTTP protocol. Cookies enable sites to remember your login, what you've put in your shopping cart, and allow a site to remember language or currency preferences.\n\nThese features enable the sites you're visiting, 'first parties', to improve your experience and provide some content behind authentication, only accessible to you. However, browsers also, by default, send cookies to any third-parties embedded by the site operators. In some cases these can be used to allow third-party widgets, such as [Disqus](../trackers/disqus.html) comments, to automatically log you in to embedded content in the page. However, it also enables these third-parties to track your browsing across the web.\n\nAllowing cookies to third-parties opens up a privacy hole in your browser. On [many sites](../websites.html), just visiting a page will set cookies for over 50 different third-party domains. Each of these are setting cookies so they can [correlate requests](./how_facebook_knows_exactly_what_turns_you_on.html) coming from your browser over days, months, or even years. For example, when you visit any page with a Facebook widget (or visit Facebook itself), they will set a cookie which will only expire in 2 years time. Some google.com cookies expire in 20 years. The `facebook.com` and `google.com` domains are present as a third-party to [24%](../trackers/facebook.html) and [30%](../google.html) of page loads\non the web respectively, allowing these services to tracker this proportion of the average user's web browsing history.\n\n\n<div class=\"row\">\n  <div class=\"col-md-6 col-xs-12\">\n    <img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/google_cookie.png\" alt=\"Google's consent cookie\" />\n  </div>\n  <div class=\"col-md-6 col-xs-12\">\n    <img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/economist_cookie.png\" alt=\"A user identifier cookie on the Economist which expires in 2086\"/>\n  </div>\n</div>\n<p class=\"img-caption\">Google's consent cookie lasts for 20 years; A tracking cookie on the Economist which lasts for 68 years.</p>\n\nThird-party cookies also represent a security risk to you. [Cross-site request forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery) (CSRF) attacks are based on the idea that I can make a third-party request to a site that the browser has previously authenticated with, and the browser will send the credentials with the request. If browsers did not allow third-party cookies these attacks would be much harder to exploit than they currently are. These kinds of attacks have been around for over 15 years, and methods to mitigate them are [still being proposed](https://blog.mozilla.org/security/2018/04/24/same-site-cookies-in-firefox-60/), while\nbrowser-side protection, such as [first-party isolation](https://wiki.mozilla.org/Security/FirstPartyIsolation), have very limited distribution.\n\nFurthermore, the use-cases which legitimately use third-party cookies, like Single-Sign-On portals, or third-party authentication mechanisms, have alternatives which do not require cookies. Sites using a centralised authentication domain can obtain authenication tokens via first-party redirects, and OAuth[^2] can be used to log in to sites using third-party credentials. These mechanisms have the added bonus of transparency and implied consent: When a user logs in with Facebook on a site, the user is actively allowing this connection between the site and Facebook to proceed.\n\nSo why do we have third-party cookies? Actually, the original 1997 [RFC Specification](https://tools.ietf.org/html/rfc2109) of the cookie standard proposed that third-party cookies should not be allowed on privacy grounds:\n\n> This restriction prevents a malicious service author from using unverifiable transactions to induce a user agent to start or continue a session with a server in a different domain. The starting or continuation of such sessions could be contrary to the privacy expectations of the user, and could also be a security problem.\n\nand browsers should have this setting by default:\n\n> User agents may offer configurable options that allow the user agent, or any autonomous programs that the user agent executes, to ignore the above rule, so long as these override options default to \"off\".\n\nHowever, these recommendations were not implemented by browser developers at that time, and the default of _'allow all cookies'_ has remained since then.\n\nCurrently, almost all major browsers have a default to allow all cookies. The one exception is Safari, which only allows third-party cookies for domains which have been visited as a first party. This setting mitigates tracking from unknown domains, but still allows others to track, and does not prevent CSRF attacks. Mozilla also previously [attempted](https://blog.mozilla.org/netpolicy/2013/02/25/firefox-getting-smarter-about-third-party-cookies/) to change Firefox's default handling of third-party cookies in 2013, but pressure from the Ad industry led to a [U-turn](https://blog.mozilla.org/blog/2013/05/10/personalization-with-respect/) before these changes went live. The failure of browsers to handle third-party cookie tracking [has argueably led](https://medium.com/the-graph/how-to-reverse-publisher-revenue-drain-c33e41bf0665) to the increase in adblocker usage since then.\n\nThe effect that this default has had over the last 20 years, is that developers now assume that cookies are allowed in all contexts. This causes many workflows to break once this assumption is broken. This leads to a vicious cycle, where attempts to limit third-party cookies are foiled because they break too many sites. Apple's push to reduce third-party cookie tracking with their [Intelligent Tracking Prevention](https://webkit.org/blog/7675/intelligent-tracking-prevention/) technology had to include a section to explain to developers how to solve several use-cases when their cookies are limited. This technology still allows third-party cookies from visited sites however, and this method is also recommended for implementing single sign-ons.\n\n## Moving away from third-party cookies\n\nIn 2015 Cliqz[^1] released an anti-tracking technology which [aggressively blocks third-party cookies](./how_cliqz_antitracking_protects_users.html). Third-party cookies are blocked unless certain heuristics are triggered. These heuristics aim to mitigate common cases where cookie blocking breaks workflows, but also require user action to trigger. A Facebook button can be loaded without cookies, but if the user then clicks on it, there is an implied consent to allow the cookies in this case. This method blocks 97% of third-party cookies, with minimal breakage of pages.\n\n<table class=\"table table-hover\">\n  <thead>\n    <tr>\n      <th>Browser</th>\n      <th>Default Cookie setting</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Google Chrome</td>\n      <td>Allow all.</td>\n    </tr>\n    <tr>\n      <td>Mozilla Firefox</td>\n      <td>Allow all.</td>\n    </tr>\n    <tr>\n      <td>Apple Safari</td>\n      <td>Allow from visited; tracking cookies limited.</td>\n    </tr>\n    <tr>\n      <td>Cliqz Browser / Ghostery extension</td>\n      <td>Block all third-party, unless user interaction or compatibility exception.</td>\n    </tr>\n  </tbody>\n</table>\n\nIn December 2017, this technology was included in the [Ghostery 8 release](https://www.ghostery.com/blog/product-releases/browse-smarter-with-ghostery-8/). This increased the number of users with this aggressive cookie blocking behaviour and this increased exposure also highlighted more cases where cookie blocking causes problems for websites. In many cases it may not be surprising that developers have not considered or tested the possibility of third-party cookies not being allowed. What surprised us though, is that this is so pervasive that the biggest players fail to handle cookies properly, in some cases causing critical bugs.\n\nAt present, if you browse the web with third-party cookies disabled, you may come across issues logging in and making payments. Here we outline several cases we have found involving major tech companies (which should be able to solve this issues), which have consequences from just preventing login or completing payment, to potentially leaking private company data from a Microsoft Office account.\n\n### Microsoft Logout Issues\n\nWe found that, when all third-party cookies are disabled, logging out on office.com seems to succeed, but actually fails. Additionally this authenication remains available when subequently navigating to office.com, which can be used to extract data from the SharePoint API. This issue was submitted to Microsoft but was rejected on the grounds that it is not remotely exploitable. It is however a risk on any shared computer that a subsequent user would be able to see document metadata for the organisation, and perhaps modify data via the SharePoint API.\n\nThis can be simply reproduced by disabling third-party cookies in any browser, then logging in and then out again on office.com.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/office_signed_out.png\" alt=\"Office logged out message\" />\n<p class=\"img-caption\">Looks like I'm logged out...</p>\n\nAfter the confirmation of a successful logout, simply navigate back to www.office.com, and one is returned to the view after login, including an up-to-date feed of recently changed documents.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/office_documents.png\" alt=\"Office documents shown after logout\" />\n<p class=\"img-caption\">Document change feed still shown after logout.</p>\n\nThe API that makes this information available after logout is fetched via the [SharePoint REST API](https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/sharepoint-net-server-csom-jsom-and-rest-api-index), and the authentication token for this is not deleted nor expired after the failed logout - hence the page can continue to access this information. The token can be collected from the developer tools and then reused for API calls, for example to list folders in this organisation's SharePoint:\n\n```javascript\nvar accessToken = \"eyJ0...\";\nvar baseUrl = 'https://org-my.sharepoint.com/_api/';\nvar headers = new Headers();\nheaders.append('Authorization', `Bearer ${accessToken}`);\nheaders.append('Accept', 'application/json;odata=verbose');\nfetch(`${baseUrl}web/lists`, { headers })\n    .then(resp => resp.json())\n    .then(res => console.log(res))\n```\n\nThe broken logout state can only be resolved by manually deleting office.com cookies. We also found the session may eventually be expired, but this only happened after multiple hours. Hence, users affected by this will 1) likely not be aware that they're not logged out properly, as the logout appears to be successful, and 2) would not be able to logout anyway if they noticed the issue.\n\nThe issues with Office continue when trying to purchase an Office365 trial from `https://products.office.com/try`. This time, the source of the problem is detected, but the user is given no choice to continue unless they compromise their security and privacy by enabling cookies. Ironically, they also imply that allowing third-party cookies is somehow safer.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/ms_payment_fail.png\" alt=\"Cookie error in Microsoft office checkout\" />\n<p class=\"img-caption\">It is not possible to buy Office without allowing third-party cookies.</p>\n\n### Pay with your Cookies\n\nIt is common practice for E-Commerce sites to embed payment systems from third-party vendors, such as Paypal, on their checkout pages. Such widgets should not require third-party cookies - usually the user can be redirected to pay at the payment provider's site. This method is preferable, as it reduces the chances of phishing: loading the payment page as a first party will make the url and certificate status visible, and only prompting users to enter payment information on the first party site is also good practice.\n\nDespite this, we see examples of payment being blocked when third-party cookies are disabled. One such example is on the German E-Commerce site [Thomann.de](../websites/thomann.de.html). When attempting to checkout with Amazon pay, we get an error mentioning that third-party cookies are being blocked:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/amazon_pay_thomann.png\" alt=\"Amazon Pay error on Thomann.de\" />\n<p class=\"img-caption\">\"There was an error processing the Amazon payment. A possible cause is third-party cookie blocking.\"</p>\n\n### Connect with Google? Third-party cookies required\n\nMany sites use Google's connect SDK, to allow users to login to sites with their Google account. When testing cases on [www.tripadvisor.com](https://www.tripadvisor.com) and [www.stumbleupon.com](https://www.stumbleupon.com) with third-party cookies disabled, the 'Connect with Google' button fails to do anything when clicked. Both these sites also offer Facebook login too which works with cookies disabled. It is not clear why the Google implementation requires third-party cookies to be allowed.\n\n <img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/tripadvisor_connect.png\" alt=\"Tripadvisor connect social\" />\n <p class=\"img-caption\">Tripadvisor signup buttons. </p>\n\n### Please let me track your tracking opt-out\n\nFollowing GDPR, websites using third-party services which collect data about users [acquire consent](./update_jun_2018.html) for this, as well as provide a reasonable way of opting-out of data collection and processing. While many publishers have converged on a solution which [gathers consent as a first-party cookie](https://iabtechlab.com/standards/gdpr-transparency-and-consent-framework/) which can then be passed to third-parties, other still rely on an older system of setting opt-out cookies for each vendor. Obviously, if third-party cookies are blocked, this mechanism will not work, as can be seen on the [Telegraph](../websites/telegraph.co.uk.html):\n\n<img class=\"img-responsive\" src=\"../static/img/blog/cookie_block/telegraph_optout.png\" alt=\"Cookie opt out on telegraph.co.uk\" />\n<p class=\"img-caption\">\"You browser is currently blocking 3rd party cookies ... you will need to enabled 3rd party cookies if you want all of the opt-outs on this page to work.\"</p>\n\nIn this case, users with third-party cookies disabled will be denied their right to opt-out (though blocking these cookies will effectively prevent a large proportion of tracking).\n\nThird-party vendors may say that this mechanism is required in order to remember a user's consent settings. However, previous attempts to allow browsers to convey tracking consent explicitly to servers, via the ['Do Not Track'](https://www.w3.org/TR/tracking-dnt/) standard were killed by the same vendors collectively saying they would [ignore this signal](https://blogs.harvard.edu/doc/2015/09/23/how-adtech-not-ad-blocking-breaks-the-social-contract/).\n\n## Conclusion\n\nWhen the idea of cookies was first proposed, the standard writers were concerned about the privacy implications of allow third-party cookies, and specified that browser vendors should disable them by default. Fast-forward 20 years and the majority of browsers on the web will allow all third-party cookies. The result of this are significant challenges to protect against Cross-site request forgery, with countless sites and accounts compromised along the way, and pervasive privacy invasion in the form of cross-site tracking of users.\n\nWe argue that we should aim to return to a web where third-party cookies are blocked by default, and are making that possible for users of our anti-tracking technology in [Cliqz](https://cliqz.com/) and [Ghostery](https://www.ghostery.com/), however this is made difficult by the prevailing assumption that cookies are a free-for-all, making many sites fail to function properly in this environment. In this regard we are constantly improving heuristics to mitigate the breakage issues we do find.\n\nWe showed multiple cases where the assumption that third-party cookies will be allowed lead to both benign and potentially dangerous issues for users who block cookies. Some of these cases affect payments, so perhaps if cookie-blocking becomes more common and companies' bottom lines are effected these issues will be fixed. This is a chicken and egg problem though, if the web is broken for users blocking cookies, then we may never achieve the critical mass required to get it fixed.\n\n**For users**, getting control over which cookies your browser sends out, and to whom, is a key part of protecting privacy online, but also something that is not universally recognised by\nbrowser privacy tools. Most adblockers, for example, do nothing to the cookies of third-party requests which are not on their blocklists. More adoption of the kind of cookie blocking that Cliqz and Ghostery do help us to achive this critical mass, and push more websites to ensure that their services still work correctly for users who chose more private browser configurations.\n\n**Developers** have a part to play here too. By building services which do not require third-party cookies, or at least continue to function without them, it becomes easier for users to turn off third-party cookies, and the web becomes more privacy-friendly. As we have seen in this article, even the biggest tech companies are currently failing at this, but this seems to be more due to a lack of awareness, than any difficultly in implementation.\n\n[^1]: Disclosure: WhoTracks.Me is operated by Cliqz.\n[^2]: Note that both of these methods also have some privacy issues. First-party redirection has been exploited for [user tracking](https://brave.com/redirection-based-tracking/), and OAuth dialogs can trick users into granting [many more permissions](https://lifehacker.com/how-to-revoke-pokemon-go-s-extensive-permissions-to-you-1783466118) than they actually need.\n"
  },
  {
    "path": "blog/cookie-consent.md",
    "content": "title: Improving Cookie Consent\nsubtitle: Cliqz' new feature to make consent fairer\nauthor: privacy team\ntype: article\npublish: True\ndate: 2019-11-28\ntags: blog, gdpr, consent\nheader_img: blog/autoconsent/cookie-blocker-prompt.png\n+++\n\nSince the GDPR came into force in May last year, the Cookie-Consent Popup has become a fixture of browsing the web. These popups are ostensibly there to allow you to choose whether you agree or disagree to your data being used for certain purposes on the site, but confusing UI design and tricks mean that many users are not able to select their desired consent settings. A recent [study](https://arxiv.org/pdf/1909.02638.pdf) showed that user fatigue with consent popups, and simple UI tricks are able to artificially inflate the opt-in rate. The study also showed that, when opt-out is the default, only 0.1% of users would consent to all data processing. This is in stark contrast to the over 90% opt-in rate that the [industry claims](https://www.thedrum.com/news/2018/07/31/over-90-users-consent-gdpr-requests-says-quantcast-after-enabling-1bn-them), and uses to justify that users are OK with tracking.\n\nHow can we restore balance to this situation, and allow users a fair choice about how their data is used? At Cliqz we have been developing a new feature to aim to address the difficulty of denying consent based around 3 core principles:\n\n1. Opt-out and opt-in should both require maximum of one click, i.e. the time-cost should be the same, no matter which choice is made.\n2. The user should not have to decide individually for every site. Their default choice can be used to give consent after their initial decision.\n3. Consent banners only offering an 'OK' or 'Allow' option do not allow user choice. The are at best a distraction for the user, and at worst drive consent fatigue and encourage the bad practice of automatically clicking away message prompts. These should be hidden.\n\nUnfortunately, implementing an automated consent choice in the browser is made challenging by the lack of adoption or adherence to browser standards. The [Do Not Track](https://www.w3.org/blog/2018/06/do-not-track-and-the-gdpr/) standard enables users to broadcast preferences around tracking, and for sites to communicate tracking status to the browser. Before that, the [P3P Project](https://www.w3.org/P3P/) attempted to standardise privacy practices and allow automated decision making around them. Both of these standards have been rejected by the tracking industry, who prefer to present consent on their terms. The industry have instead proposed and implemented the [Transparency and Consent Framework](https://iabeurope.eu/transparency-consent-framework/), which primarily focuses on communicating consent between vendors. It is a read-only API, so the browser can only read the consent status as set by the site, and not modify it. This means that consent can currently only be expressed by clicking through HTML forms.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/autoconsent/cookie-blocker-before.gif\" alt=\"Navigating a Cookie-Consent Popup manually\" />\n<p class=\"img-caption\">Navigating a Cookie-Consent Popup manually.</p>\n\nLuckily, the number of vendors offering consent solutions is limited, and browser extensions can simulate clicking through forms. Thus, [autoconsent](https://github.com/cliqz-oss/autoconsent) was born - a library of rules standardising the navigation of consent forms for the most popular sites and vendors. This library is able to:\n\n* Detect the presence of supported Consent Management Providers on a page.\n* Determine whether a popup or overlay is being shown on the page.\n* Execute an opt-in (allow all purposes) or opt-out (reject all purposes).\n* Where available, re-open the popup to allow modification of the settings.\n\nIn practice, this allows consent popups to be rapidly dismissed when loading a new site. The speed depends on the provider and how quickly their UI can be manipulated. In all cases, however, this is faster than a user could navigate the interface.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/autoconsent/cookie-blocker-after.gif\" alt=\"Automatic navigation of the Cookie-Consent Popup\" />\n<p class=\"img-caption\">Automatic navigation of the Cookie-Consent Popup.</p>\n\nFor popups that are informational only, or force affirmative consent, we apply simple cosmetic rules. These are CSS rules that define elements in the page that should be hidden. As with the consent rules, we benefit from the defacto standardisation of tools for displaying of popups, such that a small number of rules can support the majority of popups shown by websites.\n\nThese elements combined mean that we now just have to ask the user once whether they want to opt-in or opt-out, then they will not be bothered by consent popups on the majority of sites they visit. At the same time, they will signal to these sites their approval or dissapproval of their data collection practices. \n\nThis signal of non-consent is important to encourage and incentivise a shift in data usage practices on the web. When sites realise they cannot just trick users into allowing invasive data collection, they will have a strong incentive to change the way they operate and respect users more.\n\nThe new Cliqz Cookie-Popup blocker is available in the latest version of the Cliqz browser. Get it at [cliqz.com](https://cliqz.com/download).\n"
  },
  {
    "path": "blog/cookies.md",
    "content": "title: Cookies\nsubtitle: A small piece of data sent from a website, meant to 'help', used to track.\nauthor: privacy team\ntype: primer\npublish: True\ndate: 2017-07-22\ntags: primer, tracking\nheader_img: blog/blog-cookies.jpg\n+++\n\nAn HTTP cookie (also called web cookie, Internet cookie, browser cookie, or simply cookie) is a small piece of data sent from a website and stored on the user's computer by the user's web browser while the user is browsing. Cookies were designed to be a reliable mechanism for websites to remember stateful information (such as items added in the shopping cart in an online store) or to record the user's browsing activity (including clicking particular buttons, logging in, or recording which pages were visited in the past). They can also be used to remember arbitrary pieces of information that the user previously entered into form fields such as names, addresses, passwords, and credit card numbers.\n\nOther kinds of cookies perform essential functions in the modern web. Perhaps most importantly, authentication cookies are the most common method used by web servers to know whether the user is logged in or not, and which account they are logged in with. Without such a mechanism, the site would not know whether to send a page containing sensitive information, or require the user to authenticate themselves by logging in. The security of an authentication cookie generally depends on the security of the issuing website and the user's web browser, and on whether the cookie data is encrypted. Security vulnerabilities may allow a cookie's data to be read by a hacker, used to gain access to user data, or used to gain access (with the user's credentials) to the website to which the cookie belongs (see cross-site scripting and cross-site request forgery for examples).[[1](http://news.cnet.com/8301-10789_3-9918582-57.html)]\n\n## Tracking Cookies\nThe tracking cookies, and especially third-party tracking cookies, are commonly used as ways to compile long-term records of individuals' browsing histories – a potential privacy concern that prompted European [[2](http://webcookies.org/faq/#Directive)] and U.S. lawmakers to take action in 2011. European law [[3](http://www.bbc.co.uk/news/technology-12668552)] requires that all websites targeting European Union member states gain \"informed consent\" from users before storing non-essential cookies on their device.\n\nThe excerpt above has been retrieved from [wikipedia](https://en.wikipedia.org/wiki/HTTP_cookie).\n\n\n#### References:\n\n[1] [Gmail cookie stolen via Google Spreadsheets](http://news.cnet.com/8301-10789_3-9918582-57.html) <br>\n[2] [What about the \"EU Cookie Directive\"?](http://webcookies.org/faq/#Directive) <br>\n[3] [New net rules set to make cookies crumble](http://www.bbc.co.uk/news/technology-12668552)  <br>\n[4] Source: [Wikipedia](https://en.wikipedia.org/wiki/HTTP_cookie)\n"
  },
  {
    "path": "blog/dexie_transaction_bug.md",
    "content": "title: A quantum bug in Firefox Quantum\nsubtitle: DevTools - how we tracked down an observant-dependent bug.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2019-04-30\ntags: blog\nheader_img: blog/dexie_transaction_bug/release.png\n+++\n\nSummary: _When observing your own program can change its behavior, and an unexpected but real use-case to detect if DevTools are open._\n\n---\n\nOccasionally one comes along weird bugs, some might even call them mystic or heisenbugs. We recently stumbled upon one such bug while working on the [Cliqz Extension](https://cliqz.com/en/).\n\nIt started with a rather innocent warning in our browser console. While testing an upcoming release, we noticed some warnings emitted from the [Dexie.js](https://dexie.org/) library, which is a popular wrapper for IndexedDB, a browser database API:\n\n    Unhandled rejection: r@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:1:25586\n    _promise/i<@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:2:1746\n    U@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:1:6115\n    q@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:1:5934\n    _promise@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:2:1720\n    _trans@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:1:25312\n    _idbstore@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:1:25632\n    get@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/vendor/dexie.min.js:1:25747\n    getTag/<@moz-extension://a4671cfd-e7e2-4264-9f96-b21f9b289cd9/modules/webextension-specific/app.bundle.js:15679:35\n    …\n\nAt first, it did not look too serious, but after digging in a bit more, it turned out that core functionalities of both the Cliqz and [Ghostery extensions](https://www.ghostery.com/) were negatively impacted. Each time the extension attempted to aggregate some statistics for display on our FreshTab page, the operation would mysteriously fail. And this is how the investigation started...\n\nWe quickly noticed that the bug could neither be reproduced on the [Cliqz Browser](https://cliqz.com/en/) nor on Firefox 66 (which is at this time the stable release). Only Firefox 67 (developer edition) and Firefox 68 (Nightly) were affected. Further testing confirmed that the issue could be reproduced with previous versions of the Cliqz and Ghostery extensions (which share part of the code base). At this point we suspected a bug in Dexie or IndexedDB and started looking deeper.\n\nWe realized that whenever a Dexie operation was attempted as part of a transaction, the operation would fail, a warning would be displayed, and the transaction would abort. With that insight, we were able to create a first workaround by avoiding the use of transactions. Still, it was not clear why the code would fail on Firefox 67 and simply avoiding transactions without understanding the root cause was not satisfactory. For this reason, we tried to narrow it down further. A first attempt to reproduce the problem with a minimal extension and the same type of transactions was not successful. All database operations succeeded normally; the issue seemed to happen only as part of the Cliqz extension.\n\nThen we started trimming down our bundle by removing code from the Cliqz extension, step by step. We had the feeling that it had to be a kind of timing issue, but it was not clear which conditions were necessary or sufficient to trigger the bug. It took us time to realize, but finally we had the Eureka moment! It only seemed that the transactions would fail when DevTools were opened! This was literally a heisenbug, only triggering when observed in the console. Not opening the console would be enough to make the code work as expected. In other words, if the code ran fast enough that we did not have time to open the debugger, everything would work perfectly.\n\nIt was a race condition indeed, but not in the traditional sense of the term, rather it was a race between the developer and the code...\n\nWith that understanding, we were able to create a minimal example and could file proper bug reports for both Firefox and Dexie.js:\n\n* [Bug 1545400 - Webextension console dev-tools opened makes IndexedDB/Dexie transaction fail](https://bugzilla.mozilla.org/show_bug.cgi?id=1545400)\n* [Dexie #831 - Transaction fails if console dev-tools opened (Firefox 67)](https://github.com/dfahlander/Dexie.js/issues/831)\n\nDetecting whether DevTools are open\n===\n\nLet us take a closer look at how this bug can be used to run code only when DevTools are opened. Ideally, a browser should not allow that, although it is difficult to prevent it in practice. Some discussion on that topic can be found in [this Chromium issue](https://bugs.chromium.org/p/chromium/issues/detail?id=672625). This has been exploited in the past by some websites to hide malicious behavior from the eyes of developers or users; whenever DevTools would be opened, the site would conceal some of the logic immediately, preventing inspection.\n\nMost existing techniques to detect DevTools are leveraging browser bugs, which eventually got patched (examples can be found [here](https://stackoverflow.com/q/7798748/783510) and [here](https://github.com/sindresorhus/devtools-detect/issues/15)). Typically, they use quirks in various Browser APIs, but there are also solutions based on timing attacks.\n\nAnother approach is to look at the window size, which is currently used in the [devtools-detect library](https://github.com/sindresorhus/devtools-detect). The drawback is that it can be easily bypassed if the DevTools are opened in a separate window.\n\nUsing the transaction bug, we can build a DevTools detector for Firefox 67 and above that will also work for undocked windows. Here is a sketch of the idea:\n\n    function onDevToolsOpen() {…}\n    function onDevToolsClosed() {…}\n\n    const db = new Dexie('test_db');\n    db.version(1).stores({ test_table: 'test_key' });\n\n    setInterval(() => {\n      // uses the bug that the Dexie transaction will fail\n      // with open DevTools in Firefox 67 and above\n      db.transaction('rw', db.test_table, async () => {\n        await db.test_table.toArray()\n      }).then(onDevToolsOpen, onDevToolsClosed);\n    }, 1000);\n\nIf you want to try yourself, a working example is available [here](https://cdn.cliqz.com/browser-f/fun-demo/firefox_devtools.html).\n\nUntil a patch for the bug gets released, the technique will work in pages and as well as in web extensions. In the [bug ticket](https://bugzilla.mozilla.org/show_bug.cgi?id=1545400), we also included a working example that detects DevTools from within a WebExtension.\n\nThis issue joins an array of techniques which enable malicious actors to detect special states of the browser, such as private browsing mode, and when users are [auditing the activities of sites with DevTools](https://github.com/gorhill/uBO-Extra#purpose). The former has been used to [deny access to sites in private browsing mode](https://arstechnica.com/information-technology/2017/05/boston-globe-website-no-longer-lets-you-read-articles-in-private-mode/), attempting to force users to reduce their protection against tracking, while the latter is used by [systems which circumvent adblocker to cover their tracks](https://www.theregister.co.uk/2017/08/11/ad_blocker_bypass_code/).\n"
  },
  {
    "path": "blog/fingerprinting.md",
    "content": "title: Fingerprinting\nsubtitle: Let me tell you what's unique about your device. \nauthor: privacy team\ntype: primer\npublish: True\ndate: 2017-07-22\ntags: primer, tracking\nheader_img: blog/blog-fingerprinting.jpg\n+++\n\nA device fingerprint or machine fingerprint or browser fingerprint is information collected about a remote computing device for the purpose of identification. Fingerprints can be used to fully or partially identify individual users or devices even when [cookies](/blog/cookies.html) are turned off.\n\nBasic web browser configuration information has long been collected by web analytics services in an effort to accurately measure real human web traffic and discount various forms of click fraud. With the assistance of client-side scripting languages, collection of much more esoteric parameters is possible [[1](http://browserspy.dk/)]. Assimilation of such information into a single string comprises a device fingerprint. In 2010, EFF measured at least 18.1 bits of entropy possible from browser fingerprinting, [[2](https://panopticlick.eff.org/static/browser-uniqueness.pdf)] but that was before the advancements of canvas fingerprinting, which claims to add another 5.7 bits.\n\nPrior to early 2017, device fingerprinting was limited to single browsers. If a user switched browsers regularly, fingerprinting could not be used to link the user to these browsers [_citation needed_]. A cross browser fingerprinting method has been published [[3](http://yinzhicao.org/TrackingFree/crossbrowsertracking_NDSS17.pdf)] which allows tracking of a user across multiple browsers on the same device.\n\n\nThe excerpt above has been retrieved from [wikipedia](https://en.wikipedia.org/wiki/Device_fingerprint).\n\n\n## References\n\n[1] [Browser Spy](http://browserspy.dk/) <br>\n[2] EFF: [How Unique Is Your Web Browser?](https://panopticlick.eff.org/static/browser-uniqueness.pdf) <br>\n[3] [(Cross-)Browser Fingerprinting via OS and Hardware Level Features](http://yinzhicao.org/TrackingFree/crossbrowsertracking_NDSS17.pdf) <br>\n[4] Source: [Wikipedia](https://en.wikipedia.org/wiki/Device_fingerprint)\n"
  },
  {
    "path": "blog/gdpr-what-happened.md",
    "content": "title: GDPR - What happened?\nsubtitle: The tracking landscape post GDPR, adverse effects on competition and a market for compliance technologies\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-09-03\ntags: blog, gdpr\nheader_img: blog/gdpr/gdpr-header.png\n+++\n\n\n_In this article we look at the effect GDPR has had on the tracking landscape,  \nonline advertising in Europe, and provide a set of recommendations for machine \nreadable legislation._\n\n\n## GDPR: A primer\n\nHaving been a hot topic of discussion for at least the last 2 months,\nit is unlikely that GDPR needs an introduction. So in brief:\nthe regulation applies to the processing of personal data of European\ncitizens. Companies engaged in such processing activities\nare subject to compliance, regardless of whether or not they operate in the\nEU[^1].  An important aspect of the regulation is the pressure\nput on companies to obtain consent from their European users for the\nprocessing of their personal data. This is why prior to May 25th,\n2018 there was a surge in emails in your inbox, and it's also the\nreason for the numerous popups you see when visiting websites.\n\nGDPR was announced two years before it came into force, and\nit was not the overhaul of privacy legislation one could believe it was from\nreading the press. In fact, GDPR came as a major update of the previous\nEU Data Protection Directive[^2] which has been around since 1995. Designed \nto harmonize the data protection legislation in the EU, \nand catch up with technological progress in the last 23 years, GDPR\ncomes heavily loaded with legal language that many have found hard\nto navigate. Daphne Keller of the Standford Center for Internet and Society said\n\"*The final GDPR text is riddled with ambiguous passages*\", suggesting\nthat the ones who will benefit the most from GDPR are data protection\nlawyers[^3].\n\n**So, what happened?** This is the question we are all left with.\nWe will be using whotracks.me data to make sense of the effect of\nGDPR on the tracking landscape in the web and on online advertising,\nthe behemoth of third party services on the web.\n\n\n## Tracking Landscape on Websites\n\nWe take 2000 [websites](../websites.html) profiled on **whotracks.me**\nand compare the tracking landscape in these sites as a function of the\norigin of the users visiting. We want to compare the EU, subject of GDPR,\nwith the US.\n\n![mean_third_parties](../static/img/blog/gdpr/f1-eu-us-comparison.svg)\n\nMerely looking at the average number of trackers per page for each\ncategory of site being visited reveals a general downward trend\nin Europe. The opposite is true in the US. The blue area indicates\nthe average number of trackers across categories.\n\nIn fact, if we look closely, since April 2018 the average number of\ntrackers per page in the EU has dropped by almost 4% while in\nthe US it has increased by 8%.\n\n![average number of trackers EU-US](../static/img/blog/gdpr/mean_eu_us.svg)\n\n If we take the top 2000 domains visited by European residents, and\n check how the average number of trackers per page by the category\n of the website, we notice that there as been a reduction in the\n number of third parties almost across the board.\n\n![category change eu](../static/img/blog/gdpr/category_change_eu.svg)\n\nThe reduction seems more prevalent among categories of sites with a\nlot of trackers. We see a 7.5% reduction in the average number of\nthird parties per page from April to July in News websites. This is in\nthe same direction as what was identified by a study published last\nmonth by the University of Oxford. They looked at news websites,\nand found that the number of cookies set on page decreased\non average by 22%[^4].\n\nSome websites, like [The Los Angeles Times](../websites/latimes.com.html), interrupted\ntheir operations in Europe, others decided to offer text only versions\nof their websites if the user does not consent to sharing data with third\nparties, like [npr.org](../websites/npr.org.html). What we are certainly\nobserving is a rise in the usage of consent management tools, for which\nwe [wrote about in more detail](./update_jun_2018.html) back in June.\n\n\n\n## Third party services: the winner takes it all\n\n\nBoth the most lucrative, and the most pervasive of all services performed\nby third parties is online advertising - the 'fuel' that keeps a large part\nof the web running.\n\nOnline advertising in 2018 is estimated to be a $270 billion[^5]\nmarket, and expected to grow by more than 20% in the next two years.\nThis is the market that third parties are competing for, and when\nthe prize is so high, worries over GDPR having regressive effects\non competition are understandable. As in most markets, the presence\nof monopolies is something regulators try hard to avoid[^6]. The question\nis then: ***Has GDPR, designed to enhance user privacy in the web,\nhad any adverse effects on competition?***\n\nAt present, whotracks.me has profiles for more than 1000 trackers, out of which\nabout **200** are classified as advertising services. For each of these\ntrackers we have data on what percentage of the measured web traffic we\nhave observed the tracker to be loaded - `reach`[^12], as well as what\npercentage of websites the tracker is present on - `site_reach`[^13].\nMonitoring `reach` and `site_reach` gives us interesting insights into the \nstructure of the market these trackers operate in, as well as their relative market share. \nUsing whotracks.me data, we can do that at scale. Each month we have on average\nabout 300 million page loads and more than half a million websites.\n\n\nIf we rank each tracker by its reach, and measure changes in reach since April,\nwe notice that in Europe, most advertisers appear less. \n\n![advertising market share](../static/img/blog/gdpr/advertisers_market_share_reach.svg)\n\nThe same trend persists when we look at `site_reach`.\n\n![advertising market share](../static/img/blog/gdpr/advertisers_market_share_site_reach.svg)\n\nGoogle's advertising services have maintained their market share, while\nother advertisers across the board have lost reach. There could be several\nreasons to explain Google's favorable state post GDPR:\n\n1. **Resources thrown at compliance**: Google and other big companies have had\nsignificant resources dedicated to compliance[^7].\n\n2. Google acts in the capacity of a gatekeeper, hence it is\nconceivable to assume it may have used that position in punitive ways. Reports\nindicate that Google could have encouraged publishers to reduce the number of AdTech\nvendors[^8].\n\n3. Websites owners trying to minimize their exposure opt for 'safer choices',\ndropping smaller advertisers that may have a harder time proving compliance.\n\nUsing a tracker's reach as a proxy for market share, we measure that GDPR\nmay have had regressive effects on competition in the online advertising\nspace in Europe.\n\n\n## Recommendations for GDPR 2.0\nGDPR has had a measurable impact on advancing the rights of European\ncitizens on the web. We believe one of the most important contributions\nof GDPR is the increased transparency on how personal data is moved around,\nas well as the management of consent from the user, and think GDPR 2.0\nshould strive to be **machine-readable** as opposed to **human-readable**.\n\nGDPR came as an update to the EU Data Protection Directive, primarily because the\nevolution of the web in the last 20 years rendered the old regulation obsolete.\n**Human Readable** is not the way to design a law that aims in large part to regulate\ninteraction in the web. The design of the tools meant to empower\nusers are left to the service providers, whose incentives don't exactly align\nwith that of the users. This can give rise to deceptive interfaces and UX patters,\ndesigned to exploit human cognitive biases.\n\nWhat we need, is a GDPR 2.0 that pushes for *machine readable* standards,\ngiving rise to user-focused solutions, simple, non-deceiving interfaces, thus\ncreating an industry of privacy and compliance, where technologists\nkeep other technologists in check.\n\nHere are our recommendations:\n\n1. **`/privacy-policy.txt`** - require websites to host the privacy policy\nin a standard location of the sitemap. At present, identifying the location\nof the privacy policy of a website is not as straightforward as one\nmay hope. Last year as part of the Mozilla Global Sprint we built\n[Privacy Bot](https://github.com/cliqz-oss/privacy-bot), which aimed to\ngather, persist and analyze privacy policies. One of the challenging\nproblems we had to solve, was identifying where the privacy policy was hosted.\n\n2. **`/third-parties.json`** - provide a structured list of third parties\npresent on the site, the service being performed by them, list of data points\nthey have access to (e.g. IP, user agent, pages visited on site ... ), and\ndefault state of consent. This would enable browsers to assume the role they should\nhave had baked in: a unified control center for the user to\nmanage consent. This is especially important given the rise of deceiving UX patterns\nwe are increasingly used to seeing in websites these days[^9].There are \nstandards that can be built upon, like the Content Security Policy, and the\nDo Not Track Standards, which are widely adopted by browser vendors.\nA similar effort is `/ads.txt`, initiated by the iab techlab, aiming towards\na mechanism to define authorized sellers for web content from the perspective\nof the domain owner[^10].\n\n3. **`/dpo.json`** - increase oversight of the Data Protection Officer,\ndetaching the role further away from the organization. Provide machine\nparsable details of the DPO, for users to be able to reach out more easily,\nas well as providing incentives for the establishment of a new market\naround privacy management.\n\n4. **`/incidents-and-cases.json`** - Data Incidents reported have increased\nas a consequence of GDPR[^11]. This information should also be made available\nto the public. The web is currently built and operated largely on trust. As such,\ntransparency over the amount of incidents a given website or service has had\nto report is very important. Furthermore, provide a list of the open\ncourt cases involving the mismanagement of personal data the company\nis involved in.\n\n\n## Conclusions\nIn Europe, GDPR has thus far had a measurable impact in reducing the average\nnumber of trackers websites put in their pages, while in the US the opposite is\ntrue. The increase in transparency benefits users as they enjoy an increased\ncontrol over their data, but the UX of the services managing that consent\ndoes not always have users' best interest in mind.\n\nOn the other hand, in Europe GDPR has led the online advertising market to become more\nconcentrated, as the majority of advertisers lose market share. If this trend persists,\nit is possible that GDPR is having adverse effects on competition. For users this\nmeans that while the number of third parties asking for access to their\ndata is decreasing, a tiny few are getting more of their data.\n\nTo Regulators, and especially the supervising authorities responsible\nfor the enactment of GDPR, we think you should strive for creating incentives\nfor industry players to keep each other in check, thereby creating a market for\nprivacy. The only way this can be achieved is by pushing for a machine readable\nlegislation that enforces standards.\n\n\n#### Footnotes\n\n[^1]: GDPR Article 3 on [Territorial Scope](https://gdpr-info.eu/art-3-gdpr/)\n[^2]: EU Data Protection Directive [[source]](https://en.wikipedia.org/wiki/Data_Protection_Directive)\n[^3]: GDPR is vague [Standford Center for Internet and Society](http://cyberlaw.stanford.edu/blog/2015/12/final-draft-europes-right-be-forgotten-law)\n[^4]: News Websites post GDPR [[Factsheet]](https://reutersinstitute.politics.ox.ac.uk/our-research/changes-third-party-content-european-news-websites-after-gdpr)\n[^5]: Digital Advertising Market [[Statista]](https://www.statista.com/statistics/237974/online-advertising-spending-worldwide/)\n[^6]: Google's Anti-trust cases in Europe [[source]](https://www.reuters.com/article/us-eu-google-antitrust-timeline/googles-antitrust-cases-in-europe-idUSKBN1K81CC)\n[^7]: Preparation for GDPR [[source]](https://www.theguardian.com/technology/2018/may/25/facebook-google-gdpr-complaints-eu-consumer-rights)\n[^8]: Google's Funding Choices [[source]](https://adexchanger.com/online-advertising/googles-gdpr-consent-tool-will-limit-publishers-to-12-ad-tech-vendors/)\n[^9]: Dark Patterns: How UX design tricks you into giving away your privacy [[source]](https://cliqz.com/en/magazine/dark-patterns-how-ux-design-tricks-you-into-giving-away-your-privacy)\n[^10]: IAB Techlab `ads.txt` [[source]](https://iabtechlab.com/wp-content/uploads/2017/09/IABOpenRTB_Ads.txt_Public_Spec_V1-0-1.pdf)\n[^11]: Reported Data Incidents increase with GDPR [[source]](https://www.itgovernance.co.uk/blog/ico-statistics-show-increase-in-reported-incidents-ahead-of-gdpr/)\n[^12]:`reach`: Proportional presence across all page loads (i.e. if a tracker is present on 50 out of 1000 page loads, the reach would be 0.05). Value is a float between 0 and 1.\n[^13]:`site_reach`: Presence across unique first party sites. e.g. if a tracker is present on 10 sites, and we have 100 different sites in the database, the site reach is 0.1. Value is a float between 0 and 1.\n"
  },
  {
    "path": "blog/generating_adblocker_filters.md",
    "content": "title: Generating Ad-Blocker filters from whotracks.me data\nsubtitle: Let's never miss a new tracker again.\nauthor: remusao\ntype: article\npublish: True\ndate: 2017-11-20\ntags: privacy, tracking, adblocking\nheader_img: blog/blog-generate-adb-filters.jpg\nredirect_url: https://www.ghostery.com/blog/generating-adblocker-filters\n+++\n\n*TL;DR*  In this post we see how to:\n\n1. Load the data from [whotracks.me](https://github.com/ghostery/whotracks.me) to get access to trackers' information\n2. Create a mapping from tracking categories to list of domains\n3. Filter each domain based on the amount of tracking of each *app*\n3. Generate a filter list for each category\n\nThe full source code used in this article can be found on the [Github repository](https://github.com/ghostery/whotracks.me/blob/master/contrib/generating_adblocker_filters.py).\n\n\nMost popular content blockers are using filter lists to decide what requests\nleaving the browser should be blocked. In this regard, filter lists act as a\nprivacy *ground truth*: deciding what is safe, and what is not safe for users.\nIt means that your privacy protection is only as good as the filters your are\nusing. The community is doing an amazing job, but still there can be gaps in\nyour protection; one such situation is when a new tracker appears.\n\nWith the right data, updated regularly, we believe it is possible to\nbuild powerful tools to help increase users' privacy. Knowing more about\ntrackers, in real time, allows to provide better anti-tracking but can also\n*help* the tedious process of curating the filter lists.\n\nIn this post we'd like to demonstrate how we can make use of the\nopen-sourced [whotracks.me](https://whotracks.me) data to automatically\ngenerate *up-to-date*, *per-category*, filter lists supported by the\nmost popular ad-blockers out there. Leveraging this data can improve\nuser experience and make maintaining the lists easier.\n\nIn the future, we can imagine generating per-country lists as well,\nin the spirit of the different [easylists](https://easylist.to/) already\nin existence:\n\n* `DEU: Pornvertising blocking Germany`\n* `DEU: Site_Analytics blocking Germany`\n* ...\n* `FR: Site_Analytics blocking France`\n\nThey could also be dispatched in the already existing lists such as\n`advertising`, `privacy`, etc. Another option could be to use this as a\ntool to assist maintainers to keep an eye on the ecosystem; allowing to\nlearn about new trackers in real time.\n\nLet's get started!\n\n## Loading the data\n\nThe first step is to install the `whotracksme` package, available on [PyPI](https://pypi.python.org/pypi/whotracksme)\nand [Github](https://github.com/ghostery/whotracks.me). You can get started by\ninstalling `whotracksme` with `pip`:\n\n```sh\n$ pip install whotracksme\n```\n\nWe start by loading the tracker-related data from [trackerdb.sql](https://github.com/ghostery/whotracks.me/blob/master/whotracksme/data/assets/trackerdb.sql), using the\nhelper function found in the `whotracksme.data` module:\n\n```python\nfrom collections import defaultdict\nfrom whotracksme.data import load_tracker_db\n\n# Categories to tracker domains\ntracker_domains_per_category = defaultdict(list)\n\n# Keep track of normalized \"app\" name for each tracker domain. A given \"app\"\n# such as \"doubleclick\" can use several domains: 2mdn.net, doubleclick.net, etc.\ntracker_domains_to_app = {}\n\n# Load trackers and group them by category\nsql_query = \"\"\"\n  SELECT categories.name, tracker, domain FROM tracker_domains\n  INNER JOIN trackers ON trackers.id = tracker_domains.tracker\n  INNER JOIN categories ON categories.id = trackers.category_id;\n\"\"\"\nwith load_tracker_db() as connection:\n    for (category, tracker, domain) in connection.execute(sql_query):\n        tracker_domains_per_category[category].append(domain)\n        tracker_domains_to_app[domain] = tracker\n```\n\nHere is a sample of what we get in `tracker_domains_per_category`. Note that if\nyou run the same script, you might get slightly different results as the\ndata is being constantly updated:\n\n```python\ndefaultdict(list, {\n  'advertising': [\n    'doubleclick.net',\n    ...\n  ],\n  'audio_video_player': [\n    'soundcloud.com'\n    ...\n  ],\n  'cdn': [\n    'googleapis.com',\n    ...\n  ],\n  'comments': [\n    'disqus.com',\n    ...\n  ],\n  'customer_interaction': [\n    'zendesk.com',\n    ...\n  ],\n  'essential': [\n    'googletagmanager.com',\n    ...\n  ],\n  'extensions': [\n    'kaspersky-labs.com',\n    ...\n  ],\n  'hosting': [\n    'amazonaws.com',\n    ...\n  ],\n  'misc': [\n    'linkedin.com',\n    ...\n  ],\n  'pornvertising': [\n    'pornhub.com',\n    ...\n  ],\n  'site_analytics': [\n    'google-analytics.com',\n    ...\n  ],\n  'social_media': [\n    'twitter.com',\n    ...\n  ]\n]})\n```\n\n## Filtering based on tracking behavior\n\nIt is tempting to generate filters for each domain loaded so far, but it\nwould be very aggressive. Indeed, some domains identified as potential\ntrackers might in fact not send [unsafe identifiers](https://whotracks.me/blog/what_is_a_tracker.html) (or not a lot). For example\n[createjs](https://whotracks.me/trackers/createjs.html) is not using any\n*fingerprinting* and does not seem to be doing tracking via *cookies*,\nhence, it should not be blocked systematically.\n\nFortunately, we can make use of the data from [apps.json](https://github.com/ghostery/whotracks.me/blob/master/whotracksme/data/assets/apps.json) to learn\nmore about each tracker. An *app* is an entity which can contain several\ndomains (e.g.: *doubleclick* is an *app* for which we identified three\ndomains: `2mdn.net`, `invitemedia.com` and `doubleclick.net`). We also\nprovide information about companies to which each app belongs, but we\nwill leave the exploration of this data for another article.\n\n```python\nimport json\nfrom whotracksme.data import load_apps\n\napps = load_apps()\n```\n\n`apps` is a dictionary with keys being *app ids* (e.g.: `google_analytics`)\nand values containing all we know about each *app*. Let's take an example:\n\n```json\napps[\"google_analytics\"]\n\n{\n    \"overview\": {\n        \"bad_qs\": 0.4377430033329568,\n        \"content_length\": 14771.492718357234,\n        \"cookies\": 0.0015869678941083753,\n        \"https\": 0.7507222054912428,\n        \"id\": \"google_analytics\",\n        \"reach\": 0.44292899275150094,\n        \"requests\": 3.834100333790446,\n        \"requests_tracking\": 1.202157901660253,\n        \"site_reach\": 0.616005569531587,\n        \"tracked\": 0.4383474801843971\n    },\n    \"history\": ...,\n    \"rank\": ...,\n    \"sites\": ...\n}\n```\n\nThat's a lot of data, and we plan to release a more complete\ndocumentation about what all this is about soon. For now let's just say\nthat everything is already made accessible on the website, in form of\nnice graphs and aggregations!\n\nFor our use-case, we will only consider the field: `tracked`. It\nrepresents the proportion of page loads including *app*, identified as\nperforming some form of tracking (using either identifying *cookies*\nor *fingerprinting*). In the case of `google_analytics`, it means that\nout of 100 page loads where `google_analytics` was present, tracking\noccurred 44 times.\n\nBefore generating the filter list, let's keep only *apps* tracking\nusers more than `10%` of the time. Please note that finding the right\nthreshold would require some finer analysis, and could depend on the\napplication.\n\n```python\ndef filter_domains(domains):\n    for domain in domains:\n        app_name = tracker_domains_to_app[domain]\n        if app_name in apps:\n            app = apps[tracker_domains_to_app[domain]]\n            tracked = app['overview']['tracked']\n            if tracked >= 0.1:\n                yield domain\n```\n\nWe need to check if the *app* exists first because we currently only have the\ntop 500 hosted on Github. We will host more in the future.\n\n\n## Generating the lists\n\nWe now proceed to generate the filter lists from these domains. They can take\ntwo forms:\n\n* ADB compatible syntax: `||{domain}$third-party`\n* Hostname syntax: `127.0.0.1 {domain}`\n\nNote that the second option will probably be too aggressive in a lot of\ncases, as it will also block the domain even if they are first-party (e.g.,\n`google.com` might get blocked by these rules).\n\n```python\ndef generate_adb_filters(domains):\n    \"\"\"Given a list of domains, generate filters using the\n    ADB syntax to be used in an adblocker\"\"\"\n    for domain in domains:\n        yield f\"||{domain}$third-party\"\n\ndef generate_hostname_filters(domains):\n    \"\"\"Given a list of domains, generate filters using\n    the hostname syntax\"\"\"\n    for domain in domains:\n        yield f\"127.0.0.1 {domain}\"\n\n# Generate filters with *ADB* syntax\nadb_filters = {\n    category: '\\n'.join(generate_adb_filters(filter_domains(domains)))\n    for (category, domains) in tracker_domains_per_category.items()\n}\n\n# Generate filters with *hostname* syntax\nhostname_filters = {\n    category: '\\n'.join(generate_hostname_filters(filter_domains(domains)))\n    for (category, domains) in tracker_domains_per_category.items()\n}\n```\n\nEach dictionary now contains a valid adblocking list for each category:\n\n```python\nhostname_filters.keys()\n```\n\n```python\ndict_keys([\n  'advertising',\n  'audio_video_player',\n  'cdn',\n  'comments',\n  'customer_interaction',\n  'essential',\n  'extensions',\n  'hosting',\n  'misc',\n  'pornvertising',\n  'site_analytics',\n  'social_media',\n  'unknown'\n])\n```\n\n\nAnd here is what we get for example in the `advertising` category:\n\n```python\nprint(adb_filters['advertising'])\n```\n\n```\n||doubleclick.com$third-party\n||criteo.com$third-party\n...\n```\n\n\nAnd the same domains but as `hostname` filters:\n\n```python\nprint(hostname_filters['advertising'])\n```\n\n```\n127.0.0.1 doubleclick.com\n127.0.0.1 criteo.com\n...\n```\n\nTo put it in a nutshell, here is what we just did:\n\n1. Load the data from [whotracks.me](https://github.com/ghostery/whotracks.me) to get access to trackers' information\n2. Create a mapping from tracking categories to list of domains\n3. Filter each domain based on the amount of tracking of each *app*\n3. Generate a filter list for each category\n\nThere is so much more we can do with this database. At the moment the\nAPI to load the data is pretty-low level, but it will be improved over\ntime.\n"
  },
  {
    "path": "blog/google_domains.md",
    "content": "title: The end of google.{your country}?\nsubtitle: Google's move to keep their cookies.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-04-23\ntags: google, cookies, tracking protection\nheader_img: blog/google_domains/dataflow.png\n+++\n\nThere have been [recent reports](https://twitter.com/vtoubiana/status/987365270187634688) that\nGoogle has started redirecting users from regional variants of Google search (served on\ngoogle.{de, fr, co.uk, etc}) to google.com for search results. This has implications for the\n[4th most prevalent](../trackers/google.html) tracker on the web, so we decided to check\nthe data to see what is going on.\n\nBy looking at WhoTracks.Me data from April, we see that around April 16th there is a shift in\ntraffic from Google's European search results pages (`www.google.{de,fr,at,co.uk,etc}`) towards\n`www.google.com`. The figure below shows that the former domains all saw a 50% drop in number\nof page loads over the last week, while `www.google.com` is up 100-150%, suggesting Google\nare doing a gradual rollout of this change. These changes lie well outside the bounds of\nthe weekly traffic fluctuations we usually see.\n\n![The rise of Google.COM](../static/img/blog/google_domains/global_trends.svg)\n<p class=\"img-caption\">Percentage change in traffic to google search result pages, April 2018</p>\n\nWe can further see the magnitude of this change by focusing on data for Germany. If we look at the\nrelative proportion of pages loaded on `www.google.de` and `www.google.com` in Germany over the last\nmonth, we see a marked increase, with the share of traffic to `www.google.com` going up from around\n5% to over 40%.\n\n![Relative proportion of traffic in Germany](../static/img/blog/google_domains/germany_prop.svg)\n<p class=\"img-caption\">Search results pages used in Germany, April 2018</p>\n\nWhy is Google doing this? We don't know - we're not aware of any official announcement. However,\none reason for this could be a reaction to increased usage of restrictive cookie settings, such\nas allowing cookies only from visited sites, or Apple's [Intelligent Tracking Prevention](https://webkit.org/blog/7675/intelligent-tracking-prevention/).\nIf a user is rarely visiting the google.com domain, these technologies can expire this cookie earlier,\nor prevent its use in third-party contexts.\nAs `google.com` is the domain used to authenticate with Google services, if the browser sends\n`google.com` cookies in third-party context, these visits can be directly attributed to one's\nGoogle profile. Therefore, this change increases the likelihood that the user will have recently\nvisited `www.google.com`, and therefore Google's tracking can continue uninterrupted.\n\nTracking from `google.*` domains [reaches 30% of web traffic](https://whotracks.me/trackers/google.html),\nand the majority of this reach is contributed by the [`google.com` domain](https://github.com/ghostery/whotracks.me/blob/master/whotracksme/data/assets/2018-03/global/domains.csv#L5).\nAs, with this change, it is very difficult to avoid visiting `google.com` domain as a first party,\npreventing this tracking in a vanilla browser would require disabling all third-party cookies.\nAlternatively, [Cliqz](https://cliqz.com/) and [Ghostery's](https://www.ghostery.com/) AI anti-tracking\ntechnologies block all third-party tracking cookies (Disclosure: the author works on this product).\n[Privacy Badger](https://www.eff.org/privacybadger) is also able to block third-party tracking cookies.\n"
  },
  {
    "path": "blog/government_websites_september.md",
    "content": "title: Government websites\nsubtitle: If you are not the product, you're the taxpayer\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-10-10\ntags: trackers, government\nheader_img: blog/gov_trackers/gov.png\nredirect_url: https://www.ghostery.com/blog/government-websites-trackers\n+++\n\n\n_This post is one of our regular monthly blogs accompanying an update to the data\ndisplayed on WhoTracks.Me. In these posts we introduce what data has been added as\nwell as point out interesting trends and case-studies we found in the last month._\n\n<br />\n\nOn WhoTracks.me we typically profile websites where we see presence of tracking.\nOne new category of site we observed loading trackers this month was government websites.\nGovernment websites act as information portals, allowing citizens to access information\nor services from their government. In some cases the use of government sites will be\nmandatory, for example services set up for submitting tax or visa information.\nThus, it is concerning that we see third-party tracking appearing on these sites, where\nusers do not have a choice whether or not they access the service, and are then forced\nto hand over data to third-party companies by their governments.\n\n![Average number of third parties per Country](../static/img/blog/gov_trackers/average_per_country.svg)\n<p class=\"img-caption\">Average number of trackers seen on selected government websites from\nthe WhoTracks.Me September dataset.</p>\n\nHere's a list of the government websites ending up in this month's release:\n<table class=\"table table-hover\">\n  <thead>\n    <tr>\n      <th>Country</th>\n      <th>Site</th>\n      <th>Notable trackers</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Australia</td>\n      <td><a href=\"../websites/bom.gov.au.html\">bom.gov.au</a> </td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/doubleclick.html\">Doubleclick</a>\n      </td>\n    </tr>\n    <tr>\n      <td>Europe</td>\n      <td><a href=\"../websites/europa.eu.html\">europa.eu</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/google.html\">Google</a>,\n        <a href=\"../trackers/twitter.html\">Twitter</a>\n      </td>\n    </tr>\n    <tr>\n      <td>France</td>\n      <td><a href=\"../websites/ants.gouv.fr.html\">ants.gouv.fr</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/doubleclick.html\">Doubleclick</a>\n      </td>\n    </tr>\n    <tr>\n      <td>France</td>\n      <td><a href=\"../websites/legifrance.gouv.fr.html\">legifrance.gouv.fr</a></td>\n      <td>\n        <a href=\"../trackers/at_internet.html\">AT Internet</a>\n      </td>\n    </tr>\n    <tr>\n      <td>France</td>\n      <td><a href=\"../websites/impots.gouv.fr.html\">impots.gouv.fr</a></td>\n      <td>\n        <a href=\"../trackers/at_internet.html\">AT Internet</a>\n      </td>\n    </tr>\n    <tr>\n      <td>Russia</td>\n      <td><a href=\"../websites/zakupki.gov.ru.html\">zakupki.gov.ru</a></td>\n      <td>\n        <a href=\"../trackers/yandex.html\">Yandex</a>\n      </td>\n    </tr>\n    <tr>\n      <td>UK</td>\n      <td><a href=\"../websites/tax.service.gov.uk.html\">tax.service.gov.uk</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/optimizely.html\">Optimizely</a>\n      </td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td><a href=\"../websites/ca.gov.html\">ca.gov</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/google.html\">Google</a>,\n        <a href=\"../trackers/addthis.html\">AddThis</a>\n      </td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td><a href=\"../websites/dhs.gov.html\">dhs.gov</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/doubleclick.html\">Doubleclick</a>\n      </td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td><a href=\"../websites/irs.gov.html\">irs.gov</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/new_relic.html\">New Relic</a>,\n        <a href=\"../trackers/lockerz_share.html\">AddToAny</a>,\n        <a href=\"../trackers/youtube.html\">Youtube</a>,\n        <a href=\"../trackers/foresee.html\">Foresee</a>\n      </td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td><a href=\"../websites/nih.gov.html\">nih.gov</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/doubleclick.html\">Doubleclick</a>,\n        <a href=\"../trackers/google.html\">Google</a>\n      </td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td><a href=\"../websites/noaa.gov.html\">noaa.gov</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>\n      </td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td><a href=\"../websites/state.gov.html\">state.gov</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/google.html\">Google</a>,\n        <a href=\"../trackers/youtube.html\">Youtube</a>,\n        <a href=\"../trackers/qualtrics.html\">Qualtrics</a>\n      </td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td><a href=\"../websites/weather.gov.html\">weather.gov</a></td>\n      <td>\n        <a href=\"../trackers/google_analytics.html\">Google Analytics</a>,\n        <a href=\"../trackers/addthis.html\">AddThis</a>\n      </td>\n    </tr>\n  </tbody>\n</table>\n\nIt also surprised us that Germany (where the majority of our contributors reside)\ndoes not appear. A brief check of a few sites like\n<a target=\"_blank\" rel=\"noreferrer\" href=\"https://bundestag.de\">bundestag.de</a> and the\n<a target=\"_blank\" rel=\"noreferrer\" href=\"https://bzst.de\">Federal Tax Office</a> shows a preference for self-hosted analytics,\nsuch as Matomo, rather than third-party solutions.\n\nNote that, as we do not collect data about pages with no third-party trackers, the data we show here may be biased for sites where sensitive areas do not have tracking. Further study would be required to access whether the tracking reported here leaks sensitive information when accessing public services. However, the presence of tracking on these pages is enough to leak valuable metadata about citizens to third-party companies. We should be asking if it is acceptable for our governments to expose us to this risk...\n"
  },
  {
    "path": "blog/how_cliqz_antitracking_protects_users.md",
    "content": "title: How Cliqz anti-tracking protects users\nsubtitle: Using an algorithmic, data-driven approach to remove unique identifiers that track users.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2017-07-22\ntags: privacy, circle\nheader_img: blog/blog-anti-tracking.jpg\n+++\n\n\nThere are already many tools available which aim to prevent the kinds of tracking we have described. In general these act as browser extensions which monitor network traffic and intervene when tracking is detected, i.e. blocking UIDs in transmission. These can be categorised into two groups:\n\n1. Blocklist-based: These tools use curated blocklists in order to block third parties seen to be tracking. This predominately targets advertising trackers as an extension or side-effect to Adblocking features. Examples include Ghostery, Disconnect, Firefox tracking protection, and uBlock Origin.\n2. Heuristic/algorithm-based: These tools use heuristic and/or algorithmic analysis to determine when to block or modify requests. Examples include Privacy Badger and Cliqz’s own anti-tracking system.\n\nBlocklist-based methods have several shortcomings. Firstly, blocking requests is very coarse grained and can easily break site functionality. Overly broad blocking rules may block many requests which are of no privacy risk. On the other side, exceptions made to prevent site breakage may then allow some privacy leaks, for example the Facebook like button is still allowed when using the [EasyPrivacy](https://easylist-downloads.adblockplus.org/easyprivacy.txt) blocking list, and there are [many other](https://easylist-downloads.adblockplus.org/exceptionrules.txt) such exceptions.\n\n\n<img class=\"img-responsive\" src=\"../static/img/blog/antitracking_intro/antitracking-comparison-v2.png\"/>\n\nSecondly, as these lists are manually maintained, they will always be playing catchup against trackers. Tracking companies can constantly change their URLs, domains and methods to prevent blocking, and those generating the lists must respond in each case.\n\nFinally, blocking lists bestow significant power to their curators. With blocking browser extensions being used ever more ([over 40% of users](https://downloads.pagefair.com/wp-content/uploads/2016/05/Adblocking-Goes-Mainstream.pdf) for some market segments), those who write the block list would have the power to cut off a significant proportion of a company’s traffic — deservedly or not.\n\nHeuristic approaches like Privacy Badger are limited by just having local knowledge. In many cases we will not know if data sent is unique to us until we have tested it in another browser and seen a different value, like in the fingerprinting example in the previous post. Thus some kind of collaboration is required between users to determine what data is safe, and what is not – and this is the method Cliqz’s anti-tracking uses.\n\n\n# Cliqz Anti-tracking\nAs we outlined in the previous section, blocklists have several drawbacks, and we did not want such an aggressive system. Likewise, relying purely local evaluation of whether data is a UID or not has significant limitations. Therefore, we designed a system which combines local with global evaluation of tracking data. It is also designed to be conservative — we only remove data which we determine to be UIDs, and leave the rest alone. Our system modifies request URLs instead of blocking. This aims to reduce site breakage, and enable services to collect data, provided it does not compromise the user’s privacy.\n\nLike existing tools we focus on removing UIDs in transmission, rather than trying to prevent UID generation. Therefore we have three transmission vectors: HTTP Headers, URL Path and Post data. The latter we currently do not handle as our data shows that the reach of this method is very low, however our system allows us to continually monitor the situation, should this change.\n\nThe Cliqz anti-tracking system is split into two subsystems. One that handles only Cookies, and the other which handles all other data sent in headers and the URL path.\n\n\n## Cookie Protection\nProtecting from tracking cookies is relatively simple. This is because the vast majority of third-party cookies have no function beyond tracking. Therefore we can very simply strip these from the request without breaking the page.\n\nHowever, blanket third-party cookie blocking is not an ideal solution, because some third-party widgets do require cookies, to, for instance, authenticate with their service. In order to enable this use case, our system allows cookies in cases when user interaction with the widget is detected. When this happens, the third party is temporarily whitelisted to allow cookies.\n\nThis implementation effectively prevents all cookie tracking, and rarely breaks the user-experience on web pages. This is despite the fact that over 96% of third-party cookies are removed.\n\n\n## Unsafe Data Removal\nThe second anti-tracking subsystem deals with the non-trivial problem of identifying whether the data sent in a request is ‘safe’ or not. By this we mean, that the data point could be used as a UID, i.e. it is unique to the user. Once we identify what data is unsafe we remove it from the request before it is sent by the browser. This means that if a tracker tries to aggregate their data using this UID, then all Cliqz users will appear as one, and thus will gain crowd anonymity. The algorithm therefore runs as follows:\n\nWhen a page is loaded, for each third-party request:\n\n1. Analyse the URL, headers and postdata of the request.\n2. Tokenise this data into key-value pairs.\n3. Evaluate the safeness of each key-value pair.\n4. If there are unsafe values, remove the data from the request.\n\nHow can we determine what data is safe or not? A UID is characterised as a value which is unique to a single user, and which is repeatedly seen by this user. Such values can be detected by aggregating the data seen by multiple users over a period of browsing time. However, by the time this aggregation would tell us what the UIDs were, it would be too late — the trackers would already have the data. Therefore, our algorithm does the inverse: Detecting the values which cannot be UIDs, and removing all other data.\n\nThe advantage of this method is that the protection for new users is available straight away. New UIDs will not be known by the system, and therefore be removed by default. Furthermore, the set of safe values is significantly smaller than the set of unsafe. Safe values will be categorical in nature, and therefore be only ever be `O(1)` in size, while the set of UIDs will be `O(n)`, where n is the number of users.\n\nWe can also classify many values as safe locally, without having to consult the global safe value set. Our system uses the following rules for local classification:\n\n- If a value has not been seen previously for the `(third party, key)` pair, it is safe.\n- If a value is too short, i.e. has too little entropy to be a UID, it is _safe_.\n- If more than 3 different values have been seen for a `(third party, key)` pair over a two day period, then the value is not persistant, and therefore safe.\n\nIf none of these rules are able to classify the value as safe, we use the global safe set, which tells us which values have achieved a quorum of users who all saw the same value.\n\n\n### Example\n\nConsider a hypothetical visit to the site `example.com`, which has tracker.de as a third party. After processing a request we generate a set of `T = [(s, d, k, v)]` tuples as follows:\n\n```javascript\nT = [\n    (s= example.com, d= tracker.de, k= z,  v= 1459866821),\n    (s= example.com, d= tracker.de, k= fl, v= 21.0),\n    (s= example.com, d= tracker.de, k= u,  v= CCAAAABI),\n    (s= example.com, d= tracker.de, k= vr, v= 1440x1024),\n    (s= example.com, d= tracker.de, k= c7, v= e9d4a7e4d2185cec),\n]\n```\n\nWe can then evaluate these values:\n\n- `(s= example.com, d= tracker.de, k= z, v= 1459866821)`: This was the first time we saw the value `1459866821` for the given `(d, k)`, so this data is _safe_.\n- `(s= example.com, d= tracker.de, k= fl, v= 21.0)`: The value `21.0` is too short to be a UID, so it is _safe_.\n- `(s= example.com, d= tracker.de, k= u, v= CCAAAABI)`: More than 3 different values seen in the last two days for the same `(d, k)`, so _safe_.\n- `(s= example.com, d= tracker.de, k= vr, v= 1440x1024)`: Always the same value seen for this `(d, k)` pair, however the value is in the global safe set (as it represents a common screen resolution), therefore _safe_.\n- `(s= example.com, d= tracker.de, k= c7, v= e9d4a7e4d2185cec)`: Always the same value seen, and not in the globally safe set, so this value is _unsafe_ and will be removed.\n\n\n### Building the Global Safe Set\nWe build the global safe set daily using the data sent from users’ clients. Clients collect the tuples of data from each request while browsing and send this back to us every hour, adding a timestamp parameter. The values in the tuple are hashed to prevent user-identifiable information being sent to us. The client guarantees that a maximum of one message is sent per user per hour, so this can be used instead of a user id to count the number of users for each (third party, value) tuple. If the number of users exceeds the quorum threshold for a given hour, it is added to the safe set.\n\nThis model allows users to create this collaborative safe value set without compromising their privacy. Any privacy sensitive information in the data is obfuscated by the hash function, and, as no UID is required for our aggregation, we cannot derive any browsing history beyond the single hour granularity (there is no way to link messages from different hours), and the most information that could be gained is the first-party domain names visited. This protection is further strengthened by the use of our [Human Web](https://events.linuxfoundation.org/sites/events/files/slides/collecting-user-data-socially-responsibly.pdf) technology which further obfuscates the source of each message we receive.\n\n\n# Cliqz vs Other Anti-tracking Systems\nThe algorithmic, data-driven system for removing UIDs from third-party requests which we have described has several advantages over other anti-tracking solutions. As an online system we can respond much quicker, and without human oversight, to changes in trackers and their techniques. If a tracking company switched domains to try and avoid blocklists, we would have the data to block this tracking within a day. Human-curated blocklists would take comparatively longer to update.\n\nIn our [paper](https://static.cliqz.com/wp-content/uploads/2016/07/Cliqz-Studie-Tracking-the-Trackers.pdf) we did several tests to measure the difference between our system and other blocklist systems. Our tests indicated a reduction in breakage on web pages caused by our system, compared to adblockers. We also saw that blocklist-based systems blocked more often, but a large proportion of these blocks were false positives: requests which did not contain any UIDs.\n\nThe downside of our method is that, unlike other blockers, we see a net performance loss when loading complex web sites. This is because, other blocking systems simply block the javascript which will then attempt to calculate and send a fingerprint, while we will block just the outgoing request with UID. Thus blockers get a performance benefit of avoiding running this resource-heavy tracking javascript code.\n\nHowever, we believe that in the long term, this property is a net benefit. Unlike other anti-tracking systems, Cliqz can forgive. If a tracker updates its code, and switches to a method which no [longer sends UIDs](http://www.slideshare.net/jmpujol/data-collection-without-privacy-sideeffects-at-big2016-www-2016), then our system will immediately stop blocking their data. With blocklists, there is no such mechanism — trackers are then incentivised to circumvent the block (for example using a new domain name), rather than improving their data collection methods.\n\n\n# Summary\nOur anti-tracking system has now been running successfully for over a year, blocking around 300 million cookies and removing around 10 million UIDs per day to keep our users free from tracking. The same system, as described here, is now also available on [our mobile browsers](https://cliqz.com/en/mobile) to provide the same protection across even more devices, and give users control over what data third-parties can collect about them.\n"
  },
  {
    "path": "blog/how_facebook_knows_exactly_what_turns_you_on.md",
    "content": "title: How facebook knows exactly what turns you on\nsubtitle: A technical analysis of the methods used to track users as a third party. Deep dive into a couple of case studies.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2017-07-22\ntags: privacy, circle\nheader_img: blog/blog-facebook.jpg\n+++\n\nThe modern web is built around advertising. A multi-billion dollar industry ([$42bn in 2013 in the US](http://www.iab.net/about_the_iab/recent_press_releases/press_release_archive/press_release/pr-041014) and about [6bn in 2015](https://de.statista.com/statistik/daten/studie/456157/umfrage/umsaetze-im-markt-fuer-digitale-werbung-in-deutschland/) in Germany) primarily concerned with one question: How to make the most money by serving exactly the right ad, at the right time, to the right user.\n\nWeb pages are extremely complicated constructions, often meshing together multiple software tools and services from different providers, from analytics and social sharing widgets, to dynamic advertising and content recommendation engines. Consider an average news site with social media sharing buttons. More often than not, these are created by linking to scripts from Facebook, Google, Twitter, etc., which then inject the required content into the page. These third parties may then in turn load other required services into the page.\n\nIn isolation, this seems mainly harmless. Services are being provided to the website owners to better integrate third-party services such as social networks, add extra widgets such as comment sections and related content, and improve the website’s monetisation through targeted advertising.\n\nHowever, the implementation of these services often cause a privacy side-effect: they allow third-parties to track your web-browsing across the web, and in some cases even link this history to you personally. When a user visits a new site the third parties included in the page can then look up the browsing history they have collected for this user, and then generate a personalised response based on this information. This is akin to being given a personalised newspaper where the adverts have been selected based on which articles you have read previously, in both this and other newspapers, any magazine articles you might have read, where you shop and what items you were looking for, [where you bank](http://cliqz.com/magazine/pressemitteilung-cliqz-tracking-beim-online-banking) and more. Our data shows that largest of these tracking third party services can be seen on [almost half of all pages you might visit](http://josepmpujol.net/public/papers/pujolTrackingTheTrackers.pdf), and many others share and [trade user data](https://big.exchange/) amongst each other in order to build a comprehensive user browsing history.\n\nLuckily, as the web is an open system, we can see what these companies are up to, and equip the browser with the capability of foiling their attempts to send tracking data.\n\nThis post is the first part of a two-part series. In the second part we will describe how our Anti-tracking system works. This part acts as a background to that, describing the how and why behind online tracking. The methodology and data we present here is based on our [published work](http://josepmpujol.net/public/papers/pujolTrackingTheTrackers.pdf) on Anti-tracking, which we [presented](http://www.slideshare.net/jmpujol/tracking-the-trackers-www-2016) at WWW2016.\n\n\n\n## How online tracking works\n\nThe mechanism behind online user tracking is simple enough. First, one must be a third party to many page loads across the web. Our data shows that almost 30% of web sites require 10 or more different service providers to fully load their content, and dynamic advertising alone can bring this many different companies into the page. Secondly, the request a third party receives when loaded into a page should contain some kind of user identifier (uid) for the client visiting the page, as well as the address of the first party page visited (usually provided by the Referer [sic] header). Collecting together the first-party pages seen for each uid will then yield the browsing histories of all the users seen.\n\nA simple list of visited web pages may not seem like a significant privacy violation to some, however further analysis can yield much more information than one might expect. Trackers can collect users’ browser and operating system, which can be used for [price discrimination](http://news.northeastern.edu/2014/10/ecommerce-study/), and rough geographical location can be checked using [IP geolocation](https://en.wikipedia.org/wiki/Geolocation). One can also find private urls in the history to determine membership of certain services, such as some [online banking portals](https://static.cliqz.com/wp-content/uploads/2016/07/Cliqz-study-tracking-in-online-banking.pdf) which contain trackers. Another example is the twitter analytics dashboard (e.g. analytics.twitter.com/user/sammacbeth/home). This url is only accessible when logged in as a specific user, and when accessed the browser will transmit this user name in the url to the trackers in this page (in testing, these included Google, Microsoft and tellapart.com), thus enabling these services to add a user’s twitter handle to the previously collecting browsing history. Private urls, such as this, are particularly dangerous, because they often contain Personal Identifiable Information (PII) which puts a real identify on the other urls that are being collected in that session (See [http://www.slideshare.net/jmpujol/data-collection-without-privacy-sideeffects-at-big2016-www-2016](http://www.slideshare.net/jmpujol/data-collection-without-privacy-sideeffects-at-big2016-www-2016) for an example.).\n\n\n### UID Generation Techniques\n\nThe uid that trackers need in order to attribute page loads to specific users can be generated in several different ways:\n\n1. Cookies – This is the simplest and most common method for generating uids. Cookies are a web standard for sharing state between a client and server over the stateless HTTP protocol. It is an important part of the web, which enables sites to keep track of your login and/or preferences between visits. Cookies work as follows: When a client makes a request to a server, in the response the server can set a header Set-Cookie with a value of its choosing. The client will, from then on, send this value in headers for any subsequent requests for this domain, and thus the server will know which user it was who sent the request.\n\n2.  Network fingerprint – This method uses the properties of the network from which the request comes from as an identifier, usually the IP address. This varies in effectiveness based on whether users have unique IPs or not.\n\n3. Client fingerprint – Here, code is run in the client browser to try and build a unique identifier from data accessed in Javascript, Flash and other APIs, for example installed fonts, browser plugin versions, screen resolution, browser version and more. Techniques such as canvas fingerprinting are further able to fingerprint the specific hardware configuration of the user’s computer. Together this can generate a unique fingerprint which is stateless, and endures even when private data is cleared, and private tabs are used.\n\nOnce generated, these uids must be transmitted to the tracker with information about the page the user is visiting. Again there are three primary methods:\n\n1. HTTP Headers – This is metadata send along with a request with information for the server. This is where Cookies are transmitted, but also other data can be sent here. Our data shows that 45% of requests to third parties on web pages seen by our users contain a cookie header.\n\n2. URL Path – Arbitrary data can be sent in the URL path requested from the server. This is commonly in the form of a query or parameter string — key/value pairs separated by & or ; characters at the end of the query. 52% of third party requests have some kind of query string, and 1.5% a parameter string.\n\n3. Post data – This is data sent from the client as part of the main body of the request. We see this kind of request in 0.05% of cases.\n\n\n### Case Study 1: Facebook cookie tracking\nFacebook use cookies to link your web-browsing behaviour to your Facebook account. Facebook widgets are embedded in various sites around the web, and will send the address of the page you are viewing along with your Facebook cookie, enabling Facebook to build a list of sites you have visited. Our data shows that Facebook’s widget reaches 25% of pages loaded by our users – this means that Facebook could collect 25% of an average user’s browsing history.\n\nWe can see this tracking in action by inspecting requests in the web browser. First, if we visit the Facebook home page, we can see a cookie called datr being set:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/facebook-casestudy.png\"/>\n\nNow, upon visiting a site which has a Facebook widget, in this case bild.de, we can see a request to facebook.com. As third-party cookies are enabled in the browser (the default setting in all major browsers), we will send the cookie we got on the previous page along with the request. The Referer header of this request will also contain the site I am visiting: www.bild.de.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/bild-tracker.png\"/>\n\nAs I continue to browse the web, this process will repeat, and Facebook will collect a series of requests with this datr cookie and the pages I was viewing.\n\nFinally, if I now log into my Facebook account, we see that the datr cookie remains, and now alongside a cookie with my Facebook user ID. This means that Facebook can now attribute all the pages I have viewed with my personal Facebook account.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/facebook-tracker.png\"/>\n\n\nThis mechanism allows Facebook to collect your browsing habits across the web, in order to tailor adverts and recommendations within their site. [Our measurements](http://josepmpujol.net/public/papers/pujolTrackingTheTrackers.pdf) show that this tracking covers around 25% of pages visited by our users.\n\nFacebook were banned last year from using this tracking on European users who had not logged into their site, however this was recently [overturned](http://www.theverge.com/2016/6/30/12069626/facebook-belgian-privacy-commission-cookie-user-tracking-case-overturned), so this practice continues.\n\n\n### Case Study 2: Moatads fingerprinting\n[Moat](https://moat.com/) is an analytics and advertising provider. They are present on many popular news sites, where their JavaScript is loaded into the page, and then a tracking pixel is sent back to their servers. We can observe this behaviour by opening two different sites in our web browser and inspecting the requests to moatads.com:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/moat-mac-uai-1440x774.png\"/>\n\nHere we can see many parameters are sent in the request, and many values match across both requests. However, we cannot know for sure if these represent uids, or just other values used legitimately for the service. However, the qn value is suspicious, as a long cryptic value which remains the same when visiting different sites.\n\nWe now try opening the same sites in a different browser:\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/moat_linux.png\"/>\n\nAgain, pixels are generated with various parameters set in the request URL. Some are the same as we saw in the first test, for example the qq parameter. However, looking at the qn value we see that it is again the same on both web pages, but different to the value we saw on Mac. We can hypothesise that this is a fingerprint of this browser which functions as a uid, however we would need more examples from more unique browsers to properly test this.\n\nFinally, we test the qn in a private tab in the first browser. As shown below, we see that the same fingerprint is generated. Therefore, Moat are able to also tag page views in private tabs with the same uid as in a normal window, suggesting that they can bypass this protection for their tracking purposes.\n\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/bild-tracker2.png\"/>\n\n\n# Where are the trackers\nThese two case studies have shown the technical means with which companies can collect the pages you visit, and group them by a particular user, be that against a specific facebook profile or just a hash value which uniquely identifies one’s computer. Having established that third parties may snoop on some pages you visit on the web (with the first party’s permission), the question is how far does this tracking reach, and how much of our browsing habits can these third parties collect?\n\nWe presented our data on the [online tracking](http://josepmpujol.net/public/papers/pujolTrackingTheTrackers.pdf) seen by 200,000 users over a two week period at the [WWW2016](http://www2016.ca/) conference in April, which analysed over 13 million page loads by our users. A large study of 1 million sites has also been done by researchers at Princeton with similar findings to ours, although the study is not based on real user traffic but rather on data collected by instrumented browsers that download and scan for trackers top sites on the Web. We present some updated results from our on-going browser telemetry, during August 2016, and containing over 140 million page loads over 1.8 million unique domains. Multiple visits to the same site and/or page are counted multiple times, thus the data set weighs more popular pages more strongly, and represents the tracking observed by an average user of our browser.\n\nThe first result we observe from our data, is that a small collection of third parties are are installed in a huge number of visited pages. From a list of 2000 domains, representing the top tracking domains, we see that 96% of page loads include a request to a third party in this list. Over 80% of these page loads (and 78% of the total) contain some kind of tracking attempt. Thus, a user browsing the web with no tracking protection could be tracked on 78% of the pages they visit.\n\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/tracking-per-page-load.png\"/>\n\n\nWe can further look at how much of an average user’s browsing history each third-party company might be able to tracking. We analyse the ‘reach’ – the proportion of total page loads in the data set seen – by domains associated with particular companies or products. The figure below shows the top companies in terms of total reach, and for each we indicate the types of behaviour seen on each page. ‘Safe’ means that no tracking behaviour was seen, just that a request was made to the domain; ‘cookie’ and ‘qs’ mean that there was an attempt to transmit a uid with one of these methods, and ‘both’ means that both methods were used.\n\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/tracking-reach-uai-1032x678.png\"/>\n\nThe figures show that the big players – and particularly Google, with their products taking the top three places – have significant reach across the web. Some specific company behaviours can also be observed, for example Google Analytics does not use cookies, using a weaker kind of fingerprint. Also, Amazon, offer CDN services on their cloudfront.net and amazonaws.com domains, thus a high proportion of their reach is safe.\n\nThe other feature of the tracking landscape is the long tail of tracking companies. There are 27 companies/services with over 5% reach, 110 with over 1%, then 450 over 0.1%. This 0.1% still corresponds to over 140,000 pages seen on this data set.\n\nFinally, we can look at how many trackers are seen on each page load. The figure below shows how many distinct tracking domains were contacted for page loads in the dataset. We see that over 10% of pages have over 20 different trackers in them, and the vast majority of page loads have multiple trackers. Therefore, not only are users tracked across most of the web, after there are many companies who are able to generate comprehensive user profiles.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/how_facebook_post/domains.png\"/>\n\n\n# Conclusion\nIn this post we’ve given a general description of how online tracking works, and looked at the extent of tracker companies’ reach across the web. In the next post we will look at how we can stop this tracking, and give an in depth description of how our Cliqz Anti-tracking technology works to prevent tracking without an adverse effect on user experience.\n"
  },
  {
    "path": "blog/manifest_v3_privacy.md",
    "content": "title: Chrome's Manifest V3 - Improving Privacy?\nsubtitle: How Chrome's changes will reduce user privacy\nauthor: privacy team\ntype: article\npublish: True\ndate: 2019-06-18\ntags: blog, extensions, privacy, chrome\nheader_img: blog/adblocker-perf-study.jpg\nredirect_url: https://www.ghostery.com/blog/manifest-v3-privacy\n+++\n\nThe Chrome team's proposed changes to browser extension APIs, known as Manifest v3, have proven controversial due to their expected impact on adblockers and privacy extensions. Of particular concern are the changes to the `webRequest` API, whose blocking capabilities are being replaced by the `declarativeNetRequest` API. In repeated posts the Chrome team claim that these changes are required to improve the *performance*, *security* and *privacy* of extensions. In a [previous post](./adblockers_performance_study.html) we showed that, for the most popular adblocker engines, performance is already very good, and these changes are unlikely to improve much. In this post we assess the privacy argument for the changes to request handling, if the proposed changes do improve privacy, and how Ghostery specifically will be affected. We find that:\n\n* The Chrome team have only belatedly stated specific privacy concerns with the `webRequest` API, and these are still not included in the design document.\n* The proposed changes do not provide any protections against the stated privacy issues.\n* Privacy extensions like Ghostery will be negatively impacted by the changes, reducing their ability to keep users safe online.\n\n## Extension privacy\n\nBrowser extensions have the potential to cause many privacy problems - when granted permissions, they can see every page you visit in the browser, view their contents, read and write form data, and send requests to any server on the internet. These powers are required for some of the valuable features extensions provide. Therefore, as the Chrome team rightly [point out](https://blog.chromium.org/2019/05/taking-action-on-deceptive-installation.html), ensuring extensions are consentfully installed is the first step to address privacy.\n\nThe Manifest v3 changes, however, primarily address extensions' capabilities post install. As privacy at this point is also a stated goal, what are the privacy concerns and attacks that the changes seek to address? In the Manifest V3 [design document](https://docs.google.com/document/d/1nPu6Wy4LWR66EFLeYInl3NzzhHzc-qnk4w4PX-0XMw8/edit#heading=h.9lwe237fxtp2) this goal is stated as follows:\n\n> Users should have increased control over their extensions.  A user should be able to determine what information is available to an extension, and be able to control that privilege.\n\nLater in the document the changes to the `webRequest` API are described, but only using a performance-based reasoning:\n\n> … the extension then performs arbitrary (and potentially very slow) JavaScript, and returns the result back to the browser process.  This can have a significant effect on every single network request, ...\n\nThey also acknowledge that the `webRequest` API should remain in place for observation.\n\n> The non-blocking implementation of the webRequest API, which allows extensions to observe network requests, but not modify, redirect, or block them (and thus doesn't prevent Chrome from continuing to process the request) will not be discouraged.\n\nThis implies that the potential privacy impact of extensions being able to observe all requests going out of the browser are not a concern for these API changes. While the `webRequest` API remains, the switch to allow blocking only via the `declarativeNetRequest` API does nothing for the stated privacy goal of increasing user control over the information extensions can access.\n\nDespite this, since [our study](./adblockers_performance_study.html) showed that the performance cost of `webRequest` blocking for leading adblockers was not an issue, the Chrome team have focused on privacy reasons for the changes. In their [recent blog](https://blog.chromium.org/2019/06/web-request-and-declarative-net-request.html) about web request and declarative net request changes, they state:\n\n> In order to improve the security and privacy guarantees of the extensions platform, we are rethinking some of the extension platform's core APIs. That's why we're planning to replace the blocking Web Request API with the Declarative Net Request API.\n\nThis shift in angle has also come up in public statements by Chrome devs:\n\n> \"… The big problem with webRequest is unfixable privacy and security holes. …\" @justinschuh ([Source](https://twitter.com/justinschuh/status/1134060703231254528))\n\nIn the blog post they also mention one potential malicious use of webRequest:\n\n> Because all of the request data is exposed to the extension, it makes it very easy for a malicious developer to abuse that access to a user’s credentials, accounts, or personal information.\n\nIf this is the single privacy loophole the `webRequest` changes are targeting, then it seems strange that the solution is to remove the blocking capabilities of `webRequest` and leave the observational ones. Post Manifest V3, the exact same malicious extension will be possible. We can imagine that the Chrome team's strategy may be, that by providing a simple alternative API for blocking use-cases, the extension review process can be tougher for extensions asking for `webRequest` permissions. This, however, would also be possible by just introducing the new API, leaving `webRequest` as it is, and providing developer incentives to switch unless they really need `webRequest` for their use-case.\n\nIt is strange that this privacy issue was not stated in the original design document, and the proposed change to `webRequest` is seemingly just collateral damage that does not address the stated goals. More transparency is needed on what the strategy is here, and why keeping `webRequest` observation with blocking removed should be the solution.\n\nTo summarise:\n\n- The stated privacy improvements of Manifest V3 are addressed elsewhere in the proposals.\n- The privacy and security issues with `webRequest` blocking have not been fully articulated by the Chrome team, with only a brief mention of malicious behaviour in a blog post last month.\n- The removal of `webRequest` blocking does not improve the privacy of extensions.\n\nTherefore at this point, the primary impact on privacy from the proposed changes will be the neutering of the capabilities of several privacy extensions. Privacy Badger devs [expect their core functionality to be broken](https://github.com/EFForg/privacybadger/issues/2273) by the changes. Similarly, we expect it to be difficult to provide the same level of protection in Ghostery should these changes come into effect, and we will describe why in the rest of this post.\n\nIt is ironic that a change ostensibly aimed at improving user privacy will actually reduce it for many users who rely on privacy extensions to protect them online. Some have suggested that the changes simply align Chrome with Apple's Safari, which provides a similar declarative blocking API for extensions. This overlooks the fact that Safari comes with significant privacy protections by default, having been blocking most third-party cookies by default for years, and recently bringing in advanced anti-tracking measures in the form of [ITP](https://webkit.org/blog/8613/intelligent-tracking-prevention-2-1/). Chrome on the other hand, ships with zero tracking protection by default, and is now hindering extensions which try to provide comparible protections to other browsers.\n\n## How removing webRequest blocking affects Ghostery\n\nThis analysis is based on the `declarativeNetRequest` [API documentation](https://developer.chrome.com/extensions/declarativeNetRequest) as of 17th June 2019. The primary features of the API are:\n\n1. A matching grammar for specifying rules that will trigger blocking, header modification or redirects.\n2. Up to 30,000 static rules per extension\n3. The ability to add _dynamic_ rules at runtime, up to a maximum of 5,000 rules.\n4. Rules can have a white- or black-list of first-party sites, to control triggering.\n5. Individual sites can be dynamically whitelisted, up to a maximum of 100 per extension.\n\nGhostery contains the following components which will be affected by the webRequest API changes:\n\n### 1. Tracker matching and blocking\n\nGhostery contains a blocklist of over 4,000 filters which are used to detect and block trackers. The extension allows users fine-grained control over these, allowing or blocking specific trackers on specific sites or globally. The list of detected trackers is shown in the Ghostery UI for each page visited.\n\nTo support the `declarativeNetRequest`, these 4,000 filters would have to be re-written to the new filter grammar that Chrome offers. We are likely to lose some filters in the process, as certain types of matching rule, for example Regex's likely cannot be implemented in the more restrictive grammar.\n\nThe more challenging issue, however, is maintaining Ghostery's rich configurability with the low threshold of dynamic rules allowed. As every rule should be toggleable, all 4,000 filters would have to be _dynamic_ rules. This means that we are already using 80% of our allowance from the start, before we have even started adding supplementary rules for adblocking and cookie blocking.\n\nLikewise, the limit of 100 whitelisted sites is prohibitively low, as many users may us the Ghostery 'Trust Site' feature for more sites than this. It is unclear how to handle hitting this limit, as to the user it will seem like the feature is broken if they trust a site, but it does not get saved.\n\nFurthermore, the new API, in it's current form, does not report the results of blocking back to the extension. This means that we will still have to run our filters on all urls via the `webRequest` API anyway, in order to display the list of trackers seen and blocked. This means that the user pays the cost of keeping the block list loaded in memory and matching against each url twice.\n\n### 2. Cookie blocking\n\nThe Ghostery extension uses a heuristic third-party cookie blocker as part of the 'Enhanced Anti-Tracking' feature. This feature blocks third-party cookies in most cases, using a set of heuristics to decide when cookies should be allowed. It is currently not clear if these heuristics will be able to work correctly without the webRequest API, nor if the dynamic filter cap is sufficient to even hold the basic cookie blocklist.\n\nOur cookie heuristics respond to user input, for example clicking on a Facebook like button or Google login form, in order to trigger a temporary cookie whitelist for a specific domain. To implement this with `declarativeNetRequest`, we would have to add or modify our cookie blocking rule temporarily. As the API for this is asynchronous, we introduce a race condition that we did not have before. If the rule is not added before the request we want to whitelist, the mechanism will fail. This can, for example, break Google logins on third-party sites.\n\nThe cookie blocking is done based on a dynamically generated list of tracker domains of between 2,000 and 3,000 entries. For these domains, third-party cookies should be blocked, unless a heuristic allows it. Again, the limited rule threshold of the `declarativeNetRequest` API means that this list would have to be reduced.\n\nAnother concern is that the [Rule condition specification](https://developer.chrome.com/extensions/declarativeNetRequest#type-Rule) can distuingiush between `firstParty` and `thirdParty` contexts for a request, but this is done on a frame level, rather than relative to the page document. This means that we would not, for example, be able to block Google cookies inside a Google Ads iFrame, as in this context the API would consider requests from the frame as first party.\n\n### 3. Removing private data points\n\nThe other component of Ghostery's 'Enhanced Anti-Tracking' feature is the dynamic removal of url parameters seen to be used for cross-site tracking. This uses a [k-anonymity](./how_cliqz_antitracking_protects_users.html) based algorithm, using anonymously contributed data from our users.\n\nAs the `declarativeNetRequest` API does not support dynamic redirects, this component cannot be implemented with it.\n\n### 4. Adblocker\n\nGhostery includes an additional adblocker component which is able to further block ads based on standard blocklist. As this feature should also be toggleable on-and-off at runtime, we would need to use _dynamic_ rules for these filters. With only 1,000 rules available after adding the Ghostery tracker matching, the coverage of this feature would be drastically reduced.\n\n### 5. WhoTracks.Me Data\n\nGhostery is the primary source of data for this website, using our [anonymised telemetry system](https://arxiv.org/abs/1804.08959) to report on global tracker trends. This largely relies on the webRequest API in order to observe which trackers are on which page. Changes caused by the introduction of `declarativeNetRequest` will reduce the quality of this data. Namely, cookies blocked by the declarative API will not be visible to webRequest listeners. This means that we will not be able to distinguish between trackers setting cookies, which are then blocked, and those who do not set cookies.\n\n### Summary\n\nTo summarise, the Manifest V3 changes to the webRequest API will require a significant re-write of the Ghostery extension to be able to fit the existing features into the constraints of the `declarativeNetRequest` API. The result will be:\n\n- Slower: URL matching will have to be done twice in order to show tracker counts in the UI.\n- Less configurable: Configuration may have to be limited to fit within the  very low dynamic rule limit.\n- Break sites more often: We will have to evaluate the trade-offs of relaxing the third-party cookie blocking vs. breaking sites.\n- Less private: As the private data removal feature will have to be removed.\n\n## Conclusion\n\nIn this post we have shown that the current proposed changes to the webRequest API by Chrome do not improve privacy, and in fact reduce it, by severely hindering the operation of privacy extensions like Ghostery. The limitations on dynamic rules in the new `declarativeNetRequest` API are particularly taxing for extensions which aim to the give user control over what is blocked and what is not.\nThis forces extensions into a 'dumb blocker' model, where block lists are fixed, and the only controls are an on/off toggle. At the same time,\nthe changes increase the difficulty and practicality of implementing dynamic heuristic mechanisms for detecting and blocking tracking.\n\nThe webRequest API powers much innovation in browser extensions, however it does implicitly provide access to private user data. While the Chrome team state that privacy is a reason for the proposed changes to this API they have not stated which specific concerns they aim to address. The Manifest V3 changes do not prevent extensions accessing private user data via webRequest, nor have other potentially dangerous APIs like content scripts been limited. Therefore the claims that this change improves extension privacy are misleading and disingenuous.\n\nThe fact that very few of the initial concerns regarding Manifest V3 have been addressed in the months since the original announcement, means that it currently looks like the changes will be forced through, despite community objections. This means that Chrome users will become second class web citizens with regards to their access to tracking protection. This is however just a continuation of a trend where Chrome stands still or actively reduces privacy while the rest of the competition have been pushing forward. At this point we recommend considering switching away from Chrome, if you haven't done so already, to browsers with privacy built-in by default. For example, the [Cliqz Browser](https://cliqz.com/en/download) has Anti-tracking built in and enabled by default, and Firefox now ships with [tracking protection on by default](https://blog.mozilla.org/blog/2019/06/04/firefox-now-available-with-enhanced-tracking-protection-by-default/).\n\n_Disclosure: WhoTracks.Me is a joint effort by Cliqz and Ghostery._\n"
  },
  {
    "path": "blog/private_analytics.md",
    "content": "title: Tracking visits without tracking people\nsubtitle: A privacy-by-design approach.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-05-03\ntags: analytics, privacy-by-design\nheader_img: blog/analytics/analytics.png\nredirect_url: https://www.ghostery.com/blog/private-analytics\n+++\n\nAnalytics are one of the most common use-cases on the web. You want to know how many people are\nvisiting your website, whether anyone actually clicked the link you posted on social media, or who\nis sending traffic to your website. For most sites, the solution is to just drop a\n[Google Analytics](../trackers/google_analytics.html) script into the page - it's free, after all...\nThis has led us to the current situation, where we see Google Analytics having presence across 87%\nof the top half a million websites, and, despite using reasonably short-lived identifiers, the way the data is collected can be used to\n[track users across these sites](https://www.slideshare.net/jmpujol/data-collection-without-privacy-sideeffects-at-big2016-www-2016#13).\n\nIs counting page visits such a difficult problem that only Google has solved it? No, there are\n[paid](https://get.gaug.es/) and [open source](https://matomo.org/) alternatives available, but\nwhy pay when you can use a free version which does more, and why host a server with the extra\ncosts that entails, when you don't have to?\n\nBut is Google Analytics actually better than the competition? We would argue that, at least among\nprivacy conscious users (i.e. those\n[who contribute to the WhoTracks.Me dataset](../blog/where_is_the_data_from.html)), Google\nAnalytics will report vastly incorrect figures, for two main reasons:\n\n1. Our data shows that on 29% of pages with Google Analytics some of the requests will be blocked\ndue to Ghostery blocking settings.\n2. On 19% of pages with Google Analytics, Cliqz and Ghostery's AI anti-tracking will remove\npotential identifiers from the request, often causing unique visitors and conversions to be\nincorrectly measured.\n\n## Analytics without tracking\n\nSo how can we _accurately_ measure the traffic coming to our site without exposing the user to\ntracking and privacy side-effects? This was a problem we faced when we created the WhoTracks.Me\nwebsite. We wanted to have _some_ analytics so that we can measure if we are being successful in\nengaging people with the information we are providing on the site. However, we had a few\nconstraints:\n\n1. No tracking. We [define tracking](../blog/what_is_a_tracker.html) as when a service is able to\ncollect and correlate data across multiple sites. Unfortunately, as server-side aggregation is the\nnorm amongst third-party analytics providers, privacy cannot be guaranteed.\n[Client side alternatives](http://josepmpujol.net/public/papers/big_green_tracker.pdf) have been\nproposed, but unfortunately [the implementation](https://github.com/cliqz-oss/green-analytics) only\nreached a proof-of-concept state. This means we have to roll our own service.\n2. Minimal Ops. WhoTracks.Me is a statically generated site, which is simply hosted on a CDN. This\ndecision was made to minimise costs, make it fast, and eliminate the need to deploy and monitor\nhosting infrastructure. Having done this, it does not make sense to have to deploy infrastructure\nin order to host a [Matomo](https://matomo.org/) or similar service.\n3. Respect Privacy. The system should not store any personal information from users (i.e. IP\naddress), nor be able to correlate visits for an individual user over a long time frame. Apart from\nthe obvious reasons for this, it makes regulatory compliance easy: If we do not hold IP addresses,\nit is not possible for us to extract data on an individual user for data access or deletion\nrequests (as per GDPR).\n\nOur analytics implementation satisfies these three constraints, using probably the oldest technique\non the Internet: server log parsing. Daily analytics for the WhoTracks.Me site are generated as\nfollows:\n\n1. Visits to the site are logged via [CloudFront's logging mechanism](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html).\n2. Each day, a script processes these logs, to obfuscate personal data such as IP addresses. This\nscript generates a random key for the day, and encrypts all IP addresses with this key. The\nanonymised logs are copied to a new bucket, and the key is destroyed once the job completes. This\nmethod allows us to count unique visits from an IP address during a single day, but no day-to-day\ncorrelations can be made, nor can the IP address ever be recovered from the anonymised value.\n3. The original CloudFront logs (with IP addresses) are removed.\n4. We can then parse the clean logs and filter out requests to static resources and those by bots\nin order to see requests to actual pages. We can count unique visitors within single days, using a\ncombination of user-agent and anonymised IP; we can see where incoming traffic is coming from via\nHTTP referrers (which we also strip of potentially revealing parameters) and so on.\n\n![Diagram of Log Sanitisation](../static/img/blog/analytics/sanitise_access_logs.svg)\n<p class=\"img-caption\">Processing of raw CloudFront logs to remove potential personal data.</p>\n\nThis workflow allows us to keep track of how much traffic we are getting to the WhoTracks.Me\nwebsite. There is also no reason that this method could not be scaled up to more complex use-cases\nwhich services like Google Analytics provides, like conversion counting - provided the time frame\nthat this conversions can occur in are shorter than the time the IP encryption key is used for.\n\nThe method is also safe with respect to privacy regulations and user preferences. As IPs are stored\nfor maximum 1 day (and this is only because CloudFront's logging does not obfuscate IPs for us), no\nother personal information is collected, and message linkage limited to 1 day, there are no\nadditional obligations regarding the usage of this data under GDPR. Furthermore, as tracking is time\nlimited and context limited (this data can only be used for usage on whotracks.me), it respects\n[Do Not Track](https://en.wikipedia.org/wiki/Do_Not_Track) automatically (using the standard's own\n[tracking definition](https://www.w3.org/TR/tracking-dnt/#terminology.activity)).\n\n## Conclusion\n\nWe rolled our own analytics for this site because there was no off-the-shelf solution providing the\n(very basic) analytics we wanted without significant extra overhead, or potential privacy\nimplications for users of the site. Our system leverages CloudFront logging with a data obfuscation\nstep in order to collect privacy-safe server logs which can then be analysed for basic insights.\nThis technique could be extended to provide most of the richer features of existing web analytics\ntools.\n\nThe lack of privacy-preserving tools in the web analytics ecosystem is a worrying trend. Google\nAnalytics dominates as they provide an extremely feature-rich product as zero cost to the webmaster.\nIt is difficult to see how a service can compete with free without selling analytics data. Existing\ncompetitors mostly aim for businesses who will pay for a premium product, and leave bloggers and\nsmaller sites to Google.\n\nWhile increasing use of adblockers is a more fundamental threat to Google's Ad business, a side\neffect may be a loss of trust in Google Analytics, as we measure\n[29%](https://github.com/ghostery/whotracks.me/blob/master/whotracksme/data/assets/2018-03/global/trackers.csv#L2)\nof pages with Google Analytics being affected by blocking. We already see companies which rely on\nanalytics for core business activities (for example advertisers using affiliate schemes) deploying\nmultiple analytics scripts and averaging the results. If the trust in analytics breaks down, then\nthis whole ecosystem may unravel.\n"
  },
  {
    "path": "blog/static_site.md",
    "content": "title: Building whotracks.me\nsubtitle: Adding search, data, plots and blog to 1000+ pages of tracker profiles and top domains.\nauthor: privacy team\ntype: article\npublish: False\ndate: 2017-11-03\ntags: tracker-free, lightweight\nheader_img: blog/blog-site.jpg\n+++\n\nAt Cliqz and Ghostery, we [collect anonymous data about trackers](/blog/where_is_the_data_from.html)\nto power our [anti-tracking](blog/how_cliqz_antitracking_protects_users.html) technology.\nWe see our anti-tracking as a community effort and as such we want to share a structured\nrepresentation of this data to cast some light on the tracker landscape.\n\n\nOut of the three main entities involved in a page load: **users**, **websites** and **trackers**,\nwe have data only on the last two. We'll start with:\n\n* Profiles of the [top 500 trackers](/trackers.html)\n* Tracker data on the [top 500 domains](/websites.html).\n\n\nWith these out of the way, a blog space would be needed. This for two\nof reasons. We realised there was a need for a learning space where we\nexplain concepts referred to in the site. We call these **primers**.\nThese define what we call a [tracker](/blog/what_is_a_tracker.html),\nwhat [cookies](/blog/cookies.html) and [fingerprinting](/blog/fingerprinting.html)\nare or [where this data comes from](/blog/where_is_the_data_from.html).\nHopefully over time it will become a space for curious readers\nto be introduced to tracking technologies. The second reason is to have\na space where we'll be writing about particular trackers, technologies, papers,\nengineering, and other interesting topics.\n\n\n\n## Going static\n\nThrough whotracks.me, we want to cast some light on the tracking\nlandscape, but also make a point about trackers and **privacy by design**,\nhence the choice of this being a static site was pretty obvious. This\nmeant that we could build the whole site offline, put it in a folder\nand serve it through CDN.\n\nGiven this will be updated a few times a month, build performance was not really\na big issue for us. But stumbling upon [a discussion](https://news.ycombinator.com/item?id=15507538)\nabout site generators' performance, some comments read:\n\n- *\"with Hugo + Pygments was taking ~20s for ~20 pages at the time\"*\n- *\"92 pages in 1s (full rebuild, No CSS magic tooling though)\"*\n- *\"Rust: ~10k pages in ~60s\"*\n\nThe assumption would be that most of this time is spent parsing the\nmarkdown files. To build this site however, with the exception of the\nblog, the rest of the pages are mainly about instantiating a template,\nplugging some content, and writing to disk. So most likely a comparison between\nsite generators and this would be unfair. At the time of writing,\nwhotracks.me has roughly 1020 pages. On 1000 of these pages there are\noffline generated plots, quite some data and a fair amount of tooling\nwith respect to styling.  On a `Thinkpad x230` with an Intel `i3 processor`:\n\n\n```bash\n(venv) ➜  whotracks.me git:(master) ✗ time python build.py site\nHome page ............................... done\nTracker list ............................ done\nWebsite list ............................ done\nBlog List ............................... done\nBlog Posts .............................. done\nWebsite pages ........................... done\nTracker Pages ........................... done\npython build.py site  13.86s user 1.08s system 158% cpu 9.400 total\n```\n\nThis will be a 5 part series dedicated to:\n\n1. [Generating a static site (part 1)](/blog/static_site_generation.html)\n2. [Visualization (part 2)](/blog/static_site_visualization.html)\n3. [Building a blog (part 3)](/blog/static_site_blog.html)\n4. Search, for some definition of search.\n5. No third party trackers and Fast\n\nThe code and data to generate this site is open-sourced at\n[`https://github.com/ghostery/whotracks.me`](https://github.com/ghostery/whotracks.me).\n\n<br><br>\n\nSo let's start with [Generating a Static Site (part 1) ... ](/blog/static_site_templating.html)\n"
  },
  {
    "path": "blog/static_site_blog.md",
    "content": "title: Building whotracks.me - Blog (part 3)\nsubtitle: Adding search, data, plots and blog to 1000+ pages of tracker profiles and top domains.\nauthor: privacy team\ntype: article\npublish: False\ndate: 2017-11-01\ntags: blog, markdown\nheader_img: blog/blog-site-p3.png\n+++\n\nIn most static site generators, one writes markdown, which is parsed and rendered\ninto a nice blog post. So how do we do that here. As it turns out, it's pretty\nstraight forward.\n\nWe have two cases here, first the main blog page, where a list of the posts\nis presented, and then the post page. For both of these we have\ntemplates, which can be found at\n[`templates/blog.html`](https://github.com/ghostery/whotracks.me/blob/master/templates/blog.html) and\n[`templates/blog-page.html`](https://github.com/ghostery/whotracks.me/blob/master/templates/blog-page.html)\nrespectively.\n\nFor this, let's write a super simple function to parse the markdown file. To make\nits life easy, we specify a given format in the post's markdown that looks like this:\n\n\n```md\ntitle: Building whotracks.me - Blog (part 3)\nsubtitle: Adding search, data, plots and blog to 1000+ pages of tracker profiles and top domains.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2017-11-01\ntags: tracker-free, lightweight\nheader_img: blog/blog-site-p3.png\n➕➕➕\n\n<MARKDOWN BODY>\n```\n\nThese are all the components we need to render the snippet, and\nthe actual blog post. As promised the parsing function is quite simple:\n\n```python\ndef parse(fp):\n    ''' fp: filepath to the markdown file '''\n    with open(fp) as r:\n        text = r.read()\n    meta, body = text.split('➕➕➕')\n    title, subtitle, author, post_type, publish, date, tags, header, _ = meta.split(\"\\n\")\n    return {\n        \"filename\": fp.split(\"/\")[-1].replace(\".md\", \"\"),\n        \"title\": title.split(\":\")[1].strip(),\n        \"subtitle\": subtitle.split(\":\")[1].strip(),\n        \"author\": author.split(\":\")[1].strip(),\n        \"type\": post_type.split(\":\")[1].strip(),\n        \"publish\": eval(publish.split(\":\")[1].strip()),\n        \"date\": date.split(\":\")[1].strip(),\n        \"tags\": tags.split(\":\")[-1].split(\",\"),\n        \"header_img\": header.split(\":\")[1].strip(),\n        \"body\": body\n    }\n```\n\nAlright, so now we have a way to parse the markdown to generate all parts that we\nneed and the templates to render them, so we are left with styling. There are three\nelements we need to style:\n\n- the blog post card (snippet)\n- the actual post page.\n- the code snippets style\n\nTheir styles are respectively defined in:\n\n- [`static/scss/blog/card.scss`](https://github.com/ghostery/whotracks.me/blob/master/static/scss/blog/card.scss)\n- [`static/scss/post/post.scss`](https://github.com/ghostery/whotracks.me/blob/master/static/scss/blog/post.scss)\n- [`static/scss/post/github.scss`](https://github.com/ghostery/whotracks.me/blob/master/static/scss/blog/github.scss)\n"
  },
  {
    "path": "blog/static_site_generation.md",
    "content": "title: Building whotracks.me - Generating a static site (part 1)\nsubtitle: Adding search, data, plots and blog to 1000+ pages of tracker profiles and top domains.\nauthor: no one\ntype: article\npublish: False\ndate: 2017-11-02\ntags: tracker-free, lightweight\nheader_img: blog/blog-site-p1.png\n+++\n\n\n## 1. Generating a static site\nWe figured that, for this problem, speed of development and richness of the\necosystem are very important, so we decided to go with Python.\nSince it's a new project, and we had no dependencies,\nwe decided for [Python 3.6](https://docs.python.org/3.6/).\n\nGenerating a static site boils down to two important components:\n\n* Path management\n* Templates\n\nThis is in no way implying that all there is to a static site generator\nare these two, but for our needs, that was the case.\nBoth of these are defined in [`templating.py`](https://github.com/ghostery/whotracks.me/blob/master/templating.py).\n\n\n### 1.1 Path management\nThere are two parts here. First, generating urls for shared\nresources (i.e. `static`, `shared data` etc),\nand second generating urls dynamically in the templates\nfor all different entities (e.g.: `trackers`, `websites`,\n`primers` for learning etc).\n\nThe first part is easy, we just store the paths of the\nshared resources in a dictionary, which we will later pass\nto the template rendering function as persistent context:\n\n```python\nimport os\n\n\nPATHS = {\n    \"_site\": os.path.abspath('_site'),\n    \"static\": '/static',\n    ...\n}\n\n```\n\nFor the second part, we need the `entity` we are generating\na url for, and the `id` of that entity.\n\n```python\nfrom urllib.parse import quote_plus\n\n\nclass DataSource:\n    #... complete class definition on github repo where\n    # details on the structure of the data is also present\n\n    @staticmethod\n    def normalize_url(url_substring):\n        return quote_plus(url_substring.replace(\"/\", \" \")).lower()\n\n    def url_for(self, entity, id):\n        if entity == \"tracker\":\n            return \"/trackers/{}.html\".format(self.normalize_url(id))\n        elif entity == \"website\":\n            return \"/websites/{}.html\".format(self.get_site_name(id)).lower()\n        elif entity == \"report\":\n            return \"/reports/{}.html\".format(id)\n```\n\nWe use [quote_plus](https://docs.python.org/3.6/library/urllib.parse.html#url-quoting)\nhere to make sure we get properly formatted urls. This\nis very useful to avoid errors in generating urls for entities whose id\nwould cause issues such as `[24]7`, which is a\n[tracker](https://whotracks.me/trackers/24_7.html).\n\n\n### 1.2. Templating\nThe templating engine we choose was [Jinja2](http://jinja.pocoo.org/docs/2.9/).\nJinja features template inheritance which is very\nuseful for having reusable components. Although in\nthe docs they say `python >= 3.3` support is\nexperimental, we found it very stable.\n\nWe'll be using the `Environment` object from jinja\nto load templates and `FileSystemLoader` as the\nloader [docs](http://jinja.pocoo.org/docs/2.9/api/)\nof choice to load templates from the file system.\n\n```python\nfrom jinja2 import Environment, FileSystemLoader\n```\n\nNow we need a function to render the templates, and\npass default jinja variables that will be shared\namongst all templates:\n\n```python\nimport os\n\n\ndef get_template(data, template_name):\n    # data is an instance of DataSource\n\n    env = Environment(\n        loader=FileSystemLoader('./templates'),\n        autoescape=select_autoescape(['html', 'xml'])\n    )\n\n    # adding url_for as a custom flter to the environment object\n    env.filters[\"url_for\"] = lambda entity, id: data.url_for(entity, id)\n\n    return env.get_template(template_name)\n\n\ndef render_template(template, **context):\n    return template.render(\n        PATHS=PATHS,\n        **context # template specific object(s)\n    )\n```\n\nThe documentation on [filters in jinja](http://jinja.pocoo.org/docs/2.9/api/#writing-filters)\ncan be found here. Note how we registered a filter\nin the environment. This is very useful and we use\nthis extensively in [`templating.py#L137`](https://github.com/ghostery/whotracks.me/blob/master/templating.py#L137).\n\n\n\n### 1.3. Building a static page\n\nIn this section, we'll use the functions defined\nabove to build a simple tracker page.\n\n```python\nfrom templating.py import DataSource, get_template, render_template\n\n\ndef build_tracker_page(data, tracker):\n    # data is an instance of DataSource\n    # tracker is a dictionary that holds\n    # .. information on a given tracker\n\n    template = get_template(data, \"tracker-page.html\")\n\n    content = render_template(\n        template=template,\n        tracker=tracker\n    )\n\n    with open('{}'.format(data.url_for('tracker', tracker[\"id\"])), 'w') as fp:\n        fp.write(content)\n        return\n```\n\nAll the templates are defined in [`./templates`](https://github.com/ghostery/whotracks.me/tree/master/templates).\nSo in that folder, we must have a `tracker-page.html`\ntemplate that could look like this:\n\n```html\n{% extends \"base.html\" %}\n\n{% block content %}\n<div>\n    <a href=\"{{ 'tracker'|url_for(tracker.id) }}\">{ tracker.name }}</a>\n</div>\n{% endblock %}\n\n```\nWe have a [`base.html`](https://github.com/ghostery/whotracks.me/blob/master/templates/base.html)\nwhere we define the shared html structure with all stylesheets\nand scripts. Inside the `body` in this base we declare a content block,\nwhich we will be populating in other templates\n(see [`base.html#L51`](https://github.com/ghostery/whotracks.me/blob/master/templates/base.html#L51)).\n\nSo now in our `tracker-page.html` template we simply extend\nbase and start populating the content block, which in our\ncase has the tracker name with a link to its profile.\nNote that this is to simply show how we can access the\n`tracker` dictionary passed to `render_template()` and the\ncustom filter `url_for` registered earlier in `get_template()`.\nThe actual function for building tracker-pages is defined in\n[`buildsite.py#L120`](https://github.com/ghostery/whotracks.me/blob/master/buildsite.py#L120)\nwhile the template for tracker pages like [this one](/trackers/criteo.html)\nis defined here [`tracker-page.html`](https://github.com/ghostery/whotracks.me/blob/master/templates/tracker-page.html).\n\n\n## Relevant files\nDo not forget to check the our [repository on github](https://github.com/ghostery/whotracks.me)\nfor the actual implementation and more details.\nRelevant files are:\n\n- [`buildsite.py`](https://github.com/ghostery/whotracks.me/tree/master/buildsite.py): entry point for building pages\n- [`templating.py`](https://github.com/ghostery/whotracks.me/tree/master/templating.py): handles the templating and path management (discussed here)\n- [`templates/`](https://github.com/ghostery/whotracks.me/tree/master/templates) : Where all html templates and components are defined"
  },
  {
    "path": "blog/static_site_visualization.md",
    "content": "title: Building whotracks.me - Visualization (part 2)\nsubtitle: Adding search, data, plots and blog to 1000+ pages of tracker profiles and top domains.\nauthor: privacy team\ntype: article\npublish: False\ndate: 2017-10-30\ntags: tracker-free, lightweight\nheader_img: blog/blog-site-p2.png\n+++\n\nA picture says a 1000 words - or so they say. Interestingly,\nsome recent research suggests that even when we read, our brain\nactually recognizes words as pictures [1]. With that said, as if one needs to\njustify this, having plots accompany text and numbers, is typically a good idea,\nand we did add some plots.\n\n\n# Offline plots with Plotly\nChoosing [Plotly](https://plot.ly/python), allowed us to keep as much\nof the codebase as possible in python, and have interactive plots as opposed to\nimages.\n\n## Plot Components\nThe main components needed to plot something in plotly are five: `traces`,\n`data`, `layout`, `figure` and the `plot`object, where they're put together.\n\n- **Traces** are [`graph objects`](https://plot.ly/python/reference/)\npopulated with the input data needed.\n- **Data** is a list of all traces\n- **Layout** is a dictionary of configuration options that determines the\nlayout of the plot.\n- **Figure** is a dictionary with only two keys: `data` and `layout`, and the\nrespective values defined earlier.\n- **Plot Object**: this is the plot method used (plotting online and offline)\n\n\nA typical function that plots something, has this rough structure:\n\n```python\ndef some_plot(param_0, param_1 ..., param_n):\n\n     # list of traces\n    data = [trace_0, trace_1, ..., trace_n]\n\n    # Dictionary to configure the layout of the plot\n    layout = {\n        config_option_0: value (type:: str | int | dict)\n        config_option_1: ____\n        config_option_n: ____\n    }\n\n    # creating the fig object\n    fig = {\n        data = data,\n        layout = layout\n    }\n\n    # creating the plot object (see next section for details)\n    return plotly.offline.plot(fig, other_configurable_params)\n```\n\nWe'll discuss details and provide examples on each using real examples of\nplots we have on this site.\n\n\n\n## Plotting Offline\nThis is where the plot object (referred to earlier) gets created. There are\na few options.\n\n```python\nfrom plotly.plotly import plot, iplot  # create url to be viewed on plotly's\n                                       # website (api key needed). With iplot\n                                       # you can also open the with jupyter\n                                       # notebooks\n\nfrom plotly.offline import plot, iplot # the first one creates a file of the\n                                       # in an array of file formats, the second\n                                       # creates an interactive plot without\n                                       # connecting to the plotly server, but\n                                       # viewable in a notebook.\n```\n\nWe will be using [`plottly.offline.plot`](https://plot.ly/python/offline/) and\nchoose `div` as the output type, which is very handy given it is html\nthat will go into the template where it will be rendered. This enables us to\ngenerate the plots completely offline and just link the minified\n[`plotly.js`](https://github.com/ghostery/whotracks.me/blob/master/static/js/plotly-v1.29.3.min.js)\nin the head of [`base.html`](https://github.com/ghostery/whotracks.me/blob/master/templates/base.html).\nOne downside to consider, is the 2.8MB size of plotly.js though. For us however,\ngiven the site will be served via CDN, this should be cached after the\nfirst time it loads.\n\nLet's write a function with all options we need, that  will be used for all\ntypes of plots shown later in this post. This function is defined in\n[`plotting/utils.py`](https://github.com/ghostery/whotracks.me/blob/master/plotting/utils.py):\n\n```python\ndef div_output(fig, display_mode_bar=False):\n    return plotly.offline.plot(\n        figure_or_data=fig,\n        output_type='div',\n        show_link=False,\n        include_plotlyjs=False,\n        config={\"displayModeBar\": display_mode_bar}\n    )\n```\n\nNote that `display_mode_bar` is the set of options that shows up on the top\nright corner of the plot when rendered by `plotly.js`, and it looks like this:\n<img class=\"img-responsive img-with-padding\" src=\"../static/img/blog/plotting/display_mode_bar.png\">\n<p class=\"img-caption\">Figure 2: Mode bar on top right corner of plotly plots.</p>\n\n`include_plotlyjs` is set to `False` to avoid `plotly.js` being loaded inline\nwith the `div` output for every plot. This is not necessary as it is already\nlinked in [`base.html`](https://github.com/ghostery/whotracks.me/blob/master/templates/base.html).\n\n\n## Bar Chart\nOn main page of this site, you will see this:\n\n<img class=\"img-responsive img-with-padding\" src=\"../static/img/blog/plotting/bar-chart.png\">\n<p class=\"img-caption\">Figure 3: Horizontal bar chart on tracking reach of top 10 companies</p>\n\nThe code to generate this can be found in [`plotting/companies`](https://github.com/ghostery/whotracks.me/blob/master/plotting/companies.py).\nLet's write a simpler function for a horizontal bar plot to get the idea:\n\n\n```python\ndef horizontal_bar_plot(x, y):\n    '''\n    x: values\n    y: names\n    '''\n    c_purple = \"#A069AB\"\n    c_gray = \"#BCC4CE\"\n    trace = go.Bar(\n        x=x,\n        y=y,\n        orientation='h'\n        marker=dict(\n            color=[c_purple]*2 + [c_gray]*8\n        ),\n    )\n    data = [trace]\n    layout = go.Layout(\n        dict(\n            showlegend=False,\n            xaxis=dict(\n                color=CliqzColors[\"gray_blue\"]\n            )\n        )\n    )\n    fig = dict(data=data, layout=layout)\n    return div_output(fig)\n```\n\n\n##  Tracker Reach - trend Line\nThis chart, as many others, was inspired by Edward Tufte's sparkline [2],\ndrawn without axes or coordinates.\n\n<img class=\"img-responsive img-with-padding\" src=\"../static/img/blog/plotting/sparkline.png\">\n<p class=\"img-caption\">Figure 4: Trend line of tracker reach.</p>\n\n\n```python\ndef sparkline(ts, t):\n    \"\"\"\n    Sparkline for plotting line\n    Args:\n        ts: timeseries data\n        t: x-axis (time)\n\n    Returns: hmtl output of an interactive timeseries plot\n\n    \"\"\"\n    y = list(map(lambda x: x * 100, ts)) # scaling percentages\n    trace0 = line(\n        x=t,\n        y=y,\n        color=\"#A069AB\" #purple\n    )\n    trace1 = line(\n        x=[t[-1]],\n        y=[y[-1]],\n        color=\"#A069AB\",\n        mode='markers'\n    )\n    layout = go.Layout(\n        dict(\n            showlegend=False,\n            height=100,\n            width=153,\n            hoverlabel=dict(\n                bgcolor=\"#1A1A25\",\n                bordercolor=\"#00000000\", # transparent\n                font=dict(\n                    family=WTMFonts.mono,\n                    size=13,\n                    color=\"#BFCBD6\"\n                )\n            ),\n            xaxis=dict(\n                autorange=True,\n                showgrid=False,\n                zeroline=False,\n                showline=False,\n                autotick=True,\n                hoverformat=\"%b %y\",\n                ticks='',\n                showticklabels=False\n            ),\n            yaxis=dict(\n                # providing some padding for the sparkline\n                range=[min(y)*0.90, max(y)*1.05 if max(y) != y[-1] else max(y)*1.15],\n                showgrid=False,\n                zeroline=False,\n                showline=False,\n                autotick=True,\n                ticks='',\n                showticklabels=False\n            )\n        )\n    )\n    data = [trace0, trace1]\n    fig = dict(data=data, layout=layout)\n    return div_output(fig)\n```\nThe code used to plot the sparkline seen in tracker profiles is defined\nin [`plotting/trackers.py`](https://github.com/ghostery/whotracks.me/blob/master/plotting/trackers.py).\n\n\n## Sankey Diagrams\nSankey diagrams are at visualizing flow volume metrics. Sometimes\nthey are found under the name alluvial diagrams, although they originally are\ndifferent types of flow diagrams.\n\n<img class=\"img-responsive img-with-padding\" src=\"../static/img/blog/plotting/tracker-map.png\"/>\n<p class=\"img-caption\">Figure 1: Sankey diagram used to represent a [tracker map](../websites/upornia.com.html)</p>\n\nIn this site we use sankey diagrams in website profile\npages like [bahn.de](/websites/www.bahn.de.html) to map companies\nand the trackers they operate to the category of the tracker. The thickness\nof the link is a function of the frequency of of appearance of the tracker\nper page load in the given domain. So looking at the diagram above,\nwe know that the dominant tracker category is advertising and Google operates\nthe most trackers and has the highest frequency of appearance.\n\nOur Sankey Diagram function in Python looks like this:\n\n```python\nfrom plotting.utils import div_output\n\ndef sankey_plot(input_data):\n    data_trace = dict(\n        type='sankey',\n        domain=dict(\n            x=[0, 1],\n            y=[0, 1]\n        ),\n        hoverinfo=\"none\",\n        orientation=\"h\",\n        node=dict(\n            pad=10,\n            thickness=30,\n            label=list(map(lambda x: x.replace(\"_\", \" \").capitalize(), input_data['node']['label'])),\n            color=input_data['node']['color']\n        ),\n        link=dict(\n            source=input_data['link']['source'],\n            target=input_data['link']['target'],\n            value=input_data['link']['value'],\n            label=input_data['link']['label'],\n            color=[\"#dedede\" for _ in range(len(input_data['link']['source']))]\n        )\n    )\n    layout = dict(\n        autosize=True,\n        font=dict(\n            size=12\n        )\n    )\n    fig = dict(data=[data_trace], layout=layout)\n    return div_output(fig)\n```\nHaving looked at a lot of examples of sankey plots, we noticed a recurrent\npattern: they do a great job at explaining the plot aesthetics, but\ntake the structure of input data as given. This is a bit of a problem, because\nin most examples the input data is a huge json file, and figuring out the\nstructure of such json file can become tedious.\n\nHere is how `input_data` is structured:\n\n```json\ninput_data = {\n    \"node\":{\n        \"label\": [],\n        \"color\": []\n    },\n    \"link\": {\n        \"source\": [],\n        \"target\": [],\n        \"value\":  [],\n        \"label\":  [],\n        \"color\":  []\n    }\n}\n```\nAs you notice, input_data has two main parts: node and link:\n\n**NODE**: `input_data[\"node\"]` is responsible for building nodes. In our example these nodes are either\ncategories of trackers or companies that operate them. The atributes of each node are two:\n`label` and `color`. These are both lists of strings. These lists have to have equal length because\nthe mapping of each label to a color is done based on the item's index in the list.\n\n**LINK**: `input_data[\"link\"]` is responsible for linking two nodes together. Each link has\nthe following attributes: `source`, `target`, `value`, `label` and `color`. So here is where the index of\n`input_data[\"node\"][\"label\"]` becomes very important given the way sankey plots have been implemented in\nplotly. The `source` and `target` are lists of equal length, where the index is used to link.\n\n<img class=\"img-responsive img-with-padding\" src=\"../static/img/blog/plotting/node_label.png\"/>\n<p class=\"img-caption\">Figure 5: Node label ilustration</p>\n\nThe elements in `source` and `target` are in fact the indexes of the source node and target\nnodes in the `input_data[\"node\"][\"label\"]`. So if we were to refer to the illustration in the\nfigure above, to render our sankey diagram we would have:\n\n```python\nsource = [1, 1, 1, ... ]\ntarget = [0, 2, len-2, ... ]\n```\n\nWith that out of the way, the remaining are intuitive: `value` represents how thick the link should be,\n`label` what name it has and `color` its color. All the `link` attributes are lists of equal length, and\nthe matching is done based on index.\n\nFor details, have a look at the actual implementation of the `input_data` generation\nin [`utils/companies.py`](https://github.com/ghostery/whotracks.me/blob/master/utils/companies.py).\n\n\n## References\n[1] [Adding Words to the Brain's Visual Dictionary](http://www.jneurosci.org/content/35/12/4965.short) <br>\n[2] [Sparkline - Wikipedia](https://en.wikipedia.org/wiki/Sparkline) <br>\n"
  },
  {
    "path": "blog/tracker-tax.md",
    "content": "title: Tracker Tax\nsubtitle: The impact of third-party trackers on website speed in the United States.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-05-29\ntags: blog, update\nheader_img: blog/tracker_tax/tracker-tax.png\n+++\n\n\n_This post is a summary of the paper **\"The Tracker Tax: the impact of third-party\ntrackers on website speed in the United States\"**. Full paper can be found [here](https://www.ghostery.com/wp-content/themes/ghostery/images/campaigns/tracker-tax/Ghostery_Study_-_The_Tracker_Tax.pdf)_.\n<br /><br />\n\nEarlier this month, we published a study titled, _“The Tracker Tax: the impact\nof third-party trackers on website speed in the United States”_. The goal of\nthis study was to shed light on the impact of trackers from a performance\nperspective, rather than the more frequently studied privacy standpoint.\nPrevious research on the topic has looked at the ubiquitous nature of online tracking\nand their various business models[^1], pervasiveness of tracking, especially among\nnews websites[^2] and the privacy implication of tracking in the wild where a few companies\nhave extensive reach on web traffic [^3].\n\nBeyond privacy concerns, we are left with one question: Do trackers cost us time?\nMore specifically, what is the relationship between the number of trackers and the time\na page takes to load? We call this tracker impact on the website page load times, also\nreferred to as page latency, the _Tracker Tax_.\n\n\n## Data Collection and Cleaning\nIntuition tells us that the more trackers present on a page, the longer it would take\nthat page to load; however, this hypothesis had not been tested on a large scale.\nWeb privacy measurement framework, [OpenWPM](https://github.com/citp/OpenWPM) has been\nused by numerous researchers to collect data for privacy studies on a mass, automated\nscale, but this tool was not built to measure website performance metrics like page load\ntime. So we built a custom crawler to collect the number of third-party trackers on a\nwebsite and the time it took that page to load.  The crawler was built with Selenium\nrunning Chrome, making GET requests from a server based in New York City, and used\n[Ghostery](https://ghostery.com) to collect two metrics per page load: the count of\nthird-party trackers and number of seconds to load the page.\n\nGhostery detects third-party trackers by matching URLs from HTTP requests against\ntheir trackers' database, which currently contains over 3,000 tracker companies and 4,700 tracker\npatterns. To measure the time it takes a page to load, Ghostery uses\nMozilla’s `Window.performance` API [^4] by taking the delta between\n`domContentLoadedEventStart` and `requestStart`. We chose to use Ghostery to measure\ntracker count and page load time so the public could replicate similar, independent\nanalyses by simply installing the browser extension on their own and loading a\nwebsite to easily see these two metrics.\n\nWe ran the custom web crawler five times on each of the top 500 websites in the\nUnited States, as determined by Alexa [^5]. Data cleaning included removing domains\nwith fewer than five successful measurements, and excluding four Chinese websites\nfrom the sample.  We excluded these websites because we suspect there are China-based\ntrackers that are not yet accounted for in the Ghostery database. Further, to account\nfor variation in the data, we filtered out the fastest and slowest page loads per\nsite (and their associated tracker counts), so that the data would be less sensitive\nto outliers and data collection errors. The crawler was run under two configurations:\n1) with no trackers blocked, and 2) with the Ghostery browser extension\nblocking all trackers. Both configurations underwent the same data cleaning process.\n\n\n\n## Results\n### Tracker Ecosystem\nUsing the data collected under the configuration without tracker blocking enabled,\nwe saw that nearly 90% of page loads contained at least one tracker, 65% had at\nleast 10 trackers, and 20% had 50 or more trackers.  Only 10% of page loads were\ntracker free. These metrics once again confirm the prevalence of online tracking,\nand broadly align with our\n[previous study](https://www.ghostery.com/wp-content/themes/ghostery/images/campaigns/tracker-study/Ghostery_Study_-_Tracking_the_Trackers.pdf)[^6]\nwhich observed that 77.4% of page loads contain trackers.\n\n![Tracker per page load](../static/img/blog/tracker_tax/percent-pageloads-num-trackers.svg)\n<p class=\"img-caption\">Figure 1: Distribution of the number of trackers</p>\n\n\nThere are several differences between our two studies which may explain the increase\nin tracker dominance seen in this study. Firstly, this study’s sample contains the\n500 most popular websites in the US, while our previous study analyzed 144 million\npage loads across more than 12 countries. By only considering the most popular websites\nand neglecting the long tail of more obscure ones, it is not surprising that this study\nsaw a larger proportion of sites with a tracker. Additionally, the data for this study\nwas synthetically generated using a custom crawler, whereas our previous study used data\ngathered from users of the Ghostery browser extension who had opted-in to the collection\nof information about trackers on pages they visit. While the methodologies differ,\nboth studies verify tracker pervasiveness throughout the web.\n\n\n### Trackers and Page Latency\n\nWithout blocking trackers, only 17% of all the pages in the study loaded within\n5 seconds. All other pages loaded much more slowly: it took more than 10 seconds\nto load nearly 60% of the pages, more than 30 seconds for 18% of the pages, and\nnearly 5% of the pages took over a minute to load. This long tail cannot be ignored\nand suggests Internet users waste a lot of time every day simply waiting\nor websites to load.\n\n![Time to load page](../static/img/blog/tracker_tax/avg-pageload-num-trackers.svg)\n<p class=\"img-caption\">Figure 2: Average time to load trackers</p>\n\n\nWhile we found that websites are generally slow to load, can any of this page\nlatency be explained by the number of third-party trackers on that site?\nTo answer this question, we calculated the average page load time for\neach tracker count. We excluded both tracker volumes with fewer than\nfive observations and page latency outliers within each tracker\ncount (identified using the interquartile range rule).\n\nTo quantify the relationship between the number of trackers on a website and\nthe average time it took that page to load, we ran a simple linear regression\n(`adj-R2 0.802`) which suggested that each additional tracker adds, on average,\n0.5 seconds to the overall page load. The next model we fitted, which included\na quadratic term (`adj-R2 0.836`), suggests that trackers have an increasing\nimpact on page load times. However, these linear models both exhibit\nheteroscedasticity – uneven variance of the error terms – and thus violate\nlinear regression assumptions.\n\n![Log Latency Trackers](../static/img/blog/tracker_tax/trackers-loglatency.svg)\n<p class=\"img-caption\">Figure 3: Log Latency as a function of the number of trackers </p>\n\n\nA Box-Cox test showed that log-transforming the response variable would realize\nthe best fitting model, and also act as a variance-stabilizing transformation.\nThe log-linear model (`adj-R2 0.885`) on the transformed data indicates a\ncompounding effect: if the tracker count increases by 1, we expect the\npage load time to increase by 2.5%.\n\n\n\n### Protection from Trackers\nWe also assessed the difference in page latency when trackers are blocked rather\nthan allowed. The data showed that the average page load time was twice as long\nwhen trackers are not blocked: the mean page latency with no trackers blocked and\nwith all trackers blocked was 19.3 seconds and 8.6 seconds, respectively. These\ntime savings from blocking trackers are even more drastic when only considering the\n10 slowest domains in the sample. We saw that average load times were 10x faster,\nand blocking trackers saved an average of 84 seconds per page load.\n\n\n![Average Latency for Certain Domains](../static/img/blog/tracker_tax/avg-latency-domain.svg)\n<p class=\"img-caption\">Figure 4: Latencies for certain domains </p>\n\n\nThe term “piggybacking” describes the practice of one tracker that is placed\ndirectly on a website giving access to other “piggybacking” trackers that are\nnot originally on the site.  We observed this phenomenon in our data: page loads\nwere not the only metric significantly reduced when trackers were blocked, there\nwere also fewer trackers detected on the page. We saw significantly more\ntrackers per page when trackers were unblocked compared to blocked, in fact,\namong the domains with the highest average volume of trackers, there were on\naverage 93 fewer trackers present per page load when tracker blocking was enabled.\n\nPiggybacking can create a snowball effect, where trackers bring in more trackers\nthat can then bring in even more trackers; and as suggested above, each additional\ntracker slows down a website more than previous ones. This not only has notable\nperformance implications, but also profound privacy concerns since these trackers\nare not directly on the site, so site owners may not be aware such intrusion\nis occurring.\n\n\n\n## Future Implications\n\nThe data in our study clearly showed the pervasiveness of online tracking,\nas nearly 90% of the most popular sites in the US had at least one third-party\ntracker present. Our study also confirmed the strong, positive link between the\nnumber of trackers on a page and the time it takes that page to load.  Generally,\nthe more tracks on a site, the longer the user will have to wait for that site to load.\nQuantifying this relationship depends on the model used, however the optimal model\nwe found shows a compounding effect: for every extra tracker on the page,\nthe time it takes for the page to load increases by 2.5%.\n\nWhile our current study focuses on only the most popular domains in the\nUnited Sates, it would be valuable to apply this framework to other regions\nto see if similar trends persist elsewhere. Additionally, future work may\ninclude measuring additional performance implications of trackers including data\ntransferred.  This data transferred, which occurs when trackers make requests to\nother servers, bears real monetary costs to the user, particularly on a mobile\ndevice where data plans are typically based on data used. Expanding this study\nto assess data transfer on mobile could be translated to the out of pocket\nexpense suffered by the user, in addition to the more subjective dollar value\nof the user’s wasted time waiting for pages to load.\n\nOther future work may also include looking at the relationship between\nbounce rates and page load speeds, to calculate a hypothetical tracker\nvalue measure.  Given the additional time trackers add to page loads, and\nresearch suggest that slower pages lead to a loss in site traffic, one tracker\nshould provide the same value as this lost site traffic. As bounce rates\nare likely influenced by other factors besides page load speed, like\nfunnel page and domain category, this potential future research involves\nseveral additional considerations.\n\nMoreover, the tracker tax may even have more pronounced implications\nin the United States following the recent repeal of net neutrality.\nIn a time without such net neutrality regulations, users and their browsing\nspeeds may be squeezed from both sides – by the ISP and the online tracking\necosystem. We may then start to see more of a two prong tacker tax: the\ndirect monetary impact imposed by the ISP and the more subjective dollar\nvalue to the user for longer load times, and therefore more unproductive\ntime imposed by trackers.\n\nIn the wake of the net neutrality repeal, now more than ever users must\nconsider the performance implications of browsing online without\nprotection from trackers. The added waiting times incurred by not\nblocking trackers are not trivial, especially as the population is\nspending increasingly more time online. Luckily, various tracker blocking\ntools are available so user can not only protect their privacy, but also\nspeed up their browsing experience by avoiding the tracker tax.\n\n\n\n## References\n[^1]: [Using Passive Measurements to Demystify Online Trackers](https://www.telematica.polito.it/users/mellia/papers/metwalleyComsi.pdf)\n[^2]: [WhoTracks.Me: Monitoring the online tracking landscape at scale](https://arxiv.org/abs/1804.08959)\n[^3]: [Tracking The Trackers](https://pdfs.semanticscholar.org/2bfb/b6b8da453f91f5860ea936588fddef6c80e0.pdf)\n[^4]: [Windows.performance](https://developer.mozilla.org/en-US/docs/Web/API/Window/performance) API\n[^5]: [alexa.com](https://alexa.com)\n[^6]: Ghostery Study: [Tracking the Trackers](https://www.ghostery.com/wp-content/themes/ghostery/images/campaigns/tracker-study/Ghostery_Study_-_Tracking_the_Trackers.pdf)\n"
  },
  {
    "path": "blog/tracker_categories.md",
    "content": "title: Tracker Categories\nsubtitle: Definitions for different types of trackers \nauthor: privacy team\ntype: primer\npublish: True\ndate: 2017-07-22\ntags: primer, categories\nheader_img: blog/blog-tracker-categories.jpg\n+++\n\nTrackers differ both in the technologies they use, and the \npurpose they serve. Based on the the service they provide\nto the site owner, we have categorized the trackers in the following: \n\n\nAdvertising\n:   Provides advertising or advertising-related services such \n    as data collection, behavioral analysis or re-targeting.\n\nComments\n:   Enables comments sections for articles and product reviews\n\nCustomer Interaction\n:   Includes chat, email messaging, customer support, and other \n    interaction tools\n\nEssential\n:   Includes tag managers, privacy notices, and technologies \n    that are critical to the functionality of a website\n\nPornvertising\n:   Delivers advertisements that generally appear on sites with adult content\n\nSite Analytics\n:   Collects and analyzes data related to site usage and \n    performance.\n\nSocial Media\n:   Integrates features related to social media sites\n\nAudio Video Player\n:   Enables websites to publish, distribute, and optimize \n    video and audio content\n\nCDN (Content Delivery Network)\n:   Content delivery network that delivers resources for \n    different site utilities and usually for many different customers.\n\nMisc (Miscellaneous)\n:   This tracker does not fit in other categories.\n\nHosting\n:   This is a service used by the content provider or site owner\n\nUnknown\n:   This tracker has either not been labelled yet, or we do not have\n    enough information to label it.\n"
  },
  {
    "path": "blog/trackers-who-steal.md",
    "content": "title: The Trackers Who Steal\nsubtitle: How WhoTracks.Me caught the trail of the MageCart hackers\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-11-23\ntags: tracking, hacking\nheader_img: blog/blog-cc-stealing.png\n+++\n\nWe're all aware of the trackers siphoning off information about you as you browse the web. These trackers are mostly doing this for some business intelligence related reason - websites use these services to try to 'better understand' their customers, or to target them in order to attract their attention in a way which will benefit that website owner - be-it increasing the value of products customers put into their shopping cart, or increasing the likelihood that they click an ad.\n\nHowever, there is another kind of tracker which is more nefarious than these. These are hidden scripts placed by hackers on E-commerce sites which try to steal your credit-card details as you enter them. In the last year a string of attacks — dubbed 'Magecart' — have affected major sites, including [British Airways](https://www.riskiq.com/blog/labs/magecart-british-airways-breach/), [Ticketmaster](https://www.riskiq.com/blog/labs/magecart-ticketmaster-breach/), [NewEgg](https://www.riskiq.com/blog/labs/magecart-newegg/) and [VisionDirect](https://twitter.com/troyhunt/status/1064069833967337472); stealing payment information from millions of consumers.\n\nAt WhoTracks.Me we are monitoring the third-parties loaded on millions of pages per day, therefore once we know the domains that these hackers are using to send their stolen data, we can analyse the extent and impact of these operations. In this article we provide a post-analysis of the four big breaches this year, plus some insights our data gives in on-going attacks.\n\n## Four high-profile breaches\n\n### British Airways\n\nIn September 2018, British Airways announced that a security breach had led to a large theft of customer data. [RiskIQ's](https://www.riskiq.com/blog/labs/magecart-british-airways-breach/) write up of the breach explains how the attackers compromised a script on the payment page, such that it would send credit card information to a domain owned by the hackers: `baways.com`.\n\nWith this information we can query our data to look for page loads where `baways.com` was a third-party. This allows us to verify the extent of the breach, and how many users were affected. Our data shows that:\n\n- `www.britishairways.com` was affected between August 22nd and September 5th. 193 pages in our data were affected[^1].\n- We also see two page-loads on `hotline.ba.com` on the 30th August where data was sent to the attackers.\n\nThis data corroborates the [statement by BA](https://www.britishairways.com/en-gb/information/incident/data-theft/latest-information) on the breach, that users entering card details \"between 22:58 BST August 21 2018 until 21:45 BST September 5 2018\" would have been affected.\n\n### Ticketmaster\n\nIn June 2018, Ticketmaster declared a hack of customer information. Again, [RiskIQ's](https://www.riskiq.com/blog/labs/magecart-ticketmaster-breach/) analysis tells us how it happened - this time involving a breach of the third-party supplier Inbenta. Compromised Inbenta scripts were then loaded on ticketmaster payment pages, and these scripts then skimmed credit card data input by customers and sent it to `webfotce.me`.\n\nUnlike the British Airways case, this was not a targeted attack on Ticketmaster, rather a generic hacking program which affected many other sites. We can access the extent of these hacks by looking for the `webfotce.me` domain in our data:\n\n- Ticketmaster's UK, Irish and New Zealand sites were first affected on February 10th. The malicious script remained in place until the June 23rd, and we saw over 2,500 page loads making requests to the hackers during this time.\n- Their German and Australian sites appear to have been affected earlier, with our first observations on December 10th 2017 for ticketmaster.de and December 20th for ticketmaster.com.au. These sites were fixed at the same time as the others.\n\nIn their [disclosure](https://security.ticketmaster.co.uk/), Ticketmaster say that UK customers were affected between February and June 23rd, and international customers could have been affected from September 2017. Again this matches up with our data, though we have no observations for international sites before December 2017.\n\nOur data also shows several other sites affected by this attack:\n\n<table class=\"table table-hover\">\n  <thead>\n    <tr>\n      <th>Site</th>\n      <th>Affected from</th>\n      <th>Affected to</th>\n      <th>Pages</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>otel.com</td>\n      <td>10/12/2017</td>\n      <td>21/06/2018</td>\n      <td>125</td>\n    </tr>\n    <tr>\n      <td>www.cheaperthandirt.com</td>\n      <td>19/01/2018</td>\n      <td>03/06/2018</td>\n      <td>42</td>\n    </tr>\n    <tr>\n      <td>www.printninja.com</td>\n      <td>16/02/2018</td>\n      <td>20/11/2018</td>\n      <td>45</td>\n    </tr>\n    <tr>\n      <td>www.vitacost.com</td>\n      <td>26/02/2018</td>\n      <td>04/06/2018</td>\n      <td>35</td>\n    </tr>\n    <tr>\n      <td>thehungryjpeg.com</td>\n      <td>12/03/2018</td>\n      <td>12/06/2018</td>\n      <td>19</td>\n    </tr>\n    <tr>\n      <td>www.klook.com</td>\n      <td>14/03/2018</td>\n      <td>12/06/2018</td>\n      <td>28</td>\n    </tr>\n    <tr>\n      <td>www.steinmart.com</td>\n      <td>15/03/2018</td>\n      <td>09/07/2018</td>\n      <td>12</td>\n    </tr>\n    <tr>\n      <td>www.marveloptics.com</td>\n      <td>28/03/2018</td>\n      <td>22/09/2018</td>\n      <td>15</td>\n    </tr>\n  </tbody>\n</table>\n<p class=\"img-caption\">Table 1: Sites affected by webfotce.me attack.</p>\n\nCompared to Ticketmaster, the impact of the breach on these sites is much smaller. Correlations between the dates of infection indicate that these sites were probably infected via a shared third-party (i.e. Inbenta) which was compromised. This shows how hackers can quickly achieve much greater scale by going for third-party services whose scripts will be loaded on many different sites.\n\n### NewEgg\n\nLike British Airways, NewEgg were hit by a [targetted attack](https://www.riskiq.com/blog/labs/magecart-newegg/). In this case the collection server was specific for the target. The hackers registered `neweggstats.com` in order to have a legitimate looking domain so that they could avoid suspicion for as long as possible.\n\nLooking at our data, we see that pages on `secure.newegg.com` were sending requests to `neweggstats.com` for just over a month, between 15th August and 18th September, with 90 pages affected in our dataset[^1].\n\n### VisionDirect\n\nOn the November 19th, VisionDirect, a large UK-based glasses retailer, [announced](https://www.visiondirect.co.uk/customer-data-theft) that their sites had been compromised between the November 3rd and 8th. In this case, a script was injected into the page from `g-analytics.com` which pretending to be a Google Analytics script. The difference is, that it will also send credit-card numbers back when it sees them in the page.\n\nOur analysis shows that VisionDirect's European sites (`.fr`, `.it`, `.es`, `.co.uk`, `.eu` and `.nl`) were all affected from the November 3rd. On the `.nl` and `.ie` sites we still observed pages contacting the attacker's server on the 9th of November, suggesting that the malicious code may not have been completely removed as early as the press release suggests.\n\nCompared to the other collection servers, `g-analytics.com` is currently much more active with 36 sites infected during November. We have, however, observed a shift in traffic since November 20th, with almost all sites which were previously infected with `g-analytics.com`\nswitching to loading a script from `google-analytics.is` instead. This indicates that the\nattacks have ongoing access to these sites, allowing them to update their attack code.\n\n<table class=\"table table-hover\">\n  <thead>\n    <tr>\n      <th>Collection Server</th>\n      <th>Sites Infected</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>g-analytics.com</td>\n      <td>36</td>\n    </tr>\n    <tr>\n      <td>googletagmanager.eu</td>\n      <td>29</td>\n    </tr>\n    <tr>\n      <td>magento.name</td>\n      <td>19</td>\n    </tr>\n    <tr>\n      <td>google-analytics.is</td>\n      <td>15</td>\n    </tr>\n    <tr>\n      <td>trafficanalyzer.biz</td>\n      <td>5</td>\n    </tr>\n    <tr>\n      <td>web-stats.cc</td>\n      <td>5</td>\n    </tr>\n    <tr>\n      <td>bandagesplus.com</td>\n      <td>5</td>\n    </tr>\n    <tr>\n      <td>nearart.com</td>\n      <td>4</td>\n    </tr>\n  </tbody>\n</table>\n<p class=\"img-caption\">Table 2: Collection servers still active in November 2018</p>\n\nA full list of sites affected during November is available at the end of this post.\n\n## Breach detection\n\nWhile WhoTracks.Me was originally conceived as a transparency tool to show trackers directly or indirectly placed by site owners, this investigation as opened up another angle on this data. We can now effectively track the spread of malicious code being used to defraud web consumers. This capability can be taken to multiple different directions:\n\n1. Once the collection servers (or drop servers) are known, we can quickly find and notify websites that are compromised. This can reduce the exposure time of websites, and thus reduce the risk to the average web user. (Thanks to the work RiskIQ have done here to collate a list of active drop servers).\n2. We can audit breaches that have occurred, and make sure websites properly notify their users. The GDPR requires that companies notify users and authorities when user data is compromised. This data can be used to hold companies accountable if they try to dodge these responsibilities.\n3. Given the set of collection servers we already know, we can develop algorithms to automatically detect third-parties in pages which are similar. This would then allow us to detect and block these servers even earlier.\n\nWe are very exited to start exploring this direction for our data[^2].\n\n## Third-party scripts: A security liability\n\nIn all of these hacking cases, the entry point has been a malicious script which is loaded in the main document of the page. When this happens on a payment page, the attacker can read all of the information entered: credit card number, CVV, etc. Therefore, any script loaded on a payment page is potentially a critical security weakness.\n\nWith this in mind, we should be critical of the current careless way that scripts of scattered onto what should be secure webpages. In the case of the four big breaches we have outlined here, now standard browser security features could have prevented or limited the amount of data stolen:\n\n- [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) on script tags would prevent surreptitious changes to first- and third- party scripts (provided the site's own webserver is not also compromised). If a script were to be changed to add the attacker's code the browser will refuse to load it. In the British Airways case one JavaScript file was edited to add the attack payload; for Ticketmaster the attack payload came via a third-party script. This technique provides some protection when loading content for less-trusted origins in pages which require high security.\n- The [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) (CSP) header can be used to prevent requests to unknown origins. In all of these cases the credit card information was sent to a third-party collection server. A CSP header would have prevented this request, thus preventing the malicious script from exfiltrating data.\n\nAs well as these high-profile cases, many of the other sites affected by these attacks are smaller E-Commerce sites using off-the-shelf software to run their business. It is therefore difficult for these sites to deploy these more advanced protection methods - even more so because the loading of 20 or 30 different untrusted third-parties on a webpage has become normalised, so users or even developers would not be able to detect unexpected third-parties appearing on a page.\n\nRelated to this is another tactic employed by these hacking groups: registering domains very similar to common third-party trackers so that developers do not notice that the site is compromised. Some examples:\n\n- `g-analytics.com`, pretending to be [Google Analytics](../trackers/google_analytics.html);\n- `googletagmanager.eu` -> [Google Tag Manager](../trackers/google_tag_manager.html);\n- `slripe.com` -> [Stripe](../trackers/stripe.com.html);\n- `typeklt.com` -> [Adobe Typekit](../trackers/typekit_by_adobe.html);\n- `crtteo.com` -> [Criteo](../trackers/criteo.html);\n- `jsdellvr.com` -> [JSDelivr](../trackers/jsdelivr.html).\n\n## Protecting users\n\nAs we can assume that sites will continue to get hacked, we require a way we can protect users from having their data stolen without relying on site owners. This is where the browser comes in - as the user-agent it should be able to protect the user from attacks like this, much like it already does with phishing and malware sites.\n\nLuckily, as all of these attacks rely on collection servers to receive the stolen data, once we know of a server address we can use blocklists to prevent the browser from contacting these servers. Therefore, even when sites are compromised with malicious Javascript, this code will not be able to contact the hacker's server. For Cliqz and Ghostery users we have already distributed a block-list to block these domains and protect them from credit-card theft.\n\n > For Cliqz and Ghostery users we have already distributed a block-list to block these domains and protect them from credit-card theft.\n\nBlocking is just a reactive measure though. Domains are cheap, and sites are getting hacked all the time, so these hackers could easily turn over their domains faster to mitigate our blocking. Therefore, a more robust solution has to incorporate fast detection of these drop servers in order to minimise the effective lifetime of each attack. We hope to incorporate the WhoTracks.Me data in the hunt for these domains, and to emulate the speed that we are already [able to detect phishing sites](https://cliqz.com/en/whycliqz/anti-phishing).\n\n## Conclusion\n\nIn this post we've shown a new angle on the data we publish on WhoTracks.Me. As well as\nproviding transparency on which companies are tracking you online, we are also able to\nturn this transparency on web criminals who are stealing from web users. This transparency\ncan be used to:\n\n * ensure that breaches are reported promptly when they occur;\n * assess the impact of breaches, in terms of the timespan when sites were affected and how many users may have been affected; and\n * develop new techniques to catch these operations faster and reduce the number of users who\n suffer from them.\n\n [^1]: By \"Pages Affected\" we mean the number of page loads where we saw some third-party call to a server associated with MageCart operations.\n [^2]: Reach out to privacy@cliqz.com if you have suggestions, or would simply like to get in touch.\n\n### Appendix: List of Magecart affected sites during November 2018\n\n<table class=\"table table-hover\">\n<thead>\n  <tr>\n    <th>Collection Server</th>\n    <th>Site</th>\n    <th>Infected from</th>\n    <th>infected to</th>\n    <th>Number of pages</th>\n  </tr>\n</thead>\n<tbody>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.groworganic.com</td>\n    <td>2018-11-22</td>\n    <td>2018-11-28</td>\n    <td>64</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.wdrshop.de</td>\n    <td>2018-11-03</td>\n    <td>2018-11-28</td>\n    <td>74</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.directmaterial.com</td>\n    <td>2018-11-28</td>\n    <td>2018-11-28</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.harriscomm.com</td>\n    <td>2018-11-23</td>\n    <td>2018-11-28</td>\n    <td>9</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.prospin.com.br</td>\n    <td>2018-11-24</td>\n    <td>2018-11-28</td>\n    <td>5</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.electroactiva.com</td>\n    <td>2018-11-28</td>\n    <td>2018-11-28</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.gamesquest.co.uk</td>\n    <td>2018-11-13</td>\n    <td>2018-11-28</td>\n    <td>21</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.drakegeneralstore.ca</td>\n    <td>2018-11-23</td>\n    <td>2018-11-28</td>\n    <td>23</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>shop.tokidoki.it</td>\n    <td>2018-11-26</td>\n    <td>2018-11-28</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>store.curiousinventor.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-28</td>\n    <td>13</td>\n  </tr>\n  <tr>\n    <td>webfotce.me</td>\n    <td>www.printninja.com</td>\n    <td>2018-11-05</td>\n    <td>2018-11-28</td>\n    <td>7</td>\n  </tr>\n  <tr>\n    <td>vuserjs.com</td>\n    <td>www.medelita.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-27</td>\n    <td>63</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.aneros.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-27</td>\n    <td>49</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.arrazofashion.com.br</td>\n    <td>2018-11-27</td>\n    <td>2018-11-27</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>fastproxycdn.com</td>\n    <td>lessthan10pounds.com</td>\n    <td>2018-11-09</td>\n    <td>2018-11-27</td>\n    <td>19</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>chebdveri.ru</td>\n    <td>2018-11-02</td>\n    <td>2018-11-27</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.onegreekstore.com</td>\n    <td>2018-11-02</td>\n    <td>2018-11-27</td>\n    <td>8</td>\n  </tr>\n  <tr>\n    <td>vmaxjs.com</td>\n    <td>www.artistsnetwork.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-27</td>\n    <td>105</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>slf24.pl</td>\n    <td>2018-11-08</td>\n    <td>2018-11-26</td>\n    <td>26</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.pvcfittingsonline.com</td>\n    <td>2018-11-22</td>\n    <td>2018-11-26</td>\n    <td>42</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.bestkiteboarding.com</td>\n    <td>2018-11-09</td>\n    <td>2018-11-26</td>\n    <td>24</td>\n  </tr>\n  <tr>\n    <td>qsxjs.com</td>\n    <td>vapenw.com</td>\n    <td>2018-11-02</td>\n    <td>2018-11-26</td>\n    <td>86</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.compremake.com.br</td>\n    <td>2018-11-20</td>\n    <td>2018-11-26</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>valdatecode.com</td>\n    <td>www.carnivalbkk.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-26</td>\n    <td>52</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.mobileparadise.de</td>\n    <td>2018-11-21</td>\n    <td>2018-11-26</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.cht-cottbus.de</td>\n    <td>2018-11-03</td>\n    <td>2018-11-26</td>\n    <td>79</td>\n  </tr>\n  <tr>\n    <td>privatejs.com</td>\n    <td>www.bydubai.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-26</td>\n    <td>55</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.scojo.com</td>\n    <td>2018-11-24</td>\n    <td>2018-11-26</td>\n    <td>10</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.nordhandel.de</td>\n    <td>2018-11-01</td>\n    <td>2018-11-25</td>\n    <td>106</td>\n  </tr>\n  <tr>\n    <td>alfcdn.com</td>\n    <td>www.softstarshoes.com</td>\n    <td>2018-11-25</td>\n    <td>2018-11-25</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.prestigioplaza.com</td>\n    <td>2018-11-25</td>\n    <td>2018-11-25</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.wslstore.com</td>\n    <td>2018-11-18</td>\n    <td>2018-11-25</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.herve-leger-shop.com</td>\n    <td>2018-11-25</td>\n    <td>2018-11-25</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>amsducati.com</td>\n    <td>2018-11-05</td>\n    <td>2018-11-25</td>\n    <td>6</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.ozarksource.com</td>\n    <td>2018-11-24</td>\n    <td>2018-11-24</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>geissele.com</td>\n    <td>2018-11-10</td>\n    <td>2018-11-24</td>\n    <td>85</td>\n  </tr>\n  <tr>\n    <td>crtteo.com</td>\n    <td>www.accessorygeeks.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-23</td>\n    <td>31</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>drdennisgross.com</td>\n    <td>2018-11-22</td>\n    <td>2018-11-23</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.everbestshoes.com</td>\n    <td>2018-11-23</td>\n    <td>2018-11-23</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>unitedsalonsupplies.com</td>\n    <td>2018-11-23</td>\n    <td>2018-11-23</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>trafficanalyzer.biz</td>\n    <td>www.oaknyc.com</td>\n    <td>2018-11-19</td>\n    <td>2018-11-23</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>dampoteket.no</td>\n    <td>2018-11-07</td>\n    <td>2018-11-23</td>\n    <td>10</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.ikonmotorsports.com</td>\n    <td>2018-11-05</td>\n    <td>2018-11-23</td>\n    <td>8</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.dreamduffel.com</td>\n    <td>2018-11-23</td>\n    <td>2018-11-23</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>nearart.com</td>\n    <td>www.westcottbrand.com</td>\n    <td>2018-11-04</td>\n    <td>2018-11-23</td>\n    <td>13</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>oramaoptics.gr</td>\n    <td>2018-11-21</td>\n    <td>2018-11-23</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.cruyffclassics.com</td>\n    <td>2018-11-23</td>\n    <td>2018-11-23</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.weldingsuppliesdirect.co.uk</td>\n    <td>2018-11-05</td>\n    <td>2018-11-22</td>\n    <td>9</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>hk.ap-nutrition.com</td>\n    <td>2018-11-13</td>\n    <td>2018-11-22</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>nearart.com</td>\n    <td>www.camillusknives.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-22</td>\n    <td>27</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>www.softballfans.com</td>\n    <td>2018-11-22</td>\n    <td>2018-11-22</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.ammerer.com</td>\n    <td>2018-11-02</td>\n    <td>2018-11-22</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.candent.ca</td>\n    <td>2018-11-22</td>\n    <td>2018-11-22</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.autosiliconehoses.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-21</td>\n    <td>29</td>\n  </tr>\n  <tr>\n    <td>google-analytics.is</td>\n    <td>temptu.com</td>\n    <td>2018-11-21</td>\n    <td>2018-11-21</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.lampen-line.de</td>\n    <td>2018-11-04</td>\n    <td>2018-11-21</td>\n    <td>16</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.airagestore.com</td>\n    <td>2018-11-05</td>\n    <td>2018-11-21</td>\n    <td>6</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>drdennisgross.com</td>\n    <td>2018-11-11</td>\n    <td>2018-11-20</td>\n    <td>8</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>pvcpipesupplies.com</td>\n    <td>2018-11-12</td>\n    <td>2018-11-20</td>\n    <td>5</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.cruyffclassics.com</td>\n    <td>2018-11-08</td>\n    <td>2018-11-20</td>\n    <td>13</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.pvcfittingsonline.com</td>\n    <td>2018-11-08</td>\n    <td>2018-11-20</td>\n    <td>77</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.ahmadtea.com</td>\n    <td>2018-11-09</td>\n    <td>2018-11-20</td>\n    <td>10</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.groworganic.com</td>\n    <td>2018-11-04</td>\n    <td>2018-11-20</td>\n    <td>87</td>\n  </tr>\n  <tr>\n    <td>web-stats.cc</td>\n    <td>www.kingfishertapes.co.uk</td>\n    <td>2018-11-20</td>\n    <td>2018-11-20</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.fabglassandmirror.com</td>\n    <td>2018-11-10</td>\n    <td>2018-11-20</td>\n    <td>9</td>\n  </tr>\n  <tr>\n    <td>statsdot.eu</td>\n    <td>www.punkstuff.com</td>\n    <td>2018-11-20</td>\n    <td>2018-11-20</td>\n    <td>14</td>\n  </tr>\n  <tr>\n    <td>onefromeu.com</td>\n    <td>www.joyfolie.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-20</td>\n    <td>16</td>\n  </tr>\n  <tr>\n    <td>listrakb.com</td>\n    <td>www.skistart.com</td>\n    <td>2018-11-02</td>\n    <td>2018-11-19</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.energymuse.com</td>\n    <td>2018-11-06</td>\n    <td>2018-11-19</td>\n    <td>72</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.casinhabonita.com.br</td>\n    <td>2018-11-06</td>\n    <td>2018-11-19</td>\n    <td>20</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.frightprops.com</td>\n    <td>2018-11-15</td>\n    <td>2018-11-19</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>statsdot.eu</td>\n    <td>storeinfinity.com</td>\n    <td>2018-11-07</td>\n    <td>2018-11-19</td>\n    <td>10</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.especialneeds.com</td>\n    <td>2018-11-12</td>\n    <td>2018-11-19</td>\n    <td>21</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.stmgoods.com.au</td>\n    <td>2018-11-09</td>\n    <td>2018-11-18</td>\n    <td>7</td>\n  </tr>\n  <tr>\n    <td>onefromeu.com</td>\n    <td>www.poshshop.com</td>\n    <td>2018-11-13</td>\n    <td>2018-11-18</td>\n    <td>39</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>deanzelinsky.com</td>\n    <td>2018-11-07</td>\n    <td>2018-11-18</td>\n    <td>11</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>nativetreasuresnm.com</td>\n    <td>2018-11-10</td>\n    <td>2018-11-18</td>\n    <td>8</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>vapage.com</td>\n    <td>2018-11-13</td>\n    <td>2018-11-18</td>\n    <td>23</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.hydraulicsonline.co.uk</td>\n    <td>2018-11-02</td>\n    <td>2018-11-18</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>nearart.com</td>\n    <td>mitchellssalon.com</td>\n    <td>2018-11-18</td>\n    <td>2018-11-18</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>altheatsupply.com</td>\n    <td>2018-11-14</td>\n    <td>2018-11-18</td>\n    <td>5</td>\n  </tr>\n  <tr>\n    <td>scriptsfyou.com</td>\n    <td>adamspolishes.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-17</td>\n    <td>55</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.recifeingressos.com</td>\n    <td>2018-11-16</td>\n    <td>2018-11-17</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.stmgoods.com</td>\n    <td>2018-11-10</td>\n    <td>2018-11-16</td>\n    <td>12</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>temptu.com</td>\n    <td>2018-11-06</td>\n    <td>2018-11-16</td>\n    <td>7</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.drakegeneralstore.ca</td>\n    <td>2018-11-16</td>\n    <td>2018-11-16</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>shop.tokidoki.it</td>\n    <td>2018-11-15</td>\n    <td>2018-11-15</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>medmartonline.com</td>\n    <td>2018-11-13</td>\n    <td>2018-11-15</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>intl.drdennisgross.com</td>\n    <td>2018-11-15</td>\n    <td>2018-11-15</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>ikiegeszitok.hu</td>\n    <td>2018-11-08</td>\n    <td>2018-11-15</td>\n    <td>11</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.weareverincontinence.com</td>\n    <td>2018-11-12</td>\n    <td>2018-11-14</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>cdnscriptx.com</td>\n    <td>www.cartouchesarabais.com</td>\n    <td>2018-11-11</td>\n    <td>2018-11-14</td>\n    <td>14</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>cig2o.com</td>\n    <td>2018-11-14</td>\n    <td>2018-11-14</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>fastproxycdn.com</td>\n    <td>tilebar.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-14</td>\n    <td>120</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.curediva.com</td>\n    <td>2018-11-07</td>\n    <td>2018-11-13</td>\n    <td>6</td>\n  </tr>\n  <tr>\n    <td>typeklt.com</td>\n    <td>www.mariatash.com</td>\n    <td>2018-11-02</td>\n    <td>2018-11-13</td>\n    <td>49</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.lucerooliveoil.com</td>\n    <td>2018-11-13</td>\n    <td>2018-11-13</td>\n    <td>5</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.plumbingsupplynow.com</td>\n    <td>2018-11-13</td>\n    <td>2018-11-13</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.grafipronto.pt</td>\n    <td>2018-11-12</td>\n    <td>2018-11-12</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>checkercarts.com</td>\n    <td>www.shambhala.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-12</td>\n    <td>19</td>\n  </tr>\n  <tr>\n    <td>scriptsenvoir.com</td>\n    <td>www.heatpressnation.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-12</td>\n    <td>48</td>\n  </tr>\n  <tr>\n    <td>typeklt.com</td>\n    <td>www.cabletiesunlimited.com</td>\n    <td>2018-11-09</td>\n    <td>2018-11-12</td>\n    <td>6</td>\n  </tr>\n  <tr>\n    <td>web-stats.cc</td>\n    <td>www.costway.de</td>\n    <td>2018-11-07</td>\n    <td>2018-11-10</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.visiondirect.ie</td>\n    <td>2018-11-05</td>\n    <td>2018-11-09</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>web-stats.cc</td>\n    <td>www.rincondidactico.cl</td>\n    <td>2018-11-09</td>\n    <td>2018-11-09</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.visiondirect.nl</td>\n    <td>2018-11-04</td>\n    <td>2018-11-09</td>\n    <td>41</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>patbo.com.br</td>\n    <td>2018-11-05</td>\n    <td>2018-11-09</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>professional.imageskincare.nl</td>\n    <td>2018-11-09</td>\n    <td>2018-11-09</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>consument.imageskincare.nl</td>\n    <td>2018-11-09</td>\n    <td>2018-11-09</td>\n    <td>2</td>\n</tr>\n  <tr>\n    <td>magento.name</td>\n    <td>eaccesoriigsm.ro</td>\n    <td>2018-11-08</td>\n    <td>2018-11-08</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>jspoi.com</td>\n    <td>www.padini.com</td>\n    <td>2018-11-04</td>\n    <td>2018-11-08</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.visiondirect.co.uk</td>\n    <td>2018-11-03</td>\n    <td>2018-11-08</td>\n    <td>112</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.oddbins.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-08</td>\n    <td>9</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.visiondirect.fr</td>\n    <td>2018-11-03</td>\n    <td>2018-11-07</td>\n    <td>53</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>upmarketpets.com</td>\n    <td>2018-11-07</td>\n    <td>2018-11-07</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.visiondirect.it</td>\n    <td>2018-11-04</td>\n    <td>2018-11-07</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.visiondirect.es</td>\n    <td>2018-11-05</td>\n    <td>2018-11-07</td>\n    <td>26</td>\n  </tr>\n  <tr>\n    <td>upgradenstore.com</td>\n    <td>www.armysurplusworld.com</td>\n    <td>2018-11-06</td>\n    <td>2018-11-06</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.ozarksource.com</td>\n    <td>2018-11-06</td>\n    <td>2018-11-06</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>upgradenstore.com</td>\n    <td>www.princesspolly.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-06</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>locatefyou.com</td>\n    <td>www.jjroofingsupplies.co.uk</td>\n    <td>2018-11-01</td>\n    <td>2018-11-06</td>\n    <td>10</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.prospin.com.br</td>\n    <td>2018-11-06</td>\n    <td>2018-11-06</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>web-stats.cc</td>\n    <td>www.baleyo.com</td>\n    <td>2018-11-06</td>\n    <td>2018-11-06</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>maxijs.com</td>\n    <td>copperlab.com</td>\n    <td>2018-11-05</td>\n    <td>2018-11-05</td>\n    <td>9</td>\n  </tr>\n  <tr>\n    <td>gamacdn.com</td>\n    <td>csvape.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-05</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>valdatecode.com</td>\n    <td>www.pfiwestern.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-05</td>\n    <td>15</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>erecycleronline.com</td>\n    <td>2018-11-05</td>\n    <td>2018-11-05</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>nicoman.co.uk</td>\n    <td>2018-11-01</td>\n    <td>2018-11-05</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>minifyscripts.com</td>\n    <td>shop.bombingscience.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-04</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>web-stats.cc</td>\n    <td>shelfadditions.com</td>\n    <td>2018-11-04</td>\n    <td>2018-11-04</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>jspoi.com</td>\n    <td>store.asqgrp.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-04</td>\n    <td>3</td>\n  </tr>\n  <tr>\n    <td>trafficanalyzer.biz</td>\n    <td>www.irishnewsarchive.com</td>\n    <td>2018-11-03</td>\n    <td>2018-11-03</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.cochesdemetal.es</td>\n    <td>2018-11-01</td>\n    <td>2018-11-03</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>originalnye-zapchasti.com</td>\n    <td>2018-11-02</td>\n    <td>2018-11-02</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>googletagmanager.eu</td>\n    <td>www.exeltek.com.au</td>\n    <td>2018-11-02</td>\n    <td>2018-11-02</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>g-analytics.com</td>\n    <td>www.hyperparapharmacie.com</td>\n    <td>2018-11-02</td>\n    <td>2018-11-02</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>amasty.biz</td>\n    <td>www.decantshop.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-01</td>\n    <td>1</td>\n  </tr>\n  <tr>\n    <td>jspoi.com</td>\n    <td>massivejoes.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-01</td>\n    <td>4</td>\n  </tr>\n  <tr>\n    <td>cdnrfv.com</td>\n    <td>www.versare.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-01</td>\n    <td>18</td>\n  </tr>\n  <tr>\n    <td>magento.name</td>\n    <td>www.yourdezire.co.uk</td>\n    <td>2018-11-01</td>\n    <td>2018-11-01</td>\n    <td>2</td>\n  </tr>\n  <tr>\n    <td>allacarts.com</td>\n    <td>www.plumprettysugar.com</td>\n    <td>2018-11-01</td>\n    <td>2018-11-01</td>\n    <td>6</td>\n  </tr>\n</tbody>\n</table>\n"
  },
  {
    "path": "blog/trackers_in_your_favorite_site.md",
    "content": "title: Making sense of the trackers on Reddit\nsubtitle: Using whotracks.me data and sankey diagrams to dissect trackers\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-01-08\ntags: trackers, sankey\nheader_img: blog/trackers_on_site/blog-sankey-1.png\n+++\n\nIn this post we'll try to do two things:\n\n1. teach you how to easily build sankey diagrams.\n2. show you how to use whotracks.me data and API to investigate trackers on reddit,\nor any of your favourite sites, using sankey diagrams\n\n\n## Sankey Diagrams\nWhen building the tracker maps that you see on popular site profiles on whotracks.me,\nsankey diagrams seemed like a good fit to map categories of tracking to companies that\nown the trackers. Each link would be a tracker, going from a category to a company.\n\n<img alt=\"Trackers on Tumblr\" class=\"img-responsive img-with-padding\" src=\"../static/img/blog/trackers_on_site/tumblr.png\">\n<p class=\"img-caption\">Figure 1: Sankey diagram used to represent a [tracker map](../websites/tumblr.com.html)</p>\n\nSankey diagrams are great at visualizing flow volume metrics. Sometimes\nthey are found under the name alluvial diagrams, although they originally are\ndifferent types of flow diagrams [1].\n\nWe wanted to use the sankey diagram supported in plotly [2], the visualisation\nlibrary of choice used in whotracks.me. The function itself is pretty simple,\nas you will see in a bit when we define `sankey_diagram()`. The challenge to creating\nsankey diagrams with Plotly is understanding the required structure of the input data\nrequired by the plotting function. Hopefully the following example will\nmake it easier for those reading this post, should they ever decide to try\nsankey diagrams.\n\nThe goal here is to show a very small dataset, structured in a way that the\nplotly diagram (and other plotting solutions e.g.: d3.js) understand.\nWe will be mapping cities to the countries they are part of. The value of each link,\nwill be the city population (in millions).\n\n```python\ncity_data = dict(\n        nodes = dict(\n            label=[\"Germany\", \"Berlin\", \"Munich\", \"Cologne\", \"France\",  \"Paris\", \"Lyon\",  \"Bordeaux\"],\n            color=[\"beige\",   \"black\",  \"red\",    \"yellow\",   \"beige\",  \"blue\",  \"white\", \"red\"]\n        ),\n        links = dict(\n            source=[0, 0, 0, 4, 4, 4],\n            target=[1, 2, 3, 5, 6, 7],\n            value= [3.5, 1.5, 1, 2.2, 0.5, 0.2],\n            label=[\"capital\", \"city\", \"city\",   \"capital\", \"city\",  \"city\"],\n            color=[\"black\",   \"red\",  \"yellow\", \"blue\",    \"whitesmoke\", \"red\"]\n        )\n    )\n```\n\nNote how there are two keys in the dictionary, `nodes` and `links`, and each has some\nattributes. Let's go over them. Each node has a label (e.g. Germany) and a corresponding\n`color` (in this case `beige`). Note that labels and colors are stored in lists of\nequal length, and the pairing is done based on equality of that index.\n\nLinks contain information about how to link nodes. Each has a `source`, `target`, `value`,\n`label` and `color`. Source contains the index in the list of the source node,\nwhereas target the index in the list of the target node.\nValue determines how thick the link should be (in our case it will be\nthe population of each link, hence each city), Label and color, as the\nname suggests, specify the label and color of the link. Links too, are\npaired based on index.\n\n\n## Plotting a sankey diagram\n\nNow let's write a simple function to plot this data nicely. Most of the work has\nalready been done, given we're feeding the data in a format that's easy to parse.\n\n```python\nfrom plotly.offline import iplot\n\ndef sankey_diagram(sndata, title):\n    # First part of a plotly plot is the `trace`\n    data_trace = dict(\n        type='sankey',\n        node=dict(\n            pad=10,\n            thickness=30,\n            # label could easily be equal to sndatap['node]['label']. The following is just cosmetics\n            label=list(map(lambda x: x.replace(\"_\", \" \").capitalize(), sndata['nodes']['label'])),\n            color=sndata['nodes']['color']\n        ),\n        link=sndata[\"links\"],\n\n        # configuration options for the diagram\n        domain=dict(\n            x=[0, 1],\n            y=[0, 1]\n        ),\n        hoverinfo=\"none\",\n        orientation=\"h\"\n    )\n    # Second part of a plotly plot is the `layout`\n    layout = dict(\n        title=title,\n        font=dict(\n            size=12\n        )\n    )\n    fig = dict(data=[data_trace], layout=layout)\n    return iplot(fig)\n```\n\n## Sankey diagram for a few German and French cities\nAll that is left now, is feeding the `city_data` to the `sankey_diagram` function\nand we're done.\n\n<img alt=\"Simple sankey diagram\" class=\"img-responsive img-with-padding\" src=\"../static/img/blog/trackers_on_site/cities.png\">\n<p class=\"img-caption\">Figure 1: Simple example of a sankey digram for cities</p>\n\nTrying to create the flags of these countries did not end up being\nsuch an aesthetically good idea.\n\n# From Cities to Trackers\nDoing Sankey diagrams for cities may have been fun. The result of doing the same for\ntrackers on your favourite sites might not be as fun -it may in fact be terrifying.\nWe'll be using public data from whotracks.me to map tracker categories to companies\npresent on a particular site. Each link will be a tracker the company owns.\nThis gives immediate visual insights on who's watching you and why.\n\n## Terse intro to the API\nThe data and API for whotracksme us available on Pypi and you can easily install it\nrunning `pip install whotracksme`.\n\n\n```python\nfrom whotracksme.data.loader import DataSource\nfrom whotracksme.website.plotting.colors import tracker_categoryColors, cliqz_colors\n```\n\nDataSource is a class that provides access to trackers, companies that own them, and\npopular websites. The functionality of DataSource is something we'll be constantly\ntrying to improve and expand. Online tracking is messy enough to analyze,\nso at least the tooling should be as simple as possible.\n\nWe will be looking at Reddit. If you are not familiar with <a href=\"https://reddit.com\">Reddit</a>,\ncheck it out - there are some great communities there. Now we'll look at the tracking\nlandscape in reddit. To do that, we only need to know the reddit `site_id`,\nwhich is `reddit.com`. Each site has a `site_id`, most often its url.\n\n\n## Preparing reddit tracker data for sankey diagram\nHere we will be mapping companies and the trackers they operate to the category\nof the tracker. The thickness of the link is a function of the frequency of\nappearance of the tracker per page load in the given domain.\n\n```python\ndef sankey_data(site_id, data_source):\n\n    nodes = []\n    link_source = []\n    link_target = []\n    link_value = []\n    link_label = []\n\n    for (tracker, category, company) in data_source.sites.trackers_on_site(site_id, data_source.trackers, data_source.companies):\n\n        # index of this category in nodes\n        if category in nodes:\n            cat_idx = nodes.index(category)\n        else:\n            nodes.append(category)\n            cat_idx = len(nodes) - 1\n\n        # index of this company in nodes\n        if company in nodes:\n            com_idx = nodes.index(company)\n        else:\n            nodes.append(company)\n            com_idx = len(nodes) - 1\n\n        link_source.append(cat_idx)\n        link_target.append(com_idx)\n        link_label.append(tracker[\"name\"])\n        link_value.append(100.0 * tracker[\"frequency\"])\n\n    label_colors = [tracker_categoryColors[l] if l in tracker_category_colors else cliqz_colors[\"purple\"] for l in nodes]\n\n    return dict(\n        nodes = dict(\n            label=nodes,\n            color=label_colors\n        ),\n        links = dict(\n            source=link_source,\n            target=link_target,\n            value=link_value,\n            label=link_label,\n            color=[\"#dedede\"] * len(link_label)\n        )\n    )\n```\nNow that we have a function to generate the data in the format we need it, let's\nrun it for reddit and plot the sankey diagram to investigate the tracking landscape:\n\n```python\ninput_data = sankey_data('reddit.com', data_source=DataSource())\nsankey_diagram(input_data, 'Tracker Map on reddit.com')\n```\n\n<img alt=\"Reddit Tracking Landscape\" class=\"img-responsive img-with-padding\" src=\"../static/img/blog/trackers_on_site/reddit.png\">\n<p class=\"img-caption\">Figure 1: Tracking landscape on reddit.com</p>\n\nWe see that most tracking happens for advertising reasons. Although it does not seem like it,\nReddit is keeping the set of advertisers they expose their users somwhat limited compared to\nother portals and news sites. In terms of number of trackers, Google has the most eyes on\nreddit users. For more details on the tracking landscape on reddit, head over to\nreddit's [profile page](https://whotracks.me/websites/reddit.com.html) on whotracks.me.\n\n\n## References\n[[1] Sankey Diagrams](https://en.wikipedia.org/wiki/Sankey_diagram) - Wikipedia<br>\n[[2] Plotly - Python Graphing Library](https://plot.ly/python/)<br>\n[[3] Jupyter Notebook on this post](https://nbviewer.jupyter.org/github/ghostery/whotracks.me/blob/master/contrib/tracker_map_notebook.ipynb)"
  },
  {
    "path": "blog/tracking_and_ux.md",
    "content": "title: The Impact of Tracking on User Experience\nsubtitle: Beyond privacy - a survey of hidden and visible effects of tracking on user experience.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2017-11-07\ntags: tracker-free, lightweight\nheader_img: blog/tracking_and_ux/ux_header.png\nredirect_url: https://www.ghostery.com/blog/tracking-and-ux\n+++\n\n\nWe all have been in situations in which we felt that the \nInternet knows us too well: When the pair of shoes that we looked \nfor suddenly starts to haunt us on almost every single web page. \nThe “magic” behind this phenomenon is called tracking - a \ncontroversial topic, for security and privacy reasons. \nHowever, tracking is not only relevant from a privacy \nperspective, it also affects user experience in many ways. \nWhile some of the effects are visible and obvious to everyone, \nothers are hidden behind the scenes.\n\n\n## A Positive Side to Tracking?\nBut before we get started with the actual effects, let’s \nquickly clarify one thing: Trackers are not good or bad per se. \nIn fact, trackers are often just a by-product of innovative \ntechnologies that were invented to make the user’s life \neasier in the first place.\n\nFor example, content delivery networks (CDN) assure a \nspeedy delivery of web pages, analytics tools help to \nbetter understand users to improve page structures, \nhosted fonts allow designers to ensure that fonts \nlook as intended, and single sign-ons increase \nconvenience while mitigating password fatigue. \nIt's the way these technologies are implemented and used \nthat may or may not introduce privacy and user experience side-effects.\n\n\n## The Visible Effects of Tracking\n\nOnline ads are a good example of the visible effects of tracking. \nWhile some users certainly appreciate ads, many find them annoying or creepy. \nThis is also reflected by the increasing usage of ad blockers, \nwhich grew by 30% in 2016 alone [1].\n\n\n### Distraction\nOne reason for this annoyance is that ads fight for the users’ \nattention—in particular ads that use aggressive visuals or \nanimations (Figure 1). They distract users from the \nactual page content and the task at hand. This seems to \ncontradict \"banner blindness\", the phenomenon of having \nlearnt to ignore ads. But rather than ignoring ads, \nusers seem to ignore the content instead, while \nbanners still cause distraction [7]. \n\n\n<img src=\"../static/img/blog/tracking_and_ux/banner.png\"/>\n<p class=\"img-caption\">Figure 1: banner ads are intrusive and distracting. In this example they are placed right next to the content to get the users’ attention.</p>\n\n### Deception\nAnother reason for annoyance is the use of native \nadvertising: ads that are designed to resemble content \nas much as possible (Figure 2). The main goal is to \nmaximize click-through rates on ads by deliberately \nmisleading users on the nature of the content. Although users are \nless likely to notice the presence of native advertising \ncompared to traditional banner ads [9], it is more \ndifficult for them to distinguish organic content from paid ads. \n\n\n<img src=\"../static/img/blog/tracking_and_ux/native2.png\"/>\n<p class=\"img-caption\">Figure 2: native advertising is deceptive as it makes it difficult for users to distinguish organic content from paid ads.</p>\n\n\n### Page Breakage\nLast but not least, ads and tracking increase page loading \ntimes: users have to wait substantially longer for \ncontent to appear, which degrades the online user \nexperience. The average data usage by trackers \namounts to more than 6MB per page load [2]. In a Mozilla study, \nresearchers further found that the average \nnumber of reported problems with web pages was higher for \nusers with tracker blocking disabled, relative to those \nwith it enabled.[3]. These users reported \nmore often that web pages felt slow, laggy, or \nunresponsive. This is surprising because tracking \nprotection is often the reason for such page breakage.\n\n### Moments of embarrassment\nThe facets discussed so far all relate to functional \nproblems (i.e. web pages do not work, users cannot \ncomplete their tasks, etc.). However, there is also \nanother dimension to the visual effects of tracking: \nsocial implications. \n\nIn order to deliver the most relevant ads to the user, \nthey are often targeted and based on previous online \nbehaviors, such as page visits. For example, a \nuser would see ads for sports shoes on a news page \nafter having searched for them on a shopping \nsite. While the majority of users are opposed to \nbehavioral targeting and are concerned about \ntheir privacy [4, 10], behavioral targeting can \naffect the user experience in a much more direct \nway, in particular when sharing a computer: Imagine \nan online purchase for your loved one popping up \non a web page visited by the future gift recipient — surprise ruined.\nOr imagine a friend looking over your shoulder and getting \na glimpse on an ad about something that you find embarrassing. \n\n\n\n## The Hidden Effects of Tracking\nYet, a large part of tracking takes place behind the scenes of \nthe shiny web surface. It's not obvious that users are \nbeing observed, yet trackers record all their page visits [6]. \nThis is not only a privacy problem, it also affects \nthe user experience.\n\n### Lack of Transparency\nMost users are aware that their searches and interactions \nare recorded when using services like Facebook or Amazon. \nAfter all, they are explicitly registered and logged in. \nUsers understand that such services need to know \ncertain things to provide their services, for example, \nto show interesting posts or to suggest new friends.\n\nHowever, a large part of tracking takes place via \nthird-party trackers, scripts that are embedded \non pages around the web or are part of a browser \nadd-on without the users' awareness. These scripts \ncall home to report on each user's behavior—often \nwithout having asked for permission. It is not \ntransparent to users that their oftentimes personal \ndata is shared, with whom it is shared, and where \nit is stored. For example, users were surprised \nto learn that browsing history is used to target ads [10].\n\n\n### Lack of Control\nEven if users knew about the extent of tracking taking place, \nthere is still a lack of control. Once the data is out \non some servers, users do not have the option to audit \nor delete the data stored about them. Current approaches \nfor giving control to users are not understood by users [10].\n\n### Transparency and Control are Critical\nWhy are transparency and control so important? Data collected \nby trackers reveal more about a person than you might \nthink. One page visit may not tell who you are, but \nthe visit of multiple pages does. Trackers connect \nthese visits through unique identifiers. Suddenly the \nvirtual self turns into a real person: Profile pictures \nfrom social networks reveal the visual appearance, \nlocation sharing exposes home and workplace, and \nshopping behavior hint at personal preferences. \nAll this happens without the awareness of the \nuser—the user experience on the surface does not \nreveal the operating network of trackers underneath \nit.\n\n\n## The UX Challenges\nBoth visible and hidden effects of trackers on user \nexperience are non-trivial to address. Numerous applications \nor add-ons exist to remove ads from web pages or to \nreduce the effects of tracking. Adblock Plus and NoScript \nare two popular examples.\n\n\n<img src=\"../static/img/blog/tracking_and_ux/adwall2.png\"/>\n<p class=\"img-caption\">Figure 3: an example of an ad block wall encouraging users to whitelist trackers.</p>\n\n\nHowever, removing ads leads, similar to ads in the first place, \nto page breakage. News sites, for example, use adblock \ndetection to put up ad block walls, asking users to \nwhitelist ads in order to access the content (Figure 3). \nAd block walls not only degrade the user experience but \nalso reduce traffic to the underlying pages: a recent \nsurvey found that 74% of American adblock users choose \nto leave sites with adblock walls [1]. Another example \nare pages without visible ads, but that use scripts \nfor tracking. Blocking all scripts offers protection, \nbut makes modern web pages unusable as many features \nrely on scripting.\n\nOverall, tracking is a complex topic. Its technical \nfoundation is hard to grasp for most users. Users \nbuild their mental models about how trackers work \nbased on their own experiences. This leads to wrong \nbeliefs, such as that Facebook cannot track users once \nthey are logged out of the platform. On the \nother hand, advertising is often the only revenue \nstream for web sites. Users benefit from it as \nwebsites can run without charging their users. \n\nNonetheless, revenue should never come at the cost of the users’ \nprivacy. It is not easy, but targeted advertising does not \nhave to rely on tracking [5]. Users should always be in \ncontrol over their data. This is the paradigm that Cliqz \nfollows in their products [11]. The challenges, from a user \nexperience point of view, lie in educating users in a simple \nenough way so that they understand the effects of tracking \nand in allowing users to decide which data they want to \nshare or not to share. We love to hear your thoughts on this topic.\n\n\n\n##References\n\n[1] [2017 Adblock Report](https://pagefair.com/blog/2017/adblockreport/) <br>\n[2] [Trackers Rank](/trackers.html) <br>\n[3] [Privacy Settings Breakage Study](https://docs.google.com/presentation/d/1OVtXAnyeBLX2N1yyZoTMP9AV_6HnI3mnXwIFlOL7yOA/edit) <br>\n[4] [Americans Reject Tailored Advertising and Three Activities That Enable It](http://repository.upenn.edu/cgi/viewcontent.cgi?article=1138&context=asc_papers) <br>\n[5] [Adnostic: Privacy Preserving Targeted Advertising](http://www.nyu.edu/pages/projects/nissenbaum/papers/adnostic.pdf)  <br>\n[6] [Tracking the Trackers](https://static.cliqz.com/wp-content/uploads/2016/07/Cliqz-Studie-Tracking-the-Trackers.pdf) <br>\n[7] [Banner ads hinder visual search and are forgotten](https://dl.acm.org/citation.cfm?id=986008) <br>\n[8] [A Review of Online Advertising Effects on the User Experience](https://pdfs.semanticscholar.org/54b4/c030742848f26bd69910d678da6a713a9d5e.pdf) <br>\n[9] [Native Advertising and Digital Natives: The Effects of Age and Advertisement Format on News Website Credibility Judgments](http://www.academia.edu/download/37165600/ISOJ_Journal_V4_N1_2014_Spring.pdf#page=79) <br>\n[10] [Smart, Useful, Scary, Creepy: Perceptions of Online Behavioral Advertising](https://pdfs.semanticscholar.org/db4c/502bafef23e7d8b1de60d628c952a4780acc.pdf) <br>\n[11] [MyOffrz](https://myoffrz.com/fuer-nutzer/)\n"
  },
  {
    "path": "blog/tracking_pixel.md",
    "content": "title: Tracking Pixel\nsubtitle: So, ... did you read my email?\nauthor: privacy team\ntype: primer\npublish: True\ndate: 2017-07-22\ntags: primer, tracking\nheader_img: blog/blog-pixel.jpg\n+++\n\nA tracking pixel, is one of various techniques used on web pages or email, to unobtrusively (usually invisibly) allow checking that a user has accessed some content. Common uses are email tracking and page tagging for web analytics. Alternative names are `web beacon`, `web bug`, `tracking bug`, `tag`, or `page tag`, `pixel tag`, `1×1 gif`, and `clear gif`. When implemented using JavaScript, they may be called JavaScript tags [[1](https://w2.eff.org/Privacy/Marketing/web_bug.html)]\n\nThere is a work in progress to standardize an interface that web developers can use to asynchronously transfer small HTTP data from the User Agent to a web server that call it simply beacons (in the context of web development) which can be used to send data to a web server prior to the loading of the document without delaying the load and affecting the perception of page load performance for the next navigation [[2](http://www.w3.org/TR/beacon/)].\n\n\nThe excerpt above has been retrieved from [wikipedia](https://en.wikipedia.org/wiki/Web_beacon).\n\n\n## References\n\n[1] [The Web Bug FAQ](https://w2.eff.org/Privacy/Marketing/web_bug.html) <br>\n[2] [Beacon](http://www.w3.org/TR/beacon/) <br>\n[3] Source: [Wikipedia](https://en.wikipedia.org/wiki/Web_beacon)\n"
  },
  {
    "path": "blog/update_apr_2018.md",
    "content": "title: April Update - Preparing for Internationalisation\nsubtitle: A new data format to ease access to tracker data.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-04-12\ntags: blog, update\nheader_img: blog/blog-data-apr18.png\n+++\n\n_This post is one of our regular monthly blogs accompanying an update to the data\ndisplayed on WhoTracks.Me. In these posts we introduce what data has been added as well\nas point out interesting trends and case-studies we found in the last month. Previous\nmonth's posts can be found here: [February 2018](./update_feb_2018.html),\n[January 2018](./update_jan_2018.html), [December 2017](./update_dec_2017.html)._\n\nThis month we have a big update to the site. We have restructured the data we publish to\nmake it easier to use, increased the number of entries we publish, and we have laid the\ngroundwork for internationalised versions of WhoTracks.Me - that means you can see how\ntracking differs between different countries.\n\nThanks to integration with Ghostery 8 we collected significantly more tracker data this\nmonth, covering 360 million page loads. This is spread over countries across the world,\nwith Germany and the USA the most represented.\n\n![Page loads per country, March 2018](../static/img/blog/update_apr18/page_loads_per_country.svg)\n<p class=\"img-caption\">Figure 1: Page loads per country, March 2018</p>\n\nThis volume of data will also enable us to publish WhoTracks.Me content for individual\ncountries, something we plan to add later this month.\n\n\n## Data restructuring\n\nWe have updated the structure of data which we publish in our [repository](https://github.com/ghostery/whotracks.me/) to make it both easier to use and more\nscalable as we add more data. We now publish CSV files each month for each of the\nfollowing:\n\n * `domains.csv`: Top third-party domains seen tracking.\n * `trackers.csv`: Top trackers - this combines domains known be operated by the same tracker.\n * `companies.csv`: Top companies - aggregates the stats for trackers owned by the same company.\n * `sites.csv`: Stats for number of trackers seen on popular websites.\n * `site_trackers.csv`: Stats for each tracker on each site.\n\nThese files can then be loaded with popular data-analysis tools such as\n[Pandas](https://pandas.pydata.org/). We have also rewritten the code to render the site\nto take advantage of Pandas. We expose the dataframes via the `DataSource` class which\nloads data from all CSV files:\n\n```python\nfrom whotracksme.data.loader import DataSource\ndata = DataSource()\nlen(data.trackers.df)\n>> 7928\n```\n\nWe have also updated the criteria by which we include trackers and sites on the main site.\nWe now 'rollover' entries, so once they have been included once, we will keep publishing\ndata (until they completely disappear from the data). This has the effect of naturally\ngrowing the number of trackers and sites we publish. We currently have data on\n868 trackers and 748 websites published:\n\n```python\npd.DataFrame({\n    'trackers': data.trackers.df.groupby('month').count()['tracker'],\n    'sites': data.sites.df.groupby('month').count()['site']\n}).plot()\n```\n\n![Growth of trackers and sites](../static/img/blog/update_apr18/data_growth.svg)\n<p class=\"img-caption\">Figure 2: Growth of trackers and sites</p>\n\n\n\nThe per-site trend for average number of trackers continues a slightly downward trend,\nalthough the average is still high at 9 trackers per page. There are several possible\nreasons for this, it is not necessarily that sites are using fewer trackers! The\nproportion of data from Ghostery users continues to increase, and these users will\ndisproportionately block many trackers. This has an effect on the average number of\ntrackers, because it prevents the blocked trackers from loading others. The data shows\nalso that the average incidence of blocking for trackers increased to 25% in March, up\nfrom 20% in February.\n\n```python\nsns.boxplot(\n  data=data.sites.df[data.sites.df.month >= '2018-01'],\n  x='month',\n  y='trackers'\n)\n```\n\n![Average trackers per page since January](../static/img/blog/update_apr18/site_trackers_box.svg)\n<p class=\"img-caption\">Figure 3: Average trackers per page since January</p>\n\n\n```python\n(data.trackers.df[data.trackers.df.month >= '2018-01']\n  .groupby('month')\n  ['has_blocking'].mean() * 100).plot()\n```\n\n![Blocking Trend since January](../static/img/blog/update_apr18/blocking_trend.svg)\n<p class=\"img-caption\">Figure 4: Blocking Trend since January</p>\n\n\nAs in previous months, we look at sites' changing their trackers. [fewo-direct.de](../websites/fewo-direkt.de.html), [brigitte.de](../websites/brigitte.de.html) and [gutefrage.net](../websites/gutefrage.net.html) all had 5 fewer trackers on average per page this month. However, each of these still has over 50 trackers with some kind of presence, showing that this is more likely a side-effect of increased blocking than an active effort to reduce tracking on their sites. [klingel.de](../websites/klingel.de.html) and [informationvine.com](../websites/informationvine.com.html) see the largest increase in tracking of the sites we currently monitor.\n\n<table class=\"table table-hover\">\n  <thead>\n    <tr>\n      <th>Site</th>\n      <th>Trackers</th>\n      <th>Change since February</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>informationvine.com</td>\n      <td>18.3</td>\n      <td><i class=\"fa fa-caret-up\" style=\"color: red; margin-right: 10px\"></i> +6.4</td>\n    </tr>\n    <tr>\n      <td>klingel.de</td>\n      <td>26.7</td>\n      <td><i class=\"fa fa-caret-up\" style=\"color: red; margin-right: 10px\"></i> +5.3</td>\n    </tr>\n    <tr>\n      <td>gutefrage.net</td>\n      <td>13.0</td>\n      <td><i class=\"fa fa-caret-down\" style=\"color: green; margin-right: 10px\"></i> -5.6</td>\n    </tr>\n    <tr>\n      <td>brigitte.de</td>\n      <td>19.5</td>\n      <td><i class=\"fa fa-caret-down\" style=\"color: green; margin-right: 10px\"></i> -5.8</td>\n    </tr>\n    <tr>\n      <td>fewo-direkt.de</td>\n      <td>16.0</td>\n      <td><i class=\"fa fa-caret-down\" style=\"color: green; margin-right: 10px\"></i> -6.6</td>\n    </tr>\n  </tbody>\n</table>\n<p class=\"img-caption\">Table 1: Websites Tracking Trends</p>\n\nA side-effect of the filtering we added in this new data pipeline is that the site reach\nfor top trackers has increased. In the previous analysis a long-tail of very rarely\nvisited sites reduced effective site reach. With this factor reduced, we get a real\nsense of the coverage of the largest trackers, with Google Analytics reaching 85% of\npopular sites, and Facebook almost 60%. The data can easily be retrieved\nas shown below:\n\n```python\ndf = data.trackers.get_snapshot().sort_values(by='site_reach', ascending=False).head(10)\ndf['name'] = df.id.apply(func=lambda x: data.app_info[x]['name'])\n```\n![Reach of top 10 trackers across popular websites](../static/img/blog/update_apr18/top10_site_reach.svg)\n<p class=\"img-caption\">Figure 5: Reach of top 10 trackers across popular websites</p>\n\n\nIf you want to delve deeper into our data, it is available on the [WhoTracks.Me Github Repository](https://github.com/ghostery/whotracks.me/tree/master/whotracksme/data), and as a [pip package](https://pypi.python.org/pypi/whotracksme/).\n\n_NB: The code snippets here will not generate the presented plots. Full code snippets\nfor the plots in this post are available in this [Jupyter Notebook](https://nbviewer.jupyter.org/github/ghostery/whotracks.me/blob/master/contrib/wtm_april_update.ipynb)._"
  },
  {
    "path": "blog/update_dec_2017.md",
    "content": "title: WhoTracks.me December Update\nsubtitle: New data and trackers in our monthly update.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2017-12-08\ntags: blog, update\nheader_img: blog/blog-data-dec17.png\n+++\n\nWe're happy to update the site today with data from November 2017 - based on data from 100 million page loads. We're also expanding the amount of data we show, up to 600 top websites and 600 top trackers.\n\n## New Trackers in the database\n\nIncreasing the number of trackers displayed meant that we needed to add tracker information for a new batch of tracker domains, as well as new entrants appearing in the top 500. Here are the 3 most interesting entrants:\n\n * [Tru Optik](../trackers/truoptik.html), a company offering targeted advertising for Smart TVs, and claiming 70 Million US households in their 'Household Graph'. Their presence across major German sites suggests they might be using online ad networks in order to harvest user information and link it to active Smart TVs, where they can then push targeted adverts.\n * [Digitrust](../trackers/digitrust.html), a non-profit aiming to reducing the number of third-party requests per page. Their solution, however, is to create a unified user identifier, intended to prevent the need for trackers to synchronise pixels and tracking tokens on each page. Notably, they state that they [do not support](http://www.digitru.st/faqs/) the [Do Not Track](https://en.wikipedia.org/wiki/Do_Not_Track) standard, so their claims to be working in consumers interests are, at best, suspect.\n * [ORC International](../trackers/orc_international.html), the registered owner of the domain `emxdgt.com`, and a subsiduary of [Engine](http://www.enginegroup.com/), an Advertising Agency. Despite only appearing in our data recently, they have quickly risen up to the top 300 trackers, and are listed in the [ads.txt](https://iabtechlab.com/ads-txt/) files as a reseller for several major US publications, such as [The Atlantic](https://www.theatlantic.com/ads.txt) and [CNET](https://www.cnet.com/ads.txt). Their ownership, and policy for the data collection is, however, not transparently disclosed.\n\n## Month-to-month trends\n\nThe average number of trackers on top websites increased to 10, an increase of 3%. [Heine.de](../websites/heine.de.html), [gutefrage.net](../websites/gutefrage.net.html), [sportscheck.com](../websites/sportscheck.com.html) and [bild.de](../websites/bild.de.html) increased their number of trackers the most, each of them added on average 5 more trackers page page load. At the other end of the spectrum, [paket.de](../websites/paket.de.html), [jackpot.de](../websites/jackpot.de.htmwl) and [hurriyet.com.tr](../websites/hurriyet.com.tr.html) had on average 5 fewer trackers per page.\n\nOn the tracker side, the biggest gain was by [pmddby.com](../trackers/pmddby.com.html), which increased its reach by 9 times since October. Its profile is that of Spyware which is injecting ads into webpages for affected users, however at this time we were not able to determine the source - the WHOIS data for the domain is private.\n\n## Additions to the dataset\n\nThis month we added two new signals to the data which attempt to show the effect of ad-blockers on the trackers in our database. These signals are:\n\n * `has_blocking` - the proportion of pages on which this tracker was affected by some kind of blocking.\n * `requests_failed` - the average number of failed requests per page load (for comparison with `requests` to get an idea of how aggressive the blocking is).\n\nThese signals should be able to tell us something about the impact of blocking on different trackers in the ecosystem. For example, we see evidence of blocking 40% of the time for Google Analytics and Facebook, and between 10% and 20% of requests failing. Thus, anyone using these services to measure activity and conversions on their sites must reckon with error rates in these orders.\n\nWe also can see how new entrants can initially avoid the effects of blocking - for [Tru Optik](../trackers/truoptik.html) and [Digitrust](../trackers/digitrust.html) who we mentioned earlier, we measure only 5 and 1% of pages which may be affected by blocking.\n\nThese stats are currently only available in the raw data, but we will be looking at incorporating them in the site in due course.\n"
  },
  {
    "path": "blog/update_feb_2018.md",
    "content": "title: February Update - The Tracking Shell Game\nsubtitle: How mergers and acquisitions are hiding who actually is tracking us.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-02-06\ntags: blog, update\nheader_img: blog/blog-data-feb18-2.png\n+++\n\n_This post is one of our regular monthly blogs accompanying an update to the data displayed on WhoTracks.Me. In these posts we introduce what data has been added as well as point out interesting trends and case-studies we found in the last month. Previous month's posts can be found here: [January 2018](./update_jan_2018.html), [December 2017](./update_dec_2017.html)._\n\nWe've updated the site today with data collected during January 2018. Due to increased distribution, we have over 115 million page loads this month, an increase of 15% over previous months (see [Where does the data come from?](./where_is_the_data_from.html) for more background on our data collection). The regions from which we are getting data is also diversifying. While 70% of the data still comes from German users, we now have more significant US and international data. We plan to have sufficient data in the coming months in order to provide region-specific tracking breakdowns.\n\n## The tracking shell game\n\nPicking out some of the biggest movers in the rankings this month, we first find [Nexage](../trackers/nexage.html) down 262 places this month, and to one tenth of its reach in May last year. This is probably simply a winding down of the operation which was acquired by Millennial Media in 2014, who were acquired by AOL in 2015, who were acquired by Verizon also in 2015. Their landing page now redirects to [One by AOL](https://www.onebyaol.com/).\n\nOne of the challenges for us on whotracks.me is to make the link between tracker domain names, tracking products, and tracking companies. Nexage is an example of how many trackers lead you down a 'rabbit hole' of mergers and acquisitions until you find the company above it all. If we expand out the web of companies underneath Verizon who are also present on whotracks.me, we find 10 different trackers which can be linked: [Adap.tv](../trackers/adap.tv.html), [ADTECH](../trackers/adtech.html), [Advertising.com](../trackers/advertising.com.html), [alephD](../trackers/alephd.com.html), [Convertro](../trackers/convertro.html), [Nexage](../trackers/nexage.html) and [Vidible](../trackers/vidible.html) under AOL, and [Brightroll](../trackers/brightroll.html) and [Flickr](../trackers/flickr_badge.html) under [Yahoo](../trackers/yahoo.html). Furthermore, Yahoo and AOL both have popular web portals ([yahoo.com](../websites/yahoo.com.html), [aol.com](../websites/aol.com.html) and [aol.de](../websites/aol.de.html)) to drive more traffic which they can track. This leads Verizon to be able to track at least 6% of web traffic, the 11th highest reach of any company in our dataset. You can now check the full list of companies sorted by their trackers' combined reach [here](../companies/reach-chart.html).\n\n<img alt=\"Verizon's trackers\" class=\"img-responsive img-with-padding\" src=\"../static/img/blog/update_feb18/verizon.png\">\n<p class=\"img-caption\">Verizon's trackers - &copy; WhoTracks.Me 2018</p>\n\nA new entry at 546, [Smarter Travel Media](../trackers/smarter_travel.html) is another example of a smaller company with giants hiding behind it. The tracker is primarly present on tripadvisor and other travel sites, and infact they are a [Tripadvisor](../trackers/tripadvisor.html) company. Tripadvisor in turn is owned by [Expedia](../trackers/expedia.html). Above all of this stands [InterActiveCorp (IAC)](http://iac.com/) who own several other web brands, including [Vimeo](../trackers/vimeo.html) and [Mindspark](../trackers/mindspark.html).\n\n<img alt=\"Verizon's trackers\" class=\"img-responsive img-with-padding\" src=\"../static/img/blog/update_feb18/iac.png\">\n<p class=\"img-caption\">IAC - &copy; WhoTracks.Me 2018</p>\n\nThe final movers we would like to highlight this month are [davebestdeals.com](../trackers/davebestdeals.com.html) and [eshopcomp.com](../trackers/eshopcomp.com.html), up 201 and 194 places respectively. Unfortunately we cannot yet trace the owners of these trackers---they are both registered with PrivacyGuard in [Panama](https://who.is/whois/eshopcomp.com) and have no visible landing page. In fact they are likely operated by the same entity as their domains point to the same CloudFront endpoints, for example on the `istatic` subdomain for both domains.\n\nThe reason for the lack of transparency in this case is that they are malware. Looking at their profile pages we can see that they have a small presence across many sites, including sites which we know for certain would not have trackers like this in the page (e.g. Google sites, which will only ever contain Google's own trackers). These are likely browser extensions which include code to inject their tracking code in all of the pages the user visits, and send this information back to their servers. The user browsing history which they collect can then by sold on. The Web Of Trust extension was [caught doing this](https://www.forbes.com/sites/leemathews/2016/11/07/web-of-trust-browser-add-on-blasted-for-breaking-user-trust/#5029a0a53ef5) in 2015, and our data shows that it is still a common practice (look for the 'Extensions' tracker category on this site).\n\nThis style of user history harvesting also has the advantage that it is not blocked by the majority of Ad-blocking and privacy tools. These domains are not on these blocklists, because the list maintainers will not encounter them - unless they happen to install the malware themselves. Therefore, currently only Cliqz and Ghostery 8's AI anti-tracking are detecting these trackers and preventing them from gathering user sessions - because they are using the same data to find trackers that whotracks.me uses.\n\n## New data points\n\nThis month we add data about the content-types loaded by trackers. This is based on values reported by the [webRequest 'type' property](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/ResourceType). By reporting these values we can further characterise tracker behaviours, and quantify risks, such as which trackers are being permitted to load scripts on certain pages.\n\nWe add the following new columns for trackers, reported as the proportion of pages where the specific tracker or company loaded particular resource type(s) into the page:\n\n * `script`: Javascript code (via a `<script>` tag or web worker).\n * `iframe`: A subdocument (via `<frame>` or `<iframe>` elements).\n * `beacon`: Requests sent through the [Beacon API](https://developer.mozilla.org/en-US/docs/Web/API/Beacon_API).\n * `image`: Image and imageset resources.\n * `stylesheet`: [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) files.\n * `font`: Custom fonts.\n * `xhr`: Requests made from scripts via the [XMLHttpRequest](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) or [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) APIs.\n * `plugin`: Requests of `object` or `object_subrequest` types, which are typically associated with browser plugins such as Flash.\n * `media`: Requests loaded via `<video>` or `<audio>` HTML elements.\n\nWith this data we can see that, for example, [Google Analytics](../trackers/google_analytics.html) loads their script on each page load (98% of the time), then registers the visit via a pixel on 59% of page loads. We also see that on 6% of pages a request is also made via the Beacon API.\n\nSimilarly, if we look at the [Webtrekk](../trackers/webtrekk.html) tracker, which is present on many popular German websites, we can see that on sensitive websites such as banking ([dkb.de](../websites/dkb.de.html)) and health insurance ([tk.de](../websites/tk.de.html)), the tracker is loaded without scripts. This is at least an indication that in certain contexts website owners are taking care to minimise the potential risk of a third-party being compromised and gathering sensitive information from the page, or even [collecting sensitive information by mistake](https://mixpanel.com/blog/2018/02/05/update-autotrack-data-collection/).\n\nAs with [previous additions](./update_dec_2017.html) to the dataset, we don't yet have these fields visualised on the site, but will be working this in the coming months. In the meantime, the [raw data](https://github.com/ghostery/whotracks.me/tree/master/whotracksme/data) is available for you to explore yourself.\n"
  },
  {
    "path": "blog/update_jan_2018.md",
    "content": "title: WhoTracks.me January Update\nsubtitle: New data and trackers in our monthly update.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-01-08\ntags: blog, update\nheader_img: blog/blog-data-jan18.png\n+++\n\nWe've updated the site today with data collected during December 2017. This month, like [last month](./update_dec_2017.html), we have collected tracking data from around 100 million new page loads.\n\n## New trackers\n\nThere were again several new entrants into the top 600 trackers list. Here are some interesting ones:\n\n- [Amazon Cloudfront](../trackers/amazon_cloudfront.html): We decided to split the 'Amazon Web Services' (AWS) tracker into two constituent parts: [Cloudfront](../trackers/amazon_cloudfront.html), their CDN offering, and [Amazon Web Services](../trackers/amazon_web_services.html) with the remaining domain names used by AWS. Both of these services place highly in our rankings, at 14th and 16th respectively. These services are commonly used to host content on pages, both by the site owners and by third-party trackers. However, in these cases the default `cloudfront.net` and `amazonaws.com` domains are being used, which makes it difficult to attribute the entities behind these requests as they are hiding behind domains registered to Amazon. AWS makes it easy to serve Cloudfront and other AWS services from other domain names, a practice which should improves transparency around whose content is being loading into pages.\n- [Sourcepoint](../trackers/sourcepoint.html): An increasing number of services are appearing aimed at recapturing the ad-blocking audience. Sourcepoint appears at 184th in our ranking doing just this: quantifying ad-blocker usage on publisher sites, trying to convert these users to subscription models, or giving a choice of different ad-supported models. Several German publishers seem to have started to use this service, detected via their `summerhamster.com` domain, including [chip.de](../websites/chip.de.html) and [faz.net](../websites/faz.net.html).\n- [Admachine](../trackers/admachine.html): This is a [Real-time bidding](https://en.wikipedia.org/wiki/Real-time_bidding) platform that we primarily see on the [imagetwist.com](../websites/imagetwist.com.html) image hosting website. We detected this tracker via the `adx1.com` domain. However, tracing this domain back to the service which it is part of was non-trivial: The domain itself is registered to a company called 'Platform Inc.'. With such a generic company name, we were not able to find a home page for this company. However, continued searching for the `adx1.com` domain yielded [documentation for admachine](http://docs.admachine.co/article/69-xml-feed-implementation-reference) which instructs developers to use an API on this domain.  Furthermore the page has a copyright notice for [Platform.IO](https://platform.io/) who in turn has `© 2017 Platform Inc.` on their page. The need for this kind of investigation is common when trying to match tracker domains to companies and services, and the transparency of tracker ownership in general is a major issue.\n\n## Month-to-month trends\n\nThe average number of trackers on top websites remained largely constant from November to December 2017, at 10. The largest increase in number of trackers for a site was by [spox.com](../websites/spox.com.html) with 8 more on average than last month. [Freenet.de](../websites/freenet.de.html) and [rakuten.de](../websites/rakuten.de.html) also registered increases of 7 and 6 respectively. [01net.com](../websites/01net.com.html) and [dailymail.co.uk](../websites/dailymail.co.uk.html) registered the largest decreases in trackers, but both started from very high bases of over 20 trackers per page."
  },
  {
    "path": "blog/update_jun_2018.md",
    "content": "title: June Update - Do you consent?\nsubtitle: The rushed, rough and rogue UX of services getting you to opt-in.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-06-07\ntags: blog, update\nheader_img: blog/update_jun18/june_update18.png\n+++\n\n_This post is one of our regular monthly blogs accompanying an update to the data\ndisplayed on WhoTracks.Me. In these posts we introduce what data has been added as well\nas point out interesting trends and case-studies we found in the last month. Previous\nmonth's posts can be found here: [May 2018](./update_may_2018.html), [April 2018](./update_apr_2018.html)._\n\nThis month the site has been updated with tracker data from 370 million page loads during May\n2018. We've expanded the number of trackers shown further to over 1,000, and we now show information\nfor the top 1,750 websites. We also have published regional versions of the data for the US, France\nand Germany, allowing regional disparities to be investigated. This regional data is not yet visible\non the site - regional stats are planned for an upcoming design update.\n\nAs we mentioned [last month](./update_may_2018.html), the [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation)\nhas now come into force, which is expected to have an effect on how the data collected via online\ntracking is handled. So far, the main observation is that sites have deployed complex consent\ndialogs, trying to get users to consent to being tracked on their sites. We can already observe\nthe rise of third parties offering the services behind these consent dialogs.\n\nDespite the changes in regulation, we see no evidence of a reduction in the number of third parties\nloaded on websites this month (also when doing a week-by-week analysis). The average number of\nthird-parties loaded on popular websites remained at 8.5, which is the same as in April.\n\n## Consent as a service\n\nOne observable result of the GDPR is a rise in the user of Consent Management Platforms (CMPs) by\nwebsites. These services manage the cookie consent notices shown. Now that GDPR is in\nplace, European users should be informed of all services collecting data on the site, and be able to\nopt-out of certain practices and data collection. This means that these CMPs have become much more\nprominent, providing deeper controls, and propagating user consent to the third-party services.\n\nThe WhoTracks.Me data has tracked the rise of several CMPs appearing this month, as well as\nexisting providers increasing their presence. With our data we can detect where they are present\nand then compare their approaches to asking for user consent, and we present a short survey of\nthese here:\n\n### TrustArc\n\n[TrustArc](https://www.trustarc.com/) (formally TRUSTe) have been providing cookie consent dialogs\nsince the original ePrivacy regulation introduce the concept. [Our data shows](../trackers/truste_consent.html)\nthat their reach has doubled in recent months as they have obviously gained customers using their\nservices for GDPR compliance.\n\nTheir familiar consent popup now has improved opt-out capabilities. These are however hidden behind\na _More Information_ link. This popup has not changed from the pre-GDPR options, so users may not\nrealise that improved opt-out options are hidden behind this button. The styling of the button as\na link also does not suggest that consent can be configured.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/trustarc_1.png\" alt=\"TrustArc Consent popup\" />\n<p class=\"img-caption\">TrustArc: Consent popup.</p>\n\nThe _More Information_ button leads to a screen where consent can be specified for different cookie\ntypes. On the tested site ([MyFitnessPal.com](../websites/myfitnesspal.com.html)) this view had\nall types enabled by default.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/trustarc_2.png\" alt=\"TrustArc Consent settings\" />\n<p class=\"img-caption\">TrustArc: Choosing consent settings.</p>\n\nAfter submitting, we hit a processing dialog. In our testing this processing takes minutes to complete,\nand blocks access to the underlying page until it completes. This poor user-experience is may\nreduce the amount of users who will actually take the time to express consent settings. After\nwaiting minutes once, they may subsequently simply agree to all, or just abandon sites who present\nthis dialog.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/trustarc_3.png\" alt=\"TrustArc Consent submission\" />\n<p class=\"img-caption\">TrustArc: Processing......</p>\n\nAnother manifestation of the TrustArc CMP, found on [Weather Underground](../websites/wunderground.com.html)\nprovides a more detailed popup, including details of the third-parties in each category. This\nversion, however, also suffers from a long processing time once consent has been expressed.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/trustarc_4.png\" alt=\"TrustArc detailed consent settings\" />\n<p class=\"img-caption\">TrustArc: Detailed view</p>\n\n### IAB Consent Framework\n\nIn response to the GDPR, the [IAB](https://iabtechlab.com/) proposed a framework for propagating\nuser consent through ad-networks. The [GDPR Transparency and Consent Framework](https://iabtechlab.com/standards/gdpr-transparency-and-consent-framework/)\naims to create a standardised expression of consent which can be passed around ad networks.\n\nIn this framework, CMPs are [registered](http://advertisingconsent.eu/iab-europe-transparency-consent-framework-list-of-registered-cmps/)\nand a first party cookie specifies which CMP obtained the consent on this site, and which\npurposes and vendors are permitted. The CMP code and vendor list are served from a single domain,\n`consensu.org`, which means we can measure that it is already in use on [0.5% of sites](../trackers/iab_consent.html).\n\nAn example of this framework can be seen on [SourceForge](../websites/sourceforge.net.html). In\nthis case, [Quantserve](../trackers/quantcast.html) acts as the CMP to set the IAB consent cookie.\nNote this framework allows first-party and third-party consents to be specified separately for a\nstandardised set of purposes.\n\n<div class=\"row\">\n  <div class=\"col-md-6 col-xs-12\">\n    <img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/iab_prompt.png\" alt=\"Sourceforge Consent popup\" />\n  </div>\n  <div class=\"col-md-6 col-xs-12\">\n    <img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/iab_settings.png\" alt=\"Sourceforge Consent settings\" />\n  </div>\n</div>\n<p class=\"img-caption\">Quantserve consent dialog, using the IAB framework</p>\n\nUnlike the TrustArc consent, opting out in this dialog is instant. Furthermore, in testing, all\noptions were disabled by default, and a blanket opt out is also made easy.\n\n### Cookiebot\n\nA new service which appeared in our data this month is [Cookiebot](https://www.cookiebot.com/en/),\nwhich is already present on [0.3% of websites](../trackers/cookiebot.html).\nThey provide a very simple clean dialog to allow quick specification of consent.\n\nOne site using this service is [Gitlab](../websites/gitlab.com.html). We note here that all options\nare selected by default, and consent is assumed even if the user does not click 'OK'.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/cookiebot_1.png\" alt=\"Cookiebot dialog basic view\" />\n<p class=\"img-caption\">Cookiebot dialog on gitlab.com.</p>\n\nThe 'Show details' button provides more detailed information about which providers and cookies\nfall under each category.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/cookiebot_2.png\" alt=\"Cookiebot dialog detailed view\" />\n<p class=\"img-caption\">Cookiebot detailed view.</p>\n\nIn this case the opt-out is also instant.\n\n### OneTrust\n\nLastly, [OneTrust](https://www.onetrust.com/). This service does not appear among the top trackers\nthis month, however we can still see its presence on some sites.\n\nOne feature of this CMP seems to be its configurability. We find multiple different levels of\noptions available on different sites. Firstly, the cookie banner, shown on the bottom of the\npage, may provide configurability via a 'More Information' button. For example on\n[CNN](../websites/cnn.com.html):\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/onetrust_banner.png\" alt=\"OneTrust banner on cnn.com\" />\n<p class=\"img-caption\">OneTrust banner on CNN</p>\n\nHowever, we also found examples where one can only accept, for example on [express.de](../websites/express.de.html):\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/onetrust_banner_noopt.png\" alt=\"OneTrust banner on express.de\" />\n<p class=\"img-caption\">OneTrust banner on express.de</p>\n\nSecondly, the information dialog may or may not allow the user to opt-out. We can compare the\ndialogs on [cnn.com](../websites/cnn.com.html) and [mailchimp.com](../websites/mailchimp.com.html).\nOn MailChimp, all non-essential cookie categories offer an opt-out, while on CNN the interface\nonly provides information about the category, with no options for the user except accept.\n\n<div class=\"row\">\n  <div class=\"col-md-6 col-xs-12\">\n    <img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/onetrust_cnn.png\" alt=\"OneTrust Privacy Preference Center on cnn.com\"/>\n  </div>\n  <div class=\"col-md-6 col-xs-12\">\n    <img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/onetrust_mailchimp.png\" alt=\"OneTrust Privacy Preference Center on MailChimp.com\"/>\n  </div>\n</div>\n<p class=\"img-caption\">OneTrust Preference Center on cnn.com and mailchimp.com</p>\n\nAgain, opt-out (when available) is instant.\n\n## Conclusion\n\nSince GDPR came into force we have seen a marked increase in cookie consent, many of which block\naccess to the page until consent is obtained. These CMPs aim to standardise the process, making it\neasier for users to quickly express their preferences. However, as we have seen in this article,\nthe current main CMPs differ in their approach to the problem.\n\nAs many publishers main aim from deploying a CMP will be to achieve maximum opt-in, while remaining compliant\nwith the law, there is a strong incentive for platforms to deceive users into consenting. Examples\nsuch as TrustArc show some dark patterns which nudge users to accepting all. Platforms which\nprovide clear opt-outs, and leave options unticked by default may suffer for providing a better\nuser experience.\n\nThe importance of consent for publishers who rely on advertising revenue, and their willingness to\ntest users' goodwill in order to obtain consent can be seen from this dialog, seen when visiting [GHacks](https://www.ghacks.net/)\nhaving opted out of data collection.\n\n<img class=\"img-responsive\" src=\"../static/img/blog/update_jun18/ghacks_opted_out.png\" alt=\"Dialog asking for user to reconsider consent settings\"/>\n<p class=\"img-caption\">Dialog on seen ghacks.net.</p>\n\nDespite [criticism](https://martechtoday.com/pagefair-iab-consent-framework-violates-gdpr-212428)\nof its method of communicating user consent, the openness of the IAB Framework is welcome, as it\nopens up the possibility for standardised browser interfaces for consent. This would take control\nof the consent UX out of the hands of site owners, who will be incentivised to 'cheat', and make\nit neutral and consistent.\n"
  },
  {
    "path": "blog/update_may_2018.md",
    "content": "title: May Update - Countdown to GDPR\nsubtitle: Facebook's \"Tough\" month and Google's recommendation\nauthor: privacy team\ntype: article\npublish: True\ndate: 2018-05-11\ntags: blog, update\nheader_img: blog/update_may18/release.png\nredirect_url: https://www.ghostery.com/blog/update-may-2018\n+++\n\n_This post is one of our regular monthly blogs accompanying an update to the data\ndisplayed on WhoTracks.Me. In these posts we introduce what data has been added as well\nas point out interesting trends and case-studies we found in the last month. Previous\nmonth's posts can be found here: [April 2018](./update_apr_2018.html),\n[February 2018](./update_feb_2018.html), [January 2018](./update_jan_2018.html),\n[December 2017](./update_dec_2017.html)._\n\nThis month we update the site with data from 340 million page loads during April 2018. We expand\nthe number of trackers shown to 951, and the number of websites to 1330. As this will be the last\nfull month before the [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation)\ncomes into force for European users, this will provide a benchmark to assess whether there is an\nobservable difference on the tracking ecosystem.\n\nThis month also saw our new paper **\"WhoTracks.Me: Monitoring the online tracking landscape at scale\"**\npublished on [Arxiv](https://arxiv.org/abs/1804.08959). This paper covers the methodology behind\nthe data we collect here, and how we ensure no private information can be leaked during this\nprocess.\n\n\n## Facebook's Tough Month\n\n[Facebook](../trackers/facebook.html) have been in the news a lot in the last month, and with\nthe `#deletefacebook` trending, will there have been an effect on their operations and bottom\nline? We [already reported](https://www.ghostery.com/blog/ghostery-news/report-have-publishers-banned-facebook-trackers-from-their-pages-after-the-cambridge-analytica-scandal/)\nthat despite strong criticism in the press, the same news sites did not stop using Facebook's\ntracking tools.\n\n\n![Facebook Trackers' Reach, April 2018](../static/img/blog/update_may18/facebook_reach2.svg)\n<p class=\"img-caption\">Figure 1: Facebook Tracker's reach over time, April 2018</p>\n\n\nThe data we release this month shows that this continues to be the case, with no\ndrop in tracking reach for the [Facebook tracker](../trackers/facebook.html).\n\nNote that `reach` refers to the percentage of total page loads where the Facebook\ntracker was seen to be present, whereas `site reach` refers to the percentage of\ndomains.\n\n\n\n## Google and the Countdown to GDPR\n\nWith GDPR coming into effect on 25th May, we will soon see if it has an impact on the number of\nthird-party trackers loaded on web pages. [Recent reports indicate](https://adexchanger.com/online-advertising/googles-gdpr-consent-tool-will-limit-publishers-to-12-ad-tech-vendors/)\nthat Google will encourage publishers to reduce the number of AdTech vendors they use, in order to\nincrease the chance of getting consent for tracking from users. If this is the case, we should\nexpect this change to be visible in the WhoTracks.Me data.\n\nAs we reported [last month](./update_apr_2018.html), we observe a gradual decline in the average\nnumber of trackers seen on websites. However, if we look at sites which use Google's [Doubleclick](../trackers/doubleclick.html)\nAd Network on more than half their traffic, the majority of them are still well-above\nthis proposed 12 tracker limit (red area). With only a few weeks to go, there will still be be a\nsignificant number of sites over the limit.\n\n![Sites that use DoubleClick, April 2018](../static/img/blog/update_may18/doubleclick-sites.svg)\n<p class=\"img-caption\">Figure 2: Sites that use Google's DoubleClick Ad Network, April 2018</p>\n\nIf we were to consider the most extreme scenario, where Google compels all customers use their GDPR\nconsent system for European users, and enforces a 12 vendor limit in the process, this could\nhave a significant impact on the ecosystem. If we extrapolate from WhoTracks.Me data, capping all\nthese sites to 12 trackers means that over **1,300 trackers** would disappear from sites. AdTech\ncompanies deeper in the supply chain may be completely cut out unless they have direct publisher\nrelationships which enable them to make the vendor shortlist.\n\nSuch a sharp change in the ecosystem is unlikely, but it demonstrates the power of Google's market\ndominance, that they would be able to unilaterally pull the plug on a lot of their competition. We\nwill continue to monitor the ecosystem to quantify any changes to tracking, and look forward to\nreporting the changes, if any, caused by the new regulation.\n\n\n## Notable Changes\n\nAs customary, here below are the sites with the most notable changes this month. The\nlargest increase in the average number of trackers per page load was measured in\n[markt.de](https://whotracks.me/websites/markt.de.html), and the largest decrease in\n[babbel.com](https://whotracks.me/websites/babbel.com.html).\n\n\n<table class=\"table table-hover\">\n  <thead>\n    <tr>\n      <th>Site</th>\n      <th>Trackers</th>\n      <th>Change since February</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>markt.de</td>\n      <td>28.6</td>\n      <td><i class=\"fa fa-caret-up\" style=\"color: red; margin-right: 10px\"></i> +10.8</td>\n    </tr>\n    <tr>\n      <td>klingel.de</td>\n      <td>16.3</td>\n      <td><i class=\"fa fa-caret-up\" style=\"color: red; margin-right: 10px\"></i> +4.6</td>\n    </tr>\n    <tr>\n      <td>bento.de</td>\n      <td>15.6</td>\n      <td><i class=\"fa fa-caret-down\" style=\"color: green; margin-right: 10px\"></i> -3.6</td>\n    </tr>\n    <tr>\n      <td>babbel.com</td>\n      <td>4.6</td>\n      <td><i class=\"fa fa-caret-down\" style=\"color: green; margin-right: 10px\"></i> -8.1</td>\n    </tr>\n  </tbody>\n</table>\n<p class=\"img-caption\">Table 1: Websites Tracking Trends</p>\n\n\n_NB: The code used to generate the data and plots for this post is available in\n[Jupyter Notebook](https://nbviewer.jupyter.org/github/ghostery/whotracks.me/blob/master/contrib/wtm_may_update.ipynb)._\n"
  },
  {
    "path": "blog/updating_our_tracking_prevalence_metrics.md",
    "content": "title: Updating our tracking prevalence metrics\nsubtitle: Metrics that make more sense.\nauthor: privacy team\ntype: article\npublish: True\ndate: 2019-02-22\ntags: blog, update\nheader_img: blog/updating-prevalence-metrics/header.jpg\n+++\n\nThis month we updated the site with data from over 800 million page loads during January. In this\ndata release we have also made a change to one of the main figures that we publish - `site reach`.\nMetrics are as good as their ability to capture a simplified version of reality. The\nmain motivation for redefining `site reach` attempts is exactly that - simplify the\nunderstanding of prevalence.\n\nThe site reach stat was conceived as a measure of the number of different sites a tracker has some\npresence. In contrast to `reach` - the proportion of pages loading a tracker - it shows how spread\naround the web a tracker is.\n\nWe define a new site reach metric as:\n> The number of sites in the top 10,000 which have this tracker on more than 1% of page loads.\n\nThe relationship between reach and site reach paints an interesting picture of prevalence:\n\n![Reach vs Site Reach, Jan 2019](../static/img/blog/updating-prevalence-metrics/reach-vs-sitereach.svg)\n<p class=\"img-caption\">Figure 1: Reach vs Site Reach, Jan 2019 (source: whotracks.me)</p>\n\n\n- High reach and high site reach - Ubiquitous presence across both popular and less popular sites;\nA common example of that would be [Google Analytics](../trackers/google_analytics.html).\n- High reach and low site reach - Present primarily on few popular, high-traffic sites;\nOne such example would be [Wikimedia](../trackers/wikimedia.org.html), which, due to\nWikipedia's popularity, is loaded very often (hence high reach), but present on few sites\nresulting in a low(er) site reach. Another example, for similar reasons, would be\n[Ebay Stats](../trackers/ebay.html),\n- Low reach and high site reach - Only appearing rarely on many sites, e.g. only on a small number\nof pages for each site; In this category appear extensions that operate as \"man in the\nmiddle\", such as [Kaspersky Labs](../trackers/kaspersky-labs.com.html).\n- Low reach and low site reach - Present on few lower-traffic sites. This includes smaller\ntrackers.\n\nUp until this point, we have defined site reach as the proportion of sites for which a given\ntracker was observed a fixed number of times. Using this formula we have run into two fundemental\nissues in practice:\n\n 1. How often should a tracker appear in a site, for it to be counted?\n\nThe simplest solution would be to say that one observation is sufficient. So if a\ntracker has been seen to be present at least once in a given site, we count it. However,\nthere is some noise to be expected, which could be introduced by particular\nbrowser configurations, installed extensions or ISP redirects. This could result in\nfalsely counting extra trackers in a given site.\n\nThus, having a low threshold makes the metric vulnerable to fluctuations from\nchanges in data-volume. The end result is that if this threshold is too low then the\nmetric is unstable, fluctuating when no real-world change has occurred. If this\nthreshold is too high, then it fails to capture the presence of trackers in particular\nlow(er)-volume subpages of a given website (e.g. payment pages).\n\n 2. The long-tail of low traffic sites skews the results.\n\n    During January our dataset counted 1.3 million distinct sites. However the traffic distribution is very skewed to the top few thousand\n    sites. Looking at the `popularity` metric for sites, which measures the relative amount of traffic\n    compared to the most popular site (Google.com), already the 10th most popular site (Pornhub) has\n    just 6% of Google's traffic. By the 100th place, this ratio is 0.6%, and 1000th place this is 0.08%.\n    By the time we are at the 100,000th entry there are only 430 page loads over a month, and at place\n    1,000,000 just 16. This long tail means that, firstly, the impact of tracker presence on these\n    sites is low - the bottom 50% of the 1.3 million sites we see only corresponds to 1% of total\n    traffic - and secondly, the low data volume increases the noise involved in measuring presence.\n\nDue to these difficulties and the complexities arising when explaining site reach, we\ndecided to redefine this metric - making it simpler and more intuitive to the reader, while\nstill capturing the prevalence of the tracker.\n\nGiven that the top 10,000 sites account for 75% of page loads in our data, we decided to measure\nthe presence across this fixed set of sites. By fixing the denominator of our formula the output\nis no longer influenced by the number of sites observed, which can vary with data volume. This\nmetric is also simpler - a ratio over 10,000 is easier for most people to understand, than over\n1.3 million. For example, we now show a site reach of [13 sites](../trackers/realperson.de.html)\ninstead of 0.006% previously.\n\n\nAs of now the data is updated to use this new metric, under the `site_reach_top10k` key. A further\n value, `site_avg_frequency` gives the mean presence across these sites.\n\n**How does this metric compare to the previous one?** We back-calculated the new metric for the last\n5 months, and found this makes the site reach for some of the top trackers even more concerning:\n\n- [Google Analytics](../trackers/google_analytics.html) went from being present on 70% of all websites to 8,871 of the top 10k, and there are only 539 sites in the top 10k which _don't_ use [Google Fonts](../trackers/google_fonts.html) on any page.\n- Of the top 1,000 trackers on WhoTracks.Me, only 47 are on over 1,000 sites, and 331 over 100\nsites. This shows just how dominated the tracking landscape is by a few trackers monopolising user data.\n- The mean site reach for the top 1,000 trackers has been increasing over the last 5 months, from\n210 sites last September, to 255 in January.\n\nThe new site reach is now present on the WhoTracks.Me website in place of the old metric, and published\nin our [data](https://github.com/ghostery/whotracks.me/tree/master/whotracksme/data). As usual we\n will continue publishing monthly updates to track the development of this metric over time.\n"
  },
  {
    "path": "blog/what_is_a_tracker.md",
    "content": "title: What are trackers?\nsubtitle:\ndescription: What is tracker profiling? Find out what trackers are profiling you and what makes a domain a tracker.\nauthor:\ntype: primer\npublish: True\ndate: 2017-07-22\ntags: primer, tracking\nheader_img: blog/blog-trackers.jpg\nredirect_url: https://www.ghostery.com/blog/what-are-trackers\n+++\n\n\nA tracker is a company which collects information about you as you browse the web. Their scripts and [tracking pixels](/blog/tracking_pixel.html) are inserted into the websites you visit by publishers or advertising networks, usually in exchange for some service that the tracking company provides.\n\n**Suggested reading:** If you want to find out more about internet trackers, check out our blog - What is tracking and how can I browse safely?\n\nWhat is tracker profiling?\n===\n\nTrackers use identifier tools to link information about you from different sites. This data is used to build up a user profile, based on your browsing history.\n\nTracker profiling places users in groups and sells data to third parties so they can target certain users online.\n\nTrackers profiling you meaning\n---\n\nWe define a tracker as a third-party domain which is:\n\n- present on multiple (`> 10`) different websites with a significant combined traffic\n- uses [cookies](/blog/cookies.html) or [fingerprinting](/blog/fingerprinting.html) methods in order to transmit user identifiers\n\n\nWhy do trackers exist?\n===\n\nThe majority of the companies behind trackers offer services to website publishers. The publishers will put scripts or [tracking pixels](/blog/tracking_pixel.html) for these services onto their sites.\n\nWhat are trackers used for?\n===\n\nThere are many different use-cases for these services, such as:\n\n- There are many different use cases for these services, such as:\n- Analytics: Used to measure how many people are visiting the site, where from, etc. e.g. Google Analytics.\n- Advertising: Provides advertising on sites in order to monetise visits. e.g. DoubleClick and Outbrain.\n- Advertising (conversion tracking): Advertising trackers can also appear on sites without ads. This is usually to measure conversions or to improve the targeting of the publisher’s ads elsewhere on the web.\n- Social Media: Integration with social networks. e.g. Facebook like button.\n- Content Delivery Networks (CDN): Networks which provide high bandwidth content like videos and images. e.g. Youtube and Cloudflare.\n- Comments: Embedded comment systems allow users to comment on articles. e.g. Disqus.\n- Customer interaction: Live chat and support widgets. e.g. LivePerson.\n\nMany of these use cases do not require tracking. However, they may track your behavior by accident because the implementation is easier, or on purpose because the data generated can be used to increase revenue.\n\n**TIP:** Want to find out who’s tracking you online? Check out [Ghostery’s Trackers Preview Wheel](https://www.ghostery.com/blog/introducing-wtm-serp-report).\n\n\nWhat's the problem with tracking?\n===\n\nTrackers use user identifiers to group data received from each unique user, and browsers send the URL of the first-party page to third-party resources in the page [as standard](https://en.wikipedia.org/wiki/HTTP_referer).\n\nThis means trackers are effectively able to collect a subset of users' browsing history. Even if this history is linked to an 'anonymous' identifier, any browsing history of reasonable length can be [deanonymised](http://randomwalker.info/publications/browsing-history-deanonymization.pdf) to [find the user](https://www.slideshare.net/jmpujol/data-collection-without-privacy-sideeffects-at-big2016-www-2016#20) behind it.\n\nGhostery is creating greater transparency around internet tracking\n---\n\nIn the majority of cases, trackers are invisible on the pages they appear. This means there is little or no transparency about who is logging activity on a site, hence the need for privacy tools such as [Ghostery](https://www.ghostery.com/) to call them out.\n"
  },
  {
    "path": "blog/where_is_the_data_from.md",
    "content": "title: Where does the data come from?\nsubtitle: An explanation of the origin of the data in this site, and why its collection is private.\nauthor: privacy team\ntype: primer\npublish: True\ndate: 2017-07-22\ntags: data, tracking\nheader_img: blog/blog-data2.jpg\n+++\n\nWe take privacy very seriously. Over the course of the last\ntwo years, we have been building a set of privacy-tools,\nincluding a state-of-the-art [anti-tracking technology](https://static.cliqz.com/wp-content/uploads/2016/07/Cliqz-Studie-Tracking-the-Trackers.pdf)\nthat uses an algorithmic, data-driven approach to remove\nunique identifiers (UIDs) from third party requests, which\nwe found to perform better than the traditional blocklist\napproach, maximising protection while minimizing site breakage.\nYou can read more about it in\n['How does Cliqz Anti-tracking work'](/blog/how_cliqz_antitracking_protects_users.html).\n\nWe block hundreds of millions of cookies and remove\ntens of millions of UIDs per day. This has given us important\ninsights on the tracker landscape.\n\n\n**The data presented in this site** is collected by the Cliqz browser\nand extension for Firefox, and from the Ghostery extension for users\nwho have enabled 'HumanWeb' data collection. We receive a message for each page\nloaded in the browser (except in private tabs), which describes\nthe third-party requests required to load that page. We take the\nfollowing steps to ensure that this data is anonymised:\n\n- The address of the page is split into hostname and path, and\nthese are both obfuscated with a truncated hash. This means\nthat only well known hostnames and paths can be revealed by us,\nand private pages will remain undecipherable.\n- Third parties are aggregated at the subdomain level, all\npaths are removed, and we just send counters of signals.\nFor example we would send the number of requests which\nhad a cookie header for a domain.\n- Each page load is send as an independent message, and via\nour proxy network. This prevents us from linking page loads\nback together at the server side by looking at the\nIP address of the sender, for example.\n\nThe data collected was audited by external researchers\nin April 2017. Some theoretical attacks to link messages\nwere found which affected a small subset of messages.\nThese issues were subsequently fixed to remove this\nattack vector. For example, we no longer collect the paths\nof the third-party requests, as on some sites specific\nresources (such as avatars) will only be loaded for a\nspecific logged in user. This resource could then be\ntracked across page loads to build a partial user history\nfor this particular site.\n\nThis data is primarily used to automatically generate\nthe list of tracking domains which Cliqz anti-tracking\nwill work on. The side-effect is that this data can\nalso be used to generate this census of trackers across the web.\n\nOur methodology is outlined in the [WhoTracksMe paper](https://arxiv.org/abs/1804.08959).\n"
  },
  {
    "path": "contrib/generating_adblocker_filters.py",
    "content": "\nfrom collections import defaultdict, Counter\nfrom whotracksme.data import load_tracker_db, load_apps\n\n# Categories to tracker domains\ntrackers_by_category = defaultdict(list)\ntracker_domains_to_app = {}\n\n# Load trackers and group them by category\nsql_query = \"\"\"\n  SELECT categories.name, tracker, domain FROM tracker_domains\n  INNER JOIN trackers ON trackers.id = tracker_domains.tracker\n  INNER JOIN categories ON categories.id = trackers.category_id;\n\"\"\"\nwith load_tracker_db() as connection:\n    for (category, tracker, domain) in connection.execute(sql_query):\n        trackers_by_category[category].append(domain)\n        tracker_domains_to_app[domain] = tracker\n\nprint(trackers_by_category)\n\napps = load_apps()\n\n\ndef filter_domains(domains):\n    for domain in domains:\n        app_name = tracker_domains_to_app[domain]\n        if app_name in apps:\n            app = apps[tracker_domains_to_app[domain]]\n            tracked = app['overview']['tracked']\n            if tracked >= 0.1:\n                yield domain\n\n\ndef generate_adb_filters(domains):\n    \"\"\"Given a list of domains, generate filters using the\n    ADB syntax to be used in an adblocker\"\"\"\n    for domain in domains:\n        yield f\"||{domain}$third-party\"\n\ndef generate_hostname_filters(domains):\n    \"\"\"Given a list of domains, generate filters using\n    the hostname syntax\"\"\"\n    for domain in domains:\n        yield f\"127.0.0.1 {domain}\"\n\n# Generate filters with *ADB* syntax\nadb_filters = {\n    category: '\\n'.join(generate_adb_filters(filter_domains(domains)))\n    for (category, domains) in trackers_by_category.items()\n}\n\n# Generate filters with *hostname* syntax\nhostname_filters = {\n    category: '\\n'.join(generate_hostname_filters(filter_domains(domains)))\n    for (category, domains) in trackers_by_category.items()\n}\n\n\nprint(adb_filters['advertising'])\n"
  },
  {
    "path": "contrib/tracker_map_notebook.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Making sense of the trackers on your favorite site\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\\n\",\n       \"* plotly.js v1.30.0\\n\",\n       \"* Copyright 2012-2017, Plotly, Inc.\\n\",\n       \"* All rights reserved.\\n\",\n       \"* Licensed under the MIT license\\n\",\n       \"*/\\n\",\n       \"!function(t){if(\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module)module.exports=t();else if(\\\"function\\\"==typeof define&&define.amd)define([],t);else{var e;e=\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:this,e.Plotly=t()}}(function(){var t;return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\\\"function\\\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error(\\\"Cannot find module '\\\"+o+\\\"'\\\");throw u.code=\\\"MODULE_NOT_FOUND\\\",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,function(t){var r=e[o][1][t];return i(r||t)},c,c.exports,t,e,r,n)}return r[o].exports}for(var a=\\\"function\\\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../src/lib\\\"),i={\\\"X,X div\\\":\\\"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 .modebar\\\":\\\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\\\",\\\"X .modebar--hover\\\":\\\"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\\\":\\\"opacity:1;\\\",\\\"X .modebar-group\\\":\\\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\\\",\\\"X .modebar-group:first-child\\\":\\\"margin-left:0px;\\\",\\\"X .modebar-btn\\\":\\\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\\\",\\\"X .modebar-btn svg\\\":\\\"position:relative;top:2px;\\\",\\\"X .modebar-btn path\\\":\\\"fill:rgba(0,31,95,0.3);\\\",\\\"X .modebar-btn.active path,X .modebar-btn:hover path\\\":\\\"fill:rgba(0,22,72,0.5);\\\",\\\"X .modebar-btn.modebar-btn--logo\\\":\\\"padding:3px 1px;\\\",\\\"X .modebar-btn.modebar-btn--logo path\\\":\\\"fill:#447adb !important;\\\",\\\"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 .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';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;\\\",\\\"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 a in i){var o=a.replace(/^,/,\\\" ,\\\").replace(/X/g,\\\".js-plotly-plot .plotly\\\").replace(/Y/g,\\\".plotly-notifier\\\");n.addStyleRule(o,i[a])}},{\\\"../src/lib\\\":725}],2:[function(t,e,r){\\\"use strict\\\";e.exports={undo:{width:857.1,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\\\",ascent:850,descent:-150},home:{width:928.6,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\\\",ascent:850,descent:-150},\\\"camera-retro\\\":{width: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\\\",ascent:850,descent:-150},zoombox:{width: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\\\",ascent:850,descent:-150},pan:{width: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\\\",ascent:850,descent:-150},zoom_plus:{width: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\\\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\\\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\\\",ascent:850,descent:-150},autoscale:{width: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\\\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\\\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\\\",ascent:850,descent:-150},tooltip_compare:{width:1125,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\\\",ascent:850,descent:-150},plotlylogo:{width:1542,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\\\",ascent:850,descent:-150},\\\"z-axis\\\":{width: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\\\",ascent:850,descent:-150},\\\"3d_rotate\\\":{width: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\\\",ascent:850,descent:-150},camera:{width: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\\\",ascent:850,descent:-150},movie:{width: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\\\",ascent:850,descent:-150},question:{width:857.1,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\\\",ascent:850,descent:-150},disk:{width:857.1,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\\\",ascent:850,descent:-150},lasso:{width:1031,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\\\",ascent:850,descent:-150},selectbox:{width: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\\\",ascent:850,descent:-150},spikeline:{width: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\\\",ascent:850,descent:-150}}},{}],3:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/aggregate\\\")},{\\\"../src/transforms/aggregate\\\":1099}],4:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/bar\\\")},{\\\"../src/traces/bar\\\":858}],5:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/box\\\")},{\\\"../src/traces/box\\\":870}],6:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/components/calendars\\\")},{\\\"../src/components/calendars\\\":601}],7:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/candlestick\\\")},{\\\"../src/traces/candlestick\\\":878}],8:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/carpet\\\")},{\\\"../src/traces/carpet\\\":899}],9:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/choropleth\\\")},{\\\"../src/traces/choropleth\\\":914}],10:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contour\\\")},{\\\"../src/traces/contour\\\":925}],11:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contourcarpet\\\")},{\\\"../src/traces/contourcarpet\\\":940}],12:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/core\\\")},{\\\"../src/core\\\":708}],13:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/filter\\\")},{\\\"../src/transforms/filter\\\":1100}],14:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/groupby\\\")},{\\\"../src/transforms/groupby\\\":1101}],15:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmap\\\")},{\\\"../src/traces/heatmap\\\":953}],16:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmapgl\\\")},{\\\"../src/traces/heatmapgl\\\":962}],17:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram\\\")},{\\\"../src/traces/histogram\\\":970}],18:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2d\\\")},{\\\"../src/traces/histogram2d\\\":975}],19:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2dcontour\\\")},{\\\"../src/traces/histogram2dcontour\\\":979}],20:[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(\\\"./pie\\\"),t(\\\"./contour\\\"),t(\\\"./scatterternary\\\"),t(\\\"./sankey\\\"),t(\\\"./scatter3d\\\"),t(\\\"./surface\\\"),t(\\\"./mesh3d\\\"),t(\\\"./scattergeo\\\"),t(\\\"./choropleth\\\"),t(\\\"./scattergl\\\"),t(\\\"./pointcloud\\\"),t(\\\"./heatmapgl\\\"),t(\\\"./parcoords\\\"),t(\\\"./scattermapbox\\\"),t(\\\"./carpet\\\"),t(\\\"./scattercarpet\\\"),t(\\\"./contourcarpet\\\"),t(\\\"./ohlc\\\"),t(\\\"./candlestick\\\")]),n.register([t(\\\"./aggregate\\\"),t(\\\"./filter\\\"),t(\\\"./groupby\\\"),t(\\\"./sort\\\")]),n.register([t(\\\"./calendars\\\")]),e.exports=n},{\\\"./aggregate\\\":3,\\\"./bar\\\":4,\\\"./box\\\":5,\\\"./calendars\\\":6,\\\"./candlestick\\\":7,\\\"./carpet\\\":8,\\\"./choropleth\\\":9,\\\"./contour\\\":10,\\\"./contourcarpet\\\":11,\\\"./core\\\":12,\\\"./filter\\\":13,\\\"./groupby\\\":14,\\\"./heatmap\\\":15,\\\"./heatmapgl\\\":16,\\\"./histogram\\\":17,\\\"./histogram2d\\\":18,\\\"./histogram2dcontour\\\":19,\\\"./mesh3d\\\":21,\\\"./ohlc\\\":22,\\\"./parcoords\\\":23,\\\"./pie\\\":24,\\\"./pointcloud\\\":25,\\\"./sankey\\\":26,\\\"./scatter3d\\\":27,\\\"./scattercarpet\\\":28,\\\"./scattergeo\\\":29,\\\"./scattergl\\\":30,\\\"./scattermapbox\\\":31,\\\"./scatterternary\\\":32,\\\"./sort\\\":33,\\\"./surface\\\":34}],21:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/mesh3d\\\")},{\\\"../src/traces/mesh3d\\\":985}],22:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/ohlc\\\")},{\\\"../src/traces/ohlc\\\":990}],23:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/parcoords\\\")},{\\\"../src/traces/parcoords\\\":999}],24:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pie\\\")},{\\\"../src/traces/pie\\\":1008}],25:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pointcloud\\\")},{\\\"../src/traces/pointcloud\\\":1017}],26:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/sankey\\\")},{\\\"../src/traces/sankey\\\":1023}],27:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatter3d\\\")},{\\\"../src/traces/scatter3d\\\":1055}],28:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattercarpet\\\")},{\\\"../src/traces/scattercarpet\\\":1060}],29:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergeo\\\")},{\\\"../src/traces/scattergeo\\\":1069}],30:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergl\\\")},{\\\"../src/traces/scattergl\\\":1075}],31:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattermapbox\\\")},{\\\"../src/traces/scattermapbox\\\":1082}],32:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterternary\\\")},{\\\"../src/traces/scatterternary\\\":1089}],33:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/sort\\\")},{\\\"../src/transforms/sort\\\":1102}],34:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/surface\\\")},{\\\"../src/traces/surface\\\":1098}],35:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(e,r,n,a){var o=1/t.clientHeight,s=o*(r-m),l=o*(n-v),c=p.flipX?1:-1,f=p.flipY?1:-1,d=Math.PI*p.rotateSpeed,y=i();if(1&e)a.shift?u.rotate(y,0,0,-s*d):u.rotate(y,c*d*s,-f*d*l,0);else if(2&e)u.pan(y,-p.translateSpeed*s*h,p.translateSpeed*l*h,0);else if(4&e){var b=p.zoomSpeed*l/window.innerHeight*(y-u.lastT())*50;u.pan(y,0,0,h*(Math.exp(b)-1))}m=r,v=n,g=a}t=t||document.body,e=e||{};var n=[.01,1/0];\\\"distanceLimits\\\"in e&&(n[0]=e.distanceLimits[0],n[1]=e.distanceLimits[1]),\\\"zoomMin\\\"in e&&(n[0]=e.zoomMin),\\\"zoomMax\\\"in e&&(n[1]=e.zoomMax);var u=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:n}),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,d=t.clientHeight,p={view:u,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:u.modes,tick:function(){var e=i(),r=this.delay;u.idle(e-r),u.flush(e-(100+2*r));var n=e-2*r;u.recalcMatrix(n);for(var a=!0,o=u.computedMatrix,s=0;s<16;++s)a=a&&c[s]===o[s],c[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===d;return f=t.clientWidth,d=t.clientHeight,a?!l:(h=Math.exp(u.computedRadius[0]),!0)},lookAt:function(t,e,r){u.lookAt(u.lastT(),t,e,r)},rotate:function(t,e,r){u.rotate(u.lastT(),t,e,r)},pan:function(t,e,r){u.pan(u.lastT(),t,e,r)},translate:function(t,e,r){u.translate(u.lastT(),t,e,r)}};Object.defineProperties(p,{matrix:{get:function(){return u.computedMatrix},set:function(t){return u.setMatrix(u.lastT(),t),u.computedMatrix},enumerable:!0},mode:{get:function(){return u.getMode()},set:function(t){return u.setMode(t),u.getMode()},enumerable:!0},center:{get:function(){return u.computedCenter},set:function(t){return u.lookAt(u.lastT(),t),u.computedCenter},enumerable:!0},eye:{get:function(){return u.computedEye},set:function(t){return u.lookAt(u.lastT(),null,t),u.computedEye},enumerable:!0},up:{get:function(){return u.computedUp},set:function(t){return u.lookAt(u.lastT(),null,null,t),u.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return u.setDistance(u.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return u.getDistanceLimits(n)},set:function(t){return u.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var m=0,v=0,g={shift:!1,control:!1,alt:!1,meta:!1};return o(t,r),t.addEventListener(\\\"touchstart\\\",function(e){var n=l(e.changedTouches[0],t);r(0,n[0],n[1],g),r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchmove\\\",function(e){var n=l(e.changedTouches[0],t);r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchend\\\",function(e){l(e.changedTouches[0],t);r(0,m,v,g)}),s(t,function(t,e,r){var n=p.flipX?1:-1,a=p.flipY?1:-1,o=i();if(Math.abs(t)>Math.abs(e))u.rotate(o,0,0,-t*n*Math.PI*p.rotateSpeed/window.innerWidth);else{var s=p.zoomSpeed*a*e/window.innerHeight*(o-u.lastT())/100;u.pan(o,0,0,h*(Math.exp(s)-1))}},!0),p}e.exports=n;var i=t(\\\"right-now\\\"),a=t(\\\"3d-view\\\"),o=t(\\\"mouse-change\\\"),s=t(\\\"mouse-wheel\\\"),l=t(\\\"mouse-event-offset\\\")},{\\\"3d-view\\\":36,\\\"mouse-change\\\":451,\\\"mouse-event-offset\\\":452,\\\"mouse-wheel\\\":454,\\\"right-now\\\":501}],36:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t){t=t||{};var e=t.eye||[0,0,1],r=t.center||[0,0,0],i=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||\\\"turntable\\\",c=a(),h=o(),f=s();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,i),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,i),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,i),new n({turntable:c,orbit:h,matrix:f},u)}e.exports=i;var a=t(\\\"turntable-camera-controller\\\"),o=t(\\\"orbit-camera-controller\\\"),s=t(\\\"matrix-camera-controller\\\"),l=n.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 i=\\\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\\\"+t[0]+\\\"(\\\"+r.join()+\\\")}\\\";l[e]=Function.apply(null,r.concat(i))}),l.recalcMatrix=function(t){this._active.recalcMatrix(t)},l.getDistance=function(t){return this._active.getDistance(t)},l.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},l.lastT=function(){return this._active.lastT()},l.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,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}}},l.getMode=function(){return this._mode}},{\\\"matrix-camera-controller\\\":449,\\\"orbit-camera-controller\\\":472,\\\"turntable-camera-controller\\\":537}],37:[function(e,r,n){!function(i,a){\\\"object\\\"==typeof n&&void 0!==r?a(n,e(\\\"d3-array\\\"),e(\\\"d3-collection\\\"),e(\\\"d3-interpolate\\\")):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\",\\\"d3-array\\\",\\\"d3-collection\\\",\\\"d3-interpolate\\\"],a):a(i.d3=i.d3||{},i.d3,i.d3,i.d3)}(this,function(t,e,r,n){\\\"use strict\\\";var i=function(){function t(){v.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),g.forEach(function(t,e){var r=t.source,n=t.target;\\\"number\\\"==typeof r&&(r=t.source=v[t.source]),\\\"number\\\"==typeof n&&(n=t.target=v[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)})}function i(){v.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h))})}function a(){for(var t,e=v,r=0;e.length;)t=[],e.forEach(function(e){e.x=r,e.dx=d,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),e=t,++r;o(r),s((m[0]-d)/(r-1))}function o(t){v.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})}function s(t){v.forEach(function(e){e.x*=t})}function l(t){function n(){a.forEach(function(t){var e,r,n,a=0,o=t.length;for(t.sort(i),n=0;n<o;++n)e=t[n],r=a-e.y,r>0&&(e.y+=r),a=e.y+e.dy+p;if((r=a-p-m[1])>0)for(a=e.y-=r,n=o-2;n>=0;--n)e=t[n],r=e.y+e.dy+p-a,r>0&&(e.y-=r),a=e.y})}function i(t,e){return t.y-e.y}var a=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(v).map(function(t){return t.values});!function(){var t=e.min(a,function(t){return(m[1]-(t.length-1)*p)/e.sum(t,h)});a.forEach(function(e){e.forEach(function(e,r){e.y=r,e.dy=e.value*t})}),g.forEach(function(e){e.dy=e.value*t})}(),n();for(var o=1;t>0;--t)!function(t){function r(t){return c(t.target)*t.value}a.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,h);n.y+=(i-c(n))*t}})})}(o*=.99),n(),function(t){function r(t){return c(t.source)*t.value}a.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,h);n.y+=(i-c(n))*t}})})}(o),n()}function u(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}v.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),v.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function c(t){return t.y+t.dy/2}function h(t){return t.value}var f={},d=24,p=8,m=[1,1],v=[],g=[];return f.nodeWidth=function(t){return arguments.length?(d=+t,f):d},f.nodePadding=function(t){return arguments.length?(p=+t,f):p},f.nodes=function(t){return arguments.length?(v=t,f):v},f.links=function(t){return arguments.length?(g=t,f):g},f.size=function(t){return arguments.length?(m=t,f):m},f.layout=function(e){return t(),i(),a(),l(e),u(),f},f.relayout=function(){return u(),f},f.link=function(){function t(t){var r=t.source.x+t.source.dx,i=t.target.x,a=n.interpolateNumber(r,i),o=a(e),s=a(1-e),l=t.source.y+t.sy,u=l+t.dy,c=t.target.y+t.ty,h=c+t.dy;return\\\"M\\\"+r+\\\",\\\"+l+\\\"C\\\"+o+\\\",\\\"+l+\\\" \\\"+s+\\\",\\\"+c+\\\" \\\"+i+\\\",\\\"+c+\\\"L\\\"+i+\\\",\\\"+h+\\\"C\\\"+s+\\\",\\\"+h+\\\" \\\"+o+\\\",\\\"+u+\\\" \\\"+r+\\\",\\\"+u+\\\"Z\\\"}var e=.5;return t.curvature=function(r){return arguments.length?(e=+r,t):e},t},f};t.sankey=i,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{\\\"d3-array\\\":113,\\\"d3-collection\\\":114,\\\"d3-interpolate\\\":118}],38:[function(t,e,r){\\\"use strict\\\";function n(t){var e=s.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=o(t,[{buffer:n,type:t.FLOAT,size:2}]),e._triangleBuffer=n,s.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}var i=\\\"undefined\\\"==typeof WeakMap?t(\\\"weak-map\\\"):WeakMap,a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-vao\\\"),s=new i;e.exports=n},{\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270,\\\"weak-map\\\":558}],39:[function(t,e,r){function n(t,e,r){e=\\\"number\\\"==typeof e?e:1,r=r||\\\": \\\";var n=t.split(/\\\\r?\\\\n/),a=String(n.length+e-1).length;return n.map(function(t,n){var o=n+e,s=String(o).length;return i(o,a-s)+r+t}).join(\\\"\\\\n\\\")}var i=t(\\\"pad-left\\\");e.exports=n},{\\\"pad-left\\\":473}],40:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(var n=0;n<=t.length;++n){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-n,s);r[i]=o}if(a.apply(void 0,r))return!0}return!1}function i(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o<e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a}e.exports=i;var a=t(\\\"robust-orientation\\\")},{\\\"robust-orientation\\\":507}],41:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(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})}e.exports=n;var i=t(\\\"delaunay-triangulate\\\"),a=t(\\\"circumradius\\\")},{circumradius:86,\\\"delaunay-triangulate\\\":122}],42:[function(t,e,r){function n(t,e){return a(i(t,e))}e.exports=n;var i=t(\\\"alpha-complex\\\"),a=t(\\\"simplicial-complex-boundary\\\")},{\\\"alpha-complex\\\":41,\\\"simplicial-complex-boundary\\\":515}],43:[function(t,e,r){\\\"use strict\\\";function n(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 i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}e.exports=n},{}],44:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!t||null==t.length)throw Error(\\\"Argument should be an array\\\");null==e&&(e=1),null==r&&(r=i(t,e));for(var n=0;n<e;n++){var a=r[e+n],o=r[n],s=n,l=t.length;if(a===1/0&&o===-1/0)for(s=n;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=n;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=n;s<l;s+=e)t[s]=t[s]===o?0:1;else{var u=a-o;for(s=n;s<l;s+=e)t[s]=(t[s]-o)/u}}return t}var i=t(\\\"array-bounds\\\");e.exports=n},{\\\"array-bounds\\\":43}],45:[function(t,e,r){\\\"use strict\\\";e.exports=function(){function t(t){return!Array.isArray(t)&&null!==t&&\\\"object\\\"==typeof t}function e(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a<r;a++)i.push(t+a*n);return i}function r(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i<r;i++){n[i]=[];for(var a=0;a<t.length;++a)n[i][a]=t[a][i]}return n}function n(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a<n;a++)i.push([t[a],e[a],r[a]]);return i}function i(t){function e(t){for(var n=0;n<t.length;n++)Array.isArray(t[n])?e(t[n],r):r+=t[n]}var r=0;return e(t,r),r}function a(t){for(var e=[],r=0;r<t.length;++r){e[r]=[];for(var n=0;n<t[r].length;++n)e[r][n]=t[r][n]}return e}function o(t){for(var e=[],r=0;r<t.length;++r)e[r]=t[r];return e}function s(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0}function l(t,e){var r,n;if(\\\"string\\\"!=typeof t)return t;if(r=[],\\\"#\\\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3])),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}function u(t,e){var r,n;if(\\\"string\\\"!=typeof t)return t;if(r=[],\\\"#\\\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3]),n[4]?r[3]=parseFloat(n[4]):r[3]=1),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}var c={},h=/^rgba?\\\\(\\\\s*\\\\d{1,3}\\\\s*,\\\\s*\\\\d{1,3}\\\\s*,\\\\s*\\\\d{1,3}\\\\s*(,.*)?\\\\)$/,f=/^rgba?\\\\(\\\\s*(\\\\d{1,3})\\\\s*,\\\\s*(\\\\d{1,3})\\\\s*,\\\\s*(\\\\d{1,3})\\\\s*,?\\\\s*(.*)?\\\\)$/;return c.isPlainObject=t,c.linspace=e,c.zip3=n,c.sum=i,c.zip=r,c.isEqual=s,c.copy2D=a,c.copy1D=o,c.str2RgbArray=l,c.str2RgbaArray=u,c}()},{}],46:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];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)}function a(t){return Object.prototype.toString.call(t)}function o(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))))}function s(t){if(x.isFunction(t)){if(M)return t.name;var e=t.toString(),r=e.match(A);return r&&r[1]}}function l(t,e){return\\\"string\\\"==typeof t?t.length<e?t:t.slice(0,e):t}function u(t){if(M||!x.isFunction(t))return x.inspect(t);var e=s(t);return\\\"[Function\\\"+(e?\\\": \\\"+e:\\\"\\\")+\\\"]\\\"}function c(t){return l(u(t.actual),128)+\\\" \\\"+t.operator+\\\" \\\"+l(u(t.expected),128)}function h(t,e,r,n,i){throw new k.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function f(t,e){t||h(t,!0,e,\\\"==\\\",k.ok)}function d(t,e,r,s){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(x.isDate(t)&&x.isDate(e))return t.getTime()===e.getTime();if(x.isRegExp(t)&&x.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(o(t)&&o(e)&&a(t)===a(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;s=s||{actual:[],expected:[]};var l=s.actual.indexOf(t);return-1!==l&&l===s.expected.indexOf(e)||(s.actual.push(t),s.expected.push(e),m(t,e,r,s))}return r?t===e:t==e}function p(t){return\\\"[object Arguments]\\\"==Object.prototype.toString.call(t)}function m(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(x.isPrimitive(t)||x.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=p(t),a=p(e);if(i&&!a||!i&&a)return!1;if(i)return t=w.call(t),e=w.call(e),d(t,e,r);var o,s,l=T(t),u=T(e);if(l.length!==u.length)return!1;for(l.sort(),u.sort(),s=l.length-1;s>=0;s--)if(l[s]!==u[s])return!1;for(s=l.length-1;s>=0;s--)if(o=l[s],!d(t[o],e[o],r,n))return!1;return!0}function v(t,e,r){d(t,e,!0)&&h(t,e,r,\\\"notDeepStrictEqual\\\",v)}function g(t,e){if(!t||!e)return!1\\n\",\n       \";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 y(t){var e;try{t()}catch(t){e=t}return e}function b(t,e,r,n){var i;if(\\\"function\\\"!=typeof e)throw new TypeError('\\\"block\\\" argument must be a function');\\\"string\\\"==typeof r&&(n=r,r=null),i=y(e),n=(r&&r.name?\\\" (\\\"+r.name+\\\").\\\":\\\".\\\")+(n?\\\" \\\"+n:\\\".\\\"),t&&!i&&h(i,r,\\\"Missing expected exception\\\"+n);var a=\\\"string\\\"==typeof n,o=!t&&x.isError(i),s=!t&&i&&!r;if((o&&a&&g(i,r)||s)&&h(i,r,\\\"Got unwanted exception\\\"+n),t&&i&&r&&!g(i,r)||!t&&i)throw i}var x=t(\\\"util/\\\"),_=Object.prototype.hasOwnProperty,w=Array.prototype.slice,M=function(){return\\\"foo\\\"===function(){}.name}(),k=e.exports=f,A=/\\\\s*function\\\\s+([^\\\\(\\\\s]*)\\\\s*/;k.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=c(this),this.generatedMessage=!0);var e=t.stackStartFunction||h;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=s(e),a=n.indexOf(\\\"\\\\n\\\"+i);if(a>=0){var o=n.indexOf(\\\"\\\\n\\\",a+1);n=n.substring(o+1)}this.stack=n}}},x.inherits(k.AssertionError,Error),k.fail=h,k.ok=f,k.equal=function(t,e,r){t!=e&&h(t,e,r,\\\"==\\\",k.equal)},k.notEqual=function(t,e,r){t==e&&h(t,e,r,\\\"!=\\\",k.notEqual)},k.deepEqual=function(t,e,r){d(t,e,!1)||h(t,e,r,\\\"deepEqual\\\",k.deepEqual)},k.deepStrictEqual=function(t,e,r){d(t,e,!0)||h(t,e,r,\\\"deepStrictEqual\\\",k.deepStrictEqual)},k.notDeepEqual=function(t,e,r){d(t,e,!1)&&h(t,e,r,\\\"notDeepEqual\\\",k.notDeepEqual)},k.notDeepStrictEqual=v,k.strictEqual=function(t,e,r){t!==e&&h(t,e,r,\\\"===\\\",k.strictEqual)},k.notStrictEqual=function(t,e,r){t===e&&h(t,e,r,\\\"!==\\\",k.notStrictEqual)},k.throws=function(t,e,r){b(!0,t,e,r)},k.doesNotThrow=function(t,e,r){b(!1,t,e,r)},k.ifError=function(t){if(t)throw t};var T=Object.keys||function(t){var e=[];for(var r in t)_.call(t,r)&&e.push(r);return e}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"util/\\\":548}],47:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],48:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}function i(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(var o=0;o<=r;++o)i[r][o]=1;for(var u=new Array(r+1),o=0;o<r;++o)u[o]=e[o];u[r]=1;var c=a(i,u),h=n(c[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=n(c[o])/h;return f}e.exports=i;var a=t(\\\"robust-linear-solve\\\")},{\\\"robust-linear-solve\\\":506}],49:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],50:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}e.exports=n},{}],51:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[1]),t[1].mul(e[0]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],52:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(i(t))return e?u(t,n(e)):[t[0].clone(),t[1].clone()];var r,c,h=0;if(a(t))r=t.clone();else if(\\\"string\\\"==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),h-=256;r=o(t)}}if(i(e))r.mul(e[1]),c=e[0].clone();else if(a(e))c=e.clone();else if(\\\"string\\\"==typeof e)c=s(e);else if(e)if(e===Math.floor(e))c=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h+=256;c=o(e)}else c=o(1);return h>0?r=r.ushln(h):h<0&&(c=c.ushln(-h)),l(r,c)}var i=t(\\\"./is-rat\\\"),a=t(\\\"./lib/is-bn\\\"),o=t(\\\"./lib/num-to-bn\\\"),s=t(\\\"./lib/str-to-bn\\\"),l=t(\\\"./lib/rationalize\\\"),u=t(\\\"./div\\\");e.exports=n},{\\\"./div\\\":51,\\\"./is-rat\\\":53,\\\"./lib/is-bn\\\":57,\\\"./lib/num-to-bn\\\":58,\\\"./lib/rationalize\\\":59,\\\"./lib/str-to-bn\\\":60}],53:[function(t,e,r){\\\"use strict\\\";function n(t){return Array.isArray(t)&&2===t.length&&i(t[0])&&i(t[1])}var i=t(\\\"./lib/is-bn\\\");e.exports=n},{\\\"./lib/is-bn\\\":57}],54:[function(t,e,r){\\\"use strict\\\";function n(t){return t.cmp(new i(0))}var i=t(\\\"bn.js\\\");e.exports=n},{\\\"bn.js\\\":67}],55:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length,r=t.words,n=0;if(1===e)n=r[0];else if(2===e)n=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];n+=o*Math.pow(67108864,a)}return i(t)*n}var i=t(\\\"./bn-sign\\\");e.exports=n},{\\\"./bn-sign\\\":54}],56:[function(t,e,r){\\\"use strict\\\";function n(t){var e=a(i.lo(t));if(e<32)return e;var r=a(i.hi(t));return r>20?52:r+32}var i=t(\\\"double-bits\\\"),a=t(\\\"bit-twiddle\\\").countTrailingZeros;e.exports=n},{\\\"bit-twiddle\\\":66,\\\"double-bits\\\":123}],57:[function(t,e,r){\\\"use strict\\\";function n(t){return t&&\\\"object\\\"==typeof t&&Boolean(t.words)}t(\\\"bn.js\\\");e.exports=n},{\\\"bn.js\\\":67}],58:[function(t,e,r){\\\"use strict\\\";function n(t){var e=a.exponent(t);return e<52?new i(t):new i(t*Math.pow(2,52-e)).ushln(e-52)}var i=t(\\\"bn.js\\\"),a=t(\\\"double-bits\\\");e.exports=n},{\\\"bn.js\\\":67,\\\"double-bits\\\":123}],59:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=a(t),n=a(e);if(0===r)return[i(0),i(1)];if(0===n)return[i(0),i(0)];n<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}var i=t(\\\"./num-to-bn\\\"),a=t(\\\"./bn-sign\\\");e.exports=n},{\\\"./bn-sign\\\":54,\\\"./num-to-bn\\\":58}],60:[function(t,e,r){\\\"use strict\\\";function n(t){return new i(t)}var i=t(\\\"bn.js\\\");e.exports=n},{\\\"bn.js\\\":67}],61:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[0]),t[1].mul(e[1]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],62:[function(t,e,r){\\\"use strict\\\";function n(t){return i(t[0])*i(t[1])}var i=t(\\\"./lib/bn-sign\\\");e.exports=n},{\\\"./lib/bn-sign\\\":54}],63:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],64:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.abs().divmod(r.abs()),o=n.div,s=i(o),l=n.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=a(s)+4,h=i(l.ushln(c).divRound(r));return u*(s+h*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=i(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),u*h*Math.pow(2,1023-f))}var i=t(\\\"./lib/bn-to-num\\\"),a=t(\\\"./lib/ctz\\\");e.exports=n},{\\\"./lib/bn-to-num\\\":55,\\\"./lib/ctz\\\":56}],65:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){var o=[\\\"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\\\",i?\\\".get(m)\\\":\\\"[m]\\\"];return a?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(\\\"}\\\"),a?o.push(\\\"return -1};\\\"):o.push(\\\"return i};\\\"),o.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!1,i),n(\\\"B\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!0,i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!1,i),n(\\\"Q\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!0,i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],66:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";function n(t){var e=32;return t&=-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,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,(e|=r)|t>>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 t-=t>>>1&1431655765,16843009*((t=(858993459&t)+(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 i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return t&=65535,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e&=65535,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},r.deinterleave2=function(t,e){return t=t>>>e&1431655765,t=858993459&(t|t>>>1),t=252645135&(t|t>>>2),t=16711935&(t|t>>>4),(t=65535&(t|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t&=1023,t=4278190335&(t|t<<16),t=251719695&(t|t<<8),t=3272356035&(t|t<<4),t=1227133513&(t|t<<2),e&=1023,e=4278190335&(e|e<<16),e=251719695&(e|e<<8),e=3272356035&(e|e<<4),e=1227133513&(e|e<<2),t|=e<<1,r&=1023,r=4278190335&(r|r<<16),r=251719695&(r|r<<8),r=3272356035&(r|r<<4),r=1227133513&(r|r<<2),t|r<<2},r.deinterleave3=function(t,e){return t=t>>>e&1227133513,t=3272356035&(t|t>>>2),t=251719695&(t|t>>>4),t=4278190335&(t|t>>>8),(t=1023&(t|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],67:[function(t,e,r){!function(e,r){\\\"use strict\\\";function n(t,e){if(!t)throw new Error(e||\\\"Assertion failed\\\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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\\\"))}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}function l(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}function u(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,h=67108863&l,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var p=u-d|0;i=0|t.words[p],a=0|e.words[d],o=i*a+h,c+=o/67108864|0,h=67108863&o}r.words[u]=0|h,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}function c(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),u=Math.max(0,a-t.length+1);u<=l;u++){var c=a-u,h=0|t.words[c],f=0|e.words[u],d=h*f,p=67108863&d;o=o+(d/67108864|0)|0,p=p+s|0,s=67108863&p,o=o+(p>>>26)|0,i+=o>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}function h(t,e,r){return(new f).mulp(t,e,r)}function f(t,e){this.x=t,this.y=e}function d(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function p(){d.call(this,\\\"k256\\\",\\\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\\\")}function m(){d.call(this,\\\"p224\\\",\\\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\\\")}function v(){d.call(this,\\\"p192\\\",\\\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\\\")}function g(){d.call(this,\\\"25519\\\",\\\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\\\")}function y(t){if(\\\"string\\\"==typeof t){var e=a._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 b(t){y.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}\\\"object\\\"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;var x;try{x=t(\\\"buffer\\\").Buffer}catch(t){}a.isBN=function(t){return t instanceof a||null!==t&&\\\"object\\\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.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),t=t.toString().replace(/\\\\s+/g,\\\"\\\");var i=0;\\\"-\\\"===t[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\\\"-\\\"===t[0]&&(this.negative=1),this.strip(),\\\"le\\\"===r&&this._initArray(this.toArray(),e,r)},a.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)},a.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 i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\\\"be\\\"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\\\"le\\\"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.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,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=o(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=o(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,u=0,c=r;c<l;c+=n)u=s(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==o){var h=1;for(u=s(t,c,t.length,e),c=0;c<o;c++)h*=e;this.imuln(h),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},a.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},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\\\"<BN-R: \\\":\\\"<BN: \\\")+this.toString(16)+\\\">\\\"};var _=[\\\"\\\",\\\"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\\\"],w=[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],M=[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];a.prototype.toString=function(t,e){t=t||10,e=0|e||1;var r;if(16===t||\\\"hex\\\"===t){r=\\\"\\\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);a=s>>>24-i&16777215,r=0!==a||o!==this.length-1?_[6-l.length]+l+r:l+r,i+=2,i>=26&&(i-=26,o--)}for(0!==a&&(r=a.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 u=w[t],c=M[t];r=\\\"\\\";var h=this.clone();for(h.negative=0;!h.isZero();){var f=h.modn(c).toString(t);h=h.idivn(c),r=h.isZero()?f+r:_[u-f.length]+f+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\\\")},a.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},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==x),this.toArrayLike(x,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\\\"byte array longer than desired length\\\"),n(a>0,\\\"Requested array length <= 0\\\"),this.strip();var o,s,l=\\\"le\\\"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.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},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.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()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.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()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.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()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.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 i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\\\"number\\\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e;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();var r,n;this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.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)},a.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=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;var n,i;r>0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o<i.length;o++)e=(0|n.words[o])-(0|i.words[o])+a,a=e>>26,this.words[o]=67108863&e;for(;0!==a&&o<n.length;o++)e=(0|n.words[o])+a,a=e>>26,this.words[o]=67108863&e;if(0===a&&o<n.length&&n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var k=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,u=0,c=0|o[0],h=8191&c,f=c>>>13,d=0|o[1],p=8191&d,m=d>>>13,v=0|o[2],g=8191&v,y=v>>>13,b=0|o[3],x=8191&b,_=b>>>13,w=0|o[4],M=8191&w,k=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,z=0|o[7],I=8191&z,D=z>>>13,P=0|o[8],O=8191&P,R=P>>>13,F=0|o[9],j=8191&F,N=F>>>13,B=0|s[0],U=8191&B,V=B>>>13,H=0|s[1],q=8191&H,G=H>>>13,Y=0|s[2],X=8191&Y,W=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,ft=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,n=Math.imul(h,U),i=Math.imul(h,V),i=i+Math.imul(f,U)|0,a=Math.imul(f,V);var vt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,U),i=Math.imul(p,V),i=i+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(h,q)|0,i=i+Math.imul(h,G)|0,i=i+Math.imul(f,q)|0,a=a+Math.imul(f,G)|0;var gt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,U),i=Math.imul(g,V),i=i+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(p,q)|0,i=i+Math.imul(p,G)|0,i=i+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(h,X)|0,i=i+Math.imul(h,W)|0,i=i+Math.imul(f,X)|0,a=a+Math.imul(f,W)|0;var yt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(x,U),i=Math.imul(x,V),i=i+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(g,q)|0,i=i+Math.imul(g,G)|0,i=i+Math.imul(y,q)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(p,X)|0,i=i+Math.imul(p,W)|0,i=i+Math.imul(m,X)|0,a=a+Math.imul(m,W)|0,n=n+Math.imul(h,J)|0,i=i+Math.imul(h,K)|0,i=i+Math.imul(f,J)|0,a=a+Math.imul(f,K)|0;var bt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=Math.imul(M,V),i=i+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(x,q)|0,i=i+Math.imul(x,G)|0,i=i+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(g,X)|0,i=i+Math.imul(g,W)|0,i=i+Math.imul(y,X)|0,a=a+Math.imul(y,W)|0,n=n+Math.imul(p,J)|0,i=i+Math.imul(p,K)|0,i=i+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0,n=n+Math.imul(h,$)|0,i=i+Math.imul(h,tt)|0,i=i+Math.imul(f,$)|0,a=a+Math.imul(f,tt)|0;var xt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=Math.imul(T,V),i=i+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(M,q)|0,i=i+Math.imul(M,G)|0,i=i+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(x,X)|0,i=i+Math.imul(x,W)|0,i=i+Math.imul(_,X)|0,a=a+Math.imul(_,W)|0,n=n+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0,i=i+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(p,$)|0,i=i+Math.imul(p,tt)|0,i=i+Math.imul(m,$)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(h,rt)|0,i=i+Math.imul(h,nt)|0,i=i+Math.imul(f,rt)|0,a=a+Math.imul(f,nt)|0;var _t=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=Math.imul(L,V),i=i+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(T,q)|0,i=i+Math.imul(T,G)|0,i=i+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,X)|0,i=i+Math.imul(M,W)|0,i=i+Math.imul(k,X)|0,a=a+Math.imul(k,W)|0,n=n+Math.imul(x,J)|0,i=i+Math.imul(x,K)|0,i=i+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0,i=i+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=i+Math.imul(p,nt)|0,i=i+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(h,at)|0,i=i+Math.imul(h,ot)|0,i=i+Math.imul(f,at)|0,a=a+Math.imul(f,ot)|0;var wt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),i=Math.imul(I,V),i=i+Math.imul(D,U)|0,a=Math.imul(D,V),n=n+Math.imul(L,q)|0,i=i+Math.imul(L,G)|0,i=i+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(T,X)|0,i=i+Math.imul(T,W)|0,i=i+Math.imul(S,X)|0,a=a+Math.imul(S,W)|0,n=n+Math.imul(M,J)|0,i=i+Math.imul(M,K)|0,i=i+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(x,$)|0,i=i+Math.imul(x,tt)|0,i=i+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0,i=i+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(p,at)|0,i=i+Math.imul(p,ot)|0,i=i+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(h,lt)|0,i=i+Math.imul(h,ut)|0,i=i+Math.imul(f,lt)|0,a=a+Math.imul(f,ut)|0;var Mt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,U),i=Math.imul(O,V),i=i+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(I,q)|0,i=i+Math.imul(I,G)|0,i=i+Math.imul(D,q)|0,a=a+Math.imul(D,G)|0,n=n+Math.imul(L,X)|0,i=i+Math.imul(L,W)|0,i=i+Math.imul(C,X)|0,a=a+Math.imul(C,W)|0,n=n+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,i=i+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=i+Math.imul(M,tt)|0,i=i+Math.imul(k,$)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(x,rt)|0,i=i+Math.imul(x,nt)|0,i=i+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(g,at)|0,i=i+Math.imul(g,ot)|0,i=i+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(p,lt)|0,i=i+Math.imul(p,ut)|0,i=i+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(h,ht)|0,i=i+Math.imul(h,ft)|0,i=i+Math.imul(f,ht)|0,a=a+Math.imul(f,ft)|0;var kt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,U),i=Math.imul(j,V),i=i+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(O,q)|0,i=i+Math.imul(O,G)|0,i=i+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(I,X)|0,i=i+Math.imul(I,W)|0,i=i+Math.imul(D,X)|0,a=a+Math.imul(D,W)|0,n=n+Math.imul(L,J)|0,i=i+Math.imul(L,K)|0,i=i+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,i=i+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=i+Math.imul(M,nt)|0,i=i+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(x,at)|0,i=i+Math.imul(x,ot)|0,i=i+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(g,lt)|0,i=i+Math.imul(g,ut)|0,i=i+Math.imul(y,lt)|0,a=a+Math.imul(y,ut)|0,n=n+Math.imul(p,ht)|0,i=i+Math.imul(p,ft)|0,i=i+Math.imul(m,ht)|0,a=a+Math.imul(m,ft)|0,n=n+Math.imul(h,pt)|0,i=i+Math.imul(h,mt)|0,i=i+Math.imul(f,pt)|0,a=a+Math.imul(f,mt)|0;var At=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(j,q),i=Math.imul(j,G),i=i+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(O,X)|0,i=i+Math.imul(O,W)|0,i=i+Math.imul(R,X)|0,a=a+Math.imul(R,W)|0,n=n+Math.imul(I,J)|0,i=i+Math.imul(I,K)|0,i=i+Math.imul(D,J)|0,a=a+Math.imul(D,K)|0,n=n+Math.imul(L,$)|0,i=i+Math.imul(L,tt)|0,i=i+Math.imul(C,$)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,i=i+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=i+Math.imul(M,ot)|0,i=i+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(x,lt)|0,i=i+Math.imul(x,ut)|0,i=i+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0,i=i+Math.imul(y,ht)|0,a=a+Math.imul(y,ft)|0,n=n+Math.imul(p,pt)|0,i=i+Math.imul(p,mt)|0,i=i+Math.imul(m,pt)|0,a=a+Math.imul(m,mt)|0;var Tt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,X),i=Math.imul(j,W),i=i+Math.imul(N,X)|0,a=Math.imul(N,W),n=n+Math.imul(O,J)|0,i=i+Math.imul(O,K)|0,i=i+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(I,$)|0,i=i+Math.imul(I,tt)|0,i=i+Math.imul(D,$)|0,a=a+Math.imul(D,tt)|0,n=n+Math.imul(L,rt)|0,i=i+Math.imul(L,nt)|0,i=i+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(T,at)|0,i=i+Math.imul(T,ot)|0,i=i+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=i+Math.imul(M,ut)|0,i=i+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(x,ht)|0,i=i+Math.imul(x,ft)|0,i=i+Math.imul(_,ht)|0,a=a+Math.imul(_,ft)|0,n=n+Math.imul(g,pt)|0,i=i+Math.imul(g,mt)|0,i=i+Math.imul(y,pt)|0,a=a+Math.imul(y,mt)|0;var St=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,J),i=Math.imul(j,K),i=i+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(O,$)|0,i=i+Math.imul(O,tt)|0,i=i+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(I,rt)|0,i=i+Math.imul(I,nt)|0,i=i+Math.imul(D,rt)|0,a=a+Math.imul(D,nt)|0,n=n+Math.imul(L,at)|0,i=i+Math.imul(L,ot)|0,i=i+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(T,lt)|0,i=i+Math.imul(T,ut)|0,i=i+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(M,ht)|0,i=i+Math.imul(M,ft)|0,i=i+Math.imul(k,ht)|0,a=a+Math.imul(k,ft)|0,n=n+Math.imul(x,pt)|0,i=i+Math.imul(x,mt)|0,i=i+Math.imul(_,pt)|0,a=a+Math.imul(_,mt)|0;var Et=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,$),i=Math.imul(j,tt),i=i+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=i+Math.imul(O,nt)|0,i=i+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(I,at)|0,i=i+Math.imul(I,ot)|0,i=i+Math.imul(D,at)|0,a=a+Math.imul(D,ot)|0,n=n+Math.imul(L,lt)|0,i=i+Math.imul(L,ut)|0,i=i+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0,i=i+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0,n=n+Math.imul(M,pt)|0,i=i+Math.imul(M,mt)|0,i=i+Math.imul(k,pt)|0,a=a+Math.imul(k,mt)|0;var Lt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(j,rt),i=Math.imul(j,nt),i=i+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(O,at)|0,i=i+Math.imul(O,ot)|0,i=i+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(I,lt)|0,i=i+Math.imul(I,ut)|0,i=i+Math.imul(D,lt)|0,a=a+Math.imul(D,ut)|0,n=n+Math.imul(L,ht)|0,i=i+Math.imul(L,ft)|0,i=i+Math.imul(C,ht)|0,a=a+Math.imul(C,ft)|0,n=n+Math.imul(T,pt)|0,i=i+Math.imul(T,mt)|0,\\n\",\n       \"i=i+Math.imul(S,pt)|0,a=a+Math.imul(S,mt)|0;var Ct=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,at),i=Math.imul(j,ot),i=i+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(O,lt)|0,i=i+Math.imul(O,ut)|0,i=i+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(I,ht)|0,i=i+Math.imul(I,ft)|0,i=i+Math.imul(D,ht)|0,a=a+Math.imul(D,ft)|0,n=n+Math.imul(L,pt)|0,i=i+Math.imul(L,mt)|0,i=i+Math.imul(C,pt)|0,a=a+Math.imul(C,mt)|0;var zt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(j,lt),i=Math.imul(j,ut),i=i+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(O,ht)|0,i=i+Math.imul(O,ft)|0,i=i+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0,n=n+Math.imul(I,pt)|0,i=i+Math.imul(I,mt)|0,i=i+Math.imul(D,pt)|0,a=a+Math.imul(D,mt)|0;var It=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ht),i=Math.imul(j,ft),i=i+Math.imul(N,ht)|0,a=Math.imul(N,ft),n=n+Math.imul(O,pt)|0,i=i+Math.imul(O,mt)|0,i=i+Math.imul(R,pt)|0,a=a+Math.imul(R,mt)|0;var Dt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(j,pt),i=Math.imul(j,mt),i=i+Math.imul(N,pt)|0,a=Math.imul(N,mt);var Pt=(u+n|0)+((8191&i)<<13)|0;return u=(a+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,l[0]=vt,l[1]=gt,l[2]=yt,l[3]=bt,l[4]=xt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=kt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=zt,l[16]=It,l[17]=Dt,l[18]=Pt,0!==u&&(l[19]=u,r.length++),r};Math.imul||(k=u),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?k(this,t,e):r<63?u(this,t,e):r<1024?c(this,t,e):h(this,t,e)},f.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},f.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},f.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},f.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=l,f=u,d=0;d<o;d++){var p=r[c+d],m=n[c+d],v=r[c+d+o],g=n[c+d+o],y=h*v-f*g;g=h*g+f*v,v=y,r[c+d]=p+v,n[c+d]=m+g,r[c+d+o]=p-v,n[c+d+o]=m-g,d!==s&&(y=l*h-u*f,f=l*f+u*h,h=y)}},f.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},f.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},f.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},f.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},f.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},f.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=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,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,h,n,i);for(var d=0;d<n;d++){var p=s[d]*c[d]-l[d]*h[d];l[d]=s[d]*h[d]+l[d]*c[d],s[d]=p}return this.conjugate(s,l,n),this.transform(s,l,f,a,n,i),this.conjugate(f,a,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),h(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(\\\"number\\\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=l(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,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!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){n(\\\"number\\\"==typeof t&&t>=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|this.words[u];this.words[u]=c<<26-a|h>>>a,c=h&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.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 i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.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)},a.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},a.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()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a=t.length+r;this._expand(a);var o,s=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;o-=67108863&l,s=(o>>26)-(l/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)o=(0|this.words[i+r])+s,s=o>>26,this.words[i+r]=67108863&o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)o=-(0|this.words[i])+s,s=o>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=this.length-t.length,n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\\\"mod\\\"!==e){s=new a(null),s.length=l+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(i,1,l);0===c.negative&&(n=c,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,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}},a.prototype.divmod=function(t,e,r){if(n(!t.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var i,o,s;return 0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\\\"mod\\\"!==e&&(i=s.div.neg()),\\\"div\\\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\\\"mod\\\"!==e&&(i=s.div.neg()),{div:i,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 a(0),mod:this}:1===t.length?\\\"div\\\"===e?{div:this.divn(t.words[0]),mod:null}:\\\"mod\\\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e)},a.prototype.div=function(t){return this.divmod(t,\\\"div\\\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\\\"mod\\\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\\\"mod\\\",!0).mod},a.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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.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 i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.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 i=new a(1),o=new a(0),s=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,u=1;0==(e.words[0]&u)&&l<26;++l,u<<=1);if(l>0)for(e.iushrn(l);l-- >0;)i.isOdd()&&i.iadd(s),i.iushrn(1);for(var c=0,h=1;0==(r.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(r.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(o)):(r.isub(e),o.isub(i))}var f;return f=0===e.cmpn(1)?i:o,f.cmpn(0)<0&&f.iadd(t),f},a.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\\\"number\\\"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];s+=a,a=s>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e=t<0;if(0!==this.negative&&!e)return-1;if(0===this.negative&&e)return 1;this.strip();var r;if(this.length>1)r=1;else{e&&(t=-t),n(t<=67108863,\\\"Number is too big\\\");var i=0|this.words[0];r=i===t?0:i<t?-1:1}return 0!==this.negative?0|-r:r},a.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},a.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],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new y(t)},a.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)},a.prototype.fromRed=function(){return n(this.red,\\\"fromRed works only with numbers in reduction context\\\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\\\"Already a number in reduction context\\\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\\\"redAdd works only with red numbers\\\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\\\"redIAdd works only with red numbers\\\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\\\"redSub works only with red numbers\\\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\\\"redISub works only with red numbers\\\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\\\"redShl works only with red numbers\\\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\\\"redSqr works only with red numbers\\\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\\\"redISqr works only with red numbers\\\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\\\"redSqrt works only with red numbers\\\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\\\"redInvm works only with red numbers\\\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\\\"redNeg works only with red numbers\\\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,\\\"redPow(normalNum)\\\"),this.red._verify1(this),this.red.pow(this,t)};var A={k256:null,p224:null,p192:null,p25519:null};d.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},d.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.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},d.prototype.split=function(t,e){t.iushrn(this.n,0,e)},d.prototype.imulK=function(t){return t.imul(this.k)},i(p,d),p.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 i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},p.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},i(m,d),i(v,d),i(g,d),g.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(A[t])return A[t];var e;if(\\\"k256\\\"===t)e=new p;else if(\\\"p224\\\"===t)e=new m;else if(\\\"p192\\\"===t)e=new v;else{if(\\\"p25519\\\"!==t)throw new Error(\\\"Unknown prime \\\"+t);e=new g}return A[t]=e,e},y.prototype._verify1=function(t){n(0===t.negative,\\\"red works only with positives\\\"),n(t.red,\\\"red works only with red numbers\\\")},y.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\\\")},y.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},y.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},y.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)},y.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},y.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)},y.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},y.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},y.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},y.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},y.prototype.isqr=function(t){return this.imul(t,t.clone())},y.prototype.sqr=function(t){return this.mul(t,t)},y.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 a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var h=this.pow(c,i),f=this.pow(t,i.addn(1).iushrn(1)),d=this.pow(t,i),p=o;0!==d.cmp(s);){for(var m=d,v=0;0!==m.cmp(s);v++)m=m.redSqr();n(v<p);var g=this.pow(h,new a(1).iushln(p-v-1));f=f.redMul(g),h=g.redSqr(),d=d.redMul(h),p=v}return f},y.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},y.prototype.pow=function(t,e){if(e.isZero())return new a(1);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var h=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},y.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},y.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new b(t)},i(b,y),b.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},b.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},b.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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},b.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},b.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{}],68:[function(t,e,r){\\\"use strict\\\";function n(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),h=0;for(n=0;n<u;++n)n!==r&&(c[h++]=l[n]);if(1&r){var f=c[1];c[1]=c[0],c[0]=f}}}return o}e.exports=n},{}],69:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s<l;++s){var u=t[s];if(!n(e,u)){for(var c=0;c<2*e;++c)r[a++]=u[c];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a<=0||o<=0)){var s=t[0].length>>>1;if(!(s<=0)){var l,u=h.mallocDouble(2*s*a),c=h.mallocInt32(a);if((a=i(t,s,u,c))>0){if(1===s&&n)f.init(a),l=f.sweepComplete(s,r,0,a,u,c,0,a,u,c);else{var p=h.mallocDouble(2*s*o),m=h.mallocInt32(o);o=i(e,s,p,m),o>0&&(f.init(a+o),l=1===s?f.sweepBipartite(s,r,0,a,u,c,0,o,p,m):d(s,r,n,a,u,c,o,p,m),h.free(p),h.free(m))}h.free(u),h.free(c)}return l}}}function o(t,e){c.push([t,e])}function s(t){return c=[],a(t,t,o,!0),c}function l(t,e){return c=[],a(t,e,o,!1),c}function u(t,e,r){switch(arguments.length){case 1:return s(t);case 2:return\\\"function\\\"==typeof e?a(t,t,e,!0):l(t,e);case 3:return a(t,e,r,!1);default:throw new Error(\\\"box-intersect: Invalid arguments\\\")}}e.exports=u;var c,h=t(\\\"typedarray-pool\\\"),f=t(\\\"./lib/sweep\\\"),d=t(\\\"./lib/intersect\\\")},{\\\"./lib/intersect\\\":71,\\\"./lib/sweep\\\":75,\\\"typedarray-pool\\\":540}],70:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=\\\"bruteForce\\\"+(t?\\\"Red\\\":\\\"Blue\\\")+(e?\\\"Flip\\\":\\\"\\\")+(r?\\\"Full\\\":\\\"\\\"),i=[\\\"function \\\",n,\\\"(\\\",w.join(),\\\"){\\\",\\\"var \\\",u,\\\"=2*\\\",a,\\\";\\\"],l=\\\"for(var i=\\\"+c+\\\",\\\"+p+\\\"=\\\"+u+\\\"*\\\"+c+\\\";i<\\\"+h+\\\";++i,\\\"+p+\\\"+=\\\"+u+\\\"){var x0=\\\"+f+\\\"[\\\"+o+\\\"+\\\"+p+\\\"],x1=\\\"+f+\\\"[\\\"+o+\\\"+\\\"+p+\\\"+\\\"+a+\\\"],xi=\\\"+d+\\\"[i];\\\",M=\\\"for(var j=\\\"+m+\\\",\\\"+b+\\\"=\\\"+u+\\\"*\\\"+m+\\\";j<\\\"+v+\\\";++j,\\\"+b+\\\"+=\\\"+u+\\\"){var y0=\\\"+g+\\\"[\\\"+o+\\\"+\\\"+b+\\\"],\\\"+(r?\\\"y1=\\\"+g+\\\"[\\\"+o+\\\"+\\\"+b+\\\"+\\\"+a+\\\"],\\\":\\\"\\\")+\\\"yi=\\\"+y+\\\"[j];\\\";return t?i.push(l,_,\\\":\\\",M):i.push(M,_,\\\":\\\",l),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=\\\"+o+\\\"+1;k<\\\"+a+\\\";++k){var r0=\\\"+f+\\\"[k+\\\"+p+\\\"],r1=\\\"+f+\\\"[k+\\\"+a+\\\"+\\\"+p+\\\"],b0=\\\"+g+\\\"[k+\\\"+b+\\\"],b1=\\\"+g+\\\"[k+\\\"+a+\\\"+\\\"+b+\\\"];if(r1<b0||b1<r0)continue \\\"+_+\\\";}var \\\"+x+\\\"=\\\"+s+\\\"(\\\"),e?i.push(\\\"yi,xi\\\"):i.push(\\\"xi,yi\\\"),i.push(\\\");if(\\\"+x+\\\"!==void 0)return \\\"+x+\\\";}}}\\\"),{name:n,code:i.join(\\\"\\\")}}function i(t){function e(e,r){var a=n(e,r,t);i.push(a.code),o.push(\\\"return \\\"+a.name+\\\"(\\\"+w.join()+\\\");\\\")}var r=\\\"bruteForce\\\"+(t?\\\"Full\\\":\\\"Partial\\\"),i=[],a=w.slice();t||a.splice(3,0,l);var o=[\\\"function \\\"+r+\\\"(\\\"+a.join()+\\\"){\\\"];o.push(\\\"if(\\\"+h+\\\"-\\\"+c+\\\">\\\"+v+\\\"-\\\"+m+\\\"){\\\"),t?(e(!0,!1),o.push(\\\"}else{\\\"),e(!1,!1)):(o.push(\\\"if(\\\"+l+\\\"){\\\"),e(!0,!0),o.push(\\\"}else{\\\"),e(!0,!1),o.push(\\\"}}else{if(\\\"+l+\\\"){\\\"),e(!1,!0),o.push(\\\"}else{\\\"),e(!1,!1),o.push(\\\"}\\\")),o.push(\\\"}}return \\\"+r);var s=i.join(\\\"\\\")+o.join(\\\"\\\");return new Function(s)()}var a=\\\"d\\\",o=\\\"ax\\\",s=\\\"vv\\\",l=\\\"fp\\\",u=\\\"es\\\",c=\\\"rs\\\",h=\\\"re\\\",f=\\\"rb\\\",d=\\\"ri\\\",p=\\\"rp\\\",m=\\\"bs\\\",v=\\\"be\\\",g=\\\"bb\\\",y=\\\"bi\\\",b=\\\"bp\\\",x=\\\"rv\\\",_=\\\"Q\\\",w=[a,o,s,c,h,f,d,m,v,g,y];r.partial=i(!1),r.full=i(!0)},{}],71:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=8*u.log2(e+1)*(t+1)|0,n=u.nextPow2(A*r);S.length<n&&(l.free(S),S=l.mallocInt32(n));var i=u.nextPow2(T*r);E<i&&(l.free(E),E=l.mallocDouble(i))}function i(t,e,r,n,i,a,o,s,l){var u=A*t;S[u]=e,S[u+1]=r,S[u+2]=n,S[u+3]=i,S[u+4]=a,S[u+5]=o;var c=T*t;E[c]=s,E[c+1]=l}function a(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,d=u[f+e];t:for(var p=i,m=i*h;p<a;++p,m+=h){var v=o[m+e],g=o[m+e+t];if(!(d<v||g<d)&&(!n||d!==v)){for(var y=s[p],b=e+1;b<t;++b){var v=o[m+b],g=o[m+b+t],x=u[f+b],_=u[f+b+t];if(g<x||_<v)continue t}var w;if(void 0!==(w=n?r(c,y):r(y,c)))return w}}}function o(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var d=n,p=n*c;d<i;++d,p+=c){var m=o[d];if(m!==u){var v=a[p+e],g=a[p+e+t];if(!(f<v||g<f)){for(var y=e+1;y<t;++y){var v=a[p+y],g=a[p+y+t],b=l[h+y],x=l[h+y+t];if(g<b||x<v)continue t}var _=r(m,u);if(void 0!==_)return _}}}}function s(t,e,r,s,l,u,c,m,L){n(t,s+c);var C,z=0,I=2*t;for(i(z++,0,0,s,0,c,r?16:0,-1/0,1/0),r||i(z++,0,0,c,0,s,1,-1/0,1/0);z>0;){z-=1;var D=z*A,P=S[D],O=S[D+1],R=S[D+2],F=S[D+3],j=S[D+4],N=S[D+5],B=z*T,U=E[B],V=E[B+1],H=1&N,q=!!(16&N),G=l,Y=u,X=m,W=L;if(H&&(G=m,Y=L,X=l,W=u),!(2&N&&(R=_(t,P,O,R,G,Y,V),O>=R)||4&N&&(O=w(t,P,O,R,G,Y,U))>=R)){var Z=R-O,J=j-F;if(q){if(t*Z*(Z+J)<y){if(void 0!==(C=d.scanComplete(t,P,e,O,R,G,Y,F,j,X,W)))return C;continue}}else{if(t*Math.min(Z,J)<v){if(void 0!==(C=h(t,P,e,H,O,R,G,Y,F,j,X,W)))return C;continue}if(t*Z*J<g){if(void 0!==(C=d.scanBipartite(t,P,e,H,O,R,G,Y,F,j,X,W)))return C;continue}}var K=b(t,P,O,R,G,Y,U,V);if(O<K)if(t*(K-O)<v){if(void 0!==(C=f(t,P+1,e,O,K,G,Y,F,j,X,W)))return C}else if(P===t-2){if(void 0!==(C=H?d.sweepBipartite(t,e,F,j,X,W,O,K,G,Y):d.sweepBipartite(t,e,O,K,G,Y,F,j,X,W)))return C}else i(z++,P+1,O,K,F,j,H,-1/0,1/0),i(z++,P+1,F,j,O,K,1^H,-1/0,1/0);if(K<R){var Q=p(t,P,F,j,X,W),$=X[I*Q+P],tt=x(t,P,Q,j,X,W,$);if(tt<j&&i(z++,P,K,R,tt,j,(4|H)+(q?16:0),$,V),F<Q&&i(z++,P,K,R,F,Q,(2|H)+(q?16:0),U,$),Q+1===tt){if(void 0!==(C=q?o(t,P,e,K,R,G,Y,Q,X,W[Q]):a(t,P,e,H,K,R,G,Y,Q,X,W[Q])))return C}else if(Q<tt){var et;if(q){if(et=M(t,P,K,R,G,Y,$),K<et){var rt=x(t,P,K,et,G,Y,$);if(P===t-2){if(K<rt&&void 0!==(C=d.sweepComplete(t,e,K,rt,G,Y,Q,tt,X,W)))return C;if(rt<et&&void 0!==(C=d.sweepBipartite(t,e,rt,et,G,Y,Q,tt,X,W)))return C}else K<rt&&i(z++,P+1,K,rt,Q,tt,16,-1/0,1/0),rt<et&&(i(z++,P+1,rt,et,Q,tt,0,-1/0,1/0),i(z++,P+1,Q,tt,rt,et,1,-1/0,1/0))}}else et=H?k(t,P,K,R,G,Y,$):M(t,P,K,R,G,Y,$),K<et&&(P===t-2?C=H?d.sweepBipartite(t,e,Q,tt,X,W,K,et,G,Y):d.sweepBipartite(t,e,K,et,G,Y,Q,tt,X,W):(i(z++,P+1,K,et,Q,tt,H,-1/0,1/0),i(z++,P+1,Q,tt,K,et,1^H,-1/0,1/0)))}}}}}e.exports=s;var l=t(\\\"typedarray-pool\\\"),u=t(\\\"bit-twiddle\\\"),c=t(\\\"./brute\\\"),h=c.partial,f=c.full,d=t(\\\"./sweep\\\"),p=t(\\\"./median\\\"),m=t(\\\"./partition\\\"),v=128,g=1<<22,y=1<<22,b=m(\\\"!(lo>=p0)&&!(p1>=hi)\\\",[\\\"p0\\\",\\\"p1\\\"]),x=m(\\\"lo===p0\\\",[\\\"p0\\\"]),_=m(\\\"lo<p0\\\",[\\\"p0\\\"]),w=m(\\\"hi<=p0\\\",[\\\"p0\\\"]),M=m(\\\"lo<=p0&&p0<=hi\\\",[\\\"p0\\\"]),k=m(\\\"lo<p0&&p0<=hi\\\",[\\\"p0\\\"]),A=6,T=2,S=l.mallocInt32(1024),E=l.mallocDouble(1024)},{\\\"./brute\\\":70,\\\"./median\\\":72,\\\"./partition\\\":73,\\\"./sweep\\\":75,\\\"bit-twiddle\\\":66,\\\"typedarray-pool\\\":540}],72:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,h=o*(l-1);c>r&&i[h+e]>u;--c,h-=o){for(var f=h,d=h+o,p=0;p<o;++p,++f,++d){var m=i[f];i[f]=i[d],i[d]=m}var v=a[c];a[c]=a[c-1],a[c-1]=v}}function i(t,e,r,i,a,l){if(i<=r+1)return r;for(var u=r,c=i,h=i+r>>>1,f=2*t,d=h,p=a[f*h+e];u<c;){if(c-u<s){n(t,e,u,c,a,l),p=a[f*h+e];break}var m=c-u,v=Math.random()*m+u|0,g=a[f*v+e],y=Math.random()*m+u|0,b=a[f*y+e],x=Math.random()*m+u|0,_=a[f*x+e];g<=b?_>=b?(d=y,p=b):g>=_?(d=v,p=g):(d=x,p=_):b>=_?(d=y,p=b):_>=g?(d=v,p=g):(d=x,p=_);for(var w=f*(c-1),M=f*d,k=0;k<f;++k,++w,++M){var A=a[w];a[w]=a[M],a[M]=A}var T=l[c-1];l[c-1]=l[d],l[d]=T,d=o(t,e,u,c-1,a,l,p);for(var w=f*(c-1),M=f*d,k=0;k<f;++k,++w,++M){var A=a[w];a[w]=a[M],a[M]=A}var T=l[c-1];if(l[c-1]=l[d],l[d]=T,h<d){for(c=d-1;u<c&&a[f*(c-1)+e]===p;)c-=1;c+=1}else{if(!(d<h))break;for(u=d+1;u<c&&a[f*u+e]===p;)u+=1}}return o(t,e,r,h,a,l,a[f*h+e])}e.exports=i;var a=t(\\\"./partition\\\"),o=a(\\\"lo<p0\\\",[\\\"p0\\\"]),s=8},{\\\"./partition\\\":73}],73:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=\\\"abcdef\\\".split(\\\"\\\").concat(e),n=[];return t.indexOf(\\\"lo\\\")>=0&&n.push(\\\"lo=e[k+n]\\\"),t.indexOf(\\\"hi\\\")>=0&&n.push(\\\"hi=e[k+o]\\\"),r.push(i.replace(\\\"_\\\",n.join()).replace(\\\"$\\\",t)),Function.apply(void 0,r)}e.exports=n;var i=\\\"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\\\"},{}],74:[function(t,e,r){\\\"use strict\\\";function n(t,e){e<=4*f?i(0,e-1,t):h(0,e-1,t)}function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){t*=2,e*=2;var n=r[t],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){t*=2,e*=2,r[t]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){t*=2,e*=2,r*=2;var i=n[t],a=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]=i,n[r+1]=a}function l(t,e,r,n,i){t*=2,e*=2,i[t]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function u(t,e,r){t*=2,e*=2;var n=r[t],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function c(t,e,r,n){t*=2;var i=n[t];return i<e||i===e&&n[t+1]<r}function h(t,e,r){var n=(e-t+1)/6|0,d=t+n,p=e-n,m=t+e>>1,v=m-n,g=m+n,y=d,b=v,x=m,_=g,w=p,M=t+1,k=e-1,A=0;u(y,b,r)&&(A=y,y=b,b=A),u(_,w,r)&&(A=_,_=w,w=A),u(y,x,r)&&(A=y,y=x,x=A),u(b,x,r)&&(A=b,b=x,x=A),u(y,_,r)&&(A=y,y=_,_=A),u(x,_,r)&&(A=x,x=_,_=A),u(b,w,r)&&(A=b,b=w,w=A),u(b,x,r)&&(A=b,b=x,x=A),u(_,w,r)&&(A=_,_=w,w=A);for(var T=r[2*b],S=r[2*b+1],E=r[2*_],L=r[2*_+1],C=2*y,z=2*x,I=2*w,D=2*d,P=2*m,O=2*p,R=0;R<2;++R){var F=r[C+R],j=r[z+R],N=r[I+R];r[D+R]=F,r[P+R]=j,r[O+R]=N}o(v,t,r),o(g,e,r);for(var B=M;B<=k;++B)if(c(B,T,S,r))B!==M&&a(B,M,r),++M;else if(!c(B,E,L,r))for(;;){if(c(k,E,L,r)){c(k,T,S,r)?(s(B,M,k,r),++M,--k):(a(B,k,r),--k);break}if(--k<B)break}l(t,M-1,T,S,r),l(e,k+1,E,L,r),M-2-t<=f?i(t,M-2,r):h(t,M-2,r),e-(k+2)<=f?i(k+2,e,r):h(k+2,e,r),k-M<=f?i(M,k,r):h(M,k,r)}e.exports=n;var f=32},{}],75:[function(t,e,r){\\\"use strict\\\";function n(t){var e=h.nextPow2(t);p.length<e&&(c.free(p),p=c.mallocInt32(e)),m.length<e&&(c.free(m),m=c.mallocInt32(e)),v.length<e&&(c.free(v),v=c.mallocInt32(e)),g.length<e&&(c.free(g),g=c.mallocInt32(e)),y.length<e&&(c.free(y),y=c.mallocInt32(e)),b.length<e&&(c.free(b),b=c.mallocInt32(e));var r=8*e;x.length<r&&(c.free(x),x=c.mallocDouble(r))}function i(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function a(t,e,r,n){t[r]=n,e[n]=r}function o(t,e,r,n,o,s,l,u,c,h){for(var y=0,b=2*t,_=t-1,w=b-1,M=r;M<n;++M){var k=s[M],A=b*M;x[y++]=o[A+_],x[y++]=-(k+1),x[y++]=o[A+w],x[y++]=k}for(var M=l;M<u;++M){var k=h[M]+d,T=b*M;x[y++]=c[T+_],x[y++]=-k,x[y++]=c[T+w],x[y++]=k}var S=y>>>1;f(x,S);for(var E=0,L=0,M=0;M<S;++M){var C=0|x[2*M+1];if(C>=d)C=C-d|0,i(v,g,L--,C);else if(C>=0)i(p,m,E--,C);else if(C<=-d){C=-C-d|0;for(var z=0;z<E;++z){var I=e(p[z],C);if(void 0!==I)return I}a(v,g,L++,C)}else{C=-C-1|0;for(var z=0;z<L;++z){var I=e(C,v[z]);if(void 0!==I)return I}a(p,m,E++,C)}}}function s(t,e,r,n,o,s,l,u,c,h){for(var d=0,_=2*t,w=t-1,M=_-1,k=r;k<n;++k){var A=s[k]+1<<1,T=_*k;x[d++]=o[T+w],x[d++]=-A,x[d++]=o[T+M],x[d++]=A}for(var k=l;k<u;++k){var A=h[k]+1<<1,S=_*k;x[d++]=c[S+w],x[d++]=1|-A,x[d++]=c[S+M],x[d++]=1|A}var E=d>>>1;f(x,E);for(var L=0,C=0,z=0,k=0;k<E;++k){var I=0|x[2*k+1],D=1&I;if(k<E-1&&I>>1==x[2*k+3]>>1&&(D=2,k+=1),I<0){for(var P=-(I>>1)-1,O=0;O<z;++O){var R=e(y[O],P);if(void 0!==R)return R}if(0!==D)for(var O=0;O<L;++O){var R=e(p[O],P);if(void 0!==R)return R}if(1!==D)for(var O=0;O<C;++O){var R=e(v[O],P);if(void 0!==R)return R}0===D?a(p,m,L++,P):1===D?a(v,g,C++,P):2===D&&a(y,b,z++,P)}else{var P=(I>>1)-1;0===D?i(p,m,L--,P):1===D?i(v,g,C--,P):2===D&&i(y,b,z--,P)}}}function l(t,e,r,n,o,s,l,u,c,h,v,g){var y=0,b=2*t,_=e,w=e+t,M=1,k=1;n?k=d:M=d;for(var A=o;A<s;++A){var T=A+M,S=b*A;x[y++]=l[S+_],x[y++]=-T,x[y++]=l[S+w],x[y++]=T}for(var A=c;A<h;++A){\\n\",\n       \"var T=A+k,E=b*A;x[y++]=v[E+_],x[y++]=-T}var L=y>>>1;f(x,L);for(var C=0,A=0;A<L;++A){var z=0|x[2*A+1];if(z<0){var T=-z,I=!1;if(T>=d?(I=!n,T-=d):(I=!!n,T-=1),I)a(p,m,C++,T);else{var D=g[T],P=b*T,O=v[P+e+1],R=v[P+e+1+t];t:for(var F=0;F<C;++F){var j=p[F],N=b*j;if(!(R<l[N+e+1]||l[N+e+1+t]<O)){for(var B=e+2;B<t;++B)if(v[P+B+t]<l[N+B]||l[N+B+t]<v[P+B])continue t;var U,V=u[j];if(void 0!==(U=n?r(D,V):r(V,D)))return U}}}}else i(p,m,C--,z-M)}}function u(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,m=2*t,v=e,g=e+t,y=n;y<i;++y){var b=y+d,_=m*y;x[h++]=a[_+v],x[h++]=-b,x[h++]=a[_+g],x[h++]=b}for(var y=s;y<l;++y){var b=y+1,w=m*y;x[h++]=u[w+v],x[h++]=-b}var M=h>>>1;f(x,M);for(var k=0,y=0;y<M;++y){var A=0|x[2*y+1];if(A<0){var b=-A;if(b>=d)p[k++]=b-d;else{b-=1;var T=c[b],S=m*b,E=u[S+e+1],L=u[S+e+1+t];t:for(var C=0;C<k;++C){var z=p[C],I=o[z];if(I===T)break;var D=m*z;if(!(L<a[D+e+1]||a[D+e+1+t]<E)){for(var P=e+2;P<t;++P)if(u[S+P+t]<a[D+P]||a[D+P+t]<u[S+P])continue t;var O=r(I,T);if(void 0!==O)return O}}}}else{for(var b=A-d,C=k-1;C>=0;--C)if(p[C]===b){for(var P=C+1;P<k;++P)p[P-1]=p[P];break}--k}}}e.exports={init:n,sweepBipartite:o,sweepComplete:s,scanBipartite:l,scanComplete:u};var c=t(\\\"typedarray-pool\\\"),h=t(\\\"bit-twiddle\\\"),f=t(\\\"./sort\\\"),d=1<<28,p=c.mallocInt32(1024),m=c.mallocInt32(1024),v=c.mallocInt32(1024),g=c.mallocInt32(1024),y=c.mallocInt32(1024),b=c.mallocInt32(1024),x=c.mallocDouble(8192)},{\\\"./sort\\\":74,\\\"bit-twiddle\\\":66,\\\"typedarray-pool\\\":540}],76:[function(t,e,r){\\\"use strict\\\";function n(t){if(t>Z)throw new RangeError(\\\"Invalid typed array length\\\");var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if(\\\"number\\\"==typeof t){if(\\\"string\\\"==typeof e)throw new Error(\\\"If encoding is specified then the first argument must be a string\\\");return l(t)}return a(t,e,r)}function a(t,e,r){if(\\\"number\\\"==typeof t)throw new TypeError('\\\"value\\\" argument must not be a number');return t instanceof ArrayBuffer?h(t,e,r):\\\"string\\\"==typeof t?u(t,e):f(t)}function o(t){if(\\\"number\\\"!=typeof t)throw new TypeError('\\\"size\\\" argument must be a number');if(t<0)throw new RangeError('\\\"size\\\" argument must not be negative')}function s(t,e,r){return o(t),t<=0?n(t):void 0!==e?\\\"string\\\"==typeof r?n(t).fill(e,r):n(t).fill(e):n(t)}function l(t){return o(t),n(t<0?0:0|d(t))}function u(t,e){if(\\\"string\\\"==typeof e&&\\\"\\\"!==e||(e=\\\"utf8\\\"),!i.isEncoding(e))throw new TypeError('\\\"encoding\\\" must be a valid string encoding');var r=0|m(t,e),a=n(r),o=a.write(t,e);return o!==r&&(a=a.slice(0,o)),a}function c(t){for(var e=t.length<0?0:0|d(t.length),r=n(e),i=0;i<e;i+=1)r[i]=255&t[i];return r}function h(t,e,r){if(e<0||t.byteLength<e)throw new RangeError(\\\"'offset' is out of bounds\\\");if(t.byteLength<e+(r||0))throw new RangeError(\\\"'length' is out of bounds\\\");var n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),n.__proto__=i.prototype,n}function f(t){if(i.isBuffer(t)){var e=0|d(t.length),r=n(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(G(t)||\\\"length\\\"in t)return\\\"number\\\"!=typeof t.length||Y(t.length)?n(0):c(t);if(\\\"Buffer\\\"===t.type&&Array.isArray(t.data))return c(t.data)}throw new TypeError(\\\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\\\")}function d(t){if(t>=Z)throw new RangeError(\\\"Attempt to allocate Buffer larger than maximum size: 0x\\\"+Z.toString(16)+\\\" bytes\\\");return 0|t}function p(t){return+t!=t&&(t=0),i.alloc(+t)}function m(t,e){if(i.isBuffer(t))return t.length;if(G(t)||t instanceof ArrayBuffer)return t.byteLength;\\\"string\\\"!=typeof t&&(t=\\\"\\\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\\\"ascii\\\":case\\\"latin1\\\":case\\\"binary\\\":return r;case\\\"utf8\\\":case\\\"utf-8\\\":case void 0:return B(t).length;case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return 2*r;case\\\"hex\\\":return r>>>1;case\\\"base64\\\":return H(t).length;default:if(n)return B(t).length;e=(\\\"\\\"+e).toLowerCase(),n=!0}}function v(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,r<=e)return\\\"\\\";for(t||(t=\\\"utf8\\\");;)switch(t){case\\\"hex\\\":return z(this,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return S(this,e,r);case\\\"ascii\\\":return L(this,e,r);case\\\"latin1\\\":case\\\"binary\\\":return C(this,e,r);case\\\"base64\\\":return T(this,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return I(this,e,r);default:if(n)throw new TypeError(\\\"Unknown encoding: \\\"+t);t=(t+\\\"\\\").toLowerCase(),n=!0}}function g(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,a){if(0===t.length)return-1;if(\\\"string\\\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Y(r)&&(r=a?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(a)return-1;r=t.length-1}else if(r<0){if(!a)return-1;r=0}if(\\\"string\\\"==typeof e&&(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,a);if(\\\"number\\\"==typeof e)return e&=255,\\\"function\\\"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,n,a);throw new TypeError(\\\"val must be string, number or Buffer\\\")}function b(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var 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}var u;if(i){var c=-1;for(u=r;u<s;u++)if(a(t,u)===a(e,-1===c?0:u-c)){if(-1===c&&(c=u),u-c+1===l)return c*o}else-1!==c&&(u-=u-c),c=-1}else for(r+l>s&&(r=s-l),u=r;u>=0;u--){for(var h=!0,f=0;f<l;f++)if(a(t,u+f)!==a(e,f)){h=!1;break}if(h)return u}return-1}function x(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;if(a%2!=0)throw new TypeError(\\\"Invalid hex string\\\");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(Y(s))return o;t[r+o]=s}return o}function _(t,e,r,n){return q(B(e,t.length-r),t,r,n)}function w(t,e,r,n){return q(U(e),t,r,n)}function M(t,e,r,n){return w(t,e,r,n)}function k(t,e,r,n){return q(H(e),t,r,n)}function A(t,e,r,n){return q(V(e,t.length-r),t,r,n)}function T(t,e,r){return 0===e&&r===t.length?X.fromByteArray(t):X.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a=t[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l,u,c,h;switch(s){case 1:a<128&&(o=a);break;case 2:l=t[i+1],128==(192&l)&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(h=(15&a)<<12|(63&l)<<6|63&u)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(h=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return E(n)}function E(t){var e=t.length;if(e<=J)return String.fromCharCode.apply(String,t);for(var r=\\\"\\\",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=J));return r}function L(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function C(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function z(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\\\"\\\",a=e;a<r;++a)i+=N(t[a]);return i}function I(t,e,r){for(var n=t.slice(e,r),i=\\\"\\\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function D(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 P(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('\\\"buffer\\\" argument must be a Buffer instance');if(e>a||e<o)throw new RangeError('\\\"value\\\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\")}function O(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\");if(r<0)throw new RangeError(\\\"Index out of range\\\")}function R(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),W.write(t,e,r,n,23,4),r+4}function F(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),W.write(t,e,r,n,52,8),r+8}function j(t){if(t=t.trim().replace(K,\\\"\\\"),t.length<2)return\\\"\\\";for(;t.length%4!=0;)t+=\\\"=\\\";return t}function N(t){return t<16?\\\"0\\\"+t.toString(16):t.toString(16)}function B(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.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;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function U(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}function V(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function H(t){return X.toByteArray(j(t))}function q(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function G(t){return\\\"function\\\"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)}function Y(t){return t!==t}var X=t(\\\"base64-js\\\"),W=t(\\\"ieee754\\\");r.Buffer=i,r.SlowBuffer=p,r.INSPECT_MAX_BYTES=50;var Z=2147483647;r.kMaxLength=Z,i.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}}(),i.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.\\\"),\\\"undefined\\\"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(t,e,r){return a(t,e,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(t,e,r){return s(t,e,r)},i.allocUnsafe=function(t){return l(t)},i.allocUnsafeSlow=function(t){return l(t)},i.isBuffer=function(t){return null!=t&&!0===t._isBuffer},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(\\\"Arguments must be Buffers\\\");if(t===e)return 0;for(var r=t.length,n=e.length,a=0,o=Math.min(r,n);a<o;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0},i.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}},i.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');if(0===t.length)return i.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=i.allocUnsafe(e),a=0;for(r=0;r<t.length;++r){var o=t[r];if(!i.isBuffer(o))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n},i.byteLength=m,i.prototype._isBuffer=!0,i.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)g(this,e,e+1);return this},i.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)g(this,e,e+3),g(this,e+1,e+2);return this},i.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)g(this,e,e+7),g(this,e+1,e+6),g(this,e+2,e+5),g(this,e+3,e+4);return this},i.prototype.toString=function(){var t=this.length;return 0===t?\\\"\\\":0===arguments.length?S(this,0,t):v.apply(this,arguments)},i.prototype.equals=function(t){if(!i.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");return this===t||0===i.compare(this,t)},i.prototype.inspect=function(){var t=\\\"\\\",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\\\"hex\\\",0,e).match(/.{2}/g).join(\\\" \\\"),this.length>e&&(t+=\\\" ... \\\")),\\\"<Buffer \\\"+t+\\\">\\\"},i.prototype.compare=function(t,e,r,n,a){if(!i.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),e<0||r>t.length||n<0||a>this.length)throw new RangeError(\\\"out of range index\\\");if(n>=a&&e>=r)return 0;if(n>=a)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,a>>>=0,this===t)return 0;for(var o=a-n,s=r-e,l=Math.min(o,s),u=this.slice(n,a),c=t.slice(e,r),h=0;h<l;++h)if(u[h]!==c[h]){o=u[h],s=c[h];break}return o<s?-1:s<o?1:0},i.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},i.prototype.indexOf=function(t,e,r){return y(this,t,e,r,!0)},i.prototype.lastIndexOf=function(t,e,r){return y(this,t,e,r,!1)},i.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 i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\\\"Attempt to write outside buffer bounds\\\");n||(n=\\\"utf8\\\");for(var a=!1;;)switch(n){case\\\"hex\\\":return x(this,t,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return _(this,t,e,r);case\\\"ascii\\\":return w(this,t,e,r);case\\\"latin1\\\":case\\\"binary\\\":return M(this,t,e,r);case\\\"base64\\\":return k(this,t,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return A(this,t,e,r);default:if(a)throw new TypeError(\\\"Unknown encoding: \\\"+n);n=(\\\"\\\"+n).toLowerCase(),a=!0}},i.prototype.toJSON=function(){return{type:\\\"Buffer\\\",data:Array.prototype.slice.call(this._arr||this,0)}};var J=4096;i.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=i.prototype,n},i.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},i.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},i.prototype.readUInt8=function(t,e){return t>>>=0,e||D(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t>>>=0,e||D(t,2,this.length),this[t]|this[t+1]<<8},i.prototype.readUInt16BE=function(t,e){return t>>>=0,e||D(t,2,this.length),this[t]<<8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t>>>=0,e||D(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t>>>=0,e||D(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*e)),a},i.prototype.readInt8=function(t,e){return t>>>=0,e||D(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){t>>>=0,e||D(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t>>>=0,e||D(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t>>>=0,e||D(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},i.prototype.readInt32BE=function(t,e){return t>>>=0,e||D(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t>>>=0,e||D(t,4,this.length),W.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t>>>=0,e||D(t,4,this.length),W.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t>>>=0,e||D(t,8,this.length),W.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t>>>=0,e||D(t,8,this.length),W.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){P(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},i.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){P(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeFloatLE=function(t,e,r){return R(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return R(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return F(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return F(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\\\"targetStart out of bounds\\\");if(r<0||r>=this.length)throw new RangeError(\\\"sourceStart out of bounds\\\");if(n<0)throw new RangeError(\\\"sourceEnd out of bounds\\\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,a=n-r;if(this===t&&r<e&&e<n)for(i=a-1;i>=0;--i)t[i+e]=this[i+r];else if(a<1e3)for(i=0;i<a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},i.prototype.fill=function(t,e,r,n){if(\\\"string\\\"==typeof t){if(\\\"string\\\"==typeof e?(n=e,e=0,r=this.length):\\\"string\\\"==typeof r&&(n=r,r=this.length),1===t.length){var a=t.charCodeAt(0);a<256&&(t=a)}if(void 0!==n&&\\\"string\\\"!=typeof n)throw new TypeError(\\\"encoding must be a string\\\");if(\\\"string\\\"==typeof n&&!i.isEncoding(n))throw new TypeError(\\\"Unknown encoding: \\\"+n)}else\\\"number\\\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\\\"Out of range index\\\");if(r<=e)return this;e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var o;if(\\\"number\\\"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=i.isBuffer(t)?t:new i(t,n),l=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%l]}return this};var K=/[^+\\\\/0-9A-Za-z-_]/g},{\\\"base64-js\\\":77,ieee754:288}],77:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(e%4>0)throw new Error(\\\"Invalid string. Length must be a multiple of 4\\\");return\\\"=\\\"===t[e-2]?2:\\\"=\\\"===t[e-1]?1:0}function i(t){return 3*t.length/4-n(t)}function a(t){var e,r,i,a,o,s,l=t.length;o=n(t),s=new h(3*l/4-o),i=o>0?l-4:l;var u=0;for(e=0,r=0;e<i;e+=4,r+=3)a=c[t.charCodeAt(e)]<<18|c[t.charCodeAt(e+1)]<<12|c[t.charCodeAt(e+2)]<<6|c[t.charCodeAt(e+3)],s[u++]=a>>16&255,s[u++]=a>>8&255,s[u++]=255&a;return 2===o?(a=c[t.charCodeAt(e)]<<2|c[t.charCodeAt(e+1)]>>4,s[u++]=255&a):1===o&&(a=c[t.charCodeAt(e)]<<10|c[t.charCodeAt(e+1)]<<4|c[t.charCodeAt(e+2)]>>2,s[u++]=a>>8&255,s[u++]=255&a),s}function o(t){return u[t>>18&63]+u[t>>12&63]+u[t>>6&63]+u[63&t]}function s(t,e,r){for(var n,i=[],a=e;a<r;a+=3)n=(t[a]<<16)+(t[a+1]<<8)+t[a+2],i.push(o(n));return i.join(\\\"\\\")}function l(t){for(var e,r=t.length,n=r%3,i=\\\"\\\",a=[],o=0,l=r-n;o<l;o+=16383)a.push(s(t,o,o+16383>l?l:o+16383));return 1===n?(e=t[r-1],i+=u[e>>2],i+=u[e<<4&63],i+=\\\"==\\\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=u[e>>10],i+=u[e>>4&63],i+=u[e<<2&63],i+=\\\"=\\\"),a.push(i),a.join(\\\"\\\")}r.byteLength=i,r.toByteArray=a,r.fromByteArray=l;for(var u=[],c=[],h=\\\"undefined\\\"!=typeof Uint8Array?Uint8Array:Array,f=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\\",d=0,p=f.length;d<p;++d)u[d]=f[d],c[f.charCodeAt(d)]=d;c[\\\"-\\\".charCodeAt(0)]=62,c[\\\"_\\\".charCodeAt(0)]=63},{}],78:[function(t,e,r){\\\"use strict\\\";function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){return t[0]-e[0]||t[1]-e[1]}function a(t){return t.map(n).sort(i)}function o(t,e,r){return e in t?t[e]:r}function s(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!o(r,\\\"delaunay\\\",!0),i=!!o(r,\\\"interior\\\",!0),s=!!o(r,\\\"exterior\\\",!0),f=!!o(r,\\\"infinity\\\",!1);if(!i&&!s||0===t.length)return[];var d=l(t,e);if(n||i!==s||f){for(var p=u(t.length,a(e)),m=0;m<d.length;++m){var v=d[m];p.addTriangle(v[0],v[1],v[2])}return n&&c(t,p),s?i?f?h(p,0,f):p.cells():h(p,1,f):h(p,-1)}return d}var l=t(\\\"./lib/monotone\\\"),u=t(\\\"./lib/triangulation\\\"),c=t(\\\"./lib/delaunay\\\"),h=t(\\\"./lib/filter\\\");e.exports=s},{\\\"./lib/delaunay\\\":79,\\\"./lib/filter\\\":80,\\\"./lib/monotone\\\":81,\\\"./lib/triangulation\\\":82}],79:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,o){var s=e.opposite(n,i);if(!(s<0)){if(i<n){var l=n;n=i,i=l,l=o,o=s,s=l}e.isConstraint(n,i)||a(t[n],t[i],t[o],t[s])<0&&r.push(n,i)}}function i(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],u=1;u<l.length;u+=2){var c=l[u];if(!(c<s)&&!e.isConstraint(s,c)){for(var h=l[u-1],f=-1,d=1;d<l.length;d+=2)if(l[d-1]===c){f=l[d];break}f<0||a(t[s],t[c],t[h],t[f])<0&&r.push(s,c)}}for(;r.length>0;){for(var c=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],p=1;p<l.length;p+=2){var m=l[p-1],v=l[p];m===c?f=v:v===c&&(h=m)}h<0||f<0||(a(t[s],t[c],t[h],t[f])>=0||(e.flip(s,c),n(t,e,r,h,s,f),n(t,e,r,s,f,h),n(t,e,r,f,c,h),n(t,e,r,c,h,f)))}}var a=t(\\\"robust-in-sphere\\\")[4];t(\\\"binary-search-bounds\\\");e.exports=i},{\\\"binary-search-bounds\\\":83,\\\"robust-in-sphere\\\":505}],80:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}function a(t,e){for(var r=t.cells(),a=r.length,o=0;o<a;++o){var s=r[o],l=s[0],u=s[1],c=s[2];u<c?u<l&&(s[0]=u,s[1]=c,s[2]=l):c<l&&(s[0]=c,s[1]=l,s[2]=u)}r.sort(i);for(var h=new Array(a),o=0;o<h.length;++o)h[o]=0;var f=[],d=[],p=new Array(3*a),m=new Array(3*a),v=null;e&&(v=[]);for(var g=new n(r,p,m,h,f,d,v),o=0;o<a;++o)for(var s=r[o],y=0;y<3;++y){var l=s[y],u=s[(y+1)%3],b=p[3*o+y]=g.locate(u,l,t.opposite(u,l)),x=m[3*o+y]=t.isConstraint(l,u);b<0&&(x?d.push(o):(f.push(o),h[o]=1),e&&v.push([u,l,-1]))}return g}function o(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}function s(t,e,r){var n=a(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;for(var i=1,s=n.active,l=n.next,u=n.flags,c=n.cells,h=n.constraint,f=n.neighbor;s.length>0||l.length>0;){for(;s.length>0;){var d=s.pop();if(u[d]!==-i){u[d]=i;for(var p=(c[d],0);p<3;++p){var m=f[3*d+p];m>=0&&0===u[m]&&(h[3*d+p]?l.push(m):(s.push(m),u[m]=i))}}}var v=l;l=s,s=v,l.length=0,i=-i}var g=o(c,u,e);return r?g.concat(n.boundary):g}var l=t(\\\"binary-search-bounds\\\");e.exports=s,n.prototype.locate=function(){var t=[0,0,0];return function(e,r,n){var a=e,o=r,s=n;return r<n?r<e&&(a=r,o=n,s=e):n<e&&(a=n,o=e,s=r),a<0?-1:(t[0]=a,t[1]=o,t[2]=s,l.eq(this.cells,t,i))}}()},{\\\"binary-search-bounds\\\":83}],81:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==p&&(r=d(t.a,t.b,e.b))?r:t.idx-e.idx)}function o(t,e){return d(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l<s;++l){for(var u=e[l],c=u.lowerIds,h=c.length;h>1&&d(r[c[h-2]],r[c[h-1]],n)>0;)t.push([c[h-1],c[h-2],i]),h-=1;c.length=h,c.push(i);for(var p=u.upperIds,h=p.length;h>1&&d(r[p[h-2]],r[p[h-1]],n)<0;)t.push([p[h-2],p[h-1],i]),h-=1;p.length=h,p.push(i)}}function l(t,e){var r;return(r=t.a[0]<e.a[0]?d(t.a,t.b,e.a):d(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?d(t.a,t.b,e.b):d(e.b,e.a,t.b))||t.idx-e.idx}function u(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function c(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}function h(t,e){for(var r=t.length,o=e.length,l=[],h=0;h<r;++h)l.push(new i(t[h],null,p,h));for(var h=0;h<o;++h){var f=e[h],d=t[f[0]],g=t[f[1]];d[0]<g[0]?l.push(new i(d,g,v,h),new i(g,d,m,h)):d[0]>g[0]&&l.push(new i(g,d,v,h),new i(d,g,m,h))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),b=[new n([y,1],[y,0],-1,[],[],[],[])],x=[],h=0,_=l.length;h<_;++h){var w=l[h],M=w.type;M===p?s(x,b,t,w.a,w.idx):M===v?u(b,t,w):c(b,t,w)}return x}var f=t(\\\"binary-search-bounds\\\"),d=t(\\\"robust-orientation\\\")[3],p=0,m=1,v=2;e.exports=h},{\\\"binary-search-bounds\\\":83,\\\"robust-orientation\\\":507}],82:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}function a(t,e){for(var r=new Array(t),i=0;i<t;++i)r[i]=[];return new n(r,e)}var o=t(\\\"binary-search-bounds\\\");e.exports=a;var s=n.prototype;s.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),o.eq(this.edges,e,t)>=0}}(),s.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},s.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},s.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},s.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)},s.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},s.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\\\"binary-search-bounds\\\":83}],83:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],84:[function(t,e,r){\\\"use strict\\\";function n(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}e.exports=n},{}],85:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];var r=(t[0].length,o([t.length+1,t.length+1],1)),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a<e;++a){for(var l=0;l<=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}for(var u=s(r,i),c=0,h=u[e+1],a=0;a<h.length;++a)c+=h[a];for(var f=new Array(e),a=0;a<e;++a){for(var h=u[a],d=0,l=0;l<h.length;++l)d+=h[l];f[a]=d/c}return f}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(\\\"dup\\\"),s=t(\\\"robust-linear-solve\\\");a.barycenetric=i,e.exports=a},{dup:124,\\\"robust-linear-solve\\\":506}],86:[function(t,e,r){function n(t){for(var e=i(t),r=0,n=0;n<t.length;++n)for(var a=t[n],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)}e.exports=n;var i=t(\\\"circumcenter\\\")},{circumcenter:85}],87:[function(t,e,r){function n(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}e.exports=n},{}],88:[function(t,e,r){\\\"use strict\\\";function n(t){var e=_(t);return[M(e,-1/0),M(e,1/0)]}function i(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[M(Math.min(a[0],o[0]),-1/0),M(Math.min(a[1],o[1]),-1/0),M(Math.max(a[0],o[0]),1/0),M(Math.max(a[1],o[1]),1/0)]}return r}function a(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[M(n[0],-1/0),M(n[1],-1/0),M(n[0],1/0),M(n[1],1/0)]}return e}function o(t,e,r){var n=[];return g(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&&a[0]!==o[1]&&a[1]!==o[0]&&a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],u=t[o[0]],c=t[o[1]];y(s,l,u,c)&&n.push([r,i])}}),n}function s(t,e,r,n){var i=[];return g(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];y(s,l,o,o)&&i.push([r,n])}}),i}function l(t,e,r,n,i){var a,o,s=t.map(function(t){return[b(t[0]),b(t[1])]});for(a=0;a<r.length;++a){var l=r[a];o=l[0];var u=l[1],c=e[o],h=e[u],f=k(w(t[c[0]]),w(t[c[1]]),w(t[h[0]]),w(t[h[1]]));if(f){var d=t.length;t.push([_(f[0]),_(f[1])]),s.push(f),n.push([o,d],[u,d])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return x(r[0],n[0])||x(r[1],n[1])}),a=n.length-1;a>=0;--a){var p=n[a];o=p[0];var m=e[o],v=m[0],g=m[1],y=t[v],M=t[g];if((y[0]-M[0]||y[1]-M[1])<0){var A=v;v=g,g=A}m[0]=v;var T,S=m[1]=p[1];for(i&&(T=m[2]);a>0&&n[a-1][0]===o;){var p=n[--a],E=p[1];i?e.push([S,E,T]):e.push([S,E]),S=E}i?e.push([S,g,T]):e.push([S,g])}return s}function u(t,e,r){for(var i=e.length,a=new v(i),o=[],s=0;s<e.length;++s){var l=e[s],u=n(l[0]),c=n(l[1]);o.push([M(u[0],-1/0),M(c[0],-1/0),M(u[1],1/0),M(c[1],1/0)])}g(o,function(t,e){a.link(t,e)});for(var h=!0,f=new Array(i),s=0;s<i;++s){var d=a.find(s);d!==s&&(h=!1,t[d]=[Math.min(t[s][0],t[d][0]),Math.min(t[s][1],t[d][1])])}if(h)return null;for(var p=0,s=0;s<i;++s){var d=a.find(s);d===s?(f[s]=p,t[p++]=t[s]):f[s]=-1}t.length=p;for(var s=0;s<i;++s)f[s]<0&&(f[s]=f[a.find(s)]);return f}function c(t,e){return t[0]-e[0]||t[1]-e[1]}function h(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 f(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=t[n],a=e[i[0]],o=e[i[1]]\\n\",\n       \";i[0]=Math.min(a,o),i[1]=Math.max(a,o)}else for(var n=0;n<t.length;++n){var i=t[n],a=i[0],o=i[1];i[0]=Math.min(a,o),i[1]=Math.max(a,o)}r?t.sort(h):t.sort(c);for(var s=1,n=1;n<t.length;++n){var l=t[n-1],u=t[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(t[s++]=u)}t.length=s}}function d(t,e,r){var n=u(t,[],a(t));return f(e,n,r),!!n}function p(t,e,r){var n=i(t,e),c=o(t,e,n),h=a(t),d=s(t,e,n,h),p=l(t,e,c,d,r),m=u(t,p,h);return f(e,m,r),!!m||(c.length>0||d.length>0)}function m(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}for(var s=d(t,e,!!r);p(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s}e.exports=m;var v=t(\\\"union-find\\\"),g=t(\\\"box-intersect\\\"),y=t(\\\"robust-segment-intersect\\\"),b=t(\\\"big-rat\\\"),x=t(\\\"big-rat/cmp\\\"),_=t(\\\"big-rat/to-float\\\"),w=t(\\\"rat-vec\\\"),M=t(\\\"nextafter\\\"),k=t(\\\"./lib/rat-seg-intersect\\\")},{\\\"./lib/rat-seg-intersect\\\":89,\\\"big-rat\\\":52,\\\"big-rat/cmp\\\":50,\\\"big-rat/to-float\\\":64,\\\"box-intersect\\\":69,nextafter:467,\\\"rat-vec\\\":494,\\\"robust-segment-intersect\\\":510,\\\"union-find\\\":541}],89:[function(t,e,r){\\\"use strict\\\";function n(t,e){return s(a(t[0],e[1]),a(t[1],e[0]))}function i(t,e,r,i){var a=u(e,t),s=u(i,r),f=n(a,s);if(0===l(f))return null;var d=u(t,r),p=n(s,d),m=o(p,f),v=h(a,m);return c(t,v)}e.exports=i;var a=t(\\\"big-rat/mul\\\"),o=t(\\\"big-rat/div\\\"),s=t(\\\"big-rat/sub\\\"),l=t(\\\"big-rat/sign\\\"),u=t(\\\"rat-vec/sub\\\"),c=t(\\\"rat-vec/add\\\"),h=t(\\\"rat-vec/muls\\\")},{\\\"big-rat/div\\\":51,\\\"big-rat/mul\\\":61,\\\"big-rat/sign\\\":62,\\\"big-rat/sub\\\":63,\\\"rat-vec/add\\\":493,\\\"rat-vec/muls\\\":495,\\\"rat-vec/sub\\\":496}],90:[function(t,e,r){(function(t){var r=function(){\\\"use strict\\\";function e(r,n,i,a){function s(r,i){if(null===r)return null;if(0==i)return r;var h,f;if(\\\"object\\\"!=typeof r)return r;if(e.__isArray(r))h=[];else if(e.__isRegExp(r))h=new RegExp(r.source,o(r)),r.lastIndex&&(h.lastIndex=r.lastIndex);else if(e.__isDate(r))h=new Date(r.getTime());else{if(c&&t.isBuffer(r))return h=new t(r.length),r.copy(h),h;void 0===a?(f=Object.getPrototypeOf(r),h=Object.create(f)):(h=Object.create(a),f=a)}if(n){var d=l.indexOf(r);if(-1!=d)return u[d];l.push(r),u.push(h)}for(var p in r){var m;f&&(m=Object.getOwnPropertyDescriptor(f,p)),m&&null==m.set||(h[p]=s(r[p],i-1))}return h}\\\"object\\\"==typeof n&&(i=n.depth,a=n.prototype,n.filter,n=n.circular);var l=[],u=[],c=void 0!==t;return void 0===n&&(n=!0),void 0===i&&(i=1/0),s(r,i)}function r(t){return Object.prototype.toString.call(t)}function n(t){return\\\"object\\\"==typeof t&&\\\"[object Date]\\\"===r(t)}function i(t){return\\\"object\\\"==typeof t&&\\\"[object Array]\\\"===r(t)}function a(t){return\\\"object\\\"==typeof t&&\\\"[object RegExp]\\\"===r(t)}function o(t){var e=\\\"\\\";return t.global&&(e+=\\\"g\\\"),t.ignoreCase&&(e+=\\\"i\\\"),t.multiline&&(e+=\\\"m\\\"),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=n,e.__isArray=i,e.__isRegExp=a,e.__getRegExpFlags=o,e}();\\\"object\\\"==typeof e&&e.exports&&(e.exports=r)}).call(this,t(\\\"buffer\\\").Buffer)},{buffer:76}],91:[function(t,e,r){\\\"use strict\\\";function n(t,e){null==e&&(e=!0);var r=t[0],n=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,n*=255,i*=255,o*=255),r=255&a(r,0,255),n=255&a(n,0,255),i=255&a(i,0,255),o=255&a(o,0,255),16777216*r+(n<<16)+(i<<8)+o}function i(t,e){t=+t;var r=t>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}var a=t(\\\"clamp\\\");e.exports=n,e.exports.to=n,e.exports.from=i},{clamp:87}],92:[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]}},{}],93:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t){var e,n,s=[],l=1;if(\\\"string\\\"==typeof t)if(i[t])s=i[t].slice(),n=\\\"rgb\\\";else if(\\\"transparent\\\"===t)l=0,n=\\\"rgb\\\",s=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),c=u.length,h=c<=4;l=1,h?(s=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===c&&(l=parseInt(u[3]+u[3],16)/255)):(s=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===c&&(l=parseInt(u[6]+u[7],16)/255)),s[0]||(s[0]=0),s[1]||(s[1]=0),s[2]||(s[2]=0),n=\\\"rgb\\\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\\\s*\\\\(([^\\\\)]*)\\\\)/.exec(t)){var f=e[1],u=f.replace(/a$/,\\\"\\\");n=u;var c=\\\"cmyk\\\"===u?4:\\\"gray\\\"===u?1:3;s=e[2].trim().split(/\\\\s*,\\\\s*/).map(function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:\\\"rgb\\\"===u?255*parseFloat(t)/100:parseFloat(t);if(\\\"h\\\"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),f===u&&s.push(1),l=void 0===s[c]?1:s[c],s=s.slice(0,c)}else t.length>10&&/[0-9](?:\\\\s|\\\\/)/.test(t)&&(s=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),n=t.match(/([a-z])/gi).join(\\\"\\\").toLowerCase());else\\\"number\\\"==typeof t?(n=\\\"rgb\\\",s=[t>>>16,(65280&t)>>>8,255&t]):a(t)?(null!=t.r?(s=[t.r,t.g,t.b],n=\\\"rgb\\\"):null!=t.red?(s=[t.red,t.green,t.blue],n=\\\"rgb\\\"):null!=t.h?(s=[t.h,t.s,t.l],n=\\\"hsl\\\"):null!=t.hue&&(s=[t.hue,t.saturation,t.lightness],n=\\\"hsl\\\"),null!=t.a?l=t.a:null!=t.alpha?l=t.alpha:null!=t.opacity&&(l=t.opacity/100)):(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(s=[t[0],t[1],t[2]],n=\\\"rgb\\\",l=4===t.length?t[3]:1);return{space:n,values:s,alpha:l}}e.exports=n;var i=t(\\\"color-name\\\"),a=t(\\\"is-plain-obj\\\"),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\\\":92,\\\"is-plain-obj\\\":296}],94:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-parse\\\"),i=t(\\\"color-space/hsl\\\"),a=t(\\\"clamp\\\");e.exports=function(t,e){if(Array.isArray(t))return t;null==e&&(e=!0);var r=n(t);if(!r.space)return[];var o,s=r.values,l=s.length;for(o=0;o<l;o++)s[o]=a(s[o],0,255);if(\\\"h\\\"===r.space[0]&&(s=i.rgb(s)),e)for(o=0;o<l;o++)s[o]/=255;return s.push(a(r.alpha,0,1)),s}},{clamp:87,\\\"color-parse\\\":93,\\\"color-space/hsl\\\":95}],95:[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,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return a=255*l,[a,a,a];r=l<.5?l*(1+s):l+s-l*s,e=2*l-r,i=[0,0,0];for(var u=0;u<3;u++)n=o+1/3*-(u-1),n<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n,i=t[0]/255,a=t[1]/255,o=t[2]/255,s=Math.min(i,a,o),l=Math.max(i,a,o),u=l-s;return l===s?e=0:i===l?e=(a-o)/u:a===l?e=2+(o-i)/u:o===l&&(e=4+(i-a)/u),e=Math.min(60*e,360),e<0&&(e+=360),n=(s+l)/2,r=l===s?0:n<=.5?u/(l+s):u/(2-l-s),[e,100*r,100*n]}},{\\\"./rgb\\\":96}],96:[function(t,e,r){\\\"use strict\\\";e.exports={name:\\\"rgb\\\",min:[0,0,0],max:[255,255,255],channel:[\\\"red\\\",\\\"green\\\",\\\"blue\\\"],alias:[\\\"RGB\\\"]}},{}],97:[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:0,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]}]}},{}],98:[function(t,e,r){\\\"use strict\\\";function n(t){var e,r,n,u,c,h,f,d,p,m,v,g,y,b=[],x=[],_=[],w=[];if(o.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||\\\"hex\\\",f=t.colormap,f||(f=\\\"jet\\\"),\\\"string\\\"==typeof f){if(f=f.toLowerCase(),!l[f])throw Error(f+\\\" not a supported colorscale\\\");h=s(l[f])}else{if(!Array.isArray(f))throw Error(\\\"unsupported colormap option\\\",f);h=s(f)}if(h.length>p)throw new Error(f+\\\" map requires nshades to be at least size \\\"+h.length);for(v=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:s(t.alpha):\\\"number\\\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=h.map(function(t){return Math.round(t.index*p)}),v[0]<0&&(v[0]=0),v[1]<0&&(v[0]=0),v[0]>1&&(v[0]=1),v[1]>1&&(v[0]=1),y=0;y<e.length;++y)g=h[y].index,r=h[y].rgb,4===r.length&&r[3]>=0&&r[3]<=1||(r[3]=v[0]+(v[1]-v[0])*g);for(y=0;y<e.length-1;++y)c=e[y+1]-e[y],n=h[y].rgb,u=h[y+1].rgb,b=b.concat(o.linspace(n[0],u[0],c)),x=x.concat(o.linspace(n[1],u[1],c)),_=_.concat(o.linspace(n[2],u[2],c)),w=w.concat(o.linspace(n[3],u[3],c));return b=b.map(Math.round),x=x.map(Math.round),_=_.map(Math.round),m=o.zip(b,x,_,w),\\\"hex\\\"===d&&(m=m.map(i)),\\\"rgbaString\\\"===d&&(m=m.map(a)),m}function i(t){for(var e,r=\\\"#\\\",n=0;n<3;++n)e=t[n],e=e.toString(16),r+=(\\\"00\\\"+e).substr(e.length);return r}function a(t){return\\\"rgba(\\\"+t.join(\\\",\\\")+\\\")\\\"}var o=t(\\\"arraytools\\\"),s=t(\\\"clone\\\"),l=t(\\\"./colorScales\\\");e.exports=n},{\\\"./colorScales\\\":97,arraytools:45,clone:90}],99:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=s(t[0],-e[0]),i=s(t[1],-e[1]),a=s(r[0],-e[0]),o=s(r[1],-e[1]),c=u(l(n,a),l(i,o));return c[c.length-1]>=0}function i(t,e,r,i){var s=a(e,r,i);if(0===s){var l=o(a(t,e,r)),u=o(a(t,e,i));if(l===u){if(0===l){var c=n(t,e,r);return c===n(t,e,i)?0:c?1:-1}return 0}return 0===u?l>0?-1:n(t,e,i)?-1:1:0===l?u>0?1:n(t,e,r)?1:-1:o(u-l)}var h=a(t,e,r);return h>0?s>0&&a(t,e,i)>0?1:-1:h<0?s>0||a(t,e,i)>0?1:-1:a(t,e,i)>0?1:n(t,e,r)?1:-1}e.exports=i;var a=t(\\\"robust-orientation\\\"),o=t(\\\"signum\\\"),s=t(\\\"two-sum\\\"),l=t(\\\"robust-product\\\"),u=t(\\\"robust-sum\\\")},{\\\"robust-orientation\\\":507,\\\"robust-product\\\":508,\\\"robust-sum\\\":512,signum:514,\\\"two-sum\\\":539}],100:[function(t,e,r){function n(t,e){return t-e}function i(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]||a(t[0],t[1])-a(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=a(t[0],t[1]),u=a(e[0],e[1]);return a(l,t[2])-a(u,e[2])||a(l+t[2],o)-a(u+e[2],s);case 4:var c=t[0],h=t[1],f=t[2],d=t[3],p=e[0],m=e[1],v=e[2],g=e[3];return c+h+f+d-(p+m+v+g)||a(c,h,f,d)-a(p,m,v,g,p)||a(c+h,c+f,c+d,h+f,h+d,f+d)-a(p+m,p+v,p+g,m+v,m+g,v+g)||a(c+h+f,c+h+d,c+f+d,h+f+d)-a(p+m+v,p+m+g,p+v+g,m+v+g);default:for(var y=t.slice().sort(n),b=e.slice().sort(n),x=0;x<r;++x)if(i=y[x]-b[x])return i;return 0}}e.exports=i;var a=Math.min},{}],101:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t,e)||a(t)-a(e)}var i=t(\\\"compare-cell\\\"),a=t(\\\"cell-orientation\\\");e.exports=n},{\\\"cell-orientation\\\":84,\\\"compare-cell\\\":100}],102:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?i(t):2===r?a(t):o(t,r)}var i=t(\\\"./lib/ch1d\\\"),a=t(\\\"./lib/ch2d\\\"),o=t(\\\"./lib/chnd\\\");e.exports=n},{\\\"./lib/ch1d\\\":103,\\\"./lib/ch2d\\\":104,\\\"./lib/chnd\\\":105}],103:[function(t,e,r){\\\"use strict\\\";function n(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]]}e.exports=n},{}],104:[function(t,e,r){\\\"use strict\\\";function n(t){var e=i(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];n[o]=[a,s],a=s}return n}e.exports=n;var i=t(\\\"monotone-convex-hull-2d\\\")},{\\\"monotone-convex-hull-2d\\\":450}],105:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}function i(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}function a(t,e){try{return o(t,!0)}catch(u){var r=s(t);if(r.length<=e)return[];var a=n(t,r),l=o(a,!0);return i(l,r)}}e.exports=a;var o=t(\\\"incremental-convex-hull\\\"),s=t(\\\"affine-hull\\\")},{\\\"affine-hull\\\":40,\\\"incremental-convex-hull\\\":289}],106:[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\\\"}},{}],107:[function(t,e,r){function n(t){return t=Math.round(t),t<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return n(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(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}function l(t){var e=t.replace(/ /g,\\\"\\\").toLowerCase();if(e in u)return u[e].slice();if(\\\"#\\\"===e[0]){if(4===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=4095?[(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,1]:null}if(7===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=16777215?[(16711680&r)>>16,(65280&r)>>8,255&r,1]:null}return null}var i=e.indexOf(\\\"(\\\"),l=e.indexOf(\\\")\\\");if(-1!==i&&l+1===e.length){var c=e.substr(0,i),h=e.substr(i+1,l-(i+1)).split(\\\",\\\"),f=1;switch(c){case\\\"rgba\\\":if(4!==h.length)return null;f=o(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=o(h.pop());case\\\"hsl\\\":if(3!==h.length)return null;var d=(parseFloat(h[0])%360+360)%360/360,p=o(h[1]),m=o(h[2]),v=m<=.5?m*(p+1):m+p-m*p,g=2*m-v;return[n(255*s(g,v,d+1/3)),n(255*s(g,v,d)),n(255*s(g,v,d-1/3)),f];default:return null}}return null}var u={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],\\n\",\n       \"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]};try{r.parseCSSColor=l}catch(t){}},{}],108:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}function i(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var d=t.length-1;d>=0;--d)a[d]=u*t[d]+c*e[d]+h*r[d]+f*n[d];return a}return u*t+c*e+h*r+f*n}e.exports=i,e.exports.derivative=n},{}],109:[function(t,e,r){\\\"use strict\\\";function n(){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}function i(t){var e=new n;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,a(e)}var a=t(\\\"./lib/thunk.js\\\");e.exports=i},{\\\"./lib/thunk.js\\\":111}],110:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,h=0;for(n=0;n<a;++n)u.push([\\\"i\\\",n,\\\"=0\\\"].join(\\\"\\\"));for(i=0;i<o;++i)for(n=0;n<a;++n)h=c,c=t[n],0===n?u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=t\\\",i,\\\"p\\\",c].join(\\\"\\\")):u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=(t\\\",i,\\\"p\\\",c,\\\"-s\\\",h,\\\"*t\\\",i,\\\"p\\\",h,\\\")\\\"].join(\\\"\\\"));for(u.length>0&&l.push(\\\"var \\\"+u.join(\\\",\\\")),n=a-1;n>=0;--n)c=t[n],l.push([\\\"for(i\\\",n,\\\"=0;i\\\",n,\\\"<s\\\",c,\\\";++i\\\",n,\\\"){\\\"].join(\\\"\\\"));for(l.push(r),n=0;n<a;++n){for(h=c,c=t[n],i=0;i<o;++i)l.push([\\\"p\\\",i,\\\"+=d\\\",i,\\\"s\\\",n].join(\\\"\\\"));s&&(n>0&&l.push([\\\"index[\\\",h,\\\"]-=s\\\",h].join(\\\"\\\")),l.push([\\\"++index[\\\",c,\\\"]\\\"].join(\\\"\\\"))),l.push(\\\"}\\\")}return l.join(\\\"\\\\n\\\")}function i(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,u=[],c=0;c<o;++c)u.push([\\\"var offset\\\",c,\\\"=p\\\",c].join(\\\"\\\"));for(var c=t;c<a;++c)u.push([\\\"for(var j\\\"+c+\\\"=SS[\\\",e[c],\\\"]|0;j\\\",c,\\\">0;){\\\"].join(\\\"\\\")),u.push([\\\"if(j\\\",c,\\\"<\\\",s,\\\"){\\\"].join(\\\"\\\")),u.push([\\\"s\\\",e[c],\\\"=j\\\",c].join(\\\"\\\")),u.push([\\\"j\\\",c,\\\"=0\\\"].join(\\\"\\\")),u.push([\\\"}else{s\\\",e[c],\\\"=\\\",s].join(\\\"\\\")),u.push([\\\"j\\\",c,\\\"-=\\\",s,\\\"}\\\"].join(\\\"\\\")),l&&u.push([\\\"index[\\\",e[c],\\\"]=j\\\",c].join(\\\"\\\"));for(var c=0;c<o;++c){for(var h=[\\\"offset\\\"+c],f=t;f<a;++f)h.push([\\\"j\\\",f,\\\"*t\\\",c,\\\"p\\\",e[f]].join(\\\"\\\"));u.push([\\\"p\\\",c,\\\"=(\\\",h.join(\\\"+\\\"),\\\")\\\"].join(\\\"\\\"))}u.push(n(e,r,i));for(var c=t;c<a;++c)u.push(\\\"}\\\");return u.join(\\\"\\\\n\\\")}function a(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}function o(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\\\"g\\\"),u=\\\"\\\",c=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\\\"offset\\\":var h=e.offsetArgIndex.indexOf(o);c=e.offsetArgs[h].array,u=\\\"+q\\\"+h;case\\\"array\\\":u=\\\"p\\\"+c+u;var f=\\\"l\\\"+o,d=\\\"a\\\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\\\"generic\\\"===r[c]?s.lvalue?(i.push([\\\"var \\\",f,\\\"=\\\",d,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),a.push([d,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):n=n.replace(l,[d,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")):n=n.replace(l,[d,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")):\\\"generic\\\"===r[c]?(i.push([\\\"var \\\",f,\\\"=\\\",d,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([d,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):(i.push([\\\"var \\\",f,\\\"=\\\",d,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([d,\\\"[\\\",u,\\\"]=\\\",f].join(\\\"\\\")));else{for(var p=[s.name],m=[u],v=0;v<Math.abs(e.arrayBlockIndices[c]);v++)p.push(\\\"\\\\\\\\s*\\\\\\\\[([^\\\\\\\\]]+)\\\\\\\\]\\\"),m.push(\\\"$\\\"+(v+1)+\\\"*t\\\"+c+\\\"b\\\"+v);if(l=new RegExp(p.join(\\\"\\\"),\\\"g\\\"),u=m.join(\\\"+\\\"),\\\"generic\\\"===r[c])throw new Error(\\\"cwise: Generic arrays not supported in combination with blocks!\\\");n=n.replace(l,[d,\\\"[\\\",u,\\\"]\\\"].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[i.join(\\\"\\\\n\\\"),n,a.join(\\\"\\\\n\\\")].join(\\\"\\\\n\\\").trim()}function s(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\\\d+/);a=a?a[0]:\\\"\\\",0===i.charAt(0)?e[n]=\\\"u\\\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\\\"\\\")}function l(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,l=new Array(t.arrayArgs.length),c=new Array(t.arrayArgs.length),h=0;h<t.arrayArgs.length;++h)c[h]=e[2*h],l[h]=e[2*h+1];for(var f=[],d=[],p=[],m=[],v=[],h=0;h<t.arrayArgs.length;++h){t.arrayBlockIndices[h]<0?(p.push(0),m.push(r),f.push(r),d.push(r+t.arrayBlockIndices[h])):(p.push(t.arrayBlockIndices[h]),m.push(t.arrayBlockIndices[h]+r),f.push(0),d.push(t.arrayBlockIndices[h]));for(var g=[],y=0;y<l[h].length;y++)p[h]<=l[h][y]&&l[h][y]<m[h]&&g.push(l[h][y]-p[h]);v.push(g)}for(var b=[\\\"SS\\\"],x=[\\\"'use strict'\\\"],_=[],y=0;y<r;++y)_.push([\\\"s\\\",y,\\\"=SS[\\\",y,\\\"]\\\"].join(\\\"\\\"));for(var h=0;h<t.arrayArgs.length;++h){b.push(\\\"a\\\"+h),b.push(\\\"t\\\"+h),b.push(\\\"p\\\"+h);for(var y=0;y<r;++y)_.push([\\\"t\\\",h,\\\"p\\\",y,\\\"=t\\\",h,\\\"[\\\",p[h]+y,\\\"]\\\"].join(\\\"\\\"));for(var y=0;y<Math.abs(t.arrayBlockIndices[h]);++y)_.push([\\\"t\\\",h,\\\"b\\\",y,\\\"=t\\\",h,\\\"[\\\",f[h]+y,\\\"]\\\"].join(\\\"\\\"))}for(var h=0;h<t.scalarArgs.length;++h)b.push(\\\"Y\\\"+h);if(t.shapeArgs.length>0&&_.push(\\\"shape=SS.slice(0)\\\"),t.indexArgs.length>0){for(var w=new Array(r),h=0;h<r;++h)w[h]=\\\"0\\\";_.push([\\\"index=[\\\",w.join(\\\",\\\"),\\\"]\\\"].join(\\\"\\\"))}for(var h=0;h<t.offsetArgs.length;++h){for(var M=t.offsetArgs[h],k=[],y=0;y<M.offset.length;++y)0!==M.offset[y]&&(1===M.offset[y]?k.push([\\\"t\\\",M.array,\\\"p\\\",y].join(\\\"\\\")):k.push([M.offset[y],\\\"*t\\\",M.array,\\\"p\\\",y].join(\\\"\\\")));0===k.length?_.push(\\\"q\\\"+h+\\\"=0\\\"):_.push([\\\"q\\\",h,\\\"=\\\",k.join(\\\"+\\\")].join(\\\"\\\"))}var A=u([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));_=_.concat(A),_.length>0&&x.push(\\\"var \\\"+_.join(\\\",\\\"));for(var h=0;h<t.arrayArgs.length;++h)x.push(\\\"p\\\"+h+\\\"|=0\\\");t.pre.body.length>3&&x.push(o(t.pre,t,c));var T=o(t.body,t,c),S=a(v);S<r?x.push(i(S,v[0],t,T)):x.push(n(v[0],t,T)),t.post.body.length>3&&x.push(o(t.post,t,c)),t.debug&&console.log(\\\"-----Generated cwise routine for \\\",e,\\\":\\\\n\\\"+x.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\");var E=[t.funcName||\\\"unnamed\\\",\\\"_cwise_loop_\\\",l[0].join(\\\"s\\\"),\\\"m\\\",S,s(c)].join(\\\"\\\");return new Function([\\\"function \\\",E,\\\"(\\\",b.join(\\\",\\\"),\\\"){\\\",x.join(\\\"\\\\n\\\"),\\\"} return \\\",E].join(\\\"\\\"))()}var u=t(\\\"uniq\\\");e.exports=l},{uniq:542}],111:[function(t,e,r){\\\"use strict\\\";function n(t){var e=[\\\"'use strict'\\\",\\\"var CACHED={}\\\"],r=[],n=t.funcName+\\\"_cwise_thunk\\\";e.push([\\\"return function \\\",n,\\\"(\\\",t.shimArgs.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var a=[],o=[],s=[[\\\"array\\\",t.arrayArgs[0],\\\".shape.slice(\\\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\\\",\\\"+t.arrayBlockIndices[0]+\\\")\\\":\\\")\\\"].join(\\\"\\\")],l=[],u=[],c=0;c<t.arrayArgs.length;++c){var h=t.arrayArgs[c];r.push([\\\"t\\\",h,\\\"=array\\\",h,\\\".dtype,\\\",\\\"r\\\",h,\\\"=array\\\",h,\\\".order\\\"].join(\\\"\\\")),a.push(\\\"t\\\"+h),a.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\\\"),c>0&&(l.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape.length===array\\\"+h+\\\".shape.length+\\\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),u.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[0])+\\\"]===array\\\"+h+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[c])+\\\"]\\\"))}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 (!(\\\"+u.join(\\\" && \\\")+\\\")) throw new Error('cwise: Arrays do not all have the same shape!')\\\"),e.push(\\\"}\\\"));for(var c=0;c<t.scalarArgs.length;++c)s.push(\\\"scalar\\\"+t.scalarArgs[c]);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([\\\",a.join(\\\",\\\"),\\\"])}\\\",\\\"return proc(\\\",s.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),t.debug&&console.log(\\\"-----Generated thunk:\\\\n\\\"+e.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\"),new Function(\\\"compile\\\",e.join(\\\"\\\\n\\\"))(i.bind(void 0,t))}var i=t(\\\"./compile.js\\\");e.exports=n},{\\\"./compile.js\\\":110}],112:[function(t,e,r){e.exports=t(\\\"cwise-compiler\\\")},{\\\"cwise-compiler\\\":109}],113:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(t){return function(e,r){return o(t(e),r)}}function r(t,e){return[t,e]}function n(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=k?10:a>=A?5:a>=T?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=k?10:a>=A?5:a>=T?2:1)}function i(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=k?i*=10:a>=A?i*=5:a>=T&&(i*=2),e<t?-i:i}function a(t){return t.length}var o=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},s=function(t){return 1===t.length&&(t=e(t)),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}},l=s(o),u=l.right,c=l.left,h=function(t,e){null==e&&(e=r);for(var n=0,i=t.length-1,a=t[0],o=new Array(i<0?0:i);n<i;)o[n]=e(a,a=t[++n]);return o},f=function(t,e,n){var i,a,o,s,l=t.length,u=e.length,c=new Array(l*u);for(null==n&&(n=r),i=o=0;i<l;++i)for(s=t[i],a=0;a<u;++a,++o)c[o]=n(s,e[a]);return c},d=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},p=function(t){return null===t?NaN:+t},m=function(t,e){var r,n,i=t.length,a=0,o=-1,s=0,l=0;if(null==e)for(;++o<i;)isNaN(r=p(t[o]))||(n=r-s,s+=n/++a,l+=n*(r-s));else for(;++o<i;)isNaN(r=p(e(t[o],o,t)))||(n=r-s,s+=n/++a,l+=n*(r-s));if(a>1)return l/(a-1)},v=function(t,e){var r=m(t,e);return r?Math.sqrt(r):r},g=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},y=Array.prototype,b=y.slice,x=y.map,_=function(t){return function(){return t}},w=function(t){return t},M=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},k=Math.sqrt(50),A=Math.sqrt(10),T=Math.sqrt(2),S=function(t,e,r){var i,a,o,s=e<t,l=-1;if(s&&(i=t,t=e,e=i),0===(o=n(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l<i;)a[l]=(t+l)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++l<i;)a[l]=(t-l)/o;return s&&a.reverse(),a},E=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},L=function(){function t(t){var a,o,s=t.length,l=new Array(s);for(a=0;a<s;++a)l[a]=e(t[a],a,t);var c=r(l),h=c[0],f=c[1],d=n(l,h,f);Array.isArray(d)||(d=i(h,f,d),d=M(Math.ceil(h/d)*d,Math.floor(f/d)*d,d));for(var p=d.length;d[0]<=h;)d.shift(),--p;for(;d[p-1]>f;)d.pop(),--p;var m,v=new Array(p+1);for(a=0;a<=p;++a)m=v[a]=[],m.x0=a>0?d[a-1]:h,m.x1=a<p?d[a]:f;for(a=0;a<s;++a)o=l[a],h<=o&&o<=f&&v[u(d,o,0,p)].push(t[a]);return v}var e=w,r=g,n=E;return t.value=function(r){return arguments.length?(e=\\\"function\\\"==typeof r?r:_(r),t):e},t.domain=function(e){return arguments.length?(r=\\\"function\\\"==typeof e?e:_([e[0],e[1]]),t):r},t.thresholds=function(e){return arguments.length?(n=\\\"function\\\"==typeof e?e:_(Array.isArray(e)?b.call(e):e),t):n},t},C=function(t,e,r){if(null==r&&(r=p),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,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},z=function(t,e,r){return t=x.call(t,p).sort(o),Math.ceil((r-e)/(2*(C(t,.75)-C(t,.25))*Math.pow(t.length,-1/3)))},I=function(t,e,r){return Math.ceil((r-e)/(3.5*v(t)*Math.pow(t.length,-1/3)))},D=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},P=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=p(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=p(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},O=function(t,e){var r,n=t.length,i=-1,a=[];if(null==e)for(;++i<n;)isNaN(r=p(t[i]))||a.push(r);else for(;++i<n;)isNaN(r=p(e(t[i],i,t)))||a.push(r);return C(a.sort(o),.5)},R=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(n=t[i],e=n.length;--e>=0;)r[--o]=n[e];return r},F=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},j=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},N=function(t,e){if(r=t.length){var r,n,i=0,a=0,s=t[a];for(null==e&&(e=o);++i<r;)(e(n=t[i],s)<0||0!==e(s,s))&&(s=n,a=i);return 0===e(s,s)?a:void 0}},B=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},U=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},V=function(t){if(!(i=t.length))return[];for(var e=-1,r=F(t,a),n=new Array(r);++e<r;)for(var i,o=-1,s=n[e]=new Array(i);++o<i;)s[o]=t[o][e];return n},H=function(){return V(arguments)};t.bisect=u,t.bisectRight=u,t.bisectLeft=c,t.ascending=o,t.bisector=s,t.cross=f,t.descending=d,t.deviation=v,t.extent=g,t.histogram=L,t.thresholdFreedmanDiaconis=z,t.thresholdScott=I,t.thresholdSturges=E,t.max=D,t.mean=P,t.median=O,t.merge=R,t.min=F,t.pairs=h,t.permute=j,t.quantile=C,t.range=M,t.scan=N,t.shuffle=B,t.sum=U,t.ticks=S,t.tickIncrement=n,t.tickStep=i,t.transpose=V,t.variance=m,t.zip=H,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],114:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.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 i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}function l(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}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 u=function(){function t(e,n,i,a){if(n>=c.length)return null!=l?l(e):null!=s?e.sort(s):e;for(var o,u,h,f=-1,d=e.length,p=c[n++],m=r(),v=i();++f<d;)(h=m.get(o=p(u=e[f])+\\\"\\\"))?h.push(u):m.set(o,[u]);return m.each(function(e,r){a(v,r,t(e,n,i,a))}),v}function e(t,r){if(++r>c.length)return t;var n,i=h[r-1];return null!=l&&r>=c.length?n=t.entries():(n=[],t.each(function(t,i){n.push({key:i,values:e(t,r)})})),null!=i?n.sort(function(t,e){return i(t.key,e.key)}):n}var s,l,u,c=[],h=[];return u={object:function(e){return t(e,0,n,i)},map:function(e){return t(e,0,a,o)},entries:function(r){return e(t(r,0,a,o),0)},key:function(t){return c.push(t),u},sortKeys:function(t){return h[c.length-1]=t,u},sortValues:function(t){return s=t,u},rollup:function(t){return l=t,u}}},c=r.prototype;s.prototype=l.prototype={constructor:s,has:c.has,add:function(t){return t+=\\\"\\\",this[\\\"$\\\"+t]=t,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};var h=function(t){var e=[];for(var r in t)e.push(r);return e},f=function(t){var e=[];for(var r in t)e.push(t[r]);return e},d=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e};t.nest=u,t.set=l,t.map=r,t.keys=h,t.values=f,t.entries=d,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],115:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function r(){}function n(t){var e;return t=(t+\\\"\\\").trim().toLowerCase(),(e=z.exec(t))?(e=parseInt(e[1],16),new l(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1)):(e=I.exec(t))?i(parseInt(e[1],16)):(e=D.exec(t))?new l(e[1],e[2],e[3],1):(e=P.exec(t))?new l(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=O.exec(t))?a(e[1],e[2],e[3],e[4]):(e=R.exec(t))?a(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=F.exec(t))?u(e[1],e[2]/100,e[3]/100,1):(e=j.exec(t))?u(e[1],e[2]/100,e[3]/100,e[4]):N.hasOwnProperty(t)?i(N[t]):\\\"transparent\\\"===t?new l(NaN,NaN,NaN,0):null}function i(t){return new l(t>>16&255,t>>8&255,255&t,1)}function a(t,e,r,n){return n<=0&&(t=e=r=NaN),new l(t,e,r,n)}function o(t){return t instanceof r||(t=n(t)),t?(t=t.rgb(),new l(t.r,t.g,t.b,t.opacity)):new l}function s(t,e,r,n){return 1===arguments.length?o(t):new l(t,e,r,null==n?1:n)}function l(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function u(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new f(t,e,r,n)}function c(t){if(t instanceof f)return new f(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=n(t)),!t)return new f;if(t instanceof f)return t;t=t.rgb();var e=t.r/255,i=t.g/255,a=t.b/255,o=Math.min(e,i,a),s=Math.max(e,i,a),l=NaN,u=s-o,c=(s+o)/2;return u?(l=e===s?(i-a)/u+6*(i<a):i===s?(a-e)/u+2:(e-i)/u+4,u/=c<.5?s+o:2-s-o,l*=60):u=c>0&&c<1?0:l,new f(l,u,c,t.opacity)}function h(t,e,r,n){return 1===arguments.length?c(t):new f(t,e,r,null==n?1:n)}function f(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function d(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function p(t){if(t instanceof v)return new v(t.l,t.a,t.b,t.opacity);if(t instanceof M){var e=t.h*B;return new v(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof l||(t=o(t));var r=x(t.r),n=x(t.g),i=x(t.b),a=g((.4124564*r+.3575761*n+.1804375*i)/V),s=g((.2126729*r+.7151522*n+.072175*i)/H);return new v(116*s-16,500*(a-s),200*(s-g((.0193339*r+.119192*n+.9503041*i)/q)),t.opacity)}function m(t,e,r,n){return 1===arguments.length?p(t):new v(t,e,r,null==n?1:n)}function v(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function g(t){return t>W?Math.pow(t,1/3):t/X+G}function y(t){return t>Y?t*t*t:X*(t-G)}function b(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function x(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function _(t){if(t instanceof M)return new M(t.h,t.c,t.l,t.opacity);t instanceof v||(t=p(t));var e=Math.atan2(t.b,t.a)*U;return new M(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function w(t,e,r,n){return 1===arguments.length?_(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function k(t){if(t instanceof T)return new T(t.h,t.s,t.l,t.opacity);t instanceof l||(t=o(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(rt*n+tt*e-et*r)/(rt+tt-et),a=n-i,s=($*(r-i)-K*a)/Q,u=Math.sqrt(s*s+a*a)/($*i*(1-i)),c=u?Math.atan2(s,a)*U-120:NaN;return new T(c<0?c+360:c,u,i,t.opacity)}function A(t,e,r,n){return 1===arguments.length?k(t):new T(t,e,r,null==n?1:n)}function T(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}var S=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t},E=\\\"\\\\\\\\s*([+-]?\\\\\\\\d+)\\\\\\\\s*\\\",L=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)\\\\\\\\s*\\\",C=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)%\\\\\\\\s*\\\",z=/^#([0-9a-f]{3})$/,I=/^#([0-9a-f]{6})$/,D=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[E,E,E]+\\\"\\\\\\\\)$\\\"),P=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[C,C,C]+\\\"\\\\\\\\)$\\\"),O=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[E,E,E,L]+\\\"\\\\\\\\)$\\\"),R=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[C,C,C,L]+\\\"\\\\\\\\)$\\\"),F=new RegExp(\\\"^hsl\\\\\\\\(\\\"+[L,C,C]+\\\"\\\\\\\\)$\\\"),j=new RegExp(\\\"^hsla\\\\\\\\(\\\"+[L,C,C,L]+\\\"\\\\\\\\)$\\\"),N={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};S(r,n,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\\\"\\\"}}),S(l,s,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return t=isNaN(t)?1:Math.max(0,Math.min(1,t)),(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+\\\")\\\")}})),S(f,h,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new f(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new f(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,i=2*r-n;return new l(d(t>=240?t-240:t+120,i,n),d(t,i,n),d(t<120?t+240:t-120,i,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}}));var B=Math.PI/180,U=180/Math.PI,V=.95047,H=1,q=1.08883,G=4/29,Y=6/29,X=3*Y*Y,W=Y*Y*Y;S(v,m,e(r,{brighter:function(t){return new v(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new v(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 t=H*y(t),e=V*y(e),r=q*y(r),new l(b(3.2404542*e-1.5371385*t-.4985314*r),b(-.969266*e+1.8760108*t+.041556*r),b(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),S(M,w,e(r,{brighter:function(t){return new M(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new M(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return p(this).rgb()}}));var Z=-.14861,J=1.78277,K=-.29227,Q=-.90649,$=1.97294,tt=$*Q,et=$*J,rt=J*K-Q*Z;S(T,A,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new T(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new T(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*B,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new l(255*(e+r*(Z*n+J*i)),255*(e+r*(K*n+Q*i)),255*(e+r*($*n)),this.opacity)}})),t.color=n,t.rgb=s,t.hsl=h,t.lab=m,t.hcl=w,t.cubehelix=A,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],116:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(){for(var t,e=0,n=arguments.length,i={};e<n;++e){if(!(t=arguments[e]+\\\"\\\")||t in i)throw new Error(\\\"illegal type: \\\"+t);i[t]=[]}return new r(i)}function r(t){this._=t}function n(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,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,e,r){for(var n=0,i=t.length;n<i;++n)if(t[n].name===e){t[n]=o,t=t.slice(0,n).concat(t.slice(n+1));break}return null!=r&&t.push({name:e,value:r}),t}var o={value:function(){}};r.prototype=e.prototype={constructor:r,on:function(t,e){var r,o=this._,s=n(t+\\\"\\\",o),l=-1,u=s.length;{if(!(arguments.length<2)){if(null!=e&&\\\"function\\\"!=typeof e)throw new Error(\\\"invalid callback: \\\"+e)\\n\",\n       \";for(;++l<u;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<u;)if((r=(t=s[l]).type)&&(r=i(o[r],t.name)))return r}},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new r(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(n=this._[t],a=0,r=n.length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=e,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],117:[function(e,r,n){!function(i,a){\\\"object\\\"==typeof n&&void 0!==r?a(n,e(\\\"d3-quadtree\\\"),e(\\\"d3-collection\\\"),e(\\\"d3-dispatch\\\"),e(\\\"d3-timer\\\")):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\",\\\"d3-quadtree\\\",\\\"d3-collection\\\",\\\"d3-dispatch\\\",\\\"d3-timer\\\"],a):a(i.d3=i.d3||{},i.d3,i.d3,i.d3,i.d3)}(this,function(t,e,r,n,i){\\\"use strict\\\";function a(t){return t.x+t.vx}function o(t){return t.y+t.vy}function s(t){return t.index}function l(t,e){var r=t.get(e);if(!r)throw new Error(\\\"missing: \\\"+e);return r}function u(t){return t.x}function c(t){return t.y}var h=function(t,e){function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r<a;++r)i=n[r],o+=i.x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r<a;++r)i=n[r],i.x-=o,i.y-=s}var n;return null==t&&(t=0),null==e&&(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},f=function(t){return function(){return t}},d=function(){return 1e-6*(Math.random()-.5)},p=function(t){function r(){function t(t,e,r,n,i){var a=t.data,o=t.r,s=m+o;{if(!a)return e>f+s||n<f-s||r>p+s||i<p-s;if(a.index>h.index){var l=f-a.x-a.vx,c=p-a.y-a.vy,g=l*l+c*c;g<s*s&&(0===l&&(l=d(),g+=l*l),0===c&&(c=d(),g+=c*c),g=(s-(g=Math.sqrt(g)))/g*u,h.vx+=(l*=g)*(s=(o*=o)/(v+o)),h.vy+=(c*=g)*s,a.vx-=l*(s=1-s),a.vy-=c*s)}}}for(var r,i,h,f,p,m,v,g=s.length,y=0;y<c;++y)for(i=e.quadtree(s,a,o).visitAfter(n),r=0;r<g;++r)h=s[r],m=l[h.index],v=m*m,f=h.x+h.vx,p=h.y+h.vy,i.visit(t)}function n(t){if(t.data)return t.r=l[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 i(){if(s){var e,r,n=s.length;for(l=new Array(n),e=0;e<n;++e)r=s[e],l[r.index]=+t(r,e,s)}}var s,l,u=1,c=1;return\\\"function\\\"!=typeof t&&(t=f(null==t?1:+t)),r.initialize=function(t){s=t,i()},r.iterations=function(t){return arguments.length?(c=+t,r):c},r.strength=function(t){return arguments.length?(u=+t,r):u},r.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:f(+e),i(),r):t},r},m=function(t){function e(t){return 1/Math.min(p[t.source.index],p[t.target.index])}function n(e){for(var r=0,n=t.length;r<b;++r)for(var i,a,o,s,l,h,f,p=0;p<n;++p)i=t[p],a=i.source,o=i.target,s=o.x+o.vx-a.x-a.vx||d(),l=o.y+o.vy-a.y-a.vy||d(),h=Math.sqrt(s*s+l*l),h=(h-c[p])/h*e*u[p],s*=h,l*=h,o.vx-=s*(f=m[p]),o.vy-=l*f,a.vx+=s*(f=1-f),a.vy+=l*f}function i(){if(h){var e,n,i=h.length,s=t.length,f=r.map(h,v);for(e=0,p=new Array(i);e<s;++e)n=t[e],n.index=e,\\\"object\\\"!=typeof n.source&&(n.source=l(f,n.source)),\\\"object\\\"!=typeof n.target&&(n.target=l(f,n.target)),p[n.source.index]=(p[n.source.index]||0)+1,p[n.target.index]=(p[n.target.index]||0)+1;for(e=0,m=new Array(s);e<s;++e)n=t[e],m[e]=p[n.source.index]/(p[n.source.index]+p[n.target.index]);u=new Array(s),a(),c=new Array(s),o()}}function a(){if(h)for(var e=0,r=t.length;e<r;++e)u[e]=+g(t[e],e,t)}function o(){if(h)for(var e=0,r=t.length;e<r;++e)c[e]=+y(t[e],e,t)}var u,c,h,p,m,v=s,g=e,y=f(30),b=1;return null==t&&(t=[]),n.initialize=function(t){h=t,i()},n.links=function(e){return arguments.length?(t=e,i(),n):t},n.id=function(t){return arguments.length?(v=t,n):v},n.iterations=function(t){return arguments.length?(b=+t,n):b},n.strength=function(t){return arguments.length?(g=\\\"function\\\"==typeof t?t:f(+t),a(),n):g},n.distance=function(t){return arguments.length?(y=\\\"function\\\"==typeof t?t:f(+t),o(),n):y},n},v=10,g=Math.PI*(3-Math.sqrt(5)),y=function(t){function e(){a(),y.call(\\\"tick\\\",l),u<c&&(m.stop(),y.call(\\\"end\\\",l))}function a(){var e,r,n=t.length;for(u+=(f-u)*h,p.each(function(t){t(u)}),e=0;e<n;++e)r=t[e],null==r.fx?r.x+=r.vx*=d:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=d:(r.y=r.fy,r.vy=0)}function o(){for(var e,r=0,n=t.length;r<n;++r){if(e=t[r],e.index=r,isNaN(e.x)||isNaN(e.y)){var i=v*Math.sqrt(r),a=r*g;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function s(e){return e.initialize&&e.initialize(t),e}var l,u=1,c=.001,h=1-Math.pow(c,1/300),f=0,d=.6,p=r.map(),m=i.timer(e),y=n.dispatch(\\\"tick\\\",\\\"end\\\");return null==t&&(t=[]),o(),l={tick:a,restart:function(){return m.restart(e),l},stop:function(){return m.stop(),l},nodes:function(e){return arguments.length?(t=e,o(),p.each(s),l):t},alpha:function(t){return arguments.length?(u=+t,l):u},alphaMin:function(t){return arguments.length?(c=+t,l):c},alphaDecay:function(t){return arguments.length?(h=+t,l):+h},alphaTarget:function(t){return arguments.length?(f=+t,l):f},velocityDecay:function(t){return arguments.length?(d=1-t,l):1-d},force:function(t,e){return arguments.length>1?(null==e?p.remove(t):p.set(t,s(e)),l):p.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)s=t[u],i=e-s.x,a=r-s.y,(o=i*i+a*a)<n&&(l=s,n=o);return l},on:function(t,e){return arguments.length>1?(y.on(t,e),l):y.on(t)}}},b=function(){function t(t){var r,l=a.length,h=e.quadtree(a,u,c).visitAfter(n);for(s=t,r=0;r<l;++r)o=a[r],h.visit(i)}function r(){if(a){var t,e,r=a.length;for(l=new Array(r),t=0;t<r;++t)e=a[t],l[e.index]=+h(e,t,a)}}function n(t){var e,r,n,i,a,o=0;if(t.length){for(n=i=a=0;a<4;++a)(e=t[a])&&(r=e.value)&&(o+=r,n+=r*e.x,i+=r*e.y);t.x=n/o,t.y=i/o}else{e=t,e.x=e.data.x,e.y=e.data.y;do{o+=l[e.data.index]}while(e=e.next)}t.value=o}function i(t,e,r,n){if(!t.value)return!0;var i=t.x-o.x,a=t.y-o.y,u=n-e,c=i*i+a*a;if(u*u/v<c)return c<m&&(0===i&&(i=d(),c+=i*i),0===a&&(a=d(),c+=a*a),c<p&&(c=Math.sqrt(p*c)),o.vx+=i*t.value*s/c,o.vy+=a*t.value*s/c),!0;if(!(t.length||c>=m)){(t.data!==o||t.next)&&(0===i&&(i=d(),c+=i*i),0===a&&(a=d(),c+=a*a),c<p&&(c=Math.sqrt(p*c)));do{t.data!==o&&(u=l[t.data.index]*s/c,o.vx+=i*u,o.vy+=a*u)}while(t=t.next)}}var a,o,s,l,h=f(-30),p=1,m=1/0,v=.81;return t.initialize=function(t){a=t,r()},t.strength=function(e){return arguments.length?(h=\\\"function\\\"==typeof e?e:f(+e),r(),t):h},t.distanceMin=function(e){return arguments.length?(p=e*e,t):Math.sqrt(p)},t.distanceMax=function(e){return arguments.length?(m=e*e,t):Math.sqrt(m)},t.theta=function(e){return arguments.length?(v=e*e,t):Math.sqrt(v)},t},x=function(t){function e(t){for(var e,r=0,o=n.length;r<o;++r)e=n[r],e.vx+=(a[r]-e.x)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e<r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return\\\"function\\\"!=typeof t&&(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:f(+t),r(),e):o},e.x=function(n){return arguments.length?(t=\\\"function\\\"==typeof n?n:f(+n),r(),e):t},e},_=function(t){function e(t){for(var e,r=0,o=n.length;r<o;++r)e=n[r],e.vy+=(a[r]-e.y)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e<r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return\\\"function\\\"!=typeof t&&(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:f(+t),r(),e):o},e.y=function(n){return arguments.length?(t=\\\"function\\\"==typeof n?n:f(+n),r(),e):t},e};t.forceCenter=h,t.forceCollide=p,t.forceLink=m,t.forceManyBody=b,t.forceSimulation=y,t.forceX=x,t.forceY=_,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{\\\"d3-collection\\\":114,\\\"d3-dispatch\\\":116,\\\"d3-quadtree\\\":119,\\\"d3-timer\\\":120}],118:[function(e,r,n){!function(i,a){\\\"object\\\"==typeof n&&void 0!==r?a(n,e(\\\"d3-color\\\")):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\",\\\"d3-color\\\"],a):a(i.d3=i.d3||{},i.d3)}(this,function(t,e){\\\"use strict\\\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function n(t,e){return function(r){return t+r*e}}function i(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)}}function a(t,e){var r=e-t;return r?n(t,r>180||r<-180?r-360*Math.round(r/360):r):S(isNaN(t)?e:t)}function o(t){return 1==(t=+t)?s:function(e,r){return r-e?i(e,r,t):S(isNaN(e)?r:e)}}function s(t,e){var r=e-t;return r?n(t,r):S(isNaN(t)?e:t)}function l(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\\\"\\\"}}}function u(t){return function(){return t}}function c(t){return function(e){return t(e)+\\\"\\\"}}function h(t){return\\\"none\\\"===t?U:(_||(_=document.createElement(\\\"DIV\\\"),w=document.documentElement,M=document.defaultView),_.style.transform=t,t=M.getComputedStyle(w.appendChild(_),null).getPropertyValue(\\\"transform\\\"),w.removeChild(_),t=t.slice(7,-1).split(\\\",\\\"),V(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}function f(t){return null==t?U:(k||(k=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),k.setAttribute(\\\"transform\\\",t),(t=k.transform.baseVal.consolidate())?(t=t.matrix,V(t.a,t.b,t.c,t.d,t.e,t.f)):U)}function d(t,e,r,n){function i(t){return t.length?t.pop()+\\\" \\\":\\\"\\\"}function a(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\\\"translate(\\\",null,e,null,r);s.push({i:l-4,x:D(t,i)},{i:l-2,x:D(n,a)})}else(i||a)&&o.push(\\\"translate(\\\"+i+e+a+r)}function o(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\\\"rotate(\\\",null,n)-2,x:D(t,e)})):e&&r.push(i(r)+\\\"rotate(\\\"+e+n)}function s(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\\\"skewX(\\\",null,n)-2,x:D(t,e)}):e&&r.push(i(r)+\\\"skewX(\\\"+e+n)}function l(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");o.push({i:s-4,x:D(t,r)},{i:s-2,x:D(e,n)})}else 1===r&&1===n||a.push(i(a)+\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\")}return function(e,r){var n=[],i=[];return e=t(e),r=t(r),a(e.translateX,e.translateY,r.translateX,r.translateY,n,i),o(e.rotate,r.rotate,n,i),s(e.skewX,r.skewX,n,i),l(e.scaleX,e.scaleY,r.scaleX,r.scaleY,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\\\"\\\")}}}function p(t){return((t=Math.exp(t))+1/t)/2}function m(t){return((t=Math.exp(t))-1/t)/2}function v(t){return((t=Math.exp(2*t))-1)/(t+1)}function g(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=s(r.s,n.s),o=s(r.l,n.l),l=s(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=l(t),r+\\\"\\\"}}}function y(t,r){var n=s((t=e.lab(t)).l,(r=e.lab(r)).l),i=s(t.a,r.a),a=s(t.b,r.b),o=s(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\\\"\\\"}}function b(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=s(r.c,n.c),o=s(r.l,n.l),l=s(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=l(t),r+\\\"\\\"}}}function x(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=s(r.s,i.s),l=s(r.l,i.l),u=s(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=l(Math.pow(t,n)),r.opacity=u(t),r+\\\"\\\"}}return n=+n,i.gamma=r,i}(1)}var _,w,M,k,A=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},T=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},S=function(t){return function(){return t}},E=function t(r){function n(t,r){var n=i((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=i(t.g,r.g),o=i(t.b,r.b),l=s(t.opacity,r.opacity);return function(e){return t.r=n(e),t.g=a(e),t.b=o(e),t.opacity=l(e),t+\\\"\\\"}}var i=o(r);return n.gamma=t,n}(1),L=l(A),C=l(T),z=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(n),o=new Array(n);for(r=0;r<i;++r)a[r]=j(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},I=function(t,e){var r=new Date;return t=+t,e-=t,function(n){return r.setTime(t+e*n),r}},D=function(t,e){return t=+t,e-=t,function(r){return t+e*r}},P=function(t,e){var r,n={},i={};null!==t&&\\\"object\\\"==typeof t||(t={}),null!==e&&\\\"object\\\"==typeof e||(e={});for(r in e)r in t?n[r]=j(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},O=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,R=new RegExp(O.source,\\\"g\\\"),F=function(t,e){var r,n,i,a=O.lastIndex=R.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=O.exec(t))&&(n=R.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:D(r,n)})),a=R.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?c(l[0].x):u(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(\\\"\\\")})},j=function(t,r){var n,i=typeof r;return null==r||\\\"boolean\\\"===i?S(r):(\\\"number\\\"===i?D:\\\"string\\\"===i?(n=e.color(r))?(r=n,E):F:r instanceof e.color?E:r instanceof Date?I:Array.isArray(r)?z:\\\"function\\\"!=typeof r.valueOf&&\\\"function\\\"!=typeof r.toString||isNaN(r)?P:D)(t,r)},N=function(t,e){return t=+t,e-=t,function(r){return Math.round(t+e*r)}},B=180/Math.PI,U={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},V=function(t,e,r,n,i,a){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:i,translateY:a,rotate:Math.atan2(e,t)*B,skewX:Math.atan(l)*B,scaleX:o,scaleY:s}},H=d(h,\\\"px, \\\",\\\"px)\\\",\\\"deg)\\\"),q=d(f,\\\", \\\",\\\")\\\",\\\")\\\"),G=Math.SQRT2,Y=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<1e-12)n=Math.log(u/o)/G,r=function(t){return[i+t*c,a+t*h,o*Math.exp(G*t*n)]};else{var d=Math.sqrt(f),g=(u*u-o*o+4*f)/(2*o*2*d),y=(u*u-o*o-4*f)/(2*u*2*d),b=Math.log(Math.sqrt(g*g+1)-g),x=Math.log(Math.sqrt(y*y+1)-y);n=(x-b)/G,r=function(t){var e=t*n,r=p(b),s=o/(2*d)*(r*v(G*e+b)-m(b));return[i+s*c,a+s*h,o*r/p(G*e+b)]}}return r.duration=1e3*n,r},X=g(a),W=g(s),Z=b(a),J=b(s),K=x(a),Q=x(s),$=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r};t.interpolate=j,t.interpolateArray=z,t.interpolateBasis=A,t.interpolateBasisClosed=T,t.interpolateDate=I,t.interpolateNumber=D,t.interpolateObject=P,t.interpolateRound=N,t.interpolateString=F,t.interpolateTransformCss=H,t.interpolateTransformSvg=q,t.interpolateZoom=Y,t.interpolateRgb=E,t.interpolateRgbBasis=L,t.interpolateRgbBasisClosed=C,t.interpolateHsl=X,t.interpolateHslLong=W,t.interpolateLab=y,t.interpolateHcl=Z,t.interpolateHclLong=J,t.interpolateCubehelix=K,t.interpolateCubehelixLong=Q,t.quantize=$,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{\\\"d3-color\\\":115}],119:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,u,c,h,f,d=t._root,p={data:n},m=t._x0,v=t._y0,g=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((u=e>=(a=(m+g)/2))?m=a:g=a,(c=r>=(o=(v+y)/2))?v=o:y=o,i=d,!(d=d[h=c<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&&r===l)return p.next=d,i?i[h]=p:t._root=p,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(m+g)/2))?m=a:g=a,(c=r>=(o=(v+y)/2))?v=o:y=o}while((h=c<<1|u)==(f=(l>=o)<<1|s>=a));return i[f]=d,i[h]=p,t}function r(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),u=1/0,c=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<u&&(u=i),i>h&&(h=i),a<c&&(c=a),a>f&&(f=a));for(h<u&&(u=this._x0,h=this._x1),f<c&&(c=this._y0,f=this._y1),this.cover(u,c).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this}function n(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this}function i(t){return t[0]}function a(t){return t[1]}function o(t,e,r){var n=new s(null==e?i:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function s(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function l(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var u=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},c=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,u=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{o=new Array(4),o[s]=u,u=o}while(l*=2,i=r+l,a=n+l,t>i||e>a);break;case 1:do{o=new Array(4),o[s]=u,u=o}while(l*=2,r=i-l,a=n+l,r>t||e>a);break;case 2:do{o=new Array(4),o[s]=u,u=o}while(l*=2,i=r+l,n=a-l,t>i||n>e);break;case 3:do{o=new Array(4),o[s]=u,u=o}while(l*=2,r=i-l,n=a-l,r>t||n>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},h=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},f=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]]},d=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i},p=function(t,e,r){var n,i,a,o,s,l,u,c=this._x0,h=this._y0,f=this._x1,p=this._y1,m=[],v=this._root;for(v&&m.push(new d(v,c,h,f,p)),null==r?r=1/0:(c=t-r,h=e-r,f=t+r,p=e+r,r*=r);l=m.pop();)if(!(!(v=l.node)||(i=l.x0)>f||(a=l.y0)>p||(o=l.x1)<c||(s=l.y1)<h))if(v.length){var g=(i+o)/2,y=(a+s)/2;m.push(new d(v[3],g,y,o,s),new d(v[2],i,y,g,s),new d(v[1],g,a,o,y),new d(v[0],i,a,g,y)),(u=(e>=y)<<1|t>=g)&&(l=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=l)}else{var b=t-+this._x.call(null,v.data),x=e-+this._y.call(null,v.data),_=b*b+x*x;if(_<r){var w=Math.sqrt(r=_);c=t-w,h=e-w,f=t+w,p=e+w,n=v.data}}return n},m=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,u,c,h,f,d=this._root,p=this._x0,m=this._y0,v=this._x1,g=this._y1;if(!d)return this;if(d.length)for(;;){if((u=a>=(s=(p+v)/2))?p=s:v=s,(c=o>=(l=(m+g)/2))?m=l:g=l,e=d,!(d=d[h=c<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;d.data!==t;)if(n=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(r?r[f]=d:this._root=d),this):(this._root=i,this)},v=function(){return this._root},g=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},y=function(t){var e,r,n,i,a,o,s=[],l=this._root;for(l&&s.push(new d(l,this._x0,this._y0,this._x1,this._y1));e=s.pop();)if(!t(l=e.node,n=e.x0,i=e.y0,a=e.x1,o=e.y1)&&l.length){var u=(n+a)/2,c=(i+o)/2;(r=l[3])&&s.push(new d(r,u,c,a,o)),(r=l[2])&&s.push(new d(r,n,c,u,o)),(r=l[1])&&s.push(new d(r,u,i,a,c)),(r=l[0])&&s.push(new d(r,n,i,u,c))}return this},b=function(t){var e,r=[],n=[];for(this._root&&r.push(new d(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var i=e.node;if(i.length){var a,o=e.x0,s=e.y0,l=e.x1,u=e.y1,c=(o+l)/2,h=(s+u)/2;(a=i[0])&&r.push(new d(a,o,s,c,h)),(a=i[1])&&r.push(new d(a,c,s,l,h)),(a=i[2])&&r.push(new d(a,o,h,c,u)),(a=i[3])&&r.push(new d(a,c,h,l,u))}n.push(e)}for(;e=n.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},x=function(t){return arguments.length?(this._x=t,this):this._x},_=function(t){return arguments.length?(this._y=t,this):this._y},w=o.prototype=s.prototype;w.copy=function(){var t,e,r=new s(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=l(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=l(e));return r},w.add=u,w.addAll=r,w.cover=c,w.data=h,w.extent=f,w.find=p,w.remove=m,w.removeAll=n,w.root=v,w.size=g,w.visit=y,w.visitAfter=b,w.x=x,w.y=_,t.quadtree=o,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],120:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(){return g||(x(r),g=b.now()+y)}function r(){g=0}function n(){this._call=this._time=this._next=null}function i(t,e,r){var i=new n;return i.restart(t,e,r),i}function a(){e(),++f;for(var t,r=c;r;)(t=g-r._time)>=0&&r._call.call(null,t),r=r._next;--f}function o(){g=(v=b.now())+y,f=d=0;try{a()}finally{f=0,l(),g=0}}function s(){var t=b.now(),e=t-v;e>m&&(y-=e,v=t)}function l(){for(var t,e,r=c,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:c=e);h=t,u(n)}function u(t){if(!f){d&&(d=clearTimeout(d));var e=t-g;e>24?(t<1/0&&(d=setTimeout(o,e)),p&&(p=clearInterval(p))):(p||(v=g,p=setInterval(s,m)),f=1,x(o))}}var c,h,f=0,d=0,p=0,m=1e3,v=0,g=0,y=0,b=\\\"object\\\"==typeof performance&&performance.now?performance:Date,x=\\\"function\\\"==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};n.prototype=i.prototype={constructor:n,restart:function(t,r,n){if(\\\"function\\\"!=typeof t)throw new TypeError(\\\"callback is not a function\\\");n=(null==n?e():+n)+(null==r?0:+r),this._next||h===this||(h?h._next=this:c=this,h=this),this._call=t,this._time=n,u()},stop:function(){this._call&&(this._call=null,this._time=1/0,u())}};var _=function(t,e,r){var i=new n;return e=null==e?0:+e,i.restart(function(r){i.stop(),t(r+e)},e,r),i},w=function(t,r,i){var a=new n,o=r;return null==r?(a.restart(t,r,i),a):(r=+r,i=null==i?e():+i,a.restart(function e(n){n+=o,a.restart(e,o+=r,i),t(n)},r,i),a)};t.now=e,t.timer=i,t.timerFlush=a,t.timeout=_,t.interval=w,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],121:[function(e,r,n){!function(){function e(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function i(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function a(t){return null===t?NaN:+t}function o(t){return!isNaN(t)}function s(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}function l(t){return t.length}function u(t){for(var e=1;t*e%1;)e*=10;return e}function c(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function h(){this._=Object.create(null)}function f(t){return(t+=\\\"\\\")===_o||t[0]===wo?wo+t:t}function d(t){return(t+=\\\"\\\")[0]===wo?t.slice(1):t}function p(t){return f(t)in this._}function m(t){return(t=f(t))in this._&&delete this._[t]}function v(){var t=[];for(var e in this._)t.push(d(e));return t}function g(){var t=0;for(var e in this._)++t;return t}function y(){for(var t in this._)return!1;return!0}function b(){this._=Object.create(null)}function x(t){return t}function _(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function w(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=Mo.length;r<n;++r){var i=Mo[r]+e;if(i in t)return i}}function M(){}function k(){}function A(t){function e(){for(var e,n=r,i=-1,a=n.length;++i<a;)(e=n[i].on)&&e.apply(this,arguments);return t}var r=[],n=new h;return e.on=function(e,i){var a,o=n.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&&r.push(n.set(e,{on:i})),t)},e}function T(){uo.event.preventDefault()}function S(){for(var t,e=uo.event;t=e.sourceEvent;)e=t;return e}function E(t){for(var e=new k,r=0,n=arguments.length;++r<n;)e[arguments[r]]=A(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=uo.event;i.target=t,uo.event=i,e[i.type].apply(r,n)}finally{uo.event=a}}},e}function L(t){return Ao(t,Lo),t}function C(t){return\\\"function\\\"==typeof t?t:function(){return To(t,this)}}function z(t){return\\\"function\\\"==typeof t?t:function(){return So(t,this)}}function I(t,e){function r(){this.removeAttribute(t)}function n(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function a(){this.setAttributeNS(t.space,t.local,e)}function o(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}function s(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}return t=uo.ns.qualify(t),null==e?t.local?n:r:\\\"function\\\"==typeof e?t.local?s:o:t.local?a:i}function D(t){return t.trim().replace(/\\\\s+/g,\\\" \\\")}function P(t){return new RegExp(\\\"(?:^|\\\\\\\\s+)\\\"+uo.requote(t)+\\\"(?:\\\\\\\\s+|$)\\\",\\\"g\\\")}function O(t){return(t+\\\"\\\").trim().split(/^|\\\\s+/)}function R(t,e){function r(){for(var r=-1;++r<i;)t[r](this,e)}function n(){for(var r=-1,n=e.apply(this,arguments);++r<i;)t[r](this,n)}t=O(t).map(F);var i=t.length;return\\\"function\\\"==typeof e?n:r}function F(t){var e=P(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\\\"class\\\")||\\\"\\\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\\\"class\\\",D(i+\\\" \\\"+t))):r.setAttribute(\\\"class\\\",D(i.replace(e,\\\" \\\")))}}function j(t,e,r){function n(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,r)}function a(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}return null==e?n:\\\"function\\\"==typeof e?a:i}function N(t,e){function r(){delete this[t]}function n(){this[t]=e}function i(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}return null==e?r:\\\"function\\\"==typeof e?i:n}function B(t){function e(){var e=this.ownerDocument,r=this.namespaceURI;return r===Co&&e.documentElement.namespaceURI===Co?e.createElement(t):e.createElementNS(r,t)}function r(){return this.ownerDocument.createElementNS(t.space,t.local)}return\\\"function\\\"==typeof t?t:(t=uo.ns.qualify(t)).local?r:e}function U(){var t=this.parentNode;t&&t.removeChild(this)}function V(t){return{__data__:t}}function H(t){return function(){return Eo(this,t)}}function q(t){return arguments.length||(t=i),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function G(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function Y(t){return Ao(t,Io),t}function X(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function W(t,e,r){function n(){var e=this[o];e&&(this.removeEventListener(t,e,e.$),delete this[o])}function i(){var i=l(e,ho(arguments));n.call(this),this.addEventListener(t,this[o]=i,i.$=r),i._=e}function a(){var e,r=new RegExp(\\\"^__on([^.]+)\\\"+uo.requote(t)+\\\"$\\\");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}var o=\\\"__on\\\"+t,s=t.indexOf(\\\".\\\"),l=Z;s>0&&(t=t.slice(0,s));var u=Do.get(t);return u&&(t=u,l=J),s?e?i:n:e?M:a}function Z(t,e){return function(r){var n=uo.event;uo.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{uo.event=n}}}function J(t,e){var r=Z(t,e);return function(t){var e=this,n=t.relatedTarget;n&&(n===e||8&n.compareDocumentPosition(e))||r.call(e,t)}}function K(t){var r=\\\".dragsuppress-\\\"+ ++Oo,i=\\\"click\\\"+r,a=uo.select(n(t)).on(\\\"touchmove\\\"+r,T).on(\\\"dragstart\\\"+r,T).on(\\\"selectstart\\\"+r,T);if(null==Po&&(Po=!(\\\"onselectstart\\\"in t)&&w(t.style,\\\"userSelect\\\")),Po){var o=e(t).style,s=o[Po];o[Po]=\\\"none\\\"}return function(t){if(a.on(r,null),Po&&(o[Po]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){T(),e()},!0),setTimeout(e,0)}}}function Q(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(Ro<0){var a=n(t);if(a.scrollX||a.scrollY){r=uo.select(\\\"body\\\").append(\\\"svg\\\").style({position:\\\"absolute\\\",top:0,left:0,margin:0,padding:0,border:\\\"none\\\"},\\\"important\\\");var o=r[0][0].getScreenCTM();Ro=!(o.f||o.e),r.remove()}}return Ro?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function $(){return uo.event.changedTouches[0].identifier}function tt(t){return t>0?1:t<0?-1:0}function et(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function rt(t){return t>1?0:t<-1?No:Math.acos(t)}function nt(t){return t>1?Vo:t<-1?-Vo:Math.asin(t)}function it(t){return((t=Math.exp(t))-1/t)/2}function at(t){return((t=Math.exp(t))+1/t)/2}function ot(t){return((t=Math.exp(2*t))-1)/(t+1)}function st(t){return(t=Math.sin(t/2))*t}function lt(){}function ut(t,e,r){return this instanceof ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof ut?new ut(t.h,t.s,t.l):Mt(\\\"\\\"+t,kt,ut):new ut(t,e,r)}function ct(t,e,r){function n(t){return t>360?t-=360:t<0&&(t+=360),t<60?a+(o-a)*t/60:t<180?o:t<240?a+(o-a)*(240-t)/60:a}function i(t){return Math.round(255*n(t))}var a,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,r=r<0?0:r>1?1:r,o=r<=.5?r*(1+e):r+e-r*e,a=2*r-o,new bt(i(t+120),i(t),i(t-120))}function ht(t,e,r){return this instanceof ht?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof ht?new ht(t.h,t.c,t.l):t instanceof dt?mt(t.l,t.a,t.b):mt((t=At((t=uo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new ht(t,e,r)}function ft(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new dt(r,Math.cos(t*=Ho)*e,Math.sin(t)*e)}function dt(t,e,r){return this instanceof dt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof dt?new dt(t.l,t.a,t.b):t instanceof ht?ft(t.h,t.c,t.l):At((t=bt(t)).r,t.g,t.b):new dt(t,e,r)}function pt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=vt(i)*Qo,n=vt(n)*$o,a=vt(a)*ts,new bt(yt(3.2404542*i-1.5371385*n-.4985314*a),yt(-.969266*i+1.8760108*n+.041556*a),yt(.0556434*i-.2040259*n+1.0572252*a))}function mt(t,e,r){return t>0?new ht(Math.atan2(r,e)*qo,Math.sqrt(e*e+r*r),t):new ht(NaN,NaN,t)}function vt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function gt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function yt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function bt(t,e,r){return this instanceof bt?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof bt?new bt(t.r,t.g,t.b):Mt(\\\"\\\"+t,bt,ct):new bt(t,e,r)}function xt(t){return new bt(t>>16,t>>8&255,255&t)}function _t(t){return xt(t)+\\\"\\\"}function wt(t){return t<16?\\\"0\\\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function Mt(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\\\((.*)\\\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\\\",\\\"),n[1]){case\\\"hsl\\\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\\\"rgb\\\":return e(St(i[0]),St(i[1]),St(i[2]))}return(a=ns.get(t))?e(a.r,a.g,a.b):(null==t||\\\"#\\\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function kt(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new ut(n,i,l)}function At(t,e,r){t=Tt(t),e=Tt(e),r=Tt(r);var n=gt((.4124564*t+.3575761*e+.1804375*r)/Qo),i=gt((.2126729*t+.7151522*e+.072175*r)/$o);return dt(116*i-16,500*(n-i),200*(i-gt((.0193339*t+.119192*e+.9503041*r)/ts)))}function Tt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function St(t){var e=parseFloat(t);return\\\"%\\\"===t.charAt(t.length-1)?Math.round(2.55*e):e}function Et(t){return\\\"function\\\"==typeof t?t:function(){return t}}\\n\",\n       \"function Lt(t){return function(e,r,n){return 2===arguments.length&&\\\"function\\\"==typeof r&&(n=r,r=null),Ct(e,r,t,n)}}function Ct(t,e,r,n){function i(){var t,e=l.status;if(!e&&It(l)||e>=200&&e<300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=uo.dispatch(\\\"beforesend\\\",\\\"progress\\\",\\\"load\\\",\\\"error\\\"),s={},l=new XMLHttpRequest,u=null;return!this.XDomainRequest||\\\"withCredentials\\\"in l||!/^(http(s)?:)?\\\\/\\\\//.test(t)||(l=new XDomainRequest),\\\"onload\\\"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(t){var e=uo.event;uo.event=t;try{o.progress.call(a,l)}finally{uo.event=e}},a.header=function(t,e){return t=(t+\\\"\\\").toLowerCase(),arguments.length<2?s[t]:(null==e?delete s[t]:s[t]=e+\\\"\\\",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+\\\"\\\",a):e},a.responseType=function(t){return arguments.length?(u=t,a):u},a.response=function(t){return r=t,a},[\\\"get\\\",\\\"post\\\"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(ho(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&&\\\"function\\\"==typeof n&&(i=n,n=null),l.open(r,t,!0),null==e||\\\"accept\\\"in s||(s.accept=e+\\\",*/*\\\"),l.setRequestHeader)for(var c in s)l.setRequestHeader(c,s[c]);return null!=e&&l.overrideMimeType&&l.overrideMimeType(e),null!=u&&(l.responseType=u),null!=i&&a.on(\\\"error\\\",i).on(\\\"load\\\",function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},uo.rebind(a,o,\\\"on\\\"),null==n?a:a.get(zt(n))}function zt(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}function It(t){var e=t.responseType;return e&&\\\"text\\\"!==e?t.response:t.responseText}function Dt(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return as?as.n=a:is=a,as=a,os||(ss=clearTimeout(ss),os=1,ls(Pt)),a}function Pt(){var t=Ot(),e=Rt()-t;e>24?(isFinite(e)&&(clearTimeout(ss),ss=setTimeout(Pt,e)),os=0):(os=1,ls(Pt))}function Ot(){for(var t=Date.now(),e=is;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Rt(){for(var t,e=is,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:is=e.n;return as=t,r}function Ft(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function jt(t,e){var r=Math.pow(10,3*xo(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}}function Nt(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&&r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:x;return function(t){var r=cs.exec(t),n=r[1]||\\\" \\\",o=r[2]||\\\">\\\",s=r[3]||\\\"-\\\",l=r[4]||\\\"\\\",u=r[5],c=+r[6],h=r[7],f=r[8],d=r[9],p=1,m=\\\"\\\",v=\\\"\\\",g=!1,y=!0;switch(f&&(f=+f.substring(1)),(u||\\\"0\\\"===n&&\\\"=\\\"===o)&&(u=n=\\\"0\\\",o=\\\"=\\\"),d){case\\\"n\\\":h=!0,d=\\\"g\\\";break;case\\\"%\\\":p=100,v=\\\"%\\\",d=\\\"f\\\";break;case\\\"p\\\":p=100,v=\\\"%\\\",d=\\\"r\\\";break;case\\\"b\\\":case\\\"o\\\":case\\\"x\\\":case\\\"X\\\":\\\"#\\\"===l&&(m=\\\"0\\\"+d.toLowerCase());case\\\"c\\\":y=!1;case\\\"d\\\":g=!0,f=0;break;case\\\"s\\\":p=-1,d=\\\"r\\\"}\\\"$\\\"===l&&(m=i[0],v=i[1]),\\\"r\\\"!=d||f||(d=\\\"g\\\"),null!=f&&(\\\"g\\\"==d?f=Math.max(1,Math.min(21,f)):\\\"e\\\"!=d&&\\\"f\\\"!=d||(f=Math.max(0,Math.min(20,f)))),d=hs.get(d)||Bt;var b=u&&h;return function(t){var r=v;if(g&&t%1)return\\\"\\\";var i=t<0||0===t&&1/t<0?(t=-t,\\\"-\\\"):\\\"-\\\"===s?\\\"\\\":s;if(p<0){var l=uo.formatPrefix(t,f);t=l.scale(t),r=l.symbol+v}else t*=p;t=d(t,f);var x,_,w=t.lastIndexOf(\\\".\\\");if(w<0){var M=y?t.lastIndexOf(\\\"e\\\"):-1;M<0?(x=t,_=\\\"\\\"):(x=t.substring(0,M),_=t.substring(M))}else x=t.substring(0,w),_=e+t.substring(w+1);!u&&h&&(x=a(x,1/0));var k=m.length+x.length+_.length+(b?0:i.length),A=k<c?new Array(k=c-k+1).join(n):\\\"\\\";return b&&(x=a(A+x,A.length?c-_.length:1/0)),i+=m,t=x+_,(\\\"<\\\"===o?i+t+A:\\\">\\\"===o?A+i+t:\\\"^\\\"===o?A.substring(0,k>>=1)+i+t+A.substring(k):i+(b?t:A+t))+r}}}function Bt(t){return t+\\\"\\\"}function Ut(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Vt(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new ds(r-1)),1),r}function a(t,r){return e(t=new ds(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}function s(t,e,r){try{ds=Ut;var n=new Ut;return n._=t,o(n,e,r)}finally{ds=Date}}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var l=t.utc=Ht(t);return l.floor=l,l.round=Ht(n),l.ceil=Ht(i),l.offset=Ht(a),l.range=s,t}function Ht(t){return function(e,r){try{ds=Ut;var n=new Ut;return n._=e,t(n,r)._}finally{ds=Date}}}function qt(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s<n;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=ms[r=t.charAt(++s)])&&(r=t.charAt(++s)),(a=E[r])&&(r=a(e,null==i?\\\"e\\\"===r?\\\" \\\":\\\"0\\\":i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(\\\"\\\")}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(r(n,t,e,0)!=e.length)return null;\\\"p\\\"in n&&(n.H=n.H%12+12*n.p);var i=null!=n.Z&&ds!==Ut,a=new(i?Ut:ds);return\\\"j\\\"in n?a.setFullYear(n.y,0,n.j):\\\"W\\\"in n||\\\"U\\\"in n?(\\\"w\\\"in n||(n.w=\\\"W\\\"in n?1:0),a.setFullYear(n.y,0,1),a.setFullYear(n.y,0,\\\"W\\\"in n?(n.w+6)%7+7*n.W-(a.getDay()+5)%7:n.w+7*n.U-(a.getDay()+6)%7)):a.setFullYear(n.y,n.m,n.d),a.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?a._:a},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,u=r.length;s<l;){if(n>=u)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=L[o in ms?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}function n(t,e,r){w.lastIndex=0;var n=w.exec(e.slice(r));return n?(t.w=M.get(n[0].toLowerCase()),r+n[0].length):-1}function i(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.w=_.get(n[0].toLowerCase()),r+n[0].length):-1}function a(t,e,r){T.lastIndex=0;var n=T.exec(e.slice(r));return n?(t.m=S.get(n[0].toLowerCase()),r+n[0].length):-1}function o(t,e,r){k.lastIndex=0;var n=k.exec(e.slice(r));return n?(t.m=A.get(n[0].toLowerCase()),r+n[0].length):-1}function s(t,e,n){return r(t,E.c.toString(),e,n)}function l(t,e,n){return r(t,E.x.toString(),e,n)}function u(t,e,n){return r(t,E.X.toString(),e,n)}function c(t,e,r){var n=b.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,m=t.days,v=t.shortDays,g=t.months,y=t.shortMonths;e.utc=function(t){function r(t){try{ds=Ut;var e=new ds;return e._=t,n(e)}finally{ds=Date}}var n=e(t);return r.parse=function(t){try{ds=Ut;var e=n.parse(t);return e&&e._}finally{ds=Date}},r.toString=n.toString,r},e.multi=e.utc.multi=ce;var b=uo.map(),x=Yt(m),_=Xt(m),w=Yt(v),M=Xt(v),k=Yt(g),A=Xt(g),T=Yt(y),S=Xt(y);p.forEach(function(t,e){b.set(t.toLowerCase(),e)});var E={a:function(t){return v[t.getDay()]},A:function(t){return m[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return g[t.getMonth()]},c:e(h),d:function(t,e){return Gt(t.getDate(),e,2)},e:function(t,e){return Gt(t.getDate(),e,2)},H:function(t,e){return Gt(t.getHours(),e,2)},I:function(t,e){return Gt(t.getHours()%12||12,e,2)},j:function(t,e){return Gt(1+fs.dayOfYear(t),e,3)},L:function(t,e){return Gt(t.getMilliseconds(),e,3)},m:function(t,e){return Gt(t.getMonth()+1,e,2)},M:function(t,e){return Gt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return Gt(t.getSeconds(),e,2)},U:function(t,e){return Gt(fs.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Gt(fs.mondayOfYear(t),e,2)},x:e(f),X:e(d),y:function(t,e){return Gt(t.getFullYear()%100,e,2)},Y:function(t,e){return Gt(t.getFullYear()%1e4,e,4)},Z:le,\\\"%\\\":function(){return\\\"%\\\"}},L={a:n,A:i,b:a,B:o,c:s,d:re,e:re,H:ie,I:ie,j:ne,L:se,m:ee,M:ae,p:c,S:oe,U:Zt,w:Wt,W:Jt,x:l,X:u,y:Qt,Y:Kt,Z:$t,\\\"%\\\":ue};return e}function Gt(t,e,r){var n=t<0?\\\"-\\\":\\\"\\\",i=(n?-t:t)+\\\"\\\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function Yt(t){return new RegExp(\\\"^(?:\\\"+t.map(uo.requote).join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function Xt(t){for(var e=new h,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Wt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Zt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Jt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Kt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Qt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.y=te(+n[0]),r+n[0].length):-1}function $t(t,e,r){return/^[+-]\\\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function te(t){return t+(t>68?1900:2e3)}function ee(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function re(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function ne(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function ie(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function ae(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function oe(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function se(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function le(t){var e=t.getTimezoneOffset(),r=e>0?\\\"-\\\":\\\"+\\\",n=xo(e)/60|0,i=xo(e)%60;return r+Gt(n,\\\"0\\\",2)+Gt(i,\\\"0\\\",2)}function ue(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function ce(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)}}function he(){}function fe(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function de(t,e){t&&_s.hasOwnProperty(t.type)&&_s[t.type](t,e)}function pe(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function me(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)pe(t[r],e,1);e.polygonEnd()}function ve(){function t(t,e){t*=Ho,e=e*Ho/2+No/4;var r=t-n,o=r>=0?1:-1,s=o*r,l=Math.cos(e),u=Math.sin(e),c=a*u,h=i*l+c*Math.cos(s),f=c*o*Math.sin(s);Ms.add(Math.atan2(f,h)),n=t,i=l,a=u}var e,r,n,i,a;ks.point=function(o,s){ks.point=t,n=(e=o)*Ho,i=Math.cos(s=(r=s)*Ho/2+No/4),a=Math.sin(s)},ks.lineEnd=function(){t(e,r)}}function ge(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 ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function be(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 xe(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function _e(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function we(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 Me(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function ke(t,e){return xo(t[0]-e[0])<Fo&&xo(t[1]-e[1])<Fo}function Ae(t,e){t*=Ho;var r=Math.cos(e*=Ho);Te(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Te(t,e,r){++As,Ss+=(t-Ss)/As,Es+=(e-Es)/As,Ls+=(r-Ls)/As}function Se(){function t(t,i){t*=Ho;var a=Math.cos(i*=Ho),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=r*l-n*s)*u+(u=n*o-e*l)*u+(u=e*s-r*o)*u),e*o+r*s+n*l);Ts+=u,Cs+=u*(e+(e=o)),zs+=u*(r+(r=s)),Is+=u*(n+(n=l)),Te(e,r,n)}var e,r,n;Rs.point=function(i,a){i*=Ho;var o=Math.cos(a*=Ho);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),Rs.point=t,Te(e,r,n)}}function Ee(){Rs.point=Ae}function Le(){function t(t,e){t*=Ho;var r=Math.cos(e*=Ho),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),u=i*l-a*s,c=a*o-n*l,h=n*s-i*o,f=Math.sqrt(u*u+c*c+h*h),d=n*o+i*s+a*l,p=f&&-rt(d)/f,m=Math.atan2(f,d);Ds+=p*u,Ps+=p*c,Os+=p*h,Ts+=m,Cs+=m*(n+(n=o)),zs+=m*(i+(i=s)),Is+=m*(a+(a=l)),Te(n,i,a)}var e,r,n,i,a;Rs.point=function(o,s){e=o,r=s,Rs.point=t,o*=Ho;var l=Math.cos(s*=Ho);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),Te(n,i,a)},Rs.lineEnd=function(){t(e,r),Rs.lineEnd=Ee,Rs.point=Ae}}function Ce(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 ze(){return!0}function Ie(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(ke(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);return void i.lineEnd()}var l=new Pe(r,t,null,!0),u=new Pe(r,null,l,!1);l.o=u,a.push(l),o.push(u),l=new Pe(n,t,null,!1),u=new Pe(n,null,l,!0),l.o=u,a.push(l),o.push(u)}}),o.sort(e),De(a),De(o),a.length){for(var s=0,l=r,u=o.length;s<u;++s)o[s].e=l=!l;for(var c,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p){c=d.p.z;for(var s=c.length-1;s>=0;--s)i.point((h=c[s])[0],h[1])}else n(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,p=!p}while(!d.v);i.lineEnd()}}}function De(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Pe(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 Oe(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&&a.point(e,r)}function s(t,e){var r=i(t,e);v.point(r[0],r[1])}function l(){y.point=s,v.lineStart()}function u(){y.point=o,v.lineEnd()}function c(t,e){m.push([t,e]);var r=i(t,e);x.point(r[0],r[1])}function h(){x.lineStart(),m=[]}function f(){c(m[0][0],m[0][1]),x.lineEnd();var t,e=x.clean(),r=b.buffer(),n=r.length;if(m.pop(),p.push(m),m=null,n)if(1&e){t=r[0];var i,n=t.length-1,o=-1;if(n>0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o<n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),d.push(r.filter(Re))}var d,p,m,v=e(a),g=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:u,polygonStart:function(){y.point=c,y.lineStart=h,y.lineEnd=f,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=u,d=uo.merge(d);var t=Ve(g,p);d.length?(_||(a.polygonStart(),_=!0),Ie(d,je,t,r,a)):t&&(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&&(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},b=Fe(),x=e(b),_=!1;return y}}function Re(t){return t.length>1}function Fe(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:M,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function je(t,e){return((t=t.x)[0]<0?t[1]-Vo-Fo:Vo-t[1])-((e=e.x)[0]<0?e[1]-Vo-Fo:Vo-e[1])}function Ne(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?No:-No,l=xo(a-r);xo(l-No)<Fo?(t.point(r,n=(n+o)/2>0?Vo:-Vo),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=No&&(xo(r-i)<Fo&&(r-=i*Fo),xo(a-s)<Fo&&(a-=s*Fo),n=Be(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}function Be(t,e,r,n){var i,a,o=Math.sin(t-r);return xo(o)>Fo?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}function Ue(t,e,r,n){var i;if(null==t)i=r*Vo,n.point(-No,i),n.point(0,i),n.point(No,i),n.point(No,0),n.point(No,-i),n.point(0,-i),n.point(-No,-i),n.point(-No,0),n.point(-No,i);else if(xo(t[0]-e[0])>Fo){var a=t[0]<e[0]?No:-No;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])}function Ve(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Ms.reset();for(var s=0,l=e.length;s<l;++s){var u=e[s],c=u.length;if(c)for(var h=u[0],f=h[0],d=h[1]/2+No/4,p=Math.sin(d),m=Math.cos(d),v=1;;){v===c&&(v=0),t=u[v];var g=t[0],y=t[1]/2+No/4,b=Math.sin(y),x=Math.cos(y),_=g-f,w=_>=0?1:-1,M=w*_,k=M>No,A=p*b;if(Ms.add(Math.atan2(A*w*Math.sin(M),m*x+A*Math.cos(M))),a+=k?_+w*Bo:_,k^f>=r^g>=r){var T=be(ge(h),ge(t));we(T);var S=be(i,T);we(S);var E=(k^_>=0?-1:1)*nt(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=k^_>=0?1:-1)}if(!v++)break;f=g,p=b,m=x,h=t}}return(a<-Fo||a<Fo&&Ms<-Fo)^1&o}function He(t){function e(t,e){return Math.cos(t)*Math.cos(e)>a}function r(t){var r,a,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var d,p=[h,f],m=e(h,f),v=o?m?0:i(h,f):m?i(h+(h<0?No:-No),f):0;if(!r&&(u=l=m)&&t.lineStart(),m!==l&&(d=n(r,p),(ke(r,d)||ke(p,d))&&(p[0]+=Fo,p[1]+=Fo,m=e(p[0],p[1]))),m!==l)c=0,m?(t.lineStart(),d=n(p,r),t.point(d[0],d[1])):(d=n(r,p),t.point(d[0],d[1]),t.lineEnd()),r=d;else if(s&&r&&o^m){var g;v&a||!(g=n(p,r,!0))||(c=0,o?(t.lineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1])))}!m||r&&ke(r,p)||t.point(p[0],p[1]),r=p,l=m,a=v},lineEnd:function(){l&&t.lineEnd(),r=null},clean:function(){return c|(u&&l)<<1}}}function n(t,e,r){var n=ge(t),i=ge(e),o=[1,0,0],s=be(n,i),l=ye(s,s),u=s[0],c=l-u*u;if(!c)return!r&&t;var h=a*l/c,f=-a*u/c,d=be(o,s),p=_e(o,h);xe(p,_e(s,f));var m=d,v=ye(p,m),g=ye(m,m),y=v*v-g*(ye(p,p)-1);if(!(y<0)){var b=Math.sqrt(y),x=_e(m,(-v-b)/g);if(xe(x,p),x=Me(x),!r)return x;var _,w=t[0],M=e[0],k=t[1],A=e[1];M<w&&(_=w,w=M,M=_);var T=M-w,S=xo(T-No)<Fo,E=S||T<Fo;if(!S&&A<k&&(_=k,k=A,A=_),E?S?k+A>0^x[1]<(xo(x[0]-w)<Fo?k:A):k<=x[1]&&x[1]<=A:T>No^(w<=x[0]&&x[0]<=M)){var L=_e(m,(-v+b)/g);return xe(L,p),[x,Me(L)]}}}function i(e,r){var n=o?t:No-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}var a=Math.cos(t),o=a>0,s=xo(a)>Fo;return Oe(e,r,vr(t,6*Ho),o?[0,-t]:[-No,t-No])}function qe(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=s.x,h=s.y,f=0,d=1,p=c-l,m=h-u;if(a=t-l,p||!(a>0)){if(a/=p,p<0){if(a<f)return;a<d&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=r-l,p||!(a<0)){if(a/=p,p<0){if(a>d)return;a>f&&(f=a)}else if(p>0){if(a<f)return;a<d&&(d=a)}if(a=e-u,m||!(a>0)){if(a/=m,m<0){if(a<f)return;a<d&&(d=a)}else if(m>0){if(a>d)return;a>f&&(f=a)}if(a=n-u,m||!(a<0)){if(a/=m,m<0){if(a>d)return;a>f&&(f=a)}else if(m>0){if(a<f)return;a<d&&(d=a)}return f>0&&(i.a={x:l+f*p,y:u+f*m}),d<1&&(i.b={x:l+d*p,y:u+d*m}),i}}}}}}function Ge(t,e,r,n){function i(n,i){return xo(n[0]-t)<Fo?i>0?0:3:xo(n[0]-r)<Fo?i>0?2:1:xo(n[1]-e)<Fo?i>0?1:0:i>0?3:2}function a(t,e){return o(t.x,e.x)}function o(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]}return function(s){function l(t){for(var e=0,r=v.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=v[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&et(u,a,t)>0&&++e:a[1]<=n&&et(u,a,t)<0&&--e,u=a;return 0!==e}function u(a,s,l,u){var c=0,h=0;if(null==a||(c=i(a,l))!==(h=i(s,l))||o(a,s)<0^l>0)do{u.point(0===c||3===c?t:r,c>1?n:e)}while((c=(c+l+4)%4)!==h);else u.point(s[0],s[1])}function c(i,a){return t<=i&&i<=r&&e<=a&&a<=n}function h(t,e){c(t,e)&&s.point(t,e)}function f(){L.point=p,v&&v.push(g=[]),k=!0,M=!1,_=w=NaN}function d(){m&&(p(y,b),x&&M&&S.rejoin(),m.push(S.buffer())),L.point=h,M&&s.lineEnd()}function p(t,e){t=Math.max(-js,Math.min(js,t)),e=Math.max(-js,Math.min(js,e));var r=c(t,e);if(v&&g.push([t,e]),k)y=t,b=e,x=r,k=!1,r&&(s.lineStart(),s.point(t,e));else if(r&&M)s.point(t,e);else{var n={a:{x:_,y:w},b:{x:t,y:e}};E(n)?(M||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),A=!1):r&&(s.lineStart(),s.point(t,e),A=!1)}_=t,w=e,M=r}var m,v,g,y,b,x,_,w,M,k,A,T=s,S=Fe(),E=qe(t,e,r,n),L={point:h,lineStart:f,lineEnd:d,polygonStart:function(){s=S,m=[],v=[],A=!0},polygonEnd:function(){s=T,m=uo.merge(m);var e=l([t,n]),r=A&&e,i=m.length;(r||i)&&(s.polygonStart(),r&&(s.lineStart(),u(null,null,1,s),s.lineEnd()),i&&Ie(m,a,e,u,s),s.polygonEnd()),m=v=g=null}};return L}}function Ye(t){var e=0,r=No/3,n=lr(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*No/180,r=t[1]*No/180):[e/No*180,r/No*180]},i}function Xe(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,nt((a-(t*t+r*r)*i*i)/(2*i))]},r}function We(){function t(t,e){Bs+=i*t-n*e,n=t,i=e}var e,r,n,i;Gs.point=function(a,o){Gs.point=t,e=n=a,r=i=o},Gs.lineEnd=function(){t(e,r)}}function Ze(t,e){t<Us&&(Us=t),t>Hs&&(Hs=t),e<Vs&&(Vs=e),e>qs&&(qs=e)}function Je(){function t(t,e){o.push(\\\"M\\\",t,\\\",\\\",e,a)}function e(t,e){o.push(\\\"M\\\",t,\\\",\\\",e),s.point=r}function r(t,e){o.push(\\\"L\\\",t,\\\",\\\",e)}function n(){s.point=t}function i(){o.push(\\\"Z\\\")}var a=Ke(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ke(t),s},result:function(){if(o.length){var t=o.join(\\\"\\\");return o=[],t}}};return s}function Ke(t){return\\\"m0,\\\"+t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+-2*t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+2*t+\\\"z\\\"}function Qe(t,e){Ss+=t,Es+=e,++Ls}function $e(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);Cs+=o*(e+t)/2,zs+=o*(r+n)/2,Is+=o,Qe(e=t,r=n)}var e,r;Xs.point=function(n,i){Xs.point=t,Qe(e=n,r=i)}}function tr(){Xs.point=Qe}function er(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);Cs+=o*(n+t)/2,zs+=o*(i+e)/2,Is+=o,o=i*t-n*e,Ds+=o*(n+t),Ps+=o*(i+e),Os+=3*o,Qe(n=t,i=e)}var e,r,n,i;Xs.point=function(a,o){Xs.point=t,Qe(e=n=a,r=i=o)},Xs.lineEnd=function(){t(e,r)}}function rr(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Bo)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:M};return s}function nr(t){function e(t){return(s?n:r)(t)}function r(e){return or(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})}function n(e){function r(r,n){r=t(r,n),e.point(r[0],r[1])}function n(){b=NaN,k.point=a,e.lineStart()}function a(r,n){var a=ge([r,n]),o=t(r,n);i(b,x,y,_,w,M,b=o[0],x=o[1],y=r,_=a[0],w=a[1],M=a[2],s,e),e.point(b,x)}function o(){k.point=r,e.lineEnd()}function l(){n(),k.point=u,k.lineEnd=c}function u(t,e){a(h=t,f=e),d=b,p=x,m=_,v=w,g=M,k.point=a}function c(){i(b,x,y,_,w,M,d,p,h,m,v,g,s,e),k.lineEnd=o,o()}var h,f,d,p,m,v,g,y,b,x,_,w,M,k={point:r,lineStart:n,lineEnd:o,polygonStart:function(){e.polygonStart(),k.lineStart=l},polygonEnd:function(){e.polygonEnd(),k.lineStart=n}};return k}function i(e,r,n,s,l,u,c,h,f,d,p,m,v,g){var y=c-e,b=h-r,x=y*y+b*b;if(x>4*a&&v--){var _=s+d,w=l+p,M=u+m,k=Math.sqrt(_*_+w*w+M*M),A=Math.asin(M/=k),T=xo(xo(M)-1)<Fo||xo(n-f)<Fo?(n+f)/2:Math.atan2(w,_),S=t(T,A),E=S[0],L=S[1],C=E-e,z=L-r,I=b*C-y*z;(I*I/x>a||xo((y*C+b*z)/x-.5)>.3||s*d+l*p+u*m<o)&&(i(e,r,n,s,l,u,E,L,T,_/=k,w/=k,M,v,g),g.point(E,L),i(E,L,T,_,w,M,c,h,f,d,p,m,v,g))}}var a=.5,o=Math.cos(30*Ho),s=16;return e.precision=function(t){return arguments.length?(s=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function ir(t){var e=nr(function(e,r){return t([e*qo,r*qo])});return function(t){return ur(e(t))}}function ar(t){this.stream=t}function or(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 sr(t){return lr(function(){return t})()}function lr(t){function e(t){return t=s(t[0]*Ho,t[1]*Ho),[t[0]*f+l,u-t[1]*f]}function r(t){return(t=s.invert((t[0]-l)/f,(u-t[1])/f))&&[t[0]*qo,t[1]*qo]}function n(){s=Ce(o=fr(g,y,b),a);var t=a(m,v);return l=d-t[0]*f,u=p+t[1]*f,i()}function i(){return c&&(c.valid=!1,c=null),e}var a,o,s,l,u,c,h=nr(function(t,e){return t=a(t,e),[t[0]*f+l,u-t[1]*f]}),f=150,d=480,p=250,m=0,v=0,g=0,y=0,b=0,_=Fs,w=x,M=null,k=null;return e.stream=function(t){return c&&(c.valid=!1),c=ur(_(o,h(w(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(_=null==t?(M=t,Fs):He((M=+t)*Ho),i()):M},e.clipExtent=function(t){return arguments.length?(k=t,w=t?Ge(t[0][0],t[0][1],t[1][0],t[1][1]):x,i()):k},e.scale=function(t){return arguments.length?(f=+t,n()):f},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],n()):[d,p]},e.center=function(t){return arguments.length?(m=t[0]%360*Ho,v=t[1]%360*Ho,n()):[m*qo,v*qo]},e.rotate=function(t){return arguments.length?(g=t[0]%360*Ho,y=t[1]%360*Ho,b=t.length>2?t[2]%360*Ho:0,n()):[g*qo,y*qo,b*qo]},uo.rebind(e,h,\\\"precision\\\"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&r,n()}}function ur(t){return or(t,function(e,r){t.point(e*Ho,r*Ho)})}function cr(t,e){return[t,e]}function hr(t,e){return[t>No?t-Bo:t<-No?t+Bo:t,e]}function fr(t,e,r){return t?e||r?Ce(pr(t),mr(e,r)):pr(t):e||r?mr(e,r):hr}function dr(t){return function(e,r){return e+=t,[e>No?e-Bo:e<-No?e+Bo:e,r]}}function pr(t){var e=dr(t);return e.invert=dr(-t),e}function mr(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*n+s*i;return[Math.atan2(l*a-c*o,s*n-u*i),nt(c*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*a-l*o;return[Math.atan2(l*a+u*o,s*n+c*i),nt(c*n-s*i)]},r}function vr(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=gr(r,i),a=gr(r,a),(o>0?i<a:i>a)&&(i+=o*Bo)):(i=t+o*Bo,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Me([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function gr(t,e){var r=ge(e);r[0]-=t,we(r);var n=rt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Fo)%(2*Math.PI)}function yr(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function br(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function xr(t){return t.source}function _r(t){return t.target}function wr(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),u=i*Math.sin(t),c=o*Math.cos(r),h=o*Math.sin(r),f=2*Math.asin(Math.sqrt(st(n-e)+i*o*st(r-t))),d=1/Math.sin(f),p=f?function(t){var e=Math.sin(t*=f)*d,r=Math.sin(f-t)*d,n=r*l+e*c,i=r*u+e*h,o=r*a+e*s;return[Math.atan2(i,n)*qo,Math.atan2(o,Math.sqrt(n*n+i*i))*qo]}:function(){return[t*qo,e*qo]};return p.distance=f,p}function Mr(){function t(t,i){var a=Math.sin(i*=Ho),o=Math.cos(i),s=xo((t*=Ho)-e),l=Math.cos(s);Ws+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Zs.point=function(i,a){e=i*Ho,r=Math.sin(a*=Ho),n=Math.cos(a),Zs.point=t},Zs.lineEnd=function(){Zs.point=Zs.lineEnd=M}}function kr(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}function Ar(t,e){function r(t,e){o>0?e<-Vo+Fo&&(e=-Vo+Fo):e>Vo-Fo&&(e=Vo-Fo);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(No/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=tt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Vo]},r):Sr}function Tr(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return xo(i)<Fo?cr:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-tt(i)*Math.sqrt(t*t+r*r)]},r)}function Sr(t,e){return[t,Math.log(Math.tan(No/4+e/2))]}function Er(t){var e,r=sr(t),n=r.scale,i=r.translate,a=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=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=No*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}function Lr(t,e){return[Math.log(Math.tan(No/4+e/2)),-t]}function Cr(t){return t[0]}function zr(t){return t[1]}function Ir(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&et(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function Dr(t,e){return t[0]-e[0]||t[1]-e[1]}function Pr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function Or(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],u=r[1],c=e[1]-l,h=n[1]-u,f=(s*(l-u)-h*(i-a))/(h*o-s*c);return[i+f*o,l+f*c]}function Rr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function Fr(){an(this),this.edge=this.site=this.circle=null}function jr(t){var e=sl.pop()||new Fr;return e.site=t,e}function Nr(t){Zr(t),il.remove(t),sl.push(t),an(t)}function Br(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];Nr(t);for(var l=a;l.circle&&xo(r-l.circle.x)<Fo&&xo(n-l.circle.cy)<Fo;)a=l.P,s.unshift(l),Nr(l),l=a;s.unshift(l),Zr(l);for(var u=o;u.circle&&xo(r-u.circle.x)<Fo&&xo(n-u.circle.cy)<Fo;)o=u.N,s.push(u),Nr(u),u=o;s.push(u),Zr(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],en(u.edge,l.site,u.site,i);l=s[0],u=s[h-1],u.edge=$r(l.site,u.site,null,i),Wr(l),Wr(u)}function Ur(t){for(var e,r,n,i,a=t.x,o=t.y,s=il._;s;)if((n=Vr(s,o)-a)>Fo)s=s.L;else{if(!((i=a-Hr(s,o))>Fo)){n>-Fo?(e=s.P,r=s):i>-Fo?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=jr(t);if(il.insert(e,l),e||r){if(e===r)return Zr(e),r=jr(e.site),il.insert(l,r),l.edge=r.edge=$r(e.site,l.site),Wr(e),void Wr(r);if(!r)return void(l.edge=$r(e.site,l.site));Zr(e),Zr(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,d=t.y-h,p=r.site,m=p.x-c,v=p.y-h,g=2*(f*v-d*m),y=f*f+d*d,b=m*m+v*v,x={x:(v*y-d*b)/g+c,y:(f*b-m*y)/g+h};en(r.edge,u,p,x),l.edge=$r(u,t,null,x),r.edge=$r(t,p,null,x),Wr(e),Wr(r)}}function Vr(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;r=o.site;var s=r.x,l=r.y,u=l-e;if(!u)return s;var c=s-n,h=1/a-1/u,f=c/u;return h?(-f+Math.sqrt(f*f-2*h*(c*c/(-2*u)-l+u/2+i-a/2)))/h+n:(n+s)/2}function Hr(t,e){var r=t.N;if(r)return Vr(r,e);var n=t.site;return n.y===e?n.x:1/0}function qr(t){this.site=t,this.edges=[]}function Gr(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],m=nl,v=m.length;v--;)if((a=m[v])&&a.prepare())for(s=a.edges,l=s.length,o=0;o<l;)c=s[o].end(),n=c.x,i=c.y,u=s[++o%l].start(),e=u.x,r=u.y,(xo(n-e)>Fo||xo(i-r)>Fo)&&(s.splice(o,0,new rn(tn(a.site,c,xo(n-h)<Fo&&p-i>Fo?{x:h,y:xo(e-h)<Fo?r:p}:xo(i-p)<Fo&&f-n>Fo?{x:xo(r-p)<Fo?e:f,y:p}:xo(n-f)<Fo&&i-d>Fo?{x:f,y:xo(e-f)<Fo?r:d}:xo(i-d)<Fo&&n-h>Fo?{x:xo(r-d)<Fo?e:h,y:d}:null),a.site,null)),++l)}function Yr(t,e){return e.angle-t.angle}function Xr(){an(this),this.x=this.y=this.arc=this.site=this.cy=null}function Wr(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,h=a.y-s,f=2*(l*h-u*c);if(!(f>=-jo)){var d=l*l+u*u,p=c*c+h*h,m=(h*d-u*p)/f,v=(l*p-c*d)/f,h=v+s,g=ll.pop()||new Xr;g.arc=t,g.site=i,g.x=m+o,g.y=h+Math.sqrt(m*m+v*v),g.cy=h,t.circle=g;for(var y=null,b=ol._;b;)if(g.y<b.y||g.y===b.y&&g.x<=b.x){if(!b.L){y=b.P;break}b=b.L}else{if(!b.R){y=b;break}b=b.R}ol.insert(y,g),y||(al=g)}}}}function Zr(t){var e=t.circle;e&&(e.P||(al=e.N),ol.remove(e),ll.push(e),an(e),t.circle=null)}function Jr(t){for(var e,r=rl,n=qe(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)e=r[i],(!Kr(e,t)||!n(e)||xo(e.a.x-e.b.x)<Fo&&xo(e.a.y-e.b.y)<Fo)&&(e.a=e.b=null,r.splice(i,1))}function Kr(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],u=e[1][1],c=t.l,h=t.r,f=c.x,d=c.y,p=h.x,m=h.y,v=(f+p)/2,g=(d+m)/2;if(m===d){if(v<o||v>=s)return;if(f>p){if(a){if(a.y>=u)return}else a={x:v,y:l};r={x:v,y:u}}else{if(a){if(a.y<l)return}else a={x:v,y:u};r={x:v,y:l}}}else if(n=(f-p)/(m-d),i=g-n*v,n<-1||n>1)if(f>p){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(d<m){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={\\n\",\n       \"x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Qr(t,e){this.l=t,this.r=e,this.a=this.b=null}function $r(t,e,r,n){var i=new Qr(t,e);return rl.push(i),r&&en(i,t,e,r),n&&en(i,e,t,n),nl[t.i].edges.push(new rn(i,t,e)),nl[e.i].edges.push(new rn(i,e,t)),i}function tn(t,e,r){var n=new Qr(t,null);return n.a=e,n.b=r,rl.push(n),n}function en(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 rn(t,e,r){var n=t.a,i=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(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function nn(){this._=null}function an(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function on(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function sn(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function ln(t){for(;t.L;)t=t.L;return t}function un(t,e){var r,n,i,a=t.sort(cn).pop();for(rl=[],nl=new Array(t.length),il=new nn,ol=new nn;;)if(i=al,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(nl[a.i]=new qr(a),Ur(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;Br(i.arc)}e&&(Jr(e),Gr(e));var o={cells:nl,edges:rl};return il=ol=rl=nl=null,o}function cn(t,e){return e.y-t.y||e.x-t.x}function hn(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}function fn(t){return t.x}function dn(t){return t.y}function pn(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function mn(t,e,r,n,i,a){if(!t(e,r,n,i,a)){var o=.5*(r+i),s=.5*(n+a),l=e.nodes;l[0]&&mn(t,l[0],r,n,o,s),l[1]&&mn(t,l[1],o,n,i,s),l[2]&&mn(t,l[2],r,s,o,a),l[3]&&mn(t,l[3],o,s,i,a)}}function vn(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,d){if(!(c>a||h>o||f<n||d<i)){if(p=u.point){var p,m=e-u.x,v=r-u.y,g=m*m+v*v;if(g<l){var y=Math.sqrt(l=g);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var b=u.nodes,x=.5*(c+f),_=.5*(h+d),w=e>=x,M=r>=_,k=M<<1|w,A=k+4;k<A;++k)if(u=b[3&k])switch(3&k){case 0:t(u,c,h,x,_);break;case 1:t(u,x,h,f,_);break;case 2:t(u,c,_,x,d);break;case 3:t(u,x,_,f,d)}}}(t,n,i,a,o),s}function gn(t,e){t=uo.rgb(t),e=uo.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return\\\"#\\\"+wt(Math.round(r+a*t))+wt(Math.round(n+o*t))+wt(Math.round(i+s*t))}}function yn(t,e){var r,n={},i={};for(r in t)r in e?n[r]=_n(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function bn(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function xn(t,e){var r,n,i,a=cl.lastIndex=hl.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=cl.exec(t))&&(n=hl.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:bn(r,n)})),a=hl.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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(\\\"\\\")})}function _n(t,e){for(var r,n=uo.interpolators.length;--n>=0&&!(r=uo.interpolators[n](t,e)););return r}function wn(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(_n(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}function Mn(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function kn(t){return function(e){return 1-t(1-e)}}function An(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Tn(t){return t*t}function Sn(t){return t*t*t}function En(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 Ln(t){return function(e){return Math.pow(e,t)}}function Cn(t){return 1-Math.cos(t*Vo)}function zn(t){return Math.pow(2,10*(t-1))}function In(t){return 1-Math.sqrt(1-t*t)}function Dn(t,e){var r;return arguments.length<2&&(e=.45),arguments.length?r=e/Bo*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Bo/e)}}function Pn(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function On(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 Rn(t,e){t=uo.hcl(t),e=uo.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ft(r+a*t,n+o*t,i+s*t)+\\\"\\\"}}function Fn(t,e){t=uo.hsl(t),e=uo.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ct(r+a*t,n+o*t,i+s*t)+\\\"\\\"}}function jn(t,e){t=uo.lab(t),e=uo.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return pt(r+a*t,n+o*t,i+s*t)+\\\"\\\"}}function Nn(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Bn(t){var e=[t.a,t.b],r=[t.c,t.d],n=Vn(e),i=Un(e,r),a=Vn(Hn(r,e,-i))||0;e[0]*r[1]<r[0]*e[1]&&(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*qo,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*qo:0}function Un(t,e){return t[0]*e[0]+t[1]*e[1]}function Vn(t){var e=Math.sqrt(Un(t,t));return e&&(t[0]/=e,t[1]/=e),e}function Hn(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}function qn(t){return t.length?t.pop()+\\\",\\\":\\\"\\\"}function Gn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\\\"translate(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:bn(t[0],e[0])},{i:i-2,x:bn(t[1],e[1])})}else(e[0]||e[1])&&r.push(\\\"translate(\\\"+e+\\\")\\\")}function Yn(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(qn(r)+\\\"rotate(\\\",null,\\\")\\\")-2,x:bn(t,e)})):e&&r.push(qn(r)+\\\"rotate(\\\"+e+\\\")\\\")}function Xn(t,e,r,n){t!==e?n.push({i:r.push(qn(r)+\\\"skewX(\\\",null,\\\")\\\")-2,x:bn(t,e)}):e&&r.push(qn(r)+\\\"skewX(\\\"+e+\\\")\\\")}function Wn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(qn(r)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:bn(t[0],e[0])},{i:i-2,x:bn(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(qn(r)+\\\"scale(\\\"+e+\\\")\\\")}function Zn(t,e){var r=[],n=[];return t=uo.transform(t),e=uo.transform(e),Gn(t.translate,e.translate,r,n),Yn(t.rotate,e.rotate,r,n),Xn(t.skew,e.skew,r,n),Wn(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i<a;)r[(e=n[i]).i]=e.x(t);return r.join(\\\"\\\")}}function Jn(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function Kn(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Qn(t){for(var e=t.source,r=t.target,n=ti(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function $n(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ti(t,e){if(t===e)return t;for(var r=$n(t),n=$n(e),i=r.pop(),a=n.pop(),o=null;i===a;)o=i,i=r.pop(),a=n.pop();return o}function ei(t){t.fixed|=2}function ri(t){t.fixed&=-7}function ni(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ii(t){t.fixed&=-5}function ai(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l<s;)null!=(a=o[l])&&(ai(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var u=e*r[t.point.index];t.charge+=t.pointCharge=u,n+=u*t.point.x,i+=u*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function oi(t,e){return uo.rebind(t,e,\\\"sort\\\",\\\"children\\\",\\\"value\\\"),t.nodes=t,t.links=fi,t}function si(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function ui(t){return t.children}function ci(t){return t.value}function hi(t,e){return e.value-t.value}function fi(t){return uo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function di(t){return t.x}function pi(t){return t.y}function mi(t,e,r){t.y0=e,t.y=r}function vi(t){return uo.range(t.length)}function gi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function yi(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function bi(t){return t.reduce(xi,0)}function xi(t,e){return t+e[1]}function _i(t,e){return wi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wi(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Mi(t){return[uo.min(t),uo.max(t)]}function ki(t,e){return t.value-e.value}function Ai(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ti(t,e){t._pack_next=e,e._pack_prev=t}function Si(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Ei(t){function e(t){c=Math.min(t.x-t.r,c),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((r=t.children)&&(u=r.length)){var r,n,i,a,o,s,l,u,c=1/0,h=-1/0,f=1/0,d=-1/0;if(r.forEach(Li),n=r[0],n.x=-n.r,n.y=0,e(n),u>1&&(i=r[1],i.x=i.r,i.y=0,e(i),u>2))for(a=r[2],Ii(n,i,a),e(a),Ai(n,a),n._pack_prev=a,Ai(a,i),i=n._pack_next,o=3;o<u;o++){Ii(n,i,a=r[o]);var p=0,m=1,v=1;for(s=i._pack_next;s!==i;s=s._pack_next,m++)if(Si(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&&!Si(l,a);l=l._pack_prev,v++);p?(m<v||m==v&&i.r<n.r?Ti(n,i=s):Ti(n=l,i),o--):(Ai(n,a),i=a,e(a))}var g=(c+h)/2,y=(f+d)/2,b=0;for(o=0;o<u;o++)a=r[o],a.x-=g,a.y-=y,b=Math.max(b,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=b,r.forEach(Ci)}}function Li(t){t._pack_next=t._pack_prev=t}function Ci(t){delete t._pack_next,delete t._pack_prev}function zi(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a<o;)zi(i[a],e,r,n)}function Ii(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a;o*=o,n*=n;var l=.5+(n-o)/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+u*a,r.y=t.y+l*a-u*i}else r.x=t.x+n,r.y=t.y}function Di(t,e){return t.parent==e.parent?1:2}function Pi(t){var e=t.children;return e.length?e[0]:t.t}function Oi(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Ri(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 Fi(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)e=i[a],e.z+=r,e.m+=r,r+=e.s+(n+=e.c)}function ji(t,e,r){return t.a.parent===e.parent?t.a:r}function Ni(t){return 1+uo.max(t,function(t){return t.y})}function Bi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Ui(t){var e=t.children;return e&&e.length?Ui(e[0]):t}function Vi(t){var e,r=t.children;return r&&(e=r.length)?Vi(r[e-1]):t}function Hi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function qi(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Gi(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function Yi(t){return t.rangeExtent?t.rangeExtent():Gi(t.range())}function Xi(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function Wi(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Zi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:wl}function Ji(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=uo.bisect(t,e,1,s)-1;return a[r](i[r](e))}}function Ki(t,e,r,n){function i(){var i=Math.min(t.length,e.length)>2?Ji:Xi,l=n?Kn:Jn;return o=i(t,e,l,r),s=i(e,t,l,_n),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Nn)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return ea(t,e)},a.tickFormat=function(e,r){return ra(t,e,r)},a.nice=function(e){return $i(t,e),i()},a.copy=function(){return Ki(t,e,r,n)},i()}function Qi(t,e){return uo.rebind(t,e,\\\"range\\\",\\\"rangeRound\\\",\\\"interpolate\\\",\\\"clamp\\\")}function $i(t,e){return Wi(t,Zi(ta(t,e)[2])),Wi(t,Zi(ta(t,e)[2])),t}function ta(t,e){null==e&&(e=10);var r=Gi(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function ea(t,e){return uo.range.apply(uo,ta(t,e))}function ra(t,e,r){var n=ta(t,e);if(r){var i=cs.exec(r);if(i.shift(),\\\"s\\\"===i[8]){var a=uo.formatPrefix(Math.max(xo(n[0]),xo(n[1])));return i[7]||(i[7]=\\\".\\\"+na(a.scale(n[2]))),i[8]=\\\"f\\\",r=uo.format(i.join(\\\"\\\")),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=\\\".\\\"+ia(i[8],n)),r=i.join(\\\"\\\")}else r=\\\",.\\\"+na(n[2])+\\\"f\\\";return uo.format(r)}function na(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ia(t,e){var r=na(e[2]);return t in Ml?Math.abs(r-na(Math.max(xo(e[0]),xo(e[1]))))+ +(\\\"e\\\"!==t):r-2*(\\\"%\\\"===t)}function aa(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Wi(n.map(i),r?Math:Al);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Gi(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),h=e%1?2:e;if(isFinite(c-u)){if(r){for(;u<c;u++)for(var f=1;f<h;f++)o.push(a(u)*f);o.push(a(u))}else for(o.push(a(u));u++<c;)for(var f=h-1;f>0;f--)o.push(a(u)*f);for(u=0;o[u]<s;u++);for(c=o.length;o[c-1]>l;c--);o=o.slice(u,c)}return o},o.tickFormat=function(t,r){if(!arguments.length)return kl;arguments.length<2?r=kl:\\\"function\\\"!=typeof r&&(r=uo.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e<e-.5&&(o*=e),o<=n?r(t):\\\"\\\"}},o.copy=function(){return aa(t.copy(),e,r,n)},Qi(o,t)}function oa(t,e,r){function n(e){return t(i(e))}var i=sa(e),a=sa(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return ea(r,t)},n.tickFormat=function(t,e){return ra(r,t,e)},n.nice=function(t){return n.domain($i(r,t))},n.exponent=function(o){return arguments.length?(i=sa(e=o),a=sa(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return oa(t.copy(),e,r)},Qi(n,t)}function sa(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function la(t,e){function r(r){return a[((i.get(r)||(\\\"range\\\"===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return uo.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new h;for(var a,o=-1,s=n.length;++o<s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:\\\"range\\\",a:arguments},r):a},r.rangePoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=(l+u)/2,0):(u-l)/(t.length-1+s);return a=n(l+c*s/2,c),o=0,e={t:\\\"rangePoints\\\",a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=u=Math.round((l+u)/2),0):(u-l)/(t.length-1+s)|0;return a=n(l+Math.round(c*s/2+(u-l-(t.length-1+s)*c)/2),c),o=0,e={t:\\\"rangeRoundPoints\\\",a:arguments},r},r.rangeBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=(h-c)/(t.length-s+2*l);return a=n(c+f*l,f),u&&a.reverse(),o=f*(1-s),e={t:\\\"rangeBands\\\",a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=Math.floor((h-c)/(t.length-s+2*l));return a=n(c+Math.round((h-c-(t.length-s)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-s)),e={t:\\\"rangeRoundBands\\\",a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Gi(e.a[0])},r.copy=function(){return la(t,e)},r.domain(t)}function ua(t,e){function r(){var r=0,i=e.length;for(s=[];++r<i;)s[r-1]=uo.quantile(t,r/i);return n}function n(t){if(!isNaN(t=+t))return e[uo.bisect(s,t)]}var s;return n.domain=function(e){return arguments.length?(t=e.map(a).filter(o).sort(i),r()):t},n.range=function(t){return arguments.length?(e=t,r()):e},n.quantiles=function(){return s},n.invertExtent=function(r){return r=e.indexOf(r),r<0?[NaN,NaN]:[r>0?s[r-1]:t[0],r<s.length?s[r]:t[t.length-1]]},n.copy=function(){return ua(t,e)},r()}function ca(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e<0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return ca(t,e,r)},i()}function ha(t,e){function r(r){if(r<=r)return e[uo.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return ha(t,e)},r}function fa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return ea(t,e)},e.tickFormat=function(e,r){return ra(t,e,r)},e.copy=function(){return fa(t)},e}function da(){return 0}function pa(t){return t.innerRadius}function ma(t){return t.outerRadius}function va(t){return t.startAngle}function ga(t){return t.endAngle}function ya(t){return t&&t.padAngle}function ba(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function xa(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,h=t[1]+u,f=e[0]+l,d=e[1]+u,p=(c+f)/2,m=(h+d)/2,v=f-c,g=d-h,y=v*v+g*g,b=r-n,x=c*d-f*h,_=(g<0?-1:1)*Math.sqrt(Math.max(0,b*b*y-x*x)),w=(x*g-v*_)/y,M=(-x*v-g*_)/y,k=(x*g+v*_)/y,A=(-x*v+g*_)/y,T=w-p,S=M-m,E=k-p,L=A-m;return T*T+S*S>E*E+L*L&&(w=k,M=A),[[w-l,M-u],[w*r/b,M*r/b]]}function _a(t){function e(e){function o(){u.push(\\\"M\\\",a(t(c),s))}for(var l,u=[],c=[],h=-1,f=e.length,d=Et(r),p=Et(n);++h<f;)i.call(this,l=e[h],h)?c.push([+d.call(this,l,h),+p.call(this,l,h)]):c.length&&(o(),c=[]);return c.length&&o(),u.length?u.join(\\\"\\\"):null}var r=Cr,n=zr,i=ze,a=wa,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?a=t:(a=zl.get(t)||wa).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function wa(t){return t.length>1?t.join(\\\"L\\\"):t+\\\"Z\\\"}function Ma(t){return t.join(\\\"L\\\")+\\\"Z\\\"}function ka(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n[0]+(n=t[e])[0])/2,\\\"V\\\",n[1]);return r>1&&i.push(\\\"H\\\",n[0]),i.join(\\\"\\\")}function Aa(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"V\\\",(n=t[e])[1],\\\"H\\\",n[0]);return i.join(\\\"\\\")}function Ta(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n=t[e])[0],\\\"V\\\",n[1]);return i.join(\\\"\\\")}function Sa(t,e){return t.length<4?wa(t):t[1]+Ca(t.slice(1,-1),za(t,e))}function Ea(t,e){return t.length<3?Ma(t):t[0]+Ca((t.push(t[0]),t),za([t[t.length-2]].concat(t,[t[1]]),e))}function La(t,e){return t.length<3?wa(t):t[0]+Ca(t,za(t,e))}function Ca(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return wa(t);var r=t.length!=e.length,n=\\\"\\\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\\\"Q\\\"+(a[0]-2*o[0]/3)+\\\",\\\"+(a[1]-2*o[1]/3)+\\\",\\\"+a[0]+\\\",\\\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\\\"C\\\"+(i[0]+o[0])+\\\",\\\"+(i[1]+o[1])+\\\",\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1];for(var u=2;u<e.length;u++,l++)a=t[l],s=e[u],n+=\\\"S\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1]}if(r){var c=t[l];n+=\\\"Q\\\"+(a[0]+2*s[0]/3)+\\\",\\\"+(a[1]+2*s[1]/3)+\\\",\\\"+c[0]+\\\",\\\"+c[1]}return n}function za(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ia(t){if(t.length<3)return wa(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\\\",\\\",a,\\\"L\\\",Ra(Pl,o),\\\",\\\",Ra(Pl,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Fa(l,o,s);return t.pop(),l.push(\\\"L\\\",n),l.join(\\\"\\\")}function Da(t){if(t.length<4)return wa(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ra(Pl,a)+\\\",\\\"+Ra(Pl,o)),--n;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Fa(r,a,o);return r.join(\\\"\\\")}function Pa(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ra(Pl,o),\\\",\\\",Ra(Pl,s)],--n;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Fa(e,o,s);return e.join(\\\"\\\")}function Oa(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,u=-1;++u<=r;)n=t[u],i=u/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ia(t)}function Ra(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Fa(t,e,r){t.push(\\\"C\\\",Ra(Il,e),\\\",\\\",Ra(Il,r),\\\",\\\",Ra(Dl,e),\\\",\\\",Ra(Dl,r),\\\",\\\",Ra(Pl,e),\\\",\\\",Ra(Pl,r))}function ja(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Na(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=ja(i,a);++e<r;)n[e]=(o+(o=ja(i=a,a=t[e+1])))/2;return n[e]=o,n}function Ba(t){for(var e,r,n,i,a=[],o=Na(t),s=-1,l=t.length-1;++s<l;)e=ja(t[s],t[s+1]),xo(e)<Fo?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}function Ua(t){return t.length<3?wa(t):t[0]+Ca(t,Ba(t))}function Va(t){for(var e,r,n,i=-1,a=t.length;++i<a;)e=t[i],r=e[0],n=e[1]-Vo,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ha(t){function e(e){function l(){m.push(\\\"M\\\",s(t(g),h),c,u(t(v.reverse()),h),\\\"Z\\\")}for(var f,d,p,m=[],v=[],g=[],y=-1,b=e.length,x=Et(r),_=Et(i),w=r===n?function(){return d}:Et(n),M=i===a?function(){return p}:Et(a);++y<b;)o.call(this,f=e[y],y)?(v.push([d=+x.call(this,f,y),p=+_.call(this,f,y)]),g.push([+w.call(this,f,y),+M.call(this,f,y)])):v.length&&(l(),v=[],g=[]);return v.length&&l(),m.length?m.join(\\\"\\\"):null}var r=Cr,n=Cr,i=0,a=zr,o=ze,s=wa,l=s.key,u=s,c=\\\"L\\\",h=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=\\\"function\\\"==typeof t?s=t:(s=zl.get(t)||wa).key,u=s.reverse||s,c=s.closed?\\\"M\\\":\\\"L\\\",e):l},e.tension=function(t){return arguments.length?(h=t,e):h},e}function qa(t){return t.radius}function Ga(t){return[t.x,t.y]}function Ya(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Vo;return[r*Math.cos(n),r*Math.sin(n)]}}function Xa(){return 64}function Wa(){return\\\"circle\\\"}function Za(t){var e=Math.sqrt(t/No);return\\\"M0,\\\"+e+\\\"A\\\"+e+\\\",\\\"+e+\\\" 0 1,1 0,\\\"+-e+\\\"A\\\"+e+\\\",\\\"+e+\\\" 0 1,1 0,\\\"+e+\\\"Z\\\"}function Ja(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 Ka(t,e,r){return Ao(t,Ul),t.namespace=e,t.id=r,t}function Qa(t,e,r,n){var i=t.id,a=t.namespace;return G(t,\\\"function\\\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function $a(t){return null==t&&(t=\\\"\\\"),function(){this.textContent=t}}function to(t){return null==t?\\\"__transition__\\\":\\\"__transition_\\\"+t+\\\"__\\\"}function eo(t,e,r,n,i){function a(t){var e=m.delay;if(u.t=e+l,e<=t)return o(t-e);u.c=o}function o(r){var i=p.active,a=p[i];a&&(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&&a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o<n){var h=p[o];h.timer.c=null,h.timer.t=NaN,--p.count,delete p[o]}u.c=s,Dt(function(){return u.c&&s(r||1)&&(u.c=null,u.t=NaN),1},0,l),p.active=n,m.event&&m.event.start.call(t,t.__data__,e),d=[],m.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&d.push(n)}),f=m.ease,c=m.duration}function s(i){for(var a=i/c,o=f(a),s=d.length;s>0;)d[--s].call(t,o);if(a>=1)return m.event&&m.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,c,f,d,p=t[r]||(t[r]={active:0,count:0}),m=p[n];m||(l=i.time,u=Dt(a,0,l),m=p[n]={tween:new h,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function ro(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(\\\"+(isFinite(n)?n:r(t))+\\\",0)\\\"})}function no(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(0,\\\"+(isFinite(n)?n:r(t))+\\\")\\\"})}function io(t){return t.toISOString()}function ao(t,e,r){function n(e){return t(e)}function i(t,r){var n=t[1]-t[0],i=n/r,a=uo.bisect(Jl,i);return a==Jl.length?[e.year,ta(t.map(function(t){return t/31536e6}),r)[2]]:a?e[i/Jl[a-1]<Jl[a]/i?a-1:a]:[$l,ta(t,r)[2]]}return n.invert=function(e){return oo(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(oo)},n.nice=function(t,e){function r(r){return!isNaN(r)&&!t.range(r,oo(+r+1),e).length}var a=n.domain(),o=Gi(a),s=null==t?i(o,10):\\\"number\\\"==typeof t&&i(o,t);return s&&(t=s[0],e=s[1]),n.domain(Wi(a,e>1?{floor:function(e){for(;r(e=t.floor(e));)e=oo(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=oo(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Gi(n.domain()),a=null==t?i(r,10):\\\"number\\\"==typeof t?i(r,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(r[0],oo(+r[1]+1),e<1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return ao(t.copy(),e,r)},Qi(n,t)}function oo(t){return new Date(t)}function so(t){return JSON.parse(t.responseText)}function lo(t){var e=fo.createRange();return e.selectNode(fo.body),e.createContextualFragment(t.responseText)}var uo={version:\\\"3.5.17\\\"},co=[].slice,ho=function(t){return co.call(t)},fo=this.document;if(fo)try{ho(fo.documentElement.childNodes)[0].nodeType}catch(t){ho=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}),fo)try{fo.createElement(\\\"DIV\\\").style.setProperty(\\\"opacity\\\",0,\\\"\\\")}catch(t){var po=this.Element.prototype,mo=po.setAttribute,vo=po.setAttributeNS,go=this.CSSStyleDeclaration.prototype,yo=go.setProperty;po.setAttribute=function(t,e){mo.call(this,t,e+\\\"\\\")},po.setAttributeNS=function(t,e,r){vo.call(this,t,e,r+\\\"\\\")},go.setProperty=function(t,e,r){yo.call(this,t,e+\\\"\\\",r)}}uo.ascending=i,uo.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},uo.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},uo.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},uo.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},uo.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)o(r=+t[a])&&(n+=r);else for(;++a<i;)o(r=+e.call(t,t[a],a))&&(n+=r);return n},uo.mean=function(t,e){var r,n=0,i=t.length,s=-1,l=i;if(1===arguments.length)for(;++s<i;)o(r=a(t[s]))?n+=r:--l;else for(;++s<i;)o(r=a(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},uo.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},uo.median=function(t,e){var r,n=[],s=t.length,l=-1;if(1===arguments.length)for(;++l<s;)o(r=a(t[l]))&&n.push(r);else for(;++l<s;)o(r=a(e.call(t,t[l],l)))&&n.push(r);if(n.length)return uo.quantile(n.sort(i),.5)},uo.variance=function(t,e){var r,n,i=t.length,s=0,l=0,u=-1,c=0;if(1===arguments.length)for(;++u<i;)o(r=a(t[u]))&&(n=r-s,s+=n/++c,l+=n*(r-s));else for(;++u<i;)o(r=a(e.call(t,t[u],u)))&&(n=r-s,s+=n/++c,l+=n*(r-s));if(c>1)return l/(c-1)},uo.deviation=function(){var t=uo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var bo=s(i);uo.bisectLeft=bo.left,uo.bisect=uo.bisectRight=bo.right,uo.bisector=function(t){return s(1===t.length?function(e,r){return i(t(e),r)}:t)},uo.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},uo.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},uo.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},uo.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=uo.min(t,l),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n},uo.zip=function(){return uo.transpose(arguments)},uo.keys=function(t){var e=[];for(var r in t)e.push(r);return e},uo.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},uo.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},uo.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(n=t[i],e=n.length;--e>=0;)r[--o]=n[e];return r};var xo=Math.abs;uo.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,i=[],a=u(xo(r)),o=-1;if(t*=a,e*=a,r*=a,r<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},uo.map=function(t,e){var r=new h;if(t instanceof h)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _o=\\\"__proto__\\\",wo=\\\"\\\\0\\\";c(h,{has:p,get:function(t){return this._[f(t)]},set:function(t,e){return this._[f(t)]=e},remove:m,keys:v,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:d(e),value:this._[e]});return t},size:g,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e),this._[e])}}),uo.nest=function(){function t(e,o,s){if(s>=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,c,f,d=-1,p=o.length,m=a[s++],v=new h;++d<p;)(f=v.get(l=m(u=o[d])))?f.push(u):v.set(l,[u]);return e?(u=e(),c=function(r,n){u.set(r,t(e,n,s))}):(u={},c=function(r,n){u[r]=t(e,n,s)}),v.forEach(c),u}function e(t,r){if(r>=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(uo.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},uo.set=function(t){var e=new b;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},c(b,{has:p,add:function(t){return this._[f(t+=\\\"\\\")]=!0,t},remove:m,values:v,size:g,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e))}}),uo.behavior={},uo.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=_(t,e,e[r]);return t}\\n\",\n       \";var Mo=[\\\"webkit\\\",\\\"ms\\\",\\\"moz\\\",\\\"Moz\\\",\\\"o\\\",\\\"O\\\"];uo.dispatch=function(){for(var t=new k,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=A(t);return t},k.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}},uo.event=null,uo.requote=function(t){return t.replace(ko,\\\"\\\\\\\\$&\\\")};var ko=/[\\\\\\\\\\\\^\\\\$\\\\*\\\\+\\\\?\\\\|\\\\[\\\\]\\\\(\\\\)\\\\.\\\\{\\\\}]/g,Ao={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},To=function(t,e){return e.querySelector(t)},So=function(t,e){return e.querySelectorAll(t)},Eo=function(t,e){var r=t.matches||t[w(t,\\\"matchesSelector\\\")];return(Eo=function(t,e){return r.call(t,e)})(t,e)};\\\"function\\\"==typeof Sizzle&&(To=function(t,e){return Sizzle(t,e)[0]||null},So=Sizzle,Eo=Sizzle.matchesSelector),uo.selection=function(){return uo.select(fo.documentElement)};var Lo=uo.selection.prototype=[];Lo.select=function(t){var e,r,n,i,a=[];t=C(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\\\"__data__\\\"in i&&(r.__data__=i.__data__)):e.push(null)}return L(a)},Lo.selectAll=function(t){var e,r,n=[];t=z(t);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],s=-1,l=o.length;++s<l;)(r=o[s])&&(n.push(e=ho(t.call(r,r.__data__,s,i))),e.parentNode=r);return L(n)};var Co=\\\"http://www.w3.org/1999/xhtml\\\",zo={svg:\\\"http://www.w3.org/2000/svg\\\",xhtml:Co,xlink:\\\"http://www.w3.org/1999/xlink\\\",xml:\\\"http://www.w3.org/XML/1998/namespace\\\",xmlns:\\\"http://www.w3.org/2000/xmlns/\\\"};uo.ns={prefix:zo,qualify:function(t){var e=t.indexOf(\\\":\\\"),r=t;return e>=0&&\\\"xmlns\\\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),zo.hasOwnProperty(r)?{space:zo[r],local:t}:t}},Lo.attr=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node();return t=uo.ns.qualify(t),t.local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},Lo.classed=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node(),n=(t=O(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\\\"class\\\");++i<n;)if(!P(t[i]).test(e))return!1;return!0}for(e in t)this.each(R(e,t[e]));return this}return this.each(R(t,e))},Lo.style=function(t,e,r){var i=arguments.length;if(i<3){if(\\\"string\\\"!=typeof t){i<2&&(e=\\\"\\\");for(r in t)this.each(j(r,t[r],e));return this}if(i<2){var a=this.node();return n(a).getComputedStyle(a,null).getPropertyValue(t)}r=\\\"\\\"}return this.each(j(t,e,r))},Lo.property=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t)return this.node()[t];for(e in t)this.each(N(e,t[e]));return this}return this.each(N(t,e))},Lo.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},Lo.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},Lo.append=function(t){return t=B(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Lo.insert=function(t,e){return t=B(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Lo.remove=function(){return this.each(U)},Lo.data=function(t,e){function r(t,r){var n,i,a,o=t.length,c=r.length,f=Math.min(o,c),d=new Array(c),p=new Array(c),m=new Array(o);if(e){var v,g=new h,y=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(g.has(v=e.call(i,i.__data__,n))?m[n]=i:g.set(v,i),y[n]=v);for(n=-1;++n<c;)(i=g.get(v=e.call(r,a=r[n],n)))?!0!==i&&(d[n]=i,i.__data__=a):p[n]=V(a),g.set(v,!0);for(n=-1;++n<o;)n in y&&!0!==g.get(y[n])&&(m[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=V(a);for(;n<c;++n)p[n]=V(r[n]);for(;n<o;++n)m[n]=t[n]}p.update=d,p.parentNode=d.parentNode=m.parentNode=t.parentNode,s.push(p),l.push(d),u.push(m)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a<o;)(i=n[a])&&(t[a]=i.__data__);return t}var s=Y([]),l=L([]),u=L([]);if(\\\"function\\\"==typeof t)for(;++a<o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a<o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},Lo.datum=function(t){return arguments.length?this.property(\\\"__data__\\\",t):this.property(\\\"__data__\\\")},Lo.filter=function(t){var e,r,n,i=[];\\\"function\\\"!=typeof t&&(t=H(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return L(i)},Lo.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Lo.sort=function(t){t=q.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Lo.each=function(t){return G(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Lo.call=function(t){var e=ho(arguments);return t.apply(e[0]=this,e),this},Lo.empty=function(){return!this.node()},Lo.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Lo.size=function(){var t=0;return G(this,function(){++t}),t};var Io=[];uo.selection.enter=Y,uo.selection.enter.prototype=Io,Io.append=Lo.append,Io.empty=Lo.empty,Io.node=Lo.node,Io.call=Lo.call,Io.size=Lo.size,Io.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(e.push(n[u]=r=t.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):e.push(null)}return L(o)},Io.insert=function(t,e){return arguments.length<2&&(e=X(this)),Lo.insert.call(this,t,e)},uo.select=function(t){var r;return\\\"string\\\"==typeof t?(r=[To(t,fo)],r.parentNode=fo.documentElement):(r=[t],r.parentNode=e(t)),L([r])},uo.selectAll=function(t){var e;return\\\"string\\\"==typeof t?(e=ho(So(t,fo)),e.parentNode=fo.documentElement):(e=ho(t),e.parentNode=null),L([e])},Lo.on=function(t,e,r){var n=arguments.length;if(n<3){if(\\\"string\\\"!=typeof t){n<2&&(e=!1);for(r in t)this.each(W(r,t[r],e));return this}if(n<2)return(n=this.node()[\\\"__on\\\"+t])&&n._;r=!1}return this.each(W(t,e,r))};var Do=uo.map({mouseenter:\\\"mouseover\\\",mouseleave:\\\"mouseout\\\"});fo&&Do.forEach(function(t){\\\"on\\\"+t in fo&&Do.remove(t)});var Po,Oo=0;uo.mouse=function(t){return Q(t,S())};var Ro=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;uo.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=S().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return Q(t,n)},uo.behavior.drag=function(){function t(){this.on(\\\"mousedown.drag\\\",a).on(\\\"touchstart.drag\\\",o)}function e(t,e,n,a,o){return function(){function s(){var t,r,n=e(f,m);n&&(t=n[0]-b[0],r=n[1]-b[1],p|=t|r,b=n,d({type:\\\"drag\\\",x:n[0]+u[0],y:n[1]+u[1],dx:t,dy:r}))}function l(){e(f,m)&&(g.on(a+v,null).on(o+v,null),y(p),d({type:\\\"dragend\\\"}))}var u,c=this,h=uo.event.target.correspondingElement||uo.event.target,f=c.parentNode,d=r.of(c,arguments),p=0,m=t(),v=\\\".drag\\\"+(null==m?\\\"\\\":\\\"-\\\"+m),g=uo.select(n(h)).on(a+v,s).on(o+v,l),y=K(h),b=e(f,m);i?(u=i.apply(c,arguments),u=[u.x-b[0],u.y-b[1]]):u=[0,0],d({type:\\\"dragstart\\\"})}}var r=E(t,\\\"drag\\\",\\\"dragstart\\\",\\\"dragend\\\"),i=null,a=e(M,uo.mouse,n,\\\"mousemove\\\",\\\"mouseup\\\"),o=e($,uo.touch,x,\\\"touchmove\\\",\\\"touchend\\\");return t.origin=function(e){return arguments.length?(i=e,t):i},uo.rebind(t,r,\\\"on\\\")},uo.touches=function(t,e){return arguments.length<2&&(e=S().touches),e?ho(e).map(function(e){var r=Q(t,e);return r.identifier=e.identifier,r}):[]};var Fo=1e-6,jo=Fo*Fo,No=Math.PI,Bo=2*No,Uo=Bo-Fo,Vo=No/2,Ho=No/180,qo=180/No,Go=Math.SQRT2;uo.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<jo)n=Math.log(u/o)/Go,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Go*t*n)]};else{var d=Math.sqrt(f),p=(u*u-o*o+4*f)/(2*o*2*d),m=(u*u-o*o-4*f)/(2*u*2*d),v=Math.log(Math.sqrt(p*p+1)-p),g=Math.log(Math.sqrt(m*m+1)-m);n=(g-v)/Go,r=function(t){var e=t*n,r=at(v),s=o/(2*d)*(r*ot(Go*e+v)-it(v));return[i+s*c,a+s*h,o*r/at(Go*e+v)]}}return r.duration=1e3*n,r},uo.behavior.zoom=function(){function t(t){t.on(z,h).on(Xo+\\\".zoom\\\",d).on(\\\"dblclick.zoom\\\",p).on(P,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function r(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}function i(t){k.k=Math.max(S[0],Math.min(S[1],t))}function a(t,e){e=r(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function o(e,r,n,o){e.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),a(v=r,n),e=uo.select(e),L>0&&(e=e.transition().duration(L)),e.call(t.event)}function s(){_&&_.domain(x.range().map(function(t){return(t-k.x)/k.k}).map(x.invert)),M&&M.domain(w.range().map(function(t){return(t-k.y)/k.k}).map(w.invert))}function l(t){C++||t({type:\\\"zoomstart\\\"})}function u(t){s(),t({type:\\\"zoom\\\",scale:k.k,translate:[k.x,k.y]})}function c(t){--C||(t({type:\\\"zoomend\\\"}),v=null)}function h(){function t(){s=1,a(uo.mouse(i),f),u(o)}function r(){h.on(I,null).on(D,null),d(s),c(o)}var i=this,o=O.of(i,arguments),s=0,h=uo.select(n(i)).on(I,t).on(D,r),f=e(uo.mouse(i)),d=K(i);Bl.call(i),l(o)}function f(){function t(){var t=uo.touches(p);return d=k.k,t.forEach(function(t){t.identifier in v&&(v[t.identifier]=e(t))}),t}function r(){var e=uo.event.target;uo.select(e).on(x,n).on(_,s),w.push(e);for(var r=uo.event.changedTouches,i=0,a=r.length;i<a;++i)v[r[i].identifier]=null;var l=t(),u=Date.now();if(1===l.length){if(u-b<500){var c=l[0];o(p,c,v[c.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),T()}b=u}else if(l.length>1){var c=l[0],h=l[1],f=c[0]-h[0],d=c[1]-h[1];g=f*f+d*d}}function n(){var t,e,r,n,o=uo.touches(p);Bl.call(p);for(var s=0,l=o.length;s<l;++s,n=null)if(r=o[s],n=v[r.identifier]){if(e)break;t=r,e=n}if(n){var c=(c=r[0]-t[0])*c+(c=r[1]-t[1])*c,h=g&&Math.sqrt(c/g);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+n[0])/2,(e[1]+n[1])/2],i(h*d)}b=null,a(t,e),u(m)}function s(){if(uo.event.touches.length){for(var e=uo.event.changedTouches,r=0,n=e.length;r<n;++r)delete v[e[r].identifier];for(var i in v)return void t()}uo.selectAll(w).on(y,null),M.on(z,h).on(P,f),A(),c(m)}var d,p=this,m=O.of(p,arguments),v={},g=0,y=\\\".zoom-\\\"+uo.event.changedTouches[0].identifier,x=\\\"touchmove\\\"+y,_=\\\"touchend\\\"+y,w=[],M=uo.select(p),A=K(p);r(),l(m),M.on(z,null).on(P,r)}function d(){var t=O.of(this,arguments);y?clearTimeout(y):(Bl.call(this),m=e(v=g||uo.mouse(this)),l(t)),y=setTimeout(function(){y=null,c(t)},50),T(),i(Math.pow(2,.002*Yo())*k.k),a(v,m),u(t)}function p(){var t=uo.mouse(this),r=Math.log(k.k)/Math.LN2;o(this,t,e(t),uo.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var m,v,g,y,b,x,_,w,M,k={x:0,y:0,k:1},A=[960,500],S=Wo,L=250,C=0,z=\\\"mousedown.zoom\\\",I=\\\"mousemove.zoom\\\",D=\\\"mouseup.zoom\\\",P=\\\"touchstart.zoom\\\",O=E(t,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\");return Xo||(Xo=\\\"onwheel\\\"in fo?(Yo=function(){return-uo.event.deltaY*(uo.event.deltaMode?120:1)},\\\"wheel\\\"):\\\"onmousewheel\\\"in fo?(Yo=function(){return uo.event.wheelDelta},\\\"mousewheel\\\"):(Yo=function(){return-uo.event.detail},\\\"MozMousePixelScroll\\\")),t.event=function(t){t.each(function(){var t=O.of(this,arguments),e=k;jl?uo.select(this).transition().each(\\\"start.zoom\\\",function(){k=this.__chart__||{x:0,y:0,k:1},l(t)}).tween(\\\"zoom:zoom\\\",function(){var r=A[0],n=A[1],i=v?v[0]:r/2,a=v?v[1]:n/2,o=uo.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,r/k.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=k={x:i-n[0]*s,y:a-n[1]*s,k:s},u(t)}}).each(\\\"interrupt.zoom\\\",function(){c(t)}).each(\\\"end.zoom\\\",function(){c(t)}):(this.__chart__=k,l(t),u(t),c(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},s(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:null},i(+e),s(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Wo:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(g=e&&[+e[0],+e[1]],t):g},t.size=function(e){return arguments.length?(A=e&&[+e[0],+e[1]],t):A},t.duration=function(e){return arguments.length?(L=+e,t):L},t.x=function(e){return arguments.length?(_=e,x=e.copy(),k={x:0,y:0,k:1},t):_},t.y=function(e){return arguments.length?(M=e,w=e.copy(),k={x:0,y:0,k:1},t):M},uo.rebind(t,O,\\\"on\\\")};var Yo,Xo,Wo=[0,1/0];uo.color=lt,lt.prototype.toString=function(){return this.rgb()+\\\"\\\"},uo.hsl=ut;var Zo=ut.prototype=new lt;Zo.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,this.l/t)},Zo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,t*this.l)},Zo.rgb=function(){return ct(this.h,this.s,this.l)},uo.hcl=ht;var Jo=ht.prototype=new lt;Jo.brighter=function(t){return new ht(this.h,this.c,Math.min(100,this.l+Ko*(arguments.length?t:1)))},Jo.darker=function(t){return new ht(this.h,this.c,Math.max(0,this.l-Ko*(arguments.length?t:1)))},Jo.rgb=function(){return ft(this.h,this.c,this.l).rgb()},uo.lab=dt;var Ko=18,Qo=.95047,$o=1,ts=1.08883,es=dt.prototype=new lt;es.brighter=function(t){return new dt(Math.min(100,this.l+Ko*(arguments.length?t:1)),this.a,this.b)},es.darker=function(t){return new dt(Math.max(0,this.l-Ko*(arguments.length?t:1)),this.a,this.b)},es.rgb=function(){return pt(this.l,this.a,this.b)},uo.rgb=bt;var rs=bt.prototype=new lt;rs.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new bt(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new bt(i,i,i)},rs.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new bt(t*this.r,t*this.g,t*this.b)},rs.hsl=function(){return kt(this.r,this.g,this.b)},rs.toString=function(){return\\\"#\\\"+wt(this.r)+wt(this.g)+wt(this.b)};var ns=uo.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});ns.forEach(function(t,e){ns.set(t,xt(e))}),uo.functor=Et,uo.xhr=Lt(x),uo.dsv=function(t,e){function r(t,r,a){arguments.length<3&&(a=r,r=null);var o=Ct(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'\\\"'+t.replace(/\\\\\\\"/g,'\\\"\\\"')+'\\\"':t}var s=new RegExp('[\\\"'+t+\\\"\\\\n]\\\"),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(\\\"d\\\",\\\"return {\\\"+t.map(function(t,e){return JSON.stringify(t)+\\\": d[\\\"+e+\\\"]\\\"}).join(\\\",\\\")+\\\"}\\\");n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(c>=u)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<u;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}c=r+2;var n=t.charCodeAt(r+1);return 13===n?(i=!0,10===t.charCodeAt(r+2)&&++c):10===n&&(i=!0),t.slice(e+1,r).replace(/\\\"\\\"/g,'\\\"')}for(;c<u;){var n=t.charCodeAt(c++),s=1;if(10===n)i=!0;else if(13===n)i=!0,10===t.charCodeAt(c)&&(++c,++s);else if(n!==l)continue;return t.slice(e,c-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],u=t.length,c=0,h=0;(n=r())!==o;){for(var f=[];n!==a&&n!==o;)f.push(n),n=r();e&&null==(f=e(f,h++))||s.push(f)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new b,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(\\\"\\\\n\\\")},r.formatRows=function(t){return t.map(a).join(\\\"\\\\n\\\")},r},uo.csv=uo.dsv(\\\",\\\",\\\"text/csv\\\"),uo.tsv=uo.dsv(\\\"\\\\t\\\",\\\"text/tab-separated-values\\\");var is,as,os,ss,ls=this[w(this,\\\"requestAnimationFrame\\\")]||function(t){setTimeout(t,17)};uo.timer=function(){Dt.apply(this,arguments)},uo.timer.flush=function(){Ot(),Rt()},uo.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var us=[\\\"y\\\",\\\"z\\\",\\\"a\\\",\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\xb5\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\",\\\"P\\\",\\\"E\\\",\\\"Z\\\",\\\"Y\\\"].map(jt);uo.formatPrefix=function(t,e){var r=0;return(t=+t)&&(t<0&&(t*=-1),e&&(t=uo.round(t,Ft(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),us[8+r/3]};var cs=/(?:([^{])?([<>=^]))?([+\\\\- ])?([$#])?(0)?(\\\\d+)?(,)?(\\\\.-?\\\\d+)?([a-z%])?/i,hs=uo.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(t,e){return(t=uo.round(t,Ft(t,e))).toFixed(Math.max(0,Math.min(20,Ft(t*(1+1e-15),e))))}}),fs=uo.time={},ds=Date;Ut.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(){ps.setUTCDate.apply(this._,arguments)},setDay:function(){ps.setUTCDay.apply(this._,arguments)},setFullYear:function(){ps.setUTCFullYear.apply(this._,arguments)},setHours:function(){ps.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ps.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ps.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ps.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ps.setUTCSeconds.apply(this._,arguments)},setTime:function(){ps.setTime.apply(this._,arguments)}};var ps=Date.prototype;fs.year=Vt(function(t){return t=fs.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),fs.years=fs.year.range,fs.years.utc=fs.year.utc.range,fs.day=Vt(function(t){var e=new ds(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}),fs.days=fs.day.range,fs.days.utc=fs.day.utc.range,fs.dayOfYear=function(t){var e=fs.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=fs[t]=Vt(function(t){return(t=fs.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=fs.year(t).getDay();return Math.floor((fs.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});fs[t+\\\"s\\\"]=r.range,fs[t+\\\"s\\\"].utc=r.utc.range,fs[t+\\\"OfYear\\\"]=function(t){var r=fs.year(t).getDay();return Math.floor((fs.dayOfYear(t)+(r+e)%7)/7)}}),fs.week=fs.sunday,fs.weeks=fs.sunday.range,fs.weeks.utc=fs.sunday.utc.range,fs.weekOfYear=fs.sundayOfYear;var ms={\\\"-\\\":\\\"\\\",_:\\\" \\\",0:\\\"0\\\"},vs=/^\\\\s*\\\\d+/,gs=/^%/;uo.locale=function(t){return{numberFormat:Nt(t),timeFormat:qt(t)}};var ys=uo.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\\\"]});uo.format=ys.numberFormat,uo.geo={},he.prototype={s:0,t:0,add:function(t){fe(t,this.t,bs),fe(bs.s,this.s,this),this.s?this.t+=bs.t:this.s=bs.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var bs=new he;uo.geo.stream=function(t,e){t&&xs.hasOwnProperty(t.type)?xs[t.type](t,e):de(t,e)};var xs={Feature:function(t,e){de(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)de(r[n].geometry,e)}},_s={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,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){pe(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)pe(r[n],e,0)},Polygon:function(t,e){me(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)me(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)de(r[n],e)}};uo.geo.area=function(t){return ws=0,uo.geo.stream(t,ks),ws};var ws,Ms=new he,ks={sphere:function(){ws+=4*No},point:M,lineStart:M,lineEnd:M,polygonStart:function(){Ms.reset(),ks.lineStart=ve},polygonEnd:function(){var t=2*Ms;ws+=t<0?4*No+t:t,ks.lineStart=ks.lineEnd=ks.point=M}};uo.geo.bounds=function(){function t(t,e){b.push(x=[c=t,f=t]),e<h&&(h=e),e>d&&(d=e)}function e(e,r){var n=ge([e*Ho,r*Ho]);if(g){var i=be(g,n),a=[i[1],-i[0],0],o=be(a,i);we(o),o=Me(o);var l=e-p,u=l>0?1:-1,m=o[0]*qo*u,v=xo(l)>180;if(v^(u*p<m&&m<u*e)){var y=o[1]*qo;y>d&&(d=y)}else if(m=(m+360)%360-180,v^(u*p<m&&m<u*e)){var y=-o[1]*qo;y<h&&(h=y)}else r<h&&(h=r),r>d&&(d=r);v?e<p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e):f>=c?(e<c&&(c=e),e>f&&(f=e)):e>p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e)}else t(e,r);g=n,p=e}function r(){_.point=e}function n(){x[0]=c,x[1]=f,_.point=t,g=null}function i(t,r){if(g){var n=t-p;y+=xo(n)>180?n+(n>0?360:-360):n}else m=t,v=r;ks.point(t,r),e(t,r)}function a(){ks.lineStart()}function o(){i(m,v),ks.lineEnd(),xo(y)>Fo&&(c=-(f=180)),x[0]=c,x[1]=f,g=null}function s(t,e){return(e-=t)<0?e+360:e}function l(t,e){return t[0]-e[0]}function u(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var c,h,f,d,p,m,v,g,y,b,x,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,ks.polygonStart()},polygonEnd:function(){ks.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,Ms<0?(c=-(f=180),h=-(d=90)):y>Fo?d=90:y<-Fo&&(h=-90),x[0]=c,x[1]=f}};return function(t){d=f=-(c=h=1/0),b=[],uo.geo.stream(t,_);var e=b.length;if(e){b.sort(l);for(var r,n=1,i=b[0],a=[i];n<e;++n)r=b[n],u(r[0],i)||u(r[1],i)?(s(i[0],r[1])>s(i[0],i[1])&&(i[1]=r[1]),s(r[0],i[1])>s(i[0],i[1])&&(i[0]=r[0])):a.push(i=r);for(var o,r,p=-1/0,e=a.length-1,n=0,i=a[e];n<=e;i=r,++n)r=a[n],(o=s(i[1],r[0]))>p&&(p=o,c=r[0],f=i[1])}return b=x=null,c===1/0||h===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,h],[f,d]]}}(),uo.geo.centroid=function(t){As=Ts=Ss=Es=Ls=Cs=zs=Is=Ds=Ps=Os=0,uo.geo.stream(t,Rs);var e=Ds,r=Ps,n=Os,i=e*e+r*r+n*n;return i<jo&&(e=Cs,r=zs,n=Is,Ts<Fo&&(e=Ss,r=Es,n=Ls),(i=e*e+r*r+n*n)<jo)?[NaN,NaN]:[Math.atan2(r,e)*qo,nt(n/Math.sqrt(i))*qo]};var As,Ts,Ss,Es,Ls,Cs,zs,Is,Ds,Ps,Os,Rs={sphere:M,point:Ae,lineStart:Se,lineEnd:Ee,polygonStart:function(){Rs.lineStart=Le},polygonEnd:function(){Rs.lineStart=Se}},Fs=Oe(ze,Ne,Ue,[-No,-No/2]),js=1e9;uo.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Ge(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(uo.geo.conicEqualArea=function(){return Ye(Xe)}).raw=Xe,uo.geo.albers=function(){return uo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},uo.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=uo.geo.albers(),o=uo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=uo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},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()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var u=a.scale(),c=+e[0],h=+e[1];return r=a.translate(e).clipExtent([[c-.455*u,h-.238*u],[c+.455*u,h+.238*u]]).stream(l).point,n=o.translate([c-.307*u,h+.201*u]).clipExtent([[c-.425*u+Fo,h+.12*u+Fo],[c-.214*u-Fo,h+.234*u-Fo]]).stream(l).point,i=s.translate([c-.205*u,h+.212*u]).clipExtent([[c-.214*u+Fo,h+.166*u+Fo],[c-.115*u-Fo,h+.234*u-Fo]]).stream(l).point,t},t.scale(1070)};var Ns,Bs,Us,Vs,Hs,qs,Gs={point:M,lineStart:M,lineEnd:M,polygonStart:function(){Bs=0,Gs.lineStart=We},polygonEnd:function(){Gs.lineStart=Gs.lineEnd=Gs.point=M,Ns+=xo(Bs/2)}},Ys={point:Ze,lineStart:M,lineEnd:M,polygonStart:M,polygonEnd:M},Xs={point:Qe,lineStart:$e,lineEnd:tr,polygonStart:function(){Xs.lineStart=er},polygonEnd:function(){Xs.point=Qe,Xs.lineStart=$e,Xs.lineEnd=tr}};uo.geo.path=function(){function t(t){return t&&(\\\"function\\\"==typeof s&&a.pointRadius(+s.apply(this,arguments)),o&&o.valid||(o=i(a)),uo.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Ns=0,uo.geo.stream(t,i(Gs)),Ns},t.centroid=function(t){return Ss=Es=Ls=Cs=zs=Is=Ds=Ps=Os=0,uo.geo.stream(t,i(Xs)),Os?[Ds/Os,Ps/Os]:Is?[Cs/Is,zs/Is]:Ls?[Ss/Ls,Es/Ls]:[NaN,NaN]},t.bounds=function(t){return Hs=qs=-(Us=Vs=1/0),uo.geo.stream(t,i(Ys)),[[Us,Vs],[Hs,qs]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||ir(t):x,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new Je:new rr(t),\\\"function\\\"!=typeof s&&a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=\\\"function\\\"==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(uo.geo.albersUsa()).context(null)},uo.geo.transform=function(t){return{stream:function(e){var r=new ar(e);for(var n in t)r[n]=t[n];return r}}},ar.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()}},uo.geo.projection=sr,uo.geo.projectionMutator=lr,(uo.geo.equirectangular=function(){return sr(cr)}).raw=cr.invert=cr,uo.geo.rotation=function(t){function e(e){return e=t(e[0]*Ho,e[1]*Ho),e[0]*=qo,e[1]*=qo,e}return t=fr(t[0]%360*Ho,t[1]*Ho,t.length>2?t[2]*Ho:0),e.invert=function(e){return e=t.invert(e[0]*Ho,e[1]*Ho),e[0]*=qo,e[1]*=qo,e},e},hr.invert=cr,uo.geo.circle=function(){function t(){var t=\\\"function\\\"==typeof n?n.apply(this,arguments):n,e=fr(-t[0]*Ho,-t[1]*Ho,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=qo,t[1]*=qo}}),{type:\\\"Polygon\\\",coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=vr((e=+n)*Ho,i*Ho),t):e},t.precision=function(n){return arguments.length?(r=vr(e*Ho,(i=+n)*Ho),t):i},t.angle(90)},uo.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ho,i=t[1]*Ho,a=e[1]*Ho,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),u=Math.cos(i),c=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((r=h*o)*r+(r=u*c-l*h*s)*r),l*c+u*h*s)},uo.geo.graticule=function(){function t(){return{type:\\\"MultiLineString\\\",coordinates:e()}}function e(){return uo.range(Math.ceil(a/v)*v,i,v).map(f).concat(uo.range(Math.ceil(u/g)*g,l,g).map(d)).concat(uo.range(Math.ceil(n/p)*p,r,p).filter(function(t){return xo(t%v)>Fo}).map(c)).concat(uo.range(Math.ceil(s/m)*m,o,m).filter(function(t){return xo(t%g)>Fo}).map(h))}var r,n,i,a,o,s,l,u,c,h,f,d,p=10,m=p,v=90,g=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:\\\"LineString\\\",coordinates:t}})},t.outline=function(){return{type:\\\"Polygon\\\",coordinates:[f(a).concat(d(l).slice(1),f(i).reverse().slice(1),d(u).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],u=+e[0][1],l=+e[1][1],a>i&&(e=a,a=i,i=e),u>l&&(e=u,u=l,l=e),t.precision(y)):[[a,u],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n>r&&(e=n,n=r,r=e),s>o&&(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(v=+e[0],g=+e[1],t):[v,g]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){\\n\",\n       \"return arguments.length?(y=+e,c=yr(s,o,90),h=br(n,r,y),f=yr(u,l,90),d=br(a,i,y),t):y},t.majorExtent([[-180,-90+Fo],[180,90-Fo]]).minorExtent([[-180,-80-Fo],[180,80+Fo]])},uo.geo.greatArc=function(){function t(){return{type:\\\"LineString\\\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=xr,i=_r;return t.distance=function(){return uo.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=\\\"function\\\"==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=\\\"function\\\"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},uo.geo.interpolate=function(t,e){return wr(t[0]*Ho,t[1]*Ho,e[0]*Ho,e[1]*Ho)},uo.geo.length=function(t){return Ws=0,uo.geo.stream(t,Zs),Ws};var Ws,Zs={sphere:M,point:M,lineStart:Mr,lineEnd:M,polygonStart:M,polygonEnd:M},Js=kr(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(uo.geo.azimuthalEqualArea=function(){return sr(Js)}).raw=Js;var Ks=kr(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},x);(uo.geo.azimuthalEquidistant=function(){return sr(Ks)}).raw=Ks,(uo.geo.conicConformal=function(){return Ye(Ar)}).raw=Ar,(uo.geo.conicEquidistant=function(){return Ye(Tr)}).raw=Tr;var Qs=kr(function(t){return 1/t},Math.atan);(uo.geo.gnomonic=function(){return sr(Qs)}).raw=Qs,Sr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Vo]},(uo.geo.mercator=function(){return Er(Sr)}).raw=Sr;var $s=kr(function(){return 1},Math.asin);(uo.geo.orthographic=function(){return sr($s)}).raw=$s;var tl=kr(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(uo.geo.stereographic=function(){return sr(tl)}).raw=tl,Lr.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Vo]},(uo.geo.transverseMercator=function(){var t=Er(Lr),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=Lr,uo.geom={},uo.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=Et(r),a=Et(n),o=t.length,s=[],l=[];for(e=0;e<o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(Dr),e=0;e<o;e++)l.push([s[e][0],-s[e][1]]);var u=Ir(s),c=Ir(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],d=[];for(e=u.length-1;e>=0;--e)d.push(t[s[u[e]][2]]);for(e=+h;e<c.length-f;++e)d.push(t[s[c[e]][2]]);return d}var r=Cr,n=zr;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},uo.geom.polygon=function(t){return Ao(t,el),t};var el=uo.geom.polygon.prototype=[];el.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},el.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},el.clip=function(t){for(var e,r,n,i,a,o,s=Rr(t),l=-1,u=this.length-Rr(this),c=this[u-1];++l<u;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)o=e[r],Pr(o,c,i)?(Pr(a,c,i)||t.push(Or(a,o,c,i)),t.push(o)):Pr(a,c,i)&&t.push(Or(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var rl,nl,il,al,ol,sl=[],ll=[];qr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)t=e[r].edge,t.b&&t.a||e.splice(r,1);return e.sort(Yr),e.length},rn.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}},nn.prototype={insert:function(t,e){var r,n,i;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=ln(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;)n=r.U,r===n.L?(i=n.R,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(on(this,r),t=r,r=t.U),r.C=!1,n.C=!0,sn(this,n))):(i=n.L,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(sn(this,r),t=r,r=t.U),r.C=!1,n.C=!0,on(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,i=t.U,a=t.L,o=t.R;if(r=a?o?ln(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,on(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,sn(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,on(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,sn(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,on(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,sn(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},uo.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return un(r(t),s).cells.forEach(function(r,s){var l=r.edges,u=r.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=n&&u.x<=a&&u.y>=i&&u.y<=o?[[n,o],[a,o],[a,i],[n,i]]:[]).point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Fo)*Fo,y:Math.round(o(t,e)/Fo)*Fo,i:e}})}var n=Cr,i=zr,a=n,o=i,s=ul;return t?e(t):(e.links=function(t){return un(r(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return un(r(t)).cells.forEach(function(r,n){for(var i,a=r.site,o=r.edges.sort(Yr),s=-1,l=o.length,u=o[l-1].edge,c=u.l===a?u.r:u.l;++s<l;)u,i=c,u=o[s].edge,c=u.l===a?u.r:u.l,n<i.i&&n<c.i&&hn(a,i,c)<0&&e.push([t[n],t[i.i],t[c.i]])}),e},e.x=function(t){return arguments.length?(a=Et(n=t),e):n},e.y=function(t){return arguments.length?(o=Et(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?ul:t,e):s===ul?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):s===ul?null:s&&s[1]},e)};var ul=[[-1e6,-1e6],[1e6,1e6]];uo.geom.delaunay=function(t){return uo.geom.voronoi().triangles(t)},uo.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(xo(l-r)+xo(c-n)<.01)u(t,e,r,n,i,a,o,s);else{var h=t.point;t.x=t.y=t.point=null,u(t,h,l,c,i,a,o,s),u(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else u(t,e,r,n,i,a,o,s)}function u(t,e,r,n,i,o,s,l){var u=.5*(i+s),c=.5*(o+l),h=r>=u,f=n>=c,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=pn()),h?i=u:s=u,f?o=c:l=c,a(t,e,r,n,i,o,s,l)}var c,h,f,d,p,m,v,g,y,b=Et(s),x=Et(l);if(null!=e)m=e,v=r,g=n,y=i;else if(g=y=-(m=v=1/0),h=[],f=[],p=t.length,o)for(d=0;d<p;++d)c=t[d],c.x<m&&(m=c.x),c.y<v&&(v=c.y),c.x>g&&(g=c.x),c.y>y&&(y=c.y),h.push(c.x),f.push(c.y);else for(d=0;d<p;++d){var _=+b(c=t[d],d),w=+x(c,d);_<m&&(m=_),w<v&&(v=w),_>g&&(g=_),w>y&&(y=w),h.push(_),f.push(w)}var M=g-m,k=y-v;M>k?y=v+M:g=m+k;var A=pn();if(A.add=function(t){a(A,t,+b(t,++d),+x(t,d),m,v,g,y)},A.visit=function(t){mn(t,A,m,v,g,y)},A.find=function(t){return vn(A,t[0],t[1],m,v,g,y)},d=-1,null==e){for(;++d<p;)a(A,t[d],h[d],f[d],m,v,g,y);--d}else t.forEach(A.add);return h=f=t=c=null,A}var o,s=Cr,l=zr;return(o=arguments.length)?(s=fn,l=dn,3===o&&(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},uo.interpolateRgb=gn,uo.interpolateObject=yn,uo.interpolateNumber=bn,uo.interpolateString=xn;var cl=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,hl=new RegExp(cl.source,\\\"g\\\");uo.interpolate=_n,uo.interpolators=[function(t,e){var r=typeof e;return(\\\"string\\\"===r?ns.has(e.toLowerCase())||/^(#|rgb\\\\(|hsl\\\\()/i.test(e)?gn:xn:e instanceof lt?gn:Array.isArray(e)?wn:\\\"object\\\"===r&&isNaN(e)?yn:bn)(t,e)}],uo.interpolateArray=wn;var fl=function(){return x},dl=uo.map({linear:fl,poly:Ln,quad:function(){return Tn},cubic:function(){return Sn},sin:function(){return Cn},exp:function(){return zn},circle:function(){return In},elastic:Dn,back:Pn,bounce:function(){return On}}),pl=uo.map({in:x,out:kn,\\\"in-out\\\":An,\\\"out-in\\\":function(t){return An(kn(t))}});uo.ease=function(t){var e=t.indexOf(\\\"-\\\"),r=e>=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):\\\"in\\\";return r=dl.get(r)||fl,n=pl.get(n)||x,Mn(n(r.apply(null,co.call(arguments,1))))},uo.interpolateHcl=Rn,uo.interpolateHsl=Fn,uo.interpolateLab=jn,uo.interpolateRound=Nn,uo.transform=function(t){var e=fo.createElementNS(uo.ns.prefix.svg,\\\"g\\\");return(uo.transform=function(t){if(null!=t){e.setAttribute(\\\"transform\\\",t);var r=e.transform.baseVal.consolidate()}return new Bn(r?r.matrix:ml)})(t)},Bn.prototype.toString=function(){return\\\"translate(\\\"+this.translate+\\\")rotate(\\\"+this.rotate+\\\")skewX(\\\"+this.skew+\\\")scale(\\\"+this.scale+\\\")\\\"};var ml={a:1,b:0,c:0,d:1,e:0,f:0};uo.interpolateTransform=Zn,uo.layout={},uo.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Qn(t[r]));return e}},uo.layout.chord=function(){function t(){var t,u,h,f,d,p={},m=[],v=uo.range(a),g=[];for(r=[],n=[],t=0,f=-1;++f<a;){for(u=0,d=-1;++d<a;)u+=i[f][d];m.push(u),g.push(uo.range(a)),t+=u}for(o&&v.sort(function(t,e){return o(m[t],m[e])}),s&&g.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Bo-c*a)/t,u=0,f=-1;++f<a;){for(h=u,d=-1;++d<a;){var y=v[f],b=g[y][d],x=i[y][b],_=u,w=u+=x*t;p[y+\\\"-\\\"+b]={index:y,subindex:b,startAngle:_,endAngle:w,value:x}}n[y]={index:y,startAngle:h,endAngle:u,value:m[y]},u+=c}for(f=-1;++f<a;)for(d=f-1;++d<a;){var M=p[f+\\\"-\\\"+d],k=p[d+\\\"-\\\"+f];(M.value||k.value)&&r.push(M.value<k.value?{source:k,target:M}:{source:M,target:k})}l&&e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,u={},c=0;return u.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,r=n=null,u):i},u.padding=function(t){return arguments.length?(c=t,r=n=null,u):c},u.sortGroups=function(t){return arguments.length?(o=t,r=n=null,u):o},u.sortSubgroups=function(t){return arguments.length?(s=t,r=null,u):s},u.sortChords=function(t){return arguments.length?(l=t,r&&e(),u):l},u.chords=function(){return r||t(),r},u.groups=function(){return n||t(),n},u},uo.layout.force=function(){function t(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/g<l){if(l<m){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<m){var u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}return!e.charge}}function e(t){t.px=uo.event.x,t.py=uo.event.y,l.resume()}var r,n,i,a,o,s,l={},u=uo.dispatch(\\\"start\\\",\\\"tick\\\",\\\"end\\\"),c=[1,1],h=.9,f=vl,d=gl,p=-30,m=yl,v=.1,g=.64,y=[],b=[];return l.tick=function(){if((i*=.99)<.005)return r=null,u.end({type:\\\"end\\\",alpha:i=0}),!0;var e,n,l,f,d,m,g,x,_,w=y.length,M=b.length;for(n=0;n<M;++n)l=b[n],f=l.source,d=l.target,x=d.x-f.x,_=d.y-f.y,(m=x*x+_*_)&&(m=i*o[n]*((m=Math.sqrt(m))-a[n])/m,x*=m,_*=m,d.x-=x*(g=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=_*g,f.x+=x*(g=1-g),f.y+=_*g);if((g=i*v)&&(x=c[0]/2,_=c[1]/2,n=-1,g))for(;++n<w;)l=y[n],l.x+=(x-l.x)*g,l.y+=(_-l.y)*g;if(p)for(ai(e=uo.geom.quadtree(y),i,s),n=-1;++n<w;)(l=y[n]).fixed||e.visit(t(l));for(n=-1;++n<w;)l=y[n],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*h,l.y-=(l.py-(l.py=l.y))*h);u.tick({type:\\\"tick\\\",alpha:i})},l.nodes=function(t){return arguments.length?(y=t,l):y},l.links=function(t){return arguments.length?(b=t,l):b},l.size=function(t){return arguments.length?(c=t,l):c},l.linkDistance=function(t){return arguments.length?(f=\\\"function\\\"==typeof t?t:+t,l):f},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=\\\"function\\\"==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(h=+t,l):h},l.charge=function(t){return arguments.length?(p=\\\"function\\\"==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(m=t*t,l):Math.sqrt(m)},l.gravity=function(t){return arguments.length?(v=+t,l):v},l.theta=function(t){return arguments.length?(g=t*t,l):Math.sqrt(g)},l.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(r.c=null,r.t=NaN,r=null,u.end({type:\\\"end\\\",alpha:i=0})):t>0&&(u.start({type:\\\"start\\\",alpha:i=t}),r=Dt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l<i;++l)r[l]=[];for(l=0;l<u;++l){var a=b[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,c=s.length;++l<c;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=y.length,u=b.length,h=c[0],m=c[1];for(e=0;e<i;++e)(n=y[e]).index=e,n.weight=0;for(e=0;e<u;++e)n=b[e],\\\"number\\\"==typeof n.source&&(n.source=y[n.source]),\\\"number\\\"==typeof n.target&&(n.target=y[n.target]),++n.source.weight,++n.target.weight;for(e=0;e<i;++e)n=y[e],isNaN(n.x)&&(n.x=t(\\\"x\\\",h)),isNaN(n.y)&&(n.y=t(\\\"y\\\",m)),isNaN(n.px)&&(n.px=n.x),isNaN(n.py)&&(n.py=n.y);if(a=[],\\\"function\\\"==typeof f)for(e=0;e<u;++e)a[e]=+f.call(this,b[e],e);else for(e=0;e<u;++e)a[e]=f;if(o=[],\\\"function\\\"==typeof d)for(e=0;e<u;++e)o[e]=+d.call(this,b[e],e);else for(e=0;e<u;++e)o[e]=d;if(s=[],\\\"function\\\"==typeof p)for(e=0;e<i;++e)s[e]=+p.call(this,y[e],e);else for(e=0;e<i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){if(n||(n=uo.behavior.drag().origin(x).on(\\\"dragstart.force\\\",ei).on(\\\"drag.force\\\",e).on(\\\"dragend.force\\\",ri)),!arguments.length)return n;this.on(\\\"mouseover.force\\\",ni).on(\\\"mouseout.force\\\",ii).call(n)},uo.rebind(l,u,\\\"on\\\")};var vl=20,gl=1,yl=1/0;uo.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=r.call(t,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;n&&(a.value=0),a.children=u}else n&&(a.value=+n.call(t,a,a.depth)||0),delete a.children;return li(i,function(t){var r,i;e&&(r=t.children)&&r.sort(e),n&&(i=t.parent)&&(i.value+=t.value)}),s}var e=hi,r=ui,n=ci;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&&(si(e,function(t){t.children&&(t.value=0)}),li(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&&(r.value+=e.value)})),e},t},uo.layout.partition=function(){function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++u<o;)t(s=a[u],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=uo.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},oi(r,n)},uo.layout.pie=function(){function t(o){var s,l=o.length,u=o.map(function(r,n){return+e.call(t,r,n)}),c=+(\\\"function\\\"==typeof n?n.apply(this,arguments):n),h=(\\\"function\\\"==typeof i?i.apply(this,arguments):i)-c,f=Math.min(Math.abs(h)/l,+(\\\"function\\\"==typeof a?a.apply(this,arguments):a)),d=f*(h<0?-1:1),p=uo.sum(u),m=p?(h-l*d)/p:0,v=uo.range(l),g=[];return null!=r&&v.sort(r===bl?function(t,e){return u[e]-u[t]}:function(t,e){return r(o[t],o[e])}),v.forEach(function(t){g[t]={data:o[t],value:s=u[t],startAngle:c,endAngle:c+=s*m+d,padAngle:f}}),g}var e=Number,r=bl,n=0,i=Bo,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var bl={};uo.layout.stack=function(){function t(s,l){if(!(f=s.length))return s;var u=s.map(function(r,n){return e.call(t,r,n)}),c=u.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),h=r.call(t,c,l);u=uo.permute(u,h),c=uo.permute(c,h);var f,d,p,m,v=n.call(t,c,l),g=u[0].length;for(p=0;p<g;++p)for(i.call(t,u[0][p],m=v[p],c[0][p][1]),d=1;d<f;++d)i.call(t,u[d][p],m+=c[d-1][p][1],c[d][p][1]);return s}var e=x,r=vi,n=gi,i=mi,a=di,o=pi;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=\\\"function\\\"==typeof e?e:xl.get(e)||vi,t):r},t.offset=function(e){return arguments.length?(n=\\\"function\\\"==typeof e?e:_l.get(e)||gi,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var xl=uo.map({\\\"inside-out\\\":function(t){var e,r,n=t.length,i=t.map(yi),a=t.map(bi),o=uo.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,u=[],c=[];for(e=0;e<n;++e)r=o[e],s<l?(s+=a[r],u.push(r)):(l+=a[r],c.push(r));return c.reverse().concat(u)},reverse:function(t){return uo.range(t.length).reverse()},default:vi}),_l=uo.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,u,c=t.length,h=t[0],f=h.length,d=[];for(d[0]=l=u=0,r=1;r<f;++r){for(e=0,i=0;e<c;++e)i+=t[e][r][1];for(e=0,a=0,s=h[r][0]-h[r-1][0];e<c;++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;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)d[r]-=u;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:gi});uo.layout.histogram=function(){function t(t,a){for(var o,s,l=[],u=t.map(r,this),c=n.call(this,u,a),h=i.call(this,c,u,a),a=-1,f=u.length,d=h.length-1,p=e?1:1/f;++a<d;)o=l[a]=[],o.dx=h[a+1]-(o.x=h[a]),o.y=0;if(d>0)for(a=-1;++a<f;)(s=u[a])>=c[0]&&s<=c[1]&&(o=l[uo.bisect(h,s,1,d)-1],o.y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Mi,i=_i;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=Et(e),t):n},t.bins=function(e){return arguments.length?(i=\\\"number\\\"==typeof e?function(t){return wi(t,e)}:Et(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},uo.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],u=i[1],c=null==e?Math.sqrt:\\\"function\\\"==typeof e?e:function(){return e};if(s.x=s.y=0,li(s,function(t){t.r=+c(t.value)}),li(s,Ei),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;li(s,function(t){t.r+=h}),li(s,Ei),li(s,function(t){t.r-=h})}return zi(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}var e,r=uo.layout.hierarchy().sort(ki),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||\\\"function\\\"==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},oi(t,r)},uo.layout.tree=function(){function t(t,i){var c=o.call(this,t,i),h=c[0],f=e(h);if(li(f,r),f.parent.m=-f.z,si(f,n),u)si(h,a);else{var d=h,p=h,m=h;si(h,function(t){t.x<d.x&&(d=t),t.x>p.x&&(p=t),t.depth>m.depth&&(m=t)});var v=s(d,p)/2-d.x,g=l[0]/(p.x+s(p,d)/2+v),y=l[1]/(m.depth||1);si(h,function(t){t.x=(t.x+v)*g,t.y=t.depth*y})}return c}function e(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}function r(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){Fi(t);var a=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+s(t._,n._),t.m=t.z-a):t.z=a}else n&&(t.z=n.z+s(t._,n._));t.parent.A=i(t,n,t.parent.A||r[0])}function n(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,r){if(e){for(var n,i=t,a=t,o=e,l=i.parent.children[0],u=i.m,c=a.m,h=o.m,f=l.m;o=Oi(o),i=Pi(i),o&&i;)l=Pi(l),a=Oi(a),a.a=t,n=o.z+h-i.z-u+s(o._,i._),n>0&&(Ri(ji(o,t,r),t,n),u+=n,c+=n),h+=o.m,u+=i.m,f+=l.m,c+=a.m;o&&!Oi(a)&&(a.t=o,a.m+=h-c),i&&!Pi(l)&&(l.t=i,l.m+=u-f,r=t)}return r}function a(t){t.x*=l[0],t.y=t.depth*l[1]}var o=uo.layout.hierarchy().sort(null).value(null),s=Di,l=[1,1],u=null;return t.separation=function(e){return arguments.length?(s=e,t):s},t.size=function(e){return arguments.length?(u=null==(l=e)?a:null,t):u?null:l},t.nodeSize=function(e){return arguments.length?(u=null==(l=e)?null:a,t):u?l:null},oi(t,o)},uo.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],u=0;li(l,function(t){var e=t.children;e&&e.length?(t.x=Bi(e),t.y=Ni(e)):(t.x=o?u+=r(t,o):0,t.y=0,o=t)});var c=Ui(l),h=Vi(l),f=c.x-r(c,h)/2,d=h.x+r(h,c)/2;return li(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-f)/(d-f)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=uo.layout.hierarchy().sort(null).value(null),r=Di,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},oi(t,e)},uo.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function e(r){var a=r.children;if(a&&a.length){var o,s,l,u=h(r),c=[],f=a.slice(),p=1/0,m=\\\"slice\\\"===d?u.dx:\\\"dice\\\"===d?u.dy:\\\"slice-dice\\\"===d?1&r.depth?u.dy:u.dx:Math.min(u.dx,u.dy);for(t(f,u.dx*u.dy/r.value),c.area=0;(l=f.length)>0;)c.push(o=f[l-1]),c.area+=o.area,\\\"squarify\\\"!==d||(s=n(c,m))<=p?(f.pop(),p=s):(c.area-=c.pop().area,i(c,m,u,!1),m=Math.min(u.dx,u.dy),c.length=c.area=0,p=1/0);c.length&&(i(c,m,u,!0),c.length=c.area=0),a.forEach(e)}}function r(e){var n=e.children;if(n&&n.length){var a,o=h(e),s=n.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&&(i(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);n.forEach(r)}}function n(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return n*=n,e*=e,n?Math.max(e*i*p/n,n/(e*a*p)):1/0}function i(t,e,r,n){var i,a=-1,o=t.length,s=r.x,u=r.y,c=e?l(t.area/e):0;if(e==r.dx){for((n||c>r.dy)&&(c=r.dy);++a<o;)i=t[a],i.x=s,i.y=u,i.dy=c,s+=i.dx=Math.min(r.x+r.dx-s,c?l(i.area/c):0);i.z=!0,i.dx+=r.x+r.dx-s,r.y+=c,r.dy-=c}else{for((n||c>r.dx)&&(c=r.dx);++a<o;)i=t[a],i.x=s,i.y=u,i.dx=c,u+=i.dy=Math.min(r.y+r.dy-u,c?l(i.area/c):0);i.z=!1,i.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function a(n){var i=o||s(n),a=i[0];return a.x=a.y=0,a.value?(a.dx=u[0],a.dy=u[1]):a.dx=a.dy=0,o&&s.revalue(a),t([a],a.dx*a.dy/a.value),(o?r:e)(a),f&&(o=i),i}var o,s=uo.layout.hierarchy(),l=Math.round,u=[1,1],c=null,h=Hi,f=!1,d=\\\"squarify\\\",p=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(u=t,a):u},a.padding=function(t){function e(e){var r=t.call(a,e,e.depth);return null==r?Hi(e):qi(e,\\\"number\\\"==typeof r?[r,r,r,r]:r)}function r(e){return qi(e,t)}if(!arguments.length)return c;var n;return h=null==(c=t)?Hi:\\\"function\\\"==(n=typeof t)?e:\\\"number\\\"===n?(t=[t,t,t,t],r):r,a},a.round=function(t){return arguments.length?(l=t?Math.round:Number,a):l!=Number},a.sticky=function(t){return arguments.length?(f=t,o=null,a):f},a.ratio=function(t){return arguments.length?(p=t,a):p},a.mode=function(t){return arguments.length?(d=t+\\\"\\\",a):d},oi(a,s)},uo.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{r=2*Math.random()-1,n=2*Math.random()-1,i=r*r+n*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=uo.random.normal.apply(uo,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=uo.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},uo.scale={};var wl={floor:x,ceil:x};uo.scale.linear=function(){return Ki([0,1],[0,1],_n,!1)};var Ml={s:1,g:1,p:1,r:1,e:1};uo.scale.log=function(){return aa(uo.scale.linear().domain([0,1]),10,!0,[1,10])};var kl=uo.format(\\\".0e\\\"),Al={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};uo.scale.pow=function(){return oa(uo.scale.linear(),1,[0,1])},uo.scale.sqrt=function(){return uo.scale.pow().exponent(.5)},uo.scale.ordinal=function(){return la([],{t:\\\"range\\\",a:[[]]})},uo.scale.category10=function(){return uo.scale.ordinal().range(Tl)},uo.scale.category20=function(){return uo.scale.ordinal().range(Sl)},uo.scale.category20b=function(){return uo.scale.ordinal().range(El)},uo.scale.category20c=function(){return uo.scale.ordinal().range(Ll)};var Tl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(_t),Sl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(_t),El=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(_t),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(_t);uo.scale.quantile=function(){return ua([],[])},uo.scale.quantize=function(){return ca(0,1,[0,1])},uo.scale.threshold=function(){return ha([.5],[0,1])},uo.scale.identity=function(){return fa([0,1])},uo.svg={},uo.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),u=Math.max(0,+n.apply(this,arguments)),c=o.apply(this,arguments)-Vo,h=s.apply(this,arguments)-Vo,f=Math.abs(h-c),d=c>h?0:1;if(u<t&&(p=u,u=t,t=p),f>=Uo)return e(u,d)+(t?e(t,1-d):\\\"\\\")+\\\"Z\\\";var p,m,v,g,y,b,x,_,w,M,k,A,T=0,S=0,E=[];if((g=(+l.apply(this,arguments)||0)/2)&&(v=a===Cl?Math.sqrt(t*t+u*u):+a.apply(this,arguments),d||(S*=-1),u&&(S=nt(v/u*Math.sin(g))),t&&(T=nt(v/t*Math.sin(g)))),u){y=u*Math.cos(c+S),b=u*Math.sin(c+S),x=u*Math.cos(h-S),_=u*Math.sin(h-S);var L=Math.abs(h-c-2*S)<=No?0:1;if(S&&ba(y,b,x,_)===d^L){var C=(c+h)/2;y=u*Math.cos(C),b=u*Math.sin(C),x=_=null}}else y=b=0;if(t){w=t*Math.cos(h-T),M=t*Math.sin(h-T),k=t*Math.cos(c+T),A=t*Math.sin(c+T);var z=Math.abs(c-h+2*T)<=No?0:1;if(T&&ba(w,M,k,A)===1-d^z){var I=(c+h)/2;w=t*Math.cos(I),M=t*Math.sin(I),k=A=null}}else w=M=0;if(f>Fo&&(p=Math.min(Math.abs(u-t)/2,+i.apply(this,arguments)))>.001){m=t<u^d?0:1;var D=p,P=p;if(f<No){var O=null==k?[w,M]:null==x?[y,b]:Or([y,b],[k,A],[x,_],[w,M]),R=y-O[0],F=b-O[1],j=x-O[0],N=_-O[1],B=1/Math.sin(Math.acos((R*j+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(j*j+N*N)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);P=Math.min(p,(t-U)/(B-1)),D=Math.min(p,(u-U)/(B+1))}if(null!=x){var V=xa(null==k?[w,M]:[k,A],[y,b],u,D,d),H=xa([x,_],[w,M],u,D,d);p===D?E.push(\\\"M\\\",V[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",m,\\\" \\\",V[1],\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",1-d^ba(V[1][0],V[1][1],H[1][0],H[1][1]),\\\",\\\",d,\\\" \\\",H[1],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",m,\\\" \\\",H[0]):E.push(\\\"M\\\",V[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 1,\\\",m,\\\" \\\",H[0])}else E.push(\\\"M\\\",y,\\\",\\\",b);if(null!=k){var q=xa([y,b],[k,A],t,-P,d),G=xa([w,M],null==x?[y,b]:[x,_],t,-P,d);p===P?E.push(\\\"L\\\",G[0],\\\"A\\\",P,\\\",\\\",P,\\\" 0 0,\\\",m,\\\" \\\",G[1],\\\"A\\\",t,\\\",\\\",t,\\\" 0 \\\",d^ba(G[1][0],G[1][1],q[1][0],q[1][1]),\\\",\\\",1-d,\\\" \\\",q[1],\\\"A\\\",P,\\\",\\\",P,\\\" 0 0,\\\",m,\\\" \\\",q[0]):E.push(\\\"L\\\",G[0],\\\"A\\\",P,\\\",\\\",P,\\\" 0 0,\\\",m,\\\" \\\",q[0])}else E.push(\\\"L\\\",w,\\\",\\\",M)}else E.push(\\\"M\\\",y,\\\",\\\",b),null!=x&&E.push(\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",L,\\\",\\\",d,\\\" \\\",x,\\\",\\\",_),E.push(\\\"L\\\",w,\\\",\\\",M),null!=k&&E.push(\\\"A\\\",t,\\\",\\\",t,\\\" 0 \\\",z,\\\",\\\",1-d,\\\" \\\",k,\\\",\\\",A);return E.push(\\\"Z\\\"),E.join(\\\"\\\")}function e(t,e){return\\\"M0,\\\"+t+\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 1,\\\"+e+\\\" 0,\\\"+-t+\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 1,\\\"+e+\\\" 0,\\\"+t}var r=pa,n=ma,i=da,a=Cl,o=va,s=ga,l=ya;return t.innerRadius=function(e){return arguments.length?(r=Et(e),t):r},t.outerRadius=function(e){return arguments.length?(n=Et(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=Et(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Cl?Cl:Et(e),t):a},t.startAngle=function(e){return arguments.length?(o=Et(e),t):o},t.endAngle=function(e){return arguments.length?(s=Et(e),t):s},t.padAngle=function(e){return arguments.length?(l=Et(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Vo;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Cl=\\\"auto\\\";uo.svg.line=function(){return _a(x)};var zl=uo.map({linear:wa,\\\"linear-closed\\\":Ma,step:ka,\\\"step-before\\\":Aa,\\\"step-after\\\":Ta,basis:Ia,\\\"basis-open\\\":Da,\\\"basis-closed\\\":Pa,bundle:Oa,cardinal:La,\\\"cardinal-open\\\":Sa,\\\"cardinal-closed\\\":Ea,monotone:Ua});zl.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Il=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];uo.svg.line.radial=function(){var t=_a(Va);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Aa.reverse=Ta,Ta.reverse=Aa,uo.svg.area=function(){return Ha(x)},uo.svg.area.radial=function(){var t=Ha(Va);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},uo.svg.chord=function(){function t(t,s){var l=e(this,a,t,s),u=e(this,o,t,s);return\\\"M\\\"+l.p0+n(l.r,l.p1,l.a1-l.a0)+(r(l,u)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,u.r,u.p0)+n(u.r,u.p1,u.a1-u.a0)+i(u.r,u.p1,l.r,l.p0))+\\\"Z\\\"}function e(t,e,r,n){var i=e.call(t,r,n),a=s.call(t,i,n),o=l.call(t,i,n)-Vo,c=u.call(t,i,n)-Vo;return{r:a,a0:o,a1:c,p0:[a*Math.cos(o),a*Math.sin(o)],p1:[a*Math.cos(c),a*Math.sin(c)]}}function r(t,e){return t.a0==e.a0&&t.a1==e.a1}function n(t,e,r){return\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 \\\"+ +(r>No)+\\\",1 \\\"+e}function i(t,e,r,n){return\\\"Q 0,0 \\\"+n}var a=xr,o=_r,s=qa,l=va,u=ga;return t.radius=function(e){return arguments.length?(s=Et(e),t):s},t.source=function(e){return arguments.length?(a=Et(e),t):a},t.target=function(e){return arguments.length?(o=Et(e),t):o},t.startAngle=function(e){return arguments.length?(l=Et(e),t):l},t.endAngle=function(e){return arguments.length?(u=Et(e),t):u},t},uo.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return l=l.map(n),\\\"M\\\"+l[0]+\\\"C\\\"+l[1]+\\\" \\\"+l[2]+\\\" \\\"+l[3]}var e=xr,r=_r,n=Ga;return t.source=function(r){return arguments.length?(e=Et(r),t):e},t.target=function(e){return arguments.length?(r=Et(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},uo.svg.diagonal.radial=function(){var t=uo.svg.diagonal(),e=Ga,r=t.projection;return t.projection=function(t){return arguments.length?r(Ya(e=t)):e},t},uo.svg.symbol=function(){function t(t,n){return(Ol.get(e.call(this,t,n))||Za)(r.call(this,t,n))}var e=Wa,r=Xa;return t.type=function(r){return arguments.length?(e=Et(r),t):e},t.size=function(e){return arguments.length?(r=Et(e),t):r},t};var Ol=uo.map({circle:Za,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*Fl)),r=e*Fl;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/Rl),r=e*Rl/2;return\\\"M0,\\\"+r+\\\"L\\\"+e+\\\",\\\"+-r+\\\" \\\"+-e+\\\",\\\"+-r+\\\"Z\\\"},\\\"triangle-up\\\":function(t){var e=Math.sqrt(t/Rl),r=e*Rl/2;return\\\"M0,\\\"+-r+\\\"L\\\"+e+\\\",\\\"+r+\\\" \\\"+-e+\\\",\\\"+r+\\\"Z\\\"}});uo.svg.symbolTypes=Ol.keys();var Rl=Math.sqrt(3),Fl=Math.tan(30*Ho);Lo.transition=function(t){for(var e,r,n=jl||++Vl,i=to(t),a=[],o=Nl||{time:Date.now(),ease:En,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(r=u[c])&&eo(r,c,i,n,o),e.push(r)}return Ka(a,i,n)},Lo.interrupt=function(t){return this.each(null==t?Bl:Ja(to(t)))};var jl,Nl,Bl=Ja(to()),Ul=[],Vl=0;Ul.call=Lo.call,Ul.empty=Lo.empty,Ul.node=Lo.node,Ul.size=Lo.size,uo.transition=function(t,e){return t&&t.transition?jl?t.transition(e):t:uo.selection().transition(t)},uo.transition.prototype=Ul,Ul.select=function(t){\\n\",\n       \"var e,r,n,i=this.id,a=this.namespace,o=[];t=C(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(n=u[c])&&(r=t.call(n,n.__data__,c,s))?(\\\"__data__\\\"in n&&(r.__data__=n.__data__),eo(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return Ka(o,a,i)},Ul.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=z(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,d=h.length;++f<d;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var p=-1,m=r.length;++p<m;)(i=r[p])&&eo(i,p,s,o,a),e.push(i)}return Ka(l,s,o)},Ul.filter=function(t){var e,r,n,i=[];\\\"function\\\"!=typeof t&&(t=H(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]);for(var r=this[a],s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return Ka(i,this.namespace,this.id)},Ul.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):G(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},Ul.attr=function(t,e){function r(){this.removeAttribute(s)}function n(){this.removeAttributeNS(s.space,s.local)}function i(t){return null==t?r:(t+=\\\"\\\",function(){var e,r=this.getAttribute(s);return r!==t&&(e=o(r,t),function(t){this.setAttribute(s,e(t))})})}function a(t){return null==t?n:(t+=\\\"\\\",function(){var e,r=this.getAttributeNS(s.space,s.local);return r!==t&&(e=o(r,t),function(t){this.setAttributeNS(s.space,s.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var o=\\\"transform\\\"==t?Zn:_n,s=uo.ns.qualify(t);return Qa(this,\\\"attr.\\\"+t,e,s.local?a:i)},Ul.attrTween=function(t,e){function r(t,r){var n=e.call(this,t,r,this.getAttribute(i));return n&&function(t){this.setAttribute(i,n(t))}}function n(t,r){var n=e.call(this,t,r,this.getAttributeNS(i.space,i.local));return n&&function(t){this.setAttributeNS(i.space,i.local,n(t))}}var i=uo.ns.qualify(t);return this.tween(\\\"attr.\\\"+t,i.local?n:r)},Ul.style=function(t,e,r){function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+=\\\"\\\",function(){var i,a=n(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(i=_n(a,e),function(e){this.style.setProperty(t,i(e),r)})})}var o=arguments.length;if(o<3){if(\\\"string\\\"!=typeof t){o<2&&(e=\\\"\\\");for(r in t)this.style(r,t[r],e);return this}r=\\\"\\\"}return Qa(this,\\\"style.\\\"+t,e,a)},Ul.styleTween=function(t,e,r){function i(i,a){var o=e.call(this,i,a,n(this).getComputedStyle(this,null).getPropertyValue(t));return o&&function(e){this.style.setProperty(t,o(e),r)}}return arguments.length<3&&(r=\\\"\\\"),this.tween(\\\"style.\\\"+t,i)},Ul.text=function(t){return Qa(this,\\\"text\\\",t,$a)},Ul.remove=function(){var t=this.namespace;return this.each(\\\"end.transition\\\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Ul.ease=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].ease:(\\\"function\\\"!=typeof t&&(t=uo.ease.apply(uo,arguments)),G(this,function(n){n[r][e].ease=t}))},Ul.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:G(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},Ul.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:G(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},Ul.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length<2){var i=Nl,a=jl;try{jl=r,G(this,function(e,i,a){Nl=e[n][r],t.call(e,e.__data__,i,a)})}finally{Nl=i,jl=a}}else G(this,function(i){var a=i[n][r];(a.event||(a.event=uo.dispatch(\\\"start\\\",\\\"end\\\",\\\"interrupt\\\"))).on(t,e)});return this},Ul.transition=function(){for(var t,e,r,n,i=this.id,a=++Vl,o=this.namespace,s=[],l=0,u=this.length;l<u;l++){s.push(t=[]);for(var e=this[l],c=0,h=e.length;c<h;c++)(r=e[c])&&(n=r[o][i],eo(r,c,o,a,{time:n.time,ease:n.ease,delay:n.delay+n.duration,duration:n.duration})),t.push(r)}return Ka(s,o,a)},uo.svg.axis=function(){function t(t){t.each(function(){var t,u=uo.select(this),c=this.__chart__||r,h=this.__chart__=r.copy(),f=null==l?h.ticks?h.ticks.apply(h,s):h.domain():l,d=null==e?h.tickFormat?h.tickFormat.apply(h,s):x:e,p=u.selectAll(\\\".tick\\\").data(f,h),m=p.enter().insert(\\\"g\\\",\\\".domain\\\").attr(\\\"class\\\",\\\"tick\\\").style(\\\"opacity\\\",Fo),v=uo.transition(p.exit()).style(\\\"opacity\\\",Fo).remove(),g=uo.transition(p.order()).style(\\\"opacity\\\",1),y=Math.max(i,0)+o,b=Yi(h),_=u.selectAll(\\\".domain\\\").data([0]),w=(_.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"domain\\\"),uo.transition(_));m.append(\\\"line\\\"),m.append(\\\"text\\\");var M,k,A,T,S=m.select(\\\"line\\\"),E=g.select(\\\"line\\\"),L=p.select(\\\"text\\\").text(d),C=m.select(\\\"text\\\"),z=g.select(\\\"text\\\"),I=\\\"top\\\"===n||\\\"left\\\"===n?-1:1;if(\\\"bottom\\\"===n||\\\"top\\\"===n?(t=ro,M=\\\"x\\\",A=\\\"y\\\",k=\\\"x2\\\",T=\\\"y2\\\",L.attr(\\\"dy\\\",I<0?\\\"0em\\\":\\\".71em\\\").style(\\\"text-anchor\\\",\\\"middle\\\"),w.attr(\\\"d\\\",\\\"M\\\"+b[0]+\\\",\\\"+I*a+\\\"V0H\\\"+b[1]+\\\"V\\\"+I*a)):(t=no,M=\\\"y\\\",A=\\\"x\\\",k=\\\"y2\\\",T=\\\"x2\\\",L.attr(\\\"dy\\\",\\\".32em\\\").style(\\\"text-anchor\\\",I<0?\\\"end\\\":\\\"start\\\"),w.attr(\\\"d\\\",\\\"M\\\"+I*a+\\\",\\\"+b[0]+\\\"H0V\\\"+b[1]+\\\"H\\\"+I*a)),S.attr(T,I*i),C.attr(A,I*y),E.attr(k,0).attr(T,I*i),z.attr(M,0).attr(A,I*y),h.rangeBand){var D=h,P=D.rangeBand()/2;c=h=function(t){return D(t)+P}}else c.rangeBand?c=h:v.call(t,h,c);m.call(t,c,h),g.call(t,h,h)})}var e,r=uo.scale.linear(),n=Hl,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in ql?e+\\\"\\\":Hl,t):n},t.ticks=function(){return arguments.length?(s=ho(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var Hl=\\\"bottom\\\",ql={top:1,right:1,bottom:1,left:1};uo.svg.brush=function(){function t(n){n.each(function(){var n=uo.select(this).style(\\\"pointer-events\\\",\\\"all\\\").style(\\\"-webkit-tap-highlight-color\\\",\\\"rgba(0,0,0,0)\\\").on(\\\"mousedown.brush\\\",a).on(\\\"touchstart.brush\\\",a),o=n.selectAll(\\\".background\\\").data([0]);o.enter().append(\\\"rect\\\").attr(\\\"class\\\",\\\"background\\\").style(\\\"visibility\\\",\\\"hidden\\\").style(\\\"cursor\\\",\\\"crosshair\\\"),n.selectAll(\\\".extent\\\").data([0]).enter().append(\\\"rect\\\").attr(\\\"class\\\",\\\"extent\\\").style(\\\"cursor\\\",\\\"move\\\");var s=n.selectAll(\\\".resize\\\").data(m,x);s.exit().remove(),s.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"resize \\\"+t}).style(\\\"cursor\\\",function(t){return Gl[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\\\"),s.style(\\\"display\\\",t.empty()?\\\"none\\\":null);var l,h=uo.transition(n),f=uo.transition(o);u&&(l=Yi(u),f.attr(\\\"x\\\",l[0]).attr(\\\"width\\\",l[1]-l[0]),r(h)),c&&(l=Yi(c),f.attr(\\\"y\\\",l[0]).attr(\\\"height\\\",l[1]-l[0]),i(h)),e(h)})}function e(t){t.selectAll(\\\".resize\\\").attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+h[+/e$/.test(t)]+\\\",\\\"+f[+/^s/.test(t)]+\\\")\\\"})}function r(t){t.select(\\\".extent\\\").attr(\\\"x\\\",h[0]),t.selectAll(\\\".extent,.n>rect,.s>rect\\\").attr(\\\"width\\\",h[1]-h[0])}function i(t){t.select(\\\".extent\\\").attr(\\\"y\\\",f[0]),t.selectAll(\\\".extent,.e>rect,.w>rect\\\").attr(\\\"height\\\",f[1]-f[0])}function a(){function a(){32==uo.event.keyCode&&(L||(b=null,z[0]-=h[1],z[1]-=f[1],L=2),T())}function m(){32==uo.event.keyCode&&2==L&&(z[0]+=h[1],z[1]+=f[1],L=0,T())}function v(){var t=uo.mouse(_),n=!1;x&&(t[0]+=x[0],t[1]+=x[1]),L||(uo.event.altKey?(b||(b=[(h[0]+h[1])/2,(f[0]+f[1])/2]),z[0]=h[+(t[0]<b[0])],z[1]=f[+(t[1]<b[1])]):b=null),S&&g(t,u,0)&&(r(k),n=!0),E&&g(t,c,1)&&(i(k),n=!0),n&&(e(k),M({type:\\\"brush\\\",mode:L?\\\"move\\\":\\\"resize\\\"}))}function g(t,e,r){var n,i,a=Yi(e),l=a[0],u=a[1],c=z[r],m=r?f:h,v=m[1]-m[0];if(L&&(l-=c,u-=v+c),n=(r?p:d)?Math.max(l,Math.min(u,t[r])):t[r],L?i=(n+=c)+v:(b&&(c=Math.max(l,Math.min(u,2*b[r]-n))),c<n?(i=n,n=c):i=c),m[0]!=n||m[1]!=i)return r?s=null:o=null,m[0]=n,m[1]=i,!0}function y(){v(),k.style(\\\"pointer-events\\\",\\\"all\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",t.empty()?\\\"none\\\":null),uo.select(\\\"body\\\").style(\\\"cursor\\\",null),I.on(\\\"mousemove.brush\\\",null).on(\\\"mouseup.brush\\\",null).on(\\\"touchmove.brush\\\",null).on(\\\"touchend.brush\\\",null).on(\\\"keydown.brush\\\",null).on(\\\"keyup.brush\\\",null),C(),M({type:\\\"brushend\\\"})}var b,x,_=this,w=uo.select(uo.event.target),M=l.of(_,arguments),k=uo.select(_),A=w.datum(),S=!/^(n|s)$/.test(A)&&u,E=!/^(e|w)$/.test(A)&&c,L=w.classed(\\\"extent\\\"),C=K(_),z=uo.mouse(_),I=uo.select(n(_)).on(\\\"keydown.brush\\\",a).on(\\\"keyup.brush\\\",m);if(uo.event.changedTouches?I.on(\\\"touchmove.brush\\\",v).on(\\\"touchend.brush\\\",y):I.on(\\\"mousemove.brush\\\",v).on(\\\"mouseup.brush\\\",y),k.interrupt().selectAll(\\\"*\\\").interrupt(),L)z[0]=h[0]-z[0],z[1]=f[0]-z[1];else if(A){var D=+/w$/.test(A),P=+/^n/.test(A);x=[h[1-D]-z[0],f[1-P]-z[1]],z[0]=h[D],z[1]=f[P]}else uo.event.altKey&&(b=z.slice());k.style(\\\"pointer-events\\\",\\\"none\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",null),uo.select(\\\"body\\\").style(\\\"cursor\\\",w.style(\\\"cursor\\\")),M({type:\\\"brushstart\\\"}),v()}var o,s,l=E(t,\\\"brushstart\\\",\\\"brush\\\",\\\"brushend\\\"),u=null,c=null,h=[0,0],f=[0,0],d=!0,p=!0,m=Yl[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:h,y:f,i:o,j:s},r=this.__chart__||e;this.__chart__=e,jl?uo.select(this).transition().each(\\\"start.brush\\\",function(){o=r.i,s=r.j,h=r.x,f=r.y,t({type:\\\"brushstart\\\"})}).tween(\\\"brush:brush\\\",function(){var r=wn(h,e.x),n=wn(f,e.y);return o=s=null,function(i){h=e.x=r(i),f=e.y=n(i),t({type:\\\"brush\\\",mode:\\\"resize\\\"})}}).each(\\\"end.brush\\\",function(){o=e.i,s=e.j,t({type:\\\"brush\\\",mode:\\\"resize\\\"}),t({type:\\\"brushend\\\"})}):(t({type:\\\"brushstart\\\"}),t({type:\\\"brush\\\",mode:\\\"resize\\\"}),t({type:\\\"brushend\\\"}))})},t.x=function(e){return arguments.length?(u=e,m=Yl[!u<<1|!c],t):u},t.y=function(e){return arguments.length?(c=e,m=Yl[!u<<1|!c],t):c},t.clamp=function(e){return arguments.length?(u&&c?(d=!!e[0],p=!!e[1]):u?d=!!e:c&&(p=!!e),t):u&&c?[d,p]:u?d:c?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(u&&(r=e[0],n=e[1],c&&(r=r[0],n=n[0]),o=[r,n],u.invert&&(r=u(r),n=u(n)),n<r&&(l=r,r=n,n=l),r==h[0]&&n==h[1]||(h=[r,n])),c&&(i=e[0],a=e[1],u&&(i=i[1],a=a[1]),s=[i,a],c.invert&&(i=c(i),a=c(a)),a<i&&(l=i,i=a,a=l),i==f[0]&&a==f[1]||(f=[i,a])),t):(u&&(o?(r=o[0],n=o[1]):(r=h[0],n=h[1],u.invert&&(r=u.invert(r),n=u.invert(n)),n<r&&(l=r,r=n,n=l))),c&&(s?(i=s[0],a=s[1]):(i=f[0],a=f[1],c.invert&&(i=c.invert(i),a=c.invert(a)),a<i&&(l=i,i=a,a=l))),u&&c?[[r,i],[n,a]]:u?[r,n]:c&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],o=s=null),t},t.empty=function(){return!!u&&h[0]==h[1]||!!c&&f[0]==f[1]},uo.rebind(t,l,\\\"on\\\")};var Gl={n:\\\"ns-resize\\\",e:\\\"ew-resize\\\",s:\\\"ns-resize\\\",w:\\\"ew-resize\\\",nw:\\\"nwse-resize\\\",ne:\\\"nesw-resize\\\",se:\\\"nwse-resize\\\",sw:\\\"nesw-resize\\\"},Yl=[[\\\"n\\\",\\\"e\\\",\\\"s\\\",\\\"w\\\",\\\"nw\\\",\\\"ne\\\",\\\"se\\\",\\\"sw\\\"],[\\\"e\\\",\\\"w\\\"],[\\\"n\\\",\\\"s\\\"],[]],Xl=fs.format=ys.timeFormat,Wl=Xl.utc,Zl=Wl(\\\"%Y-%m-%dT%H:%M:%S.%LZ\\\");Xl.iso=Date.prototype.toISOString&&+new Date(\\\"2000-01-01T00:00:00.000Z\\\")?io:Zl,io.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},io.toString=Zl.toString,fs.second=Vt(function(t){return new ds(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),fs.seconds=fs.second.range,fs.seconds.utc=fs.second.utc.range,fs.minute=Vt(function(t){return new ds(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),fs.minutes=fs.minute.range,fs.minutes.utc=fs.minute.utc.range,fs.hour=Vt(function(t){var e=t.getTimezoneOffset()/60;return new ds(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),fs.hours=fs.hour.range,fs.hours.utc=fs.hour.utc.range,fs.month=Vt(function(t){return t=fs.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),fs.months=fs.month.range,fs.months.utc=fs.month.utc.range;var Jl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Kl=[[fs.second,1],[fs.second,5],[fs.second,15],[fs.second,30],[fs.minute,1],[fs.minute,5],[fs.minute,15],[fs.minute,30],[fs.hour,1],[fs.hour,3],[fs.hour,6],[fs.hour,12],[fs.day,1],[fs.day,2],[fs.week,1],[fs.month,1],[fs.month,3],[fs.year,1]],Ql=Xl.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\\\",ze]]),$l={range:function(t,e,r){return uo.range(Math.ceil(t/r)*r,+e,r).map(oo)},floor:x,ceil:x};Kl.year=fs.year,fs.scale=function(){return ao(uo.scale.linear(),Kl,Ql)};var tu=Kl.map(function(t){return[t[0].utc,t[1]]}),eu=Wl.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\\\",ze]]);tu.year=fs.year.utc,fs.scale.utc=function(){return ao(uo.scale.linear(),tu,eu)},uo.text=Lt(function(t){return t.responseText}),uo.json=function(t,e){return Ct(t,\\\"application/json\\\",so,e)},uo.html=function(t,e){return Ct(t,\\\"text/html\\\",lo,e)},uo.xml=Lt(function(t){return t.responseXML}),\\\"function\\\"==typeof t&&t.amd?(this.d3=uo,t(uo)):\\\"object\\\"==typeof r&&r.exports?r.exports=uo:this.d3=uo}()},{}],122:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}function a(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 i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&&i.push([-1,i[0][1]],[i[t-1][1],-1]),i}function o(t,e){var r=t.length;if(0===r)return[];var o=t[0].length;if(o<1)return[];if(1===o)return a(r,t,e);for(var u=new Array(r),c=1,h=0;h<r;++h){for(var f=t[h],d=new Array(o+1),p=0,m=0;m<o;++m){var v=f[m];d[m]=v,p+=v*v}d[o]=p,u[h]=new n(d,h),c=Math.max(p,c)}l(u,i),r=u.length;for(var g=new Array(r+o+1),y=new Array(r+o+1),b=(o+1)*(o+1)*c,x=new Array(o+1),h=0;h<=o;++h)x[h]=0;x[o]=b,g[0]=x.slice(),y[0]=-1;for(var h=0;h<=o;++h){var d=x.slice();d[h]=1,g[h+1]=d,y[h+1]=-1}for(var h=0;h<r;++h){var _=u[h];g[h+o+1]=_.point,y[h+o+1]=_.index}var w=s(g,!1);if(w=e?w.filter(function(t){for(var e=0,r=0;r<=o;++r){var n=y[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):w.filter(function(t){for(var e=0;e<=o;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0}),1&o)for(var h=0;h<w.length;++h){var _=w[h],d=_[0];_[0]=_[1],_[1]=d}return w}var s=t(\\\"incremental-convex-hull\\\"),l=t(\\\"uniq\\\");e.exports=o},{\\\"incremental-convex-hull\\\":289,uniq:542}],123:[function(t,e,r){(function(t){function r(t,e){return d[0]=t,d[1]=e,f[0]}function n(t){return f[0]=t,d[0]}function i(t){return f[0]=t,d[1]}function a(t,e){return d[1]=t,d[0]=e,f[0]}function o(t){return f[0]=t,d[1]}function s(t){return f[0]=t,d[0]}function l(t,e){return p.writeUInt32LE(t,0,!0),p.writeUInt32LE(e,4,!0),p.readDoubleLE(0,!0)}function u(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(0,!0)}function c(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(4,!0)}var h=!1;if(\\\"undefined\\\"!=typeof Float64Array){var f=new Float64Array(1),d=new Uint32Array(f.buffer);f[0]=1,h=!0,1072693248===d[1]?(e.exports=function(t){return f[0]=t,[d[0],d[1]]},e.exports.pack=r,e.exports.lo=n,e.exports.hi=i):1072693248===d[0]?(e.exports=function(t){return f[0]=t,[d[1],d[0]]},e.exports.pack=a,e.exports.lo=o,e.exports.hi=s):h=!1}if(!h){var p=new t(8);e.exports=function(t){return p.writeDoubleLE(t,0,!0),[p.readUInt32LE(0,!0),p.readUInt32LE(4,!0)]},e.exports.pack=l,e.exports.lo=u,e.exports.hi=c}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),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\\\"buffer\\\").Buffer)},{buffer:76}],124:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var i=0|t[r];if(i<=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a<i;++a)o[a]=e;else for(a=0;a<i;++a)o[a]=n(t,e,r+1);return o}function i(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e){switch(void 0===e&&(e=0),typeof t){case\\\"number\\\":if(t>0)return i(0|t,e);break;case\\\"object\\\":if(\\\"number\\\"==typeof t.length)return n(t,e,0)}return[]}e.exports=a},{}],125:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r=r||2;var n=e&&e.length,a=n?e[0]*r:t.length,s=i(t,0,a,r,!0),l=[];if(!s)return l;var u,c,f,d,p,m,v;if(n&&(s=h(t,e,s,r)),t.length>80*r){u=f=t[0],c=d=t[1];for(var g=r;g<a;g+=r)p=t[g],m=t[g+1],p<u&&(u=p),m<c&&(c=m),p>f&&(f=p),m>d&&(d=m);v=Math.max(f-u,d-c)}return o(s,l,r,u,c,v),l}function i(t,e,r,n,i){var a,o;if(i===z(t,e,r,n)>0)for(a=e;a<r;a+=n)o=E(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=E(a,t[a],t[a+1],o);return o&&w(o,o.next)&&(L(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!w(n,n.next)&&0!==_(n.prev,n,n.next))n=n.next;else{if(L(n),(n=e=n.prev)===n.next)return null;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,h,f){if(t){!f&&h&&m(t,n,i,h);for(var d,p,v=t;t.prev!==t.next;)if(d=t.prev,p=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(p.i/r),L(t),t=p.next,v=p.next;else if((t=p)===v){f?1===f?(t=u(t,e,r),o(t,e,r,n,i,h,2)):2===f&&c(t,e,r,n,i,h):o(a(t),e,r,n,i,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(_(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(b(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&_(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(_(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=g(s,l,e,r,n),f=g(u,c,e,r,n),d=t.nextZ;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&b(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&b(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.prevZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!w(i,a)&&M(i,n,n.next,a)&&A(i,a)&&A(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),L(n),L(n.next),n=t=a),n=n.next}while(n!==t);return n}function c(t,e,r,n,i,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&x(l,u)){var c=S(l,u);return l=a(l,l.next),c=a(c,c.next),o(l,e,r,n,i,s),void o(c,e,r,n,i,s)}u=u.next}l=l.next}while(l!==t)}function h(t,e,r,n){var o,s,l,u,c,h=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,u=o<s-1?e[o+1]*n:t.length,c=i(t,l,u,n,!1),c===c.next&&(c.steiner=!0),h.push(y(c));for(h.sort(f),o=0;o<h.length;o++)d(h[o],r),r=a(r,r.next);return r}function f(t,e){return t.x-e.x}function d(t,e){if(e=p(t,e)){var r=S(e,t);a(r,r.next)}}function p(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;for(n=r.next;n!==u;)i>=n.x&&n.x>=c&&b(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<f||l===f&&n.x>r.x)&&A(n,t)&&(r=n,f=l),n=n.next;return r}function m(t,e,r,n){var i=t;do{null===i.z&&(i.z=g(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,v(i)}function v(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0===s?(i=n,n=n.nextZ,l--):0!==l&&n?r.z<=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return t}function g(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1}function y(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function b(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function x(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!k(t,e)&&A(t,e)&&A(e,t)&&T(t,e)}function _(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function w(t,e){return t.x===e.x&&t.y===e.y}function M(t,e,r,n){return!!(w(t,e)&&w(r,n)||w(t,n)&&w(r,e))||_(t,e,r)>0!=_(t,e,n)>0&&_(r,n,t)>0!=_(r,n,e)>0}function k(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&&M(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function A(t,e){return _(t.prev,t,t.next)<0?_(t,e,t.next)>=0&&_(t,t.prev,e)>=0:_(t,e,t.prev)<0||_(t,t.next,e)<0}function T(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}function S(t,e){var r=new C(t.i,t.x,t.y),n=new C(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function E(t,e,r,n){var i=new C(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function L(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 C(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 z(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(z(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(z(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;h+=Math.abs((t[f]-t[p])*(t[d+1]-t[f+1])-(t[f]-t[d])*(t[p+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,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],126:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.length;if(\\\"number\\\"!=typeof e){e=0;for(var n=0;n<r;++n){var a=t[n];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),n=0;n<e;++n)o[n]=[];for(var n=0;n<r;++n){var a=t[n];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)i(o[s],function(t,e){return t-e});return o}e.exports=n;var i=t(\\\"uniq\\\")},{uniq:542}],127:[function(e,r,n){(function(i,a){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?r.exports=i():\\\"function\\\"==typeof t&&t.amd?t(i):e.ES6Promise=i()}(this,function(){\\\"use strict\\\";function t(t){return\\\"function\\\"==typeof t||\\\"object\\\"==typeof t&&null!==t}function r(t){return\\\"function\\\"==typeof t}function n(t){G=t}function o(t){Y=t}function s(){return function(){q(u)}}function l(){var t=setTimeout;return function(){return t(u,1)}}function u(){for(var t=0;t<H;t+=2){(0,Q[t])(Q[t+1]),Q[t]=void 0,Q[t+1]=void 0}H=0}function c(t,e){var r=arguments,n=this,i=new this.constructor(f);void 0===i[tt]&&z(i);var a=n._state;return a?function(){var t=r[a-1];Y(function(){return E(a,i,t,n._result)})}():k(n,i,t,e),i}function h(t){var e=this;if(t&&\\\"object\\\"==typeof t&&t.constructor===e)return t;var r=new e(f);return x(r,t),r}function f(){}function d(){return new TypeError(\\\"You cannot resolve a promise with itself\\\")}function p(){return new TypeError(\\\"A promises callback cannot return that same promise.\\\")}function m(t){try{return t.then}catch(t){return it.error=t,it}}function v(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}function g(t,e,r){Y(function(t){var n=!1,i=v(r,e,function(r){n||(n=!0,e!==r?x(t,r):w(t,r))},function(e){n||(n=!0,M(t,e))},\\\"Settle: \\\"+(t._label||\\\" unknown promise\\\"));!n&&i&&(n=!0,M(t,i))},t)}function y(t,e){e._state===rt?w(t,e._result):e._state===nt?M(t,e._result):k(e,void 0,function(e){return x(t,e)},function(e){return M(t,e)})}function b(t,e,n){e.constructor===t.constructor&&n===c&&e.constructor.resolve===h?y(t,e):n===it?M(t,it.error):void 0===n?w(t,e):r(n)?g(t,e,n):w(t,e)}function x(e,r){e===r?M(e,d()):t(r)?b(e,r,m(r)):w(e,r)}function _(t){t._onerror&&t._onerror(t._result),A(t)}function w(t,e){t._state===et&&(t._result=e,t._state=rt,0!==t._subscribers.length&&Y(A,t))}function M(t,e){t._state===et&&(t._state=nt,t._result=e,Y(_,t))}function k(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+rt]=r,i[a+nt]=n,0===a&&t._state&&Y(A,t)}function A(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?E(r,n,i,a):i(a);t._subscribers.length=0}}function T(){this.error=null}function S(t,e){try{return t(e)}catch(t){return at.error=t,at}}function E(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if(o=S(n,i),o===at?(u=!0,s=o.error,o=null):l=!0,e===o)return void M(e,p())}else o=i,l=!0;e._state!==et||(a&&l?x(e,o):u?M(e,s):t===rt?w(e,o):t===nt&&M(e,o))}function L(t,e){try{e(function(e){x(t,e)},function(e){M(t,e)})}catch(e){M(t,e)}}function C(){return ot++}function z(t){t[tt]=ot++,t._state=void 0,t._result=void 0,t._subscribers=[]}function I(t,e){this._instanceConstructor=t,this.promise=new t(f),this.promise[tt]||z(this.promise),V(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?w(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&w(this.promise,this._result))):M(this.promise,D())}function D(){return new Error(\\\"Array Methods must be provided an Array\\\")}function P(t){return new I(this,t).promise}function O(t){var e=this;return new e(V(t)?function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(\\\"You must pass an array to race.\\\"))})}function R(t){var e=this,r=new e(f);return M(r,t),r}function F(){throw new TypeError(\\\"You must pass a resolver function as the first argument to the promise constructor\\\")}function j(){throw new TypeError(\\\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\\\")}function N(t){this[tt]=C(),this._result=this._state=void 0,this._subscribers=[],f!==t&&(\\\"function\\\"!=typeof t&&F(),this instanceof N?L(this,t):j())}function B(){var t=void 0;if(void 0!==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=N}var U=void 0;U=Array.isArray?Array.isArray:function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)};var V=U,H=0,q=void 0,G=void 0,Y=function(t,e){Q[H]=t,Q[H+1]=e,2===(H+=2)&&(G?G(u):$())},X=\\\"undefined\\\"!=typeof window?window:void 0,W=X||{},Z=W.MutationObserver||W.WebKitMutationObserver,J=\\\"undefined\\\"==typeof self&&void 0!==i&&\\\"[object process]\\\"==={}.toString.call(i),K=\\\"undefined\\\"!=typeof Uint8ClampedArray&&\\\"undefined\\\"!=typeof importScripts&&\\\"undefined\\\"!=typeof MessageChannel,Q=new Array(1e3),$=void 0;$=J?function(){return function(){return i.nextTick(u)}}():Z?function(){var t=0,e=new Z(u),r=document.createTextNode(\\\"\\\");return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():K?function(){var t=new MessageChannel;return t.port1.onmessage=u,function(){return t.port2.postMessage(0)}}():void 0===X&&\\\"function\\\"==typeof e?function(){try{var t=e,r=t(\\\"vertx\\\");return q=r.runOnLoop||r.runOnContext,s()}catch(t){return l()}}():l();var tt=Math.random().toString(36).substring(16),et=void 0,rt=1,nt=2,it=new T,at=new T,ot=0;return I.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===et&&r<t;r++)this._eachEntry(e[r],r)},I.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===h){var i=m(t);if(i===c&&t._state!==et)this._settledAt(t._state,e,t._result);else if(\\\"function\\\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===N){var a=new r(f);b(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},I.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===et&&(this._remaining--,t===nt?M(n,r):this._result[e]=r),0===this._remaining&&w(n,this._result)},I.prototype._willSettleAt=function(t,e){var r=this;k(t,void 0,function(t){return r._settledAt(rt,e,t)},function(t){return r._settledAt(nt,e,t)})},N.all=P,N.race=O,N.resolve=h,N.reject=R,N._setScheduler=n,N._setAsap=o,N._asap=Y,N.prototype={constructor:N,then:c,catch:function(t){return this.then(null,t)}},B(),N.polyfill=B,N.Promise=N,N})}).call(this,e(\\\"_process\\\"),\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{_process:486}],128:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return\\\"function\\\"==typeof t}function a(t){return\\\"number\\\"==typeof t}function o(t){return\\\"object\\\"==typeof t&&null!==t}function s(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!a(t)||t<0||isNaN(t))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,a,l,u;if(this._events||(this._events={}),\\\"error\\\"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var c=new Error('Uncaught, unspecified \\\"error\\\" event. ('+e+\\\")\\\");throw c.context=e,c}if(r=this._events[t],s(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),r.apply(this,a)}else if(o(r))for(a=Array.prototype.slice.call(arguments,1),u=r.slice(),n=u.length,l=0;l<n;l++)u[l].apply(this,a);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(\\\"listener must be a function\\\");return this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",t,i(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,o(this._events[t])&&!this._events[t].warned&&(r=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[t].length),\\\"function\\\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(\\\"listener must be a function\\\");var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,a,s;if(!i(e))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[t])return this;if(r=this._events[t],a=r.length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e);else if(o(r)){\\n\",\n       \"for(s=a;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\\\"removeListener\\\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],129:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=e||0,i=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]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}e.exports=n},{}],130:[function(t,e,r){\\\"use strict\\\";function n(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}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}},{}],131:[function(t,e,r){\\\"use strict\\\";function n(t){return new Function(\\\"f\\\",\\\"var p = (f && f.properties || {}); return \\\"+i(t))}function i(t){if(!t)return\\\"true\\\";var e=t[0];return t.length<=1?\\\"any\\\"===e?\\\"false\\\":\\\"true\\\":\\\"(\\\"+(\\\"==\\\"===e?o(t[1],t[2],\\\"===\\\",!1):\\\"!=\\\"===e?o(t[1],t[2],\\\"!==\\\",!1):\\\"<\\\"===e||\\\">\\\"===e||\\\"<=\\\"===e||\\\">=\\\"===e?o(t[1],t[2],e,!0):\\\"any\\\"===e?s(t.slice(1),\\\"||\\\"):\\\"all\\\"===e?s(t.slice(1),\\\"&&\\\"):\\\"none\\\"===e?c(s(t.slice(1),\\\"||\\\")):\\\"in\\\"===e?l(t[1],t.slice(2)):\\\"!in\\\"===e?c(l(t[1],t.slice(2))):\\\"has\\\"===e?u(t[1]):\\\"!has\\\"===e?c(u([t[1]])):\\\"true\\\")+\\\")\\\"}function a(t){return\\\"$type\\\"===t?\\\"f.type\\\":\\\"$id\\\"===t?\\\"f.id\\\":\\\"p[\\\"+JSON.stringify(t)+\\\"]\\\"}function o(t,e,r,n){var i=a(t),o=\\\"$type\\\"===t?f.indexOf(e):JSON.stringify(e);return(n?\\\"typeof \\\"+i+\\\"=== typeof \\\"+o+\\\"&&\\\":\\\"\\\")+i+r+o}function s(t,e){return t.map(i).join(e)}function l(t,e){\\\"$type\\\"===t&&(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(h)),n=a(t);return e.length<=200?r+\\\".indexOf(\\\"+n+\\\") !== -1\\\":\\\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1;    if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\\\"+n+\\\", \\\"+r+\\\",0,\\\"+(e.length-1)+\\\")\\\"}function u(t){return JSON.stringify(t)+\\\" in p\\\"}function c(t){return\\\"!(\\\"+t+\\\")\\\"}function h(t,e){return t<e?-1:t>e?1:0}e.exports=n;var f=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"]},{}],132:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(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()]}function a(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}function o(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:if(\\\"number\\\"==typeof t){var n=a(t);return new i(n,n,0)}return new i(t,a(t.length),0);case 2:if(\\\"number\\\"==typeof e){var n=a(t.length);return new i(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\\\"state and velocity lengths must match\\\");return new i(t,e,r)}}e.exports=o;var s=t(\\\"cubic-hermite\\\"),l=t(\\\"binary-search-bounds\\\"),u=i.prototype;u.flush=function(t){var e=l.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))},u.curve=function(t){var e=this._time,r=e.length,i=l.le(e,t),a=this._scratch[0],o=this._state,u=this._velocity,c=this.dimension,h=this.bounds;if(i<0)for(var f=c-1,d=0;d<c;++d,--f)a[d]=o[f];else if(i>=r-1)for(var f=o.length-1,p=t-e[r-1],d=0;d<c;++d,--f)a[d]=o[f]+p*u[f];else{for(var f=c*(i+1)-1,m=e[i],v=e[i+1],g=v-m||1,y=this._scratch[1],b=this._scratch[2],x=this._scratch[3],_=this._scratch[4],w=!0,d=0;d<c;++d,--f)y[d]=o[f],x[d]=u[f]*g,b[d]=o[f+c],_[d]=u[f+c]*g,w=w&&y[d]===b[d]&&x[d]===_[d]&&0===x[d];if(w)for(var d=0;d<c;++d)a[d]=y[d];else s(y,x,b,_,(t-m)/g,a)}for(var M=h[0],k=h[1],d=0;d<c;++d)a[d]=n(M[d],k[d],a[d]);return a},u.dcurve=function(t){var e=this._time,r=e.length,n=l.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,u=this.dimension;if(n>=r-1)for(var c=a.length-1,h=(e[r-1],0);h<u;++h,--c)i[h]=o[c];else{for(var c=u*(n+1)-1,f=e[n],d=e[n+1],p=d-f||1,m=this._scratch[1],v=this._scratch[2],g=this._scratch[3],y=this._scratch[4],b=!0,h=0;h<u;++h,--c)m[h]=a[c],g[h]=o[c]*p,v[h]=a[c+u],y[h]=o[c+u]*p,b=b&&m[h]===v[h]&&g[h]===y[h]&&0===g[h];if(b)for(var h=0;h<u;++h)i[h]=0;else{s.derivative(m,g,v,y,(t-f)/p,i);for(var h=0;h<u;++h)i[h]/=p}}return i},u.lastT=function(){var t=this._time;return t[t.length-1]},u.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},u.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1];this._time.push(e,t);for(var c=0;c<2;++c)for(var h=0;h<r;++h)i.push(i[o++]),a.push(0);this._time.push(t);for(var h=r;h>0;--h)i.push(n(l[h-1],u[h-1],arguments[h])),a.push(0)}},u.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,u=l[0],c=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var d=n(u[f-1],c[f-1],arguments[f]);i.push(d),a.push((d-i[o++])*h)}}},u.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},u.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,h=c>1e-6?1/c:0;this._time.push(t);for(var f=r;f>0;--f){var d=arguments[f];i.push(n(l[f-1],u[f-1],i[o++]+d)),a.push(d*h)}}},u.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],u=s[1],c=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)i.push(n(l[h],u[h],i[o]+c*a[o])),a.push(0),o+=1}}},{\\\"binary-search-bounds\\\":65,\\\"cubic-hermite\\\":108}],133:[function(t,e,r){\\\"use strict\\\";function n(t){t=t||{};var e,r,n=t.canvas||document.createElement(\\\"canvas\\\"),o=t.family||\\\"sans-serif\\\",s=t.shape||[512,512],l=t.step||[32,32],u=parseFloat(t.size)||16,c=t.chars||[32,126],h=Math.floor((l[0]-u)/2),f=t.radius||1.5*h,d=new a(u,h,f,0,o),p=null==t.align?\\\"optical\\\":t.align,m=null==t.fit||1==t.fit?.5:t.fit;if(Array.isArray(c)){if(2===c.length&&\\\"number\\\"==typeof c[0]&&\\\"number\\\"==typeof c[1]){var v=[];for(e=c[0],r=0;e<=c[1];e++)v[r++]=String.fromCharCode(e);c=v}}else c=String(c).split(\\\"\\\");s=s.slice(),n.width=s[0],n.height=s[1];var g=n.getContext(\\\"2d\\\");g.fillStyle=\\\"#000\\\",g.fillRect(0,0,n.width,n.height),g.textBaseline=\\\"middle\\\";var y=l[0],b=l[1],x=0,_=0,w=u/b,M=Math.min(c.length,Math.floor(s[0]/y)*Math.ceil(s[1]/b)),k=d.ctx.textAlign,A=d.buffer,T=d.middle;for(d.ctx.textAlign=\\\"center\\\",d.buffer=d.size/2,e=0;e<M;e++)if(c[e]){var S=i(c[e],o,w),E=1,L=[0,0];if(m){var C=m;Array.isArray(m)&&(C=m[e]);var z=.5*(S.bounds[3]-S.bounds[1]),I=.5*(S.bounds[2]-S.bounds[0]),D=Math.max(z,I),P=Math.sqrt(z*z+I*I),O=.333*S.radius+.333*D+.333*P;E=b*C/(O*b*2),d.ctx.font=u*E+\\\"px \\\"+o}else d.ctx.font=u+\\\"px \\\"+o;p&&(L=\\\"optical\\\"===p||!0===p?[.5*y-y*S.center[0],.5*b-b*S.center[1]]:[.5*y-y*(S.bounds[2]+S.bounds[0])*.5,.5*b-b*(S.bounds[3]+S.bounds[1])*.5],d.middle=T+L[1]*E);var R=d.draw(c[e]);g.putImageData(R,x+L[0]*E,_),x+=l[0],x>s[0]-l[0]&&(x=0,_+=l[1])}return d.ctx.textAlign=k,d.buffer=A,d.middle=T,n}function i(t,e,r){if(s[e]&&s[e][t])return s[e][t];var n=200*r,i=o(t,{size:200,fontSize:n,fontFamily:e});s[e]||(s[e]={});var a={center:[i.center[0]/200,i.center[1]/200],bounds:i.bounds.map(function(t){return t/200}),radius:i.radius/200};return s[e][t]=a,a}var a=t(\\\"tiny-sdf\\\"),o=t(\\\"optical-properties\\\");e.exports=n;var s={}},{\\\"optical-properties\\\":470,\\\"tiny-sdf\\\":532}],134:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(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}function l(t,e){if(e.left){var r=l(t,e.left);if(r)return r}var r=t(e.key,e.value);return r||(e.right?l(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){if(n.left){var i=u(t,e,r,n.left);if(i)return i}var i=r(n.key,n.value);if(i)return i}if(n.right)return u(t,e,r,n.right)}function c(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=c(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return c(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}function f(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 d(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=g);if(r=t[l-1],r.left===e){if(n=r.right,n.right&&n.right._color===v){if(n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=g,r._color=g,s._color=g,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.right=n}return void(t[l-1]=n)}if(n.left&&n.left._color===v){if(n=r.right=i(n),s=n.left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=g,n._color=g,e._color=g,o(r),o(n),o(s),l>1){var u=t[l-2];u.left===r?u.left=s:u.right=s}return void(t[l-1]=s)}if(n._color===g){if(r._color===v)return r._color=g,void(r.right=a(v,n));r.right=a(v,n);continue}if(n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=v,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.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,n.left&&n.left._color===v){if(n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=g,r._color=g,s._color=g,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}return void(t[l-1]=n)}if(n.right&&n.right._color===v){if(n=r.left=i(n),s=n.right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=g,n._color=g,e._color=g,o(r),o(n),o(s),l>1){var u=t[l-2];u.right===r?u.right=s:u.left=s}return void(t[l-1]=s)}if(n._color===g){if(r._color===v)return r._color=g,void(r.left=a(v,n));r.left=a(v,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=v,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}function p(t,e){return t<e?-1:t>e?1:0}function m(t){return new s(t||p,null)}e.exports=m;var v=0,g=1,y=s.prototype;Object.defineProperty(y,\\\"keys\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(y,\\\"values\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(y,\\\"length\\\",{get:function(){return this.root?this.root._count:0}}),y.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],u=[];i;){var c=r(t,i.key);l.push(i),u.push(c),i=c<=0?i.left:i.right}l.push(new n(v,t,e,null,null,1));for(var h=l.length-2;h>=0;--h){var i=l[h];u[h]<=0?l[h]=new n(i._color,i.key,i.value,l[h+1],i.right,i._count+1):l[h]=new n(i._color,i.key,i.value,i.left,l[h+1],i._count+1)}for(var h=l.length-1;h>1;--h){var f=l[h-1],i=l[h];if(f._color===g||i._color===g)break;var d=l[h-2];if(d.left===f)if(f.left===i){var p=d.right;if(!p||p._color!==v){if(d._color=v,d.left=f.right,f._color=g,f.right=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var m=l[h-3];m.left===d?m.left=f:m.right=f}break}f._color=g,d.right=a(g,p),d._color=v,h-=1}else{var p=d.right;if(!p||p._color!==v){if(f.right=i.left,d._color=v,d.left=i.right,i._color=g,i.left=f,i.right=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var m=l[h-3];m.left===d?m.left=i:m.right=i}break}f._color=g,d.right=a(g,p),d._color=v,h-=1}else if(f.right===i){var p=d.left;if(!p||p._color!==v){if(d._color=v,d.right=f.left,f._color=g,f.left=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var m=l[h-3];m.right===d?m.right=f:m.left=f}break}f._color=g,d.left=a(g,p),d._color=v,h-=1}else{var p=d.left;if(!p||p._color!==v){if(f.left=i.right,d._color=v,d.right=i.left,i._color=g,i.right=f,i.left=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var m=l[h-3];m.right===d?m.right=i:m.left=i}break}f._color=g,d.left=a(g,p),d._color=v,h-=1}}return l[0]._color=g,new s(r,l[0])},y.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return c(e,r,this._compare,t,this.root)}},Object.defineProperty(y,\\\"begin\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(y,\\\"end\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),y.at=function(t){if(t<0)return new h(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 h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},y.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},y.remove=function(t){var e=this.find(t);return e?e.remove():this},y.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 b=h.prototype;Object.defineProperty(b,\\\"valid\\\",{get:function(){return this._stack.length>0}}),Object.defineProperty(b,\\\"node\\\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),b.clone=function(){return new h(this.tree,this._stack.slice())},b.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 i=t.length-2;i>=0;--i){var r=t[i];r.left===t[i+1]?e[i]=new n(r._color,r.key,r.value,e[i+1],r.right,r._count):e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count)}if(r=e[e.length-1],r.left&&r.right){var a=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var o=e[a-1];e.push(new n(r._color,o.key,o.value,r.left,r.right,r._count)),e[a-1].key=r.key,e[a-1].value=r.value;for(var i=e.length-2;i>=a;--i)r=e[i],e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count);e[a-1].left=e[a]}if(r=e[e.length-1],r._color===v){var l=e[e.length-2];l.left===r?l.left=null:l.right===r&&(l.right=null),e.pop();for(var i=0;i<e.length;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?f(r,r.left):r.right&&f(r,r.right),r._color=g;for(var i=0;i<e.length-1;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(var i=0;i<e.length;++i)e[i]._count--;var u=e[e.length-2];return d(e),u.left===r?u.left=null:u.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(b,\\\"key\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(b,\\\"value\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(b,\\\"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}),b.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(b,\\\"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}}),b.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),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)i=e[a],i.left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},b.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(b,\\\"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}})},{}],135:[function(t,e,r){function n(t){if(t<0)return Number(\\\"0/0\\\");for(var e=o[0],r=o.length-1;r>0;--r)e+=o[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,o=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];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(n(e));e-=1;for(var r=i[0],a=1;a<9;a++)r+=i[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=n},{}],136:[function(t,e,r){function n(t){if(\\\"Polygon\\\"===t.type)return i(t.coordinates);if(\\\"MultiPolygon\\\"===t.type){for(var e=0,r=0;r<t.coordinates.length;r++)e+=i(t.coordinates[r]);return e}return null}function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(a(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(a(t[r]))}return e}function a(t){var e=0;if(t.length>2){for(var r,n,i=0;i<t.length-1;i++)r=t[i],n=t[i+1],e+=o(n[0]-r[0])*(2+Math.sin(o(r[1]))+Math.sin(o(n[1])));e=e*s.RADIUS*s.RADIUS/2}return e}function o(t){return t*Math.PI/180}var s=t(\\\"wgs84\\\");e.exports.geometry=n,e.exports.ring=a},{wgs84:564}],137:[function(t,e,r){function n(t,e){switch(t&&t.type||null){case\\\"FeatureCollection\\\":return t.features=t.features.map(i(n,e)),t;case\\\"Feature\\\":return t.geometry=n(t.geometry,e),t;case\\\"Polygon\\\":case\\\"MultiPolygon\\\":return a(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){return\\\"Polygon\\\"===t.type?t.coordinates=o(t.coordinates,e):\\\"MultiPolygon\\\"===t.type&&(t.coordinates=t.coordinates.map(i(o,e))),t}function o(t,e){e=!!e,t[0]=s(t[0],!e);for(var r=1;r<t.length;r++)t[r]=s(t[r],e);return t}function s(t,e){return l(t)===e?t:t.reverse()}function l(t){return u.ring(t)>=0}var u=t(\\\"geojson-area\\\");e.exports=n},{\\\"geojson-area\\\":136}],138:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,o,l,u,c){if(r/=e,n/=e,u>=r&&c<=n)return t;if(u>n||c<r)return null;for(var h=[],f=0;f<t.length;f++){var d,p,m=t[f],v=m.geometry,g=m.type;if(d=m.min[o],p=m.max[o],d>=r&&p<=n)h.push(m);else if(!(d>n||p<r)){var y=1===g?i(v,r,n,o):a(v,r,n,o,l,3===g);y.length&&h.push(s(m.tags,g,y,m.id))}}return h.length?h:null}function i(t,e,r,n){for(var i=[],a=0;a<t.length;a++){var o=t[a],s=o[n];s>=e&&s<=r&&i.push(o)}return i}function a(t,e,r,n,i,a){for(var s=[],l=0;l<t.length;l++){var u,c,h,f=0,d=0,p=null,m=t[l],v=m.area,g=m.dist,y=m.outer,b=m.length,x=[];for(c=0;c<b-1;c++)u=p||m[c],p=m[c+1],f=d||u[n],d=p[n],f<e?d>r?(x.push(i(u,p,e),i(u,p,r)),a||(x=o(s,x,v,g,y))):d>=e&&x.push(i(u,p,e)):f>r?d<e?(x.push(i(u,p,r),i(u,p,e)),a||(x=o(s,x,v,g,y))):d<=r&&x.push(i(u,p,r)):(x.push(u),d<e?(x.push(i(u,p,e)),a||(x=o(s,x,v,g,y))):d>r&&(x.push(i(u,p,r)),a||(x=o(s,x,v,g,y))));u=m[b-1],f=u[n],f>=e&&f<=r&&x.push(u),h=x[x.length-1],a&&h&&(x[0][0]!==h[0]||x[0][1]!==h[1])&&x.push(x[0]),o(s,x,v,g,y)}return s}function o(t,e,r,n,i){return e.length&&(e.area=r,e.dist=n,void 0!==i&&(e.outer=i),t.push(e)),[]}e.exports=n;var s=t(\\\"./feature\\\")},{\\\"./feature\\\":140}],139:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=[];if(\\\"FeatureCollection\\\"===t.type)for(var n=0;n<t.features.length;n++)i(r,t.features[n],e);else\\\"Feature\\\"===t.type?i(r,t,e):i(r,{geometry:t},e);return r}function i(t,e,r){if(null!==e.geometry){var n,s,l,c,h=e.geometry,f=h.type,d=h.coordinates,p=e.properties,m=e.id;if(\\\"Point\\\"===f)t.push(u(p,1,[o(d)],m));else if(\\\"MultiPoint\\\"===f)t.push(u(p,1,a(d),m));else if(\\\"LineString\\\"===f)t.push(u(p,2,[a(d,r)],m));else if(\\\"MultiLineString\\\"===f||\\\"Polygon\\\"===f){for(l=[],n=0;n<d.length;n++)c=a(d[n],r),\\\"Polygon\\\"===f&&(c.outer=0===n),l.push(c);t.push(u(p,\\\"Polygon\\\"===f?3:2,l,m))}else if(\\\"MultiPolygon\\\"===f){for(l=[],n=0;n<d.length;n++)for(s=0;s<d[n].length;s++)c=a(d[n][s],r),c.outer=0===s,l.push(c);t.push(u(p,3,l,m))}else{if(\\\"GeometryCollection\\\"!==f)throw new Error(\\\"Input data is not a valid GeoJSON object.\\\");for(n=0;n<h.geometries.length;n++)i(t,{geometry:h.geometries[n],properties:p},r)}}}function a(t,e){for(var r=[],n=0;n<t.length;n++)r.push(o(t[n]));return e&&(l(r,e),s(r)),r}function o(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n<0?0:n>1?1:n,[r,n,0]}function s(t){for(var e,r,n=0,i=0,a=0;a<t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}e.exports=n;var l=t(\\\"./simplify\\\"),u=t(\\\"./feature\\\")},{\\\"./feature\\\":140,\\\"./simplify\\\":142}],140:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a={id:n||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-1/0,-1/0]};return i(a),a}function i(t){var e=t.geometry,r=t.min,n=t.max;if(1===t.type)a(r,n,e);else for(var i=0;i<e.length;i++)a(r,n,e[i]);return t}function a(t,e,r){for(var n,i=0;i<r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=n},{}],141:[function(t,e,r){\\\"use strict\\\";function n(t,e){return new i(t,e)}function i(t,e){e=this.options=l(Object.create(this.options),e);var r=e.debug;r&&console.time(\\\"preprocess data\\\");var n=1<<e.maxZoom,i=c(t,e.tolerance/(n*e.extent));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),i=d(i,e.buffer/e.extent,o),i.length&&this.splitTile(i,0,0,0),r&&(i.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 a(t,e,r){return 32*((1<<t)*r+e)+t}function o(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function s(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function l(t,e){for(var r in e)t[r]=e[r];return t}function u(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length>1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o<a;o++){var s=h.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&&s[0]!==e+r||s[1]!==-r&&s[1]!==e+r)return!1}return!0}e.exports=n;var c=t(\\\"./convert\\\"),h=t(\\\"./transform\\\"),f=t(\\\"./clip\\\"),d=t(\\\"./wrap\\\"),p=t(\\\"./tile\\\");i.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},i.prototype.splitTile=function(t,e,r,n,i,l,c){for(var h=[t,e,r,n],d=this.options,m=d.debug,v=null;h.length;){n=h.pop(),r=h.pop(),e=h.pop(),t=h.pop();var g=1<<e,y=a(e,r,n),b=this.tiles[y],x=e===d.maxZoom?0:d.tolerance/(g*d.extent);if(!b&&(m>1&&console.time(\\\"creation\\\"),b=this.tiles[y]=p(t,g,r,n,x,e===d.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),m)){m>1&&(console.log(\\\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\\\",e,r,n,b.numFeatures,b.numPoints,b.numSimplified),console.timeEnd(\\\"creation\\\"));var _=\\\"z\\\"+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(b.source=t,i){if(e===d.maxZoom||e===i)continue;var w=1<<i-e;if(r!==Math.floor(l/w)||n!==Math.floor(c/w))continue}else if(e===d.indexMaxZoom||b.numPoints<=d.indexMaxPoints)continue;if(d.solidChildren||!u(b,d.extent,d.buffer)){b.source=null,m>1&&console.time(\\\"clipping\\\");var M,k,A,T,S,E,L=.5*d.buffer/d.extent,C=.5-L,z=.5+L,I=1+L;M=k=A=T=null,S=f(t,g,r-L,r+z,0,o,b.min[0],b.max[0]),E=f(t,g,r+C,r+I,0,o,b.min[0],b.max[0]),S&&(M=f(S,g,n-L,n+z,1,s,b.min[1],b.max[1]),k=f(S,g,n+C,n+I,1,s,b.min[1],b.max[1])),E&&(A=f(E,g,n-L,n+z,1,s,b.min[1],b.max[1]),T=f(E,g,n+C,n+I,1,s,b.min[1],b.max[1])),m>1&&console.timeEnd(\\\"clipping\\\"),t.length&&(h.push(M||[],e+1,2*r,2*n),h.push(k||[],e+1,2*r,2*n+1),h.push(A||[],e+1,2*r+1,2*n),h.push(T||[],e+1,2*r+1,2*n+1))}else i&&(v=e)}return v},i.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,o=n.debug,s=1<<t;e=(e%s+s)%s;var l=a(t,e,r);if(this.tiles[l])return h.tile(this.tiles[l],i);o>1&&console.log(\\\"drilling down to z%d-%d-%d\\\",t,e,r);for(var c,f=t,d=e,p=r;!c&&f>0;)f--,d=Math.floor(d/2),p=Math.floor(p/2),c=this.tiles[a(f,d,p)];if(!c||!c.source)return null;if(o>1&&console.log(\\\"found parent tile z%d-%d-%d\\\",f,d,p),u(c,i,n.buffer))return h.tile(c,i);o>1&&console.time(\\\"drilling down\\\");var m=this.splitTile(c.source,f,d,p,t,e,r);if(o>1&&console.timeEnd(\\\"drilling down\\\"),null!==m){var v=1<<t-m;l=a(m,Math.floor(e/v),Math.floor(r/v))}return this.tiles[l]?h.tile(this.tiles[l],i):null}},{\\\"./clip\\\":138,\\\"./convert\\\":139,\\\"./tile\\\":143,\\\"./transform\\\":144,\\\"./wrap\\\":145}],142:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,a,o,s=e*e,l=t.length,u=0,c=l-1,h=[];for(t[u][2]=1,t[c][2]=1;c;){for(n=0,r=u+1;r<c;r++)(a=i(t[r],t[u],t[c]))>n&&(o=r,n=a);n>s?(t[o][2]=n,h.push(u),h.push(o),u=o):(c=h.pop(),u=h.pop())}}function i(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],u=a-n,c=o-i;if(0!==u||0!==c){var h=((s-n)*u+(l-i)*c)/(u*u+c*c);h>1?(n=a,i=o):h>0&&(n+=u*h,i+=c*h)}return u=s-n,c=l-i,u*u+c*c}e.exports=n},{}],143:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},l=0;l<t.length;l++){s.numFeatures++,i(s,t[l],a,o);var u=t[l].min,c=t[l].max;u[0]<s.min[0]&&(s.min[0]=u[0]),u[1]<s.min[1]&&(s.min[1]=u[1]),c[0]>s.max[0]&&(s.max[0]=c[0]),c[1]>s.max[1]&&(s.max[1]=c[1])}return s}function i(t,e,r,n){var i,o,s,l,u=e.geometry,c=e.type,h=[],f=r*r;if(1===c)for(i=0;i<u.length;i++)h.push(u[i]),t.numPoints++,t.numSimplified++;else for(i=0;i<u.length;i++)if(s=u[i],n||!(2===c&&s.dist<r||3===c&&s.area<f)){var d=[];for(o=0;o<s.length;o++)l=s[o],(n||l[2]>f)&&(d.push(l),t.numSimplified++),t.numPoints++;3===c&&a(d,s.outer),h.push(d)}else t.numPoints+=s.length;if(h.length){var p={geometry:h,type:c,tags:e.tags||null};null!==e.id&&(p.id=e.id),t.features.push(p)}}function a(t,e){o(t)<0===e&&t.reverse()}function o(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n}e.exports=n},{}],144:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(t.transformed)return t;var r,n,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var u=t.features[r],c=u.geometry;if(1===u.type)for(n=0;n<c.length;n++)c[n]=i(c[n],e,o,s,l);else for(n=0;n<c.length;n++){var h=c[n];for(a=0;a<h.length;a++)h[a]=i(h[a],e,o,s,l)}}return t.transformed=!0,t}function i(t,e,r,n,i){return[Math.round(e*(t[0]*r-n)),Math.round(e*(t[1]*r-i))]}r.tile=n,r.point=i},{}],145:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t,a=o(t,1,-1-e,e,0,r,-1,2),s=o(t,1,1-e,2+e,0,r,-1,2);return(a||s)&&(n=o(t,1,-e,1+e,0,r,-1,2)||[],a&&(n=i(a,1).concat(n)),s&&(n=n.concat(i(s,-1)))),n}function i(t,e){for(var r=[],n=0;n<t.length;n++){var i,o=t[n],l=o.type;if(1===l)i=a(o.geometry,e);else{i=[];for(var u=0;u<o.geometry.length;u++)i.push(a(o.geometry[u],e))}r.push(s(o.tags,l,i,o.id))}return r}function a(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n<t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var o=t(\\\"./clip\\\"),s=t(\\\"./feature\\\");e.exports=n},{\\\"./clip\\\":138,\\\"./feature\\\":140}],146:[function(t,e,r){function n(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,i=e;try{var a=[t];0===t.indexOf(\\\"webgl\\\")&&a.push(\\\"experimental-\\\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}e.exports=n},{}],147:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(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.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.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=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var h=a,f=s,d=o,p=l;u&1<<c&&(h=s,f=a,d=l,p=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(d[c]=-1,p[c]=0):(d[c]=0,p[c]=1)}}function s(t,e){var r=new i(t)\\n\",\n       \";return r.update(e),r}e.exports=s;var l=t(\\\"./lib/text.js\\\"),u=t(\\\"./lib/lines.js\\\"),c=t(\\\"./lib/background.js\\\"),h=t(\\\"./lib/cube.js\\\"),f=t(\\\"./lib/ticks.js\\\"),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),p=i.prototype;p.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=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]}),s=!1,c=!1;if(\\\"bounds\\\"in t)for(var h=t.bounds,d=0;d<2;++d)for(var p=0;p<3;++p)h[d][p]!==this.bounds[d][p]&&(c=!0),this.bounds[d][p]=h[d][p];if(\\\"ticks\\\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(var d=0;d<3;++d)this.tickSpacing[d]=0}else n(\\\"tickSpacing\\\")&&(this.autoTicks=!0,c=!0);if(this._firstInit&&(\\\"ticks\\\"in t||\\\"tickSpacing\\\"in t||(this.autoTicks=!0),c=!0,s=!0,this._firstInit=!1),c&&this.autoTicks&&(r=f.create(this.bounds,this.tickSpacing),s=!0),s){for(var d=0;d<3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?s=!1:this.ticks=r}i(\\\"tickEnable\\\"),a(\\\"tickFont\\\")&&(s=!0),n(\\\"tickSize\\\"),n(\\\"tickAngle\\\"),n(\\\"tickPad\\\"),o(\\\"tickColor\\\");var m=a(\\\"labels\\\");a(\\\"labelFont\\\")&&(m=!0),i(\\\"labelEnable\\\"),n(\\\"labelSize\\\"),n(\\\"labelPad\\\"),o(\\\"labelColor\\\"),i(\\\"lineEnable\\\"),i(\\\"lineMirror\\\"),n(\\\"lineWidth\\\"),o(\\\"lineColor\\\"),i(\\\"lineTickEnable\\\"),i(\\\"lineTickMirror\\\"),n(\\\"lineTickLength\\\"),n(\\\"lineTickWidth\\\"),o(\\\"lineTickColor\\\"),i(\\\"gridEnable\\\"),n(\\\"gridWidth\\\"),o(\\\"gridColor\\\"),i(\\\"zeroEnable\\\"),o(\\\"zeroLineColor\\\"),n(\\\"zeroLineWidth\\\"),i(\\\"backgroundEnable\\\"),o(\\\"backgroundColor\\\"),this._text?this._text&&(m||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=l(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&s&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=u(this.gl,this.bounds,this.ticks))};var m=[new a,new a,new a],v=[0,0,0],g={model:d,view:d,projection:d};p.isOpaque=function(){return!0},p.isTransparent=function(){return!1},p.drawTransparent=function(t){};var y=[0,0,0],b=[0,0,0],x=[0,0,0];p.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||d,i=t.view||d,a=t.projection||d,s=this.bounds,l=h(r,i,a,s),u=l.cubeEdges,c=l.axis,f=i[12],p=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*f+a[7]*p+a[11]*_+a[15]*w)/e.drawingBufferHeight,k=0;k<3;++k)this.lastCubeProps.cubeEdges[k]=u[k],this.lastCubeProps.axis[k]=c[k];for(var A=m,k=0;k<3;++k)o(m[k],k,this.bounds,u,c);for(var e=this.gl,T=v,k=0;k<3;++k)this.backgroundEnable[k]?T[k]=c[k]:T[k]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(var k=0;k<3;++k){var S=[0,0,0];c[k]>0?S[k]=s[1][k]:S[k]=s[0][k];for(var E=0;E<2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.gridEnable[L]&&this._lines.drawGrid(L,C,this.bounds,S,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(var E=0;E<2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.zeroEnable[C]&&s[0][C]<=0&&s[1][C]>=0&&this._lines.drawZero(L,C,this.bounds,S,this.zeroLineColor[C],this.zeroLineWidth[C]*this.pixelRatio)}}for(var k=0;k<3;++k){this.lineEnable[k]&&this._lines.drawAxisLine(k,this.bounds,A[k].primalOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio),this.lineMirror[k]&&this._lines.drawAxisLine(k,this.bounds,A[k].mirrorOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio);for(var z=n(y,A[k].primalMinor),I=n(b,A[k].mirrorMinor),D=this.lineTickLength,E=0;E<3;++E){var P=M/r[5*E];z[E]*=D[E]*P,I[E]*=D[E]*P}this.lineTickEnable[k]&&this._lines.drawAxisTicks(k,A[k].primalOffset,z,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio),this.lineTickMirror[k]&&this._lines.drawAxisTicks(k,A[k].mirrorOffset,I,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(var k=0;k<3;++k){for(var O=A[k].primalMinor,R=n(x,A[k].primalOffset),E=0;E<3;++E)this.lineTickEnable[k]&&(R[E]+=M*O[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[k]){for(var E=0;E<3;++E)R[E]+=M*O[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(k,this.tickSize[k],this.tickAngle[k],R,this.tickColor[k])}if(this.labelEnable[k]){for(var E=0;E<3;++E)R[E]+=M*O[E]*this.labelPad[E]/r[5*E];R[k]+=.5*(s[0][k]+s[1][k]),this._text.drawLabel(k,this.labelSize[k],this.labelAngle[k],R,this.labelColor[k])}}},p.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\\\":148,\\\"./lib/cube.js\\\":149,\\\"./lib/lines.js\\\":150,\\\"./lib/text.js\\\":152,\\\"./lib/ticks.js\\\":153}],148:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}function i(t){for(var e=[],r=[],i=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,h=[0,0,0],f=[0,0,0],d=-1;d<=1;d+=2){r.push(i,i+2,i+1,i+1,i+2,i+3),h[l]=d,f[l]=d;for(var p=-1;p<=1;p+=2){h[u]=p;for(var m=-1;m<=1;m+=2)h[c]=m,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),i+=1}var v=u;u=c,c=v}var g=a(t,new Float32Array(e)),y=a(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),b=o(t,[{buffer:g,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:g,type:t.FLOAT,size:3,offset:12,stride:24}],y),x=s(t);return x.attributes.position.location=0,x.attributes.normal.location=1,new n(t,g,b,x)}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-vao\\\"),s=t(\\\"./shaders\\\").bg,l=n.prototype;l.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[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:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),l.disable(l.POLYGON_OFFSET_FILL)}},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":151,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],149:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e<m.length;++e)if(t=l.positive(t,m[e]),t.length<3)return 0;for(var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0,e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],u=o[0]/o[3],c=o[1]/o[3],h=s[0]/s[3],f=s[1]/s[3],d=u-n,p=c-i,v=h-n,g=f-i;a+=Math.abs(d*g-p*v)}return a}function a(t,e,r,a){s(c,e,t),s(c,r,c);for(var l=0,m=0;m<2;++m){d[2]=a[m][2];for(var b=0;b<2;++b){d[1]=a[b][1];for(var x=0;x<2;++x)d[0]=a[x][0],n(h[l],d,c),l+=1}}for(var _=-1,m=0;m<8;++m){for(var w=h[m][3],M=0;M<3;++M)f[m][M]=h[m][M]/w;w<0&&(_<0?_=m:f[m][2]<f[_][2]&&(_=m))}if(_<0){_=0;for(var k=0;k<3;++k){for(var A=(k+2)%3,T=(k+1)%3,S=-1,E=-1,L=0;L<2;++L){var C=L<<k,z=C+(L<<A)+(1-L<<T),I=C+(1-L<<A)+(L<<T);u(f[C],f[z],f[I],p)<0||(L?S=1:E=1)}if(S<0||E<0)E>S&&(_|=1<<k);else{for(var L=0;L<2;++L){var C=L<<k,z=C+(L<<A)+(1-L<<T),I=C+(1-L<<A)+(L<<T),D=i([h[C],h[z],h[I],h[C+(1<<A)+(1<<T)]]);L?S=D:E=D}E>S&&(_|=1<<k)}}}for(var P=7^_,O=-1,m=0;m<8;++m)m!==_&&m!==P&&(O<0?O=m:f[O][1]>f[m][1]&&(O=m));for(var R=-1,m=0;m<3;++m){var F=O^1<<m;if(F!==_&&F!==P){R<0&&(R=F);var T=f[F];T[0]<f[R][0]&&(R=F)}}for(var j=-1,m=0;m<3;++m){var F=O^1<<m;if(F!==_&&F!==P&&F!==R){j<0&&(j=F);var T=f[F];T[0]>f[j][0]&&(j=F)}}var N=v;N[0]=N[1]=N[2]=0,N[o.log2(R^O)]=O&R,N[o.log2(O^j)]=O&j;var B=7^j;B===_||B===P?(B=7^R,N[o.log2(j^B)]=B&j):N[o.log2(R^B)]=B&R;for(var U=g,V=_,k=0;k<3;++k)U[k]=V&1<<k?-1:1;return y}e.exports=a;var o=t(\\\"bit-twiddle\\\"),s=t(\\\"gl-mat4/multiply\\\"),l=(t(\\\"gl-mat4/invert\\\"),t(\\\"split-polygon\\\")),u=t(\\\"robust-orientation\\\"),c=new Array(16),h=(new Array(16),new Array(8)),f=new Array(8),d=new Array(3),p=[0,0,0];!function(){for(var t=0;t<8;++t)h[t]=[1,1,1,1],f[t]=[1,1,1]}();var m=[[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]],v=[1,1,1],g=[0,0,0],y={cubeEdges:v,axis:g}},{\\\"bit-twiddle\\\":66,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/multiply\\\":182,\\\"robust-orientation\\\":507,\\\"split-polygon\\\":525}],150:[function(t,e,r){\\\"use strict\\\";function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}function o(t,e,r){var n=[],i=[0,0,0],o=[0,0,0],c=[0,0,0],h=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var d=n.length/3|0,p=0;p<r[f].length;++p){var m=+r[f][p].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var v=n.length/3|0;i[f]=d,o[f]=v-d;for(var d=n.length/3|0,g=0;g<r[f].length;++g){var m=+r[f][g].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var v=n.length/3|0;c[f]=d,h[f]=v-d}var y=s(t,new Float32Array(n)),b=l(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),x=u(t);return x.attributes.position.location=0,new a(t,y,b,x,o,i,h,c)}e.exports=o;var s=t(\\\"gl-buffer\\\"),l=t(\\\"gl-vao\\\"),u=t(\\\"./shaders\\\").line,c=[0,0,0],h=[0,0,0],f=[0,0,0],d=[0,0,0],p=[1,1],m=a.prototype;m.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,p[0]=this.gl.drawingBufferWidth,p[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=p,this.vao.bind()},m.drawAxisLine=function(t,e,r,a,o){var s=n(h);this.shader.uniforms.majorAxis=h,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(d,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;var u=n(f);u[(t+2)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6);var u=n(f);u[(t+1)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6)},m.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},m.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(h);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[e]+=r[0][e],this.shader.uniforms.offset=u;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var m=n(f);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},m.drawZero=function(t,e,r,a,o,s){var l=n(h);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[t]+=r[0][t],this.shader.uniforms.offset=u;var c=n(f);c[e]=1,this.shader.uniforms.screenAxis=c,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},m.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":151,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],151:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\");r.line=function(t){return n(t,\\\"#define GLSLIFY 1\\\\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\\\",\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};r.text=function(t){return n(t,\\\"#define GLSLIFY 1\\\\nattribute vec3 position;\\\\n\\\\nuniform mat4 model, view, projection;\\\\nuniform vec3 offset, axis;\\\\nuniform float scale, angle, pixelScale;\\\\nuniform vec2 resolution;\\\\n\\\\nvoid main() {  \\\\n  //Compute plane offset\\\\n  vec2 planeCoord = position.xy * pixelScale;\\\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\\\n                                -sin(angle), cos(angle));\\\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\\\n\\\\n  //Compute world offset\\\\n  float axisDistance = position.z;\\\\n  vec3 dataPosition = axisDistance * axis + offset;\\\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\\\n  \\\\n  //Compute clip position\\\\n  vec4 viewPosition = view * worldPosition;\\\\n  vec4 clipPosition = projection * viewPosition;\\\\n  clipPosition /= clipPosition.w;\\\\n\\\\n  //Apply text offset in clip coordinates\\\\n  clipPosition += vec4(viewOffset, 0, 0);\\\\n\\\\n  //Done\\\\n  gl_Position = clipPosition;\\\\n}\\\",\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};r.bg=function(t){return n(t,\\\"#define GLSLIFY 1\\\\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  if(dot(normal, enable) > 0.0) {\\\\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\\\\n}\\\",\\\"precision mediump 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}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":254}],152:[function(t,e,r){(function(r){\\\"use strict\\\";function n(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}function i(t,e){try{return l(t,e)}catch(t){return console.warn(\\\"error vectorizing text:\\\",t),{cells:[],positions:[]}}}function a(t,e,r,i,a,l){var c=o(t),h=s(t,[{buffer:c,size:3}]),f=u(t);f.attributes.position.location=0;var d=new n(t,f,c,h);return d.update(e,r,i,a,l),d}e.exports=a;var o=t(\\\"gl-buffer\\\"),s=t(\\\"gl-vao\\\"),l=t(\\\"vectorize-text\\\"),u=t(\\\"./shaders\\\").text,c=window||r.global||{},h=c.__TEXT_CACHE||{};c.__TEXT_CACHE={};var f=n.prototype,d=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=d},f.update=function(t,e,r,n,a){function o(t,e,r,n){var a=h[r];a||(a=h[r]={});var o=a[e];o||(o=a[e]=i(e,{triangles:!0,font:r,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\"}));for(var l=(n||12)/12,u=o.positions,c=o.cells,f=0,d=c.length;f<d;++f)for(var p=c[f],m=2;m>=0;--m){var v=u[p[m]];s.push(l*v[0],-l*v[1],t)}}for(var s=(this.gl,[]),l=[0,0,0],u=[0,0,0],c=[0,0,0],f=[0,0,0],d=0;d<3;++d){c[d]=s.length/3|0,o(.5*(t[0][d]+t[1][d]),e[d],r),f[d]=(s.length/3|0)-c[d],l[d]=s.length/3|0;for(var p=0;p<n[d].length;++p)n[d][p].text&&o(n[d][p].x,n[d][p].text,n[d][p].font||a,n[d][p].fontSize||12);u[d]=(s.length/3|0)-l[d]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=f};var p=[0,0,0];f.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=p;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var m=[0,0,0];f.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=m,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},f.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\\\"_process\\\"))},{\\\"./shaders\\\":151,_process:486,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270,\\\"vectorize-text\\\":553}],153:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+\\\"\\\",n=r.indexOf(\\\".\\\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\\\"\\\";if(s.indexOf(\\\"e\\\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\\\"\\\"+l;if(o<0&&(c=\\\"-\\\"+c),i){for(var h=\\\"\\\"+u;h.length<i;)h=\\\"0\\\"+h;return c+\\\".\\\"+h}return c}function i(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r}function a(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 i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}r.create=i,r.equal=a},{}],154:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=p,s=m,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,h(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,h(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,c=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+c*c)}return t}function a(t,e,r,n,a){var h=e.model||f,p=e.view||f,m=e.projection||f,y=t.bounds,a=a||l(h,p,m,y),b=a.axis;a.edges;u(d,p,h),u(d,m,d);for(var x=v,_=0;_<3;++_)x[_].lo=1/0,x[_].hi=-1/0,x[_].pixelsPerDataUnit=1/0;var w=o(c(d,d));c(d,d);for(var M=0;M<3;++M){var k=(M+1)%3,A=(M+2)%3,T=g;t:for(var _=0;_<2;++_){var S=[];if(b[M]<0!=!!_){T[M]=y[_][M];for(var E=0;E<2;++E){T[k]=y[E^_][k];for(var L=0;L<2;++L)T[A]=y[L^E^_][A],S.push(T.slice())}for(var E=0;E<w.length;++E){if(0===S.length)continue t;S=s.positive(S,w[E])}for(var E=0;E<S.length;++E)for(var A=S[E],C=i(g,d,A,r,n),L=0;L<3;++L)x[L].lo=Math.min(x[L].lo,A[L]),x[L].hi=Math.max(x[L].hi,A[L]),L!==M&&(x[L].pixelsPerDataUnit=Math.min(x[L].pixelsPerDataUnit,Math.abs(C[L])))}}}return x}e.exports=a;var o=t(\\\"extract-frustum-planes\\\"),s=t(\\\"split-polygon\\\"),l=t(\\\"./lib/cube.js\\\"),u=t(\\\"gl-mat4/multiply\\\"),c=t(\\\"gl-mat4/transpose\\\"),h=t(\\\"gl-vec4/transformMat4\\\"),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=new Float32Array(16),p=[0,0,0,1],m=[0,0,0,1],v=[new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0)],g=[0,0,0]},{\\\"./lib/cube.js\\\":149,\\\"extract-frustum-planes\\\":129,\\\"gl-mat4/multiply\\\":182,\\\"gl-mat4/transpose\\\":190,\\\"gl-vec4/transformMat4\\\":276,\\\"split-polygon\\\":525}],155:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\\\"gl-buffer: If resizing buffer, must not specify offset\\\");return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=l.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}function o(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}function s(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||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(i!==t.DYNAMIC_DRAW&&i!==t.STATIC_DRAW&&i!==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(),o=new n(t,r,a,0,i);return o.update(e),o}var l=t(\\\"typedarray-pool\\\"),u=t(\\\"ndarray-ops\\\"),c=t(\\\"ndarray\\\"),h=[\\\"uint8\\\",\\\"uint8_clamped\\\",\\\"uint16\\\",\\\"uint32\\\",\\\"int8\\\",\\\"int16\\\",\\\"int32\\\",\\\"float32\\\"],f=n.prototype;f.bind=function(){this.gl.bindBuffer(this.type,this.handle)},f.unbind=function(){this.gl.bindBuffer(this.type,null)},f.dispose=function(){this.gl.deleteBuffer(this.handle)},f.update=function(t,e){if(\\\"number\\\"!=typeof e&&(e=-1),this.bind(),\\\"object\\\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(h.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&&o(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=l.malloc(t.size,r),s=c(n,t.shape);u.assign(s,t),this.length=e<0?i(this.gl,this.type,this.length,this.usage,n,e):i(this.gl,this.type,this.length,this.usage,n.subarray(0,t.size),e),l.free(n)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,\\\"uint16\\\"):a(t,\\\"float32\\\"),this.length=e<0?i(this.gl,this.type,this.length,this.usage,f,e):i(this.gl,this.type,this.length,this.usage,f.subarray(0,t.length),e),l.free(f)}else if(\\\"object\\\"==typeof t&&\\\"number\\\"==typeof t.length)this.length=i(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,t<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=s},{ndarray:466,\\\"ndarray-ops\\\":460,\\\"typedarray-pool\\\":540}],156:[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\\\"}},{}],157:[function(t,e,r){var n=t(\\\"./1.0/numbers\\\");e.exports=function(t){return n[t]}},{\\\"./1.0/numbers\\\":156}],158:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.plot=t,this.shader=e,this.bufferHi=r,this.bufferLo=n,this.bounds=[1/0,1/0,-1/0,-1/0],this.numPoints=0,this.color=[0,0,0,1]}function i(t,e){var r=a(t.gl,l.vertex,l.fragment),i=o(t.gl),s=o(t.gl),u=new n(t,r,i,s);return u.update(e),t.addObject(u),u}var a=t(\\\"gl-shader\\\"),o=t(\\\"gl-buffer\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"./lib/shaders\\\");e.exports=i;var u=[[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]],c=n.prototype;c.draw=function(){var t=new Float32Array([0,0]),e=new Float32Array([0,0]),r=new Float32Array([0,0]),n=new Float32Array([0,0]),i=[1,1];return function(){var a=this.plot,o=this.shader,s=this.bounds,l=this.numPoints;if(l){var c=a.gl,h=a.dataBox,f=a.viewBox,d=a.pixelRatio,p=s[2]-s[0],m=s[3]-s[1],v=h[2]-h[0],g=h[3]-h[1],y=2*p/v,b=2*m/g,x=(s[0]-h[0]-.5*v)/p,_=(s[1]-h[1]-.5*g)/m;t[0]=y,t[1]=b,e[0]=y-t[0],e[1]=b-t[1],r[0]=x,r[1]=_,n[0]=x-r[0],n[1]=_-r[1];var w=f[2]-f[0],M=f[3]-f[1];i[0]=2*d/w,i[1]=2*d/M,o.bind(),o.uniforms.scaleHi=t,o.uniforms.scaleLo=e,o.uniforms.translateHi=r,o.uniforms.translateLo=n,o.uniforms.pixelScale=i,o.uniforms.color=this.color,this.bufferLo.bind(),o.attributes.positionLo.pointer(c.FLOAT,!1,16,0),this.bufferHi.bind(),o.attributes.positionHi.pointer(c.FLOAT,!1,16,0),o.attributes.pixelOffset.pointer(c.FLOAT,!1,16,8),c.drawArrays(c.TRIANGLES,0,l*u.length)}}}(),c.drawPick=function(t){return t},c.pick=function(){return null},c.update=function(t){t=t||{};var e,r,n,i=t.positions||[],a=t.errors||[],o=1;\\\"lineWidth\\\"in t&&(o=+t.lineWidth);var l=5;\\\"capSize\\\"in t&&(l=+t.capSize),this.color=(t.color||[0,0,0,1]).slice();var c=this.bounds=[1/0,1/0,-1/0,-1/0],h=this.numPoints=i.length>>1;for(e=0;e<h;++e)r=i[2*e],n=i[2*e+1],c[0]=Math.min(r,c[0]),c[1]=Math.min(n,c[1]),c[2]=Math.max(r,c[2]),c[3]=Math.max(n,c[3]);c[2]===c[0]&&(c[2]+=1),c[3]===c[1]&&(c[3]+=1);var f=1/(c[2]-c[0]),d=1/(c[3]-c[1]),p=c[0],m=c[1],v=s.mallocFloat64(h*u.length*4),g=s.mallocFloat32(h*u.length*4),y=s.mallocFloat32(h*u.length*4),b=0;for(e=0;e<h;++e){r=i[2*e],n=i[2*e+1];for(var x=a[4*e],_=a[4*e+1],w=a[4*e+2],M=a[4*e+3],k=0;k<u.length;++k){var A=u[k],T=A[0],S=A[1];T<0?T*=x:T>0&&(T*=_),S<0?S*=w:S>0&&(S*=M),v[b++]=f*(r-p+T),v[b++]=d*(n-m+S),v[b++]=o*A[2]+(l+o)*A[4],v[b++]=o*A[3]+(l+o)*A[5]}}for(e=0;e<v.length;e++)g[e]=v[e],y[e]=v[e]-g[e];this.bufferHi.update(g),this.bufferLo.update(y),s.free(v)},c.dispose=function(){this.plot.removeObject(this),this.shader.dispose(),this.bufferHi.dispose(),this.bufferLo.dispose()}},{\\\"./lib/shaders\\\":159,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"typedarray-pool\\\":540}],159:[function(t,e,r){e.exports={\\n\",\n       \"vertex:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 positionHi;\\\\nattribute vec2 positionLo;\\\\nattribute vec2 pixelOffset;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo, pixelScale;\\\\n\\\\nvec2 project(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec3 scrPosition = vec3(\\\\n         project(scaleHi, translateHi, scaleLo, translateLo, positionHi, positionLo),\\\\n         1);\\\\n  gl_Position = vec4(\\\\n    scrPosition.xy + scrPosition.z * pixelScale * pixelOffset,\\\\n    0,\\\\n    scrPosition.z);\\\\n}\\\\n\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\\\n}\\\\n\\\"}},{}],160:[function(t,e,r){\\\"use strict\\\";function n(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}function i(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])}function a(t,e,r,n){for(var i=f[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}function o(t){var e=t.gl,r=s(e),i=l(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}]),a=u(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var o=new n(e,r,i,a);return o.update(t),o}e.exports=o;var s=t(\\\"gl-buffer\\\"),l=t(\\\"gl-vao\\\"),u=t(\\\"./shaders/index\\\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=n.prototype;h.isOpaque=function(){return this.opacity>=1},h.isTransparent=function(){return this.opacity<1},h.drawTransparent=h.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=(n+e)%3,o=[0,0,0];o[a]=i,r.push(o)}t[e]=r}return t}();h.update=function(t){t=t||{},\\\"lineWidth\\\"in 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])),\\\"opacity\\\"in t&&(this.opacity=t.opacity);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 o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var u=0;u<3;++u){this.lineOffset[u]=l;t:for(var c=0;c<s;++c){for(var h=r[c],f=0;f<3;++f)if(isNaN(h[f])||!isFinite(h[f]))continue t;var d=n[c],p=e[u];if(Array.isArray(p[0])&&(p=e[c]),3===p.length&&(p=[p[0],p[1],p[2],1]),!isNaN(d[0][u])&&!isNaN(d[1][u])){if(d[0][u]<0){var m=h.slice();m[u]+=d[0][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,u)}if(d[1][u]>0){var m=h.slice();m[u]+=d[1][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,u)}}}this.lineCount[u]=l-this.lineOffset[u]}this.buffer.update(o)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\\\"./shaders/index\\\":162,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],161:[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(\\\"\\\")}},{}],162:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"precision mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec3 clipBounds[2];\\\\nuniform float opacity;\\\\nvarying vec3 fragPosition;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = opacity * fragColor;\\\\n}\\\"]);e.exports=function(t){return i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"offset\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":254,glslify:161}],163:[function(t,e,r){\\\"use strict\\\";function n(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);y=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;y[n]=i}}function o(t){switch(t){case p:throw new Error(\\\"gl-fbo: Framebuffer unsupported\\\");case m:throw new Error(\\\"gl-fbo: Framebuffer incomplete attachment\\\");case v:throw new Error(\\\"gl-fbo: Framebuffer incomplete dimensions\\\");case g:throw new Error(\\\"gl-fbo: Framebuffer incomplete missing attachment\\\");default:throw new Error(\\\"gl-fbo: Framebuffer failed for unspecified reason\\\")}}function s(t,e,r,n,i,a){if(!n)return null;var o=d(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function l(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function u(t){var e=n(t.gl),r=t.gl,a=t.handle=r.createFramebuffer(),u=t._shape[0],c=t._shape[1],h=t.color.length,f=t._ext,d=t._useStencil,p=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,a);for(var v=0;v<h;++v)t.color[v]=s(r,u,c,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===h?(t._color_rb=l(r,u,c,r.RGBA4,r.COLOR_ATTACHMENT0),f&&f.drawBuffersWEBGL(y[0])):h>1&&f.drawBuffersWEBGL(y[h]);var g=r.getExtension(\\\"WEBGL_depth_texture\\\");g?d?t.depth=s(r,u,c,g.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&&(t.depth=s(r,u,c,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&&d?t._depth_rb=l(r,u,c,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=l(r,u,c,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=l(r,u,c,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var b=r.checkFramebufferStatus(r.FRAMEBUFFER);if(b!==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(var 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),i(r,e),o(b)}i(r,e)}function c(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var l=0;l<i;++l)this.color[l]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var c=this,h=[0|e,0|r];Object.defineProperties(h,{0:{get:function(){return c._shape[0]},set:function(t){return c.width=t}},1:{get:function(){return c._shape[1]},set:function(t){return c.height=t}}}),this._shapeVector=h,u(this)}function h(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 a=t.gl,s=a.getParameter(a.MAX_RENDERBUFFER_SIZE);if(e<0||e>s||r<0||r>s)throw new Error(\\\"gl-fbo: Can't resize FBO, invalid dimensions\\\");t._shape[0]=e,t._shape[1]=r;for(var l=n(a),u=0;u<t.color.length;++u)t.color[u].shape=t._shape;t._color_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._color_rb),a.renderbufferStorage(a.RENDERBUFFER,a.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&a.renderbufferStorage(a.RENDERBUFFER,a.STENCIL_INDEX,t._shape[0],t._shape[1])),a.bindFramebuffer(a.FRAMEBUFFER,t.handle);var c=a.checkFramebufferStatus(a.FRAMEBUFFER);c!==a.FRAMEBUFFER_COMPLETE&&(t.dispose(),i(a,l),o(c)),i(a,l)}}function f(t,e,r,n){p||(p=t.FRAMEBUFFER_UNSUPPORTED,m=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,v=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,g=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\\\"WEBGL_draw_buffers\\\");if(!y&&i&&a(t,i),Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]),\\\"number\\\"!=typeof e)throw new Error(\\\"gl-fbo: Missing shape parameter\\\");var o=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>o||r<0||r>o)throw new Error(\\\"gl-fbo: Parameters are too large for FBO\\\");n=n||{};var s=1;if(\\\"color\\\"in n){if((s=Math.max(0|n.color,0))<0)throw new Error(\\\"gl-fbo: Must specify a nonnegative number of colors\\\");if(s>1){if(!i)throw new Error(\\\"gl-fbo: Multiple draw buffer extension not supported\\\");if(s>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\\\"gl-fbo: Context does not support \\\"+s+\\\" draw buffers\\\")}}var l=t.UNSIGNED_BYTE,u=t.getExtension(\\\"OES_texture_float\\\");if(n.float&&s>0){if(!u)throw new Error(\\\"gl-fbo: Context does not support floating point textures\\\");l=t.FLOAT}else n.preferFloat&&s>0&&u&&(l=t.FLOAT);var h=!0;\\\"depth\\\"in n&&(h=!!n.depth);var f=!1;return\\\"stencil\\\"in n&&(f=!!n.stencil),new c(t,e,r,l,s,h,f,i)}var d=t(\\\"gl-texture2d\\\");e.exports=f;var p,m,v,g,y=null,b=c.prototype;Object.defineProperties(b,{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 h(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,h(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t},enumerable:!1}}),b.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])}},b.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\\\":266}],164:[function(t,e,r){function n(t,e,r){\\\"use strict\\\";var n=o(e)||\\\"of unknown name (see npm glsl-shader-name)\\\",l=\\\"unknown type\\\";void 0!==r&&(l=r===a.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\");for(var u=i(\\\"Error compiling %s shader %s:\\\\n\\\",l,n),c=i(\\\"%s%s\\\",u,t),h=t.split(\\\"\\\\n\\\"),f={},d=0;d<h.length;d++){var p=h[d];if(\\\"\\\"!==p){var m=parseInt(p.split(\\\":\\\")[2]);if(isNaN(m))throw new Error(i(\\\"Could not parse error: %s\\\",p));f[m]=p}}for(var v=s(e).split(\\\"\\\\n\\\"),d=0;d<v.length;d++)if(f[d+3]||f[d+2]||f[d+1]){var g=v[d];if(u+=g+\\\"\\\\n\\\",f[d+1]){var y=f[d+1];y=y.substr(y.split(\\\":\\\",3).join(\\\":\\\").length+1).trim(),u+=i(\\\"^^^ %s\\\\n\\\\n\\\",y)}}return{long:u.trim(),short:c.trim()}}var i=t(\\\"sprintf-js\\\").sprintf,a=t(\\\"gl-constants/lookup\\\"),o=t(\\\"glsl-shader-name\\\"),s=t(\\\"add-line-numbers\\\");e.exports=n},{\\\"add-line-numbers\\\":39,\\\"gl-constants/lookup\\\":157,\\\"glsl-shader-name\\\":278,\\\"sprintf-js\\\":526}],165:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}function i(t,e){var r=t.gl,i=l(r,c.vertex,c.fragment),a=l(r,c.pickVertex,c.pickFragment),o=u(r),s=u(r),h=u(r),f=u(r),d=new n(t,i,a,o,s,h,f);return d.update(e),t.addObject(d),d}e.exports=i;var a=t(\\\"binary-search-bounds\\\"),o=t(\\\"iota-array\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"gl-shader\\\"),u=t(\\\"gl-buffer\\\"),c=t(\\\"./lib/shaders\\\"),h=n.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];h.draw=function(){var t=[1,0,0,0,1,0,0,0,1];return function(){var e=this.plot,r=this.shader,n=this.bounds,i=this.numVertices;if(!(i<=0)){var a=e.gl,o=e.dataBox,s=n[2]-n[0],l=n[3]-n[1],u=o[2]-o[0],c=o[3]-o[1];t[0]=2*s/u,t[4]=2*l/c,t[6]=2*(n[0]-o[0])/u-1,t[7]=2*(n[1]-o[1])/c-1,r.bind();var h=r.uniforms;h.viewTransform=t,h.shape=this.shape;var f=r.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,i)}}}(),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,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,u=a[2]-a[0],c=a[3]-a[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*u/h,t[4]=2*c/f,t[6]=2*(a[0]-l[0])/h-1,t[7]=2*(a[1]-l[1])/f-1;for(var d=0;d<4;++d)e[d]=r>>8*d&255;this.pickOffset=r,i.bind();var p=i.uniforms;p.viewTransform=t,p.pickOffset=e,p.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.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,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},h.update=function(t){t=t||{};var e=t.shape||[0,0],r=t.x||o(e[0]),n=t.y||o(e[1]),i=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var l=t.colorLevels||[0],u=t.colorValues||[0,0,0,1],c=l.length,h=this.bounds,d=h[0]=r[0],p=h[1]=n[0],m=h[2]=r[r.length-1],v=h[3]=n[n.length-1],g=1/(m-d),y=1/(v-p),b=e[0],x=e[1];this.shape=[b,x];var _=(b-1)*(x-1)*(f.length>>>1);this.numVertices=_;for(var w=s.mallocUint8(4*_),M=s.mallocFloat32(2*_),k=s.mallocUint8(2*_),A=s.mallocUint32(_),T=0,S=0;S<x-1;++S)for(var E=y*(n[S]-p),L=y*(n[S+1]-p),C=0;C<b-1;++C)for(var z=g*(r[C]-d),I=g*(r[C+1]-d),D=0;D<f.length;D+=2){var P,O,R,F,j=f[D],N=f[D+1],B=(S+N)*b+(C+j),U=i[B],V=a.le(l,U);if(V<0)P=u[0],O=u[1],R=u[2],F=u[3];else if(V===c-1)P=u[4*c-4],O=u[4*c-3],R=u[4*c-2],F=u[4*c-1];else{var H=(U-l[V])/(l[V+1]-l[V]),q=1-H,G=4*V,Y=4*(V+1);P=q*u[G]+H*u[Y],O=q*u[G+1]+H*u[Y+1],R=q*u[G+2]+H*u[Y+2],F=q*u[G+3]+H*u[Y+3]}w[4*T]=255*P,w[4*T+1]=255*O,w[4*T+2]=255*R,w[4*T+3]=255*F,M[2*T]=.5*z+.5*I,M[2*T+1]=.5*E+.5*L,k[2*T]=j,k[2*T+1]=N,A[T]=S*b+C,T+=1}this.positionBuffer.update(M),this.weightBuffer.update(k),this.colorBuffer.update(w),this.idBuffer.update(A),s.free(M),s.free(w),s.free(k),s.free(A)},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\\\":166,\\\"binary-search-bounds\\\":167,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"iota-array\\\":292,\\\"typedarray-pool\\\":540}],166:[function(t,e,r){\\\"use strict\\\";e.exports={fragment:\\\"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:\\\"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:\\\"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:\\\"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\\\"}},{}],167:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],168:[function(t,e,r){r.lineVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo, dHi, dLo;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\\\nuniform float width;\\\\n\\\\nvarying vec2 direction;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvec2 project_2_1(vec2 scHi, vec2 scLo, vec2 posHi, vec2 posLo) {\\\\n  return scHi * posHi\\\\n       + scLo * posHi\\\\n       + scHi * posLo\\\\n       + scLo * posLo;\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  vec2 dir = project_2_1(scaleHi, scaleLo, dHi, dLo);\\\\n  vec2 n = 0.5 * width * normalize(screenShape.yx * vec2(dir.y, -dir.x)) / screenShape.xy;\\\\n  vec2 tangent = normalize(screenShape.xy * dir);\\\\n  if(dir.x < 0.0 || (dir.x == 0.0 && dir.y < 0.0)) {\\\\n    direction = -tangent;\\\\n  } else {\\\\n    direction = tangent;\\\\n  }\\\\n  gl_Position = vec4(p + n, 0.0, 1.0);\\\\n}\\\",r.lineFragment=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\nuniform vec2 screenShape;\\\\nuniform sampler2D dashPattern;\\\\nuniform float dashLength;\\\\n\\\\nvarying vec2 direction;\\\\n\\\\nvoid main() {\\\\n  float t = fract(dot(direction, gl_FragCoord.xy) / dashLength);\\\\n  vec4 pcolor = color * texture2D(dashPattern, vec2(t, 0.0)).r;\\\\n  gl_FragColor = vec4(pcolor.rgb * pcolor.a, pcolor.a);\\\\n}\\\",r.mitreVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo;\\\\nuniform float radius;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  gl_Position = vec4(p, 0.0, 1.0);\\\\n  gl_PointSize = radius;\\\\n}\\\",r.mitreFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  if(length(gl_PointCoord.xy - 0.5) > 0.25) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(color.rgb, color.a);\\\\n}\\\",r.pickVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo, dHi;\\\\nattribute vec4 pick0, pick1;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\\\nuniform float width;\\\\n\\\\nvarying vec4 pickA, pickB;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  vec2 n = width * normalize(screenShape.yx * vec2(dHi.y, -dHi.x)) / screenShape.xy;\\\\n  gl_Position = vec4(p + n, 0, 1);\\\\n  pickA = pick0;\\\\n  pickB = pick1;\\\\n}\\\",r.pickFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 pickOffset;\\\\n\\\\nvarying vec4 pickA, pickB;\\\\n\\\\nvoid main() {\\\\n  vec4 fragId = vec4(pickA.xyz, 0.0);\\\\n  if(pickB.w > pickA.w) {\\\\n    fragId.xyz = pickB.xyz;\\\\n  }\\\\n\\\\n  fragId += pickOffset;\\\\n\\\\n  fragId.y += floor(fragId.x / 256.0);\\\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\\\n\\\\n  fragId.z += floor(fragId.y / 256.0);\\\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\\\n\\\\n  fragId.w += floor(fragId.z / 256.0);\\\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\\\n\\\\n  gl_FragColor = fragId / 255.0;\\\\n}\\\",r.fillVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo, dHi;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, projectAxis;\\\\nuniform float projectValue, depth;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  if(dHi.y < 0.0 || (dHi.y == 0.0 && dHi.x < 0.0)) {\\\\n    if(dot(p, projectAxis) < projectValue) {\\\\n      p = p * (1.0 - abs(projectAxis)) + projectAxis * projectValue;\\\\n    }\\\\n  }\\\\n  gl_Position = vec4(p, depth, 1);\\\\n}\\\",r.fillFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\\\n}\\\"},{}],169:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l){this.plot=t,this.dashPattern=e,this.lineBufferHi=r,this.lineBufferLo=n,this.pickBuffer=i,this.lineShader=a,this.mitreShader=o,this.fillShader=s,this.pickShader=l,this.usingDashes=!1,this.bounds=[1/0,1/0,-1/0,-1/0],this.width=1,this.color=[0,0,1,1],this.fill=[!1,!1,!1,!1],this.fillColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.data=null,this.numPoints=0,this.vertCount=0,this.pickOffset=0}function i(t){return t.map(function(t){return t.slice()})}function a(t,e){var r=t.gl,i=s(r),a=s(r),u=s(r),c=l(r,[1,1]),f=o(r,h.lineVertex,h.lineFragment),d=o(r,h.mitreVertex,h.mitreFragment),p=o(r,h.fillVertex,h.fillFragment),m=o(r,h.pickVertex,h.pickFragment),v=new n(t,c,i,a,u,f,d,p,m);return t.addObject(v),v.update(e),v}e.exports=a;var o=t(\\\"gl-shader\\\"),s=t(\\\"gl-buffer\\\"),l=t(\\\"gl-texture2d\\\"),u=t(\\\"ndarray\\\"),c=t(\\\"typedarray-pool\\\"),h=t(\\\"./lib/shaders\\\"),f=n.prototype;f.setProjectionModel=function(){var t={scaleHi:new Float32Array([0,0]),scaleLo:new Float32Array([0,0]),translateHi:new Float32Array([0,0]),translateLo:new Float32Array([0,0]),screenShape:[0,0]};return function(){var e=this.bounds,r=this.plot.viewBox,n=this.plot.dataBox,i=e[2]-e[0],a=e[3]-e[1],o=n[2]-n[0],s=n[3]-n[1],l=r[2]-r[0],u=r[3]-r[1],c=2*i/o,h=2*a/s,f=(e[0]-n[0]-.5*o)/i,d=(e[1]-n[1]-.5*s)/a;return t.scaleHi[0]=c,t.scaleHi[1]=h,t.scaleLo[0]=c-t.scaleHi[0],t.scaleLo[1]=h-t.scaleHi[1],t.translateHi[0]=f,t.translateHi[1]=d,t.translateLo[0]=f-t.translateHi[0],t.translateLo[1]=d-t.translateHi[1],t.screenShape[0]=l,t.screenShape[1]=u,t}}(),f.setProjectionUniforms=function(t,e){t.scaleHi=e.scaleHi,t.scaleLo=e.scaleLo,t.translateHi=e.translateHi,t.translateLo=e.translateLo,t.screenShape=e.screenShape},f.draw=function(){var t=[1,0],e=[-1,0],r=[0,1],n=[0,-1];return function(){var i=this.vertCount;if(i){var a=this.setProjectionModel(),o=this.plot,s=this.width,l=o.gl,u=o.pixelRatio,c=this.color,h=this.fillShader.attributes;this.lineBufferLo.bind(),h.aLo.pointer(l.FLOAT,!1,16,0),this.lineBufferHi.bind();var f=this.fill;if(f[0]||f[1]||f[2]||f[3]){var d=this.fillShader;d.bind();var p=d.uniforms;this.setProjectionUniforms(p,a),p.depth=o.nextDepthValue(),h.aHi.pointer(l.FLOAT,!1,16,0),h.dHi.pointer(l.FLOAT,!1,16,8),l.depthMask(!0),l.enable(l.DEPTH_TEST);var m=this.fillColor;f[0]&&(p.color=m[0],p.projectAxis=e,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[1]&&(p.color=m[1],p.projectAxis=n,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[2]&&(p.color=m[2],p.projectAxis=t,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[3]&&(p.color=m[3],p.projectAxis=r,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),l.depthMask(!1),l.disable(l.DEPTH_TEST)}var v=this.lineShader;v.bind(),this.lineBufferLo.bind(),v.attributes.aLo.pointer(l.FLOAT,!1,16,0),v.attributes.dLo.pointer(l.FLOAT,!1,16,8),this.lineBufferHi.bind();var g=v.uniforms;this.setProjectionUniforms(g,a),g.color=c,g.width=s*u,g.dashPattern=this.dashPattern.bind(),g.dashLength=this.dashLength*u;var y=v.attributes;if(y.aHi.pointer(l.FLOAT,!1,16,0),y.dHi.pointer(l.FLOAT,!1,16,8),l.drawArrays(l.TRIANGLES,0,i),s>2&&!this.usingDashes){var b=this.mitreShader;this.lineBufferLo.bind(),b.attributes.aLo.pointer(l.FLOAT,!1,48,0),this.lineBufferHi.bind(),b.bind();var x=b.uniforms;this.setProjectionUniforms(x,a),x.color=c,x.radius=s*u,b.attributes.aHi.pointer(l.FLOAT,!1,48,0),l.drawArrays(l.POINTS,0,i/3|0)}}}}(),f.drawPick=function(){var t=[0,0,0,0];return function(e){var r=this.vertCount,n=this.numPoints;if(this.pickOffset=e,!r)return e+n;var i=this.setProjectionModel(),a=this.plot,o=this.width,s=a.gl,l=a.pickPixelRatio,u=this.pickShader,c=this.pickBuffer;t[0]=255&e,t[1]=e>>>8&255,t[2]=e>>>16&255,t[3]=e>>>24,u.bind();var h=u.uniforms;this.setProjectionUniforms(h,i),h.width=o*l,h.pickOffset=t;var f=u.attributes;return this.lineBufferHi.bind(),f.aHi.pointer(s.FLOAT,!1,16,0),f.dHi.pointer(s.FLOAT,!1,16,8),this.lineBufferLo.bind(),f.aLo.pointer(s.FLOAT,!1,16,0),c.bind(),f.pick0.pointer(s.UNSIGNED_BYTE,!1,8,0),f.pick1.pointer(s.UNSIGNED_BYTE,!1,8,4),s.drawArrays(s.TRIANGLES,0,r),e+n}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.numPoints;if(r<n||r>=n+i)return null;var a=r-n,o=this.data;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},f.update=function(t){t=t||{};var e,r,n,a,o,s=this.plot.gl;this.color=(t.color||[0,0,1,1]).slice(),this.width=+(t.width||1),this.fill=(t.fill||[!1,!1,!1,!1]).slice(),this.fillColor=i(t.fillColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var h=t.dashes||[1],f=0;for(e=0;e<h.length;++e)f+=h[e];var d=c.mallocUint8(f);n=0;var p=255;for(e=0;e<h.length;++e){for(r=0;r<h[e];++r)d[n++]=p;p^=255}this.dashPattern.dispose(),this.usingDashes=h.length>1,this.dashPattern=l(s,u(d,[f,1,4],[1,0,0])),this.dashPattern.minFilter=s.NEAREST,this.dashPattern.magFilter=s.NEAREST,this.dashLength=f,c.free(d);var m=t.positions;this.data=m;var v=this.bounds;v[0]=v[1]=1/0,v[2]=v[3]=-1/0;var g=this.numPoints=m.length>>>1;if(0!==g){for(e=0;e<g;++e)a=m[2*e],o=m[2*e+1],isNaN(a)||isNaN(o)||(v[0]=Math.min(v[0],a),v[1]=Math.min(v[1],o),v[2]=Math.max(v[2],a),v[3]=Math.max(v[3],o));v[0]===v[2]&&(v[2]+=1),v[3]===v[1]&&(v[3]+=1);var y=c.mallocFloat64(24*(g-1)),b=c.mallocFloat32(24*(g-1)),x=c.mallocFloat32(24*(g-1)),_=c.mallocUint32(12*(g-1)),w=b.length,M=_.length;n=g;for(var k=0;n>1;){var A=--n;a=m[2*n],o=m[2*n+1];var T=A-1,S=m[2*T],E=m[2*T+1];if(!(isNaN(a)||isNaN(o)||isNaN(S)||isNaN(E))){k+=1,a=(a-v[0])/(v[2]-v[0]),o=(o-v[1])/(v[3]-v[1]),S=(S-v[0])/(v[2]-v[0]),E=(E-v[1])/(v[3]-v[1]);var L=S-a,C=E-o,z=A|1<<24,I=A-1,D=A,P=A-1|1<<24;y[--w]=-C,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=z,_[--M]=I,y[--w]=C,y[--w]=L,y[--w]=E,y[--w]=S,_[--M]=D,_[--M]=P,y[--w]=-C,y[--w]=-L,y[--w]=E,y[--w]=S,_[--M]=D,_[--M]=P,y[--w]=C,y[--w]=L,y[--w]=E,y[--w]=S,_[--M]=D,_[--M]=P,y[--w]=-C,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=z,_[--M]=I,y[--w]=C,y[--w]=L,y[--w]=o,y[--w]=a,_[--M]=z,_[--M]=I}}for(e=0;e<y.length;e++)b[e]=y[e],x[e]=y[e]-b[e];this.vertCount=6*k,this.lineBufferHi.update(b.subarray(w)),this.lineBufferLo.update(x.subarray(w)),this.pickBuffer.update(_.subarray(M)),c.free(y),c.free(b),c.free(x),c.free(_)}},f.dispose=function(){this.plot.removeObject(this),this.lineBufferLo.dispose(),this.lineBufferHi.dispose(),this.pickBuffer.dispose(),this.lineShader.dispose(),this.mitreShader.dispose(),this.fillShader.dispose(),this.pickShader.dispose(),this.dashPattern.dispose()}},{\\\"./lib/shaders\\\":168,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"gl-texture2d\\\":266,ndarray:466,\\\"typedarray-pool\\\":540}],170:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=\\\"precision mediump 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\\\\nvoid main() {\\\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\\\n\\\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\\\n\\\\n  worldPosition = position;\\\\n  pixelArcLength = arcLength;\\\\n  fragColor = color;\\\\n}\\\\n\\\",a=[{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 n(t,i,\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\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\\\",null,a)},r.createPickShader=function(t){return n(t,i,\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\n#define FLOAT_MAX  1.70141184e38\\\\n#define FLOAT_MIN  1.17549435e-38\\\\n\\\\nlowp vec4 encode_float_1_0(highp float v) {\\\\n  highp 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  highp vec4 c = vec4(0,0,0,0);\\\\n\\\\n  //Compute exponent and mantissa\\\\n  highp float e = floor(log2(av));\\\\n  highp 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  highp 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\\\\n\\\\n\\\\nuniform float pickId;\\\\nuniform vec3 clipBounds[2];\\\\n\\\\nvarying vec3 worldPosition;\\\\nvarying float pixelArcLength;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\\\\n}\\\",null,a)}},{\\\"gl-shader\\\":254}],171:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){\\n\",\n       \"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 a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}function s(t){var e=t.gl||t.scene&&t.scene.gl,r=m(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 n=v(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=l(e),a=u(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),s=d(new Array(1024),[256,1,4]),h=0;h<1024;++h)s.data[h]=255;var f=c(e,s);f.wrap=e.REPEAT;var p=new o(e,r,n,i,a,f);return p.update(t),p}e.exports=s;var l=t(\\\"gl-buffer\\\"),u=t(\\\"gl-vao\\\"),c=t(\\\"gl-texture2d\\\"),h=t(\\\"glsl-read-float\\\"),f=t(\\\"binary-search-bounds\\\"),d=t(\\\"ndarray\\\"),p=t(\\\"./lib/shaders\\\"),m=p.createShader,v=p.createPickShader,g=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],y=o.prototype;y.isTransparent=function(){return this.opacity<1},y.isOpaque=function(){return this.opacity>=1},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,clipBounds:i(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)},y.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},y.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;\\\"dashScale\\\"in t&&(this.dashScale=t.dashScale),\\\"opacity\\\"in t&&(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],u=[],c=[],h=0,p=0,m=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],v=!1;t:for(e=1;e<a.length;++e){var g=a[e-1],y=a[e];for(u.push(h),c.push(g.slice()),r=0;r<3;++r){if(isNaN(g[r])||isNaN(y[r])||!isFinite(g[r])||!isFinite(y[r])){if(!i&&l.length>0){for(var b=0;b<24;++b)l.push(l[l.length-12]);p+=2,v=!0}continue t}m[0][r]=Math.min(m[0][r],g[r],y[r]),m[1][r]=Math.max(m[1][r],g[r],y[r])}var x,_;Array.isArray(o[0])?(x=o[e-1],_=o[e]):x=_=o,3===x.length&&(x=[x[0],x[1],x[2],1]),3===_.length&&(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=h;if(h+=n(g,y),v){for(r=0;r<2;++r)l.push(g[0],g[1],g[2],y[0],y[1],y[2],M,w,x[0],x[1],x[2],x[3]);p+=2,v=!1}l.push(g[0],g[1],g[2],y[0],y[1],y[2],M,w,x[0],x[1],x[2],x[3],g[0],g[1],g[2],y[0],y[1],y[2],M,-w,x[0],x[1],x[2],x[3],y[0],y[1],y[2],g[0],g[1],g[2],h,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],g[0],g[1],g[2],h,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),u.push(h),c.push(a[a.length-1].slice()),this.bounds=m,this.vertexCount=p,this.points=c,this.arcLength=u,\\\"dashes\\\"in t){var k=t.dashes,A=k.slice();for(A.unshift(0),e=1;e<A.length;++e)A[e]=A[e-1]+A[e];var T=d(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)T.set(e,0,r,0);1&f.le(A,A[A.length-1]*e/255)?T.set(e,0,0,0):T.set(e,0,0,255)}this.texture.setPixels(T)}}},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=h(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new a(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],u=0;u<3;++u)l[u]=s*n[u]+o*i[u];var c=Math.min(o<.5?r:r+1,this.points.length-1);return new a(e,l,c,this.points[c])}},{\\\"./lib/shaders\\\":170,\\\"binary-search-bounds\\\":65,\\\"gl-buffer\\\":155,\\\"gl-texture2d\\\":266,\\\"gl-vao\\\":270,\\\"glsl-read-float\\\":277,ndarray:466}],172:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}e.exports=n},{}],173:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}e.exports=n},{}],174:[function(t,e,r){function n(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}e.exports=n},{}],175:[function(t,e,r){function n(){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}e.exports=n},{}],176:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],m=t[14],v=t[15];return(e*o-r*a)*(h*v-f*m)-(e*s-n*a)*(c*v-f*p)+(e*l-i*a)*(c*m-h*p)+(r*s-n*o)*(u*v-f*d)-(r*l-i*o)*(u*m-h*d)+(n*l-i*s)*(u*p-c*d)}e.exports=n},{}],177:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,v=a*s,g=a*l;return t[0]=1-h-p,t[1]=c+g,t[2]=f-v,t[3]=0,t[4]=c-g,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=f+v,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],178:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,m=a*u,v=o*s,g=o*l,y=o*u;return t[0]=1-(d+m),t[1]=h+y,t[2]=f-g,t[3]=0,t[4]=h-y,t[5]=1-(c+m),t[6]=p+v,t[7]=0,t[8]=f+g,t[9]=p-v,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}e.exports=n},{}],179:[function(t,e,r){function n(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}e.exports=n},{}],180:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,k=c*m-h*p,A=c*v-f*p,T=c*g-d*p,S=h*v-f*m,E=h*g-d*m,L=f*g-d*v,C=y*L-b*E+x*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(m*M-v*w+g*_)*C,t[3]=(f*w-h*M-d*_)*C,t[4]=(l*T-o*L-u*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(v*x-p*M-g*b)*C,t[7]=(c*M-f*x+d*b)*C,t[8]=(o*E-s*T+u*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*x+g*y)*C,t[11]=(h*x-c*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*b-p*_-v*y)*C,t[15]=(c*_-h*b+f*y)*C,t):null}e.exports=n},{}],181:[function(t,e,r){function n(t,e,r,n){var a,o,s,l,u,c,h,f,d,p,m=e[0],v=e[1],g=e[2],y=n[0],b=n[1],x=n[2],_=r[0],w=r[1],M=r[2];return Math.abs(m-_)<1e-6&&Math.abs(v-w)<1e-6&&Math.abs(g-M)<1e-6?i(t):(h=m-_,f=v-w,d=g-M,p=1/Math.sqrt(h*h+f*f+d*d),h*=p,f*=p,d*=p,a=b*d-x*f,o=x*h-y*d,s=y*f-b*h,p=Math.sqrt(a*a+o*o+s*s),p?(p=1/p,a*=p,o*=p,s*=p):(a=0,o=0,s=0),l=f*s-d*o,u=d*a-h*s,c=h*o-f*a,p=Math.sqrt(l*l+u*u+c*c),p?(p=1/p,l*=p,u*=p,c*=p):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=u,t[6]=f,t[7]=0,t[8]=s,t[9]=c,t[10]=d,t[11]=0,t[12]=-(a*m+o*v+s*g),t[13]=-(l*m+u*v+c*g),t[14]=-(h*m+f*v+d*g),t[15]=1,t)}var i=t(\\\"./identity\\\");e.exports=n},{\\\"./identity\\\":179}],182:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],m=e[12],v=e[13],g=e[14],y=e[15],b=r[0],x=r[1],_=r[2],w=r[3];return t[0]=b*n+x*s+_*h+w*m,t[1]=b*i+x*l+_*f+w*v,t[2]=b*a+x*u+_*d+w*g,t[3]=b*o+x*c+_*p+w*y,b=r[4],x=r[5],_=r[6],w=r[7],t[4]=b*n+x*s+_*h+w*m,t[5]=b*i+x*l+_*f+w*v,t[6]=b*a+x*u+_*d+w*g,t[7]=b*o+x*c+_*p+w*y,b=r[8],x=r[9],_=r[10],w=r[11],t[8]=b*n+x*s+_*h+w*m,t[9]=b*i+x*l+_*f+w*v,t[10]=b*a+x*u+_*d+w*g,t[11]=b*o+x*c+_*p+w*y,b=r[12],x=r[13],_=r[14],w=r[15],t[12]=b*n+x*s+_*h+w*m,t[13]=b*i+x*l+_*f+w*v,t[14]=b*a+x*u+_*d+w*g,t[15]=b*o+x*c+_*p+w*y,t}e.exports=n},{}],183:[function(t,e,r){function n(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}e.exports=n},{}],184:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_,w,M,k,A,T,S,E=n[0],L=n[1],C=n[2],z=Math.sqrt(E*E+L*L+C*C);return Math.abs(z)<1e-6?null:(z=1/z,E*=z,L*=z,C*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],u=e[2],c=e[3],h=e[4],f=e[5],d=e[6],p=e[7],m=e[8],v=e[9],g=e[10],y=e[11],b=E*E*o+a,x=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,M=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,T=L*C*o-E*i,S=C*C*o+a,t[0]=s*b+h*x+m*_,t[1]=l*b+f*x+v*_,t[2]=u*b+d*x+g*_,t[3]=c*b+p*x+y*_,t[4]=s*w+h*M+m*k,t[5]=l*w+f*M+v*k,t[6]=u*w+d*M+g*k,t[7]=c*w+p*M+y*k,t[8]=s*A+h*T+m*S,t[9]=l*A+f*T+v*S,t[10]=u*A+d*T+g*S,t[11]=c*A+p*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}e.exports=n},{}],185:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t}e.exports=n},{}],186:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return 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]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t}e.exports=n},{}],187:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t}e.exports=n},{}],188:[function(t,e,r){function n(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}e.exports=n},{}],189:[function(t,e,r){function n(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,m=r[0],v=r[1],g=r[2];return e===t?(t[12]=e[0]*m+e[4]*v+e[8]*g+e[12],t[13]=e[1]*m+e[5]*v+e[9]*g+e[13],t[14]=e[2]*m+e[6]*v+e[10]*g+e[14],t[15]=e[3]*m+e[7]*v+e[11]*g+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*m+s*v+h*g+e[12],t[13]=i*m+l*v+f*g+e[13],t[14]=a*m+u*v+d*g+e[14],t[15]=o*m+c*v+p*g+e[15]),t}e.exports=n},{}],190:[function(t,e,r){function n(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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}e.exports=n},{}],191:[function(t,e,r){\\\"use strict\\\";function n(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:i(t,e);break;case 9:a(t,e);break;case 16:o(t,e);break;default:throw new Error(\\\"currently supports matrices up to 4x4\\\")}return t}e.exports=n;var i=t(\\\"gl-mat2/invert\\\"),a=t(\\\"gl-mat3/invert\\\"),o=t(\\\"gl-mat4/invert\\\")},{\\\"gl-mat2/invert\\\":172,\\\"gl-mat3/invert\\\":173,\\\"gl-mat4/invert\\\":180}],192:[function(t,e,r){r.glMatrix=t(\\\"./gl-matrix/common.js\\\"),r.mat2=t(\\\"./gl-matrix/mat2.js\\\"),r.mat2d=t(\\\"./gl-matrix/mat2d.js\\\"),r.mat3=t(\\\"./gl-matrix/mat3.js\\\"),r.mat4=t(\\\"./gl-matrix/mat4.js\\\"),r.quat=t(\\\"./gl-matrix/quat.js\\\"),r.vec2=t(\\\"./gl-matrix/vec2.js\\\"),r.vec3=t(\\\"./gl-matrix/vec3.js\\\"),r.vec4=t(\\\"./gl-matrix/vec4.js\\\")},{\\\"./gl-matrix/common.js\\\":193,\\\"./gl-matrix/mat2.js\\\":194,\\\"./gl-matrix/mat2d.js\\\":195,\\\"./gl-matrix/mat3.js\\\":196,\\\"./gl-matrix/mat4.js\\\":197,\\\"./gl-matrix/quat.js\\\":198,\\\"./gl-matrix/vec2.js\\\":199,\\\"./gl-matrix/vec3.js\\\":200,\\\"./gl-matrix/vec4.js\\\":201}],193:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=\\\"undefined\\\"!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&&\\\"SIMD\\\"in this,n.USE_SIMD=n.ENABLE_SIMD&&n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)<=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],194:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*u+a*c,t[3]=i*u+o*c,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return\\\"mat2(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},i.multiplyScalar=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},i.multiplyScalarAndAdd=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},e.exports=i},{\\\"./common.js\\\":193}],195:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);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},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1],h=r[2],f=r[3],d=r[4],p=r[5];return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*h+a*f,t[3]=i*h+o*f,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*-u+a*c,t[3]=i*-u+o*c,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n*u,t[1]=i*u,t[2]=a*c,t[3]=o*c,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*u+a*c+s,t[5]=i*u+o*c+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return\\\"mat2d(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\", \\\"+t[4]+\\\", \\\"+t[5]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=e[0],c=e[1],h=e[2],f=e[3],d=e[4],p=e[5];return Math.abs(r-u)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(i-c)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(a-h)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(o-f)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(s-d)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(l-p)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{\\\"./common.js\\\":193}],196:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);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},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromValues=function(t,e,r,i,a,o,s,l,u){var c=new n.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=r,c[3]=i,c[4]=a,c[5]=o,c[6]=s,c[7]=l,c[8]=u,c},i.set=function(t,e,r,n,i,a,o,s,l,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t[0]=o*c-s*u,t[1]=i*u-n*c,t[2]=n*s-i*o,t[3]=s*l-a*c,t[4]=r*c-i*l,t[5]=i*a-r*s,t[6]=a*u-o*l,t[7]=n*l-r*u,t[8]=r*o-n*a,t},i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8];return e*(u*a-o*l)+r*(-u*i+o*s)+n*(l*i-a*s)},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1],p=r[2],m=r[3],v=r[4],g=r[5],y=r[6],b=r[7],x=r[8];return t[0]=f*n+d*o+p*u,t[1]=f*i+d*s+p*c,t[2]=f*a+d*l+p*h,t[3]=m*n+v*o+g*u,t[4]=m*i+v*s+g*c,t[5]=m*a+v*l+g*h,t[6]=y*n+b*o+x*u,t[7]=y*i+b*s+x*c,t[8]=y*a+b*l+x*h,t},i.mul=i.multiply,i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=f*n+d*o+u,t[7]=f*i+d*s+c,t[8]=f*a+d*l+h,t},i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=Math.sin(r),d=Math.cos(r);return t[0]=d*n+f*o,t[1]=d*i+f*s,t[2]=d*a+f*l,t[3]=d*o-f*n,t[4]=d*s-f*i,t[5]=d*l-f*a,t[6]=u,t[7]=c,t[8]=h,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.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},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,v=a*s,g=a*l;return t[0]=1-h-p,t[3]=c-g,t[6]=f+v,t[1]=c+g,t[4]=1-u-p,t[7]=d-m,t[2]=f-v,t[5]=d+m,t[8]=1-u-h,t},i.normalFromMat4=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,k=c*m-h*p,A=c*v-f*p,T=c*g-d*p,S=h*v-f*m,E=h*g-d*m,L=f*g-d*v,C=y*L-b*E+x*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(l*T-o*L-u*A)*C,t[2]=(o*E-s*T+u*k)*C,t[3]=(i*E-n*L-a*S)*C,t[4]=(r*L-i*T+a*A)*C,t[5]=(n*T-r*E-a*k)*C,t[6]=(m*M-v*w+g*_)*C,t[7]=(v*x-p*M-g*b)*C,t[8]=(p*w-m*x+g*y)*C,t):null},i.str=function(t){return\\\"mat3(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\", \\\"+t[4]+\\\", \\\"+t[5]+\\\", \\\"+t[6]+\\\", \\\"+t[7]+\\\", \\\"+t[8]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=e[0],d=e[1],p=e[2],m=e[3],v=e[4],g=e[5],y=t[6],b=e[7],x=e[8];return Math.abs(r-f)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(i-d)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-p)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(o-m)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(s-v)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(l-g)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(u-y)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(c-b)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(h-x)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(x))},e.exports=i},{\\\"./common.js\\\":193}],197:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(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},i.clone=function(t){var e=new n.ARRAY_TYPE(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},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],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},i.fromValues=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,m,v){var g=new n.ARRAY_TYPE(16);return g[0]=t,g[1]=e,g[2]=r,g[3]=i,g[4]=a,g[5]=o,g[6]=s,g[7]=l,g[8]=u,g[9]=c,g[10]=h,g[11]=f,g[12]=d,g[13]=p,g[14]=m,g[15]=v,g},i.set=function(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,m,v){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=f,t[12]=d,t[13]=p,t[14]=m,t[15]=v,t},i.identity=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},i.scalar.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,u,c,h;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),u=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),c=SIMD.Float32x4.shuffle(o,s,0,2,4,6),h=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,h),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,k=c*m-h*p,A=c*v-f*p,T=c*g-d*p,S=h*v-f*m,E=h*g-d*m,L=f*g-d*v,C=y*L-b*E+x*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(m*M-v*w+g*_)*C,t[3]=(f*w-h*M-d*_)*C,t[4]=(l*T-o*L-u*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(v*x-p*M-g*b)*C,t[7]=(c*M-f*x+d*b)*C,t[8]=(o*E-s*T+u*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*x+g*y)*C,t[11]=(h*x-c*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*b-p*_-v*y)*C,t[15]=(c*_-h*b+f*y)*C,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,u,c,h,f=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,m,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,m,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),h=SIMD.Float32x4.mul(r,s),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,2,3,0,1),h),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,1,0,3,2),h),o=SIMD.Float32x4.reciprocalApproximation(h),h=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(h,SIMD.Float32x4.mul(o,o))),(h=SIMD.Float32x4.swizzle(h,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(h,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(h,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(h,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(h,c)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15];return t[0]=s*(f*g-d*v)-h*(l*g-u*v)+m*(l*d-u*f),t[1]=-(n*(f*g-d*v)-h*(i*g-a*v)+m*(i*d-a*f)),t[2]=n*(l*g-u*v)-s*(i*g-a*v)+m*(i*u-a*l),t[3]=-(n*(l*d-u*f)-s*(i*d-a*f)+h*(i*u-a*l)),t[4]=-(o*(f*g-d*v)-c*(l*g-u*v)+p*(l*d-u*f)),t[5]=r*(f*g-d*v)-c*(i*g-a*v)+p*(i*d-a*f),t[6]=-(r*(l*g-u*v)-o*(i*g-a*v)+p*(i*u-a*l)),t[7]=r*(l*d-u*f)-o*(i*d-a*f)+c*(i*u-a*l),t[8]=o*(h*g-d*m)-c*(s*g-u*m)+p*(s*d-u*h),t[9]=-(r*(h*g-d*m)-c*(n*g-a*m)+p*(n*d-a*h)),t[10]=r*(s*g-u*m)-o*(n*g-a*m)+p*(n*u-a*s),t[11]=-(r*(s*d-u*h)-o*(n*d-a*h)+c*(n*u-a*s)),t[12]=-(o*(h*v-f*m)-c*(s*v-l*m)+p*(s*f-l*h)),t[13]=r*(h*v-f*m)-c*(n*v-i*m)+p*(n*f-i*h),t[14]=-(r*(s*v-l*m)-o*(n*v-i*m)+p*(n*l-i*s)),t[15]=r*(s*f-l*h)-o*(n*f-i*h)+c*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,d,p,r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12)\\n\",\n       \";return c=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),o=SIMD.Float32x4.shuffle(c,s,0,2,4,6),s=SIMD.Float32x4.shuffle(s,c,1,3,5,7),c=SIMD.Float32x4.shuffle(r,n,2,3,6,7),u=SIMD.Float32x4.shuffle(i,a,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.mul(s,c),f=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),h),f=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),f),f=SIMD.Float32x4.swizzle(f,2,3,0,1),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(o,s),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(o,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),f),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),f),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),p),SIMD.Float32x4.store(t,0,h),SIMD.Float32x4.store(t,4,f),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],m=t[14],v=t[15];return(e*o-r*a)*(h*v-f*m)-(e*s-n*a)*(c*v-f*p)+(e*l-i*a)*(c*m-h*p)+(r*s-n*o)*(u*v-f*d)-(r*l-i*o)*(u*m-h*d)+(n*l-i*s)*(u*p-c*d)},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(r,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),o))));SIMD.Float32x4.store(t,4,c);var h=SIMD.Float32x4.load(r,8),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,3,3,3,3),o))));SIMD.Float32x4.store(t,8,f);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],m=e[12],v=e[13],g=e[14],y=e[15],b=r[0],x=r[1],_=r[2],w=r[3];return t[0]=b*n+x*s+_*h+w*m,t[1]=b*i+x*l+_*f+w*v,t[2]=b*a+x*u+_*d+w*g,t[3]=b*o+x*c+_*p+w*y,b=r[4],x=r[5],_=r[6],w=r[7],t[4]=b*n+x*s+_*h+w*m,t[5]=b*i+x*l+_*f+w*v,t[6]=b*a+x*u+_*d+w*g,t[7]=b*o+x*c+_*p+w*y,b=r[8],x=r[9],_=r[10],w=r[11],t[8]=b*n+x*s+_*h+w*m,t[9]=b*i+x*l+_*f+w*v,t[10]=b*a+x*u+_*d+w*g,t[11]=b*o+x*c+_*p+w*y,b=r[12],x=r[13],_=r[14],w=r[15],t[12]=b*n+x*s+_*h+w*m,t[13]=b*i+x*l+_*f+w*v,t[14]=b*a+x*u+_*d+w*g,t[15]=b*o+x*c+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,m=r[0],v=r[1],g=r[2];return e===t?(t[12]=e[0]*m+e[4]*v+e[8]*g+e[12],t[13]=e[1]*m+e[5]*v+e[9]*g+e[13],t[14]=e[2]*m+e[6]*v+e[10]*g+e[14],t[15]=e[3]*m+e[7]*v+e[11]*g+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*m+s*v+h*g+e[12],t[13]=i*m+l*v+f*g+e[13],t[14]=a*m+u*v+d*g+e[14],t[15]=o*m+c*v+p*g+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.scale=function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_,w,M,k,A,T,S,E,L=i[0],C=i[1],z=i[2],I=Math.sqrt(L*L+C*C+z*z);return Math.abs(I)<n.EPSILON?null:(I=1/I,L*=I,C*=I,z*=I,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],u=e[1],c=e[2],h=e[3],f=e[4],d=e[5],p=e[6],m=e[7],v=e[8],g=e[9],y=e[10],b=e[11],x=L*L*s+o,_=C*L*s+z*a,w=z*L*s-C*a,M=L*C*s-z*a,k=C*C*s+o,A=z*C*s+L*a,T=L*z*s+C*a,S=C*z*s-L*a,E=z*z*s+o,t[0]=l*x+f*_+v*w,t[1]=u*x+d*_+g*w,t[2]=c*x+p*_+y*w,t[3]=h*x+m*_+b*w,t[4]=l*M+f*k+v*A,t[5]=u*M+d*k+g*A,t[6]=c*M+p*k+y*A,t[7]=h*M+m*k+b*A,t[8]=l*T+f*S+v*E,t[9]=u*T+d*S+g*E,t[10]=c*T+p*S+y*E,t[11]=h*T+m*S+b*E,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));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]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return 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]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=function(t,e){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]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],u=r[2],c=Math.sqrt(s*s+l*l+u*u);return Math.abs(c)<n.EPSILON?null:(c=1/c,s*=c,l*=c,u*=c,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+u*i,t[2]=u*s*o-l*i,t[3]=0,t[4]=s*l*o-u*i,t[5]=l*l*o+a,t[6]=u*l*o+s*i,t[7]=0,t[8]=s*u*o+l*i,t[9]=l*u*o-s*i,t[10]=u*u*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromYRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromZRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,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},i.fromRotationTranslation=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,m=a*u,v=o*s,g=o*l,y=o*u;return t[0]=1-(d+m),t[1]=h+y,t[2]=f-g,t[3]=0,t[4]=h-y,t[5]=1-(c+m),t[6]=p+v,t[7]=0,t[8]=f+g,t[9]=p-v,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r>0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]>e[5]&e[0]>e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]>e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,u=a+a,c=o+o,h=i*l,f=i*u,d=i*c,p=a*u,m=a*c,v=o*c,g=s*l,y=s*u,b=s*c,x=n[0],_=n[1],w=n[2];return t[0]=(1-(p+v))*x,t[1]=(f+b)*x,t[2]=(d-y)*x,t[3]=0,t[4]=(f-b)*_,t[5]=(1-(h+v))*_,t[6]=(m+g)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(m-g)*w,t[10]=(1-(h+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],u=a+a,c=o+o,h=s+s,f=a*u,d=a*c,p=a*h,m=o*c,v=o*h,g=s*h,y=l*u,b=l*c,x=l*h,_=n[0],w=n[1],M=n[2],k=i[0],A=i[1],T=i[2];return t[0]=(1-(m+g))*_,t[1]=(d+x)*_,t[2]=(p-b)*_,t[3]=0,t[4]=(d-x)*w,t[5]=(1-(f+g))*w,t[6]=(v+y)*w,t[7]=0,t[8]=(p+b)*M,t[9]=(v-y)*M,t[10]=(1-(f+m))*M,t[11]=0,t[12]=r[0]+k-(t[0]*k+t[4]*A+t[8]*T),t[13]=r[1]+A-(t[1]*k+t[5]*A+t[9]*T),t[14]=r[2]+T-(t[2]*k+t[6]*A+t[10]*T),t[15]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,v=a*s,g=a*l;return t[0]=1-h-p,t[1]=c+g,t[2]=f-v,t[3]=0,t[4]=c-g,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=f+v,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t},i.perspective=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},i.perspectiveFromFieldOfView=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t},i.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-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*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},i.lookAt=function(t,e,r,a){var o,s,l,u,c,h,f,d,p,m,v=e[0],g=e[1],y=e[2],b=a[0],x=a[1],_=a[2],w=r[0],M=r[1],k=r[2];return Math.abs(v-w)<n.EPSILON&&Math.abs(g-M)<n.EPSILON&&Math.abs(y-k)<n.EPSILON?i.identity(t):(f=v-w,d=g-M,p=y-k,m=1/Math.sqrt(f*f+d*d+p*p),f*=m,d*=m,p*=m,o=x*p-_*d,s=_*f-b*p,l=b*d-x*f,m=Math.sqrt(o*o+s*s+l*l),m?(m=1/m,o*=m,s*=m,l*=m):(o=0,s=0,l=0),u=d*l-p*s,c=p*o-f*l,h=f*s-d*o,m=Math.sqrt(u*u+c*c+h*h),m?(m=1/m,u*=m,c*=m,h*=m):(u=0,c=0,h=0),t[0]=o,t[1]=u,t[2]=f,t[3]=0,t[4]=s,t[5]=c,t[6]=d,t[7]=0,t[8]=l,t[9]=h,t[10]=p,t[11]=0,t[12]=-(o*v+s*g+l*y),t[13]=-(u*v+c*g+h*y),t[14]=-(f*v+d*g+p*y),t[15]=1,t)},i.str=function(t){return\\\"mat4(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\", \\\"+t[4]+\\\", \\\"+t[5]+\\\", \\\"+t[6]+\\\", \\\"+t[7]+\\\", \\\"+t[8]+\\\", \\\"+t[9]+\\\", \\\"+t[10]+\\\", \\\"+t[11]+\\\", \\\"+t[12]+\\\", \\\"+t[13]+\\\", \\\"+t[14]+\\\", \\\"+t[15]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&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]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=t[9],d=t[10],p=t[11],m=t[12],v=t[13],g=t[14],y=t[15],b=e[0],x=e[1],_=e[2],w=e[3],M=e[4],k=e[5],A=e[6],T=e[7],S=e[8],E=e[9],L=e[10],C=e[11],z=e[12],I=e[13],D=e[14],P=e[15];return Math.abs(r-b)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(i-x)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(a-_)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(o-w)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(s-M)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&&Math.abs(l-k)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(k))&&Math.abs(u-A)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(A))&&Math.abs(c-T)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(h-S)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(S))&&Math.abs(f-E)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(E))&&Math.abs(d-L)<=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(p-C)<=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&&Math.abs(m-z)<=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&&Math.abs(v-I)<=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(I))&&Math.abs(g-D)<=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(D))&&Math.abs(y-P)<=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(P))},e.exports=i},{\\\"./common.js\\\":193}],198:[function(t,e,r){var n=t(\\\"./common.js\\\"),i=t(\\\"./mat3.js\\\"),a=t(\\\"./vec3.js\\\"),o=t(\\\"./vec4.js\\\"),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l<-.999999?(a.cross(t,e,i),a.length(t)<1e-6&&a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*c+o*s+i*u-a*l,t[1]=i*c+o*l+a*s-n*u,t[2]=a*c+o*u+n*l-i*s,t[3]=o*c-n*s-i*l-a*u,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l-a*s,t[1]=i*l+o*s,t[2]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],m=r[2],v=r[3];return a=u*d+c*p+h*m+f*v,a<0&&(a=-a,d=-d,p=-p,m=-m,v=-v),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*m,t[3]=s*f+l*v,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return\\\"quat(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\")\\\"},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{\\\"./common.js\\\":193,\\\"./mat3.js\\\":196,\\\"./vec3.js\\\":200,\\\"./vec4.js\\\":201}],199:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return\\\"vec2(\\\"+t[0]+\\\", \\\"+t[1]+\\\")\\\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(i-o)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{\\\"./common.js\\\":193}],200:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.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},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=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},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,u=o*(a-1),c=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*u+i[0]*c,t[1]=e[1]*s+r[1]*l+n[1]*u+i[1]*c,t[2]=e[2]*s+r[2]*l+n[2]*u+i[2]*c,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,u=s*o,c=3*a*s,h=3*l*o,f=l*a;return t[0]=e[0]*u+r[0]*c+n[0]*h+i[0]*f,t[1]=e[1]*u+r[1]*c+n[1]*h+i[1]*f,t[2]=e[2]*u+r[2]*c+n[2]*h+i[2]*f,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a>1?0:Math.acos(a)},i.str=function(t){return\\\"vec3(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\")\\\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{\\\"./common.js\\\":193}],201:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.multiply=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},i.mul=i.multiply,i.divide=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},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=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},i.scaleAndAdd=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},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],\\n\",\n       \"t[3]=1/e[3],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return\\\"vec4(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\")\\\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},e.exports=i},{\\\"./common.js\\\":193}],202:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(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 a(t,e){if(2===t.length){for(var r=0,n=0,i=0;i<2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n<1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var a=[0,0];return u(t[0],t[1],t[2],e,a),l(t,a)}return[]}function o(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}function s(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),c=0;c<t.length;++c)u[c]=i(t[c],r,n,s,l);for(var h=0,f=1/0,c=0;c<u.length;++c){for(var d=0,p=0;p<2;++p)d+=Math.pow(u[c][p]-e[p],2);d<f&&(f=d,h=c)}for(var m=a(u,e),v=0,c=0;c<3;++c){if(m[c]<-.001||m[c]>1.0001)return null;v+=m[c]}return Math.abs(v-1)>.001?null:[h,o(t,m),m]}var l=t(\\\"barycentric\\\"),u=t(\\\"polytope-closest-point/lib/closest_point_2d.js\\\");e.exports=s},{barycentric:48,\\\"polytope-closest-point/lib/closest_point_2d.js\\\":485}],203:[function(t,e,r){var n=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3  clipBounds[2];\\\\nuniform float pickId;\\\\n\\\\nvarying vec3 f_position;\\\\nvarying vec4 f_id;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(f_position, clipBounds[0])) || \\\\n     any(greaterThan(f_position, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\\\n}\\\";r.meshShader={vertex:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec3 position, normal;\\\\nattribute vec4 color;\\\\nattribute vec2 uv;\\\\n\\\\nuniform mat4 model\\\\n           , view\\\\n           , projection;\\\\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\\\\nvoid main() {\\\\n  vec4 m_position  = model * vec4(position, 1.0);\\\\n  vec4 t_position  = view * m_position;\\\\n  gl_Position      = projection * t_position;\\\\n  f_color          = color;\\\\n  f_normal         = normal;\\\\n  f_data           = position;\\\\n  f_eyeDirection   = eyePosition   - position;\\\\n  f_lightDirection = lightPosition - position;\\\\n  f_uv             = uv;\\\\n}\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nfloat beckmannDistribution_2_0(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\\\\n\\\\n\\\\nfloat cookTorranceSpecular_1_1(\\\\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_2_0(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\\\\n\\\\nuniform vec3 clipBounds[2];\\\\nuniform float roughness\\\\n            , fresnel\\\\n            , kambient\\\\n            , kdiffuse\\\\n            , kspecular\\\\n            , opacity;\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = cookTorranceSpecular_1_1(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}\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},r.wireShader={vertex:\\\"precision mediump 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}\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\\\n}\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},r.pointShader={vertex:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\",fragment:\\\"precision mediump 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}\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"}]},r.pickShader={vertex:\\\"precision mediump 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}\\\",fragment:n,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},r.pointPickShader={vertex:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\",fragment:n,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},r.contourShader={vertex:\\\"precision mediump 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}\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 contourColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(contourColor,1);\\\\n}\\\\n\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"}]}},{}],204:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_,w,M,k,A,T){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=v,this.edgeUVs=g,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=b,this.pointColors=_,this.pointUVs=w,this.pointSizes=M,this.pointIds=x,this.pointVAO=k,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=A,this.contourVAO=T,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=D,this._view=D,this._projection=D,this._resolution=[1,1]}function i(t){for(var e=w({colormap:t,nshades:256,format:\\\"rgba\\\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return _(r,[256,256,4],[4,0,1])}function a(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;for(var a=t.length,i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}function o(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}function s(t){var e=p(t,S.vertex,S.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function l(t){var e=p(t,E.vertex,E.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function u(t){var e=p(t,L.vertex,L.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=p(t,C.vertex,C.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function h(t){var e=p(t,z.vertex,z.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function f(t){var e=p(t,I.vertex,I.fragment);return e.attributes.position.location=0,e}function d(t,e){1===arguments.length&&(e=t,t=e.gl);var r=s(t),i=l(t),a=u(t),o=c(t),d=h(t),p=f(t),y=g(t,_(new Uint8Array([255,255,255,255]),[1,1,4]));y.generateMipmap(),y.minFilter=t.LINEAR_MIPMAP_LINEAR,y.magFilter=t.LINEAR;var b=m(t),x=m(t),w=m(t),M=m(t),k=m(t),A=v(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:x,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2},{buffer:M,type:t.FLOAT,size:3}]),T=m(t),S=m(t),E=m(t),L=m(t),C=v(t,[{buffer:T,type:t.FLOAT,size:3},{buffer:L,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:S,type:t.FLOAT,size:4},{buffer:E,type:t.FLOAT,size:2}]),z=m(t),I=m(t),D=m(t),P=m(t),O=m(t),R=v(t,[{buffer:z,type:t.FLOAT,size:3},{buffer:O,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:t.FLOAT,size:4},{buffer:D,type:t.FLOAT,size:2},{buffer:P,type:t.FLOAT,size:1}]),F=m(t),j=v(t,[{buffer:F,type:t.FLOAT,size:3}]),N=new n(t,y,r,i,a,o,d,p,b,k,x,w,M,A,T,L,S,E,C,z,O,I,D,P,R,F,j);return N.update(e),N}var p=t(\\\"gl-shader\\\"),m=t(\\\"gl-buffer\\\"),v=t(\\\"gl-vao\\\"),g=t(\\\"gl-texture2d\\\"),y=t(\\\"normals\\\"),b=t(\\\"gl-mat4/multiply\\\"),x=t(\\\"gl-mat4/invert\\\"),_=t(\\\"ndarray\\\"),w=t(\\\"colormap\\\"),M=t(\\\"simplicial-complex-contour\\\"),k=t(\\\"typedarray-pool\\\"),A=t(\\\"./lib/shaders\\\"),T=t(\\\"./lib/closest-point\\\"),S=A.meshShader,E=A.wireShader,L=A.pointShader,C=A.pickShader,z=A.pointPickShader,I=A.contourShader,D=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],P=n.prototype;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.highlight=function(t){if(!t||!this.contourEnable)return void(this.contourCount=0);for(var e=M(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=k.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var h=u[0];2===u.length&&(h=u[c]);for(var f=n[h][0],d=n[h][1],p=i[h],m=1-p,v=this.positions[f],g=this.positions[d],y=0;y<3;++y)o[s++]=p*v[y]+m*g[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),k.free(o)},P.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),\\\"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),t.texture?(this.texture.dispose(),this.texture=g(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(i(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var s=[],l=[],u=[],c=[],h=[],f=[],d=[],p=[],m=[],v=[],b=[],x=[],_=[],w=[];this.cells=r,this.positions=n;var M=t.vertexNormals,k=t.cellNormals,A=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,T=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=y.faceNormals(r,n,T)),k||M||(M=y.vertexNormals(r,n,A));var S=t.vertexColors,E=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,z=t.vertexIntensity,I=t.cellUVs,D=t.cellIntensity,P=1/0,O=-1/0;if(!C&&!I)if(z)if(t.vertexIntensityBounds)P=+t.vertexIntensityBounds[0],O=+t.vertexIntensityBounds[1];else for(var R=0;R<z.length;++R){var F=z[R];P=Math.min(P,F),O=Math.max(O,F)}else if(D)for(var R=0;R<D.length;++R){var F=D[R];P=Math.min(P,F),O=Math.max(O,F)}else for(var R=0;R<n.length;++R){var F=n[R][2];P=Math.min(P,F),O=Math.max(O,F)}this.intensity=z||(D?a(r,n.length,D):o(n));var j=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var R=0;R<n.length;++R)for(var B=n[R],U=0;U<3;++U)!isNaN(B[U])&&isFinite(B[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],B[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],B[U]));var V=0,H=0,q=0;t:for(var R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(var Y=G[0],B=n[Y],U=0;U<3;++U)if(isNaN(B[U])||!isFinite(B[U]))continue t;v.push(B[0],B[1],B[2]);var X;X=S?S[Y]:E?E[R]:L,3===X.length?b.push(X[0],X[1],X[2],1):b.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:z?[(z[Y]-P)/(O-P),0]:I?I[R]:D?[(D[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],x.push(W[0],W[1]),j?_.push(j[Y]):_.push(N),w.push(R),q+=1;break;case 2:for(var U=0;U<2;++U)for(var Y=G[U],B=n[Y],Z=0;Z<3;++Z)if(isNaN(B[Z])||!isFinite(B[Z]))continue t;for(var U=0;U<2;++U){var Y=G[U],B=n[Y];f.push(B[0],B[1],B[2]);var X;X=S?S[Y]:E?E[R]:L,3===X.length?d.push(X[0],X[1],X[2],1):d.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:z?[(z[Y]-P)/(O-P),0]:I?I[R]:D?[(D[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],p.push(W[0],W[1]),m.push(R)}H+=1;break;case 3:for(var U=0;U<3;++U)for(var Y=G[U],B=n[Y],Z=0;Z<3;++Z)if(isNaN(B[Z])||!isFinite(B[Z]))continue t;for(var U=0;U<3;++U){var Y=G[U],B=n[Y];s.push(B[0],B[1],B[2]);var X;X=S?S[Y]:E?E[R]:L,3===X.length?l.push(X[0],X[1],X[2],1):l.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:z?[(z[Y]-P)/(O-P),0]:I?I[R]:D?[(D[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],c.push(W[0],W[1]);var J;J=M?M[Y]:k[R],u.push(J[0],J[1],J[2]),h.push(R)}V+=1}}this.pointCount=q,this.edgeCount=H,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(b),this.pointUVs.update(x),this.pointSizes.update(_),this.pointIds.update(new Uint32Array(w)),this.edgePositions.update(f),this.edgeColors.update(d),this.edgeUVs.update(p),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(s),this.triangleColors.update(l),this.triangleUVs.update(c),this.triangleNormals.update(u),this.triangleIds.update(new Uint32Array(h))}},P.drawTransparent=P.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||D,n=t.view||D,i=t.projection||D,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);b(l,s.view,s.model),b(l,s.projection,l),x(l,l);for(var o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];for(var u=l[15],o=0;o<3;++o)u+=this.lightPosition[o]*l[4*o+3];for(var o=0;o<3;++o){for(var c=l[12+o],h=0;h<3;++h)c+=l[4*h+o]*this.lightPosition[h];s.lightPosition[o]=c/u}if(this.triangleCount>0){var f=this.triShader;f.bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var f=this.lineShader;f.bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount>0){var f=this.pointShader;f.bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var f=this.contourShader;f.bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind()}},P.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||D,n=t.view||D,i=t.projection||D,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255},l=this.pickShader;if(l.bind(),l.uniforms=s,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),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0){var l=this.pointPickShader;l.bind(),l.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}},P.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,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=T(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;for(var s=o[2],l=0,a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},P.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=d},{\\\"./lib/closest-point\\\":202,\\\"./lib/shaders\\\":203,colormap:98,\\\"gl-buffer\\\":155,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/multiply\\\":182,\\\"gl-shader\\\":254,\\\"gl-texture2d\\\":266,\\\"gl-vao\\\":270,ndarray:466,normals:468,\\\"simplicial-complex-contour\\\":516,\\\"typedarray-pool\\\":540}],205:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl;return new n(t,a(e,[0,0,0,1,1,0,1,1]),o(e,s.boxVert,s.lineFrag))}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"./shaders\\\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,u=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":208,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211}],206:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}function a(t){var e=t.gl;return new n(t,o(e),s(e,u.gridVert,u.gridFrag),s(e,u.tickVert,u.gridFrag))}e.exports=a;var o=t(\\\"gl-buffer\\\"),s=t(\\\"gl-shader\\\"),l=t(\\\"binary-search-bounds\\\"),u=t(\\\"./shaders\\\"),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,u=n.dataBox,c=n.viewBox,h=n.gridLineWidth,f=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,m=0;m<2;++m){var v=l[m],g=l[m+2],y=g-v,b=.5*(u[m+2]+u[m]),x=u[m+2]-u[m];e[m]=2*y/x,t[m]=2*(v-b)/x}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;for(var _=0,m=0;m<2;++m){r[0]=r[1]=0,r[m]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=h[m]/(c[m+2]-c[m])*p,a.uniforms.color=f[m];var w=6*o[m].length;d[m]&&w&&s.drawArrays(s.TRIANGLES,_,w),_+=w}}}(),c.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,u=this.vbo,c=this.tickShader,h=this.ticks,f=s.gl,d=s._tickBounds,p=s.dataBox,m=s.viewBox,v=s.pixelRatio,g=s.screenBox,y=g[2]-g[0],b=g[3]-g[1],x=m[2]-m[0],_=m[3]-m[1],w=0;w<2;++w){var M=d[w],k=d[w+2],A=k-M,T=.5*(p[w+2]+p[w]),S=p[w+2]-p[w];e[w]=2*A/S,t[w]=2*(M-T)/S}e[0]*=x/y,t[0]*=x/y,e[1]*=_/b,t[1]*=_/b,c.bind(),u.bind(),c.attributes.dataCoord.pointer();var E=c.uniforms;E.dataShift=t,E.dataScale=e;var L=s.tickMarkLength,C=s.tickMarkWidth,z=s.tickMarkColor,I=6*h[0].length,D=Math.min(l.ge(h[0],(p[0]-d[0])/(d[2]-d[0]),i),h[0].length),P=Math.min(l.gt(h[0],(p[2]-d[0])/(d[2]-d[0]),i),h[0].length),O=0+6*D,R=6*Math.max(0,P-D),F=Math.min(l.ge(h[1],(p[1]-d[1])/(d[3]-d[1]),i),h[1].length),j=Math.min(l.gt(h[1],(p[3]-d[1])/(d[3]-d[1]),i),h[1].length),N=I+6*F,B=6*Math.max(0,j-F);a[0]=2*(m[0]-L[1])/y-1,a[1]=(m[3]+m[1])/b-1,o[0]=L[1]*v/y,o[1]=C[1]*v/b,B&&(E.color=z[1],E.tickScale=o,E.dataAxis=n,E.screenOffset=a,f.drawArrays(f.TRIANGLES,N,B)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[1]-L[0])/b-1,o[0]=C[0]*v/y,o[1]=L[0]*v/b,R&&(E.color=z[0],E.tickScale=o,E.dataAxis=r,E.screenOffset=a,f.drawArrays(f.TRIANGLES,O,R)),a[0]=2*(m[2]+L[3])/y-1,a[1]=(m[3]+m[1])/b-1,o[0]=L[3]*v/y,o[1]=C[3]*v/b,B&&(E.color=z[3],E.tickScale=o,E.dataAxis=n,E.screenOffset=a,f.drawArrays(f.TRIANGLES,N,B)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[3]+L[2])/b-1,o[0]=C[2]*v/y,o[1]=L[2]*v/b,R&&(E.color=z[2],E.tickScale=o,E.dataAxis=r,E.screenOffset=a,f.drawArrays(f.TRIANGLES,O,R))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l<2;++l)for(var u=s[l],c=n[l],h=i[l],f=i[l+2],d=0;d<c.length;++d){var p=(c[d].x-h)/(f-h);u.push(p);for(var m=0;m<6;++m)a[o++]=p,a[o++]=t[m],a[o++]=e[m]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\\\"./shaders\\\":208,\\\"binary-search-bounds\\\":210,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211}],207:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl;return new n(t,a(e,[-1,-1,-1,1,1,-1,1,1]),o(e,s.lineVert,s.lineFrag))}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"./shaders\\\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,u=this.shader,c=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,u.uniforms.start=t,u.uniforms.end=e,u.uniforms.width=o*l.pixelRatio,u.uniforms.color=s,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":208,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211}],208:[function(t,e,r){\\\"use strict\\\";var 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:\\\"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:n,textVert:\\\"#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:n,gridVert:\\\"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:n,boxVert:\\\"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:\\\"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\\\"}},{}],209:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}function i(t){var e=t.gl;return new n(t,a(e),o(e,u.textVert,u.textFrag))}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"text-cache\\\"),l=t(\\\"binary-search-bounds\\\"),u=t(\\\"./shaders\\\"),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],s=this.tickOffset[n],u=i.gl,c=i.viewBox,h=i.dataBox,f=i.screenBox,d=i.pixelRatio,p=i.tickEnable,m=i.tickPad,v=i.tickColor,g=i.tickAngle,y=i.labelEnable,b=i.labelPad,x=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],k=l.lt(o,h[n]),A=l.le(o,h[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(c[2+n]+c[n])/(f[2+n]-f[n])-1;var T=2/f[2+(1^n)]-f[1^n];e[1^n]=T*c[1^n]-1,p[n]&&(e[1^n]-=T*d*m[n],k<A&&s[A]>s[k]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=v[n],a.uniforms.angle=g[n],u.drawArrays(u.TRIANGLES,s[k],s[A]-s[k]))),y[n]&&M&&(e[1^n]-=T*d*b[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n],a.uniforms.angle=_[n],u.drawArrays(u.TRIANGLES,w,M)),e[1^n]=T*c[2+(1^n)]-1,p[n+2]&&(e[1^n]+=T*d*m[n+2],k<A&&s[A]>s[k]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=v[n+2],a.uniforms.angle=g[n+2],u.drawArrays(u.TRIANGLES,s[k],s[A]-s[k]))),y[n+2]&&M&&(e[1^n]+=T*d*b[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n+2],a.uniforms.angle=_[n+2],u.drawArrays(u.TRIANGLES,w,M))}}(),c.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var u=0;u<2;++u){var c=a[u],h=a[u+2],f=h-c,d=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],m=l[u],v=l[u+2],g=v-m,y=s[u],b=s[u+2],x=b-y;e[u]=2*f/p*g/x,t[u]=2*(c-d)/p*g/x}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,o=[],l=t.ticks,u=t.bounds;for(a=0;a<2;++a){var c=[Math.floor(o.length/3)],h=[-1/0],f=l[a];for(e=0;e<f.length;++e){var d=f[e],p=d.x,m=d.text,v=d.font||\\\"sans-serif\\\";i=d.fontSize||12;for(var g=1/(u[a+2]-u[a]),y=u[a],b=m.split(\\\"\\\\n\\\"),x=0;x<b.length;x++)for(n=s(v,b[x]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-x*i*1.2,(p-y)*g);c.push(Math.floor(o.length/3)),h.push(p)}this.tickOffset[a]=c,this.tickX[a]=h}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=s(t.labelFont[a],t.labels[a],{textAlign:\\\"center\\\"}).data,\\n\",\n       \"i=t.labelSize[a],e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(o.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(o.length/3),n=s(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(o.length/3)-this.titleOffset,this.vbo.update(o)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":208,\\\"binary-search-bounds\\\":210,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211,\\\"text-cache\\\":531}],210:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],211:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\\\"./lib/create-uniforms\\\"),s=t(\\\"./lib/create-attributes\\\"),l=t(\\\"./lib/reflect\\\"),u=t(\\\"./lib/shader-cache\\\"),c=t(\\\"./lib/runtime-reflect\\\"),h=t(\\\"./lib/GLError\\\"),f=n.prototype;f.bind=function(){this.program||this._relink();var t,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)},f.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},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,_,w);for(var t=0;t<r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,m=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),m&&m.dispose(),d.vertShader=d._vref.shader;var v=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),v&&v.dispose(),d.fragShader=d._fref.shader,!r||!n){var g=p.createProgram();if(p.attachShader(g,d.fragShader),p.attachShader(g,d.vertShader),p.linkProgram(g),!p.getProgramParameter(g,p.LINK_STATUS)){var y=p.getProgramInfoLog(g);throw new h(y,\\\"Error linking program:\\\"+y)}r=r||c.uniforms(p,g),n=n||c.attributes(p,g),p.deleteProgram(g)}n=n.slice(),n.sort(i);var b,x=[],_=[],w=[];for(b=0;b<n.length;++b){var M=n[b];if(M.type.indexOf(\\\"mat\\\")>=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T<k;++T)A[T]=w.length,_.push(M.name+\\\"[\\\"+T+\\\"]\\\"),\\\"number\\\"==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&&M.location.length===k&&\\\"number\\\"==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);x.push({name:M.name,type:M.type,locations:A})}else x.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),\\\"number\\\"==typeof M.location?w.push(0|M.location):w.push(-1)}var S=0;for(b=0;b<w.length;++b)if(w[b]<0){for(;w.indexOf(S)>=0;)S+=1;w[b]=S}var E=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,x,w),Object.defineProperty(d,\\\"uniforms\\\",o(p,d,r,E))},e.exports=a},{\\\"./lib/GLError\\\":212,\\\"./lib/create-attributes\\\":213,\\\"./lib/create-uniforms\\\":214,\\\"./lib/reflect\\\":215,\\\"./lib/runtime-reflect\\\":216,\\\"./lib/shader-cache\\\":217}],212:[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},{}],213:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[\\\"gl\\\",\\\"v\\\"],u=[],c=0;c<a;++c)l.push(\\\"x\\\"+c),u.push(\\\"x\\\"+c);l.push(\\\"if(x0.length===void 0){return gl.vertexAttrib\\\"+a+\\\"f(v,\\\"+u.join()+\\\")}else{return gl.vertexAttrib\\\"+a+\\\"fv(v,x0)}\\\");var h=Function.apply(null,l),f=new n(t,e,r,i,a,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),h(t,i[r],e),e},get:function(){return f},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),u=new Array(a),c=0;c<a;++c)i(t,e,r[c],n,a,l,c),u[c]=l[c];Object.defineProperty(l,\\\"location\\\",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)u[e].location=t[e];else for(var e=0;e<a;++e)u[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 u=n[r[l]];t.vertexAttribPointer(u,a,e,i,o,s+l*a),t.enableVertexAttribArray(u)}};var h=new Array(a),f=t[\\\"vertexAttrib\\\"+a+\\\"fv\\\"];Object.defineProperty(o,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})}function o(t,e,r,n){for(var o={},l=0,u=r.length;l<u;++l){var c=r[l],h=c.name,f=c.type,d=c.locations;switch(f){case\\\"bool\\\":case\\\"int\\\":case\\\"float\\\":i(t,e,d[0],n,1,o,h);break;default:if(f.indexOf(\\\"vec\\\")>=0){var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\\\"\\\",\\\"Invalid data type for attribute \\\"+h+\\\": \\\"+f);i(t,e,d[0],n,p,o,h)}else{if(!(f.indexOf(\\\"mat\\\")>=0))throw new s(\\\"\\\",\\\"Unknown data type for attribute \\\"+h+\\\": \\\"+f);var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\\\"\\\",\\\"Invalid data type for attribute \\\"+h+\\\": \\\"+f);a(t,e,d,n,p,o,h)}}}return o}e.exports=o;var s=t(\\\"./GLError\\\"),l=n.prototype;l.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},l.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(l,\\\"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\\\":212}],214:[function(t,e,r){\\\"use strict\\\";function n(t){return new Function(\\\"y\\\",\\\"return function(){return y}\\\")(t)}function i(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e,r,a){function l(r){return new Function(\\\"gl\\\",\\\"wrapper\\\",\\\"locations\\\",\\\"return function(){return gl.getUniform(wrapper.program,locations[\\\"+r+\\\"])}\\\")(t,e,a)}function u(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=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+r);return\\\"gl.uniformMatrix\\\"+i+\\\"fv(locations[\\\"+e+\\\"],false,obj\\\"+t+\\\")\\\"}throw new s(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\\\"\\\",\\\"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 s(\\\"\\\",\\\"Unrecognized data type for vector \\\"+name+\\\": \\\"+r)}}}function c(t,e){if(\\\"object\\\"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+\\\"\\\"===n?a+=\\\"[\\\"+n+\\\"]\\\":a+=\\\".\\\"+n,\\\"object\\\"==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function h(e){for(var n=[\\\"return function updateProperty(obj){\\\"],i=c(\\\"\\\",e),o=0;o<i.length;++o){var s=i[o],l=s[0],h=s[1];a[h]&&n.push(u(l,h,r[h].type))}return n.push(\\\"return obj}\\\"),new Function(\\\"gl\\\",\\\"locations\\\",n.join(\\\"\\\\n\\\"))(t,a)}function f(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){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\\\"\\\",\\\"Invalid data type\\\");return\\\"b\\\"===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(\\\"mat\\\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+t);return i(r*r,0)}throw new s(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+t)}}function d(t,e,i){if(\\\"object\\\"==typeof i){var o=p(i);Object.defineProperty(t,e,{get:n(o),set:h(i),enumerable:!0,configurable:!1})}else a[i]?Object.defineProperty(t,e,{get:l(i),set:h(i),enumerable:!0,configurable:!1}):t[e]=f(r[i].type)}function p(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)d(e,r,t[r])}else{e={};for(var n in t)d(e,n,t[n])}return e}var m=o(r,!0);return{get:n(p(m)),set:h(m),enumerable:!0,configurable:!0}}var o=t(\\\"./reflect\\\"),s=t(\\\"./GLError\\\");e.exports=a},{\\\"./GLError\\\":212,\\\"./reflect\\\":215}],215:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\\\".\\\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\\\"[\\\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var u=1;u<l.length;++u){var c=parseInt(l[u]);u<l.length-1||s<a.length-1?(c in o||(u<l.length-1?o[c]=[]:o[c]={}),o=o[c]):o[c]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}e.exports=n},{}],216:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(!s){var r=Object.keys(o);s={};for(var n=0;n<r.length;++n){var i=r[n];s[t[i]]=o[i]}}return s[e]}function i(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)i.push({name:o.name.replace(\\\"[0]\\\",\\\"[\\\"+l+\\\"]\\\"),type:s});else i.push({name:o.name,type:s})}}return i}function a(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&i.push({name:o.name,type:n(t,o.type)})}return i}r.uniforms=i,r.attributes=a;var o={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\\\"},s=null},{}],217:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=h(i,r,e)}catch(t){throw console.warn(\\\"Failed to format compiler error: \\\"+t),new c(i,\\\"Error compiling shader:\\\\n\\\"+i)}throw new c(i,a.short,a.long)}return n}function o(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var o=0;o<n.length;++o)t.bindAttribLocation(a,i[o],n[o]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var s=t.getProgramInfoLog(a);throw new c(s,\\\"Error linking program: \\\"+s)}return a}function s(t){var e=d.get(t);return e||(e=new i(t),d.set(t,e)),e}function l(t,e,r){return s(t).getShaderReference(e,r)}function u(t,e,r,n,i){return s(t).getProgram(e,r,n,i)}r.shader=l,r.program=u;var c=t(\\\"./GLError\\\"),h=t(\\\"gl-format-compiler-error\\\"),f=\\\"undefined\\\"==typeof WeakMap?t(\\\"weakmap-shim\\\"):WeakMap,d=new f,p=0;n.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var m=i.prototype;m.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],o=i[e];if(o&&r.isShader(o.shader))o.count+=1;else{var s=a(r,t,e);o=i[e]=new n(p++,e,t,s,[],1,this)}return o},m.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(\\\":\\\"),n.join(\\\":\\\")].join(\\\"@\\\"),a=this.programs[i];return a&&this.gl.isProgram(a)||(this.programs[i]=a=o(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{\\\"./GLError\\\":212,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],218:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}function o(t){var e=t.gl,r=s(e,[e.drawingBufferWidth,e.drawingBufferHeight]),i=new n(e,r);return i.grid=l(i),i.text=u(i),i.line=c(i),i.box=h(i),i.update(t),i}e.exports=o;var s=t(\\\"gl-select-static\\\"),l=t(\\\"./lib/grid\\\"),u=t(\\\"./lib/text\\\"),c=t(\\\"./lib/line\\\"),h=t(\\\"./lib/box\\\"),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.draw=function(){return function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=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){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),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var u=this.borderColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[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 c=this.backgroundColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,d=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var p=0;p<2;++p)if(h[p]&&n[p]<=0&&n[p+2]>=0){var m=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(m,e[1],m,e[3],d[p],f[p]):o.drawLine(e[0],m,e[2],m,d[p],f[p])}}for(var p=0;p<l.length;++p)l[p].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 v=this.borderLineEnable,g=this.borderLineWidth,y=this.borderLineColor;v[1]&&o.drawLine(r[0],r[1]-.5*g[1]*i,r[0],r[3]+.5*g[3]*i,g[1],y[1]),v[0]&&o.drawLine(r[0]-.5*g[0]*i,r[1],r[2]+.5*g[2]*i,r[1],g[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*g[1]*i,r[2],r[3]+.5*g[3]*i,g[3],y[3]),v[2]&&o.drawLine(r[0]-.5*g[0]*i,r[3],r[2]+.5*g[2]*i,r[3],g[2],y[2]),s.bind();for(var p=0;p<2;++p)s.drawTicks(p);this.titleEnable&&s.drawTitle();for(var b=this.overlays,p=0;p<b.length;++p)b[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}}}(),f.drawPick=function(){return 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()}}}(),f.pick=function(){return function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var h=u[c].pick(a,o,l);if(h)return h}return null}}}(),f.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()},f.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())},f.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()},f.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,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.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=i(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=i(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=i(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=i(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=i(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=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-1/0;for(var u=0;u<2;++u){var c=s[u].slice(0);0!==c.length&&(c.sort(a),l[u]=Math.min(l[u],c[0].x),l[u+2]=Math.max(l[u+2],c[c.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,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()},f.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(var t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},f.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}},f.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},f.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\\\":205,\\\"./lib/grid\\\":206,\\\"./lib/line\\\":207,\\\"./lib/text\\\":209,\\\"gl-select-static\\\":253}],219:[function(t,e,r){var n=t(\\\"gl-shader\\\");e.exports=function(t){return n(t,\\\"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}\\\",\\\"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}\\\",null,[{name:\\\"position\\\",type:\\\"vec2\\\"}])}},{\\\"gl-shader\\\":254}],220:[function(t,e,r){\\\"use strict\\\";function n(){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 i(t,e){var r=null;try{r=t.getContext(\\\"webgl\\\",e),r||(r=t.getContext(\\\"experimental-webgl\\\",e))}catch(t){return null}return r}function a(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){var r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function o(t){return\\\"boolean\\\"!=typeof t||t}function s(t){function e(){if(!w&&G.autoResize){var t=M.parentNode,e=1,r=1;t&&t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*G.pixelRatio),i=0|Math.ceil(r*G.pixelRatio);if(n!==M.width||i!==M.height){M.width=n,M.height=i;var a=M.style;a.position=a.position||\\\"absolute\\\",a.left=\\\"0px\\\",a.top=\\\"0px\\\",a.width=e+\\\"px\\\",a.height=r+\\\"px\\\",N=!0}}}function r(){for(var t=O.length,e=j.length,r=0;r<e;++r)F[r]=0;t:for(var r=0;r<t;++r){var n=O[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(F[a]+i<255){R[r]=a,n.setPickBase(F[a]+1),F[a]+=i;continue t}var o=f(A,q);R[r]=e,j.push(o),F.push(i),n.setPickBase(1),e+=1}else R[r]=-1}for(;e>0&&0===F[e-1];)F.pop(),j.pop().dispose()}function s(){if(G.contextLost)return!0;A.isContextLost()&&(G.contextLost=!0,G.mouseListener.enabled=!1,G.selection.object=null,G.oncontextloss&&G.oncontextloss())}function b(){if(!s()){A.colorMask(!0,!0,!0,!0),A.depthMask(!0),A.disable(A.BLEND),A.enable(A.DEPTH_TEST);for(var t=O.length,e=j.length,r=0;r<e;++r){var n=j[r];n.shape=Y,n.begin();for(var i=0;i<t;++i)if(R[i]===r){var a=O[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(H))}n.end()}}}function x(){if(!s()){e();var t=G.camera.tick();H.view=G.camera.matrix,N=N||t,B=B||t,I.pixelRatio=G.pixelRatio,P.pixelRatio=G.pixelRatio;var r=O.length,n=Z[0],i=Z[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-1/0;for(var o=0;o<r;++o){var l=O[o];l.pixelRatio=G.pixelRatio,l.axes=G.axes,N=N||!!l.dirty,B=B||!!l.dirty;var u=l.bounds;if(u)for(var h=u[0],f=u[1],d=0;d<3;++d)n[d]=Math.min(n[d],h[d]),i[d]=Math.max(i[d],f[d])}var m=G.bounds;if(G.autoBounds)for(var d=0;d<3;++d){if(i[d]<n[d])n[d]=-1,i[d]=1;else{n[d]===i[d]&&(n[d]-=1,i[d]+=1);var g=.05*(i[d]-n[d]);n[d]=n[d]-g,i[d]=i[d]+g}m[0][d]=n[d],m[1][d]=i[d]}for(var y=!1,d=0;d<3;++d)y=y||J[0][d]!==m[0][d]||J[1][d]!==m[1][d],J[0][d]=m[0][d],J[1][d]=m[1][d];if(B=B||y,N=N||y){if(y){for(var x=[0,0,0],o=0;o<3;++o)x[o]=a((m[1][o]-m[0][o])/10);I.autoTicks?I.update({bounds:m,tickSpacing:x}):I.update({bounds:m})}var _=A.drawingBufferWidth,w=A.drawingBufferHeight;q[0]=_,q[1]=w,Y[0]=0|Math.max(_/G.pixelRatio,1),Y[1]=0|Math.max(w/G.pixelRatio,1),v(U,G.fovy,_/w,G.zNear,G.zFar);for(var o=0;o<16;++o)V[o]=0;V[15]=1;for(var M=0,o=0;o<3;++o)M=Math.max(M,m[1][o]-m[0][o]);for(var o=0;o<3;++o)G.autoScale?V[5*o]=G.aspect[o]/(m[1][o]-m[0][o]):V[5*o]=1/M,G.autoCenter&&(V[12+o]=.5*-V[5*o]*(m[0][o]+m[1][o]));for(var o=0;o<r;++o){var l=O[o];l.axesBounds=m,G.clipToBounds&&(l.clipBounds=m)}S.object&&(G.snapToData?P.position=S.dataCoordinate:P.position=S.dataPosition,P.bounds=m),B&&(B=!1,b()),G.axesPixels=c(G.axes,H,_,w),G.onrender&&G.onrender(),A.bindFramebuffer(A.FRAMEBUFFER,null),A.viewport(0,0,_,w);var k=G.clearColor;A.clearColor(k[0],k[1],k[2],k[3]),A.clear(A.COLOR_BUFFER_BIT|A.DEPTH_BUFFER_BIT),A.depthMask(!0),A.colorMask(!0,!0,!0,!0),A.enable(A.DEPTH_TEST),A.depthFunc(A.LEQUAL),A.disable(A.BLEND),A.disable(A.CULL_FACE);var T=!1;I.enable&&(T=T||I.isTransparent(),I.draw(H)),P.axes=I,S.object&&P.draw(H),A.disable(A.CULL_FACE);for(var o=0;o<r;++o){var l=O[o];l.axes=I,l.pixelRatio=G.pixelRatio,l.isOpaque&&l.isOpaque()&&l.draw(H),l.isTransparent&&l.isTransparent()&&(T=!0)}if(T){E.shape=q,E.bind(),A.clear(A.DEPTH_BUFFER_BIT),A.colorMask(!1,!1,!1,!1),A.depthMask(!0),A.depthFunc(A.LESS),I.enable&&I.isTransparent()&&I.drawTransparent(H);for(var o=0;o<r;++o){var l=O[o];l.isOpaque&&l.isOpaque()&&l.draw(H)}A.enable(A.BLEND),A.blendEquation(A.FUNC_ADD),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.colorMask(!0,!0,!0,!0),A.depthMask(!1),A.clearColor(0,0,0,0),A.clear(A.COLOR_BUFFER_BIT),I.isTransparent()&&I.drawTransparent(H);for(var o=0;o<r;++o){var l=O[o];l.isTransparent&&l.isTransparent()&&l.drawTransparent(H)}A.bindFramebuffer(A.FRAMEBUFFER,null),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.disable(A.DEPTH_TEST),L.bind(),E.color[0].bind(0),L.uniforms.accumBuffer=0,p(A),A.disable(A.BLEND)}N=!1;for(var o=0;o<r;++o)O[o].dirty=!1}}}function _(){w||G.contextLost||(requestAnimationFrame(_),x())}t=t||{};var w=!1,M=(t.pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!M)if(M=document.createElement(\\\"canvas\\\"),t.container){var k=t.container;k.appendChild(M)}else document.body.appendChild(M);var A=t.gl;if(A||(A=i(M,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!A)throw new Error(\\\"webgl not supported\\\");var T=t.bounds||[[-10,-10,-10],[10,10,10]],S=new n,E=d(A,[A.drawingBufferWidth,A.drawingBufferHeight],{preferFloat:!y}),L=g(A),C=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\\\"turntable\\\"},z=t.axes||{},I=u(A,z);I.enable=!z.disable;var D=t.spikes||{},P=h(A,D),O=[],R=[],F=[],j=[],N=!0,B=!0,U=new Array(16),V=new Array(16),H={view:null,projection:U,model:V},B=!0,q=[A.drawingBufferWidth,A.drawingBufferHeight],G={gl:A,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:M,selection:S,camera:l(M,C),axes:I,axesPixels:null,spikes:P,bounds:T,objects:O,shape:q,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:o(t.autoResize),autoBounds:o(t.autoBounds),autoScale:!!t.autoScale,autoCenter:o(t.autoCenter),clipToBounds:o(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:H,oncontextloss:null,mouseListener:null},Y=[A.drawingBufferWidth/G.pixelRatio|0,A.drawingBufferHeight/G.pixelRatio|0];G.autoResize&&e(),window.addEventListener(\\\"resize\\\",e),G.update=function(t){w||(t=t||{},N=!0,B=!0)},G.add=function(t){w||(t.axes=I,O.push(t),R.push(-1),N=!0,B=!0,r())},G.remove=function(t){if(!w){var e=O.indexOf(t);e<0||(O.splice(e,1),R.pop(),N=!0,B=!0,r())}},G.dispose=function(){if(!w&&(w=!0,window.removeEventListener(\\\"resize\\\",e),M.removeEventListener(\\\"webglcontextlost\\\",s),G.mouseListener.enabled=!1,!G.contextLost)){I.dispose(),P.dispose();for(var t=0;t<O.length;++t)O[t].dispose();E.dispose();for(var t=0;t<j.length;++t)j[t].dispose();L.dispose(),A=null,I=null,P=null,O=[]}};var X=!1,W=0;G.mouseListener=m(M,function(t,e,r){if(!w){var n=j.length,i=O.length,a=S.object;S.distance=1/0,S.mouse[0]=e,S.mouse[1]=r,S.object=null,S.screen=null,S.dataCoordinate=S.dataPosition=null;var o=!1;if(t&&W)X=!0;else{X&&(B=!0),X=!1;for(var s=0;s<n;++s){var l=j[s].query(e,Y[1]-r-1,G.pickRadius);if(l){if(l.distance>S.distance)continue;for(var u=0;u<i;++u){var c=O[u];if(R[u]===s){var h=c.pick(l);h&&(S.buttons=t,S.screen=l.coord,S.distance=l.distance,S.object=c,S.index=h.distance,S.dataPosition=h.position,S.dataCoordinate=h.dataCoordinate,S.data=h,o=!0)}}}}}a&&a!==S.object&&(a.highlight&&a.highlight(null),N=!0),S.object&&(S.object.highlight&&S.object.highlight(S.data),N=!0),o=o||S.object!==a,o&&G.onselect&&G.onselect(S),1&t&&!(1&W)&&G.onclick&&G.onclick(S),W=t}}),M.addEventListener(\\\"webglcontextlost\\\",s);var Z=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],J=[Z[0].slice(),Z[1].slice()];return _(),G.redraw=function(){w||(N=!0,x())},G}e.exports=s;var l=t(\\\"3d-view-controls\\\"),u=t(\\\"gl-axes3d\\\"),c=t(\\\"gl-axes3d/properties\\\"),h=t(\\\"gl-spikes3d\\\"),f=t(\\\"gl-select-static\\\"),d=t(\\\"gl-fbo\\\"),p=t(\\\"a-big-triangle\\\"),m=t(\\\"mouse-change\\\"),v=t(\\\"gl-mat4/perspective\\\"),g=t(\\\"./lib/shader\\\"),y=t(\\\"is-mobile\\\")()},{\\\"./lib/shader\\\":219,\\\"3d-view-controls\\\":35,\\\"a-big-triangle\\\":38,\\\"gl-axes3d\\\":147,\\\"gl-axes3d/properties\\\":154,\\\"gl-fbo\\\":163,\\\"gl-mat4/perspective\\\":183,\\\"gl-select-static\\\":253,\\\"gl-spikes3d\\\":263,\\\"is-mobile\\\":295,\\\"mouse-change\\\":451}],221:[function(t,e,r){r.pointVertex=\\\"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=\\\"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=\\\"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=\\\"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\\\"},{}],222:[function(t,e,r){arguments[4][211][0].apply(r,arguments)},{\\\"./lib/GLError\\\":223,\\\"./lib/create-attributes\\\":224,\\\"./lib/create-uniforms\\\":225,\\\"./lib/reflect\\\":226,\\\"./lib/runtime-reflect\\\":227,\\\"./lib/shader-cache\\\":228,dup:211}],223:[function(t,e,r){arguments[4][212][0].apply(r,arguments)},{dup:212}],224:[function(t,e,r){arguments[4][213][0].apply(r,arguments)},{\\n\",\n       \"\\\"./GLError\\\":223,dup:213}],225:[function(t,e,r){arguments[4][214][0].apply(r,arguments)},{\\\"./GLError\\\":223,\\\"./reflect\\\":226,dup:214}],226:[function(t,e,r){arguments[4][215][0].apply(r,arguments)},{dup:215}],227:[function(t,e,r){arguments[4][216][0].apply(r,arguments)},{dup:216}],228:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{\\\"./GLError\\\":223,dup:217,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],229:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,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}function i(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}function a(t,e){var r=t.gl,i=s(r),a=s(r),l=o(r,u.pointVertex,u.pointFragment),c=o(r,u.pickVertex,u.pickFragment),h=new n(t,i,a,l,c);return h.update(e),t.addObject(h),h}var o=t(\\\"gl-shader\\\"),s=t(\\\"gl-buffer\\\"),l=t(\\\"typedarray-pool\\\"),u=t(\\\"./lib/shader\\\");e.exports=a;var c=n.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(\\\"sizeMin\\\",.5),this.sizeMax=e(\\\"sizeMax\\\",20),this.color=e(\\\"color\\\",[1,0,0,1]).slice(),this.areaRatio=e(\\\"areaRatio\\\",1),this.borderColor=e(\\\"borderColor\\\",[0,0,0,1]).slice(),this.blend=e(\\\"blend\\\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,o=t.positions,s=i?o:l.mallocFloat32(o.length),u=a?t.idToIndex:l.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),r=0;r<n;r++)u[r]=r;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(u),i||l.free(s),a||l.free(u),this.pointCount=n,this.pickOffset=0},c.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,a=n?this.pickShader:this.shader,o=this.plot.gl,s=this.plot.dataBox;if(0===this.pointCount)return r;var l=s[2]-s[0],u=s[3]-s[1],c=i(this.points,s),h=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/l,t[4]=2/u,t[6]=-2*s[0]/l-1,t[7]=-2*s[1]/u-1,this.offsetBuffer.bind(),a.bind(),a.attributes.position.pointer(),a.uniforms.matrix=t,a.uniforms.color=this.color,a.uniforms.borderColor=this.borderColor,a.uniforms.pointCloud=h<5,a.uniforms.pointSize=h,a.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&&(e[0]=255&r,e[1]=r>>8&255,e[2]=r>>16&255,e[3]=r>>24&255,this.pickBuffer.bind(),a.attributes.pickId.pointer(o.UNSIGNED_BYTE),a.uniforms.pickOffset=e,this.pickOffset=r);var f=o.getParameter(o.BLEND),d=o.getParameter(o.DITHER);return f&&!this.blend&&o.disable(o.BLEND),d&&o.disable(o.DITHER),o.drawArrays(o.POINTS,0,this.pointCount),f&&!this.blend&&o.enable(o.BLEND),d&&o.enable(o.DITHER),r+this.pointCount}}(),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\\\"./lib/shader\\\":221,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":222,\\\"typedarray-pool\\\":540}],230:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],m=r[2],v=r[3];return a=u*d+c*p+h*m+f*v,a<0&&(a=-a,d=-d,p=-p,m=-m,v=-v),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*m,t[3]=s*f+l*v,t}e.exports=n},{}],231:[function(t,e,r){\\\"use strict\\\";e.exports={vertex:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\n\\\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo) {\\\\n  return vec4((posHi + trHi) * scHi\\\\n  \\\\t\\\\t\\\\t//FIXME: this thingy does not give noticeable precision gain, need test\\\\n            + (posLo + trLo) * scHi\\\\n            + (posHi + trHi) * scLo\\\\n            + (posLo + trLo) * scLo\\\\n            , 0, 1);\\\\n}\\\\n\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute float size, border;\\\\nattribute vec2 char, color;\\\\n\\\\n//this is 64-bit form of scale and translate\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform float pixelRatio;\\\\nuniform vec4 viewBox;\\\\nuniform sampler2D palette;\\\\n\\\\nvarying vec4 charColor, borderColor;\\\\nvarying vec2 charId;\\\\nvarying vec2 pointCoord;\\\\nvarying float pointSize;\\\\nvarying float borderWidth;\\\\n\\\\n\\\\nvoid main() {\\\\n  charColor = texture2D(palette, vec2(color.x / 255., 0));\\\\n  borderColor = texture2D(palette, vec2(color.y / 255., 0));\\\\n\\\\n  gl_PointSize = size * pixelRatio;\\\\n  pointSize = size * pixelRatio;\\\\n\\\\n  charId = char;\\\\n  borderWidth = border;\\\\n\\\\n  gl_Position = computePosition_1_0(\\\\n    positionHi, positionLo,\\\\n    scaleHi, scaleLo,\\\\n    translateHi, translateLo);\\\\n\\\\n  pointCoord = viewBox.xy + (viewBox.zw - viewBox.xy) * (gl_Position.xy * .5 + .5);\\\\n}\\\\n\\\",fragment:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform sampler2D chars;\\\\nuniform vec2 charsShape;\\\\nuniform float charsStep, pixelRatio, charOffset;\\\\n\\\\nvarying vec4 borderColor;\\\\nvarying vec4 charColor;\\\\nvarying vec2 charId;\\\\nvarying vec2 pointCoord;\\\\nvarying float pointSize;\\\\nvarying float borderWidth;\\\\n\\\\nvoid main() {\\\\n\\\\tvec2 pointUV = (pointCoord - gl_FragCoord.xy + pointSize * .5) / pointSize;\\\\n\\\\tpointUV.x = 1. - pointUV.x;\\\\n\\\\tvec2 texCoord = ((charId + pointUV) * charsStep) / charsShape;\\\\n\\\\tfloat dist = texture2D(chars, texCoord).r;\\\\n\\\\n\\\\t//max-distance alpha\\\\n\\\\tif (dist < 1e-2)\\\\n\\\\t\\\\tdiscard;\\\\n\\\\n\\\\tfloat gamma = .0045 * charsStep / pointSize;\\\\n\\\\n    //null-border case\\\\n \\\\tif (borderWidth * borderColor.a == 0.) {\\\\n\\\\t\\\\tfloat charAmt = smoothstep(.748 - gamma, .748 + gamma, dist);\\\\n\\\\t\\\\tgl_FragColor = vec4(charColor.rgb, charAmt*charColor.a);\\\\n\\\\t\\\\treturn;\\\\n\\\\t}\\\\n\\\\n\\\\tfloat dif = 5. * pixelRatio * borderWidth / pointSize;\\\\n\\\\tfloat borderLevel = .748 - dif * .5;\\\\n\\\\tfloat charLevel = .748 + dif * .5;\\\\n\\\\n\\\\tfloat borderAmt = smoothstep(borderLevel - gamma, borderLevel + gamma, dist);\\\\n\\\\tfloat charAmt = smoothstep(charLevel - gamma, charLevel + gamma, dist);\\\\n\\\\n\\\\tvec4 color = borderColor;\\\\n\\\\tcolor.a *= borderAmt;\\\\n\\\\n\\\\tgl_FragColor = mix(color, charColor, charAmt);\\\\n}\\\\n\\\",pickVertex:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute vec4 id;\\\\nattribute float size;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform vec4 pickOffset;\\\\nuniform float pixelRatio;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\n\\\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo) {\\\\n  return vec4((posHi + trHi) * scHi\\\\n  \\\\t\\\\t\\\\t//FIXME: this thingy does not give noticeable precision gain, need test\\\\n            + (posLo + trLo) * scHi\\\\n            + (posHi + trHi) * scLo\\\\n            + (posLo + trLo) * scLo\\\\n            , 0, 1);\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec4 fragId = id + pickOffset;\\\\n\\\\n  fragId.y += floor(fragId.x / 256.0);\\\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\\\n\\\\n  fragId.z += floor(fragId.y / 256.0);\\\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\\\n\\\\n  fragId.w += floor(fragId.z / 256.0);\\\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\\\n\\\\n  fragColor = fragId / 255.0;\\\\n\\\\n  gl_PointSize = size * .25 * pixelRatio;\\\\n\\\\n  gl_Position = computePosition_1_0(\\\\n    positionHi, positionLo,\\\\n    scaleHi, scaleLo,\\\\n    translateHi, translateLo);\\\\n}\\\\n\\\",pickFragment:\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\nvarying vec4 fragColor;\\\\nvoid main() {\\\\n  gl_FragColor = fragColor;\\\\n}\\\\n\\\"}},{}],232:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],233:[function(t,e,r){arguments[4][211][0].apply(r,arguments)},{\\\"./lib/GLError\\\":234,\\\"./lib/create-attributes\\\":235,\\\"./lib/create-uniforms\\\":236,\\\"./lib/reflect\\\":237,\\\"./lib/runtime-reflect\\\":238,\\\"./lib/shader-cache\\\":239,dup:211}],234:[function(t,e,r){arguments[4][212][0].apply(r,arguments)},{dup:212}],235:[function(t,e,r){arguments[4][213][0].apply(r,arguments)},{\\\"./GLError\\\":234,dup:213}],236:[function(t,e,r){arguments[4][214][0].apply(r,arguments)},{\\\"./GLError\\\":234,\\\"./reflect\\\":237,dup:214}],237:[function(t,e,r){arguments[4][215][0].apply(r,arguments)},{dup:215}],238:[function(t,e,r){arguments[4][216][0].apply(r,arguments)},{dup:216}],239:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{\\\"./GLError\\\":234,dup:217,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],240:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a){a<=4*f?i(0,a-1,t,e,r,n):h(0,a-1,t,e,r,n)}function i(t,e,r,n,i,a){for(var o=t+1;o<=e;++o){for(var s=r[o],l=n[2*o],u=n[2*o+1],c=i[o],h=a[o],f=o;f>t;){var d=r[f-1],p=n[2*(f-1)];if((d-s||l-p)>=0)break;r[f]=d,n[2*f]=p,n[2*f+1]=n[2*f-1],i[f]=i[f-1],a[f]=a[f-1],f-=1}r[f]=s,n[2*f]=l,n[2*f+1]=u,i[f]=c,a[f]=h}}function a(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],u=i[t],c=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=u,a[e]=c}function o(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function s(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],u=i[2*t+1],c=a[t],h=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=u,a[r]=c,o[r]=h}function l(t,e,r,n,i,a,o,s,l,u,c){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],u[t]=u[e],c[t]=c[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,u[e]=a,c[e]=o}function u(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}function h(t,e,r,n,d,p){var m=(e-t+1)/6|0,v=t+m,g=e-m,y=t+e>>1,b=y-m,x=y+m,_=v,w=b,M=y,k=x,A=g,T=t+1,S=e-1,E=0;u(_,w,r,n,d,p)&&(E=_,_=w,w=E),u(k,A,r,n,d,p)&&(E=k,k=A,A=E),u(_,M,r,n,d,p)&&(E=_,_=M,M=E),u(w,M,r,n,d,p)&&(E=w,w=M,M=E),u(_,k,r,n,d,p)&&(E=_,_=k,k=E),u(M,k,r,n,d,p)&&(E=M,M=k,k=E),u(w,A,r,n,d,p)&&(E=w,w=A,A=E),u(w,M,r,n,d,p)&&(E=w,w=M,M=E),u(k,A,r,n,d,p)&&(E=k,k=A,A=E);var L=r[w],C=n[2*w],z=n[2*w+1],I=d[w],D=p[w],P=r[k],O=n[2*k],R=n[2*k+1],F=d[k],j=p[k],N=_,B=M,U=A,V=v,H=y,q=g,G=r[N],Y=r[B],X=r[U];r[V]=G,r[H]=Y,r[q]=X;for(var W=0;W<2;++W){var Z=n[2*N+W],J=n[2*B+W],K=n[2*U+W];n[2*V+W]=Z,n[2*H+W]=J,n[2*q+W]=K}var Q=d[N],$=d[B],tt=d[U];d[V]=Q,d[H]=$,d[q]=tt;var et=p[N],rt=p[B],nt=p[U];p[V]=et,p[H]=rt,p[q]=nt,o(b,t,r,n,d,p),o(x,e,r,n,d,p);for(var it=T;it<=S;++it)if(c(it,L,C,z,I,r,n,d))it!==T&&a(it,T,r,n,d,p),++T;else if(!c(it,P,O,R,F,r,n,d))for(;;){if(c(S,P,O,R,F,r,n,d)){c(S,L,C,z,I,r,n,d)?(s(it,T,S,r,n,d,p),++T,--S):(a(it,S,r,n,d,p),--S);break}if(--S<it)break}l(t,T-1,L,C,z,I,D,r,n,d,p),l(e,S+1,P,O,R,F,j,r,n,d,p),T-2-t<=f?i(t,T-2,r,n,d,p):h(t,T-2,r,n,d,p),e-(S+2)<=f?i(S+2,e,r,n,d,p):h(S+2,e,r,n,d,p),S-T<=f?i(T,S,r,n,d,p):h(T,S,r,n,d,p)}e.exports=n;var f=32},{}],241:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){for(var l=r,u=r;u<n;++u){var c=t[2*u],h=t[2*u+1],f=e[u];i<=c&&c<=o&&a<=h&&h<=s&&(u===l?l+=1:(t[2*u]=t[2*l],t[2*u+1]=t[2*l+1],e[u]=e[l],t[2*l]=c,t[2*l+1]=h,e[l]=f,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}function a(t,e,r,a){function l(i,a,o,s,u,c){var h=.5*o,f=s+1,d=u-s;r[_]=d,x[_++]=c;for(var p=0;p<2;++p)for(var m=0;m<2;++m){var v=i+p*h,g=a+m*h,y=n(t,e,f,u,v,g,v+h,g+h);if(y!==f){if(y-f>=Math.max(.9*d,32)){var b=u+s>>>1;l(v,g,h,f,b,c+1),f=b}l(v,g,h,f,y,c+1),f=y}}}var u=t.length>>>1;if(u<1)return[];for(var c=1/0,h=1/0,f=-1/0,d=-1/0,p=0;p<u;++p){var m=t[2*p],v=t[2*p+1];c=Math.min(c,m),f=Math.max(f,m),h=Math.min(h,v),d=Math.max(d,v),e[p]=p}c===f&&(f+=1+Math.abs(f)),h===d&&(d+=1+Math.abs(f));var g=1/(f-c),y=1/(d-h),b=Math.max(f-c,d-h);a=a||[0,0,0,0],a[0]=c,a[1]=h,a[2]=f,a[3]=d;var x=o.mallocInt32(u),_=0;l(c,h,b,0,u,0),s(x,t,e,r,u);for(var w=[],M=0,k=u,_=u-1;_>=0;--_){t[2*_]=(t[2*_]-c)*g,t[2*_+1]=(t[2*_+1]-h)*y;var A=x[_];A!==M&&(w.push(new i(b*Math.pow(.5,A),_+1,k-(_+1))),k=_+1,M=A)}return w.push(new i(b*Math.pow(.5,A+1),0,k)),o.free(x),w}var o=t(\\\"typedarray-pool\\\"),s=t(\\\"./lib/sort\\\");e.exports=a},{\\\"./lib/sort\\\":240,\\\"typedarray-pool\\\":540}],242:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.sizeBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.charBuffer=s,this.pointCount=0,this.pickOffset=0,this.points=null,this.scales=[],this.xCoords=[],this.charCanvas=document.createElement(\\\"canvas\\\"),this.charTexture=m(this.plot.gl,this.charCanvas),this.charStep=400,this.charFit=.255,this.snapThreshold=1e4,this.paletteTexture=m(this.plot.gl,[256,1])}function i(){var t=this.plot,e=t.viewBox,r=t.dataBox,n=t.pixelRatio,i=r[2]-r[0],a=r[3]-r[1],u=2/i,c=2/a,h=-r[0]-.5*i,f=-r[1]-.5*a;_[0]=u,w[0]=u-_[0],_[1]=c,w[1]=c-_[1],M[0]=h,k[0]=h-M[0],M[1]=f,k[1]=f-M[1];var d=e[2]-e[0],p=e[3]-e[1];o=Math.min(i/d,a/p),A[0]=2*n/d,A[1]=2*n/p,s=r[0],l=r[2]}function a(t,e){var r=t.gl,i=u(r,f.vertex,f.fragment),a=u(r,f.pickVertex,f.pickFragment),o=c(r),s=c(r),l=c(r),h=c(r),d=c(r),p=new n(t,i,a,o,s,l,h,d);return p.update(e),t.addObject(p),p}e.exports=a;var o,s,l,u=t(\\\"gl-shader\\\"),c=t(\\\"gl-buffer\\\"),h=t(\\\"typedarray-pool\\\"),f=t(\\\"./lib/shaders\\\"),d=t(\\\"snap-points-2d\\\"),p=t(\\\"font-atlas-sdf\\\"),m=t(\\\"gl-texture2d\\\"),v=t(\\\"color-id\\\"),g=t(\\\"ndarray\\\"),y=t(\\\"clamp\\\"),b=t(\\\"binary-search-bounds\\\"),x=n.prototype,_=new Float32Array([0,0]),w=new Float32Array([0,0]),M=new Float32Array([0,0]),k=new Float32Array([0,0]),A=[0,0],T=[0,0,0,0];x.drawPick=function(t){var e=void 0!==t,r=this.plot,n=this.pointCount,a=n>this.snapThreshold;if(!n)return t;i.call(this);var u=r.gl,c=e?this.pickShader:this.shader,h=u.isEnabled(u.BLEND);if(c.bind(),e){this.pickOffset=t;for(var f=0;f<4;++f)T[f]=t>>8*f&255;c.uniforms.pickOffset=T,this.idBuffer.bind(),c.attributes.id.pointer(u.UNSIGNED_BYTE,!1)}else u.blendFuncSeparate(u.SRC_ALPHA,u.ONE_MINUS_SRC_ALPHA,u.ONE,u.ONE_MINUS_SRC_ALPHA),u.blendColor(0,0,0,1),h||u.enable(u.BLEND),this.colorBuffer.bind(),c.attributes.color.pointer(u.UNSIGNED_BYTE,!1),this.charBuffer.bind(),c.attributes.char.pointer(u.UNSIGNED_BYTE,!1),c.uniforms.chars=this.charTexture.bind(0),c.uniforms.charsShape=[this.charCanvas.width,this.charCanvas.height],c.uniforms.charsStep=this.charStep,c.uniforms.palette=this.paletteTexture.bind(1);this.sizeBuffer.bind(),c.attributes.size.pointer(u.FLOAT,!1,8,0),e||c.attributes.border.pointer(u.FLOAT,!1,8,4),this.positionBuffer.bind(),c.attributes.positionHi.pointer(u.FLOAT,!1,16,0),c.attributes.positionLo.pointer(u.FLOAT,!1,16,8),c.uniforms.pixelRatio=r.pixelRatio,c.uniforms.scaleHi=_,c.uniforms.scaleLo=w,c.uniforms.translateHi=M,c.uniforms.translateLo=k,c.uniforms.viewBox=r.viewBox;var d=this.scales;if(a)for(var p=d.length-1;p>=0;p--){var m=d[p];if(!(m.pixelSize&&m.pixelSize<1.25*o&&p>1)){var v=m.offset,g=m.count+v,y=b.ge(this.xCoords,s,v,g-1),x=b.lt(this.xCoords,l,y,g-1)+1;x>y&&u.drawArrays(u.POINTS,y,x-y)}}else u.drawArrays(u.POINTS,0,n);if(e)return t+n;h?u.blendFunc(u.ONE,u.ONE_MINUS_SRC_ALPHA):u.disable(u.BLEND)},x.draw=x.drawPick,x.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},x.update=function(t){t=t||{};var e=t.positions||[],r=t.colors||[],n=t.glyphs||[],i=t.sizes||[],a=t.borderWidths||[],o=t.borderColors||[],s=this.plot.gl,l=this.pointCount,u=l>this.snapThreshold;if(null!=t.positions){this.points=e,l=this.points.length/2,u=l>this.snapThreshold;var c=h.mallocFloat32(2*l),f=h.mallocFloat64(2*l),m=h.mallocUint32(l),b=h.mallocFloat32(4*l);f.set(this.points),u&&(this.i2idx&&h.free(this.i2idx),this.i2idx=h.mallocInt32(l),this.scales=d(f,this.i2idx,c)),this.pointCount=l;for(var x=0;x<l;++x){var _=u?this.i2idx[x]:x;m[x]=_;var w=e[2*_],M=e[2*_+1];b[4*x]=w,b[4*x+1]=M,b[4*x+2]=w-b[4*x],b[4*x+3]=M-b[4*x+1],this.xCoords[x]=w}this.idBuffer.update(m),this.positionBuffer.update(b),h.free(b),h.free(m),h.free(f),h.free(c)}for(var k=h.mallocFloat32(2*l),A=h.mallocUint8(2*l),T=h.mallocUint8(2*l),S={},E=[],L=[],C=[],x=0,z=l,I=0;x<z;++x){var D=[255*r[4*x],255*r[4*x+1],255*r[4*x+2],255*r[4*x+3]],P=v(D,!1);null==S[P]&&(S[P]=I++,L.push(D[0]),L.push(D[1]),L.push(D[2]),L.push(D[3])),E.push(P),o&&o.length&&(D=[255*o[4*x],255*o[4*x+1],255*o[4*x+2],255*o[4*x+3]],P=v(D,!1),null==S[P]&&(S[P]=I++,L.push(D[0]),L.push(D[1]),L.push(D[2]),L.push(D[3])),C.push(P))}for(var O={},x=0,z=l,I=0;x<z;x++){var R=n[x];null==O[R]&&(O[R]=I++)}for(var F=0,x=0,z=i.length;x<z;++x)i[x]>F&&(F=i[x]);var j=this.charStep;this.charStep=y(Math.ceil(4*F),128,768);var N=Object.keys(O),B=this.charStep,U=Math.floor(B/2),V=s.getParameter(s.MAX_TEXTURE_SIZE),H=V/B*(V/B),q=Math.min(V,B*N.length),G=Math.min(V,B*Math.ceil(B*N.length/V)),Y=Math.floor(q/B);N.length>H&&console.warn(\\\"gl-scatter2d-fancy: number of characters is more than maximum texture size. Try reducing it.\\\"),this.chars&&this.chars+\\\"\\\"==N+\\\"\\\"&&this.charStep==j||(this.charCanvas=p({canvas:this.charCanvas,family:\\\"sans-serif\\\",size:U,shape:[q,G],step:[B,B],chars:N,align:!0,fit:this.charFit}),this.chars=N);for(var x=0;x<l;++x){var _=u?this.i2idx[x]:x,X=i[_],W=a[_];k[2*x]=2*X,k[2*x+1]=W;var P=E[_],Z=S[P];A[2*x]=Z;var J=C[_],K=S[J];A[2*x+1]=K;var R=n[_],Q=O[R];T[2*x+1]=Math.floor(Q/Y),T[2*x]=Q%Y}this.sizeBuffer.update(k),this.colorBuffer.update(A),this.charBuffer.update(T),this.charTexture.shape=[this.charCanvas.width,this.charCanvas.height],this.charCanvas&&this.charCanvas.width&&this.charTexture.setPixels(this.charCanvas),this.paletteTexture.setPixels(g(L.slice(0,1024),[256,1,4])),h.free(k),h.free(A),h.free(T)},x.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.sizeBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.charBuffer.dispose(),this.plot.removeObject(this)}},{\\\"./lib/shaders\\\":231,\\\"binary-search-bounds\\\":232,clamp:87,\\\"color-id\\\":91,\\\"font-atlas-sdf\\\":133,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":233,\\\"gl-texture2d\\\":266,ndarray:466,\\\"snap-points-2d\\\":241,\\\"typedarray-pool\\\":540}],243:[function(t,e,r){r.pointVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute float weight;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform float pointSize, useWeight;\\\\n\\\\nvarying float fragWeight;\\\\n\\\\n\\\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\\\n  return vec4((positionHi + translateHi) * scaleHi\\\\n            + (positionLo + translateLo) * scaleHi\\\\n            + (positionHi + translateHi) * scaleLo\\\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\\\n}\\\\n\\\\nvoid main() {\\\\n  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\\\n  gl_PointSize = pointSize;\\\\n  fragWeight = mix(1.0, weight, useWeight);\\\\n}\\\",r.pointFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color, borderColor;\\\\nuniform float centerFraction;\\\\n\\\\nvarying float fragWeight;\\\\n\\\\nfloat smoothStep(float x, float y) {\\\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\\\n}\\\\n\\\\nvoid main() {\\\\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\\\\n  if(radius > 1.0) {\\\\n    discard;\\\\n  }\\\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, fragWeight);\\\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\\\n}\\\\n\\\",r.pickVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\\\n  return vec4((positionHi + translateHi) * scaleHi\\\\n            + (positionLo + translateLo) * scaleHi\\\\n            + (positionHi + translateHi) * scaleLo\\\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\\\n}\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute vec4 pickId;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform float pointSize;\\\\nuniform vec4 pickOffset;\\\\n\\\\nvarying vec4 fragId;\\\\n\\\\nvoid main() {\\\\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  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\\\n  gl_PointSize = pointSize;\\\\n  fragId = id;\\\\n}\\\",r.pickFragment=\\\"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}\\\"},{}],244:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],245:[function(t,e,r){arguments[4][240][0].apply(r,arguments)},{dup:240}],246:[function(t,e,r){arguments[4][241][0].apply(r,arguments)},{\\\"./lib/sort\\\":245,dup:241,\\\"typedarray-pool\\\":540}],247:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.plot=t,this.positionBufferHi=e,this.positionBufferLo=r,this.pickBuffer=n,this.weightBuffer=i,this.shader=a,this.pickShader=o,this.scales=[],this.size=12,this.borderSize=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0,this.points=null,this.xCoords=null,this.snapPoints=!0}function i(t,e){var r=t.gl,i=o(r),s=o(r),l=o(r),u=o(r),h=a(r,c.pointVertex,c.pointFragment),f=a(r,c.pickVertex,c.pickFragment),d=new n(t,i,s,l,u,h,f);return d.update(e),t.addObject(d),d}var a=t(\\\"gl-shader\\\"),o=t(\\\"gl-buffer\\\"),s=t(\\\"binary-search-bounds\\\"),l=t(\\\"snap-points-2d\\\"),u=t(\\\"typedarray-pool\\\"),c=t(\\\"./lib/shader\\\"),h=t(\\\"array-normalize\\\"),f=t(\\\"array-bounds\\\");e.exports=i;var d=n.prototype,p=new Float32Array(2),m=new Float32Array(2),v=new Float32Array(2),g=new Float32Array(2),y=[0,0,0,0];d.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBufferHi.dispose(),this.positionBufferLo.dispose(),this.pickBuffer.dispose(),this.xCoords&&u.free(this.xCoords),this.plot.removeObject(this)},d.update=function(t){function e(e,r){return e in t?t[e]:r}if(t=t||{},this.size=e(\\\"size\\\",12),this.color=e(\\\"color\\\",[1,0,0,1]).slice(),this.borderSize=e(\\\"borderSize\\\",1),this.borderColor=e(\\\"borderColor\\\",[0,0,0,1]).slice(),this.snapPoints=e(\\\"snapPoints\\\",!0),null!=t.positions){this.xCoords&&u.free(this.xCoords),this.points=t.positions;var r=this.points.length>>>1,n=u.mallocInt32(r),i=u.mallocFloat32(r),a=u.mallocFloat64(2*r);if(a.set(this.points),this.snapPoints)this.scales=l(a,n,i,this.bounds);else{this.bounds=f(a,2),h(a,2,this.bounds);for(var o=0;o<r;o++)n[o]=o,i[o]=1}var s=u.mallocFloat64(r),c=u.mallocFloat32(2*r),d=u.mallocFloat32(2*r);c.set(a);for(var o=0,p=0;o<r;o++,p+=2)d[p]=a[p]-c[p],d[p+1]=a[p+1]-c[p+1],s[o]=a[p];this.positionBufferHi.update(c),this.positionBufferLo.update(d),this.pickBuffer.update(n),this.weightBuffer.update(i),u.free(c),u.free(d),u.free(i),u.free(a),u.free(n),this.xCoords=s,this.pointCount=r,this.pickOffset=0}},d.draw=function(t){var e=void 0!==t,r=this.plot,n=e?this.pickShader:this.shader,i=this.scales,a=this.positionBufferHi,o=this.positionBufferLo,s=this.pickBuffer,l=this.bounds,u=this.size,c=this.borderSize,h=r.gl,f=e?r.pickPixelRatio:r.pixelRatio,d=r.viewBox,b=r.dataBox;if(0===this.pointCount)return t;var x=l[2]-l[0],_=l[3]-l[1],w=b[2]-b[0],M=b[3]-b[1],k=(d[2]-d[0])*f/r.pixelRatio,A=(d[3]-d[1])*f/r.pixelRatio,T=this.pixelSize=Math.min(w/k,M/A),S=2*x/w,E=2*_/M;p[0]=S,p[1]=E,m[0]=S-p[0],m[1]=E-p[1];var L=(l[0]-b[0]-.5*w)/x,C=(l[1]-b[1]-.5*M)/_;v[0]=L,v[1]=C,g[0]=L-v[0],g[1]=C-v[1],n.bind(),n.uniforms.scaleHi=p,n.uniforms.scaleLo=m,n.uniforms.translateHi=v,n.uniforms.translateLo=g,n.uniforms.color=this.color,n.uniforms.borderColor=this.borderColor,n.uniforms.pointSize=f*(u+c),n.uniforms.centerFraction=0===this.borderSize?2:u/(u+c+1.25),a.bind(),n.attributes.positionHi.pointer(),o.bind(),n.attributes.positionLo.pointer(),e?(this.pickOffset=t,y[0]=255&t,y[1]=t>>8&255,y[2]=t>>16&255,y[3]=t>>24&255,n.uniforms.pickOffset=y,s.bind(),n.attributes.pickId.pointer(h.UNSIGNED_BYTE)):(n.uniforms.useWeight=1,this.weightBuffer.bind(),n.attributes.weight.pointer());var z=!0;if(this.snapPoints)for(var I=i.length-1;I>=0;I--){var D=i[I];if(!(D.pixelSize<T&&I>1)){var P=this.getVisibleRange(D),O=P[0],R=P[1];R>O&&h.drawArrays(h.POINTS,O,R-O),!e&&z&&(z=!1,n.uniforms.useWeight=0)}}else h.drawArrays(h.POINTS,0,this.pointCount);return t+this.pointCount},d.getVisibleRange=function(t){var e=this.plot.dataBox,r=this.bounds,n=this.pixelSize,i=this.size,a=this.plot.pixelRatio,o=r[2]-r[0];r[3],r[1];if(!t)for(var t,l=this.scales.length-1;l>=0&&(t=this.scales[l],t.pixelSize<n&&l>1);l--);var u=this.xCoords,c=(e[0]-r[0]-n*i*a)/o,h=(e[2]-r[0]+n*i*a)/o,f=t.offset,d=t.count+f,p=s.ge(u,c,f,d-1);return[p,s.lt(u,h,p,d-1)+1]},d.drawPick=d.draw,d.pick=function(t,e,r){var n=r-this.pickOffset;return n<0||n>=this.pointCount?null:{object:this,pointId:n,dataCoord:[this.points[2*n],this.points[2*n+1]]}}},{\\\"./lib/shader\\\":243,\\\"array-bounds\\\":43,\\\"array-normalize\\\":44,\\\"binary-search-bounds\\\":244,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"snap-points-2d\\\":246,\\\"typedarray-pool\\\":540}],248:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=a[e];if(r||(r=a[e]={}),t in r)return r[t];for(var n=i(t,{textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),o=i(t,{triangles:!0,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l<n.positions.length;++l)for(var u=n.positions[l],c=0;c<2;++c)s[0][c]=Math.min(s[0][c],u[c]),s[1][c]=Math.max(s[1][c],u[c]);return r[t]=[o,n,s]}var i=t(\\\"vectorize-text\\\");e.exports=n;var a={}},{\\\"vectorize-text\\\":553}],249:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(\\\"gl-shader\\\"),a=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec3 position;\\\\nattribute vec4 color;\\\\nattribute vec2 glyph;\\\\nattribute vec4 id;\\\\n\\\\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(any(lessThan(position, clipBounds[0]))   || \\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\\\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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   ||\\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 interpColor;\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = interpColor * opacity;\\\\n  }\\\\n}\\\\n\\\",u=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float pickGroup;\\\\n\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\\\n  }\\\\n}\\\",c=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"glyph\\\",type:\\\"vec2\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}],h={vertex:a,fragment:l,attributes:c},f={vertex:o,fragment:l,attributes:c},d={vertex:s,fragment:l,attributes:c},p={vertex:a,fragment:u,attributes:c},m={vertex:o,fragment:u,attributes:c},v={vertex:s,fragment:u,attributes:c};r.createPerspective=function(t){return n(t,h)},r.createOrtho=function(t){return n(t,f)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,m)},r.createPickProject=function(t){return n(t,v)}},{\\\"gl-shader\\\":254}],250:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function i(t,e,r,i){return n(i,i,r),n(i,i,e),n(i,i,t)}function a(t,e){this.index=t,this.dataCoordinate=this.position=e}function o(t,e,r,n,i,o,s,l,u,c,h,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=o,this.glyphBuffer=s,this.idBuffer=l,this.vao=u,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=h,this.pickProjectShader=f,this.points=[],this._selectResult=new a(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}function s(t){return t[0]=t[1]=t[2]=0,t}function l(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function u(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t){for(var e=L,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}function h(t,e,r,n,a){var o,h=e.axesProject,f=e.gl,d=t.uniforms,p=r.model||x,m=r.view||x,v=r.projection||x,y=e.axesBounds,b=c(e.clipBounds);o=e.axes?e.axes.lastCubeProps.axis:[1,1,1],w[0]=2/f.drawingBufferWidth,w[1]=2/f.drawingBufferHeight,t.bind(),d.view=m,d.projection=v,d.screenSize=w,d.highlightId=e.highlightId,d.highlightScale=e.highlightScale,d.clipBounds=b,\\n\",\n       \"d.pickGroup=e.pickId/255,d.pixelRatio=e.pixelRatio;for(var _=0;_<3;++_)if(h[_]&&e.projectOpacity[_]<1===n){d.scale=e.projectScale[_],d.opacity=e.projectOpacity[_];for(var L=S,C=0;C<16;++C)L[C]=0;for(var C=0;C<4;++C)L[5*C]=1;L[5*_]=0,o[_]<0?L[12+_]=y[0][_]:L[12+_]=y[1][_],g(L,p,L),d.model=L;var z=(_+1)%3,I=(_+2)%3,D=s(M),P=s(k);D[z]=1,P[I]=1;var O=i(v,m,p,l(A,D)),R=i(v,m,p,l(T,P));if(Math.abs(O[1])>Math.abs(R[1])){var F=O;O=R,R=F,F=D,D=P,P=F;var j=z;z=I,I=j}O[0]<0&&(D[z]=-1),R[1]>0&&(P[I]=-1);for(var N=0,B=0,C=0;C<4;++C)N+=Math.pow(p[4*z+C],2),B+=Math.pow(p[4*I+C],2);D[z]/=Math.sqrt(N),P[I]/=Math.sqrt(B),d.axes[0]=D,d.axes[1]=P,d.fragClipBounds[0]=u(E,b[0],_,-1e8),d.fragClipBounds[1]=u(E,b[1],_,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth>0&&(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function f(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||x,s.view=n.view||x,s.projection=n.projection||x,w[0]=2/o.drawingBufferWidth,w[1]=2/o.drawingBufferHeight,s.screenSize=w,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=I,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}h(e,r,n,i,a),r.vao.unbind()}function d(t){var e=t.gl,r=y.createPerspective(e),n=y.createOrtho(e),i=y.createProject(e),a=y.createPickPerspective(e),s=y.createPickOrtho(e),l=y.createPickProject(e),u=p(e),c=p(e),h=p(e),f=p(e),d=m(e,[{buffer:u,size:3,type:e.FLOAT},{buffer:c,size:4,type:e.FLOAT},{buffer:h,size:2,type:e.FLOAT},{buffer:f,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new o(e,r,n,i,u,c,h,f,d,a,s,l);return v.update(t),v}var p=t(\\\"gl-buffer\\\"),m=t(\\\"gl-vao\\\"),v=t(\\\"typedarray-pool\\\"),g=t(\\\"gl-mat4/multiply\\\"),y=t(\\\"./lib/shaders\\\"),b=t(\\\"./lib/glyphs\\\"),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=d;var _=o.prototype;_.pickSlots=1,_.setPickBase=function(t){this.pickId=t},_.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},_.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var w=[0,0],M=[0,0,0],k=[0,0,0],A=[0,0,0,1],T=[0,0,0,1],S=x.slice(),E=[0,0,0],L=[[0,0,0],[0,0,0]],C=[-1e8,-1e8,-1e8],z=[1e8,1e8,1e8],I=[C,z];_.draw=function(t){f(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},_.drawTransparent=function(t){f(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},_.drawPick=function(t){f(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},_.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 i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(t){if(t=t||{},\\\"perspective\\\"in 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(\\\"projectOpacity\\\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{var r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\\\"opacity\\\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\\\"normal\\\",a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,u=t.color,c=t.size,h=t.angle,f=t.lineColor,d=0,p=0,m=0,g=n.length;t:for(var y=0;y<g;++y){for(var x=n[y],_=0;_<3;++_)if(isNaN(x[_])||!isFinite(x[_]))continue t;var w;w=Array.isArray(l)?b(l[y],i):l?b(l,i):b(\\\"\\\\u25cf\\\",i);var M=w[0],k=w[1],A=w[2];p+=3*M.cells.length,m+=2*k.edges.length}var T=p+m,S=v.mallocFloat(3*T),E=v.mallocFloat(4*T),L=v.mallocFloat(2*T),C=v.mallocUint32(T),z=[0,a[1]],I=0,D=p,P=[0,0,0,1],O=[0,0,0,1],R=Array.isArray(u)&&Array.isArray(u[0]),F=Array.isArray(f)&&Array.isArray(f[0]);t:for(var y=0;y<g;++y){for(var x=n[y],_=0;_<3;++_){if(isNaN(x[_])||!isFinite(x[_])){d+=1;continue t}s[_]=Math.max(s[_],x[_]),o[_]=Math.min(o[_],x[_])}var w;w=Array.isArray(l)?b(l[y],i):l?b(l,i):b(\\\"\\\\u25cf\\\",i);var M=w[0],k=w[1],A=w[2];if(Array.isArray(u)){var j;if(j=R?u[y]:u,3===j.length){for(var _=0;_<3;++_)P[_]=j[_];P[3]=1}else if(4===j.length)for(var _=0;_<4;++_)P[_]=j[_]}else P[0]=P[1]=P[2]=0,P[3]=1;if(Array.isArray(f)){var j;if(j=F?f[y]:f,3===j.length){for(var _=0;_<3;++_)O[_]=j[_];O[_]=1}else if(4===j.length)for(var _=0;_<4;++_)O[_]=j[_]}else O[0]=O[1]=O[2]=0,O[3]=1;var N=.5;Array.isArray(c)?N=+c[y]:c?N=+c:this.useOrtho&&(N=12);var B=0;Array.isArray(h)?B=+h[y]:h&&(B=+h);for(var U=Math.cos(B),V=Math.sin(B),x=n[y],_=0;_<3;++_)s[_]=Math.max(s[_],x[_]),o[_]=Math.min(o[_],x[_]);a[0]<0?z[0]=a[0]*(1+A[1][0]):a[0]>0&&(z[0]=-a[0]*(1+A[0][0]));for(var H=M.cells,q=M.positions,_=0;_<H.length;++_)for(var G=H[_],Y=0;Y<3;++Y){for(var X=0;X<3;++X)S[3*I+X]=x[X];for(var X=0;X<4;++X)E[4*I+X]=P[X];C[I]=d;var W=q[G[Y]];L[2*I]=N*(U*W[0]-V*W[1]+z[0]),L[2*I+1]=N*(V*W[0]+U*W[1]+z[1]),I+=1}for(var H=k.edges,q=k.positions,_=0;_<H.length;++_)for(var G=H[_],Y=0;Y<2;++Y){for(var X=0;X<3;++X)S[3*D+X]=x[X];for(var X=0;X<4;++X)E[4*D+X]=O[X];C[D]=d;var W=q[G[Y]];L[2*D]=N*(U*W[0]-V*W[1]+z[0]),L[2*D+1]=N*(V*W[0]+U*W[1]+z[1]),D+=1}d+=1}this.vertexCount=p,this.lineVertexCount=m,this.pointBuffer.update(S),this.colorBuffer.update(E),this.glyphBuffer.update(L),this.idBuffer.update(new Uint32Array(C)),v.free(S),v.free(E),v.free(L),v.free(C),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},_.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/glyphs\\\":248,\\\"./lib/shaders\\\":249,\\\"gl-buffer\\\":155,\\\"gl-mat4/multiply\\\":182,\\\"gl-vao\\\":270,\\\"typedarray-pool\\\":540}],251:[function(t,e,r){\\\"use strict\\\";r.boxVertex=\\\"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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\\n\\\"},{}],252:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e){var r=t.gl,i=o(r,[0,0,0,1,1,0,1,1]),l=a(r,s.boxVertex,s.boxFragment),u=new n(t,i,l);return u.update(e),t.addOverlay(u),u}var a=t(\\\"gl-shader\\\"),o=t(\\\"gl-buffer\\\"),s=t(\\\"./lib/shaders\\\");e.exports=i;var l=n.prototype;l.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,u=t.viewBox,c=t.pixelRatio,h=(e[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],f=(e[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],d=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],p=(e[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(h=Math.max(h,u[0]),f=Math.max(f,u[1]),d=Math.min(d,u[2]),p=Math.min(p,u[3]),!(d<h||p<f)){o.bind();var m=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,m,f,i),o.drawBox(0,f,h,p,i),o.drawBox(0,p,m,v,i),o.drawBox(d,f,m,p,i)),this.innerFill&&o.drawBox(h,f,d,p,n),r>0){var g=r*c;o.drawBox(h-g,f-g,d+g,f+g,a),o.drawBox(h-g,p-g,d+g,p+g,a),o.drawBox(h-g,f-g,h+g,p+g,a),o.drawBox(d-g,f-g,d+g,p+g,a)}}}},l.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()},l.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\\\"./lib/shaders\\\":251,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254}],253:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function i(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)}}function a(t,e){return new i(t,o(t,e),s.mallocUint8(e[0]*e[1]*4))}e.exports=a;var o=t(\\\"gl-fbo\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"ndarray\\\"),u=t(\\\"bit-twiddle\\\").nextPow2,c=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"array\\\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\\\"scalar\\\",\\\"scalar\\\",\\\"index\\\"],pre:{body:\\\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},body:{body:\\\"{if(_inline_49_arg0_<255||_inline_49_arg1_<255||_inline_49_arg2_<255||_inline_49_arg3_<255){var _inline_49_l=_inline_49_arg4_-_inline_49_arg6_[0],_inline_49_a=_inline_49_arg5_-_inline_49_arg6_[1],_inline_49_f=_inline_49_l*_inline_49_l+_inline_49_a*_inline_49_a;_inline_49_f<this_closestD2&&(this_closestD2=_inline_49_f,this_closestX=_inline_49_arg6_[0],this_closestY=_inline_49_arg6_[1])}}\\\",args:[{name:\\\"_inline_49_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg1_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg4_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg5_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg6_\\\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[\\\"_inline_49_a\\\",\\\"_inline_49_f\\\",\\\"_inline_49_l\\\"]},post:{body:\\\"{return[this_closestX,this_closestY,this_closestD2]}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64}),h=i.prototype;Object.defineProperty(h,\\\"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){s.free(this.buffer);for(var n=this.buffer=s.mallocUint8(u(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),h.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))},h.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},h.query=function(t,e,r){if(!this.gl)return null;var i=this.fbo.shape.slice();t|=0,e|=0,\\\"number\\\"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),i[0]),o=0|Math.min(Math.max(t+r,0),i[0]),s=0|Math.min(Math.max(e-r,0),i[1]),u=0|Math.min(Math.max(e+r,0),i[1]);if(o<=a||u<=s)return null;var h=[o-a,u-s],f=l(this.buffer,[h[0],h[1],4],[4,4*i[0],1],4*(a+i[0]*s)),d=c(f.hi(h[0],h[1],1),r,r),p=d[0],m=d[1];return p<0||Math.pow(this.radius,2)<d[2]?null:new n(p+a|0,m+s|0,f.get(p,m,0),[f.get(p,m,1),f.get(p,m,2),f.get(p,m,3)],Math.sqrt(d[2]))},h.dispose=function(){this.gl&&(this.fbo.dispose(),s.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\\\"bit-twiddle\\\":66,\\\"cwise/lib/wrapper\\\":112,\\\"gl-fbo\\\":163,ndarray:466,\\\"typedarray-pool\\\":540}],254:[function(t,e,r){\\\"use strict\\\";function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\\\"./lib/create-uniforms\\\"),s=t(\\\"./lib/create-attributes\\\"),l=t(\\\"./lib/reflect\\\"),u=t(\\\"./lib/shader-cache\\\"),c=t(\\\"./lib/runtime-reflect\\\"),h=t(\\\"./lib/GLError\\\"),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){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},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,x,_);for(var t=0;t<r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,m=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),m&&m.dispose(),d.vertShader=d._vref.shader;var v=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),v&&v.dispose(),d.fragShader=d._fref.shader,!r||!n){var g=p.createProgram();if(p.attachShader(g,d.fragShader),p.attachShader(g,d.vertShader),p.linkProgram(g),!p.getProgramParameter(g,p.LINK_STATUS)){var y=p.getProgramInfoLog(g);throw new h(y,\\\"Error linking program:\\\"+y)}r=r||c.uniforms(p,g),n=n||c.attributes(p,g),p.deleteProgram(g)}n=n.slice(),n.sort(i);for(var b=[],x=[],_=[],w=0;w<n.length;++w){var M=n[w];if(M.type.indexOf(\\\"mat\\\")>=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T<k;++T)A[T]=_.length,x.push(M.name+\\\"[\\\"+T+\\\"]\\\"),\\\"number\\\"==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&&M.location.length===k&&\\\"number\\\"==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);b.push({name:M.name,type:M.type,locations:A})}else b.push({name:M.name,type:M.type,locations:[_.length]}),x.push(M.name),\\\"number\\\"==typeof M.location?_.push(0|M.location):_.push(-1)}for(var S=0,w=0;w<_.length;++w)if(_[w]<0){for(;_.indexOf(S)>=0;)S+=1;_[w]=S}var E=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,b,_),Object.defineProperty(d,\\\"uniforms\\\",o(p,d,r,E))},e.exports=a},{\\\"./lib/GLError\\\":255,\\\"./lib/create-attributes\\\":256,\\\"./lib/create-uniforms\\\":257,\\\"./lib/reflect\\\":258,\\\"./lib/runtime-reflect\\\":259,\\\"./lib/shader-cache\\\":260}],255:[function(t,e,r){arguments[4][212][0].apply(r,arguments)},{dup:212}],256:[function(t,e,r){arguments[4][213][0].apply(r,arguments)},{\\\"./GLError\\\":255,dup:213}],257:[function(t,e,r){arguments[4][214][0].apply(r,arguments)},{\\\"./GLError\\\":255,\\\"./reflect\\\":258,dup:214}],258:[function(t,e,r){arguments[4][215][0].apply(r,arguments)},{dup:215}],259:[function(t,e,r){arguments[4][216][0].apply(r,arguments)},{dup:216}],260:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{\\\"./GLError\\\":255,dup:217,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],261:[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]}function i(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r}e.exports=i;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,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.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]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,u,s[0],u,e[0],r[0]),t[1]&&a.drawLine(l,u,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,u,s[2],u,e[2],r[2]),t[3]&&a.drawLine(l,u,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],262:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\");e.exports=function(t){return n(t,\\\"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\\\",\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = fragColor;\\\\n}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec3\\\"},{name:\\\"weight\\\",type:\\\"float\\\"}])}},{\\\"gl-shader\\\":254}],263:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e){function r(t,e,r,n,a,o){var s=[t,e,r,0,0,0,1];s[n+3]=1,s[n]=a,i.push.apply(i,s),s[6]=-1,i.push.apply(i,s),s[n]=o,i.push.apply(i,s),i.push.apply(i,s),s[6]=1,i.push.apply(i,s),s[n]=a,i.push.apply(i,s)}var i=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=a(t,i),u=o(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}]),c=s(t);c.attributes.position.location=0,c.attributes.color.location=1,c.attributes.weight.location=2;var h=new n(t,l,u,c);return h.update(e),h}var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-vao\\\"),s=t(\\\"./shaders/index\\\");e.exports=i;var l=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype,c=[0,0,0],h=[0,0,0],f=[0,0];u.isTransparent=function(){return!1},u.drawTransparent=function(t){},u.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||l,o=t.view||l,s=t.projection||l;this.axes&&(i=this.axes.lastCubeProps.axis);for(var u=c,d=h,p=0;p<3;++p)i&&i[p]<0?(u[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(u[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,u,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(var p=0;p<3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&&(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&&r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},u.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))},u.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\\\"./shaders/index\\\":262,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],264:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute vec3 f;\\\\nattribute vec3 normal;\\\\n\\\\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  worldCoordinate = vec3(uv.zw, f.x);\\\\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\\\",a=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nfloat beckmannDistribution_2_0(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\\\\n\\\\n\\\\nfloat beckmannSpecular_1_1(\\\\n  vec3 lightDirection,\\\\n  vec3 viewDirection,\\\\n  vec3 surfaceNormal,\\\\n  float roughness) {\\\\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\\\n}\\\\n\\\\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 (kill > 0.0 ||\\\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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_1_1(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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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\\\",o=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute float f;\\\\n\\\\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\\\n\\\\n  vec4 clipPosition = projection * view * worldPosition;\\\\n  clipPosition.z = clipPosition.z + zOffset;\\\\n\\\\n  gl_Position = clipPosition;\\\\n  value = f;\\\\n  kill = -1.0;\\\\n  worldCoordinate = dataCoordinate;\\\\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\\\",s=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    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,a,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,s,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,o,a,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,o,s,null,[{name:\\\"uv\\\",type:\\\"vec4\\\"},{name:\\\"f\\\",type:\\\"float\\\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\\\"gl-shader\\\":254}],265:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function i(t){var e=x([y({colormap:t,nshades:R,format:\\\"rgba\\\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return b.divseq(e,255),e}function a(t,e,r,i,a,o,s,l,u,c,h,f,d,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=i,this._pickShader=a,this._coordinateBuffer=o,this._vao=s,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new n([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=p,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=[_(g.mallocFloat(1024),[0,0]),_(g.mallocFloat(1024),[0,0]),_(g.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.opacity=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}function o(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||j,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=N.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[+(a[r]>0)][r],M(l,t.model,l);var u=N.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return N.showSurface=o,N.showContour=s,N}function s(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=B;n.model=t.model||D,n.view=t.view||D,n.projection=t.projection||D,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.contourColor=this.contourColor[0],n.inverseModel=k(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],s=0;s<3;++s)a[s]=Math.min(Math.max(this.clipBounds[i][s],-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=V,n.vertexColor=this.vertexColor;var l=U;for(M(l,n.view,n.model),M(l,n.projection,l),k(l,l),i=0;i<3;++i)n.eyePosition[i]=l[12+i]/l[15];var u=l[15];for(i=0;i<3;++i)u+=this.lightPosition[i]*l[4*i+3];for(i=0;i<3;++i){var c=l[12+i];for(s=0;s<3;++s)c+=l[4*s+i]*this.lightPosition[s];n.lightPosition[i]=c/u}var h=o(n,this);if(h.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=h.projections[i],this._shader.uniforms.clipBounds=h.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(h.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var d=this._contourVAO;for(d.bind(),i=0;i<3;++i)for(f.uniforms.permutation=O[i],r.lineWidth(this.contourWidth[i]),s=0;s<this.contourLevels[i].length;++s)this._contourCounts[i][s]&&(s===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==s&&s-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),f.uniforms.height=this.contourLevels[i][s],d.draw(r.LINES,this._contourCounts[i][s],this._contourOffsets[i][s]));for(i=0;i<3;++i)for(f.uniforms.model=h.projections[i],f.uniforms.clipBounds=h.clipBounds[i],s=0;s<3;++s)if(this.contourProject[i][s]){f.uniforms.permutation=O[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p<this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(f.uniforms.contourColor=this.highlightColor[s],f.uniforms.contourTint=this.highlightTint[s]):0!==p&&p-1!==this.highlightLevel[s]||(f.uniforms.contourColor=this.contourColor[s],f.uniforms.contourTint=this.contourTint[s]),f.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for(d=this._dynamicVAO,d.bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=O[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),s=0;s<3;++s)this.contourProject[s][i]&&(f.uniforms.model=h.projections[s],f.uniforms.clipBounds=h.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));d.unbind()}}function l(t,e){var r=e.shape.slice(),n=t.shape.slice();b.assign(t.lo(1,1).hi(r[0],r[1]),e),b.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),b.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),b.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),b.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))}function u(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function c(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 h(t){if(Array.isArray(t)){if(Array.isArray(t))return[c(t[0]),c(t[1]),c(t[2])];var e=c(t);return[e.slice(),e.slice(),e.slice()]}}function f(t){var e=t.gl,r=E(e),n=C(e),i=L(e),o=z(e),s=p(e),l=m(e,[{buffer:s,size:4,stride:I,offset:0},{buffer:s,size:3,stride:I,offset:16},{buffer:s,size:3,stride:I,offset:28}]),u=p(e),c=m(e,[{buffer:u,size:4,stride:20,offset:0},{buffer:u,size:1,stride:20,offset:16}]),h=p(e),f=m(e,[{buffer:h,size:2,type:e.FLOAT}]),d=v(e,1,R,e.RGBA,e.UNSIGNED_BYTE);d.minFilter=e.LINEAR,d.magFilter=e.LINEAR;var g=new a(e,[0,0],[[0,0,0],[0,0,0]],r,n,s,l,d,i,o,u,c,h,f),y={levels:[[],[],[]]};for(var b in t)y[b]=t[b];return y.colormap=y.colormap||\\\"jet\\\",g.update(y),g}e.exports=f\\n\",\n       \";var d=t(\\\"bit-twiddle\\\"),p=t(\\\"gl-buffer\\\"),m=t(\\\"gl-vao\\\"),v=t(\\\"gl-texture2d\\\"),g=t(\\\"typedarray-pool\\\"),y=t(\\\"colormap\\\"),b=t(\\\"ndarray-ops\\\"),x=t(\\\"ndarray-pack\\\"),_=t(\\\"ndarray\\\"),w=t(\\\"surface-nets\\\"),M=t(\\\"gl-mat4/multiply\\\"),k=t(\\\"gl-mat4/invert\\\"),A=t(\\\"binary-search-bounds\\\"),T=t(\\\"ndarray-gradient\\\"),S=t(\\\"./lib/shaders\\\"),E=S.createShader,L=S.createContourShader,C=S.createPickShader,z=S.createPickContourShader,I=40,D=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],P=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],O=[[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(){for(var t=0;t<3;++t){var e=O[t],r=(t+1)%3,n=(t+2)%3;e[r+0]=1,e[n+3]=1,e[t+6]=1}}();var R=256,F=a.prototype;F.isTransparent=function(){return this.opacity<1},F.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},F.pickSlots=1,F.setPickBase=function(t){this.pickId=t};var j=[0,0,0],N={showSurface:!1,showContour:!1,projections:[D.slice(),D.slice(),D.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},B={model:D,view:D,projection:D,inverseModel:D.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},U=D.slice(),V=[1,0,0,0,1,0,0,0,1];F.draw=function(t){return s.call(this,t,!1)},F.drawTransparent=function(t){return s.call(this,t,!0)};var H={model:D,view:D,projection:D,inverseModel:D,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};F.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=H;r.model=t.model||D,r.view=t.view||D,r.projection=t.projection||D,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=V;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var s=o(r,this);if(s.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=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var u=this._contourVAO;for(u.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),l.uniforms.permutation=O[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(l.uniforms.height=this.contourLevels[a][n],u.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){l.uniforms.permutation=O[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(l.uniforms.height=this.contourLevels[a][c],u.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}u.unbind()}},F.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,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var h=c?a:1-a,f=0;f<2;++f)for(var d=f?l:1-l,p=i+c,m=s+f,v=h*d,g=0;g<3;++g)u[g]+=this._field[g].get(p,m)*v;for(var y=this._pickResult.level,b=0;b<3;++b)if(y[b]=A.le(this.contourLevels[b],u[b]),y[b]<0)this.contourLevels[b].length>0&&(y[b]=0);else if(y[b]<this.contourLevels[b].length-1){var x=this.contourLevels[b][y[b]],_=this.contourLevels[b][y[b]+1];Math.abs(x-u[b])>Math.abs(_-u[b])&&(y[b]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],g=0;g<3;++g)r.dataCoordinate[g]=this._field[g].get(r.index[0],r.index[1]);return r},F.update=function(t){t=t||{},this.dirty=!0,\\\"contourWidth\\\"in t&&(this.contourWidth=u(t.contourWidth,Number)),\\\"showContour\\\"in t&&(this.showContour=u(t.showContour,Boolean)),\\\"showSurface\\\"in t&&(this.showSurface=!!t.showSurface),\\\"contourTint\\\"in t&&(this.contourTint=u(t.contourTint,Boolean)),\\\"contourColor\\\"in t&&(this.contourColor=h(t.contourColor)),\\\"contourProject\\\"in t&&(this.contourProject=u(t.contourProject,function(t){return u(t,Boolean)})),\\\"surfaceProject\\\"in t&&(this.surfaceProject=t.surfaceProject),\\\"dynamicColor\\\"in t&&(this.dynamicColor=h(t.dynamicColor)),\\\"dynamicTint\\\"in t&&(this.dynamicTint=u(t.dynamicTint,Number)),\\\"dynamicWidth\\\"in t&&(this.dynamicWidth=u(t.dynamicWidth,Number)),\\\"opacity\\\"in t&&(this.opacity=t.opacity),\\\"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 n=(e.shape[0]+2)*(e.shape[1]+2);n>this._field[2].data.length&&(g.freeFloat(this._field[2].data),this._field[2].data=g.mallocFloat(d.nextPow2(n))),this._field[2]=_(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),l(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(g.freeFloat(this._field[o].data),this._field[o].data=g.mallocFloat(this._field[2].size)),this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var s=t.coords;if(!Array.isArray(s)||3!==s.length)throw new Error(\\\"gl-surface: invalid coordinates for x/y\\\");for(o=0;o<2;++o){var c=s[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error(\\\"gl-surface: coords have incorrect shape\\\");l(this._field[o],c)}}else if(t.ticks){var f=t.ticks;if(!Array.isArray(f)||2!==f.length)throw new Error(\\\"gl-surface: invalid ticks\\\");for(o=0;o<2;++o){var p=f[o];if((Array.isArray(p)||p.length)&&(p=_(p)),p.shape[0]!==a[o])throw new Error(\\\"gl-surface: invalid tick length\\\");var m=_(p.data,a);m.stride[o]=p.stride[0],m.stride[1^o]=0,l(this._field[o],m)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y<a[0];++y)this._field[0].set(y+1,0,y);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),y=0;y<a[1];++y)this._field[1].set(0,y+1,y);this._field[1].set(0,a[1]+1,a[1]-1)}var b=this._field,x=_(g.mallocFloat(3*b[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)T(x.pick(o),b[o],\\\"mirror\\\");var M=_(g.mallocFloat(3*b[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(y=0;y<a[1]+2;++y){var k=x.get(0,o,y,0),A=x.get(0,o,y,1),S=x.get(1,o,y,0),E=x.get(1,o,y,1),L=x.get(2,o,y,0),C=x.get(2,o,y,1),z=S*C-E*L,I=L*A-C*k,D=k*E-A*S,O=Math.sqrt(z*z+I*I+D*D);O<1e-8?(O=Math.max(Math.abs(z),Math.abs(I),Math.abs(D)),O<1e-8?(D=1,I=z=0,O=1):O=1/O):O=1/Math.sqrt(O),M.set(o,y,0,z*O),M.set(o,y,1,I*O),M.set(o,y,2,D*O)}g.free(x.data);var R=[1/0,1/0,1/0],F=[-1/0,-1/0,-1/0],j=1/0,N=-1/0,B=(a[0]-1)*(a[1]-1)*6,U=g.mallocFloat(d.nextPow2(10*B)),V=0,H=0;for(o=0;o<a[0]-1;++o)t:for(y=0;y<a[1]-1;++y){for(var q=0;q<2;++q)for(var G=0;G<2;++G)for(var Y=0;Y<3;++Y){var X=this._field[Y].get(1+o+q,1+y+G);if(isNaN(X)||!isFinite(X))continue t}for(Y=0;Y<6;++Y){var W=o+P[Y][0],Z=y+P[Y][1],J=this._field[0].get(W+1,Z+1),K=this._field[1].get(W+1,Z+1);X=this._field[2].get(W+1,Z+1);var Q=X;z=M.get(W+1,Z+1,0),I=M.get(W+1,Z+1,1),D=M.get(W+1,Z+1,2),t.intensity&&(Q=t.intensity.get(W,Z)),U[V++]=W,U[V++]=Z,U[V++]=J,U[V++]=K,U[V++]=X,U[V++]=0,U[V++]=Q,U[V++]=z,U[V++]=I,U[V++]=D,R[0]=Math.min(R[0],J),R[1]=Math.min(R[1],K),R[2]=Math.min(R[2],X),j=Math.min(j,Q),F[0]=Math.max(F[0],J),F[1]=Math.max(F[1],K),F[2]=Math.max(F[2],X),N=Math.max(N,Q),H+=1}}for(t.intensityBounds&&(j=+t.intensityBounds[0],N=+t.intensityBounds[1]),o=6;o<V;o+=10)U[o]=(U[o]-j)/(N-j);this._vertexCount=H,this._coordinateBuffer.update(U.subarray(0,V)),g.freeFloat(U),g.free(M.data),this.bounds=[R,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===j&&this.intensityBounds[1]===N||(r=!0),this.intensityBounds=[j,N]}if(\\\"levels\\\"in t){var $=t.levels;for($=Array.isArray($[0])?$.slice():[[],[],$],o=0;o<3;++o)$[o]=$[o].slice(),$.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if($[o].length!==this.contourLevels[o].length){r=!0;break}for(y=0;y<$[o].length;++y)if($[o][y]!==this.contourLevels[o][y]){r=!0;break t}}this.contourLevels=$}if(r){b=this._field,a=this.shape;for(var tt=[],et=0;et<3;++et){$=this.contourLevels[et];var rt=[],nt=[],it=[0,0,0];for(o=0;o<$.length;++o){var at=w(this._field[et],$[o]);rt.push(tt.length/5|0),H=0;t:for(y=0;y<at.cells.length;++y){var ot=at.cells[y];for(Y=0;Y<2;++Y){var st=at.positions[ot[Y]],lt=st[0],ut=0|Math.floor(lt),ct=lt-ut,ht=st[1],ft=0|Math.floor(ht),dt=ht-ft,pt=!1;e:for(var mt=0;mt<3;++mt){it[mt]=0;var vt=(et+mt+1)%3;for(q=0;q<2;++q){var gt=q?ct:1-ct;for(W=0|Math.min(Math.max(ut+q,0),a[0]),G=0;G<2;++G){var yt=G?dt:1-dt;if(Z=0|Math.min(Math.max(ft+G,0),a[1]),X=mt<2?this._field[vt].get(W,Z):(this.intensity.get(W,Z)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(X)||isNaN(X)){pt=!0;break e}var bt=gt*yt;it[mt]+=bt*X}}}if(pt){if(Y>0){for(var xt=0;xt<5;++xt)tt.pop();H-=1}continue t}tt.push(it[0],it[1],st[0],st[1],it[2]),H+=1}}nt.push(H)}this._contourOffsets[et]=rt,this._contourCounts[et]=nt}var _t=g.mallocFloat(tt.length);for(o=0;o<tt.length;++o)_t[o]=tt[o];this._contourBuffer.update(_t),g.freeFloat(_t)}t.colormap&&this._colorMap.setPixels(i(t.colormap))},F.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)g.freeFloat(this._field[t].data)},F.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,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,i=this.shape,a=g.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,u=this._field[o],c=this._field[s],h=this._field[l],f=(this.intensity,w(u,r[o])),d=f.cells,p=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<d.length;++e)for(var m=d[e],v=0;v<2;++v){var y=p[m[v]],b=+y[0],x=0|b,_=0|Math.min(x+1,i[0]),M=b-x,k=1-M,A=+y[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,L=1-E,C=k*L,z=k*E,I=M*L,D=M*E,P=C*c.get(x,T)+z*c.get(x,S)+I*c.get(_,T)+D*c.get(_,S),O=C*h.get(x,T)+z*h.get(x,S)+I*h.get(_,T)+D*h.get(_,S);if(isNaN(P)||isNaN(O)){v&&(n-=1);break}a[2*n+0]=P,a[2*n+1]=O,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),g.freeFloat(a)}}},{\\\"./lib/shaders\\\":264,\\\"binary-search-bounds\\\":65,\\\"bit-twiddle\\\":66,colormap:98,\\\"gl-buffer\\\":155,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/multiply\\\":182,\\\"gl-texture2d\\\":266,\\\"gl-vao\\\":270,ndarray:466,\\\"ndarray-gradient\\\":457,\\\"ndarray-ops\\\":460,\\\"ndarray-pack\\\":461,\\\"surface-nets\\\":530,\\\"typedarray-pool\\\":540}],266:[function(t,e,r){\\\"use strict\\\";function n(t){g=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],y=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],b=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function i(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}function a(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)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 o(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,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}function s(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 l(t,e,r,n,i,a,o,l){var u=l.dtype,c=l.shape.slice();if(c.length<2||c.length>3)throw new Error(\\\"gl-texture2d: Invalid ndarray, must be 2d or 3d\\\");var h=0,f=0,d=s(c,l.stride.slice());\\\"float32\\\"===u?h=t.FLOAT:\\\"float64\\\"===u?(h=t.FLOAT,d=!1,u=\\\"float32\\\"):\\\"uint8\\\"===u?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,d=!1,u=\\\"uint8\\\");if(2===c.length)f=t.LUMINANCE,c=[c[0],c[1],1],l=p(l.data,c,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==c.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===c[2])f=t.ALPHA;else if(2===c[2])f=t.LUMINANCE_ALPHA;else if(3===c[2])f=t.RGB;else{if(4!==c[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");f=t.RGBA}c[2]}if(f!==t.LUMINANCE&&f!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(f=i),f!==i)throw new Error(\\\"gl-texture2d: Incompatible texture format for setPixels\\\");var g=l.size,y=o.indexOf(n)<0;if(y&&o.push(n),h===a&&d)0===l.offset&&l.data.length===g?y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data):y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data.subarray(l.offset,l.offset+g)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data.subarray(l.offset,l.offset+g));else{var b;b=a===t.FLOAT?v.mallocFloat32(g):v.mallocUint8(g);var _=p(b,c,[c[2],c[2]*c[0],1]);h===t.FLOAT&&a===t.UNSIGNED_BYTE?x(_,l):m.assign(_,l),y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,b.subarray(0,g)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,b.subarray(0,g)),a===t.FLOAT?v.freeFloat32(b):v.freeUint8(b)}}function u(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 c(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-texture2d: Invalid texture shape\\\");if(i===t.FLOAT&&!t.getExtension(\\\"OES_texture_float\\\"))throw new Error(\\\"gl-texture2d: Floating point textures not supported on this platform\\\");var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new o(t,s,e,r,n,i)}function h(t,e,r,n,i,a){var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new o(t,s,r,n,i,a)}function f(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]<0||n[0]>i||n[1]<0||n[1]>i)throw new Error(\\\"gl-texture2d: Invalid texture size\\\");var a=s(n,e.stride.slice()),l=0;\\\"float32\\\"===r?l=t.FLOAT:\\\"float64\\\"===r?(l=t.FLOAT,a=!1,r=\\\"float32\\\"):\\\"uint8\\\"===r?l=t.UNSIGNED_BYTE:(l=t.UNSIGNED_BYTE,a=!1,r=\\\"uint8\\\");var c=0;if(2===n.length)c=t.LUMINANCE,n=[n[0],n[1],1],e=p(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===n[2])c=t.ALPHA;else if(2===n[2])c=t.LUMINANCE_ALPHA;else if(3===n[2])c=t.RGB;else{if(4!==n[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");c=t.RGBA}}l!==t.FLOAT||t.getExtension(\\\"OES_texture_float\\\")||(l=t.UNSIGNED_BYTE,a=!1);var h,f,d=e.size;if(a)h=0===e.offset&&e.data.length===d?e.data:e.data.subarray(e.offset,e.offset+d);else{var g=[n[2],n[2]*n[0],1];f=v.malloc(d,r);var y=p(f,n,g,0);\\\"float32\\\"!==r&&\\\"float64\\\"!==r||l!==t.UNSIGNED_BYTE?m.assign(y,e):x(y,e),h=f.subarray(0,d)}var b=u(t);return t.texImage2D(t.TEXTURE_2D,0,c,n[0],n[1],0,c,l,h),a||v.free(f),new o(t,b,n[0],n[1],c,l)}function d(t){if(arguments.length<=1)throw new Error(\\\"gl-texture2d: Missing arguments for texture2d constructor\\\");if(g||n(t),\\\"number\\\"==typeof arguments[1])return c(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return c(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=i(e)?e:e.raw;if(r)return h(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 f(t,e)}throw new Error(\\\"gl-texture2d: Invalid arguments for texture2d constructor\\\")}var p=t(\\\"ndarray\\\"),m=t(\\\"ndarray-ops\\\"),v=t(\\\"typedarray-pool\\\");e.exports=d;var g=null,y=null,b=null,x=function(t,e){m.muls(t,e,255)},_=o.prototype;Object.defineProperties(_,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&g.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),y.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&&g.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),y.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(),b.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(),b.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(b.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 a(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,a(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,a(this,this._shape[0],t),t}}}),_.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},_.dispose=function(){this.gl.deleteTexture(this.handle)},_.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)},_.setPixels=function(t,e,r,n){var a=this.gl;this.bind(),Array.isArray(e)?(n=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),n=n||0;var o=i(t)?t:t.raw;if(o){this._mipLevels.indexOf(n)<0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,o),this._mipLevels.push(n)):a.texSubImage2D(a.TEXTURE_2D,n,e,r,this.format,this.type,o)}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]>>>n||r+t.shape[0]>this._shape[0]>>>n||e<0||r<0)throw new Error(\\\"gl-texture2d: Texture dimensions are out of bounds\\\");l(a,e,r,n,this.format,this.type,this._mipLevels,t)}}},{ndarray:466,\\\"ndarray-ops\\\":460,\\\"typedarray-pool\\\":540}],267:[function(t,e,r){\\\"use strict\\\";function n(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 i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,u=!!a.normalized,c=a.stride||0,h=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,u,c,h)}else{if(\\\"number\\\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\\\"gl-vao: Invalid vertex attribute\\\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(var i=0;i<n;++i)t.disableVertexAttribArray(i)}}e.exports=n},{}],268:[function(t,e,r){\\\"use strict\\\";function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}function i(t){return new n(t)}var a=t(\\\"./do-bind.js\\\");n.prototype.bind=function(){a(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.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=i},{\\\"./do-bind.js\\\":267}],269:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}function a(t,e){return new i(t,e,e.createVertexArrayOES())}var o=t(\\\"./do-bind.js\\\");n.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(),o(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var a=t[i];\\\"number\\\"==typeof a?this._attribs.push(new n(i,1,a)):Array.isArray(a)&&this._attribs.push(new n(i,a.length,a[0],a[1],a[2],a[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=a},{\\\"./do-bind.js\\\":267}],270:[function(t,e,r){\\\"use strict\\\";function n(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}function i(t,e,r,i){var s,l=t.createVertexArray?new n(t):t.getExtension(\\\"OES_vertex_array_object\\\");return s=l?a(t,l):o(t),s.update(e,r,i),s}var a=t(\\\"./lib/vao-native.js\\\"),o=t(\\\"./lib/vao-emulated.js\\\");e.exports=i},{\\\"./lib/vao-emulated.js\\\":268,\\\"./lib/vao-native.js\\\":269}],271:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}e.exports=n},{}],272:[function(t,e,r){function n(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}e.exports=n},{}],273:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}e.exports=n},{}],274:[function(t,e,r){function n(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}e.exports=n},{}],275:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}e.exports=n},{}],276:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}e.exports=n},{}],277:[function(t,e,r){function n(t,e,r,n){return i[0]=n,i[1]=r,i[2]=e,i[3]=t,a[0]}e.exports=n;var i=new Uint8Array(4),a=new Float32Array(i.buffer)},{}],278:[function(t,e,r){function n(t){for(var e=Array.isArray(t)?t:i(t),r=0;r<e.length;r++){var n=e[r];if(\\\"preprocessor\\\"===n.type){var o=n.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()}}}}var i=t(\\\"glsl-tokenizer\\\"),a=t(\\\"atob-lite\\\");e.exports=n},{\\\"atob-lite\\\":47,\\\"glsl-tokenizer\\\":285}],279:[function(t,e,r){function n(t){function e(t){t.length&&V.push({type:M[B],data:t,position:G,line:H,column:q})}function r(t){j=0,W+=t,F=W.length;for(var e;O=W[j],j<F;){switch(e=j,B){case h:j=E();break;case f:j=S();break;case d:j=T();break;case p:j=L();break;case m:j=I();break;case w:j=z();break;case v:j=D();break;case c:j=P();break;case x:j=A();break;case u:j=k()}if(e!==j)switch(W[e]){case\\\"\\\\n\\\":q=0,++H;break;default:++q}}return N+=j,W=W.slice(j),V}function n(t){return U.length&&e(U.join(\\\"\\\")),B=_,e(\\\"(eof)\\\"),V}function k(){return U=U.length?[]:U,\\\"/\\\"===R&&\\\"*\\\"===O?(G=N+j-1,B=h,R=O,j+1):\\\"/\\\"===R&&\\\"/\\\"===O?(G=N+j-1,B=f,R=O,j+1):\\\"#\\\"===O?(B=d,G=N+j,j):/\\\\s/.test(O)?(B=x,G=N+j,j):(Y=/\\\\d/.test(O),X=/[^\\\\w_]/.test(O),G=N+j,B=Y?m:X?p:c,j)}function A(){return/[^\\\\s]/g.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function T(){return\\\"\\\\r\\\"!==O&&\\\"\\\\n\\\"!==O||\\\"\\\\\\\\\\\"===R?(U.push(O),R=O,j+1):(e(U.join(\\\"\\\")),B=u,j)}function S(){return T()}function E(){return\\\"/\\\"===O&&\\\"*\\\"===R?(U.push(O),e(U.join(\\\"\\\")),B=u,j+1):(U.push(O),R=O,j+1)}function L(){if(\\\".\\\"===R&&/\\\\d/.test(O))return B=v,j;if(\\\"/\\\"===R&&\\\"*\\\"===O)return B=h,j;if(\\\"/\\\"===R&&\\\"/\\\"===O)return B=f,j;if(\\\".\\\"===O&&U.length){for(;C(U););return B=v,j}if(\\\";\\\"===O||\\\")\\\"===O||\\\"(\\\"===O){if(U.length)for(;C(U););return e(O),B=u,j+1}var t=2===U.length&&\\\"=\\\"!==O;if(/[\\\\w_\\\\d\\\\s]/.test(O)||t){for(;C(U););return B=u,j}return U.push(O),R=O,j+1}function C(t){for(var r,n,i=0;;){if(r=a.indexOf(t.slice(0,t.length+i).join(\\\"\\\")),n=a[r],-1===r){if(i--+t.length>0)continue;n=t.slice(0,1).join(\\\"\\\")}return e(n),G+=n.length,U=U.slice(n.length),U.length}}function z(){return/[^a-fA-F0-9]/.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function I(){return\\\".\\\"===O?(U.push(O),B=v,R=O,j+1):/[eE]/.test(O)?(U.push(O),B=v,R=O,j+1):\\\"x\\\"===O&&1===U.length&&\\\"0\\\"===U[0]?(B=w,U.push(O),R=O,j+1):/[^\\\\d]/.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function D(){return\\\"f\\\"===O&&(U.push(O),R=O,j+=1),/[eE]/.test(O)?(U.push(O),R=O,j+1):\\\"-\\\"===O&&/[eE]/.test(R)?(U.push(O),R=O,j+1):/[^\\\\d]/.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function P(){if(/[^\\\\d\\\\w_]/.test(O)){var t=U.join(\\\"\\\");return B=J.indexOf(t)>-1?b:Z.indexOf(t)>-1?y:g,e(U.join(\\\"\\\")),B=u,j}return U.push(O),R=O,j+1}var O,R,F,j=0,N=0,B=u,U=[],V=[],H=1,q=0,G=0,Y=!1,X=!1,W=\\\"\\\";t=t||{};var Z=o,J=i;return\\\"300 es\\\"===t.version&&(Z=l,J=s),function(t){return V=[],null!==t?r(t.replace?t.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\"):t):n()}}e.exports=n;var i=t(\\\"./lib/literals\\\"),a=t(\\\"./lib/operators\\\"),o=t(\\\"./lib/builtins\\\"),s=t(\\\"./lib/literals-300es\\\"),l=t(\\\"./lib/builtins-300es\\\"),u=999,c=9999,h=0,f=1,d=2,p=3,m=4,v=5,g=6,y=7,b=8,x=9,_=10,w=11,M=[\\\"block-comment\\\",\\\"line-comment\\\",\\\"preprocessor\\\",\\\"operator\\\",\\\"integer\\\",\\\"float\\\",\\\"ident\\\",\\\"builtin\\\",\\\"keyword\\\",\\\"whitespace\\\",\\\"eof\\\",\\\"integer\\\"]},{\\\"./lib/builtins\\\":281,\\\"./lib/builtins-300es\\\":280,\\\"./lib/literals\\\":283,\\\"./lib/literals-300es\\\":282,\\\"./lib/operators\\\":284}],280:[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\\\":281}],281:[function(t,e,r){\\n\",\n       \"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\\\"]},{}],282:[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\\\",\\\"uint\\\",\\\"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\\\":283}],283:[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\\\",\\\"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\\\"]},{}],284:[function(t,e,r){e.exports=[\\\"<<=\\\",\\\">>=\\\",\\\"++\\\",\\\"--\\\",\\\"<<\\\",\\\">>\\\",\\\"<=\\\",\\\">=\\\",\\\"==\\\",\\\"!=\\\",\\\"&&\\\",\\\"||\\\",\\\"+=\\\",\\\"-=\\\",\\\"*=\\\",\\\"/=\\\",\\\"%=\\\",\\\"&=\\\",\\\"^^\\\",\\\"^=\\\",\\\"|=\\\",\\\"(\\\",\\\")\\\",\\\"[\\\",\\\"]\\\",\\\".\\\",\\\"!\\\",\\\"~\\\",\\\"*\\\",\\\"/\\\",\\\"%\\\",\\\"+\\\",\\\"-\\\",\\\"<\\\",\\\">\\\",\\\"&\\\",\\\"^\\\",\\\"|\\\",\\\"?\\\",\\\":\\\",\\\"=\\\",\\\",\\\",\\\";\\\",\\\"{\\\",\\\"}\\\"]},{}],285:[function(t,e,r){function n(t,e){var r=i(e),n=[];return n=n.concat(r(t)),n=n.concat(r(null))}var i=t(\\\"./index\\\");e.exports=n},{\\\"./index\\\":279}],286:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var u=a[i+n.length],c=a[i+n.length+1];this.keys=a.subarray(u,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var h=0;h<this.d*this.d;h++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\\\"Cannot insert into a GridIndex created from an ArrayBuffer.\\\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,u=this.bboxes,c=0;c<s.length;c++){var h=s[c];if(void 0===o[h]){var f=4*h;t<=u[f+2]&&e<=u[f+3]&&r>=u[f+0]&&n>=u[f+1]?(o[h]=!0,a.push(l[h])):o[h]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),u=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var d=this.d*f+h;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+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 o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],287:[function(t,e,r){(function(r){\\\"use strict\\\";var n,i=t(\\\"is-browser\\\");n=\\\"function\\\"==typeof r.matchMedia?!r.matchMedia(\\\"(hover: none)\\\").matches:i,e.exports=n}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"is-browser\\\":293}],288:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,d=t[e+h];for(h+=f,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),a-=u}return(d?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,m=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=c):(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),e*l>=2&&(o++,l/=2),o+h>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+d]=255&s,d+=p,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*m}},{}],289:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return c(t.vertices,e.vertices)}function o(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 n=new Function(\\\"test\\\",e.join(\\\"\\\")),i=u[t+1];return i||(i=u),n(i)}function s(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 n=0;n<=t;++n)this.tuple[n]=this.vertices[n];var i=h[t];i||(i=h[t]=o(t)),this.orient=i}function l(t,e){var r=t.length;if(0===r)throw new Error(\\\"Must have at least d+1 points\\\");var i=t[0].length;if(r<=i)throw new Error(\\\"Must input at least d+1 points\\\");var a=t.slice(0,i+1),o=u.apply(void 0,a);if(0===o)throw new Error(\\\"Input not in general position\\\");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;o<0&&(l[0]=1,l[1]=0);for(var h=new n(l,new Array(i+1),!1),f=h.adjacent,d=new Array(i+2),c=0;c<=i;++c){for(var p=l.slice(),m=0;m<=i;++m)m===c&&(p[m]=-1);var v=p[0];p[0]=p[1],p[1]=v;var g=new n(p,new Array(i+1),!0);f[c]=g,d[c]=g}d[i+1]=h;for(var c=0;c<=i;++c)for(var p=f[c].vertices,y=f[c].adjacent,m=0;m<=i;++m){var b=p[m];if(b<0)y[m]=h;else for(var x=0;x<=i;++x)f[x].vertices.indexOf(b)<0&&(y[m]=f[x])}for(var _=new s(i,a,d),w=!!e,c=i+1;c<r;++c)_.insert(t[c],w);return _.boundary()}e.exports=l;var u=t(\\\"robust-orientation\\\"),c=t(\\\"simplicial-complex\\\").compareCells;n.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 h=[],f=s.prototype;f.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){t=o.pop();for(var s=(t.vertices,t.adjacent),l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,h=0;h<=r;++h){var f=c[h];i[h]=f<0?e:a[f]}var d=this.orient();if(d>0)return u;u.lastVisited=-n,0===d&&o.push(u)}}}return null},f.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=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,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];s.lastVisited=r;for(var c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var d=this.orient();if(a[c]=f,d<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},f.addPeaks=function(t,e){var r=this.vertices.length-1,o=this.dimension,s=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var f=[];h.length>0;){var e=h.pop(),d=e.vertices,p=e.adjacent,m=d.indexOf(r);if(!(m<0))for(var v=0;v<=o;++v)if(v!==m){var g=p[v];if(g.boundary&&!(g.lastVisited>=r)){var y=g.vertices;if(g.lastVisited!==-r){for(var b=0,x=0;x<=o;++x)y[x]<0?(b=x,l[x]=t):l[x]=s[y[x]];var _=this.orient();if(_>0){y[b]=r,g.boundary=!1,u.push(g),h.push(g),g.lastVisited=r;continue}g.lastVisited=-r}var w=g.adjacent,M=d.slice(),k=p.slice(),A=new n(M,k,!0);c.push(A);var T=w.indexOf(e);if(!(T<0)){w[T]=A,k[m]=g,M[v]=-1,k[v]=e,p[v]=A,A.flip();for(var x=0;x<=o;++x){var S=M[x];if(!(S<0||S===r)){for(var E=new Array(o-1),L=0,C=0;C<=o;++C){var z=M[C];z<0||C===x||(E[L++]=z)}f.push(new i(E,A,x))}}}}}}f.sort(a);for(var v=0;v+1<f.length;v+=2){var I=f[v],D=f[v+1],P=I.index,O=D.index;P<0||O<0||(I.cell.adjacent[I.index]=D.cell,D.cell.adjacent[D.index]=I.cell)}},f.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},f.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,u=0,c=0;c<=t;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{\\\"robust-orientation\\\":507,\\\"simplicial-complex\\\":518}],290:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}function i(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 a(t,e){var r=p(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 o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?y:(r.splice(n,1),a(t,r),b)}function l(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function u(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function c(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function h(t,e){return t-e}function f(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function p(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(h);for(var i=e[e.length>>1],a=[],o=[],s=[],r=0;r<t.length;++r){var l=t[r];l[1]<i?a.push(l):i<l[0]?o.push(l):s.push(l)}var u=s,c=s.slice();return u.sort(f),c.sort(d),new n(i,p(a),p(o),u,c)}function m(t){this.root=t}function v(t){return new m(t&&0!==t.length?p(t):null)}var g=t(\\\"binary-search-bounds\\\"),y=0,b=1;e.exports=v;var x=n.prototype;x.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},x.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)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=g.ge(this.leftPoints,t,f),n=g.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},x.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return y;if(4*(this.right?this.right.count:0)>3*(e-1))return s(this,t);var r=this.left.remove(t);return 2===r?(this.left=null,this.count-=1,b):(r===b&&(this.count-=1),r)}if(t[0]>this.mid){if(!this.right)return y;if(4*(this.left?this.left.count:0)>3*(e-1))return s(this,t);var r=this.right.remove(t);return 2===r?(this.right=null,this.count-=1,b):(r===b&&(this.count-=1),r)}if(1===this.count)return this.leftPoints[0]===t?2:y;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var n=this,a=this.left;a.right;)n=a,a=a.right;if(n===this)a.right=this.right;else{var o=this.left,r=this.right;n.count-=a.count,n.right=a.left,a.left=o,a.right=r}i(this,a),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return b}for(var o=g.ge(this.leftPoints,t,f);o<this.leftPoints.length&&this.leftPoints[o][0]===t[0];++o)if(this.leftPoints[o]===t){this.count-=1,this.leftPoints.splice(o,1);for(var r=g.ge(this.rightPoints,t,d);r<this.rightPoints.length&&this.rightPoints[r][1]===t[1];++r)if(this.rightPoints[r]===t)return this.rightPoints.splice(r,1),b}return y},x.queryPoint=function(t,e){if(t<this.mid){if(this.left){var r=this.left.queryPoint(t,e);if(r)return r}return l(this.leftPoints,t,e)}if(t>this.mid){if(this.right){var r=this.right.queryPoint(t,e);if(r)return r}return u(this.rightPoints,t,e)}return c(this.leftPoints,e)},x.queryInterval=function(t,e,r){if(t<this.mid&&this.left){var n=this.left.queryInterval(t,e,r);if(n)return n}if(e>this.mid&&this.right){var n=this.right.queryInterval(t,e,r);if(n)return n}return e<this.mid?l(this.leftPoints,e,r):t>this.mid?u(this.rightPoints,t,r):c(this.leftPoints,r)};var _=m.prototype;_.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},_.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==y}return!1},_.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},_.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(_,\\\"count\\\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(_,\\\"intervals\\\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\\\"binary-search-bounds\\\":65}],291:[function(t,e,r){\\\"use strict\\\";function n(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}e.exports=n},{}],292:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}e.exports=n},{}],293:[function(t,e,r){e.exports=!0},{}],294:[function(t,e,r){function n(t){return!!t.constructor&&\\\"function\\\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function i(t){return\\\"function\\\"==typeof t.readFloatLE&&\\\"function\\\"==typeof t.slice&&n(t.slice(0,0))}e.exports=function(t){return null!=t&&(n(t)||i(t)||!!t._isBuffer)}},{}],295:[function(t,e,r){function n(t){return t||\\\"undefined\\\"==typeof navigator||(t=navigator.userAgent),t&&t.headers&&\\\"string\\\"==typeof t.headers[\\\"user-agent\\\"]&&(t=t.headers[\\\"user-agent\\\"]),\\\"string\\\"==typeof t&&(/(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(4|6)0|symbian|treo|up\\\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(t.substr(0,4)))}e.exports=n},{}],296:[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({}))}},{}],297:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a){return new i(t,e,r,n,a)}function i(t,e,r,n,i){e=e||a,r=r||o,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);s(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function a(t){return t[0]}function o(t){return t[1]}var s=t(\\\"./sort\\\"),l=t(\\\"./range\\\"),u=t(\\\"./within\\\");e.exports=n,i.prototype={range:function(t,e,r,n){return l(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return u(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\\\"./range\\\":298,\\\"./sort\\\":299,\\\"./within\\\":300}],298:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){for(var s,l,u=[0,t.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),d=u.pop();if(f-d<=o)for(var p=d;p<=f;p++)s=e[2*p],l=e[2*p+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[p]);else{var m=Math.floor((d+f)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[m]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(d),u.push(m-1),u.push(v)),(0===h?i>=s:a>=l)&&(u.push(m+1),u.push(f),u.push(v))}}return c}e.exports=n},{}],299:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,a,o,s){if(!(o-a<=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o>n;){if(o-n>600){var l=o-n+1,u=r-n+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);i(t,e,r,Math.max(n,Math.floor(r-u*h/l+f)),Math.min(o,Math.floor(r+(l-u)*h/l+f)),s)}var d=e[2*r+s],p=n,m=o;for(a(t,e,n,r),e[2*o+s]>d&&a(t,e,n,o);p<m;){for(a(t,e,p,m),p++,m--;e[2*p+s]<d;)p++;for(;e[2*m+s]>d;)m--}e[2*n+s]===d?a(t,e,n,m):(m++,a(t,e,m,o)),m<=r&&(n=m+1),r<=m&&(o=m-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],300:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a,o){for(var s=[0,t.length-1,0],l=[],u=a*a;s.length;){var c=s.pop(),h=s.pop(),f=s.pop();if(h-f<=o)for(var d=f;d<=h;d++)i(e[2*d],e[2*d+1],r,n)<=u&&l.push(t[d]);else{var p=Math.floor((f+h)/2),m=e[2*p],v=e[2*p+1];i(m,v,r,n)<=u&&l.push(t[p]);var g=(c+1)%2;(0===c?r-a<=m:n-a<=v)&&(s.push(f),s.push(p-1),s.push(g)),(0===c?r+a>=m:n+a>=v)&&(s.push(p+1),s.push(h),s.push(g))}}return l}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=n},{}],301:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r;if(h(t)){var l,u=t.stops&&\\\"object\\\"==typeof t.stops[0][0],c=u||void 0!==t.property,f=u||!c,d=t.type||e||\\\"exponential\\\";if(\\\"exponential\\\"===d)l=o;else if(\\\"interval\\\"===d)l=a;else if(\\\"categorical\\\"===d)l=i;else{if(\\\"identity\\\"!==d)throw new Error('Unknown function type \\\"'+d+'\\\"');l=s}if(u){for(var p={},m=[],v=0;v<t.stops.length;v++){var g=t.stops[v];void 0===p[g[0].zoom]&&(p[g[0].zoom]={zoom:g[0].zoom,type:t.type,property:t.property,stops:[]}),p[g[0].zoom].stops.push([g[0].value,g[1]])}for(var y in p)m.push([p[y].zoom,n(p[y])]);r=function(e,r){return o({stops:m,base:t.base},e)(e,r)},r.isFeatureConstant=!1,r.isZoomConstant=!1}else f?(r=function(e){return l(t,e)},r.isFeatureConstant=!0,r.isZoomConstant=!1):(r=function(e,r){return l(t,r[t.property])},r.isFeatureConstant=!1,r.isZoomConstant=!0)}else r=function(){return t},r.isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r<t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r<t.stops.length&&!(e<t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;;){if(n>=t.stops.length)break;if(e<=t.stops[n][0])break;n++}return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return\\\"function\\\"==typeof i?function(){var o=i.apply(void 0,arguments),s=a.apply(void 0,arguments);return l(t,e,r,n,o,s)}:i.length?c(t,e,r,n,i,a):u(t,e,r,n,i,a)}function u(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function c(t,e,r,n,i,a){for(var o=[],s=0;s<i.length;s++)o[s]=u(t,e,r,n,i[s],a[s]);return o}function h(t){return\\\"object\\\"==typeof t&&(t.stops||\\\"identity\\\"===t.type)}e.exports.isFunctionDefinition=h,e.exports.interpolated=function(t){return n(t,\\\"exponential\\\")},e.exports[\\\"piecewise-constant\\\"]=function(t){return n(t,\\\"interval\\\")}},{}],302:[function(t,e,r){t(\\\"path\\\");e.exports={debug:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform lowp vec4 u_color;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color;\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\\\n}\\\\n\\\"},fill:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_FragColor = color * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},circle:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying lowp float v_antialiasblur;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\\\\n    gl_FragColor = color * (1.0 - t) * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform bool u_scale_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_devicepixelratio;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define mediump float radius\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying lowp float v_antialiasblur;\\\\n\\\\nvoid main(void) {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize mediump float radius\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\\\n\\\\n    if (u_scale_with_map) {\\\\n        gl_Position.xy += extrude;\\\\n    } else {\\\\n        gl_Position.xy += extrude * gl_Position.w;\\\\n    }\\\\n\\\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\\\n    // to keep the blur at roughly 1px, the two are inversely related.\\\\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\\\\n}\\\\n\\\"},line:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform lowp vec4 u_color;\\\\nuniform lowp float u_opacity;\\\\nuniform float u_blur;\\\\n\\\\nvarying vec2 v_linewidth;\\\\nvarying vec2 v_normal;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_linewidth.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\\\n    // (v_linewidth.s)\\\\n    float blur = u_blur * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\\\n\\\\n    gl_FragColor = u_color * (alpha * u_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform mediump float u_linewidth;\\\\nuniform mediump float u_gapwidth;\\\\nuniform mediump float u_antialiasing;\\\\nuniform mediump float u_extra;\\\\nuniform mat2 u_antialiasingmatrix;\\\\nuniform mediump float u_offset;\\\\nuniform mediump float u_blur;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n\\\\n    // We store the texture normals in the most insignificant bit\\\\n    // transform y so that 0 => -1 and 1 => 1\\\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = mod(a_pos, 2.0);\\\\n    normal.y = sign(normal.y - 0.5);\\\\n    v_normal = normal;\\\\n\\\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    // Remove the texture normal bit of the position before scaling it with the\\\\n    // model/view matrix.\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\\\n\\\\n    // position of y on the screen\\\\n    float y = gl_Position.y / gl_Position.w;\\\\n\\\\n    // how much features are squished in the y direction by the tilt\\\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\\\n\\\\n    // how much features are squished in all directions by the perspectiveness\\\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\\\n\\\\n    v_linewidth = vec2(outset, inset);\\\\n    v_gamma_scale = perspective_scale * squish_scale;\\\\n}\\\\n\\\"},linepattern:{\\n\",\n       \"fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_blur;\\\\n\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform float u_fade;\\\\nuniform float u_opacity;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_linewidth.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\\\n    // (v_linewidth.s)\\\\n    float blur = u_blur * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\\\n\\\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\\\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\\\\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\\\\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\\\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\\\n\\\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\\\n\\\\n    alpha *= u_opacity;\\\\n\\\\n    gl_FragColor = color * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform mediump float u_linewidth;\\\\nuniform mediump float u_gapwidth;\\\\nuniform mediump float u_antialiasing;\\\\nuniform mediump float u_extra;\\\\nuniform mat2 u_antialiasingmatrix;\\\\nuniform mediump float u_offset;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    // We store the texture normals in the most insignificant bit\\\\n    // transform y so that 0 => -1 and 1 => 1\\\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = mod(a_pos, 2.0);\\\\n    normal.y = sign(normal.y - 0.5);\\\\n    v_normal = normal;\\\\n\\\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    // Remove the texture normal bit of the position before scaling it with the\\\\n    // model/view matrix.\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\\\n    v_linesofar = a_linesofar;\\\\n\\\\n    // position of y on the screen\\\\n    float y = gl_Position.y / gl_Position.w;\\\\n\\\\n    // how much features are squished in the y direction by the tilt\\\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\\\n\\\\n    // how much features are squished in all directions by the perspectiveness\\\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\\\n\\\\n    v_linewidth = vec2(outset, inset);\\\\n    v_gamma_scale = perspective_scale * squish_scale;\\\\n}\\\\n\\\"},linesdfpattern:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform lowp vec4 u_color;\\\\nuniform lowp float u_opacity;\\\\n\\\\nuniform float u_blur;\\\\nuniform sampler2D u_image;\\\\nuniform float u_sdfgamma;\\\\nuniform float u_mix;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_linewidth.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\\\n    // (v_linewidth.s)\\\\n    float blur = u_blur * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\\\n\\\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\\\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\\\n\\\\n    gl_FragColor = u_color * (alpha * u_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform mediump float u_linewidth;\\\\nuniform mediump float u_gapwidth;\\\\nuniform mediump float u_antialiasing;\\\\nuniform vec2 u_patternscale_a;\\\\nuniform float u_tex_y_a;\\\\nuniform vec2 u_patternscale_b;\\\\nuniform float u_tex_y_b;\\\\nuniform float u_extra;\\\\nuniform mat2 u_antialiasingmatrix;\\\\nuniform mediump float u_offset;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    // We store the texture normals in the most insignificant bit\\\\n    // transform y so that 0 => -1 and 1 => 1\\\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = mod(a_pos, 2.0);\\\\n    normal.y = sign(normal.y - 0.5);\\\\n    v_normal = normal;\\\\n\\\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    // Remove the texture normal bit of the position before scaling it with the\\\\n    // model/view matrix.\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\\\n\\\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\\\n\\\\n    // position of y on the screen\\\\n    float y = gl_Position.y / gl_Position.w;\\\\n\\\\n    // how much features are squished in the y direction by the tilt\\\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\\\n\\\\n    // how much features are squished in all directions by the perspectiveness\\\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\\\n\\\\n    v_linewidth = vec2(outset, inset);\\\\n    v_gamma_scale = perspective_scale * squish_scale;\\\\n}\\\\n\\\"},outline:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n#pragma mapbox: define lowp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = smoothstep(1.0, 0.0, dist);\\\\n    gl_FragColor = outline_color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},outlinepattern:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_opacity;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    // find distance to outline for alpha interpolation\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = smoothstep(1.0, 0.0, dist);\\\\n    \\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\\\n\\\\n    // the correct offset needs to be calculated.\\\\n    //\\\\n    // The offset depends on how many pixels are between the world origin and\\\\n    // the edge of the tile:\\\\n    // vec2 offset = mod(pixel_coord, size)\\\\n    //\\\\n    // At high zoom levels there are a ton of pixels between the world origin\\\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\\\n    // precision for highp floats. We need more than that.\\\\n    //\\\\n    // The pixel_coord is passed in as two 16 bit values:\\\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n    //\\\\n    // The offset is calculated in a series of steps that should preserve this precision:\\\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\\\n\\\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\\\n\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},pattern:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_opacity;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\\\n\\\\n    // the correct offset needs to be calculated.\\\\n    //\\\\n    // The offset depends on how many pixels are between the world origin and\\\\n    // the edge of the tile:\\\\n    // vec2 offset = mod(pixel_coord, size)\\\\n    //\\\\n    // At high zoom levels there are a ton of pixels between the world origin\\\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\\\n    // precision for highp floats. We need more than that.\\\\n    //\\\\n    // The pixel_coord is passed in as two 16 bit values:\\\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n    //\\\\n    // The offset is calculated in a series of steps that should preserve this precision:\\\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\\\n\\\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\\\n}\\\\n\\\"},raster:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_opacity0;\\\\nuniform float u_opacity1;\\\\nuniform sampler2D u_image0;\\\\nuniform sampler2D u_image1;\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nuniform float u_brightness_low;\\\\nuniform float u_brightness_high;\\\\n\\\\nuniform float u_saturation_factor;\\\\nuniform float u_contrast_factor;\\\\nuniform vec3 u_spin_weights;\\\\n\\\\nvoid main() {\\\\n\\\\n    // read and cross-fade colors from the main and parent tiles\\\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\\\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\\\\n    vec3 rgb = color.rgb;\\\\n\\\\n    // spin\\\\n    rgb = vec3(\\\\n        dot(rgb, u_spin_weights.xyz),\\\\n        dot(rgb, u_spin_weights.zxy),\\\\n        dot(rgb, u_spin_weights.yzx));\\\\n\\\\n    // saturation\\\\n    float average = (color.r + color.g + color.b) / 3.0;\\\\n    rgb += (average - rgb) * u_saturation_factor;\\\\n\\\\n    // contrast\\\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\\\n\\\\n    // brightness\\\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\\\n\\\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_tl_parent;\\\\nuniform float u_scale_parent;\\\\nuniform float u_buffer_scale;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\\\n}\\\\n\\\"},icon:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform sampler2D u_fadetexture;\\\\nuniform lowp float u_opacity;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\n\\\\nvoid main() {\\\\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\\\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_offset;\\\\nattribute vec2 a_texture_pos;\\\\nattribute vec4 a_data;\\\\n\\\\n\\\\n// matrix is for the vertex position.\\\\nuniform mat4 u_matrix;\\\\n\\\\nuniform mediump float u_zoom;\\\\nuniform bool u_rotate_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\n\\\\nvoid main() {\\\\n    vec2 a_tex = a_texture_pos.xy;\\\\n    mediump float a_labelminzoom = a_data[0];\\\\n    mediump vec2 a_zoom = a_data.pq;\\\\n    mediump float a_minzoom = a_zoom[0];\\\\n    mediump float a_maxzoom = a_zoom[1];\\\\n\\\\n    // u_zoom is the current zoom level adjusted for the change in font size\\\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\\\n\\\\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\\\n    if (u_rotate_with_map) {\\\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\\\n        gl_Position.z += z * gl_Position.w;\\\\n    } else {\\\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\\\n    }\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\\\n}\\\\n\\\"},sdf:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform sampler2D u_fadetexture;\\\\nuniform lowp vec4 u_color;\\\\nuniform lowp float u_opacity;\\\\nuniform lowp float u_buffer;\\\\nuniform lowp float u_gamma;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    lowp float dist = texture2D(u_texture, v_tex).a;\\\\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\\\n    lowp float gamma = u_gamma * v_gamma_scale;\\\\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\\\\n\\\\n    gl_FragColor = u_color * (alpha * u_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nconst float PI = 3.141592653589793;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_offset;\\\\nattribute vec2 a_texture_pos;\\\\nattribute vec4 a_data;\\\\n\\\\n\\\\n// matrix is for the vertex position.\\\\nuniform mat4 u_matrix;\\\\n\\\\nuniform mediump float u_zoom;\\\\nuniform bool u_rotate_with_map;\\\\nuniform bool u_pitch_with_map;\\\\nuniform mediump float u_pitch;\\\\nuniform mediump float u_bearing;\\\\nuniform mediump float u_aspect_ratio;\\\\nuniform vec2 u_extrude_scale;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_tex = a_texture_pos.xy;\\\\n    mediump float a_labelminzoom = a_data[0];\\\\n    mediump vec2 a_zoom = a_data.pq;\\\\n    mediump float a_minzoom = a_zoom[0];\\\\n    mediump float a_maxzoom = a_zoom[1];\\\\n\\\\n    // u_zoom is the current zoom level adjusted for the change in font size\\\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\\\n\\\\n    // pitch-alignment: map\\\\n    // rotation-alignment: map | viewport\\\\n    if (u_pitch_with_map) {\\\\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\\\n        lowp float asin = sin(angle);\\\\n        lowp float acos = cos(angle);\\\\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\\\n        vec2 offset = RotationMatrix * a_offset;\\\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\\\n        gl_Position.z += z * gl_Position.w;\\\\n    // pitch-alignment: viewport\\\\n    // rotation-alignment: map\\\\n    } else if (u_rotate_with_map) {\\\\n        // foreshortening factor to apply on pitched maps\\\\n        // as a label goes from horizontal <=> vertical in angle\\\\n        // it goes from 0% foreshortening to up to around 70% foreshortening\\\\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\\\n\\\\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\\\n\\\\n        // use the lineangle to position points a,b along the line\\\\n        // project the points and calculate the label angle in projected space\\\\n        // this calculation allows labels to be rendered unskewed on pitched maps\\\\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\\\\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\\\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\\\n        lowp float asin = sin(angle);\\\\n        lowp float acos = cos(angle);\\\\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\\\n\\\\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\\\n        gl_Position.z += z * gl_Position.w;\\\\n    // pitch-alignment: viewport\\\\n    // rotation-alignment: viewport\\\\n    } else {\\\\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\\\n    }\\\\n\\\\n    v_gamma_scale = (gl_Position.w - 0.5);\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\\\n}\\\\n\\\"},collisionbox:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_zoom;\\\\nuniform float u_maxzoom;\\\\n\\\\nvarying float v_max_zoom;\\\\nvarying float v_placement_zoom;\\\\n\\\\nvoid main() {\\\\n\\\\n    float alpha = 0.5;\\\\n\\\\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\\\n\\\\n    if (v_placement_zoom > u_zoom) {\\\\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n    }\\\\n\\\\n    if (u_zoom >= v_max_zoom) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\\\n    }\\\\n\\\\n    if (v_placement_zoom >= u_maxzoom) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\\\n    }\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform float u_scale;\\\\n\\\\nvarying float v_max_zoom;\\\\nvarying float v_placement_zoom;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\\\n\\\\n    v_max_zoom = a_data.x;\\\\n    v_placement_zoom = a_data.y;\\\\n}\\\\n\\\"}},e.exports.util=\\\"float evaluate_zoom_function_1(const vec4 values, const float t) {\\\\n    if (t < 1.0) {\\\\n        return mix(values[0], values[1], t);\\\\n    } else if (t < 2.0) {\\\\n        return mix(values[1], values[2], t - 1.0);\\\\n    } else {\\\\n        return mix(values[2], values[3], t - 2.0);\\\\n    }\\\\n}\\\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\\\n    if (t < 1.0) {\\\\n        return mix(value0, value1, t);\\\\n    } else if (t < 2.0) {\\\\n        return mix(value1, value2, t - 1.0);\\\\n    } else {\\\\n        return mix(value2, value3, t - 2.0);\\\\n    }\\\\n}\\\\n\\\"},{path:475}],303:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.message=(t?t+\\\": \\\":\\\"\\\")+i.apply(i,Array.prototype.slice.call(arguments,2)),null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}var i=t(\\\"util\\\").format;e.exports=n},{util:548}],304:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],305:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t instanceof Number?\\\"number\\\":t instanceof String?\\\"string\\\":t instanceof Boolean?\\\"boolean\\\":Array.isArray(t)?\\\"array\\\":null===t?\\\"null\\\":typeof t}},{}],306:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],307:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"../util/extend\\\");e.exports=function(e){var r=t(\\\"./validate_function\\\"),o=t(\\\"./validate_object\\\"),s={\\\"*\\\":function(){return[]},array:t(\\\"./validate_array\\\"),boolean:t(\\\"./validate_boolean\\\"),number:t(\\\"./validate_number\\\"),color:t(\\\"./validate_color\\\"),constants:t(\\\"./validate_constants\\\"),enum:t(\\\"./validate_enum\\\"),filter:t(\\\"./validate_filter\\\"),function:t(\\\"./validate_function\\\"),layer:t(\\\"./validate_layer\\\"),object:t(\\\"./validate_object\\\"),source:t(\\\"./validate_source\\\"),string:t(\\\"./validate_string\\\")},l=e.value,u=e.valueSpec,c=e.key,h=e.styleSpec,f=e.style;if(\\\"string\\\"===i(l)&&\\\"@\\\"===l[0]){if(h.$version>7)return[new n(c,l,\\\"constants have been deprecated as of v8\\\")];if(!(l in f.constants))return[new n(c,l,'constant \\\"%s\\\" not found',l)];e=a({},e,{value:f.constants[l]})}return u.function&&\\\"object\\\"===i(l)?r(e):u.type&&s[u.type]?s[u.type](e):o(a({},e,{valueSpec:u.type?h[u.type]:u}))}},{\\\"../error/validation_error\\\":303,\\\"../util/extend\\\":304,\\\"../util/get_type\\\":305,\\\"./validate_array\\\":308,\\\"./validate_boolean\\\":309,\\\"./validate_color\\\":310,\\\"./validate_constants\\\":311,\\\"./validate_enum\\\":312,\\\"./validate_filter\\\":313,\\\"./validate_function\\\":314,\\\"./validate_layer\\\":316,\\\"./validate_number\\\":318,\\\"./validate_object\\\":319,\\\"./validate_source\\\":321,\\\"./validate_string\\\":322}],308:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"./validate\\\"),a=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,u=t.arrayElementValidator||i;if(\\\"array\\\"!==n(e))return[new a(l,e,\\\"array expected, %s found\\\",n(e))];if(r.length&&e.length!==r.length)return[new a(l,e,\\\"array length %d expected, length %d found\\\",r.length,e.length)];if(r[\\\"min-length\\\"]&&e.length<r[\\\"min-length\\\"])return[new a(l,e,\\\"array length at least %d expected, length %d found\\\",r[\\\"min-length\\\"],e.length)];var c={type:r.value};s.$version<7&&(c.function=r.function),\\\"object\\\"===n(r.value)&&(c=r.value);for(var h=[],f=0;f<e.length;f++)h=h.concat(u({array:e,arrayIndex:f,value:e[f],valueSpec:c,style:o,styleSpec:s,key:l+\\\"[\\\"+f+\\\"]\\\"}));return h}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\\"./validate\\\":307}],309:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"boolean\\\"!==a?[new i(r,e,\\\"boolean expected, %s found\\\",a)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],310:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"csscolorparser\\\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\\\"string\\\"!==o?[new n(e,r,\\\"color expected, %s found\\\",o)]:null===a(r)?[new n(e,r,'color expected, \\\"%s\\\" found',r)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,csscolorparser:107}],311:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\");e.exports=function(t){var e=t.key,r=t.value;if(t.styleSpec.$version>7)return r?[new n(e,r,\\\"constants have been deprecated as of v8\\\")]:[];var a=i(r);if(\\\"object\\\"!==a)return[new n(e,r,\\\"object expected, %s found\\\",a)];var o=[];for(var s in r)\\\"@\\\"!==s[0]&&o.push(new n(e+\\\".\\\"+s,r[s],'constants must start with \\\"@\\\"'));return o}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],312:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [%s], %s found\\\",a.values.join(\\\", \\\"),r)),o}},{\\\"../error/validation_error\\\":303,\\\"../util/unbundle_jsonlint\\\":306}],313:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_enum\\\"),a=t(\\\"../util/get_type\\\"),o=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function t(e){var r,s=e.value,l=e.key,u=e.styleSpec,c=[];if(\\\"array\\\"!==a(s))return[new n(l,s,\\\"array expected, %s found\\\",a(s))];if(s.length<1)return[new n(l,s,\\\"filter array must have at least 1 element\\\")];switch(c=c.concat(i({key:l+\\\"[0]\\\",value:s[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case\\\"<\\\":case\\\"<=\\\":case\\\">\\\":case\\\">=\\\":s.length>=2&&\\\"$type\\\"==s[1]&&c.push(new n(l,s,'\\\"$type\\\" cannot be use with operator \\\"%s\\\"',s[0]));case\\\"==\\\":case\\\"!=\\\":3!=s.length&&c.push(new n(l,s,'filter array for operator \\\"%s\\\" must have 3 elements',s[0]));case\\\"in\\\":case\\\"!in\\\":s.length>=2&&(r=a(s[1]),\\\"string\\\"!==r?c.push(new n(l+\\\"[1]\\\",s[1],\\\"string expected, %s found\\\",r)):\\\"@\\\"===s[1][0]&&c.push(new n(l+\\\"[1]\\\",s[1],\\\"filter key cannot be a constant\\\")));for(var h=2;h<s.length;h++)r=a(s[h]),\\\"$type\\\"==s[1]?c=c.concat(i({key:l+\\\"[\\\"+h+\\\"]\\\",value:s[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\\\"string\\\"===r&&\\\"@\\\"===s[h][0]?c.push(new n(l+\\\"[\\\"+h+\\\"]\\\",s[h],\\\"filter value cannot be a constant\\\")):\\\"string\\\"!==r&&\\\"number\\\"!==r&&\\\"boolean\\\"!==r&&c.push(new n(l+\\\"[\\\"+h+\\\"]\\\",s[h],\\\"string, number, or boolean expected, %s found\\\",r));break;case\\\"any\\\":case\\\"all\\\":case\\\"none\\\":for(h=1;h<s.length;h++)c=c.concat(t({key:l+\\\"[\\\"+h+\\\"]\\\",value:s[h],style:e.style,styleSpec:e.styleSpec}));break;case\\\"has\\\":case\\\"!has\\\":r=a(s[1]),2!==s.length?c.push(new n(l,s,'filter array for \\\"%s\\\" operator must have 2 elements',s[0])):\\\"string\\\"!==r?c.push(new n(l+\\\"[1]\\\",s[1],\\\"string expected, %s found\\\",r)):\\\"@\\\"===s[1][0]&&c.push(new n(l+\\\"[1]\\\",s[1],\\\"filter key cannot be a constant\\\"))}return c}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\n\",\n       \"\\\"../util/unbundle_jsonlint\\\":306,\\\"./validate_enum\\\":312}],314:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\"),o=t(\\\"./validate_object\\\"),s=t(\\\"./validate_array\\\"),l=t(\\\"./validate_number\\\");e.exports=function(t){function e(t){var e=[],a=t.value;return e=e.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:r})),\\\"array\\\"===i(a)&&0===a.length&&e.push(new n(t.key,a,\\\"array must have at least one stop\\\")),e}function r(t){var e=[],r=t.value,s=t.key;if(\\\"array\\\"!==i(r))return[new n(s,r,\\\"array expected, %s found\\\",i(r))];if(2!==r.length)return[new n(s,r,\\\"array length %d expected, length %d found\\\",2,r.length)];var f=i(r[0]);if(c||(c=f),f!==c)return[new n(s,r,\\\"%s stop key type must match previous stop key type %s\\\",f,c)];if(\\\"object\\\"===f){if(void 0===r[0].zoom)return[new n(s,r,\\\"object stop key must have zoom\\\")];if(void 0===r[0].value)return[new n(s,r,\\\"object stop key must have value\\\")];e=e.concat(o({key:s+\\\"[0]\\\",value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:u}}))}else e=e.concat((d?l:u)({key:s+\\\"[0]\\\",value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:s+\\\"[1]\\\",value:r[1],valueSpec:h,style:t.style,styleSpec:t.styleSpec})),\\\"number\\\"===i(r[0])&&(\\\"piecewise-constant\\\"===h.function&&r[0]%1!=0&&e.push(new n(s+\\\"[0]\\\",r[0],\\\"zoom level for piecewise-constant functions must be an integer\\\")),0!==t.arrayIndex&&r[0]<t.array[t.arrayIndex-1][0]&&e.push(new n(s+\\\"[0]\\\",r[0],\\\"array stops must appear in ascending order\\\"))),e}function u(t){var e=[],r=i(t.value);return\\\"number\\\"!==r&&\\\"string\\\"!==r&&\\\"array\\\"!==r&&e.push(new n(t.key,t.value,\\\"property value must be a number, string or array\\\")),e}var c,h=t.valueSpec,f=void 0!==t.value.property||\\\"object\\\"===c,d=void 0===t.value.property||\\\"object\\\"===c,p=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:e}});return t.styleSpec.$version>=8&&(f&&!t.valueSpec[\\\"property-function\\\"]?p.push(new n(t.key,t.value,\\\"property functions not supported\\\")):d&&!t.valueSpec[\\\"zoom-function\\\"]&&p.push(new n(t.key,t.value,\\\"zoom functions not supported\\\"))),p}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\\"./validate\\\":307,\\\"./validate_array\\\":308,\\\"./validate_number\\\":318,\\\"./validate_object\\\":319}],315:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_string\\\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(\\\"{fontstack}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{fontstack}\\\" token')),-1===e.indexOf(\\\"{range}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{range}\\\" token')),a)}},{\\\"../error/validation_error\\\":303,\\\"./validate_string\\\":322}],316:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_filter\\\"),s=t(\\\"./validate_paint_property\\\"),l=t(\\\"./validate_layout_property\\\"),u=t(\\\"../util/extend\\\");e.exports=function(t){var e=[],r=t.value,c=t.key,h=t.style,f=t.styleSpec;r.type||r.ref||e.push(new n(c,r,'either \\\"type\\\" or \\\"ref\\\" is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var m=0;m<t.arrayIndex;m++){var v=h.layers[m];i(v.id)===i(r.id)&&e.push(new n(c,r.id,'duplicate layer id \\\"%s\\\", previously used at line %d',r.id,v.id.__line__))}if(\\\"ref\\\"in r){[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"filter\\\",\\\"layout\\\"].forEach(function(t){t in r&&e.push(new n(c,r[t],'\\\"%s\\\" is prohibited for ref layers',t))});var g;h.layers.forEach(function(t){t.id==p&&(g=t)}),g?g.ref?e.push(new n(c,r.ref,\\\"ref cannot reference another ref layer\\\")):d=i(g.type):e.push(new n(c,r.ref,'ref layer \\\"%s\\\" not found',p))}else if(\\\"background\\\"!==d)if(r.source){var y=h.sources&&h.sources[r.source];y?\\\"vector\\\"==y.type&&\\\"raster\\\"==d?e.push(new n(c,r.source,'layer \\\"%s\\\" requires a raster source',r.id)):\\\"raster\\\"==y.type&&\\\"raster\\\"!=d?e.push(new n(c,r.source,'layer \\\"%s\\\" requires a vector source',r.id)):\\\"vector\\\"!=y.type||r[\\\"source-layer\\\"]||e.push(new n(c,r,'layer \\\"%s\\\" must specify a \\\"source-layer\\\"',r.id)):e.push(new n(c,r.source,'source \\\"%s\\\" not found',r.source))}else e.push(new n(c,r,'missing required property \\\"source\\\"'));return e=e.concat(a({key:c,value:r,valueSpec:f.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return l(u({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return s(u({layerType:d},t))}}})}}}))}},{\\\"../error/validation_error\\\":303,\\\"../util/extend\\\":304,\\\"../util/unbundle_jsonlint\\\":306,\\\"./validate_filter\\\":313,\\\"./validate_layout_property\\\":317,\\\"./validate_object\\\":319,\\\"./validate_paint_property\\\":320}],317:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\\\"layout_\\\"+t.layerType];if(t.valueSpec||l[s]){var u=[];return\\\"symbol\\\"===t.layerType&&(\\\"icon-image\\\"===s&&r&&!r.sprite?u.push(new i(e,o,'use of \\\"icon-image\\\" requires a style \\\"sprite\\\" property')):\\\"text-field\\\"===s&&r&&!r.glyphs&&u.push(new i(e,o,'use of \\\"text-field\\\" requires a style \\\"glyphs\\\" property'))),u.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property \\\"%s\\\"',s)]}},{\\\"../error/validation_error\\\":303,\\\"./validate\\\":307}],318:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\\\"number\\\"!==o?[new i(e,r,\\\"number expected, %s found\\\",o)]:\\\"minimum\\\"in a&&r<a.minimum?[new i(e,r,\\\"%s is less than the minimum value %s\\\",r,a.minimum)]:\\\"maximum\\\"in a&&r>a.maximum?[new i(e,r,\\\"%s is greater than the maximum value %s\\\",r,a.maximum)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],319:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,u=t.styleSpec,c=[],h=i(r);if(\\\"object\\\"!==h)return[new n(e,r,\\\"object expected, %s found\\\",h)];for(var f in r){var d=f.split(\\\".\\\")[0],p=o&&(o[d]||o[\\\"*\\\"]),m=s[d]||s[\\\"*\\\"];p||m?c=c.concat((m||a)({key:(e?e+\\\".\\\":e)+f,value:r[f],valueSpec:p,style:l,styleSpec:u,object:r,objectKey:f})):\\\"\\\"!==e&&1!==e.split(\\\".\\\").length&&c.push(new n(e,r[f],'unknown property \\\"%s\\\"',f))}for(d in o)o[d].required&&void 0===o[d].default&&void 0===r[d]&&c.push(new n(e,r,'missing required property \\\"%s\\\"',d));return c}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\\"./validate\\\":307}],320:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\\\"paint_\\\"+t.layerType],u=s.match(/^(.*)-transition$/);return u&&l[u[1]]&&l[u[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property \\\"%s\\\"',s)]}},{\\\"../error/validation_error\\\":303,\\\"./validate\\\":307}],321:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_enum\\\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\\\"type\\\" is required')];switch(i(e.type)){case\\\"vector\\\":case\\\"raster\\\":var u=[];if(u=u.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),\\\"url\\\"in e)for(var c in e)[\\\"type\\\",\\\"url\\\",\\\"tileSize\\\"].indexOf(c)<0&&u.push(new n(r+\\\".\\\"+c,e[c],'a source with a \\\"url\\\" property may not include a \\\"%s\\\" property',c));return u;case\\\"geojson\\\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\\\"video\\\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\\\"image\\\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+\\\".type\\\",value:e.type,valueSpec:{values:[\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\"]},style:l,styleSpec:s})}}},{\\\"../error/validation_error\\\":303,\\\"../util/unbundle_jsonlint\\\":306,\\\"./validate_enum\\\":312,\\\"./validate_object\\\":319}],322:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"string\\\"!==a?[new i(r,e,\\\"string expected, %s found\\\",a)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],323:[function(t,e,r){\\\"use strict\\\";function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\\\"\\\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:u}})),e.$version>7&&t.constants&&(r=r.concat(o({key:\\\"constants\\\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\\\"./validate/validate_constants\\\"),s=t(\\\"./validate/validate\\\"),l=t(\\\"../reference/latest.min\\\"),u=t(\\\"./validate/validate_glyphs_url\\\");n.source=a(t(\\\"./validate/validate_source\\\")),n.layer=a(t(\\\"./validate/validate_layer\\\")),n.filter=a(t(\\\"./validate/validate_filter\\\")),n.paintProperty=a(t(\\\"./validate/validate_paint_property\\\")),n.layoutProperty=a(t(\\\"./validate/validate_layout_property\\\")),e.exports=n},{\\\"../reference/latest.min\\\":324,\\\"./validate/validate\\\":307,\\\"./validate/validate_constants\\\":311,\\\"./validate/validate_filter\\\":313,\\\"./validate/validate_glyphs_url\\\":315,\\\"./validate/validate_layer\\\":316,\\\"./validate/validate_layout_property\\\":317,\\\"./validate/validate_paint_property\\\":320,\\\"./validate/validate_source\\\":321}],324:[function(t,e,r){e.exports=t(\\\"./v8.min.json\\\")},{\\\"./v8.min.json\\\":325}],325:[function(t,e,r){e.exports={$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\\\"},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_tile\\\",\\\"source_geojson\\\",\\\"source_video\\\",\\\"source_image\\\"],source_tile:{type:{required:!0,type:\\\"enum\\\",values:[\\\"vector\\\",\\\"raster\\\"]},url:{type:\\\"string\\\"},tiles:{type:\\\"array\\\",value:\\\"string\\\"},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},tileSize:{type:\\\"number\\\",default:512,units:\\\"pixels\\\"},\\\"*\\\":{type:\\\"*\\\"}},source_geojson:{type:{required:!0,type:\\\"enum\\\",values:[\\\"geojson\\\"]},data:{type:\\\"*\\\"},maxzoom:{type:\\\"number\\\",default:14},buffer:{type:\\\"number\\\",default:64},tolerance:{type:\\\"number\\\",default:3},cluster:{type:\\\"boolean\\\",default:!1},clusterRadius:{type:\\\"number\\\",default:400},clusterMaxZoom:{type:\\\"number\\\"}},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\\\",\\\"raster\\\",\\\"background\\\"]},metadata:{type:\\\"*\\\"},ref:{type:\\\"string\\\"},source:{type:\\\"string\\\"},\\\"source-layer\\\":{type:\\\"string\\\"},minzoom:{type:\\\"number\\\",minimum:0,maximum:22},maxzoom:{type:\\\"number\\\",minimum:0,maximum:22},interactive:{type:\\\"boolean\\\",default:!1},filter:{type:\\\"filter\\\"},layout:{type:\\\"layout\\\"},paint:{type:\\\"paint\\\"},\\\"paint.*\\\":{type:\\\"paint\\\"}},layout:[\\\"layout_fill\\\",\\\"layout_line\\\",\\\"layout_circle\\\",\\\"layout_symbol\\\",\\\"layout_raster\\\",\\\"layout_background\\\"],layout_background:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_fill:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_circle:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_line:{\\\"line-cap\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"butt\\\",\\\"round\\\",\\\"square\\\"],default:\\\"butt\\\"},\\\"line-join\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"bevel\\\",\\\"round\\\",\\\"miter\\\"],default:\\\"miter\\\"},\\\"line-miter-limit\\\":{type:\\\"number\\\",default:2,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[{\\\"line-join\\\":\\\"miter\\\"}]},\\\"line-round-limit\\\":{type:\\\"number\\\",default:1.05,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[{\\\"line-join\\\":\\\"round\\\"}]},visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_symbol:{\\\"symbol-placement\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"point\\\",\\\"line\\\"],default:\\\"point\\\"},\\\"symbol-spacing\\\":{type:\\\"number\\\",default:250,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"pixels\\\",requires:[{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"symbol-avoid-edges\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1},\\\"icon-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"viewport\\\",requires:[\\\"icon-image\\\"]},\\\"icon-size\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"icon-text-fit\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,values:[\\\"none\\\",\\\"both\\\",\\\"width\\\",\\\"height\\\"],default:\\\"none\\\",requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-text-fit-padding\\\":{type:\\\"array\\\",value:\\\"number\\\",length:4,default:[0,0,0,0],units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\",\\\"icon-text-fit\\\",\\\"text-field\\\"]},\\\"icon-image\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,tokens:!0},\\\"icon-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"degrees\\\",requires:[\\\"icon-image\\\"]},\\\"icon-padding\\\":{type:\\\"number\\\",default:2,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",{\\\"icon-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"icon-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"text-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],requires:[\\\"text-field\\\"]},\\\"text-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"viewport\\\",requires:[\\\"text-field\\\"]},\\\"text-field\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:\\\"\\\",tokens:!0},\\\"text-font\\\":{type:\\\"array\\\",value:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:[\\\"Open Sans Regular\\\",\\\"Arial Unicode MS Regular\\\"],requires:[\\\"text-field\\\"]},\\\"text-size\\\":{type:\\\"number\\\",default:16,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-max-width\\\":{type:\\\"number\\\",default:10,minimum:0,units:\\\"em\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-line-height\\\":{type:\\\"number\\\",default:1.2,units:\\\"em\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-letter-spacing\\\":{type:\\\"number\\\",default:0,units:\\\"em\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-justify\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"left\\\",\\\"center\\\",\\\"right\\\"],default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"center\\\",\\\"left\\\",\\\"right\\\",\\\"top\\\",\\\"bottom\\\",\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"],default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-max-angle\\\":{type:\\\"number\\\",default:45,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\",{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-rotate\\\":{type:\\\"number\\\",default:0,period:360,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-padding\\\":{type:\\\"number\\\",default:2,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!0,requires:[\\\"text-field\\\",{\\\"text-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-transform\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"none\\\",\\\"uppercase\\\",\\\"lowercase\\\"],default:\\\"none\\\",requires:[\\\"text-field\\\"]},\\\"text-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,length:2,default:[0,0],requires:[\\\"text-field\\\"]},\\\"text-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"text-field\\\",\\\"icon-image\\\"]},visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_raster:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},filter:{type:\\\"array\\\",value:\\\"*\\\"},filter_operator:{type:\\\"enum\\\",values:[\\\"==\\\",\\\"!=\\\",\\\">\\\",\\\">=\\\",\\\"<\\\",\\\"<=\\\",\\\"in\\\",\\\"!in\\\",\\\"all\\\",\\\"any\\\",\\\"none\\\",\\\"has\\\",\\\"!has\\\"]},geometry_type:{type:\\\"enum\\\",values:[\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"]},color_operation:{type:\\\"enum\\\",values:[\\\"lighten\\\",\\\"saturate\\\",\\\"spin\\\",\\\"fade\\\",\\\"mix\\\"]},function:{stops:{type:\\\"array\\\",required:!0,value:\\\"function_stop\\\"},base:{type:\\\"number\\\",default:1,minimum:0},property:{type:\\\"string\\\",default:\\\"$zoom\\\"},type:{type:\\\"enum\\\",values:[\\\"exponential\\\",\\\"interval\\\",\\\"categorical\\\"],default:\\\"exponential\\\"}},function_stop:{type:\\\"array\\\",minimum:0,maximum:22,value:[\\\"number\\\",\\\"color\\\"],length:2},paint:[\\\"paint_fill\\\",\\\"paint_line\\\",\\\"paint_circle\\\",\\\"paint_symbol\\\",\\\"paint_raster\\\",\\\"paint_background\\\"],paint_fill:{\\\"fill-antialias\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!0},\\\"fill-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"}]},\\\"fill-outline-color\\\":{type:\\\"color\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"},{\\\"fill-antialias\\\":!0}]},\\\"fill-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"fill-translate\\\"]},\\\"fill-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_line:{\\\"line-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"line-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"line-translate\\\"]},\\\"line-width\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-gap-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-offset\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-dasharray\\\":{type:\\\"array\\\",value:\\\"number\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,minimum:0,transition:!0,units:\\\"line widths\\\",requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_circle:{\\\"circle-radius\\\":{type:\\\"number\\\",default:5,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-blur\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"circle-translate\\\"]},\\\"circle-pitch-scale\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\"}},paint_symbol:{\\\"icon-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"icon-image\\\",\\\"icon-translate\\\"]},\\\"text-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"text-field\\\",\\\"text-translate\\\"]}},paint_raster:{\\\"raster-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-hue-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"degrees\\\"},\\\"raster-brightness-min\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:0,minimum:0,maximum:1,transition:!0},\\\"raster-brightness-max\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"raster-saturation\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-contrast\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-fade-duration\\\":{type:\\\"number\\\",default:300,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"milliseconds\\\"}},paint_background:{\\\"background-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"background-pattern\\\"}]},\\\"background-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"background-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},transition:{duration:{type:\\\"number\\\",default:300,minimum:0,units:\\\"milliseconds\\\"},delay:{type:\\\"number\\\",default:0,minimum:0,units:\\\"milliseconds\\\"}}}},{}],326:[function(t,e,r){\\\"use strict\\\";function n(t){return!!(i()&&a()&&o()&&s()&&l()&&u()&&c()&&h(t&&t.failIfMajorPerformanceCaveat))}function i(){return\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document}function a(){return 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 o(){return Function.prototype&&Function.prototype.bind}function s(){return 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}function l(){return\\\"JSON\\\"in window&&\\\"parse\\\"in JSON&&\\\"stringify\\\"in JSON}function u(){return\\\"Worker\\\"in window}function c(){return\\\"Uint8ClampedArray\\\"in window}function h(t){return void 0===d[t]&&(d[t]=f(t)),d[t]}function f(t){var e=document.createElement(\\\"canvas\\\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\\\"webgl\\\",r)||e.probablySupportsContext(\\\"experimental-webgl\\\",r):e.supportsContext?e.supportsContext(\\\"webgl\\\",r)||e.supportsContext(\\\"experimental-webgl\\\",r):e.getContext(\\\"webgl\\\",r)||e.getContext(\\\"experimental-webgl\\\",r)}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var d={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],327:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&&(this.elementArray=new r);var n=t.elementArrayType2;n&&(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(\\\"../util/util\\\");e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t<=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&&this.elementArray.trim(),this.elementArray2&&this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&&this.elementArray.serialize(),elementArray2:this.elementArray2&&this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&&t.push(this.elementArray.arrayBuffer),this.elementArray2&&t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{\\\"../util/util\\\":441}],328:[function(t,e,r){\\\"use strict\\\";function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=i(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=c.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new u(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&&i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&&i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},i=0;i<t.childLayers.length;i++){n[t.childLayers[i].id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var s=t.programInterfaces[r];if(s.paintAttributes)for(var l=0;l<s.paintAttributes.length;l++){var u=s.paintAttributes[l];u.multiplier=u.multiplier||1;for(var h=0;h<t.childLayers.length;h++){var d=t.childLayers[h],p=n[d.id],m=u.name;f(\\\"a_\\\"===u.name.slice(0,2));var v,g=u.name.slice(2);if(p.fragmentPragmas.initialize[g]=\\\"\\\",d.isPaintValueFeatureConstant(u.paintProperty))p.uniforms.push(u),p.fragmentPragmas.define[g]=p.vertexPragmas.define[g]=[\\\"uniform\\\",\\\"{precision}\\\",\\\"{type}\\\",m].join(\\\" \\\")+\\\";\\\",p.fragmentPragmas.initialize[g]=p.vertexPragmas.initialize[g]=[\\\"{precision}\\\",\\\"{type}\\\",g,\\\"=\\\",m].join(\\\" \\\")+\\\";\\\\n\\\";else if(d.isPaintValueZoomConstant(u.paintProperty)){p.attributes.push(c.extend({},u,{name:m})),v=[\\\"varying\\\",\\\"{precision}\\\",\\\"{type}\\\",g].join(\\\" \\\")+\\\";\\\\n\\\"\\n\",\n       \";var y=[p.fragmentPragmas.define[g],\\\"attribute\\\",\\\"{precision}\\\",\\\"{type}\\\",m].join(\\\" \\\")+\\\";\\\\n\\\";p.fragmentPragmas.define[g]=v,p.vertexPragmas.define[g]=v+y,p.vertexPragmas.initialize[g]=[g,\\\"=\\\",m,\\\"/\\\",u.multiplier.toFixed(1)].join(\\\" \\\")+\\\";\\\\n\\\"}else{for(var b=\\\"u_\\\"+m.slice(2)+\\\"_t\\\",x=d.getPaintValueStopZoomLevels(u.paintProperty),_=0;_<x.length&&x[_]<t.zoom;)_++;for(var w=Math.max(0,Math.min(x.length-4,_-2)),M=[],k=0;k<4;k++)M.push(x[Math.min(w+k,x.length-1)]);v=[\\\"varying\\\",\\\"{precision}\\\",\\\"{type}\\\",g].join(\\\" \\\")+\\\";\\\\n\\\",p.vertexPragmas.define[g]=v+[\\\"uniform\\\",\\\"lowp\\\",\\\"float\\\",b].join(\\\" \\\")+\\\";\\\\n\\\",p.fragmentPragmas.define[g]=v,p.uniforms.push(c.extend({},u,{name:b,getValue:o(u,w),components:1}));var A=u.components;if(1===A)p.attributes.push(c.extend({},u,{getValue:a(u,M),isFunction:!0,components:4*A})),p.vertexPragmas.define[g]+=[\\\"attribute\\\",\\\"{precision}\\\",\\\"vec4\\\",m].join(\\\" \\\")+\\\";\\\\n\\\",p.vertexPragmas.initialize[g]=[g,\\\"=\\\",\\\"evaluate_zoom_function_1(\\\"+m+\\\", \\\"+b+\\\")\\\",\\\"/\\\",u.multiplier.toFixed(1)].join(\\\" \\\")+\\\";\\\\n\\\";else{for(var T=[],S=0;S<4;S++)T.push(m+S),p.attributes.push(c.extend({},u,{getValue:a(u,[M[S]]),isFunction:!0,name:m+S})),p.vertexPragmas.define[g]+=[\\\"attribute\\\",\\\"{precision}\\\",\\\"{type}\\\",m+S].join(\\\" \\\")+\\\";\\\\n\\\";p.vertexPragmas.initialize[g]=[g,\\\" = \\\",\\\"evaluate_zoom_function_4(\\\"+T.join(\\\", \\\")+\\\", \\\"+b+\\\")\\\",\\\"/\\\",u.multiplier.toFixed(1)].join(\\\" \\\")+\\\";\\\\n\\\"}}}}}return e}function a(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,c.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o<e.length;o++){var s=e[o];a.push(t.getValue(r,c.extend({},n,{zoom:s}),i)[0])}return a}}function o(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}var s=t(\\\"feature-filter\\\"),l=t(\\\"./array_group\\\"),u=t(\\\"./buffer_group\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/struct_array\\\"),f=t(\\\"assert\\\");e.exports=n,n.create=function(e){return new({fill:t(\\\"./bucket/fill_bucket\\\"),line:t(\\\"./bucket/line_bucket\\\"),circle:t(\\\"./bucket/circle_bucket\\\"),symbol:t(\\\"./bucket/symbol_bucket\\\")}[e.layer.type])(e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t<this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&&r[r.length-1];return n&&n.hasCapacityFor(e)||(n=new l({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]}),n.index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n<r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n<r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o<a.length;o++){var s=a[o],l=r[s.name];t[\\\"uniform\\\"+s.components+\\\"fv\\\"](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:c.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:c.mapObject(this.paintVertexArrayTypes,function(t){return c.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=s(this.layer.filter))};var d={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t<this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,d)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a<this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l<s.length;l++){var u=s[l],c=u.layoutVertexArray.length,h=u.paintVertexArrays[o.id];h.resize(c);for(var f=this.paintAttributes[t][o.id].attributes,d=0;d<f.length;d++)for(var p=f[d],m=p.getValue(o,e,r),v=p.multiplier||1,g=p.components||1,y=l===n.index?i:0,b=y;b<c;b++)for(var x=h.get(b),_=0;_<g;_++){var w=g>1?p.name+_:p.name;x[w]=m[_]*v}}},n.VertexArrayType=function(t){return new h({members:t,alignment:4})},n.ElementArrayType=function(t){return new h({members:[{type:\\\"Uint16\\\",name:\\\"vertices\\\",components:t||3}]})}},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"./array_group\\\":327,\\\"./bucket/circle_bucket\\\":329,\\\"./bucket/fill_bucket\\\":330,\\\"./bucket/line_bucket\\\":331,\\\"./bucket/symbol_bucket\\\":332,\\\"./buffer_group\\\":334,assert:46,\\\"feature-filter\\\":131}],329:[function(t,e,r){\\\"use strict\\\";function n(){i.apply(this,arguments)}var i=t(\\\"../bucket\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../load_geometry\\\"),s=i.EXTENT;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:\\\"a_color\\\",components:4,type:\\\"Uint8\\\",getValue:function(t,e,r){return t.getPaintValue(\\\"circle-color\\\",e,r)},multiplier:255,paintProperty:\\\"circle-color\\\"},{name:\\\"a_radius\\\",components:1,type:\\\"Uint16\\\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\\\"circle-radius\\\",e,r)]},multiplier:10,paintProperty:\\\"circle-radius\\\"},{name:\\\"a_blur\\\",components:1,type:\\\"Uint16\\\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\\\"circle-blur\\\",e,r)]},multiplier:10,paintProperty:\\\"circle-blur\\\"},{name:\\\"a_opacity\\\",components:1,type:\\\"Uint16\\\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\\\"circle-opacity\\\",e,r)]},multiplier:255,paintProperty:\\\"circle-opacity\\\"}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(\\\"circle\\\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)for(var l=0;l<r[a].length;l++){var u=r[a][l].x,c=r[a][l].y;if(!(u<0||u>=s||c<0||c>=s)){var h=this.prepareArrayGroup(\\\"circle\\\",4),f=h.layoutVertexArray,d=this.addCircleVertex(f,u,c,-1,-1);this.addCircleVertex(f,u,c,1,-1),this.addCircleVertex(f,u,c,1,1),this.addCircleVertex(f,u,c,-1,1),h.elementArray.emplaceBack(d,d+1,d+2),h.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(\\\"circle\\\",e,t.properties,n,i)}},{\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336}],330:[function(t,e,r){\\\"use strict\\\";function n(){i.apply(this,arguments)}var i=t(\\\"../bucket\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../load_geometry\\\"),s=t(\\\"earcut\\\"),l=t(\\\"../../util/classify_rings\\\");e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:\\\"a_color\\\",components:4,type:\\\"Uint8\\\",getValue:function(t,e,r){return t.getPaintValue(\\\"fill-color\\\",e,r)},multiplier:255,paintProperty:\\\"fill-color\\\"},{name:\\\"a_outline_color\\\",components:4,type:\\\"Uint8\\\",getValue:function(t,e,r){return t.getPaintValue(\\\"fill-outline-color\\\",e,r)},multiplier:255,paintProperty:\\\"fill-outline-color\\\"},{name:\\\"a_opacity\\\",components:1,type:\\\"Uint8\\\",getValue:function(t,e,r){return[t.getPaintValue(\\\"fill-opacity\\\",e,r)]},multiplier:255,paintProperty:\\\"fill-opacity\\\"}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,500),n=this.prepareArrayGroup(\\\"fill\\\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(\\\"fill\\\",{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r<t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(\\\"fill\\\",e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l<t.length;l++){var u=t[l];l>0&&a.push(i.length/2);for(var c=0;c<u.length;c++){var h=u[c],f=n.layoutVertexArray.emplaceBack(h.x,h.y);c>=1&&n.elementArray2.emplaceBack(f-1,f),i.push(h.x),i.push(h.y)}}for(var d=s(i,a),p=0;p<d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{\\\"../../util/classify_rings\\\":429,\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336,earcut:125}],331:[function(t,e,r){\\\"use strict\\\";function n(){i.apply(this,arguments)}var i=t(\\\"../bucket\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../load_geometry\\\"),s=i.EXTENT,l=Math.cos(Math.PI/180*37.5),u=Math.pow(2,14)/.5;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x<<1|n,e.y<<1|i,Math.round(63*r.x)+128,Math.round(63*r.y)+128,1+(0===a?0:a<0?-1:1)|(.5*o&63)<<2,.5*o>>6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,15),r=0;r<e.length;r++)this.addLine(e[r],this.layer.layout[\\\"line-join\\\"],this.layer.layout[\\\"line-cap\\\"],this.layer.layout[\\\"line-miter-limit\\\"],this.layer.layout[\\\"line-round-limit\\\"])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a>2&&t[a-1].equals(t[a-2]);)a--;if(!(t.length<2)){\\\"bevel\\\"===e&&(n=1.05);var o=s/(512*this.overscaling)*15,u=t[0],c=t[a-1],h=u.equals(c);if(this.prepareArrayGroup(\\\"line\\\",10*a),2!==a||!h){this.distance=0;var f,d,p,m,v,g,y,b=r,x=h?\\\"butt\\\":r,_=!0;this.e1=this.e2=this.e3=-1,h&&(f=t[a-2],v=u.sub(f)._unit()._perp());for(var w=0;w<a;w++)if(!(p=h&&w===a-1?t[1]:t[w+1])||!t[w].equals(p)){v&&(m=v),f&&(d=f),f=t[w],v=p?p.sub(f)._unit()._perp():m,m=m||v;var M=m.add(v)._unit(),k=M.x*v.x+M.y*v.y,A=1/k,T=k<l&&d&&p;if(T&&w>0){var S=f.dist(d);if(S>2*o){var E=f.sub(f.sub(d)._mult(o/S)._round());this.distance+=E.dist(d),this.addCurrentVertex(E,this.distance,m.mult(1),0,0,!1),d=E}}var L=d&&p,C=L?e:p?b:x;if(L&&\\\"round\\\"===C&&(A<i?C=\\\"miter\\\":A<=2&&(C=\\\"fakeround\\\")),\\\"miter\\\"===C&&A>n&&(C=\\\"bevel\\\"),\\\"bevel\\\"===C&&(A>2&&(C=\\\"flipbevel\\\"),A<n&&(C=\\\"miter\\\")),d&&(this.distance+=f.dist(d)),\\\"miter\\\"===C)M._mult(A),this.addCurrentVertex(f,this.distance,M,0,0,!1);else if(\\\"flipbevel\\\"===C){if(A>100)M=v.clone();else{var z=m.x*v.y-m.y*v.x>0?-1:1,I=A*m.add(v).mag()/m.sub(v).mag();M._perp()._mult(I*z)}this.addCurrentVertex(f,this.distance,M,0,0,!1),this.addCurrentVertex(f,this.distance,M.mult(-1),0,0,!1)}else if(\\\"bevel\\\"===C||\\\"fakeround\\\"===C){var D=m.x*v.y-m.y*v.x>0,P=-Math.sqrt(A*A-1);if(D?(y=0,g=P):(g=0,y=P),_||this.addCurrentVertex(f,this.distance,m,g,y,!1),\\\"fakeround\\\"===C){for(var O,R=Math.floor(8*(.5-(k-.5))),F=0;F<R;F++)O=v.mult((F+1)/(R+1))._add(m)._unit(),this.addPieSliceVertex(f,this.distance,O,D);this.addPieSliceVertex(f,this.distance,M,D);for(var j=R-1;j>=0;j--)O=m.mult((j+1)/(R+1))._add(v)._unit(),this.addPieSliceVertex(f,this.distance,O,D)}p&&this.addCurrentVertex(f,this.distance,v,-g,-y,!1)}else\\\"butt\\\"===C?(_||this.addCurrentVertex(f,this.distance,m,0,0,!1),p&&this.addCurrentVertex(f,this.distance,v,0,0,!1)):\\\"square\\\"===C?(_||(this.addCurrentVertex(f,this.distance,m,1,1,!1),this.e1=this.e2=-1),p&&this.addCurrentVertex(f,this.distance,v,-1,-1,!1)):\\\"round\\\"===C&&(_||(this.addCurrentVertex(f,this.distance,m,0,0,!1),this.addCurrentVertex(f,this.distance,m,1,1,!0),this.e1=this.e2=-1),p&&(this.addCurrentVertex(f,this.distance,v,-1,-1,!0),this.addCurrentVertex(f,this.distance,v,0,0,!1)));if(T&&w<a-1){var N=f.dist(p);if(N>2*o){var B=f.add(p.sub(f)._mult(o/N)._round());this.distance+=B.dist(f),this.addCurrentVertex(B,this.distance,v.mult(1),0,0,!1),f=B}}_=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],c=l.layoutVertexArray,h=l.elementArray;o=r.clone(),n&&o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(c,t,o,s,0,n,e),this.e1>=0&&this.e2>=0&&h.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&&o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(c,t,o,s,1,-i,e),this.e1>=0&&this.e2>=0&&h.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e>u/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1>=0&&this.e2>=0&&s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336}],332:[function(t,e,r){\\\"use strict\\\";function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,u,c){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(u||0),c,10*(s||0),10*Math.min(l||25,25))}var a=t(\\\"point-geometry\\\"),o=t(\\\"../bucket\\\"),s=t(\\\"../../symbol/anchor\\\"),l=t(\\\"../../symbol/get_anchors\\\"),u=t(\\\"../../util/token\\\"),c=t(\\\"../../symbol/quads\\\"),h=t(\\\"../../symbol/shaping\\\"),f=t(\\\"../../symbol/resolve_text\\\"),d=t(\\\"../../symbol/mergelines\\\"),p=t(\\\"../../symbol/clip_line\\\"),m=t(\\\"../../util/util\\\"),v=t(\\\"../load_geometry\\\"),g=t(\\\"../../symbol/collision_feature\\\"),y=h.shapeText,b=h.shapeIcon,x=c.getGlyphQuads,_=c.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,n.prototype=m.inherit(o,{}),n.prototype.serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_offset\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_texture_pos\\\",components:2,type:\\\"Uint16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}]),k=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:k},icon:{layoutVertexArrayType:M,elementArrayType:k},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:2,type:\\\"Uint8\\\"}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(\\\"text-size\\\",{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(\\\"text-size\\\",{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(\\\"icon-size\\\",{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(\\\"icon-size\\\",{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,c=.5;switch(a[\\\"text-anchor\\\"]){case\\\"right\\\":case\\\"top-right\\\":case\\\"bottom-right\\\":l=1;break;case\\\"left\\\":case\\\"top-left\\\":case\\\"bottom-left\\\":l=0}switch(a[\\\"text-anchor\\\"]){case\\\"bottom\\\":case\\\"bottom-right\\\":case\\\"bottom-left\\\":c=1;break;case\\\"top\\\":case\\\"top-right\\\":case\\\"top-left\\\":c=0}for(var h=\\\"right\\\"===a[\\\"text-justify\\\"]?1:\\\"left\\\"===a[\\\"text-justify\\\"]?0:.5,f=24*a[\\\"text-line-height\\\"],p=\\\"line\\\"!==a[\\\"symbol-placement\\\"]?24*a[\\\"text-max-width\\\"]:0,g=24*a[\\\"text-letter-spacing\\\"],x=[24*a[\\\"text-offset\\\"][0],24*a[\\\"text-offset\\\"][1]],_=this.fontstack=a[\\\"text-font\\\"].join(\\\",\\\"),M=[],k=0;k<o.length;k++)M.push(v(o[k]));if(\\\"line\\\"===a[\\\"symbol-placement\\\"]){var A=d(o,s,M);M=A.geometries,o=A.features,s=A.textFeatures}for(var T,S,E=0;E<o.length;E++)if(M[E]){if(T=s[E]?y(s[E],e[_],p,f,l,c,h,g,x):null,a[\\\"icon-image\\\"]){var L=u(o[E].properties,a[\\\"icon-image\\\"]),C=r[L];S=b(C,a),C&&(void 0===this.sdfIcons?this.sdfIcons=C.sdf:this.sdfIcons!==C.sdf&&m.warnOnce(\\\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\\\"),1!==C.pixelRatio?this.iconsNeedLinear=!0:0===a[\\\"icon-rotate\\\"]&&this.layer.isLayoutValueFeatureConstant(\\\"icon-rotate\\\")||(this.iconsNeedLinear=!0))}else S=null;(T||S)&&this.addFeature(M[E],T,S,o[E])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=this.adjustedTextSize/24,o=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,u=this.tilePixelRatio*a,c=this.tilePixelRatio*o/24,h=this.tilePixelRatio*this.adjustedIconSize,f=this.tilePixelRatio*i[\\\"symbol-spacing\\\"],d=i[\\\"symbol-avoid-edges\\\"],m=i[\\\"text-padding\\\"]*this.tilePixelRatio,v=i[\\\"icon-padding\\\"]*this.tilePixelRatio,g=i[\\\"text-max-angle\\\"]/180*Math.PI,y=\\\"map\\\"===i[\\\"text-rotation-alignment\\\"]&&\\\"line\\\"===i[\\\"symbol-placement\\\"],b=\\\"map\\\"===i[\\\"icon-rotation-alignment\\\"]&&\\\"line\\\"===i[\\\"symbol-placement\\\"],x=i[\\\"text-allow-overlap\\\"]||i[\\\"icon-allow-overlap\\\"]||i[\\\"text-ignore-placement\\\"]||i[\\\"icon-ignore-placement\\\"],_=\\\"line\\\"===i[\\\"symbol-placement\\\"],M=f/2;_&&(t=p(t,0,0,w,w));for(var k=0;k<t.length;k++){var A,T=t[k];A=_?l(T,f,g,e,r,24,c,this.overscaling,w):[new s(T[0].x,T[0].y,0)];for(var S=0,E=A.length;S<E;S++){var L=A[S];if(!(e&&_&&this.anchorIsTooClose(e.text,M,L))){var C=!(L.x<0||L.x>w||L.y<0||L.y>w);if(!d||C){var z=C||x;this.addSymbolInstance(L,T,e,r,this.layer,z,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,u,m,y,h,v,b,{zoom:this.zoom},n.properties)}}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a>=0;a--)if(r.dist(i[a])<e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=\\\"map\\\"===r[\\\"text-rotation-alignment\\\"]&&\\\"line\\\"===r[\\\"symbol-placement\\\"],a=\\\"map\\\"===r[\\\"icon-rotation-alignment\\\"]&&\\\"line\\\"===r[\\\"symbol-placement\\\"];if(r[\\\"text-allow-overlap\\\"]||r[\\\"icon-allow-overlap\\\"]||r[\\\"text-ignore-placement\\\"]||r[\\\"icon-ignore-placement\\\"]){var o=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),s=t.angle,l=Math.sin(s),u=Math.cos(s);this.sortedSymbolInstances=o.sort(function(t,e){return(l*t.anchorPointX+u*t.anchorPointY|0)-(l*e.anchorPointX+u*e.anchorPointY|0)||e.index-t.index})}for(var c=this.symbolInstancesStartIndex;c<this.symbolInstancesEndIndex;c++){var h=this.sortedSymbolInstances?this.sortedSymbolInstances[c-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(c),f={boxStartIndex:h.textBoxStartIndex,boxEndIndex:h.textBoxEndIndex},d={boxStartIndex:h.iconBoxStartIndex,boxEndIndex:h.iconBoxEndIndex},p=!(h.textBoxStartIndex===h.textBoxEndIndex),m=!(h.iconBoxStartIndex===h.iconBoxEndIndex),v=r[\\\"text-optional\\\"]||!p,g=r[\\\"icon-optional\\\"]||!m,y=p?t.placeCollisionFeature(f,r[\\\"text-allow-overlap\\\"],r[\\\"symbol-avoid-edges\\\"]):t.minScale,b=m?t.placeCollisionFeature(d,r[\\\"icon-allow-overlap\\\"],r[\\\"symbol-avoid-edges\\\"]):t.minScale;v||g?!g&&y?y=Math.max(b,y):!v&&b&&(b=Math.max(b,y)):b=y=Math.max(b,y),p&&(t.insertCollisionFeature(f,y,r[\\\"text-ignore-placement\\\"]),y<=n&&this.addSymbols(\\\"glyph\\\",h.glyphQuadStartIndex,h.glyphQuadEndIndex,y,r[\\\"text-keep-upright\\\"],i,t.angle)),m&&(t.insertCollisionFeature(d,b,r[\\\"icon-ignore-placement\\\"]),b<=n&&this.addSymbols(\\\"icon\\\",h.iconQuadStartIndex,h.iconQuadEndIndex,b,r[\\\"icon-keep-upright\\\"],a,t.angle))}e&&this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),u=l.elementArray,c=l.layoutVertexArray,h=this.zoom,f=Math.max(Math.log(n)/Math.LN2+h,0),d=e;d<r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,m=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&&o&&(m<=Math.PI/2||m>3*Math.PI/2))){var v=p.tl,g=p.tr,y=p.bl,b=p.br,x=p.tex,_=p.anchorPoint,w=Math.max(h+Math.log(p.minScale)/Math.LN2,f),M=Math.min(h+Math.log(p.maxScale)/Math.LN2,25);if(!(M<=w)){w===f&&(w=0);var k=Math.round(p.glyphAngle/(2*Math.PI)*256),A=i(c,_.x,_.y,v.x,v.y,x.x,x.y,w,M,f,k);i(c,_.x,_.y,g.x,g.y,x.x+x.w,x.y,w,M,f,k),i(c,_.x,_.y,y.x,y.y,x.x,x.y+x.h,w,M,f,k),i(c,_.x,_.y,b.x,b.y,x.x+x.w,x.y+x.h,w,M,f,k),u.emplaceBack(A,A+1,A+2),u.emplaceBack(A+1,A+2,A+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\\\"icon-image\\\"];if(e)for(var r=0;r<this.features.length;r++){var n=u(this.features[r].properties,e);n&&(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\\\"text-font\\\"],r=t[e]=t[e]||{};this.textFeatures=f(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(\\\"collisionBox\\\",0),r=e.layoutVertexArray,n=-t.angle,i=t.yStretch,o=this.symbolInstancesStartIndex;o<this.symbolInstancesEndIndex;o++){var s=this.symbolInstancesArray.get(o);s.textCollisionFeature={boxStartIndex:s.textBoxStartIndex,boxEndIndex:s.textBoxEndIndex},s.iconCollisionFeature={boxStartIndex:s.iconBoxStartIndex,boxEndIndex:s.iconBoxEndIndex};for(var l=0;l<2;l++){var u=s[0===l?\\\"textCollisionFeature\\\":\\\"iconCollisionFeature\\\"];if(u)for(var c=u.boxStartIndex;c<u.boxEndIndex;c++){var h=this.collisionBoxArray.get(c),f=h.anchorPoint,d=new a(h.x1,h.y1*i)._rotate(n),p=new a(h.x2,h.y1*i)._rotate(n),m=new a(h.x1,h.y2*i)._rotate(n),v=new a(h.x2,h.y2*i)._rotate(n),g=Math.max(0,Math.min(25,this.zoom+Math.log(h.maxScale)/Math.LN2)),y=Math.max(0,Math.min(25,this.zoom+Math.log(h.placementScale)/Math.LN2));this.addCollisionBoxVertex(r,f,d,g,y),this.addCollisionBoxVertex(r,f,p,g,y),this.addCollisionBoxVertex(r,f,p,g,y),this.addCollisionBoxVertex(r,f,v,g,y),this.addCollisionBoxVertex(r,f,v,g,y),this.addCollisionBoxVertex(r,f,m,g,y),this.addCollisionBoxVertex(r,f,m,g,y),this.addCollisionBoxVertex(r,f,d,g,y)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,v,y,b,w,M){var k,A,T,S,E,L,C,z;if(r&&(C=o?x(t,r,f,e,a,p):[],E=new g(l,e,t,u,c,h,r,f,d,p,!1)),k=this.symbolQuadsArray.length,C&&C.length)for(var I=0;I<C.length;I++)this.addSymbolQuad(C[I]);A=this.symbolQuadsArray.length;var D=E?E.boxStartIndex:this.collisionBoxArray.length,P=E?E.boxEndIndex:this.collisionBoxArray.length;i&&(z=o?_(t,i,v,e,a,b,r,w,M):[],L=new g(l,e,t,u,c,h,i,v,y,b,!0)),T=this.symbolQuadsArray.length,z&&1===z.length&&this.addSymbolQuad(z[0]),S=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,R=L?L.boxEndIndex:this.collisionBoxArray.length;return S>n.MAX_QUADS&&m.warnOnce(\\\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),A>n.MAX_QUADS&&m.warnOnce(\\\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),this.symbolInstancesArray.emplaceBack(D,P,O,R,k,A,T,S,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{\\\"../../symbol/anchor\\\":390,\\\"../../symbol/clip_line\\\":392,\\\"../../symbol/collision_feature\\\":394,\\\"../../symbol/get_anchors\\\":396,\\\"../../symbol/mergelines\\\":399,\\\"../../symbol/quads\\\":400,\\\"../../symbol/resolve_text\\\":401,\\\"../../symbol/shaping\\\":402,\\\"../../util/token\\\":440,\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336,\\\"point-geometry\\\":483}],333:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:\\\"BYTE\\\",Uint8:\\\"UNSIGNED_BYTE\\\",Int16:\\\"SHORT\\\",Uint16:\\\"UNSIGNED_SHORT\\\"};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&&t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&&t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:\\\"ARRAY_BUFFER\\\",ELEMENT:\\\"ELEMENT_ARRAY_BUFFER\\\"}},{}],334:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&&(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&&(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&&(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(\\\"../util/util\\\"),a=t(\\\"./buffer\\\"),o=t(\\\"../render/vertex_array_object\\\");e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&&this.elementBuffer.destroy(t),this.elementBuffer2&&this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{\\\"../render/vertex_array_object\\\":356,\\\"../util/util\\\":441,\\\"./buffer\\\":333}],335:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new p(n.grid),this.featureIndexArray=new k(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new p(h,16,0),this.featureIndexArray=new k;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[\\\"line-gap-width\\\"]>0?t[\\\"line-gap-width\\\"]+2*t[\\\"line-width\\\"]:t[\\\"line-width\\\"]}function s(t,e,r,n,i){if(!e[0]&&!e[1])return t;e=u.convert(e),\\\"viewport\\\"===r&&e._rotate(-n);for(var a=[],o=0;o<t.length;o++){for(var s=t[o],l=[],c=0;c<s.length;c++)l.push(s[c].sub(e._mult(i)));a.push(l)}return a}function l(t,e){for(var r=[],n=new u(0,0),i=0;i<t.length;i++){for(var a=t[i],o=[],s=0;s<a.length;s++){var l=a[s-1],c=a[s],h=a[s+1],f=0===s?n:c.sub(l)._unit()._perp(),d=s===a.length-1?n:h.sub(c)._unit()._perp(),p=f._add(d)._unit(),m=p.x*d.x+p.y*d.y;p._mult(1/m),o.push(p._mult(e)._add(c))}r.push(o)}return r}var u=t(\\\"point-geometry\\\"),c=t(\\\"./load_geometry\\\"),h=t(\\\"./bucket\\\").EXTENT,f=t(\\\"feature-filter\\\"),d=t(\\\"../util/struct_array\\\"),p=t(\\\"grid-index\\\"),m=t(\\\"../util/dictionary_coder\\\"),v=t(\\\"vector-tile\\\"),g=t(\\\"pbf\\\"),y=t(\\\"../util/vectortile_to_geojson\\\"),b=t(\\\"../util/util\\\").arraysIntersect,x=t(\\\"../util/intersection_tests\\\"),_=x.multiPolygonIntersectsBufferedMultiPoint,w=x.multiPolygonIntersectsMultiPolygon,M=x.multiPolygonIntersectsBufferedMultiLine,k=new d({members:[{type:\\\"Uint32\\\",name:\\\"featureIndex\\\"},{type:\\\"Uint16\\\",name:\\\"sourceLayerIndex\\\"},{type:\\\"Uint16\\\",name:\\\"bucketIndex\\\"}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o<a.length;o++){for(var s=a[o],l=[1/0,1/0,-1/0,-1/0],u=0;u<s.length;u++){var h=s[u];l[0]=Math.min(l[0],h.x),l[1]=Math.min(l[1],h.y),l[2]=Math.max(l[2],h.x),l[3]=Math.max(l[3],h.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new v.VectorTile(new g(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new m(this.vtLayers?Object.keys(this.vtLayers).sort():[\\\"_geojsonTileLayer\\\"]));var r={},n=t.params||{},s=h/t.tileSize/t.scale,l=f(n.filter),c=0;for(var d in e){var p=e[d],y=p.paint,b=0;\\\"line\\\"===p.type?b=o(y)/2+Math.abs(y[\\\"line-offset\\\"])+i(y[\\\"line-translate\\\"]):\\\"fill\\\"===p.type?b=i(y[\\\"fill-translate\\\"]):\\\"circle\\\"===p.type&&(b=y[\\\"circle-radius\\\"]+i(y[\\\"circle-translate\\\"])),c=Math.max(c,b*s)}for(var x=t.queryGeometry.map(function(t){return t.map(function(t){return new u(t.x,t.y)})}),_=1/0,w=1/0,M=-1/0,k=-1/0,A=0;A<x.length;A++)for(var T=x[A],S=0;S<T.length;S++){var E=T[S];_=Math.min(_,E.x),w=Math.min(w,E.y),M=Math.max(M,E.x),k=Math.max(k,E.y)}var L=this.grid.query(_-c,w-c,M+c,k+c);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,x,l,n.layers,e,t.bearing,s);var C=this.collisionTile.queryRenderedSymbols(_,w,M,k,t.scale);return C.sort(),this.filterMatching(r,C,this.collisionTile.collisionBoxArray,x,l,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,h,f){for(var d,p=0;p<e.length;p++){var m=e[p];if(m!==d){d=m;var v=r.get(m),g=this.bucketLayerIDs[v.bucketIndex];if(!a||b(a,g)){var x=this.sourceLayerCoder.decode(v.sourceLayerIndex),k=this.vtLayers[x],A=k.feature(v.featureIndex);if(i(A))for(var T=null,S=0;S<g.length;S++){var E=g[S];if(!(a&&a.indexOf(E)<0)){var L=u[E];if(L){var C;if(\\\"symbol\\\"!==L.type){T||(T=c(A));var z=L.paint;if(\\\"line\\\"===L.type){C=s(n,z[\\\"line-translate\\\"],z[\\\"line-translate-anchor\\\"],h,f);var I=o(z)/2*f;if(z[\\\"line-offset\\\"]&&(T=l(T,z[\\\"line-offset\\\"]*f)),!M(C,T,I))continue}else if(\\\"fill\\\"===L.type){if(C=s(n,z[\\\"fill-translate\\\"],z[\\\"fill-translate-anchor\\\"],h,f),!w(C,T))continue}else if(\\\"circle\\\"===L.type){C=s(n,z[\\\"circle-translate\\\"],z[\\\"circle-translate-anchor\\\"],h,f);var D=z[\\\"circle-radius\\\"]*f;if(!_(C,T,D))continue}}var P=new y(A,this.z,this.x,this.y);P.layer=L.serialize({includeRefProperties:!0});var O=t[E];void 0===O&&(O=t[E]=[]),O.push(P)}}}}}}}},{\\\"../util/dictionary_coder\\\":431,\\\"../util/intersection_tests\\\":436,\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"../util/vectortile_to_geojson\\\":442,\\\"./bucket\\\":328,\\\"./load_geometry\\\":336,\\\"feature-filter\\\":131,\\\"grid-index\\\":286,pbf:477,\\\"point-geometry\\\":483,\\\"vector-tile\\\":549}],336:[function(t,e,r){\\\"use strict\\\";function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(\\\"../util/util\\\"),a=t(\\\"./bucket\\\").EXTENT,o=t(\\\"assert\\\"),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),u=0;u<l.length;u++)for(var c=l[u],h=0;h<c.length;h++){var f=c[h];f.x=Math.round(f.x*n),f.y=Math.round(f.y*n),(f.x<r.min||f.x>r.max||f.y<r.min||f.y>r.max)&&i.warnOnce(\\\"Geometry exceeds allowed extent, reduce your vector tile buffer size\\\")}return l}},{\\\"../util/util\\\":441,\\\"./bucket\\\":328,assert:46}],337:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],338:[function(t,e,r){\\\"use strict\\\";function n(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\\\")}e.exports=n\\n\",\n       \";var i=t(\\\"../util/util\\\").wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return\\\"LngLat(\\\"+this.lng+\\\", \\\"+this.lat+\\\")\\\"},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{\\\"../util/util\\\":441}],339:[function(t,e,r){\\\"use strict\\\";function n(t,e){t&&(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(\\\"./lng_lat\\\");n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return\\\"LngLatBounds(\\\"+this._sw.toString()+\\\", \\\"+this._ne.toString()+\\\")\\\"}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{\\\"./lng_lat\\\":338}],340:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(\\\"./lng_lat\\\"),a=t(\\\"point-geometry\\\"),o=t(\\\"./coordinate\\\"),s=t(\\\"../util/util\\\").wrap,l=t(\\\"../util/interpolate\\\"),u=t(\\\"../source/tile_coord\\\"),c=t(\\\"../data/bucket\\\").EXTENT,h=t(\\\"gl-matrix\\\"),f=h.vec4,d=h.mat4,p=h.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&&(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(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._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e<t.minzoom)return[];e>t.maxzoom&&(e=t.maxzoom);var n=this,i=n.locationCoordinate(n.center)._zoomTo(e),o=new a(i.column-.5,i.row-.5);return u.cover(e,[n.pointCoordinate(new a(0,0))._zoomTo(e),n.pointCoordinate(new a(n.width,0))._zoomTo(e),n.pointCoordinate(new a(n.width,n.height))._zoomTo(e),n.pointCoordinate(new a(0,n.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return o.dist(t)-o.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];f.transformMat4(e,e,this.pixelMatrixInverse),f.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],i=r[3],a=e[0]/n,s=r[0]/i,u=e[1]/n,c=r[1]/i,h=e[2]/n,d=r[2]/i,p=h===d?0:(0-h)/(d-h),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(a,s,p)/m,l(u,c,p)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return f.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&&(e=1/0),t instanceof u&&(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/c,n/c,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,u=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),e=this.latY(this.latRange[0]),i=e-t<u.y?u.y/(e-t):0),this.lngRange&&(r=this.lngX(this.lngRange[0]),n=this.lngX(this.lngRange[1]),o=n-r<u.x?u.x/(n-r):0);var h=Math.max(o||0,i||0);if(h)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(h),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var f=this.y,d=u.y/2;f-d<t&&(l=t+d),f+d>e&&(l=e-d)}if(this.lngRange){var p=this.x,m=u.x/2;p-m<r&&(s=r+m),p+m>n&&(s=n-m)}void 0===s&&void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=c,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),!(n=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\\\"failed to invert matrix\\\");this.pixelMatrixInverse=n}}}},{\\\"../data/bucket\\\":328,\\\"../source/tile_coord\\\":368,\\\"../util/interpolate\\\":435,\\\"../util/util\\\":441,\\\"./coordinate\\\":337,\\\"./lng_lat\\\":338,\\\"gl-matrix\\\":192,\\\"point-geometry\\\":483}],341:[function(t,e,r){\\\"use strict\\\";var n={\\\" \\\":[16,[]],\\\"!\\\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\\\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\\\"#\\\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\\\"%\\\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\\\"&\\\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\\\"'\\\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\\\"(\\\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\\\")\\\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\\\"*\\\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\\\"+\\\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\\\",\\\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"-\\\":[26,[4,9,22,9]],\\\".\\\":[10,[5,2,4,1,5,0,6,1,5,2]],\\\"/\\\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\\\":\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\\\";\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"<\\\":[24,[20,18,4,9,20,0]],\\\"=\\\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\\\">\\\":[24,[4,18,20,9,4,0]],\\\"?\\\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\\\"@\\\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\\\"[\\\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\\\"\\\\\\\\\\\":[14,[0,21,14,-3]],\\\"]\\\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\\\"^\\\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\\\"`\\\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\\\"{\\\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\\\"|\\\":[8,[4,25,4,-7]],\\\"}\\\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\\\"~\\\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,u,c,h,f,d=[];for(a=0,o=t.length;a<o;a++)if(u=n[t[a]]){for(f=null,s=0,l=u[1].length;s<l;s+=2)-1===u[1][s]&&-1===u[1][s+1]?f=null:(c=e+u[1][s]*i,h=r-u[1][s+1]*i,f&&d.push(f.x,f.y,c,h),f={x:c,y:h});e+=u[0]*i}return d}},{}],342:[function(t,e,r){\\\"use strict\\\";var n=e.exports={};n.version=t(\\\"../package.json\\\").version,n.Map=t(\\\"./ui/map\\\"),n.Control=t(\\\"./ui/control/control\\\"),n.Navigation=t(\\\"./ui/control/navigation\\\"),n.Geolocate=t(\\\"./ui/control/geolocate\\\"),n.Attribution=t(\\\"./ui/control/attribution\\\"),n.Popup=t(\\\"./ui/popup\\\"),n.Marker=t(\\\"./ui/marker\\\"),n.Style=t(\\\"./style/style\\\"),n.LngLat=t(\\\"./geo/lng_lat\\\"),n.LngLatBounds=t(\\\"./geo/lng_lat_bounds\\\"),n.Point=t(\\\"point-geometry\\\"),n.Evented=t(\\\"./util/evented\\\"),n.util=t(\\\"./util/util\\\"),n.supported=t(\\\"./util/browser\\\").supported;var i=t(\\\"./util/ajax\\\");n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(\\\"./util/config\\\");n.config=a,Object.defineProperty(n,\\\"accessToken\\\",{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{\\\"../package.json\\\":443,\\\"./geo/lng_lat\\\":338,\\\"./geo/lng_lat_bounds\\\":339,\\\"./style/style\\\":377,\\\"./ui/control/attribution\\\":408,\\\"./ui/control/control\\\":409,\\\"./ui/control/geolocate\\\":410,\\\"./ui/control/navigation\\\":411,\\\"./ui/map\\\":420,\\\"./ui/marker\\\":421,\\\"./ui/popup\\\":422,\\\"./util/ajax\\\":424,\\\"./util/browser\\\":425,\\\"./util/config\\\":430,\\\"./util/evented\\\":433,\\\"./util/util\\\":441,\\\"point-geometry\\\":483}],343:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"assert\\\");e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r<t.length;r++){var i=t[r];n(\\\"u_\\\"===i.name.slice(0,2));var a=\\\"{precision} \\\"+(1===i.components?\\\"float\\\":\\\"vec\\\"+i.components);e.define[i.name.slice(2)]=\\\"uniform \\\"+a+\\\" \\\"+i.name+\\\";\\\\n\\\",e.initialize[i.name.slice(2)]=a+\\\" \\\"+i.name.slice(2)+\\\" = \\\"+i.name+\\\";\\\\n\\\"}return e}},{assert:46}],344:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,s=t.gl,l=t.transform,u=r.paint[\\\"background-color\\\"],c=r.paint[\\\"background-pattern\\\"],h=r.paint[\\\"background-opacity\\\"],f=c?t.spriteAtlas.getPosition(c.from,!0):null,d=c?t.spriteAtlas.getPosition(c.to,!0):null;if(t.setDepthSublayer(0),f&&d){if(t.isOpaquePass)return;n=t.useProgram(\\\"pattern\\\"),s.uniform1i(n.u_image,0),s.uniform2fv(n.u_pattern_tl_a,f.tl),s.uniform2fv(n.u_pattern_br_a,f.br),s.uniform2fv(n.u_pattern_tl_b,d.tl),s.uniform2fv(n.u_pattern_br_b,d.br),s.uniform1f(n.u_opacity,h),s.uniform1f(n.u_mix,c.t),s.uniform2fv(n.u_pattern_size_a,f.size),s.uniform2fv(n.u_pattern_size_b,d.size),s.uniform1f(n.u_scale_a,c.fromScale),s.uniform1f(n.u_scale_b,c.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,n,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===u[3]))return;var p=a([{name:\\\"u_color\\\",components:4},{name:\\\"u_opacity\\\",components:1}]);n=t.useProgram(\\\"fill\\\",[],p,p),s.uniform4fv(n.u_color,u),s.uniform1f(n.u_opacity,h),t.tileExtentVAO.bind(s,n,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var m=l.coveringTiles({tileSize:o}),v=0;v<m.length;v++){var g=m[v];if(f&&d){var y={coord:g,tileSize:o};s.uniform1f(n.u_tile_units_to_pixels,1/i(y,1,t.transform.tileZoom));var b=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),x=b*(y.coord.x+g.w*Math.pow(2,y.coord.z)),_=b*y.coord.y;s.uniform2f(n.u_pixel_coord_upper,x>>16,_>>16),s.uniform2f(n.u_pixel_coord_lower,65535&x,65535&_)}s.uniformMatrix4fv(n.u_matrix,!1,t.transform.calculatePosMatrix(g)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}var i=t(\\\"../source/pixels_to_tile_units\\\"),a=t(\\\"./create_uniform_pragmas\\\"),o=512;e.exports=n},{\\\"../source/pixels_to_tile_units\\\":362,\\\"./create_uniform_pragmas\\\":343}],345:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.circle;if(c){var h=u.paintAttributes.circle[r.id],f=t.useProgram(\\\"circle\\\",h.defines,h.vertexPragmas,h.fragmentPragmas);\\\"map\\\"===r.paint[\\\"circle-pitch-scale\\\"]?(a.uniform1i(f.u_scale_with_map,!0),a.uniform2f(f.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(f.u_scale_with_map,!1),a.uniform2fv(f.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(f.u_devicepixelratio,i.devicePixelRatio),a.uniformMatrix4fv(f.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[\\\"circle-translate\\\"],r.paint[\\\"circle-translate-anchor\\\"])),u.setUniforms(a,\\\"circle\\\",f,r,{zoom:t.transform.zoom});for(var d=0;d<c.length;d++){var p=c[d];p.vaos[r.id].bind(a,f,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}var i=t(\\\"../util/browser\\\");e.exports=n},{\\\"../util/browser\\\":425}],346:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(\\\"collisionbox\\\"),o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.collisionBox;if(c&&c.length){var h=c[0];0!==h.layoutVertexBuffer.length&&(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),i.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),h.vaos[r.id].bind(i,a,h.layoutVertexBuffer),i.drawArrays(i.LINES,0,h.layoutVertexBuffer.length))}}}}e.exports=n},{}],347:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!t.isOpaquePass&&t.options.debug)for(var n=0;n<r.length;n++)i(t,e,r[n])}function i(t,e,r){var n=t.gl;n.disable(n.STENCIL_TEST),t.lineWidth(1*o.devicePixelRatio);var i=r.posMatrix,h=t.useProgram(\\\"debug\\\");n.uniformMatrix4fv(h.u_matrix,!1,i),n.uniform4f(h.u_color,1,0,0,1),t.debugVAO.bind(n,h,t.debugBuffer),n.drawArrays(n.LINE_STRIP,0,t.debugBuffer.length);for(var f=a(r.toString(),50,200,5),d=new t.PosArray,p=0;p<f.length;p+=2)d.emplaceBack(f[p],f[p+1]);var m=new u(d.serialize(),t.PosArray.serialize(),u.BufferType.VERTEX);(new c).bind(n,h,m),n.uniform4f(h.u_color,1,1,1,1);for(var v=e.getTile(r).tileSize,g=l/(Math.pow(2,t.transform.zoom-r.z)*v),y=[[-1,-1],[-1,1],[1,-1],[1,1]],b=0;b<y.length;b++){var x=y[b];n.uniformMatrix4fv(h.u_matrix,!1,s.translate([],i,[g*x[0],g*x[1],0])),n.drawArrays(n.LINES,0,m.length)}n.uniform4f(h.u_color,0,0,0,1),n.uniformMatrix4fv(h.u_matrix,!1,i),n.drawArrays(n.LINES,0,m.length)}var a=t(\\\"../lib/debugtext\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"gl-matrix\\\").mat4,l=t(\\\"../data/bucket\\\").EXTENT,u=t(\\\"../data/buffer\\\"),c=t(\\\"./vertex_array_object\\\");e.exports=n},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../lib/debugtext\\\":341,\\\"../util/browser\\\":425,\\\"./vertex_array_object\\\":356,\\\"gl-matrix\\\":192}],348:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var o=t.gl;o.enable(o.STENCIL_TEST);var s;if(s=!r.paint[\\\"fill-pattern\\\"]&&(r.isPaintValueFeatureConstant(\\\"fill-color\\\")&&r.isPaintValueFeatureConstant(\\\"fill-opacity\\\")&&1===r.paint[\\\"fill-color\\\"][3]&&1===r.paint[\\\"fill-opacity\\\"]),t.isOpaquePass===s){t.setDepthSublayer(1);for(var l=0;l<n.length;l++)i(t,e,r,n[l])}if(!t.isOpaquePass&&r.paint[\\\"fill-antialias\\\"]){t.lineWidth(2),t.depthMask(!1);var u=r.getPaintProperty(\\\"fill-outline-color\\\");(u||!r.paint[\\\"fill-pattern\\\"])&&u?t.setDepthSublayer(2):t.setDepthSublayer(0);for(var c=0;c<n.length;c++)a(t,e,r,n[c])}}function i(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s=a.bufferGroups.fill;if(s){var l,u=t.gl,c=r.paint[\\\"fill-pattern\\\"];if(c)l=t.useProgram(\\\"pattern\\\"),o(c,r.paint[\\\"fill-opacity\\\"],i,n,t,l),u.activeTexture(u.TEXTURE0),t.spriteAtlas.bind(u,!0);else{var h=a.paintAttributes.fill[r.id];l=t.useProgram(\\\"fill\\\",h.defines,h.vertexPragmas,h.fragmentPragmas),a.setUniforms(u,\\\"fill\\\",l,r,{zoom:t.transform.zoom})}u.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\\\"fill-translate\\\"],r.paint[\\\"fill-translate-anchor\\\"])),t.enableTileClippingMask(n);for(var f=0;f<s.length;f++){var d=s[f];d.vaos[r.id].bind(u,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),u.drawElements(u.TRIANGLES,d.elementBuffer.length,u.UNSIGNED_SHORT,0)}}}}function a(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s,l=t.gl,u=a.bufferGroups.fill,c=r.paint[\\\"fill-pattern\\\"],h=r.paint[\\\"fill-opacity\\\"],f=r.getPaintProperty(\\\"fill-outline-color\\\");if(c&&!f)s=t.useProgram(\\\"outlinepattern\\\"),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=a.paintAttributes.fill[r.id];s=t.useProgram(\\\"outline\\\",d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,h),a.setUniforms(l,\\\"fill\\\",s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\\\"fill-translate\\\"],r.paint[\\\"fill-translate-anchor\\\"])),c&&o(c,h,i,n,t,s),t.enableTileClippingMask(n);for(var p=0;p<u.length;p++){var m=u[p];m.secondVaos[r.id].bind(l,s,m.layoutVertexBuffer,m.elementBuffer2,m.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*m.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}function o(t,e,r,n,i,a){var o=i.gl,l=i.spriteAtlas.getPosition(t.from,!0),u=i.spriteAtlas.getPosition(t.to,!0);if(l&&u){o.uniform1i(a.u_image,0),o.uniform2fv(a.u_pattern_tl_a,l.tl),o.uniform2fv(a.u_pattern_br_a,l.br),o.uniform2fv(a.u_pattern_tl_b,u.tl),o.uniform2fv(a.u_pattern_br_b,u.br),o.uniform1f(a.u_opacity,e),o.uniform1f(a.u_mix,t.t),o.uniform1f(a.u_tile_units_to_pixels,1/s(r,1,i.transform.tileZoom)),o.uniform2fv(a.u_pattern_size_a,l.size),o.uniform2fv(a.u_pattern_size_b,u.size),o.uniform1f(a.u_scale_a,t.fromScale),o.uniform1f(a.u_scale_b,t.toScale);var c=r.tileSize*Math.pow(2,i.transform.tileZoom-r.coord.z),h=c*(r.coord.x+n.w*Math.pow(2,r.coord.z)),f=c*r.coord.y;o.uniform2f(a.u_pixel_coord_upper,h>>16,f>>16),o.uniform2f(a.u_pixel_coord_lower,65535&h,65535&f),o.activeTexture(o.TEXTURE0),i.spriteAtlas.bind(o,!0)}}var s=t(\\\"../source/pixels_to_tile_units\\\");e.exports=n},{\\\"../source/pixels_to_tile_units\\\":362}],349:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/browser\\\"),i=t(\\\"gl-matrix\\\").mat2,a=t(\\\"../source/pixels_to_tile_units\\\");e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[\\\"line-width\\\"]<=0)){var l=1/n.devicePixelRatio,u=r.paint[\\\"line-blur\\\"]+l,c=r.paint[\\\"line-color\\\"],h=t.transform,f=i.create();i.scale(f,f,[1,Math.cos(h._pitch)]),i.rotate(f,f,t.transform.angle);var d,p,m,v,g,y=Math.sqrt(h.height*h.height/4*(1+h.altitude*h.altitude)),b=h.height/2*Math.tan(h._pitch),x=(y+b)/y-1,_=r.paint[\\\"line-dasharray\\\"],w=r.paint[\\\"line-pattern\\\"];if(_)d=t.useProgram(\\\"linesdfpattern\\\"),s.uniform1f(d.u_linewidth,r.paint[\\\"line-width\\\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\\\"line-gap-width\\\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\\\"line-opacity\\\"]),p=t.lineAtlas.getDash(_.from,\\\"round\\\"===r.layout[\\\"line-cap\\\"]),m=t.lineAtlas.getDash(_.to,\\\"round\\\"===r.layout[\\\"line-cap\\\"]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,m.y),s.uniform1f(d.u_mix,_.t),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\\\"line-offset\\\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f);else if(w){if(v=t.spriteAtlas.getPosition(w.from,!0),g=t.spriteAtlas.getPosition(w.to,!0),!v||!g)return;d=t.useProgram(\\\"linepattern\\\"),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[\\\"line-width\\\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\\\"line-gap-width\\\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform2fv(d.u_pattern_tl_a,v.tl),s.uniform2fv(d.u_pattern_br_a,v.br),s.uniform2fv(d.u_pattern_tl_b,g.tl),s.uniform2fv(d.u_pattern_br_b,g.br),s.uniform1f(d.u_fade,w.t),s.uniform1f(d.u_opacity,r.paint[\\\"line-opacity\\\"]),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\\\"line-offset\\\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f)}else d=t.useProgram(\\\"line\\\"),s.uniform1f(d.u_linewidth,r.paint[\\\"line-width\\\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\\\"line-gap-width\\\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\\\"line-offset\\\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\\\"line-opacity\\\"]);for(var M=0;M<o.length;M++){var k=o[M],A=e.getTile(k),T=A.getBucket(r);if(T){var S=T.bufferGroups.line;if(S){t.enableTileClippingMask(k);var E=t.translatePosMatrix(k.posMatrix,A,r.paint[\\\"line-translate\\\"],r.paint[\\\"line-translate-anchor\\\"]);s.uniformMatrix4fv(d.u_matrix,!1,E);var L=1/a(A,1,t.transform.zoom);if(_){var C=p.width*_.fromScale,z=m.width*_.toScale,I=[1/a(A,C,t.transform.tileZoom),-p.height/2],D=[1/a(A,z,t.transform.tileZoom),-m.height/2],P=t.lineAtlas.width/(256*Math.min(C,z)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_patternscale_a,I),s.uniform2fv(d.u_patternscale_b,D),s.uniform1f(d.u_sdfgamma,P)}else w?(s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_pattern_size_a,[a(A,v.size[0]*w.fromScale,t.transform.tileZoom),g.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(A,g.size[0]*w.toScale,t.transform.tileZoom),g.size[1]])):s.uniform1f(d.u_ratio,L);for(var O=0;O<S.length;O++){var R=S[O];R.vaos[r.id].bind(s,d,R.layoutVertexBuffer,R.elementBuffer),s.drawElements(s.TRIANGLES,3*R.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{\\\"../source/pixels_to_tile_units\\\":362,\\\"../util/browser\\\":425,\\\"gl-matrix\\\":192}],350:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&&n[0].z,s=0;s<n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),i(t,e,r,l)}a.depthFunc(a.LEQUAL)}}function i(t,e,r,n){var i=t.gl;i.disable(i.STENCIL_TEST);var u=e.getTile(n),c=t.transform.calculatePosMatrix(n,e.maxzoom),h=t.useProgram(\\\"raster\\\");i.uniformMatrix4fv(h.u_matrix,!1,c),i.uniform1f(h.u_brightness_low,r.paint[\\\"raster-brightness-min\\\"]),i.uniform1f(h.u_brightness_high,r.paint[\\\"raster-brightness-max\\\"]),i.uniform1f(h.u_saturation_factor,s(r.paint[\\\"raster-saturation\\\"])),i.uniform1f(h.u_contrast_factor,o(r.paint[\\\"raster-contrast\\\"])),i.uniform3fv(h.u_spin_weights,a(r.paint[\\\"raster-hue-rotate\\\"]));var f,d,p=u.source&&u.source.findLoadedParent(n,0,{}),m=l(u,p,r,t.transform);i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,u.texture),i.activeTexture(i.TEXTURE1),p?(i.bindTexture(i.TEXTURE_2D,p.texture),f=Math.pow(2,p.coord.z-u.coord.z),d=[u.coord.x*f%1,u.coord.y*f%1]):(i.bindTexture(i.TEXTURE_2D,u.texture),m[1]=0),i.uniform2fv(h.u_tl_parent,d||[0,0]),i.uniform1f(h.u_scale_parent,f||1),i.uniform1f(h.u_buffer_scale,1),i.uniform1f(h.u_opacity0,m[0]),i.uniform1f(h.u_opacity1,m[1]),i.uniform1i(h.u_image0,0),i.uniform1i(h.u_image1,1);var v=u.boundsBuffer||t.rasterBoundsBuffer;(u.boundsVAO||t.rasterBoundsVAO).bind(i,h,v),i.drawArrays(i.TRIANGLE_STRIP,0,v.length)}function a(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]}function o(t){return t>0?1/(1-t):1+t}function s(t){return t>0?1-1/(1.001-t):-t}function l(t,e,r,n){var i=[1,0],a=r.paint[\\\"raster-fade-duration\\\"];if(t.source&&a>0){var o=(new Date).getTime(),s=(o-t.timeAdded)/a,l=e?(o-e.timeAdded)/a:-1,c=n.coveringZoomLevel(t.source),h=!!e&&Math.abs(e.coord.z-c)>Math.abs(t.coord.z-c);!e||h?(i[0]=u.clamp(s,0,1),i[1]=1-i[0]):(i[0]=u.clamp(1-l,0,1),i[1]=1-i[0])}var f=r.paint[\\\"raster-opacity\\\"];return i[0]*=f,i[1]*=f,i}var u=t(\\\"../util/util\\\"),c=t(\\\"../util/struct_array\\\");e.exports=n,n.RasterBoundsArray=new c({members:[{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2},{name:\\\"a_texture_pos\\\",type:\\\"Int16\\\",components:2}]})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441}],351:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(!t.isOpaquePass){var a=!(r.layout[\\\"text-allow-overlap\\\"]||r.layout[\\\"icon-allow-overlap\\\"]||r.layout[\\\"text-ignore-placement\\\"]||r.layout[\\\"icon-ignore-placement\\\"]),o=t.gl;a?o.disable(o.STENCIL_TEST):o.enable(o.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),o.disable(o.DEPTH_TEST),i(t,e,r,n,!1,r.paint[\\\"icon-translate\\\"],r.paint[\\\"icon-translate-anchor\\\"],r.layout[\\\"icon-rotation-alignment\\\"],r.layout[\\\"icon-rotation-alignment\\\"],r.layout[\\\"icon-size\\\"],r.paint[\\\"icon-halo-width\\\"],r.paint[\\\"icon-halo-color\\\"],r.paint[\\\"icon-halo-blur\\\"],r.paint[\\\"icon-opacity\\\"],r.paint[\\\"icon-color\\\"]),\\n\",\n       \"i(t,e,r,n,!0,r.paint[\\\"text-translate\\\"],r.paint[\\\"text-translate-anchor\\\"],r.layout[\\\"text-rotation-alignment\\\"],r.layout[\\\"text-pitch-alignment\\\"],r.layout[\\\"text-size\\\"],r.paint[\\\"text-halo-width\\\"],r.paint[\\\"text-halo-color\\\"],r.paint[\\\"text-halo-blur\\\"],r.paint[\\\"text-opacity\\\"],r.paint[\\\"text-color\\\"]),o.enable(o.DEPTH_TEST),e.map.showCollisionBoxes&&s(t,e,r,n)}}function i(t,e,r,n,i,o,s,l,u,c,h,f,d,p,m){for(var v=0;v<n.length;v++){var g=e.getTile(n[v]),y=g.getBucket(r);if(y){var b=y.bufferGroups,x=i?b.glyph:b.icon;x.length&&(t.enableTileClippingMask(n[v]),a(t,r,n[v].posMatrix,g,y,x,i,i||y.sdfIcons,!i&&y.iconsNeedLinear,i?y.adjustedTextSize:y.adjustedIconSize,y.fontstack,o,s,l,u,c,h,f,d,p,m))}}}function a(t,e,r,n,i,a,s,u,c,h,f,d,p,m,v,g,y,b,x,_,w){var M,k,A,T=t.gl,S=t.transform,E=\\\"map\\\"===m,L=\\\"map\\\"===v,C=s?24:1,z=g/C;if(L?(k=l(n,1,t.transform.zoom)*z,A=1/Math.cos(S._pitch),M=[k,k]):(k=t.transform.altitude*z,A=1,M=[S.pixelsToGLUnits[0]*k,S.pixelsToGLUnits[1]*k]),s||t.style.sprite.loaded()){var I=t.useProgram(u?\\\"sdf\\\":\\\"icon\\\");if(T.uniformMatrix4fv(I.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(I.u_rotate_with_map,E),T.uniform1i(I.u_pitch_with_map,L),T.uniform2fv(I.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(I.u_texture,0),s){var D=f&&t.glyphSource.getGlyphAtlas(f);if(!D)return;D.updateTexture(T),T.uniform2f(I.u_texsize,D.width/4,D.height/4)}else{var P=t.options.rotating||t.options.zooming,O=1!==z||o.devicePixelRatio!==t.spriteAtlas.pixelRatio||c,R=L||t.transform.pitch;t.spriteAtlas.bind(T,u||P||O||R),T.uniform2f(I.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var F=Math.log(g/h)/Math.LN2||0;T.uniform1f(I.u_zoom,10*(t.transform.zoom-F)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(I.u_fadetexture,1);var j;if(u){var N=.105*C/g/o.devicePixelRatio;if(y){T.uniform1f(I.u_gamma,(1.19*x/z/8+N)*A),T.uniform4fv(I.u_color,b),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,(6-y/z)/8);for(var B=0;B<a.length;B++)j=a[B],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(I.u_gamma,N*A),T.uniform4fv(I.u_color,w),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,.75),T.uniform1f(I.u_pitch,S.pitch/360*2*Math.PI),T.uniform1f(I.u_bearing,S.bearing/360*2*Math.PI),T.uniform1f(I.u_aspect_ratio,S.width/S.height);for(var U=0;U<a.length;U++)j=a[U],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(I.u_opacity,_);for(var V=0;V<a.length;V++)j=a[V],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}}}var o=t(\\\"../util/browser\\\"),s=t(\\\"./draw_collision_debug\\\"),l=t(\\\"../source/pixels_to_tile_units\\\");e.exports=n},{\\\"../source/pixels_to_tile_units\\\":362,\\\"../util/browser\\\":425,\\\"./draw_collision_debug\\\":346}],352:[function(t,e,r){\\\"use strict\\\";function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&&(e=0,this.firstFrame=!1),t=Math.floor(10*t);var r;if(t<this.previousZoom)for(r=t+1;r<=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r>this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r<256;r++){var n=e-this.changeTimes[r],i=n/this.fadeDuration*255;this.opacities[r]=r<=t?this.changeOpacities[r]+i:this.changeOpacities[r]-i}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],353:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(\\\"../util/util\\\");e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(\\\",\\\")+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1;if(this.nextRow+n>this.height)return i.warnOnce(\\\"LineAtlas out of space\\\"),null;for(var a=0,o=0;o<t.length;o++)a+=t[o];for(var s=this.width/a,l=s/2,u=t.length%2==1,c=-r;c<=r;c++)for(var h=this.nextRow+r+c,f=this.width*h,d=u?-t[t.length-1]:0,p=t[0],m=1,v=0;v<this.width;v++){for(;p<v/s;)d=p,p+=t[m],u&&m===t.length-1&&(p+=t[0]),m++;var g,y=Math.abs(v-d*s),b=Math.abs(v-p*s),x=Math.min(y,b),_=m%2==1;if(e){var w=r?c/r*(l+1):0;if(_){var M=l-Math.abs(w);g=Math.sqrt(x*x+M*M)}else g=l-Math.sqrt(x*x+w*w)}else g=(_?1:-1)*x;this.data[3+4*(f+v)]=Math.max(0,Math.min(255,g+128))}var k={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=n,this.dirty=!0,k},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{\\\"../util/util\\\":441}],354:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(\\\"../util/browser\\\"),a=t(\\\"gl-matrix\\\").mat4,o=t(\\\"./frame_history\\\"),s=t(\\\"../source/source_cache\\\"),l=t(\\\"../data/bucket\\\").EXTENT,u=t(\\\"../source/pixels_to_tile_units\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/struct_array\\\"),f=t(\\\"../data/buffer\\\"),d=t(\\\"./vertex_array_object\\\"),p=t(\\\"./draw_raster\\\").RasterBoundsArray,m=t(\\\"./create_uniform_pragmas\\\");e.exports=n,c.extend(n.prototype,t(\\\"./painter/use_program\\\")),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new h({members:[{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new f(r.serialize(),e.serialize(),f.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new f(n.serialize(),e.serialize(),f.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new f(i.serialize(),p.serialize(),f.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n<t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++<<3;e.stencilFunc(e.ALWAYS,a,248);var o=m([{name:\\\"u_color\\\",components:4},{name:\\\"u_opacity\\\",components:1}]),s=this.useProgram(\\\"fill\\\",[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var v={symbol:t(\\\"./draw_symbol\\\"),circle:t(\\\"./draw_circle\\\"),line:t(\\\"./draw_line\\\"),fill:t(\\\"./draw_fill\\\"),raster:t(\\\"./draw_raster\\\"),background:t(\\\"./draw_background\\\"),debug:t(\\\"./draw_debug\\\")};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n<e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i<s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&&o.prepare(),o.isTileClipped&&this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i<a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&&v.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&&(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\\\"background\\\"===r.type||n.length)&&(this.id=r.id,v[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&&!r[1])return t;if(\\\"viewport\\\"===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[u(e,r[0],this.transform.zoom),u(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&&e.length>0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(c.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);e.blendColor(1/8,1/8,1/8,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../source/pixels_to_tile_units\\\":362,\\\"../source/source_cache\\\":366,\\\"../util/browser\\\":425,\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"./create_uniform_pragmas\\\":343,\\\"./draw_background\\\":344,\\\"./draw_circle\\\":345,\\\"./draw_debug\\\":347,\\\"./draw_fill\\\":348,\\\"./draw_line\\\":349,\\\"./draw_raster\\\":350,\\\"./draw_symbol\\\":351,\\\"./frame_history\\\":352,\\\"./painter/use_program\\\":355,\\\"./vertex_array_object\\\":356,\\\"gl-matrix\\\":192}],355:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t.replace(/#pragma mapbox: ([\\\\w]+) ([\\\\w]+) ([\\\\w]+) ([\\\\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(\\\"assert\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"mapbox-gl-shaders\\\"),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var u=this.gl,c=u.createProgram(),h=o[t],f=\\\"#define MAPBOX_GL_JS;\\\\n\\\",d=0;d<e.length;d++)f+=\\\"#define \\\"+e[d]+\\\";\\\\n\\\";var p=u.createShader(u.FRAGMENT_SHADER);u.shaderSource(p,n(f+h.fragmentSource,l)),u.compileShader(p),i(u.getShaderParameter(p,u.COMPILE_STATUS),u.getShaderInfoLog(p)),u.attachShader(c,p);var m=u.createShader(u.VERTEX_SHADER);u.shaderSource(m,n(f+s+h.vertexSource,r)),u.compileShader(m),i(u.getShaderParameter(m,u.COMPILE_STATUS),u.getShaderInfoLog(m)),u.attachShader(c,m),u.linkProgram(c),i(u.getProgramParameter(c,u.LINK_STATUS),u.getProgramInfoLog(c));for(var v={},g=u.getProgramParameter(c,u.ACTIVE_ATTRIBUTES),y=0;y<g;y++){var b=u.getActiveAttrib(c,y);v[b.name]=u.getAttribLocation(c,b.name)}for(var x={},_=u.getProgramParameter(c,u.ACTIVE_UNIFORMS),w=0;w<_;w++){var M=u.getActiveUniform(c,w);x[M.name]=u.getUniformLocation(c,M.name)}return a.extend({program:c,definition:h,attributes:v,numAttributes:g},v,x)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&&(e=e.concat(\\\"OVERDRAW_INSPECTOR\\\"));var a=this._createProgramCached(t,e,r,n);return this.currentProgram!==a&&(i.useProgram(a.program),this.currentProgram=a),a}},{\\\"../../util/util\\\":441,assert:46,\\\"mapbox-gl-shaders\\\":302}],356:[function(t,e,r){\\\"use strict\\\";function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(\\\"assert\\\");e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&&(t.extVertexArrayObject=t.getExtension(\\\"OES_vertex_array_object\\\"));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&&this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l<o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var u=o;u<s;u++)t.enableVertexAttribArray(u);r.bind(t),r.setVertexAttribPointers(t,e),a&&(a.bind(t),a.setVertexAttribPointers(t,e)),n&&n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&&e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&&this.vao&&(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:46}],357:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&&(this.maxzoom=e.maxzoom),e.type&&(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){if(t)return void this.fire(\\\"error\\\",{error:t});this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/evented\\\"),a=t(\\\"../util/util\\\"),o=t(\\\"resolve-url\\\"),s=t(\\\"../data/bucket\\\").EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:\\\"geojson\\\",minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){if(t)return this.fire(\\\"error\\\",{error:t});this.fire(\\\"change\\\")}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;\\\"string\\\"==typeof r?e.url=\\\"undefined\\\"!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+\\\".loadData\\\",e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\\\"load tile\\\",n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\\\"remove tile\\\",{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{\\\"../data/bucket\\\":328,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"resolve-url\\\":500}],358:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r&&(this.loadGeoJSON=r),h.call(this,t,e)}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/ajax\\\"),o=t(\\\"geojson-rewind\\\"),s=t(\\\"./geojson_wrapper\\\"),l=t(\\\"vt-pbf\\\"),u=t(\\\"supercluster\\\"),c=t(\\\"geojson-vt\\\"),h=t(\\\"./vector_tile_worker_source\\\");e.exports=n,n.prototype=i.inherit(h,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=\\\"_geojsonTileLayer\\\";var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):\\\"object\\\"!=typeof n?e(new Error(\\\"Input data is not a valid GeoJSON object.\\\")):(o(n,!0),void this._indexData(n,t,function(r,n){if(r)return e(r);this._geoJSONIndexes[t.source]=n,e(null)}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(\\\"string\\\"!=typeof t.data)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"))}}},_indexData:function(t,e,r){try{e.cluster?r(null,u(e.superclusterOptions).load(t.features)):r(null,c(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{\\\"../util/ajax\\\":424,\\\"../util/util\\\":441,\\\"./geojson_wrapper\\\":359,\\\"./vector_tile_worker_source\\\":370,\\\"geojson-rewind\\\":137,\\\"geojson-vt\\\":141,supercluster:528,\\\"vt-pbf\\\":555}],359:[function(t,e,r){\\\"use strict\\\";function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e<t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(\\\"point-geometry\\\"),o=t(\\\"vector-tile\\\").VectorTileFeature,s=t(\\\"../data/bucket\\\").EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"../data/bucket\\\":328,\\\"point-geometry\\\":483,\\\"vector-tile\\\":549}],360:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,u.getImage(e.url,function(t,r){if(t)return this.fire(\\\"error\\\",{error:t});this.image=r,this.image.addEventListener(\\\"load\\\",function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(\\\"load\\\"),this.map&&this.setCoordinates(e.coordinates)}.bind(this))}var i=t(\\\"../util/util\\\"),a=t(\\\"./tile_coord\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"point-geometry\\\"),l=t(\\\"../util/evented\\\"),u=t(\\\"../util/ajax\\\"),c=t(\\\"../data/bucket\\\").EXTENT,h=t(\\\"../render/draw_raster\\\").RasterBoundsArray,f=t(\\\"../data/buffer\\\"),d=t(\\\"../render/vertex_array_object\\\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&&this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\\\"change\\\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new h;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new f(e.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\\\"loaded\\\"},prepare:function(){if(this._loaded&&this.image&&this.image.complete&&this.tile){var t=this.map.painter,e=t.gl;this._prepared?(e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)):(this.tile.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),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.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\\\"errored\\\",e(null))},serialize:function(){return{type:\\\"image\\\",urls:this.url,coordinates:this.coordinates}}})},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../geo/lng_lat\\\":338,\\\"../render/draw_raster\\\":350,\\\"../render/vertex_array_object\\\":356,\\\"../util/ajax\\\":424,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./tile_coord\\\":368,\\\"point-geometry\\\":483}],361:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/mapbox\\\").normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[\\\"tiles\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"attribution\\\"]);r.vector_layers&&(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{\\\"../util/ajax\\\":424,\\\"../util/browser\\\":425,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441}],362:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../data/bucket\\\");e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{\\\"../data/bucket\\\":328}],363:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}function i(t){for(var e=t[0]||{},r=1;r<t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s<a.length;s++)o.push(a[s])}}return e}var a=t(\\\"./tile_coord\\\");r.rendered=function(t,e,r,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0;c<l.length;c++){var h=l[c];h.tile.featureIndex&&u.push(h.tile.featureIndex.query({queryGeometry:h.queryGeometry,scale:h.scale,tileSize:h.tile.tileSize,bearing:s,params:a},e))}return i(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},o=0;o<r.length;o++){var s=r[o],l=new a(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;i[l]||(i[l]=!0,s.querySourceFeatures(n,e))}return n}},{\\\"./tile_coord\\\":368}],364:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),s(e,function(t,e){if(t)return this.fire(\\\"error\\\",t);i.extend(this,e),this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/ajax\\\"),o=t(\\\"../util/evented\\\"),s=t(\\\"./load_tilejson\\\"),l=t(\\\"../util/mapbox\\\").normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:\\\"xyz\\\",tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:\\\"raster\\\",url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){function r(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=\\\"loaded\\\",e(null)}}var n=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(n,r.bind(this))},abortTile:function(t){t.request&&(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&&this.map.painter.saveTexture(t.texture)}})},{\\\"../util/ajax\\\":424,\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441,\\\"./load_tilejson\\\":361}],365:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/util\\\"),i={vector:t(\\\"../source/vector_tile_source\\\"),raster:t(\\\"../source/raster_tile_source\\\"),geojson:t(\\\"../source/geojson_source\\\"),video:t(\\\"../source/video_source\\\"),image:t(\\\"../source/image_source\\\")};r.create=function(t,e,r){if(e=new i[e.type](t,e,r),e.id!==t)throw new Error(\\\"Expected Source id to be \\\"+t+\\\" instead of \\\"+e.id);return n.bindAll([\\\"load\\\",\\\"abort\\\",\\\"unload\\\",\\\"serialize\\\",\\\"prepare\\\"],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\\\"../source/geojson_source\\\":357,\\\"../source/image_source\\\":360,\\\"../source/raster_tile_source\\\":364,\\\"../source/vector_tile_source\\\":369,\\\"../source/video_source\\\":371,\\\"../util/util\\\":441}],366:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(\\\"load\\\",function(){this.map&&this._source.onAdd&&this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(\\\"load\\\")}.bind(this)).on(\\\"error\\\",function(t){this._sourceErrored=!0,this.fire(\\\"error\\\",t)}.bind(this)).on(\\\"change\\\",function(){this.reload(),this.transform&&this.update(this.transform,this.map&&this.map.style.rasterFadeDuration),this.fire(\\\"change\\\")}.bind(this));this._tiles={},this._cache=new c(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(\\\"./source\\\"),s=t(\\\"./tile\\\"),l=t(\\\"../util/evented\\\"),u=t(\\\"./tile_coord\\\"),c=t(\\\"../util/lru_cache\\\"),h=t(\\\"../geo/coordinate\\\"),f=t(\\\"../util/util\\\"),d=t(\\\"../data/bucket\\\").EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=f.inherit(l,{onAdd:function(t){this.map=t,this._source&&this._source.onAdd&&this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\\\"loaded\\\"!==e.state&&\\\"errored\\\"!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&&this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&&!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];\\\"loading\\\"!==e.state&&(e.state=\\\"reloading\\\"),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){if(e)return t.state=\\\"errored\\\",this.fire(\\\"tile.error\\\",{tile:t,error:e}),void this._source.fire(\\\"tile.error\\\",{tile:t,error:e});t.source=this,t.timeAdded=(new Date).getTime(),this.fire(\\\"tile.load\\\",{tile:t}),this._source.fire(\\\"tile.load\\\",{tile:t})},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z<=t.z||a.coord.z>e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&&Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&&a.coord.z-1>t.z;){var s=a.coord.parent(this.maxzoom).id;a=this._tiles[s],a&&a.isRenderable()&&(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n>=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&&i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=Math.ceil(t.width/t.tileSize)+1,r=Math.ceil(t.height/t.tileSize)+1,n=e*r;this._cache.setMaxSize(Math.floor(5*n))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),c={},h=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r<d.length;r++)i=d[r],a=this.addTile(i),c[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,c)||this.findLoadedParent(i,s,c);for(var p={},m=Object.keys(c),v=0;v<m.length;v++){var g=m[v];i=u.fromID(g),a=this._tiles[g],a&&a.timeAdded>h-(e||0)&&(this.findLoadedChildren(i,l,c)&&(c[g]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)c[y]||(this._coveredTiles[y]=!0);for(y in p)c[y]=!0;var b=f.keysDifference(this._tiles,c);for(r=0;r<b.length;r++)this.removeTile(+b[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped()\\n\",\n       \";if(e=this._tiles[r.id],e||(e=this._cache.get(r.id))&&this._redoPlacement&&this._redoPlacement(e),!e){var n=t.z,i=n>this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(\\\"tile.add\\\",{tile:e}),this._source.fire(\\\"tile.add\\\",{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this.fire(\\\"tile.remove\\\",{tile:e}),this._source.fire(\\\"tile.remove\\\",{tile:e}),e.uses>0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,c=0;c<t.length;c++){var f=t[c];n=Math.min(n,f.column),a=Math.min(a,f.row),o=Math.max(o,f.column),s=Math.max(s,f.row)}for(var p=0;p<r.length;p++){var m=this._tiles[r[p]],v=u.fromID(r[p]),g=[i(v,m.sourceMaxZoom,new h(n,a,l)),i(v,m.sourceMaxZoom,new h(o,s,l))];if(g[0].x<d&&g[0].y<d&&g[1].x>=0&&g[1].y>=0){for(var y=[],b=0;b<t.length;b++)y.push(i(v,m.sourceMaxZoom,t[b]));var x=e[m.coord.id];void 0===x&&(x=e[m.coord.id]={tile:m,coord:v,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-m.coord.z)}),x.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e<t.length;e++){this.getTileByID(t[e]).redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(u.fromID)}})},{\\\"../data/bucket\\\":328,\\\"../geo/coordinate\\\":337,\\\"../util/evented\\\":433,\\\"../util/lru_cache\\\":437,\\\"../util/util\\\":441,\\\"./source\\\":365,\\\"./tile\\\":367,\\\"./tile_coord\\\":368}],367:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=\\\"loading\\\"}function i(t,e){if(e){for(var r={},n=0;n<t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(\\\"../util/util\\\"),o=t(\\\"../data/bucket\\\"),s=t(\\\"../data/feature_index\\\"),l=t(\\\"vector-tile\\\"),u=t(\\\"pbf\\\"),c=t(\\\"../util/vectortile_to_geojson\\\"),h=t(\\\"feature-filter\\\"),f=t(\\\"../symbol/collision_tile\\\"),d=t(\\\"../symbol/collision_box\\\"),p=t(\\\"../symbol/symbol_instances\\\"),m=t(\\\"../symbol/symbol_quads\\\");e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=\\\"loaded\\\",t&&(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new m(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(\\\"unloaded\\\"!==this.state){this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];\\\"symbol\\\"===o.type&&(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){this.buckets[e].destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=\\\"unloaded\\\"},redoPlacement:function(t){function e(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(\\\"tile.load\\\",{tile:this}),this.state=\\\"loaded\\\",this.redoWhenDone&&(this.redoPlacement(t),this.redoWhenDone=!1)}if(\\\"loaded\\\"!==this.state||\\\"reloading\\\"===this.state)return void(this.redoWhenDone=!0);this.state=\\\"reloading\\\",t.dispatcher.send(\\\"redo placement\\\",{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},e.bind(this),this.workerID)},getBucket:function(t){return this.buckets&&this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new u(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=h(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a<r.length;a++){var o=r.feature(a);if(n(o)){var s=new c(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state}}},{\\\"../data/bucket\\\":328,\\\"../data/feature_index\\\":335,\\\"../symbol/collision_box\\\":393,\\\"../symbol/collision_tile\\\":395,\\\"../symbol/symbol_instances\\\":404,\\\"../symbol/symbol_quads\\\":405,\\\"../util/util\\\":441,\\\"../util/vectortile_to_geojson\\\":442,\\\"feature-filter\\\":131,pbf:477,\\\"vector-tile\\\":549}],368:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){l(!isNaN(t)&&t>=0&&t%1==0),l(!isNaN(e)&&e>=0&&e%1==0),l(!isNaN(r)&&r>=0&&r%1==0),isNaN(n)&&(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,(n*=2)<0&&(n=-1*n-1);var i=1<<this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e,r){for(var n,i=\\\"\\\",a=t;a>0;a--)n=1<<a-1,i+=(e&n?1:0)+(r&n?2:0);return i}function a(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function o(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,u=e.dx/e.dy,c=t.dx>0,h=e.dx<0,f=a;f<o;f++){var d=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,p=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),f)}}function s(t,e,r,n,i,s){var l,u=a(t,e),c=a(e,r),h=a(r,t);u.dy>c.dy&&(l=u,u=c,c=l),u.dy>h.dy&&(l=u,u=h,h=l),c.dy>h.dy&&(l=c,c=h,h=l),u.dy&&o(h,u,n,i,s),c.dy&&o(h,c,n,i,s)}var l=t(\\\"assert\\\"),u=t(\\\"whoots-js\\\"),c=t(\\\"../geo/coordinate\\\");e.exports=n,n.prototype.toString=function(){return this.z+\\\"/\\\"+this.x+\\\"/\\\"+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y,i=this.x+r*this.w;return new c(i,n,e)},n.fromID=function(t){var e=t%32,r=1<<e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!=0&&(s=-1*s-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=u.getTileBBox(this.x,this.y,this.z),a=i(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}\\\",Math.min(this.z,e||this.z)).replace(\\\"{x}\\\",this.x).replace(\\\"{y}\\\",\\\"tms\\\"===r?Math.pow(2,this.z)-this.y-1:this.y).replace(\\\"{quadkey}\\\",a).replace(\\\"{bbox-epsg-3857}\\\",n)},n.prototype.parent=function(t){return 0===this.z?null:this.z>t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z>=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var s,l,u;if(i>=0&&i<=a)for(s=t;s<e;s++)l=(s%a+a)%a,u=new n(r,l,i,Math.floor(s/a)),o[u.id]=u}var a=1<<t,o={};return s(e[0],e[1],e[2],0,a,i),s(e[2],e[3],e[0],0,a,i),Object.keys(o).map(function(t){return o[t]})}},{\\\"../geo/coordinate\\\":337,assert:46,\\\"whoots-js\\\":565}],369:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),this._options=a.extend({type:\\\"vector\\\"},e),512!==this.tileSize)throw new Error(\\\"vector tile sources must have a tileSize of 512\\\");o(e,function(t,e){if(t)return void this.fire(\\\"error\\\",t);a.extend(this,e),this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/evented\\\"),a=t(\\\"../util/util\\\"),o=t(\\\"./load_tilejson\\\"),s=t(\\\"../util/mapbox\\\").normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:\\\"xyz\\\",tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?\\\"loading\\\"===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(\\\"reload tile\\\",i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(\\\"load tile\\\",i,r.bind(this))},abortTile:function(t){this.dispatcher.send(\\\"abort tile\\\",{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\\\"remove tile\\\",{uid:t.uid,source:this.id},null,t.workerID)}})},{\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441,\\\"./load_tilejson\\\":361}],370:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.actor=t,this.styleLayers=e,r&&(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(\\\"../util/ajax\\\"),a=t(\\\"vector-tile\\\"),o=t(\\\"pbf\\\"),s=t(\\\"./worker_tile\\\");e.exports=n,n.prototype={loadTile:function(t,e){function r(t,r){return delete this.loading[n][i],t?e(t):r?(a.data=r.tile,a.parse(a.data,this.styleLayers.getLayerFamilies(),this.actor,r.rawTileData,e),this.loaded[n]=this.loaded[n]||{},void(this.loaded[n][i]=a)):e(null,null)}var n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,r.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&&r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},loadVectorData:function(t,e){function r(t,r){if(t)return e(t);var n=new a.VectorTile(new o(new Uint8Array(r)));e(t,{tile:n,rawTileData:r})}var n=i.getArrayBuffer(t.url,r.bind(this));return function(){n.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&&r[i]){var a=r[i],o=a.redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);o.result&&e(null,o.result,o.transferables)}else n&&n[i]&&(n[i].angle=t.angle)}}},{\\\"../util/ajax\\\":424,\\\"./worker_tile\\\":373,pbf:477,\\\"vector-tile\\\":549}],371:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,u.getVideo(e.urls,function(t,r){if(t)return this.fire(\\\"error\\\",{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(\\\"playing\\\",function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(\\\"pause\\\",function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&&(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/util\\\"),a=t(\\\"./tile_coord\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"point-geometry\\\"),l=t(\\\"../util/evented\\\"),u=t(\\\"../util/ajax\\\"),c=t(\\\"../data/bucket\\\").EXTENT,h=t(\\\"../render/draw_raster\\\").RasterBoundsArray,f=t(\\\"../data/buffer\\\"),d=t(\\\"../render/vertex_array_object\\\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\\\"change\\\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new h;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new f(e.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\\\"loaded\\\"},prepare:function(){if(!(this.video.readyState<2)&&this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\\\"errored\\\",e(null))},serialize:function(){return{type:\\\"video\\\",urls:this.urls,coordinates:this.coordinates}}})},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../geo/lng_lat\\\":338,\\\"../render/draw_raster\\\":350,\\\"../render/vertex_array_object\\\":356,\\\"../util/ajax\\\":424,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./tile_coord\\\":368,\\\"point-geometry\\\":483}],372:[function(t,e,r){\\\"use strict\\\";function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new u(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name \\\"'+t+'\\\" already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&&\\\"none\\\"===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(\\\"../util/actor\\\"),o=t(\\\"../style/style_layer\\\"),s=t(\\\"../util/util\\\"),l=t(\\\"./vector_tile_worker_source\\\"),u=t(\\\"./geojson_worker_source\\\");e.exports=function(t){return new n(t)},s.extend(n.prototype,{\\\"set layers\\\":function(t){function e(t){var e=o.create(t,t.ref&&r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a<t.length;a++){var s=t[a];\\\"fill\\\"!==s.type&&\\\"line\\\"!==s.type&&\\\"circle\\\"!==s.type&&\\\"symbol\\\"!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l<n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},\\\"update layers\\\":function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)n=t[r],n.ref&&e(n);for(r in t)n=t[r],n.ref||e(n);this.layerFamilies=i(this.layers)},\\\"load tile\\\":function(t,e){var r=t.type||\\\"vector\\\";this.workerSources[r].loadTile(t,e)},\\\"reload tile\\\":function(t,e){var r=t.type||\\\"vector\\\";this.workerSources[r].reloadTile(t,e)},\\\"abort tile\\\":function(t){var e=t.type||\\\"vector\\\";this.workerSources[e].abortTile(t)},\\\"remove tile\\\":function(t){var e=t.type||\\\"vector\\\";this.workerSources[e].removeTile(t)},\\\"redo placement\\\":function(t,e){var r=t.type||\\\"vector\\\";this.workerSources[r].redoPlacement(t,e)},\\\"load worker source\\\":function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{\\\"../style/style_layer\\\":380,\\\"../util/actor\\\":423,\\\"../util/util\\\":441,\\\"./geojson_worker_source\\\":358,\\\"./vector_tile_worker_source\\\":370}],373:[function(t,e,r){\\\"use strict\\\";function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(\\\"../data/feature_index\\\"),u=t(\\\"../symbol/collision_tile\\\"),c=t(\\\"../data/bucket\\\"),h=t(\\\"../symbol/collision_box\\\"),f=t(\\\"../util/dictionary_coder\\\"),d=t(\\\"../util/util\\\"),p=t(\\\"../symbol/symbol_instances\\\"),m=t(\\\"../symbol/symbol_quads\\\");e.exports=n,n.prototype.parse=function(t,e,r,n,v){function g(t,e){for(var r=0;r<t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&&e[i].features.push(n)}}function y(t){if(t)return v(t);if(2===++N){for(var e=P.length-1;e>=0;e--)b(E,P[e]);x()}}function b(t,e){if(e.populateArrays(A,j,F),\\\"symbol\\\"!==e.type)for(var r=0;r<e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function x(){E.status=\\\"done\\\",E.redoPlacementAfterDone&&(E.redoPlacement(E.angle,E.pitch,null),E.redoPlacementAfterDone=!1);var t=T.serialize(),e=A.serialize(),r=E.collisionBoxArray.serialize(),s=E.symbolInstancesArray.serialize(),l=E.symbolQuadsArray.serialize(),u=[n].concat(t.transferables).concat(e.transferables),c=D.filter(i);v(null,{buckets:c.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(c).concat(u))}this.status=\\\"parsing\\\",this.data=t,this.collisionBoxArray=new h,this.symbolInstancesArray=new p,this.symbolQuadsArray=new m;var _,w,M,k,A=new u(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,A,t.layers),S=new f(t.layers?Object.keys(t.layers).sort():[\\\"_geojsonTileLayer\\\"]),E=this,L={},C={},z=0;for(var I in e)w=e[I][0],w.source===this.source&&(w.ref||w.minzoom&&this.zoom<w.minzoom||w.maxzoom&&this.zoom>=w.maxzoom||w.layout&&\\\"none\\\"===w.layout.visibility||t.layers&&!t.layers[w.sourceLayer]||(k=c.create({layer:w,index:z++,childLayers:e[I],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:S.encode(w.sourceLayer||\\\"_geojsonTileLayer\\\")}),k.createFilter(),L[w.id]=k,t.layers&&(M=w.sourceLayer,C[M]=C[M]||{},C[M][w.id]=k)));if(t.layers)for(M in C)1===w.version&&d.warnOnce('Vector tile source \\\"'+this.source+'\\\" layer \\\"'+M+'\\\" does not use vector tile spec v2 and therefore may have some rendering errors.'),(w=t.layers[M])&&g(w,C[M]);else g(t,L);var D=[],P=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var R in L)k=L[R],0!==k.features.length&&(T.bucketLayerIDs[k.index]=k.childLayers.map(s),D.push(k),\\\"symbol\\\"===k.type?P.push(k):O.push(k));var F={},j={},N=0;if(P.length>0){for(_=P.length-1;_>=0;_--)P[_].updateIcons(F),P[_].updateFont(j);for(var B in j)j[B]=Object.keys(j[B]).map(Number);F=Object.keys(F),r.send(\\\"get glyphs\\\",{uid:this.uid,stacks:j},function(t,e){j=e,y(t)}),F.length?r.send(\\\"get icons\\\",{icons:F},function(t,e){F=e,y(t)}):y()}for(_=O.length-1;_>=0;_--)b(this,O[_]);if(0===P.length)return x()},n.prototype.redoPlacement=function(t,e,r){if(\\\"done\\\"!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new u(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l>=0;l--)s[l].placeFeatures(n,r);var c=n.serialize(),h=s.filter(i);return{result:{buckets:h.map(a),collisionTile:c.data},transferables:o(h).concat(c.transferables)}}},{\\\"../data/bucket\\\":328,\\\"../data/feature_index\\\":335,\\\"../symbol/collision_box\\\":393,\\\"../symbol/collision_tile\\\":395,\\\"../symbol/symbol_instances\\\":404,\\\"../symbol/symbol_quads\\\":405,\\\"../util/dictionary_coder\\\":431,\\\"../util/util\\\":441}],374:[function(t,e,r){\\\"use strict\\\";function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],375:[function(t,e,r){\\\"use strict\\\";function n(t){this.base=t,this.retina=s.devicePixelRatio>1;var e=this.retina?\\\"@2x\\\":\\\"\\\";o.getJSON(l(t,e,\\\".json\\\"),function(t,e){if(t)return void this.fire(\\\"error\\\",{error:t});this.data=e,this.img&&this.fire(\\\"load\\\")}.bind(this)),o.getImage(l(t,e,\\\".png\\\"),function(t,e){if(t)return void this.fire(\\\"error\\\",{error:t});for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i<r.length;i+=4){var a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&&this.fire(\\\"load\\\")}.bind(this))}function i(){}var a=t(\\\"../util/evented\\\"),o=t(\\\"../util/ajax\\\"),s=t(\\\"../util/browser\\\"),l=t(\\\"../util/mapbox\\\").normalizeSpriteURL;e.exports=n,n.prototype=Object.create(a),n.prototype.toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio>1!==this.retina){var t=new n(this.base);t.on(\\\"load\\\",function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&&this.data[t];return e&&this.img?e:new i}},{\\\"../util/ajax\\\":424,\\\"../util/browser\\\":425,\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438}],376:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"csscolorparser\\\").parseCSSColor,i=t(\\\"../util/util\\\"),a=t(\\\"./style_function\\\"),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(\\\"string\\\"==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(\\\"Invalid color \\\"+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(\\\"Invalid color \\\"+e)}},{\\\"../util/util\\\":441,\\\"./style_function\\\":379,csscolorparser:107}],377:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.animationLoop=e||new m,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new u(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},c.bindAll([\\\"_forwardSourceEvent\\\",\\\"_forwardTileEvent\\\",\\\"_forwardLayerEvent\\\",\\\"_redoPlacement\\\"],this),this._resetUpdates();var n=function(t,e){if(t)return void this.fire(\\\"error\\\",{error:t});if(!v.emitErrors(this,v(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&&(this.sprite=new o(e.sprite),this.sprite.on(\\\"load\\\",this.fire.bind(this,\\\"change\\\"))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(\\\"load\\\")}}.bind(this);\\\"string\\\"==typeof t?h.getJSON(f(t),n):d.frame(n.bind(this,null,t)),this.on(\\\"source.load\\\",function(t){var e=t.source;if(e&&e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&&this._validateLayer(n)}})}var i=t(\\\"../util/evented\\\"),a=t(\\\"./style_layer\\\"),o=t(\\\"./image_sprite\\\"),s=t(\\\"../symbol/glyph_source\\\"),l=t(\\\"../symbol/sprite_atlas\\\"),u=t(\\\"../render/line_atlas\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/ajax\\\"),f=t(\\\"../util/mapbox\\\").normalizeStyleURL,d=t(\\\"../util/browser\\\"),p=t(\\\"../util/dispatcher\\\"),m=t(\\\"./animation_loop\\\"),v=t(\\\"./validate_style\\\"),g=t(\\\"../source/source\\\"),y=t(\\\"../source/query_features\\\"),b=t(\\\"../source/source_cache\\\"),x=t(\\\"./style_spec\\\"),_=t(\\\"./style_function\\\");e.exports=n,n.prototype=c.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&&e&&e.vectorLayerIds&&-1===e.vectorLayerIds.indexOf(t.sourceLayer)&&this.fire(\\\"error\\\",{error:new Error('Source layer \\\"'+t.sourceLayer+'\\\" does not exist on source \\\"'+e.id+'\\\" as specified by style layer \\\"'+t.id+'\\\"')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&&!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r<this.stylesheet.layers.length;r++)e=this.stylesheet.layers[r],e.ref||(t=a.create(e),this._layers[t.id]=t,t.on(\\\"error\\\",this._forwardLayerEvent));for(var n=0;n<this.stylesheet.layers.length;n++)if(e=this.stylesheet.layers[n],e.ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(\\\"error\\\",this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e<this._order.length;++e){var r=this._layers[this._order[e]];t&&r.source===t.source||(t=[],t.source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?\\\"update layers\\\":\\\"set layers\\\",this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n<t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&&n.source&&(this.sources[n.source].used=!0)}Math.floor(this.z)!==Math.floor(t)&&this.animationLoop.set(300),this.z=t,this.fire(\\\"zoom\\\")},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&&(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)<Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)>Math.floor(t)&&(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(\\\"Style is not done loading\\\")},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&&this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n<i.length;n++)this._reloadSource(i[n]);for(n=0;n<this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&&this.fire(\\\"change\\\"),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(\\\"There is already a source with this ID\\\");if(!e.type)throw new Error(\\\"The type property must be defined, but the only the following properties were given: \\\"+Object.keys(e)+\\\".\\\");return[\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\"].indexOf(e.type)>=0&&this._handleErrors(v.source,\\\"sources.\\\"+t,e)?this:(e=new b(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(\\\"load\\\",this._forwardSourceEvent).on(\\\"error\\\",this._forwardSourceEvent).on(\\\"change\\\",this._forwardSourceEvent).on(\\\"tile.add\\\",this._forwardTileEvent).on(\\\"tile.load\\\",this._forwardTileEvent).on(\\\"tile.error\\\",this._forwardTileEvent).on(\\\"tile.remove\\\",this._forwardTileEvent).on(\\\"tile.stats\\\",this._forwardTileEvent),this._updates.events.push([\\\"source.add\\\",{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(\\\"There is no source with this ID\\\");var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(\\\"load\\\",this._forwardSourceEvent).off(\\\"error\\\",this._forwardSourceEvent).off(\\\"change\\\",this._forwardSourceEvent).off(\\\"tile.add\\\",this._forwardTileEvent).off(\\\"tile.load\\\",this._forwardTileEvent).off(\\\"tile.error\\\",this._forwardTileEvent).off(\\\"tile.remove\\\",this._forwardTileEvent).off(\\\"tile.stats\\\",this._forwardTileEvent),this._updates.events.push([\\\"source.remove\\\",{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&&this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(v.layer,\\\"layers.\\\"+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&&this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(\\\"error\\\",this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.events.push([\\\"layer.add\\\",{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(\\\"There is no layer with this ID\\\");for(var r in this._layers)this._layers[r].ref===t&&this.removeLayer(r);return e.off(\\\"error\\\",this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([\\\"layer.remove\\\",{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&&(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&&n.maxzoom===r?this:(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&&this._handleErrors(v.filter,\\\"layers.\\\"+r.id+\\\".filter\\\",e)?this:c.deepEqual(r.filter,e)?this:(r.filter=c.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return c.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(c.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);return i.setPaintProperty(e,r,n),!(r&&_.isFunctionDefinition(r)&&\\\"$zoom\\\"!==r.property&&void 0!==r.property)&&a||(this._updates.layers[t]=!0,i.source&&(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||\\\"all\\\"]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return c.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,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:c.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0;i<t.length;i++){var a=t[i][n];if(a)for(var o=0;o<a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){\\n\",\n       \"e&&e.filter&&this._handleErrors(v.filter,\\\"queryRenderedFeatures.filter\\\",e.filter,!0);var i={};if(e&&e.layers)for(var a=0;a<e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var u=this.sources[l],c=y.rendered(u,this._layers,t,e,r,n);s.push(c)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&&e.filter&&this._handleErrors(v.filter,\\\"querySourceFeatures.filter\\\",e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return g.getType(t)?r(new Error('A source type called \\\"'+t+'\\\" already exists.')):(g.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\\\"load worker source\\\",{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?v.throwErrors:v.emitErrors,o=t.call(v,c.extend({key:e,style:this.serialize(),value:r,styleSpec:x},i));return a.call(v,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&&this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(\\\"source.\\\"+t.type,c.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,c.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(\\\"layer.\\\"+t.type,c.extend({layer:{id:t.target.id}},t))},\\\"get sprite json\\\":function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(\\\"load\\\",function(){e(null,{sprite:r.data,retina:r.retina})})},\\\"get icons\\\":function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(\\\"load\\\",function(){n.setSprite(r),n.addIcons(t.icons,e)})},\\\"get glyphs\\\":function(t,e){function r(t,r,n){t&&console.error(t),a[n]=r,0===--i&&e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{\\\"../render/line_atlas\\\":353,\\\"../source/query_features\\\":363,\\\"../source/source\\\":365,\\\"../source/source_cache\\\":366,\\\"../symbol/glyph_source\\\":398,\\\"../symbol/sprite_atlas\\\":403,\\\"../util/ajax\\\":424,\\\"../util/browser\\\":425,\\\"../util/dispatcher\\\":432,\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441,\\\"./animation_loop\\\":374,\\\"./image_sprite\\\":375,\\\"./style_function\\\":379,\\\"./style_layer\\\":380,\\\"./style_spec\\\":387,\\\"./validate_style\\\":389}],378:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.value=s.clone(e),this.isFunction=a.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=\\\"color\\\"===t.type&&this.value?o(this.value):e;if(this.calculate=a[t.function||\\\"piecewise-constant\\\"](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,\\\"piecewise-constant\\\"===t.function&&t.transition&&(this.calculate=i(this.calculate)),!this.isFeatureConstant&&!this.isZoomConstant){this.stopZoomLevels=[];for(var n=[],l=this.value.stops,u=0;u<this.value.stops.length;u++){var c=l[u][0].zoom;this.stopZoomLevels.indexOf(c)<0&&(this.stopZoomLevels.push(c),n.push([c,n.length]))}this.calculateInterpolationT=a.interpolated({stops:n,base:e.base})}}function i(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,u=o%1,c=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),h=1;return o>s.lastIntegerZoom?(n=u+(1-u)*c,h*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-c)*u,a=t({zoom:o},r),i=t({zoom:o+1},r),h/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:h,to:a,toScale:1,t:n}}}var a=t(\\\"./style_function\\\"),o=t(\\\"./parse_color\\\"),s=t(\\\"../util/util\\\");e.exports=n},{\\\"../util/util\\\":441,\\\"./parse_color\\\":376,\\\"./style_function\\\":379}],379:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mapbox-gl-function\\\");r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[\\\"piecewise-constant\\\"]=function(t){var e=n[\\\"piecewise-constant\\\"](t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{\\\"mapbox-gl-function\\\":301}],380:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(\\\"../util/util\\\"),o=t(\\\"./style_transition\\\"),s=t(\\\"./style_declaration\\\"),l=t(\\\"./style_spec\\\"),u=t(\\\"./validate_style\\\"),c=t(\\\"./parse_color\\\"),h=t(\\\"../util/evented\\\");e.exports=n;n.create=function(e,r){return new({background:t(\\\"./style_layer/background_style_layer\\\"),circle:t(\\\"./style_layer/circle_style_layer\\\"),fill:t(\\\"./style_layer/fill_style_layer\\\"),line:t(\\\"./style_layer/line_style_layer\\\"),raster:t(\\\"./style_layer/raster_style_layer\\\"),symbol:t(\\\"./style_layer/symbol_style_layer\\\")}[(r||e).type])(e,r)},n.prototype=a.inherit(h,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[\\\"source-layer\\\"],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[\\\"paint_\\\"+this.type],this._layoutSpecifications=l[\\\"layout_\\\"+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\\\\.(.*))?$/);if(a){var o=a[1]||\\\"\\\";for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=\\\"layers.\\\"+this.id+\\\".layout.\\\"+t;if(this._handleErrors(u.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&&this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=\\\"layers.\\\"+this.id+(r?'[\\\"paint.'+r+'\\\"].':\\\".paint.\\\")+t;if(a.endsWith(t,\\\"-transition\\\"))if(this._paintTransitionOptions[r||\\\"\\\"]||(this._paintTransitionOptions[r||\\\"\\\"]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||\\\"\\\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintTransitionOptions[r||\\\"\\\"][t]=e}else if(this._paintDeclarations[r||\\\"\\\"]||(this._paintDeclarations[r||\\\"\\\"]={}),null===e||void 0===e)delete this._paintDeclarations[r||\\\"\\\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintDeclarations[r||\\\"\\\"][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||\\\"\\\",a.endsWith(t,\\\"-transition\\\")?this._paintTransitionOptions[e]&&this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&&this._paintDeclarations[e][t]&&this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):\\\"color\\\"===n.type&&n.default?c(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){return this._paintTransitions[t].declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&&t<this.minzoom)||(!!(this.maxzoom&&t>=this.maxzoom)||(\\\"none\\\"===this.layout.visibility||0===this.paint[this.type+\\\"-opacity\\\"]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[\\\"\\\"]),o=0;o<t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[\\\"\\\"][t],o=0;o<e.length;o++){var s=this._paintDeclarations[e[o]];s&&s[t]&&(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){e[\\\"\\\"===r?\\\"paint\\\":\\\"paint.\\\"+r]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&&t.includeRefProperties)&&a.extend(e,{type:this.type,source:this.source,\\\"source-layer\\\":this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&&!(\\\"layout\\\"===e&&!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,u=this._paintSpecifications[t];if(null!==e&&void 0!==e||(e=new s(u,u.default)),!l||l.declaration.json!==e.json){var c=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+\\\"-transition\\\")),h=this._paintTransitions[t]=new o(u,e,l,c);h.instant()||(h.loopID=i.set(h.endTime-Date.now())),l&&i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&&e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return u.emitErrors(this,t.call(u,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./parse_color\\\":376,\\\"./style_declaration\\\":378,\\\"./style_layer/background_style_layer\\\":381,\\\"./style_layer/circle_style_layer\\\":382,\\\"./style_layer/fill_style_layer\\\":383,\\\"./style_layer/line_style_layer\\\":384,\\\"./style_layer/raster_style_layer\\\":385,\\\"./style_layer/symbol_style_layer\\\":386,\\\"./style_spec\\\":387,\\\"./style_transition\\\":388,\\\"./validate_style\\\":389}],381:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],382:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],383:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.getPaintValue.call(this,\\\"fill-color\\\",e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.getPaintValueStopZoomLevels.call(this,\\\"fill-color\\\"):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.getPaintInterpolationT.call(this,\\\"fill-color\\\",e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.isPaintValueFeatureConstant.call(this,\\\"fill-color\\\"):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.isPaintValueZoomConstant.call(this,\\\"fill-color\\\"):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],384:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&&\\\"line-dasharray\\\"===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&&(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(\\\"line-width\\\",e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],385:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],386:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[\\\"text-opacity\\\"]||!this.layout[\\\"text-field\\\"],e=0===this.paint[\\\"icon-opacity\\\"]||!this.layout[\\\"icon-image\\\"];return!(!t||!e)},getLayoutValue:function(t,e,r){return(\\\"text-rotation-alignment\\\"!==t||\\\"line\\\"!==this.getLayoutValue(\\\"symbol-placement\\\",e,r)||this.getLayoutProperty(\\\"text-rotation-alignment\\\"))&&(\\\"icon-rotation-alignment\\\"!==t||\\\"line\\\"!==this.getLayoutValue(\\\"symbol-placement\\\",e,r)||this.getLayoutProperty(\\\"icon-rotation-alignment\\\"))?\\\"text-pitch-alignment\\\"!==t||this.getLayoutProperty(\\\"text-pitch-alignment\\\")?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(\\\"text-rotation-alignment\\\"):\\\"map\\\"}})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],387:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"mapbox-gl-style-spec/reference/latest.min\\\")},{\\\"mapbox-gl-style-spec/reference/latest.min\\\":324}],388:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),\\\"piecewise-constant\\\"===t.function&&t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&&r.endTime<=this.startTime&&delete r.oldTransition}function i(t,e,r){return void 0===(t&&t.to)||void 0===(e&&e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(\\\"../util/util\\\"),o=t(\\\"../util/interpolate\\\");e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&&0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n<this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{\\\"../util/interpolate\\\":435,\\\"../util/util\\\":441}],389:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"mapbox-gl-style-spec/lib/validate_style.min\\\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0;r<e.length;r++)t.fire(\\\"error\\\",{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r<e.length;r++)throw new Error(e[r].message)}},{\\\"mapbox-gl-style-spec/lib/validate_style.min\\\":323}],390:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&&(this.segment=n)}var i=t(\\\"point-geometry\\\");e.exports=n,n.prototype=Object.create(i.prototype),n.prototype.clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{\\\"point-geometry\\\":483}],391:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var d=c.angleTo(h)-h.angleTo(f);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),u+=d;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}e.exports=n},{}],392:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var l,u=t[s],c=0;c<u.length-1;c++){var h=u[c],f=u[c+1];h.x<e&&f.x<e||(h.x<e?h=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round()),h.y<r&&f.y<r||(h.y<r?h=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),l&&h.equals(l[l.length-1])||(l=[h],o.push(l)),l.push(f)))))}return o}var i=t(\\\"point-geometry\\\");e.exports=n},{\\\"point-geometry\\\":483}],393:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/struct_array\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"point-geometry\\\"),o=e.exports=new n({members:[{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:\\\"Float32\\\",name:\\\"maxScale\\\"},{type:\\\"Uint32\\\",name:\\\"featureIndex\\\"},{type:\\\"Uint16\\\",name:\\\"sourceLayerIndex\\\"},{type:\\\"Uint16\\\",name:\\\"bucketIndex\\\"},{type:\\\"Int16\\\",name:\\\"bbox0\\\"},{type:\\\"Int16\\\",name:\\\"bbox1\\\"},{type:\\\"Int16\\\",name:\\\"bbox2\\\"},{type:\\\"Int16\\\",name:\\\"bbox3\\\"},{type:\\\"Float32\\\",name:\\\"placementScale\\\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"point-geometry\\\":483}],394:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,u){var m=f-h,v=p-d;if(m>0)if(m=Math.max(10*s,m),c){var g=e[r.segment+1].sub(e[r.segment])._unit()._mult(v),y=[r.sub(g),r.add(g)];this._addLineCollisionBoxes(t,y,r,0,v,m,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,v,m,n,i,a)}else t.emplaceBack(r.x,r.y,d,h,p,f,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var u=a/2,c=Math.floor(i/u),h=-a/2,f=this.boxes,d=r,p=n+1,m=h;do{if(--p<0)return f;m-=e[p].dist(d),d=e[p]}while(m>-i/2);for(var v=e[p].dist(e[p+1]),g=0;g<c;g++){for(var y=-i/2+g*u;m+v<y;){if(m+=v,++p+1>=e.length)return f;v=e[p].dist(e[p+1])}var b=y-m,x=e[p],_=e[p+1],w=_.sub(x)._unit()._mult(b)._add(x)._round(),M=Math.max(Math.abs(y-h)-u/2,0),k=i/2/M;t.emplaceBack(w.x,w.y,-a/2,-a/2,a/2,a/2,k,o,s,l,0,0,0,0,0)}return f}},{}],395:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(\\\"object\\\"==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();r.emplaceBack(0,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(\\\"point-geometry\\\"),a=t(\\\"../data/bucket\\\").EXTENT,o=t(\\\"grid-index\\\");e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l<t.boxEndIndex;l++){var u=n.get(l),c=u.anchorPoint._matMult(o),h=c.x,f=c.y,d=h+u.x1,p=f+u.y1*s,m=h+u.x2,v=f+u.y2*s;if(u.bbox0=d,u.bbox1=p,u.bbox2=m,u.bbox3=v,!e)for(var g=this.grid.query(d,p,m,v),y=0;y<g.length;y++){var b=n.get(g[y]),x=b.anchorPoint._matMult(o);if((a=this.getPlacementScale(a,c,u,x,b))>=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(u.x1,u.y1).matMult(w),k=new i(u.x2,u.y1).matMult(w),A=new i(u.x1,u.y2).matMult(w),T=new i(u.x2,u.y2).matMult(w);_=this.tempCollisionBox,_.anchorPointX=u.anchorPoint.x,_.anchorPointY=u.anchorPoint.y,_.x1=Math.min(M.x,k.x,A.x,T.x),_.y1=Math.min(M.y,k.x,A.x,T.x),_.x2=Math.max(M.x,k.x,A.x,T.x),_.y2=Math.max(M.y,k.x,A.x,T.x),_.maxScale=u.maxScale}else _=u;for(var S=0;S<this.edges.length;S++){var E=this.edges[S];if((a=this.getPlacementScale(a,u.anchorPoint,_,E.anchorPoint,E))>=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,u=this.rotationMatrix,c=new i(t,e)._matMult(u),h=this.tempCollisionBox;h.anchorX=c.x,h.anchorY=c.y,h.x1=0,h.y1=0,h.x2=r-t,h.y2=n-e,h.maxScale=a,a=h.maxScale;for(var f=[c.x+h.x1/a,c.y+h.y1/a*this.yStretch,c.x+h.x2/a,c.y+h.y2/a*this.yStretch],d=this.grid.query(f[0],f[1],f[2],f[3]),p=this.ignoredGrid.query(f[0],f[1],f[2],f[3]),m=0;m<p.length;m++)d.push(p[m]);for(var v=0;v<d.length;v++){var g=l.get(d[v]),y=g.sourceLayerIndex,b=g.featureIndex;if(void 0===o[y]&&(o[y]={}),!o[y][b]){var x=g.anchorPoint.matMult(u);this.getPlacementScale(this.minScale,c,h,x,g)>=a&&(o[y][b]=!0,s.push(d[v]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,u=(i.y1-r.y2)*this.yStretch/o,c=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&&(s=l=1),(isNaN(u)||isNaN(c))&&(u=c=1);var h=Math.min(Math.max(s,l),Math.max(u,c)),f=i.maxScale,d=r.maxScale;return h>f&&(h=f),h>d&&(h=d),h>t&&h>=i.placementScale&&(t=h),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a<t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e<this.maxScale&&n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{\\\"../data/bucket\\\":328,\\\"grid-index\\\":286,\\\"point-geometry\\\":483}],396:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a,o,s,l,u){var c=n?.6*o*s:0,h=Math.max(n?n.right-n.left:0,a?a.right-a.left:0),f=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;e-h*s<e/4&&(e=h*s+e/4);var d=2*o;return i(t,f?e/2*l%e:(h/2+d)*s*l%e,e,c,r,h*s,f,!1,u)}function i(t,e,r,n,l,u,c,h,f){for(var d=u/2,p=0,m=0;m<t.length-1;m++)p+=t[m].dist(t[m+1]);for(var v=0,g=e-r,y=[],b=0;b<t.length-1;b++){for(var x=t[b],_=t[b+1],w=x.dist(_),M=_.angleTo(x);g+r<v+w;){g+=r;var k=(g-v)/w,A=a(x.x,_.x,k),T=a(x.y,_.y,k);if(A>=0&&A<f&&T>=0&&T<f&&g-d>=0&&g+d<=p){var S=new o(A,T,M,b)._round();n&&!s(t,S,u,n,l)||y.push(S)}}v+=w}return h||y.length||c||(y=i(t,v/2,r,n,l,u,c,!0,f)),y}var a=t(\\\"../util/interpolate\\\"),o=t(\\\"../symbol/anchor\\\"),s=t(\\\"./check_max_angle\\\");e.exports=n},{\\\"../symbol/anchor\\\":390,\\\"../util/interpolate\\\":435,\\\"./check_max_angle\\\":391}],397:[function(t,e,r){\\\"use strict\\\";function n(){this.width=o,this.height=o,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(\\\"shelf-pack\\\"),a=t(\\\"../util/util\\\"),o=128;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\\\"#\\\"),e=t[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\\\"#\\\"),e=t[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+\\\"#\\\"+r.id;if(this.index[i])return this.ids[i].indexOf(t)<0&&this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=o+2,u=s+2;l+=4-l%4,u+=4-u%4;var c=this.bin.packOne(l,u);if(c||(this.resize(),c=this.bin.packOne(l,u)),!c)return a.warnOnce(\\\"glyph bitmap overflow\\\"),null;this.index[i]=c,this.ids[i]=[t];for(var h=this.data,f=r.bitmap,d=0;d<s;d++)for(var p=this.width*(c.y+d+1)+c.x+1,m=o*d,v=0;v<o;v++)h[p+v]=f[m+v];return this.dirty=!0,c},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t>=2048||e>=2048)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n<e;n++){var i=new Uint8Array(this.data.buffer,e*n,t);new Uint8Array(r,e*n*4,t).set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),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),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{\\\"../util/util\\\":441,\\\"shelf-pack\\\":513}],398:[function(t,e,r){\\\"use strict\\\";function n(t){this.url=t&&o(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){this.advance=t.advance,this.left=t.left-r-1,this.top=t.top+r+1,this.rect=e}function a(t,e,r,n){return n=n||\\\"abc\\\",r.replace(\\\"{s}\\\",n[t.length%n.length]).replace(\\\"{fontstack}\\\",t).replace(\\\"{range}\\\",e)}var o=t(\\\"../util/mapbox\\\").normalizeGlyphsURL,s=t(\\\"../util/ajax\\\").getArrayBuffer,l=t(\\\"../util/glyphs\\\"),u=t(\\\"../symbol/glyph_atlas\\\"),c=t(\\\"pbf\\\");e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&&(this.stacks[t]={}),void 0===this.atlases[t]&&(this.atlases[t]=new u);for(var a,o={},s=this.stacks[t],l=this.atlases[t],c={},h=0,f=0;f<e.length;f++){var d=e[f];if(a=Math.floor(d/256),s[a]){var p=s[a].glyphs[d],m=l.addGlyph(r,t,p,3);p&&(o[d]=new i(p,m,3))}else void 0===c[a]&&(c[a]=[],h++),c[a].push(d)}h||n(void 0,o,t);var v=function(e,a,s){if(!e)for(var u=this.stacks[t][a]=s.stacks[0],f=0;f<c[a].length;f++){var d=c[a][f],p=u.glyphs[d],m=l.addGlyph(r,t,p,3);p&&(o[d]=new i(p,m,3))}--h||n(void 0,o,t)}.bind(this);for(var g in c)this.loadRange(t,g,v)},n.prototype.loadRange=function(t,e,r){if(256*e>65535)return r(\\\"glyphs > 65535 not supported\\\");void 0===this.loading[t]&&(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];var i=256*e+\\\"-\\\"+(256*e+255),o=a(t,i,this.url);s(o,function(t,r){for(var i=!t&&new l(new c(new Uint8Array(r))),a=0;a<n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{\\\"../symbol/glyph_atlas\\\":397,\\\"../util/ajax\\\":424,\\\"../util/glyphs\\\":434,\\\"../util/mapbox\\\":438,pbf:477}],399:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){function n(n){c.push(t[n]),h.push(r[n]),f.push(e[n]),d++}function i(t,e,r){var n=u[t];return delete u[t],u[e]=n,h[n][0].pop(),h[n][0]=h[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,h[n][0].shift(),h[n][0]=r[0].concat(h[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\\\":\\\"+n.x+\\\":\\\"+n.y}var s,l={},u={},c=[],h=[],f=[],d=0;for(s=0;s<t.length;s++){var p=r[s],m=e[s];if(m){var v=o(m,p),g=o(m,p,!0);if(v in u&&g in l&&u[v]!==l[g]){var y=a(v,g,p),b=i(v,g,h[y]);delete l[v],delete u[g],u[o(m,h[b],!0)]=b,h[y]=null}else v in u?i(v,g,p):g in l?a(v,g,p):(n(s),l[v]=d-1,u[g]=d-1)}else n(s)}return{features:c,textFeatures:f,geometries:h}}},{}],400:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=u}function i(t,e,r,i,a,o,u,c,h){var f,d,p,m,v=e.image.rect,g=a.layout,y=e.left-1,b=y+v.w/e.image.pixelRatio,x=e.top-1,_=x+v.h/e.image.pixelRatio;if(\\\"none\\\"!==g[\\\"icon-text-fit\\\"]&&u){var w=b-y,M=_-x,k=g[\\\"text-size\\\"]/24,A=u.left*k,T=u.right*k,S=u.top*k,E=u.bottom*k,L=T-A,C=E-S,z=g[\\\"icon-text-fit-padding\\\"][0],I=g[\\\"icon-text-fit-padding\\\"][1],D=g[\\\"icon-text-fit-padding\\\"][2],P=g[\\\"icon-text-fit-padding\\\"][3],O=\\\"width\\\"===g[\\\"icon-text-fit\\\"]?.5*(C-M):0,R=\\\"height\\\"===g[\\\"icon-text-fit\\\"]?.5*(L-w):0,F=\\\"width\\\"===g[\\\"icon-text-fit\\\"]||\\\"both\\\"===g[\\\"icon-text-fit\\\"]?L:w,j=\\\"height\\\"===g[\\\"icon-text-fit\\\"]||\\\"both\\\"===g[\\\"icon-text-fit\\\"]?C:M;f=new s(A+R-P,S+O-z),d=new s(A+R+I+F,S+O-z),p=new s(A+R+I+F,S+O+D+j),m=new s(A+R-P,S+O+D+j)}else f=new s(y,x),d=new s(b,x),p=new s(b,_),m=new s(y,_);var N=a.getLayoutValue(\\\"icon-rotate\\\",c,h)*Math.PI/180;if(o){var B=i[t.segment];if(t.y===B.y&&t.x===B.x&&t.segment+1<i.length){var U=i[t.segment+1];N+=Math.atan2(t.y-U.y,t.x-U.x)+Math.PI}else N+=Math.atan2(t.y-B.y,t.x-B.x)}if(N){var V=Math.sin(N),H=Math.cos(N),q=[H,-V,V,H];f=f.matMult(q),d=d.matMult(q),m=m.matMult(q),p=p.matMult(q)}return[new n(new s(t.x,t.y),f,d,m,p,e.image.rect,0,0,l,1/0)]}function a(t,e,r,i,a,u){for(var c=a.layout[\\\"text-rotate\\\"]*Math.PI/180,h=a.layout[\\\"text-keep-upright\\\"],f=e.positionedGlyphs,d=[],p=0;p<f.length;p++){var m=f[p],v=m.glyph,g=v.rect;if(g){var y,b=(m.x+v.advance/2)*r,x=l;u?(y=[],x=o(y,t,b,i,t.segment,!0),h&&(x=Math.min(x,o(y,t,b,i,t.segment,!1)))):y=[{anchorPoint:new s(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:l}];for(var _=m.x+v.left,w=m.y-v.top,M=_+g.w,k=w+g.h,A=new s(_,w),T=new s(M,w),S=new s(_,k),E=new s(M,k),L=0;L<y.length;L++){var C=y[L],z=A,I=T,D=S,P=E;if(c){var O=Math.sin(c),R=Math.cos(c),F=[R,-O,O,R];z=z.matMult(F),I=I.matMult(F),D=D.matMult(F),P=P.matMult(F)}var j=Math.max(C.minScale,x),N=(t.angle+C.offset+2*Math.PI)%(2*Math.PI),B=(C.angle+C.offset+2*Math.PI)%(2*Math.PI);d.push(new n(C.anchorPoint,z,I,D,P,g,N,B,j,C.maxScale))}}}return d}function o(t,e,r,n,i,a){var o=!a;r<0&&(a=!a),a&&i++;var u=new s(e.x,e.y),c=n[i],h=1/0;r=Math.abs(r);for(var f=l;;){var d=u.dist(c),p=r/d,m=Math.atan2(c.y-u.y,c.x-u.x);if(a||(m+=Math.PI),t.push({anchorPoint:u,offset:o?Math.PI:0,minScale:p,maxScale:h,angle:(m+2*Math.PI)%(2*Math.PI)}),p<=f)break;for(u=c;u.equals(c);)if(i+=a?1:-1,!(c=n[i]))return p;var v=c.sub(u)._unit();u=u.sub(v._mult(d)),h=p}return f}var s=t(\\\"point-geometry\\\");e.exports={getIconQuads:i,getGlyphQuads:a,SymbolQuad:n};var l=.5},{\\\"point-geometry\\\":483}],401:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=[],a=0,o=t.length;a<o;a++){var s=i(t[a].properties,e[\\\"text-field\\\"]);if(s){s=s.toString();var l=e[\\\"text-transform\\\"];\\\"uppercase\\\"===l?s=s.toLocaleUpperCase():\\\"lowercase\\\"===l&&(s=s.toLocaleLowerCase());for(var u=0;u<s.length;u++)r[s.charCodeAt(u)]=!0;n[a]=s}else n[a]=null}return n}var i=t(\\\"../util/token\\\");e.exports=n},{\\\"../util/token\\\":440}],402:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}function a(t,e,r,a,s,l,u,c,h){for(var f=[],d=new i(f,t,h[1],h[1],h[0],h[0]),p=0,m=0;m<t.length;m++){var v=t.charCodeAt(m),g=e[v];g&&(f.push(new n(v,p,-17,g)),p+=g.advance+c)}return!!f.length&&(o(d,e,a,r,s,l,u,h),d)}function o(t,e,r,n,i,a,o,u){var c=null,d=0,p=0,m=0,v=0,g=t.positionedGlyphs;if(n)for(var y=0;y<g.length;y++){var b=g[y];if(b.x-=d,b.y+=r*m,b.x>n&&null!==c){var x=g[c+1].x;v=Math.max(x,v);for(var _=c+1;_<=y;_++)g[_].y+=r,g[_].x-=x;if(o){var w=c;h[g[c].codePoint]&&w--,s(g,e,p,w,o)}p=c+1,c=null,d+=x,m++}f[b.codePoint]&&(c=y)}var M=g[g.length-1],k=M.x+e[M.codePoint].advance;v=Math.max(v,k);var A=(m+1)*r;s(g,e,p,g.length-1,o),l(g,o,i,a,v,r,m,u),t.top+=-a*A,t.bottom=t.top+A,t.left+=-i*v,t.right=t.left+v}function s(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s<=n;s++)t[s].x-=o}\\n\",\n       \"function l(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],u=(-n*(o+1)+.5)*a+s[1],c=0;c<t.length;c++)t[c].x+=l,t[c].y+=u}function u(t,e){if(!t||!t.rect)return null;var r=e[\\\"icon-offset\\\"][0],n=e[\\\"icon-offset\\\"][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2;return new c(t,o,o+t.height,i,a)}function c(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}e.exports={shapeText:a,shapeIcon:u};var h={32:!0,8203:!0},f={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],403:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.width=t,this.height=e,this.bin=new o(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}function i(t,e,r,n,i,a,o,s,l,u,c){var h,f,d=n*e+r,p=s*a+o;if(c)for(p-=a,f=-1;f<=u;f++,d=((f+u)%u+n)*e+r,p+=a)for(h=-1;h<=l;h++)i[p+h]=t[d+(h+l)%l];else for(f=0;f<u;f++,d+=e,p+=a)for(h=0;h<l;h++)i[p+h]=t[d+h]}function a(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}var o=t(\\\"shelf-pack\\\"),s=t(\\\"../util/browser\\\"),l=t(\\\"../util/util\\\");e.exports=n,n.prototype.allocateImage=function(t,e){t/=this.pixelRatio,e/=this.pixelRatio;var r=t+2+(4-(t+2)%4),n=e+2+(4-(e+2)%4),i=this.bin.packOne(r,n);return i||(l.warnOnce(\\\"SpriteAtlas out of space.\\\"),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new a(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&&r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio;return{size:[r.width,r.height],tl:[(n.x+1)/this.width,(n.y+1)/this.height],br:[(n.x+1+i)/this.width,(n.y+1+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r<this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var a=this.data;i(n,this.sprite.img.width,e.x,e.y,a,this.width*this.pixelRatio,(t.x+1)*this.pixelRatio,(t.y+1)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&&(this.pixelRatio=s.devicePixelRatio>1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r<t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&&(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&&(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{\\\"../util/browser\\\":425,\\\"../util/util\\\":441,\\\"shelf-pack\\\":513}],404:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/struct_array\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"point-geometry\\\"),o=e.exports=new n({members:[{type:\\\"Uint16\\\",name:\\\"textBoxStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"textBoxEndIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconBoxStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconBoxEndIndex\\\"},{type:\\\"Uint16\\\",name:\\\"glyphQuadStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"glyphQuadEndIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconQuadStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconQuadEndIndex\\\"},{type:\\\"Int16\\\",name:\\\"anchorPointX\\\"},{type:\\\"Int16\\\",name:\\\"anchorPointY\\\"},{type:\\\"Int8\\\",name:\\\"index\\\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"point-geometry\\\":483}],405:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/struct_array\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"point-geometry\\\"),o=t(\\\"./quads\\\").SymbolQuad,s=e.exports=new n({members:[{type:\\\"Int16\\\",name:\\\"anchorPointX\\\"},{type:\\\"Int16\\\",name:\\\"anchorPointY\\\"},{type:\\\"Float32\\\",name:\\\"tlX\\\"},{type:\\\"Float32\\\",name:\\\"tlY\\\"},{type:\\\"Float32\\\",name:\\\"trX\\\"},{type:\\\"Float32\\\",name:\\\"trY\\\"},{type:\\\"Float32\\\",name:\\\"blX\\\"},{type:\\\"Float32\\\",name:\\\"blY\\\"},{type:\\\"Float32\\\",name:\\\"brX\\\"},{type:\\\"Float32\\\",name:\\\"brY\\\"},{type:\\\"Int16\\\",name:\\\"texH\\\"},{type:\\\"Int16\\\",name:\\\"texW\\\"},{type:\\\"Int16\\\",name:\\\"texX\\\"},{type:\\\"Int16\\\",name:\\\"texY\\\"},{type:\\\"Float32\\\",name:\\\"anchorAngle\\\"},{type:\\\"Float32\\\",name:\\\"glyphAngle\\\"},{type:\\\"Float32\\\",name:\\\"maxScale\\\"},{type:\\\"Float32\\\",name:\\\"minScale\\\"}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"./quads\\\":400,\\\"point-geometry\\\":483}],406:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/dom\\\"),i=t(\\\"point-geometry\\\"),a={scrollZoom:t(\\\"./handler/scroll_zoom\\\"),boxZoom:t(\\\"./handler/box_zoom\\\"),dragRotate:t(\\\"./handler/drag_rotate\\\"),dragPan:t(\\\"./handler/drag_pan\\\"),keyboard:t(\\\"./handler/keyboard\\\"),doubleClickZoom:t(\\\"./handler/dblclick_zoom\\\"),touchZoomRotate:t(\\\"./handler/touch_zoom_rotate\\\")};e.exports=function(t,e){function r(t){g(\\\"mouseout\\\",t)}function o(e){t.stop(),_=n.mousePos(b,e),g(\\\"mousedown\\\",e)}function s(e){var r=t.dragRotate&&t.dragRotate.isActive();x&&!r&&g(\\\"contextmenu\\\",x),x=null,g(\\\"mouseup\\\",e)}function l(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==b;)r=r.parentNode;r===b&&g(\\\"mousemove\\\",e)}}function u(e){t.stop(),y(\\\"touchstart\\\",e),!e.touches||e.touches.length>1||(w?(clearTimeout(w),w=null,g(\\\"dblclick\\\",e)):w=setTimeout(d,300))}function c(t){y(\\\"touchmove\\\",t)}function h(t){y(\\\"touchend\\\",t)}function f(t){y(\\\"touchcancel\\\",t)}function d(){w=null}function p(t){n.mousePos(b,t).equals(_)&&g(\\\"click\\\",t)}function m(t){g(\\\"dblclick\\\",t),t.preventDefault()}function v(t){x=t,t.preventDefault()}function g(e,r){var i=n.mousePos(b,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function y(e,r){var a=n.touchPos(b,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var b=t.getCanvasContainer(),x=null,_=null,w=null;for(var M in a)t[M]=new a[M](t,e),e.interactive&&e[M]&&t[M].enable();b.addEventListener(\\\"mouseout\\\",r,!1),b.addEventListener(\\\"mousedown\\\",o,!1),b.addEventListener(\\\"mouseup\\\",s,!1),b.addEventListener(\\\"mousemove\\\",l,!1),b.addEventListener(\\\"touchstart\\\",u,!1),b.addEventListener(\\\"touchend\\\",h,!1),b.addEventListener(\\\"touchmove\\\",c,!1),b.addEventListener(\\\"touchcancel\\\",f,!1),b.addEventListener(\\\"click\\\",p,!1),b.addEventListener(\\\"dblclick\\\",m,!1),b.addEventListener(\\\"contextmenu\\\",v,!1)}},{\\\"../util/dom\\\":427,\\\"./handler/box_zoom\\\":412,\\\"./handler/dblclick_zoom\\\":413,\\\"./handler/drag_pan\\\":414,\\\"./handler/drag_rotate\\\":415,\\\"./handler/keyboard\\\":416,\\\"./handler/scroll_zoom\\\":417,\\\"./handler/touch_zoom_rotate\\\":418,\\\"point-geometry\\\":483}],407:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/util\\\"),i=t(\\\"../util/interpolate\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"../geo/lng_lat_bounds\\\"),l=t(\\\"point-geometry\\\"),u=e.exports=function(){};n.extend(u.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),u=a.project(t.getSouthEast()),c=u.sub(o),h=(a.width-2*e.padding-2*Math.abs(i.x))/c.x,f=(a.height-2*e.padding-2*Math.abs(i.y))/c.y;return e.center=a.unproject(o.add(u).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(h,f)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\\\"zoom\\\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),\\\"center\\\"in t&&(r.center=o.convert(t.center)),\\\"bearing\\\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\\\"pitch\\\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\\\"movestart\\\",e).fire(\\\"move\\\",e),n&&this.fire(\\\"zoomstart\\\",e).fire(\\\"zoom\\\",e).fire(\\\"zoomend\\\",e),i&&this.fire(\\\"rotate\\\",e),a&&this.fire(\\\"pitch\\\",e),this.fire(\\\"moveend\\\",e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,u=l.convert(t.offset),c=this.getZoom(),h=this.getBearing(),f=this.getPitch(),d=\\\"zoom\\\"in t?+t.zoom:c,p=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,h):h,m=\\\"pitch\\\"in t?+t.pitch:f;\\\"center\\\"in t?(r=o.convert(t.center),a=s.centerPoint.add(u)):\\\"around\\\"in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(u),r=s.pointLocation(a));var v=s.locationPoint(r);return!1===t.animate&&(t.duration=0),this.zooming=d!==c,this.rotating=h!==p,this.pitching=m!==f,t.noMoveStart||this.fire(\\\"movestart\\\",e),this.zooming&&this.fire(\\\"zoomstart\\\",e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(s.zoom=i(c,d,t)),this.rotating&&(s.bearing=i(h,p,t)),this.pitching&&(s.pitch=i(f,m,t)),s.setLocationAtPoint(r,v.add(a.sub(v)._mult(t))),this.fire(\\\"move\\\",e),this.zooming&&this.fire(\\\"zoom\\\",e),this.rotating&&this.fire(\\\"rotate\\\",e),this.pitching&&this.fire(\\\"pitch\\\",e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\\\"zoomend\\\",t),this.fire(\\\"moveend\\\",t)},flyTo:function(t,e){function r(t){var e=(A*A-k*k+(t?-1:1)*L*L*T*T)/(2*(t?A:k)*L*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function u(t){return a(t)/s(t)}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=l.convert(t.offset),f=this.getZoom(),d=this.getBearing(),p=this.getPitch(),m=\\\"center\\\"in t?o.convert(t.center):this.getCenter(),v=\\\"zoom\\\"in t?+t.zoom:f,g=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,d):d,y=\\\"pitch\\\"in t?+t.pitch:p;Math.abs(c.center.lng)+Math.abs(m.lng)>180&&(c.center.lng>0&&m.lng<0?m.lng+=360:c.center.lng<0&&m.lng>0&&(m.lng-=360));var b=c.zoomScale(v-f),x=c.point,_=\\\"center\\\"in t?c.project(m).sub(h.div(b)):x,w=c.worldSize,M=t.curve,k=Math.max(c.width,c.height),A=k/b,T=_.sub(x).mag();if(\\\"minZoom\\\"in t){var S=n.clamp(Math.min(t.minZoom,f,v),c.minZoom,c.maxZoom),E=k/c.zoomScale(S-f);M=Math.sqrt(E/T*2)}var L=M*M,C=r(0),z=function(t){return s(C)/s(C+M*t)},I=function(t){return k*((s(C)*u(C+M*t)-a(C))/L)/T},D=(r(1)-C)/M;if(Math.abs(T)<1e-6){if(Math.abs(k-A)<1e-6)return this.easeTo(t);var P=A<k?-1:1;D=Math.abs(Math.log(A/k))/M,I=function(){return 0},z=function(t){return Math.exp(P*M*t)}}if(\\\"duration\\\"in t)t.duration=+t.duration;else{var O=\\\"screenSpeed\\\"in t?+t.screenSpeed/M:+t.speed;t.duration=1e3*D/O}return this.zooming=!0,d!==g&&(this.rotating=!0),p!==y&&(this.pitching=!0),this.fire(\\\"movestart\\\",e),this.fire(\\\"zoomstart\\\",e),this._ease(function(t){var r=t*D,n=I(r);c.zoom=f+c.scaleZoom(1/z(r)),c.center=c.unproject(x.add(_.sub(x).mult(n)),w),this.rotating&&(c.bearing=i(d,g,t)),this.pitching&&(c.pitch=i(p,y,t)),this.fire(\\\"move\\\",e),this.fire(\\\"zoom\\\",e),this.rotating&&this.fire(\\\"rotate\\\",e),this.pitching&&this.fire(\\\"pitch\\\",e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(\\\"zoomend\\\",e),this.fire(\\\"moveend\\\",e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&&(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&&this._finishEase()},!1===r.animate?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,u=Math.sqrt(.0729-l*l);i=n.bezier(l,u,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{\\\"../geo/lng_lat\\\":338,\\\"../geo/lng_lat_bounds\\\":339,\\\"../util/browser\\\":425,\\\"../util/interpolate\\\":435,\\\"../util/util\\\":441,\\\"point-geometry\\\":483}],408:[function(t,e,r){\\\"use strict\\\";function n(t){o.setOptions(this,t)}var i=t(\\\"./control\\\"),a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/util\\\");e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&&e.indexOf(n.attribution)<0&&e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),e=e.filter(function(t,r){for(var n=r+1;n<e.length;n++)if(e[n].indexOf(t)>=0)return!1;return!0}),e.join(\\\" | \\\")},n.prototype=o.inherit(i,{options:{position:\\\"bottom-right\\\"},onAdd:function(t){var e=this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl-attrib\\\",t.getContainer());return this._update(),t.on(\\\"source.load\\\",this._update.bind(this)),t.on(\\\"source.change\\\",this._update.bind(this)),t.on(\\\"source.remove\\\",this._update.bind(this)),t.on(\\\"moveend\\\",this._updateEditLink.bind(this)),e},_update:function(){this._map.style&&(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(\\\"mapbox-improve-map\\\")[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=\\\"https://www.mapbox.com/map-feedback/#/\\\"+t.lng+\\\"/\\\"+t.lat+\\\"/\\\"+Math.round(this._map.getZoom()+1)}}})},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"./control\\\":409}],409:[function(t,e,r){\\\"use strict\\\";function n(){}var i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/evented\\\");e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&&this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=\\\" mapboxgl-ctrl\\\",-1!==r.indexOf(\\\"bottom\\\")?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{\\\"../../util/evented\\\":433,\\\"../../util/util\\\":441}],410:[function(t,e,r){\\\"use strict\\\";function n(t){s.setOptions(this,t)}var i=t(\\\"./control\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/dom\\\"),s=t(\\\"../../util/util\\\");e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:\\\"top-right\\\"},onAdd:function(t){var e=this._container=o.create(\\\"div\\\",\\\"mapboxgl-ctrl-group\\\",t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(\\\"contextmenu\\\",this._onContextMenu.bind(this)),this._geolocateButton=o.create(\\\"button\\\",\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\\\",this._container),this._geolocateButton.type=\\\"button\\\",this._geolocateButton.addEventListener(\\\"click\\\",this._onClickGeolocate.bind(this)),e):e},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\\\"geolocate\\\",t),this._finish()},_error:function(t){this.fire(\\\"error\\\",t),this._finish()},_finish:function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{\\\"../../util/browser\\\":425,\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"./control\\\":409}],411:[function(t,e,r){\\\"use strict\\\";function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(\\\"./control\\\"),o=t(\\\"../../util/dom\\\"),s=t(\\\"../../util/util\\\");e.exports=n,n.prototype=s.inherit(a,{options:{position:\\\"top-right\\\"},onAdd:function(t){var e=\\\"mapboxgl-ctrl\\\",r=this._container=o.create(\\\"div\\\",e+\\\"-group\\\",t.getContainer());return this._container.addEventListener(\\\"contextmenu\\\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+\\\"-icon \\\"+e+\\\"-zoom-in\\\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+\\\"-icon \\\"+e+\\\"-zoom-out\\\",t.zoomOut.bind(t)),this._compass=this._createButton(e+\\\"-icon \\\"+e+\\\"-compass\\\",t.resetNorth.bind(t)),this._compassArrow=o.create(\\\"div\\\",\\\"arrow\\\",this._compass),this._compass.addEventListener(\\\"mousedown\\\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(\\\"rotate\\\",this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&&(o.disableDrag(),document.addEventListener(\\\"mousemove\\\",this._onCompassMove),document.addEventListener(\\\"mouseup\\\",this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&&(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&&(document.removeEventListener(\\\"mousemove\\\",this._onCompassMove),document.removeEventListener(\\\"mouseup\\\",this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(\\\"button\\\",t,this._container);return r.type=\\\"button\\\",r.addEventListener(\\\"click\\\",function(){e()}),r},_rotateCompassArrow:function(){var t=\\\"rotate(\\\"+this._map.transform.angle*(180/Math.PI)+\\\"deg)\\\";this._compassArrow.style.transform=t}})},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"./control\\\":409}],412:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../geo/lng_lat_bounds\\\"),o=t(\\\"../../util/util\\\");e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&&0===t.button&&(document.addEventListener(\\\"mousemove\\\",this._onMouseMove,!1),document.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),document.addEventListener(\\\"mouseup\\\",this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(\\\"div\\\",\\\"mapboxgl-boxzoom\\\",this._container),this._container.classList.add(\\\"mapboxgl-crosshair\\\"),this._fireEvent(\\\"boxzoomstart\\\",t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);i.setTransform(this._box,\\\"translate(\\\"+n+\\\"px,\\\"+o+\\\"px)\\\"),this._box.style.width=a-n+\\\"px\\\",this._box.style.height=s-o+\\\"px\\\"},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\\\"boxzoomcancel\\\",t):this._map.fitBounds(n,{linear:!0}).fire(\\\"boxzoomend\\\",{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\\\"boxzoomcancel\\\",t))},_finish:function(){this._active=!1,document.removeEventListener(\\\"mousemove\\\",this._onMouseMove,!1),document.removeEventListener(\\\"keydown\\\",this._onKeyDown,!1),document.removeEventListener(\\\"mouseup\\\",this._onMouseUp,!1),this._container.classList.remove(\\\"mapboxgl-crosshair\\\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{\\\"../../geo/lng_lat_bounds\\\":339,\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],413:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(\\\"dblclick\\\",this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._map.off(\\\"dblclick\\\",this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],414:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../util/util\\\");e.exports=n;var o=a.bezier(0,0,.3,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._el.addEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._el.removeEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(\\\"touchmove\\\",this._onMove),document.addEventListener(\\\"touchend\\\",this._onTouchEnd)):(document.addEventListener(\\\"mousemove\\\",this._onMove),document.addEventListener(\\\"mouseup\\\",this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\\\"dragstart\\\",t),this._fireEvent(\\\"movestart\\\",t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(\\\"drag\\\",t),this._fireEvent(\\\"move\\\",t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(\\\"dragend\\\",t),this._drainInertiaBuffer();var e=function(){this._fireEvent(\\\"moveend\\\",t)}.bind(this),r=this._inertia;if(r.length<2)return void e();var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),s=(n[0]-i[0])/1e3;if(0===s||n[1].equals(i[1]))return void e();var l=a.mult(.3/s),u=l.mag();u>1400&&(u=1400,l._unit()._mult(u));var c=u/750,h=l.mult(-c/2);this._map.panBy(h,{duration:1e3*c,easing:o,noMoveStart:!0},{originalEvent:t})}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(\\\"mousemove\\\",this._onMove),document.removeEventListener(\\\"mouseup\\\",this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(\\\"touchmove\\\",this._onMove),document.removeEventListener(\\\"touchend\\\",this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;return\\\"mousemove\\\"===t.type?!1&t.buttons:0!==t.button},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()}}},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],415:[function(t,e,r){\\\"use strict\\\";function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"point-geometry\\\"),o=t(\\\"../../util/util\\\");e.exports=n;var s=o.bezier(0,0,.25,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&&!this.isActive()){document.addEventListener(\\\"mousemove\\\",this._onMove),document.addEventListener(\\\"mouseup\\\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center);e.mag()<200&&(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\\\"rotatestart\\\",t),this._fireEvent(\\\"movestart\\\",t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,u=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,u[1])]),e.transform.bearing=s,this._fireEvent(\\\"rotate\\\",t),this._fireEvent(\\\"move\\\",t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&&(document.removeEventListener(\\\"mousemove\\\",this._onMove),document.removeEventListener(\\\"mouseup\\\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\\\"rotateend\\\",t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)<this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(\\\"moveend\\\",t)}.bind(this);if(n.length<2)return void i();var a=n[0],o=n[n.length-1],l=n[n.length-2],u=e._normalizeBearing(r,l[1]),c=o[1]-a[1],h=c<0?-1:1,f=(o[0]-a[0])/1e3;if(0===c||0===f)return void i();var d=Math.abs(c*(.25/f));d>180&&(d=180);var p=d/180;u+=h*d*(p/2),Math.abs(e._normalizeBearing(u,0))<this._bearingSnap&&(u=e._normalizeBearing(0,u)),e.rotateTo(u,{duration:1e3*p,easing:s,noMoveStart:!0},{originalEvent:t})}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragPan&&e.dragPan.isActive())return!0;if(t.touches)return t.touches.length>1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return\\\"mousemove\\\"===t.type?t.buttons&0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()}}},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"point-geometry\\\":483}],416:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"keydown\\\",this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-2},r):(t.preventDefault(),e.panBy([-80,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+2},r):(t.preventDefault(),e.panBy([80,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+5},r):(t.preventDefault(),e.panBy([0,-80],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-5,0)},r):(t.preventDefault(),e.panBy([0,80],r))}}}}},{}],417:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/util\\\");e.exports=n;var s=\\\"undefined\\\"!=typeof navigator?navigator.userAgent.toLowerCase():\\\"\\\",l=-1!==s.indexOf(\\\"firefox\\\"),u=-1!==s.indexOf(\\\"safari\\\")&&-1===s.indexOf(\\\"chrom\\\");n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"wheel\\\",this._onWheel,!1),this._el.addEventListener(\\\"mousewheel\\\",this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"wheel\\\",this._onWheel),this._el.removeEventListener(\\\"mousewheel\\\",this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;\\\"wheel\\\"===t.type?(e=t.deltaY,l&&t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\\\"mousewheel\\\"===t.type&&(e=-t.wheelDeltaY,u&&(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&&e%4.000244140625==0?(this._type=\\\"wheel\\\",e=Math.floor(e/4)):0!==e&&Math.abs(e)<4?this._type=\\\"trackpad\\\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)<200?\\\"trackpad\\\":\\\"wheel\\\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=\\\"wheel\\\",this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t<0&&0!==n&&(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{\\\"../../util/browser\\\":425,\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],418:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../util/util\\\");e.exports=n;var o=a.bezier(0,0,.15,1);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"touchstart\\\",this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"touchstart\\\",this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],\\n\",\n       \"document.addEventListener(\\\"touchmove\\\",this._onMove,!1),document.addEventListener(\\\"touchend\\\",this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var u={duration:0,around:l.unproject(n)};\\\"rotate\\\"===this._gestureIntent&&(u.bearing=this._startBearing+s),\\\"zoom\\\"!==this._gestureIntent&&\\\"rotate\\\"!==this._gestureIntent||(u.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(u,{originalEvent:t})}else{var c=Math.abs(1-o)>.15;Math.abs(s)>4?this._gestureIntent=\\\"rotate\\\":c&&(this._gestureIntent=\\\"zoom\\\"),this._gestureIntent&&(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(\\\"touchmove\\\",this._onMove),document.removeEventListener(\\\"touchend\\\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)return void r.snapToNorth({},{originalEvent:t});var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),s=r.transform.scaleZoom(this._startScale*i[1]),l=a-s,u=(n[0]-i[0])/1e3,c=n[2];if(0===u||a===s)return void r.snapToNorth({},{originalEvent:t});var h=.15*l/u;Math.abs(h)>2.5&&(h=h>0?2.5:-2.5);var f=1e3*Math.abs(h/(12*.15)),d=a+h*f/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:f,easing:o,around:r.unproject(c)},{originalEvent:t})},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>2&&e-t[0][0]>160;)t.shift()}}},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],419:[function(t,e,r){\\\"use strict\\\";function n(){i.bindAll([\\\"_onHashChange\\\",\\\"_updateHash\\\"],this)}e.exports=n;var i=t(\\\"../util/util\\\");n.prototype={addTo:function(t){return this._map=t,window.addEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.on(\\\"moveend\\\",this._updateHash),this},remove:function(){return window.removeEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.off(\\\"moveend\\\",this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(\\\"#\\\",\\\"\\\").split(\\\"/\\\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=\\\"#\\\"+Math.round(100*e)/100+\\\"/\\\"+t.lat.toFixed(n)+\\\"/\\\"+t.lng.toFixed(n)+(r?\\\"/\\\"+Math.round(10*r)/10:\\\"\\\");window.history.replaceState(\\\"\\\",\\\"\\\",i)}}},{\\\"../util/util\\\":441}],420:[function(t,e,r){\\\"use strict\\\";function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\\\"../util/canvas\\\"),a=t(\\\"../util/util\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"../util/browser\\\").window,l=t(\\\"../util/evented\\\"),u=t(\\\"../util/dom\\\"),c=t(\\\"../style/style\\\"),h=t(\\\"../style/animation_loop\\\"),f=t(\\\"../render/painter\\\"),d=t(\\\"../geo/transform\\\"),p=t(\\\"./hash\\\"),m=t(\\\"./bind_handlers\\\"),v=t(\\\"./camera\\\"),g=t(\\\"../geo/lng_lat\\\"),y=t(\\\"../geo/lng_lat_bounds\\\"),b=t(\\\"point-geometry\\\"),x=t(\\\"./control/attribution\\\"),_={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:20,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},w=e.exports=function(t){if(t=a.extend({},_,t),t.workerCount<1)throw new Error(\\\"workerCount must an integer greater than or equal to 1.\\\");this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,\\\"string\\\"==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new h,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&&this.setMaxBounds(t.maxBounds),a.bindAll([\\\"_forwardStyleEvent\\\",\\\"_forwardSourceEvent\\\",\\\"_forwardLayerEvent\\\",\\\"_forwardTileEvent\\\",\\\"_onStyleLoad\\\",\\\"_onStyleChange\\\",\\\"_onSourceAdd\\\",\\\"_onSourceRemove\\\",\\\"_onSourceUpdate\\\",\\\"_onWindowOnline\\\",\\\"_onWindowResize\\\",\\\"_update\\\",\\\"_render\\\"],this),this._setupContainer(),this._setupPainter(),this.on(\\\"move\\\",this._update.bind(this,!1)),this.on(\\\"zoom\\\",this._update.bind(this,!0)),this.on(\\\"moveend\\\",function(){this.animationLoop.set(300),this._rerender()}.bind(this)),void 0!==s&&(s.addEventListener(\\\"online\\\",this._onWindowOnline,!1),s.addEventListener(\\\"resize\\\",this._onWindowResize,!1)),m(this,t),this._hash=t.hash&&(new p).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&&this.setClasses(t.classes),t.style&&this.setStyle(t.style),t.attributionControl&&this.addControl(new x(t.attributionControl));var e=this.fire.bind(this,\\\"error\\\");this.on(\\\"style.error\\\",e),this.on(\\\"source.error\\\",e),this.on(\\\"tile.error\\\",e),this.on(\\\"layer.error\\\",e)};a.extend(w.prototype,l),a.extend(w.prototype,v.prototype),a.extend(w.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)>=0||\\\"\\\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r<0||\\\"\\\"===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n<t.length;n++)\\\"\\\"!==t[n]&&(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)>=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(\\\"movestart\\\").fire(\\\"move\\\").fire(\\\"resize\\\").fire(\\\"moveend\\\")},getBounds:function(){var t=new y(this.transform.pointLocation(new b(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new b(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new b(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if((t=null===t||void 0===t?0:t)>=0&&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 0 and the current maxZoom, inclusive\\\")},setMaxZoom:function(t){if((t=null===t||void 0===t?20:t)>=this.transform.minZoom&&t<=20)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\\\"maxZoom must be between the current minZoom and 20, inclusive\\\")},project:function(t){return this.transform.locationPoint(g.convert(t))},unproject:function(t){return this.transform.pointLocation(b.convert(t))},queryRenderedFeatures:function(){var t,e={};return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof b||Array.isArray(t)}(arguments[0])?t=arguments[0]:1===arguments.length&&(e=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&&(t=[b.convert([0,0]),b.convert([this.transform.width,this.transform.height])]);var e;if(t instanceof b||\\\"number\\\"==typeof t[0])e=[b.convert(t)];else{var r=[b.convert(t[0]),b.convert(t[1])];e=[r[0],new b(r[1].x,r[0].y),r[1],new b(r[0].x,r[1].y),r[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&&(this.style.off(\\\"load\\\",this._onStyleLoad).off(\\\"error\\\",this._forwardStyleEvent).off(\\\"change\\\",this._onStyleChange).off(\\\"source.add\\\",this._onSourceAdd).off(\\\"source.remove\\\",this._onSourceRemove).off(\\\"source.load\\\",this._onSourceUpdate).off(\\\"source.error\\\",this._forwardSourceEvent).off(\\\"source.change\\\",this._onSourceUpdate).off(\\\"layer.add\\\",this._forwardLayerEvent).off(\\\"layer.remove\\\",this._forwardLayerEvent).off(\\\"layer.error\\\",this._forwardLayerEvent).off(\\\"tile.add\\\",this._forwardTileEvent).off(\\\"tile.remove\\\",this._forwardTileEvent).off(\\\"tile.load\\\",this._update).off(\\\"tile.error\\\",this._forwardTileEvent).off(\\\"tile.stats\\\",this._forwardTileEvent)._remove(),this.off(\\\"rotate\\\",this.style._redoPlacement),this.off(\\\"pitch\\\",this.style._redoPlacement)),t?(this.style=t instanceof c?t:new c(t,this.animationLoop,this._workerCount),this.style.on(\\\"load\\\",this._onStyleLoad).on(\\\"error\\\",this._forwardStyleEvent).on(\\\"change\\\",this._onStyleChange).on(\\\"source.add\\\",this._onSourceAdd).on(\\\"source.remove\\\",this._onSourceRemove).on(\\\"source.load\\\",this._onSourceUpdate).on(\\\"source.error\\\",this._forwardSourceEvent).on(\\\"source.change\\\",this._onSourceUpdate).on(\\\"layer.add\\\",this._forwardLayerEvent).on(\\\"layer.remove\\\",this._forwardLayerEvent).on(\\\"layer.error\\\",this._forwardLayerEvent).on(\\\"tile.add\\\",this._forwardTileEvent).on(\\\"tile.remove\\\",this._forwardTileEvent).on(\\\"tile.load\\\",this._update).on(\\\"tile.error\\\",this._forwardTileEvent).on(\\\"tile.stats\\\",this._forwardTileEvent),this.on(\\\"rotate\\\",this.style._redoPlacement),this.on(\\\"pitch\\\",this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(\\\"mapboxgl-map\\\");var e=this._canvasContainer=u.create(\\\"div\\\",\\\"mapboxgl-canvas-container\\\",t);this._interactive&&e.classList.add(\\\"mapboxgl-interactive\\\"),this._canvas=new i(this,e);var r=this._controlContainer=u.create(\\\"div\\\",\\\"mapboxgl-control-container\\\",t),n=this._controlCorners={};[\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"].forEach(function(t){n[t]=u.create(\\\"div\\\",\\\"mapboxgl-ctrl-\\\"+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});if(!t)return void this.fire(\\\"error\\\",{error:new Error(\\\"Failed to initialize WebGL\\\")});this.painter=new f(t,this.transform)},_contextLost:function(t){t.preventDefault(),this._frameId&&o.cancelFrame(this._frameId),this.fire(\\\"webglcontextlost\\\",{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\\\"webglcontextrestored\\\",{originalEvent:t})},loaded:function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(\\\"render\\\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\\\"load\\\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender()}catch(t){this.fire(\\\"error\\\",{error:t})}return this},remove:function(){this._hash&&this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),void 0!==s&&s.removeEventListener(\\\"resize\\\",this._onWindowResize,!1);var t=this.painter.gl.getExtension(\\\"WEBGL_lose_context\\\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(\\\"mapboxgl-map\\\")},_rerender:function(){this.style&&!this._frameId&&(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(\\\"style.\\\"+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&&e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&&e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&&this.stop().resize()._update()}}),a.extendAll(w.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{\\\"../geo/lng_lat\\\":338,\\\"../geo/lng_lat_bounds\\\":339,\\\"../geo/transform\\\":340,\\\"../render/painter\\\":354,\\\"../style/animation_loop\\\":374,\\\"../style/style\\\":377,\\\"../util/browser\\\":425,\\\"../util/canvas\\\":426,\\\"../util/dom\\\":427,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./bind_handlers\\\":406,\\\"./camera\\\":407,\\\"./control/attribution\\\":408,\\\"./hash\\\":419,\\\"point-geometry\\\":483}],421:[function(t,e,r){\\\"use strict\\\";function n(t,e){t||(t=i.create(\\\"div\\\")),t.classList.add(\\\"mapboxgl-marker\\\"),this._el=t,this._offset=o.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(\\\"../util/dom\\\"),a=t(\\\"../geo/lng_lat\\\"),o=t(\\\"point-geometry\\\");n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(\\\"move\\\",this._update),this._update(),this},remove:function(){this._map&&(this._map.off(\\\"move\\\",this._update),this._map=null);var t=this._el.parentNode;return t&&t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,\\\"translate(\\\"+t.x+\\\"px,\\\"+t.y+\\\"px)\\\")}}}},{\\\"../geo/lng_lat\\\":338,\\\"../util/dom\\\":427,\\\"point-geometry\\\":483}],422:[function(t,e,r){\\\"use strict\\\";function n(t){i.setOptions(this,t),i.bindAll([\\\"_update\\\",\\\"_onClickClose\\\"],this)}e.exports=n;var i=t(\\\"../util/util\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"../util/dom\\\"),s=t(\\\"../geo/lng_lat\\\");n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(\\\"move\\\",this._update),this.options.closeOnClick&&this._map.on(\\\"click\\\",this._onClickClose),this._update(),this},remove:function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\\\"move\\\",this._update),this._map.off(\\\"click\\\",this._onClickClose),delete this._map),this.fire(\\\"close\\\"),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(\\\"body\\\");for(n.innerHTML=t;;){if(!(e=n.firstChild))break;r.appendChild(e)}return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=o.create(\\\"div\\\",\\\"mapboxgl-popup-content\\\",this._container),this.options.closeButton&&(this._closeButton=o.create(\\\"button\\\",\\\"mapboxgl-popup-close-button\\\",this._content),this._closeButton.type=\\\"button\\\",this._closeButton.innerHTML=\\\"&#215;\\\",this._closeButton.addEventListener(\\\"click\\\",this._onClickClose))},_update:function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=o.create(\\\"div\\\",\\\"mapboxgl-popup\\\",this._map.getContainer()),this._tip=o.create(\\\"div\\\",\\\"mapboxgl-popup-tip\\\",this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y<n?[\\\"top\\\"]:t.y>this._map.transform.height-n?[\\\"bottom\\\"]:[],t.x<r/2?e.push(\\\"left\\\"):t.x>this._map.transform.width-r/2&&e.push(\\\"right\\\"),e=0===e.length?\\\"bottom\\\":e.join(\\\"-\\\")}var i={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%)\\\"},a=this._container.classList;for(var s in i)a.remove(\\\"mapboxgl-popup-anchor-\\\"+s);a.add(\\\"mapboxgl-popup-anchor-\\\"+e),o.setTransform(this._container,i[e]+\\\" translate(\\\"+t.x+\\\"px,\\\"+t.y+\\\"px)\\\")}},_onClickClose:function(){this.remove()}})},{\\\"../geo/lng_lat\\\":338,\\\"../util/dom\\\":427,\\\"../util/evented\\\":433,\\\"../util/util\\\":441}],423:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\\\"message\\\",this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:\\\"<response>\\\",id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(\\\"<response>\\\"===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&&r(n.error||null,n.data);else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(void 0!==n.id&&this.parent.workerSources){var a=n.type.split(\\\".\\\");this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&&(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],424:[function(t,e,r){\\\"use strict\\\";function n(t){var e=document.createElement(\\\"a\\\");return e.href=t,e.protocol===document.location.protocol&&e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(\\\"GET\\\",t,!0),r.setRequestHeader(\\\"Accept\\\",\\\"application/json\\\"),r.onerror=function(t){e(t)},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(\\\"GET\\\",t,!0),r.responseType=\\\"arraybuffer\\\",r.onerror=function(t){e(t)},r.onload=function(){r.status>=200&&r.status<300&&r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:\\\"image/png\\\"});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(\\\"canvas\\\"),e=t.getContext(\\\"2d\\\");return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(\\\"video\\\");r.onloadstart=function(){e(null,r)};for(var i=0;i<t.length;i++){var a=document.createElement(\\\"source\\\");n(t[i])||(r.crossOrigin=\\\"Anonymous\\\"),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],425:[function(t,e,r){\\\"use strict\\\";r.window=window,e.exports.now=function(){return window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date)}();var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||(l=e.exports.now(),l>=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(\\\"mapbox-gl-supported\\\"),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,\\\"devicePixelRatio\\\",{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(\\\"img\\\");a.onload=function(){r.supportsWebp=!0},a.src=\\\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\\\",r.supportsGeolocation=!!navigator.geolocation},{\\\"mapbox-gl-supported\\\":326}],426:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.canvas=document.createElement(\\\"canvas\\\"),t&&e&&(this.canvas.style.position=\\\"absolute\\\",this.canvas.classList.add(\\\"mapboxgl-canvas\\\"),this.canvas.addEventListener(\\\"webglcontextlost\\\",t._contextLost.bind(t),!1),this.canvas.addEventListener(\\\"webglcontextrestored\\\",t._contextRestored.bind(t),!1),this.canvas.setAttribute(\\\"tabindex\\\",0),e.appendChild(this.canvas))}var i=t(\\\"../util\\\"),a=t(\\\"mapbox-gl-supported\\\");e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+\\\"px\\\",this.canvas.style.height=e+\\\"px\\\"},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(\\\"webgl\\\",t)||this.canvas.getContext(\\\"experimental-webgl\\\",t)},n.prototype.getElement=function(){return this.canvas}},{\\\"../util\\\":441,\\\"mapbox-gl-supported\\\":326}],427:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(\\\"click\\\",i,!0)}var a=t(\\\"point-geometry\\\");r.create=function(t,e,r){var n=document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n};var o,s=document.documentElement.style,l=n([\\\"userSelect\\\",\\\"MozUserSelect\\\",\\\"WebkitUserSelect\\\",\\\"msUserSelect\\\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\\\"none\\\")},r.enableDrag=function(){l&&(s[l]=o)};var u=n([\\\"transform\\\",\\\"WebkitTransform\\\"]);r.setTransform=function(t,e){t.style[u]=e},r.suppressClick=function(){window.addEventListener(\\\"click\\\",i,!0),window.setTimeout(function(){window.removeEventListener(\\\"click\\\",i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i<e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{\\\"point-geometry\\\":483}],428:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"webworkify\\\");e.exports=function(){return new n(t(\\\"../../source/worker\\\"))}},{\\\"../../source/worker\\\":372,webworkify:563}],429:[function(t,e,r){\\\"use strict\\\";function n(t,e){return e.area-t.area}function i(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var a=t(\\\"quickselect\\\");e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],u=0;u<r;u++){var c=i(t[u]);0!==c&&(t[u].area=Math.abs(c),void 0===s&&(s=c<0),s===c<0?(o&&l.push(o),o=[t[u]]):o.push(t[u]))}if(o&&l.push(o),e>1)for(var h=0;h<l.length;h++)l[h].length<=e||(a(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{quickselect:492}],430:[function(t,e,r){\\\"use strict\\\";e.exports={API_URL:\\\"https://api.mapbox.com\\\",REQUIRE_ACCESS_TOKEN:!0}},{}],431:[function(t,e,r){\\\"use strict\\\";function n(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}}var i=t(\\\"assert\\\");e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t<this._numberToString.length),this._numberToString[t]}},{assert:46}],432:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r<t;r++){var n=new o,i=new a(n,e);i.name=\\\"Worker \\\"+r,this.actors.push(i)}}var i=t(\\\"./util\\\"),a=t(\\\"./actor\\\"),o=t(\\\"./web_worker\\\");e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(\\\"number\\\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t<this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{\\\"./actor\\\":423,\\\"./util\\\":441,\\\"./web_worker\\\":428}],433:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./util\\\"),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r>=0&&this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,\\\"error\\\")&&console.error(e&&e.error||e||\\\"Empty error event\\\"),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i<r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{\\\"./util\\\":441}],434:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.stacks=t.readFields(i,[],e)}function i(t,e,r){if(1===t){var n=r.readMessage(a,{glyphs:{}});e.push(n)}}function a(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(o,{});e.glyphs[n.id]=n}}function o(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())}e.exports=n},{}],435:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],436:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s];if(d(i,l))return!0;if(c(l,i,r))return!0}return!1}function i(t,e){if(1===t.length&&1===t[0].length)return f(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(f(t,n[i]))return!0;for(var a=0;a<t.length;a++){for(var o=t[a],l=0;l<o.length;l++)if(f(e,o[l]))return!0;for(var u=0;u<e.length;u++)if(s(o,e[u]))return!0}return!1}function a(t,e,r){for(var n=0;n<e.length;n++)for(var i=e[n],a=0;a<t.length;a++){var s=t[a];if(s.length>=3)for(var l=0;l<i.length;l++)if(d(s,i[l]))return!0;if(o(s,i,r))return!0}return!1}function o(t,e,r){if(t.length>1){if(s(t,e))return!0;for(var n=0;n<e.length;n++)if(c(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(c(t[i],e,r))return!0;return!1}function s(t,e){for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++){var o=e[a],s=e[a+1];if(u(n,i,o,s))return!0}return!1}function l(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function u(t,e,r,n){return l(t,r,n)!==l(e,r,n)&&l(t,e,r)!==l(t,e,n)}function c(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++){if(h(t,e[i-1],e[i])<n)return!0}return!1}function h(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function f(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++){r=t[o];for(var s=0,l=r.length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function d(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:n,multiPolygonIntersectsMultiPolygon:i,multiPolygonIntersectsBufferedMultiLine:a}},{}],437:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this.get(this.order[0]);e&&this.onRemove(e)}return this}},{}],438:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!(r=r||o.ACCESS_TOKEN)&&o.REQUIRE_ACCESS_TOKEN)throw new Error(\\\"An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens\\\");if(t=t.replace(/^mapbox:\\\\/\\\\//,o.API_URL+e),\\n\",\n       \"t+=-1!==t.indexOf(\\\"?\\\")?\\\"&access_token=\\\":\\\"?access_token=\\\",o.REQUIRE_ACCESS_TOKEN){if(\\\"s\\\"===r[0])throw new Error(\\\"Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens\\\");t+=r}return t}function i(t){return t?\\\"?\\\"+t:\\\"\\\"}function a(t){return t.access_token&&\\\"tk.\\\"===t.access_token.slice(0,3)?u.extend({},t,{access_token:o.ACCESS_TOKEN}):t}var o=t(\\\"./config\\\"),s=t(\\\"./browser\\\"),l=t(\\\"url\\\"),u=t(\\\"./util\\\");e.exports.normalizeStyleURL=function(t,e){var r=l.parse(t);return\\\"mapbox:\\\"!==r.protocol?t:n(\\\"mapbox:/\\\"+r.pathname+i(r.query),\\\"/styles/v1/\\\",e)},e.exports.normalizeSourceURL=function(t,e){return\\\"mapbox:\\\"!==l.parse(t).protocol?t:n(t+\\\".json\\\",\\\"/v4/\\\",e)+\\\"&secure\\\"},e.exports.normalizeGlyphsURL=function(t,e){var r=l.parse(t);return\\\"mapbox:\\\"!==r.protocol?t:n(\\\"mapbox://\\\"+r.pathname.split(\\\"/\\\")[1]+\\\"/{fontstack}/{range}.pbf\\\"+i(r.query),\\\"/fonts/v1/\\\",e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=l.parse(t);return\\\"mapbox:\\\"!==o.protocol?(o.pathname+=e+r,l.format(o)):n(\\\"mapbox:/\\\"+o.pathname+\\\"/sprite\\\"+e+r+i(o.query),\\\"/styles/v1/\\\",a)},e.exports.normalizeTileURL=function(t,e,r){var n=l.parse(t,!0);if(!e)return t;if(\\\"mapbox:\\\"!==l.parse(e).protocol)return t;var i=s.supportsWebp?\\\".webp\\\":\\\"$1\\\",o=s.devicePixelRatio>=2||512===r?\\\"@2x\\\":\\\"\\\";return l.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\\\\.(?:png|jpg)\\\\d*)/,o+i),query:a(n.query)})}},{\\\"./browser\\\":425,\\\"./config\\\":430,\\\"./util\\\":441,url:544}],439:[function(t,e,r){\\\"use strict\\\";function n(t){function e(){f.apply(this,arguments)}function r(){d.apply(this,arguments),this.members=e.prototype.members}var n=JSON.stringify(t);if(v[n])return v[n];void 0===t.alignment&&(t.alignment=1),e.prototype=Object.create(f.prototype);var s=0,u=0,g=[\\\"Uint8\\\"];return e.prototype.members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},p(r.name.length),p(r.type in m),g.indexOf(r.type)<0&&g.push(r.type);var n=o(r.type);u=Math.max(u,n),r.offset=s=a(s,Math.max(t.alignment,n));for(var i=0;i<r.components;i++)Object.defineProperty(e.prototype,r.name+(1===r.components?\\\"\\\":i),{get:c(r,i),set:h(r,i)});return s+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=a(s,Math.max(u,t.alignment)),r.serialize=i,r.prototype=Object.create(d.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=l(e.prototype.members,e.prototype.size),r.prototype._usedTypes=g,v[n]=r,r}function i(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function a(t,e){return Math.ceil(t/e)*e}function o(t){return m[t].BYTES_PER_ELEMENT}function s(t){return t.toLowerCase()}function l(t,e){for(var r=[],n=[],i=\\\"var i = this.length;\\\\nthis.resize(this.length + 1);\\\\n\\\",a=0;a<t.length;a++){var l=t[a],u=o(l.type);r.indexOf(u)<0&&(r.push(u),i+=\\\"var o\\\"+u.toFixed(0)+\\\" = i * \\\"+(e/u).toFixed(0)+\\\";\\\\n\\\");for(var c=0;c<l.components;c++){var h=\\\"v\\\"+n.length,f=\\\"o\\\"+u.toFixed(0)+\\\" + \\\"+(l.offset/u+c).toFixed(0);i+=\\\"this.\\\"+s(l.type)+\\\"[\\\"+f+\\\"] = \\\"+h+\\\";\\\\n\\\",n.push(h)}}return i+=\\\"return i;\\\",new Function(n,i)}function u(t,e){var r=\\\"this._pos\\\"+o(t.type).toFixed(0),n=(t.offset/o(t.type)+e).toFixed(0),i=r+\\\" + \\\"+n;return\\\"this._structArray.\\\"+s(t.type)+\\\"[\\\"+i+\\\"]\\\"}function c(t,e){return new Function([],\\\"return \\\"+u(t,e)+\\\";\\\")}function h(t,e){return new Function([\\\"x\\\"],u(t,e)+\\\" = x;\\\")}function f(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}function d(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var p=t(\\\"assert\\\");e.exports=n;var m={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},v={};d.prototype.DEFAULT_CAPACITY=128,d.prototype.RESIZE_MULTIPLIER=5,d.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},d.prototype.get=function(t){return new this.StructType(this,t)},d.prototype.trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},d.prototype.resize=function(t){if(this.length=t,t>this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},d.prototype._refreshViews=function(){for(var t=0;t<this._usedTypes.length;t++){var e=this._usedTypes[t];this[s(e)]=new m[e](this.arrayBuffer)}},d.prototype.toArray=function(t,e){for(var r=[],n=t;n<e;n++){var i=this.get(n);r.push(i)}return r}},{assert:46}],440:[function(t,e,r){\\\"use strict\\\";function n(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:\\\"\\\"})}e.exports=n},{}],441:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"unitbezier\\\"),i=t(\\\"../geo/coordinate\\\");r.easeCubicInOut=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)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t<arguments.length;t++){var e=arguments[t];if(null!==e&&void 0!==e)return e}},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=\\\"function\\\"==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&0===e.indexOf(\\\"_on\\\")&&(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(\\\"options\\\")||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,u=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(u)/Math.LN2))},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.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 i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\\\"object\\\"==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\\\"undefined\\\"!=typeof console&&console.warn(t),o[t]=!0)}},{\\\"../geo/coordinate\\\":337,unitbezier:543}],442:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)}e.exports=n,n.prototype={type:\\\"Feature\\\",get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)\\\"_geometry\\\"!==e&&\\\"_vectorTileFeature\\\"!==e&&\\\"toJSON\\\"!==e&&(t[e]=this[e]);return t}}},{}],443:[function(t,e,r){e.exports={_args:[[{raw:\\\"mapbox-gl@^0.22.0\\\",scope:null,escapedName:\\\"mapbox-gl\\\",name:\\\"mapbox-gl\\\",rawSpec:\\\"^0.22.0\\\",spec:\\\">=0.22.0 <0.23.0\\\",type:\\\"range\\\"},\\\"/home/etienne/Documents/plotly/plotly.js\\\"]],_from:\\\"mapbox-gl@>=0.22.0 <0.23.0\\\",_id:\\\"mapbox-gl@0.22.1\\\",_inCache:!0,_location:\\\"/mapbox-gl\\\",_nodeVersion:\\\"4.4.5\\\",_npmOperationalInternal:{host:\\\"packages-12-west.internal.npmjs.com\\\",tmp:\\\"tmp/mapbox-gl-0.22.1.tgz_1471549891670_0.8762630566488951\\\"},_npmUser:{name:\\\"lucaswoj\\\",email:\\\"lucas@lucaswoj.com\\\"},_npmVersion:\\\"2.15.5\\\",_phantomChildren:{},_requested:{raw:\\\"mapbox-gl@^0.22.0\\\",scope:null,escapedName:\\\"mapbox-gl\\\",name:\\\"mapbox-gl\\\",rawSpec:\\\"^0.22.0\\\",spec:\\\">=0.22.0 <0.23.0\\\",type:\\\"range\\\"},_requiredBy:[\\\"/\\\"],_resolved:\\\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\\\",_shasum:\\\"92a965547d4c2f24c22cbc487eeda48694cb627a\\\",_shrinkwrap:null,_spec:\\\"mapbox-gl@^0.22.0\\\",_where:\\\"/home/etienne/Documents/plotly/plotly.js\\\",browser:{\\\"./js/util/ajax.js\\\":\\\"./js/util/browser/ajax.js\\\",\\\"./js/util/browser.js\\\":\\\"./js/util/browser/browser.js\\\",\\\"./js/util/canvas.js\\\":\\\"./js/util/browser/canvas.js\\\",\\\"./js/util/dom.js\\\":\\\"./js/util/browser/dom.js\\\",\\\"./js/util/web_worker.js\\\":\\\"./js/util/browser/web_worker.js\\\"},bugs:{url:\\\"https://github.com/mapbox/mapbox-gl-js/issues\\\"},dependencies:{csscolorparser:\\\"^1.0.2\\\",earcut:\\\"^2.0.3\\\",\\\"feature-filter\\\":\\\"^2.2.0\\\",\\\"geojson-rewind\\\":\\\"^0.1.0\\\",\\\"geojson-vt\\\":\\\"^2.4.0\\\",\\\"gl-matrix\\\":\\\"^2.3.1\\\",\\\"grid-index\\\":\\\"^1.0.0\\\",\\\"mapbox-gl-function\\\":\\\"^1.2.1\\\",\\\"mapbox-gl-shaders\\\":\\\"github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747\\\",\\\"mapbox-gl-style-spec\\\":\\\"github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae\\\",\\\"mapbox-gl-supported\\\":\\\"^1.2.0\\\",pbf:\\\"^1.3.2\\\",pngjs:\\\"^2.2.0\\\",\\\"point-geometry\\\":\\\"^0.0.0\\\",quickselect:\\\"^1.0.0\\\",request:\\\"^2.39.0\\\",\\\"resolve-url\\\":\\\"^0.2.1\\\",\\\"shelf-pack\\\":\\\"^1.0.0\\\",supercluster:\\\"^2.0.1\\\",unassertify:\\\"^2.0.0\\\",unitbezier:\\\"^0.0.0\\\",\\\"vector-tile\\\":\\\"^1.3.0\\\",\\\"vt-pbf\\\":\\\"^2.0.2\\\",webworkify:\\\"^1.3.0\\\",\\\"whoots-js\\\":\\\"^2.0.0\\\"},description:\\\"A WebGL interactive maps library\\\",devDependencies:{\\\"babel-preset-react\\\":\\\"^6.11.1\\\",babelify:\\\"^7.3.0\\\",benchmark:\\\"~2.1.0\\\",browserify:\\\"^13.0.0\\\",clipboard:\\\"^1.5.12\\\",\\\"concat-stream\\\":\\\"1.5.1\\\",coveralls:\\\"^2.11.8\\\",doctrine:\\\"^1.2.1\\\",documentation:\\\"https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz\\\",\\\"documentation-theme-utils\\\":\\\"3.0.0\\\",envify:\\\"^3.4.0\\\",eslint:\\\"^2.5.3\\\",\\\"eslint-config-mourner\\\":\\\"^2.0.0\\\",\\\"eslint-plugin-html\\\":\\\"^1.5.1\\\",gl:\\\"^4.0.1\\\",handlebars:\\\"4.0.5\\\",\\\"highlight.js\\\":\\\"9.3.0\\\",istanbul:\\\"^0.4.2\\\",\\\"json-loader\\\":\\\"^0.5.4\\\",lodash:\\\"^4.13.1\\\",\\\"mapbox-gl-test-suite\\\":\\\"github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552\\\",\\\"memory-fs\\\":\\\"^0.3.0\\\",minifyify:\\\"^7.0.1\\\",\\\"npm-run-all\\\":\\\"^3.0.0\\\",nyc:\\\"6.4.0\\\",proxyquire:\\\"^1.7.9\\\",remark:\\\"4.2.2\\\",\\\"remark-html\\\":\\\"3.0.0\\\",sinon:\\\"^1.15.4\\\",st:\\\"^1.2.0\\\",tap:\\\"^5.7.0\\\",\\\"transform-loader\\\":\\\"^0.2.3\\\",\\\"unist-util-visit\\\":\\\"1.1.0\\\",vinyl:\\\"1.1.1\\\",\\\"vinyl-fs\\\":\\\"2.4.3\\\",watchify:\\\"^3.7.0\\\",webpack:\\\"^1.13.1\\\",\\\"webworkify-webpack\\\":\\\"^1.1.3\\\"},directories:{},dist:{shasum:\\\"92a965547d4c2f24c22cbc487eeda48694cb627a\\\",tarball:\\\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\\\"},engines:{node:\\\">=4.0.0\\\"},gitHead:\\\"13a9015341f0602ccb55c98c53079838ad4b70b5\\\",homepage:\\\"https://github.com/mapbox/mapbox-gl-js#readme\\\",license:\\\"BSD-3-Clause\\\",main:\\\"js/mapbox-gl.js\\\",maintainers:[{name:\\\"aaronlidman\\\",email:\\\"aaronlidman@gmail.com\\\"},{name:\\\"ajashton\\\",email:\\\"aj.ashton@gmail.com\\\"},{name:\\\"ansis\\\",email:\\\"ansis.brammanis@gmail.com\\\"},{name:\\\"bergwerkgis\\\",email:\\\"wb@bergwerk-gis.at\\\"},{name:\\\"bhousel\\\",email:\\\"bryan@mapbox.com\\\"},{name:\\\"bsudekum\\\",email:\\\"bobby@mapbox.com\\\"},{name:\\\"camilleanne\\\",email:\\\"camille@mapbox.com\\\"},{name:\\\"dnomadb\\\",email:\\\"damon@mapbox.com\\\"},{name:\\\"dthompson\\\",email:\\\"dthompson@gmail.com\\\"},{name:\\\"emilymcafee\\\",email:\\\"emily@mapbox.com\\\"},{name:\\\"flippmoke\\\",email:\\\"flippmoke@gmail.com\\\"},{name:\\\"freenerd\\\",email:\\\"spam@freenerd.de\\\"},{name:\\\"gretacb\\\",email:\\\"carol@mapbox.com\\\"},{name:\\\"ian29\\\",email:\\\"ian.villeda@gmail.com\\\"},{name:\\\"ianshward\\\",email:\\\"ian@mapbox.com\\\"},{name:\\\"ingalls\\\",email:\\\"nicholas.ingalls@gmail.com\\\"},{name:\\\"jfirebaugh\\\",email:\\\"john.firebaugh@gmail.com\\\"},{name:\\\"jrpruit1\\\",email:\\\"jake@jakepruitt.com\\\"},{name:\\\"karenzshea\\\",email:\\\"karen@mapbox.com\\\"},{name:\\\"kkaefer\\\",email:\\\"kkaefer@gmail.com\\\"},{name:\\\"lbud\\\",email:\\\"lauren@mapbox.com\\\"},{name:\\\"lucaswoj\\\",email:\\\"lucas@lucaswoj.com\\\"},{name:\\\"lxbarth\\\",email:\\\"alex@mapbox.com\\\"},{name:\\\"lyzidiamond\\\",email:\\\"lyzi@mapbox.com\\\"},{name:\\\"mapbox-admin\\\",email:\\\"accounts@mapbox.com\\\"},{name:\\\"mateov\\\",email:\\\"matt@mapbox.com\\\"},{name:\\\"mcwhittemore\\\",email:\\\"mcwhittemore@gmail.com\\\"},{name:\\\"miccolis\\\",email:\\\"jeff@miccolis.net\\\"},{name:\\\"mikemorris\\\",email:\\\"michael.patrick.morris@gmail.com\\\"},{name:\\\"morganherlocker\\\",email:\\\"morgan.herlocker@gmail.com\\\"},{name:\\\"mourner\\\",email:\\\"agafonkin@gmail.com\\\"},{name:\\\"nickidlugash\\\",email:\\\"nicki@mapbox.com\\\"},{name:\\\"rclark\\\",email:\\\"ryan.clark.j@gmail.com\\\"},{name:\\\"samanbb\\\",email:\\\"saman@mapbox.com\\\"},{name:\\\"sbma44\\\",email:\\\"tlee@mapbox.com\\\"},{name:\\\"scothis\\\",email:\\\"scothis@gmail.com\\\"},{name:\\\"sgillies\\\",email:\\\"sean@mapbox.com\\\"},{name:\\\"springmeyer\\\",email:\\\"dane@mapbox.com\\\"},{name:\\\"themarex\\\",email:\\\"patrick@mapbox.com\\\"},{name:\\\"tmcw\\\",email:\\\"tom@macwright.org\\\"},{name:\\\"tristen\\\",email:\\\"tristen.brown@gmail.com\\\"},{name:\\\"willwhite\\\",email:\\\"will@mapbox.com\\\"},{name:\\\"yhahn\\\",email:\\\"young@mapbox.com\\\"}],name:\\\"mapbox-gl\\\",optionalDependencies:{},readme:\\\"ERROR: No README data found!\\\",repository:{type:\\\"git\\\",url:\\\"git://github.com/mapbox/mapbox-gl-js.git\\\"},scripts:{build:\\\"npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch\\\",\\\"build-dev\\\":\\\"browserify js/mapbox-gl.js --debug --standalone mapboxgl > dist/mapbox-gl-dev.js && tap --no-coverage test/build/dev.test.js\\\",\\\"build-docs\\\":\\\"documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/\\\",\\\"build-min\\\":\\\"browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl > dist/mapbox-gl.js && tap --no-coverage test/build/min.test.js\\\",\\\"build-token\\\":\\\"browserify debug/access-token-src.js --debug -t envify > debug/access-token.js\\\",lint:\\\"eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html\\\",\\\"open-changed-examples\\\":\\\"git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \\\\\\\"http://127.0.0.1:4000/mapbox-gl-js/example/\\\\\\\" substr($0,33,length($0)-37)}' | xargs open\\\",start:\\\"run-p build-token watch-dev watch-bench start-server\\\",\\\"start-bench\\\":\\\"run-p build-token watch-bench start-server\\\",\\\"start-debug\\\":\\\"run-p build-token watch-dev start-server\\\",\\\"start-docs\\\":\\\"npm run build-min && npm run build-docs && jekyll serve -w\\\",\\\"start-server\\\":\\\"st --no-cache --localhost --port 9966 --index index.html .\\\",test:\\\"npm run lint && tap --reporter dot test/js/*/*.js test/build/webpack.test.js\\\",\\\"test-suite\\\":\\\"node test/render.test.js && node test/query.test.js\\\",\\\"watch-bench\\\":\\\"node bench/download-data.js && watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v\\\",\\\"watch-dev\\\":\\\"watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v\\\"},version:\\\"0.22.1\\\"}},{}],444:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],a=0;a<=t;++a)if(e&1<<a){r.push(n(t,a-1,a-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(n(t,a-1,s-1)),i.push([a,s]))}var l=o(r),u=[];t:for(var a=0;a<l.length;++a){for(var c=l[a],h=[],s=0;s<c.length;++s){if(!i[c[s]])continue t;h.push(i[c[s]].slice())}u.push(h)}return u}function a(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r}e.exports=a;var o=t(\\\"convex-hull\\\")},{\\\"convex-hull\\\":102}],445:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}function i(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]}function a(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}var o=t(\\\"./normalize\\\"),s=t(\\\"gl-mat4/create\\\"),l=t(\\\"gl-mat4/clone\\\"),u=t(\\\"gl-mat4/determinant\\\"),c=t(\\\"gl-mat4/invert\\\"),h=t(\\\"gl-mat4/transpose\\\"),f={length:t(\\\"gl-vec3/length\\\"),normalize:t(\\\"gl-vec3/normalize\\\"),dot:t(\\\"gl-vec3/dot\\\"),cross:t(\\\"gl-vec3/cross\\\")},d=s(),p=s(),m=[0,0,0,0],v=[[0,0,0],[0,0,0],[0,0,0]],g=[0,0,0];e.exports=function(t,e,r,s,y,b){if(e||(e=[0,0,0]),r||(r=[0,0,0]),s||(s=[0,0,0]),y||(y=[0,0,0,1]),b||(b=[0,0,0,1]),!o(d,t))return!1;if(l(p,d),p[3]=0,p[7]=0,p[11]=0,p[15]=1,Math.abs(u(p)<1e-8))return!1;var x=d[3],_=d[7],w=d[11],M=d[12],k=d[13],A=d[14],T=d[15];if(0!==x||0!==_||0!==w){m[0]=x,m[1]=_,m[2]=w,m[3]=T;if(!c(p,p))return!1;h(p,p),n(y,m,p)}else y[0]=y[1]=y[2]=0,y[3]=1;if(e[0]=M,e[1]=k,e[2]=A,i(v,d),r[0]=f.length(v[0]),f.normalize(v[0],v[0]),s[0]=f.dot(v[0],v[1]),a(v[1],v[1],v[0],1,-s[0]),r[1]=f.length(v[1]),f.normalize(v[1],v[1]),s[0]/=r[1],s[1]=f.dot(v[0],v[2]),a(v[2],v[2],v[0],1,-s[1]),s[2]=f.dot(v[1],v[2]),a(v[2],v[2],v[1],1,-s[2]),r[2]=f.length(v[2]),f.normalize(v[2],v[2]),s[1]/=r[2],s[2]/=r[2],f.cross(g,v[1],v[2]),f.dot(v[0],g)<0)for(var S=0;S<3;S++)r[S]*=-1,v[S][0]*=-1,v[S][1]*=-1,v[S][2]*=-1;return b[0]=.5*Math.sqrt(Math.max(1+v[0][0]-v[1][1]-v[2][2],0)),b[1]=.5*Math.sqrt(Math.max(1-v[0][0]+v[1][1]-v[2][2],0)),b[2]=.5*Math.sqrt(Math.max(1-v[0][0]-v[1][1]+v[2][2],0)),b[3]=.5*Math.sqrt(Math.max(1+v[0][0]+v[1][1]+v[2][2],0)),v[2][1]>v[1][2]&&(b[0]=-b[0]),v[0][2]>v[2][0]&&(b[1]=-b[1]),v[1][0]>v[0][1]&&(b[2]=-b[2]),!0}},{\\\"./normalize\\\":446,\\\"gl-mat4/clone\\\":174,\\\"gl-mat4/create\\\":175,\\\"gl-mat4/determinant\\\":176,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/transpose\\\":190,\\\"gl-vec3/cross\\\":271,\\\"gl-vec3/dot\\\":272,\\\"gl-vec3/length\\\":273,\\\"gl-vec3/normalize\\\":275}],446:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],447:[function(t,e,r){function n(t,e,r,n){if(0===c(e)||0===c(r))return!1;var i=u(e,f.translate,f.scale,f.skew,f.perspective,f.quaternion),a=u(r,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!(!i||!a)&&(s(p.translate,f.translate,d.translate,n),s(p.skew,f.skew,d.skew,n),s(p.scale,f.scale,d.scale,n),s(p.perspective,f.perspective,d.perspective,n),h(p.quaternion,f.quaternion,d.quaternion,n),l(t,p.translate,p.scale,p.skew,p.perspective,p.quaternion),!0)}function i(){return{translate:a(),scale:a(1),skew:a(),perspective:o(),quaternion:o()}}function a(t){return[t||0,t||0,t||0]}function o(){return[0,0,0,1]}var s=t(\\\"gl-vec3/lerp\\\"),l=t(\\\"mat4-recompose\\\"),u=t(\\\"mat4-decompose\\\"),c=t(\\\"gl-mat4/determinant\\\"),h=t(\\\"quat-slerp\\\"),f=i(),d=i(),p=i();e.exports=n},{\\\"gl-mat4/determinant\\\":176,\\\"gl-vec3/lerp\\\":274,\\\"mat4-decompose\\\":445,\\\"mat4-recompose\\\":448,\\\"quat-slerp\\\":488}],448:[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\\\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,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(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\\\"gl-mat4/create\\\":175,\\\"gl-mat4/fromRotationTranslation\\\":178,\\\"gl-mat4/identity\\\":179,\\\"gl-mat4/multiply\\\":182,\\\"gl-mat4/scale\\\":188,\\\"gl-mat4/translate\\\":189}],449:[function(t,e,r){\\\"use strict\\\";function n(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]}function i(t){return t=t||{},new n(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}var a=t(\\\"binary-search-bounds\\\"),o=t(\\\"mat4-interpolate\\\"),s=t(\\\"gl-mat4/invert\\\"),l=t(\\\"gl-mat4/rotateX\\\"),u=t(\\\"gl-mat4/rotateY\\\"),c=t(\\\"gl-mat4/rotateZ\\\"),h=t(\\\"gl-mat4/lookAt\\\"),f=t(\\\"gl-mat4/translate\\\"),d=(t(\\\"gl-mat4/scale\\\"),t(\\\"gl-vec3/normalize\\\")),p=[0,0,0];e.exports=i;var m=n.prototype;m.recalcMatrix=function(t){var e=this._time,r=a.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)n[u]=i[l++];else{for(var c=e[r+1]-e[r],l=16*r,h=this.prevMatrix,f=!0,u=0;u<16;++u)h[u]=i[l++];for(var p=this.nextMatrix,u=0;u<16;++u)p[u]=i[l++],f=f&&h[u]===p[u];if(c<1e-6||f)for(var u=0;u<16;++u)n[u]=h[u];else o(n,h,p,(t-e[r])/c)}var m=this.computedUp;m[0]=n[1],m[1]=n[5],m[2]=n[9],d(m,m);var v=this.computedInverse;s(v,n);var g=this.computedEye,y=v[15];g[0]=v[12]/y,g[1]=v[13]/y,g[2]=v[14]/y;for(var b=this.computedCenter,x=Math.exp(this.computedRadius[0]),u=0;u<3;++u)b[u]=g[u]-n[2+4*u]*x}},m.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)}},m.flush=function(t){var e=a.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},m.lastT=function(){return this._time[this._time.length-1]},m.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||p,n=n||this.computedUp,this.setMatrix(t,h(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},m.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&u(i,i,e),r&&l(i,i,r),n&&c(i,i,n),this.setMatrix(t,s(this.computedMatrix,i))};var v=[0,0,0];m.pan=function(t,e,r,n){v[0]=-(e||0),v[1]=-(r||0),v[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;f(i,i,v),this.setMatrix(t,s(i,i))},m.translate=function(t,e,r,n){v[0]=e||0,v[1]=r||0,v[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;f(i,i,v),this.setMatrix(t,i)},m.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},m.setDistance=function(t,e){this.computedRadius[0]=e},m.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},m.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\\\"binary-search-bounds\\\":65,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/lookAt\\\":181,\\\"gl-mat4/rotateX\\\":185,\\\"gl-mat4/rotateY\\\":186,\\\"gl-mat4/rotateZ\\\":187,\\\"gl-mat4/scale\\\":188,\\\"gl-mat4/translate\\\":189,\\\"gl-vec3/normalize\\\":275,\\\"mat4-interpolate\\\":447}],450:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(e<3){for(var r=new Array(e),n=0;n<e;++n)r[n]=n;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),n=0;n<e;++n)a[n]=n;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],n=2;n<e;++n){for(var l=a[n],u=t[l],c=o.length;c>1&&i(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&i(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,n=0,f=o.length;n<f;++n)r[h++]=o[n];for(var d=s.length-2;d>0;--d)r[h++]=s[d];return r}e.exports=n;var i=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":507}],451:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){var e=!1;return\\\"altKey\\\"in t&&(e=e||t.altKey!==v.alt,v.alt=!!t.altKey),\\\"shiftKey\\\"in t&&(e=e||t.shiftKey!==v.shift,v.shift=!!t.shiftKey),\\\"ctrlKey\\\"in t&&(e=e||t.ctrlKey!==v.control,v.control=!!t.ctrlKey),\\\"metaKey\\\"in t&&(e=e||t.metaKey!==v.meta,v.meta=!!t.metaKey),e}function n(t,n){var a=i.x(n),o=i.y(n);\\\"buttons\\\"in n&&(t=0|n.buttons),(t!==d||a!==p||o!==m||r(n))&&(d=0|t,p=a||0,m=o||0,e&&e(d,p,m,v))}function a(t){n(0,t)}function o(){(d||p||m||v.shift||v.alt||v.meta||v.control)&&(p=m=0,d=0,v.shift=v.alt=v.control=v.meta=!1,e&&e(0,0,0,v))}function s(t){r(t)&&e&&e(d,p,m,v)}function l(t){0===i.buttons(t)?n(0,t):n(d,t)}function u(t){n(d|i.buttons(t),t)}function c(t){n(d&~i.buttons(t),t)}function h(){g||(g=!0,t.addEventListener(\\\"mousemove\\\",l),t.addEventListener(\\\"mousedown\\\",u),t.addEventListener(\\\"mouseup\\\",c),t.addEventListener(\\\"mouseleave\\\",a),t.addEventListener(\\\"mouseenter\\\",a),t.addEventListener(\\\"mouseout\\\",a),t.addEventListener(\\\"mouseover\\\",a),t.addEventListener(\\\"blur\\\",o),t.addEventListener(\\\"keyup\\\",s),t.addEventListener(\\\"keydown\\\",s),t.addEventListener(\\\"keypress\\\",s),t!==window&&(window.addEventListener(\\\"blur\\\",o),window.addEventListener(\\\"keyup\\\",s),window.addEventListener(\\\"keydown\\\",s),window.addEventListener(\\\"keypress\\\",s)))}function f(){g&&(g=!1,t.removeEventListener(\\\"mousemove\\\",l),t.removeEventListener(\\\"mousedown\\\",u),t.removeEventListener(\\\"mouseup\\\",c),t.removeEventListener(\\\"mouseleave\\\",a),t.removeEventListener(\\\"mouseenter\\\",a),t.removeEventListener(\\\"mouseout\\\",a),t.removeEventListener(\\\"mouseover\\\",a),t.removeEventListener(\\\"blur\\\",o),t.removeEventListener(\\\"keyup\\\",s),t.removeEventListener(\\\"keydown\\\",s),t.removeEventListener(\\\"keypress\\\",s),t!==window&&(window.removeEventListener(\\\"blur\\\",o),window.removeEventListener(\\\"keyup\\\",s),window.removeEventListener(\\\"keydown\\\",s),window.removeEventListener(\\\"keypress\\\",s)))}e||(e=t,t=window);var d=0,p=0,m=0,v={shift:!1,alt:!1,control:!1,meta:!1},g=!1;h();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return g},set:function(t){t?h():f()},enumerable:!0},buttons:{get:function(){return d},enumerable:!0},x:{get:function(){return p},enumerable:!0},y:{get:function(){return m},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),y}e.exports=n;var i=t(\\\"mouse-event\\\")},{\\\"mouse-event\\\":453}],452:[function(t,e,r){function n(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n=t.clientX||0,a=t.clientY||0,o=i(e);return r[0]=n-o.left,r[1]=a-o.top,r}function i(t){return t===window||t===document||t===document.body?a:t.getBoundingClientRect()}var a={left:0,top:0};e.exports=n},{}],453:[function(t,e,r){\\\"use strict\\\";function n(t){if(\\\"object\\\"==typeof t){if(\\\"buttons\\\"in t)return t.buttons;if(\\\"which\\\"in t){var e=t.which;if(2===e)return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\\\"button\\\"in t){var e=t.button;if(1===e)return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0}function i(t){return t.target||t.srcElement||window}function a(t){if(\\\"object\\\"==typeof t){if(\\\"offsetX\\\"in t)return t.offsetX;var e=i(t),r=e.getBoundingClientRect();return t.clientX-r.left}return 0}function o(t){if(\\\"object\\\"==typeof t){if(\\\"offsetY\\\"in t)return t.offsetY;var e=i(t),r=e.getBoundingClientRect();return t.clientY-r.top}return 0}r.buttons=n,r.element=i,r.x=a,r.y=o},{}],454:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){\\\"function\\\"==typeof t&&(r=!!e,e=t,t=window);var n=i(\\\"ex\\\",t),a=function(t){r&&t.preventDefault();var i=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=n;break;case 2:l=window.innerHeight}if(i*=l,a*=l,o*=l,i||a||o)return e(i,a,o,t)};return t.addEventListener(\\\"wheel\\\",a),a}var i=t(\\\"to-px\\\");e.exports=n},{\\\"to-px\\\":534}],455:[function(t,e,r){\\\"use strict\\\";function n(t){return\\\"a\\\"+t}function i(t){return\\\"d\\\"+t}function a(t,e){return\\\"c\\\"+t+\\\"_\\\"+e}function o(t){return\\\"s\\\"+t}function s(t,e){return\\\"t\\\"+t+\\\"_\\\"+e}function l(t){return\\\"o\\\"+t}function u(t){return\\\"x\\\"+t}function c(t){return\\\"p\\\"+t}function h(t,e){return\\\"d\\\"+t+\\\"_\\\"+e}function f(t){return\\\"i\\\"+t}function d(t,e){return\\\"u\\\"+t+\\\"_\\\"+e}function p(t){return\\\"b\\\"+t}function m(t){return\\\"y\\\"+t}function v(t){return\\\"e\\\"+t}function g(t){return\\\"v\\\"+t}function y(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}function b(t,e,r,b,x,E){function L(t,e){j.push(\\\"for(\\\",f(x[t]),\\\"=\\\",e,\\\";\\\",f(x[t]),\\\"<\\\",o(x[t]),\\\";\\\",\\\"++\\\",f(x[t]),\\\"){\\\")}function C(t){for(var e=0;e<O;++e)j.push(c(e),\\\"+=\\\",d(e,x[t]),\\\";\\\");j.push(\\\"}\\\")}function z(t){for(var e=t-1;e>=0;--e)L(e,0);for(var r=[],e=0;e<O;++e)E[e]?r.push(i(e)+\\\".get(\\\"+c(e)+\\\")\\\"):r.push(i(e)+\\\"[\\\"+c(e)+\\\"]\\\");for(var e=0;e<b;++e)r.push(u(e));j.push(M,\\\"[\\\",T,\\\"++]=phase(\\\",r.join(),\\\");\\\");for(var e=0;e<t;++e)C(e);for(var n=0;n<O;++n)j.push(c(n),\\\"+=\\\",d(n,x[t]),\\\";\\\")}function I(t){for(var e=0;e<O;++e)E[e]?j.push(a(e,0),\\\"=\\\",i(e),\\\".get(\\\",c(e),\\\");\\\"):j.push(a(e,0),\\\"=\\\",i(e),\\\"[\\\",c(e),\\\"];\\\");for(var r=[],e=0;e<O;++e)r.push(a(e,0));for(var e=0;e<b;++e)r.push(u(e));j.push(p(0),\\\"=\\\",M,\\\"[\\\",T,\\\"]=phase(\\\",r.join(),\\\");\\\");for(var n=1;n<1<<R;++n)j.push(p(n),\\\"=\\\",M,\\\"[\\\",T,\\\"+\\\",v(n),\\\"];\\\");for(var o=[],n=1;n<1<<R;++n)o.push(\\\"(\\\"+p(0)+\\\"!==\\\"+p(n)+\\\")\\\");j.push(\\\"if(\\\",o.join(\\\"||\\\"),\\\"){\\\");for(var s=[],e=0;e<R;++e)s.push(f(e));for(var e=0;e<O;++e){s.push(a(e,0));for(var n=1;n<1<<R;++n)E[e]?j.push(a(e,n),\\\"=\\\",i(e),\\\".get(\\\",c(e),\\\"+\\\",h(e,n),\\\");\\\"):j.push(a(e,n),\\\"=\\\",i(e),\\\"[\\\",c(e),\\\"+\\\",h(e,n),\\\"];\\\"),s.push(a(e,n))}for(var e=0;e<1<<R;++e)s.push(p(e));for(var e=0;e<b;++e)s.push(u(e));j.push(\\\"vertex(\\\",s.join(),\\\");\\\",g(0),\\\"=\\\",w,\\\"[\\\",T,\\\"]=\\\",k,\\\"++;\\\");for(var l=(1<<R)-1,d=p(l),n=0;n<R;++n)if(0==(t&~(1<<n))){for(var m=l^1<<n,y=p(m),x=[],_=m;_>0;_=_-1&m)x.push(w+\\\"[\\\"+T+\\\"+\\\"+v(_)+\\\"]\\\");x.push(g(0));for(var _=0;_<O;++_)1&n?x.push(a(_,l),a(_,m)):x.push(a(_,m),a(_,l));1&n?x.push(d,y):x.push(y,d);for(var _=0;_<b;++_)x.push(u(_));j.push(\\\"if(\\\",d,\\\"!==\\\",y,\\\"){\\\",\\\"face(\\\",x.join(),\\\")}\\\")}j.push(\\\"}\\\",T,\\\"+=1;\\\")}function D(){for(var t=1;t<1<<R;++t)j.push(S,\\\"=\\\",v(t),\\\";\\\",v(t),\\\"=\\\",m(t),\\\";\\\",m(t),\\\"=\\\",S,\\\";\\\")}function P(t,e){if(t<0)return void I(e);z(t),j.push(\\\"if(\\\",o(x[t]),\\\">0){\\\",f(x[t]),\\\"=1;\\\"),P(t-1,e|1<<x[t]);for(var r=0;r<O;++r)j.push(c(r),\\\"+=\\\",d(r,x[t]),\\\";\\\");t===R-1&&(j.push(T,\\\"=0;\\\"),D()),L(t,2),P(t-1,e),t===R-1&&(j.push(\\\"if(\\\",f(x[R-1]),\\\"&1){\\\",T,\\\"=0;}\\\"),D()),C(t),j.push(\\\"}\\\")}var O=E.length,R=x.length;if(R<2)throw new Error(\\\"ndarray-extract-contour: Dimension must be at least 2\\\");for(var F=\\\"extractContour\\\"+x.join(\\\"_\\\"),j=[],N=[],B=[],U=0;U<O;++U)B.push(n(U));for(var U=0;U<b;++U)B.push(u(U));for(var U=0;U<R;++U)N.push(o(U)+\\\"=\\\"+n(0)+\\\".shape[\\\"+U+\\\"]|0\\\");for(var U=0;U<O;++U){N.push(i(U)+\\\"=\\\"+n(U)+\\\".data\\\",l(U)+\\\"=\\\"+n(U)+\\\".offset|0\\\");for(var V=0;V<R;++V)N.push(s(U,V)+\\\"=\\\"+n(U)+\\\".stride[\\\"+V+\\\"]|0\\\")}for(var U=0;U<O;++U){N.push(c(U)+\\\"=\\\"+l(U)),N.push(a(U,0));for(var V=1;V<1<<R;++V){for(var H=[],q=0;q<R;++q)V&1<<q&&H.push(\\\"-\\\"+s(U,q));N.push(h(U,V)+\\\"=(\\\"+H.join(\\\"\\\")+\\\")|0\\\"),N.push(a(U,V)+\\\"=0\\\")}}for(var U=0;U<O;++U)for(var V=0;V<R;++V){var G=[s(U,x[V])];V>0&&G.push(s(U,x[V-1])+\\\"*\\\"+o(x[V-1])),N.push(d(U,x[V])+\\\"=(\\\"+G.join(\\\"-\\\")+\\\")|0\\\")}for(var U=0;U<R;++U)N.push(f(U)+\\\"=0\\\");N.push(k+\\\"=0\\\");for(var Y=[\\\"2\\\"],U=R-2;U>=0;--U)Y.push(o(x[U]));N.push(A+\\\"=(\\\"+Y.join(\\\"*\\\")+\\\")|0\\\",M+\\\"=mallocUint32(\\\"+A+\\\")\\\",w+\\\"=mallocUint32(\\\"+A+\\\")\\\",T+\\\"=0\\\"),N.push(p(0)+\\\"=0\\\");for(var V=1;V<1<<R;++V){for(var X=[],W=[],q=0;q<R;++q)V&1<<q&&(0===W.length?X.push(\\\"1\\\"):X.unshift(W.join(\\\"*\\\"))),W.push(o(x[q]));var Z=\\\"\\\";X[0].indexOf(o(x[R-2]))<0&&(Z=\\\"-\\\");var J=y(R,V,x);N.push(v(J)+\\\"=(-\\\"+X.join(\\\"-\\\")+\\\")|0\\\",m(J)+\\\"=(\\\"+Z+X.join(\\\"-\\\")+\\\")|0\\\",p(J)+\\\"=0\\\")}N.push(g(0)+\\\"=0\\\",S+\\\"=0\\\"),P(R-1,0),j.push(\\\"freeUint32(\\\",w,\\\");freeUint32(\\\",M,\\\");\\\");var K=[\\\"'use strict';\\\",\\\"function \\\",F,\\\"(\\\",B.join(),\\\"){\\\",\\\"var \\\",N.join(),\\\";\\\",j.join(\\\"\\\"),\\\"}\\\",\\\"return \\\",F].join(\\\"\\\");return new Function(\\\"vertex\\\",\\\"face\\\",\\\"phase\\\",\\\"mallocUint32\\\",\\\"freeUint32\\\",K)(t,e,r,_.mallocUint32,_.freeUint32)}function x(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 n=t.arrayArguments||1;n<1&&e(\\\"Must have at least one array argument\\\");var i=t.scalarArguments||0;i<0&&e(\\\"Scalar arg count must be > 0\\\"),\\n\",\n       \"\\\"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 a=t.getters||[],o=new Array(n),s=0;s<n;++s)a.indexOf(s)>=0?o[s]=!0:o[s]=!1;return b(t.vertex,t.cell,t.phase,i,r,o)}var _=t(\\\"typedarray-pool\\\");e.exports=x;var w=\\\"V\\\",M=\\\"P\\\",k=\\\"N\\\",A=\\\"Q\\\",T=\\\"X\\\",S=\\\"T\\\"},{\\\"typedarray-pool\\\":540}],456:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\"],pre:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},body:{body:\\\"{_inline_7_arg1_=_inline_7_arg2_.apply(void 0,_inline_7_arg0_)}\\\",args:[{name:\\\"_inline_7_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_7_arg2_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\\\"cwise/lib/wrapper\\\":112}],457:[function(t,e,r){\\\"use strict\\\";function n(t){if(t in l)return l[t];for(var e=[],r=0;r<t;++r)e.push(\\\"out\\\",r,\\\"s=0.5*(inp\\\",r,\\\"l-inp\\\",r,\\\"r);\\\");for(var n=[\\\"array\\\"],i=[\\\"junk\\\"],r=0;r<t;++r){n.push(\\\"array\\\"),i.push(\\\"out\\\"+r+\\\"s\\\");var a=o(t);a[r]=-1,n.push({array:0,offset:a.slice()}),a[r]=1,n.push({array:0,offset:a.slice()}),i.push(\\\"inp\\\"+r+\\\"l\\\",\\\"inp\\\"+r+\\\"r\\\")}return l[t]=s({args:n,pre:c,post:c,body:{body:e.join(\\\"\\\"),args:i.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})}function i(t){var e=t.join(),r=u[e];if(r)return r;for(var i=t.length,a=[\\\"function gradient(dst,src){var s=src.shape.slice();\\\"],o=0;o<1<<i;++o){for(var s=[],c=0;c<i;++c)o&1<<c&&s.push(c+1);for(var d=0;d<1<<s.length;++d){for(var p=s.slice(),c=0;c<s.length;++c)d&1<<c&&(p[c]=-p[c]);!function(e){for(var r=i-e.length,n=[],o=[],s=[],l=0;l<i;++l)e.indexOf(l+1)>=0?s.push(\\\"0\\\"):e.indexOf(-(l+1))>=0?s.push(\\\"s[\\\"+l+\\\"]-1\\\"):(s.push(\\\"-1\\\"),n.push(\\\"1\\\"),o.push(\\\"s[\\\"+l+\\\"]-2\\\"));var u=\\\".lo(\\\"+n.join()+\\\").hi(\\\"+o.join()+\\\")\\\";if(0===n.length&&(u=\\\"\\\"),r>0){a.push(\\\"if(1\\\");for(var l=0;l<i;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||a.push(\\\"&&s[\\\",l,\\\"]>2\\\");a.push(\\\"){grad\\\",r,\\\"(src.pick(\\\",s.join(),\\\")\\\",u);for(var l=0;l<i;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||a.push(\\\",dst.pick(\\\",s.join(),\\\",\\\",l,\\\")\\\",u);a.push(\\\");\\\")}for(var l=0;l<e.length;++l){var c=Math.abs(e[l])-1,h=\\\"dst.pick(\\\"+s.join()+\\\",\\\"+c+\\\")\\\"+u;switch(t[c]){case\\\"clamp\\\":var f=s.slice(),d=s.slice();e[l]<0?f[c]=\\\"s[\\\"+c+\\\"]-2\\\":d[c]=\\\"1\\\",0===r?a.push(\\\"if(s[\\\",c,\\\"]>1){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",f.join(),\\\")-src.get(\\\",d.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):a.push(\\\"if(s[\\\",c,\\\"]>1){diff(\\\",h,\\\",src.pick(\\\",f.join(),\\\")\\\",u,\\\",src.pick(\\\",d.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;case\\\"mirror\\\":0===r?a.push(\\\"dst.set(\\\",s.join(),\\\",\\\",c,\\\",0);\\\"):a.push(\\\"zero(\\\",h,\\\");\\\");break;case\\\"wrap\\\":var p=s.slice(),m=s.slice();e[l]<0?(p[c]=\\\"s[\\\"+c+\\\"]-2\\\",m[c]=\\\"0\\\"):(p[c]=\\\"s[\\\"+c+\\\"]-1\\\",m[c]=\\\"1\\\"),0===r?a.push(\\\"if(s[\\\",c,\\\"]>2){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",p.join(),\\\")-src.get(\\\",m.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):a.push(\\\"if(s[\\\",c,\\\"]>2){diff(\\\",h,\\\",src.pick(\\\",p.join(),\\\")\\\",u,\\\",src.pick(\\\",m.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;default:throw new Error(\\\"ndarray-gradient: Invalid boundary condition\\\")}}r>0&&a.push(\\\"};\\\")}(p)}}a.push(\\\"return dst;};return gradient\\\");for(var m=[\\\"diff\\\",\\\"zero\\\"],v=[h,f],o=1;o<=i;++o)m.push(\\\"grad\\\"+o),v.push(n(o));m.push(a.join(\\\"\\\"));var g=Function.apply(void 0,m),r=g.apply(void 0,v);return l[e]=r,r}function a(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\\\"ndarray-gradient: invalid boundary conditions\\\")}else r=\\\"string\\\"==typeof r?o(e.dimension,r):o(e.dimension,\\\"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 n=0;n<e.dimension;++n)if(t.shape[n]!==e.shape[n])throw new Error(\\\"ndarray-gradient: shape mismatch\\\");return 0===e.size?t:e.dimension<=0?(t.set(0),t):i(r)(t,e)}e.exports=a;var o=t(\\\"dup\\\"),s=t(\\\"cwise-compiler\\\"),l={},u={},c={body:\\\"\\\",args:[],thisVars:[],localVars:[]},h=s({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],pre:c,post:c,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\\\"}),f=s({args:[\\\"array\\\"],pre:c,post:c,body:{args:[{name:\\\"out\\\",lvalue:!0,rvalue:!1,count:1}],body:\\\"out=0\\\",thisVars:[],localVars:[]},funcName:\\\"zero\\\"})},{\\\"cwise-compiler\\\":109,dup:124}],458:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=e.dimension,o=a([],r);return i(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=o[(n+1)*n+r];for(var i=0;i<n;++i)t[r]+=o[(n+1)*i+r]*e[i]}for(var a=o[(n+1)*(n+1)-1],i=0;i<n;++i)a+=o[(n+1)*i+n]*e[i];for(var s=1/a,r=0;r<n;++r)t[r]*=s;return t}),t}var i=t(\\\"ndarray-warp\\\"),a=t(\\\"gl-matrix-invert\\\");e.exports=n},{\\\"gl-matrix-invert\\\":191,\\\"ndarray-warp\\\":465}],459:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<t.shape[1],c=0<=s+1&&s+1<t.shape[1],h=a&&u?t.get(n,s):0,f=a&&c?t.get(n,s+1):0;return(1-l)*((1-i)*h+i*(o&&u?t.get(n+1,s):0))+l*((1-i)*f+i*(o&&c?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),u=r-l,c=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),d=n-f,p=0<=f&&f<t.shape[2],m=0<=f+1&&f+1<t.shape[2],v=o&&c&&p?t.get(i,l,f):0,g=o&&h&&p?t.get(i,l+1,f):0,y=s&&c&&p?t.get(i+1,l,f):0,b=s&&h&&p?t.get(i+1,l+1,f):0,x=o&&c&&m?t.get(i,l,f+1):0,_=o&&h&&m?t.get(i,l+1,f+1):0;return(1-d)*((1-u)*((1-a)*v+a*y)+u*((1-a)*g+a*b))+d*((1-u)*((1-a)*x+a*(s&&c&&m?t.get(i+1,l,f+1):0))+u*((1-a)*_+a*(s&&h&&m?t.get(i+1,l+1,f+1):0)))}function o(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,u,c,h=0;t:for(e=0;e<1<<n;++e){for(u=1,c=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;u*=a[l],c+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;u*=1-a[l],c+=t.stride[l]*i[l]}h+=u*t.data[c]}return h}function s(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,s);default:return o.apply(void 0,arguments)}}e.exports=s,e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],460:[function(t,e,r){\\\"use strict\\\";function n(t){if(!t)return s;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 i(t){return o({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}function a(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(\\\"\\\"))(i(t))}var o=t(\\\"cwise-compiler\\\"),s={body:\\\"\\\",args:[],thisVars:[],localVars:[]},l={add:\\\"+\\\",sub:\\\"-\\\",mul:\\\"*\\\",div:\\\"/\\\",mod:\\\"%\\\",band:\\\"&\\\",bor:\\\"|\\\",bxor:\\\"^\\\",lshift:\\\"<<\\\",rshift:\\\">>\\\",rrshift:\\\">>>\\\"};!function(){for(var t in l){var e=l[t];r[t]=a({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),r[t+\\\"eq\\\"]=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a\\\"+e+\\\"=b\\\"},rvalue:!0,funcName:t+\\\"eq\\\"}),r[t+\\\"s\\\"]=a({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),r[t+\\\"seq\\\"]=a({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a\\\"+e+\\\"=s\\\"},rvalue:!0,funcName:t+\\\"seq\\\"})}}();var u={not:\\\"!\\\",bnot:\\\"~\\\",neg:\\\"-\\\",recip:\\\"1.0/\\\"};!function(){for(var t in u){var e=u[t];r[t]=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=\\\"+e+\\\"b\\\"},funcName:t}),r[t+\\\"eq\\\"]=a({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]=a({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),r[t+\\\"s\\\"]=a({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),r[t+\\\"eq\\\"]=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=a\\\"+e+\\\"b\\\"},rvalue:!0,count:2,funcName:t+\\\"eq\\\"}),r[t+\\\"seq\\\"]=a({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a=a\\\"+e+\\\"s\\\"},rvalue:!0,count:2,funcName:t+\\\"seq\\\"})}}();var h=[\\\"abs\\\",\\\"acos\\\",\\\"asin\\\",\\\"atan\\\",\\\"ceil\\\",\\\"cos\\\",\\\"exp\\\",\\\"floor\\\",\\\"log\\\",\\\"round\\\",\\\"sin\\\",\\\"sqrt\\\",\\\"tan\\\"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=a({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\\\"]=a({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 f=[\\\"max\\\",\\\"min\\\",\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=a({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\\\"]=a({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\\\"]=a({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\\\"]=a({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 d=[\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<d.length;++t){var e=d[t];r[e+\\\"op\\\"]=a({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\\\"]=a({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\\\"]=a({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\\\"]=a({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=o({args:[\\\"array\\\"],pre:s,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=o({args:[\\\"array\\\"],pre:s,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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=a({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=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assign\\\"}),r.assigns=a({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assigns\\\"}),r.equals=o({args:[\\\"array\\\",\\\"array\\\"],pre:s,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\\\":109}],461:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray\\\"),i=t(\\\"./doConvert.js\\\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\\\"./doConvert.js\\\":462,ndarray:466}],462:[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\\\":109}],463:[function(t,e,r){\\\"use strict\\\";function n(t){switch(t){case\\\"uint8\\\":return[l.mallocUint8,l.freeUint8];case\\\"uint16\\\":return[l.mallocUint16,l.freeUint16];case\\\"uint32\\\":return[l.mallocUint32,l.freeUint32];case\\\"int8\\\":return[l.mallocInt8,l.freeInt8];case\\\"int16\\\":return[l.mallocInt16,l.freeInt16];case\\\"int32\\\":return[l.mallocInt32,l.freeInt32];case\\\"float32\\\":return[l.mallocFloat,l.freeFloat];case\\\"float64\\\":return[l.mallocDouble,l.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r<t;++r)e.push(\\\"s\\\"+r);for(var r=0;r<t;++r)e.push(\\\"n\\\"+r);for(var r=1;r<t;++r)e.push(\\\"d\\\"+r);for(var r=1;r<t;++r)e.push(\\\"e\\\"+r);for(var r=1;r<t;++r)e.push(\\\"f\\\"+r);return e}function a(t,e){function r(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function a(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}var o=[\\\"'use strict'\\\"],s=[\\\"ndarrayInsertionSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),l=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(i(t.length)),u=n(e),c=[\\\"i,j,cptr,ptr=left*s0+offset\\\"];if(t.length>1){for(var h=[],f=1;f<t.length;++f)c.push(\\\"i\\\"+f),h.push(\\\"n\\\"+f);u?c.push(\\\"scratch=malloc(\\\"+h.join(\\\"*\\\")+\\\")\\\"):c.push(\\\"scratch=new Array(\\\"+h.join(\\\"*\\\")+\\\")\\\"),c.push(\\\"dptr\\\",\\\"sptr\\\",\\\"a\\\",\\\"b\\\")}else c.push(\\\"scratch\\\");if(o.push([\\\"function \\\",s,\\\"(\\\",l.join(\\\",\\\"),\\\"){var \\\",c.join(\\\",\\\")].join(\\\"\\\"),\\\"for(i=left+1;i<=right;++i){\\\",\\\"j=i;ptr+=s0\\\",\\\"cptr=ptr\\\"),t.length>1){o.push(\\\"dptr=0;sptr=ptr\\\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\\\"for(i\\\",d,\\\"=0;i\\\",d,\\\"<n\\\",d,\\\";++i\\\",d,\\\"){\\\"].join(\\\"\\\"))}o.push(\\\"scratch[dptr++]=\\\",r(\\\"sptr\\\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\\\"sptr+=d\\\"+d,\\\"}\\\")}o.push(\\\"__g:while(j--\\\\x3eleft){\\\",\\\"dptr=0\\\",\\\"sptr=cptr-s0\\\");for(var f=1;f<t.length;++f)1===f&&o.push(\\\"__l:\\\"),o.push([\\\"for(i\\\",f,\\\"=0;i\\\",f,\\\"<n\\\",f,\\\";++i\\\",f,\\\"){\\\"].join(\\\"\\\"));o.push([\\\"a=\\\",r(\\\"sptr\\\"),\\\"\\\\nb=scratch[dptr]\\\\nif(a<b){break __g}\\\\nif(a>b){break __l}\\\"].join(\\\"\\\"));for(var f=t.length-1;f>=1;--f)o.push(\\\"sptr+=e\\\"+f,\\\"dptr+=f\\\"+f,\\\"}\\\");o.push(\\\"dptr=cptr;sptr=cptr-s0\\\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\\\"for(i\\\",d,\\\"=0;i\\\",d,\\\"<n\\\",d,\\\";++i\\\",d,\\\"){\\\"].join(\\\"\\\"))}o.push(a(\\\"dptr\\\",r(\\\"sptr\\\")));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push([\\\"dptr+=d\\\",d,\\\";sptr+=d\\\",d].join(\\\"\\\"),\\\"}\\\")}o.push(\\\"cptr-=s0\\\\n}\\\"),o.push(\\\"dptr=cptr;sptr=0\\\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\\\"for(i\\\",d,\\\"=0;i\\\",d,\\\"<n\\\",d,\\\";++i\\\",d,\\\"){\\\"].join(\\\"\\\"))}o.push(a(\\\"dptr\\\",\\\"scratch[sptr++]\\\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\\\"dptr+=d\\\"+d,\\\"}\\\")}}else o.push(\\\"scratch=\\\"+r(\\\"ptr\\\"),\\\"while((j--\\\\x3eleft)&&(\\\"+r(\\\"cptr-s0\\\")+\\\">scratch)){\\\",a(\\\"cptr\\\",r(\\\"cptr-s0\\\")),\\\"cptr-=s0\\\",\\\"}\\\",a(\\\"cptr\\\",\\\"scratch\\\"));if(o.push(\\\"}\\\"),t.length>1&&u&&o.push(\\\"free(scratch)\\\"),o.push(\\\"} return \\\"+s),u){var p=new Function(\\\"malloc\\\",\\\"free\\\",o.join(\\\"\\\\n\\\"));return p(u[0],u[1])}var p=new Function(o.join(\\\"\\\\n\\\"));return p()}function o(t,e,r){function a(t){return[\\\"(offset+\\\",t,\\\"*s0)\\\"].join(\\\"\\\")}function o(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function s(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}function l(e,r,n){if(1===e.length)_.push(\\\"ptr0=\\\"+a(e[0]));else for(var i=0;i<e.length;++i)_.push([\\\"b_ptr\\\",i,\\\"=s0*\\\",e[i]].join(\\\"\\\"));r&&_.push(\\\"pivot_ptr=0\\\"),_.push(\\\"ptr_shift=offset\\\");for(var i=t.length-1;i>=0;--i){var o=t[i];0!==o&&_.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"))}if(e.length>1)for(var i=0;i<e.length;++i)_.push([\\\"ptr\\\",i,\\\"=b_ptr\\\",i,\\\"+ptr_shift\\\"].join(\\\"\\\"));_.push(n),r&&_.push(\\\"++pivot_ptr\\\");for(var i=0;i<t.length;++i){var o=t[i];0!==o&&(e.length>1?_.push(\\\"ptr_shift+=d\\\"+o):_.push(\\\"ptr0+=d\\\"+o),_.push(\\\"}\\\"))}}function c(e,r,n,i){if(1===r.length)_.push(\\\"ptr0=\\\"+a(r[0]));else{for(var o=0;o<r.length;++o)_.push([\\\"b_ptr\\\",o,\\\"=s0*\\\",r[o]].join(\\\"\\\"));_.push(\\\"ptr_shift=offset\\\")}n&&_.push(\\\"pivot_ptr=0\\\"),e&&_.push(e+\\\":\\\");for(var o=1;o<t.length;++o)_.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"));if(r.length>1)for(var o=0;o<r.length;++o)_.push([\\\"ptr\\\",o,\\\"=b_ptr\\\",o,\\\"+ptr_shift\\\"].join(\\\"\\\"));_.push(i);for(var o=t.length-1;o>=1;--o)n&&_.push(\\\"pivot_ptr+=f\\\"+o),r.length>1?_.push(\\\"ptr_shift+=e\\\"+o):_.push(\\\"ptr0+=e\\\"+o),_.push(\\\"}\\\")}function h(){t.length>1&&k&&_.push(\\\"free(pivot1)\\\",\\\"free(pivot2)\\\")}function f(e,r){var n=\\\"el\\\"+e,i=\\\"el\\\"+r;if(t.length>1){var s=\\\"__l\\\"+ ++A;c(s,[n,i],!1,[\\\"comp=\\\",o(\\\"ptr0\\\"),\\\"-\\\",o(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"if(comp>0){tmp0=\\\",n,\\\";\\\",n,\\\"=\\\",i,\\\";\\\",i,\\\"=tmp0;break \\\",s,\\\"}\\\\n\\\",\\\"if(comp<0){break \\\",s,\\\"}\\\"].join(\\\"\\\"))}else _.push([\\\"if(\\\",o(a(n)),\\\">\\\",o(a(i)),\\\"){tmp0=\\\",n,\\\";\\\",n,\\\"=\\\",i,\\\";\\\",i,\\\"=tmp0}\\\"].join(\\\"\\\"))}function d(e,r){t.length>1?l([e,r],!1,s(\\\"ptr0\\\",o(\\\"ptr1\\\"))):_.push(s(a(e),o(a(r))))}function p(e,r,n){if(t.length>1){var i=\\\"__l\\\"+ ++A;c(i,[r],!0,[e,\\\"=\\\",o(\\\"ptr0\\\"),\\\"-pivot\\\",n,\\\"[pivot_ptr]\\\\n\\\",\\\"if(\\\",e,\\\"!==0){break \\\",i,\\\"}\\\"].join(\\\"\\\"))}else _.push([e,\\\"=\\\",o(a(r)),\\\"-pivot\\\",n].join(\\\"\\\"))}function m(e,r){t.length>1?l([e,r],!1,[\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\")):_.push([\\\"ptr0=\\\",a(e),\\\"\\\\n\\\",\\\"ptr1=\\\",a(r),\\\"\\\\n\\\",\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\"))}function v(e,r,n){t.length>1?(l([e,r,n],!1,[\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",o(\\\"ptr2\\\")),\\\"\\\\n\\\",s(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\")),_.push(\\\"++\\\"+r,\\\"--\\\"+n)):_.push([\\\"ptr0=\\\",a(e),\\\"\\\\n\\\",\\\"ptr1=\\\",a(r),\\\"\\\\n\\\",\\\"ptr2=\\\",a(n),\\\"\\\\n\\\",\\\"++\\\",r,\\\"\\\\n\\\",\\\"--\\\",n,\\\"\\\\n\\\",\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",o(\\\"ptr2\\\")),\\\"\\\\n\\\",s(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\"))}function g(t,e){m(t,e),_.push(\\\"--\\\"+e)}function y(e,r,n){t.length>1?l([e,r],!0,[s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",[\\\"pivot\\\",n,\\\"[pivot_ptr]\\\"].join(\\\"\\\"))].join(\\\"\\\")):_.push(s(a(e),o(a(r))),s(a(r),\\\"pivot\\\"+n))}function b(e,r){_.push([\\\"if((\\\",r,\\\"-\\\",e,\\\")<=\\\",u,\\\"){\\\\n\\\",\\\"insertionSort(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",i(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}else{\\\\n\\\",w,\\\"(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",i(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}\\\"].join(\\\"\\\"))}function x(e,r,n){t.length>1?(_.push([\\\"__l\\\",++A,\\\":while(true){\\\"].join(\\\"\\\")),l([e],!0,[\\\"if(\\\",o(\\\"ptr0\\\"),\\\"!==pivot\\\",r,\\\"[pivot_ptr]){break __l\\\",A,\\\"}\\\"].join(\\\"\\\")),_.push(n,\\\"}\\\")):_.push([\\\"while(\\\",o(a(e)),\\\"===pivot\\\",r,\\\"){\\\",n,\\\"}\\\"].join(\\\"\\\"))}var _=[\\\"'use strict'\\\"],w=[\\\"ndarrayQuickSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),M=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(i(t.length)),k=n(e),A=0;_.push([\\\"function \\\",w,\\\"(\\\",M.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));var T=[\\\"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 S=[],E=1;E<t.length;++E)S.push(\\\"n\\\"+E),T.push(\\\"i\\\"+E);for(var E=0;E<8;++E)T.push(\\\"b_ptr\\\"+E);T.push(\\\"ptr3\\\",\\\"ptr4\\\",\\\"ptr5\\\",\\\"ptr6\\\",\\\"ptr7\\\",\\\"pivot_ptr\\\",\\\"ptr_shift\\\",\\\"elementSize=\\\"+S.join(\\\"*\\\")),k?T.push(\\\"pivot1=malloc(elementSize)\\\",\\\"pivot2=malloc(elementSize)\\\"):T.push(\\\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\\\")}else T.push(\\\"pivot1\\\",\\\"pivot2\\\");if(_.push(\\\"var \\\"+T.join(\\\",\\\")),f(1,2),f(4,5),f(1,3),f(2,3),f(1,4),f(3,4),f(2,5),f(2,3),f(4,5),t.length>1?l([\\\"el1\\\",\\\"el2\\\",\\\"el3\\\",\\\"el4\\\",\\\"el5\\\",\\\"index1\\\",\\\"index3\\\",\\\"index5\\\"],!0,[\\\"pivot1[pivot_ptr]=\\\",o(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"pivot2[pivot_ptr]=\\\",o(\\\"ptr3\\\"),\\\"\\\\n\\\",\\\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\\\n\\\",\\\"x=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",\\\"y=\\\",o(\\\"ptr2\\\"),\\\"\\\\n\\\",\\\"z=\\\",o(\\\"ptr4\\\"),\\\"\\\\n\\\",s(\\\"ptr5\\\",\\\"x\\\"),\\\"\\\\n\\\",s(\\\"ptr6\\\",\\\"y\\\"),\\\"\\\\n\\\",s(\\\"ptr7\\\",\\\"z\\\")].join(\\\"\\\")):_.push([\\\"pivot1=\\\",o(a(\\\"el2\\\")),\\\"\\\\n\\\",\\\"pivot2=\\\",o(a(\\\"el4\\\")),\\\"\\\\n\\\",\\\"pivots_are_equal=pivot1===pivot2\\\\n\\\",\\\"x=\\\",o(a(\\\"el1\\\")),\\\"\\\\n\\\",\\\"y=\\\",o(a(\\\"el3\\\")),\\\"\\\\n\\\",\\\"z=\\\",o(a(\\\"el5\\\")),\\\"\\\\n\\\",s(a(\\\"index1\\\"),\\\"x\\\"),\\\"\\\\n\\\",s(a(\\\"index3\\\"),\\\"y\\\"),\\\"\\\\n\\\",s(a(\\\"index5\\\"),\\\"z\\\")].join(\\\"\\\")),d(\\\"index2\\\",\\\"left\\\"),d(\\\"index4\\\",\\\"right\\\"),_.push(\\\"if(pivots_are_equal){\\\"),_.push(\\\"for(k=less;k<=great;++k){\\\"),p(\\\"comp\\\",\\\"k\\\",1),_.push(\\\"if(comp===0){continue}\\\"),_.push(\\\"if(comp<0){\\\"),_.push(\\\"if(k!==less){\\\"),m(\\\"k\\\",\\\"less\\\"),_.push(\\\"}\\\"),_.push(\\\"++less\\\"),_.push(\\\"}else{\\\"),_.push(\\\"while(true){\\\"),p(\\\"comp\\\",\\\"great\\\",1),_.push(\\\"if(comp>0){\\\"),_.push(\\\"great--\\\"),_.push(\\\"}else if(comp<0){\\\"),v(\\\"k\\\",\\\"less\\\",\\\"great\\\"),_.push(\\\"break\\\"),_.push(\\\"}else{\\\"),g(\\\"k\\\",\\\"great\\\"),_.push(\\\"break\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}else{\\\"),_.push(\\\"for(k=less;k<=great;++k){\\\"),p(\\\"comp_pivot1\\\",\\\"k\\\",1),_.push(\\\"if(comp_pivot1<0){\\\"),_.push(\\\"if(k!==less){\\\"),m(\\\"k\\\",\\\"less\\\"),_.push(\\\"}\\\"),_.push(\\\"++less\\\"),_.push(\\\"}else{\\\"),p(\\\"comp_pivot2\\\",\\\"k\\\",2),_.push(\\\"if(comp_pivot2>0){\\\"),_.push(\\\"while(true){\\\"),p(\\\"comp\\\",\\\"great\\\",2),_.push(\\\"if(comp>0){\\\"),_.push(\\\"if(--great<k){break}\\\"),_.push(\\\"continue\\\"),_.push(\\\"}else{\\\"),p(\\\"comp\\\",\\\"great\\\",1),_.push(\\\"if(comp<0){\\\"),v(\\\"k\\\",\\\"less\\\",\\\"great\\\"),_.push(\\\"}else{\\\"),g(\\\"k\\\",\\\"great\\\"),_.push(\\\"}\\\"),_.push(\\\"break\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),y(\\\"left\\\",\\\"(less-1)\\\",1),y(\\\"right\\\",\\\"(great+1)\\\",2),b(\\\"left\\\",\\\"(less-2)\\\"),b(\\\"(great+2)\\\",\\\"right\\\"),_.push(\\\"if(pivots_are_equal){\\\"),h(),_.push(\\\"return\\\"),_.push(\\\"}\\\"),_.push(\\\"if(less<index1&&great>index5){\\\"),x(\\\"less\\\",1,\\\"++less\\\"),x(\\\"great\\\",2,\\\"--great\\\"),_.push(\\\"for(k=less;k<=great;++k){\\\"),p(\\\"comp_pivot1\\\",\\\"k\\\",1),_.push(\\\"if(comp_pivot1===0){\\\"),_.push(\\\"if(k!==less){\\\"),m(\\\"k\\\",\\\"less\\\"),_.push(\\\"}\\\"),_.push(\\\"++less\\\"),_.push(\\\"}else{\\\"),p(\\\"comp_pivot2\\\",\\\"k\\\",2),_.push(\\\"if(comp_pivot2===0){\\\"),_.push(\\\"while(true){\\\"),p(\\\"comp\\\",\\\"great\\\",2),_.push(\\\"if(comp===0){\\\"),_.push(\\\"if(--great<k){break}\\\"),_.push(\\\"continue\\\"),_.push(\\\"}else{\\\"),p(\\\"comp\\\",\\\"great\\\",1),_.push(\\\"if(comp<0){\\\"),v(\\\"k\\\",\\\"less\\\",\\\"great\\\"),_.push(\\\"}else{\\\"),g(\\\"k\\\",\\\"great\\\"),_.push(\\\"}\\\"),_.push(\\\"break\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),h(),b(\\\"less\\\",\\\"great\\\"),_.push(\\\"}return \\\"+w),t.length>1&&k){var L=new Function(\\\"insertionSort\\\",\\\"malloc\\\",\\\"free\\\",_.join(\\\"\\\\n\\\"));return L(r,k[0],k[1])}var L=new Function(\\\"insertionSort\\\",_.join(\\\"\\\\n\\\"));return L(r)}function s(t,e){var r=[\\\"'use strict'\\\"],n=[\\\"ndarraySortWrapper\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),s=[\\\"array\\\"];r.push([\\\"function \\\",n,\\\"(\\\",s.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var l=[\\\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\\\"],c=0;c<t.length;++c)l.push([\\\"s\\\",c,\\\"=stride[\\\",c,\\\"]|0,n\\\",c,\\\"=shape[\\\",c,\\\"]|0\\\"].join(\\\"\\\"));for(var h=new Array(t.length),f=[],c=0;c<t.length;++c){var d=t[c];0!==d&&(0===f.length?h[d]=\\\"1\\\":h[d]=f.join(\\\"*\\\"),f.push(\\\"n\\\"+d))}for(var p=-1,m=-1,c=0;c<t.length;++c){var v=t[c];0!==v&&(p>0?l.push([\\\"d\\\",v,\\\"=s\\\",v,\\\"-d\\\",p,\\\"*n\\\",p].join(\\\"\\\")):l.push([\\\"d\\\",v,\\\"=s\\\",v].join(\\\"\\\")),p=v);var d=t.length-1-c;0!==d&&(m>0?l.push([\\\"e\\\",d,\\\"=s\\\",d,\\\"-e\\\",m,\\\"*n\\\",m,\\\",f\\\",d,\\\"=\\\",h[d],\\\"-f\\\",m,\\\"*n\\\",m].join(\\\"\\\")):l.push([\\\"e\\\",d,\\\"=s\\\",d,\\\",f\\\",d,\\\"=\\\",h[d]].join(\\\"\\\")),m=d)}r.push(\\\"var \\\"+l.join(\\\",\\\"));var g=[\\\"0\\\",\\\"n0-1\\\",\\\"data\\\",\\\"offset\\\"].concat(i(t.length));r.push([\\\"if(n0<=\\\",u,\\\"){\\\",\\\"insertionSort(\\\",g.join(\\\",\\\"),\\\")}else{\\\",\\\"quickSort(\\\",g.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),r.push(\\\"}return \\\"+n);var y=new Function(\\\"insertionSort\\\",\\\"quickSort\\\",r.join(\\\"\\\\n\\\")),b=a(t,e);return y(b,o(t,e,b))}var l=t(\\\"typedarray-pool\\\"),u=32;e.exports=s},{\\\"typedarray-pool\\\":540}],464:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.order,r=t.dtype,n=[e,r],o=n.join(\\\":\\\"),s=a[o];return s||(a[o]=s=i(e,r)),s(t),t}var i=t(\\\"./lib/compile_sort.js\\\"),a={};e.exports=n},{\\\"./lib/compile_sort.js\\\":463}],465:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray-linear-interpolate\\\"),i=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=new Array(_inline_33_arg4_)}\\\",args:[{name:\\\"_inline_33_arg0_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg1_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg2_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg3_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_34_arg2_(this_warped,_inline_34_arg0_),_inline_34_arg1_=_inline_34_arg3_.apply(void 0,this_warped)}\\\",args:[{name:\\\"_inline_34_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_34_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_34_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_34_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_34_arg4_\\\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warpND\\\",blockSize:64}),a=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_37_arg2_(this_warped,_inline_37_arg0_),_inline_37_arg1_=_inline_37_arg3_(_inline_37_arg4_,this_warped[0])}\\\",args:[{name:\\\"_inline_37_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_37_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_37_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_37_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_37_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp1D\\\",blockSize:64}),o=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_40_arg2_(this_warped,_inline_40_arg0_),_inline_40_arg1_=_inline_40_arg3_(_inline_40_arg4_,this_warped[0],this_warped[1])}\\\",args:[{name:\\\"_inline_40_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_40_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_40_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_40_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_40_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp2D\\\",blockSize:64}),s=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_43_arg2_(this_warped,_inline_43_arg0_),_inline_43_arg1_=_inline_43_arg3_(_inline_43_arg4_,this_warped[0],this_warped[1],this_warped[2])}\\\",args:[{name:\\\"_inline_43_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_43_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_43_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_43_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_43_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp3D\\\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\\\"cwise/lib/wrapper\\\":112,\\\"ndarray-linear-interpolate\\\":459}],466:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){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(n);var i=new Array(r.length);for(t=0;t<i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[\\\"View\\\",e,\\\"d\\\",t].join(\\\"\\\");e<0&&(r=\\\"View_Nil\\\"+t);var n=\\\"generic\\\"===t;if(-1===e){\\n\",\n       \"var a=\\\"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);}\\\",o=new Function(a);return o()}if(0===e){var a=\\\"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 \\\"+(n?\\\"this.data.get(this.offset)\\\":\\\"this.data[this.offset]\\\")+\\\"};proto.set=function \\\"+r+\\\"_set(v){return \\\"+(n?\\\"this.data.set(this.offset,v)\\\":\\\"this.data[this.offset]=v\\\")+\\\"};return function construct_\\\"+r+\\\"(a,b,c,d){return new \\\"+r+\\\"(a,d)}\\\",o=new Function(\\\"TrivialArray\\\",a);return o(h[t][0])}var a=[\\\"'use strict'\\\"],s=l(e),u=s.map(function(t){return\\\"i\\\"+t}),c=\\\"this.offset+\\\"+s.map(function(t){return\\\"this.stride[\\\"+t+\\\"]*i\\\"+t}).join(\\\"+\\\"),f=s.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\"),d=s.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\");a.push(\\\"function \\\"+r+\\\"(a,\\\"+f+\\\",\\\"+d+\\\",d){this.data=a\\\",\\\"this.shape=[\\\"+f+\\\"]\\\",\\\"this.stride=[\\\"+d+\\\"]\\\",\\\"this.offset=d|0}\\\",\\\"var proto=\\\"+r+\\\".prototype\\\",\\\"proto.dtype='\\\"+t+\\\"'\\\",\\\"proto.dimension=\\\"+e),a.push(\\\"Object.defineProperty(proto,'size',{get:function \\\"+r+\\\"_size(){return \\\"+s.map(function(t){return\\\"this.shape[\\\"+t+\\\"]\\\"}).join(\\\"*\\\"),\\\"}})\\\"),1===e?a.push(\\\"proto.order=[0]\\\"):(a.push(\\\"Object.defineProperty(proto,'order',{get:\\\"),e<4?(a.push(\\\"function \\\"+r+\\\"_order(){\\\"),2===e?a.push(\\\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\\\"):3===e&&a.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];}}})\\\")):a.push(\\\"ORDER})\\\")),a.push(\\\"proto.set=function \\\"+r+\\\"_set(\\\"+u.join(\\\",\\\")+\\\",v){\\\"),n?a.push(\\\"return this.data.set(\\\"+c+\\\",v)}\\\"):a.push(\\\"return this.data[\\\"+c+\\\"]=v}\\\"),a.push(\\\"proto.get=function \\\"+r+\\\"_get(\\\"+u.join(\\\",\\\")+\\\"){\\\"),n?a.push(\\\"return this.data.get(\\\"+c+\\\")}\\\"):a.push(\\\"return this.data[\\\"+c+\\\"]}\\\"),a.push(\\\"proto.index=function \\\"+r+\\\"_index(\\\",u.join(),\\\"){return \\\"+c+\\\"}\\\"),a.push(\\\"proto.hi=function \\\"+r+\\\"_hi(\\\"+u.join(\\\",\\\")+\\\"){return new \\\"+r+\\\"(this.data,\\\"+s.map(function(t){return[\\\"(typeof i\\\",t,\\\"!=='number'||i\\\",t,\\\"<0)?this.shape[\\\",t,\\\"]:i\\\",t,\\\"|0\\\"].join(\\\"\\\")}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",this.offset)}\\\");var p=s.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}),m=s.map(function(t){return\\\"c\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"});a.push(\\\"proto.lo=function \\\"+r+\\\"_lo(\\\"+u.join(\\\",\\\")+\\\"){var b=this.offset,d=0,\\\"+p.join(\\\",\\\")+\\\",\\\"+m.join(\\\",\\\"));for(var v=0;v<e;++v)a.push(\\\"if(typeof i\\\"+v+\\\"==='number'&&i\\\"+v+\\\">=0){d=i\\\"+v+\\\"|0;b+=c\\\"+v+\\\"*d;a\\\"+v+\\\"-=d}\\\");a.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+s.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\")+\\\",b)}\\\"),a.push(\\\"proto.step=function \\\"+r+\\\"_step(\\\"+u.join(\\\",\\\")+\\\"){var \\\"+s.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"b\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",c=this.offset,d=0,ceil=Math.ceil\\\");for(var v=0;v<e;++v)a.push(\\\"if(typeof i\\\"+v+\\\"==='number'){d=i\\\"+v+\\\"|0;if(d<0){c+=b\\\"+v+\\\"*(a\\\"+v+\\\"-1);a\\\"+v+\\\"=ceil(-a\\\"+v+\\\"/d)}else{a\\\"+v+\\\"=ceil(a\\\"+v+\\\"/d)}b\\\"+v+\\\"*=d}\\\");a.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+s.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\")+\\\",c)}\\\");for(var g=new Array(e),y=new Array(e),v=0;v<e;++v)g[v]=\\\"a[i\\\"+v+\\\"]\\\",y[v]=\\\"b[i\\\"+v+\\\"]\\\";a.push(\\\"proto.transpose=function \\\"+r+\\\"_transpose(\\\"+u+\\\"){\\\"+u.map(function(t,e){return t+\\\"=(\\\"+t+\\\"===undefined?\\\"+e+\\\":\\\"+t+\\\"|0)\\\"}).join(\\\";\\\"),\\\"var a=this.shape,b=this.stride;return new \\\"+r+\\\"(this.data,\\\"+g.join(\\\",\\\")+\\\",\\\"+y.join(\\\",\\\")+\\\",this.offset)}\\\"),a.push(\\\"proto.pick=function \\\"+r+\\\"_pick(\\\"+u+\\\"){var a=[],b=[],c=this.offset\\\");for(var v=0;v<e;++v)a.push(\\\"if(typeof i\\\"+v+\\\"==='number'&&i\\\"+v+\\\">=0){c=(c+this.stride[\\\"+v+\\\"]*i\\\"+v+\\\")|0}else{a.push(this.shape[\\\"+v+\\\"]);b.push(this.stride[\\\"+v+\\\"])}\\\");a.push(\\\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\\\"),a.push(\\\"return function construct_\\\"+r+\\\"(data,shape,stride,offset){return new \\\"+r+\\\"(data,\\\"+s.map(function(t){return\\\"shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",offset)}\\\");var o=new Function(\\\"CTOR_LIST\\\",\\\"ORDER\\\",a.join(\\\"\\\\n\\\"));return o(h[t],i)}function o(t){if(u(t))return\\\"buffer\\\";if(c)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\\\"}return Array.isArray(t)?\\\"array\\\":\\\"generic\\\"}function s(t,e,r,n){if(void 0===t){var i=h.array[0];return i([])}\\\"number\\\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var s=e.length;if(void 0===r){r=new Array(s);for(var l=s-1,u=1;l>=0;--l)r[l]=u,u*=e[l]}if(void 0===n){n=0;for(var l=0;l<s;++l)r[l]<0&&(n-=(e[l]-1)*r[l])}for(var c=o(t),f=h[c];f.length<=s+1;)f.push(a(c,f.length-1));var i=f[s+1];return i(t,e,r,n)}var l=t(\\\"iota-array\\\"),u=t(\\\"is-buffer\\\"),c=\\\"undefined\\\"!=typeof Float64Array,h={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=s},{\\\"iota-array\\\":292,\\\"is-buffer\\\":294}],467:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=i.hi(t),n=i.lo(t);return e>t==t>0?n===o?(r+=1,n=0):n+=1:0===n?(n=o,r-=1):n-=1,i.pack(n,r)}var i=t(\\\"double-bits\\\"),a=Math.pow(2,-1074),o=-1>>>0;e.exports=n},{\\\"double-bits\\\":123}],468:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(var o=0;o<t.length;++o)for(var s=t[o],l=0,u=s[s.length-1],c=s[0],h=0;h<s.length;++h){l=u,u=c,c=s[(h+1)%s.length];for(var f=e[l],d=e[u],p=e[c],m=new Array(3),v=0,g=new Array(3),y=0,b=0;b<3;++b)m[b]=f[b]-d[b],v+=m[b]*m[b],g[b]=p[b]-d[b],y+=g[b]*g[b];if(v*y>a)for(var x=i[u],_=1/Math.sqrt(v*y),b=0;b<3;++b){var w=(b+1)%3,M=(b+2)%3;x[b]+=_*(g[w]*m[M]-g[M]*m[w])}}for(var o=0;o<n;++o){for(var x=i[o],k=0,b=0;b<3;++b)k+=x[b]*x[b];if(k>a)for(var _=1/Math.sqrt(k),b=0;b<3;++b)x[b]*=_;else for(var b=0;b<3;++b)x[b]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),u=0;u<3;++u)l[u]=e[s[u]];for(var c=new Array(3),h=new Array(3),u=0;u<3;++u)c[u]=l[1][u]-l[0][u],h[u]=l[2][u]-l[0][u];for(var f=new Array(3),d=0,u=0;u<3;++u){var p=(u+1)%3,m=(u+2)%3;f[u]=c[p]*h[m]-c[m]*h[p],d+=f[u]*f[u]}d=d>a?1/Math.sqrt(d):0;for(var u=0;u<3;++u)f[u]*=d;i[o]=f}return i}},{}],469:[function(t,e,r){\\\"use strict\\\";function n(t){if(null===t||void 0===t)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(t)}var i=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;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=n(t),u=1;u<arguments.length;u++){r=Object(arguments[u]);for(var c in r)a.call(r,c)&&(l[c]=r[c]);if(i){s=i(r);for(var h=0;h<s.length;h++)o.call(r,s[h])&&(l[s[h]]=r[s[h]])}}return l}},{}],470:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,o;return\\\"string\\\"==typeof t?(r=i(t,e),n=r.width,o=r.height):t instanceof HTMLCanvasElement?(n=t.width,o=t.height,t=t.getContext(\\\"2d\\\"),r=t.getImageData(0,0,n,o)):t instanceof ImageData&&(n=t.width,o=t.height,r=t),a(r)}function i(t,e){e||(e={});var r=e.family||\\\"sans-serif\\\",n=l.width,i=l.height,a=e.width||e.height||e.size;a&&a!=n&&(n=i=l.width=l.height=a);var o=e.fontSize||n/2;return u.fillStyle=\\\"#000\\\",u.fillRect(0,0,n,i),u.font=o+\\\"px \\\"+r,u.textBaseline=\\\"middle\\\",u.textAlign=\\\"center\\\",u.fillStyle=\\\"white\\\",u.fillText(t,n/2,i/2),u.getImageData(0,0,n,i)}function a(t){var e,r,n,i,a,l,u,c,h,f,d,p,m,v=t.data,g=t.width,y=t.height,b=Array(y),x=Array(y),_=0,w=0,M=g,k=0,A=0,T=Array(y);for(r=0;r<y;r++)if(l=0,u=0,a=4*r*g,d=o(v.subarray(a,a+4*g),4),d[0]!==d[1]){for(_||(_=r),w=r,e=d[0];e<d[1];e++)i=4*e,n=v[a+i],l+=n,u+=e*n;b[r]=0===l?0:l/g,x[r]=0===l?0:u/l,d[0]<M&&(M=d[0]),d[1]>k&&(k=d[1]),T[r]=d}for(l=0,c=0,u=0,r=0;r<y;r++)(p=b[r])&&(c+=p*r,l+=p,u+=x[r]*p);for(f=c/l,h=u/l,A=0,m=0,r=0;r<y;r++)(d=T[r])&&(m=Math.max(s(h-d[0],f-r),s(h-d[1],f-r)))>A&&(A=m);return{center:[h,f],bounds:[M,_,k,w+1],radius:Math.sqrt(A)}}function o(t,e){var r=0,n=t.length,i=0;for(e||(e=4);!t[i]&&i<n;)i+=e;for(r=i,i=t.length;!t[i]&&i>r;)i-=e;return n=i,[r/e,n/e]}function s(t,e){return t*t+e*e}e.exports=n;var l=document.createElement(\\\"canvas\\\"),u=l.getContext(\\\"2d\\\");l.width=200,l.height=200,n.canvas=l},{}],471:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(h>0){var h=Math.sqrt(c+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,u),h=Math.sqrt(2*f-c+1);e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/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-i)/h)}return t}e.exports=n},{}],472:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s>1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=l([r]),this.center=l(e),this.rotation=l(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)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),r=[].slice.call(r,0,4),a(r,r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(\\\"eye\\\"in t||\\\"up\\\"in t)&&i.lookAt(0,t.eye,t.center,t.up),i}e.exports=s;var l=t(\\\"filtered-vector\\\"),u=t(\\\"gl-mat4/lookAt\\\"),c=t(\\\"gl-mat4/fromQuat\\\"),h=t(\\\"gl-mat4/invert\\\"),f=t(\\\"./lib/quatFromFrame\\\"),d=o.prototype;d.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},d.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;a(e,e);var r=this.computedMatrix;c(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[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 u=0,h=0;h<3;++h)u+=r[l+4*h]*i[h];r[12+l]=-u}},d.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},d.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},d.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var m=a[2],v=a[6],g=a[10],y=m*o+v*s+g*l,b=m*c+v*h+g*f;m-=y*o+b*c,v-=y*s+b*h,g-=y*l+b*f;var x=n(m,v,g);m/=x,v/=x,g/=x;var _=c*e+o*r,w=h*e+s*r,M=f*e+l*r;this.center.move(t,_,w,M);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+i),this.radius.set(t,Math.log(k))},d.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],u=o[8],c=o[1],h=o[5],f=o[9],d=o[2],p=o[6],m=o[10],v=e*s+r*c,g=e*l+r*h,y=e*u+r*f,b=-(p*y-m*g),x=-(m*v-d*y),_=-(d*g-p*v),w=Math.sqrt(Math.max(0,1-Math.pow(b,2)-Math.pow(x,2)-Math.pow(_,2))),M=i(b,x,_,w);M>1e-6?(b/=M,x/=M,_/=M,w/=M):(b=x=_=0,w=1);var k=this.computedRotation,A=k[0],T=k[1],S=k[2],E=k[3],L=A*w+E*b+T*_-S*x,C=T*w+E*x+S*b-A*_,z=S*w+E*_+A*x-T*b,I=E*w-A*b-T*x-S*_;if(a){b=d,x=p,_=m;var D=Math.sin(a)/n(b,x,_);b*=D,x*=D,_*=D,w=Math.cos(e),L=L*w+I*b+C*_-z*x,C=C*w+I*x+z*b-L*_,z=z*w+I*_+L*x-C*b,I=I*w-L*b-C*x-z*_}var P=i(L,C,z,I);P>1e-6?(L/=P,C/=P,z/=P,I/=P):(L=C=z=0,I=1),this.rotation.set(t,L,C,z,I)},d.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;u(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,l=0;l<3;++l)s+=Math.pow(r[l]-e[l],2);this.radius.set(t,.5*Math.log(Math.max(s,1e-6))),this.center.set(t,r[0],r[1],r[2])},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e){var r=this.computedRotation;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;h(n,e);var i=n[15];if(Math.abs(i)>1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var u=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*u,s-n[6]*u,l-n[10]*u),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},d.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},d.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},d.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])]},d.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]}},d.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 i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\\\"./lib/quatFromFrame\\\":471,\\\"filtered-vector\\\":132,\\\"gl-mat4/fromQuat\\\":177,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/lookAt\\\":181}],473:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"repeat-string\\\");e.exports=function(t,e,r){return r=void 0!==r?r+\\\"\\\":\\\" \\\",n(r,e)+t}},{\\\"repeat-string\\\":499}],474:[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}},{}],475:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n>=0;n--){var i=t[n];\\\".\\\"===i?t.splice(n,1):\\\"..\\\"===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(\\\"..\\\");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n<t.length;n++)e(t[n],n,t)&&r.push(t[n]);return r}var i=/^(\\\\/?|)([\\\\s\\\\S]*?)((?:\\\\.{1,2}|[^\\\\/]+?|)(\\\\.[^.\\\\/]*|))(?:[\\\\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=\\\"\\\",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if(\\\"string\\\"!=typeof o)throw new TypeError(\\\"Arguments to path.resolve must be strings\\\");o&&(r=o+\\\"/\\\"+r,i=\\\"/\\\"===o.charAt(0))}return r=e(n(r.split(\\\"/\\\"),function(t){return!!t}),!i).join(\\\"/\\\"),(i?\\\"/\\\":\\\"\\\")+r||\\\".\\\"},r.normalize=function(t){var i=r.isAbsolute(t),a=\\\"/\\\"===o(t,-1);return t=e(n(t.split(\\\"/\\\"),function(t){return!!t}),!i).join(\\\"/\\\"),t||i||(t=\\\".\\\"),t&&a&&(t+=\\\"/\\\"),(i?\\\"/\\\":\\\"\\\")+t},r.isAbsolute=function(t){return\\\"/\\\"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(\\\"string\\\"!=typeof t)throw new TypeError(\\\"Arguments to path.join must be strings\\\");return t}).join(\\\"/\\\"))},r.relative=function(t,e){function n(t){for(var e=0;e<t.length&&\\\"\\\"===t[e];e++);for(var r=t.length-1;r>=0&&\\\"\\\"===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(\\\"/\\\")),a=n(e.split(\\\"/\\\")),o=Math.min(i.length,a.length),s=o,l=0;l<o;l++)if(i[l]!==a[l]){s=l;break}for(var u=[],l=s;l<i.length;l++)u.push(\\\"..\\\");return u=u.concat(a.slice(s)),u.join(\\\"/\\\")},r.sep=\\\"/\\\",r.delimiter=\\\":\\\",r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):\\\".\\\"},r.basename=function(t,e){var r=a(t)[2];return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=\\\"b\\\"===\\\"ab\\\".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,t(\\\"_process\\\"))},{_process:486}],476:[function(t,e,r){\\\"use strict\\\";function n(t){var e;t&&t.length&&(e=t,t=e.length);var r=new Uint8Array(t||0);return e&&r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a<n;a++){if((e=t.charCodeAt(a))>55295&&e<57344){if(!r){e>56319||a+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}e.exports=n;var a,o,s,l=t(\\\"ieee754\\\");a={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\\\"\\\",i=\\\"\\\";e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a<r;a++){var o=this[a];o<=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=\\\"\\\"):i+=\\\"%\\\"+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n<r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r<this.length;r++)t[e+r]=this[r]}},a.writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,s=i(t),s.length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:288}],477:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t){this.buf=v.isBuffer(t)?t:new v(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&r),r<128)return t;if(r=n[e.pos++],t+=34359738368*(127&r),r<128)return t;if(r=n[e.pos++],t+=4398046511104*(127&r),r<128)return t;if(r=n[e.pos++],t+=562949953421312*(127&r),r<128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&r),r<128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&r),r<128)return t;throw new Error(\\\"Expected varint not more than 10 bytes\\\")}function a(t,e){e.realloc(10);for(var r=e.pos+10;t>=1;){if(e.pos>=r)throw new Error(\\\"Given varint doesn't fit into 10 bytes\\\");var n=255&t;e.buf[e.pos++]=n|(t>=128?128:0),t/=128}}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function m(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var v=r.Buffer||t(\\\"./buffer\\\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var g=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&e,e<128?t:(e=r[this.pos++],t|=(127&e)<<7,e<128?t:(e=r[this.pos++],t|=(127&e)<<14,e<128?t:(e=r[this.pos++],t|=(127&e)<<21,e<128?t:i(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e<g)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r<t&&(r=t),e=0;for(var n=0;n<r-t+1;n++){var i=127&~this.buf[t+n];e+=n<4?i<<7*n:i*Math.pow(2,7*n)}return-e-1},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.buf.toString(\\\"utf8\\\",this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.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 v(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&t,this.pos),this.buf.writeUInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&t,this.pos),this.buf.writeInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){if((t=+t)>268435455)return void a(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);var e=v.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),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&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,h,e)},writePackedFloat:function(t,e){this.writeMessage(t,u,e)},writePackedDouble:function(t,e){this.writeMessage(t,c,e)},writePackedFixed32:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,d,e)},writePackedFixed64:function(t,e){this.writeMessage(t,p,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,m,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"./buffer\\\":476}],478:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(e<i){for(var r=1,n=0;n<e;++n)for(var o=0;o<n;++o)if(t[n]<t[o])r=-r;else if(t[n]===t[o])return 0;return r}for(var s=a.mallocUint8(e),n=0;n<e;++n)s[n]=0;for(var r=1,n=0;n<e;++n)if(!s[n]){var l=1;s[n]=1;for(var o=t[n];o!==n;o=t[o]){if(s[o])return a.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return a.freeUint8(s),r}e.exports=n;var i=32,a=t(\\\"typedarray-pool\\\")},{\\\"typedarray-pool\\\":540}],479:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,s=a.mallocUint32(e),l=a.mallocUint32(e),u=0;for(o(t,l),i=0;i<e;++i)s[i]=t[i];for(i=e-1;i>0;--i)n=l[i],r=s[i],s[i]=s[n],s[n]=r,l[i]=l[r],l[r]=n,u=(u+r)*i;return a.freeUint32(l),a.freeUint32(s),u}function i(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]}r=r||new Array(t);var n,i,a,o=1;for(r[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)n=e/o|0,e=e-n*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}var a=t(\\\"typedarray-pool\\\"),o=t(\\\"invert-permutation\\\");r.rank=n,r.unrank=i},{\\\"invert-permutation\\\":291,\\\"typedarray-pool\\\":540}],480:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t,e){var r=s[e][t[e]];r.splice(r.indexOf(t),1)}function n(t,n,a){for(var o,l,u,c=0;c<2;++c)if(s[c][n].length>0){o=s[c][n][0],u=c;break}l=o[1^u];for(var h=0;h<2;++h)for(var f=s[h][n],d=0;d<f.length;++d){var p=f[d],m=p[1^h],v=i(e[t],e[n],e[l],e[m]);v>0&&(o=p,l=m,u=h)}return a?l:(o&&r(o,u),l)}for(var a=0|e.length,o=t.length,s=[new Array(a),new Array(a)],l=0;l<a;++l)s[0][l]=[],s[1][l]=[];for(var l=0;l<o;++l){var u=t[l];s[0][u[0]].push(u),s[1][u[1]].push(u)}for(var c=[],l=0;l<a;++l)s[0][l].length+s[1][l].length===0&&c.push([l]);for(var l=0;l<a;++l)for(var h=0;h<2;++h){for(var f=[];s[h][l].length>0;){var d=(s[0][l].length,function(t,a){var o=s[a][t][0],l=[t];r(o,a);for(var u=o[1^a];;){for(;u!==t;)l.push(u),u=n(l[l.length-2],u,!1);if(s[0][t].length+s[1][t].length===0)break;var c=l[l.length-1],h=t,f=l[1],d=n(c,h,!0);if(i(e[c],e[h],e[f],e[d])<0)break;l.push(t),u=n(c,h)}return l}(l,h));!function(t,e){return e[1]===e[e.length-1]}(f,d)?(f.length>0&&c.push(f),f=d):f.push.apply(f,d)}f.length>0&&c.push(f)}return c}e.exports=n;var i=t(\\\"compare-angle\\\")},{\\\"compare-angle\\\":99}],481:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=i(t,e.length),n=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,n[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var u=o.pop();n[u]=!1;for(var c=r[u],s=0;s<c.length;++s){var h=c[s];0==--a[h]&&o.push(h)}}for(var f=new Array(e.length),d=[],s=0;s<e.length;++s)if(n[s]){var u=d.length;f[s]=u,d.push(e[s])}else f[s]=-1;for(var p=[],s=0;s<t.length;++s){var m=t[s];n[m[0]]&&n[m[1]]&&p.push([f[m[0]],f[m[1]]])}return[p,d]}e.exports=n;var i=t(\\\"edges-to-adjacency-list\\\")},{\\\"edges-to-adjacency-list\\\":126}],482:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function i(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}function a(t,e){function r(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],s=u(-a[0],a[1]),l=u(-a[0],o[1]),h=u(o[0],a[1]),f=u(o[0],o[1]);n=c(n,c(c(s,l),c(h,f)))}return n[n.length-1]>0}function a(t){for(var e=t.length,r=0;r<e;++r)if(!P[t[r]])return!1;return!0}var d=f(t,e);t=d[0],e=d[1];for(var p=e.length,m=(t.length,o(t,e.length)),v=0;v<p;++v)if(m[v].length%2==1)throw new Error(\\\"planar-graph-to-polyline: graph must be manifold\\\");var g=s(t,e);g=g.filter(r);for(var y=g.length,b=new Array(y),x=new Array(y),v=0;v<y;++v){b[v]=v;var _=new Array(y),w=g[v].map(function(t){return e[t]}),M=l([w]),k=0;t:for(var A=0;A<y;++A)if(_[A]=0,v!==A){for(var T=g[A],S=T.length,E=0;E<S;++E){var L=M(e[T[E]]);if(0!==L){L<0&&(_[A]=1,k+=1);continue t}}_[A]=1,k+=1}x[v]=[k,v,_]}x.sort(function(t,e){return e[0]-t[0]});for(var v=0;v<y;++v)for(var _=x[v],C=_[1],z=_[2],A=0;A<y;++A)z[A]&&(b[A]=C);for(var I=i(y),v=0;v<y;++v)I[v].push(b[v]),I[b[v]].push(v);for(var D={},P=n(p,!1),v=0;v<y;++v)for(var T=g[v],S=T.length,A=0;A<S;++A){var O=T[A],R=T[(A+1)%S],F=Math.min(O,R)+\\\":\\\"+Math.max(O,R);if(F in D){var j=D[F];I[j].push(v),I[v].push(j),P[O]=P[R]=!0}else D[F]=v}for(var N=[],B=n(y,-1),v=0;v<y;++v)b[v]!==v||a(g[v])?B[v]=-1:(N.push(v),B[v]=0);for(var d=[];N.length>0;){var U=N.pop(),V=I[U];h(V,function(t,e){return t-e});var H,q=V.length,G=B[U];if(0===G){var T=g[U];H=[T]}for(var v=0;v<q;++v){var Y=V[v];if(!(B[Y]>=0)&&(B[Y]=1^G,N.push(Y),0===G)){var T=g[Y];a(T)||(T.reverse(),H.push(T))}}0===G&&d.push(H)}return d}e.exports=a\\n\",\n       \";var o=t(\\\"edges-to-adjacency-list\\\"),s=t(\\\"planar-dual\\\"),l=t(\\\"point-in-big-polygon\\\"),u=t(\\\"two-product\\\"),c=t(\\\"robust-sum\\\"),h=t(\\\"uniq\\\"),f=t(\\\"./lib/trim-leaves\\\")},{\\\"./lib/trim-leaves\\\":481,\\\"edges-to-adjacency-list\\\":126,\\\"planar-dual\\\":480,\\\"point-in-big-polygon\\\":484,\\\"robust-sum\\\":512,\\\"two-product\\\":538,uniq:542}],483:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,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},_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=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],484:[function(t,e,r){function n(){return!0}function i(t){return function(e,r){var i=t[e];return!!i&&!!i.queryPoint(r,n)}}function a(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],s=n[1][1],l=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(l):e[a]=[l]}for(var u={},c=Object.keys(e),r=0;r<c.length;++r){var h=e[c[r]];u[c[r]]=d(h)}return i(u)}function o(t,e){return function(r){var n=p.le(e,r[0]);if(n<0)return 1;var i=t[n];if(!i){if(!(n>0&&e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var o=i.key,s=h(r,o[0],o[1]);if(o[0][0]<o[1][0])if(s<0)i=i.left;else{if(!(s>0))return 0;a=-1,i=i.right}else if(s>0)i=i.left;else{if(!(s<0))return 0;a=1,i=i.right}}return a}}function s(t){return 1}function l(t){return function(e){return t(e[0],e[1])?0:1}}function u(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}function c(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var c=t[i],h=c.length,d=h-1,p=0;p<h;d=p++){var m=c[d],v=c[p];m[0]===v[0]?n.push([m,v]):r.push([m,v])}if(0===r.length)return 0===n.length?s:l(a(n));var g=f(r),y=o(g.slabs,g.coordinates);return 0===n.length?y:u(a(n),y)}e.exports=c;var h=t(\\\"robust-orientation\\\")[3],f=t(\\\"slab-decomposition\\\"),d=t(\\\"interval-tree-1d\\\"),p=t(\\\"binary-search-bounds\\\")},{\\\"binary-search-bounds\\\":65,\\\"interval-tree-1d\\\":290,\\\"robust-orientation\\\":507,\\\"slab-decomposition\\\":524}],485:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,s){i.length<n.length&&(i=new Float64Array(n.length),a=new Float64Array(n.length),o=new Float64Array(n.length));for(var l=0;l<n.length;++l)i[l]=t[l]-n[l],a[l]=e[l]-t[l],o[l]=r[l]-t[l];for(var u=0,c=0,h=0,f=0,d=0,p=0,l=0;l<n.length;++l){var m=a[l],v=o[l],g=i[l];u+=m*m,c+=m*v,h+=v*v,f+=g*m,d+=g*v,p+=g*g}var y,b=Math.abs(u*h-c*c),x=c*d-h*f,_=c*f-u*d;if(x+_<=b)if(x<0)_<0&&f<0?(_=0,-f>=u?(x=1,y=u+2*f+p):(x=-f/u,y=f*x+p)):(x=0,d>=0?(_=0,y=p):-d>=h?(_=1,y=h+2*d+p):(_=-d/h,y=d*_+p));else if(_<0)_=0,f>=0?(x=0,y=p):-f>=u?(x=1,y=u+2*f+p):(x=-f/u,y=f*x+p);else{var w=1/b;x*=w,_*=w,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p}else{var M,k,A,T;x<0?(M=c+f,k=h+d,k>M?(A=k-M,T=u-2*c+h,A>=T?(x=1,_=0,y=u+2*f+p):(x=A/T,_=1-x,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)):(x=0,k<=0?(_=1,y=h+2*d+p):d>=0?(_=0,y=p):(_=-d/h,y=d*_+p))):_<0?(M=c+d,k=u+f,k>M?(A=k-M,T=u-2*c+h,A>=T?(_=1,x=0,y=h+2*d+p):(_=A/T,x=1-_,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)):(_=0,k<=0?(x=1,y=u+2*f+p):f>=0?(x=0,y=p):(x=-f/u,y=f*x+p))):(A=h+d-c-f,A<=0?(x=0,_=1,y=h+2*d+p):(T=u-2*c+h,A>=T?(x=1,_=0,y=u+2*f+p):(x=A/T,_=1-x,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)))}for(var S=1-x-_,l=0;l<n.length;++l)s[l]=S*t[l]+x*e[l]+_*r[l];return y<0?0:y}var i=new Float64Array(4),a=new Float64Array(4),o=new Float64Array(4);e.exports=n},{}],486:[function(t,e,r){function n(){throw new Error(\\\"setTimeout has not been defined\\\")}function i(){throw new Error(\\\"clearTimeout has not been defined\\\")}function a(t){if(h===setTimeout)return setTimeout(t,0);if((h===n||!h)&&setTimeout)return h=setTimeout,setTimeout(t,0);try{return h(t,0)}catch(e){try{return h.call(null,t,0)}catch(e){return h.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){v&&p&&(v=!1,p.length?m=p.concat(m):g=-1,m.length&&l())}function l(){if(!v){var t=a(s);v=!0;for(var e=m.length;e;){for(p=m,m=[];++g<e;)p&&p[g].run();g=-1,e=m.length}p=null,v=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var h,f,d=e.exports={};!function(){try{h=\\\"function\\\"==typeof setTimeout?setTimeout:n}catch(t){h=n}try{f=\\\"function\\\"==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var p,m=[],v=!1,g=-1;d.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];m.push(new u(t,e)),1!==m.length||v||a(l)},u.prototype.run=function(){this.fun.apply(null,this.array)},d.title=\\\"browser\\\",d.browser=!0,d.env={},d.argv=[],d.version=\\\"\\\",d.versions={},d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.prependListener=c,d.prependOnceListener=c,d.listeners=function(t){return[]},d.binding=function(t){throw new Error(\\\"process.binding is not supported\\\")},d.cwd=function(){return\\\"/\\\"},d.chdir=function(t){throw new Error(\\\"process.chdir is not supported\\\")},d.umask=function(){return 0}},{}],487:[function(e,r,n){(function(e){!function(i){function a(t){throw new RangeError(P[t])}function o(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function s(t,e){var r=t.split(\\\"@\\\"),n=\\\"\\\";return r.length>1&&(n=r[0]+\\\"@\\\",t=r[1]),t=t.replace(D,\\\".\\\"),n+o(t.split(\\\".\\\"),e).join(\\\".\\\")}function l(t){for(var e,r,n=[],i=0,a=t.length;i<a;)e=t.charCodeAt(i++),e>=55296&&e<=56319&&i<a?(r=t.charCodeAt(i++),56320==(64512&r)?n.push(((1023&e)<<10)+(1023&r)+65536):(n.push(e),i--)):n.push(e);return n}function u(t){return o(t,function(t){var e=\\\"\\\";return t>65535&&(t-=65536,e+=F(t>>>10&1023|55296),t=56320|1023&t),e+=F(t)}).join(\\\"\\\")}function c(t){return t-48<10?t-22:t-65<26?t-65:t-97<26?t-97:M}function h(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function f(t,e,r){var n=0;for(t=r?R(t/S):t>>1,t+=R(t/e);t>O*A>>1;n+=M)t=R(t/O);return R(n+(O+1)*t/(t+T))}function d(t){var e,r,n,i,o,s,l,h,d,p,m=[],v=t.length,g=0,y=L,b=E;for(r=t.lastIndexOf(C),r<0&&(r=0),n=0;n<r;++n)t.charCodeAt(n)>=128&&a(\\\"not-basic\\\"),m.push(t.charCodeAt(n));for(i=r>0?r+1:0;i<v;){for(o=g,s=1,l=M;i>=v&&a(\\\"invalid-input\\\"),h=c(t.charCodeAt(i++)),(h>=M||h>R((w-g)/s))&&a(\\\"overflow\\\"),g+=h*s,d=l<=b?k:l>=b+A?A:l-b,!(h<d);l+=M)p=M-d,s>R(w/p)&&a(\\\"overflow\\\"),s*=p;e=m.length+1,b=f(g-o,e,0==o),R(g/e)>w-y&&a(\\\"overflow\\\"),y+=R(g/e),g%=e,m.splice(g++,0,y)}return u(m)}function p(t){var e,r,n,i,o,s,u,c,d,p,m,v,g,y,b,x=[];for(t=l(t),v=t.length,e=L,r=0,o=E,s=0;s<v;++s)(m=t[s])<128&&x.push(F(m));for(n=i=x.length,i&&x.push(C);n<v;){for(u=w,s=0;s<v;++s)(m=t[s])>=e&&m<u&&(u=m);for(g=n+1,u-e>R((w-r)/g)&&a(\\\"overflow\\\"),r+=(u-e)*g,e=u,s=0;s<v;++s)if(m=t[s],m<e&&++r>w&&a(\\\"overflow\\\"),m==e){for(c=r,d=M;p=d<=o?k:d>=o+A?A:d-o,!(c<p);d+=M)b=c-p,y=M-p,x.push(F(h(p+b%y,0))),c=R(b/y);x.push(F(h(c,0))),o=f(r,g,n==i),r=0,++n}++r,++e}return x.join(\\\"\\\")}function m(t){return s(t,function(t){return z.test(t)?d(t.slice(4).toLowerCase()):t})}function v(t){return s(t,function(t){return I.test(t)?\\\"xn--\\\"+p(t):t})}var g=\\\"object\\\"==typeof n&&n&&!n.nodeType&&n,y=\\\"object\\\"==typeof r&&r&&!r.nodeType&&r,b=\\\"object\\\"==typeof e&&e;b.global!==b&&b.window!==b&&b.self!==b||(i=b);var x,_,w=2147483647,M=36,k=1,A=26,T=38,S=700,E=72,L=128,C=\\\"-\\\",z=/^xn--/,I=/[^\\\\x20-\\\\x7E]/,D=/[\\\\x2E\\\\u3002\\\\uFF0E\\\\uFF61]/g,P={overflow:\\\"Overflow: input needs wider integers to process\\\",\\\"not-basic\\\":\\\"Illegal input >= 0x80 (not a basic code point)\\\",\\\"invalid-input\\\":\\\"Invalid input\\\"},O=M-k,R=Math.floor,F=String.fromCharCode;if(x={version:\\\"1.4.1\\\",ucs2:{decode:l,encode:u},decode:d,encode:p,toASCII:v,toUnicode:m},\\\"function\\\"==typeof t&&\\\"object\\\"==typeof t.amd&&t.amd)t(\\\"punycode\\\",function(){return x});else if(g&&y)if(r.exports==g)y.exports=x;else for(_ in x)x.hasOwnProperty(_)&&(g[_]=x[_]);else i.punycode=x}(this)}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{}],488:[function(t,e,r){e.exports=t(\\\"gl-quat/slerp\\\")},{\\\"gl-quat/slerp\\\":230}],489:[function(t,e,r){\\\"use strict\\\";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||\\\"&\\\",r=r||\\\"=\\\";var o={};if(\\\"string\\\"!=typeof t||0===t.length)return o;var s=/\\\\+/g;t=t.split(e);var l=1e3;a&&\\\"number\\\"==typeof a.maxKeys&&(l=a.maxKeys);var u=t.length;l>0&&u>l&&(u=l);for(var c=0;c<u;++c){var h,f,d,p,m=t[c].replace(s,\\\"%20\\\"),v=m.indexOf(r);v>=0?(h=m.substr(0,v),f=m.substr(v+1)):(h=m,f=\\\"\\\"),d=decodeURIComponent(h),p=decodeURIComponent(f),n(o,d)?i(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var i=Array.isArray||function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)}},{}],490:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n<t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case\\\"string\\\":return t;case\\\"boolean\\\":return t?\\\"true\\\":\\\"false\\\";case\\\"number\\\":return isFinite(t)?t:\\\"\\\";default:return\\\"\\\"}};e.exports=function(t,e,r,s){return e=e||\\\"&\\\",r=r||\\\"=\\\",null===t&&(t=void 0),\\\"object\\\"==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):\\\"\\\"};var a=Array.isArray||function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return e}},{}],491:[function(t,e,r){\\\"use strict\\\";r.decode=r.parse=t(\\\"./decode\\\"),r.encode=r.stringify=t(\\\"./encode\\\")},{\\\"./decode\\\":489,\\\"./encode\\\":490}],492:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,o,s){for(r=r||0,o=o||t.length-1,s=s||a;o>r;){if(o-r>600){var l=o-r+1,u=e-r+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);n(t,e,Math.max(r,Math.floor(e-u*h/l+f)),Math.min(o,Math.floor(e+(l-u)*h/l+f)),s)}var d=t[e],p=r,m=o;for(i(t,r,e),s(t[o],d)>0&&i(t,r,o);p<m;){for(i(t,p,m),p++,m--;s(t[p],d)<0;)p++;for(;s(t[m],d)>0;)m--}0===s(t[r],d)?i(t,r,m):(m++,i(t,m,o)),m<=e&&(r=m+1),e<=m&&(o=m-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function a(t,e){return t<e?-1:t>e?1:0}e.exports=n},{}],493:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\\\"big-rat/add\\\");e.exports=n},{\\\"big-rat/add\\\":49}],494:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=i(t[r]);return e}e.exports=n;var i=t(\\\"big-rat\\\")},{\\\"big-rat\\\":52}],495:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=i(e),n=t.length,o=new Array(n),s=0;s<n;++s)o[s]=a(t[s],r);return o}var i=t(\\\"big-rat\\\"),a=t(\\\"big-rat/mul\\\");e.exports=n},{\\\"big-rat\\\":52,\\\"big-rat/mul\\\":61}],496:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\\\"big-rat/sub\\\");e.exports=n},{\\\"big-rat/sub\\\":63}],497:[function(t,e,r){\\\"use strict\\\";function n(t){t.sort(a);for(var e=t.length,r=0,n=0;n<e;++n){var s=t[n],l=o(s);if(0!==l){if(r>0){var u=t[r-1];if(0===i(s,u)&&o(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}var i=t(\\\"compare-cell\\\"),a=t(\\\"compare-oriented-cell\\\"),o=t(\\\"cell-orientation\\\");e.exports=n},{\\\"cell-orientation\\\":84,\\\"compare-cell\\\":100,\\\"compare-oriented-cell\\\":101}],498:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?r.exports=i():\\\"function\\\"==typeof t&&t.amd?t(i):e.createREGL=i()}(this,function(){\\\"use strict\\\";function t(t){return\\\"undefined\\\"!=typeof btoa?btoa(t):\\\"base64:\\\"+t}function e(t){var e=new Error(\\\"(regl) \\\"+t);throw console.error(e),e}function r(t,r){t||e(r)}function n(t){return t?\\\": \\\"+t:\\\"\\\"}function i(t,r,i){t in r||e(\\\"unknown parameter (\\\"+t+\\\")\\\"+n(i)+\\\". possible values: \\\"+Object.keys(r).join())}function a(t,r){Qt(t)||e(\\\"invalid parameter type\\\"+n(r)+\\\". must be a typed array\\\")}function o(t,r,i){typeof t!==r&&e(\\\"invalid parameter type\\\"+n(i)+\\\". expected \\\"+r+\\\", got \\\"+typeof t)}function s(t,r){t>=0&&(0|t)===t||e(\\\"invalid parameter type, (\\\"+t+\\\")\\\"+n(r)+\\\". must be a nonnegative integer\\\")}function l(t,r,i){r.indexOf(t)<0&&e(\\\"invalid value\\\"+n(i)+\\\". must be one of: \\\"+r)}function u(t){Object.keys(t).forEach(function(t){te.indexOf(t)<0&&e('invalid regl constructor argument \\\"'+t+'\\\". must be one of '+te)})}function c(t,e){for(t+=\\\"\\\";t.length<e;)t=\\\" \\\"+t;return t}function h(){this.name=\\\"unknown\\\",this.lines=[],this.index={},this.hasErrors=!1}function f(t,e){this.number=t,this.line=e,this.errors=[]}function d(t,e,r){this.file=t,this.line=e,this.message=r}function p(){var t=new Error,e=(t.stack||t).toString(),r=/compileProcedure.*\\\\n\\\\s*at.*\\\\((.*)\\\\)/.exec(e);if(r)return r[1];var n=/compileProcedure.*\\\\n\\\\s*at\\\\s+(.*)(\\\\n|$)/.exec(e);return n?n[1]:\\\"unknown\\\"}function m(){var t=new Error,e=(t.stack||t).toString(),r=/at REGLCommand.*\\\\n\\\\s+at.*\\\\((.*)\\\\)/.exec(e);if(r)return r[1];var n=/at REGLCommand.*\\\\n\\\\s+at\\\\s+(.*)\\\\n/.exec(e);return n?n[1]:\\\"unknown\\\"}function v(e,r){var n=e.split(\\\"\\\\n\\\"),i=1,a=0,o={unknown:new h,0:new h};o.unknown.name=o[0].name=r||p(),o.unknown.lines.push(new f(0,\\\"\\\"));for(var s=0;s<n.length;++s){var l=n[s],u=/^\\\\s*\\\\#\\\\s*(\\\\w+)\\\\s+(.+)\\\\s*$/.exec(l);if(u)switch(u[1]){case\\\"line\\\":var c=/(\\\\d+)(\\\\s+\\\\d+)?/.exec(u[2]);c&&(i=0|c[1],c[2]&&((a=0|c[2])in o||(o[a]=new h)));break;case\\\"define\\\":var d=/SHADER_NAME(_B64)?\\\\s+(.*)$/.exec(u[2]);d&&(o[a].name=d[1]?t(d[2]):d[2])}o[a].lines.push(new f(i++,l))}return Object.keys(o).forEach(function(t){var e=o[t];e.lines.forEach(function(t){e.index[t.number]=t})}),o}function g(t){var e=[];return t.split(\\\"\\\\n\\\").forEach(function(t){if(!(t.length<5)){var r=/^ERROR\\\\:\\\\s+(\\\\d+)\\\\:(\\\\d+)\\\\:\\\\s*(.*)$/.exec(t);r?e.push(new d(0|r[1],0|r[2],r[3].trim())):t.length>0&&e.push(new d(\\\"unknown\\\",0,t))}}),e}function y(t,e){e.forEach(function(e){var r=t[e.file];if(r){var n=r.index[e.line];if(n)return n.errors.push(e),void(r.hasErrors=!0)}t.unknown.hasErrors=!0,t.unknown.lines[0].errors.push(e)})}function b(t,e,n,i,a){if(!t.getShaderParameter(e,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(e),s=i===t.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\";T(n,\\\"string\\\",s+\\\" shader source must be a string\\\",a);var l=v(n,a),u=g(o);y(l,u),Object.keys(l).forEach(function(t){function e(t,e){n.push(t),i.push(e||\\\"\\\")}var r=l[t];if(r.hasErrors){var n=[\\\"\\\"],i=[\\\"\\\"];e(\\\"file number \\\"+t+\\\": \\\"+r.name+\\\"\\\\n\\\",\\\"color:red;text-decoration:underline;font-weight:bold\\\"),r.lines.forEach(function(t){if(t.errors.length>0){e(c(t.number,4)+\\\"|  \\\",\\\"background-color:yellow; font-weight:bold\\\"),e(t.line+\\\"\\\\n\\\",\\\"color:red; background-color:yellow; font-weight:bold\\\");var r=0;t.errors.forEach(function(n){var i=n.message,a=/^\\\\s*\\\\'(.*)\\\\'\\\\s*\\\\:\\\\s*(.*)$/.exec(i);if(a){var o=a[1];switch(i=a[2],o){case\\\"assign\\\":o=\\\"=\\\"}r=Math.max(t.line.indexOf(o,r),0)}else r=0;e(c(\\\"| \\\",6)),e(c(\\\"^^^\\\",r+3)+\\\"\\\\n\\\",\\\"font-weight:bold\\\"),e(c(\\\"| \\\",6)),e(i+\\\"\\\\n\\\",\\\"font-weight:bold\\\")}),e(c(\\\"| \\\",6)+\\\"\\\\n\\\")}else e(c(t.number,4)+\\\"|  \\\"),e(t.line+\\\"\\\\n\\\",\\\"color:red\\\")}),\\\"undefined\\\"!=typeof document?(i[0]=n.join(\\\"%c\\\"),console.log.apply(console,i)):console.log(n.join(\\\"\\\"))}}),r.raise(\\\"Error compiling \\\"+s+\\\" shader, \\\"+l[0].name)}}function x(t,e,n,i,a){if(!t.getProgramParameter(e,t.LINK_STATUS)){var o=t.getProgramInfoLog(e),s=v(n,a),l=v(i,a),u='Error linking program with vertex shader, \\\"'+l[0].name+'\\\", and fragment shader \\\"'+s[0].name+'\\\"';\\\"undefined\\\"!=typeof document?console.log(\\\"%c\\\"+u+\\\"\\\\n%c\\\"+o,\\\"color:red;text-decoration:underline;font-weight:bold\\\",\\\"color:red\\\"):console.log(u+\\\"\\\\n\\\"+o),r.raise(u)}}function _(t){t._commandRef=p()}function w(t,e,r,n){function i(t){return t?n.id(t):0}function a(t,e){Object.keys(e).forEach(function(e){t[n.id(e)]=!0})}_(t),t._fragId=i(t.static.frag),t._vertId=i(t.static.vert);var o=t._uniformSet={};a(o,e.static),a(o,e.dynamic);var s=t._attributeSet={};a(s,r.static),a(s,r.dynamic),t._hasCount=\\\"count\\\"in t.static||\\\"count\\\"in t.dynamic||\\\"elements\\\"in t.static||\\\"elements\\\"in t.dynamic}function M(t,r){var n=m();e(t+\\\" in command \\\"+(r||p())+(\\\"unknown\\\"===n?\\\"\\\":\\\" called from \\\"+n))}function k(t,e,r){t||M(e,r||p())}function A(t,e,r,i){t in e||M(\\\"unknown parameter (\\\"+t+\\\")\\\"+n(r)+\\\". possible values: \\\"+Object.keys(e).join(),i||p())}function T(t,e,r,i){typeof t!==e&&M(\\\"invalid parameter type\\\"+n(r)+\\\". expected \\\"+e+\\\", got \\\"+typeof t,i||p())}function S(t){t()}function E(t,e,r){t.texture?l(t.texture._texture.internalformat,e,\\\"unsupported texture format for attachment\\\"):l(t.renderbuffer._renderbuffer.format,r,\\\"unsupported renderbuffer format for attachment\\\")}function L(t,e){return t===ue||t===le||t===ce?2:t===he?4:fe[t]*e}function C(t){return!(t&t-1||!t)}function z(t,e,n){var i,a=e.width,o=e.height,s=e.channels;r(a>0&&a<=n.maxTextureSize&&o>0&&o<=n.maxTextureSize,\\\"invalid texture shape\\\"),t.wrapS===ee&&t.wrapT===ee||r(C(a)&&C(o),\\\"incompatible wrap mode for texture, both width and height must be power of 2\\\"),1===e.mipmask?1!==a&&1!==o&&r(t.minFilter!==ne&&t.minFilter!==ae&&t.minFilter!==ie&&t.minFilter!==oe,\\\"min filter requires mipmap\\\"):(r(C(a)&&C(o),\\\"texture must be a square power of 2 to support mipmapping\\\"),r(e.mipmask===(a<<1)-1,\\\"missing or incomplete mipmap data\\\")),e.type===se&&(n.extensions.indexOf(\\\"oes_texture_float_linear\\\")<0&&r(t.minFilter===re&&t.magFilter===re,\\\"filter not supported, must enable oes_texture_float_linear\\\"),r(!t.genMipmaps,\\\"mipmap generation not supported with float textures\\\"));var l=e.images;for(i=0;i<16;++i)if(l[i]){var u=a>>i,c=o>>i;r(e.mipmask&1<<i,\\\"missing mipmap data\\\");var h=l[i];if(r(h.width===u&&h.height===c,\\\"invalid shape for mip images\\\"),r(h.format===e.format&&h.internalformat===e.internalformat&&h.type===e.type,\\\"incompatible type for mip image\\\"),h.compressed);else if(h.data){var f=Math.ceil(L(h.type,s)*u/h.unpackAlignment)*h.unpackAlignment;r(h.data.byteLength===f*c,\\\"invalid data for image, buffer size is inconsistent with image format\\\")}else h.element||h.copy}else t.genMipmaps||r(0==(e.mipmask&1<<i),\\\"extra mipmap data\\\");e.compressed&&r(!t.genMipmaps,\\\"mipmap generation for compressed images not supported\\\")}function I(t,e,n,i){var a=t.width,o=t.height,s=t.channels;r(a>0&&a<=i.maxTextureSize&&o>0&&o<=i.maxTextureSize,\\\"invalid texture shape\\\"),r(a===o,\\\"cube map must be square\\\"),r(e.wrapS===ee&&e.wrapT===ee,\\\"wrap mode not supported by cube map\\\");for(var l=0;l<n.length;++l){var u=n[l];r(u.width===a&&u.height===o,\\\"inconsistent cube map face shape\\\"),e.genMipmaps&&(r(!u.compressed,\\\"can not generate mipmap for compressed textures\\\"),r(1===u.mipmask,\\\"can not specify mipmaps and generate mipmaps\\\"));for(var c=u.images,h=0;h<16;++h){var f=c[h];if(f){var d=a>>h,p=o>>h;r(u.mipmask&1<<h,\\\"missing mipmap data\\\"),r(f.width===d&&f.height===p,\\\"invalid shape for mip images\\\"),r(f.format===t.format&&f.internalformat===t.internalformat&&f.type===t.type,\\\"incompatible type for mip image\\\"),f.compressed||(f.data?r(f.data.byteLength===d*p*Math.max(L(f.type,s),f.unpackAlignment),\\\"invalid data for image, buffer size is inconsistent with image format\\\"):f.element||f.copy)}}}}function D(t,e){this.id=pe++,this.type=t,this.data=e}function P(t){return t.replace(/\\\\\\\\/g,\\\"\\\\\\\\\\\\\\\\\\\").replace(/\\\"/g,'\\\\\\\\\\\"')}function O(t){if(0===t.length)return[];var e=t.charAt(0),r=t.charAt(t.length-1);if(t.length>1&&e===r&&('\\\"'===e||\\\"'\\\"===e))return['\\\"'+P(t.substr(1,t.length-2))+'\\\"'];var n=/\\\\[(false|true|null|\\\\d+|'[^']*'|\\\"[^\\\"]*\\\")\\\\]/.exec(t);if(n)return O(t.substr(0,n.index)).concat(O(n[1])).concat(O(t.substr(n.index+n[0].length)));var i=t.split(\\\".\\\");if(1===i.length)return['\\\"'+P(t)+'\\\"'];for(var a=[],o=0;o<i.length;++o)a=a.concat(O(i[o]));return a}function R(t){return\\\"[\\\"+O(t).join(\\\"][\\\")+\\\"]\\\"}function F(t,e){return new D(t,R(e+\\\"\\\"))}function j(t){return\\\"function\\\"==typeof t&&!t._reglType||t instanceof D}function N(t,e){return\\\"function\\\"==typeof t?new D(me,t):t}function B(){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]}}}function U(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;if(t!==document.body){var i=t.getBoundingClientRect();e=i.right-i.left,n=i.bottom-i.top}a.width=r*e,a.height=r*n,$t(a.style,{width:e+\\\"px\\\",height:n+\\\"px\\\"})}function i(){window.removeEventListener(\\\"resize\\\",n),t.removeChild(a)}var a=document.createElement(\\\"canvas\\\");return $t(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position=\\\"absolute\\\",$t(t.style,{margin:0,padding:0})),window.addEventListener(\\\"resize\\\",n,!1),n(),{canvas:a,onDestroy:i}}function V(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\\\"webgl\\\")||r(\\\"experimental-webgl\\\")||r(\\\"webgl-experimental\\\")}function H(t){return\\\"string\\\"==typeof t.nodeName&&\\\"function\\\"==typeof t.appendChild&&\\\"function\\\"==typeof t.getBoundingClientRect}function q(t){return\\\"function\\\"==typeof t.drawArrays||\\\"function\\\"==typeof t.drawElements}function G(t){return\\\"string\\\"==typeof t?t.split():(de(Array.isArray(t),\\\"invalid extension array\\\"),t)}function Y(t){return\\\"string\\\"==typeof t?(de(\\\"undefined\\\"!=typeof document,\\\"not supported outside of DOM\\\"),document.querySelector(t)):t}function X(t){var e,r,n,i,a=t||{},o={},s=[],l=[],u=\\\"undefined\\\"==typeof window?1:window.devicePixelRatio,c=!1,h=function(t){t&&de.raise(t)},f=function(){};if(\\\"string\\\"==typeof a?(de(\\\"undefined\\\"!=typeof document,\\\"selector queries only supported in DOM enviroments\\\"),e=document.querySelector(a),de(e,\\\"invalid query string for element\\\")):\\\"object\\\"==typeof a?H(a)?e=a:q(a)?(i=a,n=i.canvas):(de.constructor(a),\\\"gl\\\"in a?i=a.gl:\\\"canvas\\\"in a?n=Y(a.canvas):\\\"container\\\"in a&&(r=Y(a.container)),\\\"attributes\\\"in a&&(o=a.attributes,de.type(o,\\\"object\\\",\\\"invalid context attributes\\\")),\\\"extensions\\\"in a&&(s=G(a.extensions)),\\\"optionalExtensions\\\"in a&&(l=G(a.optionalExtensions)),\\\"onDone\\\"in a&&(de.type(a.onDone,\\\"function\\\",\\\"invalid or missing onDone callback\\\"),h=a.onDone),\\\"profile\\\"in a&&(c=!!a.profile),\\\"pixelRatio\\\"in a&&(u=+a.pixelRatio,de(u>0,\\\"invalid pixel ratio\\\"))):de.raise(\\\"invalid arguments to regl\\\"),e&&(\\\"canvas\\\"===e.nodeName.toLowerCase()?n=e:r=e),!i){if(!n){de(\\\"undefined\\\"!=typeof document,\\\"must manually specify webgl context outside of DOM environments\\\");var d=U(r||document.body,h,u);if(!d)return null;n=d.canvas,f=d.onDestroy}i=V(n,o)}return i?{gl:i,canvas:n,container:r,extensions:s,optionalExtensions:l,pixelRatio:u,profile:c,onDone:h,onDestroy:f}:(f(),h(\\\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\\\"),null)}function W(t,e){function r(e){de.type(e,\\\"string\\\",\\\"extension name must be string\\\");var r,i=e.toLowerCase();try{r=n[i]=t.getExtension(i)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\\\"'+a+'\\\" 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(!r(t))throw new Error(\\\"(regl): error restoring extension \\\"+t)})}}}function Z(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)||Qt(t.data))}function J(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function K(t){for(var e=16;e<=1<<28;e*=16)if(t<=e)return e;return 0}function Q(t){var e,r;return e=(t>65535)<<4,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,(e|=r)|t>>1}function $(t){var e=K(t),r=Ee[Q(e)>>2];return r.length>0?r.pop():new ArrayBuffer(e)}function tt(t){Ee[Q(t.byteLength)>>2].push(t)}function et(t,e){var r=null;switch(t){case _e:r=new Int8Array($(e),0,e);break;case we:r=new Uint8Array($(e),0,e);break;case Me:r=new Int16Array($(2*e),0,e);break;case ke:r=new Uint16Array($(2*e),0,e);break;case Ae:r=new Int32Array($(4*e),0,e);break;case Te:r=new Uint32Array($(4*e),0,e);break;case Se:r=new Float32Array($(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r}function rt(t){tt(t.buffer)}function nt(t,e,r){for(var n=0;n<e;++n)r[n]=t[n]}function it(t,e,r,n){for(var i=0,a=0;a<e;++a)for(var o=t[a],s=0;s<r;++s)n[i++]=o[s]}function at(t,e,r,n,i,a){for(var o=a,s=0;s<e;++s)for(var l=t[s],u=0;u<r;++u)for(var c=l[u],h=0;h<n;++h)i[o++]=c[h]}function ot(t,e,r,n,i){for(var a=1,o=r+1;o<e.length;++o)a*=e[o];var s=e[r];if(e.length-r==4){var l=e[r+1],u=e[r+2],c=e[r+3];for(o=0;o<s;++o)at(t[o],l,u,c,n,i),i+=a}else for(o=0;o<s;++o)ot(t[o],e,r+1,n,i),i+=a}function st(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;var o=n||Le.allocType(r,i);switch(e.length){case 0:break;case 1:nt(t,e[0],o);break;case 2:it(t,e[0],e[1],o);break;case 3:at(t,e[0],e[1],e[2],o,0);break;default:ot(t,e,0,o,0)}return o}function lt(t){for(var e=[],r=t;r.length;r=r[0])e.push(r.length);return e}function ut(t){return 0|Kt[Object.prototype.toString.call(t)]}function ct(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function ht(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var u=0;u<n;++u)t[s++]=e[i*l+a*u+o]}function ft(t,e,r){function n(e){this.id=h++,this.buffer=t.createBuffer(),this.type=e,this.usage=Oe,this.byteLength=0,this.dimension=1,this.dtype=Fe,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(t,e){var r=d.pop();return r||(r=new n(t)),r.bind(),s(r,e,Re,0,1,!1),r}function a(t){d.push(t)}function o(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function s(t,e,r,n,i,a){var s;if(t.usage=r,Array.isArray(e)){if(t.dtype=n||je,e.length>0){var l;if(Array.isArray(e[0])){s=Pe(e);for(var u=1,c=1;c<s.length;++c)u*=s[c];t.dimension=u,l=De(e,s,t.dtype),o(t,l,r),a?t.persistentData=l:Le.freeType(l)}else if(\\\"number\\\"==typeof e[0]){t.dimension=i;var h=Le.allocType(t.dtype,e.length);ct(h,e),o(t,h,r),a?t.persistentData=h:Le.freeType(h)}else Qt(e[0])?(t.dimension=e[0].length,t.dtype=n||ut(e[0])||je,l=De(e,[e.length,e[0].length],t.dtype),o(t,l,r),a?t.persistentData=l:Le.freeType(l)):de.raise(\\\"invalid buffer data\\\")}}else if(Qt(e))t.dtype=n||ut(e),t.dimension=i,o(t,e,r),a&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(Z(e)){s=e.shape;var f=e.stride,d=e.offset,p=0,m=0,v=0,g=0;1===s.length?(p=s[0],m=1,v=f[0],g=0):2===s.length?(p=s[0],m=s[1],v=f[0],g=f[1]):de.raise(\\\"invalid shape\\\"),t.dtype=n||ut(e.data)||je,t.dimension=m;var y=Le.allocType(t.dtype,p*m);ht(y,e.data,p,m,v,g,d),o(t,y,r),a?t.persistentData=y:Le.freeType(y)}else de.raise(\\\"invalid buffer data\\\")}function l(r){e.bufferCount--;var n=r.buffer;de(n,\\\"buffer must not be deleted already\\\"),t.deleteBuffer(n),r.buffer=null,delete f[r.id]}function u(i,a,o,u){function c(e){var n=Oe,i=null,a=0,o=0,l=1;return Array.isArray(e)||Qt(e)||Z(e)?i=e:\\\"number\\\"==typeof e?a=0|e:e&&(de.type(e,\\\"object\\\",\\\"buffer arguments must be an object, a number or an array\\\"),\\\"data\\\"in e&&(de(null===i||Array.isArray(i)||Qt(i)||Z(i),\\\"invalid data for buffer\\\"),i=e.data),\\\"usage\\\"in e&&(de.parameter(e.usage,Ie,\\\"invalid buffer usage\\\"),n=Ie[e.usage]),\\\"type\\\"in e&&(de.parameter(e.type,ze,\\\"invalid buffer type\\\"),o=ze[e.type]),\\\"dimension\\\"in e&&(de.type(e.dimension,\\\"number\\\",\\\"invalid dimension\\\"),l=0|e.dimension),\\\"length\\\"in e&&(de.nni(a,\\\"buffer length must be a nonnegative integer\\\"),a=0|e.length)),p.bind(),i?s(p,i,n,o,l,u):(t.bufferData(p.type,a,n),p.dtype=o||Fe,p.usage=n,p.dimension=l,p.byteLength=a),r.profile&&(p.stats.size=p.byteLength*Ne[p.dtype]),c}function h(e,r){de(r+e.byteLength<=p.byteLength,\\\"invalid buffer subdata call, buffer is too small.  Can't write data of size \\\"+e.byteLength+\\\" starting from offset \\\"+r+\\\" to a buffer of size \\\"+p.byteLength),t.bufferSubData(p.type,r,e)}function d(t,e){var r,n=0|(e||0);if(p.bind(),Array.isArray(t)){if(t.length>0)if(\\\"number\\\"==typeof t[0]){var i=Le.allocType(p.dtype,t.length);ct(i,t),h(i,n),Le.freeType(i)}else if(Array.isArray(t[0])||Qt(t[0])){r=Pe(t);var a=De(t,r,p.dtype);h(a,n),Le.freeType(a)}else de.raise(\\\"invalid buffer data\\\")}else if(Qt(t))h(t,n);else if(Z(t)){r=t.shape;var o=t.stride,s=0,l=0,u=0,f=0;1===r.length?(s=r[0],l=1,u=o[0],f=0):2===r.length?(s=r[0],l=r[1],u=o[0],f=o[1]):de.raise(\\\"invalid shape\\\");var d=Array.isArray(t.data)?p.dtype:ut(t.data),m=Le.allocType(d,s*l);ht(m,t.data,s,l,u,f,t.offset),h(m,n),Le.freeType(m)}else de.raise(\\\"invalid data for buffer subdata\\\");return c}e.bufferCount++;var p=new n(a);return f[p.id]=p,o||c(i),c._reglType=\\\"buffer\\\",c._buffer=p,c.subdata=d,r.profile&&(c.stats=p.stats),c.destroy=function(){l(p)},c}function c(){xe(f).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})}var h=0,f={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){l(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(f).forEach(function(e){t+=f[e].stats.size}),t}),{create:u,createStream:i,destroyStream:a,clear:function(){xe(f).forEach(l),d.forEach(l)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:c,_initBuffer:s}}function dt(t,e,r,n){function i(t){this.id=h++,c[this.id]=this,this.buffer=t,this.primType=He,this.vertCount=0,this.type=0}function a(t){var e=d.pop();return e||(e=new i(r.create(null,Je,!0,!1)._buffer)),s(e,t,Ke,-1,-1,0,0),e}function o(t){d.push(t)}function s(n,i,a,o,s,l,u){if(n.buffer.bind(),i){var c=u;u||Qt(i)&&(!Z(i)||Qt(i.data))||(c=e.oes_element_index_uint?Ze:Xe),r._initBuffer(n.buffer,i,a,c,3)}else t.bufferData(Je,l,a),n.buffer.dtype=h||Ge,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;var h=u;if(!u){switch(n.buffer.dtype){case Ge:case qe:h=Ge;break;case Xe:case Ye:h=Xe;break;case Ze:case We:h=Ze;break;default:de.raise(\\\"unsupported type for element array\\\")}n.buffer.dtype=h}n.type=h,de(h!==Ze||!!e.oes_element_index_uint,\\\"32 bit element buffers not supported, enable oes_element_index_uint first\\\");var f=s;f<0&&(f=n.buffer.byteLength,h===Xe?f>>=1:h===Ze&&(f>>=2)),n.vertCount=f;var d=o;if(o<0){d=He;var p=n.buffer.dimension;1===p&&(d=Ue),2===p&&(d=Ve),3===p&&(d=He)}n.primType=d}function l(t){n.elementsCount--,de(null!==t.buffer,\\\"must not double destroy elements\\\"),delete c[t.id],t.buffer.destroy(),t.buffer=null}function u(t,e){function a(t){if(t)if(\\\"number\\\"==typeof t)o(t),u.primType=He,u.vertCount=0|t,u.type=Ge;else{var e=null,r=Qe,n=-1,i=-1,l=0,c=0;Array.isArray(t)||Qt(t)||Z(t)?e=t:(de.type(t,\\\"object\\\",\\\"invalid arguments for elements\\\"),\\\"data\\\"in t&&(e=t.data,de(Array.isArray(e)||Qt(e)||Z(e),\\\"invalid data for element buffer\\\")),\\\"usage\\\"in t&&(de.parameter(t.usage,Ie,\\\"invalid element buffer usage\\\"),r=Ie[t.usage]),\\\"primitive\\\"in t&&(de.parameter(t.primitive,Be,\\\"invalid element buffer primitive\\\"),n=Be[t.primitive]),\\\"count\\\"in t&&(de(\\\"number\\\"==typeof t.count&&t.count>=0,\\\"invalid vertex count for elements\\\"),i=0|t.count),\\\"type\\\"in t&&(de.parameter(t.type,f,\\\"invalid buffer type\\\"),c=f[t.type]),\\\"length\\\"in t?l=0|t.length:(l=i,c===Xe||c===Ye?l*=2:c!==Ze&&c!==We||(l*=4))),s(u,e,r,n,i,l,c)}else o(),u.primType=He,\\n\",\n       \"u.vertCount=0,u.type=Ge;return a}var o=r.create(null,Je,!0),u=new i(o._buffer);return n.elementsCount++,a(t),a._reglType=\\\"elements\\\",a._elements=u,a.subdata=function(t,e){return o.subdata(t,e),a},a.destroy=function(){l(u)},a}var c={},h=0,f={uint8:Ge,uint16:Xe};e.oes_element_index_uint&&(f.uint32=Ze),i.prototype.bind=function(){this.buffer.bind()};var d=[];return{create:u,createStream:a,destroyStream:o,getElements:function(t){return\\\"function\\\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){xe(c).forEach(l)}}}function pt(t){for(var e=Le.allocType(er,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(t[r]===1/0)e[r]=31744;else if(t[r]===-1/0)e[r]=64512;else{$e[0]=t[r];var n=tr[0],i=n>>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)e[r]=i;else if(a<-14){var s=-14-a;e[r]=i+(o+1024>>s)}else e[r]=a>15?i+31744:i+(a+15<<10)+o}return e}function mt(t){return Array.isArray(t)||Qt(t)}function vt(t){return\\\"[object \\\"+t+\\\"]\\\"}function gt(t){return Array.isArray(t)&&(0===t.length||\\\"number\\\"==typeof t[0])}function yt(t){return!!Array.isArray(t)&&!(0===t.length||!mt(t[0]))}function bt(t){return Object.prototype.toString.call(t)}function xt(t){return bt(t)===dn}function _t(t){return bt(t)===pn}function wt(t){return bt(t)===mn}function Mt(t){return bt(t)===vn}function kt(t){if(!t)return!1;var e=bt(t);return gn.indexOf(e)>=0||(gt(t)||yt(t)||Z(t))}function At(t){return 0|Kt[Object.prototype.toString.call(t)]}function Tt(t,e){var r=e.length;switch(t.type){case Or:case Rr:case Fr:case jr:var n=Le.allocType(t.type,r);n.set(e),t.data=n;break;case wr:t.data=pt(e);break;default:de.raise(\\\"unsupported texture type, must specify a typed array\\\")}}function St(t,e){return Le.allocType(t.type===wr?jr:t.type,e)}function Et(t,e){t.type===wr?(t.data=pt(e),Le.freeType(e)):t.data=e}function Lt(t,e,r,n,i,a){for(var o=t.width,s=t.height,l=t.channels,u=o*s*l,c=St(t,u),h=0,f=0;f<s;++f)for(var d=0;d<o;++d)for(var p=0;p<l;++p)c[h++]=e[r*d+n*f+i*p+a];Et(t,c)}function Ct(t,e,r,n,i,a){var o;if(o=void 0!==bn[t]?bn[t]:fn[t]*yn[e],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}function zt(t,e,r,n,i,a,o){function s(){this.internalformat=or,this.format=or,this.type=Or,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=0,this.width=0,this.height=0,this.channels=0}function l(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,n){if(\\\"object\\\"==typeof n&&n){if(\\\"premultiplyAlpha\\\"in n&&(de.type(n.premultiplyAlpha,\\\"boolean\\\",\\\"invalid premultiplyAlpha\\\"),t.premultiplyAlpha=n.premultiplyAlpha),\\\"flipY\\\"in n&&(de.type(n.flipY,\\\"boolean\\\",\\\"invalid texture flip\\\"),t.flipY=n.flipY),\\\"alignment\\\"in n&&(de.oneOf(n.alignment,[1,2,4,8],\\\"invalid texture unpack alignment\\\"),t.unpackAlignment=n.alignment),\\\"colorSpace\\\"in n&&(de.parameter(n.colorSpace,j,\\\"invalid colorSpace\\\"),t.colorSpace=j[n.colorSpace]),\\\"type\\\"in n){var i=n.type;de(e.oes_texture_float||!(\\\"float\\\"===i||\\\"float32\\\"===i),\\\"you must enable the OES_texture_float extension in order to use floating point textures.\\\"),de(e.oes_texture_half_float||!(\\\"half float\\\"===i||\\\"float16\\\"===i),\\\"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures.\\\"),de(e.webgl_depth_texture||!(\\\"uint16\\\"===i||\\\"uint32\\\"===i||\\\"depth stencil\\\"===i),\\\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\\\"),de.parameter(i,N,\\\"invalid texture type\\\"),t.type=N[i]}var a=t.width,o=t.height,s=t.channels,l=!1;\\\"shape\\\"in n?(de(Array.isArray(n.shape)&&n.shape.length>=2,\\\"shape must be an array\\\"),a=n.shape[0],o=n.shape[1],3===n.shape.length&&(s=n.shape[2],de(s>0&&s<=4,\\\"invalid number of channels\\\"),l=!0),de(a>=0&&a<=r.maxTextureSize,\\\"invalid width\\\"),de(o>=0&&o<=r.maxTextureSize,\\\"invalid height\\\")):(\\\"radius\\\"in n&&(a=o=n.radius,de(a>=0&&a<=r.maxTextureSize,\\\"invalid radius\\\")),\\\"width\\\"in n&&(a=n.width,de(a>=0&&a<=r.maxTextureSize,\\\"invalid width\\\")),\\\"height\\\"in n&&(o=n.height,de(o>=0&&o<=r.maxTextureSize,\\\"invalid height\\\")),\\\"channels\\\"in n&&(s=n.channels,de(s>0&&s<=4,\\\"invalid number of channels\\\"),l=!0)),t.width=0|a,t.height=0|o,t.channels=0|s;var u=!1;if(\\\"format\\\"in n){var c=n.format;de(e.webgl_depth_texture||!(\\\"depth\\\"===c||\\\"depth stencil\\\"===c),\\\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\\\"),de.parameter(c,B,\\\"invalid texture format\\\");var h=t.internalformat=B[c];t.format=J[h],c in N&&(\\\"type\\\"in n||(t.type=N[c])),c in U&&(t.compressed=!0),u=!0}!l&&u?t.channels=fn[t.format]:l&&!u?t.channels!==hn[t.format]&&(t.format=t.internalformat=hn[t.channels]):u&&l&&de(t.channels===fn[t.format],\\\"number of channels inconsistent with specified format\\\")}}function c(e){t.pixelStorei(an,e.flipY),t.pixelStorei(on,e.premultiplyAlpha),t.pixelStorei(sn,e.colorSpace),t.pixelStorei(nn,e.unpackAlignment)}function h(){s.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function f(t,e){var n=null;if(kt(e)?n=e:e&&(de.type(e,\\\"object\\\",\\\"invalid pixel data type\\\"),u(t,e),\\\"x\\\"in e&&(t.xOffset=0|e.x),\\\"y\\\"in e&&(t.yOffset=0|e.y),kt(e.data)&&(n=e.data)),de(!t.compressed||n instanceof Uint8Array,\\\"compressed texture data must be stored in a uint8array\\\"),e.copy){de(!n,\\\"can not specify copy and data field for the same texture\\\");var a=i.viewportWidth,o=i.viewportHeight;t.width=t.width||a-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0,de(t.xOffset>=0&&t.xOffset<a&&t.yOffset>=0&&t.yOffset<o&&t.width>0&&t.width<=a&&t.height>0&&t.height<=o,\\\"copy texture read out of bounds\\\")}else if(n){if(Qt(n))t.channels=t.channels||4,t.data=n,\\\"type\\\"in e||t.type!==Or||(t.type=At(n));else if(gt(n))t.channels=t.channels||4,Tt(t,n),t.alignment=1,t.needsFree=!0;else if(Z(n)){var s=n.data;Array.isArray(s)||t.type!==Or||(t.type=At(s));var l,c,h,f,d,p,m=n.shape,v=n.stride;3===m.length?(h=m[2],p=v[2]):(de(2===m.length,\\\"invalid ndarray pixel data, must be 2 or 3D\\\"),h=1,p=1),l=m[0],c=m[1],f=v[0],d=v[1],t.alignment=1,t.width=l,t.height=c,t.channels=h,t.format=t.internalformat=hn[h],t.needsFree=!0,Lt(t,s,f,d,p,n.offset)}else if(xt(n)||_t(n))xt(n)?t.element=n:t.element=n.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(wt(n))t.element=n,t.width=n.naturalWidth,t.height=n.naturalHeight,t.channels=4;else if(Mt(n))t.element=n,t.width=n.videoWidth,t.height=n.videoHeight,t.channels=4;else if(yt(n)){var g=t.width||n[0].length,y=t.height||n.length,b=t.channels;b=mt(n[0][0])?b||n[0][0].length:b||1;for(var x=Ce.shape(n),_=1,w=0;w<x.length;++w)_*=x[w];var M=St(t,_);Ce.flatten(n,x,\\\"\\\",M),Et(t,M),t.alignment=1,t.width=g,t.height=y,t.channels=b,t.format=t.internalformat=hn[b],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4;t.type===jr?de(r.extensions.indexOf(\\\"oes_texture_float\\\")>=0,\\\"oes_texture_float extension not enabled\\\"):t.type===wr&&de(r.extensions.indexOf(\\\"oes_texture_half_float\\\")>=0,\\\"oes_texture_half_float extension not enabled\\\")}function d(e,r,i){var a=e.element,o=e.data,s=e.internalformat,l=e.format,u=e.type,h=e.width,f=e.height;c(e),a?t.texImage2D(r,i,l,l,u,a):e.compressed?t.compressedTexImage2D(r,i,s,h,f,0,o):e.needsCopy?(n(),t.copyTexImage2D(r,i,l,e.xOffset,e.yOffset,h,f,0)):t.texImage2D(r,i,l,h,f,0,l,u,o)}function p(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,h=e.format,f=e.type,d=e.width,p=e.height;c(e),s?t.texSubImage2D(r,o,i,a,h,f,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,d,p,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,d,p)):t.texSubImage2D(r,o,i,a,d,p,h,f,l)}function m(){return K.pop()||new h}function v(t){t.needsFree&&Le.freeType(t.data),h.call(t),K.push(t)}function g(){s.call(this),this.genMipmaps=!1,this.mipmapHint=$r,this.mipmask=0,this.images=Array(16)}function y(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function b(t,e){var r=null;if(kt(e))r=t.images[0]=m(),l(r,t),f(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)r=t.images[i]=m(),l(r,t),r.width>>=i,r.height>>=i,f(r,n[i]),t.mipmask|=1<<i;else r=t.images[0]=m(),l(r,t),f(r,e),t.mipmask=1;l(t,t.images[0]),(t.compressed&&t.internalformat===Mr||t.internalformat===kr||t.internalformat===Ar||t.internalformat===Tr)&&de(t.width%4==0&&t.height%4==0,\\\"for compressed texture formats, mipmap level 0 must have width and height that are a multiple of 4\\\")}function x(t,e){for(var r=t.images,n=0;n<r.length;++n){if(!r[n])return;d(r[n],e,n)}}function _(){var t=Q.pop()||new g;s.call(t),t.mipmask=0;for(var e=0;e<16;++e)t.images[e]=null;return t}function w(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&v(e[r]),e[r]=null;Q.push(t)}function M(){this.minFilter=Yr,this.magFilter=Yr,this.wrapS=Vr,this.wrapT=Vr,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=$r}function k(t,e){if(\\\"min\\\"in e){var n=e.min;de.parameter(n,F),t.minFilter=F[n],cn.indexOf(t.minFilter)>=0&&(t.genMipmaps=!0)}if(\\\"mag\\\"in e){var i=e.mag;de.parameter(i,R),t.magFilter=R[i]}var a=t.wrapS,o=t.wrapT;if(\\\"wrap\\\"in e){var s=e.wrap;\\\"string\\\"==typeof s?(de.parameter(s,O),a=o=O[s]):Array.isArray(s)&&(de.parameter(s[0],O),de.parameter(s[1],O),a=O[s[0]],o=O[s[1]])}else{if(\\\"wrapS\\\"in e){var l=e.wrapS;de.parameter(l,O),a=O[l]}if(\\\"wrapT\\\"in e){var u=e.wrapT;de.parameter(u,O),o=O[u]}}if(t.wrapS=a,t.wrapT=o,\\\"anisotropic\\\"in e){var c=e.anisotropic;de(\\\"number\\\"==typeof c&&c>=1&&c<=r.maxAnisotropic,\\\"aniso samples must be between 1 and \\\"),t.anisotropic=e.anisotropic}if(\\\"mipmap\\\"in e){var h=!1;switch(typeof e.mipmap){case\\\"string\\\":de.parameter(e.mipmap,P,\\\"invalid mipmap hint\\\"),t.mipmapHint=P[e.mipmap],t.genMipmaps=!0,h=!0;break;case\\\"boolean\\\":h=t.genMipmaps=e.mipmap;break;case\\\"object\\\":de(Array.isArray(e.mipmap),\\\"invalid mipmap type\\\"),t.genMipmaps=!1,h=!0;break;default:de.raise(\\\"invalid mipmap type\\\")}!h||\\\"min\\\"in e||(t.minFilter=Wr)}}function A(r,n){t.texParameteri(n,Gr,r.minFilter),t.texParameteri(n,qr,r.magFilter),t.texParameteri(n,Nr,r.wrapS),t.texParameteri(n,Br,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,rn,r.anisotropic),r.genMipmaps&&(t.hint(Qr,r.mipmapHint),t.generateMipmap(n))}function T(e){s.call(this),this.mipmask=0,this.internalformat=or,this.id=$++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new M,o.profile&&(this.stats={size:0})}function S(e){t.activeTexture(un),t.bindTexture(e.target,e.texture)}function E(){var e=rt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(nr,null)}function L(e){var r=e.texture;de(r,\\\"must not double destroy texture\\\");var n=e.unit,i=e.target;n>=0&&(t.activeTexture(un+n),t.bindTexture(i,null),rt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete tt[e.id],a.textureCount--}function C(e,n){function i(t,e){var n=c.texInfo;M.call(n);var a=_();return\\\"number\\\"==typeof t?\\\"number\\\"==typeof e?y(a,0|t,0|e):y(a,0|t,0|t):t?(de.type(t,\\\"object\\\",\\\"invalid arguments to regl.texture\\\"),k(n,t),b(a,t)):y(a,1,1),n.genMipmaps&&(a.mipmask=(a.width<<1)-1),c.mipmask=a.mipmask,l(c,a),de.texture2D(n,a,r),c.internalformat=a.internalformat,i.width=a.width,i.height=a.height,S(c),x(a,nr),A(n,nr),E(),w(a),o.profile&&(c.stats.size=Ct(c.internalformat,c.type,a.width,a.height,n.genMipmaps,!1)),i.format=q[c.internalformat],i.type=G[c.type],i.mag=Y[n.magFilter],i.min=X[n.minFilter],i.wrapS=W[n.wrapS],i.wrapT=W[n.wrapT],i}function s(t,e,r,n){de(!!t,\\\"must specify image data\\\");var a=0|e,o=0|r,s=0|n,u=m();return l(u,c),u.width=0,u.height=0,f(u,t),u.width=u.width||(c.width>>s)-a,u.height=u.height||(c.height>>s)-o,de(c.type===u.type&&c.format===u.format&&c.internalformat===u.internalformat,\\\"incompatible format for texture.subimage\\\"),de(a>=0&&o>=0&&a+u.width<=c.width&&o+u.height<=c.height,\\\"texture.subimage write out of bounds\\\"),de(c.mipmask&1<<s,\\\"missing mipmap data\\\"),de(u.data||u.element||u.needsCopy,\\\"missing image data\\\"),S(c),p(u,nr,a,o,s),E(),v(u),i}function u(e,r){var n=0|e,a=0|r||n;if(n===c.width&&a===c.height)return i;i.width=c.width=n,i.height=c.height=a,S(c);for(var s=0;c.mipmask>>s;++s)t.texImage2D(nr,s,c.format,n>>s,a>>s,0,c.format,c.type,null);return E(),o.profile&&(c.stats.size=Ct(c.internalformat,c.type,n,a,!1,!1)),i}var c=new T(nr);return tt[c.id]=c,a.textureCount++,i(e,n),i.subimage=s,i.resize=u,i._reglType=\\\"texture2d\\\",i._texture=c,o.profile&&(i.stats=c.stats),i.destroy=function(){c.decRef()},i}function z(e,n,i,s,c,h){function d(t,e,n,i,a,s){var c,h=C.texInfo;for(M.call(h),c=0;c<6;++c)z[c]=_();if(\\\"number\\\"!=typeof t&&t)if(\\\"object\\\"==typeof t)if(e)b(z[0],t),b(z[1],e),b(z[2],n),b(z[3],i),b(z[4],a),b(z[5],s);else if(k(h,t),u(C,t),\\\"faces\\\"in t){var f=t.faces;for(de(Array.isArray(f)&&6===f.length,\\\"cube faces must be a length 6 array\\\"),c=0;c<6;++c)de(\\\"object\\\"==typeof f[c]&&!!f[c],\\\"invalid input for cube map face\\\"),l(z[c],C),b(z[c],f[c])}else for(c=0;c<6;++c)b(z[c],t);else de.raise(\\\"invalid arguments to cube map\\\");else{var p=0|t||1;for(c=0;c<6;++c)y(z[c],p,p)}for(l(C,z[0]),h.genMipmaps?C.mipmask=(z[0].width<<1)-1:C.mipmask=z[0].mipmask,de.textureCube(C,h,z,r),C.internalformat=z[0].internalformat,d.width=z[0].width,d.height=z[0].height,S(C),c=0;c<6;++c)x(z[c],ar+c);for(A(h,ir),E(),o.profile&&(C.stats.size=Ct(C.internalformat,C.type,d.width,d.height,h.genMipmaps,!0)),d.format=q[C.internalformat],d.type=G[C.type],d.mag=Y[h.magFilter],d.min=X[h.minFilter],d.wrapS=W[h.wrapS],d.wrapT=W[h.wrapT],c=0;c<6;++c)w(z[c]);return d}function g(t,e,r,n,i){de(!!e,\\\"must specify image data\\\"),de(\\\"number\\\"==typeof t&&t===(0|t)&&t>=0&&t<6,\\\"invalid face\\\");var a=0|r,o=0|n,s=0|i,u=m();return l(u,C),u.width=0,u.height=0,f(u,e),u.width=u.width||(C.width>>s)-a,u.height=u.height||(C.height>>s)-o,de(C.type===u.type&&C.format===u.format&&C.internalformat===u.internalformat,\\\"incompatible format for texture.subimage\\\"),de(a>=0&&o>=0&&a+u.width<=C.width&&o+u.height<=C.height,\\\"texture.subimage write out of bounds\\\"),de(C.mipmask&1<<s,\\\"missing mipmap data\\\"),de(u.data||u.element||u.needsCopy,\\\"missing image data\\\"),S(C),p(u,ar+t,a,o,s),E(),v(u),d}function L(e){var r=0|e;if(r!==C.width){d.width=C.width=r,d.height=C.height=r,S(C);for(var n=0;n<6;++n)for(var i=0;C.mipmask>>i;++i)t.texImage2D(ar+n,i,C.format,r>>i,r>>i,0,C.format,C.type,null);return E(),o.profile&&(C.stats.size=Ct(C.internalformat,C.type,d.width,d.height,!1,!0)),d}}var C=new T(ir);tt[C.id]=C,a.cubeCount++;var z=new Array(6);return d(e,n,i,s,c,h),d.subimage=g,d.resize=L,d._reglType=\\\"textureCube\\\",d._texture=C,o.profile&&(d.stats=C.stats),d.destroy=function(){C.decRef()},d}function I(){for(var e=0;e<et;++e)t.activeTexture(un+e),t.bindTexture(nr,null),rt[e]=null;xe(tt).forEach(L),a.cubeCount=0,a.textureCount=0}function D(){xe(tt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;r<32;++r)if(0!=(e.mipmask&1<<r))if(e.target===nr)t.texImage2D(nr,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(ar+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);A(e.texInfo,e.target)})}var P={\\\"don't care\\\":$r,\\\"dont care\\\":$r,nice:en,fast:tn},O={repeat:Ur,clamp:Vr,mirror:Hr},R={nearest:Yr,linear:Xr},F=$t({mipmap:Kr,\\\"nearest mipmap nearest\\\":Wr,\\\"linear mipmap nearest\\\":Zr,\\\"nearest mipmap linear\\\":Jr,\\\"linear mipmap linear\\\":Kr},R),j={none:0,browser:ln},N={uint8:Or,rgba4:pr,rgb565:vr,\\\"rgb5 a1\\\":mr},B={alpha:sr,luminance:ur,\\\"luminance alpha\\\":cr,rgb:lr,rgba:or,rgba4:hr,\\\"rgb5 a1\\\":fr,rgb565:dr},U={};e.ext_srgb&&(B.srgb=xr,B.srgba=_r),e.oes_texture_float&&(N.float32=N.float=jr),e.oes_texture_half_float&&(N.float16=N[\\\"half float\\\"]=wr),e.webgl_depth_texture&&($t(B,{depth:yr,\\\"depth stencil\\\":br}),$t(N,{uint16:Rr,uint32:Fr,\\\"depth stencil\\\":gr})),e.webgl_compressed_texture_s3tc&&$t(U,{\\\"rgb s3tc dxt1\\\":Mr,\\\"rgba s3tc dxt1\\\":kr,\\\"rgba s3tc dxt3\\\":Ar,\\\"rgba s3tc dxt5\\\":Tr}),e.webgl_compressed_texture_atc&&$t(U,{\\\"rgb atc\\\":Sr,\\\"rgba atc explicit alpha\\\":Er,\\\"rgba atc interpolated alpha\\\":Lr}),e.webgl_compressed_texture_pvrtc&&$t(U,{\\\"rgb pvrtc 4bppv1\\\":Cr,\\\"rgb pvrtc 2bppv1\\\":zr,\\\"rgba pvrtc 4bppv1\\\":Ir,\\\"rgba pvrtc 2bppv1\\\":Dr}),e.webgl_compressed_texture_etc1&&(U[\\\"rgb etc1\\\"]=Pr);var V=Array.prototype.slice.call(t.getParameter(rr));Object.keys(U).forEach(function(t){var e=U[t];V.indexOf(e)>=0&&(B[t]=e)});var H=Object.keys(B);r.textureFormats=H;var q=[];Object.keys(B).forEach(function(t){var e=B[t];q[e]=t});var G=[];Object.keys(N).forEach(function(t){var e=N[t];G[e]=t});var Y=[];Object.keys(R).forEach(function(t){var e=R[t];Y[e]=t});var X=[];Object.keys(F).forEach(function(t){var e=F[t];X[e]=t});var W=[];Object.keys(O).forEach(function(t){var e=O[t];W[e]=t});var J=H.reduce(function(t,e){var r=B[e];return r===ur||r===sr||r===ur||r===cr||r===yr||r===br?t[r]=r:r===fr||e.indexOf(\\\"rgba\\\")>=0?t[r]=or:t[r]=lr,t},{}),K=[],Q=[],$=0,tt={},et=r.maxTextureUnits,rt=Array(et).map(function(){return null});return $t(T.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n<et;++n){var i=rt[n];if(i){if(i.bindCount>0)continue;i.unit=-1}rt[n]=e,r=n;break}r>=et&&de.raise(\\\"insufficient number of texture units\\\"),o.profile&&a.maxTextureUnits<r+1&&(a.maxTextureUnits=r+1),e.unit=r,t.activeTexture(un+r),t.bindTexture(e.target,e.texture)}return r},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&L(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(tt).forEach(function(e){t+=tt[e].stats.size}),t}),{create2D:C,createCube:z,clear:I,getTexture:function(t){return null},restore:D}}function It(t,e,r){return wn[t]*e*r}function Dt(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=0,i=0;e?(n=e.width,i=e.height):r&&(n=r.width,i=r.height),this.width=n,this.height=i}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){if(t)if(t.texture){var n=t.texture._texture,i=Math.max(1,n.width),a=Math.max(1,n.height);de(i===e&&a===r,\\\"inconsistent width/height for supplied texture\\\"),n.refCount+=1}else{var o=t.renderbuffer._renderbuffer;de(o.width===e&&o.height===r,\\\"inconsistent width/height for renderbuffer\\\"),o.refCount+=1}}function u(e,r){r&&(r.texture?t.framebufferTexture2D(kn,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(kn,e,An,r.renderbuffer._renderbuffer.renderbuffer))}function c(t){var e=Tn,r=null,n=null,i=t;\\\"object\\\"==typeof t&&(i=t.data,\\\"target\\\"in t&&(e=0|t.target)),de.type(i,\\\"function\\\",\\\"invalid attachment data\\\");var a=i._reglType;return\\\"texture2d\\\"===a?(r=i,de(e===Tn)):\\\"textureCube\\\"===a?(r=i,de(e>=Sn&&e<Sn+6,\\\"invalid cube map target\\\")):\\\"renderbuffer\\\"===a?(n=i,e=An):de.raise(\\\"invalid regl object for attachment\\\"),new o(e,r,n)}function h(t,e,r,a,s){if(r){var l=n.create2D({width:t,height:e,format:a,type:s});return l._texture.refCount=0,new o(Tn,l,null)}var u=i.create({width:t,height:e,format:a});return u._renderbuffer.refCount=0,new o(An,null,u)}function f(t){return t&&(t.texture||t.renderbuffer)}function d(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function p(){this.id=A++,T[this.id]=this,this.framebuffer=t.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function m(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){var r=e.framebuffer;de(r,\\\"must not double destroy framebuffer\\\"),t.deleteFramebuffer(r),e.framebuffer=null,a.framebufferCount--,delete T[e.id]}function g(e){var n;t.bindFramebuffer(kn,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(En+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(kn,En+n,Tn,null,0);t.framebufferTexture2D(kn,zn,Tn,null,0),t.framebufferTexture2D(kn,Ln,Tn,null,0),t.framebufferTexture2D(kn,Cn,Tn,null,0),u(Ln,e.depthAttachment),u(Cn,e.stencilAttachment),u(zn,e.depthStencilAttachment);var a=t.checkFramebufferStatus(kn);a!==In&&de.raise(\\\"framebuffer configuration not supported, status = \\\"+Un[a]),t.bindFramebuffer(kn,_.next),_.cur=_.next,t.getError()}function y(t,n){function i(t,n){var a;de(_.next!==s,\\\"can not update framebuffer which is currently in use\\\");var o=e.webgl_draw_buffers,u=0,d=0,p=!0,v=!0,y=null,b=!0,x=\\\"rgba\\\",A=\\\"uint8\\\",T=1,S=null,E=null,L=null,C=!1;if(\\\"number\\\"==typeof t)u=0|t,d=0|n||u;else if(t){de.type(t,\\\"object\\\",\\\"invalid arguments for framebuffer\\\");var z=t;if(\\\"shape\\\"in z){var I=z.shape;de(Array.isArray(I)&&I.length>=2,\\\"invalid shape for framebuffer\\\"),u=I[0],d=I[1]}else\\\"radius\\\"in z&&(u=d=z.radius),\\\"width\\\"in z&&(u=z.width),\\\"height\\\"in z&&(d=z.height);(\\\"color\\\"in z||\\\"colors\\\"in z)&&(y=z.color||z.colors,Array.isArray(y)&&de(1===y.length||o,\\\"multiple render targets not supported\\\")),y||(\\\"colorCount\\\"in z&&(T=0|z.colorCount,de(T>0,\\\"invalid color buffer count\\\")),\\\"colorTexture\\\"in z&&(b=!!z.colorTexture,x=\\\"rgba4\\\"),\\\"colorType\\\"in z&&(A=z.colorType,b?(de(e.oes_texture_float||!(\\\"float\\\"===A||\\\"float32\\\"===A),\\\"you must enable OES_texture_float in order to use floating point framebuffer objects\\\"),de(e.oes_texture_half_float||!(\\\"half float\\\"===A||\\\"float16\\\"===A),\\\"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects\\\")):\\\"half float\\\"===A||\\\"float16\\\"===A?(de(e.ext_color_buffer_half_float,\\\"you must enable EXT_color_buffer_half_float to use 16-bit render buffers\\\"),x=\\\"rgba16f\\\"):\\\"float\\\"!==A&&\\\"float32\\\"!==A||(de(e.webgl_color_buffer_float,\\\"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers\\\"),x=\\\"rgba32f\\\"),de.oneOf(A,k,\\\"invalid color type\\\")),\\\"colorFormat\\\"in z&&(x=z.colorFormat,w.indexOf(x)>=0?b=!0:M.indexOf(x)>=0?b=!1:b?de.oneOf(z.colorFormat,w,\\\"invalid color format for texture\\\"):de.oneOf(z.colorFormat,M,\\\"invalid color format for renderbuffer\\\"))),(\\\"depthTexture\\\"in z||\\\"depthStencilTexture\\\"in z)&&(C=!(!z.depthTexture&&!z.depthStencilTexture),de(!C||e.webgl_depth_texture,\\\"webgl_depth_texture extension not supported\\\")),\\\"depth\\\"in z&&(\\\"boolean\\\"==typeof z.depth?p=z.depth:(S=z.depth,v=!1)),\\\"stencil\\\"in z&&(\\\"boolean\\\"==typeof z.stencil?v=z.stencil:(E=z.stencil,p=!1)),\\\"depthStencil\\\"in z&&(\\\"boolean\\\"==typeof z.depthStencil?p=v=z.depthStencil:(L=z.depthStencil,p=!1,v=!1))}else u=d=1;var D=null,P=null,O=null,R=null;if(Array.isArray(y))D=y.map(c);else if(y)D=[c(y)];else for(D=new Array(T),a=0;a<T;++a)D[a]=h(u,d,b,x,A);de(e.webgl_draw_buffers||D.length<=1,\\\"you must enable the WEBGL_draw_buffers extension in order to use multiple color buffers.\\\"),de(D.length<=r.maxColorAttachments,\\\"too many color attachments, not supported\\\"),u=u||D[0].width,d=d||D[0].height,S?P=c(S):p&&!v&&(P=h(u,d,C,\\\"depth\\\",\\\"uint32\\\")),E?O=c(E):v&&!p&&(O=h(u,d,!1,\\\"stencil\\\",\\\"uint8\\\")),L?R=c(L):!S&&!E&&v&&p&&(R=h(u,d,C,\\\"depth stencil\\\",\\\"depth stencil\\\")),de(!!S+!!E+!!L<=1,\\\"invalid framebuffer configuration, can specify exactly one depth/stencil attachment\\\");var F=null;for(a=0;a<D.length;++a)if(l(D[a],u,d),de(!D[a]||D[a].texture&&Pn.indexOf(D[a].texture._texture.format)>=0||D[a].renderbuffer&&Bn.indexOf(D[a].renderbuffer._renderbuffer.format)>=0,\\\"framebuffer color attachment \\\"+a+\\\" is invalid\\\"),D[a]&&D[a].texture){var j=On[D[a].texture._texture.format]*Rn[D[a].texture._texture.type];null===F?F=j:de(F===j,\\\"all color attachments much have the same number of bits per pixel.\\\")}return l(P,u,d),de(!P||P.texture&&P.texture._texture.format===Dn||P.renderbuffer&&P.renderbuffer._renderbuffer.format===Fn,\\\"invalid depth attachment for framebuffer object\\\"),l(O,u,d),de(!O||O.renderbuffer&&O.renderbuffer._renderbuffer.format===jn,\\\"invalid stencil attachment for framebuffer object\\\"),l(R,u,d),de(!R||R.texture&&R.texture._texture.format===Nn||R.renderbuffer&&R.renderbuffer._renderbuffer.format===Nn,\\\"invalid depth-stencil attachment for framebuffer object\\\"),m(s),s.width=u,s.height=d,s.colorAttachments=D,s.depthAttachment=P,s.stencilAttachment=O,s.depthStencilAttachment=R,i.color=D.map(f),i.depth=f(P),i.stencil=f(O),i.depthStencil=f(R),i.width=s.width,i.height=s.height,g(s),i}function o(t,e){de(_.next!==s,\\\"can not resize a framebuffer which is currently in use\\\");var r=0|t,n=0|e||r;if(r===s.width&&n===s.height)return i;for(var a=s.colorAttachments,o=0;o<a.length;++o)d(a[o],r,n);return d(s.depthAttachment,r,n),d(s.stencilAttachment,r,n),d(s.depthStencilAttachment,r,n),s.width=i.width=r,s.height=i.height=n,g(s),i}var s=new p;return a.framebufferCount++,i(t,n),$t(i,{resize:o,_reglType:\\\"framebuffer\\\",_framebuffer:s,destroy:function(){v(s),m(s)},use:function(t){_.setFBO({framebuffer:i},t)}})}function b(t){function i(t){var r;de(o.indexOf(_.next)<0,\\\"can not update framebuffer which is currently in use\\\");var a=e.webgl_draw_buffers,s={color:null},l=0,u=null,c=\\\"rgba\\\",h=\\\"uint8\\\",f=1;if(\\\"number\\\"==typeof t)l=0|t;else if(t){de.type(t,\\\"object\\\",\\\"invalid arguments for framebuffer\\\");var d=t;if(\\\"shape\\\"in d){var p=d.shape;de(Array.isArray(p)&&p.length>=2,\\\"invalid shape for framebuffer\\\"),de(p[0]===p[1],\\\"cube framebuffer must be square\\\"),l=p[0]}else\\\"radius\\\"in d&&(l=0|d.radius),\\\"width\\\"in d?(l=0|d.width,\\\"height\\\"in d&&de(d.height===l,\\\"must be square\\\")):\\\"height\\\"in d&&(l=0|d.height);(\\\"color\\\"in d||\\\"colors\\\"in d)&&(u=d.color||d.colors,Array.isArray(u)&&de(1===u.length||a,\\\"multiple render targets not supported\\\")),u||(\\\"colorCount\\\"in d&&(f=0|d.colorCount,de(f>0,\\\"invalid color buffer count\\\")),\\\"colorType\\\"in d&&(de.oneOf(d.colorType,k,\\\"invalid color type\\\"),h=d.colorType),\\\"colorFormat\\\"in d&&(c=d.colorFormat,de.oneOf(d.colorFormat,w,\\\"invalid color format for texture\\\"))),\\\"depth\\\"in d&&(s.depth=d.depth),\\\"stencil\\\"in d&&(s.stencil=d.stencil),\\\"depthStencil\\\"in d&&(s.depthStencil=d.depthStencil)}else l=1;var m;if(u)if(Array.isArray(u))for(m=[],r=0;r<u.length;++r)m[r]=u[r];else m=[u];else{m=Array(f);var v={radius:l,format:c,type:h};for(r=0;r<f;++r)m[r]=n.createCube(v)}for(s.color=Array(m.length),r=0;r<m.length;++r){var g=m[r];de(\\\"function\\\"==typeof g&&\\\"textureCube\\\"===g._reglType,\\\"invalid cube map\\\"),l=l||g.width,de(g.width===l&&g.height===l,\\\"invalid cube map shape\\\"),s.color[r]={target:Sn,data:m[r]}}for(r=0;r<6;++r){for(var b=0;b<m.length;++b)s.color[b].target=Sn+r;r>0&&(s.depth=o[0].depth,s.stencil=o[0].stencil,s.depthStencil=o[0].depthStencil),o[r]?o[r](s):o[r]=y(s)}return $t(i,{width:l,height:l,color:m})}function a(t){var e,n=0|t;if(de(n>0&&n<=r.maxCubeMapSize,\\\"invalid radius for cube fbo\\\"),n===i.width)return i;var a=i.color;for(e=0;e<a.length;++e)a[e].resize(n);for(e=0;e<6;++e)o[e].resize(n);return i.width=i.height=n,i}var o=Array(6);return i(t),$t(i,{faces:o,resize:a,_reglType:\\\"framebufferCube\\\",destroy:function(){o.forEach(function(t){t.destroy()})}})}function x(){xe(T).forEach(function(e){e.framebuffer=t.createFramebuffer(),g(e)})}var _={cur:null,next:null,dirty:!1,setFBO:null},w=[\\\"rgba\\\"],M=[\\\"rgba4\\\",\\\"rgb565\\\",\\\"rgb5 a1\\\"];e.ext_srgb&&M.push(\\\"srgba\\\"),e.ext_color_buffer_half_float&&M.push(\\\"rgba16f\\\",\\\"rgb16f\\\"),e.webgl_color_buffer_float&&M.push(\\\"rgba32f\\\");var k=[\\\"uint8\\\"];e.oes_texture_half_float&&k.push(\\\"half float\\\",\\\"float16\\\"),e.oes_texture_float&&k.push(\\\"float\\\",\\\"float32\\\");var A=0,T={};return $t(_,{getFramebuffer:function(t){if(\\\"function\\\"==typeof t&&\\\"framebuffer\\\"===t._reglType){var e=t._framebuffer;if(e instanceof p)return e}return null},create:y,createCube:b,clear:function(){xe(T).forEach(v)},restore:x})}function Pt(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=Vn,this.offset=0,this.stride=0,this.divisor=0}function Ot(t,e,r,n,i){for(var a=r.maxAttributes,o=new Array(a),s=0;s<a;++s)o[s]=new Pt;return{Record:Pt,scope:{},state:o}}function Rt(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(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,i){var a=r===Hn?c:h,o=a[n];if(!o){var s=e.str(n);o=t.createShader(r),t.shaderSource(o,s),t.compileShader(o),de.shaderError(t,o,s,r,i),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){var l,u,c=o(Hn,r.fragId),h=o(qn,r.vertId),f=r.program=t.createProgram();t.attachShader(f,c),t.attachShader(f,h),t.linkProgram(f),de.linkError(t,f,e.str(r.fragId),e.str(r.vertId),s);var d=t.getProgramParameter(f,Gn);n.profile&&(r.stats.uniformsCount=d);var p=r.uniforms;for(l=0;l<d;++l)if(u=t.getActiveUniform(f,l))if(u.size>1)for(var m=0;m<u.size;++m){var v=u.name.replace(\\\"[0]\\\",\\\"[\\\"+m+\\\"]\\\");a(p,new i(v,e.id(v),t.getUniformLocation(f,v),u))}else a(p,new i(u.name,e.id(u.name),t.getUniformLocation(f,u.name),u));var g=t.getProgramParameter(f,Yn);n.profile&&(r.stats.attributesCount=g);var y=r.attributes;for(l=0;l<g;++l)(u=t.getActiveAttrib(f,l))&&a(y,new i(u.name,e.id(u.name),t.getAttribLocation(f,u.name),u))}function u(){c={},h={};for(var t=0;t<d.length;++t)l(d[t])}var c={},h={},f={},d=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return d.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return d.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);xe(c).forEach(e),c={},xe(h).forEach(e),h={},d.forEach(function(e){t.deleteProgram(e.program)}),d.length=0,f={},r.shaderCount=0},program:function(t,e,n){de.command(t>=0,\\\"missing vertex shader\\\",n),de.command(e>=0,\\\"missing fragment shader\\\",n);var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a,n),i[t]=a,d.push(a)),a},restore:u,shader:o,frag:-1,vert:-1}}function Ft(t,e,r,n,i,a){function o(o){var s;null===e.next?(de(i.preserveDrawingBuffer,'you must create a webgl context with \\\"preserveDrawingBuffer\\\":true in order to read pixels from the drawing buffer'),s=Wn):(de(null!==e.next.colorAttachments[0].texture,\\\"You cannot read from a renderbuffer\\\"),s=e.next.colorAttachments[0].texture._texture.type,a.oes_texture_float?de(s===Wn||s===Jn,\\\"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'\\\"):de(s===Wn,\\\"Reading from a framebuffer is only allowed for the type 'uint8'\\\"));var l=0,u=0,c=n.framebufferWidth,h=n.framebufferHeight,f=null;Qt(o)?f=o:o&&(de.type(o,\\\"object\\\",\\\"invalid arguments to regl.read()\\\"),l=0|o.x,u=0|o.y,de(l>=0&&l<n.framebufferWidth,\\\"invalid x offset for regl.read\\\"),de(u>=0&&u<n.framebufferHeight,\\\"invalid y offset for regl.read\\\"),c=0|(o.width||n.framebufferWidth-l),h=0|(o.height||n.framebufferHeight-u),f=o.data||null),f&&(s===Wn?de(f instanceof Uint8Array,\\\"buffer must be 'Uint8Array' when reading from a framebuffer of type 'uint8'\\\"):s===Jn&&de(f instanceof Float32Array,\\\"buffer must be 'Float32Array' when reading from a framebuffer of type 'float'\\\")),de(c>0&&c+l<=n.framebufferWidth,\\\"invalid width for read pixels\\\"),de(h>0&&h+u<=n.framebufferHeight,\\\"invalid height for read pixels\\\"),r();var d=c*h*4;return f||(s===Wn?f=new Uint8Array(d):s===Jn&&(f=f||new Float32Array(d))),de.isTypedArray(f,\\\"data buffer for regl.read() must be a typedarray\\\"),de(f.byteLength>=d,\\\"data buffer for regl.read() too small\\\"),t.pixelStorei(Zn,4),t.readPixels(l,u,c,h,Xn,s,f),f}function s(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}function l(t){return t&&\\\"framebuffer\\\"in t?s(t):o(t)}return l}function jt(t){return Array.prototype.slice.call(t)}function Nt(t){return jt(t).join(\\\"\\\")}function Bt(){function t(t){for(var e=0;e<l.length;++e)if(l[e]===t)return s[e];var r=\\\"g\\\"+o++;return s.push(r),l.push(t),r}function e(){function t(){r.push.apply(r,jt(arguments))}function e(){var t=\\\"v\\\"+o++;return n.push(t),arguments.length>0&&(r.push(t,\\\"=\\\"),r.push.apply(r,jt(arguments)),r.push(\\\";\\\")),t}var r=[],n=[];return $t(t,{def:e,toString:function(){return Nt([n.length>0?\\\"var \\\"+n+\\\";\\\":\\\"\\\",Nt(r)])}})}function r(){function t(t,e){\\n\",\n       \"n(t,e,\\\"=\\\",r.def(t,e),\\\";\\\")}var r=e(),n=e(),i=r.toString,a=n.toString;return $t(function(){r.apply(r,jt(arguments))},{def:r.def,entry:r,exit:n,save:t,set:function(e,n,i){t(e,n),r(e,n,\\\"=\\\",i,\\\";\\\")},toString:function(){return i()+a()}})}function n(){var t=Nt(arguments),e=r(),n=r(),i=e.toString,a=n.toString;return $t(e,{then:function(){return e.apply(e,jt(arguments)),this},else:function(){return n.apply(n,jt(arguments)),this},toString:function(){var e=a();return e&&(e=\\\"else{\\\"+e+\\\"}\\\"),Nt([\\\"if(\\\",t,\\\"){\\\",i(),\\\"}\\\",e])}})}function i(t,e){function n(){var t=\\\"a\\\"+i.length;return i.push(t),t}var i=[];e=e||0;for(var a=0;a<e;++a)n();var o=r(),s=o.toString;return c[t]=$t(o,{arg:n,toString:function(){return Nt([\\\"function(\\\",i.join(),\\\"){\\\",s(),\\\"}\\\"])}})}function a(){var t=['\\\"use strict\\\";',u,\\\"return {\\\"];Object.keys(c).forEach(function(e){t.push('\\\"',e,'\\\":',c[e].toString(),\\\",\\\")}),t.push(\\\"}\\\");var e=Nt(t).replace(/;/g,\\\";\\\\n\\\").replace(/}/g,\\\"}\\\\n\\\").replace(/{/g,\\\"{\\\\n\\\");return Function.apply(null,s.concat(e)).apply(null,l)}var o=0,s=[],l=[],u=e(),c={};return{global:u,link:t,block:e,proc:i,scope:r,cond:n,compile:a}}function Ut(t){return Array.isArray(t)||Qt(t)||Z(t)}function Vt(t){return t.sort(function(t,e){return t===Ii?-1:e===Ii?1:t<e?-1:1})}function Ht(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function qt(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function Gt(t){return new Ht(!1,!1,!1,t)}function Yt(t,e){var r=t.type;if(r===ei){var n=t.data.length;return new Ht(!0,n>=1,n>=2,e)}if(r===ai){var i=t.data;return new Ht(i.thisDep,i.contextDep,i.propDep,e)}return new Ht(r===ii,r===ni,r===ri,e)}function Xt(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p){function m(t){return t.replace(\\\".\\\",\\\"_\\\")}function v(t,e,r){var n=m(t);et.push(t),tt[n]=$[n]=!!r,rt[n]=e}function g(t,e,r){var n=m(t);et.push(t),Array.isArray(r)?($[n]=r.slice(),tt[n]=r.slice()):$[n]=tt[n]=r,nt[n]=e}function y(){var t=Bt(),r=t.link,n=t.global;t.id=ot++,t.batchId=\\\"0\\\";var i=r(it),a=t.shared={props:\\\"a0\\\"};Object.keys(it).forEach(function(t){a[t]=n.def(i,\\\".\\\",t)}),de.optional(function(){t.CHECK=r(de),t.commandStr=de.guessCommand(),t.command=r(t.commandStr),t.assert=function(t,e,n){t(\\\"if(!(\\\",e,\\\"))\\\",this.CHECK,\\\".commandRaise(\\\",r(n),\\\",\\\",this.command,\\\");\\\")},at.invalidBlendCombinations=Ua});var o=t.next={},s=t.current={};Object.keys(nt).forEach(function(t){Array.isArray($[t])&&(o[t]=n.def(a.next,\\\".\\\",t),s[t]=n.def(a.current,\\\".\\\",t))});var l=t.constants={};Object.keys(at).forEach(function(t){l[t]=n.def(JSON.stringify(at[t]))}),t.invoke=function(e,n){switch(n.type){case ei:var i=[\\\"this\\\",a.context,a.props,t.batchId];return e.def(r(n.data),\\\".call(\\\",i.slice(0,Math.max(n.data.length+1,4)),\\\")\\\");case ri:return e.def(a.props,n.data);case ni:return e.def(a.context,n.data);case ii:return e.def(\\\"this\\\",n.data);case ai:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){var n=e.id(t);if(n in c)return c[n];var i=u.scope[n];return i||(i=u.scope[n]=new W),c[n]=r(i)},t}function b(t){var e,r=t.static,n=t.dynamic;if(Di in r){var i=!!r[Di];e=Gt(function(t,e){return i}),e.enable=i}else if(Di in n){var a=n[Di];e=Yt(a,function(t,e){return t.invoke(e,a)})}return e}function x(t,e){var r=t.static,n=t.dynamic;if(Pi in r){var i=r[Pi];return i?(i=s.getFramebuffer(i),de.command(i,\\\"invalid framebuffer object\\\"),Gt(function(t,e){var r=t.link(i),n=t.shared;e.set(n.framebuffer,\\\".next\\\",r);var a=n.context;return e.set(a,\\\".\\\"+Vi,r+\\\".width\\\"),e.set(a,\\\".\\\"+Hi,r+\\\".height\\\"),r})):Gt(function(t,e){var r=t.shared;e.set(r.framebuffer,\\\".next\\\",\\\"null\\\");var n=r.context;return e.set(n,\\\".\\\"+Vi,n+\\\".\\\"+Yi),e.set(n,\\\".\\\"+Hi,n+\\\".\\\"+Xi),\\\"null\\\"})}if(Pi in n){var a=n[Pi];return Yt(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer,o=e.def(i,\\\".getFramebuffer(\\\",r,\\\")\\\");de.optional(function(){t.assert(e,\\\"!\\\"+r+\\\"||\\\"+o,\\\"invalid framebuffer object\\\")}),e.set(i,\\\".next\\\",o);var s=n.context;return e.set(s,\\\".\\\"+Vi,o+\\\"?\\\"+o+\\\".width:\\\"+s+\\\".\\\"+Yi),e.set(s,\\\".\\\"+Hi,o+\\\"?\\\"+o+\\\".height:\\\"+s+\\\".\\\"+Xi),o})}return null}function _(t,e,r){function n(t){if(t in i){var n=i[t];de.commandType(n,\\\"object\\\",\\\"invalid \\\"+t,r.commandStr);var o,s,l=!0,u=0|n.x,c=0|n.y;return\\\"width\\\"in n?(o=0|n.width,de.command(o>=0,\\\"invalid \\\"+t,r.commandStr)):l=!1,\\\"height\\\"in n?(s=0|n.height,de.command(s>=0,\\\"invalid \\\"+t,r.commandStr)):l=!1,new Ht(!l&&e&&e.thisDep,!l&&e&&e.contextDep,!l&&e&&e.propDep,function(t,e){var r=t.shared.context,i=o;\\\"width\\\"in n||(i=e.def(r,\\\".\\\",Vi,\\\"-\\\",u));var a=s;return\\\"height\\\"in n||(a=e.def(r,\\\".\\\",Hi,\\\"-\\\",c)),[u,c,i,a]})}if(t in a){var h=a[t],f=Yt(h,function(e,r){var n=e.invoke(r,h);de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t)});var i=e.shared.context,a=r.def(n,\\\".x|0\\\"),o=r.def(n,\\\".y|0\\\"),s=r.def('\\\"width\\\" in ',n,\\\"?\\\",n,\\\".width|0:\\\",\\\"(\\\",i,\\\".\\\",Vi,\\\"-\\\",a,\\\")\\\"),l=r.def('\\\"height\\\" in ',n,\\\"?\\\",n,\\\".height|0:\\\",\\\"(\\\",i,\\\".\\\",Hi,\\\"-\\\",o,\\\")\\\");return de.optional(function(){e.assert(r,s+\\\">=0&&\\\"+l+\\\">=0\\\",\\\"invalid \\\"+t)}),[a,o,s,l]});return e&&(f.thisDep=f.thisDep||e.thisDep,f.contextDep=f.contextDep||e.contextDep,f.propDep=f.propDep||e.propDep),f}return e?new Ht(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,\\\".\\\",Vi),e.def(r,\\\".\\\",Hi)]}):null}var i=t.static,a=t.dynamic,o=n(Ii);if(o){var s=o;o=new Ht(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=s.append(t,e),n=t.shared.context;return e.set(n,\\\".\\\"+qi,r[2]),e.set(n,\\\".\\\"+Gi,r[3]),r})}return{viewport:o,scissor_box:n(zi)}}function w(t){function r(t){if(t in i){var r=e.id(i[t]);de.optional(function(){c.shader(qa[t],r,de.guessCommand())});var n=Gt(function(){return r});return n.id=r,n}if(t in a){var o=a[t];return Yt(o,function(e,r){var n=e.invoke(r,o),i=r.def(e.shared.strings,\\\".id(\\\",n,\\\")\\\");return de.optional(function(){r(e.shared.shader,\\\".shader(\\\",qa[t],\\\",\\\",i,\\\",\\\",e.command,\\\");\\\")}),i})}return null}var n,i=t.static,a=t.dynamic,o=r(Ri),s=r(Oi),l=null;return qt(o)&&qt(s)?(l=c.program(s.id,o.id),n=Gt(function(t,e){return t.link(l)})):n=new Ht(o&&o.thisDep||s&&s.thisDep,o&&o.contextDep||s&&s.contextDep,o&&o.propDep||s&&s.propDep,function(t,e){var r,n=t.shared.shader;r=o?o.append(t,e):e.def(n,\\\".\\\",Ri);var i;i=s?s.append(t,e):e.def(n,\\\".\\\",Oi);var a=n+\\\".program(\\\"+i+\\\",\\\"+r;return de.optional(function(){a+=\\\",\\\"+t.command}),e.def(a+\\\")\\\")}),{frag:o,vert:s,progVar:n,program:l}}function M(t,e){function r(t,r){if(t in n){var a=0|n[t];return de.command(!r||a>=0,\\\"invalid \\\"+t,e.commandStr),Gt(function(t,e){return r&&(t.OFFSET=a),a})}if(t in i){var s=i[t];return Yt(s,function(e,n){var i=e.invoke(n,s);return r&&(e.OFFSET=i,de.optional(function(){e.assert(n,i+\\\">=0\\\",\\\"invalid \\\"+t)})),i})}return r&&o?Gt(function(t,e){return t.OFFSET=\\\"0\\\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(Fi in n){var t=n[Fi];Ut(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t),de.command(t,\\\"invalid elements\\\",e.commandStr));var r=Gt(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n,n}return e.ELEMENTS=null,null});return r.value=t,r}if(Fi in i){var o=i[Fi];return Yt(o,function(t,e){var r=t.shared,n=r.isBufferArgs,i=r.elements,a=t.invoke(e,o),s=e.def(\\\"null\\\"),l=e.def(n,\\\"(\\\",a,\\\")\\\"),u=t.cond(l).then(s,\\\"=\\\",i,\\\".createStream(\\\",a,\\\");\\\").else(s,\\\"=\\\",i,\\\".getElements(\\\",a,\\\");\\\");return de.optional(function(){t.assert(u.else,\\\"!\\\"+a+\\\"||\\\"+s,\\\"invalid elements\\\")}),e.entry(u),e.exit(t.cond(l).then(i,\\\".destroyStream(\\\",s,\\\");\\\")),t.ELEMENTS=s,s})}return null}(),s=r(Bi,!0);return{elements:o,primitive:function(){if(ji in n){var t=n[ji];return de.commandParameter(t,Be,\\\"invalid primitve\\\",e.commandStr),Gt(function(e,r){return Be[t]})}if(ji in i){var r=i[ji];return Yt(r,function(t,e){var n=t.constants.primTypes,i=t.invoke(e,r);return de.optional(function(){t.assert(e,i+\\\" in \\\"+n,\\\"invalid primitive, must be one of \\\"+Object.keys(Be))}),e.def(n,\\\"[\\\",i,\\\"]\\\")})}return o?qt(o)?Gt(o.value?function(t,e){return e.def(t.ELEMENTS,\\\".primType\\\")}:function(){return Aa}):new Ht(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,\\\"?\\\",r,\\\".primType:\\\",Aa)}):null}(),count:function(){if(Ni in n){var t=0|n[Ni];return de.command(\\\"number\\\"==typeof t&&t>=0,\\\"invalid vertex count\\\",e.commandStr),Gt(function(){return t})}if(Ni in i){var r=i[Ni];return Yt(r,function(t,e){var n=t.invoke(e,r);return de.optional(function(){t.assert(e,\\\"typeof \\\"+n+'===\\\"number\\\"&&'+n+\\\">=0&&\\\"+n+\\\"===(\\\"+n+\\\"|0)\\\",\\\"invalid vertex count\\\")}),n})}if(o){if(qt(o)){if(o)return s?new Ht(s.thisDep,s.contextDep,s.propDep,function(t,e){var r=e.def(t.ELEMENTS,\\\".vertCount-\\\",t.OFFSET);return de.optional(function(){t.assert(e,r+\\\">=0\\\",\\\"invalid vertex offset/element buffer too small\\\")}),r}):Gt(function(t,e){return e.def(t.ELEMENTS,\\\".vertCount\\\")});var a=Gt(function(){return-1});return de.optional(function(){a.MISSING=!0}),a}var l=new Ht(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.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\\\")});return de.optional(function(){l.DYNAMIC=!0}),l}return null}(),instances:r(Ui,!1),offset:s}}function k(t,e){var r=t.static,i=t.dynamic,a={};return et.forEach(function(t){function o(e,n){if(t in r){var o=e(r[t]);a[s]=Gt(function(){return o})}else if(t in i){var l=i[t];a[s]=Yt(l,function(t,e){return n(t,e,t.invoke(e,l))})}}var s=m(t);switch(t){case vi:case si:case oi:case Ai:case hi:case Ci:case xi:case wi:case Mi:case pi:return o(function(r){return de.commandType(r,\\\"boolean\\\",t,e.commandStr),r},function(e,r,n){return de.optional(function(){e.assert(r,\\\"typeof \\\"+n+'===\\\"boolean\\\"',\\\"invalid flag \\\"+t,e.commandStr)}),n});case fi:return o(function(r){return de.commandParameter(r,Va,\\\"invalid \\\"+t,e.commandStr),Va[r]},function(e,r,n){var i=e.constants.compareFuncs;return de.optional(function(){e.assert(r,n+\\\" in \\\"+i,\\\"invalid \\\"+t+\\\", must be one of \\\"+Object.keys(Va))}),r.def(i,\\\"[\\\",n,\\\"]\\\")});case di:return o(function(t){return de.command(mt(t)&&2===t.length&&\\\"number\\\"==typeof t[0]&&\\\"number\\\"==typeof t[1]&&t[0]<=t[1],\\\"depth range is 2d array\\\",e.commandStr),t},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\\\"(\\\"+r+\\\")&&\\\"+r+\\\".length===2&&typeof \\\"+r+'[0]===\\\"number\\\"&&typeof '+r+'[1]===\\\"number\\\"&&'+r+\\\"[0]<=\\\"+r+\\\"[1]\\\",\\\"depth range must be a 2d array\\\")}),[e.def(\\\"+\\\",r,\\\"[0]\\\"),e.def(\\\"+\\\",r,\\\"[1]\\\")]});case ci:return o(function(t){de.commandType(t,\\\"object\\\",\\\"blend.func\\\",e.commandStr);var r=\\\"srcRGB\\\"in t?t.srcRGB:t.src,n=\\\"srcAlpha\\\"in t?t.srcAlpha:t.src,i=\\\"dstRGB\\\"in t?t.dstRGB:t.dst,a=\\\"dstAlpha\\\"in t?t.dstAlpha:t.dst;return de.commandParameter(r,Ba,s+\\\".srcRGB\\\",e.commandStr),de.commandParameter(n,Ba,s+\\\".srcAlpha\\\",e.commandStr),de.commandParameter(i,Ba,s+\\\".dstRGB\\\",e.commandStr),de.commandParameter(a,Ba,s+\\\".dstAlpha\\\",e.commandStr),de.command(-1===Ua.indexOf(r+\\\", \\\"+i),\\\"unallowed blending combination (srcRGB, dstRGB) = (\\\"+r+\\\", \\\"+i+\\\")\\\",e.commandStr),[Ba[r],Ba[i],Ba[n],Ba[a]]},function(e,r,n){function i(i,o){var s=r.def('\\\"',i,o,'\\\" in ',n,\\\"?\\\",n,\\\".\\\",i,o,\\\":\\\",n,\\\".\\\",i);return de.optional(function(){e.assert(r,s+\\\" in \\\"+a,\\\"invalid \\\"+t+\\\".\\\"+i+o+\\\", must be one of \\\"+Object.keys(Ba))}),s}var a=e.constants.blendFuncs;de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid blend func, must be an object\\\")});var o=i(\\\"src\\\",\\\"RGB\\\"),s=i(\\\"dst\\\",\\\"RGB\\\");de.optional(function(){var t=e.constants.invalidBlendCombinations;e.assert(r,t+\\\".indexOf(\\\"+o+'+\\\", \\\"+'+s+\\\") === -1 \\\",\\\"unallowed blending combination for (srcRGB, dstRGB)\\\")});var l=r.def(a,\\\"[\\\",o,\\\"]\\\"),u=r.def(a,\\\"[\\\",i(\\\"src\\\",\\\"Alpha\\\"),\\\"]\\\");return[l,r.def(a,\\\"[\\\",s,\\\"]\\\"),u,r.def(a,\\\"[\\\",i(\\\"dst\\\",\\\"Alpha\\\"),\\\"]\\\")]});case ui:return o(function(r){return\\\"string\\\"==typeof r?(de.commandParameter(r,Z,\\\"invalid \\\"+t,e.commandStr),[Z[r],Z[r]]):\\\"object\\\"==typeof r?(de.commandParameter(r.rgb,Z,t+\\\".rgb\\\",e.commandStr),de.commandParameter(r.alpha,Z,t+\\\".alpha\\\",e.commandStr),[Z[r.rgb],Z[r.alpha]]):void de.commandRaise(\\\"invalid blend.equation\\\",e.commandStr)},function(e,r,n){var i=e.constants.blendEquations,a=r.def(),o=r.def(),s=e.cond(\\\"typeof \\\",n,'===\\\"string\\\"');return de.optional(function(){function r(t,r,n){e.assert(t,n+\\\" in \\\"+i,\\\"invalid \\\"+r+\\\", must be one of \\\"+Object.keys(Z))}r(s.then,t,n),e.assert(s.else,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t),r(s.else,t+\\\".rgb\\\",n+\\\".rgb\\\"),r(s.else,t+\\\".alpha\\\",n+\\\".alpha\\\")}),s.then(a,\\\"=\\\",o,\\\"=\\\",i,\\\"[\\\",n,\\\"];\\\"),s.else(a,\\\"=\\\",i,\\\"[\\\",n,\\\".rgb];\\\",o,\\\"=\\\",i,\\\"[\\\",n,\\\".alpha];\\\"),r(s),[a,o]});case li:return o(function(t){return de.command(mt(t)&&4===t.length,\\\"blend.color must be a 4d array\\\",e.commandStr),J(4,function(e){return+t[e]})},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\\\"(\\\"+r+\\\")&&\\\"+r+\\\".length===4\\\",\\\"blend.color must be a 4d array\\\")}),J(4,function(t){return e.def(\\\"+\\\",r,\\\"[\\\",t,\\\"]\\\")})});case Ti:return o(function(t){return de.commandType(t,\\\"number\\\",s,e.commandStr),0|t},function(t,e,r){return de.optional(function(){t.assert(e,\\\"typeof \\\"+r+'===\\\"number\\\"',\\\"invalid stencil.mask\\\")}),e.def(r,\\\"|0\\\")});case Si:return o(function(r){de.commandType(r,\\\"object\\\",s,e.commandStr);var n=r.cmp||\\\"keep\\\",i=r.ref||0,a=\\\"mask\\\"in r?r.mask:-1;return de.commandParameter(n,Va,t+\\\".cmp\\\",e.commandStr),de.commandType(i,\\\"number\\\",t+\\\".ref\\\",e.commandStr),de.commandType(a,\\\"number\\\",t+\\\".mask\\\",e.commandStr),[Va[n],i,a]},function(t,e,r){var n=t.constants.compareFuncs;return de.optional(function(){function i(){t.assert(e,Array.prototype.join.call(arguments,\\\"\\\"),\\\"invalid stencil.func\\\")}i(r+\\\"&&typeof \\\",r,'===\\\"object\\\"'),i('!(\\\"cmp\\\" in ',r,\\\")||(\\\",r,\\\".cmp in \\\",n,\\\")\\\")}),[e.def('\\\"cmp\\\" in ',r,\\\"?\\\",n,\\\"[\\\",r,\\\".cmp]\\\",\\\":\\\",Da),e.def(r,\\\".ref|0\\\"),e.def('\\\"mask\\\" in ',r,\\\"?\\\",r,\\\".mask|0:-1\\\")]});case Ei:case Li:return o(function(r){de.commandType(r,\\\"object\\\",s,e.commandStr);var n=r.fail||\\\"keep\\\",i=r.zfail||\\\"keep\\\",a=r.zpass||\\\"keep\\\";return de.commandParameter(n,Ha,t+\\\".fail\\\",e.commandStr),de.commandParameter(i,Ha,t+\\\".zfail\\\",e.commandStr),de.commandParameter(a,Ha,t+\\\".zpass\\\",e.commandStr),[t===Li?Sa:Ta,Ha[n],Ha[i],Ha[a]]},function(e,r,n){function i(i){return de.optional(function(){e.assert(r,'!(\\\"'+i+'\\\" in '+n+\\\")||(\\\"+n+\\\".\\\"+i+\\\" in \\\"+a+\\\")\\\",\\\"invalid \\\"+t+\\\".\\\"+i+\\\", must be one of \\\"+Object.keys(Ha))}),r.def('\\\"',i,'\\\" in ',n,\\\"?\\\",a,\\\"[\\\",n,\\\".\\\",i,\\\"]:\\\",Da)}var a=e.constants.stencilOps;return de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t)}),[t===Li?Sa:Ta,i(\\\"fail\\\"),i(\\\"zfail\\\"),i(\\\"zpass\\\")]});case _i:return o(function(t){de.commandType(t,\\\"object\\\",s,e.commandStr);var r=0|t.factor,n=0|t.units;return de.commandType(r,\\\"number\\\",s+\\\".factor\\\",e.commandStr),de.commandType(n,\\\"number\\\",s+\\\".units\\\",e.commandStr),[r,n]},function(e,r,n){return de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t)}),[r.def(n,\\\".factor|0\\\"),r.def(n,\\\".units|0\\\")]});case gi:return o(function(t){var r=0;return\\\"front\\\"===t?r=Ta:\\\"back\\\"===t&&(r=Sa),de.command(!!r,s,e.commandStr),r},function(t,e,r){return de.optional(function(){t.assert(e,r+'===\\\"front\\\"||'+r+'===\\\"back\\\"',\\\"invalid cull.face\\\")}),e.def(r,'===\\\"front\\\"?',Ta,\\\":\\\",Sa)});case bi:return o(function(t){return de.command(\\\"number\\\"==typeof t&&t>=n.lineWidthDims[0]&&t<=n.lineWidthDims[1],\\\"invalid line width, must positive number between \\\"+n.lineWidthDims[0]+\\\" and \\\"+n.lineWidthDims[1],e.commandStr),t},function(t,e,r){return de.optional(function(){t.assert(e,\\\"typeof \\\"+r+'===\\\"number\\\"&&'+r+\\\">=\\\"+n.lineWidthDims[0]+\\\"&&\\\"+r+\\\"<=\\\"+n.lineWidthDims[1],\\\"invalid line width\\\")}),r});case yi:return o(function(t){return de.commandParameter(t,Ga,s,e.commandStr),Ga[t]},function(t,e,r){return de.optional(function(){t.assert(e,r+'===\\\"cw\\\"||'+r+'===\\\"ccw\\\"',\\\"invalid frontFace, must be one of cw,ccw\\\")}),e.def(r+'===\\\"cw\\\"?'+Ea+\\\":\\\"+La)});case mi:return o(function(t){return de.command(mt(t)&&4===t.length,\\\"color.mask must be length 4 array\\\",e.commandStr),t.map(function(t){return!!t})},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\\\"(\\\"+r+\\\")&&\\\"+r+\\\".length===4\\\",\\\"invalid color.mask\\\")}),J(4,function(t){return\\\"!!\\\"+r+\\\"[\\\"+t+\\\"]\\\"})});case ki:return o(function(t){de.command(\\\"object\\\"==typeof t&&t,s,e.commandStr);var r=\\\"value\\\"in t?t.value:1,n=!!t.invert;return de.command(\\\"number\\\"==typeof r&&r>=0&&r<=1,\\\"sample.coverage.value must be a number between 0 and 1\\\",e.commandStr),[r,n]},function(t,e,r){return de.optional(function(){t.assert(e,r+\\\"&&typeof \\\"+r+'===\\\"object\\\"',\\\"invalid sample.coverage\\\")}),[e.def('\\\"value\\\" in ',r,\\\"?+\\\",r,\\\".value:1\\\"),e.def(\\\"!!\\\",r,\\\".invert\\\")]})}}),a}function A(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var n,a=r[t];if(\\\"number\\\"==typeof a||\\\"boolean\\\"==typeof a)n=Gt(function(){return a});else if(\\\"function\\\"==typeof a){var o=a._reglType;\\\"texture2d\\\"===o||\\\"textureCube\\\"===o?n=Gt(function(t){return t.link(a)}):\\\"framebuffer\\\"===o||\\\"framebufferCube\\\"===o?(de.command(a.color.length>0,'missing color attachment for framebuffer sent to uniform \\\"'+t+'\\\"',e.commandStr),n=Gt(function(t){return t.link(a.color[0])})):de.commandRaise('invalid data for uniform \\\"'+t+'\\\"',e.commandStr)}else mt(a)?n=Gt(function(e){return e.global.def(\\\"[\\\",J(a.length,function(r){return de.command(\\\"number\\\"==typeof a[r]||\\\"boolean\\\"==typeof a[r],\\\"invalid uniform \\\"+t,e.commandStr),a[r]}),\\\"]\\\")}):de.commandRaise('invalid or missing data for uniform \\\"'+t+'\\\"',e.commandStr);n.value=a,i[t]=n}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=Yt(e,function(t,r){return t.invoke(r,e)})}),i}function T(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var a=n[t],s=e.id(t),l=new W;if(Ut(a))l.state=$n,l.buffer=i.getBuffer(i.create(a,Zi,!1,!0)),l.type=0;else{var u=i.getBuffer(a);if(u)l.state=$n,l.buffer=u,l.type=0;else if(de.command(\\\"object\\\"==typeof a&&a,\\\"invalid data for attribute \\\"+t,r.commandStr),a.constant){var c=a.constant;l.buffer=\\\"null\\\",l.state=ti,\\\"number\\\"==typeof c?l.x=c:(de.command(mt(c)&&c.length>0&&c.length<=4,\\\"invalid constant for attribute \\\"+t,r.commandStr),Kn.forEach(function(t,e){e<c.length&&(l[t]=c[e])}))}else{u=Ut(a.buffer)?i.getBuffer(i.create(a.buffer,Zi,!1,!0)):i.getBuffer(a.buffer),de.command(!!u,'missing buffer for attribute \\\"'+t+'\\\"',r.commandStr);var h=0|a.offset;de.command(h>=0,'invalid offset for attribute \\\"'+t+'\\\"',r.commandStr);var f=0|a.stride;de.command(f>=0&&f<256,'invalid stride for attribute \\\"'+t+'\\\", must be integer betweeen [0, 255]',r.commandStr);var d=0|a.size;de.command(!(\\\"size\\\"in a)||d>0&&d<=4,'invalid size for attribute \\\"'+t+'\\\", must be 1,2,3,4',r.commandStr);var p=!!a.normalized,m=0;\\\"type\\\"in a&&(de.commandParameter(a.type,ze,\\\"invalid type for attribute \\\"+t,r.commandStr),m=ze[a.type]);var v=0|a.divisor;\\\"divisor\\\"in a&&(de.command(0===v||K,'cannot specify divisor for attribute \\\"'+t+'\\\", instancing not supported',r.commandStr),de.command(v>=0,'invalid divisor for attribute \\\"'+t+'\\\"',r.commandStr)),de.optional(function(){var e=r.commandStr,n=[\\\"buffer\\\",\\\"offset\\\",\\\"divisor\\\",\\\"normalized\\\",\\\"type\\\",\\\"size\\\",\\\"stride\\\"];Object.keys(a).forEach(function(r){de.command(n.indexOf(r)>=0,'unknown parameter \\\"'+r+'\\\" for attribute pointer \\\"'+t+'\\\" (valid parameters are '+n+\\\")\\\",e)})}),l.buffer=u,l.state=$n,l.size=d,l.normalized=p,l.type=m||u.dtype,l.offset=h,l.stride=f,l.divisor=v}}o[t]=Gt(function(t,e){var r=t.attribCache;if(s in r)return r[s];var n={isStream:!1};return Object.keys(l).forEach(function(t){n[t]=l[t]}),l.buffer&&(n.buffer=t.link(l.buffer),n.type=n.type||n.buffer+\\\".dtype\\\"),r[s]=n,n})}),Object.keys(a).forEach(function(t){function e(e,n){function i(t){n(u[t],\\\"=\\\",a,\\\".\\\",t,\\\"|0;\\\")}var a=e.invoke(n,r),o=e.shared,s=o.isBufferArgs,l=o.buffer;de.optional(function(){e.assert(n,a+\\\"&&(typeof \\\"+a+'===\\\"object\\\"||typeof '+a+'===\\\"function\\\")&&('+s+\\\"(\\\"+a+\\\")||\\\"+l+\\\".getBuffer(\\\"+a+\\\")||\\\"+l+\\\".getBuffer(\\\"+a+\\\".buffer)||\\\"+s+\\\"(\\\"+a+'.buffer)||(\\\"constant\\\" in '+a+\\\"&&(typeof \\\"+a+'.constant===\\\"number\\\"||'+o.isArrayLike+\\\"(\\\"+a+\\\".constant))))\\\",'invalid dynamic attribute \\\"'+t+'\\\"')});var u={isStream:n.def(!1)},c=new W;c.state=$n,Object.keys(c).forEach(function(t){u[t]=n.def(\\\"\\\"+c[t])});var h=u.buffer,f=u.type;return n(\\\"if(\\\",s,\\\"(\\\",a,\\\")){\\\",u.isStream,\\\"=true;\\\",h,\\\"=\\\",l,\\\".createStream(\\\",Zi,\\\",\\\",a,\\\");\\\",f,\\\"=\\\",h,\\\".dtype;\\\",\\\"}else{\\\",h,\\\"=\\\",l,\\\".getBuffer(\\\",a,\\\");\\\",\\\"if(\\\",h,\\\"){\\\",f,\\\"=\\\",h,\\\".dtype;\\\",'}else if(\\\"constant\\\" in ',a,\\\"){\\\",u.state,\\\"=\\\",ti,\\\";\\\",\\\"if(typeof \\\"+a+'.constant === \\\"number\\\"){',u[Kn[0]],\\\"=\\\",a,\\\".constant;\\\",Kn.slice(1).map(function(t){return u[t]}).join(\\\"=\\\"),\\\"=0;\\\",\\\"}else{\\\",Kn.map(function(t,e){return u[t]+\\\"=\\\"+a+\\\".constant.length>=\\\"+e+\\\"?\\\"+a+\\\".constant[\\\"+e+\\\"]:0;\\\"}).join(\\\"\\\"),\\\"}}else{\\\",\\\"if(\\\",s,\\\"(\\\",a,\\\".buffer)){\\\",h,\\\"=\\\",l,\\\".createStream(\\\",Zi,\\\",\\\",a,\\\".buffer);\\\",\\\"}else{\\\",h,\\\"=\\\",l,\\\".getBuffer(\\\",a,\\\".buffer);\\\",\\\"}\\\",f,'=\\\"type\\\" in ',a,\\\"?\\\",o.glTypes,\\\"[\\\",a,\\\".type]:\\\",h,\\\".dtype;\\\",u.normalized,\\\"=!!\\\",a,\\\".normalized;\\\"),i(\\\"size\\\"),i(\\\"offset\\\"),i(\\\"stride\\\"),i(\\\"divisor\\\"),n(\\\"}}\\\"),n.exit(\\\"if(\\\",u.isStream,\\\"){\\\",l,\\\".destroyStream(\\\",h,\\\");\\\",\\\"}\\\"),u}var r=a[t];o[t]=Yt(r,e)}),o}function S(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=Gt(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]=Yt(e,function(t,r){return t.invoke(r,e)})}),n}function E(t,e,r,n,i){function a(t){var e=u[t];e&&(h[t]=e)}var o=t.static,s=t.dynamic;de.optional(function(){function t(t){Object.keys(t).forEach(function(t){de.command(e.indexOf(t)>=0,'unknown parameter \\\"'+t+'\\\"',i.commandStr)})}var e=[Pi,Oi,Ri,Fi,ji,Bi,Ni,Ui,Di].concat(et);t(o),t(s)});var l=x(t,i),u=_(t,l,i),c=M(t,i),h=k(t,i),f=w(t,i);a(Ii),a(m(zi));var d=Object.keys(h).length>0,p={framebuffer:l,draw:c,shader:f,state:h,dirty:d};return p.profile=b(t,i),p.uniforms=A(r,i),p.attributes=T(e,i),p.context=S(n,i),p}function L(t,e,r){var n=t.shared,i=n.context,a=t.scope();Object.keys(r).forEach(function(n){e.save(i,\\\".\\\"+n);var o=r[n];a(i,\\\".\\\",n,\\\"=\\\",o.append(t,e),\\\";\\\")}),e(a)}function C(t,e,r,n){var i,a=t.shared,o=a.gl,s=a.framebuffer;Q&&(i=e.def(a.extensions,\\\".webgl_draw_buffers\\\"));var l,u=t.constants,c=u.drawBuffer,h=u.backBuffer;l=r?r.append(t,e):e.def(s,\\\".next\\\"),n||e(\\\"if(\\\",l,\\\"!==\\\",s,\\\".cur){\\\"),e(\\\"if(\\\",l,\\\"){\\\",o,\\\".bindFramebuffer(\\\",ja,\\\",\\\",l,\\\".framebuffer);\\\"),Q&&e(i,\\\".drawBuffersWEBGL(\\\",c,\\\"[\\\",l,\\\".colorAttachments.length]);\\\"),e(\\\"}else{\\\",o,\\\".bindFramebuffer(\\\",ja,\\\",null);\\\"),Q&&e(i,\\\".drawBuffersWEBGL(\\\",h,\\\");\\\"),e(\\\"}\\\",s,\\\".cur=\\\",l,\\\";\\\"),n||e(\\\"}\\\")}function z(t,e,r){var n=t.shared,i=n.gl,a=t.current,o=t.next,s=n.current,l=n.next,u=t.cond(s,\\\".dirty\\\");et.forEach(function(e){var n=m(e);if(!(n in r.state)){var c,h;if(n in o){c=o[n],h=a[n];var f=J($[n].length,function(t){return u.def(c,\\\"[\\\",t,\\\"]\\\")});u(t.cond(f.map(function(t,e){return t+\\\"!==\\\"+h+\\\"[\\\"+e+\\\"]\\\"}).join(\\\"||\\\")).then(i,\\\".\\\",nt[n],\\\"(\\\",f,\\\");\\\",f.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\"))}else{c=u.def(l,\\\".\\\",n);var d=t.cond(c,\\\"!==\\\",s,\\\".\\\",n);u(d),n in rt?d(t.cond(c).then(i,\\\".enable(\\\",rt[n],\\\");\\\").else(i,\\\".disable(\\\",rt[n],\\\");\\\"),s,\\\".\\\",n,\\\"=\\\",c,\\\";\\\"):d(i,\\\".\\\",nt[n],\\\"(\\\",c,\\\");\\\",s,\\\".\\\",n,\\\"=\\\",c,\\\";\\\")}}}),0===Object.keys(r.state).length&&u(s,\\\".dirty=false;\\\"),e(u)}function I(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;Vt(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var u=l.append(t,e);if(rt[i]){var c=rt[i];qt(l)?u?e(s,\\\".enable(\\\",c,\\\");\\\"):e(s,\\\".disable(\\\",c,\\\");\\\"):e(t.cond(u).then(s,\\\".enable(\\\",c,\\\");\\\").else(s,\\\".disable(\\\",c,\\\");\\\")),e(o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}else if(mt(u)){var h=a[i];e(s,\\\".\\\",nt[i],\\\"(\\\",u,\\\");\\\",u.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\")}else e(s,\\\".\\\",nt[i],\\\"(\\\",u,\\\");\\\",o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}})}function D(t,e){K&&(t.instancing=e.def(t.shared.extensions,\\\".angle_instanced_arrays\\\"))}function P(t,e,r,n,i){function a(){return\\\"undefined\\\"==typeof performance?\\\"Date.now()\\\":\\\"performance.now()\\\"}function o(t){u=e.def(),t(u,\\\"=\\\",a(),\\\";\\\"),\\\"string\\\"==typeof i?t(p,\\\".count+=\\\",i,\\\";\\\"):t(p,\\\".count++;\\\"),d&&(n?(c=e.def(),t(c,\\\"=\\\",v,\\\".getNumPendingQueries();\\\")):t(v,\\\".beginQuery(\\\",p,\\\");\\\"))}function s(t){t(p,\\\".cpuTime+=\\\",a(),\\\"-\\\",u,\\\";\\\"),d&&(n?t(v,\\\".pushScopeStats(\\\",c,\\\",\\\",v,\\\".getNumPendingQueries(),\\\",p,\\\");\\\"):t(v,\\\".endQuery();\\\"))}function l(t){var r=e.def(m,\\\".profile\\\");e(m,\\\".profile=\\\",t,\\\";\\\"),e.exit(m,\\\".profile=\\\",r,\\\";\\\")}var u,c,h,f=t.shared,p=t.stats,m=f.current,v=f.timer,g=r.profile;if(g){if(qt(g))return void(g.enable?(o(e),s(e.exit),l(\\\"true\\\")):l(\\\"false\\\"));h=g.append(t,e),l(h)}else h=e.def(m,\\\".profile\\\");var y=t.block();o(y),e(\\\"if(\\\",h,\\\"){\\\",y,\\\"}\\\");var b=t.block();s(b),e.exit(\\\"if(\\\",h,\\\"){\\\",b,\\\"}\\\")}function O(t,e,r,n,i){function a(t){switch(t){case ua:case da:case ga:return 2;case ca:case pa:case ya:return 3;case ha:case ma:case ba:return 4;default:return 1}}function o(r,n,i){function a(){e(\\\"if(!\\\",c,\\\".buffer){\\\",l,\\\".enableVertexAttribArray(\\\",u,\\\");}\\\");var r,a=i.type;if(r=i.size?e.def(i.size,\\\"||\\\",n):n,e(\\\"if(\\\",c,\\\".type!==\\\",a,\\\"||\\\",c,\\\".size!==\\\",r,\\\"||\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"!==\\\"+i[t]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".bindBuffer(\\\",Zi,\\\",\\\",f,\\\".buffer);\\\",l,\\\".vertexAttribPointer(\\\",[u,r,a,i.normalized,i.stride,i.offset],\\\");\\\",c,\\\".type=\\\",a,\\\";\\\",c,\\\".size=\\\",r,\\\";\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"=\\\"+i[t]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\"),K){var o=i.divisor;e(\\\"if(\\\",c,\\\".divisor!==\\\",o,\\\"){\\\",t.instancing,\\\".vertexAttribDivisorANGLE(\\\",[u,o],\\\");\\\",c,\\\".divisor=\\\",o,\\\";}\\\")}}function o(){e(\\\"if(\\\",c,\\\".buffer){\\\",l,\\\".disableVertexAttribArray(\\\",u,\\\");\\\",\\\"}if(\\\",Kn.map(function(t,e){return c+\\\".\\\"+t+\\\"!==\\\"+d[e]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".vertexAttrib4f(\\\",u,\\\",\\\",d,\\\");\\\",Kn.map(function(t,e){return c+\\\".\\\"+t+\\\"=\\\"+d[e]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\")}var l=s.gl,u=e.def(r,\\\".location\\\"),c=e.def(s.attributes,\\\"[\\\",u,\\\"]\\\"),h=i.state,f=i.buffer,d=[i.x,i.y,i.z,i.w],p=[\\\"buffer\\\",\\\"normalized\\\",\\\"offset\\\",\\\"stride\\\"];h===$n?a():h===ti?o():(e(\\\"if(\\\",h,\\\"===\\\",$n,\\\"){\\\"),a(),e(\\\"}else{\\\"),o(),e(\\\"}\\\"))}var s=t.shared;n.forEach(function(n){var s,l=n.name,u=r.attributes[l];if(u){if(!i(u))return;s=u.append(t,e)}else{if(!i(Ya))return;var c=t.scopeAttrib(l);de.optional(function(){t.assert(e,c+\\\".state\\\",\\\"missing attribute \\\"+l)}),s={},Object.keys(new W).forEach(function(t){s[t]=e.def(c,\\\".\\\",t)})}o(t.link(n),a(n.info.type),s)})}function R(t,r,n,i,a){for(var o,s=t.shared,l=s.gl,u=0;u<i.length;++u){var c,h=i[u],f=h.name,d=h.info.type,p=n.uniforms[f],m=t.link(h),v=m+\\\".location\\\";if(p){if(!a(p))continue;if(qt(p)){var g=p.value;if(de.command(null!==g&&void 0!==g,'missing uniform \\\"'+f+'\\\"',t.commandStr),d===Ma||d===ka){de.command(\\\"function\\\"==typeof g&&(d===Ma&&(\\\"texture2d\\\"===g._reglType||\\\"framebuffer\\\"===g._reglType)||d===ka&&(\\\"textureCube\\\"===g._reglType||\\\"framebufferCube\\\"===g._reglType)),\\\"invalid texture for uniform \\\"+f,t.commandStr);var y=t.link(g._texture||g.color[0]._texture);r(l,\\\".uniform1i(\\\",v,\\\",\\\",y+\\\".bind());\\\"),r.exit(y,\\\".unbind();\\\")}else if(d===xa||d===_a||d===wa){de.optional(function(){de.command(mt(g),\\\"invalid matrix for uniform \\\"+f,t.commandStr),de.command(d===xa&&4===g.length||d===_a&&9===g.length||d===wa&&16===g.length,\\\"invalid length for matrix uniform \\\"+f,t.commandStr)});var b=t.global.def(\\\"new Float32Array([\\\"+Array.prototype.slice.call(g)+\\\"])\\\"),x=2;d===_a?x=3:d===wa&&(x=4),r(l,\\\".uniformMatrix\\\",x,\\\"fv(\\\",v,\\\",false,\\\",b,\\\");\\\")}else{switch(d){case la:de.commandType(g,\\\"number\\\",\\\"uniform \\\"+f,t.commandStr),o=\\\"1f\\\";break;case ua:de.command(mt(g)&&2===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"2f\\\";break;case ca:de.command(mt(g)&&3===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"3f\\\";break;case ha:de.command(mt(g)&&4===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"4f\\\";break;case va:de.commandType(g,\\\"boolean\\\",\\\"uniform \\\"+f,t.commandStr),o=\\\"1i\\\";break;case fa:de.commandType(g,\\\"number\\\",\\\"uniform \\\"+f,t.commandStr),o=\\\"1i\\\";break;case ga:case da:de.command(mt(g)&&2===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"2i\\\";break;case ya:case pa:de.command(mt(g)&&3===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"3i\\\";break;case ba:case ma:de.command(mt(g)&&4===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"4i\\\"}r(l,\\\".uniform\\\",o,\\\"(\\\",v,\\\",\\\",mt(g)?Array.prototype.slice.call(g):g,\\\");\\\")}continue}c=p.append(t,r)}else{if(!a(Ya))continue;c=r.def(s.uniforms,\\\"[\\\",e.id(f),\\\"]\\\")}d===Ma?r(\\\"if(\\\",c,\\\"&&\\\",c,'._reglType===\\\"framebuffer\\\"){',c,\\\"=\\\",c,\\\".color[0];\\\",\\\"}\\\"):d===ka&&r(\\\"if(\\\",c,\\\"&&\\\",c,'._reglType===\\\"framebufferCube\\\"){',c,\\\"=\\\",c,\\\".color[0];\\\",\\\"}\\\"),de.optional(function(){function e(e,n){t.assert(r,e,'bad data or missing for uniform \\\"'+f+'\\\".  '+n)}function n(t){e(\\\"typeof \\\"+c+'===\\\"'+t+'\\\"',\\\"invalid type, expected \\\"+t)}function i(r,n){e(s.isArrayLike+\\\"(\\\"+c+\\\")&&\\\"+c+\\\".length===\\\"+r,\\\"invalid vector, should have length \\\"+r,t.commandStr)}function a(r){e(\\\"typeof \\\"+c+'===\\\"function\\\"&&'+c+'._reglType===\\\"texture'+(r===Ki?\\\"2d\\\":\\\"Cube\\\")+'\\\"',\\\"invalid texture type\\\",t.commandStr)}switch(d){case fa:n(\\\"number\\\");break;case da:i(2,\\\"number\\\");break;case pa:i(3,\\\"number\\\");break;case ma:i(4,\\\"number\\\");break;case la:n(\\\"number\\\");break;case ua:i(2,\\\"number\\\");break;case ca:i(3,\\\"number\\\");break;case ha:i(4,\\\"number\\\");break;case va:n(\\\"boolean\\\");break;case ga:i(2,\\\"boolean\\\");break;case ya:i(3,\\\"boolean\\\");break;case ba:i(4,\\\"boolean\\\");break;case xa:i(4,\\\"number\\\");break;case _a:i(9,\\\"number\\\");break;case wa:i(16,\\\"number\\\");break;case Ma:a(Ki);break;case ka:a(Qi)}});var _=1;switch(d){case Ma:case ka:var w=r.def(c,\\\"._texture\\\");r(l,\\\".uniform1i(\\\",v,\\\",\\\",w,\\\".bind());\\\"),r.exit(w,\\\".unbind();\\\");continue;case fa:case va:o=\\\"1i\\\";break;case da:case ga:o=\\\"2i\\\",_=2;break;case pa:case ya:o=\\\"3i\\\",_=3;break;case ma:case ba:o=\\\"4i\\\",_=4;break;case la:o=\\\"1f\\\";break;case ua:o=\\\"2f\\\",_=2;break;case ca:o=\\\"3f\\\",_=3;break;case ha:o=\\\"4f\\\",_=4;break;case xa:o=\\\"Matrix2fv\\\";break;case _a:o=\\\"Matrix3fv\\\";break;case wa:o=\\\"Matrix4fv\\\"}if(r(l,\\\".uniform\\\",o,\\\"(\\\",v,\\\",\\\"),\\\"M\\\"===o.charAt(0)){var M=Math.pow(d-xa+2,2),k=t.global.def(\\\"new Float32Array(\\\",M,\\\")\\\");r(\\\"false,(Array.isArray(\\\",c,\\\")||\\\",c,\\\" instanceof Float32Array)?\\\",c,\\\":(\\\",J(M,function(t){return k+\\\"[\\\"+t+\\\"]=\\\"+c+\\\"[\\\"+t+\\\"]\\\"}),\\\",\\\",k,\\\")\\\")}else r(_>1?J(_,function(t){return c+\\\"[\\\"+t+\\\"]\\\"}):c);r(\\\");\\\")}}function F(t,e,r,n){function i(i){var a=c[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(u,\\\".\\\",i)}function a(){function t(){r(v,\\\".drawElementsInstancedANGLE(\\\",[f,p,g,d+\\\"<<((\\\"+g+\\\"-\\\"+Qn+\\\")>>1)\\\",m],\\\");\\\")}function e(){r(v,\\\".drawArraysInstancedANGLE(\\\",[f,d,p,m],\\\");\\\")}h?y?t():(r(\\\"if(\\\",h,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}function o(){function t(){r(l+\\\".drawElements(\\\"+[f,p,g,d+\\\"<<((\\\"+g+\\\"-\\\"+Qn+\\\")>>1)\\\"]+\\\");\\\")}function e(){r(l+\\\".drawArrays(\\\"+[f,d,p]+\\\");\\\")}h?y?t():(r(\\\"if(\\\",h,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}var s=t.shared,l=s.gl,u=s.draw,c=n.draw,h=function(){var i,a=c.elements,o=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(o=r),i=a.append(t,o)):i=o.def(u,\\\".\\\",Fi),i&&o(\\\"if(\\\"+i+\\\")\\\"+l+\\\".bindBuffer(\\\"+Ji+\\\",\\\"+i+\\\".buffer.buffer);\\\"),i}(),f=i(ji),d=i(Bi),p=function(){var i,a=c.count,o=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(o=r),i=a.append(t,o),de.optional(function(){a.MISSING&&t.assert(e,\\\"false\\\",\\\"missing vertex count\\\"),a.DYNAMIC&&t.assert(o,i+\\\">=0\\\",\\\"missing vertex count\\\")})):(i=o.def(u,\\\".\\\",Ni),de.optional(function(){t.assert(o,i+\\\">=0\\\",\\\"missing vertex count\\\")})),i}();if(\\\"number\\\"==typeof p){if(0===p)return}else r(\\\"if(\\\",p,\\\"){\\\"),r.exit(\\\"}\\\");var m,v;K&&(m=i(Ui),v=t.instancing);var g=h+\\\".type\\\",y=c.elements&&qt(c.elements);K&&(\\\"number\\\"!=typeof m||m>=0)?\\\"string\\\"==typeof m?(r(\\\"if(\\\",m,\\\">0){\\\"),a(),r(\\\"}else if(\\\",m,\\\"<0){\\\"),o(),r(\\\"}\\\")):a():o()}function j(t,e,r,n,i){var a=y(),o=a.proc(\\\"body\\\",i);return de.optional(function(){a.commandStr=e.commandStr,a.command=a.link(e.commandStr)}),K&&(a.instancing=o.def(a.shared.extensions,\\\".angle_instanced_arrays\\\")),t(a,o,r,n),a.compile().body}function N(t,e,r,n){D(t,e),O(t,e,r,n.attributes,function(){return!0}),R(t,e,r,n.uniforms,function(){return!0}),F(t,e,e,r)}function B(t,e){var r=t.proc(\\\"draw\\\",1);D(t,r),L(t,r,e.context),C(t,r,e.framebuffer),z(t,r,e),I(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)N(t,r,e,e.shader.program);else{var i=t.global.def(\\\"{}\\\"),a=r.def(n,\\\".id\\\"),o=r.def(i,\\\"[\\\",a,\\\"]\\\");r(t.cond(o).then(o,\\\".call(this,a0);\\\").else(o,\\\"=\\\",i,\\\"[\\\",a,\\\"]=\\\",t.link(function(r){return j(N,t,e,r,1)}),\\\"(\\\",n,\\\");\\\",o,\\\".call(this,a0);\\\"))}Object.keys(e.state).length>0&&r(t.shared.current,\\\".dirty=true;\\\")}function U(t,e,r,n){function i(){return!0}t.batchId=\\\"a1\\\",D(t,e),O(t,e,r,n.attributes,i),R(t,e,r,n.uniforms,i),F(t,e,e,r)}function V(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}D(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();if(e(u.entry,\\\"for(\\\",s,\\\"=0;\\\",s,\\\"<\\\",\\\"a1\\\",\\\";++\\\",s,\\\"){\\\",l,\\\"=\\\",\\\"a0\\\",\\\"[\\\",s,\\\"];\\\",c,\\\"}\\\",u.exit),r.needsContext&&L(t,c,r.context),r.needsFramebuffer&&C(t,c,r.framebuffer),I(t,c,r.state,i),\\n\",\n       \"r.profile&&i(r.profile)&&P(t,c,r,!1,!0),n)O(t,u,r,n.attributes,a),O(t,c,r,n.attributes,i),R(t,u,r,n.uniforms,a),R(t,c,r,n.uniforms,i),F(t,u,c,r);else{var h=t.global.def(\\\"{}\\\"),f=r.shader.progVar.append(t,c),d=c.def(f,\\\".id\\\"),p=c.def(h,\\\"[\\\",d,\\\"]\\\");c(t.shared.gl,\\\".useProgram(\\\",f,\\\".program);\\\",\\\"if(!\\\",p,\\\"){\\\",p,\\\"=\\\",h,\\\"[\\\",d,\\\"]=\\\",t.link(function(e){return j(U,t,r,e,2)}),\\\"(\\\",f,\\\");}\\\",p,\\\".call(this,a0[\\\",s,\\\"],\\\",s,\\\");\\\")}}function H(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\\\"batch\\\",2);t.batchId=\\\"0\\\",D(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(L(t,n,e.context),a=!1);var o=e.framebuffer,s=!1;o?(o.propDep?i=s=!0:o.contextDep&&i&&(s=!0),s||C(t,n,o)):C(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),z(t,n,e),I(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||P(t,n,e,!1,\\\"a1\\\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=s;var l=e.shader.progVar;if(l.contextDep&&i||l.propDep)V(t,n,e,null);else{var u=l.append(t,n);if(n(t.shared.gl,\\\".useProgram(\\\",u,\\\".program);\\\"),e.shader.program)V(t,n,e,e.shader.program);else{var c=t.global.def(\\\"{}\\\"),h=n.def(u,\\\".id\\\"),f=n.def(c,\\\"[\\\",h,\\\"]\\\");n(t.cond(f).then(f,\\\".call(this,a0,a1);\\\").else(f,\\\"=\\\",c,\\\"[\\\",h,\\\"]=\\\",t.link(function(r){return j(V,t,e,r,2)}),\\\"(\\\",u,\\\");\\\",f,\\\".call(this,a0,a1);\\\"))}}Object.keys(e.state).length>0&&n(t.shared.current,\\\".dirty=true;\\\")}function q(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\\\".\\\"+e,n.append(t,i))}var i=t.proc(\\\"scope\\\",3);t.batchId=\\\"a2\\\";var a=t.shared,o=a.current;L(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),Vt(Object.keys(r.state)).forEach(function(e){var n=r.state[e],o=n.append(t,i);mt(o)?o.forEach(function(r,n){i.set(t.next[e],\\\"[\\\"+n+\\\"]\\\",r)}):i.set(a.next,\\\".\\\"+e,o)}),P(t,i,r,!0,!0),[Fi,Bi,Ni,Ui,ji].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\\\".\\\"+e,\\\"\\\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\\\"[\\\"+e.id(n)+\\\"]\\\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new W).forEach(function(t){i.set(a,\\\".\\\"+t,n[t])})}),n(Oi),n(Ri),Object.keys(r.state).length>0&&(i(o,\\\".dirty=true;\\\"),i.exit(o,\\\".dirty=true;\\\")),i(\\\"a1(\\\",t.shared.context,\\\",a0,\\\",t.batchId,\\\");\\\")}function G(t){if(\\\"object\\\"==typeof t&&!mt(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(ve.isDynamic(t[e[r]]))return!0;return!1}}function Y(t,e,r){function n(t,e){o.forEach(function(r){var n=i[r];if(ve.isDynamic(n)){var a=t.invoke(e,n);e(c,\\\".\\\",r,\\\"=\\\",a,\\\";\\\")}})}var i=e.static[r];if(i&&G(i)){var a=t.global,o=Object.keys(i),s=!1,l=!1,u=!1,c=t.global.def(\\\"{}\\\");o.forEach(function(e){var r=i[e];if(ve.isDynamic(r)){\\\"function\\\"==typeof r&&(r=i[e]=ve.unbox(r));var n=Yt(r,null);s=s||n.thisDep,u=u||n.propDep,l=l||n.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 ve.DynamicVariable(ai,{thisDep:s,contextDep:l,propDep:u,ref:c,append:n}),delete e.static[r]}}function X(t,e,r,n,i){var a=y();a.stats=a.link(i),Object.keys(e.static).forEach(function(t){Y(a,e,t)}),Wi.forEach(function(e){Y(a,t,e)});var o=E(t,e,r,n,a);return B(a,o),q(a,o),H(a,o),a.compile()}var W=u.Record,Z={add:32774,subtract:32778,\\\"reverse subtract\\\":32779};r.ext_blend_minmax&&(Z.min=Ca,Z.max=za);var K=r.angle_instanced_arrays,Q=r.webgl_draw_buffers,$={dirty:!0,profile:p.profile},tt={},et=[],rt={},nt={};v(oi,ea),v(si,ta),g(li,\\\"blendColor\\\",[0,0,0,0]),g(ui,\\\"blendEquationSeparate\\\",[Ra,Ra]),g(ci,\\\"blendFuncSeparate\\\",[Oa,Pa,Oa,Pa]),v(hi,na,!0),g(fi,\\\"depthFunc\\\",Fa),g(di,\\\"depthRange\\\",[0,1]),g(pi,\\\"depthMask\\\",!0),g(mi,mi,[!0,!0,!0,!0]),v(vi,$i),g(gi,\\\"cullFace\\\",Sa),g(yi,yi,La),g(bi,bi,1),v(xi,aa),g(_i,\\\"polygonOffset\\\",[0,0]),v(wi,oa),v(Mi,sa),g(ki,\\\"sampleCoverage\\\",[1,!1]),v(Ai,ra),g(Ti,\\\"stencilMask\\\",-1),g(Si,\\\"stencilFunc\\\",[Ia,0,-1]),g(Ei,\\\"stencilOpSeparate\\\",[Ta,Da,Da,Da]),g(Li,\\\"stencilOpSeparate\\\",[Sa,Da,Da,Da]),v(Ci,ia),g(zi,\\\"scissor\\\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),g(Ii,Ii,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var it={gl:t,context:f,strings:e,next:tt,current:$,draw:h,elements:a,buffer:i,shader:c,attributes:u.state,uniforms:l,framebuffer:s,extensions:r,timer:d,isBufferArgs:Ut},at={primTypes:Be,compareFuncs:Va,blendFuncs:Ba,blendEquations:Z,stencilOps:Ha,glTypes:ze,orientationType:Ga};de.optional(function(){it.isArrayLike=mt}),Q&&(at.backBuffer=[Sa],at.drawBuffer=J(n.maxDrawbuffers,function(t){return 0===t?[0]:J(t,function(t){return Na+t})}));var ot=0;return{next:tt,current:$,procs:function(){var e=y(),r=e.proc(\\\"poll\\\"),i=e.proc(\\\"refresh\\\"),a=e.block();r(a),i(a);var o=e.shared,s=o.gl,l=o.next,u=o.current;a(u,\\\".dirty=false;\\\"),C(e,r),C(e,i,null,!0);var c,h=t.getExtension(\\\"angle_instanced_arrays\\\");h&&(c=e.link(h));for(var f=0;f<n.maxAttributes;++f){var d=i.def(o.attributes,\\\"[\\\",f,\\\"]\\\"),p=e.cond(d,\\\".buffer\\\");p.then(s,\\\".enableVertexAttribArray(\\\",f,\\\");\\\",s,\\\".bindBuffer(\\\",Zi,\\\",\\\",d,\\\".buffer.buffer);\\\",s,\\\".vertexAttribPointer(\\\",f,\\\",\\\",d,\\\".size,\\\",d,\\\".type,\\\",d,\\\".normalized,\\\",d,\\\".stride,\\\",d,\\\".offset);\\\").else(s,\\\".disableVertexAttribArray(\\\",f,\\\");\\\",s,\\\".vertexAttrib4f(\\\",f,\\\",\\\",d,\\\".x,\\\",d,\\\".y,\\\",d,\\\".z,\\\",d,\\\".w);\\\",d,\\\".buffer=null;\\\"),i(p),h&&i(c,\\\".vertexAttribDivisorANGLE(\\\",f,\\\",\\\",d,\\\".divisor);\\\")}return Object.keys(rt).forEach(function(t){var n=rt[t],o=a.def(l,\\\".\\\",t),c=e.block();c(\\\"if(\\\",o,\\\"){\\\",s,\\\".enable(\\\",n,\\\")}else{\\\",s,\\\".disable(\\\",n,\\\")}\\\",u,\\\".\\\",t,\\\"=\\\",o,\\\";\\\"),i(c),r(\\\"if(\\\",o,\\\"!==\\\",u,\\\".\\\",t,\\\"){\\\",c,\\\"}\\\")}),Object.keys(nt).forEach(function(t){var n,o,c=nt[t],h=$[t],f=e.block();if(f(s,\\\".\\\",c,\\\"(\\\"),mt(h)){var d=h.length;n=e.global.def(l,\\\".\\\",t),o=e.global.def(u,\\\".\\\",t),f(J(d,function(t){return n+\\\"[\\\"+t+\\\"]\\\"}),\\\");\\\",J(d,function(t){return o+\\\"[\\\"+t+\\\"]=\\\"+n+\\\"[\\\"+t+\\\"];\\\"}).join(\\\"\\\")),r(\\\"if(\\\",J(d,function(t){return n+\\\"[\\\"+t+\\\"]!==\\\"+o+\\\"[\\\"+t+\\\"]\\\"}).join(\\\"||\\\"),\\\"){\\\",f,\\\"}\\\")}else n=a.def(l,\\\".\\\",t),o=a.def(u,\\\".\\\",t),f(n,\\\");\\\",u,\\\".\\\",t,\\\"=\\\",n,\\\";\\\"),r(\\\"if(\\\",n,\\\"!==\\\",o,\\\"){\\\",f,\\\"}\\\");i(f)}),e.compile()}(),compile:X}}function Wt(){return{bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}function Zt(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}function Jt(t){function e(){if(0===q.length)return k&&k.update(),void(J=null);J=ge.next(e),f();for(var t=q.length-1;t>=0;--t){var r=q[t];r&&r(E,null,0)}g.flush(),k&&k.update()}function r(){!J&&q.length>0&&(J=ge.next(e))}function n(){J&&(ge.cancel(e),J=null)}function i(t){t.preventDefault(),b=!0,n(),G.forEach(function(t){t()})}function a(t){g.getError(),b=!1,x.restore(),O.restore(),I.restore(),R.restore(),F.restore(),j.restore(),k&&k.restore(),N.procs.refresh(),r(),Y.forEach(function(t){t()})}function o(){q.length=0,n(),H&&(H.removeEventListener(eo,i),H.removeEventListener(ro,a)),O.clear(),j.clear(),F.clear(),R.clear(),D.clear(),I.clear(),k&&k.clear(),Z.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];ve.isDynamic(i)?r[n]=ve.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}function r(t){for(;d.length<t;)d.push(null);return d}function n(t,e){var n;if(b&&de.raise(\\\"context lost\\\"),\\\"function\\\"==typeof t)return f.call(this,null,t,0);if(\\\"function\\\"==typeof e){if(\\\"number\\\"==typeof t){for(n=0;n<t;++n)f.call(this,null,e,n);return}if(Array.isArray(t)){for(n=0;n<t.length;++n)f.call(this,t[n],e,n);return}return f.call(this,t,e,0)}if(\\\"number\\\"==typeof t){if(t>0)return h.call(this,r(0|t),0|t)}else{if(!Array.isArray(t))return c.call(this,t);if(t.length)return h.call(this,t,t.length)}}de(!!t,\\\"invalid args to regl({...})\\\"),de.type(t,\\\"object\\\",\\\"invalid args to regl({...})\\\");var i=e(t.context||{}),a=e(t.uniforms||{}),o=e(t.attributes||{}),s=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=$t({},t);return delete r.uniforms,delete r.attributes,delete r.context,\\\"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\\\"),r}(t)),l={gpuTime:0,cpuTime:0,count:0},u=N.compile(s,o,a,i,l),c=u.draw,h=u.batch,f=u.scope,d=[];return $t(n,{stats:l})}function l(t,e){var r=0;N.procs.poll();var n=e.color;n&&(g.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=Ka),\\\"depth\\\"in e&&(g.clearDepth(+e.depth),r|=Qa),\\\"stencil\\\"in e&&(g.clearStencil(0|e.stencil),r|=$a),de(!!r,\\\"called regl.clear with no buffer specified\\\"),g.clear(r)}function u(t){if(de(\\\"object\\\"==typeof t&&t,\\\"regl.clear() takes an object as input\\\"),\\\"framebuffer\\\"in t)if(t.framebuffer&&\\\"framebufferCube\\\"===t.framebuffer_reglType)for(var e=0;e<6;++e)K($t({framebuffer:t.framebuffer.faces[e]},t),l);else K(t,l);else l(null,t)}function c(t){function e(){function e(){var t=Zt(q,e);q[t]=q[q.length-1],q.length-=1,q.length<=0&&n()}var r=Zt(q,t);de(r>=0,\\\"cannot cancel a frame twice\\\"),q[r]=e}return de.type(t,\\\"function\\\",\\\"regl.frame() callback must be a function\\\"),q.push(t),r(),{cancel:e}}function h(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,E.viewportWidth=E.framebufferWidth=E.drawingBufferWidth=t[2]=e[2]=g.drawingBufferWidth,E.viewportHeight=E.framebufferHeight=E.drawingBufferHeight=t[3]=e[3]=g.drawingBufferHeight}function f(){E.tick+=1,E.time=p(),h(),N.procs.poll()}function d(){h(),N.procs.refresh(),k&&k.update()}function p(){return(ye()-A)/1e3}function m(t,e){de.type(e,\\\"function\\\",\\\"listener callback must be a function\\\");var r;switch(t){case\\\"frame\\\":return c(e);case\\\"lost\\\":r=G;break;case\\\"restore\\\":r=Y;break;case\\\"destroy\\\":r=Z;break;default:de.raise(\\\"invalid event, must be one of frame,lost,restore,destroy\\\")}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e)return r[t]=r[r.length-1],void r.pop()}}}var v=X(t);if(!v)return null;var g=v.gl,y=g.getContextAttributes(),b=g.isContextLost(),x=W(g,v);if(!x)return null;var _=B(),w=Wt(),M=x.extensions,k=Ja(g,M),A=ye(),T=g.drawingBufferWidth,S=g.drawingBufferHeight,E={tick:0,time:0,viewportWidth:T,viewportHeight:S,framebufferWidth:T,framebufferHeight:S,drawingBufferWidth:T,drawingBufferHeight:S,pixelRatio:v.pixelRatio},L={},C={elements:null,primitive:4,count:-1,offset:0,instances:-1},z=be(g,M),I=ft(g,w,v),D=dt(g,M,I,w),P=Ot(g,M,z,I,_),O=Rt(g,_,w,v),R=zt(g,M,z,function(){N.procs.poll()},E,w,v),F=Mn(g,M,z,w,v),j=Dt(g,M,z,R,F,w),N=Xt(g,_,M,z,I,D,R,j,L,P,O,C,E,k,v),U=Ft(g,j,N.procs.poll,E,y,M),V=N.next,H=g.canvas,q=[],G=[],Y=[],Z=[v.onDestroy],J=null;H&&(H.addEventListener(eo,i,!1),H.addEventListener(ro,a,!1));var K=j.setFBO=s({framebuffer:ve.define.call(null,no,\\\"framebuffer\\\")});d();var Q=$t(s,{clear:u,prop:ve.define.bind(null,no),context:ve.define.bind(null,io),this:ve.define.bind(null,ao),draw:s({}),buffer:function(t){return I.create(t,to,!1,!1)},elements:function(t){return D.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:j.create,framebufferCube:j.createCube,attributes:y,frame:c,on:m,limits:z,hasExtension:function(t){return z.extensions.indexOf(t.toLowerCase())>=0},read:U,destroy:o,_gl:g,_refresh:d,poll:function(){f(),k&&k.update()},now:p,stats:w});return v.onDone(null,Q),Q}var Kt={\\\"[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},Qt=function(t){return Object.prototype.toString.call(t)in Kt},$t=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},te=[\\\"gl\\\",\\\"canvas\\\",\\\"container\\\",\\\"attributes\\\",\\\"pixelRatio\\\",\\\"extensions\\\",\\\"optionalExtensions\\\",\\\"profile\\\",\\\"onDone\\\"],ee=33071,re=9728,ne=9984,ie=9985,ae=9986,oe=9987,se=5126,le=32819,ue=32820,ce=33635,he=34042,fe={};fe[5120]=fe[5121]=1,fe[5122]=fe[5123]=fe[36193]=fe[ce]=fe[le]=fe[ue]=2,fe[5124]=fe[5125]=fe[se]=fe[he]=4;var de=$t(r,{optional:S,raise:e,commandRaise:M,command:k,parameter:i,commandParameter:A,constructor:u,type:o,commandType:T,isTypedArray:a,nni:s,oneOf:l,shaderError:b,linkError:x,callSite:m,saveCommandRef:_,saveDrawInfo:w,framebufferFormat:E,guessCommand:p,texture2D:z,textureCube:I}),pe=0,me=0,ve={DynamicVariable:D,define:F,isDynamic:j,unbox:N,accessor:R},ge={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},ye=\\\"undefined\\\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},be=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063)),{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:i,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)}},xe=function(t){return Object.keys(t).map(function(e){return t[e]})},_e=5120,we=5121,Me=5122,ke=5123,Ae=5124,Te=5125,Se=5126,Ee=J(8,function(){return[]}),Le={alloc:$,free:tt,allocType:et,freeType:rt},Ce={shape:lt,flatten:st},ze={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Ie={dynamic:35048,stream:35040,static:35044},De=Ce.flatten,Pe=Ce.shape,Oe=35044,Re=35040,Fe=5121,je=5126,Ne=[];Ne[5120]=1,Ne[5122]=2,Ne[5124]=4,Ne[5121]=1,Ne[5123]=2,Ne[5125]=4,Ne[5126]=4;var Be={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\\\"line loop\\\":2,\\\"line strip\\\":3,\\\"triangle strip\\\":5,\\\"triangle fan\\\":6},Ue=0,Ve=1,He=4,qe=5120,Ge=5121,Ye=5122,Xe=5123,We=5124,Ze=5125,Je=34963,Ke=35040,Qe=35044,$e=new Float32Array(1),tr=new Uint32Array($e.buffer),er=5123,rr=34467,nr=3553,ir=34067,ar=34069,or=6408,sr=6406,lr=6407,ur=6409,cr=6410,hr=32854,fr=32855,dr=36194,pr=32819,mr=32820,vr=33635,gr=34042,yr=6402,br=34041,xr=35904,_r=35906,wr=36193,Mr=33776,kr=33777,Ar=33778,Tr=33779,Sr=35986,Er=35987,Lr=34798,Cr=35840,zr=35841,Ir=35842,Dr=35843,Pr=36196,Or=5121,Rr=5123,Fr=5125,jr=5126,Nr=10242,Br=10243,Ur=10497,Vr=33071,Hr=33648,qr=10240,Gr=10241,Yr=9728,Xr=9729,Wr=9984,Zr=9985,Jr=9986,Kr=9987,Qr=33170,$r=4352,tn=4353,en=4354,rn=34046,nn=3317,an=37440,on=37441,sn=37443,ln=37444,un=33984,cn=[Wr,Jr,Zr,Kr],hn=[0,ur,cr,lr,or],fn={};fn[ur]=fn[sr]=fn[yr]=1,fn[br]=fn[cr]=2,fn[lr]=fn[xr]=3,fn[or]=fn[_r]=4;var dn=vt(\\\"HTMLCanvasElement\\\"),pn=vt(\\\"CanvasRenderingContext2D\\\"),mn=vt(\\\"HTMLImageElement\\\"),vn=vt(\\\"HTMLVideoElement\\\"),gn=Object.keys(Kt).concat([dn,pn,mn,vn]),yn=[];yn[Or]=1,yn[jr]=4,yn[wr]=2,yn[Rr]=2,yn[Fr]=4;var bn=[];bn[hr]=2,bn[fr]=2,bn[dr]=2,bn[br]=4,bn[Mr]=.5,bn[kr]=.5,bn[Ar]=1,bn[Tr]=1,bn[Sr]=.5,bn[Er]=1,bn[Lr]=1,bn[Cr]=.5,bn[zr]=.25,bn[Ir]=.5,bn[Dr]=.25,bn[Pr]=.5;var xn=36161,_n=32854,wn=[];wn[_n]=2,wn[32855]=2,wn[36194]=2,wn[33189]=2,wn[36168]=1,wn[34041]=4,wn[35907]=4,wn[34836]=16,wn[34842]=8,wn[34843]=6;var Mn=function(t,e,r,n,i){function a(t){this.id=h++,this.refCount=1,this.renderbuffer=t,this.format=_n,this.width=0,this.height=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;de(r,\\\"must not double destroy renderbuffer\\\"),t.bindRenderbuffer(xn,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete f[e.id],n.renderbufferCount--}function s(e,o){function s(e,n){var a=0,o=0,l=_n;if(\\\"object\\\"==typeof e&&e){var f=e;if(\\\"shape\\\"in f){var d=f.shape;de(Array.isArray(d)&&d.length>=2,\\\"invalid renderbuffer shape\\\"),a=0|d[0],o=0|d[1]}else\\\"radius\\\"in f&&(a=o=0|f.radius),\\\"width\\\"in f&&(a=0|f.width),\\\"height\\\"in f&&(o=0|f.height);\\\"format\\\"in f&&(de.parameter(f.format,u,\\\"invalid renderbuffer format\\\"),l=u[f.format])}else\\\"number\\\"==typeof e?(a=0|e,o=\\\"number\\\"==typeof n?0|n:a):e?de.raise(\\\"invalid arguments to renderbuffer constructor\\\"):a=o=1;if(de(a>0&&o>0&&a<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\\\"invalid renderbuffer size\\\"),a!==h.width||o!==h.height||l!==h.format)return s.width=h.width=a,s.height=h.height=o,h.format=l,t.bindRenderbuffer(xn,h.renderbuffer),t.renderbufferStorage(xn,l,a,o),i.profile&&(h.stats.size=It(h.format,h.width,h.height)),s.format=c[h.format],s}function l(e,n){var a=0|e,o=0|n||a;return a===h.width&&o===h.height?s:(de(a>0&&o>0&&a<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\\\"invalid renderbuffer size\\\"),s.width=h.width=a,s.height=h.height=o,t.bindRenderbuffer(xn,h.renderbuffer),t.renderbufferStorage(xn,h.format,a,o),i.profile&&(h.stats.size=It(h.format,h.width,h.height)),s)}var h=new a(t.createRenderbuffer());return f[h.id]=h,n.renderbufferCount++,s(e,o),s.resize=l,s._reglType=\\\"renderbuffer\\\",s._renderbuffer=h,i.profile&&(s.stats=h.stats),s.destroy=function(){h.decRef()},s}function l(){xe(f).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(xn,e.renderbuffer),t.renderbufferStorage(xn,e.format,e.width,e.height)}),t.bindRenderbuffer(xn,null)}var u={rgba4:_n,rgb565:36194,\\\"rgb5 a1\\\":32855,depth:33189,stencil:36168,\\\"depth stencil\\\":34041};e.ext_srgb&&(u.srgba=35907),e.ext_color_buffer_half_float&&(u.rgba16f=34842,u.rgb16f=34843),e.webgl_color_buffer_float&&(u.rgba32f=34836);var c=[];Object.keys(u).forEach(function(t){var e=u[t];c[e]=t});var h=0,f={};return a.prototype.decRef=function(){--this.refCount<=0&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(f).forEach(function(e){t+=f[e].stats.size}),t}),{create:s,clear:function(){xe(f).forEach(o)},restore:l}},kn=36160,An=36161,Tn=3553,Sn=34069,En=36064,Ln=36096,Cn=36128,zn=33306,In=36053,Dn=6402,Pn=[6408],On=[];On[6408]=4;var Rn=[];Rn[5121]=1,Rn[5126]=4,Rn[36193]=2;var Fn=33189,jn=36168,Nn=34041,Bn=[32854,32855,36194,35907,34842,34843,34836],Un={};Un[In]=\\\"complete\\\",Un[36054]=\\\"incomplete attachment\\\",Un[36057]=\\\"incomplete dimensions\\\",Un[36055]=\\\"incomplete, missing attachment\\\",Un[36061]=\\\"unsupported\\\";var Vn=5126,Hn=35632,qn=35633,Gn=35718,Yn=35721,Xn=6408,Wn=5121,Zn=3333,Jn=5126,Kn=\\\"xyzw\\\".split(\\\"\\\"),Qn=5121,$n=1,ti=2,ei=0,ri=1,ni=2,ii=3,ai=4,oi=\\\"dither\\\",si=\\\"blend.enable\\\",li=\\\"blend.color\\\",ui=\\\"blend.equation\\\",ci=\\\"blend.func\\\",hi=\\\"depth.enable\\\",fi=\\\"depth.func\\\",di=\\\"depth.range\\\",pi=\\\"depth.mask\\\",mi=\\\"colorMask\\\",vi=\\\"cull.enable\\\",gi=\\\"cull.face\\\",yi=\\\"frontFace\\\",bi=\\\"lineWidth\\\",xi=\\\"polygonOffset.enable\\\",_i=\\\"polygonOffset.offset\\\",wi=\\\"sample.alpha\\\",Mi=\\\"sample.enable\\\",ki=\\\"sample.coverage\\\",Ai=\\\"stencil.enable\\\",Ti=\\\"stencil.mask\\\",Si=\\\"stencil.func\\\",Ei=\\\"stencil.opFront\\\",Li=\\\"stencil.opBack\\\",Ci=\\\"scissor.enable\\\",zi=\\\"scissor.box\\\",Ii=\\\"viewport\\\",Di=\\\"profile\\\",Pi=\\\"framebuffer\\\",Oi=\\\"vert\\\",Ri=\\\"frag\\\",Fi=\\\"elements\\\",ji=\\\"primitive\\\",Ni=\\\"count\\\",Bi=\\\"offset\\\",Ui=\\\"instances\\\",Vi=Pi+\\\"Width\\\",Hi=Pi+\\\"Height\\\",qi=Ii+\\\"Width\\\",Gi=Ii+\\\"Height\\\",Yi=\\\"drawingBufferWidth\\\",Xi=\\\"drawingBufferHeight\\\",Wi=[ci,ui,Si,Ei,Li,ki,Ii,zi,_i],Zi=34962,Ji=34963,Ki=3553,Qi=34067,$i=2884,ta=3042,ea=3024,ra=2960,na=2929,ia=3089,aa=32823,oa=32926,sa=32928,la=5126,ua=35664,ca=35665,ha=35666,fa=5124,da=35667,pa=35668,ma=35669,va=35670,ga=35671,ya=35672,ba=35673,xa=35674,_a=35675,wa=35676,Ma=35678,ka=35680,Aa=4,Ta=1028,Sa=1029,Ea=2304,La=2305,Ca=32775,za=32776,Ia=519,Da=7680,Pa=0,Oa=1,Ra=32774,Fa=513,ja=36160,Na=36064,Ba={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},Ua=[\\\"constant color, constant alpha\\\",\\\"one minus constant color, constant alpha\\\",\\\"constant color, one minus constant alpha\\\",\\\"one minus constant color, one minus constant alpha\\\",\\\"constant alpha, constant color\\\",\\\"constant alpha, one minus constant color\\\",\\\"one minus constant alpha, constant color\\\",\\\"one minus constant alpha, one minus constant color\\\"],Va={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},Ha={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\\\"increment wrap\\\":34055,\\\"decrement wrap\\\":34056,invert:5386},qa={frag:35632,vert:35633},Ga={cw:Ea,ccw:La},Ya=new Ht(!1,!1,!1,function(){}),Xa=34918,Wa=34919,Za=35007,Ja=function(t,e){function r(){return f.pop()||h.createQueryEXT()}function n(t){f.push(t)}function i(t){var e=r();h.beginQueryEXT(Za,e),d.push(e),u(d.length-1,d.length,t)}function a(){h.endQueryEXT(Za)}function o(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}function s(){return p.pop()||new o}function l(t){p.push(t)}function u(t,e,r){var n=s();n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,m.push(n)}function c(){var t,e,r=d.length;if(0!==r){g.length=Math.max(g.length,r+1),v.length=Math.max(v.length,r+1),v[0]=0,g[0]=0;var i=0;for(t=0,e=0;e<d.length;++e){var a=d[e];h.getQueryObjectEXT(a,Wa)?(i+=h.getQueryObjectEXT(a,Xa),n(a)):d[t++]=a,v[e+1]=i,g[e+1]=t}for(d.length=t,t=0,e=0;e<m.length;++e){var o=m[e],s=o.startQueryIndex,u=o.endQueryIndex;o.sum+=v[u]-v[s];var c=g[s],f=g[u];f===c?(o.stats.gpuTime+=o.sum/1e6,l(o)):(o.startQueryIndex=c,o.endQueryIndex=f,m[t++]=o)}m.length=t}}var h=e.ext_disjoint_timer_query;if(!h)return null;var f=[],d=[],p=[],m=[],v=[],g=[];return{beginQuery:i,endQuery:a,pushScopeStats:u,update:c,getNumPendingQueries:function(){return d.length},clear:function(){f.push.apply(f,d);for(var t=0;t<f.length;t++)h.deleteQueryEXT(f[t]);d.length=0,f.length=0},restore:function(){d.length=0,f.length=0}}},Ka=16384,Qa=256,$a=1024,to=34962,eo=\\\"webglcontextlost\\\",ro=\\\"webglcontextrestored\\\",no=1,io=2,ao=3;return Jt})},{}],499:[function(t,e,r){\\\"use strict\\\";function n(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(i!==t||void 0===i)i=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+=t,a=a.substr(0,r)}var i,a=\\\"\\\";e.exports=n},{}],500:[function(e,r,n){!function(e,i){\\\"function\\\"==typeof t&&t.amd?t(i):\\\"object\\\"==typeof n?r.exports=i():e.resolveUrl=i()}(this,function(){function t(){var t=arguments.length;if(0===t)throw new Error(\\\"resolveUrl requires at least one argument; got none.\\\");var e=document.createElement(\\\"base\\\");if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(\\\"head\\\")[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(\\\"a\\\"),a=1;a<t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}return t})},{}],501:[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:{})},{}],502:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];r=a+o;var s=r-a,l=o-s;l&&(t[--n]=r,r=l)}for(var u=0,i=n;i<e;++i){var a=t[i],o=r;r=a+o;var s=r-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t}e.exports=n},{}],503:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(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 a(t){return 1&t?\\\"-\\\":\\\"\\\"}function o(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(\\\",o(t.slice(0,e)),\\\",\\\",o(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function s(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(\\\",s(n(t,r)),\\\",\\\",a(r),t[0][r],\\\")\\\"].join(\\\"\\\"));return o(e)}function l(t){return new Function(\\\"sum\\\",\\\"scale\\\",\\\"prod\\\",\\\"compress\\\",[\\\"function robustDeterminant\\\",t,\\\"(m){return compress(\\\",s(i(t)),\\\")};return robustDeterminant\\\",t].join(\\\"\\\"))(c,h,u,f)}var u=t(\\\"two-product\\\"),c=t(\\\"robust-sum\\\"),h=t(\\\"robust-scale\\\"),f=t(\\\"robust-compress\\\"),d=6,p=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;p.length<d;)p.push(l(p.length));for(var t=[],r=[\\\"function robustDeterminant(m){switch(m.length){\\\"],n=0;n<d;++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 i=Function.apply(void 0,t);e.exports=i.apply(void 0,p.concat([p,l]));for(var n=0;n<p.length;++n)e.exports[n]=p[n]}()},{\\\"robust-compress\\\":502,\\\"robust-scale\\\":509,\\\"robust-sum\\\":512,\\\"two-product\\\":538}],504:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=i(t[0],e[0]),n=1;n<t.length;++n)r=a(r,i(t[n],e[n]));return r}var i=t(\\\"two-product\\\"),a=t(\\\"robust-sum\\\");e.exports=n},{\\\"robust-sum\\\":512,\\\"two-product\\\":538}],505:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(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}function a(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(\\\",a(t.slice(0,e)),\\\",\\\",a(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function o(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 o(e,t)}function s(t){return!0&t?\\\"-\\\":\\\"\\\"}function l(t){if(2===t.length)return[[\\\"diff(\\\",o(t[0][0],t[1][1]),\\\",\\\",o(t[1][0],t[0][1]),\\\")\\\"].join(\\\"\\\")];for(var e=[],r=0;r<t.length;++r)e.push([\\\"scale(\\\",a(l(n(t,r))),\\\",\\\",s(r),t[0][r],\\\")\\\"].join(\\\"\\\"));return e}function u(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\\\"prod(m\\\",t,\\\"[\\\",n,\\\"],m\\\",t,\\\"[\\\",n,\\\"])\\\"].join(\\\"\\\"));return a(r)}function c(t){for(var e=[],r=[],o=i(t),s=0;s<t;++s)o[0][s]=\\\"1\\\",o[t-1][s]=\\\"w\\\"+s;for(var s=0;s<t;++s)0==(1&s)?e.push.apply(e,l(n(o,s))):r.push.apply(r,l(n(o,s)));for(var c=a(e),h=a(r),f=\\\"exactInSphere\\\"+t,d=[],s=0;s<t;++s)d.push(\\\"m\\\"+s);for(var p=[\\\"function \\\",f,\\\"(\\\",d.join(),\\\"){\\\"],s=0;s<t;++s){p.push(\\\"var w\\\",s,\\\"=\\\",u(s,t),\\\";\\\");for(var b=0;b<t;++b)b!==s&&p.push(\\\"var w\\\",s,\\\"m\\\",b,\\\"=scale(w\\\",s,\\\",m\\\",b,\\\"[0]);\\\")}return p.push(\\\"var p=\\\",c,\\\",n=\\\",h,\\\",d=diff(p,n);return d[d.length-1];}return \\\",f),new Function(\\\"sum\\\",\\\"diff\\\",\\\"prod\\\",\\\"scale\\\",p.join(\\\"\\\"))(v,g,m,y)}function h(){return 0}function f(){return 0}function d(){return 0}function p(t){var e=x[t.length];return e||(e=x[t.length]=c(t.length)),e.apply(void 0,t)}var m=t(\\\"two-product\\\"),v=t(\\\"robust-sum\\\"),g=t(\\\"robust-subtract\\\"),y=t(\\\"robust-scale\\\"),b=6,x=[h,f,d];!function(){for(;x.length<=b;)x.push(c(x.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=b;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);for(var i=[\\\"function testInSphere(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"],n=2;n<=b;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[p].concat(x));for(var n=0;n<=b;++n)e.exports[n]=x[n]}()},{\\\"robust-scale\\\":509,\\\"robust-subtract\\\":511,\\\"robust-sum\\\":512,\\\"two-product\\\":538}],506:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=\\\"robustLinearSolve\\\"+t+\\\"d\\\",r=[\\\"function \\\",e,\\\"(A,b){return [\\\"],n=0;n<t;++n){r.push(\\\"det([\\\");for(var i=0;i<t;++i){i>0&&r.push(\\\",\\\"),r.push(\\\"[\\\");for(var a=0;a<t;++a)a>0&&r.push(\\\",\\\"),a===n?r.push(\\\"+b[\\\",i,\\\"]\\\"):r.push(\\\"+A[\\\",i,\\\"][\\\",a,\\\"]\\\");r.push(\\\"]\\\")}r.push(\\\"]),\\\")}r.push(\\\"det(A)]}return \\\",e);var s=new Function(\\\"det\\\",r.join(\\\"\\\"));return s(t<6?o[t]:o)}function i(){return[0]}function a(t,e){return[[e[0]],[t[0][0]]]}var o=t(\\\"robust-determinant\\\"),s=6,l=[i,a];!function(){for(;l.length<s;)l.push(n(l.length));for(var t=[],r=[\\\"function dispatchLinearSolve(A,b){switch(A.length){\\\"],i=0;i<s;++i)t.push(\\\"s\\\"+i),r.push(\\\"case \\\",i,\\\":return s\\\",i,\\\"(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 a=Function.apply(void 0,t);e.exports=a.apply(void 0,l.concat([l,n]));for(var i=0;i<s;++i)e.exports[i]=l[i]}()},{\\\"robust-determinant\\\":503}],507:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(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}function a(t){return 1&t?\\\"-\\\":\\\"\\\"}function o(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(\\\",o(t.slice(0,e)),\\\",\\\",o(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function s(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(\\\",o(s(n(t,r))),\\\",\\\",a(r),t[0][r],\\\")\\\"].join(\\\"\\\"));return e}function l(t){for(var e=[],r=[],a=i(t),l=[],u=0;u<t;++u)0==(1&u)?e.push.apply(e,s(n(a,u))):r.push.apply(r,s(n(a,u))),l.push(\\\"m\\\"+u);var p=o(e),m=o(r),v=\\\"orientation\\\"+t+\\\"Exact\\\",g=[\\\"function \\\",v,\\\"(\\\",l.join(),\\\"){var p=\\\",p,\\\",n=\\\",m,\\\",d=sub(p,n);return d[d.length-1];};return \\\",v].join(\\\"\\\");return new Function(\\\"sum\\\",\\\"prod\\\",\\\"scale\\\",\\\"sub\\\",g)(h,c,f,d)}function u(t){var e=g[t.length];return e||(e=g[t.length]=l(t.length)),e.apply(void 0,t)}var c=t(\\\"two-product\\\"),h=t(\\\"robust-sum\\\"),f=t(\\\"robust-scale\\\"),d=t(\\\"robust-subtract\\\"),p=5,m=l(3),v=l(4),g=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:m(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=a*u,p=o*l,m=o*s,g=i*u,y=i*l,b=a*s,x=c*(d-p)+h*(m-g)+f*(y-b),_=(Math.abs(d)+Math.abs(p))*Math.abs(c)+(Math.abs(m)+Math.abs(g))*Math.abs(h)+(Math.abs(y)+Math.abs(b))*Math.abs(f),w=7.771561172376103e-16*_;return x>w||-x>w?x:v(t,e,r,n)}];!function(){for(;g.length<=p;)g.push(l(g.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=p;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);for(var i=[\\\"function getOrientation(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"],n=2;n<=p;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[u].concat(g));for(var n=0;n<=p;++n)e.exports[n]=g[n]}()},{\\\"robust-scale\\\":509,\\\"robust-subtract\\\":511,\\\"robust-sum\\\":512,\\\"two-product\\\":538}],508:[function(t,e,r){\\\"use strict\\\";function n(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 n=0;n<t.length;++n)r=i(r,a(e,t[n]));else for(var n=0;n<e.length;++n)r=i(r,a(t,e[n]));return r}var i=t(\\\"robust-sum\\\"),a=t(\\\"robust-scale\\\");e.exports=n},{\\\"robust-scale\\\":509,\\\"robust-sum\\\":512}],\\n\",\n       \"509:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.length;if(1===r){var n=i(t[0],e);return n[0]?n:[n[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],u=0;i(t[0],e,s),s[0]&&(o[u++]=s[0]);for(var c=1;c<r;++c){i(t[c],e,l);var h=s[1];a(h,l[0],s),s[0]&&(o[u++]=s[0]);var f=l[1],d=s[1],p=f+d,m=p-f,v=d-m;s[1]=p,v&&(o[u++]=v)}return s[1]&&(o[u++]=s[1]),0===u&&(o[u++]=0),o.length=u,o}var i=t(\\\"two-product\\\"),a=t(\\\"two-sum\\\");e.exports=n},{\\\"two-product\\\":538,\\\"two-sum\\\":539}],510:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],h=Math.min(u,c);if(Math.max(u,c)<s||l<h)return!1}return!0}function i(t,e,r,i){var o=a(t,r,i),s=a(e,r,i);if(o>0&&s>0||o<0&&s<0)return!1;var l=a(r,t,e),u=a(i,t,e);return!(l>0&&u>0||l<0&&u<0)&&(0!==o||0!==s||0!==l||0!==u||n(t,e,r,i))}e.exports=i;var a=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":507}],511:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],-e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),m=-e[h],v=f(m);p<v?(o=d,(c+=1)<r&&(d=t[c],p=f(d))):(o=m,(h+=1)<i&&(m=-e[h],v=f(m))),c<r&&p<v||h>=i?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=-e[h],v=f(m)));for(var g,y,b,x,_,w=a+o,M=w-a,k=o-M,A=k,T=w;c<r&&h<i;)p<v?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=-e[h],v=f(m))),o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g;for(;c<r;)a=d,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(c+=1)<r&&(d=t[c]);for(;h<i;)a=m,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(h+=1)<i&&(m=-e[h]);return A&&(l[u++]=A),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],512:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),m=e[h],v=f(m);p<v?(o=d,(c+=1)<r&&(d=t[c],p=f(d))):(o=m,(h+=1)<i&&(m=e[h],v=f(m))),c<r&&p<v||h>=i?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=e[h],v=f(m)));for(var g,y,b,x,_,w=a+o,M=w-a,k=o-M,A=k,T=w;c<r&&h<i;)p<v?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=e[h],v=f(m))),o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g;for(;c<r;)a=d,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(c+=1)<r&&(d=t[c]);for(;h<i;)a=m,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(h+=1)<i&&(m=e[h]);return A&&(l[u++]=A),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],513:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?r.exports=i():\\\"function\\\"==typeof t&&t.amd?t(i):e.ShelfPack=i()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=1+(0|this.stats[t])}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o<t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&&n){if(!(i=this.packOne(r,n)))continue;e.inPlace&&(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length>0){for(var s=0,l=0,u=0;u<this.shelves.length;u++){var c=this.shelves[u];l+=c.h,s=Math.max(c.w-c.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s<this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&&t<=n.free)return this.count(r),n.alloc(t,r);r>n.h||t>n.free||r<n.h&&t<=n.free&&(i=n.h-r)<o.waste&&(o.waste=i,o.shelf=s)}if(-1!==o.shelf)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r<=this.h-a&&t<=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,u,c,h;return l=u=this.h,c=h=this.w,(c<=l||t>c)&&(h=2*Math.max(t,c)),(l<c||r>l)&&(u=2*Math.max(r,l)),this.resize(h,u),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t>this.free||e>this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],514:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],515:[function(t,e,r){\\\"use strict\\\";function n(t){return a(i(t))}e.exports=n;var i=t(\\\"boundary-cells\\\"),a=t(\\\"reduce-simplicial-complex\\\")},{\\\"boundary-cells\\\":68,\\\"reduce-simplicial-complex\\\":497}],516:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}function i(t,e){for(var r=t.length,n=h.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}function a(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=h.mallocUint32(2*n),a=0,o=0;o<r;++o)for(var s=t[o],e=s.length,l=0;l<e;++l)for(var u=0;u<l;++u){var d=s[u],p=s[l];i[a++]=0|Math.min(d,p),i[a++]=0|Math.max(d,p)}f(c(i,[a/2|0,2]));for(var m=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[m++]=i[o],i[m++]=i[o+1]);return c(i,[m/2|0,2])}function o(t,e,r,n){for(var i=t.data,a=t.shape[0],o=h.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],f=i[2*l+1];if(r[u]!==r[f]){var d=e[u],p=e[f];i[2*s]=u,i[2*s+1]=f,o[s++]=(p-n)/(p-d)}}return t.shape[0]=s,c(o,[s])}function s(t,e){var r=h.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var a=0,o=0;o<n;++o){var s=i[2*o];if(s!==a){for(r[2*a+1]=o;++a<s;)r[2*a]=o,r[2*a+1]=o;r[2*a]=o}}for(r[2*a+1]=n;++a<e;)r[2*a]=r[2*a+1]=n;return r}function l(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}function u(t,e,r,u){if(r=r||0,void 0===u&&(u=n(t)),0===t.length||u<1)return{cells:[],vertexIds:[],vertexWeights:[]};var c=i(e,+r),f=a(t,u),p=o(f,e,c,+r),m=s(f,0|e.length),v=d(u)(t,f.data,m,c),g=l(f),y=[].slice.call(p.data,0,p.shape[0]);return h.free(c),h.free(f.data),h.free(p.data),h.free(m),{cells:v,vertexIds:g,vertexWeights:y}}e.exports=u;var c=t(\\\"ndarray\\\"),h=t(\\\"typedarray-pool\\\"),f=t(\\\"ndarray-sort\\\"),d=t(\\\"./lib/codegen\\\")},{\\\"./lib/codegen\\\":517,ndarray:466,\\\"ndarray-sort\\\":464,\\\"typedarray-pool\\\":540}],517:[function(t,e,r){\\\"use strict\\\";function n(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var n=1;n<=t;++n)for(var i=r[n]=o(n),s=0;s<i.length;++s)e=Math.max(e,i[n].length);for(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;\\\"],n=t+1;n>1;--n){n<t+1&&l.push(\\\"else \\\"),l.push(\\\"if(l===\\\",n,\\\"){\\\");for(var u=[],s=0;s<n;++s)u.push(\\\"(S[c[\\\"+s+\\\"]]<<\\\"+s+\\\")\\\");l.push(\\\"var M=\\\",u.join(\\\"+\\\"),\\\";if(M===0||M===\\\",(1<<n)-1,\\\"){continue}switch(M){\\\");for(var i=r[n-1],s=0;s<i.length;++s)l.push(\\\"case \\\",s,\\\":\\\"),function(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 i=r[n];n>0&&l.push(\\\",\\\"),l.push(\\\"B(C,E,c[\\\",i[0],\\\"],c[\\\",i[1],\\\"])\\\")}l.push(\\\"]\\\")}l.push(\\\");\\\")}}(i[s]),l.push(\\\"break;\\\");l.push(\\\"}}\\\")}return l.push(\\\"}return R;};return getContour\\\",t,\\\"d\\\"),new Function(\\\"pool\\\",l.join(\\\"\\\"))(a)}function i(t){var e=s[t];return e||(e=s[t]=n(t)),e}e.exports=i;var a=t(\\\"typedarray-pool\\\"),o=t(\\\"marching-simplex-table\\\"),s={}},{\\\"marching-simplex-table\\\":444,\\\"typedarray-pool\\\":540}],518:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";function n(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1}function i(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1}function a(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e}function o(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:var a=t[0]+t[1]-e[0]-e[1];return a||i(t[0],t[1])-i(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=i(t[0],t[1]),u=i(e[0],e[1]),a=i(l,t[2])-i(u,e[2]);return a||i(l+t[2],o)-i(u+e[2],s);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function s(t,e){return o(t[0],e[0])}function l(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(s);for(var i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(o),t}function u(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(o(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,s=o(t[a],e);s<=0?(0===s&&(i=a),r=a+1):s>0&&(n=a-1)}return i}function h(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],n=0,s=e.length;n<s;++n)for(var l=e[n],u=l.length,h=1,f=1<<u;h<f;++h){a.length=b.popCount(h);for(var d=0,p=0;p<u;++p)h&1<<p&&(a[d++]=l[p]);var m=c(t,a);if(!(m<0))for(;;)if(r[m++].push(n),m>=t.length||0!==o(t[m],a))break}return r}function f(t,e){if(!e)return h(u(p(t,0)),t,0);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];for(var n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r}function d(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var u=[],c=0;c<a;++c)o>>>c&1&&u.push(i[c]);e.push(u)}return l(e)}function p(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=b.nextCombination(o)){for(var s=new Array(e+1),u=0,c=0;c<a.length;++c)o&1<<c&&(s[u++]=a[c]);r.push(s)}return l(r)}function m(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),u=0,c=0;u<o;++u)u!==a&&(s[c++]=i[u]);e.push(s)}return l(e)}function v(t,e){for(var r=new x(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);for(var s=[],l=r.ranks,n=0;n<l.length;++n)l[n]=-1;for(var n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}function g(t){for(var e=u(l(p(t,0))),r=new x(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=c(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,c(e,[i[s]]));for(var h=[],f=r.ranks,n=0;n<f.length;++n)f[n]=-1;for(var n=0;n<t.length;++n){var d=r.find(c(e,[t[n][0]]));f[d]<0?(f[d]=h.length,h.push([t[n].slice(0)])):h[f[d]].push(t[n].slice(0))}return h}function y(t,e){return e?v(t,e):g(t)}var b=t(\\\"bit-twiddle\\\"),x=t(\\\"union-find\\\");r.dimension=n,r.countVertices=i,r.cloneCells=a,r.compareCells=o,r.normalize=l,r.unique=u,r.findCell=c,r.incidence=h,r.dual=f,r.explode=d,r.skeleton=p,r.boundary=m,r.connectedComponents=y},{\\\"bit-twiddle\\\":66,\\\"union-find\\\":541}],519:[function(t,e,r){arguments[4][66][0].apply(r,arguments)},{dup:66}],520:[function(t,e,r){arguments[4][518][0].apply(r,arguments)},{\\\"bit-twiddle\\\":519,dup:518,\\\"union-find\\\":521}],521:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],522:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.abs(a(t,e,r))/Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function i(t,e,r){function i(t){if(b[t])return 1/0;var r=v[t],i=g[t];return r<0||i<0?1/0:n(e[t],e[r],e[i])}function a(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,A[r]=e,A[n]=t}function s(t){return y[k[t]]}function l(t){return 1&t?t-1>>1:(t>>1)-1}function u(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),o=t;if(n<T){var l=s(n);l<r&&(o=n,r=l)}if(i<T){s(i)<r&&(o=i)}if(o===t)return t;a(t,o),t=o}}function c(t){for(var e=s(t);t>0;){var r=l(t);if(r>=0){if(e<s(r)){a(t,r),t=r;continue}}return t}}function h(){if(T>0){var t=k[0];return a(0,T-1),T-=1,u(0),t}return-1}function f(t,e){var r=k[t];return y[r]===e?t:(y[r]=-1/0,c(t),h(),y[r]=e,T+=1,c(T-1))}function d(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i<0||i===n)break;if(n=i,i=t[n],!b[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}for(var p=e.length,m=t.length,v=new Array(p),g=new Array(p),y=new Array(p),b=new Array(p),x=0;x<p;++x)v[x]=g[x]=-1,y[x]=1/0,b[x]=!1;for(var x=0;x<m;++x){var _=t[x];if(2!==_.length)throw new Error(\\\"Input must be a graph\\\");var w=_[1],M=_[0];-1!==g[M]?g[M]=-2:g[M]=w,-1!==v[w]?v[w]=-2:v[w]=M}for(var k=[],A=new Array(p),x=0;x<p;++x){(y[x]=i(x))<1/0?(A[x]=k.length,k.push(x)):A[x]=-1}for(var T=k.length,x=T>>1;x>=0;--x)u(x);for(;;){var S=h();if(S<0||y[S]>r)break;!function(t){if(!b[t]){b[t]=!0;var e=v[t],r=g[t];v[r]>=0&&(v[r]=e),g[e]>=0&&(g[e]=r),A[e]>=0&&f(A[e],i(e)),A[r]>=0&&f(A[r],i(r))}}(S)}for(var E=[],x=0;x<p;++x)b[x]||(A[x]=E.length,E.push(e[x].slice()));var L=(E.length,[]);return t.forEach(function(t){var e=d(v,t[0]),r=d(g,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&L.push([n,i])}}),o.unique(o.normalize(L)),{positions:E,edges:L}}e.exports=i;var a=t(\\\"robust-orientation\\\"),o=t(\\\"simplicial-complex\\\")},{\\\"robust-orientation\\\":507,\\\"simplicial-complex\\\":520}],523:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var i=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o<s?o-s:i>l?i-l:o-l}r=e[1],n=e[0]}var u,c;t[0][1]<t[1][1]?(u=t[0],c=t[1]):(u=t[1],c=t[0]);var h=a(n,r,u);return h||((h=a(n,r,c))||c-n)}function i(t,e){var r,i;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return n(e,t);r=e[1],i=e[0]}var o,s;if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=a(r,i,s),u=a(r,i,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=a(s,o,i),u=a(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return i[0]-s[0]}e.exports=i;var a=t(\\\"robust-orientation\\\")},{\\\"robust-orientation\\\":507}],524:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=h(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{var l=a(t.right,e);if(l)return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l=a(t.right,e);if(l)return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}function l(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a<e;++a){var l=t[a],u=l[0][0]<l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.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]))});for(var h=c(f),d=[],p=[],m=[],a=0;a<r;){for(var v=i[a].x,g=[];a<r;){var y=i[a];if(y.x!==v)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(g.push(new o(y.segment[0][1],y.index,!0,!0)),g.push(new o(y.segment[1][1],y.index,!1,!1))):(g.push(new o(y.segment[1][1],y.index,!0,!1)),g.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(v),m.push(g)}return new n(d,p,m)}e.exports=l;var u=t(\\\"binary-search-bounds\\\"),c=t(\\\"functional-red-black-tree\\\"),h=t(\\\"robust-orientation\\\"),f=t(\\\"./lib/order-segments\\\");n.prototype.castUp=function(t){var e=u.le(this.coordinates,t[0]);if(e<0)return-1;var r=(this.slabs[e],a(this.slabs[e],t)),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&&(o=r.key),e>0){var s=a(this.slabs[e-1],t);s&&(o?f(s.key,o)>0&&(o=s.key,n=s.value):(n=s.value,o=s.key))}var l=this.horizontal[e];if(l.length>0){var c=u.ge(l,t[1],i);if(c<l.length){var d=l[c];if(t[1]===d.y){if(d.closed)return d.index;for(;c<l.length-1&&l[c+1].y===t[1];)if(c+=1,d=l[c],d.closed)return d.index;if(d.y===t[1]&&!d.start){if((c+=1)>=l.length)return n;d=l[c]}}if(d.start)if(o){var p=h(o[0],o[1],[t[0],d.y]);o[0][0]>o[1][0]&&(p=-p),p>0&&(n=d.index)}else n=d.index;else d.y!==t[1]&&(n=d.index)}}}return n}},{\\\"./lib/order-segments\\\":523,\\\"binary-search-bounds\\\":65,\\\"functional-red-black-tree\\\":134,\\\"robust-orientation\\\":507}],525:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=u(l(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=n-e,a=-e/i;a<0?a=0:a>1&&(a=1);for(var o=1-a,s=t.length,l=new Array(s),u=0;u<s;++u)l[u]=a*t[u]+o*r[u];return l}function a(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],u=0;u<t.length;++u,s=l){l=t[u];var c=n(l,e);if(o<0&&c>0||o>0&&c<0){var h=i(s,c,l,o);r.push(h),a.push(h.slice())}c<0?a.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=c}return{positive:r,negative:a}}function o(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u>=0&&r.push(s.slice()),a=u}return r}function s(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u<=0&&r.push(s.slice()),a=u}return r}var l=t(\\\"robust-dot-product\\\"),u=t(\\\"robust-sum\\\");e.exports=a,e.exports.positive=o,e.exports.negative=s},{\\\"robust-dot-product\\\":504,\\\"robust-sum\\\":512}],526:[function(e,r,n){!function(){\\\"use strict\\\";function e(t){return i(a(t),arguments)}function r(t,r){return e.apply(null,[t].concat(r||[]))}function i(t,r){var n,i,a,s,l,u,c,h,f,d=1,p=t.length,m=\\\"\\\";for(i=0;i<p;i++)if(\\\"string\\\"==typeof t[i])m+=t[i];else if(Array.isArray(t[i])){if(s=t[i],s[2])for(n=r[d],a=0;a<s[2].length;a++){if(!n.hasOwnProperty(s[2][a]))throw new Error(e('[sprintf] property \\\"%s\\\" does not exist',s[2][a]));n=n[s[2][a]]}else n=s[1]?r[s[1]]:r[d++];if(o.not_type.test(s[8])&&o.not_primitive.test(s[8])&&n instanceof Function&&(n=n()),o.numeric_arg.test(s[8])&&\\\"number\\\"!=typeof n&&isNaN(n))throw new TypeError(e(\\\"[sprintf] expecting number but found %T\\\",n));switch(o.number.test(s[8])&&(h=n>=0),s[8]){case\\\"b\\\":n=parseInt(n,10).toString(2);break;case\\\"c\\\":n=String.fromCharCode(parseInt(n,10));break;case\\\"d\\\":case\\\"i\\\":n=parseInt(n,10);break;case\\\"j\\\":n=JSON.stringify(n,null,s[6]?parseInt(s[6]):0);break;case\\\"e\\\":n=s[7]?parseFloat(n).toExponential(s[7]):parseFloat(n).toExponential();break;case\\\"f\\\":n=s[7]?parseFloat(n).toFixed(s[7]):parseFloat(n);break;case\\\"g\\\":n=s[7]?String(Number(n.toPrecision(s[7]))):parseFloat(n);break;case\\\"o\\\":n=(parseInt(n,10)>>>0).toString(8);break;case\\\"s\\\":n=String(n),n=s[7]?n.substring(0,s[7]):n;break;case\\\"t\\\":n=String(!!n),n=s[7]?n.substring(0,s[7]):n;break;case\\\"T\\\":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=s[7]?n.substring(0,s[7]):n;break;case\\\"u\\\":n=parseInt(n,10)>>>0;break;case\\\"v\\\":n=n.valueOf(),n=s[7]?n.substring(0,s[7]):n;break;case\\\"x\\\":n=(parseInt(n,10)>>>0).toString(16);break;case\\\"X\\\":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(s[8])?m+=n:(!o.number.test(s[8])||h&&!s[3]?f=\\\"\\\":(f=h?\\\"+\\\":\\\"-\\\",n=n.toString().replace(o.sign,\\\"\\\")),u=s[4]?\\\"0\\\"===s[4]?\\\"0\\\":s[4].charAt(1):\\\" \\\",c=s[6]-(f+n).length,l=s[6]&&c>0?u.repeat(c):\\\"\\\",m+=s[5]?f+n+l:\\\"0\\\"===u?f+l+n:l+f+n)}return m}function a(t){if(s[t])return s[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push(\\\"%\\\");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError(\\\"[sprintf] unexpected placeholder\\\");if(e[2]){i|=1;var a=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");for(a.push(u[1]);\\\"\\\"!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))a.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");a.push(u[1])}e[2]=a}else i|=2;if(3===i)throw new Error(\\\"[sprintf] mixing positional and named placeholders is not (yet) supported\\\");n.push(e)}r=r.substring(e[0].length)}return s[t]=n}var o={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:/^[\\\\+\\\\-]/},s=Object.create(null);void 0!==n&&(n.sprintf=e,n.vsprintf=r),\\\"undefined\\\"!=typeof window&&(window.sprintf=e,window.vsprintf=r,\\\"function\\\"==typeof t&&t.amd&&t(function(){return{sprintf:e,vsprintf:r}}))}()},{}],527:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];for(var u=0,c=[],h=[],l=0;l<e;++l)r[l]<0&&function(e){var l=[e],f=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;f.length>0;){e=f[f.length-1];var d=t[e];if(a[e]<d.length){for(var p=a[e];p<d.length;++p){var m=d[p];if(r[m]<0){r[m]=n[m]=u,i[m]=!0,u+=1,l.push(m),f.push(m);break}i[m]&&(n[e]=0|Math.min(n[e],n[m])),o[m]>=0&&s[e].push(o[m])}a[e]=p}else{if(n[e]===r[e]){for(var v=[],g=[],y=0,p=l.length-1;p>=0;--p){var b=l[p];if(i[b]=!1,v.push(b),g.push(s[b]),y+=s[b].length,o[b]=c.length,b===e){l.length=p;break}}c.push(v);for(var x=new Array(y),p=0;p<g.length;p++)for(var _=0;_<g[p].length;_++)x[--y]=g[p][_];h.push(x)}f.pop()}}}(l);for(var f,l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort(function(t,e){return t-e}),f=[d[0]];for(var p=1;p<d.length;p++)d[p]!==d[p-1]&&f.push(d[p]);h[l]=f}}return{components:c,adjacencyList:h}}e.exports=n},{}],528:[function(t,e,r){\\\"use strict\\\";function n(t){return new i(t)}function i(t){this.options=d(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function a(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function o(t,e){var r=t.geometry.coordinates;return{x:u(r[0]),y:c(r[1]),zoom:1/0,id:e,parentId:-1}}function s(t){return{type:\\\"Feature\\\",properties:l(t),geometry:{type:\\\"Point\\\",coordinates:[h(t.x),f(t.y)]}}}function l(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\\\"k\\\":e>=1e3?Math.round(e/100)/10+\\\"k\\\":e;return d(d({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function u(t){return t/360+.5}function c(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){return 360*(t-.5)}function f(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function d(t,e){for(var r in e)t[r]=e[r];return t}function p(t){return t.x}function m(t){return t.y}var v=t(\\\"kdbush\\\");e.exports=n,i.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\\\"total time\\\");var r=\\\"prepare \\\"+t.length+\\\" points\\\";e&&console.time(r),this.points=t;var n=t.map(o);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var a=+Date.now();this.trees[i+1]=v(n,p,m,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\\\"z%d: %d clusters in %dms\\\",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=v(n,p,m,this.options.nodeSize,Float32Array),e&&console.timeEnd(\\\"total time\\\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(u(t[0]),c(t[3]),u(t[2]),c(t[1])),i=[],a=0;a<n.length;a++){var o=r.points[n[a]];i.push(o.numPoints?s(o):this.points[o.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],o=0;o<i.length;o++){var l=this.trees[e+1].points[i[o]];l.parentId===t&&a.push(l.numPoints?s(l):this.points[l.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius,s=o/a,l=(r-s)/i,u=(r+1+s)/i,c={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,u),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,u),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,u),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var s=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(s.x*i-r)),Math.round(this.options.extent*(s.y*i-n))]],tags:s.numPoints?l(s):this.points[s.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i<t.length;i++){var o=t[i];if(!(o.zoom<=e)){o.zoom=e;var s=this.trees[e+1],l=s.within(o.x,o.y,n),u=o.numPoints||1,c=o.x*u,h=o.y*u,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,o));for(var d=0;d<l.length;d++){var p=s.points[l[d]];if(e<p.zoom){var m=p.numPoints||1;p.zoom=e,c+=p.x*m,h+=p.y*m,u+=m,p.parentId=i,this.options.reduce&&this._accumulate(f,p)}}1===u?r.push(o):(o.parentId=i,r.push(a(c/u,h/u,u,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:297}],529:[function(t,e,r){\\\"use strict\\\";function n(t){return t.split(\\\"\\\").map(function(t){return t in i?i[t]:\\\"\\\"}).join(\\\"\\\")}e.exports=n;var i={\\\" \\\":\\\" \\\",0:\\\"\\\\u2070\\\",1:\\\"\\\\xb9\\\",2:\\\"\\\\xb2\\\",3:\\\"\\\\xb3\\\",4:\\\"\\\\u2074\\\",5:\\\"\\\\u2075\\\",6:\\\"\\\\u2076\\\",7:\\\"\\\\u2077\\\",8:\\\"\\\\u2078\\\",9:\\\"\\\\u2079\\\",\\\"+\\\":\\\"\\\\u207a\\\",\\\"-\\\":\\\"\\\\u207b\\\",a:\\\"\\\\u1d43\\\",b:\\\"\\\\u1d47\\\",c:\\\"\\\\u1d9c\\\",d:\\\"\\\\u1d48\\\",e:\\\"\\\\u1d49\\\",f:\\\"\\\\u1da0\\\",g:\\\"\\\\u1d4d\\\",h:\\\"\\\\u02b0\\\",i:\\\"\\\\u2071\\\",j:\\\"\\\\u02b2\\\",k:\\\"\\\\u1d4f\\\",l:\\\"\\\\u02e1\\\",m:\\\"\\\\u1d50\\\",n:\\\"\\\\u207f\\\",o:\\\"\\\\u1d52\\\",p:\\\"\\\\u1d56\\\",r:\\\"\\\\u02b3\\\",s:\\\"\\\\u02e2\\\",t:\\\"\\\\u1d57\\\",u:\\\"\\\\u1d58\\\",v:\\\"\\\\u1d5b\\\",w:\\\"\\\\u02b7\\\",x:\\\"\\\\u02e3\\\",y:\\\"\\\\u02b8\\\",z:\\\"\\\\u1dbb\\\"}},{}],530:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.length,n=[\\\"'use strict';\\\"],i=\\\"surfaceNets\\\"+t.join(\\\"_\\\")+\\\"d\\\"+e;n.push(\\\"var contour=genContour({\\\",\\\"order:[\\\",t.join(),\\\"],\\\",\\\"scalarArguments: 3,\\\",\\\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\\\"),\\\"generic\\\"===e&&n.push(\\\"getters:[0],\\\");for(var a=[],l=[],u=0;u<r;++u)a.push(\\\"d\\\"+u),l.push(\\\"d\\\"+u);for(var u=0;u<1<<r;++u)a.push(\\\"v\\\"+u),l.push(\\\"v\\\"+u);for(var u=0;u<1<<r;++u)a.push(\\\"p\\\"+u),l.push(\\\"p\\\"+u);a.push(\\\"a\\\",\\\"b\\\",\\\"c\\\"),l.push(\\\"a\\\",\\\"c\\\"),n.push(\\\"vertex:function vertexFunc(\\\",a.join(),\\\"){\\\");for(var c=[],u=0;u<1<<r;++u)c.push(\\\"(p\\\"+u+\\\"<<\\\"+u+\\\")\\\");n.push(\\\"var m=(\\\",c.join(\\\"+\\\"),\\\")|0;if(m===0||m===\\\",(1<<(1<<r))-1,\\\"){return}\\\");var h=[],f=[];1<<(1<<r)<=128?(n.push(\\\"switch(m){\\\"),f=n):n.push(\\\"switch(m>>>7){\\\");for(var u=0;u<1<<(1<<r);++u){if(1<<(1<<r)>128&&u%128==0){h.length>0&&f.push(\\\"}}\\\");var d=\\\"vExtra\\\"+h.length;n.push(\\\"case \\\",u>>>7,\\\":\\\",d,\\\"(m&0x7f,\\\",l.join(),\\\");break;\\\"),f=[\\\"function \\\",d,\\\"(m,\\\",l.join(),\\\"){switch(m){\\\"],h.push(f)}f.push(\\\"case \\\",127&u,\\\":\\\");for(var p=new Array(r),m=new Array(r),v=new Array(r),g=new Array(r),y=0,b=0;b<r;++b)p[b]=[],m[b]=[],v[b]=0,g[b]=0;for(var b=0;b<1<<r;++b)for(var x=0;x<r;++x){var _=b^1<<x;if(!(_>b)&&!(u&1<<_)!=!(u&1<<b)){var w=1;u&1<<_?m[x].push(\\\"v\\\"+_+\\\"-v\\\"+b):(m[x].push(\\\"v\\\"+b+\\\"-v\\\"+_),w=-w),w<0?(p[x].push(\\\"-v\\\"+b+\\\"-v\\\"+_),v[x]+=2):(p[x].push(\\\"v\\\"+b+\\\"+v\\\"+_),v[x]-=2),y+=1;for(var M=0;M<r;++M)M!==x&&(_&1<<M?g[M]+=1:g[M]-=1)}}for(var k=[],x=0;x<r;++x)if(0===p[x].length)k.push(\\\"d\\\"+x+\\\"-0.5\\\");else{var A=\\\"\\\";v[x]<0?A=v[x]+\\\"*c\\\":v[x]>0&&(A=\\\"+\\\"+v[x]+\\\"*c\\\");var T=p[x].length/y*.5,S=.5+g[x]/y*.5;k.push(\\\"d\\\"+x+\\\"-\\\"+S+\\\"-\\\"+T+\\\"*(\\\"+p[x].join(\\\"+\\\")+A+\\\")/(\\\"+m[x].join(\\\"+\\\")+\\\")\\\")}f.push(\\\"a.push([\\\",k.join(),\\\"]);\\\",\\\"break;\\\")}n.push(\\\"}},\\\"),h.length>0&&f.push(\\\"}}\\\");for(var E=[],u=0;u<1<<r-1;++u)E.push(\\\"v\\\"+u);E.push(\\\"c0\\\",\\\"c1\\\",\\\"p0\\\",\\\"p1\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\"),n.push(\\\"cell:function cellFunc(\\\",E.join(),\\\"){\\\");var L=s(r-1);n.push(\\\"if(p0){b.push(\\\",L.map(function(t){return\\\"[\\\"+t.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}else{b.push(\\\",L.map(function(t){var e=t.slice();return e.reverse(),\\\"[\\\"+e.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}}});function \\\",i,\\\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \\\",i,\\\";\\\");for(var u=0;u<h.length;++u)n.push(h[u].join(\\\"\\\"));return new Function(\\\"genContour\\\",n.join(\\\"\\\"))(o)}function i(t,e){for(var r=l(t,e),n=r.length,i=new Array(n),a=new Array(n),o=0;o<n;++o)i[o]=[r[o]],a[o]=[o];return{positions:i,cells:a}}function a(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return i(t,e);var r=t.order.join()+\\\"-\\\"+t.dtype,a=u[r],e=+e||0;return a||(a=u[r]=n(t.order,t.dtype)),a(t,e)}e.exports=a;var o=t(\\\"ndarray-extract-contour\\\"),s=t(\\\"triangulate-hypercube\\\"),l=t(\\\"zero-crossings\\\"),u={}},{\\\"ndarray-extract-contour\\\":455,\\\"triangulate-hypercube\\\":536,\\\"zero-crossings\\\":583}],531:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}function i(t,e,r){var r=r||{},o=s[t];o||(o=s[t]={\\\" \\\":{data:new Float32Array(0),shape:.2}});var l=o[e];if(!l)if(e.length<=1||!/\\\\d/.test(e))l=o[e]=n(a(e,{triangles:!0,font:t,textAlign:r.textAlign||\\\"left\\\",textBaseline:\\\"alphabetic\\\"}));else{for(var u=e.split(/(\\\\d|\\\\s)/),c=new Array(u.length),h=0,f=0,d=0;d<u.length;++d)c[d]=i(t,u[d]),h+=c[d].data.length,f+=c[d].shape,d>0&&(f+=.02);for(var p=new Float32Array(h),m=0,v=-.5*f,d=0;d<c.length;++d){for(var g=c[d].data,y=0;y<g.length;y+=2)p[m++]=g[y]+v,p[m++]=g[y+1];v+=c[d].shape+.02}l=o[e]={data:p,shape:f}}return l}e.exports=i;var a=t(\\\"vectorize-text\\\"),o=window||r.global||{},s=o.__TEXT_CACHE||{};o.__TEXT_CACHE={}}).call(this,t(\\\"_process\\\"))},{_process:486,\\\"vectorize-text\\\":553}],532:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\\\"sans-serif\\\",this.radius=r||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\\\"canvas\\\"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext(\\\"2d\\\"),this.ctx.font=t+\\\"px \\\"+this.fontFamily,this.ctx.textBaseline=\\\"middle\\\",this.ctx.fillStyle=\\\"black\\\",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf(\\\"Gecko/\\\")>=0?1.2:1))}function i(t,e,r,n,i,o,s){for(var l=0;l<e;l++){for(var u=0;u<r;u++)n[u]=t[u*e+l];for(a(n,i,o,s,r),u=0;u<r;u++)t[u*e+l]=i[u]}for(u=0;u<r;u++){for(l=0;l<e;l++)n[l]=t[u*e+l];for(a(n,i,o,s,e),l=0;l<e;l++)t[u*e+l]=Math.sqrt(i[l])}}function a(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a<i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l<=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);s++,r[s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a<i;a++){\\n\",\n       \"for(;n[s+1]<a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}e.exports=n;var o=1e20;n.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=e.data,n=0;n<this.size*this.size;n++){var a=r[4*n+3]/255;this.gridOuter[n]=1===a?0:0===a?o:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?o:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(i(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),i(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var s=this.gridOuter[n]-this.gridInner[n],l=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))));r[4*n+0]=l,r[4*n+1]=l,r[4*n+2]=l,r[4*n+3]=255}return e}},{}],533:[function(e,r,n){!function(e){function n(t,e){if(t=t||\\\"\\\",e=e||{},t instanceof n)return t;if(!(this instanceof n))return new n(t,e);var r=i(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=V(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=V(this._r)),this._g<1&&(this._g=V(this._g)),this._b<1&&(this._b=V(this._b)),this._ok=r.ok,this._tc_id=U++}function i(t){var e={r:0,g:0,b:0},r=1,n=null,i=null,o=null,l=!1,c=!1;return\\\"string\\\"==typeof t&&(t=F(t)),\\\"object\\\"==typeof t&&(R(t.r)&&R(t.g)&&R(t.b)?(e=a(t.r,t.g,t.b),l=!0,c=\\\"%\\\"===String(t.r).substr(-1)?\\\"prgb\\\":\\\"rgb\\\"):R(t.h)&&R(t.s)&&R(t.v)?(n=D(t.s),i=D(t.v),e=u(t.h,n,i),l=!0,c=\\\"hsv\\\"):R(t.h)&&R(t.s)&&R(t.l)&&(n=D(t.s),o=D(t.l),e=s(t.h,n,o),l=!0,c=\\\"hsl\\\"),t.hasOwnProperty(\\\"a\\\")&&(r=t.a)),r=T(r),{ok:l,format:t.format||c,r:H(255,q(e.r,0)),g:H(255,q(e.g,0)),b:H(255,q(e.b,0)),a:r}}function a(t,e,r){return{r:255*S(t,255),g:255*S(e,255),b:255*S(r,255)}}function o(t,e,r){t=S(t,255),e=S(e,255),r=S(r,255);var n,i,a=q(t,e,r),o=H(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function s(t,e,r){function n(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}var i,a,o;if(t=S(t,360),e=S(e,100),r=S(r,100),0===e)i=a=o=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}function l(t,e,r){t=S(t,255),e=S(e,255),r=S(r,255);var n,i,a=q(t,e,r),o=H(t,e,r),s=a,l=a-o;if(i=0===a?0:l/a,a==o)n=0;else{switch(a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,v:s}}function u(t,r,n){t=6*S(t,360),r=S(r,100),n=S(n,100);var i=e.floor(t),a=t-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),u=i%6;return{r:255*[n,s,o,o,l,n][u],g:255*[l,n,n,s,o,o][u],b:255*[o,o,l,n,n,s][u]}}function c(t,e,r,n){var i=[I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\\\"\\\")}function h(t,e,r,n,i){var a=[I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16)),I(P(n))];return i&&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[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\\\"\\\")}function f(t,e,r,n){return[I(P(n)),I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16))].join(\\\"\\\")}function d(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s-=e/100,r.s=E(r.s),n(r)}function p(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s+=e/100,r.s=E(r.s),n(r)}function m(t){return n(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l+=e/100,r.l=E(r.l),n(r)}function g(t,e){e=0===e?0:e||10;var r=n(t).toRgb();return r.r=q(0,H(255,r.r-V(-e/100*255))),r.g=q(0,H(255,r.g-V(-e/100*255))),r.b=q(0,H(255,r.b-V(-e/100*255))),n(r)}function y(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l-=e/100,r.l=E(r.l),n(r)}function b(t,e){var r=n(t).toHsl(),i=(r.h+e)%360;return r.h=i<0?360+i:i,n(r)}function x(t){var e=n(t).toHsl();return e.h=(e.h+180)%360,n(e)}function _(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+120)%360,s:e.s,l:e.l}),n({h:(r+240)%360,s:e.s,l:e.l})]}function w(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+90)%360,s:e.s,l:e.l}),n({h:(r+180)%360,s:e.s,l:e.l}),n({h:(r+270)%360,s:e.s,l:e.l})]}function M(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+72)%360,s:e.s,l:e.l}),n({h:(r+216)%360,s:e.s,l:e.l})]}function k(t,e,r){e=e||6,r=r||30;var i=n(t).toHsl(),a=360/r,o=[n(t)];for(i.h=(i.h-(a*e>>1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(n(i));return o}function A(t,e){e=e||6;for(var r=n(t).toHsv(),i=r.h,a=r.s,o=r.v,s=[],l=1/e;e--;)s.push(n({h:i,s:a,v:o})),o=(o+l)%1;return s}function T(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function S(t,r){C(t)&&(t=\\\"100%\\\");var n=z(t);return t=H(r,q(0,parseFloat(t))),n&&(t=parseInt(t*r,10)/100),e.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function E(t){return H(1,q(0,t))}function L(t){return parseInt(t,16)}function C(t){return\\\"string\\\"==typeof t&&-1!=t.indexOf(\\\".\\\")&&1===parseFloat(t)}function z(t){return\\\"string\\\"==typeof t&&-1!=t.indexOf(\\\"%\\\")}function I(t){return 1==t.length?\\\"0\\\"+t:\\\"\\\"+t}function D(t){return t<=1&&(t=100*t+\\\"%\\\"),t}function P(t){return e.round(255*parseFloat(t)).toString(16)}function O(t){return L(t)/255}function R(t){return!!W.CSS_UNIT.exec(t)}function F(t){t=t.replace(N,\\\"\\\").replace(B,\\\"\\\").toLowerCase();var e=!1;if(Y[t])t=Y[t],e=!0;else if(\\\"transparent\\\"==t)return{r:0,g:0,b:0,a:0,format:\\\"name\\\"};var r;return(r=W.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=W.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=W.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=W.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=W.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=W.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=W.hex8.exec(t))?{r:L(r[1]),g:L(r[2]),b:L(r[3]),a:O(r[4]),format:e?\\\"name\\\":\\\"hex8\\\"}:(r=W.hex6.exec(t))?{r:L(r[1]),g:L(r[2]),b:L(r[3]),format:e?\\\"name\\\":\\\"hex\\\"}:(r=W.hex4.exec(t))?{r:L(r[1]+\\\"\\\"+r[1]),g:L(r[2]+\\\"\\\"+r[2]),b:L(r[3]+\\\"\\\"+r[3]),a:O(r[4]+\\\"\\\"+r[4]),format:e?\\\"name\\\":\\\"hex8\\\"}:!!(r=W.hex3.exec(t))&&{r:L(r[1]+\\\"\\\"+r[1]),g:L(r[2]+\\\"\\\"+r[2]),b:L(r[3]+\\\"\\\"+r[3]),format:e?\\\"name\\\":\\\"hex\\\"}}function j(t){var e,r;return t=t||{level:\\\"AA\\\",size:\\\"small\\\"},e=(t.level||\\\"AA\\\").toUpperCase(),r=(t.size||\\\"small\\\").toLowerCase(),\\\"AA\\\"!==e&&\\\"AAA\\\"!==e&&(e=\\\"AA\\\"),\\\"small\\\"!==r&&\\\"large\\\"!==r&&(r=\\\"small\\\"),{level:e,size:r}}var N=/^\\\\s+/,B=/\\\\s+$/,U=0,V=e.round,H=e.min,q=e.max,G=e.random;n.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 t,r,n,i,a,o,s=this.toRgb();return t=s.r/255,r=s.g/255,n=s.b/255,i=t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4),a=r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4),o=n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=T(t),this._roundA=V(100*this._a)/100,this},toHsv:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=l(this._r,this._g,this._b),e=V(360*t.h),r=V(100*t.s),n=V(100*t.v);return 1==this._a?\\\"hsv(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%)\\\":\\\"hsva(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%, \\\"+this._roundA+\\\")\\\"},toHsl:function(){var t=o(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=o(this._r,this._g,this._b),e=V(360*t.h),r=V(100*t.s),n=V(100*t.l);return 1==this._a?\\\"hsl(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%)\\\":\\\"hsla(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%, \\\"+this._roundA+\\\")\\\"},toHex:function(t){return c(this._r,this._g,this._b,t)},toHexString:function(t){return\\\"#\\\"+this.toHex(t)},toHex8:function(t){return h(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\\\"#\\\"+this.toHex8(t)},toRgb:function(){return{r:V(this._r),g:V(this._g),b:V(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\\\"rgb(\\\"+V(this._r)+\\\", \\\"+V(this._g)+\\\", \\\"+V(this._b)+\\\")\\\":\\\"rgba(\\\"+V(this._r)+\\\", \\\"+V(this._g)+\\\", \\\"+V(this._b)+\\\", \\\"+this._roundA+\\\")\\\"},toPercentageRgb:function(){return{r:V(100*S(this._r,255))+\\\"%\\\",g:V(100*S(this._g,255))+\\\"%\\\",b:V(100*S(this._b,255))+\\\"%\\\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\\\"rgb(\\\"+V(100*S(this._r,255))+\\\"%, \\\"+V(100*S(this._g,255))+\\\"%, \\\"+V(100*S(this._b,255))+\\\"%)\\\":\\\"rgba(\\\"+V(100*S(this._r,255))+\\\"%, \\\"+V(100*S(this._g,255))+\\\"%, \\\"+V(100*S(this._b,255))+\\\"%, \\\"+this._roundA+\\\")\\\"},toName:function(){return 0===this._a?\\\"transparent\\\":!(this._a<1)&&(X[c(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\\\"#\\\"+f(this._r,this._g,this._b,this._a),r=e,i=this._gradientType?\\\"GradientType = 1, \\\":\\\"\\\";if(t){var a=n(t);r=\\\"#\\\"+f(a._r,a._g,a._b,a._a)}return\\\"progid:DXImageTransform.Microsoft.gradient(\\\"+i+\\\"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 n(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(g,arguments)},darken:function(){return this._applyModification(y,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(p,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(k,arguments)},complement:function(){return this._applyCombination(x,arguments)},monochromatic:function(){return this._applyCombination(A,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(_,arguments)},tetrad:function(){return this._applyCombination(w,arguments)}},n.fromRatio=function(t,e){if(\\\"object\\\"==typeof t){var r={};for(var i in t)t.hasOwnProperty(i)&&(r[i]=\\\"a\\\"===i?t[i]:D(t[i]));t=r}return n(t,e)},n.equals=function(t,e){return!(!t||!e)&&n(t).toRgbString()==n(e).toRgbString()},n.random=function(){return n.fromRatio({r:G(),g:G(),b:G()})},n.mix=function(t,e,r){r=0===r?0:r||50;var i=n(t).toRgb(),a=n(e).toRgb(),o=r/100;return n({r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a})},n.readability=function(t,r){var i=n(t),a=n(r);return(e.max(i.getLuminance(),a.getLuminance())+.05)/(e.min(i.getLuminance(),a.getLuminance())+.05)},n.isReadable=function(t,e,r){var i,a,o=n.readability(t,e);switch(a=!1,i=j(r),i.level+i.size){case\\\"AAsmall\\\":case\\\"AAAlarge\\\":a=o>=4.5;break;case\\\"AAlarge\\\":a=o>=3;break;case\\\"AAAsmall\\\":a=o>=7}return a},n.mostReadable=function(t,e,r){var i,a,o,s,l=null,u=0;r=r||{},a=r.includeFallbackColors,o=r.level,s=r.size;for(var c=0;c<e.length;c++)(i=n.readability(t,e[c]))>u&&(u=i,l=n(e[c]));return n.isReadable(t,l,{level:o,size:s})||!a?l:(r.includeFallbackColors=!1,n.mostReadable(t,[\\\"#fff\\\",\\\"#000\\\"],r))};var Y=n.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\\\"},X=n.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(Y),W=function(){var t=\\\"(?:[-\\\\\\\\+]?\\\\\\\\d*\\\\\\\\.\\\\\\\\d+%?)|(?:[-\\\\\\\\+]?\\\\\\\\d+%?)\\\",e=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")\\\\\\\\s*\\\\\\\\)?\\\",r=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")\\\\\\\\s*\\\\\\\\)?\\\";return{CSS_UNIT:new RegExp(t),rgb:new RegExp(\\\"rgb\\\"+e),rgba:new RegExp(\\\"rgba\\\"+r),hsl:new RegExp(\\\"hsl\\\"+e),hsla:new RegExp(\\\"hsla\\\"+r),hsv:new RegExp(\\\"hsv\\\"+e),hsva:new RegExp(\\\"hsva\\\"+r),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})$/}}();void 0!==r&&r.exports?r.exports=n:\\\"function\\\"==typeof t&&t.amd?t(function(){return n}):window.tinycolor=n}(Math)},{}],534:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=o(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function i(t,e){var r=document.createElement(\\\"div\\\");r.style[\\\"font-size\\\"]=\\\"128\\\"+t,e.appendChild(r);var i=n(r,\\\"font-size\\\")/128;return e.removeChild(r),i}function a(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 i(t,e);case\\\"em\\\":return n(e,\\\"font-size\\\");case\\\"rem\\\":return n(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 s;case\\\"cm\\\":return s/2.54;case\\\"mm\\\":return s/25.4;case\\\"pt\\\":return s/72;case\\\"pc\\\":return s/6}return 1}var o=t(\\\"parse-unit\\\");e.exports=a;var s=96},{\\\"parse-unit\\\":474}],535:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.topojson=e.topojson||{})}(this,function(t){\\\"use strict\\\";function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&&null==i?{type:\\\"Feature\\\",properties:a,geometry:o}:null==i?{type:\\\"Feature\\\",id:n,properties:a,geometry:o}:{type:\\\"Feature\\\",id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&&e.pop();for(var r=h[t<0?~t:t],n=0,i=r.length;n<i;++n)e.push(u(r[n].slice(),n));t<0&&c(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n<i;++n)r(t[n],e);return e.length<2&&e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length<4;)e.push(e[0].slice());return e}function o(t){return t.map(a)}function s(t){var e,r=t.type;switch(r){case\\\"GeometryCollection\\\":return{type:r,geometries:t.geometries.map(s)};case\\\"Point\\\":e=n(t.coordinates);break;case\\\"MultiPoint\\\":e=t.coordinates.map(n);break;case\\\"LineString\\\":e=i(t.arcs);break;case\\\"MultiLineString\\\":e=t.arcs.map(i);break;case\\\"Polygon\\\":e=o(t.arcs);break;case\\\"MultiPolygon\\\":e=t.arcs.map(o);break;default:return null}return{type:r,coordinates:e}}var u=l(t),h=t.arcs;return s(e)}function n(t,e,r){var n,a,o;if(arguments.length>1)n=i(t,e,r);else for(a=0,n=new Array(o=t.arcs.length);a<o;++a)n[a]=a;return{type:\\\"MultiLineString\\\",arcs:f(t,n)}}function i(t,e,r){function n(t){var e=t<0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:l})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){t.forEach(a)}function s(t){switch(l=t,t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(s);break;case\\\"LineString\\\":i(t.arcs);break;case\\\"MultiLineString\\\":case\\\"Polygon\\\":a(t.arcs);break;case\\\"MultiPolygon\\\":o(t.arcs)}}var l,u=[],c=[];return s(e),c.forEach(null==r?function(t){u.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&u.push(t[0].i)}),u}function a(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}function o(t,e){function n(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(n);break;case\\\"Polygon\\\":i(t.arcs);break;case\\\"MultiPolygon\\\":t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(s[e=e<0?~e:e]||(s[e]=[])).push(t)})}),l.push(t)}function o(e){return a(r(t,{type:\\\"Polygon\\\",arcs:[e]}).coordinates[0])}var s={},l=[],u=[];return e.forEach(n),l.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,u.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),l.forEach(function(t){delete t._}),{type:\\\"MultiPolygon\\\",arcs:u.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].length<2&&n.push(t)})})}),n=f(t,n),(r=n.length)>1)for(var i,a,l=1,u=o(n[0]);l<r;++l)(i=o(n[l]))>u&&(a=n[0],n[0]=n[l],n[l]=a,u=i);return n})}}var s=function(t){return t},l=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+o,t[1]=(n+=t[1])*a+l,t}},u=function(t){function e(t){s[0]=t[0],s[1]=t[1],o(s),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])}function r(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(r);break;case\\\"Point\\\":e(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,o=l(t),s=new Array(2),u=1/0,c=u,h=-u,f=-u;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)i=t[e],s[0]=i[0],s[1]=i[1],o(s,e),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[u,c,h,f]}return n},c=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r},h=function(t,r){return\\\"GeometryCollection\\\"===r.type?{type:\\\"FeatureCollection\\\",features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},f=function(t,e){function r(e){var r,n=t.arcs[e<0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e<0?[r,i]:[i,r]}function n(t,e){for(var r in t){var n=t[r];delete e[n.start],delete n.start,delete n.end,n.forEach(function(t){i[t<0?~t:t]=1}),s.push(n)}}var i={},a={},o={},s=[],l=-1;return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++l],e[l]=r,e[n]=i)}),e.forEach(function(t){var e,n,i=r(t),s=i[0],l=i[1];if(e=o[s])if(delete o[e.end],e.push(t),e.end=l,n=a[l]){delete a[n.start];var u=n===e?e:e.concat(n);a[u.start=e.start]=o[u.end=n.end]=u}else a[e.start]=o[e.end]=e;else if(e=a[l])if(delete a[e.start],e.unshift(t),e.start=s,n=o[s]){delete o[n.end];var c=n===e?e:n.concat(e);a[c.start=n.start]=o[c.end=e.end]=c}else a[e.start]=o[e.end]=e;else e=[t],a[e.start=s]=o[e.end=l]=e}),n(o,a),n(a,o),e.forEach(function(t){i[t<0?~t:t]||s.push([t])}),s},d=function(t){return r(t,n.apply(this,arguments))},p=function(t){return r(t,o.apply(this,arguments))},m=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r},v=function(t){function e(t,e){t.forEach(function(t){t<0&&(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){\\\"GeometryCollection\\\"===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&&o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],u=l.length,c=0;c<u;++c)for(var h=c+1;h<u;++h){var f,d=l[c],p=l[h];(f=a[d])[s=m(f,p)]!==p&&f.splice(s,0,p),(f=a[p])[s=m(f,d)]!==d&&f.splice(s,0,d)}return a},g=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/s),t[1]=Math.round((t[1]-l)/c)}function n(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(n);break;case\\\"Point\\\":r(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(r)}}if(!((e=Math.floor(e))>=2))throw new Error(\\\"n must be \\\\u22652\\\");if(t.transform)throw new Error(\\\"already quantized\\\");var i,a=u(t),o=a[0],s=(a[2]-o)/(e-1)||1,l=a[1],c=(a[3]-l)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-o)/s),d=h[1]=Math.round((h[1]-l)/c);i<u;++i)h=t[i],r=Math.round((h[0]-o)/s),n=Math.round((h[1]-l)/c),r===f&&n===d||(e=t[a++],e[0]=r-f,f=r,e[1]=n-d,d=n);a<2&&(e=t[a++],e[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[s,c],translate:[o,l]},t},y=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var s=Math.round((t[0]-o)/i),u=Math.round((t[1]-l)/a);return t[0]=s-r,r=s,t[1]=u-n,n=u,t}};t.bbox=u,t.feature=h,t.mesh=d,t.meshArcs=n,t.merge=p,t.mergeArcs=o,t.neighbors=v,t.quantize=g,t.transform=l,t.untransform=y,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],536:[function(t,e,r){\\\"use strict\\\";function n(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(o(t+1)),r=[],n=0;n<e;++n){for(var s=i.unrank(t,n),l=[0],u=0,c=0;c<s.length;++c)u+=1<<s[c],l.push(u);a(s)<1&&(l[0]=u,l[t]=0),r.push(l)}return r}e.exports=n;var i=t(\\\"permutation-rank\\\"),a=t(\\\"permutation-parity\\\"),o=t(\\\"gamma\\\")},{gamma:135,\\\"permutation-parity\\\":478,\\\"permutation-rank\\\":479}],537:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){return Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s<3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(var s=0;s<3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,s){this.center=l(r),this.up=l(n),this.right=l(i),this.radius=l([a]),this.angle=l([o,s]),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 u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),\\\"eye\\\"in t){var c=t.eye,p=[c[0]-e[0],c[1]-e[1],c[2]-e[2]];h(i,p,r),n(i[0],i[1],i[2])<1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var m=d(r,p)/s,v=d(i,p)/s;u=Math.acos(m),l=Math.acos(v)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,u)}e.exports=s;var l=t(\\\"filtered-vector\\\"),u=t(\\\"gl-mat4/invert\\\"),c=t(\\\"gl-mat4/rotate\\\"),h=t(\\\"gl-vec3/cross\\\"),f=t(\\\"gl-vec3/normalize\\\"),d=t(\\\"gl-vec3/dot\\\"),p=o.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,i=0,a=0,o=0;o<3;++o)a+=e[o]*r[o],i+=e[o]*e[o];for(var s=Math.sqrt(i),l=0,o=0;o<3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;for(var u=Math.sqrt(l),o=0;o<3;++o)r[o]/=u;var c=this.computedToward;h(c,e,r),f(c,c);for(var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],v=Math.cos(p),g=Math.sin(p),y=Math.cos(m),b=Math.sin(m),x=this.computedCenter,_=v*y,w=g*y,M=b,k=-v*b,A=-g*b,T=y,S=this.computedEye,E=this.computedMatrix,o=0;o<3;++o){var L=_*r[o]+w*c[o]+M*e[o];E[4*o+1]=k*r[o]+A*c[o]+T*e[o],E[4*o+2]=L,E[4*o+3]=0}var C=E[1],z=E[5],I=E[9],D=E[2],P=E[6],O=E[10],R=z*O-I*P,F=I*D-C*O,j=C*P-z*D,N=n(R,F,j);R/=N,F/=N,j/=N,E[0]=R,E[4]=F,E[8]=j;for(var o=0;o<3;++o)S[o]=x[o]+E[2+4*o]*d;for(var o=0;o<3;++o){for(var l=0,B=0;B<3;++B)l+=E[o+4*B]*S[B];E[12+o]=-l}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 m=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;m[0]=i[2],m[1]=i[6],m[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l<3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,m);for(var l=0;l<3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},p.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var m=c*e+o*r,v=h*e+s*r,g=f*e+l*r;this.center.move(t,m,v,g);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),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,a){var o=1;\\\"number\\\"==typeof r&&(o=0|r),(o<0||o>3)&&(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var l=e[o],c=e[o+4],h=e[o+8];if(a){var f=Math.abs(l),d=Math.abs(c),p=Math.abs(h),m=Math.max(f,d,p);f===m?(l=l<0?-1:1,c=h=0):p===m?(h=h<0?-1:1,l=c=0):(c=c<0?-1:1,l=h=0)}else{var v=n(l,c,h);l/=v,c/=v,h/=v}var g=e[s],y=e[s+4],b=e[s+8],x=g*l+y*c+b*h;g-=l*x,y-=c*x,b-=h*x;var _=n(g,y,b);g/=_,y/=_,b/=_;var w=c*b-h*y,M=h*g-l*b,k=l*y-c*g,A=n(w,M,k);w/=A,M/=A,k/=A,this.center.jump(t,q,G,Y),this.radius.idle(t),this.up.jump(t,l,c,h),this.right.jump(t,g,y,b);var T,S;if(2===o){var E=e[1],L=e[5],C=e[9],z=E*g+L*y+C*b,I=E*w+L*M+C*k;T=R<0?-Math.PI/2:Math.PI/2,S=Math.atan2(I,z)}else{var D=e[2],P=e[6],O=e[10],R=D*l+P*c+O*h,F=D*g+P*y+O*b,j=D*w+P*M+O*k;T=Math.asin(i(R)),S=Math.atan2(j,F)}this.angle.jump(t,S,T),this.recalcMatrix(t);var N=e[2],B=e[6],U=e[10],V=this.computedMatrix;u(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Y=V[14]/H,X=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*X,G-B*X,Y-U*X)},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,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter,a=a||this.computedUp;var o=a[0],s=a[1],l=a[2],u=n(o,s,l);if(!(u<1e-6)){o/=u,s/=u,l/=u;var c=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],d=n(c,h,f);if(!(d<1e-6)){c/=d,h/=d,f/=d;var p=this.computedRight,m=p[0],v=p[1],g=p[2],y=o*m+s*v+l*g;m-=y*o,v-=y*s,g-=y*l;var b=n(m,v,g);if(!(b<.01&&(m=s*f-l*h,v=l*c-o*f,g=o*h-s*c,(b=n(m,v,g))<1e-6))){m/=b,v/=b,g/=b,this.up.set(t,o,s,l),this.right.set(t,m,v,g),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var x=s*g-l*v,_=l*m-o*g,w=o*v-s*m,M=n(x,_,w);x/=M,_/=M,w/=M;var k=o*c+s*h+l*f,A=m*c+v*h+g*f,T=x*c+_*h+w*f,S=Math.asin(i(k)),E=Math.atan2(T,A),L=this.angle._state,C=L[L.length-1],z=L[L.length-2];C%=2*Math.PI;var I=Math.abs(C+2*Math.PI-E),D=Math.abs(C-E),P=Math.abs(C-2*Math.PI-E);I<D&&(C+=2*Math.PI),P<D&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,z),this.angle.set(t,E,S)}}}}},{\\\"filtered-vector\\\":132,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/rotate\\\":184,\\\"gl-vec3/cross\\\":271,\\\"gl-vec3/dot\\\":272,\\\"gl-vec3/normalize\\\":275}],538:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t*e,a=i*t,o=a-t,s=a-o,l=t-s,u=i*e,c=u-e,h=u-c,f=e-h,d=n-s*h,p=d-l*h,m=p-s*f,v=l*f-m;return r?(r[0]=v,r[1]=n,r):[v,n]}e.exports=n;var i=+(Math.pow(2,27)+1)},{}],539:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t+e,i=n-t,a=n-i,o=e-i,s=t-a;return r?(r[0]=s+o,r[1]=n,r):[s+o,n]}e.exports=n},{}],540:[function(t,e,r){(function(e,n){\\\"use strict\\\";function i(t){if(t){var e=t.length||t.byteLength,r=y.log2(e);w[r].push(t)}}function a(t){i(t.buffer)}function o(t){var t=y.nextPow2(t),e=y.log2(t),r=w[e];return r.length>0?r.pop():new ArrayBuffer(t)}function s(t){return new Uint8Array(o(t),0,t)}function l(t){return new Uint16Array(o(2*t),0,t)}function u(t){return new Uint32Array(o(4*t),0,t)}function c(t){return new Int8Array(o(t),0,t)}function h(t){return new Int16Array(o(2*t),0,t)}function f(t){return new Int32Array(o(4*t),0,t)}function d(t){return new Float32Array(o(4*t),0,t)}function p(t){return new Float64Array(o(8*t),0,t)}function m(t){return x?new Uint8ClampedArray(o(t),0,t):s(t)}function v(t){return new DataView(o(t),0,t)}function g(t){t=y.nextPow2(t);var e=y.log2(t),r=M[e];return r.length>0?r.pop():new n(t)}var y=t(\\\"bit-twiddle\\\"),b=t(\\\"dup\\\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:b([32,0]),UINT16:b([32,0]),UINT32:b([32,0]),INT8:b([32,0]),INT16:b([32,0]),INT32:b([32,0]),FLOAT:b([32,0]),DOUBLE:b([32,0]),DATA:b([32,0]),UINT8C:b([32,0]),BUFFER:b([32,0])});var x=\\\"undefined\\\"!=typeof Uint8ClampedArray,_=e.__TYPEDARRAY_POOL;_.UINT8C||(_.UINT8C=b([32,0])),_.BUFFER||(_.BUFFER=b([32,0]));var w=_.DATA,M=_.BUFFER;r.free=function(t){if(n.isBuffer(t))M[y.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|y.log2(e);w[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=a,r.freeArrayBuffer=i,r.freeBuffer=function(t){M[y.log2(t.length)].push(t)},r.malloc=function(t,e){\\n\",\n       \"if(void 0===e||\\\"arraybuffer\\\"===e)return o(t);switch(e){case\\\"uint8\\\":return s(t);case\\\"uint16\\\":return l(t);case\\\"uint32\\\":return u(t);case\\\"int8\\\":return c(t);case\\\"int16\\\":return h(t);case\\\"int32\\\":return f(t);case\\\"float\\\":case\\\"float32\\\":return d(t);case\\\"double\\\":case\\\"float64\\\":return p(t);case\\\"uint8_clamped\\\":return m(t);case\\\"buffer\\\":return g(t);case\\\"data\\\":case\\\"dataview\\\":return v(t);default:return null}return null},r.mallocArrayBuffer=o,r.mallocUint8=s,r.mallocUint16=l,r.mallocUint32=u,r.mallocInt8=c,r.mallocInt16=h,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=d,r.mallocFloat64=r.mallocDouble=p,r.mallocUint8Clamped=m,r.mallocDataView=v,r.mallocBuffer=g,r.clearCache=function(){for(var t=0;t<32;++t)_.UINT8[t].length=0,_.UINT16[t].length=0,_.UINT32[t].length=0,_.INT8[t].length=0,_.INT16[t].length=0,_.INT32[t].length=0,_.FLOAT[t].length=0,_.DOUBLE[t].length=0,_.UINT8C[t].length=0,w[t].length=0,M[t].length=0}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{},t(\\\"buffer\\\").Buffer)},{\\\"bit-twiddle\\\":66,buffer:76,dup:124}],541:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=n.prototype;Object.defineProperty(i,\\\"length\\\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.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},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],542:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,i=t[o],e(i,a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}function i(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}function a(t,e,r){return 0===t.length?t:e?(r||t.sort(e),n(t,e)):(r||t.sort(),i(t))}e.exports=a},{}],543:[function(t,e,r){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}e.exports=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){void 0===e&&(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(r=0,n=1,(i=t)<r)return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],544:[function(t,e,r){\\\"use strict\\\";function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&&u.isObject(t)&&t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}function a(t){return u.isString(t)&&(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)}function o(t,e){return i(t,!1,!0).resolve(e)}function s(t,e){return t?i(t,!1,!0).resolveObject(e):e}var l=t(\\\"punycode\\\"),u=t(\\\"./util\\\");r.parse=i,r.resolve=o,r.resolveObject=s,r.format=a,r.Url=n;var c=/^([a-z0-9.+-]+:)/i,h=/:[0-9]*$/,f=/^(\\\\/\\\\/?(?!\\\\/)[^\\\\?\\\\s]*)(\\\\?[^\\\\s]*)?$/,d=[\\\"<\\\",\\\">\\\",'\\\"',\\\"`\\\",\\\" \\\",\\\"\\\\r\\\",\\\"\\\\n\\\",\\\"\\\\t\\\"],p=[\\\"{\\\",\\\"}\\\",\\\"|\\\",\\\"\\\\\\\\\\\",\\\"^\\\",\\\"`\\\"].concat(d),m=[\\\"'\\\"].concat(p),v=[\\\"%\\\",\\\"/\\\",\\\"?\\\",\\\";\\\",\\\"#\\\"].concat(m),g=[\\\"/\\\",\\\"?\\\",\\\"#\\\"],y=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,\\\"javascript:\\\":!0},_={javascript:!0,\\\"javascript:\\\":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\\\"http:\\\":!0,\\\"https:\\\":!0,\\\"ftp:\\\":!0,\\\"gopher:\\\":!0,\\\"file:\\\":!0},M=t(\\\"querystring\\\");n.prototype.parse=function(t,e,r){if(!u.isString(t))throw new TypeError(\\\"Parameter 'url' must be a string, not \\\"+typeof t);var n=t.indexOf(\\\"?\\\"),i=-1!==n&&n<t.indexOf(\\\"#\\\")?\\\"?\\\":\\\"#\\\",a=t.split(i),o=/\\\\\\\\/g;a[0]=a[0].replace(o,\\\"/\\\"),t=a.join(i);var s=t;if(s=s.trim(),!r&&1===t.split(\\\"#\\\").length){var h=f.exec(s);if(h)return this.path=s,this.href=s,this.pathname=h[1],h[2]?(this.search=h[2],this.query=e?M.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search=\\\"\\\",this.query={}),this}var d=c.exec(s);if(d){d=d[0];var p=d.toLowerCase();this.protocol=p,s=s.substr(d.length)}if(r||d||s.match(/^\\\\/\\\\/[^@\\\\/]+@[^@\\\\/]+/)){var k=\\\"//\\\"===s.substr(0,2);!k||d&&_[d]||(s=s.substr(2),this.slashes=!0)}if(!_[d]&&(k||d&&!w[d])){for(var A=-1,T=0;T<g.length;T++){var S=s.indexOf(g[T]);-1!==S&&(-1===A||S<A)&&(A=S)}var E,L;L=-1===A?s.lastIndexOf(\\\"@\\\"):s.lastIndexOf(\\\"@\\\",A),-1!==L&&(E=s.slice(0,L),s=s.slice(L+1),this.auth=decodeURIComponent(E)),A=-1;for(var T=0;T<v.length;T++){var S=s.indexOf(v[T]);-1!==S&&(-1===A||S<A)&&(A=S)}-1===A&&(A=s.length),this.host=s.slice(0,A),s=s.slice(A),this.parseHost(),this.hostname=this.hostname||\\\"\\\";var C=\\\"[\\\"===this.hostname[0]&&\\\"]\\\"===this.hostname[this.hostname.length-1];if(!C)for(var z=this.hostname.split(/\\\\./),T=0,I=z.length;T<I;T++){var D=z[T];if(D&&!D.match(y)){for(var P=\\\"\\\",O=0,R=D.length;O<R;O++)D.charCodeAt(O)>127?P+=\\\"x\\\":P+=D[O];if(!P.match(y)){var F=z.slice(0,T),j=z.slice(T+1),N=D.match(b);N&&(F.push(N[1]),j.unshift(N[2])),j.length&&(s=\\\"/\\\"+j.join(\\\".\\\")+s),this.hostname=F.join(\\\".\\\");break}}}this.hostname.length>255?this.hostname=\\\"\\\":this.hostname=this.hostname.toLowerCase(),C||(this.hostname=l.toASCII(this.hostname));var B=this.port?\\\":\\\"+this.port:\\\"\\\",U=this.hostname||\\\"\\\";this.host=U+B,this.href+=this.host,C&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\\\"/\\\"!==s[0]&&(s=\\\"/\\\"+s))}if(!x[p])for(var T=0,I=m.length;T<I;T++){var V=m[T];if(-1!==s.indexOf(V)){var H=encodeURIComponent(V);H===V&&(H=escape(V)),s=s.split(V).join(H)}}var q=s.indexOf(\\\"#\\\");-1!==q&&(this.hash=s.substr(q),s=s.slice(0,q));var G=s.indexOf(\\\"?\\\");if(-1!==G?(this.search=s.substr(G),this.query=s.substr(G+1),e&&(this.query=M.parse(this.query)),s=s.slice(0,G)):e&&(this.search=\\\"\\\",this.query={}),s&&(this.pathname=s),w[p]&&this.hostname&&!this.pathname&&(this.pathname=\\\"/\\\"),this.pathname||this.search){var B=this.pathname||\\\"\\\",Y=this.search||\\\"\\\";this.path=B+Y}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||\\\"\\\";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,\\\":\\\"),t+=\\\"@\\\");var e=this.protocol||\\\"\\\",r=this.pathname||\\\"\\\",n=this.hash||\\\"\\\",i=!1,a=\\\"\\\";this.host?i=t+this.host:this.hostname&&(i=t+(-1===this.hostname.indexOf(\\\":\\\")?this.hostname:\\\"[\\\"+this.hostname+\\\"]\\\"),this.port&&(i+=\\\":\\\"+this.port)),this.query&&u.isObject(this.query)&&Object.keys(this.query).length&&(a=M.stringify(this.query));var o=this.search||a&&\\\"?\\\"+a||\\\"\\\";return e&&\\\":\\\"!==e.substr(-1)&&(e+=\\\":\\\"),this.slashes||(!e||w[e])&&!1!==i?(i=\\\"//\\\"+(i||\\\"\\\"),r&&\\\"/\\\"!==r.charAt(0)&&(r=\\\"/\\\"+r)):i||(i=\\\"\\\"),n&&\\\"#\\\"!==n.charAt(0)&&(n=\\\"#\\\"+n),o&&\\\"?\\\"!==o.charAt(0)&&(o=\\\"?\\\"+o),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace(\\\"#\\\",\\\"%23\\\"),e+i+r+o+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(u.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a<i.length;a++){var o=i[a];r[o]=this[o]}if(r.hash=t.hash,\\\"\\\"===t.href)return r.href=r.format(),r;if(t.slashes&&!t.protocol){for(var s=Object.keys(t),l=0;l<s.length;l++){var c=s[l];\\\"protocol\\\"!==c&&(r[c]=t[c])}return w[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname=\\\"/\\\"),r.href=r.format(),r}if(t.protocol&&t.protocol!==r.protocol){if(!w[t.protocol]){for(var h=Object.keys(t),f=0;f<h.length;f++){var d=h[f];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||_[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||\\\"\\\").split(\\\"/\\\");p.length&&!(t.host=p.shift()););t.host||(t.host=\\\"\\\"),t.hostname||(t.hostname=\\\"\\\"),\\\"\\\"!==p[0]&&p.unshift(\\\"\\\"),p.length<2&&p.unshift(\\\"\\\"),r.pathname=p.join(\\\"/\\\")}if(r.search=t.search,r.query=t.query,r.host=t.host||\\\"\\\",r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var m=r.pathname||\\\"\\\",v=r.search||\\\"\\\";r.path=m+v}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var g=r.pathname&&\\\"/\\\"===r.pathname.charAt(0),y=t.host||t.pathname&&\\\"/\\\"===t.pathname.charAt(0),b=y||g||r.host&&t.pathname,x=b,M=r.pathname&&r.pathname.split(\\\"/\\\")||[],p=t.pathname&&t.pathname.split(\\\"/\\\")||[],k=r.protocol&&!w[r.protocol];if(k&&(r.hostname=\\\"\\\",r.port=null,r.host&&(\\\"\\\"===M[0]?M[0]=r.host:M.unshift(r.host)),r.host=\\\"\\\",t.protocol&&(t.hostname=null,t.port=null,t.host&&(\\\"\\\"===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),b=b&&(\\\"\\\"===p[0]||\\\"\\\"===M[0])),y)r.host=t.host||\\\"\\\"===t.host?t.host:r.host,r.hostname=t.hostname||\\\"\\\"===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,M=p;else if(p.length)M||(M=[]),M.pop(),M=M.concat(p),r.search=t.search,r.query=t.query;else if(!u.isNullOrUndefined(t.search)){if(k){r.hostname=r.host=M.shift();var A=!!(r.host&&r.host.indexOf(\\\"@\\\")>0)&&r.host.split(\\\"@\\\");A&&(r.auth=A.shift(),r.host=r.hostname=A.shift())}return r.search=t.search,r.query=t.query,u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\\\"\\\")+(r.search?r.search:\\\"\\\")),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path=\\\"/\\\"+r.search:r.path=null,r.href=r.format(),r;for(var T=M.slice(-1)[0],S=(r.host||t.host||M.length>1)&&(\\\".\\\"===T||\\\"..\\\"===T)||\\\"\\\"===T,E=0,L=M.length;L>=0;L--)T=M[L],\\\".\\\"===T?M.splice(L,1):\\\"..\\\"===T?(M.splice(L,1),E++):E&&(M.splice(L,1),E--);if(!b&&!x)for(;E--;E)M.unshift(\\\"..\\\");!b||\\\"\\\"===M[0]||M[0]&&\\\"/\\\"===M[0].charAt(0)||M.unshift(\\\"\\\"),S&&\\\"/\\\"!==M.join(\\\"/\\\").substr(-1)&&M.push(\\\"\\\");var C=\\\"\\\"===M[0]||M[0]&&\\\"/\\\"===M[0].charAt(0);if(k){r.hostname=r.host=C?\\\"\\\":M.length?M.shift():\\\"\\\";var A=!!(r.host&&r.host.indexOf(\\\"@\\\")>0)&&r.host.split(\\\"@\\\");A&&(r.auth=A.shift(),r.host=r.hostname=A.shift())}return b=b||r.host&&M.length,b&&!C&&M.unshift(\\\"\\\"),M.length?r.pathname=M.join(\\\"/\\\"):(r.pathname=null,r.path=null),u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\\\"\\\")+(r.search?r.search:\\\"\\\")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=h.exec(t);e&&(e=e[0],\\\":\\\"!==e&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},{\\\"./util\\\":545,punycode:487,querystring:491}],545:[function(t,e,r){\\\"use strict\\\";e.exports={isString:function(t){return\\\"string\\\"==typeof t},isObject:function(t){return\\\"object\\\"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],546:[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}},{}],547:[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}},{}],548:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(e)?n.showHidden=e:e&&r._extend(n,e),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=a),l(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?\\\"\\\\x1b[\\\"+i.colors[r][0]+\\\"m\\\"+t+\\\"\\\\x1b[\\\"+i.colors[r][1]+\\\"m\\\":t}function o(t,e){return t}function s(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}function l(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return b(i)||(i=l(t,i,n)),i}var a=u(t,e);if(a)return a;var o=Object.keys(e),m=s(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),A(e)&&(o.indexOf(\\\"message\\\")>=0||o.indexOf(\\\"description\\\")>=0))return c(e);if(0===o.length){if(T(e)){var v=e.name?\\\": \\\"+e.name:\\\"\\\";return t.stylize(\\\"[Function\\\"+v+\\\"]\\\",\\\"special\\\")}if(w(e))return t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\");if(k(e))return t.stylize(Date.prototype.toString.call(e),\\\"date\\\");if(A(e))return c(e)}var g=\\\"\\\",y=!1,x=[\\\"{\\\",\\\"}\\\"];if(p(e)&&(y=!0,x=[\\\"[\\\",\\\"]\\\"]),T(e)){g=\\\" [Function\\\"+(e.name?\\\": \\\"+e.name:\\\"\\\")+\\\"]\\\"}if(w(e)&&(g=\\\" \\\"+RegExp.prototype.toString.call(e)),k(e)&&(g=\\\" \\\"+Date.prototype.toUTCString.call(e)),A(e)&&(g=\\\" \\\"+c(e)),0===o.length&&(!y||0==e.length))return x[0]+g+x[1];if(n<0)return w(e)?t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\"):t.stylize(\\\"[Object]\\\",\\\"special\\\");t.seen.push(e);var _;return _=y?h(t,e,n,m,o):o.map(function(r){return f(t,e,n,m,r,y)}),t.seen.pop(),d(_,g,x)}function u(t,e){if(_(e))return t.stylize(\\\"undefined\\\",\\\"undefined\\\");if(b(e)){var r=\\\"'\\\"+JSON.stringify(e).replace(/^\\\"|\\\"$/g,\\\"\\\").replace(/'/g,\\\"\\\\\\\\'\\\").replace(/\\\\\\\\\\\"/g,'\\\"')+\\\"'\\\";return t.stylize(r,\\\"string\\\")}return y(e)?t.stylize(\\\"\\\"+e,\\\"number\\\"):m(e)?t.stylize(\\\"\\\"+e,\\\"boolean\\\"):v(e)?t.stylize(\\\"null\\\",\\\"null\\\"):void 0}function c(t){return\\\"[\\\"+Error.prototype.toString.call(t)+\\\"]\\\"}function h(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)z(e,String(o))?a.push(f(t,e,r,n,String(o),!0)):a.push(\\\"\\\");return i.forEach(function(i){i.match(/^\\\\d+$/)||a.push(f(t,e,r,n,i,!0))}),a}function f(t,e,r,n,i,a){var o,s,u;if(u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]},u.get?s=u.set?t.stylize(\\\"[Getter/Setter]\\\",\\\"special\\\"):t.stylize(\\\"[Getter]\\\",\\\"special\\\"):u.set&&(s=t.stylize(\\\"[Setter]\\\",\\\"special\\\")),z(n,i)||(o=\\\"[\\\"+i+\\\"]\\\"),s||(t.seen.indexOf(u.value)<0?(s=v(r)?l(t,u.value,null):l(t,u.value,r-1),s.indexOf(\\\"\\\\n\\\")>-1&&(s=a?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\\\")),_(o)){if(a&&i.match(/^\\\\d+$/))return s;o=JSON.stringify(\\\"\\\"+i),o.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 d(t,e,r){var n=0;return t.reduce(function(t,e){return n++,e.indexOf(\\\"\\\\n\\\")>=0&&n++,t+e.replace(/\\\\u001b\\\\[\\\\d\\\\d?m/g,\\\"\\\").length+1},0)>60?r[0]+(\\\"\\\"===e?\\\"\\\":e+\\\"\\\\n \\\")+\\\" \\\"+t.join(\\\",\\\\n  \\\")+\\\" \\\"+r[1]:r[0]+e+\\\" \\\"+t.join(\\\", \\\")+\\\" \\\"+r[1]}function p(t){return Array.isArray(t)}function m(t){return\\\"boolean\\\"==typeof t}function v(t){return null===t}function g(t){return null==t}function y(t){return\\\"number\\\"==typeof t}function b(t){return\\\"string\\\"==typeof t}function x(t){return\\\"symbol\\\"==typeof t}function _(t){return void 0===t}function w(t){return M(t)&&\\\"[object RegExp]\\\"===E(t)}function M(t){return\\\"object\\\"==typeof t&&null!==t}function k(t){return M(t)&&\\\"[object Date]\\\"===E(t)}function A(t){return M(t)&&(\\\"[object Error]\\\"===E(t)||t instanceof Error)}function T(t){return\\\"function\\\"==typeof t}function S(t){return null===t||\\\"boolean\\\"==typeof t||\\\"number\\\"==typeof t||\\\"string\\\"==typeof t||\\\"symbol\\\"==typeof t||void 0===t}function E(t){return Object.prototype.toString.call(t)}function L(t){return t<10?\\\"0\\\"+t.toString(10):t.toString(10)}function C(){var t=new Date,e=[L(t.getHours()),L(t.getMinutes()),L(t.getSeconds())].join(\\\":\\\");return[t.getDate(),O[t.getMonth()],e].join(\\\" \\\")}function z(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var I=/%[sdj%]/g;r.format=function(t){if(!b(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(i(arguments[r]));return e.join(\\\" \\\")}for(var r=1,n=arguments,a=n.length,o=String(t).replace(I,function(t){if(\\\"%%\\\"===t)return\\\"%\\\";if(r>=a)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}}),s=n[r];r<a;s=n[++r])v(s)||!M(s)?o+=\\\" \\\"+s:o+=\\\" \\\"+i(s);return o},r.deprecate=function(t,i){function a(){if(!o){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),o=!0}return t.apply(this,arguments)}if(_(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var o=!1;return a};var D,P={};r.debuglog=function(t){if(_(D)&&(D=e.env.NODE_DEBUG||\\\"\\\"),t=t.toUpperCase(),!P[t])if(new RegExp(\\\"\\\\\\\\b\\\"+t+\\\"\\\\\\\\b\\\",\\\"i\\\").test(D)){var n=e.pid;P[t]=function(){var e=r.format.apply(r,arguments);console.error(\\\"%s %d: %s\\\",t,n,e)}}else P[t]=function(){};return P[t]},r.inspect=i,i.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]},i.styles={special:\\\"cyan\\\",number:\\\"yellow\\\",boolean:\\\"yellow\\\",undefined:\\\"grey\\\",null:\\\"bold\\\",string:\\\"green\\\",date:\\\"magenta\\\",regexp:\\\"red\\\"},r.isArray=p,r.isBoolean=m,r.isNull=v,r.isNullOrUndefined=g,r.isNumber=y,r.isString=b,r.isSymbol=x,r.isUndefined=_,r.isRegExp=w,r.isObject=M,r.isDate=k,r.isError=A,r.isFunction=T,r.isPrimitive=S,r.isBuffer=t(\\\"./support/isBuffer\\\");var O=[\\\"Jan\\\",\\\"Feb\\\",\\\"Mar\\\",\\\"Apr\\\",\\\"May\\\",\\\"Jun\\\",\\\"Jul\\\",\\\"Aug\\\",\\\"Sep\\\",\\\"Oct\\\",\\\"Nov\\\",\\\"Dec\\\"];r.log=function(){console.log(\\\"%s - %s\\\",C(),r.format.apply(r,arguments))},r.inherits=t(\\\"inherits\\\"),r._extend=function(t,e){if(!e||!M(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\\\":547,_process:486,inherits:546}],549:[function(t,e,r){e.exports.VectorTile=t(\\\"./lib/vectortile.js\\\"),e.exports.VectorTileFeature=t(\\\"./lib/vectortilefeature.js\\\"),e.exports.VectorTileLayer=t(\\\"./lib/vectortilelayer.js\\\")},{\\\"./lib/vectortile.js\\\":550,\\\"./lib/vectortilefeature.js\\\":551,\\\"./lib/vectortilelayer.js\\\":552}],550:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.layers=t.readFields(i,{},e)}function i(t,e,r){if(3===t){var n=new a(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var a=t(\\\"./vectortilelayer\\\");e.exports=n},{\\\"./vectortilelayer\\\":552}],551:[function(t,e,r){\\\"use strict\\\";function n(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(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?a(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}function o(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=s(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}function s(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var l=t(\\\"point-geometry\\\");e.exports=n,n.types=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error(\\\"unknown command \\\"+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos<e;){if(!n){var c=t.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error(\\\"unknown command \\\"+r)}return[o,l,s,u]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+c)/l;t[e]=[360*(r.x+u)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,s,l=this.extent*Math.pow(2,r),u=this.extent*t,c=this.extent*e,h=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var d=[];for(a=0;a<h.length;a++)d[a]=h[a][0];h=d,i(h);break;case 2:for(a=0;a<h.length;a++)i(h[a]);break;case 3:for(h=o(h),a=0;a<h.length;a++)for(s=0;s<h[a].length;s++)i(h[a][s])}1===h.length?h=h[0]:f=\\\"Multi\\\"+f;var p={type:\\\"Feature\\\",geometry:{type:f,coordinates:h},properties:this.properties};return\\\"id\\\"in this&&(p.id=this.id),p}},{\\\"point-geometry\\\":483}],552:[function(t,e,r){\\\"use strict\\\";function n(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(i,this,e),this.length=this._features.length}function i(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(a(r))}function a(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}var o=t(\\\"./vectortilefeature.js\\\");e.exports=n,n.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 o(this._pbf,e,this.extent,this._keys,this._values)}},{\\\"./vectortilefeature.js\\\":551}],553:[function(t,e,r){\\\"use strict\\\";function n(t,e){return\\\"object\\\"==typeof e&&null!==e||(e={}),i(t,e.canvas||a,e.context||o,e)}e.exports=n;var i=t(\\\"./lib/vtext\\\"),a=null,o=null;\\\"undefined\\\"!=typeof document&&(a=document.createElement(\\\"canvas\\\"),a.width=8192,a.height=1024,o=a.getContext(\\\"2d\\\"))},{\\\"./lib/vtext\\\":554}],554:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=e.textAlign||\\\"start\\\",i=e.textBaseline||\\\"alphabetic\\\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var u=t[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var h=0;switch(n){case\\\"center\\\":h=-.5*(a[0]+o[0]);break;case\\\"right\\\":case\\\"end\\\":h=-o[0];break;case\\\"left\\\":case\\\"start\\\":h=-a[0];break;default:throw new Error(\\\"vectorize-text: Unrecognized textAlign: '\\\"+n+\\\"'\\\")}var f=0;switch(i){case\\\"hanging\\\":case\\\"top\\\":f=-a[1];break;case\\\"middle\\\":f=-.5*(a[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: '\\\"+i+\\\"'\\\")}var d=1/r;return\\\"lineHeight\\\"in e?d*=+e.lineHeight:\\\"width\\\"in e?d=e.width/(o[0]-a[0]):\\\"height\\\"in e&&(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+h),d*(t[1]+f)]})}function i(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i>8192)throw new Error(\\\"vectorize-text: String too long (sorry, this will get fixed later)\\\");var a=3*n;t.height<a&&(t.height=a),e.fillStyle=\\\"#000\\\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\\\"#fff\\\",e.fillText(r,n,2*n);var o=e.getImageData(0,0,i,a);return c(o.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}function a(t,e){var r=u(t,128);return e?h(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function o(t,e,r,i){var o=a(t,i),s=n(o.positions,e,r),l=o.edges,u=\\\"ccw\\\"===e.orientation;if(f(s,l),e.polygons||e.polygon||e.polyline){for(var c=p(l,s),h=new Array(c.length),m=0;m<c.length;++m){for(var v=c[m],g=new Array(v.length),y=0;y<v.length;++y){for(var b=v[y],x=new Array(b.length),_=0;_<b.length;++_)x[_]=s[b[_]].slice();u&&x.reverse(),g[y]=x}h[m]=g}return h}return e.triangles||e.triangulate||e.triangle?{cells:d(s,l,{delaunay:!1,exterior:!1,interior:!0}),positions:s}:{edges:l,positions:s}}function s(t,e,r){try{return o(t,e,r,!0)}catch(t){}try{return o(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function l(t,e,r,n){var a=n.size||64,o=n.font||\\\"normal\\\";return r.font=a+\\\"px \\\"+o,r.textAlign=\\\"start\\\",r.textBaseline=\\\"alphabetic\\\",r.direction=\\\"ltr\\\",s(i(e,r,t,a),n,a)}e.exports=l,e.exports.processPixels=s;var u=t(\\\"surface-nets\\\"),c=t(\\\"ndarray\\\"),h=t(\\\"simplify-planar-graph\\\"),f=t(\\\"clean-pslg\\\"),d=t(\\\"cdt2d\\\"),p=t(\\\"planar-graph-to-polyline\\\")},{cdt2d:78,\\\"clean-pslg\\\":88,ndarray:466,\\\"planar-graph-to-polyline\\\":482,\\\"simplify-planar-graph\\\":522,\\\"surface-nets\\\":530}],555:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(a(t.layers[r]));var n=new c;return h.tile.write({layers:e},n),n.finish()}function i(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})}function a(t){for(var e={name:t.name||\\\"\\\",version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},i=0;i<t.length;i++){var a=t.feature(i);a.geometry=l(a.loadGeometry());var o=[];for(var s in a.properties){var c=r[s];void 0===c&&(e.keys.push(s),c=e.keys.length-1,r[s]=c);var h=u(a.properties[s]),f=n[h.key];void 0===f&&(e.values.push(h),f=e.values.length-1,n[h.key]=f),o.push(c),o.push(f)}a.tags=o,e.features.push(a)}return e}function o(t,e){return(e<<3)+(7&t)}function s(t){return t<<1^t>>31}function l(t){for(var e=[],r=0,n=0,i=t.length,a=0;a<i;a++){var l=t[a];e.push(o(1,1));for(var u=0;u<l.length;u++){1===u&&e.push(o(2,l.length-1));var c=l[u].x-r,h=l[u].y-n;e.push(s(c),s(h)),r+=c,n+=h}}return e}function u(t){var e,r=typeof t;return\\\"string\\\"===r?e={string_value:t}:\\\"boolean\\\"===r?e={bool_value:t}:\\\"number\\\"===r?e=t%1!=0?{double_value:t}:t<0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t}),e.key=r+\\\":\\\"+t,e}var c=t(\\\"pbf\\\"),h=t(\\\"./vector-tile-pb\\\"),f=t(\\\"./lib/geojson_wrapper\\\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=i,e.exports.GeoJSONWrapper=f},{\\\"./lib/geojson_wrapper\\\":556,\\\"./vector-tile-pb\\\":557,pbf:477}],556:[function(t,e,r){\\\"use strict\\\";function n(t){this.features=t,this.length=t.length}function i(t){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=4096}var a=t(\\\"point-geometry\\\"),o=t(\\\"vector-tile\\\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"point-geometry\\\":483,\\\"vector-tile\\\":549}],557:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t.readFields(i,{layers:[]},e)}function i(t,e,r){3===t&&e.layers.push(f(r,r.readVarint()+r.pos))}function a(t,e){var r;if(void 0!==t.layers)for(r=0;r<t.layers.length;r++)e.writeMessage(3,p,t.layers[r])}function o(t,e){return t.readFields(s,{},e)}function s(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&&(e.bool_value=r.readBoolean())}function l(t,e){void 0!==t.string_value&&e.writeStringField(1,t.string_value),void 0!==t.float_value&&e.writeFloatField(2,t.float_value),void 0!==t.double_value&&e.writeDoubleField(3,t.double_value),void 0!==t.int_value&&e.writeVarintField(4,t.int_value),void 0!==t.uint_value&&e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&&e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&&e.writeBooleanField(7,t.bool_value)}function u(t,e){var r=t.readFields(c,{},e);return void 0===r.type&&(r.type=\\\"Unknown\\\"),r}function c(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&&(e.geometry=r.readPackedVarint())}function h(t,e){void 0!==t.id&&e.writeVarintField(1,t.id),void 0!==t.tags&&e.writePackedVarint(2,t.tags),void 0!==t.type&&e.writeVarintField(3,t.type),void 0!==t.geometry&&e.writePackedVarint(4,t.geometry)}function f(t,e){return t.readFields(d,{features:[],keys:[],values:[]},e)}function d(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(u(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(o(r,r.readVarint()+r.pos)):5===t&&(e.extent=r.readVarint())}function p(t,e){void 0!==t.version&&e.writeVarintField(15,t.version),void 0!==t.name&&e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r<t.features.length;r++)e.writeMessage(2,h,t.features[r]);if(void 0!==t.keys)for(r=0;r<t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r<t.values.length;r++)e.writeMessage(4,l,t.values[r]);void 0!==t.extent&&e.writeVarintField(5,t.extent)}var m=r.tile={read:n,write:a};m.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},m.value={read:o,write:l},m.feature={read:u,write:h},m.layer={read:f,write:p}},{}],558:[function(t,e,r){!function(){\\\"use strict\\\";function t(e){e.permitHostObjects___&&e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&&\\\"___\\\"===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(\\\"Not an object: \\\"+t);var e=t[p];if(e&&e.key===t)return e;if(f(t)){e={key:t};try{return h(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||\\\"undefined\\\"==typeof console||(y=!0,console.warn(\\\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\\\"))}if(\\\"undefined\\\"==typeof ses||!ses.ok||ses.ok()){\\\"undefined\\\"!=typeof ses&&(ses.weakMapPermitHostObjects=t);var o=!1;if(\\\"function\\\"==typeof WeakMap){var s=WeakMap;if(\\\"undefined\\\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var l=new s,u=Object.freeze({});if(l.set(u,1),1===l.get(u))return void(e.exports=WeakMap);o=!0}}var c=(Object.prototype.hasOwnProperty,Object.getOwnPropertyNames),h=Object.defineProperty,f=Object.isExtensible,d=\\\"weakmap:\\\",p=d+\\\"ident:\\\"+Math.random()+\\\"___\\\";if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto.getRandomValues&&\\\"function\\\"==typeof ArrayBuffer&&\\\"function\\\"==typeof Uint8Array){var m=new ArrayBuffer(25),v=new Uint8Array(m);crypto.getRandomValues(v),p=d+\\\"rand:\\\"+Array.prototype.map.call(v,function(t){return(t%36).toString(36)}).join(\\\"\\\")+\\\"___\\\"}if(h(Object,\\\"getOwnPropertyNames\\\",{value:function(t){return c(t).filter(r)}}),\\\"getPropertyNames\\\"in Object){var g=Object.getPropertyNames;h(Object,\\\"getPropertyNames\\\",{value:function(t){return g(t).filter(r)}})}!function(){var t=Object.freeze;h(Object,\\\"freeze\\\",{value:function(e){return n(e),t(e)}});var e=Object.seal;h(Object,\\\"seal\\\",{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;h(Object,\\\"preventExtensions\\\",{value:function(t){return n(t),r(t)}})}();var y=!1,b=0,x=function(){function t(t,e){var r,i=n(t);return i?u in i?i[u]:e:(r=s.indexOf(t),r>=0?l[r]:e)}function e(t){var e=n(t);return e?u in e:s.indexOf(t)>=0}function r(t,e){var r,i=n(t);return i?i[u]=e:(r=s.indexOf(t),r>=0?l[r]=e:(r=s.length,l[r]=e,s[r]=t)),this}function o(t){var e,r,i=n(t);return i?u in i&&delete i[u]:!((e=s.indexOf(t))<0)&&(r=s.length-1,s[e]=void 0,l[e]=l[r],s[e]=s[r],s.length=r,l.length=r,!0)}this instanceof x||a();var s=[],l=[],u=b++;return Object.create(x.prototype,{get___:{value:i(t)},has___:{value:i(e)},set___:{value:i(r)},delete___:{value:i(o)}})};x.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 s?function(){function r(){function e(t,e){return c?u.has(t)?u.get(t):c.get___(t,e):u.get(t,e)}function r(t){return u.has(t)||!!c&&c.has___(t)}function n(t){var e=!!u.delete(t);return c?c.delete___(t)||e:e}this instanceof x||a()\\n\",\n       \";var l,u=new s,c=void 0,h=!1;return l=o?function(t,e){return u.set(t,e),u.has(t)||(c||(c=new x),c.set(t,e)),this}:function(t,e){if(h)try{u.set(t,e)}catch(r){c||(c=new x),c.set___(t,e)}else u.set(t,e);return this},Object.create(x.prototype,{get___:{value:i(e)},has___:{value:i(r)},set___:{value:i(l)},delete___:{value:i(n)},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(\\\"bogus call to permitHostObjects___\\\");h=!0})}})}o&&\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),r.prototype=x.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,\\\"constructor\\\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),e.exports=x)}}()},{}],559:[function(t,e,r){function n(){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:i(e,t)}}var i=t(\\\"./hidden-store.js\\\");e.exports=n},{\\\"./hidden-store.js\\\":560}],560:[function(t,e,r){function n(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}e.exports=n},{}],561:[function(t,e,r){function n(){var t=i();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}}}var i=t(\\\"./create-store.js\\\");e.exports=n},{\\\"./create-store.js\\\":559}],562:[function(t,e,r){var n=t(\\\"get-canvas-context\\\");e.exports=function(t){return n(\\\"webgl\\\",t)}},{\\\"get-canvas-context\\\":146}],563:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){v[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];v[n]||r(n)}}for(var s,l=Object.keys(a),u=0,c=l.length;u<c;u++){var h=l[u],f=a[h].exports;if(f===t||f&&f.default===t){s=h;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var d={},u=0,c=l.length;u<c;u++){var h=l[u];d[h]=h}i[s]=[Function([\\\"require\\\",\\\"module\\\",\\\"exports\\\"],\\\"(\\\"+t+\\\")(self)\\\"),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[s]=s,i[p]=[Function([\\\"require\\\"],\\\"var f = require(\\\"+ o(s) +\\\");(f.default ? f.default : f)(self);\\\"),m];var v={};r(p);var g=\\\"(\\\"+n+\\\")({\\\"+Object.keys(v).map(function(t){return o(t)+\\\":[\\\"+i[t][0]+\\\",\\\"+o(i[t][1])+\\\"]\\\"}).join(\\\",\\\")+\\\"},{},[\\\"+o(p)+\\\"])\\\",y=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([g],{type:\\\"text/javascript\\\"});if(e&&e.bare)return b;var x=y.createObjectURL(b),_=new Worker(x);return _.objectURL=x,_}},{}],564:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],565:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.WhooTS=e.WhooTS||{})}(this,function(t){function e(t,e,n,i,a,o){return o=o||{},t+\\\"?\\\"+[\\\"bbox=\\\"+r(n,i,a),\\\"format=\\\"+(o.format||\\\"image/png\\\"),\\\"service=\\\"+(o.service||\\\"WMS\\\"),\\\"version=\\\"+(o.version||\\\"1.1.1\\\"),\\\"request=\\\"+(o.request||\\\"GetMap\\\"),\\\"srs=\\\"+(o.srs||\\\"EPSG:3857\\\"),\\\"width=\\\"+(o.width||256),\\\"height=\\\"+(o.height||256),\\\"layers=\\\"+e].join(\\\"&\\\")}function r(t,e,r){e=Math.pow(2,r)-e-1;var i=n(256*t,256*e,r),a=n(256*(t+1),256*(e+1),r);return i[0]+\\\",\\\"+i[1]+\\\",\\\"+a[0]+\\\",\\\"+a[1]}function n(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]}t.getURL=e,t.getTileBBox=r,t.getMercCoords=n,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],566:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e,r,n){var i,a;if(\\\"object\\\"==typeof t)i=t,a=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\\\");i={year:t,month:e,day:r},a=n||{}}var o=p[i.year-p[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=p[a.year-p[0]];var l,u=o>>9&4095,c=o>>5&15,h=31&o,f=new Date(u,c-1,h),m=new Date(i.year,i.month-1,i.day);l=Math.round((m-f)/864e5);var v,g=d[a.year-d[0]];for(v=0;v<13;v++){var y=g&1<<12-v?30:29;if(l<y)break;l-=y}var b=g>>13;return!b||v<b?(a.isIntercalary=!1,a.month=1+v):v===b?(a.isIntercalary=!0,a.month=v):(a.isIntercalary=!1,a.month=v),a.day=1+l,a}function a(t,e,r,n,i){var a,o;if(\\\"object\\\"==typeof t)o=t,a=e||{};else{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\\\");var s;\\\"object\\\"==typeof n?(s=!1,a=n):(s=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:s}}var l;l=o.day-1;var u,c=d[o.year-d[0]],h=c>>13;u=h?o.month>h?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var f=0;f<u;f++){l+=c&1<<12-f?30:29}var m=p[o.year-p[0]],v=m>>9&4095,g=m>>5&15,y=31&m,b=new Date(v,g-1,y+l);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}var o=t(\\\"../main\\\"),s=t(\\\"object-assign\\\"),l=o.instance();n.prototype=new o.baseCalendar,s(n.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(c);return r?r[0]:\\\"\\\"}var n=this._validateYear(t),i=t.month(),a=\\\"\\\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\\\"0\\\"+a),this.isIntercalaryMonth(n,i)&&(a+=\\\"i\\\"),a},monthNames:function(t){if(\\\"string\\\"==typeof t){var e=t.match(h);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=this.toChineseMonth(r,n),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\\\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\\\"\\\\u95f0\\\"+a),a},monthNamesShort:function(t){if(\\\"string\\\"==typeof t){var e=t.match(f);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=this.toChineseMonth(r,n),a=[\\\"\\\\u4e00\\\",\\\"\\\\u4e8c\\\",\\\"\\\\u4e09\\\",\\\"\\\\u56db\\\",\\\"\\\\u4e94\\\",\\\"\\\\u516d\\\",\\\"\\\\u4e03\\\",\\\"\\\\u516b\\\",\\\"\\\\u4e5d\\\",\\\"\\\\u5341\\\",\\\"\\\\u5341\\\\u4e00\\\",\\\"\\\\u5341\\\\u4e8c\\\"][i-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 i=e[e.length-1];r=\\\"i\\\"===i||\\\"I\\\"===i}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 n=this.intercalaryMonth(t);if(r&&e!==n||e<1||e>12)throw o.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return n?!r&&e<=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(t=t.year(),e=t.month());var r=this.intercalaryMonth(t),n=r?12:11;if(e<0||e>n)throw o.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),d[t-d[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(t=t.year(),e=t.month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var n,i=this._validateYear(t,o.local.invalidyear),a=p[i-p[0]],s=a>>9&4095,u=a>>5&15,c=31&a;n=l.newDate(s,u,c),n.add(4-(n.dayOfWeek()||7),\\\"d\\\");var h=this.toJD(t,e,r)-n.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=d[t-d[0]];if(e>(r>>13?12:11))throw o.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 n=this._validate(t,s,r,o.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var i=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),u=a(t,s,r,i);return l.toJD(u.year,u.month,u.day)},fromJD:function(t){var e=l.fromJD(t),r=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(u),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var i=t.year(),a=t.month(),o=this.isIntercalaryMonth(i,a),s=this.toChineseMonth(i,a),l=Object.getPrototypeOf(n.prototype).add.call(this,t,e,r);if(\\\"y\\\"===r){var u=l.year(),c=l.month(),h=this.isIntercalaryMonth(u,s),f=o&&h?this.toMonthIndex(u,s,!0):this.toMonthIndex(u,s,!1);f!==c&&l.month(f)}return l}});var u=/^\\\\s*(-?\\\\d\\\\d\\\\d\\\\d|\\\\d\\\\d)[-\\\\/](\\\\d?\\\\d)([iI]?)[-\\\\/](\\\\d?\\\\d)/m,c=/^\\\\d?\\\\d[iI]?/m,h=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?\\\\u6708/m,f=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?/m;o.calendars.chinese=n;var d=[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],p=[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\\\":580,\\\"object-assign\\\":469}],567:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=e.year()+(e.year()<0?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),t<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),i.calendars.coptic=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],568:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.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,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,i.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 n=this._validate(t,e,r,i.local.invalidDate);return{century:o[Math.floor((n.year()-1)/100)+1]||\\\"\\\"}},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year()+(n.year()<0?1:0),e=n.month(),(r=n.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\\\"};i.calendars.discworld=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],569:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=e.year()+(e.year()<0?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),t<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),i.calendars.ethiopian=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],570:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(\\\"../main\\\"),o=t(\\\"object-assign\\\");n.prototype=new a.baseCalendar,o(n.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,a.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return t=t<0?t+1:t,i(7*t+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,a.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,a.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,a.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===i(this.daysInYear(t),10)?30:9===e&&3===i(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 n=this._validate(t,e,r,a.local.invalidDate);return{yearType:(this.leapYear(n)?\\\"embolismic\\\":\\\"common\\\")+\\\" \\\"+[\\\"deficient\\\",\\\"regular\\\",\\\"complete\\\"][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.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(var s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(var 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 i(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)}}),a.calendars.hebrew=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],571:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t<=0?t+1:t,r+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)}}),i.calendars.islamic=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],572:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=e.year()<0?e.year()+1:e.year();return t%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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.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),r=e+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}}),i.calendars.julian=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],573:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e){return t-e*Math.floor(t/e)}function a(t,e){return i(t-1,e)+1}var o=t(\\\"../main\\\"),s=t(\\\"object-assign\\\");n.prototype=new o.baseCalendar,s(n.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,o.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,o.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(\\\".\\\"),t.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,o.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,o.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate),i=n.toJD(),a=this._toHaab(i),s=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[s[0]-1],tzolkinDay:s[0],tzolkinTrecena:s[1]}},_toHaab:function(t){t-=this.jdEpoch;var e=i(t+8+340,365);return[Math.floor(e/20)+1,i(e,20)]},_toTzolkin:function(t){return t-=this.jdEpoch,[a(t+20,20),a(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate);return n.day()+20*n.month()+360*n.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)}}),o.calendars.mayan=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],574:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar;var o=i.instance(\\\"gregorian\\\");a(n.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,i.local.invalidYear||i.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,i.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 n=this._validate(t,e,r,i.local.invalidMonth),t=n.year();t<0&&t++;for(var a=n.day(),s=1;s<n.month();s++)a+=this.daysPerMonth[s-1];return a+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)}}),i.calendars.nanakshahi=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],575:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear).year(),void 0===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,i.local.invalidMonth),void 0===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 n=this._validate(t,e,r,i.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var a=i.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,\\n\",\n       \"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+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,\\\"d\\\").toJD()},fromJD:function(t){var e=i.instance(),r=e.fromJD(t),n=r.year(),a=r.dayOfYear(),o=n+56;this._createMissingCalendarData(o);for(var s=9,l=this.NEPALI_CALENDAR_DATA[o][0],u=this.NEPALI_CALENDAR_DATA[o][s]-l+1;a>u;)s++,s>12&&(s=1,o++),u+=this.NEPALI_CALENDAR_DATA[o][s];var c=this.NEPALI_CALENDAR_DATA[o][s]-(u-a);return this.newDate(o,s,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===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]}}),i.calendars.nepali=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],576:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(\\\"../main\\\"),o=t(\\\"object-assign\\\");n.prototype=new a.baseCalendar,o(n.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,a.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,a.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 n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var o=t-(t>=0?474:473),s=474+i(o,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(o/2820)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=t-this.toJD(475,1,1),r=Math.floor(e/1029983),n=i(e,1029983),a=2820;if(1029982!==n){var o=Math.floor(n/366),s=i(n,366);a=Math.floor((2134*o+2816*s+2815)/1028522)+o+1}var l=a+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),h=t-this.toJD(l,c,1)+1;return this.newDate(l,c,h)}}),a.calendars.persian=n,a.calendars.jalali=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],577:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\"),o=i.instance();n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate),t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.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)}}),i.calendars.taiwan=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],578:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\"),o=i.instance();n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate),t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.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)}}),i.calendars.thai=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],579:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.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,i.local.invalidMonth),n=r.toJD()-24e5+.5,a=0,s=0;s<o.length;s++){if(o[s]>n)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 n=this._validate(t,e,r,i.local.invalidDate),a=12*(n.year()-1)+n.month()-15292;return n.day()+o[a-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 i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var n=i.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(t=null!=t.year?t.year:t,n=t>=1276&&t<=1500),n},_validate:function(t,e,r,n){var a=i.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw n.replace(/\\\\{0\\\\}/,this.local.name);return a}}),i.calendars.ummalqura=n;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\\\":580,\\\"object-assign\\\":469}],580:[function(t,e,r){function n(){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(u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate).replace(/\\\\{0\\\\}/,this._calendar.local.name)}function a(t,e){return t=\\\"\\\"+t,\\\"000000\\\".substring(0,e-t.length)+t}function o(){this.shortYearCutoff=\\\"+10\\\"}function s(t){this.local=this.regionalOptions[t]||this.regionalOptions[\\\"\\\"]}var l=t(\\\"object-assign\\\");l(n.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,i){return n=(null!=t&&t.year?t.calendar():\\\"string\\\"==typeof n?this.instance(n,i):n)||this.instance(),n.newDate(t,e,r)},substituteDigits:function(t){\\n\",\n       \"return function(e){return(e+\\\"\\\").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=\\\"\\\",i=0;r>0;){var a=r%10;n=(0===a?\\\"\\\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),l(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(u.local.invalidDate||u.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(u.local.differentCalendars||u.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?\\\"-\\\":\\\"\\\")+a(Math.abs(this.year()),4)+\\\"-\\\"+a(this.month(),2)+\\\"-\\\"+a(this.day(),2)}}),l(o.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.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,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear);return(e.year()<0?\\\"-\\\":\\\"\\\")+a(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.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,u.local.invalidMonth||u.regionalOptions[\\\"\\\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.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,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.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),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\\\"y\\\"===r?e:0),o=t.monthOfYear()+(\\\"m\\\"===r?e:0),i=t.day();\\\"y\\\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\\\"m\\\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];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 i={y:[1,1,\\\"y\\\"],m:[1,this.monthsInYear(-1),\\\"m\\\"],w:[this.daysInWeek(),this.daysInYear(-1),\\\"d\\\"],d:[1,this.daysInYear(-1),\\\"d\\\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);var n=\\\"y\\\"===r?e:t.year(),i=\\\"m\\\"===r?e:t.month(),a=\\\"d\\\"===r?e:t.day();return\\\"y\\\"!==r&&\\\"m\\\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);return u.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(u.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(u.local.differentCalendars||u.regionalOptions[\\\"\\\"].differentCalendars).replace(/\\\\{0\\\\}/,this.local.name).replace(/\\\\{1\\\\}/,t.calendar().local.name);return t}try{if(1===++this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\\\\{0\\\\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),s.prototype=new o,l(s.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,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear),t=e.year()+(e.year()<0?1:0);return t%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,u.local.invalidMonth||u.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,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25);r=e+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=e.exports=new n;u.cdate=i,u.baseCalendar=o,u.calendars.gregorian=s},{\\\"object-assign\\\":469}],581:[function(t,e,r){var n=t(\\\"object-assign\\\"),i=t(\\\"./main\\\");n(i.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\\\"}),i.local=i.regionalOptions[\\\"\\\"],n(i.cdate.prototype,{formatDate:function(t,e){return\\\"string\\\"!=typeof t&&(e=t,t=\\\"\\\"),this._calendar.formatDate(t||\\\"\\\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.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 i.local.invalidFormat||i.regionalOptions[\\\"\\\"].invalidFormat;t=t||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,u=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;v+n<t.length&&t.charAt(v+n)===e;)n++;return v+=n-1,Math.floor(n/(r||1))>1}),c=function(t,e,r,n){var i=\\\"\\\"+e;if(u(t,n))for(;i.length<r;)i=\\\"0\\\"+i;return i},h=this,f=this.local.digits,d=function(t){return r.localNumbers&&f?f(t):t},p=\\\"\\\",m=!1,v=0;v<t.length;v++)if(m)\\\"'\\\"!==t.charAt(v)||u(\\\"'\\\")?p+=t.charAt(v):m=!1;else switch(t.charAt(v)){case\\\"d\\\":p+=d(c(\\\"d\\\",e.day(),2));break;case\\\"D\\\":p+=function(t,e,r,n){return u(t)?n[e]:r[e]}(\\\"D\\\",e.dayOfWeek(),n,a);break;case\\\"o\\\":p+=c(\\\"o\\\",e.dayOfYear(),3);break;case\\\"w\\\":p+=c(\\\"w\\\",e.weekOfYear(),2);break;case\\\"m\\\":p+=function(t){return\\\"function\\\"==typeof o?o.call(h,t,u(\\\"m\\\")):d(c(\\\"m\\\",t.month(),2))}(e);break;case\\\"M\\\":p+=function(t,e){return e?\\\"function\\\"==typeof l?l.call(h,t):l[t.month()-h.minMonth]:\\\"function\\\"==typeof s?s.call(h,t):s[t.month()-h.minMonth]}(e,u(\\\"M\\\"));break;case\\\"y\\\":p+=u(\\\"y\\\",2)?e.year():(e.year()%100<10?\\\"0\\\":\\\"\\\")+e.year()%100;break;case\\\"Y\\\":u(\\\"Y\\\",2),p+=e.formatYear();break;case\\\"J\\\":p+=e.toJD();break;case\\\"@\\\":p+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\\\"!\\\":p+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\\\"'\\\":u(\\\"'\\\")?p+=\\\"'\\\":m=!0;break;default:p+=t.charAt(v)}return p},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[\\\"\\\"].invalidArguments;if(\\\"\\\"===(e=\\\"object\\\"==typeof e?e.toString():e+\\\"\\\"))return null;t=t||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=\\\"string\\\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,c=r.monthNames||this.local.monthNames,h=-1,f=-1,d=-1,p=-1,m=-1,v=!1,g=!1,y=function(e,r){for(var n=1;k+n<t.length&&t.charAt(k+n)===e;)n++;return k+=n-1,Math.floor(n/(r||1))>1},b=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\\\"oyYJ@!\\\".indexOf(t)+1],o=new RegExp(\\\"^-?\\\\\\\\d{1,\\\"+a+\\\"}\\\"),s=e.substring(M).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\\\"\\\"].missingNumberAt).replace(/\\\\{0\\\\}/,M);return M+=s[0].length,parseInt(s[0],10)},x=this,_=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(M,o[s].length).toLowerCase()===o[s].toLowerCase())return M+=o[s].length,s+x.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[\\\"\\\"].unknownNameAt).replace(/\\\\{0\\\\}/,M)},w=function(){if(e.charAt(M)!==t.charAt(k))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\\\"\\\"].unexpectedLiteralAt).replace(/\\\\{0\\\\}/,M);M++},M=0,k=0;k<t.length;k++)if(g)\\\"'\\\"!==t.charAt(k)||y(\\\"'\\\")?w():g=!1;else switch(t.charAt(k)){case\\\"d\\\":p=b(\\\"d\\\");break;case\\\"D\\\":_(\\\"D\\\",a,o);break;case\\\"o\\\":m=b(\\\"o\\\");break;case\\\"w\\\":b(\\\"w\\\");break;case\\\"m\\\":d=function(){if(\\\"function\\\"==typeof l){y(\\\"m\\\");var t=l.call(x,e.substring(M));return M+=t.length,t}return b(\\\"m\\\")}();break;case\\\"M\\\":d=function(){if(\\\"function\\\"==typeof c){var t=y(\\\"M\\\")?c.call(x,e.substring(M)):u.call(x,e.substring(M));return M+=t.length,t}return _(\\\"M\\\",u,c)}();break;case\\\"y\\\":var A=k;v=!y(\\\"y\\\",2),k=A,f=b(\\\"y\\\",2);break;case\\\"Y\\\":f=b(\\\"Y\\\",2);break;case\\\"J\\\":h=b(\\\"J\\\")+.5,\\\".\\\"===e.charAt(M)&&(M++,b(\\\"J\\\"));break;case\\\"@\\\":h=b(\\\"@\\\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\\\"!\\\":h=b(\\\"!\\\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\\\"*\\\":M=e.length;break;case\\\"'\\\":y(\\\"'\\\")?w():g=!0;break;default:w()}if(M<e.length)throw i.local.unexpectedText||i.regionalOptions[\\\"\\\"].unexpectedText;if(-1===f?f=this.today().year():f<100&&v&&(f+=-1===n?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),\\\"string\\\"==typeof d&&(d=s.call(this,f,d)),m>-1){d=1,p=m;for(var T=this.daysInMonth(f,d);p>T;T=this.daysInMonth(f,d))d++,p-=T}return h>-1?this.fromJD(h):this.newDate(f,d,p)},determineDate:function(t,e,r,n,i){r&&\\\"object\\\"!=typeof r&&(i=n,n=r,r=null),\\\"string\\\"!=typeof n&&(i=n,n=\\\"\\\");var a=this;return e=e?e.newDate():null,t=null==t?e:\\\"string\\\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}t=t.toLowerCase();for(var e=(t.match(/^c/)&&r?r.newDate():null)||a.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:a.today().add(t,\\\"d\\\"):a.newDate(t)}})},{\\\"./main\\\":580,\\\"object-assign\\\":469}],582:[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\\\":109}],583:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=[];return e=+e||0,i(t.hi(t.shape[0]-1),r,e),r}e.exports=n;var i=t(\\\"./lib/zc-core\\\")},{\\\"./lib/zc-core\\\":582}],584:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./common_defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,o,r,i)}s=s||{},l=l||{};var c=u(\\\"visible\\\",!l.itemIsNotPlainObject),h=u(\\\"clicktoshow\\\");if(!c&&!h)return e;a(t,e,r,u);for(var f=e.showarrow,d=[\\\"x\\\",\\\"y\\\"],p=[-10,-30],m={_fullLayout:r},v=0;v<2;v++){var g=d[v],y=i.coerceRef(t,e,m,g,\\\"\\\",\\\"paper\\\");if(i.coercePosition(e,m,u,y,g,.5),f){var b=\\\"a\\\"+g,x=i.coerceRef(t,e,m,b,\\\"pixel\\\");\\\"pixel\\\"!==x&&x!==y&&(x=e[b]=\\\"pixel\\\");var _=\\\"pixel\\\"===x?p[v]:.4;i.coercePosition(e,m,u,x,b,_)}u(g+\\\"anchor\\\"),u(g+\\\"shift\\\")}if(n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),f&&n.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"]),h){var w=u(\\\"xclick\\\"),M=u(\\\"yclick\\\");e._xclick=void 0===w?e.x:i.cleanPosition(w,m,e.xref),e._yclick=void 0===M?e.y:i.cleanPosition(M,m,e.yref)}return e}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":586,\\\"./common_defaults\\\":589}],585:[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},{path:\\\"M2,2V-2H-2V2Z\\\",backoff:0}]},{}],586:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./arrow_paths\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/cartesian/constants\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={_isLinkedToArray:\\\"annotation\\\",visible:{valType:\\\"boolean\\\",dflt:!0},text:{valType:\\\"string\\\"},textangle:{valType:\\\"angle\\\",dflt:0},font:o({},i,{}),width:{valType:\\\"number\\\",min:1,dflt:null},height:{valType:\\\"number\\\",min:1,dflt:null},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},align:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"center\\\"},valign:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"middle\\\"},bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},bordercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},borderpad:{valType:\\\"number\\\",min:0,dflt:1},borderwidth:{valType:\\\"number\\\",min:0,dflt:1},showarrow:{valType:\\\"boolean\\\",dflt:!0},arrowcolor:{valType:\\\"color\\\"},arrowhead:{valType:\\\"integer\\\",min:0,max:n.length,dflt:1},arrowsize:{valType:\\\"number\\\",min:.3,dflt:1},arrowwidth:{valType:\\\"number\\\",min:.1},standoff:{valType:\\\"number\\\",min:0,dflt:0},ax:{valType:\\\"any\\\"},ay:{valType:\\\"any\\\"},axref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.x.toString()]},ayref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.y.toString()]},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.x.toString()]},x:{valType:\\\"any\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"auto\\\"},xshift:{valType:\\\"number\\\",dflt:0},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.y.toString()]},y:{valType:\\\"any\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\"},yshift:{valType:\\\"number\\\",dflt:0},clicktoshow:{valType:\\\"enumerated\\\",values:[!1,\\\"onoff\\\",\\\"onout\\\"],dflt:!1},xclick:{valType:\\\"any\\\"},yclick:{valType:\\\"any\\\"},hovertext:{valType:\\\"string\\\"},hoverlabel:{bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\"},font:o({},i,{})},captureevents:{valType:\\\"boolean\\\"},_deprecated:{ref:{valType:\\\"string\\\"}}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/constants\\\":771,\\\"../../plots/font_attributes\\\":790,\\\"./arrow_paths\\\":585}],587:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t._fullLayout;i.filterVisible(e.annotations).forEach(function(e){var r,n,i=a.getFromId(t,e.xref),o=a.getFromId(t,e.yref),s=3*e.arrowsize*e.arrowwidth||0;i&&i.autorange&&(r=s+e.xshift,n=s-e.xshift,e.axref===e.xref?(a.expand(i,[i.r2c(e.x)],{ppadplus:r,ppadminus:n}),a.expand(i,[i.r2c(e.ax)],{ppadplus:e._xpadplus,ppadminus:e._xpadminus})):a.expand(i,[i.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r),ppadminus:Math.max(e._xpadminus,n)})),o&&o.autorange&&(r=s-e.yshift,n=s+e.yshift,e.ayref===e.yref?(a.expand(o,[o.r2c(e.y)],{ppadplus:r,ppadminus:n}),a.expand(o,[o.r2c(e.ay)],{ppadplus:e._ypadplus,ppadminus:e._ypadminus})):a.expand(o,[o.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r),ppadminus:Math.max(e._ypadminus,n)}))})}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"./draw\\\").draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=!0,s[t.yref]=!0});if(a.list(t).filter(function(t){return t.autorange&&s[t._id]}).length)return i.syncOrAsync([o,n],t)}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./draw\\\":592}],588:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=a(t,e);return r.on.length>0||r.explicitOff.length>0}function i(t,e){var r,n=a(t,e),i=n.on,o=n.off.concat(n.explicitOff),l={};if(i.length||o.length){for(r=0;r<i.length;r++)l[\\\"annotations[\\\"+i[r]+\\\"].visible\\\"]=!0;for(r=0;r<o.length;r++)l[\\\"annotations[\\\"+o[r]+\\\"].visible\\\"]=!1;return s.update(t,{},l)}}function a(t,e){var r,n,i,a,s,l,u,c,h=t._fullLayout.annotations,f=[],d=[],p=[],m=(e||[]).length;for(r=0;r<h.length;r++)if(i=h[r],a=i.clicktoshow){for(n=0;n<m;n++)if(s=e[n],l=s.xaxis,u=s.yaxis,l._id===i.xref&&u._id===i.yref&&l.d2r(s.x)===o(i._xclick,l)&&u.d2r(s.y)===o(i._yclick,u)){c=i.visible?\\\"onout\\\"===a?d:p:f,c.push(r);break}n===m&&i.visible&&\\\"onout\\\"===a&&d.push(r)}return{on:f,off:d,explicitOff:p}}function o(t,e){return\\\"log\\\"===e.type?e.l2r(t):e.d2r(t)}var s=t(\\\"../../plotly\\\");e.exports={hasClickToShow:n,onClick:i}},{\\\"../../plotly\\\":761}],589:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../color\\\");e.exports=function(t,e,r,a){a(\\\"opacity\\\");var o=a(\\\"bgcolor\\\"),s=a(\\\"bordercolor\\\"),l=i.opacity(s);a(\\\"borderpad\\\");var u=a(\\\"borderwidth\\\"),c=a(\\\"showarrow\\\");a(\\\"text\\\",c?\\\" \\\":\\\"new text\\\"),a(\\\"textangle\\\"),n.coerceFont(a,\\\"font\\\",r.font),a(\\\"width\\\"),a(\\\"align\\\"),a(\\\"height\\\")&&a(\\\"valign\\\"),c&&(a(\\\"arrowcolor\\\",l?e.bordercolor:i.defaultLine),a(\\\"arrowhead\\\"),a(\\\"arrowsize\\\"),a(\\\"arrowwidth\\\",2*(l&&u||1)),a(\\\"standoff\\\"));var h=a(\\\"hovertext\\\"),f=r.hoverlabel||{};if(h){var d=a(\\\"hoverlabel.bgcolor\\\",f.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),p=a(\\\"hoverlabel.bordercolor\\\",f.bordercolor||i.contrast(d));n.coerceFont(a,\\\"hoverlabel.font\\\",{family:f.font.family,size:f.font.size,color:f.font.color||p})}a(\\\"captureevents\\\",!!h)}},{\\\"../../lib\\\":725,\\\"../color\\\":603}],590:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){function o(t){var r=u[t],o=null;o=s?i(r,e.range):Math.pow(10,r),n(o)||(o=null),a(c+t,o)}e=e||{};var s=\\\"log\\\"===r&&\\\"linear\\\"===e.type,l=\\\"linear\\\"===r&&\\\"log\\\"===e.type;if(s||l)for(var u,c,h=t._fullLayout.annotations,f=e._id.charAt(0),d=0;d<h.length;d++)u=h[d],c=\\\"annotations[\\\"+d+\\\"].\\\",u[f+\\\"ref\\\"]===e._id&&o(f),u[\\\"a\\\"+f+\\\"ref\\\"]===e._id&&o(\\\"a\\\"+f)}},{\\\"../../lib/to_log_range\\\":746,\\\"fast-isnumeric\\\":130}],591:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./annotation_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"annotations\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":763,\\\"./annotation_defaults\\\":584}],592:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t._fullLayout;e._infolayer.selectAll(\\\".annotation\\\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&i(t,r);return l.previousPromises(t)}function i(t,e){var r=t._fullLayout,n=r.annotations[e]||{};a(t,n,e,!1,c.getFromId(t,n.xref),c.getFromId(t,n.yref))}function a(t,e,r,n,i,a){function l(r){return r.call(f.font,F).attr({\\\"text-anchor\\\":{left:\\\"start\\\",right:\\\"end\\\"}[e.align]||\\\"middle\\\"}),p.convertToTspans(r,t,c),r}function c(){function r(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]}var o=j.selectAll(\\\"a\\\");if(1===o.size()&&o.text()===j.text()){C.insert(\\\"a\\\",\\\":first-child\\\").attr({\\\"xlink:xlink:href\\\":o.attr(\\\"xlink:href\\\"),\\\"xlink:xlink:show\\\":o.attr(\\\"xlink:show\\\")}).style({cursor:\\\"pointer\\\"}).node().appendChild(P.node())}var l=C.select(\\\".annotation-text-math-group\\\"),c=!l.empty(),d=f.bBox((c?l:j).node()),y=d.width,L=d.height,I=e.width||y,F=e.height||L,N=Math.round(I+2*D),B=Math.round(F+2*D);e._w=I,e._h=F;for(var U=!1,V=[\\\"x\\\",\\\"y\\\"],H=0;H<V.length;H++){var q,G,Y,X,W,Z=V[H],J=e[Z+\\\"ref\\\"]||Z,K=e[\\\"a\\\"+Z+\\\"ref\\\"],Q={x:i,y:a}[Z],$=(A+(\\\"x\\\"===Z?0:-90))*Math.PI/180,tt=N*Math.cos($),et=B*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+\\\"anchor\\\"],it=e[Z+\\\"shift\\\"]*(\\\"x\\\"===Z?1:-1),at=k[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&&(ot<0||ot>1)&&(K===J?((ot=Q.r2fraction(e[\\\"a\\\"+Z]))<0||ot>1)&&(U=!0):U=!0,U))continue;q=Q._offset+Q.r2p(e[Z]),X=.5}else\\\"x\\\"===Z?(Y=e[Z],q=_.l+_.w*Y):(Y=1-e[Z],q=_.t+_.h*Y),X=e.showarrow?.5:Y;if(e.showarrow){at.head=q;var st=e[\\\"a\\\"+Z];W=tt*r(.5,e.xanchor)-et*r(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=W):(at.tail=q+st,G=W+st),at.text=at.tail+W;var lt=x[\\\"x\\\"===Z?\\\"width\\\":\\\"height\\\"];if(\\\"paper\\\"===J&&(at.head=u.constrain(at.head,1,lt-1)),\\\"pixel\\\"===K){var ut=-Math.max(at.tail-3,at.text),ct=Math.min(at.tail+3,at.text)-lt;ut>0?(at.tail+=ut,at.text+=ut):ct>0&&(at.tail-=ct,at.text-=ct)}at.tail+=it,at.head+=it}else W=rt*r(X,nt),G=W,at.text=q+W;at.text+=it,W+=it,G+=it,e[\\\"_\\\"+Z+\\\"padplus\\\"]=rt/2+G,e[\\\"_\\\"+Z+\\\"padminus\\\"]=rt/2-G,e[\\\"_\\\"+Z+\\\"size\\\"]=rt,e[\\\"_\\\"+Z+\\\"shift\\\"]=W}if(U)return void C.remove();var ht=0,ft=0;if(\\\"left\\\"!==e.align&&(ht=(I-y)*(\\\"center\\\"===e.align?.5:1)),\\\"top\\\"!==e.valign&&(ft=(F-L)*(\\\"middle\\\"===e.valign?.5:1)),c)l.select(\\\"svg\\\").attr({x:D+ht-1,y:D+ft}).call(f.setClipUrl,O?M:null);else{var dt=D+ft-d.top,pt=D+ht-d.left;j.call(p.positionText,pt,dt).call(f.setClipUrl,O?M:null)}R.select(\\\"rect\\\").call(f.setRect,D,D,I,F),P.call(f.setRect,z/2,z/2,N-z,B-z),C.call(f.setTranslate,Math.round(k.x.text-N/2),Math.round(k.y.text-B/2)),S.attr({transform:\\\"rotate(\\\"+A+\\\",\\\"+k.x.text+\\\",\\\"+k.y.text+\\\")\\\"});var mt=function(r,o){T.selectAll(\\\".annotation-arrow-g\\\").remove();var l=k.x.head,c=k.y.head,d=k.x.tail+r,p=k.y.tail+o,m=k.x.text+r,y=k.y.text+o,x=u.rotationXYMatrix(A,m,y),M=u.apply2DTransform(x),E=u.apply2DTransform2(x),L=+P.attr(\\\"width\\\"),z=+P.attr(\\\"height\\\"),I=m-.5*L,D=I+L,O=y-.5*z,R=O+z,F=[[I,O,I,R],[I,R,D,R],[D,R,D,O],[D,O,I,O]].map(E);if(!F.reduce(function(t,e){return t^!!u.segmentsIntersect(l,c,l+1e6,c+1e6,e[0],e[1],e[2],e[3])},!1)){F.forEach(function(t){var e=u.segmentsIntersect(d,p,l,c,t[0],t[1],t[2],t[3]);e&&(d=e.x,p=e.y)});var j=e.arrowwidth,N=e.arrowcolor,B=T.append(\\\"g\\\").style({opacity:h.opacity(N)}).classed(\\\"annotation-arrow-g\\\",!0),U=B.append(\\\"path\\\").attr(\\\"d\\\",\\\"M\\\"+d+\\\",\\\"+p+\\\"L\\\"+l+\\\",\\\"+c).style(\\\"stroke-width\\\",j+\\\"px\\\").call(h.stroke,h.rgb(N));if(g(U,e.arrowhead,\\\"end\\\",e.arrowsize,e.standoff),w.annotationPosition&&U.node().parentNode&&!n){var V=l,H=c;if(e.standoff){var q=Math.sqrt(Math.pow(l-d,2)+Math.pow(c-p,2));V+=e.standoff*(d-l)/q,H+=e.standoff*(p-c)/q}var G,Y,X,W=B.append(\\\"path\\\").classed(\\\"annotation-arrow\\\",!0).classed(\\\"anndrag\\\",!0).attr({d:\\\"M3,3H-3V-3H3ZM0,0L\\\"+(d-V)+\\\",\\\"+(p-H),transform:\\\"translate(\\\"+V+\\\",\\\"+H+\\\")\\\"}).style(\\\"stroke-width\\\",j+6+\\\"px\\\").call(h.stroke,\\\"rgba(0,0,0,0)\\\").call(h.fill,\\\"rgba(0,0,0,0)\\\");v.init({element:W.node(),gd:t,prepFn:function(){var t=f.getTranslate(C);Y=t.x,X=t.y,G={},i&&i.autorange&&(G[i._name+\\\".autorange\\\"]=!0),a&&a.autorange&&(G[a._name+\\\".autorange\\\"]=!0)},moveFn:function(t,r){var n=M(Y,X),o=n[0]+t,s=n[1]+r;C.call(f.setTranslate,o,s),G[b+\\\".x\\\"]=i?i.p2r(i.r2p(e.x)+t):e.x+t/_.w,G[b+\\\".y\\\"]=a?a.p2r(a.r2p(e.y)+r):e.y-r/_.h,e.axref===e.xref&&(G[b+\\\".ax\\\"]=i.p2r(i.r2p(e.ax)+t)),e.ayref===e.yref&&(G[b+\\\".ay\\\"]=a.p2r(a.r2p(e.ay)+r)),B.attr(\\\"transform\\\",\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"),S.attr({transform:\\\"rotate(\\\"+A+\\\",\\\"+o+\\\",\\\"+s+\\\")\\\"})},doneFn:function(e){if(e){s.relayout(t,G);var r=document.querySelector(\\\".js-notes-box-panel\\\");r&&r.redraw(r.selectedObj)}}})}}};if(e.showarrow&&mt(0,0),E){var vt,gt;v.init({element:C.node(),gd:t,prepFn:function(){gt=S.attr(\\\"transform\\\"),vt={}},moveFn:function(t,r){var o=\\\"pointer\\\";if(e.showarrow)e.axref===e.xref?vt[b+\\\".ax\\\"]=i.p2r(i.r2p(e.ax)+t):vt[b+\\\".ax\\\"]=e.ax+t,e.ayref===e.yref?vt[b+\\\".ay\\\"]=a.p2r(a.r2p(e.ay)+r):vt[b+\\\".ay\\\"]=e.ay+r,mt(t,r);else{if(n)return;if(i)vt[b+\\\".x\\\"]=e.x+t/i._m;else{var s=e._xsize/_.w,l=e.x+(e._xshift-e.xshift)/_.w-s/2;vt[b+\\\".x\\\"]=v.align(l+t/_.w,s,0,1,e.xanchor)}if(a)vt[b+\\\".y\\\"]=e.y+r/a._m;else{var u=e._ysize/_.h,c=e.y-(e._yshift+e.yshift)/_.h-u/2;vt[b+\\\".y\\\"]=v.align(c-r/_.h,u,0,1,e.yanchor)}i&&a||(o=v.getCursor(i?.5:vt[b+\\\".x\\\"],a?.5:vt[b+\\\".y\\\"],e.xanchor,e.yanchor))}S.attr({transform:\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"+gt}),m(C,o)},doneFn:function(e){if(m(C),e){s.relayout(t,vt);var r=document.querySelector(\\\".js-notes-box-panel\\\");r&&r.redraw(r.selectedObj)}}})}}var y,b,x=t._fullLayout,_=t._fullLayout._size,w=t._context.edits;n?(y=\\\"annotation-\\\"+n,b=n+\\\".annotations[\\\"+r+\\\"]\\\"):(y=\\\"annotation\\\",b=\\\"annotations[\\\"+r+\\\"]\\\"),x._infolayer.selectAll(\\\".\\\"+y+'[data-index=\\\"'+r+'\\\"]').remove();var M=\\\"clip\\\"+x._uid+\\\"_ann\\\"+r;if(!e._input||!1===e.visible)return void o.selectAll(\\\"#\\\"+M).remove();var k={x:{},y:{}},A=+e.textangle||0,T=x._infolayer.append(\\\"g\\\").classed(y,!0).attr(\\\"data-index\\\",String(r)).style(\\\"opacity\\\",e.opacity),S=T.append(\\\"g\\\").classed(\\\"annotation-text-g\\\",!0),E=w[e.showarrow?\\\"annotationTail\\\":\\\"annotationPosition\\\"],L=e.captureevents||w.annotationText||E,C=S.append(\\\"g\\\").style(\\\"pointer-events\\\",L?\\\"all\\\":null).call(m,\\\"default\\\").on(\\\"click\\\",function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:o.event};n&&(i.subplotId=n),t.emit(\\\"plotly_clickannotation\\\",i)});e.hovertext&&C.on(\\\"mouseover\\\",function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();d.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.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(){d.loneUnhover(x._hoverlayer.node())});var z=e.borderwidth,I=e.borderpad,D=z+I,P=C.append(\\\"rect\\\").attr(\\\"class\\\",\\\"bg\\\").style(\\\"stroke-width\\\",z+\\\"px\\\").call(h.stroke,e.bordercolor).call(h.fill,e.bgcolor),O=e.width||e.height,R=x._defs.select(\\\".clips\\\").selectAll(\\\"#\\\"+M).data(O?[0]:[]);R.enter().append(\\\"clipPath\\\").classed(\\\"annclip\\\",!0).attr(\\\"id\\\",M).append(\\\"rect\\\"),R.exit().remove();var F=e.font,j=C.append(\\\"text\\\").classed(\\\"annotation-text\\\",!0).text(e.text);w.annotationText?j.call(p.makeEditable,{delegate:C,gd:t}).call(l).on(\\\"edit\\\",function(r){e.text=r,this.call(l);var n={};n[b+\\\".text\\\"]=e.text,i&&i.autorange&&(n[i._name+\\\".autorange\\\"]=!0),a&&a.autorange&&(n[a._name+\\\".autorange\\\"]=!0),s.relayout(t,n)}):j.call(l)}var o=t(\\\"d3\\\"),s=t(\\\"../../plotly\\\"),l=t(\\\"../../plots/plots\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../plots/cartesian/axes\\\"),h=t(\\\"../color\\\"),f=t(\\\"../drawing\\\"),d=t(\\\"../fx\\\"),p=t(\\\"../../lib/svg_text_utils\\\"),m=t(\\\"../../lib/setcursor\\\"),v=t(\\\"../dragelement\\\"),g=t(\\\"./draw_arrow_head\\\");e.exports={draw:n,drawOne:i,drawRaw:a}},{\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"../fx\\\":644,\\\"./draw_arrow_head\\\":593,d3:121}],593:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"./arrow_paths\\\");e.exports=function(t,e,r,l,u){function c(){t.style(\\\"stroke-dasharray\\\",\\\"0px,100px\\\")}function h(r,i){d.path&&(e>5&&(i=0),n.select(f.parentNode).append(\\\"path\\\").attr({class:t.attr(\\\"class\\\"),d:d.path,transform:\\\"translate(\\\"+r.x+\\\",\\\"+r.y+\\\")rotate(\\\"+180*i/Math.PI+\\\")scale(\\\"+y+\\\")\\\"}).style({fill:b,opacity:x,\\\"stroke-width\\\":0}))}i(l)||(l=1);var f=t.node(),d=s[e||0];\\\"string\\\"==typeof r&&r||(r=\\\"end\\\");var p,m,v,g,y=(o.getPx(t,\\\"stroke-width\\\")||1)*l,b=t.style(\\\"stroke\\\")||a.defaultLine,x=t.style(\\\"stroke-opacity\\\")||1,_=r.indexOf(\\\"start\\\")>=0,w=r.indexOf(\\\"end\\\")>=0,M=d.backoff*y+u;if(\\\"line\\\"===f.nodeName){p={x:+t.attr(\\\"x1\\\"),y:+t.attr(\\\"y1\\\")},m={x:+t.attr(\\\"x2\\\"),y:+t.attr(\\\"y2\\\")};var k=p.x-m.x,A=p.y-m.y;if(v=Math.atan2(A,k),g=v+Math.PI,M){if(M*M>k*k+A*A)return void c();var T=M*Math.cos(v),S=M*Math.sin(v);_&&(p.x-=T,p.y-=S,t.attr({x1:p.x,y1:p.y})),w&&(m.x+=T,m.y+=S,t.attr({x2:m.x,y2:m.y}))}}else if(\\\"path\\\"===f.nodeName){var E=f.getTotalLength(),L=\\\"\\\";if(E<M)return void c();if(_){var C=f.getPointAtLength(0),z=f.getPointAtLength(.1);v=Math.atan2(C.y-z.y,C.x-z.x),p=f.getPointAtLength(Math.min(M,E)),M&&(L=\\\"0px,\\\"+M+\\\"px,\\\")}if(w){var I=f.getPointAtLength(E),D=f.getPointAtLength(E-.1)\\n\",\n       \";if(g=Math.atan2(I.y-D.y,I.x-D.x),m=f.getPointAtLength(Math.max(0,E-M)),M){var P=L?2*M:M;L+=E-P+\\\"px,\\\"+E+\\\"px\\\"}}else L&&(L+=E+\\\"px\\\");L&&t.style(\\\"stroke-dasharray\\\",L)}_&&h(p,v),w&&h(m,g)}},{\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"./arrow_paths\\\":585,d3:121,\\\"fast-isnumeric\\\":130}],594:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\"),i=t(\\\"./click\\\");e.exports={moduleType:\\\"component\\\",name:\\\"annotations\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\\\"./convert_coords\\\")}},{\\\"./attributes\\\":586,\\\"./calc_autorange\\\":587,\\\"./click\\\":588,\\\"./convert_coords\\\":590,\\\"./defaults\\\":591,\\\"./draw\\\":592}],595:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\");e.exports={_isLinkedToArray:\\\"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,arrowsize:n.arrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}},{\\\"../annotations/attributes\\\":586}],596:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=e.fullSceneLayout,n=r.domain,o=e.fullLayout._size,s={pdata:null,type:\\\"linear\\\",autorange:!1,range:[-1/0,1/0]};t._xa={},i.extendFlat(t._xa,s),a.setConvert(t._xa),t._xa._offset=o.l+n.x[0]*o.w,t._xa.l2p=function(){return.5*(1+t.pdata[0]/t.pdata[3])*o.w*(n.x[1]-n.x[0])},t._ya={},i.extendFlat(t._ya,s),a.setConvert(t._ya),t._ya._offset=o.t+(1-n.y[1])*o.h,t._ya.l2p=function(){return.5*(1-t.pdata[1]/t.pdata[3])*o.h*(n.y[1]-n.y[0])}}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t){for(var e=t.fullSceneLayout,r=e.annotations,i=0;i<r.length;i++)n(r[i],t);t.fullLayout._infolayer.selectAll(\\\".annotation-\\\"+t.id).remove()}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766}],597:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,o){function u(r,n){return i.coerce(t,e,l,r,n)}function c(t){var n=t+\\\"axis\\\",i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,u,t,t,.5)}return u(\\\"visible\\\",!o.itemIsNotPlainObject)?(s(t,e,n.fullLayout,u),c(\\\"x\\\"),c(\\\"y\\\"),c(\\\"z\\\"),i.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"]),e.xref=\\\"x\\\",e.yref=\\\"y\\\",e.zref=\\\"z\\\",u(\\\"xanchor\\\"),u(\\\"yanchor\\\"),u(\\\"xshift\\\"),u(\\\"yshift\\\"),e.showarrow&&(e.axref=\\\"pixel\\\",e.ayref=\\\"pixel\\\",u(\\\"ax\\\",-10),u(\\\"ay\\\",-30),i.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"])),e):e}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"../annotations/common_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r){o(t,e,{name:\\\"annotations\\\",handleItemDefaults:n,fullLayout:r.fullLayout})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"../../plots/cartesian/axes\\\":766,\\\"../annotations/common_defaults\\\":589,\\\"./attributes\\\":595}],598:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/draw\\\").drawRaw,i=t(\\\"../../plots/gl3d/project\\\"),a=[\\\"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],u=!1,c=0;c<3;c++){var h=a[c],f=l[h],d=e[h+\\\"axis\\\"],p=d.r2fraction(f);if(p<0||p>1){u=!0;break}}u?t.fullLayout._infolayer.select(\\\".annotation-\\\"+t.id+'[data-index=\\\"'+s+'\\\"]').remove():(l.pdata=i(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\\\":818,\\\"../annotations/draw\\\":592}],599:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"annotations3d\\\",schema:{layout:{\\\"scene.annotations\\\":t(\\\"./attributes\\\")}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),convert:t(\\\"./convert\\\"),draw:t(\\\"./draw\\\")}},{\\\"./attributes\\\":595,\\\"./convert\\\":596,\\\"./defaults\\\":597,\\\"./draw\\\":598}],600:[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\\\":566,\\\"world-calendars/dist/calendars/coptic\\\":567,\\\"world-calendars/dist/calendars/discworld\\\":568,\\\"world-calendars/dist/calendars/ethiopian\\\":569,\\\"world-calendars/dist/calendars/hebrew\\\":570,\\\"world-calendars/dist/calendars/islamic\\\":571,\\\"world-calendars/dist/calendars/julian\\\":572,\\\"world-calendars/dist/calendars/mayan\\\":573,\\\"world-calendars/dist/calendars/nanakshahi\\\":574,\\\"world-calendars/dist/calendars/nepali\\\":575,\\\"world-calendars/dist/calendars/persian\\\":576,\\\"world-calendars/dist/calendars/taiwan\\\":577,\\\"world-calendars/dist/calendars/thai\\\":578,\\\"world-calendars/dist/calendars/ummalqura\\\":579,\\\"world-calendars/dist/main\\\":580,\\\"world-calendars/dist/plus\\\":581}],601:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n,a,o,s,l,u=Math.floor((e+.05)/h)+c,f=i(r).fromJD(u),d=0;-1!==(d=t.indexOf(\\\"%\\\",d));)n=t.charAt(d+1),\\\"0\\\"===n||\\\"-\\\"===n||\\\"_\\\"===n?(o=3,a=t.charAt(d+2),\\\"_\\\"===n&&(n=\\\"-\\\")):(a=n,n=\\\"0\\\",o=2),s=b[a],s?(l=s===y?y:f.formatDate(s[n]),t=t.substr(0,d)+l+t.substr(d+o),d+=l.length):d+=o;return t}function i(t){var e=x[t];return e||(e=x[t]=s.instance(t))}function a(t){return l.extendFlat({},f,{description:t})}function o(t){return\\\"Sets the calendar system to use with `\\\"+t+\\\"` date data.\\\"}var s=t(\\\"./calendars\\\"),l=t(\\\"../../lib\\\"),u=t(\\\"../../constants/numerical\\\"),c=u.EPOCHJD,h=u.ONEDAY,f={valType:\\\"enumerated\\\",values:Object.keys(s.calendars),dflt:\\\"gregorian\\\"},d=function(t,e,r,n){var i={};return i[r]=f,l.coerce(t,e,i,r,n)},p=function(t,e,r,n){for(var i=0;i<r.length;i++)d(t,e,r[i]+\\\"calendar\\\",n.calendar)},m={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\\\"},v={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\\\"},g={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\\\"]},y=\\\"##\\\",b={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:y,w:y,c:{0:\\\"D M d %X yyyy\\\",\\\"-\\\":\\\"D M d %X yyyy\\\"},x:{0:\\\"mm/dd/yyyy\\\",\\\"-\\\":\\\"mm/dd/yyyy\\\"}},x={},_={xcalendar:a(o(\\\"x\\\"))},w=l.extendFlat({},_,{ycalendar:a(o(\\\"y\\\"))}),M=l.extendFlat({},w,{zcalendar:a(o(\\\"z\\\"))}),k=a([\\\"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:w,bar:w,heatmap:w,contour:w,histogram:w,histogram2d:w,histogram2dcontour:w,scatter3d:M,surface:M,mesh3d:M,scattergl:w,ohlc:_,candlestick:_},layout:{calendar:a([\\\"Sets the default calendar system to use for interpreting and\\\",\\\"displaying dates throughout the plot.\\\"].join(\\\" \\\")),\\\"xaxis.calendar\\\":k,\\\"yaxis.calendar\\\":k,\\\"scene.xaxis.calendar\\\":k,\\\"scene.yaxis.calendar\\\":k,\\\"scene.zaxis.calendar\\\":k},transforms:{filter:{valuecalendar:a([\\\"Sets the calendar system to use for `value`, if it is a date.\\\"].join(\\\" \\\")),targetcalendar:a([\\\"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:f,handleDefaults:d,handleTraceDefaults:p,CANONICAL_SUNDAY:v,CANONICAL_TICK:m,DFLTRANGE:g,getCal:i,worldCalFmt:n}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"./calendars\\\":600}],602:[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},{}],603:[function(t,e,r){\\\"use strict\\\";function n(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+\\\")\\\"}var i=t(\\\"tinycolor2\\\"),a=t(\\\"fast-isnumeric\\\"),o=e.exports={},s=t(\\\"./attributes\\\");o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var u=o.background=s.background;o.tinyRGB=function(t){var e=t.toRgb();return\\\"rgb(\\\"+Math.round(e.r)+\\\", \\\"+Math.round(e.g)+\\\", \\\"+Math.round(e.b)+\\\")\\\"},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return\\\"rgba(\\\"+Math.round(r.r)+\\\", \\\"+Math.round(r.g)+\\\", \\\"+Math.round(r.b)+\\\", \\\"+e+\\\")\\\"},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||u).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return i(o).toRgbString()},o.contrast=function(t,e,r){var n=i(t);return 1!==n.getAlpha()&&(n=i(o.combine(t,u))),(n.isDark()?e?n.lighten(e):u:r?n.darken(r):l).toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),\\\"stroke-opacity\\\":r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),\\\"fill-opacity\\\":r.getAlpha()})},o.clean=function(t){if(t&&\\\"object\\\"==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e<s.length;e++)if(i=s[e],a=t[i],\\\"color\\\"===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(\\\"colorscale\\\"===i.substr(i.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&&l&&\\\"object\\\"==typeof l)for(r=0;r<a.length;r++)o.clean(a[r])}else a&&\\\"object\\\"==typeof a&&o.clean(a)}}},{\\\"./attributes\\\":602,\\\"fast-isnumeric\\\":130,tinycolor2:533}],604:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/layout_attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat;e.exports={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:a({},n.ticks,{dflt:\\\"\\\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{valType:\\\"string\\\",dflt:\\\"Click to enter colorscale title\\\"},titlefont:a({},i,{}),titleside:{valType:\\\"enumerated\\\",values:[\\\"right\\\",\\\"top\\\",\\\"bottom\\\"],dflt:\\\"top\\\"}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/layout_attributes\\\":777,\\\"../../plots/font_attributes\\\":790}],605:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/tick_value_defaults\\\"),a=t(\\\"../../plots/cartesian/tick_mark_defaults\\\"),o=t(\\\"../../plots/cartesian/tick_label_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r){function l(t,e){return n.coerce(c,u,s,t,e)}var u=e.colorbar={},c=t.colorbar||{};l(\\\"thickness\\\",\\\"fraction\\\"===l(\\\"thicknessmode\\\")?30/(r.width-r.margin.l-r.margin.r):30),l(\\\"len\\\",\\\"fraction\\\"===l(\\\"lenmode\\\")?1:r.height-r.margin.t-r.margin.b),l(\\\"x\\\"),l(\\\"xanchor\\\"),l(\\\"xpad\\\"),l(\\\"y\\\"),l(\\\"yanchor\\\"),l(\\\"ypad\\\"),n.noneOrAll(c,u,[\\\"x\\\",\\\"y\\\"]),l(\\\"outlinecolor\\\"),l(\\\"outlinewidth\\\"),l(\\\"bordercolor\\\"),l(\\\"borderwidth\\\"),l(\\\"bgcolor\\\"),i(c,u,l,\\\"linear\\\"),o(c,u,l,\\\"linear\\\",{outerTicks:!1,font:r.font,noHover:!0}),a(c,u,l,\\\"linear\\\",{outerTicks:!1,font:r.font,noHover:!0}),l(\\\"title\\\"),n.coerceFont(l,\\\"titlefont\\\",r.font),l(\\\"titleside\\\")}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/tick_label_defaults\\\":784,\\\"../../plots/cartesian/tick_mark_defaults\\\":785,\\\"../../plots/cartesian/tick_value_defaults\\\":786,\\\"./attributes\\\":604}],606:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../plotly\\\"),o=t(\\\"../../plots/plots\\\"),s=t(\\\"../../registry\\\"),l=t(\\\"../../plots/cartesian/axes\\\"),u=t(\\\"../dragelement\\\"),c=t(\\\"../../lib\\\"),h=t(\\\"../../lib/extend\\\").extendFlat,f=t(\\\"../../lib/setcursor\\\"),d=t(\\\"../drawing\\\"),p=t(\\\"../color\\\"),m=t(\\\"../titles\\\"),v=t(\\\"../../lib/svg_text_utils\\\"),g=t(\\\"../../constants/alignment\\\").LINE_SPACING,y=t(\\\"../../plots/cartesian/axis_defaults\\\"),b=t(\\\"../../plots/cartesian/position_defaults\\\"),x=t(\\\"../../plots/cartesian/layout_attributes\\\"),_=t(\\\"./attributes\\\");e.exports=function(t,e){function r(){function _(t,e){return c.coerce(et,rt,x,t,e)}function k(){if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)){var e=lt.select(\\\".cbtitle\\\"),r=e.select(\\\"text\\\"),a=[-M.outlinewidth/2,M.outlinewidth/2],o=e.select(\\\".h\\\"+rt._id+\\\"title-math-group\\\").node(),s=15.6;if(r.node()&&(s=parseInt(r.style(\\\"font-size\\\"),10)*g),o?(ct=d.bBox(o).height)>s&&(a[1]-=(ct-s)/2):r.node()&&!r.classed(\\\"js-placeholder\\\")&&(ct=d.bBox(r.node()).height),ct){if(ct+=5,\\\"top\\\"===M.titleside)rt.domain[1]-=ct/E.h,a[1]*=-1;else{rt.domain[0]+=ct/E.h;var u=v.lineCount(r);a[1]+=(1-u)*s}e.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\")\\\"),rt.setScale()}}lt.selectAll(\\\".cbfills,.cblines,.cbaxis\\\").attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(E.h*(1-rt.domain[1]))+\\\")\\\");var h=lt.select(\\\".cbfills\\\").selectAll(\\\"rect.cbfill\\\").data(D);h.enter().append(\\\"rect\\\").classed(\\\"cbfill\\\",!0).style(\\\"stroke\\\",\\\"none\\\"),h.exit().remove(),h.each(function(t,e){var r=[0===e?z[0]:(D[e]+D[e-1])/2,e===D.length-1?z[1]:(D[e]+D[e+1])/2].map(rt.c2p).map(Math.round);e!==D.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=O(t).replace(\\\"e-\\\",\\\"\\\"),o=i(a).toHexString();n.select(this).attr({x:J,width:Math.max(H,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var f=lt.select(\\\".cblines\\\").selectAll(\\\"path.cbline\\\").data(M.line.color&&M.line.width?I:[]);return f.enter().append(\\\"path\\\").classed(\\\"cbline\\\",!0),f.exit().remove(),f.each(function(t){n.select(this).attr(\\\"d\\\",\\\"M\\\"+J+\\\",\\\"+(Math.round(rt.c2p(t))+M.line.width/2%1)+\\\"h\\\"+H).call(d.lineGroupStyle,M.line.width,P(t),M.line.dash)}),rt._axislayer.selectAll(\\\"g.\\\"+rt._id+\\\"tick,path\\\").remove(),rt._pos=J+H+(M.outlinewidth||0)/2-(\\\"outside\\\"===M.ticks?1:0),rt.side=\\\"right\\\",c.syncOrAsync([function(){return l.doTicks(t,rt,!0)},function(){if(-1===[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)){var e=rt.titlefont.size,r=rt._offset+rt._length/2,i=E.l+(rt.position||0)*E.w+(\\\"right\\\"===rt.side?10+e*(rt.showticklabels?1:.5):-10-e*(rt.showticklabels?.5:0));A(\\\"h\\\"+rt._id+\\\"title\\\",{avoid:{selection:n.select(t).selectAll(\\\"g.\\\"+rt._id+\\\"tick\\\"),side:M.titleside,offsetLeft:E.l,offsetTop:E.t,maxShift:S.width},attributes:{x:i,y:r,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:\\\"-90\\\",offset:0}})}}])}function A(e,r){var n,i=w();n=s.traceIs(i,\\\"markerColorscale\\\")?\\\"marker.colorbar.title\\\":\\\"colorbar.title\\\";var a={propContainer:rt,propName:n,traceIndex:i.index,dfltName:\\\"colorscale\\\",containerGroup:lt.select(\\\".cbtitle\\\")},o=\\\"h\\\"===e.charAt(0)?e.substr(1):\\\"h\\\"+e;lt.selectAll(\\\".\\\"+o+\\\",.\\\"+o+\\\"-math-group\\\").remove(),m.draw(t,e,h(a,r||{}))}function T(){var r=H+M.outlinewidth/2+d.bBox(rt._axislayer.node()).width;if(B=ut.select(\\\"text\\\"),B.node()&&!B.classed(\\\"js-placeholder\\\")){var n,i=ut.select(\\\".h\\\"+rt._id+\\\"title-math-group\\\").node();n=i&&-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)?d.bBox(i).width:d.bBox(ut.node()).right-J-E.l,r=Math.max(r,n)}var a=2*M.xpad+r+M.borderwidth+M.outlinewidth/2,s=$-tt;lt.select(\\\".cbbg\\\").attr({x:J-M.xpad-(M.borderwidth+M.outlinewidth)/2,y:tt-W,width:Math.max(a,2),height:Math.max(s+2*W,2)}).call(p.fill,M.bgcolor).call(p.stroke,M.bordercolor).style({\\\"stroke-width\\\":M.borderwidth}),lt.selectAll(\\\".cboutline\\\").attr({x:J,y:tt+M.ypad+(\\\"top\\\"===M.titleside?ct:0),width:Math.max(H,2),height:Math.max(s-2*M.ypad-ct,2)}).call(p.stroke,M.outlinecolor).style({fill:\\\"None\\\",\\\"stroke-width\\\":M.outlinewidth});var l=({center:.5,right:1}[M.xanchor]||0)*a;lt.attr(\\\"transform\\\",\\\"translate(\\\"+(E.l-l)+\\\",\\\"+E.t+\\\")\\\"),o.autoMargin(t,e,{x:M.x,y:M.y,l:a*({right:1,center:.5}[M.xanchor]||0),r:a*({left:1,center:.5}[M.xanchor]||0),t:s*({bottom:1,middle:.5}[M.yanchor]||0),b:s*({top:1,middle:.5}[M.yanchor]||0)})}var S=t._fullLayout,E=S._size;if(\\\"function\\\"!=typeof M.fillcolor&&\\\"function\\\"!=typeof M.line.color)return void S._infolayer.selectAll(\\\"g.\\\"+e).remove();var L,C,z=n.extent((\\\"function\\\"==typeof M.fillcolor?M.fillcolor:M.line.color).domain()),I=[],D=[],P=\\\"function\\\"==typeof M.line.color?M.line.color:function(){return M.line.color},O=\\\"function\\\"==typeof M.fillcolor?M.fillcolor:function(){return M.fillcolor},R=M.levels.end+M.levels.size/100,F=M.levels.size,j=1.001*z[0]-.001*z[1],N=1.001*z[1]-.001*z[0];for(C=0;C<1e5&&(L=M.levels.start+C*F,!(F>0?L>=R:L<=R));C++)L>j&&L<N&&I.push(L);if(\\\"function\\\"==typeof M.fillcolor)if(M.filllevels)for(R=M.filllevels.end+M.filllevels.size/100,F=M.filllevels.size,C=0;C<1e5&&(L=M.filllevels.start+C*F,!(F>0?L>=R:L<=R));C++)L>z[0]&&L<z[1]&&D.push(L);else D=I.map(function(t){return t-M.levels.size/2}),D.push(D[D.length-1]+M.levels.size);else M.fillcolor&&\\\"string\\\"==typeof M.fillcolor&&(D=[0]);M.levels.size<0&&(I.reverse(),D.reverse());var B,U=S.height-S.margin.t-S.margin.b,V=S.width-S.margin.l-S.margin.r,H=Math.round(M.thickness*(\\\"fraction\\\"===M.thicknessmode?V:1)),q=H/E.w,G=Math.round(M.len*(\\\"fraction\\\"===M.lenmode?U:1)),Y=G/E.h,X=M.xpad/E.w,W=(M.borderwidth+M.outlinewidth)/2,Z=M.ypad/E.h,J=Math.round(M.x*E.w+M.xpad),K=M.x-q*({middle:.5,right:1}[M.xanchor]||0),Q=M.y+Y*(({top:-.5,bottom:.5}[M.yanchor]||0)-.5),$=Math.round(E.h*(1-Q)),tt=$-G,et={type:\\\"linear\\\",range:z,tickmode:M.tickmode,nticks:M.nticks,tick0:M.tick0,dtick:M.dtick,tickvals:M.tickvals,ticktext:M.ticktext,ticks:M.ticks,ticklen:M.ticklen,tickwidth:M.tickwidth,tickcolor:M.tickcolor,showticklabels:M.showticklabels,tickfont:M.tickfont,tickangle:M.tickangle,tickformat:M.tickformat,exponentformat:M.exponentformat,separatethousands:M.separatethousands,showexponent:M.showexponent,showtickprefix:M.showtickprefix,tickprefix:M.tickprefix,showticksuffix:M.showticksuffix,ticksuffix:M.ticksuffix,title:M.title,titlefont:M.titlefont,showline:!0,anchor:\\\"free\\\",position:1},rt={type:\\\"linear\\\",_id:\\\"y\\\"+e},nt={letter:\\\"y\\\",font:S.font,noHover:!0,calendar:S.calendar};if(y(et,rt,_,nt,S),b(et,rt,_,nt),rt.position=M.x+X+q,r.axis=rt,-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)&&(rt.titleside=M.titleside,rt.titlex=M.x+X,rt.titley=Q+(\\\"top\\\"===M.titleside?Y-Z:Z)),M.line.color&&\\\"auto\\\"===M.tickmode){rt.tickmode=\\\"linear\\\",rt.tick0=M.levels.start;var it=M.levels.size,at=c.constrain(($-tt)/50,4,15)+1,ot=(z[1]-z[0])/((M.nticks||at)*it);if(ot>1){var st=Math.pow(10,Math.floor(Math.log(ot)/Math.LN10));it*=st*c.roundUp(ot/st,[2,5,10]),(Math.abs(M.levels.start)/M.levels.size+1e-6)%1<2e-6&&(rt.tick0=0)}rt.dtick=it}rt.domain=[Q+Z,Q+Y-Z],rt.setScale();var lt=S._infolayer.selectAll(\\\"g.\\\"+e).data([0]);lt.enter().append(\\\"g\\\").classed(e,!0).each(function(){var t=n.select(this);t.append(\\\"rect\\\").classed(\\\"cbbg\\\",!0),t.append(\\\"g\\\").classed(\\\"cbfills\\\",!0),t.append(\\\"g\\\").classed(\\\"cblines\\\",!0),t.append(\\\"g\\\").classed(\\\"cbaxis\\\",!0).classed(\\\"crisp\\\",!0),t.append(\\\"g\\\").classed(\\\"cbtitleunshift\\\",!0).append(\\\"g\\\").classed(\\\"cbtitle\\\",!0),t.append(\\\"rect\\\").classed(\\\"cboutline\\\",!0),t.select(\\\".cbtitle\\\").datum(0)}),lt.attr(\\\"transform\\\",\\\"translate(\\\"+Math.round(E.l)+\\\",\\\"+Math.round(E.t)+\\\")\\\");var ut=lt.select(\\\".cbtitleunshift\\\").attr(\\\"transform\\\",\\\"translate(-\\\"+Math.round(E.l)+\\\",-\\\"+Math.round(E.t)+\\\")\\\");rt._axislayer=lt.select(\\\".cbaxis\\\");var ct=0;if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)){var ht,ft=E.l+(M.x+X)*E.w,dt=rt.titlefont.size;ht=\\\"top\\\"===M.titleside?(1-(Q+Y-Z))*E.h+E.t+3+.75*dt:(1-(Q+Z))*E.h+E.t-3-.25*dt,A(rt._id+\\\"title\\\",{attributes:{x:ft,y:ht,\\\"text-anchor\\\":\\\"start\\\"}})}var pt=c.syncOrAsync([o.previousPromises,k,o.previousPromises,T],t);if(pt&&pt.then&&(t._promises||[]).push(pt),t._context.edits.colorbarPosition){var mt,vt,gt;u.init({element:lt.node(),gd:t,prepFn:function(){mt=lt.attr(\\\"transform\\\"),f(lt)},moveFn:function(t,e){lt.attr(\\\"transform\\\",mt+\\\" translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),vt=u.align(K+t/E.w,q,0,1,M.xanchor),gt=u.align(Q-e/E.h,Y,0,1,M.yanchor);var r=u.getCursor(vt,gt,M.xanchor,M.yanchor);f(lt,r)},doneFn:function(e){f(lt),e&&void 0!==vt&&void 0!==gt&&a.restyle(t,{\\\"colorbar.x\\\":vt,\\\"colorbar.y\\\":gt},w().index)}})}return pt}function w(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if(n=t._fullData[r],n.uid===i)return n}var M={};return Object.keys(_).forEach(function(t){M[t]=null}),M.fillcolor=null,M.line={color:null,width:null,dash:null},M.levels={start:null,end:null,size:null},M.filllevels=null,Object.keys(M).forEach(function(t){r[t]=function(e){return arguments.length?(M[t]=c.isPlainObject(M[t])?c.extendFlat(M[t],e):e,r):M[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){\\\"function\\\"==typeof r[e]&&r[e](t[e])}),r},r._opts=M,r}},{\\\"../../constants/alignment\\\":699,\\\"../../lib\\\":725,\\\"../../lib/extend\\\":716,\\\"../../lib/setcursor\\\":741,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/axis_defaults\\\":768,\\\"../../plots/cartesian/layout_attributes\\\":777,\\\"../../plots/cartesian/position_defaults\\\":780,\\\"../../plots/plots\\\":829,\\\"../../registry\\\":844,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"../titles\\\":692,\\\"./attributes\\\":604,d3:121,tinycolor2:533}],607:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\\\"../../lib\\\":725}],608:[function(t,e,r){\\\"use strict\\\";e.exports={zauto:{valType:\\\"boolean\\\",dflt:!0},zmin:{valType:\\\"number\\\",dflt:null},zmax:{valType:\\\"number\\\",dflt:null},colorscale:{valType:\\\"colorscale\\\"},autocolorscale:{valType:\\\"boolean\\\",dflt:!0},reversescale:{valType:\\\"boolean\\\",dflt:!1},showscale:{valType:\\\"boolean\\\",dflt:!0}}},{}],609:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./scales\\\"),a=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var u=o+\\\"auto\\\",c=o+\\\"min\\\",h=o+\\\"max\\\",f=s[u],d=s[c],p=s[h],m=s.colorscale;!1===f&&void 0!==d||(d=n.aggNums(Math.min,null,e)),!1===f&&void 0!==p||(p=n.aggNums(Math.max,null,e)),d===p&&(d-=.5,p+=.5),s[c]=d,s[h]=p,l[c]=d,l[h]=p,l[u]=!1!==f||void 0===d&&void 0===p,s.autocolorscale&&(m=d*p<0?i.RdBu:d>=0?i.Reds:i.Blues,l.colorscale=m,s.reversescale&&(m=a(m)),s.colorscale=m)}},{\\\"../../lib\\\":725,\\\"./flip_scale\\\":614,\\\"./scales\\\":621}],610:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./attributes\\\"),i=t(\\\"../../lib/extend\\\").extendDeep;t(\\\"./scales.js\\\");e.exports=function(t){return{color:{valType:\\\"color\\\",arrayOk:!0},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{}),cmax:i({},n.zmax,{}),cmin:i({},n.zmin,{}),autocolorscale:i({},n.autocolorscale,{}),reversescale:i({},n.reversescale,{})}}},{\\\"../../lib/extend\\\":716,\\\"./attributes\\\":608,\\\"./scales.js\\\":621}],611:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\");e.exports=n.RdBu},{\\\"./scales\\\":621}],612:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../colorbar/has_colorbar\\\"),o=t(\\\"../colorbar/defaults\\\"),s=t(\\\"./is_valid_scale\\\"),l=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,u,c){var h=c.prefix,f=c.cLetter,d=h.slice(0,h.length-1),p=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=p[f+\\\"min\\\"],g=p[f+\\\"max\\\"],y=p.colorscale;u(h+f+\\\"auto\\\",!(n(v)&&n(g)&&v<g)),u(h+f+\\\"min\\\"),u(h+f+\\\"max\\\");var b;void 0!==y&&(b=!s(y)),u(h+\\\"autocolorscale\\\",b);var x=u(h+\\\"colorscale\\\");if(u(h+\\\"reversescale\\\")&&(m.colorscale=l(x)),\\\"marker.line.\\\"!==h){var _;h&&(_=a(p)),u(h+\\\"showscale\\\",_)&&o(p,m,r)}}},{\\\"../../lib\\\":725,\\\"../colorbar/defaults\\\":605,\\\"../colorbar/has_colorbar\\\":607,\\\"./flip_scale\\\":614,\\\"./is_valid_scale\\\":618,\\\"fast-isnumeric\\\":130}],613:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],614:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],615:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./default_scale\\\"),a=t(\\\"./is_valid_scale_array\\\");e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(\\\"string\\\"==typeof t&&(r(),\\\"string\\\"==typeof t&&r()),a(t)?t:e):e}},{\\\"./default_scale\\\":611,\\\"./is_valid_scale_array\\\":619,\\\"./scales\\\":621}],616:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./is_valid_scale\\\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||!0===r.showscale||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\\\"../../lib\\\":725,\\\"./is_valid_scale\\\":618,\\\"fast-isnumeric\\\":130}],617:[function(t,e,r){\\\"use strict\\\";r.scales=t(\\\"./scales\\\"),r.defaultScale=t(\\\"./default_scale\\\"),r.attributes=t(\\\"./attributes\\\"),r.handleDefaults=t(\\\"./defaults\\\"),r.calc=t(\\\"./calc\\\"),r.hasColorscale=t(\\\"./has_colorscale\\\"),r.isValidScale=t(\\\"./is_valid_scale\\\"),r.getScale=t(\\\"./get_scale\\\"),r.flipScale=t(\\\"./flip_scale\\\"),r.extractScale=t(\\\"./extract_scale\\\"),r.makeColorScaleFunc=t(\\\"./make_color_scale_func\\\")},{\\\"./attributes\\\":608,\\\"./calc\\\":609,\\\"./default_scale\\\":611,\\\"./defaults\\\":612,\\\"./extract_scale\\\":613,\\\"./flip_scale\\\":614,\\\"./get_scale\\\":615,\\\"./has_colorscale\\\":616,\\\"./is_valid_scale\\\":618,\\\"./make_color_scale_func\\\":620,\\\"./scales\\\":621}],618:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./is_valid_scale_array\\\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\\\"./is_valid_scale_array\\\":619,\\\"./scales\\\":621}],619:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\");e.exports=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 i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:533}],620:[function(t,e,r){\\\"use strict\\\";function n(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}var i=t(\\\"d3\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"fast-isnumeric\\\"),s=t(\\\"../color\\\");e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,u=l.length,c=new Array(u),h=0;h<u;h++){var f=a(l[h]).toRgb();c[h]=[f.r,f.g,f.b,f.a]}var d,p=i.scale.linear().domain(r).range(c).clamp(!0),m=e.noNumericCheck,v=e.returnArray;return d=m&&v?p:m?function(t){return n(p(t))}:v?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{\\\"../color\\\":603,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],621:[function(t,e,r){\\\"use strict\\\";e.exports={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\\\"]]}},{}],622:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2\\n\",\n       \";return\\\"left\\\"===i||\\\"bottom\\\"===i?a:\\\"center\\\"===i||\\\"middle\\\"===i?s:\\\"right\\\"===i||\\\"top\\\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],623:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=[[\\\"sw-resize\\\",\\\"s-resize\\\",\\\"se-resize\\\"],[\\\"w-resize\\\",\\\"move\\\",\\\"e-resize\\\"],[\\\"nw-resize\\\",\\\"n-resize\\\",\\\"ne-resize\\\"]];e.exports=function(t,e,r,a){return t=\\\"left\\\"===r?0:\\\"center\\\"===r?1:\\\"right\\\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\\\"bottom\\\"===a?0:\\\"middle\\\"===a?1:\\\"top\\\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\\\"../../lib\\\":725}],624:[function(t,e,r){\\\"use strict\\\";function n(){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 i(t){t._dragging=!1,t._replotPending&&l.plot(t)}function a(t){return o(t.changedTouches?t.changedTouches[0]:t,document.body)}var o=t(\\\"mouse-event-offset\\\"),s=t(\\\"has-hover\\\"),l=t(\\\"../../plotly\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../plots/cartesian/constants\\\"),h=t(\\\"../../constants/interactions\\\"),f=e.exports={};f.align=t(\\\"./align\\\"),f.getCursor=t(\\\"./cursor\\\");var d=t(\\\"./unhover\\\");f.unhover=d.wrapped,f.unhoverRaw=d.raw,f.init=function(t){function e(e){y._dragged=!1,y._dragging=!0;var i=a(e);return l=i[0],d=i[1],g=e.target,p=(new Date).getTime(),p-y._mouseDownTime<x?b+=1:(b=1,y._mouseDownTime=p),t.prepFn&&t.prepFn(e,l,d),s?(v=n(),v.style.cursor=window.getComputedStyle(t.element).cursor):(v=document,m=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(t.element).cursor),v.addEventListener(\\\"mousemove\\\",r),v.addEventListener(\\\"mouseup\\\",o),v.addEventListener(\\\"mouseout\\\",o),v.addEventListener(\\\"touchmove\\\",r),v.addEventListener(\\\"touchend\\\",o),u.pauseEvent(e)}function r(e){var r=a(e),n=r[0]-l,i=r[1]-d,o=t.minDrag||c.MINDRAG;return Math.abs(n)<o&&(n=0),Math.abs(i)<o&&(i=0),(n||i)&&(y._dragged=!0,f.unhover(y)),t.moveFn&&t.moveFn(n,i,y._dragged),u.pauseEvent(e)}function o(e){if(v.removeEventListener(\\\"mousemove\\\",r),v.removeEventListener(\\\"mouseup\\\",o),v.removeEventListener(\\\"mouseout\\\",o),v.removeEventListener(\\\"touchmove\\\",r),v.removeEventListener(\\\"touchend\\\",o),s?u.removeElement(v):m&&(v.documentElement.style.cursor=m,m=null),!y._dragging)return void(y._dragged=!1);if(y._dragging=!1,(new Date).getTime()-y._mouseDownTime>x&&(b=Math.max(b-1,1)),t.doneFn&&t.doneFn(y._dragged,b,e),!y._dragged){var n;try{n=new MouseEvent(\\\"click\\\",e)}catch(t){var l=a(e);n=document.createEvent(\\\"MouseEvents\\\"),n.initMouseEvent(\\\"click\\\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,l[0],l[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}g.dispatchEvent(n)}return i(y),y._dragged=!1,u.pauseEvent(e)}var l,d,p,m,v,g,y=t.gd,b=1,x=h.DBLCLICKDELAY;y._mouseDownTime||(y._mouseDownTime=0),t.element.style.pointerEvents=\\\"all\\\",t.element.onmousedown=e,t.element.ontouchstart=e},f.coverSlip=n},{\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/constants\\\":771,\\\"./align\\\":622,\\\"./cursor\\\":623,\\\"./unhover\\\":625,\\\"has-hover\\\":287,\\\"mouse-event-offset\\\":452}],625:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/events\\\"),i=e.exports={};i.wrapped=function(t,e,r){\\\"string\\\"==typeof t&&(t=document.getElementById(t)),t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),i.raw(t,e,r)},i.raw=function(t,e){var r=t._fullLayout,i=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&&i&&t.emit(\\\"plotly_unhover\\\",{event:e,points:i}))}},{\\\"../../lib/events\\\":715}],626:[function(t,e,r){\\\"use strict\\\";r.dash={valType:\\\"string\\\",values:[\\\"solid\\\",\\\"dot\\\",\\\"dash\\\",\\\"longdash\\\",\\\"dashdot\\\",\\\"longdashdot\\\"],dflt:\\\"solid\\\"}},{}],627:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){if(u.traceIs(r,\\\"symbols\\\")){var l=y(r);e.attr(\\\"d\\\",function(t){var e;e=\\\"various\\\"===t.ms||\\\"various\\\"===a.size?3:g.isBubble(r)?l(t.ms):(a.size||6)/2,t.mrc=e;var n=b.symbolNumber(t.mx||a.symbol)||0,i=n%100;return t.om=n%200>=100,b.symbolFuncs[i](e)+(n>=200?w:\\\"\\\")}).style(\\\"opacity\\\",function(t){return(t.mo+1||a.opacity+1)-1})}var h,f,d,p=!1;if(t.so?(d=o.outlierwidth,f=o.outliercolor,h=a.outliercolor):(d=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,f=\\\"mlc\\\"in t?t.mlcc=i(t.mlc):Array.isArray(o.color)?c.defaultLine:o.color,Array.isArray(a.color)&&(h=c.defaultLine,p=!0),h=\\\"mc\\\"in t?t.mcc=n(t.mc):a.color||\\\"rgba(0,0,0,0)\\\"),t.om)e.call(c.stroke,h).style({\\\"stroke-width\\\":(d||1)+\\\"px\\\",fill:\\\"none\\\"});else{e.style(\\\"stroke-width\\\",d+\\\"px\\\");var m=a.gradient,v=t.mgt;if(v?p=!0:v=m&&m.type,v&&\\\"none\\\"!==v){var x=t.mgc;x?p=!0:x=m.color;var _=\\\"g\\\"+s._fullLayout._uid+\\\"-\\\"+r.uid;p&&(_+=\\\"-\\\"+t.i),e.call(b.gradient,s,_,v,h,x)}else e.call(c.fill,h);d&&e.call(c.stroke,f)}}function i(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],u=Math.pow(i*i+a*a,T/2),c=Math.pow(s*s+l*l,T/2),h=(c*c*i-u*u*s)*n,f=(c*c*a-u*u*l)*n,d=3*c*(u+c),p=3*u*(u+c);return[[o.round(e[0]+(d&&h/d),2),o.round(e[1]+(d&&f/d),2)],[o.round(e[0]-(p&&h/p),2),o.round(e[1]-(p&&f/p),2)]]}function a(t){var e=t.getAttribute(\\\"data-unformatted\\\");if(null!==e)return e+t.getAttribute(\\\"data-math\\\")+t.getAttribute(\\\"text-anchor\\\")+t.getAttribute(\\\"style\\\")}var o=t(\\\"d3\\\"),s=t(\\\"fast-isnumeric\\\"),l=t(\\\"tinycolor2\\\"),u=t(\\\"../../registry\\\"),c=t(\\\"../color\\\"),h=t(\\\"../colorscale\\\"),f=t(\\\"../../lib\\\"),d=t(\\\"../../lib/svg_text_utils\\\"),p=t(\\\"../../constants/xmlns_namespaces\\\"),m=t(\\\"../../constants/alignment\\\"),v=m.LINE_SPACING,g=t(\\\"../../traces/scatter/subtypes\\\"),y=t(\\\"../../traces/scatter/make_bubble_size_func\\\"),b=e.exports={};b.font=function(t,e,r,n){f.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(c.fill,n)},b.setPosition=function(t,e,r){t.attr(\\\"x\\\",e).attr(\\\"y\\\",r)},b.setSize=function(t,e,r){t.attr(\\\"width\\\",e).attr(\\\"height\\\",r)},b.setRect=function(t,e,r,n,i){t.call(b.setPosition,e,r).call(b.setSize,n,i)},b.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(s(i)&&s(a)&&e.node())&&(\\\"text\\\"===e.node().nodeName?e.attr(\\\"x\\\",i).attr(\\\"y\\\",a):e.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\",\\\"+a+\\\")\\\"),!0)},b.translatePoints=function(t,e,r){t.each(function(t){var n=o.select(this);b.translatePoint(t,n,e,r)})},b.hideOutsideRangePoint=function(t,e,r,n){e.attr(\\\"display\\\",r.isPtWithinRange(t)&&n.isPtWithinRange(t)?null:\\\"none\\\")},b.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,n=e.yaxis;t.each(function(t){b.hideOutsideRangePoint(t,o.select(this),r,n)})}},b.getPx=function(t,e){return Number(t.style(e).replace(/px$/,\\\"\\\"))},b.crispRound=function(t,e,r){return e&&s(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},b.singleLineStyle=function(t,e,r,n,i){e.style(\\\"fill\\\",\\\"none\\\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\\\"\\\";c.stroke(e,n||a.color),b.dashLine(e,s,o)},b.lineGroupStyle=function(t,e,r,n){t.style(\\\"fill\\\",\\\"none\\\").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},a=e||i.width||0,s=n||i.dash||\\\"\\\";o.select(this).call(c.stroke,r||i.color).call(b.dashLine,s,a)})},b.dashLine=function(t,e,r){r=+r||0,e=b.dashStyle(e,r),t.style({\\\"stroke-dasharray\\\":e,\\\"stroke-width\\\":r+\\\"px\\\"})},b.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},b.singleFillStyle=function(t){var e=o.select(t.node()),r=e.data(),n=(((r[0]||[])[0]||{}).trace||{}).fillcolor;n&&t.call(c.fill,n)},b.fillGroupStyle=function(t){t.style(\\\"stroke-width\\\",0).each(function(e){var r=o.select(this);try{r.call(c.fill,e[0].trace.fillcolor)}catch(e){f.error(e,t),r.remove()}})};var x=t(\\\"./symbol_defs\\\");b.symbolNames=[],b.symbolFuncs=[],b.symbolNeedLines={},b.symbolNoDot={},b.symbolList=[],Object.keys(x).forEach(function(t){var e=x[t];b.symbolList=b.symbolList.concat([e.n,t,e.n+100,t+\\\"-open\\\"]),b.symbolNames[e.n]=t,b.symbolFuncs[e.n]=e.f,e.needLine&&(b.symbolNeedLines[e.n]=!0),e.noDot?b.symbolNoDot[e.n]=!0:b.symbolList=b.symbolList.concat([e.n+200,t+\\\"-dot\\\",e.n+300,t+\\\"-open-dot\\\"])});var _=b.symbolNames.length,w=\\\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\\\";b.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=b.symbolNames.indexOf(t),t>=0&&(t+=e)}return t%100>=_||t>=400?0:Math.floor(Math.max(t,0))};var M={x1:1,x2:0,y1:0,y2:0},k={x1:0,x2:0,y1:1,y2:0};b.gradient=function(t,e,r,n,i,a){var s=e._fullLayout._defs.select(\\\".gradients\\\").selectAll(\\\"#\\\"+r).data([n+i+a],f.identity);s.exit().remove(),s.enter().append(\\\"radial\\\"===n?\\\"radialGradient\\\":\\\"linearGradient\\\").each(function(){var t=o.select(this);\\\"horizontal\\\"===n?t.attr(M):\\\"vertical\\\"===n&&t.attr(k),t.attr(\\\"id\\\",r);var e=l(i),s=l(a);t.append(\\\"stop\\\").attr({offset:\\\"0%\\\",\\\"stop-color\\\":c.tinyRGB(s),\\\"stop-opacity\\\":s.getAlpha()}),t.append(\\\"stop\\\").attr({offset:\\\"100%\\\",\\\"stop-color\\\":c.tinyRGB(e),\\\"stop-opacity\\\":e.getAlpha()})}),t.style({fill:\\\"url(#\\\"+r+\\\")\\\",\\\"fill-opacity\\\":null})},b.initGradients=function(t){var e=t._fullLayout._defs.selectAll(\\\".gradients\\\").data([0]);e.enter().append(\\\"g\\\").classed(\\\"gradients\\\",!0),e.selectAll(\\\"linearGradient,radialGradient\\\").remove()},b.singlePointStyle=function(t,e,r,i,a,o){var s=r.marker;n(t,e,r,i,a,s,s.line,o)},b.pointStyle=function(t,e,r){if(t.size()){var n=e.marker,i=b.tryColorscale(n,\\\"\\\"),a=b.tryColorscale(n,\\\"line\\\");t.each(function(t){b.singlePointStyle(t,o.select(this),e,i,a,r)})}},b.tryColorscale=function(t,e){var r=e?f.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&Array.isArray(i)?h.makeColorScaleFunc(h.extractScale(n,r.cmin,r.cmax)):f.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};b.textPointStyle=function(t,e,r){t.each(function(t){var n=o.select(this),i=t.tx||e.text;if(!i||Array.isArray(i))return void n.remove();var a=t.tp||e.textposition,l=-1!==a.indexOf(\\\"top\\\")?\\\"top\\\":-1!==a.indexOf(\\\"bottom\\\")?\\\"bottom\\\":\\\"middle\\\",u=-1!==a.indexOf(\\\"left\\\")?\\\"end\\\":-1!==a.indexOf(\\\"right\\\")?\\\"start\\\":\\\"middle\\\",c=t.ts||e.textfont.size,h=t.mrc?t.mrc/.8+1:0;c=s(c)&&c>0?c:0,n.call(b.font,t.tf||e.textfont.family,c,t.tc||e.textfont.color).attr(\\\"text-anchor\\\",u).text(i).call(d.convertToTspans,r);var f=o.select(this.parentNode),p=(d.lineCount(n)-1)*v+1,m=A[u]*h,g=.75*c+A[l]*h+(A[l]-1)*p*c/2;f.attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\",\\\"+g+\\\")\\\")})};var T=.5;b.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(i(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]},b.smoothclosed=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\")+\\\"Z\\\";var r,n=\\\"M\\\"+t[0],a=t.length-1,o=[i(t[a],t[0],t[1],e)];for(r=1;r<a;r++)o.push(i(t[r-1],t[r],t[r+1],e));for(o.push(i(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+=\\\"C\\\"+o[r-1][1]+\\\" \\\"+o[r][0]+\\\" \\\"+t[r];return n+=\\\"C\\\"+o[a][1]+\\\" \\\"+o[0][0]+\\\" \\\"+t[0]+\\\"Z\\\"};var S={hv:function(t,e){return\\\"H\\\"+o.round(e[0],2)+\\\"V\\\"+o.round(e[1],2)},vh:function(t,e){return\\\"V\\\"+o.round(e[1],2)+\\\"H\\\"+o.round(e[0],2)},hvh:function(t,e){return\\\"H\\\"+o.round((t[0]+e[0])/2,2)+\\\"V\\\"+o.round(e[1],2)+\\\"H\\\"+o.round(e[0],2)},vhv:function(t,e){return\\\"V\\\"+o.round((t[1]+e[1])/2,2)+\\\"H\\\"+o.round(e[0],2)+\\\"V\\\"+o.round(e[1],2)}},E=function(t,e){return\\\"L\\\"+o.round(e[0],2)+\\\",\\\"+o.round(e[1],2)};b.steps=function(t){var e=S[t]||E;return function(t){for(var r=\\\"M\\\"+o.round(t[0][0],2)+\\\",\\\"+o.round(t[0][1],2),n=1;n<t.length;n++)r+=e(t[n-1],t[n]);return r}},b.makeTester=function(){var t=o.select(\\\"body\\\").selectAll(\\\"#js-plotly-tester\\\").data([0]);t.enter().append(\\\"svg\\\").attr(\\\"id\\\",\\\"js-plotly-tester\\\").attr(p.svgAttrs).style({position:\\\"absolute\\\",left:\\\"-10000px\\\",top:\\\"-10000px\\\",width:\\\"9000px\\\",height:\\\"9000px\\\",\\\"z-index\\\":\\\"1\\\"});var e=t.selectAll(\\\".js-reference-point\\\").data([0]);e.enter().append(\\\"path\\\").classed(\\\"js-reference-point\\\",!0).attr(\\\"d\\\",\\\"M0,0H1V1H0Z\\\").style({\\\"stroke-width\\\":0,fill:\\\"black\\\"}),b.tester=t,b.testref=e},b.savedBBoxes={};var L=0;b.bBox=function(t,e,r){r||(r=a(t));var n;if(r){if(n=b.savedBBoxes[r])return f.extendFlat({},n)}else if(1===t.childNodes.length){var i=t.childNodes[0];if(r=a(i)){var s=+i.getAttribute(\\\"x\\\")||0,l=+i.getAttribute(\\\"y\\\")||0,u=i.getAttribute(\\\"transform\\\");if(!u){var c=b.bBox(i,!1,r);return s&&(c.left+=s,c.right+=s),l&&(c.top+=l,c.bottom+=l),c}if(r+=\\\"~\\\"+s+\\\"~\\\"+l+\\\"~\\\"+u,n=b.savedBBoxes[r])return f.extendFlat({},n)}}var h,p;e?h=t:(p=b.tester.node(),h=t.cloneNode(!0),p.appendChild(h)),o.select(h).attr(\\\"transform\\\",null).call(d.positionText,0,0);var m=h.getBoundingClientRect(),v=b.testref.node().getBoundingClientRect();e||p.removeChild(h);var g={height:m.height,width:m.width,left:m.left-v.left,top:m.top-v.top,right:m.right-v.left,bottom:m.bottom-v.top};return L>=1e4&&(b.savedBBoxes={},L=0),r&&(b.savedBBoxes[r]=g),L++,f.extendFlat({},g)},b.setClipUrl=function(t,e){if(!e)return void t.attr(\\\"clip-path\\\",null);var r=\\\"#\\\"+e,n=o.select(\\\"base\\\");n.size()&&n.attr(\\\"href\\\")&&(r=window.location.href.split(\\\"#\\\")[0]+r),t.attr(\\\"clip-path\\\",\\\"url(\\\"+r+\\\")\\\")},b.getTranslate=function(t){var e=/.*\\\\btranslate\\\\((-?\\\\d*\\\\.?\\\\d*)[^-\\\\d]*(-?\\\\d*\\\\.?\\\\d*)[^\\\\d].*/,r=t.attr?\\\"attr\\\":\\\"getAttribute\\\",n=t[r](\\\"transform\\\")||\\\"\\\",i=n.replace(e,function(t,e,r){return[e,r].join(\\\" \\\")}).split(\\\" \\\");return{x:+i[0]||0,y:+i[1]||0}},b.setTranslate=function(t,e,r){var n=/(\\\\btranslate\\\\(.*?\\\\);?)/,i=t.attr?\\\"attr\\\":\\\"getAttribute\\\",a=t.attr?\\\"attr\\\":\\\"setAttribute\\\",o=t[i](\\\"transform\\\")||\\\"\\\";return e=e||0,r=r||0,o=o.replace(n,\\\"\\\").trim(),o+=\\\" translate(\\\"+e+\\\", \\\"+r+\\\")\\\",o=o.trim(),t[a](\\\"transform\\\",o),o},b.getScale=function(t){var e=/.*\\\\bscale\\\\((\\\\d*\\\\.?\\\\d*)[^\\\\d]*(\\\\d*\\\\.?\\\\d*)[^\\\\d].*/,r=t.attr?\\\"attr\\\":\\\"getAttribute\\\",n=t[r](\\\"transform\\\")||\\\"\\\",i=n.replace(e,function(t,e,r){return[e,r].join(\\\" \\\")}).split(\\\" \\\");return{x:+i[0]||1,y:+i[1]||1}},b.setScale=function(t,e,r){var n=/(\\\\bscale\\\\(.*?\\\\);?)/,i=t.attr?\\\"attr\\\":\\\"getAttribute\\\",a=t.attr?\\\"attr\\\":\\\"setAttribute\\\",o=t[i](\\\"transform\\\")||\\\"\\\";return e=e||1,r=r||1,o=o.replace(n,\\\"\\\").trim(),o+=\\\" scale(\\\"+e+\\\", \\\"+r+\\\")\\\",o=o.trim(),t[a](\\\"transform\\\",o),o},b.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\\\"\\\":\\\" scale(\\\"+e+\\\",\\\"+r+\\\")\\\",a=/\\\\s*sc.*/,t.each(function(){n=(this.getAttribute(\\\"transform\\\")||\\\"\\\").replace(a,\\\"\\\"),n+=i,n=n.trim(),this.setAttribute(\\\"transform\\\",n)}),i};var C=/translate\\\\([^)]*\\\\)\\\\s*$/;b.setTextPointsScale=function(t,e,r){t.each(function(){var t,n=o.select(this),i=n.select(\\\"text\\\"),a=parseFloat(i.attr(\\\"x\\\")||0),s=parseFloat(i.attr(\\\"y\\\")||0),l=(n.attr(\\\"transform\\\")||\\\"\\\").match(C);t=1===e&&1===r?[]:[\\\"translate(\\\"+a+\\\",\\\"+s+\\\")\\\",\\\"scale(\\\"+e+\\\",\\\"+r+\\\")\\\",\\\"translate(\\\"+-a+\\\",\\\"+-s+\\\")\\\"],l&&t.push(l),n.attr(\\\"transform\\\",t.join(\\\" \\\"))})}},{\\\"../../constants/alignment\\\":699,\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../registry\\\":844,\\\"../../traces/scatter/make_bubble_size_func\\\":1042,\\\"../../traces/scatter/subtypes\\\":1047,\\\"../color\\\":603,\\\"../colorscale\\\":617,\\\"./symbol_defs\\\":628,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],628:[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,i=\\\"l\\\"+e+\\\",-\\\"+e,a=\\\"l-\\\"+e+\\\",-\\\"+e,o=\\\"l-\\\"+e+\\\",\\\"+e;return\\\"M0,\\\"+e+r+i+a+i+a+o+a+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),i=n.round(-t,2),a=n.round(-.309*t,2);return\\\"M\\\"+e+\\\",\\\"+a+\\\"L\\\"+r+\\\",\\\"+n.round(.809*t,2)+\\\"H-\\\"+r+\\\"L-\\\"+e+\\\",\\\"+a+\\\"L0,\\\"+i+\\\"Z\\\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M\\\"+i+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L0,\\\"+e+\\\"L-\\\"+i+\\\",\\\"+r+\\\"V-\\\"+r+\\\"L0,-\\\"+e+\\\"Z\\\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M-\\\"+r+\\\",\\\"+i+\\\"H\\\"+r+\\\"L\\\"+e+\\\",0L\\\"+r+\\\",-\\\"+i+\\\"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),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),u=n.round(.118*e,2),c=n.round(.809*e,2);return\\\"M\\\"+r+\\\",\\\"+l+\\\"H\\\"+i+\\\"L\\\"+a+\\\",\\\"+u+\\\"L\\\"+o+\\\",\\\"+c+\\\"L0,\\\"+n.round(.382*e,2)+\\\"L-\\\"+o+\\\",\\\"+c+\\\"L-\\\"+a+\\\",\\\"+u+\\\"L-\\\"+i+\\\",\\\"+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),i=n.round(.76*t,2);return\\\"M-\\\"+i+\\\",0l-\\\"+r+\\\",-\\\"+e+\\\"h\\\"+i+\\\"l\\\"+r+\\\",-\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h-\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l-\\\"+r+\\\",-\\\"+e+\\\"h-\\\"+i+\\\"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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",\\\"+r+o+e+\\\",\\\"+r+o+\\\"0,-\\\"+i+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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M\\\"+e+\\\",-\\\"+r+o+\\\"-\\\"+e+\\\",-\\\"+r+o+\\\"0,\\\"+i+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",-\\\"+e+i+\\\"-\\\"+e+\\\",\\\"+e+i+e+\\\",\\\"+e+i+e+\\\",-\\\"+e+i+\\\"-\\\"+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",0\\\"+i+\\\"0,\\\"+e+i+e+\\\",0\\\"+i+\\\"0,-\\\"+e+i+\\\"-\\\"+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},\\\"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},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},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},\\\"y-up\\\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",\\\"+i+\\\"L0,0M\\\"+e+\\\",\\\"+i+\\\"L0,0M0,-\\\"+r+\\\"L0,0\\\"},needLine:!0,noDot:!0},\\\"y-down\\\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",-\\\"+i+\\\"L0,0M\\\"+e+\\\",-\\\"+i+\\\"L0,0M0,\\\"+r+\\\"L0,0\\\"},needLine:!0,noDot:!0},\\\"y-left\\\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M\\\"+i+\\\",\\\"+e+\\\"L0,0M\\\"+i+\\\",-\\\"+e+\\\"L0,0M-\\\"+r+\\\",0L0,0\\\"},needLine:!0,noDot:!0},\\\"y-right\\\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M-\\\"+i+\\\",\\\"+e+\\\"L0,0M-\\\"+i+\\\",-\\\"+e+\\\"L0,0M\\\"+r+\\\",0L0,0\\\"},needLine:!0,noDot:!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},\\\"line-ns\\\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\\\"M0,\\\"+e+\\\"V-\\\"+e},needLine:!0,noDot:!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},\\\"line-nw\\\":{n:44,f:function(t){var e=n.round(t,2);return\\\"M\\\"+e+\\\",\\\"+e+\\\"L-\\\"+e+\\\",-\\\"+e},needLine:!0,noDot:!0}}},{d3:121}],629:[function(t,e,r){\\\"use strict\\\";e.exports={visible:{valType:\\\"boolean\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"percent\\\",\\\"constant\\\",\\\"sqrt\\\",\\\"data\\\"]},symmetric:{valType:\\\"boolean\\\"},array:{valType:\\\"data_array\\\"},arrayminus:{valType:\\\"data_array\\\"},value:{valType:\\\"number\\\",min:0,dflt:10},valueminus:{valType:\\\"number\\\",min:0,dflt:10},traceref:{valType:\\\"integer\\\",min:0,dflt:0},tracerefminus:{valType:\\\"integer\\\",min:0,dflt:0},copy_ystyle:{valType:\\\"boolean\\\"},copy_zstyle:{valType:\\\"boolean\\\"},color:{valType:\\\"color\\\"},thickness:{valType:\\\"number\\\",min:0,dflt:2},width:{valType:\\\"number\\\",min:0},_deprecated:{opacity:{valType:\\\"number\\\"}}}},{}],630:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a=e[\\\"error_\\\"+n]||{},l=a.visible&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(r.type),u=[];if(l){for(var c=s(a),h=0;h<t.length;h++){var f=t[h],d=f[n];if(i(r.c2l(d))){var p=c(d,h);if(i(p[0])&&i(p[1])){var m=f[n+\\\"s\\\"]=d-p[0],v=f[n+\\\"h\\\"]=d+p[1];u.push(m,v)}}}o.expand(r,u,{padded:!0})}}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../plots/cartesian/axes\\\"),s=t(\\\"./compute_error\\\");e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,\\\"errorBarsOK\\\")){var l=o.getFromId(t,s.xaxis),u=o.getFromId(t,s.yaxis);n(i,s,l,\\\"x\\\"),n(i,s,u,\\\"y\\\")}}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./compute_error\\\":631,\\\"fast-isnumeric\\\":130}],631:[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 i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}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)]}}},{}],632:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(t,e){return a.coerce(h,c,o,t,e)}var u=\\\"error_\\\"+s.axis,c=e[u]={},h=t[u]||{};if(!1!==l(\\\"visible\\\",void 0!==h.array||void 0!==h.value||\\\"sqrt\\\"===h.type)){var f=l(\\\"type\\\",\\\"array\\\"in h?\\\"data\\\":\\\"percent\\\"),d=!0;\\\"sqrt\\\"!==f&&(d=l(\\\"symmetric\\\",!((\\\"data\\\"===f?\\\"arrayminus\\\":\\\"valueminus\\\")in h))),\\\"data\\\"===f?(l(\\\"array\\\")||(c.array=[]),l(\\\"traceref\\\"),d||(l(\\\"arrayminus\\\")||(c.arrayminus=[]),l(\\\"tracerefminus\\\"))):\\\"percent\\\"!==f&&\\\"constant\\\"!==f||(l(\\\"value\\\"),d||l(\\\"valueminus\\\"));var p=\\\"copy_\\\"+s.inherit+\\\"style\\\";s.inherit&&(e[\\\"error_\\\"+s.inherit]||{}).visible&&l(p,!(h.color||n(h.thickness)||n(h.width))),s.inherit&&c[p]||(l(\\\"color\\\",r),l(\\\"thickness\\\"),l(\\\"width\\\",i.traceIs(e,\\\"gl3d\\\")?0:4))}}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":629,\\\"fast-isnumeric\\\":130}],633:[function(t,e,r){\\\"use strict\\\";var n=e.exports={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y||[],a=r.length||i.length,o=new Array(a),s=0;s<a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.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))}},{\\\"./attributes\\\":629,\\\"./calc\\\":630,\\\"./defaults\\\":632,\\\"./plot\\\":634,\\\"./style\\\":635}],634:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return 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))),n}var i=t(\\\"d3\\\"),a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../traces/scatter/subtypes\\\");e.exports=function(t,e,r){var l,u=e.xaxis,c=e.yaxis,h=r&&r.duration>0;t.each(function(t){var f,d=t[0].trace,p=d.error_x||{},m=d.error_y||{};d.ids&&(f=function(t){return t.id});var v=s.hasMarkers(d)&&d.marker.maxdisplayed>0;if(m.visible||p.visible){var g=i.select(this).selectAll(\\\"g.errorbar\\\").data(t,f);g.exit().remove(),g.style(\\\"opacity\\\",1);var y=g.enter().append(\\\"g\\\").classed(\\\"errorbar\\\",!0);h&&y.style(\\\"opacity\\\",0).transition().duration(r.duration).style(\\\"opacity\\\",1),o.setClipUrl(g,e.layerClipId),g.each(function(t){var e=i.select(this),o=n(t,u,c);if(!v||t.vis){var s;if(m.visible&&a(o.x)&&a(o.yh)&&a(o.ys)){var f=m.width;s=\\\"M\\\"+(o.x-f)+\\\",\\\"+o.yh+\\\"h\\\"+2*f+\\\"m-\\\"+f+\\\",0V\\\"+o.ys,o.noYS||(s+=\\\"m-\\\"+f+\\\",0h\\\"+2*f);var d=e.select(\\\"path.yerror\\\");l=!d.size(),l?d=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"yerror\\\",!0):h&&(d=d.transition().duration(r.duration).ease(r.easing)),d.attr(\\\"d\\\",s)}if(p.visible&&a(o.y)&&a(o.xh)&&a(o.xs)){var g=(p.copy_ystyle?m:p).width;s=\\\"M\\\"+o.xh+\\\",\\\"+(o.y-g)+\\\"v\\\"+2*g+\\\"m0,-\\\"+g+\\\"H\\\"+o.xs,o.noXS||(s+=\\\"m0,-\\\"+g+\\\"v\\\"+2*g);var y=e.select(\\\"path.xerror\\\");l=!y.size(),l?y=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"xerror\\\",!0):h&&(y=y.transition().duration(r.duration).ease(r.easing)),y.attr(\\\"d\\\",s)}}})}})}},{\\\"../../traces/scatter/subtypes\\\":1047,\\\"../drawing\\\":627,d3:121,\\\"fast-isnumeric\\\":130}],635:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../color\\\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\\\"path.yerror\\\").style(\\\"stroke-width\\\",r.thickness+\\\"px\\\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\\\"path.xerror\\\").style(\\\"stroke-width\\\",a.thickness+\\\"px\\\").call(i.stroke,a.color)})}},{\\\"../color\\\":603,d3:121}],636:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\");e.exports={hoverlabel:{bgcolor:{valType:\\\"color\\\",arrayOk:!0},bordercolor:{valType:\\\"color\\\",arrayOk:!0},font:{family:n({},i.family,{arrayOk:!0}),size:n({},i.size,{arrayOk:!0}),color:n({},i.color,{arrayOk:!0})},namelength:{valType:\\\"integer\\\",min:-1,arrayOk:!0}}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790}],637:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){n=n||i.identity,Array.isArray(t)&&(e[0][r]=n(t))}var i=t(\\\"../../lib\\\"),a=t(\\\"../../registry\\\");e.exports=function(t){for(var e=t.calcdata,r=t._fullLayout,o=0;o<e.length;o++){var s=e[o],l=s[0].trace;if(!a.traceIs(l,\\\"pie\\\")){var u=a.traceIs(l,\\\"2dMap\\\")?n:i.fillArray;u(l.hoverinfo,s,\\\"hi\\\",function(t){return function(e){return i.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}(l)),l.hoverlabel&&(u(l.hoverlabel.bgcolor,s,\\\"hbg\\\"),u(l.hoverlabel.bordercolor,s,\\\"hbc\\\"),u(l.hoverlabel.font.size,s,\\\"hts\\\"),u(l.hoverlabel.font.color,s,\\\"htc\\\"),u(l.hoverlabel.font.family,s,\\\"htf\\\"),u(l.hoverlabel.namelength,s,\\\"hnl\\\"))}}}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844}],638:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./hover\\\").hover;e.exports=function(t,e,r){function a(){t.emit(\\\"plotly_click\\\",{points:t._hoverdata,event:e})}var o=n.getComponentMethod(\\\"annotations\\\",\\\"onClick\\\")(t,t._hoverdata);void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(o&&o.then?o.then(a):a(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\\\"../../registry\\\":844,\\\"./hover\\\":642}],639:[function(t,e,r){\\\"use strict\\\";e.exports={MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\\\"Arial, sans-serif\\\",HOVERMINTIME:50}},{}],640:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./hoverlabel_defaults\\\");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(t,e,s,o.hoverlabel)}},{\\\"../../lib\\\":725,\\\"./attributes\\\":636,\\\"./hoverlabel_defaults\\\":643}],641:[function(t,e,r){\\\"use strict\\\";function n(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}}var i=t(\\\"../../lib\\\"),a=t(\\\"./constants\\\");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},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,r,i){return\\\"closest\\\"===t?i||n(e,r):\\\"x\\\"===t?e:r},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 i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e){return t*e<0||0===t?a.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):1/0},r.appendArrayPointValue=function(t,e,r){var n=e._arrayAttrs;if(n)for(var a=0;a<n.length;a++){var o,s=n[a];if(o=\\\"ids\\\"===s?\\\"id\\\":\\\"locations\\\"===s?\\\"location\\\":s,void 0===t[o]){var l=i.nestedProperty(e,s).get();Array.isArray(r)?Array.isArray(l)&&Array.isArray(l[r[0]])&&(t[o]=l[r[0]][r[1]]):t[o]=l[r]}}}},{\\\"../../lib\\\":725,\\\"./constants\\\":639}],642:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if((\\\"pie\\\"===r||\\\"sankey\\\"===r)&&!n)return void t.emit(\\\"plotly_hover\\\",{event:e.originalEvent,points:[e]});r||(r=\\\"xy\\\");var f=Array.isArray(r)?r:[r],m=t._fullLayout,g=m._plots||[],k=g[r];if(k){var A=k.overlays.map(function(t){return t.id});f=f.concat(A)}for(var T=f.length,S=new Array(T),E=new Array(T),L=0;L<T;L++){var C=f[L],z=g[C];if(z)S[L]=x.getFromId(t,z.xaxis._id),E[L]=x.getFromId(t,z.yaxis._id);else{var I=m[C]._subplot;S[L]=I.xaxis,E[L]=I.yaxis}}var D=e.hovermode||m.hovermode;if(-1===[\\\"x\\\",\\\"y\\\",\\\"closest\\\"].indexOf(D)||!t.calcdata||t.querySelector(\\\".zoombox\\\")||t._dragging)return b.unhoverRaw(t,e);var P,O,R,F,j,N,B,U,V,H,q,G,Y,X=[],W=[];if(Array.isArray(e))for(D=\\\"array\\\",R=0;R<e.length;R++)j=t.calcdata[e[R].curveNumber||0],\\\"skip\\\"!==j[0].trace.hoverinfo&&W.push(j);else{for(F=0;F<t.calcdata.length;F++)j=t.calcdata[F],N=j[0].trace,\\\"skip\\\"!==N.hoverinfo&&-1!==f.indexOf(w.getSubplot(N))&&W.push(j);var Z,J,K=!e.target;if(K)Z=\\\"xpx\\\"in e?e.xpx:S[0]._length/2,J=\\\"ypx\\\"in e?e.ypx:E[0]._length/2;else{if(!1===p.triggerHandler(t,\\\"plotly_beforehover\\\",e))return;var Q=e.target.getBoundingClientRect();if(Z=e.clientX-Q.left,J=e.clientY-Q.top,Z<0||Z>Q.width||J<0||J>Q.height)return b.unhoverRaw(t,e)}if(P=\\\"xval\\\"in e?w.flat(f,e.xval):w.p2c(S,Z),O=\\\"yval\\\"in e?w.flat(f,e.yval):w.p2c(E,J),!h(P[0])||!h(O[0]))return d.warn(\\\"Fx.hover failed\\\",e,t),b.unhoverRaw(t,e)}var $=1/0\\n\",\n       \";for(F=0;F<W.length;F++)if((j=W[F])&&j[0]&&j[0].trace&&!0===j[0].trace.visible&&(N=j[0].trace,-1===[\\\"carpet\\\",\\\"contourcarpet\\\"].indexOf(N._module.name))){if(B=w.getSubplot(N),U=f.indexOf(B),V=D,G={cd:j,trace:N,xa:S[U],ya:E[U],index:!1,distance:Math.min($,M.MAXDIST),color:y.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},m[B]&&(G.subplot=m[B]._subplot),Y=X.length,\\\"array\\\"===V){var tt=e[F];\\\"pointNumber\\\"in tt?(G.index=tt.pointNumber,V=\\\"closest\\\"):(V=\\\"\\\",\\\"xval\\\"in tt&&(H=tt.xval,V=\\\"x\\\"),\\\"yval\\\"in tt&&(q=tt.yval,V=V?\\\"closest\\\":\\\"y\\\"))}else H=P[U],q=O[U];if(N._module&&N._module.hoverPoints){var et=N._module.hoverPoints(G,H,q,V);if(et)for(var rt,nt=0;nt<et.length;nt++)rt=et[nt],h(rt.x0)&&h(rt.y0)&&X.push(s(rt,D))}else d.log(\\\"Unrecognized trace type in hover:\\\",N);\\\"closest\\\"===D&&X.length>Y&&(X.splice(0,Y),$=X[0].distance)}if(0===X.length)return b.unhoverRaw(t,e);X.sort(function(t,e){return t.distance-e.distance});var it=t._hoverdata,at=[];for(R=0;R<X.length;R++){var ot=X[R],st={data:ot.trace._input,fullData:ot.trace,curveNumber:ot.trace.index,pointNumber:ot.index};ot.trace._module.eventData?st=ot.trace._module.eventData(st,ot):(st.x=ot.xVal,st.y=ot.yVal,st.xaxis=ot.xa,st.yaxis=ot.ya,void 0!==ot.zLabelVal&&(st.z=ot.zLabelVal)),w.appendArrayPointValue(st,ot.trace,ot.index),at.push(st)}if(t._hoverdata=at,u(t,e,it)&&m._hasCartesian){l(X,{hovermode:D,fullLayout:m,container:m._hoverlayer,outerContainer:m._paperdiv})}var lt=\\\"y\\\"===D&&W.length>1,ut=y.combine(m.plot_bgcolor||y.background,m.paper_bgcolor),ct={hovermode:D,rotateLabels:lt,bgColor:ut,container:m._hoverlayer,outerContainer:m._paperdiv,commonLabelOpts:m.hoverlabel},ht=i(X,ct,t);if(a(X,lt?\\\"xa\\\":\\\"ya\\\"),o(ht,lt),e.target&&e.target.tagName){var ft=_.getComponentMethod(\\\"annotations\\\",\\\"hasClickToShow\\\")(t,at);v(c.select(e.target),ft?\\\"pointer\\\":\\\"\\\")}e.target&&!n&&u(t,e,it)&&(it&&t.emit(\\\"plotly_unhover\\\",{event:e,points:it}),t.emit(\\\"plotly_hover\\\",{event:e,points:t._hoverdata,xaxes:S,yaxes:E,xvals:P,yvals:O}))}function i(t,e,r){var n,i,a=e.hovermode,o=e.rotateLabels,s=e.bgColor,l=e.container,u=e.outerContainer,h=e.commonLabelOpts||{},f=e.fontFamily||M.HOVERFONT,d=e.fontSize||M.HOVERFONTSIZE,p=t[0],v=p.xa,b=p.ya,x=\\\"y\\\"===a?\\\"yLabel\\\":\\\"xLabel\\\",_=p[x],w=(String(_)||\\\"\\\").split(\\\" \\\")[0],A=u.node().getBoundingClientRect(),T=A.top,S=A.width,E=A.height,z=p.distance<=M.MAXDIST&&(\\\"x\\\"===a||\\\"y\\\"===a);for(n=0;n<t.length;n++){i=t[n].hoverinfo||t[n].trace.hoverinfo;var I=i.split(\\\"+\\\");if(-1===I.indexOf(\\\"all\\\")&&-1===I.indexOf(a)){z=!1;break}}var D=l.selectAll(\\\"g.axistext\\\").data(z?[0]:[]);D.enter().append(\\\"g\\\").classed(\\\"axistext\\\",!0),D.exit().remove(),D.each(function(){var e=c.select(this),n=e.selectAll(\\\"path\\\").data([0]),i=e.selectAll(\\\"text\\\").data([0]);n.enter().append(\\\"path\\\").style({fill:h.bgcolor||y.defaultLine,stroke:h.bordercolor||y.background,\\\"stroke-width\\\":\\\"1px\\\"}),i.enter().append(\\\"text\\\").call(g.font,h.font.family||f,h.font.size||d,h.font.color||y.background).attr(\\\"data-notex\\\",1),i.text(_).call(m.positionText,0,0).call(m.convertToTspans,r),e.attr(\\\"transform\\\",\\\"\\\");var o=i.node().getBoundingClientRect();if(\\\"x\\\"===a){i.attr(\\\"text-anchor\\\",\\\"middle\\\").call(m.positionText,0,\\\"top\\\"===v.side?T-o.bottom-L-C:T-o.top+L+C);var s=\\\"top\\\"===v.side?\\\"-\\\":\\\"\\\";n.attr(\\\"d\\\",\\\"M0,0L\\\"+L+\\\",\\\"+s+L+\\\"H\\\"+(C+o.width/2)+\\\"v\\\"+s+(2*C+o.height)+\\\"H-\\\"+(C+o.width/2)+\\\"V\\\"+s+L+\\\"H-\\\"+L+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(v._offset+(p.x0+p.x1)/2)+\\\",\\\"+(b._offset+(\\\"top\\\"===v.side?0:b._length))+\\\")\\\")}else{i.attr(\\\"text-anchor\\\",\\\"right\\\"===b.side?\\\"start\\\":\\\"end\\\").call(m.positionText,(\\\"right\\\"===b.side?1:-1)*(C+L),T-o.top-o.height/2);var l=\\\"right\\\"===b.side?\\\"\\\":\\\"-\\\";n.attr(\\\"d\\\",\\\"M0,0L\\\"+l+L+\\\",\\\"+L+\\\"V\\\"+(C+o.height/2)+\\\"h\\\"+l+(2*C+o.width)+\\\"V-\\\"+(C+o.height/2)+\\\"H\\\"+l+L+\\\"V-\\\"+L+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(v._offset+(\\\"right\\\"===b.side?v._length:0))+\\\",\\\"+(b._offset+(p.y0+p.y1)/2)+\\\")\\\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[x]||\\\"\\\").split(\\\" \\\")[0]===w})});var P=l.selectAll(\\\"g.hovertext\\\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\\\"\\\"].join(\\\",\\\")});return P.enter().append(\\\"g\\\").classed(\\\"hovertext\\\",!0).each(function(){var t=c.select(this);t.append(\\\"rect\\\").call(y.fill,y.addOpacity(s,.8)),t.append(\\\"text\\\").classed(\\\"name\\\",!0),t.append(\\\"path\\\").style(\\\"stroke-width\\\",\\\"1px\\\"),t.append(\\\"text\\\").classed(\\\"nums\\\",!0).call(g.font,f,d)}),P.exit().remove(),P.each(function(t){var e=c.select(this).attr(\\\"transform\\\",\\\"\\\"),n=\\\"\\\",i=\\\"\\\",l=y.opacity(t.color)?t.color:y.defaultLine,u=y.combine(l,s),h=t.borderColor||y.contrast(u);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){n=m.plainText(t.name||\\\"\\\");var p=Math.round(t.nameLength);p>-1&&n.length>p&&(n=p>3?n.substr(0,p-3)+\\\"...\\\":n.substr(0,p))}void 0!==t.extraText&&(i+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(i+=\\\"x: \\\"+t.xLabel+\\\"<br>\\\"),void 0!==t.yLabel&&(i+=\\\"y: \\\"+t.yLabel+\\\"<br>\\\"),i+=(i?\\\"z: \\\":\\\"\\\")+t.zLabel):z&&t[a+\\\"Label\\\"]===_?i=t[(\\\"x\\\"===a?\\\"y\\\":\\\"x\\\")+\\\"Label\\\"]||\\\"\\\":void 0===t.xLabel?void 0!==t.yLabel&&(i=t.yLabel):i=void 0===t.yLabel?t.xLabel:\\\"(\\\"+t.xLabel+\\\", \\\"+t.yLabel+\\\")\\\",t.text&&!Array.isArray(t.text)&&(i+=(i?\\\"<br>\\\":\\\"\\\")+t.text),\\\"\\\"===i&&(\\\"\\\"===n&&e.remove(),i=n);var v=e.select(\\\"text.nums\\\").call(g.font,t.fontFamily||f,t.fontSize||d,t.fontColor||h).text(i).attr(\\\"data-notex\\\",1).call(m.positionText,0,0).call(m.convertToTspans,r),b=e.select(\\\"text.name\\\"),x=0;n&&n!==i?(b.call(g.font,t.fontFamily||f,t.fontSize||d,u).text(n).attr(\\\"data-notex\\\",1).call(m.positionText,0,0).call(m.convertToTspans,r),x=b.node().getBoundingClientRect().width+2*C):(b.remove(),e.select(\\\"rect\\\").remove()),e.select(\\\"path\\\").style({fill:u,stroke:h});var w,M,A=v.node().getBoundingClientRect(),I=t.xa._offset+(t.x0+t.x1)/2,D=t.ya._offset+(t.y0+t.y1)/2,P=Math.abs(t.x1-t.x0),O=Math.abs(t.y1-t.y0),R=A.width+L+C+x;t.ty0=T-A.top,t.bx=A.width+2*C,t.by=A.height+2*C,t.anchor=\\\"start\\\",t.txwidth=A.width,t.tx2width=x,t.offset=0,o?(t.pos=I,w=D+O/2+R<=E,M=D-O/2-R>=0,\\\"top\\\"!==t.idealAlign&&w||!M?w?(D+=O/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(D-=O/2,t.anchor=\\\"end\\\")):(t.pos=D,w=I+P/2+R<=S,M=I-P/2-R>=0,\\\"left\\\"!==t.idealAlign&&w||!M?w?(I+=P/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(I-=P/2,t.anchor=\\\"end\\\")),v.attr(\\\"text-anchor\\\",t.anchor),x&&b.attr(\\\"text-anchor\\\",t.anchor),e.attr(\\\"transform\\\",\\\"translate(\\\"+I+\\\",\\\"+D+\\\")\\\"+(o?\\\"rotate(\\\"+k+\\\")\\\":\\\"\\\"))}),P}function a(t,e){function r(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;o<t.length;o++)l=t[o],l.pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if(l=t[o],l.pos<e.pmin+1)for(l.del=!0,u--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(var n,i,a,o,s,l,u,c=0,h=t.map(function(t,r){var n=t[e];return[{i:r,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\\\"x\\\"===n._id.charAt(0)?T:1)/2,pmin:n._offset,pmax:n._offset+n._length}]}).sort(function(t,e){return t[0].posref-e[0].posref});!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var f=h[o],d=h[o+1],p=f[f.length-1],m=d[0];if((i=p.pos+p.dp+p.size-m.pos-m.dp+m.size)>.01&&p.pmin===m.pmin&&p.pmax===m.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(f.push.apply(f,d),h.splice(o+1,1),u=0,s=f.length-1;s>=0;s--)u+=f[s].dp;for(a=u/f.length,s=f.length-1;s>=0;s--)f[s].dp-=a;n=!1}else o++}h.forEach(r)}for(o=h.length-1;o>=0;o--){var v=h[o];for(s=v.length-1;s>=0;s--){var g=v[s],y=t[g.i];y.offset=g.dp,y.del=g.del}}}function o(t,e){t.each(function(t){var r=c.select(this);if(t.del)return void r.remove();var n=\\\"end\\\"===t.anchor?-1:1,i=r.select(\\\"text.nums\\\"),a={start:1,end:-1,middle:0}[t.anchor],o=a*(L+C),s=o+a*(t.txwidth+C),l=0,u=t.offset;\\\"middle\\\"===t.anchor&&(o-=t.tx2width/2,s-=t.tx2width/2),e&&(u*=-E,l=t.offset*S),r.select(\\\"path\\\").attr(\\\"d\\\",\\\"middle\\\"===t.anchor?\\\"M-\\\"+t.bx/2+\\\",-\\\"+t.by/2+\\\"h\\\"+t.bx+\\\"v\\\"+t.by+\\\"h-\\\"+t.bx+\\\"Z\\\":\\\"M0,0L\\\"+(n*L+l)+\\\",\\\"+(L+u)+\\\"v\\\"+(t.by/2-L)+\\\"h\\\"+n*t.bx+\\\"v-\\\"+t.by+\\\"H\\\"+(n*L+l)+\\\"V\\\"+(u-L)+\\\"Z\\\"),i.call(m.positionText,o+l,u+t.ty0-t.by/2+C),t.tx2width&&(r.select(\\\"text.name\\\").call(m.positionText,s+a*C+l,u+t.ty0-t.by/2+C),r.select(\\\"rect\\\").call(g.setRect,s+(a-1)*t.tx2width/2+l,u-t.by/2-1,t.tx2width,t.by+2))})}function s(t,e){function r(e,r,o){var s;if(a[r])s=a[r];else if(i[r]){var l=i[r];Array.isArray(l)&&Array.isArray(l[t.index[0]])&&(s=l[t.index[0]][t.index[1]])}else s=d.nestedProperty(n,o).get();s&&(t[e]=s)}var n=t.trace||{},i=t.cd[0],a=t.cd[t.index]||{};r(\\\"hoverinfo\\\",\\\"hi\\\",\\\"hoverinfo\\\"),r(\\\"color\\\",\\\"hbg\\\",\\\"hoverlabel.bgcolor\\\"),r(\\\"borderColor\\\",\\\"hbc\\\",\\\"hoverlabel.bordercolor\\\"),r(\\\"fontFamily\\\",\\\"htf\\\",\\\"hoverlabel.font.family\\\"),r(\\\"fontSize\\\",\\\"hts\\\",\\\"hoverlabel.font.size\\\"),r(\\\"fontColor\\\",\\\"htc\\\",\\\"hoverlabel.font.color\\\"),r(\\\"nameLength\\\",\\\"hnl\\\",\\\"hoverlabel.namelength\\\"),t.posref=\\\"y\\\"===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=d.constrain(t.x0,0,t.xa._length),t.x1=d.constrain(t.x1,0,t.xa._length),t.y0=d.constrain(t.y0,0,t.ya._length),t.y1=d.constrain(t.y1,0,t.ya._length);var o;if(void 0!==t.xLabelVal){o=\\\"log\\\"===t.xa.type&&t.xLabelVal<=0;var s=x.tickText(t.xa,t.xa.c2l(o?-t.xLabelVal:t.xLabelVal),\\\"hover\\\");o?0===t.xLabelVal?t.xLabel=\\\"0\\\":t.xLabel=\\\"-\\\"+s.text:t.xLabel=s.text,t.xVal=t.xa.c2d(t.xLabelVal)}if(void 0!==t.yLabelVal){o=\\\"log\\\"===t.ya.type&&t.yLabelVal<=0;var l=x.tickText(t.ya,t.ya.c2l(o?-t.yLabelVal:t.yLabelVal),\\\"hover\\\");o?0===t.yLabelVal?t.yLabel=\\\"0\\\":t.yLabel=\\\"-\\\"+l.text:t.yLabel=l.text,t.yVal=t.ya.c2d(t.yLabelVal)}if(void 0!==t.zLabelVal&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\\\"log\\\"===t.xa.type&&t.xerr<=0)){var u=x.tickText(t.xa,t.xa.c2l(t.xerr),\\\"hover\\\").text;void 0!==t.xerrneg?t.xLabel+=\\\" +\\\"+u+\\\" / -\\\"+x.tickText(t.xa,t.xa.c2l(t.xerrneg),\\\"hover\\\").text:t.xLabel+=\\\" \\\\xb1 \\\"+u,\\\"x\\\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\\\"log\\\"===t.ya.type&&t.yerr<=0)){var c=x.tickText(t.ya,t.ya.c2l(t.yerr),\\\"hover\\\").text;void 0!==t.yerrneg?t.yLabel+=\\\" +\\\"+c+\\\" / -\\\"+x.tickText(t.ya,t.ya.c2l(t.yerrneg),\\\"hover\\\").text:t.yLabel+=\\\" \\\\xb1 \\\"+c,\\\"y\\\"===e&&(t.distance+=1)}var h=t.hoverinfo||t.trace.hoverinfo;return\\\"all\\\"!==h&&(h=h.split(\\\"+\\\"),-1===h.indexOf(\\\"x\\\")&&(t.xLabel=void 0),-1===h.indexOf(\\\"y\\\")&&(t.yLabel=void 0),-1===h.indexOf(\\\"z\\\")&&(t.zLabel=void 0),-1===h.indexOf(\\\"text\\\")&&(t.text=void 0),-1===h.indexOf(\\\"name\\\")&&(t.name=void 0)),t}function l(t,e){var r=e.hovermode,n=e.container,i=t[0],a=i.xa,o=i.ya,s=a.showspikes,l=o.showspikes;if(n.selectAll(\\\".spikeline\\\").remove(),\\\"closest\\\"===r&&(s||l)){var u=e.fullLayout,c=a._offset+(i.x0+i.x1)/2,h=o._offset+(i.y0+i.y1)/2,d=y.combine(u.plot_bgcolor,u.paper_bgcolor),p=f.readability(i.color,d)<1.5?y.contrast(d):i.color;if(l){var m=o.spikemode,v=o.spikethickness,b=o.spikecolor||p,x=o._boundingBox,_=(x.left+x.right)/2<c?x.right:x.left;if(-1!==m.indexOf(\\\"toaxis\\\")||-1!==m.indexOf(\\\"across\\\")){var w=_,M=c;-1!==m.indexOf(\\\"across\\\")&&(w=o._counterSpan[0],M=o._counterSpan[1]),n.append(\\\"line\\\").attr({x1:w,x2:M,y1:h,y2:h,\\\"stroke-width\\\":v+2,stroke:d}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),n.append(\\\"line\\\").attr({x1:w,x2:M,y1:h,y2:h,\\\"stroke-width\\\":v,stroke:b,\\\"stroke-dasharray\\\":g.dashStyle(o.spikedash,v)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)}-1!==m.indexOf(\\\"marker\\\")&&n.append(\\\"circle\\\").attr({cx:_+(\\\"right\\\"!==o.side?v:-v),cy:h,r:v,fill:b}).classed(\\\"spikeline\\\",!0)}if(s){var k=a.spikemode,A=a.spikethickness,T=a.spikecolor||p,S=a._boundingBox,E=(S.top+S.bottom)/2<h?S.bottom:S.top;if(-1!==k.indexOf(\\\"toaxis\\\")||-1!==k.indexOf(\\\"across\\\")){var L=E,C=h;-1!==k.indexOf(\\\"across\\\")&&(L=a._counterSpan[0],C=a._counterSpan[1]),n.append(\\\"line\\\").attr({x1:c,x2:c,y1:L,y2:C,\\\"stroke-width\\\":A+2,stroke:d}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),n.append(\\\"line\\\").attr({x1:c,x2:c,y1:L,y2:C,\\\"stroke-width\\\":A,stroke:T,\\\"stroke-dasharray\\\":g.dashStyle(a.spikedash,A)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)}-1!==k.indexOf(\\\"marker\\\")&&n.append(\\\"circle\\\").attr({cx:c,cy:E-(\\\"top\\\"!==a.side?A:-A),r:A,fill:T}).classed(\\\"spikeline\\\",!0)}}}function u(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}var c=t(\\\"d3\\\"),h=t(\\\"fast-isnumeric\\\"),f=t(\\\"tinycolor2\\\"),d=t(\\\"../../lib\\\"),p=t(\\\"../../lib/events\\\"),m=t(\\\"../../lib/svg_text_utils\\\"),v=t(\\\"../../lib/override_cursor\\\"),g=t(\\\"../drawing\\\"),y=t(\\\"../color\\\"),b=t(\\\"../dragelement\\\"),x=t(\\\"../../plots/cartesian/axes\\\"),_=t(\\\"../../registry\\\"),w=t(\\\"./helpers\\\"),M=t(\\\"./constants\\\"),k=M.YANGLE,A=Math.PI*k/180,T=1/Math.sin(A),S=Math.cos(A),E=Math.sin(A),L=M.HOVERARROWSIZE,C=M.HOVERTEXTPAD;r.hover=function(t,e,r,i){if(\\\"string\\\"==typeof t&&(t=document.getElementById(t)),void 0===t._lastHoverTime&&(t._lastHoverTime=0),void 0!==t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),Date.now()>t._lastHoverTime+M.HOVERMINTIME)return n(t,e,r,i),void(t._lastHoverTime=Date.now());t._hoverTimer=setTimeout(function(){n(t,e,r,i),t._lastHoverTime=Date.now(),t._hoverTimer=void 0},M.HOVERMINTIME)},r.loneHover=function(t,e){var r={color:t.color||y.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,trace:{index:0,hoverinfo:\\\"\\\"},xa:{_offset:0},ya:{_offset:0},index:0},n=c.select(e.container),a=e.outerContainer?c.select(e.outerContainer):n,s={hovermode:\\\"closest\\\",rotateLabels:!1,bgColor:e.bgColor||y.background,container:n,outerContainer:a},l=i([r],s,e.gd);return o(l,s.rotateLabels),l.node()}},{\\\"../../lib\\\":725,\\\"../../lib/events\\\":715,\\\"../../lib/override_cursor\\\":735,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./constants\\\":639,\\\"./helpers\\\":641,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],643:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){i=i||{},r(\\\"hoverlabel.bgcolor\\\",i.bgcolor),r(\\\"hoverlabel.bordercolor\\\",i.bordercolor),r(\\\"hoverlabel.namelength\\\",i.namelength),n.coerceFont(r,\\\"hoverlabel.font\\\",i.font)}},{\\\"../../lib\\\":725}],644:[function(t,e,r){\\\"use strict\\\";function n(t){var e=s.isD3Selection(t)?t:o.select(t);e.selectAll(\\\"g.hovertext\\\").remove(),e.selectAll(\\\".spikeline\\\").remove()}function i(t,e,r){return s.castOption(t,e,\\\"hoverlabel.\\\"+r)}function a(t,e,r){function n(r){return s.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}return s.castOption(t,r,\\\"hoverinfo\\\",n)}var o=t(\\\"d3\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../dragelement\\\"),u=t(\\\"./helpers\\\"),c=t(\\\"./layout_attributes\\\");e.exports={moduleType:\\\"component\\\",name:\\\"fx\\\",constants:t(\\\"./constants\\\"),schema:{layout:c},attributes:t(\\\"./attributes\\\"),layoutAttributes:c,supplyLayoutGlobalDefaults:t(\\\"./layout_global_defaults\\\"),supplyDefaults:t(\\\"./defaults\\\"),supplyLayoutDefaults:t(\\\"./layout_defaults\\\"),calc:t(\\\"./calc\\\"),getDistanceFunction:u.getDistanceFunction,getClosest:u.getClosest,inbox:u.inbox,appendArrayPointValue:u.appendArrayPointValue,castHoverOption:i,castHoverinfo:a,hover:t(\\\"./hover\\\").hover,unhover:l.unhover,loneHover:t(\\\"./hover\\\").loneHover,loneUnhover:n,click:t(\\\"./click\\\")}},{\\\"../../lib\\\":725,\\\"../dragelement\\\":624,\\\"./attributes\\\":636,\\\"./calc\\\":637,\\\"./click\\\":638,\\\"./constants\\\":639,\\\"./defaults\\\":640,\\\"./helpers\\\":641,\\\"./hover\\\":642,\\\"./layout_attributes\\\":645,\\\"./layout_defaults\\\":646,\\\"./layout_global_defaults\\\":647,d3:121}],645:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"./constants\\\");e.exports={dragmode:{valType:\\\"enumerated\\\",values:[\\\"zoom\\\",\\\"pan\\\",\\\"select\\\",\\\"lasso\\\",\\\"orbit\\\",\\\"turntable\\\"],dflt:\\\"zoom\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"closest\\\",!1]},hoverlabel:{bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\"},font:{family:n({},i.family,{dflt:a.HOVERFONT}),size:n({},i.size,{dflt:a.HOVERFONTSIZE}),color:n({},i.color)},namelength:{valType:\\\"integer\\\",min:-1,dflt:15}}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"./constants\\\":639}],646:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=!0,r=0;r<t.length;r++){if(\\\"h\\\"!==t[r].orientation){e=!1;break}}return e}var i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function o(r,n){return i.coerce(t,e,a,r,n)}o(\\\"dragmode\\\");var s;e._has(\\\"cartesian\\\")?(e._isHoriz=n(r),s=e._isHoriz?\\\"y\\\":\\\"x\\\"):s=\\\"closest\\\",o(\\\"hovermode\\\",s),e._has(\\\"mapbox\\\")&&1===e._basePlotModules.length&&\\\"zoom\\\"===e.dragmode&&(e.dragmode=\\\"pan\\\")}},{\\\"../../lib\\\":725,\\\"./layout_attributes\\\":645}],647:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./hoverlabel_defaults\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}i(t,e,r)}},{\\\"../../lib\\\":725,\\\"./hoverlabel_defaults\\\":643,\\\"./layout_attributes\\\":645}],648:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/constants\\\");e.exports={_isLinkedToArray:\\\"image\\\",visible:{valType:\\\"boolean\\\",dflt:!0},source:{valType:\\\"string\\\"},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\"},sizex:{valType:\\\"number\\\",dflt:0},sizey:{valType:\\\"number\\\",dflt:0},sizing:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"contain\\\",\\\"stretch\\\"],dflt:\\\"contain\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},x:{valType:\\\"any\\\",dflt:0},y:{valType:\\\"any\\\",dflt:0},xanchor:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"top\\\"},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",n.idRegex.x.toString()],dflt:\\\"paper\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",n.idRegex.y.toString()],dflt:\\\"paper\\\"}}},{\\\"../../plots/cartesian/constants\\\":771}],649:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){e=e||{};var o=\\\"log\\\"===r&&\\\"linear\\\"===e.type,s=\\\"linear\\\"===r&&\\\"log\\\"===e.type;if(o||s)for(var l,u,c=t._fullLayout.images,h=e._id.charAt(0),f=0;f<c.length;f++)if(l=c[f],u=\\\"images[\\\"+f+\\\"].\\\",l[h+\\\"ref\\\"]===e._id){var d=l[h],p=l[\\\"size\\\"+h],m=null,v=null;if(o){m=i(d,e.range);var g=p/Math.pow(10,m)/2;v=2*Math.log(g+Math.sqrt(1+g*g))/Math.LN10}else m=Math.pow(10,d),v=m*(Math.pow(10,p/2)-Math.pow(10,-p/2));n(m)?n(v)||(v=null):(m=null,v=null),a(u+h,m),a(u+\\\"size\\\"+h,v)}}},{\\\"../../lib/to_log_range\\\":746,\\\"fast-isnumeric\\\":130}],650:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}if(!n(\\\"visible\\\",!!n(\\\"source\\\")))return e;n(\\\"layer\\\"),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"sizex\\\"),n(\\\"sizey\\\"),n(\\\"sizing\\\"),n(\\\"opacity\\\");for(var o={_fullLayout:r},l=[\\\"x\\\",\\\"y\\\"],u=0;u<2;u++){var c=l[u],h=a.coerceRef(t,e,o,c,\\\"paper\\\");a.coercePosition(e,o,n,h,c,0)}return e}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e){o(t,e,{name:\\\"images\\\",handleItemDefaults:n})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":648}],651:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../drawing\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\");e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\\\"xmlns\\\",o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(\\\"crossOrigin\\\",\\\"anonymous\\\"),i.onerror=n,i.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\\\",n),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),s=a.getFromId(t,e.yref),l=u._size,c=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*l.w,h=s?Math.abs(s.l2p(e.sizey)-s.l2p(0)):e.sizey*l.h,f=c*m.x[e.xanchor].offset,d=h*m.y[e.yanchor].offset,p=m.x[e.xanchor].sizing+m.y[e.yanchor].sizing,v=(o?o.r2p(e.x)+o._offset:e.x*l.w+l.l)+f,g=(s?s.r2p(e.y)+s._offset:l.h-e.y*l.h+l.t)+d;switch(e.sizing){case\\\"fill\\\":p+=\\\" slice\\\";break;case\\\"stretch\\\":p=\\\"none\\\"}r.attr({x:v,y:g,width:c,height:h,preserveAspectRatio:p,opacity:e.opacity});var y=o?o._id:\\\"\\\",b=s?s._id:\\\"\\\",x=y+b;r.call(i.setClipUrl,x?\\\"clip\\\"+u._uid+x:null)}var s,l,u=t._fullLayout,c=[],h={},f=[];for(l=0;l<u.images.length;l++){var d=u.images[l];if(d.visible)if(\\\"below\\\"===d.layer&&\\\"paper\\\"!==d.xref&&\\\"paper\\\"!==d.yref){s=d.xref+d.yref;var p=u._plots[s];if(!p){f.push(d);continue}p.mainplot&&(s=p.mainplot.id),h[s]||(h[s]=[]),h[s].push(d)}else\\\"above\\\"===d.layer?c.push(d):f.push(d)}var m={x:{left:{sizing:\\\"xMin\\\",offset:0},center:{sizing:\\\"xMid\\\",offset:-.5},right:{sizing:\\\"xMax\\\",offset:-1}},y:{top:{sizing:\\\"YMin\\\",offset:0},middle:{sizing:\\\"YMid\\\",offset:-.5},bottom:{sizing:\\\"YMax\\\",offset:-1}}},v=u._imageLowerLayer.selectAll(\\\"image\\\").data(f),g=u._imageUpperLayer.selectAll(\\\"image\\\").data(c);v.enter().append(\\\"image\\\"),g.enter().append(\\\"image\\\"),v.exit().remove(),g.exit().remove(),v.each(function(t){e.bind(this)(t),r.bind(this)(t)}),g.each(function(t){e.bind(this)(t),r.bind(this)(t)});var y=Object.keys(u._plots);for(l=0;l<y.length;l++){s=y[l];var b=u._plots[s];if(b.imagelayer){var x=b.imagelayer.selectAll(\\\"image\\\").data(h[s]||[]);x.enter().append(\\\"image\\\"),x.exit().remove(),x.each(function(t){e.bind(this)(t),r.bind(this)(t)})}}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../plots/cartesian/axes\\\":766,\\\"../drawing\\\":627,d3:121}],652:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"images\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),draw:t(\\\"./draw\\\"),convertCoords:t(\\\"./convert_coords\\\")}},{\\\"./attributes\\\":648,\\\"./convert_coords\\\":649,\\\"./defaults\\\":650,\\\"./draw\\\":651}],653:[function(t,e,r){\\\"use strict\\\";r.isRightAnchor=function(t){return\\\"right\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\\\"center\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\\\"bottom\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\\\"middle\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],654:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat;e.exports={bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.defaultLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:0},font:a({},n,{}),orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"],dflt:\\\"v\\\"},traceorder:{valType:\\\"flaglist\\\",flags:[\\\"reversed\\\",\\\"grouped\\\"],extras:[\\\"normal\\\"]},tracegroupgap:{valType:\\\"number\\\",min:0,dflt:10},x:{valType:\\\"number\\\",min:-2,max:3,dflt:1.02},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\"},y:{valType:\\\"number\\\",min:-2,max:3,dflt:1},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\"}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../color/attributes\\\":602}],655:[function(t,e,r){\\\"use strict\\\";e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:\\\"#808BA4\\\",scrollBarMargin:4}},{}],656:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../../plots/layout_attributes\\\"),s=t(\\\"./helpers\\\");e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var u,c,h,f,d=t.legend||{},p=e.legend={},m=0,v=\\\"normal\\\",g=0;g<r.length;g++){var y=r[g];s.legendGetsTrace(y)&&(m++,n.traceIs(y,\\\"pie\\\")&&m++),(n.traceIs(y,\\\"bar\\\")&&\\\"stack\\\"===e.barmode||-1!==[\\\"tonextx\\\",\\\"tonexty\\\"].indexOf(y.fill))&&(v=s.isGrouped({traceorder:v})?\\\"grouped+reversed\\\":\\\"reversed\\\"),void 0!==y.legendgroup&&\\\"\\\"!==y.legendgroup&&(v=s.isReversed({traceorder:v})?\\\"reversed+grouped\\\":\\\"grouped\\\")}if(!1!==i.coerce(t,e,o,\\\"showlegend\\\",m>1)){if(l(\\\"bgcolor\\\",e.paper_bgcolor),l(\\\"bordercolor\\\"),l(\\\"borderwidth\\\"),i.coerceFont(l,\\\"font\\\",e.font),l(\\\"orientation\\\"),\\\"h\\\"===p.orientation){var b=t.xaxis;b&&b.rangeslider&&b.rangeslider.visible?(u=0,h=\\\"left\\\",c=1.1,f=\\\"bottom\\\"):(u=0,h=\\\"left\\\",c=-.1,f=\\\"top\\\")}l(\\\"traceorder\\\",v),s.isGrouped(e.legend)&&l(\\\"tracegroupgap\\\"),l(\\\"x\\\",u),l(\\\"xanchor\\\",h),l(\\\"y\\\",c),l(\\\"yanchor\\\",f),i.noneOrAll(d,p,[\\\"x\\\",\\\"y\\\"])}}},{\\\"../../lib\\\":725,\\\"../../plots/layout_attributes\\\":820,\\\"../../registry\\\":844,\\\"./attributes\\\":654,\\\"./helpers\\\":659}],657:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(r){y.convertToTspans(r,e,function(){o(t,e)})}var n=t.data()[0][0],i=e._fullLayout,a=n.trace,s=p.traceIs(a,\\\"pie\\\"),l=a.index,u=s?n.label:a.name,c=t.selectAll(\\\"text.legendtext\\\").data([0]);c.enter().append(\\\"text\\\").classed(\\\"legendtext\\\",!0),c.attr(\\\"text-anchor\\\",\\\"start\\\").classed(\\\"user-select-none\\\",!0).call(v.font,i.legend.font).text(u),e._context.edits.legendText&&!s?c.call(y.makeEditable,{gd:e}).call(r).on(\\\"edit\\\",function(t){this.text(t).call(r);var i=t;this.text()||(t=\\\"    \\\");var a,o,s=n.trace._fullInput||{},u={};if(-1!==[\\\"ohlc\\\",\\\"candlestick\\\"].indexOf(s.type))a=n.trace.transforms,o=a[a.length-1].direction,u[o+\\\".name\\\"]=t;else if(p.hasTransform(s,\\\"groupby\\\")){var c=p.getTransformIndices(s,\\\"groupby\\\"),d=c[c.length-1],m=f.keyedContainer(s,\\\"transforms[\\\"+d+\\\"].styles\\\",\\\"target\\\",\\\"value.name\\\");\\\"\\\"===i?m.remove(n.trace._group):m.set(n.trace._group,t),u=m.constructUpdate()}else u.name=t;return h.restyle(e,u,l)}):c.call(r)}function i(t,e){var r,n=1,i=t.selectAll(\\\"rect\\\").data([0]);i.enter().append(\\\"rect\\\").classed(\\\"legendtoggle\\\",!0).style(\\\"cursor\\\",\\\"pointer\\\").attr(\\\"pointer-events\\\",\\\"all\\\").call(g.fill,\\\"rgba(0,0,0,0)\\\"),i.on(\\\"mousedown\\\",function(){r=(new Date).getTime(),r-e._legendMouseDownTime<S?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(\\\"mouseup\\\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>S&&(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){a(t,e,n)},S):2===n&&(r._clickTimeout&&clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,a(t,e,n))}})}function a(t,e,r){if(!e._dragged&&!e._editing){var n,i,a=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],o=t.data()[0][0],s=e._fullData,l=o.trace,u=l.legendgroup,c=[];if(1===r&&T&&e.data&&e._context.showTips?(f.notifier(\\\"Double click on legend to isolate individual trace\\\",\\\"long\\\"),T=!1):T=!1,p.traceIs(l,\\\"pie\\\")){var d=o.label,m=a.indexOf(d);1===r?-1===m?a.push(d):a.splice(m,1):2===r&&(a=[],e.calcdata[0].forEach(function(t){d!==t.label&&a.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===a.length&&-1===m&&(a=[])),h.relayout(e,\\\"hiddenlabels\\\",a)}else{var v,g=[],y=[];for(v=0;v<s.length;v++)g.push(v),y.push(!!p.traceIs(s[v],\\\"notLegendIsolatable\\\")||\\\"legendonly\\\");if(\\\"\\\"===u)c=[l.index],y[l.index]=!0;else for(v=0;v<s.length;v++)n=s[v],n.legendgroup===u&&(c.push(n.index),y[g.indexOf(v)]=!0);if(1===r)i=!0!==l.visible||\\\"legendonly\\\",h.restyle(e,\\\"visible\\\",i,c);else if(2===r){var b=!0;for(v=0;v<s.length;v++)if(s[v].visible!==y[v]){b=!1;break}b&&(y=!0);var x=[];for(v=0;v<s.length;v++)x.push(g[v]);h.restyle(e,\\\"visible\\\",y,x)}}}}function o(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\\\"g[class*=math-group]\\\"),o=a.node(),s=e._fullLayout.legend,l=s.font.size*_;if(o){var u=v.bBox(o);n=u.height,i=u.width,v.setTranslate(a,0,n/4)}else{var c=t.select(\\\".legendtext\\\"),h=y.lineCount(c),f=c.node();n=l*h,i=f?v.bBox(f).width:0;var d=l*(.3+(1-h)/2);y.positionText(c,40,d)}n=Math.max(n,16)+3,r.height=n,r.width=i}function s(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=k.isGrouped(i),s=0;if(i.width=0,i.height=0,k.isVertical(i))o&&e.each(function(t,e){v.setTranslate(this,0,e*i.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;v.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&&(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),s=40;else if(o){for(var l=[i.width],u=e.data(),h=0,f=u.length;h<f;h++){var d=u[h].map(function(t){return t[0].width}),p=40+Math.max.apply(null,d);i.width+=i.tracegroupgap+p,l.push(i.width)}e.each(function(t,e){v.setTranslate(this,l[e],0)}),e.each(function(){var t=c.select(this),e=t.selectAll(\\\"g.traces\\\"),r=0;e.each(function(t){var e=t[0],n=e.height;v.setTranslate(this,0,5+a+r+n/2),r+=n}),i.height=Math.max(i.height,r)}),i.height+=10+2*a,i.width+=2*a}else{var m=0,g=0,y=0,b=0;r.each(function(t){y=Math.max(40+t[0].width,y)}),r.each(function(t){var e=t[0],r=y,o=i.tracegroupgap||5;a+b+o+r>n.width-(n.margin.r+n.margin.l)&&(b=0,m+=g,i.height=i.height+g,g=0),v.setTranslate(this,a+b,5+a+e.height/2+m),i.width+=o+r,i.height=Math.max(i.height,e.height),b+=o+r,g=Math.max(e.height,g)}),i.width+=2*a,i.height+=10+2*a}i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];c.select(this).select(\\\".legendtoggle\\\").call(v.setRect,0,-r.height/2,(t._context.edits.legendText?0:i.width)+s,r.height)})}function l(t){var e=t._fullLayout,r=e.legend,n=\\\"left\\\";A.isRightAnchor(r)?n=\\\"right\\\":A.isCenterAnchor(r)&&(n=\\\"center\\\");var i=\\\"top\\\";A.isBottomAnchor(r)?i=\\\"bottom\\\":A.isMiddleAnchor(r)&&(i=\\\"middle\\\"),d.autoMargin(t,\\\"legend\\\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:r.height*({top:1,middle:.5}[i]||0),t:r.height*({bottom:1,middle:.5}[i]||0)})}function u(t){var e=t._fullLayout,r=e.legend,n=\\\"left\\\";A.isRightAnchor(r)?n=\\\"right\\\":A.isCenterAnchor(r)&&(n=\\\"center\\\"),d.autoMargin(t,\\\"legend\\\",{x:r.x,y:.5,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:0,t:0})}var c=t(\\\"d3\\\"),h=t(\\\"../../plotly\\\"),f=t(\\\"../../lib\\\"),d=t(\\\"../../plots/plots\\\"),p=t(\\\"../../registry\\\"),m=t(\\\"../dragelement\\\"),v=t(\\\"../drawing\\\"),g=t(\\\"../color\\\"),y=t(\\\"../../lib/svg_text_utils\\\"),b=t(\\\"./constants\\\"),x=t(\\\"../../constants/interactions\\\"),_=t(\\\"../../constants/alignment\\\").LINE_SPACING,w=t(\\\"./get_legend_data\\\"),M=t(\\\"./style\\\"),k=t(\\\"./helpers\\\"),A=t(\\\"./anchor_utils\\\"),T=!0,S=x.DBLCLICKDELAY;e.exports=function(t){function e(t,e){L.attr(\\\"data-scroll\\\",e).call(v.setTranslate,0,e),C.call(v.setRect,N,t,b.scrollBarWidth,b.scrollBarHeight),T.select(\\\"rect\\\").attr({y:y.borderwidth-e})}var r=t._fullLayout,o=\\\"legend\\\"+r._uid;if(r._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var y=r.legend,x=r.showlegend&&w(t.calcdata,y),_=r.hiddenlabels||[];if(!r.showlegend||!x.length)return r._infolayer.selectAll(\\\".legend\\\").remove(),r._topdefs.select(\\\"#\\\"+o).remove(),void d.autoMargin(t,\\\"legend\\\");var k=r._infolayer.selectAll(\\\"g.legend\\\").data([0]);k.enter().append(\\\"g\\\").attr({class:\\\"legend\\\",\\\"pointer-events\\\":\\\"all\\\"});var T=r._topdefs.selectAll(\\\"#\\\"+o).data([0]);T.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",o).append(\\\"rect\\\");var E=k.selectAll(\\\"rect.bg\\\").data([0]);E.enter().append(\\\"rect\\\").attr({class:\\\"bg\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),E.call(g.stroke,y.bordercolor),E.call(g.fill,y.bgcolor),E.style(\\\"stroke-width\\\",y.borderwidth+\\\"px\\\");var L=k.selectAll(\\\"g.scrollbox\\\").data([0]);L.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"scrollbox\\\");var C=k.selectAll(\\\"rect.scrollbar\\\").data([0]);C.enter().append(\\\"rect\\\").attr({class:\\\"scrollbar\\\",rx:20,ry:2,width:0,height:0}).call(g.fill,\\\"#808BA4\\\");var z=L.selectAll(\\\"g.groups\\\").data(x);z.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"groups\\\"),z.exit().remove();var I=z.selectAll(\\\"g.traces\\\").data(f.identity);I.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"traces\\\"),I.exit().remove(),I.call(M,t).style(\\\"opacity\\\",function(t){var e=t[0].trace;return p.traceIs(e,\\\"pie\\\")?-1!==_.indexOf(t[0].label)?.5:1:\\\"legendonly\\\"===e.visible?.5:1}).each(function(){c.select(this).call(n,t).call(i,t)});var D=0!==k.enter().size();D&&(s(t,z,I),l(t));var P=r.width,O=r.height;s(t,z,I),y.height>O?u(t):l(t);var R=r._size,F=R.l+R.w*y.x,j=R.t+R.h*(1-y.y);A.isRightAnchor(y)?F-=y.width:A.isCenterAnchor(y)&&(F-=y.width/2),A.isBottomAnchor(y)?j-=y.height:A.isMiddleAnchor(y)&&(j-=y.height/2);var N=y.width,B=R.w;N>B?(F=R.l,N=B):(F+N>P&&(F=P-N),F<0&&(F=0),N=Math.min(P-F,y.width));var U=y.height,V=R.h;U>V?(j=R.t,U=V):(j+U>O&&(j=O-U),j<0&&(j=0),U=Math.min(O-j,y.height)),v.setTranslate(k,F,j);var H,q,G=U-b.scrollBarHeight-2*b.scrollBarMargin,Y=y.height-U;if(y.height<=U||t._context.staticPlot)E.attr({width:N-y.borderwidth,height:U-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),v.setTranslate(L,0,0),T.select(\\\"rect\\\").attr({width:N-2*y.borderwidth,height:U-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth}),\\n\",\n       \"L.call(v.setClipUrl,o);else{H=b.scrollBarMargin,q=L.attr(\\\"data-scroll\\\")||0,E.attr({width:N-2*y.borderwidth+b.scrollBarWidth+b.scrollBarMargin,height:U-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),T.select(\\\"rect\\\").attr({width:N-2*y.borderwidth+b.scrollBarWidth+b.scrollBarMargin,height:U-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth-q}),L.call(v.setClipUrl,o),D&&e(H,q),k.on(\\\"wheel\\\",null),k.on(\\\"wheel\\\",function(){q=f.constrain(L.attr(\\\"data-scroll\\\")-c.event.deltaY/G*Y,-Y,0),H=b.scrollBarMargin-q/Y*G,e(H,q),0!==q&&q!==-Y&&c.event.preventDefault()}),C.on(\\\".drag\\\",null),L.on(\\\".drag\\\",null);var X=c.behavior.drag().on(\\\"drag\\\",function(){H=f.constrain(c.event.y-b.scrollBarHeight/2,b.scrollBarMargin,b.scrollBarMargin+G),q=-(H-b.scrollBarMargin)/G*Y,e(H,q)});C.call(X),L.call(X)}if(t._context.edits.legendPosition){var W,Z,J,K;k.classed(\\\"cursor-move\\\",!0),m.init({element:k.node(),gd:t,prepFn:function(){var t=v.getTranslate(k);J=t.x,K=t.y},moveFn:function(t,e){var r=J+t,n=K+e;v.setTranslate(k,r,n),W=m.align(r,0,R.l,R.l+R.w,y.xanchor),Z=m.align(n,0,R.t+R.h,R.t,y.yanchor)},doneFn:function(e,n,i){if(e&&void 0!==W&&void 0!==Z)h.relayout(t,{\\\"legend.x\\\":W,\\\"legend.y\\\":Z});else{var o=r._infolayer.selectAll(\\\"g.traces\\\").filter(function(){var t=this.getBoundingClientRect();return i.clientX>=t.left&&i.clientX<=t.right&&i.clientY>=t.top&&i.clientY<=t.bottom});o.size()>0&&(1===n?k._clickTimeout=setTimeout(function(){a(o,t,n)},S):2===n&&(k._clickTimeout&&clearTimeout(k._clickTimeout),a(o,t,n)))}}})}}}},{\\\"../../constants/alignment\\\":699,\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/plots\\\":829,\\\"../../registry\\\":844,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./anchor_utils\\\":653,\\\"./constants\\\":655,\\\"./get_legend_data\\\":658,\\\"./helpers\\\":659,\\\"./style\\\":661,d3:121}],658:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./helpers\\\");e.exports=function(t,e){function r(t,r){if(\\\"\\\"!==t&&i.isGrouped(e))-1===l.indexOf(t)?(l.push(t),u=!0,s[t]=[[r]]):s[t].push([r]);else{var n=\\\"~~i\\\"+h;l.push(n),s[n]=[[r]],h++}}var a,o,s={},l=[],u=!1,c={},h=0;for(a=0;a<t.length;a++){var f=t[a],d=f[0],p=d.trace,m=p.legendgroup;if(i.legendGetsTrace(p)&&p.showlegend)if(n.traceIs(p,\\\"pie\\\"))for(c[m]||(c[m]={}),o=0;o<f.length;o++){var v=f[o].label;c[m][v]||(r(m,{label:v,color:f[o].color,i:f[o].i,trace:p}),c[m][v]=!0)}else r(m,d)}if(!l.length)return[];var g,y,b=l.length;if(u&&i.isGrouped(e))for(y=new Array(b),a=0;a<b;a++)g=s[l[a]],y[a]=i.isReversed(e)?g.reverse():g;else{for(y=[new Array(b)],a=0;a<b;a++)g=s[l[a]][0],y[0][i.isReversed(e)?b-a-1:a]=g;b=1}return e._lgroupsLength=b,y}},{\\\"../../registry\\\":844,\\\"./helpers\\\":659}],659:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");r.legendGetsTrace=function(t){return t.visible&&n.traceIs(t,\\\"showLegend\\\")},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\\\")}},{\\\"../../registry\\\":844}],660:[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\\\":654,\\\"./defaults\\\":656,\\\"./draw\\\":657,\\\"./style\\\":661}],661:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../color\\\"),l=t(\\\"../../traces/scatter/subtypes\\\"),u=t(\\\"../../traces/pie/style_one\\\");e.exports=function(t,e){function r(t){var e=t[0].trace,r=e.visible&&e.fill&&\\\"none\\\"!==e.fill,i=l.hasLines(e);e&&e._module&&\\\"contourcarpet\\\"===e._module.name&&(i=e.contours.showlines,r=\\\"fill\\\"===e.contours.coloring);var a=n.select(this).select(\\\".legendfill\\\").selectAll(\\\"path\\\").data(r?[t]:[]);a.enter().append(\\\"path\\\").classed(\\\"js-fill\\\",!0),a.exit().remove(),a.attr(\\\"d\\\",\\\"M5,0h30v6h-30z\\\").call(o.fillGroupStyle);var s=n.select(this).select(\\\".legendlines\\\").selectAll(\\\"path\\\").data(i?[t]:[]);s.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).attr(\\\"d\\\",\\\"M5,0h30\\\"),s.exit().remove(),s.call(o.lineGroupStyle)}function c(t){function r(t,e,r){var n=a.nestedProperty(h,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function i(t){return t[0]}var s,u,c=t[0],h=c.trace,f=l.hasMarkers(h),d=l.hasText(h),p=l.hasLines(h);if(f||d||p){var m={},v={};f&&(m.mc=r(\\\"marker.color\\\",i),m.mo=r(\\\"marker.opacity\\\",a.mean,[.2,1]),m.ms=r(\\\"marker.size\\\",a.mean,[2,16]),m.mlc=r(\\\"marker.line.color\\\",i),m.mlw=r(\\\"marker.line.width\\\",a.mean,[0,5]),v.marker={sizeref:1,sizemin:1,sizemode:\\\"diameter\\\"}),p&&(v.line={width:r(\\\"line.width\\\",i,[0,10])}),d&&(m.tx=\\\"Aa\\\",m.tp=r(\\\"textposition\\\",i),m.ts=10,m.tc=r(\\\"textfont.color\\\",i),m.tf=r(\\\"textfont.family\\\",i)),s=[a.minExtend(c,m)],u=a.minExtend(h,v)}var g=n.select(this).select(\\\"g.legendpoints\\\"),y=g.selectAll(\\\"path.scatterpts\\\").data(f?s:[]);y.enter().append(\\\"path\\\").classed(\\\"scatterpts\\\",!0).attr(\\\"transform\\\",\\\"translate(20,0)\\\"),y.exit().remove(),y.call(o.pointStyle,u,e),f&&(s[0].mrc=3);var b=g.selectAll(\\\"g.pointtext\\\").data(d?s:[]);b.enter().append(\\\"g\\\").classed(\\\"pointtext\\\",!0).append(\\\"text\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),b.exit().remove(),b.selectAll(\\\"text\\\").call(o.textPointStyle,u,e)}function h(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbar\\\").data(i.traceIs(e,\\\"bar\\\")?[t]:[]);o.enter().append(\\\"path\\\").classed(\\\"legendbar\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(\\\"stroke-width\\\",o+\\\"px\\\").call(s.fill,i.mc||r.color),o&&e.call(s.stroke,i.mlc||a.color)})}function f(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbox\\\").data(i.traceIs(e,\\\"box\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendbox\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(\\\"stroke-width\\\",t+\\\"px\\\").call(s.fill,e.fillcolor),t&&r.call(s.stroke,e.line.color)})}function d(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendpie\\\").data(i.traceIs(e,\\\"pie\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendpie\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.size()&&r.call(u,t[0],e)}t.each(function(t){var e=n.select(this),r=e.selectAll(\\\"g.layers\\\").data([0]);r.enter().append(\\\"g\\\").classed(\\\"layers\\\",!0),r.style(\\\"opacity\\\",t[0].trace.opacity),r.selectAll(\\\"g.legendfill\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendfill\\\",!0),r.selectAll(\\\"g.legendlines\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendlines\\\",!0);var i=r.selectAll(\\\"g.legendsymbols\\\").data([t]);i.enter().append(\\\"g\\\").classed(\\\"legendsymbols\\\",!0),i.selectAll(\\\"g.legendpoints\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendpoints\\\",!0)}).each(h).each(f).each(d).each(r).each(c)}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../../traces/pie/style_one\\\":1013,\\\"../../traces/scatter/subtypes\\\":1047,\\\"../color\\\":603,\\\"../drawing\\\":627,d3:121}],662:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(\\\"data-attr\\\"),o=i.getAttribute(\\\"data-val\\\")||!0,s=t._fullLayout,l={},u=f.list(t,null,!0),h=\\\"on\\\";if(\\\"zoom\\\"===a){var d,p=\\\"in\\\"===o?.5:2,m=(1+p)/2,v=(1-p)/2;for(n=0;n<u.length;n++)if(r=u[n],!r.fixedrange)if(d=r._name,\\\"auto\\\"===o)l[d+\\\".autorange\\\"]=!0;else if(\\\"reset\\\"===o){if(void 0===r._rangeInitial)l[d+\\\".autorange\\\"]=!0;else{var g=r._rangeInitial.slice();l[d+\\\".range[0]\\\"]=g[0],l[d+\\\".range[1]\\\"]=g[1]}void 0!==r._showSpikeInitial&&(l[d+\\\".showspikes\\\"]=r._showSpikeInitial,\\\"on\\\"!==h||r._showSpikeInitial||(h=\\\"off\\\"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],b=[m*y[0]+v*y[1],m*y[1]+v*y[0]];l[d+\\\".range[0]\\\"]=r.l2r(b[0]),l[d+\\\".range[1]\\\"]=r.l2r(b[1])}s._cartesianSpikesEnabled=h}else{if(\\\"hovermode\\\"!==a||\\\"x\\\"!==o&&\\\"y\\\"!==o){if(\\\"hovermode\\\"===a&&\\\"closest\\\"===o){for(n=0;n<u.length;n++)r=u[n],\\\"on\\\"!==h||r.showspikes||(h=\\\"off\\\");s._cartesianSpikesEnabled=h}}else o=s._isHoriz?\\\"y\\\":\\\"x\\\",i.setAttribute(\\\"data-val\\\",o),\\\"closest\\\"!==o&&(s._cartesianSpikesEnabled=\\\"off\\\");l[a]=o}c.relayout(t,l)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout,o=h.getSubplotIds(a,\\\"gl3d\\\"),s={},l=n.split(\\\".\\\"),u=0;u<o.length;u++)s[o[u]+\\\".\\\"+l[1]]=i;c.relayout(t,s)}function a(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=t._fullLayout,a=h.getSubplotIds(i,\\\"gl3d\\\"),o={},s=0;s<a.length;s++){var l=a[s],u=l+\\\".camera\\\",f=i[l]._scene;\\\"resetDefault\\\"===n?o[u]=null:\\\"resetLastSave\\\"===n&&(o[u]=d.extendDeep({},f.cameraInitial))}c.relayout(t,o)}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=h.getSubplotIds(a,\\\"gl3d\\\"),s=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],l=[\\\"showspikes\\\",\\\"spikesides\\\",\\\"spikethickness\\\",\\\"spikecolor\\\"],u={},f={},p={};if(n)p=d.extendDeep(i,n),r._previousVal=null;else{p={\\\"allaxes.showspikes\\\":!1};for(var m=0;m<o.length;m++){var v=o[m],g=a[v],y=u[v]={};y.hovermode=g.hovermode,p[v+\\\".hovermode\\\"]=!1;for(var b=0;b<3;b++){var x=s[b];f=y[x]={};for(var _=0;_<l.length;_++){var w=l[_];f[w]=g[x][w]}}}r._previousVal=d.extendDeep({},u)}c.relayout(t,p)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout,o=h.getSubplotIds(a,\\\"geo\\\"),s=0;s<o.length;s++){var l=a[o[s]]._subplot;if(\\\"zoom\\\"===n){var u=l.projection.scale(),c=\\\"in\\\"===i?2*u:.5*u;l.projection.scale(c),l.zoom.scale(c),l.render()}else\\\"reset\\\"===n&&l.zoomReset()}}function l(t){var e,r=t._fullLayout;e=r._has(\\\"cartesian\\\")?r._isHoriz?\\\"y\\\":\\\"x\\\":\\\"closest\\\";var n=!t._fullLayout.hovermode&&e;c.relayout(t,\\\"hovermode\\\",n)}function u(t){for(var e,r,n=t._fullLayout,i=f.list(t,null,!0),a={},o=0;o<i.length;o++)e=i[o],r=e._name,a[r+\\\".showspikes\\\"]=\\\"on\\\"===n._cartesianSpikesEnabled;return a}var c=t(\\\"../../plotly\\\"),h=t(\\\"../../plots/plots\\\"),f=t(\\\"../../plots/cartesian/axes\\\"),d=t(\\\"../../lib\\\"),p=t(\\\"../../snapshot/download\\\"),m=t(\\\"../../../build/ploticon\\\"),v=e.exports={};v.toImage={name:\\\"toImage\\\",title:\\\"Download plot as a png\\\",icon:m.camera,click:function(t){var e=\\\"png\\\";d.notifier(\\\"Taking snapshot - this may take a few seconds\\\",\\\"long\\\"),d.isIE()&&(d.notifier(\\\"IE only supports svg.  Changing format to svg.\\\",\\\"long\\\"),e=\\\"svg\\\"),p(t,{format:e}).then(function(t){d.notifier(\\\"Snapshot succeeded - \\\"+t,\\\"long\\\")}).catch(function(){d.notifier(\\\"Sorry there was a problem downloading your snapshot!\\\",\\\"long\\\")})}},v.sendDataToCloud={name:\\\"sendDataToCloud\\\",title:\\\"Save and edit plot in cloud\\\",icon:m.disk,click:function(t){h.sendDataToCloud(t)}},v.zoom2d={name:\\\"zoom2d\\\",title:\\\"Zoom\\\",attr:\\\"dragmode\\\",val:\\\"zoom\\\",icon:m.zoombox,click:n},v.pan2d={name:\\\"pan2d\\\",title:\\\"Pan\\\",attr:\\\"dragmode\\\",val:\\\"pan\\\",icon:m.pan,click:n},v.select2d={name:\\\"select2d\\\",title:\\\"Box Select\\\",attr:\\\"dragmode\\\",val:\\\"select\\\",icon:m.selectbox,click:n},v.lasso2d={name:\\\"lasso2d\\\",title:\\\"Lasso Select\\\",attr:\\\"dragmode\\\",val:\\\"lasso\\\",icon:m.lasso,click:n},v.zoomIn2d={name:\\\"zoomIn2d\\\",title:\\\"Zoom in\\\",attr:\\\"zoom\\\",val:\\\"in\\\",icon:m.zoom_plus,click:n},v.zoomOut2d={name:\\\"zoomOut2d\\\",title:\\\"Zoom out\\\",attr:\\\"zoom\\\",val:\\\"out\\\",icon:m.zoom_minus,click:n},v.autoScale2d={name:\\\"autoScale2d\\\",title:\\\"Autoscale\\\",attr:\\\"zoom\\\",val:\\\"auto\\\",icon:m.autoscale,click:n},v.resetScale2d={name:\\\"resetScale2d\\\",title:\\\"Reset axes\\\",attr:\\\"zoom\\\",val:\\\"reset\\\",icon:m.home,click:n},v.hoverClosestCartesian={name:\\\"hoverClosestCartesian\\\",title:\\\"Show closest data on hover\\\",attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:m.tooltip_basic,gravity:\\\"ne\\\",click:n},v.hoverCompareCartesian={name:\\\"hoverCompareCartesian\\\",title:\\\"Compare data on hover\\\",attr:\\\"hovermode\\\",val:function(t){return t._fullLayout._isHoriz?\\\"y\\\":\\\"x\\\"},icon:m.tooltip_compare,gravity:\\\"ne\\\",click:n},v.zoom3d={name:\\\"zoom3d\\\",title:\\\"Zoom\\\",attr:\\\"scene.dragmode\\\",val:\\\"zoom\\\",icon:m.zoombox,click:i},v.pan3d={name:\\\"pan3d\\\",title:\\\"Pan\\\",attr:\\\"scene.dragmode\\\",val:\\\"pan\\\",icon:m.pan,click:i},v.orbitRotation={name:\\\"orbitRotation\\\",title:\\\"orbital rotation\\\",attr:\\\"scene.dragmode\\\",val:\\\"orbit\\\",icon:m[\\\"3d_rotate\\\"],click:i},v.tableRotation={name:\\\"tableRotation\\\",title:\\\"turntable rotation\\\",attr:\\\"scene.dragmode\\\",val:\\\"turntable\\\",icon:m[\\\"z-axis\\\"],click:i},v.resetCameraDefault3d={name:\\\"resetCameraDefault3d\\\",title:\\\"Reset camera to default\\\",attr:\\\"resetDefault\\\",icon:m.home,click:a},v.resetCameraLastSave3d={name:\\\"resetCameraLastSave3d\\\",title:\\\"Reset camera to last save\\\",attr:\\\"resetLastSave\\\",icon:m.movie,click:a},v.hoverClosest3d={name:\\\"hoverClosest3d\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:o},v.zoomInGeo={name:\\\"zoomInGeo\\\",title:\\\"Zoom in\\\",attr:\\\"zoom\\\",val:\\\"in\\\",icon:m.zoom_plus,click:s},v.zoomOutGeo={name:\\\"zoomOutGeo\\\",title:\\\"Zoom out\\\",attr:\\\"zoom\\\",val:\\\"out\\\",icon:m.zoom_minus,click:s},v.resetGeo={name:\\\"resetGeo\\\",title:\\\"Reset\\\",attr:\\\"reset\\\",val:null,icon:m.autoscale,click:s},v.hoverClosestGeo={name:\\\"hoverClosestGeo\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:l},v.hoverClosestGl2d={name:\\\"hoverClosestGl2d\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:l},v.hoverClosestPie={name:\\\"hoverClosestPie\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:m.tooltip_basic,gravity:\\\"ne\\\",click:l},v.toggleHover={name:\\\"toggleHover\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:function(t,e){l(t),o(t,e)}},v.resetViews={name:\\\"resetViews\\\",title:\\\"Reset views\\\",icon:m.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\\\"data-attr\\\",\\\"zoom\\\"),r.setAttribute(\\\"data-val\\\",\\\"reset\\\"),n(t,e),r.setAttribute(\\\"data-attr\\\",\\\"resetLastSave\\\"),a(t,e)}},v.toggleSpikelines={name:\\\"toggleSpikelines\\\",title:\\\"Toggle Spike Lines\\\",icon:m.spikeline,attr:\\\"_cartesianSpikesEnabled\\\",val:\\\"on\\\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\\\"closest\\\"===e.hovermode&&\\\"on\\\"===e._cartesianSpikesEnabled?\\\"off\\\":\\\"on\\\";var r=u(t);r.hovermode=\\\"closest\\\",c.relayout(t,r)}},v.resetViewMapbox={name:\\\"resetViewMapbox\\\",title:\\\"Reset view\\\",attr:\\\"reset\\\",icon:m.home,click:function(t){for(var e=t._fullLayout,r=h.getSubplotIds(e,\\\"mapbox\\\"),n={},i=0;i<r.length;i++)for(var a=r[i],o=e[a]._subplot,s=o.viewInitial,l=Object.keys(s),u=0;u<l.length;u++){var f=l[u];n[a+\\\".\\\"+f]=s[f]}c.relayout(t,n)}}},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":725,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/plots\\\":829,\\\"../../snapshot/download\\\":846}],663:[function(t,e,r){\\\"use strict\\\";r.manage=t(\\\"./manage\\\")},{\\\"./manage\\\":664}],664:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(f[i])}g.push(r)}var s=t._fullLayout,l=t._fullData,u=s._has(\\\"cartesian\\\"),c=s._has(\\\"gl3d\\\"),h=s._has(\\\"geo\\\"),d=s._has(\\\"pie\\\"),p=s._has(\\\"gl2d\\\"),m=s._has(\\\"ternary\\\"),v=s._has(\\\"mapbox\\\"),g=[];if(n([\\\"toImage\\\",\\\"sendDataToCloud\\\"]),(u||p||d||m)+h+c>1)return n([\\\"resetViews\\\",\\\"toggleHover\\\"]),o(g,r);c&&(n([\\\"zoom3d\\\",\\\"pan3d\\\",\\\"orbitRotation\\\",\\\"tableRotation\\\"]),n([\\\"resetCameraDefault3d\\\",\\\"resetCameraLastSave3d\\\"]),n([\\\"hoverClosest3d\\\"])),h&&(n([\\\"zoomInGeo\\\",\\\"zoomOutGeo\\\",\\\"resetGeo\\\"]),n([\\\"hoverClosestGeo\\\"]));var y=i(s),b=[];return((u||p)&&!y||m)&&(b=[\\\"zoom2d\\\",\\\"pan2d\\\"]),v&&(b=[\\\"pan2d\\\"]),a(l)&&(b.push(\\\"select2d\\\"),b.push(\\\"lasso2d\\\")),b.length&&n(b),!u&&!p||y||m||n([\\\"zoomIn2d\\\",\\\"zoomOut2d\\\",\\\"autoScale2d\\\",\\\"resetScale2d\\\"]),u&&d?n([\\\"toggleHover\\\"]):p?n([\\\"hoverClosestGl2d\\\"]):u?n([\\\"toggleSpikelines\\\",\\\"hoverClosestCartesian\\\",\\\"hoverCompareCartesian\\\"]):d?n([\\\"hoverClosestPie\\\"]):v&&n([\\\"resetViewMapbox\\\",\\\"toggleHover\\\"]),o(g,r)}function i(t){for(var e=l.list({_fullLayout:t},null,!0),r=!0,n=0;n<e.length;n++)if(!e[n].fixedrange){r=!1;break}return r}function a(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(c.traceIs(n,\\\"scatter-like\\\")?(u.hasMarkers(n)||u.hasText(n))&&(e=!0):e=!0)}return e}function o(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}function s(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\\\"string\\\"==typeof i){if(void 0===f[i])throw new Error([\\\"*modeBarButtons* configuration options\\\",\\\"invalid button name\\\"].join(\\\" \\\"));t[e][n]=f[i]}}return t}var l=t(\\\"../../plots/cartesian/axes\\\"),u=t(\\\"../../traces/scatter/subtypes\\\"),c=t(\\\"../../registry\\\"),h=t(\\\"./modebar\\\"),f=t(\\\"./buttons\\\");e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(!r.displayModeBar)return void(i&&(i.destroy(),delete e._modeBar));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 a,o=r.modeBarButtons;a=Array.isArray(o)&&o.length?s(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=h(t,a)}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../../traces/scatter/subtypes\\\":1047,\\\"./buttons\\\":662,\\\"./modebar\\\":665}],665:[function(t,e,r){\\\"use strict\\\";function n(t){this.container=t.container,this.element=document.createElement(\\\"div\\\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}function i(t,e){var r=t._fullLayout,i=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&a.select(i.element).append(\\\"span\\\").classed(\\\"badge-private float--left\\\",!0).text(\\\"PRIVATE\\\"),i}var a=t(\\\"d3\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../../build/ploticon\\\"),l=n.prototype;l.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\\\"hover\\\"===r.displayModeBar?this.element.className=\\\"modebar modebar--hover\\\":this.element.className=\\\"modebar\\\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},l.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 i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},l.createGroup=function(){var t=document.createElement(\\\"div\\\");return t.className=\\\"modebar-group\\\",t},l.createButton=function(t){var e=this,r=document.createElement(\\\"a\\\");r.setAttribute(\\\"rel\\\",\\\"tooltip\\\"),r.className=\\\"modebar-btn\\\";var n=t.title;void 0===n&&(n=t.name),(n||0===n)&&r.setAttribute(\\\"data-title\\\",n),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\\\");return r.addEventListener(\\\"click\\\",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(\\\"data-toggle\\\",t.toggle||!1),t.toggle&&a.select(r).classed(\\\"active\\\",!0),r.appendChild(this.createIcon(t.icon||s.question,t.name)),r.setAttribute(\\\"data-gravity\\\",t.gravity||\\\"n\\\"),r},l.createIcon=function(t,e){var r=t.ascent-t.descent,n=\\\"http://www.w3.org/2000/svg\\\",i=document.createElementNS(n,\\\"svg\\\"),a=document.createElementNS(n,\\\"path\\\");i.setAttribute(\\\"height\\\",\\\"1em\\\"),i.setAttribute(\\\"width\\\",t.width/r+\\\"em\\\"),i.setAttribute(\\\"viewBox\\\",[0,0,t.width,r].join(\\\" \\\"));var o=\\\"toggleSpikelines\\\"===e?\\\"matrix(1.5 0 0 -1.5 0 \\\"+t.ascent+\\\")\\\":\\\"matrix(1 0 0 -1 0 \\\"+t.ascent+\\\")\\\";return a.setAttribute(\\\"d\\\",t.path),a.setAttribute(\\\"transform\\\",o),i.appendChild(a),i},l.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\\\"data-attr\\\"):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(\\\"data-val\\\")||!0,i=t.getAttribute(\\\"data-attr\\\"),s=\\\"true\\\"===t.getAttribute(\\\"data-toggle\\\"),l=a.select(t);if(s)i===r&&l.classed(\\\"active\\\",!l.classed(\\\"active\\\"));else{var u=null===i?i:o.nestedProperty(e,i).get();l.classed(\\\"active\\\",u===n)}})},l.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},l.getLogo=function(){var t=this.createGroup(),e=document.createElement(\\\"a\\\");return e.href=\\\"https://plot.ly/\\\",e.target=\\\"_blank\\\",e.setAttribute(\\\"data-title\\\",\\\"Produced with Plotly\\\"),e.className=\\\"modebar-btn plotlyjsicon modebar-btn--logo\\\",e.appendChild(this.createIcon(s.plotlylogo)),t.appendChild(e),t},l.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},l.destroy=function(){o.removeElement(this.container.querySelector(\\\".modebar\\\"))},e.exports=i},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":725,d3:121}],666:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"./button_attributes\\\");o=a(o,{_isLinkedToArray:\\\"button\\\"}),e.exports={visible:{valType:\\\"boolean\\\"},buttons:o,x:{valType:\\\"number\\\",min:-2,max:3},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\"},y:{valType:\\\"number\\\",min:-2,max:3},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"bottom\\\"},font:a({},n,{}),bgcolor:{valType:\\\"color\\\",dflt:i.lightLine},activecolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.defaultLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:0}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../color/attributes\\\":602,\\\"./button_attributes\\\":667}],667:[function(t,e,r){\\\"use strict\\\";e.exports={step:{valType:\\\"enumerated\\\",values:[\\\"month\\\",\\\"year\\\",\\\"day\\\",\\\"hour\\\",\\\"minute\\\",\\\"second\\\",\\\"all\\\"],dflt:\\\"month\\\"},stepmode:{valType:\\\"enumerated\\\",values:[\\\"backward\\\",\\\"todate\\\"],dflt:\\\"backward\\\"},count:{valType:\\\"number\\\",min:0,dflt:1},label:{valType:\\\"string\\\"}}},{}],668:[function(t,e,r){\\\"use strict\\\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],669:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t,e){return a.coerce(i,o,l,t,e)}for(var i,o,s=t.buttons||[],u=e.buttons=[],c=0;c<s.length;c++)if(i=s[c],o={},a.isPlainObject(i)){var h=n(\\\"step\\\");\\\"all\\\"!==h&&(!r||\\\"gregorian\\\"===r||\\\"month\\\"!==h&&\\\"year\\\"!==h?n(\\\"stepmode\\\"):o.stepmode=\\\"backward\\\",n(\\\"count\\\")),n(\\\"label\\\"),o._index=c,u.push(o)}return u}function i(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+u.yPad]}var a=t(\\\"../../lib\\\"),o=t(\\\"../color\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./button_attributes\\\"),u=t(\\\"./constants\\\");e.exports=function(t,e,r,l,c){function h(t,e){return a.coerce(f,d,s,t,e)}var f=t.rangeselector||{},d=e.rangeselector={};if(h(\\\"visible\\\",n(f,d,c).length>0)){var p=i(e,r,l);h(\\\"x\\\",p[0]),h(\\\"y\\\",p[1]),a.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),h(\\\"xanchor\\\"),h(\\\"yanchor\\\"),a.coerceFont(h,\\\"font\\\",r.font);var m=h(\\\"bgcolor\\\");h(\\\"activecolor\\\",o.contrast(m,u.lightAmount,u.darkAmount)),h(\\\"bordercolor\\\"),h(\\\"borderwidth\\\")}}},{\\\"../../lib\\\":725,\\\"../color\\\":603,\\\"./attributes\\\":666,\\\"./button_attributes\\\":667,\\\"./constants\\\":668}],670:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=g.list(t,\\\"x\\\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function i(t){return t._id}function a(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]]}function o(t,e,r){var n=t.selectAll(\\\"rect\\\").data([0]);n.enter().append(\\\"rect\\\").classed(\\\"selector-rect\\\",!0),n.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),n.attr({rx:x.rx,ry:x.ry}),n.call(p.stroke,e.bordercolor).call(p.fill,s(e,r)).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function s(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}function l(t,e,r,n){function i(t){v.convertToTspans(t,n)}var a=t.selectAll(\\\"text\\\").data([0]);a.enter().append(\\\"text\\\").classed(\\\"selector-text\\\",!0).classed(\\\"user-select-none\\\",!0),a.attr(\\\"text-anchor\\\",\\\"middle\\\"),a.call(m.font,e.font).text(u(r)).call(i)}function u(t){return t.label?t.label:\\\"all\\\"===t.step?\\\"all\\\":t.count+t.step.charAt(0)}function c(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=h.select(this),e=t.select(\\\".selector-text\\\"),n=r.font.size*b,i=Math.max(n*v.lineCount(e),16)+3;r.height=Math.max(r.height,i)}),e.each(function(){var t=h.select(this),e=t.select(\\\".selector-rect\\\"),n=t.select(\\\".selector-text\\\"),a=n.node()&&m.bBox(n.node()).width,o=r.font.size*b,s=v.lineCount(n),l=Math.max(a+10,x.minButtonWidth);t.attr(\\\"transform\\\",\\\"translate(\\\"+(i+r.width)+\\\",\\\"+i+\\\")\\\"),e.attr({x:0,y:0,width:l,height:r.height}),v.positionText(n,l/2,r.height/2-(s-1)*o/2+3),r.width+=l+5}),e.selectAll(\\\"rect\\\").attr(\\\"height\\\",r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var o=\\\"left\\\";y.isRightAnchor(r)&&(r.lx-=r.width,o=\\\"right\\\"),y.isCenterAnchor(r)&&(r.lx-=r.width/2,o=\\\"center\\\");var s=\\\"top\\\";y.isBottomAnchor(r)&&(r.ly-=r.height,s=\\\"bottom\\\"),y.isMiddleAnchor(r)&&(r.ly-=r.height/2,s=\\\"middle\\\"),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),d.autoMargin(t,n+\\\"-range-selector\\\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[o]||0),r:r.width*({left:1,center:.5}[o]||0),b:r.height*({top:1,middle:.5}[s]||0),t:r.height*({bottom:1,middle:.5}[s]||0)})}var h=t(\\\"d3\\\"),f=t(\\\"../../plotly\\\"),d=t(\\\"../../plots/plots\\\"),p=t(\\\"../color\\\"),m=t(\\\"../drawing\\\"),v=t(\\\"../../lib/svg_text_utils\\\"),g=t(\\\"../../plots/cartesian/axis_ids\\\"),y=t(\\\"../legend/anchor_utils\\\"),b=t(\\\"../../constants/alignment\\\").LINE_SPACING,x=t(\\\"./constants\\\"),_=t(\\\"./get_update_object\\\");e.exports=function(t){var e=t._fullLayout,r=e._infolayer.selectAll(\\\".rangeselector\\\").data(n(t),i);r.enter().append(\\\"g\\\").classed(\\\"rangeselector\\\",!0),r.exit().remove(),r.style({cursor:\\\"pointer\\\",\\\"pointer-events\\\":\\\"all\\\"}),r.each(function(e){var r=h.select(this),n=e,i=n.rangeselector,s=r.selectAll(\\\"g.button\\\").data(i.buttons);s.enter().append(\\\"g\\\").classed(\\\"button\\\",!0),s.exit().remove(),s.each(function(e){var r=h.select(this),s=_(n,e);e.isActive=a(n,e,s),r.call(o,i,e),r.call(l,i,e,t),r.on(\\\"click\\\",function(){t._dragged||f.relayout(t,s)}),r.on(\\\"mouseover\\\",function(){e.isHovered=!0,r.call(o,i,e)}),r.on(\\\"mouseout\\\",function(){e.isHovered=!1,r.call(o,i,e)})}),c(t,s,i,n._name),r.attr(\\\"transform\\\",\\\"translate(\\\"+i.lx+\\\",\\\"+i.ly+\\\")\\\")})}},{\\\"../../constants/alignment\\\":699,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axis_ids\\\":769,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"../legend/anchor_utils\\\":653,\\\"./constants\\\":668,\\\"./get_update_object\\\":671,d3:121}],671:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n=t.range,a=new Date(t.r2l(n[1])),o=e.step,s=e.count;switch(e.stepmode){case\\\"backward\\\":r=t.l2r(+i.time[o].utc.offset(a,-s));break;case\\\"todate\\\":var l=i.time[o].utc.offset(a,-s);r=t.l2r(+i.time[o].utc.ceil(l))}return[r,n[1]]}var i=t(\\\"d3\\\");e.exports=function(t,e){var r=t._name,i={};if(\\\"all\\\"===e.step)i[r+\\\".autorange\\\"]=!0;else{var a=n(t,e);i[r+\\\".range[0]\\\"]=a[0],i[r+\\\".range[1]\\\"]=a[1]}return i}},{d3:121}],672:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"rangeselector\\\",schema:{layout:{\\\"xaxis.rangeselector\\\":t(\\\"./attributes\\\")}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),draw:t(\\\"./draw\\\")}},{\\\"./attributes\\\":666,\\\"./defaults\\\":669,\\\"./draw\\\":670}],673:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../color/attributes\\\");e.exports={bgcolor:{valType:\\\"color\\\",dflt:n.background},bordercolor:{valType:\\\"color\\\",dflt:n.defaultLine},borderwidth:{valType:\\\"integer\\\",dflt:0,min:0},autorange:{valType:\\\"boolean\\\",dflt:!0},range:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\"},{valType:\\\"any\\\"}]},thickness:{valType:\\\"number\\\",dflt:.15,min:0,max:1},visible:{valType:\\\"boolean\\\",dflt:!0}}},{\\\"../color/attributes\\\":602}],674:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"./constants\\\");e.exports=function(t){for(var e=n.list(t,\\\"x\\\",!0),r=0;r<e.length;r++){var a=e[r],o=a[i.name];o&&o.visible&&o.autorange&&a._min.length&&a._max.length&&(o._input.autorange=!0,o._input.range=o.range=n.getAutoRange(a))}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"./constants\\\":675}],675:[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\\\",maskColor:\\\"rgba(0,0,0,0.4)\\\",slideBoxFill:\\\"transparent\\\",slideBoxCursor:\\\"ew-resize\\\",grabAreaFill:\\\"transparent\\\",grabAreaCursor:\\\"col-resize\\\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],676:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){function a(t,e){return n.coerce(o,l,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var o=t[r].rangeslider,s=e[r],l=s.rangeslider={};if(a(\\\"visible\\\")){if(a(\\\"bgcolor\\\",e.plot_bgcolor),a(\\\"bordercolor\\\"),a(\\\"borderwidth\\\"),a(\\\"thickness\\\"),a(\\\"autorange\\\",!s.isValidRange(o.range)),a(\\\"range\\\"),l.range){var u=l.range,c=s.range;u[0]=s.l2r(Math.min(s.r2l(u[0]),s.r2l(c[0]))),u[1]=s.l2r(Math.max(s.r2l(u[1]),s.r2l(c[1])))}s.cleanRange(\\\"rangeslider.range\\\"),l._input=o}}}},{\\\"../../lib\\\":725,\\\"./attributes\\\":673}],677:[function(t,e,r){\\\"use strict\\\";function n(t){var e=w.list({_fullLayout:t},\\\"x\\\",!0),r=A.name,n=[];if(t._has(\\\"gl2d\\\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}function i(t,e,r,n){var i=t.select(\\\"rect.\\\"+A.slideBoxClassName).node(),o=t.select(\\\"rect.\\\"+A.grabAreaMinClassName).node(),s=t.select(\\\"rect.\\\"+A.grabAreaMaxClassName).node();t.on(\\\"mousedown\\\",function(){function l(l){var u,c,y,b=+l.clientX-f;switch(h){case i:y=\\\"ew-resize\\\",u=p+b,c=v+b;break;case o:y=\\\"col-resize\\\",u=p+b,c=v;break;case s:y=\\\"col-resize\\\",u=p,c=v+b;break;default:y=\\\"ew-resize\\\",u=d,c=d+b}if(c<u){var x=c;c=u,u=x}n._pixelMin=u,n._pixelMax=c,k(m.select(g),y),a(t,e,r,n)}function u(){g.removeEventListener(\\\"mousemove\\\",l),g.removeEventListener(\\\"mouseup\\\",u),y.removeElement(g)}var c=m.event,h=c.target,f=c.clientX,d=f-t.node().getBoundingClientRect().left,p=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),g=M.coverSlip();g.addEventListener(\\\"mousemove\\\",l),g.addEventListener(\\\"mouseup\\\",u)})}function a(t,e,r,n){function i(t){return r.l2r(y.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){v.relayout(e,r._name+\\\".range\\\",[a,o])})}function o(t,e,r,n){function i(t){return y.constrain(t,0,n._width)}function a(t){return y.constrain(t,-o,n._width+o)}var o=A.handleWidth/2,s=i(n.d2p(r._rl[0])),l=i(n.d2p(r._rl[1]));t.select(\\\"rect.\\\"+A.slideBoxClassName).attr(\\\"x\\\",s).attr(\\\"width\\\",l-s),t.select(\\\"rect.\\\"+A.maskMinClassName).attr(\\\"width\\\",s),t.select(\\\"rect.\\\"+A.maskMaxClassName).attr(\\\"x\\\",l).attr(\\\"width\\\",n._width-l);var u=Math.round(a(s-o))-.5,c=Math.round(a(l-o))+.5;t.select(\\\"g.\\\"+A.grabberMinClassName).attr(\\\"transform\\\",\\\"translate(\\\"+u+\\\",0.5)\\\"),t.select(\\\"g.\\\"+A.grabberMaxClassName).attr(\\\"transform\\\",\\\"translate(\\\"+c+\\\",0.5)\\\")}function s(t,e,r,n){var i=t.selectAll(\\\"rect.\\\"+A.bgClassName).data([0]);i.enter().append(\\\"rect\\\").classed(A.bgClassName,!0).attr({x:0,y:0,\\\"shape-rendering\\\":\\\"crispEdges\\\"});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=b.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\\\"translate(\\\"+o+\\\",\\\"+o+\\\")\\\",fill:n.bgcolor,stroke:n.bordercolor,\\\"stroke-width\\\":s})}function l(t,e,r,n){\\n\",\n       \"var i=e._fullLayout,a=i._topdefs.selectAll(\\\"#\\\"+n._clipId).data([0]);a.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n._clipId).append(\\\"rect\\\").attr({x:0,y:0}),a.select(\\\"rect\\\").attr({width:n._width,height:n._height})}function u(t,e,r,n){var i=w.getSubplots(e,r),a=e.calcdata,o=t.selectAll(\\\"g.\\\"+A.rangePlotClassName).data(i,y.identity);o.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return A.rangePlotClassName+\\\" \\\"+t}).call(b.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=m.select(this),l=0===i,u=w.getFromId(e,t,\\\"y\\\"),h=u._name,f={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}}};f.layout[h]={type:u.type,domain:[0,1],range:u.range.slice(),calendar:u.calendar},g.supplyDefaults(f);var d=f._fullLayout.xaxis,p=f._fullLayout[h],v={id:t,plotgroup:o,xaxis:d,yaxis:p};l?s=v:(v.mainplot=\\\"xy\\\",v.mainplotinfo=s),_.rangePlot(e,v,c(a,t))})}function c(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}function h(t,e,r,n){var i=t.selectAll(\\\"rect.\\\"+A.maskMinClassName).data([0]);i.enter().append(\\\"rect\\\").classed(A.maskMinClassName,!0).attr({x:0,y:0}).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),i.attr(\\\"height\\\",n._height).call(x.fill,A.maskColor);var a=t.selectAll(\\\"rect.\\\"+A.maskMaxClassName).data([0]);a.enter().append(\\\"rect\\\").classed(A.maskMaxClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),a.attr(\\\"height\\\",n._height).call(x.fill,A.maskColor)}function f(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(\\\"rect.\\\"+A.slideBoxClassName).data([0]);i.enter().append(\\\"rect\\\").classed(A.slideBoxClassName,!0).attr(\\\"y\\\",0).attr(\\\"cursor\\\",A.slideBoxCursor).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),i.attr({height:n._height,fill:A.slideBoxFill})}}function d(t,e,r,n){var i=t.selectAll(\\\"g.\\\"+A.grabberMinClassName).data([0]);i.enter().append(\\\"g\\\").classed(A.grabberMinClassName,!0);var a=t.selectAll(\\\"g.\\\"+A.grabberMaxClassName).data([0]);a.enter().append(\\\"g\\\").classed(A.grabberMaxClassName,!0);var o={x:0,width:A.handleWidth,rx:A.handleRadius,fill:x.background,stroke:x.defaultLine,\\\"stroke-width\\\":A.handleStrokeWidth,\\\"shape-rendering\\\":\\\"crispEdges\\\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(\\\"rect.\\\"+A.handleMinClassName).data([0]);l.enter().append(\\\"rect\\\").classed(A.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\\\"rect.\\\"+A.handleMaxClassName).data([0]);if(u.enter().append(\\\"rect\\\").classed(A.handleMaxClassName,!0).attr(o),u.attr(s),!e._context.staticPlot){var c={width:A.grabAreaWidth,x:0,y:0,fill:A.grabAreaFill,cursor:A.grabAreaCursor},h=i.selectAll(\\\"rect.\\\"+A.grabAreaMinClassName).data([0]);h.enter().append(\\\"rect\\\").classed(A.grabAreaMinClassName,!0).attr(c),h.attr(\\\"height\\\",n._height);var f=a.selectAll(\\\"rect.\\\"+A.grabAreaMaxClassName).data([0]);f.enter().append(\\\"rect\\\").classed(A.grabAreaMaxClassName,!0).attr(c),f.attr(\\\"height\\\",n._height)}}function p(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(A.name)&&g.autoMargin(t,i)}}var m=t(\\\"d3\\\"),v=t(\\\"../../plotly\\\"),g=t(\\\"../../plots/plots\\\"),y=t(\\\"../../lib\\\"),b=t(\\\"../drawing\\\"),x=t(\\\"../color\\\"),_=t(\\\"../../plots/cartesian\\\"),w=t(\\\"../../plots/cartesian/axes\\\"),M=t(\\\"../dragelement\\\"),k=t(\\\"../../lib/setcursor\\\"),A=t(\\\"./constants\\\");e.exports=function(t){function e(t){return t._name}var r=t._fullLayout,a=n(r),c=r._infolayer.selectAll(\\\"g.\\\"+A.containerClassName).data(a,e);c.enter().append(\\\"g\\\").classed(A.containerClassName,!0).attr(\\\"pointer-events\\\",\\\"all\\\"),c.exit().each(function(t){var e=m.select(this),n=t[A.name];e.remove(),r._topdefs.select(\\\"#\\\"+n._clipId).remove()}),c.exit().size()&&p(t),0!==a.length&&c.each(function(e){var n=m.select(this),a=e[A.name],c=r[w.id2name(e.anchor)],p=r.margin,v=r._size,y=e.domain,b=c.domain,x=(e._boundingBox||{}).height||0;a._id=A.name+e._id,a._clipId=a._id+\\\"-\\\"+r._uid,a._width=v.w*(y[1]-y[0]),a._height=(r.height-p.b-p.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var _=Math.round(p.l+v.w*y[0]),M=Math.round(p.t+v.h*(1-b[0])+x+a._offsetShift+A.extraPad);n.attr(\\\"transform\\\",\\\"translate(\\\"+_+\\\",\\\"+M+\\\")\\\");var k=e.r2l(a.range[0]),T=e.r2l(a.range[1]),S=T-k;a.p2d=function(t){return t/a._width*S+k},a.d2p=function(t){return(t-k)/S*a._width},a._rl=[k,T],n.call(s,t,e,a).call(l,t,e,a).call(u,t,e,a).call(h,t,e,a).call(f,t,e,a).call(d,t,e,a),i(n,t,e,a),o(n,t,e,a),g.autoMargin(t,a._id,{x:y[0],y:b[0],l:0,r:0,t:0,b:a._height+p.b+x,pad:A.extraPad+2*a._offsetShift})})}},{\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../plotly\\\":761,\\\"../../plots/cartesian\\\":776,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./constants\\\":675,d3:121}],678:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"rangeslider\\\",schema:{layout:{\\\"xaxis.rangeslider\\\":t(\\\"./attributes\\\")}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:t(\\\"./draw\\\")}},{\\\"./attributes\\\":673,\\\"./calc_autorange\\\":674,\\\"./defaults\\\":676,\\\"./draw\\\":677}],679:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\"),i=t(\\\"../../traces/scatter/attributes\\\").line,a=t(\\\"../drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={_isLinkedToArray:\\\"shape\\\",visible:{valType:\\\"boolean\\\",dflt:!0},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"rect\\\",\\\"path\\\",\\\"line\\\"]},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\"},xref:o({},n.xref,{}),x0:{valType:\\\"any\\\"},x1:{valType:\\\"any\\\"},yref:o({},n.yref,{}),y0:{valType:\\\"any\\\"},y1:{valType:\\\"any\\\"},path:{valType:\\\"string\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},line:{color:i.color,width:i.width,dash:a},fillcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"}}},{\\\"../../lib/extend\\\":716,\\\"../../traces/scatter/attributes\\\":1027,\\\"../annotations/attributes\\\":586,\\\"../drawing/attributes\\\":626}],680:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=\\\"category\\\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,u,c,h,f,d=1/0,p=-1/0,m=n.match(o.segmentRE);for(\\\"date\\\"===t.type&&(a=s.decodeDate(a)),l=0;l<m.length;l++)u=m[l],void 0!==(c=i[u.charAt(0)].drawn)&&(!(h=m[l].substr(1).match(o.paramRE))||h.length<c||(f=a(h[c]),f<d&&(d=f),f>p&&(p=f)));return p>=d?[d,p]:void 0}}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"./constants\\\"),s=t(\\\"./helpers\\\");e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var s=0;s<r.length;s++){var l,u,c=r[s],h=c.line.width/2;\\\"paper\\\"!==c.xref&&(l=a.getFromId(t,c.xref),(u=n(l,c.x0,c.x1,c.path,o.paramIsX))&&a.expand(l,u,{ppad:h})),\\\"paper\\\"!==c.yref&&(l=a.getFromId(t,c.yref),(u=n(l,c.y0,c.y1,c.path,o.paramIsY))&&a.expand(l,u,{ppad:h}))}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./constants\\\":681,\\\"./helpers\\\":684}],681:[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}}},{}],682:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./shape_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"shapes\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":763,\\\"./shape_defaults\\\":686}],683:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(\\\"path\\\").remove(),e._shapeLowerLayer.selectAll(\\\"path\\\").remove(),e._shapeSubplotLayers.selectAll(\\\"path\\\").remove();for(var r=0;r<e.shapes.length;r++)e.shapes[r].visible&&i(t,r)}function i(t,e){function r(r){var n={\\\"data-index\\\":e,\\\"fill-rule\\\":\\\"evenodd\\\",d:o(t,i)},s=i.line.width?i.line.color:\\\"rgba(0,0,0,0)\\\",l=r.append(\\\"path\\\").attr(n).style(\\\"opacity\\\",i.opacity).call(f.stroke,s).call(f.fill,i.fillcolor).call(d.dashLine,i.line.dash,i.line.width),u=(i.xref+i.yref).replace(/paper/g,\\\"\\\");l.call(d.setClipUrl,u?\\\"clip\\\"+t._fullLayout._uid+u:null),t._context.edits.shapePosition&&a(t,l,i,e)}t._fullLayout._paper.selectAll('.shapelayer [data-index=\\\"'+e+'\\\"]').remove();var n=(t.layout.shapes||[])[e],i=t._fullLayout.shapes[e];if(n&&!1!==i.visible)if(\\\"below\\\"!==i.layer)r(t._fullLayout._shapeUpperLayer);else if(\\\"paper\\\"===i.xref||\\\"paper\\\"===i.yref)r(t._fullLayout._shapeLowerLayer);else{var s=t._fullLayout._plots[i.xref+i.yref];if(s){var l=s.mainplot||s;r(l.shapelayer)}else r(t._fullLayout._shapeLowerLayer)}}function a(t,e,r,n){function i(t){var r=Z.right-Z.left,n=Z.bottom-Z.top,i=t.clientX-Z.left,a=t.clientY-Z.top,o=r>Y&&n>X&&!t.shiftKey?p.getCursor(i/r,1-a/n):\\\"move\\\";m(e,o),G=o.split(\\\"-\\\")[0]}function a(e){N=h.getFromId(t,r.xref),B=h.getFromId(t,r.yref),U=g.getDataToPixel(t,N),V=g.getDataToPixel(t,B,!0),H=g.getPixelToData(t,N),q=g.getPixelToData(t,B,!0);var a=\\\"shapes[\\\"+n+\\\"]\\\";\\\"path\\\"===r.type?(F=r.path,j=a+\\\".path\\\"):(v=U(r.x0),y=V(r.y0),b=U(r.x1),x=V(r.y1),_=a+\\\".x0\\\",w=a+\\\".y0\\\",M=a+\\\".x1\\\",k=a+\\\".y1\\\"),v<b?(S=v,z=a+\\\".x0\\\",O=\\\"x0\\\",E=b,I=a+\\\".x1\\\",R=\\\"x1\\\"):(S=b,z=a+\\\".x1\\\",O=\\\"x1\\\",E=v,I=a+\\\".x0\\\",R=\\\"x0\\\"),y<x?(A=y,L=a+\\\".y0\\\",D=\\\"y0\\\",T=x,C=a+\\\".y1\\\",P=\\\"y1\\\"):(A=x,L=a+\\\".y1\\\",D=\\\"y1\\\",T=y,C=a+\\\".y0\\\",P=\\\"y0\\\"),d={},i(e),W.moveFn=\\\"move\\\"===G?c:f}function s(r){m(e),r&&u.relayout(t,d)}function c(n,i){if(\\\"path\\\"===r.type){var a=function(t){return H(U(t)+n)};N&&\\\"date\\\"===N.type&&(a=g.encodeDate(a));var s=function(t){return q(V(t)+i)};B&&\\\"date\\\"===B.type&&(s=g.encodeDate(s)),r.path=l(F,a,s),d[j]=r.path}else d[_]=r.x0=H(v+n),d[w]=r.y0=q(y+i),d[M]=r.x1=H(b+n),d[k]=r.y1=q(x+i);e.attr(\\\"d\\\",o(t,r))}function f(n,i){if(\\\"path\\\"===r.type){var a=function(t){return H(U(t)+n)};N&&\\\"date\\\"===N.type&&(a=g.encodeDate(a));var s=function(t){return q(V(t)+i)};B&&\\\"date\\\"===B.type&&(s=g.encodeDate(s)),r.path=l(F,a,s),d[j]=r.path}else{var u=~G.indexOf(\\\"n\\\")?A+i:A,c=~G.indexOf(\\\"s\\\")?T+i:T,h=~G.indexOf(\\\"w\\\")?S+n:S,f=~G.indexOf(\\\"e\\\")?E+n:E;c-u>X&&(d[L]=r[D]=q(u),d[C]=r[P]=q(c)),f-h>Y&&(d[z]=r[O]=H(h),d[I]=r[R]=H(f))}e.attr(\\\"d\\\",o(t,r))}var d,v,y,b,x,_,w,M,k,A,T,S,E,L,C,z,I,D,P,O,R,F,j,N,B,U,V,H,q,G,Y=10,X=10,W={element:e.node(),gd:t,prepFn:a,doneFn:s},Z=W.element.getBoundingClientRect();p.init(W),e.node().onmousemove=i}function o(t,e){var r,n,i,a,o=e.type,l=h.getFromId(t,e.xref),u=h.getFromId(t,e.yref),c=t._fullLayout._size;if(l?(r=g.shapePositionToRange(l),n=function(t){return l._offset+l.r2p(r(t,!0))}):n=function(t){return c.l+c.w*t},u?(i=g.shapePositionToRange(u),a=function(t){return u._offset+u.r2p(i(t,!0))}):a=function(t){return c.t+c.h*(1-t)},\\\"path\\\"===o)return l&&\\\"date\\\"===l.type&&(n=g.decodeDate(n)),u&&\\\"date\\\"===u.type&&(a=g.decodeDate(a)),s(e.path,n,a);var f=n(e.x0),d=n(e.x1),p=a(e.y0),m=a(e.y1);if(\\\"line\\\"===o)return\\\"M\\\"+f+\\\",\\\"+p+\\\"L\\\"+d+\\\",\\\"+m;if(\\\"rect\\\"===o)return\\\"M\\\"+f+\\\",\\\"+p+\\\"H\\\"+d+\\\"V\\\"+m+\\\"H\\\"+f+\\\"Z\\\";var v=(f+d)/2,y=(p+m)/2,b=Math.abs(v-f),x=Math.abs(y-p),_=\\\"A\\\"+b+\\\",\\\"+x,w=v+b+\\\",\\\"+y;return\\\"M\\\"+w+_+\\\" 0 1,1 \\\"+v+\\\",\\\"+(y-x)+_+\\\" 0 0,1 \\\"+w+\\\"Z\\\"}function s(t,e,r){return t.replace(v.segmentRE,function(t){var n=0,i=t.charAt(0),a=v.paramIsX[i],o=v.paramIsY[i],s=v.numParams[i],l=t.substr(1).replace(v.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),n++,n>s&&(t=\\\"X\\\"),t});return n>s&&(l=l.replace(/[\\\\s,]*X.*/,\\\"\\\"),c.log(\\\"Ignoring extra params in segment \\\"+t)),i+l})}function l(t,e,r){return t.replace(v.segmentRE,function(t){var n=0,i=t.charAt(0),a=v.paramIsX[i],o=v.paramIsY[i],s=v.numParams[i];return i+t.substr(1).replace(v.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}var u=t(\\\"../../plotly\\\"),c=t(\\\"../../lib\\\"),h=t(\\\"../../plots/cartesian/axes\\\"),f=t(\\\"../color\\\"),d=t(\\\"../drawing\\\"),p=t(\\\"../dragelement\\\"),m=t(\\\"../../lib/setcursor\\\"),v=t(\\\"./constants\\\"),g=t(\\\"./helpers\\\");e.exports={draw:n,drawOne:i}},{\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./constants\\\":681,\\\"./helpers\\\":684}],684:[function(t,e,r){\\\"use strict\\\";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.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\\\"date\\\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],685:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\");e.exports={moduleType:\\\"component\\\",name:\\\"shapes\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:n.draw,drawOne:n.drawOne}},{\\\"./attributes\\\":679,\\\"./calc_autorange\\\":680,\\\"./defaults\\\":682,\\\"./draw\\\":683}],686:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./helpers\\\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,a,r,i)}if(s=s||{},l=l||{},!u(\\\"visible\\\",!l.itemIsNotPlainObject))return e;u(\\\"layer\\\"),u(\\\"opacity\\\"),u(\\\"fillcolor\\\"),u(\\\"line.color\\\"),u(\\\"line.width\\\"),u(\\\"line.dash\\\");for(var c=t.path?\\\"path\\\":\\\"rect\\\",h=u(\\\"type\\\",c),f=[\\\"x\\\",\\\"y\\\"],d=0;d<2;d++){var p=f[d],m={_fullLayout:r},v=i.coerceRef(t,e,m,p,\\\"\\\",\\\"paper\\\");if(\\\"path\\\"!==h){var g,y,b;\\\"paper\\\"!==v?(g=i.getFromId(m,v),b=o.rangeToShapePosition(g),y=o.shapePositionToRange(g)):y=b=n.identity;var x=p+\\\"0\\\",_=p+\\\"1\\\",w=t[x],M=t[_];t[x]=y(t[x],!0),t[_]=y(t[_],!0),i.coercePosition(e,m,u,v,x,.25),i.coercePosition(e,m,u,v,_,.75),e[x]=b(e[x]),e[_]=b(e[_]),t[x]=w,t[_]=M}}return\\\"path\\\"===h?u(\\\"path\\\"):n.noneOrAll(t,e,[\\\"x0\\\",\\\"x1\\\",\\\"y0\\\",\\\"y1\\\"]),e}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":679,\\\"./helpers\\\":684}],687:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../plots/pad_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"../../lib/extend\\\").extendDeep,s=t(\\\"../../plots/animation_attributes\\\"),l=t(\\\"./constants\\\"),u={_isLinkedToArray:\\\"step\\\",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={_isLinkedToArray:\\\"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:o({},i,{},{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:a({},n,{})},font:a({},n,{}),activebgcolor:{valType:\\\"color\\\",dflt:l.gripBgActiveColor},bgcolor:{valType:\\\"color\\\",dflt:l.railBgColor},bordercolor:{valType:\\\"color\\\",dflt:l.railBorderColor},borderwidth:{valType:\\\"number\\\",min:0,dflt:l.railBorderWidth},ticklen:{valType:\\\"number\\\",min:0,dflt:l.tickLength},tickcolor:{valType:\\\"color\\\",dflt:l.tickColor},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},minorticklen:{valType:\\\"number\\\",min:0,dflt:l.minorTickLength}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/animation_attributes\\\":762,\\\"../../plots/font_attributes\\\":790,\\\"../../plots/pad_attributes\\\":828,\\\"./constants\\\":688}],688:[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}},{}],689:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}n(\\\"visible\\\",i(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"x\\\"),n(\\\"y\\\"),a.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"len\\\"),n(\\\"lenmode\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),a.coerceFont(n,\\\"font\\\",r.font),n(\\\"currentvalue.visible\\\")&&(n(\\\"currentvalue.xanchor\\\"),n(\\\"currentvalue.prefix\\\"),n(\\\"currentvalue.suffix\\\"),n(\\\"currentvalue.offset\\\"),a.coerceFont(n,\\\"currentvalue.font\\\",e.font)),n(\\\"transition.duration\\\"),n(\\\"transition.easing\\\"),n(\\\"bgcolor\\\"),n(\\\"activebgcolor\\\"),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"),n(\\\"ticklen\\\"),n(\\\"tickwidth\\\"),n(\\\"tickcolor\\\"),n(\\\"minorticklen\\\"))}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.steps||[],s=e.steps=[],l=0;l<o.length;l++)n=o[l],i={},r(\\\"method\\\"),a.isPlainObject(n)&&(\\\"skip\\\"===i.method||Array.isArray(n.args))&&(r(\\\"args\\\"),r(\\\"label\\\",\\\"step-\\\"+l),r(\\\"value\\\",i.label),r(\\\"execute\\\"),s.push(i));return s}var a=t(\\\"../../lib\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./constants\\\"),u=l.name,c=s.steps;e.exports=function(t,e){o(t,e,{name:u,handleItemDefaults:n})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"./attributes\\\":687,\\\"./constants\\\":688}],690:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t[E.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a.gd=e,n.push(a))}return n}function i(t){return t._index}function a(t,e){var r=A.tester.selectAll(\\\"g.\\\"+E.labelGroupClass).data(e.steps);r.enter().append(\\\"g\\\").classed(E.labelGroupClass,!0);var n=0,i=0;r.each(function(t){var r=w.select(this),a=u(r,{step:t},e),o=a.node();if(o){var s=A.bBox(o);i=Math.max(i,s.height),n=Math.max(n,s.width)}}),r.remove(),e.inputAreaWidth=Math.max(E.railWidth,E.gripHeight);var a=t._fullLayout._size;e.lx=a.l+a.w*e.x,e.ly=a.t+a.h*(1-e.y),\\\"fraction\\\"===e.lenmode?e.outerLength=Math.round(a.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*E.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var o=e.inputAreaLength-2*E.stepInset,l=o/(e.steps.length-1),c=n+E.labelPadding;if(e.labelStride=Math.max(1,Math.ceil(c/l)),e.labelHeight=i,e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentValueMaxLines=1,e.currentvalue.visible){var h=A.tester.append(\\\"g\\\");r.each(function(t){var r=s(h,e,t.label),n=r.node()&&A.bBox(r.node())||{width:0,height:0},i=T.lineCount(r);e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height)),e.currentValueMaxLines=Math.max(e.currentValueMaxLines,i)}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,h.remove()}e.height=e.currentValueTotalHeight+E.tickOffset+e.ticklen+E.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=\\\"left\\\";S.isRightAnchor(e)&&(e.lx-=e.outerLength,f=\\\"right\\\"),S.isCenterAnchor(e)&&(e.lx-=e.outerLength/2,f=\\\"center\\\");var d=\\\"top\\\";S.isBottomAnchor(e)&&(e.ly-=e.height,d=\\\"bottom\\\"),S.isMiddleAnchor(e)&&(e.ly-=e.height/2,d=\\\"middle\\\"),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),M.autoMargin(t,E.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[d]||0),t:e.height*({bottom:1,middle:.5}[d]||0)})}function o(t,e,r){r.active>=r.steps.length&&(r.active=0),e.call(s,r).call(x,r).call(c,r).call(p,r).call(b,t,r).call(l,t,r),A.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(v,r,r.active/(r.steps.length-1),!1),e.call(s,r)}function s(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\\\"text\\\").data([0]);switch(e.currentvalue.xanchor){case\\\"right\\\":n=e.inputAreaLength-E.currentValueInset-e.currentValueMaxWidth,i=\\\"left\\\";break;case\\\"center\\\":n=.5*e.inputAreaLength,i=\\\"middle\\\";break;default:n=E.currentValueInset,i=\\\"left\\\"}a.enter().append(\\\"text\\\").classed(E.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":i,\\\"data-notex\\\":1});var o=e.currentvalue.prefix?e.currentvalue.prefix:\\\"\\\";if(\\\"string\\\"==typeof r)o+=r;else{o+=e.steps[e.active].label}e.currentvalue.suffix&&(o+=e.currentvalue.suffix),a.call(A.font,e.currentvalue.font).text(o).call(T.convertToTspans,e.gd);var s=T.lineCount(a),l=(e.currentValueMaxLines+1-s)*e.currentvalue.font.size*L;return T.positionText(a,n,l),a}}function l(t,e,r){var n=t.selectAll(\\\"rect.\\\"+E.gripRectClass).data([0]);n.enter().append(\\\"rect\\\").classed(E.gripRectClass,!0).call(d,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:E.gripWidth,height:E.gripHeight,rx:E.gripRadius,ry:E.gripRadius}).call(k.stroke,r.bordercolor).call(k.fill,r.bgcolor).style(\\\"stroke-width\\\",r.borderwidth+\\\"px\\\")}function u(t,e,r){var n=t.selectAll(\\\"text\\\").data([0]);return n.enter().append(\\\"text\\\").classed(E.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}),n.call(A.font,r.font).text(e.step.label).call(T.convertToTspans,r.gd),n}function c(t,e){var r=t.selectAll(\\\"g.\\\"+E.labelsClass).data([0]);r.enter().append(\\\"g\\\").classed(E.labelsClass,!0);var n=r.selectAll(\\\"g.\\\"+E.labelGroupClass).data(e.labelSteps);n.enter().append(\\\"g\\\").classed(E.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=w.select(this);r.call(u,t,e),A.setTranslate(r,g(e,t.fraction),E.tickOffset+e.ticklen+e.font.size*L+E.labelOffset+e.currentValueTotalHeight)})}function h(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&f(t,e,r,a,!0,i)}function f(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(v,r,r.active/(r.steps.length-1),a),e.call(s,r),t.emit(\\\"plotly_sliderchange\\\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:l,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&M.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function d(t,e,r){function n(){return r.data()[0]}var i=r.node(),a=w.select(e);t.on(\\\"mousedown\\\",function(){var t=n();e.emit(\\\"plotly_sliderstart\\\",{slider:t});var o=r.select(\\\".\\\"+E.gripRectClass);w.event.stopPropagation(),w.event.preventDefault(),o.call(k.fill,t.activebgcolor);var s=y(t,w.mouse(i)[0]);h(e,r,t,s,!0),t._dragging=!0,a.on(\\\"mousemove\\\",function(){var t=n(),a=y(t,w.mouse(i)[0]);h(e,r,t,a,!1)}),a.on(\\\"mouseup\\\",function(){var t=n();t._dragging=!1,o.call(k.fill,t.bgcolor),a.on(\\\"mouseup\\\",null),a.on(\\\"mousemove\\\",null),e.emit(\\\"plotly_sliderend\\\",{slider:t,step:t.steps[t.active]})})})}function p(t,e){var r=t.selectAll(\\\"rect.\\\"+E.tickRectClass).data(e.steps);r.enter().append(\\\"rect\\\").classed(E.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\\\"px\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),r.each(function(t,r){var n=r%e.labelStride==0,i=w.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(k.fill,e.tickcolor),A.setTranslate(i,g(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?E.tickOffset:E.minorTickOffset)+e.currentValueTotalHeight)})}function m(t){t.labelSteps=[];for(var e=t.steps.length,r=0;r<e;r+=t.labelStride)t.labelSteps.push({fraction:r/(e-1),step:t.steps[r]})}function v(t,e,r,n){var i=t.select(\\\"rect.\\\"+E.gripRectClass),a=g(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\\\"transform\\\",\\\"translate(\\\"+(a-.5*E.gripWidth)+\\\",\\\"+e.currentValueTotalHeight+\\\")\\\")}}function g(t,e){return t.inputAreaStart+E.stepInset+(t.inputAreaLength-2*E.stepInset)*Math.min(1,Math.max(0,e))}function y(t,e){return Math.min(1,Math.max(0,(e-E.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*E.stepInset-2*t.inputAreaStart)))}function b(t,e,r){var n=t.selectAll(\\\"rect.\\\"+E.railTouchRectClass).data([0]);n.enter().append(\\\"rect\\\").classed(E.railTouchRectClass,!0).call(d,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,E.tickOffset+r.ticklen+r.labelHeight)}).call(k.fill,r.bgcolor).attr(\\\"opacity\\\",0),A.setTranslate(n,0,r.currentValueTotalHeight)}function x(t,e){var r=t.selectAll(\\\"rect.\\\"+E.railRectClass).data([0]);r.enter().append(\\\"rect\\\").classed(E.railRectClass,!0);var n=e.inputAreaLength-2*E.railInset;r.attr({width:n,height:E.railWidth,rx:E.railRadius,ry:E.railRadius,\\\"shape-rendering\\\":\\\"crispEdges\\\"}).call(k.stroke,e.bordercolor).call(k.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\"),A.setTranslate(r,E.railInset,.5*(e.inputAreaWidth-E.railWidth)+e.currentValueTotalHeight)}function _(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(E.autoMarginIdRoot)&&M.autoMargin(t,i)}}var w=t(\\\"d3\\\"),M=t(\\\"../../plots/plots\\\"),k=t(\\\"../color\\\"),A=t(\\\"../drawing\\\"),T=t(\\\"../../lib/svg_text_utils\\\"),S=t(\\\"../legend/anchor_utils\\\"),E=t(\\\"./constants\\\"),L=t(\\\"../../constants/alignment\\\").LINE_SPACING;e.exports=function(t){var e=t._fullLayout,r=n(e,t),s=e._infolayer.selectAll(\\\"g.\\\"+E.containerClassName).data(r.length>0?[0]:[]);if(s.enter().append(\\\"g\\\").classed(E.containerClassName,!0).style(\\\"cursor\\\",\\\"ew-resize\\\"),s.exit().remove(),s.exit().size()&&_(t),0!==r.length){var l=s.selectAll(\\\"g.\\\"+E.groupClassName).data(r,i);l.enter().append(\\\"g\\\").classed(E.groupClassName,!0),l.exit().each(function(e){w.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,M.autoMargin(t,E.autoMarginIdRoot+e._index)});for(var u=0;u<r.length;u++){var c=r[u];a(t,c)}l.each(function(e){if(!(e.steps.length<2)){var r=w.select(this);m(e),M.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||f(t,r,n,e.index,!1,!0))}),o(t,w.select(this),e)}})}}},{\\\"../../constants/alignment\\\":699,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"../legend/anchor_utils\\\":653,\\\"./constants\\\":688,d3:121}],691:[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\\\":687,\\\"./constants\\\":688,\\\"./defaults\\\":689,\\\"./draw\\\":690}],692:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../plotly\\\"),o=t(\\\"../../plots/plots\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../drawing\\\"),u=t(\\\"../color\\\"),c=t(\\\"../../lib/svg_text_utils\\\"),h=t(\\\"../../constants/interactions\\\"),f=/Click to enter .+ title/;(e.exports={}).draw=function(t,e,r){function d(t){s.syncOrAsync([p,m],t)}function p(e){return e.attr(\\\"transform\\\",M?\\\"rotate(\\\"+[M.rotate,w.x,w.y]+\\\") translate(0, \\\"+M.offset+\\\")\\\":null),e.style({\\\"font-family\\\":T,\\\"font-size\\\":n.round(S,2)+\\\"px\\\",fill:u.rgb(E),opacity:L*u.opacity(E),\\\"font-weight\\\":o.fontWeight}).attr(w).call(c.convertToTspans,t),o.previousPromises(t)}function m(t){var e=n.select(t.node().parentNode);if(_&&_.selection&&_.side&&z){e.attr(\\\"transform\\\",null);var r=0,a={left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}[_.side],o=-1!==[\\\"left\\\",\\\"top\\\"].indexOf(_.side)?-1:1,u=i(_.pad)?_.pad:2,c=l.bBox(e.node()),h={left:0,top:0,right:A.width,bottom:A.height},f=_.maxShift||(h[_.side]-c[_.side])*(\\\"left\\\"===_.side||\\\"top\\\"===_.side?-1:1);if(f<0)r=f;else{var d=_.offsetLeft||0,p=_.offsetTop||0;c.left-=d,c.right-=d,c.top-=p,c.bottom-=p,_.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(c,t,u)&&(r=Math.max(r,o*(t[_.side]-c[a])+u))}),r=Math.min(f,r)}if(r>0||f<0){var m={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[_.side];e.attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\")\\\")}}}var v,g=r.propContainer,y=r.propName,b=r.traceIndex,x=r.dfltName,_=r.avoid||{},w=r.attributes,M=r.transform,k=r.containerGroup,A=t._fullLayout,T=g.titlefont.family,S=g.titlefont.size,E=g.titlefont.color,L=1,C=!1,z=g.title.trim();\\\"title\\\"===y?v=\\\"titleText\\\":-1!==y.indexOf(\\\"axis\\\")?v=\\\"axisTitleText\\\":y.indexOf(!0)&&(v=\\\"colorbarTitleText\\\");var I=t._context.edits[v];\\\"\\\"===z&&(L=0),z.match(f)&&(L=.2,C=!0,I||(z=\\\"\\\"));var D=z||I;k||(k=A._infolayer.selectAll(\\\".g-\\\"+e).data([0]),k.enter().append(\\\"g\\\").classed(\\\"g-\\\"+e,!0));var P=k.selectAll(\\\"text\\\").data(D?[0]:[]);if(P.enter().append(\\\"text\\\"),P.text(z).attr(\\\"class\\\",e),P.exit().remove(),D){P.call(d);var O=\\\"Click to enter \\\"+x+\\\" title\\\";I&&(z?P.on(\\\".opacity\\\",null):function(){L=0,C=!0,z=O,P.text(z).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)})}(),P.call(c.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){void 0!==b?a.restyle(t,y,e,b):a.relayout(t,y,e)}).on(\\\"cancel\\\",function(){this.text(this.attr(\\\"data-unformatted\\\")).call(d)}).on(\\\"input\\\",function(t){this.text(t||\\\" \\\").call(c.positionText,w.x,w.y)})),P.classed(\\\"js-placeholder\\\",C)}}},{\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,d3:121,\\\"fast-isnumeric\\\":130}],693:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"../../plots/pad_attributes\\\"),s={_isLinkedToArray:\\\"button\\\",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\\\",dflt:\\\"\\\"},execute:{valType:\\\"boolean\\\",dflt:!0}};e.exports={_isLinkedToArray:\\\"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:s,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:a({},o,{}),font:a({},n,{}),bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.borderLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:1}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../../plots/pad_attributes\\\":828,\\\"../color/attributes\\\":602}],694:[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\\\",\\n\",\n       \"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\\\"}}},{}],695:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}n(\\\"visible\\\",i(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"direction\\\"),n(\\\"type\\\"),n(\\\"showactive\\\"),n(\\\"x\\\"),n(\\\"y\\\"),a.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),a.coerceFont(n,\\\"font\\\",r.font),n(\\\"bgcolor\\\",r.paper_bgcolor),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"))}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.buttons||[],s=e.buttons=[],l=0;l<o.length;l++)n=o[l],i={},r(\\\"method\\\"),a.isPlainObject(n)&&(\\\"skip\\\"===i.method||Array.isArray(n.args))&&(r(\\\"args\\\"),r(\\\"label\\\"),r(\\\"execute\\\"),i._index=l,s.push(i));return s}var a=t(\\\"../../lib\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./constants\\\"),u=l.name,c=s.buttons;e.exports=function(t,e){o(t,e,{name:u,handleItemDefaults:n})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"./attributes\\\":693,\\\"./constants\\\":694}],696:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t[L.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}function i(t){return t._index}function a(t){return-1==+t.attr(L.menuIndexAttrName)}function o(t,e){return+t.attr(L.menuIndexAttrName)===e._index}function s(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\\\"buttons\\\"===e.type?u(t,n,null,null,e):\\\"dropdown\\\"===e.type&&(i.attr(L.menuIndexAttrName,\\\"-1\\\"),l(t,n,i,a,e),s||u(t,n,i,a,e))}function l(t,e,r,n,i){var a=e.selectAll(\\\"g.\\\"+L.headerClassName).data([0]);a.enter().append(\\\"g\\\").classed(L.headerClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");var s=i.active,l=i.buttons[s]||L.blankHeaderOpts,c={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},h={width:i.headerWidth,height:i.headerHeight};a.call(f,i,l,t).call(b,i,c,h);var d=e.selectAll(\\\"text.\\\"+L.headerArrowClassName).data([0]);d.enter().append(\\\"text\\\").classed(L.headerArrowClassName,!0).classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"end\\\").call(A.font,i.font).text(L.arrowSymbol[i.direction]),d.attr({x:i.headerWidth-L.arrowOffsetX+i.pad.l,y:i.headerHeight/2+L.textOffsetY+i.pad.t}),a.on(\\\"click\\\",function(){r.call(x),r.attr(L.menuIndexAttrName,o(r,i)?-1:String(i._index)),u(t,e,r,n,i)}),a.on(\\\"mouseover\\\",function(){a.call(v)}),a.on(\\\"mouseout\\\",function(){a.call(g,i)}),A.setTranslate(e,i.lx,i.ly)}function u(t,e,r,n,i){r||(r=e,r.attr(\\\"pointer-events\\\",\\\"all\\\"));var o=a(r)&&\\\"buttons\\\"!==i.type?[]:i.buttons,l=\\\"dropdown\\\"===i.type?L.dropdownButtonClassName:L.buttonClassName,u=r.selectAll(\\\"g.\\\"+l).data(o),d=u.enter().append(\\\"g\\\").classed(l,!0),p=u.exit();\\\"dropdown\\\"===i.type?(d.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),p.transition().attr(\\\"opacity\\\",\\\"0\\\").remove()):p.remove();var y=0,x=0,_=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(i.direction);\\\"dropdown\\\"===i.type&&(_?x=i.headerHeight+L.gapButtonHeader:y=i.headerWidth+L.gapButtonHeader),\\\"dropdown\\\"===i.type&&\\\"up\\\"===i.direction&&(x=-L.gapButtonHeader+L.gapButton-i.openHeight),\\\"dropdown\\\"===i.type&&\\\"left\\\"===i.direction&&(y=-L.gapButtonHeader+L.gapButton-i.openWidth);var k={x:i.lx+y+i.pad.l,y:i.ly+x+i.pad.t,yPad:L.gapButton,xPad:L.gapButton,index:0},A={l:k.x+i.borderwidth,t:k.y+i.borderwidth};u.each(function(a,o){var l=w.select(this);l.call(f,i,a,t).call(b,i,k),l.on(\\\"click\\\",function(){w.event.defaultPrevented||(s(t,i,a,e,r,n,o),a.execute&&M.executeAPICommand(t,a.method,a.args),t.emit(\\\"plotly_buttonclicked\\\",{menu:i,button:a,active:i.active}))}),l.on(\\\"mouseover\\\",function(){l.call(v)}),l.on(\\\"mouseout\\\",function(){l.call(g,i),u.call(m,i)})}),u.call(m,i),_?(A.w=Math.max(i.openWidth,i.headerWidth),A.h=k.y-A.t):(A.w=k.x-A.l,A.h=Math.max(i.openHeight,i.headerHeight)),A.direction=i.direction,n&&(u.size()?c(t,e,r,n,i,A):h(n))}function c(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\\\"up\\\"===u||\\\"down\\\"===u,h=i.active;if(c)for(s=0,l=0;l<h;l++)s+=i.heights[l]+L.gapButton;else for(o=0,l=0;l<h;l++)o+=i.widths[l]+L.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),n.vbar&&n.vbar.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\")}function h(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()})}function f(t,e,r,n){t.call(d,e).call(p,e,r,n)}function d(t,e){var r=t.selectAll(\\\"rect\\\").data([0]);r.enter().append(\\\"rect\\\").classed(L.itemRectClassName,!0).attr({rx:L.rx,ry:L.ry,\\\"shape-rendering\\\":\\\"crispEdges\\\"}),r.call(k.stroke,e.bordercolor).call(k.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function p(t,e,r,n){var i=t.selectAll(\\\"text\\\").data([0]);i.enter().append(\\\"text\\\").classed(L.itemTextClassName,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"start\\\",\\\"data-notex\\\":1}),i.call(A.font,e.font).text(r.label).call(T.convertToTspans,n)}function m(t,e){var r=e.active;t.each(function(t,n){var i=w.select(this);n===r&&e.showactive&&i.select(\\\"rect.\\\"+L.itemRectClassName).call(k.fill,L.activeColor)})}function v(t){t.select(\\\"rect.\\\"+L.itemRectClassName).call(k.fill,L.hoverColor)}function g(t,e){t.select(\\\"rect.\\\"+L.itemRectClassName).call(k.fill,e.bgcolor)}function y(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=A.tester.selectAll(\\\"g.\\\"+L.dropdownButtonClassName).data(e.buttons);r.enter().append(\\\"g\\\").classed(L.dropdownButtonClassName,!0);var n=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction);r.each(function(r,i){var a=w.select(this);a.call(f,e,r,t);var o=a.select(\\\".\\\"+L.itemTextClassName),s=o.node()&&A.bBox(o.node()).width,l=Math.max(s+L.textPadX,L.minWidth),u=e.font.size*E,c=T.lineCount(o),h=Math.max(u*c,L.minHeight)+L.textOffsetY;h=Math.ceil(h),l=Math.ceil(l),e.widths[i]=l,e.heights[i]=h,e.height1=Math.max(e.height1,h),e.width1=Math.max(e.width1,l),n?(e.totalWidth=Math.max(e.totalWidth,l),e.openWidth=e.totalWidth,e.totalHeight+=h+L.gapButton,e.openHeight+=h+L.gapButton):(e.totalWidth+=l+L.gapButton,e.openWidth+=l+L.gapButton,e.totalHeight=Math.max(e.totalHeight,h),e.openHeight=e.totalHeight)}),n?e.totalHeight-=L.gapButton:e.totalWidth-=L.gapButton,e.headerWidth=e.width1+L.arrowPadX,e.headerHeight=e.height1,\\\"dropdown\\\"===e.type&&(n?(e.width1+=L.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=L.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=\\\"left\\\";S.isRightAnchor(e)&&(e.lx-=i,s=\\\"right\\\"),S.isCenterAnchor(e)&&(e.lx-=i/2,s=\\\"center\\\");var l=\\\"top\\\";S.isBottomAnchor(e)&&(e.ly-=a,l=\\\"bottom\\\"),S.isMiddleAnchor(e)&&(e.ly-=a/2,l=\\\"middle\\\"),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),M.autoMargin(t,L.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[l]||0),t:a*({bottom:1,middle:.5}[l]||0)})}function b(t,e,r,n){n=n||{};var i=t.select(\\\".\\\"+L.itemRectClassName),a=t.select(\\\".\\\"+L.itemTextClassName),o=e.borderwidth,s=r.index;A.setTranslate(t,o+r.x,o+r.y);var l=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction),u=n.height||(l?e.heights[s]:e.height1);i.attr({x:0,y:0,width:n.width||(l?e.width1:e.widths[s]),height:u});var c=e.font.size*E,h=T.lineCount(a),f=(h-1)*c/2;T.positionText(a,L.textOffsetX,u/2-f+L.textOffsetY),l?r.y+=e.heights[s]+r.yPad:r.x+=e.widths[s]+r.xPad,r.index++}function x(t){t.selectAll(\\\"g.\\\"+L.dropdownButtonClassName).remove()}function _(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(L.autoMarginIdRoot)&&M.autoMargin(t,i)}}var w=t(\\\"d3\\\"),M=t(\\\"../../plots/plots\\\"),k=t(\\\"../color\\\"),A=t(\\\"../drawing\\\"),T=t(\\\"../../lib/svg_text_utils\\\"),S=t(\\\"../legend/anchor_utils\\\"),E=t(\\\"../../constants/alignment\\\").LINE_SPACING,L=t(\\\"./constants\\\"),C=t(\\\"./scrollbox\\\");e.exports=function(t){var e=t._fullLayout,r=n(e),a=e._infolayer.selectAll(\\\"g.\\\"+L.containerClassName).data(r.length>0?[0]:[]);if(a.enter().append(\\\"g\\\").classed(L.containerClassName,!0).style(\\\"cursor\\\",\\\"pointer\\\"),a.exit().remove(),a.exit().size()&&_(t),0!==r.length){var c=a.selectAll(\\\"g.\\\"+L.headerGroupClassName).data(r,i);c.enter().append(\\\"g\\\").classed(L.headerGroupClassName,!0);var h=a.selectAll(\\\"g.\\\"+L.dropdownButtonGroupClassName).data([0]);h.enter().append(\\\"g\\\").classed(L.dropdownButtonGroupClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");for(var f=0;f<r.length;f++){var d=r[f];y(t,d)}var p=\\\"updatemenus\\\"+e._uid,m=new C(t,h,p);c.enter().size()&&h.call(x).attr(L.menuIndexAttrName,\\\"-1\\\"),c.exit().each(function(e){w.select(this).remove(),h.call(x).attr(L.menuIndexAttrName,\\\"-1\\\"),M.autoMargin(t,L.autoMarginIdRoot+e._index)}),c.each(function(e){var r=w.select(this),n=\\\"dropdown\\\"===e.type?h:null;M.manageCommandObserver(t,e,e.buttons,function(i){s(t,e,e.buttons[i.index],r,n,m,i.index,!0)}),\\\"dropdown\\\"===e.type?(l(t,r,h,m,e),o(h,e)&&u(t,r,h,m,e)):u(t,r,null,null,e)})}}},{\\\"../../constants/alignment\\\":699,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"../legend/anchor_utils\\\":653,\\\"./constants\\\":694,\\\"./scrollbox\\\":698,d3:121}],697:[function(t,e,r){arguments[4][691][0].apply(r,arguments)},{\\\"./attributes\\\":693,\\\"./constants\\\":694,\\\"./defaults\\\":695,\\\"./draw\\\":696,dup:691}],698:[function(t,e,r){\\\"use strict\\\";function n(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})}e.exports=n;var i=t(\\\"d3\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../lib\\\");n.barWidth=2,n.barLength=20,n.barRadius=2,n.barPad=1,n.barColor=\\\"#808BA4\\\",n.prototype.enable=function(t,e,r){var s=this.gd._fullLayout,l=s.width,u=s.height;this.position=t;var c,h,f,d,p=this.position.l,m=this.position.w,v=this.position.t,g=this.position.h,y=this.position.direction,b=\\\"down\\\"===y,x=\\\"left\\\"===y,_=\\\"right\\\"===y,w=\\\"up\\\"===y,M=m,k=g;b||x||_||w||(this.position.direction=\\\"down\\\",b=!0),b||w?(c=p,h=c+M,b?(f=v,d=Math.min(f+k,u),k=d-f):(d=v+k,f=Math.max(d-k,0),k=d-f)):(f=v,d=f+k,x?(h=p+M,c=Math.max(h-M,0),M=h-c):(c=p,h=Math.min(c+M,l),M=h-c)),this._box={l:c,t:f,w:M,h:k};var A=m>M,T=n.barLength+2*n.barPad,S=n.barWidth+2*n.barPad,E=p,L=v+g;L+S>u&&(L=u-S);var C=this.container.selectAll(\\\"rect.scrollbar-horizontal\\\").data(A?[0]:[]);C.exit().on(\\\".drag\\\",null).remove(),C.enter().append(\\\"rect\\\").classed(\\\"scrollbar-horizontal\\\",!0).call(a.fill,n.barColor),A?(this.hbar=C.attr({rx:n.barRadius,ry:n.barRadius,x:E,y:L,width:T,height:S}),this._hbarXMin=E+T/2,this._hbarTranslateMax=M-T):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var z=g>k,I=n.barWidth+2*n.barPad,D=n.barLength+2*n.barPad,P=p+m,O=v;P+I>l&&(P=l-I);var R=this.container.selectAll(\\\"rect.scrollbar-vertical\\\").data(z?[0]:[]);R.exit().on(\\\".drag\\\",null).remove(),R.enter().append(\\\"rect\\\").classed(\\\"scrollbar-vertical\\\",!0).call(a.fill,n.barColor),z?(this.vbar=R.attr({rx:n.barRadius,ry:n.barRadius,x:P,y:O,width:I,height:D}),this._vbarYMin=O+D/2,this._vbarTranslateMax=k-D):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var F=this.id,j=c-.5,N=z?h+I+.5:h+.5,B=f-.5,U=A?d+S+.5:d+.5,V=s._topdefs.selectAll(\\\"#\\\"+F).data(A||z?[0]:[]);if(V.exit().remove(),V.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",F).append(\\\"rect\\\"),A||z?(this._clipRect=V.select(\\\"rect\\\").attr({x:Math.floor(j),y:Math.floor(B),width:Math.ceil(N)-Math.floor(j),height:Math.ceil(U)-Math.floor(B)}),this.container.call(o.setClipUrl,F),this.bg.attr({x:p,y:v,width:m,height:g})):(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(o.setClipUrl,null),delete this._clipRect),A||z){var H=i.behavior.drag().on(\\\"dragstart\\\",function(){i.event.sourceEvent.preventDefault()}).on(\\\"drag\\\",this._onBoxDrag.bind(this));this.container.on(\\\"wheel\\\",null).on(\\\"wheel\\\",this._onBoxWheel.bind(this)).on(\\\".drag\\\",null).call(H);var q=i.behavior.drag().on(\\\"dragstart\\\",function(){i.event.sourceEvent.preventDefault(),i.event.sourceEvent.stopPropagation()}).on(\\\"drag\\\",this._onBarDrag.bind(this));A&&this.hbar.on(\\\".drag\\\",null).call(q),z&&this.vbar.on(\\\".drag\\\",null).call(q)}this.setTranslate(e,r)},n.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(o.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)},n.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=i.event.dx),this.vbar&&(e-=i.event.dy),this.setTranslate(t,e)},n.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=i.event.deltaY),this.vbar&&(e+=i.event.deltaY),this.setTranslate(t,e)},n.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax;t=(s.constrain(i.event.x,r,n)-r)/(n-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,o=a+this._vbarTranslateMax;e=(s.constrain(i.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},n.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=s.constrain(t||0,0,r),e=s.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(o.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 i=t/r;this.hbar.call(o.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(o.setTranslate,t,e+a*this._vbarTranslateMax)}}},{\\\"../../lib\\\":725,\\\"../color\\\":603,\\\"../drawing\\\":627,d3:121}],699:[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},LINE_SPACING:1.3,MID_SHIFT:.35}},{}],700:[function(t,e,r){\\\"use strict\\\";e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],701:[function(t,e,r){\\\"use strict\\\";for(var n=t(\\\"../lib/extend\\\").extendFlat,i={circle:{unicode:\\\"\\\\u25cf\\\"},square:{unicode:\\\"\\\\u25a0\\\"},diamond:{unicode:\\\"\\\\u25c6\\\"},cross:{unicode:\\\"\\\\u271a\\\"},x:{unicode:\\\"\\\\u274c\\\"},\\\"triangle-up\\\":{unicode:\\\"\\\\u25b2\\\"},\\\"triangle-down\\\":{unicode:\\\"\\\\u25bc\\\"},\\\"triangle-left\\\":{unicode:\\\"\\\\u25c4\\\"},\\\"triangle-right\\\":{unicode:\\\"\\\\u25ba\\\"},\\\"triangle-ne\\\":{unicode:\\\"\\\\u25e5\\\"},\\\"triangle-nw\\\":{unicode:\\\"\\\\u25e4\\\"},\\\"triangle-se\\\":{unicode:\\\"\\\\u25e2\\\"},\\\"triangle-sw\\\":{unicode:\\\"\\\\u25e3\\\"},pentagon:{unicode:\\\"\\\\u2b1f\\\"},hexagon:{unicode:\\\"\\\\u2b22\\\"},hexagon2:{unicode:\\\"\\\\u2b23\\\"},star:{unicode:\\\"\\\\u2605\\\"},\\\"diamond-tall\\\":{unicode:\\\"\\\\u2666\\\"},bowtie:{unicode:\\\"\\\\u29d3\\\"},\\\"diamond-x\\\":{unicode:\\\"\\\\u2756\\\"},\\\"cross-thin\\\":{unicode:\\\"+\\\",noBorder:!0},asterisk:{unicode:\\\"\\\\u2733\\\",noBorder:!0},\\\"y-up\\\":{unicode:\\\"\\\\u2144\\\",noBorder:!0},\\\"y-down\\\":{unicode:\\\"Y\\\",noBorder:!0},\\\"line-ew\\\":{unicode:\\\"\\\\u2500\\\",noBorder:!0},\\\"line-ns\\\":{unicode:\\\"\\\\u2502\\\",noBorder:!0}},a={},o=Object.keys(i),s=0;s<o.length;s++){var l=o[s];a[l+\\\"-open\\\"]=n({},i[l])}var u={\\\"circle-cross-open\\\":{unicode:\\\"\\\\u2a01\\\",noFill:!0},\\\"circle-x-open\\\":{unicode:\\\"\\\\u2a02\\\",noFill:!0},\\\"square-cross-open\\\":{unicode:\\\"\\\\u229e\\\",noFill:!0},\\\"square-x-open\\\":{unicode:\\\"\\\\u22a0\\\",noFill:!0}};e.exports=n({},i,a,u)},{\\\"../lib/extend\\\":716}],702:[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]}},{}],703:[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\\\"}},{}],704:[function(t,e,r){\\\"use strict\\\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],705:[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:1-1e-6,MINUS_SIGN:\\\"\\\\u2212\\\"}},{}],706:[function(t,e,r){\\\"use strict\\\";e.exports={entityToUnicode:{mu:\\\"\\\\u03bc\\\",\\\"#956\\\":\\\"\\\\u03bc\\\",amp:\\\"&\\\",\\\"#28\\\":\\\"&\\\",lt:\\\"<\\\",\\\"#60\\\":\\\"<\\\",gt:\\\">\\\",\\\"#62\\\":\\\">\\\",nbsp:\\\"\\\\xa0\\\",\\\"#160\\\":\\\"\\\\xa0\\\",times:\\\"\\\\xd7\\\",\\\"#215\\\":\\\"\\\\xd7\\\",plusmn:\\\"\\\\xb1\\\",\\\"#177\\\":\\\"\\\\xb1\\\",deg:\\\"\\\\xb0\\\",\\\"#176\\\":\\\"\\\\xb0\\\"}}},{}],707:[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}},{}],708:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./plotly\\\");r.version=\\\"1.30.0\\\",t(\\\"es6-promise\\\").polyfill(),t(\\\"../build/plotcss\\\"),t(\\\"./fonts/mathjax_config\\\"),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.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.setPlotConfig=t(\\\"./plot_api/set_plot_config\\\"),r.register=t(\\\"./plot_api/register\\\"),r.toImage=t(\\\"./plot_api/to_image\\\"),r.downloadImage=t(\\\"./snapshot/download\\\"),r.validate=t(\\\"./plot_api/validate\\\"),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(\\\"./traces/scatter\\\")),r.register([t(\\\"./components/fx\\\"),t(\\\"./components/legend\\\"),t(\\\"./components/annotations\\\"),t(\\\"./components/annotations3d\\\"),t(\\\"./components/shapes\\\"),t(\\\"./components/images\\\"),t(\\\"./components/updatemenus\\\"),t(\\\"./components/sliders\\\"),t(\\\"./components/rangeslider\\\"),t(\\\"./components/rangeselector\\\")]),r.Icons=t(\\\"../build/ploticon\\\"),r.Plots=n.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,\\\"../build/ploticon\\\":2,\\\"./components/annotations\\\":594,\\\"./components/annotations3d\\\":599,\\\"./components/fx\\\":644,\\\"./components/images\\\":652,\\\"./components/legend\\\":660,\\\"./components/rangeselector\\\":672,\\\"./components/rangeslider\\\":678,\\\"./components/shapes\\\":685,\\\"./components/sliders\\\":691,\\\"./components/updatemenus\\\":697,\\\"./fonts/mathjax_config\\\":709,\\\"./lib/queue\\\":738,\\\"./plot_api/plot_schema\\\":755,\\\"./plot_api/register\\\":756,\\\"./plot_api/set_plot_config\\\":757,\\\"./plot_api/to_image\\\":759,\\\"./plot_api/validate\\\":760,\\\"./plotly\\\":761,\\\"./snapshot\\\":849,\\\"./snapshot/download\\\":846,\\\"./traces/scatter\\\":1037,d3:121,\\\"es6-promise\\\":127}],709:[function(t,e,r){\\\"use strict\\\";\\\"undefined\\\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\\\"none\\\",skipStartupTypeset:!0,displayAlign:\\\"left\\\",tex2jax:{inlineMath:[[\\\"$\\\",\\\"$\\\"],[\\\"\\\\\\\\(\\\",\\\"\\\\\\\\)\\\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],710:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){Array.isArray(t)&&(e[r]=t[n])}},{}],711:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../constants/numerical\\\").BADNUM,a=/^['\\\"%,$#\\\\s']+|[, ]|['\\\"%,$#\\\\s']+$/g;e.exports=function(t){return\\\"string\\\"==typeof t&&(t=t.replace(a,\\\"\\\")),n(t)?Number(t):i}},{\\\"../constants/numerical\\\":705,\\\"fast-isnumeric\\\":130}],712:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../plots/attributes\\\"),o=t(\\\"../components/colorscale/get_scale\\\"),s=(Object.keys(t(\\\"../components/colorscale/scales\\\")),t(\\\"./nested_property\\\")),l=/^([2-9]|[1-9][0-9]+)$/;r.valObjects={data_array:{coerceFunction:function(t,e,r){Array.isArray(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 i=String(r[n]);if(\\\"/\\\"===i.charAt(0)&&\\\"/\\\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.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,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t){var i=\\\"number\\\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){\\\"auto\\\"===t?e.set(\\\"auto\\\"):n(t)?(Math.abs(t)>180&&(t-=360*Math.round(t/360)),e.set(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){var n=r.length;if(\\\"string\\\"==typeof t&&t.substr(0,n)===r&&l.test(t.substr(n)))return void e.set(t);e.set(r)},validateFunction:function(t,e){var r=e.dflt,n=r.length;return t===r||\\\"string\\\"==typeof t&&!(t.substr(0,n)!==r||!l.test(t.substr(n)))}},flaglist:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t)return void e.set(r);if(-1!==(n.extras||[]).indexOf(t))return void e.set(t);for(var i=t.split(\\\"+\\\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\\\"+\\\")):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,i){if(!Array.isArray(t))return void e.set(n);var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s<a.length;s++)r.coerce(t,o,a,\\\"[\\\"+s+\\\"]\\\",n[s]);e.set(o)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&&t.length!==n.length)return!1;for(var i=0;i<t.length;i++){if(!r.validate(t[i],e.items[i]))return!1}return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),u=s(e,i),c=l.get();return void 0===a&&(a=o.dflt),o.arrayOk&&Array.isArray(c)?(u.set(c),c):(r.valObjects[o.valType].coerceFunction(c,u,a,o),u.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),u=o.get();return void 0!==u&&null!==u&&l},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 i,o=e._module.attributes,s=o.hoverinfo?{hoverinfo:o.hoverinfo}:a,l=s.hoverinfo;if(1===n._dataLength){var u=\\\"all\\\"===l.dflt?l.flags.slice():l.dflt.split(\\\"+\\\");u.splice(u.indexOf(\\\"name\\\"),1),i=u.join(\\\"+\\\")}return r.coerce(t,e,s,\\\"hoverinfo\\\",i)},r.validate=function(t,e){var n=r.valObjects[e.valType];if(e.arrayOk&&Array.isArray(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}},{\\\"../components/colorscale/get_scale\\\":615,\\\"../components/colorscale/scales\\\":621,\\\"../plots/attributes\\\":764,\\\"./nested_property\\\":732,\\\"fast-isnumeric\\\":130,tinycolor2:533}],713:[function(t,e,r){\\\"use strict\\\";function n(t){return t&&M.componentsRegistry.calendars&&\\\"string\\\"==typeof t&&\\\"gregorian\\\"!==t}function i(t,e){return String(t+Math.pow(10,e)).substr(1)}function a(t,e,r,n,a){if((e||r||n||a)&&(t+=\\\" \\\"+i(e,2)+\\\":\\\"+i(r,2),(n||a)&&(t+=\\\":\\\"+i(n,2),a))){for(var o=4;a%10==0;)o-=1,a/=10;t+=\\\".\\\"+i(a,o)}return t}function o(t,e,r){t=t.replace(D,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\\\"\\\")||\\\"0\\\"});var i=new Date(Math.floor(e+.05));if(n(r))try{t=M.getComponentMethod(\\\"calendars\\\",\\\"worldCalFmt\\\")(t,e,r)}catch(t){return\\\"Invalid\\\"}return k(t)(i)}function s(t,e){var r=m(t+.05,y),n=i(Math.floor(r/b),2)+\\\":\\\"+i(m(Math.floor(r/x),60),2);if(\\\"M\\\"!==e){d(e)||(e=0);var a=Math.min(m(t/_,60),P[e]),o=(100+a).toFixed(e).substr(1);e>0&&(o=o.replace(/0+$/,\\\"\\\").replace(/[\\\\.]$/,\\\"\\\")),n+=\\\":\\\"+o}return n}function l(t){return t.formatDate(\\\"yyyy\\\")}function u(t){return t.formatDate(\\\"M yyyy\\\")}function c(t){return t.formatDate(\\\"M d\\\")}function h(t){return t.formatDate(\\\"M d, yyyy\\\")}var f=t(\\\"d3\\\"),d=t(\\\"fast-isnumeric\\\"),p=t(\\\"./loggers\\\").error,m=t(\\\"./mod\\\"),v=t(\\\"../constants/numerical\\\"),g=v.BADNUM,y=v.ONEDAY,b=v.ONEHOUR,x=v.ONEMIN,_=v.ONESEC,w=v.EPOCHJD,M=t(\\\"../registry\\\"),k=f.time.format.utc,A=/^\\\\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,T=/^\\\\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,S=(new Date).getFullYear()-70;r.dateTick0=function(t,e){return n(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 n(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};var E,L;r.dateTime2ms=function(t,e){if(r.isJSDate(t))return t=Number(t)-t.getTimezoneOffset()*x,t>=E&&t<=L?t:g;if(\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t)return g;t=String(t);var i=n(e),a=t.charAt(0);!i||\\\"G\\\"!==a&&\\\"g\\\"!==a||(t=t.substr(1),e=\\\"\\\");var o=i&&\\\"chinese\\\"===e.substr(0,7),s=t.match(o?T:A);if(!s)return g;var l=s[1],u=s[3]||\\\"1\\\",c=Number(s[5]||1),h=Number(s[7]||0),f=Number(s[9]||0),d=Number(s[11]||0);if(i){if(2===l.length)return g;l=Number(l);var p;try{var m=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e);if(o){var v=\\\"i\\\"===u.charAt(u.length-1);u=parseInt(u,10),p=m.newDate(l,m.toMonthIndex(l,u,v),c)}else p=m.newDate(l,Number(u),c)}catch(t){return g}return p?(p.toJD()-w)*y+h*b+f*x+d*_:g}l=2===l.length?(Number(l)+2e3-S)%100+S:Number(l),u-=1;var k=new Date(Date.UTC(2e3,u,c,h,f));return k.setUTCFullYear(l),k.getUTCMonth()!==u?g:k.getUTCDate()!==c?g:k.getTime()+d*_},E=r.MIN_MS=r.dateTime2ms(\\\"-9999\\\"),L=r.MAX_MS=r.dateTime2ms(\\\"9999-12-31 23:59:59.9999\\\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==g};var C=90*y,z=3*b,I=5*x;r.ms2DateTime=function(t,e,r){if(\\\"number\\\"!=typeof t||!(t>=E&&t<=L))return g;e||(e=0);var i,o,s,l,u,c,h=Math.floor(10*m(t+.05,1)),f=Math.round(t-h/10);if(n(r)){var d=Math.floor(f/y)+w,p=Math.floor(m(t,y));try{i=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r).fromJD(d).formatDate(\\\"yyyy-mm-dd\\\")}catch(t){i=k(\\\"G%Y-%m-%d\\\")(new Date(f))}if(\\\"-\\\"===i.charAt(0))for(;i.length<11;)i=\\\"-0\\\"+i.substr(1);else for(;i.length<10;)i=\\\"0\\\"+i;o=e<C?Math.floor(p/b):0,s=e<C?Math.floor(p%b/x):0,l=e<z?Math.floor(p%x/_):0,u=e<I?p%_*10+h:0}else c=new Date(f),i=k(\\\"%Y-%m-%d\\\")(c),o=e<C?c.getUTCHours():0,s=e<C?c.getUTCMinutes():0,l=e<z?c.getUTCSeconds():0,u=e<I?10*c.getUTCMilliseconds()+h:0;return a(i,o,s,l,u)},r.ms2DateTimeLocal=function(t){if(!(t>=E+y&&t<=L-y))return g;var e=Math.floor(10*m(t+.05,1)),r=new Date(Math.round(t-e/10));return a(f.time.format(\\\"%Y-%m-%d\\\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,i){if(r.isJSDate(t)||\\\"number\\\"==typeof t){if(n(i))return p(\\\"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,i))return p(\\\"unrecognized date\\\",t),e;return t};var D=/%\\\\d?f/g,P=[59,59.9,59.99,59.999,59.9999],O=k(\\\"%Y\\\"),R=k(\\\"%b %Y\\\"),F=k(\\\"%b %-d\\\"),j=k(\\\"%b %-d, %Y\\\");r.formatDate=function(t,e,r,i){var a,f;if(i=n(i)&&i,e)return o(e,t,i);if(i)try{var d=Math.floor((t+.05)/y)+w,p=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(i).fromJD(d);\\\"y\\\"===r?f=l(p):\\\"m\\\"===r?f=u(p):\\\"d\\\"===r?(a=l(p),f=c(p)):(a=h(p),f=s(t,r))}catch(t){return\\\"Invalid\\\"}else{var m=new Date(Math.floor(t+.05));\\\"y\\\"===r?f=O(m):\\\"m\\\"===r?f=R(m):\\\"d\\\"===r?(a=O(m),f=F(m)):(a=j(m),f=s(t,r))}return f+(a?\\\"\\\\n\\\"+a:\\\"\\\")};var N=3*y;r.incrementMonth=function(t,e,r){r=n(r)&&r;var i=m(t,y);if(t=Math.round(t-i),r)try{var a=Math.round(t/y)+w,o=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r),s=o.fromJD(a);return e%12?o.add(s,e,\\\"m\\\"):o.add(s,e/12,\\\"y\\\"),(s.toJD()-w)*y+i}catch(e){p(\\\"invalid ms \\\"+t+\\\" in calendar \\\"+r)}var l=new Date(t+N);return l.setUTCMonth(l.getUTCMonth()+e)+i-N},r.findExactDates=function(t,e){for(var r,i,a=0,o=0,s=0,l=0,u=n(e)&&M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e),c=0;c<t.length;c++)if(i=t[c],d(i)){if(!(i%y))if(u)try{r=u.fromJD(i/y+w),1===r.day()?1===r.month()?a++:o++:s++}catch(t){}else r=new Date(i),1===r.getUTCDate()?0===r.getUTCMonth()?a++:o++:s++}else l++;o+=a,s+=o;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}}},{\\\"../constants/numerical\\\":705,\\\"../registry\\\":844,\\\"./loggers\\\":729,\\\"./mod\\\":731,d3:121,\\\"fast-isnumeric\\\":130}],714:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],715:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"events\\\").EventEmitter,i={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,i){\\\"undefined\\\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\\\"undefined\\\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;\\\"function\\\"==typeof o&&(o=[o]);for(var s=o.pop(),l=0;l<o.length;l++)o[l](r);return i=s(r),void 0!==n?n:i},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=i},{events:128}],716:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e,r,s){var l,u,c,h,f,d,p=t[0],m=t.length;if(2===m&&o(p)&&o(t[1])&&0===p.length){if(n(t[1],p))return p;p.splice(0,p.length)}for(var v=1;v<m;v++){l=t[v];for(u in l)c=p[u],h=l[u],s&&o(h)?p[u]=h:e&&h&&(a(h)||(f=o(h)))?(f?(f=!1,d=c&&o(c)?c:[]):d=c&&a(c)?c:{},p[u]=i([d,h],e,r,s)):(void 0!==h||r)&&(p[u]=h)}return p}var a=t(\\\"./is_plain_object.js\\\"),o=Array.isArray;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\\\":727}],717:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],718:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];!0===n.visible&&e.push(n)}return e}},{}],719:[function(t,e,r){\\\"use strict\\\";function n(t,e){return(0,l[t])(e)}function i(t){for(var e=0;e<s.length;e++){var r=s[e];if(new RegExp(a[r]).test(t.trim().toLowerCase()))return r}return o.warn(\\\"Unrecognized country name: \\\"+t+\\\".\\\"),!1}var a=t(\\\"country-regex\\\"),o=t(\\\"../lib\\\"),s=Object.keys(a),l={\\\"ISO-3\\\":o.identity,\\\"USA-states\\\":o.identity,\\\"country names\\\":i};r.locationToFeature=function(t,e,r){var i=n(t,e);if(i){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===i)return s}o.warn([\\\"Location with id\\\",i,\\\"does not have a matching topojson feature at this resolution.\\\"].join(\\\" \\\"))}return!1}},{\\\"../lib\\\":725,\\\"country-regex\\\":106}],720:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../constants/numerical\\\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace,r=e.connectgaps,i=[],a=[],o=0;o<t.length;o++){var s=t[o],l=s.lonlat;l[0]!==n?a.push(l):!r&&a.length>0&&(i.push(a),a=[])}return a.length>0&&i.push(a),i},r.makeLine=function(t,e){var r={};return r=1===t.length?{\\n\",\n       \"type:\\\"LineString\\\",coordinates:t[0]}:{type:\\\"MultiLineString\\\",coordinates:t},e&&(r.trace=e),r},r.makePolygon=function(t,e){var r={};if(1===t.length)r={type:\\\"Polygon\\\",coordinates:t};else{for(var n=new Array(t.length),i=0;i<t.length;i++)n[i]=[t[i]];r={type:\\\"MultiPolygon\\\",coordinates:n}}return e&&(r.trace=e),r},r.makeBlank=function(){return{type:\\\"Point\\\",coordinates:[]}}},{\\\"../constants/numerical\\\":705}],721:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,d=s-a,p=l*d-c*h;if(0===p)return null;var m=(u*d-c*f)/p,v=(u*h-l*f)/p;return v<0||v>1||m<0||m>1?null:{x:t+l*m,y:e+h*m}}function i(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}var a=t(\\\"./mod\\\");r.segmentsIntersect=n,r.segmentDistance=function(t,e,r,a,o,s,l,u){if(n(t,e,r,a,o,s,l,u))return 0;var c=r-t,h=a-e,f=l-o,d=u-s,p=c*c+h*h,m=f*f+d*d,v=Math.min(i(c,h,p,o-t,s-e),i(c,h,p,l-t,u-e),i(f,d,m,t-o,e-s),i(f,d,m,r-o,a-s));return Math.sqrt(v)};var o,s,l;r.getTextLocation=function(t,e,r,n){if(t===s&&n===l||(o={},s=t,l=n),o[r])return o[r];var i=t.getPointAtLength(a(r-n/2,e)),u=t.getPointAtLength(a(r+n/2,e)),c=Math.atan((u.y-i.y)/(u.x-i.x)),h=t.getPointAtLength(a(r,e)),f=(4*h.x+i.x+u.x)/6,d=(4*h.y+i.y+u.y)/6,p={x:f,y:d,theta:c};return o[r]=p,p},r.clearLocationCache=function(){s=null},r.getVisibleSegment=function(t,e,r){function n(e){var r=t.getPointAtLength(e);0===e?i=r:e===h&&(a=r);var n=r.x<o?o-r.x:r.x>s?r.x-s:0,c=r.y<l?l-r.y:r.y>u?r.y-u:0;return Math.sqrt(n*n+c*c)}for(var i,a,o=e.left,s=e.right,l=e.top,u=e.bottom,c=0,h=t.getTotalLength(),f=h,d=n(c);d;){if((c+=d+r)>f)return;d=n(c)}for(d=n(f);d;){if(f-=d+r,c>f)return;d=n(f)}return{min:c,max:f,len:f-c,total:h,isClosed:0===c&&f===h&&Math.abs(i.x-a.x)<.1&&Math.abs(i.y-a.y)<.1}}},{\\\"./mod\\\":731}],722:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t;return r[3]*=e,r}function i(t){if(s(t))return h;var e=l(t);return e.length?e:h}function a(t){return s(t)?t:f}function o(t,e,r){var o,s,c,d,p,m=t.color,v=Array.isArray(m),g=Array.isArray(e),y=[];if(o=void 0!==t.colorscale?u.makeColorScaleFunc(u.extractScale(t.colorscale,t.cmin,t.cmax)):i,s=v?function(t,e){return void 0===t[e]?h:l(o(t[e]))}:i,c=g?function(t,e){return void 0===t[e]?f:a(t[e])}:a,v||g)for(var b=0;b<r;b++)d=s(m,b),p=c(e,b),y[b]=n(d,p);else y=n(l(m),e);return y}var s=t(\\\"fast-isnumeric\\\"),l=t(\\\"color-rgba\\\"),u=t(\\\"../components/colorscale\\\"),c=t(\\\"../components/color/attributes\\\").defaultLine,h=l(c),f=1;e.exports=o},{\\\"../components/color/attributes\\\":602,\\\"../components/colorscale\\\":617,\\\"color-rgba\\\":94,\\\"fast-isnumeric\\\":130}],723:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=0;(e=t.indexOf(\\\"<sup>\\\",e))>=0;){var r=t.indexOf(\\\"</sup>\\\",e);if(r<e)break;t=t.slice(0,e)+l(t.slice(e+5,r))+t.slice(r+6)}return t}function i(t){return t.replace(/\\\\<br\\\\>/g,\\\"\\\\n\\\")}function a(t){return t.replace(/\\\\<.*\\\\>/g,\\\"\\\")}function o(t){for(var e=u.entityToUnicode,r=0;(r=t.indexOf(\\\"&\\\",r))>=0;){var n=t.indexOf(\\\";\\\",r);if(n<r)r+=1;else{var i=e[t.slice(r+1,n)];t=i?t.slice(0,r)+i+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}function s(t){return\\\"\\\"+o(a(n(i(t))))}var l=t(\\\"superscript-text\\\"),u=t(\\\"../constants/string_mappings\\\");e.exports=s},{\\\"../constants/string_mappings\\\":706,\\\"superscript-text\\\":529}],724:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t}},{}],725:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../constants/numerical\\\"),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(\\\"./nested_property\\\"),l.keyedContainer=t(\\\"./keyed_container\\\"),l.isPlainObject=t(\\\"./is_plain_object\\\"),l.isArray=t(\\\"./is_array\\\"),l.mod=t(\\\"./mod\\\"),l.toLogRange=t(\\\"./to_log_range\\\"),l.relinkPrivateKeys=t(\\\"./relink_private\\\"),l.ensureArray=t(\\\"./ensure_array\\\");var u=t(\\\"./coerce\\\");l.valObjects=u.valObjects,l.coerce=u.coerce,l.coerce2=u.coerce2,l.coerceFont=u.coerceFont,l.coerceHoverinfo=u.coerceHoverinfo,l.validate=u.validate;var c=t(\\\"./dates\\\");l.dateTime2ms=c.dateTime2ms,l.isDateTime=c.isDateTime,l.ms2DateTime=c.ms2DateTime,l.ms2DateTimeLocal=c.ms2DateTimeLocal,l.cleanDate=c.cleanDate,l.isJSDate=c.isJSDate,l.formatDate=c.formatDate,l.incrementMonth=c.incrementMonth,l.dateTick0=c.dateTick0,l.dfltRange=c.dfltRange,l.findExactDates=c.findExactDates,l.MIN_MS=c.MIN_MS,l.MAX_MS=c.MAX_MS;var h=t(\\\"./search\\\");l.findBin=h.findBin,l.sorterAsc=h.sorterAsc,l.sorterDes=h.sorterDes,l.distinctVals=h.distinctVals,l.roundUp=h.roundUp;var f=t(\\\"./stats\\\");l.aggNums=f.aggNums,l.len=f.len,l.mean=f.mean,l.variance=f.variance,l.stdev=f.stdev,l.interp=f.interp;var d=t(\\\"./matrix\\\");l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var p=t(\\\"./geometry2d\\\");l.segmentsIntersect=p.segmentsIntersect,l.segmentDistance=p.segmentDistance,l.getTextLocation=p.getTextLocation,l.clearLocationCache=p.clearLocationCache,l.getVisibleSegment=p.getVisibleSegment;var m=t(\\\"./extend\\\");l.extendFlat=m.extendFlat,l.extendDeep=m.extendDeep,l.extendDeepAll=m.extendDeepAll,l.extendDeepNoArrays=m.extendDeepNoArrays;var v=t(\\\"./loggers\\\");l.log=v.log,l.warn=v.warn,l.error=v.error,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 i(t)?(t=Number(t),t<-o||t>o?s:i(t)?Number(t):s):s},l.noop=t(\\\"./noop\\\"),l.identity=t(\\\"./identity\\\"),l.swapAttrs=function(t,e,r,n){r||(r=\\\"x\\\"),n||(n=\\\"y\\\");for(var i=0;i<e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(\\\"?\\\",r)),s=l.nestedProperty(t,a.replace(\\\"?\\\",n)),u=o.get();o.set(s.get()),s.set(u)}},l.pauseEvent=function(t){return t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,!1},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){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\\\"0\\\";var i,a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l=\\\"\\\";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++)o=Math.floor(Math.random()*n).toString(n),l=o+l;u&&(a=Math.pow(n,u),o=Math.floor(Math.random()*a).toString(n),l=o+l);var c=parseInt(l,n);return e&&e.indexOf(l)>-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):l},l.OptionControl=function(t,e){t||(t={}),e||(e=\\\"opt\\\");var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[\\\"_\\\"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)i=r+n+1-e,i<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},l.syncOrAsync=function(t,e,r){function n(){return l.syncOrAsync(t,e,r)}for(var i,a;t.length;)if(a=t.splice(0,1)[0],(i=a(e))&&i.then)return i.then(n).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,i,a=!1,o=!0;for(n=0;n<r.length;n++)i=t[r[n]],void 0!==i&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,Array.isArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return Array.isArray(i)?n(Array.isArray(e)&&Array.isArray(i[e[0]])?i[e[0]][e[1]]:i[e]):i},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,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)i=o[n],a=t[i],\\\"_\\\"!==i.charAt(0)&&\\\"function\\\"!=typeof a&&(\\\"module\\\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\\\"object\\\"==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)i=o[n],\\\"object\\\"==typeof(a=e[i])&&i in r&&\\\"object\\\"==typeof r[i]||(r[i]=a);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.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\\\"js-plotly-plot\\\")},l.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(\\\"style\\\");r.appendChild(document.createTextNode(\\\"\\\")),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+\\\"{\\\"+e+\\\"}\\\",0):n.addRule?n.addRule(t,e,0):l.warn(\\\"addStyleRule failed\\\")},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&&\\\"function\\\"==typeof t.classed},l.objectFromPath=function(t,e){for(var r,n=t.split(\\\".\\\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\\\[([0-9]+)\\\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var g=/^([^\\\\[\\\\.]+)\\\\.(.+)?/,y=/^([^\\\\.]+)\\\\[([0-9]+)\\\\](\\\\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\\\"object\\\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(g))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(y))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\\\".\\\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):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})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\\\".\\\"),s=o[0],l=o.length>1?i+o[1]:\\\"\\\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\\\"$1\\\"+a+\\\"$2\\\");return s+l};var b=/%{([^\\\\s%{}]*)}/g,x=/^\\\\w*$/;l.templateString=function(t,e){var r={};return t.replace(b,function(t,n){return x.test(n)?e[n]||\\\"\\\":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||\\\"\\\")})}},{\\\"../constants/numerical\\\":705,\\\"./clean_number\\\":711,\\\"./coerce\\\":712,\\\"./dates\\\":713,\\\"./ensure_array\\\":714,\\\"./extend\\\":716,\\\"./filter_unique\\\":717,\\\"./filter_visible\\\":718,\\\"./geometry2d\\\":721,\\\"./identity\\\":724,\\\"./is_array\\\":726,\\\"./is_plain_object\\\":727,\\\"./keyed_container\\\":728,\\\"./loggers\\\":729,\\\"./matrix\\\":730,\\\"./mod\\\":731,\\\"./nested_property\\\":732,\\\"./noop\\\":733,\\\"./notifier\\\":734,\\\"./push_unique\\\":737,\\\"./relink_private\\\":739,\\\"./search\\\":740,\\\"./stats\\\":743,\\\"./to_log_range\\\":746,d3:121,\\\"fast-isnumeric\\\":130}],726:[function(t,e,r){\\\"use strict\\\";var n=\\\"undefined\\\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}};e.exports=function(t){return Array.isArray(t)||n.isView(t)}},{}],727:[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}},{}],728:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./nested_property\\\"),i=/^\\\\w*$/;e.exports=function(t,e,r,a){r=r||\\\"name\\\",a=a||\\\"value\\\";var o,s,l={};s=e&&e.length?n(t,e).get():t,e=e||\\\"\\\",s=s||[];var u={};for(o=0;o<s.length;o++)u[s[o][r]]=o;var c=i.test(a),h={set:function(t,e){var i=null===e?4:0,o=u[t];void 0===o?(i|=3,o=s.length,u[t]=o):e!==(c?s[o][a]:n(s[o],a).get())&&(i|=2);var f=s[o]=s[o]||{};return f[r]=t,c?f[a]=e:n(f,a).set(e),null!==e&&(i&=-5),l[o]=l[o]|i,h},get:function(t){var e=u[t];return void 0===e?void 0:c?s[e][a]:n(s[e],a).get()},rename:function(t,e){var n=u[t];return void 0===n?h:(l[n]=1|l[n],u[e]=n,delete u[t],s[n][r]=e,h)},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return l[e]=2|l[e],h.set(t,null);if(c){for(o=e;o<s.length;o++)l[o]=3|l[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),l[e]=6|l[e];return h},constructUpdate:function(){for(var t,i,o={},u=Object.keys(l),h=0;h<u.length;h++)i=u[h],t=e+\\\"[\\\"+i+\\\"]\\\",s[i]?(1&l[i]&&(o[t+\\\".\\\"+r]=s[i][r]),2&l[i]&&(o[t+\\\".\\\"+a]=c?4&l[i]?null:s[i][a]:4&l[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{\\\"./nested_property\\\":732}],729:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}var i=t(\\\"../plot_api/plot_config\\\"),a=e.exports={};a.log=function(){if(i.logging>1){for(var t=[\\\"LOG:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.warn=function(){if(i.logging>0){for(var t=[\\\"WARN:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.error=function(){if(i.logging>0){for(var t=[\\\"ERROR:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.error,t)}}},{\\\"../plot_api/plot_config\\\":754}],730:[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,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];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)))}}},{}],731:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t%e;return r<0?r+e:r}},{}],732:[function(t,e,r){\\\"use strict\\\";function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o<e.length-1;o++){if(-1===(r=e[o])){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\\\"number\\\"==typeof r&&!d(l))return;if(\\\"object\\\"!=typeof(l=l[r])||null===l)return}if(\\\"object\\\"==typeof l&&null!==l&&null!==(a=l[e[o]]))return a}}function i(t,e){if(!c(t)||p(t)&&\\\"]\\\"===e.charAt(e.length-1)||e.match(g)&&void 0!==t)return!1;if(!d(t))return!0;if(e.match(v))return!0;var r=m(e);return r&&\\\"\\\"===r.index}function a(t,e,r){return function(n){var a,c,h=t,f=\\\"\\\",p=[[t,f]],m=i(n,r);for(c=0;c<e.length-1;c++){if(\\\"number\\\"==typeof(a=e[c])&&!d(h))throw\\\"array index but container is not an array\\\";if(-1===a){if(m=!s(h,e.slice(c+1),n,r))break;return}if(!l(h,a,e[c+1],m))break;if(\\\"object\\\"!=typeof(h=h[a])||null===h)throw\\\"container is not an object\\\";f=o(f,a),p.push([h,f])}m?(c===e.length-1&&delete h[e[c]],u(p)):h[e[c]]=n}}function o(t,e){var r=e;return f(e)?r=\\\"[\\\"+e+\\\"]\\\":t&&(r=\\\".\\\"+e),t+r}function s(t,e,r,n){var o,s=d(r),u=!0,c=r,h=n.replace(\\\"-1\\\",0),f=!s&&i(r,h),p=e[0];for(o=0;o<t.length;o++)h=n.replace(\\\"-1\\\",o),s&&(c=r[o%r.length],f=i(c,h)),f&&(u=!1),l(t,o,p,f)&&a(t[o],e,n.replace(\\\"-1\\\",o))(c);return u}function l(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\\\"number\\\"==typeof r?[]:{}}return!0}function u(t){var e,r,n,a,s,l;for(e=t.length-1;e>=0;e--){if(n=t[e][0],a=t[e][1],l=!1,d(n))for(r=n.length-1;r>=0;r--)i(n[r],o(a,r))?l?n[r]=void 0:n.pop():l=!0;else if(\\\"object\\\"==typeof n&&null!==n)for(s=Object.keys(n),l=!1,r=s.length-1;r>=0;r--)i(n[s[r]],o(a,s[r]))?delete n[s[r]]:l=!0;if(l)return}}function c(t){return void 0===t||null===t||\\\"object\\\"==typeof t&&(d(t)?!t.length:!Object.keys(t).length)}function h(t,e,r){return{set:function(){throw\\\"bad container\\\"},get:function(){},astr:e,parts:r,obj:t}}var f=t(\\\"fast-isnumeric\\\"),d=t(\\\"./is_array\\\"),p=t(\\\"./is_plain_object\\\"),m=t(\\\"../plot_api/container_array_match\\\");e.exports=function(t,e){if(f(e))e=String(e);else if(\\\"string\\\"!=typeof e||\\\"[-1]\\\"===e.substr(e.length-4))throw\\\"bad property string\\\";for(var r,i,o,s=0,l=e.split(\\\".\\\");s<l.length;){if(r=String(l[s]).match(/^([^\\\\[\\\\]]*)((\\\\[\\\\-?[0-9]*\\\\])+)$/)){if(r[1])l[s]=r[1];else{if(0!==s)throw\\\"bad property string\\\";l.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(\\\"][\\\"),o=0;o<i.length;o++)s++,l.splice(s,0,Number(i[o]))}s++}return\\\"object\\\"!=typeof t?h(t,e,l):{set:a(t,l,e),get:n(t,l),astr:e,parts:l,obj:t}};var v=/(^|\\\\.)((domain|range)(\\\\.[xy])?|args|parallels)$/,g=/(^|\\\\.)args\\\\[/},{\\\"../plot_api/container_array_match\\\":749,\\\"./is_array\\\":726,\\\"./is_plain_object\\\":727,\\\"fast-isnumeric\\\":130}],733:[function(t,e,r){\\\"use strict\\\";e.exports=function(){}},{}],734:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(\\\"opacity\\\",0).each(\\\"end\\\",function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()})}if(-1===a.indexOf(t)){a.push(t);var o=1e3;i(e)?o=e:\\\"long\\\"===e&&(o=3e3);var s=n.select(\\\"body\\\").selectAll(\\\".plotly-notifier\\\").data([0]);s.enter().append(\\\"div\\\").classed(\\\"plotly-notifier\\\",!0);s.selectAll(\\\".notifier-note\\\").data(a).enter().append(\\\"div\\\").classed(\\\"notifier-note\\\",!0).style(\\\"opacity\\\",0).each(function(t){var e=n.select(this);e.append(\\\"button\\\").classed(\\\"notifier-close\\\",!0).html(\\\"&times;\\\").on(\\\"click\\\",function(){e.transition().call(r)});for(var i=e.append(\\\"p\\\"),a=t.split(/<br\\\\s*\\\\/?>/g),s=0;s<a.length;s++)s&&i.append(\\\"br\\\"),i.append(\\\"span\\\").text(a[s]);e.transition().duration(700).style(\\\"opacity\\\",1).transition().delay(o).call(r)})}}},{d3:121,\\\"fast-isnumeric\\\":130}],735:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./setcursor\\\"),i=\\\"data-savedcursor\\\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\\\"cursor-\\\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\\\"!!\\\")}n(t,e)}else r&&(t.attr(i,null),\\\"!!\\\"===r?n(t):n(t,r))}},{\\\"./setcursor\\\":741}],736:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./matrix\\\").dot,i=t(\\\"../constants/numerical\\\").BADNUM,a=e.exports={};a.tester=function(t){function e(t,e){var r=t[0],n=t[1];return!(r===i||r<a||r>o||n===i||n<s||n>l)&&(!e||!c(t))}function r(t,e){var r=t[0],u=t[1];if(r===i||r<a||r>o||u===i||u<s||u>l)return!1;var c,h,f,d,p,m=n.length,v=n[0][0],g=n[0][1],y=0;for(c=1;c<m;c++)if(h=v,f=g,v=n[c][0],g=n[c][1],d=Math.min(h,v),!(r<d||r>Math.max(h,v)||u>Math.max(f,g)))if(u<Math.min(f,g))r!==d&&y++;else{if(p=v===h?u:f+(r-h)*(g-f)/(v-h),u===p)return 1!==c||!e;u<=p&&r!==d&&y++}return y%2==1}var n=t.slice(),a=n[0][0],o=a,s=n[0][1],l=s;n.push(n[0]);for(var u=1;u<n.length;u++)a=Math.min(a,n[u][0]),o=Math.max(o,n[u][0]),s=Math.min(s,n[u][1]),l=Math.max(l,n[u][1]);var c,h=!1;return 5===n.length&&(n[0][0]===n[1][0]?n[2][0]===n[3][0]&&n[0][1]===n[3][1]&&n[1][1]===n[2][1]&&(h=!0,c=function(t){return t[0]===n[0][0]}):n[0][1]===n[1][1]&&n[2][1]===n[3][1]&&n[0][0]===n[3][0]&&n[1][0]===n[2][0]&&(h=!0,c=function(t){return t[1]===n[0][1]})),{xmin:a,xmax:o,ymin:s,ymax:l,pts:n,contains:h?e:r,isRect:h}};var o=a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],u=[t[r][0]-l[0],t[r][1]-l[1]],c=n(u,u),h=Math.sqrt(c),f=[-u[1]/h,u[0]/h];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,u))<0||s>c||Math.abs(n(o,f))>i)return!0;return!1};a.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(a+1);for(var u=l+1;u<t.length;u++)(u===t.length-1||o(t,l,u+1,e))&&(n.push(t[u]),n.length<s-2&&(i=u,a=n.length-1),l=u)}var n=[t[0]],i=0,a=0;if(t.length>1){r(t.pop())}return{addPt:r,raw:t,filtered:n}}},{\\\"../constants/numerical\\\":705,\\\"./matrix\\\":730}],737:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else e&&-1===t.indexOf(e)&&t.push(e);return t}},{}],738:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r,n=[],a=0;a<e.length;a++)r=e[a],n[a]=r===t?r:\\\"object\\\"==typeof r?Array.isArray(r)?i.extendDeep([],r):i.extendDeepAll({},r):r;return n}var i=t(\\\"../lib\\\"),a=t(\\\"../plot_api/plot_config\\\"),o={};o.add=function(t,e,r,n,i){var o,s;if(t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay)return void(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--)},o.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},o.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},o.undo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.undo();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++)o.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},o.redo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.redo();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++)o.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}},o.plotDo=function(t,e,r){t.autoplay=!0,r=n(t,r),e.apply(null,r)},e.exports=o},{\\\"../lib\\\":725,\\\"../plot_api/plot_config\\\":754}],739:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is_array\\\"),i=t(\\\"./is_plain_object\\\");e.exports=function t(e,r){for(var a=Object.keys(r||{}),o=0;o<a.length;o++){var s=a[o],l=r[s],u=e[s];if(\\\"_\\\"===s.charAt(0)||\\\"function\\\"==typeof l){if(s in e)continue;e[s]=l}else if(n(l)&&n(u)&&i(l[0]))for(var c=0;c<l.length;c++)i(l[c])&&i(u[c])&&t(u[c],l[c]);else i(l)&&i(u)&&(t(u,l),Object.keys(u).length||delete e[s])}}},{\\\"./is_array\\\":726,\\\"./is_plain_object\\\":727}],740:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t<e}function i(t,e){return t<=e}function a(t,e){return t>e}function o(t,e){return t>=e}var s=t(\\\"fast-isnumeric\\\"),l=t(\\\"./loggers\\\");r.findBin=function(t,e,r){if(s(e.start))return r?Math.ceil((t-e.start)/e.size)-1:Math.floor((t-e.start)/e.size);var u,c,h=0,f=e.length,d=0;for(c=e[e.length-1]>=e[0]?r?n:i:r?o:a;h<f&&d++<100;)u=Math.floor((h+f)/2),c(e[u],t)?h=u+1:f=u;return d>90&&l.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=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)n=u((i+a)/2),e[n]<=t?i=n+s:a=n-l;return e[i]}},{\\\"./loggers\\\":729,\\\"fast-isnumeric\\\":130}],741:[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)}},{}],742:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/color\\\"),i=function(){};e.exports=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\\\"div\\\");return r.textContent=\\\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\\\",r.style.cursor=\\\"pointer\\\",r.style.fontSize=\\\"24px\\\",r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=\\\"#FFFFFF\\\",t.container.onclick=function(){window.open(\\\"http://get.webgl.org\\\")},!1}},{\\\"../components/color\\\":603}],743:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o<a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o<a;o++)n(e)?n(i[o])&&(e=t(+e,+i[o])):e=i[o];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.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},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)]}},{\\\"fast-isnumeric\\\":130}],744:[function(t,e,r){\\\"use strict\\\";function n(t){var e=i(t);return e.length?e:[0,0,0,1]}var i=t(\\\"color-rgba\\\");e.exports=n},{\\\"color-rgba\\\":94}],745:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t){return t.replace(g,\\\"\\\\\\\\lt \\\").replace(y,\\\"\\\\\\\\gt \\\")}function a(t,e,r){var n=\\\"math-output-\\\"+f.randstr([],64),a=h.select(\\\"body\\\").append(\\\"div\\\").attr({id:n}).style({visibility:\\\"hidden\\\",position:\\\"absolute\\\"}).style({\\\"font-size\\\":e.fontSize+\\\"px\\\"}).text(i(t));MathJax.Hub.Queue([\\\"Typeset\\\",MathJax.Hub,a.node()],function(){var e=h.select(\\\"body\\\").select(\\\"#MathJax_SVG_glyphs\\\");if(a.select(\\\".MathJax_SVG\\\").empty()||!a.select(\\\"svg\\\").node())f.log(\\\"There was an error in the tex syntax.\\\",t),r();else{var n=a.select(\\\"svg\\\").node().getBoundingClientRect();r(a.select(\\\".MathJax_SVG\\\"),e,n)}a.remove()})}function o(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}function s(t,e){if(!t)return\\\"\\\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}function l(t){return s(t,A)}function u(t,e){function r(){c++;var e=document.createElementNS(d.svg,\\\"tspan\\\");h.select(e).attr({class:\\\"line\\\",dy:c*m+\\\"em\\\"}),t.appendChild(e),a=e;var r=u;if(u=[{node:e}],r.length>1)for(var i=1;i<r.length;i++)n(r[i])}function n(t){var e,r=t.type,n={};if(\\\"a\\\"===r){e=\\\"a\\\";var o=t.target,s=t.href,l=t.popup;s&&(n={\\\"xlink:xlink:show\\\":\\\"_blank\\\"===o||\\\"_\\\"!==o.charAt(0)?\\\"new\\\":\\\"replace\\\",target:o,\\\"xlink:xlink:href\\\":s},l&&(n.onclick='window.open(this.href.baseVal,this.target.baseVal,\\\"'+l+'\\\");return false;'))}else e=\\\"tspan\\\";t.style&&(n.style=t.style);var c=document.createElementNS(d.svg,e);if(\\\"sup\\\"===r||\\\"sub\\\"===r){i(a,w),a.appendChild(c);var f=document.createElementNS(d.svg,\\\"tspan\\\");i(f,w),h.select(f).attr(\\\"dy\\\",_[r]),n.dy=x[r],a.appendChild(c),a.appendChild(f)}else a.appendChild(c);h.select(c).attr(n),a=t.node=c,u.push(t)}function i(t,e){t.appendChild(document.createTextNode(e))}e=l(e).replace(T,\\\" \\\");var a,s=!1,u=[],c=-1;L.test(e)?r():(a=t,u=[{node:t}]);for(var p=e.split(S),v=0;v<p.length;v++){var g=p[v],y=g.match(E),k=y&&y[2].toLowerCase(),A=b[k];if(\\\"br\\\"===k)r();else if(void 0===A)i(a,g);else if(y[1])!function(t){if(1===u.length)return void f.log(\\\"Ignoring unexpected end tag </\\\"+t+\\\">.\\\",e);var r=u.pop();t!==r.type&&f.log(\\\"Start tag <\\\"+r.type+\\\"> doesnt match end tag <\\\"+t+\\\">. Pretending it did match.\\\",e),a=u[u.length-1].node}(k);else{var O=y[4],R={type:k},F=o(O,C);if(F?(F=F.replace(P,\\\"$1 fill:\\\"),A&&(F+=\\\";\\\"+A)):A&&(F=A),F&&(R.style=F),\\\"a\\\"===k){s=!0;var j=o(O,z);if(j){var N=document.createElement(\\\"a\\\");N.href=j,-1!==M.indexOf(N.protocol)&&(R.href=encodeURI(j),R.target=o(O,I)||\\\"_blank\\\",R.popup=o(O,D))}}n(R)}}return s}function c(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\\\"top\\\",l=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return i=\\\"bottom\\\"===s?function(){return l.bottom-n.height}:\\\"middle\\\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\\\"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:i()-u.top+\\\"px\\\",left:a()-u.left+\\\"px\\\",\\\"z-index\\\":1e3}),this}}var h=t(\\\"d3\\\"),f=t(\\\"../lib\\\"),d=t(\\\"../constants/xmlns_namespaces\\\"),p=t(\\\"../constants/string_mappings\\\"),m=t(\\\"../constants/alignment\\\").LINE_SPACING,v=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,i){function o(){c.empty()||(f=t.attr(\\\"class\\\")+\\\"-math\\\",c.select(\\\"svg.\\\"+f).remove()),t.text(\\\"\\\").style(\\\"white-space\\\",\\\"pre\\\"),u(t.node(),s)&&t.style(\\\"pointer-events\\\",\\\"all\\\"),r.positionText(t),i&&i.call(t)}var s=t.text(),l=!t.attr(\\\"data-notex\\\")&&\\\"undefined\\\"!=typeof MathJax&&s.match(v),c=h.select(t.node().parentNode);if(!c.empty()){var f=t.attr(\\\"class\\\")?t.attr(\\\"class\\\").split(\\\" \\\")[0]:\\\"text\\\";return f+=\\\"-math\\\",c.selectAll(\\\"svg.\\\"+f).remove(),c.selectAll(\\\"g.\\\"+f+\\\"-group\\\").remove(),t.style(\\\"display\\\",null).attr({\\\"data-unformatted\\\":s,\\\"data-math\\\":\\\"N\\\"}),l?(e&&e._promises||[]).push(new Promise(function(e){t.style(\\\"display\\\",\\\"none\\\");var r={fontSize:parseInt(t.style(\\\"font-size\\\"),10)};a(l[2],r,function(r,a,l){c.selectAll(\\\"svg.\\\"+f).remove(),c.selectAll(\\\"g.\\\"+f+\\\"-group\\\").remove();var u=r&&r.select(\\\"svg\\\");if(!u||!u.node())return o(),void e();var h=c.append(\\\"g\\\").classed(f+\\\"-group\\\",!0).attr({\\\"pointer-events\\\":\\\"none\\\",\\\"data-unformatted\\\":s,\\\"data-math\\\":\\\"Y\\\"});h.node().appendChild(u.node()),a&&a.node()&&u.node().insertBefore(a.node().cloneNode(!0),u.node().firstChild),u.attr({class:f,height:l.height,preserveAspectRatio:\\\"xMinYMin meet\\\"}).style({overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"});var d=t.style(\\\"fill\\\")||\\\"black\\\";u.select(\\\"g\\\").attr({fill:d,stroke:d});var p=n(u,\\\"width\\\"),m=n(u,\\\"height\\\"),v=+t.attr(\\\"x\\\")-p*{start:0,middle:.5,end:1}[t.attr(\\\"text-anchor\\\")||\\\"start\\\"],g=parseInt(t.style(\\\"font-size\\\"),10)||n(t,\\\"height\\\"),y=-g/4;\\\"y\\\"===f[0]?(h.attr({transform:\\\"rotate(\\\"+[-90,+t.attr(\\\"x\\\"),+t.attr(\\\"y\\\")]+\\\") translate(\\\"+[-p/2,y-m/2]+\\\")\\\"}),u.attr({x:+t.attr(\\\"x\\\"),y:+t.attr(\\\"y\\\")})):\\\"l\\\"===f[0]?u.attr({x:t.attr(\\\"x\\\"),y:y-m/2}):\\\"a\\\"===f[0]?u.attr({x:0,y:y}):u.attr({x:v,y:+t.attr(\\\"y\\\")+y-m/2}),i&&i.call(t,h),e(h)})})):o(),t}};var g=/(<|&lt;|&#60;)/g,y=/(>|&gt;|&#62;)/g,b={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\\\"},x={sub:\\\"0.3em\\\",sup:\\\"-0.6em\\\"},_={sub:\\\"-0.21em\\\",sup:\\\"0.42em\\\"},w=\\\"\\\\u200b\\\",M=[\\\"http:\\\",\\\"https:\\\",\\\"mailto:\\\",\\\"\\\",void 0,\\\":\\\"],k=new RegExp(\\\"</?(\\\"+Object.keys(b).join(\\\"|\\\")+\\\")( [^>]*)?/?>\\\",\\\"g\\\"),A=Object.keys(p.entityToUnicode).map(function(t){return{regExp:new RegExp(\\\"&\\\"+t+\\\";\\\",\\\"g\\\"),sub:p.entityToUnicode[t]}}),T=/(\\\\r\\\\n?|\\\\n)/g,S=/(<[^<>]*>)/,E=/<(\\\\/?)([^ >]*)(\\\\s+(.*))?>/i,L=/<br(\\\\s+.*)?>/i,C=/(^|[\\\\s\\\"'])style\\\\s*=\\\\s*(\\\"([^\\\"]*);?\\\"|'([^']*);?')/i,z=/(^|[\\\\s\\\"'])href\\\\s*=\\\\s*(\\\"([^\\\"]*)\\\"|'([^']*)')/i,I=/(^|[\\\\s\\\"'])target\\\\s*=\\\\s*(\\\"([^\\\"\\\\s]*)\\\"|'([^'\\\\s]*)')/i,D=/(^|[\\\\s\\\"'])popup\\\\s*=\\\\s*(\\\"([\\\\w=,]*)\\\"|'([\\\\w=,]*)')/i,P=/(^|;)\\\\s*color:/;r.plainText=function(t){return(t||\\\"\\\").replace(k,\\\" \\\")},r.lineCount=function(t){return t.selectAll(\\\"tspan.line\\\").size()||1},r.positionText=function(t,e,r){return t.each(function(){function t(t,e){return void 0===e?null===(e=n.attr(t))&&(n.attr(t,0),e=0):n.attr(t,e),e}var n=h.select(this),i=t(\\\"x\\\",e),a=t(\\\"y\\\",r);\\\"text\\\"===this.nodeName&&n.selectAll(\\\"tspan.line\\\").attr({x:i,y:a})})},r.makeEditable=function(t,e){function r(){i(),t.style({opacity:0})\\n\",\n       \";var e,r=l.attr(\\\"class\\\");(e=r?\\\".\\\"+r.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&h.select(t.node().parentNode).select(e).style({opacity:0})}function n(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}function i(){var r=h.select(a),i=r.select(\\\".svg-container\\\"),o=i.append(\\\"div\\\");o.classed(\\\"plugin-editable editable\\\",!0).style({position:\\\"absolute\\\",\\\"font-family\\\":t.style(\\\"font-family\\\")||\\\"Arial\\\",\\\"font-size\\\":t.style(\\\"font-size\\\")||12,color:e.fill||t.style(\\\"fill\\\")||\\\"black\\\",opacity:1,\\\"background-color\\\":e.background||\\\"transparent\\\",outline:\\\"#ffffff33 1px solid\\\",margin:[-parseFloat(t.style(\\\"font-size\\\"))/8+1,0,0,-1].join(\\\"px \\\")+\\\"px\\\",padding:\\\"0\\\",\\\"box-sizing\\\":\\\"border-box\\\"}).attr({contenteditable:!0}).text(e.text||t.attr(\\\"data-unformatted\\\")).call(c(t,i,e)).on(\\\"blur\\\",function(){a._editing=!1,t.text(this.textContent).style({opacity:1});var e,r=h.select(this).attr(\\\"class\\\");(e=r?\\\".\\\"+r.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&h.select(t.node().parentNode).select(e).style({opacity:0});var n=this.textContent;h.select(this).transition().duration(0).remove(),h.select(document).on(\\\"mouseup\\\",null),s.edit.call(t,n)}).on(\\\"focus\\\",function(){var t=this;a._editing=!0,h.select(document).on(\\\"mouseup\\\",function(){if(h.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on(\\\"keyup\\\",function(){27===h.event.which?(a._editing=!1,t.style({opacity:1}),h.select(this).style({opacity:0}).on(\\\"blur\\\",function(){return!1}).transition().remove(),s.cancel.call(t,this.textContent)):(s.input.call(t,this.textContent),h.select(this).call(c(t,i,e)))}).on(\\\"keydown\\\",function(){13===h.event.which&&this.blur()}).call(n)}var a=e.gd,o=e.delegate,s=h.dispatch(\\\"edit\\\",\\\"input\\\",\\\"cancel\\\"),l=o||t;if(t.style({\\\"pointer-events\\\":o?\\\"none\\\":\\\"all\\\"}),1!==t.size())throw new Error(\\\"boo\\\");return e.immediate?r():l.on(\\\"click\\\",r),h.rebind(t,s,\\\"on\\\")}},{\\\"../constants/alignment\\\":699,\\\"../constants/string_mappings\\\":706,\\\"../constants/xmlns_namespaces\\\":707,\\\"../lib\\\":725,d3:121}],746:[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\\\":130}],747:[function(t,e,r){\\\"use strict\\\";var n=e.exports={},i=t(\\\"../plots/geo/constants\\\").locationmodeToLayer,a=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=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\\\"../plots/geo/constants\\\":792,\\\"topojson-client\\\":535}],748:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Float32Array(e),n=0;n<e;n++)r[n]=t[n];return r}function i(t,e){for(var r=new Float64Array(e),n=0;n<e;n++)r[n]=t[n];return r}e.exports=function(t,e){if(t instanceof Float32Array)return n(t,e);if(t instanceof Float64Array)return i(t,e);throw new Error(\\\"This array type is not yet supported by `truncate`.\\\")}},{}],749:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\\\"[\\\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.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\\\":844}],750:[function(t,e,r){\\\"use strict\\\";e.exports={traces:function(){return{docalc:!1,docalcAutorange:!1,doplot:!1,dostyle:!1,docolorbars:!1,autorangeOn:!1,clearCalc:!1,fullReplot:!1}},layout:function(){return{dolegend:!1,doticks:!1,dolayoutstyle:!1,doplot:!1,docalc:!1,domodebar:!1,docamera:!1,layoutReplot:!1}},update:function(t,e){var r=e.editType;if(r)for(var n=r.split(\\\"+\\\"),i=0;i<n.length;i++)t[n[i]]=!0}}},{}],751:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t[e],n=e.charAt(0);r&&\\\"paper\\\"!==r&&(t[e]=f.cleanId(r,n))}function i(t){var e=\\\"middle\\\",r=\\\"center\\\";return-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 a(t,e){return e in t&&\\\"object\\\"==typeof t[e]&&0===Object.keys(t[e]).length}function o(t){var e=t.search(p);if(e>0)return t.substr(0,e)}var s=t(\\\"fast-isnumeric\\\"),l=t(\\\"gl-mat4/fromQuat\\\"),u=t(\\\"../registry\\\"),c=t(\\\"../lib\\\"),h=t(\\\"../plots/plots\\\"),f=t(\\\"../plots/cartesian/axes\\\"),d=t(\\\"../components/color\\\");r.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||void 0===t)throw new Error(\\\"DOM element provided is null or undefined\\\");return t},r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&c.log(\\\"Clearing previous rejected promises from queue.\\\"),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1);var i=f.list({_fullLayout:t});for(e=0;e<i.length;e++){var o=i[e];o.anchor&&\\\"free\\\"!==o.anchor&&(o.anchor=f.cleanId(o.anchor)),o.overlaying&&(o.overlaying=f.cleanId(o.overlaying)),o.type||(o.isdate?o.type=\\\"date\\\":o.islog?o.type=\\\"log\\\":!1===o.isdate&&!1===o.islog&&(o.type=\\\"linear\\\")),\\\"withzero\\\"!==o.autorange&&\\\"tozero\\\"!==o.autorange||(o.autorange=!0,o.rangemode=\\\"tozero\\\"),delete o.islog,delete o.isdate,delete o.categories,a(o,\\\"domain\\\")&&delete o.domain,void 0!==o.autotick&&(void 0===o.tickmode&&(o.tickmode=o.autotick?\\\"auto\\\":\\\"linear\\\"),delete o.autotick)}var s=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<s;e++){var u=t.annotations[e];c.isPlainObject(u)&&(u.ref&&(\\\"paper\\\"===u.ref?(u.xref=\\\"paper\\\",u.yref=\\\"paper\\\"):\\\"data\\\"===u.ref&&(u.xref=\\\"x\\\",u.yref=\\\"y\\\"),delete u.ref),n(u,\\\"xref\\\"),n(u,\\\"yref\\\"))}var p=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<p;e++){var m=t.shapes[e];c.isPlainObject(m)&&(n(m,\\\"xref\\\"),n(m,\\\"yref\\\"))}var v=t.legend;v&&(v.x>3?(v.x=1.02,v.xanchor=\\\"left\\\"):v.x<-2&&(v.x=-.02,v.xanchor=\\\"right\\\"),v.y>3?(v.y=1.02,v.yanchor=\\\"bottom\\\"):v.y<-2&&(v.y=-.02,v.yanchor=\\\"top\\\")),\\\"rotate\\\"===t.dragmode&&(t.dragmode=\\\"orbit\\\"),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var g=h.getSubplotIds(t,\\\"gl3d\\\");for(e=0;e<g.length;e++){var y=t[g[e]],b=y.cameraposition;if(Array.isArray(b)&&4===b[0].length){var x=b[0],_=b[1],w=b[2],M=l([],x),k=[];for(r=0;r<3;++r)k[r]=_[e]+w*M[2+4*r];y.camera={eye:{x:k[0],y:k[1],z:k[2]},center:{x:_[0],y:_[1],z:_[2]},up:{x:M[1],y:M[5],z:M[9]}},delete y.cameraposition}}return d.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=(t.concat(Array.isArray(e)?e:[]).filter(function(t){return\\\"uid\\\"in t}).map(function(t){return t.uid})),s=0;s<t.length;s++){var l,p=t[s];if(!(\\\"uid\\\"in p)||-1!==n.indexOf(p.uid)){var m;for(l=0;l<100&&(m=c.randstr(o),-1!==n.indexOf(m));l++);p.uid=c.randstr(o),o.push(p.uid)}if(n.push(p.uid),\\\"histogramy\\\"===p.type&&\\\"xbins\\\"in p&&!(\\\"ybins\\\"in p)&&(p.ybins=p.xbins,delete p.xbins),p.error_y&&\\\"opacity\\\"in p.error_y){var v=d.defaults,g=p.error_y.color||(u.traceIs(p,\\\"bar\\\")?d.defaultLine:v[s%v.length]);p.error_y.color=d.addOpacity(d.rgb(g),d.opacity(g)*p.error_y.opacity),delete p.error_y.opacity}if(\\\"bardir\\\"in p&&(\\\"h\\\"!==p.bardir||!u.traceIs(p,\\\"bar\\\")&&\\\"histogram\\\"!==p.type.substr(0,9)||(p.orientation=\\\"h\\\",r.swapXYData(p)),delete p.bardir),\\\"histogramy\\\"===p.type&&r.swapXYData(p),\\\"histogramx\\\"!==p.type&&\\\"histogramy\\\"!==p.type||(p.type=\\\"histogram\\\"),\\\"scl\\\"in p&&(p.colorscale=p.scl,delete p.scl),\\\"reversescl\\\"in p&&(p.reversescale=p.reversescl,delete p.reversescl),p.xaxis&&(p.xaxis=f.cleanId(p.xaxis,\\\"x\\\")),p.yaxis&&(p.yaxis=f.cleanId(p.yaxis,\\\"y\\\")),u.traceIs(p,\\\"gl3d\\\")&&p.scene&&(p.scene=h.subplotsRegistry.gl3d.cleanId(p.scene)),u.traceIs(p,\\\"pie\\\")||u.traceIs(p,\\\"bar\\\")||(Array.isArray(p.textposition)?p.textposition=p.textposition.map(i):p.textposition&&(p.textposition=i(p.textposition))),u.traceIs(p,\\\"2dMap\\\")&&(\\\"YIGnBu\\\"===p.colorscale&&(p.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===p.colorscale&&(p.colorscale=\\\"YlOrRd\\\")),u.traceIs(p,\\\"markerColorscale\\\")&&p.marker){var y=p.marker;\\\"YIGnBu\\\"===y.colorscale&&(y.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===y.colorscale&&(y.colorscale=\\\"YlOrRd\\\")}if(\\\"surface\\\"===p.type&&c.isPlainObject(p.contours)){var b=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(l=0;l<b.length;l++){var x=p.contours[b[l]];c.isPlainObject(x)&&(x.highlightColor&&(x.highlightcolor=x.highlightColor,delete x.highlightColor),x.highlightWidth&&(x.highlightwidth=x.highlightWidth,delete x.highlightWidth))}}if(Array.isArray(p.transforms)){var _=p.transforms;for(l=0;l<_.length;l++){var w=_[l];if(c.isPlainObject(w))switch(w.type){case\\\"filter\\\":w.filtersrc&&(w.target=w.filtersrc,delete w.filtersrc),w.calendar&&(w.valuecalendar||(w.valuecalendar=w.calendar),delete w.calendar);break;case\\\"groupby\\\":if(w.styles=w.styles||w.style,w.styles&&!Array.isArray(w.styles)){var M=w.styles,k=Object.keys(M);w.styles=[];for(var A=0;A<k.length;A++)w.styles.push({target:k[A],value:M[k[A]]})}}}}a(p,\\\"line\\\")&&delete p.line,\\\"marker\\\"in p&&(a(p.marker,\\\"line\\\")&&delete p.marker.line,a(p,\\\"marker\\\")&&delete p.marker),d.clean(p)}},r.swapXYData=function(t){var e;if(c.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);c.swapAttrs(t,[\\\"error_?.copy_ystyle\\\"]),n&&c.swapAttrs(t,[\\\"error_?.color\\\",\\\"error_?.thickness\\\",\\\"error_?.width\\\"])}if(\\\"string\\\"==typeof t.hoverinfo){var i=t.hoverinfo.split(\\\"+\\\");for(e=0;e<i.length;e++)\\\"x\\\"===i[e]?i[e]=\\\"y\\\":\\\"y\\\"===i[e]&&(i[e]=\\\"x\\\");t.hoverinfo=i.join(\\\"+\\\")}},r.coerceTraceIndices=function(t,e){return s(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,o=i[a-1],l=s(o);if(l&&null===e){var u=i.slice(0,a-1).join(\\\".\\\");c.nestedProperty(n,u).get().splice(o,1)}else l&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var p=/(\\\\.[^\\\\[\\\\]\\\\.]+|\\\\[[^\\\\[\\\\]\\\\.]+\\\\])$/;r.hasParent=function(t,e){for(var r=o(e);r;){if(r in t)return!0;r=o(r)}return!1}},{\\\"../components/color\\\":603,\\\"../lib\\\":725,\\\"../plots/cartesian/axes\\\":766,\\\"../plots/plots\\\":829,\\\"../registry\\\":844,\\\"fast-isnumeric\\\":130,\\\"gl-mat4/fromQuat\\\":177}],752:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib/nested_property\\\"),i=t(\\\"../lib/is_plain_object\\\"),a=t(\\\"../lib/noop\\\"),o=t(\\\"../lib/loggers\\\"),s=t(\\\"../lib/search\\\").sorterAsc,l=t(\\\"../registry\\\");r.containerArrayMatch=t(\\\"./container_array_match\\\");var u=r.isAddVal=function(t){return\\\"add\\\"===t||i(t)},c=r.isRemoveVal=function(t){return null===t||\\\"remove\\\"===t};r.applyContainerArrayChanges=function(t,e,r,i){var h=e.astr,f=l.getComponentMethod(h,\\\"supplyLayoutDefaults\\\"),d=l.getComponentMethod(h,\\\"draw\\\"),p=l.getComponentMethod(h,\\\"drawOne\\\"),m=i.replot||i.recalc||f===a||d===a,v=t.layout,g=t._fullLayout;if(r[\\\"\\\"]){Object.keys(r).length>1&&o.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 o.warn(\\\"Unrecognized full array edit value\\\",h,y),!0;e.set(y)}return!m&&(f(v,g),d(t),!0)}var b,x,_,w,M,k,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],L=n(g,h).get(),C=[],z=-1,I=E.length;for(b=0;b<T.length;b++)if(_=T[b],w=r[_],M=Object.keys(w),k=w[\\\"\\\"],A=u(k),_<0||_>E.length-(A?0:1))o.warn(\\\"index out of range\\\",h,_);else if(void 0!==k)M.length>1&&o.warn(\\\"Insertion & removal are incompatible with edits to the same index.\\\",h,_),c(k)?C.push(_):A?(\\\"add\\\"===k&&(k={}),E.splice(_,0,k),L&&L.splice(_,0,{})):o.warn(\\\"Unrecognized full object edit value\\\",h,_,k),-1===z&&(z=_);else for(x=0;x<M.length;x++)n(E[_],M[x]).set(w[M[x]]);for(b=C.length-1;b>=0;b--)E.splice(C[b],1),L&&L.splice(C[b],1);if(E.length?S||e.set(E):e.set(null),m)return!1;if(f(v,g),p!==a){var D;if(-1===z)D=T;else{for(I=Math.max(E.length,I),D=[],b=0;b<T.length&&!((_=T[b])>=z);b++)D.push(_);for(b=z;b<I;b++)D.push(b)}for(b=0;b<D.length;b++)p(t,D[b])}else d(t);return!0}},{\\\"../lib/is_plain_object\\\":727,\\\"../lib/loggers\\\":729,\\\"../lib/nested_property\\\":732,\\\"../lib/noop\\\":733,\\\"../lib/search\\\":740,\\\"../registry\\\":844,\\\"./container_array_match\\\":749}],753:[function(t,e,r){\\\"use strict\\\";function n(t,e){try{t._fullLayout._paper.style(\\\"background\\\",e)}catch(t){_.error(t)}}function i(t,e){n(t,L.combine(e,\\\"white\\\"))}function a(t,e){t._context||(t._context=_.extendDeep({},x.defaultConfig));var r,a,o,s=t._context;if(e){for(a=Object.keys(e),r=0;r<a.length;r++)\\\"editable\\\"!==(o=a[r])&&\\\"edits\\\"!==o&&o in s&&(\\\"setBackground\\\"===o&&\\\"opaque\\\"===e[o]?s[o]=i:s[o]=e[o]);e.plot3dPixelRatio&&!s.plotGlPixelRatio&&(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,a=Object.keys(s.edits),r=0;r<a.length;r++)s.edits[a[r]]=l;if(e.edits)for(a=Object.keys(e.edits),r=0;r<a.length;r++)(o=a[r])in s.edits&&(s.edits[o]=e.edits[o])}s.staticPlot&&(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),\\\"hover\\\"!==s.displayModeBar||b||(s.displayModeBar=!0),\\\"transparent\\\"!==s.setBackground&&\\\"function\\\"==typeof s.setBackground||(s.setBackground=n)}function o(t,e,r){var n=g.select(t).selectAll(\\\".plot-container\\\").data([0]);n.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container plotly\\\",!0);var i=n.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),T.manager.fillLayout(t),i.style({width:t._fullLayout.width+\\\"px\\\",height:t._fullLayout.height+\\\"px\\\"}),t.framework=T.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;\\\"\\\"!==s&&s||(o=0);var l=function(){this.call(I.convertToTspans,t)},u=a.select(\\\".title-group text\\\").call(l);if(t._context.edits.titleText){s&&\\\"Click to enter title\\\"!==s||(o=.2,u.attr({\\\"data-unformatted\\\":\\\"Click to enter title\\\"}).text(\\\"Click to enter title\\\").style({opacity:o}).on(\\\"mouseover.opacity\\\",function(){g.select(this).transition().duration(100).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){g.select(this).transition().duration(1e3).style(\\\"opacity\\\",0)}));var c=function(){this.call(I.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){t.framework({layout:{title:e}}),this.text(e).call(l),this.call(c)}).on(\\\"cancel\\\",function(){var t=this.attr(\\\"data-unformatted\\\");this.text(t).call(l)})};u.call(c)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),A.addLinks(t),Promise.resolve()}function s(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)n=t[r],n<0?a.push(i+n):a.push(n);return a}function l(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\\\"all values in \\\"+r+\\\" must be integers\\\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\\\" must be valid indices for gd.data.\\\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\\\"each index in \\\"+r+\\\" must be unique.\\\")}}function u(t,e,r){if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"currentIndices is a required argument.\\\");if(Array.isArray(e)||(e=[e]),l(t,e,\\\"currentIndices\\\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&l(t,r,\\\"newIndices\\\"),void 0!==r&&e.length!==r.length)throw new Error(\\\"current and new indices must be of equal length.\\\")}function c(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"traces must be defined.\\\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\\\"object\\\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\\\"all values in traces array must be non-array objects\\\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\\\"if indices is specified, traces.length must equal indices.length\\\")}function h(t,e,r,n){var i=_.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array\\\");if(!_.isPlainObject(e))throw new Error(\\\"update must be a key:value object\\\");if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers\\\");l(t,r,\\\"indices\\\");for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\\\"attribute \\\"+a+\\\" must be an array of length equal to indices array length\\\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].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\\\")}}function f(t,e,r,n){var i,a,o,l,u,c=_.isPlainObject(n),h=[];Array.isArray(r)||(r=[r]),r=s(r,t.data.length-1);for(var f in e)for(var d=0;d<r.length;d++){if(i=t.data[r[d]],o=_.nestedProperty(i,f),a=o.get(),l=e[f][d],!Array.isArray(l))throw new Error(\\\"attribute: \\\"+f+\\\" index: \\\"+d+\\\" must be an array\\\");if(!Array.isArray(a))throw new Error(\\\"cannot extend missing or non-array attribute: \\\"+f);u=c?n[f][d]:n,y(u)||(u=-1),h.push({prop:o,target:a,insert:l,maxp:Math.floor(u)})}return h}function d(t,e,r,n,i,a){h(t,e,r,n);for(var o,s,l,u=f(t,e,r,n),c=[],d={},p={},m=0;m<u.length;m++)s=u[m].prop,l=u[m].maxp,o=i(u[m].target,u[m].insert),l>=0&&l<o.length&&(c=a(o,l)),l=u[m].target.length,s.set(o),Array.isArray(d[s.astr])||(d[s.astr]=[]),Array.isArray(p[s.astr])||(p[s.astr]=[]),d[s.astr].push(c),p[s.astr].push(l);return{update:d,maxPoints:p}}function p(t,e,r){function n(){return d.map(function(){})}function i(t){var e=x.Axes.id2name(t);-1===u.indexOf(e)&&u.push(e)}function a(t){return\\\"LAYOUT\\\"+t+\\\".autorange\\\"}function o(t){return\\\"LAYOUT\\\"+t+\\\".range\\\"}function s(r,i,a){if(Array.isArray(r))return void r.forEach(function(t){s(t,i,a)});if(!(r in e||P.hasParent(e,r))){var o;o=\\\"LAYOUT\\\"===r.substr(0,6)?_.nestedProperty(t.layout,r.replace(\\\"LAYOUT\\\",\\\"\\\")):_.nestedProperty(f[d[a]],r),r in v||(v[r]=n()),void 0===v[r][a]&&(v[r][a]=o.get()),void 0!==i&&o.set(i)}}var l,u,c=t._fullLayout,h=t._fullData,f=t.data,d=P.coerceTraceIndices(t,r),p=R.traces(),m={},v={},g={},y=[\\\"mode\\\",\\\"visible\\\",\\\"type\\\",\\\"orientation\\\",\\\"fill\\\",\\\"histfunc\\\",\\\"histnorm\\\",\\\"text\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"open\\\",\\\"high\\\",\\\"low\\\",\\\"close\\\",\\\"base\\\",\\\"width\\\",\\\"offset\\\",\\\"xtype\\\",\\\"x0\\\",\\\"dx\\\",\\\"ytype\\\",\\\"y0\\\",\\\"dy\\\",\\\"xaxis\\\",\\\"yaxis\\\",\\\"line.width\\\",\\\"connectgaps\\\",\\\"transpose\\\",\\\"zsmooth\\\",\\\"showscale\\\",\\\"marker.showscale\\\",\\\"zauto\\\",\\\"marker.cauto\\\",\\\"autocolorscale\\\",\\\"marker.autocolorscale\\\",\\\"colorscale\\\",\\\"marker.colorscale\\\",\\\"reversescale\\\",\\\"marker.reversescale\\\",\\\"autobinx\\\",\\\"nbinsx\\\",\\\"xbins\\\",\\\"xbins.start\\\",\\\"xbins.end\\\",\\\"xbins.size\\\",\\\"autobiny\\\",\\\"nbinsy\\\",\\\"ybins\\\",\\\"ybins.start\\\",\\\"ybins.end\\\",\\\"ybins.size\\\",\\\"error_y\\\",\\\"error_y.visible\\\",\\\"error_y.value\\\",\\\"error_y.type\\\",\\\"error_y.traceref\\\",\\\"error_y.array\\\",\\\"error_y.symmetric\\\",\\\"error_y.arrayminus\\\",\\\"error_y.valueminus\\\",\\\"error_y.tracerefminus\\\",\\\"error_x\\\",\\\"error_x.visible\\\",\\\"error_x.value\\\",\\\"error_x.type\\\",\\\"error_x.traceref\\\",\\\"error_x.array\\\",\\\"error_x.symmetric\\\",\\\"error_x.arrayminus\\\",\\\"error_x.valueminus\\\",\\\"error_x.tracerefminus\\\",\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientationaxes\\\",\\\"marker.colors\\\",\\\"values\\\",\\\"labels\\\",\\\"label0\\\",\\\"dlabel\\\",\\\"sort\\\",\\\"textinfo\\\",\\\"textposition\\\",\\\"textfont.size\\\",\\\"textfont.family\\\",\\\"textfont.color\\\",\\\"insidetextfont.size\\\",\\\"insidetextfont.family\\\",\\\"insidetextfont.color\\\",\\\"outsidetextfont.size\\\",\\\"outsidetextfont.family\\\",\\\"outsidetextfont.color\\\",\\\"hole\\\",\\\"scalegroup\\\",\\\"domain\\\",\\\"domain.x\\\",\\\"domain.y\\\",\\\"domain.x[0]\\\",\\\"domain.x[1]\\\",\\\"domain.y[0]\\\",\\\"domain.y[1]\\\",\\\"tilt\\\",\\\"tiltaxis\\\",\\\"depth\\\",\\\"direction\\\",\\\"rotation\\\",\\\"pull\\\",\\\"line.showscale\\\",\\\"line.cauto\\\",\\\"line.autocolorscale\\\",\\\"line.reversescale\\\",\\\"marker.line.showscale\\\",\\\"marker.line.cauto\\\",\\\"marker.line.autocolorscale\\\",\\\"marker.line.reversescale\\\",\\\"xcalendar\\\",\\\"ycalendar\\\",\\\"cumulative\\\",\\\"cumulative.enabled\\\",\\\"cumulative.direction\\\",\\\"cumulative.currentbin\\\",\\\"a0\\\",\\\"da\\\",\\\"b0\\\",\\\"db\\\",\\\"atype\\\",\\\"btype\\\",\\\"cheaterslope\\\",\\\"carpet\\\",\\\"sum\\\"],b=[\\\"color\\\",\\\"smoothing\\\",\\\"title\\\",\\\"titlefont\\\",\\\"titlefont.size\\\",\\\"titlefont.family\\\",\\\"titlefont.color\\\",\\\"titleoffset\\\",\\\"type\\\",\\\"autorange\\\",\\\"rangemode\\\",\\\"range\\\",\\\"fixedrange\\\",\\\"cheatertype\\\",\\\"tickmode\\\",\\\"nticks\\\",\\\"tickvals\\\",\\\"ticktext\\\",\\\"ticks\\\",\\\"mirror\\\",\\\"ticklen\\\",\\\"tickwidth\\\",\\\"tickcolor\\\",\\\"showticklabels\\\",\\\"tickfont\\\",\\\"tickfont.size\\\",\\\"tickfont.family\\\",\\\"tickfont.color\\\",\\\"tickprefix\\\",\\\"showtickprefix\\\",\\\"ticksuffix\\\",\\\"showticksuffix\\\",\\\"showexponent\\\",\\\"exponentformat\\\",\\\"separatethousands\\\",\\\"tickformat\\\",\\\"categoryorder\\\",\\\"categoryarray\\\",\\\"labelpadding\\\",\\\"labelprefix\\\",\\\"labelsuffix\\\",\\\"labelfont\\\",\\\"labelfont.family\\\",\\\"labelfont.size\\\",\\\"labelfont.color\\\",\\\"showline\\\",\\\"linecolor\\\",\\\"linewidth\\\",\\\"gridcolor\\\",\\\"gridwidth\\\",\\\"showgrid\\\",\\\"minorgridcount\\\",\\\"minorgridwidth\\\",\\\"minorgridcolor\\\",\\\"startline\\\",\\\"startlinecolor\\\",\\\"startlinewidth\\\",\\\"endline\\\",\\\"endlinewidth\\\",\\\"endlinecolor\\\",\\\"tick0\\\",\\\"dtick\\\",\\\"arraytick0\\\",\\\"arraydtick\\\",\\\"hoverformat\\\",\\\"tickangle\\\"];for(l=0;l<b.length;l++)y.push(\\\"aaxis.\\\"+b[l]),y.push(\\\"baxis.\\\"+b[l]);for(l=0;l<d.length;l++)if(k.traceIs(h[d[l]],\\\"box\\\")){y.push(\\\"name\\\");break}var w=[\\\"marker\\\",\\\"marker.size\\\",\\\"textfont\\\",\\\"boxpoints\\\",\\\"jitter\\\",\\\"pointpos\\\",\\\"whiskerwidth\\\",\\\"boxmean\\\",\\\"tickwidth\\\"],M=[\\\"zmin\\\",\\\"zmax\\\",\\\"zauto\\\",\\\"xgap\\\",\\\"ygap\\\",\\\"marker.cmin\\\",\\\"marker.cmax\\\",\\\"marker.cauto\\\",\\\"line.cmin\\\",\\\"line.cmax\\\",\\\"marker.line.cmin\\\",\\\"marker.line.cmax\\\",\\\"line\\\",\\\"line.smoothing\\\",\\\"line.shape\\\",\\\"error_y.width\\\",\\\"error_x.width\\\",\\\"error_x.copy_ystyle\\\",\\\"marker.maxdisplayed\\\"],T=[\\\"type\\\",\\\"x\\\",\\\"y\\\",\\\"x0\\\",\\\"y0\\\",\\\"orientation\\\",\\\"xaxis\\\",\\\"yaxis\\\"],S=[\\\"zmin\\\",\\\"zmax\\\"],E=[\\\"cmin\\\",\\\"cmax\\\"],L=[\\\"xbins.start\\\",\\\"xbins.end\\\",\\\"xbins.size\\\"],C=[\\\"ybins.start\\\",\\\"ybins.end\\\",\\\"ybins.size\\\"],z=[\\\"contours.start\\\",\\\"contours.end\\\",\\\"contours.size\\\"],I=[\\\"cartesian\\\",\\\"pie\\\",\\\"ternary\\\"];c._basePlotModules.forEach(function(t){-1===I.indexOf(t.name)&&(p.docalc=!0)});for(var D in e){if(P.hasParent(e,D))throw new Error(\\\"cannot set \\\"+D+\\\"and a parent attribute simultaneously\\\");var O,F,j,N,B,U=e[D];if(m[D]=U,\\\"LAYOUT\\\"!==D.substr(0,6)){for(v[D]=n(),l=0;l<d.length;l++)if(O=f[d[l]],F=h[d[l]],j=_.nestedProperty(O,D),N=j.get(),void 0!==(B=Array.isArray(U)?U[l%U.length]:U)){if(-1!==S.indexOf(D)&&s(\\\"zauto\\\",!1,l),-1!==E.indexOf(D))s(\\\"cauto\\\",!1,l);else if(\\\"colorscale\\\"===D)s(\\\"autocolorscale\\\",!1,l);else if(\\\"autocolorscale\\\"===D)s(\\\"colorscale\\\",void 0,l);else if(\\\"marker.colorscale\\\"===D)s(\\\"marker.autocolorscale\\\",!1,l);else if(\\\"marker.autocolorscale\\\"===D)s(\\\"marker.colorscale\\\",void 0,l);else if(\\\"zauto\\\"===D)s(S,void 0,l);else if(-1!==L.indexOf(D))s(\\\"autobinx\\\",!1,l);else if(\\\"autobinx\\\"===D)s(L,void 0,l);else if(-1!==C.indexOf(D))s(\\\"autobiny\\\",!1,l);else if(\\\"autobiny\\\"===D)s(C,void 0,l);else if(-1!==z.indexOf(D))s(\\\"autocontour\\\",!1,l);else if(\\\"autocontour\\\"===D)s(z,void 0,l);else if(-1!==[\\\"x0\\\",\\\"dx\\\"].indexOf(D)&&F.x&&\\\"scaled\\\"!==F.xtype)s(\\\"xtype\\\",\\\"scaled\\\",l);else if(-1!==[\\\"y0\\\",\\\"dy\\\"].indexOf(D)&&F.y&&\\\"scaled\\\"!==F.ytype)s(\\\"ytype\\\",\\\"scaled\\\",l);else if(\\\"colorbar.thicknessmode\\\"===D&&j.get()!==B&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(B)&&F.colorbar){var V=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(F.colorbar.orient)?c.height-c.margin.t-c.margin.b:c.width-c.margin.l-c.margin.r;s(\\\"colorbar.thickness\\\",F.colorbar.thickness*(\\\"fraction\\\"===B?1/V:V),l)}else if(\\\"colorbar.lenmode\\\"===D&&j.get()!==B&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(B)&&F.colorbar){var H=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(F.colorbar.orient)?c.width-c.margin.l-c.margin.r:c.height-c.margin.t-c.margin.b;s(\\\"colorbar.len\\\",F.colorbar.len*(\\\"fraction\\\"===B?1/H:H),l)}else\\\"colorbar.tick0\\\"===D||\\\"colorbar.dtick\\\"===D?s(\\\"colorbar.tickmode\\\",\\\"linear\\\",l):\\\"colorbar.tickmode\\\"===D&&s([\\\"colorbar.tick0\\\",\\\"colorbar.dtick\\\"],void 0,l);if(\\\"type\\\"===D&&\\\"pie\\\"===B!=(\\\"pie\\\"===N)){var q=\\\"x\\\",G=\\\"y\\\";\\\"bar\\\"!==B&&\\\"bar\\\"!==N||\\\"h\\\"!==O.orientation||(q=\\\"y\\\",G=\\\"x\\\"),_.swapAttrs(O,[\\\"?\\\",\\\"?src\\\"],\\\"labels\\\",q),_.swapAttrs(O,[\\\"d?\\\",\\\"?0\\\"],\\\"label\\\",q),_.swapAttrs(O,[\\\"?\\\",\\\"?src\\\"],\\\"values\\\",G),\\\"pie\\\"===N?(_.nestedProperty(O,\\\"marker.color\\\").set(_.nestedProperty(O,\\\"marker.colors\\\").get()),c._pielayer.selectAll(\\\"g.trace\\\").remove()):k.traceIs(O,\\\"cartesian\\\")&&(_.nestedProperty(O,\\\"marker.colors\\\").set(_.nestedProperty(O,\\\"marker.color\\\").get()),g[O.xaxis||\\\"x\\\"]=!0,g[O.yaxis||\\\"y\\\"]=!0)}v[D][l]=N;var Y=[\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientation\\\",\\\"orientationaxes\\\"];if(-1!==Y.indexOf(D)){if(\\\"orientation\\\"===D){if(j.set(B),j.get()===v[D][l])continue}else\\\"orientationaxes\\\"===D&&(O.orientation={v:\\\"h\\\",h:\\\"v\\\"}[F.orientation]);P.swapXYData(O)}else if(-1!==A.dataArrayContainers.indexOf(j.parts[0]))P.manageArrayContainers(j,B,v),p.docalc=!0;else{var X=j.parts[0],W=(F._module||{}).attributes,Z=W&&W[X];if(Z||(Z=A.attributes[X]),Z){for(var J=1;J<j.parts.length;J++){var K=Z[j.parts[J]];if(!K)break;Z=K}(!Z.valType||Z.arrayOk&&(Array.isArray(B)||Array.isArray(N)))&&(p.docalc=!0),R.update(p,Z)}else p.docalc=!0;j.set(B)}}if(-1!==[\\\"swapxyaxes\\\",\\\"orientationaxes\\\"].indexOf(D)&&x.Axes.swap(t,d),\\\"orientationaxes\\\"===D){var Q=_.nestedProperty(t.layout,\\\"hovermode\\\");\\\"x\\\"===Q.get()?Q.set(\\\"y\\\"):\\\"y\\\"===Q.get()&&Q.set(\\\"x\\\")}-1!==d.indexOf(0)&&-1!==T.indexOf(D)&&(x.Axes.clearTypes(t,d),p.docalc=!0),-1!==[\\\"autobinx\\\",\\\"autobiny\\\",\\\"zauto\\\"].indexOf(D)&&!1===B||(p.dostyle=!0),(-1!==[\\\"colorbar\\\",\\\"line\\\"].indexOf(j.parts[0])||\\\"marker\\\"===j.parts[0]&&\\\"colorbar\\\"===j.parts[1])&&(p.docolorbars=!0);var $=D.indexOf(\\\"[\\\"),tt=-1===$?D:D.substr(0,$);if(-1!==y.indexOf(tt)){if(-1!==[\\\"orientation\\\",\\\"type\\\"].indexOf(D)){for(u=[],l=0;l<d.length;l++){var et=f[d[l]];k.traceIs(et,\\\"cartesian\\\")&&(i(et.xaxis||\\\"x\\\"),i(et.yaxis||\\\"y\\\"),\\\"type\\\"===D&&s([\\\"autobinx\\\",\\\"autobiny\\\"],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}p.docalc=!0}else-1!==M.indexOf(tt)?p.doplot=!0:0===tt.indexOf(\\\"aaxis\\\")||0===tt.indexOf(\\\"baxis\\\")?p.doplot=!0:-1!==w.indexOf(tt)&&(p.docalcAutorange=!0)}else j=_.nestedProperty(t.layout,D.replace(\\\"LAYOUT\\\",\\\"\\\")),v[D]=[j.get()],j.set(Array.isArray(U)?U[0]:U),p.docalc=!0}x.Axes.list(t).forEach(function(t){t.autorange&&(p.autorangeOn=!0)});var rt=Object.keys(g);t:for(l=0;l<rt.length;l++){for(var nt=rt[l],it=nt.charAt(0),at=it+\\\"axis\\\",ot=0;ot<f.length;ot++)if(k.traceIs(f[ot],\\\"cartesian\\\")&&(f[ot][at]||it)===nt)continue t;s(\\\"LAYOUT\\\"+x.Axes.id2name(nt),null,0)}return(p.docalc||p.docalcAutorange&&p.autorangeOn)&&(p.clearCalc=!0),(p.docalc||p.doplot||p.docalcAutorange)&&(p.fullReplot=!0),{flags:p,undoit:v,redoit:m,traces:d,eventData:_.extendDeepNoArrays([],[m,d])}}function m(t,e){function r(t,n){if(Array.isArray(t))return void t.forEach(function(t){r(t,n)});if(!(t in e||P.hasParent(e,t))){var i=_.nestedProperty(l,t);t in b||(b[t]=i.get()),void 0!==n&&i.set(n)}}function n(e,r){if(!_.isPlainObject(e))return!1;var n=e[r+\\\"ref\\\"]||r,i=x.Axes.getFromId(t,n);return i||n.charAt(0)!==r||(i=x.Axes.getFromId(t,r)),(i||{}).autorange}function i(t){var e=U.name2id(t.split(\\\".\\\")[0]);return w[e]=1,e}var a,o,s,l=t.layout,u=t._fullLayout,c=Object.keys(e),h=x.Axes.list(t),f={};for(o=0;o<c.length;o++)if(0===c[o].indexOf(\\\"allaxes\\\")){for(s=0;s<h.length;s++){var d=h[s]._id.substr(1),p=-1!==d.indexOf(\\\"scene\\\")?d+\\\".\\\":\\\"\\\",m=c[o].replace(\\\"allaxes\\\",p+h[s]._name);e[m]||(e[m]=e[c[o]])}delete e[c[o]]}var v,g=R.layout(),y={},b={},w={};for(var M in e){if(P.hasParent(e,M))throw new Error(\\\"cannot set \\\"+M+\\\"and a parent attribute simultaneously\\\");var T=_.nestedProperty(l,M),S=e[M],E=T.parts.length,L=\\\"string\\\"==typeof T.parts[E-1]?E-1:E-2,C=T.parts[0],z=T.parts[L],I=T.parts[L-1]+\\\".\\\"+z,O=T.parts.slice(0,L).join(\\\".\\\"),j=_.nestedProperty(t.layout,O).get(),N=_.nestedProperty(u,O).get(),B=T.get();if(void 0!==S){if(y[M]=S,b[M]=\\\"reverse\\\"===z?S:B,-1!==[\\\"width\\\",\\\"height\\\"].indexOf(M)&&null===S)u[M]=t._initialAutoSize[M];else if(I.match(/^[xyz]axis[0-9]*\\\\.range(\\\\[[0|1]\\\\])?$/))r(O+\\\".autorange\\\",!1),i(I),_.nestedProperty(u,O+\\\"._inputRange\\\").set(null);else if(I.match(/^[xyz]axis[0-9]*\\\\.autorange$/)){r([O+\\\".range[0]\\\",O+\\\".range[1]\\\"],void 0),i(I),_.nestedProperty(u,O+\\\"._inputRange\\\").set(null);var V=_.nestedProperty(u,O).get();V._inputDomain&&(V._input.domain=V._inputDomain.slice())}else I.match(/^[xyz]axis[0-9]*\\\\.domain(\\\\[[0|1]\\\\])?$/)?_.nestedProperty(u,O+\\\"._inputDomain\\\").set(null):I.match(/^[xyz]axis[0-9]*\\\\.constrain.*$/)?g.docalc=!0:I.match(/^aspectratio\\\\.[xyz]$/)?r(C+\\\".aspectmode\\\",\\\"manual\\\"):I.match(/^aspectmode$/)?r([O+\\\".x\\\",O+\\\".y\\\",O+\\\".z\\\"],void 0):\\\"tick0\\\"===z||\\\"dtick\\\"===z?r(O+\\\".tickmode\\\",\\\"linear\\\"):\\\"tickmode\\\"===z?r([O+\\\".tick0\\\",O+\\\".dtick\\\"],void 0):/[xy]axis[0-9]*?$/.test(z)&&!Object.keys(S||{}).length?g.docalc=!0:/[xy]axis[0-9]*\\\\.categoryorder$/.test(I)?g.docalc=!0:/[xy]axis[0-9]*\\\\.categoryarray/.test(I)&&(g.docalc=!0);if(-1!==I.indexOf(\\\"rangeslider\\\")&&(g.docalc=!0),\\\"type\\\"===z){var H=j,q=\\\"linear\\\"===N.type&&\\\"log\\\"===S,G=\\\"log\\\"===N.type&&\\\"linear\\\"===S;if(q||G){if(H&&H.range)if(N.autorange)q&&(H.range=H.range[1]>H.range[0]?[1,2]:[2,1]);else{var Y=H.range[0],X=H.range[1];q?(Y<=0&&X<=0&&r(O+\\\".autorange\\\",!0),Y<=0?Y=X/1e6:X<=0&&(X=Y/1e6),r(O+\\\".range[0]\\\",Math.log(Y)/Math.LN10),r(O+\\\".range[1]\\\",Math.log(X)/Math.LN10)):(r(O+\\\".range[0]\\\",Math.pow(10,Y)),r(O+\\\".range[1]\\\",Math.pow(10,X)))}else r(O+\\\".autorange\\\",!0);k.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,N,S,r),k.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,N,S,r)}else r(O+\\\".autorange\\\",!0);_.nestedProperty(u,O+\\\"._inputRange\\\").set(null)}else if(z.match(F.AX_NAME_PATTERN)){var W=_.nestedProperty(u,M).get(),Z=(S||{}).type;Z&&\\\"-\\\"!==Z||(Z=\\\"linear\\\"),k.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,W,Z,r),k.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,W,Z,r)}var J=D.containerArrayMatch(M);if(J){a=J.array,o=J.index;var K=J.property,Q=_.nestedProperty(l,a),$=(Q||[])[o]||{};if(\\\"\\\"===o)-1===M.indexOf(\\\"updatemenus\\\")&&(g.docalc=!0);else if(\\\"\\\"===K){var tt=S;D.isAddVal(S)?b[M]=null:D.isRemoveVal(S)?(b[M]=$,tt=$):_.warn(\\\"unrecognized full object value\\\",e),(n(tt,\\\"x\\\")||n(tt,\\\"y\\\")&&-1===M.indexOf(\\\"updatemenus\\\"))&&(g.docalc=!0)}else!n($,\\\"x\\\")&&!n($,\\\"y\\\")||_.containsAny(M,[\\\"color\\\",\\\"opacity\\\",\\\"align\\\",\\\"dash\\\",\\\"updatemenus\\\"])||(g.docalc=!0);f[a]||(f[a]={});var et=f[a][o];et||(et=f[a][o]={}),et[K]=S,delete e[M]}else if(\\\"reverse\\\"===z)j.range?j.range.reverse():(r(O+\\\".autorange\\\",!0),j.range=[1,0]),N.autorange?g.docalc=!0:g.doplot=!0;else{var rt=String(T.parts[1]||\\\"\\\");0===C.indexOf(\\\"scene\\\")?\\\"camera\\\"===T.parts[1]?g.docamera=!0:g.doplot=!0:0===C.indexOf(\\\"geo\\\")?g.doplot=!0:0===C.indexOf(\\\"ternary\\\")?g.doplot=!0:\\\"paper_bgcolor\\\"===M?g.doplot=!0:\\\"margin\\\"===C||\\\"autorange\\\"===rt||\\\"rangemode\\\"===rt||\\\"type\\\"===rt||\\\"domain\\\"===rt||\\\"fixedrange\\\"===rt||\\\"scaleanchor\\\"===rt||\\\"scaleratio\\\"===rt||-1!==M.indexOf(\\\"calendar\\\")||M.match(/^(bar|box|font)/)?g.docalc=!0:!u._has(\\\"gl2d\\\")||-1===M.indexOf(\\\"axis\\\")&&\\\"plot_bgcolor\\\"!==M?!u._has(\\\"gl2d\\\")||\\\"dragmode\\\"!==M||\\\"lasso\\\"!==S&&\\\"select\\\"!==S||\\\"lasso\\\"===B||\\\"select\\\"===B?\\\"hiddenlabels\\\"===M?g.docalc=!0:-1!==C.indexOf(\\\"legend\\\")?g.dolegend=!0:-1!==M.indexOf(\\\"title\\\")?g.doticks=!0:-1!==C.indexOf(\\\"bgcolor\\\")?g.dolayoutstyle=!0:E>1&&_.containsAny(rt,[\\\"tick\\\",\\\"exponent\\\",\\\"grid\\\",\\\"zeroline\\\"])?g.doticks=!0:-1!==M.indexOf(\\\".linewidth\\\")&&-1!==M.indexOf(\\\"axis\\\")?g.doticks=g.dolayoutstyle=!0:E>1&&-1!==rt.indexOf(\\\"line\\\")?g.dolayoutstyle=!0:E>1&&\\\"mirror\\\"===rt?g.doticks=g.dolayoutstyle=!0:\\\"margin.pad\\\"===M?g.doticks=g.dolayoutstyle=!0:-1!==[\\\"hovermode\\\",\\\"dragmode\\\"].indexOf(M)||-1!==M.indexOf(\\\"spike\\\")?g.domodebar=!0:-1===[\\\"height\\\",\\\"width\\\",\\\"autosize\\\"].indexOf(M)&&(g.doplot=!0):g.docalc=!0:g.doplot=!0,T.set(S)}}}for(a in f){D.applyContainerArrayChanges(t,_.nestedProperty(l,a),f[a],g)||(g.doplot=!0)}var nt=u._axisConstraintGroups;for(v in w)for(o=0;o<nt.length;o++){var it=nt[o];if(it[v]){g.docalc=!0;for(var at in it)w[at]||(U.getFromId(t,at)._constraintShrinkable=!0)}}var ot=u.width,st=u.height;return t.layout.autosize&&A.plotAutoSize(t,t.layout,u),(e.height||e.width||u.width!==ot||u.height!==st)&&(g.docalc=!0),(g.doplot||g.docalc)&&(g.layoutReplot=!0),{flags:g,undoit:b,redoit:y,eventData:_.extendDeep({},y)}}function v(t){var e=g.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([0]),r._glcontainer.enter().append(\\\"div\\\").classed(\\\"gl-container\\\",!0),r._paperdiv.selectAll(\\\".main-svg\\\").remove(),\\n\",\n       \"r._paper=r._paperdiv.insert(\\\"svg\\\",\\\":first-child\\\").classed(\\\"main-svg\\\",!0),r._toppaper=r._paperdiv.append(\\\"svg\\\").classed(\\\"main-svg\\\",!0),!r._uid){var n=[];g.selectAll(\\\"defs\\\").each(function(){this.id&&n.push(this.id.split(\\\"-\\\")[1])}),r._uid=_.randstr(n)}r._paperdiv.selectAll(\\\".main-svg\\\").attr(z.svgAttrs),r._defs=r._paper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"defs-\\\"+r._uid),r._topdefs=r._toppaper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"topdefs-\\\"+r._uid),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._ternarylayer=r._paper.append(\\\"g\\\").classed(\\\"ternarylayer\\\",!0),r._geolayer=r._paper.append(\\\"g\\\").classed(\\\"geolayer\\\",!0);var a=r._paper.append(\\\"g\\\").classed(\\\"layer-above\\\",!0);r._imageUpperLayer=a.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),r._shapeUpperLayer=a.append(\\\"g\\\").classed(\\\"shapelayer\\\",!0),r._pielayer=r._paper.append(\\\"g\\\").classed(\\\"pielayer\\\",!0),r._glimages=r._paper.append(\\\"g\\\").classed(\\\"glimages\\\",!0),r._infolayer=r._toppaper.append(\\\"g\\\").classed(\\\"infolayer\\\",!0),r._zoomlayer=r._toppaper.append(\\\"g\\\").classed(\\\"zoomlayer\\\",!0),r._hoverlayer=r._toppaper.append(\\\"g\\\").classed(\\\"hoverlayer\\\",!0),t.emit(\\\"plotly_framework\\\")}var g=t(\\\"d3\\\"),y=t(\\\"fast-isnumeric\\\"),b=t(\\\"has-hover\\\"),x=t(\\\"../plotly\\\"),_=t(\\\"../lib\\\"),w=t(\\\"../lib/events\\\"),M=t(\\\"../lib/queue\\\"),k=t(\\\"../registry\\\"),A=t(\\\"../plots/plots\\\"),T=t(\\\"../plots/polar\\\"),S=t(\\\"../plots/cartesian/graph_interact\\\"),E=t(\\\"../components/drawing\\\"),L=t(\\\"../components/color\\\"),C=t(\\\"../components/errorbars\\\"),z=t(\\\"../constants/xmlns_namespaces\\\"),I=t(\\\"../lib/svg_text_utils\\\"),D=t(\\\"./manage_arrays\\\"),P=t(\\\"./helpers\\\"),O=t(\\\"./subroutines\\\"),R=t(\\\"./edit_types\\\"),F=t(\\\"../plots/cartesian/constants\\\"),j=t(\\\"../plots/cartesian/constraints\\\"),N=j.enforce,B=j.clean,U=t(\\\"../plots/cartesian/axis_ids\\\");x.plot=function(t,e,r,n){function i(){if(m)return x.addFrames(t,m)}function s(){for(var e=M._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return _.syncOrAsync([O.layoutStyles],t)}function l(){var e,r,n,i=t.calcdata;for(k.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t),e=0;e<i.length;e++)r=i[e],n=r[0].trace,!0===n.visible&&n._module.colorbar?n._module.colorbar(t,r):A.autoMargin(t,\\\"cb\\\"+n.uid);return A.doAutoMargin(t),A.previousPromises(t)}function u(){if(JSON.stringify(M._size)!==z)return _.syncOrAsync([l,O.layoutStyles],t)}function c(){if(!T)return void N(t);var e,r,n,i=A.getSubplotIds(M,\\\"cartesian\\\"),a=M._modules,o=[];for(n=0;n<a.length;n++)_.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r<i.length;r++)for(e=M._plots[i[r]],n=0;n<o.length;n++)o[n](t,e);return C.calc(t),_.syncOrAsync([k.getComponentMethod(\\\"shapes\\\",\\\"calcAutorange\\\"),k.getComponentMethod(\\\"annotations\\\",\\\"calcAutorange\\\"),h,k.getComponentMethod(\\\"rangeslider\\\",\\\"calcAutorange\\\")],t)}function h(){if(!t._transitioning){for(var e=x.Axes.list(t,\\\"\\\",!0),r=0;r<e.length;r++){var n=e[r];B(t,n),x.Axes.doAutoRange(n)}N(t),b&&x.Axes.saveRangeInitial(t)}}function f(){return x.Axes.doTicks(t,\\\"redraw\\\")}function d(){var e,r=t.calcdata,n=M._infolayer.selectAll(\\\"g.rangeslider-container\\\");for(e=0;e<r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!k.traceIs(i,\\\"2dMap\\\")){var s=\\\".hm\\\"+o+\\\",.contour\\\"+o+\\\",#clip\\\"+o;M._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&&i._module.colorbar||M._infolayer.selectAll(\\\".cb\\\"+o).remove()}var l=M._basePlotModules;for(e=0;e<l.length;e++)l[e].plot(t);var u=M._paper.selectAll(\\\".layer-subplot\\\");return M._shapeSubplotLayers=u.selectAll(\\\".shapelayer\\\"),A.style(t),k.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),A.addLinks(t),M._replotting=!1,A.previousPromises(t)}function p(){k.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"images\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"rangeslider\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t)}var m;if(t=P.getGraphDiv(t),w.init(t),_.isPlainObject(e)){var y=e;e=y.data,r=y.layout,n=y.config,m=y.frames}if(!1===w.triggerHandler(t,\\\"plotly_beforeplot\\\",[e,r,n]))return Promise.reject();e||r||_.isPlotDiv(t)||_.warn(\\\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\\\",t),a(t,n),r||(r={}),g.select(t).classed(\\\"js-plotly-plot\\\",!0),E.makeTester(),t._promises=[];var b=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(P.cleanData(e,t.data),b?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!b||(t.layout=P.cleanLayout(r)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,A.supplyDefaults(t);var M=t._fullLayout;if(e&&e[0]&&e[0].r)return o(t,e,r);M._replotting=!0,b&&v(t),t.framework!==v&&(t.framework=v,v(t)),E.initGradients(t),b&&x.Axes.saveShowSpikeInitial(t);var T=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;T&&A.doCalcdata(t);for(var L=0;L<t.calcdata.length;L++)t.calcdata[L][0].trace=t._fullData[L];var z=JSON.stringify(M._size),I=[A.previousPromises,i,s,l,u,c,O.layoutStyles,f,d,p,S,A.rehover];return _.syncOrAsync(I,t),Promise.all(t._promises).then(function(){return t.emit(\\\"plotly_afterplot\\\"),t})},x.redraw=function(t){if(t=P.getGraphDiv(t),!_.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);return P.cleanData(t.data,t.data),P.cleanLayout(t.layout),t.calcdata=void 0,x.plot(t).then(function(){return t.emit(\\\"plotly_redraw\\\"),t})},x.newPlot=function(t,e,r,n){return t=P.getGraphDiv(t),A.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),A.purge(t),x.plot(t,e,r,n)},x.extendTraces=function t(e,r,n,i){e=P.getGraphDiv(e);var a=d(e,r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=x.redraw(e),s=[e,a.update,n,a.maxPoints];return M.add(e,x.prependTraces,s,t,arguments),o},x.prependTraces=function t(e,r,n,i){e=P.getGraphDiv(e);var a=d(e,r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=x.redraw(e),s=[e,a.update,n,a.maxPoints];return M.add(e,x.extendTraces,s,t,arguments),o},x.addTraces=function t(e,r,n){e=P.getGraphDiv(e);var i,a,o=[],s=x.deleteTraces,l=t,h=[e,o],f=[e,r];for(c(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return _.extendFlat({},t)}),P.cleanData(r,e.data),i=0;i<r.length;i++)e.data.push(r[i]);for(i=0;i<r.length;i++)o.push(-r.length+i);if(void 0===n)return a=x.redraw(e),M.add(e,s,h,l,f),a;Array.isArray(n)||(n=[n]);try{u(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return M.startSequence(e),M.add(e,s,h,l,f),a=x.moveTraces(e,o,n),M.stopSequence(e),a},x.deleteTraces=function t(e,r){e=P.getGraphDiv(e);var n,i,a=[],o=x.addTraces,u=t,c=[e,a,r],h=[e,r];if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers.\\\");for(Array.isArray(r)||(r=[r]),l(e,r,\\\"indices\\\"),r=s(r,e.data.length-1),r.sort(_.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var f=x.redraw(e);return M.add(e,o,c,u,h),f},x.moveTraces=function t(e,r,n){e=P.getGraphDiv(e);var i,a=[],o=[],l=t,c=t,h=[e,n,r],f=[e,r,n];if(u(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i<r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=s(r,e.data.length-1),n=s(n,e.data.length-1),i=0;i<e.data.length;i++)-1===r.indexOf(i)&&a.push(e.data[i]);for(i=0;i<r.length;i++)o.push({newIndex:n[i],trace:e.data[r[i]]});for(o.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<o.length;i+=1)a.splice(o[i].newIndex,0,o[i].trace);e.data=a;var d=x.redraw(e);return M.add(e,l,h,c,f),d},x.restyle=function t(e,r,n,i){e=P.getGraphDiv(e),P.clearPromiseQueue(e);var a={};if(\\\"string\\\"==typeof r)a[r]=n;else{if(!_.isPlainObject(r))return _.warn(\\\"Restyle fail.\\\",r,n,i),Promise.reject();a=_.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=p(e,a,i),s=o.flags;s.clearCalc&&(e.calcdata=void 0);var l=[];s.fullReplot?l.push(x.plot):(l.push(A.previousPromises),A.supplyDefaults(e),s.dostyle&&l.push(O.doTraceStyle),s.docolorbars&&l.push(O.doColorBars)),l.push(A.rehover),M.add(e,t,[e,o.undoit,o.traces],t,[e,o.redoit,o.traces]);var u=_.syncOrAsync(l,e);return u&&u.then||(u=Promise.resolve()),u.then(function(){return e.emit(\\\"plotly_restyle\\\",o.eventData),e})},x.relayout=function t(e,r,n){if(e=P.getGraphDiv(e),P.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\\\"string\\\"==typeof r)i[r]=n;else{if(!_.isPlainObject(r))return _.warn(\\\"Relayout fail.\\\",r,n),Promise.reject();i=_.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=m(e,i),o=a.flags;o.docalc&&(e.calcdata=void 0);var s=[A.previousPromises];o.layoutReplot?s.push(O.layoutReplot):Object.keys(i).length&&(A.supplyDefaults(e),o.dolegend&&s.push(O.doLegend),o.dolayoutstyle&&s.push(O.layoutStyles),o.doticks&&s.push(O.doTicksRelayout),o.domodebar&&s.push(O.doModeBar),o.docamera&&s.push(O.doCamera)),s.push(A.rehover),M.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=_.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\\\"plotly_relayout\\\",a.eventData),e})},x.update=function t(e,r,n,i){if(e=P.getGraphDiv(e),P.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);_.isPlainObject(r)||(r={}),_.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=p(e,_.extendFlat({},r),i),o=a.flags,s=m(e,_.extendFlat({},n)),l=s.flags;(o.clearCalc||l.docalc)&&(e.calcdata=void 0);var u=[];if(o.fullReplot&&l.layoutReplot){var c=e.data,h=e.layout;e.data=void 0,e.layout=void 0,u.push(function(){return x.plot(e,c,h)})}else o.fullReplot?u.push(x.plot):l.layoutReplot?u.push(O.layoutReplot):(u.push(A.previousPromises),A.supplyDefaults(e),o.dostyle&&u.push(O.doTraceStyle),o.docolorbars&&u.push(O.doColorBars),l.dolegend&&u.push(O.doLegend),l.dolayoutstyle&&u.push(O.layoutStyles),l.doticks&&u.push(O.doTicksRelayout),l.domodebar&&u.push(O.doModeBar),l.doCamera&&u.push(O.doCamera));u.push(A.rehover),M.add(e,t,[e,a.undoit,s.undoit,a.traces],t,[e,a.redoit,s.redoit,a.traces]);var f=_.syncOrAsync(u,e);return f&&f.then||(f=Promise.resolve(e)),f.then(function(){return e.emit(\\\"plotly_update\\\",{data:a.eventData,layout:s.eventData}),e})},x.animate=function(t,e,r){function n(t){return Array.isArray(s)?t>=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t>=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&&++r===e)return t()}}if(t=P.getGraphDiv(t),!_.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://plot.ly/javascript/animations/\\\");var o=t._transitionData;o._frameQueue||(o._frameQueue=[]),r=A.supplyAnimationDefaults(r);var s=r.transition,l=r.frame;return void 0===o._frameWaitingCnt&&(o._frameWaitingCnt=0),new Promise(function(l,u){function c(){t.emit(\\\"plotly_animated\\\"),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}function h(){o._currentFrame&&o._currentFrame.onComplete&&o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,A.transition(t,e.frame.data,e.frame.layout,P.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 c()}function f(){t.emit(\\\"plotly_animating\\\"),o._lastFrameAt=-1/0,o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt>o._timeToNext&&h()};e()}function d(t){return Array.isArray(s)?v>=s.length?t.transitionOpts=s[v]:t.transitionOpts=s[0]:t.transitionOpts=s,v++,t}var p,m,v=0,g=[],y=void 0===e||null===e,b=Array.isArray(e);if(y||b||!_.isPlainObject(e)){if(y||-1!==[\\\"string\\\",\\\"number\\\"].indexOf(typeof e))for(p=0;p<o._frames.length;p++)(m=o._frames[p])&&(y||String(m.group)===String(e))&&g.push({type:\\\"byname\\\",name:String(m.name),data:d({name:m.name})});else if(b)for(p=0;p<e.length;p++){var x=e[p];-1!==[\\\"number\\\",\\\"string\\\"].indexOf(typeof x)?(x=String(x),g.push({type:\\\"byname\\\",name:x,data:d({name:x})})):_.isPlainObject(x)&&g.push({type:\\\"object\\\",data:d(_.extendFlat({},x))})}}else g.push({type:\\\"object\\\",data:d(_.extendFlat({},e))});for(p=0;p<g.length;p++)if(m=g[p],\\\"byname\\\"===m.type&&!o._frameHash[m.data.name])return _.warn('animate failure: frame not found: \\\"'+m.data.name+'\\\"'),void u();-1!==[\\\"next\\\",\\\"immediate\\\"].indexOf(r.mode)&&function(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\\\"plotly_animationinterrupted\\\",[])}}(),\\\"reverse\\\"===r.direction&&g.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var M=-1;for(p=0;p<g.length;p++)if(m=g[p],\\\"byname\\\"===m.type&&m.name===w){M=p;break}if(M>0&&M<g.length-1){var k=[];for(p=0;p<g.length;p++)m=g[p],(\\\"byname\\\"!==g[p].type||p>M)&&k.push(m);g=k}}g.length>0?function(e){if(0!==e.length){for(var s=0;s<e.length;s++){var c;c=\\\"byname\\\"===e[s].type?A.computeFrame(t,e[s].name):e[s].data;var h=i(s),d=n(s);d.duration=Math.min(d.duration,h.duration);var p={frame:c,name:e[s].name,frameOpts:h,transitionOpts:d};s===e.length-1&&(p.onComplete=a(l,2),p.onInterrupt=u),o._frameQueue.push(p)}\\\"immediate\\\"===r.mode&&(o._lastFrameAt=-1/0),o._animationRaf||f()}}(g):(t.emit(\\\"plotly_animated\\\"),l())})},x.addFrames=function(t,e,r){t=P.getGraphDiv(t);var n=0;if(null===e||void 0===e)return Promise.resolve();if(!_.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://plot.ly/javascript/animations/\\\");var i,a,o,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 c=l.length+2*e.length,h=[];for(i=e.length-1;i>=0;i--)if(_.isPlainObject(e[i])){var f=(u[e[i].name]||{}).name,d=e[i].name;f&&d&&\\\"number\\\"==typeof d&&u[f]&&(n++,_.warn('addFrames: overwriting frame \\\"'+u[f].name+'\\\" with a frame whose name of type \\\"number\\\" also equates to \\\"'+f+'\\\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),n>5&&_.warn(\\\"addFrames: This API call has yielded too many warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\\\")),h.push({frame:A.supplyFrameDefaults(e[i]),index:r&&void 0!==r[i]&&null!==r[i]?r[i]:c+i})}h.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var p=[],m=[],v=l.length;for(i=h.length-1;i>=0;i--){if(a=h[i].frame,\\\"number\\\"==typeof a.name&&_.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(o=0;o<l.length&&(l[o]||{}).name!==a.name;o++);p.push({type:\\\"replace\\\",index:o,value:a}),m.unshift({type:\\\"replace\\\",index:o,value:l[o]})}else s=Math.max(0,Math.min(h[i].index,v)),p.push({type:\\\"insert\\\",index:s,value:a}),m.unshift({type:\\\"delete\\\",index:s}),v++}var g=A.modifyFrames,y=A.modifyFrames,b=[t,m],x=[t,p];return M&&M.add(t,g,b,y,x),A.modifyFrames(t,p)},x.deleteFrames=function(t,e){if(t=P.getGraphDiv(t),!_.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for(e=e.slice(0),e.sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\\\"delete\\\",index:n}),o.unshift({type:\\\"insert\\\",index:n,value:i[n]});var s=A.modifyFrames,l=A.modifyFrames,u=[t,o],c=[t,a];return M&&M.add(t,s,u,l,c),A.modifyFrames(t,a)},x.purge=function(t){t=P.getGraphDiv(t);var e=t._fullLayout||{},r=t._fullData||[];return A.cleanPlot([],{},r,e),A.purge(t),w.purge(t),e._container&&e._container.remove(),delete t._context,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,delete t._hmpixcount,delete t._hmlumcount,t}},{\\\"../components/color\\\":603,\\\"../components/drawing\\\":627,\\\"../components/errorbars\\\":633,\\\"../constants/xmlns_namespaces\\\":707,\\\"../lib\\\":725,\\\"../lib/events\\\":715,\\\"../lib/queue\\\":738,\\\"../lib/svg_text_utils\\\":745,\\\"../plotly\\\":761,\\\"../plots/cartesian/axis_ids\\\":769,\\\"../plots/cartesian/constants\\\":771,\\\"../plots/cartesian/constraints\\\":773,\\\"../plots/cartesian/graph_interact\\\":775,\\\"../plots/plots\\\":829,\\\"../plots/polar\\\":832,\\\"../registry\\\":844,\\\"./edit_types\\\":750,\\\"./helpers\\\":751,\\\"./manage_arrays\\\":752,\\\"./subroutines\\\":758,d3:121,\\\"fast-isnumeric\\\":130,\\\"has-hover\\\":287}],754:[function(t,e,r){\\\"use strict\\\";e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\\\"reset+autosize\\\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\\\"Edit chart\\\",showSources:!1,displayModeBar:\\\"hover\\\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:\\\"transparent\\\",topojsonURL:\\\"https://cdn.plot.ly/\\\",mapboxAccessToken:null,logging:!1,globalTransforms:[]}},{}],755:[function(t,e,r){\\\"use strict\\\";function n(t){var e,r;\\\"area\\\"===t?(e={attributes:b},r={}):(e=d.modules[t]._module,r=e.basePlotModule);var n={};n.type=null,M(n,m),M(n,e.attributes),r.attributes&&M(n,r.attributes),Object.keys(d.componentsRegistry).forEach(function(e){var r=d.componentsRegistry[e];r.schema&&r.schema.traces&&r.schema.traces[t]&&Object.keys(r.schema.traces[t]).forEach(function(e){f(n,r.schema.traces[t][e],e)})}),n.type=t;var i={meta:e.meta||{},attributes:s(n)};if(e.layoutAttributes){var a={};M(a,e.layoutAttributes),i.layoutAttributes=s(a)}return i}function i(){var t={};return M(t,v),Object.keys(d.subplotsRegistry).forEach(function(e){var r=d.subplotsRegistry[e];if(r.layoutAttributes)if(\\\"cartesian\\\"===r.name)h(t,r,\\\"xaxis\\\"),h(t,r,\\\"yaxis\\\");else{var n=\\\"subplot\\\"===r.attr?r.name:r.attr;h(t,r,n)}}),t=c(t),Object.keys(d.componentsRegistry).forEach(function(e){var r=d.componentsRegistry[e];r.layoutAttributes&&(r.schema&&r.schema.layout?Object.keys(r.schema.layout).forEach(function(e){f(t,r.schema.layout[e],e)}):f(t,r.layoutAttributes,r.name))}),{layoutAttributes:s(t)}}function a(t){var e=d.transformsRegistry[t],r=M({},e.attributes);return Object.keys(d.componentsRegistry).forEach(function(e){var n=d.componentsRegistry[e];n.schema&&n.schema.transforms&&n.schema.transforms[t]&&Object.keys(n.schema.transforms[t]).forEach(function(e){f(r,n.schema.transforms[t][e],e)})}),{attributes:s(r)}}function o(){var t={frames:p.extendDeep({},g)};return s(t),t.frames}function s(t){return l(t),u(t),t}function l(t){function e(t){return{valType:\\\"string\\\"}}function n(t,n,i){r.isValObject(t)?\\\"data_array\\\"===t.valType?(t.role=\\\"data\\\",i[n+\\\"src\\\"]=e(n)):!0===t.arrayOk&&(i[n+\\\"src\\\"]=e(n)):p.isPlainObject(t)&&(t.role=\\\"object\\\")}r.crawl(t,n)}function u(t){function e(t,e,r){if(t){var n=t[A];n&&(delete t[A],r[e]={items:{}},r[e].items[n]=t,r[e].role=\\\"object\\\")}}r.crawl(t,e)}function c(t){return w(t,{radialaxis:x.radialaxis,angularaxis:x.angularaxis}),w(t,x.layout),t}function h(t,e,r){var n=p.nestedProperty(t,r),i=M({},e.layoutAttributes);i[k]=!0,n.set(i)}function f(t,e,r){var n=p.nestedProperty(t,r);n.set(M(n.get()||{},e))}var d=t(\\\"../registry\\\"),p=t(\\\"../lib\\\"),m=t(\\\"../plots/attributes\\\"),v=t(\\\"../plots/layout_attributes\\\"),g=t(\\\"../plots/frame_attributes\\\"),y=t(\\\"../plots/animation_attributes\\\"),b=t(\\\"../plots/polar/area_attributes\\\"),x=t(\\\"../plots/polar/axis_attributes\\\"),_=t(\\\"./edit_types\\\"),w=p.extendFlat,M=p.extendDeep,k=\\\"_isSubplotObj\\\",A=\\\"_isLinkedToArray\\\",T=[k,A,\\\"_arrayAttrRegexps\\\",\\\"_deprecated\\\"];r.IS_SUBPLOT_OBJ=k,r.IS_LINKED_TO_ARRAY=A,r.DEPRECATED=\\\"_deprecated\\\",r.UNDERSCORE_ATTRS=T,r.get=function(){var t={};d.allTypes.concat(\\\"area\\\").forEach(function(e){t[e]=n(e)});var e={};return Object.keys(d.transformsRegistry).forEach(function(t){e[t]=a(t)}),{defs:{valObjects:p.valObjects,metaKeys:T.concat([\\\"description\\\",\\\"role\\\"]),editTypes:{traces:_.traces(),layout:_.layout()}},traces:t,layout:i(),transforms:e,frames:o(),animation:s(y)}},r.crawl=function(t,e,n){var i=n||0;Object.keys(t).forEach(function(n){var a=t[n];-1===T.indexOf(n)&&(e(a,n,t,i),r.isValObject(a)||p.isPlainObject(a)&&r.crawl(a,e,i+1))})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,o,s){if(a=a.slice(0,s).concat([r]),e&&(\\\"data_array\\\"===e.valType||!0===e.arrayOk)&&!(\\\"colorbar\\\"===a[s-1]&&(\\\"ticktext\\\"===r||\\\"tickvals\\\"===r))){var l=n(a),u=p.nestedProperty(t,l).get();Array.isArray(u)&&i.push(l)}}function n(t){return t.join(\\\".\\\")}var i=[],a=[];if(r.crawl(m,e),t._module&&t._module.attributes&&r.crawl(t._module.attributes,e),t.transforms)for(var o=t.transforms,s=0;s<o.length;s++){var l=o[s],u=l._module;u&&(a=[\\\"transforms[\\\"+s+\\\"]\\\"],r.crawl(u.attributes,e,1))}return t._fullInput&&t._fullInput._module&&t._fullInput._module.attributes&&(r.crawl(t._fullInput._module.attributes,e),i=p.filterUnique(i)),i}},{\\\"../lib\\\":725,\\\"../plots/animation_attributes\\\":762,\\\"../plots/attributes\\\":764,\\\"../plots/frame_attributes\\\":791,\\\"../plots/layout_attributes\\\":820,\\\"../plots/polar/area_attributes\\\":830,\\\"../plots/polar/axis_attributes\\\":831,\\\"../registry\\\":844,\\\"./edit_types\\\":750}],756:[function(t,e,r){\\\"use strict\\\";function n(t){o.register(t,t.name,t.categories,t.meta),o.subplotsRegistry[t.basePlotModule.name]||o.registerSubplot(t.basePlotModule)}function i(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Transform module *name* must be a string.\\\");var e=\\\"Transform module \\\"+t.name,r=\\\"function\\\"==typeof t.transform,n=\\\"function\\\"==typeof t.calcTransform;if(!r&&!n)throw new Error(e+\\\" is missing a *transform* or *calcTransform* method.\\\");r&&n&&s.log([e+\\\" has both a *transform* and *calcTransform* methods.\\\",\\\"Please note that all *transform* methods are executed\\\",\\\"before all *calcTransform* methods.\\\"].join(\\\" \\\")),s.isPlainObject(t.attributes)||s.log(e+\\\" registered without an *attributes* object.\\\"),\\\"function\\\"!=typeof t.supplyDefaults&&s.log(e+\\\" registered without a *supplyDefaults* method.\\\"),o.transformsRegistry[t.name]=t}function a(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Component module *name* must be a string.\\\");o.registerComponent(t)}var o=t(\\\"../registry\\\"),s=t(\\\"../lib\\\");e.exports=function(t){if(!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 r=t[e];if(!r)throw new Error(\\\"Invalid module was attempted to be registered!\\\");switch(r.moduleType){case\\\"trace\\\":n(r);break;case\\\"transform\\\":i(r);break;case\\\"component\\\":a(r);break;default:throw new Error(\\\"Invalid module was attempted to be registered!\\\")}}}},{\\\"../lib\\\":725,\\\"../registry\\\":844}],757:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plotly\\\"),i=t(\\\"../lib\\\");e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{\\\"../lib\\\":725,\\\"../plotly\\\":761}],758:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&(a[0]<e[1]&&a[1]>e[0]))return!0}return!1}function i(t,e,r){return t._anchorAxis===e&&(t.mirror||t.side===r)||\\\"all\\\"===t.mirror||\\\"allticks\\\"===t.mirror||t.mirrors&&t.mirrors[e._id+r]}function a(t,e,r){var n=[],i=e._anchorAxis;if(i){var a=i._mainAxis;if(-1===n.indexOf(a)){n.push(a);for(var o=0;o<r.length;o++)r[o].overlaying===a._id&&-1===n.indexOf(r[o])&&n.push(r[o])}}return n}function o(t,e,r){for(var n=0;n<e.length;n++){var a=e[n],o=a._anchorAxis;if(o&&i(a,o,r))return p.crispRound(t,a.linewidth)}}function s(t,e,r,n,i,s){if(n)return r;var l,u=e._mainAxis,c=a(t,u,s),h=o(t,c,i);if(h)return h;for(l=0;l<s.length;l++)if(s[l].overlaying===u._id&&(c=a(t,s[l],s),h=o(t,c,i)))return h;return 0}var l=t(\\\"d3\\\"),u=t(\\\"../plotly\\\"),c=t(\\\"../registry\\\"),h=t(\\\"../plots/plots\\\"),f=t(\\\"../lib\\\"),d=t(\\\"../components/color\\\"),p=t(\\\"../components/drawing\\\"),m=t(\\\"../components/titles\\\"),v=t(\\\"../components/modebar\\\"),g=t(\\\"../plots/cartesian/graph_interact\\\"),y=t(\\\"../plots/cartesian/constants\\\");r.layoutStyles=function(t){return f.syncOrAsync([h.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){var e,a=t._fullLayout,o=a._size,c=o.p,h=u.Axes.list(t),f=a._has(\\\"cartesian\\\");for(e=0;e<h.length;e++)h[e]._linepositions={};a._paperdiv.style({width:a.width+\\\"px\\\",height:a.height+\\\"px\\\"}).selectAll(\\\".main-svg\\\").call(p.setSize,a.width,a.height),t._context.setBackground(t,a.paper_bgcolor);var m=a._paper.selectAll(\\\"g.subplot\\\"),g=[],b=[];m.each(function(t){var e=a._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,i=e.yaxis.domain,o=[];n(r,i,b)?o=[0]:(g.push(t),b.push([r,i]));var s=e.plotgroup.selectAll(\\\".bg\\\").data(o);s.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),s.exit().remove(),s.each(function(){e.bg=s;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var x=a._bgLayer.selectAll(\\\".bg\\\").data(g);x.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),x.exit().remove(),x.each(function(t){a._plots[t].bg=l.select(this)});var _={};return m.each(function(r){function n(t,e){return e?\\\"M\\\"+P+\\\",\\\"+t+\\\"H\\\"+R:\\\"\\\"}function l(t,e){return e?\\\"M\\\"+t+\\\",\\\"+H+\\\"V\\\"+U:\\\"\\\"}var u=a._plots[r],m=u.xaxis,v=u.yaxis;m.setScale(),v.setScale(),u.bg&&f&&u.bg.call(p.setRect,m._offset-c,v._offset-c,m._length+2*c,v._length+2*c).call(d.fill,a.plot_bgcolor).style(\\\"stroke-width\\\",0),u.clipId=\\\"clip\\\"+a._uid+r+\\\"plot\\\";var g=a._defs.selectAll(\\\"g.clips\\\").selectAll(\\\"#\\\"+u.clipId).data([0]);g.enter().append(\\\"clipPath\\\").attr({class:\\\"plotclip\\\",id:u.clipId}).append(\\\"rect\\\"),g.selectAll(\\\"rect\\\").attr({width:m._length,height:v._length}),p.setTranslate(u.plot,m._offset,v._offset);var b,x;for(u._hasClipOnAxisFalse?(b=null,x=u.clipId):(b=u.clipId,x=null),p.setClipUrl(u.plot,b),e=0;e<y.traceLayerClasses.length;e++){var w=y.traceLayerClasses[e];\\\"scatterlayer\\\"!==w&&u.plot.selectAll(\\\"g.\\\"+w).call(p.setClipUrl,x)}u.layerClipId=x;var M=!m._anchorAxis,k=M&&!_[m._id],A=i(m,v,\\\"bottom\\\"),T=i(m,v,\\\"top\\\"),S=!v._anchorAxis,E=S&&!_[v._id],L=i(v,m,\\\"left\\\"),C=i(v,m,\\\"right\\\"),z=p.crispRound(t,m.linewidth,1),I=p.crispRound(t,v.linewidth,1),D=s(t,m,I,L,\\\"left\\\",h),P=!M&&D?-c-D:0,O=s(t,m,I,C,\\\"right\\\",h),R=m._length+(!M&&O?c+O:0),F=o.h*(1-(m.position||0))+z/2%1,j=v._length+c+z/2,N=-c-z/2,B=!S&&s(t,v,z,A,\\\"bottom\\\",h),U=v._length+(B?c:0),V=!S&&s(t,v,z,T,\\\"top\\\",h),H=V?-c:0,q=o.w*(v.position||0)+I/2%1,G=-c-I/2,Y=m._length+c+I/2;m._linepositions[r]=[A?j:void 0,T?N:void 0,k?F:void 0],m._anchorAxis===v?m._linepositions[r][3]=\\\"top\\\"===m.side?N:j:k&&(m._linepositions[r][3]=F),v._linepositions[r]=[L?G:void 0,C?Y:void 0,E?q:void 0],v._anchorAxis===m?v._linepositions[r][3]=\\\"right\\\"===v.side?Y:G:E&&(v._linepositions[r][3]=q);var X=\\\"translate(\\\"+m._offset+\\\",\\\"+v._offset+\\\")\\\",W=X,Z=X;k&&(W=\\\"translate(\\\"+m._offset+\\\",\\\"+o.t+\\\")\\\",N+=v._offset-o.t,j+=v._offset-o.t),E&&(Z=\\\"translate(\\\"+o.l+\\\",\\\"+v._offset+\\\")\\\",G+=m._offset-o.l,Y+=m._offset-o.l),f&&(u.xlines.attr(\\\"transform\\\",W).attr(\\\"d\\\",n(j,A)+n(N,T)+n(F,k)||\\\"M0,0\\\").style(\\\"stroke-width\\\",z+\\\"px\\\").call(d.stroke,m.showline?m.linecolor:\\\"rgba(0,0,0,0)\\\"),u.ylines.attr(\\\"transform\\\",Z).attr(\\\"d\\\",l(G,L)+l(Y,C)+l(q,E)||\\\"M0,0\\\").style(\\\"stroke-width\\\",I+\\\"px\\\").call(d.stroke,v.showline?v.linecolor:\\\"rgba(0,0,0,0)\\\")),u.xaxislayer.attr(\\\"transform\\\",W),u.yaxislayer.attr(\\\"transform\\\",Z),u.gridlayer.attr(\\\"transform\\\",X),u.zerolinelayer.attr(\\\"transform\\\",X),u.draglayer.attr(\\\"transform\\\",X),k&&(_[m._id]=1),E&&(_[v._id]=1)}),u.Axes.makeClipPaths(t),r.drawMainTitle(t),v.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;m.draw(t,\\\"gtitle\\\",{propContainer:e,propName:\\\"title\\\",dfltName:\\\"Plot\\\",attributes:{x:e.width/2,y:e._size.t/2,\\\"text-anchor\\\":\\\"middle\\\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=((r[0]||{}).trace||{})._module||{},i=n.arraysToCalcdata;i&&i(r,r[0].trace)}return h.style(t),c.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),h.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;c.traceIs(n,\\\"contour\\\")&&i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\\\"line\\\"===n.contours.coloring?i._opts.line.color:n.line.color}),c.traceIs(n,\\\"markerColorscale\\\")?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return h.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,u.plot(t,\\\"\\\",e)},r.doLegend=function(t){return c.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),h.previousPromises(t)},r.doTicksRelayout=function(t){return u.Axes.doTicks(t,\\\"redraw\\\"),r.drawMainTitle(t),h.previousPromises(t)},r.doModeBar=function(t){var e,r,n,i=t._fullLayout;for(v.manage(t),g(t),e=h.getSubplotIds(i,\\\"gl3d\\\"),n=0;n<e.length;n++)r=i[e[n]]._scene,r.updateFx(i.dragmode,i.hovermode);for(e=h.getSubplotIds(i,\\\"gl2d\\\"),n=0;n<e.length;n++)r=i._plots[e[n]]._scene2d,r.updateFx(i.dragmode);for(e=h.getSubplotIds(i,\\\"mapbox\\\"),n=0;n<e.length;n++)r=i[e[n]]._subplot,r.updateFx(i);return h.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=h.getSubplotIds(e,\\\"gl3d\\\"),n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}}},{\\\"../components/color\\\":603,\\\"../components/drawing\\\":627,\\\"../components/modebar\\\":663,\\\"../components/titles\\\":692,\\\"../lib\\\":725,\\\"../plotly\\\":761,\\\"../plots/cartesian/constants\\\":771,\\\"../plots/cartesian/graph_interact\\\":775,\\\"../plots/plots\\\":829,\\\"../registry\\\":844,d3:121}],759:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){return!(t in e)||a.validate(e[t],c[t])}function n(t,r){return a.coerce(e,y,c,t,r)}function f(){return new Promise(function(t){setTimeout(t,o.getDelay(k._fullLayout))})}function d(){return new Promise(function(t,e){var r=s(k),n=k._fullLayout.width,o=k._fullLayout.height;if(i.purge(k),document.body.removeChild(k),\\\"svg\\\"===b)return t(M?r:\\\"data:image/svg+xml,\\\"+encodeURIComponent(r));var u=document.createElement(\\\"canvas\\\");u.id=a.randstr(),l({format:b,width:n,height:o,canvas:u,svg:r,promise:!0}).then(t).catch(e)})}function p(t){return M?t.replace(h,\\\"\\\"):t}e=e||{};var m,v,g;if(a.isPlainObject(t)?(m=t.data||[],v=t.layout||{},g=t.config||{}):(t=u(t),m=a.extendDeep([],t.data),v=a.extendDeep({},t.layout),g=t._context),!r(\\\"width\\\")||!r(\\\"height\\\"))throw new Error(\\\"Height and width should be pixel values.\\\");if(!r(\\\"format\\\"))throw new Error(\\\"Image format is not jpeg, png, svg or webp.\\\");var y={},b=n(\\\"format\\\"),x=n(\\\"width\\\"),_=n(\\\"height\\\"),w=n(\\\"setBackground\\\"),M=n(\\\"imageDataOnly\\\"),k=document.createElement(\\\"div\\\");k.style.position=\\\"absolute\\\",k.style.left=\\\"-5000px\\\",document.body.appendChild(k);var A=a.extendFlat({},v);x&&(A.width=x),_&&(A.height=_);var T=a.extendFlat({},g,{staticPlot:!0,plotGlPixelRatio:g.plotGlPixelRatio||2,setBackground:w}),S=o.getRedrawFunc(k);return new Promise(function(t,e){i.plot(k,m,A,T).then(S).then(f).then(d).then(function(e){t(p(e))}).catch(function(t){e(t)})})}var i=t(\\\"../plotly\\\"),a=t(\\\"../lib\\\"),o=t(\\\"../snapshot/helpers\\\"),s=t(\\\"../snapshot/tosvg\\\"),l=t(\\\"../snapshot/svgtoimg\\\"),u=t(\\\"./helpers\\\").getGraphDiv,c={format:{valType:\\\"enumerated\\\",values:[\\\"png\\\",\\\"jpeg\\\",\\\"webp\\\",\\\"svg\\\"],dflt:\\\"png\\\"},width:{valType:\\\"number\\\",min:1},height:{valType:\\\"number\\\",min:1},setBackground:{valType:\\\"any\\\",dflt:!1},imageDataOnly:{valType:\\\"boolean\\\",dflt:!1}},h=/^data:image\\\\/\\\\w+;base64,/;e.exports=n},{\\\"../lib\\\":725,\\\"../plotly\\\":761,\\\"../snapshot/helpers\\\":848,\\\"../snapshot/svgtoimg\\\":850,\\\"../snapshot/tosvg\\\":852,\\\"./helpers\\\":751}],760:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,i,a,u){u=u||[];for(var c=Object.keys(t),f=0;f<c.length;f++){var d=c[f];if(\\\"transforms\\\"!==d){var v=u.slice();v.push(d)\\n\",\n       \";var g=t[d],y=e[d],b=l(r,d),x=\\\"info_array\\\"===(b||{}).valType,_=\\\"colorscale\\\"===(b||{}).valType;if(s(r,d))if(p(g)&&p(y))n(g,y,b,i,a,v);else if(b.items&&!x&&m(g)){var w,M,k=b.items,A=k[Object.keys(k)[0]],T=[];for(w=0;w<y.length;w++){var S=y[w]._index||w;M=v.slice(),M.push(S),p(g[S])&&p(y[w])&&(T.push(S),n(g[S],y[w],A,i,a,M))}for(w=0;w<g.length;w++)M=v.slice(),M.push(w),p(g[w])?-1===T.indexOf(w)&&i.push(o(\\\"unused\\\",a,M)):i.push(o(\\\"object\\\",a,M,g[w]))}else!p(g)&&p(y)?i.push(o(\\\"object\\\",a,v,g)):m(g)||!m(y)||x||_?d in e?h.validate(g,b)?\\\"enumerated\\\"===b.valType&&(b.coerceNumber&&g!==+y||g!==y)&&i.push(o(\\\"dynamic\\\",a,v,g,y)):i.push(o(\\\"value\\\",a,v,g)):i.push(o(\\\"unused\\\",a,v,g)):i.push(o(\\\"array\\\",a,v,g));else i.push(o(\\\"schema\\\",a,v))}}return i}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&h.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}function a(t){return m(t)?\\\"In data trace \\\"+t[1]+\\\", \\\":\\\"In \\\"+t+\\\", \\\"}function o(t,e,r,n,i){r=r||\\\"\\\";var a,o;m(e)?(a=e[0],o=e[1]):(a=e,o=null);var s=c(r),l=v[t](e,s,n,i);return h.log(l),{code:t,container:a,trace:o,path:r,astr:s,msg:l}}function s(t,e){var r=u(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function l(t,e){return t[u(e).keyMinusId]}function u(t){var e=/([2-9]|[1-9][0-9]+)$/,r=t.split(e)[0];return{keyMinusId:r,id:t.substr(r.length,t.length)}}function c(t){if(!m(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}var h=t(\\\"../lib\\\"),f=t(\\\"../plots/plots\\\"),d=t(\\\"./plot_schema\\\"),p=h.isPlainObject,m=Array.isArray;e.exports=function(t,e){var r,a,s=d.get(),l=[],u={};m(t)?(u.data=h.extendDeep([],t),r=t):(u.data=[],r=[],l.push(o(\\\"array\\\",\\\"data\\\"))),p(e)?(u.layout=h.extendDeep({},e),a=e):(u.layout={},a={},arguments.length>1&&l.push(o(\\\"object\\\",\\\"layout\\\"))),f.supplyDefaults(u);for(var c=u._fullData,v=r.length,g=0;g<v;g++){var y=r[g],b=[\\\"data\\\",g];if(p(y)){var x=c[g],_=x.type,w=s.traces[_].attributes;w.type={valType:\\\"enumerated\\\",values:[_]},!1===x.visible&&!1!==y.visible&&l.push(o(\\\"invisible\\\",b)),n(y,x,w,l,b);var M=y.transforms,k=x.transforms;if(M){m(M)||l.push(o(\\\"array\\\",b,[\\\"transforms\\\"])),b.push(\\\"transforms\\\");for(var A=0;A<M.length;A++){var T=[\\\"transforms\\\",A],S=M[A].type;if(p(M[A])){var E=s.transforms[S]?s.transforms[S].attributes:{};E.type={valType:\\\"enumerated\\\",values:Object.keys(s.transforms)},n(M[A],k[A],E,l,b,T)}else l.push(o(\\\"object\\\",b,T))}}}else l.push(o(\\\"object\\\",b))}return n(a,u._fullLayout,i(s,c),l,\\\"layout\\\"),0===l.length?void 0:l};var v={object:function(t,e){return(\\\"layout\\\"===t&&\\\"\\\"===e?\\\"The layout argument\\\":\\\"data\\\"===t[0]&&\\\"\\\"===e?\\\"Trace \\\"+t[1]+\\\" in the data argument\\\":a(t)+\\\"key \\\"+e)+\\\" must be linked to an object container\\\"},array:function(t,e){return(\\\"data\\\"===t?\\\"The data argument\\\":a(t)+\\\"key \\\"+e)+\\\" must be linked to an array container\\\"},schema:function(t,e){return a(t)+\\\"key \\\"+e+\\\" is not part of the schema\\\"},unused:function(t,e,r){var n=p(r)?\\\"container\\\":\\\"key\\\";return a(t)+n+\\\" \\\"+e+\\\" did not get coerced\\\"},dynamic:function(t,e,r,n){return[a(t)+\\\"key\\\",e,\\\"(set to '\\\"+r+\\\"')\\\",\\\"got reset to\\\",\\\"'\\\"+n+\\\"'\\\",\\\"during defaults.\\\"].join(\\\" \\\")},invisible:function(t){return\\\"Trace \\\"+t[1]+\\\" got defaulted to be not visible\\\"},value:function(t,e,r){return[a(t)+\\\"key \\\"+e,\\\"is set to an invalid value (\\\"+r+\\\")\\\"].join(\\\" \\\")}}},{\\\"../lib\\\":725,\\\"../plots/plots\\\":829,\\\"./plot_schema\\\":755}],761:[function(t,e,r){\\\"use strict\\\";r.defaultConfig=t(\\\"./plot_api/plot_config\\\"),r.Plots=t(\\\"./plots/plots\\\"),r.Axes=t(\\\"./plots/cartesian/axes\\\"),r.ModeBar=t(\\\"./components/modebar\\\"),t(\\\"./plot_api/plot_api\\\")},{\\\"./components/modebar\\\":663,\\\"./plot_api/plot_api\\\":753,\\\"./plot_api/plot_config\\\":754,\\\"./plots/cartesian/axes\\\":766,\\\"./plots/plots\\\":829}],762:[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},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\\\"]}}}},{}],763:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\");e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i<s.length;i++){var u=s[i],c={},h={};n.isPlainObject(u)||(h.itemIsNotPlainObject=!0,u={}),r.handleItemDefaults(u,c,e,r,h),c._input=u,c._index=i,l.push(c)}if(n.isArray(o)){var f=Math.min(o.length,l.length);for(i=0;i<f;i++)n.relinkPrivateKeys(l[i],o[i])}}},{\\\"../lib\\\":725}],764:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/fx/attributes\\\");e.exports={type:{valType:\\\"enumerated\\\",values:[],dflt:\\\"scatter\\\"},visible:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"legendonly\\\"],dflt:!0},showlegend:{valType:\\\"boolean\\\",dflt:!0},legendgroup:{valType:\\\"string\\\",dflt:\\\"\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},name:{valType:\\\"string\\\"},uid:{valType:\\\"string\\\",dflt:\\\"\\\"},ids:{valType:\\\"data_array\\\"},customdata:{valType:\\\"data_array\\\"},hoverinfo:{valType:\\\"flaglist\\\",flags:[\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"],extras:[\\\"all\\\",\\\"none\\\",\\\"skip\\\"],arrayOk:!0,dflt:\\\"all\\\"},hoverlabel:n.hoverlabel,stream:{token:{valType:\\\"string\\\",noBlank:!0,strict:!0},maxpoints:{valType:\\\"number\\\",min:0,max:1e4,dflt:500}}}},{\\\"../components/fx/attributes\\\":636}],765:[function(t,e,r){\\\"use strict\\\";e.exports={xaxis:{valType:\\\"subplotid\\\",dflt:\\\"x\\\"},yaxis:{valType:\\\"subplotid\\\",dflt:\\\"y\\\"}}},{}],766:[function(t,e,r){\\\"use strict\\\";function n(t){return+t}function i(t){return String(t)}function a(t,e,r,n,i){function a(e){return(1+100*(e-t)/r.dtick)%100<2}for(var o=0,s=0,l=0,u=0,c=0;c<e.length;c++)e[c]%1==0?l++:M(e[c])||u++,a(e[c])&&o++,a(e[c]+r.dtick/2)&&s++;var h=e.length-u;if(l===h&&\\\"date\\\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||a(n)||a(i))){var f=r.dtick/2;t+=t+f<n?f:-f}return t}function o(t,e,r,n,i){var a=A.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=B.tickIncrement(t,\\\"M6\\\",\\\"reverse\\\")+1.5*P:a.exactMonths>.8?t=B.tickIncrement(t,\\\"M1\\\",\\\"reverse\\\")+15.5*P:t-=P/2;var s=B.tickIncrement(t,r);if(s<=n)return s}return t}function s(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=A.simpleMap(t.range,t.r2l),s=1.0001*o[0]-1e-4*o[1],l=1.0001*o[1]-1e-4*o[0],u=Math.min(s,l),h=Math.max(s,l),f=0;Array.isArray(i)||(i=[]);var d=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;for(\\\"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)),r=0;r<n.length;r++)(e=d(n[r]))>u&&e<h&&(void 0===i[r]?a[f]=B.tickText(t,e):a[f]=c(t,e,String(i[r])),f++);return f<n.length&&a.splice(f,n.length-f),a}function l(t,e,r){return e*A.roundUp(t/e,r)}function u(t){var e=t.dtick;if(t._tickexponent=0,M(e)||\\\"string\\\"==typeof e||(e=1),\\\"category\\\"===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>=P&&i<=10||e>=15*P)t._tickround=\\\"d\\\";else if(e>=R&&i<=16||e>=O)t._tickround=\\\"M\\\";else if(e>=F&&i<=19||e>=R)t._tickround=\\\"S\\\";else{var a=t.l2r(r+e).replace(/^-/,\\\"\\\").length;t._tickround=Math.max(i,a)-20}}else if(M(e)||\\\"L\\\"===e.charAt(0)){var o=t.range.map(t.r2d||Number);M(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)>3&&(m(t.exponentformat)&&!v(l)?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function c(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}}function h(t,e,r,n){var i=t._tickround,a=r&&t.hoverformat||t.tickformat;n&&(i=M(i)?4:{y:\\\"m\\\",m:\\\"d\\\",d:\\\"M\\\",M:\\\"S\\\",S:4}[i]);var o,s=A.formatDate(e.x,a,i,t.calendar),l=s.indexOf(\\\"\\\\n\\\");-1!==l&&(o=s.substr(l+1),s=s.substr(0,l)),n&&(\\\"00:00:00\\\"===s||\\\"00:00\\\"===s?(s=o,o=\\\"\\\"):8===s.length&&(s=s.replace(/:00$/,\\\"\\\"))),o&&(r?\\\"d\\\"===i?s+=\\\", \\\"+o:s=o+(s?\\\", \\\"+s:\\\"\\\"):t._inCalcTicks&&o===t._prevDateHead||(s+=\\\"<br>\\\"+o,t._prevDateHead=o)),e.text=s}function f(t,e,r,n,i){var a=t.dtick,o=e.x;if(\\\"never\\\"===i&&(i=\\\"\\\"),!n||\\\"string\\\"==typeof a&&\\\"L\\\"===a.charAt(0)||(a=\\\"L3\\\"),t.tickformat||\\\"string\\\"==typeof a&&\\\"L\\\"===a.charAt(0))e.text=g(Math.pow(10,o),t,i,n);else if(M(a)||\\\"D\\\"===a.charAt(0)&&A.mod(o+.01,1)<.1){var s=Math.round(o);-1!==[\\\"e\\\",\\\"E\\\",\\\"power\\\"].indexOf(t.exponentformat)||m(t.exponentformat)&&v(s)?(e.text=0===s?1:1===s?\\\"10\\\":s>1?\\\"10<sup>\\\"+s+\\\"</sup>\\\":\\\"10<sup>\\\"+j+-s+\\\"</sup>\\\",e.fontSize*=1.25):(e.text=g(Math.pow(10,o),t,\\\"\\\",\\\"fakehover\\\"),\\\"D1\\\"===a&&\\\"y\\\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\\\"D\\\"!==a.charAt(0))throw\\\"unrecognized dtick \\\"+String(a);e.text=String(Math.round(Math.pow(10,A.mod(o,1)))),e.fontSize*=.75}if(\\\"D1\\\"===t.dtick){var l=String(e.text).charAt(0);\\\"0\\\"!==l&&\\\"1\\\"!==l||(\\\"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*(o<0?.5:.25)))}}function d(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\\\"\\\"),e.text=String(r)}function p(t,e,r,n,i){\\\"never\\\"===i?i=\\\"\\\":\\\"all\\\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\\\"hide\\\"),e.text=g(e.x,t,i,n)}function m(t){return\\\"SI\\\"===t||\\\"B\\\"===t}function v(t){return t>14||t<-15}function g(t,e,r,n){var i=t<0,a=e._tickround,o=r||e.exponentformat||\\\"B\\\",s=e._tickexponent,l=e.tickformat,c=e.separatethousands;if(n){var h={exponentformat:e.exponentformat,dtick:\\\"none\\\"===e.showexponent?e.dtick:M(t)?Math.abs(t)||1:1,range:\\\"none\\\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};u(h),a=(Number(h._tickround)||0)+4,s=h._tickexponent,e.hoverformat&&(l=e.hoverformat)}if(l)return w.format(l)(t).replace(/-/g,j);var f=Math.pow(10,-a)/2;if(\\\"none\\\"===o&&(s=0),(t=Math.abs(t))<f)t=\\\"0\\\",i=!1;else{if(t+=f,s&&(t*=Math.pow(10,-s),a+=s),0===a)t=String(Math.floor(t));else if(a<0){t=String(Math.round(t)),t=t.substr(0,t.length+a);for(var d=a;d<0;d++)t+=\\\"0\\\"}else{t=String(t);var p=t.indexOf(\\\".\\\")+1;p&&(t=t.substr(0,p+a).replace(/\\\\.?0+$/,\\\"\\\"))}t=A.numSeparate(t,e._separators,c)}if(s&&\\\"hide\\\"!==o){m(o)&&v(s)&&(o=\\\"power\\\");var g;g=s<0?j+-s:\\\"power\\\"!==o?\\\"+\\\"+s:String(s),\\\"e\\\"===o?t+=\\\"e\\\"+g:\\\"E\\\"===o?t+=\\\"E\\\"+g:\\\"power\\\"===o?t+=\\\"\\\\xd710<sup>\\\"+g+\\\"</sup>\\\":\\\"B\\\"===o&&9===s?t+=\\\"B\\\":m(o)&&(t+=J[s/3+5])}return i?j+t:t}function y(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],b(u.x,l.x),b(u.y,l.y);b(u.x,[o]),b(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}function b(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function x(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(B.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(B.getFromId(t,r[n]));var l=Object.keys(a[0]),u=[\\\"anchor\\\",\\\"domain\\\",\\\"overlaying\\\",\\\"position\\\",\\\"side\\\",\\\"tickangle\\\"],c=[\\\"linear\\\",\\\"log\\\"];for(n=0;n<l.length;n++){var h=l[n],f=a[0][h],d=o[0][h],p=!0,m=!1,v=!1;if(\\\"_\\\"!==h.charAt(0)&&\\\"function\\\"!=typeof f&&-1===u.indexOf(h)){for(i=1;i<a.length&&p;i++){var g=a[i][h];\\\"type\\\"===h&&-1!==c.indexOf(f)&&-1!==c.indexOf(g)&&f!==g?m=!0:g!==f&&(p=!1)}for(i=1;i<o.length&&p;i++){var y=o[i][h];\\\"type\\\"===h&&-1!==c.indexOf(d)&&-1!==c.indexOf(y)&&d!==y?v=!0:o[i][h]!==d&&(p=!1)}p&&(m&&(s[a[0]._name].type=\\\"linear\\\"),v&&(s[o[0]._name].type=\\\"linear\\\"),_(s,h,a,o))}}for(n=0;n<t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&&-1!==r.indexOf(b.yref)&&A.swapAttrs(s.annotations[n],[\\\"?\\\"])}}function _(t,e,r,n){var i,a=A.nestedProperty,o=a(t[r[0]._name],e).get(),s=a(t[n[0]._name],e).get();for(\\\"title\\\"===e&&(\\\"Click to enter X axis title\\\"===o&&(o=\\\"Click to enter Y axis title\\\"),\\\"Click to enter Y axis title\\\"===s&&(s=\\\"Click to enter X axis title\\\")),i=0;i<r.length;i++)a(t,r[i]._name+\\\".\\\"+e).set(s);for(i=0;i<n.length;i++)a(t,n[i]._name+\\\".\\\"+e).set(o)}var w=t(\\\"d3\\\"),M=t(\\\"fast-isnumeric\\\"),k=t(\\\"../../registry\\\"),A=t(\\\"../../lib\\\"),T=t(\\\"../../lib/svg_text_utils\\\"),S=t(\\\"../../components/titles\\\"),E=t(\\\"../../components/color\\\"),L=t(\\\"../../components/drawing\\\"),C=t(\\\"../../constants/numerical\\\"),z=C.FP_SAFE,I=C.ONEAVGYEAR,D=C.ONEAVGMONTH,P=C.ONEDAY,O=C.ONEHOUR,R=C.ONEMIN,F=C.ONESEC,j=C.MINUS_SIGN,N=t(\\\"../../constants/alignment\\\").MID_SHIFT,B=e.exports={};B.layoutAttributes=t(\\\"./layout_attributes\\\"),B.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),B.setConvert=t(\\\"./set_convert\\\");var U=t(\\\"./axis_autotype\\\"),V=t(\\\"./axis_ids\\\");B.id2name=V.id2name,B.cleanId=V.cleanId,B.list=V.list,B.listIds=V.listIds,B.getFromId=V.getFromId,B.getFromTrace=V.getFromTrace,B.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=B.listIds(r,o),l=n+\\\"ref\\\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\\\"enumerated\\\",values:s.concat(a?[a]:[]),dflt:i},A.coerce(t,e,u,l)},B.coercePosition=function(t,e,r,n,i,a){var o,s;if(\\\"paper\\\"===n||\\\"pixel\\\"===n)o=A.ensureNumber,s=r(i,a);else{var l=B.getFromId(e,n);a=l.fraction2r(a),s=r(i,a),o=l.cleanPos}t[i]=o(s)},B.cleanPosition=function(t,e,r){return(\\\"paper\\\"===r||\\\"pixel\\\"===r?A.ensureNumber:B.getFromId(e,r).cleanPos)(t)};var H=B.getDataConversions=function(t,e,r,a){var o,s=\\\"x\\\"===r||\\\"y\\\"===r||\\\"z\\\"===r?r:a;if(Array.isArray(s)){if(o={type:U(a),_categories:[]},B.setConvert(o),\\\"category\\\"===o.type)for(var l=0;l<a.length;l++)o.d2c(a[l])}else o=B.getFromTrace(t,e,s);return o?{d2c:o.d2c,c2d:o.c2d}:\\\"ids\\\"===s?{d2c:i,c2d:i}:{d2c:n,c2d:n}};B.getDataToCoordFunc=function(t,e,r,n){return H(t,e,r,n).d2c},B.clearTypes=function(t,e){Array.isArray(e)&&e.length||(e=t._fullData.map(function(t,e){return e})),e.forEach(function(e){var r=t.data[e];delete(B.getFromId(t,r.xaxis)||{}).type,delete(B.getFromId(t,r.yaxis)||{}).type})},B.counterLetter=function(t){var e=t.charAt(0);return\\\"x\\\"===e?\\\"y\\\":\\\"y\\\"===e?\\\"x\\\":void 0},B.minDtick=function(t,e,r,n){-1===[\\\"log\\\",\\\"category\\\"].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},B.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e<t._min.length&&n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e<t._max.length&&n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,u,c,h,f=0,d=!1;if(t.range){var p=A.simpleMap(t.range,t.r2l);d=p[1]<p[0]}for(\\\"reversed\\\"===t.autorange&&(d=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(o=t._min[e],a=0;a<t._max.length;a++)s=t._max[a],h=s.val-o.val,c=t._length-o.pad-s.pad,h>0&&c>0&&h/c>f&&(l=o,u=s,f=h/c);if(n===i){var m=n-1,v=n+1;r=\\\"tozero\\\"===t.rangemode?n<0?[m,0]:[0,v]:\\\"nonnegative\\\"===t.rangemode?[Math.max(0,m),Math.max(0,v)]:[m,v]}else f&&(\\\"linear\\\"!==t.type&&\\\"-\\\"!==t.type||(\\\"tozero\\\"===t.rangemode?(l.val>=0&&(l={val:0,pad:0}),u.val<=0&&(u={val:0,pad:0})):\\\"nonnegative\\\"===t.rangemode&&(l.val-f*l.pad<0&&(l={val:0,pad:0}),u.val<0&&(u={val:1,pad:0})),f=(u.val-l.val)/(t._length-l.pad-u.pad)),r=[l.val-f*l.pad,u.val+f*u.pad]);return r[0]===r[1]&&(\\\"tozero\\\"===t.rangemode?r=r[0]<0?[r[0],0]:r[0]>0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],\\\"nonnegative\\\"===t.rangemode&&(r[0]=Math.max(0,r[0])))),d&&r.reverse(),A.simpleMap(r,t.l2r||Number)},B.doAutoRange=function(t){t._length||t.setScale();var e=t._min&&t._max&&t._min.length&&t._max.length;if(t.autorange&&e){t.range=B.getAutoRange(t),t._r=t.range.slice(),t._rl=A.simpleMap(t._r,t.r2l);var r=t._input;r.range=t.range.slice(),r.autorange=t.autorange}},B.saveRangeInitial=function(t,e){for(var r=B.list(t,\\\"\\\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},B.saveShowSpikeInitial=function(t,e){for(var r=B.list(t,\\\"\\\",!0),n=!1,i=\\\"on\\\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\\\"on\\\"!==i||o.showspikes||(i=\\\"off\\\")}return t._fullLayout._cartesianSpikesEnabled=i,n},B.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return M(t)&&Math.abs(t)<z}if(l=e[r],M(l)){if(h=b(r)+g,f=x(r)+g,p=l-w(r),m=l+_(r),\\\"log\\\"===t.type&&p<m/10&&(p=m/10),u=t.c2l(p),c=t.c2l(m),y&&(u=Math.min(0,u),c=Math.max(0,c)),n(u)){for(d=!0,o=0;o<t._min.length&&d;o++)s=t._min[o],s.val<=u&&s.pad>=f?d=!1:s.val>=u&&s.pad<=f&&(t._min.splice(o,1),o--);d&&t._min.push({val:u,pad:y&&0===u?0:f})}if(n(c)){for(d=!0,o=0;o<t._max.length&&d;o++)s=t._max[o],s.val>=c&&s.pad>=h?d=!1:s.val<=c&&s.pad<=h&&(t._max.splice(o,1),o--);d&&t._max.push({val:c,pad:y&&0===c?0:h})}}}if((t.autorange||!!A.nestedProperty(t,\\\"rangeslider.autorange\\\").get())&&e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,u,c,h,f,d,p,m,v=e.length,g=r.padded?.05*t._length:0,y=r.tozero&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type);g&&\\\"domain\\\"===t.constrain&&t._inputDomain&&(g*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0]));var b=n((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),x=n((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),_=n(r.vpadplus||r.vpad),w=n(r.vpadminus||r.vpad);for(a=0;a<6;a++)i(a);for(a=v-1;a>5;a--)i(a)}},B.autoBin=function(t,e,r,n,i){var s=A.aggNums(Math.min,null,t),l=A.aggNums(Math.max,null,t);if(i||(i=e.calendar),\\\"category\\\"===e.type)return{start:s-.5,end:l+.5,size:1};var u;if(r)u=(l-s)/r;else{var c=A.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),f=h*A.roundUp(c.minDiff/h,[.9,1.9,4.9,9.9],!0);u=Math.max(f,2*A.stdev(t)/Math.pow(t.length,n?.25:.4)),M(u)||(u=1)}var d;d=\\\"log\\\"===e.type?{type:\\\"linear\\\",range:[s,l]}:{type:e.type,range:A.simpleMap([s,l],e.c2r,0,i),calendar:i},B.setConvert(d),B.autoTicks(d,u);var p,m=B.tickIncrement(B.tickFirst(d),d.dtick,\\\"reverse\\\",i);if(\\\"number\\\"==typeof d.dtick){m=a(m,t,d,s,l);p=m+(1+Math.floor((l-m)/d.dtick))*d.dtick}else for(\\\"M\\\"===d.dtick.charAt(0)&&(m=o(m,t,d.dtick,s,i)),p=m;p<=l;)p=B.tickIncrement(p,d.dtick,!1,i);return{start:e.c2r(m,0,i),end:e.c2r(p,0,i),size:d.dtick}},B.calcTicks=function(t){var e=A.simpleMap(t.range,t.r2l);if(\\\"auto\\\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\\\"category\\\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\\\"y\\\"===t._id.charAt(0)?40:80,n=A.constrain(t._length/r,4,9)+1)),\\\"array\\\"===t.tickmode&&(n*=100),B.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=\\\"date\\\"===t.type?\\\"2000-01-01\\\":0),u(t),\\\"array\\\"===t.tickmode)return s(t);t._tmin=B.tickFirst(t);var i=e[1]<e[0],a=[],o=1.0001*e[1]-1e-4*e[0];\\\"category\\\"===t.type&&(o=i?Math.max(-.5,o):Math.min(t._categories.length-.5,o));for(var l=null,c=Math.max(1e3,t._length||0),h=t._tmin;(i?h>=o:h<=o)&&!(a.length>c||h===l);h=B.tickIncrement(h,t.dtick,i,t.calendar))l=h,a.push(h);t._tmax=a[a.length-1],t._prevDateHead=\\\"\\\",t._inCalcTicks=!0;for(var f=new Array(a.length),d=0;d<a.length;d++)f[d]=B.tickText(t,a[d]);return t._inCalcTicks=!1,f};var q=[2,5,10],G=[1,2,3,6,12],Y=[1,2,5,10,15,30],X=[1,2,3,7,14],W=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],Z=[-.301,0,.301,.699,1];B.autoTicks=function(t,e){var r;if(\\\"date\\\"===t.type){t.tick0=A.dateTick0(t.calendar);var n=2*e;n>I?(e/=I,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\\\"M\\\"+12*l(e,r,q)):n>D?(e/=D,t.dtick=\\\"M\\\"+l(e,1,G)):n>P?(t.dtick=l(e,P,X),t.tick0=A.dateTick0(t.calendar,!0)):n>O?t.dtick=l(e,O,G):n>R?t.dtick=l(e,R,Y):n>F?t.dtick=l(e,F,Y):(r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=l(e,r,q))}else if(\\\"log\\\"===t.type){t.tick0=0;var i=A.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(i[1]-i[0])<1){var a=1.5*Math.abs((i[1]-i[0])/e);e=Math.abs(Math.pow(10,i[1])-Math.pow(10,i[0]))/a,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\\\"L\\\"+l(e,r,q)}else t.dtick=e>.3?\\\"D2\\\":\\\"D1\\\"}else\\\"category\\\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):(t.tick0=0,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=l(e,r,q));if(0===t.dtick&&(t.dtick=1),!M(t.dtick)&&\\\"string\\\"!=typeof t.dtick){var o=t.dtick;throw t.dtick=1,\\\"ax.dtick error: \\\"+String(o)}},B.tickIncrement=function(t,e,r,n){var i=r?-1:1;if(M(e))return t+i*e;var a=e.charAt(0),o=i*Number(e.substr(1));if(\\\"M\\\"===a)return A.incrementMonth(t,o,n);if(\\\"L\\\"===a)return Math.log(Math.pow(10,t)+o)/Math.LN10;if(\\\"D\\\"===a){var s=\\\"D2\\\"===e?Z:W,l=t+.01*i,u=A.roundUp(A.mod(l,1),s,r);return Math.floor(l)+Math.log(w.round(Math.pow(10,u),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(e)},B.tickFirst=function(t){var e=t.r2l||Number,r=A.simpleMap(t.range,e),n=r[1]<r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(M(o)){var l=i((a-s)/o)*o+s;return\\\"category\\\"===t.type&&(l=A.constrain(l,0,t._categories.length-1)),l}var u=o.charAt(0),c=Number(o.substr(1));if(\\\"M\\\"===u){for(var h,f,d,p=0,m=s;p<10;){if(((h=B.tickIncrement(m,o,n,t.calendar))-a)*(m-a)<=0)return n?Math.min(m,h):Math.max(m,h);f=(a-(m+h)/2)/(h-m),d=u+(Math.abs(Math.round(f))||1)*c,m=B.tickIncrement(m,d,f<0?!n:n,t.calendar),p++}return A.error(\\\"tickFirst did not converge\\\",t),m}if(\\\"L\\\"===u)return Math.log(i((Math.pow(10,a)-s)/c)*c+s)/Math.LN10;if(\\\"D\\\"===u){var v=\\\"D2\\\"===o?Z:W,g=A.roundUp(A.mod(a,1),v,n);return Math.floor(a)+Math.log(w.round(Math.pow(10,g),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(o)},B.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?\\\"none\\\"===n:(i={first:t._tmin,last:t._tmax}[n],\\\"all\\\"!==n&&e!==i))}var i,a,o=c(t,e),s=\\\"array\\\"===t.tickmode,l=r||s,u=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;if(s&&Array.isArray(t.ticktext)){var m=A.simpleMap(t.range,t.r2l),v=Math.abs(m[1]-m[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<v);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=r?\\\"never\\\":\\\"none\\\"!==t.exponentformat&&n(t.showexponent)?\\\"hide\\\":\\\"\\\",\\\"date\\\"===t.type?h(t,o,r,l):\\\"log\\\"===t.type?f(t,o,r,l,i):\\\"category\\\"===t.type?d(t,o):p(t,o,r,l,i),t.tickprefix&&!n(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!n(t.showticksuffix)&&(o.text+=t.ticksuffix),o};var J=[\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\u03bc\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\"];B.subplotMatch=/^x([0-9]*)y([0-9]*)$/,B.getSubplots=function(t,e){var r,n,i,a=[],o=t._fullData||t.data||[];for(r=0;r<o.length;r++){var s=o[r];if(!1!==s.visible&&\\\"legendonly\\\"!==s.visible&&(k.traceIs(s,\\\"cartesian\\\")||k.traceIs(s,\\\"gl2d\\\"))){i=(s.xaxis||\\\"x\\\")+(s.yaxis||\\\"y\\\"),-1===a.indexOf(i)&&a.push(i)}}var l=B.list(t,\\\"\\\",!0);for(r=0;r<l.length;r++){var u=l[r],c=u._id.charAt(0),h=\\\"free\\\"===u.anchor?\\\"x\\\"===c?\\\"y\\\":\\\"x\\\":u.anchor,f=B.getFromId(t,h),d=!1;for(n=0;n<a.length;n++)if(function(t,e){return-1!==t.indexOf(e._id)}(a[n],u)){d=!0;break}\\\"free\\\"===u.anchor&&d||f&&(i=\\\"x\\\"===c?u._id+f._id:f._id+u._id,-1===a.indexOf(i)&&a.push(i))}var p=B.subplotMatch,m=[];for(r=0;r<a.length;r++)i=a[r],p.test(i)&&m.push(i);return m.sort(function(t,e){var r=t.match(p),n=e.match(p);return r[1]===n[1]?+(r[2]||1)-(n[2]||1):+(r[1]||0)-(n[1]||0)}),e?B.findSubplotsWithAxis(m,e):m},B.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\\\"x\\\"===e._id.charAt(0)?\\\"^\\\"+e._id+\\\"y\\\":e._id+\\\"$\\\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},B.makeClipPaths=function(t){var e,r,n=t._fullLayout,i=n._defs,a={_offset:0,_length:n.width,_id:\\\"\\\"},o={_offset:0,_length:n.height,_id:\\\"\\\"},s=B.list(t,\\\"x\\\",!0),l=B.list(t,\\\"y\\\",!0),u=[];for(e=0;e<s.length;e++)for(u.push({x:s[e],y:o}),r=0;r<l.length;r++)0===e&&u.push({x:a,y:l[r]}),u.push({x:s[e],y:l[r]});var c=i.selectAll(\\\"g.clips\\\").data([0]);c.enter().append(\\\"g\\\").classed(\\\"clips\\\",!0);var h=c.selectAll(\\\".axesclip\\\").data(u,function(t){return t.x._id+t.y._id});h.enter().append(\\\"clipPath\\\").classed(\\\"axesclip\\\",!0).attr(\\\"id\\\",function(t){return\\\"clip\\\"+n._uid+t.x._id+t.y._id}).append(\\\"rect\\\"),h.exit().remove(),h.each(function(t){w.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})})},B.doTicks=function(t,e,r){function n(t){var e=u.l2p(t.x);return e>1&&e<u._length-1}function i(t,e){var r=t.selectAll(\\\"path.\\\"+_).data(\\\"inside\\\"===u.ticks?q:b,x);e&&u.ticks?(r.enter().append(\\\"path\\\").classed(_,1).classed(\\\"ticks\\\",1).classed(\\\"crisp\\\",1).call(E.stroke,u.tickcolor).style(\\\"stroke-width\\\",F+\\\"px\\\").attr(\\\"d\\\",e),r.attr(\\\"transform\\\",d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=y(e),n=w.select(this),i=n.select(\\\".text-math-group\\\"),a=d(t)+(M(e)&&0!=+e?\\\" rotate(\\\"+e+\\\",\\\"+f(t)+\\\",\\\"+(p(t)-t.fontSize/2)+\\\")\\\":\\\"\\\");if(i.empty())n.select(\\\"text\\\").attr({transform:a,\\\"text-anchor\\\":r});else{var o=L.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(\\\"transform\\\",a+(o?\\\"translate(\\\"+o+\\\",0)\\\":\\\"\\\"))}})}function a(){return z.length&&Promise.all(z)}function s(){if(i(h,u.tickangle),\\\"x\\\"===g&&!M(u.tickangle)&&(\\\"log\\\"!==u.type||\\\"D\\\"!==String(u.dtick).charAt(0))){var t=[];for(h.each(function(e){var r=w.select(this),n=r.select(\\\".text-math-group\\\"),i=u.l2p(e.x);n.empty()&&(n=r.select(\\\"text\\\"));var a=L.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),v=0;v<t.length-1;v++)if(A.bBoxIntersect(t[v],t[v+1])){C=30;break}if(C){Math.abs((b[b.length-1].x-b[0].x)*u._m)/(b.length-1)<2.5*E&&(C=90),i(h,C)}u._lastangle=C}return o(),e+\\\" done\\\"}function l(){function e(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}var n=r.node().getBoundingClientRect(),i=t.getBoundingClientRect();if(u._boundingBox={width:n.width,height:n.height,left:n.left-i.left,right:n.right-i.left,top:n.top-i.top,bottom:n.bottom-i.top},m){var a=u._counterSpan=[1/0,-1/0];for(v=0;v<m.length;v++){var o=c._plots[m[v]],s=o[\\\"x\\\"===g?\\\"yaxis\\\":\\\"xaxis\\\"];e(a,[s._offset,s._offset+s._length])}\\\"free\\\"===u.anchor&&e(a,\\\"x\\\"===g?[u._boundingBox.bottom,u._boundingBox.top]:[u._boundingBox.right,u._boundingBox.left])}}var h=r.selectAll(\\\"g.\\\"+_).data(b,x);if(!u.showticklabels||!M(n))return h.remove(),void o();var f,p,y,k,S;\\\"x\\\"===g?(S=\\\"bottom\\\"===U?1:-1,f=function(t){return t.dx+P*S},k=n+(D+I)*S,p=function(t){return t.dy+k+t.fontSize*(\\\"bottom\\\"===U?1:-.2)},y=function(t){return M(t)&&0!==t&&180!==t?t*S<0?\\\"end\\\":\\\"start\\\":\\\"middle\\\"}):(S=\\\"right\\\"===U?1:-1,p=function(t){return t.dy+t.fontSize*N-P*S},f=function(t){return t.dx+n+(D+I+(90===Math.abs(u.tickangle)?t.fontSize/2:0))*S},y=function(t){return M(t)&&90===Math.abs(t)?\\\"middle\\\":\\\"right\\\"===U?\\\"start\\\":\\\"end\\\"});var E=0,C=0,z=[];h.enter().append(\\\"g\\\").classed(_,1).append(\\\"text\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").each(function(e){var r=w.select(this),n=t._promises.length;r.call(T.positionText,f(e),p(e)).call(L.font,e.font,e.fontSize,e.fontColor).text(e.text).call(T.convertToTspans,t),n=t._promises[n],n?z.push(t._promises.pop().then(function(){i(r,u.tickangle)})):i(r,u.tickangle)}),h.exit().remove(),h.each(function(t){E=Math.max(E,t.fontSize)}),i(h,u._lastangle||u.tickangle);var O=A.syncOrAsync([a,s,l]);return O&&O.then&&t._promises.push(O),O}function o(){if(!r){var n,i,a,o,s=V.getFromId(t,e),l=w.select(t).selectAll(\\\"g.\\\"+e+\\\"tick\\\"),u={selection:l,side:s.side},h=e.charAt(0),f=t._fullLayout._size,d=s.titlefont.size;if(l.size()){var p=L.getTranslate(l.node().parentNode);u.offsetLeft=p.x,u.offsetTop=p.y}var m=10+1.5*d+(s.linewidth?s.linewidth-1:0);\\\"x\\\"===h?(i=\\\"free\\\"===s.anchor?{_offset:f.t+(1-(s.position||0))*f.h,_length:0}:V.getFromId(t,s.anchor),a=s._offset+s._length/2,o=\\\"top\\\"===s.side?-m-d*(s.showticklabels?1:0):i._length+m+d*(s.showticklabels?1.5:.5),o+=i._offset,s.rangeslider&&s.rangeslider.visible&&s._boundingBox&&(o+=(c.height-c.margin.b-c.margin.t)*s.rangeslider.thickness+s._boundingBox.height),u.side||(u.side=\\\"bottom\\\")):(i=\\\"free\\\"===s.anchor?{_offset:f.l+(s.position||0)*f.w,_length:0}:V.getFromId(t,s.anchor),o=s._offset+s._length/2,a=\\\"right\\\"===s.side?i._length+m+d*(s.showticklabels?1:.5):-m-d*(s.showticklabels?.5:0),a+=i._offset,n={rotate:\\\"-90\\\",offset:0},u.side||(u.side=\\\"left\\\")),S.draw(t,e+\\\"title\\\",{propContainer:s,propName:s._name+\\\".title\\\",dfltName:h.toUpperCase()+\\\" axis\\\",avoid:u,transform:n,attributes:{x:a,y:o,\\\"text-anchor\\\":\\\"middle\\\"}})}}function s(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!k.traceIs(t,\\\"bar\\\")||t.orientation!=={x:\\\"h\\\",y:\\\"v\\\"}[g])||t.fill&&t.fill.charAt(t.fill.length-1)===g)}function l(e,r,i){var a=e.gridlayer,o=e.zerolinelayer,l=e[\\\"hidegrid\\\"+g]?[]:q,c=u._gridpath||\\\"M0,0\\\"+(\\\"x\\\"===g?\\\"v\\\":\\\"h\\\")+r._length,h=a.selectAll(\\\"path.\\\"+C).data(!1===u.showgrid?[]:l,x);if(h.enter().append(\\\"path\\\").classed(C,1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",c).each(function(t){u.zeroline&&(\\\"linear\\\"===u.type||\\\"-\\\"===u.type)&&Math.abs(t.x)<u.dtick/100&&w.select(this).remove()}),h.attr(\\\"transform\\\",d).call(E.stroke,u.gridcolor||\\\"#ddd\\\").style(\\\"stroke-width\\\",O+\\\"px\\\"),h.exit().remove(),o){for(var f=!1,p=0;p<t._fullData.length;p++)if(s(t._fullData[p],i)){f=!0;break}var m=A.simpleMap(u.range,u.r2l),v=m[0]*m[1]<=0&&u.zeroline&&(\\\"linear\\\"===u.type||\\\"-\\\"===u.type)&&l.length&&(f||n({x:0})||!u.showline),y=o.selectAll(\\\"path.\\\"+z).data(v?[{x:0}]:[]);y.enter().append(\\\"path\\\").classed(z,1).classed(\\\"zl\\\",1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",c),y.attr(\\\"transform\\\",d).call(E.stroke,u.zerolinecolor||E.defaultLine).style(\\\"stroke-width\\\",R+\\\"px\\\"),y.exit().remove()}}var u,c=t._fullLayout,h=!1;if(\\\"object\\\"==typeof e)u=e,e=u._id,h=!0;else if(u=B.getFromId(t,e),\\\"redraw\\\"===e&&c._paper.selectAll(\\\"g.subplot\\\").each(function(t){var e=c._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\\\".\\\"+r._id+\\\"tick\\\").remove(),e.yaxislayer.selectAll(\\\".\\\"+n._id+\\\"tick\\\").remove(),e.gridlayer.selectAll(\\\"path\\\").remove(),e.zerolinelayer.selectAll(\\\"path\\\").remove()}),!e||\\\"redraw\\\"===e)return A.syncOrAsync(B.list(t,\\\"\\\",!0).map(function(r){return function(){if(r._id){var n=B.doTicks(t,r._id);return\\\"redraw\\\"===e&&(r._r=r.range.slice(),r._rl=A.simpleMap(r._r,r.r2l)),n}}}));u.tickformat||(-1===[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"].indexOf(u.exponentformat)&&(u.exponentformat=\\\"e\\\"),-1===[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"].indexOf(u.showexponent)&&(u.showexponent=\\\"all\\\")),u.setScale();var f,d,p,m,v,g=e.charAt(0),y=B.counterLetter(e),b=B.calcTicks(u),x=function(t){return[t.text,t.x,u.mirror].join(\\\"_\\\")},_=e+\\\"tick\\\",C=e+\\\"grid\\\",z=e+\\\"zl\\\",I=(u.linewidth||1)/2,D=\\\"outside\\\"===u.ticks?u.ticklen:0,P=0,O=L.crispRound(t,u.gridwidth,1),R=L.crispRound(t,u.zerolinewidth,O),F=L.crispRound(t,u.tickwidth,1);if(u._counterangle&&\\\"outside\\\"===u.ticks){var j=u._counterangle*Math.PI/180;D=u.ticklen*Math.cos(j)+1,P=u.ticklen*Math.sin(j)}if(u.showticklabels&&(\\\"outside\\\"===u.ticks||u.showline)&&(D+=.2*u.tickfont.size),\\\"x\\\"===g)f=[\\\"bottom\\\",\\\"top\\\"],d=function(t){return\\\"translate(\\\"+u.l2p(t.x)+\\\",0)\\\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\\\"M0,\\\"+t+\\\"l\\\"+Math.sin(r)*e+\\\",\\\"+Math.cos(r)*e}return\\\"M0,\\\"+t+\\\"v\\\"+e};else{if(\\\"y\\\"!==g)return void A.warn(\\\"Unrecognized doTicks axis:\\\",e);f=[\\\"left\\\",\\\"right\\\"],d=function(t){return\\\"translate(0,\\\"+u.l2p(t.x)+\\\")\\\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\\\"M\\\"+t+\\\",0l\\\"+Math.cos(r)*e+\\\",\\\"+-Math.sin(r)*e}return\\\"M\\\"+t+\\\",0h\\\"+e}}var U=u.side||f[0],H=[-1,1,U===f[1]?1:-1];if(\\\"inside\\\"!==u.ticks==(\\\"x\\\"===g)&&(H=H.map(function(t){return-t})),u.visible){var q=b.filter(n);if(h){if(i(u._axislayer,p(u._pos+I*H[2],H[2]*u.ticklen)),u._counteraxis){l({gridlayer:u._gridlayer,zerolinelayer:u._zerolinelayer},u._counteraxis)}return a(u._axislayer,u._pos)}m=B.getSubplots(t,u);var G=m.map(function(t){var e=c._plots[t];if(c._has(\\\"cartesian\\\")){var r=e[g+\\\"axislayer\\\"],n=u._linepositions[t]||[],o=e[y+\\\"axis\\\"],s=o._id===u.anchor,h=[!1,!1,!1],d=\\\"\\\"\\n\",\n       \";if(\\\"allticks\\\"===u.mirror?h=[!0,!0,!1]:s&&(\\\"ticks\\\"===u.mirror?h=[!0,!0,!1]:h[f.indexOf(U)]=!0),u.mirrors)for(v=0;v<2;v++){var m=u.mirrors[o._id+f[v]];\\\"ticks\\\"!==m&&\\\"labels\\\"!==m||(h[v]=!0)}return void 0!==n[2]&&(h[2]=!0),h.forEach(function(t,e){var r=n[e],i=H[e];t&&M(r)&&(d+=p(r+I*i,i*u.ticklen))}),i(r,d),l(e,o,t),a(r,n[3])}}).filter(function(t){return t&&t.then});return G.length?Promise.all(G):0}},B.swap=function(t,e){for(var r=y(t,e),n=0;n<r.length;n++)x(t,r[n].x,r[n].y)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/titles\\\":692,\\\"../../constants/alignment\\\":699,\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../registry\\\":844,\\\"./axis_autotype\\\":767,\\\"./axis_ids\\\":769,\\\"./layout_attributes\\\":777,\\\"./layout_defaults\\\":778,\\\"./set_convert\\\":783,d3:121,\\\"fast-isnumeric\\\":130}],767:[function(t,e,r){\\\"use strict\\\";function n(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(o(t[e]))return!0;return!1}function i(t,e){for(var r,n=0,i=0,a=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=a)r=t[Math.round(l)],s.isDateTime(r,e)&&(n+=1),o(r)&&(i+=1);return n>2*i}function a(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,i=0,a=0;a<t.length;a+=r)e=t[Math.round(a)],s.cleanNumber(e)!==l?n++:\\\"string\\\"==typeof e&&\\\"\\\"!==e&&\\\"None\\\"!==e&&i++;return i>2*n}var o=t(\\\"fast-isnumeric\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e){return i(t,e)?\\\"date\\\":a(t)?\\\"category\\\":n(t)?\\\"linear\\\":\\\"-\\\"}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],768:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/color/attributes\\\").lightFraction,s=t(\\\"./layout_attributes\\\"),l=t(\\\"./tick_value_defaults\\\"),u=t(\\\"./tick_mark_defaults\\\"),c=t(\\\"./tick_label_defaults\\\"),h=t(\\\"./category_order_defaults\\\"),f=t(\\\"./set_convert\\\"),d=t(\\\"./ordered_categories\\\");e.exports=function(t,e,r,p,m){function v(r,n){return a.coerce2(t,e,s,r,n)}var g=p.letter,y=p.font||{},b=\\\"Click to enter \\\"+(p.title||g.toUpperCase()+\\\" axis\\\")+\\\" title\\\",x=r(\\\"visible\\\",!p.cheateronly),_=e.type;if(\\\"date\\\"===_){i.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",p.calendar)}if(f(e,m),r(\\\"autorange\\\",!e.isValidRange(t.range))&&r(\\\"rangemode\\\"),r(\\\"range\\\"),e.cleanRange(),h(t,e,r),e._initialCategories=\\\"category\\\"===_?d(g,e.categoryorder,e.categoryarray,p.data):[],!x)return e;var w=r(\\\"color\\\"),M=w===t.color?w:y.color;r(\\\"title\\\",b),a.coerceFont(r,\\\"titlefont\\\",{family:y.family,size:Math.round(1.2*y.size),color:M}),l(t,e,r,_),c(t,e,r,_,p),u(t,e,r,p);var k=v(\\\"linecolor\\\",w),A=v(\\\"linewidth\\\"),T=r(\\\"showline\\\",!!k||!!A);T||(delete e.linecolor,delete e.linewidth),(T||e.ticks)&&r(\\\"mirror\\\");var S=v(\\\"gridcolor\\\",n(w,p.bgColor,o).toRgbString()),E=v(\\\"gridwidth\\\");r(\\\"showgrid\\\",p.showGrid||!!S||!!E)||(delete e.gridcolor,delete e.gridwidth);var L=v(\\\"zerolinecolor\\\",w),C=v(\\\"zerolinewidth\\\");return r(\\\"zeroline\\\",p.showGrid||!!L||!!C)||(delete e.zerolinecolor,delete e.zerolinewidth),e}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./category_order_defaults\\\":770,\\\"./layout_attributes\\\":777,\\\"./ordered_categories\\\":779,\\\"./set_convert\\\":783,\\\"./tick_label_defaults\\\":784,\\\"./tick_mark_defaults\\\":785,\\\"./tick_value_defaults\\\":786,tinycolor2:533}],769:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t,r){for(var n=Object.keys(t),i=/^[xyz]axis[0-9]*/,a=[],o=0;o<n.length;o++){var s=n[o];e&&s.charAt(0)!==e||i.test(s)&&a.push(r+s)}return a.sort()}var i=t._fullLayout;if(!i)return[];var o=n(i,\\\"\\\");if(r)return o;for(var s=a.getSubplotIds(i,\\\"gl3d\\\")||[],l=0;l<s.length;l++){var u=s[l];o=o.concat(n(i[u],u+\\\".\\\"))}return o}var i=t(\\\"../../registry\\\"),a=t(\\\"../plots\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"./constants\\\");r.id2name=function(t){if(\\\"string\\\"==typeof t&&t.match(s.AX_ID_PATTERN)){var e=t.substr(1);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+\\\"axis\\\"+e}},r.name2id=function(t){if(t.match(s.AX_NAME_PATTERN)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(s.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,r){return n(t,e,r).map(function(e){return o.nestedProperty(t._fullLayout,e).get()})},r.listIds=function(t,e){return n(t,e,!0).map(r.name2id)},r.getFromId=function(t,e,n){var i=t._fullLayout;return\\\"x\\\"===n?e=e.replace(/y[0-9]*/,\\\"\\\"):\\\"y\\\"===n&&(e=e.replace(/x[0-9]*/,\\\"\\\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,n){var a=t._fullLayout,o=null;if(i.traceIs(e,\\\"gl3d\\\")){var s=e.scene;\\\"scene\\\"===s.substr(0,5)&&(o=a[s][n+\\\"axis\\\"])}else o=r.getFromId(t,e[n+\\\"axis\\\"]||n);return o}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../plots\\\":829,\\\"./constants\\\":771}],770:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){if(\\\"category\\\"===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&&i.length>0;a&&(n=\\\"array\\\");var o=r(\\\"categoryorder\\\",n);\\\"array\\\"===o&&r(\\\"categoryarray\\\"),a||\\\"array\\\"!==o||(e.categoryorder=\\\"trace\\\")}}},{}],771:[function(t,e,r){\\\"use strict\\\";e.exports={idRegex:{x:/^x([2-9]|[1-9][0-9]+)?$/,y:/^y([2-9]|[1-9][0-9]+)?$/},attrRegex:{x:/^xaxis([2-9]|[1-9][0-9]+)?$/,y:/^yaxis([2-9]|[1-9][0-9]+)?$/},xAxisMatch:/^xaxis[0-9]*$/,yAxisMatch:/^yaxis[0-9]*$/,AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\\\"imagelayer\\\",\\\"maplayer\\\",\\\"barlayer\\\",\\\"carpetlayer\\\",\\\"boxlayer\\\",\\\"scatterlayer\\\"],layerValue2layerClass:{\\\"above traces\\\":\\\"above\\\",\\\"below traces\\\":\\\"below\\\"}}},{}],772:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var i,a,s,l,u=n[o(e)].type,c=[];for(a=0;a<r.length;a++)(s=r[a])!==e&&(l=n[o(s)],l.type!==u||l.fixedrange||c.push(s));for(i=0;i<t.length;i++)if(t[i][e]){var h=t[i],f=[];for(a=0;a<c.length;a++)s=c[a],h[s]||f.push(s);return{linkableAxes:f,thisGroup:h}}return{linkableAxes:c,thisGroup:null}}function i(t,e,r,n,i){var a,o,s,l,u;null===e?(e={},e[r]=1,u=t.length,t.push(e)):u=t.indexOf(e);var c=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==u&&s[n]){var h=s[n];for(o=0;o<c.length;o++)l=c[o],s[l]=h*i*e[l];return void t.splice(u,1)}if(1!==i)for(o=0;o<c.length;o++)e[c[o]]*=i;e[n]=1}var a=t(\\\"../../lib\\\"),o=t(\\\"./axis_ids\\\").id2name;e.exports=function(t,e,r,o,s){var l=s._axisConstraintGroups,u=e._id,c=u.charAt(0);if(!e.fixedrange&&(r(\\\"constrain\\\"),a.coerce(t,e,{constraintoward:{valType:\\\"enumerated\\\",values:\\\"x\\\"===c?[\\\"left\\\",\\\"center\\\",\\\"right\\\"]:[\\\"bottom\\\",\\\"middle\\\",\\\"top\\\"],dflt:\\\"x\\\"===c?\\\"center\\\":\\\"middle\\\"}},\\\"constraintoward\\\"),t.scaleanchor)){var h=n(l,u,o,s),f=a.coerce(t,e,{scaleanchor:{valType:\\\"enumerated\\\",values:h.linkableAxes}},\\\"scaleanchor\\\");if(f){var d=r(\\\"scaleratio\\\");d||(d=e.scaleratio=1),i(l,h.thisGroup,u,f,d)}else-1!==o.indexOf(t.scaleanchor)&&a.warn(\\\"ignored \\\"+e._name+'.scaleanchor: \\\"'+t.scaleanchor+'\\\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{\\\"../../lib\\\":725,\\\"./axis_ids\\\":769}],773:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t._inputDomain,n=s[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}var i=t(\\\"./axis_ids\\\").id2name,a=t(\\\"./scale_zoom\\\"),o=t(\\\"../../constants/numerical\\\").ALMOST_EQUAL,s=t(\\\"../../constants/alignment\\\").FROM_BL;r.enforce=function(t){var e,r,s,l,u,c,h,f=t._fullLayout,d=f._axisConstraintGroups;for(e=0;e<d.length;e++){var p=d[e],m=Object.keys(p),v=1/0,g=0,y=1/0,b={},x={},_=!1;for(r=0;r<m.length;r++)s=m[r],x[s]=l=f[i(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/p[s],v=Math.min(v,u),\\\"domain\\\"!==l.constrain&&l._constraintShrinkable||(y=Math.min(y,u)),delete l._constraintShrinkable,g=Math.max(g,u),\\\"domain\\\"===l.constrain&&(_=!0);if(!(v>o*g)||_)for(r=0;r<m.length;r++)if(s=m[r],u=b[s],l=x[s],c=l.constrain,u!==y||\\\"domain\\\"===c)if(h=u/y,\\\"range\\\"===c)a(l,h);else{var w=l._inputDomain,M=(l.domain[1]-l.domain[0])/(w[1]-w[0]),k=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((h/=M)*k<1){l.domain=l._input.domain=w.slice(),a(l,h);continue}if(k<1&&(l.range=l._input.range=l._inputRange.slice(),h*=k),l.autorange&&l._min.length&&l._max.length){var A=l.r2l(l.range[0]),T=l.r2l(l.range[1]),S=(A+T)/2,E=S,L=S,C=Math.abs(T-S),z=S-C*h*1.0001,I=S+C*h*1.0001;n(l,h),l.setScale();var D,P,O=Math.abs(l._m);for(P=0;P<l._min.length;P++)(D=l._min[P].val-l._min[P].pad/O)>z&&D<E&&(E=D);for(P=0;P<l._max.length;P++)(D=l._max[P].val+l._max[P].pad/O)<I&&D>L&&(L=D);var R=(L-E)/(2*C);h/=R,E=l.l2r(E),L=l.l2r(L),l.range=l._input.range=A<T?[E,L]:[L,E]}n(l,h)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\\\"domain\\\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\\\"../../constants/alignment\\\":699,\\\"../../constants/numerical\\\":705,\\\"./axis_ids\\\":769,\\\"./scale_zoom\\\":781}],774:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){var s=t.draglayer.selectAll(\\\".\\\"+e).data([0]);return s.enter().append(\\\"rect\\\").classed(\\\"drag\\\",!0).classed(e,!0).style({fill:\\\"transparent\\\",\\\"stroke-width\\\":0}).attr(\\\"data-subplot\\\",t.id),s.call(S.setRect,n,i,a,o).call(E,r),s.node()}function i(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\\\"\\\"}function a(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\\\"date\\\"===t.type?n:\\\"log\\\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,x.format(\\\".\\\"+r+\\\"g\\\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,x.format(\\\".\\\"+String(r)+\\\"g\\\")(n))}function o(t,e,r,n,i){var a,s,l,u;for(a=0;a<t.length;a++)s=t[a],s.fixedrange||(l=s._rl[0],u=s._rl[1]-l,s.range=[s.l2r(l+u*e),s.l2r(l+u*r)],n[s._name+\\\".range[0]\\\"]=s.range[0],n[s._name+\\\".range[1]\\\"]=s.range[1]);if(i&&i.length){var c=(e+(1-r))/2;o(i,c,1-c,n)}}function s(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function l(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function u(t,e){return t?\\\"nsew\\\"===t?\\\"pan\\\"===e?\\\"move\\\":\\\"crosshair\\\":t.toLowerCase()+\\\"-resize\\\":\\\"pointer\\\"}function c(t,e,r,n,i){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\\\",i+\\\"Z\\\")}function h(t,e,r){return t.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:T.background,stroke:T.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"transform\\\",\\\"translate(\\\"+e+\\\", \\\"+r+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}function f(t){t.selectAll(\\\".select-outline\\\").remove()}function d(t,e,r,n,i,a){t.attr(\\\"d\\\",n+\\\"M\\\"+r.l+\\\",\\\"+r.t+\\\"v\\\"+r.h+\\\"h\\\"+r.w+\\\"v-\\\"+r.h+\\\"h-\\\"+r.w+\\\"Z\\\"),i||(t.transition().style(\\\"fill\\\",a>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),e.transition().style(\\\"opacity\\\",1).duration(200))}function p(t){x.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}function m(t){return-1!==[\\\"lasso\\\",\\\"select\\\"].indexOf(t)}function v(t,e){return\\\"M\\\"+(t.l-.5)+\\\",\\\"+(e-j-.5)+\\\"h-3v\\\"+(2*j+1)+\\\"h3ZM\\\"+(t.r+.5)+\\\",\\\"+(e-j-.5)+\\\"h3v\\\"+(2*j+1)+\\\"h-3Z\\\"}function g(t,e){return\\\"M\\\"+(e-j-.5)+\\\",\\\"+(t.t-.5)+\\\"v-3h\\\"+(2*j+1)+\\\"v3ZM\\\"+(e-j-.5)+\\\",\\\"+(t.b+.5)+\\\"v3h\\\"+(2*j+1)+\\\"v-3Z\\\"}function y(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,j)/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 b(t,e,r){var n,i,a,o,s,l,u=!1,c={},h={};for(n=0;n<t.length;n++){for(o=t[n],i=0;i<e.length;i++)if(o[e[i]]){for(s in o)-1===(\\\"x\\\"===s.charAt(0)?e:r).indexOf(s)&&(c[s]=1);for(a=0;a<r.length;a++)o[r[a]]&&(u=!0)}for(i=0;i<r.length;i++)if(o[r[i]])for(l in o)-1===(\\\"x\\\"===l.charAt(0)?e:r).indexOf(l)&&(h[l]=1)}return u&&(k.extendFlat(c,h),h={}),{x:c,y:h,xy:u}}var x=t(\\\"d3\\\"),_=t(\\\"tinycolor2\\\"),w=t(\\\"../../plotly\\\"),M=t(\\\"../../registry\\\"),k=t(\\\"../../lib\\\"),A=t(\\\"../../lib/svg_text_utils\\\"),T=t(\\\"../../components/color\\\"),S=t(\\\"../../components/drawing\\\"),E=t(\\\"../../lib/setcursor\\\"),L=t(\\\"../../components/dragelement\\\"),C=t(\\\"../../constants/alignment\\\").FROM_TL,z=t(\\\"../plots\\\"),I=t(\\\"./axes\\\").doTicks,D=t(\\\"./axis_ids\\\").getFromId,P=t(\\\"./select\\\"),O=t(\\\"./scale_zoom\\\"),R=t(\\\"./constants\\\"),F=R.MINDRAG,j=R.MINZOOM,N=!0;e.exports=function(t,e,r,T,E,B,U,V){function H(){et=[e.xaxis],rt=[e.yaxis];var r=et[0],n=rt[0];at=r._length,ot=n._length;var a=dt._axisConstraintGroups,o=[r._id],s=[n._id];tt=[e].concat(U&&V?e.overlays:[]);for(var l=1;l<tt.length;l++){var c=tt[l].xaxis,h=tt[l].yaxis;-1===et.indexOf(c)&&(et.push(c),o.push(c._id)),-1===rt.indexOf(h)&&(rt.push(h),s.push(h._id))}st=i(et,V),lt=i(rt,U),ut=u(lt+st,dt.dragmode),nt=r._offset,it=n._offset;var f=b(a,o,s);ct=f.xy,ht=[];for(var d in f.x)ht.push(D(t,d));ft=[];for(var p in f.y)ft.push(D(t,p))}function q(e,r,n){var i=vt.getBoundingClientRect();yt=r-i.left,bt=n-i.top,xt={l:yt,r:yt,w:0,t:bt,b:bt,h:0},_t=t._hmpixcount?t._hmlumcount/t._hmpixcount:_(t._fullLayout.plot_bgcolor).getLuminance(),wt=\\\"M0,0H\\\"+at+\\\"V\\\"+ot+\\\"H0V0\\\",Mt=!1,kt=\\\"xy\\\",At=c(pt,_t,nt,it,wt),Tt=h(pt,nt,it),f(pt)}function G(e,r){function n(){kt=\\\"\\\",xt.r=xt.l,xt.t=xt.b,Tt.attr(\\\"d\\\",\\\"M0,0Z\\\")}if(t._transitioningWithDuration)return!1;var i=Math.max(0,Math.min(at,e+yt)),a=Math.max(0,Math.min(ot,r+bt)),o=Math.abs(i-yt),s=Math.abs(a-bt);xt.l=Math.min(yt,i),xt.r=Math.max(yt,i),xt.t=Math.min(bt,a),xt.b=Math.max(bt,a),ct?o>j||s>j?(kt=\\\"xy\\\",o/at>s/ot?(s=o*ot/at,bt>a?xt.t=bt-s:xt.b=bt+s):(o=s*at/ot,yt>i?xt.l=yt-o:xt.r=yt+o),Tt.attr(\\\"d\\\",y(xt))):n():!lt||s<Math.min(Math.max(.6*o,F),j)?o<F?n():(xt.t=0,xt.b=ot,kt=\\\"x\\\",Tt.attr(\\\"d\\\",v(xt,bt))):!st||o<Math.min(.6*s,j)?(xt.l=0,xt.r=at,kt=\\\"y\\\",Tt.attr(\\\"d\\\",g(xt,yt))):(kt=\\\"xy\\\",Tt.attr(\\\"d\\\",y(xt))),xt.w=xt.r-xt.l,xt.h=xt.b-xt.t,d(At,Tt,xt,wt,Mt,_t),Mt=!0}function Y(e,r){if(Math.min(xt.h,xt.w)<2*F)return 2===r&&K(),p(t);\\\"xy\\\"!==kt&&\\\"x\\\"!==kt||o(et,xt.l/at,xt.r/at,St,ht),\\\"xy\\\"!==kt&&\\\"y\\\"!==kt||o(rt,(ot-xt.b)/ot,(ot-xt.t)/ot,St,ft),p(t),Q(kt),N&&t.data&&t._context.showTips&&(k.notifier(\\\"Double-click to<br>zoom back out\\\",\\\"long\\\"),N=!1)}function X(e,r){var n=1===(U+V).length;if(e)Q();else if(2!==r||n){if(1===r&&n){var i=U?rt[0]:et[0],o=\\\"s\\\"===U||\\\"w\\\"===V?0:1,s=i._name+\\\".range[\\\"+o+\\\"]\\\",l=a(i,o),u=\\\"left\\\",c=\\\"middle\\\";if(i.fixedrange)return;U?(c=\\\"n\\\"===U?\\\"top\\\":\\\"bottom\\\",\\\"right\\\"===i.side&&(u=\\\"right\\\")):\\\"e\\\"===V&&(u=\\\"right\\\"),t._context.showAxisRangeEntryBoxes&&x.select(vt).call(A.makeEditable,{gd:t,immediate:!0,background:dt.paper_bgcolor,text:String(l),fill:i.tickfont?i.tickfont.color:\\\"#444\\\",horizontalAlign:u,verticalAlign:c}).on(\\\"edit\\\",function(e){var r=i.d2r(e);void 0!==r&&w.relayout(t,s,r)})}}else K()}function W(e){function r(t,e,r){function n(e){return t.l2r(a+(e-a)*r)}if(!t.fixedrange){var i=k.simpleMap(t.range,t.r2l),a=i[0]+(i[1]-i[0])*e;t.range=i.map(n)}}if(t._context.scrollZoom||dt._enablescrollzoom){if(t._transitioningWithDuration)return k.pauseEvent(e);var n=t.querySelector(\\\".plotly\\\");if(H(),!(n.scrollHeight-n.clientHeight>10||n.scrollWidth-n.clientWidth>10)){clearTimeout(Lt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),!isFinite(i))return void k.log(\\\"Did not find wheel motion attributes: \\\",e);var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/100),s=zt.draglayer.select(\\\".nsewdrag\\\").node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,u=(s.bottom-e.clientY)/s.height;if(V||ct){for(V||(l=.5),a=0;a<et.length;a++)r(et[a],l,o);Et[2]*=o,Et[0]+=Et[2]*l*(1/o-1)}if(U||ct){for(U||(u=.5),a=0;a<rt.length;a++)r(rt[a],u,o);Et[3]*=o,Et[1]+=Et[3]*(1-u)*(1/o-1)}return $(Et),J(U,V),Lt=setTimeout(function(){Et=[0,0,at,ot];var t;t=ct?\\\"xy\\\":(V?\\\"x\\\":\\\"\\\")+(U?\\\"y\\\":\\\"\\\"),Q(t)},Ct),k.pauseEvent(e)}}}function Z(e,r){function n(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/l(r/s._length);var u=s.l2r(i);!1!==u&&void 0!==u&&(s.range[e]=u)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}if(!t._transitioningWithDuration){if(H(),\\\"ew\\\"===st||\\\"ns\\\"===lt)return st&&s(et,e),lt&&s(rt,r),$([st?-e:0,lt?-r:0,at,ot]),void J(lt,st);if(ct&&st&&lt){var i=\\\"w\\\"===st==(\\\"n\\\"===lt)?1:-1,a=(e/at+i*r/ot)/2;e=a*at,r=i*a*ot}\\\"w\\\"===st?e=n(et,0,e):\\\"e\\\"===st?e=n(et,1,-e):st||(e=0),\\\"n\\\"===lt?r=n(rt,1,r):\\\"s\\\"===lt?r=n(rt,0,-r):lt||(r=0);var o=\\\"w\\\"===st?e:0,u=\\\"n\\\"===lt?r:0;if(ct){var c;if(!st&&1===lt.length){for(c=0;c<et.length;c++)et[c].range=et[c]._r.slice(),O(et[c],1-r/ot);e=r*at/ot,o=e/2}if(!lt&&1===st.length){for(c=0;c<rt.length;c++)rt[c].range=rt[c]._r.slice(),O(rt[c],1-e/at);r=e*ot/at,u=r/2}}$([o,u,at-e,ot-r]),J(lt,st)}}function J(e,r){function n(t){for(a=0;a<t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i,s){for(a=0;a<n.length;a++){var l=n[a];if((r&&-1!==o.indexOf(l.xref)||e&&-1!==o.indexOf(l.yref))&&(i(t,a),s))return}}var a,o=[];for((r||ct)&&(n(et),n(ht)),(e||ct)&&(n(rt),n(ft)),St={},a=0;a<o.length;a++){var s=o[a];I(t,s,!0);var l=D(t,s);St[l._name+\\\".range[0]\\\"]=l.range[0],St[l._name+\\\".range[1]\\\"]=l.range[1]}i(dt.annotations||[],M.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),i(dt.shapes||[],M.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),i(dt.images||[],M.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function K(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(st?et:[]).concat(lt?rt:[]),o={};if(\\\"reset+autosize\\\"===i)for(i=\\\"autosize\\\",r=0;r<a.length;r++)if(e=a[r],e._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\\\"reset\\\";break}if(\\\"autosize\\\"===i)for(r=0;r<a.length;r++)e=a[r],e.fixedrange||(o[e._name+\\\".autorange\\\"]=!0);else if(\\\"reset\\\"===i)for((st||ct)&&(a=a.concat(ht)),lt&&!ct&&(a=a.concat(ft)),ct&&(st?lt||(a=a.concat(rt)):a=a.concat(et)),r=0;r<a.length;r++)e=a[r],e._rangeInitial?(n=e._rangeInitial,o[e._name+\\\".range[0]\\\"]=n[0],o[e._name+\\\".range[1]\\\"]=n[1]):o[e._name+\\\".autorange\\\"]=!0;t.emit(\\\"plotly_doubleclick\\\",null),w.relayout(t,o)}}function Q(e){void 0===e&&(e=(V?\\\"x\\\":\\\"\\\")+(U?\\\"y\\\":\\\"\\\")),$([0,0,at,ot]),k.syncOrAsync([z.previousPromises,function(){w.relayout(t,St)}],t)}function $(t){function e(t){return t.fixedrange?0:d&&-1!==ht.indexOf(t)?h:p&&-1!==(ct?ht:ft).indexOf(t)?f:0}function r(t,e){return e?(t.range=t._r.slice(),O(t,e),n(t,e)):0}function n(t,e){return t._length*(1-e)*C[t.constraintoward||\\\"middle\\\"]}var i,a,o,s,l,u=dt._plots,c=Object.keys(u),h=t[2]/et[0]._length,f=t[3]/rt[0]._length,d=V||ct,p=U||ct;for(i=0;i<c.length;i++){var m=u[c[i]],v=m.xaxis,g=m.yaxis,y=d&&!v.fixedrange&&-1!==et.indexOf(v),b=p&&!g.fixedrange&&-1!==rt.indexOf(g);if(y?(a=h,s=V?t[0]:n(v,a)):(a=e(v),s=r(v,a)),b?(o=f,l=U?t[1]:n(g,o)):(o=e(g),l=r(g,o)),a||o){a||(a=1),o||(o=1);var x=v._offset-s/a,_=g._offset-l/o;dt._defs.select(\\\"#\\\"+m.clipId+\\\"> rect\\\").call(S.setTranslate,s,l).call(S.setScale,a,o);var w=m.plot.selectAll(\\\".scatterlayer .points, .boxlayer .points\\\");m.plot.call(S.setTranslate,x,_).call(S.setScale,1/a,1/o),w.selectAll(\\\".point\\\").call(S.setPointGroupScale,a,o).call(S.hideOutsideRangePoints,m),w.selectAll(\\\".textpoint\\\").call(S.setTextPointsScale,a,o).call(S.hideOutsideRangePoints,m)}}}var tt,et,rt,nt,it,at,ot,st,lt,ut,ct,ht,ft,dt=t._fullLayout,pt=t._fullLayout._zoomlayer,mt=U+V===\\\"nsew\\\";H();var vt=n(e,U+V+\\\"drag\\\",ut,r,T,E,B);if(!lt&&!st&&!m(dt.dragmode))return vt.onmousedown=null,vt.style.pointerEvents=mt?\\\"all\\\":\\\"none\\\",vt;var gt={element:vt,gd:t,plotinfo:e,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;mt?e.shiftKey&&(i=\\\"pan\\\"===i?\\\"zoom\\\":\\\"pan\\\"):i=\\\"pan\\\",gt.minDrag=\\\"lasso\\\"===i?1:void 0,\\\"zoom\\\"===i?(gt.moveFn=G,gt.doneFn=Y,gt.minDrag=1,q(e,r,n)):\\\"pan\\\"===i?(gt.moveFn=Z,gt.doneFn=X,f(pt)):m(i)&&(gt.xaxes=et,gt.yaxes=rt,P(e,r,n,gt,i))}};L.init(gt);var yt,bt,xt,_t,wt,Mt,kt,At,Tt,St={},Et=[0,0,at,ot],Lt=null,Ct=R.REDRAWDELAY,zt=e.mainplot?dt._plots[e.mainplot]:e;return U.length*V.length!=1&&(void 0!==vt.onwheel?vt.onwheel=W:void 0!==vt.onmousewheel&&(vt.onmousewheel=W)),vt}},{\\\"../../components/color\\\":603,\\\"../../components/dragelement\\\":624,\\\"../../components/drawing\\\":627,\\\"../../constants/alignment\\\":699,\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../registry\\\":844,\\\"../plots\\\":829,\\\"./axes\\\":766,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,\\\"./scale_zoom\\\":781,\\\"./select\\\":782,d3:121,tinycolor2:533}],775:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/dragelement\\\"),o=t(\\\"./constants\\\"),s=t(\\\"./dragbox\\\");e.exports=function(t){var e=t._fullLayout;if((e._has(\\\"cartesian\\\")||e._has(\\\"gl2d\\\"))&&!t._context.staticPlot){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\\\"y\\\"),i=r.split(\\\"y\\\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var l=e._plots[r],u=l.xaxis,c=l.yaxis,h=(u._linepositions[r]||[])[3],f=(c._linepositions[r]||[])[3],d=o.DRAGGERSIZE;if(n(h)&&\\\"top\\\"===u.side&&(h-=d),n(f)&&\\\"right\\\"!==c.side&&(f-=d),!l.mainplot){var p=s(t,l,0,0,u._length,c._length,\\\"ns\\\",\\\"ew\\\");p.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=p,t._fullLayout._hoversubplot=r},p.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},p.onclick=function(e){i.click(t,e,r)},t._context.showAxisDragHandles&&(s(t,l,-d,-d,d,d,\\\"n\\\",\\\"w\\\"),s(t,l,u._length,-d,d,d,\\\"n\\\",\\\"e\\\"),s(t,l,-d,c._length,d,d,\\\"s\\\",\\\"w\\\"),s(t,l,u._length,c._length,d,d,\\\"s\\\",\\\"e\\\"))}t._context.showAxisDragHandles&&(n(h)&&(\\\"free\\\"===u.anchor&&(h-=e._size.h*(1-c.domain[1])),s(t,l,.1*u._length,h,.8*u._length,d,\\\"\\\",\\\"ew\\\"),s(t,l,0,h,.1*u._length,d,\\\"\\\",\\\"w\\\"),s(t,l,.9*u._length,h,.1*u._length,d,\\\"\\\",\\\"e\\\")),n(f)&&(\\\"free\\\"===c.anchor&&(f-=e._size.w*u.domain[0]),s(t,l,f,.1*c._length,d,.8*c._length,\\\"ns\\\",\\\"\\\"),s(t,l,f,.9*c._length,d,.1*c._length,\\\"s\\\",\\\"\\\"),s(t,l,f,0,d,.1*c._length,\\\"n\\\",\\\"\\\")))});var r=e._hoverlayer.node();r.onmousemove=function(r){r.target=e._lasthover,i.hover(t,r,e._hoversubplot)},r.onclick=function(r){r.target=e._lasthover,i.click(t,r)},r.onmousedown=function(t){e._lasthover.onmousedown(t)}}}},{\\\"../../components/dragelement\\\":624,\\\"../../components/fx\\\":644,\\\"./constants\\\":771,\\\"./dragbox\\\":774,\\\"fast-isnumeric\\\":130}],776:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=t._fullLayout,o=a._modules;e.plot&&e.plot.selectAll(\\\"g:not(.scatterlayer)\\\").selectAll(\\\"g.trace\\\").remove();for(var s=0;s<o.length;s++){var l=o[s];if(\\\"cartesian\\\"===l.basePlotModule.name){for(var u=[],c=0;c<r.length;c++){var h=r[c],f=h[0].trace;f._module===l&&!0===f.visible&&u.push(h)}l.plot(t,e,u,n,i)}}}function i(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a<r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,u=s.yaxis,c=l._mainAxis,h=u._mainAxis,f=c._id+h._id;f!==o&&-1!==r.indexOf(f)?(s.mainplot=f,s.mainplotinfo=e._plots[f],i.push(o)):n.push(o)}return n=n.concat(i)}function a(t){var e=t.plotgroup,r=t.id,n=f.layerValue2layerClass[t.xaxis.layer],i=f.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,o=a.plotgroup,l=r+\\\"-x\\\",u=r+\\\"-y\\\";t.gridlayer=s(a.overgrid,\\\"g\\\",r),t.zerolinelayer=s(a.overzero,\\\"g\\\",r),s(a.overlinesBelow,\\\"path\\\",l),s(a.overlinesBelow,\\\"path\\\",u),s(a.overaxesBelow,\\\"g\\\",l),s(a.overaxesBelow,\\\"g\\\",u),t.plot=s(a.overplot,\\\"g\\\",r),s(a.overlinesAbove,\\\"path\\\",l),s(a.overlinesAbove,\\\"path\\\",u),s(a.overaxesAbove,\\\"g\\\",l),s(a.overaxesAbove,\\\"g\\\",u),t.xlines=o.select(\\\".overlines-\\\"+n).select(\\\".\\\"+l),t.ylines=o.select(\\\".overlines-\\\"+i).select(\\\".\\\"+u),t.xaxislayer=o.select(\\\".overaxes-\\\"+n).select(\\\".\\\"+l),t.yaxislayer=o.select(\\\".overaxes-\\\"+i).select(\\\".\\\"+u)}else{var c=s(e,\\\"g\\\",\\\"layer-subplot\\\");t.shapelayer=s(c,\\\"g\\\",\\\"shapelayer\\\"),t.imagelayer=s(c,\\\"g\\\",\\\"imagelayer\\\"),t.gridlayer=s(e,\\\"g\\\",\\\"gridlayer\\\"),t.overgrid=s(e,\\\"g\\\",\\\"overgrid\\\"),t.zerolinelayer=s(e,\\\"g\\\",\\\"zerolinelayer\\\"),t.overzero=s(e,\\\"g\\\",\\\"overzero\\\"),s(e,\\\"path\\\",\\\"xlines-below\\\"),s(e,\\\"path\\\",\\\"ylines-below\\\"),t.overlinesBelow=s(e,\\\"g\\\",\\\"overlines-below\\\"),s(e,\\\"g\\\",\\\"xaxislayer-below\\\"),s(e,\\\"g\\\",\\\"yaxislayer-below\\\"),t.overaxesBelow=s(e,\\\"g\\\",\\\"overaxes-below\\\"),t.plot=s(e,\\\"g\\\",\\\"plot\\\"),t.overplot=s(e,\\\"g\\\",\\\"overplot\\\"),s(e,\\\"path\\\",\\\"xlines-above\\\"),s(e,\\\"path\\\",\\\"ylines-above\\\"),t.overlinesAbove=s(e,\\\"g\\\",\\\"overlines-above\\\"),s(e,\\\"g\\\",\\\"xaxislayer-above\\\"),s(e,\\\"g\\\",\\\"yaxislayer-above\\\"),t.overaxesAbove=s(e,\\\"g\\\",\\\"overaxes-above\\\"),t.xlines=e.select(\\\".xlines-\\\"+n),t.ylines=e.select(\\\".ylines-\\\"+i),t.xaxislayer=e.select(\\\".xaxislayer-\\\"+n),t.yaxislayer=e.select(\\\".yaxislayer-\\\"+i)}for(var h=0;h<f.traceLayerClasses.length;h++)s(t.plot,\\\"g\\\",f.traceLayerClasses[h]);t.xlines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0),t.ylines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0)}function o(t,e){if(t){var r={};t.each(function(t){var n=l.select(this),i=\\\"clip\\\"+e._uid+t+\\\"plot\\\";n.remove(),e._draggers.selectAll(\\\"g.\\\"+t).remove(),e._defs.select(\\\"#\\\"+i).remove(),r[t]=!0});for(var n=e._plots,i=Object.keys(n),a=0;a<i.length;a++)for(var o=n[i[a]],s=o.overlays||[],u=0;u<s.length;u++){var c=s[u];r[c.id]&&c.plot.selectAll(\\\".trace\\\").remove()}}}function s(t,e,r){var n=t.selectAll(\\\".\\\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}var l=t(\\\"d3\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../plots\\\"),h=t(\\\"./axis_ids\\\"),f=t(\\\"./constants\\\");r.name=\\\"cartesian\\\",r.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],r.idRoot=[\\\"x\\\",\\\"y\\\"],r.idRegex=f.idRegex,r.attrRegex=f.attrRegex,r.attributes=t(\\\"./attributes\\\"),r.layoutAttributes=t(\\\"./layout_attributes\\\"),r.transitionAxes=t(\\\"./transition_axes\\\"),r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=c.getSubplotIds(o,\\\"cartesian\\\"),l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<l.length;a++)e.push(a);for(a=0;a<s.length;a++){for(var u,h=s[a],f=o._plots[h],d=[],p=0;p<l.length;p++){var m=l[p],v=m[0].trace;v.xaxis+v.yaxis===h&&((-1!==e.indexOf(v.index)||v.carpet)&&(u&&u[0].trace.xaxis+u[0].trace.yaxis===h&&-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(v.fill)&&-1===d.indexOf(u)&&d.push(u),d.push(m)),u=m)}n(t,f,d,r,i)}},r.clean=function(t,e,r,n){var i,a,s,l=n._modules||[],u=e._modules||[];for(s=0;s<l.length;s++)if(\\\"scatter\\\"===l[s].name){i=!0;break}for(s=0;s<u.length;s++)if(\\\"scatter\\\"===u[s].name){a=!0;break}if(i&&!a){var c=n._plots,f=Object.keys(c||{});for(s=0;s<f.length;s++){var d=c[f[s]];d.plot&&d.plot.select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove()}n._infolayer.selectAll(\\\"g.rangeslider-container\\\").select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove()}var p=n._has&&n._has(\\\"cartesian\\\"),m=e._has&&e._has(\\\"cartesian\\\");if(p&&!m){var v=n._cartesianlayer.selectAll(\\\".subplot\\\"),g=h.listIds({_fullLayout:n});for(v.call(o,n),n._defs.selectAll(\\\".axesclip\\\").remove(),s=0;s<g.length;s++)n._infolayer.select(\\\".\\\"+g[s]+\\\"title\\\").remove()}},r.drawFramework=function(t){var e=t._fullLayout,r=i(t),n=e._cartesianlayer.selectAll(\\\".subplot\\\").data(r,u.identity);n.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"subplot \\\"+t}),n.order(),n.exit().call(o,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=l.select(this),r.overlays=[],a(r),r.mainplot){e._plots[r.mainplot].overlays.push(r)}r.draglayer=s(e._draggers,\\\"g\\\",t)})},r.rangePlot=function(t,e,r){a(e),n(t,e,r),c.style(t)}},{\\\"../../lib\\\":725,\\\"../plots\\\":829,\\\"./attributes\\\":765,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,\\\"./layout_attributes\\\":777,\\\"./transition_axes\\\":787,d3:121}],777:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../font_attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"./constants\\\");e.exports={visible:{valType:\\\"boolean\\\"},color:{valType:\\\"color\\\",dflt:i.defaultLine},title:{valType:\\\"string\\\"},titlefont:o({},n,{}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"log\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0},rangemode:{valType:\\\"enumerated\\\",values:[\\\"normal\\\",\\\"tozero\\\",\\\"nonnegative\\\"],dflt:\\\"normal\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\"},{valType:\\\"any\\\"}]},fixedrange:{valType:\\\"boolean\\\",dflt:!1},scaleanchor:{valType:\\\"enumerated\\\",values:[s.idRegex.x.toString(),s.idRegex.y.toString()]},scaleratio:{valType:\\\"number\\\",min:0,dflt:1},constrain:{valType:\\\"enumerated\\\",values:[\\\"range\\\",\\\"domain\\\"],dflt:\\\"range\\\"},constraintoward:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"center\\\",\\\"right\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"]},tickmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"linear\\\",\\\"array\\\"]},nticks:{valType:\\\"integer\\\",min:0,dflt:0},tick0:{valType:\\\"any\\\"},dtick:{valType:\\\"any\\\"},tickvals:{valType:\\\"data_array\\\"},ticktext:{valType:\\\"data_array\\\"},ticks:{valType:\\\"enumerated\\\",values:[\\\"outside\\\",\\\"inside\\\",\\\"\\\"]},mirror:{valType:\\\"enumerated\\\",values:[!0,\\\"ticks\\\",!1,\\\"all\\\",\\\"allticks\\\"],dflt:!1},ticklen:{valType:\\\"number\\\",min:0,dflt:5},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},tickcolor:{valType:\\\"color\\\",dflt:i.defaultLine},showticklabels:{valType:\\\"boolean\\\",dflt:!0},showspikes:{valType:\\\"boolean\\\",dflt:!1},spikecolor:{valType:\\\"color\\\",dflt:null},spikethickness:{valType:\\\"number\\\",dflt:3},spikedash:o({},a,{dflt:\\\"dash\\\"}),spikemode:{valType:\\\"flaglist\\\",flags:[\\\"toaxis\\\",\\\"across\\\",\\\"marker\\\"],dflt:\\\"toaxis\\\"},tickfont:o({},n,{}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\"},hoverformat:{valType:\\\"string\\\",dflt:\\\"\\\"},showline:{valType:\\\"boolean\\\",dflt:!1},linecolor:{valType:\\\"color\\\",dflt:i.defaultLine},linewidth:{valType:\\\"number\\\",min:0,dflt:1},showgrid:{valType:\\\"boolean\\\"},gridcolor:{valType:\\\"color\\\",dflt:i.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1},zeroline:{valType:\\\"boolean\\\"},zerolinecolor:{valType:\\\"color\\\",dflt:i.defaultLine},zerolinewidth:{valType:\\\"number\\\",dflt:1},anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.idRegex.y.toString()]},side:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"]},overlaying:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.idRegex.y.toString()]},layer:{valType:\\\"enumerated\\\",values:[\\\"above traces\\\",\\\"below traces\\\"],dflt:\\\"above traces\\\"},domain:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},position:{valType:\\\"number\\\",min:0,max:1,dflt:0},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\"},categoryarray:{valType:\\\"data_array\\\"},_deprecated:{autotick:{valType:\\\"boolean\\\"}}}},{\\\"../../components/color/attributes\\\":602,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../font_attributes\\\":790,\\\"./constants\\\":771}],778:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../layout_attributes\\\"),s=t(\\\"./constants\\\"),l=t(\\\"./layout_attributes\\\"),u=t(\\\"./type_defaults\\\"),c=t(\\\"./axis_defaults\\\"),h=t(\\\"./constraint_defaults\\\"),f=t(\\\"./position_defaults\\\"),d=t(\\\"./axis_ids\\\");e.exports=function(t,e,r){function p(t,e){return Number(t.substr(5)||1)-Number(e.substr(5)||1)}function m(t,e){return i.coerce(N,B,l,t,e)}function v(t){var e={x:P,y:D}[t];return i.simpleMap(e,d.name2id)}var g,y=Object.keys(t),b=[],x=[],_=[],w=[],M=[],k=[],A={},T={};for(g=0;g<r.length;g++){var S,E,L=r[g];if(n.traceIs(L,\\\"cartesian\\\"))S=b,E=x;else{if(!n.traceIs(L,\\\"gl2d\\\"))continue;S=_,E=w}var C=d.id2name(L.xaxis),z=d.id2name(L.yaxis);if(n.traceIs(L,\\\"carpet\\\")&&(\\\"carpet\\\"!==L.type||L._cheater)||C&&i.pushUnique(k,C),\\\"carpet\\\"===L.type&&L._cheater&&C&&i.pushUnique(M,C),C&&-1===S.indexOf(C)&&S.push(C),z&&-1===E.indexOf(z)&&E.push(z),n.traceIs(L,\\\"2dMap\\\")&&(A[C]=!0,A[z]=!0),n.traceIs(L,\\\"oriented\\\")){T[\\\"h\\\"===L.orientation?z:C]=!0}}if(!e._has(\\\"gl3d\\\")&&!e._has(\\\"geo\\\"))for(g=0;g<y.length;g++){var I=y[g];-1===_.indexOf(I)&&-1===b.indexOf(I)&&s.xAxisMatch.test(I)?b.push(I):-1===w.indexOf(I)&&-1===x.indexOf(I)&&s.yAxisMatch.test(I)&&x.push(I)}b.length&&x.length&&i.pushUnique(e._basePlotModules,n.subplotsRegistry.cartesian)\\n\",\n       \";var D=b.concat(_).sort(p),P=x.concat(w).sort(p),O=D.concat(P),R=a.background;D.length&&P.length&&(R=i.coerce(t,e,o,\\\"plot_bgcolor\\\"));var F,j,N,B,U=a.combine(R,e.paper_bgcolor),V={x:v(\\\"x\\\"),y:v(\\\"y\\\")};for(g=0;g<O.length;g++){F=O[g],i.isPlainObject(t[F])||(t[F]={}),N=t[F],B=e[F]={},u(N,B,m,r,F),j=F.charAt(0);var H=function(e,r){for(var n={x:D,y:P}[e],i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(d.name2id(o))}return i}(j,F),q={letter:j,font:e.font,outerTicks:A[F],showGrid:!T[F],data:r,bgColor:U,calendar:e.calendar,cheateronly:\\\"x\\\"===j&&-1!==M.indexOf(F)&&-1===k.indexOf(F)};c(N,B,m,q,e);m(\\\"showspikes\\\")&&(m(\\\"spikecolor\\\"),m(\\\"spikethickness\\\"),m(\\\"spikedash\\\"),m(\\\"spikemode\\\"));var G={letter:j,counterAxes:V[j],overlayableAxes:H};f(N,B,m,G),B._input=N}var Y=n.getComponentMethod(\\\"rangeslider\\\",\\\"handleDefaults\\\"),X=n.getComponentMethod(\\\"rangeselector\\\",\\\"handleDefaults\\\");for(g=0;g<D.length;g++)F=D[g],N=t[F],B=e[F],Y(t,e,F),\\\"date\\\"===B.type&&X(N,B,e,P,B.calendar),m(\\\"fixedrange\\\");for(g=0;g<P.length;g++){F=P[g],N=t[F],B=e[F];var W=e[d.id2name(B.anchor)];m(\\\"fixedrange\\\",W&&W.rangeslider&&W.rangeslider.visible)}e._axisConstraintGroups=[];var Z=V.x.concat(V.y);for(g=0;g<O.length;g++)F=O[g],j=F.charAt(0),N=t[F],B=e[F],h(N,B,m,Z,e)}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../layout_attributes\\\":820,\\\"./axis_defaults\\\":768,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,\\\"./constraint_defaults\\\":772,\\\"./layout_attributes\\\":777,\\\"./position_defaults\\\":780,\\\"./type_defaults\\\":788}],779:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,a,o,s,l,u=[],c=r.map(function(e){return e[t]}),h=i.bisector(e).left;for(n=0;n<c.length;n++)for(o=c[n],a=0;a<o.length;a++)null!==(s=o[a])&&void 0!==s&&((l=h(u,s))<u.length&&u[l]===s||u.splice(l,0,s));return u}var i=t(\\\"d3\\\");e.exports=function(t,e,r,a){switch(e){case\\\"array\\\":return Array.isArray(r)?r.slice():[];case\\\"category ascending\\\":return n(t,i.ascending,a);case\\\"category descending\\\":return n(t,i.descending,a);case\\\"trace\\\":default:return[]}}},{d3:121}],780:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter;\\\"free\\\"===i.coerce(t,e,{anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\"].concat(o),dflt:n(t.position)?\\\"free\\\":o[0]||\\\"free\\\"}},\\\"anchor\\\")&&r(\\\"position\\\"),i.coerce(t,e,{side:{valType:\\\"enumerated\\\",values:\\\"x\\\"===l?[\\\"bottom\\\",\\\"top\\\"]:[\\\"left\\\",\\\"right\\\"],dflt:\\\"x\\\"===l?\\\"bottom\\\":\\\"left\\\"}},\\\"side\\\");var u=!1;if(s.length&&(u=i.coerce(t,e,{overlaying:{valType:\\\"enumerated\\\",values:[!1].concat(s),dflt:!1}},\\\"overlaying\\\")),!u){var c=r(\\\"domain\\\");c[0]>c[1]-.01&&(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return r(\\\"layer\\\"),e}},{\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],781:[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 i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{\\\"../../constants/alignment\\\":699}],782:[function(t,e,r){\\\"use strict\\\";function n(t){return t._id}function i(t,e){if(Array.isArray(t))for(var r=e.cd[0].trace,n=0;n<t.length;n++){var i=t[n];i.curveNumber=r.index,i.data=r._input,i.fullData=r,s(i,r,i.pointNumber)}return t}var a=t(\\\"../../lib/polygon\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/fx/helpers\\\").appendArrayPointValue,l=t(\\\"./axes\\\"),u=t(\\\"./constants\\\"),c=a.filter,h=a.tester,f=u.MINSELECT;e.exports=function(t,e,r,a,s){function d(t){var e=\\\"y\\\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function p(t,e){return t-e}var m,v=a.gd._fullLayout._zoomlayer,g=a.element.getBoundingClientRect(),y=a.plotinfo,b=y.xaxis._offset,x=y.yaxis._offset,_=e-g.left,w=r-g.top,M=_,k=w,A=\\\"M\\\"+_+\\\",\\\"+w,T=a.xaxes[0]._length,S=a.yaxes[0]._length,E=a.xaxes.map(n),L=a.yaxes.map(n),C=a.xaxes.concat(a.yaxes);\\\"lasso\\\"===s&&(m=c([[_,w]],u.BENDPX));var z=v.selectAll(\\\"path.select-outline\\\").data([1,2]);z.enter().append(\\\"path\\\").attr(\\\"class\\\",function(t){return\\\"select-outline select-outline-\\\"+t}).attr(\\\"transform\\\",\\\"translate(\\\"+b+\\\", \\\"+x+\\\")\\\").attr(\\\"d\\\",A+\\\"Z\\\");var I,D,P,O,R,F=v.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:o.background,stroke:o.defaultLine,\\\"stroke-width\\\":1}).attr(\\\"transform\\\",\\\"translate(\\\"+b+\\\", \\\"+x+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),j=[],N=a.gd,B=[];for(I=0;I<N.calcdata.length;I++)if(D=N.calcdata[I],P=D[0].trace,P._module&&P._module.selectPoints)if(a.subplot){if(P.subplot!==a.subplot)continue;j.push({selectPoints:P._module.selectPoints,cd:D,xaxis:a.xaxes[0],yaxis:a.yaxes[0]})}else{if(-1===E.indexOf(P.xaxis))continue;if(-1===L.indexOf(P.yaxis))continue;j.push({selectPoints:P._module.selectPoints,cd:D,xaxis:l.getFromId(N,P.xaxis),yaxis:l.getFromId(N,P.yaxis)})}var U;U=y.fillRangeItems?y.fillRangeItems:\\\"select\\\"===s?function(t,e){var r=t.range={};for(I=0;I<C.length;I++){var n=C[I],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\\\"min\\\"]),n.p2d(e[i+\\\"max\\\"])].sort(p)}}:function(t,e,r){var n=t.lassoPoints={};for(I=0;I<C.length;I++){var i=C[I];n[i._id]=r.filtered.map(d(i))}},a.moveFn=function(t,e){var r;M=Math.max(0,Math.min(T,t+_)),k=Math.max(0,Math.min(S,e+w));var n=Math.abs(M-_),o=Math.abs(k-w);for(\\\"select\\\"===s?(o<Math.min(.6*n,f)?(r=h([[_,0],[_,S],[M,S],[M,0]]),F.attr(\\\"d\\\",\\\"M\\\"+r.xmin+\\\",\\\"+(w-f)+\\\"h-4v\\\"+2*f+\\\"h4ZM\\\"+(r.xmax-1)+\\\",\\\"+(w-f)+\\\"h4v\\\"+2*f+\\\"h-4Z\\\")):n<Math.min(.6*o,f)?(r=h([[0,w],[0,k],[T,k],[T,w]]),F.attr(\\\"d\\\",\\\"M\\\"+(_-f)+\\\",\\\"+r.ymin+\\\"v-4h\\\"+2*f+\\\"v4ZM\\\"+(_-f)+\\\",\\\"+(r.ymax-1)+\\\"v4h\\\"+2*f+\\\"v-4Z\\\")):(r=h([[_,w],[_,k],[M,k],[M,w]]),F.attr(\\\"d\\\",\\\"M0,0Z\\\")),z.attr(\\\"d\\\",\\\"M\\\"+r.xmin+\\\",\\\"+r.ymin+\\\"H\\\"+(r.xmax-1)+\\\"V\\\"+(r.ymax-1)+\\\"H\\\"+r.xmin+\\\"Z\\\")):\\\"lasso\\\"===s&&(m.addPt([M,k]),r=h(m.filtered),z.attr(\\\"d\\\",\\\"M\\\"+m.filtered.join(\\\"L\\\")+\\\"Z\\\")),B=[],I=0;I<j.length;I++)O=j[I],[].push.apply(B,i(O.selectPoints(O,r),O));R={points:B},U(R,r,m),a.gd.emit(\\\"plotly_selecting\\\",R)},a.doneFn=function(t,e){if(F.remove(),t||2!==e)a.gd.emit(\\\"plotly_selected\\\",R);else{for(z.remove(),I=0;I<j.length;I++)O=j[I],O.selectPoints(O,!1);N.emit(\\\"plotly_deselect\\\",null)}}}},{\\\"../../components/color\\\":603,\\\"../../components/fx/helpers\\\":641,\\\"../../lib/polygon\\\":736,\\\"./axes\\\":766,\\\"./constants\\\":771}],783:[function(t,e,r){\\\"use strict\\\";function n(t){return Math.pow(10,t)}var i=t(\\\"d3\\\"),a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../../lib\\\"),s=o.cleanNumber,l=o.ms2DateTime,u=o.dateTime2ms,c=o.ensureNumber,h=t(\\\"../../constants/numerical\\\"),f=h.FP_SAFE,d=h.BADNUM,p=t(\\\"./constants\\\"),m=t(\\\"./axis_ids\\\");e.exports=function(t,e){function r(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],i=t.range[1];return.5*(n+i-3*M*Math.abs(n-i))}return d}function h(e,r,n){var i=u(e,n||t.calendar);if(i===d){if(!a(e))return d;i=u(new Date(+e))}return i}function v(e,r,n){return l(e,r,n||t.calendar)}function g(e){return t._categories[Math.round(e)]}function y(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(a(e))return+e}function x(e){return a(e)?i.round(t._b+t._m*e,2):d}function _(e){return(e-t._b)/t._m}e=e||{};var w=(t._id||\\\"x\\\").charAt(0),M=10;t.c2l=\\\"log\\\"===t.type?r:c,t.l2c=\\\"log\\\"===t.type?n:c,t.l2p=x,t.p2l=_,t.c2p=\\\"log\\\"===t.type?function(t,e){return x(r(t,e))}:x,t.p2c=\\\"log\\\"===t.type?function(t){return n(_(t))}:_,-1!==[\\\"linear\\\",\\\"-\\\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=_,t.cleanPos=c):\\\"log\\\"===t.type?(t.d2r=t.d2l=function(t,e){return r(s(t),e)},t.r2d=t.r2c=function(t){return n(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=c,t.c2r=r,t.l2d=n,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return n(_(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=_,t.cleanPos=c):\\\"date\\\"===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=h,t.c2d=t.c2r=t.l2d=t.l2r=v,t.d2p=t.r2p=function(e,r,n){return t.l2p(h(e,0,n))},t.p2d=t.p2r=function(t,e,r){return v(_(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):\\\"category\\\"===t.type&&(t.d2c=t.d2l=y,t.r2d=t.c2d=t.l2d=g,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return g(_(t))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(t){return\\\"string\\\"==typeof t&&\\\"\\\"!==t?t:c(t)}),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){e||(e=\\\"range\\\");var r,n,i=o.nestedProperty(t,e).get();if(n=\\\"date\\\"===t.type?o.dfltRange(t.calendar):\\\"y\\\"===w?p.DFLTRANGEY:p.DFLTRANGEX,n=n.slice(),!i||2!==i.length)return void o.nestedProperty(t,e).set(n);for(\\\"date\\\"===t.type&&(i[0]=o.cleanDate(i[0],d,t.calendar),i[1]=o.cleanDate(i[1],d,t.calendar)),r=0;r<2;r++)if(\\\"date\\\"===t.type){if(!o.isDateTime(i[r],t.calendar)){t[e]=n;break}if(t.r2l(i[0])===t.r2l(i[1])){var s=o.constrain(t.r2l(i[0]),o.MIN_MS+1e3,o.MAX_MS-1e3);i[0]=t.l2r(s-1e3),i[1]=t.l2r(s+1e3);break}}else{if(!a(i[r])){if(!a(i[1-r])){t[e]=n;break}i[r]=i[1-r]*(r?10:.1)}if(i[r]<-f?i[r]=-f:i[r]>f&&(i[r]=f),i[0]===i[1]){var l=Math.max(1,Math.abs(1e-6*i[0]));i[0]-=l,i[1]+=l}}},t.setScale=function(r){var n=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var i=m.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?\\\"_r\\\":\\\"range\\\",s=t.calendar;t.cleanRange(a);var l=t.r2l(t[a][0],s),u=t.r2l(t[a][1],s);if(\\\"y\\\"===w?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-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-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw o.notifier(\\\"Something went wrong with axis scaling\\\",\\\"long\\\"),e._replotting=!1,new Error(\\\"axis scaling\\\")},t.makeCalcdata=function(e,r){var n,i,a,o=\\\"date\\\"===t.type&&e[r+\\\"calendar\\\"];if(r in e)for(n=e[r],i=new Array(n.length),a=0;a<n.length;a++)i[a]=t.d2c(n[a],0,o);else{var s=r+\\\"0\\\"in e?t.d2c(e[r+\\\"0\\\"],0,o):0,l=e[\\\"d\\\"+r]?Number(e[\\\"d\\\"+r]):1;for(n=e[{x:\\\"y\\\",y:\\\"x\\\"}[r]],i=new Array(n.length),a=0;a<n.length;a++)i[a]=s+a*l}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=\\\"x\\\"===w?function(e){var r=e.x;return r>=t.range[0]&&r<=t.range[1]}:function(e){var r=e.y;return r>=t.range[0]&&r<=t.range[1]},t._min=[],t._max=[],t._separators=e.separators,delete t._minDtick,delete t._forceTick0}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,d3:121,\\\"fast-isnumeric\\\":130}],784:[function(t,e,r){\\\"use strict\\\";function n(t){var e=[\\\"showexponent\\\",\\\"showtickprefix\\\",\\\"showticksuffix\\\"],r=e.filter(function(e){return void 0!==t[e]}),n=function(e){return t[e]===t[r[0]]};if(r.every(n)||1===r.length)return t[r[0]]}var i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a,o){var s=n(t);if(r(\\\"tickprefix\\\")&&r(\\\"showtickprefix\\\",s),r(\\\"ticksuffix\\\")&&r(\\\"showticksuffix\\\",s),r(\\\"showticklabels\\\")){var l=o.font||{},u=e.color===t.color?e.color:l.color;i.coerceFont(r,\\\"tickfont\\\",{family:l.family,size:l.size,color:u}),r(\\\"tickangle\\\"),\\\"category\\\"!==a&&(r(\\\"tickformat\\\")||\\\"date\\\"===a||(r(\\\"showexponent\\\",s),r(\\\"exponentformat\\\"),r(\\\"separatethousands\\\")))}\\\"category\\\"===a||o.noHover||r(\\\"hoverformat\\\")}},{\\\"../../lib\\\":725}],785:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\\\"ticklen\\\"),s=n.coerce2(t,e,i,\\\"tickwidth\\\"),l=n.coerce2(t,e,i,\\\"tickcolor\\\",e.color);r(\\\"ticks\\\",a.outerTicks||o||s||l?\\\"outside\\\":\\\"\\\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\\\"../../lib\\\":725,\\\"./layout_attributes\\\":777}],786:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").ONEDAY;e.exports=function(t,e,r,o){var s=\\\"auto\\\";\\\"array\\\"!==t.tickmode||\\\"log\\\"!==o&&\\\"date\\\"!==o||(t.tickmode=\\\"auto\\\"),Array.isArray(t.tickvals)?s=\\\"array\\\":t.dtick&&(s=\\\"linear\\\");var l=r(\\\"tickmode\\\",s);if(\\\"auto\\\"===l)r(\\\"nticks\\\");else if(\\\"linear\\\"===l){var u=\\\"date\\\"===o?a:1,c=r(\\\"dtick\\\",u);if(n(c))e.dtick=c>0?Number(c):u;else if(\\\"string\\\"!=typeof c)e.dtick=u;else{var h=c.charAt(0),f=c.substr(1);f=n(f)?Number(f):0,(f<=0||!(\\\"date\\\"===o&&\\\"M\\\"===h&&f===Math.round(f)||\\\"log\\\"===o&&\\\"L\\\"===h||\\\"log\\\"===o&&\\\"D\\\"===h&&(1===f||2===f)))&&(e.dtick=u)}var d=\\\"date\\\"===o?i.dateTick0(e.calendar):0,p=r(\\\"tick0\\\",d);\\\"date\\\"===o?e.tick0=i.cleanDate(p,d):n(p)&&\\\"D1\\\"!==c&&\\\"D2\\\"!==c?e.tick0=Number(p):e.tick0=d}else{var m=r(\\\"tickvals\\\");void 0===m?e.tickmode=\\\"auto\\\":r(\\\"ticktext\\\")}}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],787:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plotly\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"./axes\\\"),l=/((x|y)([2-9]|[1-9][0-9]+)?)axis$/;e.exports=function(t,e,r,u){function c(e,r){function n(e,r,n){for(i=0;i<e.length;i++){var a=e[i];if(-1===o.indexOf(a.xref)&&-1===o.indexOf(a.yref)||r(t,i),n)return}}var i,o=[];for(o=[e._id,r._id],i=0;i<o.length;i++)s.doTicks(t,o[i],!0);n(v.annotations||[],a.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),n(v.shapes||[],a.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),n(v.images||[],a.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function h(t){var e=t.xaxis,r=t.yaxis;v._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.select(\\\".scatterlayer\\\").selectAll(\\\".points\\\");n.selectAll(\\\".point\\\").call(o.setPointGroupScale,1,1).call(o.hideOutsideRangePoints,t),n.selectAll(\\\".textpoint\\\").call(o.setTextPointsScale,1,1).call(o.hideOutsideRangePoints,t)}function f(e,r){var n,i,a,s=y[e.xaxis._id],l=y[e.yaxis._id],u=[];if(s){n=t._fullLayout[s.axisName],i=n._r,a=s.to,u[0]=(i[0]*(1-r)+r*a[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var h=i[1]-i[0],f=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[2]=e.xaxis._length*(1-r+r*f/h)}else u[0]=0,u[2]=e.xaxis._length;if(l){n=t._fullLayout[l.axisName],i=n._r,a=l.to,u[1]=(i[1]*(1-r)+r*a[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var d=i[1]-i[0],p=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[3]=e.yaxis._length*(1-r+r*p/d)}else u[1]=0,u[3]=e.yaxis._length;c(e.xaxis,e.yaxis);var m=e.xaxis,g=e.yaxis,b=!!s,x=!!l,_=b?m._length/u[2]:1,w=x?g._length/u[3]:1,M=b?u[0]:0,k=x?u[1]:0,A=b?u[0]/u[2]*m._length:0,T=x?u[1]/u[3]*g._length:0,S=m._offset-A,E=g._offset-T;v._defs.select(\\\"#\\\"+e.clipId+\\\"> rect\\\").call(o.setTranslate,M,k).call(o.setScale,1/_,1/w),e.plot.call(o.setTranslate,S,E).call(o.setScale,_,w).selectAll(\\\".points\\\").selectAll(\\\".point\\\").call(o.setPointGroupScale,1/_,1/w),e.plot.selectAll(\\\".points\\\").selectAll(\\\".textpoint\\\").call(o.setTextPointsScale,1/_,1/w)}function d(){for(var e={},r=0;r<b.length;r++){var n=t._fullLayout[y[b[r]].axisName],a=y[b[r]].to;e[n._name+\\\".range[0]\\\"]=a[0],e[n._name+\\\".range[1]\\\"]=a[1],n.range=a.slice()}return _&&_(),i.relayout(t,e).then(function(){for(var t=0;t<x.length;t++)h(x[t])})}function p(){for(var e={},r=0;r<b.length;r++){var n=t._fullLayout[b[r]+\\\"axis\\\"];e[n._name+\\\".range[0]\\\"]=n.range[0],e[n._name+\\\".range[1]\\\"]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t<x.length;t++)h(x[t])})}function m(){M=Date.now();for(var t=Math.min(1,(M-w)/r.duration),e=A(t),n=0;n<x.length;n++)f(x[n],e);M-w>r.duration?(d(),k=window.cancelAnimationFrame(m)):k=window.requestAnimationFrame(m)}var v=t._fullLayout,g=[],y=function(t){var e,r,n,i,a,o={};for(e in t)if(r=e.split(\\\".\\\"),n=r[0].match(l)){var s=n[1],u=s+\\\"axis\\\";if(i=v[u],a={},Array.isArray(t[e])?a.to=t[e].slice(0):Array.isArray(t[e].range)&&(a.to=t[e].range.slice(0)),!a.to)continue;a.axisName=u,a.length=i._length,g.push(s),o[s]=a}return o}(e),b=Object.keys(y),x=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var u=l.xaxis._id,c=l.yaxis._id,h=l.xaxis.range,f=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[u]?r[u].to:h,a=r[c]?r[c].to:f,h[0]===i[0]&&h[1]===i[1]&&f[0]===a[0]&&f[1]===a[1]||-1===e.indexOf(u)&&-1===e.indexOf(c)||s.push(l)}}return s}(v,b,y);if(!x.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(v.annotations||[],a.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),e(v.shapes||[],a.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),e(v.images||[],a.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(),!1;var _;u&&(_=u());var w,M,k,A=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(k),k=null,p()}),w=Date.now(),k=window.requestAnimationFrame(m),Promise.resolve()}},{\\\"../../components/drawing\\\":627,\\\"../../plotly\\\":761,\\\"../../registry\\\":844,\\\"./axes\\\":766,d3:121}],788:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(\\\"-\\\"===t.type){var r=t._id,n=r.charAt(0);-1!==r.indexOf(\\\"scene\\\")&&(r=n);var u=i(e,r,n);if(u){if(\\\"histogram\\\"===u.type&&n==={v:\\\"y\\\",h:\\\"x\\\"}[u.orientation||\\\"v\\\"])return void(t.type=\\\"linear\\\");var c=n+\\\"calendar\\\",h=u[c];if(o(u,n)){for(var f,d=a(u),p=[],m=0;m<e.length;m++)f=e[m],s.traceIs(f,\\\"box\\\")&&(f[n+\\\"axis\\\"]||n)===r&&(void 0!==f[d]?p.push(f[d][0]):void 0!==f.name?p.push(f.name):p.push(\\\"text\\\"),f[c]!==h&&(h=void 0));t.type=l(p,h)}else t.type=l(u[n]||[u[n+\\\"0\\\"]],h)}}}function i(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\\\"axis\\\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\\\"0\\\"])return i}}}function a(t){return{v:\\\"x\\\",h:\\\"y\\\"}[t.orientation||\\\"v\\\"]}function o(t,e){var r=a(t),n=s.traceIs(t,\\\"box\\\"),i=s.traceIs(t._fullInput||{},\\\"candlestick\\\");return n&&!i&&e===r&&void 0===t[r]&&void 0===t[r+\\\"0\\\"]}var s=t(\\\"../../registry\\\"),l=t(\\\"./axis_autotype\\\"),u=t(\\\"./axis_ids\\\").name2id;e.exports=function(t,e,r,i,a){a&&(e._name=a,e._id=u(a)),\\\"-\\\"===r(\\\"type\\\")&&(n(e,i),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type)}},{\\\"../../registry\\\":844,\\\"./axis_autotype\\\":767,\\\"./axis_ids\\\":769}],789:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i,a,o=!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=u.nestedProperty(n,e.prop).get(),a=r[e.type]=r[e.type]||{},a.hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(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()}]:[]}function a(t,e){var r=[],n=e[0],i={};if(\\\"string\\\"==typeof n)i[n]=e[1];else{if(!u.isPlainObject(n))return r;i=n}return s(i,function(t,e,n){r.push({type:\\\"layout\\\",prop:t,value:n})},\\\"\\\",0),r}function o(t,e){var r,n,i,a,o=[];if(n=e[0],i=e[1],r=e[2],a={},\\\"string\\\"==typeof n)a[n]=i;else{if(!u.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),s(a,function(e,n,i){var a;if(Array.isArray(i)){var s=Math.min(i.length,t.data.length);r&&(s=Math.min(s,r.length)),a=[];for(var l=0;l<s;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var u=i;i=[];for(var c=0;c<a.length;c++)i[c]=u}i.length=Math.min(a.length,i.length)}o.push({type:\\\"data\\\",prop:e,traces:a,value:i})},\\\"\\\",0),o}function s(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\\\"_\\\"!==i[0]){var o=r+(n>0?\\\".\\\":\\\"\\\")+i;u.isPlainObject(a)?s(a,e,o,n+1):e(o,i,a)}})}var l=t(\\\"../plotly\\\"),u=t(\\\"../lib\\\");r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&&e._commandObserver&&(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var l=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&&e._commandObserver){if(l)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(l){n(t,l,o.cache),o.check=function(){if(s){var e=n(t,l,o.cache);return e.changed&&a&&void 0!==o.lookupTable[e.value]&&(o.disable(),Promise.resolve(a({value:e.value,type:l.type,prop:l.prop,traces:l.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var c=[\\\"plotly_relayout\\\",\\\"plotly_redraw\\\",\\\"plotly_restyle\\\",\\\"plotly_update\\\",\\\"plotly_animatingframe\\\",\\\"plotly_afterplot\\\"],h=0;h<c.length;h++)t._internalOn(c[h],o.check);o.remove=function(){for(var e=0;e<c.length;e++)t._removeInternalListener(c[e],o.check)}}else u.warn(\\\"Unable to automatically bind plot updates to API command\\\"),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&&(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],u=l.method,c=l.args;if(Array.isArray(c)||(c=[]),!u)return!1;var h=r.computeAPICommandBindings(t,u,c);if(1!==h.length)return!1;if(a){if(s=h[0],s.type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==s.traces[f])return!1}else if(s.prop!==a.prop)return!1}else a=h[0],Array.isArray(a.traces)&&a.traces.sort();s=h[0];var d=s.value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&&(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){if(\\\"skip\\\"===e)return Promise.resolve();var n=l[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return u.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=o(t,r);break;case\\\"relayout\\\":n=a(t,r);break;case\\\"update\\\":n=o(t,[r[0],r[2]]).concat(a(t,[r[1]]));break;case\\\"animate\\\":n=i(t,r);break;default:n=[]}return n}},{\\\"../lib\\\":725,\\\"../plotly\\\":761}],790:[function(t,e,r){\\\"use strict\\\";e.exports={family:{valType:\\\"string\\\",noBlank:!0,strict:!0},size:{valType:\\\"number\\\",min:1},color:{valType:\\\"color\\\"}}},{}],791:[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\\\"}}},{}],792:[function(t,e,r){\\\"use strict\\\";var n=e.exports={};n.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\\\"},n.axesNames=[\\\"lonaxis\\\",\\\"lataxis\\\"],n.lonaxisSpan={orthographic:180,\\\"azimuthal equal area\\\":360,\\\"azimuthal equidistant\\\":360,\\\"conic conformal\\\":180,gnomonic:160,stereographic:180,\\\"transverse mercator\\\":180,\\\"*\\\":360},n.lataxisSpan={\\\"conic conformal\\\":150,stereographic:179.5,\\\"*\\\":180},n.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,80],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]}},n.clipPad=.001,n.precision=.1,n.landColor=\\\"#F0DC82\\\",n.waterColor=\\\"#3399FF\\\",n.locationmodeToLayer={\\\"ISO-3\\\":\\\"countries\\\",\\\"USA-states\\\":\\\"subunits\\\",\\\"country names\\\":\\\"countries\\\"},n.sphereSVG={type:\\\"Sphere\\\"},n.fillLayers=[\\\"ocean\\\",\\\"land\\\",\\\"lakes\\\"],n.lineLayers=[\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"rivers\\\",\\\"frame\\\"],n.baseLayers=[\\\"ocean\\\",\\\"land\\\",\\\"lakes\\\",\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"rivers\\\",\\\"lataxis\\\",\\\"lonaxis\\\",\\\"frame\\\"],n.layerNameToAdjective={ocean:\\\"ocean\\\",land:\\\"land\\\",lakes:\\\"lake\\\",subunits:\\\"subunit\\\",countries:\\\"country\\\",coastlines:\\\"coastline\\\",rivers:\\\"river\\\",frame:\\\"frame\\\"},n.baseLayersOverChoropleth=[\\\"rivers\\\",\\\"lakes\\\"]},{}],793:[function(t,e,r){\\\"use strict\\\";function n(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.topojsonName=null,this.topojson=null,this.projectionType=null,this.projection=null,this.clipAngle=null,this.setScale=null,this.path=null,this.zoom=null,this.zoomReset=null,this.makeFramework(),this.traceHash={}}function i(t,e,r){return u.geo.graticule().extent([[t[0],e[0]],[t[1],e[1]]]).step(r)}function a(t,e,r){var n=b.layerNameToAdjective[e];t.select(\\\".\\\"+e).selectAll(\\\"path\\\").attr(\\\"stroke\\\",\\\"none\\\").call(c.fill,r[n+\\\"color\\\"])}function o(t,e,r){var n=b.layerNameToAdjective[e];t.select(\\\".\\\"+e).selectAll(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").call(c.stroke,r[n+\\\"color\\\"]).call(h.dashLine,\\\"\\\",r[n+\\\"width\\\"])}function s(t,e,r){t.select(\\\".\\\"+e+\\\"graticule\\\").selectAll(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").call(c.stroke,r[e].gridcolor).call(h.dashLine,\\\"\\\",r[e].gridwidth)}function l(t){var e={type:\\\"linear\\\",showexponent:\\\"all\\\",exponentformat:p.layoutAttributes.exponentformat.dflt};return p.setConvert(e,t),e}var u=t(\\\"d3\\\"),c=t(\\\"../../components/color\\\"),h=t(\\\"../../components/drawing\\\"),f=t(\\\"../../components/fx\\\"),d=t(\\\"../plots\\\"),p=t(\\\"../cartesian/axes\\\"),m=t(\\\"./projections\\\"),v=t(\\\"./set_scale\\\"),g=t(\\\"./zoom\\\"),y=t(\\\"./zoom_reset\\\"),b=t(\\\"./constants\\\"),x=t(\\\"../../lib/topojson_utils\\\"),_=t(\\\"topojson-client\\\").feature;m(u),e.exports=n;var w=n.prototype;w.plot=function(t,e,r){var n,i,a=this,o=e[a.id],s=e._size;a.projection=null,a.setScale=v(o,s),a.makeProjection(o),a.makePath(),a.adjustLayout(o,s),a.zoom=g(a,o),a.zoomReset=y(a,o),a.mockAxis=l(e),a.framework.call(a.zoom).on(\\\"dblclick.zoom\\\",a.zoomReset),a.framework.on(\\\"mousemove\\\",function(){var t=u.mouse(this),e=a.projection.invert(t);if(e&&!isNaN(e[0])&&!isNaN(e[1])){var r=u.event;r.xpx=t[0],r.ypx=t[1],a.xaxis.c2p=function(){return t[0]},a.xaxis.p2c=function(){return e[0]},a.yaxis.c2p=function(){return t[1]},a.yaxis.p2c=function(){return e[1]},f.hover(a.graphDiv,r,a.id)}}),a.framework.on(\\\"mouseout\\\",function(){f.loneUnhover(e._toppaper)}),a.framework.on(\\\"click\\\",function(){f.click(a.graphDiv,u.event)}),n=x.getTopojsonName(o),null===a.topojson||n!==a.topojsonName?(a.topojsonName=n,void 0!==PlotlyGeoAssets.topojson[a.topojsonName]?(a.topojson=PlotlyGeoAssets.topojson[a.topojsonName],a.onceTopojsonIsLoaded(t,o)):(i=x.getTopojsonPath(a.topojsonURL,a.topojsonName),r.push(new Promise(function(e,r){u.json(i,function(n,s){if(n)return void r(404===n.status?new Error([\\\"plotly.js could not find topojson file at\\\",i,\\\".\\\",\\\"Make sure the *topojsonURL* plot config option\\\",\\\"is set properly.\\\"].join(\\\" \\\")):new Error([\\\"unexpected error while fetching topojson file at\\\",i].join(\\\" \\\")));a.topojson=s,PlotlyGeoAssets.topojson[a.topojsonName]=s,a.onceTopojsonIsLoaded(t,o),e()})})))):a.onceTopojsonIsLoaded(t,o)},w.onceTopojsonIsLoaded=function(t,e){this.drawLayout(e),d.generalUpdatePerTraceModule(this,t,e),this.render()},w.makeProjection=function(t){var e,r=t.projection,n=r.type,i=null===this.projection||n!==this.projectionType;i?(this.projectionType=n,e=this.projection=u.geo[b.projNames[n]]()):e=this.projection,e.translate(r._translate0).precision(b.precision),t._isAlbersUsa||e.rotate(r._rotate).center(r._center),t._clipAngle?(this.clipAngle=t._clipAngle,e.clipAngle(t._clipAngle-b.clipPad)):this.clipAngle=null,r.parallels&&e.parallels(r.parallels),i&&this.setScale(e),e.translate(r._translate).scale(r._scale)},w.makePath=function(){this.path=u.geo.path().projection(this.projection)},w.makeFramework=function(){var t=this.graphDiv._fullLayout,e=\\\"clip\\\"+t._uid+this.id,r=t._defs.selectAll(\\\"g.clips\\\").data([0]);r.enter().append(\\\"g\\\").classed(\\\"clips\\\",!0),(this.clipDef=r.selectAll(\\\"#\\\"+e).data([0])).enter().append(\\\"clipPath\\\").attr(\\\"id\\\",e).append(\\\"rect\\\");var n=this.framework=u.select(this.container).append(\\\"g\\\");n.attr(\\\"class\\\",\\\"geo \\\"+this.id).style(\\\"pointer-events\\\",\\\"all\\\").call(h.setClipUrl,e),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"bglayer\\\").append(\\\"rect\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"baselayer\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"choroplethlayer\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"baselayeroverchoropleth\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"scattergeolayer\\\"),n.on(\\\"dblclick.zoom\\\",null),this.xaxis={_id:\\\"x\\\"},this.yaxis={_id:\\\"y\\\"}},w.adjustLayout=function(t,e){var r=t.domain,n=e.l+e.w*r.x[0]+t._marginX,i=e.t+e.h*(1-r.y[1])+t._marginY;h.setTranslate(this.framework,n,i);var a={x:0,y:0,width:t._width,height:t._height};this.clipDef.select(\\\"rect\\\").attr(a),this.framework.select(\\\".bglayer\\\").select(\\\"rect\\\").attr(a).call(c.fill,t.bgcolor),this.xaxis._offset=n,this.xaxis._length=t._width,this.yaxis._offset=i,this.yaxis._length=t._height},w.drawTopo=function(t,e,r){if(!0===r[\\\"show\\\"+e]){var n=this.topojson,i=\\\"frame\\\"===e?b.sphereSVG:_(n,n.objects[e]);t.append(\\\"g\\\").datum(i).attr(\\\"class\\\",e).append(\\\"path\\\").attr(\\\"class\\\",\\\"basepath\\\")}},w.drawGraticule=function(t,e,r){var n=r[e];if(!0===n.showgrid){var a=b.scopeDefaults[r.scope],o=a.lonaxisRange,s=a.lataxisRange,l=\\\"lonaxis\\\"===e?[n.dtick]:[0,n.dtick],u=i(o,s,l);t.append(\\\"g\\\").datum(u).attr(\\\"class\\\",e+\\\"graticule\\\").append(\\\"path\\\").attr(\\\"class\\\",\\\"graticulepath\\\")}},w.drawLayout=function(t){var e,r=this.framework.select(\\\"g.baselayer\\\"),n=b.baseLayers,i=b.axesNames;r.selectAll(\\\"*\\\").remove();for(var a=0;a<n.length;a++)e=n[a],-1!==i.indexOf(e)?this.drawGraticule(r,e,t):this.drawTopo(r,e,t);this.styleLayout(t)},w.styleLayer=function(t,e,r){var n=b.fillLayers,i=b.lineLayers;-1!==n.indexOf(e)?a(t,e,r):-1!==i.indexOf(e)&&o(t,e,r)},w.styleLayout=function(t){for(var e,r=this.framework.select(\\\"g.baselayer\\\"),n=b.baseLayers,i=b.axesNames,a=0;a<n.length;a++)e=n[a],-1!==i.indexOf(e)?s(r,e,t):this.styleLayer(r,e,t)},w.isLonLatOverEdges=function(t){var e=this.clipAngle;if(null===e)return!1;var r=this.projection.rotate();return u.geo.distance(t,[-r[0],-r[1]])>e*Math.PI/180},w.render=function(){function t(t){var e=r.projection(t.lonlat);return e?\\\"translate(\\\"+e[0]+\\\",\\\"+e[1]+\\\")\\\":null}function e(t){return r.isLonLatOverEdges(t.lonlat)?\\\"0\\\":\\\"1.0\\\"}var r=this,n=r.framework,i=n.select(\\\"g.choroplethlayer\\\"),a=n.select(\\\"g.scattergeolayer\\\"),o=r.path;n.selectAll(\\\"path.basepath\\\").attr(\\\"d\\\",o),n.selectAll(\\\"path.graticulepath\\\").attr(\\\"d\\\",o),i.selectAll(\\\"path.choroplethlocation\\\").attr(\\\"d\\\",o),i.selectAll(\\\"path.basepath\\\").attr(\\\"d\\\",o),a.selectAll(\\\"path.js-line\\\").attr(\\\"d\\\",o),null!==r.clipAngle?(a.selectAll(\\\"path.point\\\").style(\\\"opacity\\\",e).attr(\\\"transform\\\",t),a.selectAll(\\\"text\\\").style(\\\"opacity\\\",e).attr(\\\"transform\\\",t)):(a.selectAll(\\\"path.point\\\").attr(\\\"transform\\\",t),a.selectAll(\\\"text\\\").attr(\\\"transform\\\",t))}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/fx\\\":644,\\\"../../lib/topojson_utils\\\":747,\\\"../cartesian/axes\\\":766,\\\"../plots\\\":829,\\\"./constants\\\":792,\\\"./projections\\\":800,\\\"./set_scale\\\":801,\\\"./zoom\\\":802,\\\"./zoom_reset\\\":803,d3:121,\\\"topojson-client\\\":535}],794:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./geo\\\"),i=t(\\\"../../plots/plots\\\");r.name=\\\"geo\\\",r.attr=\\\"geo\\\",r.idRoot=\\\"geo\\\",r.idRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=i.getSubplotIds(e,\\\"geo\\\");void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var o=0;o<a.length;o++){var s=a[o],l=i.getSubplotCalcData(r,\\\"geo\\\",s),u=e[s]._subplot;u||(u=new n({id:s,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL}),e[s]._subplot=u),u.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"geo\\\"),o=0;o<a.length;o++){var s=a[o],l=n[s]._subplot;!e[s]&&l&&(l.framework.remove(),l.clipDef.remove())}}},{\\\"../../plots/plots\\\":829,\\n\",\n       \"\\\"./geo\\\":793,\\\"./layout/attributes\\\":795,\\\"./layout/defaults\\\":798,\\\"./layout/layout_attributes\\\":799}],795:[function(t,e,r){\\\"use strict\\\";e.exports={geo:{valType:\\\"subplotid\\\",dflt:\\\"geo\\\"}}},{}],796:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\");e.exports={range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},showgrid:{valType:\\\"boolean\\\",dflt:!1},tick0:{valType:\\\"number\\\"},dtick:{valType:\\\"number\\\"},gridcolor:{valType:\\\"color\\\",dflt:n.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1}}},{\\\"../../../components/color/attributes\\\":602}],797:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib\\\"),i=t(\\\"../constants\\\"),a=t(\\\"./axis_attributes\\\");e.exports=function(t,e){function r(t,e){return n.coerce(o,s,a,t,e)}for(var o,s,l=i.axesNames,u=0;u<l.length;u++){var c=l[u];o=t[c]||{},s={};var h=function(t){var r,n,a,o,s,l,u=e.scope;return\\\"world\\\"===u?(r=e.projection,n=r.type,a=r.rotation,s=i[t+\\\"Span\\\"],l=void 0!==s[n]?s[n]/2:s[\\\"*\\\"]/2,o=\\\"lonaxis\\\"===t?a.lon:a.lat,[o-l,o+l]):i.scopeDefaults[u][t+\\\"Range\\\"]}(c),f=r(\\\"range\\\",h);n.noneOrAll(o.range,s.range,[0,1]),r(\\\"tick0\\\",f[0]),r(\\\"dtick\\\",\\\"lonaxis\\\"===c?30:10);r(\\\"showgrid\\\")&&(r(\\\"gridcolor\\\"),r(\\\"gridwidth\\\")),e[c]=s,e[c]._fullRange=h}}},{\\\"../../../lib\\\":725,\\\"../constants\\\":792,\\\"./axis_attributes\\\":796}],798:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i=r(\\\"scope\\\"),o=\\\"world\\\"!==i,l=a.scopeDefaults[i],u=r(\\\"resolution\\\"),c=r(\\\"projection.type\\\",l.projType),h=\\\"albers usa\\\"===c,f=-1!==c.indexOf(\\\"conic\\\");if(f){r(\\\"projection.parallels\\\",l.projParallels||[0,60])}if(h)e.scope=\\\"usa\\\";else{var d=l.projRotate||[0,0,0];r(\\\"projection.rotation.lon\\\",d[0]),r(\\\"projection.rotation.lat\\\",d[1]),r(\\\"projection.rotation.roll\\\",d[2]),n=r(\\\"showcoastlines\\\",!o),n&&(r(\\\"coastlinecolor\\\"),r(\\\"coastlinewidth\\\")),n=r(\\\"showocean\\\"),n&&r(\\\"oceancolor\\\")}r(\\\"projection.scale\\\"),n=r(\\\"showland\\\"),n&&r(\\\"landcolor\\\"),n=r(\\\"showlakes\\\"),n&&r(\\\"lakecolor\\\"),n=r(\\\"showrivers\\\"),n&&(r(\\\"rivercolor\\\"),r(\\\"riverwidth\\\")),n=r(\\\"showcountries\\\",o&&\\\"usa\\\"!==i),n&&(r(\\\"countrycolor\\\"),r(\\\"countrywidth\\\")),(\\\"usa\\\"===i||\\\"north america\\\"===i&&50===u)&&(r(\\\"showsubunits\\\",!0),r(\\\"subunitcolor\\\"),r(\\\"subunitwidth\\\")),o||(n=r(\\\"showframe\\\",!0))&&(r(\\\"framecolor\\\"),r(\\\"framewidth\\\")),r(\\\"bgcolor\\\"),s(t,e),e._isHighRes=50===u,e._clipAngle=a.lonaxisSpan[c]/2,e._isAlbersUsa=h,e._isConic=f,e._isScoped=o;var p=e.projection.rotation||{};e.projection._rotate=[-p.lon||0,-p.lat||0,p.roll||0]}var i=t(\\\"../../subplot_defaults\\\"),a=t(\\\"../constants\\\"),o=t(\\\"./layout_attributes\\\"),s=t(\\\"./axis_defaults\\\");e.exports=function(t,e,r){i(t,e,r,{type:\\\"geo\\\",attributes:o,handleDefaults:n,partition:\\\"y\\\"})}},{\\\"../../subplot_defaults\\\":836,\\\"../constants\\\":792,\\\"./axis_defaults\\\":797,\\\"./layout_attributes\\\":799}],799:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"../constants\\\"),a=t(\\\"./axis_attributes\\\");e.exports={domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},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,max:10,dflt:1}},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:a,lataxis:a}},{\\\"../../../components/color/attributes\\\":602,\\\"../constants\\\":792,\\\"./axis_attributes\\\":796}],800:[function(t,e,r){\\\"use strict\\\";function n(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(!S.hasOwnProperty(e.type))return null;var i=S[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}function a(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],u=l[0],c=l[1],h=t[s],f=h[0],d=h[1];c>n^d>n&&r<(f-u)*(n-c)/(d-c)+u&&(i=!i)}return i}function o(t){return t?t/Math.sin(t):1}function s(t){return t>1?z:t<-1?-z:Math.asin(t)}function l(t){return t>1?0:t<-1?C:Math.acos(t)}function u(t,e){var r=(2+z)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>E;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(C*(4+C))*t*(1+Math.cos(e)),2*Math.sqrt(C/(4+C))*Math.sin(e)]}function c(t,e){function r(r,n){var i=R(r/e,n);return i[0]*=t,i}return arguments.length<2&&(e=t),1===e?R:e===1/0?f:(r.invert=function(r,n){var i=R.invert(r/t,n);return i[0]*=e,i},r)}function h(){var t=2,e=O(c),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}function f(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function d(t,e){return[3*t/(2*C)*Math.sqrt(C*C/3-e*e),e]}function p(t,e){return[t,1.25*Math.log(Math.tan(C/4+.4*e))]}function m(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>E&&--i>0);return e/2}}function v(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)))]}function g(t,e){var r,n=Math.min(18,36*Math.abs(e)/C),i=Math.floor(n),a=n-i,o=(r=j[i])[0],s=r[1],l=(r=j[++i])[0],u=r[1],c=(r=j[Math.min(19,++i)])[0],h=r[1];return[t*(l+a*(c-o)/2+a*a*(c-2*l+o)/2),(e>0?z:-z)*(u+a*(h-s)/2+a*a*(h-2*u+s)/2)]}function y(t,e){return[t*Math.cos(e),e]}function b(t,e){var r=Math.cos(e),n=o(l(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function x(t,e){var r=b(t,e);return[(r[0]+t/z)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(\\\"not yet supported\\\");return(t&&_.hasOwnProperty(t.type)?_[t.type]:r)(t,n)};var _={Feature:e,FeatureCollection:function(t,r){return{type:\\\"FeatureCollection\\\",features:t.features.map(function(t){return e(t,r)})}}},w=[],M=[],k={point:function(t,e){w.push([t,e])},result:function(){var t=w.length?w.length<2?{type:\\\"Point\\\",coordinates:w[0]}:{type:\\\"MultiPoint\\\",coordinates:w}:null;return w=[],t}},A={lineStart:n,point:function(t,e){w.push([t,e])},lineEnd:function(){w.length&&(M.push(w),w=[])},result:function(){var t=M.length?M.length<2?{type:\\\"LineString\\\",coordinates:M[0]}:{type:\\\"MultiLineString\\\",coordinates:M}:null;return M=[],t}},T={polygonStart:n,lineStart:n,point:function(t,e){w.push([t,e])},lineEnd:function(){var t=w.length;if(t){do{w.push(w[0].slice())}while(++t<4);M.push(w),w=[]}},polygonEnd:n,result:function(){if(!M.length)return null;var t=[],e=[];return M.forEach(function(r){i(r)?t.push([r]):e.push(r)}),e.forEach(function(e){var r=e[0];t.some(function(t){if(a(t[0],r))return t.push(e),!0})||t.push([e])}),M=[],t.length?t.length>1?{type:\\\"MultiPolygon\\\",coordinates:t}:{type:\\\"Polygon\\\",coordinates:t[0]}:null}},S={Point:k,MultiPoint:k,LineString:A,MultiLineString:A,Polygon:T,MultiPolygon:T,Sphere:T},E=1e-6,L=E*E,C=Math.PI,z=C/2,I=(Math.sqrt(C),C/180),D=180/C,P=t.geo.projection,O=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r<0?-1:1,i=l[+(r<0)],a=0,o=i.length-1;a<o&&t>i[a][2][0];++a);var s=e(t-i[a][1][0],r);return s[0]+=e(i[a][1][0],n*r>n*i[a][0][1]?i[a][0][1]:r)[0],s}function n(){s=l.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})})}function i(){for(var e=1e-6,r=[],n=0,i=l[0].length;n<i;++n){var o=l[0][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[s+e,u+e],[s+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var n=l[1].length-1;n>=0;--n){var o=l[1][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[h-e,f-e],[h-e,c+e],[s+e,c+e],[s+e,u-e]],30))}return{type:\\\"Polygon\\\",coordinates:[t.merge(r)]}}function a(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){r=t[a],n=(r[0]-s[0])/e,i=(r[1]-s[1])/e;for(var u=0;u<e;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function o(t,e){return Math.abs(t[0]-e[0])<E&&Math.abs(t[1]-e[1])<E}var s,l=[[[[-C,0],[0,z],[C,0]]],[[[-C,0],[0,-z],[C,0]]]];e.invert&&(r.invert=function(t,n){for(var i=s[+(n<0)],a=l[+(n<0)],u=0,c=i.length;u<c;++u){var h=i[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=n&&n<h[1][1]){var f=e.invert(t-e(a[u][1][0],0)[0],n);return f[0]+=a[u][1][0],o(r(f[0],f[1]),[t,n])?f:null}}});var u=t.geo.projection(r),c=u.stream;return u.stream=function(e){var r=u.rotate(),n=c(e),a=(u.rotate([0,0]),c(e));return u.rotate(r),n.sphere=function(){t.geo.stream(i(),a)},n},u.lobes=function(t){return arguments.length?(l=t.map(function(t){return t.map(function(t){return[[t[0][0]*C/180,t[0][1]*C/180],[t[1][0]*C/180,t[1][1]*C/180],[t[2][0]*C/180,t[2][1]*C/180]]})}),n(),u):l.map(function(t){return t.map(function(t){return[[180*t[0][0]/C,180*t[0][1]/C],[180*t[1][0]/C,180*t[1][1]/C],[180*t[2][0]/C,180*t[2][1]/C]]})})},u},u.invert=function(t,e){var r=.5*e*Math.sqrt((4+C)/C),n=s(r),i=Math.cos(n);return[t/(2/Math.sqrt(C*(4+C))*(1+i)),s((n+r*(i+2))/(2+z))]},(t.geo.eckert4=function(){return P(u)}).raw=u;var R=t.geo.azimuthalEqualArea.raw;f.invert=function(t,e){var r=2*s(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=h).raw=c,d.invert=function(t,e){return[2/3*C*t/Math.sqrt(C*C/3-e*e),e]},(t.geo.kavrayskiy7=function(){return P(d)}).raw=d,p.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*C]},(t.geo.miller=function(){return P(p)}).raw=p;var F=(m(C),function(t,e,r){function n(r,n){return[t*r*Math.cos(n=i(n)),e*Math.sin(n)]}var i=m(r);return n.invert=function(n,i){var a=s(i/e);return[n/(t*Math.cos(a)),s((2*a+Math.sin(2*a))/r)]},n}(Math.SQRT2/z,Math.SQRT2,C));(t.geo.mollweide=function(){return P(F)}).raw=F,v.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>E&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return P(v)}).raw=v;var j=[[.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]];j.forEach(function(t){t[1]*=1.0144}),g.invert=function(t,e){var r=e/z,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=j[a][1],s=j[a+1][1],l=j[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,f=c/u,d=h*(1-f*h*(1-2*f*h));if(d>=0||1===a){n=(e>=0?5:-5)*(d+i);var p,m=50;do{i=Math.min(18,Math.abs(n)/5),a=Math.floor(i),d=i-a,o=j[a][1],s=j[a+1][1],l=j[Math.min(19,a+2)][1],n-=(p=(e>=0?z:-z)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*D}while(Math.abs(p)>L&&--m>0);break}}while(--a>=0);var v=j[a][0],g=j[a+1][0],y=j[Math.min(19,a+2)][0];return[t/(g+d*(y-v)/2+d*d*(y-2*g+v)/2),n*I]},(t.geo.robinson=function(){return P(g)}).raw=g,y.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return P(y)}).raw=y,b.invert=function(t,e){if(!(t*t+4*e*e>C*C+E)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),u=Math.cos(r/2),c=Math.sin(n),h=Math.cos(n),f=Math.sin(2*n),d=c*c,p=h*h,m=s*s,v=1-p*u*u,g=v?l(h*u)*Math.sqrt(a=1/v):a=0,y=2*g*h*s-t,b=g*c-e,x=a*(p*m+g*h*u*d),_=a*(.5*o*f-2*g*c*s),w=.25*a*(f*s-g*c*p*o),M=a*(d*u+g*m*h),k=_*w-M*x;if(!k)break;var A=(b*_-y*M)/k,T=(y*w-b*x)/k;r-=A,n-=T}while((Math.abs(A)>E||Math.abs(T)>E)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return P(b)}).raw=b,x.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),u=Math.sin(2*n),c=s*s,h=o*o,f=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),m=p*p,v=1-h*d*d,g=v?l(o*d)*Math.sqrt(a=1/v):a=0,y=.5*(2*g*o*p+r/z)-t,b=.5*(g*s+n)-e,x=.5*a*(h*m+g*o*d*c)+.5/z,_=a*(f*u/4-g*s*p),w=.125*a*(u*p-g*s*h*f),M=.5*a*(c*d+g*m*o)+.5,k=_*w-M*x,A=(b*_-y*M)/k,T=(y*w-b*x)/k;r-=A,n-=T}while((Math.abs(A)>E||Math.abs(T)>E)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return P(x)}).raw=x}e.exports=n},{}],801:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.projection,n=t.lonaxis,o=t.lataxis,l=t.domain,u=t.framewidth||0,c=e.w*(l.x[1]-l.x[0]),h=e.h*(l.y[1]-l.y[0]),f=n.range[0]+s,d=n.range[1]-s,p=o.range[0]+s,m=o.range[1]-s,v=n._fullRange[0]+s,g=n._fullRange[1]-s,y=o._fullRange[0]+s,b=o._fullRange[1]-s;r._translate0=[e.l+c/2,e.t+h/2];var x=d-f,_=m-p,w=[f+x/2,p+_/2],M=r._rotate;return r._center=[w[0]+M[0],w[1]+M[1]],function(e){function n(t){return Math.min(_*c/(t[1][0]-t[0][0]),_*h/(t[1][1]-t[0][1]))}var o,s,l,x,_=e.scale(),w=r._translate0,M=i(f,p,d,m),k=i(v,y,g,b);l=a(e,M),o=n(l),x=a(e,k),r._fullScale=n(x),e.scale(o),l=a(e,M),s=[w[0]-l[0][0]+u,w[1]-l[0][1]+u],r._translate=s,e.translate(s),l=a(e,M),t._isAlbersUsa||e.clipExtent(l),o=r.scale*o,r._scale=o,t._width=Math.round(l[1][0])+u,t._height=Math.round(l[1][1])+u,t._marginX=(c-Math.round(l[1][0]))/2,t._marginY=(h-Math.round(l[1][1]))/2}}function i(t,e,r,n){var i=(r-t)/4;return{type:\\\"Polygon\\\",coordinates:[[[t,e],[t,n],[t+i,n],[t+2*i,n],[t+3*i,n],[r,n],[r,e],[r-i,e],[r-2*i,e],[r-3*i,e],[t,e]]]}}function a(t,e){return o.geo.path().projection(t).bounds(e)}var o=t(\\\"d3\\\"),s=t(\\\"./constants\\\").clipPad;e.exports=n},{\\\"./constants\\\":792,d3:121}],802:[function(t,e,r){\\\"use strict\\\";function n(t,e){return(e._isScoped?a:e._clipAngle?s:o)(t,e.projection)}function i(t,e){var r=e._fullScale;return _.behavior.zoom().translate(t.translate()).scale(t.scale()).scaleExtent([.5*r,100*r])}function a(t,e){function r(){_.select(this).style(k)}function n(){o.scale(_.event.scale).translate(_.event.translate),t.render()}function a(){_.select(this).style(A)}var o=t.projection,s=i(o,e);return s.on(\\\"zoomstart\\\",r).on(\\\"zoom\\\",n).on(\\\"zoomend\\\",a),s}function o(t,e){function r(t){return v.invert(t)}function n(t){var e=v(r(t));return Math.abs(e[0]-t[0])>y||Math.abs(e[1]-t[1])>y}function a(){_.select(this).style(k),l=_.mouse(this),u=v.rotate(),c=v.translate(),h=u,f=r(l)}function o(){if(d=_.mouse(this),n(l))return g.scale(v.scale()),void g.translate(v.translate());v.scale(_.event.scale),v.translate([c[0],_.event.translate[1]]),f?r(d)&&(m=r(d),p=[h[0]+(m[0]-f[0]),u[1],u[2]],v.rotate(p),h=p):(l=d,f=r(l)),t.render()}function s(){_.select(this).style(A)}var l,u,c,h,f,d,p,m,v=t.projection,g=i(v,e),y=2;return g.on(\\\"zoomstart\\\",a).on(\\\"zoom\\\",o).on(\\\"zoomend\\\",s),g}function s(t,e){function r(t){g++||t({type:\\\"zoomstart\\\"})}function n(t){t({type:\\\"zoom\\\"})}function a(t){--g||t({type:\\\"zoomend\\\"})}var o,s=t.projection,d={r:s.rotate(),k:s.scale()},p=i(s,e),m=x(p,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\"),g=0,y=p.on;return p.on(\\\"zoomstart\\\",function(){_.select(this).style(k);var t=_.mouse(this),e=s.rotate(),i=e,a=s.translate(),g=u(e);o=l(s,t),y.call(p,\\\"zoom\\\",function(){var r=_.mouse(this);if(s.scale(d.k=_.event.scale),o){if(l(s,r)){s.rotate(e).translate(a);var u=l(s,r),p=h(o,u),y=v(c(g,p)),b=d.r=f(y,o,i);isFinite(b[0])&&isFinite(b[1])&&isFinite(b[2])||(b=i),s.rotate(b),i=b}}else t=r,o=l(s,t);n(m.of(this,arguments))}),r(m.of(this,arguments))}).on(\\\"zoomend\\\",function(){_.select(this).style(A),y.call(p,\\\"zoom\\\",null),a(m.of(this,arguments))}).on(\\\"zoom.redraw\\\",function(){t.render()}),_.rebind(p,m,\\\"on\\\")}function l(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&g(r)}function u(t){var e=.5*t[0]*w,r=.5*t[1]*w,n=.5*t[2]*w,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function c(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],u=e[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function h(t,e){if(t&&e){var r=b(t,e),n=Math.sqrt(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function f(t,e,r){var n=m(e,2,t[0]);n=m(n,1,t[1]),n=m(n,0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],c=n[1],h=n[2],f=Math.atan2(s,o)*M,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*M-f,i=Math.sqrt(p*p-c*c));var v=180-a-2*f,g=(Math.atan2(h,u)-Math.atan2(l,i))*M,y=(Math.atan2(h,u)-Math.atan2(l,-i))*M;return d(r[0],r[1],a,g)<=d(r[0],r[1],v,y)?[a,g,r[2]]:[v,y,r[2]]}function d(t,e,r,n){var i=p(r-t),a=p(n-e);return Math.sqrt(i*i+a*a)}function p(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*w,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function v(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*M,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*M,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*M]}function g(t){var e=t[0]*w,r=t[1]*w,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}function b(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 x(t){for(var e=0,r=arguments.length,n=[];++e<r;)n.push(arguments[e]);var i=_.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=_.event,n.target=t,_.event=n,i[n.type].apply(e,r)}finally{_.event=a}}},i}var _=t(\\\"d3\\\"),w=Math.PI/180,M=180/Math.PI,k={cursor:\\\"pointer\\\"},A={cursor:\\\"auto\\\"};e.exports=n},{d3:121}],803:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t.projection,n=t.zoom;return function(){t.makeProjection(e),t.makePath(),n.scale(r.scale()),n.translate(r.translate()),t.render()}}},{}],804:[function(t,e,r){\\\"use strict\\\";function n(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]}function i(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function r(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}function i(n,i,a){function o(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(f[e]=i,f[e+2]=a,h.dataBox=f,t.setRanges(f)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var s,u,f=t.calcDataBox(),d=c.viewBox,p=h.lastPos[0],m=h.lastPos[1],v=l.MINDRAG*c.pixelRatio,g=l.MINZOOM*c.pixelRatio;switch(i*=c.pixelRatio,a*=c.pixelRatio,a=d[3]-d[1]-a,t.fullLayout.dragmode){case\\\"zoom\\\":if(n){var y=i/(d[2]-d[0])*(f[2]-f[0])+f[0],b=a/(d[3]-d[1])*(f[3]-f[1])+f[1];h.boxInited||(h.boxStart[0]=y,h.boxStart[1]=b,h.dragStart[0]=i,h.dragStart[1]=a),h.boxEnd[0]=y,h.boxEnd[1]=b,h.boxInited=!0,h.boxEnabled||h.boxStart[0]===h.boxEnd[0]&&h.boxStart[1]===h.boxEnd[1]||(h.boxEnabled=!0);var x=Math.abs(h.dragStart[0]-i)<g,_=Math.abs(h.dragStart[1]-a)<g;if(!r()||x&&_)x&&(h.boxEnd[0]=h.boxStart[0]),_&&(h.boxEnd[1]=h.boxStart[1]);else{s=h.boxEnd[0]-h.boxStart[0],u=h.boxEnd[1]-h.boxStart[1];var w=(f[3]-f[1])/(f[2]-f[0]);Math.abs(s*w)>Math.abs(u)?(h.boxEnd[1]=h.boxStart[1]+Math.abs(s)*w*(u>=0?1:-1),h.boxEnd[1]<f[1]?(h.boxEnd[1]=f[1],h.boxEnd[0]=h.boxStart[0]+(f[1]-h.boxStart[1])/Math.abs(w)):h.boxEnd[1]>f[3]&&(h.boxEnd[1]=f[3],h.boxEnd[0]=h.boxStart[0]+(f[3]-h.boxStart[1])/Math.abs(w))):(h.boxEnd[0]=h.boxStart[0]+Math.abs(u)/w*(s>=0?1:-1),h.boxEnd[0]<f[0]?(h.boxEnd[0]=f[0],h.boxEnd[1]=h.boxStart[1]+(f[0]-h.boxStart[0])*Math.abs(w)):h.boxEnd[0]>f[2]&&(h.boxEnd[0]=f[2],h.boxEnd[1]=h.boxStart[1]+(f[2]-h.boxStart[0])*Math.abs(w)))}}else h.boxEnabled?(s=h.boxStart[0]!==h.boxEnd[0],u=h.boxStart[1]!==h.boxEnd[1],s||u?(s&&(o(0,h.boxStart[0],h.boxEnd[0]),t.xaxis.autorange=!1),u&&(o(1,h.boxStart[1],h.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),h.boxEnabled=!1,h.boxInited=!1):h.boxInited&&(h.boxInited=!1);break;case\\\"pan\\\":h.boxEnabled=!1,h.boxInited=!1,n?(h.panning||(h.dragStart[0]=i,h.dragStart[1]=a),Math.abs(h.dragStart[0]-i)<v&&(i=h.dragStart[0]),Math.abs(h.dragStart[1]-a)<v&&(a=h.dragStart[1]),s=(p-i)*(f[2]-f[0])/(c.viewBox[2]-c.viewBox[0]),u=(m-a)*(f[3]-f[1])/(c.viewBox[3]-c.viewBox[1]),f[0]+=s,f[2]+=s,f[1]+=u,f[3]+=u,t.setRanges(f),h.panning=!0,h.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations()):h.panning&&(h.panning=!1,t.relayoutCallback())}h.lastPos[0]=i,h.lastPos[1]=a}var u=t.mouseContainer,c=t.glplot,h=new n(u,c);return h.mouseListener=a(u,i),u.addEventListener(\\\"touchstart\\\",function(t){var e=s(t.changedTouches[0],u);i(0,e[0],e[1]),i(1,e[0],e[1])}),u.addEventListener(\\\"touchmove\\\",function(t){t.preventDefault();var e=s(t.changedTouches[0],u);i(1,e[0],e[1])}),u.addEventListener(\\\"touchend\\\",function(){i(0,h.lastPos[0],h.lastPos[1])}),h.wheelListener=o(u,function(r,n){var i=t.calcDataBox(),a=c.viewBox,o=h.lastPos[0],s=h.lastPos[1];switch(t.fullLayout.dragmode){case\\\"zoom\\\":break;case\\\"pan\\\":var l=Math.exp(.1*n/(a[3]-a[1])),u=o/(a[2]-a[0])*(i[2]-i[0])+i[0],f=s/(a[3]-a[1])*(i[3]-i[1])+i[1];i[0]=(i[0]-u)*l+u,i[2]=(i[2]-u)*l+u,i[1]=(i[1]-f)*l+f,i[3]=(i[3]-f)*l+f,t.setRanges(i),h.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback()}return!0}),h}var a=t(\\\"mouse-change\\\"),o=t(\\\"mouse-wheel\\\"),s=t(\\\"mouse-event-offset\\\"),l=t(\\\"../cartesian/constants\\\");e.exports=i},{\\\"../cartesian/constants\\\":771,\\\"mouse-change\\\":451,\\\"mouse-event-offset\\\":452,\\\"mouse-wheel\\\":454}],805:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t){return new n(t)}var a=t(\\\"../plots\\\"),o=t(\\\"../cartesian/axes\\\"),s=t(\\\"../../lib/html2unicode\\\"),l=t(\\\"../../lib/str2rgbarray\\\"),u=n.prototype,c=[\\\"xaxis\\\",\\\"yaxis\\\"];u.merge=function(t){this.titleEnable=!1,this.backgroundColor=l(t.plot_bgcolor);var e,r,n,i,a,o,u,h,f,d,p;for(d=0;d<2;++d){for(e=c[d],r=t[this.scene[e]._name],n=/Click to enter .+ title/.test(r.title)?\\\"\\\":r.title,p=0;p<=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=s(n),this.labelColor[d+p]=l(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=l((r.tickfont||{}).color),this.tickAngle[d+p]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=l(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=l(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!u,o=this.hasAxisInAltrPos(e,r)&&!u,i=r.mirror||!1,h=u?-1!==String(i).indexOf(\\\"all\\\"):!!i,f=u?\\\"allticks\\\"===i:-1!==String(i).indexOf(\\\"ticks\\\"),a?this.labelEnable[d]=!0:o&&(this.labelEnable[d+2]=!0),a?this.tickEnable[d]=r.showticklabels:o&&(this.tickEnable[d+2]=r.showticklabels),(a||h)&&(this.borderLineEnable[d]=r.showline),(o||h)&&(this.borderLineEnable[d+2]=r.showline),(a||f)&&(this.tickMarkLength[d]=this.getTickMarkLength(r)),(o||f)&&(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=l(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=l(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},u.hasSharedAxis=function(t){var e=this.scene,r=a.getSubplotIds(e.fullLayout,\\\"gl2d\\\");return 0!==o.findSubplotsWithAxis(r,t).indexOf(e.id)},u.hasAxisInDfltPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"bottom\\\"===r:\\\"yaxis\\\"===t?\\\"left\\\"===r:void 0},u.hasAxisInAltrPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"top\\\"===r:\\\"yaxis\\\"===t?\\\"right\\\"===r:void 0},u.getLabelPad=function(t,e){var r=e.titlefont.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},u.getTickPad=function(t){return\\\"outside\\\"===t.ticks?10+t.ticklen:15},u.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\\\"inside\\\"===t.ticks?-e:e},e.exports=i},{\\\"../../lib/html2unicode\\\":723,\\\"../../lib/str2rgbarray\\\":744,\\\"../cartesian/axes\\\":766,\\\"../plots\\\":829}],806:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scene2d\\\"),i=t(\\\"../plots\\\"),a=t(\\\"../../constants/xmlns_namespaces\\\"),o=t(\\\"../cartesian/constants\\\"),s=t(\\\"../cartesian\\\");r.name=\\\"gl2d\\\",r.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],r.idRoot=[\\\"x\\\",\\\"y\\\"],r.idRegex=o.idRegex,r.attrRegex=o.attrRegex,r.attributes=t(\\\"../cartesian/attributes\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,a=i.getSubplotIds(e,\\\"gl2d\\\"),o=0;o<a.length;o++){var s=a[o],l=e._plots[s],u=i.getSubplotData(r,\\\"gl2d\\\",s),c=l._scene2d;void 0===c&&(c=new n({id:s,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),l._scene2d=c),c.plot(u,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"gl2d\\\"),o=0;o<a.length;o++){var l=a[o],u=n._plots[l];if(u._scene2d){0===i.getSubplotData(t,\\\"gl2d\\\",l).length&&(u._scene2d.destroy(),delete n._plots[l])}}s.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||s.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=i.getSubplotIds(e,\\\"gl2d\\\"),n=0;n<r.length;n++){var o=e._plots[r[n]],s=o._scene2d,l=s.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:a.svg,\\\"xlink:href\\\":l,x:0,y:0,width:\\\"100%\\\",height:\\\"100%\\\",preserveAspectRatio:\\\"none\\\"}),s.destroy()}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../cartesian\\\":776,\\\"../cartesian/attributes\\\":765,\\\"../cartesian/constants\\\":771,\\\"../plots\\\":829,\\\"./scene2d\\\":807}],807:[function(t,e,r){\\\"use strict\\\";function n(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.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=p(this),this.glplotOptions.merge(e),this.glplot=c(this.glplotOptions),this.camera=m(this),this.traces={},this.spikes=h(this.glplot),this.selectBox=f(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.bounds=[1/0,1/0,-1/0,-1/0],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}function i(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1}var a,o,s=t(\\\"../../registry\\\"),l=t(\\\"../../plots/cartesian/axes\\\"),u=t(\\\"../../components/fx\\\"),c=t(\\\"gl-plot2d\\\"),h=t(\\\"gl-spikes2d\\\"),f=t(\\\"gl-select-box\\\"),d=t(\\\"webgl-context\\\"),p=t(\\\"./convert\\\"),m=t(\\\"./camera\\\"),v=t(\\\"../../lib/html2unicode\\\"),g=t(\\\"../../lib/show_no_webgl_msg\\\"),y=t(\\\"../../plots/cartesian/constraints\\\"),b=y.enforce,x=y.clean,_=[\\\"xaxis\\\",\\\"yaxis\\\"];e.exports=n;var w=n.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(o||(a=document.createElement(\\\"canvas\\\"),o=d({canvas:a,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"Error creating static canvas/context for image server\\\");this.canvas=a,this.gl=o}else{var t=document.createElement(\\\"canvas\\\"),e=d({canvas:t,premultipliedAlpha:!0});e||g(this),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 n=this.svgContainer=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");n.style.position=\\\"absolute\\\",n.style.top=n.style.left=\\\"0px\\\",n.style.width=n.style.height=\\\"100%\\\",n.style[\\\"z-index\\\"]=20,n.style[\\\"pointer-events\\\"]=\\\"none\\\";var i=this.mouseContainer=document.createElement(\\\"div\\\");i.style.position=\\\"absolute\\\",i.style[\\\"pointer-events\\\"]=\\\"auto\\\";var s=this.container;s.appendChild(r),s.appendChild(n),s.appendChild(i);var l=this;i.addEventListener(\\\"mouseout\\\",function(){l.isMouseOver=!1,l.unhover()}),i.addEventListener(\\\"mouseover\\\",function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t=\\\"png\\\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(a),this.updateSize(this.canvas),this.glplot.setDirty(),this.glplot.draw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=n-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var u=0;u<4;++u){var c=i[4*(r*o+l)+u];i[4*(r*o+l)+u]=i[4*(r*s+l)+u],i[4*(r*s+l)+u]=c}var h=document.createElement(\\\"canvas\\\");h.width=r,h.height=n;var f=h.getContext(\\\"2d\\\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\\\"jpeg\\\":p=h.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":p=h.toDataURL(\\\"image/webp\\\");break;default:p=h.toDataURL(\\\"image/png\\\")}return this.staticPlot&&this.container.removeChild(a),p},w.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),this.redraw&&this.redraw(),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[l.calcTicks(this.xaxis),l.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=v(t[e][r].text+\\\"\\\");return t},w.updateRefs=function(t){this.fullLayout=t;var e=l.subplotMatch,r=\\\"xaxis\\\"+this.id.match(e)[1],n=\\\"yaxis\\\"+this.id.match(e)[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\\\"plotly_relayout\\\",i)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks()\\n\",\n       \";i(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.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&&s.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")(t,r)}},w.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.staticPlot||this.container.removeChild(this.canvas),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}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};x(s,this.xaxis),x(s,this.yaxis);var u=r._size,c=this.xaxis.domain,h=this.yaxis.domain;o.viewBox=[u.l+c[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-c[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(c[1]-c[0])+\\\"px\\\",this.mouseContainer.style.height=u.h*(h[1]-h[0])+\\\"px\\\",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+c[0]*u.w+\\\"px\\\",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+\\\"px\\\";var f=this.bounds;f[0]=f[1]=1/0,f[2]=f[3]=-1/0;var d,p,m=Object.keys(this.traces);for(p=0;p<m.length;++p)for(var v=this.traces[m[p]],g=0;g<2;++g)f[g]=Math.min(f[g],v.bounds[g]),f[g+2]=Math.max(f[g+2],v.bounds[g+2]);for(p=0;p<2;++p)f[p]>f[p+2]&&(f[p]=-1,f[p+2]=1),d=this[_[p]],d._length=o.viewBox[p+2]-o.viewBox[p],l.doAutoRange(d),d.setScale();b(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},w.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},w.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if(i=t[n],i.uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},w.updateFx=function(t){this.mouseContainer.style[\\\"pointer-events\\\"]=\\\"lasso\\\"===t||\\\"select\\\"===t?\\\"none\\\":\\\"auto\\\",this.mouseContainer.style.cursor=\\\"pan\\\"===t?\\\"move\\\":\\\"zoom\\\"===t?\\\"crosshair\\\":null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};u.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},w.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,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\\\"zoom\\\"===i.dragmode){this.selectBox.enabled=!0;for(var l=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])],c=0;c<2;c++)e.boxStart[c]===e.boxEnd[c]&&(l[c]=t.dataBox[c],l[c+2]=t.dataBox[c+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var h=i._size,f=this.xaxis.domain,d=this.yaxis.domain;a=t.pick(o/t.pixelRatio+h.l+f[0]*h.w,s/t.pixelRatio-(h.t+(1-d[1])*h.h));var p=a&&a.object._trace.handlePick(a);if(p&&n&&this.emitPointAction(p,\\\"plotly_click\\\"),a&&\\\"skip\\\"!==a.object._trace.hoverinfo&&i.hovermode&&p&&(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var m=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),m.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(p,\\\"plotly_hover\\\");var v=this.fullData[m.trace.index]||{},g=m.pointIndex,y=u.castHoverinfo(v,i,g);if(y&&\\\"all\\\"!==y){var b=y.split(\\\"+\\\");-1===b.indexOf(\\\"x\\\")&&(m.traceCoord[0]=void 0),-1===b.indexOf(\\\"y\\\")&&(m.traceCoord[1]=void 0),-1===b.indexOf(\\\"z\\\")&&(m.traceCoord[2]=void 0),-1===b.indexOf(\\\"text\\\")&&(m.textLabel=void 0),-1===b.indexOf(\\\"name\\\")&&(m.name=void 0)}u.loneHover({x:m.screenCoord[0],y:m.screenCoord[1],xLabel:this.hoverFormatter(\\\"xaxis\\\",m.traceCoord[0]),yLabel:this.hoverFormatter(\\\"yaxis\\\",m.traceCoord[1]),zLabel:m.traceCoord[2],text:m.textLabel,name:m.name,color:u.castHoverOption(v,g,\\\"bgcolor\\\")||m.color,borderColor:u.castHoverOption(v,g,\\\"bordercolor\\\"),fontFamily:u.castHoverOption(v,g,\\\"font.family\\\"),fontSize:u.castHoverOption(v,g,\\\"font.size\\\"),fontColor:u.castHoverOption(v,g,\\\"font.color\\\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\\\"plotly_unhover\\\"),u.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return l.tickText(r,r.c2l(e),\\\"hover\\\").text}}},{\\\"../../components/fx\\\":644,\\\"../../lib/html2unicode\\\":723,\\\"../../lib/show_no_webgl_msg\\\":742,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/constraints\\\":773,\\\"../../registry\\\":844,\\\"./camera\\\":804,\\\"./convert\\\":805,\\\"gl-plot2d\\\":218,\\\"gl-select-box\\\":252,\\\"gl-spikes2d\\\":261,\\\"webgl-context\\\":562}],808:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(e,r,n,a){var o=p.keyBindingMode;if(!1!==o){var s=\\\"rotate\\\"===o,l=\\\"pan\\\"===o,c=\\\"zoom\\\"===o,f=!!a.control,d=!!a.alt,y=!!a.shift,b=!!(1&e),x=!!(2&e),_=!!(4&e),w=1/t.clientHeight,M=w*(r-m),k=w*(n-v),A=p.flipX?1:-1,T=p.flipY?1:-1,S=i(),E=Math.PI*p.rotateSpeed;if((s&&b&&!f&&!d&&!y||b&&!f&&!d&&y)&&u.rotate(S,A*E*M,-T*E*k,0),(l&&b&&!f&&!d&&!y||x||b&&f&&!d&&!y)&&u.pan(S,-p.translateSpeed*M*h,p.translateSpeed*k*h,0),c&&b&&!f&&!d&&!y||_||b&&!f&&d&&!y){var L=-p.zoomSpeed*k/window.innerHeight*(S-u.lastT())*100;u.pan(S,0,0,h*(Math.exp(L)-1))}return m=r,v=n,g=a,!0}}t=t||document.body,e=e||{};var n=[.01,1/0];\\\"distanceLimits\\\"in e&&(n[0]=e.distanceLimits[0],n[1]=e.distanceLimits[1]),\\\"zoomMin\\\"in e&&(n[0]=e.zoomMin),\\\"zoomMax\\\"in e&&(n[1]=e.zoomMax);var u=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:n}),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,d=t.clientHeight,p={keyBindingMode:\\\"rotate\\\",view:u,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:u.modes,tick:function(){var e=i(),r=this.delay,n=e-2*r;u.idle(e-r),u.recalcMatrix(n),u.flush(e-(100+2*r));for(var a=!0,o=u.computedMatrix,s=0;s<16;++s)a=a&&c[s]===o[s],c[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===d;return f=t.clientWidth,d=t.clientHeight,a?!l:(h=Math.exp(u.computedRadius[0]),!0)},lookAt:function(t,e,r){u.lookAt(u.lastT(),t,e,r)},rotate:function(t,e,r){u.rotate(u.lastT(),t,e,r)},pan:function(t,e,r){u.pan(u.lastT(),t,e,r)},translate:function(t,e,r){u.translate(u.lastT(),t,e,r)}};Object.defineProperties(p,{matrix:{get:function(){return u.computedMatrix},set:function(t){return u.setMatrix(u.lastT(),t),u.computedMatrix},enumerable:!0},mode:{get:function(){return u.getMode()},set:function(t){var e=u.computedUp.slice(),r=u.computedEye.slice(),n=u.computedCenter.slice();if(u.setMode(t),\\\"turntable\\\"===t){var a=i();u._active.lookAt(a,r,n,e),u._active.lookAt(a+500,r,n,[0,0,1]),u._active.flush(a)}return u.getMode()},enumerable:!0},center:{get:function(){return u.computedCenter},set:function(t){return u.lookAt(u.lastT(),null,t),u.computedCenter},enumerable:!0},eye:{get:function(){return u.computedEye},set:function(t){return u.lookAt(u.lastT(),t),u.computedEye},enumerable:!0},up:{get:function(){return u.computedUp},set:function(t){return u.lookAt(u.lastT(),null,null,t),u.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return u.setDistance(u.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return u.getDistanceLimits(n)},set:function(t){return u.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var m=0,v=0,g={shift:!1,control:!1,alt:!1,meta:!1};return p.mouseListener=o(t,r),t.addEventListener(\\\"touchstart\\\",function(e){var n=l(e.changedTouches[0],t);r(0,n[0],n[1],g),r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchmove\\\",function(e){var n=l(e.changedTouches[0],t);r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchend\\\",function(){r(0,m,v,g)}),p.wheelListener=s(t,function(t,e){if(!1!==p.keyBindingMode){var r=p.flipX?1:-1,n=p.flipY?1:-1,a=i();if(Math.abs(t)>Math.abs(e))u.rotate(a,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else{var o=-p.zoomSpeed*n*e/window.innerHeight*(a-u.lastT())/100;u.pan(a,0,0,h*(Math.exp(o)-1))}}},!0),p}e.exports=n;var i=t(\\\"right-now\\\"),a=t(\\\"3d-view\\\"),o=t(\\\"mouse-change\\\"),s=t(\\\"mouse-wheel\\\"),l=t(\\\"mouse-event-offset\\\")},{\\\"3d-view\\\":36,\\\"mouse-change\\\":451,\\\"mouse-event-offset\\\":452,\\\"mouse-wheel\\\":454,\\\"right-now\\\":501}],809:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scene\\\"),i=t(\\\"../plots\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\");r.name=\\\"gl3d\\\",r.attr=\\\"scene\\\",r.idRoot=\\\"scene\\\",r.idRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,o=i.getSubplotIds(e,\\\"gl3d\\\"),s=0;s<o.length;s++){var l=o[s],u=i.getSubplotData(r,\\\"gl3d\\\",l),c=e[l],h=c._scene;h||(h=new n({id:l,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),c._scene=h),h.cameraInitial||(h.cameraInitial=a.extendDeep({},c.camera)),h.plot(u,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"gl3d\\\"),o=0;o<a.length;o++){var s=a[o];!e[s]&&n[s]._scene&&(n[s]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\\\".annotation-\\\"+s).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=i.getSubplotIds(e,\\\"gl3d\\\"),n=e._size,a=0;a<r.length;a++){var s=e[r[a]],l=s.domain,u=s._scene,c=u.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:o.svg,\\\"xlink:href\\\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\\\"none\\\"}),u.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),\\\"scene\\\"+e}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../plots\\\":829,\\\"./layout/attributes\\\":810,\\\"./layout/defaults\\\":814,\\\"./layout/layout_attributes\\\":815,\\\"./scene\\\":819}],810:[function(t,e,r){\\\"use strict\\\";e.exports={scene:{valType:\\\"subplotid\\\",dflt:\\\"scene\\\"}}},{}],811:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color\\\"),i=t(\\\"../../cartesian/layout_attributes\\\"),a=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={visible:i.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:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\\\"rgb(204, 204, 204)\\\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth}},{\\\"../../../components/color\\\":603,\\\"../../../lib/extend\\\":716,\\\"../../cartesian/layout_attributes\\\":777}],812:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../../lib\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../cartesian/type_defaults\\\"),s=t(\\\"../../cartesian/axis_defaults\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];e.exports=function(t,e,r){function u(t,e){return i.coerce(c,h,a,t,e)}for(var c,h,f=0;f<l.length;f++){var d=l[f];c=t[d]||{},h=e[d]={_id:d[0]+r.scene,_name:d},o(c,h,u,r.data),s(c,h,u,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar}),u(\\\"gridcolor\\\",n(h.color,r.bgColor,13600/187).toRgbString()),u(\\\"title\\\",d[0]),h.setScale=i.noop,u(\\\"showspikes\\\")&&(u(\\\"spikesides\\\"),u(\\\"spikethickness\\\"),u(\\\"spikecolor\\\",h.color)),u(\\\"showaxeslabels\\\"),u(\\\"showbackground\\\")&&u(\\\"backgroundcolor\\\")}}},{\\\"../../../lib\\\":725,\\\"../../cartesian/axis_defaults\\\":768,\\\"../../cartesian/type_defaults\\\":788,\\\"./axis_attributes\\\":811,tinycolor2:533}],813:[function(t,e,r){\\\"use strict\\\";function n(){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.labelAngle=[0,0,0],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()}function i(t){var e=new n;return e.merge(t),e}var a=t(\\\"../../../lib/html2unicode\\\"),o=t(\\\"../../../lib/str2rgbarray\\\"),s=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];n.prototype.merge=function(t){for(var e=this,r=0;r<3;++r){var n=t[s[r]];n.visible?(e.labels[r]=a(n.title),\\\"titlefont\\\"in n&&(n.titlefont.color&&(e.labelColor[r]=o(n.titlefont.color)),n.titlefont.family&&(e.labelFont[r]=n.titlefont.family),n.titlefont.size&&(e.labelSize[r]=n.titlefont.size)),\\\"showline\\\"in n&&(e.lineEnable[r]=n.showline),\\\"linecolor\\\"in n&&(e.lineColor[r]=o(n.linecolor)),\\\"linewidth\\\"in n&&(e.lineWidth[r]=n.linewidth),\\\"showgrid\\\"in n&&(e.gridEnable[r]=n.showgrid),\\\"gridcolor\\\"in n&&(e.gridColor[r]=o(n.gridcolor)),\\\"gridwidth\\\"in n&&(e.gridWidth[r]=n.gridwidth),\\\"log\\\"===n.type?e.zeroEnable[r]=!1:\\\"zeroline\\\"in n&&(e.zeroEnable[r]=n.zeroline),\\\"zerolinecolor\\\"in n&&(e.zeroLineColor[r]=o(n.zerolinecolor)),\\\"zerolinewidth\\\"in n&&(e.zeroLineWidth[r]=n.zerolinewidth),\\\"ticks\\\"in n&&n.ticks?e.lineTickEnable[r]=!0:e.lineTickEnable[r]=!1,\\\"ticklen\\\"in n&&(e.lineTickLength[r]=e._defaultLineTickLength[r]=n.ticklen),\\\"tickcolor\\\"in n&&(e.lineTickColor[r]=o(n.tickcolor)),\\\"tickwidth\\\"in n&&(e.lineTickWidth[r]=n.tickwidth),\\\"tickangle\\\"in n&&(e.tickAngle[r]=\\\"auto\\\"===n.tickangle?0:Math.PI*-n.tickangle/180),\\\"showticklabels\\\"in n&&(e.tickEnable[r]=n.showticklabels),\\\"tickfont\\\"in n&&(n.tickfont.color&&(e.tickColor[r]=o(n.tickfont.color)),n.tickfont.family&&(e.tickFont[r]=n.tickfont.family),n.tickfont.size&&(e.tickSize[r]=n.tickfont.size)),\\\"mirror\\\"in n?-1!==[\\\"ticks\\\",\\\"all\\\",\\\"allticks\\\"].indexOf(n.mirror)?(e.lineTickMirror[r]=!0,e.lineMirror[r]=!0):!0===n.mirror?(e.lineTickMirror[r]=!1,e.lineMirror[r]=!0):(e.lineTickMirror[r]=!1,e.lineMirror[r]=!1):e.lineMirror[r]=!1,\\\"showbackground\\\"in n&&!1!==n.showbackground?(e.backgroundEnable[r]=!0,e.backgroundColor[r]=o(n.backgroundcolor)):e.backgroundEnable[r]=!1):(e.tickEnable[r]=!1,e.labelEnable[r]=!1,e.lineEnable[r]=!1,e.lineTickEnable[r]=!1,e.gridEnable[r]=!1,e.zeroEnable[r]=!1,e.backgroundEnable[r]=!1)}},e.exports=i},{\\\"../../../lib/html2unicode\\\":723,\\\"../../../lib/str2rgbarray\\\":744}],814:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){for(var i=r(\\\"bgcolor\\\"),s=a.combine(i,n.paper_bgcolor),c=Object.keys(u.camera),h=0;h<c.length;h++)r(\\\"camera.\\\"+c[h]+\\\".x\\\"),r(\\\"camera.\\\"+c[h]+\\\".y\\\"),r(\\\"camera.\\\"+c[h]+\\\".z\\\");var f=!!r(\\\"aspectratio.x\\\")&&!!r(\\\"aspectratio.y\\\")&&!!r(\\\"aspectratio.z\\\"),d=f?\\\"manual\\\":\\\"auto\\\",p=r(\\\"aspectmode\\\",d);f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\\\"manual\\\"===p&&(e.aspectmode=\\\"auto\\\")),l(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:s,calendar:n.calendar}),o.getComponentMethod(\\\"annotations3d\\\",\\\"handleDefaults\\\")(t,e,n),r(\\\"dragmode\\\",n.getDfltFromLayout(\\\"dragmode\\\")),r(\\\"hovermode\\\",n.getDfltFromLayout(\\\"hovermode\\\"))}var i=t(\\\"../../../lib\\\"),a=t(\\\"../../../components/color\\\"),o=t(\\\"../../../registry\\\"),s=t(\\\"../../subplot_defaults\\\"),l=t(\\\"./axis_defaults\\\"),u=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function a(e){if(!o){return i.validate(t[e],u[e])?t[e]:void 0}}var o=e._basePlotModules.length>1;s(t,e,r,{type:\\\"gl3d\\\",attributes:u,handleDefaults:n,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:a,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\\\"../../../components/color\\\":603,\\\"../../../lib\\\":725,\\\"../../../registry\\\":844,\\\"../../subplot_defaults\\\":836,\\\"./axis_defaults\\\":812,\\\"./layout_attributes\\\":815}],815:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return{x:{valType:\\\"number\\\",dflt:t},y:{valType:\\\"number\\\",dflt:e},z:{valType:\\\"number\\\",dflt:r}}}var i=t(\\\"./axis_attributes\\\"),a=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={_arrayAttrRegexps:[/^scene([2-9]|[1-9][0-9]+)?\\\\.annotations/],bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},camera:{up:a(n(0,0,1),{}),center:a(n(0,0,0),{}),eye:a(n(1.25,1.25,1.25),{})},domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},aspectmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"cube\\\",\\\"data\\\",\\\"manual\\\"],dflt:\\\"auto\\\"},aspectratio:{x:{valType:\\\"number\\\",min:0},y:{valType:\\\"number\\\",min:0},z:{valType:\\\"number\\\",min:0}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:\\\"enumerated\\\",values:[\\\"orbit\\\",\\\"turntable\\\",\\\"zoom\\\",\\\"pan\\\",!1],dflt:\\\"turntable\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"closest\\\",!1],dflt:\\\"closest\\\"},_deprecated:{cameraposition:{valType:\\\"info_array\\\"}}}},{\\\"../../../lib/extend\\\":716,\\\"./axis_attributes\\\":811}],816:[function(t,e,r){\\\"use strict\\\";function n(){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]}function i(t){var e=new n;return e.merge(t),e}var a=t(\\\"../../../lib/str2rgbarray\\\"),o=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];n.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[o[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=a(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=i},{\\\"../../../lib/str2rgbarray\\\":744}],817:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}function i(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,i=t.fullSceneLayout,c=[[],[],[]],h=0;h<3;++h){var f=i[l[h]];if(f._length=(r[h].hi-r[h].lo)*r[h].pixelsPerDataUnit/t.dataScale[h],Math.abs(f._length)===1/0)c[h]=[];else{f.range[0]=r[h].lo/t.dataScale[h],f.range[1]=r[h].hi/t.dataScale[h],f._m=1/(t.dataScale[h]*r[h].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var d=f.tickmode;if(\\\"auto\\\"===f.tickmode){f.tickmode=\\\"linear\\\";var p=f.nticks||o.constrain(f._length/40,4,9);a.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var m=a.calcTicks(f),v=0;v<m.length;++v)m[v].x=m[v].x*t.dataScale[h],m[v].text=s(m[v].text);c[h]=m,f.tickmode=d}}e.ticks=c;for(var h=0;h<3;++h){u[h]=.5*(t.glplot.bounds[0][h]+t.glplot.bounds[1][h]);for(var v=0;v<2;++v)e.bounds[v][h]=t.glplot.bounds[v][h]}t.contourLevels=n(c)}e.exports=i;var a=t(\\\"../../cartesian/axes\\\"),o=t(\\\"../../../lib\\\"),s=t(\\\"../../../lib/html2unicode\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],u=[0,0,0]},{\\\"../../../lib\\\":725,\\\"../../../lib/html2unicode\\\":723,\\\"../../cartesian/axes\\\":766}],818:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}function i(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}e.exports=i},{}],819:[function(t,e,r){\\\"use strict\\\";function n(t){function e(e,r){var n=t.fullSceneLayout[e];return v.tickText(n,n.d2l(r),\\\"hover\\\").text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 \\\"+a+\\\" \\\"+o),n.setAttributeNS(null,\\\"width\\\",a),n.setAttributeNS(null,\\\"height\\\",o),k(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)r=t.traces[s[c]],\\\"skip\\\"!==r.data.hoverinfo&&r.handlePick(u)&&(l=r),r.setContourLevels&&r.setContourLevels();var h;if(null!==l){var f=_(t.glplot.cameraParams,u.dataCoordinate);r=l.data;var d=u.index,p=g.castHoverinfo(r,t.fullLayout,d),m=e(\\\"xaxis\\\",u.traceCoordinate[0]),y=e(\\\"yaxis\\\",u.traceCoordinate[1]),b=e(\\\"zaxis\\\",u.traceCoordinate[2]);if(\\\"all\\\"!==p){var x=p.split(\\\"+\\\");-1===x.indexOf(\\\"x\\\")&&(m=void 0),-1===x.indexOf(\\\"y\\\")&&(y=void 0),-1===x.indexOf(\\\"z\\\")&&(b=void 0),-1===x.indexOf(\\\"text\\\")&&(u.textLabel=void 0),-1===x.indexOf(\\\"name\\\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&g.loneHover({x:(.5+.5*f[0]/f[3])*a,y:(.5-.5*f[1]/f[3])*o,xLabel:m,yLabel:y,zLabel:b,text:u.textLabel,name:l.name,color:g.castHoverOption(r,d,\\\"bgcolor\\\")||l.color,borderColor:g.castHoverOption(r,d,\\\"bordercolor\\\"),fontFamily:g.castHoverOption(r,d,\\\"font.family\\\"),fontSize:g.castHoverOption(r,d,\\\"font.size\\\"),fontColor:g.castHoverOption(r,d,\\\"font.color\\\")},{container:n,gd:t.graphDiv});var w={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:r._input,fullData:r,curveNumber:r.index,pointNumber:d};g.appendArrayPointValue(w,r,d);var M={points:[w]};u.buttons&&u.distance<5?t.graphDiv.emit(\\\"plotly_click\\\",M):t.graphDiv.emit(\\\"plotly_hover\\\",M),h=M}else g.loneUnhover(n),t.graphDiv.emit(\\\"plotly_unhover\\\",h);t.drawAnnotations(t)}function i(t,e,r,i){var a={canvas:r,gl:i,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(h||(c=document.createElement(\\\"canvas\\\"),h=d({canvas:c,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"error creating static canvas/context for image server\\\");a.pixelRatio=t.pixelRatio,a.gl=h,a.canvas=c}try{t.glplot=f(a)}catch(e){b(t)}var o=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\\\".camera\\\"]=u(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\\\"plotly_relayout\\\",e)}};if(t.glplot.canvas.addEventListener(\\\"mouseup\\\",o.bind(null,t)),t.glplot.canvas.addEventListener(\\\"wheel\\\",o.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(\\\"webglcontextlost\\\",function(t){m.warn(\\\"Lost WebGL context.\\\"),t.preventDefault()}),!t.camera){var s=t.fullSceneLayout.camera;t.camera=x(t.container,{center:[s.center.x,s.center.y,s.center.z],eye:[s.eye.x,s.eye.y,s.eye.z],up:[s.up.x,s.up.y,s.up.z],zoomMin:.1,zoomMax:100,mode:\\\"orbit\\\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=n.bind(null,t),t.traces={},!0}function a(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=w(e[this.id]),this.spikeOptions=M(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=p.getComponentMethod(\\\"annotations3d\\\",\\\"convert\\\"),this.drawAnnotations=p.getComponentMethod(\\\"annotations3d\\\",\\\"draw\\\"),i(this,e)}function o(t,e,r,n,i){for(var a,o=0;o<e.length;++o)if(Array.isArray(e[o]))for(var s=0;s<e[o].length;++s)a=t.d2l(e[o][s],0,i),!isNaN(a)&&isFinite(a)&&(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a));else a=t.d2l(e[o],0,i),!isNaN(a)&&isFinite(a)&&(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a))}function s(t,e,r){var n=t.fullSceneLayout;o(n.xaxis,e.x,0,r,e.xcalendar),o(n.yaxis,e.y,1,r,e.ycalendar),o(n.zaxis,e.z,2,r,e.zcalendar)}function l(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}function u(t){return{up:{x:t.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]}}}var c,h,f=t(\\\"gl-plot3d\\\"),d=t(\\\"webgl-context\\\"),p=t(\\\"../../registry\\\"),m=t(\\\"../../lib\\\"),v=t(\\\"../../plots/cartesian/axes\\\"),g=t(\\\"../../components/fx\\\"),y=t(\\\"../../lib/str2rgbarray\\\"),b=t(\\\"../../lib/show_no_webgl_msg\\\"),x=t(\\\"./camera\\\"),_=t(\\\"./project\\\"),w=t(\\\"./layout/convert\\\"),M=t(\\\"./layout/spikes\\\"),k=t(\\\"./layout/tick_marks\\\"),A=a.prototype;A.recoverContext=function(){function t(){return r.isContextLost()?void requestAnimationFrame(t):i(e,e.fullLayout,n,r)?void e.plot.apply(e,e.plotArgs):void m.error(\\\"Catastrophic and unrecoverable WebGL error. Context lost.\\\")}var e=this,r=this.glplot.gl,n=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var T=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];A.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,l,u,c=e[this.id],h=r[this.id];c.bgcolor?this.glplot.clearColor=y(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)n=t[a],!0===n.visible&&s(this,n,f);var d=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?d[o]=1:f[1][o]===f[0][o]?d[o]=1:d[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=d,this.convertAnnotations(this),a=0;a<t.length;++a)n=t[a],!0===n.visible&&(i=this.traces[n.uid],i?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&!0===t[o].visible)continue t;i=this.traces[p[a]],i.dispose(),delete this.traces[p[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var m=[[0,0,0],[0,0,0]],v=[],g={};for(a=0;a<3;++a){if(l=c[T[a]],u=l.type,u in g?(g[u].acc*=d[a],g[u].count+=1):g[u]={acc:d[a],count:1},l.autorange){m[0][a]=1/0,m[1][a]=-1/0;var b=this.glplot.objects,x=this.fullSceneLayout.annotations||[],_=l._name.charAt(0);for(o=0;o<b.length;o++){var w=b[o].bounds;m[0][a]=Math.min(m[0][a],w[0][a]/d[a]),m[1][a]=Math.max(m[1][a],w[1][a]/d[a])}for(o=0;o<x.length;o++){var M=x[o];if(M.visible){var k=l.r2l(M[_]);m[0][a]=Math.min(m[0][a],k),m[1][a]=Math.max(m[1][a],k)}}if(\\\"rangemode\\\"in l&&\\\"tozero\\\"===l.rangemode&&(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]>m[1][a])m[0][a]=-1,m[1][a]=1;else{var A=m[1][a]-m[0][a];m[0][a]-=A/32,m[1][a]+=A/32}}else{var S=l.range;m[0][a]=l.r2l(S[0]),m[1][a]=l.r2l(S[1])}m[0][a]===m[1][a]&&(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.bounds[0][a]=m[0][a]*d[a],this.glplot.bounds[1][a]=m[1][a]*d[a]}var E=[1,1,1];for(a=0;a<3;++a){l=c[T[a]],u=l.type;var L=g[u];E[a]=Math.pow(L.acc,1/L.count)/d[a]}var C;if(\\\"auto\\\"===c.aspectmode)C=Math.max.apply(null,E)/Math.min.apply(null,E)<=4?E:[1,1,1];else if(\\\"cube\\\"===c.aspectmode)C=[1,1,1];else if(\\\"data\\\"===c.aspectmode)C=E;else{if(\\\"manual\\\"!==c.aspectmode)throw new Error(\\\"scene.js aspectRatio was not one of the enumerated types\\\");var z=c.aspectratio;C=[z.x,z.y,z.z]}c.aspectratio.x=h.aspectratio.x=C[0],c.aspectratio.y=h.aspectratio.y=C[1],c.aspectratio.z=h.aspectratio.z=C[2],this.glplot.aspect=C;var I=c.domain||null,D=e._size||null;if(I&&D){var P=this.container.style;P.position=\\\"absolute\\\",P.left=D.l+I.x[0]*D.w+\\\"px\\\",P.top=D.t+(1-I.y[1])*D.h+\\\"px\\\",P.width=D.w*(I.x[1]-I.x[0])+\\\"px\\\",P.height=D.h*(I.y[1]-I.y[0])+\\\"px\\\"}this.glplot.redraw()}},A.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\\\"wheel\\\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},A.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),u(this.glplot.camera)},A.setCamera=function(t){this.glplot.camera.lookAt.apply(this,l(t))},A.saveCamera=function(t){var e=this.getCamera(),r=m.nestedProperty(t,this.id+\\\".camera\\\"),n=r.get(),i=!1;if(void 0===n)i=!0;else for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!function(t,e,r,n){var i=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],a=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}(e,n,a,o)){i=!0;break}return i&&r.set(e),i},A.updateFx=function(t,e){var r=this.camera;r&&(\\\"orbit\\\"===t?(r.mode=\\\"orbit\\\",r.keyBindingMode=\\\"rotate\\\"):\\\"turntable\\\"===t?(r.up=[0,0,1],r.mode=\\\"turntable\\\",r.keyBindingMode=\\\"rotate\\\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},A.toImage=function(t){t||(t=\\\"png\\\"),this.staticMode&&this.container.appendChild(c),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var h=document.createElement(\\\"canvas\\\");h.width=r,h.height=n;var f=h.getContext(\\\"2d\\\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\\\"jpeg\\\":p=h.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":p=h.toDataURL(\\\"image/webp\\\");break;default:p=h.toDataURL(\\\"image/png\\\")}return this.staticMode&&this.container.removeChild(c),p},A.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[T[t]];v.setConvert(e,this.fullLayout),e.setScale=m.noop}},e.exports=a},{\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"../../lib/show_no_webgl_msg\\\":742,\\\"../../lib/str2rgbarray\\\":744,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./camera\\\":808,\\n\",\n       \"\\\"./layout/convert\\\":813,\\\"./layout/spikes\\\":816,\\\"./layout/tick_marks\\\":817,\\\"./project\\\":818,\\\"gl-plot3d\\\":220,\\\"webgl-context\\\":562}],820:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=n.extendFlat,a=t(\\\"./font_attributes\\\"),o=t(\\\"../components/color/attributes\\\");e.exports={font:{family:i({},a.family,{dflt:'\\\"Open Sans\\\", verdana, arial, sans-serif'}),size:i({},a.size,{dflt:12}),color:i({},a.color,{dflt:o.defaultLine})},title:{valType:\\\"string\\\",dflt:\\\"Click to enter Plot title\\\"},titlefont:i({},a,{}),autosize:{valType:\\\"boolean\\\",dflt:!1},width:{valType:\\\"number\\\",min:10,dflt:700},height:{valType:\\\"number\\\",min:10,dflt:450},margin:{l:{valType:\\\"number\\\",min:0,dflt:80},r:{valType:\\\"number\\\",min:0,dflt:80},t:{valType:\\\"number\\\",min:0,dflt:100},b:{valType:\\\"number\\\",min:0,dflt:80},pad:{valType:\\\"number\\\",min:0,dflt:0},autoexpand:{valType:\\\"boolean\\\",dflt:!0}},paper_bgcolor:{valType:\\\"color\\\",dflt:o.background},plot_bgcolor:{valType:\\\"color\\\",dflt:o.background},separators:{valType:\\\"string\\\",dflt:\\\".,\\\"},hidesources:{valType:\\\"boolean\\\",dflt:!1},smith:{valType:\\\"enumerated\\\",values:[!1],dflt:!1},showlegend:{valType:\\\"boolean\\\"}}},{\\\"../components/color/attributes\\\":602,\\\"../lib\\\":725,\\\"./font_attributes\\\":790}],821:[function(t,e,r){\\\"use strict\\\";e.exports={styleUrlPrefix:\\\"mapbox://styles/mapbox/\\\",styleUrlSuffix:\\\"v9\\\",controlContainerClassName:\\\"mapboxgl-control-container\\\",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\\\"),mapOnErrorMsg:\\\"Mapbox error.\\\"}},{}],822:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){var r=t.split(\\\" \\\"),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=[\\\"\\\",\\\"\\\"],c=[0,0];switch(i){case\\\"top\\\":u[0]=\\\"top\\\",c[1]=-l;break;case\\\"bottom\\\":u[0]=\\\"bottom\\\",c[1]=l}switch(a){case\\\"left\\\":u[1]=\\\"right\\\",c[0]=-s;break;case\\\"right\\\":u[1]=\\\"left\\\",c[0]=s}var h;return h=u[0]&&u[1]?u.join(\\\"-\\\"):u[0]?u[0]:u[1]?u[1]:\\\"center\\\",{anchor:h,offset:c}}},{\\\"../../lib\\\":725}],823:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t._fullLayout,n=t._context;if(\\\"\\\"===n.mapboxAccessToken)return\\\"\\\";for(var i=n.mapboxAccessToken,a=0;a<e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(u.noAccessTokenErrorMsg);return i}var i=t(\\\"mapbox-gl\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../plots\\\"),s=t(\\\"../../constants/xmlns_namespaces\\\"),l=t(\\\"./mapbox\\\"),u=t(\\\"./constants\\\");r.name=\\\"mapbox\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"mapbox\\\",r.idRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attributes={subplot:{valType:\\\"subplotid\\\",dflt:\\\"mapbox\\\"}},r.layoutAttributes=t(\\\"./layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,s=o.getSubplotIds(e,\\\"mapbox\\\"),u=n(t,s);i.accessToken=u;for(var c=0;c<s.length;c++){var h=s[c],f=o.getSubplotCalcData(r,\\\"mapbox\\\",h),d=e[h],p=d._subplot;d.accesstoken=u,p||(p=l({gd:t,container:e._glcontainer.node(),id:h,fullLayout:e,staticPlot:t._context.staticPlot}),e[h]._subplot=p),p.viewInitial||(p.viewInitial={center:a.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),p.plot(f,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=o.getSubplotIds(n,\\\"mapbox\\\"),a=0;a<i.length;a++){var s=i[a];!e[s]&&n[s]._subplot&&n[s]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=o.getSubplotIds(e,\\\"mapbox\\\"),n=e._size,i=0;i<r.length;i++){var a=e[r[i]],l=a.domain,u=a._subplot,c=u.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:s.svg,\\\"xlink:href\\\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\\\"none\\\"}),u.destroy()}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../plots\\\":829,\\\"./constants\\\":821,\\\"./layout_attributes\\\":825,\\\"./layout_defaults\\\":826,\\\"./mapbox\\\":827,\\\"mapbox-gl\\\":342}],824:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\\\"-layer\\\"+e,this.idSource=this.uid+\\\"-source\\\",this.idLayer=this.uid+\\\"-layer\\\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return s.isPlainObject(e)||\\\"string\\\"==typeof e&&e.length>0}function a(t){var e={},r={};switch(t.type){case\\\"circle\\\":s.extendFlat(r,{\\\"circle-radius\\\":t.circle.radius,\\\"circle-color\\\":t.color,\\\"circle-opacity\\\":t.opacity});break;case\\\"line\\\":s.extendFlat(r,{\\\"line-width\\\":t.line.width,\\\"line-color\\\":t.color,\\\"line-opacity\\\":t.opacity});break;case\\\"fill\\\":s.extendFlat(r,{\\\"fill-color\\\":t.color,\\\"fill-outline-color\\\":t.fill.outlinecolor,\\\"fill-opacity\\\":t.opacity});break;case\\\"symbol\\\":var n=t.symbol,i=l(n.textposition,n.iconsize);s.extendFlat(e,{\\\"icon-image\\\":n.icon+\\\"-15\\\",\\\"icon-size\\\":n.iconsize/10,\\\"text-field\\\":n.text,\\\"text-size\\\":n.textfont.size,\\\"text-anchor\\\":i.anchor,\\\"text-offset\\\":i.offset}),s.extendFlat(r,{\\\"icon-color\\\":t.color,\\\"text-color\\\":n.textfont.color,\\\"text-opacity\\\":t.opacity})}return{layout:e,paint:r}}function o(t){var e,r=t.sourcetype,n=t.source,i={type:r},a=\\\"string\\\"==typeof n;return\\\"geojson\\\"===r?e=\\\"data\\\":\\\"vector\\\"===r&&(e=a?\\\"url\\\":\\\"tiles\\\"),i[e]=n,i}var s=t(\\\"../../lib\\\"),l=t(\\\"./convert_text_opts\\\"),u=n.prototype;u.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&&this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},u.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},u.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},u.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=o(t);e.addSource(this.idSource,r)}},u.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,\\\"source-layer\\\":t.sourcelayer||\\\"\\\",type:t.type},t.below);var r={visibility:\\\"visible\\\"};this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",r)}},u.updateStyle=function(t){var e=a(t);i(t)&&(this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",e.layout),this.mapbox.setOptions(this.idLayer,\\\"setPaintProperty\\\",e.paint))},u.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{\\\"../../lib\\\":725,\\\"./convert_text_opts\\\":822}],825:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\").defaultLine,a=t(\\\"../font_attributes\\\"),o=t(\\\"../../traces/scatter/attributes\\\").textposition;e.exports={_arrayAttrRegexps:[/^mapbox([2-9]|[1-9][0-9]+)?\\\\.layers/],domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},accesstoken:{valType:\\\"string\\\",noBlank:!0,strict:!0},style:{valType:\\\"any\\\",values:[\\\"basic\\\",\\\"streets\\\",\\\"outdoors\\\",\\\"light\\\",\\\"dark\\\",\\\"satellite\\\",\\\"satellite-streets\\\"],dflt:\\\"basic\\\"},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:{_isLinkedToArray:\\\"layer\\\",sourcetype:{valType:\\\"enumerated\\\",values:[\\\"geojson\\\",\\\"vector\\\"],dflt:\\\"geojson\\\"},source:{valType:\\\"any\\\"},sourcelayer:{valType:\\\"string\\\",dflt:\\\"\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"line\\\",\\\"fill\\\",\\\"symbol\\\"],dflt:\\\"circle\\\"},below:{valType:\\\"string\\\",dflt:\\\"\\\"},color:{valType:\\\"color\\\",dflt:i},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},circle:{radius:{valType:\\\"number\\\",dflt:15}},line:{width:{valType:\\\"number\\\",dflt:2}},fill:{outlinecolor:{valType:\\\"color\\\",dflt:i}},symbol:{icon:{valType:\\\"string\\\",dflt:\\\"marker\\\"},iconsize:{valType:\\\"number\\\",dflt:10},text:{valType:\\\"string\\\",dflt:\\\"\\\"},textfont:n.extendDeep({},a,{family:{dflt:\\\"Open Sans Regular, Arial Unicode MS Regular\\\"}}),textposition:n.extendFlat({},o,{arrayOk:!1})}}}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../traces/scatter/attributes\\\":1027,\\\"../font_attributes\\\":790}],826:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r(\\\"accesstoken\\\"),r(\\\"style\\\"),r(\\\"center.lon\\\"),r(\\\"center.lat\\\"),r(\\\"zoom\\\"),r(\\\"bearing\\\"),r(\\\"pitch\\\"),i(t,e),e._input=t}function i(t,e){function r(t,e){return a.coerce(n,i,s.layers,t,e)}for(var n,i,o=t.layers||[],l=e.layers=[],u=0;u<o.length;u++)if(n=o[u],i={},a.isPlainObject(n)){var c=r(\\\"sourcetype\\\");r(\\\"source\\\"),\\\"vector\\\"===c&&r(\\\"sourcelayer\\\");var h=r(\\\"type\\\");r(\\\"below\\\"),r(\\\"color\\\"),r(\\\"opacity\\\"),\\\"circle\\\"===h&&r(\\\"circle.radius\\\"),\\\"line\\\"===h&&r(\\\"line.width\\\"),\\\"fill\\\"===h&&r(\\\"fill.outlinecolor\\\"),\\\"symbol\\\"===h&&(r(\\\"symbol.icon\\\"),r(\\\"symbol.iconsize\\\"),r(\\\"symbol.text\\\"),a.coerceFont(r,\\\"symbol.textfont\\\"),r(\\\"symbol.textposition\\\")),i._index=u,l.push(i)}}var a=t(\\\"../../lib\\\"),o=t(\\\"../subplot_defaults\\\"),s=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){o(t,e,r,{type:\\\"mapbox\\\",attributes:s,handleDefaults:n,partition:\\\"y\\\"})}},{\\\"../../lib\\\":725,\\\"../subplot_defaults\\\":836,\\\"./layout_attributes\\\":825}],827:[function(t,e,r){\\\"use strict\\\";function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\\\"-\\\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=d.style.values,r=d.style.dflt,n={};return u.isPlainObject(t)?(n.id=t.id,n.style=t):\\\"string\\\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return f.styleUrlPrefix+t+\\\"-\\\"+f.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(\\\"mapbox-gl\\\"),l=t(\\\"../../components/fx\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../components/dragelement\\\"),h=t(\\\"../cartesian/select\\\"),f=t(\\\"./constants\\\"),d=t(\\\"./layout_attributes\\\"),p=t(\\\"./layers\\\"),m=n.prototype;e.exports=function(t){return new n(t)},m.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},m.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var c=this,h=c.gd,d=c.opts,p=c.styleObj=i(d.style);c.accessToken=d.accesstoken;var m=c.map=new s.Map({container:c.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!c.isStatic,preserveDrawingBuffer:c.isStatic,doubleClickZoom:!1,boxZoom:!1}),v=f.controlContainerClassName,g=c.div.getElementsByClassName(v)[0];c.div.removeChild(g),m._canvas.canvas.style.left=\\\"0px\\\",m._canvas.canvas.style.top=\\\"0px\\\",c.rejectOnError(n),m.once(\\\"load\\\",function(){c.updateData(t),c.updateLayout(e),c.resolveOnRender(r)}),c.isStatic||(m.on(\\\"moveend\\\",function(t){if(c.map){var e=c.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[c.id]=u.extendFlat({},e),h.emit(\\\"plotly_relayout\\\",r)}}}),m.on(\\\"mousemove\\\",function(t){var e=c.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},c.xaxis.p2c=function(){return t.lngLat.lng},c.yaxis.p2c=function(){return t.lngLat.lat},l.hover(h,t,c.id)}),m.on(\\\"click\\\",function(t){l.click(h,t.originalEvent)}),m.on(\\\"dragstart\\\",a),m.on(\\\"zoomstart\\\",a),m.on(\\\"dblclick\\\",function(){var t=c.viewInitial;m.setCenter(o(t.center)),m.setZoom(t.zoom),m.setBearing(t.bearing),m.setPitch(t.pitch);var e=c.getView();d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,h.emit(\\\"plotly_doubleclick\\\",null)}))},m.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(\\\"load\\\",function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},m.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];r=o[0].trace,e=a[r.uid],e?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;e=a[l],e.dispose(),delete a[l]}},m.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},m.resolveOnRender=function(t){var e=this.map;e.on(\\\"render\\\",function r(){e.loaded()&&(e.off(\\\"render\\\",r),t())})},m.rejectOnError=function(t){function e(){t(new Error(f.mapOnErrorMsg))}var r=this.map;r.once(\\\"error\\\",e),r.once(\\\"style.error\\\",e),r.once(\\\"source.error\\\",e),r.once(\\\"tile.error\\\",e),r.once(\\\"layer.error\\\",e)},m.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)},m.updateFx=function(t){function e(t){var e=r.map.unproject(t);return[e.lng,e.lat]}var r=this,n=r.map,i=r.gd;if(!r.isStatic){var a,o=t.dragmode;if(a=\\\"select\\\"===o?function(t,n){(t.range={})[r.id]=[e([n.xmin,n.ymin]),e([n.xmax,n.ymax])]}:function(t,n,i){(t.lassoPoints={})[r.id]=i.filtered.map(e)},\\\"select\\\"===o||\\\"lasso\\\"===o){n.dragPan.disable();var s={element:r.div,gd:i,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:a},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id};s.prepFn=function(t,e,r){h(t,e,r,s,o)},s.doneFn=function(e,r){2===r&&t._zoomlayer.selectAll(\\\".select-outline\\\").remove()},c.init(s)}else n.dragPan.enable(),r.div.onmousedown=null}},m.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])},m.updateLayers=function(){var t,e=this.opts,r=e.layers,n=this.layerList;if(r.length!==n.length){for(t=0;t<n.length;t++)n[t].dispose();for(n=this.layerList=[],t=0;t<r.length;t++)n.push(p(this,t,r[t]))}else for(t=0;t<r.length;t++)n[t].update(r[t])},m.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},m.toImage=function(){return this.map.getCanvas().toDataURL()},m.initSource=function(t){var e={type:\\\"geojson\\\",data:{type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:[]}}};return this.map.addSource(t,e)},m.setSourceData=function(t,e){this.map.getSource(t).setData(e)},m.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a<i.length;a++){var o=i[a];n[e](t,o,r[o])}},m.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},m.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\\\"../../components/dragelement\\\":624,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"../cartesian/select\\\":782,\\\"./constants\\\":821,\\\"./layers\\\":824,\\\"./layout_attributes\\\":825,\\\"mapbox-gl\\\":342}],828:[function(t,e,r){\\\"use strict\\\";e.exports={t:{valType:\\\"number\\\",dflt:0},r:{valType:\\\"number\\\",dflt:0},b:{valType:\\\"number\\\",dflt:0},l:{valType:\\\"number\\\",dflt:0}}},{}],829:[function(t,e,r){\\\"use strict\\\";function n(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(){v.sendDataToCloud(t)});else{var n=window.location.pathname.split(\\\"/\\\"),i=window.location.search;r.attr({\\\"xlink:xlink:show\\\":\\\"new\\\",\\\"xlink:xlink:href\\\":\\\"/\\\"+n[2].split(\\\".\\\")[0]+\\\"/\\\"+n[1]+i})}}function i(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r<a.length;r++)n=a[r],o[n]=d.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r<a.length;r++)n=a[r],d.nestedProperty(t.trace,n).set(o[n])}function a(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=_[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function o(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}function s(t){for(var e=0;e<t.length;e++){t[e]._categories=t[e]._initialCategories.slice(),t[e]._categoriesMap={};for(var r=0;r<t[e]._categories.length;r++)t[e]._categoriesMap[t[e]._categories[r]]=r}}var l=t(\\\"d3\\\"),u=t(\\\"fast-isnumeric\\\"),c=t(\\\"../plotly\\\"),h=t(\\\"../plot_api/plot_schema\\\"),f=t(\\\"../registry\\\"),d=t(\\\"../lib\\\"),p=t(\\\"../components/color\\\"),m=t(\\\"../constants/numerical\\\").BADNUM,v=e.exports={},g=t(\\\"./animation_attributes\\\"),y=t(\\\"./frame_attributes\\\"),b=d.relinkPrivateKeys;d.extendFlat(v,f),v.attributes=t(\\\"./attributes\\\"),v.attributes.type.values=v.allTypes,v.fontAttrs=t(\\\"./font_attributes\\\"),v.layoutAttributes=t(\\\"./layout_attributes\\\"),v.fontWeight=\\\"normal\\\";var x=v.subplotsRegistry,_=v.transformsRegistry,w=t(\\\"../components/errorbars\\\"),M=t(\\\"./command\\\");v.executeAPICommand=M.executeAPICommand,v.computeAPICommandBindings=M.computeAPICommandBindings,v.manageCommandObserver=M.manageCommandObserver,v.hasSimpleAPICommandBindings=M.hasSimpleAPICommandBindings,v.findSubplotIds=function(t,e){var r=[];if(!v.subplotsRegistry[e])return r;for(var n=v.subplotsRegistry[e].attr,i=0;i<t.length;i++){var a=t[i];v.traceIs(a,e)&&-1===r.indexOf(a[n])&&r.push(a[n])}return r},v.getSubplotIds=function(t,e){var r=v.subplotsRegistry[e];if(!r)return[];if(!(\\\"cartesian\\\"!==e||t._has&&t._has(\\\"cartesian\\\")))return[];if(!(\\\"gl2d\\\"!==e||t._has&&t._has(\\\"gl2d\\\")))return[];if(\\\"cartesian\\\"===e||\\\"gl2d\\\"===e)return Object.keys(t._plots||{});for(var n=r.idRegex,i=Object.keys(t),a=[],o=0;o<i.length;o++){var s=i[o];n.test(s)&&a.push(s)}var l=r.idRoot.length;return a.sort(function(t,e){return+(t.substr(l)||1)-+(e.substr(l)||1)}),a},v.getSubplotData=function(t,e,r){if(!v.subplotsRegistry[e])return[];for(var n,i=v.subplotsRegistry[e].attr,a=[],o=0;o<t.length;o++)if(n=t[o],\\\"gl2d\\\"===e&&v.traceIs(n,\\\"gl2d\\\")){var s=c.Axes.subplotMatch,l=\\\"x\\\"+r.match(s)[1],u=\\\"y\\\"+r.match(s)[2];n[i[0]]===l&&n[i[1]]===u&&a.push(n)}else n[i]===r&&a.push(n);return a},v.getSubplotCalcData=function(t,e,r){if(!v.subplotsRegistry[e])return[];for(var n=v.subplotsRegistry[e].attr,i=[],a=0;a<t.length;a++){var o=t[a];o[0].trace[n]===r&&i.push(o)}return i},v.redrawText=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){f.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),f.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(v.previousPromises(t))},300)})},v.resize=function(t){return new Promise(function(e,r){t&&\\\"none\\\"!==l.select(t).style(\\\"display\\\")||r(new Error(\\\"Resize must be passed a plot div element.\\\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)return void e(t);delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,c.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})},100)})},v.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},v.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=e._paper.selectAll(\\\"text.js-plot-link-container\\\").data([0]);r.enter().append(\\\"text\\\").classed(\\\"js-plot-link-container\\\",!0).style({\\\"font-family\\\":'\\\"Open Sans\\\", Arial, sans-serif',\\\"font-size\\\":\\\"12px\\\",fill:p.defaultLine,\\\"pointer-events\\\":\\\"all\\\"}).each(function(){var t=l.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)});var i=r.node(),a={y:e._paper.attr(\\\"height\\\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\\\"text-anchor\\\"]=\\\"start\\\",a.x=5):(a[\\\"text-anchor\\\"]=\\\"end\\\",a.x=e._paper.attr(\\\"width\\\")-7),r.attr(a);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&&n(t,o),s.text(o.text()&&u.text()?\\\" - \\\":\\\"\\\")}},v.sendDataToCloud=function(t){t.emit(\\\"plotly_beforeexport\\\");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\\\"https://plot.ly\\\",r=l.select(t).append(\\\"div\\\").attr(\\\"id\\\",\\\"hiddenform\\\").style(\\\"display\\\",\\\"none\\\"),n=r.append(\\\"form\\\").attr({action:e+\\\"/external\\\",method:\\\"post\\\",target:\\\"_blank\\\"});return n.append(\\\"input\\\").attr({type:\\\"text\\\",name:\\\"data\\\"}).node().value=v.graphJson(t,!1,\\\"keepdata\\\"),n.node().submit(),r.remove(),t.emit(\\\"plotly_afterexport\\\"),!1},v.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],l=t.data||[];if(t._transitionData||v.createTransitionData(t),r._initialAutoSizeIsDone){var u=r.width,h=r.height;v.supplyLayoutGlobalDefaults(a,n),a.width||(n.width=u),a.height||(n.height=h)}else{v.supplyLayoutGlobalDefaults(a,n);var f=!a.width||!a.height,d=n.autosize,p=t._context&&t._context.autosizable;f&&(d||p)?v.plotAutoSize(t,a,n):f&&v.sanitizeMargins(t),!d&&f&&(a.width=n.width,a.height=n.height)}n._initialAutoSizeIsDone=!0,n._dataLength=l.length,n._globalTransforms=(t._context||{}).globalTransforms,v.supplyDataDefaults(l,s,a,n),n._has=v._hasPlotType.bind(n);var m=n._modules;for(e=0;e<m.length;e++){var g=m[e];g.cleanData&&g.cleanData(s)}if(o.length===l.length)for(e=0;e<s.length;e++)b(s[e],o[e]);v.supplyLayoutModuleDefaults(a,n,s,t._transitionData),n._hasCartesian=n._has(\\\"cartesian\\\"),n._hasGeo=n._has(\\\"geo\\\"),n._hasGL3D=n._has(\\\"gl3d\\\"),n._hasGL2D=n._has(\\\"gl2d\\\"),n._hasTernary=n._has(\\\"ternary\\\"),n._hasPie=n._has(\\\"pie\\\"),v.cleanPlot(s,n,o,r),v.linkSubplots(s,n,o,r),b(n,r),v.doAutoMargin(t);var y=c.Axes.list(t);for(e=0;e<y.length;e++){y[e].setScale()}if((t.calcdata||[]).length===s.length)for(e=0;e<s.length;e++){var x=s[e],_=t.calcdata[e][0];_&&_.trace&&(_.trace._hasCalcTransform?i(_,x):_.trace=x)}},v.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=[])},v._hasPlotType=function(t){for(var e=this._basePlotModules||[],r=0;r<e.length;r++){if(e[r].name===t)return!0}return!1},v.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=!!n._paper,u=!!n._infolayer;t:for(i=0;i<r.length;i++){var c=r[i],h=c.uid;for(a=0;a<t.length;a++){var f=t[a];if(h===f.uid)continue t}var d=\\\".hm\\\"+h+\\\",.contour\\\"+h+\\\",.carpet\\\"+h+\\\",#clip\\\"+h+\\\",.trace\\\"+h;l&&n._paper.selectAll(d).remove(),u&&(n._infolayer.selectAll(\\\".cb\\\"+h).remove(),n._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(d).remove())}n._zoomlayer&&n._zoomlayer.selectAll(\\\".select-outline\\\").remove()},v.linkSubplots=function(t,e,r,n){var i,a=n._plots||{},o=e._plots={},s={_fullData:t,_fullLayout:e},l=c.Axes.getSubplots(s);for(i=0;i<l.length;i++){var u,h=l[i],f=a[h],d=c.Axes.getFromId(s,h,\\\"x\\\"),p=c.Axes.getFromId(s,h,\\\"y\\\");f?(u=o[h]=f,u._scene2d&&u._scene2d.updateRefs(e),u.xaxis.layer!==d.layer&&(u.xlines.attr(\\\"d\\\",null),u.xaxislayer.selectAll(\\\"*\\\").remove()),u.yaxis.layer!==p.layer&&(u.ylines.attr(\\\"d\\\",null),u.yaxislayer.selectAll(\\\"*\\\").remove())):(u=o[h]={},u.id=h),u.xaxis=d,u.yaxis=p,u._hasClipOnAxisFalse=!1;for(var m=0;m<t.length;m++){var v=t[m];if(v.xaxis===u.xaxis._id&&v.yaxis===u.yaxis._id&&!1===v.cliponaxis){u._hasClipOnAxisFalse=!0;break}}}var g=c.Axes.list(s,null,!0);for(i=0;i<g.length;i++){var y=g[i],b=null;y.overlaying&&(b=c.Axes.getFromId(s,y.overlaying))&&b.overlaying&&(y.overlaying=!1,b=null),y._mainAxis=b||y,b&&(y.domain=b.domain.slice()),y._anchorAxis=\\\"free\\\"===y.anchor?null:c.Axes.getFromId(s,y.anchor)}},v.clearExpandedTraceDefaultColors=function(t){function e(t,e,i,a){n[a]=e,n.length=a+1,\\\"color\\\"===t.valType&&void 0===t.dflt&&r.push(n.join(\\\".\\\"))}var r,n,i;for(n=[],r=t._module._colorAttrs,r||(t._module._colorAttrs=r=[],h.crawl(t._module.attributes,e)),i=0;i<r.length;i++){d.nestedProperty(t,\\\"_input.\\\"+r[i]).get()||d.nestedProperty(t,r[i]).set(null)}},v.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&&(d.pushUnique(u,r),d.pushUnique(c,t._module.basePlotModule),h++)}var o,s,l,u=n._modules=[],c=n._basePlotModules=[],h=0;n._transformModules=[];var p={},m=[];for(o=0;o<t.length;o++){if(l=t[o],s=v.supplyTraceDefaults(l,h,n,o),s.index=o,s._input=l,s._expandedIndex=h,s.transforms&&s.transforms.length)for(var g=a(s,e,r,n),y=0;y<g.length;y++){var x=g[y],_=v.supplyTraceDefaults(x,h,n,o);b(_,x),x.uid=_.uid=s.uid+y,_.index=o,_._input=l,_._fullInput=s,_._expandedIndex=h,_._expandedInput=x,i(_)}else s._fullInput=s,s._expandedInput=s,i(s);f.traceIs(s,\\\"carpetAxis\\\")&&(p[s.carpet]=s),f.traceIs(s,\\\"carpetDependent\\\")&&m.push(o)}for(o=0;o<m.length;o++)if(s=e[m[o]],s.visible){var w=p[s.carpet];s._carpet=w,w&&w.visible?(s.xaxis=w.xaxis,s.yaxis=w.yaxis):s.visible=!1}},v.supplyAnimationDefaults=function(t){function e(e,r){return d.coerce(t||{},n,g,e,r)}t=t||{};var r,n={};if(e(\\\"mode\\\"),e(\\\"direction\\\"),e(\\\"fromcurrent\\\"),Array.isArray(t.frame))for(n.frame=[],r=0;r<t.frame.length;r++)n.frame[r]=v.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=v.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r<t.transition.length;r++)n.transition[r]=v.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=v.supplyAnimationTransitionDefaults(t.transition||{});return n},v.supplyAnimationFrameDefaults=function(t){function e(e,n){return d.coerce(t||{},r,g.frame,e,n)}var r={};return e(\\\"duration\\\"),e(\\\"redraw\\\"),r},v.supplyAnimationTransitionDefaults=function(t){function e(e,n){return d.coerce(t||{},r,g.transition,e,n)}var r={};return e(\\\"duration\\\"),e(\\\"easing\\\"),r},v.supplyFrameDefaults=function(t){function e(e,n){return d.coerce(t,r,y,e,n)}var r={};return e(\\\"group\\\"),e(\\\"name\\\"),e(\\\"traces\\\"),e(\\\"baseframe\\\"),e(\\\"data\\\"),e(\\\"layout\\\"),r},v.supplyTraceDefaults=function(t,e,r,n){function i(e,r){return d.coerce(t,o,v.attributes,e,r)}function a(e,r){if(v.traceIs(o,e))return d.coerce(t,o,v.subplotsRegistry[e].attributes,r)}var o={},s=p.defaults[e%p.defaults.length],l=i(\\\"visible\\\");i(\\\"type\\\"),i(\\\"uid\\\"),i(\\\"name\\\",\\\"trace \\\"+n);for(var u=Object.keys(x),c=0;c<u.length;c++){var h=u[c];if(-1===[\\\"cartesian\\\",\\\"gl2d\\\"].indexOf(h)){var m=x[h].attr;m&&a(h,m)}}if(l){i(\\\"customdata\\\"),i(\\\"ids\\\");var g=v.getModule(o);o._module=g,v.traceIs(o,\\\"showLegend\\\")&&(i(\\\"showlegend\\\"),i(\\\"legendgroup\\\")),f.getComponentMethod(\\\"fx\\\",\\\"supplyDefaults\\\")(t,o,s,r),g&&(g.supplyDefaults(t,o,s,r),d.coerceHoverinfo(t,o,r)),v.traceIs(o,\\\"noOpacity\\\")||i(\\\"opacity\\\"),a(\\\"cartesian\\\",\\\"xaxis\\\"),a(\\\"cartesian\\\",\\\"yaxis\\\"),a(\\\"gl2d\\\",\\\"xaxis\\\"),a(\\\"gl2d\\\",\\\"yaxis\\\"),v.traceIs(o,\\\"notLegendIsolatable\\\")&&(o.visible=!!o.visible),v.supplyTransformDefaults(t,o,r)}return o},v.supplyTransformDefaults=function(t,e,r){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,c=o[l],h=c.type,f=_[h];f||d.warn(\\\"Unrecognized transform type \\\"+h+\\\".\\\"),f&&f.supplyDefaults?(u=f.supplyDefaults(c,e,r,t),u.type=h,u._module=f,d.pushUnique(i,f)):u=d.extendFlat({},c),s.push(u)}},v.supplyLayoutGlobalDefaults=function(t,e){function r(r,n){return d.coerce(t,e,v.layoutAttributes,r,n)}var n=d.coerceFont(r,\\\"font\\\");r(\\\"title\\\"),d.coerceFont(r,\\\"titlefont\\\",{family:n.family,size:Math.round(1.4*n.size),color:n.color}),r(\\\"autosize\\\",!(t.width&&t.height)),r(\\\"width\\\"),r(\\\"height\\\"),r(\\\"margin.l\\\"),r(\\\"margin.r\\\"),r(\\\"margin.t\\\"),r(\\\"margin.b\\\"),r(\\\"margin.pad\\\"),r(\\\"margin.autoexpand\\\"),t.width&&t.height&&v.sanitizeMargins(e),r(\\\"paper_bgcolor\\\"),r(\\\"separators\\\"),r(\\\"hidesources\\\"),r(\\\"smith\\\"),f.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\"),f.getComponentMethod(\\\"fx\\\",\\\"supplyLayoutGlobalDefaults\\\")(t,e,r)},v.plotAutoSize=function(t,e,r){var n,i,a=t._context||{},s=a.frameMargins,l=d.isPlotDiv(t);if(l&&t.emit(\\\"plotly_autosize\\\"),a.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=\\\"hidden\\\";else if(u(s)&&s>0){var c=o(t._boundingBoxMargins),h=c.left+c.right,f=c.bottom+c.top,p=1-2*s,m=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(m.width-h)),i=Math.round(p*(m.height-f))}else{var g=l?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,i=parseFloat(g.height)||r.height}var y=v.layoutAttributes.width.min,b=v.layoutAttributes.height.min;n<y&&(n=y),i<b&&(i=b);var x=!e.width&&Math.abs(r.width-n)>1,_=!e.height&&Math.abs(r.height-i)>1;(_||x)&&(x&&(r.width=n),_&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),v.sanitizeMargins(r)},v.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a;c.Axes.supplyLayoutDefaults(t,e,r);var o=e._basePlotModules;for(i=0;i<o.length;i++)a=o[i],\\\"cartesian\\\"!==a.name&&a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var s=e._modules;for(i=0;i<s.length;i++)a=s[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var l=e._transformModules;for(i=0;i<l.length;i++)a=l[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r,n);var u=Object.keys(f.componentsRegistry);for(i=0;i<u.length;i++)a=f.componentsRegistry[u[i]],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r)},v.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&e._glcontainer.remove(),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),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.firstscatter,delete t.hmlumcount,delete t.hmpixcount,delete t.numboxes,delete t._hoverTimer,delete t._lastHoverTime,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,t.removeAllListeners&&t.removeAllListeners()},v.style=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++){var n=e[r];n.style&&n.style(t)}},v.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},v.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||v.doAutoMargin(t)}},v.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),a=Math.max(e.margin.r||0,0),o=Math.max(e.margin.t||0,0),s=Math.max(e.margin.b||0,0),l=e._pushmargin;if(!1!==e.margin.autoexpand){l.base={l:{val:0,size:i},r:{val:1,size:a},t:{val:1,size:o},b:{val:0,size:s}}\\n\",\n       \";for(var h=Object.keys(l),f=0;f<h.length;f++)for(var d=h[f],p=l[d].l||{},m=l[d].b||{},v=p.val,g=p.size,y=m.val,b=m.size,x=0;x<h.length;x++){var _=h[x];if(u(g)&&l[_].r){var w=l[_].r.val,M=l[_].r.size;if(w>v){var k=(g*w+(M-e.width)*v)/(w-v),A=(M*(1-v)+(g-e.width)*(1-w))/(w-v);k>=0&&A>=0&&k+A>i+a&&(i=k,a=A)}}if(u(b)&&l[_].t){var T=l[_].t.val,S=l[_].t.size;if(T>y){var E=(b*T+(S-e.height)*y)/(T-y),L=(S*(1-y)+(b-e.height)*(1-T))/(T-y);E>=0&&L>=0&&E+L>s+o&&(s=E,o=L)}}}}if(r.l=Math.round(i),r.r=Math.round(a),r.t=Math.round(o),r.b=Math.round(s),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&\\\"{}\\\"!==n&&n!==JSON.stringify(e._size))return c.plot(t)},v.graphJson=function(t,e,r,n,i){function a(t){if(\\\"function\\\"==typeof t)return null;if(d.isPlainObject(t)){var e,n,i={};for(e in t)if(\\\"function\\\"!=typeof t[e]&&-1===[\\\"_\\\",\\\"[\\\"].indexOf(e.charAt(0))){if(\\\"keepdata\\\"===r){if(\\\"src\\\"===e.substr(e.length-3))continue}else if(\\\"keepstream\\\"===r){if(\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0&&!d.isPlainObject(t.stream))continue}else if(\\\"keepall\\\"!==r&&\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0)continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):d.isJSDate(t)?d.ms2DateTimeLocal(+t):t}(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&v.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames,u={data:(o||[]).map(function(t){var r=a(t);return e&&delete r.fit,r})};return e||(u.layout=a(s)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=a(l)),\\\"object\\\"===n?u:JSON.stringify(u)},v.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch(n=e[r],n.type){case\\\"replace\\\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\\\"insert\\\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\\\"delete\\\":i=a[n.index],delete o[i.name],a.splice(n.index,1)}return Promise.resolve()},v.computeFrame=function(t,e){var r,n,i,a,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],u=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=v.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)void 0!==(i=n[r])&&null!==i&&(a=c.traces.indexOf(i),-1===a&&(a=c.data.length,c.traces[a]=i),c.data[a]=v.extendTrace(c.data[a],s.data[r]))}return c},v.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},v.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c,h=d.extendDeepNoArrays({},e||{}),f=d.expandObjectPaths(h),p={};if(r&&r.length)for(a=0;a<r.length;a++)n=d.nestedProperty(f,r[a]),i=n.get(),void 0===i?d.nestedProperty(p,r[a]).set(null):(n.set(null),d.nestedProperty(p,r[a]).set(i));if(t=d.extendDeepNoArrays(t||{},f),r&&r.length)for(a=0;a<r.length;a++)if(s=d.nestedProperty(p,r[a]),u=s.get()){for(l=d.nestedProperty(t,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var m=u[o];c[o]=null===m?null:v.extendObjectWithContainers(c[o],m)}l.set(c)}return t},v.dataArrayContainers=[\\\"transforms\\\"],v.layoutArrayContainers=f.layoutArrayContainers,v.extendTrace=function(t,e){return v.extendObjectWithContainers(t,e,v.dataArrayContainers)},v.extendLayout=function(t,e){return v.extendObjectWithContainers(t,e,v.layoutArrayContainers)},v.transition=function(t,e,r,n,i,a){function o(){var n;for(n=0;n<y.length;n++){var i=y[n],a=t._fullData[i],o=a._module;o&&(o.animatable&&b.push(i),t.data[y[n]]=v.extendTrace(t.data[y[n]],e[n]))}var s=d.expandObjectPaths(d.extendDeepNoArrays({},r)),l=/^[xy]axis[0-9]*$/;for(var u in s)l.test(u)&&delete s[u].range;return v.extendLayout(t.layout,s),delete t.calcdata,v.supplyDefaults(t),v.doCalcdata(t),w.calc(t),Promise.resolve()}function s(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}function l(t){if(t)for(;t.length;)t.shift()}function u(){return t.emit(\\\"plotly_transitioning\\\",[]),new Promise(function(e){function n(){return l++,function(){u++,x||u!==l||h(e)}}t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){x=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return c.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\\\"plotly_transitioninterrupted\\\",[])});var o,s,l=0,u=0,f=t._fullLayout._basePlotModules,p=!1;if(r)for(s=0;s<f.length;s++)if(f[s].transitionAxes){var m=d.expandObjectPaths(r);p=f[s].transitionAxes(t,m,a,n)||p}for(p?(o=d.extendFlat({},a),o.duration=0):o=a,s=0;s<f.length;s++)f[s].plot(t,b,o,n);setTimeout(n())})}function h(e){if(t._transitionData)return l(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return c.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\\\"plotly_transitioned\\\",[])}).then(e)}function f(){if(t._transitionData)return t._transitioning=!1,s(t._transitionData._interruptCallbacks)}var p,m,g=Array.isArray(e)?e.length:0,y=n.slice(0,g),b=[],x=!1;for(p=0;p<y.length;p++){m=y[p];var _=t._fullData[m],M=_._module;if(M&&!M.animatable){var k={};for(var A in e[p])k[A]=[e[p][A]]}}var T=[v.previousPromises,f,o,v.rehover,u],S=d.syncOrAsync(T,t);return S&&S.then||(S=Promise.resolve()),S.then(function(){return t})},v.doCalcdata=function(t,e){var r,n,i,a,o=c.Axes.list(t),l=t._fullData,u=t._fullLayout,d=new Array(l.length),p=(t.calcdata||[]).slice(0);for(t.calcdata=d,t.firstscatter=!0,t.numboxes=0,t._hmpixcount=0,t._hmlumcount=0,u._piecolormap={},u._piedefaultcolorcount=0,i=0;i<l.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=p[i]);for(i=0;i<l.length;i++)r=l[i],r._arrayAttrs=h.findArrayAttributes(r);s(o);var v=!1;for(i=0;i<l.length;i++)if(r=l[i],!0===r.visible&&r.transforms)for(n=r._module,n&&n.calc&&n.calc(t,r),a=0;a<r.transforms.length;a++){var g=r.transforms[a];n=_[g.type],n&&n.calcTransform&&(r._hasCalcTransform=!0,v=!0,n.calcTransform(t,r,g))}if(v){for(i=0;i<o.length;i++)o[i]._min=[],o[i]._max=[],o[i]._categories=[],o[i]._categoriesMap={};s(o)}for(i=0;i<l.length;i++){var y=[];r=l[i],!0===r.visible&&(n=r._module)&&n.calc&&(y=n.calc(t,r)),Array.isArray(y)&&y[0]||(y=[{x:m,y:m}]),y[0].t||(y[0].t={}),y[0].trace=r,d[i]=y}f.getComponentMethod(\\\"fx\\\",\\\"calc\\\")(t)},v.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},v.generalUpdatePerTraceModule=function(t,e,r){var n,i=t.traceHash,a={};for(n=0;n<e.length;n++){var o=e[n],s=o[0].trace;s.visible&&(a[s.type]=a[s.type]||[],a[s.type].push(o))}var l=Object.keys(i),u=Object.keys(a);for(n=0;n<l.length;n++){var c=l[n];if(-1===u.indexOf(c)){var h=i[c][0];h[0].trace.visible=!1,a[c]=[h]}}for(u=Object.keys(a),n=0;n<u.length;n++){var f=a[u[n]];f[0][0].trace._module.plot(t,function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];!0===n[0].trace.visible&&e.push(n)}return e}(f),r)}t.traceHash=a}},{\\\"../components/color\\\":603,\\\"../components/errorbars\\\":633,\\\"../constants/numerical\\\":705,\\\"../lib\\\":725,\\\"../plot_api/plot_schema\\\":755,\\\"../plotly\\\":761,\\\"../registry\\\":844,\\\"./animation_attributes\\\":762,\\\"./attributes\\\":764,\\\"./command\\\":789,\\\"./font_attributes\\\":790,\\\"./frame_attributes\\\":791,\\\"./layout_attributes\\\":820,d3:121,\\\"fast-isnumeric\\\":130}],830:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../traces/scatter/attributes\\\"),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity}}},{\\\"../../traces/scatter/attributes\\\":1027}],831:[function(t,e,r){\\\"use strict\\\";function n(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\\\"},visible:{valType:\\\"boolean\\\"}})}var i=t(\\\"../cartesian/layout_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=a({},i.domain,{});e.exports={radialaxis:n(\\\"radial\\\",{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},domain:o,orientation:{valType:\\\"number\\\"}}),angularaxis:n(\\\"angular\\\",{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",dflt:0},{valType:\\\"number\\\",dflt:360}]},domain:o}),layout:{direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"]},orientation:{valType:\\\"angle\\\"}}}},{\\\"../../lib/extend\\\":716,\\\"../cartesian/layout_attributes\\\":777}],832:[function(t,e,r){\\\"use strict\\\";(e.exports=t(\\\"./micropolar\\\")).manager=t(\\\"./micropolar_manager\\\")},{\\\"./micropolar\\\":833,\\\"./micropolar_manager\\\":834}],833:[function(t,e,r){var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=i.extendDeepAll,o=t(\\\"../../constants/alignment\\\").MID_SHIFT,s=e.exports={version:\\\"0.2.2\\\"};s.Axis=function(){function t(t){r=t||r;var c=u.data,f=u.layout;return(\\\"string\\\"==typeof r||r.nodeName)&&(r=n.select(r)),r.datum(c).each(function(t,r){function u(t,e){return l(t)%360+f.orientation}var c=t.slice();h={data:s.util.cloneJson(c),layout:s.util.cloneJson(f)};var d=0;c.forEach(function(t,e){t.color||(t.color=f.defaultColorRange[d],d=(d+1)%f.defaultColorRange.length),t.strokeColor||(t.strokeColor=\\\"LinePlot\\\"===t.geometry?t.color:n.rgb(t.color).darker().toString()),h.data[e].color=t.color,h.data[e].strokeColor=t.strokeColor,h.data[e].strokeDash=t.strokeDash,h.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),m=!1,v=p.map(function(t,e){return m=m||void 0!==t.groupId,t});if(m){var g=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\\\"unstacked\\\"}).entries(v),y=[],b=g.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],y.push(r),r=s.util.sumArrays(t.r,r)}),t.values});p=n.merge(b)}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 _,w=[f.margin.left+x,f.margin.top+x];if(m){_=[0,n.max(s.util.sumArrays(s.util.arrayLast(p).r[0],s.util.arrayLast(y)))]}else _=n.extent(s.util.flattenArray(p.map(function(t,e){return t.r})));f.radialAxis.domain!=s.DATAEXTENT&&(_[0]=0),i=n.scale.linear().domain(f.radialAxis.domain!=s.DATAEXTENT&&f.radialAxis.domain?f.radialAxis.domain:_).range([0,x]),h.layout.radialAxis.domain=i.domain();var M,k=s.util.flattenArray(p.map(function(t,e){return t.t})),A=\\\"string\\\"==typeof k[0];A&&(k=s.util.deduplicate(k),M=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],m&&(r.yStack=t.yStack),r}));var T=p.filter(function(t,e){return\\\"LinePlot\\\"===t.geometry||\\\"DotPlot\\\"===t.geometry}).length===p.length,S=null===f.needsEndSpacing?A||!T:f.needsEndSpacing,E=f.angularAxis.domain&&f.angularAxis.domain!=s.DATAEXTENT&&!A&&f.angularAxis.domain[0]>=0,L=E?f.angularAxis.domain:n.extent(k),C=Math.abs(k[1]-k[0]);T&&!A&&(C=0);var z=L.slice();S&&A&&(z[1]+=C);var I=f.angularAxis.ticksCount||4;I>8&&(I=I/(I/8)+I%8),f.angularAxis.ticksStep&&(I=(z[1]-z[0])/I);var D=f.angularAxis.ticksStep||(z[1]-z[0])/(I*(f.minorTicks+1));M&&(D=Math.max(Math.round(D),1)),z[2]||(z[2]=D);var P=n.range.apply(this,z);if(P=P.map(function(t,e){return parseFloat(t.toPrecision(12))}),l=n.scale.linear().domain(z.slice(0,2)).range(\\\"clockwise\\\"===f.direction?[0,360]:[360,0]),h.layout.angularAxis.domain=l.domain(),h.layout.angularAxis.endPadding=S?C:0,void 0===(e=n.select(this).select(\\\"svg.chart-root\\\"))||e.empty()){var O=(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\\\"),R=this.appendChild(this.ownerDocument.importNode(O.documentElement,!0));e=n.select(R)}e.select(\\\".guides-group\\\").style({\\\"pointer-events\\\":\\\"none\\\"}),e.select(\\\".angular.axis-group\\\").style({\\\"pointer-events\\\":\\\"none\\\"}),e.select(\\\".radial.axis-group\\\").style({\\\"pointer-events\\\":\\\"none\\\"});var F,j=e.select(\\\".chart-group\\\"),N={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){F=e.select(\\\".legend-group\\\").attr({transform:\\\"translate(\\\"+[x,f.margin.top]+\\\")\\\"}).style({display:\\\"block\\\"});var U=p.map(function(t,e){var r=s.util.cloneJson(t);return r.symbol=\\\"DotPlot\\\"===t.geometry?t.dotType||\\\"circle\\\":\\\"LinePlot\\\"!=t.geometry?\\\"square\\\":\\\"line\\\",r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=\\\"LinePlot\\\"===t.geometry?t.strokeColor:t.color,r});s.Legend().config({data:p.map(function(t,e){return t.name||\\\"Element\\\"+e}),legendConfig:a({},s.Legend.defaultConfig().legendConfig,{container:F,elements:U,reverseOrder:f.legend.reverseOrder})})();var V=F.node().getBBox();x=Math.min(f.width-V.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),w=[f.margin.left+x,f.margin.top+x],i.range([0,x]),h.layout.radialAxis.domain=i.domain(),F.attr(\\\"transform\\\",\\\"translate(\\\"+[w[0]+x,w[1]-x]+\\\")\\\")}else F=e.select(\\\".legend-group\\\").style({display:\\\"none\\\"});e.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),j.attr(\\\"transform\\\",\\\"translate(\\\"+w+\\\")\\\").style({cursor:\\\"crosshair\\\"});var H=[(f.width-(f.margin.left+f.margin.right+2*x+(V?V.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(H[0]=Math.max(0,H[0]),H[1]=Math.max(0,H[1]),e.select(\\\".outer-group\\\").attr(\\\"transform\\\",\\\"translate(\\\"+H+\\\")\\\"),f.title){var q=e.select(\\\"g.title-group text\\\").style(B).text(f.title),G=q.node().getBBox();q.attr({x:w[0]-G.width/2,y:w[1]-x-20})}var Y=e.select(\\\".radial.axis-group\\\");if(f.radialAxis.gridLinesVisible){var X=Y.selectAll(\\\"circle.grid-circle\\\").data(i.ticks(5));X.enter().append(\\\"circle\\\").attr({class:\\\"grid-circle\\\"}).style(N),X.attr(\\\"r\\\",i),X.exit().remove()}Y.select(\\\"circle.outside-circle\\\").attr({r:x}).style(N);var W=e.select(\\\"circle.background-circle\\\").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});if(f.radialAxis.visible){var Z=n.svg.axis().scale(i).ticks(5).tickSize(5);Y.call(Z).attr({transform:\\\"rotate(\\\"+f.radialAxis.orientation+\\\")\\\"}),Y.selectAll(\\\".domain\\\").style(N),Y.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\\\"]]+\\\")\\\"}}),Y.selectAll(\\\"g>line\\\").style({stroke:\\\"black\\\"})}var J=e.select(\\\".angular.axis-group\\\").selectAll(\\\"g.angular-tick\\\").data(P),K=J.enter().append(\\\"g\\\").classed(\\\"angular-tick\\\",!0);J.attr({transform:function(t,e){return\\\"rotate(\\\"+u(t,e)+\\\")\\\"}}).style({display:f.angularAxis.visible?\\\"block\\\":\\\"none\\\"}),J.exit().remove(),K.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(N),K.selectAll(\\\".minor\\\").style({stroke:f.minorTickColor}),J.select(\\\"line.grid-line\\\").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?\\\"block\\\":\\\"none\\\"}),K.append(\\\"text\\\").classed(\\\"axis-text\\\",!0).style(B);var Q=J.select(\\\"text.axis-text\\\").attr({x:x+f.labelOffset,dy:o+\\\"em\\\",transform:function(t,e){var r=u(t,e),n=x+f.labelOffset,i=f.angularAxis.tickOrientation;return\\\"horizontal\\\"==i?\\\"rotate(\\\"+-r+\\\" \\\"+n+\\\" 0)\\\":\\\"radial\\\"==i?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?\\\"\\\":M?M[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix}).style(B);f.angularAxis.rewriteTicks&&Q.text(function(t,e){return e%(f.minorTicks+1)!=0?\\\"\\\":f.angularAxis.rewriteTicks(this.textContent,e)});var $=n.max(j.selectAll(\\\".angular-tick text\\\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));F.attr({transform:\\\"translate(\\\"+[x+$,f.margin.top]+\\\")\\\"});var tt=e.select(\\\"g.geometry-group\\\").selectAll(\\\"g\\\").size()>0,et=e.select(\\\"g.geometry-group\\\").selectAll(\\\"g.geometry\\\").data(p);if(et.enter().append(\\\"g\\\").attr({class:function(t,e){return\\\"geometry geometry\\\"+e}}),et.exit().remove(),p[0]||tt){var rt=[];p.forEach(function(t,e){var r={};r.radialScale=i,r.angularScale=l,r.container=et.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=f.orientation,r.direction=f.direction,r.index=e,rt.push({data:t,geometryConfig:r})});var nt=n.nest().key(function(t,e){return void 0!==t.data.groupId||\\\"unstacked\\\"}).entries(rt),it=[];nt.forEach(function(t,e){\\\"unstacked\\\"===t.key?it=it.concat(t.values.map(function(t,e){return[t]})):it.push(t.values)}),it.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(s[r].defaultConfig(),t)});s[r]().config(n)()})}var at,ot,st=e.select(\\\".guides-group\\\"),lt=e.select(\\\".tooltips-group\\\"),ut=s.tooltipPanel().config({container:lt,fontSize:8})(),ct=s.tooltipPanel().config({container:lt,fontSize:8})(),ht=s.tooltipPanel().config({container:lt,hasTick:!0})();if(!A){var ft=st.select(\\\"line\\\").attr({x1:0,y1:0,y2:0}).style({stroke:\\\"grey\\\",\\\"pointer-events\\\":\\\"none\\\"});j.on(\\\"mousemove.angular-guide\\\",function(t,e){var r=s.util.getMousePos(W).angle;ft.attr({x2:-x,transform:\\\"rotate(\\\"+r+\\\")\\\"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=l.invert(n);var i=s.util.convertToCartesian(x+12,r+180);ut.text(s.util.round(at)).move([i[0]+w[0],i[1]+w[1]])}).on(\\\"mouseout.angular-guide\\\",function(t,e){st.select(\\\"line\\\").style({opacity:0})})}var dt=st.select(\\\"circle\\\").style({stroke:\\\"grey\\\",fill:\\\"none\\\"});j.on(\\\"mousemove.radial-guide\\\",function(t,e){var r=s.util.getMousePos(W).radius;dt.attr({r:r}).style({opacity:.5}),ot=i.invert(s.util.getMousePos(W).radius);var n=s.util.convertToCartesian(r,f.radialAxis.orientation);ct.text(s.util.round(ot)).move([n[0]+w[0],n[1]+w[1]])}).on(\\\"mouseout.radial-guide\\\",function(t,e){dt.style({opacity:0}),ht.hide(),ut.hide(),ct.hide()}),e.selectAll(\\\".geometry-group .mark\\\").on(\\\"mouseover.tooltip\\\",function(t,r){var i=n.select(this),a=i.style(\\\"fill\\\"),o=\\\"black\\\",l=i.style(\\\"opacity\\\")||1;if(i.attr({\\\"data-opacity\\\":l}),\\\"none\\\"!=a){i.attr({\\\"data-fill\\\":a}),o=n.hsl(a).darker().toString(),i.style({fill:o,opacity:1});var u={t:s.util.round(t[0]),r:s.util.round(t[1])};A&&(u.t=M[t[0]]);var c=\\\"t: \\\"+u.t+\\\", r: \\\"+u.r,h=this.getBoundingClientRect(),f=e.node().getBoundingClientRect(),d=[h.left+h.width/2-H[0]-f.left,h.top+h.height/2-H[1]-f.top];ht.config({color:o}).text(c),ht.move(d)}else a=i.style(\\\"stroke\\\"),i.attr({\\\"data-stroke\\\":a}),o=n.hsl(a).darker().toString(),i.style({stroke:o,opacity:1})}).on(\\\"mousemove.tooltip\\\",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\\\"data-fill\\\")&&ht.show()}).on(\\\"mouseout.tooltip\\\",function(t,e){ht.hide();var r=n.select(this),i=r.attr(\\\"data-fill\\\");i?r.style({fill:i,opacity:r.attr(\\\"data-opacity\\\")}):r.style({stroke:r.attr(\\\"data-stroke\\\"),opacity:r.attr(\\\"data-opacity\\\")})})}),d}var e,r,i,l,u={data:[],layout:{}},c={},h={},f=n.dispatch(\\\"hover\\\"),d={};return d.render=function(e){return t(e),this},d.config=function(t){if(!arguments.length)return u;var e=s.util.cloneJson(t);return e.data.forEach(function(t,e){u.data[e]||(u.data[e]={}),a(u.data[e],s.Axis.defaultConfig().data[0]),a(u.data[e],t)}),a(u.layout,s.Axis.defaultConfig().layout),a(u.layout,e.layout),this},d.getLiveConfig=function(){return h},d.getinputConfig=function(){return c},d.radialScale=function(t){return i},d.angularScale=function(t){return l},d.svg=function(){return e},n.rebind(d,f,\\\"on\\\"),d},s.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}}},s.util={},s.DATAEXTENT=\\\"dataExtent\\\",s.AREA=\\\"AreaChart\\\",s.LINE=\\\"LinePlot\\\",s.DOT=\\\"DotPlot\\\",s.BAR=\\\"BarChart\\\",s.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},s.util._extend=function(t,e){for(var r in t)e[r]=t[r]},s.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},s.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)]})},s.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},s.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},s.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=s.util.ensureArray(t[e],r)}),t},s.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},s.util.validateKeys=function(t,e){\\\"string\\\"==typeof e&&(e=e.split(\\\".\\\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},s.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},s.util.arrayLast=function(t){return t[t.length-1]},s.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},s.util.flattenArray=function(t){for(var e=[];!s.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},s.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},s.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},s.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},s.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},s.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)e=t[i],e in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},s.util.duplicates=function(t){return Object.keys(s.util.duplicatesCount(t))},s.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&&(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},s.PolyChart=function(){function t(){var t=e[0].geometryConfig,r=t.container;\\\"string\\\"==typeof r&&(r=n.select(r)),r.datum(e).each(function(e,r){function a(e,r){return{r:t.radialScale(e[1]),t:(t.angularScale(e[0])+t.orientation)*Math.PI/180}}function o(t){return{x:t.r*Math.cos(t.t),y:t.r*Math.sin(t.t)}}var s=!!e[0].data.yStack,l=e.map(function(t,e){return s?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),u=t.angularScale,c=t.radialScale.domain()[0],h={};h.bar=function(r,i,a){var o=e[a].data,s=t.radialScale(r[1])-t.radialScale(0),l=t.radialScale(r[2]||0),c=o.barWidth;n.select(this).attr({class:\\\"mark bar\\\",d:\\\"M\\\"+[[s+l,-c/2],[s+l,c/2],[l,c/2],[l,-c/2]].join(\\\"L\\\")+\\\"Z\\\",transform:function(e,r){return\\\"rotate(\\\"+(t.orientation+u(e[0]))+\\\")\\\"}})},h.dot=function(t,r,i){var s=t[2]?[t[0],t[1]+t[2]]:t,l=n.svg.symbol().size(e[i].data.dotSize).type(e[i].data.dotType)(t,r);n.select(this).attr({class:\\\"mark dot\\\",d:l,transform:function(t,e){var r=o(a(s));return\\\"translate(\\\"+[r.x,r.y]+\\\")\\\"}})};var f=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});h.line=function(r,i,a){var o=r[2]?l[a].map(function(t,e){return[t[0],t[1]+t[2]]}):l[a];if(n.select(this).each(h.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:v.stroke(r,i,a)}).attr({class:\\\"mark dot\\\"}),!(i>0)){var s=n.select(this.parentNode).selectAll(\\\"path.line\\\").data([0]);s.enter().insert(\\\"path\\\"),s.attr({class:\\\"line\\\",d:f(o),transform:function(e,r){return\\\"rotate(\\\"+(t.orientation+90)+\\\")\\\"},\\\"pointer-events\\\":\\\"none\\\"}).style({fill:function(t,e){return v.fill(r,i,a)},\\\"fill-opacity\\\":0,stroke:function(t,e){return v.stroke(r,i,a)},\\\"stroke-width\\\":function(t,e){return v[\\\"stroke-width\\\"](r,i,a)},\\\"stroke-dasharray\\\":function(t,e){return v[\\\"stroke-dasharray\\\"](r,i,a)},opacity:function(t,e){return v.opacity(r,i,a)},display:function(t,e){return v.display(r,i,a)}})}};var d=t.angularScale.range(),p=Math.abs(d[1]-d[0])/l[0].length*Math.PI/180,m=n.svg.arc().startAngle(function(t){return-p/2}).endAngle(function(t){return p/2}).innerRadius(function(e){return t.radialScale(c+(e[2]||0))}).outerRadius(function(e){return t.radialScale(c+(e[2]||0))+t.radialScale(e[1])});h.arc=function(e,r,i){n.select(this).attr({class:\\\"mark arc\\\",d:m,transform:function(e,r){return\\\"rotate(\\\"+(t.orientation+u(e[0])+90)+\\\")\\\"}})};var v={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},\\\"stroke-width\\\":function(t,r,n){return e[n].data.strokeSize+\\\"px\\\"},\\\"stroke-dasharray\\\":function(t,r,n){return i[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return void 0===e[n].data.visible||e[n].data.visible?\\\"block\\\":\\\"none\\\"}},g=n.select(this).selectAll(\\\"g.layer\\\").data(l);g.enter().append(\\\"g\\\").attr({class:\\\"layer\\\"});var y=g.selectAll(\\\"path.mark\\\").data(function(t,e){return t});y.enter().append(\\\"path\\\").attr({class:\\\"mark\\\"}),y.style(v).each(h[t.geometryType]),y.exit().remove(),g.exit().remove()})}var e=[s.PolyChart.defaultConfig()],r=n.dispatch(\\\"hover\\\"),i={solid:\\\"none\\\",dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,r){e[r]||(e[r]={}),a(e[r],s.PolyChart.defaultConfig()),a(e[r],t)}),this):e},t.getColorScale=function(){},n.rebind(t,r,\\\"on\\\"),t},s.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()}}},s.BarChart=function(){return s.PolyChart()},s.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"bar\\\"}}},s.AreaChart=function(){return s.PolyChart()},s.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"arc\\\"}}},s.DotPlot=function(){return s.PolyChart()},s.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"dot\\\",dotType:\\\"circle\\\"}}},s.LinePlot=function(){return s.PolyChart()},s.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"line\\\"}}},s.Legend=function(){function t(){var r=e.legendConfig,i=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=a({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&&(o=o.reverse());var s=r.container;(\\\"string\\\"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),u=r.fontSize,c=null==r.isContinuous?\\\"number\\\"==typeof o[0]:r.isContinuous,h=c?r.height:u*o.length,f=s.classed(\\\"legend-group\\\",!0),d=f.selectAll(\\\"svg\\\").data([0]),p=d.enter().append(\\\"svg\\\").attr({width:300,height:h+u,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 m=n.range(o.length),v=n.scale[c?\\\"linear\\\":\\\"ordinal\\\"]().domain(m).range(l),g=n.scale[c?\\\"linear\\\":\\\"ordinal\\\"]().domain(m)[c?\\\"range\\\":\\\"rangePoints\\\"]([0,h]),y=function(t,e){var r=3*e;return\\\"line\\\"===t?\\\"M\\\"+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+\\\"Z\\\":-1!=n.svg.symbolTypes.indexOf(t)?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(\\\"square\\\").size(r)()};if(c){var b=d.select(\\\".legend-marks\\\").append(\\\"defs\\\").append(\\\"linearGradient\\\").attr({id:\\\"grad1\\\",x1:\\\"0%\\\",y1:\\\"0%\\\",x2:\\\"0%\\\",y2:\\\"100%\\\"}).selectAll(\\\"stop\\\").data(l);b.enter().append(\\\"stop\\\"),b.attr({offset:function(t,e){return e/(l.length-1)*100+\\\"%\\\"}}).style({\\\"stop-color\\\":function(t,e){return t}}),d.append(\\\"rect\\\").classed(\\\"legend-mark\\\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\\\"url(#grad1)\\\"})}else{var x=d.select(\\\".legend-marks\\\").selectAll(\\\"path.legend-mark\\\").data(o);x.enter().append(\\\"path\\\").classed(\\\"legend-mark\\\",!0),x.attr({transform:function(t,e){return\\\"translate(\\\"+[u/2,g(e)+u/2]+\\\")\\\"},d:function(t,e){var r=t.symbol;return y(r,u)},fill:function(t,e){return v(e)}}),x.exit().remove()}var _=n.svg.axis().scale(g).orient(\\\"right\\\"),w=d.select(\\\"g.legend-axis\\\").attr({transform:\\\"translate(\\\"+[c?r.colorBandWidth:u,u/2]+\\\")\\\"}).call(_);return w.selectAll(\\\".domain\\\").style({fill:\\\"none\\\",stroke:\\\"none\\\"}),w.selectAll(\\\"line\\\").style({fill:\\\"none\\\",stroke:c?r.textColor:\\\"none\\\"}),w.selectAll(\\\"text\\\").style({fill:r.textColor,\\\"font-size\\\":r.fontSize}).text(function(t,e){return o[e].name}),t}var e=s.Legend.defaultConfig(),r=n.dispatch(\\\"hover\\\");return t.config=function(t){return arguments.length?(a(e,t),this):e},n.rebind(t,r,\\\"on\\\"),t},s.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}}},s.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:\\\"white\\\",padding:5},o=\\\"tooltip-\\\"+s.tooltipPanel.uid++,l=function(){t=i.container.selectAll(\\\"g.\\\"+o).data([0]);var n=t.enter().append(\\\"g\\\").classed(o,!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+10,dy:.3*+i.fontSize}),l};return l.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?\\\"#aaa\\\":\\\"white\\\",u=o>=.5?\\\"black\\\":\\\"white\\\",c=a||\\\"\\\";e.style({fill:u,\\\"font-size\\\":i.fontSize+\\\"px\\\"}).text(c);var h=i.padding,f=e.node().getBBox(),d={fill:i.color,stroke:s,\\\"stroke-width\\\":\\\"2px\\\"},p=f.width+2*h+10,m=f.height+2*h;return r.attr({d:\\\"M\\\"+[[10,-m/2],[10,-m/4],[i.hasTick?0:10,0],[10,m/4],[10,m/2],[p,m/2],[p,-m/2]].join(\\\"L\\\")+\\\"Z\\\"}).style(d),t.attr({transform:\\\"translate(\\\"+[10,-m/2+2*h]+\\\")\\\"}),t.style({display:\\\"block\\\"}),l},l.move=function(e){if(t)return t.attr({transform:\\\"translate(\\\"+[e[0],e[1]]+\\\")\\\"}).style({display:\\\"block\\\"}),l},l.hide=function(){if(t)return t.style({display:\\\"none\\\"}),l},l.show=function(){if(t)return t.style({display:\\\"block\\\"}),l},l.config=function(t){return a(i,t),l},l},s.tooltipPanel.uid=1,s.adapter={},s.adapter.plotly=function(){var t={};return t.convert=function(t,e){\\n\",\n       \"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){s.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=s.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 o=a({},t.layout);if([[o,[\\\"plot_bgcolor\\\"],[\\\"backgroundColor\\\"]],[o,[\\\"showlegend\\\"],[\\\"showLegend\\\"]],[o,[\\\"radialaxis\\\"],[\\\"radialAxis\\\"]],[o,[\\\"angularaxis\\\"],[\\\"angularAxis\\\"]],[o.angularaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.angularaxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[o.angularaxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[o.angularaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.angularaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.angularaxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.angularaxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[o.radialaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.radialaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.radialaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.radialaxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.angularAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.angularAxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[o.angularAxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[o.angularAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.angularAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.angularAxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.angularAxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[o.radialAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.radialAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.radialAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.radialAxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.font,[\\\"outlinecolor\\\"],[\\\"outlineColor\\\"]],[o.legend,[\\\"traceorder\\\"],[\\\"reverseOrder\\\"]],[o,[\\\"labeloffset\\\"],[\\\"labelOffset\\\"]],[o,[\\\"defaultcolorrange\\\"],[\\\"defaultColorRange\\\"]]].forEach(function(t,r){s.util.translator.apply(null,t.concat(e))}),e?(void 0!==o.tickLength&&(o.angularaxis.ticklen=o.tickLength,delete o.tickLength),o.tickColor&&(o.angularaxis.tickcolor=o.tickColor,delete o.tickColor)):(o.angularAxis&&void 0!==o.angularAxis.ticklen&&(o.tickLength=o.angularAxis.ticklen),o.angularAxis&&void 0!==o.angularAxis.tickcolor&&(o.tickColor=o.angularAxis.tickcolor)),o.legend&&\\\"boolean\\\"!=typeof o.legend.reverseOrder&&(o.legend.reverseOrder=\\\"normal\\\"!=o.legend.reverseOrder),o.legend&&\\\"boolean\\\"==typeof o.legend.traceorder&&(o.legend.traceorder=o.legend.traceorder?\\\"reversed\\\":\\\"normal\\\",delete o.legend.reverseOrder),o.margin&&void 0!==o.margin.t){var l=[\\\"t\\\",\\\"r\\\",\\\"b\\\",\\\"l\\\",\\\"pad\\\"],u=[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\",\\\"pad\\\"],c={};n.entries(o.margin).forEach(function(t,e){c[u[l.indexOf(t.key)]]=t.value}),o.margin=c}e&&(delete o.needsEndSpacing,delete o.minorTickColor,delete o.minorTicks,delete o.angularaxis.ticksCount,delete o.angularaxis.ticksCount,delete o.angularaxis.ticksStep,delete o.angularaxis.rewriteTicks,delete o.angularaxis.nticks,delete o.radialaxis.ticksCount,delete o.radialaxis.ticksCount,delete o.radialaxis.ticksStep,delete o.radialaxis.rewriteTicks,delete o.radialaxis.nticks),r.layout=o}return r},t}},{\\\"../../constants/alignment\\\":699,\\\"../../lib\\\":725,d3:121}],834:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./micropolar\\\"),s=t(\\\"./undo_manager\\\"),l=i.extendDeepAll,u=e.exports={};u.framework=function(t){function e(e,i){return i&&(h=i),n.select(n.select(h).node().parentNode).selectAll(\\\".svg-container>*:not(.chart-root)\\\").remove(),r=r?l(r,e):e,a||(a=o.Axis()),c=o.adapter.plotly().convert(r),a.config(c).render(h),t.data=r.data,t.layout=r.layout,u.fillLayout(t),r}var r,i,a,c,h,f=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){f.add({undo:function(){r&&t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){f.undo()},e.redo=function(){f.redo()},e},u.fillLayout=function(t){var e=n.select(t).selectAll(\\\".plot-container\\\"),r=e.selectAll(\\\".svg-container\\\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"./micropolar\\\":833,\\\"./undo_manager\\\":835,d3:121}],835:[function(t,e,r){\\\"use strict\\\";e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,\\\"undo\\\"),n-=1,e&&e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,\\\"redo\\\"),n+=1,e&&e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return-1!==n},hasRedo:function(){return n<r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],836:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"./plots\\\");e.exports=function(t,e,r,a){function o(t,e){return n.coerce(s,l,c,t,e)}for(var s,l,u=a.type,c=a.attributes,h=a.handleDefaults,f=a.partition||\\\"x\\\",d=i.findSubplotIds(r,u),p=d.length,m=0;m<p;m++){var v=d[m];s=t[v]?t[v]:t[v]={},e[v]=l={},o(\\\"domain.\\\"+f,[m/p,(m+1)/p]),o(\\\"domain.\\\"+{x:\\\"y\\\",y:\\\"x\\\"}[f]),a.id=v,h(s,l,o,a)}}},{\\\"../lib\\\":725,\\\"./plots\\\":829}],837:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./ternary\\\"),i=t(\\\"../../plots/plots\\\");r.name=\\\"ternary\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"ternary\\\",r.idRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=i.getSubplotIds(e,\\\"ternary\\\"),o=0;o<a.length;o++){var s=a[o],l=i.getSubplotCalcData(r,\\\"ternary\\\",s),u=e[s]._subplot;u||(u=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=u),u.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"ternary\\\"),o=0;o<a.length;o++){var s=a[o],l=n[s]._subplot;!e[s]&&l&&(l.plotContainer.remove(),l.clipDef.remove(),l.clipDefRelative.remove())}}},{\\\"../../plots/plots\\\":829,\\\"./layout/attributes\\\":838,\\\"./layout/defaults\\\":841,\\\"./layout/layout_attributes\\\":842,\\\"./ternary\\\":843}],838:[function(t,e,r){\\\"use strict\\\";e.exports={subplot:{valType:\\\"subplotid\\\",dflt:\\\"ternary\\\"}}},{}],839:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../cartesian/layout_attributes\\\"),i=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:\\\"number\\\",dflt:0,min:0}}},{\\\"../../../lib/extend\\\":716,\\\"../../cartesian/layout_attributes\\\":777}],840:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../../lib\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../cartesian/tick_label_defaults\\\"),s=t(\\\"../../cartesian/tick_mark_defaults\\\"),l=t(\\\"../../cartesian/tick_value_defaults\\\");e.exports=function(t,e,r){function u(r,n){return i.coerce(t,e,a,r,n)}e.type=\\\"linear\\\";var c=u(\\\"color\\\"),h=c===t.color?c:r.font.color,f=e._name,d=f.charAt(0).toUpperCase(),p=\\\"Component \\\"+d,m=u(\\\"title\\\",p);e._hovertitle=m===p?m:d,i.coerceFont(u,\\\"titlefont\\\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:h}),u(\\\"min\\\"),l(t,e,u,\\\"linear\\\"),o(t,e,u,\\\"linear\\\",{noHover:!1}),s(t,e,u,{outerTicks:!0}),u(\\\"showticklabels\\\")&&(i.coerceFont(u,\\\"tickfont\\\",{family:r.font.family,size:r.font.size,color:h}),u(\\\"tickangle\\\"),u(\\\"tickformat\\\")),u(\\\"hoverformat\\\"),u(\\\"showline\\\")&&(u(\\\"linecolor\\\",c),u(\\\"linewidth\\\")),u(\\\"showgrid\\\")&&(u(\\\"gridcolor\\\",n(c,r.bgColor,60).toRgbString()),u(\\\"gridwidth\\\")),u(\\\"layer\\\")}},{\\\"../../../lib\\\":725,\\\"../../cartesian/tick_label_defaults\\\":784,\\\"../../cartesian/tick_mark_defaults\\\":785,\\\"../../cartesian/tick_value_defaults\\\":786,\\\"./axis_attributes\\\":839,tinycolor2:533}],841:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a=r(\\\"bgcolor\\\"),o=r(\\\"sum\\\");n.bgColor=i.combine(a,n.paper_bgcolor);for(var u,c,h,f=0;f<l.length;f++)u=l[f],c=t[u]||{},h=e[u]={_name:u,type:\\\"linear\\\"},s(c,h,n);var d=e.aaxis,p=e.baxis,m=e.caxis;d.min+p.min+m.min>=o&&(d.min=0,p.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var i=t(\\\"../../../components/color\\\"),a=t(\\\"../../subplot_defaults\\\"),o=t(\\\"./layout_attributes\\\"),s=t(\\\"./axis_defaults\\\"),l=[\\\"aaxis\\\",\\\"baxis\\\",\\\"caxis\\\"];e.exports=function(t,e,r){a(t,e,r,{type:\\\"ternary\\\",attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\\\"../../../components/color\\\":603,\\\"../../subplot_defaults\\\":836,\\\"./axis_defaults\\\":840,\\\"./layout_attributes\\\":842}],842:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"./axis_attributes\\\");e.exports={domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},bgcolor:{valType:\\\"color\\\",dflt:n.background},sum:{valType:\\\"number\\\",dflt:1,min:0},aaxis:i,baxis:i,caxis:i}},{\\\"../../../components/color/attributes\\\":602,\\\"./axis_attributes\\\":839}],843:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}function i(t){a.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}var a=t(\\\"d3\\\"),o=t(\\\"tinycolor2\\\"),s=t(\\\"../../plotly\\\"),l=t(\\\"../../lib\\\"),u=t(\\\"../../components/color\\\"),c=t(\\\"../../components/drawing\\\"),h=t(\\\"../cartesian/set_convert\\\"),f=t(\\\"../../lib/extend\\\").extendFlat,d=t(\\\"../plots\\\"),p=t(\\\"../cartesian/axes\\\"),m=t(\\\"../../components/dragelement\\\"),v=t(\\\"../../components/fx\\\"),g=t(\\\"../../components/titles\\\"),y=t(\\\"../cartesian/select\\\"),b=t(\\\"../cartesian/constants\\\");e.exports=n;var x=n.prototype;x.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},x.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<t.length;a++){if(!1===t[a][0].trace.cliponaxis){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),d.generalUpdatePerTraceModule(r,t,n),r.layers.plotbg.select(\\\"path\\\").call(u.fill,n.bgcolor)},x.makeFramework=function(t){var e=this,r=t[e.id],n=e.defs.selectAll(\\\"g.clips\\\").data([0]);n.enter().append(\\\"g\\\").classed(\\\"clips\\\",!0);var i=e.clipId=\\\"clip\\\"+e.layoutId+e.id;e.clipDef=n.selectAll(\\\"#\\\"+i).data([0]),e.clipDef.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",i).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\");var a=e.clipIdRelative=\\\"clip-relative\\\"+e.layoutId+e.id;e.clipDefRelative=n.selectAll(\\\"#\\\"+a).data([0]),e.clipDefRelative.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",a).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),e.plotContainer=e.container.selectAll(\\\"g.\\\"+e.id).data([0]),e.plotContainer.enter().append(\\\"g\\\").classed(e.id,!0),e.updateLayers(r),c.setClipUrl(e.layers.backplot,i),c.setClipUrl(e.layers.grids,i)},x.updateLayers=function(t){var e=this,r=e.layers,n=[\\\"draglayer\\\",\\\"plotbg\\\",\\\"backplot\\\",\\\"grids\\\"];\\\"below traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"below traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"below traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\"),n.push(\\\"frontplot\\\"),\\\"above traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"above traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"above traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\");var i=e.plotContainer.selectAll(\\\"g.toplevel\\\").data(n,String),o=[\\\"agrid\\\",\\\"bgrid\\\",\\\"cgrid\\\"];i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"toplevel \\\"+t}).each(function(t){var e=a.select(this);r[t]=e,\\\"frontplot\\\"===t?e.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0):\\\"backplot\\\"===t?e.append(\\\"g\\\").classed(\\\"maplayer\\\",!0):\\\"plotbg\\\"===t?e.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"):\\\"aline\\\"===t||\\\"bline\\\"===t||\\\"cline\\\"===t?e.append(\\\"path\\\"):\\\"grids\\\"===t&&o.forEach(function(t){r[t]=e.append(\\\"g\\\").classed(\\\"grid \\\"+t,!0)})}),i.order()};var _=Math.sqrt(4/3);x.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,d=t.domain,p=(d.x[0]+d.x[1])/2,m=(d.y[0]+d.y[1])/2,v=d.x[1]-d.x[0],g=d.y[1]-d.y[0],y=v*e.w,b=g*e.h,x=t.sum,w=t.aaxis.min,M=t.baxis.min,k=t.caxis.min;y>_*b?(a=b,i=a*_):(i=y,a=i/_),o=v*i/y,s=g*a/b,r=e.l+e.w*p-i/2,n=e.t+e.h*(1-m)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=x,l.xaxis={type:\\\"linear\\\",range:[w+2*k-x,x-w-2*M],domain:[p-o/2,p+o/2],_id:\\\"x\\\"},h(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a>=l.aaxis.range[0]&&t.a<=l.aaxis.range[1]&&t.b>=l.baxis.range[1]&&t.b<=l.baxis.range[0]&&t.c>=l.caxis.range[1]&&t.c<=l.caxis.range[0]},l.yaxis={type:\\\"linear\\\",range:[w,x-M-k],domain:[m-s/2,m+s/2],_id:\\\"y\\\"},h(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var A=l.yaxis.domain[0],T=l.aaxis=f({},t.aaxis,{visible:!0,range:[w,x-M-k],side:\\\"left\\\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*_],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l\\\"+a+\\\",-\\\"+i/2});h(T,l.graphDiv._fullLayout),T.setScale();var S=l.baxis=f({},t.baxis,{visible:!0,range:[x-w-k,M],side:\\\"bottom\\\",_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:\\\"x\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+i/2+\\\",-\\\"+a});h(S,l.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=l.caxis=f({},t.caxis,{visible:!0,range:[x-w-M,k],side:\\\"right\\\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*_],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+a+\\\",\\\"+i/2});h(E,l.graphDiv._fullLayout),E.setScale();var L=\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDef.select(\\\"path\\\").attr(\\\"d\\\",L),l.layers.plotbg.select(\\\"path\\\").attr(\\\"d\\\",L);var C=\\\"M0,\\\"+a+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDefRelative.select(\\\"path\\\").attr(\\\"d\\\",C);var z=\\\"translate(\\\"+r+\\\",\\\"+n+\\\")\\\";l.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",z),l.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",null);var I=\\\"translate(\\\"+r+\\\",\\\"+(n+a)+\\\")\\\";l.layers.baxis.attr(\\\"transform\\\",I),l.layers.bgrid.attr(\\\"transform\\\",I);var D=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(30)\\\";l.layers.aaxis.attr(\\\"transform\\\",D),l.layers.agrid.attr(\\\"transform\\\",D);var P=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(-30)\\\";l.layers.caxis.attr(\\\"transform\\\",P),l.layers.cgrid.attr(\\\"transform\\\",P),l.drawAxes(!0),l.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),l.layers.aline.select(\\\"path\\\").attr(\\\"d\\\",T.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"l\\\"+i/2+\\\",-\\\"+a:\\\"M0,0\\\").call(u.stroke,T.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(T.linewidth||0)+\\\"px\\\"),l.layers.bline.select(\\\"path\\\").attr(\\\"d\\\",S.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i:\\\"M0,0\\\").call(u.stroke,S.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(S.linewidth||0)+\\\"px\\\"),l.layers.cline.select(\\\"path\\\").attr(\\\"d\\\",E.showline?\\\"M\\\"+(r+i/2)+\\\",\\\"+n+\\\"l\\\"+i/2+\\\",\\\"+a:\\\"M0,0\\\").call(u.stroke,E.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(E.linewidth||0)+\\\"px\\\"),l.graphDiv._context.staticPlot||l.initInteractions(),c.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},x.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+\\\"title\\\",i=e.aaxis,a=e.baxis,o=e.caxis;if(p.doTicks(r,i,!0),p.doTicks(r,a,!0),p.doTicks(r,o,!0),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\\\"outside\\\"===o.ticks?.87*o.ticklen:0));g.draw(r,\\\"a\\\"+n,{propContainer:i,propName:e.id+\\\".aaxis.title\\\",dfltName:\\\"Component A\\\",attributes:{x:e.x0+e.w/2,y:e.y0-i.titlefont.size/3-s,\\\"text-anchor\\\":\\\"middle\\\"}});var l=(a.showticklabels?a.tickfont.size:0)+(\\\"outside\\\"===a.ticks?a.ticklen:0)+3;g.draw(r,\\\"b\\\"+n,{propContainer:a,propName:e.id+\\\".baxis.title\\\",dfltName:\\\"Component B\\\",attributes:{x:e.x0-l,y:e.y0+e.h+.83*a.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}}),g.draw(r,\\\"c\\\"+n,{propContainer:o,propName:e.id+\\\".caxis.title\\\",dfltName:\\\"Component C\\\",attributes:{x:e.x0+e.w+l,y:e.y0+e.h+.83*o.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}})}};var w=b.MINZOOM/2+.87,M=\\\"m-0.87,.5h\\\"+w+\\\"v3h-\\\"+(w+5.2)+\\\"l\\\"+(w/2+2.6)+\\\",-\\\"+(.87*w+4.5)+\\\"l2.6,1.5l-\\\"+w/2+\\\",\\\"+.87*w+\\\"Z\\\",k=\\\"m0.87,.5h-\\\"+w+\\\"v3h\\\"+(w+5.2)+\\\"l-\\\"+(w/2+2.6)+\\\",-\\\"+(.87*w+4.5)+\\\"l-2.6,1.5l\\\"+w/2+\\\",\\\"+.87*w+\\\"Z\\\",A=\\\"m0,1l\\\"+w/2+\\\",\\\"+.87*w+\\\"l2.6,-1.5l-\\\"+(w/2+2.6)+\\\",-\\\"+(.87*w+4.5)+\\\"l-\\\"+(w/2+2.6)+\\\",\\\"+(.87*w+4.5)+\\\"l2.6,1.5l\\\"+w/2+\\\",-\\\"+.87*w+\\\"Z\\\",T=!0;x.initInteractions=function(){function t(t,e,r){var n=F.getBoundingClientRect();w=e-n.left,S=r-n.top,E={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},C=E,L=R.aaxis.range[1]-E.a,z=o(R.graphDiv._fullLayout[R.id].bgcolor).getLuminance(),I=\\\"M0,\\\"+R.h+\\\"L\\\"+R.w/2+\\\", 0L\\\"+R.w+\\\",\\\"+R.h+\\\"Z\\\",D=!1,P=N.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox\\\").attr(\\\"transform\\\",\\\"translate(\\\"+R.x0+\\\", \\\"+R.y0+\\\")\\\").style({fill:z>.2?\\\"rgba(0,0,0,0)\\\":\\\"rgba(255,255,255,0)\\\",\\\"stroke-width\\\":0}).attr(\\\"d\\\",I),O=N.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").attr(\\\"transform\\\",\\\"translate(\\\"+R.x0+\\\", \\\"+R.y0+\\\")\\\").style({fill:u.background,stroke:u.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"d\\\",\\\"M0,0Z\\\"),g()}function e(t,e){return 1-e/R.h}function r(t,e){return 1-(t+(R.h-e)/Math.sqrt(3))/R.w}function n(t,e){return(t-(R.h-e)/Math.sqrt(3))/R.w}function a(t,i){var a=w+t,o=S+i,s=Math.max(0,Math.min(1,e(w,S),e(a,o))),l=Math.max(0,Math.min(1,r(w,S),r(a,o))),u=Math.max(0,Math.min(1,n(w,S),n(a,o))),c=(s/2+u)*R.w,h=(1-s/2-l)*R.w,f=(c+h)/2,d=h-c,p=(1-s)*R.h,m=p-d/_;d<b.MINZOOM?(C=E,P.attr(\\\"d\\\",I),O.attr(\\\"d\\\",\\\"M0,0Z\\\")):(C={a:E.a+s*L,b:E.b+l*L,c:E.c+u*L},P.attr(\\\"d\\\",I+\\\"M\\\"+c+\\\",\\\"+p+\\\"H\\\"+h+\\\"L\\\"+f+\\\",\\\"+m+\\\"L\\\"+c+\\\",\\\"+p+\\\"Z\\\"),O.attr(\\\"d\\\",\\\"M\\\"+w+\\\",\\\"+S+\\\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM\\\"+c+\\\",\\\"+p+M+\\\"M\\\"+h+\\\",\\\"+p+k+\\\"M\\\"+f+\\\",\\\"+m+A)),D||(P.transition().style(\\\"fill\\\",z>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),O.transition().style(\\\"opacity\\\",1).duration(200),D=!0)}function h(t,e){if(C===E)return 2===e&&x(),i(j);i(j);var r={};r[R.id+\\\".aaxis.min\\\"]=C.a,r[R.id+\\\".baxis.min\\\"]=C.b,r[R.id+\\\".caxis.min\\\"]=C.c,s.relayout(j,r),T&&j.data&&j._context.showTips&&(l.notifier(\\\"Double-click to<br>zoom back out\\\",\\\"long\\\"),T=!1)}function f(){E={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},C=E}function d(t,e){var r=t/R.xaxis._m,n=e/R.yaxis._m;C={a:E.a-n,b:E.b+(r+n)/2,c:E.c-(r-n)/2};var i=[C.a,C.b,C.c].sort(),a={a:i.indexOf(C.a),b:i.indexOf(C.b),c:i.indexOf(C.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),C={a:i[a.a],b:i[a.b],c:i[a.c]},e=(E.a-C.a)*R.yaxis._m,t=(E.c-C.c-E.b+C.b)*R.xaxis._m);var o=\\\"translate(\\\"+(R.x0+t)+\\\",\\\"+(R.y0+e)+\\\")\\\";R.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",o);var s=\\\"translate(\\\"+-t+\\\",\\\"+-e+\\\")\\\";if(R.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",s),R.aaxis.range=[C.a,R.sum-C.b-C.c],R.baxis.range=[R.sum-C.a-C.c,C.b],R.caxis.range=[R.sum-C.a-C.b,C.c],R.drawAxes(!1),R.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),R._hasClipOnAxisFalse){var l=R.plotContainer.select(\\\".scatterlayer\\\").selectAll(\\\".points\\\");l.selectAll(\\\".point\\\").call(c.hideOutsideRangePoints,R),l.selectAll(\\\".textpoint\\\").call(c.hideOutsideRangePoints,R)}}function p(t,e){if(t){var r={};r[R.id+\\\".aaxis.min\\\"]=C.a,r[R.id+\\\".baxis.min\\\"]=C.b,r[R.id+\\\".caxis.min\\\"]=C.c,s.relayout(j,r)}else 2===e&&x()}function g(){N.selectAll(\\\".select-outline\\\").remove()}function x(){var t={};t[R.id+\\\".aaxis.min\\\"]=0,t[R.id+\\\".baxis.min\\\"]=0,t[R.id+\\\".caxis.min\\\"]=0,j.emit(\\\"plotly_doubleclick\\\",null),s.relayout(j,t)}var w,S,E,L,C,z,I,D,P,O,R=this,F=R.layers.plotbg.select(\\\"path\\\").node(),j=R.graphDiv,N=j._fullLayout._zoomlayer,B={element:F,gd:j,plotinfo:{xaxis:R.xaxis,yaxis:R.yaxis},doubleclick:x,subplot:R.id,prepFn:function(e,r,n){B.xaxes=[R.xaxis],B.yaxes=[R.yaxis];var i=j._fullLayout.dragmode;e.shiftKey&&(i=\\\"pan\\\"===i?\\\"zoom\\\":\\\"pan\\\"),B.minDrag=\\\"lasso\\\"===i?1:void 0,\\\"zoom\\\"===i?(B.moveFn=a,B.doneFn=h,t(e,r,n)):\\\"pan\\\"===i?(B.moveFn=d,B.doneFn=p,f(),g()):\\\"select\\\"!==i&&\\\"lasso\\\"!==i||y(e,r,n,B,i)}};F.onmousemove=function(t){v.hover(j,t,R.id),j._fullLayout._lasthover=F,j._fullLayout._hoversubplot=R.id},F.onmouseout=function(t){j._dragging||m.unhover(j,t)},F.onclick=function(t){v.click(j,t,R.id)},m.init(B)}},{\\\"../../components/color\\\":603,\\\"../../components/dragelement\\\":624,\\\"../../components/drawing\\\":627,\\\"../../components/fx\\\":644,\\\"../../components/titles\\\":692,\\\"../../lib\\\":725,\\\"../../lib/extend\\\":716,\\\"../../plotly\\\":761,\\\"../cartesian/axes\\\":766,\\\"../cartesian/constants\\\":771,\\\"../cartesian/select\\\":782,\\\"../cartesian/set_convert\\\":783,\\\"../plots\\\":829,d3:121,tinycolor2:533}],844:[function(t,e,r){\\\"use strict\\\";function n(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)s(r.layoutArrayRegexes,e[n])}}function i(t){return\\\"object\\\"==typeof t&&(t=t.type),t}var a=t(\\\"./lib/loggers\\\"),o=t(\\\"./lib/noop\\\"),s=t(\\\"./lib/push_unique\\\"),l=t(\\\"./plots/attributes\\\");r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.register=function(t,e,n,i){if(r.modules[e])return void a.log(\\\"Type \\\"+e+\\\" already registered\\\");for(var o={},s=0;s<n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},i&&Object.keys(i).length&&(r.modules[e].meta=i),r.allTypes.push(e)},r.registerSubplot=function(t){var e=t.name;if(r.subplotsRegistry[e])return void a.log(\\\"Plot type \\\"+e+\\\" already registered.\\\");n(t),r.subplotsRegistry[e]=t},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&s(r.layoutArrayContainers,e),n(t))},r.getModule=function(t){if(void 0!==t.r)return a.warn(\\\"Tried to put a polar trace on an incompatible graph of cartesian data. Ignoring this dataset.\\\",t),!1;var e=r.modules[i(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\\\"various\\\"===(t=i(t)))return!1;var n=r.modules[t];return n||(t&&\\\"area\\\"!==t&&a.log(\\\"Unrecognized trace type \\\"+t+\\\".\\\"),n=r.modules[l.type.dflt]),!!n.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);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]||o:o}},{\\\"./lib/loggers\\\":729,\\\"./lib/noop\\\":733,\\\"./lib/push_unique\\\":737,\\\"./plots/attributes\\\":764}],845:[function(t,e,r){\\\"use strict\\\";function n(t){var e;switch(t){case\\\"themes__thumb\\\":e={autosize:!0,width:150,height:150,title:\\\"\\\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\\\"thumbnail\\\":e={title:\\\"\\\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\\\"\\\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){return[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"].indexOf(t.slice(0,5))>-1}var a=t(\\\"../lib\\\"),o=t(\\\"../plots/plots\\\"),s=a.extendFlat,l=a.extendDeep;e.exports=function(t,e){t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var r,a=t.data,u=t.layout,c=l([],a),h=l({},u,n(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 d=Object.keys(h);for(r=0;r<d.length;r++)i(d[r])&&(h[d[r]].title=\\\"\\\");for(r=0;r<c.length;r++){var p=c[r];p.showscale=!1,p.marker&&(p.marker.showscale=!1),\\\"pie\\\"===p.type&&(p.textposition=\\\"none\\\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var m=o.getSubplotIds(h,\\\"gl3d\\\");if(m.length){var v={};for(\\\"thumbnail\\\"===e.tileClass&&(v={title:\\\"\\\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<m.length;r++){var g=h[m[r]];g.xaxis||(g.xaxis={}),g.yaxis||(g.yaxis={}),g.zaxis||(g.zaxis={}),s(g.xaxis,v),s(g.yaxis,v),s(g.zaxis,v),g._scene=null}}var y=document.createElement(\\\"div\\\");e.tileClass&&(y.className=e.tileClass);var b={gd:y,td:y,layout:h,data:c,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&&(b.config.setBackground=e.setBackground||\\\"opaque\\\"),b.gd.defaultLayout=n(e.tileClass),b}},{\\\"../lib\\\":725,\\\"../plots/plots\\\":829}],846:[function(t,e,r){\\\"use strict\\\";function n(t,e){return e=e||{},e.format=e.format||\\\"png\\\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\\\"Snapshotting already in progress.\\\")),a.isIE()&&\\\"svg\\\"!==e.format&&n(new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\")),t._snapshotInProgress=!0;var s=i(t,e),l=e.filename||t.fn||\\\"newplot\\\";l+=\\\".\\\"+e.format,s.then(function(e){return t._snapshotInProgress=!1,o(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})}var i=t(\\\"../plot_api/to_image\\\"),a=t(\\\"../lib\\\"),o=t(\\\"./filesaver\\\");e.exports=n},{\\\"../lib\\\":725,\\\"../plot_api/to_image\\\":759,\\\"./filesaver\\\":847}],847:[function(t,e,r){\\\"use strict\\\";var n=function(t,e){var r=document.createElement(\\\"a\\\"),n=\\\"download\\\"in r,i=/Version\\\\/[\\\\d\\\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){\\\"undefined\\\"!=typeof navigator&&/MSIE [1-9]\\\\./.test(navigator.userAgent)&&o(new Error(\\\"IE < 10 unsupported\\\")),i&&(document.location.href=\\\"data:application/octet-stream\\\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\\\"download\\\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\\\"undefined\\\"!=typeof navigator&&navigator.msSaveBlob&&(navigator.msSaveBlob(new Blob([t]),e),a(e)),o(new Error(\\\"download error\\\"))})};e.exports=n},{}],848:[function(t,e,r){\\\"use strict\\\";r.getDelay=function(t){return t._has&&(t._has(\\\"gl3d\\\")||t._has(\\\"gl2d\\\"))?500:0},r.getRedrawFunc=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],849:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./helpers\\\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\\\"./cloneplot\\\"),toSVG:t(\\\"./tosvg\\\"),svgToImg:t(\\\"./svgtoimg\\\"),toImage:t(\\\"./toimage\\\"),downloadImage:t(\\\"./download\\\")};e.exports=i},{\\\"./cloneplot\\\":845,\\\"./download\\\":846,\\\"./helpers\\\":848,\\\"./svgtoimg\\\":850,\\\"./toimage\\\":851,\\\"./tosvg\\\":852}],850:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.emitter||new a,r=new Promise(function(n,a){var o=window.Image,s=t.svg,l=t.format||\\\"png\\\";if(i.isIE()&&\\\"svg\\\"!==l){var u=new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\");return a(u),t.promise?r:e.emit(\\\"error\\\",u)}var c=t.canvas,h=c.getContext(\\\"2d\\\"),f=new o,d=\\\"data:image/svg+xml,\\\"+encodeURIComponent(s);c.height=t.height||150,c.width=t.width||300,f.onload=function(){var r;switch(\\\"svg\\\"!==l&&h.drawImage(f,0,0),l){case\\\"jpeg\\\":r=c.toDataURL(\\\"image/jpeg\\\");break;case\\\"png\\\":r=c.toDataURL(\\\"image/png\\\");break;case\\\"webp\\\":r=c.toDataURL(\\\"image/webp\\\");break;case\\\"svg\\\":r=d;break;default:var i=\\\"Image format is not jpeg, png, svg or webp.\\\";if(a(new Error(i)),!t.promise)return e.emit(\\\"error\\\",i)}n(r),t.promise||e.emit(\\\"success\\\",r)},f.onerror=function(r){if(a(r),!t.promise)return e.emit(\\\"error\\\",r)},f.src=d});return t.promise?r:e}var i=t(\\\"../lib\\\"),a=t(\\\"events\\\").EventEmitter;e.exports=n},{\\\"../lib\\\":725,events:128}],851:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(){var t=s.getDelay(f._fullLayout);setTimeout(function(){var t=u(f),r=document.createElement(\\\"canvas\\\");r.id=o.randstr(),n=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:r,emitter:n,svg:t}),n.clean=function(){f&&document.body.removeChild(f)}},t)}var n=new i,h=l(t,{format:\\\"png\\\"}),f=h.gd;f.style.position=\\\"absolute\\\",f.style.left=\\\"-5000px\\\",document.body.appendChild(f);var d=s.getRedrawFunc(f);return a.plot(f,h.data,h.layout,h.config).then(d).then(r).catch(function(t){n.emit(\\\"error\\\",t)}),n}var i=t(\\\"events\\\").EventEmitter,a=t(\\\"../plotly\\\"),o=t(\\\"../lib\\\"),s=t(\\\"./helpers\\\"),l=t(\\\"./cloneplot\\\"),u=t(\\\"./tosvg\\\"),c=t(\\\"./svgtoimg\\\");e.exports=n},{\\\"../lib\\\":725,\\\"../plotly\\\":761,\\\"./cloneplot\\\":845,\\\"./helpers\\\":848,\\\"./svgtoimg\\\":850,\\\"./tosvg\\\":852,events:128}],852:[function(t,e,r){\\\"use strict\\\";function n(t){var e=a.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}function i(t){return t.replace(/&(?!\\\\w+;|\\\\#[0-9]+;| \\\\#x[0-9A-F]+;)/g,\\\"&amp;\\\")}var a=t(\\\"d3\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../components/drawing\\\"),l=t(\\\"../components/color\\\"),u=t(\\\"../constants/xmlns_namespaces\\\"),c=/\\\"/g,h=new RegExp('(\\\"TOBESTRIPPED)|(TOBESTRIPPED\\\")',\\\"g\\\");e.exports=function(t,e){var r,f=t._fullLayout,d=f._paper,p=f._toppaper;d.insert(\\\"rect\\\",\\\":first-child\\\").call(s.setRect,0,0,f.width,f.height).call(l.fill,f.paper_bgcolor);var m=f._basePlotModules||[];for(r=0;r<m.length;r++){var v=m[r];v.toSVG&&v.toSVG(t)}if(p){var g=p.node().childNodes,y=Array.prototype.slice.call(g);for(r=0;r<y.length;r++){var b=y[r];b.childNodes.length&&d.node().appendChild(b)}}f._draggers&&f._draggers.remove(),d.node().style.background=\\\"\\\",d.selectAll(\\\"text\\\").attr({\\\"data-unformatted\\\":null,\\\"data-math\\\":null}).each(function(){var t=a.select(this);if(\\\"hidden\\\"===t.style(\\\"visibility\\\")||\\\"none\\\"===t.style(\\\"display\\\"))return void t.remove();t.style({visibility:null,display:null});var e=t.style(\\\"font-family\\\");e&&-1!==e.indexOf('\\\"')&&t.style(\\\"font-family\\\",e.replace(c,\\\"TOBESTRIPPED\\\"))}),d.selectAll(\\\".point,.scatterpts\\\").each(function(){var t=a.select(this),e=t.style(\\\"fill\\\");e&&-1!==e.indexOf(\\\"url(\\\")&&t.style(\\\"fill\\\",e.replace(c,\\\"TOBESTRIPPED\\\"))}),\\\"pdf\\\"!==e&&\\\"eps\\\"!==e||d.selectAll(\\\"#MathJax_SVG_glyphs path\\\").attr(\\\"stroke-width\\\",0),d.node().setAttributeNS(u.xmlns,\\\"xmlns\\\",u.svg),d.node().setAttributeNS(u.xmlns,\\\"xmlns:xlink\\\",u.xlink);var x=(new window.XMLSerializer).serializeToString(d.node());return x=n(x),x=i(x),x=x.replace(h,\\\"'\\\"),o.isIE()&&(x=x.replace(/\\\"/gi,\\\"'\\\"),x=x.replace(/(\\\\('#)([^']*)('\\\\))/gi,'(\\\"$2\\\")'),x=x.replace(/(\\\\\\\\')/gi,'\\\"')),x}},{\\\"../components/color\\\":603,\\\"../components/drawing\\\":627,\\\"../constants/xmlns_namespaces\\\":707,\\\"../lib\\\":725,d3:121}],853:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").mergeArray;e.exports=function(t,e){n(e.text,t,\\\"tx\\\"),n(e.hovertext,t,\\\"htx\\\");var r=e.marker;if(r){n(r.opacity,t,\\\"mo\\\"),n(r.color,t,\\\"mc\\\");var i=r.line;i&&(n(i.color,t,\\\"mlc\\\"),n(i.width,t,\\\"mlw\\\"))}}},{\\\"../../lib\\\":725}],854:[function(t,e,r){\\\"use strict\\\"\\n\",\n       \";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../components/errorbars/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../plots/font_attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,u=t(\\\"../../lib/extend\\\").extendDeep,c=u({},s);c.family.arrayOk=!0,c.size.arrayOk=!0,c.color.arrayOk=!0;var h=n.marker,f=h.line,d=l({},f.width,{dflt:0}),p=l({},{width:d},i(\\\"marker.line\\\")),m=l({},{line:p},i(\\\"marker\\\"),{showscale:h.showscale,colorbar:o});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"none\\\",arrayOk:!0},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),constraintext:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"both\\\"},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"]},base:{valType:\\\"any\\\",dflt:null,arrayOk:!0},offset:{valType:\\\"number\\\",dflt:null,arrayOk:!0},width:{valType:\\\"number\\\",dflt:null,min:0,arrayOk:!0},marker:m,r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"]}}}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/errorbars/attributes\\\":629,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../scatter/attributes\\\":1027}],855:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../components/colorscale/has_colorscale\\\"),o=t(\\\"../../components/colorscale/calc\\\"),s=t(\\\"./arrays_to_calcdata\\\");e.exports=function(t,e){var r,l,u,c,h,f=i.getFromId(t,e.xaxis||\\\"x\\\"),d=i.getFromId(t,e.yaxis||\\\"y\\\"),p=e.orientation||(e.x&&!e.y?\\\"h\\\":\\\"v\\\");\\\"h\\\"===p?(r=f,u=f.makeCalcdata(e,\\\"x\\\"),l=d.makeCalcdata(e,\\\"y\\\"),h=e.xcalendar):(r=d,u=d.makeCalcdata(e,\\\"y\\\"),l=f.makeCalcdata(e,\\\"x\\\"),h=e.ycalendar);var m=Math.min(l.length,u.length),v=new Array(m);for(c=0;c<m;c++)v[c]={p:l[c],s:u[c]};var g,y=e.base;if(Array.isArray(y)){for(c=0;c<Math.min(y.length,v.length);c++)g=r.d2c(y[c],0,h),v[c].b=n(g)?g:0;for(;c<v.length;c++)v[c].b=0}else for(g=r.d2c(y,0,h),g=n(g)?g:0,c=0;c<v.length;c++)v[c].b=g;return a(e,\\\"marker\\\")&&o(e,e.marker.color,\\\"marker\\\",\\\"c\\\"),a(e,\\\"marker.line\\\")&&o(e,e.marker.line.color,\\\"marker.line\\\",\\\"c\\\"),s(v,e),v}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"../../plots/cartesian/axes\\\":766,\\\"./arrays_to_calcdata\\\":853,\\\"fast-isnumeric\\\":130}],856:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../scatter/xy_defaults\\\"),o=t(\\\"../bar/style_defaults\\\"),s=t(\\\"../../components/errorbars/defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}var h=n.coerceFont;if(!a(t,e,u,c))return void(e.visible=!1);c(\\\"orientation\\\",e.x&&!e.y?\\\"h\\\":\\\"v\\\"),c(\\\"base\\\"),c(\\\"offset\\\"),c(\\\"width\\\"),c(\\\"text\\\"),c(\\\"hovertext\\\");var f=c(\\\"textposition\\\"),d=Array.isArray(f)||\\\"auto\\\"===f,p=d||\\\"inside\\\"===f,m=d||\\\"outside\\\"===f;if(p||m){var v=h(c,\\\"textfont\\\",u.font);p&&h(c,\\\"insidetextfont\\\",v),m&&h(c,\\\"outsidetextfont\\\",v),c(\\\"constraintext\\\")}o(t,e,c,r,u),s(t,e,i.defaultLine,{axis:\\\"y\\\"}),s(t,e,i.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"})}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../bar/style_defaults\\\":865,\\\"../scatter/xy_defaults\\\":1049,\\\"./attributes\\\":854}],857:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../components/errorbars\\\"),a=t(\\\"../../components/color\\\");e.exports=function(t,e,r,o){var s,l,u,c,h,f,d,p=t.cd,m=p[0].trace,v=p[0].t,g=t.xa,y=t.ya,b=function(t){return n.inbox(c(t)-s,h(t)-s)};\\\"h\\\"===m.orientation?(s=r,l=function(t){return t.y-t.w/2},u=function(t){return t.y+t.w/2},f=function(t){return n.inbox(t.b-e,t.x-e)+(t.x-e)/(t.x-t.b)},d=b):(s=e,l=function(t){return t.x-t.w/2},u=function(t){return t.x+t.w/2},d=function(t){return n.inbox(t.b-r,t.y-r)+(t.y-r)/(t.y-t.b)},f=b),c=\\\"closest\\\"===o?l:function(t){return Math.min(l(t),t.p-v.bargroupwidth/2)},h=\\\"closest\\\"===o?u:function(t){return Math.max(u(t),t.p+v.bargroupwidth/2)};var x=n.getDistanceFunction(o,f,d);if(n.getClosest(p,x,t),!1!==t.index){var _=t.index,w=p[_],M=w.mcc||m.marker.color,k=w.mlcc||m.marker.line.color,A=w.mlw||m.marker.line.width;a.opacity(M)?t.color=M:a.opacity(k)&&A&&(t.color=k);var T=m.base?w.b+w.s:w.s;return\\\"h\\\"===m.orientation?(t.x0=t.x1=g.c2p(w.x,!0),t.xLabelVal=T,t.y0=y.c2p(c(w),!0),t.y1=y.c2p(h(w),!0),t.yLabelVal=w.p):(t.y0=t.y1=y.c2p(w.y,!0),t.yLabelVal=T,t.x0=g.c2p(c(w),!0),t.x1=g.c2p(h(w),!0),t.xLabelVal=w.p),w.htx?t.text=w.htx:m.hovertext?t.text=m.hovertext:w.tx?t.text=w.tx:m.text&&(t.text=m.text),i.hoverInfo(w,m,t),[t]}}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars\\\":633,\\\"../../components/fx\\\":644}],858:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"bar\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"oriented\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../scatter/colorbar\\\":1030,\\\"./arrays_to_calcdata\\\":853,\\\"./attributes\\\":854,\\\"./calc\\\":855,\\\"./defaults\\\":856,\\\"./hover\\\":857,\\\"./layout_attributes\\\":859,\\\"./layout_defaults\\\":860,\\\"./plot\\\":861,\\\"./set_positions\\\":862,\\\"./style\\\":864}],859:[function(t,e,r){\\\"use strict\\\";e.exports={barmode:{valType:\\\"enumerated\\\",values:[\\\"stack\\\",\\\"group\\\",\\\"overlay\\\",\\\"relative\\\"],dflt:\\\"group\\\"},barnorm:{valType:\\\"enumerated\\\",values:[\\\"\\\",\\\"fraction\\\",\\\"percent\\\"],dflt:\\\"\\\"},bargap:{valType:\\\"number\\\",min:0,max:1},bargroupgap:{valType:\\\"number\\\",min:0,max:1,dflt:0}}},{}],860:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,h={},f=0;f<r.length;f++){var d=r[f];if(n.traceIs(d,\\\"bar\\\")){if(l=!0,\\\"overlay\\\"!==t.barmode&&\\\"stack\\\"!==t.barmode){var p=d.xaxis+d.yaxis;h[p]&&(c=!0),h[p]=!0}if(d.visible&&\\\"histogram\\\"===d.type){\\\"category\\\"!==i.getFromId({_fullLayout:e},d[\\\"v\\\"===d.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]).type&&(u=!0)}}}if(l){\\\"overlay\\\"!==s(\\\"barmode\\\")&&s(\\\"barnorm\\\"),s(\\\"bargap\\\",u&&!c?0:.2),s(\\\"bargroupgap\\\")}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./layout_attributes\\\":859}],861:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,o,f,d,p){function m(e,r,n){return e.append(\\\"text\\\").text(r).attr({class:\\\"bartext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}).call(k.font,n).call(w.convertToTspans,t)}var v=r[0].trace,g=v.orientation,y=s(v,n);if(y){var b=l(v,n);if(\\\"none\\\"!==b){var x,_,M,A,T=u(v,n,t._fullLayout.font),S=c(v,n,T),E=h(v,n,T),L=t._fullLayout.barmode,C=\\\"stack\\\"===L,z=\\\"relative\\\"===L,D=C||z,P=r[n],O=!D||P._outmost,R=Math.abs(f-o)-2*I,F=Math.abs(p-d)-2*I;if(\\\"outside\\\"===b&&(O||(b=\\\"inside\\\")),\\\"auto\\\"===b)if(O){x=m(e,y,S),_=k.bBox(x.node()),M=_.width,A=_.height;var j=M>0&&A>0,N=M<=R&&A<=F,B=M<=F&&A<=R,U=\\\"h\\\"===g?R>=M*(F/A):F>=A*(R/M);j&&(N||B||U)?b=\\\"inside\\\":(b=\\\"outside\\\",x.remove(),x=null)}else b=\\\"inside\\\";if(!x&&(x=m(e,y,\\\"outside\\\"===b?E:S),_=k.bBox(x.node()),M=_.width,A=_.height,M<=0||A<=0))return void x.remove();var V,H;\\\"outside\\\"===b?(H=\\\"both\\\"===v.constraintext||\\\"outside\\\"===v.constraintext,V=a(o,f,d,p,_,g,H)):(H=\\\"both\\\"===v.constraintext||\\\"inside\\\"===v.constraintext,V=i(o,f,d,p,_,g,H)),x.attr(\\\"transform\\\",V)}}}function i(t,e,r,n,i,a,s){var l,u,c,h,f,d=i.width,p=i.height,m=(i.left+i.right)/2,v=(i.top+i.bottom)/2,g=Math.abs(e-t),y=Math.abs(n-r);g>2*I&&y>2*I?(f=I,g-=2*f,y-=2*f):f=0;var b,x;return d<=g&&p<=y?(b=!1,x=1):d<=y&&p<=g?(b=!0,x=1):d<p==g<y?(b=!1,x=s?Math.min(g/d,y/p):1):(b=!0,x=s?Math.min(y/d,g/p):1),b&&(b=90),b?(l=x*p,u=x*d):(l=x*d,u=x*p),\\\"h\\\"===a?e<t?(c=e+f+l/2,h=(r+n)/2):(c=e-f-l/2,h=(r+n)/2):n>r?(c=(t+e)/2,h=n-f-u/2):(c=(t+e)/2,h=n+f+u/2),o(m,v,c,h,x,b)}function a(t,e,r,n,i,a,s){var l,u=\\\"h\\\"===a?Math.abs(n-r):Math.abs(e-t);u>2*I&&(l=I);var c=1;s&&(c=\\\"h\\\"===a?Math.min(1,u/i.height):Math.min(1,u/i.width));var h,f,d,p,m=(i.left+i.right)/2,v=(i.top+i.bottom)/2;return h=c*i.width,f=c*i.height,\\\"h\\\"===a?e<t?(d=e-l-h/2,p=(r+n)/2):(d=e+l+h/2,p=(r+n)/2):n>r?(d=(t+e)/2,p=n+l+f/2):(d=(t+e)/2,p=n-l-f/2),o(m,v,d,p,c,!1)}function o(t,e,r,n,i,a){var o,s;return i<1?o=\\\"scale(\\\"+i+\\\") \\\":(i=1,o=\\\"\\\"),s=a?\\\"rotate(\\\"+a+\\\" \\\"+t+\\\" \\\"+e+\\\") \\\":\\\"\\\",\\\"translate(\\\"+(r-i*t)+\\\" \\\"+(n-i*e)+\\\")\\\"+o+s}function s(t,e){var r=d(t.text,e);return p(S,r)}function l(t,e){var r=d(t.textposition,e);return m(E,r)}function u(t,e,r){return f(L,t.textfont,e,r)}function c(t,e,r){return f(C,t.insidetextfont,e,r)}function h(t,e,r){return f(z,t.outsidetextfont,e,r)}function f(t,e,r,n){e=e||{};var i=d(e.family,r),a=d(e.size,r),o=d(e.color,r);return{family:p(t.family,i,n.family),size:v(t.size,a,n.size),color:g(t.color,o,n.color)}}function d(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function p(t,e,r){if(\\\"string\\\"==typeof e){if(e||!t.noBlank)return e}else if(\\\"number\\\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}function m(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}function v(t,e,r){if(b(e)){e=+e;var n=t.min,i=t.max;if(!(void 0!==n&&e<n||void 0!==i&&e>i))return e}return void 0!==r?r:t.dflt}function g(t,e,r){return x(e).isValid()?e:void 0!==r?r:t.dflt}var y=t(\\\"d3\\\"),b=t(\\\"fast-isnumeric\\\"),x=t(\\\"tinycolor2\\\"),_=t(\\\"../../lib\\\"),w=t(\\\"../../lib/svg_text_utils\\\"),M=t(\\\"../../components/color\\\"),k=t(\\\"../../components/drawing\\\"),A=t(\\\"../../components/errorbars\\\"),T=t(\\\"./attributes\\\"),S=T.text,E=T.textposition,L=T.textfont,C=T.insidetextfont,z=T.outsidetextfont,I=3;e.exports=function(t,e,r){var i=e.xaxis,a=e.yaxis,o=t._fullLayout,s=e.plot.select(\\\".barlayer\\\").selectAll(\\\"g.trace.bars\\\").data(r);s.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace bars\\\"),s.append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").each(function(e){var r=e[0].t,s=e[0].trace,l=r.poffset,u=Array.isArray(l);y.select(this).selectAll(\\\"g.point\\\").data(_.identity).enter().append(\\\"g\\\").classed(\\\"point\\\",!0).each(function(r,c){function h(t){return 0===o.bargap&&0===o.bargroupgap?y.round(Math.round(t)-A,2):t}function f(t,e){return Math.abs(t-e)>=2?h(t):t>e?Math.ceil(t):Math.floor(t)}var d,p,m,v,g=r.p+(u?l[c]:l),x=g+r.w,_=r.b,w=_+r.s;if(\\\"h\\\"===s.orientation?(m=a.c2p(g,!0),v=a.c2p(x,!0),d=i.c2p(_,!0),p=i.c2p(w,!0)):(d=i.c2p(g,!0),p=i.c2p(x,!0),m=a.c2p(_,!0),v=a.c2p(w,!0)),!(b(d)&&b(p)&&b(m)&&b(v)&&d!==p&&m!==v))return void y.select(this).remove();var k=(r.mlw+1||s.marker.line.width+1||(r.trace?r.trace.marker.line.width:0)+1)-1,A=y.round(k/2%1,2);if(!t._context.staticPlot){var T=M.opacity(r.mc||s.marker.color),S=T<1||k>.01?h:f;d=S(d,p),p=S(p,d),m=S(m,v),v=S(v,m)}var E=y.select(this);E.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"d\\\",\\\"M\\\"+d+\\\",\\\"+m+\\\"V\\\"+v+\\\"H\\\"+p+\\\"V\\\"+m+\\\"Z\\\"),n(t,E,e,c,d,p,m,v)})}),s.call(A.plot,e)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"./attributes\\\":854,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],862:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(n.length){var s,l,u,c,h,f=t._fullLayout.barmode,d=\\\"overlay\\\"===f,p=\\\"group\\\"===f;if(d)i(t,e,r,n);else if(p){for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.offset?l.push(c):s.push(c);l.length&&a(t,e,r,l),s.length&&i(t,e,r,s)}else{for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.base?l.push(c):s.push(c);l.length&&o(t,e,r,l),s.length&&i(t,e,r,s)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var l=n[o],u=new w([l],!1,a);s(t,e,u),i?(m(t,r,u),v(t,r,u)):d(t,r,u)}}function a(t,e,r,n){var i=t._fullLayout,a=i.barnorm,o=!a,s=new w(n,!1,o);l(t,e,s),a?(m(t,r,s),v(t,r,s)):d(t,r,s)}function o(t,e,r,n){var i=t._fullLayout,a=i.barmode,o=\\\"stack\\\"===a,l=\\\"relative\\\"===a,u=t._fullLayout.barnorm,c=l,h=!(u||o||l),f=new w(n,c,h);s(t,e,f),p(t,r,f);for(var d=0;d<n.length;d++)for(var m=n[d],g=0;g<m.length;g++){var y=m[g];if(y.s!==b){var x=y.b+y.s===f.get(y.p,y.s);x&&(y._outmost=!0)}}u&&v(t,r,f)}function s(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.minDiff,p=r.traces,m=d*(1-l),v=m,g=v*(1-f),y=-g/2;for(n=0;n<p.length;n++)i=p[n],a=i[0],o=a.t,o.barwidth=g,o.poffset=y,o.bargroupwidth=m;r.binWidth=p[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r)}function l(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.positions,p=r.distinctPositions,m=r.minDiff,v=r.traces,g=d.length!==p.length,y=v.length,b=m*(1-l),x=g?b/y:b,_=x*(1-f);for(n=0;n<y;n++){i=v[n],a=i[0];var w=g?((2*n+1-y)*x-_)/2:-_/2;o=a.t,o.barwidth=_,o.poffset=w,o.bargroupwidth=b}r.binWidth=v[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r,g)}function u(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e<s.length;e++){r=s[e],n=r[0],i=n.trace,o=n.t;var l,u=i.offset,c=o.poffset;if(Array.isArray(u)){for(l=u.slice(0,r.length),a=0;a<l.length;a++)y(l[a])||(l[a]=c);for(a=l.length;a<r.length;a++)l.push(c);o.poffset=l}else void 0!==u&&(o.poffset=u);var h=i.width,f=o.barwidth;if(Array.isArray(h)){var d=h.slice(0,r.length);for(a=0;a<d.length;a++)y(d[a])||(d[a]=f);for(a=d.length;a<r.length;a++)d.push(f);if(o.barwidth=d,void 0===u){for(l=[],a=0;a<r.length;a++)l.push(c+(f-d[a])/2);o.poffset=l}}else void 0!==h&&(o.barwidth=h,void 0===u&&(o.poffset=c+(f-h)/2))}}function c(t,e,r){for(var n=r.traces,i=g(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,u=Array.isArray(l),c=s.barwidth,h=Array.isArray(c),f=0;f<o.length;f++){var d=o[f],p=d.w=h?c[f]:c;d[i]=d.p+(u?l[f]:l)+p/2}}function h(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;_.minDtick(e,s,o,n);for(var u=Math.min.apply(Math,a)-l,c=Math.max.apply(Math,a)+l,h=0;h<i.length;h++){var f=i[h],d=f[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var m=d.t,v=m.poffset,g=m.barwidth,y=Array.isArray(v),b=Array.isArray(g),x=0;x<f.length;x++){var w=f[x],M=y?v[x]:v,k=b?g[x]:g,A=w.p,T=A+M,S=T+k;u=Math.min(u,T),c=Math.max(c,S)}}_.expand(e,[u,c],{padded:!1})}function f(t,e){y(t[0])?t[0]=Math.min(t[0],e):t[0]=e,y(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function d(t,e,r){for(var n=r.traces,i=g(e),a=e.l2c(e.c2l(0)),o=[a,a],s=0;s<n.length;s++)for(var l=n[s],u=0;u<l.length;u++){var c=l[u],h=c.b,d=h+c.s;c[i]=d,y(e.c2l(d))&&f(o,d),y(e.c2l(h))&&f(o,h)}_.expand(e,o,{tozero:!0,padded:!0})}function p(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.barnorm,u=g(e),c=r.traces,h=e.l2c(e.c2l(0)),d=[h,h];for(n=0;n<c.length;n++)for(i=c[n],a=0;a<i.length;a++)if(o=i[a],o.s!==b){var p=r.put(o.p,o.b+o.s),m=p+o.b+o.s;o.b=p,o[u]=m,l||(y(e.c2l(m))&&f(d,m),y(e.c2l(p))&&f(d,p))}l||_.expand(e,d,{tozero:!0,padded:!0})}function m(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var a=n[i],o=0;o<a.length;o++){var s=a[o];s.s!==b&&r.put(s.p,s.b+s.s)}}function v(t,e,r){function n(t){y(e.c2l(t))&&(t<l-s||t>u+s||!y(l))&&(h=!0,f(c,t))}for(var i=r.traces,a=g(e),o=\\\"fraction\\\"===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=\\\"stack\\\"===t._fullLayout.barmode?o:l,c=[l,u],h=!1,d=0;d<i.length;d++)for(var p=i[d],m=0;m<p.length;m++){var v=p[m];if(v.s!==b){var x=Math.abs(o/r.get(v.p,v.s));v.b*=x,v.s*=x;var w=v.b,M=w+v.s;v[a]=M,n(M),n(w)}}_.expand(e,c,{tozero:!0,padded:h})}function g(t){return t._id.charAt(0)}var y=t(\\\"fast-isnumeric\\\"),b=t(\\\"../../constants/numerical\\\").BADNUM,x=t(\\\"../../registry\\\"),_=t(\\\"../../plots/cartesian/axes\\\"),w=t(\\\"./sieve.js\\\");e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<o.length;r++){var c=o[r];!0===c.visible&&x.traceIs(c,\\\"bar\\\")&&c.xaxis===i._id&&c.yaxis===a._id&&(\\\"h\\\"===c.orientation?l.push(s[r]):u.push(s[r]))}n(t,i,a,u),n(t,a,i,l)}},{\\\"../../constants/numerical\\\":705,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./sieve.js\\\":863,\\\"fast-isnumeric\\\":130}],863:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=[],o=0;o<t.length;o++)for(var s=t[o],l=0;l<s.length;l++){var u=s[l];u.p!==a&&n.push(u.p)}this.positions=n;var c=i.distinctVals(this.positions);this.distinctPositions=c.vals,this.minDiff=c.minDiff,this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM;n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\\\"v\\\":\\\"^\\\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725}],864:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../components/drawing\\\"),o=t(\\\"../../components/errorbars\\\");e.exports=function(t){var e=n.select(t).selectAll(\\\"g.trace.bars\\\"),r=e.size(),s=t._fullLayout;e.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(t){(\\\"stack\\\"===s.barmode&&r>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")}),e.selectAll(\\\"g.points\\\").each(function(t){var e=t[0].trace,r=e.marker,o=r.line,s=a.tryColorscale(r,\\\"\\\"),l=a.tryColorscale(r,\\\"line\\\");n.select(this).selectAll(\\\"path\\\").each(function(t){var e,a,u=(t.mlw+1||o.width+1)-1,c=n.select(this);e=\\\"mc\\\"in t?t.mcc=s(t.mc):Array.isArray(r.color)?i.defaultLine:r.color,c.style(\\\"stroke-width\\\",u+\\\"px\\\").call(i.fill,e),u&&(a=\\\"mlc\\\"in t?t.mlcc=l(t.mlc):Array.isArray(o.color)?i.defaultLine:o.color,c.call(i.stroke,a))})}),e.call(o.style)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,d3:121}],865:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,o,s){r(\\\"marker.color\\\",o),i(t,\\\"marker\\\")&&a(t,e,s,r,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.color\\\",n.defaultLine),i(t,\\\"marker.line\\\")&&a(t,e,s,r,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.width\\\")}},{\\\"../../components/color\\\":603,\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616}],866:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},x0:{valType:\\\"any\\\"},y0:{valType:\\\"any\\\"},xcalendar:n.xcalendar,ycalendar:n.ycalendar,whiskerwidth:{valType:\\\"number\\\",min:0,max:1,dflt:.5},boxpoints:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"outliers\\\",\\\"suspectedoutliers\\\",!1],dflt:\\\"outliers\\\"},boxmean:{valType:\\\"enumerated\\\",values:[!0,\\\"sd\\\",!1],dflt:!1},jitter:{valType:\\\"number\\\",min:0,max:1},pointpos:{valType:\\\"number\\\",min:-2,max:2},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"]},marker:{outliercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0, 0, 0, 0)\\\"},symbol:a({},o.symbol,{arrayOk:!1}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1}),size:a({},o.size,{arrayOk:!1}),color:a({},o.color,{arrayOk:!1}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine}),width:a({},s.width,{arrayOk:!1,dflt:0}),outliercolor:{valType:\\\"color\\\"},outlierwidth:{valType:\\\"number\\\",min:0,dflt:1}}},line:{color:{valType:\\\"color\\\"},width:{valType:\\\"number\\\",min:0,dflt:2}},fillcolor:n.fillcolor}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],867:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e){var r,o,s,l,u,c,h,f,d,p=a.getFromId(t,e.xaxis||\\\"x\\\"),m=a.getFromId(t,e.yaxis||\\\"y\\\"),v=e.orientation,g=[];\\\"h\\\"===v?(r=p,o=\\\"x\\\",u=m,c=\\\"y\\\"):(r=m,o=\\\"y\\\",u=p,c=\\\"x\\\"),s=r.makeCalcdata(e,o),a.expand(r,s,{padded:!0}),h=function(t,e,r,a,o){var s;return r in e?h=a.makeCalcdata(e,r):(s=r+\\\"0\\\"in e?e[r+\\\"0\\\"]:\\\"name\\\"in e&&(\\\"category\\\"===a.type||n(e.name)&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(a.type)||i.isDateTime(e.name)&&\\\"date\\\"===a.type)?e.name:t.numboxes,s=a.d2c(s,0,e[r+\\\"calendar\\\"]),h=o.map(function(){return s})),h}(t,e,c,u,s);var y=i.distinctVals(h);return f=y.vals,d=y.minDiff/2,l=function(t,e,r,a,o){var s,l,u,c,h=a.length,f=e.length,d=[],p=[];for(s=0;s<h;++s)l=a[s],t[s]={pos:l},p[s]=l-o,d[s]=[];for(p.push(a[h-1]+o),s=0;s<f;++s)c=e[s],n(c)&&(u=i.findBin(r[s],p))>=0&&u<f&&d[u].push(c);return d}(g,s,h,f,d),function(t,e){var r,n,a,o;for(o=0;o<e.length;++o)r=e[o].sort(i.sorterAsc),n=r.length,a=t[o],a.val=r,a.min=r[0],a.max=r[n-1],a.mean=i.mean(r,n),a.sd=i.stdev(r,n,a.mean),a.q1=i.interp(r,.25),a.med=i.interp(r,.5),a.q3=i.interp(r,.75),a.lf=Math.min(a.q1,r[Math.min(i.findBin(2.5*a.q1-1.5*a.q3,r,!0)+1,n-1)]),a.uf=Math.max(a.q3,r[Math.max(i.findBin(2.5*a.q3-1.5*a.q1,r),0)]),a.lo=4*a.q1-3*a.q3,a.uo=4*a.q3-3*a.q1}(g,l),g=g.filter(function(t){return t.val&&t.val.length}),g.length?(g[0].t={boxnum:t.numboxes,dPos:d},t.numboxes++,g):[{t:{emptybox:!0}}]}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"fast-isnumeric\\\":130}],868:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}var u,c=l(\\\"y\\\"),h=l(\\\"x\\\");if(c&&c.length)u=\\\"v\\\",h||l(\\\"x0\\\");else{if(!h||!h.length)return void(e.visible=!1);u=\\\"h\\\",l(\\\"y0\\\")}i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],s),l(\\\"orientation\\\",u),l(\\\"line.color\\\",(t.marker||{}).color||r),l(\\\"line.width\\\",2),l(\\\"fillcolor\\\",a.addOpacity(e.line.color,.5)),l(\\\"whiskerwidth\\\"),l(\\\"boxmean\\\");var f=n.coerce2(t,e,o,\\\"marker.outliercolor\\\"),d=l(\\\"marker.line.outliercolor\\\"),p=f||d?l(\\\"boxpoints\\\",\\\"suspectedoutliers\\\"):l(\\\"boxpoints\\\");p&&(l(\\\"jitter\\\",\\\"all\\\"===p?.3:0),l(\\\"pointpos\\\",\\\"all\\\"===p?-1.5:0),l(\\\"marker.symbol\\\"),l(\\\"marker.opacity\\\"),l(\\\"marker.size\\\"),l(\\\"marker.color\\\",e.line.color),l(\\\"marker.line.color\\\"),l(\\\"marker.line.width\\\"),\\\"suspectedoutliers\\\"===p&&(l(\\\"marker.line.outliercolor\\\",e.marker.color),l(\\\"marker.line.outlierwidth\\\")))}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":866}],869:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/fx\\\"),o=t(\\\"../../components/color\\\");e.exports=function(t,e,r,s){var l,u,c,h,f,d,p,m,v,g=t.cd,y=g[0].trace,b=g[0].t,x=t.xa,_=t.ya,w=[];if(h=\\\"closest\\\"===s?2.5*b.bdPos:b.bdPos,\\\"h\\\"===y.orientation?(l=function(t){return a.inbox(t.min-e,t.max-e)},u=function(t){var e=t.pos+b.bPos-r;return a.inbox(e-h,e+h)},f=\\\"y\\\",d=_,m=\\\"x\\\",v=x):(l=function(t){var r=t.pos+b.bPos-e;return a.inbox(r-h,r+h)},u=function(t){return a.inbox(t.min-r,t.max-r)},f=\\\"x\\\",d=x,m=\\\"y\\\",v=_),c=a.getDistanceFunction(s,l,u),a.getClosest(g,c,t),!1!==t.index){var M=g[t.index],k=y.line.color,A=(y.marker||{}).color;o.opacity(k)&&y.line.width?t.color=k:o.opacity(A)&&y.boxpoints?t.color=A:t.color=y.fillcolor,t[f+\\\"0\\\"]=d.c2p(M.pos+b.bPos-b.bdPos,!0),t[f+\\\"1\\\"]=d.c2p(M.pos+b.bPos+b.bdPos,!0),n.tickText(d,d.c2l(M.pos),\\\"hover\\\").text,t[f+\\\"LabelVal\\\"]=M.pos;var T,S,E={},L=[\\\"med\\\",\\\"min\\\",\\\"q1\\\",\\\"q3\\\",\\\"max\\\"];y.boxmean&&L.push(\\\"mean\\\"),y.boxpoints&&[].push.apply(L,[\\\"lf\\\",\\\"uf\\\"]);for(var C=0;C<L.length;C++)(T=L[C])in M&&!(M[T]in E)&&(E[M[T]]=!0,p=v.c2p(M[T],!0),S=i.extendFlat({},t),S[m+\\\"0\\\"]=S[m+\\\"1\\\"]=p,S[m+\\\"LabelVal\\\"]=M[T],S.attr=T,\\\"mean\\\"===T&&\\\"sd\\\"in M&&\\\"sd\\\"===y.boxmean&&(S[m+\\\"err\\\"]=M.sd),t.name=\\\"\\\",w.push(S));return w}}},{\\\"../../components/color\\\":603,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766}],870:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"box\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":866,\\\"./calc\\\":867,\\\"./defaults\\\":868,\\\"./hover\\\":869,\\\"./layout_attributes\\\":871,\\\"./layout_defaults\\\":872,\\\"./plot\\\":873,\\\"./set_positions\\\":874,\\\"./style\\\":875}],871:[function(t,e,r){\\\"use strict\\\";e.exports={boxmode:{valType:\\\"enumerated\\\",values:[\\\"group\\\",\\\"overlay\\\"],dflt:\\\"overlay\\\"},boxgap:{valType:\\\"number\\\",min:0,max:1,dflt:.3},boxgroupgap:{valType:\\\"number\\\",min:0,max:1,dflt:.3}}},{}],872:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function o(r,n){return i.coerce(t,e,a,r,n)}for(var s,l=0;l<r.length;l++)if(n.traceIs(r[l],\\\"box\\\")){s=!0;break}s&&(o(\\\"boxmode\\\"),o(\\\"boxgap\\\"),o(\\\"boxgroupgap\\\"))}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./layout_attributes\\\":871}],873:[function(t,e,r){\\\"use strict\\\";function n(){l=2e9}function i(){var t=l;return l=(69069*l+1)%4294967296,Math.abs(l-t)<429496729?i():l/4294967296}var a=t(\\\"d3\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/drawing\\\"),l=2e9;e.exports=function(t,e,r){var l,u,c=t._fullLayout,h=e.xaxis,f=e.yaxis;e.plot.select(\\\".boxlayer\\\").selectAll(\\\"g.trace.boxes\\\").data(r).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace boxes\\\").each(function(e){var r=e[0].t,d=e[0].trace,p=\\\"group\\\"===c.boxmode&&t.numboxes>1,m=r.dPos*(1-c.boxgap)*(1-c.boxgroupgap)/(p?t.numboxes:1),v=p?2*r.dPos*((r.boxnum+.5)/t.numboxes-.5)*(1-c.boxgap):0,g=m*d.whiskerwidth;if(!0!==d.visible||r.emptybox)return void a.select(this).remove();\\\"h\\\"===d.orientation?(l=f,u=h):(l=h,u=f),r.bPos=v,r.bdPos=m,n(),a.select(this).selectAll(\\\"path.box\\\").data(o.identity).enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"box\\\").each(function(t){var e=l.c2p(t.pos+v,!0),r=l.c2p(t.pos+v-m,!0),n=l.c2p(t.pos+v+m,!0),i=l.c2p(t.pos+v-g,!0),s=l.c2p(t.pos+v+g,!0),c=u.c2p(t.q1,!0),h=u.c2p(t.q3,!0),f=o.constrain(u.c2p(t.med,!0),Math.min(c,h)+1,Math.max(c,h)-1),p=u.c2p(!1===d.boxpoints?t.min:t.lf,!0),y=u.c2p(!1===d.boxpoints?t.max:t.uf,!0);\\\"h\\\"===d.orientation?a.select(this).attr(\\\"d\\\",\\\"M\\\"+f+\\\",\\\"+r+\\\"V\\\"+n+\\\"M\\\"+c+\\\",\\\"+r+\\\"V\\\"+n+\\\"H\\\"+h+\\\"V\\\"+r+\\\"ZM\\\"+c+\\\",\\\"+e+\\\"H\\\"+p+\\\"M\\\"+h+\\\",\\\"+e+\\\"H\\\"+y+(0===d.whiskerwidth?\\\"\\\":\\\"M\\\"+p+\\\",\\\"+i+\\\"V\\\"+s+\\\"M\\\"+y+\\\",\\\"+i+\\\"V\\\"+s)):a.select(this).attr(\\\"d\\\",\\\"M\\\"+r+\\\",\\\"+f+\\\"H\\\"+n+\\\"M\\\"+r+\\\",\\\"+c+\\\"H\\\"+n+\\\"V\\\"+h+\\\"H\\\"+r+\\\"ZM\\\"+e+\\\",\\\"+c+\\\"V\\\"+p+\\\"M\\\"+e+\\\",\\\"+h+\\\"V\\\"+y+(0===d.whiskerwidth?\\\"\\\":\\\"M\\\"+i+\\\",\\\"+p+\\\"H\\\"+s+\\\"M\\\"+i+\\\",\\\"+y+\\\"H\\\"+s))}),d.boxpoints&&a.select(this).selectAll(\\\"g.points\\\").data(function(t){return t.forEach(function(t){t.t=r,t.trace=d}),t}).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").selectAll(\\\"path\\\").data(function(t){var e,r,n,a,s,l,u,c=\\\"all\\\"===d.boxpoints?t.val:t.val.filter(function(e){return e<t.lf||e>t.uf}),h=Math.max((t.max-t.min)/10,t.q3-t.q1),f=1e-9*h,p=.01*h,g=[],y=0;if(d.jitter){if(0===h)for(y=1,g=new Array(c.length),e=0;e<c.length;e++)g[e]=1;else for(e=0;e<c.length;e++)r=Math.max(0,e-5),a=c[r],n=Math.min(c.length-1,e+5),s=c[n],\\\"all\\\"!==d.boxpoints&&(c[e]<t.lf?s=Math.min(s,t.lf):a=Math.max(a,t.uf)),l=Math.sqrt(p*(n-r)/(s-a+f))||0,l=o.constrain(Math.abs(l),0,1),g.push(l),y=Math.max(l,y);u=2*d.jitter/y}return c.map(function(e,r){var n,a=d.pointpos;return d.jitter&&(a+=u*g[r]*(i()-.5)),n=\\\"h\\\"===d.orientation?{y:t.pos+a*m+v,x:e}:{x:t.pos+a*m+v,y:e},\\\"suspectedoutliers\\\"===d.boxpoints&&e<t.uo&&e>t.lo&&(n.so=!0),n})}).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).call(s.translatePoints,h,f),d.boxmean&&a.select(this).selectAll(\\\"path.mean\\\").data(o.identity).enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}).each(function(t){var e=l.c2p(t.pos+v,!0),r=l.c2p(t.pos+v-m,!0),n=l.c2p(t.pos+v+m,!0),i=u.c2p(t.mean,!0),o=u.c2p(t.mean-t.sd,!0),s=u.c2p(t.mean+t.sd,!0);\\\"h\\\"===d.orientation?a.select(this).attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+r+\\\"V\\\"+n+(\\\"sd\\\"!==d.boxmean?\\\"\\\":\\\"m0,0L\\\"+o+\\\",\\\"+e+\\\"L\\\"+i+\\\",\\\"+r+\\\"L\\\"+s+\\\",\\\"+e+\\\"Z\\\")):a.select(this).attr(\\\"d\\\",\\\"M\\\"+r+\\\",\\\"+i+\\\"H\\\"+n+(\\\"sd\\\"!==d.boxmean?\\\"\\\":\\\"m0,0L\\\"+e+\\\",\\\"+o+\\\"L\\\"+r+\\\",\\\"+i+\\\"L\\\"+e+\\\",\\\"+s+\\\"Z\\\"))})})}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,d3:121}],874:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e){var r,o,s,l,u=t._fullLayout,c=e.xaxis,h=e.yaxis,f=[\\\"v\\\",\\\"h\\\"];for(o=0;o<f.length;++o){var d,p,m,v=f[o],g=[],y=[],b=0,x=0;for(r=\\\"h\\\"===v?h:c,s=0;s<t.calcdata.length;++s)d=t.calcdata[s],p=d[0].t,m=d[0].trace,!0===m.visible&&n.traceIs(m,\\\"box\\\")&&!p.emptybox&&m.orientation===v&&m.xaxis===c._id&&m.yaxis===h._id&&(g.push(s),!1!==m.boxpoints&&(b=Math.max(b,m.jitter-m.pointpos-1),x=Math.max(x,m.jitter+m.pointpos-1)));for(s=0;s<g.length;s++)for(d=t.calcdata[g[s]],l=0;l<d.length;l++)y.push(d[l].pos);if(y.length){var _=a.distinctVals(y),w=_.minDiff/2;for(y.length===_.vals.length&&(t.numboxes=1),i.minDtick(r,_.minDiff,_.vals[0],!0),o=0;o<g.length;o++){var M=g[o];t.calcdata[M][0].t.dPos=w}var k=(1-u.boxgap)*(1-u.boxgroupgap)*w/t.numboxes;i.expand(r,_.vals,{vpadminus:w+b*k,vpadplus:w+x*k})}}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844}],875:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../components/drawing\\\");e.exports=function(t){n.select(t).selectAll(\\\"g.trace.boxes\\\").style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(e){var r=e[0].trace,o=r.line.width;n.select(this).selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",o+\\\"px\\\").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),n.select(this).selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":o,\\\"stroke-dasharray\\\":2*o+\\\"px,\\\"+o+\\\"px\\\"}).call(i.stroke,r.line.color),n.select(this).selectAll(\\\"g.points path\\\").call(a.pointStyle,r,t)})}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,d3:121}],876:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../ohlc/attributes\\\"),a=t(\\\"../box/attributes\\\"),o={name:i.increasing.name,showlegend:i.increasing.showlegend,line:{color:n.extendFlat({},a.line.color),width:n.extendFlat({},a.line.width)},fillcolor:n.extendFlat({},a.fillcolor)};e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n.extendFlat({},a.line.width,{})},increasing:n.extendDeep({},o,{line:{color:{dflt:i.increasing.line.color.dflt}}}),decreasing:n.extendDeep({},o,{line:{color:{dflt:i.decreasing.line.color.dflt}}}),text:i.text,whiskerwidth:n.extendFlat({},a.whiskerwidth,{dflt:0})}},{\\\"../../lib\\\":725,\\\"../box/attributes\\\":866,\\\"../ohlc/attributes\\\":986}],877:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){o(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".fillcolor\\\")}var i=t(\\\"../../lib\\\"),a=t(\\\"../ohlc/ohlc_defaults\\\"),o=t(\\\"../ohlc/direction_defaults\\\"),s=t(\\\"../ohlc/helpers\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,o){function u(r,n){return i.coerce(t,e,l,r,n)}if(s.pushDummyTransformOpts(t,e),0===a(t,e,u,o))return void(e.visible=!1);u(\\\"line.width\\\"),n(t,e,u,\\\"increasing\\\"),n(t,e,u,\\\"decreasing\\\"),u(\\\"text\\\"),u(\\\"whiskerwidth\\\")}},{\\\"../../lib\\\":725,\\\"../ohlc/direction_defaults\\\":988,\\\"../ohlc/helpers\\\":989,\\\"../ohlc/ohlc_defaults\\\":991,\\\"./attributes\\\":876}],878:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/register\\\");e.exports={moduleType:\\\"trace\\\",name:\\\"candlestick\\\",basePlotModule:t(\\\"../../plots/cartesian\\\"),categories:[\\\"cartesian\\\",\\\"showLegend\\\",\\\"candlestick\\\"],meta:{},attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\")},n(t(\\\"../box\\\")),n(t(\\\"./transform\\\"))},{\\\"../../plot_api/register\\\":756,\\\"../../plots/cartesian\\\":776,\\\"../box\\\":870,\\\"./attributes\\\":876,\\\"./defaults\\\":877,\\\"./transform\\\":879}],879:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"box\\\",boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:o.makeTransform(t,e,r)},i=t[r];return i&&a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../ohlc/helpers\\\");r.moduleType=\\\"transform\\\",r.name=\\\"candlestick\\\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return o.clearEphemeralTransformOpts(n),o.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){\\n\",\n       \"var a=t[i];\\\"candlestick\\\"===a.type?r.push(n(a,e,\\\"increasing\\\"),n(a,e,\\\"decreasing\\\")):r.push(a)}return o.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,a=o.getFilterFn(n),s=e.open,l=e.high,u=e.low,c=e.close,h=s.length,f=[],d=[],p=e._fullInput.x?function(t){var r=e.x[t];f.push(r,r,r,r,r,r)}:function(t){f.push(t,t,t,t,t,t)},m=0;m<h;m++)a(s[m],c[m])&&i(l[m])&&i(u[m])&&(p(m),function(t,e,r,n){d.push(r,t,n,n,n,e)}(s[m],l[m],u[m],c[m]));e.x=f,e.y=d}},{\\\"../../lib\\\":725,\\\"../ohlc/helpers\\\":989,\\\"fast-isnumeric\\\":130}],880:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){[\\\"aaxis\\\",\\\"baxis\\\"].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},u={tickfont:\\\"x\\\",id:o+\\\"axis\\\",letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:n,bgColor:r.paper_bgcolor,fullLayout:r};i(s,l,u),l._categories=l._categories||[],e[a]=l,t[a]||\\\"-\\\"===s.type||(t[a]={type:s.type})})}var i=t(\\\"./axis_defaults\\\");e.exports=function(t,e,r,i,a){i(\\\"a\\\")||(i(\\\"da\\\"),i(\\\"a0\\\")),i(\\\"b\\\")||(i(\\\"db\\\"),i(\\\"b0\\\")),n(t,e,r,a)}},{\\\"./axis_defaults\\\":885}],881:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(!Array.isArray(t)||e>=10)return null;for(var r=1/0,i=-1/0,a=t.length,o=0;o<a;o++){var s=t[o];if(Array.isArray(s)){var l=n(s,e+1);l&&(r=Math.min(l[0],r),i=Math.max(l[1],i))}else r=Math.min(s,r),i=Math.max(s,i)}return[r,i]}e.exports=function(t){return n(t,0)}},{}],882:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../components/color/attributes\\\");e.exports={carpet:{valType:\\\"string\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},a:{valType:\\\"data_array\\\"},a0:{valType:\\\"number\\\",dflt:0},da:{valType:\\\"number\\\",dflt:1},b:{valType:\\\"data_array\\\"},b0:{valType:\\\"number\\\",dflt:0},db:{valType:\\\"number\\\",dflt:1},cheaterslope:{valType:\\\"number\\\",dflt:1},aaxis:n({},a),baxis:n({},a),font:{family:n({},i.family,{dflt:'\\\"Open Sans\\\", verdana, arial, sans-serif'}),size:n({},i.size,{dflt:12}),color:n({},i.color,{dflt:o.defaultLine})},color:{valType:\\\"color\\\",dflt:o.defaultLine}}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"./axis_attributes\\\":884}],883:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,d,p,m,v,g=Array.isArray(r)?\\\"a\\\":\\\"b\\\",y=\\\"a\\\"===g?t.aaxis:t.baxis,b=y.smoothing,x=\\\"a\\\"===g?t.a2i:t.b2j,_=\\\"a\\\"===g?r:n,w=\\\"a\\\"===g?n:r,M=\\\"a\\\"===g?e.a.length:e.b.length,k=\\\"a\\\"===g?e.b.length:e.a.length,A=Math.floor(\\\"a\\\"===g?t.b2j(w):t.a2i(w)),T=\\\"a\\\"===g?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};b&&(o=Math.max(0,Math.min(k-2,A)),s=A-o,a=\\\"a\\\"===g?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var S=x(_[0]),E=x(_[1]),L=S<E?1:-1,C=1e-8*(E-S),z=L>0?Math.floor:Math.ceil,I=L>0?Math.ceil:Math.floor,D=L>0?Math.min:Math.max,P=L>0?Math.max:Math.min,O=z(S+C),R=I(E-C);c=T(S);var F=[[c]];for(i=O;i*L<R*L;i+=L)l=[],p=P(S,i),m=D(E,i+L),v=m-p,u=Math.max(0,Math.min(M-2,Math.floor(.5*(p+m)))),h=T(m),b&&(f=a(u,p-u),d=a(u,m-u),l.push([c[0]+f[0]/3*v,c[1]+f[1]/3*v]),l.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),l.push(h),F.push(l),c=h;return F}},{}],884:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../components/color/attributes\\\");e.exports={color:{valType:\\\"color\\\"},smoothing:{valType:\\\"number\\\",dflt:1,min:0,max:1.3},title:{valType:\\\"string\\\"},titlefont:n({},i,{}),titleoffset:{valType:\\\"number\\\",dflt:10},type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0},rangemode:{valType:\\\"enumerated\\\",values:[\\\"normal\\\",\\\"tozero\\\",\\\"nonnegative\\\"],dflt:\\\"normal\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\"},{valType:\\\"any\\\"}]},fixedrange:{valType:\\\"boolean\\\",dflt:!1},cheatertype:{valType:\\\"enumerated\\\",values:[\\\"index\\\",\\\"value\\\"],dflt:\\\"value\\\"},tickmode:{valType:\\\"enumerated\\\",values:[\\\"linear\\\",\\\"array\\\"],dflt:\\\"array\\\"},nticks:{valType:\\\"integer\\\",min:0,dflt:0},tickvals:{valType:\\\"data_array\\\"},ticktext:{valType:\\\"data_array\\\"},showticklabels:{valType:\\\"enumerated\\\",values:[\\\"start\\\",\\\"end\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"start\\\"},tickfont:n({},i,{}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\"},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\"},categoryarray:{valType:\\\"data_array\\\"},labelpadding:{valType:\\\"integer\\\",dflt:10},labelprefix:{valType:\\\"string\\\"},labelsuffix:{valType:\\\"string\\\",dflt:\\\"\\\"},showline:{valType:\\\"boolean\\\",dflt:!1},linecolor:{valType:\\\"color\\\",dflt:a.defaultLine},linewidth:{valType:\\\"number\\\",min:0,dflt:1},gridcolor:{valType:\\\"color\\\"},gridwidth:{valType:\\\"number\\\",min:0,dflt:1},showgrid:{valType:\\\"boolean\\\",dflt:!0},minorgridcount:{valType:\\\"integer\\\",min:0,dflt:0},minorgridwidth:{valType:\\\"number\\\",min:0,dflt:1},minorgridcolor:{valType:\\\"color\\\",dflt:a.lightLine},startline:{valType:\\\"boolean\\\"},startlinecolor:{valType:\\\"color\\\"},startlinewidth:{valType:\\\"number\\\",dflt:1},endline:{valType:\\\"boolean\\\"},endlinewidth:{valType:\\\"number\\\",dflt:1},endlinecolor:{valType:\\\"color\\\"},tick0:{valType:\\\"number\\\",min:0,dflt:0},dtick:{valType:\\\"number\\\",min:0,dflt:1},arraytick0:{valType:\\\"integer\\\",min:0,dflt:0},arraydtick:{valType:\\\"integer\\\",min:1,dflt:1}}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790}],885:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(\\\"-\\\"===t.type){var r=t._id,n=r.charAt(0),i=n+\\\"calendar\\\",a=t[i];t.type=d(e,a)}}var i=t(\\\"./attributes\\\"),a=t(\\\"../../components/color\\\").addOpacity,o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/cartesian/tick_value_defaults\\\"),u=t(\\\"../../plots/cartesian/tick_label_defaults\\\"),c=t(\\\"../../plots/cartesian/category_order_defaults\\\"),h=t(\\\"../../plots/cartesian/set_convert\\\"),f=t(\\\"../../plots/cartesian/ordered_categories\\\"),d=t(\\\"../../plots/cartesian/axis_autotype\\\");e.exports=function(t,e,r){function d(r,n){return s.coerce(t,e,g,r,n)}function p(r,n){return s.coerce2(t,e,g,r,n)}var m=r.letter,v=r.font||{},g=i[m+\\\"axis\\\"];r.noHover=!0,r.name&&(e._name=r.name,e._id=r.name);var y=d(\\\"type\\\");if(\\\"-\\\"===y&&(r.data&&n(e,r.data),\\\"-\\\"===e.type?e.type=\\\"linear\\\":y=t.type=e.type),d(\\\"smoothing\\\"),d(\\\"cheatertype\\\"),d(\\\"showticklabels\\\"),d(\\\"labelprefix\\\",m+\\\" = \\\"),d(\\\"labelsuffix\\\"),d(\\\"showtickprefix\\\"),d(\\\"showticksuffix\\\"),d(\\\"separatethousands\\\"),d(\\\"tickformat\\\"),d(\\\"exponentformat\\\"),d(\\\"showexponent\\\"),d(\\\"categoryorder\\\"),d(\\\"tickmode\\\"),d(\\\"tickvals\\\"),d(\\\"ticktext\\\"),d(\\\"tick0\\\"),d(\\\"dtick\\\"),\\\"array\\\"===e.tickmode&&(d(\\\"arraytick0\\\"),d(\\\"arraydtick\\\")),d(\\\"labelpadding\\\"),e._hovertitle=m,\\\"date\\\"===y){o.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",r.calendar)}h(e,r.fullLayout);var b=d(\\\"color\\\",r.dfltColor),x=b===t.color?b:v.color;d(\\\"title\\\"),s.coerceFont(d,\\\"titlefont\\\",{family:v.family,size:Math.round(1.2*v.size),color:x}),d(\\\"titleoffset\\\"),d(\\\"tickangle\\\"),d(\\\"autorange\\\",!e.isValidRange(t.range))&&d(\\\"rangemode\\\"),d(\\\"range\\\"),e.cleanRange(),d(\\\"fixedrange\\\"),l(t,e,d,y),u(t,e,d,y,r),c(t,e,d);var _=p(\\\"gridcolor\\\",a(b,.3)),w=p(\\\"gridwidth\\\"),M=d(\\\"showgrid\\\");M||(delete e.gridcolor,delete e.gridwidth);var k=p(\\\"startlinecolor\\\",b),A=p(\\\"startlinewidth\\\",w);d(\\\"startline\\\",e.showgrid||!!k||!!A)||(delete e.startlinecolor,delete e.startlinewidth);var T=p(\\\"endlinecolor\\\",b),S=p(\\\"endlinewidth\\\",w);return d(\\\"endline\\\",e.showgrid||!!T||!!S)||(delete e.endlinecolor,delete e.endlinewidth),M?(d(\\\"minorgridcount\\\"),d(\\\"minorgridwidth\\\",w),d(\\\"minorgridcolor\\\",a(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._separators=r.fullLayout.separators,e._initialCategories=\\\"category\\\"===y?f(m,e.categoryorder,e.categoryarray,r.data):[],\\\"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,d(\\\"tickmode\\\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axis_autotype\\\":767,\\\"../../plots/cartesian/category_order_defaults\\\":770,\\\"../../plots/cartesian/ordered_categories\\\":779,\\\"../../plots/cartesian/set_convert\\\":783,\\\"../../plots/cartesian/tick_label_defaults\\\":784,\\\"../../plots/cartesian/tick_value_defaults\\\":786,\\\"../../registry\\\":844,\\\"./attributes\\\":882}],886:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"./cheater_basis\\\"),a=t(\\\"./array_minmax\\\"),o=t(\\\"./map_2d_array\\\"),s=t(\\\"./calc_gridlines\\\"),l=t(\\\"./calc_labels\\\"),u=t(\\\"./calc_clippath\\\"),c=t(\\\"../heatmap/clean_2d_array\\\"),h=t(\\\"./smooth_fill_2d_array\\\");e.exports=function(t,e){var r,f=n.getFromId(t,e.xaxis||\\\"x\\\"),d=n.getFromId(t,e.yaxis||\\\"y\\\"),p=e.aaxis,m=e.baxis,v=e._a=e.a,g=e._b=e.b,y={},b=e.y;if(e._cheater){var x=\\\"index\\\"===p.cheatertype?v.length:v,_=\\\"index\\\"===m.cheatertype?g.length:g;e.x=r=i(x,_,e.cheaterslope)}else r=e.x;e._x=e.x=r=c(r),e._y=e.y=b=c(b),h(r,v,g),h(b,v,g),e.setScale(),y.xp=e.xp=o(e.xp,r,f.c2p),y.yp=e.yp=o(e.yp,b,d.c2p);var w=a(r),M=a(b),k=.5*(w[1]-w[0]),A=.5*(w[1]+w[0]),T=.5*(M[1]-M[0]),S=.5*(M[1]+M[0]);return w=[A-1.3*k,A+1.3*k],M=[S-1.3*T,S+1.3*T],n.expand(f,w,{padded:!0}),n.expand(d,M,{padded:!0}),s(e,y,\\\"a\\\",\\\"b\\\"),s(e,y,\\\"b\\\",\\\"a\\\"),l(e,p),l(e,m),y.clipsegments=u(e.xctrl,e.yctrl,p,m),y.x=r,y.y=b,y.a=v,y.b=g,[y]}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../heatmap/clean_2d_array\\\":946,\\\"./array_minmax\\\":881,\\\"./calc_clippath\\\":887,\\\"./calc_gridlines\\\":888,\\\"./calc_labels\\\":889,\\\"./cheater_basis\\\":891,\\\"./map_2d_array\\\":903,\\\"./smooth_fill_2d_array\\\":907}],887:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=t[0].length-1,h=t.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=h;i++)a[i]=t[i][c],o[i]=e[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=t[h][i],o[c-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},{}],888:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e,r,a){function o(e){var n,i,o,s,l,u,c,h,f,d,p,v,g=[],y=[],b={};if(\\\"b\\\"===r)for(i=t.b2j(e),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,b.length=P,b.crossLength=D,b.xy=function(e){return t.evalxy([],e,i)},b.dxy=function(e,r){return t.dxydi([],e,o,r,s)},n=0;n<D;n++)u=Math.min(D-2,n),c=n-u,h=t.evalxy([],n,i),E.smoothing&&n>0&&(f=t.dxydi([],n-1,o,0,s),g.push(l[0]+f[0]/3),y.push(l[1]+f[1]/3),d=t.dxydi([],n-1,o,1,s),g.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),g.push(h[0]),y.push(h[1]),l=h;else for(n=t.a2i(e),u=Math.floor(Math.max(0,Math.min(D-2,n))),c=n-u,b.length=D,b.crossLength=P,b.xy=function(e){return t.evalxy([],n,e)},b.dxy=function(e,r){return t.dxydj([],u,e,c,r)},i=0;i<P;i++)o=Math.min(P-2,i),s=i-o,h=t.evalxy([],n,i),E.smoothing&&i>0&&(p=t.dxydj([],u,i-1,c,0),g.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),v=t.dxydj([],u,i-1,c,1),g.push(h[0]-v[0]/3),y.push(h[1]-v[1]/3)),g.push(h[0]),y.push(h[1]),l=h;return b.axisLetter=r,b.axis=M,b.crossAxis=E,b.value=e,b.constvar=a,b.index=m,b.x=g,b.y=y,b.smoothing=E.smoothing,b}function s(e){var n,i,o,s,l,u=[],c=[],h={};if(h.length=w.length,h.crossLength=S.length,\\\"b\\\"===r)for(o=Math.max(0,Math.min(P-2,e)),l=Math.min(1,Math.max(0,e-o)),h.xy=function(r){return t.evalxy([],r,e)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},n=0;n<z;n++)u[n]=L[e*O][n],c[n]=C[e*O][n];else for(i=Math.max(0,Math.min(D-2,e)),s=Math.min(1,Math.max(0,e-i)),h.xy=function(r){return t.evalxy([],e,r)},h.dxy=function(e,r){return t.dxydj([],i,e,s,r)},n=0;n<I;n++)u[n]=L[n][e*O],c[n]=C[n][e*O];return h.axisLetter=r,h.axis=M,h.crossAxis=E,h.value=w[e],h.constvar=a,h.index=e,h.x=u,h.y=c,h.smoothing=E.smoothing,h}var l,u,c,h,f,d,p,m,v,g,y,b,x,_,w=t[r],M=t[r+\\\"axis\\\"],k=M._gridlines=[],A=M._minorgridlines=[],T=M._boundarylines=[],S=t[a],E=t[a+\\\"axis\\\"];if(\\\"array\\\"===M.tickmode)for(M.tickvals=[],l=0;l<w.length;l++)M.tickvals.push(w[l]);var L=t.xctrl,C=t.yctrl,z=L[0].length,I=L.length,D=t.a.length,P=t.b.length;n.calcTicks(M);var O=M.smoothing?3:1;if(\\\"array\\\"===M.tickmode){for(h=5e-15,f=[Math.floor((w.length-1-M.arraytick0)/M.arraydtick*(1+h)),Math.ceil(-M.arraytick0/M.arraydtick/(1+h))].sort(function(t,e){return t-e}),d=f[0]-1,p=f[1]+1,m=d;m<p;m++)(u=M.arraytick0+M.arraydtick*m)<0||u>w.length-1||k.push(i(s(u),{color:M.gridcolor,width:M.gridwidth}));for(m=d;m<p;m++)if(c=M.arraytick0+M.arraydtick*m,y=Math.min(c+M.arraydtick,w.length-1),!(c<0||c>w.length-1||y<0||y>w.length-1))for(b=w[c],x=w[y],l=0;l<M.minorgridcount;l++)(_=y-c)<=0||(g=b+(x-b)*(l+1)/(M.minorgridcount+1)*(M.arraydtick/_))<w[0]||g>w[w.length-1]||A.push(i(o(g),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&&T.push(i(s(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&T.push(i(s(w.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(h=5e-15,f=[Math.floor((w[w.length-1]-M.tick0)/M.dtick*(1+h)),Math.ceil((w[0]-M.tick0)/M.dtick/(1+h))].sort(function(t,e){return t-e}),d=f[0],p=f[1],m=d;m<=p;m++)v=M.tick0+M.dtick*m,k.push(i(o(v),{color:M.gridcolor,width:M.gridwidth}));for(m=d-1;m<p+1;m++)for(v=M.tick0+M.dtick*m,l=0;l<M.minorgridcount;l++)(g=v+M.dtick*(l+1)/(M.minorgridcount+1))<w[0]||g>w[w.length-1]||A.push(i(o(g),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&&T.push(i(o(w[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&T.push(i(o(w[w.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/axes\\\":766}],889:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\\\"start\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a)),-1!==[\\\"end\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a))}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/axes\\\":766}],890:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,h=(u*u*a-l*l*s)*n,f=u*(l+u)*3,d=l*(l+u)*3;return[[e[0]+(f&&c/f),e[1]+(f&&h/f)],[e[0]-(d&&c/d),e[1]-(d&&h/d)]]}},{}],891:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArray;e.exports=function(t,e,r){var i,a,o,s,l,u,c=[],h=n(t)?t.length:t,f=n(e)?e.length:e,d=n(t)?t:null,p=n(e)?e:null;d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(h-1)),p&&(s=(p.length-1)/(p[p.length-1]-p[0])/(f-1));var m,v=1/0,g=-1/0;for(a=0;a<f;a++)for(c[a]=[],u=p?(p[a]-p[0])*s:a/(f-1),i=0;i<h;i++)l=d?(d[i]-d[0])*o:i/(h-1),m=l-u*r,v=Math.min(m,v),g=Math.max(m,g),c[a][i]=m;var y=1/(g-v),b=-v*y;for(a=0;a<f;a++)for(i=0;i<h;i++)c[a][i]=y*c[a][i]+b;return c}},{\\\"../../lib\\\":725}],892:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}var i=t(\\\"./catmull_rom\\\"),a=t(\\\"../../lib\\\").ensureArray;e.exports=function(t,e,r,o,s,l){var u,c,h,f,d,p,m,v,g,y,b=r[0].length,x=r.length,_=s?3*b-2:b,w=l?3*x-2:x;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(c=0,f=0;c<x;c++,f+=l?3:1)for(d=t[f],p=e[f],m=r[c],v=o[c],u=0,h=0;u<b;u++,h+=s?3:1)d[h]=m[u],p[h]=v[u];if(s)for(c=0,f=0;c<x;c++,f+=l?3:1){for(u=1,h=3;u<b-1;u++,h+=3)g=i([r[c][u-1],o[c][u-1]],[r[c][u],o[c][u]],[r[c][u+1],o[c][u+1]],s),t[f][h-1]=g[0][0],e[f][h-1]=g[0][1],t[f][h+1]=g[1][0],e[f][h+1]=g[1][1];y=n([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=n([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)g=i([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]=g[0][0],e[f-1][h]=g[0][1],t[f+1][h]=g[1][0],e[f+1][h]=g[1][1];y=n([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=n([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)g=i([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]+g[0][0]),e[f][h-1]=.5*(e[f][h-1]+g[0][1]),t[f][h+1]=.5*(t[f][h+1]+g[1][0]),e[f][h+1]=.5*(e[f][h+1]+g[1][1]);y=n([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=n([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\\\":725,\\\"./catmull_rom\\\":890}],893:[function(t,e,r){\\\"use strict\\\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],894:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;r*=3,n*=3;var f=i*i,d=1-i,p=d*d,m=d*i*2,v=-3*p,g=3*(p-m),y=3*(m-f),b=3*f,x=a*a,_=x*a,w=1-a,M=w*w,k=M*w;for(h=0;h<t.length;h++)c=t[h],o=v*c[n][r]+g*c[n][r+1]+y*c[n][r+2]+b*c[n][r+3],s=v*c[n+1][r]+g*c[n+1][r+1]+y*c[n+1][r+2]+b*c[n+1][r+3],l=v*c[n+2][r]+g*c[n+2][r+1]+y*c[n+2][r+2]+b*c[n+2][r+3],u=v*c[n+3][r]+g*c[n+3][r+1]+y*c[n+3][r+2]+b*c[n+3][r+3],e[h]=k*o+3*(M*a*s+w*x*l)+_*u;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,u;r*=3;var c=i*i,h=1-i,f=h*h,d=h*i*2,p=-3*f,m=3*(f-d),v=3*(d-c),g=3*c,y=1-a;for(l=0;l<t.length;l++)u=t[l],o=p*u[n][r]+m*u[n][r+1]+v*u[n][r+2]+g*u[n][r+3],s=p*u[n+1][r]+m*u[n+1][r+1]+v*u[n+1][r+2]+g*u[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;n*=3;var f=a*a,d=f*a,p=1-a,m=p*p,v=m*p;for(c=0;c<t.length;c++)h=t[c],o=h[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],u=h[n+3][r+1]-h[n+3][r],e[c]=v*o+3*(m*a*s+p*f*l)+d*u;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c=1-a;for(l=0;l<t.length;l++)u=t[l],o=u[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],e[l]=c*o+a*s;return e}}},{}],895:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;r*=3,n*=3;var f=i*i,d=f*i,p=1-i,m=p*p,v=m*p,g=a*a,y=1-a,b=y*y,x=y*a*2,_=-3*b,w=3*(b-x),M=3*(x-g),k=3*g;for(h=0;h<t.length;h++)c=t[h],o=_*c[n][r]+w*c[n+1][r]+M*c[n+2][r]+k*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+M*c[n+2][r+1]+k*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+M*c[n+2][r+2]+k*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+M*c[n+2][r+3]+k*c[n+3][r+3],e[h]=v*o+3*(m*i*s+p*f*l)+d*u;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;r*=3;var f=a*a,d=f*a,p=1-a,m=p*p,v=m*p;for(c=0;c<t.length;c++)h=t[c],o=h[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],u=h[n+1][r+3]-h[n][r+3],e[c]=v*o+3*(m*a*s+p*f*l)+d*u;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u;n*=3;var c=1-i,h=a*a,f=1-a,d=f*f,p=f*a*2,m=-3*d,v=3*(d-p),g=3*(p-h),y=3*h;for(l=0;l<t.length;l++)u=t[l],o=m*u[n][r]+v*u[n+1][r]+g*u[n+2][r]+y*u[n+3][r],s=m*u[n][r+1]+v*u[n+1][r+1]+g*u[n+2][r+1]+y*u[n+3][r+1],e[l]=c*o+i*s;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c=1-i;for(l=0;l<t.length;l++)u=t[l],o=u[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],e[l]=c*o+i*s;return e}}},{}],896:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-f)),m=Math.max(0,Math.min(1,n-d));f*=3,d*=3;var v=p*p,g=v*p,y=1-p,b=y*y,x=b*y,_=m*m,w=_*m,M=1-m,k=M*M,A=k*M;for(h=0;h<t.length;h++)c=t[h],i=x*c[d][f]+3*(b*p*c[d][f+1]+y*v*c[d][f+2])+g*c[d][f+3],s=x*c[d+1][f]+3*(b*p*c[d+1][f+1]+y*v*c[d+1][f+2])+g*c[d+1][f+3],l=x*c[d+2][f]+3*(b*p*c[d+2][f+1]+y*v*c[d+2][f+2])+g*c[d+2][f+3],u=x*c[d+3][f]+3*(b*p*c[d+3][f+1]+y*v*c[d+3][f+2])+g*c[d+3][f+3],e[h]=A*i+3*(k*m*s+M*_*l)+w*u;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-f)),m=Math.max(0,Math.min(1,n-d));f*=3;var v=p*p,g=v*p,y=1-p,b=y*y,x=b*y,_=1-m;for(c=0;c<t.length;c++)h=t[c],i=_*h[d][f]+m*h[d+1][f],s=_*h[d][f+1]+m*h[d+1][f+1],l=_*h[d][f+2]+m*h[d+1][f+1],u=_*h[d][f+3]+m*h[d+1][f+1],e[c]=x*i+3*(b*p*s+y*v*l)+g*u;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-f)),m=Math.max(0,Math.min(1,n-d));d*=3;var v=m*m,g=v*m,y=1-m,b=y*y,x=b*y,_=1-p;for(c=0;c<t.length;c++)h=t[c],i=_*h[d][f]+p*h[d][f+1],s=_*h[d+1][f]+p*h[d+1][f+1],l=_*h[d+2][f]+p*h[d+2][f+1],u=_*h[d+3][f]+p*h[d+3][f+1],e[c]=x*i+3*(b*m*s+y*v*l)+g*u;return e}:function(e,r,n){e||(e=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-c)),d=Math.max(0,Math.min(1,n-h)),p=1-d,m=1-f;for(l=0;l<t.length;l++)u=t[l],i=m*u[h][c]+f*u[h][c+1],s=m*u[h+1][c]+f*u[h+1][c+1],e[l]=p*i+d*s;return e}}},{}],897:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./xy_defaults\\\"),a=t(\\\"./ab_defaults\\\"),o=t(\\\"./set_convert\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"../../components/color/attributes\\\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,s,r,i)}e._clipPathId=\\\"clip\\\"+e.uid+\\\"carpet\\\";var h=c(\\\"color\\\",l.defaultLine);if(n.coerceFont(c,\\\"font\\\"),c(\\\"carpet\\\"),a(t,e,u,c,h),!e.a||!e.b)return void(e.visible=!1);e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0);var f=i(t,e,c);o(e),e._cheater&&c(\\\"cheaterslope\\\"),f||(e.visible=!1)}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib\\\":725,\\\"./ab_defaults\\\":880,\\\"./attributes\\\":882,\\\"./set_convert\\\":906,\\\"./xy_defaults\\\":908}],898:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return Array.isArray(t[0])}},{}],899:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.plot=t(\\\"./plot\\\"),n.calc=t(\\\"./calc\\\"),n.animatable=!0,n.moduleType=\\\"trace\\\",n.name=\\\"carpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"carpetAxis\\\",\\\"notLegendIsolatable\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":882,\\\"./calc\\\":886,\\\"./defaults\\\":897,\\\"./plot\\\":905}],900:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\\\"carpet\\\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],901:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){if(0===t.length)return\\\"\\\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\\\",\\\"+e[n]),r&&n<t.length-a&&(i.push(\\\"C\\\"),i.push([t[n+1]+\\\",\\\"+e[n+1],t[n+2]+\\\",\\\"+e[n+2]+\\\" \\\"].join(\\\" \\\")));return i.join(r?\\\"\\\":\\\"L\\\")}},{}],902:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)t[n]=r(e[n]);return t}},{}],903:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n,i;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)for(Array.isArray(t[n])?t[n].length>e.length&&(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i<e[0].length;i++)t[n][i]=r(e[n][i]);return t}},{}],904:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),h=Math.sqrt(a[0]*a[0]+a[1]*a[1]),f=(i[0]*a[0]+i[1]*a[1])/c/h;u=Math.max(0,f)}var d=180*Math.atan2(s,o)/Math.PI;return d<-90?(d+=180,l=-l):d>90&&(d-=180,l=-l),{angle:d,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},{}],905:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t.selectAll(e+\\\".\\\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}function i(t,e,r){var i=r[0],u=r[0].trace,c=e.xaxis,h=e.yaxis,f=u.aaxis,d=u.baxis,p=t._fullLayout,m=e.plot.selectAll(\\\".carpetlayer\\\"),v=n(p._defs,\\\"g\\\",\\\"clips\\\"),g=n(m,\\\"g\\\",\\\"carpet\\\"+u.uid).classed(\\\"trace\\\",!0),y=n(g,\\\"g\\\",\\\"minorlayer\\\"),b=n(g,\\\"g\\\",\\\"majorlayer\\\"),x=n(g,\\\"g\\\",\\\"boundarylayer\\\"),_=n(g,\\\"g\\\",\\\"labellayer\\\");g.style(\\\"opacity\\\",u.opacity),o(c,h,b,f,\\\"a\\\",f._gridlines),o(c,h,b,d,\\\"b\\\",d._gridlines),o(c,h,y,f,\\\"a\\\",f._minorgridlines),o(c,h,y,d,\\\"b\\\",d._minorgridlines),o(c,h,x,f,\\\"a-boundary\\\",f._boundarylines),o(c,h,x,d,\\\"b-boundary\\\",d._boundarylines),l(t,_,u,i,c,h,s(t,c,h,u,i,_,f._labels,\\\"a-label\\\"),s(t,c,h,u,i,_,d._labels,\\\"b-label\\\")),a(u,i,v,c,h)}function a(t,e,r,i,a){var o,s,l,u,c=r.select(\\\"#\\\"+t._clipPathId);c.size()||(c=r.append(\\\"clipPath\\\").classed(\\\"carpetclip\\\",!0));var h=n(c,\\\"path\\\",\\\"carpetboundary\\\"),p=e.clipsegments,m=[];for(u=0;u<p.length;u++)o=p[u],s=f([],o.x,i.c2p),l=f([],o.y,a.c2p),m.push(d(s,l,o.bicubic));var v=\\\"M\\\"+m.join(\\\"L\\\")+\\\"Z\\\";c.attr(\\\"id\\\",t._clipPathId),h.attr(\\\"d\\\",v)}function o(t,e,r,n,i,a){var o=\\\"const-\\\"+i+\\\"-lines\\\",s=r.selectAll(\\\".\\\"+o).data(a);s.enter().append(\\\"path\\\").classed(o,!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\"),s.each(function(r){var n=r,i=n.x,a=n.y,o=f([],i,t.c2p),s=f([],a,e.c2p),l=\\\"M\\\"+d(o,s,n.smoothing);c.select(this).attr(\\\"d\\\",l).style(\\\"stroke-width\\\",n.width).style(\\\"stroke\\\",n.color).style(\\\"fill\\\",\\\"none\\\")}),s.exit().remove()}function s(t,e,r,n,i,a,o,s){var l=a.selectAll(\\\"text.\\\"+s).data(o);l.enter().append(\\\"text\\\").classed(s,!0);var u=0;return l.each(function(i){var a;if(\\\"auto\\\"===i.axis.tickangle)a=p(n,e,r,i.xy,i.dxy);else{var o=(i.axis.tickangle+180)*Math.PI/180;a=p(n,e,r,i.xy,[Math.cos(o),Math.sin(o)])}var s=(i.endAnchor?-1:1)*a.flip,l=c.select(this).attr({\\\"text-anchor\\\":s>0?\\\"start\\\":\\\"end\\\",\\\"data-notex\\\":1}).call(h.font,i.font).text(i.text).call(m.convertToTspans,t),f=h.bBox(this);l.attr(\\\"transform\\\",\\\"translate(\\\"+a.p[0]+\\\",\\\"+a.p[1]+\\\") rotate(\\\"+a.angle+\\\")translate(\\\"+i.axis.labelpadding*s+\\\",\\\"+.3*f.height+\\\")\\\"),u=Math.max(u,f.width+i.axis.labelpadding)}),l.exit().remove(),u}function l(t,e,r,n,i,a,o,s){var l,c,h,f;l=.5*(r.a[0]+r.a[r.a.length-1]),c=r.b[0],h=r.ab2xy(l,c,!0),f=r.dxyda_rough(l,c),u(t,e,r,n,h,f,r.aaxis,i,a,o,\\\"a-title\\\"),l=r.a[0],c=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(l,c,!0),f=r.dxydb_rough(l,c),u(t,e,r,n,h,f,r.baxis,i,a,s,\\\"b-title\\\")}function u(t,e,r,n,i,a,o,s,l,u,f){var d=[];o.title&&d.push(o.title);var v=e.selectAll(\\\"text.\\\"+f).data(d);v.enter().append(\\\"text\\\").classed(f,!0),v.each(function(){var e=p(r,s,l,i,a);-1===[\\\"start\\\",\\\"both\\\"].indexOf(o.showticklabels)&&(u=0),u+=o.titlefont.size+o.titleoffset,c.select(this).text(o.title||\\\"\\\").call(m.convertToTspans,t).attr(\\\"transform\\\",\\\"translate(\\\"+e.p[0]+\\\",\\\"+e.p[1]+\\\") rotate(\\\"+e.angle+\\\") translate(0,\\\"+u+\\\")\\\").classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").call(h.font,o.titlefont)}),v.exit().remove()}var c=t(\\\"d3\\\"),h=t(\\\"../../components/drawing\\\"),f=t(\\\"./map_1d_array\\\"),d=t(\\\"./makepath\\\"),p=t(\\\"./orient_text\\\"),m=t(\\\"../../lib/svg_text_utils\\\");e.exports=function(t,e,r){for(var n=0;n<r.length;n++)i(t,e,r[n])}},{\\\"../../components/drawing\\\":627,\\\"../../lib/svg_text_utils\\\":745,\\\"./makepath\\\":901,\\\"./map_1d_array\\\":902,\\\"./orient_text\\\":904,d3:121}],906:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../lib/search\\\").findBin,a=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,u=t.a.length,c=t.b.length,h=t.aaxis,f=t.baxis,d=e[0],p=e[u-1],m=r[0],v=r[c-1],g=e[e.length-1]-e[0],y=r[r.length-1]-r[0],b=g*n.RELATIVE_CULL_TOLERANCE,x=y*n.RELATIVE_CULL_TOLERANCE;d-=b,p+=b,m-=x,v+=x,t.isVisible=function(t,e){return t>d&&t<p&&e>m&&e<v},t.isOccluded=function(t,e){return t<d||t>p||e<m||e>v},h.c2p=function(t){return t},f.c2p=function(t){return t},t.setScale=function(){var e=t.x,r=t.y,n=a(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],u,c,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]),u-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]),u-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(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-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,i,a){if(!a&&(n<e[0]||n>e[u-1]|i<r[0]||i>r[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var h,f,d,p,m=0,v=0,g=[];n<e[0]?(h=0,f=0,m=(n-e[0])/(e[1]-e[0])):n>e[u-1]?(h=u-2,f=1,m=(n-e[u-1])/(e[u-1]-e[u-2])):(h=Math.max(0,Math.min(u-2,Math.floor(o))),f=o-h),i<r[0]?(d=0,p=0,v=(i-r[0])/(r[1]-r[0])):i>r[c-1]?(d=c-2,p=1,v=(i-r[c-1])/(r[c-1]-r[c-2])):(d=Math.max(0,Math.min(c-2,Math.floor(s))),p=s-d),m&&(t.dxydi(g,h,d,f,p),l[0]+=g[0]*m,l[1]+=g[1]*m),v&&(t.dxydj(g,h,d,f,p),l[0]+=g[0]*v,l[1]+=g[1]*v)}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,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=g*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\\\"../../lib/search\\\":740,\\\"./compute_control_points\\\":892,\\\"./constants\\\":893,\\\"./create_i_derivative_evaluator\\\":894,\\\"./create_j_derivative_evaluator\\\":895,\\\"./create_spline_evaluator\\\":896}],907:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length,h=0;for(i=0;i<u;i++)for(a=0;a<c;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=function(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<u-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<c-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var f,d,p,m,v,g,y,b,x,_,w,M=0,k=0,A=s.length;do{for(M=0,o=0;o<A;o++){i=s[o],a=l[o];var T,S,E,L,C,z,I=0,D=0;0===i?(C=Math.min(u-1,2),E=e[C],L=e[1],T=t[a][C],S=t[a][1],D+=S+(S-T)*(e[0]-L)/(L-E),I++):i===u-1&&(C=Math.max(0,u-3),E=e[C],L=e[u-2],T=t[a][C],S=t[a][u-2],D+=S+(S-T)*(e[u-1]-L)/(L-E),I++),(0===i||i===u-1)&&a>0&&a<c-1&&(f=r[a+1]-r[a],d=r[a]-r[a-1],D+=(d*t[a+1][i]+f*t[a-1][i])/(d+f),I++),0===a?(z=Math.min(c-1,2),E=r[z],L=r[1],T=t[z][i],S=t[1][i],D+=S+(S-T)*(r[0]-L)/(L-E),I++):a===c-1&&(z=Math.max(0,c-3),E=r[z],L=r[c-2],T=t[z][i],S=t[c-2][i],D+=S+(S-T)*(r[c-1]-L)/(L-E),I++),(0===a||a===c-1)&&i>0&&i<u-1&&(f=e[i+1]-e[i],d=e[i]-e[i-1],D+=(d*t[a][i+1]+f*t[a][i-1])/(d+f),I++),I?D/=I:(p=e[i+1]-e[i],m=e[i]-e[i-1],v=r[a+1]-r[a],g=r[a]-r[a-1],y=p*m*(p+m),b=v*g*(v+g),D=(y*(g*t[a+1][i]+v*t[a-1][i])+b*(m*t[a][i+1]+p*t[a][i-1]))/(b*(m+p)+y*(g+v))),x=D-t[a][i],_=x/h,M+=_*_,w=I?0:.85,t[a][i]+=x*(1+w)}M=Math.sqrt(M)}while(k++<100&&M>1e-5);return n.log(\\\"Smoother converged to\\\",M,\\\"after\\\",k,\\\"iterations\\\"),t}},{\\\"../../lib\\\":725}],908:[function(t,e,r){\\\"use strict\\\"\\n\",\n       \";var n=t(\\\"./has_columns\\\"),i=t(\\\"../heatmap/convert_column_xyz\\\");e.exports=function(t,e,r){var a=[],o=r(\\\"x\\\");o&&!n(o)&&a.push(\\\"x\\\"),e._cheater=!o;var s=r(\\\"y\\\");if(s&&!n(s)&&a.push(\\\"y\\\"),o||s)return a.length&&i(e,e.aaxis,e.baxis,\\\"a\\\",\\\"b\\\",a),!0}},{\\\"../heatmap/convert_column_xyz\\\":948,\\\"./has_columns\\\":898}],909:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker.line;e.exports=s({},{locations:{valType:\\\"data_array\\\"},locationmode:n.locationmode,z:{valType:\\\"data_array\\\"},text:{valType:\\\"data_array\\\"},marker:{line:{color:l.color,width:s({},l.width,{dflt:1})}},hoverinfo:s({},o.hoverinfo,{flags:[\\\"location\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"]})},i,{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scattergeo/attributes\\\":1064}],910:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){n(e,e.z,\\\"\\\",\\\"z\\\")}},{\\\"../../components/colorscale/calc\\\":609}],911:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/colorscale/defaults\\\"),a=t(\\\"./attributes\\\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,u=s(\\\"locations\\\");if(u&&(l=u.length),!u||!l)return void(e.visible=!1);var c=s(\\\"z\\\");if(!Array.isArray(c))return void(e.visible=!1);c.length>l&&(e.z=c.slice(0,l)),s(\\\"locationmode\\\"),s(\\\"text\\\"),s(\\\"marker.line.color\\\"),s(\\\"marker.line.width\\\"),i(t,e,o,s,{prefix:\\\"\\\",cLetter:\\\"z\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"./attributes\\\":909}],912:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],913:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var o=e.hoverinfo,s=\\\"all\\\"===o?a.hoverinfo.flags:o.split(\\\"+\\\"),l=-1!==s.indexOf(\\\"name\\\"),u=-1!==s.indexOf(\\\"location\\\"),c=-1!==s.indexOf(\\\"z\\\"),h=-1!==s.indexOf(\\\"text\\\"),f=!l&&u,d=[];f?t.nameOverride=r.id:(l&&(t.nameOverride=e.name),u&&d.push(r.id)),c&&d.push(function(t){return i.tickText(n,n.c2l(t),\\\"hover\\\").text}(r.z)),h&&d.push(r.tx),t.extraText=d.join(\\\"<br>\\\")}var i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./attributes\\\");e.exports=function(t){var e=t.cd,r=e[0].trace,i=t.subplot,a=i.choroplethHoverPt;if(a){var o=i.projection(a.properties.ct);return t.x0=t.x1=o[0],t.y0=t.y1=o[1],t.index=a.index,t.location=a.id,t.z=a.z,n(t,r,a,i.mockAxis),[t]}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":909}],914:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"choropleth\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":794,\\\"../heatmap/colorbar\\\":947,\\\"./attributes\\\":909,\\\"./calc\\\":910,\\\"./defaults\\\":911,\\\"./event_data\\\":912,\\\"./hover\\\":913,\\\"./plot\\\":915}],915:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r,n=[],i=t.locations,a=i.length,o=u(t,e),s=(t.marker||{}).line||{},l=0;l<a;l++)(r=c(t.locationmode,i[l],o))&&(r.z=t.z[l],void 0!==t.text&&(r.tx=t.text[l]),h(s.color,r,\\\"mlc\\\",l),h(s.width,r,\\\"mlw\\\",l),r.index=l,n.push(r));return n.length>0&&(n[0].trace=t),n}function i(t){t.framework.selectAll(\\\"g.trace.choropleth\\\").each(function(t){var e=t[0].trace,r=a.select(this),n=e.marker||{},i=n.line||{},u=l.makeColorScaleFunc(l.extractScale(e.colorscale,e.zmin,e.zmax));r.selectAll(\\\"path.choroplethlocation\\\").each(function(t){a.select(this).attr(\\\"fill\\\",function(t){return u(t.z)}).call(o.stroke,t.mlc||i.color).call(s.dashLine,\\\"\\\",t.mlw||i.width||0)})})}var a=t(\\\"d3\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../components/colorscale\\\"),u=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,c=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,h=t(\\\"../../lib/array_to_calc_item\\\"),f=t(\\\"../../plots/geo/constants\\\");e.exports=function(t,e,r){function o(t){return t[0].trace.uid}var s,l=t.framework,u=l.select(\\\"g.choroplethlayer\\\"),c=l.select(\\\"g.baselayer\\\"),h=l.select(\\\"g.baselayeroverchoropleth\\\"),d=f.baseLayersOverChoropleth,p=u.selectAll(\\\"g.trace.choropleth\\\").data(e,o);p.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace choropleth\\\"),p.exit().remove(),p.each(function(e){var r=e[0].trace,i=n(r,t.topojson),o=a.select(this).selectAll(\\\"path.choroplethlocation\\\").data(i);o.enter().append(\\\"path\\\").classed(\\\"choroplethlocation\\\",!0).on(\\\"mouseover\\\",function(e){t.choroplethHoverPt=e}).on(\\\"mouseout\\\",function(){t.choroplethHoverPt=null}),o.exit().remove()}),h.selectAll(\\\"*\\\").remove();for(var m=0;m<d.length;m++)s=d[m],c.select(\\\"g.\\\"+s).remove(),t.drawTopo(h,s,r),t.styleLayer(h,s,r);i(t)}},{\\\"../../components/color\\\":603,\\\"../../components/colorscale\\\":617,\\\"../../components/drawing\\\":627,\\\"../../lib/array_to_calc_item\\\":710,\\\"../../lib/geo_location_utils\\\":719,\\\"../../lib/topojson_utils\\\":747,\\\"../../plots/geo/constants\\\":792,d3:121}],916:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../plots/font_attributes\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,c=i.line;e.exports=u({},{z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,connectgaps:n.connectgaps,autocontour:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"docalc\\\"},ncontours:{valType:\\\"integer\\\",dflt:15,min:1,editType:\\\"docalc\\\"},contours:{start:{valType:\\\"number\\\",dflt:null,editType:\\\"doplot\\\"},end:{valType:\\\"number\\\",dflt:null,editType:\\\"doplot\\\"},size:{valType:\\\"number\\\",dflt:null,min:0,editType:\\\"doplot\\\"},coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"heatmap\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"docalc\\\"},showlines:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"doplot\\\"},showlabels:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"doplot\\\"},labelfont:u({},l,{family:u({},l.family,{editType:\\\"doplot\\\"}),size:u({},l.size,{editType:\\\"doplot\\\"}),color:u({},l.color,{editType:\\\"dostyle\\\"})}),labelformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"doplot\\\"}},line:{color:u({},c.color,{}),width:c.width,dash:s,smoothing:u({},c.smoothing,{})}},a,{autocolorscale:u({},a.autocolorscale,{dflt:!1}),zmin:u({},a.zmin,{editType:\\\"docalc\\\"}),zmax:u({},a.zmax,{editType:\\\"docalc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../heatmap/attributes\\\":944,\\\"../scatter/attributes\\\":1027}],917:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"linear\\\",range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\").extendFlat,o=t(\\\"../heatmap/calc\\\");e.exports=function(t,e){var r=o(t,e),s=e.contours;if(!1!==e.autocontour){var l=n(e.zmin,e.zmax,e.ncontours);s.size=l.dtick,s.start=i.tickFirst(l),l.range.reverse(),s.end=i.tickFirst(l),s.start===e.zmin&&(s.start+=s.size),s.end===e.zmax&&(s.end-=s.size),s.start>s.end&&(s.start=s.end=(s.start+s.end)/2),e._input.contours||(e._input.contours={}),a(e._input.contours,{start:s.start,end:s.end,size:s.size}),e._input.autocontour=!0}else{var u=s.start,c=s.end,h=e._input.contours;if(u>c&&(s.start=h.start=c,c=s.end=h.end=u,u=s.start),!(s.size>0)){var f;f=u===c?1:n(u,c,e.ncontours).dtick,h.size=s.size=f}}return r}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../heatmap/calc\\\":945}],918:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/plots\\\"),i=t(\\\"../../components/colorbar/draw\\\"),a=t(\\\"./make_color_map\\\"),o=t(\\\"./end_plus\\\");e.exports=function(t,e){var r=e[0].trace,s=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+s).remove(),!r.showscale)return void n.autoMargin(t,s);var l=i(t,s);e[0].t.cb=l;var u=r.contours,c=r.line,h=u.size||1,f=u.coloring,d=a(r,{isColorbar:!0});\\\"heatmap\\\"===f&&l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(\\\"fill\\\"===f||\\\"heatmap\\\"===f?d:\\\"\\\").line({color:\\\"lines\\\"===f?d:c.color,width:!1!==u.showlines?c.width:0,dash:c.dash}).levels({start:u.start,end:o(u),size:h}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../plots/plots\\\":829,\\\"./end_plus\\\":922,\\\"./make_color_map\\\":926}],919:[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}}},{}],920:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){var a,o=n.coerce2(t,e,i,\\\"contours.start\\\"),s=n.coerce2(t,e,i,\\\"contours.end\\\"),l=!1===o||!1===s,u=r(\\\"contours.size\\\");!(a=l?e.autocontour=!0:r(\\\"autocontour\\\",!1))&&u||r(\\\"ncontours\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":916}],921:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/has_columns\\\"),a=t(\\\"../heatmap/xyz_defaults\\\"),o=t(\\\"./contours_defaults\\\"),s=t(\\\"./style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}if(!a(t,e,c,u))return void(e.visible=!1);c(\\\"text\\\"),c(\\\"connectgaps\\\",i(e)),o(t,e,c),s(t,e,c,u)}},{\\\"../../lib\\\":725,\\\"../heatmap/has_columns\\\":951,\\\"../heatmap/xyz_defaults\\\":959,\\\"./attributes\\\":916,\\\"./contours_defaults\\\":920,\\\"./style_defaults\\\":930}],922:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t.end+t.size/1e6}},{}],923:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function i(t,e){var r=t[2]-e[2],n=t[3]-e[3];return Math.sqrt(r*r+n*n)}function a(t,e,r,a,c){function h(t){return g[t%g.length]}var f,d=e.join(\\\",\\\"),p=d,m=t.crossings[p],v=o(m,r,e),g=[s(t,e,[-v[0],-v[1]])],y=v.join(\\\",\\\"),b=t.z.length,x=t.z[0].length;for(f=0;f<1e4;f++){if(m>20?(m=u.CHOOSESADDLE[m][(v[0]||v[1])<0?0:1],t.crossings[p]=u.SADDLEREMAINDER[m]):delete t.crossings[p],!(v=u.NEWDELTA[m])){l.log(\\\"Found bad marching index:\\\",m,e,t.level);break}g.push(s(t,e,v)),e[0]+=v[0],e[1]+=v[1],n(g[g.length-1],g[g.length-2],a,c)&&g.pop(),p=e.join(\\\",\\\");var _=v[0]&&(e[0]<0||e[0]>x-2)||v[1]&&(e[1]<0||e[1]>b-2);if(p===d&&v.join(\\\",\\\")===y||r&&_)break;m=t.crossings[p]}1e4===f&&l.log(\\\"Infinite loop in contour?\\\");var w,M,k,A,T,S,E,L=n(g[0],g[g.length-1],a,c),C=0,z=.2*t.smoothing,I=[],D=0;for(f=1;f<g.length;f++)E=i(g[f],g[f-1]),C+=E,I.push(E);var P=C/I.length*z;for(f=g.length-2;f>=D;f--)if((w=I[f])<P){for(k=0,M=f-1;M>=D&&w+I[M]<P;M--)w+=I[M];if(L&&f===g.length-2)for(k=0;k<M&&w+I[k]<P;k++)w+=I[k];T=f-M+k+1,S=Math.floor((f+M+k+2)/2),A=L||f!==g.length-2?L||-1!==M?T%2?h(S):[(h(S)[0]+h(S+1)[0])/2,(h(S)[1]+h(S+1)[1])/2]:g[0]:g[g.length-1],g.splice(M+1,f-M+1,A),f=M+1,k&&(D=k),L&&(f===g.length-2?g[k]=g[g.length-1]:0===f&&(g[g.length-1]=g[0]))}for(g.splice(0,D),f=0;f<g.length;f++)g[f].length=2;if(!(g.length<2))if(L)g.pop(),t.paths.push(g);else{r||l.log(\\\"Unclosed interior contour?\\\",t.level,d,g.join(\\\"L\\\"));var O=!1;t.edgepaths.forEach(function(e,r){if(!O&&n(e[0],g[g.length-1],a,c)){g.pop(),O=!0;var i=!1;t.edgepaths.forEach(function(e,o){!i&&n(e[e.length-1],g[0],a,c)&&(i=!0,g.splice(0,1),t.edgepaths.splice(r,1),o===r?t.paths.push(g.concat(e)):t.edgepaths[o]=t.edgepaths[o].concat(g,e))}),i||(t.edgepaths[r]=g.concat(e))}}),t.edgepaths.forEach(function(e,r){!O&&n(e[e.length-1],g[0],a,c)&&(g.splice(0,1),t.edgepaths[r]=e.concat(g),O=!0)}),O||t.edgepaths.push(g)}}function o(t,e,r){var n=0,i=0;return t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==u.BOTTOMSTART.indexOf(t)?i=1:-1!==u.LEFTSTART.indexOf(t)?n=1:-1!==u.TOPSTART.indexOf(t)?i=-1:n=-1,[n,i]}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var u=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-u)*t.y[i]+u*t.y[i+1],!0),n,i+u]}var l=t(\\\"../../lib\\\"),u=t(\\\"./constants\\\");e.exports=function(t,e,r){var n,i,o,s,u;for(e=e||.01,r=r||.01,o=0;o<t.length;o++){for(s=t[o],u=0;u<s.starts.length;u++)i=s.starts[u],a(s,i,\\\"edge\\\",e,r);for(n=0;Object.keys(s.crossings).length&&n<1e4;)n++,i=Object.keys(s.crossings)[0].split(\\\",\\\").map(Number),a(s,i,void 0,e,r);1e4===n&&l.log(\\\"Infinite loop in contour?\\\")}}},{\\\"../../lib\\\":725,\\\"./constants\\\":919}],924:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/hover\\\");e.exports=function(t,e,r,i){return n(t,e,r,i,!0)}},{\\\"../heatmap/hover\\\":952}],925:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\").plot,n.style=t(\\\"./style\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":916,\\\"./calc\\\":917,\\\"./colorbar\\\":918,\\\"./defaults\\\":921,\\\"./hover\\\":924,\\\"./plot\\\":928,\\\"./style\\\":929}],926:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/colorscale\\\"),a=t(\\\"./end_plus\\\");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,u=\\\"lines\\\"===e.coloring?0:1;isFinite(s)||(s=1,l=1);var c,h,f=t.colorscale,d=f.length,p=new Array(d),m=new Array(d);if(\\\"heatmap\\\"===e.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=r-s/2,t.zmax=t.zmin+l*s),h=0;h<d;h++)c=f[h],p[h]=c[0]*(t.zmax-t.zmin)+t.zmin,m[h]=c[1];var v=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),g=v[t.zmin<t.zmax?0:1],y=v[t.zmin<t.zmax?1:0];g!==t.zmin&&(p.splice(0,0,g),m.splice(0,0,Range[0])),y!==t.zmax&&(p.push(y),m.push(m[m.length-1]))}else for(h=0;h<d;h++)c=f[h],p[h]=(c[0]*(l+u-1)-u/2)*s+r,m[h]=c[1];return i.makeColorScaleFunc({domain:p,range:m},{noNumericCheck:!0})}},{\\\"../../components/colorscale\\\":617,\\\"./end_plus\\\":922,d3:121}],927:[function(t,e,r){\\\"use strict\\\";function n(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);if(5===r||10===r){return t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208}return 15===r?0:r}var i=t(\\\"./constants\\\");e.exports=function(t){var e,r,a,o,s,l,u,c,h,f=t[0].z,d=f.length,p=f[0].length,m=2===d||2===p;for(r=0;r<d-1;r++)for(o=[],0===r&&(o=o.concat(i.BOTTOMSTART)),r===d-2&&(o=o.concat(i.TOPSTART)),e=0;e<p-1;e++)for(a=o.slice(),0===e&&(a=a.concat(i.LEFTSTART)),e===p-2&&(a=a.concat(i.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=t[h],(u=n(c.level,l))&&(c.crossings[s]=u,-1!==a.indexOf(u)&&(c.starts.push([e,r]),m&&-1!==a.indexOf(u,a.indexOf(u)+1)&&c.starts.push([e,r])))}},{\\\"./constants\\\":919}],928:[function(t,e,r){\\\"use strict\\\";function n(t,e,n){var s=n[0].trace,u=n[0].x,h=n[0].y,f=s.contours,d=s.uid,p=e.xaxis,m=e.yaxis,v=t._fullLayout,g=\\\"contour\\\"+d,_=i(f,e,n[0]);if(!0!==s.visible)return v._paper.selectAll(\\\".\\\"+g+\\\",.hm\\\"+d).remove(),void v._infolayer.selectAll(\\\".cb\\\"+d).remove();\\\"heatmap\\\"===f.coloring?(s.zauto&&!1===s.autocontour&&(s._input.zmin=s.zmin=f.start-f.size/2,s._input.zmax=s.zmax=s.zmin+_.length*f.size),y(t,e,[n])):(v._paper.selectAll(\\\".hm\\\"+d).remove(),v._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".hm\\\"+d).remove()),b(_),x(_);var w=p.c2p(u[0],!0),M=p.c2p(u[u.length-1],!0),k=m.c2p(h[0],!0),A=m.c2p(h[h.length-1],!0),T=[[w,A],[M,A],[M,k],[w,k]],S=r.makeContourGroup(e,n,g);a(S,T,f),o(S,_,T,f),l(S,_,t,n[0],f,T),c(S,e,v._defs,n[0],T)}function i(t,e,r){for(var n=t.size,i=[],a=_(t),o=t.start;o<a;o+=n)if(i.push({level:o,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing}),i.length>1e3){d.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return i}function a(t,e,r){var n=t.selectAll(\\\"g.contourbg\\\").data([0]);n.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var i=n.selectAll(\\\"path\\\").data(\\\"fill\\\"===r.coloring?[0]:[]);i.enter().append(\\\"path\\\"),i.exit().remove(),i.attr(\\\"d\\\",\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}function o(t,e,r,n){var i=t.selectAll(\\\"g.contourfill\\\").data([0]);i.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var a=i.selectAll(\\\"path\\\").data(\\\"fill\\\"===n.coloring?e:[]);a.enter().append(\\\"path\\\"),a.exit().remove(),a.each(function(t){var e=s(t,r);e?f.select(this).attr(\\\"d\\\",e).style(\\\"stroke\\\",\\\"none\\\"):f.select(this).remove()})}function s(t,e){function r(t){return Math.abs(t[0]-e[2][0])<.01}for(var n,i,a,o,s,l,u=Math.min(t.z[0][0],t.z[0][1]),c=t.edgepaths.length||u<=t.level?\\\"\\\":\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\",h=0,f=t.edgepaths.map(function(t,e){return e}),m=!0;f.length;){for(l=p.smoothopen(t.edgepaths[h],t.smoothing),c+=m?l:l.replace(/^M/,\\\"L\\\"),f.splice(f.indexOf(h),1),n=t.edgepaths[h][t.edgepaths[h].length-1],o=-1,a=0;a<4;a++){if(!n){d.log(\\\"Missing end?\\\",h,t);break}for(!function(t){return Math.abs(t[1]-e[0][1])<.01}(n)||r(n)?!function(t){return Math.abs(t[0]-e[0][0])<.01}(n)?!function(t){return Math.abs(t[1]-e[2][1])<.01}(n)?r(n)&&(i=e[2]):i=e[3]:i=e[0]:i=e[1],s=0;s<t.edgepaths.length;s++){var v=t.edgepaths[s][0];Math.abs(n[0]-i[0])<.01?Math.abs(n[0]-v[0])<.01&&(v[1]-n[1])*(i[1]-v[1])>=0&&(i=v,o=s):Math.abs(n[1]-i[1])<.01?Math.abs(n[1]-v[1])<.01&&(v[0]-n[0])*(i[0]-v[0])>=0&&(i=v,o=s):d.log(\\\"endpt to newendpt is not vert. or horz.\\\",n,i,v)}if(n=i,o>=0)break;c+=\\\"L\\\"+i}if(o===t.edgepaths.length){d.log(\\\"unclosed perimeter path\\\");break}h=o,m=-1===f.indexOf(h),m&&(h=f[0],c+=\\\"Z\\\")}for(h=0;h<t.paths.length;h++)c+=p.smoothclosed(t.paths[h],t.smoothing);return c}function l(t,e,n,i,a,o){var s=t.selectAll(\\\"g.contourlines\\\").data([0]);s.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var l=!1!==a.showlines,u=a.showlabels,c=l&&u,h=r.createLines(s,l||u,e),m=r.createLineClip(s,c,n._fullLayout._defs,i.trace.uid),v=t.selectAll(\\\"g.contourlabels\\\").data(u?[0]:[]);if(v.exit().remove(),v.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),u){var g=[o],y=[];d.clearLocationCache();var b=r.labelFormatter(a,i.t.cb,n._fullLayout),x=p.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(p.font,a.labelfont),_=e[0].xaxis._length,M=e[0].yaxis._length,k={left:Math.max(o[0][0],0),right:Math.min(o[2][0],_),top:Math.max(o[0][1],0),bottom:Math.min(o[2][1],M)};k.middle=(k.top+k.bottom)/2,k.center=(k.left+k.right)/2;var A=Math.sqrt(_*_+M*M),T=w.LABELDISTANCE*A/Math.max(1,e.length/w.LABELINCREASE);h.each(function(t){var e=r.calcTextOpts(t.level,b,x,n);f.select(this).selectAll(\\\"path\\\").each(function(){var t=this,n=d.getVisibleSegment(t,k,e.height/2);if(n&&!(n.len<(e.width+e.height)*w.LABELMIN))for(var i=Math.min(Math.ceil(n.len/T),w.LABELMAX),a=0;a<i;a++){var o=r.findBestTextLocation(t,n,e,y,k);if(!o)break;r.addLabelData(o,e,y,g)}})}),x.remove(),r.drawLabels(v,y,n,m,c?g:null)}u&&!l&&h.remove()}function u(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,h=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),f=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(h<1||f<1)return 1/0;var p=M.EDGECOST*(1/(h-1)+1/(f-1));p+=M.ANGLECOST*l*l;for(var m=o-u,v=s-c,g=o+u,y=s+c,b=0;b<r.length;b++){var x=r[b],_=Math.cos(x.theta)*x.width/2,w=Math.sin(x.theta)*x.width/2,k=2*d.segmentDistance(m,v,g,y,x.x-_,x.y-w,x.x+_,x.y+w)/(e.height+x.height),A=x.level===e.level,T=A?M.SAMELEVELDISTANCE:1;if(k<=T)return 1/0;p+=M.NEIGHBORCOST*(A?M.SAMELEVELFACTOR:1)/(k-T)}return p}function c(t,e,r,n,i){var a=\\\"clip\\\"+n.trace.uid,o=r.select(\\\".clips\\\").selectAll(\\\"#\\\"+a).data(n.trace.connectgaps?[]:[0]);if(o.enter().append(\\\"clipPath\\\").classed(\\\"contourclip\\\",!0).attr(\\\"id\\\",a),o.exit().remove(),!1===n.trace.connectgaps){var l={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:h(n),smoothing:0};b([l]),x([l]);var u=s(l,i),c=o.selectAll(\\\"path\\\").data([0]);c.enter().append(\\\"path\\\"),c.attr(\\\"d\\\",u)}else a=null;t.call(p.setClipUrl,a),e.plot.selectAll(\\\".hm\\\"+n.trace.uid).call(p.setClipUrl,a)}function h(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}var f=t(\\\"d3\\\"),d=t(\\\"../../lib\\\"),p=t(\\\"../../components/drawing\\\"),m=t(\\\"../../lib/svg_text_utils\\\"),v=t(\\\"../../plots/cartesian/axes\\\"),g=t(\\\"../../plots/cartesian/set_convert\\\"),y=t(\\\"../heatmap/plot\\\"),b=t(\\\"./make_crossings\\\"),x=t(\\\"./find_all_paths\\\"),_=t(\\\"./end_plus\\\"),w=t(\\\"./constants\\\"),M=w.LABELOPTIMIZER;r.plot=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])},r.makeContourGroup=function(t,e,r){var n=t.plot.select(\\\".maplayer\\\").selectAll(\\\"g.contour.\\\"+r).data(e);return n.enter().append(\\\"g\\\").classed(\\\"contour\\\",!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\\\"g.contourlevel\\\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\\\"g\\\").classed(\\\"contourlevel\\\",!0),e){var a=i.selectAll(\\\"path.openline\\\").data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(\\\"path\\\").classed(\\\"openline\\\",!0),a.attr(\\\"d\\\",function(t){return p.smoothopen(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\");var o=i.selectAll(\\\"path.closedline\\\").data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(\\\"path\\\").classed(\\\"closedline\\\",!0),o.attr(\\\"d\\\",function(t){return p.smoothclosed(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\")}return i},r.createLineClip=function(t,e,r,n){var i=e?\\\"clipline\\\"+n:null,a=r.select(\\\".clips\\\").selectAll(\\\"#\\\"+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(\\\"clipPath\\\").classed(\\\"contourlineclip\\\",!0).attr(\\\"id\\\",i),p.setClipUrl(t,i),a},r.labelFormatter=function(t,e,r){if(t.labelformat)return f.format(t.labelformat);var n;return e?n=e.axis:(n={type:\\\"linear\\\",_separators:\\\".,\\\",_id:\\\"ycontour\\\",nticks:(t.end-t.start)/t.size,showexponent:\\\"all\\\",range:[t.start,t.end]},g(n,r),v.calcTicks(n),n._tmin=null,n._tmax=null),function(t){return v.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(m.convertToTspans,n);var a=p.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var a,o,s,l,c,h=r.width;e.isClosed?(o=e.len/M.INITIALSEARCHPOINTS,a=e.min+o/2,s=e.max):(o=(e.len-h)/(M.INITIALSEARCHPOINTS+1),a=e.min+o+h/2,s=e.max-(o+h)/2);for(var f=1/0,p=0;p<M.ITERATIONS;p++){for(var m=a;m<s;m+=o){var v=d.getTextLocation(t,e.total,m,h),g=u(v,r,n,i);g<f&&(f=g,c=v,l=m)}if(f>2*M.MAXCOST)break;p&&(o/=2),a=l-o/2,s=a+1.5*o}if(f<=M.MAXCOST)return c},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.sin(l),c=Math.cos(l),h=i*c,f=a*u,d=i*u,p=-a*c,m=[[o-h-f,s-d-p],[o+h-f,s+d-p],[o+h+f,s+d+p],[o-h+f,s-d+p]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(m)},r.drawLabels=function(t,e,r,n,i){var a=t.selectAll(\\\"text\\\").data(e,function(t){return t.text+\\\",\\\"+t.x+\\\",\\\"+t.y+\\\",\\\"+t.theta});if(a.exit().remove(),a.enter().append(\\\"text\\\").attr({\\\"data-notex\\\":1,\\\"text-anchor\\\":\\\"middle\\\"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,n=t.y-Math.cos(t.theta)*t.dy;f.select(this).text(t.text).attr({x:e,y:n,transform:\\\"rotate(\\\"+180*t.theta/Math.PI+\\\" \\\"+e+\\\" \\\"+n+\\\")\\\"}).call(m.convertToTspans,r)}),i){for(var o=\\\"\\\",s=0;s<i.length;s++)o+=\\\"M\\\"+i[s].join(\\\"L\\\")+\\\"Z\\\";var l=n.selectAll(\\\"path\\\").data([0]);l.enter().append(\\\"path\\\"),l.attr(\\\"d\\\",o)}}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/set_convert\\\":783,\\\"../heatmap/plot\\\":957,\\\"./constants\\\":919,\\\"./end_plus\\\":922,\\\"./find_all_paths\\\":923,\\\"./make_crossings\\\":927,d3:121}],929:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=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.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c=\\\"constraint\\\"===a.type,h=!c&&\\\"lines\\\"===a.coloring,f=!c&&\\\"fill\\\"===a.coloring,d=h||f?o(r):null;e.selectAll(\\\"g.contourlevel\\\").each(function(t){n.select(this).selectAll(\\\"path\\\").call(i.lineGroupStyle,s.width,h?d(t.level):s.color,s.dash)});var p=a.labelfont;if(e.selectAll(\\\"g.contourlabels text\\\").each(function(t){i.font(n.select(this),{family:p.family,size:p.size,color:p.color||(h?d(t.level):s.color)})}),c)e.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",r.fillcolor);else if(f){var m;e.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",function(t){return void 0===m&&(m=t.level),d(t.level+.5*l)}),void 0===m&&(m=u),e.selectAll(\\\"g.contourbg path\\\").style(\\\"fill\\\",d(m-.5*l))}}),a(t)}},{\\\"../../components/drawing\\\":627,\\\"../heatmap/style\\\":958,\\\"./make_color_map\\\":926,d3:121}],930:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/defaults\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a,o,s){var l,u=r(\\\"contours.coloring\\\"),c=\\\"\\\";if(\\\"fill\\\"===u&&(l=r(\\\"contours.showlines\\\")),!1!==l&&(\\\"lines\\\"!==u&&(c=r(\\\"line.color\\\",o||\\\"#000\\\")),r(\\\"line.width\\\",void 0===s?.5:s),r(\\\"line.dash\\\")),r(\\\"line.smoothing\\\"),\\\"none\\\"!==u&&n(t,e,a,r,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),r(\\\"contours.showlabels\\\")){var h=a.font;i.coerceFont(r,\\\"contours.labelfont\\\",{family:h.family,size:h.size,color:c}),r(\\\"contours.labelformat\\\")}}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725}],931:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=i.contours,o=t(\\\"../scatter/attributes\\\"),s=t(\\\"../../components/colorscale/attributes\\\"),l=t(\\\"../../components/colorbar/attributes\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,c=o.line,h=t(\\\"./constants\\\");e.exports=u({},{carpet:{valType:\\\"string\\\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"fill\\\"],extras:[\\\"none\\\"]},connectgaps:n.connectgaps,fillcolor:{valType:\\\"color\\\"},autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:{valType:\\\"enumerated\\\",values:[\\\"levels\\\",\\\"constraint\\\"],dflt:\\\"levels\\\",editType:\\\"docalc\\\"},start:a.start,end:a.end,size:a.size,coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"docalc\\\"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:{valType:\\\"enumerated\\\",values:[].concat(h.INEQUALITY_OPS).concat(h.INTERVAL_OPS).concat(h.SET_OPS),dflt:\\\"=\\\",editType:\\\"docalc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"docalc\\\"}},line:{color:u({},c.color,{}),width:c.width,dash:c.dash,smoothing:u({},c.smoothing,{})}},s,{autocolorscale:u({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../contour/attributes\\\":916,\\\"../heatmap/attributes\\\":944,\\\"../scatter/attributes\\\":1027,\\\"./constants\\\":934}],932:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"linear\\\",range:[t,e]};return o.autoTicks(n,(e-t)/(r||15)),n}function i(t,e){function r(t){A=e._input.zsmooth=e.zsmooth=!1,a.notifier(\\\"cannot fast-zsmooth: \\\"+t)}var n,i,o,s,g,y,b,x,_=e.carpetTrace,w=_.aaxis,M=_.baxis,k=l.traceIs(e,\\\"contour\\\"),A=k?\\\"best\\\":e.zsmooth;if(w._minDtick=0,M._minDtick=0,c(e)&&h(e,w,M,\\\"a\\\",\\\"b\\\",[\\\"z\\\"]),n=e.a?w.makeCalcdata(e,\\\"a\\\"):[],s=e.b?M.makeCalcdata(e,\\\"b\\\"):[],i=e.a0||0,o=e.da||1,g=e.b0||0,y=e.db||1,b=f(e.z,e.transpose),e._emptypoints=m(b),e._interpz=p(b,e._emptypoints,e._interpz),\\\"fast\\\"===A)if(\\\"log\\\"===w.type||\\\"log\\\"===M.type)r(\\\"log axis found\\\");else{if(n.length){var T=(n[n.length-1]-n[0])/(n.length-1),S=Math.abs(T/100);for(x=0;x<n.length-1;x++)if(Math.abs(n[x+1]-n[x]-T)>S){r(\\\"a scale is not linear\\\");break}}if(s.length&&\\\"fast\\\"===A){var E=(s[s.length-1]-s[0])/(s.length-1),L=Math.abs(E/100);for(x=0;x<s.length-1;x++)if(Math.abs(s[x+1]-s[x]-E)>L){r(\\\"b scale is not linear\\\");break}}}var C=d(b),z=\\\"scaled\\\"===e.xtype?\\\"\\\":n,I=v(e,z,i,o,C,w),D=\\\"scaled\\\"===e.ytype?\\\"\\\":s,P=v(e,D,g,y,b.length,M),O={a:I,b:P,z:b};return\\\"levels\\\"===e.contours.type&&u(e,b,\\\"\\\",\\\"z\\\"),[O]}var a=t(\\\"../../lib\\\"),o=t(\\\"../../plots/cartesian/axes\\\"),s=t(\\\"../../lib\\\").extendFlat,l=t(\\\"../../registry\\\"),u=t(\\\"../../components/colorscale/calc\\\"),c=t(\\\"../heatmap/has_columns\\\"),h=t(\\\"../heatmap/convert_column_xyz\\\"),f=t(\\\"../heatmap/clean_2d_array\\\"),d=t(\\\"../heatmap/max_row_length\\\"),p=t(\\\"../heatmap/interp2d\\\"),m=t(\\\"../heatmap/find_empties\\\"),v=t(\\\"../heatmap/make_bound_array\\\"),g=t(\\\"./defaults\\\"),y=t(\\\"../carpet/lookup_carpetid\\\");e.exports=function(t,e){var r=e.carpetTrace=y(t,e);if(r&&r.visible&&\\\"legendonly\\\"!==r.visible){if(!e.a||!e.b){var a=t.data[r.index],l=t.data[e.index];l.a||(l.a=a.a),l.b||(l.b=a.b),g(l,e,e._defaultColor,t._fullLayout)}var u=i(t,e),c=e.contours;if(!0===e.autocontour){var h=n(e.zmin,e.zmax,e.ncontours);c.size=h.dtick,c.start=o.tickFirst(h),h.range.reverse(),c.end=o.tickFirst(h),c.start===e.zmin&&(c.start+=c.size),c.end===e.zmax&&(c.end-=c.size),c.start>c.end&&(c.start=c.end=(c.start+c.end)/2),e._input.contours=s({},c)}else{var f=c.start,d=c.end,p=e._input.contours;if(f>d&&(c.start=p.start=d,d=c.end=p.end=f,f=c.start),!(c.size>0)){var m;m=f===d?1:n(f,d,e.ncontours).dtick,p.size=c.size=m}}return u}}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../carpet/lookup_carpetid\\\":900,\\\"../heatmap/clean_2d_array\\\":946,\\\"../heatmap/convert_column_xyz\\\":948,\\\"../heatmap/find_empties\\\":950,\\\"../heatmap/has_columns\\\":951,\\\"../heatmap/interp2d\\\":954,\\\"../heatmap/make_bound_array\\\":955,\\\"../heatmap/max_row_length\\\":956,\\\"./defaults\\\":938}],933:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=n.a.length,l=n.b.length,u=n.z,c=-1/0,h=1/0;for(i=0;i<l;i++)h=Math.min(h,u[i][0]),h=Math.min(h,u[i][s-1]),c=Math.max(c,u[i][0]),c=Math.max(c,u[i][s-1]);for(i=1;i<s-1;i++)h=Math.min(h,u[0][i]),h=Math.min(h,u[l-1][i]),c=Math.max(c,u[0][i]),c=Math.max(c,u[l-1][i]);switch(e){case\\\">\\\":case\\\">=\\\":n.contours.value>c&&(t[0].prefixBoundary=!0);break;case\\\"<\\\":case\\\"<=\\\":n.contours.value<h&&(t[0].prefixBoundary=!0);break;case\\\"[]\\\":case\\\"()\\\":a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),o<h&&(t[0].prefixBoundary=!0),a>c&&(t[0].prefixBoundary=!0);break;case\\\"][\\\":case\\\")(\\\":a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),a<h&&o>c&&(t[0].prefixBoundary=!0)}}},{}],934:[function(t,e,r){\\\"use strict\\\";e.exports={INEQUALITY_OPS:[\\\"=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],INTERVAL_OPS:[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],SET_OPS:[\\\"{}\\\",\\\"}{\\\"]}},{}],935:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){return s(t)?+t:null}var n,i=Array.isArray(e);return-1!==o.INEQUALITY_OPS.indexOf(t)?n=r(i?e[0]:e):-1!==o.INTERVAL_OPS.indexOf(t)?n=i?[r(e[0]),r(e[1])]:[r(e),r(e)]:-1!==o.SET_OPS.indexOf(t)&&(n=i?e.map(r):[r(e)]),n}function i(t){return function(e){e=n(t,e);var r=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return{start:r,end:i,size:i-r}}}function a(t){return function(e){return e=n(t,e),{start:e,end:1/0,size:1/0}}}var o=t(\\\"./constants\\\"),s=t(\\\"fast-isnumeric\\\");e.exports[\\\"[]\\\"]=i(\\\"[]\\\"),e.exports[\\\"()\\\"]=i(\\\"()\\\"),e.exports[\\\"[)\\\"]=i(\\\"[)\\\"),e.exports[\\\"(]\\\"]=i(\\\"(]\\\"),e.exports[\\\"][\\\"]=i(\\\"][\\\"),e.exports[\\\")(\\\"]=i(\\\")(\\\"),e.exports[\\\")[\\\"]=i(\\\")[\\\"),e.exports[\\\"](\\\"]=i(\\\"](\\\"),e.exports[\\\">\\\"]=a(\\\">\\\"),e.exports[\\\">=\\\"]=a(\\\">=\\\"),e.exports[\\\"<\\\"]=a(\\\"<\\\"),e.exports[\\\"<=\\\"]=a(\\\"<=\\\"),e.exports[\\\"=\\\"]=a(\\\"=\\\")},{\\\"./constants\\\":934,\\\"fast-isnumeric\\\":130}],936:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constraint_mapping\\\"),i=t(\\\"fast-isnumeric\\\");e.exports=function(t,e){var r;-1===[\\\"=\\\",\\\"<\\\",\\\"<=\\\",\\\">\\\",\\\">=\\\"].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])]:i(e.value)&&(r=parseFloat(e.value),\\n\",\n       \"e.value=[r,r+1])):(t(\\\"contours.value\\\",0),i(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0));var a=n[e.operation](e.value);e.start=a.start,e.end=a.end,e.size=a.size}},{\\\"./constraint_mapping\\\":935,\\\"fast-isnumeric\\\":130}],937:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){var r,i,a,o=function(t){return t.reverse()},s=function(t){return t};switch(e){case\\\"][\\\":case\\\")[\\\":case\\\"](\\\":case\\\")(\\\":var l=o;o=s,s=l;case\\\"[]\\\":case\\\"[)\\\":case\\\"(]\\\":case\\\"()\\\":if(2!==t.length)return void n.warn(\\\"Contour data invalid for the specified inequality range operation.\\\");for(i=t[0],a=t[1],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=o(i.paths[r]);for(;a.edgepaths.length;)i.edgepaths.push(s(a.edgepaths.shift()));for(;a.paths.length;)i.paths.push(s(a.paths.shift()));t.pop();break;case\\\">=\\\":case\\\">\\\":if(1!==t.length)return void n.warn(\\\"Contour data invalid for the specified inequality operation.\\\");for(i=t[0],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=o(i.paths[r])}}},{\\\"../../lib\\\":725}],938:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/xyz_defaults\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../contour/style_defaults\\\"),s=t(\\\"../scatter/fillcolor_defaults\\\"),l=t(\\\"../../plots/attributes\\\"),u=t(\\\"./constraint_value_defaults\\\"),c=t(\\\"../../components/color\\\").addOpacity;e.exports=function(t,e,r,h){function f(r,i){return n.coerce(t,e,a,r,i)}if(f(\\\"carpet\\\"),t.a&&t.b){var d,p,m,v,g;if(!i(t,e,f,h,\\\"a\\\",\\\"b\\\"))return void(e.visible=!1);f(\\\"text\\\"),f(\\\"contours.type\\\");var y=e.contours;if(\\\"constraint\\\"===y.type){f(\\\"contours.operation\\\"),u(f,y),n.coerce(t,e,l,\\\"showlegend\\\",!0),f(\\\"contours.coloring\\\",\\\"=\\\"===y.operation?\\\"lines\\\":\\\"fill\\\"),f(\\\"contours.showlines\\\",!0),\\\"=\\\"===y.operation&&(y.coloring=\\\"lines\\\"),s(t,e,r,f);var b=e.fillcolor?c(e.fillcolor,1):r;o(t,e,f,h,b,2),\\\"=\\\"===y.operation&&(f(\\\"line.color\\\",r),\\\"fill\\\"===y.coloring&&(y.coloring=\\\"lines\\\"),\\\"lines\\\"===y.coloring&&delete e.fillcolor),delete e.showscale,delete e.autocontour,delete e.autocolorscale,delete e.colorscale,delete e.ncontours,delete e.colorbar,e.line&&(delete e.line.autocolorscale,delete e.line.colorscale,delete e.line.mincolor,delete e.line.maxcolor)}else n.coerce(t,e,l,\\\"showlegend\\\",!1),p=n.coerce2(t,e,a,\\\"contours.start\\\"),m=n.coerce2(t,e,a,\\\"contours.end\\\"),d=f(\\\"contours.size\\\"),f(\\\"contours.coloring\\\"),v=!1===p||!1===m,g=v?e.autocontour=!0:f(\\\"autocontour\\\",!1),!g&&d||f(\\\"ncontours\\\"),o(t,e,f,h),delete e.value,delete e.operation}else e._defaultColor=r}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../plots/attributes\\\":764,\\\"../contour/style_defaults\\\":930,\\\"../heatmap/xyz_defaults\\\":959,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"./attributes\\\":931,\\\"./constraint_value_defaults\\\":936}],939:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r){for(var i=t.size,a=[],o=r.trace.carpetTrace,s=t.start;s<t.end+i/10;s+=i)if(a.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:o.aaxis,yaxis:o.baxis,x:r.a,y:r.b,z:r.z,smoothing:r.trace.line.smoothing}),a.length>1e3){n.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return a}},{\\\"../../lib\\\":725}],940:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../contour/style\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contourcarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"contour\\\",\\\"symbols\\\",\\\"showLegend\\\",\\\"hasLines\\\",\\\"carpetDependent\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../contour/colorbar\\\":918,\\\"../contour/style\\\":929,\\\"./attributes\\\":931,\\\"./calc\\\":932,\\\"./defaults\\\":938,\\\"./plot\\\":943}],941:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/drawing\\\"),i=t(\\\"../carpet/axis_aligned_line\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e,r,o,s,l,u,c){function h(t){return Math.abs(t[1]-r[0][1])<S}function f(t){return Math.abs(t[1]-r[2][1])<S}function d(t){return Math.abs(t[0]-r[0][0])<T}function p(t){return Math.abs(t[0]-r[2][0])<T}function m(t,e){var r,n,a,o,m=\\\"\\\";for(h(t)&&!p(t)||f(t)&&!d(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<a.length;r++)for(m+=o.smoothing?\\\"C\\\":\\\"L\\\",n=0;n<a[r].length;n++){var v=a[r][n];m+=[u.c2p(v[0]),c.c2p(v[1])]+\\\" \\\"}return m}var v,g,y,b,x,_,w,M=\\\"\\\",k=e.edgepaths.map(function(t,e){return e}),A=!0,T=1e-4*Math.abs(r[0][0]-r[2][0]),S=1e-4*Math.abs(r[0][1]-r[2][1]);for(v=0,g=null;k.length;){var E=e.edgepaths[v][0];for(g&&(M+=m(g,E)),w=n.smoothopen(e.edgepaths[v].map(o),e.smoothing),M+=A?w:w.replace(/^M/,\\\"L\\\"),k.splice(k.indexOf(v),1),g=e.edgepaths[v][e.edgepaths[v].length-1],x=-1,b=0;b<4;b++){if(!g){a.log(\\\"Missing end?\\\",v,e);break}for(h(g)&&!p(g)?y=r[1]:d(g)?y=r[0]:f(g)?y=r[3]:p(g)&&(y=r[2]),_=0;_<e.edgepaths.length;_++){var L=e.edgepaths[_][0];Math.abs(g[0]-y[0])<T?Math.abs(g[0]-L[0])<T&&(L[1]-g[1])*(y[1]-L[1])>=0&&(y=L,x=_):Math.abs(g[1]-y[1])<S?Math.abs(g[1]-L[1])<S&&(L[0]-g[0])*(y[0]-L[0])>=0&&(y=L,x=_):a.log(\\\"endpt to newendpt is not vert. or horz.\\\",g,y,L)}if(x>=0)break;M+=m(g,y),g=y}if(x===e.edgepaths.length){a.log(\\\"unclosed perimeter path\\\");break}v=x,A=-1===k.indexOf(v),A&&(v=k[0],M+=m(g,y)+\\\"Z\\\",g=null)}for(v=0;v<e.paths.length;v++)M+=n.smoothclosed(e.paths[v].map(o),e.smoothing);return M}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"../carpet/axis_aligned_line\\\":883}],942:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r<t.length;r++){for(a=t[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=e(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=e(c[i]);s.push(u)}}}},{}],943:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){var e=o.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),T.c2p(e[1])]}var a=r[0].trace,o=a.carpetTrace=k(t,a),s=t.calcdata[o.index][0];if(o.visible&&\\\"legendonly\\\"!==o.visible){var l=r[0].a,h=r[0].b,m=a.contours,b=a.uid,_=e.xaxis,T=e.yaxis,S=t._fullLayout,E=\\\"contour\\\"+b,L=w(m,e,r[0]),C=\\\"constraint\\\"===a.contours.type;if(!0!==a.visible)return void S._infolayer.selectAll(\\\".cb\\\"+b).remove();var z=[[l[0],h[h.length-1]],[l[l.length-1],h[h.length-1]],[l[l.length-1],h[0]],[l[0],h[0]]];v(L);var I=1e-8*(l[l.length-1]-l[0]),D=1e-8*(h[h.length-1]-h[0]);g(L,I,D),\\\"constraint\\\"===a.contours.type&&(x(L,a.contours.operation),A(L,a.contours.operation,z,a)),M(L,n);var P,O,R,F,j=y.makeContourGroup(e,r,E),N=[];for(F=s.clipsegments.length-1;F>=0;F--)P=s.clipsegments[F],O=f([],P.x,_.c2p),R=f([],P.y,T.c2p),O.reverse(),R.reverse(),N.push(d(O,R,P.bicubic));var B=\\\"M\\\"+N.join(\\\"L\\\")+\\\"Z\\\";u(j,s.clipsegments,_,T,C,m.coloring),c(a,j,_,T,L,z,n,o,s,m.coloring,B),i(j,L,t,r[0],m,e,o),p.setClipUrl(j,o._clipPathId)}}function i(t,e,r,n,i,o,s){var l=t.selectAll(\\\"g.contourlines\\\").data([0]);l.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var u=!1!==i.showlines,c=i.showlabels,f=u&&c,d=y.createLines(l,u||c,e),v=y.createLineClip(l,f,r._fullLayout._defs,n.trace.uid),g=t.selectAll(\\\"g.contourlabels\\\").data(c?[0]:[]);if(g.exit().remove(),g.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),c){var x=o.xaxis,_=o.yaxis,w=x._length,M=_._length,k=[[[0,0],[w,0],[w,M],[0,M]]],A=[];m.clearLocationCache();var T=y.labelFormatter(i,n.t.cb,r._fullLayout),S=p.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(p.font,i.labelfont),E={left:0,right:w,center:w/2,top:0,bottom:M,middle:M/2},L=Math.sqrt(w*w+M*M),C=b.LABELDISTANCE*L/Math.max(1,e.length/b.LABELINCREASE);d.each(function(t){var e=y.calcTextOpts(t.level,T,S,r);h.select(this).selectAll(\\\"path\\\").each(function(r){var n=this,i=m.getVisibleSegment(n,E,e.height/2);if(i&&(a(n,r,t,i,s,e.height),!(i.len<(e.width+e.height)*b.LABELMIN)))for(var o=Math.min(Math.ceil(i.len/C),b.LABELMAX),l=0;l<o;l++){var u=y.findBestTextLocation(n,i,e,A,E);if(!u)break;y.addLabelData(u,e,A,k)}})}),S.remove(),y.drawLabels(g,A,r,v,f?k:null)}c&&!u&&d.remove()}function a(t,e,r,n,i,a){function u(t,e){var r,n=0;return(Math.abs(t[0]-f)<.1||Math.abs(t[0]-d)<.1)&&(r=s(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*l(e,r)/2)),(Math.abs(t[1]-p)<.1||Math.abs(t[1]-m)<.1)&&(r=s(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*l(e,r)/2)),n}for(var c,h=0;h<r.pedgepaths.length;h++)e===r.pedgepaths[h]&&(c=r.edgepaths[h]);if(c){var f=i.a[0],d=i.a[i.a.length-1],p=i.b[0],m=i.b[i.b.length-1],v=o(t,0,1),g=o(t,n.total,n.total-1),y=u(c[0],v),b=n.total-u(c[c.length-1],g);n.min<y&&(n.min=y),n.max>b&&(n.max=b),n.len=n.max-n.min}}function o(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function s(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function l(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}function u(t,e,r,n,i,a){var o,s,l,u,c=t.selectAll(\\\"g.contourbg\\\").data([0]);c.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var h=c.selectAll(\\\"path\\\").data(\\\"fill\\\"!==a||i?[]:[0]);h.enter().append(\\\"path\\\"),h.exit().remove();var p=[];for(u=0;u<e.length;u++)o=e[u],s=f([],o.x,r.c2p),l=f([],o.y,n.c2p),p.push(d(s,l,o.bicubic));h.attr(\\\"d\\\",\\\"M\\\"+p.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}function c(t,e,r,n,i,a,o,s,l,u,c){var f=e.selectAll(\\\"g.contourfill\\\").data([0]);f.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var d=f.selectAll(\\\"path\\\").data(\\\"fill\\\"===u?i:[]);d.enter().append(\\\"path\\\"),d.exit().remove(),d.each(function(e){var i=_(t,e,a,o,s,l,r,n);e.prefixBoundary&&(i=c+i),i?h.select(this).attr(\\\"d\\\",i).style(\\\"stroke\\\",\\\"none\\\"):h.select(this).remove()})}var h=t(\\\"d3\\\"),f=t(\\\"../carpet/map_1d_array\\\"),d=t(\\\"../carpet/makepath\\\"),p=t(\\\"../../components/drawing\\\"),m=t(\\\"../../lib\\\"),v=t(\\\"../contour/make_crossings\\\"),g=t(\\\"../contour/find_all_paths\\\"),y=t(\\\"../contour/plot\\\"),b=t(\\\"../contour/constants\\\"),x=t(\\\"./convert_to_constraints\\\"),_=t(\\\"./join_all_paths\\\"),w=t(\\\"./empty_pathinfo\\\"),M=t(\\\"./map_pathinfo\\\"),k=t(\\\"../carpet/lookup_carpetid\\\"),A=t(\\\"./close_boundaries\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"../carpet/lookup_carpetid\\\":900,\\\"../carpet/makepath\\\":901,\\\"../carpet/map_1d_array\\\":902,\\\"../contour/constants\\\":919,\\\"../contour/find_all_paths\\\":923,\\\"../contour/make_crossings\\\":927,\\\"../contour/plot\\\":928,\\\"./close_boundaries\\\":933,\\\"./convert_to_constraints\\\":937,\\\"./empty_pathinfo\\\":939,\\\"./join_all_paths\\\":941,\\\"./map_pathinfo\\\":942,d3:121}],944:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports=o({},{z:{valType:\\\"data_array\\\"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:{valType:\\\"data_array\\\"},transpose:{valType:\\\"boolean\\\",dflt:!1},xtype:{valType:\\\"enumerated\\\",values:[\\\"array\\\",\\\"scaled\\\"]},ytype:{valType:\\\"enumerated\\\",values:[\\\"array\\\",\\\"scaled\\\"]},zsmooth:{valType:\\\"enumerated\\\",values:[\\\"fast\\\",\\\"best\\\",!1],dflt:!1},connectgaps:{valType:\\\"boolean\\\",dflt:!1},xgap:{valType:\\\"number\\\",dflt:0,min:0},ygap:{valType:\\\"number\\\",dflt:0,min:0}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],945:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../histogram2d/calc\\\"),s=t(\\\"../../components/colorscale/calc\\\"),l=t(\\\"./has_columns\\\"),u=t(\\\"./convert_column_xyz\\\"),c=t(\\\"./max_row_length\\\"),h=t(\\\"./clean_2d_array\\\"),f=t(\\\"./interp2d\\\"),d=t(\\\"./find_empties\\\"),p=t(\\\"./make_bound_array\\\");e.exports=function(t,e){function r(t){E=e._input.zsmooth=e.zsmooth=!1,i.notifier(\\\"cannot fast-zsmooth: \\\"+t)}var m,v,g,y,b,x,_,w,M=a.getFromId(t,e.xaxis||\\\"x\\\"),k=a.getFromId(t,e.yaxis||\\\"y\\\"),A=n.traceIs(e,\\\"contour\\\"),T=n.traceIs(e,\\\"histogram\\\"),S=n.traceIs(e,\\\"gl2d\\\"),E=A?\\\"best\\\":e.zsmooth;if(M._minDtick=0,k._minDtick=0,T){var L=o(t,e);m=L.x,v=L.x0,g=L.dx,y=L.y,b=L.y0,x=L.dy,_=L.z}else l(e)?(u(e,M,k,\\\"x\\\",\\\"y\\\",[\\\"z\\\"]),m=e.x,y=e.y):(m=e.x?M.makeCalcdata(e,\\\"x\\\"):[],y=e.y?k.makeCalcdata(e,\\\"y\\\"):[]),v=e.x0||0,g=e.dx||1,b=e.y0||0,x=e.dy||1,_=h(e.z,e.transpose),(A||e.connectgaps)&&(e._emptypoints=d(_),e._interpz=f(_,e._emptypoints,e._interpz));if(\\\"fast\\\"===E)if(\\\"log\\\"===M.type||\\\"log\\\"===k.type)r(\\\"log axis found\\\");else if(!T){if(m.length){var C=(m[m.length-1]-m[0])/(m.length-1),z=Math.abs(C/100);for(w=0;w<m.length-1;w++)if(Math.abs(m[w+1]-m[w]-C)>z){r(\\\"x scale is not linear\\\");break}}if(y.length&&\\\"fast\\\"===E){var I=(y[y.length-1]-y[0])/(y.length-1),D=Math.abs(I/100);for(w=0;w<y.length-1;w++)if(Math.abs(y[w+1]-y[w]-I)>D){r(\\\"y scale is not linear\\\");break}}}var P=c(_),O=\\\"scaled\\\"===e.xtype?\\\"\\\":m,R=p(e,O,v,g,P,M),F=\\\"scaled\\\"===e.ytype?\\\"\\\":y,j=p(e,F,b,x,_.length,k);S||(a.expand(M,R),a.expand(k,j));var N={x:R,y:j,z:_,text:e.text};if(s(e,_,\\\"\\\",\\\"z\\\"),A&&e.contours&&\\\"heatmap\\\"===e.contours.coloring){var B={type:\\\"contour\\\"===e.type?\\\"heatmap\\\":\\\"histogram2d\\\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(B,O,v,g,P,M),N.yfill=p(B,F,b,x,_.length,k)}return[N]}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../histogram2d/calc\\\":973,\\\"./clean_2d_array\\\":946,\\\"./convert_column_xyz\\\":948,\\\"./find_empties\\\":950,\\\"./has_columns\\\":951,\\\"./interp2d\\\":954,\\\"./make_bound_array\\\":955,\\\"./max_row_length\\\":956}],946:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t,e){var r,i,a,o,s,l;if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=function(t){if(n(t))return+t}(o(t,s,l));return u}},{\\\"fast-isnumeric\\\":130}],947:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,u=r.zmin,c=r.zmax;if(n(u)||(u=i.aggNums(Math.min,null,r.z)),n(c)||(c=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var h=e[0].t.cb=s(t,l),f=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});h.fillcolor(f).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],948:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r,a,o,s){a=a||\\\"x\\\",o=o||\\\"y\\\",s=s||[\\\"z\\\"];var l,u,c,h,f,d=t[a].slice(),p=t[o].slice(),m=t.text,v=Math.min(d.length,p.length),g=void 0!==m&&!Array.isArray(m[0]),y=t[a+\\\"calendar\\\"],b=t[o+\\\"calendar\\\"];for(l=0;l<s.length;l++)(c=t[s[l]])&&(v=Math.min(v,c.length));for(v<d.length&&(d=d.slice(0,v)),v<p.length&&(p=p.slice(0,v)),l=0;l<v;l++)d[l]=e.d2c(d[l],0,y),p[l]=r.d2c(p[l],0,b);var x=n.distinctVals(d),_=x.vals,w=n.distinctVals(p),M=w.vals,k=[];for(l=0;l<s.length;l++)k[l]=n.init2dArray(M.length,_.length);var A,T,S;for(g&&(S=n.init2dArray(M.length,_.length)),l=0;l<v;l++)if(d[l]!==i&&p[l]!==i){for(A=n.findBin(d[l]+x.minDiff/2,_),T=n.findBin(p[l]+w.minDiff/2,M),u=0;u<s.length;u++)f=s[u],c=t[f],h=k[u],h[T][A]=c[l];g&&(S[T][A]=m[l])}for(t[a]=_,t[o]=M,u=0;u<s.length;u++)t[s[u]]=k[u];g&&(t.text=S)}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725}],949:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./has_columns\\\"),a=t(\\\"./xyz_defaults\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}if(!a(t,e,u,l))return void(e.visible=!1);u(\\\"text\\\"),!1===u(\\\"zsmooth\\\")&&(u(\\\"xgap\\\"),u(\\\"ygap\\\")),u(\\\"connectgaps\\\",i(e)&&!1!==e.zsmooth),o(t,e,l,u,{prefix:\\\"\\\",cLetter:\\\"z\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"./attributes\\\":944,\\\"./has_columns\\\":951,\\\"./xyz_defaults\\\":959}],950:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./max_row_length\\\");e.exports=function(t){var e,r,i,a,o,s,l,u,c=[],h={},f=[],d=t[0],p=[],m=[0,0,0],v=n(t);for(r=0;r<t.length;r++)for(e=p,p=d,d=t[r+1]||[],i=0;i<v;i++)void 0===p[i]&&(s=(void 0!==p[i-1]?1:0)+(void 0!==p[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==d[i]?1:0),s?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===p.length-1&&s++,s<4&&(h[[r,i]]=[r,i,s]),c.push([r,i,s])):f.push([r,i]));for(;f.length;){for(l={},u=!1,o=f.length-1;o>=0;o--)a=f[o],r=a[0],i=a[1],(s=((h[[r-1,i]]||m)[2]+(h[[r+1,i]]||m)[2]+(h[[r,i-1]]||m)[2]+(h[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],f.splice(o,1),u=!0);if(!u)throw\\\"findEmpties iterated with no new neighbors\\\";for(a in l)h[a]=l[a],c.push(l[a])}return c.sort(function(t,e){return e[2]-t[2]})}},{\\\"./max_row_length\\\":956}],951:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return!Array.isArray(t.z[0])}},{}],952:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../lib\\\"),a=n.constants.MAXDIST;e.exports=function(t,e,r,o,s){if(!(t.distance<a)){var l,u,c,h,f=t.cd[0],d=f.trace,p=t.xa,m=t.ya,v=f.x,g=f.y,y=f.z,b=f.zmask,x=v,_=g;if(!1!==t.index){try{c=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\\\"Error hovering on heatmap, pointNumber must be [row,col], found:\\\",t.index)}if(c<0||c>=y[0].length||h<0||h>y.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1])>a||n.inbox(r-g[0],r-g[g.length-1])>a)return;if(s){var w;for(x=[2*v[0]-v[1]],w=1;w<v.length;w++)x.push((v[w]+v[w-1])/2);for(x.push([2*v[v.length-1]-v[v.length-2]]),_=[2*g[0]-g[1]],w=1;w<g.length;w++)_.push((g[w]+g[w-1])/2);_.push([2*g[g.length-1]-g[g.length-2]])}c=Math.max(0,Math.min(x.length-2,i.findBin(e,x))),h=Math.max(0,Math.min(_.length-2,i.findBin(r,_)))}var M=p.c2p(v[c]),k=p.c2p(v[c+1]),A=m.c2p(g[h]),T=m.c2p(g[h+1]);s?(k=M,l=v[c],T=A,u=g[h]):(l=(v[c]+v[c+1])/2,u=(g[h]+g[h+1])/2,d.zsmooth&&(M=k=(M+k)/2,A=T=(A+T)/2));var S=y[h][c];b&&!b[h][c]&&(S=void 0);var E;return Array.isArray(f.text)&&Array.isArray(f.text[h])&&(E=f.text[h][c]),[i.extendFlat(t,{index:[h,c],distance:a+10,x0:M,x1:k,y0:A,y1:T,xLabelVal:l,yLabelVal:u,zLabelVal:S,text:E})]}}},{\\\"../../components/fx\\\":644,\\\"../../lib\\\":725}],953:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmap\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":944,\\\"./calc\\\":945,\\\"./colorbar\\\":947,\\\"./defaults\\\":949,\\\"./hover\\\":952,\\\"./plot\\\":957,\\\"./style\\\":958}],954:[function(t,e,r){\\\"use strict\\\";function n(t){return.5-.25*Math.min(1,.5*t)}function i(t,e,r){var n,i,a,s,l,u,c,h,f,d,p,m,v,g=0;for(s=0;s<e.length;s++){for(n=e[s],i=n[0],a=n[1],p=t[i][a],d=0,f=0,l=0;l<4;l++)u=o[l],(c=t[i+u[0]])&&void 0!==(h=c[a+u[1]])&&(0===d?m=v=h:(m=Math.min(m,h),v=Math.max(v,h)),f++,d+=h);if(0===f)throw\\\"iterateInterp2d order is wrong: no defined neighbors\\\";t[i][a]=d/f,void 0===p?f<4&&(g=1):(t[i][a]=(1+r)*t[i][a]-r*p,v>m&&(g=Math.max(g,Math.abs(t[i][a]-p)/(v-m))))}return g}var a=t(\\\"../../lib\\\"),o=[[-1,0],[1,0],[0,-1],[0,1]];e.exports=function(t,e,r){var o,s,l=1;if(Array.isArray(r))for(o=0;o<e.length;o++)s=e[o],t[s[0]][s[1]]=r[s[0]][s[1]];else i(t,e);for(o=0;o<e.length&&!(e[o][2]<4);o++);for(e=e.slice(o),o=0;o<100&&l>.01;o++)l=i(t,e,n(l));return l>.01&&a.log(\\\"interp2d didn't converge quickly\\\",l),t}},{\\\"../../lib\\\":725}],955:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i,a,o){var s,l,u,c=[],h=n.traceIs(t,\\\"contour\\\"),f=n.traceIs(t,\\\"histogram\\\"),d=n.traceIs(t,\\\"gl2d\\\");if(Array.isArray(e)&&e.length>1&&!f&&\\\"category\\\"!==o.type){var p=e.length;if(!(p<=a))return h?e.slice(0,a):e.slice(0,a+1);if(h||d)c=e.slice(0,a);else if(1===a)c=[e[0]-.5,e[0]+.5];else{for(c=[1.5*e[0]-.5*e[1]],u=1;u<p;u++)c.push(.5*(e[u-1]+e[u]));c.push(1.5*e[p-1]-.5*e[p-2])}if(p<a){var m=c[c.length-1],v=m-c[c.length-2];for(u=p;u<a;u++)m+=v,c.push(m)}}else{l=i||1;var g=t[o._id.charAt(0)+\\\"calendar\\\"];for(s=f||\\\"category\\\"===o.type?o.r2c(r,0,g)||0:Array.isArray(e)&&1===e.length?e[0]:void 0===r?0:o.d2c(r,0,g),u=h||d?0:-.5;u<a;u++)c.push(s+l*u)}return c}},{\\\"../../registry\\\":844}],956:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],957:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),u=Math.abs(s-l);return s&&s!==r&&u?{bin0:l,frac:u,bin1:Math.round(l+u/(s-l))}:{bin0:l,bin1:l,frac:0}}function c(t,e){if(void 0!==t){var r=q(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),rt+=e,nt+=r[0]*e,it+=r[1]*e,at+=r[2]*e,r}return[0,0,0,0]}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])}var f=r[0].trace,d=f.uid,p=e.xaxis,m=e.yaxis,v=t._fullLayout,g=\\\"hm\\\"+d;if(v._paper.selectAll(\\\".contour\\\"+d).remove(),v._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".contour\\\"+d).remove(),!0!==f.visible)return v._paper.selectAll(\\\".\\\"+g).remove(),void v._infolayer.selectAll(\\\".cb\\\"+d).remove();var y,b,x,_,w,M,k=r[0].z,A=r[0].x,T=r[0].y,S=a.traceIs(f,\\\"contour\\\"),E=S?\\\"best\\\":f.zsmooth,L=k.length,C=u(k),z=!1,I=!1;for(M=0;void 0===y&&M<A.length-1;)y=p.c2p(A[M]),M++;for(M=A.length-1;void 0===b&&M>0;)b=p.c2p(A[M]),M--;for(b<y&&(x=b,b=y,y=x,z=!0),M=0;void 0===_&&M<T.length-1;)_=m.c2p(T[M]),M++;for(M=T.length-1;void 0===w&&M>0;)w=m.c2p(T[M]),M--;if(w<_&&(x=_,_=w,w=x,I=!0),S&&(A=r[0].xfill,T=r[0].yfill),\\\"fast\\\"!==E){var D=\\\"best\\\"===E?0:.5;y=Math.max(-D*p._length,y),b=Math.min((1+D)*p._length,b),_=Math.max(-D*m._length,_),w=Math.min((1+D)*m._length,w)}var P=Math.round(b-y),O=Math.round(w-_),R=P<=0||O<=0,F=e.plot.select(\\\".imagelayer\\\").selectAll(\\\"g.hm.\\\"+g).data(R?[]:[0]);if(F.enter().append(\\\"g\\\").classed(\\\"hm\\\",!0).classed(g,!0),F.exit().remove(),!R){var j,N;\\\"fast\\\"===E?(j=C,N=L):(j=P,N=O);var B=document.createElement(\\\"canvas\\\");B.width=j,B.height=N;var U,V,H=B.getContext(\\\"2d\\\"),q=s.makeColorScaleFunc(s.extractScale(f.colorscale,f.zmin,f.zmax),{noNumericCheck:!0,returnArray:!0});\\\"fast\\\"===E?(U=z?function(t){return C-1-t}:o.identity,V=I?function(t){return L-1-t}:o.identity):(U=function(t){return o.constrain(Math.round(p.c2p(A[t])-y),0,P)},V=function(t){return o.constrain(Math.round(m.c2p(T[t])-_),0,O)});var G,Y,X,W,Z,J,K,Q=V(0),$=[Q,Q],tt=z?0:1,et=I?0:1,rt=0,nt=0,it=0,at=0;if(E){var ot,st=0;try{ot=new Uint8Array(P*O*4)}catch(t){ot=new Array(P*O*4)}if(\\\"best\\\"===E){var lt,ut,ct,ht=new Array(A.length),ft=new Array(T.length),dt=new Array(P);for(M=0;M<A.length;M++)ht[M]=Math.round(p.c2p(A[M])-y);for(M=0;M<T.length;M++)ft[M]=Math.round(m.c2p(T[M])-_);for(M=0;M<P;M++)dt[M]=n(M,ht);for(X=0;X<O;X++)for(lt=n(X,ft),ut=k[lt.bin0],ct=k[lt.bin1],M=0;M<P;M++,st+=4)K=function(t,e,r,n){var i=t[r.bin0];if(void 0===i)return c(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,h=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,c(i+r.frac*u+n.frac*(h+r.frac*a))}(ut,ct,dt[M],lt),h(ot,st,K)}else for(X=0;X<L;X++)for(J=k[X],$=V(X),M=0;M<P;M++)K=c(J[M],1),st=4*($*P+U(M)),h(ot,st,K);var pt=H.createImageData(P,O);try{pt.data.set(ot)}catch(t){var mt=pt.data,vt=mt.length;for(X=0;X<vt;X++)mt[X]=ot[X]}H.putImageData(pt,0,0)}else for(X=0;X<L;X++)if(J=k[X],$.reverse(),$[et]=V(X+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(W=U(0),Y=[W,W],M=0;M<C;M++)Y.reverse(),Y[tt]=U(M+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1]&&(Z=J[M],K=c(Z,(Y[1]-Y[0])*($[1]-$[0])),H.fillStyle=\\\"rgba(\\\"+K.join(\\\",\\\")+\\\")\\\",G=function(t,e,r,n,i,a,o,s,l){var u={x0:e,x1:r,y0:n,y1:i},c=2*t.xgap/3,h=2*t.ygap/3,f=t.xgap/3,d=t.ygap/3;return s===l-1&&(u.y1=i-h),a===o-1&&(u.x0=e+c),0===s&&(u.y0=n+h),0===a&&(u.x1=r-c),a>0&&a<o-1&&(u.x0=e+f,u.x1=r-f),s>0&&s<l-1&&(u.y0=n+d,u.y1=i-d),u}(f,Y[0],Y[1],$[0],$[1],M,C,X,L),H.fillRect(G.x0,G.y0,G.x1-G.x0,G.y1-G.y0));nt=Math.round(nt/rt),it=Math.round(it/rt),at=Math.round(at/rt);var gt=i(\\\"rgb(\\\"+nt+\\\",\\\"+it+\\\",\\\"+at+\\\")\\\");t._hmpixcount=(t._hmpixcount||0)+rt,t._hmlumcount=(t._hmlumcount||0)+rt*gt.getLuminance();var yt=F.selectAll(\\\"image\\\").data(r);yt.enter().append(\\\"svg:image\\\").attr({xmlns:l.svg,preserveAspectRatio:\\\"none\\\"}),yt.attr({height:O,width:P,x:y,y:_,\\\"xlink:href\\\":B.toDataURL(\\\"image/png\\\")}),yt.exit().remove()}}var i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/colorscale\\\"),l=t(\\\"../../constants/xmlns_namespaces\\\"),u=t(\\\"./max_row_length\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])}},{\\\"../../components/colorscale\\\":617,\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./max_row_length\\\":956,tinycolor2:533}],958:[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:121}],959:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=e(t);return\\\"scaled\\\"===(r?e(t+\\\"type\\\",\\\"array\\\"):\\\"scaled\\\")&&(e(t+\\\"0\\\"),e(\\\"d\\\"+t)),r}function i(t){for(var e,r=!0,n=!1,i=!1,o=0;o<t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length>0&&(n=!0);for(var s=0;s<e.length;s++)if(a(e[s])){i=!0;break}}return r&&n&&i}var a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"./has_columns\\\");e.exports=function(t,e,r,a,l,u){var c=r(\\\"z\\\");l=l||\\\"x\\\",u=u||\\\"y\\\";var h,f;if(void 0===c||!c.length)return 0;if(s(t)){if(h=r(l),f=r(u),!h||!f)return 0}else{if(h=n(l,r),f=n(u,r),!i(c))return 0;r(\\\"transpose\\\")}return o.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[l,u],a),e.z.length}},{\\\"../../registry\\\":844,\\\"./has_columns\\\":951,\\\"fast-isnumeric\\\":130}],960:[function(t,e,r){\\\"use strict\\\";for(var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat,s=[\\\"z\\\",\\\"x\\\",\\\"x0\\\",\\\"dx\\\",\\\"y\\\",\\\"y0\\\",\\\"dy\\\",\\\"text\\\",\\\"transpose\\\",\\\"xtype\\\",\\\"ytype\\\"],l={},u=0;u<s.length;u++){var c=s[u];l[c]=n[c]}o(l,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=l},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../heatmap/attributes\\\":944}],961:[function(t,e,r){\\\"use strict\\\";function n(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=o(t.glplot,this.options),this.heatmap._trace=this}function i(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),o=new Array(4*i),s=0;s<i;s++){var u=e[s],c=l(u[1]);a[s]=r+u[0]*(n-r);for(var h=0;h<4;h++)o[4*s+h]=c[h]}return{colorLevels:a,colorValues:o}}function a(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}var o=t(\\\"gl-heatmap2d\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../../lib/str2rgbarray\\\"),u=n.prototype;u.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},u.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 a=n[0].length,o=n.length;this.options.shape=[a,o],this.options.x=r.x,this.options.y=r.y;var l=i(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),s.expand(this.scene.xaxis,r.x),s.expand(this.scene.yaxis,r.y)},u.dispose=function(){this.heatmap.dispose()},e.exports=a},{\\\"../../lib/str2rgbarray\\\":744,\\\"../../plots/cartesian/axes\\\":766,\\\"gl-heatmap2d\\\":165}],962:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"../heatmap/defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmapgl\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl2d\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":806,\\\"../heatmap/calc\\\":945,\\\"../heatmap/colorbar\\\":947,\\\"../heatmap/defaults\\\":949,\\\"./attributes\\\":960,\\\"./convert\\\":961}],963:[function(t,e,r){\\\"use strict\\\";function n(t){return{start:{valType:\\\"any\\\",dflt:null},end:{valType:\\\"any\\\",dflt:null},size:{valType:\\\"any\\\",dflt:null}}}var i=t(\\\"../bar/attributes\\\");e.exports={x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:i.text,orientation:i.orientation,histfunc:{valType:\\\"enumerated\\\",values:[\\\"count\\\",\\\"sum\\\",\\\"avg\\\",\\\"min\\\",\\\"max\\\"],dflt:\\\"count\\\"},histnorm:{valType:\\\"enumerated\\\",values:[\\\"\\\",\\\"percent\\\",\\\"probability\\\",\\\"density\\\",\\\"probability density\\\"],dflt:\\\"\\\"},cumulative:{enabled:{valType:\\\"boolean\\\",dflt:!1},direction:{valType:\\\"enumerated\\\",values:[\\\"increasing\\\",\\\"decreasing\\\"],dflt:\\\"increasing\\\"},currentbin:{valType:\\\"enumerated\\\",values:[\\\"include\\\",\\\"exclude\\\",\\\"half\\\"],dflt:\\\"include\\\"}},autobinx:{valType:\\\"boolean\\\",dflt:null},nbinsx:{valType:\\\"integer\\\",min:0,dflt:0},xbins:n(\\\"x\\\"),autobiny:{valType:\\\"boolean\\\",dflt:null},nbinsy:{valType:\\\"integer\\\",min:0,dflt:0},ybins:n(\\\"y\\\"),marker:i.marker,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{\\\"../bar/attributes\\\":854}],964:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],965:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){return r(\\\"histnorm\\\"),n.forEach(function(t){r(t+\\\"bins.start\\\"),r(t+\\\"bins.end\\\"),r(t+\\\"bins.size\\\"),r(\\\"autobin\\\"+t),r(\\\"nbins\\\"+t)}),e}},{}],966:[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,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\\\"fast-isnumeric\\\":130}],967:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var o,s,u,h,f,d=n+\\\"bins\\\";if(e._autoBinFinished)delete e._autoBinFinished;else{var p=i(t,e),m=[],v=1/0,g=1/0,y=-1/0,b=\\\"autobin\\\"+n;for(o=0;o<p.length;o++){s=p[o],f=s._pos0=r.makeCalcdata(s,n);var x=s[d];if(s[b]||!x||null===x.start||null===x.end){u=s[n+\\\"calendar\\\"];var _=s.cumulative;x=c.autoBin(f,r,s[\\\"nbins\\\"+n],!1,u),_.enabled&&\\\"include\\\"!==_.currentbin&&(\\\"decreasing\\\"===_.direction?g=Math.min(g,r.r2c(x.start,0,u)-x.size):y=Math.max(y,r.r2c(x.end,0,u)+x.size)),m.push(s)}else h||(h={size:x.size,start:r.r2c(x.start,0,u),end:r.r2c(x.end,0,u)});v=a(v,x.size),g=Math.min(g,r.r2c(x.start,0,u)),y=Math.max(y,r.r2c(x.end,0,u)),o&&(e._autoBinFinished=1)}if(h&&l(h.size)&&l(v)){v=v>h.size/1.9?h.size:h.size/Math.ceil(h.size/v);var w=h.start+(h.size-v)/2;g=w-v*Math.ceil((w-g)/v)}for(o=0;o<m.length;o++)s=m[o],u=s[n+\\\"calendar\\\"],s._input[d]=s[d]={start:r.c2r(g,0,u),end:r.c2r(y,0,u),size:v},s._input[b]=s[b]}return f=e._pos0,delete e._pos0,[e[d],f]}function i(t,e){if(\\\"overlay\\\"===t._fullLayout.barmode)return[e];for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\\\"histogram\\\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function a(t,e){if(t===1/0)return e;var r=o(t);return o(e)<r?e:t}function o(t){return l(t)?t:\\\"string\\\"==typeof t&&\\\"M\\\"===t.charAt(0)?v*+t.substr(1):1/0}function s(t,e,r){function n(e){s=t[e],t[e]/=2}function i(e){o=t[e],t[e]=s+o/2,s+=o}var a,o,s;if(\\\"half\\\"===r)if(\\\"increasing\\\"===e)for(n(0),a=1;a<t.length;a++)i(a);else for(n(t.length-1),a=t.length-2;a>=0;a--)i(a);else if(\\\"increasing\\\"===e){for(a=1;a<t.length;a++)t[a]+=t[a-1];\\\"exclude\\\"===r&&(t.unshift(0),t.pop())\\n\",\n       \"}else{for(a=t.length-2;a>=0;a--)t[a]+=t[a+1];\\\"exclude\\\"===r&&(t.push(0),t.shift())}}var l=t(\\\"fast-isnumeric\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../plots/cartesian/axes\\\"),h=t(\\\"../bar/arrays_to_calcdata\\\"),f=t(\\\"./bin_functions\\\"),d=t(\\\"./norm_functions\\\"),p=t(\\\"./average\\\"),m=t(\\\"./clean_bins\\\"),v=t(\\\"../../constants/numerical\\\").ONEAVGMONTH;e.exports=function(t,e){if(!0===e.visible){var r,i=[],a=[],o=c.getFromId(t,\\\"h\\\"===e.orientation?e.yaxis||\\\"y\\\":e.xaxis||\\\"x\\\"),v=\\\"h\\\"===e.orientation?\\\"y\\\":\\\"x\\\",g={x:\\\"y\\\",y:\\\"x\\\"}[v],y=e[v+\\\"calendar\\\"],b=e.cumulative;m(e,o,v);var x,_,w,M=n(t,e,o,v),k=M[0],A=M[1],T=\\\"string\\\"==typeof k.size,S=T?[]:k,E=[],L=[],C=0,z=e.histnorm,I=e.histfunc,D=-1!==z.indexOf(\\\"density\\\");b.enabled&&D&&(z=z.replace(/ ?density$/,\\\"\\\"),D=!1);var P,O=\\\"max\\\"===I||\\\"min\\\"===I,R=O?null:0,F=f.count,j=d[z],N=!1,B=function(t){return o.r2c(t,0,y)};for(Array.isArray(e[g])&&\\\"count\\\"!==I&&(P=e[g],N=\\\"avg\\\"===I,F=f[I]),r=B(k.start),_=B(k.end)+(r-c.tickIncrement(r,k.size,!1,y))/1e6;r<_&&i.length<1e6&&(x=c.tickIncrement(r,k.size,!1,y),i.push((r+x)/2),a.push(R),T&&S.push(r),D&&E.push(1/(x-r)),N&&L.push(0),!(x<=r));)r=x;T||\\\"date\\\"!==o.type||(S={start:B(S.start),end:B(S.end),size:S.size});var U=a.length;for(r=0;r<A.length;r++)(w=u.findBin(A[r],S))>=0&&w<U&&(C+=F(w,r,a,P,L));N&&(C=p(a,L)),j&&j(a,C,E),b.enabled&&s(a,b.direction,b.currentbin);var V=Math.min(i.length,a.length),H=[],q=0,G=V-1;for(r=0;r<V;r++)if(a[r]){q=r;break}for(r=V-1;r>q;r--)if(a[r]){G=r;break}for(r=q;r<=G;r++)l(i[r])&&l(a[r])&&H.push({p:i[r],s:a[r],b:0});return h(H,e),H}}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../bar/arrays_to_calcdata\\\":853,\\\"./average\\\":964,\\\"./bin_functions\\\":966,\\\"./clean_bins\\\":968,\\\"./norm_functions\\\":971,\\\"fast-isnumeric\\\":130}],968:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").cleanDate,a=t(\\\"../../constants/numerical\\\"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+\\\"bins\\\",u=t[l];u||(u=t[l]={});var c=\\\"date\\\"===a?function(t){return t||0===t?i(t,s,u.calendar):null}:function(t){return n(t)?Number(t):null};u.start=c(u.start),u.end=c(u.end);var h=\\\"date\\\"===a?o:1,f=u.size;if(n(f))u.size=f>0?Number(f):h;else if(\\\"string\\\"!=typeof f)u.size=h;else{var d=f.charAt(0),p=f.substr(1);p=n(p)?Number(p):0,(p<=0||\\\"date\\\"!==a||\\\"M\\\"!==d||p!==Math.round(p))&&(u.size=h)}var m=\\\"autobin\\\"+r;\\\"boolean\\\"!=typeof t[m]&&(t[m]=!((u.start||0===u.start)&&(u.end||0===u.end))),t[m]||delete t[\\\"nbins\\\"+r]}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],969:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./bin_defaults\\\"),s=t(\\\"../bar/style_defaults\\\"),l=t(\\\"../../components/errorbars/defaults\\\"),u=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function h(r,n){return i.coerce(t,e,u,r,n)}var f=h(\\\"x\\\"),d=h(\\\"y\\\");h(\\\"cumulative.enabled\\\")&&(h(\\\"cumulative.direction\\\"),h(\\\"cumulative.currentbin\\\")),h(\\\"text\\\");var p=h(\\\"orientation\\\",d&&!f?\\\"h\\\":\\\"v\\\"),m=e[\\\"v\\\"===p?\\\"x\\\":\\\"y\\\"];if(!m||!m.length)return void(e.visible=!1);n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],c),e[\\\"h\\\"===p?\\\"x\\\":\\\"y\\\"]&&h(\\\"histfunc\\\"),o(t,e,h,\\\"h\\\"===p?[\\\"y\\\"]:[\\\"x\\\"]),s(t,e,h,r,c),l(t,e,a.defaultLine,{axis:\\\"y\\\"}),l(t,e,a.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"})}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../bar/style_defaults\\\":865,\\\"./attributes\\\":963,\\\"./bin_defaults\\\":965}],970:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"../bar/layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"../bar/layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"../bar/set_positions\\\"),n.plot=t(\\\"../bar/plot\\\"),n.style=t(\\\"../bar/style\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.hoverPoints=t(\\\"../bar/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"histogram\\\",\\\"oriented\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../bar/hover\\\":857,\\\"../bar/layout_attributes\\\":859,\\\"../bar/layout_defaults\\\":860,\\\"../bar/plot\\\":861,\\\"../bar/set_positions\\\":862,\\\"../bar/style\\\":864,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":963,\\\"./calc\\\":967,\\\"./defaults\\\":969}],971:[function(t,e,r){\\\"use strict\\\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=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 i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\\\"probability density\\\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],972:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram/attributes\\\"),i=t(\\\"../heatmap/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:\\\"data_array\\\"},marker:{color:{valType:\\\"data_array\\\"}},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../heatmap/attributes\\\":944,\\\"../histogram/attributes\\\":963}],973:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../histogram/bin_functions\\\"),o=t(\\\"../histogram/norm_functions\\\"),s=t(\\\"../histogram/average\\\"),l=t(\\\"../histogram/clean_bins\\\");e.exports=function(t,e){var r,u,c,h,f,d,p=i.getFromId(t,e.xaxis||\\\"x\\\"),m=e.x?p.makeCalcdata(e,\\\"x\\\"):[],v=i.getFromId(t,e.yaxis||\\\"y\\\"),g=e.y?v.makeCalcdata(e,\\\"y\\\"):[],y=e.xcalendar,b=e.ycalendar,x=function(t){return p.r2c(t,0,y)},_=function(t){return v.r2c(t,0,b)},w=function(t){return p.c2r(t,0,y)},M=function(t){return v.c2r(t,0,b)};l(e,p,\\\"x\\\"),l(e,v,\\\"y\\\");var k=Math.min(m.length,g.length);m.length>k&&m.splice(k,m.length-k),g.length>k&&g.splice(k,g.length-k),!e.autobinx&&e.xbins&&null!==e.xbins.start&&null!==e.xbins.end||(e.xbins=i.autoBin(m,p,e.nbinsx,\\\"2d\\\",y),\\\"histogram2dcontour\\\"===e.type&&(e.xbins.start=w(i.tickIncrement(x(e.xbins.start),e.xbins.size,!0,y)),e.xbins.end=w(i.tickIncrement(x(e.xbins.end),e.xbins.size,!1,y))),e._input.xbins=e.xbins,e._input.autobinx=e.autobinx),!e.autobiny&&e.ybins&&null!==e.ybins.start&&null!==e.ybins.end||(e.ybins=i.autoBin(g,v,e.nbinsy,\\\"2d\\\",b),\\\"histogram2dcontour\\\"===e.type&&(e.ybins.start=M(i.tickIncrement(_(e.ybins.start),e.ybins.size,!0,b)),e.ybins.end=M(i.tickIncrement(_(e.ybins.end),e.ybins.size,!1,b))),e._input.ybins=e.ybins,e._input.autobiny=e.autobiny),f=[];var A,T,S=[],E=[],L=\\\"string\\\"==typeof e.xbins.size,C=\\\"string\\\"==typeof e.ybins.size,z=L?[]:e.xbins,I=C?[]:e.ybins,D=0,P=[],O=e.histnorm,R=e.histfunc,F=-1!==O.indexOf(\\\"density\\\"),j=\\\"max\\\"===R||\\\"min\\\"===R,N=j?null:0,B=a.count,U=o[O],V=!1,H=[],q=[],G=\\\"z\\\"in e?e.z:\\\"marker\\\"in e&&Array.isArray(e.marker.color)?e.marker.color:\\\"\\\";G&&\\\"count\\\"!==R&&(V=\\\"avg\\\"===R,B=a[R]);var Y=e.xbins,X=x(Y.start),W=x(Y.end)+(X-i.tickIncrement(X,Y.size,!1,y))/1e6;for(d=X;d<W;d=i.tickIncrement(d,Y.size,!1,y))S.push(N),L&&z.push(d),V&&E.push(0);L&&z.push(d);var Z=S.length;r=e.xbins.start;var J=x(r);for(u=(d-J)/Z,r=w(J+u/2),Y=e.ybins,X=_(Y.start),W=_(Y.end)+(X-i.tickIncrement(X,Y.size,!1,b))/1e6,d=X;d<W;d=i.tickIncrement(d,Y.size,!1,b))f.push(S.concat()),C&&I.push(d),V&&P.push(E.concat());C&&I.push(d);var K=f.length;c=e.ybins.start;var Q=_(c);for(h=(d-Q)/K,c=M(Q+h/2),F&&(H=S.map(function(t,e){return L?1/(z[e+1]-z[e]):1/u}),q=f.map(function(t,e){return C?1/(I[e+1]-I[e]):1/h})),L||\\\"date\\\"!==p.type||(z={start:x(z.start),end:x(z.end),size:z.size}),C||\\\"date\\\"!==v.type||(I={start:_(I.start),end:_(I.end),size:I.size}),d=0;d<k;d++)A=n.findBin(m[d],z),T=n.findBin(g[d],I),A>=0&&A<Z&&T>=0&&T<K&&(D+=B(A,d,f[T],G,P[T]));if(V)for(T=0;T<K;T++)D+=s(f[T],P[T]);if(U)for(T=0;T<K;T++)U(f[T],D,H,q[T]);return{x:m,x0:r,dx:u,y:g,y0:c,dy:h,z:f}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../histogram/average\\\":964,\\\"../histogram/bin_functions\\\":966,\\\"../histogram/clean_bins\\\":968,\\\"../histogram/norm_functions\\\":971}],974:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./sample_defaults\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s),!1===l(\\\"zsmooth\\\")&&(l(\\\"xgap\\\"),l(\\\"ygap\\\")),a(t,e,s,l,{prefix:\\\"\\\",cLetter:\\\"z\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"./attributes\\\":972,\\\"./sample_defaults\\\":976}],975:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"../heatmap/plot\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.style=t(\\\"../heatmap/style\\\"),n.hoverPoints=t(\\\"../heatmap/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2d\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../heatmap/calc\\\":945,\\\"../heatmap/colorbar\\\":947,\\\"../heatmap/hover\\\":952,\\\"../heatmap/plot\\\":957,\\\"../heatmap/style\\\":958,\\\"./attributes\\\":972,\\\"./defaults\\\":974}],976:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../histogram/bin_defaults\\\");e.exports=function(t,e,r,a){var o=r(\\\"x\\\"),s=r(\\\"y\\\");if(!(o&&o.length&&s&&s.length))return void(e.visible=!1);n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],a),(r(\\\"z\\\")||r(\\\"marker.color\\\"))&&r(\\\"histfunc\\\"),i(t,e,r,[\\\"x\\\",\\\"y\\\"])}},{\\\"../../registry\\\":844,\\\"../histogram/bin_defaults\\\":965}],977:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram2d/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line},a,{zmin:s({},a.zmin,{editType:\\\"docalc\\\"}),zmax:s({},a.zmax,{editType:\\\"docalc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../contour/attributes\\\":916,\\\"../histogram2d/attributes\\\":972}],978:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../histogram2d/sample_defaults\\\"),a=t(\\\"../contour/contours_defaults\\\"),o=t(\\\"../contour/style_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}i(t,e,u,l),a(t,e,u),o(t,e,u,l)}},{\\\"../../lib\\\":725,\\\"../contour/contours_defaults\\\":920,\\\"../contour/style_defaults\\\":930,\\\"../histogram2d/sample_defaults\\\":976,\\\"./attributes\\\":977}],979:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../contour/calc\\\"),n.plot=t(\\\"../contour/plot\\\").plot,n.style=t(\\\"../contour/style\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.hoverPoints=t(\\\"../contour/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2dcontour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../contour/calc\\\":917,\\\"../contour/colorbar\\\":918,\\\"../contour/hover\\\":924,\\\"../contour/plot\\\":928,\\\"../contour/style\\\":929,\\\"./attributes\\\":977,\\\"./defaults\\\":978}],980:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../surface/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},z:{valType:\\\"data_array\\\"},i:{valType:\\\"data_array\\\"},j:{valType:\\\"data_array\\\"},k:{valType:\\\"data_array\\\"},delaunayaxis:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"z\\\"],dflt:\\\"z\\\"},alphahull:{valType:\\\"number\\\",dflt:-1},intensity:{valType:\\\"data_array\\\"},color:{valType:\\\"color\\\"},vertexcolor:{valType:\\\"data_array\\\"},facecolor:{valType:\\\"data_array\\\"},opacity:o({},a.opacity),flatshading:{valType:\\\"boolean\\\",dflt:!1},contour:{show:o({},a.contours.x.show,{}),color:o({},a.contours.x.color),width:o({},a.contours.x.width)},cauto:n.zauto,cmin:n.zmin,cmax:n.zmax,colorscale:n.colorscale,reversescale:n.reversescale,autocolorscale:o({},n.autocolorscale,{dflt:!1}),showscale:n.showscale,colorbar:i,lightposition:{x:o({},a.lightposition.x,{dflt:1e5}),y:o({},a.lightposition.y,{dflt:1e5}),z:o({},a.lightposition.z,{dflt:0})},lighting:o({},{vertexnormalsepsilon:{valType:\\\"number\\\",min:0,max:1,dflt:1e-12},facenormalsepsilon:{valType:\\\"number\\\",min:0,max:1,dflt:1e-6}},a.lighting)}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../surface/attributes\\\":1093}],981:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.intensity&&n(e,e.intensity,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":609}],982:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,u=r.cmin,c=r.cmax,h=r.intensity||[];if(n(u)||(u=i.aggNums(Math.min,null,h)),n(c)||(c=i.aggNums(Math.max,null,h)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var f=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});f.fillcolor(d).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],983:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\\\"\\\",this.color=\\\"#fff\\\",this.data=null,this.showContour=!1}function i(t){return t.map(function(t){var e=t[0],r=u(t[1]),n=r.toRgb();return{index:e,rgb:[n.r,n.g,n.b,1]}})}function a(t){return t.map(d)}function o(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}function s(t,e){var r=t.glplot.gl,i=l({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}var l=t(\\\"gl-mesh3d\\\"),u=t(\\\"tinycolor2\\\"),c=t(\\\"delaunay-triangulate\\\"),h=t(\\\"alpha-shape\\\"),f=t(\\\"convex-hull\\\"),d=t(\\\"../../lib/str2rgbarray\\\"),p=n.prototype;p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},p.update=function(t){function e(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var s,l=o(e(n.xaxis,t.x,r.dataScale[0],t.xcalendar),e(n.yaxis,t.y,r.dataScale[1],t.ycalendar),e(n.zaxis,t.z,r.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)s=o(t.i,t.j,t.k);else if(0===t.alphahull)s=f(l);else if(t.alphahull>0)s=h(t.alphahull,l);else{var u=[\\\"x\\\",\\\"y\\\",\\\"z\\\"].indexOf(t.delaunayaxis);s=c(l.map(function(t){return[t[(u+1)%3],t[(u+2)%3]]}))}var p={positions:l,cells:s,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:d(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\\\"#fff\\\",p.vertexIntensity=t.intensity,p.vertexIntensityBounds=[t.cmin,t.cmax],p.colormap=i(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],p.vertexColors=a(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=a(t.facecolor)):(this.color=t.color,p.meshColor=d(t.color)),this.mesh.update(p)},p.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=s},{\\\"../../lib/str2rgbarray\\\":744,\\\"alpha-shape\\\":42,\\\"convex-hull\\\":102,\\\"delaunay-triangulate\\\":122,\\\"gl-mesh3d\\\":204,tinycolor2:533}],984:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function u(t){var e=t.map(function(t){var e=l(t);return e&&Array.isArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var c=u([\\\"x\\\",\\\"y\\\",\\\"z\\\"]),h=u([\\\"i\\\",\\\"j\\\",\\\"k\\\"]);if(!c)return void(e.visible=!1);h&&h.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),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\\\",\\\"contour.show\\\",\\\"contour.color\\\",\\\"contour.width\\\",\\\"colorscale\\\",\\\"reversescale\\\",\\\"flatshading\\\",\\\"alphahull\\\",\\\"delaunayaxis\\\",\\\"opacity\\\"].forEach(function(t){l(t)}),\\\"intensity\\\"in t?(l(\\\"intensity\\\"),a(t,e,s,l,{prefix:\\\"\\\",cLetter:\\\"c\\\"})):(e.showscale=!1,\\\"facecolor\\\"in t?l(\\\"facecolor\\\"):\\\"vertexcolor\\\"in t?l(\\\"vertexcolor\\\"):l(\\\"color\\\",r))}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":980}],985:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"mesh3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":809,\\\"./attributes\\\":980,\\\"./calc\\\":981,\\\"./colorbar\\\":982,\\\"./convert\\\":983,\\\"./defaults\\\":984}],986:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=i.line,s={name:{valType:\\\"string\\\"},showlegend:{valType:\\\"boolean\\\",dflt:!0},line:{color:o.color,width:o.width,dash:a}};e.exports={x:{valType:\\\"data_array\\\"},open:{valType:\\\"data_array\\\",dflt:[]},high:{valType:\\\"data_array\\\",dflt:[]},low:{valType:\\\"data_array\\\",dflt:[]},close:{valType:\\\"data_array\\\",dflt:[]},line:{width:n.extendFlat({},o.width,{}),dash:n.extendFlat({},a,{})},increasing:n.extendDeep({},s,{line:{color:{dflt:\\\"#3D9970\\\"}}}),decreasing:n.extendDeep({},s,{line:{color:{dflt:\\\"#FF4136\\\"}}}),text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},tickwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.3}}},{\\\"../../components/drawing/attributes\\\":626,\\\"../../lib\\\":725,\\\"../scatter/attributes\\\":1027}],987:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){o(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".line.dash\\\",e.line.dash)}var i=t(\\\"../../lib\\\"),a=t(\\\"./ohlc_defaults\\\"),o=t(\\\"./direction_defaults\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./helpers\\\");e.exports=function(t,e,r,o){function u(r,n){return i.coerce(t,e,s,r,n)}if(l.pushDummyTransformOpts(t,e),0===a(t,e,u,o))return void(e.visible=!1);u(\\\"line.width\\\"),u(\\\"line.dash\\\"),n(t,e,u,\\\"increasing\\\"),n(t,e,u,\\\"decreasing\\\"),u(\\\"text\\\"),u(\\\"tickwidth\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":986,\\\"./direction_defaults\\\":988,\\\"./helpers\\\":989,\\\"./ohlc_defaults\\\":991}],988:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){r(n+\\\".showlegend\\\"),!1===t.showlegend&&(e[n].showlegend=!1),r(n+\\\".name\\\",e.name+\\\" - \\\"+n)}},{}],989:[function(t,e,r){\\\"use strict\\\";function n(t){function e(t,e){return t===e?e>o?a=!0:e<o&&(a=!1):a=t<e,o=e,a}function r(t,r){return i(t)&&i(r)&&e(+t,+r)}function n(t,r){return i(t)&&i(r)&&!e(+t,+r)}var a=!0,o=null;return\\\"increasing\\\"===t?r:n}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\");r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r<e.length;r++)e[r]._ephemeral&&e.splice(r,1);0===e.length&&delete t.transforms}},r.copyOHLC=function(t,e){t.open&&(e.open=t.open),t.high&&(e.high=t.high),t.low&&(e.low=t.low),t.close&&(e.close=t.close)},r.makeTransform=function(t,e,r){var n=a.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},r.getFilterFn=function(t){return new n(t)},r.addRangeSlider=function(t,e){for(var r=!1,n=0;n<t.length;n++)if(!0===t[n].visible){r=!0;break}r&&(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))}},{\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],990:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/register\\\");e.exports={moduleType:\\\"trace\\\",name:\\\"ohlc\\\",basePlotModule:t(\\\"../../plots/cartesian\\\"),categories:[\\\"cartesian\\\",\\\"showLegend\\\"],meta:{},attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\")},n(t(\\\"../scatter\\\")),n(t(\\\"./transform\\\"))},{\\\"../../plot_api/register\\\":756,\\\"../../plots/cartesian\\\":776,\\\"../scatter\\\":1037,\\\"./attributes\\\":986,\\\"./defaults\\\":987,\\\"./transform\\\":992}],991:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a,o=r(\\\"x\\\"),s=r(\\\"open\\\"),l=r(\\\"high\\\"),u=r(\\\"low\\\"),c=r(\\\"close\\\");return n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\"],i),a=Math.min(s.length,l.length,u.length,c.length),o&&(a=Math.min(a,o.length))<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.open=s.slice(0,a)),a<l.length&&(e.high=l.slice(0,a)),a<u.length&&(e.low=u.slice(0,a)),a<c.length&&(e.close=c.slice(0,a)),a}},{\\\"../../registry\\\":844}],992:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"scatter\\\",mode:\\\"lines\\\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:i(t),transforms:l.makeTransform(t,e,r)},a=t[r];return a&&s.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:a.name,showlegend:a.showlegend,line:a.line}),n}function i(t){var e=t.hoverinfo;if(\\\"all\\\"===e)return\\\"x+text+name\\\";var r=e.split(\\\"+\\\"),n=r.indexOf(\\\"y\\\"),i=r.indexOf(\\\"text\\\");return-1!==n&&(r.splice(n,1),-1===i&&r.push(\\\"text\\\")),r.join(\\\"+\\\")}function a(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var o=t._fullData,l=[];a=1/0;var u;for(u=0;u<o.length;u++){var c=o[u]._fullInput;if(\\\"ohlc\\\"===c.type&&!0===c.visible&&c.xaxis===e._id&&(l.push(c),c.x&&c.x.length>1)){var h=s.simpleMap(c.x,e.d2c,0,r.xcalendar),f=s.distinctVals(h).minDiff;a=Math.min(a,f)}}for(a===1/0&&(a=1),u=0;u<l.length;u++)l[u]._minDiff=a}return a*i}var o=t(\\\"fast-isnumeric\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"./helpers\\\"),u=t(\\\"../../plots/cartesian/axes\\\"),c=t(\\\"../../plots/cartesian/axis_ids\\\");r.moduleType=\\\"transform\\\",r.name=\\\"ohlc\\\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return l.clearEphemeralTransformOpts(n),l.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){var a=t[i];\\\"ohlc\\\"===a.type?r.push(n(a,e,\\\"increasing\\\"),n(a,e,\\\"decreasing\\\")):r.push(a)}return l.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){var n,i=r.direction,s=l.getFilterFn(i),h=c.getFromTrace(t,e,\\\"x\\\"),f=c.getFromTrace(t,e,\\\"y\\\"),d=a(t,h,e),p=e.open,m=e.high,v=e.low,g=e.close,y=e.text,b=p.length,x=[],_=[],w=[];n=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=h.d2c(r,0,n);x.push(h.c2d(i-d,0,n),r,r,r,r,h.c2d(i+d,0,n),null)}:function(t){x.push(t-d,t,t,t,t,t+d,null)};for(var M=function(t,e){return u.tickText(t,t.c2l(e),\\\"hover\\\").text},k=e._fullInput.hoverinfo,A=k.split(\\\"+\\\"),T=\\\"all\\\"===k,S=T||-1!==A.indexOf(\\\"y\\\"),E=T||-1!==A.indexOf(\\\"text\\\"),L=Array.isArray(y)?function(t){return y[t]||\\\"\\\"}:function(){return y},C=0;C<b;C++)s(p[C],g[C])&&o(m[C])&&o(v[C])&&(n(C),function(t,e,r,n){_.push(t,t,e,r,n,n,null)}(p[C],m[C],v[C],g[C]),function(t,e,r,n,i){var a=[];S&&(a.push(\\\"Open: \\\"+M(f,e)),a.push(\\\"High: \\\"+M(f,r)),a.push(\\\"Low: \\\"+M(f,n)),a.push(\\\"Close: \\\"+M(f,i))),E&&a.push(L(t));var o=a.join(\\\"<br>\\\");w.push(o,o,o,o,o,o,null)}(C,p[C],m[C],v[C],g[C]));e.x=x,e.y=_,e.text=w}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/axis_ids\\\":769,\\\"./helpers\\\":989,\\\"fast-isnumeric\\\":130}],993:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../../components/colorscale/scales\\\"),o=t(\\\"../../plots/cartesian/layout_attributes\\\"),s=t(\\\"../../plots/font_attributes\\\"),l=t(\\\"../../lib/extend\\\").extendDeep,u=t(\\\"../../lib/extend\\\").extendFlat;e.exports={domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},labelfont:u({},s,{}),tickfont:u({},s,{}),rangefont:u({},s,{}),dimensions:{_isLinkedToArray:\\\"dimension\\\",label:{valType:\\\"string\\\"},tickvals:o.tickvals,ticktext:o.ticktext,tickformat:{valType:\\\"string\\\",dflt:\\\"3s\\\"},visible:{valType:\\\"boolean\\\",dflt:!0},range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},constraintrange:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},values:{valType:\\\"data_array\\\",dflt:[]}},line:u({},l({},n(\\\"line\\\"),{colorscale:l({},n(\\\"line\\\").colorscale,{dflt:a.Viridis}),autocolorscale:l({},n(\\\"line\\\").autocolorscale,{dflt:!1})}),{showscale:{valType:\\\"boolean\\\",dflt:!1},colorbar:i})}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/colorscale/scales\\\":621,\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/layout_attributes\\\":777,\\\"../../plots/font_attributes\\\":790}],994:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"./plot\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\"),s=t(\\\"./constants\\\");r.name=\\\"parcoords\\\",r.attr=\\\"type\\\",r.plot=function(t){var e=i.getSubplotCalcData(t.calcdata,\\\"parcoords\\\",\\\"parcoords\\\");e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"parcoords\\\"),a=e._has&&e._has(\\\"parcoords\\\");i&&!a&&(n._paperdiv.selectAll(\\\".parcoords-line-layers\\\").remove(),n._paperdiv.selectAll(\\\".parcoords-line-layers\\\").remove(),n._paperdiv.selectAll(\\\".parcoords\\\").remove(),n._paperdiv.selectAll(\\\".parcoords\\\").remove(),n._glimages.selectAll(\\\"*\\\").remove())},r.toSVG=function(t){function e(e){var n=this,i=n.toDataURL(\\\"image/png\\\"),a=r.append(\\\"svg:image\\\"),l=t._fullLayout._size,u=t._fullData[e.model.key].domain;a.attr({xmlns:o.svg,\\\"xlink:href\\\":i,x:l.l+l.w*u.x[0]-s.overdrag,y:l.t+l.h*(1-u.y[1]),width:(u.x[1]-u.x[0])*l.w+2*s.overdrag,height:(u.y[1]-u.y[0])*l.h,preserveAspectRatio:\\\"none\\\"})}var r=t._fullLayout._glimages,i=n.select(t).selectAll(\\\".svg-container\\\");i.filter(function(t,e){return e===i.size()-1}).selectAll(\\\".parcoords-lines.context, .parcoords-lines.focus\\\").each(e),window.setTimeout(function(){n.selectAll(\\\"#filterBarPattern\\\").attr(\\\"id\\\",\\\"filterBarPattern\\\")},60)}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../plots/plots\\\":829,\\\"./constants\\\":997,\\\"./plot\\\":1002,d3:121}],995:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArray(e.line.color),o=r?e.line.color:Array.apply(0,Array(e.dimensions.reduce(function(t,e){return Math.max(t,e.values.length)},0))).map(function(){return.5}),s=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,\\\"line\\\")&&i(e,e.line.color,\\\"line\\\",\\\"c\\\"),[{lineColor:o,cscale:s}]}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"../../lib\\\":725}],996:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.line,u=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+u).remove(),void 0===l||!l.showscale)return void a.autoMargin(t,u);var c=l.color,h=l.cmin,f=l.cmax;n(h)||(h=i.aggNums(Math.min,null,c)),n(f)||(f=i.aggNums(Math.max,null,c));var d=e[0].t.cb=s(t,u),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,h,f),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:h,end:f,size:(f-h)/254}).options(l.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],997:[function(t,e,r){\\\"use strict\\\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[\\\"contextLineLayer\\\",\\\"focusLineLayer\\\",\\\"pickLineLayer\\\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:\\\"magenta\\\",fillopacity:1,strokecolor:\\\"white\\\",strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0}}},{}],998:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){i(\\\"line.color\\\",r),s(t,\\\"line\\\")&&a.isArray(t.line.color)?(i(\\\"line.colorscale\\\"),l(t,e,n,i,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"})):i(\\\"line.color\\\",r)}function i(t,e){function r(t,e){return a.coerce(n,i,o.dimensions,t,e)}var n,i,s,l=t.dimensions||[],c=e.dimensions=[],h=1/0;for(l.length>u&&(a.log(\\\"parcoords traces support up to \\\"+u+\\\" dimensions at the moment\\\"),l.splice(u)),s=0;s<l.length;s++)if(n=l[s],i={},a.isPlainObject(n)){var f=r(\\\"values\\\"),d=r(\\\"visible\\\",f.length>0);d&&(r(\\\"label\\\"),r(\\\"tickvals\\\"),r(\\\"ticktext\\\"),r(\\\"tickformat\\\"),r(\\\"range\\\"),r(\\\"constraintrange\\\"),h=Math.min(h,i.values.length)),i._index=s,c.push(i)}if(isFinite(h))for(s=0;s<c.length;s++)i=c[s],i.visible&&i.values.length>h&&(i.values=i.values.slice(0,h));return c}var a=t(\\\"../../lib\\\"),o=t(\\\"./attributes\\\"),s=t(\\\"../../components/colorscale/has_colorscale\\\"),l=t(\\\"../../components/colorscale/defaults\\\"),u=t(\\\"./constants\\\").maxDimensionCount;e.exports=function(t,e,r,s){function l(r,n){return a.coerce(t,e,o,r,n)}var u=i(t,e);n(t,e,r,s,l),l(\\\"domain.x\\\"),l(\\\"domain.y\\\"),Array.isArray(u)&&u.length||(e.visible=!1);var c={family:s.font.family,size:Math.round(s.font.size*(10/12)),color:s.font.color};a.coerceFont(l,\\\"labelfont\\\",c),a.coerceFont(l,\\\"tickfont\\\",c),a.coerceFont(l,\\\"rangefont\\\",c)}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"../../lib\\\":725,\\\"./attributes\\\":993,\\\"./constants\\\":997}],999:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"parcoords\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"gl\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":993,\\\"./base_plot\\\":994,\\\"./calc\\\":995,\\\"./colorbar\\\":996,\\\"./defaults\\\":998,\\\"./plot\\\":1002}],1e3:[function(t,e,r){\\\"use strict\\\";function n(t){t.read({x:0,y:0,width:1,height:1,data:x})}function i(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function a(t,e,r,a,o,s){function l(n){var c;c=Math.min(a,o-n*a),s.offset=g*n*a,s.count=g*c,0===n&&(window.cancelAnimationFrame(r.currentRafs[u]),delete r.currentRafs[u],i(t,s.scissorX,s.scissorY,s.scissorWidth,s.viewBoxSize[1])),r.clearOnly||(e(s),n*a+c<o&&(r.currentRafs[u]=window.requestAnimationFrame(function(){l(n+1)})),r.drawCompleted=!1)}var u=s.key;r.drawCompleted||(n(t),r.drawCompleted=!0),l(0)}function o(t){return Math.max(m,Math.min(1-m,t))}function s(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?b:a).concat(r))}return n}function l(t,e){return(t>>>8*e)%256/255}function u(t,e,r,n){for(var i=[],a=0;a<t;a++)for(var s=0;s<v;s++)i.push(s<e?r[s].paddedUnitValues[a]:s===v-1?o(n[a]):s>=v-4?l(a,v-2-s):.5);return i}function c(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<g;a++)for(n=0;n<y;n++)o.push(e[i*v+r*y+n]),r*y+n===v-1&&a%2==0&&(o[o.length-1]*=-1);return o}function h(t,e){var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],n=r.map(function(r){return c(t,e,r)}),i={};return n.forEach(function(t,e){i[\\\"p\\\"+e.toString(16)]=t}),i}function f(t,e,r){return t+e<=r}var d=t(\\\"regl\\\"),p=t(\\\"./constants\\\").verticalPadding,m=1e-6,v=64,g=2,y=4,b=[119,119,119],x=new Uint8Array(4),_=new Uint8Array(4);e.exports=function(t,e,r,n,o,l,c,m,v,g){function y(t){j[0]=t[0],j[1]=t[1]}function b(t,e,i,a,o,s,l,u,c,h,d){var v,g,y,b,x=[t,e],_=p/s,w=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),M=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(v=0;v<2;v++)for(b=x[v],g=0;g<4;g++)for(y=0;y<16;y++){var k=y+16*g;w[v][g][y]=y+16*g===b?1:0,\\n\",\n       \"M[v][g][y]=(!m&&f(y,16*g,I)?A[0===k?0:1+(k-1)%(A.length-1)].filter[v]:v)+(2*v-1)*_}return{key:l,resolution:[r,n],viewBoxPosition:[i+z,a],viewBoxSize:[o,s],i:t,ii:e,dim1A:w[0][0],dim1B:w[0][1],dim1C:w[0][2],dim1D:w[0][3],dim2A:w[1][0],dim2B:w[1][1],dim2C:w[1][2],dim2D:w[1][3],loA:M[0][0],loB:M[0][1],loC:M[0][2],loD:M[0][3],hiA:M[1][0],hiB:M[1][1],hiC:M[1][2],hiD:M[1][3],colorClamp:j,scatter:u||0,scissorX:c===h?0:i+z,scissorWidth:(c===d?r-i+z:o+.5)+(c===h?i+z:0),scissorY:a,scissorHeight:s}}function x(t,o,s){var l,u,c,h=1/0,f=-1/0;for(l=0;l<I;l++)t[l].dim2.canvasX>f&&(f=t[l].dim2.canvasX,c=l),t[l].dim1.canvasX<h&&(h=t[l].dim1.canvasX,u=l);for(0===I&&i(O,0,0,r,n),l=0;l<I;l++){var d=t[l],p=d.dim1,m=p.crossfilterDimensionIndex,v=d.canvasX,y=d.canvasY,x=d.dim2,_=x.crossfilterDimensionIndex,w=d.panelSizeX,M=d.panelSizeY,A=v+w;if(o||!N[m]||N[m][0]!==v||N[m][1]!==A){N[m]=[v,A];var T=b(m,_,v,y,w,M,p.crossfilterDimensionIndex,g||p.scatter?1:0,l,u,c);k.clearOnly=s,a(O,F,k,o?e.blockLineCount:S,S,T)}}}function w(t,e){return O.read({x:t,y:e,width:1,height:1,data:_}),_}function M(t,e,r,n){var i=new Uint8Array(4*r*n);return O.read({x:t,y:e,width:r,height:n,data:i}),i}var k={currentRafs:{},drawCompleted:!0,clearOnly:!1},A=o.slice(),T=A.length,S=A[0]?A[0].values.length:0,E=m,L=v?e.color.map(function(t,r){return r/e.color.length}):e.color,C=Math.max(1/255,Math.pow(1/L.length,1/3)),z=e.canvasOverdrag,I=l.length,D=u(S,T,A,L),P=h(S,D),O=d({canvas:t,attributes:{preserveDrawingBuffer:!0,antialias:!v}}),R=O.texture({shape:[256,1],format:\\\"rgba\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\",data:s(c,m,Math.round(255*(m?C:1)))}),F=O({profile:!1,blend:{enable:E,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:!E,mask:!0,func:\\\"less\\\",range:[0,1]},cull:{enable:!0,face:\\\"back\\\"},scissor:{enable:!0,box:{x:O.prop(\\\"scissorX\\\"),y:O.prop(\\\"scissorY\\\"),width:O.prop(\\\"scissorWidth\\\"),height:O.prop(\\\"scissorHeight\\\")}},dither:!1,vert:v?\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // pick coloring\\\\n    fragColor = vec4(pf.rgb, 1.0);\\\\n}\\\\n\\\":\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // visible coloring\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\",frag:\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = fragColor;\\\\n}\\\\n\\\",primitive:\\\"lines\\\",lineWidth:1,attributes:P,uniforms:{resolution:O.prop(\\\"resolution\\\"),viewBoxPosition:O.prop(\\\"viewBoxPosition\\\"),viewBoxSize:O.prop(\\\"viewBoxSize\\\"),dim1A:O.prop(\\\"dim1A\\\"),dim2A:O.prop(\\\"dim2A\\\"),dim1B:O.prop(\\\"dim1B\\\"),dim2B:O.prop(\\\"dim2B\\\"),dim1C:O.prop(\\\"dim1C\\\"),dim2C:O.prop(\\\"dim2C\\\"),dim1D:O.prop(\\\"dim1D\\\"),dim2D:O.prop(\\\"dim2D\\\"),loA:O.prop(\\\"loA\\\"),hiA:O.prop(\\\"hiA\\\"),loB:O.prop(\\\"loB\\\"),hiB:O.prop(\\\"hiB\\\"),loC:O.prop(\\\"loC\\\"),hiC:O.prop(\\\"hiC\\\"),loD:O.prop(\\\"loD\\\"),hiD:O.prop(\\\"hiD\\\"),palette:R,colorClamp:O.prop(\\\"colorClamp\\\"),scatter:O.prop(\\\"scatter\\\")},offset:O.prop(\\\"offset\\\"),count:O.prop(\\\"count\\\")}),j=[0,1],N=[];return{setColorDomain:y,render:x,readPixel:w,readPixels:M,destroy:O.destroy}}},{\\\"./constants\\\":997,regl:498}],1001:[function(t,e,r){\\\"use strict\\\";function n(t){return t.key}function i(t){return[t]}function a(t){return!(\\\"visible\\\"in t)||t.visible}function o(t){var e=t.range?t.range[0]:w.min(t.values),r=t.range?t.range[1]:w.max(t.values);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function s(t,e){var r,n,i,a,o;for(r=0,n=t.range(),i=1/0,a=n[0],o;r<n.length;r++){if((o=Math.abs(n[r]-e))>i)return a;i=o,a=n[r]}return n[n.length-1]}function l(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}function u(t,e,r){var n=o(r),i=r.ticktext;return r.tickvals?w.scale.ordinal().domain(r.tickvals.map(l(w.format(r.tickformat),i))).range(r.tickvals.map(function(t){return(t-n[0])/(n[1]-n[0])}).map(function(r){return t-e+r*(e-(t-e))})):w.scale.linear().domain(n).range([t-e,e])}function c(t,e){return w.scale.linear().range([t-e,e])}function h(t){return w.scale.linear().domain(o(t))}function f(t){var e=o(t);return t.tickvals&&w.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}function d(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return t[1]}),n=r.map(function(t){return w.rgb(t)}),i=function(t){return function(e){return e[t]}},a=\\\"rgb\\\".split(\\\"\\\").map(function(t){return w.scale.linear().clamp(!0).domain(e).range(n.map(i(t)))});return function(t){return a.map(function(e){return e(t)})}}function p(t){return t[0]}function m(t,e,r){var n=p(e),i=n.trace,o=n.lineColor,s=n.cscale,l=i.line,u=i.domain,c=i.dimensions,f=t.width,m=i.labelfont,v=i.tickfont,g=i.rangefont,y=_.extendDeep({},l,{color:o.map(h({values:o,range:[l.cmin,l.cmax]})),blockLineCount:x.blockLineCount,canvasOverdrag:x.overdrag*x.canvasPixelRatio}),b=Math.floor(f*(u.x[1]-u.x[0])),w=Math.floor(t.height*(u.y[1]-u.y[0])),M=t.margin||{l:80,r:80,t:100,b:80},k=b,A=w;return{key:r,colCount:c.filter(a).length,dimensions:c,tickDistance:x.tickDistance,unitToColor:d(s),lines:y,labelFont:m,tickFont:v,rangeFont:g,translateX:u.x[0]*f,translateY:t.height-u.y[1]*t.height,pad:M,canvasWidth:k*x.canvasPixelRatio+2*y.canvasOverdrag,canvasHeight:A*x.canvasPixelRatio,width:k,height:A,canvasPixelRatio:x.canvasPixelRatio}}function v(t){var e=t.width,r=t.height,n=t.dimensions,i=t.canvasPixelRatio,o=function(r){return e*r/Math.max(1,t.colCount-1)},s=x.verticalPadding/(r*i),l=1-2*s,d=function(t){return s+l*t},p={key:t.key,xScale:o,model:t},m={};return p.dimensions=n.filter(a).map(function(e,n){var a=h(e),s=m[e.label];return m[e.label]=(s||0)+1,{key:e.label+(s?\\\"__\\\"+s:\\\"\\\"),label:e.label,tickFormat:e.tickformat,tickvals:e.tickvals,ticktext:e.ticktext,ordinal:!!e.tickvals,scatter:x.scatter||e.scatter,xIndex:n,crossfilterDimensionIndex:n,visibleIndex:e._index,height:r,values:e.values,paddedUnitValues:e.values.map(a).map(d),xScale:o,x:o(n),canvasX:o(n)*i,unitScale:c(r,x.verticalPadding),domainScale:u(r,x.verticalPadding,e),ordinalScale:f(e),domainToUnitScale:a,filter:e.constraintrange?e.constraintrange.map(a):[0,1],parent:p,model:t}}),p}function g(t){return x.layers.map(function(e){return{key:e,context:\\\"contextLineLayer\\\"===e,pick:\\\"pickLineLayer\\\"===e,viewModel:t,model:t.model}})}function y(t){t.classed(\\\"axisExtentText\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"user-select\\\",\\\"none\\\")}var b=t(\\\"./lines\\\"),x=t(\\\"./constants\\\"),_=t(\\\"../../lib\\\"),w=t(\\\"d3\\\"),M=t(\\\"../../components/drawing\\\");e.exports=function(t,e,r,a,o){function l(t){var e=t.selectAll(\\\"defs\\\").data(i,n);e.enter().append(\\\"defs\\\");var r=e.selectAll(\\\"#filterBarPattern\\\").data(i,n);r.enter().append(\\\"pattern\\\").attr(\\\"id\\\",\\\"filterBarPattern\\\").attr(\\\"patternUnits\\\",\\\"userSpaceOnUse\\\"),r.attr(\\\"x\\\",-x.bar.width).attr(\\\"width\\\",x.bar.capturewidth).attr(\\\"height\\\",function(t){return t.model.height});var a=r.selectAll(\\\"rect\\\").data(i,n);a.enter().append(\\\"rect\\\").attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),a.attr(\\\"height\\\",function(t){return t.model.height}).attr(\\\"width\\\",x.bar.width).attr(\\\"x\\\",x.bar.width/2).attr(\\\"fill\\\",x.bar.fillcolor).attr(\\\"fill-opacity\\\",x.bar.fillopacity).attr(\\\"stroke\\\",x.bar.strokecolor).attr(\\\"stroke-opacity\\\",x.bar.strokeopacity).attr(\\\"stroke-width\\\",x.bar.strokewidth)}function u(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function c(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a<1;a++)for(var o=0;o<i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],u=n[o+1];s.dim1=l,s.dim2=u,s.canvasX=l.canvasX,s.panelSizeX=u.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}}function h(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o<i;o++)for(var s=0;s<i;s++){var l=r[s+o*i]||(r[s+o*i]={}),u=n[s],c=n[s+1];l.dim1=n[o+1],l.dim2=c,l.canvasX=u.canvasX,l.panelSizeX=c.canvasX-u.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}function f(t,e){return(x.scatter?h:c)(t,e)}function d(t){return t.ordinal?function(){return\\\"\\\"}:w.format(t.tickFormat)}function _(){X=!0,T=!0}function k(t){S=!1;var e=t.parent,r=t.brush.extent(),n=e.dimensions,i=n[t.xIndex].filter,a=X&&r[0]===r[1];a&&(t.brush.clear(),w.select(this).select(\\\"rect.extent\\\").attr(\\\"y\\\",-100));var o=a?[0,1]:r.slice();if(o[0]!==i[0]||o[1]!==i[1]){n[t.xIndex].filter=o,e.focusLineLayer&&e.focusLineLayer.render(e.panels,!0);var s=u(e);!W&&s?(e.contextLineLayer&&e.contextLineLayer.render(e.panels,!0),W=!0):W&&!s&&(e.contextLineLayer&&e.contextLineLayer.render(e.panels,!0,!0),W=!1)}X=!1}function A(t){var e=t.parent,r=t.brush.extent(),n=r[0]===r[1],i=e.dimensions,a=i[t.xIndex].filter;if(!n&&t.ordinal&&(a[0]=s(t.ordinalScale,a[0]),a[1]=s(t.ordinalScale,a[1]),a[0]===a[1]&&(a[0]=Math.max(0,a[0]-.05),a[1]=Math.min(1,a[1]+.05)),w.select(this).transition().duration(150).call(t.brush.extent(a)),e.focusLineLayer.render(e.panels,!0)),e.pickLineLayer&&e.pickLineLayer.render(e.panels,!0),S=!0,T=\\\"ending\\\",o&&o.filterChanged){var l=t.domainToUnitScale.invert,u=a.map(l);o.filterChanged(e.key,t.visibleIndex,u)}}var T=!1,S=!0,E=r.filter(function(t){return p(t).trace.visible}).map(m.bind(0,a)).map(v);t.selectAll(\\\".parcoords-line-layers\\\").remove();var L=t.selectAll(\\\".parcoords-line-layers\\\").data(E,n);L.enter().insert(\\\"div\\\",\\\".\\\"+e.attr(\\\"class\\\").split(\\\" \\\").join(\\\" .\\\")).classed(\\\"parcoords-line-layers\\\",!0).style(\\\"box-sizing\\\",\\\"content-box\\\"),L.style(\\\"transform\\\",function(t){return\\\"translate(\\\"+(t.model.translateX-x.overdrag)+\\\"px,\\\"+t.model.translateY+\\\"px)\\\"});var C=L.selectAll(\\\".parcoords-lines\\\").data(g,n),z={renderers:[],dimensions:[]},I=null;C.enter().append(\\\"canvas\\\").attr(\\\"class\\\",function(t){return\\\"parcoords-lines \\\"+(t.context?\\\"context\\\":t.pick?\\\"pick\\\":\\\"focus\\\")}).style(\\\"box-sizing\\\",\\\"content-box\\\").style(\\\"float\\\",\\\"left\\\").style(\\\"clear\\\",\\\"both\\\").style(\\\"left\\\",0).style(\\\"overflow\\\",\\\"visible\\\").style(\\\"position\\\",function(t,e){return\\\"absolute\\\"}).filter(function(t){return t.pick}).on(\\\"mousemove\\\",function(t){if(S&&t.lineLayer&&o&&o.hover){var e=w.event,r=this.width,n=this.height,i=w.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),u=0!==l[3],c=u?l[2]+256*(l[1]+256*l[0]):null,h={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:c};c!==I&&(u?o.hover(h):o.unhover&&o.unhover(h),I=c)}}),C.style(\\\"margin\\\",function(t){var e=t.model.pad;return e.t+\\\"px \\\"+e.r+\\\"px \\\"+e.b+\\\"px \\\"+e.l+\\\"px\\\"}).attr(\\\"width\\\",function(t){return t.model.canvasWidth}).attr(\\\"height\\\",function(t){return t.model.canvasHeight}).style(\\\"width\\\",function(t){return t.model.width+2*x.overdrag+\\\"px\\\"}).style(\\\"height\\\",function(t){return t.model.height+\\\"px\\\"}).style(\\\"opacity\\\",function(t){return t.pick?.01:1}),e.style(\\\"background\\\",\\\"rgba(255, 255, 255, 0)\\\");var D=e.selectAll(\\\".parcoords\\\").data(E,n);D.exit().remove(),D.enter().append(\\\"g\\\").classed(\\\"parcoords\\\",!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\\\",\\\"none\\\").call(l),D.attr(\\\"width\\\",function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(\\\"height\\\",function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.translateX+\\\",\\\"+t.model.translateY+\\\")\\\"});var P=D.selectAll(\\\".parcoordsControlView\\\").data(i,n);P.enter().append(\\\"g\\\").classed(\\\"parcoordsControlView\\\",!0).style(\\\"box-sizing\\\",\\\"content-box\\\"),P.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.pad.l+\\\",\\\"+t.model.pad.t+\\\")\\\"});var O=P.selectAll(\\\".yAxis\\\").data(function(t){return t.dimensions},n);O.enter().append(\\\"g\\\").classed(\\\"yAxis\\\",!0).each(function(t){z.dimensions.push(t)}),P.each(function(t){f(O,t)}),C.each(function(t){t.lineLayer=b(this,t.model.lines,t.model.canvasWidth,t.model.canvasHeight,t.viewModel.dimensions,t.viewModel.panels,t.model.unitToColor,t.context,t.pick,x.scatter),t.viewModel[t.key]=t.lineLayer,z.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),O.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),O.call(w.behavior.drag().origin(function(t){return t}).on(\\\"drag\\\",function(t){var e=t.parent;S=!1,T||(t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,w.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,O.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}),f(O,e),O.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),w.select(this).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\", 0)\\\"),O.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLineLayer&&e.contextLineLayer.render(e.panels,!1,!u(e)),e.focusLineLayer.render&&e.focusLineLayer.render(e.panels))}).on(\\\"dragend\\\",function(t){var e=t.parent;if(T)return void(\\\"ending\\\"===T&&(T=!1));t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,f(O,e),w.select(this).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\", 0)\\\"}),e.contextLineLayer&&e.contextLineLayer.render(e.panels,!1,!u(e)),e.focusLineLayer&&e.focusLineLayer.render(e.panels),e.pickLineLayer&&e.pickLineLayer.render(e.panels,!0),S=!0,o&&o.axesMoved&&o.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),O.exit().remove();var R=O.selectAll(\\\".axisOverlays\\\").data(i,n);R.enter().append(\\\"g\\\").classed(\\\"axisOverlays\\\",!0),R.selectAll(\\\".axis\\\").remove();var F=R.selectAll(\\\".axis\\\").data(i,n);F.enter().append(\\\"g\\\").classed(\\\"axis\\\",!0),F.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();w.select(this).call(w.svg.axis().orient(\\\"left\\\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),M.font(F.selectAll(\\\"text\\\"),t.model.tickFont)}),F.selectAll(\\\".domain, .tick>line\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-opacity\\\",.25).attr(\\\"stroke-width\\\",\\\"1px\\\"),F.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=R.selectAll(\\\".axisHeading\\\").data(i,n);j.enter().append(\\\"g\\\").classed(\\\"axisHeading\\\",!0);var N=j.selectAll(\\\".axisTitle\\\").data(i,n);N.enter().append(\\\"text\\\").classed(\\\"axisTitle\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"ew-resize\\\").style(\\\"user-select\\\",\\\"none\\\").style(\\\"pointer-events\\\",\\\"auto\\\"),N.attr(\\\"transform\\\",\\\"translate(0,\\\"+-x.axisTitleOffset+\\\")\\\").text(function(t){return t.label}).each(function(t){M.font(N,t.model.labelFont)});var B=R.selectAll(\\\".axisExtent\\\").data(i,n);B.enter().append(\\\"g\\\").classed(\\\"axisExtent\\\",!0);var U=B.selectAll(\\\".axisExtentTop\\\").data(i,n);U.enter().append(\\\"g\\\").classed(\\\"axisExtentTop\\\",!0),U.attr(\\\"transform\\\",\\\"translate(0,\\\"+-x.axisExtentOffset+\\\")\\\");var V=U.selectAll(\\\".axisExtentTopText\\\").data(i,n);V.enter().append(\\\"text\\\").classed(\\\"axisExtentTopText\\\",!0).attr(\\\"alignment-baseline\\\",\\\"after-edge\\\").call(y),V.text(function(t){return d(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){M.font(V,t.model.rangeFont)});var H=B.selectAll(\\\".axisExtentBottom\\\").data(i,n);H.enter().append(\\\"g\\\").classed(\\\"axisExtentBottom\\\",!0),H.attr(\\\"transform\\\",function(t){return\\\"translate(0,\\\"+(t.model.height+x.axisExtentOffset)+\\\")\\\"});var q=H.selectAll(\\\".axisExtentBottomText\\\").data(i,n);q.enter().append(\\\"text\\\").classed(\\\"axisExtentBottomText\\\",!0).attr(\\\"alignment-baseline\\\",\\\"before-edge\\\").call(y),q.text(function(t){return d(t)(t.domainScale.domain()[0])}).each(function(t){M.font(q,t.model.rangeFont)});var G=R.selectAll(\\\".axisBrush\\\").data(i,n),Y=G.enter().append(\\\"g\\\").classed(\\\"axisBrush\\\",!0);G.each(function(t){t.brush||(t.brush=w.svg.brush().y(t.unitScale).on(\\\"brushstart\\\",_).on(\\\"brush\\\",k).on(\\\"brushend\\\",A),0===t.filter[0]&&1===t.filter[1]||t.brush.extent(t.filter),w.select(this).call(t.brush))}),Y.selectAll(\\\"rect\\\").attr(\\\"x\\\",-x.bar.capturewidth/2).attr(\\\"width\\\",x.bar.capturewidth),Y.selectAll(\\\"rect.extent\\\").attr(\\\"fill\\\",\\\"url(#filterBarPattern)\\\").style(\\\"cursor\\\",\\\"ns-resize\\\").filter(function(t){return 0===t.filter[0]&&1===t.filter[1]}).attr(\\\"y\\\",-100),Y.selectAll(\\\".resize rect\\\").attr(\\\"height\\\",x.bar.handleheight).attr(\\\"opacity\\\",0).style(\\\"visibility\\\",\\\"visible\\\"),Y.selectAll(\\\".resize.n rect\\\").style(\\\"cursor\\\",\\\"n-resize\\\").attr(\\\"y\\\",x.bar.handleoverlap-x.bar.handleheight),Y.selectAll(\\\".resize.s rect\\\").style(\\\"cursor\\\",\\\"s-resize\\\").attr(\\\"y\\\",x.bar.handleoverlap);var X=!1,W=!1;return z}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"./constants\\\":997,\\\"./lines\\\":1e3,d3:121}],1002:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./parcoords\\\");e.exports=function(t,e){var r=t._fullLayout,i=r._paper,a=r._paperdiv,o={},s={},l=r._size;e.forEach(function(e,r){o[r]=t.data[r].dimensions,s[r]=t.data[r].dimensions.slice()});var u=function(e,r,n){var i=s[e][r],a=i.constraintrange;a&&2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],t.emit(\\\"plotly_restyle\\\")},c=function(e){t.emit(\\\"plotly_hover\\\",e)},h=function(e){t.emit(\\\"plotly_unhover\\\",e)},f=function(e,r){function n(t){return!(\\\"visible\\\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(s[e].filter(n));o[e].sort(a),s[e].filter(function(t){return!n(t)}).sort(function(t){return s[e].indexOf(t)}).forEach(function(t){o[e].splice(o[e].indexOf(t),1),o[e].splice(s[e].indexOf(t),0,t)}),t.emit(\\\"plotly_restyle\\\")};n(a,i,e,{width:l.w,height:l.h,margin:{t:l.t,r:l.r,b:l.b,l:l.l}},{filterChanged:u,hover:c,unhover:h,axesMoved:f})}},{\\\"./parcoords\\\":1001}],1003:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color/attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={labels:{valType:\\\"data_array\\\"},label0:{valType:\\\"number\\\",dflt:0},dlabel:{valType:\\\"number\\\",dflt:1},values:{valType:\\\"data_array\\\"},marker:{colors:{valType:\\\"data_array\\\"},line:{color:{valType:\\\"color\\\",dflt:n.defaultLine,arrayOk:!0},width:{valType:\\\"number\\\",min:0,dflt:0,arrayOk:!0}}},text:{valType:\\\"data_array\\\"},hovertext:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},scalegroup:{valType:\\\"string\\\",dflt:\\\"\\\"},textinfo:{valType:\\\"flaglist\\\",flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\"],extras:[\\\"none\\\"]},hoverinfo:o({},a.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"auto\\\",arrayOk:!0},textfont:o({},i,{}),insidetextfont:o({},i,{}),outsidetextfont:o({},i,{}),domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},hole:{valType:\\\"number\\\",min:0,max:1,dflt:0},sort:{valType:\\\"boolean\\\",dflt:!0},direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"],dflt:\\\"counterclockwise\\\"},rotation:{valType:\\\"number\\\",min:-360,max:360,dflt:0},pull:{valType:\\\"number\\\",min:0,max:1,dflt:0,arrayOk:!0}}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../../plots/font_attributes\\\":790}],1004:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&!0===a.visible&&r.push(i)}return r}var i=t(\\\"../../registry\\\");r.name=\\\"pie\\\",r.plot=function(t){var e=i.getModule(\\\"pie\\\"),r=n(t.calcdata,e);r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"pie\\\"),a=e._has&&e._has(\\\"pie\\\");i&&!a&&n._pielayer.selectAll(\\\"g.trace\\\").remove()}},{\\\"../../registry\\\":844}],1005:[function(t,e,r){\\\"use strict\\\";function n(t){if(!l){var e=o.defaults;l=e.slice();var r;for(r=0;r<e.length;r++)l.push(a(e[r]).lighten(20).toHexString());for(r=0;r<o.defaults.length;r++)l.push(a(e[r]).darken(20).toHexString())}return l[t%l.length]}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"./helpers\\\");e.exports=function(t,e){var r,l,u,c,h,f,d=e.values,p=e.labels,m=[],v=t._fullLayout,g=v._piecolormap,y={},b=!1,x=0,_=v.hiddenlabels||[];if(e.dlabel)for(p=new Array(d.length),r=0;r<d.length;r++)p[r]=String(e.label0+r*e.dlabel);for(r=0;r<d.length;r++)l=d[r],i(l)&&((l=+l)<0||(u=p[r],void 0!==u&&\\\"\\\"!==u||(u=r),u=String(u),void 0===y[u]&&(y[u]=!0,c=a(e.marker.colors[r]),c.isValid()?(c=o.addOpacity(c,c.getAlpha()),g[u]||(g[u]=c)):g[u]?c=g[u]:(c=!1,b=!0),h=-1!==_.indexOf(u),h||(x+=l),m.push({v:l,label:u,color:c,i:r,hidden:h}))));if(e.sort&&m.sort(function(t,e){return e.v-t.v}),b)for(r=0;r<m.length;r++)f=m[r],!1===f.color&&(g[f.label]=f.color=n(v._piedefaultcolorcount),v._piedefaultcolorcount++);if(m[0]&&(m[0].vTotal=x),e.textinfo&&\\\"none\\\"!==e.textinfo){var w,M=-1!==e.textinfo.indexOf(\\\"label\\\"),k=-1!==e.textinfo.indexOf(\\\"text\\\"),A=-1!==e.textinfo.indexOf(\\\"value\\\"),T=-1!==e.textinfo.indexOf(\\\"percent\\\"),S=v.separators;for(r=0;r<m.length;r++)f=m[r],w=M?[f.label]:[],k&&e.text[f.i]&&w.push(e.text[f.i]),A&&w.push(s.formatPieValue(f.v,S)),T&&w.push(s.formatPiePercent(f.v/x,S)),f.text=w.join(\\\"<br>\\\")}return m};var l},{\\\"../../components/color\\\":603,\\\"./helpers\\\":1007,\\\"fast-isnumeric\\\":130,tinycolor2:533}],1006:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(\\\"values\\\");if(!Array.isArray(l)||!l.length)return void(e.visible=!1);var u=o(\\\"labels\\\");Array.isArray(u)||(o(\\\"label0\\\"),o(\\\"dlabel\\\")),o(\\\"marker.line.width\\\")&&o(\\\"marker.line.color\\\");var c=o(\\\"marker.colors\\\");Array.isArray(c)||(e.marker.colors=[]),o(\\\"scalegroup\\\");var h=o(\\\"text\\\"),f=o(\\\"textinfo\\\",Array.isArray(h)?\\\"text+percent\\\":\\\"percent\\\");if(o(\\\"hovertext\\\"),f&&\\\"none\\\"!==f){var d=o(\\\"textposition\\\"),p=Array.isArray(d)||\\\"auto\\\"===d,m=p||\\\"inside\\\"===d,v=p||\\\"outside\\\"===d;if(m||v){var g=s(o,\\\"textfont\\\",a.font);m&&s(o,\\\"insidetextfont\\\",g),v&&s(o,\\\"outsidetextfont\\\",g)}}o(\\\"domain.x\\\"),o(\\\"domain.y\\\"),o(\\\"hole\\\"),o(\\\"sort\\\"),o(\\\"direction\\\"),o(\\\"rotation\\\"),o(\\\"pull\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":1003}],1007:[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)}},{\\\"../../lib\\\":725}],1008:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.styleOne=t(\\\"./style_one\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pie\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"pie\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":1003,\\\"./base_plot\\\":1004,\\\"./calc\\\":1005,\\\"./defaults\\\":1006,\\\"./layout_attributes\\\":1009,\\\"./layout_defaults\\\":1010,\\\"./plot\\\":1011,\\\"./style\\\":1012,\\\"./style_one\\\":1013}],1009:[function(t,e,r){\\\"use strict\\\";e.exports={hiddenlabels:{valType:\\\"data_array\\\"}}},{}],1010:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e){!function(r,a){n.coerce(t,e,i,r,a)}(\\\"hiddenlabels\\\")}},{\\\"../../lib\\\":725,\\\"./layout_attributes\\\":1009}],1011:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=i(e,r),u={scale:l*r.r*2/n,rCenter:1-l,rotate:0};if(u.scale>=1)return u;var c=a+1/(2*Math.tan(o)),h=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),s/(Math.sqrt(a*a+s/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/r.r)-h*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),m=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),v={scale:2*m/t.width,rCenter:Math.cos(m/r.r)-m/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},g=v.scale>f.scale?v:f;return u.scale<1&&g.scale>u.scale?g:u}function i(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function a(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function o(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}var i,a,o,s,l,u,c,h,f,d,p,m,v;for(a=0;a<2;a++)for(o=a?r:n,l=a?Math.max:Math.min,c=a?1:-1,i=0;i<2;i++){for(s=i?Math.max:Math.min,u=i?1:-1,h=t[a][i],h.sort(o),f=t[1-a][i],d=f.concat(h),m=[],p=0;p<h.length;p++)void 0!==h[p].yLabelMid&&m.push(h[p]);for(v=!1,p=0;a&&p<f.length;p++)if(void 0!==f[p].yLabelMid){v=f[p];break}for(p=0;p<m.length;p++){var g=p&&m[p-1];v&&!p&&(g=v),function(t,r){r||(r={});var n,i,o,h,f,p,m=r.labelExtraY+(a?r.yLabelMax:r.yLabelMin),v=a?t.yLabelMin:t.yLabelMax,g=a?t.yLabelMax:t.yLabelMin,y=t.cyFinal+l(t.px0[1],t.px1[1]),b=m-v;if(b*c>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(i=0;i<d.length;i++)(o=d[i])===t||(e.pull[t.i]||0)>=e.pull[o.i]||((t.pxmid[1]-o.pxmid[1])*c>0?(h=o.cyFinal+l(o.px0[1],o.px1[1]),(b=h-v-t.labelExtraY)*c>0&&(t.labelExtraY+=b)):(g+t.labelExtraY-y)*c>0&&(n=3*u*Math.abs(i-d.indexOf(t)),f=o.cxFinal+s(o.px0[0],o.px1[0]),(p=f+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*u>0&&(t.labelExtraX+=p)))}(m[p],g)}}}function s(t,e){var r,n,i,a,o,s,l,c,h,f,d=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.tiltaxis*Math.PI/180,c=s.pull,Array.isArray(c))for(c=0,a=0;a<s.pull.length;a++)s.pull[a]>c&&(c=s.pull[a]);o.r=Math.min(r/u(s.tilt,Math.sin(l),s.depth),n/u(s.tilt,Math.cos(l),s.depth))/(2+2*c),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===d.indexOf(s.scalegroup)&&d.push(s.scalegroup)}for(a=0;a<d.length;a++){for(f=1/0,h=d[a],i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(f=Math.min(f,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(o.r=Math.sqrt(f*o.vTotal))}}function l(t){function e(t){var e=h.r*Math.sin(t),r=-h.r*Math.cos(t);return d?[e*(1-s*n*n)+r*o*s,e*o*s+r*(1-s*i*i),Math.sin(a)*(r*i-e*n)]:[e,r]}var r,n,i,a,o,s,l,u,c,h=t[0],f=h.trace,d=f.tilt,p=f.rotation*Math.PI/180,m=2*Math.PI/h.vTotal,v=\\\"px0\\\",g=\\\"px1\\\";if(\\\"counterclockwise\\\"===f.direction){for(l=0;l<t.length&&t[l].hidden;l++);if(l===t.length)return;p+=m*t[l].v,m*=-1,v=\\\"px1\\\",g=\\\"px0\\\"}for(d&&(a=d*Math.PI/180,r=f.tiltaxis*Math.PI/180,o=Math.sin(r)*Math.cos(r),s=1-Math.cos(a),n=Math.sin(r),i=Math.cos(r)),c=e(p),l=0;l<t.length;l++)u=t[l],u.hidden||(u[v]=c,p+=m*u.v/2,u.pxmid=e(p),u.midangle=p,p+=m*u.v/2,c=e(p),u[g]=c,u.largeArc=u.v>h.vTotal/2?1:0)}function u(t,e,r){if(!t)return 1;var n=Math.sin(t*Math.PI/180);return Math.max(.01,r*n*Math.abs(e)+2*Math.sqrt(1-n*n*e*e))}var c=t(\\\"d3\\\"),h=t(\\\"../../components/fx\\\"),f=t(\\\"../../components/color\\\"),d=t(\\\"../../components/drawing\\\"),p=t(\\\"../../lib/svg_text_utils\\\"),m=t(\\\"./helpers\\\");e.exports=function(t,e){var r=t._fullLayout;s(e,r._size);var u=r._pielayer.selectAll(\\\"g.trace\\\").data(e);u.enter().append(\\\"g\\\").attr({\\\"stroke-linejoin\\\":\\\"round\\\",class:\\\"trace\\\"}),u.exit().remove(),u.order(),u.each(function(e){\\n\",\n       \"var s=c.select(this),u=e[0],v=u.trace,g=(v.depth||0)*u.r*Math.sin(0)/2,y=v.tiltaxis||0,b=y*Math.PI/180,x=[g*Math.sin(b),g*Math.cos(b)],_=u.r*Math.cos(0),w=s.selectAll(\\\"g.part\\\").data(v.tilt?[\\\"top\\\",\\\"sides\\\"]:[\\\"top\\\"]);w.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return t+\\\" part\\\"}),w.exit().remove(),w.order(),l(e),s.selectAll(\\\".top\\\").each(function(){var s=c.select(this).selectAll(\\\"g.slice\\\").data(e);s.enter().append(\\\"g\\\").classed(\\\"slice\\\",!0),s.exit().remove();var l=[[[],[]],[[],[]]],g=!1;s.each(function(e){function o(n){n.originalEvent=c.event;var a=t._fullLayout,o=t._fullData[v.index],s=h.castHoverinfo(o,a,e.i);if(\\\"all\\\"===s&&(s=\\\"label+text+value+percent+name\\\"),t._dragging||!1===a.hovermode||\\\"none\\\"===s||\\\"skip\\\"===s||!s)return void h.hover(t,n,\\\"pie\\\");var l=i(e,u),f=w+e.pxmid[0]*(1-l),d=M+e.pxmid[1]*(1-l),p=r.separators,g=[];-1!==s.indexOf(\\\"label\\\")&&g.push(e.label),-1!==s.indexOf(\\\"text\\\")&&(o.hovertext?g.push(Array.isArray(o.hovertext)?o.hovertext[e.i]:o.hovertext):o.text&&o.text[e.i]&&g.push(o.text[e.i])),-1!==s.indexOf(\\\"value\\\")&&g.push(m.formatPieValue(e.v,p)),-1!==s.indexOf(\\\"percent\\\")&&g.push(m.formatPiePercent(e.v/u.vTotal,p)),h.loneHover({x0:f-l*u.r,x1:f+l*u.r,y:d,text:g.join(\\\"<br>\\\"),name:-1!==s.indexOf(\\\"name\\\")?o.name:void 0,idealAlign:e.pxmid[0]<0?\\\"left\\\":\\\"right\\\",color:h.castHoverOption(v,e.i,\\\"bgcolor\\\")||e.color,borderColor:h.castHoverOption(v,e.i,\\\"bordercolor\\\"),fontFamily:h.castHoverOption(v,e.i,\\\"font.family\\\"),fontSize:h.castHoverOption(v,e.i,\\\"font.size\\\"),fontColor:h.castHoverOption(v,e.i,\\\"font.color\\\")},{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:t}),h.hover(t,n,\\\"pie\\\"),T=!0}function s(e){e.originalEvent=c.event,t.emit(\\\"plotly_unhover\\\",{event:c.event,points:[e]}),T&&(h.loneUnhover(r._hoverlayer.node()),T=!1)}function f(){t._hoverdata=[e],t._hoverdata.trace=u.trace,h.click(t,c.event)}function b(t,r,n,i){return\\\"a\\\"+i*u.r+\\\",\\\"+i*_+\\\" \\\"+y+\\\" \\\"+e.largeArc+(n?\\\" 1 \\\":\\\" 0 \\\")+i*(r[0]-t[0])+\\\",\\\"+i*(r[1]-t[1])}if(e.hidden)return void c.select(this).selectAll(\\\"path,g\\\").remove();e.pointNumber=e.i,e.curveNumber=v.index,l[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var w=u.cx+x[0],M=u.cy+x[1],k=c.select(this),A=k.selectAll(\\\"path.surface\\\").data([e]),T=!1;if(A.enter().append(\\\"path\\\").classed(\\\"surface\\\",!0).style({\\\"pointer-events\\\":\\\"all\\\"}),k.select(\\\"path.textline\\\").remove(),k.on(\\\"mouseover\\\",o).on(\\\"mouseout\\\",s).on(\\\"click\\\",f),v.pull){var S=+(Array.isArray(v.pull)?v.pull[e.i]:v.pull)||0;S>0&&(w+=S*e.pxmid[0],M+=S*e.pxmid[1])}e.cxFinal=w,e.cyFinal=M;var E=v.hole;if(e.v===u.vTotal){var L=\\\"M\\\"+(w+e.px0[0])+\\\",\\\"+(M+e.px0[1])+b(e.px0,e.pxmid,!0,1)+b(e.pxmid,e.px0,!0,1)+\\\"Z\\\";E?A.attr(\\\"d\\\",\\\"M\\\"+(w+E*e.px0[0])+\\\",\\\"+(M+E*e.px0[1])+b(e.px0,e.pxmid,!1,E)+b(e.pxmid,e.px0,!1,E)+\\\"Z\\\"+L):A.attr(\\\"d\\\",L)}else{var C=b(e.px0,e.px1,!0,1);if(E){var z=1-E;A.attr(\\\"d\\\",\\\"M\\\"+(w+E*e.px1[0])+\\\",\\\"+(M+E*e.px1[1])+b(e.px1,e.px0,!1,E)+\\\"l\\\"+z*e.px0[0]+\\\",\\\"+z*e.px0[1]+C+\\\"Z\\\")}else A.attr(\\\"d\\\",\\\"M\\\"+w+\\\",\\\"+M+\\\"l\\\"+e.px0[0]+\\\",\\\"+e.px0[1]+C+\\\"Z\\\")}var I=Array.isArray(v.textposition)?v.textposition[e.i]:v.textposition,D=k.selectAll(\\\"g.slicetext\\\").data(e.text&&\\\"none\\\"!==I?[0]:[]);D.enter().append(\\\"g\\\").classed(\\\"slicetext\\\",!0),D.exit().remove(),D.each(function(){var r=c.select(this).selectAll(\\\"text\\\").data([0]);r.enter().append(\\\"text\\\").attr(\\\"data-notex\\\",1),r.exit().remove(),r.text(e.text).attr({class:\\\"slicetext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\"}).call(d.font,\\\"outside\\\"===I?v.outsidetextfont:v.insidetextfont).call(p.convertToTspans,t);var i,o=d.bBox(r.node());\\\"outside\\\"===I?i=a(o,e):(i=n(o,e,u),\\\"auto\\\"===I&&i.scale<1&&(r.call(d.font,v.outsidetextfont),v.outsidetextfont.family===v.insidetextfont.family&&v.outsidetextfont.size===v.insidetextfont.size||(o=d.bBox(r.node())),i=a(o,e)));var s=w+e.pxmid[0]*i.rCenter+(i.x||0),l=M+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=l-o.height/2,e.yLabelMid=l,e.yLabelMax=l+o.height/2,e.labelExtraX=0,e.labelExtraY=0,g=!0),r.attr(\\\"transform\\\",\\\"translate(\\\"+s+\\\",\\\"+l+\\\")\\\"+(i.scale<1?\\\"scale(\\\"+i.scale+\\\")\\\":\\\"\\\")+(i.rotate?\\\"rotate(\\\"+i.rotate+\\\")\\\":\\\"\\\")+\\\"translate(\\\"+-(o.left+o.right)/2+\\\",\\\"+-(o.top+o.bottom)/2+\\\")\\\")})}),g&&o(l,v),s.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=c.select(this),r=e.select(\\\"g.slicetext text\\\");r.attr(\\\"transform\\\",\\\"translate(\\\"+t.labelExtraX+\\\",\\\"+t.labelExtraY+\\\")\\\"+r.attr(\\\"transform\\\"));var n=t.cxFinal+t.pxmid[0],i=t.cyFinal+t.pxmid[1],a=\\\"M\\\"+n+\\\",\\\"+i,o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var s=t.labelExtraX*t.pxmid[1]/t.pxmid[0],l=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(s)>Math.abs(l)?a+=\\\"l\\\"+l*t.pxmid[0]/t.pxmid[1]+\\\",\\\"+l+\\\"H\\\"+(n+t.labelExtraX+o):a+=\\\"l\\\"+t.labelExtraX+\\\",\\\"+s+\\\"v\\\"+(l-s)+\\\"h\\\"+o}else a+=\\\"V\\\"+(t.yLabelMid+t.labelExtraY)+\\\"h\\\"+o;e.append(\\\"path\\\").classed(\\\"textline\\\",!0).call(f.stroke,v.outsidetextfont.color).attr({\\\"stroke-width\\\":Math.min(2,v.outsidetextfont.size/8),d:a,fill:\\\"none\\\"})}})})}),setTimeout(function(){u.selectAll(\\\"tspan\\\").each(function(){var t=c.select(this);t.attr(\\\"dy\\\")&&t.attr(\\\"dy\\\",t.attr(\\\"dy\\\"))})},0)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/fx\\\":644,\\\"../../lib/svg_text_utils\\\":745,\\\"./helpers\\\":1007,d3:121}],1012:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"./style_one\\\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\\\".trace\\\").each(function(t){var e=t[0],r=e.trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\\\".top path.surface\\\").each(function(t){n.select(this).call(i,t,r)})})}},{\\\"./style_one\\\":1013,d3:121}],1013:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\");e.exports=function(t,e,r){var i=r.marker.line.color;Array.isArray(i)&&(i=i[e.i]||n.defaultLine);var a=r.marker.line.width||0;Array.isArray(a)&&(a=a[e.i]||0),t.style({\\\"stroke-width\\\":a}).call(n.fill,e.color).call(n.stroke,i)}},{\\\"../../components/color\\\":603}],1014:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergl/attributes\\\");e.exports={x:n.x,y:n.y,xy:{valType:\\\"data_array\\\"},indices:{valType:\\\"data_array\\\"},xbounds:{valType:\\\"data_array\\\"},ybounds:{valType:\\\"data_array\\\"},text:n.text,marker:{color:{valType:\\\"color\\\",arrayOk:!1},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1,arrayOk:!1},blend:{valType:\\\"boolean\\\",dflt:null},sizemin:{valType:\\\"number\\\",min:.1,max:2,dflt:.5},sizemax:{valType:\\\"number\\\",min:.1,dflt:20},border:{color:{valType:\\\"color\\\",arrayOk:!1},arearatio:{valType:\\\"number\\\",min:0,max:1,dflt:0}}}}},{\\\"../scattergl/attributes\\\":1071}],1015:[function(t,e,r){\\\"use strict\\\";function n(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=a(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}function i(t,e){var r=new n(t,e.uid);return r.update(e),r}var a=t(\\\"gl-pointcloud2d\\\"),o=t(\\\"../../lib/str2rgbarray\\\"),s=t(\\\"../scatter/get_trace_color\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\"],u=n.prototype;u.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}},u.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=s(t,{})},u.updateFast=function(t){var e,r,n,i,a,s,l=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,c=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,f=t.indices,d=this.bounds;if(c){if(n=c,e=c.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s<e;s++)i=n[2*s],a=n[2*s+1],i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);if(f)r=f;else for(r=new Int32Array(e),s=0;s<e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s<e;s++)i=l[s],a=u[s],r[s]=s,n[2*s]=i,n[2*s+1]=a,i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=o(t.marker.color),m=o(t.marker.border.color),v=t.opacity*t.marker.opacity;p[3]*=v,this.pointcloudOptions.color=p;var g=t.marker.blend;if(null===g){g=l.length<100||u.length<100}this.pointcloudOptions.blend=g,m[3]*=v,this.pointcloudOptions.borderColor=m;var y=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,b/2)},u.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o<2;o++)r=this.scene[l[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},u.dispose=function(){this.pointcloud.dispose()},e.exports=i},{\\\"../../lib/str2rgbarray\\\":744,\\\"../scatter/get_trace_color\\\":1035,\\\"gl-pointcloud2d\\\":229}],1016:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\\\"x\\\"),a(\\\"y\\\"),a(\\\"xbounds\\\"),a(\\\"ybounds\\\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\\\"text\\\"),a(\\\"marker.color\\\",r),a(\\\"marker.opacity\\\"),a(\\\"marker.blend\\\"),a(\\\"marker.sizemin\\\"),a(\\\"marker.sizemax\\\"),a(\\\"marker.border.color\\\",r),a(\\\"marker.border.arearatio\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":1014}],1017:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../scatter3d/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pointcloud\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl2d\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":806,\\\"../scatter3d/calc\\\":1051,\\\"./attributes\\\":1014,\\\"./convert\\\":1015,\\\"./defaults\\\":1016}],1018:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/shapes/attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../components/color/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports={hoverinfo:s({},a.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},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:i,node:{label:{valType:\\\"data_array\\\",dflt:[]},color:s({},n.fillcolor,{arrayOk:!0}),line:{color:{valType:\\\"color\\\",dflt:o.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}},link:{label:{valType:\\\"data_array\\\",dflt:[]},color:s({},n.fillcolor,{arrayOk:!0}),line:{color:{valType:\\\"color\\\",dflt:o.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:[]}}}},{\\\"../../components/color/attributes\\\":602,\\\"../../components/shapes/attributes\\\":679,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../../plots/font_attributes\\\":790}],1019:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/plots\\\"),i=t(\\\"./plot\\\");r.name=\\\"sankey\\\",r.attr=\\\"type\\\",r.plot=function(t){var e=n.getSubplotCalcData(t.calcdata,\\\"sankey\\\",\\\"sankey\\\");e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"sankey\\\"),a=e._has&&e._has(\\\"sankey\\\");i&&!a&&n._paperdiv.selectAll(\\\".sankey\\\").remove()}},{\\\"../../plots/plots\\\":829,\\\"./plot\\\":1024}],1020:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=t.map(function(){return[]}),a=0;a<Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;n[e[a]].push(r[a])}return i(n).components.some(function(t){return t.length>1})}var i=t(\\\"strongly-connected-components\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e){return n(e.node.label,e.link.source,e.link.target)&&(a.error(\\\"Circularity is present in the Sankey data. Removing all nodes and links.\\\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),[{link:e.link,node:e.node}]}},{\\\"../../lib\\\":725,\\\"strongly-connected-components\\\":527}],1021:[function(t,e,r){\\\"use strict\\\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\\\"cubic-in-out\\\"}},{}],1022:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../components/color/attributes\\\").defaults,o=t(\\\"../../components/color\\\"),s=t(\\\"tinycolor2\\\");e.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,i,r,a)}u(\\\"node.label\\\"),u(\\\"node.pad\\\"),u(\\\"node.thickness\\\"),u(\\\"node.line.color\\\"),u(\\\"node.line.width\\\");var c=function(t){return a[t%a.length]};u(\\\"node.color\\\",e.node.label.map(function(t,e){return o.addOpacity(c(e),.8)})),u(\\\"link.label\\\"),u(\\\"link.source\\\"),u(\\\"link.target\\\"),u(\\\"link.value\\\"),u(\\\"link.line.color\\\"),u(\\\"link.line.width\\\"),u(\\\"link.color\\\",e.link.value.map(function(){return s(l.paper_bgcolor).getLuminance()<.333?\\\"rgba(255, 255, 255, 0.6)\\\":\\\"rgba(0, 0, 0, 0.2)\\\"})),u(\\\"domain.x\\\"),u(\\\"domain.y\\\"),u(\\\"orientation\\\"),u(\\\"valueformat\\\"),u(\\\"valuesuffix\\\"),u(\\\"arrangement\\\"),n.coerceFont(u,\\\"textfont\\\",n.extendFlat({},l.font));var h=function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)};e.node.label.some(h)&&n.warn(\\\"Some of the nodes are neither sources nor targets, they will not be displayed.\\\")}},{\\\"../../components/color\\\":603,\\\"../../components/color/attributes\\\":602,\\\"../../lib\\\":725,\\\"./attributes\\\":1018,tinycolor2:533}],1023:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"sankey\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":1018,\\\"./base_plot\\\":1019,\\\"./calc\\\":1020,\\\"./defaults\\\":1022,\\\"./plot\\\":1024}],1024:[function(t,e,r){\\\"use strict\\\";function n(t){return\\\"\\\"!==t}function i(t,e){return t.filter(function(t){return t.key===e.traceId})}function a(t,e){p.select(t).select(\\\"path\\\").style(\\\"fill-opacity\\\",e),p.select(t).select(\\\"rect\\\").style(\\\"fill-opacity\\\",e)}function o(t){p.select(t).select(\\\"text.name\\\").style(\\\"fill\\\",\\\"black\\\")}function s(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function l(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function u(t,e,r){e&&r&&i(r,e).selectAll(\\\".sankeyLink\\\").filter(s(e)).call(h.bind(0,e,r,!1))}function c(t,e,r){e&&r&&i(r,e).selectAll(\\\".sankeyLink\\\").filter(s(e)).call(f.bind(0,e,r,!1))}function h(t,e,r,n){var a=n.datum().link.label;n.style(\\\"fill-opacity\\\",.4),a&&i(e,t).selectAll(\\\".sankeyLink\\\").filter(function(t){return t.link.label===a}).style(\\\"fill-opacity\\\",.4),r&&i(e,t).selectAll(\\\".sankeyNode\\\").filter(l(t)).call(u)}function f(t,e,r,n){var a=n.datum().link.label;n.style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),a&&i(e,t).selectAll(\\\".sankeyLink\\\").filter(function(t){return t.link.label===a}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),r&&i(e,t).selectAll(\\\".sankeyNode\\\").filter(l(t)).call(c)}function d(t,e){var r=t.hoverlabel||{},n=y.nestedProperty(r,e).get();return!Array.isArray(n)&&n}var p=t(\\\"d3\\\"),m=t(\\\"./render\\\"),v=t(\\\"../../components/fx\\\"),g=t(\\\"../../components/color\\\"),y=t(\\\"../../lib\\\");e.exports=function(t,e){var r=t._fullLayout,i=r._paper,s=r._size,l=function(e,r){var n=r.link;n.originalEvent=p.event,t._hoverdata=[n],v.click(t,{target:!0})},y=function(e,r,n){var i=r.link;i.originalEvent=p.event,p.select(e).call(h.bind(0,r,n,!0)),v.hover(t,i,\\\"sankey\\\")},b=function(e,i){var s=i.link.trace,l=t.getBoundingClientRect(),u=e.getBoundingClientRect(),c=u.left+u.width/2,h=u.top+u.height/2,f=v.loneHover({x:c-l.left,y:h-l.top,name:p.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label,[\\\"Source:\\\",i.link.source.label].join(\\\" \\\"),[\\\"Target:\\\",i.link.target.label].join(\\\" \\\")].filter(n).join(\\\"<br>\\\"),color:d(s,\\\"bgcolor\\\")||g.addOpacity(i.tinyColorHue,1),borderColor:d(s,\\\"bordercolor\\\"),fontFamily:d(s,\\\"font.family\\\"),fontSize:d(s,\\\"font.size\\\"),fontColor:d(s,\\\"font.color\\\"),idealAlign:p.event.x<c?\\\"right\\\":\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(f,.65),o(f)},x=function(e,n,i){p.select(e).call(f.bind(0,n,i,!0)),t.emit(\\\"plotly_unhover\\\",{event:p.event,points:[n.link]}),v.loneUnhover(r._hoverlayer.node())},_=function(e,r,n){var i=r.node;i.originalEvent=p.event,t._hoverdata=[i],p.select(e).call(c,r,n),v.click(t,{target:!0})},w=function(e,r,n){var i=r.node;i.originalEvent=p.event,p.select(e).call(u,r,n),v.hover(t,i,\\\"sankey\\\")},M=function(e,i){var s=i.node.trace,l=p.select(e).select(\\\".nodeRect\\\"),u=t.getBoundingClientRect(),c=l.node().getBoundingClientRect(),h=c.left-2-u.left,f=c.right+2-u.left,m=c.top+c.height/4-u.top,g=v.loneHover({x0:h,x1:f,y:m,name:p.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,[\\\"Incoming flow count:\\\",i.node.targetLinks.length].join(\\\" \\\"),[\\\"Outgoing flow count:\\\",i.node.sourceLinks.length].join(\\\" \\\")].filter(n).join(\\\"<br>\\\"),color:d(s,\\\"bgcolor\\\")||i.tinyColorHue,borderColor:d(s,\\\"bordercolor\\\"),fontFamily:d(s,\\\"font.family\\\"),fontSize:d(s,\\\"font.size\\\"),fontColor:d(s,\\\"font.color\\\"),idealAlign:\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(g,.85),o(g)},k=function(e,n,i){p.select(e).call(c,n,i),t.emit(\\\"plotly_unhover\\\",{event:p.event,points:[n.node]}),v.loneUnhover(r._hoverlayer.node())};m(i,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},{linkEvents:{hover:y,follow:b,unhover:x,select:l},nodeEvents:{hover:w,follow:M,unhover:k,select:_}})}},{\\\"../../components/color\\\":603,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"./render\\\":1025,d3:121}],1025:[function(t,e,r){\\\"use strict\\\";function n(t){return t.key}function i(t){return[t]}function a(t){return t[0]}function o(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);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)}function s(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function l(t){return function(e){return e.node.originalX===t.node.originalX}}function u(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function c(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}function h(t,e,r){for(var n,i=a(e).trace,o=i.domain,s=i.node,l=i.link,c=i.arrangement,h=\\\"h\\\"===i.orientation,f=i.node.pad,d=i.node.thickness,p=i.node.line.color,m=i.node.line.width,v=i.link.line.color,g=i.link.line.width,y=i.valueformat,b=i.valuesuffix,x=i.textfont,_=t.width*(o.x[1]-o.x[0]),w=t.height*(o.y[1]-o.y[0]),M=s.label.map(function(t,e){return{pointNumber:e,label:t,color:B.isArray(s.color)?s.color[e]:s.color}}),k=l.value.map(function(t,e){return{pointNumber:e,label:l.label[e],color:B.isArray(l.color)?l.color[e]:l.color,source:l.source[e],target:l.target[e],value:t}}),A=j().size(h?[_,w]:[w,_]).nodeWidth(d).nodePadding(f).nodes(M).links(k).layout(D.sankeyIterations),T=A.nodes(),S=0;S<T.length;S++)n=T[S],n.width=_,n.height=w;return u(M),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:h,width:_,height:w,nodePad:f,nodeLineColor:p,nodeLineWidth:m,linkLineColor:v,linkLineWidth:g,valueFormat:y,valueSuffix:b,textFont:x,translateX:o.x[0]*_+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:h?w:_,dragPerpendicular:h?_:w,nodes:M,links:k,arrangement:c,sankey:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function f(t,e,r){var n=O(r.color),i=r.source.label+\\\"|\\\"+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+\\\"__\\\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:R.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}function d(t,e,r){var n=O(r.color),i=D.nodePadAcross,a=e.nodePad/2,o=r.dx+.5,s=r.dy-.5,l=r.label,u=t[l];t[l]=(u||0)+1;var c=l+\\\"__\\\"+t[l];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:c,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:Math.ceil(s),zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:s+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()<=128,tinyColorHue:R.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,c].join(\\\" \\\"),interactionState:e.interactionState}}function p(t){P.select(t.node().parentNode).style(\\\"shape-rendering\\\",\\\"crispEdges\\\")}function m(t){t.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+(t.node.x-.5)+\\\", \\\"+(t.node.y-t.node.dy/2+.5)+\\\")\\\"})}function v(t){var e=t.sankey.nodes();c(e);var r=t.sankey.link()(t.link);return u(e),r}function g(t){P.select(t.node().parentNode).style(\\\"shape-rendering\\\",\\\"optimizeSpeed\\\"),t.call(m)}function y(t,e){t.call(g),e.attr(\\\"d\\\",v)}function b(t){t.attr(\\\"width\\\",function(t){return t.visibleWidth}).attr(\\\"height\\\",function(t){return t.visibleHeight})}function x(t){return t.link.dy>1||t.linkLineWidth>0}function _(t){return\\\"translate(\\\"+t.translateX+\\\",\\\"+t.translateY+\\\")\\\"+(t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\")}function w(t){return\\\"translate(\\\"+(t.horizontal?0:t.labelY)+\\\" \\\"+(t.horizontal?t.labelY:0)+\\\")\\\"}function M(t){return P.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+D.nodeTextOffsetHorizontal:D.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-D.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-D.nodeTextOffsetHorizontal,0]])}function k(t){return t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\"}function A(t){return t.horizontal?\\\"scale(1 1)\\\":\\\"scale(-1 1)\\\"}function T(t){return t.darkBackground&&!t.horizontal?\\\"rgb(255,255,255)\\\":\\\"rgb(0,0,0)\\\"}function S(t){return t.horizontal&&t.left?\\\"100%\\\":\\\"0%\\\"}function E(t,e,r){t.on(\\\".basic\\\",null).on(\\\"mouseover.basic\\\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\\\"mousemove.basic\\\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\\\"mouseout.basic\\\",function(t){t.interactionState.dragInProgress||(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||r.select(this,t,e)})}function L(t,e,r){var n=P.behavior.drag().origin(function(t){return t.node}).on(\\\"dragstart\\\",function(n){if(\\\"fixed\\\"!==n.arrangement&&(this.parentNode.appendChild(this),n.interactionState.dragInProgress=n.node,s(n.node),n.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,n.interactionState.hovered),n.interactionState.hovered=!1),\\\"snap\\\"===n.arrangement)){var i=n.traceId+\\\"|\\\"+Math.floor(n.node.originalX);n.forceLayouts[i]?n.forceLayouts[i].alpha(1):C(t,i,n),z(t,e,n,i)}}).on(\\\"drag\\\",function(r){if(\\\"fixed\\\"!==r.arrangement){var n=P.event.x,i=P.event.y;\\\"snap\\\"===r.arrangement?(r.node.x=n,r.node.y=i):(\\\"freeform\\\"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,i))),s(r.node),\\\"snap\\\"!==r.arrangement&&(r.sankey.relayout(),y(t.filter(l(r)),e),t.call(p))}}).on(\\\"dragend\\\",function(t){t.interactionState.dragInProgress=!1});t.on(\\\".drag\\\",null).call(n)}function C(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=N.forceSimulation(n).alphaDecay(0).force(\\\"collide\\\",N.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(D.forceIterations)).force(\\\"constrain\\\",I(t,e,n,r)).stop()}function z(t,e,r,n){window.requestAnimationFrame(function i(){for(var a=0;a<D.forceTicksPerFrame;a++)r.forceLayouts[n].tick();r.sankey.relayout(),y(t.filter(l(r)),e),r.forceLayouts[n].alpha()>0&&window.requestAnimationFrame(i)})}function I(t,e,r,n){return function(){for(var i=0,a=0;a<r.length;a++){var o=r[a];o===n.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/D.forceTicksPerFrame,o.y=Math.min(n.size-o.dy/2,Math.max(o.dy/2,o.y))),i=Math.max(i,Math.abs(o.vx),Math.abs(o.vy))}!n.interactionState.dragInProgress&&i<.1&&n.forceLayouts[e].alpha()>0&&(n.forceLayouts[e].alpha(0),window.setTimeout(function(){t.call(p)},30))}}var D=t(\\\"./constants\\\"),P=t(\\\"d3\\\"),O=t(\\\"tinycolor2\\\"),R=t(\\\"../../components/color\\\"),F=t(\\\"../../components/drawing\\\"),j=t(\\\"@plotly/d3-sankey\\\").sankey,N=t(\\\"d3-force\\\"),B=t(\\\"../../lib\\\");e.exports=function(t,e,r,s){var l=t.selectAll(\\\".sankey\\\").data(e.filter(function(t){return a(t).trace.visible}).map(h.bind(null,r)),n);l.exit().remove(),l.enter().append(\\\"g\\\").classed(\\\"sankey\\\",!0).style(\\\"box-sizing\\\",\\\"content-box\\\").style(\\\"position\\\",\\\"absolute\\\").style(\\\"left\\\",0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\").style(\\\"pointer-events\\\",\\\"auto\\\").style(\\\"box-sizing\\\",\\\"content-box\\\").attr(\\\"transform\\\",_),l.transition().ease(D.ease).duration(D.duration).attr(\\\"transform\\\",_);var u=l.selectAll(\\\".sankeyLinks\\\").data(i,n);u.enter().append(\\\"g\\\").classed(\\\"sankeyLinks\\\",!0).style(\\\"fill\\\",\\\"none\\\");var c=u.selectAll(\\\".sankeyLink\\\").data(function(t){var e={};return t.sankey.links().filter(function(t){return t.value}).map(f.bind(null,e,t))},n);c.enter().append(\\\"path\\\").classed(\\\"sankeyLink\\\",!0).attr(\\\"d\\\",v).call(E,l,s.linkEvents),c.style(\\\"stroke\\\",function(t){return x(t)?R.tinyRGB(O(t.linkLineColor)):t.tinyColorHue}).style(\\\"stroke-opacity\\\",function(t){return x(t)?R.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\\\"stroke-width\\\",function(t){return x(t)?t.linkLineWidth:1}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),c.transition().ease(D.ease).duration(D.duration).attr(\\\"d\\\",v),c.exit().transition().ease(D.ease).duration(D.duration).style(\\\"opacity\\\",0).remove();var p=l.selectAll(\\\".sankeyNodeSet\\\").data(i,n);p.enter().append(\\\"g\\\").style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\").classed(\\\"sankeyNodeSet\\\",!0),p.style(\\\"cursor\\\",function(t){switch(t.arrangement){case\\\"fixed\\\":return\\\"default\\\";case\\\"perpendicular\\\":return\\\"ns-resize\\\";default:return\\\"move\\\"}});var g=p.selectAll(\\\".sankeyNode\\\").data(function(t){var e=t.sankey.nodes(),r={};return o(e),e.filter(function(t){return t.value}).map(d.bind(null,r,t))},n);g.enter().append(\\\"g\\\").classed(\\\"sankeyNode\\\",!0).call(m).call(E,l,s.nodeEvents),g.call(L,c,s),g.transition().ease(D.ease).duration(D.duration).call(m),g.exit().transition().ease(D.ease).duration(D.duration).style(\\\"opacity\\\",0).remove();var y=g.selectAll(\\\".nodeRect\\\").data(i);y.enter().append(\\\"rect\\\").classed(\\\"nodeRect\\\",!0).call(b),y.style(\\\"stroke-width\\\",function(t){return t.nodeLineWidth}).style(\\\"stroke\\\",function(t){return R.tinyRGB(O(t.nodeLineColor))}).style(\\\"stroke-opacity\\\",function(t){return R.opacity(t.nodeLineColor)}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),y.transition().ease(D.ease).duration(D.duration).call(b);var C=g.selectAll(\\\".nodeCapture\\\").data(i);C.enter().append(\\\"rect\\\").classed(\\\"nodeCapture\\\",!0).style(\\\"fill-opacity\\\",0),C.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 z=g.selectAll(\\\".nodeCentered\\\").data(i);z.enter().append(\\\"g\\\").classed(\\\"nodeCentered\\\",!0).attr(\\\"transform\\\",w),z.transition().ease(D.ease).duration(D.duration).attr(\\\"transform\\\",w);var I=z.selectAll(\\\".nodeLabelGuide\\\").data(i);I.enter().append(\\\"path\\\").classed(\\\"nodeLabelGuide\\\",!0).attr(\\\"id\\\",function(t){return t.uniqueNodeLabelPathId}).attr(\\\"d\\\",M).attr(\\\"transform\\\",k),I.transition().ease(D.ease).duration(D.duration).attr(\\\"d\\\",M).attr(\\\"transform\\\",k);var P=z.selectAll(\\\".nodeLabel\\\").data(i);P.enter().append(\\\"text\\\").classed(\\\"nodeLabel\\\",!0).attr(\\\"transform\\\",A).style(\\\"user-select\\\",\\\"none\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"fill\\\",\\\"black\\\"),P.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){F.font(P,t.textFont)}),P.transition().ease(D.ease).duration(D.duration).attr(\\\"transform\\\",A);var j=P.selectAll(\\\".nodeLabelTextPath\\\").data(i);j.enter().append(\\\"textPath\\\").classed(\\\"nodeLabelTextPath\\\",!0).attr(\\\"alignment-baseline\\\",\\\"middle\\\").attr(\\\"xlink:href\\\",function(t){return\\\"#\\\"+t.uniqueNodeLabelPathId}).attr(\\\"startOffset\\\",S).style(\\\"fill\\\",T),j.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\\\"}),j.transition().ease(D.ease).duration(D.duration).attr(\\\"startOffset\\\",S).style(\\\"fill\\\",T)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"./constants\\\":1021,\\\"@plotly/d3-sankey\\\":37,d3:121,\\\"d3-force\\\":117,tinycolor2:533}],1026:[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\\\"),n.mergeArray(e.customdata,t,\\\"data\\\"),n.mergeArray(e.textposition,t,\\\"tp\\\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\\\"ts\\\"),n.mergeArray(e.textfont.color,t,\\\"tc\\\"),n.mergeArray(e.textfont.family,t,\\\"tf\\\"));var i=e.marker;if(i){n.mergeArray(i.size,t,\\\"ms\\\"),n.mergeArray(i.opacity,t,\\\"mo\\\"),n.mergeArray(i.symbol,t,\\\"mx\\\"),n.mergeArray(i.color,t,\\\"mc\\\");var a=i.line;i.line&&(n.mergeArray(a.color,t,\\\"mlc\\\"),n.mergeArray(a.width,t,\\\"mlw\\\"));var o=i.gradient;o&&\\\"none\\\"!==o.type&&(n.mergeArray(o.type,t,\\\"mgt\\\"),n.mergeArray(o.color,t,\\\"mgc\\\"))}}},{\\\"../../lib\\\":725}],1027:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/errorbars/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../components/drawing\\\"),l=(t(\\\"./constants\\\"),t(\\\"../../lib/extend\\\").extendFlat);e.exports={x:{valType:\\\"data_array\\\"},x0:{valType:\\\"any\\\",dflt:0},dx:{valType:\\\"number\\\",dflt:1},y:{valType:\\\"data_array\\\"},y0:{valType:\\\"any\\\",dflt:0},dy:{valType:\\\"number\\\",dflt:1},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},hovertext:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\",\\\"text\\\"],extras:[\\\"none\\\"]},hoveron:{valType:\\\"flaglist\\\",flags:[\\\"points\\\",\\\"fills\\\"]},line:{color:{valType:\\\"color\\\"},width:{valType:\\\"number\\\",min:0,dflt:2},shape:{valType:\\\"enumerated\\\",values:[\\\"linear\\\",\\\"spline\\\",\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"],dflt:\\\"linear\\\"},smoothing:{valType:\\\"number\\\",min:0,max:1.3,dflt:1},dash:o,simplify:{valType:\\\"boolean\\\",dflt:!0}},connectgaps:{valType:\\\"boolean\\\",dflt:!1},cliponaxis:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"doplot\\\"},fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"tozeroy\\\",\\\"tozerox\\\",\\\"tonexty\\\",\\\"tonextx\\\",\\\"toself\\\",\\\"tonext\\\"],dflt:\\\"none\\\"},fillcolor:{valType:\\\"color\\\"},marker:l({},{symbol:{valType:\\\"enumerated\\\",values:s.symbolList,dflt:\\\"circle\\\",arrayOk:!0},opacity:{valType:\\\"number\\\",min:0,max:1,arrayOk:!0},size:{valType:\\\"number\\\",min:0,dflt:6,arrayOk:!0},maxdisplayed:{valType:\\\"number\\\",min:0,dflt:0},sizeref:{valType:\\\"number\\\",dflt:1},sizemin:{valType:\\\"number\\\",min:0,dflt:0},sizemode:{valType:\\\"enumerated\\\",values:[\\\"diameter\\\",\\\"area\\\"],dflt:\\\"diameter\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1},colorbar:a,line:l({},{width:{valType:\\\"number\\\",min:0,arrayOk:!0}},n(\\\"marker.line\\\")),gradient:{type:{valType:\\\"enumerated\\\",\\n\",\n       \"values:[\\\"radial\\\",\\\"horizontal\\\",\\\"vertical\\\",\\\"none\\\"],arrayOk:!0,dflt:\\\"none\\\"},color:{valType:\\\"color\\\",arrayOk:!0}}},n(\\\"marker\\\")),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},textfont:{family:{valType:\\\"string\\\",noBlank:!0,strict:!0,arrayOk:!0},size:{valType:\\\"number\\\",min:1,arrayOk:!0},color:{valType:\\\"color\\\",arrayOk:!0}},r:{valType:\\\"data_array\\\"},t:{valType:\\\"data_array\\\"},error_y:i,error_x:i}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/drawing\\\":627,\\\"../../components/drawing/attributes\\\":626,\\\"../../components/errorbars/attributes\\\":629,\\\"../../lib/extend\\\":716,\\\"./constants\\\":1032}],1028:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"./subtypes\\\"),s=t(\\\"./colorscale_calc\\\"),l=t(\\\"./arrays_to_calcdata\\\");e.exports=function(t,e){var r,u,c,h=i.getFromId(t,e.xaxis||\\\"x\\\"),f=i.getFromId(t,e.yaxis||\\\"y\\\"),d=h.makeCalcdata(e,\\\"x\\\"),p=f.makeCalcdata(e,\\\"y\\\"),m=Math.min(d.length,p.length);h._minDtick=0,f._minDtick=0,d.length>m&&d.splice(m,d.length-m),p.length>m&&p.splice(m,p.length-m);var v={padded:!0},g={padded:!0};if(o.hasMarkers(e)){if(r=e.marker,u=r.size,Array.isArray(u)){var y={type:\\\"linear\\\"};i.setConvert(y),u=y.makeCalcdata(e.marker,\\\"size\\\"),u.length>m&&u.splice(m,u.length-m)}var b,x=1.6*(e.marker.sizeref||1);b=\\\"area\\\"===e.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/x),3)}:function(t){return Math.max((t||0)/x,3)},v.ppad=g.ppad=Array.isArray(u)?u.map(b):b(u)}s(e),!(\\\"tozerox\\\"===e.fill||\\\"tonextx\\\"===e.fill&&t.firstscatter)||d[0]===d[m-1]&&p[0]===p[m-1]?e.error_y.visible||-1===[\\\"tonexty\\\",\\\"tozeroy\\\"].indexOf(e.fill)&&(o.hasMarkers(e)||o.hasText(e))||(v.padded=!1,v.ppad=0):v.tozero=!0,!(\\\"tozeroy\\\"===e.fill||\\\"tonexty\\\"===e.fill&&t.firstscatter)||d[0]===d[m-1]&&p[0]===p[m-1]?-1!==[\\\"tonextx\\\",\\\"tozerox\\\"].indexOf(e.fill)&&(g.padded=!1):g.tozero=!0,i.expand(h,d,v),i.expand(f,p,g);var _=new Array(m);for(c=0;c<m;c++)_[c]=n(d[c])&&n(p[c])?{x:d[c],y:p[c]}:{x:a,y:a},e.ids&&(_[c].id=String(e.ids[c]));return l(_,e),t.firstscatter=!1,_}},{\\\"../../constants/numerical\\\":705,\\\"../../plots/cartesian/axes\\\":766,\\\"./arrays_to_calcdata\\\":1026,\\\"./colorscale_calc\\\":1031,\\\"./subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1029:[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 i=e-1;i>=0;i--){var a=t[i];if(\\\"scatter\\\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1030:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.marker,u=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+u).remove(),void 0===l||!l.showscale)return void a.autoMargin(t,u);var c=l.color,h=l.cmin,f=l.cmax;n(h)||(h=i.aggNums(Math.min,null,c)),n(f)||(f=i.aggNums(Math.max,null,c));var d=e[0].t.cb=s(t,u),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,h,f),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:h,end:f,size:(f-h)/254}).options(l.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],1031:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"./subtypes\\\");e.exports=function(t){a.hasLines(t)&&n(t,\\\"line\\\")&&i(t,t.line.color,\\\"line\\\",\\\"c\\\"),a.hasMarkers(t)&&(n(t,\\\"marker\\\")&&i(t,t.marker.color,\\\"marker\\\",\\\"c\\\"),n(t,\\\"marker.line\\\")&&i(t,t.marker.line.color,\\\"marker.line\\\",\\\"c\\\"))}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"./subtypes\\\":1047}],1032:[function(t,e,r){\\\"use strict\\\";e.exports={PTS_LINESONLY:20}},{}],1033:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./constants\\\"),o=t(\\\"./subtypes\\\"),s=t(\\\"./xy_defaults\\\"),l=t(\\\"./marker_defaults\\\"),u=t(\\\"./line_defaults\\\"),c=t(\\\"./line_shape_defaults\\\"),h=t(\\\"./text_defaults\\\"),f=t(\\\"./fillcolor_defaults\\\"),d=t(\\\"../../components/errorbars/defaults\\\");e.exports=function(t,e,r,p){function m(r,a){return n.coerce(t,e,i,r,a)}var v=s(t,e,p,m),g=v<a.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\";if(!v)return void(e.visible=!1);m(\\\"text\\\"),m(\\\"hovertext\\\"),m(\\\"mode\\\",g),o.hasLines(e)&&(u(t,e,r,p,m),c(t,e,m),m(\\\"connectgaps\\\"),m(\\\"line.simplify\\\")),o.hasMarkers(e)&&l(t,e,r,p,m,{gradient:!0}),o.hasText(e)&&h(t,e,p,m);var y=[];(o.hasMarkers(e)||o.hasText(e))&&(m(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),m(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(f(t,e,r,m),o.hasLines(e)||c(t,e,m)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||y.push(\\\"fills\\\"),m(\\\"hoveron\\\",y.join(\\\"+\\\")||\\\"points\\\"),d(t,e,r,{axis:\\\"y\\\"}),d(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),m(\\\"cliponaxis\\\")}},{\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"./attributes\\\":1027,\\\"./constants\\\":1032,\\\"./fillcolor_defaults\\\":1034,\\\"./line_defaults\\\":1038,\\\"./line_shape_defaults\\\":1040,\\\"./marker_defaults\\\":1043,\\\"./subtypes\\\":1047,\\\"./text_defaults\\\":1048,\\\"./xy_defaults\\\":1049}],1034:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\");e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&&!Array.isArray(o)?a=o:s&&!Array.isArray(s)&&(a=s)}i(\\\"fillcolor\\\",n.addOpacity((e.line||{}).color||a||r,.5))}},{\\\"../../components/color\\\":603}],1035:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"./subtypes\\\");e.exports=function(t,e){var r,a;if(\\\"lines\\\"===t.mode)return r=t.line.color,r&&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 a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\\\"\\\",a?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color,r&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor)}},{\\\"../../components/color\\\":603,\\\"./subtypes\\\":1047}],1036:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/errorbars\\\"),o=t(\\\"./get_trace_color\\\"),s=t(\\\"../../components/color\\\"),l=i.constants.MAXDIST;e.exports=function(t,e,r,u){var c=t.cd,h=c[0].trace,f=t.xa,d=t.ya,p=f.c2p(e),m=d.c2p(r),v=[p,m],g=h.hoveron||\\\"\\\";if(-1!==g.indexOf(\\\"points\\\")){var y=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.x)-p)-e,1-3/e)},b=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(d.c2p(t.y)-m)-e,1-3/e)},x=function(t){var e=Math.max(3,t.mrc||0),r=f.c2p(t.x)-p,n=d.c2p(t.y)-m;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)},_=i.getDistanceFunction(u,y,b,x);if(i.getClosest(c,_,t),!1!==t.index){var w=c[t.index],M=f.c2p(w.x,!0),k=d.c2p(w.y,!0),A=w.mrc||1;return n.extendFlat(t,{color:o(h,w),x0:M-A,x1:M+A,xLabelVal:w.x,y0:k-A,y1:k+A,yLabelVal:w.y}),w.htx?t.text=w.htx:h.hovertext?t.text=h.hovertext:w.tx?t.text=w.tx:h.text&&(t.text=h.text),a.hoverInfo(w,h,t),[t]}}if(-1!==g.indexOf(\\\"fills\\\")&&h._polygons){var T,S,E,L,C,z,I,D,P,O=h._polygons,R=[],F=!1,j=1/0,N=-1/0,B=1/0,U=-1/0;for(T=0;T<O.length;T++)E=O[T],E.contains(v)&&(F=!F,R.push(E),B=Math.min(B,E.ymin),U=Math.max(U,E.ymax));if(F){B=Math.max(B,0),U=Math.min(U,d._length);var V=(B+U)/2;for(T=0;T<R.length;T++)for(L=R[T].pts,S=1;S<L.length;S++)D=L[S-1][1],P=L[S][1],D>V!=P>=V&&(z=L[S-1][0],I=L[S][0],C=z+(I-z)*(V-D)/(P-D),j=Math.min(j,C),N=Math.max(N,C));j=Math.max(j,0),N=Math.min(N,f._length);var H=s.defaultLine;return s.opacity(h.fillcolor)?H=h.fillcolor:s.opacity((h.line||{}).color)&&(H=h.line.color),n.extendFlat(t,{distance:l+10,x0:j,x1:N,y0:V,y1:V,color:H}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars\\\":633,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"./get_trace_color\\\":1035}],1037:[function(t,e,r){\\\"use strict\\\";var n={},i=t(\\\"./subtypes\\\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.cleanData=t(\\\"./clean_data\\\"),n.calc=t(\\\"./calc\\\"),n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.animatable=!0,n.moduleType=\\\"trace\\\",n.name=\\\"scatter\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./arrays_to_calcdata\\\":1026,\\\"./attributes\\\":1027,\\\"./calc\\\":1028,\\\"./clean_data\\\":1029,\\\"./colorbar\\\":1030,\\\"./defaults\\\":1033,\\\"./hover\\\":1036,\\\"./plot\\\":1044,\\\"./select\\\":1045,\\\"./style\\\":1046,\\\"./subtypes\\\":1047}],1038:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,a,o,s){var l=(t.marker||{}).color;if(o(\\\"line.color\\\",r),n(t,\\\"line\\\"))i(t,e,a,o,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"});else{o(\\\"line.color\\\",!Array.isArray(l)&&l||r)}o(\\\"line.width\\\"),(s||{}).noDash||o(\\\"line.dash\\\")}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616}],1039:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e){function r(e){var r=_.c2p(t[e].x),i=w.c2p(t[e].y);return r!==n&&i!==n&&[r,i]}function i(t){var e=t[0]/_._length,r=t[1]/w._length;return(1+10*Math.max(0,-e,e-1,-r,r-1))*A}var a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_=e.xaxis,w=e.yaxis,M=e.simplify,k=e.connectGaps,A=e.baseTolerance,T=e.linear,S=[],E=.2,L=new Array(t.length),C=0;for(M||(A=E=-1),a=0;a<t.length;a++)if(o=r(a)){for(C=0,L[C++]=o,a++;a<t.length;a++){if(!(l=r(a))){if(k)continue;break}if(T){if(!((h=function(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}(l,o))<i(l)*E)){for(d=[(l[0]-o[0])/h,(l[1]-o[1])/h],u=o,m=h,v=y=b=0,f=!1,s=l,a++;a<t.length;a++){if(!(c=r(a))){if(k)continue;break}if(p=[c[0]-o[0],c[1]-o[1]],x=p[0]*d[1]-p[1]*d[0],y=Math.min(y,x),(b=Math.max(b,x))-y>i(c))break;s=c,g=p[0]*d[0]+p[1]*d[1],g>m?(m=g,l=c,f=!1):g<v&&(v=g,u=c,f=!0)}if(f?(L[C++]=l,s!==u&&(L[C++]=u)):(u!==o&&(L[C++]=u),s!==l&&(L[C++]=l)),L[C++]=s,a>=t.length||!c)break;L[C++]=c,o=c}}else L[C++]=l}S.push(L.slice(0,C))}return S}},{\\\"../../constants/numerical\\\":705}],1040:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){\\\"spline\\\"===r(\\\"line.shape\\\")&&r(\\\"line.smoothing\\\")}},{}],1041:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var n,i,a=null,o=0;o<r.length;++o)n=r[o],i=n[0].trace,!0===i.visible?(i._nexttrace=null,-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(i.fill)&&(i._prevtrace=a,a&&(a._nexttrace=i)),a=i):i._prevtrace=i._nexttrace=null}},{}],1042:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\\\"area\\\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\\\"fast-isnumeric\\\":130}],1043:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./subtypes\\\");e.exports=function(t,e,r,s,l,u){var c,h=o.isBubble(t),f=(t.line||{}).color;if(u=u||{},f&&(r=f),l(\\\"marker.symbol\\\"),l(\\\"marker.opacity\\\",h?.7:1),l(\\\"marker.size\\\"),l(\\\"marker.color\\\",r),i(t,\\\"marker\\\")&&a(t,e,s,l,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),u.noLine||(c=f&&!Array.isArray(f)&&e.marker.color!==f?f:h?n.background:n.defaultLine,l(\\\"marker.line.color\\\",c),i(t,\\\"marker.line\\\")&&a(t,e,s,l,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),l(\\\"marker.line.width\\\",h?1:0)),h&&(l(\\\"marker.sizeref\\\"),l(\\\"marker.sizemin\\\"),l(\\\"marker.sizemode\\\")),u.gradient){\\\"none\\\"!==l(\\\"marker.gradient.type\\\")&&l(\\\"marker.gradient.color\\\")}}},{\\\"../../components/color\\\":603,\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"./subtypes\\\":1047}],1044:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n;e.selectAll(\\\"g.trace\\\").each(function(t){var e=o.select(this);if(n=t[0].trace,n._nexttrace){if(n._nextFill=e.select(\\\".js-fill.js-tonext\\\"),!n._nextFill.size()){var i=\\\":first-child\\\";e.select(\\\".js-fill.js-tozero\\\").size()&&(i+=\\\" + *\\\"),n._nextFill=e.insert(\\\"path\\\",i).attr(\\\"class\\\",\\\"js-fill js-tonext\\\")}}else e.selectAll(\\\".js-fill.js-tonext\\\").remove(),n._nextFill=null;n.fill&&(\\\"tozero\\\"===n.fill.substr(0,6)||\\\"toself\\\"===n.fill||\\\"to\\\"===n.fill.substr(0,2)&&!n._prevtrace)?(n._ownFill=e.select(\\\".js-fill.js-tozero\\\"),n._ownFill.size()||(n._ownFill=e.insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"js-fill js-tozero\\\"))):(e.selectAll(\\\".js-fill.js-tozero\\\").remove(),n._ownFill=null),e.selectAll(\\\".js-fill\\\").call(l.setClipUrl,r.layerClipId)})}function i(t,e,r,n,i,f,p){function m(t){return M?t.transition():t}function v(t){return t.filter(function(t){return t.vis})}function g(t){return t.id}function y(t){if(t.ids)return g}function b(){return!1}function x(e){var n,i,a,u=e[0].trace,h=o.select(this),f=c.hasMarkers(u),d=c.hasText(u),p=y(u),g=b,x=b;f&&(g=u.marker.maxdisplayed||u._needsCull?v:s.identity),d&&(x=u.marker.maxdisplayed||u._needsCull?v:s.identity),i=h.selectAll(\\\"path.point\\\"),n=i.data(g,p);var _=n.enter().append(\\\"path\\\").classed(\\\"point\\\",!0);M&&_.call(l.pointStyle,u,t).call(l.translatePoints,k,A).style(\\\"opacity\\\",0).transition().style(\\\"opacity\\\",1);var w=f&&l.tryColorscale(u.marker,\\\"\\\"),T=f&&l.tryColorscale(u.marker,\\\"line\\\");n.order(),n.each(function(e){var n=o.select(this),i=m(n);a=l.translatePoint(e,i,k,A),a?(l.singlePointStyle(e,i,u,w,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,k,A),u.customdata&&n.classed(\\\"plotly-customdata\\\",null!==e.data&&void 0!==e.data)):i.remove()}),M?n.exit().transition().style(\\\"opacity\\\",0).remove():n.exit().remove(),i=h.selectAll(\\\"g\\\"),n=i.data(x,p),n.enter().append(\\\"g\\\").classed(\\\"textpoint\\\",!0).append(\\\"text\\\"),n.order(),n.each(function(t){var e=o.select(this),n=m(e.select(\\\"text\\\"));a=l.translatePoint(t,n,k,A),a?r.layerClipId&&l.hideOutsideRangePoint(t,e,k,A):e.remove()}),n.selectAll(\\\"text\\\").call(l.textPointStyle,u,t).each(function(t){var e=k.c2p(t.x),r=A.c2p(t.y);o.select(this).selectAll(\\\"tspan.line\\\").each(function(){m(o.select(this)).attr({x:e,y:r})})}),n.exit().remove()}var _,w;a(t,e,r,n,i);var M=!!p&&p.duration>0,k=r.xaxis,A=r.yaxis,T=n[0].trace,S=T.line,E=o.select(f);if(E.call(u.plot,r,p),!0===T.visible){m(E).style(\\\"opacity\\\",T.opacity);var L,C,z=T.fill.charAt(T.fill.length-1);\\\"x\\\"!==z&&\\\"y\\\"!==z&&(z=\\\"\\\"),n[0].node3=E;var I=\\\"\\\",D=[],P=T._prevtrace;P&&(I=P._prevRevpath||\\\"\\\",C=P._nextFill,D=P._polygons);var O,R,F,j,N,B,U,V,H,q=\\\"\\\",G=\\\"\\\",Y=[],X=s.noop;if(L=T._ownFill,c.hasLines(T)||\\\"none\\\"!==T.fill){for(C&&C.datum(n),-1!==[\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"].indexOf(S.shape)?(F=l.steps(S.shape),j=l.steps(S.shape.split(\\\"\\\").reverse().join(\\\"\\\"))):F=j=\\\"spline\\\"===S.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),S.smoothing):l.smoothopen(t,S.smoothing)}:function(t){return\\\"M\\\"+t.join(\\\"L\\\")},N=function(t){return j(t.reverse())},Y=h(n,{xaxis:k,yaxis:A,connectGaps:T.connectgaps,baseTolerance:Math.max(S.width||1,3)/4,linear:\\\"linear\\\"===S.shape,simplify:S.simplify}),H=T._polygons=new Array(Y.length),w=0;w<Y.length;w++)T._polygons[w]=d(Y[w]);Y.length&&(B=Y[0][0],U=Y[Y.length-1],V=U[U.length-1]),X=function(t){return function(e){if(O=F(e),R=N(e),q?z?(q+=\\\"L\\\"+O.substr(1),G=R+\\\"L\\\"+G.substr(1)):(q+=\\\"Z\\\"+O,G=R+\\\"Z\\\"+G):(q=O,G=R),c.hasLines(T)&&e.length>1){var r=o.select(this);if(r.datum(n),t)m(r.style(\\\"opacity\\\",0).attr(\\\"d\\\",O).call(l.lineGroupStyle)).style(\\\"opacity\\\",1);else{var i=m(r);i.attr(\\\"d\\\",O),l.singleLineStyle(n,i)}}}}}var W=E.selectAll(\\\".js-line\\\").data(Y);m(W.exit()).style(\\\"opacity\\\",0).remove(),W.each(X(!1)),W.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").call(l.lineGroupStyle).each(X(!0)),l.setClipUrl(W,r.layerClipId),Y.length&&(L?B&&V&&(z?(\\\"y\\\"===z?B[1]=V[1]=A.c2p(0,!0):\\\"x\\\"===z&&(B[0]=V[0]=k.c2p(0,!0)),m(L).attr(\\\"d\\\",\\\"M\\\"+V+\\\"L\\\"+B+\\\"L\\\"+q.substr(1)).call(l.singleFillStyle)):m(L).attr(\\\"d\\\",q+\\\"Z\\\").call(l.singleFillStyle)):\\\"tonext\\\"===T.fill.substr(0,6)&&q&&I&&(\\\"tonext\\\"===T.fill?m(C).attr(\\\"d\\\",q+\\\"Z\\\"+I+\\\"Z\\\").call(l.singleFillStyle):m(C).attr(\\\"d\\\",q+\\\"L\\\"+I.substr(1)+\\\"Z\\\").call(l.singleFillStyle),T._polygons=T._polygons.concat(D)),T._prevRevpath=G,T._prevPolygons=H);var Z=E.selectAll(\\\".points\\\");_=Z.data([n]),Z.each(x),_.enter().append(\\\"g\\\").classed(\\\"points\\\",!0).each(x),_.exit().remove(),_.each(function(t){var e=!1===t[0].trace.cliponaxis;l.setClipUrl(o.select(this),e?null:r.layerClipId)})}}function a(t,e,r,n,i){var a=r.xaxis,l=r.yaxis,u=o.extent(s.simpleMap(a.range,a.r2c)),h=o.extent(s.simpleMap(l.range,l.r2c)),f=n[0].trace;if(c.hasMarkers(f)){var d=f.marker.maxdisplayed;if(0!==d){var p=n.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]}),m=Math.ceil(p.length/d),v=0;i.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&v++});var g=Math.round(v*m/3+Math.floor(v/3)*m/7.1);n.forEach(function(t){delete t.vis}),p.forEach(function(t,e){0===Math.round((e+g)%m)&&(t.vis=!0)})}}}var o=t(\\\"d3\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../components/drawing\\\"),u=t(\\\"../../components/errorbars\\\"),c=t(\\\"./subtypes\\\"),h=t(\\\"./line_points\\\"),f=t(\\\"./link_traces\\\"),d=t(\\\"../../lib/polygon\\\").tester;e.exports=function(t,e,r,a,s){var l,u,c,h,d,p=e.plot.select(\\\"g.scatterlayer\\\"),m=!a,v=!!a&&a.duration>0;for(c=p.selectAll(\\\"g.trace\\\"),h=c.data(r,function(t){return t[0].trace.uid}),h.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"trace scatter trace\\\"+t[0].trace.uid}).style(\\\"stroke-miterlimit\\\",2),f(t,e,r),n(t,p,e),l=0,u={};l<r.length;l++)u[r[l][0].trace.uid]=l;if(p.selectAll(\\\"g.trace\\\").sort(function(t,e){return u[t[0].trace.uid]>u[e[0].trace.uid]?1:-1}),v){s&&(d=s());o.transition().duration(a.duration).ease(a.easing).each(\\\"end\\\",function(){d&&d()}).each(\\\"interrupt\\\",function(){d&&d()}).each(function(){p.selectAll(\\\"g.trace\\\").each(function(n,o){i(t,o,e,n,r,this,a)})})}else p.selectAll(\\\"g.trace\\\").each(function(n,o){i(t,o,e,n,r,this,a)});m&&h.exit().remove(),p.selectAll(\\\"path:not([d])\\\").remove()}},{\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,\\\"../../lib\\\":725,\\\"../../lib/polygon\\\":736,\\\"./line_points\\\":1039,\\\"./link_traces\\\":1041,\\\"./subtypes\\\":1047,d3:121}],1045:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./subtypes\\\"),i=t(\\\"../../constants/interactions\\\").DESELECTDIM;e.exports=function(t,e){var r,a,o,s,l=t.cd,u=t.xaxis,c=t.yaxis,h=[],f=l[0].trace,d=f.marker,p=!n.hasMarkers(f)&&!n.hasText(f);if(!0===f.visible&&!p){var m=Array.isArray(d.opacity)?1:d.opacity;if(!1===e)for(r=0;r<l.length;r++)l[r].dim=0;else for(r=0;r<l.length;r++)a=l[r],o=u.c2p(a.x),s=c.c2p(a.y),e.contains([o,s])?(h.push({pointNumber:r,x:a.x,y:a.y}),a.dim=0):a.dim=1;return l[0].node3.selectAll(\\\"path.point\\\").style(\\\"opacity\\\",function(t){return((t.mo+1||m+1)-1)*(t.dim?i:1)}),l[0].node3.selectAll(\\\"text\\\").style(\\\"opacity\\\",function(t){return t.dim?i:1}),h}}},{\\\"../../constants/interactions\\\":704,\\\"./subtypes\\\":1047}],1046:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../components/errorbars\\\");e.exports=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){var r=n.select(this),a=r.selectAll(\\\"path.point\\\"),o=e.trace||e[0].trace;a.call(i.pointStyle,o,t),r.selectAll(\\\"text\\\").call(i.textPointStyle,o,t)}),e.selectAll(\\\"g.trace path.js-line\\\").call(i.lineGroupStyle),e.selectAll(\\\"g.trace path.js-fill\\\").call(i.fillGroupStyle),e.call(a.style)}},{\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,d3:121}],1047:[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\\\")},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\\\"text\\\")},isBubble:function(t){return n.isPlainObject(t.marker)&&Array.isArray(t.marker.size)}}},{\\\"../../lib\\\":725}],1048:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){i(\\\"textposition\\\"),n.coerceFont(i,\\\"textfont\\\",r.font)}},{\\\"../../lib\\\":725}],1049:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a,o=i(\\\"x\\\"),s=i(\\\"y\\\");if(n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],r),o)s?(a=Math.min(o.length,s.length),a<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.y=s.slice(0,a))):(a=o.length,i(\\\"y0\\\"),i(\\\"dy\\\"));else{if(!s)return 0;a=e.y.length,i(\\\"x0\\\"),i(\\\"dx\\\")}return a}},{\\\"../../registry\\\":844}],1050:[function(t,e,r){\\\"use strict\\\";function n(t){return{show:{valType:\\\"boolean\\\",dflt:!1},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},scale:{valType:\\\"number\\\",min:0,max:10,dflt:2/3}}}var i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/errorbars/attributes\\\"),s=t(\\\"../../constants/gl3d_dashes\\\"),l=t(\\\"../../constants/gl3d_markers\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,c=i.line,h=i.marker,f=h.line;e.exports={x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},z:{valType:\\\"data_array\\\"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),mode:u({},i.mode,{dflt:\\\"lines+markers\\\"}),surfaceaxis:{valType:\\\"enumerated\\\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\\\"color\\\"},projection:{x:n(\\\"x\\\"),y:n(\\\"y\\\"),z:n(\\\"z\\\")},connectgaps:i.connectgaps,line:u({},{width:c.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(s),dflt:\\\"solid\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1}},a(\\\"line\\\")),marker:u({},{symbol:{valType:\\\"enumerated\\\",values:Object.keys(l),dflt:\\\"circle\\\",arrayOk:!0},size:u({},h.size,{dflt:8}),sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,opacity:u({},h.opacity,{arrayOk:!1}),showscale:h.showscale,colorbar:h.colorbar,line:u({},{width:u({},f.width,{arrayOk:!1})},a(\\\"marker.line\\\"))},a(\\\"marker\\\")),textposition:u({},i.textposition,{dflt:\\\"top center\\\"}),textfont:i.textfont,error_x:o,error_y:o,error_z:o}},{\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/errorbars/attributes\\\":629,\\\"../../constants/gl3d_dashes\\\":702,\\\"../../constants/gl3d_markers\\\":703,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],1051:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/arrays_to_calcdata\\\"),i=t(\\\"../scatter/colorscale_calc\\\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031}],1052:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!e||!e.visible)return null;for(var n=o(e),i=new Array(t.length),a=0;a<t.length;a++){var s=n(+t[a],a);i[a]=[-s[0]*r,s[1]*r]}return i}function i(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}function a(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],a=i(r);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],u=0;u<3;u++)if(r[u])for(var c=0;c<2;c++)l[c][u]=r[u][s][c];o[s]=l}return o}var o=t(\\\"../../components/errorbars/compute_error\\\");e.exports=a},{\\\"../../components/errorbars/compute_error\\\":631}],1053:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n<t.length;++n){var l=t[n];!isNaN(l[i])&&isFinite(l[i])&&!isNaN(l[a])&&isFinite(l[a])&&(o.push([l[i],l[a]]),s.push(n))}var u=g(o);for(n=0;n<u.length;++n)for(var c=u[n],h=0;h<c.length;++h)c[h]=s[c[h]];return{positions:t,cells:u,meshColor:e}}function a(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=b(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}function o(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(\\\"bottom\\\")>=0&&(e[1]+=1),t.indexOf(\\\"top\\\")>=0&&(e[1]-=1),t.indexOf(\\\"left\\\")>=0&&(e[0]-=1),t.indexOf(\\\"right\\\")>=0&&(e[0]+=1),e)}function s(t,e){return e(4*t)}function l(t){return M[t]}function u(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,y.identity);return a}function c(t,e){var r,n,i,c,h,f,d=[],p=t.fullSceneLayout,m=t.dataScale,v=p.xaxis,g=p.yaxis,w=p.zaxis,M=e.marker,A=e.line,T=e.x||[],S=e.y||[],E=e.z||[],L=T.length,C=e.xcalendar,z=e.ycalendar,I=e.zcalendar;for(n=0;n<L;n++)i=v.d2l(T[n],0,C)*m[0],c=g.d2l(S[n],0,z)*m[1],h=w.d2l(E[n],0,I)*m[2],d[n]=[i,c,h];if(Array.isArray(e.text))f=e.text;else if(void 0!==e.text)for(f=new Array(L),n=0;n<L;n++)f[n]=e.text;if(r={position:d,mode:e.mode,text:f},\\\"line\\\"in e&&(r.lineColor=x(A,1,L),r.lineWidth=A.width,r.lineDashes=A.dash),\\\"marker\\\"in e){var D=_(e);r.scatterColor=x(M,1,L),r.scatterSize=u(M.size,L,s,20,D),r.scatterMarker=u(M.symbol,L,l,\\\"\\\\u25cf\\\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=x(M.line,1,L),r.scatterAngle=0}\\\"textposition\\\"in e&&(r.textOffset=o(e.textposition),r.textColor=x(e.textfont,1,L),r.textSize=u(e.textfont.size,L,y.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var P=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var O=e.projection[P[n]];(r.project[n]=O.show)&&(r.projectOpacity[n]=O.opacity,r.projectScale[n]=O.scale)}r.errorBounds=k(e,m);var R=a([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=b(e.surfacecolor),r}function h(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}function f(t,e){var r=new n(t,e.uid);return r.update(e),r}var d=t(\\\"gl-line3d\\\"),p=t(\\\"gl-scatter3d\\\"),m=t(\\\"gl-error3d\\\"),v=t(\\\"gl-mesh3d\\\"),g=t(\\\"delaunay-triangulate\\\"),y=t(\\\"../../lib\\\"),b=t(\\\"../../lib/str2rgbarray\\\"),x=t(\\\"../../lib/gl_format_color\\\"),_=t(\\\"../scatter/make_bubble_size_func\\\"),w=t(\\\"../../constants/gl3d_dashes\\\"),M=t(\\\"../../constants/gl3d_markers\\\"),k=t(\\\"./calc_errors\\\"),A=n.prototype;A.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=\\\"\\\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},A.update=function(t){var e,r,n,a,o=this.scene.glplot.gl,s=w.solid;this.data=t;var l=c(this.scene,t);\\\"mode\\\"in l&&(this.mode=l.mode),\\\"lineDashes\\\"in l&&l.lineDashes in w&&(s=w[l.lineDashes]),this.color=h(l.scatterColor)||h(l.lineColor),this.dataPoints=l.position,e={gl:o,position:l.position,color:l.lineColor,lineWidth:l.lineWidth||1,dashes:s[0],dashScale:s[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\\\"lines\\\")?this.linePlot?this.linePlot.update(e):(this.linePlot=d(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 u=t.opacity;if(t.marker&&t.marker.opacity&&(u*=t.marker.opacity),r={gl:o,position:l.position,color:l.scatterColor,size:l.scatterSize,glyph:l.scatterMarker,opacity:u,orthographic:!0,lineWidth:l.scatterLineWidth,lineColor:l.scatterLineColor,project:l.project,projectScale:l.projectScale,projectOpacity:l.projectOpacity},-1!==this.mode.indexOf(\\\"markers\\\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=p(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),a={gl:o,position:l.position,glyph:l.text,color:l.textColor,size:l.textSize,angle:l.textAngle,alignment:l.textOffset,font:l.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(a):(this.textMarkers=p(a),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),n={gl:o,position:l.position,color:l.errorColor,error:l.errorBounds,lineWidth:l.errorLineWidth,capSize:l.errorCapSize,opacity:t.opacity},this.errorBars?l.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):l.errorBounds&&(this.errorBars=m(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),l.delaunayAxis>=0){var f=i(l.position,l.delaunayColor,l.delaunayAxis);f.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(f):(f.gl=o,this.delaunayMesh=v(f),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)},A.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=f},{\\\"../../constants/gl3d_dashes\\\":702,\\\"../../constants/gl3d_markers\\\":703,\\\"../../lib\\\":725,\\\"../../lib/gl_format_color\\\":722,\\\"../../lib/str2rgbarray\\\":744,\\\"../scatter/make_bubble_size_func\\\":1042,\\\"./calc_errors\\\":1052,\\\"delaunay-triangulate\\\":122,\\\"gl-error3d\\\":160,\\\"gl-line3d\\\":171,\\\"gl-mesh3d\\\":204,\\\"gl-scatter3d\\\":250}],1054:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a=0,o=r(\\\"x\\\"),s=r(\\\"y\\\"),l=r(\\\"z\\\");return i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),a<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.y=s.slice(0,a)),a<l.length&&(e.z=l.slice(0,a))),a}var i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../scatter/subtypes\\\"),s=t(\\\"../scatter/marker_defaults\\\"),l=t(\\\"../scatter/line_defaults\\\"),u=t(\\\"../scatter/text_defaults\\\"),c=t(\\\"../../components/errorbars/defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,i){function f(r,n){return a.coerce(t,e,h,r,n)}if(!n(t,e,f,i))return void(e.visible=!1);f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),o.hasLines(e)&&(f(\\\"connectgaps\\\"),l(t,e,r,i,f)),o.hasMarkers(e)&&s(t,e,r,i,f),o.hasText(e)&&u(t,e,i,f);var d=(e.line||{}).color,p=(e.marker||{}).color;f(\\\"surfaceaxis\\\")>=0&&f(\\\"surfacecolor\\\",d||p);for(var m=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],v=0;v<3;++v){var g=\\\"projection.\\\"+m[v];f(g+\\\".show\\\")&&(f(g+\\\".opacity\\\"),f(g+\\\".scale\\\"))}c(t,e,r,{axis:\\\"z\\\"}),c(t,e,r,{axis:\\\"y\\\",inherit:\\\"z\\\"}),c(t,e,r,{axis:\\\"x\\\",inherit:\\\"z\\\"})}},{\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1050}],1055:[function(t,e,r){\\\"use strict\\\";var n={};n.plot=t(\\\"./convert\\\"),n.attributes=t(\\\"./attributes\\\"),n.markerSymbols=t(\\\"../../constants/gl3d_markers\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatter3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../constants/gl3d_markers\\\":703,\\\"../../plots/gl3d\\\":809,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1050,\\\"./calc\\\":1051,\\\"./convert\\\":1053,\\\"./defaults\\\":1054}],\\n\",\n       \"1056:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker,u=n.line,c=l.line;e.exports={carpet:{valType:\\\"string\\\"},a:{valType:\\\"data_array\\\"},b:{valType:\\\"data_array\\\"},sum:{valType:\\\"number\\\",dflt:0,min:0},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:s({},u.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:u.smoothing},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:n.fillcolor,marker:s({},{symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({},{width:c.width},a(\\\"marker\\\".line)),gradient:l.gradient},a(\\\"marker\\\"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,hoverinfo:s({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scatter/attributes\\\":1027}],1057:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/colorscale_calc\\\"),s=t(\\\"../scatter/arrays_to_calcdata\\\"),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 u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,h,f=e.a.length,d=new Array(f),p=!1;for(u=0;u<f;u++)if(c=e.a[u],h=e.b[u],n(c)&&n(h)){var m=r.ab2xy(+c,+h,!0),v=r.isVisible(+c,+h);v||(p=!0),d[u]={x:m[0],y:m[1],a:c,b:h,vis:v}}else d[u]={x:!1,y:!1};e._needsCull=p,d[0].carpet=r,d[0].trace=e;var g,y;if(a.hasMarkers(e)&&(g=e.marker,y=g.size,Array.isArray(y))){var b={type:\\\"linear\\\"};i.setConvert(b),y=b.makeCalcdata(e.marker,\\\"size\\\"),y.length>f&&y.splice(f,y.length-f)}return o(e),s(d,e),d}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../carpet/lookup_carpetid\\\":900,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031,\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1058:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/line_shape_defaults\\\"),u=t(\\\"../scatter/text_defaults\\\"),c=t(\\\"../scatter/fillcolor_defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}d(\\\"carpet\\\"),e.xaxis=\\\"x\\\",e.yaxis=\\\"y\\\";var p,m=d(\\\"a\\\"),v=d(\\\"b\\\");if(!(p=Math.min(m.length,v.length)))return void(e.visible=!1);m&&p<m.length&&(e.a=m.slice(0,p)),v&&p<v.length&&(e.b=v.slice(0,p)),d(\\\"sum\\\"),d(\\\"text\\\"),d(\\\"mode\\\",p<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,f,d),l(t,e,d),d(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,f,d,{gradient:!0}),a.hasText(e)&&u(t,e,f,d);var g=[];(a.hasMarkers(e)||a.hasText(e))&&(d(\\\"marker.maxdisplayed\\\"),g.push(\\\"points\\\")),d(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||l(t,e,d)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||g.push(\\\"fills\\\"),d(\\\"hoveron\\\",g.join(\\\"+\\\")||\\\"points\\\")}},{\\\"../../lib\\\":725,\\\"../scatter/constants\\\":1032,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/line_shape_defaults\\\":1040,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1056}],1059:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\");e.exports=function(t,e,r,i){function a(t,e){v.push((t.labelprefix&&t.labelprefix.length>0?t.labelprefix:t._hovertitle+\\\": \\\")+e.toFixed(3)+t.labelsuffix)}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,u=t.xa._length,c=u*l/2,h=u-c;return s.x0=Math.max(Math.min(s.x0,h),c),s.x1=Math.max(Math.min(s.x1,h),c),o}var f=s.cd[s.index];s.a=f.a,s.b=f.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var d=s.trace,p=d._carpet,m=d.hoverinfo.split(\\\"+\\\"),v=[];-1!==m.indexOf(\\\"all\\\")&&(m=[\\\"a\\\",\\\"b\\\"]),-1!==m.indexOf(\\\"a\\\")&&a(p.aaxis,f.a),-1!==m.indexOf(\\\"b\\\")&&a(p.baxis,f.b);var g=p.ab2ij([f.a,f.b]),y=Math.floor(g[0]),b=g[0]-y,x=Math.floor(g[1]),_=g[1]-x,w=p.evalxy([],y,x,b,_);return v.push(\\\"y: \\\"+w[1].toFixed(3)),s.extraText=v.join(\\\"<br>\\\"),o}}},{\\\"../scatter/hover\\\":1036}],1060:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattercarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"carpet\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"carpetDependent\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1056,\\\"./calc\\\":1057,\\\"./defaults\\\":1058,\\\"./hover\\\":1059,\\\"./plot\\\":1061,\\\"./select\\\":1062,\\\"./style\\\":1063}],1061:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../components/drawing\\\");e.exports=function(t,e,r){var o,s,l,u=r[0][0].carpet,c={xaxis:i.getFromId(t,u.xaxis||\\\"x\\\"),yaxis:i.getFromId(t,u.yaxis||\\\"y\\\"),plot:e.plot};for(n(t,c,r),o=0;o<r.length;o++)s=r[o][0].trace,l=c.plot.selectAll(\\\"g.trace\\\"+s.uid+\\\" .js-line\\\"),a.setClipUrl(l,u._clipPathId)}},{\\\"../../components/drawing\\\":627,\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/plot\\\":1044}],1062:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/select\\\");e.exports=function(t,e){var r=n(t,e);if(r){var i,a,o,s=t.cd;for(o=0;o<r.length;o++)i=r[o],a=s[i.pointNumber],i.a=a.a,i.b=a.b,i.c=a.c,delete i.x,delete i.y;return r}}},{\\\"../scatter/select\\\":1045}],1063:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/style\\\");e.exports=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++)if(\\\"scatter\\\"===e[r].name)return;n(t)}},{\\\"../scatter/style\\\":1046}],1064:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker,u=n.line,c=l.line;e.exports={lon:{valType:\\\"data_array\\\"},lat:{valType:\\\"data_array\\\"},locations:{valType:\\\"data_array\\\"},locationmode:{valType:\\\"enumerated\\\",values:[\\\"ISO-3\\\",\\\"USA-states\\\",\\\"country names\\\"],dflt:\\\"ISO-3\\\"},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({},{symbol:l.symbol,opacity:l.opacity,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,showscale:l.showscale,colorbar:l.colorbar,line:s({},{width:c.width},a(\\\"marker.line\\\")),gradient:l.gradient},a(\\\"marker\\\")),fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"toself\\\"],dflt:\\\"none\\\"},fillcolor:n.fillcolor,hoverinfo:s({},i.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"location\\\",\\\"text\\\",\\\"name\\\"]})}},{\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scatter/attributes\\\":1027}],1065:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=t(\\\"../scatter/colorscale_calc\\\"),o=t(\\\"../scatter/arrays_to_calcdata\\\");e.exports=function(t,e){for(var r=Array.isArray(e.locations),s=r?e.locations.length:e.lon.length,l=new Array(s),u=0;u<s;u++){var c=l[u]={};if(r){var h=e.locations[u];c.loc=\\\"string\\\"==typeof h?h:null}else{var f=e.lon[u],d=e.lat[u];n(f)&&n(d)?c.lonlat=[+f,+d]:c.lonlat=[i,i]}}return o(l,e),a(e),l}},{\\\"../../constants/numerical\\\":705,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031,\\\"fast-isnumeric\\\":130}],1066:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i,a=0,o=r(\\\"locations\\\");return o?(r(\\\"locationmode\\\"),a=o.length):(n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length),a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a)}var i=t(\\\"../../lib\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/text_defaults\\\"),u=t(\\\"../scatter/fillcolor_defaults\\\"),c=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function f(r,n){return i.coerce(t,e,c,r,n)}if(!n(t,e,f))return void(e.visible=!1);f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),a.hasLines(e)&&(s(t,e,r,h,f),f(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,h,f,{gradient:!0}),a.hasText(e)&&l(t,e,h,f),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&u(t,e,r,f)}},{\\\"../../lib\\\":725,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1064}],1067:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1068:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){return a.tickText(r,r.c2l(t),\\\"hover\\\").text+\\\"\\\\xb0\\\"}var i=t.hoverinfo,o=\\\"all\\\"===i?l.hoverinfo.flags:i.split(\\\"+\\\"),s=-1!==o.indexOf(\\\"location\\\")&&Array.isArray(t.locations),u=-1!==o.indexOf(\\\"lon\\\"),c=-1!==o.indexOf(\\\"lat\\\"),h=-1!==o.indexOf(\\\"text\\\"),f=[];if(s?f.push(e.loc):u&&c?f.push(\\\"(\\\"+n(e.lonlat[0])+\\\", \\\"+n(e.lonlat[1])+\\\")\\\"):u?f.push(\\\"lon: \\\"+n(e.lonlat[0])):c&&f.push(\\\"lat: \\\"+n(e.lonlat[1])),h){var d;e.htx?d=e.htx:t.hovertext?d=t.hovertext:e.tx?d=e.tx:t.text&&(d=t.text),Array.isArray(d)||f.push(d)}return f.join(\\\"<br>\\\")}var i=t(\\\"../../components/fx\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../constants/numerical\\\").BADNUM,s=t(\\\"../scatter/get_trace_color\\\"),l=t(\\\"./attributes\\\");e.exports=function(t){function e(t){return h.projection(t)}function r(t){var r=t.lonlat;if(r[0]===o)return 1/0;if(h.isLonLatOverEdges(r))return 1/0;var n=e(r),i=u.c2p(),a=c.c2p(),s=Math.abs(i-n[0]),l=Math.abs(a-n[1]),f=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-f,1-3/f)}var a=t.cd,l=a[0].trace,u=t.xa,c=t.ya,h=t.subplot;if(i.getClosest(a,r,t),!1!==t.index){var f=a[t.index],d=f.lonlat,p=e(d),m=f.mrc||1;return t.x0=p[0]-m,t.x1=p[0]+m,t.y0=p[1]-m,t.y1=p[1]+m,t.loc=f.loc,t.lon=d[0],t.lat=d[1],t.color=s(l,f),t.extraText=n(l,f,h.mockAxis),[t]}}},{\\\"../../components/fx\\\":644,\\\"../../constants/numerical\\\":705,\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/get_trace_color\\\":1035,\\\"./attributes\\\":1064}],1069:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattergeo\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":794,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1064,\\\"./calc\\\":1065,\\\"./defaults\\\":1066,\\\"./event_data\\\":1067,\\\"./hover\\\":1068,\\\"./plot\\\":1070}],1070:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=c(r,e),i=r.locationmode,a=0;a<t.length;a++){var o=t[a],s=h(i,o.loc,n);o.lonlat=s?s.properties.ct:[u,u]}}function i(t){var e=t.framework.selectAll(\\\"g.trace.scattergeo\\\");e.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),e.each(function(e){var r=e[0].trace,n=a.select(this);n.selectAll(\\\"path.point\\\").call(o.pointStyle,r,t.graphDiv),n.selectAll(\\\"text\\\").call(o.textPointStyle,r,t.graphDiv)}),e.selectAll(\\\"path.js-line\\\").style(\\\"fill\\\",\\\"none\\\").each(function(t){var e=a.select(this),r=t.trace,n=r.line||{};e.call(s.stroke,n.color).call(o.dashLine,n.dash||\\\"\\\",n.width||0),\\\"none\\\"!==r.fill&&e.call(s.fill,r.fillcolor)})}var a=t(\\\"d3\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"../../lib\\\"),u=t(\\\"../../constants/numerical\\\").BADNUM,c=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,h=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,f=t(\\\"../../lib/geojson_utils\\\"),d=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){function r(t){return t[0].trace.uid}function o(t,e){t.lonlat[0]===u&&a.select(e).remove()}for(var s=0;s<e.length;s++)n(e[s],t.topojson);var c=t.framework.select(\\\".scattergeolayer\\\").selectAll(\\\"g.trace.scattergeo\\\").data(e,r);c.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace scattergeo\\\"),c.exit().remove(),c.selectAll(\\\"*\\\").remove(),c.each(function(t){var e=a.select(this),r=t[0].trace;if(d.hasLines(r)||\\\"none\\\"!==r.fill){var n=f.calcTraceToLineCoords(t),i=\\\"none\\\"!==r.fill?f.makePolygon(n,r):f.makeLine(n,r);e.selectAll(\\\"path.js-line\\\").data([i]).enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0)}d.hasMarkers(r)&&e.selectAll(\\\"path.point\\\").data(l.identity).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).each(function(t){o(t,this)}),d.hasText(r)&&e.selectAll(\\\"g\\\").data(l.identity).enter().append(\\\"g\\\").append(\\\"text\\\").each(function(t){o(t,this)})}),i(t)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../lib/geo_location_utils\\\":719,\\\"../../lib/geojson_utils\\\":720,\\\"../../lib/topojson_utils\\\":747,\\\"../scatter/subtypes\\\":1047,d3:121}],1071:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../constants/gl2d_dashes\\\"),o=t(\\\"../../constants/gl2d_markers\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=t(\\\"../../lib/extend\\\").extendDeep,u=n.line,c=n.marker,h=c.line;e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:s({},n.text,{}),mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\"],extras:[\\\"none\\\"]},line:{color:u.color,width:u.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(a),dflt:\\\"solid\\\"}},marker:l({},i(\\\"marker\\\"),{symbol:{valType:\\\"enumerated\\\",values:Object.keys(o),dflt:\\\"circle\\\",arrayOk:!0},size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:l({},i(\\\"marker.line\\\"),{width:h.width})}),connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\\\"none\\\",\\\"tozeroy\\\",\\\"tozerox\\\"]}),fillcolor:n.fillcolor,error_y:n.error_y,error_x:n.error_x}},{\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../constants/gl2d_dashes\\\":700,\\\"../../constants/gl2d_markers\\\":701,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],1072:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../scatter/arrays_to_calcdata\\\"),a=t(\\\"../scatter/colorscale_calc\\\");e.exports=function(t,e){var r,o=t._fullLayout.dragmode;if(\\\"lasso\\\"===o||\\\"select\\\"===o){var s,l=n.getFromId(t,e.xaxis||\\\"x\\\"),u=n.getFromId(t,e.yaxis||\\\"y\\\"),c=l.makeCalcdata(e,\\\"x\\\"),h=u.makeCalcdata(e,\\\"y\\\"),f=Math.min(c.length,h.length);for(r=new Array(f),s=0;s<f;s++)r[s]={x:c[s],y:h[s]}}else r=[{x:!1,y:!1,trace:e,t:{}}],i(r,e);return a(e),r}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031}],1073:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.scene=t,this.uid=e,this.type=\\\"scattergl\\\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\\\"rgb(0, 0, 0)\\\",this.name=\\\"\\\",this.hoverinfo=\\\"all\\\",this.connectgaps=!0,this.index=null,this.idToIndex=[],this.bounds=[0,0,0,0],this.isVisible=!1,this.hasLines=!1,this.hasErrorX=!1,this.hasErrorY=!1,this.hasMarkers=!1,this.line=this.initObject(m,{positions:new Float64Array(0),color:[0,0,0,1],width:1,fill:[!1,!1,!1,!1],fillColor:[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],dashes:[1]},0),this.errorX=this.initObject(v,{positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},1),this.errorY=this.initObject(v,{positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},2);var r={positions:new Float64Array(0),sizes:[],colors:[],glyphs:[],borderWidths:[],borderColors:[],size:12,color:[0,0,0,1],borderSize:1,borderColor:[0,0,0,1],snapPoints:!0},n=y.extendFlat({},r,{snapPoints:!1});this.scatter=this.initObject(d,r,3),this.fancyScatter=this.initObject(p,r,4),this.selectScatter=this.initObject(d,n,5)}function i(t,e,r){return Array.isArray(e)||(e=[e]),a(t,e,r)}function a(t,e,r){for(var n=new Array(r),i=e[0],a=0;a<r;++a)n[a]=t(a>=e.length?i:e[a]);return n}function o(t,e,r){return l(O(t,r),P(e,r),r)}function s(t,e,r,n){var i=k(t,e,n);return i=Array.isArray(i[0])?i:a(y.identity,[i],n),l(i,P(r,n),n)}function l(t,e,r){for(var n=new Array(4*r),i=0;i<r;++i){for(var a=0;a<3;++a)n[4*i+a]=t[i][a];n[4*i+3]=t[i][3]*e[i]}return n}function u(t){return\\\"\\\"===t.split(\\\"-open\\\")[1]}function c(t,e,r,n,i){var a,o=i?C:1;for(a=0;a<3;a++)t[4*r+a]=e[4*n+a];t[4*r+a]=o*e[4*n+a]}function h(t){for(var e,r=t.length,n=Math.max(1,(r-1)/Math.min(Math.max(r,1),1e3)),i=0;i<r;i+=n)if(e=t[Math.floor(i)],!(g(e)||e instanceof Date))return!1;return!0}function f(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}var d=t(\\\"gl-scatter2d\\\"),p=t(\\\"gl-scatter2d-sdf\\\"),m=t(\\\"gl-line2d\\\"),v=t(\\\"gl-error2d\\\"),g=t(\\\"fast-isnumeric\\\"),y=t(\\\"../../lib\\\"),b=t(\\\"../../plots/cartesian/axes\\\"),x=t(\\\"../../plots/cartesian/axis_autotype\\\"),_=t(\\\"../../components/errorbars\\\"),w=t(\\\"../../lib/str2rgbarray\\\"),M=t(\\\"../../lib/typed_array_truncate\\\"),k=t(\\\"../../lib/gl_format_color\\\"),A=t(\\\"../scatter/subtypes\\\"),T=t(\\\"../scatter/make_bubble_size_func\\\"),S=t(\\\"../scatter/get_trace_color\\\"),E=t(\\\"../../constants/gl2d_markers\\\"),L=t(\\\"../../constants/gl2d_dashes\\\"),C=t(\\\"../../constants/interactions\\\").DESELECTDIM,z=[\\\"xaxis\\\",\\\"yaxis\\\"],I=[0,0,0,0],D=n.prototype;D.initObject=function(t,e,r){function n(){u||(u=t(s,e),u._trace=o,u._index=r),u.update(e)}function i(){u&&u.update(l)}function a(){u&&u.dispose()}var o=this,s=o.scene.glplot,l=y.extendFlat({},e),u=null;return{options:e,update:n,clear:i,dispose:a}},D.handlePick=function(t){var e=t.pointId;(t.object!==this.line||this.connectgaps)&&(e=this.idToIndex[t.pointId]);var r=this.pickXData[e];return{trace:this,dataCoord:t.dataCoord,traceCoord:[g(r)||!y.isDateTime(r)?r:y.dateTime2ms(r),this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:Array.isArray(this.color)?this.color[e]:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},D.isFancy=function(t){if(\\\"linear\\\"!==this.scene.xaxis.type&&\\\"date\\\"!==this.scene.xaxis.type)return!0;if(\\\"linear\\\"!==this.scene.yaxis.type)return!0;if(!t.x||!t.y)return!0;if(this.hasMarkers){var e=t.marker||{};if(Array.isArray(e.symbol)||\\\"circle\\\"!==e.symbol||Array.isArray(e.size)||Array.isArray(e.color)||Array.isArray(e.line.width)||Array.isArray(e.line.color)||Array.isArray(e.opacity))return!0}return!(!this.hasLines||this.connectgaps)||(!!this.hasErrorX||!!this.hasErrorY)};var P=i.bind(null,function(t){return+t}),O=i.bind(null,w),R=i.bind(null,function(t){return E[t]?t:\\\"circle\\\"});D.update=function(t,e){!0!==t.visible?(this.isVisible=!1,this.hasLines=!1,this.hasErrorX=!1,this.hasErrorY=!1,this.hasMarkers=!1):(this.isVisible=!0,this.hasLines=A.hasLines(t),this.hasErrorX=!0===t.error_x.visible,this.hasErrorY=!0===t.error_y.visible,this.hasMarkers=A.hasMarkers(t)),this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.connectgaps=!!t.connectgaps,this.isVisible?this.isFancy(t)?this.updateFancy(t):this.updateFast(t):(this.line.clear(),this.errorX.clear(),this.errorY.clear(),this.scatter.clear(),this.fancyScatter.clear()),this.scene.glplot.objects.sort(function(t,e){return t._index-e._index}),this.index=t.index,this.color=S(t,{}),e&&e[0]&&!e[0]._glTrace&&(e[0]._glTrace=this)},D.updateFast=function(t){var e,r,n,i,a,o=this.xData=this.pickXData=t.x,s=this.yData=this.pickYData=t.y,l=o.length,u=new Array(l),c=new Float64Array(2*l),f=this.bounds,d=0,p=0,m=t.selection,v=t.xcalendar,b=h(o),_=!b&&\\\"date\\\"===x(o,v);if(b||_)for(e=0;e<l;++e)i=o[e],a=s[e],g(a)&&(b||(i=y.dateTime2ms(i,v)),c[p++]=i,c[p++]=a,u[d++]=e,f[0]=Math.min(f[0],i),f[1]=Math.min(f[1],a),f[2]=Math.max(f[2],i),f[3]=Math.max(f[3],a));if(c=M(c,p),this.idToIndex=u,m&&m.length)for(r=new Float64Array(2*m.length),e=0,n=m.length;e<n;e++)r[2*e+0]=m[e].x,r[2*e+1]=m[e].y;this.updateLines(t,c),this.updateError(\\\"X\\\",t),this.updateError(\\\"Y\\\",t);var k;if(this.hasMarkers){var A,T,S;r?(this.scatter.options.positions=null,A=w(t.marker.color),T=w(t.marker.line.color),S=t.opacity*t.marker.opacity*C,A[3]*=S,this.scatter.options.color=A,T[3]*=S,this.scatter.options.borderColor=T,k=t.marker.size,this.scatter.options.size=k,this.scatter.options.borderSize=t.marker.line.width,this.scatter.update(),this.scatter.options.positions=c,this.selectScatter.options.positions=r,A=w(t.marker.color),T=w(t.marker.line.color),S=t.opacity*t.marker.opacity,A[3]*=S,this.selectScatter.options.color=A,T[3]*=S,this.selectScatter.options.borderColor=T,k=t.marker.size,this.selectScatter.options.size=k,this.selectScatter.options.borderSize=t.marker.line.width,this.selectScatter.update()):(this.scatter.options.positions=c,A=w(t.marker.color),T=w(t.marker.line.color),S=t.opacity*t.marker.opacity,A[3]*=S,this.scatter.options.color=A,T[3]*=S,this.scatter.options.borderColor=T,k=t.marker.size,this.scatter.options.size=k,this.scatter.options.borderSize=t.marker.line.width,this.scatter.update())}else this.scatter.clear();this.fancyScatter.clear(),this.expandAxesFast(f,k)},D.updateFancy=function(t){var e=this.scene,r=e.xaxis,n=e.yaxis,a=this.bounds,o=t.selection,l=this.pickXData=r.makeCalcdata(t,\\\"x\\\").slice(),h=this.pickYData=n.makeCalcdata(t,\\\"y\\\").slice();this.xData=l.slice(),this.yData=h.slice();var f,d,p,m,v,g,y,b=_.calcFromTrace(t,e.fullLayout),x=l.length,w=new Array(x),k=new Float64Array(2*x),A=new Float64Array(4*x),S=new Float64Array(4*x),L=0,C=0,z=0,D=0,O=\\\"log\\\"===r.type?r.d2l:function(t){return t},F=\\\"log\\\"===n.type?n.d2l:function(t){return t};for(f=0;f<x;++f)this.xData[f]=d=O(l[f]),this.yData[f]=p=F(h[f]),isNaN(d)||isNaN(p)||(w[L++]=f,k[C++]=d,k[C++]=p,m=A[z++]=d-b[f].xs||0,v=A[z++]=b[f].xh-d||0,A[z++]=0,A[z++]=0,S[D++]=0,S[D++]=0,g=S[D++]=p-b[f].ys||0,y=S[D++]=b[f].yh-p||0,a[0]=Math.min(a[0],d-m),a[1]=Math.min(a[1],p-g),a[2]=Math.max(a[2],d+v),a[3]=Math.max(a[3],p+y));k=M(k,C),this.idToIndex=w,this.updateLines(t,k),this.updateError(\\\"X\\\",t,k,A),this.updateError(\\\"Y\\\",t,k,S);var j,N;if(o&&o.length)for(N={},f=0;f<o.length;f++)N[o[f].pointNumber]=!0;if(this.hasMarkers){this.scatter.options.positions=k,this.scatter.options.sizes=new Array(L),this.scatter.options.glyphs=new Array(L),this.scatter.options.borderWidths=new Array(L),this.scatter.options.colors=new Array(4*L),this.scatter.options.borderColors=new Array(4*L);var B,U,V,H,q,G,Y,X,W,Z,J=T(t),K=t.marker,Q=K.opacity,$=t.opacity,tt=R(K.symbol,x),et=s(K,Q,$,x),rt=P(K.line.width,x),nt=s(K.line,Q,$,x);for(j=i(J,K.size,x),f=0;f<L;++f)B=w[f],V=tt[B],H=E[V],q=u(V),G=N&&!N[B],Y=H.noBorder&&!q?nt:et,X=q?et:nt,U=j[B],W=rt[B],Z=H.noBorder||H.noFill?.1*U:0,this.scatter.options.sizes[f]=4*U,this.scatter.options.glyphs[f]=H.unicode,this.scatter.options.borderWidths[f]=.5*(W>Z?W-Z:0),!q||H.noBorder||H.noFill?c(this.scatter.options.colors,Y,f,B,G):c(this.scatter.options.colors,I,f,0),c(this.scatter.options.borderColors,X,f,B,G);N?(this.scatter.options.positions=null,this.fancyScatter.update(),this.scatter.options.positions=k):this.fancyScatter.update()}else this.fancyScatter.clear();this.scatter.clear(),this.expandAxesFancy(l,h,j)},D.updateLines=function(t,e){var r;if(this.hasLines){var n=e;if(!t.connectgaps){var i=0,a=this.xData,s=this.yData;for(n=new Float64Array(2*a.length),r=0;r<a.length;++r)n[i++]=a[r],n[i++]=s[r]}this.line.options.positions=n;var l=o(t.line.color,t.opacity,1),u=Math.round(.5*this.line.options.width),c=(L[t.line.dash]||[1]).slice();for(r=0;r<c.length;++r)c[r]*=u;switch(t.fill){case\\\"tozeroy\\\":this.line.options.fill=[!1,!0,!1,!1];break;case\\\"tozerox\\\":this.line.options.fill=[!0,!1,!1,!1];break;default:this.line.options.fill=[!1,!1,!1,!1]}var h=w(t.fillcolor);this.line.options.color=l,this.line.options.width=2*t.line.width,this.line.options.dashes=c,this.line.options.fillColor=[h,h,h,h],this.line.update()}else this.line.clear()},D.updateError=function(t,e,r,n){var i=this[\\\"error\\\"+t],a=e[\\\"error_\\\"+t.toLowerCase()];\\\"x\\\"===t.toLowerCase()&&a.copy_ystyle&&(a=e.error_y),this[\\\"hasError\\\"+t]?(i.options.positions=r,i.options.errors=n,i.options.capSize=a.width,i.options.lineWidth=a.thickness/2,i.options.color=o(a.color,1,1),i.update()):i.clear()},D.expandAxesFast=function(t,e){for(var r,n,i,a=e||10,o=0;o<2;o++)r=this.scene[z[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},D.expandAxesFancy=function(t,e,r){var n=this.scene,i={padded:!0,ppad:r};b.expand(n.xaxis,t,i),b.expand(n.yaxis,e,i)},D.dispose=function(){this.line.dispose(),this.errorX.dispose(),this.errorY.dispose(),this.scatter.dispose(),this.fancyScatter.dispose()},e.exports=f},{\\\"../../components/errorbars\\\":633,\\\"../../constants/gl2d_dashes\\\":700,\\\"../../constants/gl2d_markers\\\":701,\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../lib/gl_format_color\\\":722,\\\"../../lib/str2rgbarray\\\":744,\\\"../../lib/typed_array_truncate\\\":748,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/axis_autotype\\\":767,\\\"../scatter/get_trace_color\\\":1035,\\\"../scatter/make_bubble_size_func\\\":1042,\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130,\\\"gl-error2d\\\":158,\\\"gl-line2d\\\":169,\\\"gl-scatter2d\\\":247,\\\"gl-scatter2d-sdf\\\":242}],1074:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/xy_defaults\\\"),s=t(\\\"../scatter/marker_defaults\\\"),l=t(\\\"../scatter/line_defaults\\\"),u=t(\\\"../scatter/fillcolor_defaults\\\"),c=t(\\\"../../components/errorbars/defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p=o(t,e,f,d);if(!p)return void(e.visible=!1);d(\\\"text\\\"),d(\\\"mode\\\",p<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(d(\\\"connectgaps\\\"),l(t,e,r,f,d)),a.hasMarkers(e)&&s(t,e,r,f,d),d(\\\"fill\\\"),\\\"none\\\"!==e.fill&&u(t,e,r,d),c(t,e,r,{axis:\\\"y\\\"}),c(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"})}},{\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../scatter/constants\\\":1032,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/xy_defaults\\\":1049,\\\"./attributes\\\":1071}],1075:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.hoverPoints=t(\\\"../scatter/hover\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./convert\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattergl\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl2d\\\",\\\"symbols\\\",\\\"errorBarsOK\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":806,\\\"../scatter/colorbar\\\":1030,\\\"../scatter/hover\\\":1036,\\\"./attributes\\\":1071,\\\"./calc\\\":1072,\\\"./convert\\\":1073,\\\"./defaults\\\":1074,\\\"./select\\\":1076}],1076:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],h=s[0].trace,f=s[0]._glTrace,d=f.scene,p=!n.hasMarkers(h)&&!n.hasText(h);if(!0===h.visible&&!p){if(!1===e)for(r=0;r<s.length;r++)s[r].dim=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=u.c2p(i.y),e.contains([a,o])?(c.push({pointNumber:r,x:i.x,y:i.y}),i.dim=0):i.dim=1;return h.selection=c,f.update(h,s),d.glplot.setDirty(),c}}},{\\\"../scatter/subtypes\\\":1047}],1077:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../plots/mapbox/layout_attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../components/colorbar/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,u=n.line,c=n.marker;e.exports={lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:\\\"markers\\\"}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:\\\"string\\\",dflt:\\\"circle\\\",arrayOk:!0},opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,color:c.color,colorscale:c.colorscale,cauto:c.cauto,cmax:c.cmax,cmin:c.cmin,autocolorscale:c.autocolorscale,reversescale:c.reversescale,showscale:c.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,hoverinfo:l({},o.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"text\\\",\\\"name\\\"]})}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../../plots/mapbox/layout_attributes\\\":825,\\\"../scatter/attributes\\\":1027,\\\"../scattergeo/attributes\\\":1064}],1078:[function(t,e,r){\\\"use strict\\\";function n(){return{geojson:v.makeBlank(),layout:{visibility:\\\"none\\\"},paint:{}}}function i(t,e){function r(t,e){return a.opacity*e*(t.dim?_:1)}function n(t,r,n,i){void 0===e[r][n]&&(e[r][n]=i),t[r]=e[r][n]}var i,a=t[0].trace,o=a.marker;g.hasColorscale(a,\\\"marker\\\")?i=g.makeColorScaleFunc(g.extractScale(o.colorscale,o.cmin,o.cmax)):Array.isArray(o.color)&&(i=p.identity);var s;b.isBubble(a)&&(s=y(a));var l;Array.isArray(o.opacity)?l=function(t){return r(t,d(t.mo)?+p.constrain(t.mo,0,1):0)}:a._hasDimmedPts&&(l=function(t){return r(t,o.opacity)});for(var u=[],c=0;c<t.length;c++){var h=t[c],m=h.lonlat;if(!f(m)){var v={};if(i){var x=h.mcc=i(h.mc);n(v,w,x,c)}s&&n(v,M,s(h.ms),c),l&&n(v,k,l(h),c),u.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:m},properties:v})}}return{type:\\\"FeatureCollection\\\",features:u}}function a(t){for(var e=t[0].trace,r=e.marker||{},n=r.symbol,i=e.text,a=\\\"circle\\\"!==n?u(n):c,o=b.hasText(e)?u(i):c,s=[],l=0;l<t.length;l++){var h=t[l];f(h.lonlat)||s.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:h.lonlat},properties:{symbol:a(h.mx),text:o(h.tx)}})}return{type:\\\"FeatureCollection\\\",features:s}}function o(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[w]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[w][s],s])}r={property:w,stops:a}}else r=n.color;return r}function s(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[M]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[M][s],+s])}r={property:M,stops:a.sort(h)}}else r=n.size/2;return r}function l(t,e){var r,n=t.marker;if(Array.isArray(n.opacity)||t._hasDimmedPts){for(var i=Object.keys(e[k]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[k][s],+s])}r={property:k,stops:a.sort(h)}}else r=t.opacity*n.opacity;return r}function u(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:c}function c(){return\\\"\\\"}function h(t,e){return t[0]-e[0]}function f(t){return t[0]===m}var d=t(\\\"fast-isnumeric\\\"),p=t(\\\"../../lib\\\"),m=t(\\\"../../constants/numerical\\\").BADNUM,v=t(\\\"../../lib/geojson_utils\\\"),g=t(\\\"../../components/colorscale\\\"),y=t(\\\"../scatter/make_bubble_size_func\\\"),b=t(\\\"../scatter/subtypes\\\"),x=t(\\\"../../plots/mapbox/convert_text_opts\\\"),_=t(\\\"../../constants/interactions\\\").DESELECTDIM,w=\\\"circle-color\\\",M=\\\"circle-radius\\\",k=\\\"circle-opacity\\\";e.exports=function(t){var e=t[0].trace,r=!0===e.visible,u=\\\"none\\\"!==e.fill,c=b.hasLines(e),h=b.hasMarkers(e),f=b.hasText(e),d=h&&\\\"circle\\\"===e.marker.symbol,m=h&&\\\"circle\\\"!==e.marker.symbol,g=n(),y=n(),_=n(),A=n(),T={fill:g,line:y,circle:_,symbol:A};if(!r)return T;var S;if((u||c)&&(S=v.calcTraceToLineCoords(t)),u&&(g.geojson=v.makePolygon(S),g.layout.visibility=\\\"visible\\\",p.extendFlat(g.paint,{\\\"fill-color\\\":e.fillcolor})),c&&(y.geojson=v.makeLine(S),y.layout.visibility=\\\"visible\\\",p.extendFlat(y.paint,{\\\"line-width\\\":e.line.width,\\\"line-color\\\":e.line.color,\\\"line-opacity\\\":e.opacity})),d){var E={};E[w]={},E[M]={},E[k]={},_.geojson=i(t,E),_.layout.visibility=\\\"visible\\\",p.extendFlat(_.paint,{\\\"circle-opacity\\\":l(e,E),\\\"circle-color\\\":o(e,E),\\\"circle-radius\\\":s(e,E)})}if((m||f)&&(A.geojson=a(t),p.extendFlat(A.layout,{visibility:\\\"visible\\\",\\\"icon-image\\\":\\\"{symbol}-15\\\",\\\"text-field\\\":\\\"{text}\\\"}),m&&(p.extendFlat(A.layout,{\\\"icon-size\\\":e.marker.size/10}),p.extendFlat(A.paint,{\\\"icon-opacity\\\":e.opacity*e.marker.opacity,\\\"icon-color\\\":e.marker.color})),f)){var L=(e.marker||{}).size,C=x(e.textposition,L);p.extendFlat(A.layout,{\\\"text-size\\\":e.textfont.size,\\\"text-anchor\\\":C.anchor,\\\"text-offset\\\":C.offset}),p.extendFlat(A.paint,{\\\"text-color\\\":e.textfont.color,\\\"text-opacity\\\":e.opacity})}return T}},{\\\"../../components/colorscale\\\":617,\\\"../../constants/interactions\\\":704,\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../lib/geojson_utils\\\":720,\\\"../../plots/mapbox/convert_text_opts\\\":822,\\\"../scatter/make_bubble_size_func\\\":1042,\\n\",\n       \"\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1079:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length);return a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a}var i=t(\\\"../../lib\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/text_defaults\\\"),u=t(\\\"../scatter/fillcolor_defaults\\\"),c=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function f(r,n){return i.coerce(t,e,c,r,n)}if(!n(t,e,f))return void(e.visible=!1);if(f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),a.hasLines(e)&&(s(t,e,r,h,f,{noDash:!0}),f(\\\"connectgaps\\\")),a.hasMarkers(e)){o(t,e,r,h,f,{noLine:!0});var d=e.marker;d.line={width:0},\\\"circle\\\"!==d.symbol&&(Array.isArray(d.size)&&(d.size=d.size[0]),Array.isArray(d.color)&&(d.color=d.color[0]))}a.hasText(e)&&l(t,e,h,f),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&u(t,e,r,f)}},{\\\"../../lib\\\":725,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1077}],1080:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1081:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){return t+\\\"\\\\xb0\\\"}var n=t.hoverinfo.split(\\\"+\\\"),i=-1!==n.indexOf(\\\"all\\\"),a=-1!==n.indexOf(\\\"lon\\\"),o=-1!==n.indexOf(\\\"lat\\\"),s=e.lonlat,l=[];if(i||a&&o?l.push(\\\"(\\\"+r(s[0])+\\\", \\\"+r(s[1])+\\\")\\\"):a?l.push(\\\"lon: \\\"+r(s[0])):o&&l.push(\\\"lat: \\\"+r(s[1])),i||-1!==n.indexOf(\\\"text\\\")){var u;e.htx?u=e.htx:t.hovertext?u=t.hovertext:e.tx?u=e.tx:t.text&&(u=t.text),Array.isArray(u)||l.push(u)}return l.join(\\\"<br>\\\")}var i=t(\\\"../../components/fx\\\"),a=t(\\\"../scatter/get_trace_color\\\"),o=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r){function s(t){var e=t.lonlat;if(e[0]===o)return 1/0;var n=Math.abs(c.c2p(e)-c.c2p([p,e[1]])),i=Math.abs(h.c2p(e)-h.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)}var l=t.cd,u=l[0].trace,c=t.xa,h=t.ya,f=e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360),d=360*f,p=e-d;if(i.getClosest(l,s,t),!1!==t.index){var m=l[t.index],v=m.lonlat,g=[v[0]+d,v[1]],y=c.c2p(g),b=h.c2p(g),x=m.mrc||1;return t.x0=y-x,t.x1=y+x,t.y0=b-x,t.y1=b+x,t.color=a(u,m),t.extraText=n(u,m),[t]}}},{\\\"../../components/fx\\\":644,\\\"../../constants/numerical\\\":705,\\\"../scatter/get_trace_color\\\":1035}],1082:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"../scattergeo/calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattermapbox\\\",n.basePlotModule=t(\\\"../../plots/mapbox\\\"),n.categories=[\\\"mapbox\\\",\\\"gl\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatterlike\\\"],n.meta={},e.exports=n},{\\\"../../plots/mapbox\\\":823,\\\"../scatter/colorbar\\\":1030,\\\"../scattergeo/calc\\\":1065,\\\"./attributes\\\":1077,\\\"./defaults\\\":1079,\\\"./event_data\\\":1080,\\\"./hover\\\":1081,\\\"./plot\\\":1083,\\\"./select\\\":1084}],1083:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+\\\"-source-fill\\\",this.idSourceLine=e+\\\"-source-line\\\",this.idSourceCircle=e+\\\"-source-circle\\\",this.idSourceSymbol=e+\\\"-source-symbol\\\",this.idLayerFill=e+\\\"-layer-fill\\\",this.idLayerLine=e+\\\"-layer-line\\\",this.idLayerCircle=e+\\\"-layer-circle\\\",this.idLayerSymbol=e+\\\"-layer-symbol\\\",this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:\\\"fill\\\"}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:\\\"line\\\"}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:\\\"circle\\\"}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:\\\"symbol\\\"})}function i(t){return\\\"visible\\\"===t.layout.visibility}var a=t(\\\"./convert\\\"),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,\\\"setLayoutProperty\\\",r.fill.layout),e.setOptions(this.idLayerLine,\\\"setLayoutProperty\\\",r.line.layout),e.setOptions(this.idLayerCircle,\\\"setLayoutProperty\\\",r.circle.layout),e.setOptions(this.idLayerSymbol,\\\"setLayoutProperty\\\",r.symbol.layout),i(r.fill)&&(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,\\\"setPaintProperty\\\",r.fill.paint)),i(r.line)&&(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,\\\"setPaintProperty\\\",r.line.paint)),i(r.circle)&&(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,\\\"setPaintProperty\\\",r.circle.paint)),i(r.symbol)&&(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,\\\"setPaintProperty\\\",r.symbol.paint)),t[0].trace._glTrace=this},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=e[0].trace,i=new n(t,r.uid);return i.update(e),i}},{\\\"./convert\\\":1078}],1084:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){var r,i,a,o,s,l=t.cd,u=t.xaxis,c=t.yaxis,h=[],f=l[0].trace;if(f._hasDimmedPts=!1,!0===f.visible&&n.hasMarkers(f)){if(!1===e)for(s=0;s<l.length;s++)l[s].dim=0;else for(s=0;s<l.length;s++)r=l[s],i=r.lonlat,a=u.c2p(i),o=c.c2p(i),e.contains([a,o])?(f._hasDimmedPts=!0,h.push({pointNumber:s,lon:i[0],lat:i[1]}),r.dim=0):r.dim=1;return f._glTrace.update(l),h}}},{\\\"../scatter/subtypes\\\":1047}],1085:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../lib/extend\\\").extendFlat,u=n.marker,c=n.line,h=u.line;e.exports={a:{valType:\\\"data_array\\\"},b:{valType:\\\"data_array\\\"},c:{valType:\\\"data_array\\\"},sum:{valType:\\\"number\\\",dflt:0,min:0},mode:l({},n.mode,{dflt:\\\"markers\\\"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:c.color,width:c.width,dash:s,shape:l({},c.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:c.smoothing},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:n.fillcolor,marker:l({},{symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:l({},{width:h.width},a(\\\"marker\\\".line)),gradient:u.gradient},a(\\\"marker\\\"),{showscale:u.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,hoverinfo:l({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scatter/attributes\\\":1027}],1086:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/colorscale_calc\\\"),s=t(\\\"../scatter/arrays_to_calcdata\\\"),l=[\\\"a\\\",\\\"b\\\",\\\"c\\\"],u={a:[\\\"b\\\",\\\"c\\\"],b:[\\\"a\\\",\\\"c\\\"],c:[\\\"a\\\",\\\"b\\\"]};e.exports=function(t,e){var r,c,h,f,d,p,m=t._fullLayout[e.subplot],v=m.sum,g=e.sum||v;for(r=0;r<l.length;r++)if(h=l[r],!e[h]){for(d=e[u[h][0]],p=e[u[h][1]],f=new Array(d.length),c=0;c<d.length;c++)f[c]=g-d[c]-p[c];e[h]=f}var y,b,x,_,w,M,k=e.a.length,A=new Array(k);for(r=0;r<k;r++)y=e.a[r],b=e.b[r],x=e.c[r],n(y)&&n(b)&&n(x)?(y=+y,b=+b,x=+x,_=v/(y+b+x),1!==_&&(y*=_,b*=_,x*=_),M=y,w=x-b,A[r]={x:w,y:M,a:y,b:b,c:x}):A[r]={x:!1,y:!1};var T,S;if(a.hasMarkers(e)&&(T=e.marker,S=T.size,Array.isArray(S))){var E={type:\\\"linear\\\"};i.setConvert(E),S=E.makeCalcdata(e.marker,\\\"size\\\"),S.length>k&&S.splice(k,S.length-k)}return o(e),s(A,e),A}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031,\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1087:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/line_shape_defaults\\\"),u=t(\\\"../scatter/text_defaults\\\"),c=t(\\\"../scatter/fillcolor_defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p,m=d(\\\"a\\\"),v=d(\\\"b\\\"),g=d(\\\"c\\\");if(m?(p=m.length,v?(p=Math.min(p,v.length),g&&(p=Math.min(p,g.length))):p=g?Math.min(p,g.length):0):v&&g&&(p=Math.min(v.length,g.length)),!p)return void(e.visible=!1);m&&p<m.length&&(e.a=m.slice(0,p)),v&&p<v.length&&(e.b=v.slice(0,p)),g&&p<g.length&&(e.c=g.slice(0,p)),d(\\\"sum\\\"),d(\\\"text\\\"),d(\\\"hovertext\\\"),d(\\\"mode\\\",p<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,f,d),l(t,e,d),d(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,f,d,{gradient:!0}),a.hasText(e)&&u(t,e,f,d);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(d(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),d(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||l(t,e,d)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||y.push(\\\"fills\\\"),d(\\\"hoveron\\\",y.join(\\\"+\\\")||\\\"points\\\"),d(\\\"cliponaxis\\\")}},{\\\"../../lib\\\":725,\\\"../scatter/constants\\\":1032,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/line_shape_defaults\\\":1040,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1085}],1088:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e,r,a){function o(t,e){g.push(t._hovertitle+\\\": \\\"+i.tickText(t,e,\\\"hover\\\").text)}var s=n(t,e,r,a);if(s&&!1!==s[0].index){var l=s[0];if(void 0===l.index){var u=1-l.y0/t.ya._length,c=t.xa._length,h=c*u/2,f=c-h;return l.x0=Math.max(Math.min(l.x0,f),h),l.x1=Math.max(Math.min(l.x1,f),h),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,m=p._ternary,v=p.hoverinfo.split(\\\"+\\\"),g=[];return-1!==v.indexOf(\\\"all\\\")&&(v=[\\\"a\\\",\\\"b\\\",\\\"c\\\"]),-1!==v.indexOf(\\\"a\\\")&&o(m.aaxis,d.a),-1!==v.indexOf(\\\"b\\\")&&o(m.baxis,d.b),-1!==v.indexOf(\\\"c\\\")&&o(m.caxis,d.c),l.extraText=g.join(\\\"<br>\\\"),s}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/hover\\\":1036}],1089:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatterternary\\\",n.basePlotModule=t(\\\"../../plots/ternary\\\"),n.categories=[\\\"ternary\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/ternary\\\":837,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1085,\\\"./calc\\\":1086,\\\"./defaults\\\":1087,\\\"./hover\\\":1088,\\\"./plot\\\":1090,\\\"./select\\\":1091,\\\"./style\\\":1092}],1090:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\");e.exports=function(t,e){var r=t.plotContainer;r.select(\\\".scatterlayer\\\").selectAll(\\\"*\\\").remove();for(var i={xaxis:t.xaxis,yaxis:t.yaxis,plot:r,layerClipId:t._hasClipOnAxisFalse?t.clipIdRelative:null},a=0;a<e.length;a++)e[a][0].trace._ternary=t;n(t.graphDiv,i,e)}},{\\\"../scatter/plot\\\":1044}],1091:[function(t,e,r){arguments[4][1062][0].apply(r,arguments)},{\\\"../scatter/select\\\":1045,dup:1062}],1092:[function(t,e,r){arguments[4][1063][0].apply(r,arguments)},{\\\"../scatter/style\\\":1046,dup:1063}],1093:[function(t,e,r){\\\"use strict\\\";function n(t){return{valType:\\\"boolean\\\",dflt:!1}}function i(t){return{show:{valType:\\\"boolean\\\",dflt:!1},project:{x:n(\\\"x\\\"),y:n(\\\"y\\\"),z:n(\\\"z\\\")},color:{valType:\\\"color\\\",dflt:a.defaultLine},usecolormap:{valType:\\\"boolean\\\",dflt:!1},width:{valType:\\\"number\\\",min:1,max:16,dflt:2},highlight:{valType:\\\"boolean\\\",dflt:!0},highlightcolor:{valType:\\\"color\\\",dflt:a.defaultLine},highlightwidth:{valType:\\\"number\\\",min:1,max:16,dflt:2}}}var a=t(\\\"../../components/color\\\"),o=t(\\\"../../components/colorscale/attributes\\\"),s=t(\\\"../../components/colorbar/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat;e.exports={z:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:{valType:\\\"data_array\\\"},surfacecolor:{valType:\\\"data_array\\\"},cauto:o.zauto,cmin:o.zmin,cmax:o.zmax,colorscale:o.colorscale,autocolorscale:l({},o.autocolorscale,{dflt:!1}),reversescale:o.reversescale,showscale:o.showscale,colorbar:s,contours:{x:i(\\\"x\\\"),y:i(\\\"y\\\"),z:i(\\\"z\\\")},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},_deprecated:{zauto:l({},o.zauto,{}),zmin:l({},o.zmin,{}),zmax:l({},o.zmax,{})}}},{\\\"../../components/color\\\":603,\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716}],1094:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\\\"\\\",\\\"c\\\"):n(e,e.z,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":609}],1095:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,u=r.cmin,c=r.cmax,h=r.surfacecolor||r.z;if(n(u)||(u=i.aggNums(Math.min,null,h)),n(c)||(c=i.aggNums(Math.max,null,h)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var f=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});f.fillcolor(d).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],1096:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=p(t[1]),i=n.toRgb();return{index:r,rgb:[i.r,i.g,i.b,e]}})}function a(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]}function o(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=c(new Float32Array(r[0]*r[1]),r);return d.assign(n.lo(1,1).hi(e[0],e[1]),t),d.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),d.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),d.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),d.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}function s(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<v){for(var r=v/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],i=n[0]*n[1],a=0;a<t.length;++a){var s=o(t[a]),l=c(new Float32Array(i),n);h(l,s,[r,0,0,0,r,0,0,0,1]),t[a]=l}return r}return 1}function l(t,e){var r=t.glplot.gl,i=u({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}var u=t(\\\"gl-surface3d\\\"),c=t(\\\"ndarray\\\"),h=t(\\\"ndarray-homography\\\"),f=t(\\\"ndarray-fill\\\"),d=t(\\\"ndarray-ops\\\"),p=t(\\\"tinycolor2\\\"),m=t(\\\"../../lib/str2rgbarray\\\"),v=128,g=n.prototype;g.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return i&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=\\\"\\\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},g.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},g.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,o=this.surface,l=t.opacity,u=i(t.colorscale,l),h=t.z,d=t.x,p=t.y,v=n.xaxis,g=n.yaxis,y=n.zaxis,b=r.dataScale,x=h[0].length,_=h.length,w=[c(new Float32Array(x*_),[x,_]),c(new Float32Array(x*_),[x,_]),c(new Float32Array(x*_),[x,_])],M=w[0],k=w[1],A=r.contourLevels;this.data=t;var T=t.xcalendar,S=t.ycalendar,E=t.zcalendar;f(w[2],function(t,e){return y.d2l(h[e][t],0,E)*b[2]}),Array.isArray(d[0])?f(M,function(t,e){return v.d2l(d[e][t],0,T)*b[0]}):f(M,function(t){return v.d2l(d[t],0,T)*b[0]}),Array.isArray(p[0])?f(k,function(t,e){return g.d2l(p[e][t],0,S)*b[1]}):f(k,function(t,e){return g.d2l(p[e],0,S)*b[1]});var L={colormap:u,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],opacity:t.opacity};if(L.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var C=c(new Float32Array(x*_),[x,_]);f(C,function(e,r){return t.surfacecolor[r][e]}),w.push(C)}else L.intensityBounds[0]*=b[2],L.intensityBounds[1]*=b[2];this.dataScale=s(w),t.surfacecolor&&(L.intensity=w.pop());var z=[!0,!0,!0],I=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(e=0;e<3;++e){var D=t.contours[I[e]];z[e]=D.highlight,L.showContour[e]=D.show||D.highlight,L.showContour[e]&&(L.contourProject[e]=[D.project.x,D.project.y,D.project.z],D.show?(this.showContour[e]=!0,L.levels[e]=A[e],o.highlightColor[e]=L.contourColor[e]=m(D.color),D.usecolormap?o.highlightTint[e]=L.contourTint[e]=0:o.highlightTint[e]=L.contourTint[e]=1,L.contourWidth[e]=D.width):this.showContour[e]=!1,D.highlight&&(L.dynamicColor[e]=m(D.highlightcolor),L.dynamicWidth[e]=D.highlightwidth))}a(u)&&(L.vertexColor=!0),L.coords=w,o.update(L),o.visible=t.visible,o.enableDynamic=z,o.snapToData=!0,\\\"lighting\\\"in t&&(o.ambientLight=t.lighting.ambient,o.diffuseLight=t.lighting.diffuse,o.specularLight=t.lighting.specular,o.roughness=t.lighting.roughness,o.fresnel=t.lighting.fresnel),\\\"lightposition\\\"in t&&(o.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),l&&l<1&&(o.supportsTransparency=!0)},g.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=l},{\\\"../../lib/str2rgbarray\\\":744,\\\"gl-surface3d\\\":265,ndarray:466,\\\"ndarray-fill\\\":456,\\\"ndarray-homography\\\":458,\\\"ndarray-ops\\\":460,tinycolor2:533}],1097:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function u(r,n){return a.coerce(t,e,s,r,n)}var c,h,f=u(\\\"z\\\");if(!f)return void(e.visible=!1);var d=f[0].length,p=f.length;if(u(\\\"x\\\"),u(\\\"y\\\"),i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],l),!Array.isArray(e.x))for(e.x=[],c=0;c<d;++c)e.x[c]=c;if(u(\\\"text\\\"),!Array.isArray(e.y))for(e.y=[],c=0;c<p;++c)e.y[c]=c;[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"hidesurface\\\",\\\"opacity\\\"].forEach(function(t){u(t)});var m=u(\\\"surfacecolor\\\");u(\\\"colorscale\\\");var v=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(c=0;c<3;++c){var g=\\\"contours.\\\"+v[c],y=u(g+\\\".show\\\"),b=u(g+\\\".highlight\\\");if(y||b)for(h=0;h<3;++h)u(g+\\\".project.\\\"+v[h]);y&&(u(g+\\\".color\\\"),u(g+\\\".width\\\"),u(g+\\\".usecolormap\\\")),b&&(u(g+\\\".highlightcolor\\\"),u(g+\\\".highlightwidth\\\"))}m||(n(t,\\\"zmin\\\",\\\"cmin\\\"),n(t,\\\"zmax\\\",\\\"cmax\\\"),n(t,\\\"zauto\\\",\\\"cauto\\\")),o(t,e,l,u,{prefix:\\\"\\\",cLetter:\\\"c\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":1093}],1098:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"surface\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"2dMap\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":809,\\\"./attributes\\\":1093,\\\"./calc\\\":1094,\\\"./colorbar\\\":1095,\\\"./convert\\\":1096,\\\"./defaults\\\":1097}],1099:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(n.enabled){for(var a=n.target,o=u.nestedProperty(e,a),s=o.get(),c=l.getDataConversions(t,e,a,s),h=i(n,c),f=new Array(r.length),d=0;d<r.length;d++)f[d]=h(s,r[d]);o.set(f)}}function i(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\\\"count\\\":return a;case\\\"first\\\":return o;case\\\"last\\\":return s;case\\\"sum\\\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==h&&(r+=o)}return i(r)};case\\\"avg\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==h&&(r+=s,a++)}return a?i(r/a):h};case\\\"min\\\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==h&&(r=Math.min(r,o))}return r===1/0?h: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!==h&&(r=Math.max(r,o))}return r===-1/0?h:i(r)};case\\\"median\\\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==h&&r.push(o)}if(!r.length)return h;r.sort();var s=(r.length-1)/2;return i((r[Math.floor(s)]+r[Math.ceil(s)])/2)};case\\\"mode\\\":return function(t,e){for(var r={},a=0,o=h,s=0;s<e.length;s++){var l=n(t[e[s]]);if(l!==h){var u=r[l]=(r[l]||0)+1;u>a&&(a=u,o=l)}}return a?i(o):h};case\\\"rms\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==h&&(r+=s*s,a++)}return a?i(Math.sqrt(r/a)):h};case\\\"stddev\\\":return function(e,r){var i,a=0,o=0,s=1,l=h;for(i=0;i<r.length&&l===h;i++)l=n(e[r[i]]);if(l===h)return h;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==h){var c=u-l;a+=c,o+=c*c,s++}}var f=\\\"sample\\\"===t.funcmode?s-1:s;return f?Math.sqrt((o-a*a/s)/f):0}}}function a(t,e){return e.length}function o(t,e){return t[e[0]]}function s(t,e){return t[e[e.length-1]]}var l=t(\\\"../plots/cartesian/axes\\\"),u=t(\\\"../lib\\\"),c=t(\\\"../plot_api/plot_schema\\\"),h=t(\\\"../constants/numerical\\\").BADNUM;r.moduleType=\\\"transform\\\",r.name=\\\"aggregate\\\";var f=r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},groups:{valType:\\\"string\\\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\\\"x\\\"},aggregations:{_isLinkedToArray:\\\"aggregation\\\",target:{valType:\\\"string\\\"},func:{valType:\\\"enumerated\\\",values:[\\\"count\\\",\\\"sum\\\",\\\"avg\\\",\\\"median\\\",\\\"mode\\\",\\\"rms\\\",\\\"stddev\\\",\\\"min\\\",\\\"max\\\",\\\"first\\\",\\\"last\\\"],dflt:\\\"first\\\"},funcmode:{valType:\\\"enumerated\\\",values:[\\\"sample\\\",\\\"population\\\"],dflt:\\\"sample\\\"},enabled:{valType:\\\"boolean\\\",dflt:!0}}},d=f.aggregations;r.supplyDefaults=function(t,e){function r(e,r){return u.coerce(t,a,f,e,r)}function n(t,e){return u.coerce(p[i],h,d,t,e)}var i,a={};if(!r(\\\"enabled\\\"))return a;var o=c.findArrayAttributes(e),s={};for(i=0;i<o.length;i++)s[o[i]]=1;var l=r(\\\"groups\\\");if(!Array.isArray(l)){if(!s[l])return void(a.enabled=!1);s[l]=0}var h,p=t.aggregations,m=a.aggregations=new Array(p.length);if(p)for(i=0;i<p.length;i++){h={};var v=n(\\\"target\\\"),g=n(\\\"func\\\"),y=n(\\\"enabled\\\");y&&v&&(s[v]||\\\"count\\\"===g&&void 0===s[v])?(\\\"stddev\\\"===g&&n(\\\"funcmode\\\"),s[v]=0,m[i]=h):m[i]={enabled:!1}}for(i=0;i<o.length;i++)s[o[i]]&&m.push({target:o[i],func:d.func.dflt,enabled:!0});return a},r.calcTransform=function(t,e,r){if(r.enabled){var i=r.groups,a=u.getTargetArray(e,{target:i});if(a){var o,s,l,c={},h=[];for(o=0;o<a.length;o++)s=a[o],l=c[s],void 0===l?(c[s]=h.length,h.push([o])):h[l].push(o);var f=r.aggregations;for(o=0;o<f.length;o++)n(t,e,h,f[o]);\\\"string\\\"==typeof i&&n(t,e,h,{target:i,func:\\\"first\\\",enabled:!0})}}}},{\\\"../constants/numerical\\\":705,\\\"../lib\\\":725,\\\"../plot_api/plot_schema\\\":755,\\\"../plots/cartesian/axes\\\":766}],1100:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){return-1!==t.indexOf(a)}var i,a=t.operation,o=t.value,c=Array.isArray(o),h=function(r){return e(r,0,t.valuecalendar)},f=function(t){return e(t,0,r)};switch(n(s)?i=h(c?o[0]:o):n(l)?i=c?[h(o[0]),h(o[1])]:[h(o),h(o)]:n(u)&&(i=c?o.map(h):[h(o)]),a){case\\\"=\\\":return function(t){return f(t)===i};case\\\"!=\\\":return function(t){return f(t)!==i};case\\\"<\\\":return function(t){return f(t)<i};case\\\"<=\\\":return function(t){return f(t)<=i};case\\\">\\\":return function(t){return f(t)>i};case\\\">=\\\":return function(t){return f(t)>=i};case\\\"[]\\\":return function(t){var e=f(t);return e>=i[0]&&e<=i[1]};case\\\"()\\\":return function(t){var e=f(t);return e>i[0]&&e<i[1]};case\\\"[)\\\":return function(t){var e=f(t);return e>=i[0]&&e<i[1]};case\\\"(]\\\":return function(t){var e=f(t);return e>i[0]&&e<=i[1]};case\\\"][\\\":return function(t){var e=f(t);return e<=i[0]||e>=i[1]};case\\\")(\\\":return function(t){var e=f(t);return e<i[0]||e>i[1]};case\\\"](\\\":return function(t){var e=f(t);return e<=i[0]||e>i[1]};case\\\")[\\\":return function(t){var e=f(t);return e<i[0]||e>=i[1]};case\\\"{}\\\":return function(t){return-1!==i.indexOf(f(t))};case\\\"}{\\\":return function(t){return-1===i.indexOf(f(t))}}}var i=t(\\\"../lib\\\"),a=t(\\\"../registry\\\"),o=t(\\\"../plots/cartesian/axes\\\"),s=[\\\"=\\\",\\\"!=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],l=[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],u=[\\\"{}\\\",\\\"}{\\\"];r.moduleType=\\\"transform\\\",r.name=\\\"filter\\\",r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},target:{valType:\\\"string\\\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\\\"x\\\"},operation:{valType:\\\"enumerated\\\",values:[].concat(s).concat(l).concat(u),dflt:\\\"=\\\"},value:{valType:\\\"any\\\",dflt:0},preservegaps:{valType:\\\"boolean\\\",dflt:!1}},r.supplyDefaults=function(t){function e(e,a){return i.coerce(t,n,r.attributes,e,a)}var n={};if(e(\\\"enabled\\\")){e(\\\"preservegaps\\\"),e(\\\"operation\\\"),e(\\\"value\\\"),e(\\\"target\\\");var o=a.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\");o(t,n,\\\"valuecalendar\\\",null),o(t,n,\\\"targetcalendar\\\",null)}return n},r.calcTransform=function(t,e,r){function a(t,r){for(var n=0;n<h.length;n++){t(i.nestedProperty(e,h[n]),r)}}if(r.enabled){var s=i.getTargetArray(e,r);if(s){var l=r.target,u=s.length,c=r.targetcalendar,h=e._arrayAttrs;if(\\\"string\\\"==typeof l){var f=i.nestedProperty(e,l+\\\"calendar\\\").get();f&&(c=f)}var d,p,m=o.getDataToCoordFunc(t,e,l,s),v=n(r,m,c),g={};r.preservegaps?(d=function(t){g[t.astr]=i.extendDeep([],t.get()),t.set(new Array(u))},p=function(t,e){var r=g[t.astr][e];t.get()[e]=r}):(d=function(t){g[t.astr]=i.extendDeep([],t.get()),t.set([])},p=function(t,e){var r=g[t.astr][e];t.get().push(r)}),a(d);for(var y=0;y<u;y++){v(s[y])&&a(p,y)}}}}},{\\\"../lib\\\":725,\\\"../plots/cartesian/axes\\\":766,\\\"../registry\\\":844}],1101:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,s,l,u,c,h,f,d,p,m=e.transform,v=t.transforms[e.transformIndex].groups;if(!Array.isArray(v)||0===v.length)return[t];var g=i.filterUnique(v),y=new Array(g.length),b=v.length,x=a.findArrayAttributes(t),_=m.styles||[],w={};for(r=0;r<_.length;r++)w[_[r].target]=_[r].value;m.styles&&(p=i.keyedContainer(m,\\\"styles\\\",\\\"target\\\",\\\"value.name\\\"));var M={};for(r=0;r<g.length;r++){c=g[r],M[c]=r,h=y[r]=i.extendDeepNoArrays({},t),h._group=c;var k=null;for(p&&(k=p.get(c)),h.name=k||i.templateString(m.nameformat,{trace:t.name,group:c}),f=h.transforms,h.transforms=[],n=0;n<f.length;n++)h.transforms[n]=i.extendDeepNoArrays({},f[n]);for(n=0;n<x.length;n++)i.nestedProperty(h,x[n]).set([])}for(s=0;s<x.length;s++){for(l=x[s],n=0,d=[];n<g.length;n++)d[n]=i.nestedProperty(y[n],l).get();for(u=i.nestedProperty(t,l).get(),n=0;n<b;n++)d[M[v[n]]].push(u[n])}for(r=0;r<g.length;r++)c=g[r],h=y[r],o.clearExpandedTraceDefaultColors(h),h=i.extendDeepNoArrays(h,w[c]||{});return y}var i=t(\\\"../lib\\\"),a=t(\\\"../plot_api/plot_schema\\\"),o=t(\\\"../plots/plots\\\");r.moduleType=\\\"transform\\\",r.name=\\\"groupby\\\",r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},groups:{valType:\\\"data_array\\\",dflt:[]},nameformat:{valType:\\\"string\\\"},styles:{_isLinkedToArray:\\\"style\\\",target:{valType:\\\"string\\\"},value:{valType:\\\"any\\\",dflt:{}}}},r.supplyDefaults=function(t,e,n){function a(e,n){return i.coerce(t,s,r.attributes,e,n)}var o,s={};if(!a(\\\"enabled\\\"))return s;a(\\\"groups\\\"),a(\\\"nameformat\\\",n._dataLength>1?\\\"%{group} (%{trace})\\\":\\\"%{group}\\\");var l=t.styles,u=s.styles=[];if(l)for(o=0;o<l.length;o++)u[o]={},i.coerce(l[o],u[o],r.attributes.styles,\\\"target\\\"),i.coerce(l[o],u[o],r.attributes.styles,\\\"value\\\");return s},r.transform=function(t,e){var r,i,a,o=[];for(i=0;i<t.length;i++)for(r=n(t[i],e),a=0;a<r.length;a++)o.push(r[a]);return o}},{\\\"../lib\\\":725,\\\"../plot_api/plot_schema\\\":755,\\\"../plots/plots\\\":829}],1102:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=e.length,a=new Array(n),o=e.slice().sort(i(t,r)),s=0;s<n;s++)for(var l=e[s],u=0;u<n;u++){var c=o[u];if(l===c){a[u]=s,o[u]=null;break}}return a}function i(t,e){switch(t.order){case\\\"ascending\\\":return function(t,r){return e(t)-e(r)};case\\\"descending\\\":return function(t,r){return e(r)-e(t)}}}var a=t(\\\"../lib\\\"),o=t(\\\"../plots/cartesian/axes\\\");r.moduleType=\\\"transform\\\",r.name=\\\"sort\\\",r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},target:{valType:\\\"string\\\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\\\"x\\\"},order:{valType:\\\"enumerated\\\",values:[\\\"ascending\\\",\\\"descending\\\"],dflt:\\\"ascending\\\"}},r.supplyDefaults=function(t){function e(e,i){return a.coerce(t,n,r.attributes,e,i)}var n={};return e(\\\"enabled\\\")&&(e(\\\"target\\\"),e(\\\"order\\\")),n},r.calcTransform=function(t,e,r){if(r.enabled){var i=a.getTargetArray(e,r);if(i)for(var s=r.target,l=i.length,u=e._arrayAttrs,c=o.getDataToCoordFunc(t,e,s,i),h=n(r,i,c),f=0;f<u.length;f++){for(var d=a.nestedProperty(e,u[f]),p=d.get(),m=new Array(l),v=0;v<l;v++)m[v]=p[h[v]];d.set(m)}}}},{\\\"../lib\\\":725,\\\"../plots/cartesian/axes\\\":766}]},{},[20])(20)});\\n\",\n       \"});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>\"\n      ],\n      \"text/vnd.plotly.v1+html\": [\n       \"<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\\n\",\n       \"* plotly.js v1.30.0\\n\",\n       \"* Copyright 2012-2017, Plotly, Inc.\\n\",\n       \"* All rights reserved.\\n\",\n       \"* Licensed under the MIT license\\n\",\n       \"*/\\n\",\n       \"!function(t){if(\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module)module.exports=t();else if(\\\"function\\\"==typeof define&&define.amd)define([],t);else{var e;e=\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:this,e.Plotly=t()}}(function(){var t;return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\\\"function\\\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error(\\\"Cannot find module '\\\"+o+\\\"'\\\");throw u.code=\\\"MODULE_NOT_FOUND\\\",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,function(t){var r=e[o][1][t];return i(r||t)},c,c.exports,t,e,r,n)}return r[o].exports}for(var a=\\\"function\\\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../src/lib\\\"),i={\\\"X,X div\\\":\\\"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 .modebar\\\":\\\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\\\",\\\"X .modebar--hover\\\":\\\"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\\\":\\\"opacity:1;\\\",\\\"X .modebar-group\\\":\\\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\\\",\\\"X .modebar-group:first-child\\\":\\\"margin-left:0px;\\\",\\\"X .modebar-btn\\\":\\\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\\\",\\\"X .modebar-btn svg\\\":\\\"position:relative;top:2px;\\\",\\\"X .modebar-btn path\\\":\\\"fill:rgba(0,31,95,0.3);\\\",\\\"X .modebar-btn.active path,X .modebar-btn:hover path\\\":\\\"fill:rgba(0,22,72,0.5);\\\",\\\"X .modebar-btn.modebar-btn--logo\\\":\\\"padding:3px 1px;\\\",\\\"X .modebar-btn.modebar-btn--logo path\\\":\\\"fill:#447adb !important;\\\",\\\"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 .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';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;\\\",\\\"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 a in i){var o=a.replace(/^,/,\\\" ,\\\").replace(/X/g,\\\".js-plotly-plot .plotly\\\").replace(/Y/g,\\\".plotly-notifier\\\");n.addStyleRule(o,i[a])}},{\\\"../src/lib\\\":725}],2:[function(t,e,r){\\\"use strict\\\";e.exports={undo:{width:857.1,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\\\",ascent:850,descent:-150},home:{width:928.6,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\\\",ascent:850,descent:-150},\\\"camera-retro\\\":{width: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\\\",ascent:850,descent:-150},zoombox:{width: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\\\",ascent:850,descent:-150},pan:{width: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\\\",ascent:850,descent:-150},zoom_plus:{width: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\\\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\\\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\\\",ascent:850,descent:-150},autoscale:{width: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\\\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\\\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\\\",ascent:850,descent:-150},tooltip_compare:{width:1125,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\\\",ascent:850,descent:-150},plotlylogo:{width:1542,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\\\",ascent:850,descent:-150},\\\"z-axis\\\":{width: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\\\",ascent:850,descent:-150},\\\"3d_rotate\\\":{width: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\\\",ascent:850,descent:-150},camera:{width: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\\\",ascent:850,descent:-150},movie:{width: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\\\",ascent:850,descent:-150},question:{width:857.1,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\\\",ascent:850,descent:-150},disk:{width:857.1,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\\\",ascent:850,descent:-150},lasso:{width:1031,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\\\",ascent:850,descent:-150},selectbox:{width: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\\\",ascent:850,descent:-150},spikeline:{width: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\\\",ascent:850,descent:-150}}},{}],3:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/aggregate\\\")},{\\\"../src/transforms/aggregate\\\":1099}],4:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/bar\\\")},{\\\"../src/traces/bar\\\":858}],5:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/box\\\")},{\\\"../src/traces/box\\\":870}],6:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/components/calendars\\\")},{\\\"../src/components/calendars\\\":601}],7:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/candlestick\\\")},{\\\"../src/traces/candlestick\\\":878}],8:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/carpet\\\")},{\\\"../src/traces/carpet\\\":899}],9:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/choropleth\\\")},{\\\"../src/traces/choropleth\\\":914}],10:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contour\\\")},{\\\"../src/traces/contour\\\":925}],11:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contourcarpet\\\")},{\\\"../src/traces/contourcarpet\\\":940}],12:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/core\\\")},{\\\"../src/core\\\":708}],13:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/filter\\\")},{\\\"../src/transforms/filter\\\":1100}],14:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/groupby\\\")},{\\\"../src/transforms/groupby\\\":1101}],15:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmap\\\")},{\\\"../src/traces/heatmap\\\":953}],16:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmapgl\\\")},{\\\"../src/traces/heatmapgl\\\":962}],17:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram\\\")},{\\\"../src/traces/histogram\\\":970}],18:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2d\\\")},{\\\"../src/traces/histogram2d\\\":975}],19:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2dcontour\\\")},{\\\"../src/traces/histogram2dcontour\\\":979}],20:[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(\\\"./pie\\\"),t(\\\"./contour\\\"),t(\\\"./scatterternary\\\"),t(\\\"./sankey\\\"),t(\\\"./scatter3d\\\"),t(\\\"./surface\\\"),t(\\\"./mesh3d\\\"),t(\\\"./scattergeo\\\"),t(\\\"./choropleth\\\"),t(\\\"./scattergl\\\"),t(\\\"./pointcloud\\\"),t(\\\"./heatmapgl\\\"),t(\\\"./parcoords\\\"),t(\\\"./scattermapbox\\\"),t(\\\"./carpet\\\"),t(\\\"./scattercarpet\\\"),t(\\\"./contourcarpet\\\"),t(\\\"./ohlc\\\"),t(\\\"./candlestick\\\")]),n.register([t(\\\"./aggregate\\\"),t(\\\"./filter\\\"),t(\\\"./groupby\\\"),t(\\\"./sort\\\")]),n.register([t(\\\"./calendars\\\")]),e.exports=n},{\\\"./aggregate\\\":3,\\\"./bar\\\":4,\\\"./box\\\":5,\\\"./calendars\\\":6,\\\"./candlestick\\\":7,\\\"./carpet\\\":8,\\\"./choropleth\\\":9,\\\"./contour\\\":10,\\\"./contourcarpet\\\":11,\\\"./core\\\":12,\\\"./filter\\\":13,\\\"./groupby\\\":14,\\\"./heatmap\\\":15,\\\"./heatmapgl\\\":16,\\\"./histogram\\\":17,\\\"./histogram2d\\\":18,\\\"./histogram2dcontour\\\":19,\\\"./mesh3d\\\":21,\\\"./ohlc\\\":22,\\\"./parcoords\\\":23,\\\"./pie\\\":24,\\\"./pointcloud\\\":25,\\\"./sankey\\\":26,\\\"./scatter3d\\\":27,\\\"./scattercarpet\\\":28,\\\"./scattergeo\\\":29,\\\"./scattergl\\\":30,\\\"./scattermapbox\\\":31,\\\"./scatterternary\\\":32,\\\"./sort\\\":33,\\\"./surface\\\":34}],21:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/mesh3d\\\")},{\\\"../src/traces/mesh3d\\\":985}],22:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/ohlc\\\")},{\\\"../src/traces/ohlc\\\":990}],23:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/parcoords\\\")},{\\\"../src/traces/parcoords\\\":999}],24:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pie\\\")},{\\\"../src/traces/pie\\\":1008}],25:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pointcloud\\\")},{\\\"../src/traces/pointcloud\\\":1017}],26:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/sankey\\\")},{\\\"../src/traces/sankey\\\":1023}],27:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatter3d\\\")},{\\\"../src/traces/scatter3d\\\":1055}],28:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattercarpet\\\")},{\\\"../src/traces/scattercarpet\\\":1060}],29:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergeo\\\")},{\\\"../src/traces/scattergeo\\\":1069}],30:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergl\\\")},{\\\"../src/traces/scattergl\\\":1075}],31:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattermapbox\\\")},{\\\"../src/traces/scattermapbox\\\":1082}],32:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterternary\\\")},{\\\"../src/traces/scatterternary\\\":1089}],33:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/sort\\\")},{\\\"../src/transforms/sort\\\":1102}],34:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/surface\\\")},{\\\"../src/traces/surface\\\":1098}],35:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(e,r,n,a){var o=1/t.clientHeight,s=o*(r-m),l=o*(n-v),c=p.flipX?1:-1,f=p.flipY?1:-1,d=Math.PI*p.rotateSpeed,y=i();if(1&e)a.shift?u.rotate(y,0,0,-s*d):u.rotate(y,c*d*s,-f*d*l,0);else if(2&e)u.pan(y,-p.translateSpeed*s*h,p.translateSpeed*l*h,0);else if(4&e){var b=p.zoomSpeed*l/window.innerHeight*(y-u.lastT())*50;u.pan(y,0,0,h*(Math.exp(b)-1))}m=r,v=n,g=a}t=t||document.body,e=e||{};var n=[.01,1/0];\\\"distanceLimits\\\"in e&&(n[0]=e.distanceLimits[0],n[1]=e.distanceLimits[1]),\\\"zoomMin\\\"in e&&(n[0]=e.zoomMin),\\\"zoomMax\\\"in e&&(n[1]=e.zoomMax);var u=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:n}),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,d=t.clientHeight,p={view:u,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:u.modes,tick:function(){var e=i(),r=this.delay;u.idle(e-r),u.flush(e-(100+2*r));var n=e-2*r;u.recalcMatrix(n);for(var a=!0,o=u.computedMatrix,s=0;s<16;++s)a=a&&c[s]===o[s],c[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===d;return f=t.clientWidth,d=t.clientHeight,a?!l:(h=Math.exp(u.computedRadius[0]),!0)},lookAt:function(t,e,r){u.lookAt(u.lastT(),t,e,r)},rotate:function(t,e,r){u.rotate(u.lastT(),t,e,r)},pan:function(t,e,r){u.pan(u.lastT(),t,e,r)},translate:function(t,e,r){u.translate(u.lastT(),t,e,r)}};Object.defineProperties(p,{matrix:{get:function(){return u.computedMatrix},set:function(t){return u.setMatrix(u.lastT(),t),u.computedMatrix},enumerable:!0},mode:{get:function(){return u.getMode()},set:function(t){return u.setMode(t),u.getMode()},enumerable:!0},center:{get:function(){return u.computedCenter},set:function(t){return u.lookAt(u.lastT(),t),u.computedCenter},enumerable:!0},eye:{get:function(){return u.computedEye},set:function(t){return u.lookAt(u.lastT(),null,t),u.computedEye},enumerable:!0},up:{get:function(){return u.computedUp},set:function(t){return u.lookAt(u.lastT(),null,null,t),u.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return u.setDistance(u.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return u.getDistanceLimits(n)},set:function(t){return u.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var m=0,v=0,g={shift:!1,control:!1,alt:!1,meta:!1};return o(t,r),t.addEventListener(\\\"touchstart\\\",function(e){var n=l(e.changedTouches[0],t);r(0,n[0],n[1],g),r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchmove\\\",function(e){var n=l(e.changedTouches[0],t);r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchend\\\",function(e){l(e.changedTouches[0],t);r(0,m,v,g)}),s(t,function(t,e,r){var n=p.flipX?1:-1,a=p.flipY?1:-1,o=i();if(Math.abs(t)>Math.abs(e))u.rotate(o,0,0,-t*n*Math.PI*p.rotateSpeed/window.innerWidth);else{var s=p.zoomSpeed*a*e/window.innerHeight*(o-u.lastT())/100;u.pan(o,0,0,h*(Math.exp(s)-1))}},!0),p}e.exports=n;var i=t(\\\"right-now\\\"),a=t(\\\"3d-view\\\"),o=t(\\\"mouse-change\\\"),s=t(\\\"mouse-wheel\\\"),l=t(\\\"mouse-event-offset\\\")},{\\\"3d-view\\\":36,\\\"mouse-change\\\":451,\\\"mouse-event-offset\\\":452,\\\"mouse-wheel\\\":454,\\\"right-now\\\":501}],36:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t){t=t||{};var e=t.eye||[0,0,1],r=t.center||[0,0,0],i=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||\\\"turntable\\\",c=a(),h=o(),f=s();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,i),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,i),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,i),new n({turntable:c,orbit:h,matrix:f},u)}e.exports=i;var a=t(\\\"turntable-camera-controller\\\"),o=t(\\\"orbit-camera-controller\\\"),s=t(\\\"matrix-camera-controller\\\"),l=n.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 i=\\\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\\\"+t[0]+\\\"(\\\"+r.join()+\\\")}\\\";l[e]=Function.apply(null,r.concat(i))}),l.recalcMatrix=function(t){this._active.recalcMatrix(t)},l.getDistance=function(t){return this._active.getDistance(t)},l.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},l.lastT=function(){return this._active.lastT()},l.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,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}}},l.getMode=function(){return this._mode}},{\\\"matrix-camera-controller\\\":449,\\\"orbit-camera-controller\\\":472,\\\"turntable-camera-controller\\\":537}],37:[function(e,r,n){!function(i,a){\\\"object\\\"==typeof n&&void 0!==r?a(n,e(\\\"d3-array\\\"),e(\\\"d3-collection\\\"),e(\\\"d3-interpolate\\\")):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\",\\\"d3-array\\\",\\\"d3-collection\\\",\\\"d3-interpolate\\\"],a):a(i.d3=i.d3||{},i.d3,i.d3,i.d3)}(this,function(t,e,r,n){\\\"use strict\\\";var i=function(){function t(){v.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),g.forEach(function(t,e){var r=t.source,n=t.target;\\\"number\\\"==typeof r&&(r=t.source=v[t.source]),\\\"number\\\"==typeof n&&(n=t.target=v[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)})}function i(){v.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h))})}function a(){for(var t,e=v,r=0;e.length;)t=[],e.forEach(function(e){e.x=r,e.dx=d,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),e=t,++r;o(r),s((m[0]-d)/(r-1))}function o(t){v.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})}function s(t){v.forEach(function(e){e.x*=t})}function l(t){function n(){a.forEach(function(t){var e,r,n,a=0,o=t.length;for(t.sort(i),n=0;n<o;++n)e=t[n],r=a-e.y,r>0&&(e.y+=r),a=e.y+e.dy+p;if((r=a-p-m[1])>0)for(a=e.y-=r,n=o-2;n>=0;--n)e=t[n],r=e.y+e.dy+p-a,r>0&&(e.y-=r),a=e.y})}function i(t,e){return t.y-e.y}var a=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(v).map(function(t){return t.values});!function(){var t=e.min(a,function(t){return(m[1]-(t.length-1)*p)/e.sum(t,h)});a.forEach(function(e){e.forEach(function(e,r){e.y=r,e.dy=e.value*t})}),g.forEach(function(e){e.dy=e.value*t})}(),n();for(var o=1;t>0;--t)!function(t){function r(t){return c(t.target)*t.value}a.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,h);n.y+=(i-c(n))*t}})})}(o*=.99),n(),function(t){function r(t){return c(t.source)*t.value}a.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,h);n.y+=(i-c(n))*t}})})}(o),n()}function u(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}v.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),v.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function c(t){return t.y+t.dy/2}function h(t){return t.value}var f={},d=24,p=8,m=[1,1],v=[],g=[];return f.nodeWidth=function(t){return arguments.length?(d=+t,f):d},f.nodePadding=function(t){return arguments.length?(p=+t,f):p},f.nodes=function(t){return arguments.length?(v=t,f):v},f.links=function(t){return arguments.length?(g=t,f):g},f.size=function(t){return arguments.length?(m=t,f):m},f.layout=function(e){return t(),i(),a(),l(e),u(),f},f.relayout=function(){return u(),f},f.link=function(){function t(t){var r=t.source.x+t.source.dx,i=t.target.x,a=n.interpolateNumber(r,i),o=a(e),s=a(1-e),l=t.source.y+t.sy,u=l+t.dy,c=t.target.y+t.ty,h=c+t.dy;return\\\"M\\\"+r+\\\",\\\"+l+\\\"C\\\"+o+\\\",\\\"+l+\\\" \\\"+s+\\\",\\\"+c+\\\" \\\"+i+\\\",\\\"+c+\\\"L\\\"+i+\\\",\\\"+h+\\\"C\\\"+s+\\\",\\\"+h+\\\" \\\"+o+\\\",\\\"+u+\\\" \\\"+r+\\\",\\\"+u+\\\"Z\\\"}var e=.5;return t.curvature=function(r){return arguments.length?(e=+r,t):e},t},f};t.sankey=i,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{\\\"d3-array\\\":113,\\\"d3-collection\\\":114,\\\"d3-interpolate\\\":118}],38:[function(t,e,r){\\\"use strict\\\";function n(t){var e=s.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=o(t,[{buffer:n,type:t.FLOAT,size:2}]),e._triangleBuffer=n,s.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}var i=\\\"undefined\\\"==typeof WeakMap?t(\\\"weak-map\\\"):WeakMap,a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-vao\\\"),s=new i;e.exports=n},{\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270,\\\"weak-map\\\":558}],39:[function(t,e,r){function n(t,e,r){e=\\\"number\\\"==typeof e?e:1,r=r||\\\": \\\";var n=t.split(/\\\\r?\\\\n/),a=String(n.length+e-1).length;return n.map(function(t,n){var o=n+e,s=String(o).length;return i(o,a-s)+r+t}).join(\\\"\\\\n\\\")}var i=t(\\\"pad-left\\\");e.exports=n},{\\\"pad-left\\\":473}],40:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(var n=0;n<=t.length;++n){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-n,s);r[i]=o}if(a.apply(void 0,r))return!0}return!1}function i(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,i=[t[0]],a=[0],o=1;o<e;++o)if(i.push(t[o]),n(i,r)){if(a.push(o),a.length===r+1)return a}else i.pop();return a}e.exports=i;var a=t(\\\"robust-orientation\\\")},{\\\"robust-orientation\\\":507}],41:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(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})}e.exports=n;var i=t(\\\"delaunay-triangulate\\\"),a=t(\\\"circumradius\\\")},{circumradius:86,\\\"delaunay-triangulate\\\":122}],42:[function(t,e,r){function n(t,e){return a(i(t,e))}e.exports=n;var i=t(\\\"alpha-complex\\\"),a=t(\\\"simplicial-complex-boundary\\\")},{\\\"alpha-complex\\\":41,\\\"simplicial-complex-boundary\\\":515}],43:[function(t,e,r){\\\"use strict\\\";function n(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 i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}e.exports=n},{}],44:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!t||null==t.length)throw Error(\\\"Argument should be an array\\\");null==e&&(e=1),null==r&&(r=i(t,e));for(var n=0;n<e;n++){var a=r[e+n],o=r[n],s=n,l=t.length;if(a===1/0&&o===-1/0)for(s=n;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=n;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=n;s<l;s+=e)t[s]=t[s]===o?0:1;else{var u=a-o;for(s=n;s<l;s+=e)t[s]=(t[s]-o)/u}}return t}var i=t(\\\"array-bounds\\\");e.exports=n},{\\\"array-bounds\\\":43}],45:[function(t,e,r){\\\"use strict\\\";e.exports=function(){function t(t){return!Array.isArray(t)&&null!==t&&\\\"object\\\"==typeof t}function e(t,e,r){for(var n=(e-t)/Math.max(r-1,1),i=[],a=0;a<r;a++)i.push(t+a*n);return i}function r(){for(var t=[].slice.call(arguments),e=t.map(function(t){return t.length}),r=Math.min.apply(null,e),n=[],i=0;i<r;i++){n[i]=[];for(var a=0;a<t.length;++a)n[i][a]=t[a][i]}return n}function n(t,e,r){for(var n=Math.min.apply(null,[t.length,e.length,r.length]),i=[],a=0;a<n;a++)i.push([t[a],e[a],r[a]]);return i}function i(t){function e(t){for(var n=0;n<t.length;n++)Array.isArray(t[n])?e(t[n],r):r+=t[n]}var r=0;return e(t,r),r}function a(t){for(var e=[],r=0;r<t.length;++r){e[r]=[];for(var n=0;n<t[r].length;++n)e[r][n]=t[r][n]}return e}function o(t){for(var e=[],r=0;r<t.length;++r)e[r]=t[r];return e}function s(t,e){if(t.length!==e.length)return!1;for(var r=t.length;r--;)if(t[r]!==e[r])return!1;return!0}function l(t,e){var r,n;if(\\\"string\\\"!=typeof t)return t;if(r=[],\\\"#\\\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3])),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}function u(t,e){var r,n;if(\\\"string\\\"!=typeof t)return t;if(r=[],\\\"#\\\"===t[0]?(t=t.substr(1),3===t.length&&(t+=t),n=parseInt(t,16),r[0]=n>>16&255,r[1]=n>>8&255,r[2]=255&n):h.test(t)&&(n=t.match(f),r[0]=parseInt(n[1]),r[1]=parseInt(n[2]),r[2]=parseInt(n[3]),n[4]?r[3]=parseFloat(n[4]):r[3]=1),!e)for(var i=0;i<3;++i)r[i]=r[i]/255;return r}var c={},h=/^rgba?\\\\(\\\\s*\\\\d{1,3}\\\\s*,\\\\s*\\\\d{1,3}\\\\s*,\\\\s*\\\\d{1,3}\\\\s*(,.*)?\\\\)$/,f=/^rgba?\\\\(\\\\s*(\\\\d{1,3})\\\\s*,\\\\s*(\\\\d{1,3})\\\\s*,\\\\s*(\\\\d{1,3})\\\\s*,?\\\\s*(.*)?\\\\)$/;return c.isPlainObject=t,c.linspace=e,c.zip3=n,c.sum=i,c.zip=r,c.isEqual=s,c.copy2D=a,c.copy1D=o,c.str2RgbArray=l,c.str2RgbaArray=u,c}()},{}],46:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];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)}function a(t){return Object.prototype.toString.call(t)}function o(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))))}function s(t){if(x.isFunction(t)){if(M)return t.name;var e=t.toString(),r=e.match(A);return r&&r[1]}}function l(t,e){return\\\"string\\\"==typeof t?t.length<e?t:t.slice(0,e):t}function u(t){if(M||!x.isFunction(t))return x.inspect(t);var e=s(t);return\\\"[Function\\\"+(e?\\\": \\\"+e:\\\"\\\")+\\\"]\\\"}function c(t){return l(u(t.actual),128)+\\\" \\\"+t.operator+\\\" \\\"+l(u(t.expected),128)}function h(t,e,r,n,i){throw new k.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function f(t,e){t||h(t,!0,e,\\\"==\\\",k.ok)}function d(t,e,r,s){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(x.isDate(t)&&x.isDate(e))return t.getTime()===e.getTime();if(x.isRegExp(t)&&x.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(o(t)&&o(e)&&a(t)===a(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;s=s||{actual:[],expected:[]};var l=s.actual.indexOf(t);return-1!==l&&l===s.expected.indexOf(e)||(s.actual.push(t),s.expected.push(e),m(t,e,r,s))}return r?t===e:t==e}function p(t){return\\\"[object Arguments]\\\"==Object.prototype.toString.call(t)}function m(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(x.isPrimitive(t)||x.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=p(t),a=p(e);if(i&&!a||!i&&a)return!1;if(i)return t=w.call(t),e=w.call(e),d(t,e,r);var o,s,l=T(t),u=T(e);if(l.length!==u.length)return!1;for(l.sort(),u.sort(),s=l.length-1;s>=0;s--)if(l[s]!==u[s])return!1;for(s=l.length-1;s>=0;s--)if(o=l[s],!d(t[o],e[o],r,n))return!1;return!0}function v(t,e,r){d(t,e,!0)&&h(t,e,r,\\\"notDeepStrictEqual\\\",v)}function g(t,e){if(!t||!e)return!1\\n\",\n       \";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 y(t){var e;try{t()}catch(t){e=t}return e}function b(t,e,r,n){var i;if(\\\"function\\\"!=typeof e)throw new TypeError('\\\"block\\\" argument must be a function');\\\"string\\\"==typeof r&&(n=r,r=null),i=y(e),n=(r&&r.name?\\\" (\\\"+r.name+\\\").\\\":\\\".\\\")+(n?\\\" \\\"+n:\\\".\\\"),t&&!i&&h(i,r,\\\"Missing expected exception\\\"+n);var a=\\\"string\\\"==typeof n,o=!t&&x.isError(i),s=!t&&i&&!r;if((o&&a&&g(i,r)||s)&&h(i,r,\\\"Got unwanted exception\\\"+n),t&&i&&r&&!g(i,r)||!t&&i)throw i}var x=t(\\\"util/\\\"),_=Object.prototype.hasOwnProperty,w=Array.prototype.slice,M=function(){return\\\"foo\\\"===function(){}.name}(),k=e.exports=f,A=/\\\\s*function\\\\s+([^\\\\(\\\\s]*)\\\\s*/;k.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=c(this),this.generatedMessage=!0);var e=t.stackStartFunction||h;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=s(e),a=n.indexOf(\\\"\\\\n\\\"+i);if(a>=0){var o=n.indexOf(\\\"\\\\n\\\",a+1);n=n.substring(o+1)}this.stack=n}}},x.inherits(k.AssertionError,Error),k.fail=h,k.ok=f,k.equal=function(t,e,r){t!=e&&h(t,e,r,\\\"==\\\",k.equal)},k.notEqual=function(t,e,r){t==e&&h(t,e,r,\\\"!=\\\",k.notEqual)},k.deepEqual=function(t,e,r){d(t,e,!1)||h(t,e,r,\\\"deepEqual\\\",k.deepEqual)},k.deepStrictEqual=function(t,e,r){d(t,e,!0)||h(t,e,r,\\\"deepStrictEqual\\\",k.deepStrictEqual)},k.notDeepEqual=function(t,e,r){d(t,e,!1)&&h(t,e,r,\\\"notDeepEqual\\\",k.notDeepEqual)},k.notDeepStrictEqual=v,k.strictEqual=function(t,e,r){t!==e&&h(t,e,r,\\\"===\\\",k.strictEqual)},k.notStrictEqual=function(t,e,r){t===e&&h(t,e,r,\\\"!==\\\",k.notStrictEqual)},k.throws=function(t,e,r){b(!0,t,e,r)},k.doesNotThrow=function(t,e,r){b(!1,t,e,r)},k.ifError=function(t){if(t)throw t};var T=Object.keys||function(t){var e=[];for(var r in t)_.call(t,r)&&e.push(r);return e}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"util/\\\":548}],47:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],48:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}function i(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(var o=0;o<=r;++o)i[r][o]=1;for(var u=new Array(r+1),o=0;o<r;++o)u[o]=e[o];u[r]=1;var c=a(i,u),h=n(c[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=n(c[o])/h;return f}e.exports=i;var a=t(\\\"robust-linear-solve\\\")},{\\\"robust-linear-solve\\\":506}],49:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],50:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}e.exports=n},{}],51:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[1]),t[1].mul(e[0]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],52:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(i(t))return e?u(t,n(e)):[t[0].clone(),t[1].clone()];var r,c,h=0;if(a(t))r=t.clone();else if(\\\"string\\\"==typeof t)r=s(t);else{if(0===t)return[o(0),o(1)];if(t===Math.floor(t))r=o(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),h-=256;r=o(t)}}if(i(e))r.mul(e[1]),c=e[0].clone();else if(a(e))c=e.clone();else if(\\\"string\\\"==typeof e)c=s(e);else if(e)if(e===Math.floor(e))c=o(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h+=256;c=o(e)}else c=o(1);return h>0?r=r.ushln(h):h<0&&(c=c.ushln(-h)),l(r,c)}var i=t(\\\"./is-rat\\\"),a=t(\\\"./lib/is-bn\\\"),o=t(\\\"./lib/num-to-bn\\\"),s=t(\\\"./lib/str-to-bn\\\"),l=t(\\\"./lib/rationalize\\\"),u=t(\\\"./div\\\");e.exports=n},{\\\"./div\\\":51,\\\"./is-rat\\\":53,\\\"./lib/is-bn\\\":57,\\\"./lib/num-to-bn\\\":58,\\\"./lib/rationalize\\\":59,\\\"./lib/str-to-bn\\\":60}],53:[function(t,e,r){\\\"use strict\\\";function n(t){return Array.isArray(t)&&2===t.length&&i(t[0])&&i(t[1])}var i=t(\\\"./lib/is-bn\\\");e.exports=n},{\\\"./lib/is-bn\\\":57}],54:[function(t,e,r){\\\"use strict\\\";function n(t){return t.cmp(new i(0))}var i=t(\\\"bn.js\\\");e.exports=n},{\\\"bn.js\\\":67}],55:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length,r=t.words,n=0;if(1===e)n=r[0];else if(2===e)n=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];n+=o*Math.pow(67108864,a)}return i(t)*n}var i=t(\\\"./bn-sign\\\");e.exports=n},{\\\"./bn-sign\\\":54}],56:[function(t,e,r){\\\"use strict\\\";function n(t){var e=a(i.lo(t));if(e<32)return e;var r=a(i.hi(t));return r>20?52:r+32}var i=t(\\\"double-bits\\\"),a=t(\\\"bit-twiddle\\\").countTrailingZeros;e.exports=n},{\\\"bit-twiddle\\\":66,\\\"double-bits\\\":123}],57:[function(t,e,r){\\\"use strict\\\";function n(t){return t&&\\\"object\\\"==typeof t&&Boolean(t.words)}t(\\\"bn.js\\\");e.exports=n},{\\\"bn.js\\\":67}],58:[function(t,e,r){\\\"use strict\\\";function n(t){var e=a.exponent(t);return e<52?new i(t):new i(t*Math.pow(2,52-e)).ushln(e-52)}var i=t(\\\"bn.js\\\"),a=t(\\\"double-bits\\\");e.exports=n},{\\\"bn.js\\\":67,\\\"double-bits\\\":123}],59:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=a(t),n=a(e);if(0===r)return[i(0),i(1)];if(0===n)return[i(0),i(0)];n<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}var i=t(\\\"./num-to-bn\\\"),a=t(\\\"./bn-sign\\\");e.exports=n},{\\\"./bn-sign\\\":54,\\\"./num-to-bn\\\":58}],60:[function(t,e,r){\\\"use strict\\\";function n(t){return new i(t)}var i=t(\\\"bn.js\\\");e.exports=n},{\\\"bn.js\\\":67}],61:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[0]),t[1].mul(e[1]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],62:[function(t,e,r){\\\"use strict\\\";function n(t){return i(t[0])*i(t[1])}var i=t(\\\"./lib/bn-sign\\\");e.exports=n},{\\\"./lib/bn-sign\\\":54}],63:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}var i=t(\\\"./lib/rationalize\\\");e.exports=n},{\\\"./lib/rationalize\\\":59}],64:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.abs().divmod(r.abs()),o=n.div,s=i(o),l=n.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=a(s)+4,h=i(l.ushln(c).divRound(r));return u*(s+h*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=i(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),u*h*Math.pow(2,1023-f))}var i=t(\\\"./lib/bn-to-num\\\"),a=t(\\\"./lib/ctz\\\");e.exports=n},{\\\"./lib/bn-to-num\\\":55,\\\"./lib/ctz\\\":56}],65:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){var o=[\\\"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\\\",i?\\\".get(m)\\\":\\\"[m]\\\"];return a?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(\\\"}\\\"),a?o.push(\\\"return -1};\\\"):o.push(\\\"return i};\\\"),o.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!1,i),n(\\\"B\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!0,i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!1,i),n(\\\"Q\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!0,i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],66:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";function n(t){var e=32;return t&=-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,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,(e|=r)|t>>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 t-=t>>>1&1431655765,16843009*((t=(858993459&t)+(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 i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return t&=65535,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e&=65535,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},r.deinterleave2=function(t,e){return t=t>>>e&1431655765,t=858993459&(t|t>>>1),t=252645135&(t|t>>>2),t=16711935&(t|t>>>4),(t=65535&(t|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t&=1023,t=4278190335&(t|t<<16),t=251719695&(t|t<<8),t=3272356035&(t|t<<4),t=1227133513&(t|t<<2),e&=1023,e=4278190335&(e|e<<16),e=251719695&(e|e<<8),e=3272356035&(e|e<<4),e=1227133513&(e|e<<2),t|=e<<1,r&=1023,r=4278190335&(r|r<<16),r=251719695&(r|r<<8),r=3272356035&(r|r<<4),r=1227133513&(r|r<<2),t|r<<2},r.deinterleave3=function(t,e){return t=t>>>e&1227133513,t=3272356035&(t|t>>>2),t=251719695&(t|t>>>4),t=4278190335&(t|t>>>8),(t=1023&(t|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],67:[function(t,e,r){!function(e,r){\\\"use strict\\\";function n(t,e){if(!t)throw new Error(e||\\\"Assertion failed\\\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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\\\"))}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}function l(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}function u(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,h=67108863&l,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var p=u-d|0;i=0|t.words[p],a=0|e.words[d],o=i*a+h,c+=o/67108864|0,h=67108863&o}r.words[u]=0|h,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}function c(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),u=Math.max(0,a-t.length+1);u<=l;u++){var c=a-u,h=0|t.words[c],f=0|e.words[u],d=h*f,p=67108863&d;o=o+(d/67108864|0)|0,p=p+s|0,s=67108863&p,o=o+(p>>>26)|0,i+=o>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}function h(t,e,r){return(new f).mulp(t,e,r)}function f(t,e){this.x=t,this.y=e}function d(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function p(){d.call(this,\\\"k256\\\",\\\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\\\")}function m(){d.call(this,\\\"p224\\\",\\\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\\\")}function v(){d.call(this,\\\"p192\\\",\\\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\\\")}function g(){d.call(this,\\\"25519\\\",\\\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\\\")}function y(t){if(\\\"string\\\"==typeof t){var e=a._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 b(t){y.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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)}\\\"object\\\"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;var x;try{x=t(\\\"buffer\\\").Buffer}catch(t){}a.isBN=function(t){return t instanceof a||null!==t&&\\\"object\\\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.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),t=t.toString().replace(/\\\\s+/g,\\\"\\\");var i=0;\\\"-\\\"===t[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\\\"-\\\"===t[0]&&(this.negative=1),this.strip(),\\\"le\\\"===r&&this._initArray(this.toArray(),e,r)},a.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)},a.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 i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\\\"be\\\"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\\\"le\\\"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.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,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=o(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=o(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,u=0,c=r;c<l;c+=n)u=s(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==o){var h=1;for(u=s(t,c,t.length,e),c=0;c<o;c++)h*=e;this.imuln(h),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},a.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},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\\\"<BN-R: \\\":\\\"<BN: \\\")+this.toString(16)+\\\">\\\"};var _=[\\\"\\\",\\\"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\\\"],w=[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],M=[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];a.prototype.toString=function(t,e){t=t||10,e=0|e||1;var r;if(16===t||\\\"hex\\\"===t){r=\\\"\\\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);a=s>>>24-i&16777215,r=0!==a||o!==this.length-1?_[6-l.length]+l+r:l+r,i+=2,i>=26&&(i-=26,o--)}for(0!==a&&(r=a.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 u=w[t],c=M[t];r=\\\"\\\";var h=this.clone();for(h.negative=0;!h.isZero();){var f=h.modn(c).toString(t);h=h.idivn(c),r=h.isZero()?f+r:_[u-f.length]+f+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\\\")},a.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},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==x),this.toArrayLike(x,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\\\"byte array longer than desired length\\\"),n(a>0,\\\"Requested array length <= 0\\\"),this.strip();var o,s,l=\\\"le\\\"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.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},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.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()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.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()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.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()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.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 i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\\\"number\\\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e;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();var r,n;this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.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)},a.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=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;var n,i;r>0?(n=this,i=t):(n=t,i=this);for(var a=0,o=0;o<i.length;o++)e=(0|n.words[o])-(0|i.words[o])+a,a=e>>26,this.words[o]=67108863&e;for(;0!==a&&o<n.length;o++)e=(0|n.words[o])+a,a=e>>26,this.words[o]=67108863&e;if(0===a&&o<n.length&&n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var k=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,u=0,c=0|o[0],h=8191&c,f=c>>>13,d=0|o[1],p=8191&d,m=d>>>13,v=0|o[2],g=8191&v,y=v>>>13,b=0|o[3],x=8191&b,_=b>>>13,w=0|o[4],M=8191&w,k=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,z=0|o[7],I=8191&z,D=z>>>13,P=0|o[8],O=8191&P,R=P>>>13,F=0|o[9],j=8191&F,N=F>>>13,B=0|s[0],U=8191&B,V=B>>>13,H=0|s[1],q=8191&H,G=H>>>13,Y=0|s[2],X=8191&Y,W=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,ft=ct>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,n=Math.imul(h,U),i=Math.imul(h,V),i=i+Math.imul(f,U)|0,a=Math.imul(f,V);var vt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,U),i=Math.imul(p,V),i=i+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(h,q)|0,i=i+Math.imul(h,G)|0,i=i+Math.imul(f,q)|0,a=a+Math.imul(f,G)|0;var gt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,U),i=Math.imul(g,V),i=i+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(p,q)|0,i=i+Math.imul(p,G)|0,i=i+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(h,X)|0,i=i+Math.imul(h,W)|0,i=i+Math.imul(f,X)|0,a=a+Math.imul(f,W)|0;var yt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(x,U),i=Math.imul(x,V),i=i+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(g,q)|0,i=i+Math.imul(g,G)|0,i=i+Math.imul(y,q)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(p,X)|0,i=i+Math.imul(p,W)|0,i=i+Math.imul(m,X)|0,a=a+Math.imul(m,W)|0,n=n+Math.imul(h,J)|0,i=i+Math.imul(h,K)|0,i=i+Math.imul(f,J)|0,a=a+Math.imul(f,K)|0;var bt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=Math.imul(M,V),i=i+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(x,q)|0,i=i+Math.imul(x,G)|0,i=i+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(g,X)|0,i=i+Math.imul(g,W)|0,i=i+Math.imul(y,X)|0,a=a+Math.imul(y,W)|0,n=n+Math.imul(p,J)|0,i=i+Math.imul(p,K)|0,i=i+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0,n=n+Math.imul(h,$)|0,i=i+Math.imul(h,tt)|0,i=i+Math.imul(f,$)|0,a=a+Math.imul(f,tt)|0;var xt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=Math.imul(T,V),i=i+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(M,q)|0,i=i+Math.imul(M,G)|0,i=i+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(x,X)|0,i=i+Math.imul(x,W)|0,i=i+Math.imul(_,X)|0,a=a+Math.imul(_,W)|0,n=n+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0,i=i+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(p,$)|0,i=i+Math.imul(p,tt)|0,i=i+Math.imul(m,$)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(h,rt)|0,i=i+Math.imul(h,nt)|0,i=i+Math.imul(f,rt)|0,a=a+Math.imul(f,nt)|0;var _t=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=Math.imul(L,V),i=i+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(T,q)|0,i=i+Math.imul(T,G)|0,i=i+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,X)|0,i=i+Math.imul(M,W)|0,i=i+Math.imul(k,X)|0,a=a+Math.imul(k,W)|0,n=n+Math.imul(x,J)|0,i=i+Math.imul(x,K)|0,i=i+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0,i=i+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=i+Math.imul(p,nt)|0,i=i+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(h,at)|0,i=i+Math.imul(h,ot)|0,i=i+Math.imul(f,at)|0,a=a+Math.imul(f,ot)|0;var wt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),i=Math.imul(I,V),i=i+Math.imul(D,U)|0,a=Math.imul(D,V),n=n+Math.imul(L,q)|0,i=i+Math.imul(L,G)|0,i=i+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(T,X)|0,i=i+Math.imul(T,W)|0,i=i+Math.imul(S,X)|0,a=a+Math.imul(S,W)|0,n=n+Math.imul(M,J)|0,i=i+Math.imul(M,K)|0,i=i+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(x,$)|0,i=i+Math.imul(x,tt)|0,i=i+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0,i=i+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(p,at)|0,i=i+Math.imul(p,ot)|0,i=i+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(h,lt)|0,i=i+Math.imul(h,ut)|0,i=i+Math.imul(f,lt)|0,a=a+Math.imul(f,ut)|0;var Mt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,U),i=Math.imul(O,V),i=i+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(I,q)|0,i=i+Math.imul(I,G)|0,i=i+Math.imul(D,q)|0,a=a+Math.imul(D,G)|0,n=n+Math.imul(L,X)|0,i=i+Math.imul(L,W)|0,i=i+Math.imul(C,X)|0,a=a+Math.imul(C,W)|0,n=n+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,i=i+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=i+Math.imul(M,tt)|0,i=i+Math.imul(k,$)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(x,rt)|0,i=i+Math.imul(x,nt)|0,i=i+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(g,at)|0,i=i+Math.imul(g,ot)|0,i=i+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(p,lt)|0,i=i+Math.imul(p,ut)|0,i=i+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(h,ht)|0,i=i+Math.imul(h,ft)|0,i=i+Math.imul(f,ht)|0,a=a+Math.imul(f,ft)|0;var kt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,U),i=Math.imul(j,V),i=i+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(O,q)|0,i=i+Math.imul(O,G)|0,i=i+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(I,X)|0,i=i+Math.imul(I,W)|0,i=i+Math.imul(D,X)|0,a=a+Math.imul(D,W)|0,n=n+Math.imul(L,J)|0,i=i+Math.imul(L,K)|0,i=i+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,i=i+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=i+Math.imul(M,nt)|0,i=i+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(x,at)|0,i=i+Math.imul(x,ot)|0,i=i+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(g,lt)|0,i=i+Math.imul(g,ut)|0,i=i+Math.imul(y,lt)|0,a=a+Math.imul(y,ut)|0,n=n+Math.imul(p,ht)|0,i=i+Math.imul(p,ft)|0,i=i+Math.imul(m,ht)|0,a=a+Math.imul(m,ft)|0,n=n+Math.imul(h,pt)|0,i=i+Math.imul(h,mt)|0,i=i+Math.imul(f,pt)|0,a=a+Math.imul(f,mt)|0;var At=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(j,q),i=Math.imul(j,G),i=i+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(O,X)|0,i=i+Math.imul(O,W)|0,i=i+Math.imul(R,X)|0,a=a+Math.imul(R,W)|0,n=n+Math.imul(I,J)|0,i=i+Math.imul(I,K)|0,i=i+Math.imul(D,J)|0,a=a+Math.imul(D,K)|0,n=n+Math.imul(L,$)|0,i=i+Math.imul(L,tt)|0,i=i+Math.imul(C,$)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,i=i+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=i+Math.imul(M,ot)|0,i=i+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(x,lt)|0,i=i+Math.imul(x,ut)|0,i=i+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0,i=i+Math.imul(y,ht)|0,a=a+Math.imul(y,ft)|0,n=n+Math.imul(p,pt)|0,i=i+Math.imul(p,mt)|0,i=i+Math.imul(m,pt)|0,a=a+Math.imul(m,mt)|0;var Tt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,X),i=Math.imul(j,W),i=i+Math.imul(N,X)|0,a=Math.imul(N,W),n=n+Math.imul(O,J)|0,i=i+Math.imul(O,K)|0,i=i+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(I,$)|0,i=i+Math.imul(I,tt)|0,i=i+Math.imul(D,$)|0,a=a+Math.imul(D,tt)|0,n=n+Math.imul(L,rt)|0,i=i+Math.imul(L,nt)|0,i=i+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(T,at)|0,i=i+Math.imul(T,ot)|0,i=i+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=i+Math.imul(M,ut)|0,i=i+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(x,ht)|0,i=i+Math.imul(x,ft)|0,i=i+Math.imul(_,ht)|0,a=a+Math.imul(_,ft)|0,n=n+Math.imul(g,pt)|0,i=i+Math.imul(g,mt)|0,i=i+Math.imul(y,pt)|0,a=a+Math.imul(y,mt)|0;var St=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,J),i=Math.imul(j,K),i=i+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(O,$)|0,i=i+Math.imul(O,tt)|0,i=i+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(I,rt)|0,i=i+Math.imul(I,nt)|0,i=i+Math.imul(D,rt)|0,a=a+Math.imul(D,nt)|0,n=n+Math.imul(L,at)|0,i=i+Math.imul(L,ot)|0,i=i+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(T,lt)|0,i=i+Math.imul(T,ut)|0,i=i+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(M,ht)|0,i=i+Math.imul(M,ft)|0,i=i+Math.imul(k,ht)|0,a=a+Math.imul(k,ft)|0,n=n+Math.imul(x,pt)|0,i=i+Math.imul(x,mt)|0,i=i+Math.imul(_,pt)|0,a=a+Math.imul(_,mt)|0;var Et=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,$),i=Math.imul(j,tt),i=i+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=i+Math.imul(O,nt)|0,i=i+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(I,at)|0,i=i+Math.imul(I,ot)|0,i=i+Math.imul(D,at)|0,a=a+Math.imul(D,ot)|0,n=n+Math.imul(L,lt)|0,i=i+Math.imul(L,ut)|0,i=i+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0,i=i+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0,n=n+Math.imul(M,pt)|0,i=i+Math.imul(M,mt)|0,i=i+Math.imul(k,pt)|0,a=a+Math.imul(k,mt)|0;var Lt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(j,rt),i=Math.imul(j,nt),i=i+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(O,at)|0,i=i+Math.imul(O,ot)|0,i=i+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(I,lt)|0,i=i+Math.imul(I,ut)|0,i=i+Math.imul(D,lt)|0,a=a+Math.imul(D,ut)|0,n=n+Math.imul(L,ht)|0,i=i+Math.imul(L,ft)|0,i=i+Math.imul(C,ht)|0,a=a+Math.imul(C,ft)|0,n=n+Math.imul(T,pt)|0,i=i+Math.imul(T,mt)|0,\\n\",\n       \"i=i+Math.imul(S,pt)|0,a=a+Math.imul(S,mt)|0;var Ct=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,at),i=Math.imul(j,ot),i=i+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(O,lt)|0,i=i+Math.imul(O,ut)|0,i=i+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(I,ht)|0,i=i+Math.imul(I,ft)|0,i=i+Math.imul(D,ht)|0,a=a+Math.imul(D,ft)|0,n=n+Math.imul(L,pt)|0,i=i+Math.imul(L,mt)|0,i=i+Math.imul(C,pt)|0,a=a+Math.imul(C,mt)|0;var zt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(j,lt),i=Math.imul(j,ut),i=i+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(O,ht)|0,i=i+Math.imul(O,ft)|0,i=i+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0,n=n+Math.imul(I,pt)|0,i=i+Math.imul(I,mt)|0,i=i+Math.imul(D,pt)|0,a=a+Math.imul(D,mt)|0;var It=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ht),i=Math.imul(j,ft),i=i+Math.imul(N,ht)|0,a=Math.imul(N,ft),n=n+Math.imul(O,pt)|0,i=i+Math.imul(O,mt)|0,i=i+Math.imul(R,pt)|0,a=a+Math.imul(R,mt)|0;var Dt=(u+n|0)+((8191&i)<<13)|0;u=(a+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(j,pt),i=Math.imul(j,mt),i=i+Math.imul(N,pt)|0,a=Math.imul(N,mt);var Pt=(u+n|0)+((8191&i)<<13)|0;return u=(a+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,l[0]=vt,l[1]=gt,l[2]=yt,l[3]=bt,l[4]=xt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=kt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=zt,l[16]=It,l[17]=Dt,l[18]=Pt,0!==u&&(l[19]=u,r.length++),r};Math.imul||(k=u),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?k(this,t,e):r<63?u(this,t,e):r<1024?c(this,t,e):h(this,t,e)},f.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},f.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},f.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},f.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=l,f=u,d=0;d<o;d++){var p=r[c+d],m=n[c+d],v=r[c+d+o],g=n[c+d+o],y=h*v-f*g;g=h*g+f*v,v=y,r[c+d]=p+v,n[c+d]=m+g,r[c+d+o]=p-v,n[c+d+o]=m-g,d!==s&&(y=l*h-u*f,f=l*f+u*h,h=y)}},f.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},f.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},f.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},f.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},f.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},f.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=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,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,h,n,i);for(var d=0;d<n;d++){var p=s[d]*c[d]-l[d]*h[d];l[d]=s[d]*h[d]+l[d]*c[d],s[d]=p}return this.conjugate(s,l,n),this.transform(s,l,f,a,n,i),this.conjugate(f,a,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),h(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(\\\"number\\\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=l(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,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!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){n(\\\"number\\\"==typeof t&&t>=0);var i;i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|this.words[u];this.words[u]=c<<26-a|h>>>a,c=h&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.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 i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.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)},a.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},a.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()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a=t.length+r;this._expand(a);var o,s=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;o-=67108863&l,s=(o>>26)-(l/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)o=(0|this.words[i+r])+s,s=o>>26,this.words[i+r]=67108863&o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)o=-(0|this.words[i])+s,s=o>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=this.length-t.length,n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\\\"mod\\\"!==e){s=new a(null),s.length=l+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(i,1,l);0===c.negative&&(n=c,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,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}},a.prototype.divmod=function(t,e,r){if(n(!t.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var i,o,s;return 0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\\\"mod\\\"!==e&&(i=s.div.neg()),\\\"div\\\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\\\"mod\\\"!==e&&(i=s.div.neg()),{div:i,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 a(0),mod:this}:1===t.length?\\\"div\\\"===e?{div:this.divn(t.words[0]),mod:null}:\\\"mod\\\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e)},a.prototype.div=function(t){return this.divmod(t,\\\"div\\\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\\\"mod\\\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\\\"mod\\\",!0).mod},a.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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.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 i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.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 i=new a(1),o=new a(0),s=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,u=1;0==(e.words[0]&u)&&l<26;++l,u<<=1);if(l>0)for(e.iushrn(l);l-- >0;)i.isOdd()&&i.iadd(s),i.iushrn(1);for(var c=0,h=1;0==(r.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(r.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(o)):(r.isub(e),o.isub(i))}var f;return f=0===e.cmpn(1)?i:o,f.cmpn(0)<0&&f.iadd(t),f},a.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\\\"number\\\"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];s+=a,a=s>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e=t<0;if(0!==this.negative&&!e)return-1;if(0===this.negative&&e)return 1;this.strip();var r;if(this.length>1)r=1;else{e&&(t=-t),n(t<=67108863,\\\"Number is too big\\\");var i=0|this.words[0];r=i===t?0:i<t?-1:1}return 0!==this.negative?0|-r:r},a.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},a.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],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new y(t)},a.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)},a.prototype.fromRed=function(){return n(this.red,\\\"fromRed works only with numbers in reduction context\\\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\\\"Already a number in reduction context\\\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\\\"redAdd works only with red numbers\\\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\\\"redIAdd works only with red numbers\\\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\\\"redSub works only with red numbers\\\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\\\"redISub works only with red numbers\\\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\\\"redShl works only with red numbers\\\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\\\"redSqr works only with red numbers\\\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\\\"redISqr works only with red numbers\\\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\\\"redSqrt works only with red numbers\\\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\\\"redInvm works only with red numbers\\\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\\\"redNeg works only with red numbers\\\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,\\\"redPow(normalNum)\\\"),this.red._verify1(this),this.red.pow(this,t)};var A={k256:null,p224:null,p192:null,p25519:null};d.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},d.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.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},d.prototype.split=function(t,e){t.iushrn(this.n,0,e)},d.prototype.imulK=function(t){return t.imul(this.k)},i(p,d),p.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 i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},p.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},i(m,d),i(v,d),i(g,d),g.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(A[t])return A[t];var e;if(\\\"k256\\\"===t)e=new p;else if(\\\"p224\\\"===t)e=new m;else if(\\\"p192\\\"===t)e=new v;else{if(\\\"p25519\\\"!==t)throw new Error(\\\"Unknown prime \\\"+t);e=new g}return A[t]=e,e},y.prototype._verify1=function(t){n(0===t.negative,\\\"red works only with positives\\\"),n(t.red,\\\"red works only with red numbers\\\")},y.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\\\")},y.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},y.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},y.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)},y.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},y.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)},y.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},y.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},y.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},y.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},y.prototype.isqr=function(t){return this.imul(t,t.clone())},y.prototype.sqr=function(t){return this.mul(t,t)},y.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 a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var h=this.pow(c,i),f=this.pow(t,i.addn(1).iushrn(1)),d=this.pow(t,i),p=o;0!==d.cmp(s);){for(var m=d,v=0;0!==m.cmp(s);v++)m=m.redSqr();n(v<p);var g=this.pow(h,new a(1).iushln(p-v-1));f=f.redMul(g),h=g.redSqr(),d=d.redMul(h),p=v}return f},y.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},y.prototype.pow=function(t,e){if(e.isZero())return new a(1);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var h=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},y.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},y.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new b(t)},i(b,y),b.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},b.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},b.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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},b.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},b.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{}],68:[function(t,e,r){\\\"use strict\\\";function n(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),h=0;for(n=0;n<u;++n)n!==r&&(c[h++]=l[n]);if(1&r){var f=c[1];c[1]=c[0],c[0]=f}}}return o}e.exports=n},{}],69:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function i(t,e,r,i){for(var a=0,o=0,s=0,l=t.length;s<l;++s){var u=t[s];if(!n(e,u)){for(var c=0;c<2*e;++c)r[a++]=u[c];i[o++]=s}}return o}function a(t,e,r,n){var a=t.length,o=e.length;if(!(a<=0||o<=0)){var s=t[0].length>>>1;if(!(s<=0)){var l,u=h.mallocDouble(2*s*a),c=h.mallocInt32(a);if((a=i(t,s,u,c))>0){if(1===s&&n)f.init(a),l=f.sweepComplete(s,r,0,a,u,c,0,a,u,c);else{var p=h.mallocDouble(2*s*o),m=h.mallocInt32(o);o=i(e,s,p,m),o>0&&(f.init(a+o),l=1===s?f.sweepBipartite(s,r,0,a,u,c,0,o,p,m):d(s,r,n,a,u,c,o,p,m),h.free(p),h.free(m))}h.free(u),h.free(c)}return l}}}function o(t,e){c.push([t,e])}function s(t){return c=[],a(t,t,o,!0),c}function l(t,e){return c=[],a(t,e,o,!1),c}function u(t,e,r){switch(arguments.length){case 1:return s(t);case 2:return\\\"function\\\"==typeof e?a(t,t,e,!0):l(t,e);case 3:return a(t,e,r,!1);default:throw new Error(\\\"box-intersect: Invalid arguments\\\")}}e.exports=u;var c,h=t(\\\"typedarray-pool\\\"),f=t(\\\"./lib/sweep\\\"),d=t(\\\"./lib/intersect\\\")},{\\\"./lib/intersect\\\":71,\\\"./lib/sweep\\\":75,\\\"typedarray-pool\\\":540}],70:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=\\\"bruteForce\\\"+(t?\\\"Red\\\":\\\"Blue\\\")+(e?\\\"Flip\\\":\\\"\\\")+(r?\\\"Full\\\":\\\"\\\"),i=[\\\"function \\\",n,\\\"(\\\",w.join(),\\\"){\\\",\\\"var \\\",u,\\\"=2*\\\",a,\\\";\\\"],l=\\\"for(var i=\\\"+c+\\\",\\\"+p+\\\"=\\\"+u+\\\"*\\\"+c+\\\";i<\\\"+h+\\\";++i,\\\"+p+\\\"+=\\\"+u+\\\"){var x0=\\\"+f+\\\"[\\\"+o+\\\"+\\\"+p+\\\"],x1=\\\"+f+\\\"[\\\"+o+\\\"+\\\"+p+\\\"+\\\"+a+\\\"],xi=\\\"+d+\\\"[i];\\\",M=\\\"for(var j=\\\"+m+\\\",\\\"+b+\\\"=\\\"+u+\\\"*\\\"+m+\\\";j<\\\"+v+\\\";++j,\\\"+b+\\\"+=\\\"+u+\\\"){var y0=\\\"+g+\\\"[\\\"+o+\\\"+\\\"+b+\\\"],\\\"+(r?\\\"y1=\\\"+g+\\\"[\\\"+o+\\\"+\\\"+b+\\\"+\\\"+a+\\\"],\\\":\\\"\\\")+\\\"yi=\\\"+y+\\\"[j];\\\";return t?i.push(l,_,\\\":\\\",M):i.push(M,_,\\\":\\\",l),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=\\\"+o+\\\"+1;k<\\\"+a+\\\";++k){var r0=\\\"+f+\\\"[k+\\\"+p+\\\"],r1=\\\"+f+\\\"[k+\\\"+a+\\\"+\\\"+p+\\\"],b0=\\\"+g+\\\"[k+\\\"+b+\\\"],b1=\\\"+g+\\\"[k+\\\"+a+\\\"+\\\"+b+\\\"];if(r1<b0||b1<r0)continue \\\"+_+\\\";}var \\\"+x+\\\"=\\\"+s+\\\"(\\\"),e?i.push(\\\"yi,xi\\\"):i.push(\\\"xi,yi\\\"),i.push(\\\");if(\\\"+x+\\\"!==void 0)return \\\"+x+\\\";}}}\\\"),{name:n,code:i.join(\\\"\\\")}}function i(t){function e(e,r){var a=n(e,r,t);i.push(a.code),o.push(\\\"return \\\"+a.name+\\\"(\\\"+w.join()+\\\");\\\")}var r=\\\"bruteForce\\\"+(t?\\\"Full\\\":\\\"Partial\\\"),i=[],a=w.slice();t||a.splice(3,0,l);var o=[\\\"function \\\"+r+\\\"(\\\"+a.join()+\\\"){\\\"];o.push(\\\"if(\\\"+h+\\\"-\\\"+c+\\\">\\\"+v+\\\"-\\\"+m+\\\"){\\\"),t?(e(!0,!1),o.push(\\\"}else{\\\"),e(!1,!1)):(o.push(\\\"if(\\\"+l+\\\"){\\\"),e(!0,!0),o.push(\\\"}else{\\\"),e(!0,!1),o.push(\\\"}}else{if(\\\"+l+\\\"){\\\"),e(!1,!0),o.push(\\\"}else{\\\"),e(!1,!1),o.push(\\\"}\\\")),o.push(\\\"}}return \\\"+r);var s=i.join(\\\"\\\")+o.join(\\\"\\\");return new Function(s)()}var a=\\\"d\\\",o=\\\"ax\\\",s=\\\"vv\\\",l=\\\"fp\\\",u=\\\"es\\\",c=\\\"rs\\\",h=\\\"re\\\",f=\\\"rb\\\",d=\\\"ri\\\",p=\\\"rp\\\",m=\\\"bs\\\",v=\\\"be\\\",g=\\\"bb\\\",y=\\\"bi\\\",b=\\\"bp\\\",x=\\\"rv\\\",_=\\\"Q\\\",w=[a,o,s,c,h,f,d,m,v,g,y];r.partial=i(!1),r.full=i(!0)},{}],71:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=8*u.log2(e+1)*(t+1)|0,n=u.nextPow2(A*r);S.length<n&&(l.free(S),S=l.mallocInt32(n));var i=u.nextPow2(T*r);E<i&&(l.free(E),E=l.mallocDouble(i))}function i(t,e,r,n,i,a,o,s,l){var u=A*t;S[u]=e,S[u+1]=r,S[u+2]=n,S[u+3]=i,S[u+4]=a,S[u+5]=o;var c=T*t;E[c]=s,E[c+1]=l}function a(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,d=u[f+e];t:for(var p=i,m=i*h;p<a;++p,m+=h){var v=o[m+e],g=o[m+e+t];if(!(d<v||g<d)&&(!n||d!==v)){for(var y=s[p],b=e+1;b<t;++b){var v=o[m+b],g=o[m+b+t],x=u[f+b],_=u[f+b+t];if(g<x||_<v)continue t}var w;if(void 0!==(w=n?r(c,y):r(y,c)))return w}}}function o(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var d=n,p=n*c;d<i;++d,p+=c){var m=o[d];if(m!==u){var v=a[p+e],g=a[p+e+t];if(!(f<v||g<f)){for(var y=e+1;y<t;++y){var v=a[p+y],g=a[p+y+t],b=l[h+y],x=l[h+y+t];if(g<b||x<v)continue t}var _=r(m,u);if(void 0!==_)return _}}}}function s(t,e,r,s,l,u,c,m,L){n(t,s+c);var C,z=0,I=2*t;for(i(z++,0,0,s,0,c,r?16:0,-1/0,1/0),r||i(z++,0,0,c,0,s,1,-1/0,1/0);z>0;){z-=1;var D=z*A,P=S[D],O=S[D+1],R=S[D+2],F=S[D+3],j=S[D+4],N=S[D+5],B=z*T,U=E[B],V=E[B+1],H=1&N,q=!!(16&N),G=l,Y=u,X=m,W=L;if(H&&(G=m,Y=L,X=l,W=u),!(2&N&&(R=_(t,P,O,R,G,Y,V),O>=R)||4&N&&(O=w(t,P,O,R,G,Y,U))>=R)){var Z=R-O,J=j-F;if(q){if(t*Z*(Z+J)<y){if(void 0!==(C=d.scanComplete(t,P,e,O,R,G,Y,F,j,X,W)))return C;continue}}else{if(t*Math.min(Z,J)<v){if(void 0!==(C=h(t,P,e,H,O,R,G,Y,F,j,X,W)))return C;continue}if(t*Z*J<g){if(void 0!==(C=d.scanBipartite(t,P,e,H,O,R,G,Y,F,j,X,W)))return C;continue}}var K=b(t,P,O,R,G,Y,U,V);if(O<K)if(t*(K-O)<v){if(void 0!==(C=f(t,P+1,e,O,K,G,Y,F,j,X,W)))return C}else if(P===t-2){if(void 0!==(C=H?d.sweepBipartite(t,e,F,j,X,W,O,K,G,Y):d.sweepBipartite(t,e,O,K,G,Y,F,j,X,W)))return C}else i(z++,P+1,O,K,F,j,H,-1/0,1/0),i(z++,P+1,F,j,O,K,1^H,-1/0,1/0);if(K<R){var Q=p(t,P,F,j,X,W),$=X[I*Q+P],tt=x(t,P,Q,j,X,W,$);if(tt<j&&i(z++,P,K,R,tt,j,(4|H)+(q?16:0),$,V),F<Q&&i(z++,P,K,R,F,Q,(2|H)+(q?16:0),U,$),Q+1===tt){if(void 0!==(C=q?o(t,P,e,K,R,G,Y,Q,X,W[Q]):a(t,P,e,H,K,R,G,Y,Q,X,W[Q])))return C}else if(Q<tt){var et;if(q){if(et=M(t,P,K,R,G,Y,$),K<et){var rt=x(t,P,K,et,G,Y,$);if(P===t-2){if(K<rt&&void 0!==(C=d.sweepComplete(t,e,K,rt,G,Y,Q,tt,X,W)))return C;if(rt<et&&void 0!==(C=d.sweepBipartite(t,e,rt,et,G,Y,Q,tt,X,W)))return C}else K<rt&&i(z++,P+1,K,rt,Q,tt,16,-1/0,1/0),rt<et&&(i(z++,P+1,rt,et,Q,tt,0,-1/0,1/0),i(z++,P+1,Q,tt,rt,et,1,-1/0,1/0))}}else et=H?k(t,P,K,R,G,Y,$):M(t,P,K,R,G,Y,$),K<et&&(P===t-2?C=H?d.sweepBipartite(t,e,Q,tt,X,W,K,et,G,Y):d.sweepBipartite(t,e,K,et,G,Y,Q,tt,X,W):(i(z++,P+1,K,et,Q,tt,H,-1/0,1/0),i(z++,P+1,Q,tt,K,et,1^H,-1/0,1/0)))}}}}}e.exports=s;var l=t(\\\"typedarray-pool\\\"),u=t(\\\"bit-twiddle\\\"),c=t(\\\"./brute\\\"),h=c.partial,f=c.full,d=t(\\\"./sweep\\\"),p=t(\\\"./median\\\"),m=t(\\\"./partition\\\"),v=128,g=1<<22,y=1<<22,b=m(\\\"!(lo>=p0)&&!(p1>=hi)\\\",[\\\"p0\\\",\\\"p1\\\"]),x=m(\\\"lo===p0\\\",[\\\"p0\\\"]),_=m(\\\"lo<p0\\\",[\\\"p0\\\"]),w=m(\\\"hi<=p0\\\",[\\\"p0\\\"]),M=m(\\\"lo<=p0&&p0<=hi\\\",[\\\"p0\\\"]),k=m(\\\"lo<p0&&p0<=hi\\\",[\\\"p0\\\"]),A=6,T=2,S=l.mallocInt32(1024),E=l.mallocDouble(1024)},{\\\"./brute\\\":70,\\\"./median\\\":72,\\\"./partition\\\":73,\\\"./sweep\\\":75,\\\"bit-twiddle\\\":66,\\\"typedarray-pool\\\":540}],72:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,h=o*(l-1);c>r&&i[h+e]>u;--c,h-=o){for(var f=h,d=h+o,p=0;p<o;++p,++f,++d){var m=i[f];i[f]=i[d],i[d]=m}var v=a[c];a[c]=a[c-1],a[c-1]=v}}function i(t,e,r,i,a,l){if(i<=r+1)return r;for(var u=r,c=i,h=i+r>>>1,f=2*t,d=h,p=a[f*h+e];u<c;){if(c-u<s){n(t,e,u,c,a,l),p=a[f*h+e];break}var m=c-u,v=Math.random()*m+u|0,g=a[f*v+e],y=Math.random()*m+u|0,b=a[f*y+e],x=Math.random()*m+u|0,_=a[f*x+e];g<=b?_>=b?(d=y,p=b):g>=_?(d=v,p=g):(d=x,p=_):b>=_?(d=y,p=b):_>=g?(d=v,p=g):(d=x,p=_);for(var w=f*(c-1),M=f*d,k=0;k<f;++k,++w,++M){var A=a[w];a[w]=a[M],a[M]=A}var T=l[c-1];l[c-1]=l[d],l[d]=T,d=o(t,e,u,c-1,a,l,p);for(var w=f*(c-1),M=f*d,k=0;k<f;++k,++w,++M){var A=a[w];a[w]=a[M],a[M]=A}var T=l[c-1];if(l[c-1]=l[d],l[d]=T,h<d){for(c=d-1;u<c&&a[f*(c-1)+e]===p;)c-=1;c+=1}else{if(!(d<h))break;for(u=d+1;u<c&&a[f*u+e]===p;)u+=1}}return o(t,e,r,h,a,l,a[f*h+e])}e.exports=i;var a=t(\\\"./partition\\\"),o=a(\\\"lo<p0\\\",[\\\"p0\\\"]),s=8},{\\\"./partition\\\":73}],73:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=\\\"abcdef\\\".split(\\\"\\\").concat(e),n=[];return t.indexOf(\\\"lo\\\")>=0&&n.push(\\\"lo=e[k+n]\\\"),t.indexOf(\\\"hi\\\")>=0&&n.push(\\\"hi=e[k+o]\\\"),r.push(i.replace(\\\"_\\\",n.join()).replace(\\\"$\\\",t)),Function.apply(void 0,r)}e.exports=n;var i=\\\"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\\\"},{}],74:[function(t,e,r){\\\"use strict\\\";function n(t,e){e<=4*f?i(0,e-1,t):h(0,e-1,t)}function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){t*=2,e*=2;var n=r[t],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){t*=2,e*=2,r[t]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){t*=2,e*=2,r*=2;var i=n[t],a=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]=i,n[r+1]=a}function l(t,e,r,n,i){t*=2,e*=2,i[t]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function u(t,e,r){t*=2,e*=2;var n=r[t],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function c(t,e,r,n){t*=2;var i=n[t];return i<e||i===e&&n[t+1]<r}function h(t,e,r){var n=(e-t+1)/6|0,d=t+n,p=e-n,m=t+e>>1,v=m-n,g=m+n,y=d,b=v,x=m,_=g,w=p,M=t+1,k=e-1,A=0;u(y,b,r)&&(A=y,y=b,b=A),u(_,w,r)&&(A=_,_=w,w=A),u(y,x,r)&&(A=y,y=x,x=A),u(b,x,r)&&(A=b,b=x,x=A),u(y,_,r)&&(A=y,y=_,_=A),u(x,_,r)&&(A=x,x=_,_=A),u(b,w,r)&&(A=b,b=w,w=A),u(b,x,r)&&(A=b,b=x,x=A),u(_,w,r)&&(A=_,_=w,w=A);for(var T=r[2*b],S=r[2*b+1],E=r[2*_],L=r[2*_+1],C=2*y,z=2*x,I=2*w,D=2*d,P=2*m,O=2*p,R=0;R<2;++R){var F=r[C+R],j=r[z+R],N=r[I+R];r[D+R]=F,r[P+R]=j,r[O+R]=N}o(v,t,r),o(g,e,r);for(var B=M;B<=k;++B)if(c(B,T,S,r))B!==M&&a(B,M,r),++M;else if(!c(B,E,L,r))for(;;){if(c(k,E,L,r)){c(k,T,S,r)?(s(B,M,k,r),++M,--k):(a(B,k,r),--k);break}if(--k<B)break}l(t,M-1,T,S,r),l(e,k+1,E,L,r),M-2-t<=f?i(t,M-2,r):h(t,M-2,r),e-(k+2)<=f?i(k+2,e,r):h(k+2,e,r),k-M<=f?i(M,k,r):h(M,k,r)}e.exports=n;var f=32},{}],75:[function(t,e,r){\\\"use strict\\\";function n(t){var e=h.nextPow2(t);p.length<e&&(c.free(p),p=c.mallocInt32(e)),m.length<e&&(c.free(m),m=c.mallocInt32(e)),v.length<e&&(c.free(v),v=c.mallocInt32(e)),g.length<e&&(c.free(g),g=c.mallocInt32(e)),y.length<e&&(c.free(y),y=c.mallocInt32(e)),b.length<e&&(c.free(b),b=c.mallocInt32(e));var r=8*e;x.length<r&&(c.free(x),x=c.mallocDouble(r))}function i(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function a(t,e,r,n){t[r]=n,e[n]=r}function o(t,e,r,n,o,s,l,u,c,h){for(var y=0,b=2*t,_=t-1,w=b-1,M=r;M<n;++M){var k=s[M],A=b*M;x[y++]=o[A+_],x[y++]=-(k+1),x[y++]=o[A+w],x[y++]=k}for(var M=l;M<u;++M){var k=h[M]+d,T=b*M;x[y++]=c[T+_],x[y++]=-k,x[y++]=c[T+w],x[y++]=k}var S=y>>>1;f(x,S);for(var E=0,L=0,M=0;M<S;++M){var C=0|x[2*M+1];if(C>=d)C=C-d|0,i(v,g,L--,C);else if(C>=0)i(p,m,E--,C);else if(C<=-d){C=-C-d|0;for(var z=0;z<E;++z){var I=e(p[z],C);if(void 0!==I)return I}a(v,g,L++,C)}else{C=-C-1|0;for(var z=0;z<L;++z){var I=e(C,v[z]);if(void 0!==I)return I}a(p,m,E++,C)}}}function s(t,e,r,n,o,s,l,u,c,h){for(var d=0,_=2*t,w=t-1,M=_-1,k=r;k<n;++k){var A=s[k]+1<<1,T=_*k;x[d++]=o[T+w],x[d++]=-A,x[d++]=o[T+M],x[d++]=A}for(var k=l;k<u;++k){var A=h[k]+1<<1,S=_*k;x[d++]=c[S+w],x[d++]=1|-A,x[d++]=c[S+M],x[d++]=1|A}var E=d>>>1;f(x,E);for(var L=0,C=0,z=0,k=0;k<E;++k){var I=0|x[2*k+1],D=1&I;if(k<E-1&&I>>1==x[2*k+3]>>1&&(D=2,k+=1),I<0){for(var P=-(I>>1)-1,O=0;O<z;++O){var R=e(y[O],P);if(void 0!==R)return R}if(0!==D)for(var O=0;O<L;++O){var R=e(p[O],P);if(void 0!==R)return R}if(1!==D)for(var O=0;O<C;++O){var R=e(v[O],P);if(void 0!==R)return R}0===D?a(p,m,L++,P):1===D?a(v,g,C++,P):2===D&&a(y,b,z++,P)}else{var P=(I>>1)-1;0===D?i(p,m,L--,P):1===D?i(v,g,C--,P):2===D&&i(y,b,z--,P)}}}function l(t,e,r,n,o,s,l,u,c,h,v,g){var y=0,b=2*t,_=e,w=e+t,M=1,k=1;n?k=d:M=d;for(var A=o;A<s;++A){var T=A+M,S=b*A;x[y++]=l[S+_],x[y++]=-T,x[y++]=l[S+w],x[y++]=T}for(var A=c;A<h;++A){\\n\",\n       \"var T=A+k,E=b*A;x[y++]=v[E+_],x[y++]=-T}var L=y>>>1;f(x,L);for(var C=0,A=0;A<L;++A){var z=0|x[2*A+1];if(z<0){var T=-z,I=!1;if(T>=d?(I=!n,T-=d):(I=!!n,T-=1),I)a(p,m,C++,T);else{var D=g[T],P=b*T,O=v[P+e+1],R=v[P+e+1+t];t:for(var F=0;F<C;++F){var j=p[F],N=b*j;if(!(R<l[N+e+1]||l[N+e+1+t]<O)){for(var B=e+2;B<t;++B)if(v[P+B+t]<l[N+B]||l[N+B+t]<v[P+B])continue t;var U,V=u[j];if(void 0!==(U=n?r(D,V):r(V,D)))return U}}}}else i(p,m,C--,z-M)}}function u(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,m=2*t,v=e,g=e+t,y=n;y<i;++y){var b=y+d,_=m*y;x[h++]=a[_+v],x[h++]=-b,x[h++]=a[_+g],x[h++]=b}for(var y=s;y<l;++y){var b=y+1,w=m*y;x[h++]=u[w+v],x[h++]=-b}var M=h>>>1;f(x,M);for(var k=0,y=0;y<M;++y){var A=0|x[2*y+1];if(A<0){var b=-A;if(b>=d)p[k++]=b-d;else{b-=1;var T=c[b],S=m*b,E=u[S+e+1],L=u[S+e+1+t];t:for(var C=0;C<k;++C){var z=p[C],I=o[z];if(I===T)break;var D=m*z;if(!(L<a[D+e+1]||a[D+e+1+t]<E)){for(var P=e+2;P<t;++P)if(u[S+P+t]<a[D+P]||a[D+P+t]<u[S+P])continue t;var O=r(I,T);if(void 0!==O)return O}}}}else{for(var b=A-d,C=k-1;C>=0;--C)if(p[C]===b){for(var P=C+1;P<k;++P)p[P-1]=p[P];break}--k}}}e.exports={init:n,sweepBipartite:o,sweepComplete:s,scanBipartite:l,scanComplete:u};var c=t(\\\"typedarray-pool\\\"),h=t(\\\"bit-twiddle\\\"),f=t(\\\"./sort\\\"),d=1<<28,p=c.mallocInt32(1024),m=c.mallocInt32(1024),v=c.mallocInt32(1024),g=c.mallocInt32(1024),y=c.mallocInt32(1024),b=c.mallocInt32(1024),x=c.mallocDouble(8192)},{\\\"./sort\\\":74,\\\"bit-twiddle\\\":66,\\\"typedarray-pool\\\":540}],76:[function(t,e,r){\\\"use strict\\\";function n(t){if(t>Z)throw new RangeError(\\\"Invalid typed array length\\\");var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if(\\\"number\\\"==typeof t){if(\\\"string\\\"==typeof e)throw new Error(\\\"If encoding is specified then the first argument must be a string\\\");return l(t)}return a(t,e,r)}function a(t,e,r){if(\\\"number\\\"==typeof t)throw new TypeError('\\\"value\\\" argument must not be a number');return t instanceof ArrayBuffer?h(t,e,r):\\\"string\\\"==typeof t?u(t,e):f(t)}function o(t){if(\\\"number\\\"!=typeof t)throw new TypeError('\\\"size\\\" argument must be a number');if(t<0)throw new RangeError('\\\"size\\\" argument must not be negative')}function s(t,e,r){return o(t),t<=0?n(t):void 0!==e?\\\"string\\\"==typeof r?n(t).fill(e,r):n(t).fill(e):n(t)}function l(t){return o(t),n(t<0?0:0|d(t))}function u(t,e){if(\\\"string\\\"==typeof e&&\\\"\\\"!==e||(e=\\\"utf8\\\"),!i.isEncoding(e))throw new TypeError('\\\"encoding\\\" must be a valid string encoding');var r=0|m(t,e),a=n(r),o=a.write(t,e);return o!==r&&(a=a.slice(0,o)),a}function c(t){for(var e=t.length<0?0:0|d(t.length),r=n(e),i=0;i<e;i+=1)r[i]=255&t[i];return r}function h(t,e,r){if(e<0||t.byteLength<e)throw new RangeError(\\\"'offset' is out of bounds\\\");if(t.byteLength<e+(r||0))throw new RangeError(\\\"'length' is out of bounds\\\");var n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),n.__proto__=i.prototype,n}function f(t){if(i.isBuffer(t)){var e=0|d(t.length),r=n(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(G(t)||\\\"length\\\"in t)return\\\"number\\\"!=typeof t.length||Y(t.length)?n(0):c(t);if(\\\"Buffer\\\"===t.type&&Array.isArray(t.data))return c(t.data)}throw new TypeError(\\\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\\\")}function d(t){if(t>=Z)throw new RangeError(\\\"Attempt to allocate Buffer larger than maximum size: 0x\\\"+Z.toString(16)+\\\" bytes\\\");return 0|t}function p(t){return+t!=t&&(t=0),i.alloc(+t)}function m(t,e){if(i.isBuffer(t))return t.length;if(G(t)||t instanceof ArrayBuffer)return t.byteLength;\\\"string\\\"!=typeof t&&(t=\\\"\\\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\\\"ascii\\\":case\\\"latin1\\\":case\\\"binary\\\":return r;case\\\"utf8\\\":case\\\"utf-8\\\":case void 0:return B(t).length;case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return 2*r;case\\\"hex\\\":return r>>>1;case\\\"base64\\\":return H(t).length;default:if(n)return B(t).length;e=(\\\"\\\"+e).toLowerCase(),n=!0}}function v(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,r<=e)return\\\"\\\";for(t||(t=\\\"utf8\\\");;)switch(t){case\\\"hex\\\":return z(this,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return S(this,e,r);case\\\"ascii\\\":return L(this,e,r);case\\\"latin1\\\":case\\\"binary\\\":return C(this,e,r);case\\\"base64\\\":return T(this,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return I(this,e,r);default:if(n)throw new TypeError(\\\"Unknown encoding: \\\"+t);t=(t+\\\"\\\").toLowerCase(),n=!0}}function g(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,a){if(0===t.length)return-1;if(\\\"string\\\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Y(r)&&(r=a?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(a)return-1;r=t.length-1}else if(r<0){if(!a)return-1;r=0}if(\\\"string\\\"==typeof e&&(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,a);if(\\\"number\\\"==typeof e)return e&=255,\\\"function\\\"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,n,a);throw new TypeError(\\\"val must be string, number or Buffer\\\")}function b(t,e,r,n,i){function a(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var 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}var u;if(i){var c=-1;for(u=r;u<s;u++)if(a(t,u)===a(e,-1===c?0:u-c)){if(-1===c&&(c=u),u-c+1===l)return c*o}else-1!==c&&(u-=u-c),c=-1}else for(r+l>s&&(r=s-l),u=r;u>=0;u--){for(var h=!0,f=0;f<l;f++)if(a(t,u+f)!==a(e,f)){h=!1;break}if(h)return u}return-1}function x(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;if(a%2!=0)throw new TypeError(\\\"Invalid hex string\\\");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(Y(s))return o;t[r+o]=s}return o}function _(t,e,r,n){return q(B(e,t.length-r),t,r,n)}function w(t,e,r,n){return q(U(e),t,r,n)}function M(t,e,r,n){return w(t,e,r,n)}function k(t,e,r,n){return q(H(e),t,r,n)}function A(t,e,r,n){return q(V(e,t.length-r),t,r,n)}function T(t,e,r){return 0===e&&r===t.length?X.fromByteArray(t):X.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a=t[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l,u,c,h;switch(s){case 1:a<128&&(o=a);break;case 2:l=t[i+1],128==(192&l)&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(h=(15&a)<<12|(63&l)<<6|63&u)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(h=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return E(n)}function E(t){var e=t.length;if(e<=J)return String.fromCharCode.apply(String,t);for(var r=\\\"\\\",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=J));return r}function L(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function C(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function z(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\\\"\\\",a=e;a<r;++a)i+=N(t[a]);return i}function I(t,e,r){for(var n=t.slice(e,r),i=\\\"\\\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function D(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 P(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('\\\"buffer\\\" argument must be a Buffer instance');if(e>a||e<o)throw new RangeError('\\\"value\\\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\")}function O(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\");if(r<0)throw new RangeError(\\\"Index out of range\\\")}function R(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),W.write(t,e,r,n,23,4),r+4}function F(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),W.write(t,e,r,n,52,8),r+8}function j(t){if(t=t.trim().replace(K,\\\"\\\"),t.length<2)return\\\"\\\";for(;t.length%4!=0;)t+=\\\"=\\\";return t}function N(t){return t<16?\\\"0\\\"+t.toString(16):t.toString(16)}function B(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.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;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function U(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}function V(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function H(t){return X.toByteArray(j(t))}function q(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function G(t){return\\\"function\\\"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)}function Y(t){return t!==t}var X=t(\\\"base64-js\\\"),W=t(\\\"ieee754\\\");r.Buffer=i,r.SlowBuffer=p,r.INSPECT_MAX_BYTES=50;var Z=2147483647;r.kMaxLength=Z,i.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}}(),i.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.\\\"),\\\"undefined\\\"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),i.poolSize=8192,i.from=function(t,e,r){return a(t,e,r)},i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,i.alloc=function(t,e,r){return s(t,e,r)},i.allocUnsafe=function(t){return l(t)},i.allocUnsafeSlow=function(t){return l(t)},i.isBuffer=function(t){return null!=t&&!0===t._isBuffer},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(\\\"Arguments must be Buffers\\\");if(t===e)return 0;for(var r=t.length,n=e.length,a=0,o=Math.min(r,n);a<o;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0},i.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}},i.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');if(0===t.length)return i.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=i.allocUnsafe(e),a=0;for(r=0;r<t.length;++r){var o=t[r];if(!i.isBuffer(o))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');o.copy(n,a),a+=o.length}return n},i.byteLength=m,i.prototype._isBuffer=!0,i.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)g(this,e,e+1);return this},i.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)g(this,e,e+3),g(this,e+1,e+2);return this},i.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)g(this,e,e+7),g(this,e+1,e+6),g(this,e+2,e+5),g(this,e+3,e+4);return this},i.prototype.toString=function(){var t=this.length;return 0===t?\\\"\\\":0===arguments.length?S(this,0,t):v.apply(this,arguments)},i.prototype.equals=function(t){if(!i.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");return this===t||0===i.compare(this,t)},i.prototype.inspect=function(){var t=\\\"\\\",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\\\"hex\\\",0,e).match(/.{2}/g).join(\\\" \\\"),this.length>e&&(t+=\\\" ... \\\")),\\\"<Buffer \\\"+t+\\\">\\\"},i.prototype.compare=function(t,e,r,n,a){if(!i.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),e<0||r>t.length||n<0||a>this.length)throw new RangeError(\\\"out of range index\\\");if(n>=a&&e>=r)return 0;if(n>=a)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,a>>>=0,this===t)return 0;for(var o=a-n,s=r-e,l=Math.min(o,s),u=this.slice(n,a),c=t.slice(e,r),h=0;h<l;++h)if(u[h]!==c[h]){o=u[h],s=c[h];break}return o<s?-1:s<o?1:0},i.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},i.prototype.indexOf=function(t,e,r){return y(this,t,e,r,!0)},i.prototype.lastIndexOf=function(t,e,r){return y(this,t,e,r,!1)},i.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 i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\\\"Attempt to write outside buffer bounds\\\");n||(n=\\\"utf8\\\");for(var a=!1;;)switch(n){case\\\"hex\\\":return x(this,t,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return _(this,t,e,r);case\\\"ascii\\\":return w(this,t,e,r);case\\\"latin1\\\":case\\\"binary\\\":return M(this,t,e,r);case\\\"base64\\\":return k(this,t,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return A(this,t,e,r);default:if(a)throw new TypeError(\\\"Unknown encoding: \\\"+n);n=(\\\"\\\"+n).toLowerCase(),a=!0}},i.prototype.toJSON=function(){return{type:\\\"Buffer\\\",data:Array.prototype.slice.call(this._arr||this,0)}};var J=4096;i.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=i.prototype,n},i.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},i.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},i.prototype.readUInt8=function(t,e){return t>>>=0,e||D(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t>>>=0,e||D(t,2,this.length),this[t]|this[t+1]<<8},i.prototype.readUInt16BE=function(t,e){return t>>>=0,e||D(t,2,this.length),this[t]<<8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t>>>=0,e||D(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t>>>=0,e||D(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||D(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*e)),a},i.prototype.readInt8=function(t,e){return t>>>=0,e||D(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){t>>>=0,e||D(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t>>>=0,e||D(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t>>>=0,e||D(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},i.prototype.readInt32BE=function(t,e){return t>>>=0,e||D(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t>>>=0,e||D(t,4,this.length),W.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t>>>=0,e||D(t,4,this.length),W.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t>>>=0,e||D(t,8,this.length),W.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t>>>=0,e||D(t,8,this.length),W.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){P(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},i.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){P(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(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},i.prototype.writeFloatLE=function(t,e,r){return R(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return R(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return F(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return F(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\\\"targetStart out of bounds\\\");if(r<0||r>=this.length)throw new RangeError(\\\"sourceStart out of bounds\\\");if(n<0)throw new RangeError(\\\"sourceEnd out of bounds\\\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,a=n-r;if(this===t&&r<e&&e<n)for(i=a-1;i>=0;--i)t[i+e]=this[i+r];else if(a<1e3)for(i=0;i<a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},i.prototype.fill=function(t,e,r,n){if(\\\"string\\\"==typeof t){if(\\\"string\\\"==typeof e?(n=e,e=0,r=this.length):\\\"string\\\"==typeof r&&(n=r,r=this.length),1===t.length){var a=t.charCodeAt(0);a<256&&(t=a)}if(void 0!==n&&\\\"string\\\"!=typeof n)throw new TypeError(\\\"encoding must be a string\\\");if(\\\"string\\\"==typeof n&&!i.isEncoding(n))throw new TypeError(\\\"Unknown encoding: \\\"+n)}else\\\"number\\\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\\\"Out of range index\\\");if(r<=e)return this;e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var o;if(\\\"number\\\"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=i.isBuffer(t)?t:new i(t,n),l=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%l]}return this};var K=/[^+\\\\/0-9A-Za-z-_]/g},{\\\"base64-js\\\":77,ieee754:288}],77:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(e%4>0)throw new Error(\\\"Invalid string. Length must be a multiple of 4\\\");return\\\"=\\\"===t[e-2]?2:\\\"=\\\"===t[e-1]?1:0}function i(t){return 3*t.length/4-n(t)}function a(t){var e,r,i,a,o,s,l=t.length;o=n(t),s=new h(3*l/4-o),i=o>0?l-4:l;var u=0;for(e=0,r=0;e<i;e+=4,r+=3)a=c[t.charCodeAt(e)]<<18|c[t.charCodeAt(e+1)]<<12|c[t.charCodeAt(e+2)]<<6|c[t.charCodeAt(e+3)],s[u++]=a>>16&255,s[u++]=a>>8&255,s[u++]=255&a;return 2===o?(a=c[t.charCodeAt(e)]<<2|c[t.charCodeAt(e+1)]>>4,s[u++]=255&a):1===o&&(a=c[t.charCodeAt(e)]<<10|c[t.charCodeAt(e+1)]<<4|c[t.charCodeAt(e+2)]>>2,s[u++]=a>>8&255,s[u++]=255&a),s}function o(t){return u[t>>18&63]+u[t>>12&63]+u[t>>6&63]+u[63&t]}function s(t,e,r){for(var n,i=[],a=e;a<r;a+=3)n=(t[a]<<16)+(t[a+1]<<8)+t[a+2],i.push(o(n));return i.join(\\\"\\\")}function l(t){for(var e,r=t.length,n=r%3,i=\\\"\\\",a=[],o=0,l=r-n;o<l;o+=16383)a.push(s(t,o,o+16383>l?l:o+16383));return 1===n?(e=t[r-1],i+=u[e>>2],i+=u[e<<4&63],i+=\\\"==\\\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=u[e>>10],i+=u[e>>4&63],i+=u[e<<2&63],i+=\\\"=\\\"),a.push(i),a.join(\\\"\\\")}r.byteLength=i,r.toByteArray=a,r.fromByteArray=l;for(var u=[],c=[],h=\\\"undefined\\\"!=typeof Uint8Array?Uint8Array:Array,f=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\\",d=0,p=f.length;d<p;++d)u[d]=f[d],c[f.charCodeAt(d)]=d;c[\\\"-\\\".charCodeAt(0)]=62,c[\\\"_\\\".charCodeAt(0)]=63},{}],78:[function(t,e,r){\\\"use strict\\\";function n(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function i(t,e){return t[0]-e[0]||t[1]-e[1]}function a(t){return t.map(n).sort(i)}function o(t,e,r){return e in t?t[e]:r}function s(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!o(r,\\\"delaunay\\\",!0),i=!!o(r,\\\"interior\\\",!0),s=!!o(r,\\\"exterior\\\",!0),f=!!o(r,\\\"infinity\\\",!1);if(!i&&!s||0===t.length)return[];var d=l(t,e);if(n||i!==s||f){for(var p=u(t.length,a(e)),m=0;m<d.length;++m){var v=d[m];p.addTriangle(v[0],v[1],v[2])}return n&&c(t,p),s?i?f?h(p,0,f):p.cells():h(p,1,f):h(p,-1)}return d}var l=t(\\\"./lib/monotone\\\"),u=t(\\\"./lib/triangulation\\\"),c=t(\\\"./lib/delaunay\\\"),h=t(\\\"./lib/filter\\\");e.exports=s},{\\\"./lib/delaunay\\\":79,\\\"./lib/filter\\\":80,\\\"./lib/monotone\\\":81,\\\"./lib/triangulation\\\":82}],79:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,o){var s=e.opposite(n,i);if(!(s<0)){if(i<n){var l=n;n=i,i=l,l=o,o=s,s=l}e.isConstraint(n,i)||a(t[n],t[i],t[o],t[s])<0&&r.push(n,i)}}function i(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],u=1;u<l.length;u+=2){var c=l[u];if(!(c<s)&&!e.isConstraint(s,c)){for(var h=l[u-1],f=-1,d=1;d<l.length;d+=2)if(l[d-1]===c){f=l[d];break}f<0||a(t[s],t[c],t[h],t[f])<0&&r.push(s,c)}}for(;r.length>0;){for(var c=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],p=1;p<l.length;p+=2){var m=l[p-1],v=l[p];m===c?f=v:v===c&&(h=m)}h<0||f<0||(a(t[s],t[c],t[h],t[f])>=0||(e.flip(s,c),n(t,e,r,h,s,f),n(t,e,r,s,f,h),n(t,e,r,f,c,h),n(t,e,r,c,h,f)))}}var a=t(\\\"robust-in-sphere\\\")[4];t(\\\"binary-search-bounds\\\");e.exports=i},{\\\"binary-search-bounds\\\":83,\\\"robust-in-sphere\\\":505}],80:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function i(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}function a(t,e){for(var r=t.cells(),a=r.length,o=0;o<a;++o){var s=r[o],l=s[0],u=s[1],c=s[2];u<c?u<l&&(s[0]=u,s[1]=c,s[2]=l):c<l&&(s[0]=c,s[1]=l,s[2]=u)}r.sort(i);for(var h=new Array(a),o=0;o<h.length;++o)h[o]=0;var f=[],d=[],p=new Array(3*a),m=new Array(3*a),v=null;e&&(v=[]);for(var g=new n(r,p,m,h,f,d,v),o=0;o<a;++o)for(var s=r[o],y=0;y<3;++y){var l=s[y],u=s[(y+1)%3],b=p[3*o+y]=g.locate(u,l,t.opposite(u,l)),x=m[3*o+y]=t.isConstraint(l,u);b<0&&(x?d.push(o):(f.push(o),h[o]=1),e&&v.push([u,l,-1]))}return g}function o(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}function s(t,e,r){var n=a(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;for(var i=1,s=n.active,l=n.next,u=n.flags,c=n.cells,h=n.constraint,f=n.neighbor;s.length>0||l.length>0;){for(;s.length>0;){var d=s.pop();if(u[d]!==-i){u[d]=i;for(var p=(c[d],0);p<3;++p){var m=f[3*d+p];m>=0&&0===u[m]&&(h[3*d+p]?l.push(m):(s.push(m),u[m]=i))}}}var v=l;l=s,s=v,l.length=0,i=-i}var g=o(c,u,e);return r?g.concat(n.boundary):g}var l=t(\\\"binary-search-bounds\\\");e.exports=s,n.prototype.locate=function(){var t=[0,0,0];return function(e,r,n){var a=e,o=r,s=n;return r<n?r<e&&(a=r,o=n,s=e):n<e&&(a=n,o=e,s=r),a<0?-1:(t[0]=a,t[1]=o,t[2]=s,l.eq(this.cells,t,i))}}()},{\\\"binary-search-bounds\\\":83}],81:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function i(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function a(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==p&&(r=d(t.a,t.b,e.b))?r:t.idx-e.idx)}function o(t,e){return d(t.a,t.b,e)}function s(t,e,r,n,i){for(var a=f.lt(e,n,o),s=f.gt(e,n,o),l=a;l<s;++l){for(var u=e[l],c=u.lowerIds,h=c.length;h>1&&d(r[c[h-2]],r[c[h-1]],n)>0;)t.push([c[h-1],c[h-2],i]),h-=1;c.length=h,c.push(i);for(var p=u.upperIds,h=p.length;h>1&&d(r[p[h-2]],r[p[h-1]],n)<0;)t.push([p[h-2],p[h-1],i]),h-=1;p.length=h,p.push(i)}}function l(t,e){var r;return(r=t.a[0]<e.a[0]?d(t.a,t.b,e.a):d(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?d(t.a,t.b,e.b):d(e.b,e.a,t.b))||t.idx-e.idx}function u(t,e,r){var i=f.le(t,r,l),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new n(r.a,r.b,r.idx,[s],o))}function c(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=f.eq(t,r,l),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}function h(t,e){for(var r=t.length,o=e.length,l=[],h=0;h<r;++h)l.push(new i(t[h],null,p,h));for(var h=0;h<o;++h){var f=e[h],d=t[f[0]],g=t[f[1]];d[0]<g[0]?l.push(new i(d,g,v,h),new i(g,d,m,h)):d[0]>g[0]&&l.push(new i(g,d,v,h),new i(d,g,m,h))}l.sort(a);for(var y=l[0].a[0]-(1+Math.abs(l[0].a[0]))*Math.pow(2,-52),b=[new n([y,1],[y,0],-1,[],[],[],[])],x=[],h=0,_=l.length;h<_;++h){var w=l[h],M=w.type;M===p?s(x,b,t,w.a,w.idx):M===v?u(b,t,w):c(b,t,w)}return x}var f=t(\\\"binary-search-bounds\\\"),d=t(\\\"robust-orientation\\\")[3],p=0,m=1,v=2;e.exports=h},{\\\"binary-search-bounds\\\":83,\\\"robust-orientation\\\":507}],82:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.stars=t,this.edges=e}function i(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}function a(t,e){for(var r=new Array(t),i=0;i<t;++i)r[i]=[];return new n(r,e)}var o=t(\\\"binary-search-bounds\\\");e.exports=a;var s=n.prototype;s.isConstraint=function(){function t(t,e){return t[0]-e[0]||t[1]-e[1]}var e=[0,0];return function(r,n){return e[0]=Math.min(r,n),e[1]=Math.max(r,n),o.eq(this.edges,e,t)>=0}}(),s.removeTriangle=function(t,e,r){var n=this.stars;i(n[t],e,r),i(n[e],r,t),i(n[r],t,e)},s.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},s.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},s.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)},s.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},s.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\\\"binary-search-bounds\\\":83}],83:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],84:[function(t,e,r){\\\"use strict\\\";function n(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}e.exports=n},{}],85:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function i(t){var e=t.length;if(0===e)return[];var r=(t[0].length,o([t.length+1,t.length+1],1)),i=o([t.length+1],1);r[e][e]=0;for(var a=0;a<e;++a){for(var l=0;l<=a;++l)r[l][a]=r[a][l]=2*n(t[a],t[l]);i[a]=n(t[a],t[a])}for(var u=s(r,i),c=0,h=u[e+1],a=0;a<h.length;++a)c+=h[a];for(var f=new Array(e),a=0;a<e;++a){for(var h=u[a],d=0,l=0;l<h.length;++l)d+=h[l];f[a]=d/c}return f}function a(t){if(0===t.length)return[];for(var e=t[0].length,r=o([e]),n=i(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*n[a];return r}var o=t(\\\"dup\\\"),s=t(\\\"robust-linear-solve\\\");a.barycenetric=i,e.exports=a},{dup:124,\\\"robust-linear-solve\\\":506}],86:[function(t,e,r){function n(t){for(var e=i(t),r=0,n=0;n<t.length;++n)for(var a=t[n],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)}e.exports=n;var i=t(\\\"circumcenter\\\")},{circumcenter:85}],87:[function(t,e,r){function n(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}e.exports=n},{}],88:[function(t,e,r){\\\"use strict\\\";function n(t){var e=_(t);return[M(e,-1/0),M(e,1/0)]}function i(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[M(Math.min(a[0],o[0]),-1/0),M(Math.min(a[1],o[1]),-1/0),M(Math.max(a[0],o[0]),1/0),M(Math.max(a[1],o[1]),1/0)]}return r}function a(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[M(n[0],-1/0),M(n[1],-1/0),M(n[0],1/0),M(n[1],1/0)]}return e}function o(t,e,r){var n=[];return g(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&&a[0]!==o[1]&&a[1]!==o[0]&&a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],u=t[o[0]],c=t[o[1]];y(s,l,u,c)&&n.push([r,i])}}),n}function s(t,e,r,n){var i=[];return g(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];y(s,l,o,o)&&i.push([r,n])}}),i}function l(t,e,r,n,i){var a,o,s=t.map(function(t){return[b(t[0]),b(t[1])]});for(a=0;a<r.length;++a){var l=r[a];o=l[0];var u=l[1],c=e[o],h=e[u],f=k(w(t[c[0]]),w(t[c[1]]),w(t[h[0]]),w(t[h[1]]));if(f){var d=t.length;t.push([_(f[0]),_(f[1])]),s.push(f),n.push([o,d],[u,d])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return x(r[0],n[0])||x(r[1],n[1])}),a=n.length-1;a>=0;--a){var p=n[a];o=p[0];var m=e[o],v=m[0],g=m[1],y=t[v],M=t[g];if((y[0]-M[0]||y[1]-M[1])<0){var A=v;v=g,g=A}m[0]=v;var T,S=m[1]=p[1];for(i&&(T=m[2]);a>0&&n[a-1][0]===o;){var p=n[--a],E=p[1];i?e.push([S,E,T]):e.push([S,E]),S=E}i?e.push([S,g,T]):e.push([S,g])}return s}function u(t,e,r){for(var i=e.length,a=new v(i),o=[],s=0;s<e.length;++s){var l=e[s],u=n(l[0]),c=n(l[1]);o.push([M(u[0],-1/0),M(c[0],-1/0),M(u[1],1/0),M(c[1],1/0)])}g(o,function(t,e){a.link(t,e)});for(var h=!0,f=new Array(i),s=0;s<i;++s){var d=a.find(s);d!==s&&(h=!1,t[d]=[Math.min(t[s][0],t[d][0]),Math.min(t[s][1],t[d][1])])}if(h)return null;for(var p=0,s=0;s<i;++s){var d=a.find(s);d===s?(f[s]=p,t[p++]=t[s]):f[s]=-1}t.length=p;for(var s=0;s<i;++s)f[s]<0&&(f[s]=f[a.find(s)]);return f}function c(t,e){return t[0]-e[0]||t[1]-e[1]}function h(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 f(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=t[n],a=e[i[0]],o=e[i[1]]\\n\",\n       \";i[0]=Math.min(a,o),i[1]=Math.max(a,o)}else for(var n=0;n<t.length;++n){var i=t[n],a=i[0],o=i[1];i[0]=Math.min(a,o),i[1]=Math.max(a,o)}r?t.sort(h):t.sort(c);for(var s=1,n=1;n<t.length;++n){var l=t[n-1],u=t[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(t[s++]=u)}t.length=s}}function d(t,e,r){var n=u(t,[],a(t));return f(e,n,r),!!n}function p(t,e,r){var n=i(t,e),c=o(t,e,n),h=a(t),d=s(t,e,n,h),p=l(t,e,c,d,r),m=u(t,p,h);return f(e,m,r),!!m||(c.length>0||d.length>0)}function m(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}for(var s=d(t,e,!!r);p(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s}e.exports=m;var v=t(\\\"union-find\\\"),g=t(\\\"box-intersect\\\"),y=t(\\\"robust-segment-intersect\\\"),b=t(\\\"big-rat\\\"),x=t(\\\"big-rat/cmp\\\"),_=t(\\\"big-rat/to-float\\\"),w=t(\\\"rat-vec\\\"),M=t(\\\"nextafter\\\"),k=t(\\\"./lib/rat-seg-intersect\\\")},{\\\"./lib/rat-seg-intersect\\\":89,\\\"big-rat\\\":52,\\\"big-rat/cmp\\\":50,\\\"big-rat/to-float\\\":64,\\\"box-intersect\\\":69,nextafter:467,\\\"rat-vec\\\":494,\\\"robust-segment-intersect\\\":510,\\\"union-find\\\":541}],89:[function(t,e,r){\\\"use strict\\\";function n(t,e){return s(a(t[0],e[1]),a(t[1],e[0]))}function i(t,e,r,i){var a=u(e,t),s=u(i,r),f=n(a,s);if(0===l(f))return null;var d=u(t,r),p=n(s,d),m=o(p,f),v=h(a,m);return c(t,v)}e.exports=i;var a=t(\\\"big-rat/mul\\\"),o=t(\\\"big-rat/div\\\"),s=t(\\\"big-rat/sub\\\"),l=t(\\\"big-rat/sign\\\"),u=t(\\\"rat-vec/sub\\\"),c=t(\\\"rat-vec/add\\\"),h=t(\\\"rat-vec/muls\\\")},{\\\"big-rat/div\\\":51,\\\"big-rat/mul\\\":61,\\\"big-rat/sign\\\":62,\\\"big-rat/sub\\\":63,\\\"rat-vec/add\\\":493,\\\"rat-vec/muls\\\":495,\\\"rat-vec/sub\\\":496}],90:[function(t,e,r){(function(t){var r=function(){\\\"use strict\\\";function e(r,n,i,a){function s(r,i){if(null===r)return null;if(0==i)return r;var h,f;if(\\\"object\\\"!=typeof r)return r;if(e.__isArray(r))h=[];else if(e.__isRegExp(r))h=new RegExp(r.source,o(r)),r.lastIndex&&(h.lastIndex=r.lastIndex);else if(e.__isDate(r))h=new Date(r.getTime());else{if(c&&t.isBuffer(r))return h=new t(r.length),r.copy(h),h;void 0===a?(f=Object.getPrototypeOf(r),h=Object.create(f)):(h=Object.create(a),f=a)}if(n){var d=l.indexOf(r);if(-1!=d)return u[d];l.push(r),u.push(h)}for(var p in r){var m;f&&(m=Object.getOwnPropertyDescriptor(f,p)),m&&null==m.set||(h[p]=s(r[p],i-1))}return h}\\\"object\\\"==typeof n&&(i=n.depth,a=n.prototype,n.filter,n=n.circular);var l=[],u=[],c=void 0!==t;return void 0===n&&(n=!0),void 0===i&&(i=1/0),s(r,i)}function r(t){return Object.prototype.toString.call(t)}function n(t){return\\\"object\\\"==typeof t&&\\\"[object Date]\\\"===r(t)}function i(t){return\\\"object\\\"==typeof t&&\\\"[object Array]\\\"===r(t)}function a(t){return\\\"object\\\"==typeof t&&\\\"[object RegExp]\\\"===r(t)}function o(t){var e=\\\"\\\";return t.global&&(e+=\\\"g\\\"),t.ignoreCase&&(e+=\\\"i\\\"),t.multiline&&(e+=\\\"m\\\"),e}return e.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},e.__objToStr=r,e.__isDate=n,e.__isArray=i,e.__isRegExp=a,e.__getRegExpFlags=o,e}();\\\"object\\\"==typeof e&&e.exports&&(e.exports=r)}).call(this,t(\\\"buffer\\\").Buffer)},{buffer:76}],91:[function(t,e,r){\\\"use strict\\\";function n(t,e){null==e&&(e=!0);var r=t[0],n=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,n*=255,i*=255,o*=255),r=255&a(r,0,255),n=255&a(n,0,255),i=255&a(i,0,255),o=255&a(o,0,255),16777216*r+(n<<16)+(i<<8)+o}function i(t,e){t=+t;var r=t>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}var a=t(\\\"clamp\\\");e.exports=n,e.exports.to=n,e.exports.from=i},{clamp:87}],92:[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]}},{}],93:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t){var e,n,s=[],l=1;if(\\\"string\\\"==typeof t)if(i[t])s=i[t].slice(),n=\\\"rgb\\\";else if(\\\"transparent\\\"===t)l=0,n=\\\"rgb\\\",s=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),c=u.length,h=c<=4;l=1,h?(s=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===c&&(l=parseInt(u[3]+u[3],16)/255)):(s=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===c&&(l=parseInt(u[6]+u[7],16)/255)),s[0]||(s[0]=0),s[1]||(s[1]=0),s[2]||(s[2]=0),n=\\\"rgb\\\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\\\s*\\\\(([^\\\\)]*)\\\\)/.exec(t)){var f=e[1],u=f.replace(/a$/,\\\"\\\");n=u;var c=\\\"cmyk\\\"===u?4:\\\"gray\\\"===u?1:3;s=e[2].trim().split(/\\\\s*,\\\\s*/).map(function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:\\\"rgb\\\"===u?255*parseFloat(t)/100:parseFloat(t);if(\\\"h\\\"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),f===u&&s.push(1),l=void 0===s[c]?1:s[c],s=s.slice(0,c)}else t.length>10&&/[0-9](?:\\\\s|\\\\/)/.test(t)&&(s=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),n=t.match(/([a-z])/gi).join(\\\"\\\").toLowerCase());else\\\"number\\\"==typeof t?(n=\\\"rgb\\\",s=[t>>>16,(65280&t)>>>8,255&t]):a(t)?(null!=t.r?(s=[t.r,t.g,t.b],n=\\\"rgb\\\"):null!=t.red?(s=[t.red,t.green,t.blue],n=\\\"rgb\\\"):null!=t.h?(s=[t.h,t.s,t.l],n=\\\"hsl\\\"):null!=t.hue&&(s=[t.hue,t.saturation,t.lightness],n=\\\"hsl\\\"),null!=t.a?l=t.a:null!=t.alpha?l=t.alpha:null!=t.opacity&&(l=t.opacity/100)):(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(s=[t[0],t[1],t[2]],n=\\\"rgb\\\",l=4===t.length?t[3]:1);return{space:n,values:s,alpha:l}}e.exports=n;var i=t(\\\"color-name\\\"),a=t(\\\"is-plain-obj\\\"),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\\\":92,\\\"is-plain-obj\\\":296}],94:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-parse\\\"),i=t(\\\"color-space/hsl\\\"),a=t(\\\"clamp\\\");e.exports=function(t,e){if(Array.isArray(t))return t;null==e&&(e=!0);var r=n(t);if(!r.space)return[];var o,s=r.values,l=s.length;for(o=0;o<l;o++)s[o]=a(s[o],0,255);if(\\\"h\\\"===r.space[0]&&(s=i.rgb(s)),e)for(o=0;o<l;o++)s[o]/=255;return s.push(a(r.alpha,0,1)),s}},{clamp:87,\\\"color-parse\\\":93,\\\"color-space/hsl\\\":95}],95:[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,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return a=255*l,[a,a,a];r=l<.5?l*(1+s):l+s-l*s,e=2*l-r,i=[0,0,0];for(var u=0;u<3;u++)n=o+1/3*-(u-1),n<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n,i=t[0]/255,a=t[1]/255,o=t[2]/255,s=Math.min(i,a,o),l=Math.max(i,a,o),u=l-s;return l===s?e=0:i===l?e=(a-o)/u:a===l?e=2+(o-i)/u:o===l&&(e=4+(i-a)/u),e=Math.min(60*e,360),e<0&&(e+=360),n=(s+l)/2,r=l===s?0:n<=.5?u/(l+s):u/(2-l-s),[e,100*r,100*n]}},{\\\"./rgb\\\":96}],96:[function(t,e,r){\\\"use strict\\\";e.exports={name:\\\"rgb\\\",min:[0,0,0],max:[255,255,255],channel:[\\\"red\\\",\\\"green\\\",\\\"blue\\\"],alias:[\\\"RGB\\\"]}},{}],97:[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:0,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]}]}},{}],98:[function(t,e,r){\\\"use strict\\\";function n(t){var e,r,n,u,c,h,f,d,p,m,v,g,y,b=[],x=[],_=[],w=[];if(o.isPlainObject(t)||(t={}),p=t.nshades||72,d=t.format||\\\"hex\\\",f=t.colormap,f||(f=\\\"jet\\\"),\\\"string\\\"==typeof f){if(f=f.toLowerCase(),!l[f])throw Error(f+\\\" not a supported colorscale\\\");h=s(l[f])}else{if(!Array.isArray(f))throw Error(\\\"unsupported colormap option\\\",f);h=s(f)}if(h.length>p)throw new Error(f+\\\" map requires nshades to be at least size \\\"+h.length);for(v=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:s(t.alpha):\\\"number\\\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=h.map(function(t){return Math.round(t.index*p)}),v[0]<0&&(v[0]=0),v[1]<0&&(v[0]=0),v[0]>1&&(v[0]=1),v[1]>1&&(v[0]=1),y=0;y<e.length;++y)g=h[y].index,r=h[y].rgb,4===r.length&&r[3]>=0&&r[3]<=1||(r[3]=v[0]+(v[1]-v[0])*g);for(y=0;y<e.length-1;++y)c=e[y+1]-e[y],n=h[y].rgb,u=h[y+1].rgb,b=b.concat(o.linspace(n[0],u[0],c)),x=x.concat(o.linspace(n[1],u[1],c)),_=_.concat(o.linspace(n[2],u[2],c)),w=w.concat(o.linspace(n[3],u[3],c));return b=b.map(Math.round),x=x.map(Math.round),_=_.map(Math.round),m=o.zip(b,x,_,w),\\\"hex\\\"===d&&(m=m.map(i)),\\\"rgbaString\\\"===d&&(m=m.map(a)),m}function i(t){for(var e,r=\\\"#\\\",n=0;n<3;++n)e=t[n],e=e.toString(16),r+=(\\\"00\\\"+e).substr(e.length);return r}function a(t){return\\\"rgba(\\\"+t.join(\\\",\\\")+\\\")\\\"}var o=t(\\\"arraytools\\\"),s=t(\\\"clone\\\"),l=t(\\\"./colorScales\\\");e.exports=n},{\\\"./colorScales\\\":97,arraytools:45,clone:90}],99:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=s(t[0],-e[0]),i=s(t[1],-e[1]),a=s(r[0],-e[0]),o=s(r[1],-e[1]),c=u(l(n,a),l(i,o));return c[c.length-1]>=0}function i(t,e,r,i){var s=a(e,r,i);if(0===s){var l=o(a(t,e,r)),u=o(a(t,e,i));if(l===u){if(0===l){var c=n(t,e,r);return c===n(t,e,i)?0:c?1:-1}return 0}return 0===u?l>0?-1:n(t,e,i)?-1:1:0===l?u>0?1:n(t,e,r)?1:-1:o(u-l)}var h=a(t,e,r);return h>0?s>0&&a(t,e,i)>0?1:-1:h<0?s>0||a(t,e,i)>0?1:-1:a(t,e,i)>0?1:n(t,e,r)?1:-1}e.exports=i;var a=t(\\\"robust-orientation\\\"),o=t(\\\"signum\\\"),s=t(\\\"two-sum\\\"),l=t(\\\"robust-product\\\"),u=t(\\\"robust-sum\\\")},{\\\"robust-orientation\\\":507,\\\"robust-product\\\":508,\\\"robust-sum\\\":512,signum:514,\\\"two-sum\\\":539}],100:[function(t,e,r){function n(t,e){return t-e}function i(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]||a(t[0],t[1])-a(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=a(t[0],t[1]),u=a(e[0],e[1]);return a(l,t[2])-a(u,e[2])||a(l+t[2],o)-a(u+e[2],s);case 4:var c=t[0],h=t[1],f=t[2],d=t[3],p=e[0],m=e[1],v=e[2],g=e[3];return c+h+f+d-(p+m+v+g)||a(c,h,f,d)-a(p,m,v,g,p)||a(c+h,c+f,c+d,h+f,h+d,f+d)-a(p+m,p+v,p+g,m+v,m+g,v+g)||a(c+h+f,c+h+d,c+f+d,h+f+d)-a(p+m+v,p+m+g,p+v+g,m+v+g);default:for(var y=t.slice().sort(n),b=e.slice().sort(n),x=0;x<r;++x)if(i=y[x]-b[x])return i;return 0}}e.exports=i;var a=Math.min},{}],101:[function(t,e,r){\\\"use strict\\\";function n(t,e){return i(t,e)||a(t)-a(e)}var i=t(\\\"compare-cell\\\"),a=t(\\\"cell-orientation\\\");e.exports=n},{\\\"cell-orientation\\\":84,\\\"compare-cell\\\":100}],102:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?i(t):2===r?a(t):o(t,r)}var i=t(\\\"./lib/ch1d\\\"),a=t(\\\"./lib/ch2d\\\"),o=t(\\\"./lib/chnd\\\");e.exports=n},{\\\"./lib/ch1d\\\":103,\\\"./lib/ch2d\\\":104,\\\"./lib/chnd\\\":105}],103:[function(t,e,r){\\\"use strict\\\";function n(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]]}e.exports=n},{}],104:[function(t,e,r){\\\"use strict\\\";function n(t){var e=i(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];n[o]=[a,s],a=s}return n}e.exports=n;var i=t(\\\"monotone-convex-hull-2d\\\")},{\\\"monotone-convex-hull-2d\\\":450}],105:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}function i(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}function a(t,e){try{return o(t,!0)}catch(u){var r=s(t);if(r.length<=e)return[];var a=n(t,r),l=o(a,!0);return i(l,r)}}e.exports=a;var o=t(\\\"incremental-convex-hull\\\"),s=t(\\\"affine-hull\\\")},{\\\"affine-hull\\\":40,\\\"incremental-convex-hull\\\":289}],106:[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\\\"}},{}],107:[function(t,e,r){function n(t){return t=Math.round(t),t<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return n(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function o(t){return i(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function s(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}function l(t){var e=t.replace(/ /g,\\\"\\\").toLowerCase();if(e in u)return u[e].slice();if(\\\"#\\\"===e[0]){if(4===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=4095?[(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,1]:null}if(7===e.length){var r=parseInt(e.substr(1),16);return r>=0&&r<=16777215?[(16711680&r)>>16,(65280&r)>>8,255&r,1]:null}return null}var i=e.indexOf(\\\"(\\\"),l=e.indexOf(\\\")\\\");if(-1!==i&&l+1===e.length){var c=e.substr(0,i),h=e.substr(i+1,l-(i+1)).split(\\\",\\\"),f=1;switch(c){case\\\"rgba\\\":if(4!==h.length)return null;f=o(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=o(h.pop());case\\\"hsl\\\":if(3!==h.length)return null;var d=(parseFloat(h[0])%360+360)%360/360,p=o(h[1]),m=o(h[2]),v=m<=.5?m*(p+1):m+p-m*p,g=2*m-v;return[n(255*s(g,v,d+1/3)),n(255*s(g,v,d)),n(255*s(g,v,d-1/3)),f];default:return null}}return null}var u={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],\\n\",\n       \"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]};try{r.parseCSSColor=l}catch(t){}},{}],108:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}function i(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var d=t.length-1;d>=0;--d)a[d]=u*t[d]+c*e[d]+h*r[d]+f*n[d];return a}return u*t+c*e+h*r+f*n}e.exports=i,e.exports.derivative=n},{}],109:[function(t,e,r){\\\"use strict\\\";function n(){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}function i(t){var e=new n;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,a(e)}var a=t(\\\"./lib/thunk.js\\\");e.exports=i},{\\\"./lib/thunk.js\\\":111}],110:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,h=0;for(n=0;n<a;++n)u.push([\\\"i\\\",n,\\\"=0\\\"].join(\\\"\\\"));for(i=0;i<o;++i)for(n=0;n<a;++n)h=c,c=t[n],0===n?u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=t\\\",i,\\\"p\\\",c].join(\\\"\\\")):u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=(t\\\",i,\\\"p\\\",c,\\\"-s\\\",h,\\\"*t\\\",i,\\\"p\\\",h,\\\")\\\"].join(\\\"\\\"));for(u.length>0&&l.push(\\\"var \\\"+u.join(\\\",\\\")),n=a-1;n>=0;--n)c=t[n],l.push([\\\"for(i\\\",n,\\\"=0;i\\\",n,\\\"<s\\\",c,\\\";++i\\\",n,\\\"){\\\"].join(\\\"\\\"));for(l.push(r),n=0;n<a;++n){for(h=c,c=t[n],i=0;i<o;++i)l.push([\\\"p\\\",i,\\\"+=d\\\",i,\\\"s\\\",n].join(\\\"\\\"));s&&(n>0&&l.push([\\\"index[\\\",h,\\\"]-=s\\\",h].join(\\\"\\\")),l.push([\\\"++index[\\\",c,\\\"]\\\"].join(\\\"\\\"))),l.push(\\\"}\\\")}return l.join(\\\"\\\\n\\\")}function i(t,e,r,i){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,u=[],c=0;c<o;++c)u.push([\\\"var offset\\\",c,\\\"=p\\\",c].join(\\\"\\\"));for(var c=t;c<a;++c)u.push([\\\"for(var j\\\"+c+\\\"=SS[\\\",e[c],\\\"]|0;j\\\",c,\\\">0;){\\\"].join(\\\"\\\")),u.push([\\\"if(j\\\",c,\\\"<\\\",s,\\\"){\\\"].join(\\\"\\\")),u.push([\\\"s\\\",e[c],\\\"=j\\\",c].join(\\\"\\\")),u.push([\\\"j\\\",c,\\\"=0\\\"].join(\\\"\\\")),u.push([\\\"}else{s\\\",e[c],\\\"=\\\",s].join(\\\"\\\")),u.push([\\\"j\\\",c,\\\"-=\\\",s,\\\"}\\\"].join(\\\"\\\")),l&&u.push([\\\"index[\\\",e[c],\\\"]=j\\\",c].join(\\\"\\\"));for(var c=0;c<o;++c){for(var h=[\\\"offset\\\"+c],f=t;f<a;++f)h.push([\\\"j\\\",f,\\\"*t\\\",c,\\\"p\\\",e[f]].join(\\\"\\\"));u.push([\\\"p\\\",c,\\\"=(\\\",h.join(\\\"+\\\"),\\\")\\\"].join(\\\"\\\"))}u.push(n(e,r,i));for(var c=t;c<a;++c)u.push(\\\"}\\\");return u.join(\\\"\\\\n\\\")}function a(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}function o(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\\\"g\\\"),u=\\\"\\\",c=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\\\"offset\\\":var h=e.offsetArgIndex.indexOf(o);c=e.offsetArgs[h].array,u=\\\"+q\\\"+h;case\\\"array\\\":u=\\\"p\\\"+c+u;var f=\\\"l\\\"+o,d=\\\"a\\\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\\\"generic\\\"===r[c]?s.lvalue?(i.push([\\\"var \\\",f,\\\"=\\\",d,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),a.push([d,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):n=n.replace(l,[d,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")):n=n.replace(l,[d,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")):\\\"generic\\\"===r[c]?(i.push([\\\"var \\\",f,\\\"=\\\",d,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([d,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):(i.push([\\\"var \\\",f,\\\"=\\\",d,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([d,\\\"[\\\",u,\\\"]=\\\",f].join(\\\"\\\")));else{for(var p=[s.name],m=[u],v=0;v<Math.abs(e.arrayBlockIndices[c]);v++)p.push(\\\"\\\\\\\\s*\\\\\\\\[([^\\\\\\\\]]+)\\\\\\\\]\\\"),m.push(\\\"$\\\"+(v+1)+\\\"*t\\\"+c+\\\"b\\\"+v);if(l=new RegExp(p.join(\\\"\\\"),\\\"g\\\"),u=m.join(\\\"+\\\"),\\\"generic\\\"===r[c])throw new Error(\\\"cwise: Generic arrays not supported in combination with blocks!\\\");n=n.replace(l,[d,\\\"[\\\",u,\\\"]\\\"].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[i.join(\\\"\\\\n\\\"),n,a.join(\\\"\\\\n\\\")].join(\\\"\\\\n\\\").trim()}function s(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\\\d+/);a=a?a[0]:\\\"\\\",0===i.charAt(0)?e[n]=\\\"u\\\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\\\"\\\")}function l(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,l=new Array(t.arrayArgs.length),c=new Array(t.arrayArgs.length),h=0;h<t.arrayArgs.length;++h)c[h]=e[2*h],l[h]=e[2*h+1];for(var f=[],d=[],p=[],m=[],v=[],h=0;h<t.arrayArgs.length;++h){t.arrayBlockIndices[h]<0?(p.push(0),m.push(r),f.push(r),d.push(r+t.arrayBlockIndices[h])):(p.push(t.arrayBlockIndices[h]),m.push(t.arrayBlockIndices[h]+r),f.push(0),d.push(t.arrayBlockIndices[h]));for(var g=[],y=0;y<l[h].length;y++)p[h]<=l[h][y]&&l[h][y]<m[h]&&g.push(l[h][y]-p[h]);v.push(g)}for(var b=[\\\"SS\\\"],x=[\\\"'use strict'\\\"],_=[],y=0;y<r;++y)_.push([\\\"s\\\",y,\\\"=SS[\\\",y,\\\"]\\\"].join(\\\"\\\"));for(var h=0;h<t.arrayArgs.length;++h){b.push(\\\"a\\\"+h),b.push(\\\"t\\\"+h),b.push(\\\"p\\\"+h);for(var y=0;y<r;++y)_.push([\\\"t\\\",h,\\\"p\\\",y,\\\"=t\\\",h,\\\"[\\\",p[h]+y,\\\"]\\\"].join(\\\"\\\"));for(var y=0;y<Math.abs(t.arrayBlockIndices[h]);++y)_.push([\\\"t\\\",h,\\\"b\\\",y,\\\"=t\\\",h,\\\"[\\\",f[h]+y,\\\"]\\\"].join(\\\"\\\"))}for(var h=0;h<t.scalarArgs.length;++h)b.push(\\\"Y\\\"+h);if(t.shapeArgs.length>0&&_.push(\\\"shape=SS.slice(0)\\\"),t.indexArgs.length>0){for(var w=new Array(r),h=0;h<r;++h)w[h]=\\\"0\\\";_.push([\\\"index=[\\\",w.join(\\\",\\\"),\\\"]\\\"].join(\\\"\\\"))}for(var h=0;h<t.offsetArgs.length;++h){for(var M=t.offsetArgs[h],k=[],y=0;y<M.offset.length;++y)0!==M.offset[y]&&(1===M.offset[y]?k.push([\\\"t\\\",M.array,\\\"p\\\",y].join(\\\"\\\")):k.push([M.offset[y],\\\"*t\\\",M.array,\\\"p\\\",y].join(\\\"\\\")));0===k.length?_.push(\\\"q\\\"+h+\\\"=0\\\"):_.push([\\\"q\\\",h,\\\"=\\\",k.join(\\\"+\\\")].join(\\\"\\\"))}var A=u([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));_=_.concat(A),_.length>0&&x.push(\\\"var \\\"+_.join(\\\",\\\"));for(var h=0;h<t.arrayArgs.length;++h)x.push(\\\"p\\\"+h+\\\"|=0\\\");t.pre.body.length>3&&x.push(o(t.pre,t,c));var T=o(t.body,t,c),S=a(v);S<r?x.push(i(S,v[0],t,T)):x.push(n(v[0],t,T)),t.post.body.length>3&&x.push(o(t.post,t,c)),t.debug&&console.log(\\\"-----Generated cwise routine for \\\",e,\\\":\\\\n\\\"+x.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\");var E=[t.funcName||\\\"unnamed\\\",\\\"_cwise_loop_\\\",l[0].join(\\\"s\\\"),\\\"m\\\",S,s(c)].join(\\\"\\\");return new Function([\\\"function \\\",E,\\\"(\\\",b.join(\\\",\\\"),\\\"){\\\",x.join(\\\"\\\\n\\\"),\\\"} return \\\",E].join(\\\"\\\"))()}var u=t(\\\"uniq\\\");e.exports=l},{uniq:542}],111:[function(t,e,r){\\\"use strict\\\";function n(t){var e=[\\\"'use strict'\\\",\\\"var CACHED={}\\\"],r=[],n=t.funcName+\\\"_cwise_thunk\\\";e.push([\\\"return function \\\",n,\\\"(\\\",t.shimArgs.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var a=[],o=[],s=[[\\\"array\\\",t.arrayArgs[0],\\\".shape.slice(\\\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\\\",\\\"+t.arrayBlockIndices[0]+\\\")\\\":\\\")\\\"].join(\\\"\\\")],l=[],u=[],c=0;c<t.arrayArgs.length;++c){var h=t.arrayArgs[c];r.push([\\\"t\\\",h,\\\"=array\\\",h,\\\".dtype,\\\",\\\"r\\\",h,\\\"=array\\\",h,\\\".order\\\"].join(\\\"\\\")),a.push(\\\"t\\\"+h),a.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\\\"),c>0&&(l.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape.length===array\\\"+h+\\\".shape.length+\\\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),u.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[0])+\\\"]===array\\\"+h+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[c])+\\\"]\\\"))}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 (!(\\\"+u.join(\\\" && \\\")+\\\")) throw new Error('cwise: Arrays do not all have the same shape!')\\\"),e.push(\\\"}\\\"));for(var c=0;c<t.scalarArgs.length;++c)s.push(\\\"scalar\\\"+t.scalarArgs[c]);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([\\\",a.join(\\\",\\\"),\\\"])}\\\",\\\"return proc(\\\",s.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),t.debug&&console.log(\\\"-----Generated thunk:\\\\n\\\"+e.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\"),new Function(\\\"compile\\\",e.join(\\\"\\\\n\\\"))(i.bind(void 0,t))}var i=t(\\\"./compile.js\\\");e.exports=n},{\\\"./compile.js\\\":110}],112:[function(t,e,r){e.exports=t(\\\"cwise-compiler\\\")},{\\\"cwise-compiler\\\":109}],113:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(t){return function(e,r){return o(t(e),r)}}function r(t,e){return[t,e]}function n(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=k?10:a>=A?5:a>=T?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=k?10:a>=A?5:a>=T?2:1)}function i(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=k?i*=10:a>=A?i*=5:a>=T&&(i*=2),e<t?-i:i}function a(t){return t.length}var o=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},s=function(t){return 1===t.length&&(t=e(t)),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}},l=s(o),u=l.right,c=l.left,h=function(t,e){null==e&&(e=r);for(var n=0,i=t.length-1,a=t[0],o=new Array(i<0?0:i);n<i;)o[n]=e(a,a=t[++n]);return o},f=function(t,e,n){var i,a,o,s,l=t.length,u=e.length,c=new Array(l*u);for(null==n&&(n=r),i=o=0;i<l;++i)for(s=t[i],a=0;a<u;++a,++o)c[o]=n(s,e[a]);return c},d=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},p=function(t){return null===t?NaN:+t},m=function(t,e){var r,n,i=t.length,a=0,o=-1,s=0,l=0;if(null==e)for(;++o<i;)isNaN(r=p(t[o]))||(n=r-s,s+=n/++a,l+=n*(r-s));else for(;++o<i;)isNaN(r=p(e(t[o],o,t)))||(n=r-s,s+=n/++a,l+=n*(r-s));if(a>1)return l/(a-1)},v=function(t,e){var r=m(t,e);return r?Math.sqrt(r):r},g=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},y=Array.prototype,b=y.slice,x=y.map,_=function(t){return function(){return t}},w=function(t){return t},M=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},k=Math.sqrt(50),A=Math.sqrt(10),T=Math.sqrt(2),S=function(t,e,r){var i,a,o,s=e<t,l=-1;if(s&&(i=t,t=e,e=i),0===(o=n(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l<i;)a[l]=(t+l)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++l<i;)a[l]=(t-l)/o;return s&&a.reverse(),a},E=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},L=function(){function t(t){var a,o,s=t.length,l=new Array(s);for(a=0;a<s;++a)l[a]=e(t[a],a,t);var c=r(l),h=c[0],f=c[1],d=n(l,h,f);Array.isArray(d)||(d=i(h,f,d),d=M(Math.ceil(h/d)*d,Math.floor(f/d)*d,d));for(var p=d.length;d[0]<=h;)d.shift(),--p;for(;d[p-1]>f;)d.pop(),--p;var m,v=new Array(p+1);for(a=0;a<=p;++a)m=v[a]=[],m.x0=a>0?d[a-1]:h,m.x1=a<p?d[a]:f;for(a=0;a<s;++a)o=l[a],h<=o&&o<=f&&v[u(d,o,0,p)].push(t[a]);return v}var e=w,r=g,n=E;return t.value=function(r){return arguments.length?(e=\\\"function\\\"==typeof r?r:_(r),t):e},t.domain=function(e){return arguments.length?(r=\\\"function\\\"==typeof e?e:_([e[0],e[1]]),t):r},t.thresholds=function(e){return arguments.length?(n=\\\"function\\\"==typeof e?e:_(Array.isArray(e)?b.call(e):e),t):n},t},C=function(t,e,r){if(null==r&&(r=p),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,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},z=function(t,e,r){return t=x.call(t,p).sort(o),Math.ceil((r-e)/(2*(C(t,.75)-C(t,.25))*Math.pow(t.length,-1/3)))},I=function(t,e,r){return Math.ceil((r-e)/(3.5*v(t)*Math.pow(t.length,-1/3)))},D=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},P=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=p(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=p(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},O=function(t,e){var r,n=t.length,i=-1,a=[];if(null==e)for(;++i<n;)isNaN(r=p(t[i]))||a.push(r);else for(;++i<n;)isNaN(r=p(e(t[i],i,t)))||a.push(r);return C(a.sort(o),.5)},R=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(n=t[i],e=n.length;--e>=0;)r[--o]=n[e];return r},F=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},j=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},N=function(t,e){if(r=t.length){var r,n,i=0,a=0,s=t[a];for(null==e&&(e=o);++i<r;)(e(n=t[i],s)<0||0!==e(s,s))&&(s=n,a=i);return 0===e(s,s)?a:void 0}},B=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},U=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},V=function(t){if(!(i=t.length))return[];for(var e=-1,r=F(t,a),n=new Array(r);++e<r;)for(var i,o=-1,s=n[e]=new Array(i);++o<i;)s[o]=t[o][e];return n},H=function(){return V(arguments)};t.bisect=u,t.bisectRight=u,t.bisectLeft=c,t.ascending=o,t.bisector=s,t.cross=f,t.descending=d,t.deviation=v,t.extent=g,t.histogram=L,t.thresholdFreedmanDiaconis=z,t.thresholdScott=I,t.thresholdSturges=E,t.max=D,t.mean=P,t.median=O,t.merge=R,t.min=F,t.pairs=h,t.permute=j,t.quantile=C,t.range=M,t.scan=N,t.shuffle=B,t.sum=U,t.ticks=S,t.tickIncrement=n,t.tickStep=i,t.transpose=V,t.variance=m,t.zip=H,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],114:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.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 i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}function l(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}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 u=function(){function t(e,n,i,a){if(n>=c.length)return null!=l?l(e):null!=s?e.sort(s):e;for(var o,u,h,f=-1,d=e.length,p=c[n++],m=r(),v=i();++f<d;)(h=m.get(o=p(u=e[f])+\\\"\\\"))?h.push(u):m.set(o,[u]);return m.each(function(e,r){a(v,r,t(e,n,i,a))}),v}function e(t,r){if(++r>c.length)return t;var n,i=h[r-1];return null!=l&&r>=c.length?n=t.entries():(n=[],t.each(function(t,i){n.push({key:i,values:e(t,r)})})),null!=i?n.sort(function(t,e){return i(t.key,e.key)}):n}var s,l,u,c=[],h=[];return u={object:function(e){return t(e,0,n,i)},map:function(e){return t(e,0,a,o)},entries:function(r){return e(t(r,0,a,o),0)},key:function(t){return c.push(t),u},sortKeys:function(t){return h[c.length-1]=t,u},sortValues:function(t){return s=t,u},rollup:function(t){return l=t,u}}},c=r.prototype;s.prototype=l.prototype={constructor:s,has:c.has,add:function(t){return t+=\\\"\\\",this[\\\"$\\\"+t]=t,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};var h=function(t){var e=[];for(var r in t)e.push(r);return e},f=function(t){var e=[];for(var r in t)e.push(t[r]);return e},d=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e};t.nest=u,t.set=l,t.map=r,t.keys=h,t.values=f,t.entries=d,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],115:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function r(){}function n(t){var e;return t=(t+\\\"\\\").trim().toLowerCase(),(e=z.exec(t))?(e=parseInt(e[1],16),new l(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1)):(e=I.exec(t))?i(parseInt(e[1],16)):(e=D.exec(t))?new l(e[1],e[2],e[3],1):(e=P.exec(t))?new l(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=O.exec(t))?a(e[1],e[2],e[3],e[4]):(e=R.exec(t))?a(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=F.exec(t))?u(e[1],e[2]/100,e[3]/100,1):(e=j.exec(t))?u(e[1],e[2]/100,e[3]/100,e[4]):N.hasOwnProperty(t)?i(N[t]):\\\"transparent\\\"===t?new l(NaN,NaN,NaN,0):null}function i(t){return new l(t>>16&255,t>>8&255,255&t,1)}function a(t,e,r,n){return n<=0&&(t=e=r=NaN),new l(t,e,r,n)}function o(t){return t instanceof r||(t=n(t)),t?(t=t.rgb(),new l(t.r,t.g,t.b,t.opacity)):new l}function s(t,e,r,n){return 1===arguments.length?o(t):new l(t,e,r,null==n?1:n)}function l(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function u(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new f(t,e,r,n)}function c(t){if(t instanceof f)return new f(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=n(t)),!t)return new f;if(t instanceof f)return t;t=t.rgb();var e=t.r/255,i=t.g/255,a=t.b/255,o=Math.min(e,i,a),s=Math.max(e,i,a),l=NaN,u=s-o,c=(s+o)/2;return u?(l=e===s?(i-a)/u+6*(i<a):i===s?(a-e)/u+2:(e-i)/u+4,u/=c<.5?s+o:2-s-o,l*=60):u=c>0&&c<1?0:l,new f(l,u,c,t.opacity)}function h(t,e,r,n){return 1===arguments.length?c(t):new f(t,e,r,null==n?1:n)}function f(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function d(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function p(t){if(t instanceof v)return new v(t.l,t.a,t.b,t.opacity);if(t instanceof M){var e=t.h*B;return new v(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof l||(t=o(t));var r=x(t.r),n=x(t.g),i=x(t.b),a=g((.4124564*r+.3575761*n+.1804375*i)/V),s=g((.2126729*r+.7151522*n+.072175*i)/H);return new v(116*s-16,500*(a-s),200*(s-g((.0193339*r+.119192*n+.9503041*i)/q)),t.opacity)}function m(t,e,r,n){return 1===arguments.length?p(t):new v(t,e,r,null==n?1:n)}function v(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function g(t){return t>W?Math.pow(t,1/3):t/X+G}function y(t){return t>Y?t*t*t:X*(t-G)}function b(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function x(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function _(t){if(t instanceof M)return new M(t.h,t.c,t.l,t.opacity);t instanceof v||(t=p(t));var e=Math.atan2(t.b,t.a)*U;return new M(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function w(t,e,r,n){return 1===arguments.length?_(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function k(t){if(t instanceof T)return new T(t.h,t.s,t.l,t.opacity);t instanceof l||(t=o(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(rt*n+tt*e-et*r)/(rt+tt-et),a=n-i,s=($*(r-i)-K*a)/Q,u=Math.sqrt(s*s+a*a)/($*i*(1-i)),c=u?Math.atan2(s,a)*U-120:NaN;return new T(c<0?c+360:c,u,i,t.opacity)}function A(t,e,r,n){return 1===arguments.length?k(t):new T(t,e,r,null==n?1:n)}function T(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}var S=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t},E=\\\"\\\\\\\\s*([+-]?\\\\\\\\d+)\\\\\\\\s*\\\",L=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)\\\\\\\\s*\\\",C=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)%\\\\\\\\s*\\\",z=/^#([0-9a-f]{3})$/,I=/^#([0-9a-f]{6})$/,D=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[E,E,E]+\\\"\\\\\\\\)$\\\"),P=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[C,C,C]+\\\"\\\\\\\\)$\\\"),O=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[E,E,E,L]+\\\"\\\\\\\\)$\\\"),R=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[C,C,C,L]+\\\"\\\\\\\\)$\\\"),F=new RegExp(\\\"^hsl\\\\\\\\(\\\"+[L,C,C]+\\\"\\\\\\\\)$\\\"),j=new RegExp(\\\"^hsla\\\\\\\\(\\\"+[L,C,C,L]+\\\"\\\\\\\\)$\\\"),N={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};S(r,n,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\\\"\\\"}}),S(l,s,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new l(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return t=isNaN(t)?1:Math.max(0,Math.min(1,t)),(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+\\\")\\\")}})),S(f,h,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new f(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new f(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,i=2*r-n;return new l(d(t>=240?t-240:t+120,i,n),d(t,i,n),d(t<120?t+240:t-120,i,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}}));var B=Math.PI/180,U=180/Math.PI,V=.95047,H=1,q=1.08883,G=4/29,Y=6/29,X=3*Y*Y,W=Y*Y*Y;S(v,m,e(r,{brighter:function(t){return new v(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new v(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 t=H*y(t),e=V*y(e),r=q*y(r),new l(b(3.2404542*e-1.5371385*t-.4985314*r),b(-.969266*e+1.8760108*t+.041556*r),b(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),S(M,w,e(r,{brighter:function(t){return new M(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new M(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return p(this).rgb()}}));var Z=-.14861,J=1.78277,K=-.29227,Q=-.90649,$=1.97294,tt=$*Q,et=$*J,rt=J*K-Q*Z;S(T,A,e(r,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new T(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new T(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*B,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new l(255*(e+r*(Z*n+J*i)),255*(e+r*(K*n+Q*i)),255*(e+r*($*n)),this.opacity)}})),t.color=n,t.rgb=s,t.hsl=h,t.lab=m,t.hcl=w,t.cubehelix=A,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],116:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(){for(var t,e=0,n=arguments.length,i={};e<n;++e){if(!(t=arguments[e]+\\\"\\\")||t in i)throw new Error(\\\"illegal type: \\\"+t);i[t]=[]}return new r(i)}function r(t){this._=t}function n(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,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,e,r){for(var n=0,i=t.length;n<i;++n)if(t[n].name===e){t[n]=o,t=t.slice(0,n).concat(t.slice(n+1));break}return null!=r&&t.push({name:e,value:r}),t}var o={value:function(){}};r.prototype=e.prototype={constructor:r,on:function(t,e){var r,o=this._,s=n(t+\\\"\\\",o),l=-1,u=s.length;{if(!(arguments.length<2)){if(null!=e&&\\\"function\\\"!=typeof e)throw new Error(\\\"invalid callback: \\\"+e)\\n\",\n       \";for(;++l<u;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<u;)if((r=(t=s[l]).type)&&(r=i(o[r],t.name)))return r}},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new r(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(n=this._[t],a=0,r=n.length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=e,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],117:[function(e,r,n){!function(i,a){\\\"object\\\"==typeof n&&void 0!==r?a(n,e(\\\"d3-quadtree\\\"),e(\\\"d3-collection\\\"),e(\\\"d3-dispatch\\\"),e(\\\"d3-timer\\\")):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\",\\\"d3-quadtree\\\",\\\"d3-collection\\\",\\\"d3-dispatch\\\",\\\"d3-timer\\\"],a):a(i.d3=i.d3||{},i.d3,i.d3,i.d3,i.d3)}(this,function(t,e,r,n,i){\\\"use strict\\\";function a(t){return t.x+t.vx}function o(t){return t.y+t.vy}function s(t){return t.index}function l(t,e){var r=t.get(e);if(!r)throw new Error(\\\"missing: \\\"+e);return r}function u(t){return t.x}function c(t){return t.y}var h=function(t,e){function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r<a;++r)i=n[r],o+=i.x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r<a;++r)i=n[r],i.x-=o,i.y-=s}var n;return null==t&&(t=0),null==e&&(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},f=function(t){return function(){return t}},d=function(){return 1e-6*(Math.random()-.5)},p=function(t){function r(){function t(t,e,r,n,i){var a=t.data,o=t.r,s=m+o;{if(!a)return e>f+s||n<f-s||r>p+s||i<p-s;if(a.index>h.index){var l=f-a.x-a.vx,c=p-a.y-a.vy,g=l*l+c*c;g<s*s&&(0===l&&(l=d(),g+=l*l),0===c&&(c=d(),g+=c*c),g=(s-(g=Math.sqrt(g)))/g*u,h.vx+=(l*=g)*(s=(o*=o)/(v+o)),h.vy+=(c*=g)*s,a.vx-=l*(s=1-s),a.vy-=c*s)}}}for(var r,i,h,f,p,m,v,g=s.length,y=0;y<c;++y)for(i=e.quadtree(s,a,o).visitAfter(n),r=0;r<g;++r)h=s[r],m=l[h.index],v=m*m,f=h.x+h.vx,p=h.y+h.vy,i.visit(t)}function n(t){if(t.data)return t.r=l[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 i(){if(s){var e,r,n=s.length;for(l=new Array(n),e=0;e<n;++e)r=s[e],l[r.index]=+t(r,e,s)}}var s,l,u=1,c=1;return\\\"function\\\"!=typeof t&&(t=f(null==t?1:+t)),r.initialize=function(t){s=t,i()},r.iterations=function(t){return arguments.length?(c=+t,r):c},r.strength=function(t){return arguments.length?(u=+t,r):u},r.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:f(+e),i(),r):t},r},m=function(t){function e(t){return 1/Math.min(p[t.source.index],p[t.target.index])}function n(e){for(var r=0,n=t.length;r<b;++r)for(var i,a,o,s,l,h,f,p=0;p<n;++p)i=t[p],a=i.source,o=i.target,s=o.x+o.vx-a.x-a.vx||d(),l=o.y+o.vy-a.y-a.vy||d(),h=Math.sqrt(s*s+l*l),h=(h-c[p])/h*e*u[p],s*=h,l*=h,o.vx-=s*(f=m[p]),o.vy-=l*f,a.vx+=s*(f=1-f),a.vy+=l*f}function i(){if(h){var e,n,i=h.length,s=t.length,f=r.map(h,v);for(e=0,p=new Array(i);e<s;++e)n=t[e],n.index=e,\\\"object\\\"!=typeof n.source&&(n.source=l(f,n.source)),\\\"object\\\"!=typeof n.target&&(n.target=l(f,n.target)),p[n.source.index]=(p[n.source.index]||0)+1,p[n.target.index]=(p[n.target.index]||0)+1;for(e=0,m=new Array(s);e<s;++e)n=t[e],m[e]=p[n.source.index]/(p[n.source.index]+p[n.target.index]);u=new Array(s),a(),c=new Array(s),o()}}function a(){if(h)for(var e=0,r=t.length;e<r;++e)u[e]=+g(t[e],e,t)}function o(){if(h)for(var e=0,r=t.length;e<r;++e)c[e]=+y(t[e],e,t)}var u,c,h,p,m,v=s,g=e,y=f(30),b=1;return null==t&&(t=[]),n.initialize=function(t){h=t,i()},n.links=function(e){return arguments.length?(t=e,i(),n):t},n.id=function(t){return arguments.length?(v=t,n):v},n.iterations=function(t){return arguments.length?(b=+t,n):b},n.strength=function(t){return arguments.length?(g=\\\"function\\\"==typeof t?t:f(+t),a(),n):g},n.distance=function(t){return arguments.length?(y=\\\"function\\\"==typeof t?t:f(+t),o(),n):y},n},v=10,g=Math.PI*(3-Math.sqrt(5)),y=function(t){function e(){a(),y.call(\\\"tick\\\",l),u<c&&(m.stop(),y.call(\\\"end\\\",l))}function a(){var e,r,n=t.length;for(u+=(f-u)*h,p.each(function(t){t(u)}),e=0;e<n;++e)r=t[e],null==r.fx?r.x+=r.vx*=d:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=d:(r.y=r.fy,r.vy=0)}function o(){for(var e,r=0,n=t.length;r<n;++r){if(e=t[r],e.index=r,isNaN(e.x)||isNaN(e.y)){var i=v*Math.sqrt(r),a=r*g;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function s(e){return e.initialize&&e.initialize(t),e}var l,u=1,c=.001,h=1-Math.pow(c,1/300),f=0,d=.6,p=r.map(),m=i.timer(e),y=n.dispatch(\\\"tick\\\",\\\"end\\\");return null==t&&(t=[]),o(),l={tick:a,restart:function(){return m.restart(e),l},stop:function(){return m.stop(),l},nodes:function(e){return arguments.length?(t=e,o(),p.each(s),l):t},alpha:function(t){return arguments.length?(u=+t,l):u},alphaMin:function(t){return arguments.length?(c=+t,l):c},alphaDecay:function(t){return arguments.length?(h=+t,l):+h},alphaTarget:function(t){return arguments.length?(f=+t,l):f},velocityDecay:function(t){return arguments.length?(d=1-t,l):1-d},force:function(t,e){return arguments.length>1?(null==e?p.remove(t):p.set(t,s(e)),l):p.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)s=t[u],i=e-s.x,a=r-s.y,(o=i*i+a*a)<n&&(l=s,n=o);return l},on:function(t,e){return arguments.length>1?(y.on(t,e),l):y.on(t)}}},b=function(){function t(t){var r,l=a.length,h=e.quadtree(a,u,c).visitAfter(n);for(s=t,r=0;r<l;++r)o=a[r],h.visit(i)}function r(){if(a){var t,e,r=a.length;for(l=new Array(r),t=0;t<r;++t)e=a[t],l[e.index]=+h(e,t,a)}}function n(t){var e,r,n,i,a,o=0;if(t.length){for(n=i=a=0;a<4;++a)(e=t[a])&&(r=e.value)&&(o+=r,n+=r*e.x,i+=r*e.y);t.x=n/o,t.y=i/o}else{e=t,e.x=e.data.x,e.y=e.data.y;do{o+=l[e.data.index]}while(e=e.next)}t.value=o}function i(t,e,r,n){if(!t.value)return!0;var i=t.x-o.x,a=t.y-o.y,u=n-e,c=i*i+a*a;if(u*u/v<c)return c<m&&(0===i&&(i=d(),c+=i*i),0===a&&(a=d(),c+=a*a),c<p&&(c=Math.sqrt(p*c)),o.vx+=i*t.value*s/c,o.vy+=a*t.value*s/c),!0;if(!(t.length||c>=m)){(t.data!==o||t.next)&&(0===i&&(i=d(),c+=i*i),0===a&&(a=d(),c+=a*a),c<p&&(c=Math.sqrt(p*c)));do{t.data!==o&&(u=l[t.data.index]*s/c,o.vx+=i*u,o.vy+=a*u)}while(t=t.next)}}var a,o,s,l,h=f(-30),p=1,m=1/0,v=.81;return t.initialize=function(t){a=t,r()},t.strength=function(e){return arguments.length?(h=\\\"function\\\"==typeof e?e:f(+e),r(),t):h},t.distanceMin=function(e){return arguments.length?(p=e*e,t):Math.sqrt(p)},t.distanceMax=function(e){return arguments.length?(m=e*e,t):Math.sqrt(m)},t.theta=function(e){return arguments.length?(v=e*e,t):Math.sqrt(v)},t},x=function(t){function e(t){for(var e,r=0,o=n.length;r<o;++r)e=n[r],e.vx+=(a[r]-e.x)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e<r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return\\\"function\\\"!=typeof t&&(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:f(+t),r(),e):o},e.x=function(n){return arguments.length?(t=\\\"function\\\"==typeof n?n:f(+n),r(),e):t},e},_=function(t){function e(t){for(var e,r=0,o=n.length;r<o;++r)e=n[r],e.vy+=(a[r]-e.y)*i[r]*t}function r(){if(n){var e,r=n.length;for(i=new Array(r),a=new Array(r),e=0;e<r;++e)i[e]=isNaN(a[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}var n,i,a,o=f(.1);return\\\"function\\\"!=typeof t&&(t=f(null==t?0:+t)),e.initialize=function(t){n=t,r()},e.strength=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:f(+t),r(),e):o},e.y=function(n){return arguments.length?(t=\\\"function\\\"==typeof n?n:f(+n),r(),e):t},e};t.forceCenter=h,t.forceCollide=p,t.forceLink=m,t.forceManyBody=b,t.forceSimulation=y,t.forceX=x,t.forceY=_,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{\\\"d3-collection\\\":114,\\\"d3-dispatch\\\":116,\\\"d3-quadtree\\\":119,\\\"d3-timer\\\":120}],118:[function(e,r,n){!function(i,a){\\\"object\\\"==typeof n&&void 0!==r?a(n,e(\\\"d3-color\\\")):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\",\\\"d3-color\\\"],a):a(i.d3=i.d3||{},i.d3)}(this,function(t,e){\\\"use strict\\\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function n(t,e){return function(r){return t+r*e}}function i(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)}}function a(t,e){var r=e-t;return r?n(t,r>180||r<-180?r-360*Math.round(r/360):r):S(isNaN(t)?e:t)}function o(t){return 1==(t=+t)?s:function(e,r){return r-e?i(e,r,t):S(isNaN(e)?r:e)}}function s(t,e){var r=e-t;return r?n(t,r):S(isNaN(t)?e:t)}function l(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\\\"\\\"}}}function u(t){return function(){return t}}function c(t){return function(e){return t(e)+\\\"\\\"}}function h(t){return\\\"none\\\"===t?U:(_||(_=document.createElement(\\\"DIV\\\"),w=document.documentElement,M=document.defaultView),_.style.transform=t,t=M.getComputedStyle(w.appendChild(_),null).getPropertyValue(\\\"transform\\\"),w.removeChild(_),t=t.slice(7,-1).split(\\\",\\\"),V(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}function f(t){return null==t?U:(k||(k=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),k.setAttribute(\\\"transform\\\",t),(t=k.transform.baseVal.consolidate())?(t=t.matrix,V(t.a,t.b,t.c,t.d,t.e,t.f)):U)}function d(t,e,r,n){function i(t){return t.length?t.pop()+\\\" \\\":\\\"\\\"}function a(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\\\"translate(\\\",null,e,null,r);s.push({i:l-4,x:D(t,i)},{i:l-2,x:D(n,a)})}else(i||a)&&o.push(\\\"translate(\\\"+i+e+a+r)}function o(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\\\"rotate(\\\",null,n)-2,x:D(t,e)})):e&&r.push(i(r)+\\\"rotate(\\\"+e+n)}function s(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\\\"skewX(\\\",null,n)-2,x:D(t,e)}):e&&r.push(i(r)+\\\"skewX(\\\"+e+n)}function l(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");o.push({i:s-4,x:D(t,r)},{i:s-2,x:D(e,n)})}else 1===r&&1===n||a.push(i(a)+\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\")}return function(e,r){var n=[],i=[];return e=t(e),r=t(r),a(e.translateX,e.translateY,r.translateX,r.translateY,n,i),o(e.rotate,r.rotate,n,i),s(e.skewX,r.skewX,n,i),l(e.scaleX,e.scaleY,r.scaleX,r.scaleY,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\\\"\\\")}}}function p(t){return((t=Math.exp(t))+1/t)/2}function m(t){return((t=Math.exp(t))-1/t)/2}function v(t){return((t=Math.exp(2*t))-1)/(t+1)}function g(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=s(r.s,n.s),o=s(r.l,n.l),l=s(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=l(t),r+\\\"\\\"}}}function y(t,r){var n=s((t=e.lab(t)).l,(r=e.lab(r)).l),i=s(t.a,r.a),a=s(t.b,r.b),o=s(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\\\"\\\"}}function b(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=s(r.c,n.c),o=s(r.l,n.l),l=s(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=l(t),r+\\\"\\\"}}}function x(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=s(r.s,i.s),l=s(r.l,i.l),u=s(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=l(Math.pow(t,n)),r.opacity=u(t),r+\\\"\\\"}}return n=+n,i.gamma=r,i}(1)}var _,w,M,k,A=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},T=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},S=function(t){return function(){return t}},E=function t(r){function n(t,r){var n=i((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=i(t.g,r.g),o=i(t.b,r.b),l=s(t.opacity,r.opacity);return function(e){return t.r=n(e),t.g=a(e),t.b=o(e),t.opacity=l(e),t+\\\"\\\"}}var i=o(r);return n.gamma=t,n}(1),L=l(A),C=l(T),z=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(n),o=new Array(n);for(r=0;r<i;++r)a[r]=j(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},I=function(t,e){var r=new Date;return t=+t,e-=t,function(n){return r.setTime(t+e*n),r}},D=function(t,e){return t=+t,e-=t,function(r){return t+e*r}},P=function(t,e){var r,n={},i={};null!==t&&\\\"object\\\"==typeof t||(t={}),null!==e&&\\\"object\\\"==typeof e||(e={});for(r in e)r in t?n[r]=j(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},O=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,R=new RegExp(O.source,\\\"g\\\"),F=function(t,e){var r,n,i,a=O.lastIndex=R.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=O.exec(t))&&(n=R.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:D(r,n)})),a=R.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?c(l[0].x):u(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(\\\"\\\")})},j=function(t,r){var n,i=typeof r;return null==r||\\\"boolean\\\"===i?S(r):(\\\"number\\\"===i?D:\\\"string\\\"===i?(n=e.color(r))?(r=n,E):F:r instanceof e.color?E:r instanceof Date?I:Array.isArray(r)?z:\\\"function\\\"!=typeof r.valueOf&&\\\"function\\\"!=typeof r.toString||isNaN(r)?P:D)(t,r)},N=function(t,e){return t=+t,e-=t,function(r){return Math.round(t+e*r)}},B=180/Math.PI,U={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},V=function(t,e,r,n,i,a){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:i,translateY:a,rotate:Math.atan2(e,t)*B,skewX:Math.atan(l)*B,scaleX:o,scaleY:s}},H=d(h,\\\"px, \\\",\\\"px)\\\",\\\"deg)\\\"),q=d(f,\\\", \\\",\\\")\\\",\\\")\\\"),G=Math.SQRT2,Y=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<1e-12)n=Math.log(u/o)/G,r=function(t){return[i+t*c,a+t*h,o*Math.exp(G*t*n)]};else{var d=Math.sqrt(f),g=(u*u-o*o+4*f)/(2*o*2*d),y=(u*u-o*o-4*f)/(2*u*2*d),b=Math.log(Math.sqrt(g*g+1)-g),x=Math.log(Math.sqrt(y*y+1)-y);n=(x-b)/G,r=function(t){var e=t*n,r=p(b),s=o/(2*d)*(r*v(G*e+b)-m(b));return[i+s*c,a+s*h,o*r/p(G*e+b)]}}return r.duration=1e3*n,r},X=g(a),W=g(s),Z=b(a),J=b(s),K=x(a),Q=x(s),$=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r};t.interpolate=j,t.interpolateArray=z,t.interpolateBasis=A,t.interpolateBasisClosed=T,t.interpolateDate=I,t.interpolateNumber=D,t.interpolateObject=P,t.interpolateRound=N,t.interpolateString=F,t.interpolateTransformCss=H,t.interpolateTransformSvg=q,t.interpolateZoom=Y,t.interpolateRgb=E,t.interpolateRgbBasis=L,t.interpolateRgbBasisClosed=C,t.interpolateHsl=X,t.interpolateHslLong=W,t.interpolateLab=y,t.interpolateHcl=Z,t.interpolateHclLong=J,t.interpolateCubehelix=K,t.interpolateCubehelixLong=Q,t.quantize=$,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{\\\"d3-color\\\":115}],119:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,u,c,h,f,d=t._root,p={data:n},m=t._x0,v=t._y0,g=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((u=e>=(a=(m+g)/2))?m=a:g=a,(c=r>=(o=(v+y)/2))?v=o:y=o,i=d,!(d=d[h=c<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&&r===l)return p.next=d,i?i[h]=p:t._root=p,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(m+g)/2))?m=a:g=a,(c=r>=(o=(v+y)/2))?v=o:y=o}while((h=c<<1|u)==(f=(l>=o)<<1|s>=a));return i[f]=d,i[h]=p,t}function r(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),u=1/0,c=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<u&&(u=i),i>h&&(h=i),a<c&&(c=a),a>f&&(f=a));for(h<u&&(u=this._x0,h=this._x1),f<c&&(c=this._y0,f=this._y1),this.cover(u,c).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this}function n(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this}function i(t){return t[0]}function a(t){return t[1]}function o(t,e,r){var n=new s(null==e?i:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function s(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function l(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var u=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},c=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,u=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{o=new Array(4),o[s]=u,u=o}while(l*=2,i=r+l,a=n+l,t>i||e>a);break;case 1:do{o=new Array(4),o[s]=u,u=o}while(l*=2,r=i-l,a=n+l,r>t||e>a);break;case 2:do{o=new Array(4),o[s]=u,u=o}while(l*=2,i=r+l,n=a-l,t>i||n>e);break;case 3:do{o=new Array(4),o[s]=u,u=o}while(l*=2,r=i-l,n=a-l,r>t||n>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},h=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},f=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]]},d=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i},p=function(t,e,r){var n,i,a,o,s,l,u,c=this._x0,h=this._y0,f=this._x1,p=this._y1,m=[],v=this._root;for(v&&m.push(new d(v,c,h,f,p)),null==r?r=1/0:(c=t-r,h=e-r,f=t+r,p=e+r,r*=r);l=m.pop();)if(!(!(v=l.node)||(i=l.x0)>f||(a=l.y0)>p||(o=l.x1)<c||(s=l.y1)<h))if(v.length){var g=(i+o)/2,y=(a+s)/2;m.push(new d(v[3],g,y,o,s),new d(v[2],i,y,g,s),new d(v[1],g,a,o,y),new d(v[0],i,a,g,y)),(u=(e>=y)<<1|t>=g)&&(l=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=l)}else{var b=t-+this._x.call(null,v.data),x=e-+this._y.call(null,v.data),_=b*b+x*x;if(_<r){var w=Math.sqrt(r=_);c=t-w,h=e-w,f=t+w,p=e+w,n=v.data}}return n},m=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,u,c,h,f,d=this._root,p=this._x0,m=this._y0,v=this._x1,g=this._y1;if(!d)return this;if(d.length)for(;;){if((u=a>=(s=(p+v)/2))?p=s:v=s,(c=o>=(l=(m+g)/2))?m=l:g=l,e=d,!(d=d[h=c<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;d.data!==t;)if(n=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(r?r[f]=d:this._root=d),this):(this._root=i,this)},v=function(){return this._root},g=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},y=function(t){var e,r,n,i,a,o,s=[],l=this._root;for(l&&s.push(new d(l,this._x0,this._y0,this._x1,this._y1));e=s.pop();)if(!t(l=e.node,n=e.x0,i=e.y0,a=e.x1,o=e.y1)&&l.length){var u=(n+a)/2,c=(i+o)/2;(r=l[3])&&s.push(new d(r,u,c,a,o)),(r=l[2])&&s.push(new d(r,n,c,u,o)),(r=l[1])&&s.push(new d(r,u,i,a,c)),(r=l[0])&&s.push(new d(r,n,i,u,c))}return this},b=function(t){var e,r=[],n=[];for(this._root&&r.push(new d(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var i=e.node;if(i.length){var a,o=e.x0,s=e.y0,l=e.x1,u=e.y1,c=(o+l)/2,h=(s+u)/2;(a=i[0])&&r.push(new d(a,o,s,c,h)),(a=i[1])&&r.push(new d(a,c,s,l,h)),(a=i[2])&&r.push(new d(a,o,h,c,u)),(a=i[3])&&r.push(new d(a,c,h,l,u))}n.push(e)}for(;e=n.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},x=function(t){return arguments.length?(this._x=t,this):this._x},_=function(t){return arguments.length?(this._y=t,this):this._y},w=o.prototype=s.prototype;w.copy=function(){var t,e,r=new s(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=l(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=l(e));return r},w.add=u,w.addAll=r,w.cover=c,w.data=h,w.extent=f,w.find=p,w.remove=m,w.removeAll=n,w.root=v,w.size=g,w.visit=y,w.visitAfter=b,w.x=x,w.y=_,t.quadtree=o,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],120:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.d3=e.d3||{})}(this,function(t){\\\"use strict\\\";function e(){return g||(x(r),g=b.now()+y)}function r(){g=0}function n(){this._call=this._time=this._next=null}function i(t,e,r){var i=new n;return i.restart(t,e,r),i}function a(){e(),++f;for(var t,r=c;r;)(t=g-r._time)>=0&&r._call.call(null,t),r=r._next;--f}function o(){g=(v=b.now())+y,f=d=0;try{a()}finally{f=0,l(),g=0}}function s(){var t=b.now(),e=t-v;e>m&&(y-=e,v=t)}function l(){for(var t,e,r=c,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:c=e);h=t,u(n)}function u(t){if(!f){d&&(d=clearTimeout(d));var e=t-g;e>24?(t<1/0&&(d=setTimeout(o,e)),p&&(p=clearInterval(p))):(p||(v=g,p=setInterval(s,m)),f=1,x(o))}}var c,h,f=0,d=0,p=0,m=1e3,v=0,g=0,y=0,b=\\\"object\\\"==typeof performance&&performance.now?performance:Date,x=\\\"function\\\"==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};n.prototype=i.prototype={constructor:n,restart:function(t,r,n){if(\\\"function\\\"!=typeof t)throw new TypeError(\\\"callback is not a function\\\");n=(null==n?e():+n)+(null==r?0:+r),this._next||h===this||(h?h._next=this:c=this,h=this),this._call=t,this._time=n,u()},stop:function(){this._call&&(this._call=null,this._time=1/0,u())}};var _=function(t,e,r){var i=new n;return e=null==e?0:+e,i.restart(function(r){i.stop(),t(r+e)},e,r),i},w=function(t,r,i){var a=new n,o=r;return null==r?(a.restart(t,r,i),a):(r=+r,i=null==i?e():+i,a.restart(function e(n){n+=o,a.restart(e,o+=r,i),t(n)},r,i),a)};t.now=e,t.timer=i,t.timerFlush=a,t.timeout=_,t.interval=w,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],121:[function(e,r,n){!function(){function e(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function i(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function a(t){return null===t?NaN:+t}function o(t){return!isNaN(t)}function s(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}function l(t){return t.length}function u(t){for(var e=1;t*e%1;)e*=10;return e}function c(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function h(){this._=Object.create(null)}function f(t){return(t+=\\\"\\\")===_o||t[0]===wo?wo+t:t}function d(t){return(t+=\\\"\\\")[0]===wo?t.slice(1):t}function p(t){return f(t)in this._}function m(t){return(t=f(t))in this._&&delete this._[t]}function v(){var t=[];for(var e in this._)t.push(d(e));return t}function g(){var t=0;for(var e in this._)++t;return t}function y(){for(var t in this._)return!1;return!0}function b(){this._=Object.create(null)}function x(t){return t}function _(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function w(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=Mo.length;r<n;++r){var i=Mo[r]+e;if(i in t)return i}}function M(){}function k(){}function A(t){function e(){for(var e,n=r,i=-1,a=n.length;++i<a;)(e=n[i].on)&&e.apply(this,arguments);return t}var r=[],n=new h;return e.on=function(e,i){var a,o=n.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,r=r.slice(0,a=r.indexOf(o)).concat(r.slice(a+1)),n.remove(e)),i&&r.push(n.set(e,{on:i})),t)},e}function T(){uo.event.preventDefault()}function S(){for(var t,e=uo.event;t=e.sourceEvent;)e=t;return e}function E(t){for(var e=new k,r=0,n=arguments.length;++r<n;)e[arguments[r]]=A(e);return e.of=function(r,n){return function(i){try{var a=i.sourceEvent=uo.event;i.target=t,uo.event=i,e[i.type].apply(r,n)}finally{uo.event=a}}},e}function L(t){return Ao(t,Lo),t}function C(t){return\\\"function\\\"==typeof t?t:function(){return To(t,this)}}function z(t){return\\\"function\\\"==typeof t?t:function(){return So(t,this)}}function I(t,e){function r(){this.removeAttribute(t)}function n(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function a(){this.setAttributeNS(t.space,t.local,e)}function o(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}function s(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}return t=uo.ns.qualify(t),null==e?t.local?n:r:\\\"function\\\"==typeof e?t.local?s:o:t.local?a:i}function D(t){return t.trim().replace(/\\\\s+/g,\\\" \\\")}function P(t){return new RegExp(\\\"(?:^|\\\\\\\\s+)\\\"+uo.requote(t)+\\\"(?:\\\\\\\\s+|$)\\\",\\\"g\\\")}function O(t){return(t+\\\"\\\").trim().split(/^|\\\\s+/)}function R(t,e){function r(){for(var r=-1;++r<i;)t[r](this,e)}function n(){for(var r=-1,n=e.apply(this,arguments);++r<i;)t[r](this,n)}t=O(t).map(F);var i=t.length;return\\\"function\\\"==typeof e?n:r}function F(t){var e=P(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\\\"class\\\")||\\\"\\\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\\\"class\\\",D(i+\\\" \\\"+t))):r.setAttribute(\\\"class\\\",D(i.replace(e,\\\" \\\")))}}function j(t,e,r){function n(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,r)}function a(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}return null==e?n:\\\"function\\\"==typeof e?a:i}function N(t,e){function r(){delete this[t]}function n(){this[t]=e}function i(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}return null==e?r:\\\"function\\\"==typeof e?i:n}function B(t){function e(){var e=this.ownerDocument,r=this.namespaceURI;return r===Co&&e.documentElement.namespaceURI===Co?e.createElement(t):e.createElementNS(r,t)}function r(){return this.ownerDocument.createElementNS(t.space,t.local)}return\\\"function\\\"==typeof t?t:(t=uo.ns.qualify(t)).local?r:e}function U(){var t=this.parentNode;t&&t.removeChild(this)}function V(t){return{__data__:t}}function H(t){return function(){return Eo(this,t)}}function q(t){return arguments.length||(t=i),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function G(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function Y(t){return Ao(t,Io),t}function X(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function W(t,e,r){function n(){var e=this[o];e&&(this.removeEventListener(t,e,e.$),delete this[o])}function i(){var i=l(e,ho(arguments));n.call(this),this.addEventListener(t,this[o]=i,i.$=r),i._=e}function a(){var e,r=new RegExp(\\\"^__on([^.]+)\\\"+uo.requote(t)+\\\"$\\\");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}var o=\\\"__on\\\"+t,s=t.indexOf(\\\".\\\"),l=Z;s>0&&(t=t.slice(0,s));var u=Do.get(t);return u&&(t=u,l=J),s?e?i:n:e?M:a}function Z(t,e){return function(r){var n=uo.event;uo.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{uo.event=n}}}function J(t,e){var r=Z(t,e);return function(t){var e=this,n=t.relatedTarget;n&&(n===e||8&n.compareDocumentPosition(e))||r.call(e,t)}}function K(t){var r=\\\".dragsuppress-\\\"+ ++Oo,i=\\\"click\\\"+r,a=uo.select(n(t)).on(\\\"touchmove\\\"+r,T).on(\\\"dragstart\\\"+r,T).on(\\\"selectstart\\\"+r,T);if(null==Po&&(Po=!(\\\"onselectstart\\\"in t)&&w(t.style,\\\"userSelect\\\")),Po){var o=e(t).style,s=o[Po];o[Po]=\\\"none\\\"}return function(t){if(a.on(r,null),Po&&(o[Po]=s),t){var e=function(){a.on(i,null)};a.on(i,function(){T(),e()},!0),setTimeout(e,0)}}}function Q(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(Ro<0){var a=n(t);if(a.scrollX||a.scrollY){r=uo.select(\\\"body\\\").append(\\\"svg\\\").style({position:\\\"absolute\\\",top:0,left:0,margin:0,padding:0,border:\\\"none\\\"},\\\"important\\\");var o=r[0][0].getScreenCTM();Ro=!(o.f||o.e),r.remove()}}return Ro?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function $(){return uo.event.changedTouches[0].identifier}function tt(t){return t>0?1:t<0?-1:0}function et(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function rt(t){return t>1?0:t<-1?No:Math.acos(t)}function nt(t){return t>1?Vo:t<-1?-Vo:Math.asin(t)}function it(t){return((t=Math.exp(t))-1/t)/2}function at(t){return((t=Math.exp(t))+1/t)/2}function ot(t){return((t=Math.exp(2*t))-1)/(t+1)}function st(t){return(t=Math.sin(t/2))*t}function lt(){}function ut(t,e,r){return this instanceof ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof ut?new ut(t.h,t.s,t.l):Mt(\\\"\\\"+t,kt,ut):new ut(t,e,r)}function ct(t,e,r){function n(t){return t>360?t-=360:t<0&&(t+=360),t<60?a+(o-a)*t/60:t<180?o:t<240?a+(o-a)*(240-t)/60:a}function i(t){return Math.round(255*n(t))}var a,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,r=r<0?0:r>1?1:r,o=r<=.5?r*(1+e):r+e-r*e,a=2*r-o,new bt(i(t+120),i(t),i(t-120))}function ht(t,e,r){return this instanceof ht?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof ht?new ht(t.h,t.c,t.l):t instanceof dt?mt(t.l,t.a,t.b):mt((t=At((t=uo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new ht(t,e,r)}function ft(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new dt(r,Math.cos(t*=Ho)*e,Math.sin(t)*e)}function dt(t,e,r){return this instanceof dt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof dt?new dt(t.l,t.a,t.b):t instanceof ht?ft(t.h,t.c,t.l):At((t=bt(t)).r,t.g,t.b):new dt(t,e,r)}function pt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return i=vt(i)*Qo,n=vt(n)*$o,a=vt(a)*ts,new bt(yt(3.2404542*i-1.5371385*n-.4985314*a),yt(-.969266*i+1.8760108*n+.041556*a),yt(.0556434*i-.2040259*n+1.0572252*a))}function mt(t,e,r){return t>0?new ht(Math.atan2(r,e)*qo,Math.sqrt(e*e+r*r),t):new ht(NaN,NaN,t)}function vt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function gt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function yt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function bt(t,e,r){return this instanceof bt?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof bt?new bt(t.r,t.g,t.b):Mt(\\\"\\\"+t,bt,ct):new bt(t,e,r)}function xt(t){return new bt(t>>16,t>>8&255,255&t)}function _t(t){return xt(t)+\\\"\\\"}function wt(t){return t<16?\\\"0\\\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function Mt(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\\\((.*)\\\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\\\",\\\"),n[1]){case\\\"hsl\\\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\\\"rgb\\\":return e(St(i[0]),St(i[1]),St(i[2]))}return(a=ns.get(t))?e(a.r,a.g,a.b):(null==t||\\\"#\\\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function kt(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new ut(n,i,l)}function At(t,e,r){t=Tt(t),e=Tt(e),r=Tt(r);var n=gt((.4124564*t+.3575761*e+.1804375*r)/Qo),i=gt((.2126729*t+.7151522*e+.072175*r)/$o);return dt(116*i-16,500*(n-i),200*(i-gt((.0193339*t+.119192*e+.9503041*r)/ts)))}function Tt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function St(t){var e=parseFloat(t);return\\\"%\\\"===t.charAt(t.length-1)?Math.round(2.55*e):e}function Et(t){return\\\"function\\\"==typeof t?t:function(){return t}}\\n\",\n       \"function Lt(t){return function(e,r,n){return 2===arguments.length&&\\\"function\\\"==typeof r&&(n=r,r=null),Ct(e,r,t,n)}}function Ct(t,e,r,n){function i(){var t,e=l.status;if(!e&&It(l)||e>=200&&e<300||304===e){try{t=r.call(a,l)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,l)}var a={},o=uo.dispatch(\\\"beforesend\\\",\\\"progress\\\",\\\"load\\\",\\\"error\\\"),s={},l=new XMLHttpRequest,u=null;return!this.XDomainRequest||\\\"withCredentials\\\"in l||!/^(http(s)?:)?\\\\/\\\\//.test(t)||(l=new XDomainRequest),\\\"onload\\\"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(t){var e=uo.event;uo.event=t;try{o.progress.call(a,l)}finally{uo.event=e}},a.header=function(t,e){return t=(t+\\\"\\\").toLowerCase(),arguments.length<2?s[t]:(null==e?delete s[t]:s[t]=e+\\\"\\\",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+\\\"\\\",a):e},a.responseType=function(t){return arguments.length?(u=t,a):u},a.response=function(t){return r=t,a},[\\\"get\\\",\\\"post\\\"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(ho(arguments)))}}),a.send=function(r,n,i){if(2===arguments.length&&\\\"function\\\"==typeof n&&(i=n,n=null),l.open(r,t,!0),null==e||\\\"accept\\\"in s||(s.accept=e+\\\",*/*\\\"),l.setRequestHeader)for(var c in s)l.setRequestHeader(c,s[c]);return null!=e&&l.overrideMimeType&&l.overrideMimeType(e),null!=u&&(l.responseType=u),null!=i&&a.on(\\\"error\\\",i).on(\\\"load\\\",function(t){i(null,t)}),o.beforesend.call(a,l),l.send(null==n?null:n),a},a.abort=function(){return l.abort(),a},uo.rebind(a,o,\\\"on\\\"),null==n?a:a.get(zt(n))}function zt(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}function It(t){var e=t.responseType;return e&&\\\"text\\\"!==e?t.response:t.responseText}function Dt(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return as?as.n=a:is=a,as=a,os||(ss=clearTimeout(ss),os=1,ls(Pt)),a}function Pt(){var t=Ot(),e=Rt()-t;e>24?(isFinite(e)&&(clearTimeout(ss),ss=setTimeout(Pt,e)),os=0):(os=1,ls(Pt))}function Ot(){for(var t=Date.now(),e=is;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Rt(){for(var t,e=is,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:is=e.n;return as=t,r}function Ft(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function jt(t,e){var r=Math.pow(10,3*xo(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}}function Nt(t){var e=t.decimal,r=t.thousands,n=t.grouping,i=t.currency,a=n&&r?function(t,e){for(var i=t.length,a=[],o=0,s=n[0],l=0;i>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>e));)s=n[o=(o+1)%n.length];return a.reverse().join(r)}:x;return function(t){var r=cs.exec(t),n=r[1]||\\\" \\\",o=r[2]||\\\">\\\",s=r[3]||\\\"-\\\",l=r[4]||\\\"\\\",u=r[5],c=+r[6],h=r[7],f=r[8],d=r[9],p=1,m=\\\"\\\",v=\\\"\\\",g=!1,y=!0;switch(f&&(f=+f.substring(1)),(u||\\\"0\\\"===n&&\\\"=\\\"===o)&&(u=n=\\\"0\\\",o=\\\"=\\\"),d){case\\\"n\\\":h=!0,d=\\\"g\\\";break;case\\\"%\\\":p=100,v=\\\"%\\\",d=\\\"f\\\";break;case\\\"p\\\":p=100,v=\\\"%\\\",d=\\\"r\\\";break;case\\\"b\\\":case\\\"o\\\":case\\\"x\\\":case\\\"X\\\":\\\"#\\\"===l&&(m=\\\"0\\\"+d.toLowerCase());case\\\"c\\\":y=!1;case\\\"d\\\":g=!0,f=0;break;case\\\"s\\\":p=-1,d=\\\"r\\\"}\\\"$\\\"===l&&(m=i[0],v=i[1]),\\\"r\\\"!=d||f||(d=\\\"g\\\"),null!=f&&(\\\"g\\\"==d?f=Math.max(1,Math.min(21,f)):\\\"e\\\"!=d&&\\\"f\\\"!=d||(f=Math.max(0,Math.min(20,f)))),d=hs.get(d)||Bt;var b=u&&h;return function(t){var r=v;if(g&&t%1)return\\\"\\\";var i=t<0||0===t&&1/t<0?(t=-t,\\\"-\\\"):\\\"-\\\"===s?\\\"\\\":s;if(p<0){var l=uo.formatPrefix(t,f);t=l.scale(t),r=l.symbol+v}else t*=p;t=d(t,f);var x,_,w=t.lastIndexOf(\\\".\\\");if(w<0){var M=y?t.lastIndexOf(\\\"e\\\"):-1;M<0?(x=t,_=\\\"\\\"):(x=t.substring(0,M),_=t.substring(M))}else x=t.substring(0,w),_=e+t.substring(w+1);!u&&h&&(x=a(x,1/0));var k=m.length+x.length+_.length+(b?0:i.length),A=k<c?new Array(k=c-k+1).join(n):\\\"\\\";return b&&(x=a(A+x,A.length?c-_.length:1/0)),i+=m,t=x+_,(\\\"<\\\"===o?i+t+A:\\\">\\\"===o?A+i+t:\\\"^\\\"===o?A.substring(0,k>>=1)+i+t+A.substring(k):i+(b?t:A+t))+r}}}function Bt(t){return t+\\\"\\\"}function Ut(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Vt(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new ds(r-1)),1),r}function a(t,r){return e(t=new ds(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}function s(t,e,r){try{ds=Ut;var n=new Ut;return n._=t,o(n,e,r)}finally{ds=Date}}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var l=t.utc=Ht(t);return l.floor=l,l.round=Ht(n),l.ceil=Ht(i),l.offset=Ht(a),l.range=s,t}function Ht(t){return function(e,r){try{ds=Ut;var n=new Ut;return n._=e,t(n,r)._}finally{ds=Date}}}function qt(t){function e(t){function e(e){for(var r,i,a,o=[],s=-1,l=0;++s<n;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=ms[r=t.charAt(++s)])&&(r=t.charAt(++s)),(a=E[r])&&(r=a(e,null==i?\\\"e\\\"===r?\\\" \\\":\\\"0\\\":i)),o.push(r),l=s+1);return o.push(t.slice(l,s)),o.join(\\\"\\\")}var n=t.length;return e.parse=function(e){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(r(n,t,e,0)!=e.length)return null;\\\"p\\\"in n&&(n.H=n.H%12+12*n.p);var i=null!=n.Z&&ds!==Ut,a=new(i?Ut:ds);return\\\"j\\\"in n?a.setFullYear(n.y,0,n.j):\\\"W\\\"in n||\\\"U\\\"in n?(\\\"w\\\"in n||(n.w=\\\"W\\\"in n?1:0),a.setFullYear(n.y,0,1),a.setFullYear(n.y,0,\\\"W\\\"in n?(n.w+6)%7+7*n.W-(a.getDay()+5)%7:n.w+7*n.U-(a.getDay()+6)%7)):a.setFullYear(n.y,n.m,n.d),a.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?a._:a},e.toString=function(){return t},e}function r(t,e,r,n){for(var i,a,o,s=0,l=e.length,u=r.length;s<l;){if(n>=u)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=L[o in ms?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}function n(t,e,r){w.lastIndex=0;var n=w.exec(e.slice(r));return n?(t.w=M.get(n[0].toLowerCase()),r+n[0].length):-1}function i(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.w=_.get(n[0].toLowerCase()),r+n[0].length):-1}function a(t,e,r){T.lastIndex=0;var n=T.exec(e.slice(r));return n?(t.m=S.get(n[0].toLowerCase()),r+n[0].length):-1}function o(t,e,r){k.lastIndex=0;var n=k.exec(e.slice(r));return n?(t.m=A.get(n[0].toLowerCase()),r+n[0].length):-1}function s(t,e,n){return r(t,E.c.toString(),e,n)}function l(t,e,n){return r(t,E.x.toString(),e,n)}function u(t,e,n){return r(t,E.X.toString(),e,n)}function c(t,e,r){var n=b.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)}var h=t.dateTime,f=t.date,d=t.time,p=t.periods,m=t.days,v=t.shortDays,g=t.months,y=t.shortMonths;e.utc=function(t){function r(t){try{ds=Ut;var e=new ds;return e._=t,n(e)}finally{ds=Date}}var n=e(t);return r.parse=function(t){try{ds=Ut;var e=n.parse(t);return e&&e._}finally{ds=Date}},r.toString=n.toString,r},e.multi=e.utc.multi=ce;var b=uo.map(),x=Yt(m),_=Xt(m),w=Yt(v),M=Xt(v),k=Yt(g),A=Xt(g),T=Yt(y),S=Xt(y);p.forEach(function(t,e){b.set(t.toLowerCase(),e)});var E={a:function(t){return v[t.getDay()]},A:function(t){return m[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return g[t.getMonth()]},c:e(h),d:function(t,e){return Gt(t.getDate(),e,2)},e:function(t,e){return Gt(t.getDate(),e,2)},H:function(t,e){return Gt(t.getHours(),e,2)},I:function(t,e){return Gt(t.getHours()%12||12,e,2)},j:function(t,e){return Gt(1+fs.dayOfYear(t),e,3)},L:function(t,e){return Gt(t.getMilliseconds(),e,3)},m:function(t,e){return Gt(t.getMonth()+1,e,2)},M:function(t,e){return Gt(t.getMinutes(),e,2)},p:function(t){return p[+(t.getHours()>=12)]},S:function(t,e){return Gt(t.getSeconds(),e,2)},U:function(t,e){return Gt(fs.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Gt(fs.mondayOfYear(t),e,2)},x:e(f),X:e(d),y:function(t,e){return Gt(t.getFullYear()%100,e,2)},Y:function(t,e){return Gt(t.getFullYear()%1e4,e,4)},Z:le,\\\"%\\\":function(){return\\\"%\\\"}},L={a:n,A:i,b:a,B:o,c:s,d:re,e:re,H:ie,I:ie,j:ne,L:se,m:ee,M:ae,p:c,S:oe,U:Zt,w:Wt,W:Jt,x:l,X:u,y:Qt,Y:Kt,Z:$t,\\\"%\\\":ue};return e}function Gt(t,e,r){var n=t<0?\\\"-\\\":\\\"\\\",i=(n?-t:t)+\\\"\\\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function Yt(t){return new RegExp(\\\"^(?:\\\"+t.map(uo.requote).join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function Xt(t){for(var e=new h,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Wt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Zt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Jt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Kt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Qt(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.y=te(+n[0]),r+n[0].length):-1}function $t(t,e,r){return/^[+-]\\\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function te(t){return t+(t>68?1900:2e3)}function ee(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function re(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function ne(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function ie(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function ae(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function oe(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function se(t,e,r){vs.lastIndex=0;var n=vs.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function le(t){var e=t.getTimezoneOffset(),r=e>0?\\\"-\\\":\\\"+\\\",n=xo(e)/60|0,i=xo(e)%60;return r+Gt(n,\\\"0\\\",2)+Gt(i,\\\"0\\\",2)}function ue(t,e,r){gs.lastIndex=0;var n=gs.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function ce(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)}}function he(){}function fe(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function de(t,e){t&&_s.hasOwnProperty(t.type)&&_s[t.type](t,e)}function pe(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function me(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)pe(t[r],e,1);e.polygonEnd()}function ve(){function t(t,e){t*=Ho,e=e*Ho/2+No/4;var r=t-n,o=r>=0?1:-1,s=o*r,l=Math.cos(e),u=Math.sin(e),c=a*u,h=i*l+c*Math.cos(s),f=c*o*Math.sin(s);Ms.add(Math.atan2(f,h)),n=t,i=l,a=u}var e,r,n,i,a;ks.point=function(o,s){ks.point=t,n=(e=o)*Ho,i=Math.cos(s=(r=s)*Ho/2+No/4),a=Math.sin(s)},ks.lineEnd=function(){t(e,r)}}function ge(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 ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function be(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 xe(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function _e(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function we(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 Me(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function ke(t,e){return xo(t[0]-e[0])<Fo&&xo(t[1]-e[1])<Fo}function Ae(t,e){t*=Ho;var r=Math.cos(e*=Ho);Te(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Te(t,e,r){++As,Ss+=(t-Ss)/As,Es+=(e-Es)/As,Ls+=(r-Ls)/As}function Se(){function t(t,i){t*=Ho;var a=Math.cos(i*=Ho),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=r*l-n*s)*u+(u=n*o-e*l)*u+(u=e*s-r*o)*u),e*o+r*s+n*l);Ts+=u,Cs+=u*(e+(e=o)),zs+=u*(r+(r=s)),Is+=u*(n+(n=l)),Te(e,r,n)}var e,r,n;Rs.point=function(i,a){i*=Ho;var o=Math.cos(a*=Ho);e=o*Math.cos(i),r=o*Math.sin(i),n=Math.sin(a),Rs.point=t,Te(e,r,n)}}function Ee(){Rs.point=Ae}function Le(){function t(t,e){t*=Ho;var r=Math.cos(e*=Ho),o=r*Math.cos(t),s=r*Math.sin(t),l=Math.sin(e),u=i*l-a*s,c=a*o-n*l,h=n*s-i*o,f=Math.sqrt(u*u+c*c+h*h),d=n*o+i*s+a*l,p=f&&-rt(d)/f,m=Math.atan2(f,d);Ds+=p*u,Ps+=p*c,Os+=p*h,Ts+=m,Cs+=m*(n+(n=o)),zs+=m*(i+(i=s)),Is+=m*(a+(a=l)),Te(n,i,a)}var e,r,n,i,a;Rs.point=function(o,s){e=o,r=s,Rs.point=t,o*=Ho;var l=Math.cos(s*=Ho);n=l*Math.cos(o),i=l*Math.sin(o),a=Math.sin(s),Te(n,i,a)},Rs.lineEnd=function(){t(e,r),Rs.lineEnd=Ee,Rs.point=Ae}}function Ce(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 ze(){return!0}function Ie(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(ke(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);return void i.lineEnd()}var l=new Pe(r,t,null,!0),u=new Pe(r,null,l,!1);l.o=u,a.push(l),o.push(u),l=new Pe(n,t,null,!1),u=new Pe(n,null,l,!0),l.o=u,a.push(l),o.push(u)}}),o.sort(e),De(a),De(o),a.length){for(var s=0,l=r,u=o.length;s<u;++s)o[s].e=l=!l;for(var c,h,f=a[0];;){for(var d=f,p=!0;d.v;)if((d=d.n)===f)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(var s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(d.x,d.n.x,1,i);d=d.n}else{if(p){c=d.p.z;for(var s=c.length-1;s>=0;--s)i.point((h=c[s])[0],h[1])}else n(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,p=!p}while(!d.v);i.lineEnd()}}}function De(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Pe(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 Oe(t,e,r,n){return function(i,a){function o(e,r){var n=i(e,r);t(e=n[0],r=n[1])&&a.point(e,r)}function s(t,e){var r=i(t,e);v.point(r[0],r[1])}function l(){y.point=s,v.lineStart()}function u(){y.point=o,v.lineEnd()}function c(t,e){m.push([t,e]);var r=i(t,e);x.point(r[0],r[1])}function h(){x.lineStart(),m=[]}function f(){c(m[0][0],m[0][1]),x.lineEnd();var t,e=x.clean(),r=b.buffer(),n=r.length;if(m.pop(),p.push(m),m=null,n)if(1&e){t=r[0];var i,n=t.length-1,o=-1;if(n>0){for(_||(a.polygonStart(),_=!0),a.lineStart();++o<n;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),d.push(r.filter(Re))}var d,p,m,v=e(a),g=i.invert(n[0],n[1]),y={point:o,lineStart:l,lineEnd:u,polygonStart:function(){y.point=c,y.lineStart=h,y.lineEnd=f,d=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=l,y.lineEnd=u,d=uo.merge(d);var t=Ve(g,p);d.length?(_||(a.polygonStart(),_=!0),Ie(d,je,t,r,a)):t&&(_||(a.polygonStart(),_=!0),a.lineStart(),r(null,null,1,a),a.lineEnd()),_&&(a.polygonEnd(),_=!1),d=p=null},sphere:function(){a.polygonStart(),a.lineStart(),r(null,null,1,a),a.lineEnd(),a.polygonEnd()}},b=Fe(),x=e(b),_=!1;return y}}function Re(t){return t.length>1}function Fe(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:M,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function je(t,e){return((t=t.x)[0]<0?t[1]-Vo-Fo:Vo-t[1])-((e=e.x)[0]<0?e[1]-Vo-Fo:Vo-e[1])}function Ne(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?No:-No,l=xo(a-r);xo(l-No)<Fo?(t.point(r,n=(n+o)/2>0?Vo:-Vo),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=No&&(xo(r-i)<Fo&&(r-=i*Fo),xo(a-s)<Fo&&(a-=s*Fo),n=Be(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}function Be(t,e,r,n){var i,a,o=Math.sin(t-r);return xo(o)>Fo?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}function Ue(t,e,r,n){var i;if(null==t)i=r*Vo,n.point(-No,i),n.point(0,i),n.point(No,i),n.point(No,0),n.point(No,-i),n.point(0,-i),n.point(-No,-i),n.point(-No,0),n.point(-No,i);else if(xo(t[0]-e[0])>Fo){var a=t[0]<e[0]?No:-No;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])}function Ve(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Ms.reset();for(var s=0,l=e.length;s<l;++s){var u=e[s],c=u.length;if(c)for(var h=u[0],f=h[0],d=h[1]/2+No/4,p=Math.sin(d),m=Math.cos(d),v=1;;){v===c&&(v=0),t=u[v];var g=t[0],y=t[1]/2+No/4,b=Math.sin(y),x=Math.cos(y),_=g-f,w=_>=0?1:-1,M=w*_,k=M>No,A=p*b;if(Ms.add(Math.atan2(A*w*Math.sin(M),m*x+A*Math.cos(M))),a+=k?_+w*Bo:_,k^f>=r^g>=r){var T=be(ge(h),ge(t));we(T);var S=be(i,T);we(S);var E=(k^_>=0?-1:1)*nt(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=k^_>=0?1:-1)}if(!v++)break;f=g,p=b,m=x,h=t}}return(a<-Fo||a<Fo&&Ms<-Fo)^1&o}function He(t){function e(t,e){return Math.cos(t)*Math.cos(e)>a}function r(t){var r,a,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var d,p=[h,f],m=e(h,f),v=o?m?0:i(h,f):m?i(h+(h<0?No:-No),f):0;if(!r&&(u=l=m)&&t.lineStart(),m!==l&&(d=n(r,p),(ke(r,d)||ke(p,d))&&(p[0]+=Fo,p[1]+=Fo,m=e(p[0],p[1]))),m!==l)c=0,m?(t.lineStart(),d=n(p,r),t.point(d[0],d[1])):(d=n(r,p),t.point(d[0],d[1]),t.lineEnd()),r=d;else if(s&&r&&o^m){var g;v&a||!(g=n(p,r,!0))||(c=0,o?(t.lineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1])))}!m||r&&ke(r,p)||t.point(p[0],p[1]),r=p,l=m,a=v},lineEnd:function(){l&&t.lineEnd(),r=null},clean:function(){return c|(u&&l)<<1}}}function n(t,e,r){var n=ge(t),i=ge(e),o=[1,0,0],s=be(n,i),l=ye(s,s),u=s[0],c=l-u*u;if(!c)return!r&&t;var h=a*l/c,f=-a*u/c,d=be(o,s),p=_e(o,h);xe(p,_e(s,f));var m=d,v=ye(p,m),g=ye(m,m),y=v*v-g*(ye(p,p)-1);if(!(y<0)){var b=Math.sqrt(y),x=_e(m,(-v-b)/g);if(xe(x,p),x=Me(x),!r)return x;var _,w=t[0],M=e[0],k=t[1],A=e[1];M<w&&(_=w,w=M,M=_);var T=M-w,S=xo(T-No)<Fo,E=S||T<Fo;if(!S&&A<k&&(_=k,k=A,A=_),E?S?k+A>0^x[1]<(xo(x[0]-w)<Fo?k:A):k<=x[1]&&x[1]<=A:T>No^(w<=x[0]&&x[0]<=M)){var L=_e(m,(-v+b)/g);return xe(L,p),[x,Me(L)]}}}function i(e,r){var n=o?t:No-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}var a=Math.cos(t),o=a>0,s=xo(a)>Fo;return Oe(e,r,vr(t,6*Ho),o?[0,-t]:[-No,t-No])}function qe(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=s.x,h=s.y,f=0,d=1,p=c-l,m=h-u;if(a=t-l,p||!(a>0)){if(a/=p,p<0){if(a<f)return;a<d&&(d=a)}else if(p>0){if(a>d)return;a>f&&(f=a)}if(a=r-l,p||!(a<0)){if(a/=p,p<0){if(a>d)return;a>f&&(f=a)}else if(p>0){if(a<f)return;a<d&&(d=a)}if(a=e-u,m||!(a>0)){if(a/=m,m<0){if(a<f)return;a<d&&(d=a)}else if(m>0){if(a>d)return;a>f&&(f=a)}if(a=n-u,m||!(a<0)){if(a/=m,m<0){if(a>d)return;a>f&&(f=a)}else if(m>0){if(a<f)return;a<d&&(d=a)}return f>0&&(i.a={x:l+f*p,y:u+f*m}),d<1&&(i.b={x:l+d*p,y:u+d*m}),i}}}}}}function Ge(t,e,r,n){function i(n,i){return xo(n[0]-t)<Fo?i>0?0:3:xo(n[0]-r)<Fo?i>0?2:1:xo(n[1]-e)<Fo?i>0?1:0:i>0?3:2}function a(t,e){return o(t.x,e.x)}function o(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]}return function(s){function l(t){for(var e=0,r=v.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=v[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&et(u,a,t)>0&&++e:a[1]<=n&&et(u,a,t)<0&&--e,u=a;return 0!==e}function u(a,s,l,u){var c=0,h=0;if(null==a||(c=i(a,l))!==(h=i(s,l))||o(a,s)<0^l>0)do{u.point(0===c||3===c?t:r,c>1?n:e)}while((c=(c+l+4)%4)!==h);else u.point(s[0],s[1])}function c(i,a){return t<=i&&i<=r&&e<=a&&a<=n}function h(t,e){c(t,e)&&s.point(t,e)}function f(){L.point=p,v&&v.push(g=[]),k=!0,M=!1,_=w=NaN}function d(){m&&(p(y,b),x&&M&&S.rejoin(),m.push(S.buffer())),L.point=h,M&&s.lineEnd()}function p(t,e){t=Math.max(-js,Math.min(js,t)),e=Math.max(-js,Math.min(js,e));var r=c(t,e);if(v&&g.push([t,e]),k)y=t,b=e,x=r,k=!1,r&&(s.lineStart(),s.point(t,e));else if(r&&M)s.point(t,e);else{var n={a:{x:_,y:w},b:{x:t,y:e}};E(n)?(M||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),A=!1):r&&(s.lineStart(),s.point(t,e),A=!1)}_=t,w=e,M=r}var m,v,g,y,b,x,_,w,M,k,A,T=s,S=Fe(),E=qe(t,e,r,n),L={point:h,lineStart:f,lineEnd:d,polygonStart:function(){s=S,m=[],v=[],A=!0},polygonEnd:function(){s=T,m=uo.merge(m);var e=l([t,n]),r=A&&e,i=m.length;(r||i)&&(s.polygonStart(),r&&(s.lineStart(),u(null,null,1,s),s.lineEnd()),i&&Ie(m,a,e,u,s),s.polygonEnd()),m=v=g=null}};return L}}function Ye(t){var e=0,r=No/3,n=lr(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*No/180,r=t[1]*No/180):[e/No*180,r/No*180]},i}function Xe(t,e){function r(t,e){var r=Math.sqrt(a-2*i*Math.sin(e))/i;return[r*Math.sin(t*=i),o-r*Math.cos(t)]}var n=Math.sin(t),i=(n+Math.sin(e))/2,a=1+n*(2*i-n),o=Math.sqrt(a)/i;return r.invert=function(t,e){var r=o-e;return[Math.atan2(t,r)/i,nt((a-(t*t+r*r)*i*i)/(2*i))]},r}function We(){function t(t,e){Bs+=i*t-n*e,n=t,i=e}var e,r,n,i;Gs.point=function(a,o){Gs.point=t,e=n=a,r=i=o},Gs.lineEnd=function(){t(e,r)}}function Ze(t,e){t<Us&&(Us=t),t>Hs&&(Hs=t),e<Vs&&(Vs=e),e>qs&&(qs=e)}function Je(){function t(t,e){o.push(\\\"M\\\",t,\\\",\\\",e,a)}function e(t,e){o.push(\\\"M\\\",t,\\\",\\\",e),s.point=r}function r(t,e){o.push(\\\"L\\\",t,\\\",\\\",e)}function n(){s.point=t}function i(){o.push(\\\"Z\\\")}var a=Ke(4.5),o=[],s={point:t,lineStart:function(){s.point=e},lineEnd:n,polygonStart:function(){s.lineEnd=i},polygonEnd:function(){s.lineEnd=n,s.point=t},pointRadius:function(t){return a=Ke(t),s},result:function(){if(o.length){var t=o.join(\\\"\\\");return o=[],t}}};return s}function Ke(t){return\\\"m0,\\\"+t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+-2*t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+2*t+\\\"z\\\"}function Qe(t,e){Ss+=t,Es+=e,++Ls}function $e(){function t(t,n){var i=t-e,a=n-r,o=Math.sqrt(i*i+a*a);Cs+=o*(e+t)/2,zs+=o*(r+n)/2,Is+=o,Qe(e=t,r=n)}var e,r;Xs.point=function(n,i){Xs.point=t,Qe(e=n,r=i)}}function tr(){Xs.point=Qe}function er(){function t(t,e){var r=t-n,a=e-i,o=Math.sqrt(r*r+a*a);Cs+=o*(n+t)/2,zs+=o*(i+e)/2,Is+=o,o=i*t-n*e,Ds+=o*(n+t),Ps+=o*(i+e),Os+=3*o,Qe(n=t,i=e)}var e,r,n,i;Xs.point=function(a,o){Xs.point=t,Qe(e=n=a,r=i=o)},Xs.lineEnd=function(){t(e,r)}}function rr(t){function e(e,r){t.moveTo(e+o,r),t.arc(e,r,o,0,Bo)}function r(e,r){t.moveTo(e,r),s.point=n}function n(e,r){t.lineTo(e,r)}function i(){s.point=e}function a(){t.closePath()}var o=4.5,s={point:e,lineStart:function(){s.point=r},lineEnd:i,polygonStart:function(){s.lineEnd=a},polygonEnd:function(){s.lineEnd=i,s.point=e},pointRadius:function(t){return o=t,s},result:M};return s}function nr(t){function e(t){return(s?n:r)(t)}function r(e){return or(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})}function n(e){function r(r,n){r=t(r,n),e.point(r[0],r[1])}function n(){b=NaN,k.point=a,e.lineStart()}function a(r,n){var a=ge([r,n]),o=t(r,n);i(b,x,y,_,w,M,b=o[0],x=o[1],y=r,_=a[0],w=a[1],M=a[2],s,e),e.point(b,x)}function o(){k.point=r,e.lineEnd()}function l(){n(),k.point=u,k.lineEnd=c}function u(t,e){a(h=t,f=e),d=b,p=x,m=_,v=w,g=M,k.point=a}function c(){i(b,x,y,_,w,M,d,p,h,m,v,g,s,e),k.lineEnd=o,o()}var h,f,d,p,m,v,g,y,b,x,_,w,M,k={point:r,lineStart:n,lineEnd:o,polygonStart:function(){e.polygonStart(),k.lineStart=l},polygonEnd:function(){e.polygonEnd(),k.lineStart=n}};return k}function i(e,r,n,s,l,u,c,h,f,d,p,m,v,g){var y=c-e,b=h-r,x=y*y+b*b;if(x>4*a&&v--){var _=s+d,w=l+p,M=u+m,k=Math.sqrt(_*_+w*w+M*M),A=Math.asin(M/=k),T=xo(xo(M)-1)<Fo||xo(n-f)<Fo?(n+f)/2:Math.atan2(w,_),S=t(T,A),E=S[0],L=S[1],C=E-e,z=L-r,I=b*C-y*z;(I*I/x>a||xo((y*C+b*z)/x-.5)>.3||s*d+l*p+u*m<o)&&(i(e,r,n,s,l,u,E,L,T,_/=k,w/=k,M,v,g),g.point(E,L),i(E,L,T,_,w,M,c,h,f,d,p,m,v,g))}}var a=.5,o=Math.cos(30*Ho),s=16;return e.precision=function(t){return arguments.length?(s=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function ir(t){var e=nr(function(e,r){return t([e*qo,r*qo])});return function(t){return ur(e(t))}}function ar(t){this.stream=t}function or(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 sr(t){return lr(function(){return t})()}function lr(t){function e(t){return t=s(t[0]*Ho,t[1]*Ho),[t[0]*f+l,u-t[1]*f]}function r(t){return(t=s.invert((t[0]-l)/f,(u-t[1])/f))&&[t[0]*qo,t[1]*qo]}function n(){s=Ce(o=fr(g,y,b),a);var t=a(m,v);return l=d-t[0]*f,u=p+t[1]*f,i()}function i(){return c&&(c.valid=!1,c=null),e}var a,o,s,l,u,c,h=nr(function(t,e){return t=a(t,e),[t[0]*f+l,u-t[1]*f]}),f=150,d=480,p=250,m=0,v=0,g=0,y=0,b=0,_=Fs,w=x,M=null,k=null;return e.stream=function(t){return c&&(c.valid=!1),c=ur(_(o,h(w(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(_=null==t?(M=t,Fs):He((M=+t)*Ho),i()):M},e.clipExtent=function(t){return arguments.length?(k=t,w=t?Ge(t[0][0],t[0][1],t[1][0],t[1][1]):x,i()):k},e.scale=function(t){return arguments.length?(f=+t,n()):f},e.translate=function(t){return arguments.length?(d=+t[0],p=+t[1],n()):[d,p]},e.center=function(t){return arguments.length?(m=t[0]%360*Ho,v=t[1]%360*Ho,n()):[m*qo,v*qo]},e.rotate=function(t){return arguments.length?(g=t[0]%360*Ho,y=t[1]%360*Ho,b=t.length>2?t[2]%360*Ho:0,n()):[g*qo,y*qo,b*qo]},uo.rebind(e,h,\\\"precision\\\"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&r,n()}}function ur(t){return or(t,function(e,r){t.point(e*Ho,r*Ho)})}function cr(t,e){return[t,e]}function hr(t,e){return[t>No?t-Bo:t<-No?t+Bo:t,e]}function fr(t,e,r){return t?e||r?Ce(pr(t),mr(e,r)):pr(t):e||r?mr(e,r):hr}function dr(t){return function(e,r){return e+=t,[e>No?e-Bo:e<-No?e+Bo:e,r]}}function pr(t){var e=dr(t);return e.invert=dr(-t),e}function mr(t,e){function r(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*n+s*i;return[Math.atan2(l*a-c*o,s*n-u*i),nt(c*a+l*o)]}var n=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return r.invert=function(t,e){var r=Math.cos(e),s=Math.cos(t)*r,l=Math.sin(t)*r,u=Math.sin(e),c=u*a-l*o;return[Math.atan2(l*a+u*o,s*n+c*i),nt(c*n-s*i)]},r}function vr(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=gr(r,i),a=gr(r,a),(o>0?i<a:i>a)&&(i+=o*Bo)):(i=t+o*Bo,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Me([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function gr(t,e){var r=ge(e);r[0]-=t,we(r);var n=rt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Fo)%(2*Math.PI)}function yr(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[t,e]})}}function br(t,e,r){var n=uo.range(t,e-Fo,r).concat(e);return function(t){return n.map(function(e){return[e,t]})}}function xr(t){return t.source}function _r(t){return t.target}function wr(t,e,r,n){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),s=Math.sin(n),l=i*Math.cos(t),u=i*Math.sin(t),c=o*Math.cos(r),h=o*Math.sin(r),f=2*Math.asin(Math.sqrt(st(n-e)+i*o*st(r-t))),d=1/Math.sin(f),p=f?function(t){var e=Math.sin(t*=f)*d,r=Math.sin(f-t)*d,n=r*l+e*c,i=r*u+e*h,o=r*a+e*s;return[Math.atan2(i,n)*qo,Math.atan2(o,Math.sqrt(n*n+i*i))*qo]}:function(){return[t*qo,e*qo]};return p.distance=f,p}function Mr(){function t(t,i){var a=Math.sin(i*=Ho),o=Math.cos(i),s=xo((t*=Ho)-e),l=Math.cos(s);Ws+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=n*a-r*o*l)*s),r*a+n*o*l),e=t,r=a,n=o}var e,r,n;Zs.point=function(i,a){e=i*Ho,r=Math.sin(a*=Ho),n=Math.cos(a),Zs.point=t},Zs.lineEnd=function(){Zs.point=Zs.lineEnd=M}}function kr(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}function Ar(t,e){function r(t,e){o>0?e<-Vo+Fo&&(e=-Vo+Fo):e>Vo-Fo&&(e=Vo-Fo);var r=o/Math.pow(i(e),a);return[r*Math.sin(a*t),o-r*Math.cos(a*t)]}var n=Math.cos(t),i=function(t){return Math.tan(No/4+t/2)},a=t===e?Math.sin(t):Math.log(n/Math.cos(e))/Math.log(i(e)/i(t)),o=n*Math.pow(i(t),a)/a;return a?(r.invert=function(t,e){var r=o-e,n=tt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(o/n,1/a))-Vo]},r):Sr}function Tr(t,e){function r(t,e){var r=a-e;return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}var n=Math.cos(t),i=t===e?Math.sin(t):(n-Math.cos(e))/(e-t),a=n/i+t;return xo(i)<Fo?cr:(r.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/i,a-tt(i)*Math.sqrt(t*t+r*r)]},r)}function Sr(t,e){return[t,Math.log(Math.tan(No/4+e/2))]}function Er(t){var e,r=sr(t),n=r.scale,i=r.translate,a=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=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=No*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}function Lr(t,e){return[Math.log(Math.tan(No/4+e/2)),-t]}function Cr(t){return t[0]}function zr(t){return t[1]}function Ir(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&et(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function Dr(t,e){return t[0]-e[0]||t[1]-e[1]}function Pr(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function Or(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],u=r[1],c=e[1]-l,h=n[1]-u,f=(s*(l-u)-h*(i-a))/(h*o-s*c);return[i+f*o,l+f*c]}function Rr(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}function Fr(){an(this),this.edge=this.site=this.circle=null}function jr(t){var e=sl.pop()||new Fr;return e.site=t,e}function Nr(t){Zr(t),il.remove(t),sl.push(t),an(t)}function Br(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];Nr(t);for(var l=a;l.circle&&xo(r-l.circle.x)<Fo&&xo(n-l.circle.cy)<Fo;)a=l.P,s.unshift(l),Nr(l),l=a;s.unshift(l),Zr(l);for(var u=o;u.circle&&xo(r-u.circle.x)<Fo&&xo(n-u.circle.cy)<Fo;)o=u.N,s.push(u),Nr(u),u=o;s.push(u),Zr(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],en(u.edge,l.site,u.site,i);l=s[0],u=s[h-1],u.edge=$r(l.site,u.site,null,i),Wr(l),Wr(u)}function Ur(t){for(var e,r,n,i,a=t.x,o=t.y,s=il._;s;)if((n=Vr(s,o)-a)>Fo)s=s.L;else{if(!((i=a-Hr(s,o))>Fo)){n>-Fo?(e=s.P,r=s):i>-Fo?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=jr(t);if(il.insert(e,l),e||r){if(e===r)return Zr(e),r=jr(e.site),il.insert(l,r),l.edge=r.edge=$r(e.site,l.site),Wr(e),void Wr(r);if(!r)return void(l.edge=$r(e.site,l.site));Zr(e),Zr(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,d=t.y-h,p=r.site,m=p.x-c,v=p.y-h,g=2*(f*v-d*m),y=f*f+d*d,b=m*m+v*v,x={x:(v*y-d*b)/g+c,y:(f*b-m*y)/g+h};en(r.edge,u,p,x),l.edge=$r(u,t,null,x),r.edge=$r(t,p,null,x),Wr(e),Wr(r)}}function Vr(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;r=o.site;var s=r.x,l=r.y,u=l-e;if(!u)return s;var c=s-n,h=1/a-1/u,f=c/u;return h?(-f+Math.sqrt(f*f-2*h*(c*c/(-2*u)-l+u/2+i-a/2)))/h+n:(n+s)/2}function Hr(t,e){var r=t.N;if(r)return Vr(r,e);var n=t.site;return n.y===e?n.x:1/0}function qr(t){this.site=t,this.edges=[]}function Gr(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],d=t[0][1],p=t[1][1],m=nl,v=m.length;v--;)if((a=m[v])&&a.prepare())for(s=a.edges,l=s.length,o=0;o<l;)c=s[o].end(),n=c.x,i=c.y,u=s[++o%l].start(),e=u.x,r=u.y,(xo(n-e)>Fo||xo(i-r)>Fo)&&(s.splice(o,0,new rn(tn(a.site,c,xo(n-h)<Fo&&p-i>Fo?{x:h,y:xo(e-h)<Fo?r:p}:xo(i-p)<Fo&&f-n>Fo?{x:xo(r-p)<Fo?e:f,y:p}:xo(n-f)<Fo&&i-d>Fo?{x:f,y:xo(e-f)<Fo?r:d}:xo(i-d)<Fo&&n-h>Fo?{x:xo(r-d)<Fo?e:h,y:d}:null),a.site,null)),++l)}function Yr(t,e){return e.angle-t.angle}function Xr(){an(this),this.x=this.y=this.arc=this.site=this.cy=null}function Wr(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,h=a.y-s,f=2*(l*h-u*c);if(!(f>=-jo)){var d=l*l+u*u,p=c*c+h*h,m=(h*d-u*p)/f,v=(l*p-c*d)/f,h=v+s,g=ll.pop()||new Xr;g.arc=t,g.site=i,g.x=m+o,g.y=h+Math.sqrt(m*m+v*v),g.cy=h,t.circle=g;for(var y=null,b=ol._;b;)if(g.y<b.y||g.y===b.y&&g.x<=b.x){if(!b.L){y=b.P;break}b=b.L}else{if(!b.R){y=b;break}b=b.R}ol.insert(y,g),y||(al=g)}}}}function Zr(t){var e=t.circle;e&&(e.P||(al=e.N),ol.remove(e),ll.push(e),an(e),t.circle=null)}function Jr(t){for(var e,r=rl,n=qe(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)e=r[i],(!Kr(e,t)||!n(e)||xo(e.a.x-e.b.x)<Fo&&xo(e.a.y-e.b.y)<Fo)&&(e.a=e.b=null,r.splice(i,1))}function Kr(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],u=e[1][1],c=t.l,h=t.r,f=c.x,d=c.y,p=h.x,m=h.y,v=(f+p)/2,g=(d+m)/2;if(m===d){if(v<o||v>=s)return;if(f>p){if(a){if(a.y>=u)return}else a={x:v,y:l};r={x:v,y:u}}else{if(a){if(a.y<l)return}else a={x:v,y:u};r={x:v,y:l}}}else if(n=(f-p)/(m-d),i=g-n*v,n<-1||n>1)if(f>p){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(d<m){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={\\n\",\n       \"x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Qr(t,e){this.l=t,this.r=e,this.a=this.b=null}function $r(t,e,r,n){var i=new Qr(t,e);return rl.push(i),r&&en(i,t,e,r),n&&en(i,e,t,n),nl[t.i].edges.push(new rn(i,t,e)),nl[e.i].edges.push(new rn(i,e,t)),i}function tn(t,e,r){var n=new Qr(t,null);return n.a=e,n.b=r,rl.push(n),n}function en(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 rn(t,e,r){var n=t.a,i=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(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function nn(){this._=null}function an(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function on(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function sn(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function ln(t){for(;t.L;)t=t.L;return t}function un(t,e){var r,n,i,a=t.sort(cn).pop();for(rl=[],nl=new Array(t.length),il=new nn,ol=new nn;;)if(i=al,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(nl[a.i]=new qr(a),Ur(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;Br(i.arc)}e&&(Jr(e),Gr(e));var o={cells:nl,edges:rl};return il=ol=rl=nl=null,o}function cn(t,e){return e.y-t.y||e.x-t.x}function hn(t,e,r){return(t.x-r.x)*(e.y-t.y)-(t.x-e.x)*(r.y-t.y)}function fn(t){return t.x}function dn(t){return t.y}function pn(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function mn(t,e,r,n,i,a){if(!t(e,r,n,i,a)){var o=.5*(r+i),s=.5*(n+a),l=e.nodes;l[0]&&mn(t,l[0],r,n,o,s),l[1]&&mn(t,l[1],o,n,i,s),l[2]&&mn(t,l[2],r,s,o,a),l[3]&&mn(t,l[3],o,s,i,a)}}function vn(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,d){if(!(c>a||h>o||f<n||d<i)){if(p=u.point){var p,m=e-u.x,v=r-u.y,g=m*m+v*v;if(g<l){var y=Math.sqrt(l=g);n=e-y,i=r-y,a=e+y,o=r+y,s=p}}for(var b=u.nodes,x=.5*(c+f),_=.5*(h+d),w=e>=x,M=r>=_,k=M<<1|w,A=k+4;k<A;++k)if(u=b[3&k])switch(3&k){case 0:t(u,c,h,x,_);break;case 1:t(u,x,h,f,_);break;case 2:t(u,c,_,x,d);break;case 3:t(u,x,_,f,d)}}}(t,n,i,a,o),s}function gn(t,e){t=uo.rgb(t),e=uo.rgb(e);var r=t.r,n=t.g,i=t.b,a=e.r-r,o=e.g-n,s=e.b-i;return function(t){return\\\"#\\\"+wt(Math.round(r+a*t))+wt(Math.round(n+o*t))+wt(Math.round(i+s*t))}}function yn(t,e){var r,n={},i={};for(r in t)r in e?n[r]=_n(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function bn(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function xn(t,e){var r,n,i,a=cl.lastIndex=hl.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=cl.exec(t))&&(n=hl.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:bn(r,n)})),a=hl.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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(\\\"\\\")})}function _n(t,e){for(var r,n=uo.interpolators.length;--n>=0&&!(r=uo.interpolators[n](t,e)););return r}function wn(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(_n(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}function Mn(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function kn(t){return function(e){return 1-t(1-e)}}function An(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Tn(t){return t*t}function Sn(t){return t*t*t}function En(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 Ln(t){return function(e){return Math.pow(e,t)}}function Cn(t){return 1-Math.cos(t*Vo)}function zn(t){return Math.pow(2,10*(t-1))}function In(t){return 1-Math.sqrt(1-t*t)}function Dn(t,e){var r;return arguments.length<2&&(e=.45),arguments.length?r=e/Bo*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Bo/e)}}function Pn(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function On(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 Rn(t,e){t=uo.hcl(t),e=uo.hcl(e);var r=t.h,n=t.c,i=t.l,a=e.h-r,o=e.c-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.c:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ft(r+a*t,n+o*t,i+s*t)+\\\"\\\"}}function Fn(t,e){t=uo.hsl(t),e=uo.hsl(e);var r=t.h,n=t.s,i=t.l,a=e.h-r,o=e.s-n,s=e.l-i;return isNaN(o)&&(o=0,n=isNaN(n)?e.s:n),isNaN(a)?(a=0,r=isNaN(r)?e.h:r):a>180?a-=360:a<-180&&(a+=360),function(t){return ct(r+a*t,n+o*t,i+s*t)+\\\"\\\"}}function jn(t,e){t=uo.lab(t),e=uo.lab(e);var r=t.l,n=t.a,i=t.b,a=e.l-r,o=e.a-n,s=e.b-i;return function(t){return pt(r+a*t,n+o*t,i+s*t)+\\\"\\\"}}function Nn(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Bn(t){var e=[t.a,t.b],r=[t.c,t.d],n=Vn(e),i=Un(e,r),a=Vn(Hn(r,e,-i))||0;e[0]*r[1]<r[0]*e[1]&&(e[0]*=-1,e[1]*=-1,n*=-1,i*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-r[0],r[1]))*qo,this.translate=[t.e,t.f],this.scale=[n,a],this.skew=a?Math.atan2(i,a)*qo:0}function Un(t,e){return t[0]*e[0]+t[1]*e[1]}function Vn(t){var e=Math.sqrt(Un(t,t));return e&&(t[0]/=e,t[1]/=e),e}function Hn(t,e,r){return t[0]+=r*e[0],t[1]+=r*e[1],t}function qn(t){return t.length?t.pop()+\\\",\\\":\\\"\\\"}function Gn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\\\"translate(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:bn(t[0],e[0])},{i:i-2,x:bn(t[1],e[1])})}else(e[0]||e[1])&&r.push(\\\"translate(\\\"+e+\\\")\\\")}function Yn(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(qn(r)+\\\"rotate(\\\",null,\\\")\\\")-2,x:bn(t,e)})):e&&r.push(qn(r)+\\\"rotate(\\\"+e+\\\")\\\")}function Xn(t,e,r,n){t!==e?n.push({i:r.push(qn(r)+\\\"skewX(\\\",null,\\\")\\\")-2,x:bn(t,e)}):e&&r.push(qn(r)+\\\"skewX(\\\"+e+\\\")\\\")}function Wn(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(qn(r)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:bn(t[0],e[0])},{i:i-2,x:bn(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(qn(r)+\\\"scale(\\\"+e+\\\")\\\")}function Zn(t,e){var r=[],n=[];return t=uo.transform(t),e=uo.transform(e),Gn(t.translate,e.translate,r,n),Yn(t.rotate,e.rotate,r,n),Xn(t.skew,e.skew,r,n),Wn(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i<a;)r[(e=n[i]).i]=e.x(t);return r.join(\\\"\\\")}}function Jn(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function Kn(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Qn(t){for(var e=t.source,r=t.target,n=ti(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function $n(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ti(t,e){if(t===e)return t;for(var r=$n(t),n=$n(e),i=r.pop(),a=n.pop(),o=null;i===a;)o=i,i=r.pop(),a=n.pop();return o}function ei(t){t.fixed|=2}function ri(t){t.fixed&=-7}function ni(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ii(t){t.fixed&=-5}function ai(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l<s;)null!=(a=o[l])&&(ai(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var u=e*r[t.point.index];t.charge+=t.pointCharge=u,n+=u*t.point.x,i+=u*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}function oi(t,e){return uo.rebind(t,e,\\\"sort\\\",\\\"children\\\",\\\"value\\\"),t.nodes=t,t.links=fi,t}function si(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function ui(t){return t.children}function ci(t){return t.value}function hi(t,e){return e.value-t.value}function fi(t){return uo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function di(t){return t.x}function pi(t){return t.y}function mi(t,e,r){t.y0=e,t.y=r}function vi(t){return uo.range(t.length)}function gi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function yi(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function bi(t){return t.reduce(xi,0)}function xi(t,e){return t+e[1]}function _i(t,e){return wi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wi(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Mi(t){return[uo.min(t),uo.max(t)]}function ki(t,e){return t.value-e.value}function Ai(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ti(t,e){t._pack_next=e,e._pack_prev=t}function Si(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Ei(t){function e(t){c=Math.min(t.x-t.r,c),h=Math.max(t.x+t.r,h),f=Math.min(t.y-t.r,f),d=Math.max(t.y+t.r,d)}if((r=t.children)&&(u=r.length)){var r,n,i,a,o,s,l,u,c=1/0,h=-1/0,f=1/0,d=-1/0;if(r.forEach(Li),n=r[0],n.x=-n.r,n.y=0,e(n),u>1&&(i=r[1],i.x=i.r,i.y=0,e(i),u>2))for(a=r[2],Ii(n,i,a),e(a),Ai(n,a),n._pack_prev=a,Ai(a,i),i=n._pack_next,o=3;o<u;o++){Ii(n,i,a=r[o]);var p=0,m=1,v=1;for(s=i._pack_next;s!==i;s=s._pack_next,m++)if(Si(s,a)){p=1;break}if(1==p)for(l=n._pack_prev;l!==s._pack_prev&&!Si(l,a);l=l._pack_prev,v++);p?(m<v||m==v&&i.r<n.r?Ti(n,i=s):Ti(n=l,i),o--):(Ai(n,a),i=a,e(a))}var g=(c+h)/2,y=(f+d)/2,b=0;for(o=0;o<u;o++)a=r[o],a.x-=g,a.y-=y,b=Math.max(b,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=b,r.forEach(Ci)}}function Li(t){t._pack_next=t._pack_prev=t}function Ci(t){delete t._pack_next,delete t._pack_prev}function zi(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a<o;)zi(i[a],e,r,n)}function Ii(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a;o*=o,n*=n;var l=.5+(n-o)/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+u*a,r.y=t.y+l*a-u*i}else r.x=t.x+n,r.y=t.y}function Di(t,e){return t.parent==e.parent?1:2}function Pi(t){var e=t.children;return e.length?e[0]:t.t}function Oi(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Ri(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 Fi(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)e=i[a],e.z+=r,e.m+=r,r+=e.s+(n+=e.c)}function ji(t,e,r){return t.a.parent===e.parent?t.a:r}function Ni(t){return 1+uo.max(t,function(t){return t.y})}function Bi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Ui(t){var e=t.children;return e&&e.length?Ui(e[0]):t}function Vi(t){var e,r=t.children;return r&&(e=r.length)?Vi(r[e-1]):t}function Hi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function qi(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Gi(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function Yi(t){return t.rangeExtent?t.rangeExtent():Gi(t.range())}function Xi(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function Wi(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Zi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:wl}function Ji(t,e,r,n){var i=[],a=[],o=0,s=Math.min(t.length,e.length)-1;for(t[s]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=s;)i.push(r(t[o-1],t[o])),a.push(n(e[o-1],e[o]));return function(e){var r=uo.bisect(t,e,1,s)-1;return a[r](i[r](e))}}function Ki(t,e,r,n){function i(){var i=Math.min(t.length,e.length)>2?Ji:Xi,l=n?Kn:Jn;return o=i(t,e,l,r),s=i(e,t,l,_n),a}function a(t){return o(t)}var o,s;return a.invert=function(t){return s(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Nn)},a.clamp=function(t){return arguments.length?(n=t,i()):n},a.interpolate=function(t){return arguments.length?(r=t,i()):r},a.ticks=function(e){return ea(t,e)},a.tickFormat=function(e,r){return ra(t,e,r)},a.nice=function(e){return $i(t,e),i()},a.copy=function(){return Ki(t,e,r,n)},i()}function Qi(t,e){return uo.rebind(t,e,\\\"range\\\",\\\"rangeRound\\\",\\\"interpolate\\\",\\\"clamp\\\")}function $i(t,e){return Wi(t,Zi(ta(t,e)[2])),Wi(t,Zi(ta(t,e)[2])),t}function ta(t,e){null==e&&(e=10);var r=Gi(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function ea(t,e){return uo.range.apply(uo,ta(t,e))}function ra(t,e,r){var n=ta(t,e);if(r){var i=cs.exec(r);if(i.shift(),\\\"s\\\"===i[8]){var a=uo.formatPrefix(Math.max(xo(n[0]),xo(n[1])));return i[7]||(i[7]=\\\".\\\"+na(a.scale(n[2]))),i[8]=\\\"f\\\",r=uo.format(i.join(\\\"\\\")),function(t){return r(a.scale(t))+a.symbol}}i[7]||(i[7]=\\\".\\\"+ia(i[8],n)),r=i.join(\\\"\\\")}else r=\\\",.\\\"+na(n[2])+\\\"f\\\";return uo.format(r)}function na(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ia(t,e){var r=na(e[2]);return t in Ml?Math.abs(r-na(Math.max(xo(e[0]),xo(e[1]))))+ +(\\\"e\\\"!==t):r-2*(\\\"%\\\"===t)}function aa(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Wi(n.map(i),r?Math:Al);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Gi(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),h=e%1?2:e;if(isFinite(c-u)){if(r){for(;u<c;u++)for(var f=1;f<h;f++)o.push(a(u)*f);o.push(a(u))}else for(o.push(a(u));u++<c;)for(var f=h-1;f>0;f--)o.push(a(u)*f);for(u=0;o[u]<s;u++);for(c=o.length;o[c-1]>l;c--);o=o.slice(u,c)}return o},o.tickFormat=function(t,r){if(!arguments.length)return kl;arguments.length<2?r=kl:\\\"function\\\"!=typeof r&&(r=uo.format(r));var n=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e<e-.5&&(o*=e),o<=n?r(t):\\\"\\\"}},o.copy=function(){return aa(t.copy(),e,r,n)},Qi(o,t)}function oa(t,e,r){function n(e){return t(i(e))}var i=sa(e),a=sa(1/e);return n.invert=function(e){return a(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(i)),n):r},n.ticks=function(t){return ea(r,t)},n.tickFormat=function(t,e){return ra(r,t,e)},n.nice=function(t){return n.domain($i(r,t))},n.exponent=function(o){return arguments.length?(i=sa(e=o),a=sa(1/e),t.domain(r.map(i)),n):e},n.copy=function(){return oa(t.copy(),e,r)},Qi(n,t)}function sa(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function la(t,e){function r(r){return a[((i.get(r)||(\\\"range\\\"===e.t?i.set(r,t.push(r)):NaN))-1)%a.length]}function n(e,r){return uo.range(t.length).map(function(t){return e+r*t})}var i,a,o;return r.domain=function(n){if(!arguments.length)return t;t=[],i=new h;for(var a,o=-1,s=n.length;++o<s;)i.has(a=n[o])||i.set(a,t.push(a));return r[e.t].apply(r,e.a)},r.range=function(t){return arguments.length?(a=t,o=0,e={t:\\\"range\\\",a:arguments},r):a},r.rangePoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=(l+u)/2,0):(u-l)/(t.length-1+s);return a=n(l+c*s/2,c),o=0,e={t:\\\"rangePoints\\\",a:arguments},r},r.rangeRoundPoints=function(i,s){arguments.length<2&&(s=0);var l=i[0],u=i[1],c=t.length<2?(l=u=Math.round((l+u)/2),0):(u-l)/(t.length-1+s)|0;return a=n(l+Math.round(c*s/2+(u-l-(t.length-1+s)*c)/2),c),o=0,e={t:\\\"rangeRoundPoints\\\",a:arguments},r},r.rangeBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=(h-c)/(t.length-s+2*l);return a=n(c+f*l,f),u&&a.reverse(),o=f*(1-s),e={t:\\\"rangeBands\\\",a:arguments},r},r.rangeRoundBands=function(i,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var u=i[1]<i[0],c=i[u-0],h=i[1-u],f=Math.floor((h-c)/(t.length-s+2*l));return a=n(c+Math.round((h-c-(t.length-s)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-s)),e={t:\\\"rangeRoundBands\\\",a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){return Gi(e.a[0])},r.copy=function(){return la(t,e)},r.domain(t)}function ua(t,e){function r(){var r=0,i=e.length;for(s=[];++r<i;)s[r-1]=uo.quantile(t,r/i);return n}function n(t){if(!isNaN(t=+t))return e[uo.bisect(s,t)]}var s;return n.domain=function(e){return arguments.length?(t=e.map(a).filter(o).sort(i),r()):t},n.range=function(t){return arguments.length?(e=t,r()):e},n.quantiles=function(){return s},n.invertExtent=function(r){return r=e.indexOf(r),r<0?[NaN,NaN]:[r>0?s[r-1]:t[0],r<s.length?s[r]:t[t.length-1]]},n.copy=function(){return ua(t,e)},r()}function ca(t,e,r){function n(e){return r[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=r.length/(e-t),o=r.length-1,n}var a,o;return n.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],i()):[t,e]},n.range=function(t){return arguments.length?(r=t,i()):r},n.invertExtent=function(e){return e=r.indexOf(e),e=e<0?NaN:e/a+t,[e,e+1/a]},n.copy=function(){return ca(t,e,r)},i()}function ha(t,e){function r(r){if(r<=r)return e[uo.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return ha(t,e)},r}function fa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return ea(t,e)},e.tickFormat=function(e,r){return ra(t,e,r)},e.copy=function(){return fa(t)},e}function da(){return 0}function pa(t){return t.innerRadius}function ma(t){return t.outerRadius}function va(t){return t.startAngle}function ga(t){return t.endAngle}function ya(t){return t&&t.padAngle}function ba(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function xa(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,h=t[1]+u,f=e[0]+l,d=e[1]+u,p=(c+f)/2,m=(h+d)/2,v=f-c,g=d-h,y=v*v+g*g,b=r-n,x=c*d-f*h,_=(g<0?-1:1)*Math.sqrt(Math.max(0,b*b*y-x*x)),w=(x*g-v*_)/y,M=(-x*v-g*_)/y,k=(x*g+v*_)/y,A=(-x*v+g*_)/y,T=w-p,S=M-m,E=k-p,L=A-m;return T*T+S*S>E*E+L*L&&(w=k,M=A),[[w-l,M-u],[w*r/b,M*r/b]]}function _a(t){function e(e){function o(){u.push(\\\"M\\\",a(t(c),s))}for(var l,u=[],c=[],h=-1,f=e.length,d=Et(r),p=Et(n);++h<f;)i.call(this,l=e[h],h)?c.push([+d.call(this,l,h),+p.call(this,l,h)]):c.length&&(o(),c=[]);return c.length&&o(),u.length?u.join(\\\"\\\"):null}var r=Cr,n=zr,i=ze,a=wa,o=a.key,s=.7;return e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?a=t:(a=zl.get(t)||wa).key,e):o},e.tension=function(t){return arguments.length?(s=t,e):s},e}function wa(t){return t.length>1?t.join(\\\"L\\\"):t+\\\"Z\\\"}function Ma(t){return t.join(\\\"L\\\")+\\\"Z\\\"}function ka(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n[0]+(n=t[e])[0])/2,\\\"V\\\",n[1]);return r>1&&i.push(\\\"H\\\",n[0]),i.join(\\\"\\\")}function Aa(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"V\\\",(n=t[e])[1],\\\"H\\\",n[0]);return i.join(\\\"\\\")}function Ta(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n=t[e])[0],\\\"V\\\",n[1]);return i.join(\\\"\\\")}function Sa(t,e){return t.length<4?wa(t):t[1]+Ca(t.slice(1,-1),za(t,e))}function Ea(t,e){return t.length<3?Ma(t):t[0]+Ca((t.push(t[0]),t),za([t[t.length-2]].concat(t,[t[1]]),e))}function La(t,e){return t.length<3?wa(t):t[0]+Ca(t,za(t,e))}function Ca(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return wa(t);var r=t.length!=e.length,n=\\\"\\\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\\\"Q\\\"+(a[0]-2*o[0]/3)+\\\",\\\"+(a[1]-2*o[1]/3)+\\\",\\\"+a[0]+\\\",\\\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\\\"C\\\"+(i[0]+o[0])+\\\",\\\"+(i[1]+o[1])+\\\",\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1];for(var u=2;u<e.length;u++,l++)a=t[l],s=e[u],n+=\\\"S\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1]}if(r){var c=t[l];n+=\\\"Q\\\"+(a[0]+2*s[0]/3)+\\\",\\\"+(a[1]+2*s[1]/3)+\\\",\\\"+c[0]+\\\",\\\"+c[1]}return n}function za(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ia(t){if(t.length<3)return wa(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\\\",\\\",a,\\\"L\\\",Ra(Pl,o),\\\",\\\",Ra(Pl,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Fa(l,o,s);return t.pop(),l.push(\\\"L\\\",n),l.join(\\\"\\\")}function Da(t){if(t.length<4)return wa(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ra(Pl,a)+\\\",\\\"+Ra(Pl,o)),--n;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Fa(r,a,o);return r.join(\\\"\\\")}function Pa(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ra(Pl,o),\\\",\\\",Ra(Pl,s)],--n;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Fa(e,o,s);return e.join(\\\"\\\")}function Oa(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,u=-1;++u<=r;)n=t[u],i=u/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ia(t)}function Ra(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Fa(t,e,r){t.push(\\\"C\\\",Ra(Il,e),\\\",\\\",Ra(Il,r),\\\",\\\",Ra(Dl,e),\\\",\\\",Ra(Dl,r),\\\",\\\",Ra(Pl,e),\\\",\\\",Ra(Pl,r))}function ja(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Na(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=ja(i,a);++e<r;)n[e]=(o+(o=ja(i=a,a=t[e+1])))/2;return n[e]=o,n}function Ba(t){for(var e,r,n,i,a=[],o=Na(t),s=-1,l=t.length-1;++s<l;)e=ja(t[s],t[s+1]),xo(e)<Fo?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}function Ua(t){return t.length<3?wa(t):t[0]+Ca(t,Ba(t))}function Va(t){for(var e,r,n,i=-1,a=t.length;++i<a;)e=t[i],r=e[0],n=e[1]-Vo,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ha(t){function e(e){function l(){m.push(\\\"M\\\",s(t(g),h),c,u(t(v.reverse()),h),\\\"Z\\\")}for(var f,d,p,m=[],v=[],g=[],y=-1,b=e.length,x=Et(r),_=Et(i),w=r===n?function(){return d}:Et(n),M=i===a?function(){return p}:Et(a);++y<b;)o.call(this,f=e[y],y)?(v.push([d=+x.call(this,f,y),p=+_.call(this,f,y)]),g.push([+w.call(this,f,y),+M.call(this,f,y)])):v.length&&(l(),v=[],g=[]);return v.length&&l(),m.length?m.join(\\\"\\\"):null}var r=Cr,n=Cr,i=0,a=zr,o=ze,s=wa,l=s.key,u=s,c=\\\"L\\\",h=.7;return e.x=function(t){return arguments.length?(r=n=t,e):n},e.x0=function(t){return arguments.length?(r=t,e):r},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l=\\\"function\\\"==typeof t?s=t:(s=zl.get(t)||wa).key,u=s.reverse||s,c=s.closed?\\\"M\\\":\\\"L\\\",e):l},e.tension=function(t){return arguments.length?(h=t,e):h},e}function qa(t){return t.radius}function Ga(t){return[t.x,t.y]}function Ya(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Vo;return[r*Math.cos(n),r*Math.sin(n)]}}function Xa(){return 64}function Wa(){return\\\"circle\\\"}function Za(t){var e=Math.sqrt(t/No);return\\\"M0,\\\"+e+\\\"A\\\"+e+\\\",\\\"+e+\\\" 0 1,1 0,\\\"+-e+\\\"A\\\"+e+\\\",\\\"+e+\\\" 0 1,1 0,\\\"+e+\\\"Z\\\"}function Ja(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 Ka(t,e,r){return Ao(t,Ul),t.namespace=e,t.id=r,t}function Qa(t,e,r,n){var i=t.id,a=t.namespace;return G(t,\\\"function\\\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function $a(t){return null==t&&(t=\\\"\\\"),function(){this.textContent=t}}function to(t){return null==t?\\\"__transition__\\\":\\\"__transition_\\\"+t+\\\"__\\\"}function eo(t,e,r,n,i){function a(t){var e=m.delay;if(u.t=e+l,e<=t)return o(t-e);u.c=o}function o(r){var i=p.active,a=p[i];a&&(a.timer.c=null,a.timer.t=NaN,--p.count,delete p[i],a.event&&a.event.interrupt.call(t,t.__data__,a.index));for(var o in p)if(+o<n){var h=p[o];h.timer.c=null,h.timer.t=NaN,--p.count,delete p[o]}u.c=s,Dt(function(){return u.c&&s(r||1)&&(u.c=null,u.t=NaN),1},0,l),p.active=n,m.event&&m.event.start.call(t,t.__data__,e),d=[],m.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&d.push(n)}),f=m.ease,c=m.duration}function s(i){for(var a=i/c,o=f(a),s=d.length;s>0;)d[--s].call(t,o);if(a>=1)return m.event&&m.event.end.call(t,t.__data__,e),--p.count?delete p[n]:delete t[r],1}var l,u,c,f,d,p=t[r]||(t[r]={active:0,count:0}),m=p[n];m||(l=i.time,u=Dt(a,0,l),m=p[n]={tween:new h,time:l,timer:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++p.count)}function ro(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(\\\"+(isFinite(n)?n:r(t))+\\\",0)\\\"})}function no(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(0,\\\"+(isFinite(n)?n:r(t))+\\\")\\\"})}function io(t){return t.toISOString()}function ao(t,e,r){function n(e){return t(e)}function i(t,r){var n=t[1]-t[0],i=n/r,a=uo.bisect(Jl,i);return a==Jl.length?[e.year,ta(t.map(function(t){return t/31536e6}),r)[2]]:a?e[i/Jl[a-1]<Jl[a]/i?a-1:a]:[$l,ta(t,r)[2]]}return n.invert=function(e){return oo(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(oo)},n.nice=function(t,e){function r(r){return!isNaN(r)&&!t.range(r,oo(+r+1),e).length}var a=n.domain(),o=Gi(a),s=null==t?i(o,10):\\\"number\\\"==typeof t&&i(o,t);return s&&(t=s[0],e=s[1]),n.domain(Wi(a,e>1?{floor:function(e){for(;r(e=t.floor(e));)e=oo(e-1);return e},ceil:function(e){for(;r(e=t.ceil(e));)e=oo(+e+1);return e}}:t))},n.ticks=function(t,e){var r=Gi(n.domain()),a=null==t?i(r,10):\\\"number\\\"==typeof t?i(r,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(r[0],oo(+r[1]+1),e<1?1:e)},n.tickFormat=function(){return r},n.copy=function(){return ao(t.copy(),e,r)},Qi(n,t)}function oo(t){return new Date(t)}function so(t){return JSON.parse(t.responseText)}function lo(t){var e=fo.createRange();return e.selectNode(fo.body),e.createContextualFragment(t.responseText)}var uo={version:\\\"3.5.17\\\"},co=[].slice,ho=function(t){return co.call(t)},fo=this.document;if(fo)try{ho(fo.documentElement.childNodes)[0].nodeType}catch(t){ho=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}),fo)try{fo.createElement(\\\"DIV\\\").style.setProperty(\\\"opacity\\\",0,\\\"\\\")}catch(t){var po=this.Element.prototype,mo=po.setAttribute,vo=po.setAttributeNS,go=this.CSSStyleDeclaration.prototype,yo=go.setProperty;po.setAttribute=function(t,e){mo.call(this,t,e+\\\"\\\")},po.setAttributeNS=function(t,e,r){vo.call(this,t,e,r+\\\"\\\")},go.setProperty=function(t,e,r){yo.call(this,t,e+\\\"\\\",r)}}uo.ascending=i,uo.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},uo.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},uo.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},uo.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},uo.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)o(r=+t[a])&&(n+=r);else for(;++a<i;)o(r=+e.call(t,t[a],a))&&(n+=r);return n},uo.mean=function(t,e){var r,n=0,i=t.length,s=-1,l=i;if(1===arguments.length)for(;++s<i;)o(r=a(t[s]))?n+=r:--l;else for(;++s<i;)o(r=a(e.call(t,t[s],s)))?n+=r:--l;if(l)return n/l},uo.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},uo.median=function(t,e){var r,n=[],s=t.length,l=-1;if(1===arguments.length)for(;++l<s;)o(r=a(t[l]))&&n.push(r);else for(;++l<s;)o(r=a(e.call(t,t[l],l)))&&n.push(r);if(n.length)return uo.quantile(n.sort(i),.5)},uo.variance=function(t,e){var r,n,i=t.length,s=0,l=0,u=-1,c=0;if(1===arguments.length)for(;++u<i;)o(r=a(t[u]))&&(n=r-s,s+=n/++c,l+=n*(r-s));else for(;++u<i;)o(r=a(e.call(t,t[u],u)))&&(n=r-s,s+=n/++c,l+=n*(r-s));if(c>1)return l/(c-1)},uo.deviation=function(){var t=uo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var bo=s(i);uo.bisectLeft=bo.left,uo.bisect=uo.bisectRight=bo.right,uo.bisector=function(t){return s(1===t.length?function(e,r){return i(t(e),r)}:t)},uo.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},uo.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},uo.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},uo.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=uo.min(t,l),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n},uo.zip=function(){return uo.transpose(arguments)},uo.keys=function(t){var e=[];for(var r in t)e.push(r);return e},uo.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},uo.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},uo.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(n=t[i],e=n.length;--e>=0;)r[--o]=n[e];return r};var xo=Math.abs;uo.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,i=[],a=u(xo(r)),o=-1;if(t*=a,e*=a,r*=a,r<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},uo.map=function(t,e){var r=new h;if(t instanceof h)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _o=\\\"__proto__\\\",wo=\\\"\\\\0\\\";c(h,{has:p,get:function(t){return this._[f(t)]},set:function(t,e){return this._[f(t)]=e},remove:m,keys:v,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:d(e),value:this._[e]});return t},size:g,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e),this._[e])}}),uo.nest=function(){function t(e,o,s){if(s>=a.length)return n?n.call(i,o):r?o.sort(r):o;for(var l,u,c,f,d=-1,p=o.length,m=a[s++],v=new h;++d<p;)(f=v.get(l=m(u=o[d])))?f.push(u):v.set(l,[u]);return e?(u=e(),c=function(r,n){u.set(r,t(e,n,s))}):(u={},c=function(r,n){u[r]=t(e,n,s)}),v.forEach(c),u}function e(t,r){if(r>=a.length)return t;var n=[],i=o[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),i?n.sort(function(t,e){return i(t.key,e.key)}):n}var r,n,i={},a=[],o=[];return i.map=function(e,r){return t(r,e,0)},i.entries=function(r){return e(t(uo.map,r,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return r=t,i},i.rollup=function(t){return n=t,i},i},uo.set=function(t){var e=new b;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},c(b,{has:p,add:function(t){return this._[f(t+=\\\"\\\")]=!0,t},remove:m,values:v,size:g,empty:y,forEach:function(t){for(var e in this._)t.call(this,d(e))}}),uo.behavior={},uo.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=_(t,e,e[r]);return t}\\n\",\n       \";var Mo=[\\\"webkit\\\",\\\"ms\\\",\\\"moz\\\",\\\"Moz\\\",\\\"o\\\",\\\"O\\\"];uo.dispatch=function(){for(var t=new k,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=A(t);return t},k.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}},uo.event=null,uo.requote=function(t){return t.replace(ko,\\\"\\\\\\\\$&\\\")};var ko=/[\\\\\\\\\\\\^\\\\$\\\\*\\\\+\\\\?\\\\|\\\\[\\\\]\\\\(\\\\)\\\\.\\\\{\\\\}]/g,Ao={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]},To=function(t,e){return e.querySelector(t)},So=function(t,e){return e.querySelectorAll(t)},Eo=function(t,e){var r=t.matches||t[w(t,\\\"matchesSelector\\\")];return(Eo=function(t,e){return r.call(t,e)})(t,e)};\\\"function\\\"==typeof Sizzle&&(To=function(t,e){return Sizzle(t,e)[0]||null},So=Sizzle,Eo=Sizzle.matchesSelector),uo.selection=function(){return uo.select(fo.documentElement)};var Lo=uo.selection.prototype=[];Lo.select=function(t){var e,r,n,i,a=[];t=C(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\\\"__data__\\\"in i&&(r.__data__=i.__data__)):e.push(null)}return L(a)},Lo.selectAll=function(t){var e,r,n=[];t=z(t);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],s=-1,l=o.length;++s<l;)(r=o[s])&&(n.push(e=ho(t.call(r,r.__data__,s,i))),e.parentNode=r);return L(n)};var Co=\\\"http://www.w3.org/1999/xhtml\\\",zo={svg:\\\"http://www.w3.org/2000/svg\\\",xhtml:Co,xlink:\\\"http://www.w3.org/1999/xlink\\\",xml:\\\"http://www.w3.org/XML/1998/namespace\\\",xmlns:\\\"http://www.w3.org/2000/xmlns/\\\"};uo.ns={prefix:zo,qualify:function(t){var e=t.indexOf(\\\":\\\"),r=t;return e>=0&&\\\"xmlns\\\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),zo.hasOwnProperty(r)?{space:zo[r],local:t}:t}},Lo.attr=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node();return t=uo.ns.qualify(t),t.local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(I(e,t[e]));return this}return this.each(I(t,e))},Lo.classed=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node(),n=(t=O(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\\\"class\\\");++i<n;)if(!P(t[i]).test(e))return!1;return!0}for(e in t)this.each(R(e,t[e]));return this}return this.each(R(t,e))},Lo.style=function(t,e,r){var i=arguments.length;if(i<3){if(\\\"string\\\"!=typeof t){i<2&&(e=\\\"\\\");for(r in t)this.each(j(r,t[r],e));return this}if(i<2){var a=this.node();return n(a).getComputedStyle(a,null).getPropertyValue(t)}r=\\\"\\\"}return this.each(j(t,e,r))},Lo.property=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t)return this.node()[t];for(e in t)this.each(N(e,t[e]));return this}return this.each(N(t,e))},Lo.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},Lo.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},Lo.append=function(t){return t=B(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Lo.insert=function(t,e){return t=B(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Lo.remove=function(){return this.each(U)},Lo.data=function(t,e){function r(t,r){var n,i,a,o=t.length,c=r.length,f=Math.min(o,c),d=new Array(c),p=new Array(c),m=new Array(o);if(e){var v,g=new h,y=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(g.has(v=e.call(i,i.__data__,n))?m[n]=i:g.set(v,i),y[n]=v);for(n=-1;++n<c;)(i=g.get(v=e.call(r,a=r[n],n)))?!0!==i&&(d[n]=i,i.__data__=a):p[n]=V(a),g.set(v,!0);for(n=-1;++n<o;)n in y&&!0!==g.get(y[n])&&(m[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,d[n]=i):p[n]=V(a);for(;n<c;++n)p[n]=V(r[n]);for(;n<o;++n)m[n]=t[n]}p.update=d,p.parentNode=d.parentNode=m.parentNode=t.parentNode,s.push(p),l.push(d),u.push(m)}var n,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(n=this[0]).length);++a<o;)(i=n[a])&&(t[a]=i.__data__);return t}var s=Y([]),l=L([]),u=L([]);if(\\\"function\\\"==typeof t)for(;++a<o;)r(n=this[a],t.call(n,n.parentNode.__data__,a));else for(;++a<o;)r(n=this[a],t);return l.enter=function(){return s},l.exit=function(){return u},l},Lo.datum=function(t){return arguments.length?this.property(\\\"__data__\\\",t):this.property(\\\"__data__\\\")},Lo.filter=function(t){var e,r,n,i=[];\\\"function\\\"!=typeof t&&(t=H(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return L(i)},Lo.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Lo.sort=function(t){t=q.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Lo.each=function(t){return G(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Lo.call=function(t){var e=ho(arguments);return t.apply(e[0]=this,e),this},Lo.empty=function(){return!this.node()},Lo.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Lo.size=function(){var t=0;return G(this,function(){++t}),t};var Io=[];uo.selection.enter=Y,uo.selection.enter.prototype=Io,Io.append=Lo.append,Io.empty=Lo.empty,Io.node=Lo.node,Io.call=Lo.call,Io.size=Lo.size,Io.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(e.push(n[u]=r=t.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):e.push(null)}return L(o)},Io.insert=function(t,e){return arguments.length<2&&(e=X(this)),Lo.insert.call(this,t,e)},uo.select=function(t){var r;return\\\"string\\\"==typeof t?(r=[To(t,fo)],r.parentNode=fo.documentElement):(r=[t],r.parentNode=e(t)),L([r])},uo.selectAll=function(t){var e;return\\\"string\\\"==typeof t?(e=ho(So(t,fo)),e.parentNode=fo.documentElement):(e=ho(t),e.parentNode=null),L([e])},Lo.on=function(t,e,r){var n=arguments.length;if(n<3){if(\\\"string\\\"!=typeof t){n<2&&(e=!1);for(r in t)this.each(W(r,t[r],e));return this}if(n<2)return(n=this.node()[\\\"__on\\\"+t])&&n._;r=!1}return this.each(W(t,e,r))};var Do=uo.map({mouseenter:\\\"mouseover\\\",mouseleave:\\\"mouseout\\\"});fo&&Do.forEach(function(t){\\\"on\\\"+t in fo&&Do.remove(t)});var Po,Oo=0;uo.mouse=function(t){return Q(t,S())};var Ro=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;uo.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=S().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return Q(t,n)},uo.behavior.drag=function(){function t(){this.on(\\\"mousedown.drag\\\",a).on(\\\"touchstart.drag\\\",o)}function e(t,e,n,a,o){return function(){function s(){var t,r,n=e(f,m);n&&(t=n[0]-b[0],r=n[1]-b[1],p|=t|r,b=n,d({type:\\\"drag\\\",x:n[0]+u[0],y:n[1]+u[1],dx:t,dy:r}))}function l(){e(f,m)&&(g.on(a+v,null).on(o+v,null),y(p),d({type:\\\"dragend\\\"}))}var u,c=this,h=uo.event.target.correspondingElement||uo.event.target,f=c.parentNode,d=r.of(c,arguments),p=0,m=t(),v=\\\".drag\\\"+(null==m?\\\"\\\":\\\"-\\\"+m),g=uo.select(n(h)).on(a+v,s).on(o+v,l),y=K(h),b=e(f,m);i?(u=i.apply(c,arguments),u=[u.x-b[0],u.y-b[1]]):u=[0,0],d({type:\\\"dragstart\\\"})}}var r=E(t,\\\"drag\\\",\\\"dragstart\\\",\\\"dragend\\\"),i=null,a=e(M,uo.mouse,n,\\\"mousemove\\\",\\\"mouseup\\\"),o=e($,uo.touch,x,\\\"touchmove\\\",\\\"touchend\\\");return t.origin=function(e){return arguments.length?(i=e,t):i},uo.rebind(t,r,\\\"on\\\")},uo.touches=function(t,e){return arguments.length<2&&(e=S().touches),e?ho(e).map(function(e){var r=Q(t,e);return r.identifier=e.identifier,r}):[]};var Fo=1e-6,jo=Fo*Fo,No=Math.PI,Bo=2*No,Uo=Bo-Fo,Vo=No/2,Ho=No/180,qo=180/No,Go=Math.SQRT2;uo.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<jo)n=Math.log(u/o)/Go,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Go*t*n)]};else{var d=Math.sqrt(f),p=(u*u-o*o+4*f)/(2*o*2*d),m=(u*u-o*o-4*f)/(2*u*2*d),v=Math.log(Math.sqrt(p*p+1)-p),g=Math.log(Math.sqrt(m*m+1)-m);n=(g-v)/Go,r=function(t){var e=t*n,r=at(v),s=o/(2*d)*(r*ot(Go*e+v)-it(v));return[i+s*c,a+s*h,o*r/at(Go*e+v)]}}return r.duration=1e3*n,r},uo.behavior.zoom=function(){function t(t){t.on(z,h).on(Xo+\\\".zoom\\\",d).on(\\\"dblclick.zoom\\\",p).on(P,f)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function r(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}function i(t){k.k=Math.max(S[0],Math.min(S[1],t))}function a(t,e){e=r(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function o(e,r,n,o){e.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),a(v=r,n),e=uo.select(e),L>0&&(e=e.transition().duration(L)),e.call(t.event)}function s(){_&&_.domain(x.range().map(function(t){return(t-k.x)/k.k}).map(x.invert)),M&&M.domain(w.range().map(function(t){return(t-k.y)/k.k}).map(w.invert))}function l(t){C++||t({type:\\\"zoomstart\\\"})}function u(t){s(),t({type:\\\"zoom\\\",scale:k.k,translate:[k.x,k.y]})}function c(t){--C||(t({type:\\\"zoomend\\\"}),v=null)}function h(){function t(){s=1,a(uo.mouse(i),f),u(o)}function r(){h.on(I,null).on(D,null),d(s),c(o)}var i=this,o=O.of(i,arguments),s=0,h=uo.select(n(i)).on(I,t).on(D,r),f=e(uo.mouse(i)),d=K(i);Bl.call(i),l(o)}function f(){function t(){var t=uo.touches(p);return d=k.k,t.forEach(function(t){t.identifier in v&&(v[t.identifier]=e(t))}),t}function r(){var e=uo.event.target;uo.select(e).on(x,n).on(_,s),w.push(e);for(var r=uo.event.changedTouches,i=0,a=r.length;i<a;++i)v[r[i].identifier]=null;var l=t(),u=Date.now();if(1===l.length){if(u-b<500){var c=l[0];o(p,c,v[c.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),T()}b=u}else if(l.length>1){var c=l[0],h=l[1],f=c[0]-h[0],d=c[1]-h[1];g=f*f+d*d}}function n(){var t,e,r,n,o=uo.touches(p);Bl.call(p);for(var s=0,l=o.length;s<l;++s,n=null)if(r=o[s],n=v[r.identifier]){if(e)break;t=r,e=n}if(n){var c=(c=r[0]-t[0])*c+(c=r[1]-t[1])*c,h=g&&Math.sqrt(c/g);t=[(t[0]+r[0])/2,(t[1]+r[1])/2],e=[(e[0]+n[0])/2,(e[1]+n[1])/2],i(h*d)}b=null,a(t,e),u(m)}function s(){if(uo.event.touches.length){for(var e=uo.event.changedTouches,r=0,n=e.length;r<n;++r)delete v[e[r].identifier];for(var i in v)return void t()}uo.selectAll(w).on(y,null),M.on(z,h).on(P,f),A(),c(m)}var d,p=this,m=O.of(p,arguments),v={},g=0,y=\\\".zoom-\\\"+uo.event.changedTouches[0].identifier,x=\\\"touchmove\\\"+y,_=\\\"touchend\\\"+y,w=[],M=uo.select(p),A=K(p);r(),l(m),M.on(z,null).on(P,r)}function d(){var t=O.of(this,arguments);y?clearTimeout(y):(Bl.call(this),m=e(v=g||uo.mouse(this)),l(t)),y=setTimeout(function(){y=null,c(t)},50),T(),i(Math.pow(2,.002*Yo())*k.k),a(v,m),u(t)}function p(){var t=uo.mouse(this),r=Math.log(k.k)/Math.LN2;o(this,t,e(t),uo.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var m,v,g,y,b,x,_,w,M,k={x:0,y:0,k:1},A=[960,500],S=Wo,L=250,C=0,z=\\\"mousedown.zoom\\\",I=\\\"mousemove.zoom\\\",D=\\\"mouseup.zoom\\\",P=\\\"touchstart.zoom\\\",O=E(t,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\");return Xo||(Xo=\\\"onwheel\\\"in fo?(Yo=function(){return-uo.event.deltaY*(uo.event.deltaMode?120:1)},\\\"wheel\\\"):\\\"onmousewheel\\\"in fo?(Yo=function(){return uo.event.wheelDelta},\\\"mousewheel\\\"):(Yo=function(){return-uo.event.detail},\\\"MozMousePixelScroll\\\")),t.event=function(t){t.each(function(){var t=O.of(this,arguments),e=k;jl?uo.select(this).transition().each(\\\"start.zoom\\\",function(){k=this.__chart__||{x:0,y:0,k:1},l(t)}).tween(\\\"zoom:zoom\\\",function(){var r=A[0],n=A[1],i=v?v[0]:r/2,a=v?v[1]:n/2,o=uo.interpolateZoom([(i-k.x)/k.k,(a-k.y)/k.k,r/k.k],[(i-e.x)/e.k,(a-e.y)/e.k,r/e.k]);return function(e){var n=o(e),s=r/n[2];this.__chart__=k={x:i-n[0]*s,y:a-n[1]*s,k:s},u(t)}}).each(\\\"interrupt.zoom\\\",function(){c(t)}).each(\\\"end.zoom\\\",function(){c(t)}):(this.__chart__=k,l(t),u(t),c(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},s(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:null},i(+e),s(),t):k.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Wo:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(g=e&&[+e[0],+e[1]],t):g},t.size=function(e){return arguments.length?(A=e&&[+e[0],+e[1]],t):A},t.duration=function(e){return arguments.length?(L=+e,t):L},t.x=function(e){return arguments.length?(_=e,x=e.copy(),k={x:0,y:0,k:1},t):_},t.y=function(e){return arguments.length?(M=e,w=e.copy(),k={x:0,y:0,k:1},t):M},uo.rebind(t,O,\\\"on\\\")};var Yo,Xo,Wo=[0,1/0];uo.color=lt,lt.prototype.toString=function(){return this.rgb()+\\\"\\\"},uo.hsl=ut;var Zo=ut.prototype=new lt;Zo.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,this.l/t)},Zo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,t*this.l)},Zo.rgb=function(){return ct(this.h,this.s,this.l)},uo.hcl=ht;var Jo=ht.prototype=new lt;Jo.brighter=function(t){return new ht(this.h,this.c,Math.min(100,this.l+Ko*(arguments.length?t:1)))},Jo.darker=function(t){return new ht(this.h,this.c,Math.max(0,this.l-Ko*(arguments.length?t:1)))},Jo.rgb=function(){return ft(this.h,this.c,this.l).rgb()},uo.lab=dt;var Ko=18,Qo=.95047,$o=1,ts=1.08883,es=dt.prototype=new lt;es.brighter=function(t){return new dt(Math.min(100,this.l+Ko*(arguments.length?t:1)),this.a,this.b)},es.darker=function(t){return new dt(Math.max(0,this.l-Ko*(arguments.length?t:1)),this.a,this.b)},es.rgb=function(){return pt(this.l,this.a,this.b)},uo.rgb=bt;var rs=bt.prototype=new lt;rs.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new bt(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new bt(i,i,i)},rs.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new bt(t*this.r,t*this.g,t*this.b)},rs.hsl=function(){return kt(this.r,this.g,this.b)},rs.toString=function(){return\\\"#\\\"+wt(this.r)+wt(this.g)+wt(this.b)};var ns=uo.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});ns.forEach(function(t,e){ns.set(t,xt(e))}),uo.functor=Et,uo.xhr=Lt(x),uo.dsv=function(t,e){function r(t,r,a){arguments.length<3&&(a=r,r=null);var o=Ct(t,e,null==r?n:i(r),a);return o.row=function(t){return arguments.length?o.response(null==(r=t)?n:i(t)):r},o}function n(t){return r.parse(t.responseText)}function i(t){return function(e){return r.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return s.test(t)?'\\\"'+t.replace(/\\\\\\\"/g,'\\\"\\\"')+'\\\"':t}var s=new RegExp('[\\\"'+t+\\\"\\\\n]\\\"),l=t.charCodeAt(0);return r.parse=function(t,e){var n;return r.parseRows(t,function(t,r){if(n)return n(t,r-1);var i=new Function(\\\"d\\\",\\\"return {\\\"+t.map(function(t,e){return JSON.stringify(t)+\\\": d[\\\"+e+\\\"]\\\"}).join(\\\",\\\")+\\\"}\\\");n=e?function(t,r){return e(i(t),r)}:i})},r.parseRows=function(t,e){function r(){if(c>=u)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<u;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}c=r+2;var n=t.charCodeAt(r+1);return 13===n?(i=!0,10===t.charCodeAt(r+2)&&++c):10===n&&(i=!0),t.slice(e+1,r).replace(/\\\"\\\"/g,'\\\"')}for(;c<u;){var n=t.charCodeAt(c++),s=1;if(10===n)i=!0;else if(13===n)i=!0,10===t.charCodeAt(c)&&(++c,++s);else if(n!==l)continue;return t.slice(e,c-s)}return t.slice(e)}for(var n,i,a={},o={},s=[],u=t.length,c=0,h=0;(n=r())!==o;){for(var f=[];n!==a&&n!==o;)f.push(n),n=r();e&&null==(f=e(f,h++))||s.push(f)}return s},r.format=function(e){if(Array.isArray(e[0]))return r.formatRows(e);var n=new b,i=[];return e.forEach(function(t){for(var e in t)n.has(e)||i.push(n.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join(\\\"\\\\n\\\")},r.formatRows=function(t){return t.map(a).join(\\\"\\\\n\\\")},r},uo.csv=uo.dsv(\\\",\\\",\\\"text/csv\\\"),uo.tsv=uo.dsv(\\\"\\\\t\\\",\\\"text/tab-separated-values\\\");var is,as,os,ss,ls=this[w(this,\\\"requestAnimationFrame\\\")]||function(t){setTimeout(t,17)};uo.timer=function(){Dt.apply(this,arguments)},uo.timer.flush=function(){Ot(),Rt()},uo.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var us=[\\\"y\\\",\\\"z\\\",\\\"a\\\",\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\xb5\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\",\\\"P\\\",\\\"E\\\",\\\"Z\\\",\\\"Y\\\"].map(jt);uo.formatPrefix=function(t,e){var r=0;return(t=+t)&&(t<0&&(t*=-1),e&&(t=uo.round(t,Ft(t,e))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,3*Math.floor((r-1)/3)))),us[8+r/3]};var cs=/(?:([^{])?([<>=^]))?([+\\\\- ])?([$#])?(0)?(\\\\d+)?(,)?(\\\\.-?\\\\d+)?([a-z%])?/i,hs=uo.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(t,e){return(t=uo.round(t,Ft(t,e))).toFixed(Math.max(0,Math.min(20,Ft(t*(1+1e-15),e))))}}),fs=uo.time={},ds=Date;Ut.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(){ps.setUTCDate.apply(this._,arguments)},setDay:function(){ps.setUTCDay.apply(this._,arguments)},setFullYear:function(){ps.setUTCFullYear.apply(this._,arguments)},setHours:function(){ps.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ps.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ps.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ps.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ps.setUTCSeconds.apply(this._,arguments)},setTime:function(){ps.setTime.apply(this._,arguments)}};var ps=Date.prototype;fs.year=Vt(function(t){return t=fs.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),fs.years=fs.year.range,fs.years.utc=fs.year.utc.range,fs.day=Vt(function(t){var e=new ds(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}),fs.days=fs.day.range,fs.days.utc=fs.day.utc.range,fs.dayOfYear=function(t){var e=fs.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=fs[t]=Vt(function(t){return(t=fs.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=fs.year(t).getDay();return Math.floor((fs.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});fs[t+\\\"s\\\"]=r.range,fs[t+\\\"s\\\"].utc=r.utc.range,fs[t+\\\"OfYear\\\"]=function(t){var r=fs.year(t).getDay();return Math.floor((fs.dayOfYear(t)+(r+e)%7)/7)}}),fs.week=fs.sunday,fs.weeks=fs.sunday.range,fs.weeks.utc=fs.sunday.utc.range,fs.weekOfYear=fs.sundayOfYear;var ms={\\\"-\\\":\\\"\\\",_:\\\" \\\",0:\\\"0\\\"},vs=/^\\\\s*\\\\d+/,gs=/^%/;uo.locale=function(t){return{numberFormat:Nt(t),timeFormat:qt(t)}};var ys=uo.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\\\"]});uo.format=ys.numberFormat,uo.geo={},he.prototype={s:0,t:0,add:function(t){fe(t,this.t,bs),fe(bs.s,this.s,this),this.s?this.t+=bs.t:this.s=bs.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var bs=new he;uo.geo.stream=function(t,e){t&&xs.hasOwnProperty(t.type)?xs[t.type](t,e):de(t,e)};var xs={Feature:function(t,e){de(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)de(r[n].geometry,e)}},_s={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,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){pe(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)pe(r[n],e,0)},Polygon:function(t,e){me(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)me(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)de(r[n],e)}};uo.geo.area=function(t){return ws=0,uo.geo.stream(t,ks),ws};var ws,Ms=new he,ks={sphere:function(){ws+=4*No},point:M,lineStart:M,lineEnd:M,polygonStart:function(){Ms.reset(),ks.lineStart=ve},polygonEnd:function(){var t=2*Ms;ws+=t<0?4*No+t:t,ks.lineStart=ks.lineEnd=ks.point=M}};uo.geo.bounds=function(){function t(t,e){b.push(x=[c=t,f=t]),e<h&&(h=e),e>d&&(d=e)}function e(e,r){var n=ge([e*Ho,r*Ho]);if(g){var i=be(g,n),a=[i[1],-i[0],0],o=be(a,i);we(o),o=Me(o);var l=e-p,u=l>0?1:-1,m=o[0]*qo*u,v=xo(l)>180;if(v^(u*p<m&&m<u*e)){var y=o[1]*qo;y>d&&(d=y)}else if(m=(m+360)%360-180,v^(u*p<m&&m<u*e)){var y=-o[1]*qo;y<h&&(h=y)}else r<h&&(h=r),r>d&&(d=r);v?e<p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e):f>=c?(e<c&&(c=e),e>f&&(f=e)):e>p?s(c,e)>s(c,f)&&(f=e):s(e,f)>s(c,f)&&(c=e)}else t(e,r);g=n,p=e}function r(){_.point=e}function n(){x[0]=c,x[1]=f,_.point=t,g=null}function i(t,r){if(g){var n=t-p;y+=xo(n)>180?n+(n>0?360:-360):n}else m=t,v=r;ks.point(t,r),e(t,r)}function a(){ks.lineStart()}function o(){i(m,v),ks.lineEnd(),xo(y)>Fo&&(c=-(f=180)),x[0]=c,x[1]=f,g=null}function s(t,e){return(e-=t)<0?e+360:e}function l(t,e){return t[0]-e[0]}function u(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var c,h,f,d,p,m,v,g,y,b,x,_={point:t,lineStart:r,lineEnd:n,polygonStart:function(){_.point=i,_.lineStart=a,_.lineEnd=o,y=0,ks.polygonStart()},polygonEnd:function(){ks.polygonEnd(),_.point=t,_.lineStart=r,_.lineEnd=n,Ms<0?(c=-(f=180),h=-(d=90)):y>Fo?d=90:y<-Fo&&(h=-90),x[0]=c,x[1]=f}};return function(t){d=f=-(c=h=1/0),b=[],uo.geo.stream(t,_);var e=b.length;if(e){b.sort(l);for(var r,n=1,i=b[0],a=[i];n<e;++n)r=b[n],u(r[0],i)||u(r[1],i)?(s(i[0],r[1])>s(i[0],i[1])&&(i[1]=r[1]),s(r[0],i[1])>s(i[0],i[1])&&(i[0]=r[0])):a.push(i=r);for(var o,r,p=-1/0,e=a.length-1,n=0,i=a[e];n<=e;i=r,++n)r=a[n],(o=s(i[1],r[0]))>p&&(p=o,c=r[0],f=i[1])}return b=x=null,c===1/0||h===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,h],[f,d]]}}(),uo.geo.centroid=function(t){As=Ts=Ss=Es=Ls=Cs=zs=Is=Ds=Ps=Os=0,uo.geo.stream(t,Rs);var e=Ds,r=Ps,n=Os,i=e*e+r*r+n*n;return i<jo&&(e=Cs,r=zs,n=Is,Ts<Fo&&(e=Ss,r=Es,n=Ls),(i=e*e+r*r+n*n)<jo)?[NaN,NaN]:[Math.atan2(r,e)*qo,nt(n/Math.sqrt(i))*qo]};var As,Ts,Ss,Es,Ls,Cs,zs,Is,Ds,Ps,Os,Rs={sphere:M,point:Ae,lineStart:Se,lineEnd:Ee,polygonStart:function(){Rs.lineStart=Le},polygonEnd:function(){Rs.lineStart=Se}},Fs=Oe(ze,Ne,Ue,[-No,-No/2]),js=1e9;uo.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(s){return arguments.length?(a=Ge(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(uo.geo.conicEqualArea=function(){return Ye(Xe)}).raw=Xe,uo.geo.albers=function(){return uo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},uo.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}var e,r,n,i,a=uo.geo.albers(),o=uo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=uo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};return t.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},t.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},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()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),s.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),s.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var u=a.scale(),c=+e[0],h=+e[1];return r=a.translate(e).clipExtent([[c-.455*u,h-.238*u],[c+.455*u,h+.238*u]]).stream(l).point,n=o.translate([c-.307*u,h+.201*u]).clipExtent([[c-.425*u+Fo,h+.12*u+Fo],[c-.214*u-Fo,h+.234*u-Fo]]).stream(l).point,i=s.translate([c-.205*u,h+.212*u]).clipExtent([[c-.214*u+Fo,h+.166*u+Fo],[c-.115*u-Fo,h+.234*u-Fo]]).stream(l).point,t},t.scale(1070)};var Ns,Bs,Us,Vs,Hs,qs,Gs={point:M,lineStart:M,lineEnd:M,polygonStart:function(){Bs=0,Gs.lineStart=We},polygonEnd:function(){Gs.lineStart=Gs.lineEnd=Gs.point=M,Ns+=xo(Bs/2)}},Ys={point:Ze,lineStart:M,lineEnd:M,polygonStart:M,polygonEnd:M},Xs={point:Qe,lineStart:$e,lineEnd:tr,polygonStart:function(){Xs.lineStart=er},polygonEnd:function(){Xs.point=Qe,Xs.lineStart=$e,Xs.lineEnd=tr}};uo.geo.path=function(){function t(t){return t&&(\\\"function\\\"==typeof s&&a.pointRadius(+s.apply(this,arguments)),o&&o.valid||(o=i(a)),uo.geo.stream(t,o)),a.result()}function e(){return o=null,t}var r,n,i,a,o,s=4.5;return t.area=function(t){return Ns=0,uo.geo.stream(t,i(Gs)),Ns},t.centroid=function(t){return Ss=Es=Ls=Cs=zs=Is=Ds=Ps=Os=0,uo.geo.stream(t,i(Xs)),Os?[Ds/Os,Ps/Os]:Is?[Cs/Is,zs/Is]:Ls?[Ss/Ls,Es/Ls]:[NaN,NaN]},t.bounds=function(t){return Hs=qs=-(Us=Vs=1/0),uo.geo.stream(t,i(Ys)),[[Us,Vs],[Hs,qs]]},t.projection=function(t){return arguments.length?(i=(r=t)?t.stream||ir(t):x,e()):r},t.context=function(t){return arguments.length?(a=null==(n=t)?new Je:new rr(t),\\\"function\\\"!=typeof s&&a.pointRadius(s),e()):n},t.pointRadius=function(e){return arguments.length?(s=\\\"function\\\"==typeof e?e:(a.pointRadius(+e),+e),t):s},t.projection(uo.geo.albersUsa()).context(null)},uo.geo.transform=function(t){return{stream:function(e){var r=new ar(e);for(var n in t)r[n]=t[n];return r}}},ar.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()}},uo.geo.projection=sr,uo.geo.projectionMutator=lr,(uo.geo.equirectangular=function(){return sr(cr)}).raw=cr.invert=cr,uo.geo.rotation=function(t){function e(e){return e=t(e[0]*Ho,e[1]*Ho),e[0]*=qo,e[1]*=qo,e}return t=fr(t[0]%360*Ho,t[1]*Ho,t.length>2?t[2]*Ho:0),e.invert=function(e){return e=t.invert(e[0]*Ho,e[1]*Ho),e[0]*=qo,e[1]*=qo,e},e},hr.invert=cr,uo.geo.circle=function(){function t(){var t=\\\"function\\\"==typeof n?n.apply(this,arguments):n,e=fr(-t[0]*Ho,-t[1]*Ho,0).invert,i=[];return r(null,null,1,{point:function(t,r){i.push(t=e(t,r)),t[0]*=qo,t[1]*=qo}}),{type:\\\"Polygon\\\",coordinates:[i]}}var e,r,n=[0,0],i=6;return t.origin=function(e){return arguments.length?(n=e,t):n},t.angle=function(n){return arguments.length?(r=vr((e=+n)*Ho,i*Ho),t):e},t.precision=function(n){return arguments.length?(r=vr(e*Ho,(i=+n)*Ho),t):i},t.angle(90)},uo.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ho,i=t[1]*Ho,a=e[1]*Ho,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),u=Math.cos(i),c=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((r=h*o)*r+(r=u*c-l*h*s)*r),l*c+u*h*s)},uo.geo.graticule=function(){function t(){return{type:\\\"MultiLineString\\\",coordinates:e()}}function e(){return uo.range(Math.ceil(a/v)*v,i,v).map(f).concat(uo.range(Math.ceil(u/g)*g,l,g).map(d)).concat(uo.range(Math.ceil(n/p)*p,r,p).filter(function(t){return xo(t%v)>Fo}).map(c)).concat(uo.range(Math.ceil(s/m)*m,o,m).filter(function(t){return xo(t%g)>Fo}).map(h))}var r,n,i,a,o,s,l,u,c,h,f,d,p=10,m=p,v=90,g=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:\\\"LineString\\\",coordinates:t}})},t.outline=function(){return{type:\\\"Polygon\\\",coordinates:[f(a).concat(d(l).slice(1),f(i).reverse().slice(1),d(u).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],u=+e[0][1],l=+e[1][1],a>i&&(e=a,a=i,i=e),u>l&&(e=u,u=l,l=e),t.precision(y)):[[a,u],[i,l]]},t.minorExtent=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n>r&&(e=n,n=r,r=e),s>o&&(e=s,s=o,o=e),t.precision(y)):[[n,s],[r,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(v=+e[0],g=+e[1],t):[v,g]},t.minorStep=function(e){return arguments.length?(p=+e[0],m=+e[1],t):[p,m]},t.precision=function(e){\\n\",\n       \"return arguments.length?(y=+e,c=yr(s,o,90),h=br(n,r,y),f=yr(u,l,90),d=br(a,i,y),t):y},t.majorExtent([[-180,-90+Fo],[180,90-Fo]]).minorExtent([[-180,-80-Fo],[180,80+Fo]])},uo.geo.greatArc=function(){function t(){return{type:\\\"LineString\\\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}var e,r,n=xr,i=_r;return t.distance=function(){return uo.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},t.source=function(r){return arguments.length?(n=r,e=\\\"function\\\"==typeof r?null:r,t):n},t.target=function(e){return arguments.length?(i=e,r=\\\"function\\\"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},uo.geo.interpolate=function(t,e){return wr(t[0]*Ho,t[1]*Ho,e[0]*Ho,e[1]*Ho)},uo.geo.length=function(t){return Ws=0,uo.geo.stream(t,Zs),Ws};var Ws,Zs={sphere:M,point:M,lineStart:Mr,lineEnd:M,polygonStart:M,polygonEnd:M},Js=kr(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(uo.geo.azimuthalEqualArea=function(){return sr(Js)}).raw=Js;var Ks=kr(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},x);(uo.geo.azimuthalEquidistant=function(){return sr(Ks)}).raw=Ks,(uo.geo.conicConformal=function(){return Ye(Ar)}).raw=Ar,(uo.geo.conicEquidistant=function(){return Ye(Tr)}).raw=Tr;var Qs=kr(function(t){return 1/t},Math.atan);(uo.geo.gnomonic=function(){return sr(Qs)}).raw=Qs,Sr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Vo]},(uo.geo.mercator=function(){return Er(Sr)}).raw=Sr;var $s=kr(function(){return 1},Math.asin);(uo.geo.orthographic=function(){return sr($s)}).raw=$s;var tl=kr(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(uo.geo.stereographic=function(){return sr(tl)}).raw=tl,Lr.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Vo]},(uo.geo.transverseMercator=function(){var t=Er(Lr),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):(t=r(),[t[0],t[1],t[2]-90])},r([0,0,90])}).raw=Lr,uo.geom={},uo.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=Et(r),a=Et(n),o=t.length,s=[],l=[];for(e=0;e<o;e++)s.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(s.sort(Dr),e=0;e<o;e++)l.push([s[e][0],-s[e][1]]);var u=Ir(s),c=Ir(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],d=[];for(e=u.length-1;e>=0;--e)d.push(t[s[u[e]][2]]);for(e=+h;e<c.length-f;++e)d.push(t[s[c[e]][2]]);return d}var r=Cr,n=zr;return arguments.length?e(t):(e.x=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(n=t,e):n},e)},uo.geom.polygon=function(t){return Ao(t,el),t};var el=uo.geom.polygon.prototype=[];el.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},el.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},el.clip=function(t){for(var e,r,n,i,a,o,s=Rr(t),l=-1,u=this.length-Rr(this),c=this[u-1];++l<u;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)o=e[r],Pr(o,c,i)?(Pr(a,c,i)||t.push(Or(a,o,c,i)),t.push(o)):Pr(a,c,i)&&t.push(Or(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var rl,nl,il,al,ol,sl=[],ll=[];qr.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)t=e[r].edge,t.b&&t.a||e.splice(r,1);return e.sort(Yr),e.length},rn.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}},nn.prototype={insert:function(t,e){var r,n,i;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=ln(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;)n=r.U,r===n.L?(i=n.R,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(on(this,r),t=r,r=t.U),r.C=!1,n.C=!0,sn(this,n))):(i=n.L,i&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(sn(this,r),t=r,r=t.U),r.C=!1,n.C=!0,on(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,i=t.U,a=t.L,o=t.R;if(r=a?o?ln(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,on(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,sn(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,on(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,sn(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,on(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,sn(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},uo.geom.voronoi=function(t){function e(t){var e=new Array(t.length),n=s[0][0],i=s[0][1],a=s[1][0],o=s[1][1];return un(r(t),s).cells.forEach(function(r,s){var l=r.edges,u=r.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=n&&u.x<=a&&u.y>=i&&u.y<=o?[[n,o],[a,o],[a,i],[n,i]]:[]).point=t[s]}),e}function r(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Fo)*Fo,y:Math.round(o(t,e)/Fo)*Fo,i:e}})}var n=Cr,i=zr,a=n,o=i,s=ul;return t?e(t):(e.links=function(t){return un(r(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return un(r(t)).cells.forEach(function(r,n){for(var i,a=r.site,o=r.edges.sort(Yr),s=-1,l=o.length,u=o[l-1].edge,c=u.l===a?u.r:u.l;++s<l;)u,i=c,u=o[s].edge,c=u.l===a?u.r:u.l,n<i.i&&n<c.i&&hn(a,i,c)<0&&e.push([t[n],t[i.i],t[c.i]])}),e},e.x=function(t){return arguments.length?(a=Et(n=t),e):n},e.y=function(t){return arguments.length?(o=Et(i=t),e):i},e.clipExtent=function(t){return arguments.length?(s=null==t?ul:t,e):s===ul?null:s},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):s===ul?null:s&&s[1]},e)};var ul=[[-1e6,-1e6],[1e6,1e6]];uo.geom.delaunay=function(t){return uo.geom.voronoi().triangles(t)},uo.geom.quadtree=function(t,e,r,n,i){function a(t){function a(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(xo(l-r)+xo(c-n)<.01)u(t,e,r,n,i,a,o,s);else{var h=t.point;t.x=t.y=t.point=null,u(t,h,l,c,i,a,o,s),u(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else u(t,e,r,n,i,a,o,s)}function u(t,e,r,n,i,o,s,l){var u=.5*(i+s),c=.5*(o+l),h=r>=u,f=n>=c,d=f<<1|h;t.leaf=!1,t=t.nodes[d]||(t.nodes[d]=pn()),h?i=u:s=u,f?o=c:l=c,a(t,e,r,n,i,o,s,l)}var c,h,f,d,p,m,v,g,y,b=Et(s),x=Et(l);if(null!=e)m=e,v=r,g=n,y=i;else if(g=y=-(m=v=1/0),h=[],f=[],p=t.length,o)for(d=0;d<p;++d)c=t[d],c.x<m&&(m=c.x),c.y<v&&(v=c.y),c.x>g&&(g=c.x),c.y>y&&(y=c.y),h.push(c.x),f.push(c.y);else for(d=0;d<p;++d){var _=+b(c=t[d],d),w=+x(c,d);_<m&&(m=_),w<v&&(v=w),_>g&&(g=_),w>y&&(y=w),h.push(_),f.push(w)}var M=g-m,k=y-v;M>k?y=v+M:g=m+k;var A=pn();if(A.add=function(t){a(A,t,+b(t,++d),+x(t,d),m,v,g,y)},A.visit=function(t){mn(t,A,m,v,g,y)},A.find=function(t){return vn(A,t[0],t[1],m,v,g,y)},d=-1,null==e){for(;++d<p;)a(A,t[d],h[d],f[d],m,v,g,y);--d}else t.forEach(A.add);return h=f=t=c=null,A}var o,s=Cr,l=zr;return(o=arguments.length)?(s=fn,l=dn,3===o&&(i=r,n=e,r=e=0),a(t)):(a.x=function(t){return arguments.length?(s=t,a):s},a.y=function(t){return arguments.length?(l=t,a):l},a.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),a):null==e?null:[[e,r],[n,i]]},a.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),a):null==e?null:[n-e,i-r]},a)},uo.interpolateRgb=gn,uo.interpolateObject=yn,uo.interpolateNumber=bn,uo.interpolateString=xn;var cl=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,hl=new RegExp(cl.source,\\\"g\\\");uo.interpolate=_n,uo.interpolators=[function(t,e){var r=typeof e;return(\\\"string\\\"===r?ns.has(e.toLowerCase())||/^(#|rgb\\\\(|hsl\\\\()/i.test(e)?gn:xn:e instanceof lt?gn:Array.isArray(e)?wn:\\\"object\\\"===r&&isNaN(e)?yn:bn)(t,e)}],uo.interpolateArray=wn;var fl=function(){return x},dl=uo.map({linear:fl,poly:Ln,quad:function(){return Tn},cubic:function(){return Sn},sin:function(){return Cn},exp:function(){return zn},circle:function(){return In},elastic:Dn,back:Pn,bounce:function(){return On}}),pl=uo.map({in:x,out:kn,\\\"in-out\\\":An,\\\"out-in\\\":function(t){return An(kn(t))}});uo.ease=function(t){var e=t.indexOf(\\\"-\\\"),r=e>=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):\\\"in\\\";return r=dl.get(r)||fl,n=pl.get(n)||x,Mn(n(r.apply(null,co.call(arguments,1))))},uo.interpolateHcl=Rn,uo.interpolateHsl=Fn,uo.interpolateLab=jn,uo.interpolateRound=Nn,uo.transform=function(t){var e=fo.createElementNS(uo.ns.prefix.svg,\\\"g\\\");return(uo.transform=function(t){if(null!=t){e.setAttribute(\\\"transform\\\",t);var r=e.transform.baseVal.consolidate()}return new Bn(r?r.matrix:ml)})(t)},Bn.prototype.toString=function(){return\\\"translate(\\\"+this.translate+\\\")rotate(\\\"+this.rotate+\\\")skewX(\\\"+this.skew+\\\")scale(\\\"+this.scale+\\\")\\\"};var ml={a:1,b:0,c:0,d:1,e:0,f:0};uo.interpolateTransform=Zn,uo.layout={},uo.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Qn(t[r]));return e}},uo.layout.chord=function(){function t(){var t,u,h,f,d,p={},m=[],v=uo.range(a),g=[];for(r=[],n=[],t=0,f=-1;++f<a;){for(u=0,d=-1;++d<a;)u+=i[f][d];m.push(u),g.push(uo.range(a)),t+=u}for(o&&v.sort(function(t,e){return o(m[t],m[e])}),s&&g.forEach(function(t,e){t.sort(function(t,r){return s(i[e][t],i[e][r])})}),t=(Bo-c*a)/t,u=0,f=-1;++f<a;){for(h=u,d=-1;++d<a;){var y=v[f],b=g[y][d],x=i[y][b],_=u,w=u+=x*t;p[y+\\\"-\\\"+b]={index:y,subindex:b,startAngle:_,endAngle:w,value:x}}n[y]={index:y,startAngle:h,endAngle:u,value:m[y]},u+=c}for(f=-1;++f<a;)for(d=f-1;++d<a;){var M=p[f+\\\"-\\\"+d],k=p[d+\\\"-\\\"+f];(M.value||k.value)&&r.push(M.value<k.value?{source:k,target:M}:{source:M,target:k})}l&&e()}function e(){r.sort(function(t,e){return l((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var r,n,i,a,o,s,l,u={},c=0;return u.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,r=n=null,u):i},u.padding=function(t){return arguments.length?(c=t,r=n=null,u):c},u.sortGroups=function(t){return arguments.length?(o=t,r=n=null,u):o},u.sortSubgroups=function(t){return arguments.length?(s=t,r=null,u):s},u.sortChords=function(t){return arguments.length?(l=t,r&&e(),u):l},u.chords=function(){return r||t(),r},u.groups=function(){return n||t(),n},u},uo.layout.force=function(){function t(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/g<l){if(l<m){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<m){var u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}return!e.charge}}function e(t){t.px=uo.event.x,t.py=uo.event.y,l.resume()}var r,n,i,a,o,s,l={},u=uo.dispatch(\\\"start\\\",\\\"tick\\\",\\\"end\\\"),c=[1,1],h=.9,f=vl,d=gl,p=-30,m=yl,v=.1,g=.64,y=[],b=[];return l.tick=function(){if((i*=.99)<.005)return r=null,u.end({type:\\\"end\\\",alpha:i=0}),!0;var e,n,l,f,d,m,g,x,_,w=y.length,M=b.length;for(n=0;n<M;++n)l=b[n],f=l.source,d=l.target,x=d.x-f.x,_=d.y-f.y,(m=x*x+_*_)&&(m=i*o[n]*((m=Math.sqrt(m))-a[n])/m,x*=m,_*=m,d.x-=x*(g=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=_*g,f.x+=x*(g=1-g),f.y+=_*g);if((g=i*v)&&(x=c[0]/2,_=c[1]/2,n=-1,g))for(;++n<w;)l=y[n],l.x+=(x-l.x)*g,l.y+=(_-l.y)*g;if(p)for(ai(e=uo.geom.quadtree(y),i,s),n=-1;++n<w;)(l=y[n]).fixed||e.visit(t(l));for(n=-1;++n<w;)l=y[n],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*h,l.y-=(l.py-(l.py=l.y))*h);u.tick({type:\\\"tick\\\",alpha:i})},l.nodes=function(t){return arguments.length?(y=t,l):y},l.links=function(t){return arguments.length?(b=t,l):b},l.size=function(t){return arguments.length?(c=t,l):c},l.linkDistance=function(t){return arguments.length?(f=\\\"function\\\"==typeof t?t:+t,l):f},l.distance=l.linkDistance,l.linkStrength=function(t){return arguments.length?(d=\\\"function\\\"==typeof t?t:+t,l):d},l.friction=function(t){return arguments.length?(h=+t,l):h},l.charge=function(t){return arguments.length?(p=\\\"function\\\"==typeof t?t:+t,l):p},l.chargeDistance=function(t){return arguments.length?(m=t*t,l):Math.sqrt(m)},l.gravity=function(t){return arguments.length?(v=+t,l):v},l.theta=function(t){return arguments.length?(g=t*t,l):Math.sqrt(g)},l.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(r.c=null,r.t=NaN,r=null,u.end({type:\\\"end\\\",alpha:i=0})):t>0&&(u.start({type:\\\"start\\\",alpha:i=t}),r=Dt(l.tick)),l):i},l.start=function(){function t(t,n){if(!r){for(r=new Array(i),l=0;l<i;++l)r[l]=[];for(l=0;l<u;++l){var a=b[l];r[a.source.index].push(a.target),r[a.target.index].push(a.source)}}for(var o,s=r[e],l=-1,c=s.length;++l<c;)if(!isNaN(o=s[l][t]))return o;return Math.random()*n}var e,r,n,i=y.length,u=b.length,h=c[0],m=c[1];for(e=0;e<i;++e)(n=y[e]).index=e,n.weight=0;for(e=0;e<u;++e)n=b[e],\\\"number\\\"==typeof n.source&&(n.source=y[n.source]),\\\"number\\\"==typeof n.target&&(n.target=y[n.target]),++n.source.weight,++n.target.weight;for(e=0;e<i;++e)n=y[e],isNaN(n.x)&&(n.x=t(\\\"x\\\",h)),isNaN(n.y)&&(n.y=t(\\\"y\\\",m)),isNaN(n.px)&&(n.px=n.x),isNaN(n.py)&&(n.py=n.y);if(a=[],\\\"function\\\"==typeof f)for(e=0;e<u;++e)a[e]=+f.call(this,b[e],e);else for(e=0;e<u;++e)a[e]=f;if(o=[],\\\"function\\\"==typeof d)for(e=0;e<u;++e)o[e]=+d.call(this,b[e],e);else for(e=0;e<u;++e)o[e]=d;if(s=[],\\\"function\\\"==typeof p)for(e=0;e<i;++e)s[e]=+p.call(this,y[e],e);else for(e=0;e<i;++e)s[e]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){if(n||(n=uo.behavior.drag().origin(x).on(\\\"dragstart.force\\\",ei).on(\\\"drag.force\\\",e).on(\\\"dragend.force\\\",ri)),!arguments.length)return n;this.on(\\\"mouseover.force\\\",ni).on(\\\"mouseout.force\\\",ii).call(n)},uo.rebind(l,u,\\\"on\\\")};var vl=20,gl=1,yl=1/0;uo.layout.hierarchy=function(){function t(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=r.call(t,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;n&&(a.value=0),a.children=u}else n&&(a.value=+n.call(t,a,a.depth)||0),delete a.children;return li(i,function(t){var r,i;e&&(r=t.children)&&r.sort(e),n&&(i=t.parent)&&(i.value+=t.value)}),s}var e=hi,r=ui,n=ci;return t.sort=function(r){return arguments.length?(e=r,t):e},t.children=function(e){return arguments.length?(r=e,t):r},t.value=function(e){return arguments.length?(n=e,t):n},t.revalue=function(e){return n&&(si(e,function(t){t.children&&(t.value=0)}),li(e,function(e){var r;e.children||(e.value=+n.call(t,e,e.depth)||0),(r=e.parent)&&(r.value+=e.value)})),e},t},uo.layout.partition=function(){function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++u<o;)t(s=a[u],r,l=s.value*n,i),r+=l}}function e(t){var r=t.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,e(r[a]));return 1+n}function r(r,a){var o=n.call(this,r,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var n=uo.layout.hierarchy(),i=[1,1];return r.size=function(t){return arguments.length?(i=t,r):i},oi(r,n)},uo.layout.pie=function(){function t(o){var s,l=o.length,u=o.map(function(r,n){return+e.call(t,r,n)}),c=+(\\\"function\\\"==typeof n?n.apply(this,arguments):n),h=(\\\"function\\\"==typeof i?i.apply(this,arguments):i)-c,f=Math.min(Math.abs(h)/l,+(\\\"function\\\"==typeof a?a.apply(this,arguments):a)),d=f*(h<0?-1:1),p=uo.sum(u),m=p?(h-l*d)/p:0,v=uo.range(l),g=[];return null!=r&&v.sort(r===bl?function(t,e){return u[e]-u[t]}:function(t,e){return r(o[t],o[e])}),v.forEach(function(t){g[t]={data:o[t],value:s=u[t],startAngle:c,endAngle:c+=s*m+d,padAngle:f}}),g}var e=Number,r=bl,n=0,i=Bo,a=0;return t.value=function(r){return arguments.length?(e=r,t):e},t.sort=function(e){return arguments.length?(r=e,t):r},t.startAngle=function(e){return arguments.length?(n=e,t):n},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var bl={};uo.layout.stack=function(){function t(s,l){if(!(f=s.length))return s;var u=s.map(function(r,n){return e.call(t,r,n)}),c=u.map(function(e){return e.map(function(e,r){return[a.call(t,e,r),o.call(t,e,r)]})}),h=r.call(t,c,l);u=uo.permute(u,h),c=uo.permute(c,h);var f,d,p,m,v=n.call(t,c,l),g=u[0].length;for(p=0;p<g;++p)for(i.call(t,u[0][p],m=v[p],c[0][p][1]),d=1;d<f;++d)i.call(t,u[d][p],m+=c[d-1][p][1],c[d][p][1]);return s}var e=x,r=vi,n=gi,i=mi,a=di,o=pi;return t.values=function(r){return arguments.length?(e=r,t):e},t.order=function(e){return arguments.length?(r=\\\"function\\\"==typeof e?e:xl.get(e)||vi,t):r},t.offset=function(e){return arguments.length?(n=\\\"function\\\"==typeof e?e:_l.get(e)||gi,t):n},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var xl=uo.map({\\\"inside-out\\\":function(t){var e,r,n=t.length,i=t.map(yi),a=t.map(bi),o=uo.range(n).sort(function(t,e){return i[t]-i[e]}),s=0,l=0,u=[],c=[];for(e=0;e<n;++e)r=o[e],s<l?(s+=a[r],u.push(r)):(l+=a[r],c.push(r));return c.reverse().concat(u)},reverse:function(t){return uo.range(t.length).reverse()},default:vi}),_l=uo.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,u,c=t.length,h=t[0],f=h.length,d=[];for(d[0]=l=u=0,r=1;r<f;++r){for(e=0,i=0;e<c;++e)i+=t[e][r][1];for(e=0,a=0,s=h[r][0]-h[r-1][0];e<c;++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;a+=o*t[e][r][1]}d[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)d[r]-=u;return d},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:gi});uo.layout.histogram=function(){function t(t,a){for(var o,s,l=[],u=t.map(r,this),c=n.call(this,u,a),h=i.call(this,c,u,a),a=-1,f=u.length,d=h.length-1,p=e?1:1/f;++a<d;)o=l[a]=[],o.dx=h[a+1]-(o.x=h[a]),o.y=0;if(d>0)for(a=-1;++a<f;)(s=u[a])>=c[0]&&s<=c[1]&&(o=l[uo.bisect(h,s,1,d)-1],o.y+=p,o.push(t[a]));return l}var e=!0,r=Number,n=Mi,i=_i;return t.value=function(e){return arguments.length?(r=e,t):r},t.range=function(e){return arguments.length?(n=Et(e),t):n},t.bins=function(e){return arguments.length?(i=\\\"number\\\"==typeof e?function(t){return wi(t,e)}:Et(e),t):i},t.frequency=function(r){return arguments.length?(e=!!r,t):e},t},uo.layout.pack=function(){function t(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],u=i[1],c=null==e?Math.sqrt:\\\"function\\\"==typeof e?e:function(){return e};if(s.x=s.y=0,li(s,function(t){t.r=+c(t.value)}),li(s,Ei),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;li(s,function(t){t.r+=h}),li(s,Ei),li(s,function(t){t.r-=h})}return zi(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}var e,r=uo.layout.hierarchy().sort(ki),n=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(r){return arguments.length?(e=null==r||\\\"function\\\"==typeof r?r:+r,t):e},t.padding=function(e){return arguments.length?(n=+e,t):n},oi(t,r)},uo.layout.tree=function(){function t(t,i){var c=o.call(this,t,i),h=c[0],f=e(h);if(li(f,r),f.parent.m=-f.z,si(f,n),u)si(h,a);else{var d=h,p=h,m=h;si(h,function(t){t.x<d.x&&(d=t),t.x>p.x&&(p=t),t.depth>m.depth&&(m=t)});var v=s(d,p)/2-d.x,g=l[0]/(p.x+s(p,d)/2+v),y=l[1]/(m.depth||1);si(h,function(t){t.x=(t.x+v)*g,t.y=t.depth*y})}return c}function e(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}function r(t){var e=t.children,r=t.parent.children,n=t.i?r[t.i-1]:null;if(e.length){Fi(t);var a=(e[0].z+e[e.length-1].z)/2;n?(t.z=n.z+s(t._,n._),t.m=t.z-a):t.z=a}else n&&(t.z=n.z+s(t._,n._));t.parent.A=i(t,n,t.parent.A||r[0])}function n(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,r){if(e){for(var n,i=t,a=t,o=e,l=i.parent.children[0],u=i.m,c=a.m,h=o.m,f=l.m;o=Oi(o),i=Pi(i),o&&i;)l=Pi(l),a=Oi(a),a.a=t,n=o.z+h-i.z-u+s(o._,i._),n>0&&(Ri(ji(o,t,r),t,n),u+=n,c+=n),h+=o.m,u+=i.m,f+=l.m,c+=a.m;o&&!Oi(a)&&(a.t=o,a.m+=h-c),i&&!Pi(l)&&(l.t=i,l.m+=u-f,r=t)}return r}function a(t){t.x*=l[0],t.y=t.depth*l[1]}var o=uo.layout.hierarchy().sort(null).value(null),s=Di,l=[1,1],u=null;return t.separation=function(e){return arguments.length?(s=e,t):s},t.size=function(e){return arguments.length?(u=null==(l=e)?a:null,t):u?null:l},t.nodeSize=function(e){return arguments.length?(u=null==(l=e)?null:a,t):u?l:null},oi(t,o)},uo.layout.cluster=function(){function t(t,a){var o,s=e.call(this,t,a),l=s[0],u=0;li(l,function(t){var e=t.children;e&&e.length?(t.x=Bi(e),t.y=Ni(e)):(t.x=o?u+=r(t,o):0,t.y=0,o=t)});var c=Ui(l),h=Vi(l),f=c.x-r(c,h)/2,d=h.x+r(h,c)/2;return li(l,i?function(t){t.x=(t.x-l.x)*n[0],t.y=(l.y-t.y)*n[1]}:function(t){t.x=(t.x-f)/(d-f)*n[0],t.y=(1-(l.y?t.y/l.y:1))*n[1]}),s}var e=uo.layout.hierarchy().sort(null).value(null),r=Di,n=[1,1],i=!1;return t.separation=function(e){return arguments.length?(r=e,t):r},t.size=function(e){return arguments.length?(i=null==(n=e),t):i?null:n},t.nodeSize=function(e){return arguments.length?(i=null!=(n=e),t):i?n:null},oi(t,e)},uo.layout.treemap=function(){function t(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function e(r){var a=r.children;if(a&&a.length){var o,s,l,u=h(r),c=[],f=a.slice(),p=1/0,m=\\\"slice\\\"===d?u.dx:\\\"dice\\\"===d?u.dy:\\\"slice-dice\\\"===d?1&r.depth?u.dy:u.dx:Math.min(u.dx,u.dy);for(t(f,u.dx*u.dy/r.value),c.area=0;(l=f.length)>0;)c.push(o=f[l-1]),c.area+=o.area,\\\"squarify\\\"!==d||(s=n(c,m))<=p?(f.pop(),p=s):(c.area-=c.pop().area,i(c,m,u,!1),m=Math.min(u.dx,u.dy),c.length=c.area=0,p=1/0);c.length&&(i(c,m,u,!0),c.length=c.area=0),a.forEach(e)}}function r(e){var n=e.children;if(n&&n.length){var a,o=h(e),s=n.slice(),l=[];for(t(s,o.dx*o.dy/e.value),l.area=0;a=s.pop();)l.push(a),l.area+=a.area,null!=a.z&&(i(l,a.z?o.dx:o.dy,o,!s.length),l.length=l.area=0);n.forEach(r)}}function n(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return n*=n,e*=e,n?Math.max(e*i*p/n,n/(e*a*p)):1/0}function i(t,e,r,n){var i,a=-1,o=t.length,s=r.x,u=r.y,c=e?l(t.area/e):0;if(e==r.dx){for((n||c>r.dy)&&(c=r.dy);++a<o;)i=t[a],i.x=s,i.y=u,i.dy=c,s+=i.dx=Math.min(r.x+r.dx-s,c?l(i.area/c):0);i.z=!0,i.dx+=r.x+r.dx-s,r.y+=c,r.dy-=c}else{for((n||c>r.dx)&&(c=r.dx);++a<o;)i=t[a],i.x=s,i.y=u,i.dx=c,u+=i.dy=Math.min(r.y+r.dy-u,c?l(i.area/c):0);i.z=!1,i.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function a(n){var i=o||s(n),a=i[0];return a.x=a.y=0,a.value?(a.dx=u[0],a.dy=u[1]):a.dx=a.dy=0,o&&s.revalue(a),t([a],a.dx*a.dy/a.value),(o?r:e)(a),f&&(o=i),i}var o,s=uo.layout.hierarchy(),l=Math.round,u=[1,1],c=null,h=Hi,f=!1,d=\\\"squarify\\\",p=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(u=t,a):u},a.padding=function(t){function e(e){var r=t.call(a,e,e.depth);return null==r?Hi(e):qi(e,\\\"number\\\"==typeof r?[r,r,r,r]:r)}function r(e){return qi(e,t)}if(!arguments.length)return c;var n;return h=null==(c=t)?Hi:\\\"function\\\"==(n=typeof t)?e:\\\"number\\\"===n?(t=[t,t,t,t],r):r,a},a.round=function(t){return arguments.length?(l=t?Math.round:Number,a):l!=Number},a.sticky=function(t){return arguments.length?(f=t,o=null,a):f},a.ratio=function(t){return arguments.length?(p=t,a):p},a.mode=function(t){return arguments.length?(d=t+\\\"\\\",a):d},oi(a,s)},uo.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{r=2*Math.random()-1,n=2*Math.random()-1,i=r*r+n*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=uo.random.normal.apply(uo,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=uo.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},uo.scale={};var wl={floor:x,ceil:x};uo.scale.linear=function(){return Ki([0,1],[0,1],_n,!1)};var Ml={s:1,g:1,p:1,r:1,e:1};uo.scale.log=function(){return aa(uo.scale.linear().domain([0,1]),10,!0,[1,10])};var kl=uo.format(\\\".0e\\\"),Al={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};uo.scale.pow=function(){return oa(uo.scale.linear(),1,[0,1])},uo.scale.sqrt=function(){return uo.scale.pow().exponent(.5)},uo.scale.ordinal=function(){return la([],{t:\\\"range\\\",a:[[]]})},uo.scale.category10=function(){return uo.scale.ordinal().range(Tl)},uo.scale.category20=function(){return uo.scale.ordinal().range(Sl)},uo.scale.category20b=function(){return uo.scale.ordinal().range(El)},uo.scale.category20c=function(){return uo.scale.ordinal().range(Ll)};var Tl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(_t),Sl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(_t),El=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(_t),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(_t);uo.scale.quantile=function(){return ua([],[])},uo.scale.quantize=function(){return ca(0,1,[0,1])},uo.scale.threshold=function(){return ha([.5],[0,1])},uo.scale.identity=function(){return fa([0,1])},uo.svg={},uo.svg.arc=function(){function t(){var t=Math.max(0,+r.apply(this,arguments)),u=Math.max(0,+n.apply(this,arguments)),c=o.apply(this,arguments)-Vo,h=s.apply(this,arguments)-Vo,f=Math.abs(h-c),d=c>h?0:1;if(u<t&&(p=u,u=t,t=p),f>=Uo)return e(u,d)+(t?e(t,1-d):\\\"\\\")+\\\"Z\\\";var p,m,v,g,y,b,x,_,w,M,k,A,T=0,S=0,E=[];if((g=(+l.apply(this,arguments)||0)/2)&&(v=a===Cl?Math.sqrt(t*t+u*u):+a.apply(this,arguments),d||(S*=-1),u&&(S=nt(v/u*Math.sin(g))),t&&(T=nt(v/t*Math.sin(g)))),u){y=u*Math.cos(c+S),b=u*Math.sin(c+S),x=u*Math.cos(h-S),_=u*Math.sin(h-S);var L=Math.abs(h-c-2*S)<=No?0:1;if(S&&ba(y,b,x,_)===d^L){var C=(c+h)/2;y=u*Math.cos(C),b=u*Math.sin(C),x=_=null}}else y=b=0;if(t){w=t*Math.cos(h-T),M=t*Math.sin(h-T),k=t*Math.cos(c+T),A=t*Math.sin(c+T);var z=Math.abs(c-h+2*T)<=No?0:1;if(T&&ba(w,M,k,A)===1-d^z){var I=(c+h)/2;w=t*Math.cos(I),M=t*Math.sin(I),k=A=null}}else w=M=0;if(f>Fo&&(p=Math.min(Math.abs(u-t)/2,+i.apply(this,arguments)))>.001){m=t<u^d?0:1;var D=p,P=p;if(f<No){var O=null==k?[w,M]:null==x?[y,b]:Or([y,b],[k,A],[x,_],[w,M]),R=y-O[0],F=b-O[1],j=x-O[0],N=_-O[1],B=1/Math.sin(Math.acos((R*j+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(j*j+N*N)))/2),U=Math.sqrt(O[0]*O[0]+O[1]*O[1]);P=Math.min(p,(t-U)/(B-1)),D=Math.min(p,(u-U)/(B+1))}if(null!=x){var V=xa(null==k?[w,M]:[k,A],[y,b],u,D,d),H=xa([x,_],[w,M],u,D,d);p===D?E.push(\\\"M\\\",V[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",m,\\\" \\\",V[1],\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",1-d^ba(V[1][0],V[1][1],H[1][0],H[1][1]),\\\",\\\",d,\\\" \\\",H[1],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",m,\\\" \\\",H[0]):E.push(\\\"M\\\",V[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 1,\\\",m,\\\" \\\",H[0])}else E.push(\\\"M\\\",y,\\\",\\\",b);if(null!=k){var q=xa([y,b],[k,A],t,-P,d),G=xa([w,M],null==x?[y,b]:[x,_],t,-P,d);p===P?E.push(\\\"L\\\",G[0],\\\"A\\\",P,\\\",\\\",P,\\\" 0 0,\\\",m,\\\" \\\",G[1],\\\"A\\\",t,\\\",\\\",t,\\\" 0 \\\",d^ba(G[1][0],G[1][1],q[1][0],q[1][1]),\\\",\\\",1-d,\\\" \\\",q[1],\\\"A\\\",P,\\\",\\\",P,\\\" 0 0,\\\",m,\\\" \\\",q[0]):E.push(\\\"L\\\",G[0],\\\"A\\\",P,\\\",\\\",P,\\\" 0 0,\\\",m,\\\" \\\",q[0])}else E.push(\\\"L\\\",w,\\\",\\\",M)}else E.push(\\\"M\\\",y,\\\",\\\",b),null!=x&&E.push(\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",L,\\\",\\\",d,\\\" \\\",x,\\\",\\\",_),E.push(\\\"L\\\",w,\\\",\\\",M),null!=k&&E.push(\\\"A\\\",t,\\\",\\\",t,\\\" 0 \\\",z,\\\",\\\",1-d,\\\" \\\",k,\\\",\\\",A);return E.push(\\\"Z\\\"),E.join(\\\"\\\")}function e(t,e){return\\\"M0,\\\"+t+\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 1,\\\"+e+\\\" 0,\\\"+-t+\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 1,\\\"+e+\\\" 0,\\\"+t}var r=pa,n=ma,i=da,a=Cl,o=va,s=ga,l=ya;return t.innerRadius=function(e){return arguments.length?(r=Et(e),t):r},t.outerRadius=function(e){return arguments.length?(n=Et(e),t):n},t.cornerRadius=function(e){return arguments.length?(i=Et(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Cl?Cl:Et(e),t):a},t.startAngle=function(e){return arguments.length?(o=Et(e),t):o},t.endAngle=function(e){return arguments.length?(s=Et(e),t):s},t.padAngle=function(e){return arguments.length?(l=Et(e),t):l},t.centroid=function(){var t=(+r.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +s.apply(this,arguments))/2-Vo;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Cl=\\\"auto\\\";uo.svg.line=function(){return _a(x)};var zl=uo.map({linear:wa,\\\"linear-closed\\\":Ma,step:ka,\\\"step-before\\\":Aa,\\\"step-after\\\":Ta,basis:Ia,\\\"basis-open\\\":Da,\\\"basis-closed\\\":Pa,bundle:Oa,cardinal:La,\\\"cardinal-open\\\":Sa,\\\"cardinal-closed\\\":Ea,monotone:Ua});zl.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Il=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];uo.svg.line.radial=function(){var t=_a(Va);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Aa.reverse=Ta,Ta.reverse=Aa,uo.svg.area=function(){return Ha(x)},uo.svg.area.radial=function(){var t=Ha(Va);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},uo.svg.chord=function(){function t(t,s){var l=e(this,a,t,s),u=e(this,o,t,s);return\\\"M\\\"+l.p0+n(l.r,l.p1,l.a1-l.a0)+(r(l,u)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,u.r,u.p0)+n(u.r,u.p1,u.a1-u.a0)+i(u.r,u.p1,l.r,l.p0))+\\\"Z\\\"}function e(t,e,r,n){var i=e.call(t,r,n),a=s.call(t,i,n),o=l.call(t,i,n)-Vo,c=u.call(t,i,n)-Vo;return{r:a,a0:o,a1:c,p0:[a*Math.cos(o),a*Math.sin(o)],p1:[a*Math.cos(c),a*Math.sin(c)]}}function r(t,e){return t.a0==e.a0&&t.a1==e.a1}function n(t,e,r){return\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 \\\"+ +(r>No)+\\\",1 \\\"+e}function i(t,e,r,n){return\\\"Q 0,0 \\\"+n}var a=xr,o=_r,s=qa,l=va,u=ga;return t.radius=function(e){return arguments.length?(s=Et(e),t):s},t.source=function(e){return arguments.length?(a=Et(e),t):a},t.target=function(e){return arguments.length?(o=Et(e),t):o},t.startAngle=function(e){return arguments.length?(l=Et(e),t):l},t.endAngle=function(e){return arguments.length?(u=Et(e),t):u},t},uo.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=r.call(this,t,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return l=l.map(n),\\\"M\\\"+l[0]+\\\"C\\\"+l[1]+\\\" \\\"+l[2]+\\\" \\\"+l[3]}var e=xr,r=_r,n=Ga;return t.source=function(r){return arguments.length?(e=Et(r),t):e},t.target=function(e){return arguments.length?(r=Et(e),t):r},t.projection=function(e){return arguments.length?(n=e,t):n},t},uo.svg.diagonal.radial=function(){var t=uo.svg.diagonal(),e=Ga,r=t.projection;return t.projection=function(t){return arguments.length?r(Ya(e=t)):e},t},uo.svg.symbol=function(){function t(t,n){return(Ol.get(e.call(this,t,n))||Za)(r.call(this,t,n))}var e=Wa,r=Xa;return t.type=function(r){return arguments.length?(e=Et(r),t):e},t.size=function(e){return arguments.length?(r=Et(e),t):r},t};var Ol=uo.map({circle:Za,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*Fl)),r=e*Fl;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/Rl),r=e*Rl/2;return\\\"M0,\\\"+r+\\\"L\\\"+e+\\\",\\\"+-r+\\\" \\\"+-e+\\\",\\\"+-r+\\\"Z\\\"},\\\"triangle-up\\\":function(t){var e=Math.sqrt(t/Rl),r=e*Rl/2;return\\\"M0,\\\"+-r+\\\"L\\\"+e+\\\",\\\"+r+\\\" \\\"+-e+\\\",\\\"+r+\\\"Z\\\"}});uo.svg.symbolTypes=Ol.keys();var Rl=Math.sqrt(3),Fl=Math.tan(30*Ho);Lo.transition=function(t){for(var e,r,n=jl||++Vl,i=to(t),a=[],o=Nl||{time:Date.now(),ease:En,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(r=u[c])&&eo(r,c,i,n,o),e.push(r)}return Ka(a,i,n)},Lo.interrupt=function(t){return this.each(null==t?Bl:Ja(to(t)))};var jl,Nl,Bl=Ja(to()),Ul=[],Vl=0;Ul.call=Lo.call,Ul.empty=Lo.empty,Ul.node=Lo.node,Ul.size=Lo.size,uo.transition=function(t,e){return t&&t.transition?jl?t.transition(e):t:uo.selection().transition(t)},uo.transition.prototype=Ul,Ul.select=function(t){\\n\",\n       \"var e,r,n,i=this.id,a=this.namespace,o=[];t=C(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(n=u[c])&&(r=t.call(n,n.__data__,c,s))?(\\\"__data__\\\"in n&&(r.__data__=n.__data__),eo(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return Ka(o,a,i)},Ul.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=z(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,d=h.length;++f<d;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var p=-1,m=r.length;++p<m;)(i=r[p])&&eo(i,p,s,o,a),e.push(i)}return Ka(l,s,o)},Ul.filter=function(t){var e,r,n,i=[];\\\"function\\\"!=typeof t&&(t=H(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]);for(var r=this[a],s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return Ka(i,this.namespace,this.id)},Ul.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):G(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},Ul.attr=function(t,e){function r(){this.removeAttribute(s)}function n(){this.removeAttributeNS(s.space,s.local)}function i(t){return null==t?r:(t+=\\\"\\\",function(){var e,r=this.getAttribute(s);return r!==t&&(e=o(r,t),function(t){this.setAttribute(s,e(t))})})}function a(t){return null==t?n:(t+=\\\"\\\",function(){var e,r=this.getAttributeNS(s.space,s.local);return r!==t&&(e=o(r,t),function(t){this.setAttributeNS(s.space,s.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var o=\\\"transform\\\"==t?Zn:_n,s=uo.ns.qualify(t);return Qa(this,\\\"attr.\\\"+t,e,s.local?a:i)},Ul.attrTween=function(t,e){function r(t,r){var n=e.call(this,t,r,this.getAttribute(i));return n&&function(t){this.setAttribute(i,n(t))}}function n(t,r){var n=e.call(this,t,r,this.getAttributeNS(i.space,i.local));return n&&function(t){this.setAttributeNS(i.space,i.local,n(t))}}var i=uo.ns.qualify(t);return this.tween(\\\"attr.\\\"+t,i.local?n:r)},Ul.style=function(t,e,r){function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+=\\\"\\\",function(){var i,a=n(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(i=_n(a,e),function(e){this.style.setProperty(t,i(e),r)})})}var o=arguments.length;if(o<3){if(\\\"string\\\"!=typeof t){o<2&&(e=\\\"\\\");for(r in t)this.style(r,t[r],e);return this}r=\\\"\\\"}return Qa(this,\\\"style.\\\"+t,e,a)},Ul.styleTween=function(t,e,r){function i(i,a){var o=e.call(this,i,a,n(this).getComputedStyle(this,null).getPropertyValue(t));return o&&function(e){this.style.setProperty(t,o(e),r)}}return arguments.length<3&&(r=\\\"\\\"),this.tween(\\\"style.\\\"+t,i)},Ul.text=function(t){return Qa(this,\\\"text\\\",t,$a)},Ul.remove=function(){var t=this.namespace;return this.each(\\\"end.transition\\\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Ul.ease=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].ease:(\\\"function\\\"!=typeof t&&(t=uo.ease.apply(uo,arguments)),G(this,function(n){n[r][e].ease=t}))},Ul.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:G(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},Ul.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:G(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},Ul.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length<2){var i=Nl,a=jl;try{jl=r,G(this,function(e,i,a){Nl=e[n][r],t.call(e,e.__data__,i,a)})}finally{Nl=i,jl=a}}else G(this,function(i){var a=i[n][r];(a.event||(a.event=uo.dispatch(\\\"start\\\",\\\"end\\\",\\\"interrupt\\\"))).on(t,e)});return this},Ul.transition=function(){for(var t,e,r,n,i=this.id,a=++Vl,o=this.namespace,s=[],l=0,u=this.length;l<u;l++){s.push(t=[]);for(var e=this[l],c=0,h=e.length;c<h;c++)(r=e[c])&&(n=r[o][i],eo(r,c,o,a,{time:n.time,ease:n.ease,delay:n.delay+n.duration,duration:n.duration})),t.push(r)}return Ka(s,o,a)},uo.svg.axis=function(){function t(t){t.each(function(){var t,u=uo.select(this),c=this.__chart__||r,h=this.__chart__=r.copy(),f=null==l?h.ticks?h.ticks.apply(h,s):h.domain():l,d=null==e?h.tickFormat?h.tickFormat.apply(h,s):x:e,p=u.selectAll(\\\".tick\\\").data(f,h),m=p.enter().insert(\\\"g\\\",\\\".domain\\\").attr(\\\"class\\\",\\\"tick\\\").style(\\\"opacity\\\",Fo),v=uo.transition(p.exit()).style(\\\"opacity\\\",Fo).remove(),g=uo.transition(p.order()).style(\\\"opacity\\\",1),y=Math.max(i,0)+o,b=Yi(h),_=u.selectAll(\\\".domain\\\").data([0]),w=(_.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"domain\\\"),uo.transition(_));m.append(\\\"line\\\"),m.append(\\\"text\\\");var M,k,A,T,S=m.select(\\\"line\\\"),E=g.select(\\\"line\\\"),L=p.select(\\\"text\\\").text(d),C=m.select(\\\"text\\\"),z=g.select(\\\"text\\\"),I=\\\"top\\\"===n||\\\"left\\\"===n?-1:1;if(\\\"bottom\\\"===n||\\\"top\\\"===n?(t=ro,M=\\\"x\\\",A=\\\"y\\\",k=\\\"x2\\\",T=\\\"y2\\\",L.attr(\\\"dy\\\",I<0?\\\"0em\\\":\\\".71em\\\").style(\\\"text-anchor\\\",\\\"middle\\\"),w.attr(\\\"d\\\",\\\"M\\\"+b[0]+\\\",\\\"+I*a+\\\"V0H\\\"+b[1]+\\\"V\\\"+I*a)):(t=no,M=\\\"y\\\",A=\\\"x\\\",k=\\\"y2\\\",T=\\\"x2\\\",L.attr(\\\"dy\\\",\\\".32em\\\").style(\\\"text-anchor\\\",I<0?\\\"end\\\":\\\"start\\\"),w.attr(\\\"d\\\",\\\"M\\\"+I*a+\\\",\\\"+b[0]+\\\"H0V\\\"+b[1]+\\\"H\\\"+I*a)),S.attr(T,I*i),C.attr(A,I*y),E.attr(k,0).attr(T,I*i),z.attr(M,0).attr(A,I*y),h.rangeBand){var D=h,P=D.rangeBand()/2;c=h=function(t){return D(t)+P}}else c.rangeBand?c=h:v.call(t,h,c);m.call(t,c,h),g.call(t,h,h)})}var e,r=uo.scale.linear(),n=Hl,i=6,a=6,o=3,s=[10],l=null;return t.scale=function(e){return arguments.length?(r=e,t):r},t.orient=function(e){return arguments.length?(n=e in ql?e+\\\"\\\":Hl,t):n},t.ticks=function(){return arguments.length?(s=ho(arguments),t):s},t.tickValues=function(e){return arguments.length?(l=e,t):l},t.tickFormat=function(r){return arguments.length?(e=r,t):e},t.tickSize=function(e){var r=arguments.length;return r?(i=+e,a=+arguments[r-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var Hl=\\\"bottom\\\",ql={top:1,right:1,bottom:1,left:1};uo.svg.brush=function(){function t(n){n.each(function(){var n=uo.select(this).style(\\\"pointer-events\\\",\\\"all\\\").style(\\\"-webkit-tap-highlight-color\\\",\\\"rgba(0,0,0,0)\\\").on(\\\"mousedown.brush\\\",a).on(\\\"touchstart.brush\\\",a),o=n.selectAll(\\\".background\\\").data([0]);o.enter().append(\\\"rect\\\").attr(\\\"class\\\",\\\"background\\\").style(\\\"visibility\\\",\\\"hidden\\\").style(\\\"cursor\\\",\\\"crosshair\\\"),n.selectAll(\\\".extent\\\").data([0]).enter().append(\\\"rect\\\").attr(\\\"class\\\",\\\"extent\\\").style(\\\"cursor\\\",\\\"move\\\");var s=n.selectAll(\\\".resize\\\").data(m,x);s.exit().remove(),s.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"resize \\\"+t}).style(\\\"cursor\\\",function(t){return Gl[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\\\"),s.style(\\\"display\\\",t.empty()?\\\"none\\\":null);var l,h=uo.transition(n),f=uo.transition(o);u&&(l=Yi(u),f.attr(\\\"x\\\",l[0]).attr(\\\"width\\\",l[1]-l[0]),r(h)),c&&(l=Yi(c),f.attr(\\\"y\\\",l[0]).attr(\\\"height\\\",l[1]-l[0]),i(h)),e(h)})}function e(t){t.selectAll(\\\".resize\\\").attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+h[+/e$/.test(t)]+\\\",\\\"+f[+/^s/.test(t)]+\\\")\\\"})}function r(t){t.select(\\\".extent\\\").attr(\\\"x\\\",h[0]),t.selectAll(\\\".extent,.n>rect,.s>rect\\\").attr(\\\"width\\\",h[1]-h[0])}function i(t){t.select(\\\".extent\\\").attr(\\\"y\\\",f[0]),t.selectAll(\\\".extent,.e>rect,.w>rect\\\").attr(\\\"height\\\",f[1]-f[0])}function a(){function a(){32==uo.event.keyCode&&(L||(b=null,z[0]-=h[1],z[1]-=f[1],L=2),T())}function m(){32==uo.event.keyCode&&2==L&&(z[0]+=h[1],z[1]+=f[1],L=0,T())}function v(){var t=uo.mouse(_),n=!1;x&&(t[0]+=x[0],t[1]+=x[1]),L||(uo.event.altKey?(b||(b=[(h[0]+h[1])/2,(f[0]+f[1])/2]),z[0]=h[+(t[0]<b[0])],z[1]=f[+(t[1]<b[1])]):b=null),S&&g(t,u,0)&&(r(k),n=!0),E&&g(t,c,1)&&(i(k),n=!0),n&&(e(k),M({type:\\\"brush\\\",mode:L?\\\"move\\\":\\\"resize\\\"}))}function g(t,e,r){var n,i,a=Yi(e),l=a[0],u=a[1],c=z[r],m=r?f:h,v=m[1]-m[0];if(L&&(l-=c,u-=v+c),n=(r?p:d)?Math.max(l,Math.min(u,t[r])):t[r],L?i=(n+=c)+v:(b&&(c=Math.max(l,Math.min(u,2*b[r]-n))),c<n?(i=n,n=c):i=c),m[0]!=n||m[1]!=i)return r?s=null:o=null,m[0]=n,m[1]=i,!0}function y(){v(),k.style(\\\"pointer-events\\\",\\\"all\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",t.empty()?\\\"none\\\":null),uo.select(\\\"body\\\").style(\\\"cursor\\\",null),I.on(\\\"mousemove.brush\\\",null).on(\\\"mouseup.brush\\\",null).on(\\\"touchmove.brush\\\",null).on(\\\"touchend.brush\\\",null).on(\\\"keydown.brush\\\",null).on(\\\"keyup.brush\\\",null),C(),M({type:\\\"brushend\\\"})}var b,x,_=this,w=uo.select(uo.event.target),M=l.of(_,arguments),k=uo.select(_),A=w.datum(),S=!/^(n|s)$/.test(A)&&u,E=!/^(e|w)$/.test(A)&&c,L=w.classed(\\\"extent\\\"),C=K(_),z=uo.mouse(_),I=uo.select(n(_)).on(\\\"keydown.brush\\\",a).on(\\\"keyup.brush\\\",m);if(uo.event.changedTouches?I.on(\\\"touchmove.brush\\\",v).on(\\\"touchend.brush\\\",y):I.on(\\\"mousemove.brush\\\",v).on(\\\"mouseup.brush\\\",y),k.interrupt().selectAll(\\\"*\\\").interrupt(),L)z[0]=h[0]-z[0],z[1]=f[0]-z[1];else if(A){var D=+/w$/.test(A),P=+/^n/.test(A);x=[h[1-D]-z[0],f[1-P]-z[1]],z[0]=h[D],z[1]=f[P]}else uo.event.altKey&&(b=z.slice());k.style(\\\"pointer-events\\\",\\\"none\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",null),uo.select(\\\"body\\\").style(\\\"cursor\\\",w.style(\\\"cursor\\\")),M({type:\\\"brushstart\\\"}),v()}var o,s,l=E(t,\\\"brushstart\\\",\\\"brush\\\",\\\"brushend\\\"),u=null,c=null,h=[0,0],f=[0,0],d=!0,p=!0,m=Yl[0];return t.event=function(t){t.each(function(){var t=l.of(this,arguments),e={x:h,y:f,i:o,j:s},r=this.__chart__||e;this.__chart__=e,jl?uo.select(this).transition().each(\\\"start.brush\\\",function(){o=r.i,s=r.j,h=r.x,f=r.y,t({type:\\\"brushstart\\\"})}).tween(\\\"brush:brush\\\",function(){var r=wn(h,e.x),n=wn(f,e.y);return o=s=null,function(i){h=e.x=r(i),f=e.y=n(i),t({type:\\\"brush\\\",mode:\\\"resize\\\"})}}).each(\\\"end.brush\\\",function(){o=e.i,s=e.j,t({type:\\\"brush\\\",mode:\\\"resize\\\"}),t({type:\\\"brushend\\\"})}):(t({type:\\\"brushstart\\\"}),t({type:\\\"brush\\\",mode:\\\"resize\\\"}),t({type:\\\"brushend\\\"}))})},t.x=function(e){return arguments.length?(u=e,m=Yl[!u<<1|!c],t):u},t.y=function(e){return arguments.length?(c=e,m=Yl[!u<<1|!c],t):c},t.clamp=function(e){return arguments.length?(u&&c?(d=!!e[0],p=!!e[1]):u?d=!!e:c&&(p=!!e),t):u&&c?[d,p]:u?d:c?p:null},t.extent=function(e){var r,n,i,a,l;return arguments.length?(u&&(r=e[0],n=e[1],c&&(r=r[0],n=n[0]),o=[r,n],u.invert&&(r=u(r),n=u(n)),n<r&&(l=r,r=n,n=l),r==h[0]&&n==h[1]||(h=[r,n])),c&&(i=e[0],a=e[1],u&&(i=i[1],a=a[1]),s=[i,a],c.invert&&(i=c(i),a=c(a)),a<i&&(l=i,i=a,a=l),i==f[0]&&a==f[1]||(f=[i,a])),t):(u&&(o?(r=o[0],n=o[1]):(r=h[0],n=h[1],u.invert&&(r=u.invert(r),n=u.invert(n)),n<r&&(l=r,r=n,n=l))),c&&(s?(i=s[0],a=s[1]):(i=f[0],a=f[1],c.invert&&(i=c.invert(i),a=c.invert(a)),a<i&&(l=i,i=a,a=l))),u&&c?[[r,i],[n,a]]:u?[r,n]:c&&[i,a])},t.clear=function(){return t.empty()||(h=[0,0],f=[0,0],o=s=null),t},t.empty=function(){return!!u&&h[0]==h[1]||!!c&&f[0]==f[1]},uo.rebind(t,l,\\\"on\\\")};var Gl={n:\\\"ns-resize\\\",e:\\\"ew-resize\\\",s:\\\"ns-resize\\\",w:\\\"ew-resize\\\",nw:\\\"nwse-resize\\\",ne:\\\"nesw-resize\\\",se:\\\"nwse-resize\\\",sw:\\\"nesw-resize\\\"},Yl=[[\\\"n\\\",\\\"e\\\",\\\"s\\\",\\\"w\\\",\\\"nw\\\",\\\"ne\\\",\\\"se\\\",\\\"sw\\\"],[\\\"e\\\",\\\"w\\\"],[\\\"n\\\",\\\"s\\\"],[]],Xl=fs.format=ys.timeFormat,Wl=Xl.utc,Zl=Wl(\\\"%Y-%m-%dT%H:%M:%S.%LZ\\\");Xl.iso=Date.prototype.toISOString&&+new Date(\\\"2000-01-01T00:00:00.000Z\\\")?io:Zl,io.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},io.toString=Zl.toString,fs.second=Vt(function(t){return new ds(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),fs.seconds=fs.second.range,fs.seconds.utc=fs.second.utc.range,fs.minute=Vt(function(t){return new ds(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),fs.minutes=fs.minute.range,fs.minutes.utc=fs.minute.utc.range,fs.hour=Vt(function(t){var e=t.getTimezoneOffset()/60;return new ds(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),fs.hours=fs.hour.range,fs.hours.utc=fs.hour.utc.range,fs.month=Vt(function(t){return t=fs.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),fs.months=fs.month.range,fs.months.utc=fs.month.utc.range;var Jl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Kl=[[fs.second,1],[fs.second,5],[fs.second,15],[fs.second,30],[fs.minute,1],[fs.minute,5],[fs.minute,15],[fs.minute,30],[fs.hour,1],[fs.hour,3],[fs.hour,6],[fs.hour,12],[fs.day,1],[fs.day,2],[fs.week,1],[fs.month,1],[fs.month,3],[fs.year,1]],Ql=Xl.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\\\",ze]]),$l={range:function(t,e,r){return uo.range(Math.ceil(t/r)*r,+e,r).map(oo)},floor:x,ceil:x};Kl.year=fs.year,fs.scale=function(){return ao(uo.scale.linear(),Kl,Ql)};var tu=Kl.map(function(t){return[t[0].utc,t[1]]}),eu=Wl.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\\\",ze]]);tu.year=fs.year.utc,fs.scale.utc=function(){return ao(uo.scale.linear(),tu,eu)},uo.text=Lt(function(t){return t.responseText}),uo.json=function(t,e){return Ct(t,\\\"application/json\\\",so,e)},uo.html=function(t,e){return Ct(t,\\\"text/html\\\",lo,e)},uo.xml=Lt(function(t){return t.responseXML}),\\\"function\\\"==typeof t&&t.amd?(this.d3=uo,t(uo)):\\\"object\\\"==typeof r&&r.exports?r.exports=uo:this.d3=uo}()},{}],122:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.point=t,this.index=e}function i(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}function a(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 i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&&i.push([-1,i[0][1]],[i[t-1][1],-1]),i}function o(t,e){var r=t.length;if(0===r)return[];var o=t[0].length;if(o<1)return[];if(1===o)return a(r,t,e);for(var u=new Array(r),c=1,h=0;h<r;++h){for(var f=t[h],d=new Array(o+1),p=0,m=0;m<o;++m){var v=f[m];d[m]=v,p+=v*v}d[o]=p,u[h]=new n(d,h),c=Math.max(p,c)}l(u,i),r=u.length;for(var g=new Array(r+o+1),y=new Array(r+o+1),b=(o+1)*(o+1)*c,x=new Array(o+1),h=0;h<=o;++h)x[h]=0;x[o]=b,g[0]=x.slice(),y[0]=-1;for(var h=0;h<=o;++h){var d=x.slice();d[h]=1,g[h+1]=d,y[h+1]=-1}for(var h=0;h<r;++h){var _=u[h];g[h+o+1]=_.point,y[h+o+1]=_.index}var w=s(g,!1);if(w=e?w.filter(function(t){for(var e=0,r=0;r<=o;++r){var n=y[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):w.filter(function(t){for(var e=0;e<=o;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0}),1&o)for(var h=0;h<w.length;++h){var _=w[h],d=_[0];_[0]=_[1],_[1]=d}return w}var s=t(\\\"incremental-convex-hull\\\"),l=t(\\\"uniq\\\");e.exports=o},{\\\"incremental-convex-hull\\\":289,uniq:542}],123:[function(t,e,r){(function(t){function r(t,e){return d[0]=t,d[1]=e,f[0]}function n(t){return f[0]=t,d[0]}function i(t){return f[0]=t,d[1]}function a(t,e){return d[1]=t,d[0]=e,f[0]}function o(t){return f[0]=t,d[1]}function s(t){return f[0]=t,d[0]}function l(t,e){return p.writeUInt32LE(t,0,!0),p.writeUInt32LE(e,4,!0),p.readDoubleLE(0,!0)}function u(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(0,!0)}function c(t){return p.writeDoubleLE(t,0,!0),p.readUInt32LE(4,!0)}var h=!1;if(\\\"undefined\\\"!=typeof Float64Array){var f=new Float64Array(1),d=new Uint32Array(f.buffer);f[0]=1,h=!0,1072693248===d[1]?(e.exports=function(t){return f[0]=t,[d[0],d[1]]},e.exports.pack=r,e.exports.lo=n,e.exports.hi=i):1072693248===d[0]?(e.exports=function(t){return f[0]=t,[d[1],d[0]]},e.exports.pack=a,e.exports.lo=o,e.exports.hi=s):h=!1}if(!h){var p=new t(8);e.exports=function(t){return p.writeDoubleLE(t,0,!0),[p.readUInt32LE(0,!0),p.readUInt32LE(4,!0)]},e.exports.pack=l,e.exports.lo=u,e.exports.hi=c}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),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\\\"buffer\\\").Buffer)},{buffer:76}],124:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var i=0|t[r];if(i<=0)return[];var a,o=new Array(i);if(r===t.length-1)for(a=0;a<i;++a)o[a]=e;else for(a=0;a<i;++a)o[a]=n(t,e,r+1);return o}function i(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e){switch(void 0===e&&(e=0),typeof t){case\\\"number\\\":if(t>0)return i(0|t,e);break;case\\\"object\\\":if(\\\"number\\\"==typeof t.length)return n(t,e,0)}return[]}e.exports=a},{}],125:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r=r||2;var n=e&&e.length,a=n?e[0]*r:t.length,s=i(t,0,a,r,!0),l=[];if(!s)return l;var u,c,f,d,p,m,v;if(n&&(s=h(t,e,s,r)),t.length>80*r){u=f=t[0],c=d=t[1];for(var g=r;g<a;g+=r)p=t[g],m=t[g+1],p<u&&(u=p),m<c&&(c=m),p>f&&(f=p),m>d&&(d=m);v=Math.max(f-u,d-c)}return o(s,l,r,u,c,v),l}function i(t,e,r,n,i){var a,o;if(i===z(t,e,r,n)>0)for(a=e;a<r;a+=n)o=E(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=E(a,t[a],t[a+1],o);return o&&w(o,o.next)&&(L(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!w(n,n.next)&&0!==_(n.prev,n,n.next))n=n.next;else{if(L(n),(n=e=n.prev)===n.next)return null;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,h,f){if(t){!f&&h&&m(t,n,i,h);for(var d,p,v=t;t.prev!==t.next;)if(d=t.prev,p=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(p.i/r),L(t),t=p.next,v=p.next;else if((t=p)===v){f?1===f?(t=u(t,e,r),o(t,e,r,n,i,h,2)):2===f&&c(t,e,r,n,i,h):o(a(t),e,r,n,i,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(_(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(b(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&_(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(_(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=g(s,l,e,r,n),f=g(u,c,e,r,n),d=t.nextZ;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&b(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&b(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&_(d.prev,d,d.next)>=0)return!1;d=d.prevZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!w(i,a)&&M(i,n,n.next,a)&&A(i,a)&&A(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),L(n),L(n.next),n=t=a),n=n.next}while(n!==t);return n}function c(t,e,r,n,i,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&x(l,u)){var c=S(l,u);return l=a(l,l.next),c=a(c,c.next),o(l,e,r,n,i,s),void o(c,e,r,n,i,s)}u=u.next}l=l.next}while(l!==t)}function h(t,e,r,n){var o,s,l,u,c,h=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,u=o<s-1?e[o+1]*n:t.length,c=i(t,l,u,n,!1),c===c.next&&(c.steiner=!0),h.push(y(c));for(h.sort(f),o=0;o<h.length;o++)d(h[o],r),r=a(r,r.next);return r}function f(t,e){return t.x-e.x}function d(t,e){if(e=p(t,e)){var r=S(e,t);a(r,r.next)}}function p(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;for(n=r.next;n!==u;)i>=n.x&&n.x>=c&&b(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<f||l===f&&n.x>r.x)&&A(n,t)&&(r=n,f=l),n=n.next;return r}function m(t,e,r,n){var i=t;do{null===i.z&&(i.z=g(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,v(i)}function v(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0===s?(i=n,n=n.nextZ,l--):0!==l&&n?r.z<=n.z?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return t}function g(t,e,r,n,i){return t=32767*(t-r)/i,e=32767*(e-n)/i,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1}function y(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function b(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function x(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!k(t,e)&&A(t,e)&&A(e,t)&&T(t,e)}function _(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function w(t,e){return t.x===e.x&&t.y===e.y}function M(t,e,r,n){return!!(w(t,e)&&w(r,n)||w(t,n)&&w(r,e))||_(t,e,r)>0!=_(t,e,n)>0&&_(r,n,t)>0!=_(r,n,e)>0}function k(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&&M(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}function A(t,e){return _(t.prev,t,t.next)<0?_(t,e,t.next)>=0&&_(t,t.prev,e)>=0:_(t,e,t.prev)<0||_(t,t.next,e)<0}function T(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}function S(t,e){var r=new C(t.i,t.x,t.y),n=new C(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function E(t,e,r,n){var i=new C(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function L(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 C(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 z(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(z(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(z(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,d=n[s+1]*r,p=n[s+2]*r;h+=Math.abs((t[f]-t[p])*(t[d+1]-t[f+1])-(t[f]-t[d])*(t[p+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,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],126:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.length;if(\\\"number\\\"!=typeof e){e=0;for(var n=0;n<r;++n){var a=t[n];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),n=0;n<e;++n)o[n]=[];for(var n=0;n<r;++n){var a=t[n];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)i(o[s],function(t,e){return t-e});return o}e.exports=n;var i=t(\\\"uniq\\\")},{uniq:542}],127:[function(e,r,n){(function(i,a){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?r.exports=i():\\\"function\\\"==typeof t&&t.amd?t(i):e.ES6Promise=i()}(this,function(){\\\"use strict\\\";function t(t){return\\\"function\\\"==typeof t||\\\"object\\\"==typeof t&&null!==t}function r(t){return\\\"function\\\"==typeof t}function n(t){G=t}function o(t){Y=t}function s(){return function(){q(u)}}function l(){var t=setTimeout;return function(){return t(u,1)}}function u(){for(var t=0;t<H;t+=2){(0,Q[t])(Q[t+1]),Q[t]=void 0,Q[t+1]=void 0}H=0}function c(t,e){var r=arguments,n=this,i=new this.constructor(f);void 0===i[tt]&&z(i);var a=n._state;return a?function(){var t=r[a-1];Y(function(){return E(a,i,t,n._result)})}():k(n,i,t,e),i}function h(t){var e=this;if(t&&\\\"object\\\"==typeof t&&t.constructor===e)return t;var r=new e(f);return x(r,t),r}function f(){}function d(){return new TypeError(\\\"You cannot resolve a promise with itself\\\")}function p(){return new TypeError(\\\"A promises callback cannot return that same promise.\\\")}function m(t){try{return t.then}catch(t){return it.error=t,it}}function v(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}function g(t,e,r){Y(function(t){var n=!1,i=v(r,e,function(r){n||(n=!0,e!==r?x(t,r):w(t,r))},function(e){n||(n=!0,M(t,e))},\\\"Settle: \\\"+(t._label||\\\" unknown promise\\\"));!n&&i&&(n=!0,M(t,i))},t)}function y(t,e){e._state===rt?w(t,e._result):e._state===nt?M(t,e._result):k(e,void 0,function(e){return x(t,e)},function(e){return M(t,e)})}function b(t,e,n){e.constructor===t.constructor&&n===c&&e.constructor.resolve===h?y(t,e):n===it?M(t,it.error):void 0===n?w(t,e):r(n)?g(t,e,n):w(t,e)}function x(e,r){e===r?M(e,d()):t(r)?b(e,r,m(r)):w(e,r)}function _(t){t._onerror&&t._onerror(t._result),A(t)}function w(t,e){t._state===et&&(t._result=e,t._state=rt,0!==t._subscribers.length&&Y(A,t))}function M(t,e){t._state===et&&(t._state=nt,t._result=e,Y(_,t))}function k(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+rt]=r,i[a+nt]=n,0===a&&t._state&&Y(A,t)}function A(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?E(r,n,i,a):i(a);t._subscribers.length=0}}function T(){this.error=null}function S(t,e){try{return t(e)}catch(t){return at.error=t,at}}function E(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if(o=S(n,i),o===at?(u=!0,s=o.error,o=null):l=!0,e===o)return void M(e,p())}else o=i,l=!0;e._state!==et||(a&&l?x(e,o):u?M(e,s):t===rt?w(e,o):t===nt&&M(e,o))}function L(t,e){try{e(function(e){x(t,e)},function(e){M(t,e)})}catch(e){M(t,e)}}function C(){return ot++}function z(t){t[tt]=ot++,t._state=void 0,t._result=void 0,t._subscribers=[]}function I(t,e){this._instanceConstructor=t,this.promise=new t(f),this.promise[tt]||z(this.promise),V(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?w(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&w(this.promise,this._result))):M(this.promise,D())}function D(){return new Error(\\\"Array Methods must be provided an Array\\\")}function P(t){return new I(this,t).promise}function O(t){var e=this;return new e(V(t)?function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}:function(t,e){return e(new TypeError(\\\"You must pass an array to race.\\\"))})}function R(t){var e=this,r=new e(f);return M(r,t),r}function F(){throw new TypeError(\\\"You must pass a resolver function as the first argument to the promise constructor\\\")}function j(){throw new TypeError(\\\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\\\")}function N(t){this[tt]=C(),this._result=this._state=void 0,this._subscribers=[],f!==t&&(\\\"function\\\"!=typeof t&&F(),this instanceof N?L(this,t):j())}function B(){var t=void 0;if(void 0!==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=N}var U=void 0;U=Array.isArray?Array.isArray:function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)};var V=U,H=0,q=void 0,G=void 0,Y=function(t,e){Q[H]=t,Q[H+1]=e,2===(H+=2)&&(G?G(u):$())},X=\\\"undefined\\\"!=typeof window?window:void 0,W=X||{},Z=W.MutationObserver||W.WebKitMutationObserver,J=\\\"undefined\\\"==typeof self&&void 0!==i&&\\\"[object process]\\\"==={}.toString.call(i),K=\\\"undefined\\\"!=typeof Uint8ClampedArray&&\\\"undefined\\\"!=typeof importScripts&&\\\"undefined\\\"!=typeof MessageChannel,Q=new Array(1e3),$=void 0;$=J?function(){return function(){return i.nextTick(u)}}():Z?function(){var t=0,e=new Z(u),r=document.createTextNode(\\\"\\\");return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():K?function(){var t=new MessageChannel;return t.port1.onmessage=u,function(){return t.port2.postMessage(0)}}():void 0===X&&\\\"function\\\"==typeof e?function(){try{var t=e,r=t(\\\"vertx\\\");return q=r.runOnLoop||r.runOnContext,s()}catch(t){return l()}}():l();var tt=Math.random().toString(36).substring(16),et=void 0,rt=1,nt=2,it=new T,at=new T,ot=0;return I.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===et&&r<t;r++)this._eachEntry(e[r],r)},I.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===h){var i=m(t);if(i===c&&t._state!==et)this._settledAt(t._state,e,t._result);else if(\\\"function\\\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===N){var a=new r(f);b(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},I.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===et&&(this._remaining--,t===nt?M(n,r):this._result[e]=r),0===this._remaining&&w(n,this._result)},I.prototype._willSettleAt=function(t,e){var r=this;k(t,void 0,function(t){return r._settledAt(rt,e,t)},function(t){return r._settledAt(nt,e,t)})},N.all=P,N.race=O,N.resolve=h,N.reject=R,N._setScheduler=n,N._setAsap=o,N._asap=Y,N.prototype={constructor:N,then:c,catch:function(t){return this.then(null,t)}},B(),N.polyfill=B,N.Promise=N,N})}).call(this,e(\\\"_process\\\"),\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{_process:486}],128:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return\\\"function\\\"==typeof t}function a(t){return\\\"number\\\"==typeof t}function o(t){return\\\"object\\\"==typeof t&&null!==t}function s(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!a(t)||t<0||isNaN(t))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,a,l,u;if(this._events||(this._events={}),\\\"error\\\"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var c=new Error('Uncaught, unspecified \\\"error\\\" event. ('+e+\\\")\\\");throw c.context=e,c}if(r=this._events[t],s(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),r.apply(this,a)}else if(o(r))for(a=Array.prototype.slice.call(arguments,1),u=r.slice(),n=u.length,l=0;l<n;l++)u[l].apply(this,a);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(\\\"listener must be a function\\\");return this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",t,i(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,o(this._events[t])&&!this._events[t].warned&&(r=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[t].length),\\\"function\\\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError(\\\"listener must be a function\\\");var n=!1;return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var r,n,a,s;if(!i(e))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[t])return this;if(r=this._events[t],a=r.length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e);else if(o(r)){\\n\",\n       \"for(s=a;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\\\"removeListener\\\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this}if(r=this._events[t],i(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],129:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=e||0,i=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]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}e.exports=n},{}],130:[function(t,e,r){\\\"use strict\\\";function n(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}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}},{}],131:[function(t,e,r){\\\"use strict\\\";function n(t){return new Function(\\\"f\\\",\\\"var p = (f && f.properties || {}); return \\\"+i(t))}function i(t){if(!t)return\\\"true\\\";var e=t[0];return t.length<=1?\\\"any\\\"===e?\\\"false\\\":\\\"true\\\":\\\"(\\\"+(\\\"==\\\"===e?o(t[1],t[2],\\\"===\\\",!1):\\\"!=\\\"===e?o(t[1],t[2],\\\"!==\\\",!1):\\\"<\\\"===e||\\\">\\\"===e||\\\"<=\\\"===e||\\\">=\\\"===e?o(t[1],t[2],e,!0):\\\"any\\\"===e?s(t.slice(1),\\\"||\\\"):\\\"all\\\"===e?s(t.slice(1),\\\"&&\\\"):\\\"none\\\"===e?c(s(t.slice(1),\\\"||\\\")):\\\"in\\\"===e?l(t[1],t.slice(2)):\\\"!in\\\"===e?c(l(t[1],t.slice(2))):\\\"has\\\"===e?u(t[1]):\\\"!has\\\"===e?c(u([t[1]])):\\\"true\\\")+\\\")\\\"}function a(t){return\\\"$type\\\"===t?\\\"f.type\\\":\\\"$id\\\"===t?\\\"f.id\\\":\\\"p[\\\"+JSON.stringify(t)+\\\"]\\\"}function o(t,e,r,n){var i=a(t),o=\\\"$type\\\"===t?f.indexOf(e):JSON.stringify(e);return(n?\\\"typeof \\\"+i+\\\"=== typeof \\\"+o+\\\"&&\\\":\\\"\\\")+i+r+o}function s(t,e){return t.map(i).join(e)}function l(t,e){\\\"$type\\\"===t&&(e=e.map(function(t){return f.indexOf(t)}));var r=JSON.stringify(e.sort(h)),n=a(t);return e.length<=200?r+\\\".indexOf(\\\"+n+\\\") !== -1\\\":\\\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1;    if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\\\"+n+\\\", \\\"+r+\\\",0,\\\"+(e.length-1)+\\\")\\\"}function u(t){return JSON.stringify(t)+\\\" in p\\\"}function c(t){return\\\"!(\\\"+t+\\\")\\\"}function h(t,e){return t<e?-1:t>e?1:0}e.exports=n;var f=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"]},{}],132:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.min(e,Math.max(t,r))}function i(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()]}function a(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}function o(t,e,r){switch(arguments.length){case 0:return new i([0],[0],0);case 1:if(\\\"number\\\"==typeof t){var n=a(t);return new i(n,n,0)}return new i(t,a(t.length),0);case 2:if(\\\"number\\\"==typeof e){var n=a(t.length);return new i(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\\\"state and velocity lengths must match\\\");return new i(t,e,r)}}e.exports=o;var s=t(\\\"cubic-hermite\\\"),l=t(\\\"binary-search-bounds\\\"),u=i.prototype;u.flush=function(t){var e=l.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))},u.curve=function(t){var e=this._time,r=e.length,i=l.le(e,t),a=this._scratch[0],o=this._state,u=this._velocity,c=this.dimension,h=this.bounds;if(i<0)for(var f=c-1,d=0;d<c;++d,--f)a[d]=o[f];else if(i>=r-1)for(var f=o.length-1,p=t-e[r-1],d=0;d<c;++d,--f)a[d]=o[f]+p*u[f];else{for(var f=c*(i+1)-1,m=e[i],v=e[i+1],g=v-m||1,y=this._scratch[1],b=this._scratch[2],x=this._scratch[3],_=this._scratch[4],w=!0,d=0;d<c;++d,--f)y[d]=o[f],x[d]=u[f]*g,b[d]=o[f+c],_[d]=u[f+c]*g,w=w&&y[d]===b[d]&&x[d]===_[d]&&0===x[d];if(w)for(var d=0;d<c;++d)a[d]=y[d];else s(y,x,b,_,(t-m)/g,a)}for(var M=h[0],k=h[1],d=0;d<c;++d)a[d]=n(M[d],k[d],a[d]);return a},u.dcurve=function(t){var e=this._time,r=e.length,n=l.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,u=this.dimension;if(n>=r-1)for(var c=a.length-1,h=(e[r-1],0);h<u;++h,--c)i[h]=o[c];else{for(var c=u*(n+1)-1,f=e[n],d=e[n+1],p=d-f||1,m=this._scratch[1],v=this._scratch[2],g=this._scratch[3],y=this._scratch[4],b=!0,h=0;h<u;++h,--c)m[h]=a[c],g[h]=o[c]*p,v[h]=a[c+u],y[h]=o[c+u]*p,b=b&&m[h]===v[h]&&g[h]===y[h]&&0===g[h];if(b)for(var h=0;h<u;++h)i[h]=0;else{s.derivative(m,g,v,y,(t-f)/p,i);for(var h=0;h<u;++h)i[h]/=p}}return i},u.lastT=function(){var t=this._time;return t[t.length-1]},u.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},u.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1];this._time.push(e,t);for(var c=0;c<2;++c)for(var h=0;h<r;++h)i.push(i[o++]),a.push(0);this._time.push(t);for(var h=r;h>0;--h)i.push(n(l[h-1],u[h-1],arguments[h])),a.push(0)}},u.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=t-e,l=this.bounds,u=l[0],c=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var d=n(u[f-1],c[f-1],arguments[f]);i.push(d),a.push((d-i[o++])*h)}}},u.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,i=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(n(o[l-1],s[l-1],arguments[l])),i.push(0)}},u.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var i=this._state,a=this._velocity,o=i.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,h=c>1e-6?1/c:0;this._time.push(t);for(var f=r;f>0;--f){var d=arguments[f];i.push(n(l[f-1],u[f-1],i[o++]+d)),a.push(d*h)}}},u.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,i=this._state,a=this._velocity,o=i.length-r,s=this.bounds,l=s[0],u=s[1],c=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)i.push(n(l[h],u[h],i[o]+c*a[o])),a.push(0),o+=1}}},{\\\"binary-search-bounds\\\":65,\\\"cubic-hermite\\\":108}],133:[function(t,e,r){\\\"use strict\\\";function n(t){t=t||{};var e,r,n=t.canvas||document.createElement(\\\"canvas\\\"),o=t.family||\\\"sans-serif\\\",s=t.shape||[512,512],l=t.step||[32,32],u=parseFloat(t.size)||16,c=t.chars||[32,126],h=Math.floor((l[0]-u)/2),f=t.radius||1.5*h,d=new a(u,h,f,0,o),p=null==t.align?\\\"optical\\\":t.align,m=null==t.fit||1==t.fit?.5:t.fit;if(Array.isArray(c)){if(2===c.length&&\\\"number\\\"==typeof c[0]&&\\\"number\\\"==typeof c[1]){var v=[];for(e=c[0],r=0;e<=c[1];e++)v[r++]=String.fromCharCode(e);c=v}}else c=String(c).split(\\\"\\\");s=s.slice(),n.width=s[0],n.height=s[1];var g=n.getContext(\\\"2d\\\");g.fillStyle=\\\"#000\\\",g.fillRect(0,0,n.width,n.height),g.textBaseline=\\\"middle\\\";var y=l[0],b=l[1],x=0,_=0,w=u/b,M=Math.min(c.length,Math.floor(s[0]/y)*Math.ceil(s[1]/b)),k=d.ctx.textAlign,A=d.buffer,T=d.middle;for(d.ctx.textAlign=\\\"center\\\",d.buffer=d.size/2,e=0;e<M;e++)if(c[e]){var S=i(c[e],o,w),E=1,L=[0,0];if(m){var C=m;Array.isArray(m)&&(C=m[e]);var z=.5*(S.bounds[3]-S.bounds[1]),I=.5*(S.bounds[2]-S.bounds[0]),D=Math.max(z,I),P=Math.sqrt(z*z+I*I),O=.333*S.radius+.333*D+.333*P;E=b*C/(O*b*2),d.ctx.font=u*E+\\\"px \\\"+o}else d.ctx.font=u+\\\"px \\\"+o;p&&(L=\\\"optical\\\"===p||!0===p?[.5*y-y*S.center[0],.5*b-b*S.center[1]]:[.5*y-y*(S.bounds[2]+S.bounds[0])*.5,.5*b-b*(S.bounds[3]+S.bounds[1])*.5],d.middle=T+L[1]*E);var R=d.draw(c[e]);g.putImageData(R,x+L[0]*E,_),x+=l[0],x>s[0]-l[0]&&(x=0,_+=l[1])}return d.ctx.textAlign=k,d.buffer=A,d.middle=T,n}function i(t,e,r){if(s[e]&&s[e][t])return s[e][t];var n=200*r,i=o(t,{size:200,fontSize:n,fontFamily:e});s[e]||(s[e]={});var a={center:[i.center[0]/200,i.center[1]/200],bounds:i.bounds.map(function(t){return t/200}),radius:i.radius/200};return s[e][t]=a,a}var a=t(\\\"tiny-sdf\\\"),o=t(\\\"optical-properties\\\");e.exports=n;var s={}},{\\\"optical-properties\\\":470,\\\"tiny-sdf\\\":532}],134:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(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}function l(t,e){if(e.left){var r=l(t,e.left);if(r)return r}var r=t(e.key,e.value);return r||(e.right?l(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){if(n.left){var i=u(t,e,r,n.left);if(i)return i}var i=r(n.key,n.value);if(i)return i}if(n.right)return u(t,e,r,n.right)}function c(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=c(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return c(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}function f(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 d(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=g);if(r=t[l-1],r.left===e){if(n=r.right,n.right&&n.right._color===v){if(n=r.right=i(n),s=n.right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=g,r._color=g,s._color=g,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.right=n}return void(t[l-1]=n)}if(n.left&&n.left._color===v){if(n=r.right=i(n),s=n.left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=g,n._color=g,e._color=g,o(r),o(n),o(s),l>1){var u=t[l-2];u.left===r?u.left=s:u.right=s}return void(t[l-1]=s)}if(n._color===g){if(r._color===v)return r._color=g,void(r.right=a(v,n));r.right=a(v,n);continue}if(n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=v,o(r),o(n),l>1){var u=t[l-2];u.left===r?u.left=n:u.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,n.left&&n.left._color===v){if(n=r.left=i(n),s=n.left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=g,r._color=g,s._color=g,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}return void(t[l-1]=n)}if(n.right&&n.right._color===v){if(n=r.left=i(n),s=n.right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=g,n._color=g,e._color=g,o(r),o(n),o(s),l>1){var u=t[l-2];u.right===r?u.right=s:u.left=s}return void(t[l-1]=s)}if(n._color===g){if(r._color===v)return r._color=g,void(r.left=a(v,n));r.left=a(v,n);continue}if(n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=v,o(r),o(n),l>1){var u=t[l-2];u.right===r?u.right=n:u.left=n}t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}function p(t,e){return t<e?-1:t>e?1:0}function m(t){return new s(t||p,null)}e.exports=m;var v=0,g=1,y=s.prototype;Object.defineProperty(y,\\\"keys\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(y,\\\"values\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(y,\\\"length\\\",{get:function(){return this.root?this.root._count:0}}),y.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],u=[];i;){var c=r(t,i.key);l.push(i),u.push(c),i=c<=0?i.left:i.right}l.push(new n(v,t,e,null,null,1));for(var h=l.length-2;h>=0;--h){var i=l[h];u[h]<=0?l[h]=new n(i._color,i.key,i.value,l[h+1],i.right,i._count+1):l[h]=new n(i._color,i.key,i.value,i.left,l[h+1],i._count+1)}for(var h=l.length-1;h>1;--h){var f=l[h-1],i=l[h];if(f._color===g||i._color===g)break;var d=l[h-2];if(d.left===f)if(f.left===i){var p=d.right;if(!p||p._color!==v){if(d._color=v,d.left=f.right,f._color=g,f.right=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var m=l[h-3];m.left===d?m.left=f:m.right=f}break}f._color=g,d.right=a(g,p),d._color=v,h-=1}else{var p=d.right;if(!p||p._color!==v){if(f.right=i.left,d._color=v,d.left=i.right,i._color=g,i.left=f,i.right=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var m=l[h-3];m.left===d?m.left=i:m.right=i}break}f._color=g,d.right=a(g,p),d._color=v,h-=1}else if(f.right===i){var p=d.left;if(!p||p._color!==v){if(d._color=v,d.right=f.left,f._color=g,f.left=d,l[h-2]=f,l[h-1]=i,o(d),o(f),h>=3){var m=l[h-3];m.right===d?m.right=f:m.left=f}break}f._color=g,d.left=a(g,p),d._color=v,h-=1}else{var p=d.left;if(!p||p._color!==v){if(f.left=i.right,d._color=v,d.right=i.left,i._color=g,i.right=f,i.left=d,l[h-2]=i,l[h-1]=f,o(d),o(f),o(i),h>=3){var m=l[h-3];m.right===d?m.right=i:m.left=i}break}f._color=g,d.left=a(g,p),d._color=v,h-=1}}return l[0]._color=g,new s(r,l[0])},y.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return l(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return c(e,r,this._compare,t,this.root)}},Object.defineProperty(y,\\\"begin\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(y,\\\"end\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),y.at=function(t){if(t<0)return new h(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 h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},y.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},y.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},y.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},y.remove=function(t){var e=this.find(t);return e?e.remove():this},y.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 b=h.prototype;Object.defineProperty(b,\\\"valid\\\",{get:function(){return this._stack.length>0}}),Object.defineProperty(b,\\\"node\\\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),b.clone=function(){return new h(this.tree,this._stack.slice())},b.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 i=t.length-2;i>=0;--i){var r=t[i];r.left===t[i+1]?e[i]=new n(r._color,r.key,r.value,e[i+1],r.right,r._count):e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count)}if(r=e[e.length-1],r.left&&r.right){var a=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var o=e[a-1];e.push(new n(r._color,o.key,o.value,r.left,r.right,r._count)),e[a-1].key=r.key,e[a-1].value=r.value;for(var i=e.length-2;i>=a;--i)r=e[i],e[i]=new n(r._color,r.key,r.value,r.left,e[i+1],r._count);e[a-1].left=e[a]}if(r=e[e.length-1],r._color===v){var l=e[e.length-2];l.left===r?l.left=null:l.right===r&&(l.right=null),e.pop();for(var i=0;i<e.length;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?f(r,r.left):r.right&&f(r,r.right),r._color=g;for(var i=0;i<e.length-1;++i)e[i]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(var i=0;i<e.length;++i)e[i]._count--;var u=e[e.length-2];return d(e),u.left===r?u.left=null:u.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(b,\\\"key\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(b,\\\"value\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(b,\\\"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}),b.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(b,\\\"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}}),b.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),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)i=e[a],i.left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},b.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(b,\\\"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}})},{}],135:[function(t,e,r){function n(t){if(t<0)return Number(\\\"0/0\\\");for(var e=o[0],r=o.length-1;r>0;--r)e+=o[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}var i=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,o=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];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(n(e));e-=1;for(var r=i[0],a=1;a<9;a++)r+=i[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=n},{}],136:[function(t,e,r){function n(t){if(\\\"Polygon\\\"===t.type)return i(t.coordinates);if(\\\"MultiPolygon\\\"===t.type){for(var e=0,r=0;r<t.coordinates.length;r++)e+=i(t.coordinates[r]);return e}return null}function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(a(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(a(t[r]))}return e}function a(t){var e=0;if(t.length>2){for(var r,n,i=0;i<t.length-1;i++)r=t[i],n=t[i+1],e+=o(n[0]-r[0])*(2+Math.sin(o(r[1]))+Math.sin(o(n[1])));e=e*s.RADIUS*s.RADIUS/2}return e}function o(t){return t*Math.PI/180}var s=t(\\\"wgs84\\\");e.exports.geometry=n,e.exports.ring=a},{wgs84:564}],137:[function(t,e,r){function n(t,e){switch(t&&t.type||null){case\\\"FeatureCollection\\\":return t.features=t.features.map(i(n,e)),t;case\\\"Feature\\\":return t.geometry=n(t.geometry,e),t;case\\\"Polygon\\\":case\\\"MultiPolygon\\\":return a(t,e);default:return t}}function i(t,e){return function(r){return t(r,e)}}function a(t,e){return\\\"Polygon\\\"===t.type?t.coordinates=o(t.coordinates,e):\\\"MultiPolygon\\\"===t.type&&(t.coordinates=t.coordinates.map(i(o,e))),t}function o(t,e){e=!!e,t[0]=s(t[0],!e);for(var r=1;r<t.length;r++)t[r]=s(t[r],e);return t}function s(t,e){return l(t)===e?t:t.reverse()}function l(t){return u.ring(t)>=0}var u=t(\\\"geojson-area\\\");e.exports=n},{\\\"geojson-area\\\":136}],138:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,o,l,u,c){if(r/=e,n/=e,u>=r&&c<=n)return t;if(u>n||c<r)return null;for(var h=[],f=0;f<t.length;f++){var d,p,m=t[f],v=m.geometry,g=m.type;if(d=m.min[o],p=m.max[o],d>=r&&p<=n)h.push(m);else if(!(d>n||p<r)){var y=1===g?i(v,r,n,o):a(v,r,n,o,l,3===g);y.length&&h.push(s(m.tags,g,y,m.id))}}return h.length?h:null}function i(t,e,r,n){for(var i=[],a=0;a<t.length;a++){var o=t[a],s=o[n];s>=e&&s<=r&&i.push(o)}return i}function a(t,e,r,n,i,a){for(var s=[],l=0;l<t.length;l++){var u,c,h,f=0,d=0,p=null,m=t[l],v=m.area,g=m.dist,y=m.outer,b=m.length,x=[];for(c=0;c<b-1;c++)u=p||m[c],p=m[c+1],f=d||u[n],d=p[n],f<e?d>r?(x.push(i(u,p,e),i(u,p,r)),a||(x=o(s,x,v,g,y))):d>=e&&x.push(i(u,p,e)):f>r?d<e?(x.push(i(u,p,r),i(u,p,e)),a||(x=o(s,x,v,g,y))):d<=r&&x.push(i(u,p,r)):(x.push(u),d<e?(x.push(i(u,p,e)),a||(x=o(s,x,v,g,y))):d>r&&(x.push(i(u,p,r)),a||(x=o(s,x,v,g,y))));u=m[b-1],f=u[n],f>=e&&f<=r&&x.push(u),h=x[x.length-1],a&&h&&(x[0][0]!==h[0]||x[0][1]!==h[1])&&x.push(x[0]),o(s,x,v,g,y)}return s}function o(t,e,r,n,i){return e.length&&(e.area=r,e.dist=n,void 0!==i&&(e.outer=i),t.push(e)),[]}e.exports=n;var s=t(\\\"./feature\\\")},{\\\"./feature\\\":140}],139:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=[];if(\\\"FeatureCollection\\\"===t.type)for(var n=0;n<t.features.length;n++)i(r,t.features[n],e);else\\\"Feature\\\"===t.type?i(r,t,e):i(r,{geometry:t},e);return r}function i(t,e,r){if(null!==e.geometry){var n,s,l,c,h=e.geometry,f=h.type,d=h.coordinates,p=e.properties,m=e.id;if(\\\"Point\\\"===f)t.push(u(p,1,[o(d)],m));else if(\\\"MultiPoint\\\"===f)t.push(u(p,1,a(d),m));else if(\\\"LineString\\\"===f)t.push(u(p,2,[a(d,r)],m));else if(\\\"MultiLineString\\\"===f||\\\"Polygon\\\"===f){for(l=[],n=0;n<d.length;n++)c=a(d[n],r),\\\"Polygon\\\"===f&&(c.outer=0===n),l.push(c);t.push(u(p,\\\"Polygon\\\"===f?3:2,l,m))}else if(\\\"MultiPolygon\\\"===f){for(l=[],n=0;n<d.length;n++)for(s=0;s<d[n].length;s++)c=a(d[n][s],r),c.outer=0===s,l.push(c);t.push(u(p,3,l,m))}else{if(\\\"GeometryCollection\\\"!==f)throw new Error(\\\"Input data is not a valid GeoJSON object.\\\");for(n=0;n<h.geometries.length;n++)i(t,{geometry:h.geometries[n],properties:p},r)}}}function a(t,e){for(var r=[],n=0;n<t.length;n++)r.push(o(t[n]));return e&&(l(r,e),s(r)),r}function o(t){var e=Math.sin(t[1]*Math.PI/180),r=t[0]/360+.5,n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n=n<0?0:n>1?1:n,[r,n,0]}function s(t){for(var e,r,n=0,i=0,a=0;a<t.length-1;a++)e=r||t[a],r=t[a+1],n+=e[0]*r[1]-r[0]*e[1],i+=Math.abs(r[0]-e[0])+Math.abs(r[1]-e[1]);t.area=Math.abs(n/2),t.dist=i}e.exports=n;var l=t(\\\"./simplify\\\"),u=t(\\\"./feature\\\")},{\\\"./feature\\\":140,\\\"./simplify\\\":142}],140:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a={id:n||null,type:e,geometry:r,tags:t||null,min:[1/0,1/0],max:[-1/0,-1/0]};return i(a),a}function i(t){var e=t.geometry,r=t.min,n=t.max;if(1===t.type)a(r,n,e);else for(var i=0;i<e.length;i++)a(r,n,e[i]);return t}function a(t,e,r){for(var n,i=0;i<r.length;i++)n=r[i],t[0]=Math.min(n[0],t[0]),e[0]=Math.max(n[0],e[0]),t[1]=Math.min(n[1],t[1]),e[1]=Math.max(n[1],e[1])}e.exports=n},{}],141:[function(t,e,r){\\\"use strict\\\";function n(t,e){return new i(t,e)}function i(t,e){e=this.options=l(Object.create(this.options),e);var r=e.debug;r&&console.time(\\\"preprocess data\\\");var n=1<<e.maxZoom,i=c(t,e.tolerance/(n*e.extent));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),i=d(i,e.buffer/e.extent,o),i.length&&this.splitTile(i,0,0,0),r&&(i.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 a(t,e,r){return 32*((1<<t)*r+e)+t}function o(t,e,r){return[r,(r-t[0])*(e[1]-t[1])/(e[0]-t[0])+t[1],1]}function s(t,e,r){return[(r-t[1])*(e[0]-t[0])/(e[1]-t[1])+t[0],r,1]}function l(t,e){for(var r in e)t[r]=e[r];return t}function u(t,e,r){var n=t.source;if(1!==n.length)return!1;var i=n[0];if(3!==i.type||i.geometry.length>1)return!1;var a=i.geometry[0].length;if(5!==a)return!1;for(var o=0;o<a;o++){var s=h.point(i.geometry[0][o],e,t.z2,t.x,t.y);if(s[0]!==-r&&s[0]!==e+r||s[1]!==-r&&s[1]!==e+r)return!1}return!0}e.exports=n;var c=t(\\\"./convert\\\"),h=t(\\\"./transform\\\"),f=t(\\\"./clip\\\"),d=t(\\\"./wrap\\\"),p=t(\\\"./tile\\\");i.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,solidChildren:!1,tolerance:3,extent:4096,buffer:64,debug:0},i.prototype.splitTile=function(t,e,r,n,i,l,c){for(var h=[t,e,r,n],d=this.options,m=d.debug,v=null;h.length;){n=h.pop(),r=h.pop(),e=h.pop(),t=h.pop();var g=1<<e,y=a(e,r,n),b=this.tiles[y],x=e===d.maxZoom?0:d.tolerance/(g*d.extent);if(!b&&(m>1&&console.time(\\\"creation\\\"),b=this.tiles[y]=p(t,g,r,n,x,e===d.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),m)){m>1&&(console.log(\\\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\\\",e,r,n,b.numFeatures,b.numPoints,b.numSimplified),console.timeEnd(\\\"creation\\\"));var _=\\\"z\\\"+e;this.stats[_]=(this.stats[_]||0)+1,this.total++}if(b.source=t,i){if(e===d.maxZoom||e===i)continue;var w=1<<i-e;if(r!==Math.floor(l/w)||n!==Math.floor(c/w))continue}else if(e===d.indexMaxZoom||b.numPoints<=d.indexMaxPoints)continue;if(d.solidChildren||!u(b,d.extent,d.buffer)){b.source=null,m>1&&console.time(\\\"clipping\\\");var M,k,A,T,S,E,L=.5*d.buffer/d.extent,C=.5-L,z=.5+L,I=1+L;M=k=A=T=null,S=f(t,g,r-L,r+z,0,o,b.min[0],b.max[0]),E=f(t,g,r+C,r+I,0,o,b.min[0],b.max[0]),S&&(M=f(S,g,n-L,n+z,1,s,b.min[1],b.max[1]),k=f(S,g,n+C,n+I,1,s,b.min[1],b.max[1])),E&&(A=f(E,g,n-L,n+z,1,s,b.min[1],b.max[1]),T=f(E,g,n+C,n+I,1,s,b.min[1],b.max[1])),m>1&&console.timeEnd(\\\"clipping\\\"),t.length&&(h.push(M||[],e+1,2*r,2*n),h.push(k||[],e+1,2*r,2*n+1),h.push(A||[],e+1,2*r+1,2*n),h.push(T||[],e+1,2*r+1,2*n+1))}else i&&(v=e)}return v},i.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,o=n.debug,s=1<<t;e=(e%s+s)%s;var l=a(t,e,r);if(this.tiles[l])return h.tile(this.tiles[l],i);o>1&&console.log(\\\"drilling down to z%d-%d-%d\\\",t,e,r);for(var c,f=t,d=e,p=r;!c&&f>0;)f--,d=Math.floor(d/2),p=Math.floor(p/2),c=this.tiles[a(f,d,p)];if(!c||!c.source)return null;if(o>1&&console.log(\\\"found parent tile z%d-%d-%d\\\",f,d,p),u(c,i,n.buffer))return h.tile(c,i);o>1&&console.time(\\\"drilling down\\\");var m=this.splitTile(c.source,f,d,p,t,e,r);if(o>1&&console.timeEnd(\\\"drilling down\\\"),null!==m){var v=1<<t-m;l=a(m,Math.floor(e/v),Math.floor(r/v))}return this.tiles[l]?h.tile(this.tiles[l],i):null}},{\\\"./clip\\\":138,\\\"./convert\\\":139,\\\"./tile\\\":143,\\\"./transform\\\":144,\\\"./wrap\\\":145}],142:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,a,o,s=e*e,l=t.length,u=0,c=l-1,h=[];for(t[u][2]=1,t[c][2]=1;c;){for(n=0,r=u+1;r<c;r++)(a=i(t[r],t[u],t[c]))>n&&(o=r,n=a);n>s?(t[o][2]=n,h.push(u),h.push(o),u=o):(c=h.pop(),u=h.pop())}}function i(t,e,r){var n=e[0],i=e[1],a=r[0],o=r[1],s=t[0],l=t[1],u=a-n,c=o-i;if(0!==u||0!==c){var h=((s-n)*u+(l-i)*c)/(u*u+c*c);h>1?(n=a,i=o):h>0&&(n+=u*h,i+=c*h)}return u=s-n,c=l-i,u*u+c*c}e.exports=n},{}],143:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z2:e,transformed:!1,min:[2,1],max:[-1,0]},l=0;l<t.length;l++){s.numFeatures++,i(s,t[l],a,o);var u=t[l].min,c=t[l].max;u[0]<s.min[0]&&(s.min[0]=u[0]),u[1]<s.min[1]&&(s.min[1]=u[1]),c[0]>s.max[0]&&(s.max[0]=c[0]),c[1]>s.max[1]&&(s.max[1]=c[1])}return s}function i(t,e,r,n){var i,o,s,l,u=e.geometry,c=e.type,h=[],f=r*r;if(1===c)for(i=0;i<u.length;i++)h.push(u[i]),t.numPoints++,t.numSimplified++;else for(i=0;i<u.length;i++)if(s=u[i],n||!(2===c&&s.dist<r||3===c&&s.area<f)){var d=[];for(o=0;o<s.length;o++)l=s[o],(n||l[2]>f)&&(d.push(l),t.numSimplified++),t.numPoints++;3===c&&a(d,s.outer),h.push(d)}else t.numPoints+=s.length;if(h.length){var p={geometry:h,type:c,tags:e.tags||null};null!==e.id&&(p.id=e.id),t.features.push(p)}}function a(t,e){o(t)<0===e&&t.reverse()}function o(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r[0]-e[0])*(e[1]+r[1]);return n}e.exports=n},{}],144:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(t.transformed)return t;var r,n,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var u=t.features[r],c=u.geometry;if(1===u.type)for(n=0;n<c.length;n++)c[n]=i(c[n],e,o,s,l);else for(n=0;n<c.length;n++){var h=c[n];for(a=0;a<h.length;a++)h[a]=i(h[a],e,o,s,l)}}return t.transformed=!0,t}function i(t,e,r,n,i){return[Math.round(e*(t[0]*r-n)),Math.round(e*(t[1]*r-i))]}r.tile=n,r.point=i},{}],145:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t,a=o(t,1,-1-e,e,0,r,-1,2),s=o(t,1,1-e,2+e,0,r,-1,2);return(a||s)&&(n=o(t,1,-e,1+e,0,r,-1,2)||[],a&&(n=i(a,1).concat(n)),s&&(n=n.concat(i(s,-1)))),n}function i(t,e){for(var r=[],n=0;n<t.length;n++){var i,o=t[n],l=o.type;if(1===l)i=a(o.geometry,e);else{i=[];for(var u=0;u<o.geometry.length;u++)i.push(a(o.geometry[u],e))}r.push(s(o.tags,l,i,o.id))}return r}function a(t,e){var r=[];r.area=t.area,r.dist=t.dist;for(var n=0;n<t.length;n++)r.push([t[n][0]+e,t[n][1],t[n][2]]);return r}var o=t(\\\"./clip\\\"),s=t(\\\"./feature\\\");e.exports=n},{\\\"./clip\\\":138,\\\"./feature\\\":140}],146:[function(t,e,r){function n(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,i=e;try{var a=[t];0===t.indexOf(\\\"webgl\\\")&&a.push(\\\"experimental-\\\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}e.exports=n},{}],147:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(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.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.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=c(t)}function a(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}function o(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var h=a,f=s,d=o,p=l;u&1<<c&&(h=s,f=a,d=l,p=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(d[c]=-1,p[c]=0):(d[c]=0,p[c]=1)}}function s(t,e){var r=new i(t)\\n\",\n       \";return r.update(e),r}e.exports=s;var l=t(\\\"./lib/text.js\\\"),u=t(\\\"./lib/lines.js\\\"),c=t(\\\"./lib/background.js\\\"),h=t(\\\"./lib/cube.js\\\"),f=t(\\\"./lib/ticks.js\\\"),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),p=i.prototype;p.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=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]}),s=!1,c=!1;if(\\\"bounds\\\"in t)for(var h=t.bounds,d=0;d<2;++d)for(var p=0;p<3;++p)h[d][p]!==this.bounds[d][p]&&(c=!0),this.bounds[d][p]=h[d][p];if(\\\"ticks\\\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(var d=0;d<3;++d)this.tickSpacing[d]=0}else n(\\\"tickSpacing\\\")&&(this.autoTicks=!0,c=!0);if(this._firstInit&&(\\\"ticks\\\"in t||\\\"tickSpacing\\\"in t||(this.autoTicks=!0),c=!0,s=!0,this._firstInit=!1),c&&this.autoTicks&&(r=f.create(this.bounds,this.tickSpacing),s=!0),s){for(var d=0;d<3;++d)r[d].sort(function(t,e){return t.x-e.x});f.equal(r,this.ticks)?s=!1:this.ticks=r}i(\\\"tickEnable\\\"),a(\\\"tickFont\\\")&&(s=!0),n(\\\"tickSize\\\"),n(\\\"tickAngle\\\"),n(\\\"tickPad\\\"),o(\\\"tickColor\\\");var m=a(\\\"labels\\\");a(\\\"labelFont\\\")&&(m=!0),i(\\\"labelEnable\\\"),n(\\\"labelSize\\\"),n(\\\"labelPad\\\"),o(\\\"labelColor\\\"),i(\\\"lineEnable\\\"),i(\\\"lineMirror\\\"),n(\\\"lineWidth\\\"),o(\\\"lineColor\\\"),i(\\\"lineTickEnable\\\"),i(\\\"lineTickMirror\\\"),n(\\\"lineTickLength\\\"),n(\\\"lineTickWidth\\\"),o(\\\"lineTickColor\\\"),i(\\\"gridEnable\\\"),n(\\\"gridWidth\\\"),o(\\\"gridColor\\\"),i(\\\"zeroEnable\\\"),o(\\\"zeroLineColor\\\"),n(\\\"zeroLineWidth\\\"),i(\\\"backgroundEnable\\\"),o(\\\"backgroundColor\\\"),this._text?this._text&&(m||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=l(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&s&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=u(this.gl,this.bounds,this.ticks))};var m=[new a,new a,new a],v=[0,0,0],g={model:d,view:d,projection:d};p.isOpaque=function(){return!0},p.isTransparent=function(){return!1},p.drawTransparent=function(t){};var y=[0,0,0],b=[0,0,0],x=[0,0,0];p.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||d,i=t.view||d,a=t.projection||d,s=this.bounds,l=h(r,i,a,s),u=l.cubeEdges,c=l.axis,f=i[12],p=i[13],_=i[14],w=i[15],M=this.pixelRatio*(a[3]*f+a[7]*p+a[11]*_+a[15]*w)/e.drawingBufferHeight,k=0;k<3;++k)this.lastCubeProps.cubeEdges[k]=u[k],this.lastCubeProps.axis[k]=c[k];for(var A=m,k=0;k<3;++k)o(m[k],k,this.bounds,u,c);for(var e=this.gl,T=v,k=0;k<3;++k)this.backgroundEnable[k]?T[k]=c[k]:T[k]=0;this._background.draw(r,i,a,s,T,this.backgroundColor),this._lines.bind(r,i,a,this);for(var k=0;k<3;++k){var S=[0,0,0];c[k]>0?S[k]=s[1][k]:S[k]=s[0][k];for(var E=0;E<2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.gridEnable[L]&&this._lines.drawGrid(L,C,this.bounds,S,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(var E=0;E<2;++E){var L=(k+1+E)%3,C=(k+1+(1^E))%3;this.zeroEnable[C]&&s[0][C]<=0&&s[1][C]>=0&&this._lines.drawZero(L,C,this.bounds,S,this.zeroLineColor[C],this.zeroLineWidth[C]*this.pixelRatio)}}for(var k=0;k<3;++k){this.lineEnable[k]&&this._lines.drawAxisLine(k,this.bounds,A[k].primalOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio),this.lineMirror[k]&&this._lines.drawAxisLine(k,this.bounds,A[k].mirrorOffset,this.lineColor[k],this.lineWidth[k]*this.pixelRatio);for(var z=n(y,A[k].primalMinor),I=n(b,A[k].mirrorMinor),D=this.lineTickLength,E=0;E<3;++E){var P=M/r[5*E];z[E]*=D[E]*P,I[E]*=D[E]*P}this.lineTickEnable[k]&&this._lines.drawAxisTicks(k,A[k].primalOffset,z,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio),this.lineTickMirror[k]&&this._lines.drawAxisTicks(k,A[k].mirrorOffset,I,this.lineTickColor[k],this.lineTickWidth[k]*this.pixelRatio)}this._text.bind(r,i,a,this.pixelRatio);for(var k=0;k<3;++k){for(var O=A[k].primalMinor,R=n(x,A[k].primalOffset),E=0;E<3;++E)this.lineTickEnable[k]&&(R[E]+=M*O[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[k]){for(var E=0;E<3;++E)R[E]+=M*O[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(k,this.tickSize[k],this.tickAngle[k],R,this.tickColor[k])}if(this.labelEnable[k]){for(var E=0;E<3;++E)R[E]+=M*O[E]*this.labelPad[E]/r[5*E];R[k]+=.5*(s[0][k]+s[1][k]),this._text.drawLabel(k,this.labelSize[k],this.labelAngle[k],R,this.labelColor[k])}}},p.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\\\":148,\\\"./lib/cube.js\\\":149,\\\"./lib/lines.js\\\":150,\\\"./lib/text.js\\\":152,\\\"./lib/ticks.js\\\":153}],148:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}function i(t){for(var e=[],r=[],i=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,h=[0,0,0],f=[0,0,0],d=-1;d<=1;d+=2){r.push(i,i+2,i+1,i+1,i+2,i+3),h[l]=d,f[l]=d;for(var p=-1;p<=1;p+=2){h[u]=p;for(var m=-1;m<=1;m+=2)h[c]=m,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),i+=1}var v=u;u=c,c=v}var g=a(t,new Float32Array(e)),y=a(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),b=o(t,[{buffer:g,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:g,type:t.FLOAT,size:3,offset:12,stride:24}],y),x=s(t);return x.attributes.position.location=0,x.attributes.normal.location=1,new n(t,g,b,x)}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-vao\\\"),s=t(\\\"./shaders\\\").bg,l=n.prototype;l.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[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:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),l.disable(l.POLYGON_OFFSET_FILL)}},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":151,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],149:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}function i(t){for(var e=0;e<m.length;++e)if(t=l.positive(t,m[e]),t.length<3)return 0;for(var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0,e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],u=o[0]/o[3],c=o[1]/o[3],h=s[0]/s[3],f=s[1]/s[3],d=u-n,p=c-i,v=h-n,g=f-i;a+=Math.abs(d*g-p*v)}return a}function a(t,e,r,a){s(c,e,t),s(c,r,c);for(var l=0,m=0;m<2;++m){d[2]=a[m][2];for(var b=0;b<2;++b){d[1]=a[b][1];for(var x=0;x<2;++x)d[0]=a[x][0],n(h[l],d,c),l+=1}}for(var _=-1,m=0;m<8;++m){for(var w=h[m][3],M=0;M<3;++M)f[m][M]=h[m][M]/w;w<0&&(_<0?_=m:f[m][2]<f[_][2]&&(_=m))}if(_<0){_=0;for(var k=0;k<3;++k){for(var A=(k+2)%3,T=(k+1)%3,S=-1,E=-1,L=0;L<2;++L){var C=L<<k,z=C+(L<<A)+(1-L<<T),I=C+(1-L<<A)+(L<<T);u(f[C],f[z],f[I],p)<0||(L?S=1:E=1)}if(S<0||E<0)E>S&&(_|=1<<k);else{for(var L=0;L<2;++L){var C=L<<k,z=C+(L<<A)+(1-L<<T),I=C+(1-L<<A)+(L<<T),D=i([h[C],h[z],h[I],h[C+(1<<A)+(1<<T)]]);L?S=D:E=D}E>S&&(_|=1<<k)}}}for(var P=7^_,O=-1,m=0;m<8;++m)m!==_&&m!==P&&(O<0?O=m:f[O][1]>f[m][1]&&(O=m));for(var R=-1,m=0;m<3;++m){var F=O^1<<m;if(F!==_&&F!==P){R<0&&(R=F);var T=f[F];T[0]<f[R][0]&&(R=F)}}for(var j=-1,m=0;m<3;++m){var F=O^1<<m;if(F!==_&&F!==P&&F!==R){j<0&&(j=F);var T=f[F];T[0]>f[j][0]&&(j=F)}}var N=v;N[0]=N[1]=N[2]=0,N[o.log2(R^O)]=O&R,N[o.log2(O^j)]=O&j;var B=7^j;B===_||B===P?(B=7^R,N[o.log2(j^B)]=B&j):N[o.log2(R^B)]=B&R;for(var U=g,V=_,k=0;k<3;++k)U[k]=V&1<<k?-1:1;return y}e.exports=a;var o=t(\\\"bit-twiddle\\\"),s=t(\\\"gl-mat4/multiply\\\"),l=(t(\\\"gl-mat4/invert\\\"),t(\\\"split-polygon\\\")),u=t(\\\"robust-orientation\\\"),c=new Array(16),h=(new Array(16),new Array(8)),f=new Array(8),d=new Array(3),p=[0,0,0];!function(){for(var t=0;t<8;++t)h[t]=[1,1,1,1],f[t]=[1,1,1]}();var m=[[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]],v=[1,1,1],g=[0,0,0],y={cubeEdges:v,axis:g}},{\\\"bit-twiddle\\\":66,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/multiply\\\":182,\\\"robust-orientation\\\":507,\\\"split-polygon\\\":525}],150:[function(t,e,r){\\\"use strict\\\";function n(t){return t[0]=t[1]=t[2]=0,t}function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}function o(t,e,r){var n=[],i=[0,0,0],o=[0,0,0],c=[0,0,0],h=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var d=n.length/3|0,p=0;p<r[f].length;++p){var m=+r[f][p].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var v=n.length/3|0;i[f]=d,o[f]=v-d;for(var d=n.length/3|0,g=0;g<r[f].length;++g){var m=+r[f][g].x;n.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var v=n.length/3|0;c[f]=d,h[f]=v-d}var y=s(t,new Float32Array(n)),b=l(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),x=u(t);return x.attributes.position.location=0,new a(t,y,b,x,o,i,h,c)}e.exports=o;var s=t(\\\"gl-buffer\\\"),l=t(\\\"gl-vao\\\"),u=t(\\\"./shaders\\\").line,c=[0,0,0],h=[0,0,0],f=[0,0,0],d=[0,0,0],p=[1,1],m=a.prototype;m.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,p[0]=this.gl.drawingBufferWidth,p[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=p,this.vao.bind()},m.drawAxisLine=function(t,e,r,a,o){var s=n(h);this.shader.uniforms.majorAxis=h,s[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=s;var l=i(d,r);l[t]+=e[0][t],this.shader.uniforms.offset=l,this.shader.uniforms.lineWidth=o,this.shader.uniforms.color=a;var u=n(f);u[(t+2)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6);var u=n(f);u[(t+1)%3]=1,this.shader.uniforms.screenAxis=u,this.vao.draw(this.gl.TRIANGLES,6)},m.drawAxisTicks=function(t,e,r,i,a){if(this.tickCount[t]){var o=n(c);o[t]=1,this.shader.uniforms.majorAxis=o,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=i,this.shader.uniforms.lineWidth=a;var s=n(f);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},m.drawGrid=function(t,e,r,a,o,s){if(this.gridCount[t]){var l=n(h);l[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[e]+=r[0][e],this.shader.uniforms.offset=u;var p=n(c);p[t]=1,this.shader.uniforms.majorAxis=p;var m=n(f);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},m.drawZero=function(t,e,r,a,o,s){var l=n(h);this.shader.uniforms.majorAxis=l,l[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=l;var u=i(d,a);u[t]+=r[0][t],this.shader.uniforms.offset=u;var c=n(f);c[e]=1,this.shader.uniforms.screenAxis=c,this.shader.uniforms.lineWidth=s,this.shader.uniforms.color=o,this.vao.draw(this.gl.TRIANGLES,6)},m.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":151,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],151:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\");r.line=function(t){return n(t,\\\"#define GLSLIFY 1\\\\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\\\",\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};r.text=function(t){return n(t,\\\"#define GLSLIFY 1\\\\nattribute vec3 position;\\\\n\\\\nuniform mat4 model, view, projection;\\\\nuniform vec3 offset, axis;\\\\nuniform float scale, angle, pixelScale;\\\\nuniform vec2 resolution;\\\\n\\\\nvoid main() {  \\\\n  //Compute plane offset\\\\n  vec2 planeCoord = position.xy * pixelScale;\\\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\\\n                                -sin(angle), cos(angle));\\\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\\\n\\\\n  //Compute world offset\\\\n  float axisDistance = position.z;\\\\n  vec3 dataPosition = axisDistance * axis + offset;\\\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\\\n  \\\\n  //Compute clip position\\\\n  vec4 viewPosition = view * worldPosition;\\\\n  vec4 clipPosition = projection * viewPosition;\\\\n  clipPosition /= clipPosition.w;\\\\n\\\\n  //Apply text offset in clip coordinates\\\\n  clipPosition += vec4(viewOffset, 0, 0);\\\\n\\\\n  //Done\\\\n  gl_Position = clipPosition;\\\\n}\\\",\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};r.bg=function(t){return n(t,\\\"#define GLSLIFY 1\\\\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  if(dot(normal, enable) > 0.0) {\\\\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\\\\n}\\\",\\\"precision mediump 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}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":254}],152:[function(t,e,r){(function(r){\\\"use strict\\\";function n(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}function i(t,e){try{return l(t,e)}catch(t){return console.warn(\\\"error vectorizing text:\\\",t),{cells:[],positions:[]}}}function a(t,e,r,i,a,l){var c=o(t),h=s(t,[{buffer:c,size:3}]),f=u(t);f.attributes.position.location=0;var d=new n(t,f,c,h);return d.update(e,r,i,a,l),d}e.exports=a;var o=t(\\\"gl-buffer\\\"),s=t(\\\"gl-vao\\\"),l=t(\\\"vectorize-text\\\"),u=t(\\\"./shaders\\\").text,c=window||r.global||{},h=c.__TEXT_CACHE||{};c.__TEXT_CACHE={};var f=n.prototype,d=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,d[0]=this.gl.drawingBufferWidth,d[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=d},f.update=function(t,e,r,n,a){function o(t,e,r,n){var a=h[r];a||(a=h[r]={});var o=a[e];o||(o=a[e]=i(e,{triangles:!0,font:r,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\"}));for(var l=(n||12)/12,u=o.positions,c=o.cells,f=0,d=c.length;f<d;++f)for(var p=c[f],m=2;m>=0;--m){var v=u[p[m]];s.push(l*v[0],-l*v[1],t)}}for(var s=(this.gl,[]),l=[0,0,0],u=[0,0,0],c=[0,0,0],f=[0,0,0],d=0;d<3;++d){c[d]=s.length/3|0,o(.5*(t[0][d]+t[1][d]),e[d],r),f[d]=(s.length/3|0)-c[d],l[d]=s.length/3|0;for(var p=0;p<n[d].length;++p)n[d][p].text&&o(n[d][p].x,n[d][p].text,n[d][p].font||a,n[d][p].fontSize||12);u[d]=(s.length/3|0)-l[d]}this.buffer.update(s),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=f};var p=[0,0,0];f.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=p;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var m=[0,0,0];f.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=m,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},f.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\\\"_process\\\"))},{\\\"./shaders\\\":151,_process:486,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270,\\\"vectorize-text\\\":553}],153:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+\\\"\\\",n=r.indexOf(\\\".\\\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\\\"\\\";if(s.indexOf(\\\"e\\\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\\\"\\\"+l;if(o<0&&(c=\\\"-\\\"+c),i){for(var h=\\\"\\\"+u;h.length<i;)h=\\\"0\\\"+h;return c+\\\".\\\"+h}return c}function i(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r}function a(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 i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}r.create=i,r.equal=a},{}],154:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}function i(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=p,s=m,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,h(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,h(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,c=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+c*c)}return t}function a(t,e,r,n,a){var h=e.model||f,p=e.view||f,m=e.projection||f,y=t.bounds,a=a||l(h,p,m,y),b=a.axis;a.edges;u(d,p,h),u(d,m,d);for(var x=v,_=0;_<3;++_)x[_].lo=1/0,x[_].hi=-1/0,x[_].pixelsPerDataUnit=1/0;var w=o(c(d,d));c(d,d);for(var M=0;M<3;++M){var k=(M+1)%3,A=(M+2)%3,T=g;t:for(var _=0;_<2;++_){var S=[];if(b[M]<0!=!!_){T[M]=y[_][M];for(var E=0;E<2;++E){T[k]=y[E^_][k];for(var L=0;L<2;++L)T[A]=y[L^E^_][A],S.push(T.slice())}for(var E=0;E<w.length;++E){if(0===S.length)continue t;S=s.positive(S,w[E])}for(var E=0;E<S.length;++E)for(var A=S[E],C=i(g,d,A,r,n),L=0;L<3;++L)x[L].lo=Math.min(x[L].lo,A[L]),x[L].hi=Math.max(x[L].hi,A[L]),L!==M&&(x[L].pixelsPerDataUnit=Math.min(x[L].pixelsPerDataUnit,Math.abs(C[L])))}}}return x}e.exports=a;var o=t(\\\"extract-frustum-planes\\\"),s=t(\\\"split-polygon\\\"),l=t(\\\"./lib/cube.js\\\"),u=t(\\\"gl-mat4/multiply\\\"),c=t(\\\"gl-mat4/transpose\\\"),h=t(\\\"gl-vec4/transformMat4\\\"),f=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=new Float32Array(16),p=[0,0,0,1],m=[0,0,0,1],v=[new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0),new n(1/0,-1/0,1/0)],g=[0,0,0]},{\\\"./lib/cube.js\\\":149,\\\"extract-frustum-planes\\\":129,\\\"gl-mat4/multiply\\\":182,\\\"gl-mat4/transpose\\\":190,\\\"gl-vec4/transformMat4\\\":276,\\\"split-polygon\\\":525}],155:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}function i(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\\\"gl-buffer: If resizing buffer, must not specify offset\\\");return t.bufferSubData(e,a,i),r}function a(t,e){for(var r=l.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}function o(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}function s(t,e,r,i){if(r=r||t.ARRAY_BUFFER,i=i||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(i!==t.DYNAMIC_DRAW&&i!==t.STATIC_DRAW&&i!==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(),o=new n(t,r,a,0,i);return o.update(e),o}var l=t(\\\"typedarray-pool\\\"),u=t(\\\"ndarray-ops\\\"),c=t(\\\"ndarray\\\"),h=[\\\"uint8\\\",\\\"uint8_clamped\\\",\\\"uint16\\\",\\\"uint32\\\",\\\"int8\\\",\\\"int16\\\",\\\"int32\\\",\\\"float32\\\"],f=n.prototype;f.bind=function(){this.gl.bindBuffer(this.type,this.handle)},f.unbind=function(){this.gl.bindBuffer(this.type,null)},f.dispose=function(){this.gl.deleteBuffer(this.handle)},f.update=function(t,e){if(\\\"number\\\"!=typeof e&&(e=-1),this.bind(),\\\"object\\\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(h.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&&o(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=i(this.gl,this.type,this.length,this.usage,t.data,e):this.length=i(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=l.malloc(t.size,r),s=c(n,t.shape);u.assign(s,t),this.length=e<0?i(this.gl,this.type,this.length,this.usage,n,e):i(this.gl,this.type,this.length,this.usage,n.subarray(0,t.size),e),l.free(n)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?a(t,\\\"uint16\\\"):a(t,\\\"float32\\\"),this.length=e<0?i(this.gl,this.type,this.length,this.usage,f,e):i(this.gl,this.type,this.length,this.usage,f.subarray(0,t.length),e),l.free(f)}else if(\\\"object\\\"==typeof t&&\\\"number\\\"==typeof t.length)this.length=i(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,t<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=s},{ndarray:466,\\\"ndarray-ops\\\":460,\\\"typedarray-pool\\\":540}],156:[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\\\"}},{}],157:[function(t,e,r){var n=t(\\\"./1.0/numbers\\\");e.exports=function(t){return n[t]}},{\\\"./1.0/numbers\\\":156}],158:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.plot=t,this.shader=e,this.bufferHi=r,this.bufferLo=n,this.bounds=[1/0,1/0,-1/0,-1/0],this.numPoints=0,this.color=[0,0,0,1]}function i(t,e){var r=a(t.gl,l.vertex,l.fragment),i=o(t.gl),s=o(t.gl),u=new n(t,r,i,s);return u.update(e),t.addObject(u),u}var a=t(\\\"gl-shader\\\"),o=t(\\\"gl-buffer\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"./lib/shaders\\\");e.exports=i;var u=[[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]],c=n.prototype;c.draw=function(){var t=new Float32Array([0,0]),e=new Float32Array([0,0]),r=new Float32Array([0,0]),n=new Float32Array([0,0]),i=[1,1];return function(){var a=this.plot,o=this.shader,s=this.bounds,l=this.numPoints;if(l){var c=a.gl,h=a.dataBox,f=a.viewBox,d=a.pixelRatio,p=s[2]-s[0],m=s[3]-s[1],v=h[2]-h[0],g=h[3]-h[1],y=2*p/v,b=2*m/g,x=(s[0]-h[0]-.5*v)/p,_=(s[1]-h[1]-.5*g)/m;t[0]=y,t[1]=b,e[0]=y-t[0],e[1]=b-t[1],r[0]=x,r[1]=_,n[0]=x-r[0],n[1]=_-r[1];var w=f[2]-f[0],M=f[3]-f[1];i[0]=2*d/w,i[1]=2*d/M,o.bind(),o.uniforms.scaleHi=t,o.uniforms.scaleLo=e,o.uniforms.translateHi=r,o.uniforms.translateLo=n,o.uniforms.pixelScale=i,o.uniforms.color=this.color,this.bufferLo.bind(),o.attributes.positionLo.pointer(c.FLOAT,!1,16,0),this.bufferHi.bind(),o.attributes.positionHi.pointer(c.FLOAT,!1,16,0),o.attributes.pixelOffset.pointer(c.FLOAT,!1,16,8),c.drawArrays(c.TRIANGLES,0,l*u.length)}}}(),c.drawPick=function(t){return t},c.pick=function(){return null},c.update=function(t){t=t||{};var e,r,n,i=t.positions||[],a=t.errors||[],o=1;\\\"lineWidth\\\"in t&&(o=+t.lineWidth);var l=5;\\\"capSize\\\"in t&&(l=+t.capSize),this.color=(t.color||[0,0,0,1]).slice();var c=this.bounds=[1/0,1/0,-1/0,-1/0],h=this.numPoints=i.length>>1;for(e=0;e<h;++e)r=i[2*e],n=i[2*e+1],c[0]=Math.min(r,c[0]),c[1]=Math.min(n,c[1]),c[2]=Math.max(r,c[2]),c[3]=Math.max(n,c[3]);c[2]===c[0]&&(c[2]+=1),c[3]===c[1]&&(c[3]+=1);var f=1/(c[2]-c[0]),d=1/(c[3]-c[1]),p=c[0],m=c[1],v=s.mallocFloat64(h*u.length*4),g=s.mallocFloat32(h*u.length*4),y=s.mallocFloat32(h*u.length*4),b=0;for(e=0;e<h;++e){r=i[2*e],n=i[2*e+1];for(var x=a[4*e],_=a[4*e+1],w=a[4*e+2],M=a[4*e+3],k=0;k<u.length;++k){var A=u[k],T=A[0],S=A[1];T<0?T*=x:T>0&&(T*=_),S<0?S*=w:S>0&&(S*=M),v[b++]=f*(r-p+T),v[b++]=d*(n-m+S),v[b++]=o*A[2]+(l+o)*A[4],v[b++]=o*A[3]+(l+o)*A[5]}}for(e=0;e<v.length;e++)g[e]=v[e],y[e]=v[e]-g[e];this.bufferHi.update(g),this.bufferLo.update(y),s.free(v)},c.dispose=function(){this.plot.removeObject(this),this.shader.dispose(),this.bufferHi.dispose(),this.bufferLo.dispose()}},{\\\"./lib/shaders\\\":159,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"typedarray-pool\\\":540}],159:[function(t,e,r){e.exports={\\n\",\n       \"vertex:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 positionHi;\\\\nattribute vec2 positionLo;\\\\nattribute vec2 pixelOffset;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo, pixelScale;\\\\n\\\\nvec2 project(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec3 scrPosition = vec3(\\\\n         project(scaleHi, translateHi, scaleLo, translateLo, positionHi, positionLo),\\\\n         1);\\\\n  gl_Position = vec4(\\\\n    scrPosition.xy + scrPosition.z * pixelScale * pixelOffset,\\\\n    0,\\\\n    scrPosition.z);\\\\n}\\\\n\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\\\n}\\\\n\\\"}},{}],160:[function(t,e,r){\\\"use strict\\\";function n(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}function i(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])}function a(t,e,r,n){for(var i=f[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}function o(t){var e=t.gl,r=s(e),i=l(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}]),a=u(e);a.attributes.position.location=0,a.attributes.color.location=1,a.attributes.offset.location=2;var o=new n(e,r,i,a);return o.update(t),o}e.exports=o;var s=t(\\\"gl-buffer\\\"),l=t(\\\"gl-vao\\\"),u=t(\\\"./shaders/index\\\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=n.prototype;h.isOpaque=function(){return this.opacity>=1},h.isTransparent=function(){return this.opacity<1},h.drawTransparent=h.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||c,i=r.projection=t.projection||c;r.model=t.model||c,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var f=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=(n+e)%3,o=[0,0,0];o[a]=i,r.push(o)}t[e]=r}return t}();h.update=function(t){t=t||{},\\\"lineWidth\\\"in 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])),\\\"opacity\\\"in t&&(this.opacity=t.opacity);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 o=[],s=r.length,l=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var u=0;u<3;++u){this.lineOffset[u]=l;t:for(var c=0;c<s;++c){for(var h=r[c],f=0;f<3;++f)if(isNaN(h[f])||!isFinite(h[f]))continue t;var d=n[c],p=e[u];if(Array.isArray(p[0])&&(p=e[c]),3===p.length&&(p=[p[0],p[1],p[2],1]),!isNaN(d[0][u])&&!isNaN(d[1][u])){if(d[0][u]<0){var m=h.slice();m[u]+=d[0][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,u)}if(d[1][u]>0){var m=h.slice();m[u]+=d[1][u],o.push(h[0],h[1],h[2],p[0],p[1],p[2],p[3],0,0,0,m[0],m[1],m[2],p[0],p[1],p[2],p[3],0,0,0),i(this.bounds,m),l+=2+a(o,m,p,u)}}}this.lineCount[u]=l-this.lineOffset[u]}this.buffer.update(o)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\\\"./shaders/index\\\":162,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],161:[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(\\\"\\\")}},{}],162:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"precision mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec3 clipBounds[2];\\\\nuniform float opacity;\\\\nvarying vec3 fragPosition;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = opacity * fragColor;\\\\n}\\\"]);e.exports=function(t){return i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"offset\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":254,glslify:161}],163:[function(t,e,r){\\\"use strict\\\";function n(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function i(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function a(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);y=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;y[n]=i}}function o(t){switch(t){case p:throw new Error(\\\"gl-fbo: Framebuffer unsupported\\\");case m:throw new Error(\\\"gl-fbo: Framebuffer incomplete attachment\\\");case v:throw new Error(\\\"gl-fbo: Framebuffer incomplete dimensions\\\");case g:throw new Error(\\\"gl-fbo: Framebuffer incomplete missing attachment\\\");default:throw new Error(\\\"gl-fbo: Framebuffer failed for unspecified reason\\\")}}function s(t,e,r,n,i,a){if(!n)return null;var o=d(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function l(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function u(t){var e=n(t.gl),r=t.gl,a=t.handle=r.createFramebuffer(),u=t._shape[0],c=t._shape[1],h=t.color.length,f=t._ext,d=t._useStencil,p=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,a);for(var v=0;v<h;++v)t.color[v]=s(r,u,c,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===h?(t._color_rb=l(r,u,c,r.RGBA4,r.COLOR_ATTACHMENT0),f&&f.drawBuffersWEBGL(y[0])):h>1&&f.drawBuffersWEBGL(y[h]);var g=r.getExtension(\\\"WEBGL_depth_texture\\\");g?d?t.depth=s(r,u,c,g.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p&&(t.depth=s(r,u,c,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):p&&d?t._depth_rb=l(r,u,c,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):p?t._depth_rb=l(r,u,c,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=l(r,u,c,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var b=r.checkFramebufferStatus(r.FRAMEBUFFER);if(b!==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(var 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),i(r,e),o(b)}i(r,e)}function c(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var l=0;l<i;++l)this.color[l]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var c=this,h=[0|e,0|r];Object.defineProperties(h,{0:{get:function(){return c._shape[0]},set:function(t){return c.width=t}},1:{get:function(){return c._shape[1]},set:function(t){return c.height=t}}}),this._shapeVector=h,u(this)}function h(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 a=t.gl,s=a.getParameter(a.MAX_RENDERBUFFER_SIZE);if(e<0||e>s||r<0||r>s)throw new Error(\\\"gl-fbo: Can't resize FBO, invalid dimensions\\\");t._shape[0]=e,t._shape[1]=r;for(var l=n(a),u=0;u<t.color.length;++u)t.color[u].shape=t._shape;t._color_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._color_rb),a.renderbufferStorage(a.RENDERBUFFER,a.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(a.bindRenderbuffer(a.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&a.renderbufferStorage(a.RENDERBUFFER,a.STENCIL_INDEX,t._shape[0],t._shape[1])),a.bindFramebuffer(a.FRAMEBUFFER,t.handle);var c=a.checkFramebufferStatus(a.FRAMEBUFFER);c!==a.FRAMEBUFFER_COMPLETE&&(t.dispose(),i(a,l),o(c)),i(a,l)}}function f(t,e,r,n){p||(p=t.FRAMEBUFFER_UNSUPPORTED,m=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,v=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,g=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\\\"WEBGL_draw_buffers\\\");if(!y&&i&&a(t,i),Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]),\\\"number\\\"!=typeof e)throw new Error(\\\"gl-fbo: Missing shape parameter\\\");var o=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>o||r<0||r>o)throw new Error(\\\"gl-fbo: Parameters are too large for FBO\\\");n=n||{};var s=1;if(\\\"color\\\"in n){if((s=Math.max(0|n.color,0))<0)throw new Error(\\\"gl-fbo: Must specify a nonnegative number of colors\\\");if(s>1){if(!i)throw new Error(\\\"gl-fbo: Multiple draw buffer extension not supported\\\");if(s>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\\\"gl-fbo: Context does not support \\\"+s+\\\" draw buffers\\\")}}var l=t.UNSIGNED_BYTE,u=t.getExtension(\\\"OES_texture_float\\\");if(n.float&&s>0){if(!u)throw new Error(\\\"gl-fbo: Context does not support floating point textures\\\");l=t.FLOAT}else n.preferFloat&&s>0&&u&&(l=t.FLOAT);var h=!0;\\\"depth\\\"in n&&(h=!!n.depth);var f=!1;return\\\"stencil\\\"in n&&(f=!!n.stencil),new c(t,e,r,l,s,h,f,i)}var d=t(\\\"gl-texture2d\\\");e.exports=f;var p,m,v,g,y=null,b=c.prototype;Object.defineProperties(b,{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 h(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return t|=0,h(this,t,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t},enumerable:!1}}),b.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])}},b.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\\\":266}],164:[function(t,e,r){function n(t,e,r){\\\"use strict\\\";var n=o(e)||\\\"of unknown name (see npm glsl-shader-name)\\\",l=\\\"unknown type\\\";void 0!==r&&(l=r===a.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\");for(var u=i(\\\"Error compiling %s shader %s:\\\\n\\\",l,n),c=i(\\\"%s%s\\\",u,t),h=t.split(\\\"\\\\n\\\"),f={},d=0;d<h.length;d++){var p=h[d];if(\\\"\\\"!==p){var m=parseInt(p.split(\\\":\\\")[2]);if(isNaN(m))throw new Error(i(\\\"Could not parse error: %s\\\",p));f[m]=p}}for(var v=s(e).split(\\\"\\\\n\\\"),d=0;d<v.length;d++)if(f[d+3]||f[d+2]||f[d+1]){var g=v[d];if(u+=g+\\\"\\\\n\\\",f[d+1]){var y=f[d+1];y=y.substr(y.split(\\\":\\\",3).join(\\\":\\\").length+1).trim(),u+=i(\\\"^^^ %s\\\\n\\\\n\\\",y)}}return{long:u.trim(),short:c.trim()}}var i=t(\\\"sprintf-js\\\").sprintf,a=t(\\\"gl-constants/lookup\\\"),o=t(\\\"glsl-shader-name\\\"),s=t(\\\"add-line-numbers\\\");e.exports=n},{\\\"add-line-numbers\\\":39,\\\"gl-constants/lookup\\\":157,\\\"glsl-shader-name\\\":278,\\\"sprintf-js\\\":526}],165:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}function i(t,e){var r=t.gl,i=l(r,c.vertex,c.fragment),a=l(r,c.pickVertex,c.pickFragment),o=u(r),s=u(r),h=u(r),f=u(r),d=new n(t,i,a,o,s,h,f);return d.update(e),t.addObject(d),d}e.exports=i;var a=t(\\\"binary-search-bounds\\\"),o=t(\\\"iota-array\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"gl-shader\\\"),u=t(\\\"gl-buffer\\\"),c=t(\\\"./lib/shaders\\\"),h=n.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];h.draw=function(){var t=[1,0,0,0,1,0,0,0,1];return function(){var e=this.plot,r=this.shader,n=this.bounds,i=this.numVertices;if(!(i<=0)){var a=e.gl,o=e.dataBox,s=n[2]-n[0],l=n[3]-n[1],u=o[2]-o[0],c=o[3]-o[1];t[0]=2*s/u,t[4]=2*l/c,t[6]=2*(n[0]-o[0])/u-1,t[7]=2*(n[1]-o[1])/c-1,r.bind();var h=r.uniforms;h.viewTransform=t,h.shape=this.shape;var f=r.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,i)}}}(),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,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,u=a[2]-a[0],c=a[3]-a[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*u/h,t[4]=2*c/f,t[6]=2*(a[0]-l[0])/h-1,t[7]=2*(a[1]-l[1])/f-1;for(var d=0;d<4;++d)e[d]=r>>8*d&255;this.pickOffset=r,i.bind();var p=i.uniforms;p.viewTransform=t,p.pickOffset=e,p.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.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,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},h.update=function(t){t=t||{};var e=t.shape||[0,0],r=t.x||o(e[0]),n=t.y||o(e[1]),i=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var l=t.colorLevels||[0],u=t.colorValues||[0,0,0,1],c=l.length,h=this.bounds,d=h[0]=r[0],p=h[1]=n[0],m=h[2]=r[r.length-1],v=h[3]=n[n.length-1],g=1/(m-d),y=1/(v-p),b=e[0],x=e[1];this.shape=[b,x];var _=(b-1)*(x-1)*(f.length>>>1);this.numVertices=_;for(var w=s.mallocUint8(4*_),M=s.mallocFloat32(2*_),k=s.mallocUint8(2*_),A=s.mallocUint32(_),T=0,S=0;S<x-1;++S)for(var E=y*(n[S]-p),L=y*(n[S+1]-p),C=0;C<b-1;++C)for(var z=g*(r[C]-d),I=g*(r[C+1]-d),D=0;D<f.length;D+=2){var P,O,R,F,j=f[D],N=f[D+1],B=(S+N)*b+(C+j),U=i[B],V=a.le(l,U);if(V<0)P=u[0],O=u[1],R=u[2],F=u[3];else if(V===c-1)P=u[4*c-4],O=u[4*c-3],R=u[4*c-2],F=u[4*c-1];else{var H=(U-l[V])/(l[V+1]-l[V]),q=1-H,G=4*V,Y=4*(V+1);P=q*u[G]+H*u[Y],O=q*u[G+1]+H*u[Y+1],R=q*u[G+2]+H*u[Y+2],F=q*u[G+3]+H*u[Y+3]}w[4*T]=255*P,w[4*T+1]=255*O,w[4*T+2]=255*R,w[4*T+3]=255*F,M[2*T]=.5*z+.5*I,M[2*T+1]=.5*E+.5*L,k[2*T]=j,k[2*T+1]=N,A[T]=S*b+C,T+=1}this.positionBuffer.update(M),this.weightBuffer.update(k),this.colorBuffer.update(w),this.idBuffer.update(A),s.free(M),s.free(w),s.free(k),s.free(A)},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\\\":166,\\\"binary-search-bounds\\\":167,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"iota-array\\\":292,\\\"typedarray-pool\\\":540}],166:[function(t,e,r){\\\"use strict\\\";e.exports={fragment:\\\"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:\\\"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:\\\"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:\\\"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\\\"}},{}],167:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],168:[function(t,e,r){r.lineVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo, dHi, dLo;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\\\nuniform float width;\\\\n\\\\nvarying vec2 direction;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvec2 project_2_1(vec2 scHi, vec2 scLo, vec2 posHi, vec2 posLo) {\\\\n  return scHi * posHi\\\\n       + scLo * posHi\\\\n       + scHi * posLo\\\\n       + scLo * posLo;\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  vec2 dir = project_2_1(scaleHi, scaleLo, dHi, dLo);\\\\n  vec2 n = 0.5 * width * normalize(screenShape.yx * vec2(dir.y, -dir.x)) / screenShape.xy;\\\\n  vec2 tangent = normalize(screenShape.xy * dir);\\\\n  if(dir.x < 0.0 || (dir.x == 0.0 && dir.y < 0.0)) {\\\\n    direction = -tangent;\\\\n  } else {\\\\n    direction = tangent;\\\\n  }\\\\n  gl_Position = vec4(p + n, 0.0, 1.0);\\\\n}\\\",r.lineFragment=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\nuniform vec2 screenShape;\\\\nuniform sampler2D dashPattern;\\\\nuniform float dashLength;\\\\n\\\\nvarying vec2 direction;\\\\n\\\\nvoid main() {\\\\n  float t = fract(dot(direction, gl_FragCoord.xy) / dashLength);\\\\n  vec4 pcolor = color * texture2D(dashPattern, vec2(t, 0.0)).r;\\\\n  gl_FragColor = vec4(pcolor.rgb * pcolor.a, pcolor.a);\\\\n}\\\",r.mitreVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo;\\\\nuniform float radius;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  gl_Position = vec4(p, 0.0, 1.0);\\\\n  gl_PointSize = radius;\\\\n}\\\",r.mitreFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  if(length(gl_PointCoord.xy - 0.5) > 0.25) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(color.rgb, color.a);\\\\n}\\\",r.pickVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo, dHi;\\\\nattribute vec4 pick0, pick1;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, screenShape;\\\\nuniform float width;\\\\n\\\\nvarying vec4 pickA, pickB;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  vec2 n = width * normalize(screenShape.yx * vec2(dHi.y, -dHi.x)) / screenShape.xy;\\\\n  gl_Position = vec4(p + n, 0, 1);\\\\n  pickA = pick0;\\\\n  pickB = pick1;\\\\n}\\\",r.pickFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 pickOffset;\\\\n\\\\nvarying vec4 pickA, pickB;\\\\n\\\\nvoid main() {\\\\n  vec4 fragId = vec4(pickA.xyz, 0.0);\\\\n  if(pickB.w > pickA.w) {\\\\n    fragId.xyz = pickB.xyz;\\\\n  }\\\\n\\\\n  fragId += pickOffset;\\\\n\\\\n  fragId.y += floor(fragId.x / 256.0);\\\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\\\n\\\\n  fragId.z += floor(fragId.y / 256.0);\\\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\\\n\\\\n  fragId.w += floor(fragId.z / 256.0);\\\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\\\n\\\\n  gl_FragColor = fragId / 255.0;\\\\n}\\\",r.fillVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 aHi, aLo, dHi;\\\\n\\\\nuniform vec2 scaleHi, translateHi, scaleLo, translateLo, projectAxis;\\\\nuniform float projectValue, depth;\\\\n\\\\n\\\\nvec2 project_1_0(vec2 scHi, vec2 trHi, vec2 scLo, vec2 trLo, vec2 posHi, vec2 posLo) {\\\\n  return (posHi + trHi) * scHi\\\\n       + (posLo + trLo) * scHi\\\\n       + (posHi + trHi) * scLo\\\\n       + (posLo + trLo) * scLo;\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec2 p = project_1_0(scaleHi, translateHi, scaleLo, translateLo, aHi, aLo);\\\\n  if(dHi.y < 0.0 || (dHi.y == 0.0 && dHi.x < 0.0)) {\\\\n    if(dot(p, projectAxis) < projectValue) {\\\\n      p = p * (1.0 - abs(projectAxis)) + projectAxis * projectValue;\\\\n    }\\\\n  }\\\\n  gl_Position = vec4(p, depth, 1);\\\\n}\\\",r.fillFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(color.rgb * color.a, color.a);\\\\n}\\\"},{}],169:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l){this.plot=t,this.dashPattern=e,this.lineBufferHi=r,this.lineBufferLo=n,this.pickBuffer=i,this.lineShader=a,this.mitreShader=o,this.fillShader=s,this.pickShader=l,this.usingDashes=!1,this.bounds=[1/0,1/0,-1/0,-1/0],this.width=1,this.color=[0,0,1,1],this.fill=[!1,!1,!1,!1],this.fillColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.data=null,this.numPoints=0,this.vertCount=0,this.pickOffset=0}function i(t){return t.map(function(t){return t.slice()})}function a(t,e){var r=t.gl,i=s(r),a=s(r),u=s(r),c=l(r,[1,1]),f=o(r,h.lineVertex,h.lineFragment),d=o(r,h.mitreVertex,h.mitreFragment),p=o(r,h.fillVertex,h.fillFragment),m=o(r,h.pickVertex,h.pickFragment),v=new n(t,c,i,a,u,f,d,p,m);return t.addObject(v),v.update(e),v}e.exports=a;var o=t(\\\"gl-shader\\\"),s=t(\\\"gl-buffer\\\"),l=t(\\\"gl-texture2d\\\"),u=t(\\\"ndarray\\\"),c=t(\\\"typedarray-pool\\\"),h=t(\\\"./lib/shaders\\\"),f=n.prototype;f.setProjectionModel=function(){var t={scaleHi:new Float32Array([0,0]),scaleLo:new Float32Array([0,0]),translateHi:new Float32Array([0,0]),translateLo:new Float32Array([0,0]),screenShape:[0,0]};return function(){var e=this.bounds,r=this.plot.viewBox,n=this.plot.dataBox,i=e[2]-e[0],a=e[3]-e[1],o=n[2]-n[0],s=n[3]-n[1],l=r[2]-r[0],u=r[3]-r[1],c=2*i/o,h=2*a/s,f=(e[0]-n[0]-.5*o)/i,d=(e[1]-n[1]-.5*s)/a;return t.scaleHi[0]=c,t.scaleHi[1]=h,t.scaleLo[0]=c-t.scaleHi[0],t.scaleLo[1]=h-t.scaleHi[1],t.translateHi[0]=f,t.translateHi[1]=d,t.translateLo[0]=f-t.translateHi[0],t.translateLo[1]=d-t.translateHi[1],t.screenShape[0]=l,t.screenShape[1]=u,t}}(),f.setProjectionUniforms=function(t,e){t.scaleHi=e.scaleHi,t.scaleLo=e.scaleLo,t.translateHi=e.translateHi,t.translateLo=e.translateLo,t.screenShape=e.screenShape},f.draw=function(){var t=[1,0],e=[-1,0],r=[0,1],n=[0,-1];return function(){var i=this.vertCount;if(i){var a=this.setProjectionModel(),o=this.plot,s=this.width,l=o.gl,u=o.pixelRatio,c=this.color,h=this.fillShader.attributes;this.lineBufferLo.bind(),h.aLo.pointer(l.FLOAT,!1,16,0),this.lineBufferHi.bind();var f=this.fill;if(f[0]||f[1]||f[2]||f[3]){var d=this.fillShader;d.bind();var p=d.uniforms;this.setProjectionUniforms(p,a),p.depth=o.nextDepthValue(),h.aHi.pointer(l.FLOAT,!1,16,0),h.dHi.pointer(l.FLOAT,!1,16,8),l.depthMask(!0),l.enable(l.DEPTH_TEST);var m=this.fillColor;f[0]&&(p.color=m[0],p.projectAxis=e,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[1]&&(p.color=m[1],p.projectAxis=n,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[2]&&(p.color=m[2],p.projectAxis=t,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),f[3]&&(p.color=m[3],p.projectAxis=r,p.projectValue=1,l.drawArrays(l.TRIANGLES,0,i)),l.depthMask(!1),l.disable(l.DEPTH_TEST)}var v=this.lineShader;v.bind(),this.lineBufferLo.bind(),v.attributes.aLo.pointer(l.FLOAT,!1,16,0),v.attributes.dLo.pointer(l.FLOAT,!1,16,8),this.lineBufferHi.bind();var g=v.uniforms;this.setProjectionUniforms(g,a),g.color=c,g.width=s*u,g.dashPattern=this.dashPattern.bind(),g.dashLength=this.dashLength*u;var y=v.attributes;if(y.aHi.pointer(l.FLOAT,!1,16,0),y.dHi.pointer(l.FLOAT,!1,16,8),l.drawArrays(l.TRIANGLES,0,i),s>2&&!this.usingDashes){var b=this.mitreShader;this.lineBufferLo.bind(),b.attributes.aLo.pointer(l.FLOAT,!1,48,0),this.lineBufferHi.bind(),b.bind();var x=b.uniforms;this.setProjectionUniforms(x,a),x.color=c,x.radius=s*u,b.attributes.aHi.pointer(l.FLOAT,!1,48,0),l.drawArrays(l.POINTS,0,i/3|0)}}}}(),f.drawPick=function(){var t=[0,0,0,0];return function(e){var r=this.vertCount,n=this.numPoints;if(this.pickOffset=e,!r)return e+n;var i=this.setProjectionModel(),a=this.plot,o=this.width,s=a.gl,l=a.pickPixelRatio,u=this.pickShader,c=this.pickBuffer;t[0]=255&e,t[1]=e>>>8&255,t[2]=e>>>16&255,t[3]=e>>>24,u.bind();var h=u.uniforms;this.setProjectionUniforms(h,i),h.width=o*l,h.pickOffset=t;var f=u.attributes;return this.lineBufferHi.bind(),f.aHi.pointer(s.FLOAT,!1,16,0),f.dHi.pointer(s.FLOAT,!1,16,8),this.lineBufferLo.bind(),f.aLo.pointer(s.FLOAT,!1,16,0),c.bind(),f.pick0.pointer(s.UNSIGNED_BYTE,!1,8,0),f.pick1.pointer(s.UNSIGNED_BYTE,!1,8,4),s.drawArrays(s.TRIANGLES,0,r),e+n}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.numPoints;if(r<n||r>=n+i)return null;var a=r-n,o=this.data;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},f.update=function(t){t=t||{};var e,r,n,a,o,s=this.plot.gl;this.color=(t.color||[0,0,1,1]).slice(),this.width=+(t.width||1),this.fill=(t.fill||[!1,!1,!1,!1]).slice(),this.fillColor=i(t.fillColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var h=t.dashes||[1],f=0;for(e=0;e<h.length;++e)f+=h[e];var d=c.mallocUint8(f);n=0;var p=255;for(e=0;e<h.length;++e){for(r=0;r<h[e];++r)d[n++]=p;p^=255}this.dashPattern.dispose(),this.usingDashes=h.length>1,this.dashPattern=l(s,u(d,[f,1,4],[1,0,0])),this.dashPattern.minFilter=s.NEAREST,this.dashPattern.magFilter=s.NEAREST,this.dashLength=f,c.free(d);var m=t.positions;this.data=m;var v=this.bounds;v[0]=v[1]=1/0,v[2]=v[3]=-1/0;var g=this.numPoints=m.length>>>1;if(0!==g){for(e=0;e<g;++e)a=m[2*e],o=m[2*e+1],isNaN(a)||isNaN(o)||(v[0]=Math.min(v[0],a),v[1]=Math.min(v[1],o),v[2]=Math.max(v[2],a),v[3]=Math.max(v[3],o));v[0]===v[2]&&(v[2]+=1),v[3]===v[1]&&(v[3]+=1);var y=c.mallocFloat64(24*(g-1)),b=c.mallocFloat32(24*(g-1)),x=c.mallocFloat32(24*(g-1)),_=c.mallocUint32(12*(g-1)),w=b.length,M=_.length;n=g;for(var k=0;n>1;){var A=--n;a=m[2*n],o=m[2*n+1];var T=A-1,S=m[2*T],E=m[2*T+1];if(!(isNaN(a)||isNaN(o)||isNaN(S)||isNaN(E))){k+=1,a=(a-v[0])/(v[2]-v[0]),o=(o-v[1])/(v[3]-v[1]),S=(S-v[0])/(v[2]-v[0]),E=(E-v[1])/(v[3]-v[1]);var L=S-a,C=E-o,z=A|1<<24,I=A-1,D=A,P=A-1|1<<24;y[--w]=-C,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=z,_[--M]=I,y[--w]=C,y[--w]=L,y[--w]=E,y[--w]=S,_[--M]=D,_[--M]=P,y[--w]=-C,y[--w]=-L,y[--w]=E,y[--w]=S,_[--M]=D,_[--M]=P,y[--w]=C,y[--w]=L,y[--w]=E,y[--w]=S,_[--M]=D,_[--M]=P,y[--w]=-C,y[--w]=-L,y[--w]=o,y[--w]=a,_[--M]=z,_[--M]=I,y[--w]=C,y[--w]=L,y[--w]=o,y[--w]=a,_[--M]=z,_[--M]=I}}for(e=0;e<y.length;e++)b[e]=y[e],x[e]=y[e]-b[e];this.vertCount=6*k,this.lineBufferHi.update(b.subarray(w)),this.lineBufferLo.update(x.subarray(w)),this.pickBuffer.update(_.subarray(M)),c.free(y),c.free(b),c.free(x),c.free(_)}},f.dispose=function(){this.plot.removeObject(this),this.lineBufferLo.dispose(),this.lineBufferHi.dispose(),this.pickBuffer.dispose(),this.lineShader.dispose(),this.mitreShader.dispose(),this.fillShader.dispose(),this.pickShader.dispose(),this.dashPattern.dispose()}},{\\\"./lib/shaders\\\":168,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"gl-texture2d\\\":266,ndarray:466,\\\"typedarray-pool\\\":540}],170:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=\\\"precision mediump 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\\\\nvoid main() {\\\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\\\n\\\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\\\n\\\\n  worldPosition = position;\\\\n  pixelArcLength = arcLength;\\\\n  fragColor = color;\\\\n}\\\\n\\\",a=[{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 n(t,i,\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\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\\\",null,a)},r.createPickShader=function(t){return n(t,i,\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\n#define FLOAT_MAX  1.70141184e38\\\\n#define FLOAT_MIN  1.17549435e-38\\\\n\\\\nlowp vec4 encode_float_1_0(highp float v) {\\\\n  highp 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  highp vec4 c = vec4(0,0,0,0);\\\\n\\\\n  //Compute exponent and mantissa\\\\n  highp float e = floor(log2(av));\\\\n  highp 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  highp 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\\\\n\\\\n\\\\nuniform float pickId;\\\\nuniform vec3 clipBounds[2];\\\\n\\\\nvarying vec3 worldPosition;\\\\nvarying float pixelArcLength;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1_0(pixelArcLength).xyz);\\\\n}\\\",null,a)}},{\\\"gl-shader\\\":254}],171:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function i(t){\\n\",\n       \"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 a(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function o(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}function s(t){var e=t.gl||t.scene&&t.scene.gl,r=m(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 n=v(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=l(e),a=u(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),s=d(new Array(1024),[256,1,4]),h=0;h<1024;++h)s.data[h]=255;var f=c(e,s);f.wrap=e.REPEAT;var p=new o(e,r,n,i,a,f);return p.update(t),p}e.exports=s;var l=t(\\\"gl-buffer\\\"),u=t(\\\"gl-vao\\\"),c=t(\\\"gl-texture2d\\\"),h=t(\\\"glsl-read-float\\\"),f=t(\\\"binary-search-bounds\\\"),d=t(\\\"ndarray\\\"),p=t(\\\"./lib/shaders\\\"),m=p.createShader,v=p.createPickShader,g=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],y=o.prototype;y.isTransparent=function(){return this.opacity<1},y.isOpaque=function(){return this.opacity>=1},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,clipBounds:i(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)},y.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||g,view:t.view||g,projection:t.projection||g,pickId:this.pickId,clipBounds:i(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount)},y.update=function(t){var e,r;this.dirty=!0;var i=!!t.connectGaps;\\\"dashScale\\\"in t&&(this.dashScale=t.dashScale),\\\"opacity\\\"in t&&(this.opacity=+t.opacity);var a=t.position||t.positions;if(a){var o=t.color||t.colors||[0,0,0,1],s=t.lineWidth||1,l=[],u=[],c=[],h=0,p=0,m=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],v=!1;t:for(e=1;e<a.length;++e){var g=a[e-1],y=a[e];for(u.push(h),c.push(g.slice()),r=0;r<3;++r){if(isNaN(g[r])||isNaN(y[r])||!isFinite(g[r])||!isFinite(y[r])){if(!i&&l.length>0){for(var b=0;b<24;++b)l.push(l[l.length-12]);p+=2,v=!0}continue t}m[0][r]=Math.min(m[0][r],g[r],y[r]),m[1][r]=Math.max(m[1][r],g[r],y[r])}var x,_;Array.isArray(o[0])?(x=o[e-1],_=o[e]):x=_=o,3===x.length&&(x=[x[0],x[1],x[2],1]),3===_.length&&(_=[_[0],_[1],_[2],1]);var w;w=Array.isArray(s)?s[e-1]:s;var M=h;if(h+=n(g,y),v){for(r=0;r<2;++r)l.push(g[0],g[1],g[2],y[0],y[1],y[2],M,w,x[0],x[1],x[2],x[3]);p+=2,v=!1}l.push(g[0],g[1],g[2],y[0],y[1],y[2],M,w,x[0],x[1],x[2],x[3],g[0],g[1],g[2],y[0],y[1],y[2],M,-w,x[0],x[1],x[2],x[3],y[0],y[1],y[2],g[0],g[1],g[2],h,-w,_[0],_[1],_[2],_[3],y[0],y[1],y[2],g[0],g[1],g[2],h,w,_[0],_[1],_[2],_[3]),p+=4}if(this.buffer.update(l),u.push(h),c.push(a[a.length-1].slice()),this.bounds=m,this.vertexCount=p,this.points=c,this.arcLength=u,\\\"dashes\\\"in t){var k=t.dashes,A=k.slice();for(A.unshift(0),e=1;e<A.length;++e)A[e]=A[e-1]+A[e];var T=d(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)T.set(e,0,r,0);1&f.le(A,A[A.length-1]*e/255)?T.set(e,0,0,0):T.set(e,0,0,255)}this.texture.setPixels(T)}}},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=h(t.value[0],t.value[1],t.value[2],0),r=f.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new a(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],o=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),s=1-o,l=[0,0,0],u=0;u<3;++u)l[u]=s*n[u]+o*i[u];var c=Math.min(o<.5?r:r+1,this.points.length-1);return new a(e,l,c,this.points[c])}},{\\\"./lib/shaders\\\":170,\\\"binary-search-bounds\\\":65,\\\"gl-buffer\\\":155,\\\"gl-texture2d\\\":266,\\\"gl-vao\\\":270,\\\"glsl-read-float\\\":277,ndarray:466}],172:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}e.exports=n},{}],173:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null}e.exports=n},{}],174:[function(t,e,r){function n(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}e.exports=n},{}],175:[function(t,e,r){function n(){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}e.exports=n},{}],176:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],m=t[14],v=t[15];return(e*o-r*a)*(h*v-f*m)-(e*s-n*a)*(c*v-f*p)+(e*l-i*a)*(c*m-h*p)+(r*s-n*o)*(u*v-f*d)-(r*l-i*o)*(u*m-h*d)+(n*l-i*s)*(u*p-c*d)}e.exports=n},{}],177:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,v=a*s,g=a*l;return t[0]=1-h-p,t[1]=c+g,t[2]=f-v,t[3]=0,t[4]=c-g,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=f+v,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}e.exports=n},{}],178:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,m=a*u,v=o*s,g=o*l,y=o*u;return t[0]=1-(d+m),t[1]=h+y,t[2]=f-g,t[3]=0,t[4]=h-y,t[5]=1-(c+m),t[6]=p+v,t[7]=0,t[8]=f+g,t[9]=p-v,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}e.exports=n},{}],179:[function(t,e,r){function n(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}e.exports=n},{}],180:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,k=c*m-h*p,A=c*v-f*p,T=c*g-d*p,S=h*v-f*m,E=h*g-d*m,L=f*g-d*v,C=y*L-b*E+x*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(m*M-v*w+g*_)*C,t[3]=(f*w-h*M-d*_)*C,t[4]=(l*T-o*L-u*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(v*x-p*M-g*b)*C,t[7]=(c*M-f*x+d*b)*C,t[8]=(o*E-s*T+u*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*x+g*y)*C,t[11]=(h*x-c*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*b-p*_-v*y)*C,t[15]=(c*_-h*b+f*y)*C,t):null}e.exports=n},{}],181:[function(t,e,r){function n(t,e,r,n){var a,o,s,l,u,c,h,f,d,p,m=e[0],v=e[1],g=e[2],y=n[0],b=n[1],x=n[2],_=r[0],w=r[1],M=r[2];return Math.abs(m-_)<1e-6&&Math.abs(v-w)<1e-6&&Math.abs(g-M)<1e-6?i(t):(h=m-_,f=v-w,d=g-M,p=1/Math.sqrt(h*h+f*f+d*d),h*=p,f*=p,d*=p,a=b*d-x*f,o=x*h-y*d,s=y*f-b*h,p=Math.sqrt(a*a+o*o+s*s),p?(p=1/p,a*=p,o*=p,s*=p):(a=0,o=0,s=0),l=f*s-d*o,u=d*a-h*s,c=h*o-f*a,p=Math.sqrt(l*l+u*u+c*c),p?(p=1/p,l*=p,u*=p,c*=p):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=u,t[6]=f,t[7]=0,t[8]=s,t[9]=c,t[10]=d,t[11]=0,t[12]=-(a*m+o*v+s*g),t[13]=-(l*m+u*v+c*g),t[14]=-(h*m+f*v+d*g),t[15]=1,t)}var i=t(\\\"./identity\\\");e.exports=n},{\\\"./identity\\\":179}],182:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],m=e[12],v=e[13],g=e[14],y=e[15],b=r[0],x=r[1],_=r[2],w=r[3];return t[0]=b*n+x*s+_*h+w*m,t[1]=b*i+x*l+_*f+w*v,t[2]=b*a+x*u+_*d+w*g,t[3]=b*o+x*c+_*p+w*y,b=r[4],x=r[5],_=r[6],w=r[7],t[4]=b*n+x*s+_*h+w*m,t[5]=b*i+x*l+_*f+w*v,t[6]=b*a+x*u+_*d+w*g,t[7]=b*o+x*c+_*p+w*y,b=r[8],x=r[9],_=r[10],w=r[11],t[8]=b*n+x*s+_*h+w*m,t[9]=b*i+x*l+_*f+w*v,t[10]=b*a+x*u+_*d+w*g,t[11]=b*o+x*c+_*p+w*y,b=r[12],x=r[13],_=r[14],w=r[15],t[12]=b*n+x*s+_*h+w*m,t[13]=b*i+x*l+_*f+w*v,t[14]=b*a+x*u+_*d+w*g,t[15]=b*o+x*c+_*p+w*y,t}e.exports=n},{}],183:[function(t,e,r){function n(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}e.exports=n},{}],184:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_,w,M,k,A,T,S,E=n[0],L=n[1],C=n[2],z=Math.sqrt(E*E+L*L+C*C);return Math.abs(z)<1e-6?null:(z=1/z,E*=z,L*=z,C*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],u=e[2],c=e[3],h=e[4],f=e[5],d=e[6],p=e[7],m=e[8],v=e[9],g=e[10],y=e[11],b=E*E*o+a,x=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,M=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,T=L*C*o-E*i,S=C*C*o+a,t[0]=s*b+h*x+m*_,t[1]=l*b+f*x+v*_,t[2]=u*b+d*x+g*_,t[3]=c*b+p*x+y*_,t[4]=s*w+h*M+m*k,t[5]=l*w+f*M+v*k,t[6]=u*w+d*M+g*k,t[7]=c*w+p*M+y*k,t[8]=s*A+h*T+m*S,t[9]=l*A+f*T+v*S,t[10]=u*A+d*T+g*S,t[11]=c*A+p*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}e.exports=n},{}],185:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t}e.exports=n},{}],186:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return 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]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t}e.exports=n},{}],187:[function(t,e,r){function n(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t}e.exports=n},{}],188:[function(t,e,r){function n(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}e.exports=n},{}],189:[function(t,e,r){function n(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,m=r[0],v=r[1],g=r[2];return e===t?(t[12]=e[0]*m+e[4]*v+e[8]*g+e[12],t[13]=e[1]*m+e[5]*v+e[9]*g+e[13],t[14]=e[2]*m+e[6]*v+e[10]*g+e[14],t[15]=e[3]*m+e[7]*v+e[11]*g+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*m+s*v+h*g+e[12],t[13]=i*m+l*v+f*g+e[13],t[14]=a*m+u*v+d*g+e[14],t[15]=o*m+c*v+p*g+e[15]),t}e.exports=n},{}],190:[function(t,e,r){function n(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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}e.exports=n},{}],191:[function(t,e,r){\\\"use strict\\\";function n(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:i(t,e);break;case 9:a(t,e);break;case 16:o(t,e);break;default:throw new Error(\\\"currently supports matrices up to 4x4\\\")}return t}e.exports=n;var i=t(\\\"gl-mat2/invert\\\"),a=t(\\\"gl-mat3/invert\\\"),o=t(\\\"gl-mat4/invert\\\")},{\\\"gl-mat2/invert\\\":172,\\\"gl-mat3/invert\\\":173,\\\"gl-mat4/invert\\\":180}],192:[function(t,e,r){r.glMatrix=t(\\\"./gl-matrix/common.js\\\"),r.mat2=t(\\\"./gl-matrix/mat2.js\\\"),r.mat2d=t(\\\"./gl-matrix/mat2d.js\\\"),r.mat3=t(\\\"./gl-matrix/mat3.js\\\"),r.mat4=t(\\\"./gl-matrix/mat4.js\\\"),r.quat=t(\\\"./gl-matrix/quat.js\\\"),r.vec2=t(\\\"./gl-matrix/vec2.js\\\"),r.vec3=t(\\\"./gl-matrix/vec3.js\\\"),r.vec4=t(\\\"./gl-matrix/vec4.js\\\")},{\\\"./gl-matrix/common.js\\\":193,\\\"./gl-matrix/mat2.js\\\":194,\\\"./gl-matrix/mat2d.js\\\":195,\\\"./gl-matrix/mat3.js\\\":196,\\\"./gl-matrix/mat4.js\\\":197,\\\"./gl-matrix/quat.js\\\":198,\\\"./gl-matrix/vec2.js\\\":199,\\\"./gl-matrix/vec3.js\\\":200,\\\"./gl-matrix/vec4.js\\\":201}],193:[function(t,e,r){var n={};n.EPSILON=1e-6,n.ARRAY_TYPE=\\\"undefined\\\"!=typeof Float32Array?Float32Array:Array,n.RANDOM=Math.random,n.ENABLE_SIMD=!1,n.SIMD_AVAILABLE=n.ARRAY_TYPE===Float32Array&&\\\"SIMD\\\"in this,n.USE_SIMD=n.ENABLE_SIMD&&n.SIMD_AVAILABLE,n.setMatrixArrayType=function(t){n.ARRAY_TYPE=t};var i=Math.PI/180;n.toRadian=function(t){return t*i},n.equals=function(t,e){return Math.abs(t-e)<=n.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},e.exports=n},{}],194:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.transpose=function(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null},i.adjoint=function(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t},i.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*s+a*l,t[1]=i*s+o*l,t[2]=n*u+a*c,t[3]=i*u+o*c,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},i.str=function(t){return\\\"mat2(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},i.LDU=function(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},i.multiplyScalar=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},i.multiplyScalarAndAdd=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},e.exports=i},{\\\"./common.js\\\":193}],195:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(6);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},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},i.fromValues=function(t,e,r,i,a,o){var s=new n.ARRAY_TYPE(6);return s[0]=t,s[1]=e,s[2]=r,s[3]=i,s[4]=a,s[5]=o,s},i.set=function(t,e,r,n,i,a,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=r*a-n*i;return l?(l=1/l,t[0]=a*l,t[1]=-n*l,t[2]=-i*l,t[3]=r*l,t[4]=(i*s-a*o)*l,t[5]=(n*o-r*s)*l,t):null},i.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1],h=r[2],f=r[3],d=r[4],p=r[5];return t[0]=n*u+a*c,t[1]=i*u+o*c,t[2]=n*h+a*f,t[3]=i*h+o*f,t[4]=n*d+a*p+s,t[5]=i*d+o*p+l,t},i.mul=i.multiply,i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*u,t[1]=i*c+o*u,t[2]=n*-u+a*c,t[3]=i*-u+o*c,t[4]=s,t[5]=l,t},i.scale=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n*u,t[1]=i*u,t[2]=a*c,t[3]=o*c,t[4]=s,t[5]=l,t},i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=r[0],c=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=n*u+a*c+s,t[5]=i*u+o*c+l,t},i.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},i.str=function(t){return\\\"mat2d(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\", \\\"+t[4]+\\\", \\\"+t[5]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=e[0],c=e[1],h=e[2],f=e[3],d=e[4],p=e[5];return Math.abs(r-u)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(i-c)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(a-h)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(o-f)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(s-d)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(l-p)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},e.exports=i},{\\\"./common.js\\\":193}],196:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},i.clone=function(t){var e=new n.ARRAY_TYPE(9);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},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromValues=function(t,e,r,i,a,o,s,l,u){var c=new n.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=r,c[3]=i,c[4]=a,c[5]=o,c[6]=s,c[7]=l,c[8]=u,c},i.set=function(t,e,r,n,i,a,o,s,l,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t},i.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},i.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,d=u*a-o*l,p=r*h+n*f+i*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*n+i*u)*p,t[2]=(s*n-i*o)*p,t[3]=f*p,t[4]=(c*r-i*l)*p,t[5]=(-s*r+i*a)*p,t[6]=d*p,t[7]=(-u*r+n*l)*p,t[8]=(o*r-n*a)*p,t):null},i.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t[0]=o*c-s*u,t[1]=i*u-n*c,t[2]=n*s-i*o,t[3]=s*l-a*c,t[4]=r*c-i*l,t[5]=i*a-r*s,t[6]=a*u-o*l,t[7]=n*l-r*u,t[8]=r*o-n*a,t},i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8];return e*(u*a-o*l)+r*(-u*i+o*s)+n*(l*i-a*s)},i.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1],p=r[2],m=r[3],v=r[4],g=r[5],y=r[6],b=r[7],x=r[8];return t[0]=f*n+d*o+p*u,t[1]=f*i+d*s+p*c,t[2]=f*a+d*l+p*h,t[3]=m*n+v*o+g*u,t[4]=m*i+v*s+g*c,t[5]=m*a+v*l+g*h,t[6]=y*n+b*o+x*u,t[7]=y*i+b*s+x*c,t[8]=y*a+b*l+x*h,t},i.mul=i.multiply,i.translate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=r[0],d=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=f*n+d*o+u,t[7]=f*i+d*s+c,t[8]=f*a+d*l+h,t},i.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=Math.sin(r),d=Math.cos(r);return t[0]=d*n+f*o,t[1]=d*i+f*s,t[2]=d*a+f*l,t[3]=d*o-f*n,t[4]=d*s-f*i,t[5]=d*l-f*a,t[6]=u,t[7]=c,t[8]=h,t},i.scale=function(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},i.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},i.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},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},i.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,v=a*s,g=a*l;return t[0]=1-h-p,t[3]=c-g,t[6]=f+v,t[1]=c+g,t[4]=1-u-p,t[7]=d-m,t[2]=f-v,t[5]=d+m,t[8]=1-u-h,t},i.normalFromMat4=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,k=c*m-h*p,A=c*v-f*p,T=c*g-d*p,S=h*v-f*m,E=h*g-d*m,L=f*g-d*v,C=y*L-b*E+x*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(l*T-o*L-u*A)*C,t[2]=(o*E-s*T+u*k)*C,t[3]=(i*E-n*L-a*S)*C,t[4]=(r*L-i*T+a*A)*C,t[5]=(n*T-r*E-a*k)*C,t[6]=(m*M-v*w+g*_)*C,t[7]=(v*x-p*M-g*b)*C,t[8]=(p*w-m*x+g*y)*C,t):null},i.str=function(t){return\\\"mat3(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\", \\\"+t[4]+\\\", \\\"+t[5]+\\\", \\\"+t[6]+\\\", \\\"+t[7]+\\\", \\\"+t[8]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=e[0],d=e[1],p=e[2],m=e[3],v=e[4],g=e[5],y=t[6],b=e[7],x=e[8];return Math.abs(r-f)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(i-d)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-p)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(o-m)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(s-v)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(l-g)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(u-y)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(c-b)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(h-x)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(x))},e.exports=i},{\\\"./common.js\\\":193}],197:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={scalar:{},SIMD:{}};i.create=function(){var t=new n.ARRAY_TYPE(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},i.clone=function(t){var e=new n.ARRAY_TYPE(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},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],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},i.fromValues=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,m,v){var g=new n.ARRAY_TYPE(16);return g[0]=t,g[1]=e,g[2]=r,g[3]=i,g[4]=a,g[5]=o,g[6]=s,g[7]=l,g[8]=u,g[9]=c,g[10]=h,g[11]=f,g[12]=d,g[13]=p,g[14]=m,g[15]=v,g},i.set=function(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,m,v){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=f,t[12]=d,t[13]=p,t[14]=m,t[15]=v,t},i.identity=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},i.scalar.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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},i.SIMD.transpose=function(t,e){var r,n,i,a,o,s,l,u,c,h;return r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),l=SIMD.Float32x4.shuffle(o,s,0,2,4,6),u=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),o=SIMD.Float32x4.shuffle(r,n,2,3,6,7),s=SIMD.Float32x4.shuffle(i,a,2,3,6,7),c=SIMD.Float32x4.shuffle(o,s,0,2,4,6),h=SIMD.Float32x4.shuffle(o,s,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,h),t},i.transpose=n.USE_SIMD?i.SIMD.transpose:i.scalar.transpose,i.scalar.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15],y=r*s-n*o,b=r*l-i*o,x=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,k=c*m-h*p,A=c*v-f*p,T=c*g-d*p,S=h*v-f*m,E=h*g-d*m,L=f*g-d*v,C=y*L-b*E+x*S+_*T-w*A+M*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(m*M-v*w+g*_)*C,t[3]=(f*w-h*M-d*_)*C,t[4]=(l*T-o*L-u*A)*C,t[5]=(r*L-i*T+a*A)*C,t[6]=(v*x-p*M-g*b)*C,t[7]=(c*M-f*x+d*b)*C,t[8]=(o*E-s*T+u*k)*C,t[9]=(n*T-r*E-a*k)*C,t[10]=(p*w-m*x+g*y)*C,t[11]=(h*x-c*w-d*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*b-p*_-v*y)*C,t[15]=(c*_-h*b+f*y)*C,t):null},i.SIMD.invert=function(t,e){var r,n,i,a,o,s,l,u,c,h,f=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return o=SIMD.Float32x4.shuffle(f,d,0,1,4,5),n=SIMD.Float32x4.shuffle(p,m,0,1,4,5),r=SIMD.Float32x4.shuffle(o,n,0,2,4,6),n=SIMD.Float32x4.shuffle(n,o,1,3,5,7),o=SIMD.Float32x4.shuffle(f,d,2,3,6,7),a=SIMD.Float32x4.shuffle(p,m,2,3,6,7),i=SIMD.Float32x4.shuffle(o,a,0,2,4,6),a=SIMD.Float32x4.shuffle(a,o,1,3,5,7),o=SIMD.Float32x4.mul(i,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.mul(n,o),l=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,o),s),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),o=SIMD.Float32x4.mul(n,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),s),c=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),o=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(n,2,3,0,1),a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),i=SIMD.Float32x4.swizzle(i,2,3,0,1),s=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),s),u=SIMD.Float32x4.mul(r,o),o=SIMD.Float32x4.swizzle(o,2,3,0,1),s=SIMD.Float32x4.sub(s,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,o),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),o=SIMD.Float32x4.mul(r,n),o=SIMD.Float32x4.swizzle(o,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,o),c),o=SIMD.Float32x4.swizzle(o,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,o),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(i,o)),o=SIMD.Float32x4.mul(r,a),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,o)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),u),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,o),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.mul(r,i),o=SIMD.Float32x4.swizzle(o,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(a,o),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,o)),o=SIMD.Float32x4.swizzle(o,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(a,o)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,o),c),h=SIMD.Float32x4.mul(r,s),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,2,3,0,1),h),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,1,0,3,2),h),o=SIMD.Float32x4.reciprocalApproximation(h),h=SIMD.Float32x4.sub(SIMD.Float32x4.add(o,o),SIMD.Float32x4.mul(h,SIMD.Float32x4.mul(o,o))),(h=SIMD.Float32x4.swizzle(h,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(h,s)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(h,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(h,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(h,c)),t):null},i.invert=n.USE_SIMD?i.SIMD.invert:i.scalar.invert,i.scalar.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],d=e[11],p=e[12],m=e[13],v=e[14],g=e[15];return t[0]=s*(f*g-d*v)-h*(l*g-u*v)+m*(l*d-u*f),t[1]=-(n*(f*g-d*v)-h*(i*g-a*v)+m*(i*d-a*f)),t[2]=n*(l*g-u*v)-s*(i*g-a*v)+m*(i*u-a*l),t[3]=-(n*(l*d-u*f)-s*(i*d-a*f)+h*(i*u-a*l)),t[4]=-(o*(f*g-d*v)-c*(l*g-u*v)+p*(l*d-u*f)),t[5]=r*(f*g-d*v)-c*(i*g-a*v)+p*(i*d-a*f),t[6]=-(r*(l*g-u*v)-o*(i*g-a*v)+p*(i*u-a*l)),t[7]=r*(l*d-u*f)-o*(i*d-a*f)+c*(i*u-a*l),t[8]=o*(h*g-d*m)-c*(s*g-u*m)+p*(s*d-u*h),t[9]=-(r*(h*g-d*m)-c*(n*g-a*m)+p*(n*d-a*h)),t[10]=r*(s*g-u*m)-o*(n*g-a*m)+p*(n*u-a*s),t[11]=-(r*(s*d-u*h)-o*(n*d-a*h)+c*(n*u-a*s)),t[12]=-(o*(h*v-f*m)-c*(s*v-l*m)+p*(s*f-l*h)),t[13]=r*(h*v-f*m)-c*(n*v-i*m)+p*(n*f-i*h),t[14]=-(r*(s*v-l*m)-o*(n*v-i*m)+p*(n*l-i*s)),t[15]=r*(s*f-l*h)-o*(n*f-i*h)+c*(n*l-i*s),t},i.SIMD.adjoint=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,d,p,r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),a=SIMD.Float32x4.load(e,12)\\n\",\n       \";return c=SIMD.Float32x4.shuffle(r,n,0,1,4,5),s=SIMD.Float32x4.shuffle(i,a,0,1,4,5),o=SIMD.Float32x4.shuffle(c,s,0,2,4,6),s=SIMD.Float32x4.shuffle(s,c,1,3,5,7),c=SIMD.Float32x4.shuffle(r,n,2,3,6,7),u=SIMD.Float32x4.shuffle(i,a,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.mul(s,c),f=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),h),f=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),f),f=SIMD.Float32x4.swizzle(f,2,3,0,1),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.mul(o,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(o,s),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(o,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),f),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),f),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(s,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),f=SIMD.Float32x4.sub(f,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(s,c),p),SIMD.Float32x4.store(t,0,h),SIMD.Float32x4.store(t,4,f),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},i.adjoint=n.USE_SIMD?i.SIMD.adjoint:i.scalar.adjoint,i.determinant=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],d=t[12],p=t[13],m=t[14],v=t[15];return(e*o-r*a)*(h*v-f*m)-(e*s-n*a)*(c*v-f*p)+(e*l-i*a)*(c*m-h*p)+(r*s-n*o)*(u*v-f*d)-(r*l-i*o)*(u*m-h*d)+(n*l-i*s)*(u*p-c*d)},i.SIMD.multiply=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.load(r,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s,3,3,3,3),o))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(r,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),o))));SIMD.Float32x4.store(t,4,c);var h=SIMD.Float32x4.load(r,8),f=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,3,3,3,3),o))));SIMD.Float32x4.store(t,8,f);var d=SIMD.Float32x4.load(r,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),i),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),a),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),o))));return SIMD.Float32x4.store(t,12,p),t},i.scalar.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],m=e[12],v=e[13],g=e[14],y=e[15],b=r[0],x=r[1],_=r[2],w=r[3];return t[0]=b*n+x*s+_*h+w*m,t[1]=b*i+x*l+_*f+w*v,t[2]=b*a+x*u+_*d+w*g,t[3]=b*o+x*c+_*p+w*y,b=r[4],x=r[5],_=r[6],w=r[7],t[4]=b*n+x*s+_*h+w*m,t[5]=b*i+x*l+_*f+w*v,t[6]=b*a+x*u+_*d+w*g,t[7]=b*o+x*c+_*p+w*y,b=r[8],x=r[9],_=r[10],w=r[11],t[8]=b*n+x*s+_*h+w*m,t[9]=b*i+x*l+_*f+w*v,t[10]=b*a+x*u+_*d+w*g,t[11]=b*o+x*c+_*p+w*y,b=r[12],x=r[13],_=r[14],w=r[15],t[12]=b*n+x*s+_*h+w*m,t[13]=b*i+x*l+_*f+w*v,t[14]=b*a+x*u+_*d+w*g,t[15]=b*o+x*c+_*p+w*y,t},i.multiply=n.USE_SIMD?i.SIMD.multiply:i.scalar.multiply,i.mul=i.multiply,i.scalar.translate=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,d,p,m=r[0],v=r[1],g=r[2];return e===t?(t[12]=e[0]*m+e[4]*v+e[8]*g+e[12],t[13]=e[1]*m+e[5]*v+e[9]*g+e[13],t[14]=e[2]*m+e[6]*v+e[10]*g+e[14],t[15]=e[3]*m+e[7]*v+e[11]*g+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],d=e[10],p=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=d,t[11]=p,t[12]=n*m+s*v+h*g+e[12],t[13]=i*m+l*v+f*g+e[13],t[14]=a*m+u*v+d*g+e[14],t[15]=o*m+c*v+p*g+e[15]),t},i.SIMD.translate=function(t,e,r){var n=SIMD.Float32x4.load(e,0),i=SIMD.Float32x4.load(e,4),a=SIMD.Float32x4.load(e,8),o=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4(r[0],r[1],r[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,0,0,0,0)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,1,1,1,1)),a=SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(s,2,2,2,2));var l=SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,SIMD.Float32x4.add(a,o)));return SIMD.Float32x4.store(t,12,l),t},i.translate=n.USE_SIMD?i.SIMD.translate:i.scalar.translate,i.scalar.scale=function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.SIMD.scale=function(t,e,r){var n,i,a,o=SIMD.Float32x4(r[0],r[1],r[2],0);return n=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,0,0,0,0))),i=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,1,1,1,1))),a=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(a,SIMD.Float32x4.swizzle(o,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},i.scale=n.USE_SIMD?i.SIMD.scale:i.scalar.scale,i.rotate=function(t,e,r,i){var a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_,w,M,k,A,T,S,E,L=i[0],C=i[1],z=i[2],I=Math.sqrt(L*L+C*C+z*z);return Math.abs(I)<n.EPSILON?null:(I=1/I,L*=I,C*=I,z*=I,a=Math.sin(r),o=Math.cos(r),s=1-o,l=e[0],u=e[1],c=e[2],h=e[3],f=e[4],d=e[5],p=e[6],m=e[7],v=e[8],g=e[9],y=e[10],b=e[11],x=L*L*s+o,_=C*L*s+z*a,w=z*L*s-C*a,M=L*C*s-z*a,k=C*C*s+o,A=z*C*s+L*a,T=L*z*s+C*a,S=C*z*s-L*a,E=z*z*s+o,t[0]=l*x+f*_+v*w,t[1]=u*x+d*_+g*w,t[2]=c*x+p*_+y*w,t[3]=h*x+m*_+b*w,t[4]=l*M+f*k+v*A,t[5]=u*M+d*k+g*A,t[6]=c*M+p*k+y*A,t[7]=h*M+m*k+b*A,t[8]=l*T+f*S+v*E,t[9]=u*T+d*S+g*E,t[10]=c*T+p*S+y*E,t[11]=h*T+m*S+b*E,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},i.scalar.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},i.SIMD.rotateX=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));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]);var a=SIMD.Float32x4.load(e,4),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,4,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateX=n.USE_SIMD?i.SIMD.rotateX:i.scalar.rotateX,i.scalar.rotateY=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],h=e[10],f=e[11];return 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]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t},i.SIMD.rotateY=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,8);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,8,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,n),SIMD.Float32x4.mul(o,i))),t},i.rotateY=n.USE_SIMD?i.SIMD.rotateY:i.scalar.rotateY,i.scalar.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},i.SIMD.rotateZ=function(t,e,r){var n=SIMD.Float32x4.splat(Math.sin(r)),i=SIMD.Float32x4.splat(Math.cos(r));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]);var a=SIMD.Float32x4.load(e,0),o=SIMD.Float32x4.load(e,4);return SIMD.Float32x4.store(t,0,SIMD.Float32x4.add(SIMD.Float32x4.mul(a,i),SIMD.Float32x4.mul(o,n))),SIMD.Float32x4.store(t,4,SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,i),SIMD.Float32x4.mul(a,n))),t},i.rotateZ=n.USE_SIMD?i.SIMD.rotateZ:i.scalar.rotateZ,i.fromTranslation=function(t,e){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]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},i.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromRotation=function(t,e,r){var i,a,o,s=r[0],l=r[1],u=r[2],c=Math.sqrt(s*s+l*l+u*u);return Math.abs(c)<n.EPSILON?null:(c=1/c,s*=c,l*=c,u*=c,i=Math.sin(e),a=Math.cos(e),o=1-a,t[0]=s*s*o+a,t[1]=l*s*o+u*i,t[2]=u*s*o-l*i,t[3]=0,t[4]=s*l*o-u*i,t[5]=l*l*o+a,t[6]=u*l*o+s*i,t[7]=0,t[8]=s*u*o+l*i,t[9]=l*u*o-s*i,t[10]=u*u*o+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},i.fromXRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromYRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.fromZRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,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},i.fromRotationTranslation=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,d=i*l,p=i*u,m=a*u,v=o*s,g=o*l,y=o*u;return t[0]=1-(d+m),t[1]=h+y,t[2]=f-g,t[3]=0,t[4]=h-y,t[5]=1-(c+m),t[6]=p+v,t[7]=0,t[8]=f+g,t[9]=p-v,t[10]=1-(c+d),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},i.getRotation=function(t,e){var r=e[0]+e[5]+e[10],n=0;return r>0?(n=2*Math.sqrt(r+1),t[3]=.25*n,t[0]=(e[6]-e[9])/n,t[1]=(e[8]-e[2])/n,t[2]=(e[1]-e[4])/n):e[0]>e[5]&e[0]>e[10]?(n=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/n,t[0]=.25*n,t[1]=(e[1]+e[4])/n,t[2]=(e[8]+e[2])/n):e[5]>e[10]?(n=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/n,t[0]=(e[1]+e[4])/n,t[1]=.25*n,t[2]=(e[6]+e[9])/n):(n=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/n,t[0]=(e[8]+e[2])/n,t[1]=(e[6]+e[9])/n,t[2]=.25*n),t},i.fromRotationTranslationScale=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,u=a+a,c=o+o,h=i*l,f=i*u,d=i*c,p=a*u,m=a*c,v=o*c,g=s*l,y=s*u,b=s*c,x=n[0],_=n[1],w=n[2];return t[0]=(1-(p+v))*x,t[1]=(f+b)*x,t[2]=(d-y)*x,t[3]=0,t[4]=(f-b)*_,t[5]=(1-(h+v))*_,t[6]=(m+g)*_,t[7]=0,t[8]=(d+y)*w,t[9]=(m-g)*w,t[10]=(1-(h+p))*w,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},i.fromRotationTranslationScaleOrigin=function(t,e,r,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],u=a+a,c=o+o,h=s+s,f=a*u,d=a*c,p=a*h,m=o*c,v=o*h,g=s*h,y=l*u,b=l*c,x=l*h,_=n[0],w=n[1],M=n[2],k=i[0],A=i[1],T=i[2];return t[0]=(1-(m+g))*_,t[1]=(d+x)*_,t[2]=(p-b)*_,t[3]=0,t[4]=(d-x)*w,t[5]=(1-(f+g))*w,t[6]=(v+y)*w,t[7]=0,t[8]=(p+b)*M,t[9]=(v-y)*M,t[10]=(1-(f+m))*M,t[11]=0,t[12]=r[0]+k-(t[0]*k+t[4]*A+t[8]*T),t[13]=r[1]+A-(t[1]*k+t[5]*A+t[9]*T),t[14]=r[2]+T-(t[2]*k+t[6]*A+t[10]*T),t[15]=1,t},i.fromQuat=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,d=i*s,p=i*l,m=a*o,v=a*s,g=a*l;return t[0]=1-h-p,t[1]=c+g,t[2]=f-v,t[3]=0,t[4]=c-g,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=f+v,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},i.frustum=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t},i.perspective=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},i.perspectiveFromFieldOfView=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t},i.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-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*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},i.lookAt=function(t,e,r,a){var o,s,l,u,c,h,f,d,p,m,v=e[0],g=e[1],y=e[2],b=a[0],x=a[1],_=a[2],w=r[0],M=r[1],k=r[2];return Math.abs(v-w)<n.EPSILON&&Math.abs(g-M)<n.EPSILON&&Math.abs(y-k)<n.EPSILON?i.identity(t):(f=v-w,d=g-M,p=y-k,m=1/Math.sqrt(f*f+d*d+p*p),f*=m,d*=m,p*=m,o=x*p-_*d,s=_*f-b*p,l=b*d-x*f,m=Math.sqrt(o*o+s*s+l*l),m?(m=1/m,o*=m,s*=m,l*=m):(o=0,s=0,l=0),u=d*l-p*s,c=p*o-f*l,h=f*s-d*o,m=Math.sqrt(u*u+c*c+h*h),m?(m=1/m,u*=m,c*=m,h*=m):(u=0,c=0,h=0),t[0]=o,t[1]=u,t[2]=f,t[3]=0,t[4]=s,t[5]=c,t[6]=d,t[7]=0,t[8]=l,t[9]=h,t[10]=p,t[11]=0,t[12]=-(o*v+s*g+l*y),t[13]=-(u*v+c*g+h*y),t[14]=-(f*v+d*g+p*y),t[15]=1,t)},i.str=function(t){return\\\"mat4(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\", \\\"+t[4]+\\\", \\\"+t[5]+\\\", \\\"+t[6]+\\\", \\\"+t[7]+\\\", \\\"+t[8]+\\\", \\\"+t[9]+\\\", \\\"+t[10]+\\\", \\\"+t[11]+\\\", \\\"+t[12]+\\\", \\\"+t[13]+\\\", \\\"+t[14]+\\\", \\\"+t[15]+\\\")\\\"},i.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},i.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[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t},i.subtract=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[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t},i.sub=i.subtract,i.multiplyScalar=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[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t},i.multiplyScalarAndAdd=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[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&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]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],f=t[9],d=t[10],p=t[11],m=t[12],v=t[13],g=t[14],y=t[15],b=e[0],x=e[1],_=e[2],w=e[3],M=e[4],k=e[5],A=e[6],T=e[7],S=e[8],E=e[9],L=e[10],C=e[11],z=e[12],I=e[13],D=e[14],P=e[15];return Math.abs(r-b)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(i-x)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(a-_)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(o-w)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(s-M)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&&Math.abs(l-k)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(k))&&Math.abs(u-A)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(A))&&Math.abs(c-T)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(h-S)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(S))&&Math.abs(f-E)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(E))&&Math.abs(d-L)<=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(L))&&Math.abs(p-C)<=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&&Math.abs(m-z)<=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&&Math.abs(v-I)<=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(I))&&Math.abs(g-D)<=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(D))&&Math.abs(y-P)<=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(P))},e.exports=i},{\\\"./common.js\\\":193}],198:[function(t,e,r){var n=t(\\\"./common.js\\\"),i=t(\\\"./mat3.js\\\"),a=t(\\\"./vec3.js\\\"),o=t(\\\"./vec4.js\\\"),s={};s.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),r=a.fromValues(0,1,0);return function(n,i,o){var l=a.dot(i,o);return l<-.999999?(a.cross(t,e,i),a.length(t)<1e-6&&a.cross(t,r,i),a.normalize(t,t),s.setAxisAngle(n,t,Math.PI),n):l>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(a.cross(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+l,s.normalize(n,n))}}(),s.setAxes=function(){var t=i.create();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],s.normalize(e,s.fromMat3(e,t))}}(),s.clone=o.clone,s.fromValues=o.fromValues,s.copy=o.copy,s.set=o.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},s.getAxisAngle=function(t,e){var r=2*Math.acos(e[3]),n=Math.sin(r/2);return 0!=n?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},s.add=o.add,s.multiply=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1],u=r[2],c=r[3];return t[0]=n*c+o*s+i*u-a*l,t[1]=i*c+o*l+a*s-n*u,t[2]=a*c+o*u+n*l-i*s,t[3]=o*c-n*s-i*l-a*u,t},s.mul=s.multiply,s.scale=o.scale,s.rotateX=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+o*s,t[1]=i*l+a*s,t[2]=a*l-i*s,t[3]=o*l-n*s,t},s.rotateY=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l-a*s,t[1]=i*l+o*s,t[2]=a*l+n*s,t[3]=o*l-i*s,t},s.rotateZ=function(t,e,r){r*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=i*l-n*s,t[2]=a*l+o*s,t[3]=o*l-a*s,t},s.calculateW=function(t,e){var r=e[0],n=e[1],i=e[2];return t[0]=r,t[1]=n,t[2]=i,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),t},s.dot=o.dot,s.lerp=o.lerp,s.slerp=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],m=r[2],v=r[3];return a=u*d+c*p+h*m+f*v,a<0&&(a=-a,d=-d,p=-p,m=-m,v=-v),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*m,t[3]=s*f+l*v,t},s.sqlerp=function(){var t=s.create(),e=s.create();return function(r,n,i,a,o,l){return s.slerp(t,n,o,l),s.slerp(e,i,a,l),s.slerp(r,t,e,2*l*(1-l)),r}}(),s.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-i*s,t[3]=a*s,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=o.length,s.len=s.length,s.squaredLength=o.squaredLength,s.sqrLen=s.squaredLength,s.normalize=o.normalize,s.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*o+o]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+o]-e[3*o+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[o]=(e[3*o+i]+e[3*i+o])*r}return t},s.str=function(t){return\\\"quat(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\")\\\"},s.exactEquals=o.exactEquals,s.equals=o.equals,e.exports=s},{\\\"./common.js\\\":193,\\\"./mat3.js\\\":196,\\\"./vec3.js\\\":200,\\\"./vec4.js\\\":201}],199:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var r=new n.ARRAY_TYPE(2);return r[0]=t,r[1]=e,r},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,r){return t[0]=e,t[1]=r,t},i.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},i.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},i.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},i.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},i.transformMat2=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t},i.transformMat2d=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=2),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],a(t,t,o),e[s]=t[0],e[s+1]=t[1];return e}}(),i.str=function(t){return\\\"vec2(\\\"+t[0]+\\\", \\\"+t[1]+\\\")\\\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]},i.equals=function(t,e){var r=t[0],i=t[1],a=e[0],o=e[1];return Math.abs(r-a)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(i-o)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))},e.exports=i},{\\\"./common.js\\\":193}],200:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},i.fromValues=function(t,e,r){var i=new n.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=r,i},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},i.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},i.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},i.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},i.sub=i.subtract,i.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t},i.mul=i.multiply,i.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},i.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},i.scaleAndAdd=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},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},i.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},i.lerp=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t},i.hermite=function(t,e,r,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,u=o*(a-1),c=o*(3-2*a);return t[0]=e[0]*s+r[0]*l+n[0]*u+i[0]*c,t[1]=e[1]*s+r[1]*l+n[1]*u+i[1]*c,t[2]=e[2]*s+r[2]*l+n[2]*u+i[2]*c,t},i.bezier=function(t,e,r,n,i,a){var o=1-a,s=o*o,l=a*a,u=s*o,c=3*a*s,h=3*l*o,f=l*a;return t[0]=e[0]*u+r[0]*c+n[0]*h+i[0]*f,t[1]=e[1]*u+r[1]*c+n[1]*h+i[1]*f,t[2]=e[2]*u+r[2]*c+n[2]*h+i[2]*f,t},i.random=function(t,e){e=e||1;var r=2*n.RANDOM()*Math.PI,i=2*n.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*e,t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t},i.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t},i.rotateX=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateY=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.rotateZ=function(t,e,r,n){var i=[],a=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=3),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2];return e}}(),i.angle=function(t,e){var r=i.fromValues(t[0],t[1],t[2]),n=i.fromValues(e[0],e[1],e[2]);i.normalize(r,r),i.normalize(n,n);var a=i.dot(r,n);return a>1?0:Math.acos(a)},i.str=function(t){return\\\"vec3(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\")\\\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(l))},e.exports=i},{\\\"./common.js\\\":193}],201:[function(t,e,r){var n=t(\\\"./common.js\\\"),i={};i.create=function(){var t=new n.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.fromValues=function(t,e,r,i){var a=new n.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=i,a},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.set=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t},i.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[3]=e[3]+r[3],t},i.subtract=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},i.sub=i.subtract,i.multiply=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},i.mul=i.multiply,i.divide=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},i.div=i.divide,i.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},i.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},i.min=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},i.max=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},i.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},i.scale=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},i.scaleAndAdd=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},i.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)},i.dist=i.distance,i.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)},i.len=i.length,i.squaredLength=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},i.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],\\n\",\n       \"t[3]=1/e[3],t},i.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},i.lerp=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t},i.random=function(t,e){return e=e||1,t[0]=n.RANDOM(),t[1]=n.RANDOM(),t[2]=n.RANDOM(),t[3]=n.RANDOM(),i.normalize(t,t),i.scale(t,t,e),t},i.transformMat4=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t},i.transformQuat=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,h=u*i+l*n-o*a,f=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+h*-l-f*-s,t[1]=h*u+d*-s+f*-o-c*-l,t[2]=f*u+d*-l+c*-s-h*-o,t[3]=e[3],t},i.forEach=function(){var t=i.create();return function(e,r,n,i,a,o){var s,l;for(r||(r=4),n||(n=0),l=i?Math.min(i*r+n,e.length):e.length,s=n;s<l;s+=r)t[0]=e[s],t[1]=e[s+1],t[2]=e[s+2],t[3]=e[s+3],a(t,t,o),e[s]=t[0],e[s+1]=t[1],e[s+2]=t[2],e[s+3]=t[3];return e}}(),i.str=function(t){return\\\"vec4(\\\"+t[0]+\\\", \\\"+t[1]+\\\", \\\"+t[2]+\\\", \\\"+t[3]+\\\")\\\"},i.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equals=function(t,e){var r=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(r-s)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-l)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},e.exports=i},{\\\"./common.js\\\":193}],202:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function i(t,e,r,i,a){for(var o=n(i,n(r,n(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 a(t,e){if(2===t.length){for(var r=0,n=0,i=0;i<2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n<1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var a=[0,0];return u(t[0],t[1],t[2],e,a),l(t,a)}return[]}function o(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}function s(t,e,r,n,s,l){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),c=0;c<t.length;++c)u[c]=i(t[c],r,n,s,l);for(var h=0,f=1/0,c=0;c<u.length;++c){for(var d=0,p=0;p<2;++p)d+=Math.pow(u[c][p]-e[p],2);d<f&&(f=d,h=c)}for(var m=a(u,e),v=0,c=0;c<3;++c){if(m[c]<-.001||m[c]>1.0001)return null;v+=m[c]}return Math.abs(v-1)>.001?null:[h,o(t,m),m]}var l=t(\\\"barycentric\\\"),u=t(\\\"polytope-closest-point/lib/closest_point_2d.js\\\");e.exports=s},{barycentric:48,\\\"polytope-closest-point/lib/closest_point_2d.js\\\":485}],203:[function(t,e,r){var n=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3  clipBounds[2];\\\\nuniform float pickId;\\\\n\\\\nvarying vec3 f_position;\\\\nvarying vec4 f_id;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(f_position, clipBounds[0])) || \\\\n     any(greaterThan(f_position, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\\\n}\\\";r.meshShader={vertex:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec3 position, normal;\\\\nattribute vec4 color;\\\\nattribute vec2 uv;\\\\n\\\\nuniform mat4 model\\\\n           , view\\\\n           , projection;\\\\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\\\\nvoid main() {\\\\n  vec4 m_position  = model * vec4(position, 1.0);\\\\n  vec4 t_position  = view * m_position;\\\\n  gl_Position      = projection * t_position;\\\\n  f_color          = color;\\\\n  f_normal         = normal;\\\\n  f_data           = position;\\\\n  f_eyeDirection   = eyePosition   - position;\\\\n  f_lightDirection = lightPosition - position;\\\\n  f_uv             = uv;\\\\n}\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nfloat beckmannDistribution_2_0(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\\\\n\\\\n\\\\nfloat cookTorranceSpecular_1_1(\\\\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_2_0(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\\\\n\\\\nuniform vec3 clipBounds[2];\\\\nuniform float roughness\\\\n            , fresnel\\\\n            , kambient\\\\n            , kdiffuse\\\\n            , kspecular\\\\n            , opacity;\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = cookTorranceSpecular_1_1(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}\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},r.wireShader={vertex:\\\"precision mediump 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}\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\\\n}\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},r.pointShader={vertex:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\",fragment:\\\"precision mediump 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}\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"}]},r.pickShader={vertex:\\\"precision mediump 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}\\\",fragment:n,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},r.pointPickShader={vertex:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\",fragment:n,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},r.contourShader={vertex:\\\"precision mediump 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}\\\",fragment:\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 contourColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(contourColor,1);\\\\n}\\\\n\\\",attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"}]}},{}],204:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_,w,M,k,A,T){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=v,this.edgeUVs=g,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=b,this.pointColors=_,this.pointUVs=w,this.pointSizes=M,this.pointIds=x,this.pointVAO=k,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=A,this.contourVAO=T,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=D,this._view=D,this._projection=D,this._resolution=[1,1]}function i(t){for(var e=w({colormap:t,nshades:256,format:\\\"rgba\\\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return _(r,[256,256,4],[4,0,1])}function a(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;for(var a=t.length,i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}function o(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}function s(t){var e=p(t,S.vertex,S.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function l(t){var e=p(t,E.vertex,E.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function u(t){var e=p(t,L.vertex,L.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=p(t,C.vertex,C.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function h(t){var e=p(t,z.vertex,z.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function f(t){var e=p(t,I.vertex,I.fragment);return e.attributes.position.location=0,e}function d(t,e){1===arguments.length&&(e=t,t=e.gl);var r=s(t),i=l(t),a=u(t),o=c(t),d=h(t),p=f(t),y=g(t,_(new Uint8Array([255,255,255,255]),[1,1,4]));y.generateMipmap(),y.minFilter=t.LINEAR_MIPMAP_LINEAR,y.magFilter=t.LINEAR;var b=m(t),x=m(t),w=m(t),M=m(t),k=m(t),A=v(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:x,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2},{buffer:M,type:t.FLOAT,size:3}]),T=m(t),S=m(t),E=m(t),L=m(t),C=v(t,[{buffer:T,type:t.FLOAT,size:3},{buffer:L,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:S,type:t.FLOAT,size:4},{buffer:E,type:t.FLOAT,size:2}]),z=m(t),I=m(t),D=m(t),P=m(t),O=m(t),R=v(t,[{buffer:z,type:t.FLOAT,size:3},{buffer:O,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:t.FLOAT,size:4},{buffer:D,type:t.FLOAT,size:2},{buffer:P,type:t.FLOAT,size:1}]),F=m(t),j=v(t,[{buffer:F,type:t.FLOAT,size:3}]),N=new n(t,y,r,i,a,o,d,p,b,k,x,w,M,A,T,L,S,E,C,z,O,I,D,P,R,F,j);return N.update(e),N}var p=t(\\\"gl-shader\\\"),m=t(\\\"gl-buffer\\\"),v=t(\\\"gl-vao\\\"),g=t(\\\"gl-texture2d\\\"),y=t(\\\"normals\\\"),b=t(\\\"gl-mat4/multiply\\\"),x=t(\\\"gl-mat4/invert\\\"),_=t(\\\"ndarray\\\"),w=t(\\\"colormap\\\"),M=t(\\\"simplicial-complex-contour\\\"),k=t(\\\"typedarray-pool\\\"),A=t(\\\"./lib/shaders\\\"),T=t(\\\"./lib/closest-point\\\"),S=A.meshShader,E=A.wireShader,L=A.pointShader,C=A.pickShader,z=A.pointPickShader,I=A.contourShader,D=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],P=n.prototype;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.highlight=function(t){if(!t||!this.contourEnable)return void(this.contourCount=0);for(var e=M(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=k.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var h=u[0];2===u.length&&(h=u[c]);for(var f=n[h][0],d=n[h][1],p=i[h],m=1-p,v=this.positions[f],g=this.positions[d],y=0;y<3;++y)o[s++]=p*v[y]+m*g[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),k.free(o)},P.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),\\\"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),t.texture?(this.texture.dispose(),this.texture=g(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(i(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var s=[],l=[],u=[],c=[],h=[],f=[],d=[],p=[],m=[],v=[],b=[],x=[],_=[],w=[];this.cells=r,this.positions=n;var M=t.vertexNormals,k=t.cellNormals,A=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,T=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=y.faceNormals(r,n,T)),k||M||(M=y.vertexNormals(r,n,A));var S=t.vertexColors,E=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,z=t.vertexIntensity,I=t.cellUVs,D=t.cellIntensity,P=1/0,O=-1/0;if(!C&&!I)if(z)if(t.vertexIntensityBounds)P=+t.vertexIntensityBounds[0],O=+t.vertexIntensityBounds[1];else for(var R=0;R<z.length;++R){var F=z[R];P=Math.min(P,F),O=Math.max(O,F)}else if(D)for(var R=0;R<D.length;++R){var F=D[R];P=Math.min(P,F),O=Math.max(O,F)}else for(var R=0;R<n.length;++R){var F=n[R][2];P=Math.min(P,F),O=Math.max(O,F)}this.intensity=z||(D?a(r,n.length,D):o(n));var j=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var R=0;R<n.length;++R)for(var B=n[R],U=0;U<3;++U)!isNaN(B[U])&&isFinite(B[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],B[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],B[U]));var V=0,H=0,q=0;t:for(var R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(var Y=G[0],B=n[Y],U=0;U<3;++U)if(isNaN(B[U])||!isFinite(B[U]))continue t;v.push(B[0],B[1],B[2]);var X;X=S?S[Y]:E?E[R]:L,3===X.length?b.push(X[0],X[1],X[2],1):b.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:z?[(z[Y]-P)/(O-P),0]:I?I[R]:D?[(D[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],x.push(W[0],W[1]),j?_.push(j[Y]):_.push(N),w.push(R),q+=1;break;case 2:for(var U=0;U<2;++U)for(var Y=G[U],B=n[Y],Z=0;Z<3;++Z)if(isNaN(B[Z])||!isFinite(B[Z]))continue t;for(var U=0;U<2;++U){var Y=G[U],B=n[Y];f.push(B[0],B[1],B[2]);var X;X=S?S[Y]:E?E[R]:L,3===X.length?d.push(X[0],X[1],X[2],1):d.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:z?[(z[Y]-P)/(O-P),0]:I?I[R]:D?[(D[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],p.push(W[0],W[1]),m.push(R)}H+=1;break;case 3:for(var U=0;U<3;++U)for(var Y=G[U],B=n[Y],Z=0;Z<3;++Z)if(isNaN(B[Z])||!isFinite(B[Z]))continue t;for(var U=0;U<3;++U){var Y=G[U],B=n[Y];s.push(B[0],B[1],B[2]);var X;X=S?S[Y]:E?E[R]:L,3===X.length?l.push(X[0],X[1],X[2],1):l.push(X[0],X[1],X[2],X[3]);var W;W=C?C[Y]:z?[(z[Y]-P)/(O-P),0]:I?I[R]:D?[(D[R]-P)/(O-P),0]:[(B[2]-P)/(O-P),0],c.push(W[0],W[1]);var J;J=M?M[Y]:k[R],u.push(J[0],J[1],J[2]),h.push(R)}V+=1}}this.pointCount=q,this.edgeCount=H,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(b),this.pointUVs.update(x),this.pointSizes.update(_),this.pointIds.update(new Uint32Array(w)),this.edgePositions.update(f),this.edgeColors.update(d),this.edgeUVs.update(p),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(s),this.triangleColors.update(l),this.triangleUVs.update(c),this.triangleNormals.update(u),this.triangleIds.update(new Uint32Array(h))}},P.drawTransparent=P.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||D,n=t.view||D,i=t.projection||D,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);b(l,s.view,s.model),b(l,s.projection,l),x(l,l);for(var o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];for(var u=l[15],o=0;o<3;++o)u+=this.lightPosition[o]*l[4*o+3];for(var o=0;o<3;++o){for(var c=l[12+o],h=0;h<3;++h)c+=l[4*h+o]*this.lightPosition[h];s.lightPosition[o]=c/u}if(this.triangleCount>0){var f=this.triShader;f.bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var f=this.lineShader;f.bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount>0){var f=this.pointShader;f.bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var f=this.contourShader;f.bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind()}},P.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||D,n=t.view||D,i=t.projection||D,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255},l=this.pickShader;if(l.bind(),l.uniforms=s,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),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0){var l=this.pointPickShader;l.bind(),l.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()}},P.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,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=T(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;for(var s=o[2],l=0,a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},P.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=d},{\\\"./lib/closest-point\\\":202,\\\"./lib/shaders\\\":203,colormap:98,\\\"gl-buffer\\\":155,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/multiply\\\":182,\\\"gl-shader\\\":254,\\\"gl-texture2d\\\":266,\\\"gl-vao\\\":270,ndarray:466,normals:468,\\\"simplicial-complex-contour\\\":516,\\\"typedarray-pool\\\":540}],205:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl;return new n(t,a(e,[0,0,0,1,1,0,1,1]),o(e,s.boxVert,s.lineFrag))}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"./shaders\\\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawBox=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o){var s=this.plot,l=this.shader,u=s.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,l.uniforms.lo=t,l.uniforms.hi=e,l.uniforms.color=o,u.drawArrays(u.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":208,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211}],206:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function i(t,e){return t-e}function a(t){var e=t.gl;return new n(t,o(e),s(e,u.gridVert,u.gridFrag),s(e,u.tickVert,u.gridFrag))}e.exports=a;var o=t(\\\"gl-buffer\\\"),s=t(\\\"gl-shader\\\"),l=t(\\\"binary-search-bounds\\\"),u=t(\\\"./shaders\\\"),c=n.prototype;c.draw=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){for(var n=this.plot,i=this.vbo,a=this.shader,o=this.ticks,s=n.gl,l=n._tickBounds,u=n.dataBox,c=n.viewBox,h=n.gridLineWidth,f=n.gridLineColor,d=n.gridLineEnable,p=n.pixelRatio,m=0;m<2;++m){var v=l[m],g=l[m+2],y=g-v,b=.5*(u[m+2]+u[m]),x=u[m+2]-u[m];e[m]=2*y/x,t[m]=2*(v-b)/x}a.bind(),i.bind(),a.attributes.dataCoord.pointer(),a.uniforms.dataShift=t,a.uniforms.dataScale=e;for(var _=0,m=0;m<2;++m){r[0]=r[1]=0,r[m]=1,a.uniforms.dataAxis=r,a.uniforms.lineWidth=h[m]/(c[m+2]-c[m])*p,a.uniforms.color=f[m];var w=6*o[m].length;d[m]&&w&&s.drawArrays(s.TRIANGLES,_,w),_+=w}}}(),c.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,u=this.vbo,c=this.tickShader,h=this.ticks,f=s.gl,d=s._tickBounds,p=s.dataBox,m=s.viewBox,v=s.pixelRatio,g=s.screenBox,y=g[2]-g[0],b=g[3]-g[1],x=m[2]-m[0],_=m[3]-m[1],w=0;w<2;++w){var M=d[w],k=d[w+2],A=k-M,T=.5*(p[w+2]+p[w]),S=p[w+2]-p[w];e[w]=2*A/S,t[w]=2*(M-T)/S}e[0]*=x/y,t[0]*=x/y,e[1]*=_/b,t[1]*=_/b,c.bind(),u.bind(),c.attributes.dataCoord.pointer();var E=c.uniforms;E.dataShift=t,E.dataScale=e;var L=s.tickMarkLength,C=s.tickMarkWidth,z=s.tickMarkColor,I=6*h[0].length,D=Math.min(l.ge(h[0],(p[0]-d[0])/(d[2]-d[0]),i),h[0].length),P=Math.min(l.gt(h[0],(p[2]-d[0])/(d[2]-d[0]),i),h[0].length),O=0+6*D,R=6*Math.max(0,P-D),F=Math.min(l.ge(h[1],(p[1]-d[1])/(d[3]-d[1]),i),h[1].length),j=Math.min(l.gt(h[1],(p[3]-d[1])/(d[3]-d[1]),i),h[1].length),N=I+6*F,B=6*Math.max(0,j-F);a[0]=2*(m[0]-L[1])/y-1,a[1]=(m[3]+m[1])/b-1,o[0]=L[1]*v/y,o[1]=C[1]*v/b,B&&(E.color=z[1],E.tickScale=o,E.dataAxis=n,E.screenOffset=a,f.drawArrays(f.TRIANGLES,N,B)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[1]-L[0])/b-1,o[0]=C[0]*v/y,o[1]=L[0]*v/b,R&&(E.color=z[0],E.tickScale=o,E.dataAxis=r,E.screenOffset=a,f.drawArrays(f.TRIANGLES,O,R)),a[0]=2*(m[2]+L[3])/y-1,a[1]=(m[3]+m[1])/b-1,o[0]=L[3]*v/y,o[1]=C[3]*v/b,B&&(E.color=z[3],E.tickScale=o,E.dataAxis=n,E.screenOffset=a,f.drawArrays(f.TRIANGLES,N,B)),a[0]=(m[2]+m[0])/y-1,a[1]=2*(m[3]+L[2])/b-1,o[0]=C[2]*v/y,o[1]=L[2]*v/b,R&&(E.color=z[2],E.tickScale=o,E.dataAxis=r,E.screenOffset=a,f.drawArrays(f.TRIANGLES,O,R))}}(),c.update=function(){var t=[1,1,-1,-1,1,-1],e=[1,-1,1,1,-1,-1];return function(r){for(var n=r.ticks,i=r.bounds,a=new Float32Array(18*(n[0].length+n[1].length)),o=(this.plot.zeroLineEnable,0),s=[[],[]],l=0;l<2;++l)for(var u=s[l],c=n[l],h=i[l],f=i[l+2],d=0;d<c.length;++d){var p=(c[d].x-h)/(f-h);u.push(p);for(var m=0;m<6;++m)a[o++]=p,a[o++]=t[m],a[o++]=e[m]}this.ticks=s,this.vbo.update(a)}}(),c.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\\\"./shaders\\\":208,\\\"binary-search-bounds\\\":210,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211}],207:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r}function i(t){var e=t.gl;return new n(t,a(e,[-1,-1,-1,1,1,-1,1,1]),o(e,s.lineVert,s.lineFrag))}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"./shaders\\\"),l=n.prototype;l.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},l.drawLine=function(){var t=[0,0],e=[0,0];return function(r,n,i,a,o,s){var l=this.plot,u=this.shader,c=l.gl;t[0]=r,t[1]=n,e[0]=i,e[1]=a,u.uniforms.start=t,u.uniforms.end=e,u.uniforms.width=o*l.pixelRatio,u.uniforms.color=s,c.drawArrays(c.TRIANGLE_STRIP,0,4)}}(),l.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":208,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211}],208:[function(t,e,r){\\\"use strict\\\";var 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:\\\"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:n,textVert:\\\"#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:n,gridVert:\\\"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:n,boxVert:\\\"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:\\\"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\\\"}},{}],209:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}function i(t){var e=t.gl;return new n(t,a(e),o(e,u.textVert,u.textFrag))}e.exports=i;var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"text-cache\\\"),l=t(\\\"binary-search-bounds\\\"),u=t(\\\"./shaders\\\"),c=n.prototype;c.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],s=this.tickOffset[n],u=i.gl,c=i.viewBox,h=i.dataBox,f=i.screenBox,d=i.pixelRatio,p=i.tickEnable,m=i.tickPad,v=i.tickColor,g=i.tickAngle,y=i.labelEnable,b=i.labelPad,x=i.labelColor,_=i.labelAngle,w=this.labelOffset[n],M=this.labelCount[n],k=l.lt(o,h[n]),A=l.le(o,h[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(c[2+n]+c[n])/(f[2+n]-f[n])-1;var T=2/f[2+(1^n)]-f[1^n];e[1^n]=T*c[1^n]-1,p[n]&&(e[1^n]-=T*d*m[n],k<A&&s[A]>s[k]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=v[n],a.uniforms.angle=g[n],u.drawArrays(u.TRIANGLES,s[k],s[A]-s[k]))),y[n]&&M&&(e[1^n]-=T*d*b[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n],a.uniforms.angle=_[n],u.drawArrays(u.TRIANGLES,w,M)),e[1^n]=T*c[2+(1^n)]-1,p[n+2]&&(e[1^n]+=T*d*m[n+2],k<A&&s[A]>s[k]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=v[n+2],a.uniforms.angle=g[n+2],u.drawArrays(u.TRIANGLES,s[k],s[A]-s[k]))),y[n+2]&&M&&(e[1^n]+=T*d*b[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n+2],a.uniforms.angle=_[n+2],u.drawArrays(u.TRIANGLES,w,M))}}(),c.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),c.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var u=0;u<2;++u){var c=a[u],h=a[u+2],f=h-c,d=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],m=l[u],v=l[u+2],g=v-m,y=s[u],b=s[u+2],x=b-y;e[u]=2*f/p*g/x,t[u]=2*(c-d)/p*g/x}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),c.update=function(t){var e,r,n,i,a,o=[],l=t.ticks,u=t.bounds;for(a=0;a<2;++a){var c=[Math.floor(o.length/3)],h=[-1/0],f=l[a];for(e=0;e<f.length;++e){var d=f[e],p=d.x,m=d.text,v=d.font||\\\"sans-serif\\\";i=d.fontSize||12;for(var g=1/(u[a+2]-u[a]),y=u[a],b=m.split(\\\"\\\\n\\\"),x=0;x<b.length;x++)for(n=s(v,b[x]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-x*i*1.2,(p-y)*g);c.push(Math.floor(o.length/3)),h.push(p)}this.tickOffset[a]=c,this.tickX[a]=h}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=s(t.labelFont[a],t.labels[a],{textAlign:\\\"center\\\"}).data,\\n\",\n       \"i=t.labelSize[a],e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(o.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(o.length/3),n=s(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(o.length/3)-this.titleOffset,this.vbo.update(o)},c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":208,\\\"binary-search-bounds\\\":210,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":211,\\\"text-cache\\\":531}],210:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],211:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\\\"./lib/create-uniforms\\\"),s=t(\\\"./lib/create-attributes\\\"),l=t(\\\"./lib/reflect\\\"),u=t(\\\"./lib/shader-cache\\\"),c=t(\\\"./lib/runtime-reflect\\\"),h=t(\\\"./lib/GLError\\\"),f=n.prototype;f.bind=function(){this.program||this._relink();var t,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)},f.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},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,_,w);for(var t=0;t<r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,m=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),m&&m.dispose(),d.vertShader=d._vref.shader;var v=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),v&&v.dispose(),d.fragShader=d._fref.shader,!r||!n){var g=p.createProgram();if(p.attachShader(g,d.fragShader),p.attachShader(g,d.vertShader),p.linkProgram(g),!p.getProgramParameter(g,p.LINK_STATUS)){var y=p.getProgramInfoLog(g);throw new h(y,\\\"Error linking program:\\\"+y)}r=r||c.uniforms(p,g),n=n||c.attributes(p,g),p.deleteProgram(g)}n=n.slice(),n.sort(i);var b,x=[],_=[],w=[];for(b=0;b<n.length;++b){var M=n[b];if(M.type.indexOf(\\\"mat\\\")>=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T<k;++T)A[T]=w.length,_.push(M.name+\\\"[\\\"+T+\\\"]\\\"),\\\"number\\\"==typeof M.location?w.push(M.location+T):Array.isArray(M.location)&&M.location.length===k&&\\\"number\\\"==typeof M.location[T]?w.push(0|M.location[T]):w.push(-1);x.push({name:M.name,type:M.type,locations:A})}else x.push({name:M.name,type:M.type,locations:[w.length]}),_.push(M.name),\\\"number\\\"==typeof M.location?w.push(0|M.location):w.push(-1)}var S=0;for(b=0;b<w.length;++b)if(w[b]<0){for(;w.indexOf(S)>=0;)S+=1;w[b]=S}var E=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,x,w),Object.defineProperty(d,\\\"uniforms\\\",o(p,d,r,E))},e.exports=a},{\\\"./lib/GLError\\\":212,\\\"./lib/create-attributes\\\":213,\\\"./lib/create-uniforms\\\":214,\\\"./lib/reflect\\\":215,\\\"./lib/runtime-reflect\\\":216,\\\"./lib/shader-cache\\\":217}],212:[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},{}],213:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}function i(t,e,r,i,a,o,s){for(var l=[\\\"gl\\\",\\\"v\\\"],u=[],c=0;c<a;++c)l.push(\\\"x\\\"+c),u.push(\\\"x\\\"+c);l.push(\\\"if(x0.length===void 0){return gl.vertexAttrib\\\"+a+\\\"f(v,\\\"+u.join()+\\\")}else{return gl.vertexAttrib\\\"+a+\\\"fv(v,x0)}\\\");var h=Function.apply(null,l),f=new n(t,e,r,i,a,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(i[r]),h(t,i[r],e),e},get:function(){return f},enumerable:!0})}function a(t,e,r,n,a,o,s){for(var l=new Array(a),u=new Array(a),c=0;c<a;++c)i(t,e,r[c],n,a,l,c),u[c]=l[c];Object.defineProperty(l,\\\"location\\\",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)u[e].location=t[e];else for(var e=0;e<a;++e)u[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 u=n[r[l]];t.vertexAttribPointer(u,a,e,i,o,s+l*a),t.enableVertexAttribArray(u)}};var h=new Array(a),f=t[\\\"vertexAttrib\\\"+a+\\\"fv\\\"];Object.defineProperty(o,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})}function o(t,e,r,n){for(var o={},l=0,u=r.length;l<u;++l){var c=r[l],h=c.name,f=c.type,d=c.locations;switch(f){case\\\"bool\\\":case\\\"int\\\":case\\\"float\\\":i(t,e,d[0],n,1,o,h);break;default:if(f.indexOf(\\\"vec\\\")>=0){var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\\\"\\\",\\\"Invalid data type for attribute \\\"+h+\\\": \\\"+f);i(t,e,d[0],n,p,o,h)}else{if(!(f.indexOf(\\\"mat\\\")>=0))throw new s(\\\"\\\",\\\"Unknown data type for attribute \\\"+h+\\\": \\\"+f);var p=f.charCodeAt(f.length-1)-48;if(p<2||p>4)throw new s(\\\"\\\",\\\"Invalid data type for attribute \\\"+h+\\\": \\\"+f);a(t,e,d,n,p,o,h)}}}return o}e.exports=o;var s=t(\\\"./GLError\\\"),l=n.prototype;l.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},l.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(l,\\\"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\\\":212}],214:[function(t,e,r){\\\"use strict\\\";function n(t){return new Function(\\\"y\\\",\\\"return function(){return y}\\\")(t)}function i(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function a(t,e,r,a){function l(r){return new Function(\\\"gl\\\",\\\"wrapper\\\",\\\"locations\\\",\\\"return function(){return gl.getUniform(wrapper.program,locations[\\\"+r+\\\"])}\\\")(t,e,a)}function u(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=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+r);return\\\"gl.uniformMatrix\\\"+i+\\\"fv(locations[\\\"+e+\\\"],false,obj\\\"+t+\\\")\\\"}throw new s(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new s(\\\"\\\",\\\"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 s(\\\"\\\",\\\"Unrecognized data type for vector \\\"+name+\\\": \\\"+r)}}}function c(t,e){if(\\\"object\\\"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+\\\"\\\"===n?a+=\\\"[\\\"+n+\\\"]\\\":a+=\\\".\\\"+n,\\\"object\\\"==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function h(e){for(var n=[\\\"return function updateProperty(obj){\\\"],i=c(\\\"\\\",e),o=0;o<i.length;++o){var s=i[o],l=s[0],h=s[1];a[h]&&n.push(u(l,h,r[h].type))}return n.push(\\\"return obj}\\\"),new Function(\\\"gl\\\",\\\"locations\\\",n.join(\\\"\\\\n\\\"))(t,a)}function f(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){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\\\"\\\",\\\"Invalid data type\\\");return\\\"b\\\"===t.charAt(0)?i(r,!1):i(r,0)}if(0===t.indexOf(\\\"mat\\\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new s(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+t);return i(r*r,0)}throw new s(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+t)}}function d(t,e,i){if(\\\"object\\\"==typeof i){var o=p(i);Object.defineProperty(t,e,{get:n(o),set:h(i),enumerable:!0,configurable:!1})}else a[i]?Object.defineProperty(t,e,{get:l(i),set:h(i),enumerable:!0,configurable:!1}):t[e]=f(r[i].type)}function p(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)d(e,r,t[r])}else{e={};for(var n in t)d(e,n,t[n])}return e}var m=o(r,!0);return{get:n(p(m)),set:h(m),enumerable:!0,configurable:!0}}var o=t(\\\"./reflect\\\"),s=t(\\\"./GLError\\\");e.exports=a},{\\\"./GLError\\\":212,\\\"./reflect\\\":215}],215:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\\\".\\\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\\\"[\\\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var u=1;u<l.length;++u){var c=parseInt(l[u]);u<l.length-1||s<a.length-1?(c in o||(u<l.length-1?o[c]=[]:o[c]={}),o=o[c]):o[c]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}e.exports=n},{}],216:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(!s){var r=Object.keys(o);s={};for(var n=0;n<r.length;++n){var i=r[n];s[t[i]]=o[i]}}return s[e]}function i(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),i=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=n(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)i.push({name:o.name.replace(\\\"[0]\\\",\\\"[\\\"+l+\\\"]\\\"),type:s});else i.push({name:o.name,type:s})}}return i}function a(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),i=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&i.push({name:o.name,type:n(t,o.type)})}return i}r.uniforms=i,r.attributes=a;var o={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\\\"},s=null},{}],217:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function i(t){this.gl=t,this.shaders=[{},{}],this.programs={}}function a(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=h(i,r,e)}catch(t){throw console.warn(\\\"Failed to format compiler error: \\\"+t),new c(i,\\\"Error compiling shader:\\\\n\\\"+i)}throw new c(i,a.short,a.long)}return n}function o(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var o=0;o<n.length;++o)t.bindAttribLocation(a,i[o],n[o]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var s=t.getProgramInfoLog(a);throw new c(s,\\\"Error linking program: \\\"+s)}return a}function s(t){var e=d.get(t);return e||(e=new i(t),d.set(t,e)),e}function l(t,e,r){return s(t).getShaderReference(e,r)}function u(t,e,r,n,i){return s(t).getProgram(e,r,n,i)}r.shader=l,r.program=u;var c=t(\\\"./GLError\\\"),h=t(\\\"gl-format-compiler-error\\\"),f=\\\"undefined\\\"==typeof WeakMap?t(\\\"weakmap-shim\\\"):WeakMap,d=new f,p=0;n.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var m=i.prototype;m.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],o=i[e];if(o&&r.isShader(o.shader))o.count+=1;else{var s=a(r,t,e);o=i[e]=new n(p++,e,t,s,[],1,this)}return o},m.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(\\\":\\\"),n.join(\\\":\\\")].join(\\\"@\\\"),a=this.programs[i];return a&&this.gl.isProgram(a)||(this.programs[i]=a=o(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a}},{\\\"./GLError\\\":212,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],218:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function a(t,e){return t.x-e.x}function o(t){var e=t.gl,r=s(e,[e.drawingBufferWidth,e.drawingBufferHeight]),i=new n(e,r);return i.grid=l(i),i.text=u(i),i.line=c(i),i.box=h(i),i.update(t),i}e.exports=o;var s=t(\\\"gl-select-static\\\"),l=t(\\\"./lib/grid\\\"),u=t(\\\"./lib/text\\\"),c=t(\\\"./lib/line\\\"),h=t(\\\"./lib/box\\\"),f=n.prototype;f.setDirty=function(){this.dirty=this.pickDirty=!0},f.setOverlayDirty=function(){this.dirty=!0},f.nextDepthValue=function(){return this._depthCounter++/65536},f.draw=function(){return function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=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){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),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var u=this.borderColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[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 c=this.backgroundColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,d=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var p=0;p<2;++p)if(h[p]&&n[p]<=0&&n[p+2]>=0){var m=e[p]-n[p]*(e[p+2]-e[p])/(n[p+2]-n[p]);0===p?o.drawLine(m,e[1],m,e[3],d[p],f[p]):o.drawLine(e[0],m,e[2],m,d[p],f[p])}}for(var p=0;p<l.length;++p)l[p].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 v=this.borderLineEnable,g=this.borderLineWidth,y=this.borderLineColor;v[1]&&o.drawLine(r[0],r[1]-.5*g[1]*i,r[0],r[3]+.5*g[3]*i,g[1],y[1]),v[0]&&o.drawLine(r[0]-.5*g[0]*i,r[1],r[2]+.5*g[2]*i,r[1],g[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*g[1]*i,r[2],r[3]+.5*g[3]*i,g[3],y[3]),v[2]&&o.drawLine(r[0]-.5*g[0]*i,r[3],r[2]+.5*g[2]*i,r[3],g[2],y[2]),s.bind();for(var p=0;p<2;++p)s.drawTicks(p);this.titleEnable&&s.drawTitle();for(var b=this.overlays,p=0;p<b.length;++p)b[p].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}}}(),f.drawPick=function(){return 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()}}}(),f.pick=function(){return function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var h=u[c].pick(a,o,l);if(h)return h}return null}}}(),f.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()},f.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())},f.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()},f.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,o=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/o,10,10/o]),this.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=i(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=i(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=i(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=i(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=i(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=i(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var s=t.ticks||[[],[]],l=this._tickBounds;l[0]=l[1]=1/0,l[2]=l[3]=-1/0;for(var u=0;u<2;++u){var c=s[u].slice(0);0!==c.length&&(c.sort(a),l[u]=Math.min(l[u],c[0].x),l[u+2]=Math.max(l[u+2],c[c.length-1].x))}this.grid.update({bounds:l,ticks:s}),this.text.update({bounds:l,ticks:s,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()},f.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(var t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},f.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},f.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}},f.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},f.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\\\":205,\\\"./lib/grid\\\":206,\\\"./lib/line\\\":207,\\\"./lib/text\\\":209,\\\"gl-select-static\\\":253}],219:[function(t,e,r){var n=t(\\\"gl-shader\\\");e.exports=function(t){return n(t,\\\"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}\\\",\\\"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}\\\",null,[{name:\\\"position\\\",type:\\\"vec2\\\"}])}},{\\\"gl-shader\\\":254}],220:[function(t,e,r){\\\"use strict\\\";function n(){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 i(t,e){var r=null;try{r=t.getContext(\\\"webgl\\\",e),r||(r=t.getContext(\\\"experimental-webgl\\\",e))}catch(t){return null}return r}function a(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){var r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function o(t){return\\\"boolean\\\"!=typeof t||t}function s(t){function e(){if(!w&&G.autoResize){var t=M.parentNode,e=1,r=1;t&&t!==document.body?(e=t.clientWidth,r=t.clientHeight):(e=window.innerWidth,r=window.innerHeight);var n=0|Math.ceil(e*G.pixelRatio),i=0|Math.ceil(r*G.pixelRatio);if(n!==M.width||i!==M.height){M.width=n,M.height=i;var a=M.style;a.position=a.position||\\\"absolute\\\",a.left=\\\"0px\\\",a.top=\\\"0px\\\",a.width=e+\\\"px\\\",a.height=r+\\\"px\\\",N=!0}}}function r(){for(var t=O.length,e=j.length,r=0;r<e;++r)F[r]=0;t:for(var r=0;r<t;++r){var n=O[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(F[a]+i<255){R[r]=a,n.setPickBase(F[a]+1),F[a]+=i;continue t}var o=f(A,q);R[r]=e,j.push(o),F.push(i),n.setPickBase(1),e+=1}else R[r]=-1}for(;e>0&&0===F[e-1];)F.pop(),j.pop().dispose()}function s(){if(G.contextLost)return!0;A.isContextLost()&&(G.contextLost=!0,G.mouseListener.enabled=!1,G.selection.object=null,G.oncontextloss&&G.oncontextloss())}function b(){if(!s()){A.colorMask(!0,!0,!0,!0),A.depthMask(!0),A.disable(A.BLEND),A.enable(A.DEPTH_TEST);for(var t=O.length,e=j.length,r=0;r<e;++r){var n=j[r];n.shape=Y,n.begin();for(var i=0;i<t;++i)if(R[i]===r){var a=O[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(H))}n.end()}}}function x(){if(!s()){e();var t=G.camera.tick();H.view=G.camera.matrix,N=N||t,B=B||t,I.pixelRatio=G.pixelRatio,P.pixelRatio=G.pixelRatio;var r=O.length,n=Z[0],i=Z[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-1/0;for(var o=0;o<r;++o){var l=O[o];l.pixelRatio=G.pixelRatio,l.axes=G.axes,N=N||!!l.dirty,B=B||!!l.dirty;var u=l.bounds;if(u)for(var h=u[0],f=u[1],d=0;d<3;++d)n[d]=Math.min(n[d],h[d]),i[d]=Math.max(i[d],f[d])}var m=G.bounds;if(G.autoBounds)for(var d=0;d<3;++d){if(i[d]<n[d])n[d]=-1,i[d]=1;else{n[d]===i[d]&&(n[d]-=1,i[d]+=1);var g=.05*(i[d]-n[d]);n[d]=n[d]-g,i[d]=i[d]+g}m[0][d]=n[d],m[1][d]=i[d]}for(var y=!1,d=0;d<3;++d)y=y||J[0][d]!==m[0][d]||J[1][d]!==m[1][d],J[0][d]=m[0][d],J[1][d]=m[1][d];if(B=B||y,N=N||y){if(y){for(var x=[0,0,0],o=0;o<3;++o)x[o]=a((m[1][o]-m[0][o])/10);I.autoTicks?I.update({bounds:m,tickSpacing:x}):I.update({bounds:m})}var _=A.drawingBufferWidth,w=A.drawingBufferHeight;q[0]=_,q[1]=w,Y[0]=0|Math.max(_/G.pixelRatio,1),Y[1]=0|Math.max(w/G.pixelRatio,1),v(U,G.fovy,_/w,G.zNear,G.zFar);for(var o=0;o<16;++o)V[o]=0;V[15]=1;for(var M=0,o=0;o<3;++o)M=Math.max(M,m[1][o]-m[0][o]);for(var o=0;o<3;++o)G.autoScale?V[5*o]=G.aspect[o]/(m[1][o]-m[0][o]):V[5*o]=1/M,G.autoCenter&&(V[12+o]=.5*-V[5*o]*(m[0][o]+m[1][o]));for(var o=0;o<r;++o){var l=O[o];l.axesBounds=m,G.clipToBounds&&(l.clipBounds=m)}S.object&&(G.snapToData?P.position=S.dataCoordinate:P.position=S.dataPosition,P.bounds=m),B&&(B=!1,b()),G.axesPixels=c(G.axes,H,_,w),G.onrender&&G.onrender(),A.bindFramebuffer(A.FRAMEBUFFER,null),A.viewport(0,0,_,w);var k=G.clearColor;A.clearColor(k[0],k[1],k[2],k[3]),A.clear(A.COLOR_BUFFER_BIT|A.DEPTH_BUFFER_BIT),A.depthMask(!0),A.colorMask(!0,!0,!0,!0),A.enable(A.DEPTH_TEST),A.depthFunc(A.LEQUAL),A.disable(A.BLEND),A.disable(A.CULL_FACE);var T=!1;I.enable&&(T=T||I.isTransparent(),I.draw(H)),P.axes=I,S.object&&P.draw(H),A.disable(A.CULL_FACE);for(var o=0;o<r;++o){var l=O[o];l.axes=I,l.pixelRatio=G.pixelRatio,l.isOpaque&&l.isOpaque()&&l.draw(H),l.isTransparent&&l.isTransparent()&&(T=!0)}if(T){E.shape=q,E.bind(),A.clear(A.DEPTH_BUFFER_BIT),A.colorMask(!1,!1,!1,!1),A.depthMask(!0),A.depthFunc(A.LESS),I.enable&&I.isTransparent()&&I.drawTransparent(H);for(var o=0;o<r;++o){var l=O[o];l.isOpaque&&l.isOpaque()&&l.draw(H)}A.enable(A.BLEND),A.blendEquation(A.FUNC_ADD),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.colorMask(!0,!0,!0,!0),A.depthMask(!1),A.clearColor(0,0,0,0),A.clear(A.COLOR_BUFFER_BIT),I.isTransparent()&&I.drawTransparent(H);for(var o=0;o<r;++o){var l=O[o];l.isTransparent&&l.isTransparent()&&l.drawTransparent(H)}A.bindFramebuffer(A.FRAMEBUFFER,null),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.disable(A.DEPTH_TEST),L.bind(),E.color[0].bind(0),L.uniforms.accumBuffer=0,p(A),A.disable(A.BLEND)}N=!1;for(var o=0;o<r;++o)O[o].dirty=!1}}}function _(){w||G.contextLost||(requestAnimationFrame(_),x())}t=t||{};var w=!1,M=(t.pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!M)if(M=document.createElement(\\\"canvas\\\"),t.container){var k=t.container;k.appendChild(M)}else document.body.appendChild(M);var A=t.gl;if(A||(A=i(M,t.glOptions||{premultipliedAlpha:!0,antialias:!0})),!A)throw new Error(\\\"webgl not supported\\\");var T=t.bounds||[[-10,-10,-10],[10,10,10]],S=new n,E=d(A,[A.drawingBufferWidth,A.drawingBufferHeight],{preferFloat:!y}),L=g(A),C=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\\\"turntable\\\"},z=t.axes||{},I=u(A,z);I.enable=!z.disable;var D=t.spikes||{},P=h(A,D),O=[],R=[],F=[],j=[],N=!0,B=!0,U=new Array(16),V=new Array(16),H={view:null,projection:U,model:V},B=!0,q=[A.drawingBufferWidth,A.drawingBufferHeight],G={gl:A,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:M,selection:S,camera:l(M,C),axes:I,axesPixels:null,spikes:P,bounds:T,objects:O,shape:q,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:o(t.autoResize),autoBounds:o(t.autoBounds),autoScale:!!t.autoScale,autoCenter:o(t.autoCenter),clipToBounds:o(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:H,oncontextloss:null,mouseListener:null},Y=[A.drawingBufferWidth/G.pixelRatio|0,A.drawingBufferHeight/G.pixelRatio|0];G.autoResize&&e(),window.addEventListener(\\\"resize\\\",e),G.update=function(t){w||(t=t||{},N=!0,B=!0)},G.add=function(t){w||(t.axes=I,O.push(t),R.push(-1),N=!0,B=!0,r())},G.remove=function(t){if(!w){var e=O.indexOf(t);e<0||(O.splice(e,1),R.pop(),N=!0,B=!0,r())}},G.dispose=function(){if(!w&&(w=!0,window.removeEventListener(\\\"resize\\\",e),M.removeEventListener(\\\"webglcontextlost\\\",s),G.mouseListener.enabled=!1,!G.contextLost)){I.dispose(),P.dispose();for(var t=0;t<O.length;++t)O[t].dispose();E.dispose();for(var t=0;t<j.length;++t)j[t].dispose();L.dispose(),A=null,I=null,P=null,O=[]}};var X=!1,W=0;G.mouseListener=m(M,function(t,e,r){if(!w){var n=j.length,i=O.length,a=S.object;S.distance=1/0,S.mouse[0]=e,S.mouse[1]=r,S.object=null,S.screen=null,S.dataCoordinate=S.dataPosition=null;var o=!1;if(t&&W)X=!0;else{X&&(B=!0),X=!1;for(var s=0;s<n;++s){var l=j[s].query(e,Y[1]-r-1,G.pickRadius);if(l){if(l.distance>S.distance)continue;for(var u=0;u<i;++u){var c=O[u];if(R[u]===s){var h=c.pick(l);h&&(S.buttons=t,S.screen=l.coord,S.distance=l.distance,S.object=c,S.index=h.distance,S.dataPosition=h.position,S.dataCoordinate=h.dataCoordinate,S.data=h,o=!0)}}}}}a&&a!==S.object&&(a.highlight&&a.highlight(null),N=!0),S.object&&(S.object.highlight&&S.object.highlight(S.data),N=!0),o=o||S.object!==a,o&&G.onselect&&G.onselect(S),1&t&&!(1&W)&&G.onclick&&G.onclick(S),W=t}}),M.addEventListener(\\\"webglcontextlost\\\",s);var Z=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],J=[Z[0].slice(),Z[1].slice()];return _(),G.redraw=function(){w||(N=!0,x())},G}e.exports=s;var l=t(\\\"3d-view-controls\\\"),u=t(\\\"gl-axes3d\\\"),c=t(\\\"gl-axes3d/properties\\\"),h=t(\\\"gl-spikes3d\\\"),f=t(\\\"gl-select-static\\\"),d=t(\\\"gl-fbo\\\"),p=t(\\\"a-big-triangle\\\"),m=t(\\\"mouse-change\\\"),v=t(\\\"gl-mat4/perspective\\\"),g=t(\\\"./lib/shader\\\"),y=t(\\\"is-mobile\\\")()},{\\\"./lib/shader\\\":219,\\\"3d-view-controls\\\":35,\\\"a-big-triangle\\\":38,\\\"gl-axes3d\\\":147,\\\"gl-axes3d/properties\\\":154,\\\"gl-fbo\\\":163,\\\"gl-mat4/perspective\\\":183,\\\"gl-select-static\\\":253,\\\"gl-spikes3d\\\":263,\\\"is-mobile\\\":295,\\\"mouse-change\\\":451}],221:[function(t,e,r){r.pointVertex=\\\"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=\\\"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=\\\"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=\\\"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\\\"},{}],222:[function(t,e,r){arguments[4][211][0].apply(r,arguments)},{\\\"./lib/GLError\\\":223,\\\"./lib/create-attributes\\\":224,\\\"./lib/create-uniforms\\\":225,\\\"./lib/reflect\\\":226,\\\"./lib/runtime-reflect\\\":227,\\\"./lib/shader-cache\\\":228,dup:211}],223:[function(t,e,r){arguments[4][212][0].apply(r,arguments)},{dup:212}],224:[function(t,e,r){arguments[4][213][0].apply(r,arguments)},{\\n\",\n       \"\\\"./GLError\\\":223,dup:213}],225:[function(t,e,r){arguments[4][214][0].apply(r,arguments)},{\\\"./GLError\\\":223,\\\"./reflect\\\":226,dup:214}],226:[function(t,e,r){arguments[4][215][0].apply(r,arguments)},{dup:215}],227:[function(t,e,r){arguments[4][216][0].apply(r,arguments)},{dup:216}],228:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{\\\"./GLError\\\":223,dup:217,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],229:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,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}function i(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}function a(t,e){var r=t.gl,i=s(r),a=s(r),l=o(r,u.pointVertex,u.pointFragment),c=o(r,u.pickVertex,u.pickFragment),h=new n(t,i,a,l,c);return h.update(e),t.addObject(h),h}var o=t(\\\"gl-shader\\\"),s=t(\\\"gl-buffer\\\"),l=t(\\\"typedarray-pool\\\"),u=t(\\\"./lib/shader\\\");e.exports=a;var c=n.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){function e(e,r){return e in t?t[e]:r}var r;t=t||{},this.sizeMin=e(\\\"sizeMin\\\",.5),this.sizeMax=e(\\\"sizeMax\\\",20),this.color=e(\\\"color\\\",[1,0,0,1]).slice(),this.areaRatio=e(\\\"areaRatio\\\",1),this.borderColor=e(\\\"borderColor\\\",[0,0,0,1]).slice(),this.blend=e(\\\"blend\\\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,o=t.positions,s=i?o:l.mallocFloat32(o.length),u=a?t.idToIndex:l.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),r=0;r<n;r++)u[r]=r;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(u),i||l.free(s),a||l.free(u),this.pointCount=n,this.pickOffset=0},c.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,a=n?this.pickShader:this.shader,o=this.plot.gl,s=this.plot.dataBox;if(0===this.pointCount)return r;var l=s[2]-s[0],u=s[3]-s[1],c=i(this.points,s),h=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(c,.33333)));t[0]=2/l,t[4]=2/u,t[6]=-2*s[0]/l-1,t[7]=-2*s[1]/u-1,this.offsetBuffer.bind(),a.bind(),a.attributes.position.pointer(),a.uniforms.matrix=t,a.uniforms.color=this.color,a.uniforms.borderColor=this.borderColor,a.uniforms.pointCloud=h<5,a.uniforms.pointSize=h,a.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&&(e[0]=255&r,e[1]=r>>8&255,e[2]=r>>16&255,e[3]=r>>24&255,this.pickBuffer.bind(),a.attributes.pickId.pointer(o.UNSIGNED_BYTE),a.uniforms.pickOffset=e,this.pickOffset=r);var f=o.getParameter(o.BLEND),d=o.getParameter(o.DITHER);return f&&!this.blend&&o.disable(o.BLEND),d&&o.disable(o.DITHER),o.drawArrays(o.POINTS,0,this.pointCount),f&&!this.blend&&o.enable(o.BLEND),d&&o.enable(o.DITHER),r+this.pointCount}}(),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\\\"./lib/shader\\\":221,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":222,\\\"typedarray-pool\\\":540}],230:[function(t,e,r){function n(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],d=r[0],p=r[1],m=r[2],v=r[3];return a=u*d+c*p+h*m+f*v,a<0&&(a=-a,d=-d,p=-p,m=-m,v=-v),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*h+l*m,t[3]=s*f+l*v,t}e.exports=n},{}],231:[function(t,e,r){\\\"use strict\\\";e.exports={vertex:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\n\\\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo) {\\\\n  return vec4((posHi + trHi) * scHi\\\\n  \\\\t\\\\t\\\\t//FIXME: this thingy does not give noticeable precision gain, need test\\\\n            + (posLo + trLo) * scHi\\\\n            + (posHi + trHi) * scLo\\\\n            + (posLo + trLo) * scLo\\\\n            , 0, 1);\\\\n}\\\\n\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute float size, border;\\\\nattribute vec2 char, color;\\\\n\\\\n//this is 64-bit form of scale and translate\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform float pixelRatio;\\\\nuniform vec4 viewBox;\\\\nuniform sampler2D palette;\\\\n\\\\nvarying vec4 charColor, borderColor;\\\\nvarying vec2 charId;\\\\nvarying vec2 pointCoord;\\\\nvarying float pointSize;\\\\nvarying float borderWidth;\\\\n\\\\n\\\\nvoid main() {\\\\n  charColor = texture2D(palette, vec2(color.x / 255., 0));\\\\n  borderColor = texture2D(palette, vec2(color.y / 255., 0));\\\\n\\\\n  gl_PointSize = size * pixelRatio;\\\\n  pointSize = size * pixelRatio;\\\\n\\\\n  charId = char;\\\\n  borderWidth = border;\\\\n\\\\n  gl_Position = computePosition_1_0(\\\\n    positionHi, positionLo,\\\\n    scaleHi, scaleLo,\\\\n    translateHi, translateLo);\\\\n\\\\n  pointCoord = viewBox.xy + (viewBox.zw - viewBox.xy) * (gl_Position.xy * .5 + .5);\\\\n}\\\\n\\\",fragment:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform sampler2D chars;\\\\nuniform vec2 charsShape;\\\\nuniform float charsStep, pixelRatio, charOffset;\\\\n\\\\nvarying vec4 borderColor;\\\\nvarying vec4 charColor;\\\\nvarying vec2 charId;\\\\nvarying vec2 pointCoord;\\\\nvarying float pointSize;\\\\nvarying float borderWidth;\\\\n\\\\nvoid main() {\\\\n\\\\tvec2 pointUV = (pointCoord - gl_FragCoord.xy + pointSize * .5) / pointSize;\\\\n\\\\tpointUV.x = 1. - pointUV.x;\\\\n\\\\tvec2 texCoord = ((charId + pointUV) * charsStep) / charsShape;\\\\n\\\\tfloat dist = texture2D(chars, texCoord).r;\\\\n\\\\n\\\\t//max-distance alpha\\\\n\\\\tif (dist < 1e-2)\\\\n\\\\t\\\\tdiscard;\\\\n\\\\n\\\\tfloat gamma = .0045 * charsStep / pointSize;\\\\n\\\\n    //null-border case\\\\n \\\\tif (borderWidth * borderColor.a == 0.) {\\\\n\\\\t\\\\tfloat charAmt = smoothstep(.748 - gamma, .748 + gamma, dist);\\\\n\\\\t\\\\tgl_FragColor = vec4(charColor.rgb, charAmt*charColor.a);\\\\n\\\\t\\\\treturn;\\\\n\\\\t}\\\\n\\\\n\\\\tfloat dif = 5. * pixelRatio * borderWidth / pointSize;\\\\n\\\\tfloat borderLevel = .748 - dif * .5;\\\\n\\\\tfloat charLevel = .748 + dif * .5;\\\\n\\\\n\\\\tfloat borderAmt = smoothstep(borderLevel - gamma, borderLevel + gamma, dist);\\\\n\\\\tfloat charAmt = smoothstep(charLevel - gamma, charLevel + gamma, dist);\\\\n\\\\n\\\\tvec4 color = borderColor;\\\\n\\\\tcolor.a *= borderAmt;\\\\n\\\\n\\\\tgl_FragColor = mix(color, charColor, charAmt);\\\\n}\\\\n\\\",pickVertex:\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute vec4 id;\\\\nattribute float size;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform vec4 pickOffset;\\\\nuniform float pixelRatio;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\n\\\\nvec4 computePosition_1_0(vec2 posHi, vec2 posLo, vec2 scHi, vec2 scLo, vec2 trHi, vec2 trLo) {\\\\n  return vec4((posHi + trHi) * scHi\\\\n  \\\\t\\\\t\\\\t//FIXME: this thingy does not give noticeable precision gain, need test\\\\n            + (posLo + trLo) * scHi\\\\n            + (posHi + trHi) * scLo\\\\n            + (posLo + trLo) * scLo\\\\n            , 0, 1);\\\\n}\\\\n\\\\n\\\\nvoid main() {\\\\n  vec4 fragId = id + pickOffset;\\\\n\\\\n  fragId.y += floor(fragId.x / 256.0);\\\\n  fragId.x -= floor(fragId.x / 256.0) * 256.0;\\\\n\\\\n  fragId.z += floor(fragId.y / 256.0);\\\\n  fragId.y -= floor(fragId.y / 256.0) * 256.0;\\\\n\\\\n  fragId.w += floor(fragId.z / 256.0);\\\\n  fragId.z -= floor(fragId.z / 256.0) * 256.0;\\\\n\\\\n  fragColor = fragId / 255.0;\\\\n\\\\n  gl_PointSize = size * .25 * pixelRatio;\\\\n\\\\n  gl_Position = computePosition_1_0(\\\\n    positionHi, positionLo,\\\\n    scaleHi, scaleLo,\\\\n    translateHi, translateLo);\\\\n}\\\\n\\\",pickFragment:\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\nvarying vec4 fragColor;\\\\nvoid main() {\\\\n  gl_FragColor = fragColor;\\\\n}\\\\n\\\"}},{}],232:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],233:[function(t,e,r){arguments[4][211][0].apply(r,arguments)},{\\\"./lib/GLError\\\":234,\\\"./lib/create-attributes\\\":235,\\\"./lib/create-uniforms\\\":236,\\\"./lib/reflect\\\":237,\\\"./lib/runtime-reflect\\\":238,\\\"./lib/shader-cache\\\":239,dup:211}],234:[function(t,e,r){arguments[4][212][0].apply(r,arguments)},{dup:212}],235:[function(t,e,r){arguments[4][213][0].apply(r,arguments)},{\\\"./GLError\\\":234,dup:213}],236:[function(t,e,r){arguments[4][214][0].apply(r,arguments)},{\\\"./GLError\\\":234,\\\"./reflect\\\":237,dup:214}],237:[function(t,e,r){arguments[4][215][0].apply(r,arguments)},{dup:215}],238:[function(t,e,r){arguments[4][216][0].apply(r,arguments)},{dup:216}],239:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{\\\"./GLError\\\":234,dup:217,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],240:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a){a<=4*f?i(0,a-1,t,e,r,n):h(0,a-1,t,e,r,n)}function i(t,e,r,n,i,a){for(var o=t+1;o<=e;++o){for(var s=r[o],l=n[2*o],u=n[2*o+1],c=i[o],h=a[o],f=o;f>t;){var d=r[f-1],p=n[2*(f-1)];if((d-s||l-p)>=0)break;r[f]=d,n[2*f]=p,n[2*f+1]=n[2*f-1],i[f]=i[f-1],a[f]=a[f-1],f-=1}r[f]=s,n[2*f]=l,n[2*f+1]=u,i[f]=c,a[f]=h}}function a(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],u=i[t],c=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=u,a[e]=c}function o(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function s(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],u=i[2*t+1],c=a[t],h=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=u,a[r]=c,o[r]=h}function l(t,e,r,n,i,a,o,s,l,u,c){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],u[t]=u[e],c[t]=c[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,u[e]=a,c[e]=o}function u(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function c(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}function h(t,e,r,n,d,p){var m=(e-t+1)/6|0,v=t+m,g=e-m,y=t+e>>1,b=y-m,x=y+m,_=v,w=b,M=y,k=x,A=g,T=t+1,S=e-1,E=0;u(_,w,r,n,d,p)&&(E=_,_=w,w=E),u(k,A,r,n,d,p)&&(E=k,k=A,A=E),u(_,M,r,n,d,p)&&(E=_,_=M,M=E),u(w,M,r,n,d,p)&&(E=w,w=M,M=E),u(_,k,r,n,d,p)&&(E=_,_=k,k=E),u(M,k,r,n,d,p)&&(E=M,M=k,k=E),u(w,A,r,n,d,p)&&(E=w,w=A,A=E),u(w,M,r,n,d,p)&&(E=w,w=M,M=E),u(k,A,r,n,d,p)&&(E=k,k=A,A=E);var L=r[w],C=n[2*w],z=n[2*w+1],I=d[w],D=p[w],P=r[k],O=n[2*k],R=n[2*k+1],F=d[k],j=p[k],N=_,B=M,U=A,V=v,H=y,q=g,G=r[N],Y=r[B],X=r[U];r[V]=G,r[H]=Y,r[q]=X;for(var W=0;W<2;++W){var Z=n[2*N+W],J=n[2*B+W],K=n[2*U+W];n[2*V+W]=Z,n[2*H+W]=J,n[2*q+W]=K}var Q=d[N],$=d[B],tt=d[U];d[V]=Q,d[H]=$,d[q]=tt;var et=p[N],rt=p[B],nt=p[U];p[V]=et,p[H]=rt,p[q]=nt,o(b,t,r,n,d,p),o(x,e,r,n,d,p);for(var it=T;it<=S;++it)if(c(it,L,C,z,I,r,n,d))it!==T&&a(it,T,r,n,d,p),++T;else if(!c(it,P,O,R,F,r,n,d))for(;;){if(c(S,P,O,R,F,r,n,d)){c(S,L,C,z,I,r,n,d)?(s(it,T,S,r,n,d,p),++T,--S):(a(it,S,r,n,d,p),--S);break}if(--S<it)break}l(t,T-1,L,C,z,I,D,r,n,d,p),l(e,S+1,P,O,R,F,j,r,n,d,p),T-2-t<=f?i(t,T-2,r,n,d,p):h(t,T-2,r,n,d,p),e-(S+2)<=f?i(S+2,e,r,n,d,p):h(S+2,e,r,n,d,p),S-T<=f?i(T,S,r,n,d,p):h(T,S,r,n,d,p)}e.exports=n;var f=32},{}],241:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){for(var l=r,u=r;u<n;++u){var c=t[2*u],h=t[2*u+1],f=e[u];i<=c&&c<=o&&a<=h&&h<=s&&(u===l?l+=1:(t[2*u]=t[2*l],t[2*u+1]=t[2*l+1],e[u]=e[l],t[2*l]=c,t[2*l+1]=h,e[l]=f,l+=1))}return l}function i(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}function a(t,e,r,a){function l(i,a,o,s,u,c){var h=.5*o,f=s+1,d=u-s;r[_]=d,x[_++]=c;for(var p=0;p<2;++p)for(var m=0;m<2;++m){var v=i+p*h,g=a+m*h,y=n(t,e,f,u,v,g,v+h,g+h);if(y!==f){if(y-f>=Math.max(.9*d,32)){var b=u+s>>>1;l(v,g,h,f,b,c+1),f=b}l(v,g,h,f,y,c+1),f=y}}}var u=t.length>>>1;if(u<1)return[];for(var c=1/0,h=1/0,f=-1/0,d=-1/0,p=0;p<u;++p){var m=t[2*p],v=t[2*p+1];c=Math.min(c,m),f=Math.max(f,m),h=Math.min(h,v),d=Math.max(d,v),e[p]=p}c===f&&(f+=1+Math.abs(f)),h===d&&(d+=1+Math.abs(f));var g=1/(f-c),y=1/(d-h),b=Math.max(f-c,d-h);a=a||[0,0,0,0],a[0]=c,a[1]=h,a[2]=f,a[3]=d;var x=o.mallocInt32(u),_=0;l(c,h,b,0,u,0),s(x,t,e,r,u);for(var w=[],M=0,k=u,_=u-1;_>=0;--_){t[2*_]=(t[2*_]-c)*g,t[2*_+1]=(t[2*_+1]-h)*y;var A=x[_];A!==M&&(w.push(new i(b*Math.pow(.5,A),_+1,k-(_+1))),k=_+1,M=A)}return w.push(new i(b*Math.pow(.5,A+1),0,k)),o.free(x),w}var o=t(\\\"typedarray-pool\\\"),s=t(\\\"./lib/sort\\\");e.exports=a},{\\\"./lib/sort\\\":240,\\\"typedarray-pool\\\":540}],242:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.sizeBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.charBuffer=s,this.pointCount=0,this.pickOffset=0,this.points=null,this.scales=[],this.xCoords=[],this.charCanvas=document.createElement(\\\"canvas\\\"),this.charTexture=m(this.plot.gl,this.charCanvas),this.charStep=400,this.charFit=.255,this.snapThreshold=1e4,this.paletteTexture=m(this.plot.gl,[256,1])}function i(){var t=this.plot,e=t.viewBox,r=t.dataBox,n=t.pixelRatio,i=r[2]-r[0],a=r[3]-r[1],u=2/i,c=2/a,h=-r[0]-.5*i,f=-r[1]-.5*a;_[0]=u,w[0]=u-_[0],_[1]=c,w[1]=c-_[1],M[0]=h,k[0]=h-M[0],M[1]=f,k[1]=f-M[1];var d=e[2]-e[0],p=e[3]-e[1];o=Math.min(i/d,a/p),A[0]=2*n/d,A[1]=2*n/p,s=r[0],l=r[2]}function a(t,e){var r=t.gl,i=u(r,f.vertex,f.fragment),a=u(r,f.pickVertex,f.pickFragment),o=c(r),s=c(r),l=c(r),h=c(r),d=c(r),p=new n(t,i,a,o,s,l,h,d);return p.update(e),t.addObject(p),p}e.exports=a;var o,s,l,u=t(\\\"gl-shader\\\"),c=t(\\\"gl-buffer\\\"),h=t(\\\"typedarray-pool\\\"),f=t(\\\"./lib/shaders\\\"),d=t(\\\"snap-points-2d\\\"),p=t(\\\"font-atlas-sdf\\\"),m=t(\\\"gl-texture2d\\\"),v=t(\\\"color-id\\\"),g=t(\\\"ndarray\\\"),y=t(\\\"clamp\\\"),b=t(\\\"binary-search-bounds\\\"),x=n.prototype,_=new Float32Array([0,0]),w=new Float32Array([0,0]),M=new Float32Array([0,0]),k=new Float32Array([0,0]),A=[0,0],T=[0,0,0,0];x.drawPick=function(t){var e=void 0!==t,r=this.plot,n=this.pointCount,a=n>this.snapThreshold;if(!n)return t;i.call(this);var u=r.gl,c=e?this.pickShader:this.shader,h=u.isEnabled(u.BLEND);if(c.bind(),e){this.pickOffset=t;for(var f=0;f<4;++f)T[f]=t>>8*f&255;c.uniforms.pickOffset=T,this.idBuffer.bind(),c.attributes.id.pointer(u.UNSIGNED_BYTE,!1)}else u.blendFuncSeparate(u.SRC_ALPHA,u.ONE_MINUS_SRC_ALPHA,u.ONE,u.ONE_MINUS_SRC_ALPHA),u.blendColor(0,0,0,1),h||u.enable(u.BLEND),this.colorBuffer.bind(),c.attributes.color.pointer(u.UNSIGNED_BYTE,!1),this.charBuffer.bind(),c.attributes.char.pointer(u.UNSIGNED_BYTE,!1),c.uniforms.chars=this.charTexture.bind(0),c.uniforms.charsShape=[this.charCanvas.width,this.charCanvas.height],c.uniforms.charsStep=this.charStep,c.uniforms.palette=this.paletteTexture.bind(1);this.sizeBuffer.bind(),c.attributes.size.pointer(u.FLOAT,!1,8,0),e||c.attributes.border.pointer(u.FLOAT,!1,8,4),this.positionBuffer.bind(),c.attributes.positionHi.pointer(u.FLOAT,!1,16,0),c.attributes.positionLo.pointer(u.FLOAT,!1,16,8),c.uniforms.pixelRatio=r.pixelRatio,c.uniforms.scaleHi=_,c.uniforms.scaleLo=w,c.uniforms.translateHi=M,c.uniforms.translateLo=k,c.uniforms.viewBox=r.viewBox;var d=this.scales;if(a)for(var p=d.length-1;p>=0;p--){var m=d[p];if(!(m.pixelSize&&m.pixelSize<1.25*o&&p>1)){var v=m.offset,g=m.count+v,y=b.ge(this.xCoords,s,v,g-1),x=b.lt(this.xCoords,l,y,g-1)+1;x>y&&u.drawArrays(u.POINTS,y,x-y)}}else u.drawArrays(u.POINTS,0,n);if(e)return t+n;h?u.blendFunc(u.ONE,u.ONE_MINUS_SRC_ALPHA):u.disable(u.BLEND)},x.draw=x.drawPick,x.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}},x.update=function(t){t=t||{};var e=t.positions||[],r=t.colors||[],n=t.glyphs||[],i=t.sizes||[],a=t.borderWidths||[],o=t.borderColors||[],s=this.plot.gl,l=this.pointCount,u=l>this.snapThreshold;if(null!=t.positions){this.points=e,l=this.points.length/2,u=l>this.snapThreshold;var c=h.mallocFloat32(2*l),f=h.mallocFloat64(2*l),m=h.mallocUint32(l),b=h.mallocFloat32(4*l);f.set(this.points),u&&(this.i2idx&&h.free(this.i2idx),this.i2idx=h.mallocInt32(l),this.scales=d(f,this.i2idx,c)),this.pointCount=l;for(var x=0;x<l;++x){var _=u?this.i2idx[x]:x;m[x]=_;var w=e[2*_],M=e[2*_+1];b[4*x]=w,b[4*x+1]=M,b[4*x+2]=w-b[4*x],b[4*x+3]=M-b[4*x+1],this.xCoords[x]=w}this.idBuffer.update(m),this.positionBuffer.update(b),h.free(b),h.free(m),h.free(f),h.free(c)}for(var k=h.mallocFloat32(2*l),A=h.mallocUint8(2*l),T=h.mallocUint8(2*l),S={},E=[],L=[],C=[],x=0,z=l,I=0;x<z;++x){var D=[255*r[4*x],255*r[4*x+1],255*r[4*x+2],255*r[4*x+3]],P=v(D,!1);null==S[P]&&(S[P]=I++,L.push(D[0]),L.push(D[1]),L.push(D[2]),L.push(D[3])),E.push(P),o&&o.length&&(D=[255*o[4*x],255*o[4*x+1],255*o[4*x+2],255*o[4*x+3]],P=v(D,!1),null==S[P]&&(S[P]=I++,L.push(D[0]),L.push(D[1]),L.push(D[2]),L.push(D[3])),C.push(P))}for(var O={},x=0,z=l,I=0;x<z;x++){var R=n[x];null==O[R]&&(O[R]=I++)}for(var F=0,x=0,z=i.length;x<z;++x)i[x]>F&&(F=i[x]);var j=this.charStep;this.charStep=y(Math.ceil(4*F),128,768);var N=Object.keys(O),B=this.charStep,U=Math.floor(B/2),V=s.getParameter(s.MAX_TEXTURE_SIZE),H=V/B*(V/B),q=Math.min(V,B*N.length),G=Math.min(V,B*Math.ceil(B*N.length/V)),Y=Math.floor(q/B);N.length>H&&console.warn(\\\"gl-scatter2d-fancy: number of characters is more than maximum texture size. Try reducing it.\\\"),this.chars&&this.chars+\\\"\\\"==N+\\\"\\\"&&this.charStep==j||(this.charCanvas=p({canvas:this.charCanvas,family:\\\"sans-serif\\\",size:U,shape:[q,G],step:[B,B],chars:N,align:!0,fit:this.charFit}),this.chars=N);for(var x=0;x<l;++x){var _=u?this.i2idx[x]:x,X=i[_],W=a[_];k[2*x]=2*X,k[2*x+1]=W;var P=E[_],Z=S[P];A[2*x]=Z;var J=C[_],K=S[J];A[2*x+1]=K;var R=n[_],Q=O[R];T[2*x+1]=Math.floor(Q/Y),T[2*x]=Q%Y}this.sizeBuffer.update(k),this.colorBuffer.update(A),this.charBuffer.update(T),this.charTexture.shape=[this.charCanvas.width,this.charCanvas.height],this.charCanvas&&this.charCanvas.width&&this.charTexture.setPixels(this.charCanvas),this.paletteTexture.setPixels(g(L.slice(0,1024),[256,1,4])),h.free(k),h.free(A),h.free(T)},x.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.sizeBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.charBuffer.dispose(),this.plot.removeObject(this)}},{\\\"./lib/shaders\\\":231,\\\"binary-search-bounds\\\":232,clamp:87,\\\"color-id\\\":91,\\\"font-atlas-sdf\\\":133,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":233,\\\"gl-texture2d\\\":266,ndarray:466,\\\"snap-points-2d\\\":241,\\\"typedarray-pool\\\":540}],243:[function(t,e,r){r.pointVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute float weight;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform float pointSize, useWeight;\\\\n\\\\nvarying float fragWeight;\\\\n\\\\n\\\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\\\n  return vec4((positionHi + translateHi) * scaleHi\\\\n            + (positionLo + translateLo) * scaleHi\\\\n            + (positionHi + translateHi) * scaleLo\\\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\\\n}\\\\n\\\\nvoid main() {\\\\n  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\\\n  gl_PointSize = pointSize;\\\\n  fragWeight = mix(1.0, weight, useWeight);\\\\n}\\\",r.pointFragment=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color, borderColor;\\\\nuniform float centerFraction;\\\\n\\\\nvarying float fragWeight;\\\\n\\\\nfloat smoothStep(float x, float y) {\\\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\\\n}\\\\n\\\\nvoid main() {\\\\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\\\\n  if(radius > 1.0) {\\\\n    discard;\\\\n  }\\\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, fragWeight);\\\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\\\n}\\\\n\\\",r.pickVertex=\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvec4 pfx_1_0(vec2 scaleHi, vec2 scaleLo, vec2 translateHi, vec2 translateLo, vec2 positionHi, vec2 positionLo) {\\\\n  return vec4((positionHi + translateHi) * scaleHi\\\\n            + (positionLo + translateLo) * scaleHi\\\\n            + (positionHi + translateHi) * scaleLo\\\\n            + (positionLo + translateLo) * scaleLo, 0.0, 1.0);\\\\n}\\\\n\\\\nattribute vec2 positionHi, positionLo;\\\\nattribute vec4 pickId;\\\\n\\\\nuniform vec2 scaleHi, scaleLo, translateHi, translateLo;\\\\nuniform float pointSize;\\\\nuniform vec4 pickOffset;\\\\n\\\\nvarying vec4 fragId;\\\\n\\\\nvoid main() {\\\\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  gl_Position = pfx_1_0(scaleHi, scaleLo, translateHi, translateLo, positionHi, positionLo);\\\\n  gl_PointSize = pointSize;\\\\n  fragId = id;\\\\n}\\\",r.pickFragment=\\\"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}\\\"},{}],244:[function(t,e,r){arguments[4][83][0].apply(r,arguments)},{dup:83}],245:[function(t,e,r){arguments[4][240][0].apply(r,arguments)},{dup:240}],246:[function(t,e,r){arguments[4][241][0].apply(r,arguments)},{\\\"./lib/sort\\\":245,dup:241,\\\"typedarray-pool\\\":540}],247:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){this.plot=t,this.positionBufferHi=e,this.positionBufferLo=r,this.pickBuffer=n,this.weightBuffer=i,this.shader=a,this.pickShader=o,this.scales=[],this.size=12,this.borderSize=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0,this.points=null,this.xCoords=null,this.snapPoints=!0}function i(t,e){var r=t.gl,i=o(r),s=o(r),l=o(r),u=o(r),h=a(r,c.pointVertex,c.pointFragment),f=a(r,c.pickVertex,c.pickFragment),d=new n(t,i,s,l,u,h,f);return d.update(e),t.addObject(d),d}var a=t(\\\"gl-shader\\\"),o=t(\\\"gl-buffer\\\"),s=t(\\\"binary-search-bounds\\\"),l=t(\\\"snap-points-2d\\\"),u=t(\\\"typedarray-pool\\\"),c=t(\\\"./lib/shader\\\"),h=t(\\\"array-normalize\\\"),f=t(\\\"array-bounds\\\");e.exports=i;var d=n.prototype,p=new Float32Array(2),m=new Float32Array(2),v=new Float32Array(2),g=new Float32Array(2),y=[0,0,0,0];d.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBufferHi.dispose(),this.positionBufferLo.dispose(),this.pickBuffer.dispose(),this.xCoords&&u.free(this.xCoords),this.plot.removeObject(this)},d.update=function(t){function e(e,r){return e in t?t[e]:r}if(t=t||{},this.size=e(\\\"size\\\",12),this.color=e(\\\"color\\\",[1,0,0,1]).slice(),this.borderSize=e(\\\"borderSize\\\",1),this.borderColor=e(\\\"borderColor\\\",[0,0,0,1]).slice(),this.snapPoints=e(\\\"snapPoints\\\",!0),null!=t.positions){this.xCoords&&u.free(this.xCoords),this.points=t.positions;var r=this.points.length>>>1,n=u.mallocInt32(r),i=u.mallocFloat32(r),a=u.mallocFloat64(2*r);if(a.set(this.points),this.snapPoints)this.scales=l(a,n,i,this.bounds);else{this.bounds=f(a,2),h(a,2,this.bounds);for(var o=0;o<r;o++)n[o]=o,i[o]=1}var s=u.mallocFloat64(r),c=u.mallocFloat32(2*r),d=u.mallocFloat32(2*r);c.set(a);for(var o=0,p=0;o<r;o++,p+=2)d[p]=a[p]-c[p],d[p+1]=a[p+1]-c[p+1],s[o]=a[p];this.positionBufferHi.update(c),this.positionBufferLo.update(d),this.pickBuffer.update(n),this.weightBuffer.update(i),u.free(c),u.free(d),u.free(i),u.free(a),u.free(n),this.xCoords=s,this.pointCount=r,this.pickOffset=0}},d.draw=function(t){var e=void 0!==t,r=this.plot,n=e?this.pickShader:this.shader,i=this.scales,a=this.positionBufferHi,o=this.positionBufferLo,s=this.pickBuffer,l=this.bounds,u=this.size,c=this.borderSize,h=r.gl,f=e?r.pickPixelRatio:r.pixelRatio,d=r.viewBox,b=r.dataBox;if(0===this.pointCount)return t;var x=l[2]-l[0],_=l[3]-l[1],w=b[2]-b[0],M=b[3]-b[1],k=(d[2]-d[0])*f/r.pixelRatio,A=(d[3]-d[1])*f/r.pixelRatio,T=this.pixelSize=Math.min(w/k,M/A),S=2*x/w,E=2*_/M;p[0]=S,p[1]=E,m[0]=S-p[0],m[1]=E-p[1];var L=(l[0]-b[0]-.5*w)/x,C=(l[1]-b[1]-.5*M)/_;v[0]=L,v[1]=C,g[0]=L-v[0],g[1]=C-v[1],n.bind(),n.uniforms.scaleHi=p,n.uniforms.scaleLo=m,n.uniforms.translateHi=v,n.uniforms.translateLo=g,n.uniforms.color=this.color,n.uniforms.borderColor=this.borderColor,n.uniforms.pointSize=f*(u+c),n.uniforms.centerFraction=0===this.borderSize?2:u/(u+c+1.25),a.bind(),n.attributes.positionHi.pointer(),o.bind(),n.attributes.positionLo.pointer(),e?(this.pickOffset=t,y[0]=255&t,y[1]=t>>8&255,y[2]=t>>16&255,y[3]=t>>24&255,n.uniforms.pickOffset=y,s.bind(),n.attributes.pickId.pointer(h.UNSIGNED_BYTE)):(n.uniforms.useWeight=1,this.weightBuffer.bind(),n.attributes.weight.pointer());var z=!0;if(this.snapPoints)for(var I=i.length-1;I>=0;I--){var D=i[I];if(!(D.pixelSize<T&&I>1)){var P=this.getVisibleRange(D),O=P[0],R=P[1];R>O&&h.drawArrays(h.POINTS,O,R-O),!e&&z&&(z=!1,n.uniforms.useWeight=0)}}else h.drawArrays(h.POINTS,0,this.pointCount);return t+this.pointCount},d.getVisibleRange=function(t){var e=this.plot.dataBox,r=this.bounds,n=this.pixelSize,i=this.size,a=this.plot.pixelRatio,o=r[2]-r[0];r[3],r[1];if(!t)for(var t,l=this.scales.length-1;l>=0&&(t=this.scales[l],t.pixelSize<n&&l>1);l--);var u=this.xCoords,c=(e[0]-r[0]-n*i*a)/o,h=(e[2]-r[0]+n*i*a)/o,f=t.offset,d=t.count+f,p=s.ge(u,c,f,d-1);return[p,s.lt(u,h,p,d-1)+1]},d.drawPick=d.draw,d.pick=function(t,e,r){var n=r-this.pickOffset;return n<0||n>=this.pointCount?null:{object:this,pointId:n,dataCoord:[this.points[2*n],this.points[2*n+1]]}}},{\\\"./lib/shader\\\":243,\\\"array-bounds\\\":43,\\\"array-normalize\\\":44,\\\"binary-search-bounds\\\":244,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254,\\\"snap-points-2d\\\":246,\\\"typedarray-pool\\\":540}],248:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=a[e];if(r||(r=a[e]={}),t in r)return r[t];for(var n=i(t,{textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),o=i(t,{triangles:!0,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l<n.positions.length;++l)for(var u=n.positions[l],c=0;c<2;++c)s[0][c]=Math.min(s[0][c],u[c]),s[1][c]=Math.max(s[1][c],u[c]);return r[t]=[o,n,s]}var i=t(\\\"vectorize-text\\\");e.exports=n;var a={}},{\\\"vectorize-text\\\":553}],249:[function(t,e,r){function n(t,e){var r=i(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}var i=t(\\\"gl-shader\\\"),a=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec3 position;\\\\nattribute vec4 color;\\\\nattribute vec2 glyph;\\\\nattribute vec4 id;\\\\n\\\\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(any(lessThan(position, clipBounds[0]))   || \\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\\\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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   ||\\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 interpColor;\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = interpColor * opacity;\\\\n  }\\\\n}\\\\n\\\",u=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float pickGroup;\\\\n\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\\\n  }\\\\n}\\\",c=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"glyph\\\",type:\\\"vec2\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}],h={vertex:a,fragment:l,attributes:c},f={vertex:o,fragment:l,attributes:c},d={vertex:s,fragment:l,attributes:c},p={vertex:a,fragment:u,attributes:c},m={vertex:o,fragment:u,attributes:c},v={vertex:s,fragment:u,attributes:c};r.createPerspective=function(t){return n(t,h)},r.createOrtho=function(t){return n(t,f)},r.createProject=function(t){return n(t,d)},r.createPickPerspective=function(t){return n(t,p)},r.createPickOrtho=function(t){return n(t,m)},r.createPickProject=function(t){return n(t,v)}},{\\\"gl-shader\\\":254}],250:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function i(t,e,r,i){return n(i,i,r),n(i,i,e),n(i,i,t)}function a(t,e){this.index=t,this.dataCoordinate=this.position=e}function o(t,e,r,n,i,o,s,l,u,c,h,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=o,this.glyphBuffer=s,this.idBuffer=l,this.vao=u,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=h,this.pickProjectShader=f,this.points=[],this._selectResult=new a(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}function s(t){return t[0]=t[1]=t[2]=0,t}function l(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function u(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function c(t){for(var e=L,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}function h(t,e,r,n,a){var o,h=e.axesProject,f=e.gl,d=t.uniforms,p=r.model||x,m=r.view||x,v=r.projection||x,y=e.axesBounds,b=c(e.clipBounds);o=e.axes?e.axes.lastCubeProps.axis:[1,1,1],w[0]=2/f.drawingBufferWidth,w[1]=2/f.drawingBufferHeight,t.bind(),d.view=m,d.projection=v,d.screenSize=w,d.highlightId=e.highlightId,d.highlightScale=e.highlightScale,d.clipBounds=b,\\n\",\n       \"d.pickGroup=e.pickId/255,d.pixelRatio=e.pixelRatio;for(var _=0;_<3;++_)if(h[_]&&e.projectOpacity[_]<1===n){d.scale=e.projectScale[_],d.opacity=e.projectOpacity[_];for(var L=S,C=0;C<16;++C)L[C]=0;for(var C=0;C<4;++C)L[5*C]=1;L[5*_]=0,o[_]<0?L[12+_]=y[0][_]:L[12+_]=y[1][_],g(L,p,L),d.model=L;var z=(_+1)%3,I=(_+2)%3,D=s(M),P=s(k);D[z]=1,P[I]=1;var O=i(v,m,p,l(A,D)),R=i(v,m,p,l(T,P));if(Math.abs(O[1])>Math.abs(R[1])){var F=O;O=R,R=F,F=D,D=P,P=F;var j=z;z=I,I=j}O[0]<0&&(D[z]=-1),R[1]>0&&(P[I]=-1);for(var N=0,B=0,C=0;C<4;++C)N+=Math.pow(p[4*z+C],2),B+=Math.pow(p[4*I+C],2);D[z]/=Math.sqrt(N),P[I]/=Math.sqrt(B),d.axes[0]=D,d.axes[1]=P,d.fragClipBounds[0]=u(E,b[0],_,-1e8),d.fragClipBounds[1]=u(E,b[1],_,1e8),e.vao.draw(f.TRIANGLES,e.vertexCount),e.lineWidth>0&&(f.lineWidth(e.lineWidth),e.vao.draw(f.LINES,e.lineVertexCount,e.vertexCount))}}function f(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||x,s.view=n.view||x,s.projection=n.projection||x,w[0]=2/o.drawingBufferWidth,w[1]=2/o.drawingBufferHeight,s.screenSize=w,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=I,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}h(e,r,n,i,a),r.vao.unbind()}function d(t){var e=t.gl,r=y.createPerspective(e),n=y.createOrtho(e),i=y.createProject(e),a=y.createPickPerspective(e),s=y.createPickOrtho(e),l=y.createPickProject(e),u=p(e),c=p(e),h=p(e),f=p(e),d=m(e,[{buffer:u,size:3,type:e.FLOAT},{buffer:c,size:4,type:e.FLOAT},{buffer:h,size:2,type:e.FLOAT},{buffer:f,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new o(e,r,n,i,u,c,h,f,d,a,s,l);return v.update(t),v}var p=t(\\\"gl-buffer\\\"),m=t(\\\"gl-vao\\\"),v=t(\\\"typedarray-pool\\\"),g=t(\\\"gl-mat4/multiply\\\"),y=t(\\\"./lib/shaders\\\"),b=t(\\\"./lib/glyphs\\\"),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];e.exports=d;var _=o.prototype;_.pickSlots=1,_.setPickBase=function(t){this.pickId=t},_.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},_.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var w=[0,0],M=[0,0,0],k=[0,0,0],A=[0,0,0,1],T=[0,0,0,1],S=x.slice(),E=[0,0,0],L=[[0,0,0],[0,0,0]],C=[-1e8,-1e8,-1e8],z=[1e8,1e8,1e8],I=[C,z];_.draw=function(t){f(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},_.drawTransparent=function(t){f(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},_.drawPick=function(t){f(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},_.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 i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(t){if(t=t||{},\\\"perspective\\\"in 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(\\\"projectOpacity\\\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{var r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\\\"opacity\\\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\\\"normal\\\",a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,u=t.color,c=t.size,h=t.angle,f=t.lineColor,d=0,p=0,m=0,g=n.length;t:for(var y=0;y<g;++y){for(var x=n[y],_=0;_<3;++_)if(isNaN(x[_])||!isFinite(x[_]))continue t;var w;w=Array.isArray(l)?b(l[y],i):l?b(l,i):b(\\\"\\\\u25cf\\\",i);var M=w[0],k=w[1],A=w[2];p+=3*M.cells.length,m+=2*k.edges.length}var T=p+m,S=v.mallocFloat(3*T),E=v.mallocFloat(4*T),L=v.mallocFloat(2*T),C=v.mallocUint32(T),z=[0,a[1]],I=0,D=p,P=[0,0,0,1],O=[0,0,0,1],R=Array.isArray(u)&&Array.isArray(u[0]),F=Array.isArray(f)&&Array.isArray(f[0]);t:for(var y=0;y<g;++y){for(var x=n[y],_=0;_<3;++_){if(isNaN(x[_])||!isFinite(x[_])){d+=1;continue t}s[_]=Math.max(s[_],x[_]),o[_]=Math.min(o[_],x[_])}var w;w=Array.isArray(l)?b(l[y],i):l?b(l,i):b(\\\"\\\\u25cf\\\",i);var M=w[0],k=w[1],A=w[2];if(Array.isArray(u)){var j;if(j=R?u[y]:u,3===j.length){for(var _=0;_<3;++_)P[_]=j[_];P[3]=1}else if(4===j.length)for(var _=0;_<4;++_)P[_]=j[_]}else P[0]=P[1]=P[2]=0,P[3]=1;if(Array.isArray(f)){var j;if(j=F?f[y]:f,3===j.length){for(var _=0;_<3;++_)O[_]=j[_];O[_]=1}else if(4===j.length)for(var _=0;_<4;++_)O[_]=j[_]}else O[0]=O[1]=O[2]=0,O[3]=1;var N=.5;Array.isArray(c)?N=+c[y]:c?N=+c:this.useOrtho&&(N=12);var B=0;Array.isArray(h)?B=+h[y]:h&&(B=+h);for(var U=Math.cos(B),V=Math.sin(B),x=n[y],_=0;_<3;++_)s[_]=Math.max(s[_],x[_]),o[_]=Math.min(o[_],x[_]);a[0]<0?z[0]=a[0]*(1+A[1][0]):a[0]>0&&(z[0]=-a[0]*(1+A[0][0]));for(var H=M.cells,q=M.positions,_=0;_<H.length;++_)for(var G=H[_],Y=0;Y<3;++Y){for(var X=0;X<3;++X)S[3*I+X]=x[X];for(var X=0;X<4;++X)E[4*I+X]=P[X];C[I]=d;var W=q[G[Y]];L[2*I]=N*(U*W[0]-V*W[1]+z[0]),L[2*I+1]=N*(V*W[0]+U*W[1]+z[1]),I+=1}for(var H=k.edges,q=k.positions,_=0;_<H.length;++_)for(var G=H[_],Y=0;Y<2;++Y){for(var X=0;X<3;++X)S[3*D+X]=x[X];for(var X=0;X<4;++X)E[4*D+X]=O[X];C[D]=d;var W=q[G[Y]];L[2*D]=N*(U*W[0]-V*W[1]+z[0]),L[2*D+1]=N*(V*W[0]+U*W[1]+z[1]),D+=1}d+=1}this.vertexCount=p,this.lineVertexCount=m,this.pointBuffer.update(S),this.colorBuffer.update(E),this.glyphBuffer.update(L),this.idBuffer.update(new Uint32Array(C)),v.free(S),v.free(E),v.free(L),v.free(C),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},_.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/glyphs\\\":248,\\\"./lib/shaders\\\":249,\\\"gl-buffer\\\":155,\\\"gl-mat4/multiply\\\":182,\\\"gl-vao\\\":270,\\\"typedarray-pool\\\":540}],251:[function(t,e,r){\\\"use strict\\\";r.boxVertex=\\\"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=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\\n\\\"},{}],252:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e){var r=t.gl,i=o(r,[0,0,0,1,1,0,1,1]),l=a(r,s.boxVertex,s.boxFragment),u=new n(t,i,l);return u.update(e),t.addOverlay(u),u}var a=t(\\\"gl-shader\\\"),o=t(\\\"gl-buffer\\\"),s=t(\\\"./lib/shaders\\\");e.exports=i;var l=n.prototype;l.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,u=t.viewBox,c=t.pixelRatio,h=(e[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],f=(e[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],d=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],p=(e[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(h=Math.max(h,u[0]),f=Math.max(f,u[1]),d=Math.min(d,u[2]),p=Math.min(p,u[3]),!(d<h||p<f)){o.bind();var m=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,m,f,i),o.drawBox(0,f,h,p,i),o.drawBox(0,p,m,v,i),o.drawBox(d,f,m,p,i)),this.innerFill&&o.drawBox(h,f,d,p,n),r>0){var g=r*c;o.drawBox(h-g,f-g,d+g,f+g,a),o.drawBox(h-g,p-g,d+g,p+g,a),o.drawBox(h-g,f-g,h+g,p+g,a),o.drawBox(d-g,f-g,d+g,p+g,a)}}}},l.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()},l.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\\\"./lib/shaders\\\":251,\\\"gl-buffer\\\":155,\\\"gl-shader\\\":254}],253:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function i(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)}}function a(t,e){return new i(t,o(t,e),s.mallocUint8(e[0]*e[1]*4))}e.exports=a;var o=t(\\\"gl-fbo\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"ndarray\\\"),u=t(\\\"bit-twiddle\\\").nextPow2,c=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"array\\\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\\\"scalar\\\",\\\"scalar\\\",\\\"index\\\"],pre:{body:\\\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},body:{body:\\\"{if(_inline_49_arg0_<255||_inline_49_arg1_<255||_inline_49_arg2_<255||_inline_49_arg3_<255){var _inline_49_l=_inline_49_arg4_-_inline_49_arg6_[0],_inline_49_a=_inline_49_arg5_-_inline_49_arg6_[1],_inline_49_f=_inline_49_l*_inline_49_l+_inline_49_a*_inline_49_a;_inline_49_f<this_closestD2&&(this_closestD2=_inline_49_f,this_closestX=_inline_49_arg6_[0],this_closestY=_inline_49_arg6_[1])}}\\\",args:[{name:\\\"_inline_49_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg1_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg4_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg5_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_49_arg6_\\\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[\\\"_inline_49_a\\\",\\\"_inline_49_f\\\",\\\"_inline_49_l\\\"]},post:{body:\\\"{return[this_closestX,this_closestY,this_closestD2]}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64}),h=i.prototype;Object.defineProperty(h,\\\"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){s.free(this.buffer);for(var n=this.buffer=s.mallocUint8(u(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),h.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))},h.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},h.query=function(t,e,r){if(!this.gl)return null;var i=this.fbo.shape.slice();t|=0,e|=0,\\\"number\\\"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),i[0]),o=0|Math.min(Math.max(t+r,0),i[0]),s=0|Math.min(Math.max(e-r,0),i[1]),u=0|Math.min(Math.max(e+r,0),i[1]);if(o<=a||u<=s)return null;var h=[o-a,u-s],f=l(this.buffer,[h[0],h[1],4],[4,4*i[0],1],4*(a+i[0]*s)),d=c(f.hi(h[0],h[1],1),r,r),p=d[0],m=d[1];return p<0||Math.pow(this.radius,2)<d[2]?null:new n(p+a|0,m+s|0,f.get(p,m,0),[f.get(p,m,1),f.get(p,m,2),f.get(p,m,3)],Math.sqrt(d[2]))},h.dispose=function(){this.gl&&(this.fbo.dispose(),s.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\\\"bit-twiddle\\\":66,\\\"cwise/lib/wrapper\\\":112,\\\"gl-fbo\\\":163,ndarray:466,\\\"typedarray-pool\\\":540}],254:[function(t,e,r){\\\"use strict\\\";function n(t){this.gl=t,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}function i(t,e){return t.name<e.name?-1:1}function a(t,e,r,i,a){var o=new n(t);return o.update(e,r,i,a),o}var o=t(\\\"./lib/create-uniforms\\\"),s=t(\\\"./lib/create-attributes\\\"),l=t(\\\"./lib/reflect\\\"),u=t(\\\"./lib/shader-cache\\\"),c=t(\\\"./lib/runtime-reflect\\\"),h=t(\\\"./lib/GLError\\\"),f=n.prototype;f.bind=function(){this.program||this._relink(),this.gl.useProgram(this.program)},f.dispose=function(){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},f.update=function(t,e,r,n){function a(){d.program=u.program(p,d._vref,d._fref,x,_);for(var t=0;t<r.length;++t)E[t]=p.getUniformLocation(d.program,r[t].name)}if(!e||1===arguments.length){var f=t;t=f.vertex,e=f.fragment,r=f.uniforms,n=f.attributes}var d=this,p=d.gl,m=d._vref;d._vref=u.shader(p,p.VERTEX_SHADER,t),m&&m.dispose(),d.vertShader=d._vref.shader;var v=this._fref;if(d._fref=u.shader(p,p.FRAGMENT_SHADER,e),v&&v.dispose(),d.fragShader=d._fref.shader,!r||!n){var g=p.createProgram();if(p.attachShader(g,d.fragShader),p.attachShader(g,d.vertShader),p.linkProgram(g),!p.getProgramParameter(g,p.LINK_STATUS)){var y=p.getProgramInfoLog(g);throw new h(y,\\\"Error linking program:\\\"+y)}r=r||c.uniforms(p,g),n=n||c.attributes(p,g),p.deleteProgram(g)}n=n.slice(),n.sort(i);for(var b=[],x=[],_=[],w=0;w<n.length;++w){var M=n[w];if(M.type.indexOf(\\\"mat\\\")>=0){for(var k=0|M.type.charAt(M.type.length-1),A=new Array(k),T=0;T<k;++T)A[T]=_.length,x.push(M.name+\\\"[\\\"+T+\\\"]\\\"),\\\"number\\\"==typeof M.location?_.push(M.location+T):Array.isArray(M.location)&&M.location.length===k&&\\\"number\\\"==typeof M.location[T]?_.push(0|M.location[T]):_.push(-1);b.push({name:M.name,type:M.type,locations:A})}else b.push({name:M.name,type:M.type,locations:[_.length]}),x.push(M.name),\\\"number\\\"==typeof M.location?_.push(0|M.location):_.push(-1)}for(var S=0,w=0;w<_.length;++w)if(_[w]<0){for(;_.indexOf(S)>=0;)S+=1;_[w]=S}var E=new Array(r.length);a(),d._relink=a,d.types={uniforms:l(r),attributes:l(n)},d.attributes=s(p,d,b,_),Object.defineProperty(d,\\\"uniforms\\\",o(p,d,r,E))},e.exports=a},{\\\"./lib/GLError\\\":255,\\\"./lib/create-attributes\\\":256,\\\"./lib/create-uniforms\\\":257,\\\"./lib/reflect\\\":258,\\\"./lib/runtime-reflect\\\":259,\\\"./lib/shader-cache\\\":260}],255:[function(t,e,r){arguments[4][212][0].apply(r,arguments)},{dup:212}],256:[function(t,e,r){arguments[4][213][0].apply(r,arguments)},{\\\"./GLError\\\":255,dup:213}],257:[function(t,e,r){arguments[4][214][0].apply(r,arguments)},{\\\"./GLError\\\":255,\\\"./reflect\\\":258,dup:214}],258:[function(t,e,r){arguments[4][215][0].apply(r,arguments)},{dup:215}],259:[function(t,e,r){arguments[4][216][0].apply(r,arguments)},{dup:216}],260:[function(t,e,r){arguments[4][217][0].apply(r,arguments)},{\\\"./GLError\\\":255,dup:217,\\\"gl-format-compiler-error\\\":164,\\\"weakmap-shim\\\":561}],261:[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]}function i(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r}e.exports=i;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,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.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]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,u,s[0],u,e[0],r[0]),t[1]&&a.drawLine(l,u,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,u,s[2],u,e[2],r[2]),t[3]&&a.drawLine(l,u,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],262:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\");e.exports=function(t){return n(t,\\\"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\\\",\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = fragColor;\\\\n}\\\",null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec3\\\"},{name:\\\"weight\\\",type:\\\"float\\\"}])}},{\\\"gl-shader\\\":254}],263:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e){function r(t,e,r,n,a,o){var s=[t,e,r,0,0,0,1];s[n+3]=1,s[n]=a,i.push.apply(i,s),s[6]=-1,i.push.apply(i,s),s[n]=o,i.push.apply(i,s),i.push.apply(i,s),s[6]=1,i.push.apply(i,s),s[n]=a,i.push.apply(i,s)}var i=[];r(0,0,0,0,0,1),r(0,0,0,1,0,1),r(0,0,0,2,0,1),r(1,0,0,1,-1,1),r(1,0,0,2,-1,1),r(0,1,0,0,-1,1),r(0,1,0,2,-1,1),r(0,0,1,0,-1,1),r(0,0,1,1,-1,1);var l=a(t,i),u=o(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}]),c=s(t);c.attributes.position.location=0,c.attributes.color.location=1,c.attributes.weight.location=2;var h=new n(t,l,u,c);return h.update(e),h}var a=t(\\\"gl-buffer\\\"),o=t(\\\"gl-vao\\\"),s=t(\\\"./shaders/index\\\");e.exports=i;var l=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],u=n.prototype,c=[0,0,0],h=[0,0,0],f=[0,0];u.isTransparent=function(){return!1},u.drawTransparent=function(t){},u.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||l,o=t.view||l,s=t.projection||l;this.axes&&(i=this.axes.lastCubeProps.axis);for(var u=c,d=h,p=0;p<3;++p)i&&i[p]<0?(u[p]=this.bounds[0][p],d[p]=this.bounds[1][p]):(u[p]=this.bounds[1][p],d[p]=this.bounds[0][p]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,u,d],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(var p=0;p<3;++p)n.uniforms.lineWidth=this.lineWidth[p]*this.pixelRatio,this.enabled[p]&&(r.draw(e.TRIANGLES,6,6*p),this.drawSides[p]&&r.draw(e.TRIANGLES,12,18+12*p));r.unbind()},u.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))},u.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\\\"./shaders/index\\\":262,\\\"gl-buffer\\\":155,\\\"gl-vao\\\":270}],264:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute vec3 f;\\\\nattribute vec3 normal;\\\\n\\\\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  worldCoordinate = vec3(uv.zw, f.x);\\\\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\\\",a=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nfloat beckmannDistribution_2_0(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\\\\n\\\\n\\\\nfloat beckmannSpecular_1_1(\\\\n  vec3 lightDirection,\\\\n  vec3 viewDirection,\\\\n  vec3 surfaceNormal,\\\\n  float roughness) {\\\\n  return beckmannDistribution_2_0(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\\\n}\\\\n\\\\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 (kill > 0.0 ||\\\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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_1_1(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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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\\\",o=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute float f;\\\\n\\\\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\\\n\\\\n  vec4 clipPosition = projection * view * worldPosition;\\\\n  clipPosition.z = clipPosition.z + zOffset;\\\\n\\\\n  gl_Position = clipPosition;\\\\n  value = f;\\\\n  kill = -1.0;\\\\n  worldCoordinate = dataCoordinate;\\\\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\\\",s=\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    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,a,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,s,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,o,a,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,o,s,null,[{name:\\\"uv\\\",type:\\\"vec4\\\"},{name:\\\"f\\\",type:\\\"float\\\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\\\"gl-shader\\\":254}],265:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function i(t){var e=x([y({colormap:t,nshades:R,format:\\\"rgba\\\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return b.divseq(e,255),e}function a(t,e,r,i,a,o,s,l,u,c,h,f,d,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=i,this._pickShader=a,this._coordinateBuffer=o,this._vao=s,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=f,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new n([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=p,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=[_(g.mallocFloat(1024),[0,0]),_(g.mallocFloat(1024),[0,0]),_(g.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.opacity=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}function o(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||j,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=N.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[+(a[r]>0)][r],M(l,t.model,l);var u=N.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return N.showSurface=o,N.showContour=s,N}function s(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=B;n.model=t.model||D,n.view=t.view||D,n.projection=t.projection||D,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.contourColor=this.contourColor[0],n.inverseModel=k(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],s=0;s<3;++s)a[s]=Math.min(Math.max(this.clipBounds[i][s],-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=V,n.vertexColor=this.vertexColor;var l=U;for(M(l,n.view,n.model),M(l,n.projection,l),k(l,l),i=0;i<3;++i)n.eyePosition[i]=l[12+i]/l[15];var u=l[15];for(i=0;i<3;++i)u+=this.lightPosition[i]*l[4*i+3];for(i=0;i<3;++i){var c=l[12+i];for(s=0;s<3;++s)c+=l[4*s+i]*this.lightPosition[s];n.lightPosition[i]=c/u}var h=o(n,this);if(h.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=h.projections[i],this._shader.uniforms.clipBounds=h.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(h.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var d=this._contourVAO;for(d.bind(),i=0;i<3;++i)for(f.uniforms.permutation=O[i],r.lineWidth(this.contourWidth[i]),s=0;s<this.contourLevels[i].length;++s)this._contourCounts[i][s]&&(s===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==s&&s-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),f.uniforms.height=this.contourLevels[i][s],d.draw(r.LINES,this._contourCounts[i][s],this._contourOffsets[i][s]));for(i=0;i<3;++i)for(f.uniforms.model=h.projections[i],f.uniforms.clipBounds=h.clipBounds[i],s=0;s<3;++s)if(this.contourProject[i][s]){f.uniforms.permutation=O[s],r.lineWidth(this.contourWidth[s]);for(var p=0;p<this.contourLevels[s].length;++p)p===this.highlightLevel[s]?(f.uniforms.contourColor=this.highlightColor[s],f.uniforms.contourTint=this.highlightTint[s]):0!==p&&p-1!==this.highlightLevel[s]||(f.uniforms.contourColor=this.contourColor[s],f.uniforms.contourTint=this.contourTint[s]),f.uniforms.height=this.contourLevels[s][p],d.draw(r.LINES,this._contourCounts[s][p],this._contourOffsets[s][p])}for(d=this._dynamicVAO,d.bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=O[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),s=0;s<3;++s)this.contourProject[s][i]&&(f.uniforms.model=h.projections[s],f.uniforms.clipBounds=h.clipBounds[s],d.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));d.unbind()}}function l(t,e){var r=e.shape.slice(),n=t.shape.slice();b.assign(t.lo(1,1).hi(r[0],r[1]),e),b.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),b.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),b.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),b.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))}function u(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function c(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 h(t){if(Array.isArray(t)){if(Array.isArray(t))return[c(t[0]),c(t[1]),c(t[2])];var e=c(t);return[e.slice(),e.slice(),e.slice()]}}function f(t){var e=t.gl,r=E(e),n=C(e),i=L(e),o=z(e),s=p(e),l=m(e,[{buffer:s,size:4,stride:I,offset:0},{buffer:s,size:3,stride:I,offset:16},{buffer:s,size:3,stride:I,offset:28}]),u=p(e),c=m(e,[{buffer:u,size:4,stride:20,offset:0},{buffer:u,size:1,stride:20,offset:16}]),h=p(e),f=m(e,[{buffer:h,size:2,type:e.FLOAT}]),d=v(e,1,R,e.RGBA,e.UNSIGNED_BYTE);d.minFilter=e.LINEAR,d.magFilter=e.LINEAR;var g=new a(e,[0,0],[[0,0,0],[0,0,0]],r,n,s,l,d,i,o,u,c,h,f),y={levels:[[],[],[]]};for(var b in t)y[b]=t[b];return y.colormap=y.colormap||\\\"jet\\\",g.update(y),g}e.exports=f\\n\",\n       \";var d=t(\\\"bit-twiddle\\\"),p=t(\\\"gl-buffer\\\"),m=t(\\\"gl-vao\\\"),v=t(\\\"gl-texture2d\\\"),g=t(\\\"typedarray-pool\\\"),y=t(\\\"colormap\\\"),b=t(\\\"ndarray-ops\\\"),x=t(\\\"ndarray-pack\\\"),_=t(\\\"ndarray\\\"),w=t(\\\"surface-nets\\\"),M=t(\\\"gl-mat4/multiply\\\"),k=t(\\\"gl-mat4/invert\\\"),A=t(\\\"binary-search-bounds\\\"),T=t(\\\"ndarray-gradient\\\"),S=t(\\\"./lib/shaders\\\"),E=S.createShader,L=S.createContourShader,C=S.createPickShader,z=S.createPickContourShader,I=40,D=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],P=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],O=[[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(){for(var t=0;t<3;++t){var e=O[t],r=(t+1)%3,n=(t+2)%3;e[r+0]=1,e[n+3]=1,e[t+6]=1}}();var R=256,F=a.prototype;F.isTransparent=function(){return this.opacity<1},F.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},F.pickSlots=1,F.setPickBase=function(t){this.pickId=t};var j=[0,0,0],N={showSurface:!1,showContour:!1,projections:[D.slice(),D.slice(),D.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]},B={model:D,view:D,projection:D,inverseModel:D.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},U=D.slice(),V=[1,0,0,0,1,0,0,0,1];F.draw=function(t){return s.call(this,t,!1)},F.drawTransparent=function(t){return s.call(this,t,!0)};var H={model:D,view:D,projection:D,inverseModel:D,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};F.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=H;r.model=t.model||D,r.view=t.view||D,r.projection=t.projection||D,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=V;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var s=o(r,this);if(s.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=s.projections[n],this._pickShader.uniforms.clipBounds=s.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(s.showContour){var l=this._contourPickShader;l.bind(),l.uniforms=r;var u=this._contourVAO;for(u.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),l.uniforms.permutation=O[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(l.uniforms.height=this.contourLevels[a][n],u.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(l.uniforms.model=s.projections[n],l.uniforms.clipBounds=s.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){l.uniforms.permutation=O[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(l.uniforms.height=this.contourLevels[a][c],u.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}u.unbind()}},F.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,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var h=c?a:1-a,f=0;f<2;++f)for(var d=f?l:1-l,p=i+c,m=s+f,v=h*d,g=0;g<3;++g)u[g]+=this._field[g].get(p,m)*v;for(var y=this._pickResult.level,b=0;b<3;++b)if(y[b]=A.le(this.contourLevels[b],u[b]),y[b]<0)this.contourLevels[b].length>0&&(y[b]=0);else if(y[b]<this.contourLevels[b].length-1){var x=this.contourLevels[b][y[b]],_=this.contourLevels[b][y[b]+1];Math.abs(x-u[b])>Math.abs(_-u[b])&&(y[b]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],g=0;g<3;++g)r.dataCoordinate[g]=this._field[g].get(r.index[0],r.index[1]);return r},F.update=function(t){t=t||{},this.dirty=!0,\\\"contourWidth\\\"in t&&(this.contourWidth=u(t.contourWidth,Number)),\\\"showContour\\\"in t&&(this.showContour=u(t.showContour,Boolean)),\\\"showSurface\\\"in t&&(this.showSurface=!!t.showSurface),\\\"contourTint\\\"in t&&(this.contourTint=u(t.contourTint,Boolean)),\\\"contourColor\\\"in t&&(this.contourColor=h(t.contourColor)),\\\"contourProject\\\"in t&&(this.contourProject=u(t.contourProject,function(t){return u(t,Boolean)})),\\\"surfaceProject\\\"in t&&(this.surfaceProject=t.surfaceProject),\\\"dynamicColor\\\"in t&&(this.dynamicColor=h(t.dynamicColor)),\\\"dynamicTint\\\"in t&&(this.dynamicTint=u(t.dynamicTint,Number)),\\\"dynamicWidth\\\"in t&&(this.dynamicWidth=u(t.dynamicWidth,Number)),\\\"opacity\\\"in t&&(this.opacity=t.opacity),\\\"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 n=(e.shape[0]+2)*(e.shape[1]+2);n>this._field[2].data.length&&(g.freeFloat(this._field[2].data),this._field[2].data=g.mallocFloat(d.nextPow2(n))),this._field[2]=_(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),l(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(g.freeFloat(this._field[o].data),this._field[o].data=g.mallocFloat(this._field[2].size)),this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var s=t.coords;if(!Array.isArray(s)||3!==s.length)throw new Error(\\\"gl-surface: invalid coordinates for x/y\\\");for(o=0;o<2;++o){var c=s[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error(\\\"gl-surface: coords have incorrect shape\\\");l(this._field[o],c)}}else if(t.ticks){var f=t.ticks;if(!Array.isArray(f)||2!==f.length)throw new Error(\\\"gl-surface: invalid ticks\\\");for(o=0;o<2;++o){var p=f[o];if((Array.isArray(p)||p.length)&&(p=_(p)),p.shape[0]!==a[o])throw new Error(\\\"gl-surface: invalid tick length\\\");var m=_(p.data,a);m.stride[o]=p.stride[0],m.stride[1^o]=0,l(this._field[o],m)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=_(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y<a[0];++y)this._field[0].set(y+1,0,y);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),y=0;y<a[1];++y)this._field[1].set(0,y+1,y);this._field[1].set(0,a[1]+1,a[1]-1)}var b=this._field,x=_(g.mallocFloat(3*b[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)T(x.pick(o),b[o],\\\"mirror\\\");var M=_(g.mallocFloat(3*b[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(y=0;y<a[1]+2;++y){var k=x.get(0,o,y,0),A=x.get(0,o,y,1),S=x.get(1,o,y,0),E=x.get(1,o,y,1),L=x.get(2,o,y,0),C=x.get(2,o,y,1),z=S*C-E*L,I=L*A-C*k,D=k*E-A*S,O=Math.sqrt(z*z+I*I+D*D);O<1e-8?(O=Math.max(Math.abs(z),Math.abs(I),Math.abs(D)),O<1e-8?(D=1,I=z=0,O=1):O=1/O):O=1/Math.sqrt(O),M.set(o,y,0,z*O),M.set(o,y,1,I*O),M.set(o,y,2,D*O)}g.free(x.data);var R=[1/0,1/0,1/0],F=[-1/0,-1/0,-1/0],j=1/0,N=-1/0,B=(a[0]-1)*(a[1]-1)*6,U=g.mallocFloat(d.nextPow2(10*B)),V=0,H=0;for(o=0;o<a[0]-1;++o)t:for(y=0;y<a[1]-1;++y){for(var q=0;q<2;++q)for(var G=0;G<2;++G)for(var Y=0;Y<3;++Y){var X=this._field[Y].get(1+o+q,1+y+G);if(isNaN(X)||!isFinite(X))continue t}for(Y=0;Y<6;++Y){var W=o+P[Y][0],Z=y+P[Y][1],J=this._field[0].get(W+1,Z+1),K=this._field[1].get(W+1,Z+1);X=this._field[2].get(W+1,Z+1);var Q=X;z=M.get(W+1,Z+1,0),I=M.get(W+1,Z+1,1),D=M.get(W+1,Z+1,2),t.intensity&&(Q=t.intensity.get(W,Z)),U[V++]=W,U[V++]=Z,U[V++]=J,U[V++]=K,U[V++]=X,U[V++]=0,U[V++]=Q,U[V++]=z,U[V++]=I,U[V++]=D,R[0]=Math.min(R[0],J),R[1]=Math.min(R[1],K),R[2]=Math.min(R[2],X),j=Math.min(j,Q),F[0]=Math.max(F[0],J),F[1]=Math.max(F[1],K),F[2]=Math.max(F[2],X),N=Math.max(N,Q),H+=1}}for(t.intensityBounds&&(j=+t.intensityBounds[0],N=+t.intensityBounds[1]),o=6;o<V;o+=10)U[o]=(U[o]-j)/(N-j);this._vertexCount=H,this._coordinateBuffer.update(U.subarray(0,V)),g.freeFloat(U),g.free(M.data),this.bounds=[R,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===j&&this.intensityBounds[1]===N||(r=!0),this.intensityBounds=[j,N]}if(\\\"levels\\\"in t){var $=t.levels;for($=Array.isArray($[0])?$.slice():[[],[],$],o=0;o<3;++o)$[o]=$[o].slice(),$.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if($[o].length!==this.contourLevels[o].length){r=!0;break}for(y=0;y<$[o].length;++y)if($[o][y]!==this.contourLevels[o][y]){r=!0;break t}}this.contourLevels=$}if(r){b=this._field,a=this.shape;for(var tt=[],et=0;et<3;++et){$=this.contourLevels[et];var rt=[],nt=[],it=[0,0,0];for(o=0;o<$.length;++o){var at=w(this._field[et],$[o]);rt.push(tt.length/5|0),H=0;t:for(y=0;y<at.cells.length;++y){var ot=at.cells[y];for(Y=0;Y<2;++Y){var st=at.positions[ot[Y]],lt=st[0],ut=0|Math.floor(lt),ct=lt-ut,ht=st[1],ft=0|Math.floor(ht),dt=ht-ft,pt=!1;e:for(var mt=0;mt<3;++mt){it[mt]=0;var vt=(et+mt+1)%3;for(q=0;q<2;++q){var gt=q?ct:1-ct;for(W=0|Math.min(Math.max(ut+q,0),a[0]),G=0;G<2;++G){var yt=G?dt:1-dt;if(Z=0|Math.min(Math.max(ft+G,0),a[1]),X=mt<2?this._field[vt].get(W,Z):(this.intensity.get(W,Z)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(X)||isNaN(X)){pt=!0;break e}var bt=gt*yt;it[mt]+=bt*X}}}if(pt){if(Y>0){for(var xt=0;xt<5;++xt)tt.pop();H-=1}continue t}tt.push(it[0],it[1],st[0],st[1],it[2]),H+=1}}nt.push(H)}this._contourOffsets[et]=rt,this._contourCounts[et]=nt}var _t=g.mallocFloat(tt.length);for(o=0;o<tt.length;++o)_t[o]=tt[o];this._contourBuffer.update(_t),g.freeFloat(_t)}t.colormap&&this._colorMap.setPixels(i(t.colormap))},F.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)g.freeFloat(this._field[t].data)},F.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,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,i=this.shape,a=g.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,u=this._field[o],c=this._field[s],h=this._field[l],f=(this.intensity,w(u,r[o])),d=f.cells,p=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<d.length;++e)for(var m=d[e],v=0;v<2;++v){var y=p[m[v]],b=+y[0],x=0|b,_=0|Math.min(x+1,i[0]),M=b-x,k=1-M,A=+y[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,L=1-E,C=k*L,z=k*E,I=M*L,D=M*E,P=C*c.get(x,T)+z*c.get(x,S)+I*c.get(_,T)+D*c.get(_,S),O=C*h.get(x,T)+z*h.get(x,S)+I*h.get(_,T)+D*h.get(_,S);if(isNaN(P)||isNaN(O)){v&&(n-=1);break}a[2*n+0]=P,a[2*n+1]=O,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),g.freeFloat(a)}}},{\\\"./lib/shaders\\\":264,\\\"binary-search-bounds\\\":65,\\\"bit-twiddle\\\":66,colormap:98,\\\"gl-buffer\\\":155,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/multiply\\\":182,\\\"gl-texture2d\\\":266,\\\"gl-vao\\\":270,ndarray:466,\\\"ndarray-gradient\\\":457,\\\"ndarray-ops\\\":460,\\\"ndarray-pack\\\":461,\\\"surface-nets\\\":530,\\\"typedarray-pool\\\":540}],266:[function(t,e,r){\\\"use strict\\\";function n(t){g=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],y=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],b=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function i(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}function a(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)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 o(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,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}function s(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 l(t,e,r,n,i,a,o,l){var u=l.dtype,c=l.shape.slice();if(c.length<2||c.length>3)throw new Error(\\\"gl-texture2d: Invalid ndarray, must be 2d or 3d\\\");var h=0,f=0,d=s(c,l.stride.slice());\\\"float32\\\"===u?h=t.FLOAT:\\\"float64\\\"===u?(h=t.FLOAT,d=!1,u=\\\"float32\\\"):\\\"uint8\\\"===u?h=t.UNSIGNED_BYTE:(h=t.UNSIGNED_BYTE,d=!1,u=\\\"uint8\\\");if(2===c.length)f=t.LUMINANCE,c=[c[0],c[1],1],l=p(l.data,c,[l.stride[0],l.stride[1],1],l.offset);else{if(3!==c.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===c[2])f=t.ALPHA;else if(2===c[2])f=t.LUMINANCE_ALPHA;else if(3===c[2])f=t.RGB;else{if(4!==c[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");f=t.RGBA}c[2]}if(f!==t.LUMINANCE&&f!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(f=i),f!==i)throw new Error(\\\"gl-texture2d: Incompatible texture format for setPixels\\\");var g=l.size,y=o.indexOf(n)<0;if(y&&o.push(n),h===a&&d)0===l.offset&&l.data.length===g?y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data):y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,l.data.subarray(l.offset,l.offset+g)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,l.data.subarray(l.offset,l.offset+g));else{var b;b=a===t.FLOAT?v.mallocFloat32(g):v.mallocUint8(g);var _=p(b,c,[c[2],c[2]*c[0],1]);h===t.FLOAT&&a===t.UNSIGNED_BYTE?x(_,l):m.assign(_,l),y?t.texImage2D(t.TEXTURE_2D,n,i,c[0],c[1],0,i,a,b.subarray(0,g)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,c[0],c[1],i,a,b.subarray(0,g)),a===t.FLOAT?v.freeFloat32(b):v.freeUint8(b)}}function u(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 c(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-texture2d: Invalid texture shape\\\");if(i===t.FLOAT&&!t.getExtension(\\\"OES_texture_float\\\"))throw new Error(\\\"gl-texture2d: Floating point textures not supported on this platform\\\");var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new o(t,s,e,r,n,i)}function h(t,e,r,n,i,a){var s=u(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new o(t,s,r,n,i,a)}function f(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]<0||n[0]>i||n[1]<0||n[1]>i)throw new Error(\\\"gl-texture2d: Invalid texture size\\\");var a=s(n,e.stride.slice()),l=0;\\\"float32\\\"===r?l=t.FLOAT:\\\"float64\\\"===r?(l=t.FLOAT,a=!1,r=\\\"float32\\\"):\\\"uint8\\\"===r?l=t.UNSIGNED_BYTE:(l=t.UNSIGNED_BYTE,a=!1,r=\\\"uint8\\\");var c=0;if(2===n.length)c=t.LUMINANCE,n=[n[0],n[1],1],e=p(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===n[2])c=t.ALPHA;else if(2===n[2])c=t.LUMINANCE_ALPHA;else if(3===n[2])c=t.RGB;else{if(4!==n[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");c=t.RGBA}}l!==t.FLOAT||t.getExtension(\\\"OES_texture_float\\\")||(l=t.UNSIGNED_BYTE,a=!1);var h,f,d=e.size;if(a)h=0===e.offset&&e.data.length===d?e.data:e.data.subarray(e.offset,e.offset+d);else{var g=[n[2],n[2]*n[0],1];f=v.malloc(d,r);var y=p(f,n,g,0);\\\"float32\\\"!==r&&\\\"float64\\\"!==r||l!==t.UNSIGNED_BYTE?m.assign(y,e):x(y,e),h=f.subarray(0,d)}var b=u(t);return t.texImage2D(t.TEXTURE_2D,0,c,n[0],n[1],0,c,l,h),a||v.free(f),new o(t,b,n[0],n[1],c,l)}function d(t){if(arguments.length<=1)throw new Error(\\\"gl-texture2d: Missing arguments for texture2d constructor\\\");if(g||n(t),\\\"number\\\"==typeof arguments[1])return c(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return c(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=i(e)?e:e.raw;if(r)return h(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 f(t,e)}throw new Error(\\\"gl-texture2d: Invalid arguments for texture2d constructor\\\")}var p=t(\\\"ndarray\\\"),m=t(\\\"ndarray-ops\\\"),v=t(\\\"typedarray-pool\\\");e.exports=d;var g=null,y=null,b=null,x=function(t,e){m.muls(t,e,255)},_=o.prototype;Object.defineProperties(_,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&g.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),y.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&&g.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),y.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(),b.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(),b.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(b.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 a(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return t|=0,a(this,t,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,a(this,this._shape[0],t),t}}}),_.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},_.dispose=function(){this.gl.deleteTexture(this.handle)},_.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)},_.setPixels=function(t,e,r,n){var a=this.gl;this.bind(),Array.isArray(e)?(n=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),n=n||0;var o=i(t)?t:t.raw;if(o){this._mipLevels.indexOf(n)<0?(a.texImage2D(a.TEXTURE_2D,0,this.format,this.format,this.type,o),this._mipLevels.push(n)):a.texSubImage2D(a.TEXTURE_2D,n,e,r,this.format,this.type,o)}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]>>>n||r+t.shape[0]>this._shape[0]>>>n||e<0||r<0)throw new Error(\\\"gl-texture2d: Texture dimensions are out of bounds\\\");l(a,e,r,n,this.format,this.type,this._mipLevels,t)}}},{ndarray:466,\\\"ndarray-ops\\\":460,\\\"typedarray-pool\\\":540}],267:[function(t,e,r){\\\"use strict\\\";function n(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 i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,u=!!a.normalized,c=a.stride||0,h=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,u,c,h)}else{if(\\\"number\\\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\\\"gl-vao: Invalid vertex attribute\\\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(var i=0;i<n;++i)t.disableVertexAttribArray(i)}}e.exports=n},{}],268:[function(t,e,r){\\\"use strict\\\";function n(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}function i(t){return new n(t)}var a=t(\\\"./do-bind.js\\\");n.prototype.bind=function(){a(this.gl,this._elements,this._attributes)},n.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},n.prototype.dispose=function(){},n.prototype.unbind=function(){},n.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=i},{\\\"./do-bind.js\\\":267}],269:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}function a(t,e){return new i(t,e,e.createVertexArrayOES())}var o=t(\\\"./do-bind.js\\\");n.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(),o(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var a=t[i];\\\"number\\\"==typeof a?this._attribs.push(new n(i,1,a)):Array.isArray(a)&&this._attribs.push(new n(i,a.length,a[0],a[1],a[2],a[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=a},{\\\"./do-bind.js\\\":267}],270:[function(t,e,r){\\\"use strict\\\";function n(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}function i(t,e,r,i){var s,l=t.createVertexArray?new n(t):t.getExtension(\\\"OES_vertex_array_object\\\");return s=l?a(t,l):o(t),s.update(e,r,i),s}var a=t(\\\"./lib/vao-native.js\\\"),o=t(\\\"./lib/vao-emulated.js\\\");e.exports=i},{\\\"./lib/vao-emulated.js\\\":268,\\\"./lib/vao-native.js\\\":269}],271:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}e.exports=n},{}],272:[function(t,e,r){function n(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}e.exports=n},{}],273:[function(t,e,r){function n(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}e.exports=n},{}],274:[function(t,e,r){function n(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}e.exports=n},{}],275:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}e.exports=n},{}],276:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}e.exports=n},{}],277:[function(t,e,r){function n(t,e,r,n){return i[0]=n,i[1]=r,i[2]=e,i[3]=t,a[0]}e.exports=n;var i=new Uint8Array(4),a=new Float32Array(i.buffer)},{}],278:[function(t,e,r){function n(t){for(var e=Array.isArray(t)?t:i(t),r=0;r<e.length;r++){var n=e[r];if(\\\"preprocessor\\\"===n.type){var o=n.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()}}}}var i=t(\\\"glsl-tokenizer\\\"),a=t(\\\"atob-lite\\\");e.exports=n},{\\\"atob-lite\\\":47,\\\"glsl-tokenizer\\\":285}],279:[function(t,e,r){function n(t){function e(t){t.length&&V.push({type:M[B],data:t,position:G,line:H,column:q})}function r(t){j=0,W+=t,F=W.length;for(var e;O=W[j],j<F;){switch(e=j,B){case h:j=E();break;case f:j=S();break;case d:j=T();break;case p:j=L();break;case m:j=I();break;case w:j=z();break;case v:j=D();break;case c:j=P();break;case x:j=A();break;case u:j=k()}if(e!==j)switch(W[e]){case\\\"\\\\n\\\":q=0,++H;break;default:++q}}return N+=j,W=W.slice(j),V}function n(t){return U.length&&e(U.join(\\\"\\\")),B=_,e(\\\"(eof)\\\"),V}function k(){return U=U.length?[]:U,\\\"/\\\"===R&&\\\"*\\\"===O?(G=N+j-1,B=h,R=O,j+1):\\\"/\\\"===R&&\\\"/\\\"===O?(G=N+j-1,B=f,R=O,j+1):\\\"#\\\"===O?(B=d,G=N+j,j):/\\\\s/.test(O)?(B=x,G=N+j,j):(Y=/\\\\d/.test(O),X=/[^\\\\w_]/.test(O),G=N+j,B=Y?m:X?p:c,j)}function A(){return/[^\\\\s]/g.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function T(){return\\\"\\\\r\\\"!==O&&\\\"\\\\n\\\"!==O||\\\"\\\\\\\\\\\"===R?(U.push(O),R=O,j+1):(e(U.join(\\\"\\\")),B=u,j)}function S(){return T()}function E(){return\\\"/\\\"===O&&\\\"*\\\"===R?(U.push(O),e(U.join(\\\"\\\")),B=u,j+1):(U.push(O),R=O,j+1)}function L(){if(\\\".\\\"===R&&/\\\\d/.test(O))return B=v,j;if(\\\"/\\\"===R&&\\\"*\\\"===O)return B=h,j;if(\\\"/\\\"===R&&\\\"/\\\"===O)return B=f,j;if(\\\".\\\"===O&&U.length){for(;C(U););return B=v,j}if(\\\";\\\"===O||\\\")\\\"===O||\\\"(\\\"===O){if(U.length)for(;C(U););return e(O),B=u,j+1}var t=2===U.length&&\\\"=\\\"!==O;if(/[\\\\w_\\\\d\\\\s]/.test(O)||t){for(;C(U););return B=u,j}return U.push(O),R=O,j+1}function C(t){for(var r,n,i=0;;){if(r=a.indexOf(t.slice(0,t.length+i).join(\\\"\\\")),n=a[r],-1===r){if(i--+t.length>0)continue;n=t.slice(0,1).join(\\\"\\\")}return e(n),G+=n.length,U=U.slice(n.length),U.length}}function z(){return/[^a-fA-F0-9]/.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function I(){return\\\".\\\"===O?(U.push(O),B=v,R=O,j+1):/[eE]/.test(O)?(U.push(O),B=v,R=O,j+1):\\\"x\\\"===O&&1===U.length&&\\\"0\\\"===U[0]?(B=w,U.push(O),R=O,j+1):/[^\\\\d]/.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function D(){return\\\"f\\\"===O&&(U.push(O),R=O,j+=1),/[eE]/.test(O)?(U.push(O),R=O,j+1):\\\"-\\\"===O&&/[eE]/.test(R)?(U.push(O),R=O,j+1):/[^\\\\d]/.test(O)?(e(U.join(\\\"\\\")),B=u,j):(U.push(O),R=O,j+1)}function P(){if(/[^\\\\d\\\\w_]/.test(O)){var t=U.join(\\\"\\\");return B=J.indexOf(t)>-1?b:Z.indexOf(t)>-1?y:g,e(U.join(\\\"\\\")),B=u,j}return U.push(O),R=O,j+1}var O,R,F,j=0,N=0,B=u,U=[],V=[],H=1,q=0,G=0,Y=!1,X=!1,W=\\\"\\\";t=t||{};var Z=o,J=i;return\\\"300 es\\\"===t.version&&(Z=l,J=s),function(t){return V=[],null!==t?r(t.replace?t.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\"):t):n()}}e.exports=n;var i=t(\\\"./lib/literals\\\"),a=t(\\\"./lib/operators\\\"),o=t(\\\"./lib/builtins\\\"),s=t(\\\"./lib/literals-300es\\\"),l=t(\\\"./lib/builtins-300es\\\"),u=999,c=9999,h=0,f=1,d=2,p=3,m=4,v=5,g=6,y=7,b=8,x=9,_=10,w=11,M=[\\\"block-comment\\\",\\\"line-comment\\\",\\\"preprocessor\\\",\\\"operator\\\",\\\"integer\\\",\\\"float\\\",\\\"ident\\\",\\\"builtin\\\",\\\"keyword\\\",\\\"whitespace\\\",\\\"eof\\\",\\\"integer\\\"]},{\\\"./lib/builtins\\\":281,\\\"./lib/builtins-300es\\\":280,\\\"./lib/literals\\\":283,\\\"./lib/literals-300es\\\":282,\\\"./lib/operators\\\":284}],280:[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\\\":281}],281:[function(t,e,r){\\n\",\n       \"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\\\"]},{}],282:[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\\\",\\\"uint\\\",\\\"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\\\":283}],283:[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\\\",\\\"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\\\"]},{}],284:[function(t,e,r){e.exports=[\\\"<<=\\\",\\\">>=\\\",\\\"++\\\",\\\"--\\\",\\\"<<\\\",\\\">>\\\",\\\"<=\\\",\\\">=\\\",\\\"==\\\",\\\"!=\\\",\\\"&&\\\",\\\"||\\\",\\\"+=\\\",\\\"-=\\\",\\\"*=\\\",\\\"/=\\\",\\\"%=\\\",\\\"&=\\\",\\\"^^\\\",\\\"^=\\\",\\\"|=\\\",\\\"(\\\",\\\")\\\",\\\"[\\\",\\\"]\\\",\\\".\\\",\\\"!\\\",\\\"~\\\",\\\"*\\\",\\\"/\\\",\\\"%\\\",\\\"+\\\",\\\"-\\\",\\\"<\\\",\\\">\\\",\\\"&\\\",\\\"^\\\",\\\"|\\\",\\\"?\\\",\\\":\\\",\\\"=\\\",\\\",\\\",\\\";\\\",\\\"{\\\",\\\"}\\\"]},{}],285:[function(t,e,r){function n(t,e){var r=i(e),n=[];return n=n.concat(r(t)),n=n.concat(r(null))}var i=t(\\\"./index\\\");e.exports=n},{\\\"./index\\\":279}],286:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var u=a[i+n.length],c=a[i+n.length+1];this.keys=a.subarray(u,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var h=0;h<this.d*this.d;h++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\\\"Cannot insert into a GridIndex created from an ArrayBuffer.\\\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[],s={};return this._forEachCell(t,e,r,n,this._queryCell,o,s),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,u=this.bboxes,c=0;c<s.length;c++){var h=s[c];if(void 0===o[h]){var f=4*h;t<=u[f+2]&&e<=u[f+3]&&r>=u[f+0]&&n>=u[f+1]?(o[h]=!0,a.push(l[h])):o[h]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),u=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var d=this.d*f+h;if(i.call(this,t,e,r,n,d,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+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 o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],287:[function(t,e,r){(function(r){\\\"use strict\\\";var n,i=t(\\\"is-browser\\\");n=\\\"function\\\"==typeof r.matchMedia?!r.matchMedia(\\\"(hover: none)\\\").matches:i,e.exports=n}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"is-browser\\\":293}],288:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,d=t[e+h];for(h+=f,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),a-=u}return(d?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,m=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=c):(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),e*l>=2&&(o++,l/=2),o+h>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+d]=255&s,d+=p,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*m}},{}],289:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function i(t,e,r){this.vertices=t,this.cell=e,this.index=r}function a(t,e){return c(t.vertices,e.vertices)}function o(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 n=new Function(\\\"test\\\",e.join(\\\"\\\")),i=u[t+1];return i||(i=u),n(i)}function s(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 n=0;n<=t;++n)this.tuple[n]=this.vertices[n];var i=h[t];i||(i=h[t]=o(t)),this.orient=i}function l(t,e){var r=t.length;if(0===r)throw new Error(\\\"Must have at least d+1 points\\\");var i=t[0].length;if(r<=i)throw new Error(\\\"Must input at least d+1 points\\\");var a=t.slice(0,i+1),o=u.apply(void 0,a);if(0===o)throw new Error(\\\"Input not in general position\\\");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;o<0&&(l[0]=1,l[1]=0);for(var h=new n(l,new Array(i+1),!1),f=h.adjacent,d=new Array(i+2),c=0;c<=i;++c){for(var p=l.slice(),m=0;m<=i;++m)m===c&&(p[m]=-1);var v=p[0];p[0]=p[1],p[1]=v;var g=new n(p,new Array(i+1),!0);f[c]=g,d[c]=g}d[i+1]=h;for(var c=0;c<=i;++c)for(var p=f[c].vertices,y=f[c].adjacent,m=0;m<=i;++m){var b=p[m];if(b<0)y[m]=h;else for(var x=0;x<=i;++x)f[x].vertices.indexOf(b)<0&&(y[m]=f[x])}for(var _=new s(i,a,d),w=!!e,c=i+1;c<r;++c)_.insert(t[c],w);return _.boundary()}e.exports=l;var u=t(\\\"robust-orientation\\\"),c=t(\\\"simplicial-complex\\\").compareCells;n.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 h=[],f=s.prototype;f.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){t=o.pop();for(var s=(t.vertices,t.adjacent),l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,h=0;h<=r;++h){var f=c[h];i[h]=f<0?e:a[f]}var d=this.orient();if(d>0)return u;u.lastVisited=-n,0===d&&o.push(u)}}}return null},f.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=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,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];s.lastVisited=r;for(var c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var d=this.orient();if(a[c]=f,d<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},f.addPeaks=function(t,e){var r=this.vertices.length-1,o=this.dimension,s=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var f=[];h.length>0;){var e=h.pop(),d=e.vertices,p=e.adjacent,m=d.indexOf(r);if(!(m<0))for(var v=0;v<=o;++v)if(v!==m){var g=p[v];if(g.boundary&&!(g.lastVisited>=r)){var y=g.vertices;if(g.lastVisited!==-r){for(var b=0,x=0;x<=o;++x)y[x]<0?(b=x,l[x]=t):l[x]=s[y[x]];var _=this.orient();if(_>0){y[b]=r,g.boundary=!1,u.push(g),h.push(g),g.lastVisited=r;continue}g.lastVisited=-r}var w=g.adjacent,M=d.slice(),k=p.slice(),A=new n(M,k,!0);c.push(A);var T=w.indexOf(e);if(!(T<0)){w[T]=A,k[m]=g,M[v]=-1,k[v]=e,p[v]=A,A.flip();for(var x=0;x<=o;++x){var S=M[x];if(!(S<0||S===r)){for(var E=new Array(o-1),L=0,C=0;C<=o;++C){var z=M[C];z<0||C===x||(E[L++]=z)}f.push(new i(E,A,x))}}}}}}f.sort(a);for(var v=0;v+1<f.length;v+=2){var I=f[v],D=f[v+1],P=I.index,O=D.index;P<0||O<0||(I.cell.adjacent[I.index]=D.cell,D.cell.adjacent[D.index]=I.cell)}},f.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},f.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,u=0,c=0;c<=t;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{\\\"robust-orientation\\\":507,\\\"simplicial-complex\\\":518}],290:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}function i(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 a(t,e){var r=p(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 o(t,e){var r=t.intervals([]);r.push(e),a(t,r)}function s(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?y:(r.splice(n,1),a(t,r),b)}function l(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function u(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function c(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function h(t,e){return t-e}function f(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function d(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function p(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(h);for(var i=e[e.length>>1],a=[],o=[],s=[],r=0;r<t.length;++r){var l=t[r];l[1]<i?a.push(l):i<l[0]?o.push(l):s.push(l)}var u=s,c=s.slice();return u.sort(f),c.sort(d),new n(i,p(a),p(o),u,c)}function m(t){this.root=t}function v(t){return new m(t&&0!==t.length?p(t):null)}var g=t(\\\"binary-search-bounds\\\"),y=0,b=1;e.exports=v;var x=n.prototype;x.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},x.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)?o(this,t):this.left.insert(t):this.left=p([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?o(this,t):this.right.insert(t):this.right=p([t]);else{var r=g.ge(this.leftPoints,t,f),n=g.ge(this.rightPoints,t,d);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},x.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return y;if(4*(this.right?this.right.count:0)>3*(e-1))return s(this,t);var r=this.left.remove(t);return 2===r?(this.left=null,this.count-=1,b):(r===b&&(this.count-=1),r)}if(t[0]>this.mid){if(!this.right)return y;if(4*(this.left?this.left.count:0)>3*(e-1))return s(this,t);var r=this.right.remove(t);return 2===r?(this.right=null,this.count-=1,b):(r===b&&(this.count-=1),r)}if(1===this.count)return this.leftPoints[0]===t?2:y;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var n=this,a=this.left;a.right;)n=a,a=a.right;if(n===this)a.right=this.right;else{var o=this.left,r=this.right;n.count-=a.count,n.right=a.left,a.left=o,a.right=r}i(this,a),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?i(this,this.left):i(this,this.right);return b}for(var o=g.ge(this.leftPoints,t,f);o<this.leftPoints.length&&this.leftPoints[o][0]===t[0];++o)if(this.leftPoints[o]===t){this.count-=1,this.leftPoints.splice(o,1);for(var r=g.ge(this.rightPoints,t,d);r<this.rightPoints.length&&this.rightPoints[r][1]===t[1];++r)if(this.rightPoints[r]===t)return this.rightPoints.splice(r,1),b}return y},x.queryPoint=function(t,e){if(t<this.mid){if(this.left){var r=this.left.queryPoint(t,e);if(r)return r}return l(this.leftPoints,t,e)}if(t>this.mid){if(this.right){var r=this.right.queryPoint(t,e);if(r)return r}return u(this.rightPoints,t,e)}return c(this.leftPoints,e)},x.queryInterval=function(t,e,r){if(t<this.mid&&this.left){var n=this.left.queryInterval(t,e,r);if(n)return n}if(e>this.mid&&this.right){var n=this.right.queryInterval(t,e,r);if(n)return n}return e<this.mid?l(this.leftPoints,e,r):t>this.mid?u(this.rightPoints,t,r):c(this.leftPoints,r)};var _=m.prototype;_.insert=function(t){this.root?this.root.insert(t):this.root=new n(t[0],null,null,[t],[t])},_.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==y}return!1},_.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},_.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(_,\\\"count\\\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(_,\\\"intervals\\\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\\\"binary-search-bounds\\\":65}],291:[function(t,e,r){\\\"use strict\\\";function n(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}e.exports=n},{}],292:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}e.exports=n},{}],293:[function(t,e,r){e.exports=!0},{}],294:[function(t,e,r){function n(t){return!!t.constructor&&\\\"function\\\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function i(t){return\\\"function\\\"==typeof t.readFloatLE&&\\\"function\\\"==typeof t.slice&&n(t.slice(0,0))}e.exports=function(t){return null!=t&&(n(t)||i(t)||!!t._isBuffer)}},{}],295:[function(t,e,r){function n(t){return t||\\\"undefined\\\"==typeof navigator||(t=navigator.userAgent),t&&t.headers&&\\\"string\\\"==typeof t.headers[\\\"user-agent\\\"]&&(t=t.headers[\\\"user-agent\\\"]),\\\"string\\\"==typeof t&&(/(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(4|6)0|symbian|treo|up\\\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(t.substr(0,4)))}e.exports=n},{}],296:[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({}))}},{}],297:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a){return new i(t,e,r,n,a)}function i(t,e,r,n,i){e=e||a,r=r||o,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);s(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function a(t){return t[0]}function o(t){return t[1]}var s=t(\\\"./sort\\\"),l=t(\\\"./range\\\"),u=t(\\\"./within\\\");e.exports=n,i.prototype={range:function(t,e,r,n){return l(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return u(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\\\"./range\\\":298,\\\"./sort\\\":299,\\\"./within\\\":300}],298:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){for(var s,l,u=[0,t.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),d=u.pop();if(f-d<=o)for(var p=d;p<=f;p++)s=e[2*p],l=e[2*p+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[p]);else{var m=Math.floor((d+f)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[m]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(d),u.push(m-1),u.push(v)),(0===h?i>=s:a>=l)&&(u.push(m+1),u.push(f),u.push(v))}}return c}e.exports=n},{}],299:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,a,o,s){if(!(o-a<=r)){var l=Math.floor((a+o)/2);i(t,e,l,a,o,s%2),n(t,e,r,a,l-1,s+1),n(t,e,r,l+1,o,s+1)}}function i(t,e,r,n,o,s){for(;o>n;){if(o-n>600){var l=o-n+1,u=r-n+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);i(t,e,r,Math.max(n,Math.floor(r-u*h/l+f)),Math.min(o,Math.floor(r+(l-u)*h/l+f)),s)}var d=e[2*r+s],p=n,m=o;for(a(t,e,n,r),e[2*o+s]>d&&a(t,e,n,o);p<m;){for(a(t,e,p,m),p++,m--;e[2*p+s]<d;)p++;for(;e[2*m+s]>d;)m--}e[2*n+s]===d?a(t,e,n,m):(m++,a(t,e,m,o)),m<=r&&(n=m+1),r<=m&&(o=m-1)}}function a(t,e,r,n){o(t,r,n),o(e,2*r,2*n),o(e,2*r+1,2*n+1)}function o(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=n},{}],300:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a,o){for(var s=[0,t.length-1,0],l=[],u=a*a;s.length;){var c=s.pop(),h=s.pop(),f=s.pop();if(h-f<=o)for(var d=f;d<=h;d++)i(e[2*d],e[2*d+1],r,n)<=u&&l.push(t[d]);else{var p=Math.floor((f+h)/2),m=e[2*p],v=e[2*p+1];i(m,v,r,n)<=u&&l.push(t[p]);var g=(c+1)%2;(0===c?r-a<=m:n-a<=v)&&(s.push(f),s.push(p-1),s.push(g)),(0===c?r+a>=m:n+a>=v)&&(s.push(p+1),s.push(h),s.push(g))}}return l}function i(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=n},{}],301:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r;if(h(t)){var l,u=t.stops&&\\\"object\\\"==typeof t.stops[0][0],c=u||void 0!==t.property,f=u||!c,d=t.type||e||\\\"exponential\\\";if(\\\"exponential\\\"===d)l=o;else if(\\\"interval\\\"===d)l=a;else if(\\\"categorical\\\"===d)l=i;else{if(\\\"identity\\\"!==d)throw new Error('Unknown function type \\\"'+d+'\\\"');l=s}if(u){for(var p={},m=[],v=0;v<t.stops.length;v++){var g=t.stops[v];void 0===p[g[0].zoom]&&(p[g[0].zoom]={zoom:g[0].zoom,type:t.type,property:t.property,stops:[]}),p[g[0].zoom].stops.push([g[0].value,g[1]])}for(var y in p)m.push([p[y].zoom,n(p[y])]);r=function(e,r){return o({stops:m,base:t.base},e)(e,r)},r.isFeatureConstant=!1,r.isZoomConstant=!1}else f?(r=function(e){return l(t,e)},r.isFeatureConstant=!0,r.isZoomConstant=!1):(r=function(e,r){return l(t,r[t.property])},r.isFeatureConstant=!1,r.isZoomConstant=!0)}else r=function(){return t},r.isFeatureConstant=!0,r.isZoomConstant=!0;return r}function i(t,e){for(var r=0;r<t.stops.length;r++)if(e===t.stops[r][0])return t.stops[r][1];return t.stops[0][1]}function a(t,e){for(var r=0;r<t.stops.length&&!(e<t.stops[r][0]);r++);return t.stops[Math.max(r-1,0)][1]}function o(t,e){for(var r=void 0!==t.base?t.base:1,n=0;;){if(n>=t.stops.length)break;if(e<=t.stops[n][0])break;n++}return 0===n?t.stops[n][1]:n===t.stops.length?t.stops[n-1][1]:l(e,r,t.stops[n-1][0],t.stops[n][0],t.stops[n-1][1],t.stops[n][1])}function s(t,e){return e}function l(t,e,r,n,i,a){return\\\"function\\\"==typeof i?function(){var o=i.apply(void 0,arguments),s=a.apply(void 0,arguments);return l(t,e,r,n,o,s)}:i.length?c(t,e,r,n,i,a):u(t,e,r,n,i,a)}function u(t,e,r,n,i,a){var o,s=n-r,l=t-r;return o=1===e?l/s:(Math.pow(e,l)-1)/(Math.pow(e,s)-1),i*(1-o)+a*o}function c(t,e,r,n,i,a){for(var o=[],s=0;s<i.length;s++)o[s]=u(t,e,r,n,i[s],a[s]);return o}function h(t){return\\\"object\\\"==typeof t&&(t.stops||\\\"identity\\\"===t.type)}e.exports.isFunctionDefinition=h,e.exports.interpolated=function(t){return n(t,\\\"exponential\\\")},e.exports[\\\"piecewise-constant\\\"]=function(t){return n(t,\\\"interval\\\")}},{}],302:[function(t,e,r){t(\\\"path\\\");e.exports={debug:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform lowp vec4 u_color;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color;\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\\\n}\\\\n\\\"},fill:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_FragColor = color * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},circle:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying lowp float v_antialiasblur;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float t = smoothstep(1.0 - max(blur, v_antialiasblur), 1.0, length(v_extrude));\\\\n    gl_FragColor = color * (1.0 - t) * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform bool u_scale_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_devicepixelratio;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\n#pragma mapbox: define lowp vec4 color\\\\n#pragma mapbox: define mediump float radius\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying lowp float v_antialiasblur;\\\\n\\\\nvoid main(void) {\\\\n    #pragma mapbox: initialize lowp vec4 color\\\\n    #pragma mapbox: initialize mediump float radius\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\\\n\\\\n    if (u_scale_with_map) {\\\\n        gl_Position.xy += extrude;\\\\n    } else {\\\\n        gl_Position.xy += extrude * gl_Position.w;\\\\n    }\\\\n\\\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\\\n    // to keep the blur at roughly 1px, the two are inversely related.\\\\n    v_antialiasblur = 1.0 / u_devicepixelratio / radius;\\\\n}\\\\n\\\"},line:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform lowp vec4 u_color;\\\\nuniform lowp float u_opacity;\\\\nuniform float u_blur;\\\\n\\\\nvarying vec2 v_linewidth;\\\\nvarying vec2 v_normal;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_linewidth.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\\\n    // (v_linewidth.s)\\\\n    float blur = u_blur * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\\\n\\\\n    gl_FragColor = u_color * (alpha * u_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform mediump float u_linewidth;\\\\nuniform mediump float u_gapwidth;\\\\nuniform mediump float u_antialiasing;\\\\nuniform mediump float u_extra;\\\\nuniform mat2 u_antialiasingmatrix;\\\\nuniform mediump float u_offset;\\\\nuniform mediump float u_blur;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n\\\\n    // We store the texture normals in the most insignificant bit\\\\n    // transform y so that 0 => -1 and 1 => 1\\\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = mod(a_pos, 2.0);\\\\n    normal.y = sign(normal.y - 0.5);\\\\n    v_normal = normal;\\\\n\\\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    // Remove the texture normal bit of the position before scaling it with the\\\\n    // model/view matrix.\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\\\n\\\\n    // position of y on the screen\\\\n    float y = gl_Position.y / gl_Position.w;\\\\n\\\\n    // how much features are squished in the y direction by the tilt\\\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\\\n\\\\n    // how much features are squished in all directions by the perspectiveness\\\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\\\n\\\\n    v_linewidth = vec2(outset, inset);\\\\n    v_gamma_scale = perspective_scale * squish_scale;\\\\n}\\\\n\\\"},linepattern:{\\n\",\n       \"fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_blur;\\\\n\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform float u_fade;\\\\nuniform float u_opacity;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_linewidth.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\\\n    // (v_linewidth.s)\\\\n    float blur = u_blur * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\\\n\\\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\\\n    float y_a = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_a.y);\\\\n    float y_b = 0.5 + (v_normal.y * v_linewidth.s / u_pattern_size_b.y);\\\\n    vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\\\n    vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\\\n\\\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\\\n\\\\n    alpha *= u_opacity;\\\\n\\\\n    gl_FragColor = color * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform mediump float u_linewidth;\\\\nuniform mediump float u_gapwidth;\\\\nuniform mediump float u_antialiasing;\\\\nuniform mediump float u_extra;\\\\nuniform mat2 u_antialiasingmatrix;\\\\nuniform mediump float u_offset;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    // We store the texture normals in the most insignificant bit\\\\n    // transform y so that 0 => -1 and 1 => 1\\\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = mod(a_pos, 2.0);\\\\n    normal.y = sign(normal.y - 0.5);\\\\n    v_normal = normal;\\\\n\\\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    // Remove the texture normal bit of the position before scaling it with the\\\\n    // model/view matrix.\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\\\n    v_linesofar = a_linesofar;\\\\n\\\\n    // position of y on the screen\\\\n    float y = gl_Position.y / gl_Position.w;\\\\n\\\\n    // how much features are squished in the y direction by the tilt\\\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\\\n\\\\n    // how much features are squished in all directions by the perspectiveness\\\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\\\n\\\\n    v_linewidth = vec2(outset, inset);\\\\n    v_gamma_scale = perspective_scale * squish_scale;\\\\n}\\\\n\\\"},linesdfpattern:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform lowp vec4 u_color;\\\\nuniform lowp float u_opacity;\\\\n\\\\nuniform float u_blur;\\\\nuniform sampler2D u_image;\\\\nuniform float u_sdfgamma;\\\\nuniform float u_mix;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_linewidth.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_linewidth.t) or when fading out\\\\n    // (v_linewidth.s)\\\\n    float blur = u_blur * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_linewidth.t - blur), v_linewidth.s - dist) / blur, 0.0, 1.0);\\\\n\\\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\\\n    alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\\\n\\\\n    gl_FragColor = u_color * (alpha * u_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform mediump float u_linewidth;\\\\nuniform mediump float u_gapwidth;\\\\nuniform mediump float u_antialiasing;\\\\nuniform vec2 u_patternscale_a;\\\\nuniform float u_tex_y_a;\\\\nuniform vec2 u_patternscale_b;\\\\nuniform float u_tex_y_b;\\\\nuniform float u_extra;\\\\nuniform mat2 u_antialiasingmatrix;\\\\nuniform mediump float u_offset;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_linewidth;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    // We store the texture normals in the most insignificant bit\\\\n    // transform y so that 0 => -1 and 1 => 1\\\\n    // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = mod(a_pos, 2.0);\\\\n    normal.y = sign(normal.y - 0.5);\\\\n    v_normal = normal;\\\\n\\\\n    float inset = u_gapwidth + (u_gapwidth > 0.0 ? u_antialiasing : 0.0);\\\\n    float outset = u_gapwidth + u_linewidth * (u_gapwidth > 0.0 ? 2.0 : 1.0) + u_antialiasing;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset = u_offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    // Remove the texture normal bit of the position before scaling it with the\\\\n    // model/view matrix.\\\\n    gl_Position = u_matrix * vec4(floor(a_pos * 0.5) + (offset + dist) / u_ratio, 0.0, 1.0);\\\\n\\\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\\\n\\\\n    // position of y on the screen\\\\n    float y = gl_Position.y / gl_Position.w;\\\\n\\\\n    // how much features are squished in the y direction by the tilt\\\\n    float squish_scale = length(a_extrude) / length(u_antialiasingmatrix * a_extrude);\\\\n\\\\n    // how much features are squished in all directions by the perspectiveness\\\\n    float perspective_scale = 1.0 / (1.0 - min(y * u_extra, 0.9));\\\\n\\\\n    v_linewidth = vec2(outset, inset);\\\\n    v_gamma_scale = perspective_scale * squish_scale;\\\\n}\\\\n\\\"},outline:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\n#pragma mapbox: define lowp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = smoothstep(1.0, 0.0, dist);\\\\n    gl_FragColor = outline_color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},outlinepattern:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_opacity;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    // find distance to outline for alpha interpolation\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = smoothstep(1.0, 0.0, dist);\\\\n    \\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\\\n\\\\n    // the correct offset needs to be calculated.\\\\n    //\\\\n    // The offset depends on how many pixels are between the world origin and\\\\n    // the edge of the tile:\\\\n    // vec2 offset = mod(pixel_coord, size)\\\\n    //\\\\n    // At high zoom levels there are a ton of pixels between the world origin\\\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\\\n    // precision for highp floats. We need more than that.\\\\n    //\\\\n    // The pixel_coord is passed in as two 16 bit values:\\\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n    //\\\\n    // The offset is calculated in a series of steps that should preserve this precision:\\\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\\\n\\\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\\\n\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},pattern:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_opacity;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    vec2 scaled_size_a = u_scale_a * u_pattern_size_a;\\\\n    vec2 scaled_size_b = u_scale_b * u_pattern_size_b;\\\\n\\\\n    // the correct offset needs to be calculated.\\\\n    //\\\\n    // The offset depends on how many pixels are between the world origin and\\\\n    // the edge of the tile:\\\\n    // vec2 offset = mod(pixel_coord, size)\\\\n    //\\\\n    // At high zoom levels there are a ton of pixels between the world origin\\\\n    // and the edge of the tile. The glsl spec only guarantees 16 bits of\\\\n    // precision for highp floats. We need more than that.\\\\n    //\\\\n    // The pixel_coord is passed in as two 16 bit values:\\\\n    // pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n    // pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n    //\\\\n    // The offset is calculated in a series of steps that should preserve this precision:\\\\n    vec2 offset_a = mod(mod(mod(u_pixel_coord_upper, scaled_size_a) * 256.0, scaled_size_a) * 256.0 + u_pixel_coord_lower, scaled_size_a);\\\\n    vec2 offset_b = mod(mod(mod(u_pixel_coord_upper, scaled_size_b) * 256.0, scaled_size_b) * 256.0 + u_pixel_coord_lower, scaled_size_b);\\\\n\\\\n    v_pos_a = (u_tile_units_to_pixels * a_pos + offset_a) / scaled_size_a;\\\\n    v_pos_b = (u_tile_units_to_pixels * a_pos + offset_b) / scaled_size_b;\\\\n}\\\\n\\\"},raster:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_opacity0;\\\\nuniform float u_opacity1;\\\\nuniform sampler2D u_image0;\\\\nuniform sampler2D u_image1;\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nuniform float u_brightness_low;\\\\nuniform float u_brightness_high;\\\\n\\\\nuniform float u_saturation_factor;\\\\nuniform float u_contrast_factor;\\\\nuniform vec3 u_spin_weights;\\\\n\\\\nvoid main() {\\\\n\\\\n    // read and cross-fade colors from the main and parent tiles\\\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\\\n    vec4 color = color0 * u_opacity0 + color1 * u_opacity1;\\\\n    vec3 rgb = color.rgb;\\\\n\\\\n    // spin\\\\n    rgb = vec3(\\\\n        dot(rgb, u_spin_weights.xyz),\\\\n        dot(rgb, u_spin_weights.zxy),\\\\n        dot(rgb, u_spin_weights.yzx));\\\\n\\\\n    // saturation\\\\n    float average = (color.r + color.g + color.b) / 3.0;\\\\n    rgb += (average - rgb) * u_saturation_factor;\\\\n\\\\n    // contrast\\\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\\\n\\\\n    // brightness\\\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\\\n\\\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb), color.a);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_tl_parent;\\\\nuniform float u_scale_parent;\\\\nuniform float u_buffer_scale;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\\\n}\\\\n\\\"},icon:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform sampler2D u_fadetexture;\\\\nuniform lowp float u_opacity;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\n\\\\nvoid main() {\\\\n    lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * u_opacity;\\\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_offset;\\\\nattribute vec2 a_texture_pos;\\\\nattribute vec4 a_data;\\\\n\\\\n\\\\n// matrix is for the vertex position.\\\\nuniform mat4 u_matrix;\\\\n\\\\nuniform mediump float u_zoom;\\\\nuniform bool u_rotate_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\n\\\\nvoid main() {\\\\n    vec2 a_tex = a_texture_pos.xy;\\\\n    mediump float a_labelminzoom = a_data[0];\\\\n    mediump vec2 a_zoom = a_data.pq;\\\\n    mediump float a_minzoom = a_zoom[0];\\\\n    mediump float a_maxzoom = a_zoom[1];\\\\n\\\\n    // u_zoom is the current zoom level adjusted for the change in font size\\\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\\\n\\\\n    vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\\\n    if (u_rotate_with_map) {\\\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\\\n        gl_Position.z += z * gl_Position.w;\\\\n    } else {\\\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\\\n    }\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\\\n}\\\\n\\\"},sdf:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform sampler2D u_fadetexture;\\\\nuniform lowp vec4 u_color;\\\\nuniform lowp float u_opacity;\\\\nuniform lowp float u_buffer;\\\\nuniform lowp float u_gamma;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    lowp float dist = texture2D(u_texture, v_tex).a;\\\\n    lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\\\n    lowp float gamma = u_gamma * v_gamma_scale;\\\\n    lowp float alpha = smoothstep(u_buffer - gamma, u_buffer + gamma, dist) * fade_alpha;\\\\n\\\\n    gl_FragColor = u_color * (alpha * u_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nconst float PI = 3.141592653589793;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_offset;\\\\nattribute vec2 a_texture_pos;\\\\nattribute vec4 a_data;\\\\n\\\\n\\\\n// matrix is for the vertex position.\\\\nuniform mat4 u_matrix;\\\\n\\\\nuniform mediump float u_zoom;\\\\nuniform bool u_rotate_with_map;\\\\nuniform bool u_pitch_with_map;\\\\nuniform mediump float u_pitch;\\\\nuniform mediump float u_bearing;\\\\nuniform mediump float u_aspect_ratio;\\\\nuniform vec2 u_extrude_scale;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying vec2 v_fade_tex;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    vec2 a_tex = a_texture_pos.xy;\\\\n    mediump float a_labelminzoom = a_data[0];\\\\n    mediump vec2 a_zoom = a_data.pq;\\\\n    mediump float a_minzoom = a_zoom[0];\\\\n    mediump float a_maxzoom = a_zoom[1];\\\\n\\\\n    // u_zoom is the current zoom level adjusted for the change in font size\\\\n    mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\\\n\\\\n    // pitch-alignment: map\\\\n    // rotation-alignment: map | viewport\\\\n    if (u_pitch_with_map) {\\\\n        lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\\\n        lowp float asin = sin(angle);\\\\n        lowp float acos = cos(angle);\\\\n        mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\\\n        vec2 offset = RotationMatrix * a_offset;\\\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\\\n        gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\\\n        gl_Position.z += z * gl_Position.w;\\\\n    // pitch-alignment: viewport\\\\n    // rotation-alignment: map\\\\n    } else if (u_rotate_with_map) {\\\\n        // foreshortening factor to apply on pitched maps\\\\n        // as a label goes from horizontal <=> vertical in angle\\\\n        // it goes from 0% foreshortening to up to around 70% foreshortening\\\\n        lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\\\n\\\\n        lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\\\n\\\\n        // use the lineangle to position points a,b along the line\\\\n        // project the points and calculate the label angle in projected space\\\\n        // this calculation allows labels to be rendered unskewed on pitched maps\\\\n        vec4 a = u_matrix * vec4(a_pos, 0, 1);\\\\n        vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\\\n        lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\\\n        lowp float asin = sin(angle);\\\\n        lowp float acos = cos(angle);\\\\n        mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\\\n\\\\n        vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\\\n        vec2 extrude = u_extrude_scale * (offset / 64.0);\\\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\\\n        gl_Position.z += z * gl_Position.w;\\\\n    // pitch-alignment: viewport\\\\n    // rotation-alignment: viewport\\\\n    } else {\\\\n        vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\\\n        gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\\\n    }\\\\n\\\\n    v_gamma_scale = (gl_Position.w - 0.5);\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\\\n}\\\\n\\\"},collisionbox:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nuniform float u_zoom;\\\\nuniform float u_maxzoom;\\\\n\\\\nvarying float v_max_zoom;\\\\nvarying float v_placement_zoom;\\\\n\\\\nvoid main() {\\\\n\\\\n    float alpha = 0.5;\\\\n\\\\n    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\\\n\\\\n    if (v_placement_zoom > u_zoom) {\\\\n        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n    }\\\\n\\\\n    if (u_zoom >= v_max_zoom) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\\\n    }\\\\n\\\\n    if (v_placement_zoom >= u_maxzoom) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\\\n    }\\\\n}\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n#define lowp\\\\n#define mediump\\\\n#define highp\\\\n#endif\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform float u_scale;\\\\n\\\\nvarying float v_max_zoom;\\\\nvarying float v_placement_zoom;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\\\n\\\\n    v_max_zoom = a_data.x;\\\\n    v_placement_zoom = a_data.y;\\\\n}\\\\n\\\"}},e.exports.util=\\\"float evaluate_zoom_function_1(const vec4 values, const float t) {\\\\n    if (t < 1.0) {\\\\n        return mix(values[0], values[1], t);\\\\n    } else if (t < 2.0) {\\\\n        return mix(values[1], values[2], t - 1.0);\\\\n    } else {\\\\n        return mix(values[2], values[3], t - 2.0);\\\\n    }\\\\n}\\\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\\\n    if (t < 1.0) {\\\\n        return mix(value0, value1, t);\\\\n    } else if (t < 2.0) {\\\\n        return mix(value1, value2, t - 1.0);\\\\n    } else {\\\\n        return mix(value2, value3, t - 2.0);\\\\n    }\\\\n}\\\\n\\\"},{path:475}],303:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.message=(t?t+\\\": \\\":\\\"\\\")+i.apply(i,Array.prototype.slice.call(arguments,2)),null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}var i=t(\\\"util\\\").format;e.exports=n},{util:548}],304:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}},{}],305:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t instanceof Number?\\\"number\\\":t instanceof String?\\\"string\\\":t instanceof Boolean?\\\"boolean\\\":Array.isArray(t)?\\\"array\\\":null===t?\\\"null\\\":typeof t}},{}],306:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}},{}],307:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"../util/extend\\\");e.exports=function(e){var r=t(\\\"./validate_function\\\"),o=t(\\\"./validate_object\\\"),s={\\\"*\\\":function(){return[]},array:t(\\\"./validate_array\\\"),boolean:t(\\\"./validate_boolean\\\"),number:t(\\\"./validate_number\\\"),color:t(\\\"./validate_color\\\"),constants:t(\\\"./validate_constants\\\"),enum:t(\\\"./validate_enum\\\"),filter:t(\\\"./validate_filter\\\"),function:t(\\\"./validate_function\\\"),layer:t(\\\"./validate_layer\\\"),object:t(\\\"./validate_object\\\"),source:t(\\\"./validate_source\\\"),string:t(\\\"./validate_string\\\")},l=e.value,u=e.valueSpec,c=e.key,h=e.styleSpec,f=e.style;if(\\\"string\\\"===i(l)&&\\\"@\\\"===l[0]){if(h.$version>7)return[new n(c,l,\\\"constants have been deprecated as of v8\\\")];if(!(l in f.constants))return[new n(c,l,'constant \\\"%s\\\" not found',l)];e=a({},e,{value:f.constants[l]})}return u.function&&\\\"object\\\"===i(l)?r(e):u.type&&s[u.type]?s[u.type](e):o(a({},e,{valueSpec:u.type?h[u.type]:u}))}},{\\\"../error/validation_error\\\":303,\\\"../util/extend\\\":304,\\\"../util/get_type\\\":305,\\\"./validate_array\\\":308,\\\"./validate_boolean\\\":309,\\\"./validate_color\\\":310,\\\"./validate_constants\\\":311,\\\"./validate_enum\\\":312,\\\"./validate_filter\\\":313,\\\"./validate_function\\\":314,\\\"./validate_layer\\\":316,\\\"./validate_number\\\":318,\\\"./validate_object\\\":319,\\\"./validate_source\\\":321,\\\"./validate_string\\\":322}],308:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"./validate\\\"),a=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,u=t.arrayElementValidator||i;if(\\\"array\\\"!==n(e))return[new a(l,e,\\\"array expected, %s found\\\",n(e))];if(r.length&&e.length!==r.length)return[new a(l,e,\\\"array length %d expected, length %d found\\\",r.length,e.length)];if(r[\\\"min-length\\\"]&&e.length<r[\\\"min-length\\\"])return[new a(l,e,\\\"array length at least %d expected, length %d found\\\",r[\\\"min-length\\\"],e.length)];var c={type:r.value};s.$version<7&&(c.function=r.function),\\\"object\\\"===n(r.value)&&(c=r.value);for(var h=[],f=0;f<e.length;f++)h=h.concat(u({array:e,arrayIndex:f,value:e[f],valueSpec:c,style:o,styleSpec:s,key:l+\\\"[\\\"+f+\\\"]\\\"}));return h}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\\"./validate\\\":307}],309:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"boolean\\\"!==a?[new i(r,e,\\\"boolean expected, %s found\\\",a)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],310:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"csscolorparser\\\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\\\"string\\\"!==o?[new n(e,r,\\\"color expected, %s found\\\",o)]:null===a(r)?[new n(e,r,'color expected, \\\"%s\\\" found',r)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,csscolorparser:107}],311:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\");e.exports=function(t){var e=t.key,r=t.value;if(t.styleSpec.$version>7)return r?[new n(e,r,\\\"constants have been deprecated as of v8\\\")]:[];var a=i(r);if(\\\"object\\\"!==a)return[new n(e,r,\\\"object expected, %s found\\\",a)];var o=[];for(var s in r)\\\"@\\\"!==s[0]&&o.push(new n(e+\\\".\\\"+s,r[s],'constants must start with \\\"@\\\"'));return o}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],312:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [%s], %s found\\\",a.values.join(\\\", \\\"),r)),o}},{\\\"../error/validation_error\\\":303,\\\"../util/unbundle_jsonlint\\\":306}],313:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_enum\\\"),a=t(\\\"../util/get_type\\\"),o=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function t(e){var r,s=e.value,l=e.key,u=e.styleSpec,c=[];if(\\\"array\\\"!==a(s))return[new n(l,s,\\\"array expected, %s found\\\",a(s))];if(s.length<1)return[new n(l,s,\\\"filter array must have at least 1 element\\\")];switch(c=c.concat(i({key:l+\\\"[0]\\\",value:s[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),o(s[0])){case\\\"<\\\":case\\\"<=\\\":case\\\">\\\":case\\\">=\\\":s.length>=2&&\\\"$type\\\"==s[1]&&c.push(new n(l,s,'\\\"$type\\\" cannot be use with operator \\\"%s\\\"',s[0]));case\\\"==\\\":case\\\"!=\\\":3!=s.length&&c.push(new n(l,s,'filter array for operator \\\"%s\\\" must have 3 elements',s[0]));case\\\"in\\\":case\\\"!in\\\":s.length>=2&&(r=a(s[1]),\\\"string\\\"!==r?c.push(new n(l+\\\"[1]\\\",s[1],\\\"string expected, %s found\\\",r)):\\\"@\\\"===s[1][0]&&c.push(new n(l+\\\"[1]\\\",s[1],\\\"filter key cannot be a constant\\\")));for(var h=2;h<s.length;h++)r=a(s[h]),\\\"$type\\\"==s[1]?c=c.concat(i({key:l+\\\"[\\\"+h+\\\"]\\\",value:s[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\\\"string\\\"===r&&\\\"@\\\"===s[h][0]?c.push(new n(l+\\\"[\\\"+h+\\\"]\\\",s[h],\\\"filter value cannot be a constant\\\")):\\\"string\\\"!==r&&\\\"number\\\"!==r&&\\\"boolean\\\"!==r&&c.push(new n(l+\\\"[\\\"+h+\\\"]\\\",s[h],\\\"string, number, or boolean expected, %s found\\\",r));break;case\\\"any\\\":case\\\"all\\\":case\\\"none\\\":for(h=1;h<s.length;h++)c=c.concat(t({key:l+\\\"[\\\"+h+\\\"]\\\",value:s[h],style:e.style,styleSpec:e.styleSpec}));break;case\\\"has\\\":case\\\"!has\\\":r=a(s[1]),2!==s.length?c.push(new n(l,s,'filter array for \\\"%s\\\" operator must have 2 elements',s[0])):\\\"string\\\"!==r?c.push(new n(l+\\\"[1]\\\",s[1],\\\"string expected, %s found\\\",r)):\\\"@\\\"===s[1][0]&&c.push(new n(l+\\\"[1]\\\",s[1],\\\"filter key cannot be a constant\\\"))}return c}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\n\",\n       \"\\\"../util/unbundle_jsonlint\\\":306,\\\"./validate_enum\\\":312}],314:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\"),o=t(\\\"./validate_object\\\"),s=t(\\\"./validate_array\\\"),l=t(\\\"./validate_number\\\");e.exports=function(t){function e(t){var e=[],a=t.value;return e=e.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:r})),\\\"array\\\"===i(a)&&0===a.length&&e.push(new n(t.key,a,\\\"array must have at least one stop\\\")),e}function r(t){var e=[],r=t.value,s=t.key;if(\\\"array\\\"!==i(r))return[new n(s,r,\\\"array expected, %s found\\\",i(r))];if(2!==r.length)return[new n(s,r,\\\"array length %d expected, length %d found\\\",2,r.length)];var f=i(r[0]);if(c||(c=f),f!==c)return[new n(s,r,\\\"%s stop key type must match previous stop key type %s\\\",f,c)];if(\\\"object\\\"===f){if(void 0===r[0].zoom)return[new n(s,r,\\\"object stop key must have zoom\\\")];if(void 0===r[0].value)return[new n(s,r,\\\"object stop key must have value\\\")];e=e.concat(o({key:s+\\\"[0]\\\",value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:u}}))}else e=e.concat((d?l:u)({key:s+\\\"[0]\\\",value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec}));return e=e.concat(a({key:s+\\\"[1]\\\",value:r[1],valueSpec:h,style:t.style,styleSpec:t.styleSpec})),\\\"number\\\"===i(r[0])&&(\\\"piecewise-constant\\\"===h.function&&r[0]%1!=0&&e.push(new n(s+\\\"[0]\\\",r[0],\\\"zoom level for piecewise-constant functions must be an integer\\\")),0!==t.arrayIndex&&r[0]<t.array[t.arrayIndex-1][0]&&e.push(new n(s+\\\"[0]\\\",r[0],\\\"array stops must appear in ascending order\\\"))),e}function u(t){var e=[],r=i(t.value);return\\\"number\\\"!==r&&\\\"string\\\"!==r&&\\\"array\\\"!==r&&e.push(new n(t.key,t.value,\\\"property value must be a number, string or array\\\")),e}var c,h=t.valueSpec,f=void 0!==t.value.property||\\\"object\\\"===c,d=void 0===t.value.property||\\\"object\\\"===c,p=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:e}});return t.styleSpec.$version>=8&&(f&&!t.valueSpec[\\\"property-function\\\"]?p.push(new n(t.key,t.value,\\\"property functions not supported\\\")):d&&!t.valueSpec[\\\"zoom-function\\\"]&&p.push(new n(t.key,t.value,\\\"zoom functions not supported\\\"))),p}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\\"./validate\\\":307,\\\"./validate_array\\\":308,\\\"./validate_number\\\":318,\\\"./validate_object\\\":319}],315:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_string\\\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(\\\"{fontstack}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{fontstack}\\\" token')),-1===e.indexOf(\\\"{range}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{range}\\\" token')),a)}},{\\\"../error/validation_error\\\":303,\\\"./validate_string\\\":322}],316:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_filter\\\"),s=t(\\\"./validate_paint_property\\\"),l=t(\\\"./validate_layout_property\\\"),u=t(\\\"../util/extend\\\");e.exports=function(t){var e=[],r=t.value,c=t.key,h=t.style,f=t.styleSpec;r.type||r.ref||e.push(new n(c,r,'either \\\"type\\\" or \\\"ref\\\" is required'));var d=i(r.type),p=i(r.ref);if(r.id)for(var m=0;m<t.arrayIndex;m++){var v=h.layers[m];i(v.id)===i(r.id)&&e.push(new n(c,r.id,'duplicate layer id \\\"%s\\\", previously used at line %d',r.id,v.id.__line__))}if(\\\"ref\\\"in r){[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"filter\\\",\\\"layout\\\"].forEach(function(t){t in r&&e.push(new n(c,r[t],'\\\"%s\\\" is prohibited for ref layers',t))});var g;h.layers.forEach(function(t){t.id==p&&(g=t)}),g?g.ref?e.push(new n(c,r.ref,\\\"ref cannot reference another ref layer\\\")):d=i(g.type):e.push(new n(c,r.ref,'ref layer \\\"%s\\\" not found',p))}else if(\\\"background\\\"!==d)if(r.source){var y=h.sources&&h.sources[r.source];y?\\\"vector\\\"==y.type&&\\\"raster\\\"==d?e.push(new n(c,r.source,'layer \\\"%s\\\" requires a raster source',r.id)):\\\"raster\\\"==y.type&&\\\"raster\\\"!=d?e.push(new n(c,r.source,'layer \\\"%s\\\" requires a vector source',r.id)):\\\"vector\\\"!=y.type||r[\\\"source-layer\\\"]||e.push(new n(c,r,'layer \\\"%s\\\" must specify a \\\"source-layer\\\"',r.id)):e.push(new n(c,r.source,'source \\\"%s\\\" not found',r.source))}else e.push(new n(c,r,'missing required property \\\"source\\\"'));return e=e.concat(a({key:c,value:r,valueSpec:f.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return l(u({layerType:d},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return s(u({layerType:d},t))}}})}}}))}},{\\\"../error/validation_error\\\":303,\\\"../util/extend\\\":304,\\\"../util/unbundle_jsonlint\\\":306,\\\"./validate_filter\\\":313,\\\"./validate_layout_property\\\":317,\\\"./validate_object\\\":319,\\\"./validate_paint_property\\\":320}],317:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\\\"layout_\\\"+t.layerType];if(t.valueSpec||l[s]){var u=[];return\\\"symbol\\\"===t.layerType&&(\\\"icon-image\\\"===s&&r&&!r.sprite?u.push(new i(e,o,'use of \\\"icon-image\\\" requires a style \\\"sprite\\\" property')):\\\"text-field\\\"===s&&r&&!r.glyphs&&u.push(new i(e,o,'use of \\\"text-field\\\" requires a style \\\"glyphs\\\" property'))),u.concat(n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}))}return[new i(e,o,'unknown property \\\"%s\\\"',s)]}},{\\\"../error/validation_error\\\":303,\\\"./validate\\\":307}],318:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\\\"number\\\"!==o?[new i(e,r,\\\"number expected, %s found\\\",o)]:\\\"minimum\\\"in a&&r<a.minimum?[new i(e,r,\\\"%s is less than the minimum value %s\\\",r,a.minimum)]:\\\"maximum\\\"in a&&r>a.maximum?[new i(e,r,\\\"%s is greater than the maximum value %s\\\",r,a.maximum)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],319:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec,s=t.objectElementValidators||{},l=t.style,u=t.styleSpec,c=[],h=i(r);if(\\\"object\\\"!==h)return[new n(e,r,\\\"object expected, %s found\\\",h)];for(var f in r){var d=f.split(\\\".\\\")[0],p=o&&(o[d]||o[\\\"*\\\"]),m=s[d]||s[\\\"*\\\"];p||m?c=c.concat((m||a)({key:(e?e+\\\".\\\":e)+f,value:r[f],valueSpec:p,style:l,styleSpec:u,object:r,objectKey:f})):\\\"\\\"!==e&&1!==e.split(\\\".\\\").length&&c.push(new n(e,r[f],'unknown property \\\"%s\\\"',f))}for(d in o)o[d].required&&void 0===o[d].default&&void 0===r[d]&&c.push(new n(e,r,'missing required property \\\"%s\\\"',d));return c}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305,\\\"./validate\\\":307}],320:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.style,a=t.styleSpec,o=t.value,s=t.objectKey,l=a[\\\"paint_\\\"+t.layerType],u=s.match(/^(.*)-transition$/);return u&&l[u[1]]&&l[u[1]].transition?n({key:e,value:o,valueSpec:a.transition,style:r,styleSpec:a}):t.valueSpec||l[s]?n({key:t.key,value:o,valueSpec:t.valueSpec||l[s],style:r,styleSpec:a}):[new i(e,o,'unknown property \\\"%s\\\"',s)]}},{\\\"../error/validation_error\\\":303,\\\"./validate\\\":307}],321:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_enum\\\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\\\"type\\\" is required')];switch(i(e.type)){case\\\"vector\\\":case\\\"raster\\\":var u=[];if(u=u.concat(a({key:r,value:e,valueSpec:s.source_tile,style:t.style,styleSpec:s})),\\\"url\\\"in e)for(var c in e)[\\\"type\\\",\\\"url\\\",\\\"tileSize\\\"].indexOf(c)<0&&u.push(new n(r+\\\".\\\"+c,e[c],'a source with a \\\"url\\\" property may not include a \\\"%s\\\" property',c));return u;case\\\"geojson\\\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\\\"video\\\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\\\"image\\\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});default:return o({key:r+\\\".type\\\",value:e.type,valueSpec:{values:[\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\"]},style:l,styleSpec:s})}}},{\\\"../error/validation_error\\\":303,\\\"../util/unbundle_jsonlint\\\":306,\\\"./validate_enum\\\":312,\\\"./validate_object\\\":319}],322:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"string\\\"!==a?[new i(r,e,\\\"string expected, %s found\\\",a)]:[]}},{\\\"../error/validation_error\\\":303,\\\"../util/get_type\\\":305}],323:[function(t,e,r){\\\"use strict\\\";function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\\\"\\\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:u}})),e.$version>7&&t.constants&&(r=r.concat(o({key:\\\"constants\\\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\\\"./validate/validate_constants\\\"),s=t(\\\"./validate/validate\\\"),l=t(\\\"../reference/latest.min\\\"),u=t(\\\"./validate/validate_glyphs_url\\\");n.source=a(t(\\\"./validate/validate_source\\\")),n.layer=a(t(\\\"./validate/validate_layer\\\")),n.filter=a(t(\\\"./validate/validate_filter\\\")),n.paintProperty=a(t(\\\"./validate/validate_paint_property\\\")),n.layoutProperty=a(t(\\\"./validate/validate_layout_property\\\")),e.exports=n},{\\\"../reference/latest.min\\\":324,\\\"./validate/validate\\\":307,\\\"./validate/validate_constants\\\":311,\\\"./validate/validate_filter\\\":313,\\\"./validate/validate_glyphs_url\\\":315,\\\"./validate/validate_layer\\\":316,\\\"./validate/validate_layout_property\\\":317,\\\"./validate/validate_paint_property\\\":320,\\\"./validate/validate_source\\\":321}],324:[function(t,e,r){e.exports=t(\\\"./v8.min.json\\\")},{\\\"./v8.min.json\\\":325}],325:[function(t,e,r){e.exports={$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\\\"},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_tile\\\",\\\"source_geojson\\\",\\\"source_video\\\",\\\"source_image\\\"],source_tile:{type:{required:!0,type:\\\"enum\\\",values:[\\\"vector\\\",\\\"raster\\\"]},url:{type:\\\"string\\\"},tiles:{type:\\\"array\\\",value:\\\"string\\\"},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},tileSize:{type:\\\"number\\\",default:512,units:\\\"pixels\\\"},\\\"*\\\":{type:\\\"*\\\"}},source_geojson:{type:{required:!0,type:\\\"enum\\\",values:[\\\"geojson\\\"]},data:{type:\\\"*\\\"},maxzoom:{type:\\\"number\\\",default:14},buffer:{type:\\\"number\\\",default:64},tolerance:{type:\\\"number\\\",default:3},cluster:{type:\\\"boolean\\\",default:!1},clusterRadius:{type:\\\"number\\\",default:400},clusterMaxZoom:{type:\\\"number\\\"}},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\\\",\\\"raster\\\",\\\"background\\\"]},metadata:{type:\\\"*\\\"},ref:{type:\\\"string\\\"},source:{type:\\\"string\\\"},\\\"source-layer\\\":{type:\\\"string\\\"},minzoom:{type:\\\"number\\\",minimum:0,maximum:22},maxzoom:{type:\\\"number\\\",minimum:0,maximum:22},interactive:{type:\\\"boolean\\\",default:!1},filter:{type:\\\"filter\\\"},layout:{type:\\\"layout\\\"},paint:{type:\\\"paint\\\"},\\\"paint.*\\\":{type:\\\"paint\\\"}},layout:[\\\"layout_fill\\\",\\\"layout_line\\\",\\\"layout_circle\\\",\\\"layout_symbol\\\",\\\"layout_raster\\\",\\\"layout_background\\\"],layout_background:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_fill:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_circle:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_line:{\\\"line-cap\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"butt\\\",\\\"round\\\",\\\"square\\\"],default:\\\"butt\\\"},\\\"line-join\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"bevel\\\",\\\"round\\\",\\\"miter\\\"],default:\\\"miter\\\"},\\\"line-miter-limit\\\":{type:\\\"number\\\",default:2,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[{\\\"line-join\\\":\\\"miter\\\"}]},\\\"line-round-limit\\\":{type:\\\"number\\\",default:1.05,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[{\\\"line-join\\\":\\\"round\\\"}]},visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_symbol:{\\\"symbol-placement\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"point\\\",\\\"line\\\"],default:\\\"point\\\"},\\\"symbol-spacing\\\":{type:\\\"number\\\",default:250,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"pixels\\\",requires:[{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"symbol-avoid-edges\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1},\\\"icon-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"viewport\\\",requires:[\\\"icon-image\\\"]},\\\"icon-size\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"icon-text-fit\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,values:[\\\"none\\\",\\\"both\\\",\\\"width\\\",\\\"height\\\"],default:\\\"none\\\",requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-text-fit-padding\\\":{type:\\\"array\\\",value:\\\"number\\\",length:4,default:[0,0,0,0],units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\",\\\"icon-text-fit\\\",\\\"text-field\\\"]},\\\"icon-image\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,tokens:!0},\\\"icon-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"degrees\\\",requires:[\\\"icon-image\\\"]},\\\"icon-padding\\\":{type:\\\"number\\\",default:2,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",{\\\"icon-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"icon-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"text-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],requires:[\\\"text-field\\\"]},\\\"text-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"viewport\\\",requires:[\\\"text-field\\\"]},\\\"text-field\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:\\\"\\\",tokens:!0},\\\"text-font\\\":{type:\\\"array\\\",value:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:[\\\"Open Sans Regular\\\",\\\"Arial Unicode MS Regular\\\"],requires:[\\\"text-field\\\"]},\\\"text-size\\\":{type:\\\"number\\\",default:16,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-max-width\\\":{type:\\\"number\\\",default:10,minimum:0,units:\\\"em\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-line-height\\\":{type:\\\"number\\\",default:1.2,units:\\\"em\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-letter-spacing\\\":{type:\\\"number\\\",default:0,units:\\\"em\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-justify\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"left\\\",\\\"center\\\",\\\"right\\\"],default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"center\\\",\\\"left\\\",\\\"right\\\",\\\"top\\\",\\\"bottom\\\",\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"],default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-max-angle\\\":{type:\\\"number\\\",default:45,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\",{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-rotate\\\":{type:\\\"number\\\",default:0,period:360,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-padding\\\":{type:\\\"number\\\",default:2,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!0,requires:[\\\"text-field\\\",{\\\"text-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-transform\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"none\\\",\\\"uppercase\\\",\\\"lowercase\\\"],default:\\\"none\\\",requires:[\\\"text-field\\\"]},\\\"text-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,length:2,default:[0,0],requires:[\\\"text-field\\\"]},\\\"text-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!1,requires:[\\\"text-field\\\",\\\"icon-image\\\"]},visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},layout_raster:{visibility:{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:[\\\"visible\\\",\\\"none\\\"],default:\\\"visible\\\"}},filter:{type:\\\"array\\\",value:\\\"*\\\"},filter_operator:{type:\\\"enum\\\",values:[\\\"==\\\",\\\"!=\\\",\\\">\\\",\\\">=\\\",\\\"<\\\",\\\"<=\\\",\\\"in\\\",\\\"!in\\\",\\\"all\\\",\\\"any\\\",\\\"none\\\",\\\"has\\\",\\\"!has\\\"]},geometry_type:{type:\\\"enum\\\",values:[\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"]},color_operation:{type:\\\"enum\\\",values:[\\\"lighten\\\",\\\"saturate\\\",\\\"spin\\\",\\\"fade\\\",\\\"mix\\\"]},function:{stops:{type:\\\"array\\\",required:!0,value:\\\"function_stop\\\"},base:{type:\\\"number\\\",default:1,minimum:0},property:{type:\\\"string\\\",default:\\\"$zoom\\\"},type:{type:\\\"enum\\\",values:[\\\"exponential\\\",\\\"interval\\\",\\\"categorical\\\"],default:\\\"exponential\\\"}},function_stop:{type:\\\"array\\\",minimum:0,maximum:22,value:[\\\"number\\\",\\\"color\\\"],length:2},paint:[\\\"paint_fill\\\",\\\"paint_line\\\",\\\"paint_circle\\\",\\\"paint_symbol\\\",\\\"paint_raster\\\",\\\"paint_background\\\"],paint_fill:{\\\"fill-antialias\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:!0},\\\"fill-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"}]},\\\"fill-outline-color\\\":{type:\\\"color\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"},{\\\"fill-antialias\\\":!0}]},\\\"fill-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"fill-translate\\\"]},\\\"fill-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_line:{\\\"line-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"line-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"line-translate\\\"]},\\\"line-width\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-gap-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-offset\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-dasharray\\\":{type:\\\"array\\\",value:\\\"number\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,minimum:0,transition:!0,units:\\\"line widths\\\",requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_circle:{\\\"circle-radius\\\":{type:\\\"number\\\",default:5,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-blur\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"circle-translate\\\"]},\\\"circle-pitch-scale\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\"}},paint_symbol:{\\\"icon-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"icon-image\\\",\\\"icon-translate\\\"]},\\\"text-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:[\\\"map\\\",\\\"viewport\\\"],default:\\\"map\\\",requires:[\\\"text-field\\\",\\\"text-translate\\\"]}},paint_raster:{\\\"raster-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-hue-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"degrees\\\"},\\\"raster-brightness-min\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:0,minimum:0,maximum:1,transition:!0},\\\"raster-brightness-max\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"raster-saturation\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-contrast\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-fade-duration\\\":{type:\\\"number\\\",default:300,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"milliseconds\\\"}},paint_background:{\\\"background-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"background-pattern\\\"}]},\\\"background-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"background-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},transition:{duration:{type:\\\"number\\\",default:300,minimum:0,units:\\\"milliseconds\\\"},delay:{type:\\\"number\\\",default:0,minimum:0,units:\\\"milliseconds\\\"}}}},{}],326:[function(t,e,r){\\\"use strict\\\";function n(t){return!!(i()&&a()&&o()&&s()&&l()&&u()&&c()&&h(t&&t.failIfMajorPerformanceCaveat))}function i(){return\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document}function a(){return 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 o(){return Function.prototype&&Function.prototype.bind}function s(){return 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}function l(){return\\\"JSON\\\"in window&&\\\"parse\\\"in JSON&&\\\"stringify\\\"in JSON}function u(){return\\\"Worker\\\"in window}function c(){return\\\"Uint8ClampedArray\\\"in window}function h(t){return void 0===d[t]&&(d[t]=f(t)),d[t]}function f(t){var e=document.createElement(\\\"canvas\\\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\\\"webgl\\\",r)||e.probablySupportsContext(\\\"experimental-webgl\\\",r):e.supportsContext?e.supportsContext(\\\"webgl\\\",r)||e.supportsContext(\\\"experimental-webgl\\\",r):e.getContext(\\\"webgl\\\",r)||e.getContext(\\\"experimental-webgl\\\",r)}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var d={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],327:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.layoutVertexArrayType;this.layoutVertexArray=new e;var r=t.elementArrayType;r&&(this.elementArray=new r);var n=t.elementArrayType2;n&&(this.elementArray2=new n),this.paintVertexArrays=i.mapObject(t.paintVertexArrayTypes,function(t){return new t})}var i=t(\\\"../util/util\\\");e.exports=n,n.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,n.prototype.hasCapacityFor=function(t){return this.layoutVertexArray.length+t<=n.MAX_VERTEX_ARRAY_LENGTH},n.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},n.prototype.trim=function(){this.layoutVertexArray.trim(),this.elementArray&&this.elementArray.trim(),this.elementArray2&&this.elementArray2.trim();for(var t in this.paintVertexArrays)this.paintVertexArrays[t].trim()},n.prototype.serialize=function(){return{layoutVertexArray:this.layoutVertexArray.serialize(),elementArray:this.elementArray&&this.elementArray.serialize(),elementArray2:this.elementArray2&&this.elementArray2.serialize(),paintVertexArrays:i.mapObject(this.paintVertexArrays,function(t){return t.serialize()})}},n.prototype.getTransferables=function(t){t.push(this.layoutVertexArray.arrayBuffer),this.elementArray&&t.push(this.elementArray.arrayBuffer),this.elementArray2&&t.push(this.elementArray2.arrayBuffer);for(var e in this.paintVertexArrays)t.push(this.paintVertexArrays[e].arrayBuffer)}},{\\\"../util/util\\\":441}],328:[function(t,e,r){\\\"use strict\\\";function n(t){if(this.zoom=t.zoom,this.overscaling=t.overscaling,this.layer=t.layer,this.childLayers=t.childLayers,this.type=this.layer.type,this.features=[],this.id=this.layer.id,this.index=t.index,this.sourceLayer=this.layer.sourceLayer,this.sourceLayerIndex=t.sourceLayerIndex,this.minZoom=this.layer.minzoom,this.maxZoom=this.layer.maxzoom,this.paintAttributes=i(this),t.arrays){var e=this.programInterfaces;this.bufferGroups=c.mapObject(t.arrays,function(r,n){var i=e[n],a=t.paintVertexArrayTypes[n];return r.map(function(t){return new u(t,{layoutVertexArrayType:i.layoutVertexArrayType.serialize(),elementArrayType:i.elementArrayType&&i.elementArrayType.serialize(),elementArrayType2:i.elementArrayType2&&i.elementArrayType2.serialize(),paintVertexArrayTypes:a})})})}}function i(t){var e={};for(var r in t.programInterfaces){for(var n=e[r]={},i=0;i<t.childLayers.length;i++){n[t.childLayers[i].id]={attributes:[],uniforms:[],defines:[],vertexPragmas:{define:{},initialize:{}},fragmentPragmas:{define:{},initialize:{}}}}var s=t.programInterfaces[r];if(s.paintAttributes)for(var l=0;l<s.paintAttributes.length;l++){var u=s.paintAttributes[l];u.multiplier=u.multiplier||1;for(var h=0;h<t.childLayers.length;h++){var d=t.childLayers[h],p=n[d.id],m=u.name;f(\\\"a_\\\"===u.name.slice(0,2));var v,g=u.name.slice(2);if(p.fragmentPragmas.initialize[g]=\\\"\\\",d.isPaintValueFeatureConstant(u.paintProperty))p.uniforms.push(u),p.fragmentPragmas.define[g]=p.vertexPragmas.define[g]=[\\\"uniform\\\",\\\"{precision}\\\",\\\"{type}\\\",m].join(\\\" \\\")+\\\";\\\",p.fragmentPragmas.initialize[g]=p.vertexPragmas.initialize[g]=[\\\"{precision}\\\",\\\"{type}\\\",g,\\\"=\\\",m].join(\\\" \\\")+\\\";\\\\n\\\";else if(d.isPaintValueZoomConstant(u.paintProperty)){p.attributes.push(c.extend({},u,{name:m})),v=[\\\"varying\\\",\\\"{precision}\\\",\\\"{type}\\\",g].join(\\\" \\\")+\\\";\\\\n\\\"\\n\",\n       \";var y=[p.fragmentPragmas.define[g],\\\"attribute\\\",\\\"{precision}\\\",\\\"{type}\\\",m].join(\\\" \\\")+\\\";\\\\n\\\";p.fragmentPragmas.define[g]=v,p.vertexPragmas.define[g]=v+y,p.vertexPragmas.initialize[g]=[g,\\\"=\\\",m,\\\"/\\\",u.multiplier.toFixed(1)].join(\\\" \\\")+\\\";\\\\n\\\"}else{for(var b=\\\"u_\\\"+m.slice(2)+\\\"_t\\\",x=d.getPaintValueStopZoomLevels(u.paintProperty),_=0;_<x.length&&x[_]<t.zoom;)_++;for(var w=Math.max(0,Math.min(x.length-4,_-2)),M=[],k=0;k<4;k++)M.push(x[Math.min(w+k,x.length-1)]);v=[\\\"varying\\\",\\\"{precision}\\\",\\\"{type}\\\",g].join(\\\" \\\")+\\\";\\\\n\\\",p.vertexPragmas.define[g]=v+[\\\"uniform\\\",\\\"lowp\\\",\\\"float\\\",b].join(\\\" \\\")+\\\";\\\\n\\\",p.fragmentPragmas.define[g]=v,p.uniforms.push(c.extend({},u,{name:b,getValue:o(u,w),components:1}));var A=u.components;if(1===A)p.attributes.push(c.extend({},u,{getValue:a(u,M),isFunction:!0,components:4*A})),p.vertexPragmas.define[g]+=[\\\"attribute\\\",\\\"{precision}\\\",\\\"vec4\\\",m].join(\\\" \\\")+\\\";\\\\n\\\",p.vertexPragmas.initialize[g]=[g,\\\"=\\\",\\\"evaluate_zoom_function_1(\\\"+m+\\\", \\\"+b+\\\")\\\",\\\"/\\\",u.multiplier.toFixed(1)].join(\\\" \\\")+\\\";\\\\n\\\";else{for(var T=[],S=0;S<4;S++)T.push(m+S),p.attributes.push(c.extend({},u,{getValue:a(u,[M[S]]),isFunction:!0,name:m+S})),p.vertexPragmas.define[g]+=[\\\"attribute\\\",\\\"{precision}\\\",\\\"{type}\\\",m+S].join(\\\" \\\")+\\\";\\\\n\\\";p.vertexPragmas.initialize[g]=[g,\\\" = \\\",\\\"evaluate_zoom_function_4(\\\"+T.join(\\\", \\\")+\\\", \\\"+b+\\\")\\\",\\\"/\\\",u.multiplier.toFixed(1)].join(\\\" \\\")+\\\";\\\\n\\\"}}}}}return e}function a(t,e){return function(r,n,i){if(1===e.length)return t.getValue(r,c.extend({},n,{zoom:e[0]}),i);for(var a=[],o=0;o<e.length;o++){var s=e[o];a.push(t.getValue(r,c.extend({},n,{zoom:s}),i)[0])}return a}}function o(t,e){return function(r,n){var i=r.getPaintInterpolationT(t.paintProperty,n.zoom);return[Math.max(0,Math.min(4,i-e))]}}var s=t(\\\"feature-filter\\\"),l=t(\\\"./array_group\\\"),u=t(\\\"./buffer_group\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/struct_array\\\"),f=t(\\\"assert\\\");e.exports=n,n.create=function(e){return new({fill:t(\\\"./bucket/fill_bucket\\\"),line:t(\\\"./bucket/line_bucket\\\"),circle:t(\\\"./bucket/circle_bucket\\\"),symbol:t(\\\"./bucket/symbol_bucket\\\")}[e.layer.type])(e)},n.EXTENT=8192,n.prototype.populateArrays=function(){this.createArrays(),this.recalculateStyleLayers();for(var t=0;t<this.features.length;t++)this.addFeature(this.features[t]);this.trimArrays()},n.prototype.prepareArrayGroup=function(t,e){var r=this.arrayGroups[t],n=r.length&&r[r.length-1];return n&&n.hasCapacityFor(e)||(n=new l({layoutVertexArrayType:this.programInterfaces[t].layoutVertexArrayType,elementArrayType:this.programInterfaces[t].elementArrayType,elementArrayType2:this.programInterfaces[t].elementArrayType2,paintVertexArrayTypes:this.paintVertexArrayTypes[t]}),n.index=r.length,r.push(n)),n},n.prototype.createArrays=function(){this.arrayGroups={},this.paintVertexArrayTypes={};for(var t in this.programInterfaces){this.arrayGroups[t]=[];var e=this.paintVertexArrayTypes[t]={},r=this.paintAttributes[t];for(var i in r)e[i]=new n.VertexArrayType(r[i].attributes)}},n.prototype.destroy=function(t){for(var e in this.bufferGroups)for(var r=this.bufferGroups[e],n=0;n<r.length;n++)r[n].destroy(t)},n.prototype.trimArrays=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)e[r].trim()},n.prototype.isEmpty=function(){for(var t in this.arrayGroups)for(var e=this.arrayGroups[t],r=0;r<e.length;r++)if(!e[r].isEmpty())return!1;return!0},n.prototype.getTransferables=function(t){for(var e in this.arrayGroups)for(var r=this.arrayGroups[e],n=0;n<r.length;n++)r[n].getTransferables(t)},n.prototype.setUniforms=function(t,e,r,n,i){for(var a=this.paintAttributes[e][n.id].uniforms,o=0;o<a.length;o++){var s=a[o],l=r[s.name];t[\\\"uniform\\\"+s.components+\\\"fv\\\"](l,s.getValue(n,i))}},n.prototype.serialize=function(){return{layerId:this.layer.id,zoom:this.zoom,arrays:c.mapObject(this.arrayGroups,function(t){return t.map(function(t){return t.serialize()})}),paintVertexArrayTypes:c.mapObject(this.paintVertexArrayTypes,function(t){return c.mapObject(t,function(t){return t.serialize()})}),childLayerIds:this.childLayers.map(function(t){return t.id})}},n.prototype.createFilter=function(){this.filter||(this.filter=s(this.layer.filter))};var d={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};n.prototype.recalculateStyleLayers=function(){for(var t=0;t<this.childLayers.length;t++)this.childLayers[t].recalculate(this.zoom,d)},n.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a=0;a<this.childLayers.length;a++)for(var o=this.childLayers[a],s=this.arrayGroups[t],l=n.index;l<s.length;l++){var u=s[l],c=u.layoutVertexArray.length,h=u.paintVertexArrays[o.id];h.resize(c);for(var f=this.paintAttributes[t][o.id].attributes,d=0;d<f.length;d++)for(var p=f[d],m=p.getValue(o,e,r),v=p.multiplier||1,g=p.components||1,y=l===n.index?i:0,b=y;b<c;b++)for(var x=h.get(b),_=0;_<g;_++){var w=g>1?p.name+_:p.name;x[w]=m[_]*v}}},n.VertexArrayType=function(t){return new h({members:t,alignment:4})},n.ElementArrayType=function(t){return new h({members:[{type:\\\"Uint16\\\",name:\\\"vertices\\\",components:t||3}]})}},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"./array_group\\\":327,\\\"./bucket/circle_bucket\\\":329,\\\"./bucket/fill_bucket\\\":330,\\\"./bucket/line_bucket\\\":331,\\\"./bucket/symbol_bucket\\\":332,\\\"./buffer_group\\\":334,assert:46,\\\"feature-filter\\\":131}],329:[function(t,e,r){\\\"use strict\\\";function n(){i.apply(this,arguments)}var i=t(\\\"../bucket\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../load_geometry\\\"),s=i.EXTENT;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addCircleVertex=function(t,e,r,n,i){return t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)},n.prototype.programInterfaces={circle:{layoutVertexArrayType:new i.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}]),elementArrayType:new i.ElementArrayType,paintAttributes:[{name:\\\"a_color\\\",components:4,type:\\\"Uint8\\\",getValue:function(t,e,r){return t.getPaintValue(\\\"circle-color\\\",e,r)},multiplier:255,paintProperty:\\\"circle-color\\\"},{name:\\\"a_radius\\\",components:1,type:\\\"Uint16\\\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\\\"circle-radius\\\",e,r)]},multiplier:10,paintProperty:\\\"circle-radius\\\"},{name:\\\"a_blur\\\",components:1,type:\\\"Uint16\\\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\\\"circle-blur\\\",e,r)]},multiplier:10,paintProperty:\\\"circle-blur\\\"},{name:\\\"a_opacity\\\",components:1,type:\\\"Uint16\\\",isLayerConstant:!1,getValue:function(t,e,r){return[t.getPaintValue(\\\"circle-opacity\\\",e,r)]},multiplier:255,paintProperty:\\\"circle-opacity\\\"}]}},n.prototype.addFeature=function(t){for(var e={zoom:this.zoom},r=o(t),n=this.prepareArrayGroup(\\\"circle\\\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)for(var l=0;l<r[a].length;l++){var u=r[a][l].x,c=r[a][l].y;if(!(u<0||u>=s||c<0||c>=s)){var h=this.prepareArrayGroup(\\\"circle\\\",4),f=h.layoutVertexArray,d=this.addCircleVertex(f,u,c,-1,-1);this.addCircleVertex(f,u,c,1,-1),this.addCircleVertex(f,u,c,1,1),this.addCircleVertex(f,u,c,-1,1),h.elementArray.emplaceBack(d,d+1,d+2),h.elementArray.emplaceBack(d,d+3,d+2)}}this.populatePaintArrays(\\\"circle\\\",e,t.properties,n,i)}},{\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336}],330:[function(t,e,r){\\\"use strict\\\";function n(){i.apply(this,arguments)}var i=t(\\\"../bucket\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../load_geometry\\\"),s=t(\\\"earcut\\\"),l=t(\\\"../../util/classify_rings\\\");e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.programInterfaces={fill:{layoutVertexArrayType:new i.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}]),elementArrayType:new i.ElementArrayType(1),elementArrayType2:new i.ElementArrayType(2),paintAttributes:[{name:\\\"a_color\\\",components:4,type:\\\"Uint8\\\",getValue:function(t,e,r){return t.getPaintValue(\\\"fill-color\\\",e,r)},multiplier:255,paintProperty:\\\"fill-color\\\"},{name:\\\"a_outline_color\\\",components:4,type:\\\"Uint8\\\",getValue:function(t,e,r){return t.getPaintValue(\\\"fill-outline-color\\\",e,r)},multiplier:255,paintProperty:\\\"fill-outline-color\\\"},{name:\\\"a_opacity\\\",components:1,type:\\\"Uint8\\\",getValue:function(t,e,r){return[t.getPaintValue(\\\"fill-opacity\\\",e,r)]},multiplier:255,paintProperty:\\\"fill-opacity\\\"}]}},n.prototype.addFeature=function(t){for(var e=o(t),r=l(e,500),n=this.prepareArrayGroup(\\\"fill\\\",0),i=n.layoutVertexArray.length,a=0;a<r.length;a++)this.addPolygon(r[a]);this.populatePaintArrays(\\\"fill\\\",{zoom:this.zoom},t.properties,n,i)},n.prototype.addPolygon=function(t){for(var e=0,r=0;r<t.length;r++)e+=t[r].length;for(var n=this.prepareArrayGroup(\\\"fill\\\",e),i=[],a=[],o=n.layoutVertexArray.length,l=0;l<t.length;l++){var u=t[l];l>0&&a.push(i.length/2);for(var c=0;c<u.length;c++){var h=u[c],f=n.layoutVertexArray.emplaceBack(h.x,h.y);c>=1&&n.elementArray2.emplaceBack(f-1,f),i.push(h.x),i.push(h.y)}}for(var d=s(i,a),p=0;p<d.length;p++)n.elementArray.emplaceBack(d[p]+o)}},{\\\"../../util/classify_rings\\\":429,\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336,earcut:125}],331:[function(t,e,r){\\\"use strict\\\";function n(){i.apply(this,arguments)}var i=t(\\\"../bucket\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../load_geometry\\\"),s=i.EXTENT,l=Math.cos(Math.PI/180*37.5),u=Math.pow(2,14)/.5;e.exports=n,n.prototype=a.inherit(i,{}),n.prototype.addLineVertex=function(t,e,r,n,i,a,o){return t.emplaceBack(e.x<<1|n,e.y<<1|i,Math.round(63*r.x)+128,Math.round(63*r.y)+128,1+(0===a?0:a<0?-1:1)|(.5*o&63)<<2,.5*o>>6)},n.prototype.programInterfaces={line:{layoutVertexArrayType:new i.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}]),elementArrayType:new i.ElementArrayType}},n.prototype.addFeature=function(t){for(var e=o(t,15),r=0;r<e.length;r++)this.addLine(e[r],this.layer.layout[\\\"line-join\\\"],this.layer.layout[\\\"line-cap\\\"],this.layer.layout[\\\"line-miter-limit\\\"],this.layer.layout[\\\"line-round-limit\\\"])},n.prototype.addLine=function(t,e,r,n,i){for(var a=t.length;a>2&&t[a-1].equals(t[a-2]);)a--;if(!(t.length<2)){\\\"bevel\\\"===e&&(n=1.05);var o=s/(512*this.overscaling)*15,u=t[0],c=t[a-1],h=u.equals(c);if(this.prepareArrayGroup(\\\"line\\\",10*a),2!==a||!h){this.distance=0;var f,d,p,m,v,g,y,b=r,x=h?\\\"butt\\\":r,_=!0;this.e1=this.e2=this.e3=-1,h&&(f=t[a-2],v=u.sub(f)._unit()._perp());for(var w=0;w<a;w++)if(!(p=h&&w===a-1?t[1]:t[w+1])||!t[w].equals(p)){v&&(m=v),f&&(d=f),f=t[w],v=p?p.sub(f)._unit()._perp():m,m=m||v;var M=m.add(v)._unit(),k=M.x*v.x+M.y*v.y,A=1/k,T=k<l&&d&&p;if(T&&w>0){var S=f.dist(d);if(S>2*o){var E=f.sub(f.sub(d)._mult(o/S)._round());this.distance+=E.dist(d),this.addCurrentVertex(E,this.distance,m.mult(1),0,0,!1),d=E}}var L=d&&p,C=L?e:p?b:x;if(L&&\\\"round\\\"===C&&(A<i?C=\\\"miter\\\":A<=2&&(C=\\\"fakeround\\\")),\\\"miter\\\"===C&&A>n&&(C=\\\"bevel\\\"),\\\"bevel\\\"===C&&(A>2&&(C=\\\"flipbevel\\\"),A<n&&(C=\\\"miter\\\")),d&&(this.distance+=f.dist(d)),\\\"miter\\\"===C)M._mult(A),this.addCurrentVertex(f,this.distance,M,0,0,!1);else if(\\\"flipbevel\\\"===C){if(A>100)M=v.clone();else{var z=m.x*v.y-m.y*v.x>0?-1:1,I=A*m.add(v).mag()/m.sub(v).mag();M._perp()._mult(I*z)}this.addCurrentVertex(f,this.distance,M,0,0,!1),this.addCurrentVertex(f,this.distance,M.mult(-1),0,0,!1)}else if(\\\"bevel\\\"===C||\\\"fakeround\\\"===C){var D=m.x*v.y-m.y*v.x>0,P=-Math.sqrt(A*A-1);if(D?(y=0,g=P):(g=0,y=P),_||this.addCurrentVertex(f,this.distance,m,g,y,!1),\\\"fakeround\\\"===C){for(var O,R=Math.floor(8*(.5-(k-.5))),F=0;F<R;F++)O=v.mult((F+1)/(R+1))._add(m)._unit(),this.addPieSliceVertex(f,this.distance,O,D);this.addPieSliceVertex(f,this.distance,M,D);for(var j=R-1;j>=0;j--)O=m.mult((j+1)/(R+1))._add(v)._unit(),this.addPieSliceVertex(f,this.distance,O,D)}p&&this.addCurrentVertex(f,this.distance,v,-g,-y,!1)}else\\\"butt\\\"===C?(_||this.addCurrentVertex(f,this.distance,m,0,0,!1),p&&this.addCurrentVertex(f,this.distance,v,0,0,!1)):\\\"square\\\"===C?(_||(this.addCurrentVertex(f,this.distance,m,1,1,!1),this.e1=this.e2=-1),p&&this.addCurrentVertex(f,this.distance,v,-1,-1,!1)):\\\"round\\\"===C&&(_||(this.addCurrentVertex(f,this.distance,m,0,0,!1),this.addCurrentVertex(f,this.distance,m,1,1,!0),this.e1=this.e2=-1),p&&(this.addCurrentVertex(f,this.distance,v,-1,-1,!0),this.addCurrentVertex(f,this.distance,v,0,0,!1)));if(T&&w<a-1){var N=f.dist(p);if(N>2*o){var B=f.add(p.sub(f)._mult(o/N)._round());this.distance+=B.dist(f),this.addCurrentVertex(B,this.distance,v.mult(1),0,0,!1),f=B}}_=!1}}}},n.prototype.addCurrentVertex=function(t,e,r,n,i,a){var o,s=a?1:0,l=this.arrayGroups.line[this.arrayGroups.line.length-1],c=l.layoutVertexArray,h=l.elementArray;o=r.clone(),n&&o._sub(r.perp()._mult(n)),this.e3=this.addLineVertex(c,t,o,s,0,n,e),this.e1>=0&&this.e2>=0&&h.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),i&&o._sub(r.perp()._mult(i)),this.e3=this.addLineVertex(c,t,o,s,1,-i,e),this.e1>=0&&this.e2>=0&&h.emplaceBack(this.e1,this.e2,this.e3),this.e1=this.e2,this.e2=this.e3,e>u/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a))},n.prototype.addPieSliceVertex=function(t,e,r,n){var i=n?1:0;r=r.mult(n?-1:1);var a=this.arrayGroups.line[this.arrayGroups.line.length-1],o=a.layoutVertexArray,s=a.elementArray;this.e3=this.addLineVertex(o,t,r,0,i,0,e),this.e1>=0&&this.e2>=0&&s.emplaceBack(this.e1,this.e2,this.e3),n?this.e2=this.e3:this.e1=this.e3}},{\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336}],332:[function(t,e,r){\\\"use strict\\\";function n(t){o.apply(this,arguments),this.showCollisionBoxes=t.showCollisionBoxes,this.overscaling=t.overscaling,this.collisionBoxArray=t.collisionBoxArray,this.symbolQuadsArray=t.symbolQuadsArray,this.symbolInstancesArray=t.symbolInstancesArray,this.sdfIcons=t.sdfIcons,this.iconsNeedLinear=t.iconsNeedLinear,this.adjustedTextSize=t.adjustedTextSize,this.adjustedIconSize=t.adjustedIconSize,this.fontstack=t.fontstack}function i(t,e,r,n,i,a,o,s,l,u,c){return t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a/4,o/4,10*(u||0),c,10*(s||0),10*Math.min(l||25,25))}var a=t(\\\"point-geometry\\\"),o=t(\\\"../bucket\\\"),s=t(\\\"../../symbol/anchor\\\"),l=t(\\\"../../symbol/get_anchors\\\"),u=t(\\\"../../util/token\\\"),c=t(\\\"../../symbol/quads\\\"),h=t(\\\"../../symbol/shaping\\\"),f=t(\\\"../../symbol/resolve_text\\\"),d=t(\\\"../../symbol/mergelines\\\"),p=t(\\\"../../symbol/clip_line\\\"),m=t(\\\"../../util/util\\\"),v=t(\\\"../load_geometry\\\"),g=t(\\\"../../symbol/collision_feature\\\"),y=h.shapeText,b=h.shapeIcon,x=c.getGlyphQuads,_=c.getIconQuads,w=o.EXTENT;e.exports=n,n.MAX_QUADS=65535,n.prototype=m.inherit(o,{}),n.prototype.serialize=function(){var t=o.prototype.serialize.apply(this);return t.sdfIcons=this.sdfIcons,t.iconsNeedLinear=this.iconsNeedLinear,t.adjustedTextSize=this.adjustedTextSize,t.adjustedIconSize=this.adjustedIconSize,t.fontstack=this.fontstack,t};var M=new o.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_offset\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_texture_pos\\\",components:2,type:\\\"Uint16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}]),k=new o.ElementArrayType;n.prototype.addCollisionBoxVertex=function(t,e,r,n,i){return t.emplaceBack(e.x,e.y,Math.round(r.x),Math.round(r.y),10*n,10*i)},n.prototype.programInterfaces={glyph:{layoutVertexArrayType:M,elementArrayType:k},icon:{layoutVertexArrayType:M,elementArrayType:k},collisionBox:{layoutVertexArrayType:new o.VertexArrayType([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:2,type:\\\"Uint8\\\"}])}},n.prototype.populateArrays=function(t,e,r){var n={lastIntegerZoom:1/0,lastIntegerZoomTime:0,lastZoom:0};this.adjustedTextMaxSize=this.layer.getLayoutValue(\\\"text-size\\\",{zoom:18,zoomHistory:n}),this.adjustedTextSize=this.layer.getLayoutValue(\\\"text-size\\\",{zoom:this.zoom+1,zoomHistory:n}),this.adjustedIconMaxSize=this.layer.getLayoutValue(\\\"icon-size\\\",{zoom:18,zoomHistory:n}),this.adjustedIconSize=this.layer.getLayoutValue(\\\"icon-size\\\",{zoom:this.zoom+1,zoomHistory:n});var i=512*this.overscaling;this.tilePixelRatio=w/i,this.compareText={},this.iconsNeedLinear=!1,this.symbolInstancesStartIndex=this.symbolInstancesArray.length;var a=this.layer.layout,o=this.features,s=this.textFeatures,l=.5,c=.5;switch(a[\\\"text-anchor\\\"]){case\\\"right\\\":case\\\"top-right\\\":case\\\"bottom-right\\\":l=1;break;case\\\"left\\\":case\\\"top-left\\\":case\\\"bottom-left\\\":l=0}switch(a[\\\"text-anchor\\\"]){case\\\"bottom\\\":case\\\"bottom-right\\\":case\\\"bottom-left\\\":c=1;break;case\\\"top\\\":case\\\"top-right\\\":case\\\"top-left\\\":c=0}for(var h=\\\"right\\\"===a[\\\"text-justify\\\"]?1:\\\"left\\\"===a[\\\"text-justify\\\"]?0:.5,f=24*a[\\\"text-line-height\\\"],p=\\\"line\\\"!==a[\\\"symbol-placement\\\"]?24*a[\\\"text-max-width\\\"]:0,g=24*a[\\\"text-letter-spacing\\\"],x=[24*a[\\\"text-offset\\\"][0],24*a[\\\"text-offset\\\"][1]],_=this.fontstack=a[\\\"text-font\\\"].join(\\\",\\\"),M=[],k=0;k<o.length;k++)M.push(v(o[k]));if(\\\"line\\\"===a[\\\"symbol-placement\\\"]){var A=d(o,s,M);M=A.geometries,o=A.features,s=A.textFeatures}for(var T,S,E=0;E<o.length;E++)if(M[E]){if(T=s[E]?y(s[E],e[_],p,f,l,c,h,g,x):null,a[\\\"icon-image\\\"]){var L=u(o[E].properties,a[\\\"icon-image\\\"]),C=r[L];S=b(C,a),C&&(void 0===this.sdfIcons?this.sdfIcons=C.sdf:this.sdfIcons!==C.sdf&&m.warnOnce(\\\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\\\"),1!==C.pixelRatio?this.iconsNeedLinear=!0:0===a[\\\"icon-rotate\\\"]&&this.layer.isLayoutValueFeatureConstant(\\\"icon-rotate\\\")||(this.iconsNeedLinear=!0))}else S=null;(T||S)&&this.addFeature(M[E],T,S,o[E])}this.symbolInstancesEndIndex=this.symbolInstancesArray.length,this.placeFeatures(t,this.showCollisionBoxes),this.trimArrays()},n.prototype.addFeature=function(t,e,r,n){var i=this.layer.layout,a=this.adjustedTextSize/24,o=void 0!==this.adjustedTextMaxSize?this.adjustedTextMaxSize:this.adjustedTextSize,u=this.tilePixelRatio*a,c=this.tilePixelRatio*o/24,h=this.tilePixelRatio*this.adjustedIconSize,f=this.tilePixelRatio*i[\\\"symbol-spacing\\\"],d=i[\\\"symbol-avoid-edges\\\"],m=i[\\\"text-padding\\\"]*this.tilePixelRatio,v=i[\\\"icon-padding\\\"]*this.tilePixelRatio,g=i[\\\"text-max-angle\\\"]/180*Math.PI,y=\\\"map\\\"===i[\\\"text-rotation-alignment\\\"]&&\\\"line\\\"===i[\\\"symbol-placement\\\"],b=\\\"map\\\"===i[\\\"icon-rotation-alignment\\\"]&&\\\"line\\\"===i[\\\"symbol-placement\\\"],x=i[\\\"text-allow-overlap\\\"]||i[\\\"icon-allow-overlap\\\"]||i[\\\"text-ignore-placement\\\"]||i[\\\"icon-ignore-placement\\\"],_=\\\"line\\\"===i[\\\"symbol-placement\\\"],M=f/2;_&&(t=p(t,0,0,w,w));for(var k=0;k<t.length;k++){var A,T=t[k];A=_?l(T,f,g,e,r,24,c,this.overscaling,w):[new s(T[0].x,T[0].y,0)];for(var S=0,E=A.length;S<E;S++){var L=A[S];if(!(e&&_&&this.anchorIsTooClose(e.text,M,L))){var C=!(L.x<0||L.x>w||L.y<0||L.y>w);if(!d||C){var z=C||x;this.addSymbolInstance(L,T,e,r,this.layer,z,this.symbolInstancesArray.length,this.collisionBoxArray,n.index,this.sourceLayerIndex,this.index,u,m,y,h,v,b,{zoom:this.zoom},n.properties)}}}}},n.prototype.anchorIsTooClose=function(t,e,r){var n=this.compareText;if(t in n){for(var i=n[t],a=i.length-1;a>=0;a--)if(r.dist(i[a])<e)return!0}else n[t]=[];return n[t].push(r),!1},n.prototype.placeFeatures=function(t,e){this.recalculateStyleLayers(),this.createArrays();var r=this.layer.layout,n=t.maxScale,i=\\\"map\\\"===r[\\\"text-rotation-alignment\\\"]&&\\\"line\\\"===r[\\\"symbol-placement\\\"],a=\\\"map\\\"===r[\\\"icon-rotation-alignment\\\"]&&\\\"line\\\"===r[\\\"symbol-placement\\\"];if(r[\\\"text-allow-overlap\\\"]||r[\\\"icon-allow-overlap\\\"]||r[\\\"text-ignore-placement\\\"]||r[\\\"icon-ignore-placement\\\"]){var o=this.symbolInstancesArray.toArray(this.symbolInstancesStartIndex,this.symbolInstancesEndIndex),s=t.angle,l=Math.sin(s),u=Math.cos(s);this.sortedSymbolInstances=o.sort(function(t,e){return(l*t.anchorPointX+u*t.anchorPointY|0)-(l*e.anchorPointX+u*e.anchorPointY|0)||e.index-t.index})}for(var c=this.symbolInstancesStartIndex;c<this.symbolInstancesEndIndex;c++){var h=this.sortedSymbolInstances?this.sortedSymbolInstances[c-this.symbolInstancesStartIndex]:this.symbolInstancesArray.get(c),f={boxStartIndex:h.textBoxStartIndex,boxEndIndex:h.textBoxEndIndex},d={boxStartIndex:h.iconBoxStartIndex,boxEndIndex:h.iconBoxEndIndex},p=!(h.textBoxStartIndex===h.textBoxEndIndex),m=!(h.iconBoxStartIndex===h.iconBoxEndIndex),v=r[\\\"text-optional\\\"]||!p,g=r[\\\"icon-optional\\\"]||!m,y=p?t.placeCollisionFeature(f,r[\\\"text-allow-overlap\\\"],r[\\\"symbol-avoid-edges\\\"]):t.minScale,b=m?t.placeCollisionFeature(d,r[\\\"icon-allow-overlap\\\"],r[\\\"symbol-avoid-edges\\\"]):t.minScale;v||g?!g&&y?y=Math.max(b,y):!v&&b&&(b=Math.max(b,y)):b=y=Math.max(b,y),p&&(t.insertCollisionFeature(f,y,r[\\\"text-ignore-placement\\\"]),y<=n&&this.addSymbols(\\\"glyph\\\",h.glyphQuadStartIndex,h.glyphQuadEndIndex,y,r[\\\"text-keep-upright\\\"],i,t.angle)),m&&(t.insertCollisionFeature(d,b,r[\\\"icon-ignore-placement\\\"]),b<=n&&this.addSymbols(\\\"icon\\\",h.iconQuadStartIndex,h.iconQuadEndIndex,b,r[\\\"icon-keep-upright\\\"],a,t.angle))}e&&this.addToDebugBuffers(t)},n.prototype.addSymbols=function(t,e,r,n,a,o,s){for(var l=this.prepareArrayGroup(t,4*(r-e)),u=l.elementArray,c=l.layoutVertexArray,h=this.zoom,f=Math.max(Math.log(n)/Math.LN2+h,0),d=e;d<r;d++){var p=this.symbolQuadsArray.get(d).SymbolQuad,m=(p.anchorAngle+s+Math.PI)%(2*Math.PI);if(!(a&&o&&(m<=Math.PI/2||m>3*Math.PI/2))){var v=p.tl,g=p.tr,y=p.bl,b=p.br,x=p.tex,_=p.anchorPoint,w=Math.max(h+Math.log(p.minScale)/Math.LN2,f),M=Math.min(h+Math.log(p.maxScale)/Math.LN2,25);if(!(M<=w)){w===f&&(w=0);var k=Math.round(p.glyphAngle/(2*Math.PI)*256),A=i(c,_.x,_.y,v.x,v.y,x.x,x.y,w,M,f,k);i(c,_.x,_.y,g.x,g.y,x.x+x.w,x.y,w,M,f,k),i(c,_.x,_.y,y.x,y.y,x.x,x.y+x.h,w,M,f,k),i(c,_.x,_.y,b.x,b.y,x.x+x.w,x.y+x.h,w,M,f,k),u.emplaceBack(A,A+1,A+2),u.emplaceBack(A+1,A+2,A+3)}}}},n.prototype.updateIcons=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\\\"icon-image\\\"];if(e)for(var r=0;r<this.features.length;r++){var n=u(this.features[r].properties,e);n&&(t[n]=!0)}},n.prototype.updateFont=function(t){this.recalculateStyleLayers();var e=this.layer.layout[\\\"text-font\\\"],r=t[e]=t[e]||{};this.textFeatures=f(this.features,this.layer.layout,r)},n.prototype.addToDebugBuffers=function(t){for(var e=this.prepareArrayGroup(\\\"collisionBox\\\",0),r=e.layoutVertexArray,n=-t.angle,i=t.yStretch,o=this.symbolInstancesStartIndex;o<this.symbolInstancesEndIndex;o++){var s=this.symbolInstancesArray.get(o);s.textCollisionFeature={boxStartIndex:s.textBoxStartIndex,boxEndIndex:s.textBoxEndIndex},s.iconCollisionFeature={boxStartIndex:s.iconBoxStartIndex,boxEndIndex:s.iconBoxEndIndex};for(var l=0;l<2;l++){var u=s[0===l?\\\"textCollisionFeature\\\":\\\"iconCollisionFeature\\\"];if(u)for(var c=u.boxStartIndex;c<u.boxEndIndex;c++){var h=this.collisionBoxArray.get(c),f=h.anchorPoint,d=new a(h.x1,h.y1*i)._rotate(n),p=new a(h.x2,h.y1*i)._rotate(n),m=new a(h.x1,h.y2*i)._rotate(n),v=new a(h.x2,h.y2*i)._rotate(n),g=Math.max(0,Math.min(25,this.zoom+Math.log(h.maxScale)/Math.LN2)),y=Math.max(0,Math.min(25,this.zoom+Math.log(h.placementScale)/Math.LN2));this.addCollisionBoxVertex(r,f,d,g,y),this.addCollisionBoxVertex(r,f,p,g,y),this.addCollisionBoxVertex(r,f,p,g,y),this.addCollisionBoxVertex(r,f,v,g,y),this.addCollisionBoxVertex(r,f,v,g,y),this.addCollisionBoxVertex(r,f,m,g,y),this.addCollisionBoxVertex(r,f,m,g,y),this.addCollisionBoxVertex(r,f,d,g,y)}}}},n.prototype.addSymbolInstance=function(t,e,r,i,a,o,s,l,u,c,h,f,d,p,v,y,b,w,M){var k,A,T,S,E,L,C,z;if(r&&(C=o?x(t,r,f,e,a,p):[],E=new g(l,e,t,u,c,h,r,f,d,p,!1)),k=this.symbolQuadsArray.length,C&&C.length)for(var I=0;I<C.length;I++)this.addSymbolQuad(C[I]);A=this.symbolQuadsArray.length;var D=E?E.boxStartIndex:this.collisionBoxArray.length,P=E?E.boxEndIndex:this.collisionBoxArray.length;i&&(z=o?_(t,i,v,e,a,b,r,w,M):[],L=new g(l,e,t,u,c,h,i,v,y,b,!0)),T=this.symbolQuadsArray.length,z&&1===z.length&&this.addSymbolQuad(z[0]),S=this.symbolQuadsArray.length;var O=L?L.boxStartIndex:this.collisionBoxArray.length,R=L?L.boxEndIndex:this.collisionBoxArray.length;return S>n.MAX_QUADS&&m.warnOnce(\\\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),A>n.MAX_QUADS&&m.warnOnce(\\\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),this.symbolInstancesArray.emplaceBack(D,P,O,R,k,A,T,S,t.x,t.y,s)},n.prototype.addSymbolQuad=function(t){return this.symbolQuadsArray.emplaceBack(t.anchorPoint.x,t.anchorPoint.y,t.tl.x,t.tl.y,t.tr.x,t.tr.y,t.bl.x,t.bl.y,t.br.x,t.br.y,t.tex.h,t.tex.w,t.tex.x,t.tex.y,t.anchorAngle,t.glyphAngle,t.maxScale,t.minScale)}},{\\\"../../symbol/anchor\\\":390,\\\"../../symbol/clip_line\\\":392,\\\"../../symbol/collision_feature\\\":394,\\\"../../symbol/get_anchors\\\":396,\\\"../../symbol/mergelines\\\":399,\\\"../../symbol/quads\\\":400,\\\"../../symbol/resolve_text\\\":401,\\\"../../symbol/shaping\\\":402,\\\"../../util/token\\\":440,\\\"../../util/util\\\":441,\\\"../bucket\\\":328,\\\"../load_geometry\\\":336,\\\"point-geometry\\\":483}],333:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.type=r,this.arrayType=e}e.exports=n,n.prototype.bind=function(t){var e=t[this.type];this.buffer?t.bindBuffer(e,this.buffer):(this.buffer=t.createBuffer(),t.bindBuffer(e,this.buffer),t.bufferData(e,this.arrayBuffer,t.STATIC_DRAW),this.arrayBuffer=null)};var i={Int8:\\\"BYTE\\\",Uint8:\\\"UNSIGNED_BYTE\\\",Int16:\\\"SHORT\\\",Uint16:\\\"UNSIGNED_SHORT\\\"};n.prototype.setVertexAttribPointers=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],a=e[n.name];void 0!==a&&t.vertexAttribPointer(a,n.components,t[i[n.type]],!1,this.arrayType.bytesPerElement,n.offset)}},n.prototype.destroy=function(t){this.buffer&&t.deleteBuffer(this.buffer)},n.BufferType={VERTEX:\\\"ARRAY_BUFFER\\\",ELEMENT:\\\"ELEMENT_ARRAY_BUFFER\\\"}},{}],334:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.layoutVertexBuffer=new a(t.layoutVertexArray,e.layoutVertexArrayType,a.BufferType.VERTEX),t.elementArray&&(this.elementBuffer=new a(t.elementArray,e.elementArrayType,a.BufferType.ELEMENT));var r,n=this.vaos={};t.elementArray2&&(this.elementBuffer2=new a(t.elementArray2,e.elementArrayType2,a.BufferType.ELEMENT),r=this.secondVaos={}),this.paintVertexBuffers=i.mapObject(t.paintVertexArrays,function(i,s){return n[s]=new o,t.elementArray2&&(r[s]=new o),new a(i,e.paintVertexArrayTypes[s],a.BufferType.VERTEX)})}var i=t(\\\"../util/util\\\"),a=t(\\\"./buffer\\\"),o=t(\\\"../render/vertex_array_object\\\");e.exports=n,n.prototype.destroy=function(t){this.layoutVertexBuffer.destroy(t),this.elementBuffer&&this.elementBuffer.destroy(t),this.elementBuffer2&&this.elementBuffer2.destroy(t);for(var e in this.paintVertexBuffers)this.paintVertexBuffers[e].destroy(t);for(var r in this.vaos)this.vaos[r].destroy(t);for(var n in this.secondVaos)this.secondVaos[n].destroy(t)}},{\\\"../render/vertex_array_object\\\":356,\\\"../util/util\\\":441,\\\"./buffer\\\":333}],335:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(t.grid){var n=t,i=e;t=n.coord,e=n.overscaling,this.grid=new p(n.grid),this.featureIndexArray=new k(n.featureIndexArray),this.rawTileData=i,this.bucketLayerIDs=n.bucketLayerIDs}else this.grid=new p(h,16,0),this.featureIndexArray=new k;this.coord=t,this.overscaling=e,this.x=t.x,this.y=t.y,this.z=t.z-Math.log(e)/Math.LN2,this.setCollisionTile(r)}function i(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function a(t,e){return e-t}function o(t){return t[\\\"line-gap-width\\\"]>0?t[\\\"line-gap-width\\\"]+2*t[\\\"line-width\\\"]:t[\\\"line-width\\\"]}function s(t,e,r,n,i){if(!e[0]&&!e[1])return t;e=u.convert(e),\\\"viewport\\\"===r&&e._rotate(-n);for(var a=[],o=0;o<t.length;o++){for(var s=t[o],l=[],c=0;c<s.length;c++)l.push(s[c].sub(e._mult(i)));a.push(l)}return a}function l(t,e){for(var r=[],n=new u(0,0),i=0;i<t.length;i++){for(var a=t[i],o=[],s=0;s<a.length;s++){var l=a[s-1],c=a[s],h=a[s+1],f=0===s?n:c.sub(l)._unit()._perp(),d=s===a.length-1?n:h.sub(c)._unit()._perp(),p=f._add(d)._unit(),m=p.x*d.x+p.y*d.y;p._mult(1/m),o.push(p._mult(e)._add(c))}r.push(o)}return r}var u=t(\\\"point-geometry\\\"),c=t(\\\"./load_geometry\\\"),h=t(\\\"./bucket\\\").EXTENT,f=t(\\\"feature-filter\\\"),d=t(\\\"../util/struct_array\\\"),p=t(\\\"grid-index\\\"),m=t(\\\"../util/dictionary_coder\\\"),v=t(\\\"vector-tile\\\"),g=t(\\\"pbf\\\"),y=t(\\\"../util/vectortile_to_geojson\\\"),b=t(\\\"../util/util\\\").arraysIntersect,x=t(\\\"../util/intersection_tests\\\"),_=x.multiPolygonIntersectsBufferedMultiPoint,w=x.multiPolygonIntersectsMultiPolygon,M=x.multiPolygonIntersectsBufferedMultiLine,k=new d({members:[{type:\\\"Uint32\\\",name:\\\"featureIndex\\\"},{type:\\\"Uint16\\\",name:\\\"sourceLayerIndex\\\"},{type:\\\"Uint16\\\",name:\\\"bucketIndex\\\"}]});e.exports=n,n.prototype.insert=function(t,e,r,n){var i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(e,r,n);for(var a=c(t),o=0;o<a.length;o++){for(var s=a[o],l=[1/0,1/0,-1/0,-1/0],u=0;u<s.length;u++){var h=s[u];l[0]=Math.min(l[0],h.x),l[1]=Math.min(l[1],h.y),l[2]=Math.max(l[2],h.x),l[3]=Math.max(l[3],h.y)}this.grid.insert(i,l[0],l[1],l[2],l[3])}},n.prototype.setCollisionTile=function(t){this.collisionTile=t},n.prototype.serialize=function(){var t={coord:this.coord,overscaling:this.overscaling,grid:this.grid.toArrayBuffer(),featureIndexArray:this.featureIndexArray.serialize(),bucketLayerIDs:this.bucketLayerIDs};return{data:t,transferables:[t.grid,t.featureIndexArray.arrayBuffer]}},n.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new v.VectorTile(new g(new Uint8Array(this.rawTileData))).layers,this.sourceLayerCoder=new m(this.vtLayers?Object.keys(this.vtLayers).sort():[\\\"_geojsonTileLayer\\\"]));var r={},n=t.params||{},s=h/t.tileSize/t.scale,l=f(n.filter),c=0;for(var d in e){var p=e[d],y=p.paint,b=0;\\\"line\\\"===p.type?b=o(y)/2+Math.abs(y[\\\"line-offset\\\"])+i(y[\\\"line-translate\\\"]):\\\"fill\\\"===p.type?b=i(y[\\\"fill-translate\\\"]):\\\"circle\\\"===p.type&&(b=y[\\\"circle-radius\\\"]+i(y[\\\"circle-translate\\\"])),c=Math.max(c,b*s)}for(var x=t.queryGeometry.map(function(t){return t.map(function(t){return new u(t.x,t.y)})}),_=1/0,w=1/0,M=-1/0,k=-1/0,A=0;A<x.length;A++)for(var T=x[A],S=0;S<T.length;S++){var E=T[S];_=Math.min(_,E.x),w=Math.min(w,E.y),M=Math.max(M,E.x),k=Math.max(k,E.y)}var L=this.grid.query(_-c,w-c,M+c,k+c);L.sort(a),this.filterMatching(r,L,this.featureIndexArray,x,l,n.layers,e,t.bearing,s);var C=this.collisionTile.queryRenderedSymbols(_,w,M,k,t.scale);return C.sort(),this.filterMatching(r,C,this.collisionTile.collisionBoxArray,x,l,n.layers,e,t.bearing,s),r},n.prototype.filterMatching=function(t,e,r,n,i,a,u,h,f){for(var d,p=0;p<e.length;p++){var m=e[p];if(m!==d){d=m;var v=r.get(m),g=this.bucketLayerIDs[v.bucketIndex];if(!a||b(a,g)){var x=this.sourceLayerCoder.decode(v.sourceLayerIndex),k=this.vtLayers[x],A=k.feature(v.featureIndex);if(i(A))for(var T=null,S=0;S<g.length;S++){var E=g[S];if(!(a&&a.indexOf(E)<0)){var L=u[E];if(L){var C;if(\\\"symbol\\\"!==L.type){T||(T=c(A));var z=L.paint;if(\\\"line\\\"===L.type){C=s(n,z[\\\"line-translate\\\"],z[\\\"line-translate-anchor\\\"],h,f);var I=o(z)/2*f;if(z[\\\"line-offset\\\"]&&(T=l(T,z[\\\"line-offset\\\"]*f)),!M(C,T,I))continue}else if(\\\"fill\\\"===L.type){if(C=s(n,z[\\\"fill-translate\\\"],z[\\\"fill-translate-anchor\\\"],h,f),!w(C,T))continue}else if(\\\"circle\\\"===L.type){C=s(n,z[\\\"circle-translate\\\"],z[\\\"circle-translate-anchor\\\"],h,f);var D=z[\\\"circle-radius\\\"]*f;if(!_(C,T,D))continue}}var P=new y(A,this.z,this.x,this.y);P.layer=L.serialize({includeRefProperties:!0});var O=t[E];void 0===O&&(O=t[E]=[]),O.push(P)}}}}}}}},{\\\"../util/dictionary_coder\\\":431,\\\"../util/intersection_tests\\\":436,\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"../util/vectortile_to_geojson\\\":442,\\\"./bucket\\\":328,\\\"./load_geometry\\\":336,\\\"feature-filter\\\":131,\\\"grid-index\\\":286,pbf:477,\\\"point-geometry\\\":483,\\\"vector-tile\\\":549}],336:[function(t,e,r){\\\"use strict\\\";function n(t){return{min:-1*Math.pow(2,t-1),max:Math.pow(2,t-1)-1}}var i=t(\\\"../util/util\\\"),a=t(\\\"./bucket\\\").EXTENT,o=t(\\\"assert\\\"),s={15:n(15),16:n(16)};e.exports=function(t,e){var r=s[e||16];o(r);for(var n=a/t.extent,l=t.loadGeometry(),u=0;u<l.length;u++)for(var c=l[u],h=0;h<c.length;h++){var f=c[h];f.x=Math.round(f.x*n),f.y=Math.round(f.y*n),(f.x<r.min||f.x>r.max||f.y<r.min||f.y>r.max)&&i.warnOnce(\\\"Geometry exceeds allowed extent, reduce your vector tile buffer size\\\")}return l}},{\\\"../util/util\\\":441,\\\"./bucket\\\":328,assert:46}],337:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.column=t,this.row=e,this.zoom=r}e.exports=n,n.prototype={clone:function(){return new n(this.column,this.row,this.zoom)},zoomTo:function(t){return this.clone()._zoomTo(t)},sub:function(t){return this.clone()._sub(t)},_zoomTo:function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},_sub:function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this}}},{}],338:[function(t,e,r){\\\"use strict\\\";function n(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\\\")}e.exports=n\\n\",\n       \";var i=t(\\\"../util/util\\\").wrap;n.prototype.wrap=function(){return new n(i(this.lng,-180,180),this.lat)},n.prototype.toArray=function(){return[this.lng,this.lat]},n.prototype.toString=function(){return\\\"LngLat(\\\"+this.lng+\\\", \\\"+this.lat+\\\")\\\"},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{\\\"../util/util\\\":441}],339:[function(t,e,r){\\\"use strict\\\";function n(t,e){t&&(e?this.extend(t).extend(e):4===t.length?this.extend([t[0],t[1]]).extend([t[2],t[3]]):this.extend(t[0]).extend(t[1]))}e.exports=n;var i=t(\\\"./lng_lat\\\");n.prototype={extend:function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof i)e=t,r=t;else{if(!(t instanceof n))return t?this.extend(i.convert(t)||n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new i(e.lng,e.lat),this._ne=new i(r.lng,r.lat)),this},getCenter:function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},getSouthWest:function(){return this._sw},getNorthEast:function(){return this._ne},getNorthWest:function(){return new i(this.getWest(),this.getNorth())},getSouthEast:function(){return new i(this.getEast(),this.getSouth())},getWest:function(){return this._sw.lng},getSouth:function(){return this._sw.lat},getEast:function(){return this._ne.lng},getNorth:function(){return this._ne.lat},toArray:function(){return[this._sw.toArray(),this._ne.toArray()]},toString:function(){return\\\"LngLatBounds(\\\"+this._sw.toString()+\\\", \\\"+this._ne.toString()+\\\")\\\"}},n.convert=function(t){return!t||t instanceof n?t:new n(t)}},{\\\"./lng_lat\\\":338}],340:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.tileSize=512,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new i(0,0),this.zoom=0,this.angle=0,this._altitude=1.5,this._pitch=0,this._unmodified=!0}var i=t(\\\"./lng_lat\\\"),a=t(\\\"point-geometry\\\"),o=t(\\\"./coordinate\\\"),s=t(\\\"../util/util\\\").wrap,l=t(\\\"../util/interpolate\\\"),u=t(\\\"../source/tile_coord\\\"),c=t(\\\"../data/bucket\\\").EXTENT,h=t(\\\"gl-matrix\\\"),f=h.vec4,d=h.mat4,p=h.mat2;e.exports=n,n.prototype={get minZoom(){return this._minZoom},set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},get maxZoom(){return this._maxZoom},set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},get worldSize(){return this.tileSize*this.scale},get centerPoint(){return this.size._div(2)},get size(){return new a(this.width,this.height)},get bearing(){return-this.angle/Math.PI*180},set bearing(t){var e=-s(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=p.create(),p.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},get pitch(){return this._pitch/Math.PI*180},set pitch(t){var e=Math.min(60,t)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},get altitude(){return this._altitude},set altitude(t){var e=Math.max(.75,t);this._altitude!==e&&(this._unmodified=!1,this._altitude=e,this._calcMatrices())},get zoom(){return this._zoom},set zoom(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._calcMatrices(),this._constrain())},get center(){return this._center},set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._calcMatrices(),this._constrain())},coveringZoomLevel:function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},coveringTiles:function(t){var e=this.coveringZoomLevel(t),r=e;if(e<t.minzoom)return[];e>t.maxzoom&&(e=t.maxzoom);var n=this,i=n.locationCoordinate(n.center)._zoomTo(e),o=new a(i.column-.5,i.row-.5);return u.cover(e,[n.pointCoordinate(new a(0,0))._zoomTo(e),n.pointCoordinate(new a(n.width,0))._zoomTo(e),n.pointCoordinate(new a(n.width,n.height))._zoomTo(e),n.pointCoordinate(new a(0,n.height))._zoomTo(e)],t.reparseOverscaled?r:e).sort(function(t,e){return o.dist(t)-o.dist(e)})},resize:function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._calcMatrices(),this._constrain()},get unmodified(){return this._unmodified},zoomScale:function(t){return Math.pow(2,t)},scaleZoom:function(t){return Math.log(t)/Math.LN2},project:function(t,e){return new a(this.lngX(t.lng,e),this.latY(t.lat,e))},unproject:function(t,e){return new i(this.xLng(t.x,e),this.yLat(t.y,e))},get x(){return this.lngX(this.center.lng)},get y(){return this.latY(this.center.lat)},get point(){return new a(this.x,this.y)},lngX:function(t,e){return(180+t)*(e||this.worldSize)/360},latY:function(t,e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*(e||this.worldSize)/360},xLng:function(t,e){return 360*t/(e||this.worldSize)-180},yLat:function(t,e){var r=180-360*t/(e||this.worldSize);return 360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90},panBy:function(t){var e=this.centerPoint._add(t);this.center=this.pointLocation(e)},setLocationAtPoint:function(t,e){var r=this.locationCoordinate(t),n=this.pointCoordinate(e),i=this.pointCoordinate(this.centerPoint),a=n._sub(r);this._unmodified=!1,this.center=this.coordinateLocation(i._sub(a))},locationPoint:function(t){return this.coordinatePoint(this.locationCoordinate(t))},pointLocation:function(t){return this.coordinateLocation(this.pointCoordinate(t))},locationCoordinate:function(t){var e=this.zoomScale(this.tileZoom)/this.worldSize,r=i.convert(t);return new o(this.lngX(r.lng)*e,this.latY(r.lat)*e,this.tileZoom)},coordinateLocation:function(t){var e=this.zoomScale(t.zoom);return new i(this.xLng(t.column,e),this.yLat(t.row,e))},pointCoordinate:function(t){var e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];f.transformMat4(e,e,this.pixelMatrixInverse),f.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],i=r[3],a=e[0]/n,s=r[0]/i,u=e[1]/n,c=r[1]/i,h=e[2]/n,d=r[2]/i,p=h===d?0:(0-h)/(d-h),m=this.worldSize/this.zoomScale(this.tileZoom);return new o(l(a,s,p)/m,l(u,c,p)/m,this.tileZoom)},coordinatePoint:function(t){var e=this.worldSize/this.zoomScale(t.zoom),r=[t.column*e,t.row*e,0,1];return f.transformMat4(r,r,this.pixelMatrix),new a(r[0]/r[3],r[1]/r[3])},calculatePosMatrix:function(t,e){void 0===e&&(e=1/0),t instanceof u&&(t=t.toCoordinate(e));var r=Math.min(t.zoom,e),n=this.worldSize/Math.pow(2,r),i=new Float64Array(16);return d.identity(i),d.translate(i,i,[t.column*n,t.row*n,0]),d.scale(i,i,[n/c,n/c,1]),d.multiply(i,this.projMatrix,i),new Float32Array(i)},_constrain:function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,i,o,s,l,u=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),e=this.latY(this.latRange[0]),i=e-t<u.y?u.y/(e-t):0),this.lngRange&&(r=this.lngX(this.lngRange[0]),n=this.lngX(this.lngRange[1]),o=n-r<u.x?u.x/(n-r):0);var h=Math.max(o||0,i||0);if(h)return this.center=this.unproject(new a(o?(n+r)/2:this.x,i?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(h),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var f=this.y,d=u.y/2;f-d<t&&(l=t+d),f+d>e&&(l=e-d)}if(this.lngRange){var p=this.x,m=u.x/2;p-m<r&&(s=r+m),p+m>n&&(s=n-m)}void 0===s&&void 0===l||(this.center=this.unproject(new a(void 0!==s?s:this.x,void 0!==l?l:this.y))),this._unmodified=c,this._constraining=!1}},_calcMatrices:function(){if(this.height){var t=Math.atan(.5/this.altitude),e=Math.sin(t)*this.altitude/Math.sin(Math.PI/2-this._pitch-t),r=Math.cos(Math.PI/2-this._pitch)*e+this.altitude,n=new Float64Array(16);if(d.perspective(n,2*Math.atan(this.height/2/this.altitude),this.width/this.height,.1,r),d.translate(n,n,[0,0,-this.altitude]),d.scale(n,n,[1,-1,1/this.height]),d.rotateX(n,n,this._pitch),d.rotateZ(n,n,this.angle),d.translate(n,n,[-this.x,-this.y,0]),this.projMatrix=n,n=d.create(),d.scale(n,n,[this.width/2,-this.height/2,1]),d.translate(n,n,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),n,this.projMatrix),!(n=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\\\"failed to invert matrix\\\");this.pixelMatrixInverse=n}}}},{\\\"../data/bucket\\\":328,\\\"../source/tile_coord\\\":368,\\\"../util/interpolate\\\":435,\\\"../util/util\\\":441,\\\"./coordinate\\\":337,\\\"./lng_lat\\\":338,\\\"gl-matrix\\\":192,\\\"point-geometry\\\":483}],341:[function(t,e,r){\\\"use strict\\\";var n={\\\" \\\":[16,[]],\\\"!\\\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\\\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\\\"#\\\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\\\"%\\\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\\\"&\\\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\\\"'\\\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\\\"(\\\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\\\")\\\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\\\"*\\\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\\\"+\\\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\\\",\\\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"-\\\":[26,[4,9,22,9]],\\\".\\\":[10,[5,2,4,1,5,0,6,1,5,2]],\\\"/\\\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\\\":\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\\\";\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"<\\\":[24,[20,18,4,9,20,0]],\\\"=\\\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\\\">\\\":[24,[4,18,20,9,4,0]],\\\"?\\\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\\\"@\\\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\\\"[\\\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\\\"\\\\\\\\\\\":[14,[0,21,14,-3]],\\\"]\\\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\\\"^\\\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\\\"`\\\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\\\"{\\\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\\\"|\\\":[8,[4,25,4,-7]],\\\"}\\\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\\\"~\\\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};e.exports=function(t,e,r,i){i=i||1;var a,o,s,l,u,c,h,f,d=[];for(a=0,o=t.length;a<o;a++)if(u=n[t[a]]){for(f=null,s=0,l=u[1].length;s<l;s+=2)-1===u[1][s]&&-1===u[1][s+1]?f=null:(c=e+u[1][s]*i,h=r-u[1][s+1]*i,f&&d.push(f.x,f.y,c,h),f={x:c,y:h});e+=u[0]*i}return d}},{}],342:[function(t,e,r){\\\"use strict\\\";var n=e.exports={};n.version=t(\\\"../package.json\\\").version,n.Map=t(\\\"./ui/map\\\"),n.Control=t(\\\"./ui/control/control\\\"),n.Navigation=t(\\\"./ui/control/navigation\\\"),n.Geolocate=t(\\\"./ui/control/geolocate\\\"),n.Attribution=t(\\\"./ui/control/attribution\\\"),n.Popup=t(\\\"./ui/popup\\\"),n.Marker=t(\\\"./ui/marker\\\"),n.Style=t(\\\"./style/style\\\"),n.LngLat=t(\\\"./geo/lng_lat\\\"),n.LngLatBounds=t(\\\"./geo/lng_lat_bounds\\\"),n.Point=t(\\\"point-geometry\\\"),n.Evented=t(\\\"./util/evented\\\"),n.util=t(\\\"./util/util\\\"),n.supported=t(\\\"./util/browser\\\").supported;var i=t(\\\"./util/ajax\\\");n.util.getJSON=i.getJSON,n.util.getArrayBuffer=i.getArrayBuffer;var a=t(\\\"./util/config\\\");n.config=a,Object.defineProperty(n,\\\"accessToken\\\",{get:function(){return a.ACCESS_TOKEN},set:function(t){a.ACCESS_TOKEN=t}})},{\\\"../package.json\\\":443,\\\"./geo/lng_lat\\\":338,\\\"./geo/lng_lat_bounds\\\":339,\\\"./style/style\\\":377,\\\"./ui/control/attribution\\\":408,\\\"./ui/control/control\\\":409,\\\"./ui/control/geolocate\\\":410,\\\"./ui/control/navigation\\\":411,\\\"./ui/map\\\":420,\\\"./ui/marker\\\":421,\\\"./ui/popup\\\":422,\\\"./util/ajax\\\":424,\\\"./util/browser\\\":425,\\\"./util/config\\\":430,\\\"./util/evented\\\":433,\\\"./util/util\\\":441,\\\"point-geometry\\\":483}],343:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"assert\\\");e.exports=function(t){for(var e={define:{},initialize:{}},r=0;r<t.length;r++){var i=t[r];n(\\\"u_\\\"===i.name.slice(0,2));var a=\\\"{precision} \\\"+(1===i.components?\\\"float\\\":\\\"vec\\\"+i.components);e.define[i.name.slice(2)]=\\\"uniform \\\"+a+\\\" \\\"+i.name+\\\";\\\\n\\\",e.initialize[i.name.slice(2)]=a+\\\" \\\"+i.name.slice(2)+\\\" = \\\"+i.name+\\\";\\\\n\\\"}return e}},{assert:46}],344:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,s=t.gl,l=t.transform,u=r.paint[\\\"background-color\\\"],c=r.paint[\\\"background-pattern\\\"],h=r.paint[\\\"background-opacity\\\"],f=c?t.spriteAtlas.getPosition(c.from,!0):null,d=c?t.spriteAtlas.getPosition(c.to,!0):null;if(t.setDepthSublayer(0),f&&d){if(t.isOpaquePass)return;n=t.useProgram(\\\"pattern\\\"),s.uniform1i(n.u_image,0),s.uniform2fv(n.u_pattern_tl_a,f.tl),s.uniform2fv(n.u_pattern_br_a,f.br),s.uniform2fv(n.u_pattern_tl_b,d.tl),s.uniform2fv(n.u_pattern_br_b,d.br),s.uniform1f(n.u_opacity,h),s.uniform1f(n.u_mix,c.t),s.uniform2fv(n.u_pattern_size_a,f.size),s.uniform2fv(n.u_pattern_size_b,d.size),s.uniform1f(n.u_scale_a,c.fromScale),s.uniform1f(n.u_scale_b,c.toScale),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),t.tileExtentPatternVAO.bind(s,n,t.tileExtentBuffer)}else{if(t.isOpaquePass!==(1===u[3]))return;var p=a([{name:\\\"u_color\\\",components:4},{name:\\\"u_opacity\\\",components:1}]);n=t.useProgram(\\\"fill\\\",[],p,p),s.uniform4fv(n.u_color,u),s.uniform1f(n.u_opacity,h),t.tileExtentVAO.bind(s,n,t.tileExtentBuffer)}s.disable(s.STENCIL_TEST);for(var m=l.coveringTiles({tileSize:o}),v=0;v<m.length;v++){var g=m[v];if(f&&d){var y={coord:g,tileSize:o};s.uniform1f(n.u_tile_units_to_pixels,1/i(y,1,t.transform.tileZoom));var b=y.tileSize*Math.pow(2,t.transform.tileZoom-y.coord.z),x=b*(y.coord.x+g.w*Math.pow(2,y.coord.z)),_=b*y.coord.y;s.uniform2f(n.u_pixel_coord_upper,x>>16,_>>16),s.uniform2f(n.u_pixel_coord_lower,65535&x,65535&_)}s.uniformMatrix4fv(n.u_matrix,!1,t.transform.calculatePosMatrix(g)),s.drawArrays(s.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}s.stencilMask(0),s.stencilFunc(s.EQUAL,128,128)}var i=t(\\\"../source/pixels_to_tile_units\\\"),a=t(\\\"./create_uniform_pragmas\\\"),o=512;e.exports=n},{\\\"../source/pixels_to_tile_units\\\":362,\\\"./create_uniform_pragmas\\\":343}],345:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;t.setDepthSublayer(0),t.depthMask(!1),a.disable(a.STENCIL_TEST);for(var o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.circle;if(c){var h=u.paintAttributes.circle[r.id],f=t.useProgram(\\\"circle\\\",h.defines,h.vertexPragmas,h.fragmentPragmas);\\\"map\\\"===r.paint[\\\"circle-pitch-scale\\\"]?(a.uniform1i(f.u_scale_with_map,!0),a.uniform2f(f.u_extrude_scale,t.transform.pixelsToGLUnits[0]*t.transform.altitude,t.transform.pixelsToGLUnits[1]*t.transform.altitude)):(a.uniform1i(f.u_scale_with_map,!1),a.uniform2fv(f.u_extrude_scale,t.transform.pixelsToGLUnits)),a.uniform1f(f.u_devicepixelratio,i.devicePixelRatio),a.uniformMatrix4fv(f.u_matrix,!1,t.translatePosMatrix(s.posMatrix,l,r.paint[\\\"circle-translate\\\"],r.paint[\\\"circle-translate-anchor\\\"])),u.setUniforms(a,\\\"circle\\\",f,r,{zoom:t.transform.zoom});for(var d=0;d<c.length;d++){var p=c[d];p.vaos[r.id].bind(a,f,p.layoutVertexBuffer,p.elementBuffer,p.paintVertexBuffers[r.id]),a.drawElements(a.TRIANGLES,3*p.elementBuffer.length,a.UNSIGNED_SHORT,0)}}}}}}var i=t(\\\"../util/browser\\\");e.exports=n},{\\\"../util/browser\\\":425}],346:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var i=t.gl;i.enable(i.STENCIL_TEST);for(var a=t.useProgram(\\\"collisionbox\\\"),o=0;o<n.length;o++){var s=n[o],l=e.getTile(s),u=l.getBucket(r);if(u){var c=u.bufferGroups.collisionBox;if(c&&c.length){var h=c[0];0!==h.layoutVertexBuffer.length&&(i.uniformMatrix4fv(a.u_matrix,!1,s.posMatrix),t.enableTileClippingMask(s),t.lineWidth(1),i.uniform1f(a.u_scale,Math.pow(2,t.transform.zoom-l.coord.z)),i.uniform1f(a.u_zoom,10*t.transform.zoom),i.uniform1f(a.u_maxzoom,10*(l.coord.z+1)),h.vaos[r.id].bind(i,a,h.layoutVertexBuffer),i.drawArrays(i.LINES,0,h.layoutVertexBuffer.length))}}}}e.exports=n},{}],347:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!t.isOpaquePass&&t.options.debug)for(var n=0;n<r.length;n++)i(t,e,r[n])}function i(t,e,r){var n=t.gl;n.disable(n.STENCIL_TEST),t.lineWidth(1*o.devicePixelRatio);var i=r.posMatrix,h=t.useProgram(\\\"debug\\\");n.uniformMatrix4fv(h.u_matrix,!1,i),n.uniform4f(h.u_color,1,0,0,1),t.debugVAO.bind(n,h,t.debugBuffer),n.drawArrays(n.LINE_STRIP,0,t.debugBuffer.length);for(var f=a(r.toString(),50,200,5),d=new t.PosArray,p=0;p<f.length;p+=2)d.emplaceBack(f[p],f[p+1]);var m=new u(d.serialize(),t.PosArray.serialize(),u.BufferType.VERTEX);(new c).bind(n,h,m),n.uniform4f(h.u_color,1,1,1,1);for(var v=e.getTile(r).tileSize,g=l/(Math.pow(2,t.transform.zoom-r.z)*v),y=[[-1,-1],[-1,1],[1,-1],[1,1]],b=0;b<y.length;b++){var x=y[b];n.uniformMatrix4fv(h.u_matrix,!1,s.translate([],i,[g*x[0],g*x[1],0])),n.drawArrays(n.LINES,0,m.length)}n.uniform4f(h.u_color,0,0,0,1),n.uniformMatrix4fv(h.u_matrix,!1,i),n.drawArrays(n.LINES,0,m.length)}var a=t(\\\"../lib/debugtext\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"gl-matrix\\\").mat4,l=t(\\\"../data/bucket\\\").EXTENT,u=t(\\\"../data/buffer\\\"),c=t(\\\"./vertex_array_object\\\");e.exports=n},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../lib/debugtext\\\":341,\\\"../util/browser\\\":425,\\\"./vertex_array_object\\\":356,\\\"gl-matrix\\\":192}],348:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var o=t.gl;o.enable(o.STENCIL_TEST);var s;if(s=!r.paint[\\\"fill-pattern\\\"]&&(r.isPaintValueFeatureConstant(\\\"fill-color\\\")&&r.isPaintValueFeatureConstant(\\\"fill-opacity\\\")&&1===r.paint[\\\"fill-color\\\"][3]&&1===r.paint[\\\"fill-opacity\\\"]),t.isOpaquePass===s){t.setDepthSublayer(1);for(var l=0;l<n.length;l++)i(t,e,r,n[l])}if(!t.isOpaquePass&&r.paint[\\\"fill-antialias\\\"]){t.lineWidth(2),t.depthMask(!1);var u=r.getPaintProperty(\\\"fill-outline-color\\\");(u||!r.paint[\\\"fill-pattern\\\"])&&u?t.setDepthSublayer(2):t.setDepthSublayer(0);for(var c=0;c<n.length;c++)a(t,e,r,n[c])}}function i(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s=a.bufferGroups.fill;if(s){var l,u=t.gl,c=r.paint[\\\"fill-pattern\\\"];if(c)l=t.useProgram(\\\"pattern\\\"),o(c,r.paint[\\\"fill-opacity\\\"],i,n,t,l),u.activeTexture(u.TEXTURE0),t.spriteAtlas.bind(u,!0);else{var h=a.paintAttributes.fill[r.id];l=t.useProgram(\\\"fill\\\",h.defines,h.vertexPragmas,h.fragmentPragmas),a.setUniforms(u,\\\"fill\\\",l,r,{zoom:t.transform.zoom})}u.uniformMatrix4fv(l.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\\\"fill-translate\\\"],r.paint[\\\"fill-translate-anchor\\\"])),t.enableTileClippingMask(n);for(var f=0;f<s.length;f++){var d=s[f];d.vaos[r.id].bind(u,l,d.layoutVertexBuffer,d.elementBuffer,d.paintVertexBuffers[r.id]),u.drawElements(u.TRIANGLES,d.elementBuffer.length,u.UNSIGNED_SHORT,0)}}}}function a(t,e,r,n){var i=e.getTile(n),a=i.getBucket(r);if(a){var s,l=t.gl,u=a.bufferGroups.fill,c=r.paint[\\\"fill-pattern\\\"],h=r.paint[\\\"fill-opacity\\\"],f=r.getPaintProperty(\\\"fill-outline-color\\\");if(c&&!f)s=t.useProgram(\\\"outlinepattern\\\"),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight);else{var d=a.paintAttributes.fill[r.id];s=t.useProgram(\\\"outline\\\",d.defines,d.vertexPragmas,d.fragmentPragmas),l.uniform2f(s.u_world,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(s.u_opacity,h),a.setUniforms(l,\\\"fill\\\",s,r,{zoom:t.transform.zoom})}l.uniformMatrix4fv(s.u_matrix,!1,t.translatePosMatrix(n.posMatrix,i,r.paint[\\\"fill-translate\\\"],r.paint[\\\"fill-translate-anchor\\\"])),c&&o(c,h,i,n,t,s),t.enableTileClippingMask(n);for(var p=0;p<u.length;p++){var m=u[p];m.secondVaos[r.id].bind(l,s,m.layoutVertexBuffer,m.elementBuffer2,m.paintVertexBuffers[r.id]),l.drawElements(l.LINES,2*m.elementBuffer2.length,l.UNSIGNED_SHORT,0)}}}function o(t,e,r,n,i,a){var o=i.gl,l=i.spriteAtlas.getPosition(t.from,!0),u=i.spriteAtlas.getPosition(t.to,!0);if(l&&u){o.uniform1i(a.u_image,0),o.uniform2fv(a.u_pattern_tl_a,l.tl),o.uniform2fv(a.u_pattern_br_a,l.br),o.uniform2fv(a.u_pattern_tl_b,u.tl),o.uniform2fv(a.u_pattern_br_b,u.br),o.uniform1f(a.u_opacity,e),o.uniform1f(a.u_mix,t.t),o.uniform1f(a.u_tile_units_to_pixels,1/s(r,1,i.transform.tileZoom)),o.uniform2fv(a.u_pattern_size_a,l.size),o.uniform2fv(a.u_pattern_size_b,u.size),o.uniform1f(a.u_scale_a,t.fromScale),o.uniform1f(a.u_scale_b,t.toScale);var c=r.tileSize*Math.pow(2,i.transform.tileZoom-r.coord.z),h=c*(r.coord.x+n.w*Math.pow(2,r.coord.z)),f=c*r.coord.y;o.uniform2f(a.u_pixel_coord_upper,h>>16,f>>16),o.uniform2f(a.u_pixel_coord_lower,65535&h,65535&f),o.activeTexture(o.TEXTURE0),i.spriteAtlas.bind(o,!0)}}var s=t(\\\"../source/pixels_to_tile_units\\\");e.exports=n},{\\\"../source/pixels_to_tile_units\\\":362}],349:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/browser\\\"),i=t(\\\"gl-matrix\\\").mat2,a=t(\\\"../source/pixels_to_tile_units\\\");e.exports=function(t,e,r,o){if(!t.isOpaquePass){t.setDepthSublayer(0),t.depthMask(!1);var s=t.gl;if(s.enable(s.STENCIL_TEST),!(r.paint[\\\"line-width\\\"]<=0)){var l=1/n.devicePixelRatio,u=r.paint[\\\"line-blur\\\"]+l,c=r.paint[\\\"line-color\\\"],h=t.transform,f=i.create();i.scale(f,f,[1,Math.cos(h._pitch)]),i.rotate(f,f,t.transform.angle);var d,p,m,v,g,y=Math.sqrt(h.height*h.height/4*(1+h.altitude*h.altitude)),b=h.height/2*Math.tan(h._pitch),x=(y+b)/y-1,_=r.paint[\\\"line-dasharray\\\"],w=r.paint[\\\"line-pattern\\\"];if(_)d=t.useProgram(\\\"linesdfpattern\\\"),s.uniform1f(d.u_linewidth,r.paint[\\\"line-width\\\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\\\"line-gap-width\\\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\\\"line-opacity\\\"]),p=t.lineAtlas.getDash(_.from,\\\"round\\\"===r.layout[\\\"line-cap\\\"]),m=t.lineAtlas.getDash(_.to,\\\"round\\\"===r.layout[\\\"line-cap\\\"]),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.lineAtlas.bind(s),s.uniform1f(d.u_tex_y_a,p.y),s.uniform1f(d.u_tex_y_b,m.y),s.uniform1f(d.u_mix,_.t),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\\\"line-offset\\\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f);else if(w){if(v=t.spriteAtlas.getPosition(w.from,!0),g=t.spriteAtlas.getPosition(w.to,!0),!v||!g)return;d=t.useProgram(\\\"linepattern\\\"),s.uniform1i(d.u_image,0),s.activeTexture(s.TEXTURE0),t.spriteAtlas.bind(s,!0),s.uniform1f(d.u_linewidth,r.paint[\\\"line-width\\\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\\\"line-gap-width\\\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform2fv(d.u_pattern_tl_a,v.tl),s.uniform2fv(d.u_pattern_br_a,v.br),s.uniform2fv(d.u_pattern_tl_b,g.tl),s.uniform2fv(d.u_pattern_br_b,g.br),s.uniform1f(d.u_fade,w.t),s.uniform1f(d.u_opacity,r.paint[\\\"line-opacity\\\"]),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\\\"line-offset\\\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f)}else d=t.useProgram(\\\"line\\\"),s.uniform1f(d.u_linewidth,r.paint[\\\"line-width\\\"]/2),s.uniform1f(d.u_gapwidth,r.paint[\\\"line-gap-width\\\"]/2),s.uniform1f(d.u_antialiasing,l/2),s.uniform1f(d.u_blur,u),s.uniform1f(d.u_extra,x),s.uniform1f(d.u_offset,-r.paint[\\\"line-offset\\\"]),s.uniformMatrix2fv(d.u_antialiasingmatrix,!1,f),s.uniform4fv(d.u_color,c),s.uniform1f(d.u_opacity,r.paint[\\\"line-opacity\\\"]);for(var M=0;M<o.length;M++){var k=o[M],A=e.getTile(k),T=A.getBucket(r);if(T){var S=T.bufferGroups.line;if(S){t.enableTileClippingMask(k);var E=t.translatePosMatrix(k.posMatrix,A,r.paint[\\\"line-translate\\\"],r.paint[\\\"line-translate-anchor\\\"]);s.uniformMatrix4fv(d.u_matrix,!1,E);var L=1/a(A,1,t.transform.zoom);if(_){var C=p.width*_.fromScale,z=m.width*_.toScale,I=[1/a(A,C,t.transform.tileZoom),-p.height/2],D=[1/a(A,z,t.transform.tileZoom),-m.height/2],P=t.lineAtlas.width/(256*Math.min(C,z)*n.devicePixelRatio)/2;s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_patternscale_a,I),s.uniform2fv(d.u_patternscale_b,D),s.uniform1f(d.u_sdfgamma,P)}else w?(s.uniform1f(d.u_ratio,L),s.uniform2fv(d.u_pattern_size_a,[a(A,v.size[0]*w.fromScale,t.transform.tileZoom),g.size[1]]),s.uniform2fv(d.u_pattern_size_b,[a(A,g.size[0]*w.toScale,t.transform.tileZoom),g.size[1]])):s.uniform1f(d.u_ratio,L);for(var O=0;O<S.length;O++){var R=S[O];R.vaos[r.id].bind(s,d,R.layoutVertexBuffer,R.elementBuffer),s.drawElements(s.TRIANGLES,3*R.elementBuffer.length,s.UNSIGNED_SHORT,0)}}}}}}}},{\\\"../source/pixels_to_tile_units\\\":362,\\\"../util/browser\\\":425,\\\"gl-matrix\\\":192}],350:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(!t.isOpaquePass){var a=t.gl;a.enable(a.DEPTH_TEST),t.depthMask(!0),a.depthFunc(a.LESS);for(var o=n.length&&n[0].z,s=0;s<n.length;s++){var l=n[s];t.setDepthSublayer(l.z-o),i(t,e,r,l)}a.depthFunc(a.LEQUAL)}}function i(t,e,r,n){var i=t.gl;i.disable(i.STENCIL_TEST);var u=e.getTile(n),c=t.transform.calculatePosMatrix(n,e.maxzoom),h=t.useProgram(\\\"raster\\\");i.uniformMatrix4fv(h.u_matrix,!1,c),i.uniform1f(h.u_brightness_low,r.paint[\\\"raster-brightness-min\\\"]),i.uniform1f(h.u_brightness_high,r.paint[\\\"raster-brightness-max\\\"]),i.uniform1f(h.u_saturation_factor,s(r.paint[\\\"raster-saturation\\\"])),i.uniform1f(h.u_contrast_factor,o(r.paint[\\\"raster-contrast\\\"])),i.uniform3fv(h.u_spin_weights,a(r.paint[\\\"raster-hue-rotate\\\"]));var f,d,p=u.source&&u.source.findLoadedParent(n,0,{}),m=l(u,p,r,t.transform);i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,u.texture),i.activeTexture(i.TEXTURE1),p?(i.bindTexture(i.TEXTURE_2D,p.texture),f=Math.pow(2,p.coord.z-u.coord.z),d=[u.coord.x*f%1,u.coord.y*f%1]):(i.bindTexture(i.TEXTURE_2D,u.texture),m[1]=0),i.uniform2fv(h.u_tl_parent,d||[0,0]),i.uniform1f(h.u_scale_parent,f||1),i.uniform1f(h.u_buffer_scale,1),i.uniform1f(h.u_opacity0,m[0]),i.uniform1f(h.u_opacity1,m[1]),i.uniform1i(h.u_image0,0),i.uniform1i(h.u_image1,1);var v=u.boundsBuffer||t.rasterBoundsBuffer;(u.boundsVAO||t.rasterBoundsVAO).bind(i,h,v),i.drawArrays(i.TRIANGLE_STRIP,0,v.length)}function a(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]}function o(t){return t>0?1/(1-t):1+t}function s(t){return t>0?1-1/(1.001-t):-t}function l(t,e,r,n){var i=[1,0],a=r.paint[\\\"raster-fade-duration\\\"];if(t.source&&a>0){var o=(new Date).getTime(),s=(o-t.timeAdded)/a,l=e?(o-e.timeAdded)/a:-1,c=n.coveringZoomLevel(t.source),h=!!e&&Math.abs(e.coord.z-c)>Math.abs(t.coord.z-c);!e||h?(i[0]=u.clamp(s,0,1),i[1]=1-i[0]):(i[0]=u.clamp(1-l,0,1),i[1]=1-i[0])}var f=r.paint[\\\"raster-opacity\\\"];return i[0]*=f,i[1]*=f,i}var u=t(\\\"../util/util\\\"),c=t(\\\"../util/struct_array\\\");e.exports=n,n.RasterBoundsArray=new c({members:[{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2},{name:\\\"a_texture_pos\\\",type:\\\"Int16\\\",components:2}]})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441}],351:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(!t.isOpaquePass){var a=!(r.layout[\\\"text-allow-overlap\\\"]||r.layout[\\\"icon-allow-overlap\\\"]||r.layout[\\\"text-ignore-placement\\\"]||r.layout[\\\"icon-ignore-placement\\\"]),o=t.gl;a?o.disable(o.STENCIL_TEST):o.enable(o.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),o.disable(o.DEPTH_TEST),i(t,e,r,n,!1,r.paint[\\\"icon-translate\\\"],r.paint[\\\"icon-translate-anchor\\\"],r.layout[\\\"icon-rotation-alignment\\\"],r.layout[\\\"icon-rotation-alignment\\\"],r.layout[\\\"icon-size\\\"],r.paint[\\\"icon-halo-width\\\"],r.paint[\\\"icon-halo-color\\\"],r.paint[\\\"icon-halo-blur\\\"],r.paint[\\\"icon-opacity\\\"],r.paint[\\\"icon-color\\\"]),\\n\",\n       \"i(t,e,r,n,!0,r.paint[\\\"text-translate\\\"],r.paint[\\\"text-translate-anchor\\\"],r.layout[\\\"text-rotation-alignment\\\"],r.layout[\\\"text-pitch-alignment\\\"],r.layout[\\\"text-size\\\"],r.paint[\\\"text-halo-width\\\"],r.paint[\\\"text-halo-color\\\"],r.paint[\\\"text-halo-blur\\\"],r.paint[\\\"text-opacity\\\"],r.paint[\\\"text-color\\\"]),o.enable(o.DEPTH_TEST),e.map.showCollisionBoxes&&s(t,e,r,n)}}function i(t,e,r,n,i,o,s,l,u,c,h,f,d,p,m){for(var v=0;v<n.length;v++){var g=e.getTile(n[v]),y=g.getBucket(r);if(y){var b=y.bufferGroups,x=i?b.glyph:b.icon;x.length&&(t.enableTileClippingMask(n[v]),a(t,r,n[v].posMatrix,g,y,x,i,i||y.sdfIcons,!i&&y.iconsNeedLinear,i?y.adjustedTextSize:y.adjustedIconSize,y.fontstack,o,s,l,u,c,h,f,d,p,m))}}}function a(t,e,r,n,i,a,s,u,c,h,f,d,p,m,v,g,y,b,x,_,w){var M,k,A,T=t.gl,S=t.transform,E=\\\"map\\\"===m,L=\\\"map\\\"===v,C=s?24:1,z=g/C;if(L?(k=l(n,1,t.transform.zoom)*z,A=1/Math.cos(S._pitch),M=[k,k]):(k=t.transform.altitude*z,A=1,M=[S.pixelsToGLUnits[0]*k,S.pixelsToGLUnits[1]*k]),s||t.style.sprite.loaded()){var I=t.useProgram(u?\\\"sdf\\\":\\\"icon\\\");if(T.uniformMatrix4fv(I.u_matrix,!1,t.translatePosMatrix(r,n,d,p)),T.uniform1i(I.u_rotate_with_map,E),T.uniform1i(I.u_pitch_with_map,L),T.uniform2fv(I.u_extrude_scale,M),T.activeTexture(T.TEXTURE0),T.uniform1i(I.u_texture,0),s){var D=f&&t.glyphSource.getGlyphAtlas(f);if(!D)return;D.updateTexture(T),T.uniform2f(I.u_texsize,D.width/4,D.height/4)}else{var P=t.options.rotating||t.options.zooming,O=1!==z||o.devicePixelRatio!==t.spriteAtlas.pixelRatio||c,R=L||t.transform.pitch;t.spriteAtlas.bind(T,u||P||O||R),T.uniform2f(I.u_texsize,t.spriteAtlas.width/4,t.spriteAtlas.height/4)}var F=Math.log(g/h)/Math.LN2||0;T.uniform1f(I.u_zoom,10*(t.transform.zoom-F)),T.activeTexture(T.TEXTURE1),t.frameHistory.bind(T),T.uniform1i(I.u_fadetexture,1);var j;if(u){var N=.105*C/g/o.devicePixelRatio;if(y){T.uniform1f(I.u_gamma,(1.19*x/z/8+N)*A),T.uniform4fv(I.u_color,b),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,(6-y/z)/8);for(var B=0;B<a.length;B++)j=a[B],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}T.uniform1f(I.u_gamma,N*A),T.uniform4fv(I.u_color,w),T.uniform1f(I.u_opacity,_),T.uniform1f(I.u_buffer,.75),T.uniform1f(I.u_pitch,S.pitch/360*2*Math.PI),T.uniform1f(I.u_bearing,S.bearing/360*2*Math.PI),T.uniform1f(I.u_aspect_ratio,S.width/S.height);for(var U=0;U<a.length;U++)j=a[U],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}else{T.uniform1f(I.u_opacity,_);for(var V=0;V<a.length;V++)j=a[V],j.vaos[e.id].bind(T,I,j.layoutVertexBuffer,j.elementBuffer),T.drawElements(T.TRIANGLES,3*j.elementBuffer.length,T.UNSIGNED_SHORT,0)}}}var o=t(\\\"../util/browser\\\"),s=t(\\\"./draw_collision_debug\\\"),l=t(\\\"../source/pixels_to_tile_units\\\");e.exports=n},{\\\"../source/pixels_to_tile_units\\\":362,\\\"../util/browser\\\":425,\\\"./draw_collision_debug\\\":346}],352:[function(t,e,r){\\\"use strict\\\";function n(){this.changeTimes=new Float64Array(256),this.changeOpacities=new Uint8Array(256),this.opacities=new Uint8ClampedArray(256),this.array=new Uint8Array(this.opacities.buffer),this.fadeDuration=300,this.previousZoom=0,this.firstFrame=!0}e.exports=n,n.prototype.record=function(t){var e=Date.now();this.firstFrame&&(e=0,this.firstFrame=!1),t=Math.floor(10*t);var r;if(t<this.previousZoom)for(r=t+1;r<=this.previousZoom;r++)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];else for(r=t;r>this.previousZoom;r--)this.changeTimes[r]=e,this.changeOpacities[r]=this.opacities[r];for(r=0;r<256;r++){var n=e-this.changeTimes[r],i=n/this.fadeDuration*255;this.opacities[r]=r<=t?this.changeOpacities[r]+i:this.changeOpacities[r]-i}this.changed=!0,this.previousZoom=t},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.changed&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,256,1,t.ALPHA,t.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,256,1,0,t.ALPHA,t.UNSIGNED_BYTE,this.array))}},{}],353:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}}var i=t(\\\"../util/util\\\");e.exports=n,n.prototype.setSprite=function(t){this.sprite=t},n.prototype.getDash=function(t,e){var r=t.join(\\\",\\\")+e;return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},n.prototype.addDash=function(t,e){var r=e?7:0,n=2*r+1;if(this.nextRow+n>this.height)return i.warnOnce(\\\"LineAtlas out of space\\\"),null;for(var a=0,o=0;o<t.length;o++)a+=t[o];for(var s=this.width/a,l=s/2,u=t.length%2==1,c=-r;c<=r;c++)for(var h=this.nextRow+r+c,f=this.width*h,d=u?-t[t.length-1]:0,p=t[0],m=1,v=0;v<this.width;v++){for(;p<v/s;)d=p,p+=t[m],u&&m===t.length-1&&(p+=t[0]),m++;var g,y=Math.abs(v-d*s),b=Math.abs(v-p*s),x=Math.min(y,b),_=m%2==1;if(e){var w=r?c/r*(l+1):0;if(_){var M=l-Math.abs(w);g=Math.sqrt(x*x+M*M)}else g=l-Math.sqrt(x*x+w*w)}else g=(_?1:-1)*x;this.data[3+4*(f+v)]=Math.max(0,Math.min(255,g+128))}var k={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:a};return this.nextRow+=n,this.dirty=!0,k},n.prototype.bind=function(t){this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.RGBA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))}},{\\\"../util/util\\\":441}],354:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.gl=t,this.transform=e,this.reusableTextures={},this.preFbos={},this.frameHistory=new o,this.setup(),this.numSublayers=s.maxUnderzooming+s.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE)}var i=t(\\\"../util/browser\\\"),a=t(\\\"gl-matrix\\\").mat4,o=t(\\\"./frame_history\\\"),s=t(\\\"../source/source_cache\\\"),l=t(\\\"../data/bucket\\\").EXTENT,u=t(\\\"../source/pixels_to_tile_units\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/struct_array\\\"),f=t(\\\"../data/buffer\\\"),d=t(\\\"./vertex_array_object\\\"),p=t(\\\"./draw_raster\\\").RasterBoundsArray,m=t(\\\"./create_uniform_pragmas\\\");e.exports=n,c.extend(n.prototype,t(\\\"./painter/use_program\\\")),n.prototype.resize=function(t,e){var r=this.gl;this.width=t*i.devicePixelRatio,this.height=e*i.devicePixelRatio,r.viewport(0,0,this.width,this.height)},n.prototype.setup=function(){var t=this.gl;t.verbose=!0,t.enable(t.BLEND),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),t.enable(t.STENCIL_TEST),t.enable(t.DEPTH_TEST),t.depthFunc(t.LEQUAL),this._depthMask=!1,t.depthMask(!1);var e=this.PosArray=new h({members:[{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2}]}),r=new e;r.emplaceBack(0,0),r.emplaceBack(l,0),r.emplaceBack(0,l),r.emplaceBack(l,l),this.tileExtentBuffer=new f(r.serialize(),e.serialize(),f.BufferType.VERTEX),this.tileExtentVAO=new d,this.tileExtentPatternVAO=new d;var n=new e;n.emplaceBack(0,0),n.emplaceBack(l,0),n.emplaceBack(l,l),n.emplaceBack(0,l),n.emplaceBack(0,0),this.debugBuffer=new f(n.serialize(),e.serialize(),f.BufferType.VERTEX),this.debugVAO=new d;var i=new p;i.emplaceBack(0,0,0,0),i.emplaceBack(l,0,32767,0),i.emplaceBack(0,l,0,32767),i.emplaceBack(l,l,32767,32767),this.rasterBoundsBuffer=new f(i.serialize(),p.serialize(),f.BufferType.VERTEX),this.rasterBoundsVAO=new d},n.prototype.clearColor=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},n.prototype.clearStencil=function(){var t=this.gl;t.clearStencil(0),t.stencilMask(255),t.clear(t.STENCIL_BUFFER_BIT)},n.prototype.clearDepth=function(){var t=this.gl;t.clearDepth(1),this.depthMask(!0),t.clear(t.DEPTH_BUFFER_BIT)},n.prototype._renderTileClippingMasks=function(t){var e=this.gl;e.colorMask(!1,!1,!1,!1),this.depthMask(!1),e.disable(e.DEPTH_TEST),e.enable(e.STENCIL_TEST),e.stencilMask(248),e.stencilOp(e.KEEP,e.KEEP,e.REPLACE);var r=1;this._tileClippingMaskIDs={};for(var n=0;n<t.length;n++){var i=t[n],a=this._tileClippingMaskIDs[i.id]=r++<<3;e.stencilFunc(e.ALWAYS,a,248);var o=m([{name:\\\"u_color\\\",components:4},{name:\\\"u_opacity\\\",components:1}]),s=this.useProgram(\\\"fill\\\",[],o,o);e.uniformMatrix4fv(s.u_matrix,!1,i.posMatrix),this.tileExtentVAO.bind(e,s,this.tileExtentBuffer),e.drawArrays(e.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}e.stencilMask(0),e.colorMask(!0,!0,!0,!0),this.depthMask(!0),e.enable(e.DEPTH_TEST)},n.prototype.enableTileClippingMask=function(t){var e=this.gl;e.stencilFunc(e.EQUAL,this._tileClippingMaskIDs[t.id],248)},n.prototype.prepareBuffers=function(){},n.prototype.bindDefaultFramebuffer=function(){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null)};var v={symbol:t(\\\"./draw_symbol\\\"),circle:t(\\\"./draw_circle\\\"),line:t(\\\"./draw_line\\\"),fill:t(\\\"./draw_fill\\\"),raster:t(\\\"./draw_raster\\\"),background:t(\\\"./draw_background\\\"),debug:t(\\\"./draw_debug\\\")};n.prototype.render=function(t,e){this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.spriteAtlas=t.spriteAtlas,this.spriteAtlas.setSprite(t.sprite),this.glyphSource=t.glyphSource,this.frameHistory.record(this.transform.zoom),this.prepareBuffers(),this.clearColor(),this.clearDepth(),this.showOverdrawInspector(e.showOverdrawInspector),this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass({isOpaquePass:!0}),this.renderPass({isOpaquePass:!1})},n.prototype.renderPass=function(t){var e=this.style._groups,r=t.isOpaquePass;this.currentLayer=r?this.style._order.length:-1;for(var n=0;n<e.length;n++){var i,a=e[r?e.length-1-n:n],o=this.style.sources[a.source],s=[];if(o){for(s=o.getVisibleCoordinates(),i=0;i<s.length;i++)s[i].posMatrix=this.transform.calculatePosMatrix(s[i],o.maxzoom);this.clearStencil(),o.prepare&&o.prepare(),o.isTileClipped&&this._renderTileClippingMasks(s)}for(r?(this._showOverdrawInspector||this.gl.disable(this.gl.BLEND),this.isOpaquePass=!0):(this.gl.enable(this.gl.BLEND),this.isOpaquePass=!1,s.reverse()),i=0;i<a.length;i++){var l=a[r?a.length-1-i:i];this.currentLayer+=r?-1:1,this.renderLayer(this,o,l,s)}o&&v.debug(this,o,s)}},n.prototype.depthMask=function(t){t!==this._depthMask&&(this._depthMask=t,this.gl.depthMask(t))},n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\\\"background\\\"===r.type||n.length)&&(this.id=r.id,v[r.type](t,e,r,n))},n.prototype.setDepthSublayer=function(t){var e=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,r=e-1+this.depthRange;this.gl.depthRange(r,e)},n.prototype.translatePosMatrix=function(t,e,r,n){if(!r[0]&&!r[1])return t;if(\\\"viewport\\\"===n){var i=Math.sin(-this.transform.angle),o=Math.cos(-this.transform.angle);r=[r[0]*o-r[1]*i,r[0]*i+r[1]*o]}var s=[u(e,r[0],this.transform.zoom),u(e,r[1],this.transform.zoom),0],l=new Float32Array(16);return a.translate(l,t,s),l},n.prototype.saveTexture=function(t){var e=this.reusableTextures[t.size];e?e.push(t):this.reusableTextures[t.size]=[t]},n.prototype.getTexture=function(t){var e=this.reusableTextures[t];return e&&e.length>0?e.pop():null},n.prototype.lineWidth=function(t){this.gl.lineWidth(c.clamp(t,this.lineWidthRange[0],this.lineWidthRange[1]))},n.prototype.showOverdrawInspector=function(t){if(t||this._showOverdrawInspector){this._showOverdrawInspector=t;var e=this.gl;if(t){e.blendFunc(e.CONSTANT_COLOR,e.ONE);e.blendColor(1/8,1/8,1/8,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)}else e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}}},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../source/pixels_to_tile_units\\\":362,\\\"../source/source_cache\\\":366,\\\"../util/browser\\\":425,\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"./create_uniform_pragmas\\\":343,\\\"./draw_background\\\":344,\\\"./draw_circle\\\":345,\\\"./draw_debug\\\":347,\\\"./draw_fill\\\":348,\\\"./draw_line\\\":349,\\\"./draw_raster\\\":350,\\\"./draw_symbol\\\":351,\\\"./frame_history\\\":352,\\\"./painter/use_program\\\":355,\\\"./vertex_array_object\\\":356,\\\"gl-matrix\\\":192}],355:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t.replace(/#pragma mapbox: ([\\\\w]+) ([\\\\w]+) ([\\\\w]+) ([\\\\w]+)/g,function(t,r,n,i,a){return e[r][a].replace(/{type}/g,i).replace(/{precision}/g,n)})}var i=t(\\\"assert\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"mapbox-gl-shaders\\\"),s=o.util;e.exports._createProgram=function(t,e,r,l){for(var u=this.gl,c=u.createProgram(),h=o[t],f=\\\"#define MAPBOX_GL_JS;\\\\n\\\",d=0;d<e.length;d++)f+=\\\"#define \\\"+e[d]+\\\";\\\\n\\\";var p=u.createShader(u.FRAGMENT_SHADER);u.shaderSource(p,n(f+h.fragmentSource,l)),u.compileShader(p),i(u.getShaderParameter(p,u.COMPILE_STATUS),u.getShaderInfoLog(p)),u.attachShader(c,p);var m=u.createShader(u.VERTEX_SHADER);u.shaderSource(m,n(f+s+h.vertexSource,r)),u.compileShader(m),i(u.getShaderParameter(m,u.COMPILE_STATUS),u.getShaderInfoLog(m)),u.attachShader(c,m),u.linkProgram(c),i(u.getProgramParameter(c,u.LINK_STATUS),u.getProgramInfoLog(c));for(var v={},g=u.getProgramParameter(c,u.ACTIVE_ATTRIBUTES),y=0;y<g;y++){var b=u.getActiveAttrib(c,y);v[b.name]=u.getAttribLocation(c,b.name)}for(var x={},_=u.getProgramParameter(c,u.ACTIVE_UNIFORMS),w=0;w<_;w++){var M=u.getActiveUniform(c,w);x[M.name]=u.getUniformLocation(c,M.name)}return a.extend({program:c,definition:h,attributes:v,numAttributes:g},v,x)},e.exports._createProgramCached=function(t,e,r,n){this.cache=this.cache||{};var i=JSON.stringify({name:t,defines:e,vertexPragmas:r,fragmentPragmas:n});return this.cache[i]||(this.cache[i]=this._createProgram(t,e,r,n)),this.cache[i]},e.exports.useProgram=function(t,e,r,n){var i=this.gl;e=e||[],this._showOverdrawInspector&&(e=e.concat(\\\"OVERDRAW_INSPECTOR\\\"));var a=this._createProgramCached(t,e,r,n);return this.currentProgram!==a&&(i.useProgram(a.program),this.currentProgram=a),a}},{\\\"../../util/util\\\":441,assert:46,\\\"mapbox-gl-shaders\\\":302}],356:[function(t,e,r){\\\"use strict\\\";function n(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.vao=null}var i=t(\\\"assert\\\");e.exports=n,n.prototype.bind=function(t,e,r,n,i){void 0===t.extVertexArrayObject&&(t.extVertexArrayObject=t.getExtension(\\\"OES_vertex_array_object\\\"));var a=!this.vao||this.boundProgram!==e||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==i||this.boundElementBuffer!==n;!t.extVertexArrayObject||a?this.freshBind(t,e,r,n,i):t.extVertexArrayObject.bindVertexArrayOES(this.vao)},n.prototype.freshBind=function(t,e,r,n,a){var o,s=e.numAttributes;if(t.extVertexArrayObject)this.vao&&this.destroy(t),this.vao=t.extVertexArrayObject.createVertexArrayOES(),t.extVertexArrayObject.bindVertexArrayOES(this.vao),o=0,this.boundProgram=e,this.boundVertexBuffer=r,this.boundVertexBuffer2=a,this.boundElementBuffer=n;else{o=t.currentNumAttributes||0;for(var l=s;l<o;l++)i(0!==l),t.disableVertexAttribArray(l)}for(var u=o;u<s;u++)t.enableVertexAttribArray(u);r.bind(t),r.setVertexAttribPointers(t,e),a&&(a.bind(t),a.setVertexAttribPointers(t,e)),n&&n.bind(t),t.currentNumAttributes=s},n.prototype.unbind=function(t){var e=t.extVertexArrayObject;e&&e.bindVertexArrayOES(null)},n.prototype.destroy=function(t){var e=t.extVertexArrayObject;e&&this.vao&&(e.deleteVertexArrayOES(this.vao),this.vao=null)}},{assert:46}],357:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){e=e||{},this.id=t,this.dispatcher=r,this._data=e.data,void 0!==e.maxzoom&&(this.maxzoom=e.maxzoom),e.type&&(this.type=e.type);var n=s/this.tileSize;this.workerOptions=a.extend({source:this.id,cluster:e.cluster||!1,geojsonVtOptions:{buffer:(void 0!==e.buffer?e.buffer:128)*n,tolerance:(void 0!==e.tolerance?e.tolerance:.375)*n,extent:s,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:Math.min(e.clusterMaxZoom,this.maxzoom-1)||this.maxzoom-1,extent:s,radius:(e.clusterRadius||50)*n,log:!1}},e.workerOptions),this._updateWorkerData(function(t){if(t)return void this.fire(\\\"error\\\",{error:t});this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/evented\\\"),a=t(\\\"../util/util\\\"),o=t(\\\"resolve-url\\\"),s=t(\\\"../data/bucket\\\").EXTENT;e.exports=n,n.prototype=a.inherit(i,{type:\\\"geojson\\\",minzoom:0,maxzoom:18,tileSize:512,isTileClipped:!0,reparseOverscaled:!0,onAdd:function(t){this.map=t},setData:function(t){return this._data=t,this._updateWorkerData(function(t){if(t)return this.fire(\\\"error\\\",{error:t});this.fire(\\\"change\\\")}.bind(this)),this},_updateWorkerData:function(t){var e=a.extend({},this.workerOptions),r=this._data;\\\"string\\\"==typeof r?e.url=\\\"undefined\\\"!=typeof window?o(window.location.href,r):r:e.data=JSON.stringify(r),this.workerID=this.dispatcher.send(this.type+\\\".loadData\\\",e,function(e){this._loaded=!0,t(e)}.bind(this))},loadTile:function(t,e){var r=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,n={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:r,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\\\"load tile\\\",n,function(r,n){if(t.unloadVectorData(this.map.painter),!t.aborted)return r?e(r):(t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null))}.bind(this),this.workerID)},abortTile:function(t){t.aborted=!0},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\\\"remove tile\\\",{uid:t.uid,source:this.id},function(){},t.workerID)},serialize:function(){return{type:this.type,data:this._data}}})},{\\\"../data/bucket\\\":328,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"resolve-url\\\":500}],358:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r&&(this.loadGeoJSON=r),h.call(this,t,e)}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/ajax\\\"),o=t(\\\"geojson-rewind\\\"),s=t(\\\"./geojson_wrapper\\\"),l=t(\\\"vt-pbf\\\"),u=t(\\\"supercluster\\\"),c=t(\\\"geojson-vt\\\"),h=t(\\\"./vector_tile_worker_source\\\");e.exports=n,n.prototype=i.inherit(h,{_geoJSONIndexes:{},loadVectorData:function(t,e){var r=t.source,n=t.coord;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(Math.min(n.z,t.maxZoom),n.x,n.y);if(!i)return e(null,null);var a=new s(i.features);a.name=\\\"_geojsonTileLayer\\\";var o=l({layers:{_geojsonTileLayer:a}});0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{tile:a,rawTileData:o.buffer})},loadData:function(t,e){var r=function(r,n){return r?e(r):\\\"object\\\"!=typeof n?e(new Error(\\\"Input data is not a valid GeoJSON object.\\\")):(o(n,!0),void this._indexData(n,t,function(r,n){if(r)return e(r);this._geoJSONIndexes[t.source]=n,e(null)}.bind(this)))}.bind(this);this.loadGeoJSON(t,r)},loadGeoJSON:function(t,e){if(t.url)a.getJSON(t.url,e);else{if(\\\"string\\\"!=typeof t.data)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"))}}},_indexData:function(t,e,r){try{e.cluster?r(null,u(e.superclusterOptions).load(t.features)):r(null,c(t,e.geojsonVtOptions))}catch(t){return r(t)}}})},{\\\"../util/ajax\\\":424,\\\"../util/util\\\":441,\\\"./geojson_wrapper\\\":359,\\\"./vector_tile_worker_source\\\":370,\\\"geojson-rewind\\\":137,\\\"geojson-vt\\\":141,supercluster:528,\\\"vt-pbf\\\":555}],359:[function(t,e,r){\\\"use strict\\\";function n(t){this.features=t,this.length=t.length,this.extent=s}function i(t){if(this.type=t.type,1===t.type){this.rawGeometry=[];for(var e=0;e<t.geometry.length;e++)this.rawGeometry.push([t.geometry[e]])}else this.rawGeometry=t.geometry;this.properties=t.tags,this.extent=s}var a=t(\\\"point-geometry\\\"),o=t(\\\"vector-tile\\\").VectorTileFeature,s=t(\\\"../data/bucket\\\").EXTENT;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"../data/bucket\\\":328,\\\"point-geometry\\\":483,\\\"vector-tile\\\":549}],360:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.id=t,this.dispatcher=r,this.url=e.url,this.coordinates=e.coordinates,u.getImage(e.url,function(t,r){if(t)return this.fire(\\\"error\\\",{error:t});this.image=r,this.image.addEventListener(\\\"load\\\",function(){this.map._rerender()}.bind(this)),this._loaded=!0,this.fire(\\\"load\\\"),this.map&&this.setCoordinates(e.coordinates)}.bind(this))}var i=t(\\\"../util/util\\\"),a=t(\\\"./tile_coord\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"point-geometry\\\"),l=t(\\\"../util/evented\\\"),u=t(\\\"../util/ajax\\\"),c=t(\\\"../data/bucket\\\").EXTENT,h=t(\\\"../render/draw_raster\\\").RasterBoundsArray,f=t(\\\"../data/buffer\\\"),d=t(\\\"../render/vertex_array_object\\\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,onAdd:function(t){this.map=t,this.image&&this.setCoordinates(this.coordinates)},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\\\"change\\\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new h;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new f(e.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\\\"loaded\\\"},prepare:function(){if(this._loaded&&this.image&&this.image.complete&&this.tile){var t=this.map.painter,e=t.gl;this._prepared?(e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)):(this.tile.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.tile.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),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.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image))}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\\\"errored\\\",e(null))},serialize:function(){return{type:\\\"image\\\",urls:this.url,coordinates:this.coordinates}}})},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../geo/lng_lat\\\":338,\\\"../render/draw_raster\\\":350,\\\"../render/vertex_array_object\\\":356,\\\"../util/ajax\\\":424,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./tile_coord\\\":368,\\\"point-geometry\\\":483}],361:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/mapbox\\\").normalizeSourceURL;e.exports=function(t,e){var r=function(t,r){if(t)return e(t);var i=n.pick(r,[\\\"tiles\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"attribution\\\"]);r.vector_layers&&(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),e(null,i)};t.url?i.getJSON(o(t.url),r):a.frame(r.bind(null,null,t))}},{\\\"../util/ajax\\\":424,\\\"../util/browser\\\":425,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441}],362:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../data/bucket\\\");e.exports=function(t,e,r){return e*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.coord.z)))}},{\\\"../data/bucket\\\":328}],363:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.coord,n=e.coord;return r.z-n.z||r.y-n.y||r.w-n.w||r.x-n.x}function i(t){for(var e=t[0]||{},r=1;r<t.length;r++){var n=t[r];for(var i in n){var a=n[i],o=e[i];if(void 0===o)o=e[i]=a;else for(var s=0;s<a.length;s++)o.push(a[s])}}return e}var a=t(\\\"./tile_coord\\\");r.rendered=function(t,e,r,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0;c<l.length;c++){var h=l[c];h.tile.featureIndex&&u.push(h.tile.featureIndex.query({queryGeometry:h.queryGeometry,scale:h.scale,tileSize:h.tile.tileSize,bearing:s,params:a},e))}return i(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},o=0;o<r.length;o++){var s=r[o],l=new a(Math.min(s.sourceMaxZoom,s.coord.z),s.coord.x,s.coord.y,0).id;i[l]||(i[l]=!0,s.querySourceFeatures(n,e))}return n}},{\\\"./tile_coord\\\":368}],364:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.id=t,this.dispatcher=r,i.extend(this,i.pick(e,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),s(e,function(t,e){if(t)return this.fire(\\\"error\\\",t);i.extend(this,e),this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/ajax\\\"),o=t(\\\"../util/evented\\\"),s=t(\\\"./load_tilejson\\\"),l=t(\\\"../util/mapbox\\\").normalizeTileURL;e.exports=n,n.prototype=i.inherit(o,{minzoom:0,maxzoom:22,roundZoom:!0,scheme:\\\"xyz\\\",tileSize:512,_loaded:!1,onAdd:function(t){this.map=t},serialize:function(){return{type:\\\"raster\\\",url:this.url,tileSize:this.tileSize}},loadTile:function(t,e){function r(r,n){if(delete t.request,!t.aborted){if(r)return e(r);var i=this.map.painter.gl;t.texture=this.map.painter.getTexture(n.width),t.texture?(i.bindTexture(i.TEXTURE_2D,t.texture),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n)):(t.texture=i.createTexture(),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR_MIPMAP_NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),t.texture.size=n.width),i.generateMipmap(i.TEXTURE_2D),this.map.animationLoop.set(this.map.style.rasterFadeDuration),t.state=\\\"loaded\\\",e(null)}}var n=l(t.coord.url(this.tiles,null,this.scheme),this.url,this.tileSize);t.request=a.getImage(n,r.bind(this))},abortTile:function(t){t.request&&(t.request.abort(),delete t.request)},unloadTile:function(t){t.texture&&this.map.painter.saveTexture(t.texture)}})},{\\\"../util/ajax\\\":424,\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441,\\\"./load_tilejson\\\":361}],365:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/util\\\"),i={vector:t(\\\"../source/vector_tile_source\\\"),raster:t(\\\"../source/raster_tile_source\\\"),geojson:t(\\\"../source/geojson_source\\\"),video:t(\\\"../source/video_source\\\"),image:t(\\\"../source/image_source\\\")};r.create=function(t,e,r){if(e=new i[e.type](t,e,r),e.id!==t)throw new Error(\\\"Expected Source id to be \\\"+t+\\\" instead of \\\"+e.id);return n.bindAll([\\\"load\\\",\\\"abort\\\",\\\"unload\\\",\\\"serialize\\\",\\\"prepare\\\"],e),e},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\\\"../source/geojson_source\\\":357,\\\"../source/image_source\\\":360,\\\"../source/raster_tile_source\\\":364,\\\"../source/vector_tile_source\\\":369,\\\"../source/video_source\\\":371,\\\"../util/util\\\":441}],366:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.id=t,this.dispatcher=r;var n=this._source=o.create(t,e,r).on(\\\"load\\\",function(){this.map&&this._source.onAdd&&this._source.onAdd(this.map),this._sourceLoaded=!0,this.tileSize=n.tileSize,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,this.roundZoom=n.roundZoom,this.reparseOverscaled=n.reparseOverscaled,this.isTileClipped=n.isTileClipped,this.attribution=n.attribution,this.vectorLayerIds=n.vectorLayerIds,this.fire(\\\"load\\\")}.bind(this)).on(\\\"error\\\",function(t){this._sourceErrored=!0,this.fire(\\\"error\\\",t)}.bind(this)).on(\\\"change\\\",function(){this.reload(),this.transform&&this.update(this.transform,this.map&&this.map.style.rasterFadeDuration),this.fire(\\\"change\\\")}.bind(this));this._tiles={},this._cache=new c(0,this.unloadTile.bind(this)),this._isIdRenderable=this._isIdRenderable.bind(this)}function i(t,e,r){var n=r.zoomTo(Math.min(t.z,e));return{x:(n.column-(t.x+t.w*Math.pow(2,t.z)))*d,y:(n.row-t.y)*d}}function a(t,e){return t%32-e%32}var o=t(\\\"./source\\\"),s=t(\\\"./tile\\\"),l=t(\\\"../util/evented\\\"),u=t(\\\"./tile_coord\\\"),c=t(\\\"../util/lru_cache\\\"),h=t(\\\"../geo/coordinate\\\"),f=t(\\\"../util/util\\\"),d=t(\\\"../data/bucket\\\").EXTENT;e.exports=n,n.maxOverzooming=10,n.maxUnderzooming=3,n.prototype=f.inherit(l,{onAdd:function(t){this.map=t,this._source&&this._source.onAdd&&this._source.onAdd(t)},loaded:function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\\\"loaded\\\"!==e.state&&\\\"errored\\\"!==e.state)return!1}return!0},getSource:function(){return this._source},loadTile:function(t,e){return this._source.loadTile(t,e)},unloadTile:function(t){if(this._source.unloadTile)return this._source.unloadTile(t)},abortTile:function(t){if(this._source.abortTile)return this._source.abortTile(t)},serialize:function(){return this._source.serialize()},prepare:function(){if(this._sourceLoaded&&this._source.prepare)return this._source.prepare()},getIds:function(){return Object.keys(this._tiles).map(Number).sort(a)},getRenderableIds:function(){return this.getIds().filter(this._isIdRenderable)},_isIdRenderable:function(t){return this._tiles[t].isRenderable()&&!this._coveredTiles[t]},reload:function(){this._cache.reset();for(var t in this._tiles){var e=this._tiles[t];\\\"loading\\\"!==e.state&&(e.state=\\\"reloading\\\"),this.loadTile(this._tiles[t],this._tileLoaded.bind(this,this._tiles[t]))}},_tileLoaded:function(t,e){if(e)return t.state=\\\"errored\\\",this.fire(\\\"tile.error\\\",{tile:t,error:e}),void this._source.fire(\\\"tile.error\\\",{tile:t,error:e});t.source=this,t.timeAdded=(new Date).getTime(),this.fire(\\\"tile.load\\\",{tile:t}),this._source.fire(\\\"tile.load\\\",{tile:t})},getTile:function(t){return this.getTileByID(t.id)},getTileByID:function(t){return this._tiles[t]},getZoom:function(t){return t.zoom+t.scaleZoom(t.tileSize/this.tileSize)},findLoadedChildren:function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.isRenderable()||a.coord.z<=t.z||a.coord.z>e)){var o=Math.pow(2,Math.min(a.coord.z,this.maxzoom)-Math.min(t.z,this.maxzoom));if(Math.floor(a.coord.x/o)===t.x&&Math.floor(a.coord.y/o)===t.y)for(r[i]=!0,n=!0;a&&a.coord.z-1>t.z;){var s=a.coord.parent(this.maxzoom).id;a=this._tiles[s],a&&a.isRenderable()&&(delete r[i],r[s]=!0)}}}return n},findLoadedParent:function(t,e,r){for(var n=t.z-1;n>=e;n--){t=t.parent(this.maxzoom);var i=this._tiles[t.id];if(i&&i.isRenderable())return r[t.id]=!0,i;if(this._cache.has(t.id))return this.addTile(t),r[t.id]=!0,this._tiles[t.id]}},updateCacheSize:function(t){var e=Math.ceil(t.width/t.tileSize)+1,r=Math.ceil(t.height/t.tileSize)+1,n=e*r;this._cache.setMaxSize(Math.floor(5*n))},update:function(t,e){if(this._sourceLoaded){var r,i,a;this.updateCacheSize(t);var o=(this.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-n.maxOverzooming,this.minzoom),l=Math.max(o+n.maxUnderzooming,this.minzoom),c={},h=(new Date).getTime();this._coveredTiles={};var d=this.used?t.coveringTiles(this._source):[];for(r=0;r<d.length;r++)i=d[r],a=this.addTile(i),c[i.id]=!0,a.isRenderable()||this.findLoadedChildren(i,l,c)||this.findLoadedParent(i,s,c);for(var p={},m=Object.keys(c),v=0;v<m.length;v++){var g=m[v];i=u.fromID(g),a=this._tiles[g],a&&a.timeAdded>h-(e||0)&&(this.findLoadedChildren(i,l,c)&&(c[g]=!0),this.findLoadedParent(i,s,p))}var y;for(y in p)c[y]||(this._coveredTiles[y]=!0);for(y in p)c[y]=!0;var b=f.keysDifference(this._tiles,c);for(r=0;r<b.length;r++)this.removeTile(+b[r]);this.transform=t}},addTile:function(t){var e=this._tiles[t.id];if(e)return e;var r=t.wrapped()\\n\",\n       \";if(e=this._tiles[r.id],e||(e=this._cache.get(r.id))&&this._redoPlacement&&this._redoPlacement(e),!e){var n=t.z,i=n>this.maxzoom?Math.pow(2,n-this.maxzoom):1;e=new s(r,this.tileSize*i,this.maxzoom),this.loadTile(e,this._tileLoaded.bind(this,e))}return e.uses++,this._tiles[t.id]=e,this.fire(\\\"tile.add\\\",{tile:e}),this._source.fire(\\\"tile.add\\\",{tile:e}),e},removeTile:function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this.fire(\\\"tile.remove\\\",{tile:e}),this._source.fire(\\\"tile.remove\\\",{tile:e}),e.uses>0||(e.isRenderable()?this._cache.add(e.coord.wrapped().id,e):(e.aborted=!0,this.abortTile(e),this.unloadTile(e))))},clearTiles:function(){for(var t in this._tiles)this.removeTile(t);this._cache.reset()},tilesIn:function(t){for(var e={},r=this.getIds(),n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,c=0;c<t.length;c++){var f=t[c];n=Math.min(n,f.column),a=Math.min(a,f.row),o=Math.max(o,f.column),s=Math.max(s,f.row)}for(var p=0;p<r.length;p++){var m=this._tiles[r[p]],v=u.fromID(r[p]),g=[i(v,m.sourceMaxZoom,new h(n,a,l)),i(v,m.sourceMaxZoom,new h(o,s,l))];if(g[0].x<d&&g[0].y<d&&g[1].x>=0&&g[1].y>=0){for(var y=[],b=0;b<t.length;b++)y.push(i(v,m.sourceMaxZoom,t[b]));var x=e[m.coord.id];void 0===x&&(x=e[m.coord.id]={tile:m,coord:v,queryGeometry:[],scale:Math.pow(2,this.transform.zoom-m.coord.z)}),x.queryGeometry.push(y)}}var _=[];for(var w in e)_.push(e[w]);return _},redoPlacement:function(){for(var t=this.getIds(),e=0;e<t.length;e++){this.getTileByID(t[e]).redoPlacement(this)}},getVisibleCoordinates:function(){return this.getRenderableIds().map(u.fromID)}})},{\\\"../data/bucket\\\":328,\\\"../geo/coordinate\\\":337,\\\"../util/evented\\\":433,\\\"../util/lru_cache\\\":437,\\\"../util/util\\\":441,\\\"./source\\\":365,\\\"./tile\\\":367,\\\"./tile_coord\\\":368}],367:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.coord=t,this.uid=a.uniqueId(),this.uses=0,this.tileSize=e,this.sourceMaxZoom=r,this.buckets={},this.state=\\\"loading\\\"}function i(t,e){if(e){for(var r={},n=0;n<t.length;n++){var i=e.getLayer(t[n].layerId);if(i){var s=o.create(a.extend({layer:i,childLayers:t[n].childLayerIds.map(e.getLayer.bind(e)).filter(function(t){return t})},t[n]));r[s.id]=s}}return r}}var a=t(\\\"../util/util\\\"),o=t(\\\"../data/bucket\\\"),s=t(\\\"../data/feature_index\\\"),l=t(\\\"vector-tile\\\"),u=t(\\\"pbf\\\"),c=t(\\\"../util/vectortile_to_geojson\\\"),h=t(\\\"feature-filter\\\"),f=t(\\\"../symbol/collision_tile\\\"),d=t(\\\"../symbol/collision_box\\\"),p=t(\\\"../symbol/symbol_instances\\\"),m=t(\\\"../symbol/symbol_quads\\\");e.exports=n,n.prototype={loadVectorData:function(t,e){this.state=\\\"loaded\\\",t&&(this.collisionBoxArray=new d(t.collisionBoxArray),this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.symbolInstancesArray=new p(t.symbolInstancesArray),this.symbolQuadsArray=new m(t.symbolQuadsArray),this.featureIndex=new s(t.featureIndex,t.rawTileData,this.collisionTile),this.rawTileData=t.rawTileData,this.buckets=i(t.buckets,e))},reloadSymbolData:function(t,e,r){if(\\\"unloaded\\\"!==this.state){this.collisionTile=new f(t.collisionTile,this.collisionBoxArray),this.featureIndex.setCollisionTile(this.collisionTile);for(var n in this.buckets){var o=this.buckets[n];\\\"symbol\\\"===o.type&&(o.destroy(e.gl),delete this.buckets[n])}a.extend(this.buckets,i(t.buckets,r))}},unloadVectorData:function(t){for(var e in this.buckets){this.buckets[e].destroy(t.gl)}this.collisionBoxArray=null,this.symbolQuadsArray=null,this.symbolInstancesArray=null,this.collisionTile=null,this.featureIndex=null,this.rawTileData=null,this.buckets=null,this.state=\\\"unloaded\\\"},redoPlacement:function(t){function e(e,r){this.reloadSymbolData(r,t.map.painter,t.map.style),t.fire(\\\"tile.load\\\",{tile:this}),this.state=\\\"loaded\\\",this.redoWhenDone&&(this.redoPlacement(t),this.redoWhenDone=!1)}if(\\\"loaded\\\"!==this.state||\\\"reloading\\\"===this.state)return void(this.redoWhenDone=!0);this.state=\\\"reloading\\\",t.dispatcher.send(\\\"redo placement\\\",{uid:this.uid,source:t.id,angle:t.map.transform.angle,pitch:t.map.transform.pitch,showCollisionBoxes:t.map.showCollisionBoxes},e.bind(this),this.workerID)},getBucket:function(t){return this.buckets&&this.buckets[t.ref||t.id]},querySourceFeatures:function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new l.VectorTile(new u(new Uint8Array(this.rawTileData))).layers);var r=this.vtLayers._geojsonTileLayer||this.vtLayers[e.sourceLayer];if(r)for(var n=h(e.filter),i={z:this.coord.z,x:this.coord.x,y:this.coord.y},a=0;a<r.length;a++){var o=r.feature(a);if(n(o)){var s=new c(o,this.coord.z,this.coord.x,this.coord.y);s.tile=i,t.push(s)}}}},isRenderable:function(){return\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state}}},{\\\"../data/bucket\\\":328,\\\"../data/feature_index\\\":335,\\\"../symbol/collision_box\\\":393,\\\"../symbol/collision_tile\\\":395,\\\"../symbol/symbol_instances\\\":404,\\\"../symbol/symbol_quads\\\":405,\\\"../util/util\\\":441,\\\"../util/vectortile_to_geojson\\\":442,\\\"feature-filter\\\":131,pbf:477,\\\"vector-tile\\\":549}],368:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){l(!isNaN(t)&&t>=0&&t%1==0),l(!isNaN(e)&&e>=0&&e%1==0),l(!isNaN(r)&&r>=0&&r%1==0),isNaN(n)&&(n=0),this.z=+t,this.x=+e,this.y=+r,this.w=+n,(n*=2)<0&&(n=-1*n-1);var i=1<<this.z;this.id=32*(i*i*n+i*this.y+this.x)+this.z,this.posMatrix=null}function i(t,e,r){for(var n,i=\\\"\\\",a=t;a>0;a--)n=1<<a-1,i+=(e&n?1:0)+(r&n?2:0);return i}function a(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function o(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,u=e.dx/e.dy,c=t.dx>0,h=e.dx<0,f=a;f<o;f++){var d=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,p=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(p),Math.ceil(d),f)}}function s(t,e,r,n,i,s){var l,u=a(t,e),c=a(e,r),h=a(r,t);u.dy>c.dy&&(l=u,u=c,c=l),u.dy>h.dy&&(l=u,u=h,h=l),c.dy>h.dy&&(l=c,c=h,h=l),u.dy&&o(h,u,n,i,s),c.dy&&o(h,c,n,i,s)}var l=t(\\\"assert\\\"),u=t(\\\"whoots-js\\\"),c=t(\\\"../geo/coordinate\\\");e.exports=n,n.prototype.toString=function(){return this.z+\\\"/\\\"+this.x+\\\"/\\\"+this.y},n.prototype.toCoordinate=function(t){var e=Math.min(this.z,t),r=Math.pow(2,e),n=this.y,i=this.x+r*this.w;return new c(i,n,e)},n.fromID=function(t){var e=t%32,r=1<<e,i=(t-e)/32,a=i%r,o=(i-a)/r%r,s=Math.floor(i/(r*r));return s%2!=0&&(s=-1*s-1),s/=2,new n(e,a,o,s)},n.prototype.url=function(t,e,r){var n=u.getTileBBox(this.x,this.y,this.z),a=i(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}\\\",Math.min(this.z,e||this.z)).replace(\\\"{x}\\\",this.x).replace(\\\"{y}\\\",\\\"tms\\\"===r?Math.pow(2,this.z)-this.y-1:this.y).replace(\\\"{quadkey}\\\",a).replace(\\\"{bbox-epsg-3857}\\\",n)},n.prototype.parent=function(t){return 0===this.z?null:this.z>t?new n(this.z-1,this.x,this.y,this.w):new n(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},n.prototype.wrapped=function(){return new n(this.z,this.x,this.y,0)},n.prototype.children=function(t){if(this.z>=t)return[new n(this.z+1,this.x,this.y,this.w)];var e=this.z+1,r=2*this.x,i=2*this.y;return[new n(e,r,i,this.w),new n(e,r+1,i,this.w),new n(e,r,i+1,this.w),new n(e,r+1,i+1,this.w)]},n.cover=function(t,e,r){function i(t,e,i){var s,l,u;if(i>=0&&i<=a)for(s=t;s<e;s++)l=(s%a+a)%a,u=new n(r,l,i,Math.floor(s/a)),o[u.id]=u}var a=1<<t,o={};return s(e[0],e[1],e[2],0,a,i),s(e[2],e[3],e[0],0,a,i),Object.keys(o).map(function(t){return o[t]})}},{\\\"../geo/coordinate\\\":337,assert:46,\\\"whoots-js\\\":565}],369:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(this.id=t,this.dispatcher=r,a.extend(this,a.pick(e,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),this._options=a.extend({type:\\\"vector\\\"},e),512!==this.tileSize)throw new Error(\\\"vector tile sources must have a tileSize of 512\\\");o(e,function(t,e){if(t)return void this.fire(\\\"error\\\",t);a.extend(this,e),this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/evented\\\"),a=t(\\\"../util/util\\\"),o=t(\\\"./load_tilejson\\\"),s=t(\\\"../util/mapbox\\\").normalizeTileURL;e.exports=n,n.prototype=a.inherit(i,{minzoom:0,maxzoom:22,scheme:\\\"xyz\\\",tileSize:512,reparseOverscaled:!0,isTileClipped:!0,onAdd:function(t){this.map=t},serialize:function(){return a.extend({},this._options)},loadTile:function(t,e){function r(r,n){if(!t.aborted){if(r)return e(r);t.loadVectorData(n,this.map.style),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(this)),e(null),t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)}}var n=t.coord.z>this.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,i={url:s(t.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:t.uid,coord:t.coord,zoom:t.coord.z,tileSize:this.tileSize*n,source:this.id,overscaling:n,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID?\\\"loading\\\"===t.state?t.reloadCallback=e:(i.rawTileData=t.rawTileData,this.dispatcher.send(\\\"reload tile\\\",i,r.bind(this),t.workerID)):t.workerID=this.dispatcher.send(\\\"load tile\\\",i,r.bind(this))},abortTile:function(t){this.dispatcher.send(\\\"abort tile\\\",{uid:t.uid,source:this.id},null,t.workerID)},unloadTile:function(t){t.unloadVectorData(this.map.painter),this.dispatcher.send(\\\"remove tile\\\",{uid:t.uid,source:this.id},null,t.workerID)}})},{\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441,\\\"./load_tilejson\\\":361}],370:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.actor=t,this.styleLayers=e,r&&(this.loadVectorData=r),this.loading={},this.loaded={}}var i=t(\\\"../util/ajax\\\"),a=t(\\\"vector-tile\\\"),o=t(\\\"pbf\\\"),s=t(\\\"./worker_tile\\\");e.exports=n,n.prototype={loadTile:function(t,e){function r(t,r){return delete this.loading[n][i],t?e(t):r?(a.data=r.tile,a.parse(a.data,this.styleLayers.getLayerFamilies(),this.actor,r.rawTileData,e),this.loaded[n]=this.loaded[n]||{},void(this.loaded[n][i]=a)):e(null,null)}var n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,r.bind(this))},reloadTile:function(t,e){var r=this.loaded[t.source],n=t.uid;if(r&&r[n]){var i=r[n];i.parse(i.data,this.styleLayers.getLayerFamilies(),this.actor,t.rawTileData,e)}},abortTile:function(t){var e=this.loading[t.source],r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort(),delete e[r])},removeTile:function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},loadVectorData:function(t,e){function r(t,r){if(t)return e(t);var n=new a.VectorTile(new o(new Uint8Array(r)));e(t,{tile:n,rawTileData:r})}var n=i.getArrayBuffer(t.url,r.bind(this));return function(){n.abort()}},redoPlacement:function(t,e){var r=this.loaded[t.source],n=this.loading[t.source],i=t.uid;if(r&&r[i]){var a=r[i],o=a.redoPlacement(t.angle,t.pitch,t.showCollisionBoxes);o.result&&e(null,o.result,o.transferables)}else n&&n[i]&&(n[i].angle=t.angle)}}},{\\\"../util/ajax\\\":424,\\\"./worker_tile\\\":373,pbf:477,\\\"vector-tile\\\":549}],371:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.id=t,this.urls=e.urls,this.coordinates=e.coordinates,u.getVideo(e.urls,function(t,r){if(t)return this.fire(\\\"error\\\",{error:t});this.video=r,this.video.loop=!0;var n;this.video.addEventListener(\\\"playing\\\",function(){n=this.map.style.animationLoop.set(1/0),this.map._rerender()}.bind(this)),this.video.addEventListener(\\\"pause\\\",function(){this.map.style.animationLoop.cancel(n)}.bind(this)),this.map&&(this.video.play(),this.setCoordinates(e.coordinates)),this.fire(\\\"load\\\")}.bind(this))}var i=t(\\\"../util/util\\\"),a=t(\\\"./tile_coord\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"point-geometry\\\"),l=t(\\\"../util/evented\\\"),u=t(\\\"../util/ajax\\\"),c=t(\\\"../data/bucket\\\").EXTENT,h=t(\\\"../render/draw_raster\\\").RasterBoundsArray,f=t(\\\"../data/buffer\\\"),d=t(\\\"../render/vertex_array_object\\\");e.exports=n,n.prototype=i.inherit(l,{minzoom:0,maxzoom:22,tileSize:512,roundZoom:!0,getVideo:function(){return this.video},onAdd:function(t){this.map||(this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},setCoordinates:function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(o.convert(t)).zoomTo(0)}),n=this.centerCoord=i.getCoordinatesCenter(r);return n.column=Math.round(n.column),n.row=Math.round(n.row),this.minzoom=this.maxzoom=n.zoom,this._coord=new a(n.zoom,n.column,n.row),this._tileCoords=r.map(function(t){var e=t.zoomTo(n.zoom);return new s(Math.round((e.column-n.column)*c),Math.round((e.row-n.row)*c))}),this.fire(\\\"change\\\"),this},_setTile:function(t){this._prepared=!1,this.tile=t;var e=new h;e.emplaceBack(this._tileCoords[0].x,this._tileCoords[0].y,0,0),e.emplaceBack(this._tileCoords[1].x,this._tileCoords[1].y,32767,0),e.emplaceBack(this._tileCoords[3].x,this._tileCoords[3].y,0,32767),e.emplaceBack(this._tileCoords[2].x,this._tileCoords[2].y,32767,32767),this.tile.buckets={},this.tile.boundsBuffer=new f(e.serialize(),h.serialize(),f.BufferType.VERTEX),this.tile.boundsVAO=new d,this.tile.state=\\\"loaded\\\"},prepare:function(){if(!(this.video.readyState<2)&&this.tile){var t=this.map.painter.gl;this._prepared?(t.bindTexture(t.TEXTURE_2D,this.tile.texture),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this._prepared=!0,this.tile.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.tile.texture),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),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,this.video)),this._currentTime=this.video.currentTime}},loadTile:function(t,e){this._coord&&this._coord.toString()===t.coord.toString()?(this._setTile(t),e(null)):(t.state=\\\"errored\\\",e(null))},serialize:function(){return{type:\\\"video\\\",urls:this.urls,coordinates:this.coordinates}}})},{\\\"../data/bucket\\\":328,\\\"../data/buffer\\\":333,\\\"../geo/lng_lat\\\":338,\\\"../render/draw_raster\\\":350,\\\"../render/vertex_array_object\\\":356,\\\"../util/ajax\\\":424,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./tile_coord\\\":368,\\\"point-geometry\\\":483}],372:[function(t,e,r){\\\"use strict\\\";function n(t){this.self=t,this.actor=new a(t,this);var e={getLayers:function(){return this.layers}.bind(this),getLayerFamilies:function(){return this.layerFamilies}.bind(this)};this.workerSources={vector:new l(this.actor,e),geojson:new u(this.actor,e)},this.self.registerWorkerSource=function(t,r){if(this.workerSources[t])throw new Error('Worker source with name \\\"'+t+'\\\" already registered.');this.workerSources[t]=new r(this.actor,e)}.bind(this)}function i(t){var e={};for(var r in t){var n=t[r],i=n.ref||n.id,a=t[i];a.layout&&\\\"none\\\"===a.layout.visibility||(e[i]=e[i]||[],r===i?e[i].unshift(n):e[i].push(n))}return e}var a=t(\\\"../util/actor\\\"),o=t(\\\"../style/style_layer\\\"),s=t(\\\"../util/util\\\"),l=t(\\\"./vector_tile_worker_source\\\"),u=t(\\\"./geojson_worker_source\\\");e.exports=function(t){return new n(t)},s.extend(n.prototype,{\\\"set layers\\\":function(t){function e(t){var e=o.create(t,t.ref&&r.layers[t.ref]);e.updatePaintTransitions({},{transition:!1}),r.layers[e.id]=e}this.layers={};for(var r=this,n=[],a=0;a<t.length;a++){var s=t[a];\\\"fill\\\"!==s.type&&\\\"line\\\"!==s.type&&\\\"circle\\\"!==s.type&&\\\"symbol\\\"!==s.type||(s.ref?n.push(a):e(s))}for(var l=0;l<n.length;l++)e(t[n[l]]);this.layerFamilies=i(this.layers)},\\\"update layers\\\":function(t){function e(t){var e=a.layers[t.ref];a.layers[t.id]?a.layers[t.id].set(t,e):a.layers[t.id]=o.create(t,e),a.layers[t.id].updatePaintTransitions({},{transition:!1})}var r,n,a=this;for(r in t)n=t[r],n.ref&&e(n);for(r in t)n=t[r],n.ref||e(n);this.layerFamilies=i(this.layers)},\\\"load tile\\\":function(t,e){var r=t.type||\\\"vector\\\";this.workerSources[r].loadTile(t,e)},\\\"reload tile\\\":function(t,e){var r=t.type||\\\"vector\\\";this.workerSources[r].reloadTile(t,e)},\\\"abort tile\\\":function(t){var e=t.type||\\\"vector\\\";this.workerSources[e].abortTile(t)},\\\"remove tile\\\":function(t){var e=t.type||\\\"vector\\\";this.workerSources[e].removeTile(t)},\\\"redo placement\\\":function(t,e){var r=t.type||\\\"vector\\\";this.workerSources[r].redoPlacement(t,e)},\\\"load worker source\\\":function(t,e){try{this.self.importScripts(t.url),e()}catch(t){e(t)}}})},{\\\"../style/style_layer\\\":380,\\\"../util/actor\\\":423,\\\"../util/util\\\":441,\\\"./geojson_worker_source\\\":358,\\\"./vector_tile_worker_source\\\":370}],373:[function(t,e,r){\\\"use strict\\\";function n(t){this.coord=t.coord,this.uid=t.uid,this.zoom=t.zoom,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.angle=t.angle,this.pitch=t.pitch,this.showCollisionBoxes=t.showCollisionBoxes}function i(t){return!t.isEmpty()}function a(t){return t.serialize()}function o(t){var e=[];for(var r in t)t[r].getTransferables(e);return e}function s(t){return t.id}var l=t(\\\"../data/feature_index\\\"),u=t(\\\"../symbol/collision_tile\\\"),c=t(\\\"../data/bucket\\\"),h=t(\\\"../symbol/collision_box\\\"),f=t(\\\"../util/dictionary_coder\\\"),d=t(\\\"../util/util\\\"),p=t(\\\"../symbol/symbol_instances\\\"),m=t(\\\"../symbol/symbol_quads\\\");e.exports=n,n.prototype.parse=function(t,e,r,n,v){function g(t,e){for(var r=0;r<t.length;r++){var n=t.feature(r);n.index=r;for(var i in e)e[i].filter(n)&&e[i].features.push(n)}}function y(t){if(t)return v(t);if(2===++N){for(var e=P.length-1;e>=0;e--)b(E,P[e]);x()}}function b(t,e){if(e.populateArrays(A,j,F),\\\"symbol\\\"!==e.type)for(var r=0;r<e.features.length;r++){var n=e.features[r];T.insert(n,n.index,e.sourceLayerIndex,e.index)}e.features=null}function x(){E.status=\\\"done\\\",E.redoPlacementAfterDone&&(E.redoPlacement(E.angle,E.pitch,null),E.redoPlacementAfterDone=!1);var t=T.serialize(),e=A.serialize(),r=E.collisionBoxArray.serialize(),s=E.symbolInstancesArray.serialize(),l=E.symbolQuadsArray.serialize(),u=[n].concat(t.transferables).concat(e.transferables),c=D.filter(i);v(null,{buckets:c.map(a),featureIndex:t.data,collisionTile:e.data,collisionBoxArray:r,symbolInstancesArray:s,symbolQuadsArray:l,rawTileData:n},o(c).concat(u))}this.status=\\\"parsing\\\",this.data=t,this.collisionBoxArray=new h,this.symbolInstancesArray=new p,this.symbolQuadsArray=new m;var _,w,M,k,A=new u(this.angle,this.pitch,this.collisionBoxArray),T=new l(this.coord,this.overscaling,A,t.layers),S=new f(t.layers?Object.keys(t.layers).sort():[\\\"_geojsonTileLayer\\\"]),E=this,L={},C={},z=0;for(var I in e)w=e[I][0],w.source===this.source&&(w.ref||w.minzoom&&this.zoom<w.minzoom||w.maxzoom&&this.zoom>=w.maxzoom||w.layout&&\\\"none\\\"===w.layout.visibility||t.layers&&!t.layers[w.sourceLayer]||(k=c.create({layer:w,index:z++,childLayers:e[I],zoom:this.zoom,overscaling:this.overscaling,showCollisionBoxes:this.showCollisionBoxes,collisionBoxArray:this.collisionBoxArray,symbolQuadsArray:this.symbolQuadsArray,symbolInstancesArray:this.symbolInstancesArray,sourceLayerIndex:S.encode(w.sourceLayer||\\\"_geojsonTileLayer\\\")}),k.createFilter(),L[w.id]=k,t.layers&&(M=w.sourceLayer,C[M]=C[M]||{},C[M][w.id]=k)));if(t.layers)for(M in C)1===w.version&&d.warnOnce('Vector tile source \\\"'+this.source+'\\\" layer \\\"'+M+'\\\" does not use vector tile spec v2 and therefore may have some rendering errors.'),(w=t.layers[M])&&g(w,C[M]);else g(t,L);var D=[],P=this.symbolBuckets=[],O=[];T.bucketLayerIDs={};for(var R in L)k=L[R],0!==k.features.length&&(T.bucketLayerIDs[k.index]=k.childLayers.map(s),D.push(k),\\\"symbol\\\"===k.type?P.push(k):O.push(k));var F={},j={},N=0;if(P.length>0){for(_=P.length-1;_>=0;_--)P[_].updateIcons(F),P[_].updateFont(j);for(var B in j)j[B]=Object.keys(j[B]).map(Number);F=Object.keys(F),r.send(\\\"get glyphs\\\",{uid:this.uid,stacks:j},function(t,e){j=e,y(t)}),F.length?r.send(\\\"get icons\\\",{icons:F},function(t,e){F=e,y(t)}):y()}for(_=O.length-1;_>=0;_--)b(this,O[_]);if(0===P.length)return x()},n.prototype.redoPlacement=function(t,e,r){if(\\\"done\\\"!==this.status)return this.redoPlacementAfterDone=!0,this.angle=t,{};for(var n=new u(t,e,this.collisionBoxArray),s=this.symbolBuckets,l=s.length-1;l>=0;l--)s[l].placeFeatures(n,r);var c=n.serialize(),h=s.filter(i);return{result:{buckets:h.map(a),collisionTile:c.data},transferables:o(h).concat(c.transferables)}}},{\\\"../data/bucket\\\":328,\\\"../data/feature_index\\\":335,\\\"../symbol/collision_box\\\":393,\\\"../symbol/collision_tile\\\":395,\\\"../symbol/symbol_instances\\\":404,\\\"../symbol/symbol_quads\\\":405,\\\"../util/dictionary_coder\\\":431,\\\"../util/util\\\":441}],374:[function(t,e,r){\\\"use strict\\\";function n(){this.n=0,this.times=[]}e.exports=n,n.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},n.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},n.prototype.cancel=function(t){this.times=this.times.filter(function(e){return e.id!==t})}},{}],375:[function(t,e,r){\\\"use strict\\\";function n(t){this.base=t,this.retina=s.devicePixelRatio>1;var e=this.retina?\\\"@2x\\\":\\\"\\\";o.getJSON(l(t,e,\\\".json\\\"),function(t,e){if(t)return void this.fire(\\\"error\\\",{error:t});this.data=e,this.img&&this.fire(\\\"load\\\")}.bind(this)),o.getImage(l(t,e,\\\".png\\\"),function(t,e){if(t)return void this.fire(\\\"error\\\",{error:t});for(var r=e.getData(),n=e.data=new Uint8Array(r.length),i=0;i<r.length;i+=4){var a=r[i+3]/255;n[i+0]=r[i+0]*a,n[i+1]=r[i+1]*a,n[i+2]=r[i+2]*a,n[i+3]=r[i+3]}this.img=e,this.data&&this.fire(\\\"load\\\")}.bind(this))}function i(){}var a=t(\\\"../util/evented\\\"),o=t(\\\"../util/ajax\\\"),s=t(\\\"../util/browser\\\"),l=t(\\\"../util/mapbox\\\").normalizeSpriteURL;e.exports=n,n.prototype=Object.create(a),n.prototype.toJSON=function(){return this.base},n.prototype.loaded=function(){return!(!this.data||!this.img)},n.prototype.resize=function(){if(s.devicePixelRatio>1!==this.retina){var t=new n(this.base);t.on(\\\"load\\\",function(){this.img=t.img,this.data=t.data,this.retina=t.retina}.bind(this))}},i.prototype={x:0,y:0,width:0,height:0,pixelRatio:1,sdf:!1},n.prototype.getSpritePosition=function(t){if(!this.loaded())return new i;var e=this.data&&this.data[t];return e&&this.img?e:new i}},{\\\"../util/ajax\\\":424,\\\"../util/browser\\\":425,\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438}],376:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"csscolorparser\\\").parseCSSColor,i=t(\\\"../util/util\\\"),a=t(\\\"./style_function\\\"),o={};e.exports=function t(e){if(a.isFunctionDefinition(e))return i.extend({},e,{stops:e.stops.map(function(e){return[e[0],t(e[1])]})});if(\\\"string\\\"==typeof e){if(!o[e]){var r=n(e);if(!r)throw new Error(\\\"Invalid color \\\"+e);o[e]=[r[0]/255*r[3],r[1]/255*r[3],r[2]/255*r[3],r[3]]}return o[e]}throw new Error(\\\"Invalid color \\\"+e)}},{\\\"../util/util\\\":441,\\\"./style_function\\\":379,csscolorparser:107}],377:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.animationLoop=e||new m,this.dispatcher=new p(r||1,this),this.spriteAtlas=new l(1024,1024),this.lineAtlas=new u(256,512),this._layers={},this._order=[],this._groups=[],this.sources={},this.zoomHistory={},c.bindAll([\\\"_forwardSourceEvent\\\",\\\"_forwardTileEvent\\\",\\\"_forwardLayerEvent\\\",\\\"_redoPlacement\\\"],this),this._resetUpdates();var n=function(t,e){if(t)return void this.fire(\\\"error\\\",{error:t});if(!v.emitErrors(this,v(e))){this._loaded=!0,this.stylesheet=e,this.updateClasses();var r=e.sources;for(var n in r)this.addSource(n,r[n]);e.sprite&&(this.sprite=new o(e.sprite),this.sprite.on(\\\"load\\\",this.fire.bind(this,\\\"change\\\"))),this.glyphSource=new s(e.glyphs),this._resolve(),this.fire(\\\"load\\\")}}.bind(this);\\\"string\\\"==typeof t?h.getJSON(f(t),n):d.frame(n.bind(this,null,t)),this.on(\\\"source.load\\\",function(t){var e=t.source;if(e&&e.vectorLayerIds)for(var r in this._layers){var n=this._layers[r];n.source===e.id&&this._validateLayer(n)}})}var i=t(\\\"../util/evented\\\"),a=t(\\\"./style_layer\\\"),o=t(\\\"./image_sprite\\\"),s=t(\\\"../symbol/glyph_source\\\"),l=t(\\\"../symbol/sprite_atlas\\\"),u=t(\\\"../render/line_atlas\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/ajax\\\"),f=t(\\\"../util/mapbox\\\").normalizeStyleURL,d=t(\\\"../util/browser\\\"),p=t(\\\"../util/dispatcher\\\"),m=t(\\\"./animation_loop\\\"),v=t(\\\"./validate_style\\\"),g=t(\\\"../source/source\\\"),y=t(\\\"../source/query_features\\\"),b=t(\\\"../source/source_cache\\\"),x=t(\\\"./style_spec\\\"),_=t(\\\"./style_function\\\");e.exports=n,n.prototype=c.inherit(i,{_loaded:!1,_validateLayer:function(t){var e=this.sources[t.source];t.sourceLayer&&e&&e.vectorLayerIds&&-1===e.vectorLayerIds.indexOf(t.sourceLayer)&&this.fire(\\\"error\\\",{error:new Error('Source layer \\\"'+t.sourceLayer+'\\\" does not exist on source \\\"'+e.id+'\\\" as specified by style layer \\\"'+t.id+'\\\"')})},loaded:function(){if(!this._loaded)return!1;if(Object.keys(this._updates.sources).length)return!1;for(var t in this.sources)if(!this.sources[t].loaded())return!1;return!(this.sprite&&!this.sprite.loaded())},_resolve:function(){var t,e;this._layers={},this._order=this.stylesheet.layers.map(function(t){return t.id});for(var r=0;r<this.stylesheet.layers.length;r++)e=this.stylesheet.layers[r],e.ref||(t=a.create(e),this._layers[t.id]=t,t.on(\\\"error\\\",this._forwardLayerEvent));for(var n=0;n<this.stylesheet.layers.length;n++)if(e=this.stylesheet.layers[n],e.ref){var i=this.getLayer(e.ref);t=a.create(e,i),this._layers[t.id]=t,t.on(\\\"error\\\",this._forwardLayerEvent)}this._groupLayers(),this._updateWorkerLayers()},_groupLayers:function(){var t;this._groups=[];for(var e=0;e<this._order.length;++e){var r=this._layers[this._order[e]];t&&r.source===t.source||(t=[],t.source=r.source,this._groups.push(t)),t.push(r)}},_updateWorkerLayers:function(t){this.dispatcher.broadcast(t?\\\"update layers\\\":\\\"set layers\\\",this._serializeLayers(t))},_serializeLayers:function(t){t=t||this._order;for(var e=[],r={includeRefProperties:!0},n=0;n<t.length;n++)e.push(this._layers[t[n]].serialize(r));return e},_applyClasses:function(t,e){if(this._loaded){t=t||[],e=e||{transition:!0};var r=this.stylesheet.transition||{},n=this._updates.allPaintProps?this._layers:this._updates.paintProps;for(var i in n){var a=this._layers[i],o=this._updates.paintProps[i];if(this._updates.allPaintProps||o.all)a.updatePaintTransitions(t,e,r,this.animationLoop);else for(var s in o)this._layers[i].updatePaintTransition(s,t,e,r,this.animationLoop)}}},_recalculate:function(t){for(var e in this.sources)this.sources[e].used=!1;this._updateZoomHistory(t),this.rasterFadeDuration=300;for(var r in this._layers){var n=this._layers[r];n.recalculate(t,this.zoomHistory),!n.isHidden(t)&&n.source&&(this.sources[n.source].used=!0)}Math.floor(this.z)!==Math.floor(t)&&this.animationLoop.set(300),this.z=t,this.fire(\\\"zoom\\\")},_updateZoomHistory:function(t){var e=this.zoomHistory;void 0===e.lastIntegerZoom&&(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=0,e.lastZoom=t),Math.floor(e.lastZoom)<Math.floor(t)?(e.lastIntegerZoom=Math.floor(t),e.lastIntegerZoomTime=Date.now()):Math.floor(e.lastZoom)>Math.floor(t)&&(e.lastIntegerZoom=Math.floor(t+1),e.lastIntegerZoomTime=Date.now()),e.lastZoom=t},_checkLoaded:function(){if(!this._loaded)throw new Error(\\\"Style is not done loading\\\")},update:function(t,e){if(!this._updates.changed)return this;if(this._updates.allLayers)this._groupLayers(),this._updateWorkerLayers();else{var r=Object.keys(this._updates.layers);r.length&&this._updateWorkerLayers(r)}var n,i=Object.keys(this._updates.sources);for(n=0;n<i.length;n++)this._reloadSource(i[n]);for(n=0;n<this._updates.events.length;n++){var a=this._updates.events[n];this.fire(a[0],a[1])}return this._applyClasses(t,e),this._updates.changed&&this.fire(\\\"change\\\"),this._resetUpdates(),this},_resetUpdates:function(){this._updates={events:[],layers:{},sources:{},paintProps:{}}},addSource:function(t,e){if(this._checkLoaded(),void 0!==this.sources[t])throw new Error(\\\"There is already a source with this ID\\\");if(!e.type)throw new Error(\\\"The type property must be defined, but the only the following properties were given: \\\"+Object.keys(e)+\\\".\\\");return[\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\"].indexOf(e.type)>=0&&this._handleErrors(v.source,\\\"sources.\\\"+t,e)?this:(e=new b(t,e,this.dispatcher),this.sources[t]=e,e.style=this,e.on(\\\"load\\\",this._forwardSourceEvent).on(\\\"error\\\",this._forwardSourceEvent).on(\\\"change\\\",this._forwardSourceEvent).on(\\\"tile.add\\\",this._forwardTileEvent).on(\\\"tile.load\\\",this._forwardTileEvent).on(\\\"tile.error\\\",this._forwardTileEvent).on(\\\"tile.remove\\\",this._forwardTileEvent).on(\\\"tile.stats\\\",this._forwardTileEvent),this._updates.events.push([\\\"source.add\\\",{source:e}]),this._updates.changed=!0,this)},removeSource:function(t){if(this._checkLoaded(),void 0===this.sources[t])throw new Error(\\\"There is no source with this ID\\\");var e=this.sources[t];return delete this.sources[t],delete this._updates.sources[t],e.off(\\\"load\\\",this._forwardSourceEvent).off(\\\"error\\\",this._forwardSourceEvent).off(\\\"change\\\",this._forwardSourceEvent).off(\\\"tile.add\\\",this._forwardTileEvent).off(\\\"tile.load\\\",this._forwardTileEvent).off(\\\"tile.error\\\",this._forwardTileEvent).off(\\\"tile.remove\\\",this._forwardTileEvent).off(\\\"tile.stats\\\",this._forwardTileEvent),this._updates.events.push([\\\"source.remove\\\",{source:e}]),this._updates.changed=!0,this},getSource:function(t){return this.sources[t]&&this.sources[t].getSource()},addLayer:function(t,e){if(this._checkLoaded(),!(t instanceof a)){if(this._handleErrors(v.layer,\\\"layers.\\\"+t.id,t,!1,{arrayIndex:-1}))return this;var r=t.ref&&this.getLayer(t.ref);t=a.create(t,r)}return this._validateLayer(t),t.on(\\\"error\\\",this._forwardLayerEvent),this._layers[t.id]=t,this._order.splice(e?this._order.indexOf(e):1/0,0,t.id),this._updates.allLayers=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.events.push([\\\"layer.add\\\",{layer:t}]),this.updateClasses(t.id)},removeLayer:function(t){this._checkLoaded();var e=this._layers[t];if(void 0===e)throw new Error(\\\"There is no layer with this ID\\\");for(var r in this._layers)this._layers[r].ref===t&&this.removeLayer(r);return e.off(\\\"error\\\",this._forwardLayerEvent),delete this._layers[t],delete this._updates.layers[t],delete this._updates.paintProps[t],this._order.splice(this._order.indexOf(t),1),this._updates.allLayers=!0,this._updates.events.push([\\\"layer.remove\\\",{layer:e}]),this._updates.changed=!0,this},getLayer:function(t){return this._layers[t]},getReferentLayer:function(t){var e=this.getLayer(t);return e.ref&&(e=this.getLayer(e.ref)),e},setLayerZoomRange:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return n.minzoom===e&&n.maxzoom===r?this:(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n))},setFilter:function(t,e){this._checkLoaded();var r=this.getReferentLayer(t);return null!==e&&this._handleErrors(v.filter,\\\"layers.\\\"+r.id+\\\".filter\\\",e)?this:c.deepEqual(r.filter,e)?this:(r.filter=c.clone(e),this._updateLayer(r))},getFilter:function(t){return this.getReferentLayer(t).filter},setLayoutProperty:function(t,e,r){this._checkLoaded();var n=this.getReferentLayer(t);return c.deepEqual(n.getLayoutProperty(e),r)?this:(n.setLayoutProperty(e,r),this._updateLayer(n))},getLayoutProperty:function(t,e){return this.getReferentLayer(t).getLayoutProperty(e)},setPaintProperty:function(t,e,r,n){this._checkLoaded();var i=this.getLayer(t);if(c.deepEqual(i.getPaintProperty(e,n),r))return this;var a=i.isPaintValueFeatureConstant(e);return i.setPaintProperty(e,r,n),!(r&&_.isFunctionDefinition(r)&&\\\"$zoom\\\"!==r.property&&void 0!==r.property)&&a||(this._updates.layers[t]=!0,i.source&&(this._updates.sources[i.source]=!0)),this.updateClasses(t,e)},getPaintProperty:function(t,e,r){return this.getLayer(t).getPaintProperty(e,r)},updateClasses:function(t,e){if(this._updates.changed=!0,t){var r=this._updates.paintProps;r[t]||(r[t]={}),r[t][e||\\\"all\\\"]=!0}else this._updates.allPaintProps=!0;return this},serialize:function(){return c.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,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:c.mapObject(this.sources,function(t){return t.serialize()}),layers:this._order.map(function(t){return this._layers[t].serialize()},this)},function(t){return void 0!==t})},_updateLayer:function(t){return this._updates.layers[t.id]=!0,t.source&&(this._updates.sources[t.source]=!0),this._updates.changed=!0,this},_flattenRenderedFeatures:function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0;i<t.length;i++){var a=t[i][n];if(a)for(var o=0;o<a.length;o++)e.push(a[o])}return e},queryRenderedFeatures:function(t,e,r,n){\\n\",\n       \"e&&e.filter&&this._handleErrors(v.filter,\\\"queryRenderedFeatures.filter\\\",e.filter,!0);var i={};if(e&&e.layers)for(var a=0;a<e.layers.length;a++){var o=e.layers[a];i[this._layers[o].source]=!0}var s=[];for(var l in this.sources)if(!e.layers||i[l]){var u=this.sources[l],c=y.rendered(u,this._layers,t,e,r,n);s.push(c)}return this._flattenRenderedFeatures(s)},querySourceFeatures:function(t,e){e&&e.filter&&this._handleErrors(v.filter,\\\"querySourceFeatures.filter\\\",e.filter,!0);var r=this.sources[t];return r?y.source(r,e):[]},addSourceType:function(t,e,r){return g.getType(t)?r(new Error('A source type called \\\"'+t+'\\\" already exists.')):(g.setType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\\\"load worker source\\\",{name:t,url:e.workerSourceURL},r):r(null,null))},_handleErrors:function(t,e,r,n,i){var a=n?v.throwErrors:v.emitErrors,o=t.call(v,c.extend({key:e,style:this.serialize(),value:r,styleSpec:x},i));return a.call(v,this,o)},_remove:function(){this.dispatcher.remove()},_reloadSource:function(t){this.sources[t].reload()},_updateSources:function(t){for(var e in this.sources)this.sources[e].update(t)},_redoPlacement:function(){for(var t in this.sources)this.sources[t].redoPlacement&&this.sources[t].redoPlacement()},_forwardSourceEvent:function(t){this.fire(\\\"source.\\\"+t.type,c.extend({source:t.target.getSource()},t))},_forwardTileEvent:function(t){this.fire(t.type,c.extend({source:t.target},t))},_forwardLayerEvent:function(t){this.fire(\\\"layer.\\\"+t.type,c.extend({layer:{id:t.target.id}},t))},\\\"get sprite json\\\":function(t,e){var r=this.sprite;r.loaded()?e(null,{sprite:r.data,retina:r.retina}):r.on(\\\"load\\\",function(){e(null,{sprite:r.data,retina:r.retina})})},\\\"get icons\\\":function(t,e){var r=this.sprite,n=this.spriteAtlas;r.loaded()?(n.setSprite(r),n.addIcons(t.icons,e)):r.on(\\\"load\\\",function(){n.setSprite(r),n.addIcons(t.icons,e)})},\\\"get glyphs\\\":function(t,e){function r(t,r,n){t&&console.error(t),a[n]=r,0===--i&&e(null,a)}var n=t.stacks,i=Object.keys(n).length,a={};for(var o in n)this.glyphSource.getSimpleGlyphs(o,n[o],t.uid,r)}})},{\\\"../render/line_atlas\\\":353,\\\"../source/query_features\\\":363,\\\"../source/source\\\":365,\\\"../source/source_cache\\\":366,\\\"../symbol/glyph_source\\\":398,\\\"../symbol/sprite_atlas\\\":403,\\\"../util/ajax\\\":424,\\\"../util/browser\\\":425,\\\"../util/dispatcher\\\":432,\\\"../util/evented\\\":433,\\\"../util/mapbox\\\":438,\\\"../util/util\\\":441,\\\"./animation_loop\\\":374,\\\"./image_sprite\\\":375,\\\"./style_function\\\":379,\\\"./style_layer\\\":380,\\\"./style_spec\\\":387,\\\"./validate_style\\\":389}],378:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.value=s.clone(e),this.isFunction=a.isFunctionDefinition(e),this.json=JSON.stringify(this.value);var r=\\\"color\\\"===t.type&&this.value?o(this.value):e;if(this.calculate=a[t.function||\\\"piecewise-constant\\\"](r),this.isFeatureConstant=this.calculate.isFeatureConstant,this.isZoomConstant=this.calculate.isZoomConstant,\\\"piecewise-constant\\\"===t.function&&t.transition&&(this.calculate=i(this.calculate)),!this.isFeatureConstant&&!this.isZoomConstant){this.stopZoomLevels=[];for(var n=[],l=this.value.stops,u=0;u<this.value.stops.length;u++){var c=l[u][0].zoom;this.stopZoomLevels.indexOf(c)<0&&(this.stopZoomLevels.push(c),n.push([c,n.length]))}this.calculateInterpolationT=a.interpolated({stops:n,base:e.base})}}function i(t){return function(e,r){var n,i,a,o=e.zoom,s=e.zoomHistory,l=e.duration,u=o%1,c=Math.min((Date.now()-s.lastIntegerZoomTime)/l,1),h=1;return o>s.lastIntegerZoom?(n=u+(1-u)*c,h*=2,i=t({zoom:o-1},r),a=t({zoom:o},r)):(n=1-(1-c)*u,a=t({zoom:o},r),i=t({zoom:o+1},r),h/=2),void 0===i||void 0===a?void 0:{from:i,fromScale:h,to:a,toScale:1,t:n}}}var a=t(\\\"./style_function\\\"),o=t(\\\"./parse_color\\\"),s=t(\\\"../util/util\\\");e.exports=n},{\\\"../util/util\\\":441,\\\"./parse_color\\\":376,\\\"./style_function\\\":379}],379:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mapbox-gl-function\\\");r.interpolated=function(t){var e=n.interpolated(t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r[\\\"piecewise-constant\\\"]=function(t){var e=n[\\\"piecewise-constant\\\"](t),r=function(t,r){return e(t&&t.zoom,r||{})};return r.isFeatureConstant=e.isFeatureConstant,r.isZoomConstant=e.isZoomConstant,r},r.isFunctionDefinition=n.isFunctionDefinition},{\\\"mapbox-gl-function\\\":301}],380:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.set(t,e)}function i(t){return t.value}var a=t(\\\"../util/util\\\"),o=t(\\\"./style_transition\\\"),s=t(\\\"./style_declaration\\\"),l=t(\\\"./style_spec\\\"),u=t(\\\"./validate_style\\\"),c=t(\\\"./parse_color\\\"),h=t(\\\"../util/evented\\\");e.exports=n;n.create=function(e,r){return new({background:t(\\\"./style_layer/background_style_layer\\\"),circle:t(\\\"./style_layer/circle_style_layer\\\"),fill:t(\\\"./style_layer/fill_style_layer\\\"),line:t(\\\"./style_layer/line_style_layer\\\"),raster:t(\\\"./style_layer/raster_style_layer\\\"),symbol:t(\\\"./style_layer/symbol_style_layer\\\")}[(r||e).type])(e,r)},n.prototype=a.inherit(h,{set:function(t,e){this.id=t.id,this.ref=t.ref,this.metadata=t.metadata,this.type=(e||t).type,this.source=(e||t).source,this.sourceLayer=(e||t)[\\\"source-layer\\\"],this.minzoom=(e||t).minzoom,this.maxzoom=(e||t).maxzoom,this.filter=(e||t).filter,this.paint={},this.layout={},this._paintSpecifications=l[\\\"paint_\\\"+this.type],this._layoutSpecifications=l[\\\"layout_\\\"+this.type],this._paintTransitions={},this._paintTransitionOptions={},this._paintDeclarations={},this._layoutDeclarations={},this._layoutFunctions={};var r,n;for(var i in t){var a=i.match(/^paint(?:\\\\.(.*))?$/);if(a){var o=a[1]||\\\"\\\";for(r in t[i])this.setPaintProperty(r,t[i][r],o)}}if(this.ref)this._layoutDeclarations=e._layoutDeclarations;else for(n in t.layout)this.setLayoutProperty(n,t.layout[n]);for(r in this._paintSpecifications)this.paint[r]=this.getPaintValue(r);for(n in this._layoutSpecifications)this._updateLayoutValue(n)},setLayoutProperty:function(t,e){if(null==e)delete this._layoutDeclarations[t];else{var r=\\\"layers.\\\"+this.id+\\\".layout.\\\"+t;if(this._handleErrors(u.layoutProperty,r,t,e))return;this._layoutDeclarations[t]=new s(this._layoutSpecifications[t],e)}this._updateLayoutValue(t)},getLayoutProperty:function(t){return this._layoutDeclarations[t]&&this._layoutDeclarations[t].value},getLayoutValue:function(t,e,r){var n=this._layoutSpecifications[t],i=this._layoutDeclarations[t];return i?i.calculate(e,r):n.default},setPaintProperty:function(t,e,r){var n=\\\"layers.\\\"+this.id+(r?'[\\\"paint.'+r+'\\\"].':\\\".paint.\\\")+t;if(a.endsWith(t,\\\"-transition\\\"))if(this._paintTransitionOptions[r||\\\"\\\"]||(this._paintTransitionOptions[r||\\\"\\\"]={}),null===e||void 0===e)delete this._paintTransitionOptions[r||\\\"\\\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintTransitionOptions[r||\\\"\\\"][t]=e}else if(this._paintDeclarations[r||\\\"\\\"]||(this._paintDeclarations[r||\\\"\\\"]={}),null===e||void 0===e)delete this._paintDeclarations[r||\\\"\\\"][t];else{if(this._handleErrors(u.paintProperty,n,t,e))return;this._paintDeclarations[r||\\\"\\\"][t]=new s(this._paintSpecifications[t],e)}},getPaintProperty:function(t,e){return e=e||\\\"\\\",a.endsWith(t,\\\"-transition\\\")?this._paintTransitionOptions[e]&&this._paintTransitionOptions[e][t]:this._paintDeclarations[e]&&this._paintDeclarations[e][t]&&this._paintDeclarations[e][t].value},getPaintValue:function(t,e,r){var n=this._paintSpecifications[t],i=this._paintTransitions[t];return i?i.calculate(e,r):\\\"color\\\"===n.type&&n.default?c(n.default):n.default},getPaintValueStopZoomLevels:function(t){var e=this._paintTransitions[t];return e?e.declaration.stopZoomLevels:[]},getPaintInterpolationT:function(t,e){return this._paintTransitions[t].declaration.calculateInterpolationT({zoom:e})},isPaintValueFeatureConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isFeatureConstant},isLayoutValueFeatureConstant:function(t){var e=this._layoutDeclarations[t];return!e||e.isFeatureConstant},isPaintValueZoomConstant:function(t){var e=this._paintTransitions[t];return!e||e.declaration.isZoomConstant},isHidden:function(t){return!!(this.minzoom&&t<this.minzoom)||(!!(this.maxzoom&&t>=this.maxzoom)||(\\\"none\\\"===this.layout.visibility||0===this.paint[this.type+\\\"-opacity\\\"]))},updatePaintTransitions:function(t,e,r,n){for(var i=a.extend({},this._paintDeclarations[\\\"\\\"]),o=0;o<t.length;o++)a.extend(i,this._paintDeclarations[t[o]]);var s;for(s in i)this._applyPaintDeclaration(s,i[s],e,r,n);for(s in this._paintTransitions)s in i||this._applyPaintDeclaration(s,null,e,r,n)},updatePaintTransition:function(t,e,r,n,i){for(var a=this._paintDeclarations[\\\"\\\"][t],o=0;o<e.length;o++){var s=this._paintDeclarations[e[o]];s&&s[t]&&(a=s[t])}this._applyPaintDeclaration(t,a,r,n,i)},recalculate:function(t,e){for(var r in this._paintTransitions)this.paint[r]=this.getPaintValue(r,{zoom:t,zoomHistory:e});for(var n in this._layoutFunctions)this.layout[n]=this.getLayoutValue(n,{zoom:t,zoomHistory:e})},serialize:function(t){var e={id:this.id,ref:this.ref,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom};for(var r in this._paintDeclarations){e[\\\"\\\"===r?\\\"paint\\\":\\\"paint.\\\"+r]=a.mapObject(this._paintDeclarations[r],i)}return(!this.ref||t&&t.includeRefProperties)&&a.extend(e,{type:this.type,source:this.source,\\\"source-layer\\\":this.sourceLayer,filter:this.filter,layout:a.mapObject(this._layoutDeclarations,i)}),a.filterObject(e,function(t,e){return void 0!==t&&!(\\\"layout\\\"===e&&!Object.keys(t).length)})},_applyPaintDeclaration:function(t,e,r,n,i){var l=r.transition?this._paintTransitions[t]:void 0,u=this._paintSpecifications[t];if(null!==e&&void 0!==e||(e=new s(u,u.default)),!l||l.declaration.json!==e.json){var c=a.extend({duration:300,delay:0},n,this.getPaintProperty(t+\\\"-transition\\\")),h=this._paintTransitions[t]=new o(u,e,l,c);h.instant()||(h.loopID=i.set(h.endTime-Date.now())),l&&i.cancel(l.loopID)}},_updateLayoutValue:function(t){var e=this._layoutDeclarations[t];e&&e.isFunction?this._layoutFunctions[t]=!0:(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t))},_handleErrors:function(t,e,r,n){return u.emitErrors(this,t.call(u,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:l,style:{glyphs:!0,sprite:!0}}))}})},{\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./parse_color\\\":376,\\\"./style_declaration\\\":378,\\\"./style_layer/background_style_layer\\\":381,\\\"./style_layer/circle_style_layer\\\":382,\\\"./style_layer/fill_style_layer\\\":383,\\\"./style_layer/line_style_layer\\\":384,\\\"./style_layer/raster_style_layer\\\":385,\\\"./style_layer/symbol_style_layer\\\":386,\\\"./style_spec\\\":387,\\\"./style_transition\\\":388,\\\"./validate_style\\\":389}],381:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],382:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],383:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.getPaintValue.call(this,\\\"fill-color\\\",e,r):a.prototype.getPaintValue.call(this,t,e,r)},getPaintValueStopZoomLevels:function(t){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.getPaintValueStopZoomLevels.call(this,\\\"fill-color\\\"):a.prototype.getPaintValueStopZoomLevels.call(this,arguments)},getPaintInterpolationT:function(t,e){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.getPaintInterpolationT.call(this,\\\"fill-color\\\",e):a.prototype.getPaintInterpolationT.call(this,t,e)},isPaintValueFeatureConstant:function(t){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.isPaintValueFeatureConstant.call(this,\\\"fill-color\\\"):a.prototype.isPaintValueFeatureConstant.call(this,t)},isPaintValueZoomConstant:function(t){return\\\"fill-outline-color\\\"===t&&void 0===this.getPaintProperty(\\\"fill-outline-color\\\")?a.prototype.isPaintValueZoomConstant.call(this,\\\"fill-color\\\"):a.prototype.isPaintValueZoomConstant.call(this,t)}}),e.exports=n},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],384:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{getPaintValue:function(t,e,r){var n=a.prototype.getPaintValue.apply(this,arguments);if(n&&\\\"line-dasharray\\\"===t){var i=Math.floor(e.zoom);this._flooredZoom!==i&&(this._flooredZoom=i,this._flooredLineWidth=this.getPaintValue(\\\"line-width\\\",e,r)),n.fromScale*=this._flooredLineWidth,n.toScale*=this._flooredLineWidth}return n}})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],385:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],386:[function(t,e,r){\\\"use strict\\\";function n(){a.apply(this,arguments)}var i=t(\\\"../../util/util\\\"),a=t(\\\"../style_layer\\\");e.exports=n,n.prototype=i.inherit(a,{isHidden:function(){if(a.prototype.isHidden.apply(this,arguments))return!0;var t=0===this.paint[\\\"text-opacity\\\"]||!this.layout[\\\"text-field\\\"],e=0===this.paint[\\\"icon-opacity\\\"]||!this.layout[\\\"icon-image\\\"];return!(!t||!e)},getLayoutValue:function(t,e,r){return(\\\"text-rotation-alignment\\\"!==t||\\\"line\\\"!==this.getLayoutValue(\\\"symbol-placement\\\",e,r)||this.getLayoutProperty(\\\"text-rotation-alignment\\\"))&&(\\\"icon-rotation-alignment\\\"!==t||\\\"line\\\"!==this.getLayoutValue(\\\"symbol-placement\\\",e,r)||this.getLayoutProperty(\\\"icon-rotation-alignment\\\"))?\\\"text-pitch-alignment\\\"!==t||this.getLayoutProperty(\\\"text-pitch-alignment\\\")?a.prototype.getLayoutValue.apply(this,arguments):this.getLayoutValue(\\\"text-rotation-alignment\\\"):\\\"map\\\"}})},{\\\"../../util/util\\\":441,\\\"../style_layer\\\":380}],387:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"mapbox-gl-style-spec/reference/latest.min\\\")},{\\\"mapbox-gl-style-spec/reference/latest.min\\\":324}],388:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.declaration=e,this.startTime=this.endTime=(new Date).getTime(),\\\"piecewise-constant\\\"===t.function&&t.transition?this.interp=i:this.interp=o[t.type],this.oldTransition=r,this.duration=n.duration||0,this.delay=n.delay||0,this.instant()||(this.endTime=this.startTime+this.duration+this.delay,this.ease=a.easeCubicInOut),r&&r.endTime<=this.startTime&&delete r.oldTransition}function i(t,e,r){return void 0===(t&&t.to)||void 0===(e&&e.to)?void 0:{from:t.to,fromScale:t.toScale,to:e.to,toScale:e.toScale,t:r}}var a=t(\\\"../util/util\\\"),o=t(\\\"../util/interpolate\\\");e.exports=n,n.prototype.instant=function(){return!this.oldTransition||!this.interp||0===this.duration&&0===this.delay},n.prototype.calculate=function(t,e){var r=this.declaration.calculate(a.extend({},t,{duration:this.duration}),e);if(this.instant())return r;var n=t.time||Date.now();if(n<this.endTime){var i=this.oldTransition.calculate(a.extend({},t,{time:this.startTime}),e),o=this.ease((n-this.startTime-this.delay)/this.duration);r=this.interp(i,r,o)}return r}},{\\\"../util/interpolate\\\":435,\\\"../util/util\\\":441}],389:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"mapbox-gl-style-spec/lib/validate_style.min\\\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0;r<e.length;r++)t.fire(\\\"error\\\",{error:new Error(e[r].message)});return!0}return!1},e.exports.throwErrors=function(t,e){if(e)for(var r=0;r<e.length;r++)throw new Error(e[r].message)}},{\\\"mapbox-gl-style-spec/lib/validate_style.min\\\":323}],390:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.x=t,this.y=e,this.angle=r,void 0!==n&&(this.segment=n)}var i=t(\\\"point-geometry\\\");e.exports=n,n.prototype=Object.create(i.prototype),n.prototype.clone=function(){return new n(this.x,this.y,this.angle,this.segment)}},{\\\"point-geometry\\\":483}],391:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var d=c.angleTo(h)-h.angleTo(f);for(d=Math.abs((d+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:d}),u+=d;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}e.exports=n},{}],392:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var l,u=t[s],c=0;c<u.length-1;c++){var h=u[c],f=u[c+1];h.x<e&&f.x<e||(h.x<e?h=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new i(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round()),h.y<r&&f.y<r||(h.y<r?h=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new i(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new i(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new i(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),l&&h.equals(l[l.length-1])||(l=[h],o.push(l)),l.push(f)))))}return o}var i=t(\\\"point-geometry\\\");e.exports=n},{\\\"point-geometry\\\":483}],393:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/struct_array\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"point-geometry\\\"),o=e.exports=new n({members:[{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:\\\"Float32\\\",name:\\\"maxScale\\\"},{type:\\\"Uint32\\\",name:\\\"featureIndex\\\"},{type:\\\"Uint16\\\",name:\\\"sourceLayerIndex\\\"},{type:\\\"Uint16\\\",name:\\\"bucketIndex\\\"},{type:\\\"Int16\\\",name:\\\"bbox0\\\"},{type:\\\"Int16\\\",name:\\\"bbox1\\\"},{type:\\\"Int16\\\",name:\\\"bbox2\\\"},{type:\\\"Int16\\\",name:\\\"bbox3\\\"},{type:\\\"Float32\\\",name:\\\"placementScale\\\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"point-geometry\\\":483}],394:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,d=o.left*s-l,p=o.right*s+l;if(this.boxStartIndex=t.length,u){var m=f-h,v=p-d;if(m>0)if(m=Math.max(10*s,m),c){var g=e[r.segment+1].sub(e[r.segment])._unit()._mult(v),y=[r.sub(g),r.add(g)];this._addLineCollisionBoxes(t,y,r,0,v,m,n,i,a)}else this._addLineCollisionBoxes(t,e,r,r.segment,v,m,n,i,a)}else t.emplaceBack(r.x,r.y,d,h,p,f,1/0,n,i,a,0,0,0,0,0);this.boxEndIndex=t.length}e.exports=n,n.prototype._addLineCollisionBoxes=function(t,e,r,n,i,a,o,s,l){var u=a/2,c=Math.floor(i/u),h=-a/2,f=this.boxes,d=r,p=n+1,m=h;do{if(--p<0)return f;m-=e[p].dist(d),d=e[p]}while(m>-i/2);for(var v=e[p].dist(e[p+1]),g=0;g<c;g++){for(var y=-i/2+g*u;m+v<y;){if(m+=v,++p+1>=e.length)return f;v=e[p].dist(e[p+1])}var b=y-m,x=e[p],_=e[p+1],w=_.sub(x)._unit()._mult(b)._add(x)._round(),M=Math.max(Math.abs(y-h)-u/2,0),k=i/2/M;t.emplaceBack(w.x,w.y,-a/2,-a/2,a/2,a/2,k,o,s,l,0,0,0,0,0)}return f}},{}],395:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(\\\"object\\\"==typeof t){var n=t;r=e,t=n.angle,e=n.pitch,this.grid=new o(n.grid),this.ignoredGrid=new o(n.ignoredGrid)}else this.grid=new o(a,12,6),this.ignoredGrid=new o(a,12,0);this.angle=t,this.pitch=e;var i=Math.sin(t),s=Math.cos(t);if(this.rotationMatrix=[s,-i,i,s],this.reverseRotationMatrix=[s,i,-i,s],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=r,0===r.length){r.emplaceBack();r.emplaceBack(0,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(a,0,0,-32767,0,32767,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,a,-32767,0,32767,0,32767,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]}var i=t(\\\"point-geometry\\\"),a=t(\\\"../data/bucket\\\").EXTENT,o=t(\\\"grid-index\\\");e.exports=n,n.prototype.serialize=function(){var t={angle:this.angle,pitch:this.pitch,grid:this.grid.toArrayBuffer(),ignoredGrid:this.ignoredGrid.toArrayBuffer()};return{data:t,transferables:[t.grid,t.ignoredGrid]}},n.prototype.minScale=.25,n.prototype.maxScale=2,n.prototype.placeCollisionFeature=function(t,e,r){for(var n=this.collisionBoxArray,a=this.minScale,o=this.rotationMatrix,s=this.yStretch,l=t.boxStartIndex;l<t.boxEndIndex;l++){var u=n.get(l),c=u.anchorPoint._matMult(o),h=c.x,f=c.y,d=h+u.x1,p=f+u.y1*s,m=h+u.x2,v=f+u.y2*s;if(u.bbox0=d,u.bbox1=p,u.bbox2=m,u.bbox3=v,!e)for(var g=this.grid.query(d,p,m,v),y=0;y<g.length;y++){var b=n.get(g[y]),x=b.anchorPoint._matMult(o);if((a=this.getPlacementScale(a,c,u,x,b))>=this.maxScale)return a}if(r){var _;if(this.angle){var w=this.reverseRotationMatrix,M=new i(u.x1,u.y1).matMult(w),k=new i(u.x2,u.y1).matMult(w),A=new i(u.x1,u.y2).matMult(w),T=new i(u.x2,u.y2).matMult(w);_=this.tempCollisionBox,_.anchorPointX=u.anchorPoint.x,_.anchorPointY=u.anchorPoint.y,_.x1=Math.min(M.x,k.x,A.x,T.x),_.y1=Math.min(M.y,k.x,A.x,T.x),_.x2=Math.max(M.x,k.x,A.x,T.x),_.y2=Math.max(M.y,k.x,A.x,T.x),_.maxScale=u.maxScale}else _=u;for(var S=0;S<this.edges.length;S++){var E=this.edges[S];if((a=this.getPlacementScale(a,u.anchorPoint,_,E.anchorPoint,E))>=this.maxScale)return a}}}return a},n.prototype.queryRenderedSymbols=function(t,e,r,n,a){var o={},s=[],l=this.collisionBoxArray,u=this.rotationMatrix,c=new i(t,e)._matMult(u),h=this.tempCollisionBox;h.anchorX=c.x,h.anchorY=c.y,h.x1=0,h.y1=0,h.x2=r-t,h.y2=n-e,h.maxScale=a,a=h.maxScale;for(var f=[c.x+h.x1/a,c.y+h.y1/a*this.yStretch,c.x+h.x2/a,c.y+h.y2/a*this.yStretch],d=this.grid.query(f[0],f[1],f[2],f[3]),p=this.ignoredGrid.query(f[0],f[1],f[2],f[3]),m=0;m<p.length;m++)d.push(p[m]);for(var v=0;v<d.length;v++){var g=l.get(d[v]),y=g.sourceLayerIndex,b=g.featureIndex;if(void 0===o[y]&&(o[y]={}),!o[y][b]){var x=g.anchorPoint.matMult(u);this.getPlacementScale(this.minScale,c,h,x,g)>=a&&(o[y][b]=!0,s.push(d[v]))}}return s},n.prototype.getPlacementScale=function(t,e,r,n,i){var a=e.x-n.x,o=e.y-n.y,s=(i.x1-r.x2)/a,l=(i.x2-r.x1)/a,u=(i.y1-r.y2)*this.yStretch/o,c=(i.y2-r.y1)*this.yStretch/o;(isNaN(s)||isNaN(l))&&(s=l=1),(isNaN(u)||isNaN(c))&&(u=c=1);var h=Math.min(Math.max(s,l),Math.max(u,c)),f=i.maxScale,d=r.maxScale;return h>f&&(h=f),h>d&&(h=d),h>t&&h>=i.placementScale&&(t=h),t},n.prototype.insertCollisionFeature=function(t,e,r){for(var n=r?this.ignoredGrid:this.grid,i=this.collisionBoxArray,a=t.boxStartIndex;a<t.boxEndIndex;a++){var o=i.get(a);o.placementScale=e,e<this.maxScale&&n.insert(a,o.bbox0,o.bbox1,o.bbox2,o.bbox3)}}},{\\\"../data/bucket\\\":328,\\\"grid-index\\\":286,\\\"point-geometry\\\":483}],396:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,a,o,s,l,u){var c=n?.6*o*s:0,h=Math.max(n?n.right-n.left:0,a?a.right-a.left:0),f=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;e-h*s<e/4&&(e=h*s+e/4);var d=2*o;return i(t,f?e/2*l%e:(h/2+d)*s*l%e,e,c,r,h*s,f,!1,u)}function i(t,e,r,n,l,u,c,h,f){for(var d=u/2,p=0,m=0;m<t.length-1;m++)p+=t[m].dist(t[m+1]);for(var v=0,g=e-r,y=[],b=0;b<t.length-1;b++){for(var x=t[b],_=t[b+1],w=x.dist(_),M=_.angleTo(x);g+r<v+w;){g+=r;var k=(g-v)/w,A=a(x.x,_.x,k),T=a(x.y,_.y,k);if(A>=0&&A<f&&T>=0&&T<f&&g-d>=0&&g+d<=p){var S=new o(A,T,M,b)._round();n&&!s(t,S,u,n,l)||y.push(S)}}v+=w}return h||y.length||c||(y=i(t,v/2,r,n,l,u,c,!0,f)),y}var a=t(\\\"../util/interpolate\\\"),o=t(\\\"../symbol/anchor\\\"),s=t(\\\"./check_max_angle\\\");e.exports=n},{\\\"../symbol/anchor\\\":390,\\\"../util/interpolate\\\":435,\\\"./check_max_angle\\\":391}],397:[function(t,e,r){\\\"use strict\\\";function n(){this.width=o,this.height=o,this.bin=new i(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)}var i=t(\\\"shelf-pack\\\"),a=t(\\\"../util/util\\\"),o=128;e.exports=n,n.prototype.getGlyphs=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\\\"#\\\"),e=t[0],r=t[1],n[e]||(n[e]=[]),n[e].push(r);return n},n.prototype.getRects=function(){var t,e,r,n={};for(var i in this.ids)t=i.split(\\\"#\\\"),e=t[0],r=t[1],n[e]||(n[e]={}),n[e][r]=this.index[i];return n},n.prototype.addGlyph=function(t,e,r,n){if(!r)return null;var i=e+\\\"#\\\"+r.id;if(this.index[i])return this.ids[i].indexOf(t)<0&&this.ids[i].push(t),this.index[i];if(!r.bitmap)return null;var o=r.width+2*n,s=r.height+2*n,l=o+2,u=s+2;l+=4-l%4,u+=4-u%4;var c=this.bin.packOne(l,u);if(c||(this.resize(),c=this.bin.packOne(l,u)),!c)return a.warnOnce(\\\"glyph bitmap overflow\\\"),null;this.index[i]=c,this.ids[i]=[t];for(var h=this.data,f=r.bitmap,d=0;d<s;d++)for(var p=this.width*(c.y+d+1)+c.x+1,m=o*d,v=0;v<o;v++)h[p+v]=f[m+v];return this.dirty=!0,c},n.prototype.resize=function(){var t=this.width,e=this.height;if(!(t>=2048||e>=2048)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=4,this.height*=4,this.bin.resize(this.width,this.height);for(var r=new ArrayBuffer(this.width*this.height),n=0;n<e;n++){var i=new Uint8Array(this.data.buffer,e*n,t);new Uint8Array(r,e*n*4,t).set(i)}this.data=new Uint8Array(r)}},n.prototype.bind=function(t){this.gl=t,this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),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),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,null))},n.prototype.updateTexture=function(t){this.bind(t),this.dirty&&(t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data),this.dirty=!1)}},{\\\"../util/util\\\":441,\\\"shelf-pack\\\":513}],398:[function(t,e,r){\\\"use strict\\\";function n(t){this.url=t&&o(t),this.atlases={},this.stacks={},this.loading={}}function i(t,e,r){this.advance=t.advance,this.left=t.left-r-1,this.top=t.top+r+1,this.rect=e}function a(t,e,r,n){return n=n||\\\"abc\\\",r.replace(\\\"{s}\\\",n[t.length%n.length]).replace(\\\"{fontstack}\\\",t).replace(\\\"{range}\\\",e)}var o=t(\\\"../util/mapbox\\\").normalizeGlyphsURL,s=t(\\\"../util/ajax\\\").getArrayBuffer,l=t(\\\"../util/glyphs\\\"),u=t(\\\"../symbol/glyph_atlas\\\"),c=t(\\\"pbf\\\");e.exports=n,n.prototype.getSimpleGlyphs=function(t,e,r,n){void 0===this.stacks[t]&&(this.stacks[t]={}),void 0===this.atlases[t]&&(this.atlases[t]=new u);for(var a,o={},s=this.stacks[t],l=this.atlases[t],c={},h=0,f=0;f<e.length;f++){var d=e[f];if(a=Math.floor(d/256),s[a]){var p=s[a].glyphs[d],m=l.addGlyph(r,t,p,3);p&&(o[d]=new i(p,m,3))}else void 0===c[a]&&(c[a]=[],h++),c[a].push(d)}h||n(void 0,o,t);var v=function(e,a,s){if(!e)for(var u=this.stacks[t][a]=s.stacks[0],f=0;f<c[a].length;f++){var d=c[a][f],p=u.glyphs[d],m=l.addGlyph(r,t,p,3);p&&(o[d]=new i(p,m,3))}--h||n(void 0,o,t)}.bind(this);for(var g in c)this.loadRange(t,g,v)},n.prototype.loadRange=function(t,e,r){if(256*e>65535)return r(\\\"glyphs > 65535 not supported\\\");void 0===this.loading[t]&&(this.loading[t]={});var n=this.loading[t];if(n[e])n[e].push(r);else{n[e]=[r];var i=256*e+\\\"-\\\"+(256*e+255),o=a(t,i,this.url);s(o,function(t,r){for(var i=!t&&new l(new c(new Uint8Array(r))),a=0;a<n[e].length;a++)n[e][a](t,e,i);delete n[e]})}},n.prototype.getGlyphAtlas=function(t){return this.atlases[t]}},{\\\"../symbol/glyph_atlas\\\":397,\\\"../util/ajax\\\":424,\\\"../util/glyphs\\\":434,\\\"../util/mapbox\\\":438,pbf:477}],399:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){function n(n){c.push(t[n]),h.push(r[n]),f.push(e[n]),d++}function i(t,e,r){var n=u[t];return delete u[t],u[e]=n,h[n][0].pop(),h[n][0]=h[n][0].concat(r[0]),n}function a(t,e,r){var n=l[e];return delete l[e],l[t]=n,h[n][0].shift(),h[n][0]=r[0].concat(h[n][0]),n}function o(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\\\":\\\"+n.x+\\\":\\\"+n.y}var s,l={},u={},c=[],h=[],f=[],d=0;for(s=0;s<t.length;s++){var p=r[s],m=e[s];if(m){var v=o(m,p),g=o(m,p,!0);if(v in u&&g in l&&u[v]!==l[g]){var y=a(v,g,p),b=i(v,g,h[y]);delete l[v],delete u[g],u[o(m,h[b],!0)]=b,h[y]=null}else v in u?i(v,g,p):g in l?a(v,g,p):(n(s),l[v]=d-1,u[g]=d-1)}else n(s)}return{features:c,textFeatures:f,geometries:h}}},{}],400:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u){this.anchorPoint=t,this.tl=e,this.tr=r,this.bl=n,this.br=i,this.tex=a,this.anchorAngle=o,this.glyphAngle=s,this.minScale=l,this.maxScale=u}function i(t,e,r,i,a,o,u,c,h){var f,d,p,m,v=e.image.rect,g=a.layout,y=e.left-1,b=y+v.w/e.image.pixelRatio,x=e.top-1,_=x+v.h/e.image.pixelRatio;if(\\\"none\\\"!==g[\\\"icon-text-fit\\\"]&&u){var w=b-y,M=_-x,k=g[\\\"text-size\\\"]/24,A=u.left*k,T=u.right*k,S=u.top*k,E=u.bottom*k,L=T-A,C=E-S,z=g[\\\"icon-text-fit-padding\\\"][0],I=g[\\\"icon-text-fit-padding\\\"][1],D=g[\\\"icon-text-fit-padding\\\"][2],P=g[\\\"icon-text-fit-padding\\\"][3],O=\\\"width\\\"===g[\\\"icon-text-fit\\\"]?.5*(C-M):0,R=\\\"height\\\"===g[\\\"icon-text-fit\\\"]?.5*(L-w):0,F=\\\"width\\\"===g[\\\"icon-text-fit\\\"]||\\\"both\\\"===g[\\\"icon-text-fit\\\"]?L:w,j=\\\"height\\\"===g[\\\"icon-text-fit\\\"]||\\\"both\\\"===g[\\\"icon-text-fit\\\"]?C:M;f=new s(A+R-P,S+O-z),d=new s(A+R+I+F,S+O-z),p=new s(A+R+I+F,S+O+D+j),m=new s(A+R-P,S+O+D+j)}else f=new s(y,x),d=new s(b,x),p=new s(b,_),m=new s(y,_);var N=a.getLayoutValue(\\\"icon-rotate\\\",c,h)*Math.PI/180;if(o){var B=i[t.segment];if(t.y===B.y&&t.x===B.x&&t.segment+1<i.length){var U=i[t.segment+1];N+=Math.atan2(t.y-U.y,t.x-U.x)+Math.PI}else N+=Math.atan2(t.y-B.y,t.x-B.x)}if(N){var V=Math.sin(N),H=Math.cos(N),q=[H,-V,V,H];f=f.matMult(q),d=d.matMult(q),m=m.matMult(q),p=p.matMult(q)}return[new n(new s(t.x,t.y),f,d,m,p,e.image.rect,0,0,l,1/0)]}function a(t,e,r,i,a,u){for(var c=a.layout[\\\"text-rotate\\\"]*Math.PI/180,h=a.layout[\\\"text-keep-upright\\\"],f=e.positionedGlyphs,d=[],p=0;p<f.length;p++){var m=f[p],v=m.glyph,g=v.rect;if(g){var y,b=(m.x+v.advance/2)*r,x=l;u?(y=[],x=o(y,t,b,i,t.segment,!0),h&&(x=Math.min(x,o(y,t,b,i,t.segment,!1)))):y=[{anchorPoint:new s(t.x,t.y),offset:0,angle:0,maxScale:1/0,minScale:l}];for(var _=m.x+v.left,w=m.y-v.top,M=_+g.w,k=w+g.h,A=new s(_,w),T=new s(M,w),S=new s(_,k),E=new s(M,k),L=0;L<y.length;L++){var C=y[L],z=A,I=T,D=S,P=E;if(c){var O=Math.sin(c),R=Math.cos(c),F=[R,-O,O,R];z=z.matMult(F),I=I.matMult(F),D=D.matMult(F),P=P.matMult(F)}var j=Math.max(C.minScale,x),N=(t.angle+C.offset+2*Math.PI)%(2*Math.PI),B=(C.angle+C.offset+2*Math.PI)%(2*Math.PI);d.push(new n(C.anchorPoint,z,I,D,P,g,N,B,j,C.maxScale))}}}return d}function o(t,e,r,n,i,a){var o=!a;r<0&&(a=!a),a&&i++;var u=new s(e.x,e.y),c=n[i],h=1/0;r=Math.abs(r);for(var f=l;;){var d=u.dist(c),p=r/d,m=Math.atan2(c.y-u.y,c.x-u.x);if(a||(m+=Math.PI),t.push({anchorPoint:u,offset:o?Math.PI:0,minScale:p,maxScale:h,angle:(m+2*Math.PI)%(2*Math.PI)}),p<=f)break;for(u=c;u.equals(c);)if(i+=a?1:-1,!(c=n[i]))return p;var v=c.sub(u)._unit();u=u.sub(v._mult(d)),h=p}return f}var s=t(\\\"point-geometry\\\");e.exports={getIconQuads:i,getGlyphQuads:a,SymbolQuad:n};var l=.5},{\\\"point-geometry\\\":483}],401:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=[],a=0,o=t.length;a<o;a++){var s=i(t[a].properties,e[\\\"text-field\\\"]);if(s){s=s.toString();var l=e[\\\"text-transform\\\"];\\\"uppercase\\\"===l?s=s.toLocaleUpperCase():\\\"lowercase\\\"===l&&(s=s.toLocaleLowerCase());for(var u=0;u<s.length;u++)r[s.charCodeAt(u)]=!0;n[a]=s}else n[a]=null}return n}var i=t(\\\"../util/token\\\");e.exports=n},{\\\"../util/token\\\":440}],402:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this.codePoint=t,this.x=e,this.y=r,this.glyph=n}function i(t,e,r,n,i,a){this.positionedGlyphs=t,this.text=e,this.top=r,this.bottom=n,this.left=i,this.right=a}function a(t,e,r,a,s,l,u,c,h){for(var f=[],d=new i(f,t,h[1],h[1],h[0],h[0]),p=0,m=0;m<t.length;m++){var v=t.charCodeAt(m),g=e[v];g&&(f.push(new n(v,p,-17,g)),p+=g.advance+c)}return!!f.length&&(o(d,e,a,r,s,l,u,h),d)}function o(t,e,r,n,i,a,o,u){var c=null,d=0,p=0,m=0,v=0,g=t.positionedGlyphs;if(n)for(var y=0;y<g.length;y++){var b=g[y];if(b.x-=d,b.y+=r*m,b.x>n&&null!==c){var x=g[c+1].x;v=Math.max(x,v);for(var _=c+1;_<=y;_++)g[_].y+=r,g[_].x-=x;if(o){var w=c;h[g[c].codePoint]&&w--,s(g,e,p,w,o)}p=c+1,c=null,d+=x,m++}f[b.codePoint]&&(c=y)}var M=g[g.length-1],k=M.x+e[M.codePoint].advance;v=Math.max(v,k);var A=(m+1)*r;s(g,e,p,g.length-1,o),l(g,o,i,a,v,r,m,u),t.top+=-a*A,t.bottom=t.top+A,t.left+=-i*v,t.right=t.left+v}function s(t,e,r,n,i){for(var a=e[t[n].codePoint].advance,o=(t[n].x+a)*i,s=r;s<=n;s++)t[s].x-=o}\\n\",\n       \"function l(t,e,r,n,i,a,o,s){for(var l=(e-r)*i+s[0],u=(-n*(o+1)+.5)*a+s[1],c=0;c<t.length;c++)t[c].x+=l,t[c].y+=u}function u(t,e){if(!t||!t.rect)return null;var r=e[\\\"icon-offset\\\"][0],n=e[\\\"icon-offset\\\"][1],i=r-t.width/2,a=i+t.width,o=n-t.height/2;return new c(t,o,o+t.height,i,a)}function c(t,e,r,n,i){this.image=t,this.top=e,this.bottom=r,this.left=n,this.right=i}e.exports={shapeText:a,shapeIcon:u};var h={32:!0,8203:!0},f={32:!0,38:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0}},{}],403:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.width=t,this.height=e,this.bin=new o(t,e),this.images={},this.data=!1,this.texture=0,this.filter=0,this.pixelRatio=1,this.dirty=!0}function i(t,e,r,n,i,a,o,s,l,u,c){var h,f,d=n*e+r,p=s*a+o;if(c)for(p-=a,f=-1;f<=u;f++,d=((f+u)%u+n)*e+r,p+=a)for(h=-1;h<=l;h++)i[p+h]=t[d+(h+l)%l];else for(f=0;f<u;f++,d+=e,p+=a)for(h=0;h<l;h++)i[p+h]=t[d+h]}function a(t,e,r,n,i){this.rect=t,this.width=e,this.height=r,this.sdf=n,this.pixelRatio=i}var o=t(\\\"shelf-pack\\\"),s=t(\\\"../util/browser\\\"),l=t(\\\"../util/util\\\");e.exports=n,n.prototype.allocateImage=function(t,e){t/=this.pixelRatio,e/=this.pixelRatio;var r=t+2+(4-(t+2)%4),n=e+2+(4-(e+2)%4),i=this.bin.packOne(r,n);return i||(l.warnOnce(\\\"SpriteAtlas out of space.\\\"),null)},n.prototype.getImage=function(t,e){if(this.images[t])return this.images[t];if(!this.sprite)return null;var r=this.sprite.getSpritePosition(t);if(!r.width||!r.height)return null;var n=this.allocateImage(r.width,r.height);if(!n)return null;var i=new a(n,r.width/r.pixelRatio,r.height/r.pixelRatio,r.sdf,r.pixelRatio/this.pixelRatio);return this.images[t]=i,this.copy(n,r,e),i},n.prototype.getPosition=function(t,e){var r=this.getImage(t,e),n=r&&r.rect;if(!n)return null;var i=r.width*r.pixelRatio,a=r.height*r.pixelRatio;return{size:[r.width,r.height],tl:[(n.x+1)/this.width,(n.y+1)/this.height],br:[(n.x+1+i)/this.width,(n.y+1+a)/this.height]}},n.prototype.allocate=function(){if(!this.data){var t=Math.floor(this.width*this.pixelRatio),e=Math.floor(this.height*this.pixelRatio);this.data=new Uint32Array(t*e);for(var r=0;r<this.data.length;r++)this.data[r]=0}},n.prototype.copy=function(t,e,r){if(this.sprite.img.data){var n=new Uint32Array(this.sprite.img.data.buffer);this.allocate();var a=this.data;i(n,this.sprite.img.width,e.x,e.y,a,this.width*this.pixelRatio,(t.x+1)*this.pixelRatio,(t.y+1)*this.pixelRatio,e.width,e.height,r),this.dirty=!0}},n.prototype.setSprite=function(t){t&&(this.pixelRatio=s.devicePixelRatio>1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},n.prototype.addIcons=function(t,e){for(var r=0;r<t.length;r++)this.getImage(t[r]);e(null,this.images)},n.prototype.bind=function(t,e){var r=!1;this.texture?t.bindTexture(t.TEXTURE_2D,this.texture):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),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),r=!0);var n=e?t.LINEAR:t.NEAREST;n!==this.filter&&(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n),this.filter=n),this.dirty&&(this.allocate(),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.width*this.pixelRatio,this.height*this.pixelRatio,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)):t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width*this.pixelRatio,this.height*this.pixelRatio,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(this.data.buffer)),this.dirty=!1)}},{\\\"../util/browser\\\":425,\\\"../util/util\\\":441,\\\"shelf-pack\\\":513}],404:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/struct_array\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"point-geometry\\\"),o=e.exports=new n({members:[{type:\\\"Uint16\\\",name:\\\"textBoxStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"textBoxEndIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconBoxStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconBoxEndIndex\\\"},{type:\\\"Uint16\\\",name:\\\"glyphQuadStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"glyphQuadEndIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconQuadStartIndex\\\"},{type:\\\"Uint16\\\",name:\\\"iconQuadEndIndex\\\"},{type:\\\"Int16\\\",name:\\\"anchorPointX\\\"},{type:\\\"Int16\\\",name:\\\"anchorPointY\\\"},{type:\\\"Int8\\\",name:\\\"index\\\"}]});i.extendAll(o.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"point-geometry\\\":483}],405:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/struct_array\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"point-geometry\\\"),o=t(\\\"./quads\\\").SymbolQuad,s=e.exports=new n({members:[{type:\\\"Int16\\\",name:\\\"anchorPointX\\\"},{type:\\\"Int16\\\",name:\\\"anchorPointY\\\"},{type:\\\"Float32\\\",name:\\\"tlX\\\"},{type:\\\"Float32\\\",name:\\\"tlY\\\"},{type:\\\"Float32\\\",name:\\\"trX\\\"},{type:\\\"Float32\\\",name:\\\"trY\\\"},{type:\\\"Float32\\\",name:\\\"blX\\\"},{type:\\\"Float32\\\",name:\\\"blY\\\"},{type:\\\"Float32\\\",name:\\\"brX\\\"},{type:\\\"Float32\\\",name:\\\"brY\\\"},{type:\\\"Int16\\\",name:\\\"texH\\\"},{type:\\\"Int16\\\",name:\\\"texW\\\"},{type:\\\"Int16\\\",name:\\\"texX\\\"},{type:\\\"Int16\\\",name:\\\"texY\\\"},{type:\\\"Float32\\\",name:\\\"anchorAngle\\\"},{type:\\\"Float32\\\",name:\\\"glyphAngle\\\"},{type:\\\"Float32\\\",name:\\\"maxScale\\\"},{type:\\\"Float32\\\",name:\\\"minScale\\\"}]});i.extendAll(s.prototype.StructType.prototype,{get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)},get SymbolQuad(){return new o(this.anchorPoint,new a(this.tlX,this.tlY),new a(this.trX,this.trY),new a(this.blX,this.blY),new a(this.brX,this.brY),{x:this.texX,y:this.texY,h:this.texH,w:this.texW,height:this.texH,width:this.texW},this.anchorAngle,this.glyphAngle,this.minScale,this.maxScale)}})},{\\\"../util/struct_array\\\":439,\\\"../util/util\\\":441,\\\"./quads\\\":400,\\\"point-geometry\\\":483}],406:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/dom\\\"),i=t(\\\"point-geometry\\\"),a={scrollZoom:t(\\\"./handler/scroll_zoom\\\"),boxZoom:t(\\\"./handler/box_zoom\\\"),dragRotate:t(\\\"./handler/drag_rotate\\\"),dragPan:t(\\\"./handler/drag_pan\\\"),keyboard:t(\\\"./handler/keyboard\\\"),doubleClickZoom:t(\\\"./handler/dblclick_zoom\\\"),touchZoomRotate:t(\\\"./handler/touch_zoom_rotate\\\")};e.exports=function(t,e){function r(t){g(\\\"mouseout\\\",t)}function o(e){t.stop(),_=n.mousePos(b,e),g(\\\"mousedown\\\",e)}function s(e){var r=t.dragRotate&&t.dragRotate.isActive();x&&!r&&g(\\\"contextmenu\\\",x),x=null,g(\\\"mouseup\\\",e)}function l(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==b;)r=r.parentNode;r===b&&g(\\\"mousemove\\\",e)}}function u(e){t.stop(),y(\\\"touchstart\\\",e),!e.touches||e.touches.length>1||(w?(clearTimeout(w),w=null,g(\\\"dblclick\\\",e)):w=setTimeout(d,300))}function c(t){y(\\\"touchmove\\\",t)}function h(t){y(\\\"touchend\\\",t)}function f(t){y(\\\"touchcancel\\\",t)}function d(){w=null}function p(t){n.mousePos(b,t).equals(_)&&g(\\\"click\\\",t)}function m(t){g(\\\"dblclick\\\",t),t.preventDefault()}function v(t){x=t,t.preventDefault()}function g(e,r){var i=n.mousePos(b,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function y(e,r){var a=n.touchPos(b,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var b=t.getCanvasContainer(),x=null,_=null,w=null;for(var M in a)t[M]=new a[M](t,e),e.interactive&&e[M]&&t[M].enable();b.addEventListener(\\\"mouseout\\\",r,!1),b.addEventListener(\\\"mousedown\\\",o,!1),b.addEventListener(\\\"mouseup\\\",s,!1),b.addEventListener(\\\"mousemove\\\",l,!1),b.addEventListener(\\\"touchstart\\\",u,!1),b.addEventListener(\\\"touchend\\\",h,!1),b.addEventListener(\\\"touchmove\\\",c,!1),b.addEventListener(\\\"touchcancel\\\",f,!1),b.addEventListener(\\\"click\\\",p,!1),b.addEventListener(\\\"dblclick\\\",m,!1),b.addEventListener(\\\"contextmenu\\\",v,!1)}},{\\\"../util/dom\\\":427,\\\"./handler/box_zoom\\\":412,\\\"./handler/dblclick_zoom\\\":413,\\\"./handler/drag_pan\\\":414,\\\"./handler/drag_rotate\\\":415,\\\"./handler/keyboard\\\":416,\\\"./handler/scroll_zoom\\\":417,\\\"./handler/touch_zoom_rotate\\\":418,\\\"point-geometry\\\":483}],407:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../util/util\\\"),i=t(\\\"../util/interpolate\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"../geo/lng_lat_bounds\\\"),l=t(\\\"point-geometry\\\"),u=e.exports=function(){};n.extend(u.prototype,{getCenter:function(){return this.transform.center},setCenter:function(t,e){return this.jumpTo({center:t},e),this},panBy:function(t,e,r){return this.panTo(this.transform.center,n.extend({offset:l.convert(t).mult(-1)},e),r),this},panTo:function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},getZoom:function(){return this.transform.zoom},setZoom:function(t,e){return this.jumpTo({zoom:t},e),this},zoomTo:function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},zoomIn:function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},zoomOut:function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},getBearing:function(){return this.transform.bearing},setBearing:function(t,e){return this.jumpTo({bearing:t},e),this},rotateTo:function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},resetNorth:function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},snapToNorth:function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},getPitch:function(){return this.transform.pitch},setPitch:function(t,e){return this.jumpTo({pitch:t},e),this},fitBounds:function(t,e,r){e=n.extend({padding:0,offset:[0,0],maxZoom:1/0},e),t=s.convert(t);var i=l.convert(e.offset),a=this.transform,o=a.project(t.getNorthWest()),u=a.project(t.getSouthEast()),c=u.sub(o),h=(a.width-2*e.padding-2*Math.abs(i.x))/c.x,f=(a.height-2*e.padding-2*Math.abs(i.y))/c.y;return e.center=a.unproject(o.add(u).div(2)),e.zoom=Math.min(a.scaleZoom(a.scale*Math.min(h,f)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r)},jumpTo:function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\\\"zoom\\\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),\\\"center\\\"in t&&(r.center=o.convert(t.center)),\\\"bearing\\\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\\\"pitch\\\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\\\"movestart\\\",e).fire(\\\"move\\\",e),n&&this.fire(\\\"zoomstart\\\",e).fire(\\\"zoom\\\",e).fire(\\\"zoomend\\\",e),i&&this.fire(\\\"rotate\\\",e),a&&this.fire(\\\"pitch\\\",e),this.fire(\\\"moveend\\\",e)},easeTo:function(t,e){this.stop(),t=n.extend({offset:[0,0],duration:500,easing:n.ease},t);var r,a,s=this.transform,u=l.convert(t.offset),c=this.getZoom(),h=this.getBearing(),f=this.getPitch(),d=\\\"zoom\\\"in t?+t.zoom:c,p=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,h):h,m=\\\"pitch\\\"in t?+t.pitch:f;\\\"center\\\"in t?(r=o.convert(t.center),a=s.centerPoint.add(u)):\\\"around\\\"in t?(r=o.convert(t.around),a=s.locationPoint(r)):(a=s.centerPoint.add(u),r=s.pointLocation(a));var v=s.locationPoint(r);return!1===t.animate&&(t.duration=0),this.zooming=d!==c,this.rotating=h!==p,this.pitching=m!==f,t.noMoveStart||this.fire(\\\"movestart\\\",e),this.zooming&&this.fire(\\\"zoomstart\\\",e),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(s.zoom=i(c,d,t)),this.rotating&&(s.bearing=i(h,p,t)),this.pitching&&(s.pitch=i(f,m,t)),s.setLocationAtPoint(r,v.add(a.sub(v)._mult(t))),this.fire(\\\"move\\\",e),this.zooming&&this.fire(\\\"zoom\\\",e),this.rotating&&this.fire(\\\"rotate\\\",e),this.pitching&&this.fire(\\\"pitch\\\",e)},function(){t.delayEndEvents?this._onEaseEnd=setTimeout(this._easeToEnd.bind(this,e),t.delayEndEvents):this._easeToEnd(e)}.bind(this),t),this},_easeToEnd:function(t){var e=this.zooming;this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\\\"zoomend\\\",t),this.fire(\\\"moveend\\\",t)},flyTo:function(t,e){function r(t){var e=(A*A-k*k+(t?-1:1)*L*L*T*T)/(2*(t?A:k)*L*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function u(t){return a(t)/s(t)}this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=l.convert(t.offset),f=this.getZoom(),d=this.getBearing(),p=this.getPitch(),m=\\\"center\\\"in t?o.convert(t.center):this.getCenter(),v=\\\"zoom\\\"in t?+t.zoom:f,g=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,d):d,y=\\\"pitch\\\"in t?+t.pitch:p;Math.abs(c.center.lng)+Math.abs(m.lng)>180&&(c.center.lng>0&&m.lng<0?m.lng+=360:c.center.lng<0&&m.lng>0&&(m.lng-=360));var b=c.zoomScale(v-f),x=c.point,_=\\\"center\\\"in t?c.project(m).sub(h.div(b)):x,w=c.worldSize,M=t.curve,k=Math.max(c.width,c.height),A=k/b,T=_.sub(x).mag();if(\\\"minZoom\\\"in t){var S=n.clamp(Math.min(t.minZoom,f,v),c.minZoom,c.maxZoom),E=k/c.zoomScale(S-f);M=Math.sqrt(E/T*2)}var L=M*M,C=r(0),z=function(t){return s(C)/s(C+M*t)},I=function(t){return k*((s(C)*u(C+M*t)-a(C))/L)/T},D=(r(1)-C)/M;if(Math.abs(T)<1e-6){if(Math.abs(k-A)<1e-6)return this.easeTo(t);var P=A<k?-1:1;D=Math.abs(Math.log(A/k))/M,I=function(){return 0},z=function(t){return Math.exp(P*M*t)}}if(\\\"duration\\\"in t)t.duration=+t.duration;else{var O=\\\"screenSpeed\\\"in t?+t.screenSpeed/M:+t.speed;t.duration=1e3*D/O}return this.zooming=!0,d!==g&&(this.rotating=!0),p!==y&&(this.pitching=!0),this.fire(\\\"movestart\\\",e),this.fire(\\\"zoomstart\\\",e),this._ease(function(t){var r=t*D,n=I(r);c.zoom=f+c.scaleZoom(1/z(r)),c.center=c.unproject(x.add(_.sub(x).mult(n)),w),this.rotating&&(c.bearing=i(d,g,t)),this.pitching&&(c.pitch=i(p,y,t)),this.fire(\\\"move\\\",e),this.fire(\\\"zoom\\\",e),this.rotating&&this.fire(\\\"rotate\\\",e),this.pitching&&this.fire(\\\"pitch\\\",e)},function(){this.zooming=!1,this.rotating=!1,this.pitching=!1,this.fire(\\\"zoomend\\\",e),this.fire(\\\"moveend\\\",e)},t),this},isEasing:function(){return!!this._abortFn},stop:function(){return this._abortFn&&(this._abortFn(),this._finishEase()),this},_ease:function(t,e,r){this._finishFn=e,this._abortFn=a.timed(function(e){t.call(this,r.easing(e)),1===e&&this._finishEase()},!1===r.animate?0:r.duration,this)},_finishEase:function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},_normalizeBearing:function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},_updateEasing:function(t,e,r){var i;if(this.ease){var a=this.ease,o=(Date.now()-a.start)/a.duration,s=a.easing(o+.01)-a.easing(o),l=.27/Math.sqrt(s*s+1e-4)*.01,u=Math.sqrt(.0729-l*l);i=n.bezier(l,u,.25,1)}else i=r?n.bezier.apply(n,r):n.ease;return this.ease={start:(new Date).getTime(),to:Math.pow(2,e),duration:t,easing:i},i}})},{\\\"../geo/lng_lat\\\":338,\\\"../geo/lng_lat_bounds\\\":339,\\\"../util/browser\\\":425,\\\"../util/interpolate\\\":435,\\\"../util/util\\\":441,\\\"point-geometry\\\":483}],408:[function(t,e,r){\\\"use strict\\\";function n(t){o.setOptions(this,t)}var i=t(\\\"./control\\\"),a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/util\\\");e.exports=n,n.createAttributionString=function(t){var e=[];for(var r in t){var n=t[r];n.attribution&&e.indexOf(n.attribution)<0&&e.push(n.attribution)}return e.sort(function(t,e){return t.length-e.length}),e=e.filter(function(t,r){for(var n=r+1;n<e.length;n++)if(e[n].indexOf(t)>=0)return!1;return!0}),e.join(\\\" | \\\")},n.prototype=o.inherit(i,{options:{position:\\\"bottom-right\\\"},onAdd:function(t){var e=this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl-attrib\\\",t.getContainer());return this._update(),t.on(\\\"source.load\\\",this._update.bind(this)),t.on(\\\"source.change\\\",this._update.bind(this)),t.on(\\\"source.remove\\\",this._update.bind(this)),t.on(\\\"moveend\\\",this._updateEditLink.bind(this)),e},_update:function(){this._map.style&&(this._container.innerHTML=n.createAttributionString(this._map.style.sources)),this._editLink=this._container.getElementsByClassName(\\\"mapbox-improve-map\\\")[0],this._updateEditLink()},_updateEditLink:function(){if(this._editLink){var t=this._map.getCenter();this._editLink.href=\\\"https://www.mapbox.com/map-feedback/#/\\\"+t.lng+\\\"/\\\"+t.lat+\\\"/\\\"+Math.round(this._map.getZoom()+1)}}})},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"./control\\\":409}],409:[function(t,e,r){\\\"use strict\\\";function n(){}var i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/evented\\\");e.exports=n,n.prototype={addTo:function(t){this._map=t;var e=this._container=this.onAdd(t);if(this.options&&this.options.position){var r=this.options.position,n=t._controlCorners[r];e.className+=\\\" mapboxgl-ctrl\\\",-1!==r.indexOf(\\\"bottom\\\")?n.insertBefore(e,n.firstChild):n.appendChild(e)}return this},remove:function(){return this._container.parentNode.removeChild(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this}},i.extend(n.prototype,a)},{\\\"../../util/evented\\\":433,\\\"../../util/util\\\":441}],410:[function(t,e,r){\\\"use strict\\\";function n(t){s.setOptions(this,t)}var i=t(\\\"./control\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/dom\\\"),s=t(\\\"../../util/util\\\");e.exports=n;var l={enableHighAccuracy:!1,timeout:6e3};n.prototype=s.inherit(i,{options:{position:\\\"top-right\\\"},onAdd:function(t){var e=this._container=o.create(\\\"div\\\",\\\"mapboxgl-ctrl-group\\\",t.getContainer());return a.supportsGeolocation?(this._container.addEventListener(\\\"contextmenu\\\",this._onContextMenu.bind(this)),this._geolocateButton=o.create(\\\"button\\\",\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\\\",this._container),this._geolocateButton.type=\\\"button\\\",this._geolocateButton.addEventListener(\\\"click\\\",this._onClickGeolocate.bind(this)),e):e},_onContextMenu:function(t){t.preventDefault()},_onClickGeolocate:function(){navigator.geolocation.getCurrentPosition(this._success.bind(this),this._error.bind(this),l),this._timeoutId=setTimeout(this._finish.bind(this),1e4)},_success:function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\\\"geolocate\\\",t),this._finish()},_error:function(t){this.fire(\\\"error\\\",t),this._finish()},_finish:function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}})},{\\\"../../util/browser\\\":425,\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"./control\\\":409}],411:[function(t,e,r){\\\"use strict\\\";function n(t){s.setOptions(this,t)}function i(t){return new MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var a=t(\\\"./control\\\"),o=t(\\\"../../util/dom\\\"),s=t(\\\"../../util/util\\\");e.exports=n,n.prototype=s.inherit(a,{options:{position:\\\"top-right\\\"},onAdd:function(t){var e=\\\"mapboxgl-ctrl\\\",r=this._container=o.create(\\\"div\\\",e+\\\"-group\\\",t.getContainer());return this._container.addEventListener(\\\"contextmenu\\\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(e+\\\"-icon \\\"+e+\\\"-zoom-in\\\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(e+\\\"-icon \\\"+e+\\\"-zoom-out\\\",t.zoomOut.bind(t)),this._compass=this._createButton(e+\\\"-icon \\\"+e+\\\"-compass\\\",t.resetNorth.bind(t)),this._compassArrow=o.create(\\\"div\\\",\\\"arrow\\\",this._compass),this._compass.addEventListener(\\\"mousedown\\\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),t.on(\\\"rotate\\\",this._rotateCompassArrow.bind(this)),this._rotateCompassArrow(),this._el=t.getCanvasContainer(),r},_onContextMenu:function(t){t.preventDefault()},_onCompassDown:function(t){0===t.button&&(o.disableDrag(),document.addEventListener(\\\"mousemove\\\",this._onCompassMove),document.addEventListener(\\\"mouseup\\\",this._onCompassUp),this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassMove:function(t){0===t.button&&(this._el.dispatchEvent(i(t)),t.stopPropagation())},_onCompassUp:function(t){0===t.button&&(document.removeEventListener(\\\"mousemove\\\",this._onCompassMove),document.removeEventListener(\\\"mouseup\\\",this._onCompassUp),o.enableDrag(),this._el.dispatchEvent(i(t)),t.stopPropagation())},_createButton:function(t,e){var r=o.create(\\\"button\\\",t,this._container);return r.type=\\\"button\\\",r.addEventListener(\\\"click\\\",function(){e()}),r},_rotateCompassArrow:function(){var t=\\\"rotate(\\\"+this._map.transform.angle*(180/Math.PI)+\\\"deg)\\\";this._compassArrow.style.transform=t}})},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"./control\\\":409}],412:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),o.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../geo/lng_lat_bounds\\\"),o=t(\\\"../../util/util\\\");e.exports=n,n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onMouseDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onMouseDown),this._enabled=!1)},_onMouseDown:function(t){t.shiftKey&&0===t.button&&(document.addEventListener(\\\"mousemove\\\",this._onMouseMove,!1),document.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),document.addEventListener(\\\"mouseup\\\",this._onMouseUp,!1),i.disableDrag(),this._startPos=i.mousePos(this._el,t),this._active=!0)},_onMouseMove:function(t){var e=this._startPos,r=i.mousePos(this._el,t);this._box||(this._box=i.create(\\\"div\\\",\\\"mapboxgl-boxzoom\\\",this._container),this._container.classList.add(\\\"mapboxgl-crosshair\\\"),this._fireEvent(\\\"boxzoomstart\\\",t));var n=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);i.setTransform(this._box,\\\"translate(\\\"+n+\\\"px,\\\"+o+\\\"px)\\\"),this._box.style.width=a-n+\\\"px\\\",this._box.style.height=s-o+\\\"px\\\"},_onMouseUp:function(t){if(0===t.button){var e=this._startPos,r=i.mousePos(this._el,t),n=new a(this._map.unproject(e),this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\\\"boxzoomcancel\\\",t):this._map.fitBounds(n,{linear:!0}).fire(\\\"boxzoomend\\\",{originalEvent:t,boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\\\"boxzoomcancel\\\",t))},_finish:function(){this._active=!1,document.removeEventListener(\\\"mousemove\\\",this._onMouseMove,!1),document.removeEventListener(\\\"keydown\\\",this._onKeyDown,!1),document.removeEventListener(\\\"mouseup\\\",this._onMouseUp,!1),this._container.classList.remove(\\\"mapboxgl-crosshair\\\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),i.enableDrag()},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})}}},{\\\"../../geo/lng_lat_bounds\\\":339,\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],413:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._onDblClick=this._onDblClick.bind(this)}e.exports=n,n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._map.on(\\\"dblclick\\\",this._onDblClick),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._map.off(\\\"dblclick\\\",this._onDblClick),this._enabled=!1)},_onDblClick:function(t){this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)}}},{}],414:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../util/util\\\");e.exports=n;var o=a.bezier(0,0,.3,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._el.addEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._el.removeEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!1)},_onDown:function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(document.addEventListener(\\\"touchmove\\\",this._onMove),document.addEventListener(\\\"touchend\\\",this._onTouchEnd)):(document.addEventListener(\\\"mousemove\\\",this._onMove),document.addEventListener(\\\"mouseup\\\",this._onMouseUp)),this._active=!1,this._startPos=this._pos=i.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\\\"dragstart\\\",t),this._fireEvent(\\\"movestart\\\",t));var e=i.mousePos(this._el,t),r=this._map;r.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),r.transform.setLocationAtPoint(r.transform.pointLocation(this._pos),e),this._fireEvent(\\\"drag\\\",t),this._fireEvent(\\\"move\\\",t),this._pos=e,t.preventDefault()}},_onUp:function(t){if(this.isActive()){this._active=!1,this._fireEvent(\\\"dragend\\\",t),this._drainInertiaBuffer();var e=function(){this._fireEvent(\\\"moveend\\\",t)}.bind(this),r=this._inertia;if(r.length<2)return void e();var n=r[r.length-1],i=r[0],a=n[1].sub(i[1]),s=(n[0]-i[0])/1e3;if(0===s||n[1].equals(i[1]))return void e();var l=a.mult(.3/s),u=l.mag();u>1400&&(u=1400,l._unit()._mult(u));var c=u/750,h=l.mult(-c/2);this._map.panBy(h,{duration:1e3*c,easing:o,noMoveStart:!0},{originalEvent:t})}},_onMouseUp:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(\\\"mousemove\\\",this._onMove),document.removeEventListener(\\\"mouseup\\\",this._onMouseUp))},_onTouchEnd:function(t){this._ignoreEvent(t)||(this._onUp(t),document.removeEventListener(\\\"touchmove\\\",this._onMove),document.removeEventListener(\\\"touchend\\\",this._onTouchEnd))},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;return\\\"mousemove\\\"===t.type?!1&t.buttons:0!==t.button},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()}}},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],415:[function(t,e,r){\\\"use strict\\\";function n(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,o.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"point-geometry\\\"),o=t(\\\"../../util/util\\\");e.exports=n;var s=o.bezier(0,0,.25,1);n.prototype={_enabled:!1,_active:!1,isEnabled:function(){return this._enabled},isActive:function(){return this._active},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!1)},_onDown:function(t){if(!this._ignoreEvent(t)&&!this.isActive()){document.addEventListener(\\\"mousemove\\\",this._onMove),document.addEventListener(\\\"mouseup\\\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=i.mousePos(this._el,t),this._center=this._map.transform.centerPoint;var e=this._startPos.sub(this._center);e.mag()<200&&(this._center=this._startPos.add(new a(-200,0)._rotate(e.angle()))),t.preventDefault()}},_onMove:function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._fireEvent(\\\"rotatestart\\\",t),this._fireEvent(\\\"movestart\\\",t));var e=this._map;e.stop();var r=this._pos,n=i.mousePos(this._el,t),a=this._center,o=r.sub(a).angleWith(n.sub(a))/Math.PI*180,s=e.getBearing()-o,l=this._inertia,u=l[l.length-1];this._drainInertiaBuffer(),l.push([Date.now(),e._normalizeBearing(s,u[1])]),e.transform.bearing=s,this._fireEvent(\\\"rotate\\\",t),this._fireEvent(\\\"move\\\",t),this._pos=n}},_onUp:function(t){if(!this._ignoreEvent(t)&&(document.removeEventListener(\\\"mousemove\\\",this._onMove),document.removeEventListener(\\\"mouseup\\\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\\\"rotateend\\\",t),this._drainInertiaBuffer();var e=this._map,r=e.getBearing(),n=this._inertia,i=function(){Math.abs(r)<this._bearingSnap?e.resetNorth({noMoveStart:!0},{originalEvent:t}):this._fireEvent(\\\"moveend\\\",t)}.bind(this);if(n.length<2)return void i();var a=n[0],o=n[n.length-1],l=n[n.length-2],u=e._normalizeBearing(r,l[1]),c=o[1]-a[1],h=c<0?-1:1,f=(o[0]-a[0])/1e3;if(0===c||0===f)return void i();var d=Math.abs(c*(.25/f));d>180&&(d=180);var p=d/180;u+=h*d*(p/2),Math.abs(e._normalizeBearing(u,0))<this._bearingSnap&&(u=e._normalizeBearing(0,u)),e.rotateTo(u,{duration:1e3*p,easing:s,noMoveStart:!0},{originalEvent:t})}},_fireEvent:function(t,e){return this._map.fire(t,{originalEvent:e})},_ignoreEvent:function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragPan&&e.dragPan.isActive())return!0;if(t.touches)return t.touches.length>1;var r=t.ctrlKey?1:2,n=t.ctrlKey?0:2;return\\\"mousemove\\\"===t.type?t.buttons&0===r:t.button!==n},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()}}},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441,\\\"point-geometry\\\":483}],416:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)}e.exports=n;n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"keydown\\\",this._onKeyDown),this._enabled=!1)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=this._map,r={originalEvent:t};if(!e.isEasing())switch(t.keyCode){case 61:case 107:case 171:case 187:e.zoomTo(Math.round(e.getZoom())+(t.shiftKey?2:1),r);break;case 189:case 109:case 173:e.zoomTo(Math.round(e.getZoom())-(t.shiftKey?2:1),r);break;case 37:t.shiftKey?e.easeTo({bearing:e.getBearing()-2},r):(t.preventDefault(),e.panBy([-80,0],r));break;case 39:t.shiftKey?e.easeTo({bearing:e.getBearing()+2},r):(t.preventDefault(),e.panBy([80,0],r));break;case 38:t.shiftKey?e.easeTo({pitch:e.getPitch()+5},r):(t.preventDefault(),e.panBy([0,-80],r));break;case 40:t.shiftKey?e.easeTo({pitch:Math.max(e.getPitch()-5,0)},r):(t.preventDefault(),e.panBy([0,80],r))}}}}},{}],417:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),o.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/util\\\");e.exports=n;var s=\\\"undefined\\\"!=typeof navigator?navigator.userAgent.toLowerCase():\\\"\\\",l=-1!==s.indexOf(\\\"firefox\\\"),u=-1!==s.indexOf(\\\"safari\\\")&&-1===s.indexOf(\\\"chrom\\\");n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"wheel\\\",this._onWheel,!1),this._el.addEventListener(\\\"mousewheel\\\",this._onWheel,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"wheel\\\",this._onWheel),this._el.removeEventListener(\\\"mousewheel\\\",this._onWheel),this._enabled=!1)},_onWheel:function(t){var e;\\\"wheel\\\"===t.type?(e=t.deltaY,l&&t.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\\\"mousewheel\\\"===t.type&&(e=-t.wheelDeltaY,u&&(e/=3));var r=a.now(),n=r-(this._time||0);this._pos=i.mousePos(this._el,t),this._time=r,0!==e&&e%4.000244140625==0?(this._type=\\\"wheel\\\",e=Math.floor(e/4)):0!==e&&Math.abs(e)<4?this._type=\\\"trackpad\\\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(n*e)<200?\\\"trackpad\\\":\\\"wheel\\\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&this._zoom(-e,t),t.preventDefault()},_onTimeout:function(){this._type=\\\"wheel\\\",this._zoom(-this._lastValue)},_zoom:function(t,e){if(0!==t){var r=this._map,n=2/(1+Math.exp(-Math.abs(t/100)));t<0&&0!==n&&(n=1/n);var i=r.ease?r.ease.to:r.transform.scale,a=r.transform.scaleZoom(i*n);r.zoomTo(a,{duration:0,around:r.unproject(this._pos),delayEndEvents:200},{originalEvent:e})}}}},{\\\"../../util/browser\\\":425,\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],418:[function(t,e,r){\\\"use strict\\\";function n(t){this._map=t,this._el=t.getCanvasContainer(),a.bindHandlers(this)}var i=t(\\\"../../util/dom\\\"),a=t(\\\"../../util/util\\\");e.exports=n;var o=a.bezier(0,0,.15,1);n.prototype={_enabled:!1,isEnabled:function(){return this._enabled},enable:function(){this.isEnabled()||(this._el.addEventListener(\\\"touchstart\\\",this._onStart,!1),this._enabled=!0)},disable:function(){this.isEnabled()&&(this._el.removeEventListener(\\\"touchstart\\\",this._onStart),this._enabled=!1)},disableRotation:function(){this._rotationDisabled=!0},enableRotation:function(){this._rotationDisabled=!1},_onStart:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],\\n\",\n       \"document.addEventListener(\\\"touchmove\\\",this._onMove,!1),document.addEventListener(\\\"touchend\\\",this._onEnd,!1)}},_onMove:function(t){if(2===t.touches.length){var e=i.mousePos(this._el,t.touches[0]),r=i.mousePos(this._el,t.touches[1]),n=e.add(r).div(2),a=e.sub(r),o=a.mag()/this._startVec.mag(),s=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,l=this._map;if(this._gestureIntent){var u={duration:0,around:l.unproject(n)};\\\"rotate\\\"===this._gestureIntent&&(u.bearing=this._startBearing+s),\\\"zoom\\\"!==this._gestureIntent&&\\\"rotate\\\"!==this._gestureIntent||(u.zoom=l.transform.scaleZoom(this._startScale*o)),l.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),o,n]),l.easeTo(u,{originalEvent:t})}else{var c=Math.abs(1-o)>.15;Math.abs(s)>4?this._gestureIntent=\\\"rotate\\\":c&&(this._gestureIntent=\\\"zoom\\\"),this._gestureIntent&&(this._startVec=a,this._startScale=l.transform.scale,this._startBearing=l.transform.bearing)}t.preventDefault()}},_onEnd:function(t){document.removeEventListener(\\\"touchmove\\\",this._onMove),document.removeEventListener(\\\"touchend\\\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)return void r.snapToNorth({},{originalEvent:t});var n=e[e.length-1],i=e[0],a=r.transform.scaleZoom(this._startScale*n[1]),s=r.transform.scaleZoom(this._startScale*i[1]),l=a-s,u=(n[0]-i[0])/1e3,c=n[2];if(0===u||a===s)return void r.snapToNorth({},{originalEvent:t});var h=.15*l/u;Math.abs(h)>2.5&&(h=h>0?2.5:-2.5);var f=1e3*Math.abs(h/(12*.15)),d=a+h*f/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:f,easing:o,around:r.unproject(c)},{originalEvent:t})},_drainInertiaBuffer:function(){for(var t=this._inertia,e=Date.now();t.length>2&&e-t[0][0]>160;)t.shift()}}},{\\\"../../util/dom\\\":427,\\\"../../util/util\\\":441}],419:[function(t,e,r){\\\"use strict\\\";function n(){i.bindAll([\\\"_onHashChange\\\",\\\"_updateHash\\\"],this)}e.exports=n;var i=t(\\\"../util/util\\\");n.prototype={addTo:function(t){return this._map=t,window.addEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.on(\\\"moveend\\\",this._updateHash),this},remove:function(){return window.removeEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.off(\\\"moveend\\\",this._updateHash),delete this._map,this},_onHashChange:function(){var t=location.hash.replace(\\\"#\\\",\\\"\\\").split(\\\"/\\\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0)}),!0)},_updateHash:function(){var t=this._map.getCenter(),e=this._map.getZoom(),r=this._map.getBearing(),n=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),i=\\\"#\\\"+Math.round(100*e)/100+\\\"/\\\"+t.lat.toFixed(n)+\\\"/\\\"+t.lng.toFixed(n)+(r?\\\"/\\\"+Math.round(10*r)/10:\\\"\\\");window.history.replaceState(\\\"\\\",\\\"\\\",i)}}},{\\\"../util/util\\\":441}],420:[function(t,e,r){\\\"use strict\\\";function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\\\"../util/canvas\\\"),a=t(\\\"../util/util\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"../util/browser\\\").window,l=t(\\\"../util/evented\\\"),u=t(\\\"../util/dom\\\"),c=t(\\\"../style/style\\\"),h=t(\\\"../style/animation_loop\\\"),f=t(\\\"../render/painter\\\"),d=t(\\\"../geo/transform\\\"),p=t(\\\"./hash\\\"),m=t(\\\"./bind_handlers\\\"),v=t(\\\"./camera\\\"),g=t(\\\"../geo/lng_lat\\\"),y=t(\\\"../geo/lng_lat_bounds\\\"),b=t(\\\"point-geometry\\\"),x=t(\\\"./control/attribution\\\"),_={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:20,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,workerCount:Math.max(o.hardwareConcurrency-1,1)},w=e.exports=function(t){if(t=a.extend({},_,t),t.workerCount<1)throw new Error(\\\"workerCount must an integer greater than or equal to 1.\\\");this._interactive=t.interactive,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._trackResize=t.trackResize,this._workerCount=t.workerCount,this._bearingSnap=t.bearingSnap,\\\"string\\\"==typeof t.container?this._container=document.getElementById(t.container):this._container=t.container,this.animationLoop=new h,this.transform=new d(t.minZoom,t.maxZoom),t.maxBounds&&this.setMaxBounds(t.maxBounds),a.bindAll([\\\"_forwardStyleEvent\\\",\\\"_forwardSourceEvent\\\",\\\"_forwardLayerEvent\\\",\\\"_forwardTileEvent\\\",\\\"_onStyleLoad\\\",\\\"_onStyleChange\\\",\\\"_onSourceAdd\\\",\\\"_onSourceRemove\\\",\\\"_onSourceUpdate\\\",\\\"_onWindowOnline\\\",\\\"_onWindowResize\\\",\\\"_update\\\",\\\"_render\\\"],this),this._setupContainer(),this._setupPainter(),this.on(\\\"move\\\",this._update.bind(this,!1)),this.on(\\\"zoom\\\",this._update.bind(this,!0)),this.on(\\\"moveend\\\",function(){this.animationLoop.set(300),this._rerender()}.bind(this)),void 0!==s&&(s.addEventListener(\\\"online\\\",this._onWindowOnline,!1),s.addEventListener(\\\"resize\\\",this._onWindowResize,!1)),m(this,t),this._hash=t.hash&&(new p).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),this.stacks={},this._classes=[],this.resize(),t.classes&&this.setClasses(t.classes),t.style&&this.setStyle(t.style),t.attributionControl&&this.addControl(new x(t.attributionControl));var e=this.fire.bind(this,\\\"error\\\");this.on(\\\"style.error\\\",e),this.on(\\\"source.error\\\",e),this.on(\\\"tile.error\\\",e),this.on(\\\"layer.error\\\",e)};a.extend(w.prototype,l),a.extend(w.prototype,v.prototype),a.extend(w.prototype,{addControl:function(t){return t.addTo(this),this},addClass:function(t,e){return this._classes.indexOf(t)>=0||\\\"\\\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},removeClass:function(t,e){var r=this._classes.indexOf(t);return r<0||\\\"\\\"===t?this:(this._classes.splice(r,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},setClasses:function(t,e){for(var r={},n=0;n<t.length;n++)\\\"\\\"!==t[n]&&(r[t[n]]=!0);return this._classes=Object.keys(r),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0)},hasClass:function(t){return this._classes.indexOf(t)>=0},getClasses:function(){return this._classes},resize:function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),this._canvas.resize(t,e),this.transform.resize(t,e),this.painter.resize(t,e),this.fire(\\\"movestart\\\").fire(\\\"move\\\").fire(\\\"resize\\\").fire(\\\"moveend\\\")},getBounds:function(){var t=new y(this.transform.pointLocation(new b(0,0)),this.transform.pointLocation(this.transform.size));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new b(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new b(0,this.transform.size.y)))),t},setMaxBounds:function(t){if(t){var e=y.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},setMinZoom:function(t){if((t=null===t||void 0===t?0:t)>=0&&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 0 and the current maxZoom, inclusive\\\")},setMaxZoom:function(t){if((t=null===t||void 0===t?20:t)>=this.transform.minZoom&&t<=20)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\\\"maxZoom must be between the current minZoom and 20, inclusive\\\")},project:function(t){return this.transform.locationPoint(g.convert(t))},unproject:function(t){return this.transform.pointLocation(b.convert(t))},queryRenderedFeatures:function(){var t,e={};return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof b||Array.isArray(t)}(arguments[0])?t=arguments[0]:1===arguments.length&&(e=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle)},_makeQueryGeometry:function(t){void 0===t&&(t=[b.convert([0,0]),b.convert([this.transform.width,this.transform.height])]);var e;if(t instanceof b||\\\"number\\\"==typeof t[0])e=[b.convert(t)];else{var r=[b.convert(t[0]),b.convert(t[1])];e=[r[0],new b(r[1].x,r[0].y),r[1],new b(r[0].x,r[1].y),r[0]]}return e=e.map(function(t){return this.transform.pointCoordinate(t)}.bind(this))},querySourceFeatures:function(t,e){return this.style.querySourceFeatures(t,e)},setStyle:function(t){return this.style&&(this.style.off(\\\"load\\\",this._onStyleLoad).off(\\\"error\\\",this._forwardStyleEvent).off(\\\"change\\\",this._onStyleChange).off(\\\"source.add\\\",this._onSourceAdd).off(\\\"source.remove\\\",this._onSourceRemove).off(\\\"source.load\\\",this._onSourceUpdate).off(\\\"source.error\\\",this._forwardSourceEvent).off(\\\"source.change\\\",this._onSourceUpdate).off(\\\"layer.add\\\",this._forwardLayerEvent).off(\\\"layer.remove\\\",this._forwardLayerEvent).off(\\\"layer.error\\\",this._forwardLayerEvent).off(\\\"tile.add\\\",this._forwardTileEvent).off(\\\"tile.remove\\\",this._forwardTileEvent).off(\\\"tile.load\\\",this._update).off(\\\"tile.error\\\",this._forwardTileEvent).off(\\\"tile.stats\\\",this._forwardTileEvent)._remove(),this.off(\\\"rotate\\\",this.style._redoPlacement),this.off(\\\"pitch\\\",this.style._redoPlacement)),t?(this.style=t instanceof c?t:new c(t,this.animationLoop,this._workerCount),this.style.on(\\\"load\\\",this._onStyleLoad).on(\\\"error\\\",this._forwardStyleEvent).on(\\\"change\\\",this._onStyleChange).on(\\\"source.add\\\",this._onSourceAdd).on(\\\"source.remove\\\",this._onSourceRemove).on(\\\"source.load\\\",this._onSourceUpdate).on(\\\"source.error\\\",this._forwardSourceEvent).on(\\\"source.change\\\",this._onSourceUpdate).on(\\\"layer.add\\\",this._forwardLayerEvent).on(\\\"layer.remove\\\",this._forwardLayerEvent).on(\\\"layer.error\\\",this._forwardLayerEvent).on(\\\"tile.add\\\",this._forwardTileEvent).on(\\\"tile.remove\\\",this._forwardTileEvent).on(\\\"tile.load\\\",this._update).on(\\\"tile.error\\\",this._forwardTileEvent).on(\\\"tile.stats\\\",this._forwardTileEvent),this.on(\\\"rotate\\\",this.style._redoPlacement),this.on(\\\"pitch\\\",this.style._redoPlacement),this):(this.style=null,this)},getStyle:function(){if(this.style)return this.style.serialize()},addSource:function(t,e){return this.style.addSource(t,e),this._update(!0),this},addSourceType:function(t,e,r){return this.style.addSourceType(t,e,r)},removeSource:function(t){return this.style.removeSource(t),this._update(!0),this},getSource:function(t){return this.style.getSource(t)},addLayer:function(t,e){return this.style.addLayer(t,e),this._update(!0),this},removeLayer:function(t){return this.style.removeLayer(t),this._update(!0),this},getLayer:function(t){return this.style.getLayer(t)},setFilter:function(t,e){return this.style.setFilter(t,e),this._update(!0),this},setLayerZoomRange:function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},getFilter:function(t){return this.style.getFilter(t)},setPaintProperty:function(t,e,r,n){return this.style.setPaintProperty(t,e,r,n),this._update(!0),this},getPaintProperty:function(t,e,r){return this.style.getPaintProperty(t,e,r)},setLayoutProperty:function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},getLayoutProperty:function(t,e){return this.style.getLayoutProperty(t,e)},getContainer:function(){return this._container},getCanvasContainer:function(){return this._canvasContainer},getCanvas:function(){return this._canvas.getElement()},_setupContainer:function(){var t=this._container;t.classList.add(\\\"mapboxgl-map\\\");var e=this._canvasContainer=u.create(\\\"div\\\",\\\"mapboxgl-canvas-container\\\",t);this._interactive&&e.classList.add(\\\"mapboxgl-interactive\\\"),this._canvas=new i(this,e);var r=this._controlContainer=u.create(\\\"div\\\",\\\"mapboxgl-control-container\\\",t),n=this._controlCorners={};[\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"].forEach(function(t){n[t]=u.create(\\\"div\\\",\\\"mapboxgl-ctrl-\\\"+t,r)})},_setupPainter:function(){var t=this._canvas.getWebGLContext({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer});if(!t)return void this.fire(\\\"error\\\",{error:new Error(\\\"Failed to initialize WebGL\\\")});this.painter=new f(t,this.transform)},_contextLost:function(t){t.preventDefault(),this._frameId&&o.cancelFrame(this._frameId),this.fire(\\\"webglcontextlost\\\",{originalEvent:t})},_contextRestored:function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\\\"webglcontextrestored\\\",{originalEvent:t})},loaded:function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},_update:function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},_render:function(){try{this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{debug:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,vertices:this.vertices,rotating:this.rotating,zooming:this.zooming}),this.fire(\\\"render\\\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\\\"load\\\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender()}catch(t){this.fire(\\\"error\\\",{error:t})}return this},remove:function(){this._hash&&this._hash.remove(),o.cancelFrame(this._frameId),this.setStyle(null),void 0!==s&&s.removeEventListener(\\\"resize\\\",this._onWindowResize,!1);var t=this.painter.gl.getExtension(\\\"WEBGL_lose_context\\\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),this._container.classList.remove(\\\"mapboxgl-map\\\")},_rerender:function(){this.style&&!this._frameId&&(this._frameId=o.frame(this._render))},_forwardStyleEvent:function(t){this.fire(\\\"style.\\\"+t.type,a.extend({style:t.target},t))},_forwardSourceEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardLayerEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_forwardTileEvent:function(t){this.fire(t.type,a.extend({style:t.target},t))},_onStyleLoad:function(t){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1}),this._forwardStyleEvent(t)},_onStyleChange:function(t){this._update(!0),this._forwardStyleEvent(t)},_onSourceAdd:function(t){var e=t.source;e.onAdd&&e.onAdd(this),this._forwardSourceEvent(t)},_onSourceRemove:function(t){var e=t.source;e.onRemove&&e.onRemove(this),this._forwardSourceEvent(t)},_onSourceUpdate:function(t){this._update(),this._forwardSourceEvent(t)},_onWindowOnline:function(){this._update()},_onWindowResize:function(){this._trackResize&&this.stop().resize()._update()}}),a.extendAll(w.prototype,{_showTileBoundaries:!1,get showTileBoundaries(){return this._showTileBoundaries},set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},_showCollisionBoxes:!1,get showCollisionBoxes(){return this._showCollisionBoxes},set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},_showOverdrawInspector:!1,get showOverdrawInspector(){return this._showOverdrawInspector},set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},_repaint:!1,get repaint(){return this._repaint},set repaint(t){this._repaint=t,this._update()},_vertices:!1,get vertices(){return this._vertices},set vertices(t){this._vertices=t,this._update()}})},{\\\"../geo/lng_lat\\\":338,\\\"../geo/lng_lat_bounds\\\":339,\\\"../geo/transform\\\":340,\\\"../render/painter\\\":354,\\\"../style/animation_loop\\\":374,\\\"../style/style\\\":377,\\\"../util/browser\\\":425,\\\"../util/canvas\\\":426,\\\"../util/dom\\\":427,\\\"../util/evented\\\":433,\\\"../util/util\\\":441,\\\"./bind_handlers\\\":406,\\\"./camera\\\":407,\\\"./control/attribution\\\":408,\\\"./hash\\\":419,\\\"point-geometry\\\":483}],421:[function(t,e,r){\\\"use strict\\\";function n(t,e){t||(t=i.create(\\\"div\\\")),t.classList.add(\\\"mapboxgl-marker\\\"),this._el=t,this._offset=o.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this)}e.exports=n;var i=t(\\\"../util/dom\\\"),a=t(\\\"../geo/lng_lat\\\"),o=t(\\\"point-geometry\\\");n.prototype={addTo:function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._el),t.on(\\\"move\\\",this._update),this._update(),this},remove:function(){this._map&&(this._map.off(\\\"move\\\",this._update),this._map=null);var t=this._el.parentNode;return t&&t.removeChild(this._el),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=a.convert(t),this._update(),this},getElement:function(){return this._el},_update:function(){if(this._map){var t=this._map.project(this._lngLat)._add(this._offset);i.setTransform(this._el,\\\"translate(\\\"+t.x+\\\"px,\\\"+t.y+\\\"px)\\\")}}}},{\\\"../geo/lng_lat\\\":338,\\\"../util/dom\\\":427,\\\"point-geometry\\\":483}],422:[function(t,e,r){\\\"use strict\\\";function n(t){i.setOptions(this,t),i.bindAll([\\\"_update\\\",\\\"_onClickClose\\\"],this)}e.exports=n;var i=t(\\\"../util/util\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"../util/dom\\\"),s=t(\\\"../geo/lng_lat\\\");n.prototype=i.inherit(a,{options:{closeButton:!0,closeOnClick:!0},addTo:function(t){return this._map=t,this._map.on(\\\"move\\\",this._update),this.options.closeOnClick&&this._map.on(\\\"click\\\",this._onClickClose),this._update(),this},remove:function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\\\"move\\\",this._update),this._map.off(\\\"click\\\",this._onClickClose),delete this._map),this.fire(\\\"close\\\"),this},getLngLat:function(){return this._lngLat},setLngLat:function(t){return this._lngLat=s.convert(t),this._update(),this},setText:function(t){return this.setDOMContent(document.createTextNode(t))},setHTML:function(t){var e,r=document.createDocumentFragment(),n=document.createElement(\\\"body\\\");for(n.innerHTML=t;;){if(!(e=n.firstChild))break;r.appendChild(e)}return this.setDOMContent(r)},setDOMContent:function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},_createContent:function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=o.create(\\\"div\\\",\\\"mapboxgl-popup-content\\\",this._container),this.options.closeButton&&(this._closeButton=o.create(\\\"button\\\",\\\"mapboxgl-popup-close-button\\\",this._content),this._closeButton.type=\\\"button\\\",this._closeButton.innerHTML=\\\"&#215;\\\",this._closeButton.addEventListener(\\\"click\\\",this._onClickClose))},_update:function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=o.create(\\\"div\\\",\\\"mapboxgl-popup\\\",this._map.getContainer()),this._tip=o.create(\\\"div\\\",\\\"mapboxgl-popup-tip\\\",this._container),this._container.appendChild(this._content));var t=this._map.project(this._lngLat).round(),e=this.options.anchor;if(!e){var r=this._container.offsetWidth,n=this._container.offsetHeight;e=t.y<n?[\\\"top\\\"]:t.y>this._map.transform.height-n?[\\\"bottom\\\"]:[],t.x<r/2?e.push(\\\"left\\\"):t.x>this._map.transform.width-r/2&&e.push(\\\"right\\\"),e=0===e.length?\\\"bottom\\\":e.join(\\\"-\\\")}var i={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%)\\\"},a=this._container.classList;for(var s in i)a.remove(\\\"mapboxgl-popup-anchor-\\\"+s);a.add(\\\"mapboxgl-popup-anchor-\\\"+e),o.setTransform(this._container,i[e]+\\\" translate(\\\"+t.x+\\\"px,\\\"+t.y+\\\"px)\\\")}},_onClickClose:function(){this.remove()}})},{\\\"../geo/lng_lat\\\":338,\\\"../util/dom\\\":427,\\\"../util/evented\\\":433,\\\"../util/util\\\":441}],423:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.target=t,this.parent=e,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\\\"message\\\",this.receive,!1)}e.exports=n,n.prototype.receive=function(t){function e(t,e,r){this.postMessage({type:\\\"<response>\\\",id:String(i),error:t?String(t):null,data:e},r)}var r,n=t.data,i=n.id;if(\\\"<response>\\\"===n.type)r=this.callbacks[n.id],delete this.callbacks[n.id],r&&r(n.error||null,n.data);else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.data,e.bind(this));else if(void 0!==n.id&&this.parent.workerSources){var a=n.type.split(\\\".\\\");this.parent.workerSources[a[0]][a[1]](n.data,e.bind(this))}else this.parent[n.type](n.data)},n.prototype.send=function(t,e,r,n){var i=null;r&&(this.callbacks[i=this.callbackID++]=r),this.postMessage({type:t,id:String(i),data:e},n)},n.prototype.postMessage=function(t,e){this.target.postMessage(t,e)}},{}],424:[function(t,e,r){\\\"use strict\\\";function n(t){var e=document.createElement(\\\"a\\\");return e.href=t,e.protocol===document.location.protocol&&e.host===document.location.host}r.getJSON=function(t,e){var r=new XMLHttpRequest;return r.open(\\\"GET\\\",t,!0),r.setRequestHeader(\\\"Accept\\\",\\\"application/json\\\"),r.onerror=function(t){e(t)},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new Error(r.statusText))},r.send(),r},r.getArrayBuffer=function(t,e){var r=new XMLHttpRequest;return r.open(\\\"GET\\\",t,!0),r.responseType=\\\"arraybuffer\\\",r.onerror=function(t){e(t)},r.onload=function(){r.status>=200&&r.status<300&&r.response?e(null,r.response):e(new Error(r.statusText))},r.send(),r},r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)return e(t);var n=new Image;n.onload=function(){e(null,n),(window.URL||window.webkitURL).revokeObjectURL(n.src)};var i=new Blob([new Uint8Array(r)],{type:\\\"image/png\\\"});return n.src=(window.URL||window.webkitURL).createObjectURL(i),n.getData=function(){var t=document.createElement(\\\"canvas\\\"),e=t.getContext(\\\"2d\\\");return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height).data},n})},r.getVideo=function(t,e){var r=document.createElement(\\\"video\\\");r.onloadstart=function(){e(null,r)};for(var i=0;i<t.length;i++){var a=document.createElement(\\\"source\\\");n(t[i])||(r.crossOrigin=\\\"Anonymous\\\"),a.src=t[i],r.appendChild(a)}return r.getData=function(){return r},r}},{}],425:[function(t,e,r){\\\"use strict\\\";r.window=window,e.exports.now=function(){return window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now.bind(Date)}();var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;r.frame=function(t){return n(t)};var i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r.cancelFrame=function(t){i(t)},r.timed=function(t,n,i){function a(l){o||(l=e.exports.now(),l>=s+n?t.call(i,1):(t.call(i,(l-s)/n),r.frame(a)))}if(!n)return t.call(i,1),null;var o=!1,s=e.exports.now();return r.frame(a),function(){o=!0}},r.supported=t(\\\"mapbox-gl-supported\\\"),r.hardwareConcurrency=navigator.hardwareConcurrency||4,Object.defineProperty(r,\\\"devicePixelRatio\\\",{get:function(){return window.devicePixelRatio}}),r.supportsWebp=!1;var a=document.createElement(\\\"img\\\");a.onload=function(){r.supportsWebp=!0},a.src=\\\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\\\",r.supportsGeolocation=!!navigator.geolocation},{\\\"mapbox-gl-supported\\\":326}],426:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.canvas=document.createElement(\\\"canvas\\\"),t&&e&&(this.canvas.style.position=\\\"absolute\\\",this.canvas.classList.add(\\\"mapboxgl-canvas\\\"),this.canvas.addEventListener(\\\"webglcontextlost\\\",t._contextLost.bind(t),!1),this.canvas.addEventListener(\\\"webglcontextrestored\\\",t._contextRestored.bind(t),!1),this.canvas.setAttribute(\\\"tabindex\\\",0),e.appendChild(this.canvas))}var i=t(\\\"../util\\\"),a=t(\\\"mapbox-gl-supported\\\");e.exports=n,n.prototype.resize=function(t,e){var r=window.devicePixelRatio||1;this.canvas.width=r*t,this.canvas.height=r*e,this.canvas.style.width=t+\\\"px\\\",this.canvas.style.height=e+\\\"px\\\"},n.prototype.getWebGLContext=function(t){return t=i.extend({},t,a.webGLContextAttributes),this.canvas.getContext(\\\"webgl\\\",t)||this.canvas.getContext(\\\"experimental-webgl\\\",t)},n.prototype.getElement=function(){return this.canvas}},{\\\"../util\\\":441,\\\"mapbox-gl-supported\\\":326}],427:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e]}function i(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener(\\\"click\\\",i,!0)}var a=t(\\\"point-geometry\\\");r.create=function(t,e,r){var n=document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n};var o,s=document.documentElement.style,l=n([\\\"userSelect\\\",\\\"MozUserSelect\\\",\\\"WebkitUserSelect\\\",\\\"msUserSelect\\\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\\\"none\\\")},r.enableDrag=function(){l&&(s[l]=o)};var u=n([\\\"transform\\\",\\\"WebkitTransform\\\"]);r.setTransform=function(t,e){t.style[u]=e},r.suppressClick=function(){window.addEventListener(\\\"click\\\",i,!0),window.setTimeout(function(){window.removeEventListener(\\\"click\\\",i,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new a(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],i=0;i<e.touches.length;i++)n.push(new a(e.touches[i].clientX-r.left-t.clientLeft,e.touches[i].clientY-r.top-t.clientTop));return n}},{\\\"point-geometry\\\":483}],428:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"webworkify\\\");e.exports=function(){return new n(t(\\\"../../source/worker\\\"))}},{\\\"../../source/worker\\\":372,webworkify:563}],429:[function(t,e,r){\\\"use strict\\\";function n(t,e){return e.area-t.area}function i(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var a=t(\\\"quickselect\\\");e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],u=0;u<r;u++){var c=i(t[u]);0!==c&&(t[u].area=Math.abs(c),void 0===s&&(s=c<0),s===c<0?(o&&l.push(o),o=[t[u]]):o.push(t[u]))}if(o&&l.push(o),e>1)for(var h=0;h<l.length;h++)l[h].length<=e||(a(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{quickselect:492}],430:[function(t,e,r){\\\"use strict\\\";e.exports={API_URL:\\\"https://api.mapbox.com\\\",REQUIRE_ACCESS_TOKEN:!0}},{}],431:[function(t,e,r){\\\"use strict\\\";function n(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}}var i=t(\\\"assert\\\");e.exports=n,n.prototype.encode=function(t){return i(t in this._stringToNumber),this._stringToNumber[t]},n.prototype.decode=function(t){return i(t<this._numberToString.length),this._numberToString[t]}},{assert:46}],432:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.actors=[],this.currentActor=0;for(var r=0;r<t;r++){var n=new o,i=new a(n,e);i.name=\\\"Worker \\\"+r,this.actors.push(i)}}var i=t(\\\"./util\\\"),a=t(\\\"./actor\\\"),o=t(\\\"./web_worker\\\");e.exports=n,n.prototype={broadcast:function(t,e,r){r=r||function(){},i.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},send:function(t,e,r,n,i){return(\\\"number\\\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r,i),n},remove:function(){for(var t=0;t<this.actors.length;t++)this.actors[t].target.terminate();this.actors=[]}}},{\\\"./actor\\\":423,\\\"./util\\\":441,\\\"./web_worker\\\":428}],433:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./util\\\"),i={on:function(t,e){return this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e),this},off:function(t,e){if(!t)return delete this._events,this;if(!this.listens(t))return this;if(e){var r=this._events[t].indexOf(e);r>=0&&this._events[t].splice(r,1),this._events[t].length||delete this._events[t]}else delete this._events[t];return this},once:function(t,e){var r=function(n){this.off(t,r),e.call(this,n)}.bind(this);return this.on(t,r),this},fire:function(t,e){if(!this.listens(t))return n.endsWith(t,\\\"error\\\")&&console.error(e&&e.error||e||\\\"Empty error event\\\"),this;e=n.extend({},e),n.extend(e,{type:t,target:this});for(var r=this._events[t].slice(),i=0;i<r.length;i++)r[i].call(this,e);return this},listens:function(t){return!(!this._events||!this._events[t])}};e.exports=i},{\\\"./util\\\":441}],434:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.stacks=t.readFields(i,[],e)}function i(t,e,r){if(1===t){var n=r.readMessage(a,{glyphs:{}});e.push(n)}}function a(t,e,r){if(1===t)e.name=r.readString();else if(2===t)e.range=r.readString();else if(3===t){var n=r.readMessage(o,{});e.glyphs[n.id]=n}}function o(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())}e.exports=n},{}],435:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return t*(1-r)+e*r}e.exports=n,n.number=n,n.vec2=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r)]},n.color=function(t,e,r){return[n(t[0],e[0],r),n(t[1],e[1],r),n(t[2],e[2],r),n(t[3],e[3],r)]},n.array=function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}},{}],436:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s];if(d(i,l))return!0;if(c(l,i,r))return!0}return!1}function i(t,e){if(1===t.length&&1===t[0].length)return f(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(f(t,n[i]))return!0;for(var a=0;a<t.length;a++){for(var o=t[a],l=0;l<o.length;l++)if(f(e,o[l]))return!0;for(var u=0;u<e.length;u++)if(s(o,e[u]))return!0}return!1}function a(t,e,r){for(var n=0;n<e.length;n++)for(var i=e[n],a=0;a<t.length;a++){var s=t[a];if(s.length>=3)for(var l=0;l<i.length;l++)if(d(s,i[l]))return!0;if(o(s,i,r))return!0}return!1}function o(t,e,r){if(t.length>1){if(s(t,e))return!0;for(var n=0;n<e.length;n++)if(c(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(c(t[i],e,r))return!0;return!1}function s(t,e){for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++){var o=e[a],s=e[a+1];if(u(n,i,o,s))return!0}return!1}function l(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function u(t,e,r,n){return l(t,r,n)!==l(e,r,n)&&l(t,e,r)!==l(t,e,n)}function c(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++){if(h(t,e[i-1],e[i])<n)return!0}return!1}function h(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function f(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++){r=t[o];for(var s=0,l=r.length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function d(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}e.exports={multiPolygonIntersectsBufferedMultiPoint:n,multiPolygonIntersectsMultiPolygon:i,multiPolygonIntersectsBufferedMultiLine:a}},{}],437:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.max=t,this.onRemove=e,this.reset()}e.exports=n,n.prototype.reset=function(){for(var t in this.data)this.onRemove(this.data[t]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this.get(this.order[0]);e&&this.onRemove(e)}return this}},{}],438:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!(r=r||o.ACCESS_TOKEN)&&o.REQUIRE_ACCESS_TOKEN)throw new Error(\\\"An API access token is required to use Mapbox GL. See https://www.mapbox.com/developers/api/#access-tokens\\\");if(t=t.replace(/^mapbox:\\\\/\\\\//,o.API_URL+e),\\n\",\n       \"t+=-1!==t.indexOf(\\\"?\\\")?\\\"&access_token=\\\":\\\"?access_token=\\\",o.REQUIRE_ACCESS_TOKEN){if(\\\"s\\\"===r[0])throw new Error(\\\"Use a public access token (pk.*) with Mapbox GL JS, not a secret access token (sk.*). See https://www.mapbox.com/developers/api/#access-tokens\\\");t+=r}return t}function i(t){return t?\\\"?\\\"+t:\\\"\\\"}function a(t){return t.access_token&&\\\"tk.\\\"===t.access_token.slice(0,3)?u.extend({},t,{access_token:o.ACCESS_TOKEN}):t}var o=t(\\\"./config\\\"),s=t(\\\"./browser\\\"),l=t(\\\"url\\\"),u=t(\\\"./util\\\");e.exports.normalizeStyleURL=function(t,e){var r=l.parse(t);return\\\"mapbox:\\\"!==r.protocol?t:n(\\\"mapbox:/\\\"+r.pathname+i(r.query),\\\"/styles/v1/\\\",e)},e.exports.normalizeSourceURL=function(t,e){return\\\"mapbox:\\\"!==l.parse(t).protocol?t:n(t+\\\".json\\\",\\\"/v4/\\\",e)+\\\"&secure\\\"},e.exports.normalizeGlyphsURL=function(t,e){var r=l.parse(t);return\\\"mapbox:\\\"!==r.protocol?t:n(\\\"mapbox://\\\"+r.pathname.split(\\\"/\\\")[1]+\\\"/{fontstack}/{range}.pbf\\\"+i(r.query),\\\"/fonts/v1/\\\",e)},e.exports.normalizeSpriteURL=function(t,e,r,a){var o=l.parse(t);return\\\"mapbox:\\\"!==o.protocol?(o.pathname+=e+r,l.format(o)):n(\\\"mapbox:/\\\"+o.pathname+\\\"/sprite\\\"+e+r+i(o.query),\\\"/styles/v1/\\\",a)},e.exports.normalizeTileURL=function(t,e,r){var n=l.parse(t,!0);if(!e)return t;if(\\\"mapbox:\\\"!==l.parse(e).protocol)return t;var i=s.supportsWebp?\\\".webp\\\":\\\"$1\\\",o=s.devicePixelRatio>=2||512===r?\\\"@2x\\\":\\\"\\\";return l.format({protocol:n.protocol,hostname:n.hostname,pathname:n.pathname.replace(/(\\\\.(?:png|jpg)\\\\d*)/,o+i),query:a(n.query)})}},{\\\"./browser\\\":425,\\\"./config\\\":430,\\\"./util\\\":441,url:544}],439:[function(t,e,r){\\\"use strict\\\";function n(t){function e(){f.apply(this,arguments)}function r(){d.apply(this,arguments),this.members=e.prototype.members}var n=JSON.stringify(t);if(v[n])return v[n];void 0===t.alignment&&(t.alignment=1),e.prototype=Object.create(f.prototype);var s=0,u=0,g=[\\\"Uint8\\\"];return e.prototype.members=t.members.map(function(r){r={name:r.name,type:r.type,components:r.components||1},p(r.name.length),p(r.type in m),g.indexOf(r.type)<0&&g.push(r.type);var n=o(r.type);u=Math.max(u,n),r.offset=s=a(s,Math.max(t.alignment,n));for(var i=0;i<r.components;i++)Object.defineProperty(e.prototype,r.name+(1===r.components?\\\"\\\":i),{get:c(r,i),set:h(r,i)});return s+=n*r.components,r}),e.prototype.alignment=t.alignment,e.prototype.size=a(s,Math.max(u,t.alignment)),r.serialize=i,r.prototype=Object.create(d.prototype),r.prototype.StructType=e,r.prototype.bytesPerElement=e.prototype.size,r.prototype.emplaceBack=l(e.prototype.members,e.prototype.size),r.prototype._usedTypes=g,v[n]=r,r}function i(){return{members:this.prototype.StructType.prototype.members,alignment:this.prototype.StructType.prototype.alignment,bytesPerElement:this.prototype.bytesPerElement}}function a(t,e){return Math.ceil(t/e)*e}function o(t){return m[t].BYTES_PER_ELEMENT}function s(t){return t.toLowerCase()}function l(t,e){for(var r=[],n=[],i=\\\"var i = this.length;\\\\nthis.resize(this.length + 1);\\\\n\\\",a=0;a<t.length;a++){var l=t[a],u=o(l.type);r.indexOf(u)<0&&(r.push(u),i+=\\\"var o\\\"+u.toFixed(0)+\\\" = i * \\\"+(e/u).toFixed(0)+\\\";\\\\n\\\");for(var c=0;c<l.components;c++){var h=\\\"v\\\"+n.length,f=\\\"o\\\"+u.toFixed(0)+\\\" + \\\"+(l.offset/u+c).toFixed(0);i+=\\\"this.\\\"+s(l.type)+\\\"[\\\"+f+\\\"] = \\\"+h+\\\";\\\\n\\\",n.push(h)}}return i+=\\\"return i;\\\",new Function(n,i)}function u(t,e){var r=\\\"this._pos\\\"+o(t.type).toFixed(0),n=(t.offset/o(t.type)+e).toFixed(0),i=r+\\\" + \\\"+n;return\\\"this._structArray.\\\"+s(t.type)+\\\"[\\\"+i+\\\"]\\\"}function c(t,e){return new Function([],\\\"return \\\"+u(t,e)+\\\";\\\")}function h(t,e){return new Function([\\\"x\\\"],u(t,e)+\\\" = x;\\\")}function f(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}function d(t){void 0!==t?(this.arrayBuffer=t.arrayBuffer,this.length=t.length,this.capacity=this.arrayBuffer.byteLength/this.bytesPerElement,this._refreshViews()):(this.capacity=-1,this.resize(0))}var p=t(\\\"assert\\\");e.exports=n;var m={Int8:Int8Array,Uint8:Uint8Array,Uint8Clamped:Uint8ClampedArray,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array,Float64:Float64Array},v={};d.prototype.DEFAULT_CAPACITY=128,d.prototype.RESIZE_MULTIPLIER=5,d.prototype.serialize=function(){return this.trim(),{length:this.length,arrayBuffer:this.arrayBuffer}},d.prototype.get=function(t){return new this.StructType(this,t)},d.prototype.trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},d.prototype.resize=function(t){if(this.length=t,t>this.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*this.RESIZE_MULTIPLIER),this.DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},d.prototype._refreshViews=function(){for(var t=0;t<this._usedTypes.length;t++){var e=this._usedTypes[t];this[s(e)]=new m[e](this.arrayBuffer)}},d.prototype.toArray=function(t,e){for(var r=[],n=t;n<e;n++){var i=this.get(n);r.push(i)}return r}},{assert:46}],440:[function(t,e,r){\\\"use strict\\\";function n(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?t[r]:\\\"\\\"})}e.exports=n},{}],441:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"unitbezier\\\"),i=t(\\\"../geo/coordinate\\\");r.easeCubicInOut=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)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.coalesce=function(){for(var t=0;t<arguments.length;t++){var e=arguments[t];if(null!==e&&void 0!==e)return e}},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t},r.extendAll=function(t,e){for(var r in e)Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},r.inherit=function(t,e){var n=\\\"function\\\"==typeof t?t.prototype:t,i=Object.create(n);return r.extendAll(i,e),i},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.debounce=function(t,e){var r,n;return function(){n=arguments,clearTimeout(r),r=setTimeout(function(){t.apply(null,n)},e)}},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.bindHandlers=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&0===e.indexOf(\\\"_on\\\")&&(t[e]=t[e].bind(t))},r.setOptions=function(t,e){t.hasOwnProperty(\\\"options\\\")||(t.options=t.options?Object.create(t.options):{});for(var r in e)t.options[r]=e[r];return t.options},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,u=Math.max(s,l);return new i((e+n)/2,(r+a)/2,0).zoomTo(Math.floor(-Math.log(u)/Math.LN2))},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.startsWith=function(t,e){return 0===t.indexOf(e)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.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 i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\\\"object\\\"==typeof t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\\\"undefined\\\"!=typeof console&&console.warn(t),o[t]=!0)}},{\\\"../geo/coordinate\\\":337,unitbezier:543}],442:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)}e.exports=n,n.prototype={type:\\\"Feature\\\",get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},set geometry(t){this._geometry=t},toJSON:function(){var t={};for(var e in this)\\\"_geometry\\\"!==e&&\\\"_vectorTileFeature\\\"!==e&&\\\"toJSON\\\"!==e&&(t[e]=this[e]);return t}}},{}],443:[function(t,e,r){e.exports={_args:[[{raw:\\\"mapbox-gl@^0.22.0\\\",scope:null,escapedName:\\\"mapbox-gl\\\",name:\\\"mapbox-gl\\\",rawSpec:\\\"^0.22.0\\\",spec:\\\">=0.22.0 <0.23.0\\\",type:\\\"range\\\"},\\\"/home/etienne/Documents/plotly/plotly.js\\\"]],_from:\\\"mapbox-gl@>=0.22.0 <0.23.0\\\",_id:\\\"mapbox-gl@0.22.1\\\",_inCache:!0,_location:\\\"/mapbox-gl\\\",_nodeVersion:\\\"4.4.5\\\",_npmOperationalInternal:{host:\\\"packages-12-west.internal.npmjs.com\\\",tmp:\\\"tmp/mapbox-gl-0.22.1.tgz_1471549891670_0.8762630566488951\\\"},_npmUser:{name:\\\"lucaswoj\\\",email:\\\"lucas@lucaswoj.com\\\"},_npmVersion:\\\"2.15.5\\\",_phantomChildren:{},_requested:{raw:\\\"mapbox-gl@^0.22.0\\\",scope:null,escapedName:\\\"mapbox-gl\\\",name:\\\"mapbox-gl\\\",rawSpec:\\\"^0.22.0\\\",spec:\\\">=0.22.0 <0.23.0\\\",type:\\\"range\\\"},_requiredBy:[\\\"/\\\"],_resolved:\\\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\\\",_shasum:\\\"92a965547d4c2f24c22cbc487eeda48694cb627a\\\",_shrinkwrap:null,_spec:\\\"mapbox-gl@^0.22.0\\\",_where:\\\"/home/etienne/Documents/plotly/plotly.js\\\",browser:{\\\"./js/util/ajax.js\\\":\\\"./js/util/browser/ajax.js\\\",\\\"./js/util/browser.js\\\":\\\"./js/util/browser/browser.js\\\",\\\"./js/util/canvas.js\\\":\\\"./js/util/browser/canvas.js\\\",\\\"./js/util/dom.js\\\":\\\"./js/util/browser/dom.js\\\",\\\"./js/util/web_worker.js\\\":\\\"./js/util/browser/web_worker.js\\\"},bugs:{url:\\\"https://github.com/mapbox/mapbox-gl-js/issues\\\"},dependencies:{csscolorparser:\\\"^1.0.2\\\",earcut:\\\"^2.0.3\\\",\\\"feature-filter\\\":\\\"^2.2.0\\\",\\\"geojson-rewind\\\":\\\"^0.1.0\\\",\\\"geojson-vt\\\":\\\"^2.4.0\\\",\\\"gl-matrix\\\":\\\"^2.3.1\\\",\\\"grid-index\\\":\\\"^1.0.0\\\",\\\"mapbox-gl-function\\\":\\\"^1.2.1\\\",\\\"mapbox-gl-shaders\\\":\\\"github:mapbox/mapbox-gl-shaders#de2ab007455aa2587c552694c68583f94c9f2747\\\",\\\"mapbox-gl-style-spec\\\":\\\"github:mapbox/mapbox-gl-style-spec#83b1a3e5837d785af582efd5ed1a212f2df6a4ae\\\",\\\"mapbox-gl-supported\\\":\\\"^1.2.0\\\",pbf:\\\"^1.3.2\\\",pngjs:\\\"^2.2.0\\\",\\\"point-geometry\\\":\\\"^0.0.0\\\",quickselect:\\\"^1.0.0\\\",request:\\\"^2.39.0\\\",\\\"resolve-url\\\":\\\"^0.2.1\\\",\\\"shelf-pack\\\":\\\"^1.0.0\\\",supercluster:\\\"^2.0.1\\\",unassertify:\\\"^2.0.0\\\",unitbezier:\\\"^0.0.0\\\",\\\"vector-tile\\\":\\\"^1.3.0\\\",\\\"vt-pbf\\\":\\\"^2.0.2\\\",webworkify:\\\"^1.3.0\\\",\\\"whoots-js\\\":\\\"^2.0.0\\\"},description:\\\"A WebGL interactive maps library\\\",devDependencies:{\\\"babel-preset-react\\\":\\\"^6.11.1\\\",babelify:\\\"^7.3.0\\\",benchmark:\\\"~2.1.0\\\",browserify:\\\"^13.0.0\\\",clipboard:\\\"^1.5.12\\\",\\\"concat-stream\\\":\\\"1.5.1\\\",coveralls:\\\"^2.11.8\\\",doctrine:\\\"^1.2.1\\\",documentation:\\\"https://github.com/documentationjs/documentation/archive/bb41619c734e59ef3fbc3648610032efcfdaaace.tar.gz\\\",\\\"documentation-theme-utils\\\":\\\"3.0.0\\\",envify:\\\"^3.4.0\\\",eslint:\\\"^2.5.3\\\",\\\"eslint-config-mourner\\\":\\\"^2.0.0\\\",\\\"eslint-plugin-html\\\":\\\"^1.5.1\\\",gl:\\\"^4.0.1\\\",handlebars:\\\"4.0.5\\\",\\\"highlight.js\\\":\\\"9.3.0\\\",istanbul:\\\"^0.4.2\\\",\\\"json-loader\\\":\\\"^0.5.4\\\",lodash:\\\"^4.13.1\\\",\\\"mapbox-gl-test-suite\\\":\\\"github:mapbox/mapbox-gl-test-suite#7babab52fb02788ebbc38384139bf350e8e38552\\\",\\\"memory-fs\\\":\\\"^0.3.0\\\",minifyify:\\\"^7.0.1\\\",\\\"npm-run-all\\\":\\\"^3.0.0\\\",nyc:\\\"6.4.0\\\",proxyquire:\\\"^1.7.9\\\",remark:\\\"4.2.2\\\",\\\"remark-html\\\":\\\"3.0.0\\\",sinon:\\\"^1.15.4\\\",st:\\\"^1.2.0\\\",tap:\\\"^5.7.0\\\",\\\"transform-loader\\\":\\\"^0.2.3\\\",\\\"unist-util-visit\\\":\\\"1.1.0\\\",vinyl:\\\"1.1.1\\\",\\\"vinyl-fs\\\":\\\"2.4.3\\\",watchify:\\\"^3.7.0\\\",webpack:\\\"^1.13.1\\\",\\\"webworkify-webpack\\\":\\\"^1.1.3\\\"},directories:{},dist:{shasum:\\\"92a965547d4c2f24c22cbc487eeda48694cb627a\\\",tarball:\\\"https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.22.1.tgz\\\"},engines:{node:\\\">=4.0.0\\\"},gitHead:\\\"13a9015341f0602ccb55c98c53079838ad4b70b5\\\",homepage:\\\"https://github.com/mapbox/mapbox-gl-js#readme\\\",license:\\\"BSD-3-Clause\\\",main:\\\"js/mapbox-gl.js\\\",maintainers:[{name:\\\"aaronlidman\\\",email:\\\"aaronlidman@gmail.com\\\"},{name:\\\"ajashton\\\",email:\\\"aj.ashton@gmail.com\\\"},{name:\\\"ansis\\\",email:\\\"ansis.brammanis@gmail.com\\\"},{name:\\\"bergwerkgis\\\",email:\\\"wb@bergwerk-gis.at\\\"},{name:\\\"bhousel\\\",email:\\\"bryan@mapbox.com\\\"},{name:\\\"bsudekum\\\",email:\\\"bobby@mapbox.com\\\"},{name:\\\"camilleanne\\\",email:\\\"camille@mapbox.com\\\"},{name:\\\"dnomadb\\\",email:\\\"damon@mapbox.com\\\"},{name:\\\"dthompson\\\",email:\\\"dthompson@gmail.com\\\"},{name:\\\"emilymcafee\\\",email:\\\"emily@mapbox.com\\\"},{name:\\\"flippmoke\\\",email:\\\"flippmoke@gmail.com\\\"},{name:\\\"freenerd\\\",email:\\\"spam@freenerd.de\\\"},{name:\\\"gretacb\\\",email:\\\"carol@mapbox.com\\\"},{name:\\\"ian29\\\",email:\\\"ian.villeda@gmail.com\\\"},{name:\\\"ianshward\\\",email:\\\"ian@mapbox.com\\\"},{name:\\\"ingalls\\\",email:\\\"nicholas.ingalls@gmail.com\\\"},{name:\\\"jfirebaugh\\\",email:\\\"john.firebaugh@gmail.com\\\"},{name:\\\"jrpruit1\\\",email:\\\"jake@jakepruitt.com\\\"},{name:\\\"karenzshea\\\",email:\\\"karen@mapbox.com\\\"},{name:\\\"kkaefer\\\",email:\\\"kkaefer@gmail.com\\\"},{name:\\\"lbud\\\",email:\\\"lauren@mapbox.com\\\"},{name:\\\"lucaswoj\\\",email:\\\"lucas@lucaswoj.com\\\"},{name:\\\"lxbarth\\\",email:\\\"alex@mapbox.com\\\"},{name:\\\"lyzidiamond\\\",email:\\\"lyzi@mapbox.com\\\"},{name:\\\"mapbox-admin\\\",email:\\\"accounts@mapbox.com\\\"},{name:\\\"mateov\\\",email:\\\"matt@mapbox.com\\\"},{name:\\\"mcwhittemore\\\",email:\\\"mcwhittemore@gmail.com\\\"},{name:\\\"miccolis\\\",email:\\\"jeff@miccolis.net\\\"},{name:\\\"mikemorris\\\",email:\\\"michael.patrick.morris@gmail.com\\\"},{name:\\\"morganherlocker\\\",email:\\\"morgan.herlocker@gmail.com\\\"},{name:\\\"mourner\\\",email:\\\"agafonkin@gmail.com\\\"},{name:\\\"nickidlugash\\\",email:\\\"nicki@mapbox.com\\\"},{name:\\\"rclark\\\",email:\\\"ryan.clark.j@gmail.com\\\"},{name:\\\"samanbb\\\",email:\\\"saman@mapbox.com\\\"},{name:\\\"sbma44\\\",email:\\\"tlee@mapbox.com\\\"},{name:\\\"scothis\\\",email:\\\"scothis@gmail.com\\\"},{name:\\\"sgillies\\\",email:\\\"sean@mapbox.com\\\"},{name:\\\"springmeyer\\\",email:\\\"dane@mapbox.com\\\"},{name:\\\"themarex\\\",email:\\\"patrick@mapbox.com\\\"},{name:\\\"tmcw\\\",email:\\\"tom@macwright.org\\\"},{name:\\\"tristen\\\",email:\\\"tristen.brown@gmail.com\\\"},{name:\\\"willwhite\\\",email:\\\"will@mapbox.com\\\"},{name:\\\"yhahn\\\",email:\\\"young@mapbox.com\\\"}],name:\\\"mapbox-gl\\\",optionalDependencies:{},readme:\\\"ERROR: No README data found!\\\",repository:{type:\\\"git\\\",url:\\\"git://github.com/mapbox/mapbox-gl-js.git\\\"},scripts:{build:\\\"npm run build-docs # invoked by publisher when publishing docs on the mb-pages branch\\\",\\\"build-dev\\\":\\\"browserify js/mapbox-gl.js --debug --standalone mapboxgl > dist/mapbox-gl-dev.js && tap --no-coverage test/build/dev.test.js\\\",\\\"build-docs\\\":\\\"documentation build --github --format html -c documentation.yml --theme ./docs/_theme --output docs/api/\\\",\\\"build-min\\\":\\\"browserify js/mapbox-gl.js --debug -t unassertify --plugin [minifyify --map mapbox-gl.js.map --output dist/mapbox-gl.js.map] --standalone mapboxgl > dist/mapbox-gl.js && tap --no-coverage test/build/min.test.js\\\",\\\"build-token\\\":\\\"browserify debug/access-token-src.js --debug -t envify > debug/access-token.js\\\",lint:\\\"eslint  --ignore-path .gitignore js test bench docs/_posts/examples/*.html\\\",\\\"open-changed-examples\\\":\\\"git diff --name-only mb-pages HEAD -- docs/_posts/examples/*.html | awk '{print \\\\\\\"http://127.0.0.1:4000/mapbox-gl-js/example/\\\\\\\" substr($0,33,length($0)-37)}' | xargs open\\\",start:\\\"run-p build-token watch-dev watch-bench start-server\\\",\\\"start-bench\\\":\\\"run-p build-token watch-bench start-server\\\",\\\"start-debug\\\":\\\"run-p build-token watch-dev start-server\\\",\\\"start-docs\\\":\\\"npm run build-min && npm run build-docs && jekyll serve -w\\\",\\\"start-server\\\":\\\"st --no-cache --localhost --port 9966 --index index.html .\\\",test:\\\"npm run lint && tap --reporter dot test/js/*/*.js test/build/webpack.test.js\\\",\\\"test-suite\\\":\\\"node test/render.test.js && node test/query.test.js\\\",\\\"watch-bench\\\":\\\"node bench/download-data.js && watchify bench/index.js --plugin [minifyify --no-map] -t [babelify --presets react] -t unassertify -t envify -o bench/bench.js -v\\\",\\\"watch-dev\\\":\\\"watchify js/mapbox-gl.js --debug --standalone mapboxgl -o dist/mapbox-gl-dev.js -v\\\"},version:\\\"0.22.1\\\"}},{}],444:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],a=0;a<=t;++a)if(e&1<<a){r.push(n(t,a-1,a-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(n(t,a-1,s-1)),i.push([a,s]))}var l=o(r),u=[];t:for(var a=0;a<l.length;++a){for(var c=l[a],h=[],s=0;s<c.length;++s){if(!i[c[s]])continue t;h.push(i[c[s]].slice())}u.push(h)}return u}function a(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r}e.exports=a;var o=t(\\\"convex-hull\\\")},{\\\"convex-hull\\\":102}],445:[function(t,e,r){function n(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}function i(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]}function a(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}var o=t(\\\"./normalize\\\"),s=t(\\\"gl-mat4/create\\\"),l=t(\\\"gl-mat4/clone\\\"),u=t(\\\"gl-mat4/determinant\\\"),c=t(\\\"gl-mat4/invert\\\"),h=t(\\\"gl-mat4/transpose\\\"),f={length:t(\\\"gl-vec3/length\\\"),normalize:t(\\\"gl-vec3/normalize\\\"),dot:t(\\\"gl-vec3/dot\\\"),cross:t(\\\"gl-vec3/cross\\\")},d=s(),p=s(),m=[0,0,0,0],v=[[0,0,0],[0,0,0],[0,0,0]],g=[0,0,0];e.exports=function(t,e,r,s,y,b){if(e||(e=[0,0,0]),r||(r=[0,0,0]),s||(s=[0,0,0]),y||(y=[0,0,0,1]),b||(b=[0,0,0,1]),!o(d,t))return!1;if(l(p,d),p[3]=0,p[7]=0,p[11]=0,p[15]=1,Math.abs(u(p)<1e-8))return!1;var x=d[3],_=d[7],w=d[11],M=d[12],k=d[13],A=d[14],T=d[15];if(0!==x||0!==_||0!==w){m[0]=x,m[1]=_,m[2]=w,m[3]=T;if(!c(p,p))return!1;h(p,p),n(y,m,p)}else y[0]=y[1]=y[2]=0,y[3]=1;if(e[0]=M,e[1]=k,e[2]=A,i(v,d),r[0]=f.length(v[0]),f.normalize(v[0],v[0]),s[0]=f.dot(v[0],v[1]),a(v[1],v[1],v[0],1,-s[0]),r[1]=f.length(v[1]),f.normalize(v[1],v[1]),s[0]/=r[1],s[1]=f.dot(v[0],v[2]),a(v[2],v[2],v[0],1,-s[1]),s[2]=f.dot(v[1],v[2]),a(v[2],v[2],v[1],1,-s[2]),r[2]=f.length(v[2]),f.normalize(v[2],v[2]),s[1]/=r[2],s[2]/=r[2],f.cross(g,v[1],v[2]),f.dot(v[0],g)<0)for(var S=0;S<3;S++)r[S]*=-1,v[S][0]*=-1,v[S][1]*=-1,v[S][2]*=-1;return b[0]=.5*Math.sqrt(Math.max(1+v[0][0]-v[1][1]-v[2][2],0)),b[1]=.5*Math.sqrt(Math.max(1-v[0][0]+v[1][1]-v[2][2],0)),b[2]=.5*Math.sqrt(Math.max(1-v[0][0]-v[1][1]+v[2][2],0)),b[3]=.5*Math.sqrt(Math.max(1+v[0][0]+v[1][1]+v[2][2],0)),v[2][1]>v[1][2]&&(b[0]=-b[0]),v[0][2]>v[2][0]&&(b[1]=-b[1]),v[1][0]>v[0][1]&&(b[2]=-b[2]),!0}},{\\\"./normalize\\\":446,\\\"gl-mat4/clone\\\":174,\\\"gl-mat4/create\\\":175,\\\"gl-mat4/determinant\\\":176,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/transpose\\\":190,\\\"gl-vec3/cross\\\":271,\\\"gl-vec3/dot\\\":272,\\\"gl-vec3/length\\\":273,\\\"gl-vec3/normalize\\\":275}],446:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],447:[function(t,e,r){function n(t,e,r,n){if(0===c(e)||0===c(r))return!1;var i=u(e,f.translate,f.scale,f.skew,f.perspective,f.quaternion),a=u(r,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!(!i||!a)&&(s(p.translate,f.translate,d.translate,n),s(p.skew,f.skew,d.skew,n),s(p.scale,f.scale,d.scale,n),s(p.perspective,f.perspective,d.perspective,n),h(p.quaternion,f.quaternion,d.quaternion,n),l(t,p.translate,p.scale,p.skew,p.perspective,p.quaternion),!0)}function i(){return{translate:a(),scale:a(1),skew:a(),perspective:o(),quaternion:o()}}function a(t){return[t||0,t||0,t||0]}function o(){return[0,0,0,1]}var s=t(\\\"gl-vec3/lerp\\\"),l=t(\\\"mat4-recompose\\\"),u=t(\\\"mat4-decompose\\\"),c=t(\\\"gl-mat4/determinant\\\"),h=t(\\\"quat-slerp\\\"),f=i(),d=i(),p=i();e.exports=n},{\\\"gl-mat4/determinant\\\":176,\\\"gl-vec3/lerp\\\":274,\\\"mat4-decompose\\\":445,\\\"mat4-recompose\\\":448,\\\"quat-slerp\\\":488}],448:[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\\\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,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(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\\\"gl-mat4/create\\\":175,\\\"gl-mat4/fromRotationTranslation\\\":178,\\\"gl-mat4/identity\\\":179,\\\"gl-mat4/multiply\\\":182,\\\"gl-mat4/scale\\\":188,\\\"gl-mat4/translate\\\":189}],449:[function(t,e,r){\\\"use strict\\\";function n(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]}function i(t){return t=t||{},new n(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}var a=t(\\\"binary-search-bounds\\\"),o=t(\\\"mat4-interpolate\\\"),s=t(\\\"gl-mat4/invert\\\"),l=t(\\\"gl-mat4/rotateX\\\"),u=t(\\\"gl-mat4/rotateY\\\"),c=t(\\\"gl-mat4/rotateZ\\\"),h=t(\\\"gl-mat4/lookAt\\\"),f=t(\\\"gl-mat4/translate\\\"),d=(t(\\\"gl-mat4/scale\\\"),t(\\\"gl-vec3/normalize\\\")),p=[0,0,0];e.exports=i;var m=n.prototype;m.recalcMatrix=function(t){var e=this._time,r=a.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)n[u]=i[l++];else{for(var c=e[r+1]-e[r],l=16*r,h=this.prevMatrix,f=!0,u=0;u<16;++u)h[u]=i[l++];for(var p=this.nextMatrix,u=0;u<16;++u)p[u]=i[l++],f=f&&h[u]===p[u];if(c<1e-6||f)for(var u=0;u<16;++u)n[u]=h[u];else o(n,h,p,(t-e[r])/c)}var m=this.computedUp;m[0]=n[1],m[1]=n[5],m[2]=n[9],d(m,m);var v=this.computedInverse;s(v,n);var g=this.computedEye,y=v[15];g[0]=v[12]/y,g[1]=v[13]/y,g[2]=v[14]/y;for(var b=this.computedCenter,x=Math.exp(this.computedRadius[0]),u=0;u<3;++u)b[u]=g[u]-n[2+4*u]*x}},m.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)}},m.flush=function(t){var e=a.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},m.lastT=function(){return this._time[this._time.length-1]},m.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||p,n=n||this.computedUp,this.setMatrix(t,h(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},m.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&u(i,i,e),r&&l(i,i,r),n&&c(i,i,n),this.setMatrix(t,s(this.computedMatrix,i))};var v=[0,0,0];m.pan=function(t,e,r,n){v[0]=-(e||0),v[1]=-(r||0),v[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;f(i,i,v),this.setMatrix(t,s(i,i))},m.translate=function(t,e,r,n){v[0]=e||0,v[1]=r||0,v[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;f(i,i,v),this.setMatrix(t,i)},m.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},m.setDistance=function(t,e){this.computedRadius[0]=e},m.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},m.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\\\"binary-search-bounds\\\":65,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/lookAt\\\":181,\\\"gl-mat4/rotateX\\\":185,\\\"gl-mat4/rotateY\\\":186,\\\"gl-mat4/rotateZ\\\":187,\\\"gl-mat4/scale\\\":188,\\\"gl-mat4/translate\\\":189,\\\"gl-vec3/normalize\\\":275,\\\"mat4-interpolate\\\":447}],450:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(e<3){for(var r=new Array(e),n=0;n<e;++n)r[n]=n;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),n=0;n<e;++n)a[n]=n;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],n=2;n<e;++n){for(var l=a[n],u=t[l],c=o.length;c>1&&i(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&i(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,n=0,f=o.length;n<f;++n)r[h++]=o[n];for(var d=s.length-2;d>0;--d)r[h++]=s[d];return r}e.exports=n;var i=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":507}],451:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){var e=!1;return\\\"altKey\\\"in t&&(e=e||t.altKey!==v.alt,v.alt=!!t.altKey),\\\"shiftKey\\\"in t&&(e=e||t.shiftKey!==v.shift,v.shift=!!t.shiftKey),\\\"ctrlKey\\\"in t&&(e=e||t.ctrlKey!==v.control,v.control=!!t.ctrlKey),\\\"metaKey\\\"in t&&(e=e||t.metaKey!==v.meta,v.meta=!!t.metaKey),e}function n(t,n){var a=i.x(n),o=i.y(n);\\\"buttons\\\"in n&&(t=0|n.buttons),(t!==d||a!==p||o!==m||r(n))&&(d=0|t,p=a||0,m=o||0,e&&e(d,p,m,v))}function a(t){n(0,t)}function o(){(d||p||m||v.shift||v.alt||v.meta||v.control)&&(p=m=0,d=0,v.shift=v.alt=v.control=v.meta=!1,e&&e(0,0,0,v))}function s(t){r(t)&&e&&e(d,p,m,v)}function l(t){0===i.buttons(t)?n(0,t):n(d,t)}function u(t){n(d|i.buttons(t),t)}function c(t){n(d&~i.buttons(t),t)}function h(){g||(g=!0,t.addEventListener(\\\"mousemove\\\",l),t.addEventListener(\\\"mousedown\\\",u),t.addEventListener(\\\"mouseup\\\",c),t.addEventListener(\\\"mouseleave\\\",a),t.addEventListener(\\\"mouseenter\\\",a),t.addEventListener(\\\"mouseout\\\",a),t.addEventListener(\\\"mouseover\\\",a),t.addEventListener(\\\"blur\\\",o),t.addEventListener(\\\"keyup\\\",s),t.addEventListener(\\\"keydown\\\",s),t.addEventListener(\\\"keypress\\\",s),t!==window&&(window.addEventListener(\\\"blur\\\",o),window.addEventListener(\\\"keyup\\\",s),window.addEventListener(\\\"keydown\\\",s),window.addEventListener(\\\"keypress\\\",s)))}function f(){g&&(g=!1,t.removeEventListener(\\\"mousemove\\\",l),t.removeEventListener(\\\"mousedown\\\",u),t.removeEventListener(\\\"mouseup\\\",c),t.removeEventListener(\\\"mouseleave\\\",a),t.removeEventListener(\\\"mouseenter\\\",a),t.removeEventListener(\\\"mouseout\\\",a),t.removeEventListener(\\\"mouseover\\\",a),t.removeEventListener(\\\"blur\\\",o),t.removeEventListener(\\\"keyup\\\",s),t.removeEventListener(\\\"keydown\\\",s),t.removeEventListener(\\\"keypress\\\",s),t!==window&&(window.removeEventListener(\\\"blur\\\",o),window.removeEventListener(\\\"keyup\\\",s),window.removeEventListener(\\\"keydown\\\",s),window.removeEventListener(\\\"keypress\\\",s)))}e||(e=t,t=window);var d=0,p=0,m=0,v={shift:!1,alt:!1,control:!1,meta:!1},g=!1;h();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return g},set:function(t){t?h():f()},enumerable:!0},buttons:{get:function(){return d},enumerable:!0},x:{get:function(){return p},enumerable:!0},y:{get:function(){return m},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),y}e.exports=n;var i=t(\\\"mouse-event\\\")},{\\\"mouse-event\\\":453}],452:[function(t,e,r){function n(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n=t.clientX||0,a=t.clientY||0,o=i(e);return r[0]=n-o.left,r[1]=a-o.top,r}function i(t){return t===window||t===document||t===document.body?a:t.getBoundingClientRect()}var a={left:0,top:0};e.exports=n},{}],453:[function(t,e,r){\\\"use strict\\\";function n(t){if(\\\"object\\\"==typeof t){if(\\\"buttons\\\"in t)return t.buttons;if(\\\"which\\\"in t){var e=t.which;if(2===e)return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\\\"button\\\"in t){var e=t.button;if(1===e)return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0}function i(t){return t.target||t.srcElement||window}function a(t){if(\\\"object\\\"==typeof t){if(\\\"offsetX\\\"in t)return t.offsetX;var e=i(t),r=e.getBoundingClientRect();return t.clientX-r.left}return 0}function o(t){if(\\\"object\\\"==typeof t){if(\\\"offsetY\\\"in t)return t.offsetY;var e=i(t),r=e.getBoundingClientRect();return t.clientY-r.top}return 0}r.buttons=n,r.element=i,r.x=a,r.y=o},{}],454:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){\\\"function\\\"==typeof t&&(r=!!e,e=t,t=window);var n=i(\\\"ex\\\",t),a=function(t){r&&t.preventDefault();var i=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=n;break;case 2:l=window.innerHeight}if(i*=l,a*=l,o*=l,i||a||o)return e(i,a,o,t)};return t.addEventListener(\\\"wheel\\\",a),a}var i=t(\\\"to-px\\\");e.exports=n},{\\\"to-px\\\":534}],455:[function(t,e,r){\\\"use strict\\\";function n(t){return\\\"a\\\"+t}function i(t){return\\\"d\\\"+t}function a(t,e){return\\\"c\\\"+t+\\\"_\\\"+e}function o(t){return\\\"s\\\"+t}function s(t,e){return\\\"t\\\"+t+\\\"_\\\"+e}function l(t){return\\\"o\\\"+t}function u(t){return\\\"x\\\"+t}function c(t){return\\\"p\\\"+t}function h(t,e){return\\\"d\\\"+t+\\\"_\\\"+e}function f(t){return\\\"i\\\"+t}function d(t,e){return\\\"u\\\"+t+\\\"_\\\"+e}function p(t){return\\\"b\\\"+t}function m(t){return\\\"y\\\"+t}function v(t){return\\\"e\\\"+t}function g(t){return\\\"v\\\"+t}function y(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}function b(t,e,r,b,x,E){function L(t,e){j.push(\\\"for(\\\",f(x[t]),\\\"=\\\",e,\\\";\\\",f(x[t]),\\\"<\\\",o(x[t]),\\\";\\\",\\\"++\\\",f(x[t]),\\\"){\\\")}function C(t){for(var e=0;e<O;++e)j.push(c(e),\\\"+=\\\",d(e,x[t]),\\\";\\\");j.push(\\\"}\\\")}function z(t){for(var e=t-1;e>=0;--e)L(e,0);for(var r=[],e=0;e<O;++e)E[e]?r.push(i(e)+\\\".get(\\\"+c(e)+\\\")\\\"):r.push(i(e)+\\\"[\\\"+c(e)+\\\"]\\\");for(var e=0;e<b;++e)r.push(u(e));j.push(M,\\\"[\\\",T,\\\"++]=phase(\\\",r.join(),\\\");\\\");for(var e=0;e<t;++e)C(e);for(var n=0;n<O;++n)j.push(c(n),\\\"+=\\\",d(n,x[t]),\\\";\\\")}function I(t){for(var e=0;e<O;++e)E[e]?j.push(a(e,0),\\\"=\\\",i(e),\\\".get(\\\",c(e),\\\");\\\"):j.push(a(e,0),\\\"=\\\",i(e),\\\"[\\\",c(e),\\\"];\\\");for(var r=[],e=0;e<O;++e)r.push(a(e,0));for(var e=0;e<b;++e)r.push(u(e));j.push(p(0),\\\"=\\\",M,\\\"[\\\",T,\\\"]=phase(\\\",r.join(),\\\");\\\");for(var n=1;n<1<<R;++n)j.push(p(n),\\\"=\\\",M,\\\"[\\\",T,\\\"+\\\",v(n),\\\"];\\\");for(var o=[],n=1;n<1<<R;++n)o.push(\\\"(\\\"+p(0)+\\\"!==\\\"+p(n)+\\\")\\\");j.push(\\\"if(\\\",o.join(\\\"||\\\"),\\\"){\\\");for(var s=[],e=0;e<R;++e)s.push(f(e));for(var e=0;e<O;++e){s.push(a(e,0));for(var n=1;n<1<<R;++n)E[e]?j.push(a(e,n),\\\"=\\\",i(e),\\\".get(\\\",c(e),\\\"+\\\",h(e,n),\\\");\\\"):j.push(a(e,n),\\\"=\\\",i(e),\\\"[\\\",c(e),\\\"+\\\",h(e,n),\\\"];\\\"),s.push(a(e,n))}for(var e=0;e<1<<R;++e)s.push(p(e));for(var e=0;e<b;++e)s.push(u(e));j.push(\\\"vertex(\\\",s.join(),\\\");\\\",g(0),\\\"=\\\",w,\\\"[\\\",T,\\\"]=\\\",k,\\\"++;\\\");for(var l=(1<<R)-1,d=p(l),n=0;n<R;++n)if(0==(t&~(1<<n))){for(var m=l^1<<n,y=p(m),x=[],_=m;_>0;_=_-1&m)x.push(w+\\\"[\\\"+T+\\\"+\\\"+v(_)+\\\"]\\\");x.push(g(0));for(var _=0;_<O;++_)1&n?x.push(a(_,l),a(_,m)):x.push(a(_,m),a(_,l));1&n?x.push(d,y):x.push(y,d);for(var _=0;_<b;++_)x.push(u(_));j.push(\\\"if(\\\",d,\\\"!==\\\",y,\\\"){\\\",\\\"face(\\\",x.join(),\\\")}\\\")}j.push(\\\"}\\\",T,\\\"+=1;\\\")}function D(){for(var t=1;t<1<<R;++t)j.push(S,\\\"=\\\",v(t),\\\";\\\",v(t),\\\"=\\\",m(t),\\\";\\\",m(t),\\\"=\\\",S,\\\";\\\")}function P(t,e){if(t<0)return void I(e);z(t),j.push(\\\"if(\\\",o(x[t]),\\\">0){\\\",f(x[t]),\\\"=1;\\\"),P(t-1,e|1<<x[t]);for(var r=0;r<O;++r)j.push(c(r),\\\"+=\\\",d(r,x[t]),\\\";\\\");t===R-1&&(j.push(T,\\\"=0;\\\"),D()),L(t,2),P(t-1,e),t===R-1&&(j.push(\\\"if(\\\",f(x[R-1]),\\\"&1){\\\",T,\\\"=0;}\\\"),D()),C(t),j.push(\\\"}\\\")}var O=E.length,R=x.length;if(R<2)throw new Error(\\\"ndarray-extract-contour: Dimension must be at least 2\\\");for(var F=\\\"extractContour\\\"+x.join(\\\"_\\\"),j=[],N=[],B=[],U=0;U<O;++U)B.push(n(U));for(var U=0;U<b;++U)B.push(u(U));for(var U=0;U<R;++U)N.push(o(U)+\\\"=\\\"+n(0)+\\\".shape[\\\"+U+\\\"]|0\\\");for(var U=0;U<O;++U){N.push(i(U)+\\\"=\\\"+n(U)+\\\".data\\\",l(U)+\\\"=\\\"+n(U)+\\\".offset|0\\\");for(var V=0;V<R;++V)N.push(s(U,V)+\\\"=\\\"+n(U)+\\\".stride[\\\"+V+\\\"]|0\\\")}for(var U=0;U<O;++U){N.push(c(U)+\\\"=\\\"+l(U)),N.push(a(U,0));for(var V=1;V<1<<R;++V){for(var H=[],q=0;q<R;++q)V&1<<q&&H.push(\\\"-\\\"+s(U,q));N.push(h(U,V)+\\\"=(\\\"+H.join(\\\"\\\")+\\\")|0\\\"),N.push(a(U,V)+\\\"=0\\\")}}for(var U=0;U<O;++U)for(var V=0;V<R;++V){var G=[s(U,x[V])];V>0&&G.push(s(U,x[V-1])+\\\"*\\\"+o(x[V-1])),N.push(d(U,x[V])+\\\"=(\\\"+G.join(\\\"-\\\")+\\\")|0\\\")}for(var U=0;U<R;++U)N.push(f(U)+\\\"=0\\\");N.push(k+\\\"=0\\\");for(var Y=[\\\"2\\\"],U=R-2;U>=0;--U)Y.push(o(x[U]));N.push(A+\\\"=(\\\"+Y.join(\\\"*\\\")+\\\")|0\\\",M+\\\"=mallocUint32(\\\"+A+\\\")\\\",w+\\\"=mallocUint32(\\\"+A+\\\")\\\",T+\\\"=0\\\"),N.push(p(0)+\\\"=0\\\");for(var V=1;V<1<<R;++V){for(var X=[],W=[],q=0;q<R;++q)V&1<<q&&(0===W.length?X.push(\\\"1\\\"):X.unshift(W.join(\\\"*\\\"))),W.push(o(x[q]));var Z=\\\"\\\";X[0].indexOf(o(x[R-2]))<0&&(Z=\\\"-\\\");var J=y(R,V,x);N.push(v(J)+\\\"=(-\\\"+X.join(\\\"-\\\")+\\\")|0\\\",m(J)+\\\"=(\\\"+Z+X.join(\\\"-\\\")+\\\")|0\\\",p(J)+\\\"=0\\\")}N.push(g(0)+\\\"=0\\\",S+\\\"=0\\\"),P(R-1,0),j.push(\\\"freeUint32(\\\",w,\\\");freeUint32(\\\",M,\\\");\\\");var K=[\\\"'use strict';\\\",\\\"function \\\",F,\\\"(\\\",B.join(),\\\"){\\\",\\\"var \\\",N.join(),\\\";\\\",j.join(\\\"\\\"),\\\"}\\\",\\\"return \\\",F].join(\\\"\\\");return new Function(\\\"vertex\\\",\\\"face\\\",\\\"phase\\\",\\\"mallocUint32\\\",\\\"freeUint32\\\",K)(t,e,r,_.mallocUint32,_.freeUint32)}function x(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 n=t.arrayArguments||1;n<1&&e(\\\"Must have at least one array argument\\\");var i=t.scalarArguments||0;i<0&&e(\\\"Scalar arg count must be > 0\\\"),\\n\",\n       \"\\\"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 a=t.getters||[],o=new Array(n),s=0;s<n;++s)a.indexOf(s)>=0?o[s]=!0:o[s]=!1;return b(t.vertex,t.cell,t.phase,i,r,o)}var _=t(\\\"typedarray-pool\\\");e.exports=x;var w=\\\"V\\\",M=\\\"P\\\",k=\\\"N\\\",A=\\\"Q\\\",T=\\\"X\\\",S=\\\"T\\\"},{\\\"typedarray-pool\\\":540}],456:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\"],pre:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},body:{body:\\\"{_inline_7_arg1_=_inline_7_arg2_.apply(void 0,_inline_7_arg0_)}\\\",args:[{name:\\\"_inline_7_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_7_arg2_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\\\"cwise/lib/wrapper\\\":112}],457:[function(t,e,r){\\\"use strict\\\";function n(t){if(t in l)return l[t];for(var e=[],r=0;r<t;++r)e.push(\\\"out\\\",r,\\\"s=0.5*(inp\\\",r,\\\"l-inp\\\",r,\\\"r);\\\");for(var n=[\\\"array\\\"],i=[\\\"junk\\\"],r=0;r<t;++r){n.push(\\\"array\\\"),i.push(\\\"out\\\"+r+\\\"s\\\");var a=o(t);a[r]=-1,n.push({array:0,offset:a.slice()}),a[r]=1,n.push({array:0,offset:a.slice()}),i.push(\\\"inp\\\"+r+\\\"l\\\",\\\"inp\\\"+r+\\\"r\\\")}return l[t]=s({args:n,pre:c,post:c,body:{body:e.join(\\\"\\\"),args:i.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})}function i(t){var e=t.join(),r=u[e];if(r)return r;for(var i=t.length,a=[\\\"function gradient(dst,src){var s=src.shape.slice();\\\"],o=0;o<1<<i;++o){for(var s=[],c=0;c<i;++c)o&1<<c&&s.push(c+1);for(var d=0;d<1<<s.length;++d){for(var p=s.slice(),c=0;c<s.length;++c)d&1<<c&&(p[c]=-p[c]);!function(e){for(var r=i-e.length,n=[],o=[],s=[],l=0;l<i;++l)e.indexOf(l+1)>=0?s.push(\\\"0\\\"):e.indexOf(-(l+1))>=0?s.push(\\\"s[\\\"+l+\\\"]-1\\\"):(s.push(\\\"-1\\\"),n.push(\\\"1\\\"),o.push(\\\"s[\\\"+l+\\\"]-2\\\"));var u=\\\".lo(\\\"+n.join()+\\\").hi(\\\"+o.join()+\\\")\\\";if(0===n.length&&(u=\\\"\\\"),r>0){a.push(\\\"if(1\\\");for(var l=0;l<i;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||a.push(\\\"&&s[\\\",l,\\\"]>2\\\");a.push(\\\"){grad\\\",r,\\\"(src.pick(\\\",s.join(),\\\")\\\",u);for(var l=0;l<i;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||a.push(\\\",dst.pick(\\\",s.join(),\\\",\\\",l,\\\")\\\",u);a.push(\\\");\\\")}for(var l=0;l<e.length;++l){var c=Math.abs(e[l])-1,h=\\\"dst.pick(\\\"+s.join()+\\\",\\\"+c+\\\")\\\"+u;switch(t[c]){case\\\"clamp\\\":var f=s.slice(),d=s.slice();e[l]<0?f[c]=\\\"s[\\\"+c+\\\"]-2\\\":d[c]=\\\"1\\\",0===r?a.push(\\\"if(s[\\\",c,\\\"]>1){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",f.join(),\\\")-src.get(\\\",d.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):a.push(\\\"if(s[\\\",c,\\\"]>1){diff(\\\",h,\\\",src.pick(\\\",f.join(),\\\")\\\",u,\\\",src.pick(\\\",d.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;case\\\"mirror\\\":0===r?a.push(\\\"dst.set(\\\",s.join(),\\\",\\\",c,\\\",0);\\\"):a.push(\\\"zero(\\\",h,\\\");\\\");break;case\\\"wrap\\\":var p=s.slice(),m=s.slice();e[l]<0?(p[c]=\\\"s[\\\"+c+\\\"]-2\\\",m[c]=\\\"0\\\"):(p[c]=\\\"s[\\\"+c+\\\"]-1\\\",m[c]=\\\"1\\\"),0===r?a.push(\\\"if(s[\\\",c,\\\"]>2){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",p.join(),\\\")-src.get(\\\",m.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):a.push(\\\"if(s[\\\",c,\\\"]>2){diff(\\\",h,\\\",src.pick(\\\",p.join(),\\\")\\\",u,\\\",src.pick(\\\",m.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;default:throw new Error(\\\"ndarray-gradient: Invalid boundary condition\\\")}}r>0&&a.push(\\\"};\\\")}(p)}}a.push(\\\"return dst;};return gradient\\\");for(var m=[\\\"diff\\\",\\\"zero\\\"],v=[h,f],o=1;o<=i;++o)m.push(\\\"grad\\\"+o),v.push(n(o));m.push(a.join(\\\"\\\"));var g=Function.apply(void 0,m),r=g.apply(void 0,v);return l[e]=r,r}function a(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\\\"ndarray-gradient: invalid boundary conditions\\\")}else r=\\\"string\\\"==typeof r?o(e.dimension,r):o(e.dimension,\\\"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 n=0;n<e.dimension;++n)if(t.shape[n]!==e.shape[n])throw new Error(\\\"ndarray-gradient: shape mismatch\\\");return 0===e.size?t:e.dimension<=0?(t.set(0),t):i(r)(t,e)}e.exports=a;var o=t(\\\"dup\\\"),s=t(\\\"cwise-compiler\\\"),l={},u={},c={body:\\\"\\\",args:[],thisVars:[],localVars:[]},h=s({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],pre:c,post:c,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\\\"}),f=s({args:[\\\"array\\\"],pre:c,post:c,body:{args:[{name:\\\"out\\\",lvalue:!0,rvalue:!1,count:1}],body:\\\"out=0\\\",thisVars:[],localVars:[]},funcName:\\\"zero\\\"})},{\\\"cwise-compiler\\\":109,dup:124}],458:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=e.dimension,o=a([],r);return i(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=o[(n+1)*n+r];for(var i=0;i<n;++i)t[r]+=o[(n+1)*i+r]*e[i]}for(var a=o[(n+1)*(n+1)-1],i=0;i<n;++i)a+=o[(n+1)*i+n]*e[i];for(var s=1/a,r=0;r<n;++r)t[r]*=s;return t}),t}var i=t(\\\"ndarray-warp\\\"),a=t(\\\"gl-matrix-invert\\\");e.exports=n},{\\\"gl-matrix-invert\\\":191,\\\"ndarray-warp\\\":465}],459:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<t.shape[1],c=0<=s+1&&s+1<t.shape[1],h=a&&u?t.get(n,s):0,f=a&&c?t.get(n,s+1):0;return(1-l)*((1-i)*h+i*(o&&u?t.get(n+1,s):0))+l*((1-i)*f+i*(o&&c?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),u=r-l,c=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),d=n-f,p=0<=f&&f<t.shape[2],m=0<=f+1&&f+1<t.shape[2],v=o&&c&&p?t.get(i,l,f):0,g=o&&h&&p?t.get(i,l+1,f):0,y=s&&c&&p?t.get(i+1,l,f):0,b=s&&h&&p?t.get(i+1,l+1,f):0,x=o&&c&&m?t.get(i,l,f+1):0,_=o&&h&&m?t.get(i,l+1,f+1):0;return(1-d)*((1-u)*((1-a)*v+a*y)+u*((1-a)*g+a*b))+d*((1-u)*((1-a)*x+a*(s&&c&&m?t.get(i+1,l,f+1):0))+u*((1-a)*_+a*(s&&h&&m?t.get(i+1,l+1,f+1):0)))}function o(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,u,c,h=0;t:for(e=0;e<1<<n;++e){for(u=1,c=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;u*=a[l],c+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;u*=1-a[l],c+=t.stride[l]*i[l]}h+=u*t.data[c]}return h}function s(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,s);default:return o.apply(void 0,arguments)}}e.exports=s,e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],460:[function(t,e,r){\\\"use strict\\\";function n(t){if(!t)return s;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 i(t){return o({args:t.args,pre:n(t.pre),body:n(t.body),post:n(t.proc),funcName:t.funcName})}function a(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(\\\"\\\"))(i(t))}var o=t(\\\"cwise-compiler\\\"),s={body:\\\"\\\",args:[],thisVars:[],localVars:[]},l={add:\\\"+\\\",sub:\\\"-\\\",mul:\\\"*\\\",div:\\\"/\\\",mod:\\\"%\\\",band:\\\"&\\\",bor:\\\"|\\\",bxor:\\\"^\\\",lshift:\\\"<<\\\",rshift:\\\">>\\\",rrshift:\\\">>>\\\"};!function(){for(var t in l){var e=l[t];r[t]=a({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),r[t+\\\"eq\\\"]=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a\\\"+e+\\\"=b\\\"},rvalue:!0,funcName:t+\\\"eq\\\"}),r[t+\\\"s\\\"]=a({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),r[t+\\\"seq\\\"]=a({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a\\\"+e+\\\"=s\\\"},rvalue:!0,funcName:t+\\\"seq\\\"})}}();var u={not:\\\"!\\\",bnot:\\\"~\\\",neg:\\\"-\\\",recip:\\\"1.0/\\\"};!function(){for(var t in u){var e=u[t];r[t]=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=\\\"+e+\\\"b\\\"},funcName:t}),r[t+\\\"eq\\\"]=a({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]=a({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),r[t+\\\"s\\\"]=a({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),r[t+\\\"eq\\\"]=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=a\\\"+e+\\\"b\\\"},rvalue:!0,count:2,funcName:t+\\\"eq\\\"}),r[t+\\\"seq\\\"]=a({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a=a\\\"+e+\\\"s\\\"},rvalue:!0,count:2,funcName:t+\\\"seq\\\"})}}();var h=[\\\"abs\\\",\\\"acos\\\",\\\"asin\\\",\\\"atan\\\",\\\"ceil\\\",\\\"cos\\\",\\\"exp\\\",\\\"floor\\\",\\\"log\\\",\\\"round\\\",\\\"sin\\\",\\\"sqrt\\\",\\\"tan\\\"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=a({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\\\"]=a({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 f=[\\\"max\\\",\\\"min\\\",\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=a({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\\\"]=a({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\\\"]=a({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\\\"]=a({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 d=[\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<d.length;++t){var e=d[t];r[e+\\\"op\\\"]=a({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\\\"]=a({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\\\"]=a({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\\\"]=a({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=o({args:[\\\"array\\\"],pre:s,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=o({args:[\\\"array\\\"],pre:s,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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=o({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=a({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=a({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assign\\\"}),r.assigns=a({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assigns\\\"}),r.equals=o({args:[\\\"array\\\",\\\"array\\\"],pre:s,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\\\":109}],461:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray\\\"),i=t(\\\"./doConvert.js\\\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\\\"./doConvert.js\\\":462,ndarray:466}],462:[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\\\":109}],463:[function(t,e,r){\\\"use strict\\\";function n(t){switch(t){case\\\"uint8\\\":return[l.mallocUint8,l.freeUint8];case\\\"uint16\\\":return[l.mallocUint16,l.freeUint16];case\\\"uint32\\\":return[l.mallocUint32,l.freeUint32];case\\\"int8\\\":return[l.mallocInt8,l.freeInt8];case\\\"int16\\\":return[l.mallocInt16,l.freeInt16];case\\\"int32\\\":return[l.mallocInt32,l.freeInt32];case\\\"float32\\\":return[l.mallocFloat,l.freeFloat];case\\\"float64\\\":return[l.mallocDouble,l.freeDouble];default:return null}}function i(t){for(var e=[],r=0;r<t;++r)e.push(\\\"s\\\"+r);for(var r=0;r<t;++r)e.push(\\\"n\\\"+r);for(var r=1;r<t;++r)e.push(\\\"d\\\"+r);for(var r=1;r<t;++r)e.push(\\\"e\\\"+r);for(var r=1;r<t;++r)e.push(\\\"f\\\"+r);return e}function a(t,e){function r(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function a(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}var o=[\\\"'use strict'\\\"],s=[\\\"ndarrayInsertionSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),l=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(i(t.length)),u=n(e),c=[\\\"i,j,cptr,ptr=left*s0+offset\\\"];if(t.length>1){for(var h=[],f=1;f<t.length;++f)c.push(\\\"i\\\"+f),h.push(\\\"n\\\"+f);u?c.push(\\\"scratch=malloc(\\\"+h.join(\\\"*\\\")+\\\")\\\"):c.push(\\\"scratch=new Array(\\\"+h.join(\\\"*\\\")+\\\")\\\"),c.push(\\\"dptr\\\",\\\"sptr\\\",\\\"a\\\",\\\"b\\\")}else c.push(\\\"scratch\\\");if(o.push([\\\"function \\\",s,\\\"(\\\",l.join(\\\",\\\"),\\\"){var \\\",c.join(\\\",\\\")].join(\\\"\\\"),\\\"for(i=left+1;i<=right;++i){\\\",\\\"j=i;ptr+=s0\\\",\\\"cptr=ptr\\\"),t.length>1){o.push(\\\"dptr=0;sptr=ptr\\\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\\\"for(i\\\",d,\\\"=0;i\\\",d,\\\"<n\\\",d,\\\";++i\\\",d,\\\"){\\\"].join(\\\"\\\"))}o.push(\\\"scratch[dptr++]=\\\",r(\\\"sptr\\\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\\\"sptr+=d\\\"+d,\\\"}\\\")}o.push(\\\"__g:while(j--\\\\x3eleft){\\\",\\\"dptr=0\\\",\\\"sptr=cptr-s0\\\");for(var f=1;f<t.length;++f)1===f&&o.push(\\\"__l:\\\"),o.push([\\\"for(i\\\",f,\\\"=0;i\\\",f,\\\"<n\\\",f,\\\";++i\\\",f,\\\"){\\\"].join(\\\"\\\"));o.push([\\\"a=\\\",r(\\\"sptr\\\"),\\\"\\\\nb=scratch[dptr]\\\\nif(a<b){break __g}\\\\nif(a>b){break __l}\\\"].join(\\\"\\\"));for(var f=t.length-1;f>=1;--f)o.push(\\\"sptr+=e\\\"+f,\\\"dptr+=f\\\"+f,\\\"}\\\");o.push(\\\"dptr=cptr;sptr=cptr-s0\\\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\\\"for(i\\\",d,\\\"=0;i\\\",d,\\\"<n\\\",d,\\\";++i\\\",d,\\\"){\\\"].join(\\\"\\\"))}o.push(a(\\\"dptr\\\",r(\\\"sptr\\\")));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push([\\\"dptr+=d\\\",d,\\\";sptr+=d\\\",d].join(\\\"\\\"),\\\"}\\\")}o.push(\\\"cptr-=s0\\\\n}\\\"),o.push(\\\"dptr=cptr;sptr=0\\\");for(var f=t.length-1;f>=0;--f){var d=t[f];0!==d&&o.push([\\\"for(i\\\",d,\\\"=0;i\\\",d,\\\"<n\\\",d,\\\";++i\\\",d,\\\"){\\\"].join(\\\"\\\"))}o.push(a(\\\"dptr\\\",\\\"scratch[sptr++]\\\"));for(var f=0;f<t.length;++f){var d=t[f];0!==d&&o.push(\\\"dptr+=d\\\"+d,\\\"}\\\")}}else o.push(\\\"scratch=\\\"+r(\\\"ptr\\\"),\\\"while((j--\\\\x3eleft)&&(\\\"+r(\\\"cptr-s0\\\")+\\\">scratch)){\\\",a(\\\"cptr\\\",r(\\\"cptr-s0\\\")),\\\"cptr-=s0\\\",\\\"}\\\",a(\\\"cptr\\\",\\\"scratch\\\"));if(o.push(\\\"}\\\"),t.length>1&&u&&o.push(\\\"free(scratch)\\\"),o.push(\\\"} return \\\"+s),u){var p=new Function(\\\"malloc\\\",\\\"free\\\",o.join(\\\"\\\\n\\\"));return p(u[0],u[1])}var p=new Function(o.join(\\\"\\\\n\\\"));return p()}function o(t,e,r){function a(t){return[\\\"(offset+\\\",t,\\\"*s0)\\\"].join(\\\"\\\")}function o(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function s(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}function l(e,r,n){if(1===e.length)_.push(\\\"ptr0=\\\"+a(e[0]));else for(var i=0;i<e.length;++i)_.push([\\\"b_ptr\\\",i,\\\"=s0*\\\",e[i]].join(\\\"\\\"));r&&_.push(\\\"pivot_ptr=0\\\"),_.push(\\\"ptr_shift=offset\\\");for(var i=t.length-1;i>=0;--i){var o=t[i];0!==o&&_.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"))}if(e.length>1)for(var i=0;i<e.length;++i)_.push([\\\"ptr\\\",i,\\\"=b_ptr\\\",i,\\\"+ptr_shift\\\"].join(\\\"\\\"));_.push(n),r&&_.push(\\\"++pivot_ptr\\\");for(var i=0;i<t.length;++i){var o=t[i];0!==o&&(e.length>1?_.push(\\\"ptr_shift+=d\\\"+o):_.push(\\\"ptr0+=d\\\"+o),_.push(\\\"}\\\"))}}function c(e,r,n,i){if(1===r.length)_.push(\\\"ptr0=\\\"+a(r[0]));else{for(var o=0;o<r.length;++o)_.push([\\\"b_ptr\\\",o,\\\"=s0*\\\",r[o]].join(\\\"\\\"));_.push(\\\"ptr_shift=offset\\\")}n&&_.push(\\\"pivot_ptr=0\\\"),e&&_.push(e+\\\":\\\");for(var o=1;o<t.length;++o)_.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"));if(r.length>1)for(var o=0;o<r.length;++o)_.push([\\\"ptr\\\",o,\\\"=b_ptr\\\",o,\\\"+ptr_shift\\\"].join(\\\"\\\"));_.push(i);for(var o=t.length-1;o>=1;--o)n&&_.push(\\\"pivot_ptr+=f\\\"+o),r.length>1?_.push(\\\"ptr_shift+=e\\\"+o):_.push(\\\"ptr0+=e\\\"+o),_.push(\\\"}\\\")}function h(){t.length>1&&k&&_.push(\\\"free(pivot1)\\\",\\\"free(pivot2)\\\")}function f(e,r){var n=\\\"el\\\"+e,i=\\\"el\\\"+r;if(t.length>1){var s=\\\"__l\\\"+ ++A;c(s,[n,i],!1,[\\\"comp=\\\",o(\\\"ptr0\\\"),\\\"-\\\",o(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"if(comp>0){tmp0=\\\",n,\\\";\\\",n,\\\"=\\\",i,\\\";\\\",i,\\\"=tmp0;break \\\",s,\\\"}\\\\n\\\",\\\"if(comp<0){break \\\",s,\\\"}\\\"].join(\\\"\\\"))}else _.push([\\\"if(\\\",o(a(n)),\\\">\\\",o(a(i)),\\\"){tmp0=\\\",n,\\\";\\\",n,\\\"=\\\",i,\\\";\\\",i,\\\"=tmp0}\\\"].join(\\\"\\\"))}function d(e,r){t.length>1?l([e,r],!1,s(\\\"ptr0\\\",o(\\\"ptr1\\\"))):_.push(s(a(e),o(a(r))))}function p(e,r,n){if(t.length>1){var i=\\\"__l\\\"+ ++A;c(i,[r],!0,[e,\\\"=\\\",o(\\\"ptr0\\\"),\\\"-pivot\\\",n,\\\"[pivot_ptr]\\\\n\\\",\\\"if(\\\",e,\\\"!==0){break \\\",i,\\\"}\\\"].join(\\\"\\\"))}else _.push([e,\\\"=\\\",o(a(r)),\\\"-pivot\\\",n].join(\\\"\\\"))}function m(e,r){t.length>1?l([e,r],!1,[\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\")):_.push([\\\"ptr0=\\\",a(e),\\\"\\\\n\\\",\\\"ptr1=\\\",a(r),\\\"\\\\n\\\",\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\"))}function v(e,r,n){t.length>1?(l([e,r,n],!1,[\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",o(\\\"ptr2\\\")),\\\"\\\\n\\\",s(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\")),_.push(\\\"++\\\"+r,\\\"--\\\"+n)):_.push([\\\"ptr0=\\\",a(e),\\\"\\\\n\\\",\\\"ptr1=\\\",a(r),\\\"\\\\n\\\",\\\"ptr2=\\\",a(n),\\\"\\\\n\\\",\\\"++\\\",r,\\\"\\\\n\\\",\\\"--\\\",n,\\\"\\\\n\\\",\\\"tmp=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",o(\\\"ptr2\\\")),\\\"\\\\n\\\",s(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\"))}function g(t,e){m(t,e),_.push(\\\"--\\\"+e)}function y(e,r,n){t.length>1?l([e,r],!0,[s(\\\"ptr0\\\",o(\\\"ptr1\\\")),\\\"\\\\n\\\",s(\\\"ptr1\\\",[\\\"pivot\\\",n,\\\"[pivot_ptr]\\\"].join(\\\"\\\"))].join(\\\"\\\")):_.push(s(a(e),o(a(r))),s(a(r),\\\"pivot\\\"+n))}function b(e,r){_.push([\\\"if((\\\",r,\\\"-\\\",e,\\\")<=\\\",u,\\\"){\\\\n\\\",\\\"insertionSort(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",i(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}else{\\\\n\\\",w,\\\"(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",i(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}\\\"].join(\\\"\\\"))}function x(e,r,n){t.length>1?(_.push([\\\"__l\\\",++A,\\\":while(true){\\\"].join(\\\"\\\")),l([e],!0,[\\\"if(\\\",o(\\\"ptr0\\\"),\\\"!==pivot\\\",r,\\\"[pivot_ptr]){break __l\\\",A,\\\"}\\\"].join(\\\"\\\")),_.push(n,\\\"}\\\")):_.push([\\\"while(\\\",o(a(e)),\\\"===pivot\\\",r,\\\"){\\\",n,\\\"}\\\"].join(\\\"\\\"))}var _=[\\\"'use strict'\\\"],w=[\\\"ndarrayQuickSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),M=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(i(t.length)),k=n(e),A=0;_.push([\\\"function \\\",w,\\\"(\\\",M.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));var T=[\\\"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 S=[],E=1;E<t.length;++E)S.push(\\\"n\\\"+E),T.push(\\\"i\\\"+E);for(var E=0;E<8;++E)T.push(\\\"b_ptr\\\"+E);T.push(\\\"ptr3\\\",\\\"ptr4\\\",\\\"ptr5\\\",\\\"ptr6\\\",\\\"ptr7\\\",\\\"pivot_ptr\\\",\\\"ptr_shift\\\",\\\"elementSize=\\\"+S.join(\\\"*\\\")),k?T.push(\\\"pivot1=malloc(elementSize)\\\",\\\"pivot2=malloc(elementSize)\\\"):T.push(\\\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\\\")}else T.push(\\\"pivot1\\\",\\\"pivot2\\\");if(_.push(\\\"var \\\"+T.join(\\\",\\\")),f(1,2),f(4,5),f(1,3),f(2,3),f(1,4),f(3,4),f(2,5),f(2,3),f(4,5),t.length>1?l([\\\"el1\\\",\\\"el2\\\",\\\"el3\\\",\\\"el4\\\",\\\"el5\\\",\\\"index1\\\",\\\"index3\\\",\\\"index5\\\"],!0,[\\\"pivot1[pivot_ptr]=\\\",o(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"pivot2[pivot_ptr]=\\\",o(\\\"ptr3\\\"),\\\"\\\\n\\\",\\\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\\\n\\\",\\\"x=\\\",o(\\\"ptr0\\\"),\\\"\\\\n\\\",\\\"y=\\\",o(\\\"ptr2\\\"),\\\"\\\\n\\\",\\\"z=\\\",o(\\\"ptr4\\\"),\\\"\\\\n\\\",s(\\\"ptr5\\\",\\\"x\\\"),\\\"\\\\n\\\",s(\\\"ptr6\\\",\\\"y\\\"),\\\"\\\\n\\\",s(\\\"ptr7\\\",\\\"z\\\")].join(\\\"\\\")):_.push([\\\"pivot1=\\\",o(a(\\\"el2\\\")),\\\"\\\\n\\\",\\\"pivot2=\\\",o(a(\\\"el4\\\")),\\\"\\\\n\\\",\\\"pivots_are_equal=pivot1===pivot2\\\\n\\\",\\\"x=\\\",o(a(\\\"el1\\\")),\\\"\\\\n\\\",\\\"y=\\\",o(a(\\\"el3\\\")),\\\"\\\\n\\\",\\\"z=\\\",o(a(\\\"el5\\\")),\\\"\\\\n\\\",s(a(\\\"index1\\\"),\\\"x\\\"),\\\"\\\\n\\\",s(a(\\\"index3\\\"),\\\"y\\\"),\\\"\\\\n\\\",s(a(\\\"index5\\\"),\\\"z\\\")].join(\\\"\\\")),d(\\\"index2\\\",\\\"left\\\"),d(\\\"index4\\\",\\\"right\\\"),_.push(\\\"if(pivots_are_equal){\\\"),_.push(\\\"for(k=less;k<=great;++k){\\\"),p(\\\"comp\\\",\\\"k\\\",1),_.push(\\\"if(comp===0){continue}\\\"),_.push(\\\"if(comp<0){\\\"),_.push(\\\"if(k!==less){\\\"),m(\\\"k\\\",\\\"less\\\"),_.push(\\\"}\\\"),_.push(\\\"++less\\\"),_.push(\\\"}else{\\\"),_.push(\\\"while(true){\\\"),p(\\\"comp\\\",\\\"great\\\",1),_.push(\\\"if(comp>0){\\\"),_.push(\\\"great--\\\"),_.push(\\\"}else if(comp<0){\\\"),v(\\\"k\\\",\\\"less\\\",\\\"great\\\"),_.push(\\\"break\\\"),_.push(\\\"}else{\\\"),g(\\\"k\\\",\\\"great\\\"),_.push(\\\"break\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}else{\\\"),_.push(\\\"for(k=less;k<=great;++k){\\\"),p(\\\"comp_pivot1\\\",\\\"k\\\",1),_.push(\\\"if(comp_pivot1<0){\\\"),_.push(\\\"if(k!==less){\\\"),m(\\\"k\\\",\\\"less\\\"),_.push(\\\"}\\\"),_.push(\\\"++less\\\"),_.push(\\\"}else{\\\"),p(\\\"comp_pivot2\\\",\\\"k\\\",2),_.push(\\\"if(comp_pivot2>0){\\\"),_.push(\\\"while(true){\\\"),p(\\\"comp\\\",\\\"great\\\",2),_.push(\\\"if(comp>0){\\\"),_.push(\\\"if(--great<k){break}\\\"),_.push(\\\"continue\\\"),_.push(\\\"}else{\\\"),p(\\\"comp\\\",\\\"great\\\",1),_.push(\\\"if(comp<0){\\\"),v(\\\"k\\\",\\\"less\\\",\\\"great\\\"),_.push(\\\"}else{\\\"),g(\\\"k\\\",\\\"great\\\"),_.push(\\\"}\\\"),_.push(\\\"break\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),y(\\\"left\\\",\\\"(less-1)\\\",1),y(\\\"right\\\",\\\"(great+1)\\\",2),b(\\\"left\\\",\\\"(less-2)\\\"),b(\\\"(great+2)\\\",\\\"right\\\"),_.push(\\\"if(pivots_are_equal){\\\"),h(),_.push(\\\"return\\\"),_.push(\\\"}\\\"),_.push(\\\"if(less<index1&&great>index5){\\\"),x(\\\"less\\\",1,\\\"++less\\\"),x(\\\"great\\\",2,\\\"--great\\\"),_.push(\\\"for(k=less;k<=great;++k){\\\"),p(\\\"comp_pivot1\\\",\\\"k\\\",1),_.push(\\\"if(comp_pivot1===0){\\\"),_.push(\\\"if(k!==less){\\\"),m(\\\"k\\\",\\\"less\\\"),_.push(\\\"}\\\"),_.push(\\\"++less\\\"),_.push(\\\"}else{\\\"),p(\\\"comp_pivot2\\\",\\\"k\\\",2),_.push(\\\"if(comp_pivot2===0){\\\"),_.push(\\\"while(true){\\\"),p(\\\"comp\\\",\\\"great\\\",2),_.push(\\\"if(comp===0){\\\"),_.push(\\\"if(--great<k){break}\\\"),_.push(\\\"continue\\\"),_.push(\\\"}else{\\\"),p(\\\"comp\\\",\\\"great\\\",1),_.push(\\\"if(comp<0){\\\"),v(\\\"k\\\",\\\"less\\\",\\\"great\\\"),_.push(\\\"}else{\\\"),g(\\\"k\\\",\\\"great\\\"),_.push(\\\"}\\\"),_.push(\\\"break\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),_.push(\\\"}\\\"),h(),b(\\\"less\\\",\\\"great\\\"),_.push(\\\"}return \\\"+w),t.length>1&&k){var L=new Function(\\\"insertionSort\\\",\\\"malloc\\\",\\\"free\\\",_.join(\\\"\\\\n\\\"));return L(r,k[0],k[1])}var L=new Function(\\\"insertionSort\\\",_.join(\\\"\\\\n\\\"));return L(r)}function s(t,e){var r=[\\\"'use strict'\\\"],n=[\\\"ndarraySortWrapper\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),s=[\\\"array\\\"];r.push([\\\"function \\\",n,\\\"(\\\",s.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var l=[\\\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\\\"],c=0;c<t.length;++c)l.push([\\\"s\\\",c,\\\"=stride[\\\",c,\\\"]|0,n\\\",c,\\\"=shape[\\\",c,\\\"]|0\\\"].join(\\\"\\\"));for(var h=new Array(t.length),f=[],c=0;c<t.length;++c){var d=t[c];0!==d&&(0===f.length?h[d]=\\\"1\\\":h[d]=f.join(\\\"*\\\"),f.push(\\\"n\\\"+d))}for(var p=-1,m=-1,c=0;c<t.length;++c){var v=t[c];0!==v&&(p>0?l.push([\\\"d\\\",v,\\\"=s\\\",v,\\\"-d\\\",p,\\\"*n\\\",p].join(\\\"\\\")):l.push([\\\"d\\\",v,\\\"=s\\\",v].join(\\\"\\\")),p=v);var d=t.length-1-c;0!==d&&(m>0?l.push([\\\"e\\\",d,\\\"=s\\\",d,\\\"-e\\\",m,\\\"*n\\\",m,\\\",f\\\",d,\\\"=\\\",h[d],\\\"-f\\\",m,\\\"*n\\\",m].join(\\\"\\\")):l.push([\\\"e\\\",d,\\\"=s\\\",d,\\\",f\\\",d,\\\"=\\\",h[d]].join(\\\"\\\")),m=d)}r.push(\\\"var \\\"+l.join(\\\",\\\"));var g=[\\\"0\\\",\\\"n0-1\\\",\\\"data\\\",\\\"offset\\\"].concat(i(t.length));r.push([\\\"if(n0<=\\\",u,\\\"){\\\",\\\"insertionSort(\\\",g.join(\\\",\\\"),\\\")}else{\\\",\\\"quickSort(\\\",g.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),r.push(\\\"}return \\\"+n);var y=new Function(\\\"insertionSort\\\",\\\"quickSort\\\",r.join(\\\"\\\\n\\\")),b=a(t,e);return y(b,o(t,e,b))}var l=t(\\\"typedarray-pool\\\"),u=32;e.exports=s},{\\\"typedarray-pool\\\":540}],464:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.order,r=t.dtype,n=[e,r],o=n.join(\\\":\\\"),s=a[o];return s||(a[o]=s=i(e,r)),s(t),t}var i=t(\\\"./lib/compile_sort.js\\\"),a={};e.exports=n},{\\\"./lib/compile_sort.js\\\":463}],465:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray-linear-interpolate\\\"),i=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=new Array(_inline_33_arg4_)}\\\",args:[{name:\\\"_inline_33_arg0_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg1_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg2_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg3_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_33_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_34_arg2_(this_warped,_inline_34_arg0_),_inline_34_arg1_=_inline_34_arg3_.apply(void 0,this_warped)}\\\",args:[{name:\\\"_inline_34_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_34_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_34_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_34_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_34_arg4_\\\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warpND\\\",blockSize:64}),a=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_37_arg2_(this_warped,_inline_37_arg0_),_inline_37_arg1_=_inline_37_arg3_(_inline_37_arg4_,this_warped[0])}\\\",args:[{name:\\\"_inline_37_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_37_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_37_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_37_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_37_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp1D\\\",blockSize:64}),o=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_40_arg2_(this_warped,_inline_40_arg0_),_inline_40_arg1_=_inline_40_arg3_(_inline_40_arg4_,this_warped[0],this_warped[1])}\\\",args:[{name:\\\"_inline_40_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_40_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_40_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_40_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_40_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp2D\\\",blockSize:64}),s=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_43_arg2_(this_warped,_inline_43_arg0_),_inline_43_arg1_=_inline_43_arg3_(_inline_43_arg4_,this_warped[0],this_warped[1],this_warped[2])}\\\",args:[{name:\\\"_inline_43_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_43_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_43_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_43_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_43_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp3D\\\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\\\"cwise/lib/wrapper\\\":112,\\\"ndarray-linear-interpolate\\\":459}],466:[function(t,e,r){function n(t,e){return t[0]-e[0]}function i(){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(n);var i=new Array(r.length);for(t=0;t<i.length;++t)i[t]=r[t][1];return i}function a(t,e){var r=[\\\"View\\\",e,\\\"d\\\",t].join(\\\"\\\");e<0&&(r=\\\"View_Nil\\\"+t);var n=\\\"generic\\\"===t;if(-1===e){\\n\",\n       \"var a=\\\"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);}\\\",o=new Function(a);return o()}if(0===e){var a=\\\"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 \\\"+(n?\\\"this.data.get(this.offset)\\\":\\\"this.data[this.offset]\\\")+\\\"};proto.set=function \\\"+r+\\\"_set(v){return \\\"+(n?\\\"this.data.set(this.offset,v)\\\":\\\"this.data[this.offset]=v\\\")+\\\"};return function construct_\\\"+r+\\\"(a,b,c,d){return new \\\"+r+\\\"(a,d)}\\\",o=new Function(\\\"TrivialArray\\\",a);return o(h[t][0])}var a=[\\\"'use strict'\\\"],s=l(e),u=s.map(function(t){return\\\"i\\\"+t}),c=\\\"this.offset+\\\"+s.map(function(t){return\\\"this.stride[\\\"+t+\\\"]*i\\\"+t}).join(\\\"+\\\"),f=s.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\"),d=s.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\");a.push(\\\"function \\\"+r+\\\"(a,\\\"+f+\\\",\\\"+d+\\\",d){this.data=a\\\",\\\"this.shape=[\\\"+f+\\\"]\\\",\\\"this.stride=[\\\"+d+\\\"]\\\",\\\"this.offset=d|0}\\\",\\\"var proto=\\\"+r+\\\".prototype\\\",\\\"proto.dtype='\\\"+t+\\\"'\\\",\\\"proto.dimension=\\\"+e),a.push(\\\"Object.defineProperty(proto,'size',{get:function \\\"+r+\\\"_size(){return \\\"+s.map(function(t){return\\\"this.shape[\\\"+t+\\\"]\\\"}).join(\\\"*\\\"),\\\"}})\\\"),1===e?a.push(\\\"proto.order=[0]\\\"):(a.push(\\\"Object.defineProperty(proto,'order',{get:\\\"),e<4?(a.push(\\\"function \\\"+r+\\\"_order(){\\\"),2===e?a.push(\\\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\\\"):3===e&&a.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];}}})\\\")):a.push(\\\"ORDER})\\\")),a.push(\\\"proto.set=function \\\"+r+\\\"_set(\\\"+u.join(\\\",\\\")+\\\",v){\\\"),n?a.push(\\\"return this.data.set(\\\"+c+\\\",v)}\\\"):a.push(\\\"return this.data[\\\"+c+\\\"]=v}\\\"),a.push(\\\"proto.get=function \\\"+r+\\\"_get(\\\"+u.join(\\\",\\\")+\\\"){\\\"),n?a.push(\\\"return this.data.get(\\\"+c+\\\")}\\\"):a.push(\\\"return this.data[\\\"+c+\\\"]}\\\"),a.push(\\\"proto.index=function \\\"+r+\\\"_index(\\\",u.join(),\\\"){return \\\"+c+\\\"}\\\"),a.push(\\\"proto.hi=function \\\"+r+\\\"_hi(\\\"+u.join(\\\",\\\")+\\\"){return new \\\"+r+\\\"(this.data,\\\"+s.map(function(t){return[\\\"(typeof i\\\",t,\\\"!=='number'||i\\\",t,\\\"<0)?this.shape[\\\",t,\\\"]:i\\\",t,\\\"|0\\\"].join(\\\"\\\")}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",this.offset)}\\\");var p=s.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}),m=s.map(function(t){return\\\"c\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"});a.push(\\\"proto.lo=function \\\"+r+\\\"_lo(\\\"+u.join(\\\",\\\")+\\\"){var b=this.offset,d=0,\\\"+p.join(\\\",\\\")+\\\",\\\"+m.join(\\\",\\\"));for(var v=0;v<e;++v)a.push(\\\"if(typeof i\\\"+v+\\\"==='number'&&i\\\"+v+\\\">=0){d=i\\\"+v+\\\"|0;b+=c\\\"+v+\\\"*d;a\\\"+v+\\\"-=d}\\\");a.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+s.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\")+\\\",b)}\\\"),a.push(\\\"proto.step=function \\\"+r+\\\"_step(\\\"+u.join(\\\",\\\")+\\\"){var \\\"+s.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"b\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",c=this.offset,d=0,ceil=Math.ceil\\\");for(var v=0;v<e;++v)a.push(\\\"if(typeof i\\\"+v+\\\"==='number'){d=i\\\"+v+\\\"|0;if(d<0){c+=b\\\"+v+\\\"*(a\\\"+v+\\\"-1);a\\\"+v+\\\"=ceil(-a\\\"+v+\\\"/d)}else{a\\\"+v+\\\"=ceil(a\\\"+v+\\\"/d)}b\\\"+v+\\\"*=d}\\\");a.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+s.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\")+\\\",c)}\\\");for(var g=new Array(e),y=new Array(e),v=0;v<e;++v)g[v]=\\\"a[i\\\"+v+\\\"]\\\",y[v]=\\\"b[i\\\"+v+\\\"]\\\";a.push(\\\"proto.transpose=function \\\"+r+\\\"_transpose(\\\"+u+\\\"){\\\"+u.map(function(t,e){return t+\\\"=(\\\"+t+\\\"===undefined?\\\"+e+\\\":\\\"+t+\\\"|0)\\\"}).join(\\\";\\\"),\\\"var a=this.shape,b=this.stride;return new \\\"+r+\\\"(this.data,\\\"+g.join(\\\",\\\")+\\\",\\\"+y.join(\\\",\\\")+\\\",this.offset)}\\\"),a.push(\\\"proto.pick=function \\\"+r+\\\"_pick(\\\"+u+\\\"){var a=[],b=[],c=this.offset\\\");for(var v=0;v<e;++v)a.push(\\\"if(typeof i\\\"+v+\\\"==='number'&&i\\\"+v+\\\">=0){c=(c+this.stride[\\\"+v+\\\"]*i\\\"+v+\\\")|0}else{a.push(this.shape[\\\"+v+\\\"]);b.push(this.stride[\\\"+v+\\\"])}\\\");a.push(\\\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\\\"),a.push(\\\"return function construct_\\\"+r+\\\"(data,shape,stride,offset){return new \\\"+r+\\\"(data,\\\"+s.map(function(t){return\\\"shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+s.map(function(t){return\\\"stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",offset)}\\\");var o=new Function(\\\"CTOR_LIST\\\",\\\"ORDER\\\",a.join(\\\"\\\\n\\\"));return o(h[t],i)}function o(t){if(u(t))return\\\"buffer\\\";if(c)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\\\"}return Array.isArray(t)?\\\"array\\\":\\\"generic\\\"}function s(t,e,r,n){if(void 0===t){var i=h.array[0];return i([])}\\\"number\\\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var s=e.length;if(void 0===r){r=new Array(s);for(var l=s-1,u=1;l>=0;--l)r[l]=u,u*=e[l]}if(void 0===n){n=0;for(var l=0;l<s;++l)r[l]<0&&(n-=(e[l]-1)*r[l])}for(var c=o(t),f=h[c];f.length<=s+1;)f.push(a(c,f.length-1));var i=f[s+1];return i(t,e,r,n)}var l=t(\\\"iota-array\\\"),u=t(\\\"is-buffer\\\"),c=\\\"undefined\\\"!=typeof Float64Array,h={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=s},{\\\"iota-array\\\":292,\\\"is-buffer\\\":294}],467:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=i.hi(t),n=i.lo(t);return e>t==t>0?n===o?(r+=1,n=0):n+=1:0===n?(n=o,r-=1):n-=1,i.pack(n,r)}var i=t(\\\"double-bits\\\"),a=Math.pow(2,-1074),o=-1>>>0;e.exports=n},{\\\"double-bits\\\":123}],468:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(var o=0;o<t.length;++o)for(var s=t[o],l=0,u=s[s.length-1],c=s[0],h=0;h<s.length;++h){l=u,u=c,c=s[(h+1)%s.length];for(var f=e[l],d=e[u],p=e[c],m=new Array(3),v=0,g=new Array(3),y=0,b=0;b<3;++b)m[b]=f[b]-d[b],v+=m[b]*m[b],g[b]=p[b]-d[b],y+=g[b]*g[b];if(v*y>a)for(var x=i[u],_=1/Math.sqrt(v*y),b=0;b<3;++b){var w=(b+1)%3,M=(b+2)%3;x[b]+=_*(g[w]*m[M]-g[M]*m[w])}}for(var o=0;o<n;++o){for(var x=i[o],k=0,b=0;b<3;++b)k+=x[b]*x[b];if(k>a)for(var _=1/Math.sqrt(k),b=0;b<3;++b)x[b]*=_;else for(var b=0;b<3;++b)x[b]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),u=0;u<3;++u)l[u]=e[s[u]];for(var c=new Array(3),h=new Array(3),u=0;u<3;++u)c[u]=l[1][u]-l[0][u],h[u]=l[2][u]-l[0][u];for(var f=new Array(3),d=0,u=0;u<3;++u){var p=(u+1)%3,m=(u+2)%3;f[u]=c[p]*h[m]-c[m]*h[p],d+=f[u]*f[u]}d=d>a?1/Math.sqrt(d):0;for(var u=0;u<3;++u)f[u]*=d;i[o]=f}return i}},{}],469:[function(t,e,r){\\\"use strict\\\";function n(t){if(null===t||void 0===t)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(t)}var i=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;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=n(t),u=1;u<arguments.length;u++){r=Object(arguments[u]);for(var c in r)a.call(r,c)&&(l[c]=r[c]);if(i){s=i(r);for(var h=0;h<s.length;h++)o.call(r,s[h])&&(l[s[h]]=r[s[h]])}}return l}},{}],470:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,o;return\\\"string\\\"==typeof t?(r=i(t,e),n=r.width,o=r.height):t instanceof HTMLCanvasElement?(n=t.width,o=t.height,t=t.getContext(\\\"2d\\\"),r=t.getImageData(0,0,n,o)):t instanceof ImageData&&(n=t.width,o=t.height,r=t),a(r)}function i(t,e){e||(e={});var r=e.family||\\\"sans-serif\\\",n=l.width,i=l.height,a=e.width||e.height||e.size;a&&a!=n&&(n=i=l.width=l.height=a);var o=e.fontSize||n/2;return u.fillStyle=\\\"#000\\\",u.fillRect(0,0,n,i),u.font=o+\\\"px \\\"+r,u.textBaseline=\\\"middle\\\",u.textAlign=\\\"center\\\",u.fillStyle=\\\"white\\\",u.fillText(t,n/2,i/2),u.getImageData(0,0,n,i)}function a(t){var e,r,n,i,a,l,u,c,h,f,d,p,m,v=t.data,g=t.width,y=t.height,b=Array(y),x=Array(y),_=0,w=0,M=g,k=0,A=0,T=Array(y);for(r=0;r<y;r++)if(l=0,u=0,a=4*r*g,d=o(v.subarray(a,a+4*g),4),d[0]!==d[1]){for(_||(_=r),w=r,e=d[0];e<d[1];e++)i=4*e,n=v[a+i],l+=n,u+=e*n;b[r]=0===l?0:l/g,x[r]=0===l?0:u/l,d[0]<M&&(M=d[0]),d[1]>k&&(k=d[1]),T[r]=d}for(l=0,c=0,u=0,r=0;r<y;r++)(p=b[r])&&(c+=p*r,l+=p,u+=x[r]*p);for(f=c/l,h=u/l,A=0,m=0,r=0;r<y;r++)(d=T[r])&&(m=Math.max(s(h-d[0],f-r),s(h-d[1],f-r)))>A&&(A=m);return{center:[h,f],bounds:[M,_,k,w+1],radius:Math.sqrt(A)}}function o(t,e){var r=0,n=t.length,i=0;for(e||(e=4);!t[i]&&i<n;)i+=e;for(r=i,i=t.length;!t[i]&&i>r;)i-=e;return n=i,[r/e,n/e]}function s(t,e){return t*t+e*e}e.exports=n;var l=document.createElement(\\\"canvas\\\"),u=l.getContext(\\\"2d\\\");l.width=200,l.height=200,n.canvas=l},{}],471:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(h>0){var h=Math.sqrt(c+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,u),h=Math.sqrt(2*f-c+1);e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/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-i)/h)}return t}e.exports=n},{}],472:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function a(t,e){var r=e[0],n=e[1],a=e[2],o=e[3],s=i(r,n,a,o);s>1e-6?(t[0]=r/s,t[1]=n/s,t[2]=a/s,t[3]=o/s):(t[0]=t[1]=t[2]=0,t[3]=1)}function o(t,e,r){this.radius=l([r]),this.center=l(e),this.rotation=l(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)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),r=[].slice.call(r,0,4),a(r,r);var i=new o(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(\\\"eye\\\"in t||\\\"up\\\"in t)&&i.lookAt(0,t.eye,t.center,t.up),i}e.exports=s;var l=t(\\\"filtered-vector\\\"),u=t(\\\"gl-mat4/lookAt\\\"),c=t(\\\"gl-mat4/fromQuat\\\"),h=t(\\\"gl-mat4/invert\\\"),f=t(\\\"./lib/quatFromFrame\\\"),d=o.prototype;d.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},d.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;a(e,e);var r=this.computedMatrix;c(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[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 u=0,h=0;h<3;++h)u+=r[l+4*h]*i[h];r[12+l]=-u}},d.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},d.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},d.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},d.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=a[1],s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var m=a[2],v=a[6],g=a[10],y=m*o+v*s+g*l,b=m*c+v*h+g*f;m-=y*o+b*c,v-=y*s+b*h,g-=y*l+b*f;var x=n(m,v,g);m/=x,v/=x,g/=x;var _=c*e+o*r,w=h*e+s*r,M=f*e+l*r;this.center.move(t,_,w,M);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+i),this.radius.set(t,Math.log(k))},d.rotate=function(t,e,r,a){this.recalcMatrix(t),e=e||0,r=r||0;var o=this.computedMatrix,s=o[0],l=o[4],u=o[8],c=o[1],h=o[5],f=o[9],d=o[2],p=o[6],m=o[10],v=e*s+r*c,g=e*l+r*h,y=e*u+r*f,b=-(p*y-m*g),x=-(m*v-d*y),_=-(d*g-p*v),w=Math.sqrt(Math.max(0,1-Math.pow(b,2)-Math.pow(x,2)-Math.pow(_,2))),M=i(b,x,_,w);M>1e-6?(b/=M,x/=M,_/=M,w/=M):(b=x=_=0,w=1);var k=this.computedRotation,A=k[0],T=k[1],S=k[2],E=k[3],L=A*w+E*b+T*_-S*x,C=T*w+E*x+S*b-A*_,z=S*w+E*_+A*x-T*b,I=E*w-A*b-T*x-S*_;if(a){b=d,x=p,_=m;var D=Math.sin(a)/n(b,x,_);b*=D,x*=D,_*=D,w=Math.cos(e),L=L*w+I*b+C*_-z*x,C=C*w+I*x+z*b-L*_,z=z*w+I*_+L*x-C*b,I=I*w-L*b-C*x-z*_}var P=i(L,C,z,I);P>1e-6?(L/=P,C/=P,z/=P,I/=P):(L=C=z=0,I=1),this.rotation.set(t,L,C,z,I)},d.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;u(i,e,r,n);var o=this.computedRotation;f(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),a(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var s=0,l=0;l<3;++l)s+=Math.pow(r[l]-e[l],2);this.radius.set(t,.5*Math.log(Math.max(s,1e-6))),this.center.set(t,r[0],r[1],r[2])},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e){var r=this.computedRotation;f(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),a(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;h(n,e);var i=n[15];if(Math.abs(i)>1e-6){var o=n[12]/i,s=n[13]/i,l=n[14]/i;this.recalcMatrix(t);var u=Math.exp(this.computedRadius[0]);this.center.set(t,o-n[2]*u,s-n[6]*u,l-n[10]*u),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},d.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},d.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},d.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])]},d.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]}},d.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 i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\\\"./lib/quatFromFrame\\\":471,\\\"filtered-vector\\\":132,\\\"gl-mat4/fromQuat\\\":177,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/lookAt\\\":181}],473:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"repeat-string\\\");e.exports=function(t,e,r){return r=void 0!==r?r+\\\"\\\":\\\" \\\",n(r,e)+t}},{\\\"repeat-string\\\":499}],474:[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}},{}],475:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n>=0;n--){var i=t[n];\\\".\\\"===i?t.splice(n,1):\\\"..\\\"===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift(\\\"..\\\");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n<t.length;n++)e(t[n],n,t)&&r.push(t[n]);return r}var i=/^(\\\\/?|)([\\\\s\\\\S]*?)((?:\\\\.{1,2}|[^\\\\/]+?|)(\\\\.[^.\\\\/]*|))(?:[\\\\/]*)$/,a=function(t){return i.exec(t).slice(1)};r.resolve=function(){for(var r=\\\"\\\",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if(\\\"string\\\"!=typeof o)throw new TypeError(\\\"Arguments to path.resolve must be strings\\\");o&&(r=o+\\\"/\\\"+r,i=\\\"/\\\"===o.charAt(0))}return r=e(n(r.split(\\\"/\\\"),function(t){return!!t}),!i).join(\\\"/\\\"),(i?\\\"/\\\":\\\"\\\")+r||\\\".\\\"},r.normalize=function(t){var i=r.isAbsolute(t),a=\\\"/\\\"===o(t,-1);return t=e(n(t.split(\\\"/\\\"),function(t){return!!t}),!i).join(\\\"/\\\"),t||i||(t=\\\".\\\"),t&&a&&(t+=\\\"/\\\"),(i?\\\"/\\\":\\\"\\\")+t},r.isAbsolute=function(t){return\\\"/\\\"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if(\\\"string\\\"!=typeof t)throw new TypeError(\\\"Arguments to path.join must be strings\\\");return t}).join(\\\"/\\\"))},r.relative=function(t,e){function n(t){for(var e=0;e<t.length&&\\\"\\\"===t[e];e++);for(var r=t.length-1;r>=0&&\\\"\\\"===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split(\\\"/\\\")),a=n(e.split(\\\"/\\\")),o=Math.min(i.length,a.length),s=o,l=0;l<o;l++)if(i[l]!==a[l]){s=l;break}for(var u=[],l=s;l<i.length;l++)u.push(\\\"..\\\");return u=u.concat(a.slice(s)),u.join(\\\"/\\\")},r.sep=\\\"/\\\",r.delimiter=\\\":\\\",r.dirname=function(t){var e=a(t),r=e[0],n=e[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):\\\".\\\"},r.basename=function(t,e){var r=a(t)[2];return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){return a(t)[3]};var o=\\\"b\\\"===\\\"ab\\\".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,t(\\\"_process\\\"))},{_process:486}],476:[function(t,e,r){\\\"use strict\\\";function n(t){var e;t&&t.length&&(e=t,t=e.length);var r=new Uint8Array(t||0);return e&&r.set(e),r.readUInt32LE=a.readUInt32LE,r.writeUInt32LE=a.writeUInt32LE,r.readInt32LE=a.readInt32LE,r.writeInt32LE=a.writeInt32LE,r.readFloatLE=a.readFloatLE,r.writeFloatLE=a.writeFloatLE,r.readDoubleLE=a.readDoubleLE,r.writeDoubleLE=a.writeDoubleLE,r.toString=a.toString,r.write=a.write,r.slice=a.slice,r.copy=a.copy,r._isBuffer=!0,r}function i(t){for(var e,r,n=t.length,i=[],a=0;a<n;a++){if((e=t.charCodeAt(a))>55295&&e<57344){if(!r){e>56319||a+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}e.exports=n;var a,o,s,l=t(\\\"ieee754\\\");a={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return l.read(this,t,!0,23,4)},readDoubleLE:function(t){return l.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return l.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return l.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\\\"\\\",i=\\\"\\\";e=e||0,r=Math.min(this.length,r||this.length);for(var a=e;a<r;a++){var o=this[a];o<=127?(n+=decodeURIComponent(i)+String.fromCharCode(o),i=\\\"\\\"):i+=\\\"%\\\"+o.toString(16)}return n+=decodeURIComponent(i)},write:function(t,e){for(var r=t===o?s:i(t),n=0;n<r.length;n++)this[e+n]=r[n]},slice:function(t,e){return this.subarray(t,e)},copy:function(t,e){e=e||0;for(var r=0;r<this.length;r++)t[e+r]=this[r]}},a.writeInt32LE=a.writeUInt32LE,n.byteLength=function(t){return o=t,s=i(t),s.length},n.isBuffer=function(t){return!(!t||!t._isBuffer)}},{ieee754:288}],477:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t){this.buf=v.isBuffer(t)?t:new v(t||0),this.pos=0,this.length=this.buf.length}function i(t,e){var r,n=e.buf;if(r=n[e.pos++],t+=268435456*(127&r),r<128)return t;if(r=n[e.pos++],t+=34359738368*(127&r),r<128)return t;if(r=n[e.pos++],t+=4398046511104*(127&r),r<128)return t;if(r=n[e.pos++],t+=562949953421312*(127&r),r<128)return t;if(r=n[e.pos++],t+=72057594037927940*(127&r),r<128)return t;if(r=n[e.pos++],t+=0x8000000000000000*(127&r),r<128)return t;throw new Error(\\\"Expected varint not more than 10 bytes\\\")}function a(t,e){e.realloc(10);for(var r=e.pos+10;t>=1;){if(e.pos>=r)throw new Error(\\\"Given varint doesn't fit into 10 bytes\\\");var n=255&t;e.buf[e.pos++]=n|(t>=128?128:0),t/=128}}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function m(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}e.exports=n;var v=r.Buffer||t(\\\"./buffer\\\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;var g=Math.pow(2,63);n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readUInt32LE(this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+4294967296*this.buf.readInt32LE(this.pos+4);return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,e,r=this.buf;return e=r[this.pos++],t=127&e,e<128?t:(e=r[this.pos++],t|=(127&e)<<7,e<128?t:(e=r[this.pos++],t|=(127&e)<<14,e<128?t:(e=r[this.pos++],t|=(127&e)<<21,e<128?t:i(t,this))))},readVarint64:function(){var t=this.pos,e=this.readVarint();if(e<g)return e;for(var r=this.pos-2;255===this.buf[r];)r--;r<t&&(r=t),e=0;for(var n=0;n<r-t+1;n++){var i=127&~this.buf[t+n];e+=n<4?i<<7*n:i*Math.pow(2,7*n)}return-e-1},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.buf.toString(\\\"utf8\\\",this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.slice(this.pos,t);return this.pos=t,e},readPackedVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readVarint());return e},readPackedSVarint:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(){for(var t=this.readVarint()+this.pos,e=[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.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 v(e);this.buf.copy(r),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.slice(0,this.length)},writeFixed32:function(t){this.realloc(4),this.buf.writeUInt32LE(t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),this.buf.writeInt32LE(t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&t,this.pos),this.buf.writeUInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),this.buf.writeInt32LE(-1&t,this.pos),this.buf.writeInt32LE(Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){if((t=+t)>268435455)return void a(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);var e=v.byteLength(t);this.writeVarint(e),this.realloc(e),this.buf.write(t,this.pos),this.pos+=e},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),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&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,h,e)},writePackedFloat:function(t,e){this.writeMessage(t,u,e)},writePackedDouble:function(t,e){this.writeMessage(t,c,e)},writePackedFixed32:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,d,e)},writePackedFixed64:function(t,e){this.writeMessage(t,p,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,m,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"./buffer\\\":476}],478:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;if(e<i){for(var r=1,n=0;n<e;++n)for(var o=0;o<n;++o)if(t[n]<t[o])r=-r;else if(t[n]===t[o])return 0;return r}for(var s=a.mallocUint8(e),n=0;n<e;++n)s[n]=0;for(var r=1,n=0;n<e;++n)if(!s[n]){var l=1;s[n]=1;for(var o=t[n];o!==n;o=t[o]){if(s[o])return a.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return a.freeUint8(s),r}e.exports=n;var i=32,a=t(\\\"typedarray-pool\\\")},{\\\"typedarray-pool\\\":540}],479:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,s=a.mallocUint32(e),l=a.mallocUint32(e),u=0;for(o(t,l),i=0;i<e;++i)s[i]=t[i];for(i=e-1;i>0;--i)n=l[i],r=s[i],s[i]=s[n],s[n]=r,l[i]=l[r],l[r]=n,u=(u+r)*i;return a.freeUint32(l),a.freeUint32(s),u}function i(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]}r=r||new Array(t);var n,i,a,o=1;for(r[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)n=e/o|0,e=e-n*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}var a=t(\\\"typedarray-pool\\\"),o=t(\\\"invert-permutation\\\");r.rank=n,r.unrank=i},{\\\"invert-permutation\\\":291,\\\"typedarray-pool\\\":540}],480:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t,e){var r=s[e][t[e]];r.splice(r.indexOf(t),1)}function n(t,n,a){for(var o,l,u,c=0;c<2;++c)if(s[c][n].length>0){o=s[c][n][0],u=c;break}l=o[1^u];for(var h=0;h<2;++h)for(var f=s[h][n],d=0;d<f.length;++d){var p=f[d],m=p[1^h],v=i(e[t],e[n],e[l],e[m]);v>0&&(o=p,l=m,u=h)}return a?l:(o&&r(o,u),l)}for(var a=0|e.length,o=t.length,s=[new Array(a),new Array(a)],l=0;l<a;++l)s[0][l]=[],s[1][l]=[];for(var l=0;l<o;++l){var u=t[l];s[0][u[0]].push(u),s[1][u[1]].push(u)}for(var c=[],l=0;l<a;++l)s[0][l].length+s[1][l].length===0&&c.push([l]);for(var l=0;l<a;++l)for(var h=0;h<2;++h){for(var f=[];s[h][l].length>0;){var d=(s[0][l].length,function(t,a){var o=s[a][t][0],l=[t];r(o,a);for(var u=o[1^a];;){for(;u!==t;)l.push(u),u=n(l[l.length-2],u,!1);if(s[0][t].length+s[1][t].length===0)break;var c=l[l.length-1],h=t,f=l[1],d=n(c,h,!0);if(i(e[c],e[h],e[f],e[d])<0)break;l.push(t),u=n(c,h)}return l}(l,h));!function(t,e){return e[1]===e[e.length-1]}(f,d)?(f.length>0&&c.push(f),f=d):f.push.apply(f,d)}f.length>0&&c.push(f)}return c}e.exports=n;var i=t(\\\"compare-angle\\\")},{\\\"compare-angle\\\":99}],481:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=i(t,e.length),n=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,n[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var u=o.pop();n[u]=!1;for(var c=r[u],s=0;s<c.length;++s){var h=c[s];0==--a[h]&&o.push(h)}}for(var f=new Array(e.length),d=[],s=0;s<e.length;++s)if(n[s]){var u=d.length;f[s]=u,d.push(e[s])}else f[s]=-1;for(var p=[],s=0;s<t.length;++s){var m=t[s];n[m[0]]&&n[m[1]]&&p.push([f[m[0]],f[m[1]]])}return[p,d]}e.exports=n;var i=t(\\\"edges-to-adjacency-list\\\")},{\\\"edges-to-adjacency-list\\\":126}],482:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}function i(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}function a(t,e){function r(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],s=u(-a[0],a[1]),l=u(-a[0],o[1]),h=u(o[0],a[1]),f=u(o[0],o[1]);n=c(n,c(c(s,l),c(h,f)))}return n[n.length-1]>0}function a(t){for(var e=t.length,r=0;r<e;++r)if(!P[t[r]])return!1;return!0}var d=f(t,e);t=d[0],e=d[1];for(var p=e.length,m=(t.length,o(t,e.length)),v=0;v<p;++v)if(m[v].length%2==1)throw new Error(\\\"planar-graph-to-polyline: graph must be manifold\\\");var g=s(t,e);g=g.filter(r);for(var y=g.length,b=new Array(y),x=new Array(y),v=0;v<y;++v){b[v]=v;var _=new Array(y),w=g[v].map(function(t){return e[t]}),M=l([w]),k=0;t:for(var A=0;A<y;++A)if(_[A]=0,v!==A){for(var T=g[A],S=T.length,E=0;E<S;++E){var L=M(e[T[E]]);if(0!==L){L<0&&(_[A]=1,k+=1);continue t}}_[A]=1,k+=1}x[v]=[k,v,_]}x.sort(function(t,e){return e[0]-t[0]});for(var v=0;v<y;++v)for(var _=x[v],C=_[1],z=_[2],A=0;A<y;++A)z[A]&&(b[A]=C);for(var I=i(y),v=0;v<y;++v)I[v].push(b[v]),I[b[v]].push(v);for(var D={},P=n(p,!1),v=0;v<y;++v)for(var T=g[v],S=T.length,A=0;A<S;++A){var O=T[A],R=T[(A+1)%S],F=Math.min(O,R)+\\\":\\\"+Math.max(O,R);if(F in D){var j=D[F];I[j].push(v),I[v].push(j),P[O]=P[R]=!0}else D[F]=v}for(var N=[],B=n(y,-1),v=0;v<y;++v)b[v]!==v||a(g[v])?B[v]=-1:(N.push(v),B[v]=0);for(var d=[];N.length>0;){var U=N.pop(),V=I[U];h(V,function(t,e){return t-e});var H,q=V.length,G=B[U];if(0===G){var T=g[U];H=[T]}for(var v=0;v<q;++v){var Y=V[v];if(!(B[Y]>=0)&&(B[Y]=1^G,N.push(Y),0===G)){var T=g[Y];a(T)||(T.reverse(),H.push(T))}}0===G&&d.push(H)}return d}e.exports=a\\n\",\n       \";var o=t(\\\"edges-to-adjacency-list\\\"),s=t(\\\"planar-dual\\\"),l=t(\\\"point-in-big-polygon\\\"),u=t(\\\"two-product\\\"),c=t(\\\"robust-sum\\\"),h=t(\\\"uniq\\\"),f=t(\\\"./lib/trim-leaves\\\")},{\\\"./lib/trim-leaves\\\":481,\\\"edges-to-adjacency-list\\\":126,\\\"planar-dual\\\":480,\\\"point-in-big-polygon\\\":484,\\\"robust-sum\\\":512,\\\"two-product\\\":538,uniq:542}],483:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(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)},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[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,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},_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=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],484:[function(t,e,r){function n(){return!0}function i(t){return function(e,r){var i=t[e];return!!i&&!!i.queryPoint(r,n)}}function a(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],s=n[1][1],l=[Math.min(o,s),Math.max(o,s)];a in e?e[a].push(l):e[a]=[l]}for(var u={},c=Object.keys(e),r=0;r<c.length;++r){var h=e[c[r]];u[c[r]]=d(h)}return i(u)}function o(t,e){return function(r){var n=p.le(e,r[0]);if(n<0)return 1;var i=t[n];if(!i){if(!(n>0&&e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var o=i.key,s=h(r,o[0],o[1]);if(o[0][0]<o[1][0])if(s<0)i=i.left;else{if(!(s>0))return 0;a=-1,i=i.right}else if(s>0)i=i.left;else{if(!(s<0))return 0;a=1,i=i.right}}return a}}function s(t){return 1}function l(t){return function(e){return t(e[0],e[1])?0:1}}function u(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}function c(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var c=t[i],h=c.length,d=h-1,p=0;p<h;d=p++){var m=c[d],v=c[p];m[0]===v[0]?n.push([m,v]):r.push([m,v])}if(0===r.length)return 0===n.length?s:l(a(n));var g=f(r),y=o(g.slabs,g.coordinates);return 0===n.length?y:u(a(n),y)}e.exports=c;var h=t(\\\"robust-orientation\\\")[3],f=t(\\\"slab-decomposition\\\"),d=t(\\\"interval-tree-1d\\\"),p=t(\\\"binary-search-bounds\\\")},{\\\"binary-search-bounds\\\":65,\\\"interval-tree-1d\\\":290,\\\"robust-orientation\\\":507,\\\"slab-decomposition\\\":524}],485:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,s){i.length<n.length&&(i=new Float64Array(n.length),a=new Float64Array(n.length),o=new Float64Array(n.length));for(var l=0;l<n.length;++l)i[l]=t[l]-n[l],a[l]=e[l]-t[l],o[l]=r[l]-t[l];for(var u=0,c=0,h=0,f=0,d=0,p=0,l=0;l<n.length;++l){var m=a[l],v=o[l],g=i[l];u+=m*m,c+=m*v,h+=v*v,f+=g*m,d+=g*v,p+=g*g}var y,b=Math.abs(u*h-c*c),x=c*d-h*f,_=c*f-u*d;if(x+_<=b)if(x<0)_<0&&f<0?(_=0,-f>=u?(x=1,y=u+2*f+p):(x=-f/u,y=f*x+p)):(x=0,d>=0?(_=0,y=p):-d>=h?(_=1,y=h+2*d+p):(_=-d/h,y=d*_+p));else if(_<0)_=0,f>=0?(x=0,y=p):-f>=u?(x=1,y=u+2*f+p):(x=-f/u,y=f*x+p);else{var w=1/b;x*=w,_*=w,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p}else{var M,k,A,T;x<0?(M=c+f,k=h+d,k>M?(A=k-M,T=u-2*c+h,A>=T?(x=1,_=0,y=u+2*f+p):(x=A/T,_=1-x,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)):(x=0,k<=0?(_=1,y=h+2*d+p):d>=0?(_=0,y=p):(_=-d/h,y=d*_+p))):_<0?(M=c+d,k=u+f,k>M?(A=k-M,T=u-2*c+h,A>=T?(_=1,x=0,y=h+2*d+p):(_=A/T,x=1-_,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)):(_=0,k<=0?(x=1,y=u+2*f+p):f>=0?(x=0,y=p):(x=-f/u,y=f*x+p))):(A=h+d-c-f,A<=0?(x=0,_=1,y=h+2*d+p):(T=u-2*c+h,A>=T?(x=1,_=0,y=u+2*f+p):(x=A/T,_=1-x,y=x*(u*x+c*_+2*f)+_*(c*x+h*_+2*d)+p)))}for(var S=1-x-_,l=0;l<n.length;++l)s[l]=S*t[l]+x*e[l]+_*r[l];return y<0?0:y}var i=new Float64Array(4),a=new Float64Array(4),o=new Float64Array(4);e.exports=n},{}],486:[function(t,e,r){function n(){throw new Error(\\\"setTimeout has not been defined\\\")}function i(){throw new Error(\\\"clearTimeout has not been defined\\\")}function a(t){if(h===setTimeout)return setTimeout(t,0);if((h===n||!h)&&setTimeout)return h=setTimeout,setTimeout(t,0);try{return h(t,0)}catch(e){try{return h.call(null,t,0)}catch(e){return h.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===i||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){v&&p&&(v=!1,p.length?m=p.concat(m):g=-1,m.length&&l())}function l(){if(!v){var t=a(s);v=!0;for(var e=m.length;e;){for(p=m,m=[];++g<e;)p&&p[g].run();g=-1,e=m.length}p=null,v=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var h,f,d=e.exports={};!function(){try{h=\\\"function\\\"==typeof setTimeout?setTimeout:n}catch(t){h=n}try{f=\\\"function\\\"==typeof clearTimeout?clearTimeout:i}catch(t){f=i}}();var p,m=[],v=!1,g=-1;d.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];m.push(new u(t,e)),1!==m.length||v||a(l)},u.prototype.run=function(){this.fun.apply(null,this.array)},d.title=\\\"browser\\\",d.browser=!0,d.env={},d.argv=[],d.version=\\\"\\\",d.versions={},d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.prependListener=c,d.prependOnceListener=c,d.listeners=function(t){return[]},d.binding=function(t){throw new Error(\\\"process.binding is not supported\\\")},d.cwd=function(){return\\\"/\\\"},d.chdir=function(t){throw new Error(\\\"process.chdir is not supported\\\")},d.umask=function(){return 0}},{}],487:[function(e,r,n){(function(e){!function(i){function a(t){throw new RangeError(P[t])}function o(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function s(t,e){var r=t.split(\\\"@\\\"),n=\\\"\\\";return r.length>1&&(n=r[0]+\\\"@\\\",t=r[1]),t=t.replace(D,\\\".\\\"),n+o(t.split(\\\".\\\"),e).join(\\\".\\\")}function l(t){for(var e,r,n=[],i=0,a=t.length;i<a;)e=t.charCodeAt(i++),e>=55296&&e<=56319&&i<a?(r=t.charCodeAt(i++),56320==(64512&r)?n.push(((1023&e)<<10)+(1023&r)+65536):(n.push(e),i--)):n.push(e);return n}function u(t){return o(t,function(t){var e=\\\"\\\";return t>65535&&(t-=65536,e+=F(t>>>10&1023|55296),t=56320|1023&t),e+=F(t)}).join(\\\"\\\")}function c(t){return t-48<10?t-22:t-65<26?t-65:t-97<26?t-97:M}function h(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function f(t,e,r){var n=0;for(t=r?R(t/S):t>>1,t+=R(t/e);t>O*A>>1;n+=M)t=R(t/O);return R(n+(O+1)*t/(t+T))}function d(t){var e,r,n,i,o,s,l,h,d,p,m=[],v=t.length,g=0,y=L,b=E;for(r=t.lastIndexOf(C),r<0&&(r=0),n=0;n<r;++n)t.charCodeAt(n)>=128&&a(\\\"not-basic\\\"),m.push(t.charCodeAt(n));for(i=r>0?r+1:0;i<v;){for(o=g,s=1,l=M;i>=v&&a(\\\"invalid-input\\\"),h=c(t.charCodeAt(i++)),(h>=M||h>R((w-g)/s))&&a(\\\"overflow\\\"),g+=h*s,d=l<=b?k:l>=b+A?A:l-b,!(h<d);l+=M)p=M-d,s>R(w/p)&&a(\\\"overflow\\\"),s*=p;e=m.length+1,b=f(g-o,e,0==o),R(g/e)>w-y&&a(\\\"overflow\\\"),y+=R(g/e),g%=e,m.splice(g++,0,y)}return u(m)}function p(t){var e,r,n,i,o,s,u,c,d,p,m,v,g,y,b,x=[];for(t=l(t),v=t.length,e=L,r=0,o=E,s=0;s<v;++s)(m=t[s])<128&&x.push(F(m));for(n=i=x.length,i&&x.push(C);n<v;){for(u=w,s=0;s<v;++s)(m=t[s])>=e&&m<u&&(u=m);for(g=n+1,u-e>R((w-r)/g)&&a(\\\"overflow\\\"),r+=(u-e)*g,e=u,s=0;s<v;++s)if(m=t[s],m<e&&++r>w&&a(\\\"overflow\\\"),m==e){for(c=r,d=M;p=d<=o?k:d>=o+A?A:d-o,!(c<p);d+=M)b=c-p,y=M-p,x.push(F(h(p+b%y,0))),c=R(b/y);x.push(F(h(c,0))),o=f(r,g,n==i),r=0,++n}++r,++e}return x.join(\\\"\\\")}function m(t){return s(t,function(t){return z.test(t)?d(t.slice(4).toLowerCase()):t})}function v(t){return s(t,function(t){return I.test(t)?\\\"xn--\\\"+p(t):t})}var g=\\\"object\\\"==typeof n&&n&&!n.nodeType&&n,y=\\\"object\\\"==typeof r&&r&&!r.nodeType&&r,b=\\\"object\\\"==typeof e&&e;b.global!==b&&b.window!==b&&b.self!==b||(i=b);var x,_,w=2147483647,M=36,k=1,A=26,T=38,S=700,E=72,L=128,C=\\\"-\\\",z=/^xn--/,I=/[^\\\\x20-\\\\x7E]/,D=/[\\\\x2E\\\\u3002\\\\uFF0E\\\\uFF61]/g,P={overflow:\\\"Overflow: input needs wider integers to process\\\",\\\"not-basic\\\":\\\"Illegal input >= 0x80 (not a basic code point)\\\",\\\"invalid-input\\\":\\\"Invalid input\\\"},O=M-k,R=Math.floor,F=String.fromCharCode;if(x={version:\\\"1.4.1\\\",ucs2:{decode:l,encode:u},decode:d,encode:p,toASCII:v,toUnicode:m},\\\"function\\\"==typeof t&&\\\"object\\\"==typeof t.amd&&t.amd)t(\\\"punycode\\\",function(){return x});else if(g&&y)if(r.exports==g)y.exports=x;else for(_ in x)x.hasOwnProperty(_)&&(g[_]=x[_]);else i.punycode=x}(this)}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{}],488:[function(t,e,r){e.exports=t(\\\"gl-quat/slerp\\\")},{\\\"gl-quat/slerp\\\":230}],489:[function(t,e,r){\\\"use strict\\\";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.exports=function(t,e,r,a){e=e||\\\"&\\\",r=r||\\\"=\\\";var o={};if(\\\"string\\\"!=typeof t||0===t.length)return o;var s=/\\\\+/g;t=t.split(e);var l=1e3;a&&\\\"number\\\"==typeof a.maxKeys&&(l=a.maxKeys);var u=t.length;l>0&&u>l&&(u=l);for(var c=0;c<u;++c){var h,f,d,p,m=t[c].replace(s,\\\"%20\\\"),v=m.indexOf(r);v>=0?(h=m.substr(0,v),f=m.substr(v+1)):(h=m,f=\\\"\\\"),d=decodeURIComponent(h),p=decodeURIComponent(f),n(o,d)?i(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var i=Array.isArray||function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)}},{}],490:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n<t.length;n++)r.push(e(t[n],n));return r}var i=function(t){switch(typeof t){case\\\"string\\\":return t;case\\\"boolean\\\":return t?\\\"true\\\":\\\"false\\\";case\\\"number\\\":return isFinite(t)?t:\\\"\\\";default:return\\\"\\\"}};e.exports=function(t,e,r,s){return e=e||\\\"&\\\",r=r||\\\"=\\\",null===t&&(t=void 0),\\\"object\\\"==typeof t?n(o(t),function(o){var s=encodeURIComponent(i(o))+r;return a(t[o])?n(t[o],function(t){return s+encodeURIComponent(i(t))}).join(e):s+encodeURIComponent(i(t[o]))}).join(e):s?encodeURIComponent(i(s))+r+encodeURIComponent(i(t)):\\\"\\\"};var a=Array.isArray||function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)},o=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return e}},{}],491:[function(t,e,r){\\\"use strict\\\";r.decode=r.parse=t(\\\"./decode\\\"),r.encode=r.stringify=t(\\\"./encode\\\")},{\\\"./decode\\\":489,\\\"./encode\\\":490}],492:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,o,s){for(r=r||0,o=o||t.length-1,s=s||a;o>r;){if(o-r>600){var l=o-r+1,u=e-r+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);n(t,e,Math.max(r,Math.floor(e-u*h/l+f)),Math.min(o,Math.floor(e+(l-u)*h/l+f)),s)}var d=t[e],p=r,m=o;for(i(t,r,e),s(t[o],d)>0&&i(t,r,o);p<m;){for(i(t,p,m),p++,m--;s(t[p],d)<0;)p++;for(;s(t[m],d)>0;)m--}0===s(t[r],d)?i(t,r,m):(m++,i(t,m,o)),m<=e&&(r=m+1),e<=m&&(o=m-1)}}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function a(t,e){return t<e?-1:t>e?1:0}e.exports=n},{}],493:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\\\"big-rat/add\\\");e.exports=n},{\\\"big-rat/add\\\":49}],494:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=i(t[r]);return e}e.exports=n;var i=t(\\\"big-rat\\\")},{\\\"big-rat\\\":52}],495:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=i(e),n=t.length,o=new Array(n),s=0;s<n;++s)o[s]=a(t[s],r);return o}var i=t(\\\"big-rat\\\"),a=t(\\\"big-rat/mul\\\");e.exports=n},{\\\"big-rat\\\":52,\\\"big-rat/mul\\\":61}],496:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=i(t[a],e[a]);return n}var i=t(\\\"big-rat/sub\\\");e.exports=n},{\\\"big-rat/sub\\\":63}],497:[function(t,e,r){\\\"use strict\\\";function n(t){t.sort(a);for(var e=t.length,r=0,n=0;n<e;++n){var s=t[n],l=o(s);if(0!==l){if(r>0){var u=t[r-1];if(0===i(s,u)&&o(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}var i=t(\\\"compare-cell\\\"),a=t(\\\"compare-oriented-cell\\\"),o=t(\\\"cell-orientation\\\");e.exports=n},{\\\"cell-orientation\\\":84,\\\"compare-cell\\\":100,\\\"compare-oriented-cell\\\":101}],498:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?r.exports=i():\\\"function\\\"==typeof t&&t.amd?t(i):e.createREGL=i()}(this,function(){\\\"use strict\\\";function t(t){return\\\"undefined\\\"!=typeof btoa?btoa(t):\\\"base64:\\\"+t}function e(t){var e=new Error(\\\"(regl) \\\"+t);throw console.error(e),e}function r(t,r){t||e(r)}function n(t){return t?\\\": \\\"+t:\\\"\\\"}function i(t,r,i){t in r||e(\\\"unknown parameter (\\\"+t+\\\")\\\"+n(i)+\\\". possible values: \\\"+Object.keys(r).join())}function a(t,r){Qt(t)||e(\\\"invalid parameter type\\\"+n(r)+\\\". must be a typed array\\\")}function o(t,r,i){typeof t!==r&&e(\\\"invalid parameter type\\\"+n(i)+\\\". expected \\\"+r+\\\", got \\\"+typeof t)}function s(t,r){t>=0&&(0|t)===t||e(\\\"invalid parameter type, (\\\"+t+\\\")\\\"+n(r)+\\\". must be a nonnegative integer\\\")}function l(t,r,i){r.indexOf(t)<0&&e(\\\"invalid value\\\"+n(i)+\\\". must be one of: \\\"+r)}function u(t){Object.keys(t).forEach(function(t){te.indexOf(t)<0&&e('invalid regl constructor argument \\\"'+t+'\\\". must be one of '+te)})}function c(t,e){for(t+=\\\"\\\";t.length<e;)t=\\\" \\\"+t;return t}function h(){this.name=\\\"unknown\\\",this.lines=[],this.index={},this.hasErrors=!1}function f(t,e){this.number=t,this.line=e,this.errors=[]}function d(t,e,r){this.file=t,this.line=e,this.message=r}function p(){var t=new Error,e=(t.stack||t).toString(),r=/compileProcedure.*\\\\n\\\\s*at.*\\\\((.*)\\\\)/.exec(e);if(r)return r[1];var n=/compileProcedure.*\\\\n\\\\s*at\\\\s+(.*)(\\\\n|$)/.exec(e);return n?n[1]:\\\"unknown\\\"}function m(){var t=new Error,e=(t.stack||t).toString(),r=/at REGLCommand.*\\\\n\\\\s+at.*\\\\((.*)\\\\)/.exec(e);if(r)return r[1];var n=/at REGLCommand.*\\\\n\\\\s+at\\\\s+(.*)\\\\n/.exec(e);return n?n[1]:\\\"unknown\\\"}function v(e,r){var n=e.split(\\\"\\\\n\\\"),i=1,a=0,o={unknown:new h,0:new h};o.unknown.name=o[0].name=r||p(),o.unknown.lines.push(new f(0,\\\"\\\"));for(var s=0;s<n.length;++s){var l=n[s],u=/^\\\\s*\\\\#\\\\s*(\\\\w+)\\\\s+(.+)\\\\s*$/.exec(l);if(u)switch(u[1]){case\\\"line\\\":var c=/(\\\\d+)(\\\\s+\\\\d+)?/.exec(u[2]);c&&(i=0|c[1],c[2]&&((a=0|c[2])in o||(o[a]=new h)));break;case\\\"define\\\":var d=/SHADER_NAME(_B64)?\\\\s+(.*)$/.exec(u[2]);d&&(o[a].name=d[1]?t(d[2]):d[2])}o[a].lines.push(new f(i++,l))}return Object.keys(o).forEach(function(t){var e=o[t];e.lines.forEach(function(t){e.index[t.number]=t})}),o}function g(t){var e=[];return t.split(\\\"\\\\n\\\").forEach(function(t){if(!(t.length<5)){var r=/^ERROR\\\\:\\\\s+(\\\\d+)\\\\:(\\\\d+)\\\\:\\\\s*(.*)$/.exec(t);r?e.push(new d(0|r[1],0|r[2],r[3].trim())):t.length>0&&e.push(new d(\\\"unknown\\\",0,t))}}),e}function y(t,e){e.forEach(function(e){var r=t[e.file];if(r){var n=r.index[e.line];if(n)return n.errors.push(e),void(r.hasErrors=!0)}t.unknown.hasErrors=!0,t.unknown.lines[0].errors.push(e)})}function b(t,e,n,i,a){if(!t.getShaderParameter(e,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(e),s=i===t.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\";T(n,\\\"string\\\",s+\\\" shader source must be a string\\\",a);var l=v(n,a),u=g(o);y(l,u),Object.keys(l).forEach(function(t){function e(t,e){n.push(t),i.push(e||\\\"\\\")}var r=l[t];if(r.hasErrors){var n=[\\\"\\\"],i=[\\\"\\\"];e(\\\"file number \\\"+t+\\\": \\\"+r.name+\\\"\\\\n\\\",\\\"color:red;text-decoration:underline;font-weight:bold\\\"),r.lines.forEach(function(t){if(t.errors.length>0){e(c(t.number,4)+\\\"|  \\\",\\\"background-color:yellow; font-weight:bold\\\"),e(t.line+\\\"\\\\n\\\",\\\"color:red; background-color:yellow; font-weight:bold\\\");var r=0;t.errors.forEach(function(n){var i=n.message,a=/^\\\\s*\\\\'(.*)\\\\'\\\\s*\\\\:\\\\s*(.*)$/.exec(i);if(a){var o=a[1];switch(i=a[2],o){case\\\"assign\\\":o=\\\"=\\\"}r=Math.max(t.line.indexOf(o,r),0)}else r=0;e(c(\\\"| \\\",6)),e(c(\\\"^^^\\\",r+3)+\\\"\\\\n\\\",\\\"font-weight:bold\\\"),e(c(\\\"| \\\",6)),e(i+\\\"\\\\n\\\",\\\"font-weight:bold\\\")}),e(c(\\\"| \\\",6)+\\\"\\\\n\\\")}else e(c(t.number,4)+\\\"|  \\\"),e(t.line+\\\"\\\\n\\\",\\\"color:red\\\")}),\\\"undefined\\\"!=typeof document?(i[0]=n.join(\\\"%c\\\"),console.log.apply(console,i)):console.log(n.join(\\\"\\\"))}}),r.raise(\\\"Error compiling \\\"+s+\\\" shader, \\\"+l[0].name)}}function x(t,e,n,i,a){if(!t.getProgramParameter(e,t.LINK_STATUS)){var o=t.getProgramInfoLog(e),s=v(n,a),l=v(i,a),u='Error linking program with vertex shader, \\\"'+l[0].name+'\\\", and fragment shader \\\"'+s[0].name+'\\\"';\\\"undefined\\\"!=typeof document?console.log(\\\"%c\\\"+u+\\\"\\\\n%c\\\"+o,\\\"color:red;text-decoration:underline;font-weight:bold\\\",\\\"color:red\\\"):console.log(u+\\\"\\\\n\\\"+o),r.raise(u)}}function _(t){t._commandRef=p()}function w(t,e,r,n){function i(t){return t?n.id(t):0}function a(t,e){Object.keys(e).forEach(function(e){t[n.id(e)]=!0})}_(t),t._fragId=i(t.static.frag),t._vertId=i(t.static.vert);var o=t._uniformSet={};a(o,e.static),a(o,e.dynamic);var s=t._attributeSet={};a(s,r.static),a(s,r.dynamic),t._hasCount=\\\"count\\\"in t.static||\\\"count\\\"in t.dynamic||\\\"elements\\\"in t.static||\\\"elements\\\"in t.dynamic}function M(t,r){var n=m();e(t+\\\" in command \\\"+(r||p())+(\\\"unknown\\\"===n?\\\"\\\":\\\" called from \\\"+n))}function k(t,e,r){t||M(e,r||p())}function A(t,e,r,i){t in e||M(\\\"unknown parameter (\\\"+t+\\\")\\\"+n(r)+\\\". possible values: \\\"+Object.keys(e).join(),i||p())}function T(t,e,r,i){typeof t!==e&&M(\\\"invalid parameter type\\\"+n(r)+\\\". expected \\\"+e+\\\", got \\\"+typeof t,i||p())}function S(t){t()}function E(t,e,r){t.texture?l(t.texture._texture.internalformat,e,\\\"unsupported texture format for attachment\\\"):l(t.renderbuffer._renderbuffer.format,r,\\\"unsupported renderbuffer format for attachment\\\")}function L(t,e){return t===ue||t===le||t===ce?2:t===he?4:fe[t]*e}function C(t){return!(t&t-1||!t)}function z(t,e,n){var i,a=e.width,o=e.height,s=e.channels;r(a>0&&a<=n.maxTextureSize&&o>0&&o<=n.maxTextureSize,\\\"invalid texture shape\\\"),t.wrapS===ee&&t.wrapT===ee||r(C(a)&&C(o),\\\"incompatible wrap mode for texture, both width and height must be power of 2\\\"),1===e.mipmask?1!==a&&1!==o&&r(t.minFilter!==ne&&t.minFilter!==ae&&t.minFilter!==ie&&t.minFilter!==oe,\\\"min filter requires mipmap\\\"):(r(C(a)&&C(o),\\\"texture must be a square power of 2 to support mipmapping\\\"),r(e.mipmask===(a<<1)-1,\\\"missing or incomplete mipmap data\\\")),e.type===se&&(n.extensions.indexOf(\\\"oes_texture_float_linear\\\")<0&&r(t.minFilter===re&&t.magFilter===re,\\\"filter not supported, must enable oes_texture_float_linear\\\"),r(!t.genMipmaps,\\\"mipmap generation not supported with float textures\\\"));var l=e.images;for(i=0;i<16;++i)if(l[i]){var u=a>>i,c=o>>i;r(e.mipmask&1<<i,\\\"missing mipmap data\\\");var h=l[i];if(r(h.width===u&&h.height===c,\\\"invalid shape for mip images\\\"),r(h.format===e.format&&h.internalformat===e.internalformat&&h.type===e.type,\\\"incompatible type for mip image\\\"),h.compressed);else if(h.data){var f=Math.ceil(L(h.type,s)*u/h.unpackAlignment)*h.unpackAlignment;r(h.data.byteLength===f*c,\\\"invalid data for image, buffer size is inconsistent with image format\\\")}else h.element||h.copy}else t.genMipmaps||r(0==(e.mipmask&1<<i),\\\"extra mipmap data\\\");e.compressed&&r(!t.genMipmaps,\\\"mipmap generation for compressed images not supported\\\")}function I(t,e,n,i){var a=t.width,o=t.height,s=t.channels;r(a>0&&a<=i.maxTextureSize&&o>0&&o<=i.maxTextureSize,\\\"invalid texture shape\\\"),r(a===o,\\\"cube map must be square\\\"),r(e.wrapS===ee&&e.wrapT===ee,\\\"wrap mode not supported by cube map\\\");for(var l=0;l<n.length;++l){var u=n[l];r(u.width===a&&u.height===o,\\\"inconsistent cube map face shape\\\"),e.genMipmaps&&(r(!u.compressed,\\\"can not generate mipmap for compressed textures\\\"),r(1===u.mipmask,\\\"can not specify mipmaps and generate mipmaps\\\"));for(var c=u.images,h=0;h<16;++h){var f=c[h];if(f){var d=a>>h,p=o>>h;r(u.mipmask&1<<h,\\\"missing mipmap data\\\"),r(f.width===d&&f.height===p,\\\"invalid shape for mip images\\\"),r(f.format===t.format&&f.internalformat===t.internalformat&&f.type===t.type,\\\"incompatible type for mip image\\\"),f.compressed||(f.data?r(f.data.byteLength===d*p*Math.max(L(f.type,s),f.unpackAlignment),\\\"invalid data for image, buffer size is inconsistent with image format\\\"):f.element||f.copy)}}}}function D(t,e){this.id=pe++,this.type=t,this.data=e}function P(t){return t.replace(/\\\\\\\\/g,\\\"\\\\\\\\\\\\\\\\\\\").replace(/\\\"/g,'\\\\\\\\\\\"')}function O(t){if(0===t.length)return[];var e=t.charAt(0),r=t.charAt(t.length-1);if(t.length>1&&e===r&&('\\\"'===e||\\\"'\\\"===e))return['\\\"'+P(t.substr(1,t.length-2))+'\\\"'];var n=/\\\\[(false|true|null|\\\\d+|'[^']*'|\\\"[^\\\"]*\\\")\\\\]/.exec(t);if(n)return O(t.substr(0,n.index)).concat(O(n[1])).concat(O(t.substr(n.index+n[0].length)));var i=t.split(\\\".\\\");if(1===i.length)return['\\\"'+P(t)+'\\\"'];for(var a=[],o=0;o<i.length;++o)a=a.concat(O(i[o]));return a}function R(t){return\\\"[\\\"+O(t).join(\\\"][\\\")+\\\"]\\\"}function F(t,e){return new D(t,R(e+\\\"\\\"))}function j(t){return\\\"function\\\"==typeof t&&!t._reglType||t instanceof D}function N(t,e){return\\\"function\\\"==typeof t?new D(me,t):t}function B(){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]}}}function U(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;if(t!==document.body){var i=t.getBoundingClientRect();e=i.right-i.left,n=i.bottom-i.top}a.width=r*e,a.height=r*n,$t(a.style,{width:e+\\\"px\\\",height:n+\\\"px\\\"})}function i(){window.removeEventListener(\\\"resize\\\",n),t.removeChild(a)}var a=document.createElement(\\\"canvas\\\");return $t(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position=\\\"absolute\\\",$t(t.style,{margin:0,padding:0})),window.addEventListener(\\\"resize\\\",n,!1),n(),{canvas:a,onDestroy:i}}function V(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\\\"webgl\\\")||r(\\\"experimental-webgl\\\")||r(\\\"webgl-experimental\\\")}function H(t){return\\\"string\\\"==typeof t.nodeName&&\\\"function\\\"==typeof t.appendChild&&\\\"function\\\"==typeof t.getBoundingClientRect}function q(t){return\\\"function\\\"==typeof t.drawArrays||\\\"function\\\"==typeof t.drawElements}function G(t){return\\\"string\\\"==typeof t?t.split():(de(Array.isArray(t),\\\"invalid extension array\\\"),t)}function Y(t){return\\\"string\\\"==typeof t?(de(\\\"undefined\\\"!=typeof document,\\\"not supported outside of DOM\\\"),document.querySelector(t)):t}function X(t){var e,r,n,i,a=t||{},o={},s=[],l=[],u=\\\"undefined\\\"==typeof window?1:window.devicePixelRatio,c=!1,h=function(t){t&&de.raise(t)},f=function(){};if(\\\"string\\\"==typeof a?(de(\\\"undefined\\\"!=typeof document,\\\"selector queries only supported in DOM enviroments\\\"),e=document.querySelector(a),de(e,\\\"invalid query string for element\\\")):\\\"object\\\"==typeof a?H(a)?e=a:q(a)?(i=a,n=i.canvas):(de.constructor(a),\\\"gl\\\"in a?i=a.gl:\\\"canvas\\\"in a?n=Y(a.canvas):\\\"container\\\"in a&&(r=Y(a.container)),\\\"attributes\\\"in a&&(o=a.attributes,de.type(o,\\\"object\\\",\\\"invalid context attributes\\\")),\\\"extensions\\\"in a&&(s=G(a.extensions)),\\\"optionalExtensions\\\"in a&&(l=G(a.optionalExtensions)),\\\"onDone\\\"in a&&(de.type(a.onDone,\\\"function\\\",\\\"invalid or missing onDone callback\\\"),h=a.onDone),\\\"profile\\\"in a&&(c=!!a.profile),\\\"pixelRatio\\\"in a&&(u=+a.pixelRatio,de(u>0,\\\"invalid pixel ratio\\\"))):de.raise(\\\"invalid arguments to regl\\\"),e&&(\\\"canvas\\\"===e.nodeName.toLowerCase()?n=e:r=e),!i){if(!n){de(\\\"undefined\\\"!=typeof document,\\\"must manually specify webgl context outside of DOM environments\\\");var d=U(r||document.body,h,u);if(!d)return null;n=d.canvas,f=d.onDestroy}i=V(n,o)}return i?{gl:i,canvas:n,container:r,extensions:s,optionalExtensions:l,pixelRatio:u,profile:c,onDone:h,onDestroy:f}:(f(),h(\\\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\\\"),null)}function W(t,e){function r(e){de.type(e,\\\"string\\\",\\\"extension name must be string\\\");var r,i=e.toLowerCase();try{r=n[i]=t.getExtension(i)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\\\"'+a+'\\\" 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(!r(t))throw new Error(\\\"(regl): error restoring extension \\\"+t)})}}}function Z(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)||Qt(t.data))}function J(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function K(t){for(var e=16;e<=1<<28;e*=16)if(t<=e)return e;return 0}function Q(t){var e,r;return e=(t>65535)<<4,t>>>=e,r=(t>255)<<3,t>>>=r,e|=r,r=(t>15)<<2,t>>>=r,e|=r,r=(t>3)<<1,t>>>=r,(e|=r)|t>>1}function $(t){var e=K(t),r=Ee[Q(e)>>2];return r.length>0?r.pop():new ArrayBuffer(e)}function tt(t){Ee[Q(t.byteLength)>>2].push(t)}function et(t,e){var r=null;switch(t){case _e:r=new Int8Array($(e),0,e);break;case we:r=new Uint8Array($(e),0,e);break;case Me:r=new Int16Array($(2*e),0,e);break;case ke:r=new Uint16Array($(2*e),0,e);break;case Ae:r=new Int32Array($(4*e),0,e);break;case Te:r=new Uint32Array($(4*e),0,e);break;case Se:r=new Float32Array($(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r}function rt(t){tt(t.buffer)}function nt(t,e,r){for(var n=0;n<e;++n)r[n]=t[n]}function it(t,e,r,n){for(var i=0,a=0;a<e;++a)for(var o=t[a],s=0;s<r;++s)n[i++]=o[s]}function at(t,e,r,n,i,a){for(var o=a,s=0;s<e;++s)for(var l=t[s],u=0;u<r;++u)for(var c=l[u],h=0;h<n;++h)i[o++]=c[h]}function ot(t,e,r,n,i){for(var a=1,o=r+1;o<e.length;++o)a*=e[o];var s=e[r];if(e.length-r==4){var l=e[r+1],u=e[r+2],c=e[r+3];for(o=0;o<s;++o)at(t[o],l,u,c,n,i),i+=a}else for(o=0;o<s;++o)ot(t[o],e,r+1,n,i),i+=a}function st(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;var o=n||Le.allocType(r,i);switch(e.length){case 0:break;case 1:nt(t,e[0],o);break;case 2:it(t,e[0],e[1],o);break;case 3:at(t,e[0],e[1],e[2],o,0);break;default:ot(t,e,0,o,0)}return o}function lt(t){for(var e=[],r=t;r.length;r=r[0])e.push(r.length);return e}function ut(t){return 0|Kt[Object.prototype.toString.call(t)]}function ct(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function ht(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var u=0;u<n;++u)t[s++]=e[i*l+a*u+o]}function ft(t,e,r){function n(e){this.id=h++,this.buffer=t.createBuffer(),this.type=e,this.usage=Oe,this.byteLength=0,this.dimension=1,this.dtype=Fe,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(t,e){var r=d.pop();return r||(r=new n(t)),r.bind(),s(r,e,Re,0,1,!1),r}function a(t){d.push(t)}function o(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function s(t,e,r,n,i,a){var s;if(t.usage=r,Array.isArray(e)){if(t.dtype=n||je,e.length>0){var l;if(Array.isArray(e[0])){s=Pe(e);for(var u=1,c=1;c<s.length;++c)u*=s[c];t.dimension=u,l=De(e,s,t.dtype),o(t,l,r),a?t.persistentData=l:Le.freeType(l)}else if(\\\"number\\\"==typeof e[0]){t.dimension=i;var h=Le.allocType(t.dtype,e.length);ct(h,e),o(t,h,r),a?t.persistentData=h:Le.freeType(h)}else Qt(e[0])?(t.dimension=e[0].length,t.dtype=n||ut(e[0])||je,l=De(e,[e.length,e[0].length],t.dtype),o(t,l,r),a?t.persistentData=l:Le.freeType(l)):de.raise(\\\"invalid buffer data\\\")}}else if(Qt(e))t.dtype=n||ut(e),t.dimension=i,o(t,e,r),a&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(Z(e)){s=e.shape;var f=e.stride,d=e.offset,p=0,m=0,v=0,g=0;1===s.length?(p=s[0],m=1,v=f[0],g=0):2===s.length?(p=s[0],m=s[1],v=f[0],g=f[1]):de.raise(\\\"invalid shape\\\"),t.dtype=n||ut(e.data)||je,t.dimension=m;var y=Le.allocType(t.dtype,p*m);ht(y,e.data,p,m,v,g,d),o(t,y,r),a?t.persistentData=y:Le.freeType(y)}else de.raise(\\\"invalid buffer data\\\")}function l(r){e.bufferCount--;var n=r.buffer;de(n,\\\"buffer must not be deleted already\\\"),t.deleteBuffer(n),r.buffer=null,delete f[r.id]}function u(i,a,o,u){function c(e){var n=Oe,i=null,a=0,o=0,l=1;return Array.isArray(e)||Qt(e)||Z(e)?i=e:\\\"number\\\"==typeof e?a=0|e:e&&(de.type(e,\\\"object\\\",\\\"buffer arguments must be an object, a number or an array\\\"),\\\"data\\\"in e&&(de(null===i||Array.isArray(i)||Qt(i)||Z(i),\\\"invalid data for buffer\\\"),i=e.data),\\\"usage\\\"in e&&(de.parameter(e.usage,Ie,\\\"invalid buffer usage\\\"),n=Ie[e.usage]),\\\"type\\\"in e&&(de.parameter(e.type,ze,\\\"invalid buffer type\\\"),o=ze[e.type]),\\\"dimension\\\"in e&&(de.type(e.dimension,\\\"number\\\",\\\"invalid dimension\\\"),l=0|e.dimension),\\\"length\\\"in e&&(de.nni(a,\\\"buffer length must be a nonnegative integer\\\"),a=0|e.length)),p.bind(),i?s(p,i,n,o,l,u):(t.bufferData(p.type,a,n),p.dtype=o||Fe,p.usage=n,p.dimension=l,p.byteLength=a),r.profile&&(p.stats.size=p.byteLength*Ne[p.dtype]),c}function h(e,r){de(r+e.byteLength<=p.byteLength,\\\"invalid buffer subdata call, buffer is too small.  Can't write data of size \\\"+e.byteLength+\\\" starting from offset \\\"+r+\\\" to a buffer of size \\\"+p.byteLength),t.bufferSubData(p.type,r,e)}function d(t,e){var r,n=0|(e||0);if(p.bind(),Array.isArray(t)){if(t.length>0)if(\\\"number\\\"==typeof t[0]){var i=Le.allocType(p.dtype,t.length);ct(i,t),h(i,n),Le.freeType(i)}else if(Array.isArray(t[0])||Qt(t[0])){r=Pe(t);var a=De(t,r,p.dtype);h(a,n),Le.freeType(a)}else de.raise(\\\"invalid buffer data\\\")}else if(Qt(t))h(t,n);else if(Z(t)){r=t.shape;var o=t.stride,s=0,l=0,u=0,f=0;1===r.length?(s=r[0],l=1,u=o[0],f=0):2===r.length?(s=r[0],l=r[1],u=o[0],f=o[1]):de.raise(\\\"invalid shape\\\");var d=Array.isArray(t.data)?p.dtype:ut(t.data),m=Le.allocType(d,s*l);ht(m,t.data,s,l,u,f,t.offset),h(m,n),Le.freeType(m)}else de.raise(\\\"invalid data for buffer subdata\\\");return c}e.bufferCount++;var p=new n(a);return f[p.id]=p,o||c(i),c._reglType=\\\"buffer\\\",c._buffer=p,c.subdata=d,r.profile&&(c.stats=p.stats),c.destroy=function(){l(p)},c}function c(){xe(f).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})}var h=0,f={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){l(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(f).forEach(function(e){t+=f[e].stats.size}),t}),{create:u,createStream:i,destroyStream:a,clear:function(){xe(f).forEach(l),d.forEach(l)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:c,_initBuffer:s}}function dt(t,e,r,n){function i(t){this.id=h++,c[this.id]=this,this.buffer=t,this.primType=He,this.vertCount=0,this.type=0}function a(t){var e=d.pop();return e||(e=new i(r.create(null,Je,!0,!1)._buffer)),s(e,t,Ke,-1,-1,0,0),e}function o(t){d.push(t)}function s(n,i,a,o,s,l,u){if(n.buffer.bind(),i){var c=u;u||Qt(i)&&(!Z(i)||Qt(i.data))||(c=e.oes_element_index_uint?Ze:Xe),r._initBuffer(n.buffer,i,a,c,3)}else t.bufferData(Je,l,a),n.buffer.dtype=h||Ge,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;var h=u;if(!u){switch(n.buffer.dtype){case Ge:case qe:h=Ge;break;case Xe:case Ye:h=Xe;break;case Ze:case We:h=Ze;break;default:de.raise(\\\"unsupported type for element array\\\")}n.buffer.dtype=h}n.type=h,de(h!==Ze||!!e.oes_element_index_uint,\\\"32 bit element buffers not supported, enable oes_element_index_uint first\\\");var f=s;f<0&&(f=n.buffer.byteLength,h===Xe?f>>=1:h===Ze&&(f>>=2)),n.vertCount=f;var d=o;if(o<0){d=He;var p=n.buffer.dimension;1===p&&(d=Ue),2===p&&(d=Ve),3===p&&(d=He)}n.primType=d}function l(t){n.elementsCount--,de(null!==t.buffer,\\\"must not double destroy elements\\\"),delete c[t.id],t.buffer.destroy(),t.buffer=null}function u(t,e){function a(t){if(t)if(\\\"number\\\"==typeof t)o(t),u.primType=He,u.vertCount=0|t,u.type=Ge;else{var e=null,r=Qe,n=-1,i=-1,l=0,c=0;Array.isArray(t)||Qt(t)||Z(t)?e=t:(de.type(t,\\\"object\\\",\\\"invalid arguments for elements\\\"),\\\"data\\\"in t&&(e=t.data,de(Array.isArray(e)||Qt(e)||Z(e),\\\"invalid data for element buffer\\\")),\\\"usage\\\"in t&&(de.parameter(t.usage,Ie,\\\"invalid element buffer usage\\\"),r=Ie[t.usage]),\\\"primitive\\\"in t&&(de.parameter(t.primitive,Be,\\\"invalid element buffer primitive\\\"),n=Be[t.primitive]),\\\"count\\\"in t&&(de(\\\"number\\\"==typeof t.count&&t.count>=0,\\\"invalid vertex count for elements\\\"),i=0|t.count),\\\"type\\\"in t&&(de.parameter(t.type,f,\\\"invalid buffer type\\\"),c=f[t.type]),\\\"length\\\"in t?l=0|t.length:(l=i,c===Xe||c===Ye?l*=2:c!==Ze&&c!==We||(l*=4))),s(u,e,r,n,i,l,c)}else o(),u.primType=He,\\n\",\n       \"u.vertCount=0,u.type=Ge;return a}var o=r.create(null,Je,!0),u=new i(o._buffer);return n.elementsCount++,a(t),a._reglType=\\\"elements\\\",a._elements=u,a.subdata=function(t,e){return o.subdata(t,e),a},a.destroy=function(){l(u)},a}var c={},h=0,f={uint8:Ge,uint16:Xe};e.oes_element_index_uint&&(f.uint32=Ze),i.prototype.bind=function(){this.buffer.bind()};var d=[];return{create:u,createStream:a,destroyStream:o,getElements:function(t){return\\\"function\\\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){xe(c).forEach(l)}}}function pt(t){for(var e=Le.allocType(er,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(t[r]===1/0)e[r]=31744;else if(t[r]===-1/0)e[r]=64512;else{$e[0]=t[r];var n=tr[0],i=n>>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)e[r]=i;else if(a<-14){var s=-14-a;e[r]=i+(o+1024>>s)}else e[r]=a>15?i+31744:i+(a+15<<10)+o}return e}function mt(t){return Array.isArray(t)||Qt(t)}function vt(t){return\\\"[object \\\"+t+\\\"]\\\"}function gt(t){return Array.isArray(t)&&(0===t.length||\\\"number\\\"==typeof t[0])}function yt(t){return!!Array.isArray(t)&&!(0===t.length||!mt(t[0]))}function bt(t){return Object.prototype.toString.call(t)}function xt(t){return bt(t)===dn}function _t(t){return bt(t)===pn}function wt(t){return bt(t)===mn}function Mt(t){return bt(t)===vn}function kt(t){if(!t)return!1;var e=bt(t);return gn.indexOf(e)>=0||(gt(t)||yt(t)||Z(t))}function At(t){return 0|Kt[Object.prototype.toString.call(t)]}function Tt(t,e){var r=e.length;switch(t.type){case Or:case Rr:case Fr:case jr:var n=Le.allocType(t.type,r);n.set(e),t.data=n;break;case wr:t.data=pt(e);break;default:de.raise(\\\"unsupported texture type, must specify a typed array\\\")}}function St(t,e){return Le.allocType(t.type===wr?jr:t.type,e)}function Et(t,e){t.type===wr?(t.data=pt(e),Le.freeType(e)):t.data=e}function Lt(t,e,r,n,i,a){for(var o=t.width,s=t.height,l=t.channels,u=o*s*l,c=St(t,u),h=0,f=0;f<s;++f)for(var d=0;d<o;++d)for(var p=0;p<l;++p)c[h++]=e[r*d+n*f+i*p+a];Et(t,c)}function Ct(t,e,r,n,i,a){var o;if(o=void 0!==bn[t]?bn[t]:fn[t]*yn[e],a&&(o*=6),i){for(var s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}return o*r*n}function zt(t,e,r,n,i,a,o){function s(){this.internalformat=or,this.format=or,this.type=Or,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=0,this.width=0,this.height=0,this.channels=0}function l(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,n){if(\\\"object\\\"==typeof n&&n){if(\\\"premultiplyAlpha\\\"in n&&(de.type(n.premultiplyAlpha,\\\"boolean\\\",\\\"invalid premultiplyAlpha\\\"),t.premultiplyAlpha=n.premultiplyAlpha),\\\"flipY\\\"in n&&(de.type(n.flipY,\\\"boolean\\\",\\\"invalid texture flip\\\"),t.flipY=n.flipY),\\\"alignment\\\"in n&&(de.oneOf(n.alignment,[1,2,4,8],\\\"invalid texture unpack alignment\\\"),t.unpackAlignment=n.alignment),\\\"colorSpace\\\"in n&&(de.parameter(n.colorSpace,j,\\\"invalid colorSpace\\\"),t.colorSpace=j[n.colorSpace]),\\\"type\\\"in n){var i=n.type;de(e.oes_texture_float||!(\\\"float\\\"===i||\\\"float32\\\"===i),\\\"you must enable the OES_texture_float extension in order to use floating point textures.\\\"),de(e.oes_texture_half_float||!(\\\"half float\\\"===i||\\\"float16\\\"===i),\\\"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures.\\\"),de(e.webgl_depth_texture||!(\\\"uint16\\\"===i||\\\"uint32\\\"===i||\\\"depth stencil\\\"===i),\\\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\\\"),de.parameter(i,N,\\\"invalid texture type\\\"),t.type=N[i]}var a=t.width,o=t.height,s=t.channels,l=!1;\\\"shape\\\"in n?(de(Array.isArray(n.shape)&&n.shape.length>=2,\\\"shape must be an array\\\"),a=n.shape[0],o=n.shape[1],3===n.shape.length&&(s=n.shape[2],de(s>0&&s<=4,\\\"invalid number of channels\\\"),l=!0),de(a>=0&&a<=r.maxTextureSize,\\\"invalid width\\\"),de(o>=0&&o<=r.maxTextureSize,\\\"invalid height\\\")):(\\\"radius\\\"in n&&(a=o=n.radius,de(a>=0&&a<=r.maxTextureSize,\\\"invalid radius\\\")),\\\"width\\\"in n&&(a=n.width,de(a>=0&&a<=r.maxTextureSize,\\\"invalid width\\\")),\\\"height\\\"in n&&(o=n.height,de(o>=0&&o<=r.maxTextureSize,\\\"invalid height\\\")),\\\"channels\\\"in n&&(s=n.channels,de(s>0&&s<=4,\\\"invalid number of channels\\\"),l=!0)),t.width=0|a,t.height=0|o,t.channels=0|s;var u=!1;if(\\\"format\\\"in n){var c=n.format;de(e.webgl_depth_texture||!(\\\"depth\\\"===c||\\\"depth stencil\\\"===c),\\\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\\\"),de.parameter(c,B,\\\"invalid texture format\\\");var h=t.internalformat=B[c];t.format=J[h],c in N&&(\\\"type\\\"in n||(t.type=N[c])),c in U&&(t.compressed=!0),u=!0}!l&&u?t.channels=fn[t.format]:l&&!u?t.channels!==hn[t.format]&&(t.format=t.internalformat=hn[t.channels]):u&&l&&de(t.channels===fn[t.format],\\\"number of channels inconsistent with specified format\\\")}}function c(e){t.pixelStorei(an,e.flipY),t.pixelStorei(on,e.premultiplyAlpha),t.pixelStorei(sn,e.colorSpace),t.pixelStorei(nn,e.unpackAlignment)}function h(){s.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function f(t,e){var n=null;if(kt(e)?n=e:e&&(de.type(e,\\\"object\\\",\\\"invalid pixel data type\\\"),u(t,e),\\\"x\\\"in e&&(t.xOffset=0|e.x),\\\"y\\\"in e&&(t.yOffset=0|e.y),kt(e.data)&&(n=e.data)),de(!t.compressed||n instanceof Uint8Array,\\\"compressed texture data must be stored in a uint8array\\\"),e.copy){de(!n,\\\"can not specify copy and data field for the same texture\\\");var a=i.viewportWidth,o=i.viewportHeight;t.width=t.width||a-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0,de(t.xOffset>=0&&t.xOffset<a&&t.yOffset>=0&&t.yOffset<o&&t.width>0&&t.width<=a&&t.height>0&&t.height<=o,\\\"copy texture read out of bounds\\\")}else if(n){if(Qt(n))t.channels=t.channels||4,t.data=n,\\\"type\\\"in e||t.type!==Or||(t.type=At(n));else if(gt(n))t.channels=t.channels||4,Tt(t,n),t.alignment=1,t.needsFree=!0;else if(Z(n)){var s=n.data;Array.isArray(s)||t.type!==Or||(t.type=At(s));var l,c,h,f,d,p,m=n.shape,v=n.stride;3===m.length?(h=m[2],p=v[2]):(de(2===m.length,\\\"invalid ndarray pixel data, must be 2 or 3D\\\"),h=1,p=1),l=m[0],c=m[1],f=v[0],d=v[1],t.alignment=1,t.width=l,t.height=c,t.channels=h,t.format=t.internalformat=hn[h],t.needsFree=!0,Lt(t,s,f,d,p,n.offset)}else if(xt(n)||_t(n))xt(n)?t.element=n:t.element=n.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(wt(n))t.element=n,t.width=n.naturalWidth,t.height=n.naturalHeight,t.channels=4;else if(Mt(n))t.element=n,t.width=n.videoWidth,t.height=n.videoHeight,t.channels=4;else if(yt(n)){var g=t.width||n[0].length,y=t.height||n.length,b=t.channels;b=mt(n[0][0])?b||n[0][0].length:b||1;for(var x=Ce.shape(n),_=1,w=0;w<x.length;++w)_*=x[w];var M=St(t,_);Ce.flatten(n,x,\\\"\\\",M),Et(t,M),t.alignment=1,t.width=g,t.height=y,t.channels=b,t.format=t.internalformat=hn[b],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4;t.type===jr?de(r.extensions.indexOf(\\\"oes_texture_float\\\")>=0,\\\"oes_texture_float extension not enabled\\\"):t.type===wr&&de(r.extensions.indexOf(\\\"oes_texture_half_float\\\")>=0,\\\"oes_texture_half_float extension not enabled\\\")}function d(e,r,i){var a=e.element,o=e.data,s=e.internalformat,l=e.format,u=e.type,h=e.width,f=e.height;c(e),a?t.texImage2D(r,i,l,l,u,a):e.compressed?t.compressedTexImage2D(r,i,s,h,f,0,o):e.needsCopy?(n(),t.copyTexImage2D(r,i,l,e.xOffset,e.yOffset,h,f,0)):t.texImage2D(r,i,l,h,f,0,l,u,o)}function p(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,h=e.format,f=e.type,d=e.width,p=e.height;c(e),s?t.texSubImage2D(r,o,i,a,h,f,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,d,p,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,d,p)):t.texSubImage2D(r,o,i,a,d,p,h,f,l)}function m(){return K.pop()||new h}function v(t){t.needsFree&&Le.freeType(t.data),h.call(t),K.push(t)}function g(){s.call(this),this.genMipmaps=!1,this.mipmapHint=$r,this.mipmask=0,this.images=Array(16)}function y(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function b(t,e){var r=null;if(kt(e))r=t.images[0]=m(),l(r,t),f(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)r=t.images[i]=m(),l(r,t),r.width>>=i,r.height>>=i,f(r,n[i]),t.mipmask|=1<<i;else r=t.images[0]=m(),l(r,t),f(r,e),t.mipmask=1;l(t,t.images[0]),(t.compressed&&t.internalformat===Mr||t.internalformat===kr||t.internalformat===Ar||t.internalformat===Tr)&&de(t.width%4==0&&t.height%4==0,\\\"for compressed texture formats, mipmap level 0 must have width and height that are a multiple of 4\\\")}function x(t,e){for(var r=t.images,n=0;n<r.length;++n){if(!r[n])return;d(r[n],e,n)}}function _(){var t=Q.pop()||new g;s.call(t),t.mipmask=0;for(var e=0;e<16;++e)t.images[e]=null;return t}function w(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&v(e[r]),e[r]=null;Q.push(t)}function M(){this.minFilter=Yr,this.magFilter=Yr,this.wrapS=Vr,this.wrapT=Vr,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=$r}function k(t,e){if(\\\"min\\\"in e){var n=e.min;de.parameter(n,F),t.minFilter=F[n],cn.indexOf(t.minFilter)>=0&&(t.genMipmaps=!0)}if(\\\"mag\\\"in e){var i=e.mag;de.parameter(i,R),t.magFilter=R[i]}var a=t.wrapS,o=t.wrapT;if(\\\"wrap\\\"in e){var s=e.wrap;\\\"string\\\"==typeof s?(de.parameter(s,O),a=o=O[s]):Array.isArray(s)&&(de.parameter(s[0],O),de.parameter(s[1],O),a=O[s[0]],o=O[s[1]])}else{if(\\\"wrapS\\\"in e){var l=e.wrapS;de.parameter(l,O),a=O[l]}if(\\\"wrapT\\\"in e){var u=e.wrapT;de.parameter(u,O),o=O[u]}}if(t.wrapS=a,t.wrapT=o,\\\"anisotropic\\\"in e){var c=e.anisotropic;de(\\\"number\\\"==typeof c&&c>=1&&c<=r.maxAnisotropic,\\\"aniso samples must be between 1 and \\\"),t.anisotropic=e.anisotropic}if(\\\"mipmap\\\"in e){var h=!1;switch(typeof e.mipmap){case\\\"string\\\":de.parameter(e.mipmap,P,\\\"invalid mipmap hint\\\"),t.mipmapHint=P[e.mipmap],t.genMipmaps=!0,h=!0;break;case\\\"boolean\\\":h=t.genMipmaps=e.mipmap;break;case\\\"object\\\":de(Array.isArray(e.mipmap),\\\"invalid mipmap type\\\"),t.genMipmaps=!1,h=!0;break;default:de.raise(\\\"invalid mipmap type\\\")}!h||\\\"min\\\"in e||(t.minFilter=Wr)}}function A(r,n){t.texParameteri(n,Gr,r.minFilter),t.texParameteri(n,qr,r.magFilter),t.texParameteri(n,Nr,r.wrapS),t.texParameteri(n,Br,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,rn,r.anisotropic),r.genMipmaps&&(t.hint(Qr,r.mipmapHint),t.generateMipmap(n))}function T(e){s.call(this),this.mipmask=0,this.internalformat=or,this.id=$++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new M,o.profile&&(this.stats={size:0})}function S(e){t.activeTexture(un),t.bindTexture(e.target,e.texture)}function E(){var e=rt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(nr,null)}function L(e){var r=e.texture;de(r,\\\"must not double destroy texture\\\");var n=e.unit,i=e.target;n>=0&&(t.activeTexture(un+n),t.bindTexture(i,null),rt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete tt[e.id],a.textureCount--}function C(e,n){function i(t,e){var n=c.texInfo;M.call(n);var a=_();return\\\"number\\\"==typeof t?\\\"number\\\"==typeof e?y(a,0|t,0|e):y(a,0|t,0|t):t?(de.type(t,\\\"object\\\",\\\"invalid arguments to regl.texture\\\"),k(n,t),b(a,t)):y(a,1,1),n.genMipmaps&&(a.mipmask=(a.width<<1)-1),c.mipmask=a.mipmask,l(c,a),de.texture2D(n,a,r),c.internalformat=a.internalformat,i.width=a.width,i.height=a.height,S(c),x(a,nr),A(n,nr),E(),w(a),o.profile&&(c.stats.size=Ct(c.internalformat,c.type,a.width,a.height,n.genMipmaps,!1)),i.format=q[c.internalformat],i.type=G[c.type],i.mag=Y[n.magFilter],i.min=X[n.minFilter],i.wrapS=W[n.wrapS],i.wrapT=W[n.wrapT],i}function s(t,e,r,n){de(!!t,\\\"must specify image data\\\");var a=0|e,o=0|r,s=0|n,u=m();return l(u,c),u.width=0,u.height=0,f(u,t),u.width=u.width||(c.width>>s)-a,u.height=u.height||(c.height>>s)-o,de(c.type===u.type&&c.format===u.format&&c.internalformat===u.internalformat,\\\"incompatible format for texture.subimage\\\"),de(a>=0&&o>=0&&a+u.width<=c.width&&o+u.height<=c.height,\\\"texture.subimage write out of bounds\\\"),de(c.mipmask&1<<s,\\\"missing mipmap data\\\"),de(u.data||u.element||u.needsCopy,\\\"missing image data\\\"),S(c),p(u,nr,a,o,s),E(),v(u),i}function u(e,r){var n=0|e,a=0|r||n;if(n===c.width&&a===c.height)return i;i.width=c.width=n,i.height=c.height=a,S(c);for(var s=0;c.mipmask>>s;++s)t.texImage2D(nr,s,c.format,n>>s,a>>s,0,c.format,c.type,null);return E(),o.profile&&(c.stats.size=Ct(c.internalformat,c.type,n,a,!1,!1)),i}var c=new T(nr);return tt[c.id]=c,a.textureCount++,i(e,n),i.subimage=s,i.resize=u,i._reglType=\\\"texture2d\\\",i._texture=c,o.profile&&(i.stats=c.stats),i.destroy=function(){c.decRef()},i}function z(e,n,i,s,c,h){function d(t,e,n,i,a,s){var c,h=C.texInfo;for(M.call(h),c=0;c<6;++c)z[c]=_();if(\\\"number\\\"!=typeof t&&t)if(\\\"object\\\"==typeof t)if(e)b(z[0],t),b(z[1],e),b(z[2],n),b(z[3],i),b(z[4],a),b(z[5],s);else if(k(h,t),u(C,t),\\\"faces\\\"in t){var f=t.faces;for(de(Array.isArray(f)&&6===f.length,\\\"cube faces must be a length 6 array\\\"),c=0;c<6;++c)de(\\\"object\\\"==typeof f[c]&&!!f[c],\\\"invalid input for cube map face\\\"),l(z[c],C),b(z[c],f[c])}else for(c=0;c<6;++c)b(z[c],t);else de.raise(\\\"invalid arguments to cube map\\\");else{var p=0|t||1;for(c=0;c<6;++c)y(z[c],p,p)}for(l(C,z[0]),h.genMipmaps?C.mipmask=(z[0].width<<1)-1:C.mipmask=z[0].mipmask,de.textureCube(C,h,z,r),C.internalformat=z[0].internalformat,d.width=z[0].width,d.height=z[0].height,S(C),c=0;c<6;++c)x(z[c],ar+c);for(A(h,ir),E(),o.profile&&(C.stats.size=Ct(C.internalformat,C.type,d.width,d.height,h.genMipmaps,!0)),d.format=q[C.internalformat],d.type=G[C.type],d.mag=Y[h.magFilter],d.min=X[h.minFilter],d.wrapS=W[h.wrapS],d.wrapT=W[h.wrapT],c=0;c<6;++c)w(z[c]);return d}function g(t,e,r,n,i){de(!!e,\\\"must specify image data\\\"),de(\\\"number\\\"==typeof t&&t===(0|t)&&t>=0&&t<6,\\\"invalid face\\\");var a=0|r,o=0|n,s=0|i,u=m();return l(u,C),u.width=0,u.height=0,f(u,e),u.width=u.width||(C.width>>s)-a,u.height=u.height||(C.height>>s)-o,de(C.type===u.type&&C.format===u.format&&C.internalformat===u.internalformat,\\\"incompatible format for texture.subimage\\\"),de(a>=0&&o>=0&&a+u.width<=C.width&&o+u.height<=C.height,\\\"texture.subimage write out of bounds\\\"),de(C.mipmask&1<<s,\\\"missing mipmap data\\\"),de(u.data||u.element||u.needsCopy,\\\"missing image data\\\"),S(C),p(u,ar+t,a,o,s),E(),v(u),d}function L(e){var r=0|e;if(r!==C.width){d.width=C.width=r,d.height=C.height=r,S(C);for(var n=0;n<6;++n)for(var i=0;C.mipmask>>i;++i)t.texImage2D(ar+n,i,C.format,r>>i,r>>i,0,C.format,C.type,null);return E(),o.profile&&(C.stats.size=Ct(C.internalformat,C.type,d.width,d.height,!1,!0)),d}}var C=new T(ir);tt[C.id]=C,a.cubeCount++;var z=new Array(6);return d(e,n,i,s,c,h),d.subimage=g,d.resize=L,d._reglType=\\\"textureCube\\\",d._texture=C,o.profile&&(d.stats=C.stats),d.destroy=function(){C.decRef()},d}function I(){for(var e=0;e<et;++e)t.activeTexture(un+e),t.bindTexture(nr,null),rt[e]=null;xe(tt).forEach(L),a.cubeCount=0,a.textureCount=0}function D(){xe(tt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;r<32;++r)if(0!=(e.mipmask&1<<r))if(e.target===nr)t.texImage2D(nr,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(ar+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);A(e.texInfo,e.target)})}var P={\\\"don't care\\\":$r,\\\"dont care\\\":$r,nice:en,fast:tn},O={repeat:Ur,clamp:Vr,mirror:Hr},R={nearest:Yr,linear:Xr},F=$t({mipmap:Kr,\\\"nearest mipmap nearest\\\":Wr,\\\"linear mipmap nearest\\\":Zr,\\\"nearest mipmap linear\\\":Jr,\\\"linear mipmap linear\\\":Kr},R),j={none:0,browser:ln},N={uint8:Or,rgba4:pr,rgb565:vr,\\\"rgb5 a1\\\":mr},B={alpha:sr,luminance:ur,\\\"luminance alpha\\\":cr,rgb:lr,rgba:or,rgba4:hr,\\\"rgb5 a1\\\":fr,rgb565:dr},U={};e.ext_srgb&&(B.srgb=xr,B.srgba=_r),e.oes_texture_float&&(N.float32=N.float=jr),e.oes_texture_half_float&&(N.float16=N[\\\"half float\\\"]=wr),e.webgl_depth_texture&&($t(B,{depth:yr,\\\"depth stencil\\\":br}),$t(N,{uint16:Rr,uint32:Fr,\\\"depth stencil\\\":gr})),e.webgl_compressed_texture_s3tc&&$t(U,{\\\"rgb s3tc dxt1\\\":Mr,\\\"rgba s3tc dxt1\\\":kr,\\\"rgba s3tc dxt3\\\":Ar,\\\"rgba s3tc dxt5\\\":Tr}),e.webgl_compressed_texture_atc&&$t(U,{\\\"rgb atc\\\":Sr,\\\"rgba atc explicit alpha\\\":Er,\\\"rgba atc interpolated alpha\\\":Lr}),e.webgl_compressed_texture_pvrtc&&$t(U,{\\\"rgb pvrtc 4bppv1\\\":Cr,\\\"rgb pvrtc 2bppv1\\\":zr,\\\"rgba pvrtc 4bppv1\\\":Ir,\\\"rgba pvrtc 2bppv1\\\":Dr}),e.webgl_compressed_texture_etc1&&(U[\\\"rgb etc1\\\"]=Pr);var V=Array.prototype.slice.call(t.getParameter(rr));Object.keys(U).forEach(function(t){var e=U[t];V.indexOf(e)>=0&&(B[t]=e)});var H=Object.keys(B);r.textureFormats=H;var q=[];Object.keys(B).forEach(function(t){var e=B[t];q[e]=t});var G=[];Object.keys(N).forEach(function(t){var e=N[t];G[e]=t});var Y=[];Object.keys(R).forEach(function(t){var e=R[t];Y[e]=t});var X=[];Object.keys(F).forEach(function(t){var e=F[t];X[e]=t});var W=[];Object.keys(O).forEach(function(t){var e=O[t];W[e]=t});var J=H.reduce(function(t,e){var r=B[e];return r===ur||r===sr||r===ur||r===cr||r===yr||r===br?t[r]=r:r===fr||e.indexOf(\\\"rgba\\\")>=0?t[r]=or:t[r]=lr,t},{}),K=[],Q=[],$=0,tt={},et=r.maxTextureUnits,rt=Array(et).map(function(){return null});return $t(T.prototype,{bind:function(){var e=this;e.bindCount+=1;var r=e.unit;if(r<0){for(var n=0;n<et;++n){var i=rt[n];if(i){if(i.bindCount>0)continue;i.unit=-1}rt[n]=e,r=n;break}r>=et&&de.raise(\\\"insufficient number of texture units\\\"),o.profile&&a.maxTextureUnits<r+1&&(a.maxTextureUnits=r+1),e.unit=r,t.activeTexture(un+r),t.bindTexture(e.target,e.texture)}return r},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&L(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(tt).forEach(function(e){t+=tt[e].stats.size}),t}),{create2D:C,createCube:z,clear:I,getTexture:function(t){return null},restore:D}}function It(t,e,r){return wn[t]*e*r}function Dt(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=0,i=0;e?(n=e.width,i=e.height):r&&(n=r.width,i=r.height),this.width=n,this.height=i}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){if(t)if(t.texture){var n=t.texture._texture,i=Math.max(1,n.width),a=Math.max(1,n.height);de(i===e&&a===r,\\\"inconsistent width/height for supplied texture\\\"),n.refCount+=1}else{var o=t.renderbuffer._renderbuffer;de(o.width===e&&o.height===r,\\\"inconsistent width/height for renderbuffer\\\"),o.refCount+=1}}function u(e,r){r&&(r.texture?t.framebufferTexture2D(kn,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(kn,e,An,r.renderbuffer._renderbuffer.renderbuffer))}function c(t){var e=Tn,r=null,n=null,i=t;\\\"object\\\"==typeof t&&(i=t.data,\\\"target\\\"in t&&(e=0|t.target)),de.type(i,\\\"function\\\",\\\"invalid attachment data\\\");var a=i._reglType;return\\\"texture2d\\\"===a?(r=i,de(e===Tn)):\\\"textureCube\\\"===a?(r=i,de(e>=Sn&&e<Sn+6,\\\"invalid cube map target\\\")):\\\"renderbuffer\\\"===a?(n=i,e=An):de.raise(\\\"invalid regl object for attachment\\\"),new o(e,r,n)}function h(t,e,r,a,s){if(r){var l=n.create2D({width:t,height:e,format:a,type:s});return l._texture.refCount=0,new o(Tn,l,null)}var u=i.create({width:t,height:e,format:a});return u._renderbuffer.refCount=0,new o(An,null,u)}function f(t){return t&&(t.texture||t.renderbuffer)}function d(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function p(){this.id=A++,T[this.id]=this,this.framebuffer=t.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function m(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){var r=e.framebuffer;de(r,\\\"must not double destroy framebuffer\\\"),t.deleteFramebuffer(r),e.framebuffer=null,a.framebufferCount--,delete T[e.id]}function g(e){var n;t.bindFramebuffer(kn,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(En+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(kn,En+n,Tn,null,0);t.framebufferTexture2D(kn,zn,Tn,null,0),t.framebufferTexture2D(kn,Ln,Tn,null,0),t.framebufferTexture2D(kn,Cn,Tn,null,0),u(Ln,e.depthAttachment),u(Cn,e.stencilAttachment),u(zn,e.depthStencilAttachment);var a=t.checkFramebufferStatus(kn);a!==In&&de.raise(\\\"framebuffer configuration not supported, status = \\\"+Un[a]),t.bindFramebuffer(kn,_.next),_.cur=_.next,t.getError()}function y(t,n){function i(t,n){var a;de(_.next!==s,\\\"can not update framebuffer which is currently in use\\\");var o=e.webgl_draw_buffers,u=0,d=0,p=!0,v=!0,y=null,b=!0,x=\\\"rgba\\\",A=\\\"uint8\\\",T=1,S=null,E=null,L=null,C=!1;if(\\\"number\\\"==typeof t)u=0|t,d=0|n||u;else if(t){de.type(t,\\\"object\\\",\\\"invalid arguments for framebuffer\\\");var z=t;if(\\\"shape\\\"in z){var I=z.shape;de(Array.isArray(I)&&I.length>=2,\\\"invalid shape for framebuffer\\\"),u=I[0],d=I[1]}else\\\"radius\\\"in z&&(u=d=z.radius),\\\"width\\\"in z&&(u=z.width),\\\"height\\\"in z&&(d=z.height);(\\\"color\\\"in z||\\\"colors\\\"in z)&&(y=z.color||z.colors,Array.isArray(y)&&de(1===y.length||o,\\\"multiple render targets not supported\\\")),y||(\\\"colorCount\\\"in z&&(T=0|z.colorCount,de(T>0,\\\"invalid color buffer count\\\")),\\\"colorTexture\\\"in z&&(b=!!z.colorTexture,x=\\\"rgba4\\\"),\\\"colorType\\\"in z&&(A=z.colorType,b?(de(e.oes_texture_float||!(\\\"float\\\"===A||\\\"float32\\\"===A),\\\"you must enable OES_texture_float in order to use floating point framebuffer objects\\\"),de(e.oes_texture_half_float||!(\\\"half float\\\"===A||\\\"float16\\\"===A),\\\"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects\\\")):\\\"half float\\\"===A||\\\"float16\\\"===A?(de(e.ext_color_buffer_half_float,\\\"you must enable EXT_color_buffer_half_float to use 16-bit render buffers\\\"),x=\\\"rgba16f\\\"):\\\"float\\\"!==A&&\\\"float32\\\"!==A||(de(e.webgl_color_buffer_float,\\\"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers\\\"),x=\\\"rgba32f\\\"),de.oneOf(A,k,\\\"invalid color type\\\")),\\\"colorFormat\\\"in z&&(x=z.colorFormat,w.indexOf(x)>=0?b=!0:M.indexOf(x)>=0?b=!1:b?de.oneOf(z.colorFormat,w,\\\"invalid color format for texture\\\"):de.oneOf(z.colorFormat,M,\\\"invalid color format for renderbuffer\\\"))),(\\\"depthTexture\\\"in z||\\\"depthStencilTexture\\\"in z)&&(C=!(!z.depthTexture&&!z.depthStencilTexture),de(!C||e.webgl_depth_texture,\\\"webgl_depth_texture extension not supported\\\")),\\\"depth\\\"in z&&(\\\"boolean\\\"==typeof z.depth?p=z.depth:(S=z.depth,v=!1)),\\\"stencil\\\"in z&&(\\\"boolean\\\"==typeof z.stencil?v=z.stencil:(E=z.stencil,p=!1)),\\\"depthStencil\\\"in z&&(\\\"boolean\\\"==typeof z.depthStencil?p=v=z.depthStencil:(L=z.depthStencil,p=!1,v=!1))}else u=d=1;var D=null,P=null,O=null,R=null;if(Array.isArray(y))D=y.map(c);else if(y)D=[c(y)];else for(D=new Array(T),a=0;a<T;++a)D[a]=h(u,d,b,x,A);de(e.webgl_draw_buffers||D.length<=1,\\\"you must enable the WEBGL_draw_buffers extension in order to use multiple color buffers.\\\"),de(D.length<=r.maxColorAttachments,\\\"too many color attachments, not supported\\\"),u=u||D[0].width,d=d||D[0].height,S?P=c(S):p&&!v&&(P=h(u,d,C,\\\"depth\\\",\\\"uint32\\\")),E?O=c(E):v&&!p&&(O=h(u,d,!1,\\\"stencil\\\",\\\"uint8\\\")),L?R=c(L):!S&&!E&&v&&p&&(R=h(u,d,C,\\\"depth stencil\\\",\\\"depth stencil\\\")),de(!!S+!!E+!!L<=1,\\\"invalid framebuffer configuration, can specify exactly one depth/stencil attachment\\\");var F=null;for(a=0;a<D.length;++a)if(l(D[a],u,d),de(!D[a]||D[a].texture&&Pn.indexOf(D[a].texture._texture.format)>=0||D[a].renderbuffer&&Bn.indexOf(D[a].renderbuffer._renderbuffer.format)>=0,\\\"framebuffer color attachment \\\"+a+\\\" is invalid\\\"),D[a]&&D[a].texture){var j=On[D[a].texture._texture.format]*Rn[D[a].texture._texture.type];null===F?F=j:de(F===j,\\\"all color attachments much have the same number of bits per pixel.\\\")}return l(P,u,d),de(!P||P.texture&&P.texture._texture.format===Dn||P.renderbuffer&&P.renderbuffer._renderbuffer.format===Fn,\\\"invalid depth attachment for framebuffer object\\\"),l(O,u,d),de(!O||O.renderbuffer&&O.renderbuffer._renderbuffer.format===jn,\\\"invalid stencil attachment for framebuffer object\\\"),l(R,u,d),de(!R||R.texture&&R.texture._texture.format===Nn||R.renderbuffer&&R.renderbuffer._renderbuffer.format===Nn,\\\"invalid depth-stencil attachment for framebuffer object\\\"),m(s),s.width=u,s.height=d,s.colorAttachments=D,s.depthAttachment=P,s.stencilAttachment=O,s.depthStencilAttachment=R,i.color=D.map(f),i.depth=f(P),i.stencil=f(O),i.depthStencil=f(R),i.width=s.width,i.height=s.height,g(s),i}function o(t,e){de(_.next!==s,\\\"can not resize a framebuffer which is currently in use\\\");var r=0|t,n=0|e||r;if(r===s.width&&n===s.height)return i;for(var a=s.colorAttachments,o=0;o<a.length;++o)d(a[o],r,n);return d(s.depthAttachment,r,n),d(s.stencilAttachment,r,n),d(s.depthStencilAttachment,r,n),s.width=i.width=r,s.height=i.height=n,g(s),i}var s=new p;return a.framebufferCount++,i(t,n),$t(i,{resize:o,_reglType:\\\"framebuffer\\\",_framebuffer:s,destroy:function(){v(s),m(s)},use:function(t){_.setFBO({framebuffer:i},t)}})}function b(t){function i(t){var r;de(o.indexOf(_.next)<0,\\\"can not update framebuffer which is currently in use\\\");var a=e.webgl_draw_buffers,s={color:null},l=0,u=null,c=\\\"rgba\\\",h=\\\"uint8\\\",f=1;if(\\\"number\\\"==typeof t)l=0|t;else if(t){de.type(t,\\\"object\\\",\\\"invalid arguments for framebuffer\\\");var d=t;if(\\\"shape\\\"in d){var p=d.shape;de(Array.isArray(p)&&p.length>=2,\\\"invalid shape for framebuffer\\\"),de(p[0]===p[1],\\\"cube framebuffer must be square\\\"),l=p[0]}else\\\"radius\\\"in d&&(l=0|d.radius),\\\"width\\\"in d?(l=0|d.width,\\\"height\\\"in d&&de(d.height===l,\\\"must be square\\\")):\\\"height\\\"in d&&(l=0|d.height);(\\\"color\\\"in d||\\\"colors\\\"in d)&&(u=d.color||d.colors,Array.isArray(u)&&de(1===u.length||a,\\\"multiple render targets not supported\\\")),u||(\\\"colorCount\\\"in d&&(f=0|d.colorCount,de(f>0,\\\"invalid color buffer count\\\")),\\\"colorType\\\"in d&&(de.oneOf(d.colorType,k,\\\"invalid color type\\\"),h=d.colorType),\\\"colorFormat\\\"in d&&(c=d.colorFormat,de.oneOf(d.colorFormat,w,\\\"invalid color format for texture\\\"))),\\\"depth\\\"in d&&(s.depth=d.depth),\\\"stencil\\\"in d&&(s.stencil=d.stencil),\\\"depthStencil\\\"in d&&(s.depthStencil=d.depthStencil)}else l=1;var m;if(u)if(Array.isArray(u))for(m=[],r=0;r<u.length;++r)m[r]=u[r];else m=[u];else{m=Array(f);var v={radius:l,format:c,type:h};for(r=0;r<f;++r)m[r]=n.createCube(v)}for(s.color=Array(m.length),r=0;r<m.length;++r){var g=m[r];de(\\\"function\\\"==typeof g&&\\\"textureCube\\\"===g._reglType,\\\"invalid cube map\\\"),l=l||g.width,de(g.width===l&&g.height===l,\\\"invalid cube map shape\\\"),s.color[r]={target:Sn,data:m[r]}}for(r=0;r<6;++r){for(var b=0;b<m.length;++b)s.color[b].target=Sn+r;r>0&&(s.depth=o[0].depth,s.stencil=o[0].stencil,s.depthStencil=o[0].depthStencil),o[r]?o[r](s):o[r]=y(s)}return $t(i,{width:l,height:l,color:m})}function a(t){var e,n=0|t;if(de(n>0&&n<=r.maxCubeMapSize,\\\"invalid radius for cube fbo\\\"),n===i.width)return i;var a=i.color;for(e=0;e<a.length;++e)a[e].resize(n);for(e=0;e<6;++e)o[e].resize(n);return i.width=i.height=n,i}var o=Array(6);return i(t),$t(i,{faces:o,resize:a,_reglType:\\\"framebufferCube\\\",destroy:function(){o.forEach(function(t){t.destroy()})}})}function x(){xe(T).forEach(function(e){e.framebuffer=t.createFramebuffer(),g(e)})}var _={cur:null,next:null,dirty:!1,setFBO:null},w=[\\\"rgba\\\"],M=[\\\"rgba4\\\",\\\"rgb565\\\",\\\"rgb5 a1\\\"];e.ext_srgb&&M.push(\\\"srgba\\\"),e.ext_color_buffer_half_float&&M.push(\\\"rgba16f\\\",\\\"rgb16f\\\"),e.webgl_color_buffer_float&&M.push(\\\"rgba32f\\\");var k=[\\\"uint8\\\"];e.oes_texture_half_float&&k.push(\\\"half float\\\",\\\"float16\\\"),e.oes_texture_float&&k.push(\\\"float\\\",\\\"float32\\\");var A=0,T={};return $t(_,{getFramebuffer:function(t){if(\\\"function\\\"==typeof t&&\\\"framebuffer\\\"===t._reglType){var e=t._framebuffer;if(e instanceof p)return e}return null},create:y,createCube:b,clear:function(){xe(T).forEach(v)},restore:x})}function Pt(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=Vn,this.offset=0,this.stride=0,this.divisor=0}function Ot(t,e,r,n,i){for(var a=r.maxAttributes,o=new Array(a),s=0;s<a;++s)o[s]=new Pt;return{Record:Pt,scope:{},state:o}}function Rt(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(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,i){var a=r===Hn?c:h,o=a[n];if(!o){var s=e.str(n);o=t.createShader(r),t.shaderSource(o,s),t.compileShader(o),de.shaderError(t,o,s,r,i),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){var l,u,c=o(Hn,r.fragId),h=o(qn,r.vertId),f=r.program=t.createProgram();t.attachShader(f,c),t.attachShader(f,h),t.linkProgram(f),de.linkError(t,f,e.str(r.fragId),e.str(r.vertId),s);var d=t.getProgramParameter(f,Gn);n.profile&&(r.stats.uniformsCount=d);var p=r.uniforms;for(l=0;l<d;++l)if(u=t.getActiveUniform(f,l))if(u.size>1)for(var m=0;m<u.size;++m){var v=u.name.replace(\\\"[0]\\\",\\\"[\\\"+m+\\\"]\\\");a(p,new i(v,e.id(v),t.getUniformLocation(f,v),u))}else a(p,new i(u.name,e.id(u.name),t.getUniformLocation(f,u.name),u));var g=t.getProgramParameter(f,Yn);n.profile&&(r.stats.attributesCount=g);var y=r.attributes;for(l=0;l<g;++l)(u=t.getActiveAttrib(f,l))&&a(y,new i(u.name,e.id(u.name),t.getAttribLocation(f,u.name),u))}function u(){c={},h={};for(var t=0;t<d.length;++t)l(d[t])}var c={},h={},f={},d=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return d.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return d.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);xe(c).forEach(e),c={},xe(h).forEach(e),h={},d.forEach(function(e){t.deleteProgram(e.program)}),d.length=0,f={},r.shaderCount=0},program:function(t,e,n){de.command(t>=0,\\\"missing vertex shader\\\",n),de.command(e>=0,\\\"missing fragment shader\\\",n);var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a,n),i[t]=a,d.push(a)),a},restore:u,shader:o,frag:-1,vert:-1}}function Ft(t,e,r,n,i,a){function o(o){var s;null===e.next?(de(i.preserveDrawingBuffer,'you must create a webgl context with \\\"preserveDrawingBuffer\\\":true in order to read pixels from the drawing buffer'),s=Wn):(de(null!==e.next.colorAttachments[0].texture,\\\"You cannot read from a renderbuffer\\\"),s=e.next.colorAttachments[0].texture._texture.type,a.oes_texture_float?de(s===Wn||s===Jn,\\\"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'\\\"):de(s===Wn,\\\"Reading from a framebuffer is only allowed for the type 'uint8'\\\"));var l=0,u=0,c=n.framebufferWidth,h=n.framebufferHeight,f=null;Qt(o)?f=o:o&&(de.type(o,\\\"object\\\",\\\"invalid arguments to regl.read()\\\"),l=0|o.x,u=0|o.y,de(l>=0&&l<n.framebufferWidth,\\\"invalid x offset for regl.read\\\"),de(u>=0&&u<n.framebufferHeight,\\\"invalid y offset for regl.read\\\"),c=0|(o.width||n.framebufferWidth-l),h=0|(o.height||n.framebufferHeight-u),f=o.data||null),f&&(s===Wn?de(f instanceof Uint8Array,\\\"buffer must be 'Uint8Array' when reading from a framebuffer of type 'uint8'\\\"):s===Jn&&de(f instanceof Float32Array,\\\"buffer must be 'Float32Array' when reading from a framebuffer of type 'float'\\\")),de(c>0&&c+l<=n.framebufferWidth,\\\"invalid width for read pixels\\\"),de(h>0&&h+u<=n.framebufferHeight,\\\"invalid height for read pixels\\\"),r();var d=c*h*4;return f||(s===Wn?f=new Uint8Array(d):s===Jn&&(f=f||new Float32Array(d))),de.isTypedArray(f,\\\"data buffer for regl.read() must be a typedarray\\\"),de(f.byteLength>=d,\\\"data buffer for regl.read() too small\\\"),t.pixelStorei(Zn,4),t.readPixels(l,u,c,h,Xn,s,f),f}function s(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}function l(t){return t&&\\\"framebuffer\\\"in t?s(t):o(t)}return l}function jt(t){return Array.prototype.slice.call(t)}function Nt(t){return jt(t).join(\\\"\\\")}function Bt(){function t(t){for(var e=0;e<l.length;++e)if(l[e]===t)return s[e];var r=\\\"g\\\"+o++;return s.push(r),l.push(t),r}function e(){function t(){r.push.apply(r,jt(arguments))}function e(){var t=\\\"v\\\"+o++;return n.push(t),arguments.length>0&&(r.push(t,\\\"=\\\"),r.push.apply(r,jt(arguments)),r.push(\\\";\\\")),t}var r=[],n=[];return $t(t,{def:e,toString:function(){return Nt([n.length>0?\\\"var \\\"+n+\\\";\\\":\\\"\\\",Nt(r)])}})}function r(){function t(t,e){\\n\",\n       \"n(t,e,\\\"=\\\",r.def(t,e),\\\";\\\")}var r=e(),n=e(),i=r.toString,a=n.toString;return $t(function(){r.apply(r,jt(arguments))},{def:r.def,entry:r,exit:n,save:t,set:function(e,n,i){t(e,n),r(e,n,\\\"=\\\",i,\\\";\\\")},toString:function(){return i()+a()}})}function n(){var t=Nt(arguments),e=r(),n=r(),i=e.toString,a=n.toString;return $t(e,{then:function(){return e.apply(e,jt(arguments)),this},else:function(){return n.apply(n,jt(arguments)),this},toString:function(){var e=a();return e&&(e=\\\"else{\\\"+e+\\\"}\\\"),Nt([\\\"if(\\\",t,\\\"){\\\",i(),\\\"}\\\",e])}})}function i(t,e){function n(){var t=\\\"a\\\"+i.length;return i.push(t),t}var i=[];e=e||0;for(var a=0;a<e;++a)n();var o=r(),s=o.toString;return c[t]=$t(o,{arg:n,toString:function(){return Nt([\\\"function(\\\",i.join(),\\\"){\\\",s(),\\\"}\\\"])}})}function a(){var t=['\\\"use strict\\\";',u,\\\"return {\\\"];Object.keys(c).forEach(function(e){t.push('\\\"',e,'\\\":',c[e].toString(),\\\",\\\")}),t.push(\\\"}\\\");var e=Nt(t).replace(/;/g,\\\";\\\\n\\\").replace(/}/g,\\\"}\\\\n\\\").replace(/{/g,\\\"{\\\\n\\\");return Function.apply(null,s.concat(e)).apply(null,l)}var o=0,s=[],l=[],u=e(),c={};return{global:u,link:t,block:e,proc:i,scope:r,cond:n,compile:a}}function Ut(t){return Array.isArray(t)||Qt(t)||Z(t)}function Vt(t){return t.sort(function(t,e){return t===Ii?-1:e===Ii?1:t<e?-1:1})}function Ht(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function qt(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function Gt(t){return new Ht(!1,!1,!1,t)}function Yt(t,e){var r=t.type;if(r===ei){var n=t.data.length;return new Ht(!0,n>=1,n>=2,e)}if(r===ai){var i=t.data;return new Ht(i.thisDep,i.contextDep,i.propDep,e)}return new Ht(r===ii,r===ni,r===ri,e)}function Xt(t,e,r,n,i,a,o,s,l,u,c,h,f,d,p){function m(t){return t.replace(\\\".\\\",\\\"_\\\")}function v(t,e,r){var n=m(t);et.push(t),tt[n]=$[n]=!!r,rt[n]=e}function g(t,e,r){var n=m(t);et.push(t),Array.isArray(r)?($[n]=r.slice(),tt[n]=r.slice()):$[n]=tt[n]=r,nt[n]=e}function y(){var t=Bt(),r=t.link,n=t.global;t.id=ot++,t.batchId=\\\"0\\\";var i=r(it),a=t.shared={props:\\\"a0\\\"};Object.keys(it).forEach(function(t){a[t]=n.def(i,\\\".\\\",t)}),de.optional(function(){t.CHECK=r(de),t.commandStr=de.guessCommand(),t.command=r(t.commandStr),t.assert=function(t,e,n){t(\\\"if(!(\\\",e,\\\"))\\\",this.CHECK,\\\".commandRaise(\\\",r(n),\\\",\\\",this.command,\\\");\\\")},at.invalidBlendCombinations=Ua});var o=t.next={},s=t.current={};Object.keys(nt).forEach(function(t){Array.isArray($[t])&&(o[t]=n.def(a.next,\\\".\\\",t),s[t]=n.def(a.current,\\\".\\\",t))});var l=t.constants={};Object.keys(at).forEach(function(t){l[t]=n.def(JSON.stringify(at[t]))}),t.invoke=function(e,n){switch(n.type){case ei:var i=[\\\"this\\\",a.context,a.props,t.batchId];return e.def(r(n.data),\\\".call(\\\",i.slice(0,Math.max(n.data.length+1,4)),\\\")\\\");case ri:return e.def(a.props,n.data);case ni:return e.def(a.context,n.data);case ii:return e.def(\\\"this\\\",n.data);case ai:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){var n=e.id(t);if(n in c)return c[n];var i=u.scope[n];return i||(i=u.scope[n]=new W),c[n]=r(i)},t}function b(t){var e,r=t.static,n=t.dynamic;if(Di in r){var i=!!r[Di];e=Gt(function(t,e){return i}),e.enable=i}else if(Di in n){var a=n[Di];e=Yt(a,function(t,e){return t.invoke(e,a)})}return e}function x(t,e){var r=t.static,n=t.dynamic;if(Pi in r){var i=r[Pi];return i?(i=s.getFramebuffer(i),de.command(i,\\\"invalid framebuffer object\\\"),Gt(function(t,e){var r=t.link(i),n=t.shared;e.set(n.framebuffer,\\\".next\\\",r);var a=n.context;return e.set(a,\\\".\\\"+Vi,r+\\\".width\\\"),e.set(a,\\\".\\\"+Hi,r+\\\".height\\\"),r})):Gt(function(t,e){var r=t.shared;e.set(r.framebuffer,\\\".next\\\",\\\"null\\\");var n=r.context;return e.set(n,\\\".\\\"+Vi,n+\\\".\\\"+Yi),e.set(n,\\\".\\\"+Hi,n+\\\".\\\"+Xi),\\\"null\\\"})}if(Pi in n){var a=n[Pi];return Yt(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer,o=e.def(i,\\\".getFramebuffer(\\\",r,\\\")\\\");de.optional(function(){t.assert(e,\\\"!\\\"+r+\\\"||\\\"+o,\\\"invalid framebuffer object\\\")}),e.set(i,\\\".next\\\",o);var s=n.context;return e.set(s,\\\".\\\"+Vi,o+\\\"?\\\"+o+\\\".width:\\\"+s+\\\".\\\"+Yi),e.set(s,\\\".\\\"+Hi,o+\\\"?\\\"+o+\\\".height:\\\"+s+\\\".\\\"+Xi),o})}return null}function _(t,e,r){function n(t){if(t in i){var n=i[t];de.commandType(n,\\\"object\\\",\\\"invalid \\\"+t,r.commandStr);var o,s,l=!0,u=0|n.x,c=0|n.y;return\\\"width\\\"in n?(o=0|n.width,de.command(o>=0,\\\"invalid \\\"+t,r.commandStr)):l=!1,\\\"height\\\"in n?(s=0|n.height,de.command(s>=0,\\\"invalid \\\"+t,r.commandStr)):l=!1,new Ht(!l&&e&&e.thisDep,!l&&e&&e.contextDep,!l&&e&&e.propDep,function(t,e){var r=t.shared.context,i=o;\\\"width\\\"in n||(i=e.def(r,\\\".\\\",Vi,\\\"-\\\",u));var a=s;return\\\"height\\\"in n||(a=e.def(r,\\\".\\\",Hi,\\\"-\\\",c)),[u,c,i,a]})}if(t in a){var h=a[t],f=Yt(h,function(e,r){var n=e.invoke(r,h);de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t)});var i=e.shared.context,a=r.def(n,\\\".x|0\\\"),o=r.def(n,\\\".y|0\\\"),s=r.def('\\\"width\\\" in ',n,\\\"?\\\",n,\\\".width|0:\\\",\\\"(\\\",i,\\\".\\\",Vi,\\\"-\\\",a,\\\")\\\"),l=r.def('\\\"height\\\" in ',n,\\\"?\\\",n,\\\".height|0:\\\",\\\"(\\\",i,\\\".\\\",Hi,\\\"-\\\",o,\\\")\\\");return de.optional(function(){e.assert(r,s+\\\">=0&&\\\"+l+\\\">=0\\\",\\\"invalid \\\"+t)}),[a,o,s,l]});return e&&(f.thisDep=f.thisDep||e.thisDep,f.contextDep=f.contextDep||e.contextDep,f.propDep=f.propDep||e.propDep),f}return e?new Ht(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,\\\".\\\",Vi),e.def(r,\\\".\\\",Hi)]}):null}var i=t.static,a=t.dynamic,o=n(Ii);if(o){var s=o;o=new Ht(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=s.append(t,e),n=t.shared.context;return e.set(n,\\\".\\\"+qi,r[2]),e.set(n,\\\".\\\"+Gi,r[3]),r})}return{viewport:o,scissor_box:n(zi)}}function w(t){function r(t){if(t in i){var r=e.id(i[t]);de.optional(function(){c.shader(qa[t],r,de.guessCommand())});var n=Gt(function(){return r});return n.id=r,n}if(t in a){var o=a[t];return Yt(o,function(e,r){var n=e.invoke(r,o),i=r.def(e.shared.strings,\\\".id(\\\",n,\\\")\\\");return de.optional(function(){r(e.shared.shader,\\\".shader(\\\",qa[t],\\\",\\\",i,\\\",\\\",e.command,\\\");\\\")}),i})}return null}var n,i=t.static,a=t.dynamic,o=r(Ri),s=r(Oi),l=null;return qt(o)&&qt(s)?(l=c.program(s.id,o.id),n=Gt(function(t,e){return t.link(l)})):n=new Ht(o&&o.thisDep||s&&s.thisDep,o&&o.contextDep||s&&s.contextDep,o&&o.propDep||s&&s.propDep,function(t,e){var r,n=t.shared.shader;r=o?o.append(t,e):e.def(n,\\\".\\\",Ri);var i;i=s?s.append(t,e):e.def(n,\\\".\\\",Oi);var a=n+\\\".program(\\\"+i+\\\",\\\"+r;return de.optional(function(){a+=\\\",\\\"+t.command}),e.def(a+\\\")\\\")}),{frag:o,vert:s,progVar:n,program:l}}function M(t,e){function r(t,r){if(t in n){var a=0|n[t];return de.command(!r||a>=0,\\\"invalid \\\"+t,e.commandStr),Gt(function(t,e){return r&&(t.OFFSET=a),a})}if(t in i){var s=i[t];return Yt(s,function(e,n){var i=e.invoke(n,s);return r&&(e.OFFSET=i,de.optional(function(){e.assert(n,i+\\\">=0\\\",\\\"invalid \\\"+t)})),i})}return r&&o?Gt(function(t,e){return t.OFFSET=\\\"0\\\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(Fi in n){var t=n[Fi];Ut(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t),de.command(t,\\\"invalid elements\\\",e.commandStr));var r=Gt(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n,n}return e.ELEMENTS=null,null});return r.value=t,r}if(Fi in i){var o=i[Fi];return Yt(o,function(t,e){var r=t.shared,n=r.isBufferArgs,i=r.elements,a=t.invoke(e,o),s=e.def(\\\"null\\\"),l=e.def(n,\\\"(\\\",a,\\\")\\\"),u=t.cond(l).then(s,\\\"=\\\",i,\\\".createStream(\\\",a,\\\");\\\").else(s,\\\"=\\\",i,\\\".getElements(\\\",a,\\\");\\\");return de.optional(function(){t.assert(u.else,\\\"!\\\"+a+\\\"||\\\"+s,\\\"invalid elements\\\")}),e.entry(u),e.exit(t.cond(l).then(i,\\\".destroyStream(\\\",s,\\\");\\\")),t.ELEMENTS=s,s})}return null}(),s=r(Bi,!0);return{elements:o,primitive:function(){if(ji in n){var t=n[ji];return de.commandParameter(t,Be,\\\"invalid primitve\\\",e.commandStr),Gt(function(e,r){return Be[t]})}if(ji in i){var r=i[ji];return Yt(r,function(t,e){var n=t.constants.primTypes,i=t.invoke(e,r);return de.optional(function(){t.assert(e,i+\\\" in \\\"+n,\\\"invalid primitive, must be one of \\\"+Object.keys(Be))}),e.def(n,\\\"[\\\",i,\\\"]\\\")})}return o?qt(o)?Gt(o.value?function(t,e){return e.def(t.ELEMENTS,\\\".primType\\\")}:function(){return Aa}):new Ht(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,\\\"?\\\",r,\\\".primType:\\\",Aa)}):null}(),count:function(){if(Ni in n){var t=0|n[Ni];return de.command(\\\"number\\\"==typeof t&&t>=0,\\\"invalid vertex count\\\",e.commandStr),Gt(function(){return t})}if(Ni in i){var r=i[Ni];return Yt(r,function(t,e){var n=t.invoke(e,r);return de.optional(function(){t.assert(e,\\\"typeof \\\"+n+'===\\\"number\\\"&&'+n+\\\">=0&&\\\"+n+\\\"===(\\\"+n+\\\"|0)\\\",\\\"invalid vertex count\\\")}),n})}if(o){if(qt(o)){if(o)return s?new Ht(s.thisDep,s.contextDep,s.propDep,function(t,e){var r=e.def(t.ELEMENTS,\\\".vertCount-\\\",t.OFFSET);return de.optional(function(){t.assert(e,r+\\\">=0\\\",\\\"invalid vertex offset/element buffer too small\\\")}),r}):Gt(function(t,e){return e.def(t.ELEMENTS,\\\".vertCount\\\")});var a=Gt(function(){return-1});return de.optional(function(){a.MISSING=!0}),a}var l=new Ht(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.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\\\")});return de.optional(function(){l.DYNAMIC=!0}),l}return null}(),instances:r(Ui,!1),offset:s}}function k(t,e){var r=t.static,i=t.dynamic,a={};return et.forEach(function(t){function o(e,n){if(t in r){var o=e(r[t]);a[s]=Gt(function(){return o})}else if(t in i){var l=i[t];a[s]=Yt(l,function(t,e){return n(t,e,t.invoke(e,l))})}}var s=m(t);switch(t){case vi:case si:case oi:case Ai:case hi:case Ci:case xi:case wi:case Mi:case pi:return o(function(r){return de.commandType(r,\\\"boolean\\\",t,e.commandStr),r},function(e,r,n){return de.optional(function(){e.assert(r,\\\"typeof \\\"+n+'===\\\"boolean\\\"',\\\"invalid flag \\\"+t,e.commandStr)}),n});case fi:return o(function(r){return de.commandParameter(r,Va,\\\"invalid \\\"+t,e.commandStr),Va[r]},function(e,r,n){var i=e.constants.compareFuncs;return de.optional(function(){e.assert(r,n+\\\" in \\\"+i,\\\"invalid \\\"+t+\\\", must be one of \\\"+Object.keys(Va))}),r.def(i,\\\"[\\\",n,\\\"]\\\")});case di:return o(function(t){return de.command(mt(t)&&2===t.length&&\\\"number\\\"==typeof t[0]&&\\\"number\\\"==typeof t[1]&&t[0]<=t[1],\\\"depth range is 2d array\\\",e.commandStr),t},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\\\"(\\\"+r+\\\")&&\\\"+r+\\\".length===2&&typeof \\\"+r+'[0]===\\\"number\\\"&&typeof '+r+'[1]===\\\"number\\\"&&'+r+\\\"[0]<=\\\"+r+\\\"[1]\\\",\\\"depth range must be a 2d array\\\")}),[e.def(\\\"+\\\",r,\\\"[0]\\\"),e.def(\\\"+\\\",r,\\\"[1]\\\")]});case ci:return o(function(t){de.commandType(t,\\\"object\\\",\\\"blend.func\\\",e.commandStr);var r=\\\"srcRGB\\\"in t?t.srcRGB:t.src,n=\\\"srcAlpha\\\"in t?t.srcAlpha:t.src,i=\\\"dstRGB\\\"in t?t.dstRGB:t.dst,a=\\\"dstAlpha\\\"in t?t.dstAlpha:t.dst;return de.commandParameter(r,Ba,s+\\\".srcRGB\\\",e.commandStr),de.commandParameter(n,Ba,s+\\\".srcAlpha\\\",e.commandStr),de.commandParameter(i,Ba,s+\\\".dstRGB\\\",e.commandStr),de.commandParameter(a,Ba,s+\\\".dstAlpha\\\",e.commandStr),de.command(-1===Ua.indexOf(r+\\\", \\\"+i),\\\"unallowed blending combination (srcRGB, dstRGB) = (\\\"+r+\\\", \\\"+i+\\\")\\\",e.commandStr),[Ba[r],Ba[i],Ba[n],Ba[a]]},function(e,r,n){function i(i,o){var s=r.def('\\\"',i,o,'\\\" in ',n,\\\"?\\\",n,\\\".\\\",i,o,\\\":\\\",n,\\\".\\\",i);return de.optional(function(){e.assert(r,s+\\\" in \\\"+a,\\\"invalid \\\"+t+\\\".\\\"+i+o+\\\", must be one of \\\"+Object.keys(Ba))}),s}var a=e.constants.blendFuncs;de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid blend func, must be an object\\\")});var o=i(\\\"src\\\",\\\"RGB\\\"),s=i(\\\"dst\\\",\\\"RGB\\\");de.optional(function(){var t=e.constants.invalidBlendCombinations;e.assert(r,t+\\\".indexOf(\\\"+o+'+\\\", \\\"+'+s+\\\") === -1 \\\",\\\"unallowed blending combination for (srcRGB, dstRGB)\\\")});var l=r.def(a,\\\"[\\\",o,\\\"]\\\"),u=r.def(a,\\\"[\\\",i(\\\"src\\\",\\\"Alpha\\\"),\\\"]\\\");return[l,r.def(a,\\\"[\\\",s,\\\"]\\\"),u,r.def(a,\\\"[\\\",i(\\\"dst\\\",\\\"Alpha\\\"),\\\"]\\\")]});case ui:return o(function(r){return\\\"string\\\"==typeof r?(de.commandParameter(r,Z,\\\"invalid \\\"+t,e.commandStr),[Z[r],Z[r]]):\\\"object\\\"==typeof r?(de.commandParameter(r.rgb,Z,t+\\\".rgb\\\",e.commandStr),de.commandParameter(r.alpha,Z,t+\\\".alpha\\\",e.commandStr),[Z[r.rgb],Z[r.alpha]]):void de.commandRaise(\\\"invalid blend.equation\\\",e.commandStr)},function(e,r,n){var i=e.constants.blendEquations,a=r.def(),o=r.def(),s=e.cond(\\\"typeof \\\",n,'===\\\"string\\\"');return de.optional(function(){function r(t,r,n){e.assert(t,n+\\\" in \\\"+i,\\\"invalid \\\"+r+\\\", must be one of \\\"+Object.keys(Z))}r(s.then,t,n),e.assert(s.else,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t),r(s.else,t+\\\".rgb\\\",n+\\\".rgb\\\"),r(s.else,t+\\\".alpha\\\",n+\\\".alpha\\\")}),s.then(a,\\\"=\\\",o,\\\"=\\\",i,\\\"[\\\",n,\\\"];\\\"),s.else(a,\\\"=\\\",i,\\\"[\\\",n,\\\".rgb];\\\",o,\\\"=\\\",i,\\\"[\\\",n,\\\".alpha];\\\"),r(s),[a,o]});case li:return o(function(t){return de.command(mt(t)&&4===t.length,\\\"blend.color must be a 4d array\\\",e.commandStr),J(4,function(e){return+t[e]})},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\\\"(\\\"+r+\\\")&&\\\"+r+\\\".length===4\\\",\\\"blend.color must be a 4d array\\\")}),J(4,function(t){return e.def(\\\"+\\\",r,\\\"[\\\",t,\\\"]\\\")})});case Ti:return o(function(t){return de.commandType(t,\\\"number\\\",s,e.commandStr),0|t},function(t,e,r){return de.optional(function(){t.assert(e,\\\"typeof \\\"+r+'===\\\"number\\\"',\\\"invalid stencil.mask\\\")}),e.def(r,\\\"|0\\\")});case Si:return o(function(r){de.commandType(r,\\\"object\\\",s,e.commandStr);var n=r.cmp||\\\"keep\\\",i=r.ref||0,a=\\\"mask\\\"in r?r.mask:-1;return de.commandParameter(n,Va,t+\\\".cmp\\\",e.commandStr),de.commandType(i,\\\"number\\\",t+\\\".ref\\\",e.commandStr),de.commandType(a,\\\"number\\\",t+\\\".mask\\\",e.commandStr),[Va[n],i,a]},function(t,e,r){var n=t.constants.compareFuncs;return de.optional(function(){function i(){t.assert(e,Array.prototype.join.call(arguments,\\\"\\\"),\\\"invalid stencil.func\\\")}i(r+\\\"&&typeof \\\",r,'===\\\"object\\\"'),i('!(\\\"cmp\\\" in ',r,\\\")||(\\\",r,\\\".cmp in \\\",n,\\\")\\\")}),[e.def('\\\"cmp\\\" in ',r,\\\"?\\\",n,\\\"[\\\",r,\\\".cmp]\\\",\\\":\\\",Da),e.def(r,\\\".ref|0\\\"),e.def('\\\"mask\\\" in ',r,\\\"?\\\",r,\\\".mask|0:-1\\\")]});case Ei:case Li:return o(function(r){de.commandType(r,\\\"object\\\",s,e.commandStr);var n=r.fail||\\\"keep\\\",i=r.zfail||\\\"keep\\\",a=r.zpass||\\\"keep\\\";return de.commandParameter(n,Ha,t+\\\".fail\\\",e.commandStr),de.commandParameter(i,Ha,t+\\\".zfail\\\",e.commandStr),de.commandParameter(a,Ha,t+\\\".zpass\\\",e.commandStr),[t===Li?Sa:Ta,Ha[n],Ha[i],Ha[a]]},function(e,r,n){function i(i){return de.optional(function(){e.assert(r,'!(\\\"'+i+'\\\" in '+n+\\\")||(\\\"+n+\\\".\\\"+i+\\\" in \\\"+a+\\\")\\\",\\\"invalid \\\"+t+\\\".\\\"+i+\\\", must be one of \\\"+Object.keys(Ha))}),r.def('\\\"',i,'\\\" in ',n,\\\"?\\\",a,\\\"[\\\",n,\\\".\\\",i,\\\"]:\\\",Da)}var a=e.constants.stencilOps;return de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t)}),[t===Li?Sa:Ta,i(\\\"fail\\\"),i(\\\"zfail\\\"),i(\\\"zpass\\\")]});case _i:return o(function(t){de.commandType(t,\\\"object\\\",s,e.commandStr);var r=0|t.factor,n=0|t.units;return de.commandType(r,\\\"number\\\",s+\\\".factor\\\",e.commandStr),de.commandType(n,\\\"number\\\",s+\\\".units\\\",e.commandStr),[r,n]},function(e,r,n){return de.optional(function(){e.assert(r,n+\\\"&&typeof \\\"+n+'===\\\"object\\\"',\\\"invalid \\\"+t)}),[r.def(n,\\\".factor|0\\\"),r.def(n,\\\".units|0\\\")]});case gi:return o(function(t){var r=0;return\\\"front\\\"===t?r=Ta:\\\"back\\\"===t&&(r=Sa),de.command(!!r,s,e.commandStr),r},function(t,e,r){return de.optional(function(){t.assert(e,r+'===\\\"front\\\"||'+r+'===\\\"back\\\"',\\\"invalid cull.face\\\")}),e.def(r,'===\\\"front\\\"?',Ta,\\\":\\\",Sa)});case bi:return o(function(t){return de.command(\\\"number\\\"==typeof t&&t>=n.lineWidthDims[0]&&t<=n.lineWidthDims[1],\\\"invalid line width, must positive number between \\\"+n.lineWidthDims[0]+\\\" and \\\"+n.lineWidthDims[1],e.commandStr),t},function(t,e,r){return de.optional(function(){t.assert(e,\\\"typeof \\\"+r+'===\\\"number\\\"&&'+r+\\\">=\\\"+n.lineWidthDims[0]+\\\"&&\\\"+r+\\\"<=\\\"+n.lineWidthDims[1],\\\"invalid line width\\\")}),r});case yi:return o(function(t){return de.commandParameter(t,Ga,s,e.commandStr),Ga[t]},function(t,e,r){return de.optional(function(){t.assert(e,r+'===\\\"cw\\\"||'+r+'===\\\"ccw\\\"',\\\"invalid frontFace, must be one of cw,ccw\\\")}),e.def(r+'===\\\"cw\\\"?'+Ea+\\\":\\\"+La)});case mi:return o(function(t){return de.command(mt(t)&&4===t.length,\\\"color.mask must be length 4 array\\\",e.commandStr),t.map(function(t){return!!t})},function(t,e,r){return de.optional(function(){t.assert(e,t.shared.isArrayLike+\\\"(\\\"+r+\\\")&&\\\"+r+\\\".length===4\\\",\\\"invalid color.mask\\\")}),J(4,function(t){return\\\"!!\\\"+r+\\\"[\\\"+t+\\\"]\\\"})});case ki:return o(function(t){de.command(\\\"object\\\"==typeof t&&t,s,e.commandStr);var r=\\\"value\\\"in t?t.value:1,n=!!t.invert;return de.command(\\\"number\\\"==typeof r&&r>=0&&r<=1,\\\"sample.coverage.value must be a number between 0 and 1\\\",e.commandStr),[r,n]},function(t,e,r){return de.optional(function(){t.assert(e,r+\\\"&&typeof \\\"+r+'===\\\"object\\\"',\\\"invalid sample.coverage\\\")}),[e.def('\\\"value\\\" in ',r,\\\"?+\\\",r,\\\".value:1\\\"),e.def(\\\"!!\\\",r,\\\".invert\\\")]})}}),a}function A(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var n,a=r[t];if(\\\"number\\\"==typeof a||\\\"boolean\\\"==typeof a)n=Gt(function(){return a});else if(\\\"function\\\"==typeof a){var o=a._reglType;\\\"texture2d\\\"===o||\\\"textureCube\\\"===o?n=Gt(function(t){return t.link(a)}):\\\"framebuffer\\\"===o||\\\"framebufferCube\\\"===o?(de.command(a.color.length>0,'missing color attachment for framebuffer sent to uniform \\\"'+t+'\\\"',e.commandStr),n=Gt(function(t){return t.link(a.color[0])})):de.commandRaise('invalid data for uniform \\\"'+t+'\\\"',e.commandStr)}else mt(a)?n=Gt(function(e){return e.global.def(\\\"[\\\",J(a.length,function(r){return de.command(\\\"number\\\"==typeof a[r]||\\\"boolean\\\"==typeof a[r],\\\"invalid uniform \\\"+t,e.commandStr),a[r]}),\\\"]\\\")}):de.commandRaise('invalid or missing data for uniform \\\"'+t+'\\\"',e.commandStr);n.value=a,i[t]=n}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=Yt(e,function(t,r){return t.invoke(r,e)})}),i}function T(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var a=n[t],s=e.id(t),l=new W;if(Ut(a))l.state=$n,l.buffer=i.getBuffer(i.create(a,Zi,!1,!0)),l.type=0;else{var u=i.getBuffer(a);if(u)l.state=$n,l.buffer=u,l.type=0;else if(de.command(\\\"object\\\"==typeof a&&a,\\\"invalid data for attribute \\\"+t,r.commandStr),a.constant){var c=a.constant;l.buffer=\\\"null\\\",l.state=ti,\\\"number\\\"==typeof c?l.x=c:(de.command(mt(c)&&c.length>0&&c.length<=4,\\\"invalid constant for attribute \\\"+t,r.commandStr),Kn.forEach(function(t,e){e<c.length&&(l[t]=c[e])}))}else{u=Ut(a.buffer)?i.getBuffer(i.create(a.buffer,Zi,!1,!0)):i.getBuffer(a.buffer),de.command(!!u,'missing buffer for attribute \\\"'+t+'\\\"',r.commandStr);var h=0|a.offset;de.command(h>=0,'invalid offset for attribute \\\"'+t+'\\\"',r.commandStr);var f=0|a.stride;de.command(f>=0&&f<256,'invalid stride for attribute \\\"'+t+'\\\", must be integer betweeen [0, 255]',r.commandStr);var d=0|a.size;de.command(!(\\\"size\\\"in a)||d>0&&d<=4,'invalid size for attribute \\\"'+t+'\\\", must be 1,2,3,4',r.commandStr);var p=!!a.normalized,m=0;\\\"type\\\"in a&&(de.commandParameter(a.type,ze,\\\"invalid type for attribute \\\"+t,r.commandStr),m=ze[a.type]);var v=0|a.divisor;\\\"divisor\\\"in a&&(de.command(0===v||K,'cannot specify divisor for attribute \\\"'+t+'\\\", instancing not supported',r.commandStr),de.command(v>=0,'invalid divisor for attribute \\\"'+t+'\\\"',r.commandStr)),de.optional(function(){var e=r.commandStr,n=[\\\"buffer\\\",\\\"offset\\\",\\\"divisor\\\",\\\"normalized\\\",\\\"type\\\",\\\"size\\\",\\\"stride\\\"];Object.keys(a).forEach(function(r){de.command(n.indexOf(r)>=0,'unknown parameter \\\"'+r+'\\\" for attribute pointer \\\"'+t+'\\\" (valid parameters are '+n+\\\")\\\",e)})}),l.buffer=u,l.state=$n,l.size=d,l.normalized=p,l.type=m||u.dtype,l.offset=h,l.stride=f,l.divisor=v}}o[t]=Gt(function(t,e){var r=t.attribCache;if(s in r)return r[s];var n={isStream:!1};return Object.keys(l).forEach(function(t){n[t]=l[t]}),l.buffer&&(n.buffer=t.link(l.buffer),n.type=n.type||n.buffer+\\\".dtype\\\"),r[s]=n,n})}),Object.keys(a).forEach(function(t){function e(e,n){function i(t){n(u[t],\\\"=\\\",a,\\\".\\\",t,\\\"|0;\\\")}var a=e.invoke(n,r),o=e.shared,s=o.isBufferArgs,l=o.buffer;de.optional(function(){e.assert(n,a+\\\"&&(typeof \\\"+a+'===\\\"object\\\"||typeof '+a+'===\\\"function\\\")&&('+s+\\\"(\\\"+a+\\\")||\\\"+l+\\\".getBuffer(\\\"+a+\\\")||\\\"+l+\\\".getBuffer(\\\"+a+\\\".buffer)||\\\"+s+\\\"(\\\"+a+'.buffer)||(\\\"constant\\\" in '+a+\\\"&&(typeof \\\"+a+'.constant===\\\"number\\\"||'+o.isArrayLike+\\\"(\\\"+a+\\\".constant))))\\\",'invalid dynamic attribute \\\"'+t+'\\\"')});var u={isStream:n.def(!1)},c=new W;c.state=$n,Object.keys(c).forEach(function(t){u[t]=n.def(\\\"\\\"+c[t])});var h=u.buffer,f=u.type;return n(\\\"if(\\\",s,\\\"(\\\",a,\\\")){\\\",u.isStream,\\\"=true;\\\",h,\\\"=\\\",l,\\\".createStream(\\\",Zi,\\\",\\\",a,\\\");\\\",f,\\\"=\\\",h,\\\".dtype;\\\",\\\"}else{\\\",h,\\\"=\\\",l,\\\".getBuffer(\\\",a,\\\");\\\",\\\"if(\\\",h,\\\"){\\\",f,\\\"=\\\",h,\\\".dtype;\\\",'}else if(\\\"constant\\\" in ',a,\\\"){\\\",u.state,\\\"=\\\",ti,\\\";\\\",\\\"if(typeof \\\"+a+'.constant === \\\"number\\\"){',u[Kn[0]],\\\"=\\\",a,\\\".constant;\\\",Kn.slice(1).map(function(t){return u[t]}).join(\\\"=\\\"),\\\"=0;\\\",\\\"}else{\\\",Kn.map(function(t,e){return u[t]+\\\"=\\\"+a+\\\".constant.length>=\\\"+e+\\\"?\\\"+a+\\\".constant[\\\"+e+\\\"]:0;\\\"}).join(\\\"\\\"),\\\"}}else{\\\",\\\"if(\\\",s,\\\"(\\\",a,\\\".buffer)){\\\",h,\\\"=\\\",l,\\\".createStream(\\\",Zi,\\\",\\\",a,\\\".buffer);\\\",\\\"}else{\\\",h,\\\"=\\\",l,\\\".getBuffer(\\\",a,\\\".buffer);\\\",\\\"}\\\",f,'=\\\"type\\\" in ',a,\\\"?\\\",o.glTypes,\\\"[\\\",a,\\\".type]:\\\",h,\\\".dtype;\\\",u.normalized,\\\"=!!\\\",a,\\\".normalized;\\\"),i(\\\"size\\\"),i(\\\"offset\\\"),i(\\\"stride\\\"),i(\\\"divisor\\\"),n(\\\"}}\\\"),n.exit(\\\"if(\\\",u.isStream,\\\"){\\\",l,\\\".destroyStream(\\\",h,\\\");\\\",\\\"}\\\"),u}var r=a[t];o[t]=Yt(r,e)}),o}function S(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=Gt(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]=Yt(e,function(t,r){return t.invoke(r,e)})}),n}function E(t,e,r,n,i){function a(t){var e=u[t];e&&(h[t]=e)}var o=t.static,s=t.dynamic;de.optional(function(){function t(t){Object.keys(t).forEach(function(t){de.command(e.indexOf(t)>=0,'unknown parameter \\\"'+t+'\\\"',i.commandStr)})}var e=[Pi,Oi,Ri,Fi,ji,Bi,Ni,Ui,Di].concat(et);t(o),t(s)});var l=x(t,i),u=_(t,l,i),c=M(t,i),h=k(t,i),f=w(t,i);a(Ii),a(m(zi));var d=Object.keys(h).length>0,p={framebuffer:l,draw:c,shader:f,state:h,dirty:d};return p.profile=b(t,i),p.uniforms=A(r,i),p.attributes=T(e,i),p.context=S(n,i),p}function L(t,e,r){var n=t.shared,i=n.context,a=t.scope();Object.keys(r).forEach(function(n){e.save(i,\\\".\\\"+n);var o=r[n];a(i,\\\".\\\",n,\\\"=\\\",o.append(t,e),\\\";\\\")}),e(a)}function C(t,e,r,n){var i,a=t.shared,o=a.gl,s=a.framebuffer;Q&&(i=e.def(a.extensions,\\\".webgl_draw_buffers\\\"));var l,u=t.constants,c=u.drawBuffer,h=u.backBuffer;l=r?r.append(t,e):e.def(s,\\\".next\\\"),n||e(\\\"if(\\\",l,\\\"!==\\\",s,\\\".cur){\\\"),e(\\\"if(\\\",l,\\\"){\\\",o,\\\".bindFramebuffer(\\\",ja,\\\",\\\",l,\\\".framebuffer);\\\"),Q&&e(i,\\\".drawBuffersWEBGL(\\\",c,\\\"[\\\",l,\\\".colorAttachments.length]);\\\"),e(\\\"}else{\\\",o,\\\".bindFramebuffer(\\\",ja,\\\",null);\\\"),Q&&e(i,\\\".drawBuffersWEBGL(\\\",h,\\\");\\\"),e(\\\"}\\\",s,\\\".cur=\\\",l,\\\";\\\"),n||e(\\\"}\\\")}function z(t,e,r){var n=t.shared,i=n.gl,a=t.current,o=t.next,s=n.current,l=n.next,u=t.cond(s,\\\".dirty\\\");et.forEach(function(e){var n=m(e);if(!(n in r.state)){var c,h;if(n in o){c=o[n],h=a[n];var f=J($[n].length,function(t){return u.def(c,\\\"[\\\",t,\\\"]\\\")});u(t.cond(f.map(function(t,e){return t+\\\"!==\\\"+h+\\\"[\\\"+e+\\\"]\\\"}).join(\\\"||\\\")).then(i,\\\".\\\",nt[n],\\\"(\\\",f,\\\");\\\",f.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\"))}else{c=u.def(l,\\\".\\\",n);var d=t.cond(c,\\\"!==\\\",s,\\\".\\\",n);u(d),n in rt?d(t.cond(c).then(i,\\\".enable(\\\",rt[n],\\\");\\\").else(i,\\\".disable(\\\",rt[n],\\\");\\\"),s,\\\".\\\",n,\\\"=\\\",c,\\\";\\\"):d(i,\\\".\\\",nt[n],\\\"(\\\",c,\\\");\\\",s,\\\".\\\",n,\\\"=\\\",c,\\\";\\\")}}}),0===Object.keys(r.state).length&&u(s,\\\".dirty=false;\\\"),e(u)}function I(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;Vt(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var u=l.append(t,e);if(rt[i]){var c=rt[i];qt(l)?u?e(s,\\\".enable(\\\",c,\\\");\\\"):e(s,\\\".disable(\\\",c,\\\");\\\"):e(t.cond(u).then(s,\\\".enable(\\\",c,\\\");\\\").else(s,\\\".disable(\\\",c,\\\");\\\")),e(o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}else if(mt(u)){var h=a[i];e(s,\\\".\\\",nt[i],\\\"(\\\",u,\\\");\\\",u.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\")}else e(s,\\\".\\\",nt[i],\\\"(\\\",u,\\\");\\\",o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}})}function D(t,e){K&&(t.instancing=e.def(t.shared.extensions,\\\".angle_instanced_arrays\\\"))}function P(t,e,r,n,i){function a(){return\\\"undefined\\\"==typeof performance?\\\"Date.now()\\\":\\\"performance.now()\\\"}function o(t){u=e.def(),t(u,\\\"=\\\",a(),\\\";\\\"),\\\"string\\\"==typeof i?t(p,\\\".count+=\\\",i,\\\";\\\"):t(p,\\\".count++;\\\"),d&&(n?(c=e.def(),t(c,\\\"=\\\",v,\\\".getNumPendingQueries();\\\")):t(v,\\\".beginQuery(\\\",p,\\\");\\\"))}function s(t){t(p,\\\".cpuTime+=\\\",a(),\\\"-\\\",u,\\\";\\\"),d&&(n?t(v,\\\".pushScopeStats(\\\",c,\\\",\\\",v,\\\".getNumPendingQueries(),\\\",p,\\\");\\\"):t(v,\\\".endQuery();\\\"))}function l(t){var r=e.def(m,\\\".profile\\\");e(m,\\\".profile=\\\",t,\\\";\\\"),e.exit(m,\\\".profile=\\\",r,\\\";\\\")}var u,c,h,f=t.shared,p=t.stats,m=f.current,v=f.timer,g=r.profile;if(g){if(qt(g))return void(g.enable?(o(e),s(e.exit),l(\\\"true\\\")):l(\\\"false\\\"));h=g.append(t,e),l(h)}else h=e.def(m,\\\".profile\\\");var y=t.block();o(y),e(\\\"if(\\\",h,\\\"){\\\",y,\\\"}\\\");var b=t.block();s(b),e.exit(\\\"if(\\\",h,\\\"){\\\",b,\\\"}\\\")}function O(t,e,r,n,i){function a(t){switch(t){case ua:case da:case ga:return 2;case ca:case pa:case ya:return 3;case ha:case ma:case ba:return 4;default:return 1}}function o(r,n,i){function a(){e(\\\"if(!\\\",c,\\\".buffer){\\\",l,\\\".enableVertexAttribArray(\\\",u,\\\");}\\\");var r,a=i.type;if(r=i.size?e.def(i.size,\\\"||\\\",n):n,e(\\\"if(\\\",c,\\\".type!==\\\",a,\\\"||\\\",c,\\\".size!==\\\",r,\\\"||\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"!==\\\"+i[t]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".bindBuffer(\\\",Zi,\\\",\\\",f,\\\".buffer);\\\",l,\\\".vertexAttribPointer(\\\",[u,r,a,i.normalized,i.stride,i.offset],\\\");\\\",c,\\\".type=\\\",a,\\\";\\\",c,\\\".size=\\\",r,\\\";\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"=\\\"+i[t]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\"),K){var o=i.divisor;e(\\\"if(\\\",c,\\\".divisor!==\\\",o,\\\"){\\\",t.instancing,\\\".vertexAttribDivisorANGLE(\\\",[u,o],\\\");\\\",c,\\\".divisor=\\\",o,\\\";}\\\")}}function o(){e(\\\"if(\\\",c,\\\".buffer){\\\",l,\\\".disableVertexAttribArray(\\\",u,\\\");\\\",\\\"}if(\\\",Kn.map(function(t,e){return c+\\\".\\\"+t+\\\"!==\\\"+d[e]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".vertexAttrib4f(\\\",u,\\\",\\\",d,\\\");\\\",Kn.map(function(t,e){return c+\\\".\\\"+t+\\\"=\\\"+d[e]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\")}var l=s.gl,u=e.def(r,\\\".location\\\"),c=e.def(s.attributes,\\\"[\\\",u,\\\"]\\\"),h=i.state,f=i.buffer,d=[i.x,i.y,i.z,i.w],p=[\\\"buffer\\\",\\\"normalized\\\",\\\"offset\\\",\\\"stride\\\"];h===$n?a():h===ti?o():(e(\\\"if(\\\",h,\\\"===\\\",$n,\\\"){\\\"),a(),e(\\\"}else{\\\"),o(),e(\\\"}\\\"))}var s=t.shared;n.forEach(function(n){var s,l=n.name,u=r.attributes[l];if(u){if(!i(u))return;s=u.append(t,e)}else{if(!i(Ya))return;var c=t.scopeAttrib(l);de.optional(function(){t.assert(e,c+\\\".state\\\",\\\"missing attribute \\\"+l)}),s={},Object.keys(new W).forEach(function(t){s[t]=e.def(c,\\\".\\\",t)})}o(t.link(n),a(n.info.type),s)})}function R(t,r,n,i,a){for(var o,s=t.shared,l=s.gl,u=0;u<i.length;++u){var c,h=i[u],f=h.name,d=h.info.type,p=n.uniforms[f],m=t.link(h),v=m+\\\".location\\\";if(p){if(!a(p))continue;if(qt(p)){var g=p.value;if(de.command(null!==g&&void 0!==g,'missing uniform \\\"'+f+'\\\"',t.commandStr),d===Ma||d===ka){de.command(\\\"function\\\"==typeof g&&(d===Ma&&(\\\"texture2d\\\"===g._reglType||\\\"framebuffer\\\"===g._reglType)||d===ka&&(\\\"textureCube\\\"===g._reglType||\\\"framebufferCube\\\"===g._reglType)),\\\"invalid texture for uniform \\\"+f,t.commandStr);var y=t.link(g._texture||g.color[0]._texture);r(l,\\\".uniform1i(\\\",v,\\\",\\\",y+\\\".bind());\\\"),r.exit(y,\\\".unbind();\\\")}else if(d===xa||d===_a||d===wa){de.optional(function(){de.command(mt(g),\\\"invalid matrix for uniform \\\"+f,t.commandStr),de.command(d===xa&&4===g.length||d===_a&&9===g.length||d===wa&&16===g.length,\\\"invalid length for matrix uniform \\\"+f,t.commandStr)});var b=t.global.def(\\\"new Float32Array([\\\"+Array.prototype.slice.call(g)+\\\"])\\\"),x=2;d===_a?x=3:d===wa&&(x=4),r(l,\\\".uniformMatrix\\\",x,\\\"fv(\\\",v,\\\",false,\\\",b,\\\");\\\")}else{switch(d){case la:de.commandType(g,\\\"number\\\",\\\"uniform \\\"+f,t.commandStr),o=\\\"1f\\\";break;case ua:de.command(mt(g)&&2===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"2f\\\";break;case ca:de.command(mt(g)&&3===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"3f\\\";break;case ha:de.command(mt(g)&&4===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"4f\\\";break;case va:de.commandType(g,\\\"boolean\\\",\\\"uniform \\\"+f,t.commandStr),o=\\\"1i\\\";break;case fa:de.commandType(g,\\\"number\\\",\\\"uniform \\\"+f,t.commandStr),o=\\\"1i\\\";break;case ga:case da:de.command(mt(g)&&2===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"2i\\\";break;case ya:case pa:de.command(mt(g)&&3===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"3i\\\";break;case ba:case ma:de.command(mt(g)&&4===g.length,\\\"uniform \\\"+f,t.commandStr),o=\\\"4i\\\"}r(l,\\\".uniform\\\",o,\\\"(\\\",v,\\\",\\\",mt(g)?Array.prototype.slice.call(g):g,\\\");\\\")}continue}c=p.append(t,r)}else{if(!a(Ya))continue;c=r.def(s.uniforms,\\\"[\\\",e.id(f),\\\"]\\\")}d===Ma?r(\\\"if(\\\",c,\\\"&&\\\",c,'._reglType===\\\"framebuffer\\\"){',c,\\\"=\\\",c,\\\".color[0];\\\",\\\"}\\\"):d===ka&&r(\\\"if(\\\",c,\\\"&&\\\",c,'._reglType===\\\"framebufferCube\\\"){',c,\\\"=\\\",c,\\\".color[0];\\\",\\\"}\\\"),de.optional(function(){function e(e,n){t.assert(r,e,'bad data or missing for uniform \\\"'+f+'\\\".  '+n)}function n(t){e(\\\"typeof \\\"+c+'===\\\"'+t+'\\\"',\\\"invalid type, expected \\\"+t)}function i(r,n){e(s.isArrayLike+\\\"(\\\"+c+\\\")&&\\\"+c+\\\".length===\\\"+r,\\\"invalid vector, should have length \\\"+r,t.commandStr)}function a(r){e(\\\"typeof \\\"+c+'===\\\"function\\\"&&'+c+'._reglType===\\\"texture'+(r===Ki?\\\"2d\\\":\\\"Cube\\\")+'\\\"',\\\"invalid texture type\\\",t.commandStr)}switch(d){case fa:n(\\\"number\\\");break;case da:i(2,\\\"number\\\");break;case pa:i(3,\\\"number\\\");break;case ma:i(4,\\\"number\\\");break;case la:n(\\\"number\\\");break;case ua:i(2,\\\"number\\\");break;case ca:i(3,\\\"number\\\");break;case ha:i(4,\\\"number\\\");break;case va:n(\\\"boolean\\\");break;case ga:i(2,\\\"boolean\\\");break;case ya:i(3,\\\"boolean\\\");break;case ba:i(4,\\\"boolean\\\");break;case xa:i(4,\\\"number\\\");break;case _a:i(9,\\\"number\\\");break;case wa:i(16,\\\"number\\\");break;case Ma:a(Ki);break;case ka:a(Qi)}});var _=1;switch(d){case Ma:case ka:var w=r.def(c,\\\"._texture\\\");r(l,\\\".uniform1i(\\\",v,\\\",\\\",w,\\\".bind());\\\"),r.exit(w,\\\".unbind();\\\");continue;case fa:case va:o=\\\"1i\\\";break;case da:case ga:o=\\\"2i\\\",_=2;break;case pa:case ya:o=\\\"3i\\\",_=3;break;case ma:case ba:o=\\\"4i\\\",_=4;break;case la:o=\\\"1f\\\";break;case ua:o=\\\"2f\\\",_=2;break;case ca:o=\\\"3f\\\",_=3;break;case ha:o=\\\"4f\\\",_=4;break;case xa:o=\\\"Matrix2fv\\\";break;case _a:o=\\\"Matrix3fv\\\";break;case wa:o=\\\"Matrix4fv\\\"}if(r(l,\\\".uniform\\\",o,\\\"(\\\",v,\\\",\\\"),\\\"M\\\"===o.charAt(0)){var M=Math.pow(d-xa+2,2),k=t.global.def(\\\"new Float32Array(\\\",M,\\\")\\\");r(\\\"false,(Array.isArray(\\\",c,\\\")||\\\",c,\\\" instanceof Float32Array)?\\\",c,\\\":(\\\",J(M,function(t){return k+\\\"[\\\"+t+\\\"]=\\\"+c+\\\"[\\\"+t+\\\"]\\\"}),\\\",\\\",k,\\\")\\\")}else r(_>1?J(_,function(t){return c+\\\"[\\\"+t+\\\"]\\\"}):c);r(\\\");\\\")}}function F(t,e,r,n){function i(i){var a=c[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(u,\\\".\\\",i)}function a(){function t(){r(v,\\\".drawElementsInstancedANGLE(\\\",[f,p,g,d+\\\"<<((\\\"+g+\\\"-\\\"+Qn+\\\")>>1)\\\",m],\\\");\\\")}function e(){r(v,\\\".drawArraysInstancedANGLE(\\\",[f,d,p,m],\\\");\\\")}h?y?t():(r(\\\"if(\\\",h,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}function o(){function t(){r(l+\\\".drawElements(\\\"+[f,p,g,d+\\\"<<((\\\"+g+\\\"-\\\"+Qn+\\\")>>1)\\\"]+\\\");\\\")}function e(){r(l+\\\".drawArrays(\\\"+[f,d,p]+\\\");\\\")}h?y?t():(r(\\\"if(\\\",h,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}var s=t.shared,l=s.gl,u=s.draw,c=n.draw,h=function(){var i,a=c.elements,o=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(o=r),i=a.append(t,o)):i=o.def(u,\\\".\\\",Fi),i&&o(\\\"if(\\\"+i+\\\")\\\"+l+\\\".bindBuffer(\\\"+Ji+\\\",\\\"+i+\\\".buffer.buffer);\\\"),i}(),f=i(ji),d=i(Bi),p=function(){var i,a=c.count,o=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(o=r),i=a.append(t,o),de.optional(function(){a.MISSING&&t.assert(e,\\\"false\\\",\\\"missing vertex count\\\"),a.DYNAMIC&&t.assert(o,i+\\\">=0\\\",\\\"missing vertex count\\\")})):(i=o.def(u,\\\".\\\",Ni),de.optional(function(){t.assert(o,i+\\\">=0\\\",\\\"missing vertex count\\\")})),i}();if(\\\"number\\\"==typeof p){if(0===p)return}else r(\\\"if(\\\",p,\\\"){\\\"),r.exit(\\\"}\\\");var m,v;K&&(m=i(Ui),v=t.instancing);var g=h+\\\".type\\\",y=c.elements&&qt(c.elements);K&&(\\\"number\\\"!=typeof m||m>=0)?\\\"string\\\"==typeof m?(r(\\\"if(\\\",m,\\\">0){\\\"),a(),r(\\\"}else if(\\\",m,\\\"<0){\\\"),o(),r(\\\"}\\\")):a():o()}function j(t,e,r,n,i){var a=y(),o=a.proc(\\\"body\\\",i);return de.optional(function(){a.commandStr=e.commandStr,a.command=a.link(e.commandStr)}),K&&(a.instancing=o.def(a.shared.extensions,\\\".angle_instanced_arrays\\\")),t(a,o,r,n),a.compile().body}function N(t,e,r,n){D(t,e),O(t,e,r,n.attributes,function(){return!0}),R(t,e,r,n.uniforms,function(){return!0}),F(t,e,e,r)}function B(t,e){var r=t.proc(\\\"draw\\\",1);D(t,r),L(t,r,e.context),C(t,r,e.framebuffer),z(t,r,e),I(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)N(t,r,e,e.shader.program);else{var i=t.global.def(\\\"{}\\\"),a=r.def(n,\\\".id\\\"),o=r.def(i,\\\"[\\\",a,\\\"]\\\");r(t.cond(o).then(o,\\\".call(this,a0);\\\").else(o,\\\"=\\\",i,\\\"[\\\",a,\\\"]=\\\",t.link(function(r){return j(N,t,e,r,1)}),\\\"(\\\",n,\\\");\\\",o,\\\".call(this,a0);\\\"))}Object.keys(e.state).length>0&&r(t.shared.current,\\\".dirty=true;\\\")}function U(t,e,r,n){function i(){return!0}t.batchId=\\\"a1\\\",D(t,e),O(t,e,r,n.attributes,i),R(t,e,r,n.uniforms,i),F(t,e,e,r)}function V(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}D(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();if(e(u.entry,\\\"for(\\\",s,\\\"=0;\\\",s,\\\"<\\\",\\\"a1\\\",\\\";++\\\",s,\\\"){\\\",l,\\\"=\\\",\\\"a0\\\",\\\"[\\\",s,\\\"];\\\",c,\\\"}\\\",u.exit),r.needsContext&&L(t,c,r.context),r.needsFramebuffer&&C(t,c,r.framebuffer),I(t,c,r.state,i),\\n\",\n       \"r.profile&&i(r.profile)&&P(t,c,r,!1,!0),n)O(t,u,r,n.attributes,a),O(t,c,r,n.attributes,i),R(t,u,r,n.uniforms,a),R(t,c,r,n.uniforms,i),F(t,u,c,r);else{var h=t.global.def(\\\"{}\\\"),f=r.shader.progVar.append(t,c),d=c.def(f,\\\".id\\\"),p=c.def(h,\\\"[\\\",d,\\\"]\\\");c(t.shared.gl,\\\".useProgram(\\\",f,\\\".program);\\\",\\\"if(!\\\",p,\\\"){\\\",p,\\\"=\\\",h,\\\"[\\\",d,\\\"]=\\\",t.link(function(e){return j(U,t,r,e,2)}),\\\"(\\\",f,\\\");}\\\",p,\\\".call(this,a0[\\\",s,\\\"],\\\",s,\\\");\\\")}}function H(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\\\"batch\\\",2);t.batchId=\\\"0\\\",D(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(L(t,n,e.context),a=!1);var o=e.framebuffer,s=!1;o?(o.propDep?i=s=!0:o.contextDep&&i&&(s=!0),s||C(t,n,o)):C(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),z(t,n,e),I(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||P(t,n,e,!1,\\\"a1\\\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=s;var l=e.shader.progVar;if(l.contextDep&&i||l.propDep)V(t,n,e,null);else{var u=l.append(t,n);if(n(t.shared.gl,\\\".useProgram(\\\",u,\\\".program);\\\"),e.shader.program)V(t,n,e,e.shader.program);else{var c=t.global.def(\\\"{}\\\"),h=n.def(u,\\\".id\\\"),f=n.def(c,\\\"[\\\",h,\\\"]\\\");n(t.cond(f).then(f,\\\".call(this,a0,a1);\\\").else(f,\\\"=\\\",c,\\\"[\\\",h,\\\"]=\\\",t.link(function(r){return j(V,t,e,r,2)}),\\\"(\\\",u,\\\");\\\",f,\\\".call(this,a0,a1);\\\"))}}Object.keys(e.state).length>0&&n(t.shared.current,\\\".dirty=true;\\\")}function q(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\\\".\\\"+e,n.append(t,i))}var i=t.proc(\\\"scope\\\",3);t.batchId=\\\"a2\\\";var a=t.shared,o=a.current;L(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),Vt(Object.keys(r.state)).forEach(function(e){var n=r.state[e],o=n.append(t,i);mt(o)?o.forEach(function(r,n){i.set(t.next[e],\\\"[\\\"+n+\\\"]\\\",r)}):i.set(a.next,\\\".\\\"+e,o)}),P(t,i,r,!0,!0),[Fi,Bi,Ni,Ui,ji].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\\\".\\\"+e,\\\"\\\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\\\"[\\\"+e.id(n)+\\\"]\\\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new W).forEach(function(t){i.set(a,\\\".\\\"+t,n[t])})}),n(Oi),n(Ri),Object.keys(r.state).length>0&&(i(o,\\\".dirty=true;\\\"),i.exit(o,\\\".dirty=true;\\\")),i(\\\"a1(\\\",t.shared.context,\\\",a0,\\\",t.batchId,\\\");\\\")}function G(t){if(\\\"object\\\"==typeof t&&!mt(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(ve.isDynamic(t[e[r]]))return!0;return!1}}function Y(t,e,r){function n(t,e){o.forEach(function(r){var n=i[r];if(ve.isDynamic(n)){var a=t.invoke(e,n);e(c,\\\".\\\",r,\\\"=\\\",a,\\\";\\\")}})}var i=e.static[r];if(i&&G(i)){var a=t.global,o=Object.keys(i),s=!1,l=!1,u=!1,c=t.global.def(\\\"{}\\\");o.forEach(function(e){var r=i[e];if(ve.isDynamic(r)){\\\"function\\\"==typeof r&&(r=i[e]=ve.unbox(r));var n=Yt(r,null);s=s||n.thisDep,u=u||n.propDep,l=l||n.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 ve.DynamicVariable(ai,{thisDep:s,contextDep:l,propDep:u,ref:c,append:n}),delete e.static[r]}}function X(t,e,r,n,i){var a=y();a.stats=a.link(i),Object.keys(e.static).forEach(function(t){Y(a,e,t)}),Wi.forEach(function(e){Y(a,t,e)});var o=E(t,e,r,n,a);return B(a,o),q(a,o),H(a,o),a.compile()}var W=u.Record,Z={add:32774,subtract:32778,\\\"reverse subtract\\\":32779};r.ext_blend_minmax&&(Z.min=Ca,Z.max=za);var K=r.angle_instanced_arrays,Q=r.webgl_draw_buffers,$={dirty:!0,profile:p.profile},tt={},et=[],rt={},nt={};v(oi,ea),v(si,ta),g(li,\\\"blendColor\\\",[0,0,0,0]),g(ui,\\\"blendEquationSeparate\\\",[Ra,Ra]),g(ci,\\\"blendFuncSeparate\\\",[Oa,Pa,Oa,Pa]),v(hi,na,!0),g(fi,\\\"depthFunc\\\",Fa),g(di,\\\"depthRange\\\",[0,1]),g(pi,\\\"depthMask\\\",!0),g(mi,mi,[!0,!0,!0,!0]),v(vi,$i),g(gi,\\\"cullFace\\\",Sa),g(yi,yi,La),g(bi,bi,1),v(xi,aa),g(_i,\\\"polygonOffset\\\",[0,0]),v(wi,oa),v(Mi,sa),g(ki,\\\"sampleCoverage\\\",[1,!1]),v(Ai,ra),g(Ti,\\\"stencilMask\\\",-1),g(Si,\\\"stencilFunc\\\",[Ia,0,-1]),g(Ei,\\\"stencilOpSeparate\\\",[Ta,Da,Da,Da]),g(Li,\\\"stencilOpSeparate\\\",[Sa,Da,Da,Da]),v(Ci,ia),g(zi,\\\"scissor\\\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),g(Ii,Ii,[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var it={gl:t,context:f,strings:e,next:tt,current:$,draw:h,elements:a,buffer:i,shader:c,attributes:u.state,uniforms:l,framebuffer:s,extensions:r,timer:d,isBufferArgs:Ut},at={primTypes:Be,compareFuncs:Va,blendFuncs:Ba,blendEquations:Z,stencilOps:Ha,glTypes:ze,orientationType:Ga};de.optional(function(){it.isArrayLike=mt}),Q&&(at.backBuffer=[Sa],at.drawBuffer=J(n.maxDrawbuffers,function(t){return 0===t?[0]:J(t,function(t){return Na+t})}));var ot=0;return{next:tt,current:$,procs:function(){var e=y(),r=e.proc(\\\"poll\\\"),i=e.proc(\\\"refresh\\\"),a=e.block();r(a),i(a);var o=e.shared,s=o.gl,l=o.next,u=o.current;a(u,\\\".dirty=false;\\\"),C(e,r),C(e,i,null,!0);var c,h=t.getExtension(\\\"angle_instanced_arrays\\\");h&&(c=e.link(h));for(var f=0;f<n.maxAttributes;++f){var d=i.def(o.attributes,\\\"[\\\",f,\\\"]\\\"),p=e.cond(d,\\\".buffer\\\");p.then(s,\\\".enableVertexAttribArray(\\\",f,\\\");\\\",s,\\\".bindBuffer(\\\",Zi,\\\",\\\",d,\\\".buffer.buffer);\\\",s,\\\".vertexAttribPointer(\\\",f,\\\",\\\",d,\\\".size,\\\",d,\\\".type,\\\",d,\\\".normalized,\\\",d,\\\".stride,\\\",d,\\\".offset);\\\").else(s,\\\".disableVertexAttribArray(\\\",f,\\\");\\\",s,\\\".vertexAttrib4f(\\\",f,\\\",\\\",d,\\\".x,\\\",d,\\\".y,\\\",d,\\\".z,\\\",d,\\\".w);\\\",d,\\\".buffer=null;\\\"),i(p),h&&i(c,\\\".vertexAttribDivisorANGLE(\\\",f,\\\",\\\",d,\\\".divisor);\\\")}return Object.keys(rt).forEach(function(t){var n=rt[t],o=a.def(l,\\\".\\\",t),c=e.block();c(\\\"if(\\\",o,\\\"){\\\",s,\\\".enable(\\\",n,\\\")}else{\\\",s,\\\".disable(\\\",n,\\\")}\\\",u,\\\".\\\",t,\\\"=\\\",o,\\\";\\\"),i(c),r(\\\"if(\\\",o,\\\"!==\\\",u,\\\".\\\",t,\\\"){\\\",c,\\\"}\\\")}),Object.keys(nt).forEach(function(t){var n,o,c=nt[t],h=$[t],f=e.block();if(f(s,\\\".\\\",c,\\\"(\\\"),mt(h)){var d=h.length;n=e.global.def(l,\\\".\\\",t),o=e.global.def(u,\\\".\\\",t),f(J(d,function(t){return n+\\\"[\\\"+t+\\\"]\\\"}),\\\");\\\",J(d,function(t){return o+\\\"[\\\"+t+\\\"]=\\\"+n+\\\"[\\\"+t+\\\"];\\\"}).join(\\\"\\\")),r(\\\"if(\\\",J(d,function(t){return n+\\\"[\\\"+t+\\\"]!==\\\"+o+\\\"[\\\"+t+\\\"]\\\"}).join(\\\"||\\\"),\\\"){\\\",f,\\\"}\\\")}else n=a.def(l,\\\".\\\",t),o=a.def(u,\\\".\\\",t),f(n,\\\");\\\",u,\\\".\\\",t,\\\"=\\\",n,\\\";\\\"),r(\\\"if(\\\",n,\\\"!==\\\",o,\\\"){\\\",f,\\\"}\\\");i(f)}),e.compile()}(),compile:X}}function Wt(){return{bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}function Zt(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}function Jt(t){function e(){if(0===q.length)return k&&k.update(),void(J=null);J=ge.next(e),f();for(var t=q.length-1;t>=0;--t){var r=q[t];r&&r(E,null,0)}g.flush(),k&&k.update()}function r(){!J&&q.length>0&&(J=ge.next(e))}function n(){J&&(ge.cancel(e),J=null)}function i(t){t.preventDefault(),b=!0,n(),G.forEach(function(t){t()})}function a(t){g.getError(),b=!1,x.restore(),O.restore(),I.restore(),R.restore(),F.restore(),j.restore(),k&&k.restore(),N.procs.refresh(),r(),Y.forEach(function(t){t()})}function o(){q.length=0,n(),H&&(H.removeEventListener(eo,i),H.removeEventListener(ro,a)),O.clear(),j.clear(),F.clear(),R.clear(),D.clear(),I.clear(),k&&k.clear(),Z.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];ve.isDynamic(i)?r[n]=ve.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}function r(t){for(;d.length<t;)d.push(null);return d}function n(t,e){var n;if(b&&de.raise(\\\"context lost\\\"),\\\"function\\\"==typeof t)return f.call(this,null,t,0);if(\\\"function\\\"==typeof e){if(\\\"number\\\"==typeof t){for(n=0;n<t;++n)f.call(this,null,e,n);return}if(Array.isArray(t)){for(n=0;n<t.length;++n)f.call(this,t[n],e,n);return}return f.call(this,t,e,0)}if(\\\"number\\\"==typeof t){if(t>0)return h.call(this,r(0|t),0|t)}else{if(!Array.isArray(t))return c.call(this,t);if(t.length)return h.call(this,t,t.length)}}de(!!t,\\\"invalid args to regl({...})\\\"),de.type(t,\\\"object\\\",\\\"invalid args to regl({...})\\\");var i=e(t.context||{}),a=e(t.uniforms||{}),o=e(t.attributes||{}),s=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=$t({},t);return delete r.uniforms,delete r.attributes,delete r.context,\\\"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\\\"),r}(t)),l={gpuTime:0,cpuTime:0,count:0},u=N.compile(s,o,a,i,l),c=u.draw,h=u.batch,f=u.scope,d=[];return $t(n,{stats:l})}function l(t,e){var r=0;N.procs.poll();var n=e.color;n&&(g.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=Ka),\\\"depth\\\"in e&&(g.clearDepth(+e.depth),r|=Qa),\\\"stencil\\\"in e&&(g.clearStencil(0|e.stencil),r|=$a),de(!!r,\\\"called regl.clear with no buffer specified\\\"),g.clear(r)}function u(t){if(de(\\\"object\\\"==typeof t&&t,\\\"regl.clear() takes an object as input\\\"),\\\"framebuffer\\\"in t)if(t.framebuffer&&\\\"framebufferCube\\\"===t.framebuffer_reglType)for(var e=0;e<6;++e)K($t({framebuffer:t.framebuffer.faces[e]},t),l);else K(t,l);else l(null,t)}function c(t){function e(){function e(){var t=Zt(q,e);q[t]=q[q.length-1],q.length-=1,q.length<=0&&n()}var r=Zt(q,t);de(r>=0,\\\"cannot cancel a frame twice\\\"),q[r]=e}return de.type(t,\\\"function\\\",\\\"regl.frame() callback must be a function\\\"),q.push(t),r(),{cancel:e}}function h(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,E.viewportWidth=E.framebufferWidth=E.drawingBufferWidth=t[2]=e[2]=g.drawingBufferWidth,E.viewportHeight=E.framebufferHeight=E.drawingBufferHeight=t[3]=e[3]=g.drawingBufferHeight}function f(){E.tick+=1,E.time=p(),h(),N.procs.poll()}function d(){h(),N.procs.refresh(),k&&k.update()}function p(){return(ye()-A)/1e3}function m(t,e){de.type(e,\\\"function\\\",\\\"listener callback must be a function\\\");var r;switch(t){case\\\"frame\\\":return c(e);case\\\"lost\\\":r=G;break;case\\\"restore\\\":r=Y;break;case\\\"destroy\\\":r=Z;break;default:de.raise(\\\"invalid event, must be one of frame,lost,restore,destroy\\\")}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e)return r[t]=r[r.length-1],void r.pop()}}}var v=X(t);if(!v)return null;var g=v.gl,y=g.getContextAttributes(),b=g.isContextLost(),x=W(g,v);if(!x)return null;var _=B(),w=Wt(),M=x.extensions,k=Ja(g,M),A=ye(),T=g.drawingBufferWidth,S=g.drawingBufferHeight,E={tick:0,time:0,viewportWidth:T,viewportHeight:S,framebufferWidth:T,framebufferHeight:S,drawingBufferWidth:T,drawingBufferHeight:S,pixelRatio:v.pixelRatio},L={},C={elements:null,primitive:4,count:-1,offset:0,instances:-1},z=be(g,M),I=ft(g,w,v),D=dt(g,M,I,w),P=Ot(g,M,z,I,_),O=Rt(g,_,w,v),R=zt(g,M,z,function(){N.procs.poll()},E,w,v),F=Mn(g,M,z,w,v),j=Dt(g,M,z,R,F,w),N=Xt(g,_,M,z,I,D,R,j,L,P,O,C,E,k,v),U=Ft(g,j,N.procs.poll,E,y,M),V=N.next,H=g.canvas,q=[],G=[],Y=[],Z=[v.onDestroy],J=null;H&&(H.addEventListener(eo,i,!1),H.addEventListener(ro,a,!1));var K=j.setFBO=s({framebuffer:ve.define.call(null,no,\\\"framebuffer\\\")});d();var Q=$t(s,{clear:u,prop:ve.define.bind(null,no),context:ve.define.bind(null,io),this:ve.define.bind(null,ao),draw:s({}),buffer:function(t){return I.create(t,to,!1,!1)},elements:function(t){return D.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:j.create,framebufferCube:j.createCube,attributes:y,frame:c,on:m,limits:z,hasExtension:function(t){return z.extensions.indexOf(t.toLowerCase())>=0},read:U,destroy:o,_gl:g,_refresh:d,poll:function(){f(),k&&k.update()},now:p,stats:w});return v.onDone(null,Q),Q}var Kt={\\\"[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},Qt=function(t){return Object.prototype.toString.call(t)in Kt},$t=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},te=[\\\"gl\\\",\\\"canvas\\\",\\\"container\\\",\\\"attributes\\\",\\\"pixelRatio\\\",\\\"extensions\\\",\\\"optionalExtensions\\\",\\\"profile\\\",\\\"onDone\\\"],ee=33071,re=9728,ne=9984,ie=9985,ae=9986,oe=9987,se=5126,le=32819,ue=32820,ce=33635,he=34042,fe={};fe[5120]=fe[5121]=1,fe[5122]=fe[5123]=fe[36193]=fe[ce]=fe[le]=fe[ue]=2,fe[5124]=fe[5125]=fe[se]=fe[he]=4;var de=$t(r,{optional:S,raise:e,commandRaise:M,command:k,parameter:i,commandParameter:A,constructor:u,type:o,commandType:T,isTypedArray:a,nni:s,oneOf:l,shaderError:b,linkError:x,callSite:m,saveCommandRef:_,saveDrawInfo:w,framebufferFormat:E,guessCommand:p,texture2D:z,textureCube:I}),pe=0,me=0,ve={DynamicVariable:D,define:F,isDynamic:j,unbox:N,accessor:R},ge={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},ye=\\\"undefined\\\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},be=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063)),{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:i,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)}},xe=function(t){return Object.keys(t).map(function(e){return t[e]})},_e=5120,we=5121,Me=5122,ke=5123,Ae=5124,Te=5125,Se=5126,Ee=J(8,function(){return[]}),Le={alloc:$,free:tt,allocType:et,freeType:rt},Ce={shape:lt,flatten:st},ze={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Ie={dynamic:35048,stream:35040,static:35044},De=Ce.flatten,Pe=Ce.shape,Oe=35044,Re=35040,Fe=5121,je=5126,Ne=[];Ne[5120]=1,Ne[5122]=2,Ne[5124]=4,Ne[5121]=1,Ne[5123]=2,Ne[5125]=4,Ne[5126]=4;var Be={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\\\"line loop\\\":2,\\\"line strip\\\":3,\\\"triangle strip\\\":5,\\\"triangle fan\\\":6},Ue=0,Ve=1,He=4,qe=5120,Ge=5121,Ye=5122,Xe=5123,We=5124,Ze=5125,Je=34963,Ke=35040,Qe=35044,$e=new Float32Array(1),tr=new Uint32Array($e.buffer),er=5123,rr=34467,nr=3553,ir=34067,ar=34069,or=6408,sr=6406,lr=6407,ur=6409,cr=6410,hr=32854,fr=32855,dr=36194,pr=32819,mr=32820,vr=33635,gr=34042,yr=6402,br=34041,xr=35904,_r=35906,wr=36193,Mr=33776,kr=33777,Ar=33778,Tr=33779,Sr=35986,Er=35987,Lr=34798,Cr=35840,zr=35841,Ir=35842,Dr=35843,Pr=36196,Or=5121,Rr=5123,Fr=5125,jr=5126,Nr=10242,Br=10243,Ur=10497,Vr=33071,Hr=33648,qr=10240,Gr=10241,Yr=9728,Xr=9729,Wr=9984,Zr=9985,Jr=9986,Kr=9987,Qr=33170,$r=4352,tn=4353,en=4354,rn=34046,nn=3317,an=37440,on=37441,sn=37443,ln=37444,un=33984,cn=[Wr,Jr,Zr,Kr],hn=[0,ur,cr,lr,or],fn={};fn[ur]=fn[sr]=fn[yr]=1,fn[br]=fn[cr]=2,fn[lr]=fn[xr]=3,fn[or]=fn[_r]=4;var dn=vt(\\\"HTMLCanvasElement\\\"),pn=vt(\\\"CanvasRenderingContext2D\\\"),mn=vt(\\\"HTMLImageElement\\\"),vn=vt(\\\"HTMLVideoElement\\\"),gn=Object.keys(Kt).concat([dn,pn,mn,vn]),yn=[];yn[Or]=1,yn[jr]=4,yn[wr]=2,yn[Rr]=2,yn[Fr]=4;var bn=[];bn[hr]=2,bn[fr]=2,bn[dr]=2,bn[br]=4,bn[Mr]=.5,bn[kr]=.5,bn[Ar]=1,bn[Tr]=1,bn[Sr]=.5,bn[Er]=1,bn[Lr]=1,bn[Cr]=.5,bn[zr]=.25,bn[Ir]=.5,bn[Dr]=.25,bn[Pr]=.5;var xn=36161,_n=32854,wn=[];wn[_n]=2,wn[32855]=2,wn[36194]=2,wn[33189]=2,wn[36168]=1,wn[34041]=4,wn[35907]=4,wn[34836]=16,wn[34842]=8,wn[34843]=6;var Mn=function(t,e,r,n,i){function a(t){this.id=h++,this.refCount=1,this.renderbuffer=t,this.format=_n,this.width=0,this.height=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;de(r,\\\"must not double destroy renderbuffer\\\"),t.bindRenderbuffer(xn,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete f[e.id],n.renderbufferCount--}function s(e,o){function s(e,n){var a=0,o=0,l=_n;if(\\\"object\\\"==typeof e&&e){var f=e;if(\\\"shape\\\"in f){var d=f.shape;de(Array.isArray(d)&&d.length>=2,\\\"invalid renderbuffer shape\\\"),a=0|d[0],o=0|d[1]}else\\\"radius\\\"in f&&(a=o=0|f.radius),\\\"width\\\"in f&&(a=0|f.width),\\\"height\\\"in f&&(o=0|f.height);\\\"format\\\"in f&&(de.parameter(f.format,u,\\\"invalid renderbuffer format\\\"),l=u[f.format])}else\\\"number\\\"==typeof e?(a=0|e,o=\\\"number\\\"==typeof n?0|n:a):e?de.raise(\\\"invalid arguments to renderbuffer constructor\\\"):a=o=1;if(de(a>0&&o>0&&a<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\\\"invalid renderbuffer size\\\"),a!==h.width||o!==h.height||l!==h.format)return s.width=h.width=a,s.height=h.height=o,h.format=l,t.bindRenderbuffer(xn,h.renderbuffer),t.renderbufferStorage(xn,l,a,o),i.profile&&(h.stats.size=It(h.format,h.width,h.height)),s.format=c[h.format],s}function l(e,n){var a=0|e,o=0|n||a;return a===h.width&&o===h.height?s:(de(a>0&&o>0&&a<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\\\"invalid renderbuffer size\\\"),s.width=h.width=a,s.height=h.height=o,t.bindRenderbuffer(xn,h.renderbuffer),t.renderbufferStorage(xn,h.format,a,o),i.profile&&(h.stats.size=It(h.format,h.width,h.height)),s)}var h=new a(t.createRenderbuffer());return f[h.id]=h,n.renderbufferCount++,s(e,o),s.resize=l,s._reglType=\\\"renderbuffer\\\",s._renderbuffer=h,i.profile&&(s.stats=h.stats),s.destroy=function(){h.decRef()},s}function l(){xe(f).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(xn,e.renderbuffer),t.renderbufferStorage(xn,e.format,e.width,e.height)}),t.bindRenderbuffer(xn,null)}var u={rgba4:_n,rgb565:36194,\\\"rgb5 a1\\\":32855,depth:33189,stencil:36168,\\\"depth stencil\\\":34041};e.ext_srgb&&(u.srgba=35907),e.ext_color_buffer_half_float&&(u.rgba16f=34842,u.rgb16f=34843),e.webgl_color_buffer_float&&(u.rgba32f=34836);var c=[];Object.keys(u).forEach(function(t){var e=u[t];c[e]=t});var h=0,f={};return a.prototype.decRef=function(){--this.refCount<=0&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(f).forEach(function(e){t+=f[e].stats.size}),t}),{create:s,clear:function(){xe(f).forEach(o)},restore:l}},kn=36160,An=36161,Tn=3553,Sn=34069,En=36064,Ln=36096,Cn=36128,zn=33306,In=36053,Dn=6402,Pn=[6408],On=[];On[6408]=4;var Rn=[];Rn[5121]=1,Rn[5126]=4,Rn[36193]=2;var Fn=33189,jn=36168,Nn=34041,Bn=[32854,32855,36194,35907,34842,34843,34836],Un={};Un[In]=\\\"complete\\\",Un[36054]=\\\"incomplete attachment\\\",Un[36057]=\\\"incomplete dimensions\\\",Un[36055]=\\\"incomplete, missing attachment\\\",Un[36061]=\\\"unsupported\\\";var Vn=5126,Hn=35632,qn=35633,Gn=35718,Yn=35721,Xn=6408,Wn=5121,Zn=3333,Jn=5126,Kn=\\\"xyzw\\\".split(\\\"\\\"),Qn=5121,$n=1,ti=2,ei=0,ri=1,ni=2,ii=3,ai=4,oi=\\\"dither\\\",si=\\\"blend.enable\\\",li=\\\"blend.color\\\",ui=\\\"blend.equation\\\",ci=\\\"blend.func\\\",hi=\\\"depth.enable\\\",fi=\\\"depth.func\\\",di=\\\"depth.range\\\",pi=\\\"depth.mask\\\",mi=\\\"colorMask\\\",vi=\\\"cull.enable\\\",gi=\\\"cull.face\\\",yi=\\\"frontFace\\\",bi=\\\"lineWidth\\\",xi=\\\"polygonOffset.enable\\\",_i=\\\"polygonOffset.offset\\\",wi=\\\"sample.alpha\\\",Mi=\\\"sample.enable\\\",ki=\\\"sample.coverage\\\",Ai=\\\"stencil.enable\\\",Ti=\\\"stencil.mask\\\",Si=\\\"stencil.func\\\",Ei=\\\"stencil.opFront\\\",Li=\\\"stencil.opBack\\\",Ci=\\\"scissor.enable\\\",zi=\\\"scissor.box\\\",Ii=\\\"viewport\\\",Di=\\\"profile\\\",Pi=\\\"framebuffer\\\",Oi=\\\"vert\\\",Ri=\\\"frag\\\",Fi=\\\"elements\\\",ji=\\\"primitive\\\",Ni=\\\"count\\\",Bi=\\\"offset\\\",Ui=\\\"instances\\\",Vi=Pi+\\\"Width\\\",Hi=Pi+\\\"Height\\\",qi=Ii+\\\"Width\\\",Gi=Ii+\\\"Height\\\",Yi=\\\"drawingBufferWidth\\\",Xi=\\\"drawingBufferHeight\\\",Wi=[ci,ui,Si,Ei,Li,ki,Ii,zi,_i],Zi=34962,Ji=34963,Ki=3553,Qi=34067,$i=2884,ta=3042,ea=3024,ra=2960,na=2929,ia=3089,aa=32823,oa=32926,sa=32928,la=5126,ua=35664,ca=35665,ha=35666,fa=5124,da=35667,pa=35668,ma=35669,va=35670,ga=35671,ya=35672,ba=35673,xa=35674,_a=35675,wa=35676,Ma=35678,ka=35680,Aa=4,Ta=1028,Sa=1029,Ea=2304,La=2305,Ca=32775,za=32776,Ia=519,Da=7680,Pa=0,Oa=1,Ra=32774,Fa=513,ja=36160,Na=36064,Ba={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},Ua=[\\\"constant color, constant alpha\\\",\\\"one minus constant color, constant alpha\\\",\\\"constant color, one minus constant alpha\\\",\\\"one minus constant color, one minus constant alpha\\\",\\\"constant alpha, constant color\\\",\\\"constant alpha, one minus constant color\\\",\\\"one minus constant alpha, constant color\\\",\\\"one minus constant alpha, one minus constant color\\\"],Va={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},Ha={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\\\"increment wrap\\\":34055,\\\"decrement wrap\\\":34056,invert:5386},qa={frag:35632,vert:35633},Ga={cw:Ea,ccw:La},Ya=new Ht(!1,!1,!1,function(){}),Xa=34918,Wa=34919,Za=35007,Ja=function(t,e){function r(){return f.pop()||h.createQueryEXT()}function n(t){f.push(t)}function i(t){var e=r();h.beginQueryEXT(Za,e),d.push(e),u(d.length-1,d.length,t)}function a(){h.endQueryEXT(Za)}function o(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}function s(){return p.pop()||new o}function l(t){p.push(t)}function u(t,e,r){var n=s();n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,m.push(n)}function c(){var t,e,r=d.length;if(0!==r){g.length=Math.max(g.length,r+1),v.length=Math.max(v.length,r+1),v[0]=0,g[0]=0;var i=0;for(t=0,e=0;e<d.length;++e){var a=d[e];h.getQueryObjectEXT(a,Wa)?(i+=h.getQueryObjectEXT(a,Xa),n(a)):d[t++]=a,v[e+1]=i,g[e+1]=t}for(d.length=t,t=0,e=0;e<m.length;++e){var o=m[e],s=o.startQueryIndex,u=o.endQueryIndex;o.sum+=v[u]-v[s];var c=g[s],f=g[u];f===c?(o.stats.gpuTime+=o.sum/1e6,l(o)):(o.startQueryIndex=c,o.endQueryIndex=f,m[t++]=o)}m.length=t}}var h=e.ext_disjoint_timer_query;if(!h)return null;var f=[],d=[],p=[],m=[],v=[],g=[];return{beginQuery:i,endQuery:a,pushScopeStats:u,update:c,getNumPendingQueries:function(){return d.length},clear:function(){f.push.apply(f,d);for(var t=0;t<f.length;t++)h.deleteQueryEXT(f[t]);d.length=0,f.length=0},restore:function(){d.length=0,f.length=0}}},Ka=16384,Qa=256,$a=1024,to=34962,eo=\\\"webglcontextlost\\\",ro=\\\"webglcontextrestored\\\",no=1,io=2,ao=3;return Jt})},{}],499:[function(t,e,r){\\\"use strict\\\";function n(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(i!==t||void 0===i)i=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+=t,a=a.substr(0,r)}var i,a=\\\"\\\";e.exports=n},{}],500:[function(e,r,n){!function(e,i){\\\"function\\\"==typeof t&&t.amd?t(i):\\\"object\\\"==typeof n?r.exports=i():e.resolveUrl=i()}(this,function(){function t(){var t=arguments.length;if(0===t)throw new Error(\\\"resolveUrl requires at least one argument; got none.\\\");var e=document.createElement(\\\"base\\\");if(e.href=arguments[0],1===t)return e.href;var r=document.getElementsByTagName(\\\"head\\\")[0];r.insertBefore(e,r.firstChild);for(var n,i=document.createElement(\\\"a\\\"),a=1;a<t;a++)i.href=arguments[a],n=i.href,e.href=n;return r.removeChild(e),n}return t})},{}],501:[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:{})},{}],502:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];r=a+o;var s=r-a,l=o-s;l&&(t[--n]=r,r=l)}for(var u=0,i=n;i<e;++i){var a=t[i],o=r;r=a+o;var s=r-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t}e.exports=n},{}],503:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(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 a(t){return 1&t?\\\"-\\\":\\\"\\\"}function o(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(\\\",o(t.slice(0,e)),\\\",\\\",o(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function s(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(\\\",s(n(t,r)),\\\",\\\",a(r),t[0][r],\\\")\\\"].join(\\\"\\\"));return o(e)}function l(t){return new Function(\\\"sum\\\",\\\"scale\\\",\\\"prod\\\",\\\"compress\\\",[\\\"function robustDeterminant\\\",t,\\\"(m){return compress(\\\",s(i(t)),\\\")};return robustDeterminant\\\",t].join(\\\"\\\"))(c,h,u,f)}var u=t(\\\"two-product\\\"),c=t(\\\"robust-sum\\\"),h=t(\\\"robust-scale\\\"),f=t(\\\"robust-compress\\\"),d=6,p=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;p.length<d;)p.push(l(p.length));for(var t=[],r=[\\\"function robustDeterminant(m){switch(m.length){\\\"],n=0;n<d;++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 i=Function.apply(void 0,t);e.exports=i.apply(void 0,p.concat([p,l]));for(var n=0;n<p.length;++n)e.exports[n]=p[n]}()},{\\\"robust-compress\\\":502,\\\"robust-scale\\\":509,\\\"robust-sum\\\":512,\\\"two-product\\\":538}],504:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=i(t[0],e[0]),n=1;n<t.length;++n)r=a(r,i(t[n],e[n]));return r}var i=t(\\\"two-product\\\"),a=t(\\\"robust-sum\\\");e.exports=n},{\\\"robust-sum\\\":512,\\\"two-product\\\":538}],505:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(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}function a(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(\\\",a(t.slice(0,e)),\\\",\\\",a(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function o(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 o(e,t)}function s(t){return!0&t?\\\"-\\\":\\\"\\\"}function l(t){if(2===t.length)return[[\\\"diff(\\\",o(t[0][0],t[1][1]),\\\",\\\",o(t[1][0],t[0][1]),\\\")\\\"].join(\\\"\\\")];for(var e=[],r=0;r<t.length;++r)e.push([\\\"scale(\\\",a(l(n(t,r))),\\\",\\\",s(r),t[0][r],\\\")\\\"].join(\\\"\\\"));return e}function u(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\\\"prod(m\\\",t,\\\"[\\\",n,\\\"],m\\\",t,\\\"[\\\",n,\\\"])\\\"].join(\\\"\\\"));return a(r)}function c(t){for(var e=[],r=[],o=i(t),s=0;s<t;++s)o[0][s]=\\\"1\\\",o[t-1][s]=\\\"w\\\"+s;for(var s=0;s<t;++s)0==(1&s)?e.push.apply(e,l(n(o,s))):r.push.apply(r,l(n(o,s)));for(var c=a(e),h=a(r),f=\\\"exactInSphere\\\"+t,d=[],s=0;s<t;++s)d.push(\\\"m\\\"+s);for(var p=[\\\"function \\\",f,\\\"(\\\",d.join(),\\\"){\\\"],s=0;s<t;++s){p.push(\\\"var w\\\",s,\\\"=\\\",u(s,t),\\\";\\\");for(var b=0;b<t;++b)b!==s&&p.push(\\\"var w\\\",s,\\\"m\\\",b,\\\"=scale(w\\\",s,\\\",m\\\",b,\\\"[0]);\\\")}return p.push(\\\"var p=\\\",c,\\\",n=\\\",h,\\\",d=diff(p,n);return d[d.length-1];}return \\\",f),new Function(\\\"sum\\\",\\\"diff\\\",\\\"prod\\\",\\\"scale\\\",p.join(\\\"\\\"))(v,g,m,y)}function h(){return 0}function f(){return 0}function d(){return 0}function p(t){var e=x[t.length];return e||(e=x[t.length]=c(t.length)),e.apply(void 0,t)}var m=t(\\\"two-product\\\"),v=t(\\\"robust-sum\\\"),g=t(\\\"robust-subtract\\\"),y=t(\\\"robust-scale\\\"),b=6,x=[h,f,d];!function(){for(;x.length<=b;)x.push(c(x.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=b;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);for(var i=[\\\"function testInSphere(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"],n=2;n<=b;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[p].concat(x));for(var n=0;n<=b;++n)e.exports[n]=x[n]}()},{\\\"robust-scale\\\":509,\\\"robust-subtract\\\":511,\\\"robust-sum\\\":512,\\\"two-product\\\":538}],506:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=\\\"robustLinearSolve\\\"+t+\\\"d\\\",r=[\\\"function \\\",e,\\\"(A,b){return [\\\"],n=0;n<t;++n){r.push(\\\"det([\\\");for(var i=0;i<t;++i){i>0&&r.push(\\\",\\\"),r.push(\\\"[\\\");for(var a=0;a<t;++a)a>0&&r.push(\\\",\\\"),a===n?r.push(\\\"+b[\\\",i,\\\"]\\\"):r.push(\\\"+A[\\\",i,\\\"][\\\",a,\\\"]\\\");r.push(\\\"]\\\")}r.push(\\\"]),\\\")}r.push(\\\"det(A)]}return \\\",e);var s=new Function(\\\"det\\\",r.join(\\\"\\\"));return s(t<6?o[t]:o)}function i(){return[0]}function a(t,e){return[[e[0]],[t[0][0]]]}var o=t(\\\"robust-determinant\\\"),s=6,l=[i,a];!function(){for(;l.length<s;)l.push(n(l.length));for(var t=[],r=[\\\"function dispatchLinearSolve(A,b){switch(A.length){\\\"],i=0;i<s;++i)t.push(\\\"s\\\"+i),r.push(\\\"case \\\",i,\\\":return s\\\",i,\\\"(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 a=Function.apply(void 0,t);e.exports=a.apply(void 0,l.concat([l,n]));for(var i=0;i<s;++i)e.exports[i]=l[i]}()},{\\\"robust-determinant\\\":503}],507:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function i(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}function a(t){return 1&t?\\\"-\\\":\\\"\\\"}function o(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(\\\",o(t.slice(0,e)),\\\",\\\",o(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function s(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(\\\",o(s(n(t,r))),\\\",\\\",a(r),t[0][r],\\\")\\\"].join(\\\"\\\"));return e}function l(t){for(var e=[],r=[],a=i(t),l=[],u=0;u<t;++u)0==(1&u)?e.push.apply(e,s(n(a,u))):r.push.apply(r,s(n(a,u))),l.push(\\\"m\\\"+u);var p=o(e),m=o(r),v=\\\"orientation\\\"+t+\\\"Exact\\\",g=[\\\"function \\\",v,\\\"(\\\",l.join(),\\\"){var p=\\\",p,\\\",n=\\\",m,\\\",d=sub(p,n);return d[d.length-1];};return \\\",v].join(\\\"\\\");return new Function(\\\"sum\\\",\\\"prod\\\",\\\"scale\\\",\\\"sub\\\",g)(h,c,f,d)}function u(t){var e=g[t.length];return e||(e=g[t.length]=l(t.length)),e.apply(void 0,t)}var c=t(\\\"two-product\\\"),h=t(\\\"robust-sum\\\"),f=t(\\\"robust-scale\\\"),d=t(\\\"robust-subtract\\\"),p=5,m=l(3),v=l(4),g=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:m(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=a*u,p=o*l,m=o*s,g=i*u,y=i*l,b=a*s,x=c*(d-p)+h*(m-g)+f*(y-b),_=(Math.abs(d)+Math.abs(p))*Math.abs(c)+(Math.abs(m)+Math.abs(g))*Math.abs(h)+(Math.abs(y)+Math.abs(b))*Math.abs(f),w=7.771561172376103e-16*_;return x>w||-x>w?x:v(t,e,r,n)}];!function(){for(;g.length<=p;)g.push(l(g.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=p;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);for(var i=[\\\"function getOrientation(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"],n=2;n<=p;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);e.exports=a.apply(void 0,[u].concat(g));for(var n=0;n<=p;++n)e.exports[n]=g[n]}()},{\\\"robust-scale\\\":509,\\\"robust-subtract\\\":511,\\\"robust-sum\\\":512,\\\"two-product\\\":538}],508:[function(t,e,r){\\\"use strict\\\";function n(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 n=0;n<t.length;++n)r=i(r,a(e,t[n]));else for(var n=0;n<e.length;++n)r=i(r,a(t,e[n]));return r}var i=t(\\\"robust-sum\\\"),a=t(\\\"robust-scale\\\");e.exports=n},{\\\"robust-scale\\\":509,\\\"robust-sum\\\":512}],\\n\",\n       \"509:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.length;if(1===r){var n=i(t[0],e);return n[0]?n:[n[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],u=0;i(t[0],e,s),s[0]&&(o[u++]=s[0]);for(var c=1;c<r;++c){i(t[c],e,l);var h=s[1];a(h,l[0],s),s[0]&&(o[u++]=s[0]);var f=l[1],d=s[1],p=f+d,m=p-f,v=d-m;s[1]=p,v&&(o[u++]=v)}return s[1]&&(o[u++]=s[1]),0===u&&(o[u++]=0),o.length=u,o}var i=t(\\\"two-product\\\"),a=t(\\\"two-sum\\\");e.exports=n},{\\\"two-product\\\":538,\\\"two-sum\\\":539}],510:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],h=Math.min(u,c);if(Math.max(u,c)<s||l<h)return!1}return!0}function i(t,e,r,i){var o=a(t,r,i),s=a(e,r,i);if(o>0&&s>0||o<0&&s<0)return!1;var l=a(r,t,e),u=a(i,t,e);return!(l>0&&u>0||l<0&&u<0)&&(0!==o||0!==s||0!==l||0!==u||n(t,e,r,i))}e.exports=i;var a=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":507}],511:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],-e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),m=-e[h],v=f(m);p<v?(o=d,(c+=1)<r&&(d=t[c],p=f(d))):(o=m,(h+=1)<i&&(m=-e[h],v=f(m))),c<r&&p<v||h>=i?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=-e[h],v=f(m)));for(var g,y,b,x,_,w=a+o,M=w-a,k=o-M,A=k,T=w;c<r&&h<i;)p<v?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=-e[h],v=f(m))),o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g;for(;c<r;)a=d,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(c+=1)<r&&(d=t[c]);for(;h<i;)a=m,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(h+=1)<i&&(m=-e[h]);return A&&(l[u++]=A),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],512:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+e,n=r-t,i=r-n,a=e-n,o=t-i,s=o+a;return s?[s,r]:[r]}function i(t,e){var r=0|t.length,i=0|e.length;if(1===r&&1===i)return n(t[0],e[0]);var a,o,s=r+i,l=new Array(s),u=0,c=0,h=0,f=Math.abs,d=t[c],p=f(d),m=e[h],v=f(m);p<v?(o=d,(c+=1)<r&&(d=t[c],p=f(d))):(o=m,(h+=1)<i&&(m=e[h],v=f(m))),c<r&&p<v||h>=i?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=e[h],v=f(m)));for(var g,y,b,x,_,w=a+o,M=w-a,k=o-M,A=k,T=w;c<r&&h<i;)p<v?(a=d,(c+=1)<r&&(d=t[c],p=f(d))):(a=m,(h+=1)<i&&(m=e[h],v=f(m))),o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g;for(;c<r;)a=d,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(c+=1)<r&&(d=t[c]);for(;h<i;)a=m,o=A,w=a+o,M=w-a,k=o-M,k&&(l[u++]=k),g=T+w,y=g-T,b=g-y,x=w-y,_=T-b,A=_+x,T=g,(h+=1)<i&&(m=e[h]);return A&&(l[u++]=A),T&&(l[u++]=T),u||(l[u++]=0),l.length=u,l}e.exports=i},{}],513:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?r.exports=i():\\\"function\\\"==typeof t&&t.amd?t(i):e.ShelfPack=i()}(this,function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.stats={},this.count=function(t){this.stats[t]=1+(0|this.stats[t])}}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a=[],o=0;o<t.length;o++)if(r=t[o].w||t[o].width,n=t[o].h||t[o].height,r&&n){if(!(i=this.packOne(r,n)))continue;e.inPlace&&(t[o].x=i.x,t[o].y=i.y),a.push(i)}if(this.shelves.length>0){for(var s=0,l=0,u=0;u<this.shelves.length;u++){var c=this.shelves[u];l+=c.h,s=Math.max(c.w-c.free,s)}this.resize(s,l)}return a},t.prototype.packOne=function(t,r){for(var n,i,a=0,o={shelf:-1,waste:1/0},s=0;s<this.shelves.length;s++){if(n=this.shelves[s],a+=n.h,r===n.h&&t<=n.free)return this.count(r),n.alloc(t,r);r>n.h||t>n.free||r<n.h&&t<=n.free&&(i=n.h-r)<o.waste&&(o.waste=i,o.shelf=s)}if(-1!==o.shelf)return n=this.shelves[o.shelf],this.count(r),n.alloc(t,r);if(r<=this.h-a&&t<=this.w)return n=new e(a,this.w,r),this.shelves.push(n),this.count(r),n.alloc(t,r);if(this.autoResize){var l,u,c,h;return l=u=this.h,c=h=this.w,(c<=l||t>c)&&(h=2*Math.max(t,c)),(l<c||r>l)&&(u=2*Math.max(r,l)),this.resize(h,u),this.packOne(t,r)}return null},t.prototype.clear=function(){this.shelves=[],this.stats={}},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e){if(t>this.free||e>this.h)return null;var r=this.x;return this.x+=t,this.free-=t,{x:r,y:this.y,w:t,h:e,width:t,height:e}},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],514:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],515:[function(t,e,r){\\\"use strict\\\";function n(t){return a(i(t))}e.exports=n;var i=t(\\\"boundary-cells\\\"),a=t(\\\"reduce-simplicial-complex\\\")},{\\\"boundary-cells\\\":68,\\\"reduce-simplicial-complex\\\":497}],516:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}function i(t,e){for(var r=t.length,n=h.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}function a(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=h.mallocUint32(2*n),a=0,o=0;o<r;++o)for(var s=t[o],e=s.length,l=0;l<e;++l)for(var u=0;u<l;++u){var d=s[u],p=s[l];i[a++]=0|Math.min(d,p),i[a++]=0|Math.max(d,p)}f(c(i,[a/2|0,2]));for(var m=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[m++]=i[o],i[m++]=i[o+1]);return c(i,[m/2|0,2])}function o(t,e,r,n){for(var i=t.data,a=t.shape[0],o=h.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],f=i[2*l+1];if(r[u]!==r[f]){var d=e[u],p=e[f];i[2*s]=u,i[2*s+1]=f,o[s++]=(p-n)/(p-d)}}return t.shape[0]=s,c(o,[s])}function s(t,e){var r=h.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var a=0,o=0;o<n;++o){var s=i[2*o];if(s!==a){for(r[2*a+1]=o;++a<s;)r[2*a]=o,r[2*a+1]=o;r[2*a]=o}}for(r[2*a+1]=n;++a<e;)r[2*a]=r[2*a+1]=n;return r}function l(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}function u(t,e,r,u){if(r=r||0,void 0===u&&(u=n(t)),0===t.length||u<1)return{cells:[],vertexIds:[],vertexWeights:[]};var c=i(e,+r),f=a(t,u),p=o(f,e,c,+r),m=s(f,0|e.length),v=d(u)(t,f.data,m,c),g=l(f),y=[].slice.call(p.data,0,p.shape[0]);return h.free(c),h.free(f.data),h.free(p.data),h.free(m),{cells:v,vertexIds:g,vertexWeights:y}}e.exports=u;var c=t(\\\"ndarray\\\"),h=t(\\\"typedarray-pool\\\"),f=t(\\\"ndarray-sort\\\"),d=t(\\\"./lib/codegen\\\")},{\\\"./lib/codegen\\\":517,ndarray:466,\\\"ndarray-sort\\\":464,\\\"typedarray-pool\\\":540}],517:[function(t,e,r){\\\"use strict\\\";function n(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var n=1;n<=t;++n)for(var i=r[n]=o(n),s=0;s<i.length;++s)e=Math.max(e,i[n].length);for(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;\\\"],n=t+1;n>1;--n){n<t+1&&l.push(\\\"else \\\"),l.push(\\\"if(l===\\\",n,\\\"){\\\");for(var u=[],s=0;s<n;++s)u.push(\\\"(S[c[\\\"+s+\\\"]]<<\\\"+s+\\\")\\\");l.push(\\\"var M=\\\",u.join(\\\"+\\\"),\\\";if(M===0||M===\\\",(1<<n)-1,\\\"){continue}switch(M){\\\");for(var i=r[n-1],s=0;s<i.length;++s)l.push(\\\"case \\\",s,\\\":\\\"),function(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 i=r[n];n>0&&l.push(\\\",\\\"),l.push(\\\"B(C,E,c[\\\",i[0],\\\"],c[\\\",i[1],\\\"])\\\")}l.push(\\\"]\\\")}l.push(\\\");\\\")}}(i[s]),l.push(\\\"break;\\\");l.push(\\\"}}\\\")}return l.push(\\\"}return R;};return getContour\\\",t,\\\"d\\\"),new Function(\\\"pool\\\",l.join(\\\"\\\"))(a)}function i(t){var e=s[t];return e||(e=s[t]=n(t)),e}e.exports=i;var a=t(\\\"typedarray-pool\\\"),o=t(\\\"marching-simplex-table\\\"),s={}},{\\\"marching-simplex-table\\\":444,\\\"typedarray-pool\\\":540}],518:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";function n(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1}function i(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1}function a(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e}function o(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:var a=t[0]+t[1]-e[0]-e[1];return a||i(t[0],t[1])-i(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=i(t[0],t[1]),u=i(e[0],e[1]),a=i(l,t[2])-i(u,e[2]);return a||i(l+t[2],o)-i(u+e[2],s);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function s(t,e){return o(t[0],e[0])}function l(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(s);for(var i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(o),t}function u(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(o(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,s=o(t[a],e);s<=0?(0===s&&(i=a),r=a+1):s>0&&(n=a-1)}return i}function h(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],n=0,s=e.length;n<s;++n)for(var l=e[n],u=l.length,h=1,f=1<<u;h<f;++h){a.length=b.popCount(h);for(var d=0,p=0;p<u;++p)h&1<<p&&(a[d++]=l[p]);var m=c(t,a);if(!(m<0))for(;;)if(r[m++].push(n),m>=t.length||0!==o(t[m],a))break}return r}function f(t,e){if(!e)return h(u(p(t,0)),t,0);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];for(var n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r}function d(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var u=[],c=0;c<a;++c)o>>>c&1&&u.push(i[c]);e.push(u)}return l(e)}function p(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=b.nextCombination(o)){for(var s=new Array(e+1),u=0,c=0;c<a.length;++c)o&1<<c&&(s[u++]=a[c]);r.push(s)}return l(r)}function m(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),u=0,c=0;u<o;++u)u!==a&&(s[c++]=i[u]);e.push(s)}return l(e)}function v(t,e){for(var r=new x(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);for(var s=[],l=r.ranks,n=0;n<l.length;++n)l[n]=-1;for(var n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}function g(t){for(var e=u(l(p(t,0))),r=new x(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=c(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,c(e,[i[s]]));for(var h=[],f=r.ranks,n=0;n<f.length;++n)f[n]=-1;for(var n=0;n<t.length;++n){var d=r.find(c(e,[t[n][0]]));f[d]<0?(f[d]=h.length,h.push([t[n].slice(0)])):h[f[d]].push(t[n].slice(0))}return h}function y(t,e){return e?v(t,e):g(t)}var b=t(\\\"bit-twiddle\\\"),x=t(\\\"union-find\\\");r.dimension=n,r.countVertices=i,r.cloneCells=a,r.compareCells=o,r.normalize=l,r.unique=u,r.findCell=c,r.incidence=h,r.dual=f,r.explode=d,r.skeleton=p,r.boundary=m,r.connectedComponents=y},{\\\"bit-twiddle\\\":66,\\\"union-find\\\":541}],519:[function(t,e,r){arguments[4][66][0].apply(r,arguments)},{dup:66}],520:[function(t,e,r){arguments[4][518][0].apply(r,arguments)},{\\\"bit-twiddle\\\":519,dup:518,\\\"union-find\\\":521}],521:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],522:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.abs(a(t,e,r))/Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function i(t,e,r){function i(t){if(b[t])return 1/0;var r=v[t],i=g[t];return r<0||i<0?1/0:n(e[t],e[r],e[i])}function a(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,A[r]=e,A[n]=t}function s(t){return y[k[t]]}function l(t){return 1&t?t-1>>1:(t>>1)-1}function u(t){for(var e=s(t);;){var r=e,n=2*t+1,i=2*(t+1),o=t;if(n<T){var l=s(n);l<r&&(o=n,r=l)}if(i<T){s(i)<r&&(o=i)}if(o===t)return t;a(t,o),t=o}}function c(t){for(var e=s(t);t>0;){var r=l(t);if(r>=0){if(e<s(r)){a(t,r),t=r;continue}}return t}}function h(){if(T>0){var t=k[0];return a(0,T-1),T-=1,u(0),t}return-1}function f(t,e){var r=k[t];return y[r]===e?t:(y[r]=-1/0,c(t),h(),y[r]=e,T+=1,c(T-1))}function d(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!b[n]||i<0||i===n)break;if(n=i,i=t[n],!b[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}for(var p=e.length,m=t.length,v=new Array(p),g=new Array(p),y=new Array(p),b=new Array(p),x=0;x<p;++x)v[x]=g[x]=-1,y[x]=1/0,b[x]=!1;for(var x=0;x<m;++x){var _=t[x];if(2!==_.length)throw new Error(\\\"Input must be a graph\\\");var w=_[1],M=_[0];-1!==g[M]?g[M]=-2:g[M]=w,-1!==v[w]?v[w]=-2:v[w]=M}for(var k=[],A=new Array(p),x=0;x<p;++x){(y[x]=i(x))<1/0?(A[x]=k.length,k.push(x)):A[x]=-1}for(var T=k.length,x=T>>1;x>=0;--x)u(x);for(;;){var S=h();if(S<0||y[S]>r)break;!function(t){if(!b[t]){b[t]=!0;var e=v[t],r=g[t];v[r]>=0&&(v[r]=e),g[e]>=0&&(g[e]=r),A[e]>=0&&f(A[e],i(e)),A[r]>=0&&f(A[r],i(r))}}(S)}for(var E=[],x=0;x<p;++x)b[x]||(A[x]=E.length,E.push(e[x].slice()));var L=(E.length,[]);return t.forEach(function(t){var e=d(v,t[0]),r=d(g,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&L.push([n,i])}}),o.unique(o.normalize(L)),{positions:E,edges:L}}e.exports=i;var a=t(\\\"robust-orientation\\\"),o=t(\\\"simplicial-complex\\\")},{\\\"robust-orientation\\\":507,\\\"simplicial-complex\\\":520}],523:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var i=Math.min(t[0][1],t[1][1]),o=Math.max(t[0][1],t[1][1]),s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]);return o<s?o-s:i>l?i-l:o-l}r=e[1],n=e[0]}var u,c;t[0][1]<t[1][1]?(u=t[0],c=t[1]):(u=t[1],c=t[0]);var h=a(n,r,u);return h||((h=a(n,r,c))||c-n)}function i(t,e){var r,i;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return n(e,t);r=e[1],i=e[0]}var o,s;if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-n(t,e);o=t[1],s=t[0]}var l=a(r,i,s),u=a(r,i,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=a(s,o,i),u=a(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return i[0]-s[0]}e.exports=i;var a=t(\\\"robust-orientation\\\")},{\\\"robust-orientation\\\":507}],524:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function i(t,e){return t.y-e}function a(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=h(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{var l=a(t.right,e);if(l)return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l=a(t.right,e);if(l)return l;t=t.left}}return r}function o(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function s(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}function l(t){for(var e=t.length,r=2*e,i=new Array(r),a=0;a<e;++a){var l=t[a],u=l[0][0]<l[1][0];i[2*a]=new s(l[0][0],l,u,a),i[2*a+1]=new s(l[1][0],l,!u,a)}i.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]))});for(var h=c(f),d=[],p=[],m=[],a=0;a<r;){for(var v=i[a].x,g=[];a<r;){var y=i[a];if(y.x!==v)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(g.push(new o(y.segment[0][1],y.index,!0,!0)),g.push(new o(y.segment[1][1],y.index,!1,!1))):(g.push(new o(y.segment[1][1],y.index,!0,!1)),g.push(new o(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}d.push(h.root),p.push(v),m.push(g)}return new n(d,p,m)}e.exports=l;var u=t(\\\"binary-search-bounds\\\"),c=t(\\\"functional-red-black-tree\\\"),h=t(\\\"robust-orientation\\\"),f=t(\\\"./lib/order-segments\\\");n.prototype.castUp=function(t){var e=u.le(this.coordinates,t[0]);if(e<0)return-1;var r=(this.slabs[e],a(this.slabs[e],t)),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var o=null;if(r&&(o=r.key),e>0){var s=a(this.slabs[e-1],t);s&&(o?f(s.key,o)>0&&(o=s.key,n=s.value):(n=s.value,o=s.key))}var l=this.horizontal[e];if(l.length>0){var c=u.ge(l,t[1],i);if(c<l.length){var d=l[c];if(t[1]===d.y){if(d.closed)return d.index;for(;c<l.length-1&&l[c+1].y===t[1];)if(c+=1,d=l[c],d.closed)return d.index;if(d.y===t[1]&&!d.start){if((c+=1)>=l.length)return n;d=l[c]}}if(d.start)if(o){var p=h(o[0],o[1],[t[0],d.y]);o[0][0]>o[1][0]&&(p=-p),p>0&&(n=d.index)}else n=d.index;else d.y!==t[1]&&(n=d.index)}}}return n}},{\\\"./lib/order-segments\\\":523,\\\"binary-search-bounds\\\":65,\\\"functional-red-black-tree\\\":134,\\\"robust-orientation\\\":507}],525:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=u(l(t,e),[e[e.length-1]]);return r[r.length-1]}function i(t,e,r,n){var i=n-e,a=-e/i;a<0?a=0:a>1&&(a=1);for(var o=1-a,s=t.length,l=new Array(s),u=0;u<s;++u)l[u]=a*t[u]+o*r[u];return l}function a(t,e){for(var r=[],a=[],o=n(t[t.length-1],e),s=t[t.length-1],l=t[0],u=0;u<t.length;++u,s=l){l=t[u];var c=n(l,e);if(o<0&&c>0||o>0&&c<0){var h=i(s,c,l,o);r.push(h),a.push(h.slice())}c<0?a.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),a.push(l.slice())),o=c}return{positive:r,negative:a}}function o(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u>=0&&r.push(s.slice()),a=u}return r}function s(t,e){for(var r=[],a=n(t[t.length-1],e),o=t[t.length-1],s=t[0],l=0;l<t.length;++l,o=s){s=t[l];var u=n(s,e);(a<0&&u>0||a>0&&u<0)&&r.push(i(o,u,s,a)),u<=0&&r.push(s.slice()),a=u}return r}var l=t(\\\"robust-dot-product\\\"),u=t(\\\"robust-sum\\\");e.exports=a,e.exports.positive=o,e.exports.negative=s},{\\\"robust-dot-product\\\":504,\\\"robust-sum\\\":512}],526:[function(e,r,n){!function(){\\\"use strict\\\";function e(t){return i(a(t),arguments)}function r(t,r){return e.apply(null,[t].concat(r||[]))}function i(t,r){var n,i,a,s,l,u,c,h,f,d=1,p=t.length,m=\\\"\\\";for(i=0;i<p;i++)if(\\\"string\\\"==typeof t[i])m+=t[i];else if(Array.isArray(t[i])){if(s=t[i],s[2])for(n=r[d],a=0;a<s[2].length;a++){if(!n.hasOwnProperty(s[2][a]))throw new Error(e('[sprintf] property \\\"%s\\\" does not exist',s[2][a]));n=n[s[2][a]]}else n=s[1]?r[s[1]]:r[d++];if(o.not_type.test(s[8])&&o.not_primitive.test(s[8])&&n instanceof Function&&(n=n()),o.numeric_arg.test(s[8])&&\\\"number\\\"!=typeof n&&isNaN(n))throw new TypeError(e(\\\"[sprintf] expecting number but found %T\\\",n));switch(o.number.test(s[8])&&(h=n>=0),s[8]){case\\\"b\\\":n=parseInt(n,10).toString(2);break;case\\\"c\\\":n=String.fromCharCode(parseInt(n,10));break;case\\\"d\\\":case\\\"i\\\":n=parseInt(n,10);break;case\\\"j\\\":n=JSON.stringify(n,null,s[6]?parseInt(s[6]):0);break;case\\\"e\\\":n=s[7]?parseFloat(n).toExponential(s[7]):parseFloat(n).toExponential();break;case\\\"f\\\":n=s[7]?parseFloat(n).toFixed(s[7]):parseFloat(n);break;case\\\"g\\\":n=s[7]?String(Number(n.toPrecision(s[7]))):parseFloat(n);break;case\\\"o\\\":n=(parseInt(n,10)>>>0).toString(8);break;case\\\"s\\\":n=String(n),n=s[7]?n.substring(0,s[7]):n;break;case\\\"t\\\":n=String(!!n),n=s[7]?n.substring(0,s[7]):n;break;case\\\"T\\\":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=s[7]?n.substring(0,s[7]):n;break;case\\\"u\\\":n=parseInt(n,10)>>>0;break;case\\\"v\\\":n=n.valueOf(),n=s[7]?n.substring(0,s[7]):n;break;case\\\"x\\\":n=(parseInt(n,10)>>>0).toString(16);break;case\\\"X\\\":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(s[8])?m+=n:(!o.number.test(s[8])||h&&!s[3]?f=\\\"\\\":(f=h?\\\"+\\\":\\\"-\\\",n=n.toString().replace(o.sign,\\\"\\\")),u=s[4]?\\\"0\\\"===s[4]?\\\"0\\\":s[4].charAt(1):\\\" \\\",c=s[6]-(f+n).length,l=s[6]&&c>0?u.repeat(c):\\\"\\\",m+=s[5]?f+n+l:\\\"0\\\"===u?f+l+n:l+f+n)}return m}function a(t){if(s[t])return s[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=o.text.exec(r)))n.push(e[0]);else if(null!==(e=o.modulo.exec(r)))n.push(\\\"%\\\");else{if(null===(e=o.placeholder.exec(r)))throw new SyntaxError(\\\"[sprintf] unexpected placeholder\\\");if(e[2]){i|=1;var a=[],l=e[2],u=[];if(null===(u=o.key.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");for(a.push(u[1]);\\\"\\\"!==(l=l.substring(u[0].length));)if(null!==(u=o.key_access.exec(l)))a.push(u[1]);else{if(null===(u=o.index_access.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");a.push(u[1])}e[2]=a}else i|=2;if(3===i)throw new Error(\\\"[sprintf] mixing positional and named placeholders is not (yet) supported\\\");n.push(e)}r=r.substring(e[0].length)}return s[t]=n}var o={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:/^[\\\\+\\\\-]/},s=Object.create(null);void 0!==n&&(n.sprintf=e,n.vsprintf=r),\\\"undefined\\\"!=typeof window&&(window.sprintf=e,window.vsprintf=r,\\\"function\\\"==typeof t&&t.amd&&t(function(){return{sprintf:e,vsprintf:r}}))}()},{}],527:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];for(var u=0,c=[],h=[],l=0;l<e;++l)r[l]<0&&function(e){var l=[e],f=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;f.length>0;){e=f[f.length-1];var d=t[e];if(a[e]<d.length){for(var p=a[e];p<d.length;++p){var m=d[p];if(r[m]<0){r[m]=n[m]=u,i[m]=!0,u+=1,l.push(m),f.push(m);break}i[m]&&(n[e]=0|Math.min(n[e],n[m])),o[m]>=0&&s[e].push(o[m])}a[e]=p}else{if(n[e]===r[e]){for(var v=[],g=[],y=0,p=l.length-1;p>=0;--p){var b=l[p];if(i[b]=!1,v.push(b),g.push(s[b]),y+=s[b].length,o[b]=c.length,b===e){l.length=p;break}}c.push(v);for(var x=new Array(y),p=0;p<g.length;p++)for(var _=0;_<g[p].length;_++)x[--y]=g[p][_];h.push(x)}f.pop()}}}(l);for(var f,l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort(function(t,e){return t-e}),f=[d[0]];for(var p=1;p<d.length;p++)d[p]!==d[p-1]&&f.push(d[p]);h[l]=f}}return{components:c,adjacencyList:h}}e.exports=n},{}],528:[function(t,e,r){\\\"use strict\\\";function n(t){return new i(t)}function i(t){this.options=d(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function a(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function o(t,e){var r=t.geometry.coordinates;return{x:u(r[0]),y:c(r[1]),zoom:1/0,id:e,parentId:-1}}function s(t){return{type:\\\"Feature\\\",properties:l(t),geometry:{type:\\\"Point\\\",coordinates:[h(t.x),f(t.y)]}}}function l(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\\\"k\\\":e>=1e3?Math.round(e/100)/10+\\\"k\\\":e;return d(d({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function u(t){return t/360+.5}function c(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){return 360*(t-.5)}function f(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function d(t,e){for(var r in e)t[r]=e[r];return t}function p(t){return t.x}function m(t){return t.y}var v=t(\\\"kdbush\\\");e.exports=n,i.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\\\"total time\\\");var r=\\\"prepare \\\"+t.length+\\\" points\\\";e&&console.time(r),this.points=t;var n=t.map(o);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var a=+Date.now();this.trees[i+1]=v(n,p,m,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\\\"z%d: %d clusters in %dms\\\",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=v(n,p,m,this.options.nodeSize,Float32Array),e&&console.timeEnd(\\\"total time\\\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(u(t[0]),c(t[3]),u(t[2]),c(t[1])),i=[],a=0;a<n.length;a++){var o=r.points[n[a]];i.push(o.numPoints?s(o):this.points[o.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],o=0;o<i.length;o++){var l=this.trees[e+1].points[i[o]];l.parentId===t&&a.push(l.numPoints?s(l):this.points[l.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius,s=o/a,l=(r-s)/i,u=(r+1+s)/i,c={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,u),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,u),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,u),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var s=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(s.x*i-r)),Math.round(this.options.extent*(s.y*i-n))]],tags:s.numPoints?l(s):this.points[s.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i<t.length;i++){var o=t[i];if(!(o.zoom<=e)){o.zoom=e;var s=this.trees[e+1],l=s.within(o.x,o.y,n),u=o.numPoints||1,c=o.x*u,h=o.y*u,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,o));for(var d=0;d<l.length;d++){var p=s.points[l[d]];if(e<p.zoom){var m=p.numPoints||1;p.zoom=e,c+=p.x*m,h+=p.y*m,u+=m,p.parentId=i,this.options.reduce&&this._accumulate(f,p)}}1===u?r.push(o):(o.parentId=i,r.push(a(c/u,h/u,u,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:297}],529:[function(t,e,r){\\\"use strict\\\";function n(t){return t.split(\\\"\\\").map(function(t){return t in i?i[t]:\\\"\\\"}).join(\\\"\\\")}e.exports=n;var i={\\\" \\\":\\\" \\\",0:\\\"\\\\u2070\\\",1:\\\"\\\\xb9\\\",2:\\\"\\\\xb2\\\",3:\\\"\\\\xb3\\\",4:\\\"\\\\u2074\\\",5:\\\"\\\\u2075\\\",6:\\\"\\\\u2076\\\",7:\\\"\\\\u2077\\\",8:\\\"\\\\u2078\\\",9:\\\"\\\\u2079\\\",\\\"+\\\":\\\"\\\\u207a\\\",\\\"-\\\":\\\"\\\\u207b\\\",a:\\\"\\\\u1d43\\\",b:\\\"\\\\u1d47\\\",c:\\\"\\\\u1d9c\\\",d:\\\"\\\\u1d48\\\",e:\\\"\\\\u1d49\\\",f:\\\"\\\\u1da0\\\",g:\\\"\\\\u1d4d\\\",h:\\\"\\\\u02b0\\\",i:\\\"\\\\u2071\\\",j:\\\"\\\\u02b2\\\",k:\\\"\\\\u1d4f\\\",l:\\\"\\\\u02e1\\\",m:\\\"\\\\u1d50\\\",n:\\\"\\\\u207f\\\",o:\\\"\\\\u1d52\\\",p:\\\"\\\\u1d56\\\",r:\\\"\\\\u02b3\\\",s:\\\"\\\\u02e2\\\",t:\\\"\\\\u1d57\\\",u:\\\"\\\\u1d58\\\",v:\\\"\\\\u1d5b\\\",w:\\\"\\\\u02b7\\\",x:\\\"\\\\u02e3\\\",y:\\\"\\\\u02b8\\\",z:\\\"\\\\u1dbb\\\"}},{}],530:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.length,n=[\\\"'use strict';\\\"],i=\\\"surfaceNets\\\"+t.join(\\\"_\\\")+\\\"d\\\"+e;n.push(\\\"var contour=genContour({\\\",\\\"order:[\\\",t.join(),\\\"],\\\",\\\"scalarArguments: 3,\\\",\\\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\\\"),\\\"generic\\\"===e&&n.push(\\\"getters:[0],\\\");for(var a=[],l=[],u=0;u<r;++u)a.push(\\\"d\\\"+u),l.push(\\\"d\\\"+u);for(var u=0;u<1<<r;++u)a.push(\\\"v\\\"+u),l.push(\\\"v\\\"+u);for(var u=0;u<1<<r;++u)a.push(\\\"p\\\"+u),l.push(\\\"p\\\"+u);a.push(\\\"a\\\",\\\"b\\\",\\\"c\\\"),l.push(\\\"a\\\",\\\"c\\\"),n.push(\\\"vertex:function vertexFunc(\\\",a.join(),\\\"){\\\");for(var c=[],u=0;u<1<<r;++u)c.push(\\\"(p\\\"+u+\\\"<<\\\"+u+\\\")\\\");n.push(\\\"var m=(\\\",c.join(\\\"+\\\"),\\\")|0;if(m===0||m===\\\",(1<<(1<<r))-1,\\\"){return}\\\");var h=[],f=[];1<<(1<<r)<=128?(n.push(\\\"switch(m){\\\"),f=n):n.push(\\\"switch(m>>>7){\\\");for(var u=0;u<1<<(1<<r);++u){if(1<<(1<<r)>128&&u%128==0){h.length>0&&f.push(\\\"}}\\\");var d=\\\"vExtra\\\"+h.length;n.push(\\\"case \\\",u>>>7,\\\":\\\",d,\\\"(m&0x7f,\\\",l.join(),\\\");break;\\\"),f=[\\\"function \\\",d,\\\"(m,\\\",l.join(),\\\"){switch(m){\\\"],h.push(f)}f.push(\\\"case \\\",127&u,\\\":\\\");for(var p=new Array(r),m=new Array(r),v=new Array(r),g=new Array(r),y=0,b=0;b<r;++b)p[b]=[],m[b]=[],v[b]=0,g[b]=0;for(var b=0;b<1<<r;++b)for(var x=0;x<r;++x){var _=b^1<<x;if(!(_>b)&&!(u&1<<_)!=!(u&1<<b)){var w=1;u&1<<_?m[x].push(\\\"v\\\"+_+\\\"-v\\\"+b):(m[x].push(\\\"v\\\"+b+\\\"-v\\\"+_),w=-w),w<0?(p[x].push(\\\"-v\\\"+b+\\\"-v\\\"+_),v[x]+=2):(p[x].push(\\\"v\\\"+b+\\\"+v\\\"+_),v[x]-=2),y+=1;for(var M=0;M<r;++M)M!==x&&(_&1<<M?g[M]+=1:g[M]-=1)}}for(var k=[],x=0;x<r;++x)if(0===p[x].length)k.push(\\\"d\\\"+x+\\\"-0.5\\\");else{var A=\\\"\\\";v[x]<0?A=v[x]+\\\"*c\\\":v[x]>0&&(A=\\\"+\\\"+v[x]+\\\"*c\\\");var T=p[x].length/y*.5,S=.5+g[x]/y*.5;k.push(\\\"d\\\"+x+\\\"-\\\"+S+\\\"-\\\"+T+\\\"*(\\\"+p[x].join(\\\"+\\\")+A+\\\")/(\\\"+m[x].join(\\\"+\\\")+\\\")\\\")}f.push(\\\"a.push([\\\",k.join(),\\\"]);\\\",\\\"break;\\\")}n.push(\\\"}},\\\"),h.length>0&&f.push(\\\"}}\\\");for(var E=[],u=0;u<1<<r-1;++u)E.push(\\\"v\\\"+u);E.push(\\\"c0\\\",\\\"c1\\\",\\\"p0\\\",\\\"p1\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\"),n.push(\\\"cell:function cellFunc(\\\",E.join(),\\\"){\\\");var L=s(r-1);n.push(\\\"if(p0){b.push(\\\",L.map(function(t){return\\\"[\\\"+t.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}else{b.push(\\\",L.map(function(t){var e=t.slice();return e.reverse(),\\\"[\\\"+e.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}}});function \\\",i,\\\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \\\",i,\\\";\\\");for(var u=0;u<h.length;++u)n.push(h[u].join(\\\"\\\"));return new Function(\\\"genContour\\\",n.join(\\\"\\\"))(o)}function i(t,e){for(var r=l(t,e),n=r.length,i=new Array(n),a=new Array(n),o=0;o<n;++o)i[o]=[r[o]],a[o]=[o];return{positions:i,cells:a}}function a(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return i(t,e);var r=t.order.join()+\\\"-\\\"+t.dtype,a=u[r],e=+e||0;return a||(a=u[r]=n(t.order,t.dtype)),a(t,e)}e.exports=a;var o=t(\\\"ndarray-extract-contour\\\"),s=t(\\\"triangulate-hypercube\\\"),l=t(\\\"zero-crossings\\\"),u={}},{\\\"ndarray-extract-contour\\\":455,\\\"triangulate-hypercube\\\":536,\\\"zero-crossings\\\":583}],531:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}function i(t,e,r){var r=r||{},o=s[t];o||(o=s[t]={\\\" \\\":{data:new Float32Array(0),shape:.2}});var l=o[e];if(!l)if(e.length<=1||!/\\\\d/.test(e))l=o[e]=n(a(e,{triangles:!0,font:t,textAlign:r.textAlign||\\\"left\\\",textBaseline:\\\"alphabetic\\\"}));else{for(var u=e.split(/(\\\\d|\\\\s)/),c=new Array(u.length),h=0,f=0,d=0;d<u.length;++d)c[d]=i(t,u[d]),h+=c[d].data.length,f+=c[d].shape,d>0&&(f+=.02);for(var p=new Float32Array(h),m=0,v=-.5*f,d=0;d<c.length;++d){for(var g=c[d].data,y=0;y<g.length;y+=2)p[m++]=g[y]+v,p[m++]=g[y+1];v+=c[d].shape+.02}l=o[e]={data:p,shape:f}}return l}e.exports=i;var a=t(\\\"vectorize-text\\\"),o=window||r.global||{},s=o.__TEXT_CACHE||{};o.__TEXT_CACHE={}}).call(this,t(\\\"_process\\\"))},{_process:486,\\\"vectorize-text\\\":553}],532:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\\\"sans-serif\\\",this.radius=r||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\\\"canvas\\\"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext(\\\"2d\\\"),this.ctx.font=t+\\\"px \\\"+this.fontFamily,this.ctx.textBaseline=\\\"middle\\\",this.ctx.fillStyle=\\\"black\\\",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf(\\\"Gecko/\\\")>=0?1.2:1))}function i(t,e,r,n,i,o,s){for(var l=0;l<e;l++){for(var u=0;u<r;u++)n[u]=t[u*e+l];for(a(n,i,o,s,r),u=0;u<r;u++)t[u*e+l]=i[u]}for(u=0;u<r;u++){for(l=0;l<e;l++)n[l]=t[u*e+l];for(a(n,i,o,s,e),l=0;l<e;l++)t[u*e+l]=Math.sqrt(i[l])}}function a(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a<i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l<=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);s++,r[s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a<i;a++){\\n\",\n       \"for(;n[s+1]<a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}e.exports=n;var o=1e20;n.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=e.data,n=0;n<this.size*this.size;n++){var a=r[4*n+3]/255;this.gridOuter[n]=1===a?0:0===a?o:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?o:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(i(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),i(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var s=this.gridOuter[n]-this.gridInner[n],l=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))));r[4*n+0]=l,r[4*n+1]=l,r[4*n+2]=l,r[4*n+3]=255}return e}},{}],533:[function(e,r,n){!function(e){function n(t,e){if(t=t||\\\"\\\",e=e||{},t instanceof n)return t;if(!(this instanceof n))return new n(t,e);var r=i(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=V(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=V(this._r)),this._g<1&&(this._g=V(this._g)),this._b<1&&(this._b=V(this._b)),this._ok=r.ok,this._tc_id=U++}function i(t){var e={r:0,g:0,b:0},r=1,n=null,i=null,o=null,l=!1,c=!1;return\\\"string\\\"==typeof t&&(t=F(t)),\\\"object\\\"==typeof t&&(R(t.r)&&R(t.g)&&R(t.b)?(e=a(t.r,t.g,t.b),l=!0,c=\\\"%\\\"===String(t.r).substr(-1)?\\\"prgb\\\":\\\"rgb\\\"):R(t.h)&&R(t.s)&&R(t.v)?(n=D(t.s),i=D(t.v),e=u(t.h,n,i),l=!0,c=\\\"hsv\\\"):R(t.h)&&R(t.s)&&R(t.l)&&(n=D(t.s),o=D(t.l),e=s(t.h,n,o),l=!0,c=\\\"hsl\\\"),t.hasOwnProperty(\\\"a\\\")&&(r=t.a)),r=T(r),{ok:l,format:t.format||c,r:H(255,q(e.r,0)),g:H(255,q(e.g,0)),b:H(255,q(e.b,0)),a:r}}function a(t,e,r){return{r:255*S(t,255),g:255*S(e,255),b:255*S(r,255)}}function o(t,e,r){t=S(t,255),e=S(e,255),r=S(r,255);var n,i,a=q(t,e,r),o=H(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function s(t,e,r){function n(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}var i,a,o;if(t=S(t,360),e=S(e,100),r=S(r,100),0===e)i=a=o=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;i=n(l,s,t+1/3),a=n(l,s,t),o=n(l,s,t-1/3)}return{r:255*i,g:255*a,b:255*o}}function l(t,e,r){t=S(t,255),e=S(e,255),r=S(r,255);var n,i,a=q(t,e,r),o=H(t,e,r),s=a,l=a-o;if(i=0===a?0:l/a,a==o)n=0;else{switch(a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,v:s}}function u(t,r,n){t=6*S(t,360),r=S(r,100),n=S(n,100);var i=e.floor(t),a=t-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),u=i%6;return{r:255*[n,s,o,o,l,n][u],g:255*[l,n,n,s,o,o][u],b:255*[o,o,l,n,n,s][u]}}function c(t,e,r,n){var i=[I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\\\"\\\")}function h(t,e,r,n,i){var a=[I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16)),I(P(n))];return i&&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[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\\\"\\\")}function f(t,e,r,n){return[I(P(n)),I(V(t).toString(16)),I(V(e).toString(16)),I(V(r).toString(16))].join(\\\"\\\")}function d(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s-=e/100,r.s=E(r.s),n(r)}function p(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.s+=e/100,r.s=E(r.s),n(r)}function m(t){return n(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l+=e/100,r.l=E(r.l),n(r)}function g(t,e){e=0===e?0:e||10;var r=n(t).toRgb();return r.r=q(0,H(255,r.r-V(-e/100*255))),r.g=q(0,H(255,r.g-V(-e/100*255))),r.b=q(0,H(255,r.b-V(-e/100*255))),n(r)}function y(t,e){e=0===e?0:e||10;var r=n(t).toHsl();return r.l-=e/100,r.l=E(r.l),n(r)}function b(t,e){var r=n(t).toHsl(),i=(r.h+e)%360;return r.h=i<0?360+i:i,n(r)}function x(t){var e=n(t).toHsl();return e.h=(e.h+180)%360,n(e)}function _(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+120)%360,s:e.s,l:e.l}),n({h:(r+240)%360,s:e.s,l:e.l})]}function w(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+90)%360,s:e.s,l:e.l}),n({h:(r+180)%360,s:e.s,l:e.l}),n({h:(r+270)%360,s:e.s,l:e.l})]}function M(t){var e=n(t).toHsl(),r=e.h;return[n(t),n({h:(r+72)%360,s:e.s,l:e.l}),n({h:(r+216)%360,s:e.s,l:e.l})]}function k(t,e,r){e=e||6,r=r||30;var i=n(t).toHsl(),a=360/r,o=[n(t)];for(i.h=(i.h-(a*e>>1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(n(i));return o}function A(t,e){e=e||6;for(var r=n(t).toHsv(),i=r.h,a=r.s,o=r.v,s=[],l=1/e;e--;)s.push(n({h:i,s:a,v:o})),o=(o+l)%1;return s}function T(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function S(t,r){C(t)&&(t=\\\"100%\\\");var n=z(t);return t=H(r,q(0,parseFloat(t))),n&&(t=parseInt(t*r,10)/100),e.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function E(t){return H(1,q(0,t))}function L(t){return parseInt(t,16)}function C(t){return\\\"string\\\"==typeof t&&-1!=t.indexOf(\\\".\\\")&&1===parseFloat(t)}function z(t){return\\\"string\\\"==typeof t&&-1!=t.indexOf(\\\"%\\\")}function I(t){return 1==t.length?\\\"0\\\"+t:\\\"\\\"+t}function D(t){return t<=1&&(t=100*t+\\\"%\\\"),t}function P(t){return e.round(255*parseFloat(t)).toString(16)}function O(t){return L(t)/255}function R(t){return!!W.CSS_UNIT.exec(t)}function F(t){t=t.replace(N,\\\"\\\").replace(B,\\\"\\\").toLowerCase();var e=!1;if(Y[t])t=Y[t],e=!0;else if(\\\"transparent\\\"==t)return{r:0,g:0,b:0,a:0,format:\\\"name\\\"};var r;return(r=W.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=W.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=W.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=W.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=W.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=W.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=W.hex8.exec(t))?{r:L(r[1]),g:L(r[2]),b:L(r[3]),a:O(r[4]),format:e?\\\"name\\\":\\\"hex8\\\"}:(r=W.hex6.exec(t))?{r:L(r[1]),g:L(r[2]),b:L(r[3]),format:e?\\\"name\\\":\\\"hex\\\"}:(r=W.hex4.exec(t))?{r:L(r[1]+\\\"\\\"+r[1]),g:L(r[2]+\\\"\\\"+r[2]),b:L(r[3]+\\\"\\\"+r[3]),a:O(r[4]+\\\"\\\"+r[4]),format:e?\\\"name\\\":\\\"hex8\\\"}:!!(r=W.hex3.exec(t))&&{r:L(r[1]+\\\"\\\"+r[1]),g:L(r[2]+\\\"\\\"+r[2]),b:L(r[3]+\\\"\\\"+r[3]),format:e?\\\"name\\\":\\\"hex\\\"}}function j(t){var e,r;return t=t||{level:\\\"AA\\\",size:\\\"small\\\"},e=(t.level||\\\"AA\\\").toUpperCase(),r=(t.size||\\\"small\\\").toLowerCase(),\\\"AA\\\"!==e&&\\\"AAA\\\"!==e&&(e=\\\"AA\\\"),\\\"small\\\"!==r&&\\\"large\\\"!==r&&(r=\\\"small\\\"),{level:e,size:r}}var N=/^\\\\s+/,B=/\\\\s+$/,U=0,V=e.round,H=e.min,q=e.max,G=e.random;n.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 t,r,n,i,a,o,s=this.toRgb();return t=s.r/255,r=s.g/255,n=s.b/255,i=t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4),a=r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4),o=n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4),.2126*i+.7152*a+.0722*o},setAlpha:function(t){return this._a=T(t),this._roundA=V(100*this._a)/100,this},toHsv:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=l(this._r,this._g,this._b),e=V(360*t.h),r=V(100*t.s),n=V(100*t.v);return 1==this._a?\\\"hsv(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%)\\\":\\\"hsva(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%, \\\"+this._roundA+\\\")\\\"},toHsl:function(){var t=o(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=o(this._r,this._g,this._b),e=V(360*t.h),r=V(100*t.s),n=V(100*t.l);return 1==this._a?\\\"hsl(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%)\\\":\\\"hsla(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%, \\\"+this._roundA+\\\")\\\"},toHex:function(t){return c(this._r,this._g,this._b,t)},toHexString:function(t){return\\\"#\\\"+this.toHex(t)},toHex8:function(t){return h(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\\\"#\\\"+this.toHex8(t)},toRgb:function(){return{r:V(this._r),g:V(this._g),b:V(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\\\"rgb(\\\"+V(this._r)+\\\", \\\"+V(this._g)+\\\", \\\"+V(this._b)+\\\")\\\":\\\"rgba(\\\"+V(this._r)+\\\", \\\"+V(this._g)+\\\", \\\"+V(this._b)+\\\", \\\"+this._roundA+\\\")\\\"},toPercentageRgb:function(){return{r:V(100*S(this._r,255))+\\\"%\\\",g:V(100*S(this._g,255))+\\\"%\\\",b:V(100*S(this._b,255))+\\\"%\\\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\\\"rgb(\\\"+V(100*S(this._r,255))+\\\"%, \\\"+V(100*S(this._g,255))+\\\"%, \\\"+V(100*S(this._b,255))+\\\"%)\\\":\\\"rgba(\\\"+V(100*S(this._r,255))+\\\"%, \\\"+V(100*S(this._g,255))+\\\"%, \\\"+V(100*S(this._b,255))+\\\"%, \\\"+this._roundA+\\\")\\\"},toName:function(){return 0===this._a?\\\"transparent\\\":!(this._a<1)&&(X[c(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\\\"#\\\"+f(this._r,this._g,this._b,this._a),r=e,i=this._gradientType?\\\"GradientType = 1, \\\":\\\"\\\";if(t){var a=n(t);r=\\\"#\\\"+f(a._r,a._g,a._b,a._a)}return\\\"progid:DXImageTransform.Microsoft.gradient(\\\"+i+\\\"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 n(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(g,arguments)},darken:function(){return this._applyModification(y,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(p,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(k,arguments)},complement:function(){return this._applyCombination(x,arguments)},monochromatic:function(){return this._applyCombination(A,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(_,arguments)},tetrad:function(){return this._applyCombination(w,arguments)}},n.fromRatio=function(t,e){if(\\\"object\\\"==typeof t){var r={};for(var i in t)t.hasOwnProperty(i)&&(r[i]=\\\"a\\\"===i?t[i]:D(t[i]));t=r}return n(t,e)},n.equals=function(t,e){return!(!t||!e)&&n(t).toRgbString()==n(e).toRgbString()},n.random=function(){return n.fromRatio({r:G(),g:G(),b:G()})},n.mix=function(t,e,r){r=0===r?0:r||50;var i=n(t).toRgb(),a=n(e).toRgb(),o=r/100;return n({r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a})},n.readability=function(t,r){var i=n(t),a=n(r);return(e.max(i.getLuminance(),a.getLuminance())+.05)/(e.min(i.getLuminance(),a.getLuminance())+.05)},n.isReadable=function(t,e,r){var i,a,o=n.readability(t,e);switch(a=!1,i=j(r),i.level+i.size){case\\\"AAsmall\\\":case\\\"AAAlarge\\\":a=o>=4.5;break;case\\\"AAlarge\\\":a=o>=3;break;case\\\"AAAsmall\\\":a=o>=7}return a},n.mostReadable=function(t,e,r){var i,a,o,s,l=null,u=0;r=r||{},a=r.includeFallbackColors,o=r.level,s=r.size;for(var c=0;c<e.length;c++)(i=n.readability(t,e[c]))>u&&(u=i,l=n(e[c]));return n.isReadable(t,l,{level:o,size:s})||!a?l:(r.includeFallbackColors=!1,n.mostReadable(t,[\\\"#fff\\\",\\\"#000\\\"],r))};var Y=n.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\\\"},X=n.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(Y),W=function(){var t=\\\"(?:[-\\\\\\\\+]?\\\\\\\\d*\\\\\\\\.\\\\\\\\d+%?)|(?:[-\\\\\\\\+]?\\\\\\\\d+%?)\\\",e=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")\\\\\\\\s*\\\\\\\\)?\\\",r=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")[,|\\\\\\\\s]+(\\\"+t+\\\")\\\\\\\\s*\\\\\\\\)?\\\";return{CSS_UNIT:new RegExp(t),rgb:new RegExp(\\\"rgb\\\"+e),rgba:new RegExp(\\\"rgba\\\"+r),hsl:new RegExp(\\\"hsl\\\"+e),hsla:new RegExp(\\\"hsla\\\"+r),hsv:new RegExp(\\\"hsv\\\"+e),hsva:new RegExp(\\\"hsva\\\"+r),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})$/}}();void 0!==r&&r.exports?r.exports=n:\\\"function\\\"==typeof t&&t.amd?t(function(){return n}):window.tinycolor=n}(Math)},{}],534:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=o(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function i(t,e){var r=document.createElement(\\\"div\\\");r.style[\\\"font-size\\\"]=\\\"128\\\"+t,e.appendChild(r);var i=n(r,\\\"font-size\\\")/128;return e.removeChild(r),i}function a(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 i(t,e);case\\\"em\\\":return n(e,\\\"font-size\\\");case\\\"rem\\\":return n(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 s;case\\\"cm\\\":return s/2.54;case\\\"mm\\\":return s/25.4;case\\\"pt\\\":return s/72;case\\\"pc\\\":return s/6}return 1}var o=t(\\\"parse-unit\\\");e.exports=a;var s=96},{\\\"parse-unit\\\":474}],535:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.topojson=e.topojson||{})}(this,function(t){\\\"use strict\\\";function e(t,e){var n=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=r(t,e);return null==n&&null==i?{type:\\\"Feature\\\",properties:a,geometry:o}:null==i?{type:\\\"Feature\\\",id:n,properties:a,geometry:o}:{type:\\\"Feature\\\",id:n,bbox:i,properties:a,geometry:o}}function r(t,e){function r(t,e){e.length&&e.pop();for(var r=h[t<0?~t:t],n=0,i=r.length;n<i;++n)e.push(u(r[n].slice(),n));t<0&&c(e,i)}function n(t){return u(t.slice())}function i(t){for(var e=[],n=0,i=t.length;n<i;++n)r(t[n],e);return e.length<2&&e.push(e[0].slice()),e}function a(t){for(var e=i(t);e.length<4;)e.push(e[0].slice());return e}function o(t){return t.map(a)}function s(t){var e,r=t.type;switch(r){case\\\"GeometryCollection\\\":return{type:r,geometries:t.geometries.map(s)};case\\\"Point\\\":e=n(t.coordinates);break;case\\\"MultiPoint\\\":e=t.coordinates.map(n);break;case\\\"LineString\\\":e=i(t.arcs);break;case\\\"MultiLineString\\\":e=t.arcs.map(i);break;case\\\"Polygon\\\":e=o(t.arcs);break;case\\\"MultiPolygon\\\":e=t.arcs.map(o);break;default:return null}return{type:r,coordinates:e}}var u=l(t),h=t.arcs;return s(e)}function n(t,e,r){var n,a,o;if(arguments.length>1)n=i(t,e,r);else for(a=0,n=new Array(o=t.arcs.length);a<o;++a)n[a]=a;return{type:\\\"MultiLineString\\\",arcs:f(t,n)}}function i(t,e,r){function n(t){var e=t<0?~t:t;(c[e]||(c[e]=[])).push({i:t,g:l})}function i(t){t.forEach(n)}function a(t){t.forEach(i)}function o(t){t.forEach(a)}function s(t){switch(l=t,t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(s);break;case\\\"LineString\\\":i(t.arcs);break;case\\\"MultiLineString\\\":case\\\"Polygon\\\":a(t.arcs);break;case\\\"MultiPolygon\\\":o(t.arcs)}}var l,u=[],c=[];return s(e),c.forEach(null==r?function(t){u.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&u.push(t[0].i)}),u}function a(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}function o(t,e){function n(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(n);break;case\\\"Polygon\\\":i(t.arcs);break;case\\\"MultiPolygon\\\":t.arcs.forEach(i)}}function i(t){t.forEach(function(e){e.forEach(function(e){(s[e=e<0?~e:e]||(s[e]=[])).push(t)})}),l.push(t)}function o(e){return a(r(t,{type:\\\"Polygon\\\",arcs:[e]}).coordinates[0])}var s={},l=[],u=[];return e.forEach(n),l.forEach(function(t){if(!t._){var e=[],r=[t];for(t._=1,u.push(e);t=r.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].forEach(function(t){t._||(t._=1,r.push(t))})})})}}),l.forEach(function(t){delete t._}),{type:\\\"MultiPolygon\\\",arcs:u.map(function(e){var r,n=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){s[t<0?~t:t].length<2&&n.push(t)})})}),n=f(t,n),(r=n.length)>1)for(var i,a,l=1,u=o(n[0]);l<r;++l)(i=o(n[l]))>u&&(a=n[0],n[0]=n[l],n[l]=a,u=i);return n})}}var s=function(t){return t},l=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){return e||(r=n=0),t[0]=(r+=t[0])*i+o,t[1]=(n+=t[1])*a+l,t}},u=function(t){function e(t){s[0]=t[0],s[1]=t[1],o(s),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])}function r(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(r);break;case\\\"Point\\\":e(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(e)}}var n=t.bbox;if(!n){var i,a,o=l(t),s=new Array(2),u=1/0,c=u,h=-u,f=-u;t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)i=t[e],s[0]=i[0],s[1]=i[1],o(s,e),s[0]<u&&(u=s[0]),s[0]>h&&(h=s[0]),s[1]<c&&(c=s[1]),s[1]>f&&(f=s[1])});for(a in t.objects)r(t.objects[a]);n=t.bbox=[u,c,h,f]}return n},c=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r},h=function(t,r){return\\\"GeometryCollection\\\"===r.type?{type:\\\"FeatureCollection\\\",features:r.geometries.map(function(r){return e(t,r)})}:e(t,r)},f=function(t,e){function r(e){var r,n=t.arcs[e<0?~e:e],i=n[0];return t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1],e<0?[r,i]:[i,r]}function n(t,e){for(var r in t){var n=t[r];delete e[n.start],delete n.start,delete n.end,n.forEach(function(t){i[t<0?~t:t]=1}),s.push(n)}}var i={},a={},o={},s=[],l=-1;return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++l],e[l]=r,e[n]=i)}),e.forEach(function(t){var e,n,i=r(t),s=i[0],l=i[1];if(e=o[s])if(delete o[e.end],e.push(t),e.end=l,n=a[l]){delete a[n.start];var u=n===e?e:e.concat(n);a[u.start=e.start]=o[u.end=n.end]=u}else a[e.start]=o[e.end]=e;else if(e=a[l])if(delete a[e.start],e.unshift(t),e.start=s,n=o[s]){delete o[n.end];var c=n===e?e:n.concat(e);a[c.start=n.start]=o[c.end=e.end]=c}else a[e.start]=o[e.end]=e;else e=[t],a[e.start=s]=o[e.end=l]=e}),n(o,a),n(a,o),e.forEach(function(t){i[t<0?~t:t]||s.push([t])}),s},d=function(t){return r(t,n.apply(this,arguments))},p=function(t){return r(t,o.apply(this,arguments))},m=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r},v=function(t){function e(t,e){t.forEach(function(t){t<0&&(t=~t);var r=i[t];r?r.push(e):i[t]=[e]})}function r(t,r){t.forEach(function(t){e(t,r)})}function n(t,e){\\\"GeometryCollection\\\"===t.type?t.geometries.forEach(function(t){n(t,e)}):t.type in o&&o[t.type](t.arcs,e)}var i={},a=t.map(function(){return[]}),o={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(t,e){t.forEach(function(t){r(t,e)})}};t.forEach(n);for(var s in i)for(var l=i[s],u=l.length,c=0;c<u;++c)for(var h=c+1;h<u;++h){var f,d=l[c],p=l[h];(f=a[d])[s=m(f,p)]!==p&&f.splice(s,0,p),(f=a[p])[s=m(f,d)]!==d&&f.splice(s,0,d)}return a},g=function(t,e){function r(t){t[0]=Math.round((t[0]-o)/s),t[1]=Math.round((t[1]-l)/c)}function n(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(n);break;case\\\"Point\\\":r(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(r)}}if(!((e=Math.floor(e))>=2))throw new Error(\\\"n must be \\\\u22652\\\");if(t.transform)throw new Error(\\\"already quantized\\\");var i,a=u(t),o=a[0],s=(a[2]-o)/(e-1)||1,l=a[1],c=(a[3]-l)/(e-1)||1;t.arcs.forEach(function(t){for(var e,r,n,i=1,a=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-o)/s),d=h[1]=Math.round((h[1]-l)/c);i<u;++i)h=t[i],r=Math.round((h[0]-o)/s),n=Math.round((h[1]-l)/c),r===f&&n===d||(e=t[a++],e[0]=r-f,f=r,e[1]=n-d,d=n);a<2&&(e=t[a++],e[0]=0,e[1]=0),t.length=a});for(i in t.objects)n(t.objects[i]);return t.transform={scale:[s,c],translate:[o,l]},t},y=function(t){if(null==(e=t.transform))return s;var e,r,n,i=e.scale[0],a=e.scale[1],o=e.translate[0],l=e.translate[1];return function(t,e){e||(r=n=0);var s=Math.round((t[0]-o)/i),u=Math.round((t[1]-l)/a);return t[0]=s-r,r=s,t[1]=u-n,n=u,t}};t.bbox=u,t.feature=h,t.mesh=d,t.meshArcs=n,t.merge=p,t.mergeArcs=o,t.neighbors=v,t.quantize=g,t.transform=l,t.untransform=y,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],536:[function(t,e,r){\\\"use strict\\\";function n(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(o(t+1)),r=[],n=0;n<e;++n){for(var s=i.unrank(t,n),l=[0],u=0,c=0;c<s.length;++c)u+=1<<s[c],l.push(u);a(s)<1&&(l[0]=u,l[t]=0),r.push(l)}return r}e.exports=n;var i=t(\\\"permutation-rank\\\"),a=t(\\\"permutation-parity\\\"),o=t(\\\"gamma\\\")},{gamma:135,\\\"permutation-parity\\\":478,\\\"permutation-rank\\\":479}],537:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function i(t){return Math.min(1,Math.max(-1,t))}function a(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s<3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(var s=0;s<3;++s)i[s]-=o/a*t[s];return f(i,i),i}function o(t,e,r,n,i,a,o,s){this.center=l(r),this.up=l(n),this.right=l(i),this.radius=l([a]),this.angle=l([o,s]),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 u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}function s(t){t=t||{};var e=t.center||[0,0,0],r=t.up||[0,1,0],i=t.right||a(r),s=t.radius||1,l=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),f(r,r),i=[].slice.call(i,0,3),f(i,i),\\\"eye\\\"in t){var c=t.eye,p=[c[0]-e[0],c[1]-e[1],c[2]-e[2]];h(i,p,r),n(i[0],i[1],i[2])<1e-6?i=a(r):f(i,i),s=n(p[0],p[1],p[2]);var m=d(r,p)/s,v=d(i,p)/s;u=Math.acos(m),l=Math.acos(v)}return s=Math.log(s),new o(t.zoomMin,t.zoomMax,e,r,i,s,l,u)}e.exports=s;var l=t(\\\"filtered-vector\\\"),u=t(\\\"gl-mat4/invert\\\"),c=t(\\\"gl-mat4/rotate\\\"),h=t(\\\"gl-vec3/cross\\\"),f=t(\\\"gl-vec3/normalize\\\"),d=t(\\\"gl-vec3/dot\\\"),p=o.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,i=0,a=0,o=0;o<3;++o)a+=e[o]*r[o],i+=e[o]*e[o];for(var s=Math.sqrt(i),l=0,o=0;o<3;++o)r[o]-=e[o]*a/i,l+=r[o]*r[o],e[o]/=s;for(var u=Math.sqrt(l),o=0;o<3;++o)r[o]/=u;var c=this.computedToward;h(c,e,r),f(c,c);for(var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],m=this.computedAngle[1],v=Math.cos(p),g=Math.sin(p),y=Math.cos(m),b=Math.sin(m),x=this.computedCenter,_=v*y,w=g*y,M=b,k=-v*b,A=-g*b,T=y,S=this.computedEye,E=this.computedMatrix,o=0;o<3;++o){var L=_*r[o]+w*c[o]+M*e[o];E[4*o+1]=k*r[o]+A*c[o]+T*e[o],E[4*o+2]=L,E[4*o+3]=0}var C=E[1],z=E[5],I=E[9],D=E[2],P=E[6],O=E[10],R=z*O-I*P,F=I*D-C*O,j=C*P-z*D,N=n(R,F,j);R/=N,F/=N,j/=N,E[0]=R,E[4]=F,E[8]=j;for(var o=0;o<3;++o)S[o]=x[o]+E[2+4*o]*d;for(var o=0;o<3;++o){for(var l=0,B=0;B<3;++B)l+=E[o+4*B]*S[B];E[12+o]=-l}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 m=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;m[0]=i[2],m[1]=i[6],m[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l<3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];c(i,i,n,m);for(var l=0;l<3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},p.pan=function(t,e,r,i){e=e||0,r=r||0,i=i||0,this.recalcMatrix(t);var a=this.computedMatrix,o=(Math.exp(this.computedRadius[0]),a[1]),s=a[5],l=a[9],u=n(o,s,l);o/=u,s/=u,l/=u;var c=a[0],h=a[4],f=a[8],d=c*o+h*s+f*l;c-=o*d,h-=s*d,f-=l*d;var p=n(c,h,f);c/=p,h/=p,f/=p;var m=c*e+o*r,v=h*e+s*r,g=f*e+l*r;this.center.move(t,m,v,g);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+i),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,a){var o=1;\\\"number\\\"==typeof r&&(o=0|r),(o<0||o>3)&&(o=1);var s=(o+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var l=e[o],c=e[o+4],h=e[o+8];if(a){var f=Math.abs(l),d=Math.abs(c),p=Math.abs(h),m=Math.max(f,d,p);f===m?(l=l<0?-1:1,c=h=0):p===m?(h=h<0?-1:1,l=c=0):(c=c<0?-1:1,l=h=0)}else{var v=n(l,c,h);l/=v,c/=v,h/=v}var g=e[s],y=e[s+4],b=e[s+8],x=g*l+y*c+b*h;g-=l*x,y-=c*x,b-=h*x;var _=n(g,y,b);g/=_,y/=_,b/=_;var w=c*b-h*y,M=h*g-l*b,k=l*y-c*g,A=n(w,M,k);w/=A,M/=A,k/=A,this.center.jump(t,q,G,Y),this.radius.idle(t),this.up.jump(t,l,c,h),this.right.jump(t,g,y,b);var T,S;if(2===o){var E=e[1],L=e[5],C=e[9],z=E*g+L*y+C*b,I=E*w+L*M+C*k;T=R<0?-Math.PI/2:Math.PI/2,S=Math.atan2(I,z)}else{var D=e[2],P=e[6],O=e[10],R=D*l+P*c+O*h,F=D*g+P*y+O*b,j=D*w+P*M+O*k;T=Math.asin(i(R)),S=Math.atan2(j,F)}this.angle.jump(t,S,T),this.recalcMatrix(t);var N=e[2],B=e[6],U=e[10],V=this.computedMatrix;u(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Y=V[14]/H,X=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*X,G-B*X,Y-U*X)},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,a){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter,a=a||this.computedUp;var o=a[0],s=a[1],l=a[2],u=n(o,s,l);if(!(u<1e-6)){o/=u,s/=u,l/=u;var c=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],d=n(c,h,f);if(!(d<1e-6)){c/=d,h/=d,f/=d;var p=this.computedRight,m=p[0],v=p[1],g=p[2],y=o*m+s*v+l*g;m-=y*o,v-=y*s,g-=y*l;var b=n(m,v,g);if(!(b<.01&&(m=s*f-l*h,v=l*c-o*f,g=o*h-s*c,(b=n(m,v,g))<1e-6))){m/=b,v/=b,g/=b,this.up.set(t,o,s,l),this.right.set(t,m,v,g),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var x=s*g-l*v,_=l*m-o*g,w=o*v-s*m,M=n(x,_,w);x/=M,_/=M,w/=M;var k=o*c+s*h+l*f,A=m*c+v*h+g*f,T=x*c+_*h+w*f,S=Math.asin(i(k)),E=Math.atan2(T,A),L=this.angle._state,C=L[L.length-1],z=L[L.length-2];C%=2*Math.PI;var I=Math.abs(C+2*Math.PI-E),D=Math.abs(C-E),P=Math.abs(C-2*Math.PI-E);I<D&&(C+=2*Math.PI),P<D&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,z),this.angle.set(t,E,S)}}}}},{\\\"filtered-vector\\\":132,\\\"gl-mat4/invert\\\":180,\\\"gl-mat4/rotate\\\":184,\\\"gl-vec3/cross\\\":271,\\\"gl-vec3/dot\\\":272,\\\"gl-vec3/normalize\\\":275}],538:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t*e,a=i*t,o=a-t,s=a-o,l=t-s,u=i*e,c=u-e,h=u-c,f=e-h,d=n-s*h,p=d-l*h,m=p-s*f,v=l*f-m;return r?(r[0]=v,r[1]=n,r):[v,n]}e.exports=n;var i=+(Math.pow(2,27)+1)},{}],539:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t+e,i=n-t,a=n-i,o=e-i,s=t-a;return r?(r[0]=s+o,r[1]=n,r):[s+o,n]}e.exports=n},{}],540:[function(t,e,r){(function(e,n){\\\"use strict\\\";function i(t){if(t){var e=t.length||t.byteLength,r=y.log2(e);w[r].push(t)}}function a(t){i(t.buffer)}function o(t){var t=y.nextPow2(t),e=y.log2(t),r=w[e];return r.length>0?r.pop():new ArrayBuffer(t)}function s(t){return new Uint8Array(o(t),0,t)}function l(t){return new Uint16Array(o(2*t),0,t)}function u(t){return new Uint32Array(o(4*t),0,t)}function c(t){return new Int8Array(o(t),0,t)}function h(t){return new Int16Array(o(2*t),0,t)}function f(t){return new Int32Array(o(4*t),0,t)}function d(t){return new Float32Array(o(4*t),0,t)}function p(t){return new Float64Array(o(8*t),0,t)}function m(t){return x?new Uint8ClampedArray(o(t),0,t):s(t)}function v(t){return new DataView(o(t),0,t)}function g(t){t=y.nextPow2(t);var e=y.log2(t),r=M[e];return r.length>0?r.pop():new n(t)}var y=t(\\\"bit-twiddle\\\"),b=t(\\\"dup\\\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:b([32,0]),UINT16:b([32,0]),UINT32:b([32,0]),INT8:b([32,0]),INT16:b([32,0]),INT32:b([32,0]),FLOAT:b([32,0]),DOUBLE:b([32,0]),DATA:b([32,0]),UINT8C:b([32,0]),BUFFER:b([32,0])});var x=\\\"undefined\\\"!=typeof Uint8ClampedArray,_=e.__TYPEDARRAY_POOL;_.UINT8C||(_.UINT8C=b([32,0])),_.BUFFER||(_.BUFFER=b([32,0]));var w=_.DATA,M=_.BUFFER;r.free=function(t){if(n.isBuffer(t))M[y.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|y.log2(e);w[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=a,r.freeArrayBuffer=i,r.freeBuffer=function(t){M[y.log2(t.length)].push(t)},r.malloc=function(t,e){\\n\",\n       \"if(void 0===e||\\\"arraybuffer\\\"===e)return o(t);switch(e){case\\\"uint8\\\":return s(t);case\\\"uint16\\\":return l(t);case\\\"uint32\\\":return u(t);case\\\"int8\\\":return c(t);case\\\"int16\\\":return h(t);case\\\"int32\\\":return f(t);case\\\"float\\\":case\\\"float32\\\":return d(t);case\\\"double\\\":case\\\"float64\\\":return p(t);case\\\"uint8_clamped\\\":return m(t);case\\\"buffer\\\":return g(t);case\\\"data\\\":case\\\"dataview\\\":return v(t);default:return null}return null},r.mallocArrayBuffer=o,r.mallocUint8=s,r.mallocUint16=l,r.mallocUint32=u,r.mallocInt8=c,r.mallocInt16=h,r.mallocInt32=f,r.mallocFloat32=r.mallocFloat=d,r.mallocFloat64=r.mallocDouble=p,r.mallocUint8Clamped=m,r.mallocDataView=v,r.mallocBuffer=g,r.clearCache=function(){for(var t=0;t<32;++t)_.UINT8[t].length=0,_.UINT16[t].length=0,_.UINT32[t].length=0,_.INT8[t].length=0,_.INT16[t].length=0,_.INT32[t].length=0,_.FLOAT[t].length=0,_.DOUBLE[t].length=0,_.UINT8C[t].length=0,w[t].length=0,M[t].length=0}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{},t(\\\"buffer\\\").Buffer)},{\\\"bit-twiddle\\\":66,buffer:76,dup:124}],541:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=n.prototype;Object.defineProperty(i,\\\"length\\\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.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},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],542:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,i=t[o],e(i,a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}function i(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}function a(t,e,r){return 0===t.length?t:e?(r||t.sort(e),n(t,e)):(r||t.sort(),i(t))}e.exports=a},{}],543:[function(t,e,r){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}e.exports=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){void 0===e&&(e=1e-6);var r,n,i,a,o;for(i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(r=0,n=1,(i=t)<r)return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],544:[function(t,e,r){\\\"use strict\\\";function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function i(t,e,r){if(t&&u.isObject(t)&&t instanceof n)return t;var i=new n;return i.parse(t,e,r),i}function a(t){return u.isString(t)&&(t=i(t)),t instanceof n?t.format():n.prototype.format.call(t)}function o(t,e){return i(t,!1,!0).resolve(e)}function s(t,e){return t?i(t,!1,!0).resolveObject(e):e}var l=t(\\\"punycode\\\"),u=t(\\\"./util\\\");r.parse=i,r.resolve=o,r.resolveObject=s,r.format=a,r.Url=n;var c=/^([a-z0-9.+-]+:)/i,h=/:[0-9]*$/,f=/^(\\\\/\\\\/?(?!\\\\/)[^\\\\?\\\\s]*)(\\\\?[^\\\\s]*)?$/,d=[\\\"<\\\",\\\">\\\",'\\\"',\\\"`\\\",\\\" \\\",\\\"\\\\r\\\",\\\"\\\\n\\\",\\\"\\\\t\\\"],p=[\\\"{\\\",\\\"}\\\",\\\"|\\\",\\\"\\\\\\\\\\\",\\\"^\\\",\\\"`\\\"].concat(d),m=[\\\"'\\\"].concat(p),v=[\\\"%\\\",\\\"/\\\",\\\"?\\\",\\\";\\\",\\\"#\\\"].concat(m),g=[\\\"/\\\",\\\"?\\\",\\\"#\\\"],y=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,\\\"javascript:\\\":!0},_={javascript:!0,\\\"javascript:\\\":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\\\"http:\\\":!0,\\\"https:\\\":!0,\\\"ftp:\\\":!0,\\\"gopher:\\\":!0,\\\"file:\\\":!0},M=t(\\\"querystring\\\");n.prototype.parse=function(t,e,r){if(!u.isString(t))throw new TypeError(\\\"Parameter 'url' must be a string, not \\\"+typeof t);var n=t.indexOf(\\\"?\\\"),i=-1!==n&&n<t.indexOf(\\\"#\\\")?\\\"?\\\":\\\"#\\\",a=t.split(i),o=/\\\\\\\\/g;a[0]=a[0].replace(o,\\\"/\\\"),t=a.join(i);var s=t;if(s=s.trim(),!r&&1===t.split(\\\"#\\\").length){var h=f.exec(s);if(h)return this.path=s,this.href=s,this.pathname=h[1],h[2]?(this.search=h[2],this.query=e?M.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search=\\\"\\\",this.query={}),this}var d=c.exec(s);if(d){d=d[0];var p=d.toLowerCase();this.protocol=p,s=s.substr(d.length)}if(r||d||s.match(/^\\\\/\\\\/[^@\\\\/]+@[^@\\\\/]+/)){var k=\\\"//\\\"===s.substr(0,2);!k||d&&_[d]||(s=s.substr(2),this.slashes=!0)}if(!_[d]&&(k||d&&!w[d])){for(var A=-1,T=0;T<g.length;T++){var S=s.indexOf(g[T]);-1!==S&&(-1===A||S<A)&&(A=S)}var E,L;L=-1===A?s.lastIndexOf(\\\"@\\\"):s.lastIndexOf(\\\"@\\\",A),-1!==L&&(E=s.slice(0,L),s=s.slice(L+1),this.auth=decodeURIComponent(E)),A=-1;for(var T=0;T<v.length;T++){var S=s.indexOf(v[T]);-1!==S&&(-1===A||S<A)&&(A=S)}-1===A&&(A=s.length),this.host=s.slice(0,A),s=s.slice(A),this.parseHost(),this.hostname=this.hostname||\\\"\\\";var C=\\\"[\\\"===this.hostname[0]&&\\\"]\\\"===this.hostname[this.hostname.length-1];if(!C)for(var z=this.hostname.split(/\\\\./),T=0,I=z.length;T<I;T++){var D=z[T];if(D&&!D.match(y)){for(var P=\\\"\\\",O=0,R=D.length;O<R;O++)D.charCodeAt(O)>127?P+=\\\"x\\\":P+=D[O];if(!P.match(y)){var F=z.slice(0,T),j=z.slice(T+1),N=D.match(b);N&&(F.push(N[1]),j.unshift(N[2])),j.length&&(s=\\\"/\\\"+j.join(\\\".\\\")+s),this.hostname=F.join(\\\".\\\");break}}}this.hostname.length>255?this.hostname=\\\"\\\":this.hostname=this.hostname.toLowerCase(),C||(this.hostname=l.toASCII(this.hostname));var B=this.port?\\\":\\\"+this.port:\\\"\\\",U=this.hostname||\\\"\\\";this.host=U+B,this.href+=this.host,C&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\\\"/\\\"!==s[0]&&(s=\\\"/\\\"+s))}if(!x[p])for(var T=0,I=m.length;T<I;T++){var V=m[T];if(-1!==s.indexOf(V)){var H=encodeURIComponent(V);H===V&&(H=escape(V)),s=s.split(V).join(H)}}var q=s.indexOf(\\\"#\\\");-1!==q&&(this.hash=s.substr(q),s=s.slice(0,q));var G=s.indexOf(\\\"?\\\");if(-1!==G?(this.search=s.substr(G),this.query=s.substr(G+1),e&&(this.query=M.parse(this.query)),s=s.slice(0,G)):e&&(this.search=\\\"\\\",this.query={}),s&&(this.pathname=s),w[p]&&this.hostname&&!this.pathname&&(this.pathname=\\\"/\\\"),this.pathname||this.search){var B=this.pathname||\\\"\\\",Y=this.search||\\\"\\\";this.path=B+Y}return this.href=this.format(),this},n.prototype.format=function(){var t=this.auth||\\\"\\\";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,\\\":\\\"),t+=\\\"@\\\");var e=this.protocol||\\\"\\\",r=this.pathname||\\\"\\\",n=this.hash||\\\"\\\",i=!1,a=\\\"\\\";this.host?i=t+this.host:this.hostname&&(i=t+(-1===this.hostname.indexOf(\\\":\\\")?this.hostname:\\\"[\\\"+this.hostname+\\\"]\\\"),this.port&&(i+=\\\":\\\"+this.port)),this.query&&u.isObject(this.query)&&Object.keys(this.query).length&&(a=M.stringify(this.query));var o=this.search||a&&\\\"?\\\"+a||\\\"\\\";return e&&\\\":\\\"!==e.substr(-1)&&(e+=\\\":\\\"),this.slashes||(!e||w[e])&&!1!==i?(i=\\\"//\\\"+(i||\\\"\\\"),r&&\\\"/\\\"!==r.charAt(0)&&(r=\\\"/\\\"+r)):i||(i=\\\"\\\"),n&&\\\"#\\\"!==n.charAt(0)&&(n=\\\"#\\\"+n),o&&\\\"?\\\"!==o.charAt(0)&&(o=\\\"?\\\"+o),r=r.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace(\\\"#\\\",\\\"%23\\\"),e+i+r+o+n},n.prototype.resolve=function(t){return this.resolveObject(i(t,!1,!0)).format()},n.prototype.resolveObject=function(t){if(u.isString(t)){var e=new n;e.parse(t,!1,!0),t=e}for(var r=new n,i=Object.keys(this),a=0;a<i.length;a++){var o=i[a];r[o]=this[o]}if(r.hash=t.hash,\\\"\\\"===t.href)return r.href=r.format(),r;if(t.slashes&&!t.protocol){for(var s=Object.keys(t),l=0;l<s.length;l++){var c=s[l];\\\"protocol\\\"!==c&&(r[c]=t[c])}return w[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname=\\\"/\\\"),r.href=r.format(),r}if(t.protocol&&t.protocol!==r.protocol){if(!w[t.protocol]){for(var h=Object.keys(t),f=0;f<h.length;f++){var d=h[f];r[d]=t[d]}return r.href=r.format(),r}if(r.protocol=t.protocol,t.host||_[t.protocol])r.pathname=t.pathname;else{for(var p=(t.pathname||\\\"\\\").split(\\\"/\\\");p.length&&!(t.host=p.shift()););t.host||(t.host=\\\"\\\"),t.hostname||(t.hostname=\\\"\\\"),\\\"\\\"!==p[0]&&p.unshift(\\\"\\\"),p.length<2&&p.unshift(\\\"\\\"),r.pathname=p.join(\\\"/\\\")}if(r.search=t.search,r.query=t.query,r.host=t.host||\\\"\\\",r.auth=t.auth,r.hostname=t.hostname||t.host,r.port=t.port,r.pathname||r.search){var m=r.pathname||\\\"\\\",v=r.search||\\\"\\\";r.path=m+v}return r.slashes=r.slashes||t.slashes,r.href=r.format(),r}var g=r.pathname&&\\\"/\\\"===r.pathname.charAt(0),y=t.host||t.pathname&&\\\"/\\\"===t.pathname.charAt(0),b=y||g||r.host&&t.pathname,x=b,M=r.pathname&&r.pathname.split(\\\"/\\\")||[],p=t.pathname&&t.pathname.split(\\\"/\\\")||[],k=r.protocol&&!w[r.protocol];if(k&&(r.hostname=\\\"\\\",r.port=null,r.host&&(\\\"\\\"===M[0]?M[0]=r.host:M.unshift(r.host)),r.host=\\\"\\\",t.protocol&&(t.hostname=null,t.port=null,t.host&&(\\\"\\\"===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),b=b&&(\\\"\\\"===p[0]||\\\"\\\"===M[0])),y)r.host=t.host||\\\"\\\"===t.host?t.host:r.host,r.hostname=t.hostname||\\\"\\\"===t.hostname?t.hostname:r.hostname,r.search=t.search,r.query=t.query,M=p;else if(p.length)M||(M=[]),M.pop(),M=M.concat(p),r.search=t.search,r.query=t.query;else if(!u.isNullOrUndefined(t.search)){if(k){r.hostname=r.host=M.shift();var A=!!(r.host&&r.host.indexOf(\\\"@\\\")>0)&&r.host.split(\\\"@\\\");A&&(r.auth=A.shift(),r.host=r.hostname=A.shift())}return r.search=t.search,r.query=t.query,u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\\\"\\\")+(r.search?r.search:\\\"\\\")),r.href=r.format(),r}if(!M.length)return r.pathname=null,r.search?r.path=\\\"/\\\"+r.search:r.path=null,r.href=r.format(),r;for(var T=M.slice(-1)[0],S=(r.host||t.host||M.length>1)&&(\\\".\\\"===T||\\\"..\\\"===T)||\\\"\\\"===T,E=0,L=M.length;L>=0;L--)T=M[L],\\\".\\\"===T?M.splice(L,1):\\\"..\\\"===T?(M.splice(L,1),E++):E&&(M.splice(L,1),E--);if(!b&&!x)for(;E--;E)M.unshift(\\\"..\\\");!b||\\\"\\\"===M[0]||M[0]&&\\\"/\\\"===M[0].charAt(0)||M.unshift(\\\"\\\"),S&&\\\"/\\\"!==M.join(\\\"/\\\").substr(-1)&&M.push(\\\"\\\");var C=\\\"\\\"===M[0]||M[0]&&\\\"/\\\"===M[0].charAt(0);if(k){r.hostname=r.host=C?\\\"\\\":M.length?M.shift():\\\"\\\";var A=!!(r.host&&r.host.indexOf(\\\"@\\\")>0)&&r.host.split(\\\"@\\\");A&&(r.auth=A.shift(),r.host=r.hostname=A.shift())}return b=b||r.host&&M.length,b&&!C&&M.unshift(\\\"\\\"),M.length?r.pathname=M.join(\\\"/\\\"):(r.pathname=null,r.path=null),u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:\\\"\\\")+(r.search?r.search:\\\"\\\")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var t=this.host,e=h.exec(t);e&&(e=e[0],\\\":\\\"!==e&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},{\\\"./util\\\":545,punycode:487,querystring:491}],545:[function(t,e,r){\\\"use strict\\\";e.exports={isString:function(t){return\\\"string\\\"==typeof t},isObject:function(t){return\\\"object\\\"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},{}],546:[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}},{}],547:[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}},{}],548:[function(t,e,r){(function(e,n){function i(t,e){var n={seen:[],stylize:o};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),m(e)?n.showHidden=e:e&&r._extend(n,e),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=a),l(n,t,n.depth)}function a(t,e){var r=i.styles[e];return r?\\\"\\\\x1b[\\\"+i.colors[r][0]+\\\"m\\\"+t+\\\"\\\\x1b[\\\"+i.colors[r][1]+\\\"m\\\":t}function o(t,e){return t}function s(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}function l(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return b(i)||(i=l(t,i,n)),i}var a=u(t,e);if(a)return a;var o=Object.keys(e),m=s(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),A(e)&&(o.indexOf(\\\"message\\\")>=0||o.indexOf(\\\"description\\\")>=0))return c(e);if(0===o.length){if(T(e)){var v=e.name?\\\": \\\"+e.name:\\\"\\\";return t.stylize(\\\"[Function\\\"+v+\\\"]\\\",\\\"special\\\")}if(w(e))return t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\");if(k(e))return t.stylize(Date.prototype.toString.call(e),\\\"date\\\");if(A(e))return c(e)}var g=\\\"\\\",y=!1,x=[\\\"{\\\",\\\"}\\\"];if(p(e)&&(y=!0,x=[\\\"[\\\",\\\"]\\\"]),T(e)){g=\\\" [Function\\\"+(e.name?\\\": \\\"+e.name:\\\"\\\")+\\\"]\\\"}if(w(e)&&(g=\\\" \\\"+RegExp.prototype.toString.call(e)),k(e)&&(g=\\\" \\\"+Date.prototype.toUTCString.call(e)),A(e)&&(g=\\\" \\\"+c(e)),0===o.length&&(!y||0==e.length))return x[0]+g+x[1];if(n<0)return w(e)?t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\"):t.stylize(\\\"[Object]\\\",\\\"special\\\");t.seen.push(e);var _;return _=y?h(t,e,n,m,o):o.map(function(r){return f(t,e,n,m,r,y)}),t.seen.pop(),d(_,g,x)}function u(t,e){if(_(e))return t.stylize(\\\"undefined\\\",\\\"undefined\\\");if(b(e)){var r=\\\"'\\\"+JSON.stringify(e).replace(/^\\\"|\\\"$/g,\\\"\\\").replace(/'/g,\\\"\\\\\\\\'\\\").replace(/\\\\\\\\\\\"/g,'\\\"')+\\\"'\\\";return t.stylize(r,\\\"string\\\")}return y(e)?t.stylize(\\\"\\\"+e,\\\"number\\\"):m(e)?t.stylize(\\\"\\\"+e,\\\"boolean\\\"):v(e)?t.stylize(\\\"null\\\",\\\"null\\\"):void 0}function c(t){return\\\"[\\\"+Error.prototype.toString.call(t)+\\\"]\\\"}function h(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)z(e,String(o))?a.push(f(t,e,r,n,String(o),!0)):a.push(\\\"\\\");return i.forEach(function(i){i.match(/^\\\\d+$/)||a.push(f(t,e,r,n,i,!0))}),a}function f(t,e,r,n,i,a){var o,s,u;if(u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]},u.get?s=u.set?t.stylize(\\\"[Getter/Setter]\\\",\\\"special\\\"):t.stylize(\\\"[Getter]\\\",\\\"special\\\"):u.set&&(s=t.stylize(\\\"[Setter]\\\",\\\"special\\\")),z(n,i)||(o=\\\"[\\\"+i+\\\"]\\\"),s||(t.seen.indexOf(u.value)<0?(s=v(r)?l(t,u.value,null):l(t,u.value,r-1),s.indexOf(\\\"\\\\n\\\")>-1&&(s=a?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\\\")),_(o)){if(a&&i.match(/^\\\\d+$/))return s;o=JSON.stringify(\\\"\\\"+i),o.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 d(t,e,r){var n=0;return t.reduce(function(t,e){return n++,e.indexOf(\\\"\\\\n\\\")>=0&&n++,t+e.replace(/\\\\u001b\\\\[\\\\d\\\\d?m/g,\\\"\\\").length+1},0)>60?r[0]+(\\\"\\\"===e?\\\"\\\":e+\\\"\\\\n \\\")+\\\" \\\"+t.join(\\\",\\\\n  \\\")+\\\" \\\"+r[1]:r[0]+e+\\\" \\\"+t.join(\\\", \\\")+\\\" \\\"+r[1]}function p(t){return Array.isArray(t)}function m(t){return\\\"boolean\\\"==typeof t}function v(t){return null===t}function g(t){return null==t}function y(t){return\\\"number\\\"==typeof t}function b(t){return\\\"string\\\"==typeof t}function x(t){return\\\"symbol\\\"==typeof t}function _(t){return void 0===t}function w(t){return M(t)&&\\\"[object RegExp]\\\"===E(t)}function M(t){return\\\"object\\\"==typeof t&&null!==t}function k(t){return M(t)&&\\\"[object Date]\\\"===E(t)}function A(t){return M(t)&&(\\\"[object Error]\\\"===E(t)||t instanceof Error)}function T(t){return\\\"function\\\"==typeof t}function S(t){return null===t||\\\"boolean\\\"==typeof t||\\\"number\\\"==typeof t||\\\"string\\\"==typeof t||\\\"symbol\\\"==typeof t||void 0===t}function E(t){return Object.prototype.toString.call(t)}function L(t){return t<10?\\\"0\\\"+t.toString(10):t.toString(10)}function C(){var t=new Date,e=[L(t.getHours()),L(t.getMinutes()),L(t.getSeconds())].join(\\\":\\\");return[t.getDate(),O[t.getMonth()],e].join(\\\" \\\")}function z(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var I=/%[sdj%]/g;r.format=function(t){if(!b(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(i(arguments[r]));return e.join(\\\" \\\")}for(var r=1,n=arguments,a=n.length,o=String(t).replace(I,function(t){if(\\\"%%\\\"===t)return\\\"%\\\";if(r>=a)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}}),s=n[r];r<a;s=n[++r])v(s)||!M(s)?o+=\\\" \\\"+s:o+=\\\" \\\"+i(s);return o},r.deprecate=function(t,i){function a(){if(!o){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),o=!0}return t.apply(this,arguments)}if(_(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var o=!1;return a};var D,P={};r.debuglog=function(t){if(_(D)&&(D=e.env.NODE_DEBUG||\\\"\\\"),t=t.toUpperCase(),!P[t])if(new RegExp(\\\"\\\\\\\\b\\\"+t+\\\"\\\\\\\\b\\\",\\\"i\\\").test(D)){var n=e.pid;P[t]=function(){var e=r.format.apply(r,arguments);console.error(\\\"%s %d: %s\\\",t,n,e)}}else P[t]=function(){};return P[t]},r.inspect=i,i.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]},i.styles={special:\\\"cyan\\\",number:\\\"yellow\\\",boolean:\\\"yellow\\\",undefined:\\\"grey\\\",null:\\\"bold\\\",string:\\\"green\\\",date:\\\"magenta\\\",regexp:\\\"red\\\"},r.isArray=p,r.isBoolean=m,r.isNull=v,r.isNullOrUndefined=g,r.isNumber=y,r.isString=b,r.isSymbol=x,r.isUndefined=_,r.isRegExp=w,r.isObject=M,r.isDate=k,r.isError=A,r.isFunction=T,r.isPrimitive=S,r.isBuffer=t(\\\"./support/isBuffer\\\");var O=[\\\"Jan\\\",\\\"Feb\\\",\\\"Mar\\\",\\\"Apr\\\",\\\"May\\\",\\\"Jun\\\",\\\"Jul\\\",\\\"Aug\\\",\\\"Sep\\\",\\\"Oct\\\",\\\"Nov\\\",\\\"Dec\\\"];r.log=function(){console.log(\\\"%s - %s\\\",C(),r.format.apply(r,arguments))},r.inherits=t(\\\"inherits\\\"),r._extend=function(t,e){if(!e||!M(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\\\":547,_process:486,inherits:546}],549:[function(t,e,r){e.exports.VectorTile=t(\\\"./lib/vectortile.js\\\"),e.exports.VectorTileFeature=t(\\\"./lib/vectortilefeature.js\\\"),e.exports.VectorTileLayer=t(\\\"./lib/vectortilelayer.js\\\")},{\\\"./lib/vectortile.js\\\":550,\\\"./lib/vectortilefeature.js\\\":551,\\\"./lib/vectortilelayer.js\\\":552}],550:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.layers=t.readFields(i,{},e)}function i(t,e,r){if(3===t){var n=new a(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var a=t(\\\"./vectortilelayer\\\");e.exports=n},{\\\"./vectortilelayer\\\":552}],551:[function(t,e,r){\\\"use strict\\\";function n(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(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?a(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}function o(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=s(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}function s(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],r=t[o],n+=(r.x-e.x)*(e.y+r.y);return n}var l=t(\\\"point-geometry\\\");e.exports=n,n.types=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error(\\\"unknown command \\\"+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos<e;){if(!n){var c=t.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error(\\\"unknown command \\\"+r)}return[o,l,s,u]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+c)/l;t[e]=[360*(r.x+u)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var a,s,l=this.extent*Math.pow(2,r),u=this.extent*t,c=this.extent*e,h=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var d=[];for(a=0;a<h.length;a++)d[a]=h[a][0];h=d,i(h);break;case 2:for(a=0;a<h.length;a++)i(h[a]);break;case 3:for(h=o(h),a=0;a<h.length;a++)for(s=0;s<h[a].length;s++)i(h[a][s])}1===h.length?h=h[0]:f=\\\"Multi\\\"+f;var p={type:\\\"Feature\\\",geometry:{type:f,coordinates:h},properties:this.properties};return\\\"id\\\"in this&&(p.id=this.id),p}},{\\\"point-geometry\\\":483}],552:[function(t,e,r){\\\"use strict\\\";function n(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(i,this,e),this.length=this._features.length}function i(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(a(r))}function a(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}var o=t(\\\"./vectortilefeature.js\\\");e.exports=n,n.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 o(this._pbf,e,this.extent,this._keys,this._values)}},{\\\"./vectortilefeature.js\\\":551}],553:[function(t,e,r){\\\"use strict\\\";function n(t,e){return\\\"object\\\"==typeof e&&null!==e||(e={}),i(t,e.canvas||a,e.context||o,e)}e.exports=n;var i=t(\\\"./lib/vtext\\\"),a=null,o=null;\\\"undefined\\\"!=typeof document&&(a=document.createElement(\\\"canvas\\\"),a.width=8192,a.height=1024,o=a.getContext(\\\"2d\\\"))},{\\\"./lib/vtext\\\":554}],554:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=e.textAlign||\\\"start\\\",i=e.textBaseline||\\\"alphabetic\\\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var u=t[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var h=0;switch(n){case\\\"center\\\":h=-.5*(a[0]+o[0]);break;case\\\"right\\\":case\\\"end\\\":h=-o[0];break;case\\\"left\\\":case\\\"start\\\":h=-a[0];break;default:throw new Error(\\\"vectorize-text: Unrecognized textAlign: '\\\"+n+\\\"'\\\")}var f=0;switch(i){case\\\"hanging\\\":case\\\"top\\\":f=-a[1];break;case\\\"middle\\\":f=-.5*(a[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: '\\\"+i+\\\"'\\\")}var d=1/r;return\\\"lineHeight\\\"in e?d*=+e.lineHeight:\\\"width\\\"in e?d=e.width/(o[0]-a[0]):\\\"height\\\"in e&&(d=e.height/(o[1]-a[1])),t.map(function(t){return[d*(t[0]+h),d*(t[1]+f)]})}function i(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i>8192)throw new Error(\\\"vectorize-text: String too long (sorry, this will get fixed later)\\\");var a=3*n;t.height<a&&(t.height=a),e.fillStyle=\\\"#000\\\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\\\"#fff\\\",e.fillText(r,n,2*n);var o=e.getImageData(0,0,i,a);return c(o.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}function a(t,e){var r=u(t,128);return e?h(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function o(t,e,r,i){var o=a(t,i),s=n(o.positions,e,r),l=o.edges,u=\\\"ccw\\\"===e.orientation;if(f(s,l),e.polygons||e.polygon||e.polyline){for(var c=p(l,s),h=new Array(c.length),m=0;m<c.length;++m){for(var v=c[m],g=new Array(v.length),y=0;y<v.length;++y){for(var b=v[y],x=new Array(b.length),_=0;_<b.length;++_)x[_]=s[b[_]].slice();u&&x.reverse(),g[y]=x}h[m]=g}return h}return e.triangles||e.triangulate||e.triangle?{cells:d(s,l,{delaunay:!1,exterior:!1,interior:!0}),positions:s}:{edges:l,positions:s}}function s(t,e,r){try{return o(t,e,r,!0)}catch(t){}try{return o(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function l(t,e,r,n){var a=n.size||64,o=n.font||\\\"normal\\\";return r.font=a+\\\"px \\\"+o,r.textAlign=\\\"start\\\",r.textBaseline=\\\"alphabetic\\\",r.direction=\\\"ltr\\\",s(i(e,r,t,a),n,a)}e.exports=l,e.exports.processPixels=s;var u=t(\\\"surface-nets\\\"),c=t(\\\"ndarray\\\"),h=t(\\\"simplify-planar-graph\\\"),f=t(\\\"clean-pslg\\\"),d=t(\\\"cdt2d\\\"),p=t(\\\"planar-graph-to-polyline\\\")},{cdt2d:78,\\\"clean-pslg\\\":88,ndarray:466,\\\"planar-graph-to-polyline\\\":482,\\\"simplify-planar-graph\\\":522,\\\"surface-nets\\\":530}],555:[function(t,e,r){function n(t){var e=[];for(var r in t.layers)e.push(a(t.layers[r]));var n=new c;return h.tile.write({layers:e},n),n.finish()}function i(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})}function a(t){for(var e={name:t.name||\\\"\\\",version:t.version||1,extent:t.extent||4096,keys:[],values:[],features:[]},r={},n={},i=0;i<t.length;i++){var a=t.feature(i);a.geometry=l(a.loadGeometry());var o=[];for(var s in a.properties){var c=r[s];void 0===c&&(e.keys.push(s),c=e.keys.length-1,r[s]=c);var h=u(a.properties[s]),f=n[h.key];void 0===f&&(e.values.push(h),f=e.values.length-1,n[h.key]=f),o.push(c),o.push(f)}a.tags=o,e.features.push(a)}return e}function o(t,e){return(e<<3)+(7&t)}function s(t){return t<<1^t>>31}function l(t){for(var e=[],r=0,n=0,i=t.length,a=0;a<i;a++){var l=t[a];e.push(o(1,1));for(var u=0;u<l.length;u++){1===u&&e.push(o(2,l.length-1));var c=l[u].x-r,h=l[u].y-n;e.push(s(c),s(h)),r+=c,n+=h}}return e}function u(t){var e,r=typeof t;return\\\"string\\\"===r?e={string_value:t}:\\\"boolean\\\"===r?e={bool_value:t}:\\\"number\\\"===r?e=t%1!=0?{double_value:t}:t<0?{sint_value:t}:{uint_value:t}:(t=JSON.stringify(t),e={string_value:t}),e.key=r+\\\":\\\"+t,e}var c=t(\\\"pbf\\\"),h=t(\\\"./vector-tile-pb\\\"),f=t(\\\"./lib/geojson_wrapper\\\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=i,e.exports.GeoJSONWrapper=f},{\\\"./lib/geojson_wrapper\\\":556,\\\"./vector-tile-pb\\\":557,pbf:477}],556:[function(t,e,r){\\\"use strict\\\";function n(t){this.features=t,this.length=t.length}function i(t){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=4096}var a=t(\\\"point-geometry\\\"),o=t(\\\"vector-tile\\\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"point-geometry\\\":483,\\\"vector-tile\\\":549}],557:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t.readFields(i,{layers:[]},e)}function i(t,e,r){3===t&&e.layers.push(f(r,r.readVarint()+r.pos))}function a(t,e){var r;if(void 0!==t.layers)for(r=0;r<t.layers.length;r++)e.writeMessage(3,p,t.layers[r])}function o(t,e){return t.readFields(s,{},e)}function s(t,e,r){1===t?e.string_value=r.readString():2===t?e.float_value=r.readFloat():3===t?e.double_value=r.readDouble():4===t?e.int_value=r.readVarint():5===t?e.uint_value=r.readVarint():6===t?e.sint_value=r.readSVarint():7===t&&(e.bool_value=r.readBoolean())}function l(t,e){void 0!==t.string_value&&e.writeStringField(1,t.string_value),void 0!==t.float_value&&e.writeFloatField(2,t.float_value),void 0!==t.double_value&&e.writeDoubleField(3,t.double_value),void 0!==t.int_value&&e.writeVarintField(4,t.int_value),void 0!==t.uint_value&&e.writeVarintField(5,t.uint_value),void 0!==t.sint_value&&e.writeSVarintField(6,t.sint_value),void 0!==t.bool_value&&e.writeBooleanField(7,t.bool_value)}function u(t,e){var r=t.readFields(c,{},e);return void 0===r.type&&(r.type=\\\"Unknown\\\"),r}function c(t,e,r){1===t?e.id=r.readVarint():2===t?e.tags=r.readPackedVarint():3===t?e.type=r.readVarint():4===t&&(e.geometry=r.readPackedVarint())}function h(t,e){void 0!==t.id&&e.writeVarintField(1,t.id),void 0!==t.tags&&e.writePackedVarint(2,t.tags),void 0!==t.type&&e.writeVarintField(3,t.type),void 0!==t.geometry&&e.writePackedVarint(4,t.geometry)}function f(t,e){return t.readFields(d,{features:[],keys:[],values:[]},e)}function d(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():2===t?e.features.push(u(r,r.readVarint()+r.pos)):3===t?e.keys.push(r.readString()):4===t?e.values.push(o(r,r.readVarint()+r.pos)):5===t&&(e.extent=r.readVarint())}function p(t,e){void 0!==t.version&&e.writeVarintField(15,t.version),void 0!==t.name&&e.writeStringField(1,t.name);var r;if(void 0!==t.features)for(r=0;r<t.features.length;r++)e.writeMessage(2,h,t.features[r]);if(void 0!==t.keys)for(r=0;r<t.keys.length;r++)e.writeStringField(3,t.keys[r]);if(void 0!==t.values)for(r=0;r<t.values.length;r++)e.writeMessage(4,l,t.values[r]);void 0!==t.extent&&e.writeVarintField(5,t.extent)}var m=r.tile={read:n,write:a};m.GeomType={Unknown:0,Point:1,LineString:2,Polygon:3},m.value={read:o,write:l},m.feature={read:u,write:h},m.layer={read:f,write:p}},{}],558:[function(t,e,r){!function(){\\\"use strict\\\";function t(e){e.permitHostObjects___&&e.permitHostObjects___(t)}function r(t){return!(t.substr(0,d.length)==d&&\\\"___\\\"===t.substr(t.length-3))}function n(t){if(t!==Object(t))throw new TypeError(\\\"Not an object: \\\"+t);var e=t[p];if(e&&e.key===t)return e;if(f(t)){e={key:t};try{return h(t,p,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function i(t){return t.prototype=null,Object.freeze(t)}function a(){y||\\\"undefined\\\"==typeof console||(y=!0,console.warn(\\\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\\\"))}if(\\\"undefined\\\"==typeof ses||!ses.ok||ses.ok()){\\\"undefined\\\"!=typeof ses&&(ses.weakMapPermitHostObjects=t);var o=!1;if(\\\"function\\\"==typeof WeakMap){var s=WeakMap;if(\\\"undefined\\\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var l=new s,u=Object.freeze({});if(l.set(u,1),1===l.get(u))return void(e.exports=WeakMap);o=!0}}var c=(Object.prototype.hasOwnProperty,Object.getOwnPropertyNames),h=Object.defineProperty,f=Object.isExtensible,d=\\\"weakmap:\\\",p=d+\\\"ident:\\\"+Math.random()+\\\"___\\\";if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto.getRandomValues&&\\\"function\\\"==typeof ArrayBuffer&&\\\"function\\\"==typeof Uint8Array){var m=new ArrayBuffer(25),v=new Uint8Array(m);crypto.getRandomValues(v),p=d+\\\"rand:\\\"+Array.prototype.map.call(v,function(t){return(t%36).toString(36)}).join(\\\"\\\")+\\\"___\\\"}if(h(Object,\\\"getOwnPropertyNames\\\",{value:function(t){return c(t).filter(r)}}),\\\"getPropertyNames\\\"in Object){var g=Object.getPropertyNames;h(Object,\\\"getPropertyNames\\\",{value:function(t){return g(t).filter(r)}})}!function(){var t=Object.freeze;h(Object,\\\"freeze\\\",{value:function(e){return n(e),t(e)}});var e=Object.seal;h(Object,\\\"seal\\\",{value:function(t){return n(t),e(t)}});var r=Object.preventExtensions;h(Object,\\\"preventExtensions\\\",{value:function(t){return n(t),r(t)}})}();var y=!1,b=0,x=function(){function t(t,e){var r,i=n(t);return i?u in i?i[u]:e:(r=s.indexOf(t),r>=0?l[r]:e)}function e(t){var e=n(t);return e?u in e:s.indexOf(t)>=0}function r(t,e){var r,i=n(t);return i?i[u]=e:(r=s.indexOf(t),r>=0?l[r]=e:(r=s.length,l[r]=e,s[r]=t)),this}function o(t){var e,r,i=n(t);return i?u in i&&delete i[u]:!((e=s.indexOf(t))<0)&&(r=s.length-1,s[e]=void 0,l[e]=l[r],s[e]=s[r],s.length=r,l.length=r,!0)}this instanceof x||a();var s=[],l=[],u=b++;return Object.create(x.prototype,{get___:{value:i(t)},has___:{value:i(e)},set___:{value:i(r)},delete___:{value:i(o)}})};x.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 s?function(){function r(){function e(t,e){return c?u.has(t)?u.get(t):c.get___(t,e):u.get(t,e)}function r(t){return u.has(t)||!!c&&c.has___(t)}function n(t){var e=!!u.delete(t);return c?c.delete___(t)||e:e}this instanceof x||a()\\n\",\n       \";var l,u=new s,c=void 0,h=!1;return l=o?function(t,e){return u.set(t,e),u.has(t)||(c||(c=new x),c.set(t,e)),this}:function(t,e){if(h)try{u.set(t,e)}catch(r){c||(c=new x),c.set___(t,e)}else u.set(t,e);return this},Object.create(x.prototype,{get___:{value:i(e)},has___:{value:i(r)},set___:{value:i(l)},delete___:{value:i(n)},permitHostObjects___:{value:i(function(e){if(e!==t)throw new Error(\\\"bogus call to permitHostObjects___\\\");h=!0})}})}o&&\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),r.prototype=x.prototype,e.exports=r,Object.defineProperty(WeakMap.prototype,\\\"constructor\\\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),e.exports=x)}}()},{}],559:[function(t,e,r){function n(){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:i(e,t)}}var i=t(\\\"./hidden-store.js\\\");e.exports=n},{\\\"./hidden-store.js\\\":560}],560:[function(t,e,r){function n(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}e.exports=n},{}],561:[function(t,e,r){function n(){var t=i();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}}}var i=t(\\\"./create-store.js\\\");e.exports=n},{\\\"./create-store.js\\\":559}],562:[function(t,e,r){var n=t(\\\"get-canvas-context\\\");e.exports=function(t){return n(\\\"webgl\\\",t)}},{\\\"get-canvas-context\\\":146}],563:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function r(t){v[t]=!0;for(var e in i[t][1]){var n=i[t][1][e];v[n]||r(n)}}for(var s,l=Object.keys(a),u=0,c=l.length;u<c;u++){var h=l[u],f=a[h].exports;if(f===t||f&&f.default===t){s=h;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var d={},u=0,c=l.length;u<c;u++){var h=l[u];d[h]=h}i[s]=[Function([\\\"require\\\",\\\"module\\\",\\\"exports\\\"],\\\"(\\\"+t+\\\")(self)\\\"),d]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[s]=s,i[p]=[Function([\\\"require\\\"],\\\"var f = require(\\\"+ o(s) +\\\");(f.default ? f.default : f)(self);\\\"),m];var v={};r(p);var g=\\\"(\\\"+n+\\\")({\\\"+Object.keys(v).map(function(t){return o(t)+\\\":[\\\"+i[t][0]+\\\",\\\"+o(i[t][1])+\\\"]\\\"}).join(\\\",\\\")+\\\"},{},[\\\"+o(p)+\\\"])\\\",y=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([g],{type:\\\"text/javascript\\\"});if(e&&e.bare)return b;var x=y.createObjectURL(b),_=new Worker(x);return _.objectURL=x,_}},{}],564:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],565:[function(e,r,n){!function(e,i){\\\"object\\\"==typeof n&&void 0!==r?i(n):\\\"function\\\"==typeof t&&t.amd?t([\\\"exports\\\"],i):i(e.WhooTS=e.WhooTS||{})}(this,function(t){function e(t,e,n,i,a,o){return o=o||{},t+\\\"?\\\"+[\\\"bbox=\\\"+r(n,i,a),\\\"format=\\\"+(o.format||\\\"image/png\\\"),\\\"service=\\\"+(o.service||\\\"WMS\\\"),\\\"version=\\\"+(o.version||\\\"1.1.1\\\"),\\\"request=\\\"+(o.request||\\\"GetMap\\\"),\\\"srs=\\\"+(o.srs||\\\"EPSG:3857\\\"),\\\"width=\\\"+(o.width||256),\\\"height=\\\"+(o.height||256),\\\"layers=\\\"+e].join(\\\"&\\\")}function r(t,e,r){e=Math.pow(2,r)-e-1;var i=n(256*t,256*e,r),a=n(256*(t+1),256*(e+1),r);return i[0]+\\\",\\\"+i[1]+\\\",\\\"+a[0]+\\\",\\\"+a[1]}function n(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]}t.getURL=e,t.getTileBBox=r,t.getMercCoords=n,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})})},{}],566:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e,r,n){var i,a;if(\\\"object\\\"==typeof t)i=t,a=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\\\");i={year:t,month:e,day:r},a=n||{}}var o=p[i.year-p[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=p[a.year-p[0]];var l,u=o>>9&4095,c=o>>5&15,h=31&o,f=new Date(u,c-1,h),m=new Date(i.year,i.month-1,i.day);l=Math.round((m-f)/864e5);var v,g=d[a.year-d[0]];for(v=0;v<13;v++){var y=g&1<<12-v?30:29;if(l<y)break;l-=y}var b=g>>13;return!b||v<b?(a.isIntercalary=!1,a.month=1+v):v===b?(a.isIntercalary=!0,a.month=v):(a.isIntercalary=!1,a.month=v),a.day=1+l,a}function a(t,e,r,n,i){var a,o;if(\\\"object\\\"==typeof t)o=t,a=e||{};else{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\\\");var s;\\\"object\\\"==typeof n?(s=!1,a=n):(s=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:s}}var l;l=o.day-1;var u,c=d[o.year-d[0]],h=c>>13;u=h?o.month>h?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var f=0;f<u;f++){l+=c&1<<12-f?30:29}var m=p[o.year-p[0]],v=m>>9&4095,g=m>>5&15,y=31&m,b=new Date(v,g-1,y+l);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}var o=t(\\\"../main\\\"),s=t(\\\"object-assign\\\"),l=o.instance();n.prototype=new o.baseCalendar,s(n.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(c);return r?r[0]:\\\"\\\"}var n=this._validateYear(t),i=t.month(),a=\\\"\\\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\\\"0\\\"+a),this.isIntercalaryMonth(n,i)&&(a+=\\\"i\\\"),a},monthNames:function(t){if(\\\"string\\\"==typeof t){var e=t.match(h);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=this.toChineseMonth(r,n),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\\\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\\\"\\\\u95f0\\\"+a),a},monthNamesShort:function(t){if(\\\"string\\\"==typeof t){var e=t.match(f);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=this.toChineseMonth(r,n),a=[\\\"\\\\u4e00\\\",\\\"\\\\u4e8c\\\",\\\"\\\\u4e09\\\",\\\"\\\\u56db\\\",\\\"\\\\u4e94\\\",\\\"\\\\u516d\\\",\\\"\\\\u4e03\\\",\\\"\\\\u516b\\\",\\\"\\\\u4e5d\\\",\\\"\\\\u5341\\\",\\\"\\\\u5341\\\\u4e00\\\",\\\"\\\\u5341\\\\u4e8c\\\"][i-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 i=e[e.length-1];r=\\\"i\\\"===i||\\\"I\\\"===i}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 n=this.intercalaryMonth(t);if(r&&e!==n||e<1||e>12)throw o.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return n?!r&&e<=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(t=t.year(),e=t.month());var r=this.intercalaryMonth(t),n=r?12:11;if(e<0||e>n)throw o.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),d[t-d[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(t=t.year(),e=t.month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var n,i=this._validateYear(t,o.local.invalidyear),a=p[i-p[0]],s=a>>9&4095,u=a>>5&15,c=31&a;n=l.newDate(s,u,c),n.add(4-(n.dayOfWeek()||7),\\\"d\\\");var h=this.toJD(t,e,r)-n.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=d[t-d[0]];if(e>(r>>13?12:11))throw o.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 n=this._validate(t,s,r,o.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var i=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),u=a(t,s,r,i);return l.toJD(u.year,u.month,u.day)},fromJD:function(t){var e=l.fromJD(t),r=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(u),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var i=t.year(),a=t.month(),o=this.isIntercalaryMonth(i,a),s=this.toChineseMonth(i,a),l=Object.getPrototypeOf(n.prototype).add.call(this,t,e,r);if(\\\"y\\\"===r){var u=l.year(),c=l.month(),h=this.isIntercalaryMonth(u,s),f=o&&h?this.toMonthIndex(u,s,!0):this.toMonthIndex(u,s,!1);f!==c&&l.month(f)}return l}});var u=/^\\\\s*(-?\\\\d\\\\d\\\\d\\\\d|\\\\d\\\\d)[-\\\\/](\\\\d?\\\\d)([iI]?)[-\\\\/](\\\\d?\\\\d)/m,c=/^\\\\d?\\\\d[iI]?/m,h=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?\\\\u6708/m,f=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?/m;o.calendars.chinese=n;var d=[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],p=[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\\\":580,\\\"object-assign\\\":469}],567:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=e.year()+(e.year()<0?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),t<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),i.calendars.coptic=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],568:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.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,i.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,i.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 n=this._validate(t,e,r,i.local.invalidDate);return{century:o[Math.floor((n.year()-1)/100)+1]||\\\"\\\"}},toJD:function(t,e,r){var n=this._validate(t,e,r,i.local.invalidDate);return t=n.year()+(n.year()<0?1:0),e=n.month(),(r=n.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\\\"};i.calendars.discworld=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],569:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=e.year()+(e.year()<0?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,i.local.invalidYear||i.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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),t<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),i.calendars.ethiopian=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],570:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(\\\"../main\\\"),o=t(\\\"object-assign\\\");n.prototype=new a.baseCalendar,o(n.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,a.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return t=t<0?t+1:t,i(7*t+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,a.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,a.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,a.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===i(this.daysInYear(t),10)?30:9===e&&3===i(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 n=this._validate(t,e,r,a.local.invalidDate);return{yearType:(this.leapYear(n)?\\\"embolismic\\\":\\\"common\\\")+\\\" \\\"+[\\\"deficient\\\",\\\"regular\\\",\\\"complete\\\"][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.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(var s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(var 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 i(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)}}),a.calendars.hebrew=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],571:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t<=0?t+1:t,r+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)}}),i.calendars.islamic=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],572:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=e.year()<0?e.year()+1:e.year();return t%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,i.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 n=this._validate(t,e,r,i.local.invalidDate);return t=n.year(),e=n.month(),r=n.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),r=e+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}}),i.calendars.julian=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],573:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e){return t-e*Math.floor(t/e)}function a(t,e){return i(t-1,e)+1}var o=t(\\\"../main\\\"),s=t(\\\"object-assign\\\");n.prototype=new o.baseCalendar,s(n.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,o.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,o.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(\\\".\\\"),t.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,o.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,o.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,o.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,o.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate),i=n.toJD(),a=this._toHaab(i),s=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[s[0]-1],tzolkinDay:s[0],tzolkinTrecena:s[1]}},_toHaab:function(t){t-=this.jdEpoch;var e=i(t+8+340,365);return[Math.floor(e/20)+1,i(e,20)]},_toTzolkin:function(t){return t-=this.jdEpoch,[a(t+20,20),a(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,o.local.invalidDate);return n.day()+20*n.month()+360*n.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)}}),o.calendars.mayan=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],574:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar;var o=i.instance(\\\"gregorian\\\");a(n.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,i.local.invalidYear||i.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,i.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 n=this._validate(t,e,r,i.local.invalidMonth),t=n.year();t<0&&t++;for(var a=n.day(),s=1;s<n.month();s++)a+=this.daysPerMonth[s-1];return a+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)}}),i.calendars.nanakshahi=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],575:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear).year(),void 0===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,i.local.invalidMonth),void 0===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 n=this._validate(t,e,r,i.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var a=i.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,\\n\",\n       \"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+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,\\\"d\\\").toJD()},fromJD:function(t){var e=i.instance(),r=e.fromJD(t),n=r.year(),a=r.dayOfYear(),o=n+56;this._createMissingCalendarData(o);for(var s=9,l=this.NEPALI_CALENDAR_DATA[o][0],u=this.NEPALI_CALENDAR_DATA[o][s]-l+1;a>u;)s++,s>12&&(s=1,o++),u+=this.NEPALI_CALENDAR_DATA[o][s];var c=this.NEPALI_CALENDAR_DATA[o][s]-(u-a);return this.newDate(o,s,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===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]}}),i.calendars.nepali=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],576:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function i(t,e){return t-e*Math.floor(t/e)}var a=t(\\\"../main\\\"),o=t(\\\"object-assign\\\");n.prototype=new a.baseCalendar,o(n.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,a.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,a.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 n=this._validate(t,e,r,a.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var o=t-(t>=0?474:473),s=474+i(o,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(o/2820)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=t-this.toJD(475,1,1),r=Math.floor(e/1029983),n=i(e,1029983),a=2820;if(1029982!==n){var o=Math.floor(n/366),s=i(n,366);a=Math.floor((2134*o+2816*s+2815)/1028522)+o+1}var l=a+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),h=t-this.toJD(l,c,1)+1;return this.newDate(l,c,h)}}),a.calendars.persian=n,a.calendars.jalali=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],577:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\"),o=i.instance();n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate),t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.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)}}),i.calendars.taiwan=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],578:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\"),o=i.instance();n.prototype=new i.baseCalendar,a(n.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,i.local.invalidYear),t=this._t2gYear(e.year());return o.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,i.local.invalidYear),t=this._t2gYear(n.year());return o.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,i.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 n=this._validate(t,e,r,i.local.invalidDate),t=this._t2gYear(n.year());return o.toJD(t,n.month(),n.day())},fromJD:function(t){var e=o.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)}}),i.calendars.thai=n},{\\\"../main\\\":580,\\\"object-assign\\\":469}],579:[function(t,e,r){function n(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}var i=t(\\\"../main\\\"),a=t(\\\"object-assign\\\");n.prototype=new i.baseCalendar,a(n.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,i.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,i.local.invalidMonth),n=r.toJD()-24e5+.5,a=0,s=0;s<o.length;s++){if(o[s]>n)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 n=this._validate(t,e,r,i.local.invalidDate),a=12*(n.year()-1)+n.month()-15292;return n.day()+o[a-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 i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var n=i.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(t=null!=t.year?t.year:t,n=t>=1276&&t<=1500),n},_validate:function(t,e,r,n){var a=i.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw n.replace(/\\\\{0\\\\}/,this.local.name);return a}}),i.calendars.ummalqura=n;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\\\":580,\\\"object-assign\\\":469}],580:[function(t,e,r){function n(){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(u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate).replace(/\\\\{0\\\\}/,this._calendar.local.name)}function a(t,e){return t=\\\"\\\"+t,\\\"000000\\\".substring(0,e-t.length)+t}function o(){this.shortYearCutoff=\\\"+10\\\"}function s(t){this.local=this.regionalOptions[t]||this.regionalOptions[\\\"\\\"]}var l=t(\\\"object-assign\\\");l(n.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,i){return n=(null!=t&&t.year?t.calendar():\\\"string\\\"==typeof n?this.instance(n,i):n)||this.instance(),n.newDate(t,e,r)},substituteDigits:function(t){\\n\",\n       \"return function(e){return(e+\\\"\\\").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=\\\"\\\",i=0;r>0;){var a=r%10;n=(0===a?\\\"\\\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),l(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(u.local.invalidDate||u.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(u.local.differentCalendars||u.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?\\\"-\\\":\\\"\\\")+a(Math.abs(this.year()),4)+\\\"-\\\"+a(this.month(),2)+\\\"-\\\"+a(this.day(),2)}}),l(o.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.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,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear);return(e.year()<0?\\\"-\\\":\\\"\\\")+a(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.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,u.local.invalidMonth||u.regionalOptions[\\\"\\\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.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,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.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),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\\\"y\\\"===r?e:0),o=t.monthOfYear()+(\\\"m\\\"===r?e:0),i=t.day();\\\"y\\\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\\\"m\\\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];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 i={y:[1,1,\\\"y\\\"],m:[1,this.monthsInYear(-1),\\\"m\\\"],w:[this.daysInWeek(),this.daysInYear(-1),\\\"d\\\"],d:[1,this.daysInYear(-1),\\\"d\\\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);var n=\\\"y\\\"===r?e:t.year(),i=\\\"m\\\"===r?e:t.month(),a=\\\"d\\\"===r?e:t.day();return\\\"y\\\"!==r&&\\\"m\\\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);return u.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(u.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(u.local.differentCalendars||u.regionalOptions[\\\"\\\"].differentCalendars).replace(/\\\\{0\\\\}/,this.local.name).replace(/\\\\{1\\\\}/,t.calendar().local.name);return t}try{if(1===++this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\\\\{0\\\\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),s.prototype=new o,l(s.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,u.local.invalidYear||u.regionalOptions[\\\"\\\"].invalidYear),t=e.year()+(e.year()<0?1:0);return t%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,u.local.invalidMonth||u.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,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25);r=e+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\\\"\\\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=e.exports=new n;u.cdate=i,u.baseCalendar=o,u.calendars.gregorian=s},{\\\"object-assign\\\":469}],581:[function(t,e,r){var n=t(\\\"object-assign\\\"),i=t(\\\"./main\\\");n(i.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\\\"}),i.local=i.regionalOptions[\\\"\\\"],n(i.cdate.prototype,{formatDate:function(t,e){return\\\"string\\\"!=typeof t&&(e=t,t=\\\"\\\"),this._calendar.formatDate(t||\\\"\\\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.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 i.local.invalidFormat||i.regionalOptions[\\\"\\\"].invalidFormat;t=t||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,u=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;v+n<t.length&&t.charAt(v+n)===e;)n++;return v+=n-1,Math.floor(n/(r||1))>1}),c=function(t,e,r,n){var i=\\\"\\\"+e;if(u(t,n))for(;i.length<r;)i=\\\"0\\\"+i;return i},h=this,f=this.local.digits,d=function(t){return r.localNumbers&&f?f(t):t},p=\\\"\\\",m=!1,v=0;v<t.length;v++)if(m)\\\"'\\\"!==t.charAt(v)||u(\\\"'\\\")?p+=t.charAt(v):m=!1;else switch(t.charAt(v)){case\\\"d\\\":p+=d(c(\\\"d\\\",e.day(),2));break;case\\\"D\\\":p+=function(t,e,r,n){return u(t)?n[e]:r[e]}(\\\"D\\\",e.dayOfWeek(),n,a);break;case\\\"o\\\":p+=c(\\\"o\\\",e.dayOfYear(),3);break;case\\\"w\\\":p+=c(\\\"w\\\",e.weekOfYear(),2);break;case\\\"m\\\":p+=function(t){return\\\"function\\\"==typeof o?o.call(h,t,u(\\\"m\\\")):d(c(\\\"m\\\",t.month(),2))}(e);break;case\\\"M\\\":p+=function(t,e){return e?\\\"function\\\"==typeof l?l.call(h,t):l[t.month()-h.minMonth]:\\\"function\\\"==typeof s?s.call(h,t):s[t.month()-h.minMonth]}(e,u(\\\"M\\\"));break;case\\\"y\\\":p+=u(\\\"y\\\",2)?e.year():(e.year()%100<10?\\\"0\\\":\\\"\\\")+e.year()%100;break;case\\\"Y\\\":u(\\\"Y\\\",2),p+=e.formatYear();break;case\\\"J\\\":p+=e.toJD();break;case\\\"@\\\":p+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\\\"!\\\":p+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\\\"'\\\":u(\\\"'\\\")?p+=\\\"'\\\":m=!0;break;default:p+=t.charAt(v)}return p},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[\\\"\\\"].invalidArguments;if(\\\"\\\"===(e=\\\"object\\\"==typeof e?e.toString():e+\\\"\\\"))return null;t=t||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=\\\"string\\\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,c=r.monthNames||this.local.monthNames,h=-1,f=-1,d=-1,p=-1,m=-1,v=!1,g=!1,y=function(e,r){for(var n=1;k+n<t.length&&t.charAt(k+n)===e;)n++;return k+=n-1,Math.floor(n/(r||1))>1},b=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\\\"oyYJ@!\\\".indexOf(t)+1],o=new RegExp(\\\"^-?\\\\\\\\d{1,\\\"+a+\\\"}\\\"),s=e.substring(M).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\\\"\\\"].missingNumberAt).replace(/\\\\{0\\\\}/,M);return M+=s[0].length,parseInt(s[0],10)},x=this,_=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(M,o[s].length).toLowerCase()===o[s].toLowerCase())return M+=o[s].length,s+x.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[\\\"\\\"].unknownNameAt).replace(/\\\\{0\\\\}/,M)},w=function(){if(e.charAt(M)!==t.charAt(k))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\\\"\\\"].unexpectedLiteralAt).replace(/\\\\{0\\\\}/,M);M++},M=0,k=0;k<t.length;k++)if(g)\\\"'\\\"!==t.charAt(k)||y(\\\"'\\\")?w():g=!1;else switch(t.charAt(k)){case\\\"d\\\":p=b(\\\"d\\\");break;case\\\"D\\\":_(\\\"D\\\",a,o);break;case\\\"o\\\":m=b(\\\"o\\\");break;case\\\"w\\\":b(\\\"w\\\");break;case\\\"m\\\":d=function(){if(\\\"function\\\"==typeof l){y(\\\"m\\\");var t=l.call(x,e.substring(M));return M+=t.length,t}return b(\\\"m\\\")}();break;case\\\"M\\\":d=function(){if(\\\"function\\\"==typeof c){var t=y(\\\"M\\\")?c.call(x,e.substring(M)):u.call(x,e.substring(M));return M+=t.length,t}return _(\\\"M\\\",u,c)}();break;case\\\"y\\\":var A=k;v=!y(\\\"y\\\",2),k=A,f=b(\\\"y\\\",2);break;case\\\"Y\\\":f=b(\\\"Y\\\",2);break;case\\\"J\\\":h=b(\\\"J\\\")+.5,\\\".\\\"===e.charAt(M)&&(M++,b(\\\"J\\\"));break;case\\\"@\\\":h=b(\\\"@\\\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\\\"!\\\":h=b(\\\"!\\\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\\\"*\\\":M=e.length;break;case\\\"'\\\":y(\\\"'\\\")?w():g=!0;break;default:w()}if(M<e.length)throw i.local.unexpectedText||i.regionalOptions[\\\"\\\"].unexpectedText;if(-1===f?f=this.today().year():f<100&&v&&(f+=-1===n?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),\\\"string\\\"==typeof d&&(d=s.call(this,f,d)),m>-1){d=1,p=m;for(var T=this.daysInMonth(f,d);p>T;T=this.daysInMonth(f,d))d++,p-=T}return h>-1?this.fromJD(h):this.newDate(f,d,p)},determineDate:function(t,e,r,n,i){r&&\\\"object\\\"!=typeof r&&(i=n,n=r,r=null),\\\"string\\\"!=typeof n&&(i=n,n=\\\"\\\");var a=this;return e=e?e.newDate():null,t=null==t?e:\\\"string\\\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}t=t.toLowerCase();for(var e=(t.match(/^c/)&&r?r.newDate():null)||a.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:a.today().add(t,\\\"d\\\"):a.newDate(t)}})},{\\\"./main\\\":580,\\\"object-assign\\\":469}],582:[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\\\":109}],583:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=[];return e=+e||0,i(t.hi(t.shape[0]-1),r,e),r}e.exports=n;var i=t(\\\"./lib/zc-core\\\")},{\\\"./lib/zc-core\\\":582}],584:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./common_defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,o,r,i)}s=s||{},l=l||{};var c=u(\\\"visible\\\",!l.itemIsNotPlainObject),h=u(\\\"clicktoshow\\\");if(!c&&!h)return e;a(t,e,r,u);for(var f=e.showarrow,d=[\\\"x\\\",\\\"y\\\"],p=[-10,-30],m={_fullLayout:r},v=0;v<2;v++){var g=d[v],y=i.coerceRef(t,e,m,g,\\\"\\\",\\\"paper\\\");if(i.coercePosition(e,m,u,y,g,.5),f){var b=\\\"a\\\"+g,x=i.coerceRef(t,e,m,b,\\\"pixel\\\");\\\"pixel\\\"!==x&&x!==y&&(x=e[b]=\\\"pixel\\\");var _=\\\"pixel\\\"===x?p[v]:.4;i.coercePosition(e,m,u,x,b,_)}u(g+\\\"anchor\\\"),u(g+\\\"shift\\\")}if(n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),f&&n.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"]),h){var w=u(\\\"xclick\\\"),M=u(\\\"yclick\\\");e._xclick=void 0===w?e.x:i.cleanPosition(w,m,e.xref),e._yclick=void 0===M?e.y:i.cleanPosition(M,m,e.yref)}return e}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":586,\\\"./common_defaults\\\":589}],585:[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},{path:\\\"M2,2V-2H-2V2Z\\\",backoff:0}]},{}],586:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./arrow_paths\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/cartesian/constants\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={_isLinkedToArray:\\\"annotation\\\",visible:{valType:\\\"boolean\\\",dflt:!0},text:{valType:\\\"string\\\"},textangle:{valType:\\\"angle\\\",dflt:0},font:o({},i,{}),width:{valType:\\\"number\\\",min:1,dflt:null},height:{valType:\\\"number\\\",min:1,dflt:null},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},align:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"center\\\"},valign:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"middle\\\"},bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},bordercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},borderpad:{valType:\\\"number\\\",min:0,dflt:1},borderwidth:{valType:\\\"number\\\",min:0,dflt:1},showarrow:{valType:\\\"boolean\\\",dflt:!0},arrowcolor:{valType:\\\"color\\\"},arrowhead:{valType:\\\"integer\\\",min:0,max:n.length,dflt:1},arrowsize:{valType:\\\"number\\\",min:.3,dflt:1},arrowwidth:{valType:\\\"number\\\",min:.1},standoff:{valType:\\\"number\\\",min:0,dflt:0},ax:{valType:\\\"any\\\"},ay:{valType:\\\"any\\\"},axref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.x.toString()]},ayref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.y.toString()]},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.x.toString()]},x:{valType:\\\"any\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"auto\\\"},xshift:{valType:\\\"number\\\",dflt:0},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.y.toString()]},y:{valType:\\\"any\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\"},yshift:{valType:\\\"number\\\",dflt:0},clicktoshow:{valType:\\\"enumerated\\\",values:[!1,\\\"onoff\\\",\\\"onout\\\"],dflt:!1},xclick:{valType:\\\"any\\\"},yclick:{valType:\\\"any\\\"},hovertext:{valType:\\\"string\\\"},hoverlabel:{bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\"},font:o({},i,{})},captureevents:{valType:\\\"boolean\\\"},_deprecated:{ref:{valType:\\\"string\\\"}}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/constants\\\":771,\\\"../../plots/font_attributes\\\":790,\\\"./arrow_paths\\\":585}],587:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t._fullLayout;i.filterVisible(e.annotations).forEach(function(e){var r,n,i=a.getFromId(t,e.xref),o=a.getFromId(t,e.yref),s=3*e.arrowsize*e.arrowwidth||0;i&&i.autorange&&(r=s+e.xshift,n=s-e.xshift,e.axref===e.xref?(a.expand(i,[i.r2c(e.x)],{ppadplus:r,ppadminus:n}),a.expand(i,[i.r2c(e.ax)],{ppadplus:e._xpadplus,ppadminus:e._xpadminus})):a.expand(i,[i.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r),ppadminus:Math.max(e._xpadminus,n)})),o&&o.autorange&&(r=s-e.yshift,n=s+e.yshift,e.ayref===e.yref?(a.expand(o,[o.r2c(e.y)],{ppadplus:r,ppadminus:n}),a.expand(o,[o.r2c(e.ay)],{ppadplus:e._ypadplus,ppadminus:e._ypadminus})):a.expand(o,[o.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r),ppadminus:Math.max(e._ypadminus,n)}))})}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"./draw\\\").draw;e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};r.forEach(function(t){s[t.xref]=!0,s[t.yref]=!0});if(a.list(t).filter(function(t){return t.autorange&&s[t._id]}).length)return i.syncOrAsync([o,n],t)}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./draw\\\":592}],588:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=a(t,e);return r.on.length>0||r.explicitOff.length>0}function i(t,e){var r,n=a(t,e),i=n.on,o=n.off.concat(n.explicitOff),l={};if(i.length||o.length){for(r=0;r<i.length;r++)l[\\\"annotations[\\\"+i[r]+\\\"].visible\\\"]=!0;for(r=0;r<o.length;r++)l[\\\"annotations[\\\"+o[r]+\\\"].visible\\\"]=!1;return s.update(t,{},l)}}function a(t,e){var r,n,i,a,s,l,u,c,h=t._fullLayout.annotations,f=[],d=[],p=[],m=(e||[]).length;for(r=0;r<h.length;r++)if(i=h[r],a=i.clicktoshow){for(n=0;n<m;n++)if(s=e[n],l=s.xaxis,u=s.yaxis,l._id===i.xref&&u._id===i.yref&&l.d2r(s.x)===o(i._xclick,l)&&u.d2r(s.y)===o(i._yclick,u)){c=i.visible?\\\"onout\\\"===a?d:p:f,c.push(r);break}n===m&&i.visible&&\\\"onout\\\"===a&&d.push(r)}return{on:f,off:d,explicitOff:p}}function o(t,e){return\\\"log\\\"===e.type?e.l2r(t):e.d2r(t)}var s=t(\\\"../../plotly\\\");e.exports={hasClickToShow:n,onClick:i}},{\\\"../../plotly\\\":761}],589:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../color\\\");e.exports=function(t,e,r,a){a(\\\"opacity\\\");var o=a(\\\"bgcolor\\\"),s=a(\\\"bordercolor\\\"),l=i.opacity(s);a(\\\"borderpad\\\");var u=a(\\\"borderwidth\\\"),c=a(\\\"showarrow\\\");a(\\\"text\\\",c?\\\" \\\":\\\"new text\\\"),a(\\\"textangle\\\"),n.coerceFont(a,\\\"font\\\",r.font),a(\\\"width\\\"),a(\\\"align\\\"),a(\\\"height\\\")&&a(\\\"valign\\\"),c&&(a(\\\"arrowcolor\\\",l?e.bordercolor:i.defaultLine),a(\\\"arrowhead\\\"),a(\\\"arrowsize\\\"),a(\\\"arrowwidth\\\",2*(l&&u||1)),a(\\\"standoff\\\"));var h=a(\\\"hovertext\\\"),f=r.hoverlabel||{};if(h){var d=a(\\\"hoverlabel.bgcolor\\\",f.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),p=a(\\\"hoverlabel.bordercolor\\\",f.bordercolor||i.contrast(d));n.coerceFont(a,\\\"hoverlabel.font\\\",{family:f.font.family,size:f.font.size,color:f.font.color||p})}a(\\\"captureevents\\\",!!h)}},{\\\"../../lib\\\":725,\\\"../color\\\":603}],590:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){function o(t){var r=u[t],o=null;o=s?i(r,e.range):Math.pow(10,r),n(o)||(o=null),a(c+t,o)}e=e||{};var s=\\\"log\\\"===r&&\\\"linear\\\"===e.type,l=\\\"linear\\\"===r&&\\\"log\\\"===e.type;if(s||l)for(var u,c,h=t._fullLayout.annotations,f=e._id.charAt(0),d=0;d<h.length;d++)u=h[d],c=\\\"annotations[\\\"+d+\\\"].\\\",u[f+\\\"ref\\\"]===e._id&&o(f),u[\\\"a\\\"+f+\\\"ref\\\"]===e._id&&o(\\\"a\\\"+f)}},{\\\"../../lib/to_log_range\\\":746,\\\"fast-isnumeric\\\":130}],591:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./annotation_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"annotations\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":763,\\\"./annotation_defaults\\\":584}],592:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t._fullLayout;e._infolayer.selectAll(\\\".annotation\\\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&i(t,r);return l.previousPromises(t)}function i(t,e){var r=t._fullLayout,n=r.annotations[e]||{};a(t,n,e,!1,c.getFromId(t,n.xref),c.getFromId(t,n.yref))}function a(t,e,r,n,i,a){function l(r){return r.call(f.font,F).attr({\\\"text-anchor\\\":{left:\\\"start\\\",right:\\\"end\\\"}[e.align]||\\\"middle\\\"}),p.convertToTspans(r,t,c),r}function c(){function r(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]}var o=j.selectAll(\\\"a\\\");if(1===o.size()&&o.text()===j.text()){C.insert(\\\"a\\\",\\\":first-child\\\").attr({\\\"xlink:xlink:href\\\":o.attr(\\\"xlink:href\\\"),\\\"xlink:xlink:show\\\":o.attr(\\\"xlink:show\\\")}).style({cursor:\\\"pointer\\\"}).node().appendChild(P.node())}var l=C.select(\\\".annotation-text-math-group\\\"),c=!l.empty(),d=f.bBox((c?l:j).node()),y=d.width,L=d.height,I=e.width||y,F=e.height||L,N=Math.round(I+2*D),B=Math.round(F+2*D);e._w=I,e._h=F;for(var U=!1,V=[\\\"x\\\",\\\"y\\\"],H=0;H<V.length;H++){var q,G,Y,X,W,Z=V[H],J=e[Z+\\\"ref\\\"]||Z,K=e[\\\"a\\\"+Z+\\\"ref\\\"],Q={x:i,y:a}[Z],$=(A+(\\\"x\\\"===Z?0:-90))*Math.PI/180,tt=N*Math.cos($),et=B*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+\\\"anchor\\\"],it=e[Z+\\\"shift\\\"]*(\\\"x\\\"===Z?1:-1),at=k[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&&(ot<0||ot>1)&&(K===J?((ot=Q.r2fraction(e[\\\"a\\\"+Z]))<0||ot>1)&&(U=!0):U=!0,U))continue;q=Q._offset+Q.r2p(e[Z]),X=.5}else\\\"x\\\"===Z?(Y=e[Z],q=_.l+_.w*Y):(Y=1-e[Z],q=_.t+_.h*Y),X=e.showarrow?.5:Y;if(e.showarrow){at.head=q;var st=e[\\\"a\\\"+Z];W=tt*r(.5,e.xanchor)-et*r(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=W):(at.tail=q+st,G=W+st),at.text=at.tail+W;var lt=x[\\\"x\\\"===Z?\\\"width\\\":\\\"height\\\"];if(\\\"paper\\\"===J&&(at.head=u.constrain(at.head,1,lt-1)),\\\"pixel\\\"===K){var ut=-Math.max(at.tail-3,at.text),ct=Math.min(at.tail+3,at.text)-lt;ut>0?(at.tail+=ut,at.text+=ut):ct>0&&(at.tail-=ct,at.text-=ct)}at.tail+=it,at.head+=it}else W=rt*r(X,nt),G=W,at.text=q+W;at.text+=it,W+=it,G+=it,e[\\\"_\\\"+Z+\\\"padplus\\\"]=rt/2+G,e[\\\"_\\\"+Z+\\\"padminus\\\"]=rt/2-G,e[\\\"_\\\"+Z+\\\"size\\\"]=rt,e[\\\"_\\\"+Z+\\\"shift\\\"]=W}if(U)return void C.remove();var ht=0,ft=0;if(\\\"left\\\"!==e.align&&(ht=(I-y)*(\\\"center\\\"===e.align?.5:1)),\\\"top\\\"!==e.valign&&(ft=(F-L)*(\\\"middle\\\"===e.valign?.5:1)),c)l.select(\\\"svg\\\").attr({x:D+ht-1,y:D+ft}).call(f.setClipUrl,O?M:null);else{var dt=D+ft-d.top,pt=D+ht-d.left;j.call(p.positionText,pt,dt).call(f.setClipUrl,O?M:null)}R.select(\\\"rect\\\").call(f.setRect,D,D,I,F),P.call(f.setRect,z/2,z/2,N-z,B-z),C.call(f.setTranslate,Math.round(k.x.text-N/2),Math.round(k.y.text-B/2)),S.attr({transform:\\\"rotate(\\\"+A+\\\",\\\"+k.x.text+\\\",\\\"+k.y.text+\\\")\\\"});var mt=function(r,o){T.selectAll(\\\".annotation-arrow-g\\\").remove();var l=k.x.head,c=k.y.head,d=k.x.tail+r,p=k.y.tail+o,m=k.x.text+r,y=k.y.text+o,x=u.rotationXYMatrix(A,m,y),M=u.apply2DTransform(x),E=u.apply2DTransform2(x),L=+P.attr(\\\"width\\\"),z=+P.attr(\\\"height\\\"),I=m-.5*L,D=I+L,O=y-.5*z,R=O+z,F=[[I,O,I,R],[I,R,D,R],[D,R,D,O],[D,O,I,O]].map(E);if(!F.reduce(function(t,e){return t^!!u.segmentsIntersect(l,c,l+1e6,c+1e6,e[0],e[1],e[2],e[3])},!1)){F.forEach(function(t){var e=u.segmentsIntersect(d,p,l,c,t[0],t[1],t[2],t[3]);e&&(d=e.x,p=e.y)});var j=e.arrowwidth,N=e.arrowcolor,B=T.append(\\\"g\\\").style({opacity:h.opacity(N)}).classed(\\\"annotation-arrow-g\\\",!0),U=B.append(\\\"path\\\").attr(\\\"d\\\",\\\"M\\\"+d+\\\",\\\"+p+\\\"L\\\"+l+\\\",\\\"+c).style(\\\"stroke-width\\\",j+\\\"px\\\").call(h.stroke,h.rgb(N));if(g(U,e.arrowhead,\\\"end\\\",e.arrowsize,e.standoff),w.annotationPosition&&U.node().parentNode&&!n){var V=l,H=c;if(e.standoff){var q=Math.sqrt(Math.pow(l-d,2)+Math.pow(c-p,2));V+=e.standoff*(d-l)/q,H+=e.standoff*(p-c)/q}var G,Y,X,W=B.append(\\\"path\\\").classed(\\\"annotation-arrow\\\",!0).classed(\\\"anndrag\\\",!0).attr({d:\\\"M3,3H-3V-3H3ZM0,0L\\\"+(d-V)+\\\",\\\"+(p-H),transform:\\\"translate(\\\"+V+\\\",\\\"+H+\\\")\\\"}).style(\\\"stroke-width\\\",j+6+\\\"px\\\").call(h.stroke,\\\"rgba(0,0,0,0)\\\").call(h.fill,\\\"rgba(0,0,0,0)\\\");v.init({element:W.node(),gd:t,prepFn:function(){var t=f.getTranslate(C);Y=t.x,X=t.y,G={},i&&i.autorange&&(G[i._name+\\\".autorange\\\"]=!0),a&&a.autorange&&(G[a._name+\\\".autorange\\\"]=!0)},moveFn:function(t,r){var n=M(Y,X),o=n[0]+t,s=n[1]+r;C.call(f.setTranslate,o,s),G[b+\\\".x\\\"]=i?i.p2r(i.r2p(e.x)+t):e.x+t/_.w,G[b+\\\".y\\\"]=a?a.p2r(a.r2p(e.y)+r):e.y-r/_.h,e.axref===e.xref&&(G[b+\\\".ax\\\"]=i.p2r(i.r2p(e.ax)+t)),e.ayref===e.yref&&(G[b+\\\".ay\\\"]=a.p2r(a.r2p(e.ay)+r)),B.attr(\\\"transform\\\",\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"),S.attr({transform:\\\"rotate(\\\"+A+\\\",\\\"+o+\\\",\\\"+s+\\\")\\\"})},doneFn:function(e){if(e){s.relayout(t,G);var r=document.querySelector(\\\".js-notes-box-panel\\\");r&&r.redraw(r.selectedObj)}}})}}};if(e.showarrow&&mt(0,0),E){var vt,gt;v.init({element:C.node(),gd:t,prepFn:function(){gt=S.attr(\\\"transform\\\"),vt={}},moveFn:function(t,r){var o=\\\"pointer\\\";if(e.showarrow)e.axref===e.xref?vt[b+\\\".ax\\\"]=i.p2r(i.r2p(e.ax)+t):vt[b+\\\".ax\\\"]=e.ax+t,e.ayref===e.yref?vt[b+\\\".ay\\\"]=a.p2r(a.r2p(e.ay)+r):vt[b+\\\".ay\\\"]=e.ay+r,mt(t,r);else{if(n)return;if(i)vt[b+\\\".x\\\"]=e.x+t/i._m;else{var s=e._xsize/_.w,l=e.x+(e._xshift-e.xshift)/_.w-s/2;vt[b+\\\".x\\\"]=v.align(l+t/_.w,s,0,1,e.xanchor)}if(a)vt[b+\\\".y\\\"]=e.y+r/a._m;else{var u=e._ysize/_.h,c=e.y-(e._yshift+e.yshift)/_.h-u/2;vt[b+\\\".y\\\"]=v.align(c-r/_.h,u,0,1,e.yanchor)}i&&a||(o=v.getCursor(i?.5:vt[b+\\\".x\\\"],a?.5:vt[b+\\\".y\\\"],e.xanchor,e.yanchor))}S.attr({transform:\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"+gt}),m(C,o)},doneFn:function(e){if(m(C),e){s.relayout(t,vt);var r=document.querySelector(\\\".js-notes-box-panel\\\");r&&r.redraw(r.selectedObj)}}})}}var y,b,x=t._fullLayout,_=t._fullLayout._size,w=t._context.edits;n?(y=\\\"annotation-\\\"+n,b=n+\\\".annotations[\\\"+r+\\\"]\\\"):(y=\\\"annotation\\\",b=\\\"annotations[\\\"+r+\\\"]\\\"),x._infolayer.selectAll(\\\".\\\"+y+'[data-index=\\\"'+r+'\\\"]').remove();var M=\\\"clip\\\"+x._uid+\\\"_ann\\\"+r;if(!e._input||!1===e.visible)return void o.selectAll(\\\"#\\\"+M).remove();var k={x:{},y:{}},A=+e.textangle||0,T=x._infolayer.append(\\\"g\\\").classed(y,!0).attr(\\\"data-index\\\",String(r)).style(\\\"opacity\\\",e.opacity),S=T.append(\\\"g\\\").classed(\\\"annotation-text-g\\\",!0),E=w[e.showarrow?\\\"annotationTail\\\":\\\"annotationPosition\\\"],L=e.captureevents||w.annotationText||E,C=S.append(\\\"g\\\").style(\\\"pointer-events\\\",L?\\\"all\\\":null).call(m,\\\"default\\\").on(\\\"click\\\",function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:o.event};n&&(i.subplotId=n),t.emit(\\\"plotly_clickannotation\\\",i)});e.hovertext&&C.on(\\\"mouseover\\\",function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();d.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.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(){d.loneUnhover(x._hoverlayer.node())});var z=e.borderwidth,I=e.borderpad,D=z+I,P=C.append(\\\"rect\\\").attr(\\\"class\\\",\\\"bg\\\").style(\\\"stroke-width\\\",z+\\\"px\\\").call(h.stroke,e.bordercolor).call(h.fill,e.bgcolor),O=e.width||e.height,R=x._defs.select(\\\".clips\\\").selectAll(\\\"#\\\"+M).data(O?[0]:[]);R.enter().append(\\\"clipPath\\\").classed(\\\"annclip\\\",!0).attr(\\\"id\\\",M).append(\\\"rect\\\"),R.exit().remove();var F=e.font,j=C.append(\\\"text\\\").classed(\\\"annotation-text\\\",!0).text(e.text);w.annotationText?j.call(p.makeEditable,{delegate:C,gd:t}).call(l).on(\\\"edit\\\",function(r){e.text=r,this.call(l);var n={};n[b+\\\".text\\\"]=e.text,i&&i.autorange&&(n[i._name+\\\".autorange\\\"]=!0),a&&a.autorange&&(n[a._name+\\\".autorange\\\"]=!0),s.relayout(t,n)}):j.call(l)}var o=t(\\\"d3\\\"),s=t(\\\"../../plotly\\\"),l=t(\\\"../../plots/plots\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../plots/cartesian/axes\\\"),h=t(\\\"../color\\\"),f=t(\\\"../drawing\\\"),d=t(\\\"../fx\\\"),p=t(\\\"../../lib/svg_text_utils\\\"),m=t(\\\"../../lib/setcursor\\\"),v=t(\\\"../dragelement\\\"),g=t(\\\"./draw_arrow_head\\\");e.exports={draw:n,drawOne:i,drawRaw:a}},{\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"../fx\\\":644,\\\"./draw_arrow_head\\\":593,d3:121}],593:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"./arrow_paths\\\");e.exports=function(t,e,r,l,u){function c(){t.style(\\\"stroke-dasharray\\\",\\\"0px,100px\\\")}function h(r,i){d.path&&(e>5&&(i=0),n.select(f.parentNode).append(\\\"path\\\").attr({class:t.attr(\\\"class\\\"),d:d.path,transform:\\\"translate(\\\"+r.x+\\\",\\\"+r.y+\\\")rotate(\\\"+180*i/Math.PI+\\\")scale(\\\"+y+\\\")\\\"}).style({fill:b,opacity:x,\\\"stroke-width\\\":0}))}i(l)||(l=1);var f=t.node(),d=s[e||0];\\\"string\\\"==typeof r&&r||(r=\\\"end\\\");var p,m,v,g,y=(o.getPx(t,\\\"stroke-width\\\")||1)*l,b=t.style(\\\"stroke\\\")||a.defaultLine,x=t.style(\\\"stroke-opacity\\\")||1,_=r.indexOf(\\\"start\\\")>=0,w=r.indexOf(\\\"end\\\")>=0,M=d.backoff*y+u;if(\\\"line\\\"===f.nodeName){p={x:+t.attr(\\\"x1\\\"),y:+t.attr(\\\"y1\\\")},m={x:+t.attr(\\\"x2\\\"),y:+t.attr(\\\"y2\\\")};var k=p.x-m.x,A=p.y-m.y;if(v=Math.atan2(A,k),g=v+Math.PI,M){if(M*M>k*k+A*A)return void c();var T=M*Math.cos(v),S=M*Math.sin(v);_&&(p.x-=T,p.y-=S,t.attr({x1:p.x,y1:p.y})),w&&(m.x+=T,m.y+=S,t.attr({x2:m.x,y2:m.y}))}}else if(\\\"path\\\"===f.nodeName){var E=f.getTotalLength(),L=\\\"\\\";if(E<M)return void c();if(_){var C=f.getPointAtLength(0),z=f.getPointAtLength(.1);v=Math.atan2(C.y-z.y,C.x-z.x),p=f.getPointAtLength(Math.min(M,E)),M&&(L=\\\"0px,\\\"+M+\\\"px,\\\")}if(w){var I=f.getPointAtLength(E),D=f.getPointAtLength(E-.1)\\n\",\n       \";if(g=Math.atan2(I.y-D.y,I.x-D.x),m=f.getPointAtLength(Math.max(0,E-M)),M){var P=L?2*M:M;L+=E-P+\\\"px,\\\"+E+\\\"px\\\"}}else L&&(L+=E+\\\"px\\\");L&&t.style(\\\"stroke-dasharray\\\",L)}_&&h(p,v),w&&h(m,g)}},{\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"./arrow_paths\\\":585,d3:121,\\\"fast-isnumeric\\\":130}],594:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\"),i=t(\\\"./click\\\");e.exports={moduleType:\\\"component\\\",name:\\\"annotations\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\\\"./convert_coords\\\")}},{\\\"./attributes\\\":586,\\\"./calc_autorange\\\":587,\\\"./click\\\":588,\\\"./convert_coords\\\":590,\\\"./defaults\\\":591,\\\"./draw\\\":592}],595:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\");e.exports={_isLinkedToArray:\\\"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,arrowsize:n.arrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}},{\\\"../annotations/attributes\\\":586}],596:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=e.fullSceneLayout,n=r.domain,o=e.fullLayout._size,s={pdata:null,type:\\\"linear\\\",autorange:!1,range:[-1/0,1/0]};t._xa={},i.extendFlat(t._xa,s),a.setConvert(t._xa),t._xa._offset=o.l+n.x[0]*o.w,t._xa.l2p=function(){return.5*(1+t.pdata[0]/t.pdata[3])*o.w*(n.x[1]-n.x[0])},t._ya={},i.extendFlat(t._ya,s),a.setConvert(t._ya),t._ya._offset=o.t+(1-n.y[1])*o.h,t._ya.l2p=function(){return.5*(1-t.pdata[1]/t.pdata[3])*o.h*(n.y[1]-n.y[0])}}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t){for(var e=t.fullSceneLayout,r=e.annotations,i=0;i<r.length;i++)n(r[i],t);t.fullLayout._infolayer.selectAll(\\\".annotation-\\\"+t.id).remove()}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766}],597:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,o){function u(r,n){return i.coerce(t,e,l,r,n)}function c(t){var n=t+\\\"axis\\\",i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,u,t,t,.5)}return u(\\\"visible\\\",!o.itemIsNotPlainObject)?(s(t,e,n.fullLayout,u),c(\\\"x\\\"),c(\\\"y\\\"),c(\\\"z\\\"),i.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"]),e.xref=\\\"x\\\",e.yref=\\\"y\\\",e.zref=\\\"z\\\",u(\\\"xanchor\\\"),u(\\\"yanchor\\\"),u(\\\"xshift\\\"),u(\\\"yshift\\\"),e.showarrow&&(e.axref=\\\"pixel\\\",e.ayref=\\\"pixel\\\",u(\\\"ax\\\",-10),u(\\\"ay\\\",-30),i.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"])),e):e}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"../annotations/common_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r){o(t,e,{name:\\\"annotations\\\",handleItemDefaults:n,fullLayout:r.fullLayout})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"../../plots/cartesian/axes\\\":766,\\\"../annotations/common_defaults\\\":589,\\\"./attributes\\\":595}],598:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/draw\\\").drawRaw,i=t(\\\"../../plots/gl3d/project\\\"),a=[\\\"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],u=!1,c=0;c<3;c++){var h=a[c],f=l[h],d=e[h+\\\"axis\\\"],p=d.r2fraction(f);if(p<0||p>1){u=!0;break}}u?t.fullLayout._infolayer.select(\\\".annotation-\\\"+t.id+'[data-index=\\\"'+s+'\\\"]').remove():(l.pdata=i(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\\\":818,\\\"../annotations/draw\\\":592}],599:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"annotations3d\\\",schema:{layout:{\\\"scene.annotations\\\":t(\\\"./attributes\\\")}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),convert:t(\\\"./convert\\\"),draw:t(\\\"./draw\\\")}},{\\\"./attributes\\\":595,\\\"./convert\\\":596,\\\"./defaults\\\":597,\\\"./draw\\\":598}],600:[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\\\":566,\\\"world-calendars/dist/calendars/coptic\\\":567,\\\"world-calendars/dist/calendars/discworld\\\":568,\\\"world-calendars/dist/calendars/ethiopian\\\":569,\\\"world-calendars/dist/calendars/hebrew\\\":570,\\\"world-calendars/dist/calendars/islamic\\\":571,\\\"world-calendars/dist/calendars/julian\\\":572,\\\"world-calendars/dist/calendars/mayan\\\":573,\\\"world-calendars/dist/calendars/nanakshahi\\\":574,\\\"world-calendars/dist/calendars/nepali\\\":575,\\\"world-calendars/dist/calendars/persian\\\":576,\\\"world-calendars/dist/calendars/taiwan\\\":577,\\\"world-calendars/dist/calendars/thai\\\":578,\\\"world-calendars/dist/calendars/ummalqura\\\":579,\\\"world-calendars/dist/main\\\":580,\\\"world-calendars/dist/plus\\\":581}],601:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n,a,o,s,l,u=Math.floor((e+.05)/h)+c,f=i(r).fromJD(u),d=0;-1!==(d=t.indexOf(\\\"%\\\",d));)n=t.charAt(d+1),\\\"0\\\"===n||\\\"-\\\"===n||\\\"_\\\"===n?(o=3,a=t.charAt(d+2),\\\"_\\\"===n&&(n=\\\"-\\\")):(a=n,n=\\\"0\\\",o=2),s=b[a],s?(l=s===y?y:f.formatDate(s[n]),t=t.substr(0,d)+l+t.substr(d+o),d+=l.length):d+=o;return t}function i(t){var e=x[t];return e||(e=x[t]=s.instance(t))}function a(t){return l.extendFlat({},f,{description:t})}function o(t){return\\\"Sets the calendar system to use with `\\\"+t+\\\"` date data.\\\"}var s=t(\\\"./calendars\\\"),l=t(\\\"../../lib\\\"),u=t(\\\"../../constants/numerical\\\"),c=u.EPOCHJD,h=u.ONEDAY,f={valType:\\\"enumerated\\\",values:Object.keys(s.calendars),dflt:\\\"gregorian\\\"},d=function(t,e,r,n){var i={};return i[r]=f,l.coerce(t,e,i,r,n)},p=function(t,e,r,n){for(var i=0;i<r.length;i++)d(t,e,r[i]+\\\"calendar\\\",n.calendar)},m={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\\\"},v={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\\\"},g={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\\\"]},y=\\\"##\\\",b={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:y,w:y,c:{0:\\\"D M d %X yyyy\\\",\\\"-\\\":\\\"D M d %X yyyy\\\"},x:{0:\\\"mm/dd/yyyy\\\",\\\"-\\\":\\\"mm/dd/yyyy\\\"}},x={},_={xcalendar:a(o(\\\"x\\\"))},w=l.extendFlat({},_,{ycalendar:a(o(\\\"y\\\"))}),M=l.extendFlat({},w,{zcalendar:a(o(\\\"z\\\"))}),k=a([\\\"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:w,bar:w,heatmap:w,contour:w,histogram:w,histogram2d:w,histogram2dcontour:w,scatter3d:M,surface:M,mesh3d:M,scattergl:w,ohlc:_,candlestick:_},layout:{calendar:a([\\\"Sets the default calendar system to use for interpreting and\\\",\\\"displaying dates throughout the plot.\\\"].join(\\\" \\\")),\\\"xaxis.calendar\\\":k,\\\"yaxis.calendar\\\":k,\\\"scene.xaxis.calendar\\\":k,\\\"scene.yaxis.calendar\\\":k,\\\"scene.zaxis.calendar\\\":k},transforms:{filter:{valuecalendar:a([\\\"Sets the calendar system to use for `value`, if it is a date.\\\"].join(\\\" \\\")),targetcalendar:a([\\\"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:f,handleDefaults:d,handleTraceDefaults:p,CANONICAL_SUNDAY:v,CANONICAL_TICK:m,DFLTRANGE:g,getCal:i,worldCalFmt:n}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"./calendars\\\":600}],602:[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},{}],603:[function(t,e,r){\\\"use strict\\\";function n(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+\\\")\\\"}var i=t(\\\"tinycolor2\\\"),a=t(\\\"fast-isnumeric\\\"),o=e.exports={},s=t(\\\"./attributes\\\");o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var u=o.background=s.background;o.tinyRGB=function(t){var e=t.toRgb();return\\\"rgb(\\\"+Math.round(e.r)+\\\", \\\"+Math.round(e.g)+\\\", \\\"+Math.round(e.b)+\\\")\\\"},o.rgb=function(t){return o.tinyRGB(i(t))},o.opacity=function(t){return t?i(t).getAlpha():0},o.addOpacity=function(t,e){var r=i(t).toRgb();return\\\"rgba(\\\"+Math.round(r.r)+\\\", \\\"+Math.round(r.g)+\\\", \\\"+Math.round(r.b)+\\\", \\\"+e+\\\")\\\"},o.combine=function(t,e){var r=i(t).toRgb();if(1===r.a)return i(t).toRgbString();var n=i(e||u).toRgb(),a=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return i(o).toRgbString()},o.contrast=function(t,e,r){var n=i(t);return 1!==n.getAlpha()&&(n=i(o.combine(t,u))),(n.isDark()?e?n.lighten(e):u:r?n.darken(r):l).toString()},o.stroke=function(t,e){var r=i(e);t.style({stroke:o.tinyRGB(r),\\\"stroke-opacity\\\":r.getAlpha()})},o.fill=function(t,e){var r=i(e);t.style({fill:o.tinyRGB(r),\\\"fill-opacity\\\":r.getAlpha()})},o.clean=function(t){if(t&&\\\"object\\\"==typeof t){var e,r,i,a,s=Object.keys(t);for(e=0;e<s.length;e++)if(i=s[e],a=t[i],\\\"color\\\"===i.substr(i.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=n(a[r]);else t[i]=n(a);else if(\\\"colorscale\\\"===i.substr(i.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=n(a[r][1]));else if(Array.isArray(a)){var l=a[0];if(!Array.isArray(l)&&l&&\\\"object\\\"==typeof l)for(r=0;r<a.length;r++)o.clean(a[r])}else a&&\\\"object\\\"==typeof a&&o.clean(a)}}},{\\\"./attributes\\\":602,\\\"fast-isnumeric\\\":130,tinycolor2:533}],604:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/layout_attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat;e.exports={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:a({},n.ticks,{dflt:\\\"\\\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{valType:\\\"string\\\",dflt:\\\"Click to enter colorscale title\\\"},titlefont:a({},i,{}),titleside:{valType:\\\"enumerated\\\",values:[\\\"right\\\",\\\"top\\\",\\\"bottom\\\"],dflt:\\\"top\\\"}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/layout_attributes\\\":777,\\\"../../plots/font_attributes\\\":790}],605:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/tick_value_defaults\\\"),a=t(\\\"../../plots/cartesian/tick_mark_defaults\\\"),o=t(\\\"../../plots/cartesian/tick_label_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r){function l(t,e){return n.coerce(c,u,s,t,e)}var u=e.colorbar={},c=t.colorbar||{};l(\\\"thickness\\\",\\\"fraction\\\"===l(\\\"thicknessmode\\\")?30/(r.width-r.margin.l-r.margin.r):30),l(\\\"len\\\",\\\"fraction\\\"===l(\\\"lenmode\\\")?1:r.height-r.margin.t-r.margin.b),l(\\\"x\\\"),l(\\\"xanchor\\\"),l(\\\"xpad\\\"),l(\\\"y\\\"),l(\\\"yanchor\\\"),l(\\\"ypad\\\"),n.noneOrAll(c,u,[\\\"x\\\",\\\"y\\\"]),l(\\\"outlinecolor\\\"),l(\\\"outlinewidth\\\"),l(\\\"bordercolor\\\"),l(\\\"borderwidth\\\"),l(\\\"bgcolor\\\"),i(c,u,l,\\\"linear\\\"),o(c,u,l,\\\"linear\\\",{outerTicks:!1,font:r.font,noHover:!0}),a(c,u,l,\\\"linear\\\",{outerTicks:!1,font:r.font,noHover:!0}),l(\\\"title\\\"),n.coerceFont(l,\\\"titlefont\\\",r.font),l(\\\"titleside\\\")}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/tick_label_defaults\\\":784,\\\"../../plots/cartesian/tick_mark_defaults\\\":785,\\\"../../plots/cartesian/tick_value_defaults\\\":786,\\\"./attributes\\\":604}],606:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../plotly\\\"),o=t(\\\"../../plots/plots\\\"),s=t(\\\"../../registry\\\"),l=t(\\\"../../plots/cartesian/axes\\\"),u=t(\\\"../dragelement\\\"),c=t(\\\"../../lib\\\"),h=t(\\\"../../lib/extend\\\").extendFlat,f=t(\\\"../../lib/setcursor\\\"),d=t(\\\"../drawing\\\"),p=t(\\\"../color\\\"),m=t(\\\"../titles\\\"),v=t(\\\"../../lib/svg_text_utils\\\"),g=t(\\\"../../constants/alignment\\\").LINE_SPACING,y=t(\\\"../../plots/cartesian/axis_defaults\\\"),b=t(\\\"../../plots/cartesian/position_defaults\\\"),x=t(\\\"../../plots/cartesian/layout_attributes\\\"),_=t(\\\"./attributes\\\");e.exports=function(t,e){function r(){function _(t,e){return c.coerce(et,rt,x,t,e)}function k(){if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)){var e=lt.select(\\\".cbtitle\\\"),r=e.select(\\\"text\\\"),a=[-M.outlinewidth/2,M.outlinewidth/2],o=e.select(\\\".h\\\"+rt._id+\\\"title-math-group\\\").node(),s=15.6;if(r.node()&&(s=parseInt(r.style(\\\"font-size\\\"),10)*g),o?(ct=d.bBox(o).height)>s&&(a[1]-=(ct-s)/2):r.node()&&!r.classed(\\\"js-placeholder\\\")&&(ct=d.bBox(r.node()).height),ct){if(ct+=5,\\\"top\\\"===M.titleside)rt.domain[1]-=ct/E.h,a[1]*=-1;else{rt.domain[0]+=ct/E.h;var u=v.lineCount(r);a[1]+=(1-u)*s}e.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\")\\\"),rt.setScale()}}lt.selectAll(\\\".cbfills,.cblines,.cbaxis\\\").attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(E.h*(1-rt.domain[1]))+\\\")\\\");var h=lt.select(\\\".cbfills\\\").selectAll(\\\"rect.cbfill\\\").data(D);h.enter().append(\\\"rect\\\").classed(\\\"cbfill\\\",!0).style(\\\"stroke\\\",\\\"none\\\"),h.exit().remove(),h.each(function(t,e){var r=[0===e?z[0]:(D[e]+D[e-1])/2,e===D.length-1?z[1]:(D[e]+D[e+1])/2].map(rt.c2p).map(Math.round);e!==D.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=O(t).replace(\\\"e-\\\",\\\"\\\"),o=i(a).toHexString();n.select(this).attr({x:J,width:Math.max(H,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var f=lt.select(\\\".cblines\\\").selectAll(\\\"path.cbline\\\").data(M.line.color&&M.line.width?I:[]);return f.enter().append(\\\"path\\\").classed(\\\"cbline\\\",!0),f.exit().remove(),f.each(function(t){n.select(this).attr(\\\"d\\\",\\\"M\\\"+J+\\\",\\\"+(Math.round(rt.c2p(t))+M.line.width/2%1)+\\\"h\\\"+H).call(d.lineGroupStyle,M.line.width,P(t),M.line.dash)}),rt._axislayer.selectAll(\\\"g.\\\"+rt._id+\\\"tick,path\\\").remove(),rt._pos=J+H+(M.outlinewidth||0)/2-(\\\"outside\\\"===M.ticks?1:0),rt.side=\\\"right\\\",c.syncOrAsync([function(){return l.doTicks(t,rt,!0)},function(){if(-1===[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)){var e=rt.titlefont.size,r=rt._offset+rt._length/2,i=E.l+(rt.position||0)*E.w+(\\\"right\\\"===rt.side?10+e*(rt.showticklabels?1:.5):-10-e*(rt.showticklabels?.5:0));A(\\\"h\\\"+rt._id+\\\"title\\\",{avoid:{selection:n.select(t).selectAll(\\\"g.\\\"+rt._id+\\\"tick\\\"),side:M.titleside,offsetLeft:E.l,offsetTop:E.t,maxShift:S.width},attributes:{x:i,y:r,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:\\\"-90\\\",offset:0}})}}])}function A(e,r){var n,i=w();n=s.traceIs(i,\\\"markerColorscale\\\")?\\\"marker.colorbar.title\\\":\\\"colorbar.title\\\";var a={propContainer:rt,propName:n,traceIndex:i.index,dfltName:\\\"colorscale\\\",containerGroup:lt.select(\\\".cbtitle\\\")},o=\\\"h\\\"===e.charAt(0)?e.substr(1):\\\"h\\\"+e;lt.selectAll(\\\".\\\"+o+\\\",.\\\"+o+\\\"-math-group\\\").remove(),m.draw(t,e,h(a,r||{}))}function T(){var r=H+M.outlinewidth/2+d.bBox(rt._axislayer.node()).width;if(B=ut.select(\\\"text\\\"),B.node()&&!B.classed(\\\"js-placeholder\\\")){var n,i=ut.select(\\\".h\\\"+rt._id+\\\"title-math-group\\\").node();n=i&&-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)?d.bBox(i).width:d.bBox(ut.node()).right-J-E.l,r=Math.max(r,n)}var a=2*M.xpad+r+M.borderwidth+M.outlinewidth/2,s=$-tt;lt.select(\\\".cbbg\\\").attr({x:J-M.xpad-(M.borderwidth+M.outlinewidth)/2,y:tt-W,width:Math.max(a,2),height:Math.max(s+2*W,2)}).call(p.fill,M.bgcolor).call(p.stroke,M.bordercolor).style({\\\"stroke-width\\\":M.borderwidth}),lt.selectAll(\\\".cboutline\\\").attr({x:J,y:tt+M.ypad+(\\\"top\\\"===M.titleside?ct:0),width:Math.max(H,2),height:Math.max(s-2*M.ypad-ct,2)}).call(p.stroke,M.outlinecolor).style({fill:\\\"None\\\",\\\"stroke-width\\\":M.outlinewidth});var l=({center:.5,right:1}[M.xanchor]||0)*a;lt.attr(\\\"transform\\\",\\\"translate(\\\"+(E.l-l)+\\\",\\\"+E.t+\\\")\\\"),o.autoMargin(t,e,{x:M.x,y:M.y,l:a*({right:1,center:.5}[M.xanchor]||0),r:a*({left:1,center:.5}[M.xanchor]||0),t:s*({bottom:1,middle:.5}[M.yanchor]||0),b:s*({top:1,middle:.5}[M.yanchor]||0)})}var S=t._fullLayout,E=S._size;if(\\\"function\\\"!=typeof M.fillcolor&&\\\"function\\\"!=typeof M.line.color)return void S._infolayer.selectAll(\\\"g.\\\"+e).remove();var L,C,z=n.extent((\\\"function\\\"==typeof M.fillcolor?M.fillcolor:M.line.color).domain()),I=[],D=[],P=\\\"function\\\"==typeof M.line.color?M.line.color:function(){return M.line.color},O=\\\"function\\\"==typeof M.fillcolor?M.fillcolor:function(){return M.fillcolor},R=M.levels.end+M.levels.size/100,F=M.levels.size,j=1.001*z[0]-.001*z[1],N=1.001*z[1]-.001*z[0];for(C=0;C<1e5&&(L=M.levels.start+C*F,!(F>0?L>=R:L<=R));C++)L>j&&L<N&&I.push(L);if(\\\"function\\\"==typeof M.fillcolor)if(M.filllevels)for(R=M.filllevels.end+M.filllevels.size/100,F=M.filllevels.size,C=0;C<1e5&&(L=M.filllevels.start+C*F,!(F>0?L>=R:L<=R));C++)L>z[0]&&L<z[1]&&D.push(L);else D=I.map(function(t){return t-M.levels.size/2}),D.push(D[D.length-1]+M.levels.size);else M.fillcolor&&\\\"string\\\"==typeof M.fillcolor&&(D=[0]);M.levels.size<0&&(I.reverse(),D.reverse());var B,U=S.height-S.margin.t-S.margin.b,V=S.width-S.margin.l-S.margin.r,H=Math.round(M.thickness*(\\\"fraction\\\"===M.thicknessmode?V:1)),q=H/E.w,G=Math.round(M.len*(\\\"fraction\\\"===M.lenmode?U:1)),Y=G/E.h,X=M.xpad/E.w,W=(M.borderwidth+M.outlinewidth)/2,Z=M.ypad/E.h,J=Math.round(M.x*E.w+M.xpad),K=M.x-q*({middle:.5,right:1}[M.xanchor]||0),Q=M.y+Y*(({top:-.5,bottom:.5}[M.yanchor]||0)-.5),$=Math.round(E.h*(1-Q)),tt=$-G,et={type:\\\"linear\\\",range:z,tickmode:M.tickmode,nticks:M.nticks,tick0:M.tick0,dtick:M.dtick,tickvals:M.tickvals,ticktext:M.ticktext,ticks:M.ticks,ticklen:M.ticklen,tickwidth:M.tickwidth,tickcolor:M.tickcolor,showticklabels:M.showticklabels,tickfont:M.tickfont,tickangle:M.tickangle,tickformat:M.tickformat,exponentformat:M.exponentformat,separatethousands:M.separatethousands,showexponent:M.showexponent,showtickprefix:M.showtickprefix,tickprefix:M.tickprefix,showticksuffix:M.showticksuffix,ticksuffix:M.ticksuffix,title:M.title,titlefont:M.titlefont,showline:!0,anchor:\\\"free\\\",position:1},rt={type:\\\"linear\\\",_id:\\\"y\\\"+e},nt={letter:\\\"y\\\",font:S.font,noHover:!0,calendar:S.calendar};if(y(et,rt,_,nt,S),b(et,rt,_,nt),rt.position=M.x+X+q,r.axis=rt,-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)&&(rt.titleside=M.titleside,rt.titlex=M.x+X,rt.titley=Q+(\\\"top\\\"===M.titleside?Y-Z:Z)),M.line.color&&\\\"auto\\\"===M.tickmode){rt.tickmode=\\\"linear\\\",rt.tick0=M.levels.start;var it=M.levels.size,at=c.constrain(($-tt)/50,4,15)+1,ot=(z[1]-z[0])/((M.nticks||at)*it);if(ot>1){var st=Math.pow(10,Math.floor(Math.log(ot)/Math.LN10));it*=st*c.roundUp(ot/st,[2,5,10]),(Math.abs(M.levels.start)/M.levels.size+1e-6)%1<2e-6&&(rt.tick0=0)}rt.dtick=it}rt.domain=[Q+Z,Q+Y-Z],rt.setScale();var lt=S._infolayer.selectAll(\\\"g.\\\"+e).data([0]);lt.enter().append(\\\"g\\\").classed(e,!0).each(function(){var t=n.select(this);t.append(\\\"rect\\\").classed(\\\"cbbg\\\",!0),t.append(\\\"g\\\").classed(\\\"cbfills\\\",!0),t.append(\\\"g\\\").classed(\\\"cblines\\\",!0),t.append(\\\"g\\\").classed(\\\"cbaxis\\\",!0).classed(\\\"crisp\\\",!0),t.append(\\\"g\\\").classed(\\\"cbtitleunshift\\\",!0).append(\\\"g\\\").classed(\\\"cbtitle\\\",!0),t.append(\\\"rect\\\").classed(\\\"cboutline\\\",!0),t.select(\\\".cbtitle\\\").datum(0)}),lt.attr(\\\"transform\\\",\\\"translate(\\\"+Math.round(E.l)+\\\",\\\"+Math.round(E.t)+\\\")\\\");var ut=lt.select(\\\".cbtitleunshift\\\").attr(\\\"transform\\\",\\\"translate(-\\\"+Math.round(E.l)+\\\",-\\\"+Math.round(E.t)+\\\")\\\");rt._axislayer=lt.select(\\\".cbaxis\\\");var ct=0;if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(M.titleside)){var ht,ft=E.l+(M.x+X)*E.w,dt=rt.titlefont.size;ht=\\\"top\\\"===M.titleside?(1-(Q+Y-Z))*E.h+E.t+3+.75*dt:(1-(Q+Z))*E.h+E.t-3-.25*dt,A(rt._id+\\\"title\\\",{attributes:{x:ft,y:ht,\\\"text-anchor\\\":\\\"start\\\"}})}var pt=c.syncOrAsync([o.previousPromises,k,o.previousPromises,T],t);if(pt&&pt.then&&(t._promises||[]).push(pt),t._context.edits.colorbarPosition){var mt,vt,gt;u.init({element:lt.node(),gd:t,prepFn:function(){mt=lt.attr(\\\"transform\\\"),f(lt)},moveFn:function(t,e){lt.attr(\\\"transform\\\",mt+\\\" translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),vt=u.align(K+t/E.w,q,0,1,M.xanchor),gt=u.align(Q-e/E.h,Y,0,1,M.yanchor);var r=u.getCursor(vt,gt,M.xanchor,M.yanchor);f(lt,r)},doneFn:function(e){f(lt),e&&void 0!==vt&&void 0!==gt&&a.restyle(t,{\\\"colorbar.x\\\":vt,\\\"colorbar.y\\\":gt},w().index)}})}return pt}function w(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if(n=t._fullData[r],n.uid===i)return n}var M={};return Object.keys(_).forEach(function(t){M[t]=null}),M.fillcolor=null,M.line={color:null,width:null,dash:null},M.levels={start:null,end:null,size:null},M.filllevels=null,Object.keys(M).forEach(function(t){r[t]=function(e){return arguments.length?(M[t]=c.isPlainObject(M[t])?c.extendFlat(M[t],e):e,r):M[t]}}),r.options=function(t){return Object.keys(t).forEach(function(e){\\\"function\\\"==typeof r[e]&&r[e](t[e])}),r},r._opts=M,r}},{\\\"../../constants/alignment\\\":699,\\\"../../lib\\\":725,\\\"../../lib/extend\\\":716,\\\"../../lib/setcursor\\\":741,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/axis_defaults\\\":768,\\\"../../plots/cartesian/layout_attributes\\\":777,\\\"../../plots/cartesian/position_defaults\\\":780,\\\"../../plots/plots\\\":829,\\\"../../registry\\\":844,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"../titles\\\":692,\\\"./attributes\\\":604,d3:121,tinycolor2:533}],607:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\\\"../../lib\\\":725}],608:[function(t,e,r){\\\"use strict\\\";e.exports={zauto:{valType:\\\"boolean\\\",dflt:!0},zmin:{valType:\\\"number\\\",dflt:null},zmax:{valType:\\\"number\\\",dflt:null},colorscale:{valType:\\\"colorscale\\\"},autocolorscale:{valType:\\\"boolean\\\",dflt:!0},reversescale:{valType:\\\"boolean\\\",dflt:!1},showscale:{valType:\\\"boolean\\\",dflt:!0}}},{}],609:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./scales\\\"),a=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,o){var s,l;r?(s=n.nestedProperty(t,r).get(),l=n.nestedProperty(t._input,r).get()):(s=t,l=t._input);var u=o+\\\"auto\\\",c=o+\\\"min\\\",h=o+\\\"max\\\",f=s[u],d=s[c],p=s[h],m=s.colorscale;!1===f&&void 0!==d||(d=n.aggNums(Math.min,null,e)),!1===f&&void 0!==p||(p=n.aggNums(Math.max,null,e)),d===p&&(d-=.5,p+=.5),s[c]=d,s[h]=p,l[c]=d,l[h]=p,l[u]=!1!==f||void 0===d&&void 0===p,s.autocolorscale&&(m=d*p<0?i.RdBu:d>=0?i.Reds:i.Blues,l.colorscale=m,s.reversescale&&(m=a(m)),s.colorscale=m)}},{\\\"../../lib\\\":725,\\\"./flip_scale\\\":614,\\\"./scales\\\":621}],610:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./attributes\\\"),i=t(\\\"../../lib/extend\\\").extendDeep;t(\\\"./scales.js\\\");e.exports=function(t){return{color:{valType:\\\"color\\\",arrayOk:!0},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{}),cmax:i({},n.zmax,{}),cmin:i({},n.zmin,{}),autocolorscale:i({},n.autocolorscale,{}),reversescale:i({},n.reversescale,{})}}},{\\\"../../lib/extend\\\":716,\\\"./attributes\\\":608,\\\"./scales.js\\\":621}],611:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\");e.exports=n.RdBu},{\\\"./scales\\\":621}],612:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../colorbar/has_colorbar\\\"),o=t(\\\"../colorbar/defaults\\\"),s=t(\\\"./is_valid_scale\\\"),l=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,u,c){var h=c.prefix,f=c.cLetter,d=h.slice(0,h.length-1),p=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=p[f+\\\"min\\\"],g=p[f+\\\"max\\\"],y=p.colorscale;u(h+f+\\\"auto\\\",!(n(v)&&n(g)&&v<g)),u(h+f+\\\"min\\\"),u(h+f+\\\"max\\\");var b;void 0!==y&&(b=!s(y)),u(h+\\\"autocolorscale\\\",b);var x=u(h+\\\"colorscale\\\");if(u(h+\\\"reversescale\\\")&&(m.colorscale=l(x)),\\\"marker.line.\\\"!==h){var _;h&&(_=a(p)),u(h+\\\"showscale\\\",_)&&o(p,m,r)}}},{\\\"../../lib\\\":725,\\\"../colorbar/defaults\\\":605,\\\"../colorbar/has_colorbar\\\":607,\\\"./flip_scale\\\":614,\\\"./is_valid_scale\\\":618,\\\"fast-isnumeric\\\":130}],613:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],614:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],615:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./default_scale\\\"),a=t(\\\"./is_valid_scale_array\\\");e.exports=function(t,e){function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return e||(e=i),t?(\\\"string\\\"==typeof t&&(r(),\\\"string\\\"==typeof t&&r()),a(t)?t:e):e}},{\\\"./default_scale\\\":611,\\\"./is_valid_scale_array\\\":619,\\\"./scales\\\":621}],616:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./is_valid_scale\\\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(Array.isArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||!0===r.showscale||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\\\"../../lib\\\":725,\\\"./is_valid_scale\\\":618,\\\"fast-isnumeric\\\":130}],617:[function(t,e,r){\\\"use strict\\\";r.scales=t(\\\"./scales\\\"),r.defaultScale=t(\\\"./default_scale\\\"),r.attributes=t(\\\"./attributes\\\"),r.handleDefaults=t(\\\"./defaults\\\"),r.calc=t(\\\"./calc\\\"),r.hasColorscale=t(\\\"./has_colorscale\\\"),r.isValidScale=t(\\\"./is_valid_scale\\\"),r.getScale=t(\\\"./get_scale\\\"),r.flipScale=t(\\\"./flip_scale\\\"),r.extractScale=t(\\\"./extract_scale\\\"),r.makeColorScaleFunc=t(\\\"./make_color_scale_func\\\")},{\\\"./attributes\\\":608,\\\"./calc\\\":609,\\\"./default_scale\\\":611,\\\"./defaults\\\":612,\\\"./extract_scale\\\":613,\\\"./flip_scale\\\":614,\\\"./get_scale\\\":615,\\\"./has_colorscale\\\":616,\\\"./is_valid_scale\\\":618,\\\"./make_color_scale_func\\\":620,\\\"./scales\\\":621}],618:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./is_valid_scale_array\\\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\\\"./is_valid_scale_array\\\":619,\\\"./scales\\\":621}],619:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\");e.exports=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 i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:533}],620:[function(t,e,r){\\\"use strict\\\";function n(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}var i=t(\\\"d3\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"fast-isnumeric\\\"),s=t(\\\"../color\\\");e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,u=l.length,c=new Array(u),h=0;h<u;h++){var f=a(l[h]).toRgb();c[h]=[f.r,f.g,f.b,f.a]}var d,p=i.scale.linear().domain(r).range(c).clamp(!0),m=e.noNumericCheck,v=e.returnArray;return d=m&&v?p:m?function(t){return n(p(t))}:v?function(t){return o(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return o(t)?n(p(t)):a(t).isValid()?t:s.defaultLine},d.domain=p.domain,d.range=function(){return l},d}},{\\\"../color\\\":603,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],621:[function(t,e,r){\\\"use strict\\\";e.exports={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\\\"]]}},{}],622:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2\\n\",\n       \";return\\\"left\\\"===i||\\\"bottom\\\"===i?a:\\\"center\\\"===i||\\\"middle\\\"===i?s:\\\"right\\\"===i||\\\"top\\\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],623:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=[[\\\"sw-resize\\\",\\\"s-resize\\\",\\\"se-resize\\\"],[\\\"w-resize\\\",\\\"move\\\",\\\"e-resize\\\"],[\\\"nw-resize\\\",\\\"n-resize\\\",\\\"ne-resize\\\"]];e.exports=function(t,e,r,a){return t=\\\"left\\\"===r?0:\\\"center\\\"===r?1:\\\"right\\\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\\\"bottom\\\"===a?0:\\\"middle\\\"===a?1:\\\"top\\\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\\\"../../lib\\\":725}],624:[function(t,e,r){\\\"use strict\\\";function n(){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 i(t){t._dragging=!1,t._replotPending&&l.plot(t)}function a(t){return o(t.changedTouches?t.changedTouches[0]:t,document.body)}var o=t(\\\"mouse-event-offset\\\"),s=t(\\\"has-hover\\\"),l=t(\\\"../../plotly\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../plots/cartesian/constants\\\"),h=t(\\\"../../constants/interactions\\\"),f=e.exports={};f.align=t(\\\"./align\\\"),f.getCursor=t(\\\"./cursor\\\");var d=t(\\\"./unhover\\\");f.unhover=d.wrapped,f.unhoverRaw=d.raw,f.init=function(t){function e(e){y._dragged=!1,y._dragging=!0;var i=a(e);return l=i[0],d=i[1],g=e.target,p=(new Date).getTime(),p-y._mouseDownTime<x?b+=1:(b=1,y._mouseDownTime=p),t.prepFn&&t.prepFn(e,l,d),s?(v=n(),v.style.cursor=window.getComputedStyle(t.element).cursor):(v=document,m=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(t.element).cursor),v.addEventListener(\\\"mousemove\\\",r),v.addEventListener(\\\"mouseup\\\",o),v.addEventListener(\\\"mouseout\\\",o),v.addEventListener(\\\"touchmove\\\",r),v.addEventListener(\\\"touchend\\\",o),u.pauseEvent(e)}function r(e){var r=a(e),n=r[0]-l,i=r[1]-d,o=t.minDrag||c.MINDRAG;return Math.abs(n)<o&&(n=0),Math.abs(i)<o&&(i=0),(n||i)&&(y._dragged=!0,f.unhover(y)),t.moveFn&&t.moveFn(n,i,y._dragged),u.pauseEvent(e)}function o(e){if(v.removeEventListener(\\\"mousemove\\\",r),v.removeEventListener(\\\"mouseup\\\",o),v.removeEventListener(\\\"mouseout\\\",o),v.removeEventListener(\\\"touchmove\\\",r),v.removeEventListener(\\\"touchend\\\",o),s?u.removeElement(v):m&&(v.documentElement.style.cursor=m,m=null),!y._dragging)return void(y._dragged=!1);if(y._dragging=!1,(new Date).getTime()-y._mouseDownTime>x&&(b=Math.max(b-1,1)),t.doneFn&&t.doneFn(y._dragged,b,e),!y._dragged){var n;try{n=new MouseEvent(\\\"click\\\",e)}catch(t){var l=a(e);n=document.createEvent(\\\"MouseEvents\\\"),n.initMouseEvent(\\\"click\\\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,l[0],l[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}g.dispatchEvent(n)}return i(y),y._dragged=!1,u.pauseEvent(e)}var l,d,p,m,v,g,y=t.gd,b=1,x=h.DBLCLICKDELAY;y._mouseDownTime||(y._mouseDownTime=0),t.element.style.pointerEvents=\\\"all\\\",t.element.onmousedown=e,t.element.ontouchstart=e},f.coverSlip=n},{\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/constants\\\":771,\\\"./align\\\":622,\\\"./cursor\\\":623,\\\"./unhover\\\":625,\\\"has-hover\\\":287,\\\"mouse-event-offset\\\":452}],625:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/events\\\"),i=e.exports={};i.wrapped=function(t,e,r){\\\"string\\\"==typeof t&&(t=document.getElementById(t)),t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),i.raw(t,e,r)},i.raw=function(t,e){var r=t._fullLayout,i=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&&i&&t.emit(\\\"plotly_unhover\\\",{event:e,points:i}))}},{\\\"../../lib/events\\\":715}],626:[function(t,e,r){\\\"use strict\\\";r.dash={valType:\\\"string\\\",values:[\\\"solid\\\",\\\"dot\\\",\\\"dash\\\",\\\"longdash\\\",\\\"dashdot\\\",\\\"longdashdot\\\"],dflt:\\\"solid\\\"}},{}],627:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){if(u.traceIs(r,\\\"symbols\\\")){var l=y(r);e.attr(\\\"d\\\",function(t){var e;e=\\\"various\\\"===t.ms||\\\"various\\\"===a.size?3:g.isBubble(r)?l(t.ms):(a.size||6)/2,t.mrc=e;var n=b.symbolNumber(t.mx||a.symbol)||0,i=n%100;return t.om=n%200>=100,b.symbolFuncs[i](e)+(n>=200?w:\\\"\\\")}).style(\\\"opacity\\\",function(t){return(t.mo+1||a.opacity+1)-1})}var h,f,d,p=!1;if(t.so?(d=o.outlierwidth,f=o.outliercolor,h=a.outliercolor):(d=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,f=\\\"mlc\\\"in t?t.mlcc=i(t.mlc):Array.isArray(o.color)?c.defaultLine:o.color,Array.isArray(a.color)&&(h=c.defaultLine,p=!0),h=\\\"mc\\\"in t?t.mcc=n(t.mc):a.color||\\\"rgba(0,0,0,0)\\\"),t.om)e.call(c.stroke,h).style({\\\"stroke-width\\\":(d||1)+\\\"px\\\",fill:\\\"none\\\"});else{e.style(\\\"stroke-width\\\",d+\\\"px\\\");var m=a.gradient,v=t.mgt;if(v?p=!0:v=m&&m.type,v&&\\\"none\\\"!==v){var x=t.mgc;x?p=!0:x=m.color;var _=\\\"g\\\"+s._fullLayout._uid+\\\"-\\\"+r.uid;p&&(_+=\\\"-\\\"+t.i),e.call(b.gradient,s,_,v,h,x)}else e.call(c.fill,h);d&&e.call(c.stroke,f)}}function i(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],u=Math.pow(i*i+a*a,T/2),c=Math.pow(s*s+l*l,T/2),h=(c*c*i-u*u*s)*n,f=(c*c*a-u*u*l)*n,d=3*c*(u+c),p=3*u*(u+c);return[[o.round(e[0]+(d&&h/d),2),o.round(e[1]+(d&&f/d),2)],[o.round(e[0]-(p&&h/p),2),o.round(e[1]-(p&&f/p),2)]]}function a(t){var e=t.getAttribute(\\\"data-unformatted\\\");if(null!==e)return e+t.getAttribute(\\\"data-math\\\")+t.getAttribute(\\\"text-anchor\\\")+t.getAttribute(\\\"style\\\")}var o=t(\\\"d3\\\"),s=t(\\\"fast-isnumeric\\\"),l=t(\\\"tinycolor2\\\"),u=t(\\\"../../registry\\\"),c=t(\\\"../color\\\"),h=t(\\\"../colorscale\\\"),f=t(\\\"../../lib\\\"),d=t(\\\"../../lib/svg_text_utils\\\"),p=t(\\\"../../constants/xmlns_namespaces\\\"),m=t(\\\"../../constants/alignment\\\"),v=m.LINE_SPACING,g=t(\\\"../../traces/scatter/subtypes\\\"),y=t(\\\"../../traces/scatter/make_bubble_size_func\\\"),b=e.exports={};b.font=function(t,e,r,n){f.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(c.fill,n)},b.setPosition=function(t,e,r){t.attr(\\\"x\\\",e).attr(\\\"y\\\",r)},b.setSize=function(t,e,r){t.attr(\\\"width\\\",e).attr(\\\"height\\\",r)},b.setRect=function(t,e,r,n,i){t.call(b.setPosition,e,r).call(b.setSize,n,i)},b.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(s(i)&&s(a)&&e.node())&&(\\\"text\\\"===e.node().nodeName?e.attr(\\\"x\\\",i).attr(\\\"y\\\",a):e.attr(\\\"transform\\\",\\\"translate(\\\"+i+\\\",\\\"+a+\\\")\\\"),!0)},b.translatePoints=function(t,e,r){t.each(function(t){var n=o.select(this);b.translatePoint(t,n,e,r)})},b.hideOutsideRangePoint=function(t,e,r,n){e.attr(\\\"display\\\",r.isPtWithinRange(t)&&n.isPtWithinRange(t)?null:\\\"none\\\")},b.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,n=e.yaxis;t.each(function(t){b.hideOutsideRangePoint(t,o.select(this),r,n)})}},b.getPx=function(t,e){return Number(t.style(e).replace(/px$/,\\\"\\\"))},b.crispRound=function(t,e,r){return e&&s(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},b.singleLineStyle=function(t,e,r,n,i){e.style(\\\"fill\\\",\\\"none\\\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\\\"\\\";c.stroke(e,n||a.color),b.dashLine(e,s,o)},b.lineGroupStyle=function(t,e,r,n){t.style(\\\"fill\\\",\\\"none\\\").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},a=e||i.width||0,s=n||i.dash||\\\"\\\";o.select(this).call(c.stroke,r||i.color).call(b.dashLine,s,a)})},b.dashLine=function(t,e,r){r=+r||0,e=b.dashStyle(e,r),t.style({\\\"stroke-dasharray\\\":e,\\\"stroke-width\\\":r+\\\"px\\\"})},b.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},b.singleFillStyle=function(t){var e=o.select(t.node()),r=e.data(),n=(((r[0]||[])[0]||{}).trace||{}).fillcolor;n&&t.call(c.fill,n)},b.fillGroupStyle=function(t){t.style(\\\"stroke-width\\\",0).each(function(e){var r=o.select(this);try{r.call(c.fill,e[0].trace.fillcolor)}catch(e){f.error(e,t),r.remove()}})};var x=t(\\\"./symbol_defs\\\");b.symbolNames=[],b.symbolFuncs=[],b.symbolNeedLines={},b.symbolNoDot={},b.symbolList=[],Object.keys(x).forEach(function(t){var e=x[t];b.symbolList=b.symbolList.concat([e.n,t,e.n+100,t+\\\"-open\\\"]),b.symbolNames[e.n]=t,b.symbolFuncs[e.n]=e.f,e.needLine&&(b.symbolNeedLines[e.n]=!0),e.noDot?b.symbolNoDot[e.n]=!0:b.symbolList=b.symbolList.concat([e.n+200,t+\\\"-dot\\\",e.n+300,t+\\\"-open-dot\\\"])});var _=b.symbolNames.length,w=\\\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\\\";b.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=b.symbolNames.indexOf(t),t>=0&&(t+=e)}return t%100>=_||t>=400?0:Math.floor(Math.max(t,0))};var M={x1:1,x2:0,y1:0,y2:0},k={x1:0,x2:0,y1:1,y2:0};b.gradient=function(t,e,r,n,i,a){var s=e._fullLayout._defs.select(\\\".gradients\\\").selectAll(\\\"#\\\"+r).data([n+i+a],f.identity);s.exit().remove(),s.enter().append(\\\"radial\\\"===n?\\\"radialGradient\\\":\\\"linearGradient\\\").each(function(){var t=o.select(this);\\\"horizontal\\\"===n?t.attr(M):\\\"vertical\\\"===n&&t.attr(k),t.attr(\\\"id\\\",r);var e=l(i),s=l(a);t.append(\\\"stop\\\").attr({offset:\\\"0%\\\",\\\"stop-color\\\":c.tinyRGB(s),\\\"stop-opacity\\\":s.getAlpha()}),t.append(\\\"stop\\\").attr({offset:\\\"100%\\\",\\\"stop-color\\\":c.tinyRGB(e),\\\"stop-opacity\\\":e.getAlpha()})}),t.style({fill:\\\"url(#\\\"+r+\\\")\\\",\\\"fill-opacity\\\":null})},b.initGradients=function(t){var e=t._fullLayout._defs.selectAll(\\\".gradients\\\").data([0]);e.enter().append(\\\"g\\\").classed(\\\"gradients\\\",!0),e.selectAll(\\\"linearGradient,radialGradient\\\").remove()},b.singlePointStyle=function(t,e,r,i,a,o){var s=r.marker;n(t,e,r,i,a,s,s.line,o)},b.pointStyle=function(t,e,r){if(t.size()){var n=e.marker,i=b.tryColorscale(n,\\\"\\\"),a=b.tryColorscale(n,\\\"line\\\");t.each(function(t){b.singlePointStyle(t,o.select(this),e,i,a,r)})}},b.tryColorscale=function(t,e){var r=e?f.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&Array.isArray(i)?h.makeColorScaleFunc(h.extractScale(n,r.cmin,r.cmax)):f.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};b.textPointStyle=function(t,e,r){t.each(function(t){var n=o.select(this),i=t.tx||e.text;if(!i||Array.isArray(i))return void n.remove();var a=t.tp||e.textposition,l=-1!==a.indexOf(\\\"top\\\")?\\\"top\\\":-1!==a.indexOf(\\\"bottom\\\")?\\\"bottom\\\":\\\"middle\\\",u=-1!==a.indexOf(\\\"left\\\")?\\\"end\\\":-1!==a.indexOf(\\\"right\\\")?\\\"start\\\":\\\"middle\\\",c=t.ts||e.textfont.size,h=t.mrc?t.mrc/.8+1:0;c=s(c)&&c>0?c:0,n.call(b.font,t.tf||e.textfont.family,c,t.tc||e.textfont.color).attr(\\\"text-anchor\\\",u).text(i).call(d.convertToTspans,r);var f=o.select(this.parentNode),p=(d.lineCount(n)-1)*v+1,m=A[u]*h,g=.75*c+A[l]*h+(A[l]-1)*p*c/2;f.attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\",\\\"+g+\\\")\\\")})};var T=.5;b.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(i(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]},b.smoothclosed=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\")+\\\"Z\\\";var r,n=\\\"M\\\"+t[0],a=t.length-1,o=[i(t[a],t[0],t[1],e)];for(r=1;r<a;r++)o.push(i(t[r-1],t[r],t[r+1],e));for(o.push(i(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+=\\\"C\\\"+o[r-1][1]+\\\" \\\"+o[r][0]+\\\" \\\"+t[r];return n+=\\\"C\\\"+o[a][1]+\\\" \\\"+o[0][0]+\\\" \\\"+t[0]+\\\"Z\\\"};var S={hv:function(t,e){return\\\"H\\\"+o.round(e[0],2)+\\\"V\\\"+o.round(e[1],2)},vh:function(t,e){return\\\"V\\\"+o.round(e[1],2)+\\\"H\\\"+o.round(e[0],2)},hvh:function(t,e){return\\\"H\\\"+o.round((t[0]+e[0])/2,2)+\\\"V\\\"+o.round(e[1],2)+\\\"H\\\"+o.round(e[0],2)},vhv:function(t,e){return\\\"V\\\"+o.round((t[1]+e[1])/2,2)+\\\"H\\\"+o.round(e[0],2)+\\\"V\\\"+o.round(e[1],2)}},E=function(t,e){return\\\"L\\\"+o.round(e[0],2)+\\\",\\\"+o.round(e[1],2)};b.steps=function(t){var e=S[t]||E;return function(t){for(var r=\\\"M\\\"+o.round(t[0][0],2)+\\\",\\\"+o.round(t[0][1],2),n=1;n<t.length;n++)r+=e(t[n-1],t[n]);return r}},b.makeTester=function(){var t=o.select(\\\"body\\\").selectAll(\\\"#js-plotly-tester\\\").data([0]);t.enter().append(\\\"svg\\\").attr(\\\"id\\\",\\\"js-plotly-tester\\\").attr(p.svgAttrs).style({position:\\\"absolute\\\",left:\\\"-10000px\\\",top:\\\"-10000px\\\",width:\\\"9000px\\\",height:\\\"9000px\\\",\\\"z-index\\\":\\\"1\\\"});var e=t.selectAll(\\\".js-reference-point\\\").data([0]);e.enter().append(\\\"path\\\").classed(\\\"js-reference-point\\\",!0).attr(\\\"d\\\",\\\"M0,0H1V1H0Z\\\").style({\\\"stroke-width\\\":0,fill:\\\"black\\\"}),b.tester=t,b.testref=e},b.savedBBoxes={};var L=0;b.bBox=function(t,e,r){r||(r=a(t));var n;if(r){if(n=b.savedBBoxes[r])return f.extendFlat({},n)}else if(1===t.childNodes.length){var i=t.childNodes[0];if(r=a(i)){var s=+i.getAttribute(\\\"x\\\")||0,l=+i.getAttribute(\\\"y\\\")||0,u=i.getAttribute(\\\"transform\\\");if(!u){var c=b.bBox(i,!1,r);return s&&(c.left+=s,c.right+=s),l&&(c.top+=l,c.bottom+=l),c}if(r+=\\\"~\\\"+s+\\\"~\\\"+l+\\\"~\\\"+u,n=b.savedBBoxes[r])return f.extendFlat({},n)}}var h,p;e?h=t:(p=b.tester.node(),h=t.cloneNode(!0),p.appendChild(h)),o.select(h).attr(\\\"transform\\\",null).call(d.positionText,0,0);var m=h.getBoundingClientRect(),v=b.testref.node().getBoundingClientRect();e||p.removeChild(h);var g={height:m.height,width:m.width,left:m.left-v.left,top:m.top-v.top,right:m.right-v.left,bottom:m.bottom-v.top};return L>=1e4&&(b.savedBBoxes={},L=0),r&&(b.savedBBoxes[r]=g),L++,f.extendFlat({},g)},b.setClipUrl=function(t,e){if(!e)return void t.attr(\\\"clip-path\\\",null);var r=\\\"#\\\"+e,n=o.select(\\\"base\\\");n.size()&&n.attr(\\\"href\\\")&&(r=window.location.href.split(\\\"#\\\")[0]+r),t.attr(\\\"clip-path\\\",\\\"url(\\\"+r+\\\")\\\")},b.getTranslate=function(t){var e=/.*\\\\btranslate\\\\((-?\\\\d*\\\\.?\\\\d*)[^-\\\\d]*(-?\\\\d*\\\\.?\\\\d*)[^\\\\d].*/,r=t.attr?\\\"attr\\\":\\\"getAttribute\\\",n=t[r](\\\"transform\\\")||\\\"\\\",i=n.replace(e,function(t,e,r){return[e,r].join(\\\" \\\")}).split(\\\" \\\");return{x:+i[0]||0,y:+i[1]||0}},b.setTranslate=function(t,e,r){var n=/(\\\\btranslate\\\\(.*?\\\\);?)/,i=t.attr?\\\"attr\\\":\\\"getAttribute\\\",a=t.attr?\\\"attr\\\":\\\"setAttribute\\\",o=t[i](\\\"transform\\\")||\\\"\\\";return e=e||0,r=r||0,o=o.replace(n,\\\"\\\").trim(),o+=\\\" translate(\\\"+e+\\\", \\\"+r+\\\")\\\",o=o.trim(),t[a](\\\"transform\\\",o),o},b.getScale=function(t){var e=/.*\\\\bscale\\\\((\\\\d*\\\\.?\\\\d*)[^\\\\d]*(\\\\d*\\\\.?\\\\d*)[^\\\\d].*/,r=t.attr?\\\"attr\\\":\\\"getAttribute\\\",n=t[r](\\\"transform\\\")||\\\"\\\",i=n.replace(e,function(t,e,r){return[e,r].join(\\\" \\\")}).split(\\\" \\\");return{x:+i[0]||1,y:+i[1]||1}},b.setScale=function(t,e,r){var n=/(\\\\bscale\\\\(.*?\\\\);?)/,i=t.attr?\\\"attr\\\":\\\"getAttribute\\\",a=t.attr?\\\"attr\\\":\\\"setAttribute\\\",o=t[i](\\\"transform\\\")||\\\"\\\";return e=e||1,r=r||1,o=o.replace(n,\\\"\\\").trim(),o+=\\\" scale(\\\"+e+\\\", \\\"+r+\\\")\\\",o=o.trim(),t[a](\\\"transform\\\",o),o},b.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\\\"\\\":\\\" scale(\\\"+e+\\\",\\\"+r+\\\")\\\",a=/\\\\s*sc.*/,t.each(function(){n=(this.getAttribute(\\\"transform\\\")||\\\"\\\").replace(a,\\\"\\\"),n+=i,n=n.trim(),this.setAttribute(\\\"transform\\\",n)}),i};var C=/translate\\\\([^)]*\\\\)\\\\s*$/;b.setTextPointsScale=function(t,e,r){t.each(function(){var t,n=o.select(this),i=n.select(\\\"text\\\"),a=parseFloat(i.attr(\\\"x\\\")||0),s=parseFloat(i.attr(\\\"y\\\")||0),l=(n.attr(\\\"transform\\\")||\\\"\\\").match(C);t=1===e&&1===r?[]:[\\\"translate(\\\"+a+\\\",\\\"+s+\\\")\\\",\\\"scale(\\\"+e+\\\",\\\"+r+\\\")\\\",\\\"translate(\\\"+-a+\\\",\\\"+-s+\\\")\\\"],l&&t.push(l),n.attr(\\\"transform\\\",t.join(\\\" \\\"))})}},{\\\"../../constants/alignment\\\":699,\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../registry\\\":844,\\\"../../traces/scatter/make_bubble_size_func\\\":1042,\\\"../../traces/scatter/subtypes\\\":1047,\\\"../color\\\":603,\\\"../colorscale\\\":617,\\\"./symbol_defs\\\":628,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],628:[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,i=\\\"l\\\"+e+\\\",-\\\"+e,a=\\\"l-\\\"+e+\\\",-\\\"+e,o=\\\"l-\\\"+e+\\\",\\\"+e;return\\\"M0,\\\"+e+r+i+a+i+a+o+a+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),i=n.round(-t,2),a=n.round(-.309*t,2);return\\\"M\\\"+e+\\\",\\\"+a+\\\"L\\\"+r+\\\",\\\"+n.round(.809*t,2)+\\\"H-\\\"+r+\\\"L-\\\"+e+\\\",\\\"+a+\\\"L0,\\\"+i+\\\"Z\\\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M\\\"+i+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L0,\\\"+e+\\\"L-\\\"+i+\\\",\\\"+r+\\\"V-\\\"+r+\\\"L0,-\\\"+e+\\\"Z\\\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M-\\\"+r+\\\",\\\"+i+\\\"H\\\"+r+\\\"L\\\"+e+\\\",0L\\\"+r+\\\",-\\\"+i+\\\"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),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),u=n.round(.118*e,2),c=n.round(.809*e,2);return\\\"M\\\"+r+\\\",\\\"+l+\\\"H\\\"+i+\\\"L\\\"+a+\\\",\\\"+u+\\\"L\\\"+o+\\\",\\\"+c+\\\"L0,\\\"+n.round(.382*e,2)+\\\"L-\\\"+o+\\\",\\\"+c+\\\"L-\\\"+a+\\\",\\\"+u+\\\"L-\\\"+i+\\\",\\\"+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),i=n.round(.76*t,2);return\\\"M-\\\"+i+\\\",0l-\\\"+r+\\\",-\\\"+e+\\\"h\\\"+i+\\\"l\\\"+r+\\\",-\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h-\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l-\\\"+r+\\\",-\\\"+e+\\\"h-\\\"+i+\\\"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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",\\\"+r+o+e+\\\",\\\"+r+o+\\\"0,-\\\"+i+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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M\\\"+e+\\\",-\\\"+r+o+\\\"-\\\"+e+\\\",-\\\"+r+o+\\\"0,\\\"+i+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",-\\\"+e+i+\\\"-\\\"+e+\\\",\\\"+e+i+e+\\\",\\\"+e+i+e+\\\",-\\\"+e+i+\\\"-\\\"+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",0\\\"+i+\\\"0,\\\"+e+i+e+\\\",0\\\"+i+\\\"0,-\\\"+e+i+\\\"-\\\"+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},\\\"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},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},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},\\\"y-up\\\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",\\\"+i+\\\"L0,0M\\\"+e+\\\",\\\"+i+\\\"L0,0M0,-\\\"+r+\\\"L0,0\\\"},needLine:!0,noDot:!0},\\\"y-down\\\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",-\\\"+i+\\\"L0,0M\\\"+e+\\\",-\\\"+i+\\\"L0,0M0,\\\"+r+\\\"L0,0\\\"},needLine:!0,noDot:!0},\\\"y-left\\\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M\\\"+i+\\\",\\\"+e+\\\"L0,0M\\\"+i+\\\",-\\\"+e+\\\"L0,0M-\\\"+r+\\\",0L0,0\\\"},needLine:!0,noDot:!0},\\\"y-right\\\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\\\"M-\\\"+i+\\\",\\\"+e+\\\"L0,0M-\\\"+i+\\\",-\\\"+e+\\\"L0,0M\\\"+r+\\\",0L0,0\\\"},needLine:!0,noDot:!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},\\\"line-ns\\\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\\\"M0,\\\"+e+\\\"V-\\\"+e},needLine:!0,noDot:!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},\\\"line-nw\\\":{n:44,f:function(t){var e=n.round(t,2);return\\\"M\\\"+e+\\\",\\\"+e+\\\"L-\\\"+e+\\\",-\\\"+e},needLine:!0,noDot:!0}}},{d3:121}],629:[function(t,e,r){\\\"use strict\\\";e.exports={visible:{valType:\\\"boolean\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"percent\\\",\\\"constant\\\",\\\"sqrt\\\",\\\"data\\\"]},symmetric:{valType:\\\"boolean\\\"},array:{valType:\\\"data_array\\\"},arrayminus:{valType:\\\"data_array\\\"},value:{valType:\\\"number\\\",min:0,dflt:10},valueminus:{valType:\\\"number\\\",min:0,dflt:10},traceref:{valType:\\\"integer\\\",min:0,dflt:0},tracerefminus:{valType:\\\"integer\\\",min:0,dflt:0},copy_ystyle:{valType:\\\"boolean\\\"},copy_zstyle:{valType:\\\"boolean\\\"},color:{valType:\\\"color\\\"},thickness:{valType:\\\"number\\\",min:0,dflt:2},width:{valType:\\\"number\\\",min:0},_deprecated:{opacity:{valType:\\\"number\\\"}}}},{}],630:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a=e[\\\"error_\\\"+n]||{},l=a.visible&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(r.type),u=[];if(l){for(var c=s(a),h=0;h<t.length;h++){var f=t[h],d=f[n];if(i(r.c2l(d))){var p=c(d,h);if(i(p[0])&&i(p[1])){var m=f[n+\\\"s\\\"]=d-p[0],v=f[n+\\\"h\\\"]=d+p[1];u.push(m,v)}}}o.expand(r,u,{padded:!0})}}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../plots/cartesian/axes\\\"),s=t(\\\"./compute_error\\\");e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var i=e[r],s=i[0].trace;if(a.traceIs(s,\\\"errorBarsOK\\\")){var l=o.getFromId(t,s.xaxis),u=o.getFromId(t,s.yaxis);n(i,s,l,\\\"x\\\"),n(i,s,u,\\\"y\\\")}}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./compute_error\\\":631,\\\"fast-isnumeric\\\":130}],631:[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 i=t.array,a=t.arrayminus;return r||void 0===a?function(t,e){var r=+i[e];return[r,r]}:function(t,e){return[+a[e],+i[e]]}}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)]}}},{}],632:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(t,e){return a.coerce(h,c,o,t,e)}var u=\\\"error_\\\"+s.axis,c=e[u]={},h=t[u]||{};if(!1!==l(\\\"visible\\\",void 0!==h.array||void 0!==h.value||\\\"sqrt\\\"===h.type)){var f=l(\\\"type\\\",\\\"array\\\"in h?\\\"data\\\":\\\"percent\\\"),d=!0;\\\"sqrt\\\"!==f&&(d=l(\\\"symmetric\\\",!((\\\"data\\\"===f?\\\"arrayminus\\\":\\\"valueminus\\\")in h))),\\\"data\\\"===f?(l(\\\"array\\\")||(c.array=[]),l(\\\"traceref\\\"),d||(l(\\\"arrayminus\\\")||(c.arrayminus=[]),l(\\\"tracerefminus\\\"))):\\\"percent\\\"!==f&&\\\"constant\\\"!==f||(l(\\\"value\\\"),d||l(\\\"valueminus\\\"));var p=\\\"copy_\\\"+s.inherit+\\\"style\\\";s.inherit&&(e[\\\"error_\\\"+s.inherit]||{}).visible&&l(p,!(h.color||n(h.thickness)||n(h.width))),s.inherit&&c[p]||(l(\\\"color\\\",r),l(\\\"thickness\\\"),l(\\\"width\\\",i.traceIs(e,\\\"gl3d\\\")?0:4))}}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":629,\\\"fast-isnumeric\\\":130}],633:[function(t,e,r){\\\"use strict\\\";var n=e.exports={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.calcFromTrace=function(t,e){for(var r=t.x||[],i=t.y||[],a=r.length||i.length,o=new Array(a),s=0;s<a;s++)o[s]={x:r[s],y:i[s]};return o[0].trace=t,n.calc({calcdata:[o],_fullLayout:e}),o},n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.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))}},{\\\"./attributes\\\":629,\\\"./calc\\\":630,\\\"./defaults\\\":632,\\\"./plot\\\":634,\\\"./style\\\":635}],634:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return 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))),n}var i=t(\\\"d3\\\"),a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../traces/scatter/subtypes\\\");e.exports=function(t,e,r){var l,u=e.xaxis,c=e.yaxis,h=r&&r.duration>0;t.each(function(t){var f,d=t[0].trace,p=d.error_x||{},m=d.error_y||{};d.ids&&(f=function(t){return t.id});var v=s.hasMarkers(d)&&d.marker.maxdisplayed>0;if(m.visible||p.visible){var g=i.select(this).selectAll(\\\"g.errorbar\\\").data(t,f);g.exit().remove(),g.style(\\\"opacity\\\",1);var y=g.enter().append(\\\"g\\\").classed(\\\"errorbar\\\",!0);h&&y.style(\\\"opacity\\\",0).transition().duration(r.duration).style(\\\"opacity\\\",1),o.setClipUrl(g,e.layerClipId),g.each(function(t){var e=i.select(this),o=n(t,u,c);if(!v||t.vis){var s;if(m.visible&&a(o.x)&&a(o.yh)&&a(o.ys)){var f=m.width;s=\\\"M\\\"+(o.x-f)+\\\",\\\"+o.yh+\\\"h\\\"+2*f+\\\"m-\\\"+f+\\\",0V\\\"+o.ys,o.noYS||(s+=\\\"m-\\\"+f+\\\",0h\\\"+2*f);var d=e.select(\\\"path.yerror\\\");l=!d.size(),l?d=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"yerror\\\",!0):h&&(d=d.transition().duration(r.duration).ease(r.easing)),d.attr(\\\"d\\\",s)}if(p.visible&&a(o.y)&&a(o.xh)&&a(o.xs)){var g=(p.copy_ystyle?m:p).width;s=\\\"M\\\"+o.xh+\\\",\\\"+(o.y-g)+\\\"v\\\"+2*g+\\\"m0,-\\\"+g+\\\"H\\\"+o.xs,o.noXS||(s+=\\\"m0,-\\\"+g+\\\"v\\\"+2*g);var y=e.select(\\\"path.xerror\\\");l=!y.size(),l?y=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"xerror\\\",!0):h&&(y=y.transition().duration(r.duration).ease(r.easing)),y.attr(\\\"d\\\",s)}}})}})}},{\\\"../../traces/scatter/subtypes\\\":1047,\\\"../drawing\\\":627,d3:121,\\\"fast-isnumeric\\\":130}],635:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../color\\\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\\\"path.yerror\\\").style(\\\"stroke-width\\\",r.thickness+\\\"px\\\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\\\"path.xerror\\\").style(\\\"stroke-width\\\",a.thickness+\\\"px\\\").call(i.stroke,a.color)})}},{\\\"../color\\\":603,d3:121}],636:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\");e.exports={hoverlabel:{bgcolor:{valType:\\\"color\\\",arrayOk:!0},bordercolor:{valType:\\\"color\\\",arrayOk:!0},font:{family:n({},i.family,{arrayOk:!0}),size:n({},i.size,{arrayOk:!0}),color:n({},i.color,{arrayOk:!0})},namelength:{valType:\\\"integer\\\",min:-1,arrayOk:!0}}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790}],637:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){n=n||i.identity,Array.isArray(t)&&(e[0][r]=n(t))}var i=t(\\\"../../lib\\\"),a=t(\\\"../../registry\\\");e.exports=function(t){for(var e=t.calcdata,r=t._fullLayout,o=0;o<e.length;o++){var s=e[o],l=s[0].trace;if(!a.traceIs(l,\\\"pie\\\")){var u=a.traceIs(l,\\\"2dMap\\\")?n:i.fillArray;u(l.hoverinfo,s,\\\"hi\\\",function(t){return function(e){return i.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}(l)),l.hoverlabel&&(u(l.hoverlabel.bgcolor,s,\\\"hbg\\\"),u(l.hoverlabel.bordercolor,s,\\\"hbc\\\"),u(l.hoverlabel.font.size,s,\\\"hts\\\"),u(l.hoverlabel.font.color,s,\\\"htc\\\"),u(l.hoverlabel.font.family,s,\\\"htf\\\"),u(l.hoverlabel.namelength,s,\\\"hnl\\\"))}}}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844}],638:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./hover\\\").hover;e.exports=function(t,e,r){function a(){t.emit(\\\"plotly_click\\\",{points:t._hoverdata,event:e})}var o=n.getComponentMethod(\\\"annotations\\\",\\\"onClick\\\")(t,t._hoverdata);void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(o&&o.then?o.then(a):a(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\\\"../../registry\\\":844,\\\"./hover\\\":642}],639:[function(t,e,r){\\\"use strict\\\";e.exports={MAXDIST:20,YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\\\"Arial, sans-serif\\\",HOVERMINTIME:50}},{}],640:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./hoverlabel_defaults\\\");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(t,e,s,o.hoverlabel)}},{\\\"../../lib\\\":725,\\\"./attributes\\\":636,\\\"./hoverlabel_defaults\\\":643}],641:[function(t,e,r){\\\"use strict\\\";function n(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}}var i=t(\\\"../../lib\\\"),a=t(\\\"./constants\\\");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},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,r,i){return\\\"closest\\\"===t?i||n(e,r):\\\"x\\\"===t?e:r},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 i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e){return t*e<0||0===t?a.MAXDIST*(.6-.3/Math.max(3,Math.abs(t-e))):1/0},r.appendArrayPointValue=function(t,e,r){var n=e._arrayAttrs;if(n)for(var a=0;a<n.length;a++){var o,s=n[a];if(o=\\\"ids\\\"===s?\\\"id\\\":\\\"locations\\\"===s?\\\"location\\\":s,void 0===t[o]){var l=i.nestedProperty(e,s).get();Array.isArray(r)?Array.isArray(l)&&Array.isArray(l[r[0]])&&(t[o]=l[r[0]][r[1]]):t[o]=l[r]}}}},{\\\"../../lib\\\":725,\\\"./constants\\\":639}],642:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if((\\\"pie\\\"===r||\\\"sankey\\\"===r)&&!n)return void t.emit(\\\"plotly_hover\\\",{event:e.originalEvent,points:[e]});r||(r=\\\"xy\\\");var f=Array.isArray(r)?r:[r],m=t._fullLayout,g=m._plots||[],k=g[r];if(k){var A=k.overlays.map(function(t){return t.id});f=f.concat(A)}for(var T=f.length,S=new Array(T),E=new Array(T),L=0;L<T;L++){var C=f[L],z=g[C];if(z)S[L]=x.getFromId(t,z.xaxis._id),E[L]=x.getFromId(t,z.yaxis._id);else{var I=m[C]._subplot;S[L]=I.xaxis,E[L]=I.yaxis}}var D=e.hovermode||m.hovermode;if(-1===[\\\"x\\\",\\\"y\\\",\\\"closest\\\"].indexOf(D)||!t.calcdata||t.querySelector(\\\".zoombox\\\")||t._dragging)return b.unhoverRaw(t,e);var P,O,R,F,j,N,B,U,V,H,q,G,Y,X=[],W=[];if(Array.isArray(e))for(D=\\\"array\\\",R=0;R<e.length;R++)j=t.calcdata[e[R].curveNumber||0],\\\"skip\\\"!==j[0].trace.hoverinfo&&W.push(j);else{for(F=0;F<t.calcdata.length;F++)j=t.calcdata[F],N=j[0].trace,\\\"skip\\\"!==N.hoverinfo&&-1!==f.indexOf(w.getSubplot(N))&&W.push(j);var Z,J,K=!e.target;if(K)Z=\\\"xpx\\\"in e?e.xpx:S[0]._length/2,J=\\\"ypx\\\"in e?e.ypx:E[0]._length/2;else{if(!1===p.triggerHandler(t,\\\"plotly_beforehover\\\",e))return;var Q=e.target.getBoundingClientRect();if(Z=e.clientX-Q.left,J=e.clientY-Q.top,Z<0||Z>Q.width||J<0||J>Q.height)return b.unhoverRaw(t,e)}if(P=\\\"xval\\\"in e?w.flat(f,e.xval):w.p2c(S,Z),O=\\\"yval\\\"in e?w.flat(f,e.yval):w.p2c(E,J),!h(P[0])||!h(O[0]))return d.warn(\\\"Fx.hover failed\\\",e,t),b.unhoverRaw(t,e)}var $=1/0\\n\",\n       \";for(F=0;F<W.length;F++)if((j=W[F])&&j[0]&&j[0].trace&&!0===j[0].trace.visible&&(N=j[0].trace,-1===[\\\"carpet\\\",\\\"contourcarpet\\\"].indexOf(N._module.name))){if(B=w.getSubplot(N),U=f.indexOf(B),V=D,G={cd:j,trace:N,xa:S[U],ya:E[U],index:!1,distance:Math.min($,M.MAXDIST),color:y.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},m[B]&&(G.subplot=m[B]._subplot),Y=X.length,\\\"array\\\"===V){var tt=e[F];\\\"pointNumber\\\"in tt?(G.index=tt.pointNumber,V=\\\"closest\\\"):(V=\\\"\\\",\\\"xval\\\"in tt&&(H=tt.xval,V=\\\"x\\\"),\\\"yval\\\"in tt&&(q=tt.yval,V=V?\\\"closest\\\":\\\"y\\\"))}else H=P[U],q=O[U];if(N._module&&N._module.hoverPoints){var et=N._module.hoverPoints(G,H,q,V);if(et)for(var rt,nt=0;nt<et.length;nt++)rt=et[nt],h(rt.x0)&&h(rt.y0)&&X.push(s(rt,D))}else d.log(\\\"Unrecognized trace type in hover:\\\",N);\\\"closest\\\"===D&&X.length>Y&&(X.splice(0,Y),$=X[0].distance)}if(0===X.length)return b.unhoverRaw(t,e);X.sort(function(t,e){return t.distance-e.distance});var it=t._hoverdata,at=[];for(R=0;R<X.length;R++){var ot=X[R],st={data:ot.trace._input,fullData:ot.trace,curveNumber:ot.trace.index,pointNumber:ot.index};ot.trace._module.eventData?st=ot.trace._module.eventData(st,ot):(st.x=ot.xVal,st.y=ot.yVal,st.xaxis=ot.xa,st.yaxis=ot.ya,void 0!==ot.zLabelVal&&(st.z=ot.zLabelVal)),w.appendArrayPointValue(st,ot.trace,ot.index),at.push(st)}if(t._hoverdata=at,u(t,e,it)&&m._hasCartesian){l(X,{hovermode:D,fullLayout:m,container:m._hoverlayer,outerContainer:m._paperdiv})}var lt=\\\"y\\\"===D&&W.length>1,ut=y.combine(m.plot_bgcolor||y.background,m.paper_bgcolor),ct={hovermode:D,rotateLabels:lt,bgColor:ut,container:m._hoverlayer,outerContainer:m._paperdiv,commonLabelOpts:m.hoverlabel},ht=i(X,ct,t);if(a(X,lt?\\\"xa\\\":\\\"ya\\\"),o(ht,lt),e.target&&e.target.tagName){var ft=_.getComponentMethod(\\\"annotations\\\",\\\"hasClickToShow\\\")(t,at);v(c.select(e.target),ft?\\\"pointer\\\":\\\"\\\")}e.target&&!n&&u(t,e,it)&&(it&&t.emit(\\\"plotly_unhover\\\",{event:e,points:it}),t.emit(\\\"plotly_hover\\\",{event:e,points:t._hoverdata,xaxes:S,yaxes:E,xvals:P,yvals:O}))}function i(t,e,r){var n,i,a=e.hovermode,o=e.rotateLabels,s=e.bgColor,l=e.container,u=e.outerContainer,h=e.commonLabelOpts||{},f=e.fontFamily||M.HOVERFONT,d=e.fontSize||M.HOVERFONTSIZE,p=t[0],v=p.xa,b=p.ya,x=\\\"y\\\"===a?\\\"yLabel\\\":\\\"xLabel\\\",_=p[x],w=(String(_)||\\\"\\\").split(\\\" \\\")[0],A=u.node().getBoundingClientRect(),T=A.top,S=A.width,E=A.height,z=p.distance<=M.MAXDIST&&(\\\"x\\\"===a||\\\"y\\\"===a);for(n=0;n<t.length;n++){i=t[n].hoverinfo||t[n].trace.hoverinfo;var I=i.split(\\\"+\\\");if(-1===I.indexOf(\\\"all\\\")&&-1===I.indexOf(a)){z=!1;break}}var D=l.selectAll(\\\"g.axistext\\\").data(z?[0]:[]);D.enter().append(\\\"g\\\").classed(\\\"axistext\\\",!0),D.exit().remove(),D.each(function(){var e=c.select(this),n=e.selectAll(\\\"path\\\").data([0]),i=e.selectAll(\\\"text\\\").data([0]);n.enter().append(\\\"path\\\").style({fill:h.bgcolor||y.defaultLine,stroke:h.bordercolor||y.background,\\\"stroke-width\\\":\\\"1px\\\"}),i.enter().append(\\\"text\\\").call(g.font,h.font.family||f,h.font.size||d,h.font.color||y.background).attr(\\\"data-notex\\\",1),i.text(_).call(m.positionText,0,0).call(m.convertToTspans,r),e.attr(\\\"transform\\\",\\\"\\\");var o=i.node().getBoundingClientRect();if(\\\"x\\\"===a){i.attr(\\\"text-anchor\\\",\\\"middle\\\").call(m.positionText,0,\\\"top\\\"===v.side?T-o.bottom-L-C:T-o.top+L+C);var s=\\\"top\\\"===v.side?\\\"-\\\":\\\"\\\";n.attr(\\\"d\\\",\\\"M0,0L\\\"+L+\\\",\\\"+s+L+\\\"H\\\"+(C+o.width/2)+\\\"v\\\"+s+(2*C+o.height)+\\\"H-\\\"+(C+o.width/2)+\\\"V\\\"+s+L+\\\"H-\\\"+L+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(v._offset+(p.x0+p.x1)/2)+\\\",\\\"+(b._offset+(\\\"top\\\"===v.side?0:b._length))+\\\")\\\")}else{i.attr(\\\"text-anchor\\\",\\\"right\\\"===b.side?\\\"start\\\":\\\"end\\\").call(m.positionText,(\\\"right\\\"===b.side?1:-1)*(C+L),T-o.top-o.height/2);var l=\\\"right\\\"===b.side?\\\"\\\":\\\"-\\\";n.attr(\\\"d\\\",\\\"M0,0L\\\"+l+L+\\\",\\\"+L+\\\"V\\\"+(C+o.height/2)+\\\"h\\\"+l+(2*C+o.width)+\\\"V-\\\"+(C+o.height/2)+\\\"H\\\"+l+L+\\\"V-\\\"+L+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(v._offset+(\\\"right\\\"===b.side?v._length:0))+\\\",\\\"+(b._offset+(p.y0+p.y1)/2)+\\\")\\\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[x]||\\\"\\\").split(\\\" \\\")[0]===w})});var P=l.selectAll(\\\"g.hovertext\\\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\\\"\\\"].join(\\\",\\\")});return P.enter().append(\\\"g\\\").classed(\\\"hovertext\\\",!0).each(function(){var t=c.select(this);t.append(\\\"rect\\\").call(y.fill,y.addOpacity(s,.8)),t.append(\\\"text\\\").classed(\\\"name\\\",!0),t.append(\\\"path\\\").style(\\\"stroke-width\\\",\\\"1px\\\"),t.append(\\\"text\\\").classed(\\\"nums\\\",!0).call(g.font,f,d)}),P.exit().remove(),P.each(function(t){var e=c.select(this).attr(\\\"transform\\\",\\\"\\\"),n=\\\"\\\",i=\\\"\\\",l=y.opacity(t.color)?t.color:y.defaultLine,u=y.combine(l,s),h=t.borderColor||y.contrast(u);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){n=m.plainText(t.name||\\\"\\\");var p=Math.round(t.nameLength);p>-1&&n.length>p&&(n=p>3?n.substr(0,p-3)+\\\"...\\\":n.substr(0,p))}void 0!==t.extraText&&(i+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(i+=\\\"x: \\\"+t.xLabel+\\\"<br>\\\"),void 0!==t.yLabel&&(i+=\\\"y: \\\"+t.yLabel+\\\"<br>\\\"),i+=(i?\\\"z: \\\":\\\"\\\")+t.zLabel):z&&t[a+\\\"Label\\\"]===_?i=t[(\\\"x\\\"===a?\\\"y\\\":\\\"x\\\")+\\\"Label\\\"]||\\\"\\\":void 0===t.xLabel?void 0!==t.yLabel&&(i=t.yLabel):i=void 0===t.yLabel?t.xLabel:\\\"(\\\"+t.xLabel+\\\", \\\"+t.yLabel+\\\")\\\",t.text&&!Array.isArray(t.text)&&(i+=(i?\\\"<br>\\\":\\\"\\\")+t.text),\\\"\\\"===i&&(\\\"\\\"===n&&e.remove(),i=n);var v=e.select(\\\"text.nums\\\").call(g.font,t.fontFamily||f,t.fontSize||d,t.fontColor||h).text(i).attr(\\\"data-notex\\\",1).call(m.positionText,0,0).call(m.convertToTspans,r),b=e.select(\\\"text.name\\\"),x=0;n&&n!==i?(b.call(g.font,t.fontFamily||f,t.fontSize||d,u).text(n).attr(\\\"data-notex\\\",1).call(m.positionText,0,0).call(m.convertToTspans,r),x=b.node().getBoundingClientRect().width+2*C):(b.remove(),e.select(\\\"rect\\\").remove()),e.select(\\\"path\\\").style({fill:u,stroke:h});var w,M,A=v.node().getBoundingClientRect(),I=t.xa._offset+(t.x0+t.x1)/2,D=t.ya._offset+(t.y0+t.y1)/2,P=Math.abs(t.x1-t.x0),O=Math.abs(t.y1-t.y0),R=A.width+L+C+x;t.ty0=T-A.top,t.bx=A.width+2*C,t.by=A.height+2*C,t.anchor=\\\"start\\\",t.txwidth=A.width,t.tx2width=x,t.offset=0,o?(t.pos=I,w=D+O/2+R<=E,M=D-O/2-R>=0,\\\"top\\\"!==t.idealAlign&&w||!M?w?(D+=O/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(D-=O/2,t.anchor=\\\"end\\\")):(t.pos=D,w=I+P/2+R<=S,M=I-P/2-R>=0,\\\"left\\\"!==t.idealAlign&&w||!M?w?(I+=P/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(I-=P/2,t.anchor=\\\"end\\\")),v.attr(\\\"text-anchor\\\",t.anchor),x&&b.attr(\\\"text-anchor\\\",t.anchor),e.attr(\\\"transform\\\",\\\"translate(\\\"+I+\\\",\\\"+D+\\\")\\\"+(o?\\\"rotate(\\\"+k+\\\")\\\":\\\"\\\"))}),P}function a(t,e){function r(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;o<t.length;o++)l=t[o],l.pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if(l=t[o],l.pos<e.pmin+1)for(l.del=!0,u--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)l=t[o],l.pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(var n,i,a,o,s,l,u,c=0,h=t.map(function(t,r){var n=t[e];return[{i:r,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\\\"x\\\"===n._id.charAt(0)?T:1)/2,pmin:n._offset,pmax:n._offset+n._length}]}).sort(function(t,e){return t[0].posref-e[0].posref});!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var f=h[o],d=h[o+1],p=f[f.length-1],m=d[0];if((i=p.pos+p.dp+p.size-m.pos-m.dp+m.size)>.01&&p.pmin===m.pmin&&p.pmax===m.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(f.push.apply(f,d),h.splice(o+1,1),u=0,s=f.length-1;s>=0;s--)u+=f[s].dp;for(a=u/f.length,s=f.length-1;s>=0;s--)f[s].dp-=a;n=!1}else o++}h.forEach(r)}for(o=h.length-1;o>=0;o--){var v=h[o];for(s=v.length-1;s>=0;s--){var g=v[s],y=t[g.i];y.offset=g.dp,y.del=g.del}}}function o(t,e){t.each(function(t){var r=c.select(this);if(t.del)return void r.remove();var n=\\\"end\\\"===t.anchor?-1:1,i=r.select(\\\"text.nums\\\"),a={start:1,end:-1,middle:0}[t.anchor],o=a*(L+C),s=o+a*(t.txwidth+C),l=0,u=t.offset;\\\"middle\\\"===t.anchor&&(o-=t.tx2width/2,s-=t.tx2width/2),e&&(u*=-E,l=t.offset*S),r.select(\\\"path\\\").attr(\\\"d\\\",\\\"middle\\\"===t.anchor?\\\"M-\\\"+t.bx/2+\\\",-\\\"+t.by/2+\\\"h\\\"+t.bx+\\\"v\\\"+t.by+\\\"h-\\\"+t.bx+\\\"Z\\\":\\\"M0,0L\\\"+(n*L+l)+\\\",\\\"+(L+u)+\\\"v\\\"+(t.by/2-L)+\\\"h\\\"+n*t.bx+\\\"v-\\\"+t.by+\\\"H\\\"+(n*L+l)+\\\"V\\\"+(u-L)+\\\"Z\\\"),i.call(m.positionText,o+l,u+t.ty0-t.by/2+C),t.tx2width&&(r.select(\\\"text.name\\\").call(m.positionText,s+a*C+l,u+t.ty0-t.by/2+C),r.select(\\\"rect\\\").call(g.setRect,s+(a-1)*t.tx2width/2+l,u-t.by/2-1,t.tx2width,t.by+2))})}function s(t,e){function r(e,r,o){var s;if(a[r])s=a[r];else if(i[r]){var l=i[r];Array.isArray(l)&&Array.isArray(l[t.index[0]])&&(s=l[t.index[0]][t.index[1]])}else s=d.nestedProperty(n,o).get();s&&(t[e]=s)}var n=t.trace||{},i=t.cd[0],a=t.cd[t.index]||{};r(\\\"hoverinfo\\\",\\\"hi\\\",\\\"hoverinfo\\\"),r(\\\"color\\\",\\\"hbg\\\",\\\"hoverlabel.bgcolor\\\"),r(\\\"borderColor\\\",\\\"hbc\\\",\\\"hoverlabel.bordercolor\\\"),r(\\\"fontFamily\\\",\\\"htf\\\",\\\"hoverlabel.font.family\\\"),r(\\\"fontSize\\\",\\\"hts\\\",\\\"hoverlabel.font.size\\\"),r(\\\"fontColor\\\",\\\"htc\\\",\\\"hoverlabel.font.color\\\"),r(\\\"nameLength\\\",\\\"hnl\\\",\\\"hoverlabel.namelength\\\"),t.posref=\\\"y\\\"===e?(t.x0+t.x1)/2:(t.y0+t.y1)/2,t.x0=d.constrain(t.x0,0,t.xa._length),t.x1=d.constrain(t.x1,0,t.xa._length),t.y0=d.constrain(t.y0,0,t.ya._length),t.y1=d.constrain(t.y1,0,t.ya._length);var o;if(void 0!==t.xLabelVal){o=\\\"log\\\"===t.xa.type&&t.xLabelVal<=0;var s=x.tickText(t.xa,t.xa.c2l(o?-t.xLabelVal:t.xLabelVal),\\\"hover\\\");o?0===t.xLabelVal?t.xLabel=\\\"0\\\":t.xLabel=\\\"-\\\"+s.text:t.xLabel=s.text,t.xVal=t.xa.c2d(t.xLabelVal)}if(void 0!==t.yLabelVal){o=\\\"log\\\"===t.ya.type&&t.yLabelVal<=0;var l=x.tickText(t.ya,t.ya.c2l(o?-t.yLabelVal:t.yLabelVal),\\\"hover\\\");o?0===t.yLabelVal?t.yLabel=\\\"0\\\":t.yLabel=\\\"-\\\"+l.text:t.yLabel=l.text,t.yVal=t.ya.c2d(t.yLabelVal)}if(void 0!==t.zLabelVal&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\\\"log\\\"===t.xa.type&&t.xerr<=0)){var u=x.tickText(t.xa,t.xa.c2l(t.xerr),\\\"hover\\\").text;void 0!==t.xerrneg?t.xLabel+=\\\" +\\\"+u+\\\" / -\\\"+x.tickText(t.xa,t.xa.c2l(t.xerrneg),\\\"hover\\\").text:t.xLabel+=\\\" \\\\xb1 \\\"+u,\\\"x\\\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\\\"log\\\"===t.ya.type&&t.yerr<=0)){var c=x.tickText(t.ya,t.ya.c2l(t.yerr),\\\"hover\\\").text;void 0!==t.yerrneg?t.yLabel+=\\\" +\\\"+c+\\\" / -\\\"+x.tickText(t.ya,t.ya.c2l(t.yerrneg),\\\"hover\\\").text:t.yLabel+=\\\" \\\\xb1 \\\"+c,\\\"y\\\"===e&&(t.distance+=1)}var h=t.hoverinfo||t.trace.hoverinfo;return\\\"all\\\"!==h&&(h=h.split(\\\"+\\\"),-1===h.indexOf(\\\"x\\\")&&(t.xLabel=void 0),-1===h.indexOf(\\\"y\\\")&&(t.yLabel=void 0),-1===h.indexOf(\\\"z\\\")&&(t.zLabel=void 0),-1===h.indexOf(\\\"text\\\")&&(t.text=void 0),-1===h.indexOf(\\\"name\\\")&&(t.name=void 0)),t}function l(t,e){var r=e.hovermode,n=e.container,i=t[0],a=i.xa,o=i.ya,s=a.showspikes,l=o.showspikes;if(n.selectAll(\\\".spikeline\\\").remove(),\\\"closest\\\"===r&&(s||l)){var u=e.fullLayout,c=a._offset+(i.x0+i.x1)/2,h=o._offset+(i.y0+i.y1)/2,d=y.combine(u.plot_bgcolor,u.paper_bgcolor),p=f.readability(i.color,d)<1.5?y.contrast(d):i.color;if(l){var m=o.spikemode,v=o.spikethickness,b=o.spikecolor||p,x=o._boundingBox,_=(x.left+x.right)/2<c?x.right:x.left;if(-1!==m.indexOf(\\\"toaxis\\\")||-1!==m.indexOf(\\\"across\\\")){var w=_,M=c;-1!==m.indexOf(\\\"across\\\")&&(w=o._counterSpan[0],M=o._counterSpan[1]),n.append(\\\"line\\\").attr({x1:w,x2:M,y1:h,y2:h,\\\"stroke-width\\\":v+2,stroke:d}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),n.append(\\\"line\\\").attr({x1:w,x2:M,y1:h,y2:h,\\\"stroke-width\\\":v,stroke:b,\\\"stroke-dasharray\\\":g.dashStyle(o.spikedash,v)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)}-1!==m.indexOf(\\\"marker\\\")&&n.append(\\\"circle\\\").attr({cx:_+(\\\"right\\\"!==o.side?v:-v),cy:h,r:v,fill:b}).classed(\\\"spikeline\\\",!0)}if(s){var k=a.spikemode,A=a.spikethickness,T=a.spikecolor||p,S=a._boundingBox,E=(S.top+S.bottom)/2<h?S.bottom:S.top;if(-1!==k.indexOf(\\\"toaxis\\\")||-1!==k.indexOf(\\\"across\\\")){var L=E,C=h;-1!==k.indexOf(\\\"across\\\")&&(L=a._counterSpan[0],C=a._counterSpan[1]),n.append(\\\"line\\\").attr({x1:c,x2:c,y1:L,y2:C,\\\"stroke-width\\\":A+2,stroke:d}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),n.append(\\\"line\\\").attr({x1:c,x2:c,y1:L,y2:C,\\\"stroke-width\\\":A,stroke:T,\\\"stroke-dasharray\\\":g.dashStyle(a.spikedash,A)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)}-1!==k.indexOf(\\\"marker\\\")&&n.append(\\\"circle\\\").attr({cx:c,cy:E-(\\\"top\\\"!==a.side?A:-A),r:A,fill:T}).classed(\\\"spikeline\\\",!0)}}}function u(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}var c=t(\\\"d3\\\"),h=t(\\\"fast-isnumeric\\\"),f=t(\\\"tinycolor2\\\"),d=t(\\\"../../lib\\\"),p=t(\\\"../../lib/events\\\"),m=t(\\\"../../lib/svg_text_utils\\\"),v=t(\\\"../../lib/override_cursor\\\"),g=t(\\\"../drawing\\\"),y=t(\\\"../color\\\"),b=t(\\\"../dragelement\\\"),x=t(\\\"../../plots/cartesian/axes\\\"),_=t(\\\"../../registry\\\"),w=t(\\\"./helpers\\\"),M=t(\\\"./constants\\\"),k=M.YANGLE,A=Math.PI*k/180,T=1/Math.sin(A),S=Math.cos(A),E=Math.sin(A),L=M.HOVERARROWSIZE,C=M.HOVERTEXTPAD;r.hover=function(t,e,r,i){if(\\\"string\\\"==typeof t&&(t=document.getElementById(t)),void 0===t._lastHoverTime&&(t._lastHoverTime=0),void 0!==t._hoverTimer&&(clearTimeout(t._hoverTimer),t._hoverTimer=void 0),Date.now()>t._lastHoverTime+M.HOVERMINTIME)return n(t,e,r,i),void(t._lastHoverTime=Date.now());t._hoverTimer=setTimeout(function(){n(t,e,r,i),t._lastHoverTime=Date.now(),t._hoverTimer=void 0},M.HOVERMINTIME)},r.loneHover=function(t,e){var r={color:t.color||y.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,trace:{index:0,hoverinfo:\\\"\\\"},xa:{_offset:0},ya:{_offset:0},index:0},n=c.select(e.container),a=e.outerContainer?c.select(e.outerContainer):n,s={hovermode:\\\"closest\\\",rotateLabels:!1,bgColor:e.bgColor||y.background,container:n,outerContainer:a},l=i([r],s,e.gd);return o(l,s.rotateLabels),l.node()}},{\\\"../../lib\\\":725,\\\"../../lib/events\\\":715,\\\"../../lib/override_cursor\\\":735,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./constants\\\":639,\\\"./helpers\\\":641,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],643:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){i=i||{},r(\\\"hoverlabel.bgcolor\\\",i.bgcolor),r(\\\"hoverlabel.bordercolor\\\",i.bordercolor),r(\\\"hoverlabel.namelength\\\",i.namelength),n.coerceFont(r,\\\"hoverlabel.font\\\",i.font)}},{\\\"../../lib\\\":725}],644:[function(t,e,r){\\\"use strict\\\";function n(t){var e=s.isD3Selection(t)?t:o.select(t);e.selectAll(\\\"g.hovertext\\\").remove(),e.selectAll(\\\".spikeline\\\").remove()}function i(t,e,r){return s.castOption(t,e,\\\"hoverlabel.\\\"+r)}function a(t,e,r){function n(r){return s.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}return s.castOption(t,r,\\\"hoverinfo\\\",n)}var o=t(\\\"d3\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../dragelement\\\"),u=t(\\\"./helpers\\\"),c=t(\\\"./layout_attributes\\\");e.exports={moduleType:\\\"component\\\",name:\\\"fx\\\",constants:t(\\\"./constants\\\"),schema:{layout:c},attributes:t(\\\"./attributes\\\"),layoutAttributes:c,supplyLayoutGlobalDefaults:t(\\\"./layout_global_defaults\\\"),supplyDefaults:t(\\\"./defaults\\\"),supplyLayoutDefaults:t(\\\"./layout_defaults\\\"),calc:t(\\\"./calc\\\"),getDistanceFunction:u.getDistanceFunction,getClosest:u.getClosest,inbox:u.inbox,appendArrayPointValue:u.appendArrayPointValue,castHoverOption:i,castHoverinfo:a,hover:t(\\\"./hover\\\").hover,unhover:l.unhover,loneHover:t(\\\"./hover\\\").loneHover,loneUnhover:n,click:t(\\\"./click\\\")}},{\\\"../../lib\\\":725,\\\"../dragelement\\\":624,\\\"./attributes\\\":636,\\\"./calc\\\":637,\\\"./click\\\":638,\\\"./constants\\\":639,\\\"./defaults\\\":640,\\\"./helpers\\\":641,\\\"./hover\\\":642,\\\"./layout_attributes\\\":645,\\\"./layout_defaults\\\":646,\\\"./layout_global_defaults\\\":647,d3:121}],645:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"./constants\\\");e.exports={dragmode:{valType:\\\"enumerated\\\",values:[\\\"zoom\\\",\\\"pan\\\",\\\"select\\\",\\\"lasso\\\",\\\"orbit\\\",\\\"turntable\\\"],dflt:\\\"zoom\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"closest\\\",!1]},hoverlabel:{bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\"},font:{family:n({},i.family,{dflt:a.HOVERFONT}),size:n({},i.size,{dflt:a.HOVERFONTSIZE}),color:n({},i.color)},namelength:{valType:\\\"integer\\\",min:-1,dflt:15}}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"./constants\\\":639}],646:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=!0,r=0;r<t.length;r++){if(\\\"h\\\"!==t[r].orientation){e=!1;break}}return e}var i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function o(r,n){return i.coerce(t,e,a,r,n)}o(\\\"dragmode\\\");var s;e._has(\\\"cartesian\\\")?(e._isHoriz=n(r),s=e._isHoriz?\\\"y\\\":\\\"x\\\"):s=\\\"closest\\\",o(\\\"hovermode\\\",s),e._has(\\\"mapbox\\\")&&1===e._basePlotModules.length&&\\\"zoom\\\"===e.dragmode&&(e.dragmode=\\\"pan\\\")}},{\\\"../../lib\\\":725,\\\"./layout_attributes\\\":645}],647:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./hoverlabel_defaults\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}i(t,e,r)}},{\\\"../../lib\\\":725,\\\"./hoverlabel_defaults\\\":643,\\\"./layout_attributes\\\":645}],648:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/constants\\\");e.exports={_isLinkedToArray:\\\"image\\\",visible:{valType:\\\"boolean\\\",dflt:!0},source:{valType:\\\"string\\\"},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\"},sizex:{valType:\\\"number\\\",dflt:0},sizey:{valType:\\\"number\\\",dflt:0},sizing:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"contain\\\",\\\"stretch\\\"],dflt:\\\"contain\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},x:{valType:\\\"any\\\",dflt:0},y:{valType:\\\"any\\\",dflt:0},xanchor:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"top\\\"},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",n.idRegex.x.toString()],dflt:\\\"paper\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",n.idRegex.y.toString()],dflt:\\\"paper\\\"}}},{\\\"../../plots/cartesian/constants\\\":771}],649:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){e=e||{};var o=\\\"log\\\"===r&&\\\"linear\\\"===e.type,s=\\\"linear\\\"===r&&\\\"log\\\"===e.type;if(o||s)for(var l,u,c=t._fullLayout.images,h=e._id.charAt(0),f=0;f<c.length;f++)if(l=c[f],u=\\\"images[\\\"+f+\\\"].\\\",l[h+\\\"ref\\\"]===e._id){var d=l[h],p=l[\\\"size\\\"+h],m=null,v=null;if(o){m=i(d,e.range);var g=p/Math.pow(10,m)/2;v=2*Math.log(g+Math.sqrt(1+g*g))/Math.LN10}else m=Math.pow(10,d),v=m*(Math.pow(10,p/2)-Math.pow(10,-p/2));n(m)?n(v)||(v=null):(m=null,v=null),a(u+h,m),a(u+\\\"size\\\"+h,v)}}},{\\\"../../lib/to_log_range\\\":746,\\\"fast-isnumeric\\\":130}],650:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(r,n){return i.coerce(t,e,s,r,n)}if(!n(\\\"visible\\\",!!n(\\\"source\\\")))return e;n(\\\"layer\\\"),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"sizex\\\"),n(\\\"sizey\\\"),n(\\\"sizing\\\"),n(\\\"opacity\\\");for(var o={_fullLayout:r},l=[\\\"x\\\",\\\"y\\\"],u=0;u<2;u++){var c=l[u],h=a.coerceRef(t,e,o,c,\\\"paper\\\");a.coercePosition(e,o,n,h,c,0)}return e}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e){o(t,e,{name:\\\"images\\\",handleItemDefaults:n})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":648}],651:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../drawing\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\");e.exports=function(t){function e(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\\\"xmlns\\\",o.svg);var i=new Promise(function(t){function n(){r.remove(),t()}var i=new Image;this.img=i,i.setAttribute(\\\"crossOrigin\\\",\\\"anonymous\\\"),i.onerror=n,i.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\\\",n),i.src=e.source}.bind(this));t._promises.push(i)}}function r(e){var r=n.select(this),o=a.getFromId(t,e.xref),s=a.getFromId(t,e.yref),l=u._size,c=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*l.w,h=s?Math.abs(s.l2p(e.sizey)-s.l2p(0)):e.sizey*l.h,f=c*m.x[e.xanchor].offset,d=h*m.y[e.yanchor].offset,p=m.x[e.xanchor].sizing+m.y[e.yanchor].sizing,v=(o?o.r2p(e.x)+o._offset:e.x*l.w+l.l)+f,g=(s?s.r2p(e.y)+s._offset:l.h-e.y*l.h+l.t)+d;switch(e.sizing){case\\\"fill\\\":p+=\\\" slice\\\";break;case\\\"stretch\\\":p=\\\"none\\\"}r.attr({x:v,y:g,width:c,height:h,preserveAspectRatio:p,opacity:e.opacity});var y=o?o._id:\\\"\\\",b=s?s._id:\\\"\\\",x=y+b;r.call(i.setClipUrl,x?\\\"clip\\\"+u._uid+x:null)}var s,l,u=t._fullLayout,c=[],h={},f=[];for(l=0;l<u.images.length;l++){var d=u.images[l];if(d.visible)if(\\\"below\\\"===d.layer&&\\\"paper\\\"!==d.xref&&\\\"paper\\\"!==d.yref){s=d.xref+d.yref;var p=u._plots[s];if(!p){f.push(d);continue}p.mainplot&&(s=p.mainplot.id),h[s]||(h[s]=[]),h[s].push(d)}else\\\"above\\\"===d.layer?c.push(d):f.push(d)}var m={x:{left:{sizing:\\\"xMin\\\",offset:0},center:{sizing:\\\"xMid\\\",offset:-.5},right:{sizing:\\\"xMax\\\",offset:-1}},y:{top:{sizing:\\\"YMin\\\",offset:0},middle:{sizing:\\\"YMid\\\",offset:-.5},bottom:{sizing:\\\"YMax\\\",offset:-1}}},v=u._imageLowerLayer.selectAll(\\\"image\\\").data(f),g=u._imageUpperLayer.selectAll(\\\"image\\\").data(c);v.enter().append(\\\"image\\\"),g.enter().append(\\\"image\\\"),v.exit().remove(),g.exit().remove(),v.each(function(t){e.bind(this)(t),r.bind(this)(t)}),g.each(function(t){e.bind(this)(t),r.bind(this)(t)});var y=Object.keys(u._plots);for(l=0;l<y.length;l++){s=y[l];var b=u._plots[s];if(b.imagelayer){var x=b.imagelayer.selectAll(\\\"image\\\").data(h[s]||[]);x.enter().append(\\\"image\\\"),x.exit().remove(),x.each(function(t){e.bind(this)(t),r.bind(this)(t)})}}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../plots/cartesian/axes\\\":766,\\\"../drawing\\\":627,d3:121}],652:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"images\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),draw:t(\\\"./draw\\\"),convertCoords:t(\\\"./convert_coords\\\")}},{\\\"./attributes\\\":648,\\\"./convert_coords\\\":649,\\\"./defaults\\\":650,\\\"./draw\\\":651}],653:[function(t,e,r){\\\"use strict\\\";r.isRightAnchor=function(t){return\\\"right\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\\\"center\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\\\"bottom\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\\\"middle\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],654:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat;e.exports={bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.defaultLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:0},font:a({},n,{}),orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"],dflt:\\\"v\\\"},traceorder:{valType:\\\"flaglist\\\",flags:[\\\"reversed\\\",\\\"grouped\\\"],extras:[\\\"normal\\\"]},tracegroupgap:{valType:\\\"number\\\",min:0,dflt:10},x:{valType:\\\"number\\\",min:-2,max:3,dflt:1.02},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\"},y:{valType:\\\"number\\\",min:-2,max:3,dflt:1},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\"}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../color/attributes\\\":602}],655:[function(t,e,r){\\\"use strict\\\";e.exports={scrollBarWidth:4,scrollBarHeight:20,scrollBarColor:\\\"#808BA4\\\",scrollBarMargin:4}},{}],656:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../../plots/layout_attributes\\\"),s=t(\\\"./helpers\\\");e.exports=function(t,e,r){function l(t,e){return i.coerce(d,p,a,t,e)}for(var u,c,h,f,d=t.legend||{},p=e.legend={},m=0,v=\\\"normal\\\",g=0;g<r.length;g++){var y=r[g];s.legendGetsTrace(y)&&(m++,n.traceIs(y,\\\"pie\\\")&&m++),(n.traceIs(y,\\\"bar\\\")&&\\\"stack\\\"===e.barmode||-1!==[\\\"tonextx\\\",\\\"tonexty\\\"].indexOf(y.fill))&&(v=s.isGrouped({traceorder:v})?\\\"grouped+reversed\\\":\\\"reversed\\\"),void 0!==y.legendgroup&&\\\"\\\"!==y.legendgroup&&(v=s.isReversed({traceorder:v})?\\\"reversed+grouped\\\":\\\"grouped\\\")}if(!1!==i.coerce(t,e,o,\\\"showlegend\\\",m>1)){if(l(\\\"bgcolor\\\",e.paper_bgcolor),l(\\\"bordercolor\\\"),l(\\\"borderwidth\\\"),i.coerceFont(l,\\\"font\\\",e.font),l(\\\"orientation\\\"),\\\"h\\\"===p.orientation){var b=t.xaxis;b&&b.rangeslider&&b.rangeslider.visible?(u=0,h=\\\"left\\\",c=1.1,f=\\\"bottom\\\"):(u=0,h=\\\"left\\\",c=-.1,f=\\\"top\\\")}l(\\\"traceorder\\\",v),s.isGrouped(e.legend)&&l(\\\"tracegroupgap\\\"),l(\\\"x\\\",u),l(\\\"xanchor\\\",h),l(\\\"y\\\",c),l(\\\"yanchor\\\",f),i.noneOrAll(d,p,[\\\"x\\\",\\\"y\\\"])}}},{\\\"../../lib\\\":725,\\\"../../plots/layout_attributes\\\":820,\\\"../../registry\\\":844,\\\"./attributes\\\":654,\\\"./helpers\\\":659}],657:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(r){y.convertToTspans(r,e,function(){o(t,e)})}var n=t.data()[0][0],i=e._fullLayout,a=n.trace,s=p.traceIs(a,\\\"pie\\\"),l=a.index,u=s?n.label:a.name,c=t.selectAll(\\\"text.legendtext\\\").data([0]);c.enter().append(\\\"text\\\").classed(\\\"legendtext\\\",!0),c.attr(\\\"text-anchor\\\",\\\"start\\\").classed(\\\"user-select-none\\\",!0).call(v.font,i.legend.font).text(u),e._context.edits.legendText&&!s?c.call(y.makeEditable,{gd:e}).call(r).on(\\\"edit\\\",function(t){this.text(t).call(r);var i=t;this.text()||(t=\\\"    \\\");var a,o,s=n.trace._fullInput||{},u={};if(-1!==[\\\"ohlc\\\",\\\"candlestick\\\"].indexOf(s.type))a=n.trace.transforms,o=a[a.length-1].direction,u[o+\\\".name\\\"]=t;else if(p.hasTransform(s,\\\"groupby\\\")){var c=p.getTransformIndices(s,\\\"groupby\\\"),d=c[c.length-1],m=f.keyedContainer(s,\\\"transforms[\\\"+d+\\\"].styles\\\",\\\"target\\\",\\\"value.name\\\");\\\"\\\"===i?m.remove(n.trace._group):m.set(n.trace._group,t),u=m.constructUpdate()}else u.name=t;return h.restyle(e,u,l)}):c.call(r)}function i(t,e){var r,n=1,i=t.selectAll(\\\"rect\\\").data([0]);i.enter().append(\\\"rect\\\").classed(\\\"legendtoggle\\\",!0).style(\\\"cursor\\\",\\\"pointer\\\").attr(\\\"pointer-events\\\",\\\"all\\\").call(g.fill,\\\"rgba(0,0,0,0)\\\"),i.on(\\\"mousedown\\\",function(){r=(new Date).getTime(),r-e._legendMouseDownTime<S?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(\\\"mouseup\\\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>S&&(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){a(t,e,n)},S):2===n&&(r._clickTimeout&&clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,a(t,e,n))}})}function a(t,e,r){if(!e._dragged&&!e._editing){var n,i,a=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],o=t.data()[0][0],s=e._fullData,l=o.trace,u=l.legendgroup,c=[];if(1===r&&T&&e.data&&e._context.showTips?(f.notifier(\\\"Double click on legend to isolate individual trace\\\",\\\"long\\\"),T=!1):T=!1,p.traceIs(l,\\\"pie\\\")){var d=o.label,m=a.indexOf(d);1===r?-1===m?a.push(d):a.splice(m,1):2===r&&(a=[],e.calcdata[0].forEach(function(t){d!==t.label&&a.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===a.length&&-1===m&&(a=[])),h.relayout(e,\\\"hiddenlabels\\\",a)}else{var v,g=[],y=[];for(v=0;v<s.length;v++)g.push(v),y.push(!!p.traceIs(s[v],\\\"notLegendIsolatable\\\")||\\\"legendonly\\\");if(\\\"\\\"===u)c=[l.index],y[l.index]=!0;else for(v=0;v<s.length;v++)n=s[v],n.legendgroup===u&&(c.push(n.index),y[g.indexOf(v)]=!0);if(1===r)i=!0!==l.visible||\\\"legendonly\\\",h.restyle(e,\\\"visible\\\",i,c);else if(2===r){var b=!0;for(v=0;v<s.length;v++)if(s[v].visible!==y[v]){b=!1;break}b&&(y=!0);var x=[];for(v=0;v<s.length;v++)x.push(g[v]);h.restyle(e,\\\"visible\\\",y,x)}}}}function o(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\\\"g[class*=math-group]\\\"),o=a.node(),s=e._fullLayout.legend,l=s.font.size*_;if(o){var u=v.bBox(o);n=u.height,i=u.width,v.setTranslate(a,0,n/4)}else{var c=t.select(\\\".legendtext\\\"),h=y.lineCount(c),f=c.node();n=l*h,i=f?v.bBox(f).width:0;var d=l*(.3+(1-h)/2);y.positionText(c,40,d)}n=Math.max(n,16)+3,r.height=n,r.width=i}function s(t,e,r){var n=t._fullLayout,i=n.legend,a=i.borderwidth,o=k.isGrouped(i),s=0;if(i.width=0,i.height=0,k.isVertical(i))o&&e.each(function(t,e){v.setTranslate(this,0,e*i.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;v.setTranslate(this,a,5+a+i.height+r/2),i.height+=r,i.width=Math.max(i.width,n)}),i.width+=45+2*a,i.height+=10+2*a,o&&(i.height+=(i._lgroupsLength-1)*i.tracegroupgap),s=40;else if(o){for(var l=[i.width],u=e.data(),h=0,f=u.length;h<f;h++){var d=u[h].map(function(t){return t[0].width}),p=40+Math.max.apply(null,d);i.width+=i.tracegroupgap+p,l.push(i.width)}e.each(function(t,e){v.setTranslate(this,l[e],0)}),e.each(function(){var t=c.select(this),e=t.selectAll(\\\"g.traces\\\"),r=0;e.each(function(t){var e=t[0],n=e.height;v.setTranslate(this,0,5+a+r+n/2),r+=n}),i.height=Math.max(i.height,r)}),i.height+=10+2*a,i.width+=2*a}else{var m=0,g=0,y=0,b=0;r.each(function(t){y=Math.max(40+t[0].width,y)}),r.each(function(t){var e=t[0],r=y,o=i.tracegroupgap||5;a+b+o+r>n.width-(n.margin.r+n.margin.l)&&(b=0,m+=g,i.height=i.height+g,g=0),v.setTranslate(this,a+b,5+a+e.height/2+m),i.width+=o+r,i.height=Math.max(i.height,e.height),b+=o+r,g=Math.max(e.height,g)}),i.width+=2*a,i.height+=10+2*a}i.width=Math.ceil(i.width),i.height=Math.ceil(i.height),r.each(function(e){var r=e[0];c.select(this).select(\\\".legendtoggle\\\").call(v.setRect,0,-r.height/2,(t._context.edits.legendText?0:i.width)+s,r.height)})}function l(t){var e=t._fullLayout,r=e.legend,n=\\\"left\\\";A.isRightAnchor(r)?n=\\\"right\\\":A.isCenterAnchor(r)&&(n=\\\"center\\\");var i=\\\"top\\\";A.isBottomAnchor(r)?i=\\\"bottom\\\":A.isMiddleAnchor(r)&&(i=\\\"middle\\\"),d.autoMargin(t,\\\"legend\\\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:r.height*({top:1,middle:.5}[i]||0),t:r.height*({bottom:1,middle:.5}[i]||0)})}function u(t){var e=t._fullLayout,r=e.legend,n=\\\"left\\\";A.isRightAnchor(r)?n=\\\"right\\\":A.isCenterAnchor(r)&&(n=\\\"center\\\"),d.autoMargin(t,\\\"legend\\\",{x:r.x,y:.5,l:r.width*({right:1,center:.5}[n]||0),r:r.width*({left:1,center:.5}[n]||0),b:0,t:0})}var c=t(\\\"d3\\\"),h=t(\\\"../../plotly\\\"),f=t(\\\"../../lib\\\"),d=t(\\\"../../plots/plots\\\"),p=t(\\\"../../registry\\\"),m=t(\\\"../dragelement\\\"),v=t(\\\"../drawing\\\"),g=t(\\\"../color\\\"),y=t(\\\"../../lib/svg_text_utils\\\"),b=t(\\\"./constants\\\"),x=t(\\\"../../constants/interactions\\\"),_=t(\\\"../../constants/alignment\\\").LINE_SPACING,w=t(\\\"./get_legend_data\\\"),M=t(\\\"./style\\\"),k=t(\\\"./helpers\\\"),A=t(\\\"./anchor_utils\\\"),T=!0,S=x.DBLCLICKDELAY;e.exports=function(t){function e(t,e){L.attr(\\\"data-scroll\\\",e).call(v.setTranslate,0,e),C.call(v.setRect,N,t,b.scrollBarWidth,b.scrollBarHeight),T.select(\\\"rect\\\").attr({y:y.borderwidth-e})}var r=t._fullLayout,o=\\\"legend\\\"+r._uid;if(r._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var y=r.legend,x=r.showlegend&&w(t.calcdata,y),_=r.hiddenlabels||[];if(!r.showlegend||!x.length)return r._infolayer.selectAll(\\\".legend\\\").remove(),r._topdefs.select(\\\"#\\\"+o).remove(),void d.autoMargin(t,\\\"legend\\\");var k=r._infolayer.selectAll(\\\"g.legend\\\").data([0]);k.enter().append(\\\"g\\\").attr({class:\\\"legend\\\",\\\"pointer-events\\\":\\\"all\\\"});var T=r._topdefs.selectAll(\\\"#\\\"+o).data([0]);T.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",o).append(\\\"rect\\\");var E=k.selectAll(\\\"rect.bg\\\").data([0]);E.enter().append(\\\"rect\\\").attr({class:\\\"bg\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),E.call(g.stroke,y.bordercolor),E.call(g.fill,y.bgcolor),E.style(\\\"stroke-width\\\",y.borderwidth+\\\"px\\\");var L=k.selectAll(\\\"g.scrollbox\\\").data([0]);L.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"scrollbox\\\");var C=k.selectAll(\\\"rect.scrollbar\\\").data([0]);C.enter().append(\\\"rect\\\").attr({class:\\\"scrollbar\\\",rx:20,ry:2,width:0,height:0}).call(g.fill,\\\"#808BA4\\\");var z=L.selectAll(\\\"g.groups\\\").data(x);z.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"groups\\\"),z.exit().remove();var I=z.selectAll(\\\"g.traces\\\").data(f.identity);I.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"traces\\\"),I.exit().remove(),I.call(M,t).style(\\\"opacity\\\",function(t){var e=t[0].trace;return p.traceIs(e,\\\"pie\\\")?-1!==_.indexOf(t[0].label)?.5:1:\\\"legendonly\\\"===e.visible?.5:1}).each(function(){c.select(this).call(n,t).call(i,t)});var D=0!==k.enter().size();D&&(s(t,z,I),l(t));var P=r.width,O=r.height;s(t,z,I),y.height>O?u(t):l(t);var R=r._size,F=R.l+R.w*y.x,j=R.t+R.h*(1-y.y);A.isRightAnchor(y)?F-=y.width:A.isCenterAnchor(y)&&(F-=y.width/2),A.isBottomAnchor(y)?j-=y.height:A.isMiddleAnchor(y)&&(j-=y.height/2);var N=y.width,B=R.w;N>B?(F=R.l,N=B):(F+N>P&&(F=P-N),F<0&&(F=0),N=Math.min(P-F,y.width));var U=y.height,V=R.h;U>V?(j=R.t,U=V):(j+U>O&&(j=O-U),j<0&&(j=0),U=Math.min(O-j,y.height)),v.setTranslate(k,F,j);var H,q,G=U-b.scrollBarHeight-2*b.scrollBarMargin,Y=y.height-U;if(y.height<=U||t._context.staticPlot)E.attr({width:N-y.borderwidth,height:U-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),v.setTranslate(L,0,0),T.select(\\\"rect\\\").attr({width:N-2*y.borderwidth,height:U-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth}),\\n\",\n       \"L.call(v.setClipUrl,o);else{H=b.scrollBarMargin,q=L.attr(\\\"data-scroll\\\")||0,E.attr({width:N-2*y.borderwidth+b.scrollBarWidth+b.scrollBarMargin,height:U-y.borderwidth,x:y.borderwidth/2,y:y.borderwidth/2}),T.select(\\\"rect\\\").attr({width:N-2*y.borderwidth+b.scrollBarWidth+b.scrollBarMargin,height:U-2*y.borderwidth,x:y.borderwidth,y:y.borderwidth-q}),L.call(v.setClipUrl,o),D&&e(H,q),k.on(\\\"wheel\\\",null),k.on(\\\"wheel\\\",function(){q=f.constrain(L.attr(\\\"data-scroll\\\")-c.event.deltaY/G*Y,-Y,0),H=b.scrollBarMargin-q/Y*G,e(H,q),0!==q&&q!==-Y&&c.event.preventDefault()}),C.on(\\\".drag\\\",null),L.on(\\\".drag\\\",null);var X=c.behavior.drag().on(\\\"drag\\\",function(){H=f.constrain(c.event.y-b.scrollBarHeight/2,b.scrollBarMargin,b.scrollBarMargin+G),q=-(H-b.scrollBarMargin)/G*Y,e(H,q)});C.call(X),L.call(X)}if(t._context.edits.legendPosition){var W,Z,J,K;k.classed(\\\"cursor-move\\\",!0),m.init({element:k.node(),gd:t,prepFn:function(){var t=v.getTranslate(k);J=t.x,K=t.y},moveFn:function(t,e){var r=J+t,n=K+e;v.setTranslate(k,r,n),W=m.align(r,0,R.l,R.l+R.w,y.xanchor),Z=m.align(n,0,R.t+R.h,R.t,y.yanchor)},doneFn:function(e,n,i){if(e&&void 0!==W&&void 0!==Z)h.relayout(t,{\\\"legend.x\\\":W,\\\"legend.y\\\":Z});else{var o=r._infolayer.selectAll(\\\"g.traces\\\").filter(function(){var t=this.getBoundingClientRect();return i.clientX>=t.left&&i.clientX<=t.right&&i.clientY>=t.top&&i.clientY<=t.bottom});o.size()>0&&(1===n?k._clickTimeout=setTimeout(function(){a(o,t,n)},S):2===n&&(k._clickTimeout&&clearTimeout(k._clickTimeout),a(o,t,n)))}}})}}}},{\\\"../../constants/alignment\\\":699,\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/plots\\\":829,\\\"../../registry\\\":844,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./anchor_utils\\\":653,\\\"./constants\\\":655,\\\"./get_legend_data\\\":658,\\\"./helpers\\\":659,\\\"./style\\\":661,d3:121}],658:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./helpers\\\");e.exports=function(t,e){function r(t,r){if(\\\"\\\"!==t&&i.isGrouped(e))-1===l.indexOf(t)?(l.push(t),u=!0,s[t]=[[r]]):s[t].push([r]);else{var n=\\\"~~i\\\"+h;l.push(n),s[n]=[[r]],h++}}var a,o,s={},l=[],u=!1,c={},h=0;for(a=0;a<t.length;a++){var f=t[a],d=f[0],p=d.trace,m=p.legendgroup;if(i.legendGetsTrace(p)&&p.showlegend)if(n.traceIs(p,\\\"pie\\\"))for(c[m]||(c[m]={}),o=0;o<f.length;o++){var v=f[o].label;c[m][v]||(r(m,{label:v,color:f[o].color,i:f[o].i,trace:p}),c[m][v]=!0)}else r(m,d)}if(!l.length)return[];var g,y,b=l.length;if(u&&i.isGrouped(e))for(y=new Array(b),a=0;a<b;a++)g=s[l[a]],y[a]=i.isReversed(e)?g.reverse():g;else{for(y=[new Array(b)],a=0;a<b;a++)g=s[l[a]][0],y[0][i.isReversed(e)?b-a-1:a]=g;b=1}return e._lgroupsLength=b,y}},{\\\"../../registry\\\":844,\\\"./helpers\\\":659}],659:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");r.legendGetsTrace=function(t){return t.visible&&n.traceIs(t,\\\"showLegend\\\")},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\\\")}},{\\\"../../registry\\\":844}],660:[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\\\":654,\\\"./defaults\\\":656,\\\"./draw\\\":657,\\\"./style\\\":661}],661:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../color\\\"),l=t(\\\"../../traces/scatter/subtypes\\\"),u=t(\\\"../../traces/pie/style_one\\\");e.exports=function(t,e){function r(t){var e=t[0].trace,r=e.visible&&e.fill&&\\\"none\\\"!==e.fill,i=l.hasLines(e);e&&e._module&&\\\"contourcarpet\\\"===e._module.name&&(i=e.contours.showlines,r=\\\"fill\\\"===e.contours.coloring);var a=n.select(this).select(\\\".legendfill\\\").selectAll(\\\"path\\\").data(r?[t]:[]);a.enter().append(\\\"path\\\").classed(\\\"js-fill\\\",!0),a.exit().remove(),a.attr(\\\"d\\\",\\\"M5,0h30v6h-30z\\\").call(o.fillGroupStyle);var s=n.select(this).select(\\\".legendlines\\\").selectAll(\\\"path\\\").data(i?[t]:[]);s.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).attr(\\\"d\\\",\\\"M5,0h30\\\"),s.exit().remove(),s.call(o.lineGroupStyle)}function c(t){function r(t,e,r){var n=a.nestedProperty(h,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function i(t){return t[0]}var s,u,c=t[0],h=c.trace,f=l.hasMarkers(h),d=l.hasText(h),p=l.hasLines(h);if(f||d||p){var m={},v={};f&&(m.mc=r(\\\"marker.color\\\",i),m.mo=r(\\\"marker.opacity\\\",a.mean,[.2,1]),m.ms=r(\\\"marker.size\\\",a.mean,[2,16]),m.mlc=r(\\\"marker.line.color\\\",i),m.mlw=r(\\\"marker.line.width\\\",a.mean,[0,5]),v.marker={sizeref:1,sizemin:1,sizemode:\\\"diameter\\\"}),p&&(v.line={width:r(\\\"line.width\\\",i,[0,10])}),d&&(m.tx=\\\"Aa\\\",m.tp=r(\\\"textposition\\\",i),m.ts=10,m.tc=r(\\\"textfont.color\\\",i),m.tf=r(\\\"textfont.family\\\",i)),s=[a.minExtend(c,m)],u=a.minExtend(h,v)}var g=n.select(this).select(\\\"g.legendpoints\\\"),y=g.selectAll(\\\"path.scatterpts\\\").data(f?s:[]);y.enter().append(\\\"path\\\").classed(\\\"scatterpts\\\",!0).attr(\\\"transform\\\",\\\"translate(20,0)\\\"),y.exit().remove(),y.call(o.pointStyle,u,e),f&&(s[0].mrc=3);var b=g.selectAll(\\\"g.pointtext\\\").data(d?s:[]);b.enter().append(\\\"g\\\").classed(\\\"pointtext\\\",!0).append(\\\"text\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),b.exit().remove(),b.selectAll(\\\"text\\\").call(o.textPointStyle,u,e)}function h(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbar\\\").data(i.traceIs(e,\\\"bar\\\")?[t]:[]);o.enter().append(\\\"path\\\").classed(\\\"legendbar\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(\\\"stroke-width\\\",o+\\\"px\\\").call(s.fill,i.mc||r.color),o&&e.call(s.stroke,i.mlc||a.color)})}function f(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbox\\\").data(i.traceIs(e,\\\"box\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendbox\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(\\\"stroke-width\\\",t+\\\"px\\\").call(s.fill,e.fillcolor),t&&r.call(s.stroke,e.line.color)})}function d(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendpie\\\").data(i.traceIs(e,\\\"pie\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendpie\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.size()&&r.call(u,t[0],e)}t.each(function(t){var e=n.select(this),r=e.selectAll(\\\"g.layers\\\").data([0]);r.enter().append(\\\"g\\\").classed(\\\"layers\\\",!0),r.style(\\\"opacity\\\",t[0].trace.opacity),r.selectAll(\\\"g.legendfill\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendfill\\\",!0),r.selectAll(\\\"g.legendlines\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendlines\\\",!0);var i=r.selectAll(\\\"g.legendsymbols\\\").data([t]);i.enter().append(\\\"g\\\").classed(\\\"legendsymbols\\\",!0),i.selectAll(\\\"g.legendpoints\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendpoints\\\",!0)}).each(h).each(f).each(d).each(r).each(c)}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../../traces/pie/style_one\\\":1013,\\\"../../traces/scatter/subtypes\\\":1047,\\\"../color\\\":603,\\\"../drawing\\\":627,d3:121}],662:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(\\\"data-attr\\\"),o=i.getAttribute(\\\"data-val\\\")||!0,s=t._fullLayout,l={},u=f.list(t,null,!0),h=\\\"on\\\";if(\\\"zoom\\\"===a){var d,p=\\\"in\\\"===o?.5:2,m=(1+p)/2,v=(1-p)/2;for(n=0;n<u.length;n++)if(r=u[n],!r.fixedrange)if(d=r._name,\\\"auto\\\"===o)l[d+\\\".autorange\\\"]=!0;else if(\\\"reset\\\"===o){if(void 0===r._rangeInitial)l[d+\\\".autorange\\\"]=!0;else{var g=r._rangeInitial.slice();l[d+\\\".range[0]\\\"]=g[0],l[d+\\\".range[1]\\\"]=g[1]}void 0!==r._showSpikeInitial&&(l[d+\\\".showspikes\\\"]=r._showSpikeInitial,\\\"on\\\"!==h||r._showSpikeInitial||(h=\\\"off\\\"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],b=[m*y[0]+v*y[1],m*y[1]+v*y[0]];l[d+\\\".range[0]\\\"]=r.l2r(b[0]),l[d+\\\".range[1]\\\"]=r.l2r(b[1])}s._cartesianSpikesEnabled=h}else{if(\\\"hovermode\\\"!==a||\\\"x\\\"!==o&&\\\"y\\\"!==o){if(\\\"hovermode\\\"===a&&\\\"closest\\\"===o){for(n=0;n<u.length;n++)r=u[n],\\\"on\\\"!==h||r.showspikes||(h=\\\"off\\\");s._cartesianSpikesEnabled=h}}else o=s._isHoriz?\\\"y\\\":\\\"x\\\",i.setAttribute(\\\"data-val\\\",o),\\\"closest\\\"!==o&&(s._cartesianSpikesEnabled=\\\"off\\\");l[a]=o}c.relayout(t,l)}function i(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout,o=h.getSubplotIds(a,\\\"gl3d\\\"),s={},l=n.split(\\\".\\\"),u=0;u<o.length;u++)s[o[u]+\\\".\\\"+l[1]]=i;c.relayout(t,s)}function a(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=t._fullLayout,a=h.getSubplotIds(i,\\\"gl3d\\\"),o={},s=0;s<a.length;s++){var l=a[s],u=l+\\\".camera\\\",f=i[l]._scene;\\\"resetDefault\\\"===n?o[u]=null:\\\"resetLastSave\\\"===n&&(o[u]=d.extendDeep({},f.cameraInitial))}c.relayout(t,o)}function o(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=h.getSubplotIds(a,\\\"gl3d\\\"),s=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],l=[\\\"showspikes\\\",\\\"spikesides\\\",\\\"spikethickness\\\",\\\"spikecolor\\\"],u={},f={},p={};if(n)p=d.extendDeep(i,n),r._previousVal=null;else{p={\\\"allaxes.showspikes\\\":!1};for(var m=0;m<o.length;m++){var v=o[m],g=a[v],y=u[v]={};y.hovermode=g.hovermode,p[v+\\\".hovermode\\\"]=!1;for(var b=0;b<3;b++){var x=s[b];f=y[x]={};for(var _=0;_<l.length;_++){var w=l[_];f[w]=g[x][w]}}}r._previousVal=d.extendDeep({},u)}c.relayout(t,p)}function s(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout,o=h.getSubplotIds(a,\\\"geo\\\"),s=0;s<o.length;s++){var l=a[o[s]]._subplot;if(\\\"zoom\\\"===n){var u=l.projection.scale(),c=\\\"in\\\"===i?2*u:.5*u;l.projection.scale(c),l.zoom.scale(c),l.render()}else\\\"reset\\\"===n&&l.zoomReset()}}function l(t){var e,r=t._fullLayout;e=r._has(\\\"cartesian\\\")?r._isHoriz?\\\"y\\\":\\\"x\\\":\\\"closest\\\";var n=!t._fullLayout.hovermode&&e;c.relayout(t,\\\"hovermode\\\",n)}function u(t){for(var e,r,n=t._fullLayout,i=f.list(t,null,!0),a={},o=0;o<i.length;o++)e=i[o],r=e._name,a[r+\\\".showspikes\\\"]=\\\"on\\\"===n._cartesianSpikesEnabled;return a}var c=t(\\\"../../plotly\\\"),h=t(\\\"../../plots/plots\\\"),f=t(\\\"../../plots/cartesian/axes\\\"),d=t(\\\"../../lib\\\"),p=t(\\\"../../snapshot/download\\\"),m=t(\\\"../../../build/ploticon\\\"),v=e.exports={};v.toImage={name:\\\"toImage\\\",title:\\\"Download plot as a png\\\",icon:m.camera,click:function(t){var e=\\\"png\\\";d.notifier(\\\"Taking snapshot - this may take a few seconds\\\",\\\"long\\\"),d.isIE()&&(d.notifier(\\\"IE only supports svg.  Changing format to svg.\\\",\\\"long\\\"),e=\\\"svg\\\"),p(t,{format:e}).then(function(t){d.notifier(\\\"Snapshot succeeded - \\\"+t,\\\"long\\\")}).catch(function(){d.notifier(\\\"Sorry there was a problem downloading your snapshot!\\\",\\\"long\\\")})}},v.sendDataToCloud={name:\\\"sendDataToCloud\\\",title:\\\"Save and edit plot in cloud\\\",icon:m.disk,click:function(t){h.sendDataToCloud(t)}},v.zoom2d={name:\\\"zoom2d\\\",title:\\\"Zoom\\\",attr:\\\"dragmode\\\",val:\\\"zoom\\\",icon:m.zoombox,click:n},v.pan2d={name:\\\"pan2d\\\",title:\\\"Pan\\\",attr:\\\"dragmode\\\",val:\\\"pan\\\",icon:m.pan,click:n},v.select2d={name:\\\"select2d\\\",title:\\\"Box Select\\\",attr:\\\"dragmode\\\",val:\\\"select\\\",icon:m.selectbox,click:n},v.lasso2d={name:\\\"lasso2d\\\",title:\\\"Lasso Select\\\",attr:\\\"dragmode\\\",val:\\\"lasso\\\",icon:m.lasso,click:n},v.zoomIn2d={name:\\\"zoomIn2d\\\",title:\\\"Zoom in\\\",attr:\\\"zoom\\\",val:\\\"in\\\",icon:m.zoom_plus,click:n},v.zoomOut2d={name:\\\"zoomOut2d\\\",title:\\\"Zoom out\\\",attr:\\\"zoom\\\",val:\\\"out\\\",icon:m.zoom_minus,click:n},v.autoScale2d={name:\\\"autoScale2d\\\",title:\\\"Autoscale\\\",attr:\\\"zoom\\\",val:\\\"auto\\\",icon:m.autoscale,click:n},v.resetScale2d={name:\\\"resetScale2d\\\",title:\\\"Reset axes\\\",attr:\\\"zoom\\\",val:\\\"reset\\\",icon:m.home,click:n},v.hoverClosestCartesian={name:\\\"hoverClosestCartesian\\\",title:\\\"Show closest data on hover\\\",attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:m.tooltip_basic,gravity:\\\"ne\\\",click:n},v.hoverCompareCartesian={name:\\\"hoverCompareCartesian\\\",title:\\\"Compare data on hover\\\",attr:\\\"hovermode\\\",val:function(t){return t._fullLayout._isHoriz?\\\"y\\\":\\\"x\\\"},icon:m.tooltip_compare,gravity:\\\"ne\\\",click:n},v.zoom3d={name:\\\"zoom3d\\\",title:\\\"Zoom\\\",attr:\\\"scene.dragmode\\\",val:\\\"zoom\\\",icon:m.zoombox,click:i},v.pan3d={name:\\\"pan3d\\\",title:\\\"Pan\\\",attr:\\\"scene.dragmode\\\",val:\\\"pan\\\",icon:m.pan,click:i},v.orbitRotation={name:\\\"orbitRotation\\\",title:\\\"orbital rotation\\\",attr:\\\"scene.dragmode\\\",val:\\\"orbit\\\",icon:m[\\\"3d_rotate\\\"],click:i},v.tableRotation={name:\\\"tableRotation\\\",title:\\\"turntable rotation\\\",attr:\\\"scene.dragmode\\\",val:\\\"turntable\\\",icon:m[\\\"z-axis\\\"],click:i},v.resetCameraDefault3d={name:\\\"resetCameraDefault3d\\\",title:\\\"Reset camera to default\\\",attr:\\\"resetDefault\\\",icon:m.home,click:a},v.resetCameraLastSave3d={name:\\\"resetCameraLastSave3d\\\",title:\\\"Reset camera to last save\\\",attr:\\\"resetLastSave\\\",icon:m.movie,click:a},v.hoverClosest3d={name:\\\"hoverClosest3d\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:o},v.zoomInGeo={name:\\\"zoomInGeo\\\",title:\\\"Zoom in\\\",attr:\\\"zoom\\\",val:\\\"in\\\",icon:m.zoom_plus,click:s},v.zoomOutGeo={name:\\\"zoomOutGeo\\\",title:\\\"Zoom out\\\",attr:\\\"zoom\\\",val:\\\"out\\\",icon:m.zoom_minus,click:s},v.resetGeo={name:\\\"resetGeo\\\",title:\\\"Reset\\\",attr:\\\"reset\\\",val:null,icon:m.autoscale,click:s},v.hoverClosestGeo={name:\\\"hoverClosestGeo\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:l},v.hoverClosestGl2d={name:\\\"hoverClosestGl2d\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:l},v.hoverClosestPie={name:\\\"hoverClosestPie\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:m.tooltip_basic,gravity:\\\"ne\\\",click:l},v.toggleHover={name:\\\"toggleHover\\\",title:\\\"Toggle show closest data on hover\\\",attr:\\\"hovermode\\\",val:null,toggle:!0,icon:m.tooltip_basic,gravity:\\\"ne\\\",click:function(t,e){l(t),o(t,e)}},v.resetViews={name:\\\"resetViews\\\",title:\\\"Reset views\\\",icon:m.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\\\"data-attr\\\",\\\"zoom\\\"),r.setAttribute(\\\"data-val\\\",\\\"reset\\\"),n(t,e),r.setAttribute(\\\"data-attr\\\",\\\"resetLastSave\\\"),a(t,e)}},v.toggleSpikelines={name:\\\"toggleSpikelines\\\",title:\\\"Toggle Spike Lines\\\",icon:m.spikeline,attr:\\\"_cartesianSpikesEnabled\\\",val:\\\"on\\\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\\\"closest\\\"===e.hovermode&&\\\"on\\\"===e._cartesianSpikesEnabled?\\\"off\\\":\\\"on\\\";var r=u(t);r.hovermode=\\\"closest\\\",c.relayout(t,r)}},v.resetViewMapbox={name:\\\"resetViewMapbox\\\",title:\\\"Reset view\\\",attr:\\\"reset\\\",icon:m.home,click:function(t){for(var e=t._fullLayout,r=h.getSubplotIds(e,\\\"mapbox\\\"),n={},i=0;i<r.length;i++)for(var a=r[i],o=e[a]._subplot,s=o.viewInitial,l=Object.keys(s),u=0;u<l.length;u++){var f=l[u];n[a+\\\".\\\"+f]=s[f]}c.relayout(t,n)}}},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":725,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/plots\\\":829,\\\"../../snapshot/download\\\":846}],663:[function(t,e,r){\\\"use strict\\\";r.manage=t(\\\"./manage\\\")},{\\\"./manage\\\":664}],664:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(f[i])}g.push(r)}var s=t._fullLayout,l=t._fullData,u=s._has(\\\"cartesian\\\"),c=s._has(\\\"gl3d\\\"),h=s._has(\\\"geo\\\"),d=s._has(\\\"pie\\\"),p=s._has(\\\"gl2d\\\"),m=s._has(\\\"ternary\\\"),v=s._has(\\\"mapbox\\\"),g=[];if(n([\\\"toImage\\\",\\\"sendDataToCloud\\\"]),(u||p||d||m)+h+c>1)return n([\\\"resetViews\\\",\\\"toggleHover\\\"]),o(g,r);c&&(n([\\\"zoom3d\\\",\\\"pan3d\\\",\\\"orbitRotation\\\",\\\"tableRotation\\\"]),n([\\\"resetCameraDefault3d\\\",\\\"resetCameraLastSave3d\\\"]),n([\\\"hoverClosest3d\\\"])),h&&(n([\\\"zoomInGeo\\\",\\\"zoomOutGeo\\\",\\\"resetGeo\\\"]),n([\\\"hoverClosestGeo\\\"]));var y=i(s),b=[];return((u||p)&&!y||m)&&(b=[\\\"zoom2d\\\",\\\"pan2d\\\"]),v&&(b=[\\\"pan2d\\\"]),a(l)&&(b.push(\\\"select2d\\\"),b.push(\\\"lasso2d\\\")),b.length&&n(b),!u&&!p||y||m||n([\\\"zoomIn2d\\\",\\\"zoomOut2d\\\",\\\"autoScale2d\\\",\\\"resetScale2d\\\"]),u&&d?n([\\\"toggleHover\\\"]):p?n([\\\"hoverClosestGl2d\\\"]):u?n([\\\"toggleSpikelines\\\",\\\"hoverClosestCartesian\\\",\\\"hoverCompareCartesian\\\"]):d?n([\\\"hoverClosestPie\\\"]):v&&n([\\\"resetViewMapbox\\\",\\\"toggleHover\\\"]),o(g,r)}function i(t){for(var e=l.list({_fullLayout:t},null,!0),r=!0,n=0;n<e.length;n++)if(!e[n].fixedrange){r=!1;break}return r}function a(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(c.traceIs(n,\\\"scatter-like\\\")?(u.hasMarkers(n)||u.hasText(n))&&(e=!0):e=!0)}return e}function o(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}function s(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\\\"string\\\"==typeof i){if(void 0===f[i])throw new Error([\\\"*modeBarButtons* configuration options\\\",\\\"invalid button name\\\"].join(\\\" \\\"));t[e][n]=f[i]}}return t}var l=t(\\\"../../plots/cartesian/axes\\\"),u=t(\\\"../../traces/scatter/subtypes\\\"),c=t(\\\"../../registry\\\"),h=t(\\\"./modebar\\\"),f=t(\\\"./buttons\\\");e.exports=function(t){var e=t._fullLayout,r=t._context,i=e._modeBar;if(!r.displayModeBar)return void(i&&(i.destroy(),delete e._modeBar));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 a,o=r.modeBarButtons;a=Array.isArray(o)&&o.length?s(o):n(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),i?i.update(t,a):e._modeBar=h(t,a)}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../../traces/scatter/subtypes\\\":1047,\\\"./buttons\\\":662,\\\"./modebar\\\":665}],665:[function(t,e,r){\\\"use strict\\\";function n(t){this.container=t.container,this.element=document.createElement(\\\"div\\\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}function i(t,e){var r=t._fullLayout,i=new n({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&a.select(i.element).append(\\\"span\\\").classed(\\\"badge-private float--left\\\",!0).text(\\\"PRIVATE\\\"),i}var a=t(\\\"d3\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../../build/ploticon\\\"),l=n.prototype;l.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\\\"hover\\\"===r.displayModeBar?this.element.className=\\\"modebar modebar--hover\\\":this.element.className=\\\"modebar\\\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},l.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 i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},l.createGroup=function(){var t=document.createElement(\\\"div\\\");return t.className=\\\"modebar-group\\\",t},l.createButton=function(t){var e=this,r=document.createElement(\\\"a\\\");r.setAttribute(\\\"rel\\\",\\\"tooltip\\\"),r.className=\\\"modebar-btn\\\";var n=t.title;void 0===n&&(n=t.name),(n||0===n)&&r.setAttribute(\\\"data-title\\\",n),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\\\");return r.addEventListener(\\\"click\\\",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(\\\"data-toggle\\\",t.toggle||!1),t.toggle&&a.select(r).classed(\\\"active\\\",!0),r.appendChild(this.createIcon(t.icon||s.question,t.name)),r.setAttribute(\\\"data-gravity\\\",t.gravity||\\\"n\\\"),r},l.createIcon=function(t,e){var r=t.ascent-t.descent,n=\\\"http://www.w3.org/2000/svg\\\",i=document.createElementNS(n,\\\"svg\\\"),a=document.createElementNS(n,\\\"path\\\");i.setAttribute(\\\"height\\\",\\\"1em\\\"),i.setAttribute(\\\"width\\\",t.width/r+\\\"em\\\"),i.setAttribute(\\\"viewBox\\\",[0,0,t.width,r].join(\\\" \\\"));var o=\\\"toggleSpikelines\\\"===e?\\\"matrix(1.5 0 0 -1.5 0 \\\"+t.ascent+\\\")\\\":\\\"matrix(1 0 0 -1 0 \\\"+t.ascent+\\\")\\\";return a.setAttribute(\\\"d\\\",t.path),a.setAttribute(\\\"transform\\\",o),i.appendChild(a),i},l.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\\\"data-attr\\\"):null;this.buttonElements.forEach(function(t){var n=t.getAttribute(\\\"data-val\\\")||!0,i=t.getAttribute(\\\"data-attr\\\"),s=\\\"true\\\"===t.getAttribute(\\\"data-toggle\\\"),l=a.select(t);if(s)i===r&&l.classed(\\\"active\\\",!l.classed(\\\"active\\\"));else{var u=null===i?i:o.nestedProperty(e,i).get();l.classed(\\\"active\\\",u===n)}})},l.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},l.getLogo=function(){var t=this.createGroup(),e=document.createElement(\\\"a\\\");return e.href=\\\"https://plot.ly/\\\",e.target=\\\"_blank\\\",e.setAttribute(\\\"data-title\\\",\\\"Produced with Plotly\\\"),e.className=\\\"modebar-btn plotlyjsicon modebar-btn--logo\\\",e.appendChild(this.createIcon(s.plotlylogo)),t.appendChild(e),t},l.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},l.destroy=function(){o.removeElement(this.container.querySelector(\\\".modebar\\\"))},e.exports=i},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":725,d3:121}],666:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"./button_attributes\\\");o=a(o,{_isLinkedToArray:\\\"button\\\"}),e.exports={visible:{valType:\\\"boolean\\\"},buttons:o,x:{valType:\\\"number\\\",min:-2,max:3},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\"},y:{valType:\\\"number\\\",min:-2,max:3},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"bottom\\\"},font:a({},n,{}),bgcolor:{valType:\\\"color\\\",dflt:i.lightLine},activecolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.defaultLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:0}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../color/attributes\\\":602,\\\"./button_attributes\\\":667}],667:[function(t,e,r){\\\"use strict\\\";e.exports={step:{valType:\\\"enumerated\\\",values:[\\\"month\\\",\\\"year\\\",\\\"day\\\",\\\"hour\\\",\\\"minute\\\",\\\"second\\\",\\\"all\\\"],dflt:\\\"month\\\"},stepmode:{valType:\\\"enumerated\\\",values:[\\\"backward\\\",\\\"todate\\\"],dflt:\\\"backward\\\"},count:{valType:\\\"number\\\",min:0,dflt:1},label:{valType:\\\"string\\\"}}},{}],668:[function(t,e,r){\\\"use strict\\\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],669:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t,e){return a.coerce(i,o,l,t,e)}for(var i,o,s=t.buttons||[],u=e.buttons=[],c=0;c<s.length;c++)if(i=s[c],o={},a.isPlainObject(i)){var h=n(\\\"step\\\");\\\"all\\\"!==h&&(!r||\\\"gregorian\\\"===r||\\\"month\\\"!==h&&\\\"year\\\"!==h?n(\\\"stepmode\\\"):o.stepmode=\\\"backward\\\",n(\\\"count\\\")),n(\\\"label\\\"),o._index=c,u.push(o)}return u}function i(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+u.yPad]}var a=t(\\\"../../lib\\\"),o=t(\\\"../color\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./button_attributes\\\"),u=t(\\\"./constants\\\");e.exports=function(t,e,r,l,c){function h(t,e){return a.coerce(f,d,s,t,e)}var f=t.rangeselector||{},d=e.rangeselector={};if(h(\\\"visible\\\",n(f,d,c).length>0)){var p=i(e,r,l);h(\\\"x\\\",p[0]),h(\\\"y\\\",p[1]),a.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),h(\\\"xanchor\\\"),h(\\\"yanchor\\\"),a.coerceFont(h,\\\"font\\\",r.font);var m=h(\\\"bgcolor\\\");h(\\\"activecolor\\\",o.contrast(m,u.lightAmount,u.darkAmount)),h(\\\"bordercolor\\\"),h(\\\"borderwidth\\\")}}},{\\\"../../lib\\\":725,\\\"../color\\\":603,\\\"./attributes\\\":666,\\\"./button_attributes\\\":667,\\\"./constants\\\":668}],670:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=g.list(t,\\\"x\\\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function i(t){return t._id}function a(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]]}function o(t,e,r){var n=t.selectAll(\\\"rect\\\").data([0]);n.enter().append(\\\"rect\\\").classed(\\\"selector-rect\\\",!0),n.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),n.attr({rx:x.rx,ry:x.ry}),n.call(p.stroke,e.bordercolor).call(p.fill,s(e,r)).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function s(t,e){return e.isActive||e.isHovered?t.activecolor:t.bgcolor}function l(t,e,r,n){function i(t){v.convertToTspans(t,n)}var a=t.selectAll(\\\"text\\\").data([0]);a.enter().append(\\\"text\\\").classed(\\\"selector-text\\\",!0).classed(\\\"user-select-none\\\",!0),a.attr(\\\"text-anchor\\\",\\\"middle\\\"),a.call(m.font,e.font).text(u(r)).call(i)}function u(t){return t.label?t.label:\\\"all\\\"===t.step?\\\"all\\\":t.count+t.step.charAt(0)}function c(t,e,r,n){r.width=0,r.height=0;var i=r.borderwidth;e.each(function(){var t=h.select(this),e=t.select(\\\".selector-text\\\"),n=r.font.size*b,i=Math.max(n*v.lineCount(e),16)+3;r.height=Math.max(r.height,i)}),e.each(function(){var t=h.select(this),e=t.select(\\\".selector-rect\\\"),n=t.select(\\\".selector-text\\\"),a=n.node()&&m.bBox(n.node()).width,o=r.font.size*b,s=v.lineCount(n),l=Math.max(a+10,x.minButtonWidth);t.attr(\\\"transform\\\",\\\"translate(\\\"+(i+r.width)+\\\",\\\"+i+\\\")\\\"),e.attr({x:0,y:0,width:l,height:r.height}),v.positionText(n,l/2,r.height/2-(s-1)*o/2+3),r.width+=l+5}),e.selectAll(\\\"rect\\\").attr(\\\"height\\\",r.height);var a=t._fullLayout._size;r.lx=a.l+a.w*r.x,r.ly=a.t+a.h*(1-r.y);var o=\\\"left\\\";y.isRightAnchor(r)&&(r.lx-=r.width,o=\\\"right\\\"),y.isCenterAnchor(r)&&(r.lx-=r.width/2,o=\\\"center\\\");var s=\\\"top\\\";y.isBottomAnchor(r)&&(r.ly-=r.height,s=\\\"bottom\\\"),y.isMiddleAnchor(r)&&(r.ly-=r.height/2,s=\\\"middle\\\"),r.width=Math.ceil(r.width),r.height=Math.ceil(r.height),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),d.autoMargin(t,n+\\\"-range-selector\\\",{x:r.x,y:r.y,l:r.width*({right:1,center:.5}[o]||0),r:r.width*({left:1,center:.5}[o]||0),b:r.height*({top:1,middle:.5}[s]||0),t:r.height*({bottom:1,middle:.5}[s]||0)})}var h=t(\\\"d3\\\"),f=t(\\\"../../plotly\\\"),d=t(\\\"../../plots/plots\\\"),p=t(\\\"../color\\\"),m=t(\\\"../drawing\\\"),v=t(\\\"../../lib/svg_text_utils\\\"),g=t(\\\"../../plots/cartesian/axis_ids\\\"),y=t(\\\"../legend/anchor_utils\\\"),b=t(\\\"../../constants/alignment\\\").LINE_SPACING,x=t(\\\"./constants\\\"),_=t(\\\"./get_update_object\\\");e.exports=function(t){var e=t._fullLayout,r=e._infolayer.selectAll(\\\".rangeselector\\\").data(n(t),i);r.enter().append(\\\"g\\\").classed(\\\"rangeselector\\\",!0),r.exit().remove(),r.style({cursor:\\\"pointer\\\",\\\"pointer-events\\\":\\\"all\\\"}),r.each(function(e){var r=h.select(this),n=e,i=n.rangeselector,s=r.selectAll(\\\"g.button\\\").data(i.buttons);s.enter().append(\\\"g\\\").classed(\\\"button\\\",!0),s.exit().remove(),s.each(function(e){var r=h.select(this),s=_(n,e);e.isActive=a(n,e,s),r.call(o,i,e),r.call(l,i,e,t),r.on(\\\"click\\\",function(){t._dragged||f.relayout(t,s)}),r.on(\\\"mouseover\\\",function(){e.isHovered=!0,r.call(o,i,e)}),r.on(\\\"mouseout\\\",function(){e.isHovered=!1,r.call(o,i,e)})}),c(t,s,i,n._name),r.attr(\\\"transform\\\",\\\"translate(\\\"+i.lx+\\\",\\\"+i.ly+\\\")\\\")})}},{\\\"../../constants/alignment\\\":699,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axis_ids\\\":769,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"../legend/anchor_utils\\\":653,\\\"./constants\\\":668,\\\"./get_update_object\\\":671,d3:121}],671:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n=t.range,a=new Date(t.r2l(n[1])),o=e.step,s=e.count;switch(e.stepmode){case\\\"backward\\\":r=t.l2r(+i.time[o].utc.offset(a,-s));break;case\\\"todate\\\":var l=i.time[o].utc.offset(a,-s);r=t.l2r(+i.time[o].utc.ceil(l))}return[r,n[1]]}var i=t(\\\"d3\\\");e.exports=function(t,e){var r=t._name,i={};if(\\\"all\\\"===e.step)i[r+\\\".autorange\\\"]=!0;else{var a=n(t,e);i[r+\\\".range[0]\\\"]=a[0],i[r+\\\".range[1]\\\"]=a[1]}return i}},{d3:121}],672:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"rangeselector\\\",schema:{layout:{\\\"xaxis.rangeselector\\\":t(\\\"./attributes\\\")}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),draw:t(\\\"./draw\\\")}},{\\\"./attributes\\\":666,\\\"./defaults\\\":669,\\\"./draw\\\":670}],673:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../color/attributes\\\");e.exports={bgcolor:{valType:\\\"color\\\",dflt:n.background},bordercolor:{valType:\\\"color\\\",dflt:n.defaultLine},borderwidth:{valType:\\\"integer\\\",dflt:0,min:0},autorange:{valType:\\\"boolean\\\",dflt:!0},range:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\"},{valType:\\\"any\\\"}]},thickness:{valType:\\\"number\\\",dflt:.15,min:0,max:1},visible:{valType:\\\"boolean\\\",dflt:!0}}},{\\\"../color/attributes\\\":602}],674:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"./constants\\\");e.exports=function(t){for(var e=n.list(t,\\\"x\\\",!0),r=0;r<e.length;r++){var a=e[r],o=a[i.name];o&&o.visible&&o.autorange&&a._min.length&&a._max.length&&(o._input.autorange=!0,o._input.range=o.range=n.getAutoRange(a))}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"./constants\\\":675}],675:[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\\\",maskColor:\\\"rgba(0,0,0,0.4)\\\",slideBoxFill:\\\"transparent\\\",slideBoxCursor:\\\"ew-resize\\\",grabAreaFill:\\\"transparent\\\",grabAreaCursor:\\\"col-resize\\\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],676:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){function a(t,e){return n.coerce(o,l,i,t,e)}if(t[r].rangeslider){n.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var o=t[r].rangeslider,s=e[r],l=s.rangeslider={};if(a(\\\"visible\\\")){if(a(\\\"bgcolor\\\",e.plot_bgcolor),a(\\\"bordercolor\\\"),a(\\\"borderwidth\\\"),a(\\\"thickness\\\"),a(\\\"autorange\\\",!s.isValidRange(o.range)),a(\\\"range\\\"),l.range){var u=l.range,c=s.range;u[0]=s.l2r(Math.min(s.r2l(u[0]),s.r2l(c[0]))),u[1]=s.l2r(Math.max(s.r2l(u[1]),s.r2l(c[1])))}s.cleanRange(\\\"rangeslider.range\\\"),l._input=o}}}},{\\\"../../lib\\\":725,\\\"./attributes\\\":673}],677:[function(t,e,r){\\\"use strict\\\";function n(t){var e=w.list({_fullLayout:t},\\\"x\\\",!0),r=A.name,n=[];if(t._has(\\\"gl2d\\\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}function i(t,e,r,n){var i=t.select(\\\"rect.\\\"+A.slideBoxClassName).node(),o=t.select(\\\"rect.\\\"+A.grabAreaMinClassName).node(),s=t.select(\\\"rect.\\\"+A.grabAreaMaxClassName).node();t.on(\\\"mousedown\\\",function(){function l(l){var u,c,y,b=+l.clientX-f;switch(h){case i:y=\\\"ew-resize\\\",u=p+b,c=v+b;break;case o:y=\\\"col-resize\\\",u=p+b,c=v;break;case s:y=\\\"col-resize\\\",u=p,c=v+b;break;default:y=\\\"ew-resize\\\",u=d,c=d+b}if(c<u){var x=c;c=u,u=x}n._pixelMin=u,n._pixelMax=c,k(m.select(g),y),a(t,e,r,n)}function u(){g.removeEventListener(\\\"mousemove\\\",l),g.removeEventListener(\\\"mouseup\\\",u),y.removeElement(g)}var c=m.event,h=c.target,f=c.clientX,d=f-t.node().getBoundingClientRect().left,p=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),g=M.coverSlip();g.addEventListener(\\\"mousemove\\\",l),g.addEventListener(\\\"mouseup\\\",u)})}function a(t,e,r,n){function i(t){return r.l2r(y.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){v.relayout(e,r._name+\\\".range\\\",[a,o])})}function o(t,e,r,n){function i(t){return y.constrain(t,0,n._width)}function a(t){return y.constrain(t,-o,n._width+o)}var o=A.handleWidth/2,s=i(n.d2p(r._rl[0])),l=i(n.d2p(r._rl[1]));t.select(\\\"rect.\\\"+A.slideBoxClassName).attr(\\\"x\\\",s).attr(\\\"width\\\",l-s),t.select(\\\"rect.\\\"+A.maskMinClassName).attr(\\\"width\\\",s),t.select(\\\"rect.\\\"+A.maskMaxClassName).attr(\\\"x\\\",l).attr(\\\"width\\\",n._width-l);var u=Math.round(a(s-o))-.5,c=Math.round(a(l-o))+.5;t.select(\\\"g.\\\"+A.grabberMinClassName).attr(\\\"transform\\\",\\\"translate(\\\"+u+\\\",0.5)\\\"),t.select(\\\"g.\\\"+A.grabberMaxClassName).attr(\\\"transform\\\",\\\"translate(\\\"+c+\\\",0.5)\\\")}function s(t,e,r,n){var i=t.selectAll(\\\"rect.\\\"+A.bgClassName).data([0]);i.enter().append(\\\"rect\\\").classed(A.bgClassName,!0).attr({x:0,y:0,\\\"shape-rendering\\\":\\\"crispEdges\\\"});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=b.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\\\"translate(\\\"+o+\\\",\\\"+o+\\\")\\\",fill:n.bgcolor,stroke:n.bordercolor,\\\"stroke-width\\\":s})}function l(t,e,r,n){\\n\",\n       \"var i=e._fullLayout,a=i._topdefs.selectAll(\\\"#\\\"+n._clipId).data([0]);a.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n._clipId).append(\\\"rect\\\").attr({x:0,y:0}),a.select(\\\"rect\\\").attr({width:n._width,height:n._height})}function u(t,e,r,n){var i=w.getSubplots(e,r),a=e.calcdata,o=t.selectAll(\\\"g.\\\"+A.rangePlotClassName).data(i,y.identity);o.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return A.rangePlotClassName+\\\" \\\"+t}).call(b.setClipUrl,n._clipId),o.order(),o.exit().remove();var s;o.each(function(t,i){var o=m.select(this),l=0===i,u=w.getFromId(e,t,\\\"y\\\"),h=u._name,f={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}}};f.layout[h]={type:u.type,domain:[0,1],range:u.range.slice(),calendar:u.calendar},g.supplyDefaults(f);var d=f._fullLayout.xaxis,p=f._fullLayout[h],v={id:t,plotgroup:o,xaxis:d,yaxis:p};l?s=v:(v.mainplot=\\\"xy\\\",v.mainplotinfo=s),_.rangePlot(e,v,c(a,t))})}function c(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}function h(t,e,r,n){var i=t.selectAll(\\\"rect.\\\"+A.maskMinClassName).data([0]);i.enter().append(\\\"rect\\\").classed(A.maskMinClassName,!0).attr({x:0,y:0}).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),i.attr(\\\"height\\\",n._height).call(x.fill,A.maskColor);var a=t.selectAll(\\\"rect.\\\"+A.maskMaxClassName).data([0]);a.enter().append(\\\"rect\\\").classed(A.maskMaxClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),a.attr(\\\"height\\\",n._height).call(x.fill,A.maskColor)}function f(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(\\\"rect.\\\"+A.slideBoxClassName).data([0]);i.enter().append(\\\"rect\\\").classed(A.slideBoxClassName,!0).attr(\\\"y\\\",0).attr(\\\"cursor\\\",A.slideBoxCursor).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),i.attr({height:n._height,fill:A.slideBoxFill})}}function d(t,e,r,n){var i=t.selectAll(\\\"g.\\\"+A.grabberMinClassName).data([0]);i.enter().append(\\\"g\\\").classed(A.grabberMinClassName,!0);var a=t.selectAll(\\\"g.\\\"+A.grabberMaxClassName).data([0]);a.enter().append(\\\"g\\\").classed(A.grabberMaxClassName,!0);var o={x:0,width:A.handleWidth,rx:A.handleRadius,fill:x.background,stroke:x.defaultLine,\\\"stroke-width\\\":A.handleStrokeWidth,\\\"shape-rendering\\\":\\\"crispEdges\\\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(\\\"rect.\\\"+A.handleMinClassName).data([0]);l.enter().append(\\\"rect\\\").classed(A.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\\\"rect.\\\"+A.handleMaxClassName).data([0]);if(u.enter().append(\\\"rect\\\").classed(A.handleMaxClassName,!0).attr(o),u.attr(s),!e._context.staticPlot){var c={width:A.grabAreaWidth,x:0,y:0,fill:A.grabAreaFill,cursor:A.grabAreaCursor},h=i.selectAll(\\\"rect.\\\"+A.grabAreaMinClassName).data([0]);h.enter().append(\\\"rect\\\").classed(A.grabAreaMinClassName,!0).attr(c),h.attr(\\\"height\\\",n._height);var f=a.selectAll(\\\"rect.\\\"+A.grabAreaMaxClassName).data([0]);f.enter().append(\\\"rect\\\").classed(A.grabAreaMaxClassName,!0).attr(c),f.attr(\\\"height\\\",n._height)}}function p(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(A.name)&&g.autoMargin(t,i)}}var m=t(\\\"d3\\\"),v=t(\\\"../../plotly\\\"),g=t(\\\"../../plots/plots\\\"),y=t(\\\"../../lib\\\"),b=t(\\\"../drawing\\\"),x=t(\\\"../color\\\"),_=t(\\\"../../plots/cartesian\\\"),w=t(\\\"../../plots/cartesian/axes\\\"),M=t(\\\"../dragelement\\\"),k=t(\\\"../../lib/setcursor\\\"),A=t(\\\"./constants\\\");e.exports=function(t){function e(t){return t._name}var r=t._fullLayout,a=n(r),c=r._infolayer.selectAll(\\\"g.\\\"+A.containerClassName).data(a,e);c.enter().append(\\\"g\\\").classed(A.containerClassName,!0).attr(\\\"pointer-events\\\",\\\"all\\\"),c.exit().each(function(t){var e=m.select(this),n=t[A.name];e.remove(),r._topdefs.select(\\\"#\\\"+n._clipId).remove()}),c.exit().size()&&p(t),0!==a.length&&c.each(function(e){var n=m.select(this),a=e[A.name],c=r[w.id2name(e.anchor)],p=r.margin,v=r._size,y=e.domain,b=c.domain,x=(e._boundingBox||{}).height||0;a._id=A.name+e._id,a._clipId=a._id+\\\"-\\\"+r._uid,a._width=v.w*(y[1]-y[0]),a._height=(r.height-p.b-p.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var _=Math.round(p.l+v.w*y[0]),M=Math.round(p.t+v.h*(1-b[0])+x+a._offsetShift+A.extraPad);n.attr(\\\"transform\\\",\\\"translate(\\\"+_+\\\",\\\"+M+\\\")\\\");var k=e.r2l(a.range[0]),T=e.r2l(a.range[1]),S=T-k;a.p2d=function(t){return t/a._width*S+k},a.d2p=function(t){return(t-k)/S*a._width},a._rl=[k,T],n.call(s,t,e,a).call(l,t,e,a).call(u,t,e,a).call(h,t,e,a).call(f,t,e,a).call(d,t,e,a),i(n,t,e,a),o(n,t,e,a),g.autoMargin(t,a._id,{x:y[0],y:b[0],l:0,r:0,t:0,b:a._height+p.b+x,pad:A.extraPad+2*a._offsetShift})})}},{\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../plotly\\\":761,\\\"../../plots/cartesian\\\":776,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./constants\\\":675,d3:121}],678:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"component\\\",name:\\\"rangeslider\\\",schema:{layout:{\\\"xaxis.rangeslider\\\":t(\\\"./attributes\\\")}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:t(\\\"./draw\\\")}},{\\\"./attributes\\\":673,\\\"./calc_autorange\\\":674,\\\"./defaults\\\":676,\\\"./draw\\\":677}],679:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\"),i=t(\\\"../../traces/scatter/attributes\\\").line,a=t(\\\"../drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={_isLinkedToArray:\\\"shape\\\",visible:{valType:\\\"boolean\\\",dflt:!0},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"rect\\\",\\\"path\\\",\\\"line\\\"]},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\"},xref:o({},n.xref,{}),x0:{valType:\\\"any\\\"},x1:{valType:\\\"any\\\"},yref:o({},n.yref,{}),y0:{valType:\\\"any\\\"},y1:{valType:\\\"any\\\"},path:{valType:\\\"string\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},line:{color:i.color,width:i.width,dash:a},fillcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"}}},{\\\"../../lib/extend\\\":716,\\\"../../traces/scatter/attributes\\\":1027,\\\"../annotations/attributes\\\":586,\\\"../drawing/attributes\\\":626}],680:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=\\\"category\\\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var l,u,c,h,f,d=1/0,p=-1/0,m=n.match(o.segmentRE);for(\\\"date\\\"===t.type&&(a=s.decodeDate(a)),l=0;l<m.length;l++)u=m[l],void 0!==(c=i[u.charAt(0)].drawn)&&(!(h=m[l].substr(1).match(o.paramRE))||h.length<c||(f=a(h[c]),f<d&&(d=f),f>p&&(p=f)));return p>=d?[d,p]:void 0}}var i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"./constants\\\"),s=t(\\\"./helpers\\\");e.exports=function(t){var e=t._fullLayout,r=i.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var s=0;s<r.length;s++){var l,u,c=r[s],h=c.line.width/2;\\\"paper\\\"!==c.xref&&(l=a.getFromId(t,c.xref),(u=n(l,c.x0,c.x1,c.path,o.paramIsX))&&a.expand(l,u,{ppad:h})),\\\"paper\\\"!==c.yref&&(l=a.getFromId(t,c.yref),(u=n(l,c.y0,c.y1,c.path,o.paramIsY))&&a.expand(l,u,{ppad:h}))}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./constants\\\":681,\\\"./helpers\\\":684}],681:[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}}},{}],682:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./shape_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"shapes\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":763,\\\"./shape_defaults\\\":686}],683:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(\\\"path\\\").remove(),e._shapeLowerLayer.selectAll(\\\"path\\\").remove(),e._shapeSubplotLayers.selectAll(\\\"path\\\").remove();for(var r=0;r<e.shapes.length;r++)e.shapes[r].visible&&i(t,r)}function i(t,e){function r(r){var n={\\\"data-index\\\":e,\\\"fill-rule\\\":\\\"evenodd\\\",d:o(t,i)},s=i.line.width?i.line.color:\\\"rgba(0,0,0,0)\\\",l=r.append(\\\"path\\\").attr(n).style(\\\"opacity\\\",i.opacity).call(f.stroke,s).call(f.fill,i.fillcolor).call(d.dashLine,i.line.dash,i.line.width),u=(i.xref+i.yref).replace(/paper/g,\\\"\\\");l.call(d.setClipUrl,u?\\\"clip\\\"+t._fullLayout._uid+u:null),t._context.edits.shapePosition&&a(t,l,i,e)}t._fullLayout._paper.selectAll('.shapelayer [data-index=\\\"'+e+'\\\"]').remove();var n=(t.layout.shapes||[])[e],i=t._fullLayout.shapes[e];if(n&&!1!==i.visible)if(\\\"below\\\"!==i.layer)r(t._fullLayout._shapeUpperLayer);else if(\\\"paper\\\"===i.xref||\\\"paper\\\"===i.yref)r(t._fullLayout._shapeLowerLayer);else{var s=t._fullLayout._plots[i.xref+i.yref];if(s){var l=s.mainplot||s;r(l.shapelayer)}else r(t._fullLayout._shapeLowerLayer)}}function a(t,e,r,n){function i(t){var r=Z.right-Z.left,n=Z.bottom-Z.top,i=t.clientX-Z.left,a=t.clientY-Z.top,o=r>Y&&n>X&&!t.shiftKey?p.getCursor(i/r,1-a/n):\\\"move\\\";m(e,o),G=o.split(\\\"-\\\")[0]}function a(e){N=h.getFromId(t,r.xref),B=h.getFromId(t,r.yref),U=g.getDataToPixel(t,N),V=g.getDataToPixel(t,B,!0),H=g.getPixelToData(t,N),q=g.getPixelToData(t,B,!0);var a=\\\"shapes[\\\"+n+\\\"]\\\";\\\"path\\\"===r.type?(F=r.path,j=a+\\\".path\\\"):(v=U(r.x0),y=V(r.y0),b=U(r.x1),x=V(r.y1),_=a+\\\".x0\\\",w=a+\\\".y0\\\",M=a+\\\".x1\\\",k=a+\\\".y1\\\"),v<b?(S=v,z=a+\\\".x0\\\",O=\\\"x0\\\",E=b,I=a+\\\".x1\\\",R=\\\"x1\\\"):(S=b,z=a+\\\".x1\\\",O=\\\"x1\\\",E=v,I=a+\\\".x0\\\",R=\\\"x0\\\"),y<x?(A=y,L=a+\\\".y0\\\",D=\\\"y0\\\",T=x,C=a+\\\".y1\\\",P=\\\"y1\\\"):(A=x,L=a+\\\".y1\\\",D=\\\"y1\\\",T=y,C=a+\\\".y0\\\",P=\\\"y0\\\"),d={},i(e),W.moveFn=\\\"move\\\"===G?c:f}function s(r){m(e),r&&u.relayout(t,d)}function c(n,i){if(\\\"path\\\"===r.type){var a=function(t){return H(U(t)+n)};N&&\\\"date\\\"===N.type&&(a=g.encodeDate(a));var s=function(t){return q(V(t)+i)};B&&\\\"date\\\"===B.type&&(s=g.encodeDate(s)),r.path=l(F,a,s),d[j]=r.path}else d[_]=r.x0=H(v+n),d[w]=r.y0=q(y+i),d[M]=r.x1=H(b+n),d[k]=r.y1=q(x+i);e.attr(\\\"d\\\",o(t,r))}function f(n,i){if(\\\"path\\\"===r.type){var a=function(t){return H(U(t)+n)};N&&\\\"date\\\"===N.type&&(a=g.encodeDate(a));var s=function(t){return q(V(t)+i)};B&&\\\"date\\\"===B.type&&(s=g.encodeDate(s)),r.path=l(F,a,s),d[j]=r.path}else{var u=~G.indexOf(\\\"n\\\")?A+i:A,c=~G.indexOf(\\\"s\\\")?T+i:T,h=~G.indexOf(\\\"w\\\")?S+n:S,f=~G.indexOf(\\\"e\\\")?E+n:E;c-u>X&&(d[L]=r[D]=q(u),d[C]=r[P]=q(c)),f-h>Y&&(d[z]=r[O]=H(h),d[I]=r[R]=H(f))}e.attr(\\\"d\\\",o(t,r))}var d,v,y,b,x,_,w,M,k,A,T,S,E,L,C,z,I,D,P,O,R,F,j,N,B,U,V,H,q,G,Y=10,X=10,W={element:e.node(),gd:t,prepFn:a,doneFn:s},Z=W.element.getBoundingClientRect();p.init(W),e.node().onmousemove=i}function o(t,e){var r,n,i,a,o=e.type,l=h.getFromId(t,e.xref),u=h.getFromId(t,e.yref),c=t._fullLayout._size;if(l?(r=g.shapePositionToRange(l),n=function(t){return l._offset+l.r2p(r(t,!0))}):n=function(t){return c.l+c.w*t},u?(i=g.shapePositionToRange(u),a=function(t){return u._offset+u.r2p(i(t,!0))}):a=function(t){return c.t+c.h*(1-t)},\\\"path\\\"===o)return l&&\\\"date\\\"===l.type&&(n=g.decodeDate(n)),u&&\\\"date\\\"===u.type&&(a=g.decodeDate(a)),s(e.path,n,a);var f=n(e.x0),d=n(e.x1),p=a(e.y0),m=a(e.y1);if(\\\"line\\\"===o)return\\\"M\\\"+f+\\\",\\\"+p+\\\"L\\\"+d+\\\",\\\"+m;if(\\\"rect\\\"===o)return\\\"M\\\"+f+\\\",\\\"+p+\\\"H\\\"+d+\\\"V\\\"+m+\\\"H\\\"+f+\\\"Z\\\";var v=(f+d)/2,y=(p+m)/2,b=Math.abs(v-f),x=Math.abs(y-p),_=\\\"A\\\"+b+\\\",\\\"+x,w=v+b+\\\",\\\"+y;return\\\"M\\\"+w+_+\\\" 0 1,1 \\\"+v+\\\",\\\"+(y-x)+_+\\\" 0 0,1 \\\"+w+\\\"Z\\\"}function s(t,e,r){return t.replace(v.segmentRE,function(t){var n=0,i=t.charAt(0),a=v.paramIsX[i],o=v.paramIsY[i],s=v.numParams[i],l=t.substr(1).replace(v.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),n++,n>s&&(t=\\\"X\\\"),t});return n>s&&(l=l.replace(/[\\\\s,]*X.*/,\\\"\\\"),c.log(\\\"Ignoring extra params in segment \\\"+t)),i+l})}function l(t,e,r){return t.replace(v.segmentRE,function(t){var n=0,i=t.charAt(0),a=v.paramIsX[i],o=v.paramIsY[i],s=v.numParams[i];return i+t.substr(1).replace(v.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}var u=t(\\\"../../plotly\\\"),c=t(\\\"../../lib\\\"),h=t(\\\"../../plots/cartesian/axes\\\"),f=t(\\\"../color\\\"),d=t(\\\"../drawing\\\"),p=t(\\\"../dragelement\\\"),m=t(\\\"../../lib/setcursor\\\"),v=t(\\\"./constants\\\"),g=t(\\\"./helpers\\\");e.exports={draw:n,drawOne:i}},{\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../plotly\\\":761,\\\"../../plots/cartesian/axes\\\":766,\\\"../color\\\":603,\\\"../dragelement\\\":624,\\\"../drawing\\\":627,\\\"./constants\\\":681,\\\"./helpers\\\":684}],684:[function(t,e,r){\\\"use strict\\\";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.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\\\"date\\\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],685:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\");e.exports={moduleType:\\\"component\\\",name:\\\"shapes\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:n.draw,drawOne:n.drawOne}},{\\\"./attributes\\\":679,\\\"./calc_autorange\\\":680,\\\"./defaults\\\":682,\\\"./draw\\\":683}],686:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./helpers\\\");e.exports=function(t,e,r,s,l){function u(r,i){return n.coerce(t,e,a,r,i)}if(s=s||{},l=l||{},!u(\\\"visible\\\",!l.itemIsNotPlainObject))return e;u(\\\"layer\\\"),u(\\\"opacity\\\"),u(\\\"fillcolor\\\"),u(\\\"line.color\\\"),u(\\\"line.width\\\"),u(\\\"line.dash\\\");for(var c=t.path?\\\"path\\\":\\\"rect\\\",h=u(\\\"type\\\",c),f=[\\\"x\\\",\\\"y\\\"],d=0;d<2;d++){var p=f[d],m={_fullLayout:r},v=i.coerceRef(t,e,m,p,\\\"\\\",\\\"paper\\\");if(\\\"path\\\"!==h){var g,y,b;\\\"paper\\\"!==v?(g=i.getFromId(m,v),b=o.rangeToShapePosition(g),y=o.shapePositionToRange(g)):y=b=n.identity;var x=p+\\\"0\\\",_=p+\\\"1\\\",w=t[x],M=t[_];t[x]=y(t[x],!0),t[_]=y(t[_],!0),i.coercePosition(e,m,u,v,x,.25),i.coercePosition(e,m,u,v,_,.75),e[x]=b(e[x]),e[_]=b(e[_]),t[x]=w,t[_]=M}}return\\\"path\\\"===h?u(\\\"path\\\"):n.noneOrAll(t,e,[\\\"x0\\\",\\\"x1\\\",\\\"y0\\\",\\\"y1\\\"]),e}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":679,\\\"./helpers\\\":684}],687:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../plots/pad_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"../../lib/extend\\\").extendDeep,s=t(\\\"../../plots/animation_attributes\\\"),l=t(\\\"./constants\\\"),u={_isLinkedToArray:\\\"step\\\",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={_isLinkedToArray:\\\"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:o({},i,{},{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:a({},n,{})},font:a({},n,{}),activebgcolor:{valType:\\\"color\\\",dflt:l.gripBgActiveColor},bgcolor:{valType:\\\"color\\\",dflt:l.railBgColor},bordercolor:{valType:\\\"color\\\",dflt:l.railBorderColor},borderwidth:{valType:\\\"number\\\",min:0,dflt:l.railBorderWidth},ticklen:{valType:\\\"number\\\",min:0,dflt:l.tickLength},tickcolor:{valType:\\\"color\\\",dflt:l.tickColor},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},minorticklen:{valType:\\\"number\\\",min:0,dflt:l.minorTickLength}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/animation_attributes\\\":762,\\\"../../plots/font_attributes\\\":790,\\\"../../plots/pad_attributes\\\":828,\\\"./constants\\\":688}],688:[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}},{}],689:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}n(\\\"visible\\\",i(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"x\\\"),n(\\\"y\\\"),a.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"len\\\"),n(\\\"lenmode\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),a.coerceFont(n,\\\"font\\\",r.font),n(\\\"currentvalue.visible\\\")&&(n(\\\"currentvalue.xanchor\\\"),n(\\\"currentvalue.prefix\\\"),n(\\\"currentvalue.suffix\\\"),n(\\\"currentvalue.offset\\\"),a.coerceFont(n,\\\"currentvalue.font\\\",e.font)),n(\\\"transition.duration\\\"),n(\\\"transition.easing\\\"),n(\\\"bgcolor\\\"),n(\\\"activebgcolor\\\"),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"),n(\\\"ticklen\\\"),n(\\\"tickwidth\\\"),n(\\\"tickcolor\\\"),n(\\\"minorticklen\\\"))}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.steps||[],s=e.steps=[],l=0;l<o.length;l++)n=o[l],i={},r(\\\"method\\\"),a.isPlainObject(n)&&(\\\"skip\\\"===i.method||Array.isArray(n.args))&&(r(\\\"args\\\"),r(\\\"label\\\",\\\"step-\\\"+l),r(\\\"value\\\",i.label),r(\\\"execute\\\"),s.push(i));return s}var a=t(\\\"../../lib\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./constants\\\"),u=l.name,c=s.steps;e.exports=function(t,e){o(t,e,{name:u,handleItemDefaults:n})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"./attributes\\\":687,\\\"./constants\\\":688}],690:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=t[E.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a.gd=e,n.push(a))}return n}function i(t){return t._index}function a(t,e){var r=A.tester.selectAll(\\\"g.\\\"+E.labelGroupClass).data(e.steps);r.enter().append(\\\"g\\\").classed(E.labelGroupClass,!0);var n=0,i=0;r.each(function(t){var r=w.select(this),a=u(r,{step:t},e),o=a.node();if(o){var s=A.bBox(o);i=Math.max(i,s.height),n=Math.max(n,s.width)}}),r.remove(),e.inputAreaWidth=Math.max(E.railWidth,E.gripHeight);var a=t._fullLayout._size;e.lx=a.l+a.w*e.x,e.ly=a.t+a.h*(1-e.y),\\\"fraction\\\"===e.lenmode?e.outerLength=Math.round(a.w*e.len):e.outerLength=e.len,e.lenPad=Math.round(.5*E.gripWidth),e.inputAreaStart=0,e.inputAreaLength=Math.round(e.outerLength-e.pad.l-e.pad.r);var o=e.inputAreaLength-2*E.stepInset,l=o/(e.steps.length-1),c=n+E.labelPadding;if(e.labelStride=Math.max(1,Math.ceil(c/l)),e.labelHeight=i,e.currentValueMaxWidth=0,e.currentValueHeight=0,e.currentValueTotalHeight=0,e.currentValueMaxLines=1,e.currentvalue.visible){var h=A.tester.append(\\\"g\\\");r.each(function(t){var r=s(h,e,t.label),n=r.node()&&A.bBox(r.node())||{width:0,height:0},i=T.lineCount(r);e.currentValueMaxWidth=Math.max(e.currentValueMaxWidth,Math.ceil(n.width)),e.currentValueHeight=Math.max(e.currentValueHeight,Math.ceil(n.height)),e.currentValueMaxLines=Math.max(e.currentValueMaxLines,i)}),e.currentValueTotalHeight=e.currentValueHeight+e.currentvalue.offset,h.remove()}e.height=e.currentValueTotalHeight+E.tickOffset+e.ticklen+E.labelOffset+e.labelHeight+e.pad.t+e.pad.b;var f=\\\"left\\\";S.isRightAnchor(e)&&(e.lx-=e.outerLength,f=\\\"right\\\"),S.isCenterAnchor(e)&&(e.lx-=e.outerLength/2,f=\\\"center\\\");var d=\\\"top\\\";S.isBottomAnchor(e)&&(e.ly-=e.height,d=\\\"bottom\\\"),S.isMiddleAnchor(e)&&(e.ly-=e.height/2,d=\\\"middle\\\"),e.outerLength=Math.ceil(e.outerLength),e.height=Math.ceil(e.height),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),M.autoMargin(t,E.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:e.outerLength*({right:1,center:.5}[f]||0),r:e.outerLength*({left:1,center:.5}[f]||0),b:e.height*({top:1,middle:.5}[d]||0),t:e.height*({bottom:1,middle:.5}[d]||0)})}function o(t,e,r){r.active>=r.steps.length&&(r.active=0),e.call(s,r).call(x,r).call(c,r).call(p,r).call(b,t,r).call(l,t,r),A.setTranslate(e,r.lx+r.pad.l,r.ly+r.pad.t),e.call(v,r,r.active/(r.steps.length-1),!1),e.call(s,r)}function s(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\\\"text\\\").data([0]);switch(e.currentvalue.xanchor){case\\\"right\\\":n=e.inputAreaLength-E.currentValueInset-e.currentValueMaxWidth,i=\\\"left\\\";break;case\\\"center\\\":n=.5*e.inputAreaLength,i=\\\"middle\\\";break;default:n=E.currentValueInset,i=\\\"left\\\"}a.enter().append(\\\"text\\\").classed(E.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":i,\\\"data-notex\\\":1});var o=e.currentvalue.prefix?e.currentvalue.prefix:\\\"\\\";if(\\\"string\\\"==typeof r)o+=r;else{o+=e.steps[e.active].label}e.currentvalue.suffix&&(o+=e.currentvalue.suffix),a.call(A.font,e.currentvalue.font).text(o).call(T.convertToTspans,e.gd);var s=T.lineCount(a),l=(e.currentValueMaxLines+1-s)*e.currentvalue.font.size*L;return T.positionText(a,n,l),a}}function l(t,e,r){var n=t.selectAll(\\\"rect.\\\"+E.gripRectClass).data([0]);n.enter().append(\\\"rect\\\").classed(E.gripRectClass,!0).call(d,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:E.gripWidth,height:E.gripHeight,rx:E.gripRadius,ry:E.gripRadius}).call(k.stroke,r.bordercolor).call(k.fill,r.bgcolor).style(\\\"stroke-width\\\",r.borderwidth+\\\"px\\\")}function u(t,e,r){var n=t.selectAll(\\\"text\\\").data([0]);return n.enter().append(\\\"text\\\").classed(E.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}),n.call(A.font,r.font).text(e.step.label).call(T.convertToTspans,r.gd),n}function c(t,e){var r=t.selectAll(\\\"g.\\\"+E.labelsClass).data([0]);r.enter().append(\\\"g\\\").classed(E.labelsClass,!0);var n=r.selectAll(\\\"g.\\\"+E.labelGroupClass).data(e.labelSteps);n.enter().append(\\\"g\\\").classed(E.labelGroupClass,!0),n.exit().remove(),n.each(function(t){var r=w.select(this);r.call(u,t,e),A.setTranslate(r,g(e,t.fraction),E.tickOffset+e.ticklen+e.font.size*L+E.labelOffset+e.currentValueTotalHeight)})}function h(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&f(t,e,r,a,!0,i)}function f(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(v,r,r.active/(r.steps.length-1),a),e.call(s,r),t.emit(\\\"plotly_sliderchange\\\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:l,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&M.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function d(t,e,r){function n(){return r.data()[0]}var i=r.node(),a=w.select(e);t.on(\\\"mousedown\\\",function(){var t=n();e.emit(\\\"plotly_sliderstart\\\",{slider:t});var o=r.select(\\\".\\\"+E.gripRectClass);w.event.stopPropagation(),w.event.preventDefault(),o.call(k.fill,t.activebgcolor);var s=y(t,w.mouse(i)[0]);h(e,r,t,s,!0),t._dragging=!0,a.on(\\\"mousemove\\\",function(){var t=n(),a=y(t,w.mouse(i)[0]);h(e,r,t,a,!1)}),a.on(\\\"mouseup\\\",function(){var t=n();t._dragging=!1,o.call(k.fill,t.bgcolor),a.on(\\\"mouseup\\\",null),a.on(\\\"mousemove\\\",null),e.emit(\\\"plotly_sliderend\\\",{slider:t,step:t.steps[t.active]})})})}function p(t,e){var r=t.selectAll(\\\"rect.\\\"+E.tickRectClass).data(e.steps);r.enter().append(\\\"rect\\\").classed(E.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\\\"px\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),r.each(function(t,r){var n=r%e.labelStride==0,i=w.select(this);i.attr({height:n?e.ticklen:e.minorticklen}).call(k.fill,e.tickcolor),A.setTranslate(i,g(e,r/(e.steps.length-1))-.5*e.tickwidth,(n?E.tickOffset:E.minorTickOffset)+e.currentValueTotalHeight)})}function m(t){t.labelSteps=[];for(var e=t.steps.length,r=0;r<e;r+=t.labelStride)t.labelSteps.push({fraction:r/(e-1),step:t.steps[r]})}function v(t,e,r,n){var i=t.select(\\\"rect.\\\"+E.gripRectClass),a=g(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\\\"transform\\\",\\\"translate(\\\"+(a-.5*E.gripWidth)+\\\",\\\"+e.currentValueTotalHeight+\\\")\\\")}}function g(t,e){return t.inputAreaStart+E.stepInset+(t.inputAreaLength-2*E.stepInset)*Math.min(1,Math.max(0,e))}function y(t,e){return Math.min(1,Math.max(0,(e-E.stepInset-t.inputAreaStart)/(t.inputAreaLength-2*E.stepInset-2*t.inputAreaStart)))}function b(t,e,r){var n=t.selectAll(\\\"rect.\\\"+E.railTouchRectClass).data([0]);n.enter().append(\\\"rect\\\").classed(E.railTouchRectClass,!0).call(d,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:r.inputAreaLength,height:Math.max(r.inputAreaWidth,E.tickOffset+r.ticklen+r.labelHeight)}).call(k.fill,r.bgcolor).attr(\\\"opacity\\\",0),A.setTranslate(n,0,r.currentValueTotalHeight)}function x(t,e){var r=t.selectAll(\\\"rect.\\\"+E.railRectClass).data([0]);r.enter().append(\\\"rect\\\").classed(E.railRectClass,!0);var n=e.inputAreaLength-2*E.railInset;r.attr({width:n,height:E.railWidth,rx:E.railRadius,ry:E.railRadius,\\\"shape-rendering\\\":\\\"crispEdges\\\"}).call(k.stroke,e.bordercolor).call(k.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\"),A.setTranslate(r,E.railInset,.5*(e.inputAreaWidth-E.railWidth)+e.currentValueTotalHeight)}function _(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(E.autoMarginIdRoot)&&M.autoMargin(t,i)}}var w=t(\\\"d3\\\"),M=t(\\\"../../plots/plots\\\"),k=t(\\\"../color\\\"),A=t(\\\"../drawing\\\"),T=t(\\\"../../lib/svg_text_utils\\\"),S=t(\\\"../legend/anchor_utils\\\"),E=t(\\\"./constants\\\"),L=t(\\\"../../constants/alignment\\\").LINE_SPACING;e.exports=function(t){var e=t._fullLayout,r=n(e,t),s=e._infolayer.selectAll(\\\"g.\\\"+E.containerClassName).data(r.length>0?[0]:[]);if(s.enter().append(\\\"g\\\").classed(E.containerClassName,!0).style(\\\"cursor\\\",\\\"ew-resize\\\"),s.exit().remove(),s.exit().size()&&_(t),0!==r.length){var l=s.selectAll(\\\"g.\\\"+E.groupClassName).data(r,i);l.enter().append(\\\"g\\\").classed(E.groupClassName,!0),l.exit().each(function(e){w.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,M.autoMargin(t,E.autoMarginIdRoot+e._index)});for(var u=0;u<r.length;u++){var c=r[u];a(t,c)}l.each(function(e){if(!(e.steps.length<2)){var r=w.select(this);m(e),M.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||f(t,r,n,e.index,!1,!0))}),o(t,w.select(this),e)}})}}},{\\\"../../constants/alignment\\\":699,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"../legend/anchor_utils\\\":653,\\\"./constants\\\":688,d3:121}],691:[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\\\":687,\\\"./constants\\\":688,\\\"./defaults\\\":689,\\\"./draw\\\":690}],692:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../plotly\\\"),o=t(\\\"../../plots/plots\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../drawing\\\"),u=t(\\\"../color\\\"),c=t(\\\"../../lib/svg_text_utils\\\"),h=t(\\\"../../constants/interactions\\\"),f=/Click to enter .+ title/;(e.exports={}).draw=function(t,e,r){function d(t){s.syncOrAsync([p,m],t)}function p(e){return e.attr(\\\"transform\\\",M?\\\"rotate(\\\"+[M.rotate,w.x,w.y]+\\\") translate(0, \\\"+M.offset+\\\")\\\":null),e.style({\\\"font-family\\\":T,\\\"font-size\\\":n.round(S,2)+\\\"px\\\",fill:u.rgb(E),opacity:L*u.opacity(E),\\\"font-weight\\\":o.fontWeight}).attr(w).call(c.convertToTspans,t),o.previousPromises(t)}function m(t){var e=n.select(t.node().parentNode);if(_&&_.selection&&_.side&&z){e.attr(\\\"transform\\\",null);var r=0,a={left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}[_.side],o=-1!==[\\\"left\\\",\\\"top\\\"].indexOf(_.side)?-1:1,u=i(_.pad)?_.pad:2,c=l.bBox(e.node()),h={left:0,top:0,right:A.width,bottom:A.height},f=_.maxShift||(h[_.side]-c[_.side])*(\\\"left\\\"===_.side||\\\"top\\\"===_.side?-1:1);if(f<0)r=f;else{var d=_.offsetLeft||0,p=_.offsetTop||0;c.left-=d,c.right-=d,c.top-=p,c.bottom-=p,_.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(c,t,u)&&(r=Math.max(r,o*(t[_.side]-c[a])+u))}),r=Math.min(f,r)}if(r>0||f<0){var m={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[_.side];e.attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\")\\\")}}}var v,g=r.propContainer,y=r.propName,b=r.traceIndex,x=r.dfltName,_=r.avoid||{},w=r.attributes,M=r.transform,k=r.containerGroup,A=t._fullLayout,T=g.titlefont.family,S=g.titlefont.size,E=g.titlefont.color,L=1,C=!1,z=g.title.trim();\\\"title\\\"===y?v=\\\"titleText\\\":-1!==y.indexOf(\\\"axis\\\")?v=\\\"axisTitleText\\\":y.indexOf(!0)&&(v=\\\"colorbarTitleText\\\");var I=t._context.edits[v];\\\"\\\"===z&&(L=0),z.match(f)&&(L=.2,C=!0,I||(z=\\\"\\\"));var D=z||I;k||(k=A._infolayer.selectAll(\\\".g-\\\"+e).data([0]),k.enter().append(\\\"g\\\").classed(\\\"g-\\\"+e,!0));var P=k.selectAll(\\\"text\\\").data(D?[0]:[]);if(P.enter().append(\\\"text\\\"),P.text(z).attr(\\\"class\\\",e),P.exit().remove(),D){P.call(d);var O=\\\"Click to enter \\\"+x+\\\" title\\\";I&&(z?P.on(\\\".opacity\\\",null):function(){L=0,C=!0,z=O,P.text(z).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)})}(),P.call(c.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){void 0!==b?a.restyle(t,y,e,b):a.relayout(t,y,e)}).on(\\\"cancel\\\",function(){this.text(this.attr(\\\"data-unformatted\\\")).call(d)}).on(\\\"input\\\",function(t){this.text(t||\\\" \\\").call(c.positionText,w.x,w.y)})),P.classed(\\\"js-placeholder\\\",C)}}},{\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,d3:121,\\\"fast-isnumeric\\\":130}],693:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"../../plots/pad_attributes\\\"),s={_isLinkedToArray:\\\"button\\\",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\\\",dflt:\\\"\\\"},execute:{valType:\\\"boolean\\\",dflt:!0}};e.exports={_isLinkedToArray:\\\"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:s,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:a({},o,{}),font:a({},n,{}),bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.borderLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:1}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../../plots/pad_attributes\\\":828,\\\"../color/attributes\\\":602}],694:[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\\\",\\n\",\n       \"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\\\"}}},{}],695:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(r,n){return a.coerce(t,e,s,r,n)}n(\\\"visible\\\",i(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"direction\\\"),n(\\\"type\\\"),n(\\\"showactive\\\"),n(\\\"x\\\"),n(\\\"y\\\"),a.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),a.coerceFont(n,\\\"font\\\",r.font),n(\\\"bgcolor\\\",r.paper_bgcolor),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"))}function i(t,e){function r(t,e){return a.coerce(n,i,c,t,e)}for(var n,i,o=t.buttons||[],s=e.buttons=[],l=0;l<o.length;l++)n=o[l],i={},r(\\\"method\\\"),a.isPlainObject(n)&&(\\\"skip\\\"===i.method||Array.isArray(n.args))&&(r(\\\"args\\\"),r(\\\"label\\\"),r(\\\"execute\\\"),i._index=l,s.push(i));return s}var a=t(\\\"../../lib\\\"),o=t(\\\"../../plots/array_container_defaults\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./constants\\\"),u=l.name,c=s.buttons;e.exports=function(t,e){o(t,e,{name:u,handleItemDefaults:n})}},{\\\"../../lib\\\":725,\\\"../../plots/array_container_defaults\\\":763,\\\"./attributes\\\":693,\\\"./constants\\\":694}],696:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=t[L.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}function i(t){return t._index}function a(t){return-1==+t.attr(L.menuIndexAttrName)}function o(t,e){return+t.attr(L.menuIndexAttrName)===e._index}function s(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\\\"buttons\\\"===e.type?u(t,n,null,null,e):\\\"dropdown\\\"===e.type&&(i.attr(L.menuIndexAttrName,\\\"-1\\\"),l(t,n,i,a,e),s||u(t,n,i,a,e))}function l(t,e,r,n,i){var a=e.selectAll(\\\"g.\\\"+L.headerClassName).data([0]);a.enter().append(\\\"g\\\").classed(L.headerClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");var s=i.active,l=i.buttons[s]||L.blankHeaderOpts,c={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},h={width:i.headerWidth,height:i.headerHeight};a.call(f,i,l,t).call(b,i,c,h);var d=e.selectAll(\\\"text.\\\"+L.headerArrowClassName).data([0]);d.enter().append(\\\"text\\\").classed(L.headerArrowClassName,!0).classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"end\\\").call(A.font,i.font).text(L.arrowSymbol[i.direction]),d.attr({x:i.headerWidth-L.arrowOffsetX+i.pad.l,y:i.headerHeight/2+L.textOffsetY+i.pad.t}),a.on(\\\"click\\\",function(){r.call(x),r.attr(L.menuIndexAttrName,o(r,i)?-1:String(i._index)),u(t,e,r,n,i)}),a.on(\\\"mouseover\\\",function(){a.call(v)}),a.on(\\\"mouseout\\\",function(){a.call(g,i)}),A.setTranslate(e,i.lx,i.ly)}function u(t,e,r,n,i){r||(r=e,r.attr(\\\"pointer-events\\\",\\\"all\\\"));var o=a(r)&&\\\"buttons\\\"!==i.type?[]:i.buttons,l=\\\"dropdown\\\"===i.type?L.dropdownButtonClassName:L.buttonClassName,u=r.selectAll(\\\"g.\\\"+l).data(o),d=u.enter().append(\\\"g\\\").classed(l,!0),p=u.exit();\\\"dropdown\\\"===i.type?(d.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),p.transition().attr(\\\"opacity\\\",\\\"0\\\").remove()):p.remove();var y=0,x=0,_=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(i.direction);\\\"dropdown\\\"===i.type&&(_?x=i.headerHeight+L.gapButtonHeader:y=i.headerWidth+L.gapButtonHeader),\\\"dropdown\\\"===i.type&&\\\"up\\\"===i.direction&&(x=-L.gapButtonHeader+L.gapButton-i.openHeight),\\\"dropdown\\\"===i.type&&\\\"left\\\"===i.direction&&(y=-L.gapButtonHeader+L.gapButton-i.openWidth);var k={x:i.lx+y+i.pad.l,y:i.ly+x+i.pad.t,yPad:L.gapButton,xPad:L.gapButton,index:0},A={l:k.x+i.borderwidth,t:k.y+i.borderwidth};u.each(function(a,o){var l=w.select(this);l.call(f,i,a,t).call(b,i,k),l.on(\\\"click\\\",function(){w.event.defaultPrevented||(s(t,i,a,e,r,n,o),a.execute&&M.executeAPICommand(t,a.method,a.args),t.emit(\\\"plotly_buttonclicked\\\",{menu:i,button:a,active:i.active}))}),l.on(\\\"mouseover\\\",function(){l.call(v)}),l.on(\\\"mouseout\\\",function(){l.call(g,i),u.call(m,i)})}),u.call(m,i),_?(A.w=Math.max(i.openWidth,i.headerWidth),A.h=k.y-A.t):(A.w=k.x-A.l,A.h=Math.max(i.openHeight,i.headerHeight)),A.direction=i.direction,n&&(u.size()?c(t,e,r,n,i,A):h(n))}function c(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\\\"up\\\"===u||\\\"down\\\"===u,h=i.active;if(c)for(s=0,l=0;l<h;l++)s+=i.heights[l]+L.gapButton;else for(o=0,l=0;l<h;l++)o+=i.widths[l]+L.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),n.vbar&&n.vbar.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\")}function h(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()})}function f(t,e,r,n){t.call(d,e).call(p,e,r,n)}function d(t,e){var r=t.selectAll(\\\"rect\\\").data([0]);r.enter().append(\\\"rect\\\").classed(L.itemRectClassName,!0).attr({rx:L.rx,ry:L.ry,\\\"shape-rendering\\\":\\\"crispEdges\\\"}),r.call(k.stroke,e.bordercolor).call(k.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function p(t,e,r,n){var i=t.selectAll(\\\"text\\\").data([0]);i.enter().append(\\\"text\\\").classed(L.itemTextClassName,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"start\\\",\\\"data-notex\\\":1}),i.call(A.font,e.font).text(r.label).call(T.convertToTspans,n)}function m(t,e){var r=e.active;t.each(function(t,n){var i=w.select(this);n===r&&e.showactive&&i.select(\\\"rect.\\\"+L.itemRectClassName).call(k.fill,L.activeColor)})}function v(t){t.select(\\\"rect.\\\"+L.itemRectClassName).call(k.fill,L.hoverColor)}function g(t,e){t.select(\\\"rect.\\\"+L.itemRectClassName).call(k.fill,e.bgcolor)}function y(t,e){e.width1=0,e.height1=0,e.heights=[],e.widths=[],e.totalWidth=0,e.totalHeight=0,e.openWidth=0,e.openHeight=0,e.lx=0,e.ly=0;var r=A.tester.selectAll(\\\"g.\\\"+L.dropdownButtonClassName).data(e.buttons);r.enter().append(\\\"g\\\").classed(L.dropdownButtonClassName,!0);var n=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction);r.each(function(r,i){var a=w.select(this);a.call(f,e,r,t);var o=a.select(\\\".\\\"+L.itemTextClassName),s=o.node()&&A.bBox(o.node()).width,l=Math.max(s+L.textPadX,L.minWidth),u=e.font.size*E,c=T.lineCount(o),h=Math.max(u*c,L.minHeight)+L.textOffsetY;h=Math.ceil(h),l=Math.ceil(l),e.widths[i]=l,e.heights[i]=h,e.height1=Math.max(e.height1,h),e.width1=Math.max(e.width1,l),n?(e.totalWidth=Math.max(e.totalWidth,l),e.openWidth=e.totalWidth,e.totalHeight+=h+L.gapButton,e.openHeight+=h+L.gapButton):(e.totalWidth+=l+L.gapButton,e.openWidth+=l+L.gapButton,e.totalHeight=Math.max(e.totalHeight,h),e.openHeight=e.totalHeight)}),n?e.totalHeight-=L.gapButton:e.totalWidth-=L.gapButton,e.headerWidth=e.width1+L.arrowPadX,e.headerHeight=e.height1,\\\"dropdown\\\"===e.type&&(n?(e.width1+=L.arrowPadX,e.totalHeight=e.height1):e.totalWidth=e.width1,e.totalWidth+=L.arrowPadX),r.remove();var i=e.totalWidth+e.pad.l+e.pad.r,a=e.totalHeight+e.pad.t+e.pad.b,o=t._fullLayout._size;e.lx=o.l+o.w*e.x,e.ly=o.t+o.h*(1-e.y);var s=\\\"left\\\";S.isRightAnchor(e)&&(e.lx-=i,s=\\\"right\\\"),S.isCenterAnchor(e)&&(e.lx-=i/2,s=\\\"center\\\");var l=\\\"top\\\";S.isBottomAnchor(e)&&(e.ly-=a,l=\\\"bottom\\\"),S.isMiddleAnchor(e)&&(e.ly-=a/2,l=\\\"middle\\\"),e.totalWidth=Math.ceil(e.totalWidth),e.totalHeight=Math.ceil(e.totalHeight),e.lx=Math.round(e.lx),e.ly=Math.round(e.ly),M.autoMargin(t,L.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:i*({right:1,center:.5}[s]||0),r:i*({left:1,center:.5}[s]||0),b:a*({top:1,middle:.5}[l]||0),t:a*({bottom:1,middle:.5}[l]||0)})}function b(t,e,r,n){n=n||{};var i=t.select(\\\".\\\"+L.itemRectClassName),a=t.select(\\\".\\\"+L.itemTextClassName),o=e.borderwidth,s=r.index;A.setTranslate(t,o+r.x,o+r.y);var l=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction),u=n.height||(l?e.heights[s]:e.height1);i.attr({x:0,y:0,width:n.width||(l?e.width1:e.widths[s]),height:u});var c=e.font.size*E,h=T.lineCount(a),f=(h-1)*c/2;T.positionText(a,L.textOffsetX,u/2-f+L.textOffsetY),l?r.y+=e.heights[s]+r.yPad:r.x+=e.widths[s]+r.xPad,r.index++}function x(t){t.selectAll(\\\"g.\\\"+L.dropdownButtonClassName).remove()}function _(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(L.autoMarginIdRoot)&&M.autoMargin(t,i)}}var w=t(\\\"d3\\\"),M=t(\\\"../../plots/plots\\\"),k=t(\\\"../color\\\"),A=t(\\\"../drawing\\\"),T=t(\\\"../../lib/svg_text_utils\\\"),S=t(\\\"../legend/anchor_utils\\\"),E=t(\\\"../../constants/alignment\\\").LINE_SPACING,L=t(\\\"./constants\\\"),C=t(\\\"./scrollbox\\\");e.exports=function(t){var e=t._fullLayout,r=n(e),a=e._infolayer.selectAll(\\\"g.\\\"+L.containerClassName).data(r.length>0?[0]:[]);if(a.enter().append(\\\"g\\\").classed(L.containerClassName,!0).style(\\\"cursor\\\",\\\"pointer\\\"),a.exit().remove(),a.exit().size()&&_(t),0!==r.length){var c=a.selectAll(\\\"g.\\\"+L.headerGroupClassName).data(r,i);c.enter().append(\\\"g\\\").classed(L.headerGroupClassName,!0);var h=a.selectAll(\\\"g.\\\"+L.dropdownButtonGroupClassName).data([0]);h.enter().append(\\\"g\\\").classed(L.dropdownButtonGroupClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");for(var f=0;f<r.length;f++){var d=r[f];y(t,d)}var p=\\\"updatemenus\\\"+e._uid,m=new C(t,h,p);c.enter().size()&&h.call(x).attr(L.menuIndexAttrName,\\\"-1\\\"),c.exit().each(function(e){w.select(this).remove(),h.call(x).attr(L.menuIndexAttrName,\\\"-1\\\"),M.autoMargin(t,L.autoMarginIdRoot+e._index)}),c.each(function(e){var r=w.select(this),n=\\\"dropdown\\\"===e.type?h:null;M.manageCommandObserver(t,e,e.buttons,function(i){s(t,e,e.buttons[i.index],r,n,m,i.index,!0)}),\\\"dropdown\\\"===e.type?(l(t,r,h,m,e),o(h,e)&&u(t,r,h,m,e)):u(t,r,null,null,e)})}}},{\\\"../../constants/alignment\\\":699,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/plots\\\":829,\\\"../color\\\":603,\\\"../drawing\\\":627,\\\"../legend/anchor_utils\\\":653,\\\"./constants\\\":694,\\\"./scrollbox\\\":698,d3:121}],697:[function(t,e,r){arguments[4][691][0].apply(r,arguments)},{\\\"./attributes\\\":693,\\\"./constants\\\":694,\\\"./defaults\\\":695,\\\"./draw\\\":696,dup:691}],698:[function(t,e,r){\\\"use strict\\\";function n(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})}e.exports=n;var i=t(\\\"d3\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../lib\\\");n.barWidth=2,n.barLength=20,n.barRadius=2,n.barPad=1,n.barColor=\\\"#808BA4\\\",n.prototype.enable=function(t,e,r){var s=this.gd._fullLayout,l=s.width,u=s.height;this.position=t;var c,h,f,d,p=this.position.l,m=this.position.w,v=this.position.t,g=this.position.h,y=this.position.direction,b=\\\"down\\\"===y,x=\\\"left\\\"===y,_=\\\"right\\\"===y,w=\\\"up\\\"===y,M=m,k=g;b||x||_||w||(this.position.direction=\\\"down\\\",b=!0),b||w?(c=p,h=c+M,b?(f=v,d=Math.min(f+k,u),k=d-f):(d=v+k,f=Math.max(d-k,0),k=d-f)):(f=v,d=f+k,x?(h=p+M,c=Math.max(h-M,0),M=h-c):(c=p,h=Math.min(c+M,l),M=h-c)),this._box={l:c,t:f,w:M,h:k};var A=m>M,T=n.barLength+2*n.barPad,S=n.barWidth+2*n.barPad,E=p,L=v+g;L+S>u&&(L=u-S);var C=this.container.selectAll(\\\"rect.scrollbar-horizontal\\\").data(A?[0]:[]);C.exit().on(\\\".drag\\\",null).remove(),C.enter().append(\\\"rect\\\").classed(\\\"scrollbar-horizontal\\\",!0).call(a.fill,n.barColor),A?(this.hbar=C.attr({rx:n.barRadius,ry:n.barRadius,x:E,y:L,width:T,height:S}),this._hbarXMin=E+T/2,this._hbarTranslateMax=M-T):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var z=g>k,I=n.barWidth+2*n.barPad,D=n.barLength+2*n.barPad,P=p+m,O=v;P+I>l&&(P=l-I);var R=this.container.selectAll(\\\"rect.scrollbar-vertical\\\").data(z?[0]:[]);R.exit().on(\\\".drag\\\",null).remove(),R.enter().append(\\\"rect\\\").classed(\\\"scrollbar-vertical\\\",!0).call(a.fill,n.barColor),z?(this.vbar=R.attr({rx:n.barRadius,ry:n.barRadius,x:P,y:O,width:I,height:D}),this._vbarYMin=O+D/2,this._vbarTranslateMax=k-D):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var F=this.id,j=c-.5,N=z?h+I+.5:h+.5,B=f-.5,U=A?d+S+.5:d+.5,V=s._topdefs.selectAll(\\\"#\\\"+F).data(A||z?[0]:[]);if(V.exit().remove(),V.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",F).append(\\\"rect\\\"),A||z?(this._clipRect=V.select(\\\"rect\\\").attr({x:Math.floor(j),y:Math.floor(B),width:Math.ceil(N)-Math.floor(j),height:Math.ceil(U)-Math.floor(B)}),this.container.call(o.setClipUrl,F),this.bg.attr({x:p,y:v,width:m,height:g})):(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(o.setClipUrl,null),delete this._clipRect),A||z){var H=i.behavior.drag().on(\\\"dragstart\\\",function(){i.event.sourceEvent.preventDefault()}).on(\\\"drag\\\",this._onBoxDrag.bind(this));this.container.on(\\\"wheel\\\",null).on(\\\"wheel\\\",this._onBoxWheel.bind(this)).on(\\\".drag\\\",null).call(H);var q=i.behavior.drag().on(\\\"dragstart\\\",function(){i.event.sourceEvent.preventDefault(),i.event.sourceEvent.stopPropagation()}).on(\\\"drag\\\",this._onBarDrag.bind(this));A&&this.hbar.on(\\\".drag\\\",null).call(q),z&&this.vbar.on(\\\".drag\\\",null).call(q)}this.setTranslate(e,r)},n.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(o.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)},n.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=i.event.dx),this.vbar&&(e-=i.event.dy),this.setTranslate(t,e)},n.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=i.event.deltaY),this.vbar&&(e+=i.event.deltaY),this.setTranslate(t,e)},n.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,n=r+this._hbarTranslateMax;t=(s.constrain(i.event.x,r,n)-r)/(n-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,o=a+this._vbarTranslateMax;e=(s.constrain(i.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},n.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=s.constrain(t||0,0,r),e=s.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(o.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 i=t/r;this.hbar.call(o.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(o.setTranslate,t,e+a*this._vbarTranslateMax)}}},{\\\"../../lib\\\":725,\\\"../color\\\":603,\\\"../drawing\\\":627,d3:121}],699:[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},LINE_SPACING:1.3,MID_SHIFT:.35}},{}],700:[function(t,e,r){\\\"use strict\\\";e.exports={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}},{}],701:[function(t,e,r){\\\"use strict\\\";for(var n=t(\\\"../lib/extend\\\").extendFlat,i={circle:{unicode:\\\"\\\\u25cf\\\"},square:{unicode:\\\"\\\\u25a0\\\"},diamond:{unicode:\\\"\\\\u25c6\\\"},cross:{unicode:\\\"\\\\u271a\\\"},x:{unicode:\\\"\\\\u274c\\\"},\\\"triangle-up\\\":{unicode:\\\"\\\\u25b2\\\"},\\\"triangle-down\\\":{unicode:\\\"\\\\u25bc\\\"},\\\"triangle-left\\\":{unicode:\\\"\\\\u25c4\\\"},\\\"triangle-right\\\":{unicode:\\\"\\\\u25ba\\\"},\\\"triangle-ne\\\":{unicode:\\\"\\\\u25e5\\\"},\\\"triangle-nw\\\":{unicode:\\\"\\\\u25e4\\\"},\\\"triangle-se\\\":{unicode:\\\"\\\\u25e2\\\"},\\\"triangle-sw\\\":{unicode:\\\"\\\\u25e3\\\"},pentagon:{unicode:\\\"\\\\u2b1f\\\"},hexagon:{unicode:\\\"\\\\u2b22\\\"},hexagon2:{unicode:\\\"\\\\u2b23\\\"},star:{unicode:\\\"\\\\u2605\\\"},\\\"diamond-tall\\\":{unicode:\\\"\\\\u2666\\\"},bowtie:{unicode:\\\"\\\\u29d3\\\"},\\\"diamond-x\\\":{unicode:\\\"\\\\u2756\\\"},\\\"cross-thin\\\":{unicode:\\\"+\\\",noBorder:!0},asterisk:{unicode:\\\"\\\\u2733\\\",noBorder:!0},\\\"y-up\\\":{unicode:\\\"\\\\u2144\\\",noBorder:!0},\\\"y-down\\\":{unicode:\\\"Y\\\",noBorder:!0},\\\"line-ew\\\":{unicode:\\\"\\\\u2500\\\",noBorder:!0},\\\"line-ns\\\":{unicode:\\\"\\\\u2502\\\",noBorder:!0}},a={},o=Object.keys(i),s=0;s<o.length;s++){var l=o[s];a[l+\\\"-open\\\"]=n({},i[l])}var u={\\\"circle-cross-open\\\":{unicode:\\\"\\\\u2a01\\\",noFill:!0},\\\"circle-x-open\\\":{unicode:\\\"\\\\u2a02\\\",noFill:!0},\\\"square-cross-open\\\":{unicode:\\\"\\\\u229e\\\",noFill:!0},\\\"square-x-open\\\":{unicode:\\\"\\\\u22a0\\\",noFill:!0}};e.exports=n({},i,a,u)},{\\\"../lib/extend\\\":716}],702:[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]}},{}],703:[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\\\"}},{}],704:[function(t,e,r){\\\"use strict\\\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],705:[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:1-1e-6,MINUS_SIGN:\\\"\\\\u2212\\\"}},{}],706:[function(t,e,r){\\\"use strict\\\";e.exports={entityToUnicode:{mu:\\\"\\\\u03bc\\\",\\\"#956\\\":\\\"\\\\u03bc\\\",amp:\\\"&\\\",\\\"#28\\\":\\\"&\\\",lt:\\\"<\\\",\\\"#60\\\":\\\"<\\\",gt:\\\">\\\",\\\"#62\\\":\\\">\\\",nbsp:\\\"\\\\xa0\\\",\\\"#160\\\":\\\"\\\\xa0\\\",times:\\\"\\\\xd7\\\",\\\"#215\\\":\\\"\\\\xd7\\\",plusmn:\\\"\\\\xb1\\\",\\\"#177\\\":\\\"\\\\xb1\\\",deg:\\\"\\\\xb0\\\",\\\"#176\\\":\\\"\\\\xb0\\\"}}},{}],707:[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}},{}],708:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./plotly\\\");r.version=\\\"1.30.0\\\",t(\\\"es6-promise\\\").polyfill(),t(\\\"../build/plotcss\\\"),t(\\\"./fonts/mathjax_config\\\"),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.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.setPlotConfig=t(\\\"./plot_api/set_plot_config\\\"),r.register=t(\\\"./plot_api/register\\\"),r.toImage=t(\\\"./plot_api/to_image\\\"),r.downloadImage=t(\\\"./snapshot/download\\\"),r.validate=t(\\\"./plot_api/validate\\\"),r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.register(t(\\\"./traces/scatter\\\")),r.register([t(\\\"./components/fx\\\"),t(\\\"./components/legend\\\"),t(\\\"./components/annotations\\\"),t(\\\"./components/annotations3d\\\"),t(\\\"./components/shapes\\\"),t(\\\"./components/images\\\"),t(\\\"./components/updatemenus\\\"),t(\\\"./components/sliders\\\"),t(\\\"./components/rangeslider\\\"),t(\\\"./components/rangeselector\\\")]),r.Icons=t(\\\"../build/ploticon\\\"),r.Plots=n.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,\\\"../build/ploticon\\\":2,\\\"./components/annotations\\\":594,\\\"./components/annotations3d\\\":599,\\\"./components/fx\\\":644,\\\"./components/images\\\":652,\\\"./components/legend\\\":660,\\\"./components/rangeselector\\\":672,\\\"./components/rangeslider\\\":678,\\\"./components/shapes\\\":685,\\\"./components/sliders\\\":691,\\\"./components/updatemenus\\\":697,\\\"./fonts/mathjax_config\\\":709,\\\"./lib/queue\\\":738,\\\"./plot_api/plot_schema\\\":755,\\\"./plot_api/register\\\":756,\\\"./plot_api/set_plot_config\\\":757,\\\"./plot_api/to_image\\\":759,\\\"./plot_api/validate\\\":760,\\\"./plotly\\\":761,\\\"./snapshot\\\":849,\\\"./snapshot/download\\\":846,\\\"./traces/scatter\\\":1037,d3:121,\\\"es6-promise\\\":127}],709:[function(t,e,r){\\\"use strict\\\";\\\"undefined\\\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\\\"none\\\",skipStartupTypeset:!0,displayAlign:\\\"left\\\",tex2jax:{inlineMath:[[\\\"$\\\",\\\"$\\\"],[\\\"\\\\\\\\(\\\",\\\"\\\\\\\\)\\\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],710:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){Array.isArray(t)&&(e[r]=t[n])}},{}],711:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../constants/numerical\\\").BADNUM,a=/^['\\\"%,$#\\\\s']+|[, ]|['\\\"%,$#\\\\s']+$/g;e.exports=function(t){return\\\"string\\\"==typeof t&&(t=t.replace(a,\\\"\\\")),n(t)?Number(t):i}},{\\\"../constants/numerical\\\":705,\\\"fast-isnumeric\\\":130}],712:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../plots/attributes\\\"),o=t(\\\"../components/colorscale/get_scale\\\"),s=(Object.keys(t(\\\"../components/colorscale/scales\\\")),t(\\\"./nested_property\\\")),l=/^([2-9]|[1-9][0-9]+)$/;r.valObjects={data_array:{coerceFunction:function(t,e,r){Array.isArray(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 i=String(r[n]);if(\\\"/\\\"===i.charAt(0)&&\\\"/\\\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.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,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t){var i=\\\"number\\\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){\\\"auto\\\"===t?e.set(\\\"auto\\\"):n(t)?(Math.abs(t)>180&&(t-=360*Math.round(t/360)),e.set(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r){var n=r.length;if(\\\"string\\\"==typeof t&&t.substr(0,n)===r&&l.test(t.substr(n)))return void e.set(t);e.set(r)},validateFunction:function(t,e){var r=e.dflt,n=r.length;return t===r||\\\"string\\\"==typeof t&&!(t.substr(0,n)!==r||!l.test(t.substr(n)))}},flaglist:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t)return void e.set(r);if(-1!==(n.extras||[]).indexOf(t))return void e.set(t);for(var i=t.split(\\\"+\\\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\\\"+\\\")):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,i){if(!Array.isArray(t))return void e.set(n);var a=i.items,o=[];n=Array.isArray(n)?n:[];for(var s=0;s<a.length;s++)r.coerce(t,o,a,\\\"[\\\"+s+\\\"]\\\",n[s]);e.set(o)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items;if(!e.freeLength&&t.length!==n.length)return!1;for(var i=0;i<t.length;i++){if(!r.validate(t[i],e.items[i]))return!1}return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),u=s(e,i),c=l.get();return void 0===a&&(a=o.dflt),o.arrayOk&&Array.isArray(c)?(u.set(c),c):(r.valObjects[o.valType].coerceFunction(c,u,a,o),u.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),u=o.get();return void 0!==u&&null!==u&&l},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 i,o=e._module.attributes,s=o.hoverinfo?{hoverinfo:o.hoverinfo}:a,l=s.hoverinfo;if(1===n._dataLength){var u=\\\"all\\\"===l.dflt?l.flags.slice():l.dflt.split(\\\"+\\\");u.splice(u.indexOf(\\\"name\\\"),1),i=u.join(\\\"+\\\")}return r.coerce(t,e,s,\\\"hoverinfo\\\",i)},r.validate=function(t,e){var n=r.valObjects[e.valType];if(e.arrayOk&&Array.isArray(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}},{\\\"../components/colorscale/get_scale\\\":615,\\\"../components/colorscale/scales\\\":621,\\\"../plots/attributes\\\":764,\\\"./nested_property\\\":732,\\\"fast-isnumeric\\\":130,tinycolor2:533}],713:[function(t,e,r){\\\"use strict\\\";function n(t){return t&&M.componentsRegistry.calendars&&\\\"string\\\"==typeof t&&\\\"gregorian\\\"!==t}function i(t,e){return String(t+Math.pow(10,e)).substr(1)}function a(t,e,r,n,a){if((e||r||n||a)&&(t+=\\\" \\\"+i(e,2)+\\\":\\\"+i(r,2),(n||a)&&(t+=\\\":\\\"+i(n,2),a))){for(var o=4;a%10==0;)o-=1,a/=10;t+=\\\".\\\"+i(a,o)}return t}function o(t,e,r){t=t.replace(D,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\\\"\\\")||\\\"0\\\"});var i=new Date(Math.floor(e+.05));if(n(r))try{t=M.getComponentMethod(\\\"calendars\\\",\\\"worldCalFmt\\\")(t,e,r)}catch(t){return\\\"Invalid\\\"}return k(t)(i)}function s(t,e){var r=m(t+.05,y),n=i(Math.floor(r/b),2)+\\\":\\\"+i(m(Math.floor(r/x),60),2);if(\\\"M\\\"!==e){d(e)||(e=0);var a=Math.min(m(t/_,60),P[e]),o=(100+a).toFixed(e).substr(1);e>0&&(o=o.replace(/0+$/,\\\"\\\").replace(/[\\\\.]$/,\\\"\\\")),n+=\\\":\\\"+o}return n}function l(t){return t.formatDate(\\\"yyyy\\\")}function u(t){return t.formatDate(\\\"M yyyy\\\")}function c(t){return t.formatDate(\\\"M d\\\")}function h(t){return t.formatDate(\\\"M d, yyyy\\\")}var f=t(\\\"d3\\\"),d=t(\\\"fast-isnumeric\\\"),p=t(\\\"./loggers\\\").error,m=t(\\\"./mod\\\"),v=t(\\\"../constants/numerical\\\"),g=v.BADNUM,y=v.ONEDAY,b=v.ONEHOUR,x=v.ONEMIN,_=v.ONESEC,w=v.EPOCHJD,M=t(\\\"../registry\\\"),k=f.time.format.utc,A=/^\\\\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,T=/^\\\\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,S=(new Date).getFullYear()-70;r.dateTick0=function(t,e){return n(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 n(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};var E,L;r.dateTime2ms=function(t,e){if(r.isJSDate(t))return t=Number(t)-t.getTimezoneOffset()*x,t>=E&&t<=L?t:g;if(\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t)return g;t=String(t);var i=n(e),a=t.charAt(0);!i||\\\"G\\\"!==a&&\\\"g\\\"!==a||(t=t.substr(1),e=\\\"\\\");var o=i&&\\\"chinese\\\"===e.substr(0,7),s=t.match(o?T:A);if(!s)return g;var l=s[1],u=s[3]||\\\"1\\\",c=Number(s[5]||1),h=Number(s[7]||0),f=Number(s[9]||0),d=Number(s[11]||0);if(i){if(2===l.length)return g;l=Number(l);var p;try{var m=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e);if(o){var v=\\\"i\\\"===u.charAt(u.length-1);u=parseInt(u,10),p=m.newDate(l,m.toMonthIndex(l,u,v),c)}else p=m.newDate(l,Number(u),c)}catch(t){return g}return p?(p.toJD()-w)*y+h*b+f*x+d*_:g}l=2===l.length?(Number(l)+2e3-S)%100+S:Number(l),u-=1;var k=new Date(Date.UTC(2e3,u,c,h,f));return k.setUTCFullYear(l),k.getUTCMonth()!==u?g:k.getUTCDate()!==c?g:k.getTime()+d*_},E=r.MIN_MS=r.dateTime2ms(\\\"-9999\\\"),L=r.MAX_MS=r.dateTime2ms(\\\"9999-12-31 23:59:59.9999\\\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==g};var C=90*y,z=3*b,I=5*x;r.ms2DateTime=function(t,e,r){if(\\\"number\\\"!=typeof t||!(t>=E&&t<=L))return g;e||(e=0);var i,o,s,l,u,c,h=Math.floor(10*m(t+.05,1)),f=Math.round(t-h/10);if(n(r)){var d=Math.floor(f/y)+w,p=Math.floor(m(t,y));try{i=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r).fromJD(d).formatDate(\\\"yyyy-mm-dd\\\")}catch(t){i=k(\\\"G%Y-%m-%d\\\")(new Date(f))}if(\\\"-\\\"===i.charAt(0))for(;i.length<11;)i=\\\"-0\\\"+i.substr(1);else for(;i.length<10;)i=\\\"0\\\"+i;o=e<C?Math.floor(p/b):0,s=e<C?Math.floor(p%b/x):0,l=e<z?Math.floor(p%x/_):0,u=e<I?p%_*10+h:0}else c=new Date(f),i=k(\\\"%Y-%m-%d\\\")(c),o=e<C?c.getUTCHours():0,s=e<C?c.getUTCMinutes():0,l=e<z?c.getUTCSeconds():0,u=e<I?10*c.getUTCMilliseconds()+h:0;return a(i,o,s,l,u)},r.ms2DateTimeLocal=function(t){if(!(t>=E+y&&t<=L-y))return g;var e=Math.floor(10*m(t+.05,1)),r=new Date(Math.round(t-e/10));return a(f.time.format(\\\"%Y-%m-%d\\\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,i){if(r.isJSDate(t)||\\\"number\\\"==typeof t){if(n(i))return p(\\\"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,i))return p(\\\"unrecognized date\\\",t),e;return t};var D=/%\\\\d?f/g,P=[59,59.9,59.99,59.999,59.9999],O=k(\\\"%Y\\\"),R=k(\\\"%b %Y\\\"),F=k(\\\"%b %-d\\\"),j=k(\\\"%b %-d, %Y\\\");r.formatDate=function(t,e,r,i){var a,f;if(i=n(i)&&i,e)return o(e,t,i);if(i)try{var d=Math.floor((t+.05)/y)+w,p=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(i).fromJD(d);\\\"y\\\"===r?f=l(p):\\\"m\\\"===r?f=u(p):\\\"d\\\"===r?(a=l(p),f=c(p)):(a=h(p),f=s(t,r))}catch(t){return\\\"Invalid\\\"}else{var m=new Date(Math.floor(t+.05));\\\"y\\\"===r?f=O(m):\\\"m\\\"===r?f=R(m):\\\"d\\\"===r?(a=O(m),f=F(m)):(a=j(m),f=s(t,r))}return f+(a?\\\"\\\\n\\\"+a:\\\"\\\")};var N=3*y;r.incrementMonth=function(t,e,r){r=n(r)&&r;var i=m(t,y);if(t=Math.round(t-i),r)try{var a=Math.round(t/y)+w,o=M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r),s=o.fromJD(a);return e%12?o.add(s,e,\\\"m\\\"):o.add(s,e/12,\\\"y\\\"),(s.toJD()-w)*y+i}catch(e){p(\\\"invalid ms \\\"+t+\\\" in calendar \\\"+r)}var l=new Date(t+N);return l.setUTCMonth(l.getUTCMonth()+e)+i-N},r.findExactDates=function(t,e){for(var r,i,a=0,o=0,s=0,l=0,u=n(e)&&M.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e),c=0;c<t.length;c++)if(i=t[c],d(i)){if(!(i%y))if(u)try{r=u.fromJD(i/y+w),1===r.day()?1===r.month()?a++:o++:s++}catch(t){}else r=new Date(i),1===r.getUTCDate()?0===r.getUTCMonth()?a++:o++:s++}else l++;o+=a,s+=o;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}}},{\\\"../constants/numerical\\\":705,\\\"../registry\\\":844,\\\"./loggers\\\":729,\\\"./mod\\\":731,d3:121,\\\"fast-isnumeric\\\":130}],714:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],715:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"events\\\").EventEmitter,i={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,i){\\\"undefined\\\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\\\"undefined\\\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;\\\"function\\\"==typeof o&&(o=[o]);for(var s=o.pop(),l=0;l<o.length;l++)o[l](r);return i=s(r),void 0!==n?n:i},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=i},{events:128}],716:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e,r,s){var l,u,c,h,f,d,p=t[0],m=t.length;if(2===m&&o(p)&&o(t[1])&&0===p.length){if(n(t[1],p))return p;p.splice(0,p.length)}for(var v=1;v<m;v++){l=t[v];for(u in l)c=p[u],h=l[u],s&&o(h)?p[u]=h:e&&h&&(a(h)||(f=o(h)))?(f?(f=!1,d=c&&o(c)?c:[]):d=c&&a(c)?c:{},p[u]=i([d,h],e,r,s)):(void 0!==h||r)&&(p[u]=h)}return p}var a=t(\\\"./is_plain_object.js\\\"),o=Array.isArray;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\\\":727}],717:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],718:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];!0===n.visible&&e.push(n)}return e}},{}],719:[function(t,e,r){\\\"use strict\\\";function n(t,e){return(0,l[t])(e)}function i(t){for(var e=0;e<s.length;e++){var r=s[e];if(new RegExp(a[r]).test(t.trim().toLowerCase()))return r}return o.warn(\\\"Unrecognized country name: \\\"+t+\\\".\\\"),!1}var a=t(\\\"country-regex\\\"),o=t(\\\"../lib\\\"),s=Object.keys(a),l={\\\"ISO-3\\\":o.identity,\\\"USA-states\\\":o.identity,\\\"country names\\\":i};r.locationToFeature=function(t,e,r){var i=n(t,e);if(i){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===i)return s}o.warn([\\\"Location with id\\\",i,\\\"does not have a matching topojson feature at this resolution.\\\"].join(\\\" \\\"))}return!1}},{\\\"../lib\\\":725,\\\"country-regex\\\":106}],720:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../constants/numerical\\\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace,r=e.connectgaps,i=[],a=[],o=0;o<t.length;o++){var s=t[o],l=s.lonlat;l[0]!==n?a.push(l):!r&&a.length>0&&(i.push(a),a=[])}return a.length>0&&i.push(a),i},r.makeLine=function(t,e){var r={};return r=1===t.length?{\\n\",\n       \"type:\\\"LineString\\\",coordinates:t[0]}:{type:\\\"MultiLineString\\\",coordinates:t},e&&(r.trace=e),r},r.makePolygon=function(t,e){var r={};if(1===t.length)r={type:\\\"Polygon\\\",coordinates:t};else{for(var n=new Array(t.length),i=0;i<t.length;i++)n[i]=[t[i]];r={type:\\\"MultiPolygon\\\",coordinates:n}}return e&&(r.trace=e),r},r.makeBlank=function(){return{type:\\\"Point\\\",coordinates:[]}}},{\\\"../constants/numerical\\\":705}],721:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,d=s-a,p=l*d-c*h;if(0===p)return null;var m=(u*d-c*f)/p,v=(u*h-l*f)/p;return v<0||v>1||m<0||m>1?null:{x:t+l*m,y:e+h*m}}function i(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}var a=t(\\\"./mod\\\");r.segmentsIntersect=n,r.segmentDistance=function(t,e,r,a,o,s,l,u){if(n(t,e,r,a,o,s,l,u))return 0;var c=r-t,h=a-e,f=l-o,d=u-s,p=c*c+h*h,m=f*f+d*d,v=Math.min(i(c,h,p,o-t,s-e),i(c,h,p,l-t,u-e),i(f,d,m,t-o,e-s),i(f,d,m,r-o,a-s));return Math.sqrt(v)};var o,s,l;r.getTextLocation=function(t,e,r,n){if(t===s&&n===l||(o={},s=t,l=n),o[r])return o[r];var i=t.getPointAtLength(a(r-n/2,e)),u=t.getPointAtLength(a(r+n/2,e)),c=Math.atan((u.y-i.y)/(u.x-i.x)),h=t.getPointAtLength(a(r,e)),f=(4*h.x+i.x+u.x)/6,d=(4*h.y+i.y+u.y)/6,p={x:f,y:d,theta:c};return o[r]=p,p},r.clearLocationCache=function(){s=null},r.getVisibleSegment=function(t,e,r){function n(e){var r=t.getPointAtLength(e);0===e?i=r:e===h&&(a=r);var n=r.x<o?o-r.x:r.x>s?r.x-s:0,c=r.y<l?l-r.y:r.y>u?r.y-u:0;return Math.sqrt(n*n+c*c)}for(var i,a,o=e.left,s=e.right,l=e.top,u=e.bottom,c=0,h=t.getTotalLength(),f=h,d=n(c);d;){if((c+=d+r)>f)return;d=n(c)}for(d=n(f);d;){if(f-=d+r,c>f)return;d=n(f)}return{min:c,max:f,len:f-c,total:h,isClosed:0===c&&f===h&&Math.abs(i.x-a.x)<.1&&Math.abs(i.y-a.y)<.1}}},{\\\"./mod\\\":731}],722:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t;return r[3]*=e,r}function i(t){if(s(t))return h;var e=l(t);return e.length?e:h}function a(t){return s(t)?t:f}function o(t,e,r){var o,s,c,d,p,m=t.color,v=Array.isArray(m),g=Array.isArray(e),y=[];if(o=void 0!==t.colorscale?u.makeColorScaleFunc(u.extractScale(t.colorscale,t.cmin,t.cmax)):i,s=v?function(t,e){return void 0===t[e]?h:l(o(t[e]))}:i,c=g?function(t,e){return void 0===t[e]?f:a(t[e])}:a,v||g)for(var b=0;b<r;b++)d=s(m,b),p=c(e,b),y[b]=n(d,p);else y=n(l(m),e);return y}var s=t(\\\"fast-isnumeric\\\"),l=t(\\\"color-rgba\\\"),u=t(\\\"../components/colorscale\\\"),c=t(\\\"../components/color/attributes\\\").defaultLine,h=l(c),f=1;e.exports=o},{\\\"../components/color/attributes\\\":602,\\\"../components/colorscale\\\":617,\\\"color-rgba\\\":94,\\\"fast-isnumeric\\\":130}],723:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=0;(e=t.indexOf(\\\"<sup>\\\",e))>=0;){var r=t.indexOf(\\\"</sup>\\\",e);if(r<e)break;t=t.slice(0,e)+l(t.slice(e+5,r))+t.slice(r+6)}return t}function i(t){return t.replace(/\\\\<br\\\\>/g,\\\"\\\\n\\\")}function a(t){return t.replace(/\\\\<.*\\\\>/g,\\\"\\\")}function o(t){for(var e=u.entityToUnicode,r=0;(r=t.indexOf(\\\"&\\\",r))>=0;){var n=t.indexOf(\\\";\\\",r);if(n<r)r+=1;else{var i=e[t.slice(r+1,n)];t=i?t.slice(0,r)+i+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}function s(t){return\\\"\\\"+o(a(n(i(t))))}var l=t(\\\"superscript-text\\\"),u=t(\\\"../constants/string_mappings\\\");e.exports=s},{\\\"../constants/string_mappings\\\":706,\\\"superscript-text\\\":529}],724:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t}},{}],725:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../constants/numerical\\\"),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(\\\"./nested_property\\\"),l.keyedContainer=t(\\\"./keyed_container\\\"),l.isPlainObject=t(\\\"./is_plain_object\\\"),l.isArray=t(\\\"./is_array\\\"),l.mod=t(\\\"./mod\\\"),l.toLogRange=t(\\\"./to_log_range\\\"),l.relinkPrivateKeys=t(\\\"./relink_private\\\"),l.ensureArray=t(\\\"./ensure_array\\\");var u=t(\\\"./coerce\\\");l.valObjects=u.valObjects,l.coerce=u.coerce,l.coerce2=u.coerce2,l.coerceFont=u.coerceFont,l.coerceHoverinfo=u.coerceHoverinfo,l.validate=u.validate;var c=t(\\\"./dates\\\");l.dateTime2ms=c.dateTime2ms,l.isDateTime=c.isDateTime,l.ms2DateTime=c.ms2DateTime,l.ms2DateTimeLocal=c.ms2DateTimeLocal,l.cleanDate=c.cleanDate,l.isJSDate=c.isJSDate,l.formatDate=c.formatDate,l.incrementMonth=c.incrementMonth,l.dateTick0=c.dateTick0,l.dfltRange=c.dfltRange,l.findExactDates=c.findExactDates,l.MIN_MS=c.MIN_MS,l.MAX_MS=c.MAX_MS;var h=t(\\\"./search\\\");l.findBin=h.findBin,l.sorterAsc=h.sorterAsc,l.sorterDes=h.sorterDes,l.distinctVals=h.distinctVals,l.roundUp=h.roundUp;var f=t(\\\"./stats\\\");l.aggNums=f.aggNums,l.len=f.len,l.mean=f.mean,l.variance=f.variance,l.stdev=f.stdev,l.interp=f.interp;var d=t(\\\"./matrix\\\");l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var p=t(\\\"./geometry2d\\\");l.segmentsIntersect=p.segmentsIntersect,l.segmentDistance=p.segmentDistance,l.getTextLocation=p.getTextLocation,l.clearLocationCache=p.clearLocationCache,l.getVisibleSegment=p.getVisibleSegment;var m=t(\\\"./extend\\\");l.extendFlat=m.extendFlat,l.extendDeep=m.extendDeep,l.extendDeepAll=m.extendDeepAll,l.extendDeepNoArrays=m.extendDeepNoArrays;var v=t(\\\"./loggers\\\");l.log=v.log,l.warn=v.warn,l.error=v.error,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 i(t)?(t=Number(t),t<-o||t>o?s:i(t)?Number(t):s):s},l.noop=t(\\\"./noop\\\"),l.identity=t(\\\"./identity\\\"),l.swapAttrs=function(t,e,r,n){r||(r=\\\"x\\\"),n||(n=\\\"y\\\");for(var i=0;i<e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(\\\"?\\\",r)),s=l.nestedProperty(t,a.replace(\\\"?\\\",n)),u=o.get();o.set(s.get()),s.set(u)}},l.pauseEvent=function(t){return t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,!1},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){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\\\"0\\\";var i,a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l=\\\"\\\";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++)o=Math.floor(Math.random()*n).toString(n),l=o+l;u&&(a=Math.pow(n,u),o=Math.floor(Math.random()*a).toString(n),l=o+l);var c=parseInt(l,n);return e&&e.indexOf(l)>-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):l},l.OptionControl=function(t,e){t||(t={}),e||(e=\\\"opt\\\");var r={};return r.optionList=[],r._newoption=function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)},r[\\\"_\\\"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)i=r+n+1-e,i<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},l.syncOrAsync=function(t,e,r){function n(){return l.syncOrAsync(t,e,r)}for(var i,a;t.length;)if(a=t.splice(0,1)[0],(i=a(e))&&i.then)return i.then(n).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,i,a=!1,o=!0;for(n=0;n<r.length;n++)i=t[r[n]],void 0!==i&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(Array.isArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,Array.isArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return Array.isArray(i)?n(Array.isArray(e)&&Array.isArray(i[e[0]])?i[e[0]][e[1]]:i[e]):i},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,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)i=o[n],a=t[i],\\\"_\\\"!==i.charAt(0)&&\\\"function\\\"!=typeof a&&(\\\"module\\\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\\\"object\\\"==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)i=o[n],\\\"object\\\"==typeof(a=e[i])&&i in r&&\\\"object\\\"==typeof r[i]||(r[i]=a);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.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\\\"js-plotly-plot\\\")},l.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(\\\"style\\\");r.appendChild(document.createTextNode(\\\"\\\")),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+\\\"{\\\"+e+\\\"}\\\",0):n.addRule?n.addRule(t,e,0):l.warn(\\\"addStyleRule failed\\\")},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&&\\\"function\\\"==typeof t.classed},l.objectFromPath=function(t,e){for(var r,n=t.split(\\\".\\\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\\\[([0-9]+)\\\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var g=/^([^\\\\[\\\\.]+)\\\\.(.+)?/,y=/^([^\\\\.]+)\\\\[([0-9]+)\\\\](\\\\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\\\"object\\\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(g))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(y))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\\\".\\\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):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})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\\\".\\\"),s=o[0],l=o.length>1?i+o[1]:\\\"\\\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\\\"$1\\\"+a+\\\"$2\\\");return s+l};var b=/%{([^\\\\s%{}]*)}/g,x=/^\\\\w*$/;l.templateString=function(t,e){var r={};return t.replace(b,function(t,n){return x.test(n)?e[n]||\\\"\\\":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||\\\"\\\")})}},{\\\"../constants/numerical\\\":705,\\\"./clean_number\\\":711,\\\"./coerce\\\":712,\\\"./dates\\\":713,\\\"./ensure_array\\\":714,\\\"./extend\\\":716,\\\"./filter_unique\\\":717,\\\"./filter_visible\\\":718,\\\"./geometry2d\\\":721,\\\"./identity\\\":724,\\\"./is_array\\\":726,\\\"./is_plain_object\\\":727,\\\"./keyed_container\\\":728,\\\"./loggers\\\":729,\\\"./matrix\\\":730,\\\"./mod\\\":731,\\\"./nested_property\\\":732,\\\"./noop\\\":733,\\\"./notifier\\\":734,\\\"./push_unique\\\":737,\\\"./relink_private\\\":739,\\\"./search\\\":740,\\\"./stats\\\":743,\\\"./to_log_range\\\":746,d3:121,\\\"fast-isnumeric\\\":130}],726:[function(t,e,r){\\\"use strict\\\";var n=\\\"undefined\\\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}};e.exports=function(t){return Array.isArray(t)||n.isView(t)}},{}],727:[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}},{}],728:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./nested_property\\\"),i=/^\\\\w*$/;e.exports=function(t,e,r,a){r=r||\\\"name\\\",a=a||\\\"value\\\";var o,s,l={};s=e&&e.length?n(t,e).get():t,e=e||\\\"\\\",s=s||[];var u={};for(o=0;o<s.length;o++)u[s[o][r]]=o;var c=i.test(a),h={set:function(t,e){var i=null===e?4:0,o=u[t];void 0===o?(i|=3,o=s.length,u[t]=o):e!==(c?s[o][a]:n(s[o],a).get())&&(i|=2);var f=s[o]=s[o]||{};return f[r]=t,c?f[a]=e:n(f,a).set(e),null!==e&&(i&=-5),l[o]=l[o]|i,h},get:function(t){var e=u[t];return void 0===e?void 0:c?s[e][a]:n(s[e],a).get()},rename:function(t,e){var n=u[t];return void 0===n?h:(l[n]=1|l[n],u[e]=n,delete u[t],s[n][r]=e,h)},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return l[e]=2|l[e],h.set(t,null);if(c){for(o=e;o<s.length;o++)l[o]=3|l[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),l[e]=6|l[e];return h},constructUpdate:function(){for(var t,i,o={},u=Object.keys(l),h=0;h<u.length;h++)i=u[h],t=e+\\\"[\\\"+i+\\\"]\\\",s[i]?(1&l[i]&&(o[t+\\\".\\\"+r]=s[i][r]),2&l[i]&&(o[t+\\\".\\\"+a]=c?4&l[i]?null:s[i][a]:4&l[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{\\\"./nested_property\\\":732}],729:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}var i=t(\\\"../plot_api/plot_config\\\"),a=e.exports={};a.log=function(){if(i.logging>1){for(var t=[\\\"LOG:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.warn=function(){if(i.logging>0){for(var t=[\\\"WARN:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.trace||console.log,t)}},a.error=function(){if(i.logging>0){for(var t=[\\\"ERROR:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);n(console.error,t)}}},{\\\"../plot_api/plot_config\\\":754}],730:[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,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];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)))}}},{}],731:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t%e;return r<0?r+e:r}},{}],732:[function(t,e,r){\\\"use strict\\\";function n(t,e){return function(){var r,i,a,o,s,l=t;for(o=0;o<e.length-1;o++){if(-1===(r=e[o])){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=n(l[s],e.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\\\"number\\\"==typeof r&&!d(l))return;if(\\\"object\\\"!=typeof(l=l[r])||null===l)return}if(\\\"object\\\"==typeof l&&null!==l&&null!==(a=l[e[o]]))return a}}function i(t,e){if(!c(t)||p(t)&&\\\"]\\\"===e.charAt(e.length-1)||e.match(g)&&void 0!==t)return!1;if(!d(t))return!0;if(e.match(v))return!0;var r=m(e);return r&&\\\"\\\"===r.index}function a(t,e,r){return function(n){var a,c,h=t,f=\\\"\\\",p=[[t,f]],m=i(n,r);for(c=0;c<e.length-1;c++){if(\\\"number\\\"==typeof(a=e[c])&&!d(h))throw\\\"array index but container is not an array\\\";if(-1===a){if(m=!s(h,e.slice(c+1),n,r))break;return}if(!l(h,a,e[c+1],m))break;if(\\\"object\\\"!=typeof(h=h[a])||null===h)throw\\\"container is not an object\\\";f=o(f,a),p.push([h,f])}m?(c===e.length-1&&delete h[e[c]],u(p)):h[e[c]]=n}}function o(t,e){var r=e;return f(e)?r=\\\"[\\\"+e+\\\"]\\\":t&&(r=\\\".\\\"+e),t+r}function s(t,e,r,n){var o,s=d(r),u=!0,c=r,h=n.replace(\\\"-1\\\",0),f=!s&&i(r,h),p=e[0];for(o=0;o<t.length;o++)h=n.replace(\\\"-1\\\",o),s&&(c=r[o%r.length],f=i(c,h)),f&&(u=!1),l(t,o,p,f)&&a(t[o],e,n.replace(\\\"-1\\\",o))(c);return u}function l(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\\\"number\\\"==typeof r?[]:{}}return!0}function u(t){var e,r,n,a,s,l;for(e=t.length-1;e>=0;e--){if(n=t[e][0],a=t[e][1],l=!1,d(n))for(r=n.length-1;r>=0;r--)i(n[r],o(a,r))?l?n[r]=void 0:n.pop():l=!0;else if(\\\"object\\\"==typeof n&&null!==n)for(s=Object.keys(n),l=!1,r=s.length-1;r>=0;r--)i(n[s[r]],o(a,s[r]))?delete n[s[r]]:l=!0;if(l)return}}function c(t){return void 0===t||null===t||\\\"object\\\"==typeof t&&(d(t)?!t.length:!Object.keys(t).length)}function h(t,e,r){return{set:function(){throw\\\"bad container\\\"},get:function(){},astr:e,parts:r,obj:t}}var f=t(\\\"fast-isnumeric\\\"),d=t(\\\"./is_array\\\"),p=t(\\\"./is_plain_object\\\"),m=t(\\\"../plot_api/container_array_match\\\");e.exports=function(t,e){if(f(e))e=String(e);else if(\\\"string\\\"!=typeof e||\\\"[-1]\\\"===e.substr(e.length-4))throw\\\"bad property string\\\";for(var r,i,o,s=0,l=e.split(\\\".\\\");s<l.length;){if(r=String(l[s]).match(/^([^\\\\[\\\\]]*)((\\\\[\\\\-?[0-9]*\\\\])+)$/)){if(r[1])l[s]=r[1];else{if(0!==s)throw\\\"bad property string\\\";l.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(\\\"][\\\"),o=0;o<i.length;o++)s++,l.splice(s,0,Number(i[o]))}s++}return\\\"object\\\"!=typeof t?h(t,e,l):{set:a(t,l,e),get:n(t,l),astr:e,parts:l,obj:t}};var v=/(^|\\\\.)((domain|range)(\\\\.[xy])?|args|parallels)$/,g=/(^|\\\\.)args\\\\[/},{\\\"../plot_api/container_array_match\\\":749,\\\"./is_array\\\":726,\\\"./is_plain_object\\\":727,\\\"fast-isnumeric\\\":130}],733:[function(t,e,r){\\\"use strict\\\";e.exports=function(){}},{}],734:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=[];e.exports=function(t,e){function r(t){t.duration(700).style(\\\"opacity\\\",0).each(\\\"end\\\",function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()})}if(-1===a.indexOf(t)){a.push(t);var o=1e3;i(e)?o=e:\\\"long\\\"===e&&(o=3e3);var s=n.select(\\\"body\\\").selectAll(\\\".plotly-notifier\\\").data([0]);s.enter().append(\\\"div\\\").classed(\\\"plotly-notifier\\\",!0);s.selectAll(\\\".notifier-note\\\").data(a).enter().append(\\\"div\\\").classed(\\\"notifier-note\\\",!0).style(\\\"opacity\\\",0).each(function(t){var e=n.select(this);e.append(\\\"button\\\").classed(\\\"notifier-close\\\",!0).html(\\\"&times;\\\").on(\\\"click\\\",function(){e.transition().call(r)});for(var i=e.append(\\\"p\\\"),a=t.split(/<br\\\\s*\\\\/?>/g),s=0;s<a.length;s++)s&&i.append(\\\"br\\\"),i.append(\\\"span\\\").text(a[s]);e.transition().duration(700).style(\\\"opacity\\\",1).transition().delay(o).call(r)})}}},{d3:121,\\\"fast-isnumeric\\\":130}],735:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./setcursor\\\"),i=\\\"data-savedcursor\\\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\\\"cursor-\\\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\\\"!!\\\")}n(t,e)}else r&&(t.attr(i,null),\\\"!!\\\"===r?n(t):n(t,r))}},{\\\"./setcursor\\\":741}],736:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./matrix\\\").dot,i=t(\\\"../constants/numerical\\\").BADNUM,a=e.exports={};a.tester=function(t){function e(t,e){var r=t[0],n=t[1];return!(r===i||r<a||r>o||n===i||n<s||n>l)&&(!e||!c(t))}function r(t,e){var r=t[0],u=t[1];if(r===i||r<a||r>o||u===i||u<s||u>l)return!1;var c,h,f,d,p,m=n.length,v=n[0][0],g=n[0][1],y=0;for(c=1;c<m;c++)if(h=v,f=g,v=n[c][0],g=n[c][1],d=Math.min(h,v),!(r<d||r>Math.max(h,v)||u>Math.max(f,g)))if(u<Math.min(f,g))r!==d&&y++;else{if(p=v===h?u:f+(r-h)*(g-f)/(v-h),u===p)return 1!==c||!e;u<=p&&r!==d&&y++}return y%2==1}var n=t.slice(),a=n[0][0],o=a,s=n[0][1],l=s;n.push(n[0]);for(var u=1;u<n.length;u++)a=Math.min(a,n[u][0]),o=Math.max(o,n[u][0]),s=Math.min(s,n[u][1]),l=Math.max(l,n[u][1]);var c,h=!1;return 5===n.length&&(n[0][0]===n[1][0]?n[2][0]===n[3][0]&&n[0][1]===n[3][1]&&n[1][1]===n[2][1]&&(h=!0,c=function(t){return t[0]===n[0][0]}):n[0][1]===n[1][1]&&n[2][1]===n[3][1]&&n[0][0]===n[3][0]&&n[1][0]===n[2][0]&&(h=!0,c=function(t){return t[1]===n[0][1]})),{xmin:a,xmax:o,ymin:s,ymax:l,pts:n,contains:h?e:r,isRect:h}};var o=a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],u=[t[r][0]-l[0],t[r][1]-l[1]],c=n(u,u),h=Math.sqrt(c),f=[-u[1]/h,u[0]/h];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,u))<0||s>c||Math.abs(n(o,f))>i)return!0;return!1};a.filter=function(t,e){function r(r){t.push(r);var s=n.length,l=i;n.splice(a+1);for(var u=l+1;u<t.length;u++)(u===t.length-1||o(t,l,u+1,e))&&(n.push(t[u]),n.length<s-2&&(i=u,a=n.length-1),l=u)}var n=[t[0]],i=0,a=0;if(t.length>1){r(t.pop())}return{addPt:r,raw:t,filtered:n}}},{\\\"../constants/numerical\\\":705,\\\"./matrix\\\":730}],737:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else e&&-1===t.indexOf(e)&&t.push(e);return t}},{}],738:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r,n=[],a=0;a<e.length;a++)r=e[a],n[a]=r===t?r:\\\"object\\\"==typeof r?Array.isArray(r)?i.extendDeep([],r):i.extendDeepAll({},r):r;return n}var i=t(\\\"../lib\\\"),a=t(\\\"../plot_api/plot_config\\\"),o={};o.add=function(t,e,r,n,i){var o,s;if(t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay)return void(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--)},o.startSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},o.stopSequence=function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},o.undo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.undo();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++)o.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},o.redo=function(t){var e,r;if(t.framework&&t.framework.isPolar)return void t.framework.redo();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++)o.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}},o.plotDo=function(t,e,r){t.autoplay=!0,r=n(t,r),e.apply(null,r)},e.exports=o},{\\\"../lib\\\":725,\\\"../plot_api/plot_config\\\":754}],739:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is_array\\\"),i=t(\\\"./is_plain_object\\\");e.exports=function t(e,r){for(var a=Object.keys(r||{}),o=0;o<a.length;o++){var s=a[o],l=r[s],u=e[s];if(\\\"_\\\"===s.charAt(0)||\\\"function\\\"==typeof l){if(s in e)continue;e[s]=l}else if(n(l)&&n(u)&&i(l[0]))for(var c=0;c<l.length;c++)i(l[c])&&i(u[c])&&t(u[c],l[c]);else i(l)&&i(u)&&(t(u,l),Object.keys(u).length||delete e[s])}}},{\\\"./is_array\\\":726,\\\"./is_plain_object\\\":727}],740:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t<e}function i(t,e){return t<=e}function a(t,e){return t>e}function o(t,e){return t>=e}var s=t(\\\"fast-isnumeric\\\"),l=t(\\\"./loggers\\\");r.findBin=function(t,e,r){if(s(e.start))return r?Math.ceil((t-e.start)/e.size)-1:Math.floor((t-e.start)/e.size);var u,c,h=0,f=e.length,d=0;for(c=e[e.length-1]>=e[0]?r?n:i:r?o:a;h<f&&d++<100;)u=Math.floor((h+f)/2),c(e[u],t)?h=u+1:f=u;return d>90&&l.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=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)n=u((i+a)/2),e[n]<=t?i=n+s:a=n-l;return e[i]}},{\\\"./loggers\\\":729,\\\"fast-isnumeric\\\":130}],741:[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)}},{}],742:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/color\\\"),i=function(){};e.exports=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\\\"div\\\");return r.textContent=\\\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\\\",r.style.cursor=\\\"pointer\\\",r.style.fontSize=\\\"24px\\\",r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=\\\"#FFFFFF\\\",t.container.onclick=function(){window.open(\\\"http://get.webgl.org\\\")},!1}},{\\\"../components/color\\\":603}],743:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");r.aggNums=function(t,e,i,a){var o,s;if(a||(a=i.length),n(e)||(e=!1),Array.isArray(i[0])){for(s=new Array(a),o=0;o<a;o++)s[o]=r.aggNums(t,e,i[o]);i=s}for(o=0;o<a;o++)n(e)?n(i[o])&&(e=t(+e,+i[o])):e=i[o];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.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},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)]}},{\\\"fast-isnumeric\\\":130}],744:[function(t,e,r){\\\"use strict\\\";function n(t){var e=i(t);return e.length?e:[0,0,0,1]}var i=t(\\\"color-rgba\\\");e.exports=n},{\\\"color-rgba\\\":94}],745:[function(t,e,r){\\\"use strict\\\";function n(t,e){return t.node().getBoundingClientRect()[e]}function i(t){return t.replace(g,\\\"\\\\\\\\lt \\\").replace(y,\\\"\\\\\\\\gt \\\")}function a(t,e,r){var n=\\\"math-output-\\\"+f.randstr([],64),a=h.select(\\\"body\\\").append(\\\"div\\\").attr({id:n}).style({visibility:\\\"hidden\\\",position:\\\"absolute\\\"}).style({\\\"font-size\\\":e.fontSize+\\\"px\\\"}).text(i(t));MathJax.Hub.Queue([\\\"Typeset\\\",MathJax.Hub,a.node()],function(){var e=h.select(\\\"body\\\").select(\\\"#MathJax_SVG_glyphs\\\");if(a.select(\\\".MathJax_SVG\\\").empty()||!a.select(\\\"svg\\\").node())f.log(\\\"There was an error in the tex syntax.\\\",t),r();else{var n=a.select(\\\"svg\\\").node().getBoundingClientRect();r(a.select(\\\".MathJax_SVG\\\"),e,n)}a.remove()})}function o(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}function s(t,e){if(!t)return\\\"\\\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}function l(t){return s(t,A)}function u(t,e){function r(){c++;var e=document.createElementNS(d.svg,\\\"tspan\\\");h.select(e).attr({class:\\\"line\\\",dy:c*m+\\\"em\\\"}),t.appendChild(e),a=e;var r=u;if(u=[{node:e}],r.length>1)for(var i=1;i<r.length;i++)n(r[i])}function n(t){var e,r=t.type,n={};if(\\\"a\\\"===r){e=\\\"a\\\";var o=t.target,s=t.href,l=t.popup;s&&(n={\\\"xlink:xlink:show\\\":\\\"_blank\\\"===o||\\\"_\\\"!==o.charAt(0)?\\\"new\\\":\\\"replace\\\",target:o,\\\"xlink:xlink:href\\\":s},l&&(n.onclick='window.open(this.href.baseVal,this.target.baseVal,\\\"'+l+'\\\");return false;'))}else e=\\\"tspan\\\";t.style&&(n.style=t.style);var c=document.createElementNS(d.svg,e);if(\\\"sup\\\"===r||\\\"sub\\\"===r){i(a,w),a.appendChild(c);var f=document.createElementNS(d.svg,\\\"tspan\\\");i(f,w),h.select(f).attr(\\\"dy\\\",_[r]),n.dy=x[r],a.appendChild(c),a.appendChild(f)}else a.appendChild(c);h.select(c).attr(n),a=t.node=c,u.push(t)}function i(t,e){t.appendChild(document.createTextNode(e))}e=l(e).replace(T,\\\" \\\");var a,s=!1,u=[],c=-1;L.test(e)?r():(a=t,u=[{node:t}]);for(var p=e.split(S),v=0;v<p.length;v++){var g=p[v],y=g.match(E),k=y&&y[2].toLowerCase(),A=b[k];if(\\\"br\\\"===k)r();else if(void 0===A)i(a,g);else if(y[1])!function(t){if(1===u.length)return void f.log(\\\"Ignoring unexpected end tag </\\\"+t+\\\">.\\\",e);var r=u.pop();t!==r.type&&f.log(\\\"Start tag <\\\"+r.type+\\\"> doesnt match end tag <\\\"+t+\\\">. Pretending it did match.\\\",e),a=u[u.length-1].node}(k);else{var O=y[4],R={type:k},F=o(O,C);if(F?(F=F.replace(P,\\\"$1 fill:\\\"),A&&(F+=\\\";\\\"+A)):A&&(F=A),F&&(R.style=F),\\\"a\\\"===k){s=!0;var j=o(O,z);if(j){var N=document.createElement(\\\"a\\\");N.href=j,-1!==M.indexOf(N.protocol)&&(R.href=encodeURI(j),R.target=o(O,I)||\\\"_blank\\\",R.popup=o(O,D))}}n(R)}}return s}function c(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\\\"top\\\",l=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return i=\\\"bottom\\\"===s?function(){return l.bottom-n.height}:\\\"middle\\\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\\\"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:i()-u.top+\\\"px\\\",left:a()-u.left+\\\"px\\\",\\\"z-index\\\":1e3}),this}}var h=t(\\\"d3\\\"),f=t(\\\"../lib\\\"),d=t(\\\"../constants/xmlns_namespaces\\\"),p=t(\\\"../constants/string_mappings\\\"),m=t(\\\"../constants/alignment\\\").LINE_SPACING,v=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,i){function o(){c.empty()||(f=t.attr(\\\"class\\\")+\\\"-math\\\",c.select(\\\"svg.\\\"+f).remove()),t.text(\\\"\\\").style(\\\"white-space\\\",\\\"pre\\\"),u(t.node(),s)&&t.style(\\\"pointer-events\\\",\\\"all\\\"),r.positionText(t),i&&i.call(t)}var s=t.text(),l=!t.attr(\\\"data-notex\\\")&&\\\"undefined\\\"!=typeof MathJax&&s.match(v),c=h.select(t.node().parentNode);if(!c.empty()){var f=t.attr(\\\"class\\\")?t.attr(\\\"class\\\").split(\\\" \\\")[0]:\\\"text\\\";return f+=\\\"-math\\\",c.selectAll(\\\"svg.\\\"+f).remove(),c.selectAll(\\\"g.\\\"+f+\\\"-group\\\").remove(),t.style(\\\"display\\\",null).attr({\\\"data-unformatted\\\":s,\\\"data-math\\\":\\\"N\\\"}),l?(e&&e._promises||[]).push(new Promise(function(e){t.style(\\\"display\\\",\\\"none\\\");var r={fontSize:parseInt(t.style(\\\"font-size\\\"),10)};a(l[2],r,function(r,a,l){c.selectAll(\\\"svg.\\\"+f).remove(),c.selectAll(\\\"g.\\\"+f+\\\"-group\\\").remove();var u=r&&r.select(\\\"svg\\\");if(!u||!u.node())return o(),void e();var h=c.append(\\\"g\\\").classed(f+\\\"-group\\\",!0).attr({\\\"pointer-events\\\":\\\"none\\\",\\\"data-unformatted\\\":s,\\\"data-math\\\":\\\"Y\\\"});h.node().appendChild(u.node()),a&&a.node()&&u.node().insertBefore(a.node().cloneNode(!0),u.node().firstChild),u.attr({class:f,height:l.height,preserveAspectRatio:\\\"xMinYMin meet\\\"}).style({overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"});var d=t.style(\\\"fill\\\")||\\\"black\\\";u.select(\\\"g\\\").attr({fill:d,stroke:d});var p=n(u,\\\"width\\\"),m=n(u,\\\"height\\\"),v=+t.attr(\\\"x\\\")-p*{start:0,middle:.5,end:1}[t.attr(\\\"text-anchor\\\")||\\\"start\\\"],g=parseInt(t.style(\\\"font-size\\\"),10)||n(t,\\\"height\\\"),y=-g/4;\\\"y\\\"===f[0]?(h.attr({transform:\\\"rotate(\\\"+[-90,+t.attr(\\\"x\\\"),+t.attr(\\\"y\\\")]+\\\") translate(\\\"+[-p/2,y-m/2]+\\\")\\\"}),u.attr({x:+t.attr(\\\"x\\\"),y:+t.attr(\\\"y\\\")})):\\\"l\\\"===f[0]?u.attr({x:t.attr(\\\"x\\\"),y:y-m/2}):\\\"a\\\"===f[0]?u.attr({x:0,y:y}):u.attr({x:v,y:+t.attr(\\\"y\\\")+y-m/2}),i&&i.call(t,h),e(h)})})):o(),t}};var g=/(<|&lt;|&#60;)/g,y=/(>|&gt;|&#62;)/g,b={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\\\"},x={sub:\\\"0.3em\\\",sup:\\\"-0.6em\\\"},_={sub:\\\"-0.21em\\\",sup:\\\"0.42em\\\"},w=\\\"\\\\u200b\\\",M=[\\\"http:\\\",\\\"https:\\\",\\\"mailto:\\\",\\\"\\\",void 0,\\\":\\\"],k=new RegExp(\\\"</?(\\\"+Object.keys(b).join(\\\"|\\\")+\\\")( [^>]*)?/?>\\\",\\\"g\\\"),A=Object.keys(p.entityToUnicode).map(function(t){return{regExp:new RegExp(\\\"&\\\"+t+\\\";\\\",\\\"g\\\"),sub:p.entityToUnicode[t]}}),T=/(\\\\r\\\\n?|\\\\n)/g,S=/(<[^<>]*>)/,E=/<(\\\\/?)([^ >]*)(\\\\s+(.*))?>/i,L=/<br(\\\\s+.*)?>/i,C=/(^|[\\\\s\\\"'])style\\\\s*=\\\\s*(\\\"([^\\\"]*);?\\\"|'([^']*);?')/i,z=/(^|[\\\\s\\\"'])href\\\\s*=\\\\s*(\\\"([^\\\"]*)\\\"|'([^']*)')/i,I=/(^|[\\\\s\\\"'])target\\\\s*=\\\\s*(\\\"([^\\\"\\\\s]*)\\\"|'([^'\\\\s]*)')/i,D=/(^|[\\\\s\\\"'])popup\\\\s*=\\\\s*(\\\"([\\\\w=,]*)\\\"|'([\\\\w=,]*)')/i,P=/(^|;)\\\\s*color:/;r.plainText=function(t){return(t||\\\"\\\").replace(k,\\\" \\\")},r.lineCount=function(t){return t.selectAll(\\\"tspan.line\\\").size()||1},r.positionText=function(t,e,r){return t.each(function(){function t(t,e){return void 0===e?null===(e=n.attr(t))&&(n.attr(t,0),e=0):n.attr(t,e),e}var n=h.select(this),i=t(\\\"x\\\",e),a=t(\\\"y\\\",r);\\\"text\\\"===this.nodeName&&n.selectAll(\\\"tspan.line\\\").attr({x:i,y:a})})},r.makeEditable=function(t,e){function r(){i(),t.style({opacity:0})\\n\",\n       \";var e,r=l.attr(\\\"class\\\");(e=r?\\\".\\\"+r.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&h.select(t.node().parentNode).select(e).style({opacity:0})}function n(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}function i(){var r=h.select(a),i=r.select(\\\".svg-container\\\"),o=i.append(\\\"div\\\");o.classed(\\\"plugin-editable editable\\\",!0).style({position:\\\"absolute\\\",\\\"font-family\\\":t.style(\\\"font-family\\\")||\\\"Arial\\\",\\\"font-size\\\":t.style(\\\"font-size\\\")||12,color:e.fill||t.style(\\\"fill\\\")||\\\"black\\\",opacity:1,\\\"background-color\\\":e.background||\\\"transparent\\\",outline:\\\"#ffffff33 1px solid\\\",margin:[-parseFloat(t.style(\\\"font-size\\\"))/8+1,0,0,-1].join(\\\"px \\\")+\\\"px\\\",padding:\\\"0\\\",\\\"box-sizing\\\":\\\"border-box\\\"}).attr({contenteditable:!0}).text(e.text||t.attr(\\\"data-unformatted\\\")).call(c(t,i,e)).on(\\\"blur\\\",function(){a._editing=!1,t.text(this.textContent).style({opacity:1});var e,r=h.select(this).attr(\\\"class\\\");(e=r?\\\".\\\"+r.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&h.select(t.node().parentNode).select(e).style({opacity:0});var n=this.textContent;h.select(this).transition().duration(0).remove(),h.select(document).on(\\\"mouseup\\\",null),s.edit.call(t,n)}).on(\\\"focus\\\",function(){var t=this;a._editing=!0,h.select(document).on(\\\"mouseup\\\",function(){if(h.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on(\\\"keyup\\\",function(){27===h.event.which?(a._editing=!1,t.style({opacity:1}),h.select(this).style({opacity:0}).on(\\\"blur\\\",function(){return!1}).transition().remove(),s.cancel.call(t,this.textContent)):(s.input.call(t,this.textContent),h.select(this).call(c(t,i,e)))}).on(\\\"keydown\\\",function(){13===h.event.which&&this.blur()}).call(n)}var a=e.gd,o=e.delegate,s=h.dispatch(\\\"edit\\\",\\\"input\\\",\\\"cancel\\\"),l=o||t;if(t.style({\\\"pointer-events\\\":o?\\\"none\\\":\\\"all\\\"}),1!==t.size())throw new Error(\\\"boo\\\");return e.immediate?r():l.on(\\\"click\\\",r),h.rebind(t,s,\\\"on\\\")}},{\\\"../constants/alignment\\\":699,\\\"../constants/string_mappings\\\":706,\\\"../constants/xmlns_namespaces\\\":707,\\\"../lib\\\":725,d3:121}],746:[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\\\":130}],747:[function(t,e,r){\\\"use strict\\\";var n=e.exports={},i=t(\\\"../plots/geo/constants\\\").locationmodeToLayer,a=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=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\\\"../plots/geo/constants\\\":792,\\\"topojson-client\\\":535}],748:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=new Float32Array(e),n=0;n<e;n++)r[n]=t[n];return r}function i(t,e){for(var r=new Float64Array(e),n=0;n<e;n++)r[n]=t[n];return r}e.exports=function(t,e){if(t instanceof Float32Array)return n(t,e);if(t instanceof Float64Array)return i(t,e);throw new Error(\\\"This array type is not yet supported by `truncate`.\\\")}},{}],749:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\\\"[\\\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.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\\\":844}],750:[function(t,e,r){\\\"use strict\\\";e.exports={traces:function(){return{docalc:!1,docalcAutorange:!1,doplot:!1,dostyle:!1,docolorbars:!1,autorangeOn:!1,clearCalc:!1,fullReplot:!1}},layout:function(){return{dolegend:!1,doticks:!1,dolayoutstyle:!1,doplot:!1,docalc:!1,domodebar:!1,docamera:!1,layoutReplot:!1}},update:function(t,e){var r=e.editType;if(r)for(var n=r.split(\\\"+\\\"),i=0;i<n.length;i++)t[n[i]]=!0}}},{}],751:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t[e],n=e.charAt(0);r&&\\\"paper\\\"!==r&&(t[e]=f.cleanId(r,n))}function i(t){var e=\\\"middle\\\",r=\\\"center\\\";return-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 a(t,e){return e in t&&\\\"object\\\"==typeof t[e]&&0===Object.keys(t[e]).length}function o(t){var e=t.search(p);if(e>0)return t.substr(0,e)}var s=t(\\\"fast-isnumeric\\\"),l=t(\\\"gl-mat4/fromQuat\\\"),u=t(\\\"../registry\\\"),c=t(\\\"../lib\\\"),h=t(\\\"../plots/plots\\\"),f=t(\\\"../plots/cartesian/axes\\\"),d=t(\\\"../components/color\\\");r.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||void 0===t)throw new Error(\\\"DOM element provided is null or undefined\\\");return t},r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&c.log(\\\"Clearing previous rejected promises from queue.\\\"),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1);var i=f.list({_fullLayout:t});for(e=0;e<i.length;e++){var o=i[e];o.anchor&&\\\"free\\\"!==o.anchor&&(o.anchor=f.cleanId(o.anchor)),o.overlaying&&(o.overlaying=f.cleanId(o.overlaying)),o.type||(o.isdate?o.type=\\\"date\\\":o.islog?o.type=\\\"log\\\":!1===o.isdate&&!1===o.islog&&(o.type=\\\"linear\\\")),\\\"withzero\\\"!==o.autorange&&\\\"tozero\\\"!==o.autorange||(o.autorange=!0,o.rangemode=\\\"tozero\\\"),delete o.islog,delete o.isdate,delete o.categories,a(o,\\\"domain\\\")&&delete o.domain,void 0!==o.autotick&&(void 0===o.tickmode&&(o.tickmode=o.autotick?\\\"auto\\\":\\\"linear\\\"),delete o.autotick)}var s=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<s;e++){var u=t.annotations[e];c.isPlainObject(u)&&(u.ref&&(\\\"paper\\\"===u.ref?(u.xref=\\\"paper\\\",u.yref=\\\"paper\\\"):\\\"data\\\"===u.ref&&(u.xref=\\\"x\\\",u.yref=\\\"y\\\"),delete u.ref),n(u,\\\"xref\\\"),n(u,\\\"yref\\\"))}var p=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<p;e++){var m=t.shapes[e];c.isPlainObject(m)&&(n(m,\\\"xref\\\"),n(m,\\\"yref\\\"))}var v=t.legend;v&&(v.x>3?(v.x=1.02,v.xanchor=\\\"left\\\"):v.x<-2&&(v.x=-.02,v.xanchor=\\\"right\\\"),v.y>3?(v.y=1.02,v.yanchor=\\\"bottom\\\"):v.y<-2&&(v.y=-.02,v.yanchor=\\\"top\\\")),\\\"rotate\\\"===t.dragmode&&(t.dragmode=\\\"orbit\\\"),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var g=h.getSubplotIds(t,\\\"gl3d\\\");for(e=0;e<g.length;e++){var y=t[g[e]],b=y.cameraposition;if(Array.isArray(b)&&4===b[0].length){var x=b[0],_=b[1],w=b[2],M=l([],x),k=[];for(r=0;r<3;++r)k[r]=_[e]+w*M[2+4*r];y.camera={eye:{x:k[0],y:k[1],z:k[2]},center:{x:_[0],y:_[1],z:_[2]},up:{x:M[1],y:M[5],z:M[9]}},delete y.cameraposition}}return d.clean(t),t},r.cleanData=function(t,e){for(var n=[],o=(t.concat(Array.isArray(e)?e:[]).filter(function(t){return\\\"uid\\\"in t}).map(function(t){return t.uid})),s=0;s<t.length;s++){var l,p=t[s];if(!(\\\"uid\\\"in p)||-1!==n.indexOf(p.uid)){var m;for(l=0;l<100&&(m=c.randstr(o),-1!==n.indexOf(m));l++);p.uid=c.randstr(o),o.push(p.uid)}if(n.push(p.uid),\\\"histogramy\\\"===p.type&&\\\"xbins\\\"in p&&!(\\\"ybins\\\"in p)&&(p.ybins=p.xbins,delete p.xbins),p.error_y&&\\\"opacity\\\"in p.error_y){var v=d.defaults,g=p.error_y.color||(u.traceIs(p,\\\"bar\\\")?d.defaultLine:v[s%v.length]);p.error_y.color=d.addOpacity(d.rgb(g),d.opacity(g)*p.error_y.opacity),delete p.error_y.opacity}if(\\\"bardir\\\"in p&&(\\\"h\\\"!==p.bardir||!u.traceIs(p,\\\"bar\\\")&&\\\"histogram\\\"!==p.type.substr(0,9)||(p.orientation=\\\"h\\\",r.swapXYData(p)),delete p.bardir),\\\"histogramy\\\"===p.type&&r.swapXYData(p),\\\"histogramx\\\"!==p.type&&\\\"histogramy\\\"!==p.type||(p.type=\\\"histogram\\\"),\\\"scl\\\"in p&&(p.colorscale=p.scl,delete p.scl),\\\"reversescl\\\"in p&&(p.reversescale=p.reversescl,delete p.reversescl),p.xaxis&&(p.xaxis=f.cleanId(p.xaxis,\\\"x\\\")),p.yaxis&&(p.yaxis=f.cleanId(p.yaxis,\\\"y\\\")),u.traceIs(p,\\\"gl3d\\\")&&p.scene&&(p.scene=h.subplotsRegistry.gl3d.cleanId(p.scene)),u.traceIs(p,\\\"pie\\\")||u.traceIs(p,\\\"bar\\\")||(Array.isArray(p.textposition)?p.textposition=p.textposition.map(i):p.textposition&&(p.textposition=i(p.textposition))),u.traceIs(p,\\\"2dMap\\\")&&(\\\"YIGnBu\\\"===p.colorscale&&(p.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===p.colorscale&&(p.colorscale=\\\"YlOrRd\\\")),u.traceIs(p,\\\"markerColorscale\\\")&&p.marker){var y=p.marker;\\\"YIGnBu\\\"===y.colorscale&&(y.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===y.colorscale&&(y.colorscale=\\\"YlOrRd\\\")}if(\\\"surface\\\"===p.type&&c.isPlainObject(p.contours)){var b=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(l=0;l<b.length;l++){var x=p.contours[b[l]];c.isPlainObject(x)&&(x.highlightColor&&(x.highlightcolor=x.highlightColor,delete x.highlightColor),x.highlightWidth&&(x.highlightwidth=x.highlightWidth,delete x.highlightWidth))}}if(Array.isArray(p.transforms)){var _=p.transforms;for(l=0;l<_.length;l++){var w=_[l];if(c.isPlainObject(w))switch(w.type){case\\\"filter\\\":w.filtersrc&&(w.target=w.filtersrc,delete w.filtersrc),w.calendar&&(w.valuecalendar||(w.valuecalendar=w.calendar),delete w.calendar);break;case\\\"groupby\\\":if(w.styles=w.styles||w.style,w.styles&&!Array.isArray(w.styles)){var M=w.styles,k=Object.keys(M);w.styles=[];for(var A=0;A<k.length;A++)w.styles.push({target:k[A],value:M[k[A]]})}}}}a(p,\\\"line\\\")&&delete p.line,\\\"marker\\\"in p&&(a(p.marker,\\\"line\\\")&&delete p.marker.line,a(p,\\\"marker\\\")&&delete p.marker),d.clean(p)}},r.swapXYData=function(t){var e;if(c.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);c.swapAttrs(t,[\\\"error_?.copy_ystyle\\\"]),n&&c.swapAttrs(t,[\\\"error_?.color\\\",\\\"error_?.thickness\\\",\\\"error_?.width\\\"])}if(\\\"string\\\"==typeof t.hoverinfo){var i=t.hoverinfo.split(\\\"+\\\");for(e=0;e<i.length;e++)\\\"x\\\"===i[e]?i[e]=\\\"y\\\":\\\"y\\\"===i[e]&&(i[e]=\\\"x\\\");t.hoverinfo=i.join(\\\"+\\\")}},r.coerceTraceIndices=function(t,e){return s(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var n=t.obj,i=t.parts,a=i.length,o=i[a-1],l=s(o);if(l&&null===e){var u=i.slice(0,a-1).join(\\\".\\\");c.nestedProperty(n,u).get().splice(o,1)}else l&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var p=/(\\\\.[^\\\\[\\\\]\\\\.]+|\\\\[[^\\\\[\\\\]\\\\.]+\\\\])$/;r.hasParent=function(t,e){for(var r=o(e);r;){if(r in t)return!0;r=o(r)}return!1}},{\\\"../components/color\\\":603,\\\"../lib\\\":725,\\\"../plots/cartesian/axes\\\":766,\\\"../plots/plots\\\":829,\\\"../registry\\\":844,\\\"fast-isnumeric\\\":130,\\\"gl-mat4/fromQuat\\\":177}],752:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib/nested_property\\\"),i=t(\\\"../lib/is_plain_object\\\"),a=t(\\\"../lib/noop\\\"),o=t(\\\"../lib/loggers\\\"),s=t(\\\"../lib/search\\\").sorterAsc,l=t(\\\"../registry\\\");r.containerArrayMatch=t(\\\"./container_array_match\\\");var u=r.isAddVal=function(t){return\\\"add\\\"===t||i(t)},c=r.isRemoveVal=function(t){return null===t||\\\"remove\\\"===t};r.applyContainerArrayChanges=function(t,e,r,i){var h=e.astr,f=l.getComponentMethod(h,\\\"supplyLayoutDefaults\\\"),d=l.getComponentMethod(h,\\\"draw\\\"),p=l.getComponentMethod(h,\\\"drawOne\\\"),m=i.replot||i.recalc||f===a||d===a,v=t.layout,g=t._fullLayout;if(r[\\\"\\\"]){Object.keys(r).length>1&&o.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 o.warn(\\\"Unrecognized full array edit value\\\",h,y),!0;e.set(y)}return!m&&(f(v,g),d(t),!0)}var b,x,_,w,M,k,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],L=n(g,h).get(),C=[],z=-1,I=E.length;for(b=0;b<T.length;b++)if(_=T[b],w=r[_],M=Object.keys(w),k=w[\\\"\\\"],A=u(k),_<0||_>E.length-(A?0:1))o.warn(\\\"index out of range\\\",h,_);else if(void 0!==k)M.length>1&&o.warn(\\\"Insertion & removal are incompatible with edits to the same index.\\\",h,_),c(k)?C.push(_):A?(\\\"add\\\"===k&&(k={}),E.splice(_,0,k),L&&L.splice(_,0,{})):o.warn(\\\"Unrecognized full object edit value\\\",h,_,k),-1===z&&(z=_);else for(x=0;x<M.length;x++)n(E[_],M[x]).set(w[M[x]]);for(b=C.length-1;b>=0;b--)E.splice(C[b],1),L&&L.splice(C[b],1);if(E.length?S||e.set(E):e.set(null),m)return!1;if(f(v,g),p!==a){var D;if(-1===z)D=T;else{for(I=Math.max(E.length,I),D=[],b=0;b<T.length&&!((_=T[b])>=z);b++)D.push(_);for(b=z;b<I;b++)D.push(b)}for(b=0;b<D.length;b++)p(t,D[b])}else d(t);return!0}},{\\\"../lib/is_plain_object\\\":727,\\\"../lib/loggers\\\":729,\\\"../lib/nested_property\\\":732,\\\"../lib/noop\\\":733,\\\"../lib/search\\\":740,\\\"../registry\\\":844,\\\"./container_array_match\\\":749}],753:[function(t,e,r){\\\"use strict\\\";function n(t,e){try{t._fullLayout._paper.style(\\\"background\\\",e)}catch(t){_.error(t)}}function i(t,e){n(t,L.combine(e,\\\"white\\\"))}function a(t,e){t._context||(t._context=_.extendDeep({},x.defaultConfig));var r,a,o,s=t._context;if(e){for(a=Object.keys(e),r=0;r<a.length;r++)\\\"editable\\\"!==(o=a[r])&&\\\"edits\\\"!==o&&o in s&&(\\\"setBackground\\\"===o&&\\\"opaque\\\"===e[o]?s[o]=i:s[o]=e[o]);e.plot3dPixelRatio&&!s.plotGlPixelRatio&&(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,a=Object.keys(s.edits),r=0;r<a.length;r++)s.edits[a[r]]=l;if(e.edits)for(a=Object.keys(e.edits),r=0;r<a.length;r++)(o=a[r])in s.edits&&(s.edits[o]=e.edits[o])}s.staticPlot&&(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),\\\"hover\\\"!==s.displayModeBar||b||(s.displayModeBar=!0),\\\"transparent\\\"!==s.setBackground&&\\\"function\\\"==typeof s.setBackground||(s.setBackground=n)}function o(t,e,r){var n=g.select(t).selectAll(\\\".plot-container\\\").data([0]);n.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container plotly\\\",!0);var i=n.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),T.manager.fillLayout(t),i.style({width:t._fullLayout.width+\\\"px\\\",height:t._fullLayout.height+\\\"px\\\"}),t.framework=T.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var a=t.framework.svg(),o=1,s=t._fullLayout.title;\\\"\\\"!==s&&s||(o=0);var l=function(){this.call(I.convertToTspans,t)},u=a.select(\\\".title-group text\\\").call(l);if(t._context.edits.titleText){s&&\\\"Click to enter title\\\"!==s||(o=.2,u.attr({\\\"data-unformatted\\\":\\\"Click to enter title\\\"}).text(\\\"Click to enter title\\\").style({opacity:o}).on(\\\"mouseover.opacity\\\",function(){g.select(this).transition().duration(100).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){g.select(this).transition().duration(1e3).style(\\\"opacity\\\",0)}));var c=function(){this.call(I.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){t.framework({layout:{title:e}}),this.text(e).call(l),this.call(c)}).on(\\\"cancel\\\",function(){var t=this.attr(\\\"data-unformatted\\\");this.text(t).call(l)})};u.call(c)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),A.addLinks(t),Promise.resolve()}function s(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)n=t[r],n<0?a.push(i+n):a.push(n);return a}function l(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\\\"all values in \\\"+r+\\\" must be integers\\\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\\\" must be valid indices for gd.data.\\\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\\\"each index in \\\"+r+\\\" must be unique.\\\")}}function u(t,e,r){if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"currentIndices is a required argument.\\\");if(Array.isArray(e)||(e=[e]),l(t,e,\\\"currentIndices\\\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&l(t,r,\\\"newIndices\\\"),void 0!==r&&e.length!==r.length)throw new Error(\\\"current and new indices must be of equal length.\\\")}function c(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"traces must be defined.\\\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\\\"object\\\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\\\"all values in traces array must be non-array objects\\\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\\\"if indices is specified, traces.length must equal indices.length\\\")}function h(t,e,r,n){var i=_.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array\\\");if(!_.isPlainObject(e))throw new Error(\\\"update must be a key:value object\\\");if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers\\\");l(t,r,\\\"indices\\\");for(var a in e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\\\"attribute \\\"+a+\\\" must be an array of length equal to indices array length\\\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].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\\\")}}function f(t,e,r,n){var i,a,o,l,u,c=_.isPlainObject(n),h=[];Array.isArray(r)||(r=[r]),r=s(r,t.data.length-1);for(var f in e)for(var d=0;d<r.length;d++){if(i=t.data[r[d]],o=_.nestedProperty(i,f),a=o.get(),l=e[f][d],!Array.isArray(l))throw new Error(\\\"attribute: \\\"+f+\\\" index: \\\"+d+\\\" must be an array\\\");if(!Array.isArray(a))throw new Error(\\\"cannot extend missing or non-array attribute: \\\"+f);u=c?n[f][d]:n,y(u)||(u=-1),h.push({prop:o,target:a,insert:l,maxp:Math.floor(u)})}return h}function d(t,e,r,n,i,a){h(t,e,r,n);for(var o,s,l,u=f(t,e,r,n),c=[],d={},p={},m=0;m<u.length;m++)s=u[m].prop,l=u[m].maxp,o=i(u[m].target,u[m].insert),l>=0&&l<o.length&&(c=a(o,l)),l=u[m].target.length,s.set(o),Array.isArray(d[s.astr])||(d[s.astr]=[]),Array.isArray(p[s.astr])||(p[s.astr]=[]),d[s.astr].push(c),p[s.astr].push(l);return{update:d,maxPoints:p}}function p(t,e,r){function n(){return d.map(function(){})}function i(t){var e=x.Axes.id2name(t);-1===u.indexOf(e)&&u.push(e)}function a(t){return\\\"LAYOUT\\\"+t+\\\".autorange\\\"}function o(t){return\\\"LAYOUT\\\"+t+\\\".range\\\"}function s(r,i,a){if(Array.isArray(r))return void r.forEach(function(t){s(t,i,a)});if(!(r in e||P.hasParent(e,r))){var o;o=\\\"LAYOUT\\\"===r.substr(0,6)?_.nestedProperty(t.layout,r.replace(\\\"LAYOUT\\\",\\\"\\\")):_.nestedProperty(f[d[a]],r),r in v||(v[r]=n()),void 0===v[r][a]&&(v[r][a]=o.get()),void 0!==i&&o.set(i)}}var l,u,c=t._fullLayout,h=t._fullData,f=t.data,d=P.coerceTraceIndices(t,r),p=R.traces(),m={},v={},g={},y=[\\\"mode\\\",\\\"visible\\\",\\\"type\\\",\\\"orientation\\\",\\\"fill\\\",\\\"histfunc\\\",\\\"histnorm\\\",\\\"text\\\",\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"open\\\",\\\"high\\\",\\\"low\\\",\\\"close\\\",\\\"base\\\",\\\"width\\\",\\\"offset\\\",\\\"xtype\\\",\\\"x0\\\",\\\"dx\\\",\\\"ytype\\\",\\\"y0\\\",\\\"dy\\\",\\\"xaxis\\\",\\\"yaxis\\\",\\\"line.width\\\",\\\"connectgaps\\\",\\\"transpose\\\",\\\"zsmooth\\\",\\\"showscale\\\",\\\"marker.showscale\\\",\\\"zauto\\\",\\\"marker.cauto\\\",\\\"autocolorscale\\\",\\\"marker.autocolorscale\\\",\\\"colorscale\\\",\\\"marker.colorscale\\\",\\\"reversescale\\\",\\\"marker.reversescale\\\",\\\"autobinx\\\",\\\"nbinsx\\\",\\\"xbins\\\",\\\"xbins.start\\\",\\\"xbins.end\\\",\\\"xbins.size\\\",\\\"autobiny\\\",\\\"nbinsy\\\",\\\"ybins\\\",\\\"ybins.start\\\",\\\"ybins.end\\\",\\\"ybins.size\\\",\\\"error_y\\\",\\\"error_y.visible\\\",\\\"error_y.value\\\",\\\"error_y.type\\\",\\\"error_y.traceref\\\",\\\"error_y.array\\\",\\\"error_y.symmetric\\\",\\\"error_y.arrayminus\\\",\\\"error_y.valueminus\\\",\\\"error_y.tracerefminus\\\",\\\"error_x\\\",\\\"error_x.visible\\\",\\\"error_x.value\\\",\\\"error_x.type\\\",\\\"error_x.traceref\\\",\\\"error_x.array\\\",\\\"error_x.symmetric\\\",\\\"error_x.arrayminus\\\",\\\"error_x.valueminus\\\",\\\"error_x.tracerefminus\\\",\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientationaxes\\\",\\\"marker.colors\\\",\\\"values\\\",\\\"labels\\\",\\\"label0\\\",\\\"dlabel\\\",\\\"sort\\\",\\\"textinfo\\\",\\\"textposition\\\",\\\"textfont.size\\\",\\\"textfont.family\\\",\\\"textfont.color\\\",\\\"insidetextfont.size\\\",\\\"insidetextfont.family\\\",\\\"insidetextfont.color\\\",\\\"outsidetextfont.size\\\",\\\"outsidetextfont.family\\\",\\\"outsidetextfont.color\\\",\\\"hole\\\",\\\"scalegroup\\\",\\\"domain\\\",\\\"domain.x\\\",\\\"domain.y\\\",\\\"domain.x[0]\\\",\\\"domain.x[1]\\\",\\\"domain.y[0]\\\",\\\"domain.y[1]\\\",\\\"tilt\\\",\\\"tiltaxis\\\",\\\"depth\\\",\\\"direction\\\",\\\"rotation\\\",\\\"pull\\\",\\\"line.showscale\\\",\\\"line.cauto\\\",\\\"line.autocolorscale\\\",\\\"line.reversescale\\\",\\\"marker.line.showscale\\\",\\\"marker.line.cauto\\\",\\\"marker.line.autocolorscale\\\",\\\"marker.line.reversescale\\\",\\\"xcalendar\\\",\\\"ycalendar\\\",\\\"cumulative\\\",\\\"cumulative.enabled\\\",\\\"cumulative.direction\\\",\\\"cumulative.currentbin\\\",\\\"a0\\\",\\\"da\\\",\\\"b0\\\",\\\"db\\\",\\\"atype\\\",\\\"btype\\\",\\\"cheaterslope\\\",\\\"carpet\\\",\\\"sum\\\"],b=[\\\"color\\\",\\\"smoothing\\\",\\\"title\\\",\\\"titlefont\\\",\\\"titlefont.size\\\",\\\"titlefont.family\\\",\\\"titlefont.color\\\",\\\"titleoffset\\\",\\\"type\\\",\\\"autorange\\\",\\\"rangemode\\\",\\\"range\\\",\\\"fixedrange\\\",\\\"cheatertype\\\",\\\"tickmode\\\",\\\"nticks\\\",\\\"tickvals\\\",\\\"ticktext\\\",\\\"ticks\\\",\\\"mirror\\\",\\\"ticklen\\\",\\\"tickwidth\\\",\\\"tickcolor\\\",\\\"showticklabels\\\",\\\"tickfont\\\",\\\"tickfont.size\\\",\\\"tickfont.family\\\",\\\"tickfont.color\\\",\\\"tickprefix\\\",\\\"showtickprefix\\\",\\\"ticksuffix\\\",\\\"showticksuffix\\\",\\\"showexponent\\\",\\\"exponentformat\\\",\\\"separatethousands\\\",\\\"tickformat\\\",\\\"categoryorder\\\",\\\"categoryarray\\\",\\\"labelpadding\\\",\\\"labelprefix\\\",\\\"labelsuffix\\\",\\\"labelfont\\\",\\\"labelfont.family\\\",\\\"labelfont.size\\\",\\\"labelfont.color\\\",\\\"showline\\\",\\\"linecolor\\\",\\\"linewidth\\\",\\\"gridcolor\\\",\\\"gridwidth\\\",\\\"showgrid\\\",\\\"minorgridcount\\\",\\\"minorgridwidth\\\",\\\"minorgridcolor\\\",\\\"startline\\\",\\\"startlinecolor\\\",\\\"startlinewidth\\\",\\\"endline\\\",\\\"endlinewidth\\\",\\\"endlinecolor\\\",\\\"tick0\\\",\\\"dtick\\\",\\\"arraytick0\\\",\\\"arraydtick\\\",\\\"hoverformat\\\",\\\"tickangle\\\"];for(l=0;l<b.length;l++)y.push(\\\"aaxis.\\\"+b[l]),y.push(\\\"baxis.\\\"+b[l]);for(l=0;l<d.length;l++)if(k.traceIs(h[d[l]],\\\"box\\\")){y.push(\\\"name\\\");break}var w=[\\\"marker\\\",\\\"marker.size\\\",\\\"textfont\\\",\\\"boxpoints\\\",\\\"jitter\\\",\\\"pointpos\\\",\\\"whiskerwidth\\\",\\\"boxmean\\\",\\\"tickwidth\\\"],M=[\\\"zmin\\\",\\\"zmax\\\",\\\"zauto\\\",\\\"xgap\\\",\\\"ygap\\\",\\\"marker.cmin\\\",\\\"marker.cmax\\\",\\\"marker.cauto\\\",\\\"line.cmin\\\",\\\"line.cmax\\\",\\\"marker.line.cmin\\\",\\\"marker.line.cmax\\\",\\\"line\\\",\\\"line.smoothing\\\",\\\"line.shape\\\",\\\"error_y.width\\\",\\\"error_x.width\\\",\\\"error_x.copy_ystyle\\\",\\\"marker.maxdisplayed\\\"],T=[\\\"type\\\",\\\"x\\\",\\\"y\\\",\\\"x0\\\",\\\"y0\\\",\\\"orientation\\\",\\\"xaxis\\\",\\\"yaxis\\\"],S=[\\\"zmin\\\",\\\"zmax\\\"],E=[\\\"cmin\\\",\\\"cmax\\\"],L=[\\\"xbins.start\\\",\\\"xbins.end\\\",\\\"xbins.size\\\"],C=[\\\"ybins.start\\\",\\\"ybins.end\\\",\\\"ybins.size\\\"],z=[\\\"contours.start\\\",\\\"contours.end\\\",\\\"contours.size\\\"],I=[\\\"cartesian\\\",\\\"pie\\\",\\\"ternary\\\"];c._basePlotModules.forEach(function(t){-1===I.indexOf(t.name)&&(p.docalc=!0)});for(var D in e){if(P.hasParent(e,D))throw new Error(\\\"cannot set \\\"+D+\\\"and a parent attribute simultaneously\\\");var O,F,j,N,B,U=e[D];if(m[D]=U,\\\"LAYOUT\\\"!==D.substr(0,6)){for(v[D]=n(),l=0;l<d.length;l++)if(O=f[d[l]],F=h[d[l]],j=_.nestedProperty(O,D),N=j.get(),void 0!==(B=Array.isArray(U)?U[l%U.length]:U)){if(-1!==S.indexOf(D)&&s(\\\"zauto\\\",!1,l),-1!==E.indexOf(D))s(\\\"cauto\\\",!1,l);else if(\\\"colorscale\\\"===D)s(\\\"autocolorscale\\\",!1,l);else if(\\\"autocolorscale\\\"===D)s(\\\"colorscale\\\",void 0,l);else if(\\\"marker.colorscale\\\"===D)s(\\\"marker.autocolorscale\\\",!1,l);else if(\\\"marker.autocolorscale\\\"===D)s(\\\"marker.colorscale\\\",void 0,l);else if(\\\"zauto\\\"===D)s(S,void 0,l);else if(-1!==L.indexOf(D))s(\\\"autobinx\\\",!1,l);else if(\\\"autobinx\\\"===D)s(L,void 0,l);else if(-1!==C.indexOf(D))s(\\\"autobiny\\\",!1,l);else if(\\\"autobiny\\\"===D)s(C,void 0,l);else if(-1!==z.indexOf(D))s(\\\"autocontour\\\",!1,l);else if(\\\"autocontour\\\"===D)s(z,void 0,l);else if(-1!==[\\\"x0\\\",\\\"dx\\\"].indexOf(D)&&F.x&&\\\"scaled\\\"!==F.xtype)s(\\\"xtype\\\",\\\"scaled\\\",l);else if(-1!==[\\\"y0\\\",\\\"dy\\\"].indexOf(D)&&F.y&&\\\"scaled\\\"!==F.ytype)s(\\\"ytype\\\",\\\"scaled\\\",l);else if(\\\"colorbar.thicknessmode\\\"===D&&j.get()!==B&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(B)&&F.colorbar){var V=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(F.colorbar.orient)?c.height-c.margin.t-c.margin.b:c.width-c.margin.l-c.margin.r;s(\\\"colorbar.thickness\\\",F.colorbar.thickness*(\\\"fraction\\\"===B?1/V:V),l)}else if(\\\"colorbar.lenmode\\\"===D&&j.get()!==B&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(B)&&F.colorbar){var H=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(F.colorbar.orient)?c.width-c.margin.l-c.margin.r:c.height-c.margin.t-c.margin.b;s(\\\"colorbar.len\\\",F.colorbar.len*(\\\"fraction\\\"===B?1/H:H),l)}else\\\"colorbar.tick0\\\"===D||\\\"colorbar.dtick\\\"===D?s(\\\"colorbar.tickmode\\\",\\\"linear\\\",l):\\\"colorbar.tickmode\\\"===D&&s([\\\"colorbar.tick0\\\",\\\"colorbar.dtick\\\"],void 0,l);if(\\\"type\\\"===D&&\\\"pie\\\"===B!=(\\\"pie\\\"===N)){var q=\\\"x\\\",G=\\\"y\\\";\\\"bar\\\"!==B&&\\\"bar\\\"!==N||\\\"h\\\"!==O.orientation||(q=\\\"y\\\",G=\\\"x\\\"),_.swapAttrs(O,[\\\"?\\\",\\\"?src\\\"],\\\"labels\\\",q),_.swapAttrs(O,[\\\"d?\\\",\\\"?0\\\"],\\\"label\\\",q),_.swapAttrs(O,[\\\"?\\\",\\\"?src\\\"],\\\"values\\\",G),\\\"pie\\\"===N?(_.nestedProperty(O,\\\"marker.color\\\").set(_.nestedProperty(O,\\\"marker.colors\\\").get()),c._pielayer.selectAll(\\\"g.trace\\\").remove()):k.traceIs(O,\\\"cartesian\\\")&&(_.nestedProperty(O,\\\"marker.colors\\\").set(_.nestedProperty(O,\\\"marker.color\\\").get()),g[O.xaxis||\\\"x\\\"]=!0,g[O.yaxis||\\\"y\\\"]=!0)}v[D][l]=N;var Y=[\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientation\\\",\\\"orientationaxes\\\"];if(-1!==Y.indexOf(D)){if(\\\"orientation\\\"===D){if(j.set(B),j.get()===v[D][l])continue}else\\\"orientationaxes\\\"===D&&(O.orientation={v:\\\"h\\\",h:\\\"v\\\"}[F.orientation]);P.swapXYData(O)}else if(-1!==A.dataArrayContainers.indexOf(j.parts[0]))P.manageArrayContainers(j,B,v),p.docalc=!0;else{var X=j.parts[0],W=(F._module||{}).attributes,Z=W&&W[X];if(Z||(Z=A.attributes[X]),Z){for(var J=1;J<j.parts.length;J++){var K=Z[j.parts[J]];if(!K)break;Z=K}(!Z.valType||Z.arrayOk&&(Array.isArray(B)||Array.isArray(N)))&&(p.docalc=!0),R.update(p,Z)}else p.docalc=!0;j.set(B)}}if(-1!==[\\\"swapxyaxes\\\",\\\"orientationaxes\\\"].indexOf(D)&&x.Axes.swap(t,d),\\\"orientationaxes\\\"===D){var Q=_.nestedProperty(t.layout,\\\"hovermode\\\");\\\"x\\\"===Q.get()?Q.set(\\\"y\\\"):\\\"y\\\"===Q.get()&&Q.set(\\\"x\\\")}-1!==d.indexOf(0)&&-1!==T.indexOf(D)&&(x.Axes.clearTypes(t,d),p.docalc=!0),-1!==[\\\"autobinx\\\",\\\"autobiny\\\",\\\"zauto\\\"].indexOf(D)&&!1===B||(p.dostyle=!0),(-1!==[\\\"colorbar\\\",\\\"line\\\"].indexOf(j.parts[0])||\\\"marker\\\"===j.parts[0]&&\\\"colorbar\\\"===j.parts[1])&&(p.docolorbars=!0);var $=D.indexOf(\\\"[\\\"),tt=-1===$?D:D.substr(0,$);if(-1!==y.indexOf(tt)){if(-1!==[\\\"orientation\\\",\\\"type\\\"].indexOf(D)){for(u=[],l=0;l<d.length;l++){var et=f[d[l]];k.traceIs(et,\\\"cartesian\\\")&&(i(et.xaxis||\\\"x\\\"),i(et.yaxis||\\\"y\\\"),\\\"type\\\"===D&&s([\\\"autobinx\\\",\\\"autobiny\\\"],!0,l))}s(u.map(a),!0,0),s(u.map(o),[0,1],0)}p.docalc=!0}else-1!==M.indexOf(tt)?p.doplot=!0:0===tt.indexOf(\\\"aaxis\\\")||0===tt.indexOf(\\\"baxis\\\")?p.doplot=!0:-1!==w.indexOf(tt)&&(p.docalcAutorange=!0)}else j=_.nestedProperty(t.layout,D.replace(\\\"LAYOUT\\\",\\\"\\\")),v[D]=[j.get()],j.set(Array.isArray(U)?U[0]:U),p.docalc=!0}x.Axes.list(t).forEach(function(t){t.autorange&&(p.autorangeOn=!0)});var rt=Object.keys(g);t:for(l=0;l<rt.length;l++){for(var nt=rt[l],it=nt.charAt(0),at=it+\\\"axis\\\",ot=0;ot<f.length;ot++)if(k.traceIs(f[ot],\\\"cartesian\\\")&&(f[ot][at]||it)===nt)continue t;s(\\\"LAYOUT\\\"+x.Axes.id2name(nt),null,0)}return(p.docalc||p.docalcAutorange&&p.autorangeOn)&&(p.clearCalc=!0),(p.docalc||p.doplot||p.docalcAutorange)&&(p.fullReplot=!0),{flags:p,undoit:v,redoit:m,traces:d,eventData:_.extendDeepNoArrays([],[m,d])}}function m(t,e){function r(t,n){if(Array.isArray(t))return void t.forEach(function(t){r(t,n)});if(!(t in e||P.hasParent(e,t))){var i=_.nestedProperty(l,t);t in b||(b[t]=i.get()),void 0!==n&&i.set(n)}}function n(e,r){if(!_.isPlainObject(e))return!1;var n=e[r+\\\"ref\\\"]||r,i=x.Axes.getFromId(t,n);return i||n.charAt(0)!==r||(i=x.Axes.getFromId(t,r)),(i||{}).autorange}function i(t){var e=U.name2id(t.split(\\\".\\\")[0]);return w[e]=1,e}var a,o,s,l=t.layout,u=t._fullLayout,c=Object.keys(e),h=x.Axes.list(t),f={};for(o=0;o<c.length;o++)if(0===c[o].indexOf(\\\"allaxes\\\")){for(s=0;s<h.length;s++){var d=h[s]._id.substr(1),p=-1!==d.indexOf(\\\"scene\\\")?d+\\\".\\\":\\\"\\\",m=c[o].replace(\\\"allaxes\\\",p+h[s]._name);e[m]||(e[m]=e[c[o]])}delete e[c[o]]}var v,g=R.layout(),y={},b={},w={};for(var M in e){if(P.hasParent(e,M))throw new Error(\\\"cannot set \\\"+M+\\\"and a parent attribute simultaneously\\\");var T=_.nestedProperty(l,M),S=e[M],E=T.parts.length,L=\\\"string\\\"==typeof T.parts[E-1]?E-1:E-2,C=T.parts[0],z=T.parts[L],I=T.parts[L-1]+\\\".\\\"+z,O=T.parts.slice(0,L).join(\\\".\\\"),j=_.nestedProperty(t.layout,O).get(),N=_.nestedProperty(u,O).get(),B=T.get();if(void 0!==S){if(y[M]=S,b[M]=\\\"reverse\\\"===z?S:B,-1!==[\\\"width\\\",\\\"height\\\"].indexOf(M)&&null===S)u[M]=t._initialAutoSize[M];else if(I.match(/^[xyz]axis[0-9]*\\\\.range(\\\\[[0|1]\\\\])?$/))r(O+\\\".autorange\\\",!1),i(I),_.nestedProperty(u,O+\\\"._inputRange\\\").set(null);else if(I.match(/^[xyz]axis[0-9]*\\\\.autorange$/)){r([O+\\\".range[0]\\\",O+\\\".range[1]\\\"],void 0),i(I),_.nestedProperty(u,O+\\\"._inputRange\\\").set(null);var V=_.nestedProperty(u,O).get();V._inputDomain&&(V._input.domain=V._inputDomain.slice())}else I.match(/^[xyz]axis[0-9]*\\\\.domain(\\\\[[0|1]\\\\])?$/)?_.nestedProperty(u,O+\\\"._inputDomain\\\").set(null):I.match(/^[xyz]axis[0-9]*\\\\.constrain.*$/)?g.docalc=!0:I.match(/^aspectratio\\\\.[xyz]$/)?r(C+\\\".aspectmode\\\",\\\"manual\\\"):I.match(/^aspectmode$/)?r([O+\\\".x\\\",O+\\\".y\\\",O+\\\".z\\\"],void 0):\\\"tick0\\\"===z||\\\"dtick\\\"===z?r(O+\\\".tickmode\\\",\\\"linear\\\"):\\\"tickmode\\\"===z?r([O+\\\".tick0\\\",O+\\\".dtick\\\"],void 0):/[xy]axis[0-9]*?$/.test(z)&&!Object.keys(S||{}).length?g.docalc=!0:/[xy]axis[0-9]*\\\\.categoryorder$/.test(I)?g.docalc=!0:/[xy]axis[0-9]*\\\\.categoryarray/.test(I)&&(g.docalc=!0);if(-1!==I.indexOf(\\\"rangeslider\\\")&&(g.docalc=!0),\\\"type\\\"===z){var H=j,q=\\\"linear\\\"===N.type&&\\\"log\\\"===S,G=\\\"log\\\"===N.type&&\\\"linear\\\"===S;if(q||G){if(H&&H.range)if(N.autorange)q&&(H.range=H.range[1]>H.range[0]?[1,2]:[2,1]);else{var Y=H.range[0],X=H.range[1];q?(Y<=0&&X<=0&&r(O+\\\".autorange\\\",!0),Y<=0?Y=X/1e6:X<=0&&(X=Y/1e6),r(O+\\\".range[0]\\\",Math.log(Y)/Math.LN10),r(O+\\\".range[1]\\\",Math.log(X)/Math.LN10)):(r(O+\\\".range[0]\\\",Math.pow(10,Y)),r(O+\\\".range[1]\\\",Math.pow(10,X)))}else r(O+\\\".autorange\\\",!0);k.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,N,S,r),k.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,N,S,r)}else r(O+\\\".autorange\\\",!0);_.nestedProperty(u,O+\\\"._inputRange\\\").set(null)}else if(z.match(F.AX_NAME_PATTERN)){var W=_.nestedProperty(u,M).get(),Z=(S||{}).type;Z&&\\\"-\\\"!==Z||(Z=\\\"linear\\\"),k.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,W,Z,r),k.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,W,Z,r)}var J=D.containerArrayMatch(M);if(J){a=J.array,o=J.index;var K=J.property,Q=_.nestedProperty(l,a),$=(Q||[])[o]||{};if(\\\"\\\"===o)-1===M.indexOf(\\\"updatemenus\\\")&&(g.docalc=!0);else if(\\\"\\\"===K){var tt=S;D.isAddVal(S)?b[M]=null:D.isRemoveVal(S)?(b[M]=$,tt=$):_.warn(\\\"unrecognized full object value\\\",e),(n(tt,\\\"x\\\")||n(tt,\\\"y\\\")&&-1===M.indexOf(\\\"updatemenus\\\"))&&(g.docalc=!0)}else!n($,\\\"x\\\")&&!n($,\\\"y\\\")||_.containsAny(M,[\\\"color\\\",\\\"opacity\\\",\\\"align\\\",\\\"dash\\\",\\\"updatemenus\\\"])||(g.docalc=!0);f[a]||(f[a]={});var et=f[a][o];et||(et=f[a][o]={}),et[K]=S,delete e[M]}else if(\\\"reverse\\\"===z)j.range?j.range.reverse():(r(O+\\\".autorange\\\",!0),j.range=[1,0]),N.autorange?g.docalc=!0:g.doplot=!0;else{var rt=String(T.parts[1]||\\\"\\\");0===C.indexOf(\\\"scene\\\")?\\\"camera\\\"===T.parts[1]?g.docamera=!0:g.doplot=!0:0===C.indexOf(\\\"geo\\\")?g.doplot=!0:0===C.indexOf(\\\"ternary\\\")?g.doplot=!0:\\\"paper_bgcolor\\\"===M?g.doplot=!0:\\\"margin\\\"===C||\\\"autorange\\\"===rt||\\\"rangemode\\\"===rt||\\\"type\\\"===rt||\\\"domain\\\"===rt||\\\"fixedrange\\\"===rt||\\\"scaleanchor\\\"===rt||\\\"scaleratio\\\"===rt||-1!==M.indexOf(\\\"calendar\\\")||M.match(/^(bar|box|font)/)?g.docalc=!0:!u._has(\\\"gl2d\\\")||-1===M.indexOf(\\\"axis\\\")&&\\\"plot_bgcolor\\\"!==M?!u._has(\\\"gl2d\\\")||\\\"dragmode\\\"!==M||\\\"lasso\\\"!==S&&\\\"select\\\"!==S||\\\"lasso\\\"===B||\\\"select\\\"===B?\\\"hiddenlabels\\\"===M?g.docalc=!0:-1!==C.indexOf(\\\"legend\\\")?g.dolegend=!0:-1!==M.indexOf(\\\"title\\\")?g.doticks=!0:-1!==C.indexOf(\\\"bgcolor\\\")?g.dolayoutstyle=!0:E>1&&_.containsAny(rt,[\\\"tick\\\",\\\"exponent\\\",\\\"grid\\\",\\\"zeroline\\\"])?g.doticks=!0:-1!==M.indexOf(\\\".linewidth\\\")&&-1!==M.indexOf(\\\"axis\\\")?g.doticks=g.dolayoutstyle=!0:E>1&&-1!==rt.indexOf(\\\"line\\\")?g.dolayoutstyle=!0:E>1&&\\\"mirror\\\"===rt?g.doticks=g.dolayoutstyle=!0:\\\"margin.pad\\\"===M?g.doticks=g.dolayoutstyle=!0:-1!==[\\\"hovermode\\\",\\\"dragmode\\\"].indexOf(M)||-1!==M.indexOf(\\\"spike\\\")?g.domodebar=!0:-1===[\\\"height\\\",\\\"width\\\",\\\"autosize\\\"].indexOf(M)&&(g.doplot=!0):g.docalc=!0:g.doplot=!0,T.set(S)}}}for(a in f){D.applyContainerArrayChanges(t,_.nestedProperty(l,a),f[a],g)||(g.doplot=!0)}var nt=u._axisConstraintGroups;for(v in w)for(o=0;o<nt.length;o++){var it=nt[o];if(it[v]){g.docalc=!0;for(var at in it)w[at]||(U.getFromId(t,at)._constraintShrinkable=!0)}}var ot=u.width,st=u.height;return t.layout.autosize&&A.plotAutoSize(t,t.layout,u),(e.height||e.width||u.width!==ot||u.height!==st)&&(g.docalc=!0),(g.doplot||g.docalc)&&(g.layoutReplot=!0),{flags:g,undoit:b,redoit:y,eventData:_.extendDeep({},y)}}function v(t){var e=g.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([0]),r._glcontainer.enter().append(\\\"div\\\").classed(\\\"gl-container\\\",!0),r._paperdiv.selectAll(\\\".main-svg\\\").remove(),\\n\",\n       \"r._paper=r._paperdiv.insert(\\\"svg\\\",\\\":first-child\\\").classed(\\\"main-svg\\\",!0),r._toppaper=r._paperdiv.append(\\\"svg\\\").classed(\\\"main-svg\\\",!0),!r._uid){var n=[];g.selectAll(\\\"defs\\\").each(function(){this.id&&n.push(this.id.split(\\\"-\\\")[1])}),r._uid=_.randstr(n)}r._paperdiv.selectAll(\\\".main-svg\\\").attr(z.svgAttrs),r._defs=r._paper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"defs-\\\"+r._uid),r._topdefs=r._toppaper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"topdefs-\\\"+r._uid),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._ternarylayer=r._paper.append(\\\"g\\\").classed(\\\"ternarylayer\\\",!0),r._geolayer=r._paper.append(\\\"g\\\").classed(\\\"geolayer\\\",!0);var a=r._paper.append(\\\"g\\\").classed(\\\"layer-above\\\",!0);r._imageUpperLayer=a.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),r._shapeUpperLayer=a.append(\\\"g\\\").classed(\\\"shapelayer\\\",!0),r._pielayer=r._paper.append(\\\"g\\\").classed(\\\"pielayer\\\",!0),r._glimages=r._paper.append(\\\"g\\\").classed(\\\"glimages\\\",!0),r._infolayer=r._toppaper.append(\\\"g\\\").classed(\\\"infolayer\\\",!0),r._zoomlayer=r._toppaper.append(\\\"g\\\").classed(\\\"zoomlayer\\\",!0),r._hoverlayer=r._toppaper.append(\\\"g\\\").classed(\\\"hoverlayer\\\",!0),t.emit(\\\"plotly_framework\\\")}var g=t(\\\"d3\\\"),y=t(\\\"fast-isnumeric\\\"),b=t(\\\"has-hover\\\"),x=t(\\\"../plotly\\\"),_=t(\\\"../lib\\\"),w=t(\\\"../lib/events\\\"),M=t(\\\"../lib/queue\\\"),k=t(\\\"../registry\\\"),A=t(\\\"../plots/plots\\\"),T=t(\\\"../plots/polar\\\"),S=t(\\\"../plots/cartesian/graph_interact\\\"),E=t(\\\"../components/drawing\\\"),L=t(\\\"../components/color\\\"),C=t(\\\"../components/errorbars\\\"),z=t(\\\"../constants/xmlns_namespaces\\\"),I=t(\\\"../lib/svg_text_utils\\\"),D=t(\\\"./manage_arrays\\\"),P=t(\\\"./helpers\\\"),O=t(\\\"./subroutines\\\"),R=t(\\\"./edit_types\\\"),F=t(\\\"../plots/cartesian/constants\\\"),j=t(\\\"../plots/cartesian/constraints\\\"),N=j.enforce,B=j.clean,U=t(\\\"../plots/cartesian/axis_ids\\\");x.plot=function(t,e,r,n){function i(){if(m)return x.addFrames(t,m)}function s(){for(var e=M._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return _.syncOrAsync([O.layoutStyles],t)}function l(){var e,r,n,i=t.calcdata;for(k.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t),e=0;e<i.length;e++)r=i[e],n=r[0].trace,!0===n.visible&&n._module.colorbar?n._module.colorbar(t,r):A.autoMargin(t,\\\"cb\\\"+n.uid);return A.doAutoMargin(t),A.previousPromises(t)}function u(){if(JSON.stringify(M._size)!==z)return _.syncOrAsync([l,O.layoutStyles],t)}function c(){if(!T)return void N(t);var e,r,n,i=A.getSubplotIds(M,\\\"cartesian\\\"),a=M._modules,o=[];for(n=0;n<a.length;n++)_.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r<i.length;r++)for(e=M._plots[i[r]],n=0;n<o.length;n++)o[n](t,e);return C.calc(t),_.syncOrAsync([k.getComponentMethod(\\\"shapes\\\",\\\"calcAutorange\\\"),k.getComponentMethod(\\\"annotations\\\",\\\"calcAutorange\\\"),h,k.getComponentMethod(\\\"rangeslider\\\",\\\"calcAutorange\\\")],t)}function h(){if(!t._transitioning){for(var e=x.Axes.list(t,\\\"\\\",!0),r=0;r<e.length;r++){var n=e[r];B(t,n),x.Axes.doAutoRange(n)}N(t),b&&x.Axes.saveRangeInitial(t)}}function f(){return x.Axes.doTicks(t,\\\"redraw\\\")}function d(){var e,r=t.calcdata,n=M._infolayer.selectAll(\\\"g.rangeslider-container\\\");for(e=0;e<r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!k.traceIs(i,\\\"2dMap\\\")){var s=\\\".hm\\\"+o+\\\",.contour\\\"+o+\\\",#clip\\\"+o;M._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&&i._module.colorbar||M._infolayer.selectAll(\\\".cb\\\"+o).remove()}var l=M._basePlotModules;for(e=0;e<l.length;e++)l[e].plot(t);var u=M._paper.selectAll(\\\".layer-subplot\\\");return M._shapeSubplotLayers=u.selectAll(\\\".shapelayer\\\"),A.style(t),k.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),A.addLinks(t),M._replotting=!1,A.previousPromises(t)}function p(){k.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"images\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"rangeslider\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),k.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t)}var m;if(t=P.getGraphDiv(t),w.init(t),_.isPlainObject(e)){var y=e;e=y.data,r=y.layout,n=y.config,m=y.frames}if(!1===w.triggerHandler(t,\\\"plotly_beforeplot\\\",[e,r,n]))return Promise.reject();e||r||_.isPlotDiv(t)||_.warn(\\\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\\\",t),a(t,n),r||(r={}),g.select(t).classed(\\\"js-plotly-plot\\\",!0),E.makeTester(),t._promises=[];var b=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(P.cleanData(e,t.data),b?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!b||(t.layout=P.cleanLayout(r)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,A.supplyDefaults(t);var M=t._fullLayout;if(e&&e[0]&&e[0].r)return o(t,e,r);M._replotting=!0,b&&v(t),t.framework!==v&&(t.framework=v,v(t)),E.initGradients(t),b&&x.Axes.saveShowSpikeInitial(t);var T=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;T&&A.doCalcdata(t);for(var L=0;L<t.calcdata.length;L++)t.calcdata[L][0].trace=t._fullData[L];var z=JSON.stringify(M._size),I=[A.previousPromises,i,s,l,u,c,O.layoutStyles,f,d,p,S,A.rehover];return _.syncOrAsync(I,t),Promise.all(t._promises).then(function(){return t.emit(\\\"plotly_afterplot\\\"),t})},x.redraw=function(t){if(t=P.getGraphDiv(t),!_.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);return P.cleanData(t.data,t.data),P.cleanLayout(t.layout),t.calcdata=void 0,x.plot(t).then(function(){return t.emit(\\\"plotly_redraw\\\"),t})},x.newPlot=function(t,e,r,n){return t=P.getGraphDiv(t),A.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),A.purge(t),x.plot(t,e,r,n)},x.extendTraces=function t(e,r,n,i){e=P.getGraphDiv(e);var a=d(e,r,n,i,function(t,e){return t.concat(e)},function(t,e){return t.splice(0,t.length-e)}),o=x.redraw(e),s=[e,a.update,n,a.maxPoints];return M.add(e,x.prependTraces,s,t,arguments),o},x.prependTraces=function t(e,r,n,i){e=P.getGraphDiv(e);var a=d(e,r,n,i,function(t,e){return e.concat(t)},function(t,e){return t.splice(e,t.length)}),o=x.redraw(e),s=[e,a.update,n,a.maxPoints];return M.add(e,x.extendTraces,s,t,arguments),o},x.addTraces=function t(e,r,n){e=P.getGraphDiv(e);var i,a,o=[],s=x.deleteTraces,l=t,h=[e,o],f=[e,r];for(c(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return _.extendFlat({},t)}),P.cleanData(r,e.data),i=0;i<r.length;i++)e.data.push(r[i]);for(i=0;i<r.length;i++)o.push(-r.length+i);if(void 0===n)return a=x.redraw(e),M.add(e,s,h,l,f),a;Array.isArray(n)||(n=[n]);try{u(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return M.startSequence(e),M.add(e,s,h,l,f),a=x.moveTraces(e,o,n),M.stopSequence(e),a},x.deleteTraces=function t(e,r){e=P.getGraphDiv(e);var n,i,a=[],o=x.addTraces,u=t,c=[e,a,r],h=[e,r];if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers.\\\");for(Array.isArray(r)||(r=[r]),l(e,r,\\\"indices\\\"),r=s(r,e.data.length-1),r.sort(_.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var f=x.redraw(e);return M.add(e,o,c,u,h),f},x.moveTraces=function t(e,r,n){e=P.getGraphDiv(e);var i,a=[],o=[],l=t,c=t,h=[e,n,r],f=[e,r,n];if(u(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i<r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=s(r,e.data.length-1),n=s(n,e.data.length-1),i=0;i<e.data.length;i++)-1===r.indexOf(i)&&a.push(e.data[i]);for(i=0;i<r.length;i++)o.push({newIndex:n[i],trace:e.data[r[i]]});for(o.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<o.length;i+=1)a.splice(o[i].newIndex,0,o[i].trace);e.data=a;var d=x.redraw(e);return M.add(e,l,h,c,f),d},x.restyle=function t(e,r,n,i){e=P.getGraphDiv(e),P.clearPromiseQueue(e);var a={};if(\\\"string\\\"==typeof r)a[r]=n;else{if(!_.isPlainObject(r))return _.warn(\\\"Restyle fail.\\\",r,n,i),Promise.reject();a=_.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=p(e,a,i),s=o.flags;s.clearCalc&&(e.calcdata=void 0);var l=[];s.fullReplot?l.push(x.plot):(l.push(A.previousPromises),A.supplyDefaults(e),s.dostyle&&l.push(O.doTraceStyle),s.docolorbars&&l.push(O.doColorBars)),l.push(A.rehover),M.add(e,t,[e,o.undoit,o.traces],t,[e,o.redoit,o.traces]);var u=_.syncOrAsync(l,e);return u&&u.then||(u=Promise.resolve()),u.then(function(){return e.emit(\\\"plotly_restyle\\\",o.eventData),e})},x.relayout=function t(e,r,n){if(e=P.getGraphDiv(e),P.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\\\"string\\\"==typeof r)i[r]=n;else{if(!_.isPlainObject(r))return _.warn(\\\"Relayout fail.\\\",r,n),Promise.reject();i=_.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=m(e,i),o=a.flags;o.docalc&&(e.calcdata=void 0);var s=[A.previousPromises];o.layoutReplot?s.push(O.layoutReplot):Object.keys(i).length&&(A.supplyDefaults(e),o.dolegend&&s.push(O.doLegend),o.dolayoutstyle&&s.push(O.layoutStyles),o.doticks&&s.push(O.doTicksRelayout),o.domodebar&&s.push(O.doModeBar),o.docamera&&s.push(O.doCamera)),s.push(A.rehover),M.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=_.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\\\"plotly_relayout\\\",a.eventData),e})},x.update=function t(e,r,n,i){if(e=P.getGraphDiv(e),P.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);_.isPlainObject(r)||(r={}),_.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=p(e,_.extendFlat({},r),i),o=a.flags,s=m(e,_.extendFlat({},n)),l=s.flags;(o.clearCalc||l.docalc)&&(e.calcdata=void 0);var u=[];if(o.fullReplot&&l.layoutReplot){var c=e.data,h=e.layout;e.data=void 0,e.layout=void 0,u.push(function(){return x.plot(e,c,h)})}else o.fullReplot?u.push(x.plot):l.layoutReplot?u.push(O.layoutReplot):(u.push(A.previousPromises),A.supplyDefaults(e),o.dostyle&&u.push(O.doTraceStyle),o.docolorbars&&u.push(O.doColorBars),l.dolegend&&u.push(O.doLegend),l.dolayoutstyle&&u.push(O.layoutStyles),l.doticks&&u.push(O.doTicksRelayout),l.domodebar&&u.push(O.doModeBar),l.doCamera&&u.push(O.doCamera));u.push(A.rehover),M.add(e,t,[e,a.undoit,s.undoit,a.traces],t,[e,a.redoit,s.redoit,a.traces]);var f=_.syncOrAsync(u,e);return f&&f.then||(f=Promise.resolve(e)),f.then(function(){return e.emit(\\\"plotly_update\\\",{data:a.eventData,layout:s.eventData}),e})},x.animate=function(t,e,r){function n(t){return Array.isArray(s)?t>=s.length?s[0]:s[t]:s}function i(t){return Array.isArray(l)?t>=l.length?l[0]:l[t]:l}function a(t,e){var r=0;return function(){if(t&&++r===e)return t()}}if(t=P.getGraphDiv(t),!_.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://plot.ly/javascript/animations/\\\");var o=t._transitionData;o._frameQueue||(o._frameQueue=[]),r=A.supplyAnimationDefaults(r);var s=r.transition,l=r.frame;return void 0===o._frameWaitingCnt&&(o._frameWaitingCnt=0),new Promise(function(l,u){function c(){t.emit(\\\"plotly_animated\\\"),window.cancelAnimationFrame(o._animationRaf),o._animationRaf=null}function h(){o._currentFrame&&o._currentFrame.onComplete&&o._currentFrame.onComplete();var e=o._currentFrame=o._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,o._lastFrameAt=Date.now(),o._timeToNext=e.frameOpts.duration,A.transition(t,e.frame.data,e.frame.layout,P.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 c()}function f(){t.emit(\\\"plotly_animating\\\"),o._lastFrameAt=-1/0,o._timeToNext=0,o._runningTransitions=0,o._currentFrame=null;var e=function(){o._animationRaf=window.requestAnimationFrame(e),Date.now()-o._lastFrameAt>o._timeToNext&&h()};e()}function d(t){return Array.isArray(s)?v>=s.length?t.transitionOpts=s[v]:t.transitionOpts=s[0]:t.transitionOpts=s,v++,t}var p,m,v=0,g=[],y=void 0===e||null===e,b=Array.isArray(e);if(y||b||!_.isPlainObject(e)){if(y||-1!==[\\\"string\\\",\\\"number\\\"].indexOf(typeof e))for(p=0;p<o._frames.length;p++)(m=o._frames[p])&&(y||String(m.group)===String(e))&&g.push({type:\\\"byname\\\",name:String(m.name),data:d({name:m.name})});else if(b)for(p=0;p<e.length;p++){var x=e[p];-1!==[\\\"number\\\",\\\"string\\\"].indexOf(typeof x)?(x=String(x),g.push({type:\\\"byname\\\",name:x,data:d({name:x})})):_.isPlainObject(x)&&g.push({type:\\\"object\\\",data:d(_.extendFlat({},x))})}}else g.push({type:\\\"object\\\",data:d(_.extendFlat({},e))});for(p=0;p<g.length;p++)if(m=g[p],\\\"byname\\\"===m.type&&!o._frameHash[m.data.name])return _.warn('animate failure: frame not found: \\\"'+m.data.name+'\\\"'),void u();-1!==[\\\"next\\\",\\\"immediate\\\"].indexOf(r.mode)&&function(){if(0!==o._frameQueue.length){for(;o._frameQueue.length;){var e=o._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\\\"plotly_animationinterrupted\\\",[])}}(),\\\"reverse\\\"===r.direction&&g.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var M=-1;for(p=0;p<g.length;p++)if(m=g[p],\\\"byname\\\"===m.type&&m.name===w){M=p;break}if(M>0&&M<g.length-1){var k=[];for(p=0;p<g.length;p++)m=g[p],(\\\"byname\\\"!==g[p].type||p>M)&&k.push(m);g=k}}g.length>0?function(e){if(0!==e.length){for(var s=0;s<e.length;s++){var c;c=\\\"byname\\\"===e[s].type?A.computeFrame(t,e[s].name):e[s].data;var h=i(s),d=n(s);d.duration=Math.min(d.duration,h.duration);var p={frame:c,name:e[s].name,frameOpts:h,transitionOpts:d};s===e.length-1&&(p.onComplete=a(l,2),p.onInterrupt=u),o._frameQueue.push(p)}\\\"immediate\\\"===r.mode&&(o._lastFrameAt=-1/0),o._animationRaf||f()}}(g):(t.emit(\\\"plotly_animated\\\"),l())})},x.addFrames=function(t,e,r){t=P.getGraphDiv(t);var n=0;if(null===e||void 0===e)return Promise.resolve();if(!_.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://plot.ly/javascript/animations/\\\");var i,a,o,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 c=l.length+2*e.length,h=[];for(i=e.length-1;i>=0;i--)if(_.isPlainObject(e[i])){var f=(u[e[i].name]||{}).name,d=e[i].name;f&&d&&\\\"number\\\"==typeof d&&u[f]&&(n++,_.warn('addFrames: overwriting frame \\\"'+u[f].name+'\\\" with a frame whose name of type \\\"number\\\" also equates to \\\"'+f+'\\\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),n>5&&_.warn(\\\"addFrames: This API call has yielded too many warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\\\")),h.push({frame:A.supplyFrameDefaults(e[i]),index:r&&void 0!==r[i]&&null!==r[i]?r[i]:c+i})}h.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var p=[],m=[],v=l.length;for(i=h.length-1;i>=0;i--){if(a=h[i].frame,\\\"number\\\"==typeof a.name&&_.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(o=0;o<l.length&&(l[o]||{}).name!==a.name;o++);p.push({type:\\\"replace\\\",index:o,value:a}),m.unshift({type:\\\"replace\\\",index:o,value:l[o]})}else s=Math.max(0,Math.min(h[i].index,v)),p.push({type:\\\"insert\\\",index:s,value:a}),m.unshift({type:\\\"delete\\\",index:s}),v++}var g=A.modifyFrames,y=A.modifyFrames,b=[t,m],x=[t,p];return M&&M.add(t,g,b,y,x),A.modifyFrames(t,p)},x.deleteFrames=function(t,e){if(t=P.getGraphDiv(t),!_.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for(e=e.slice(0),e.sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\\\"delete\\\",index:n}),o.unshift({type:\\\"insert\\\",index:n,value:i[n]});var s=A.modifyFrames,l=A.modifyFrames,u=[t,o],c=[t,a];return M&&M.add(t,s,u,l,c),A.modifyFrames(t,a)},x.purge=function(t){t=P.getGraphDiv(t);var e=t._fullLayout||{},r=t._fullData||[];return A.cleanPlot([],{},r,e),A.purge(t),w.purge(t),e._container&&e._container.remove(),delete t._context,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,delete t._hmpixcount,delete t._hmlumcount,t}},{\\\"../components/color\\\":603,\\\"../components/drawing\\\":627,\\\"../components/errorbars\\\":633,\\\"../constants/xmlns_namespaces\\\":707,\\\"../lib\\\":725,\\\"../lib/events\\\":715,\\\"../lib/queue\\\":738,\\\"../lib/svg_text_utils\\\":745,\\\"../plotly\\\":761,\\\"../plots/cartesian/axis_ids\\\":769,\\\"../plots/cartesian/constants\\\":771,\\\"../plots/cartesian/constraints\\\":773,\\\"../plots/cartesian/graph_interact\\\":775,\\\"../plots/plots\\\":829,\\\"../plots/polar\\\":832,\\\"../registry\\\":844,\\\"./edit_types\\\":750,\\\"./helpers\\\":751,\\\"./manage_arrays\\\":752,\\\"./subroutines\\\":758,d3:121,\\\"fast-isnumeric\\\":130,\\\"has-hover\\\":287}],754:[function(t,e,r){\\\"use strict\\\";e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\\\"reset+autosize\\\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\\\"Edit chart\\\",showSources:!1,displayModeBar:\\\"hover\\\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:\\\"transparent\\\",topojsonURL:\\\"https://cdn.plot.ly/\\\",mapboxAccessToken:null,logging:!1,globalTransforms:[]}},{}],755:[function(t,e,r){\\\"use strict\\\";function n(t){var e,r;\\\"area\\\"===t?(e={attributes:b},r={}):(e=d.modules[t]._module,r=e.basePlotModule);var n={};n.type=null,M(n,m),M(n,e.attributes),r.attributes&&M(n,r.attributes),Object.keys(d.componentsRegistry).forEach(function(e){var r=d.componentsRegistry[e];r.schema&&r.schema.traces&&r.schema.traces[t]&&Object.keys(r.schema.traces[t]).forEach(function(e){f(n,r.schema.traces[t][e],e)})}),n.type=t;var i={meta:e.meta||{},attributes:s(n)};if(e.layoutAttributes){var a={};M(a,e.layoutAttributes),i.layoutAttributes=s(a)}return i}function i(){var t={};return M(t,v),Object.keys(d.subplotsRegistry).forEach(function(e){var r=d.subplotsRegistry[e];if(r.layoutAttributes)if(\\\"cartesian\\\"===r.name)h(t,r,\\\"xaxis\\\"),h(t,r,\\\"yaxis\\\");else{var n=\\\"subplot\\\"===r.attr?r.name:r.attr;h(t,r,n)}}),t=c(t),Object.keys(d.componentsRegistry).forEach(function(e){var r=d.componentsRegistry[e];r.layoutAttributes&&(r.schema&&r.schema.layout?Object.keys(r.schema.layout).forEach(function(e){f(t,r.schema.layout[e],e)}):f(t,r.layoutAttributes,r.name))}),{layoutAttributes:s(t)}}function a(t){var e=d.transformsRegistry[t],r=M({},e.attributes);return Object.keys(d.componentsRegistry).forEach(function(e){var n=d.componentsRegistry[e];n.schema&&n.schema.transforms&&n.schema.transforms[t]&&Object.keys(n.schema.transforms[t]).forEach(function(e){f(r,n.schema.transforms[t][e],e)})}),{attributes:s(r)}}function o(){var t={frames:p.extendDeep({},g)};return s(t),t.frames}function s(t){return l(t),u(t),t}function l(t){function e(t){return{valType:\\\"string\\\"}}function n(t,n,i){r.isValObject(t)?\\\"data_array\\\"===t.valType?(t.role=\\\"data\\\",i[n+\\\"src\\\"]=e(n)):!0===t.arrayOk&&(i[n+\\\"src\\\"]=e(n)):p.isPlainObject(t)&&(t.role=\\\"object\\\")}r.crawl(t,n)}function u(t){function e(t,e,r){if(t){var n=t[A];n&&(delete t[A],r[e]={items:{}},r[e].items[n]=t,r[e].role=\\\"object\\\")}}r.crawl(t,e)}function c(t){return w(t,{radialaxis:x.radialaxis,angularaxis:x.angularaxis}),w(t,x.layout),t}function h(t,e,r){var n=p.nestedProperty(t,r),i=M({},e.layoutAttributes);i[k]=!0,n.set(i)}function f(t,e,r){var n=p.nestedProperty(t,r);n.set(M(n.get()||{},e))}var d=t(\\\"../registry\\\"),p=t(\\\"../lib\\\"),m=t(\\\"../plots/attributes\\\"),v=t(\\\"../plots/layout_attributes\\\"),g=t(\\\"../plots/frame_attributes\\\"),y=t(\\\"../plots/animation_attributes\\\"),b=t(\\\"../plots/polar/area_attributes\\\"),x=t(\\\"../plots/polar/axis_attributes\\\"),_=t(\\\"./edit_types\\\"),w=p.extendFlat,M=p.extendDeep,k=\\\"_isSubplotObj\\\",A=\\\"_isLinkedToArray\\\",T=[k,A,\\\"_arrayAttrRegexps\\\",\\\"_deprecated\\\"];r.IS_SUBPLOT_OBJ=k,r.IS_LINKED_TO_ARRAY=A,r.DEPRECATED=\\\"_deprecated\\\",r.UNDERSCORE_ATTRS=T,r.get=function(){var t={};d.allTypes.concat(\\\"area\\\").forEach(function(e){t[e]=n(e)});var e={};return Object.keys(d.transformsRegistry).forEach(function(t){e[t]=a(t)}),{defs:{valObjects:p.valObjects,metaKeys:T.concat([\\\"description\\\",\\\"role\\\"]),editTypes:{traces:_.traces(),layout:_.layout()}},traces:t,layout:i(),transforms:e,frames:o(),animation:s(y)}},r.crawl=function(t,e,n){var i=n||0;Object.keys(t).forEach(function(n){var a=t[n];-1===T.indexOf(n)&&(e(a,n,t,i),r.isValObject(a)||p.isPlainObject(a)&&r.crawl(a,e,i+1))})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){function e(e,r,o,s){if(a=a.slice(0,s).concat([r]),e&&(\\\"data_array\\\"===e.valType||!0===e.arrayOk)&&!(\\\"colorbar\\\"===a[s-1]&&(\\\"ticktext\\\"===r||\\\"tickvals\\\"===r))){var l=n(a),u=p.nestedProperty(t,l).get();Array.isArray(u)&&i.push(l)}}function n(t){return t.join(\\\".\\\")}var i=[],a=[];if(r.crawl(m,e),t._module&&t._module.attributes&&r.crawl(t._module.attributes,e),t.transforms)for(var o=t.transforms,s=0;s<o.length;s++){var l=o[s],u=l._module;u&&(a=[\\\"transforms[\\\"+s+\\\"]\\\"],r.crawl(u.attributes,e,1))}return t._fullInput&&t._fullInput._module&&t._fullInput._module.attributes&&(r.crawl(t._fullInput._module.attributes,e),i=p.filterUnique(i)),i}},{\\\"../lib\\\":725,\\\"../plots/animation_attributes\\\":762,\\\"../plots/attributes\\\":764,\\\"../plots/frame_attributes\\\":791,\\\"../plots/layout_attributes\\\":820,\\\"../plots/polar/area_attributes\\\":830,\\\"../plots/polar/axis_attributes\\\":831,\\\"../registry\\\":844,\\\"./edit_types\\\":750}],756:[function(t,e,r){\\\"use strict\\\";function n(t){o.register(t,t.name,t.categories,t.meta),o.subplotsRegistry[t.basePlotModule.name]||o.registerSubplot(t.basePlotModule)}function i(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Transform module *name* must be a string.\\\");var e=\\\"Transform module \\\"+t.name,r=\\\"function\\\"==typeof t.transform,n=\\\"function\\\"==typeof t.calcTransform;if(!r&&!n)throw new Error(e+\\\" is missing a *transform* or *calcTransform* method.\\\");r&&n&&s.log([e+\\\" has both a *transform* and *calcTransform* methods.\\\",\\\"Please note that all *transform* methods are executed\\\",\\\"before all *calcTransform* methods.\\\"].join(\\\" \\\")),s.isPlainObject(t.attributes)||s.log(e+\\\" registered without an *attributes* object.\\\"),\\\"function\\\"!=typeof t.supplyDefaults&&s.log(e+\\\" registered without a *supplyDefaults* method.\\\"),o.transformsRegistry[t.name]=t}function a(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Component module *name* must be a string.\\\");o.registerComponent(t)}var o=t(\\\"../registry\\\"),s=t(\\\"../lib\\\");e.exports=function(t){if(!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 r=t[e];if(!r)throw new Error(\\\"Invalid module was attempted to be registered!\\\");switch(r.moduleType){case\\\"trace\\\":n(r);break;case\\\"transform\\\":i(r);break;case\\\"component\\\":a(r);break;default:throw new Error(\\\"Invalid module was attempted to be registered!\\\")}}}},{\\\"../lib\\\":725,\\\"../registry\\\":844}],757:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plotly\\\"),i=t(\\\"../lib\\\");e.exports=function(t){return i.extendFlat(n.defaultConfig,t)}},{\\\"../lib\\\":725,\\\"../plotly\\\":761}],758:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&(a[0]<e[1]&&a[1]>e[0]))return!0}return!1}function i(t,e,r){return t._anchorAxis===e&&(t.mirror||t.side===r)||\\\"all\\\"===t.mirror||\\\"allticks\\\"===t.mirror||t.mirrors&&t.mirrors[e._id+r]}function a(t,e,r){var n=[],i=e._anchorAxis;if(i){var a=i._mainAxis;if(-1===n.indexOf(a)){n.push(a);for(var o=0;o<r.length;o++)r[o].overlaying===a._id&&-1===n.indexOf(r[o])&&n.push(r[o])}}return n}function o(t,e,r){for(var n=0;n<e.length;n++){var a=e[n],o=a._anchorAxis;if(o&&i(a,o,r))return p.crispRound(t,a.linewidth)}}function s(t,e,r,n,i,s){if(n)return r;var l,u=e._mainAxis,c=a(t,u,s),h=o(t,c,i);if(h)return h;for(l=0;l<s.length;l++)if(s[l].overlaying===u._id&&(c=a(t,s[l],s),h=o(t,c,i)))return h;return 0}var l=t(\\\"d3\\\"),u=t(\\\"../plotly\\\"),c=t(\\\"../registry\\\"),h=t(\\\"../plots/plots\\\"),f=t(\\\"../lib\\\"),d=t(\\\"../components/color\\\"),p=t(\\\"../components/drawing\\\"),m=t(\\\"../components/titles\\\"),v=t(\\\"../components/modebar\\\"),g=t(\\\"../plots/cartesian/graph_interact\\\"),y=t(\\\"../plots/cartesian/constants\\\");r.layoutStyles=function(t){return f.syncOrAsync([h.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){var e,a=t._fullLayout,o=a._size,c=o.p,h=u.Axes.list(t),f=a._has(\\\"cartesian\\\");for(e=0;e<h.length;e++)h[e]._linepositions={};a._paperdiv.style({width:a.width+\\\"px\\\",height:a.height+\\\"px\\\"}).selectAll(\\\".main-svg\\\").call(p.setSize,a.width,a.height),t._context.setBackground(t,a.paper_bgcolor);var m=a._paper.selectAll(\\\"g.subplot\\\"),g=[],b=[];m.each(function(t){var e=a._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,i=e.yaxis.domain,o=[];n(r,i,b)?o=[0]:(g.push(t),b.push([r,i]));var s=e.plotgroup.selectAll(\\\".bg\\\").data(o);s.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),s.exit().remove(),s.each(function(){e.bg=s;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var x=a._bgLayer.selectAll(\\\".bg\\\").data(g);x.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),x.exit().remove(),x.each(function(t){a._plots[t].bg=l.select(this)});var _={};return m.each(function(r){function n(t,e){return e?\\\"M\\\"+P+\\\",\\\"+t+\\\"H\\\"+R:\\\"\\\"}function l(t,e){return e?\\\"M\\\"+t+\\\",\\\"+H+\\\"V\\\"+U:\\\"\\\"}var u=a._plots[r],m=u.xaxis,v=u.yaxis;m.setScale(),v.setScale(),u.bg&&f&&u.bg.call(p.setRect,m._offset-c,v._offset-c,m._length+2*c,v._length+2*c).call(d.fill,a.plot_bgcolor).style(\\\"stroke-width\\\",0),u.clipId=\\\"clip\\\"+a._uid+r+\\\"plot\\\";var g=a._defs.selectAll(\\\"g.clips\\\").selectAll(\\\"#\\\"+u.clipId).data([0]);g.enter().append(\\\"clipPath\\\").attr({class:\\\"plotclip\\\",id:u.clipId}).append(\\\"rect\\\"),g.selectAll(\\\"rect\\\").attr({width:m._length,height:v._length}),p.setTranslate(u.plot,m._offset,v._offset);var b,x;for(u._hasClipOnAxisFalse?(b=null,x=u.clipId):(b=u.clipId,x=null),p.setClipUrl(u.plot,b),e=0;e<y.traceLayerClasses.length;e++){var w=y.traceLayerClasses[e];\\\"scatterlayer\\\"!==w&&u.plot.selectAll(\\\"g.\\\"+w).call(p.setClipUrl,x)}u.layerClipId=x;var M=!m._anchorAxis,k=M&&!_[m._id],A=i(m,v,\\\"bottom\\\"),T=i(m,v,\\\"top\\\"),S=!v._anchorAxis,E=S&&!_[v._id],L=i(v,m,\\\"left\\\"),C=i(v,m,\\\"right\\\"),z=p.crispRound(t,m.linewidth,1),I=p.crispRound(t,v.linewidth,1),D=s(t,m,I,L,\\\"left\\\",h),P=!M&&D?-c-D:0,O=s(t,m,I,C,\\\"right\\\",h),R=m._length+(!M&&O?c+O:0),F=o.h*(1-(m.position||0))+z/2%1,j=v._length+c+z/2,N=-c-z/2,B=!S&&s(t,v,z,A,\\\"bottom\\\",h),U=v._length+(B?c:0),V=!S&&s(t,v,z,T,\\\"top\\\",h),H=V?-c:0,q=o.w*(v.position||0)+I/2%1,G=-c-I/2,Y=m._length+c+I/2;m._linepositions[r]=[A?j:void 0,T?N:void 0,k?F:void 0],m._anchorAxis===v?m._linepositions[r][3]=\\\"top\\\"===m.side?N:j:k&&(m._linepositions[r][3]=F),v._linepositions[r]=[L?G:void 0,C?Y:void 0,E?q:void 0],v._anchorAxis===m?v._linepositions[r][3]=\\\"right\\\"===v.side?Y:G:E&&(v._linepositions[r][3]=q);var X=\\\"translate(\\\"+m._offset+\\\",\\\"+v._offset+\\\")\\\",W=X,Z=X;k&&(W=\\\"translate(\\\"+m._offset+\\\",\\\"+o.t+\\\")\\\",N+=v._offset-o.t,j+=v._offset-o.t),E&&(Z=\\\"translate(\\\"+o.l+\\\",\\\"+v._offset+\\\")\\\",G+=m._offset-o.l,Y+=m._offset-o.l),f&&(u.xlines.attr(\\\"transform\\\",W).attr(\\\"d\\\",n(j,A)+n(N,T)+n(F,k)||\\\"M0,0\\\").style(\\\"stroke-width\\\",z+\\\"px\\\").call(d.stroke,m.showline?m.linecolor:\\\"rgba(0,0,0,0)\\\"),u.ylines.attr(\\\"transform\\\",Z).attr(\\\"d\\\",l(G,L)+l(Y,C)+l(q,E)||\\\"M0,0\\\").style(\\\"stroke-width\\\",I+\\\"px\\\").call(d.stroke,v.showline?v.linecolor:\\\"rgba(0,0,0,0)\\\")),u.xaxislayer.attr(\\\"transform\\\",W),u.yaxislayer.attr(\\\"transform\\\",Z),u.gridlayer.attr(\\\"transform\\\",X),u.zerolinelayer.attr(\\\"transform\\\",X),u.draglayer.attr(\\\"transform\\\",X),k&&(_[m._id]=1),E&&(_[v._id]=1)}),u.Axes.makeClipPaths(t),r.drawMainTitle(t),v.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;m.draw(t,\\\"gtitle\\\",{propContainer:e,propName:\\\"title\\\",dfltName:\\\"Plot\\\",attributes:{x:e.width/2,y:e._size.t/2,\\\"text-anchor\\\":\\\"middle\\\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=((r[0]||{}).trace||{})._module||{},i=n.arraysToCalcdata;i&&i(r,r[0].trace)}return h.style(t),c.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),h.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;c.traceIs(n,\\\"contour\\\")&&i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\\\"line\\\"===n.contours.coloring?i._opts.line.color:n.line.color}),c.traceIs(n,\\\"markerColorscale\\\")?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return h.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,u.plot(t,\\\"\\\",e)},r.doLegend=function(t){return c.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),h.previousPromises(t)},r.doTicksRelayout=function(t){return u.Axes.doTicks(t,\\\"redraw\\\"),r.drawMainTitle(t),h.previousPromises(t)},r.doModeBar=function(t){var e,r,n,i=t._fullLayout;for(v.manage(t),g(t),e=h.getSubplotIds(i,\\\"gl3d\\\"),n=0;n<e.length;n++)r=i[e[n]]._scene,r.updateFx(i.dragmode,i.hovermode);for(e=h.getSubplotIds(i,\\\"gl2d\\\"),n=0;n<e.length;n++)r=i._plots[e[n]]._scene2d,r.updateFx(i.dragmode);for(e=h.getSubplotIds(i,\\\"mapbox\\\"),n=0;n<e.length;n++)r=i[e[n]]._subplot,r.updateFx(i);return h.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=h.getSubplotIds(e,\\\"gl3d\\\"),n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}}},{\\\"../components/color\\\":603,\\\"../components/drawing\\\":627,\\\"../components/modebar\\\":663,\\\"../components/titles\\\":692,\\\"../lib\\\":725,\\\"../plotly\\\":761,\\\"../plots/cartesian/constants\\\":771,\\\"../plots/cartesian/graph_interact\\\":775,\\\"../plots/plots\\\":829,\\\"../registry\\\":844,d3:121}],759:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){return!(t in e)||a.validate(e[t],c[t])}function n(t,r){return a.coerce(e,y,c,t,r)}function f(){return new Promise(function(t){setTimeout(t,o.getDelay(k._fullLayout))})}function d(){return new Promise(function(t,e){var r=s(k),n=k._fullLayout.width,o=k._fullLayout.height;if(i.purge(k),document.body.removeChild(k),\\\"svg\\\"===b)return t(M?r:\\\"data:image/svg+xml,\\\"+encodeURIComponent(r));var u=document.createElement(\\\"canvas\\\");u.id=a.randstr(),l({format:b,width:n,height:o,canvas:u,svg:r,promise:!0}).then(t).catch(e)})}function p(t){return M?t.replace(h,\\\"\\\"):t}e=e||{};var m,v,g;if(a.isPlainObject(t)?(m=t.data||[],v=t.layout||{},g=t.config||{}):(t=u(t),m=a.extendDeep([],t.data),v=a.extendDeep({},t.layout),g=t._context),!r(\\\"width\\\")||!r(\\\"height\\\"))throw new Error(\\\"Height and width should be pixel values.\\\");if(!r(\\\"format\\\"))throw new Error(\\\"Image format is not jpeg, png, svg or webp.\\\");var y={},b=n(\\\"format\\\"),x=n(\\\"width\\\"),_=n(\\\"height\\\"),w=n(\\\"setBackground\\\"),M=n(\\\"imageDataOnly\\\"),k=document.createElement(\\\"div\\\");k.style.position=\\\"absolute\\\",k.style.left=\\\"-5000px\\\",document.body.appendChild(k);var A=a.extendFlat({},v);x&&(A.width=x),_&&(A.height=_);var T=a.extendFlat({},g,{staticPlot:!0,plotGlPixelRatio:g.plotGlPixelRatio||2,setBackground:w}),S=o.getRedrawFunc(k);return new Promise(function(t,e){i.plot(k,m,A,T).then(S).then(f).then(d).then(function(e){t(p(e))}).catch(function(t){e(t)})})}var i=t(\\\"../plotly\\\"),a=t(\\\"../lib\\\"),o=t(\\\"../snapshot/helpers\\\"),s=t(\\\"../snapshot/tosvg\\\"),l=t(\\\"../snapshot/svgtoimg\\\"),u=t(\\\"./helpers\\\").getGraphDiv,c={format:{valType:\\\"enumerated\\\",values:[\\\"png\\\",\\\"jpeg\\\",\\\"webp\\\",\\\"svg\\\"],dflt:\\\"png\\\"},width:{valType:\\\"number\\\",min:1},height:{valType:\\\"number\\\",min:1},setBackground:{valType:\\\"any\\\",dflt:!1},imageDataOnly:{valType:\\\"boolean\\\",dflt:!1}},h=/^data:image\\\\/\\\\w+;base64,/;e.exports=n},{\\\"../lib\\\":725,\\\"../plotly\\\":761,\\\"../snapshot/helpers\\\":848,\\\"../snapshot/svgtoimg\\\":850,\\\"../snapshot/tosvg\\\":852,\\\"./helpers\\\":751}],760:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,i,a,u){u=u||[];for(var c=Object.keys(t),f=0;f<c.length;f++){var d=c[f];if(\\\"transforms\\\"!==d){var v=u.slice();v.push(d)\\n\",\n       \";var g=t[d],y=e[d],b=l(r,d),x=\\\"info_array\\\"===(b||{}).valType,_=\\\"colorscale\\\"===(b||{}).valType;if(s(r,d))if(p(g)&&p(y))n(g,y,b,i,a,v);else if(b.items&&!x&&m(g)){var w,M,k=b.items,A=k[Object.keys(k)[0]],T=[];for(w=0;w<y.length;w++){var S=y[w]._index||w;M=v.slice(),M.push(S),p(g[S])&&p(y[w])&&(T.push(S),n(g[S],y[w],A,i,a,M))}for(w=0;w<g.length;w++)M=v.slice(),M.push(w),p(g[w])?-1===T.indexOf(w)&&i.push(o(\\\"unused\\\",a,M)):i.push(o(\\\"object\\\",a,M,g[w]))}else!p(g)&&p(y)?i.push(o(\\\"object\\\",a,v,g)):m(g)||!m(y)||x||_?d in e?h.validate(g,b)?\\\"enumerated\\\"===b.valType&&(b.coerceNumber&&g!==+y||g!==y)&&i.push(o(\\\"dynamic\\\",a,v,g,y)):i.push(o(\\\"value\\\",a,v,g)):i.push(o(\\\"unused\\\",a,v,g)):i.push(o(\\\"array\\\",a,v,g));else i.push(o(\\\"schema\\\",a,v))}}return i}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&h.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}function a(t){return m(t)?\\\"In data trace \\\"+t[1]+\\\", \\\":\\\"In \\\"+t+\\\", \\\"}function o(t,e,r,n,i){r=r||\\\"\\\";var a,o;m(e)?(a=e[0],o=e[1]):(a=e,o=null);var s=c(r),l=v[t](e,s,n,i);return h.log(l),{code:t,container:a,trace:o,path:r,astr:s,msg:l}}function s(t,e){var r=u(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function l(t,e){return t[u(e).keyMinusId]}function u(t){var e=/([2-9]|[1-9][0-9]+)$/,r=t.split(e)[0];return{keyMinusId:r,id:t.substr(r.length,t.length)}}function c(t){if(!m(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}var h=t(\\\"../lib\\\"),f=t(\\\"../plots/plots\\\"),d=t(\\\"./plot_schema\\\"),p=h.isPlainObject,m=Array.isArray;e.exports=function(t,e){var r,a,s=d.get(),l=[],u={};m(t)?(u.data=h.extendDeep([],t),r=t):(u.data=[],r=[],l.push(o(\\\"array\\\",\\\"data\\\"))),p(e)?(u.layout=h.extendDeep({},e),a=e):(u.layout={},a={},arguments.length>1&&l.push(o(\\\"object\\\",\\\"layout\\\"))),f.supplyDefaults(u);for(var c=u._fullData,v=r.length,g=0;g<v;g++){var y=r[g],b=[\\\"data\\\",g];if(p(y)){var x=c[g],_=x.type,w=s.traces[_].attributes;w.type={valType:\\\"enumerated\\\",values:[_]},!1===x.visible&&!1!==y.visible&&l.push(o(\\\"invisible\\\",b)),n(y,x,w,l,b);var M=y.transforms,k=x.transforms;if(M){m(M)||l.push(o(\\\"array\\\",b,[\\\"transforms\\\"])),b.push(\\\"transforms\\\");for(var A=0;A<M.length;A++){var T=[\\\"transforms\\\",A],S=M[A].type;if(p(M[A])){var E=s.transforms[S]?s.transforms[S].attributes:{};E.type={valType:\\\"enumerated\\\",values:Object.keys(s.transforms)},n(M[A],k[A],E,l,b,T)}else l.push(o(\\\"object\\\",b,T))}}}else l.push(o(\\\"object\\\",b))}return n(a,u._fullLayout,i(s,c),l,\\\"layout\\\"),0===l.length?void 0:l};var v={object:function(t,e){return(\\\"layout\\\"===t&&\\\"\\\"===e?\\\"The layout argument\\\":\\\"data\\\"===t[0]&&\\\"\\\"===e?\\\"Trace \\\"+t[1]+\\\" in the data argument\\\":a(t)+\\\"key \\\"+e)+\\\" must be linked to an object container\\\"},array:function(t,e){return(\\\"data\\\"===t?\\\"The data argument\\\":a(t)+\\\"key \\\"+e)+\\\" must be linked to an array container\\\"},schema:function(t,e){return a(t)+\\\"key \\\"+e+\\\" is not part of the schema\\\"},unused:function(t,e,r){var n=p(r)?\\\"container\\\":\\\"key\\\";return a(t)+n+\\\" \\\"+e+\\\" did not get coerced\\\"},dynamic:function(t,e,r,n){return[a(t)+\\\"key\\\",e,\\\"(set to '\\\"+r+\\\"')\\\",\\\"got reset to\\\",\\\"'\\\"+n+\\\"'\\\",\\\"during defaults.\\\"].join(\\\" \\\")},invisible:function(t){return\\\"Trace \\\"+t[1]+\\\" got defaulted to be not visible\\\"},value:function(t,e,r){return[a(t)+\\\"key \\\"+e,\\\"is set to an invalid value (\\\"+r+\\\")\\\"].join(\\\" \\\")}}},{\\\"../lib\\\":725,\\\"../plots/plots\\\":829,\\\"./plot_schema\\\":755}],761:[function(t,e,r){\\\"use strict\\\";r.defaultConfig=t(\\\"./plot_api/plot_config\\\"),r.Plots=t(\\\"./plots/plots\\\"),r.Axes=t(\\\"./plots/cartesian/axes\\\"),r.ModeBar=t(\\\"./components/modebar\\\"),t(\\\"./plot_api/plot_api\\\")},{\\\"./components/modebar\\\":663,\\\"./plot_api/plot_api\\\":753,\\\"./plot_api/plot_config\\\":754,\\\"./plots/cartesian/axes\\\":766,\\\"./plots/plots\\\":829}],762:[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},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\\\"]}}}},{}],763:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\");e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i<s.length;i++){var u=s[i],c={},h={};n.isPlainObject(u)||(h.itemIsNotPlainObject=!0,u={}),r.handleItemDefaults(u,c,e,r,h),c._input=u,c._index=i,l.push(c)}if(n.isArray(o)){var f=Math.min(o.length,l.length);for(i=0;i<f;i++)n.relinkPrivateKeys(l[i],o[i])}}},{\\\"../lib\\\":725}],764:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/fx/attributes\\\");e.exports={type:{valType:\\\"enumerated\\\",values:[],dflt:\\\"scatter\\\"},visible:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"legendonly\\\"],dflt:!0},showlegend:{valType:\\\"boolean\\\",dflt:!0},legendgroup:{valType:\\\"string\\\",dflt:\\\"\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},name:{valType:\\\"string\\\"},uid:{valType:\\\"string\\\",dflt:\\\"\\\"},ids:{valType:\\\"data_array\\\"},customdata:{valType:\\\"data_array\\\"},hoverinfo:{valType:\\\"flaglist\\\",flags:[\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"],extras:[\\\"all\\\",\\\"none\\\",\\\"skip\\\"],arrayOk:!0,dflt:\\\"all\\\"},hoverlabel:n.hoverlabel,stream:{token:{valType:\\\"string\\\",noBlank:!0,strict:!0},maxpoints:{valType:\\\"number\\\",min:0,max:1e4,dflt:500}}}},{\\\"../components/fx/attributes\\\":636}],765:[function(t,e,r){\\\"use strict\\\";e.exports={xaxis:{valType:\\\"subplotid\\\",dflt:\\\"x\\\"},yaxis:{valType:\\\"subplotid\\\",dflt:\\\"y\\\"}}},{}],766:[function(t,e,r){\\\"use strict\\\";function n(t){return+t}function i(t){return String(t)}function a(t,e,r,n,i){function a(e){return(1+100*(e-t)/r.dtick)%100<2}for(var o=0,s=0,l=0,u=0,c=0;c<e.length;c++)e[c]%1==0?l++:M(e[c])||u++,a(e[c])&&o++,a(e[c]+r.dtick/2)&&s++;var h=e.length-u;if(l===h&&\\\"date\\\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||a(n)||a(i))){var f=r.dtick/2;t+=t+f<n?f:-f}return t}function o(t,e,r,n,i){var a=A.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=B.tickIncrement(t,\\\"M6\\\",\\\"reverse\\\")+1.5*P:a.exactMonths>.8?t=B.tickIncrement(t,\\\"M1\\\",\\\"reverse\\\")+15.5*P:t-=P/2;var s=B.tickIncrement(t,r);if(s<=n)return s}return t}function s(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=A.simpleMap(t.range,t.r2l),s=1.0001*o[0]-1e-4*o[1],l=1.0001*o[1]-1e-4*o[0],u=Math.min(s,l),h=Math.max(s,l),f=0;Array.isArray(i)||(i=[]);var d=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;for(\\\"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)),r=0;r<n.length;r++)(e=d(n[r]))>u&&e<h&&(void 0===i[r]?a[f]=B.tickText(t,e):a[f]=c(t,e,String(i[r])),f++);return f<n.length&&a.splice(f,n.length-f),a}function l(t,e,r){return e*A.roundUp(t/e,r)}function u(t){var e=t.dtick;if(t._tickexponent=0,M(e)||\\\"string\\\"==typeof e||(e=1),\\\"category\\\"===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>=P&&i<=10||e>=15*P)t._tickround=\\\"d\\\";else if(e>=R&&i<=16||e>=O)t._tickround=\\\"M\\\";else if(e>=F&&i<=19||e>=R)t._tickround=\\\"S\\\";else{var a=t.l2r(r+e).replace(/^-/,\\\"\\\").length;t._tickround=Math.max(i,a)-20}}else if(M(e)||\\\"L\\\"===e.charAt(0)){var o=t.range.map(t.r2d||Number);M(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(l)>3&&(m(t.exponentformat)&&!v(l)?t._tickexponent=3*Math.round((l-1)/3):t._tickexponent=l)}else t._tickround=null}function c(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}}function h(t,e,r,n){var i=t._tickround,a=r&&t.hoverformat||t.tickformat;n&&(i=M(i)?4:{y:\\\"m\\\",m:\\\"d\\\",d:\\\"M\\\",M:\\\"S\\\",S:4}[i]);var o,s=A.formatDate(e.x,a,i,t.calendar),l=s.indexOf(\\\"\\\\n\\\");-1!==l&&(o=s.substr(l+1),s=s.substr(0,l)),n&&(\\\"00:00:00\\\"===s||\\\"00:00\\\"===s?(s=o,o=\\\"\\\"):8===s.length&&(s=s.replace(/:00$/,\\\"\\\"))),o&&(r?\\\"d\\\"===i?s+=\\\", \\\"+o:s=o+(s?\\\", \\\"+s:\\\"\\\"):t._inCalcTicks&&o===t._prevDateHead||(s+=\\\"<br>\\\"+o,t._prevDateHead=o)),e.text=s}function f(t,e,r,n,i){var a=t.dtick,o=e.x;if(\\\"never\\\"===i&&(i=\\\"\\\"),!n||\\\"string\\\"==typeof a&&\\\"L\\\"===a.charAt(0)||(a=\\\"L3\\\"),t.tickformat||\\\"string\\\"==typeof a&&\\\"L\\\"===a.charAt(0))e.text=g(Math.pow(10,o),t,i,n);else if(M(a)||\\\"D\\\"===a.charAt(0)&&A.mod(o+.01,1)<.1){var s=Math.round(o);-1!==[\\\"e\\\",\\\"E\\\",\\\"power\\\"].indexOf(t.exponentformat)||m(t.exponentformat)&&v(s)?(e.text=0===s?1:1===s?\\\"10\\\":s>1?\\\"10<sup>\\\"+s+\\\"</sup>\\\":\\\"10<sup>\\\"+j+-s+\\\"</sup>\\\",e.fontSize*=1.25):(e.text=g(Math.pow(10,o),t,\\\"\\\",\\\"fakehover\\\"),\\\"D1\\\"===a&&\\\"y\\\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\\\"D\\\"!==a.charAt(0))throw\\\"unrecognized dtick \\\"+String(a);e.text=String(Math.round(Math.pow(10,A.mod(o,1)))),e.fontSize*=.75}if(\\\"D1\\\"===t.dtick){var l=String(e.text).charAt(0);\\\"0\\\"!==l&&\\\"1\\\"!==l||(\\\"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*(o<0?.5:.25)))}}function d(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\\\"\\\"),e.text=String(r)}function p(t,e,r,n,i){\\\"never\\\"===i?i=\\\"\\\":\\\"all\\\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\\\"hide\\\"),e.text=g(e.x,t,i,n)}function m(t){return\\\"SI\\\"===t||\\\"B\\\"===t}function v(t){return t>14||t<-15}function g(t,e,r,n){var i=t<0,a=e._tickround,o=r||e.exponentformat||\\\"B\\\",s=e._tickexponent,l=e.tickformat,c=e.separatethousands;if(n){var h={exponentformat:e.exponentformat,dtick:\\\"none\\\"===e.showexponent?e.dtick:M(t)?Math.abs(t)||1:1,range:\\\"none\\\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};u(h),a=(Number(h._tickround)||0)+4,s=h._tickexponent,e.hoverformat&&(l=e.hoverformat)}if(l)return w.format(l)(t).replace(/-/g,j);var f=Math.pow(10,-a)/2;if(\\\"none\\\"===o&&(s=0),(t=Math.abs(t))<f)t=\\\"0\\\",i=!1;else{if(t+=f,s&&(t*=Math.pow(10,-s),a+=s),0===a)t=String(Math.floor(t));else if(a<0){t=String(Math.round(t)),t=t.substr(0,t.length+a);for(var d=a;d<0;d++)t+=\\\"0\\\"}else{t=String(t);var p=t.indexOf(\\\".\\\")+1;p&&(t=t.substr(0,p+a).replace(/\\\\.?0+$/,\\\"\\\"))}t=A.numSeparate(t,e._separators,c)}if(s&&\\\"hide\\\"!==o){m(o)&&v(s)&&(o=\\\"power\\\");var g;g=s<0?j+-s:\\\"power\\\"!==o?\\\"+\\\"+s:String(s),\\\"e\\\"===o?t+=\\\"e\\\"+g:\\\"E\\\"===o?t+=\\\"E\\\"+g:\\\"power\\\"===o?t+=\\\"\\\\xd710<sup>\\\"+g+\\\"</sup>\\\":\\\"B\\\"===o&&9===s?t+=\\\"B\\\":m(o)&&(t+=J[s/3+5])}return i?j+t:t}function y(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],b(u.x,l.x),b(u.y,l.y);b(u.x,[o]),b(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}function b(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function x(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(B.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(B.getFromId(t,r[n]));var l=Object.keys(a[0]),u=[\\\"anchor\\\",\\\"domain\\\",\\\"overlaying\\\",\\\"position\\\",\\\"side\\\",\\\"tickangle\\\"],c=[\\\"linear\\\",\\\"log\\\"];for(n=0;n<l.length;n++){var h=l[n],f=a[0][h],d=o[0][h],p=!0,m=!1,v=!1;if(\\\"_\\\"!==h.charAt(0)&&\\\"function\\\"!=typeof f&&-1===u.indexOf(h)){for(i=1;i<a.length&&p;i++){var g=a[i][h];\\\"type\\\"===h&&-1!==c.indexOf(f)&&-1!==c.indexOf(g)&&f!==g?m=!0:g!==f&&(p=!1)}for(i=1;i<o.length&&p;i++){var y=o[i][h];\\\"type\\\"===h&&-1!==c.indexOf(d)&&-1!==c.indexOf(y)&&d!==y?v=!0:o[i][h]!==d&&(p=!1)}p&&(m&&(s[a[0]._name].type=\\\"linear\\\"),v&&(s[o[0]._name].type=\\\"linear\\\"),_(s,h,a,o))}}for(n=0;n<t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&&-1!==r.indexOf(b.yref)&&A.swapAttrs(s.annotations[n],[\\\"?\\\"])}}function _(t,e,r,n){var i,a=A.nestedProperty,o=a(t[r[0]._name],e).get(),s=a(t[n[0]._name],e).get();for(\\\"title\\\"===e&&(\\\"Click to enter X axis title\\\"===o&&(o=\\\"Click to enter Y axis title\\\"),\\\"Click to enter Y axis title\\\"===s&&(s=\\\"Click to enter X axis title\\\")),i=0;i<r.length;i++)a(t,r[i]._name+\\\".\\\"+e).set(s);for(i=0;i<n.length;i++)a(t,n[i]._name+\\\".\\\"+e).set(o)}var w=t(\\\"d3\\\"),M=t(\\\"fast-isnumeric\\\"),k=t(\\\"../../registry\\\"),A=t(\\\"../../lib\\\"),T=t(\\\"../../lib/svg_text_utils\\\"),S=t(\\\"../../components/titles\\\"),E=t(\\\"../../components/color\\\"),L=t(\\\"../../components/drawing\\\"),C=t(\\\"../../constants/numerical\\\"),z=C.FP_SAFE,I=C.ONEAVGYEAR,D=C.ONEAVGMONTH,P=C.ONEDAY,O=C.ONEHOUR,R=C.ONEMIN,F=C.ONESEC,j=C.MINUS_SIGN,N=t(\\\"../../constants/alignment\\\").MID_SHIFT,B=e.exports={};B.layoutAttributes=t(\\\"./layout_attributes\\\"),B.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),B.setConvert=t(\\\"./set_convert\\\");var U=t(\\\"./axis_autotype\\\"),V=t(\\\"./axis_ids\\\");B.id2name=V.id2name,B.cleanId=V.cleanId,B.list=V.list,B.listIds=V.listIds,B.getFromId=V.getFromId,B.getFromTrace=V.getFromTrace,B.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=B.listIds(r,o),l=n+\\\"ref\\\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\\\"enumerated\\\",values:s.concat(a?[a]:[]),dflt:i},A.coerce(t,e,u,l)},B.coercePosition=function(t,e,r,n,i,a){var o,s;if(\\\"paper\\\"===n||\\\"pixel\\\"===n)o=A.ensureNumber,s=r(i,a);else{var l=B.getFromId(e,n);a=l.fraction2r(a),s=r(i,a),o=l.cleanPos}t[i]=o(s)},B.cleanPosition=function(t,e,r){return(\\\"paper\\\"===r||\\\"pixel\\\"===r?A.ensureNumber:B.getFromId(e,r).cleanPos)(t)};var H=B.getDataConversions=function(t,e,r,a){var o,s=\\\"x\\\"===r||\\\"y\\\"===r||\\\"z\\\"===r?r:a;if(Array.isArray(s)){if(o={type:U(a),_categories:[]},B.setConvert(o),\\\"category\\\"===o.type)for(var l=0;l<a.length;l++)o.d2c(a[l])}else o=B.getFromTrace(t,e,s);return o?{d2c:o.d2c,c2d:o.c2d}:\\\"ids\\\"===s?{d2c:i,c2d:i}:{d2c:n,c2d:n}};B.getDataToCoordFunc=function(t,e,r,n){return H(t,e,r,n).d2c},B.clearTypes=function(t,e){Array.isArray(e)&&e.length||(e=t._fullData.map(function(t,e){return e})),e.forEach(function(e){var r=t.data[e];delete(B.getFromId(t,r.xaxis)||{}).type,delete(B.getFromId(t,r.yaxis)||{}).type})},B.counterLetter=function(t){var e=t.charAt(0);return\\\"x\\\"===e?\\\"y\\\":\\\"y\\\"===e?\\\"x\\\":void 0},B.minDtick=function(t,e,r,n){-1===[\\\"log\\\",\\\"category\\\"].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},B.getAutoRange=function(t){var e,r=[],n=t._min[0].val,i=t._max[0].val;for(e=1;e<t._min.length&&n===i;e++)n=Math.min(n,t._min[e].val);for(e=1;e<t._max.length&&n===i;e++)i=Math.max(i,t._max[e].val);var a,o,s,l,u,c,h,f=0,d=!1;if(t.range){var p=A.simpleMap(t.range,t.r2l);d=p[1]<p[0]}for(\\\"reversed\\\"===t.autorange&&(d=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(o=t._min[e],a=0;a<t._max.length;a++)s=t._max[a],h=s.val-o.val,c=t._length-o.pad-s.pad,h>0&&c>0&&h/c>f&&(l=o,u=s,f=h/c);if(n===i){var m=n-1,v=n+1;r=\\\"tozero\\\"===t.rangemode?n<0?[m,0]:[0,v]:\\\"nonnegative\\\"===t.rangemode?[Math.max(0,m),Math.max(0,v)]:[m,v]}else f&&(\\\"linear\\\"!==t.type&&\\\"-\\\"!==t.type||(\\\"tozero\\\"===t.rangemode?(l.val>=0&&(l={val:0,pad:0}),u.val<=0&&(u={val:0,pad:0})):\\\"nonnegative\\\"===t.rangemode&&(l.val-f*l.pad<0&&(l={val:0,pad:0}),u.val<0&&(u={val:1,pad:0})),f=(u.val-l.val)/(t._length-l.pad-u.pad)),r=[l.val-f*l.pad,u.val+f*u.pad]);return r[0]===r[1]&&(\\\"tozero\\\"===t.rangemode?r=r[0]<0?[r[0],0]:r[0]>0?[0,r[0]]:[0,1]:(r=[r[0]-1,r[0]+1],\\\"nonnegative\\\"===t.rangemode&&(r[0]=Math.max(0,r[0])))),d&&r.reverse(),A.simpleMap(r,t.l2r||Number)},B.doAutoRange=function(t){t._length||t.setScale();var e=t._min&&t._max&&t._min.length&&t._max.length;if(t.autorange&&e){t.range=B.getAutoRange(t),t._r=t.range.slice(),t._rl=A.simpleMap(t._r,t.r2l);var r=t._input;r.range=t.range.slice(),r.autorange=t.autorange}},B.saveRangeInitial=function(t,e){for(var r=B.list(t,\\\"\\\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},B.saveShowSpikeInitial=function(t,e){for(var r=B.list(t,\\\"\\\",!0),n=!1,i=\\\"on\\\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\\\"on\\\"!==i||o.showspikes||(i=\\\"off\\\")}return t._fullLayout._cartesianSpikesEnabled=i,n},B.expand=function(t,e,r){function n(t){if(Array.isArray(t))return function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}function i(r){function n(t){return M(t)&&Math.abs(t)<z}if(l=e[r],M(l)){if(h=b(r)+g,f=x(r)+g,p=l-w(r),m=l+_(r),\\\"log\\\"===t.type&&p<m/10&&(p=m/10),u=t.c2l(p),c=t.c2l(m),y&&(u=Math.min(0,u),c=Math.max(0,c)),n(u)){for(d=!0,o=0;o<t._min.length&&d;o++)s=t._min[o],s.val<=u&&s.pad>=f?d=!1:s.val>=u&&s.pad<=f&&(t._min.splice(o,1),o--);d&&t._min.push({val:u,pad:y&&0===u?0:f})}if(n(c)){for(d=!0,o=0;o<t._max.length&&d;o++)s=t._max[o],s.val>=c&&s.pad>=h?d=!1:s.val<=c&&s.pad<=h&&(t._max.splice(o,1),o--);d&&t._max.push({val:c,pad:y&&0===c?0:h})}}}if((t.autorange||!!A.nestedProperty(t,\\\"rangeslider.autorange\\\").get())&&e){t._min||(t._min=[]),t._max||(t._max=[]),r||(r={}),t._m||t.setScale();var a,o,s,l,u,c,h,f,d,p,m,v=e.length,g=r.padded?.05*t._length:0,y=r.tozero&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type);g&&\\\"domain\\\"===t.constrain&&t._inputDomain&&(g*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0]));var b=n((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),x=n((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),_=n(r.vpadplus||r.vpad),w=n(r.vpadminus||r.vpad);for(a=0;a<6;a++)i(a);for(a=v-1;a>5;a--)i(a)}},B.autoBin=function(t,e,r,n,i){var s=A.aggNums(Math.min,null,t),l=A.aggNums(Math.max,null,t);if(i||(i=e.calendar),\\\"category\\\"===e.type)return{start:s-.5,end:l+.5,size:1};var u;if(r)u=(l-s)/r;else{var c=A.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),f=h*A.roundUp(c.minDiff/h,[.9,1.9,4.9,9.9],!0);u=Math.max(f,2*A.stdev(t)/Math.pow(t.length,n?.25:.4)),M(u)||(u=1)}var d;d=\\\"log\\\"===e.type?{type:\\\"linear\\\",range:[s,l]}:{type:e.type,range:A.simpleMap([s,l],e.c2r,0,i),calendar:i},B.setConvert(d),B.autoTicks(d,u);var p,m=B.tickIncrement(B.tickFirst(d),d.dtick,\\\"reverse\\\",i);if(\\\"number\\\"==typeof d.dtick){m=a(m,t,d,s,l);p=m+(1+Math.floor((l-m)/d.dtick))*d.dtick}else for(\\\"M\\\"===d.dtick.charAt(0)&&(m=o(m,t,d.dtick,s,i)),p=m;p<=l;)p=B.tickIncrement(p,d.dtick,!1,i);return{start:e.c2r(m,0,i),end:e.c2r(p,0,i),size:d.dtick}},B.calcTicks=function(t){var e=A.simpleMap(t.range,t.r2l);if(\\\"auto\\\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\\\"category\\\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\\\"y\\\"===t._id.charAt(0)?40:80,n=A.constrain(t._length/r,4,9)+1)),\\\"array\\\"===t.tickmode&&(n*=100),B.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}if(t.tick0||(t.tick0=\\\"date\\\"===t.type?\\\"2000-01-01\\\":0),u(t),\\\"array\\\"===t.tickmode)return s(t);t._tmin=B.tickFirst(t);var i=e[1]<e[0],a=[],o=1.0001*e[1]-1e-4*e[0];\\\"category\\\"===t.type&&(o=i?Math.max(-.5,o):Math.min(t._categories.length-.5,o));for(var l=null,c=Math.max(1e3,t._length||0),h=t._tmin;(i?h>=o:h<=o)&&!(a.length>c||h===l);h=B.tickIncrement(h,t.dtick,i,t.calendar))l=h,a.push(h);t._tmax=a[a.length-1],t._prevDateHead=\\\"\\\",t._inCalcTicks=!0;for(var f=new Array(a.length),d=0;d<a.length;d++)f[d]=B.tickText(t,a[d]);return t._inCalcTicks=!1,f};var q=[2,5,10],G=[1,2,3,6,12],Y=[1,2,5,10,15,30],X=[1,2,3,7,14],W=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],Z=[-.301,0,.301,.699,1];B.autoTicks=function(t,e){var r;if(\\\"date\\\"===t.type){t.tick0=A.dateTick0(t.calendar);var n=2*e;n>I?(e/=I,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\\\"M\\\"+12*l(e,r,q)):n>D?(e/=D,t.dtick=\\\"M\\\"+l(e,1,G)):n>P?(t.dtick=l(e,P,X),t.tick0=A.dateTick0(t.calendar,!0)):n>O?t.dtick=l(e,O,G):n>R?t.dtick=l(e,R,Y):n>F?t.dtick=l(e,F,Y):(r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=l(e,r,q))}else if(\\\"log\\\"===t.type){t.tick0=0;var i=A.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(i[1]-i[0])<1){var a=1.5*Math.abs((i[1]-i[0])/e);e=Math.abs(Math.pow(10,i[1])-Math.pow(10,i[0]))/a,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=\\\"L\\\"+l(e,r,q)}else t.dtick=e>.3?\\\"D2\\\":\\\"D1\\\"}else\\\"category\\\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):(t.tick0=0,r=Math.pow(10,Math.floor(Math.log(e)/Math.LN10)),t.dtick=l(e,r,q));if(0===t.dtick&&(t.dtick=1),!M(t.dtick)&&\\\"string\\\"!=typeof t.dtick){var o=t.dtick;throw t.dtick=1,\\\"ax.dtick error: \\\"+String(o)}},B.tickIncrement=function(t,e,r,n){var i=r?-1:1;if(M(e))return t+i*e;var a=e.charAt(0),o=i*Number(e.substr(1));if(\\\"M\\\"===a)return A.incrementMonth(t,o,n);if(\\\"L\\\"===a)return Math.log(Math.pow(10,t)+o)/Math.LN10;if(\\\"D\\\"===a){var s=\\\"D2\\\"===e?Z:W,l=t+.01*i,u=A.roundUp(A.mod(l,1),s,r);return Math.floor(l)+Math.log(w.round(Math.pow(10,u),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(e)},B.tickFirst=function(t){var e=t.r2l||Number,r=A.simpleMap(t.range,e),n=r[1]<r[0],i=n?Math.floor:Math.ceil,a=1.0001*r[0]-1e-4*r[1],o=t.dtick,s=e(t.tick0);if(M(o)){var l=i((a-s)/o)*o+s;return\\\"category\\\"===t.type&&(l=A.constrain(l,0,t._categories.length-1)),l}var u=o.charAt(0),c=Number(o.substr(1));if(\\\"M\\\"===u){for(var h,f,d,p=0,m=s;p<10;){if(((h=B.tickIncrement(m,o,n,t.calendar))-a)*(m-a)<=0)return n?Math.min(m,h):Math.max(m,h);f=(a-(m+h)/2)/(h-m),d=u+(Math.abs(Math.round(f))||1)*c,m=B.tickIncrement(m,d,f<0?!n:n,t.calendar),p++}return A.error(\\\"tickFirst did not converge\\\",t),m}if(\\\"L\\\"===u)return Math.log(i((Math.pow(10,a)-s)/c)*c+s)/Math.LN10;if(\\\"D\\\"===u){var v=\\\"D2\\\"===o?Z:W,g=A.roundUp(A.mod(a,1),v,n);return Math.floor(a)+Math.log(w.round(Math.pow(10,g),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(o)},B.tickText=function(t,e,r){function n(n){var i;return void 0===n||(r?\\\"none\\\"===n:(i={first:t._tmin,last:t._tmax}[n],\\\"all\\\"!==n&&e!==i))}var i,a,o=c(t,e),s=\\\"array\\\"===t.tickmode,l=r||s,u=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;if(s&&Array.isArray(t.ticktext)){var m=A.simpleMap(t.range,t.r2l),v=Math.abs(m[1]-m[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<v);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}return i=r?\\\"never\\\":\\\"none\\\"!==t.exponentformat&&n(t.showexponent)?\\\"hide\\\":\\\"\\\",\\\"date\\\"===t.type?h(t,o,r,l):\\\"log\\\"===t.type?f(t,o,r,l,i):\\\"category\\\"===t.type?d(t,o):p(t,o,r,l,i),t.tickprefix&&!n(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!n(t.showticksuffix)&&(o.text+=t.ticksuffix),o};var J=[\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\u03bc\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\"];B.subplotMatch=/^x([0-9]*)y([0-9]*)$/,B.getSubplots=function(t,e){var r,n,i,a=[],o=t._fullData||t.data||[];for(r=0;r<o.length;r++){var s=o[r];if(!1!==s.visible&&\\\"legendonly\\\"!==s.visible&&(k.traceIs(s,\\\"cartesian\\\")||k.traceIs(s,\\\"gl2d\\\"))){i=(s.xaxis||\\\"x\\\")+(s.yaxis||\\\"y\\\"),-1===a.indexOf(i)&&a.push(i)}}var l=B.list(t,\\\"\\\",!0);for(r=0;r<l.length;r++){var u=l[r],c=u._id.charAt(0),h=\\\"free\\\"===u.anchor?\\\"x\\\"===c?\\\"y\\\":\\\"x\\\":u.anchor,f=B.getFromId(t,h),d=!1;for(n=0;n<a.length;n++)if(function(t,e){return-1!==t.indexOf(e._id)}(a[n],u)){d=!0;break}\\\"free\\\"===u.anchor&&d||f&&(i=\\\"x\\\"===c?u._id+f._id:f._id+u._id,-1===a.indexOf(i)&&a.push(i))}var p=B.subplotMatch,m=[];for(r=0;r<a.length;r++)i=a[r],p.test(i)&&m.push(i);return m.sort(function(t,e){var r=t.match(p),n=e.match(p);return r[1]===n[1]?+(r[2]||1)-(n[2]||1):+(r[1]||0)-(n[1]||0)}),e?B.findSubplotsWithAxis(m,e):m},B.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\\\"x\\\"===e._id.charAt(0)?\\\"^\\\"+e._id+\\\"y\\\":e._id+\\\"$\\\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},B.makeClipPaths=function(t){var e,r,n=t._fullLayout,i=n._defs,a={_offset:0,_length:n.width,_id:\\\"\\\"},o={_offset:0,_length:n.height,_id:\\\"\\\"},s=B.list(t,\\\"x\\\",!0),l=B.list(t,\\\"y\\\",!0),u=[];for(e=0;e<s.length;e++)for(u.push({x:s[e],y:o}),r=0;r<l.length;r++)0===e&&u.push({x:a,y:l[r]}),u.push({x:s[e],y:l[r]});var c=i.selectAll(\\\"g.clips\\\").data([0]);c.enter().append(\\\"g\\\").classed(\\\"clips\\\",!0);var h=c.selectAll(\\\".axesclip\\\").data(u,function(t){return t.x._id+t.y._id});h.enter().append(\\\"clipPath\\\").classed(\\\"axesclip\\\",!0).attr(\\\"id\\\",function(t){return\\\"clip\\\"+n._uid+t.x._id+t.y._id}).append(\\\"rect\\\"),h.exit().remove(),h.each(function(t){w.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})})},B.doTicks=function(t,e,r){function n(t){var e=u.l2p(t.x);return e>1&&e<u._length-1}function i(t,e){var r=t.selectAll(\\\"path.\\\"+_).data(\\\"inside\\\"===u.ticks?q:b,x);e&&u.ticks?(r.enter().append(\\\"path\\\").classed(_,1).classed(\\\"ticks\\\",1).classed(\\\"crisp\\\",1).call(E.stroke,u.tickcolor).style(\\\"stroke-width\\\",F+\\\"px\\\").attr(\\\"d\\\",e),r.attr(\\\"transform\\\",d),r.exit().remove()):r.remove()}function a(r,n){function i(t,e){t.each(function(t){var r=y(e),n=w.select(this),i=n.select(\\\".text-math-group\\\"),a=d(t)+(M(e)&&0!=+e?\\\" rotate(\\\"+e+\\\",\\\"+f(t)+\\\",\\\"+(p(t)-t.fontSize/2)+\\\")\\\":\\\"\\\");if(i.empty())n.select(\\\"text\\\").attr({transform:a,\\\"text-anchor\\\":r});else{var o=L.bBox(i.node()).width*{end:-.5,start:.5}[r];i.attr(\\\"transform\\\",a+(o?\\\"translate(\\\"+o+\\\",0)\\\":\\\"\\\"))}})}function a(){return z.length&&Promise.all(z)}function s(){if(i(h,u.tickangle),\\\"x\\\"===g&&!M(u.tickangle)&&(\\\"log\\\"!==u.type||\\\"D\\\"!==String(u.dtick).charAt(0))){var t=[];for(h.each(function(e){var r=w.select(this),n=r.select(\\\".text-math-group\\\"),i=u.l2p(e.x);n.empty()&&(n=r.select(\\\"text\\\"));var a=L.bBox(n.node());t.push({top:0,bottom:10,height:10,left:i-a.width/2,right:i+a.width/2+2,width:a.width+2})}),v=0;v<t.length-1;v++)if(A.bBoxIntersect(t[v],t[v+1])){C=30;break}if(C){Math.abs((b[b.length-1].x-b[0].x)*u._m)/(b.length-1)<2.5*E&&(C=90),i(h,C)}u._lastangle=C}return o(),e+\\\" done\\\"}function l(){function e(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}var n=r.node().getBoundingClientRect(),i=t.getBoundingClientRect();if(u._boundingBox={width:n.width,height:n.height,left:n.left-i.left,right:n.right-i.left,top:n.top-i.top,bottom:n.bottom-i.top},m){var a=u._counterSpan=[1/0,-1/0];for(v=0;v<m.length;v++){var o=c._plots[m[v]],s=o[\\\"x\\\"===g?\\\"yaxis\\\":\\\"xaxis\\\"];e(a,[s._offset,s._offset+s._length])}\\\"free\\\"===u.anchor&&e(a,\\\"x\\\"===g?[u._boundingBox.bottom,u._boundingBox.top]:[u._boundingBox.right,u._boundingBox.left])}}var h=r.selectAll(\\\"g.\\\"+_).data(b,x);if(!u.showticklabels||!M(n))return h.remove(),void o();var f,p,y,k,S;\\\"x\\\"===g?(S=\\\"bottom\\\"===U?1:-1,f=function(t){return t.dx+P*S},k=n+(D+I)*S,p=function(t){return t.dy+k+t.fontSize*(\\\"bottom\\\"===U?1:-.2)},y=function(t){return M(t)&&0!==t&&180!==t?t*S<0?\\\"end\\\":\\\"start\\\":\\\"middle\\\"}):(S=\\\"right\\\"===U?1:-1,p=function(t){return t.dy+t.fontSize*N-P*S},f=function(t){return t.dx+n+(D+I+(90===Math.abs(u.tickangle)?t.fontSize/2:0))*S},y=function(t){return M(t)&&90===Math.abs(t)?\\\"middle\\\":\\\"right\\\"===U?\\\"start\\\":\\\"end\\\"});var E=0,C=0,z=[];h.enter().append(\\\"g\\\").classed(_,1).append(\\\"text\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").each(function(e){var r=w.select(this),n=t._promises.length;r.call(T.positionText,f(e),p(e)).call(L.font,e.font,e.fontSize,e.fontColor).text(e.text).call(T.convertToTspans,t),n=t._promises[n],n?z.push(t._promises.pop().then(function(){i(r,u.tickangle)})):i(r,u.tickangle)}),h.exit().remove(),h.each(function(t){E=Math.max(E,t.fontSize)}),i(h,u._lastangle||u.tickangle);var O=A.syncOrAsync([a,s,l]);return O&&O.then&&t._promises.push(O),O}function o(){if(!r){var n,i,a,o,s=V.getFromId(t,e),l=w.select(t).selectAll(\\\"g.\\\"+e+\\\"tick\\\"),u={selection:l,side:s.side},h=e.charAt(0),f=t._fullLayout._size,d=s.titlefont.size;if(l.size()){var p=L.getTranslate(l.node().parentNode);u.offsetLeft=p.x,u.offsetTop=p.y}var m=10+1.5*d+(s.linewidth?s.linewidth-1:0);\\\"x\\\"===h?(i=\\\"free\\\"===s.anchor?{_offset:f.t+(1-(s.position||0))*f.h,_length:0}:V.getFromId(t,s.anchor),a=s._offset+s._length/2,o=\\\"top\\\"===s.side?-m-d*(s.showticklabels?1:0):i._length+m+d*(s.showticklabels?1.5:.5),o+=i._offset,s.rangeslider&&s.rangeslider.visible&&s._boundingBox&&(o+=(c.height-c.margin.b-c.margin.t)*s.rangeslider.thickness+s._boundingBox.height),u.side||(u.side=\\\"bottom\\\")):(i=\\\"free\\\"===s.anchor?{_offset:f.l+(s.position||0)*f.w,_length:0}:V.getFromId(t,s.anchor),o=s._offset+s._length/2,a=\\\"right\\\"===s.side?i._length+m+d*(s.showticklabels?1:.5):-m-d*(s.showticklabels?.5:0),a+=i._offset,n={rotate:\\\"-90\\\",offset:0},u.side||(u.side=\\\"left\\\")),S.draw(t,e+\\\"title\\\",{propContainer:s,propName:s._name+\\\".title\\\",dfltName:h.toUpperCase()+\\\" axis\\\",avoid:u,transform:n,attributes:{x:a,y:o,\\\"text-anchor\\\":\\\"middle\\\"}})}}function s(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!k.traceIs(t,\\\"bar\\\")||t.orientation!=={x:\\\"h\\\",y:\\\"v\\\"}[g])||t.fill&&t.fill.charAt(t.fill.length-1)===g)}function l(e,r,i){var a=e.gridlayer,o=e.zerolinelayer,l=e[\\\"hidegrid\\\"+g]?[]:q,c=u._gridpath||\\\"M0,0\\\"+(\\\"x\\\"===g?\\\"v\\\":\\\"h\\\")+r._length,h=a.selectAll(\\\"path.\\\"+C).data(!1===u.showgrid?[]:l,x);if(h.enter().append(\\\"path\\\").classed(C,1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",c).each(function(t){u.zeroline&&(\\\"linear\\\"===u.type||\\\"-\\\"===u.type)&&Math.abs(t.x)<u.dtick/100&&w.select(this).remove()}),h.attr(\\\"transform\\\",d).call(E.stroke,u.gridcolor||\\\"#ddd\\\").style(\\\"stroke-width\\\",O+\\\"px\\\"),h.exit().remove(),o){for(var f=!1,p=0;p<t._fullData.length;p++)if(s(t._fullData[p],i)){f=!0;break}var m=A.simpleMap(u.range,u.r2l),v=m[0]*m[1]<=0&&u.zeroline&&(\\\"linear\\\"===u.type||\\\"-\\\"===u.type)&&l.length&&(f||n({x:0})||!u.showline),y=o.selectAll(\\\"path.\\\"+z).data(v?[{x:0}]:[]);y.enter().append(\\\"path\\\").classed(z,1).classed(\\\"zl\\\",1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",c),y.attr(\\\"transform\\\",d).call(E.stroke,u.zerolinecolor||E.defaultLine).style(\\\"stroke-width\\\",R+\\\"px\\\"),y.exit().remove()}}var u,c=t._fullLayout,h=!1;if(\\\"object\\\"==typeof e)u=e,e=u._id,h=!0;else if(u=B.getFromId(t,e),\\\"redraw\\\"===e&&c._paper.selectAll(\\\"g.subplot\\\").each(function(t){var e=c._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\\\".\\\"+r._id+\\\"tick\\\").remove(),e.yaxislayer.selectAll(\\\".\\\"+n._id+\\\"tick\\\").remove(),e.gridlayer.selectAll(\\\"path\\\").remove(),e.zerolinelayer.selectAll(\\\"path\\\").remove()}),!e||\\\"redraw\\\"===e)return A.syncOrAsync(B.list(t,\\\"\\\",!0).map(function(r){return function(){if(r._id){var n=B.doTicks(t,r._id);return\\\"redraw\\\"===e&&(r._r=r.range.slice(),r._rl=A.simpleMap(r._r,r.r2l)),n}}}));u.tickformat||(-1===[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"].indexOf(u.exponentformat)&&(u.exponentformat=\\\"e\\\"),-1===[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"].indexOf(u.showexponent)&&(u.showexponent=\\\"all\\\")),u.setScale();var f,d,p,m,v,g=e.charAt(0),y=B.counterLetter(e),b=B.calcTicks(u),x=function(t){return[t.text,t.x,u.mirror].join(\\\"_\\\")},_=e+\\\"tick\\\",C=e+\\\"grid\\\",z=e+\\\"zl\\\",I=(u.linewidth||1)/2,D=\\\"outside\\\"===u.ticks?u.ticklen:0,P=0,O=L.crispRound(t,u.gridwidth,1),R=L.crispRound(t,u.zerolinewidth,O),F=L.crispRound(t,u.tickwidth,1);if(u._counterangle&&\\\"outside\\\"===u.ticks){var j=u._counterangle*Math.PI/180;D=u.ticklen*Math.cos(j)+1,P=u.ticklen*Math.sin(j)}if(u.showticklabels&&(\\\"outside\\\"===u.ticks||u.showline)&&(D+=.2*u.tickfont.size),\\\"x\\\"===g)f=[\\\"bottom\\\",\\\"top\\\"],d=function(t){return\\\"translate(\\\"+u.l2p(t.x)+\\\",0)\\\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\\\"M0,\\\"+t+\\\"l\\\"+Math.sin(r)*e+\\\",\\\"+Math.cos(r)*e}return\\\"M0,\\\"+t+\\\"v\\\"+e};else{if(\\\"y\\\"!==g)return void A.warn(\\\"Unrecognized doTicks axis:\\\",e);f=[\\\"left\\\",\\\"right\\\"],d=function(t){return\\\"translate(0,\\\"+u.l2p(t.x)+\\\")\\\"},p=function(t,e){if(u._counterangle){var r=u._counterangle*Math.PI/180;return\\\"M\\\"+t+\\\",0l\\\"+Math.cos(r)*e+\\\",\\\"+-Math.sin(r)*e}return\\\"M\\\"+t+\\\",0h\\\"+e}}var U=u.side||f[0],H=[-1,1,U===f[1]?1:-1];if(\\\"inside\\\"!==u.ticks==(\\\"x\\\"===g)&&(H=H.map(function(t){return-t})),u.visible){var q=b.filter(n);if(h){if(i(u._axislayer,p(u._pos+I*H[2],H[2]*u.ticklen)),u._counteraxis){l({gridlayer:u._gridlayer,zerolinelayer:u._zerolinelayer},u._counteraxis)}return a(u._axislayer,u._pos)}m=B.getSubplots(t,u);var G=m.map(function(t){var e=c._plots[t];if(c._has(\\\"cartesian\\\")){var r=e[g+\\\"axislayer\\\"],n=u._linepositions[t]||[],o=e[y+\\\"axis\\\"],s=o._id===u.anchor,h=[!1,!1,!1],d=\\\"\\\"\\n\",\n       \";if(\\\"allticks\\\"===u.mirror?h=[!0,!0,!1]:s&&(\\\"ticks\\\"===u.mirror?h=[!0,!0,!1]:h[f.indexOf(U)]=!0),u.mirrors)for(v=0;v<2;v++){var m=u.mirrors[o._id+f[v]];\\\"ticks\\\"!==m&&\\\"labels\\\"!==m||(h[v]=!0)}return void 0!==n[2]&&(h[2]=!0),h.forEach(function(t,e){var r=n[e],i=H[e];t&&M(r)&&(d+=p(r+I*i,i*u.ticklen))}),i(r,d),l(e,o,t),a(r,n[3])}}).filter(function(t){return t&&t.then});return G.length?Promise.all(G):0}},B.swap=function(t,e){for(var r=y(t,e),n=0;n<r.length;n++)x(t,r[n].x,r[n].y)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/titles\\\":692,\\\"../../constants/alignment\\\":699,\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../registry\\\":844,\\\"./axis_autotype\\\":767,\\\"./axis_ids\\\":769,\\\"./layout_attributes\\\":777,\\\"./layout_defaults\\\":778,\\\"./set_convert\\\":783,d3:121,\\\"fast-isnumeric\\\":130}],767:[function(t,e,r){\\\"use strict\\\";function n(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(o(t[e]))return!0;return!1}function i(t,e){for(var r,n=0,i=0,a=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=a)r=t[Math.round(l)],s.isDateTime(r,e)&&(n+=1),o(r)&&(i+=1);return n>2*i}function a(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,i=0,a=0;a<t.length;a+=r)e=t[Math.round(a)],s.cleanNumber(e)!==l?n++:\\\"string\\\"==typeof e&&\\\"\\\"!==e&&\\\"None\\\"!==e&&i++;return i>2*n}var o=t(\\\"fast-isnumeric\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e){return i(t,e)?\\\"date\\\":a(t)?\\\"category\\\":n(t)?\\\"linear\\\":\\\"-\\\"}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],768:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/color/attributes\\\").lightFraction,s=t(\\\"./layout_attributes\\\"),l=t(\\\"./tick_value_defaults\\\"),u=t(\\\"./tick_mark_defaults\\\"),c=t(\\\"./tick_label_defaults\\\"),h=t(\\\"./category_order_defaults\\\"),f=t(\\\"./set_convert\\\"),d=t(\\\"./ordered_categories\\\");e.exports=function(t,e,r,p,m){function v(r,n){return a.coerce2(t,e,s,r,n)}var g=p.letter,y=p.font||{},b=\\\"Click to enter \\\"+(p.title||g.toUpperCase()+\\\" axis\\\")+\\\" title\\\",x=r(\\\"visible\\\",!p.cheateronly),_=e.type;if(\\\"date\\\"===_){i.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",p.calendar)}if(f(e,m),r(\\\"autorange\\\",!e.isValidRange(t.range))&&r(\\\"rangemode\\\"),r(\\\"range\\\"),e.cleanRange(),h(t,e,r),e._initialCategories=\\\"category\\\"===_?d(g,e.categoryorder,e.categoryarray,p.data):[],!x)return e;var w=r(\\\"color\\\"),M=w===t.color?w:y.color;r(\\\"title\\\",b),a.coerceFont(r,\\\"titlefont\\\",{family:y.family,size:Math.round(1.2*y.size),color:M}),l(t,e,r,_),c(t,e,r,_,p),u(t,e,r,p);var k=v(\\\"linecolor\\\",w),A=v(\\\"linewidth\\\"),T=r(\\\"showline\\\",!!k||!!A);T||(delete e.linecolor,delete e.linewidth),(T||e.ticks)&&r(\\\"mirror\\\");var S=v(\\\"gridcolor\\\",n(w,p.bgColor,o).toRgbString()),E=v(\\\"gridwidth\\\");r(\\\"showgrid\\\",p.showGrid||!!S||!!E)||(delete e.gridcolor,delete e.gridwidth);var L=v(\\\"zerolinecolor\\\",w),C=v(\\\"zerolinewidth\\\");return r(\\\"zeroline\\\",p.showGrid||!!L||!!C)||(delete e.zerolinecolor,delete e.zerolinewidth),e}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./category_order_defaults\\\":770,\\\"./layout_attributes\\\":777,\\\"./ordered_categories\\\":779,\\\"./set_convert\\\":783,\\\"./tick_label_defaults\\\":784,\\\"./tick_mark_defaults\\\":785,\\\"./tick_value_defaults\\\":786,tinycolor2:533}],769:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t,r){for(var n=Object.keys(t),i=/^[xyz]axis[0-9]*/,a=[],o=0;o<n.length;o++){var s=n[o];e&&s.charAt(0)!==e||i.test(s)&&a.push(r+s)}return a.sort()}var i=t._fullLayout;if(!i)return[];var o=n(i,\\\"\\\");if(r)return o;for(var s=a.getSubplotIds(i,\\\"gl3d\\\")||[],l=0;l<s.length;l++){var u=s[l];o=o.concat(n(i[u],u+\\\".\\\"))}return o}var i=t(\\\"../../registry\\\"),a=t(\\\"../plots\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"./constants\\\");r.id2name=function(t){if(\\\"string\\\"==typeof t&&t.match(s.AX_ID_PATTERN)){var e=t.substr(1);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+\\\"axis\\\"+e}},r.name2id=function(t){if(t.match(s.AX_NAME_PATTERN)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(s.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,r){return n(t,e,r).map(function(e){return o.nestedProperty(t._fullLayout,e).get()})},r.listIds=function(t,e){return n(t,e,!0).map(r.name2id)},r.getFromId=function(t,e,n){var i=t._fullLayout;return\\\"x\\\"===n?e=e.replace(/y[0-9]*/,\\\"\\\"):\\\"y\\\"===n&&(e=e.replace(/x[0-9]*/,\\\"\\\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,n){var a=t._fullLayout,o=null;if(i.traceIs(e,\\\"gl3d\\\")){var s=e.scene;\\\"scene\\\"===s.substr(0,5)&&(o=a[s][n+\\\"axis\\\"])}else o=r.getFromId(t,e[n+\\\"axis\\\"]||n);return o}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../plots\\\":829,\\\"./constants\\\":771}],770:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){if(\\\"category\\\"===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&&i.length>0;a&&(n=\\\"array\\\");var o=r(\\\"categoryorder\\\",n);\\\"array\\\"===o&&r(\\\"categoryarray\\\"),a||\\\"array\\\"!==o||(e.categoryorder=\\\"trace\\\")}}},{}],771:[function(t,e,r){\\\"use strict\\\";e.exports={idRegex:{x:/^x([2-9]|[1-9][0-9]+)?$/,y:/^y([2-9]|[1-9][0-9]+)?$/},attrRegex:{x:/^xaxis([2-9]|[1-9][0-9]+)?$/,y:/^yaxis([2-9]|[1-9][0-9]+)?$/},xAxisMatch:/^xaxis[0-9]*$/,yAxisMatch:/^yaxis[0-9]*$/,AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\\\"imagelayer\\\",\\\"maplayer\\\",\\\"barlayer\\\",\\\"carpetlayer\\\",\\\"boxlayer\\\",\\\"scatterlayer\\\"],layerValue2layerClass:{\\\"above traces\\\":\\\"above\\\",\\\"below traces\\\":\\\"below\\\"}}},{}],772:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var i,a,s,l,u=n[o(e)].type,c=[];for(a=0;a<r.length;a++)(s=r[a])!==e&&(l=n[o(s)],l.type!==u||l.fixedrange||c.push(s));for(i=0;i<t.length;i++)if(t[i][e]){var h=t[i],f=[];for(a=0;a<c.length;a++)s=c[a],h[s]||f.push(s);return{linkableAxes:f,thisGroup:h}}return{linkableAxes:c,thisGroup:null}}function i(t,e,r,n,i){var a,o,s,l,u;null===e?(e={},e[r]=1,u=t.length,t.push(e)):u=t.indexOf(e);var c=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==u&&s[n]){var h=s[n];for(o=0;o<c.length;o++)l=c[o],s[l]=h*i*e[l];return void t.splice(u,1)}if(1!==i)for(o=0;o<c.length;o++)e[c[o]]*=i;e[n]=1}var a=t(\\\"../../lib\\\"),o=t(\\\"./axis_ids\\\").id2name;e.exports=function(t,e,r,o,s){var l=s._axisConstraintGroups,u=e._id,c=u.charAt(0);if(!e.fixedrange&&(r(\\\"constrain\\\"),a.coerce(t,e,{constraintoward:{valType:\\\"enumerated\\\",values:\\\"x\\\"===c?[\\\"left\\\",\\\"center\\\",\\\"right\\\"]:[\\\"bottom\\\",\\\"middle\\\",\\\"top\\\"],dflt:\\\"x\\\"===c?\\\"center\\\":\\\"middle\\\"}},\\\"constraintoward\\\"),t.scaleanchor)){var h=n(l,u,o,s),f=a.coerce(t,e,{scaleanchor:{valType:\\\"enumerated\\\",values:h.linkableAxes}},\\\"scaleanchor\\\");if(f){var d=r(\\\"scaleratio\\\");d||(d=e.scaleratio=1),i(l,h.thisGroup,u,f,d)}else-1!==o.indexOf(t.scaleanchor)&&a.warn(\\\"ignored \\\"+e._name+'.scaleanchor: \\\"'+t.scaleanchor+'\\\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{\\\"../../lib\\\":725,\\\"./axis_ids\\\":769}],773:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t._inputDomain,n=s[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}var i=t(\\\"./axis_ids\\\").id2name,a=t(\\\"./scale_zoom\\\"),o=t(\\\"../../constants/numerical\\\").ALMOST_EQUAL,s=t(\\\"../../constants/alignment\\\").FROM_BL;r.enforce=function(t){var e,r,s,l,u,c,h,f=t._fullLayout,d=f._axisConstraintGroups;for(e=0;e<d.length;e++){var p=d[e],m=Object.keys(p),v=1/0,g=0,y=1/0,b={},x={},_=!1;for(r=0;r<m.length;r++)s=m[r],x[s]=l=f[i(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/p[s],v=Math.min(v,u),\\\"domain\\\"!==l.constrain&&l._constraintShrinkable||(y=Math.min(y,u)),delete l._constraintShrinkable,g=Math.max(g,u),\\\"domain\\\"===l.constrain&&(_=!0);if(!(v>o*g)||_)for(r=0;r<m.length;r++)if(s=m[r],u=b[s],l=x[s],c=l.constrain,u!==y||\\\"domain\\\"===c)if(h=u/y,\\\"range\\\"===c)a(l,h);else{var w=l._inputDomain,M=(l.domain[1]-l.domain[0])/(w[1]-w[0]),k=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((h/=M)*k<1){l.domain=l._input.domain=w.slice(),a(l,h);continue}if(k<1&&(l.range=l._input.range=l._inputRange.slice(),h*=k),l.autorange&&l._min.length&&l._max.length){var A=l.r2l(l.range[0]),T=l.r2l(l.range[1]),S=(A+T)/2,E=S,L=S,C=Math.abs(T-S),z=S-C*h*1.0001,I=S+C*h*1.0001;n(l,h),l.setScale();var D,P,O=Math.abs(l._m);for(P=0;P<l._min.length;P++)(D=l._min[P].val-l._min[P].pad/O)>z&&D<E&&(E=D);for(P=0;P<l._max.length;P++)(D=l._max[P].val+l._max[P].pad/O)<I&&D>L&&(L=D);var R=(L-E)/(2*C);h/=R,E=l.l2r(E),L=l.l2r(L),l.range=l._input.range=A<T?[E,L]:[L,E]}n(l,h)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\\\"domain\\\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\\\"../../constants/alignment\\\":699,\\\"../../constants/numerical\\\":705,\\\"./axis_ids\\\":769,\\\"./scale_zoom\\\":781}],774:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a,o){var s=t.draglayer.selectAll(\\\".\\\"+e).data([0]);return s.enter().append(\\\"rect\\\").classed(\\\"drag\\\",!0).classed(e,!0).style({fill:\\\"transparent\\\",\\\"stroke-width\\\":0}).attr(\\\"data-subplot\\\",t.id),s.call(S.setRect,n,i,a,o).call(E,r),s.node()}function i(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\\\"\\\"}function a(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\\\"date\\\"===t.type?n:\\\"log\\\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,x.format(\\\".\\\"+r+\\\"g\\\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,x.format(\\\".\\\"+String(r)+\\\"g\\\")(n))}function o(t,e,r,n,i){var a,s,l,u;for(a=0;a<t.length;a++)s=t[a],s.fixedrange||(l=s._rl[0],u=s._rl[1]-l,s.range=[s.l2r(l+u*e),s.l2r(l+u*r)],n[s._name+\\\".range[0]\\\"]=s.range[0],n[s._name+\\\".range[1]\\\"]=s.range[1]);if(i&&i.length){var c=(e+(1-r))/2;o(i,c,1-c,n)}}function s(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function l(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function u(t,e){return t?\\\"nsew\\\"===t?\\\"pan\\\"===e?\\\"move\\\":\\\"crosshair\\\":t.toLowerCase()+\\\"-resize\\\":\\\"pointer\\\"}function c(t,e,r,n,i){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\\\",i+\\\"Z\\\")}function h(t,e,r){return t.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:T.background,stroke:T.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"transform\\\",\\\"translate(\\\"+e+\\\", \\\"+r+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}function f(t){t.selectAll(\\\".select-outline\\\").remove()}function d(t,e,r,n,i,a){t.attr(\\\"d\\\",n+\\\"M\\\"+r.l+\\\",\\\"+r.t+\\\"v\\\"+r.h+\\\"h\\\"+r.w+\\\"v-\\\"+r.h+\\\"h-\\\"+r.w+\\\"Z\\\"),i||(t.transition().style(\\\"fill\\\",a>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),e.transition().style(\\\"opacity\\\",1).duration(200))}function p(t){x.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}function m(t){return-1!==[\\\"lasso\\\",\\\"select\\\"].indexOf(t)}function v(t,e){return\\\"M\\\"+(t.l-.5)+\\\",\\\"+(e-j-.5)+\\\"h-3v\\\"+(2*j+1)+\\\"h3ZM\\\"+(t.r+.5)+\\\",\\\"+(e-j-.5)+\\\"h3v\\\"+(2*j+1)+\\\"h-3Z\\\"}function g(t,e){return\\\"M\\\"+(e-j-.5)+\\\",\\\"+(t.t-.5)+\\\"v-3h\\\"+(2*j+1)+\\\"v3ZM\\\"+(e-j-.5)+\\\",\\\"+(t.b+.5)+\\\"v3h\\\"+(2*j+1)+\\\"v-3Z\\\"}function y(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,j)/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 b(t,e,r){var n,i,a,o,s,l,u=!1,c={},h={};for(n=0;n<t.length;n++){for(o=t[n],i=0;i<e.length;i++)if(o[e[i]]){for(s in o)-1===(\\\"x\\\"===s.charAt(0)?e:r).indexOf(s)&&(c[s]=1);for(a=0;a<r.length;a++)o[r[a]]&&(u=!0)}for(i=0;i<r.length;i++)if(o[r[i]])for(l in o)-1===(\\\"x\\\"===l.charAt(0)?e:r).indexOf(l)&&(h[l]=1)}return u&&(k.extendFlat(c,h),h={}),{x:c,y:h,xy:u}}var x=t(\\\"d3\\\"),_=t(\\\"tinycolor2\\\"),w=t(\\\"../../plotly\\\"),M=t(\\\"../../registry\\\"),k=t(\\\"../../lib\\\"),A=t(\\\"../../lib/svg_text_utils\\\"),T=t(\\\"../../components/color\\\"),S=t(\\\"../../components/drawing\\\"),E=t(\\\"../../lib/setcursor\\\"),L=t(\\\"../../components/dragelement\\\"),C=t(\\\"../../constants/alignment\\\").FROM_TL,z=t(\\\"../plots\\\"),I=t(\\\"./axes\\\").doTicks,D=t(\\\"./axis_ids\\\").getFromId,P=t(\\\"./select\\\"),O=t(\\\"./scale_zoom\\\"),R=t(\\\"./constants\\\"),F=R.MINDRAG,j=R.MINZOOM,N=!0;e.exports=function(t,e,r,T,E,B,U,V){function H(){et=[e.xaxis],rt=[e.yaxis];var r=et[0],n=rt[0];at=r._length,ot=n._length;var a=dt._axisConstraintGroups,o=[r._id],s=[n._id];tt=[e].concat(U&&V?e.overlays:[]);for(var l=1;l<tt.length;l++){var c=tt[l].xaxis,h=tt[l].yaxis;-1===et.indexOf(c)&&(et.push(c),o.push(c._id)),-1===rt.indexOf(h)&&(rt.push(h),s.push(h._id))}st=i(et,V),lt=i(rt,U),ut=u(lt+st,dt.dragmode),nt=r._offset,it=n._offset;var f=b(a,o,s);ct=f.xy,ht=[];for(var d in f.x)ht.push(D(t,d));ft=[];for(var p in f.y)ft.push(D(t,p))}function q(e,r,n){var i=vt.getBoundingClientRect();yt=r-i.left,bt=n-i.top,xt={l:yt,r:yt,w:0,t:bt,b:bt,h:0},_t=t._hmpixcount?t._hmlumcount/t._hmpixcount:_(t._fullLayout.plot_bgcolor).getLuminance(),wt=\\\"M0,0H\\\"+at+\\\"V\\\"+ot+\\\"H0V0\\\",Mt=!1,kt=\\\"xy\\\",At=c(pt,_t,nt,it,wt),Tt=h(pt,nt,it),f(pt)}function G(e,r){function n(){kt=\\\"\\\",xt.r=xt.l,xt.t=xt.b,Tt.attr(\\\"d\\\",\\\"M0,0Z\\\")}if(t._transitioningWithDuration)return!1;var i=Math.max(0,Math.min(at,e+yt)),a=Math.max(0,Math.min(ot,r+bt)),o=Math.abs(i-yt),s=Math.abs(a-bt);xt.l=Math.min(yt,i),xt.r=Math.max(yt,i),xt.t=Math.min(bt,a),xt.b=Math.max(bt,a),ct?o>j||s>j?(kt=\\\"xy\\\",o/at>s/ot?(s=o*ot/at,bt>a?xt.t=bt-s:xt.b=bt+s):(o=s*at/ot,yt>i?xt.l=yt-o:xt.r=yt+o),Tt.attr(\\\"d\\\",y(xt))):n():!lt||s<Math.min(Math.max(.6*o,F),j)?o<F?n():(xt.t=0,xt.b=ot,kt=\\\"x\\\",Tt.attr(\\\"d\\\",v(xt,bt))):!st||o<Math.min(.6*s,j)?(xt.l=0,xt.r=at,kt=\\\"y\\\",Tt.attr(\\\"d\\\",g(xt,yt))):(kt=\\\"xy\\\",Tt.attr(\\\"d\\\",y(xt))),xt.w=xt.r-xt.l,xt.h=xt.b-xt.t,d(At,Tt,xt,wt,Mt,_t),Mt=!0}function Y(e,r){if(Math.min(xt.h,xt.w)<2*F)return 2===r&&K(),p(t);\\\"xy\\\"!==kt&&\\\"x\\\"!==kt||o(et,xt.l/at,xt.r/at,St,ht),\\\"xy\\\"!==kt&&\\\"y\\\"!==kt||o(rt,(ot-xt.b)/ot,(ot-xt.t)/ot,St,ft),p(t),Q(kt),N&&t.data&&t._context.showTips&&(k.notifier(\\\"Double-click to<br>zoom back out\\\",\\\"long\\\"),N=!1)}function X(e,r){var n=1===(U+V).length;if(e)Q();else if(2!==r||n){if(1===r&&n){var i=U?rt[0]:et[0],o=\\\"s\\\"===U||\\\"w\\\"===V?0:1,s=i._name+\\\".range[\\\"+o+\\\"]\\\",l=a(i,o),u=\\\"left\\\",c=\\\"middle\\\";if(i.fixedrange)return;U?(c=\\\"n\\\"===U?\\\"top\\\":\\\"bottom\\\",\\\"right\\\"===i.side&&(u=\\\"right\\\")):\\\"e\\\"===V&&(u=\\\"right\\\"),t._context.showAxisRangeEntryBoxes&&x.select(vt).call(A.makeEditable,{gd:t,immediate:!0,background:dt.paper_bgcolor,text:String(l),fill:i.tickfont?i.tickfont.color:\\\"#444\\\",horizontalAlign:u,verticalAlign:c}).on(\\\"edit\\\",function(e){var r=i.d2r(e);void 0!==r&&w.relayout(t,s,r)})}}else K()}function W(e){function r(t,e,r){function n(e){return t.l2r(a+(e-a)*r)}if(!t.fixedrange){var i=k.simpleMap(t.range,t.r2l),a=i[0]+(i[1]-i[0])*e;t.range=i.map(n)}}if(t._context.scrollZoom||dt._enablescrollzoom){if(t._transitioningWithDuration)return k.pauseEvent(e);var n=t.querySelector(\\\".plotly\\\");if(H(),!(n.scrollHeight-n.clientHeight>10||n.scrollWidth-n.clientWidth>10)){clearTimeout(Lt);var i=-e.deltaY;if(isFinite(i)||(i=e.wheelDelta/10),!isFinite(i))return void k.log(\\\"Did not find wheel motion attributes: \\\",e);var a,o=Math.exp(-Math.min(Math.max(i,-20),20)/100),s=zt.draglayer.select(\\\".nsewdrag\\\").node().getBoundingClientRect(),l=(e.clientX-s.left)/s.width,u=(s.bottom-e.clientY)/s.height;if(V||ct){for(V||(l=.5),a=0;a<et.length;a++)r(et[a],l,o);Et[2]*=o,Et[0]+=Et[2]*l*(1/o-1)}if(U||ct){for(U||(u=.5),a=0;a<rt.length;a++)r(rt[a],u,o);Et[3]*=o,Et[1]+=Et[3]*(1-u)*(1/o-1)}return $(Et),J(U,V),Lt=setTimeout(function(){Et=[0,0,at,ot];var t;t=ct?\\\"xy\\\":(V?\\\"x\\\":\\\"\\\")+(U?\\\"y\\\":\\\"\\\"),Q(t)},Ct),k.pauseEvent(e)}}}function Z(e,r){function n(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/l(r/s._length);var u=s.l2r(i);!1!==u&&void 0!==u&&(s.range[e]=u)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}if(!t._transitioningWithDuration){if(H(),\\\"ew\\\"===st||\\\"ns\\\"===lt)return st&&s(et,e),lt&&s(rt,r),$([st?-e:0,lt?-r:0,at,ot]),void J(lt,st);if(ct&&st&&lt){var i=\\\"w\\\"===st==(\\\"n\\\"===lt)?1:-1,a=(e/at+i*r/ot)/2;e=a*at,r=i*a*ot}\\\"w\\\"===st?e=n(et,0,e):\\\"e\\\"===st?e=n(et,1,-e):st||(e=0),\\\"n\\\"===lt?r=n(rt,1,r):\\\"s\\\"===lt?r=n(rt,0,-r):lt||(r=0);var o=\\\"w\\\"===st?e:0,u=\\\"n\\\"===lt?r:0;if(ct){var c;if(!st&&1===lt.length){for(c=0;c<et.length;c++)et[c].range=et[c]._r.slice(),O(et[c],1-r/ot);e=r*at/ot,o=e/2}if(!lt&&1===st.length){for(c=0;c<rt.length;c++)rt[c].range=rt[c]._r.slice(),O(rt[c],1-e/at);r=e*ot/at,u=r/2}}$([o,u,at-e,ot-r]),J(lt,st)}}function J(e,r){function n(t){for(a=0;a<t.length;a++)t[a].fixedrange||o.push(t[a]._id)}function i(n,i,s){for(a=0;a<n.length;a++){var l=n[a];if((r&&-1!==o.indexOf(l.xref)||e&&-1!==o.indexOf(l.yref))&&(i(t,a),s))return}}var a,o=[];for((r||ct)&&(n(et),n(ht)),(e||ct)&&(n(rt),n(ft)),St={},a=0;a<o.length;a++){var s=o[a];I(t,s,!0);var l=D(t,s);St[l._name+\\\".range[0]\\\"]=l.range[0],St[l._name+\\\".range[1]\\\"]=l.range[1]}i(dt.annotations||[],M.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),i(dt.shapes||[],M.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),i(dt.images||[],M.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function K(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(st?et:[]).concat(lt?rt:[]),o={};if(\\\"reset+autosize\\\"===i)for(i=\\\"autosize\\\",r=0;r<a.length;r++)if(e=a[r],e._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\\\"reset\\\";break}if(\\\"autosize\\\"===i)for(r=0;r<a.length;r++)e=a[r],e.fixedrange||(o[e._name+\\\".autorange\\\"]=!0);else if(\\\"reset\\\"===i)for((st||ct)&&(a=a.concat(ht)),lt&&!ct&&(a=a.concat(ft)),ct&&(st?lt||(a=a.concat(rt)):a=a.concat(et)),r=0;r<a.length;r++)e=a[r],e._rangeInitial?(n=e._rangeInitial,o[e._name+\\\".range[0]\\\"]=n[0],o[e._name+\\\".range[1]\\\"]=n[1]):o[e._name+\\\".autorange\\\"]=!0;t.emit(\\\"plotly_doubleclick\\\",null),w.relayout(t,o)}}function Q(e){void 0===e&&(e=(V?\\\"x\\\":\\\"\\\")+(U?\\\"y\\\":\\\"\\\")),$([0,0,at,ot]),k.syncOrAsync([z.previousPromises,function(){w.relayout(t,St)}],t)}function $(t){function e(t){return t.fixedrange?0:d&&-1!==ht.indexOf(t)?h:p&&-1!==(ct?ht:ft).indexOf(t)?f:0}function r(t,e){return e?(t.range=t._r.slice(),O(t,e),n(t,e)):0}function n(t,e){return t._length*(1-e)*C[t.constraintoward||\\\"middle\\\"]}var i,a,o,s,l,u=dt._plots,c=Object.keys(u),h=t[2]/et[0]._length,f=t[3]/rt[0]._length,d=V||ct,p=U||ct;for(i=0;i<c.length;i++){var m=u[c[i]],v=m.xaxis,g=m.yaxis,y=d&&!v.fixedrange&&-1!==et.indexOf(v),b=p&&!g.fixedrange&&-1!==rt.indexOf(g);if(y?(a=h,s=V?t[0]:n(v,a)):(a=e(v),s=r(v,a)),b?(o=f,l=U?t[1]:n(g,o)):(o=e(g),l=r(g,o)),a||o){a||(a=1),o||(o=1);var x=v._offset-s/a,_=g._offset-l/o;dt._defs.select(\\\"#\\\"+m.clipId+\\\"> rect\\\").call(S.setTranslate,s,l).call(S.setScale,a,o);var w=m.plot.selectAll(\\\".scatterlayer .points, .boxlayer .points\\\");m.plot.call(S.setTranslate,x,_).call(S.setScale,1/a,1/o),w.selectAll(\\\".point\\\").call(S.setPointGroupScale,a,o).call(S.hideOutsideRangePoints,m),w.selectAll(\\\".textpoint\\\").call(S.setTextPointsScale,a,o).call(S.hideOutsideRangePoints,m)}}}var tt,et,rt,nt,it,at,ot,st,lt,ut,ct,ht,ft,dt=t._fullLayout,pt=t._fullLayout._zoomlayer,mt=U+V===\\\"nsew\\\";H();var vt=n(e,U+V+\\\"drag\\\",ut,r,T,E,B);if(!lt&&!st&&!m(dt.dragmode))return vt.onmousedown=null,vt.style.pointerEvents=mt?\\\"all\\\":\\\"none\\\",vt;var gt={element:vt,gd:t,plotinfo:e,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;mt?e.shiftKey&&(i=\\\"pan\\\"===i?\\\"zoom\\\":\\\"pan\\\"):i=\\\"pan\\\",gt.minDrag=\\\"lasso\\\"===i?1:void 0,\\\"zoom\\\"===i?(gt.moveFn=G,gt.doneFn=Y,gt.minDrag=1,q(e,r,n)):\\\"pan\\\"===i?(gt.moveFn=Z,gt.doneFn=X,f(pt)):m(i)&&(gt.xaxes=et,gt.yaxes=rt,P(e,r,n,gt,i))}};L.init(gt);var yt,bt,xt,_t,wt,Mt,kt,At,Tt,St={},Et=[0,0,at,ot],Lt=null,Ct=R.REDRAWDELAY,zt=e.mainplot?dt._plots[e.mainplot]:e;return U.length*V.length!=1&&(void 0!==vt.onwheel?vt.onwheel=W:void 0!==vt.onmousewheel&&(vt.onmousewheel=W)),vt}},{\\\"../../components/color\\\":603,\\\"../../components/dragelement\\\":624,\\\"../../components/drawing\\\":627,\\\"../../constants/alignment\\\":699,\\\"../../lib\\\":725,\\\"../../lib/setcursor\\\":741,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plotly\\\":761,\\\"../../registry\\\":844,\\\"../plots\\\":829,\\\"./axes\\\":766,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,\\\"./scale_zoom\\\":781,\\\"./select\\\":782,d3:121,tinycolor2:533}],775:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/dragelement\\\"),o=t(\\\"./constants\\\"),s=t(\\\"./dragbox\\\");e.exports=function(t){var e=t._fullLayout;if((e._has(\\\"cartesian\\\")||e._has(\\\"gl2d\\\"))&&!t._context.staticPlot){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\\\"y\\\"),i=r.split(\\\"y\\\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var l=e._plots[r],u=l.xaxis,c=l.yaxis,h=(u._linepositions[r]||[])[3],f=(c._linepositions[r]||[])[3],d=o.DRAGGERSIZE;if(n(h)&&\\\"top\\\"===u.side&&(h-=d),n(f)&&\\\"right\\\"!==c.side&&(f-=d),!l.mainplot){var p=s(t,l,0,0,u._length,c._length,\\\"ns\\\",\\\"ew\\\");p.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=p,t._fullLayout._hoversubplot=r},p.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},p.onclick=function(e){i.click(t,e,r)},t._context.showAxisDragHandles&&(s(t,l,-d,-d,d,d,\\\"n\\\",\\\"w\\\"),s(t,l,u._length,-d,d,d,\\\"n\\\",\\\"e\\\"),s(t,l,-d,c._length,d,d,\\\"s\\\",\\\"w\\\"),s(t,l,u._length,c._length,d,d,\\\"s\\\",\\\"e\\\"))}t._context.showAxisDragHandles&&(n(h)&&(\\\"free\\\"===u.anchor&&(h-=e._size.h*(1-c.domain[1])),s(t,l,.1*u._length,h,.8*u._length,d,\\\"\\\",\\\"ew\\\"),s(t,l,0,h,.1*u._length,d,\\\"\\\",\\\"w\\\"),s(t,l,.9*u._length,h,.1*u._length,d,\\\"\\\",\\\"e\\\")),n(f)&&(\\\"free\\\"===c.anchor&&(f-=e._size.w*u.domain[0]),s(t,l,f,.1*c._length,d,.8*c._length,\\\"ns\\\",\\\"\\\"),s(t,l,f,.9*c._length,d,.1*c._length,\\\"s\\\",\\\"\\\"),s(t,l,f,0,d,.1*c._length,\\\"n\\\",\\\"\\\")))});var r=e._hoverlayer.node();r.onmousemove=function(r){r.target=e._lasthover,i.hover(t,r,e._hoversubplot)},r.onclick=function(r){r.target=e._lasthover,i.click(t,r)},r.onmousedown=function(t){e._lasthover.onmousedown(t)}}}},{\\\"../../components/dragelement\\\":624,\\\"../../components/fx\\\":644,\\\"./constants\\\":771,\\\"./dragbox\\\":774,\\\"fast-isnumeric\\\":130}],776:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=t._fullLayout,o=a._modules;e.plot&&e.plot.selectAll(\\\"g:not(.scatterlayer)\\\").selectAll(\\\"g.trace\\\").remove();for(var s=0;s<o.length;s++){var l=o[s];if(\\\"cartesian\\\"===l.basePlotModule.name){for(var u=[],c=0;c<r.length;c++){var h=r[c],f=h[0].trace;f._module===l&&!0===f.visible&&u.push(h)}l.plot(t,e,u,n,i)}}}function i(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a<r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,u=s.yaxis,c=l._mainAxis,h=u._mainAxis,f=c._id+h._id;f!==o&&-1!==r.indexOf(f)?(s.mainplot=f,s.mainplotinfo=e._plots[f],i.push(o)):n.push(o)}return n=n.concat(i)}function a(t){var e=t.plotgroup,r=t.id,n=f.layerValue2layerClass[t.xaxis.layer],i=f.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,o=a.plotgroup,l=r+\\\"-x\\\",u=r+\\\"-y\\\";t.gridlayer=s(a.overgrid,\\\"g\\\",r),t.zerolinelayer=s(a.overzero,\\\"g\\\",r),s(a.overlinesBelow,\\\"path\\\",l),s(a.overlinesBelow,\\\"path\\\",u),s(a.overaxesBelow,\\\"g\\\",l),s(a.overaxesBelow,\\\"g\\\",u),t.plot=s(a.overplot,\\\"g\\\",r),s(a.overlinesAbove,\\\"path\\\",l),s(a.overlinesAbove,\\\"path\\\",u),s(a.overaxesAbove,\\\"g\\\",l),s(a.overaxesAbove,\\\"g\\\",u),t.xlines=o.select(\\\".overlines-\\\"+n).select(\\\".\\\"+l),t.ylines=o.select(\\\".overlines-\\\"+i).select(\\\".\\\"+u),t.xaxislayer=o.select(\\\".overaxes-\\\"+n).select(\\\".\\\"+l),t.yaxislayer=o.select(\\\".overaxes-\\\"+i).select(\\\".\\\"+u)}else{var c=s(e,\\\"g\\\",\\\"layer-subplot\\\");t.shapelayer=s(c,\\\"g\\\",\\\"shapelayer\\\"),t.imagelayer=s(c,\\\"g\\\",\\\"imagelayer\\\"),t.gridlayer=s(e,\\\"g\\\",\\\"gridlayer\\\"),t.overgrid=s(e,\\\"g\\\",\\\"overgrid\\\"),t.zerolinelayer=s(e,\\\"g\\\",\\\"zerolinelayer\\\"),t.overzero=s(e,\\\"g\\\",\\\"overzero\\\"),s(e,\\\"path\\\",\\\"xlines-below\\\"),s(e,\\\"path\\\",\\\"ylines-below\\\"),t.overlinesBelow=s(e,\\\"g\\\",\\\"overlines-below\\\"),s(e,\\\"g\\\",\\\"xaxislayer-below\\\"),s(e,\\\"g\\\",\\\"yaxislayer-below\\\"),t.overaxesBelow=s(e,\\\"g\\\",\\\"overaxes-below\\\"),t.plot=s(e,\\\"g\\\",\\\"plot\\\"),t.overplot=s(e,\\\"g\\\",\\\"overplot\\\"),s(e,\\\"path\\\",\\\"xlines-above\\\"),s(e,\\\"path\\\",\\\"ylines-above\\\"),t.overlinesAbove=s(e,\\\"g\\\",\\\"overlines-above\\\"),s(e,\\\"g\\\",\\\"xaxislayer-above\\\"),s(e,\\\"g\\\",\\\"yaxislayer-above\\\"),t.overaxesAbove=s(e,\\\"g\\\",\\\"overaxes-above\\\"),t.xlines=e.select(\\\".xlines-\\\"+n),t.ylines=e.select(\\\".ylines-\\\"+i),t.xaxislayer=e.select(\\\".xaxislayer-\\\"+n),t.yaxislayer=e.select(\\\".yaxislayer-\\\"+i)}for(var h=0;h<f.traceLayerClasses.length;h++)s(t.plot,\\\"g\\\",f.traceLayerClasses[h]);t.xlines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0),t.ylines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0)}function o(t,e){if(t){var r={};t.each(function(t){var n=l.select(this),i=\\\"clip\\\"+e._uid+t+\\\"plot\\\";n.remove(),e._draggers.selectAll(\\\"g.\\\"+t).remove(),e._defs.select(\\\"#\\\"+i).remove(),r[t]=!0});for(var n=e._plots,i=Object.keys(n),a=0;a<i.length;a++)for(var o=n[i[a]],s=o.overlays||[],u=0;u<s.length;u++){var c=s[u];r[c.id]&&c.plot.selectAll(\\\".trace\\\").remove()}}}function s(t,e,r){var n=t.selectAll(\\\".\\\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}var l=t(\\\"d3\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../plots\\\"),h=t(\\\"./axis_ids\\\"),f=t(\\\"./constants\\\");r.name=\\\"cartesian\\\",r.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],r.idRoot=[\\\"x\\\",\\\"y\\\"],r.idRegex=f.idRegex,r.attrRegex=f.attrRegex,r.attributes=t(\\\"./attributes\\\"),r.layoutAttributes=t(\\\"./layout_attributes\\\"),r.transitionAxes=t(\\\"./transition_axes\\\"),r.plot=function(t,e,r,i){var a,o=t._fullLayout,s=c.getSubplotIds(o,\\\"cartesian\\\"),l=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<l.length;a++)e.push(a);for(a=0;a<s.length;a++){for(var u,h=s[a],f=o._plots[h],d=[],p=0;p<l.length;p++){var m=l[p],v=m[0].trace;v.xaxis+v.yaxis===h&&((-1!==e.indexOf(v.index)||v.carpet)&&(u&&u[0].trace.xaxis+u[0].trace.yaxis===h&&-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(v.fill)&&-1===d.indexOf(u)&&d.push(u),d.push(m)),u=m)}n(t,f,d,r,i)}},r.clean=function(t,e,r,n){var i,a,s,l=n._modules||[],u=e._modules||[];for(s=0;s<l.length;s++)if(\\\"scatter\\\"===l[s].name){i=!0;break}for(s=0;s<u.length;s++)if(\\\"scatter\\\"===u[s].name){a=!0;break}if(i&&!a){var c=n._plots,f=Object.keys(c||{});for(s=0;s<f.length;s++){var d=c[f[s]];d.plot&&d.plot.select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove()}n._infolayer.selectAll(\\\"g.rangeslider-container\\\").select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove()}var p=n._has&&n._has(\\\"cartesian\\\"),m=e._has&&e._has(\\\"cartesian\\\");if(p&&!m){var v=n._cartesianlayer.selectAll(\\\".subplot\\\"),g=h.listIds({_fullLayout:n});for(v.call(o,n),n._defs.selectAll(\\\".axesclip\\\").remove(),s=0;s<g.length;s++)n._infolayer.select(\\\".\\\"+g[s]+\\\"title\\\").remove()}},r.drawFramework=function(t){var e=t._fullLayout,r=i(t),n=e._cartesianlayer.selectAll(\\\".subplot\\\").data(r,u.identity);n.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"subplot \\\"+t}),n.order(),n.exit().call(o,e),n.each(function(t){var r=e._plots[t];if(r.plotgroup=l.select(this),r.overlays=[],a(r),r.mainplot){e._plots[r.mainplot].overlays.push(r)}r.draglayer=s(e._draggers,\\\"g\\\",t)})},r.rangePlot=function(t,e,r){a(e),n(t,e,r),c.style(t)}},{\\\"../../lib\\\":725,\\\"../plots\\\":829,\\\"./attributes\\\":765,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,\\\"./layout_attributes\\\":777,\\\"./transition_axes\\\":787,d3:121}],777:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../font_attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"./constants\\\");e.exports={visible:{valType:\\\"boolean\\\"},color:{valType:\\\"color\\\",dflt:i.defaultLine},title:{valType:\\\"string\\\"},titlefont:o({},n,{}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"log\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0},rangemode:{valType:\\\"enumerated\\\",values:[\\\"normal\\\",\\\"tozero\\\",\\\"nonnegative\\\"],dflt:\\\"normal\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\"},{valType:\\\"any\\\"}]},fixedrange:{valType:\\\"boolean\\\",dflt:!1},scaleanchor:{valType:\\\"enumerated\\\",values:[s.idRegex.x.toString(),s.idRegex.y.toString()]},scaleratio:{valType:\\\"number\\\",min:0,dflt:1},constrain:{valType:\\\"enumerated\\\",values:[\\\"range\\\",\\\"domain\\\"],dflt:\\\"range\\\"},constraintoward:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"center\\\",\\\"right\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"]},tickmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"linear\\\",\\\"array\\\"]},nticks:{valType:\\\"integer\\\",min:0,dflt:0},tick0:{valType:\\\"any\\\"},dtick:{valType:\\\"any\\\"},tickvals:{valType:\\\"data_array\\\"},ticktext:{valType:\\\"data_array\\\"},ticks:{valType:\\\"enumerated\\\",values:[\\\"outside\\\",\\\"inside\\\",\\\"\\\"]},mirror:{valType:\\\"enumerated\\\",values:[!0,\\\"ticks\\\",!1,\\\"all\\\",\\\"allticks\\\"],dflt:!1},ticklen:{valType:\\\"number\\\",min:0,dflt:5},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},tickcolor:{valType:\\\"color\\\",dflt:i.defaultLine},showticklabels:{valType:\\\"boolean\\\",dflt:!0},showspikes:{valType:\\\"boolean\\\",dflt:!1},spikecolor:{valType:\\\"color\\\",dflt:null},spikethickness:{valType:\\\"number\\\",dflt:3},spikedash:o({},a,{dflt:\\\"dash\\\"}),spikemode:{valType:\\\"flaglist\\\",flags:[\\\"toaxis\\\",\\\"across\\\",\\\"marker\\\"],dflt:\\\"toaxis\\\"},tickfont:o({},n,{}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\"},hoverformat:{valType:\\\"string\\\",dflt:\\\"\\\"},showline:{valType:\\\"boolean\\\",dflt:!1},linecolor:{valType:\\\"color\\\",dflt:i.defaultLine},linewidth:{valType:\\\"number\\\",min:0,dflt:1},showgrid:{valType:\\\"boolean\\\"},gridcolor:{valType:\\\"color\\\",dflt:i.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1},zeroline:{valType:\\\"boolean\\\"},zerolinecolor:{valType:\\\"color\\\",dflt:i.defaultLine},zerolinewidth:{valType:\\\"number\\\",dflt:1},anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.idRegex.y.toString()]},side:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"]},overlaying:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.idRegex.y.toString()]},layer:{valType:\\\"enumerated\\\",values:[\\\"above traces\\\",\\\"below traces\\\"],dflt:\\\"above traces\\\"},domain:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},position:{valType:\\\"number\\\",min:0,max:1,dflt:0},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\"},categoryarray:{valType:\\\"data_array\\\"},_deprecated:{autotick:{valType:\\\"boolean\\\"}}}},{\\\"../../components/color/attributes\\\":602,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../font_attributes\\\":790,\\\"./constants\\\":771}],778:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../layout_attributes\\\"),s=t(\\\"./constants\\\"),l=t(\\\"./layout_attributes\\\"),u=t(\\\"./type_defaults\\\"),c=t(\\\"./axis_defaults\\\"),h=t(\\\"./constraint_defaults\\\"),f=t(\\\"./position_defaults\\\"),d=t(\\\"./axis_ids\\\");e.exports=function(t,e,r){function p(t,e){return Number(t.substr(5)||1)-Number(e.substr(5)||1)}function m(t,e){return i.coerce(N,B,l,t,e)}function v(t){var e={x:P,y:D}[t];return i.simpleMap(e,d.name2id)}var g,y=Object.keys(t),b=[],x=[],_=[],w=[],M=[],k=[],A={},T={};for(g=0;g<r.length;g++){var S,E,L=r[g];if(n.traceIs(L,\\\"cartesian\\\"))S=b,E=x;else{if(!n.traceIs(L,\\\"gl2d\\\"))continue;S=_,E=w}var C=d.id2name(L.xaxis),z=d.id2name(L.yaxis);if(n.traceIs(L,\\\"carpet\\\")&&(\\\"carpet\\\"!==L.type||L._cheater)||C&&i.pushUnique(k,C),\\\"carpet\\\"===L.type&&L._cheater&&C&&i.pushUnique(M,C),C&&-1===S.indexOf(C)&&S.push(C),z&&-1===E.indexOf(z)&&E.push(z),n.traceIs(L,\\\"2dMap\\\")&&(A[C]=!0,A[z]=!0),n.traceIs(L,\\\"oriented\\\")){T[\\\"h\\\"===L.orientation?z:C]=!0}}if(!e._has(\\\"gl3d\\\")&&!e._has(\\\"geo\\\"))for(g=0;g<y.length;g++){var I=y[g];-1===_.indexOf(I)&&-1===b.indexOf(I)&&s.xAxisMatch.test(I)?b.push(I):-1===w.indexOf(I)&&-1===x.indexOf(I)&&s.yAxisMatch.test(I)&&x.push(I)}b.length&&x.length&&i.pushUnique(e._basePlotModules,n.subplotsRegistry.cartesian)\\n\",\n       \";var D=b.concat(_).sort(p),P=x.concat(w).sort(p),O=D.concat(P),R=a.background;D.length&&P.length&&(R=i.coerce(t,e,o,\\\"plot_bgcolor\\\"));var F,j,N,B,U=a.combine(R,e.paper_bgcolor),V={x:v(\\\"x\\\"),y:v(\\\"y\\\")};for(g=0;g<O.length;g++){F=O[g],i.isPlainObject(t[F])||(t[F]={}),N=t[F],B=e[F]={},u(N,B,m,r,F),j=F.charAt(0);var H=function(e,r){for(var n={x:D,y:P}[e],i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(d.name2id(o))}return i}(j,F),q={letter:j,font:e.font,outerTicks:A[F],showGrid:!T[F],data:r,bgColor:U,calendar:e.calendar,cheateronly:\\\"x\\\"===j&&-1!==M.indexOf(F)&&-1===k.indexOf(F)};c(N,B,m,q,e);m(\\\"showspikes\\\")&&(m(\\\"spikecolor\\\"),m(\\\"spikethickness\\\"),m(\\\"spikedash\\\"),m(\\\"spikemode\\\"));var G={letter:j,counterAxes:V[j],overlayableAxes:H};f(N,B,m,G),B._input=N}var Y=n.getComponentMethod(\\\"rangeslider\\\",\\\"handleDefaults\\\"),X=n.getComponentMethod(\\\"rangeselector\\\",\\\"handleDefaults\\\");for(g=0;g<D.length;g++)F=D[g],N=t[F],B=e[F],Y(t,e,F),\\\"date\\\"===B.type&&X(N,B,e,P,B.calendar),m(\\\"fixedrange\\\");for(g=0;g<P.length;g++){F=P[g],N=t[F],B=e[F];var W=e[d.id2name(B.anchor)];m(\\\"fixedrange\\\",W&&W.rangeslider&&W.rangeslider.visible)}e._axisConstraintGroups=[];var Z=V.x.concat(V.y);for(g=0;g<O.length;g++)F=O[g],j=F.charAt(0),N=t[F],B=e[F],h(N,B,m,Z,e)}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../layout_attributes\\\":820,\\\"./axis_defaults\\\":768,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,\\\"./constraint_defaults\\\":772,\\\"./layout_attributes\\\":777,\\\"./position_defaults\\\":780,\\\"./type_defaults\\\":788}],779:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,a,o,s,l,u=[],c=r.map(function(e){return e[t]}),h=i.bisector(e).left;for(n=0;n<c.length;n++)for(o=c[n],a=0;a<o.length;a++)null!==(s=o[a])&&void 0!==s&&((l=h(u,s))<u.length&&u[l]===s||u.splice(l,0,s));return u}var i=t(\\\"d3\\\");e.exports=function(t,e,r,a){switch(e){case\\\"array\\\":return Array.isArray(r)?r.slice():[];case\\\"category ascending\\\":return n(t,i.ascending,a);case\\\"category descending\\\":return n(t,i.descending,a);case\\\"trace\\\":default:return[]}}},{d3:121}],780:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a){var o=a.counterAxes||[],s=a.overlayableAxes||[],l=a.letter;\\\"free\\\"===i.coerce(t,e,{anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\"].concat(o),dflt:n(t.position)?\\\"free\\\":o[0]||\\\"free\\\"}},\\\"anchor\\\")&&r(\\\"position\\\"),i.coerce(t,e,{side:{valType:\\\"enumerated\\\",values:\\\"x\\\"===l?[\\\"bottom\\\",\\\"top\\\"]:[\\\"left\\\",\\\"right\\\"],dflt:\\\"x\\\"===l?\\\"bottom\\\":\\\"left\\\"}},\\\"side\\\");var u=!1;if(s.length&&(u=i.coerce(t,e,{overlaying:{valType:\\\"enumerated\\\",values:[!1].concat(s),dflt:!1}},\\\"overlaying\\\")),!u){var c=r(\\\"domain\\\");c[0]>c[1]-.01&&(e.domain=[0,1]),i.noneOrAll(t.domain,e.domain,[0,1])}return r(\\\"layer\\\"),e}},{\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],781:[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 i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{\\\"../../constants/alignment\\\":699}],782:[function(t,e,r){\\\"use strict\\\";function n(t){return t._id}function i(t,e){if(Array.isArray(t))for(var r=e.cd[0].trace,n=0;n<t.length;n++){var i=t[n];i.curveNumber=r.index,i.data=r._input,i.fullData=r,s(i,r,i.pointNumber)}return t}var a=t(\\\"../../lib/polygon\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/fx/helpers\\\").appendArrayPointValue,l=t(\\\"./axes\\\"),u=t(\\\"./constants\\\"),c=a.filter,h=a.tester,f=u.MINSELECT;e.exports=function(t,e,r,a,s){function d(t){var e=\\\"y\\\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function p(t,e){return t-e}var m,v=a.gd._fullLayout._zoomlayer,g=a.element.getBoundingClientRect(),y=a.plotinfo,b=y.xaxis._offset,x=y.yaxis._offset,_=e-g.left,w=r-g.top,M=_,k=w,A=\\\"M\\\"+_+\\\",\\\"+w,T=a.xaxes[0]._length,S=a.yaxes[0]._length,E=a.xaxes.map(n),L=a.yaxes.map(n),C=a.xaxes.concat(a.yaxes);\\\"lasso\\\"===s&&(m=c([[_,w]],u.BENDPX));var z=v.selectAll(\\\"path.select-outline\\\").data([1,2]);z.enter().append(\\\"path\\\").attr(\\\"class\\\",function(t){return\\\"select-outline select-outline-\\\"+t}).attr(\\\"transform\\\",\\\"translate(\\\"+b+\\\", \\\"+x+\\\")\\\").attr(\\\"d\\\",A+\\\"Z\\\");var I,D,P,O,R,F=v.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:o.background,stroke:o.defaultLine,\\\"stroke-width\\\":1}).attr(\\\"transform\\\",\\\"translate(\\\"+b+\\\", \\\"+x+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),j=[],N=a.gd,B=[];for(I=0;I<N.calcdata.length;I++)if(D=N.calcdata[I],P=D[0].trace,P._module&&P._module.selectPoints)if(a.subplot){if(P.subplot!==a.subplot)continue;j.push({selectPoints:P._module.selectPoints,cd:D,xaxis:a.xaxes[0],yaxis:a.yaxes[0]})}else{if(-1===E.indexOf(P.xaxis))continue;if(-1===L.indexOf(P.yaxis))continue;j.push({selectPoints:P._module.selectPoints,cd:D,xaxis:l.getFromId(N,P.xaxis),yaxis:l.getFromId(N,P.yaxis)})}var U;U=y.fillRangeItems?y.fillRangeItems:\\\"select\\\"===s?function(t,e){var r=t.range={};for(I=0;I<C.length;I++){var n=C[I],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\\\"min\\\"]),n.p2d(e[i+\\\"max\\\"])].sort(p)}}:function(t,e,r){var n=t.lassoPoints={};for(I=0;I<C.length;I++){var i=C[I];n[i._id]=r.filtered.map(d(i))}},a.moveFn=function(t,e){var r;M=Math.max(0,Math.min(T,t+_)),k=Math.max(0,Math.min(S,e+w));var n=Math.abs(M-_),o=Math.abs(k-w);for(\\\"select\\\"===s?(o<Math.min(.6*n,f)?(r=h([[_,0],[_,S],[M,S],[M,0]]),F.attr(\\\"d\\\",\\\"M\\\"+r.xmin+\\\",\\\"+(w-f)+\\\"h-4v\\\"+2*f+\\\"h4ZM\\\"+(r.xmax-1)+\\\",\\\"+(w-f)+\\\"h4v\\\"+2*f+\\\"h-4Z\\\")):n<Math.min(.6*o,f)?(r=h([[0,w],[0,k],[T,k],[T,w]]),F.attr(\\\"d\\\",\\\"M\\\"+(_-f)+\\\",\\\"+r.ymin+\\\"v-4h\\\"+2*f+\\\"v4ZM\\\"+(_-f)+\\\",\\\"+(r.ymax-1)+\\\"v4h\\\"+2*f+\\\"v-4Z\\\")):(r=h([[_,w],[_,k],[M,k],[M,w]]),F.attr(\\\"d\\\",\\\"M0,0Z\\\")),z.attr(\\\"d\\\",\\\"M\\\"+r.xmin+\\\",\\\"+r.ymin+\\\"H\\\"+(r.xmax-1)+\\\"V\\\"+(r.ymax-1)+\\\"H\\\"+r.xmin+\\\"Z\\\")):\\\"lasso\\\"===s&&(m.addPt([M,k]),r=h(m.filtered),z.attr(\\\"d\\\",\\\"M\\\"+m.filtered.join(\\\"L\\\")+\\\"Z\\\")),B=[],I=0;I<j.length;I++)O=j[I],[].push.apply(B,i(O.selectPoints(O,r),O));R={points:B},U(R,r,m),a.gd.emit(\\\"plotly_selecting\\\",R)},a.doneFn=function(t,e){if(F.remove(),t||2!==e)a.gd.emit(\\\"plotly_selected\\\",R);else{for(z.remove(),I=0;I<j.length;I++)O=j[I],O.selectPoints(O,!1);N.emit(\\\"plotly_deselect\\\",null)}}}},{\\\"../../components/color\\\":603,\\\"../../components/fx/helpers\\\":641,\\\"../../lib/polygon\\\":736,\\\"./axes\\\":766,\\\"./constants\\\":771}],783:[function(t,e,r){\\\"use strict\\\";function n(t){return Math.pow(10,t)}var i=t(\\\"d3\\\"),a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../../lib\\\"),s=o.cleanNumber,l=o.ms2DateTime,u=o.dateTime2ms,c=o.ensureNumber,h=t(\\\"../../constants/numerical\\\"),f=h.FP_SAFE,d=h.BADNUM,p=t(\\\"./constants\\\"),m=t(\\\"./axis_ids\\\");e.exports=function(t,e){function r(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],i=t.range[1];return.5*(n+i-3*M*Math.abs(n-i))}return d}function h(e,r,n){var i=u(e,n||t.calendar);if(i===d){if(!a(e))return d;i=u(new Date(+e))}return i}function v(e,r,n){return l(e,r,n||t.calendar)}function g(e){return t._categories[Math.round(e)]}function y(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(a(e))return+e}function x(e){return a(e)?i.round(t._b+t._m*e,2):d}function _(e){return(e-t._b)/t._m}e=e||{};var w=(t._id||\\\"x\\\").charAt(0),M=10;t.c2l=\\\"log\\\"===t.type?r:c,t.l2c=\\\"log\\\"===t.type?n:c,t.l2p=x,t.p2l=_,t.c2p=\\\"log\\\"===t.type?function(t,e){return x(r(t,e))}:x,t.p2c=\\\"log\\\"===t.type?function(t){return n(_(t))}:_,-1!==[\\\"linear\\\",\\\"-\\\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=_,t.cleanPos=c):\\\"log\\\"===t.type?(t.d2r=t.d2l=function(t,e){return r(s(t),e)},t.r2d=t.r2c=function(t){return n(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=c,t.c2r=r,t.l2d=n,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return n(_(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=_,t.cleanPos=c):\\\"date\\\"===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=h,t.c2d=t.c2r=t.l2d=t.l2r=v,t.d2p=t.r2p=function(e,r,n){return t.l2p(h(e,0,n))},t.p2d=t.p2r=function(t,e,r){return v(_(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):\\\"category\\\"===t.type&&(t.d2c=t.d2l=y,t.r2d=t.c2d=t.l2d=g,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return g(_(t))},t.r2p=t.d2p,t.p2r=_,t.cleanPos=function(t){return\\\"string\\\"==typeof t&&\\\"\\\"!==t?t:c(t)}),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){e||(e=\\\"range\\\");var r,n,i=o.nestedProperty(t,e).get();if(n=\\\"date\\\"===t.type?o.dfltRange(t.calendar):\\\"y\\\"===w?p.DFLTRANGEY:p.DFLTRANGEX,n=n.slice(),!i||2!==i.length)return void o.nestedProperty(t,e).set(n);for(\\\"date\\\"===t.type&&(i[0]=o.cleanDate(i[0],d,t.calendar),i[1]=o.cleanDate(i[1],d,t.calendar)),r=0;r<2;r++)if(\\\"date\\\"===t.type){if(!o.isDateTime(i[r],t.calendar)){t[e]=n;break}if(t.r2l(i[0])===t.r2l(i[1])){var s=o.constrain(t.r2l(i[0]),o.MIN_MS+1e3,o.MAX_MS-1e3);i[0]=t.l2r(s-1e3),i[1]=t.l2r(s+1e3);break}}else{if(!a(i[r])){if(!a(i[1-r])){t[e]=n;break}i[r]=i[1-r]*(r?10:.1)}if(i[r]<-f?i[r]=-f:i[r]>f&&(i[r]=f),i[0]===i[1]){var l=Math.max(1,Math.abs(1e-6*i[0]));i[0]-=l,i[1]+=l}}},t.setScale=function(r){var n=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var i=m.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?\\\"_r\\\":\\\"range\\\",s=t.calendar;t.cleanRange(a);var l=t.r2l(t[a][0],s),u=t.r2l(t[a][1],s);if(\\\"y\\\"===w?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-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-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw o.notifier(\\\"Something went wrong with axis scaling\\\",\\\"long\\\"),e._replotting=!1,new Error(\\\"axis scaling\\\")},t.makeCalcdata=function(e,r){var n,i,a,o=\\\"date\\\"===t.type&&e[r+\\\"calendar\\\"];if(r in e)for(n=e[r],i=new Array(n.length),a=0;a<n.length;a++)i[a]=t.d2c(n[a],0,o);else{var s=r+\\\"0\\\"in e?t.d2c(e[r+\\\"0\\\"],0,o):0,l=e[\\\"d\\\"+r]?Number(e[\\\"d\\\"+r]):1;for(n=e[{x:\\\"y\\\",y:\\\"x\\\"}[r]],i=new Array(n.length),a=0;a<n.length;a++)i[a]=s+a*l}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=\\\"x\\\"===w?function(e){var r=e.x;return r>=t.range[0]&&r<=t.range[1]}:function(e){var r=e.y;return r>=t.range[0]&&r<=t.range[1]},t._min=[],t._max=[],t._separators=e.separators,delete t._minDtick,delete t._forceTick0}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"./axis_ids\\\":769,\\\"./constants\\\":771,d3:121,\\\"fast-isnumeric\\\":130}],784:[function(t,e,r){\\\"use strict\\\";function n(t){var e=[\\\"showexponent\\\",\\\"showtickprefix\\\",\\\"showticksuffix\\\"],r=e.filter(function(e){return void 0!==t[e]}),n=function(e){return t[e]===t[r[0]]};if(r.every(n)||1===r.length)return t[r[0]]}var i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a,o){var s=n(t);if(r(\\\"tickprefix\\\")&&r(\\\"showtickprefix\\\",s),r(\\\"ticksuffix\\\")&&r(\\\"showticksuffix\\\",s),r(\\\"showticklabels\\\")){var l=o.font||{},u=e.color===t.color?e.color:l.color;i.coerceFont(r,\\\"tickfont\\\",{family:l.family,size:l.size,color:u}),r(\\\"tickangle\\\"),\\\"category\\\"!==a&&(r(\\\"tickformat\\\")||\\\"date\\\"===a||(r(\\\"showexponent\\\",s),r(\\\"exponentformat\\\"),r(\\\"separatethousands\\\")))}\\\"category\\\"===a||o.noHover||r(\\\"hoverformat\\\")}},{\\\"../../lib\\\":725}],785:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\\\"ticklen\\\"),s=n.coerce2(t,e,i,\\\"tickwidth\\\"),l=n.coerce2(t,e,i,\\\"tickcolor\\\",e.color);r(\\\"ticks\\\",a.outerTicks||o||s||l?\\\"outside\\\":\\\"\\\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\\\"../../lib\\\":725,\\\"./layout_attributes\\\":777}],786:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").ONEDAY;e.exports=function(t,e,r,o){var s=\\\"auto\\\";\\\"array\\\"!==t.tickmode||\\\"log\\\"!==o&&\\\"date\\\"!==o||(t.tickmode=\\\"auto\\\"),Array.isArray(t.tickvals)?s=\\\"array\\\":t.dtick&&(s=\\\"linear\\\");var l=r(\\\"tickmode\\\",s);if(\\\"auto\\\"===l)r(\\\"nticks\\\");else if(\\\"linear\\\"===l){var u=\\\"date\\\"===o?a:1,c=r(\\\"dtick\\\",u);if(n(c))e.dtick=c>0?Number(c):u;else if(\\\"string\\\"!=typeof c)e.dtick=u;else{var h=c.charAt(0),f=c.substr(1);f=n(f)?Number(f):0,(f<=0||!(\\\"date\\\"===o&&\\\"M\\\"===h&&f===Math.round(f)||\\\"log\\\"===o&&\\\"L\\\"===h||\\\"log\\\"===o&&\\\"D\\\"===h&&(1===f||2===f)))&&(e.dtick=u)}var d=\\\"date\\\"===o?i.dateTick0(e.calendar):0,p=r(\\\"tick0\\\",d);\\\"date\\\"===o?e.tick0=i.cleanDate(p,d):n(p)&&\\\"D1\\\"!==c&&\\\"D2\\\"!==c?e.tick0=Number(p):e.tick0=d}else{var m=r(\\\"tickvals\\\");void 0===m?e.tickmode=\\\"auto\\\":r(\\\"ticktext\\\")}}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],787:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plotly\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"./axes\\\"),l=/((x|y)([2-9]|[1-9][0-9]+)?)axis$/;e.exports=function(t,e,r,u){function c(e,r){function n(e,r,n){for(i=0;i<e.length;i++){var a=e[i];if(-1===o.indexOf(a.xref)&&-1===o.indexOf(a.yref)||r(t,i),n)return}}var i,o=[];for(o=[e._id,r._id],i=0;i<o.length;i++)s.doTicks(t,o[i],!0);n(v.annotations||[],a.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),n(v.shapes||[],a.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),n(v.images||[],a.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function h(t){var e=t.xaxis,r=t.yaxis;v._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.select(\\\".scatterlayer\\\").selectAll(\\\".points\\\");n.selectAll(\\\".point\\\").call(o.setPointGroupScale,1,1).call(o.hideOutsideRangePoints,t),n.selectAll(\\\".textpoint\\\").call(o.setTextPointsScale,1,1).call(o.hideOutsideRangePoints,t)}function f(e,r){var n,i,a,s=y[e.xaxis._id],l=y[e.yaxis._id],u=[];if(s){n=t._fullLayout[s.axisName],i=n._r,a=s.to,u[0]=(i[0]*(1-r)+r*a[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var h=i[1]-i[0],f=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[2]=e.xaxis._length*(1-r+r*f/h)}else u[0]=0,u[2]=e.xaxis._length;if(l){n=t._fullLayout[l.axisName],i=n._r,a=l.to,u[1]=(i[1]*(1-r)+r*a[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var d=i[1]-i[0],p=a[1]-a[0];n.range[0]=i[0]*(1-r)+r*a[0],n.range[1]=i[1]*(1-r)+r*a[1],u[3]=e.yaxis._length*(1-r+r*p/d)}else u[1]=0,u[3]=e.yaxis._length;c(e.xaxis,e.yaxis);var m=e.xaxis,g=e.yaxis,b=!!s,x=!!l,_=b?m._length/u[2]:1,w=x?g._length/u[3]:1,M=b?u[0]:0,k=x?u[1]:0,A=b?u[0]/u[2]*m._length:0,T=x?u[1]/u[3]*g._length:0,S=m._offset-A,E=g._offset-T;v._defs.select(\\\"#\\\"+e.clipId+\\\"> rect\\\").call(o.setTranslate,M,k).call(o.setScale,1/_,1/w),e.plot.call(o.setTranslate,S,E).call(o.setScale,_,w).selectAll(\\\".points\\\").selectAll(\\\".point\\\").call(o.setPointGroupScale,1/_,1/w),e.plot.selectAll(\\\".points\\\").selectAll(\\\".textpoint\\\").call(o.setTextPointsScale,1/_,1/w)}function d(){for(var e={},r=0;r<b.length;r++){var n=t._fullLayout[y[b[r]].axisName],a=y[b[r]].to;e[n._name+\\\".range[0]\\\"]=a[0],e[n._name+\\\".range[1]\\\"]=a[1],n.range=a.slice()}return _&&_(),i.relayout(t,e).then(function(){for(var t=0;t<x.length;t++)h(x[t])})}function p(){for(var e={},r=0;r<b.length;r++){var n=t._fullLayout[b[r]+\\\"axis\\\"];e[n._name+\\\".range[0]\\\"]=n.range[0],e[n._name+\\\".range[1]\\\"]=n.range[1],n.range=n._r.slice()}return i.relayout(t,e).then(function(){for(var t=0;t<x.length;t++)h(x[t])})}function m(){M=Date.now();for(var t=Math.min(1,(M-w)/r.duration),e=A(t),n=0;n<x.length;n++)f(x[n],e);M-w>r.duration?(d(),k=window.cancelAnimationFrame(m)):k=window.requestAnimationFrame(m)}var v=t._fullLayout,g=[],y=function(t){var e,r,n,i,a,o={};for(e in t)if(r=e.split(\\\".\\\"),n=r[0].match(l)){var s=n[1],u=s+\\\"axis\\\";if(i=v[u],a={},Array.isArray(t[e])?a.to=t[e].slice(0):Array.isArray(t[e].range)&&(a.to=t[e].range.slice(0)),!a.to)continue;a.axisName=u,a.length=i._length,g.push(s),o[s]=a}return o}(e),b=Object.keys(y),x=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var u=l.xaxis._id,c=l.yaxis._id,h=l.xaxis.range,f=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[u]?r[u].to:h,a=r[c]?r[c].to:f,h[0]===i[0]&&h[1]===i[1]&&f[0]===a[0]&&f[1]===a[1]||-1===e.indexOf(u)&&-1===e.indexOf(c)||s.push(l)}}return s}(v,b,y);if(!x.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(v.annotations||[],a.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),e(v.shapes||[],a.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),e(v.images||[],a.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(),!1;var _;u&&(_=u());var w,M,k,A=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(k),k=null,p()}),w=Date.now(),k=window.requestAnimationFrame(m),Promise.resolve()}},{\\\"../../components/drawing\\\":627,\\\"../../plotly\\\":761,\\\"../../registry\\\":844,\\\"./axes\\\":766,d3:121}],788:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(\\\"-\\\"===t.type){var r=t._id,n=r.charAt(0);-1!==r.indexOf(\\\"scene\\\")&&(r=n);var u=i(e,r,n);if(u){if(\\\"histogram\\\"===u.type&&n==={v:\\\"y\\\",h:\\\"x\\\"}[u.orientation||\\\"v\\\"])return void(t.type=\\\"linear\\\");var c=n+\\\"calendar\\\",h=u[c];if(o(u,n)){for(var f,d=a(u),p=[],m=0;m<e.length;m++)f=e[m],s.traceIs(f,\\\"box\\\")&&(f[n+\\\"axis\\\"]||n)===r&&(void 0!==f[d]?p.push(f[d][0]):void 0!==f.name?p.push(f.name):p.push(\\\"text\\\"),f[c]!==h&&(h=void 0));t.type=l(p,h)}else t.type=l(u[n]||[u[n+\\\"0\\\"]],h)}}}function i(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\\\"axis\\\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\\\"0\\\"])return i}}}function a(t){return{v:\\\"x\\\",h:\\\"y\\\"}[t.orientation||\\\"v\\\"]}function o(t,e){var r=a(t),n=s.traceIs(t,\\\"box\\\"),i=s.traceIs(t._fullInput||{},\\\"candlestick\\\");return n&&!i&&e===r&&void 0===t[r]&&void 0===t[r+\\\"0\\\"]}var s=t(\\\"../../registry\\\"),l=t(\\\"./axis_autotype\\\"),u=t(\\\"./axis_ids\\\").name2id;e.exports=function(t,e,r,i,a){a&&(e._name=a,e._id=u(a)),\\\"-\\\"===r(\\\"type\\\")&&(n(e,i),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type)}},{\\\"../../registry\\\":844,\\\"./axis_autotype\\\":767,\\\"./axis_ids\\\":769}],789:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i,a,o=!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=u.nestedProperty(n,e.prop).get(),a=r[e.type]=r[e.type]||{},a.hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function i(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()}]:[]}function a(t,e){var r=[],n=e[0],i={};if(\\\"string\\\"==typeof n)i[n]=e[1];else{if(!u.isPlainObject(n))return r;i=n}return s(i,function(t,e,n){r.push({type:\\\"layout\\\",prop:t,value:n})},\\\"\\\",0),r}function o(t,e){var r,n,i,a,o=[];if(n=e[0],i=e[1],r=e[2],a={},\\\"string\\\"==typeof n)a[n]=i;else{if(!u.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),s(a,function(e,n,i){var a;if(Array.isArray(i)){var s=Math.min(i.length,t.data.length);r&&(s=Math.min(s,r.length)),a=[];for(var l=0;l<s;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var u=i;i=[];for(var c=0;c<a.length;c++)i[c]=u}i.length=Math.min(a.length,i.length)}o.push({type:\\\"data\\\",prop:e,traces:a,value:i})},\\\"\\\",0),o}function s(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\\\"_\\\"!==i[0]){var o=r+(n>0?\\\".\\\":\\\"\\\")+i;u.isPlainObject(a)?s(a,e,o,n+1):e(o,i,a)}})}var l=t(\\\"../plotly\\\"),u=t(\\\"../lib\\\");r.manageCommandObserver=function(t,e,i,a){var o={},s=!0;e&&e._commandObserver&&(o=e._commandObserver),o.cache||(o.cache={}),o.lookupTable={};var l=r.hasSimpleAPICommandBindings(t,i,o.lookupTable);if(e&&e._commandObserver){if(l)return o;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,o}if(l){n(t,l,o.cache),o.check=function(){if(s){var e=n(t,l,o.cache);return e.changed&&a&&void 0!==o.lookupTable[e.value]&&(o.disable(),Promise.resolve(a({value:e.value,type:l.type,prop:l.prop,traces:l.traces,index:o.lookupTable[e.value]})).then(o.enable,o.enable)),e.changed}};for(var c=[\\\"plotly_relayout\\\",\\\"plotly_redraw\\\",\\\"plotly_restyle\\\",\\\"plotly_update\\\",\\\"plotly_animatingframe\\\",\\\"plotly_afterplot\\\"],h=0;h<c.length;h++)t._internalOn(c[h],o.check);o.remove=function(){for(var e=0;e<c.length;e++)t._removeInternalListener(c[e],o.check)}}else u.warn(\\\"Unable to automatically bind plot updates to API command\\\"),o.lookupTable={},o.remove=function(){};return o.disable=function(){s=!1},o.enable=function(){s=!0},e&&(e._commandObserver=o),o},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],u=l.method,c=l.args;if(Array.isArray(c)||(c=[]),!u)return!1;var h=r.computeAPICommandBindings(t,u,c);if(1!==h.length)return!1;if(a){if(s=h[0],s.type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==s.traces[f])return!1}else if(s.prop!==a.prop)return!1}else a=h[0],Array.isArray(a.traces)&&a.traces.sort();s=h[0];var d=s.value;if(Array.isArray(d)){if(1!==d.length)return!1;d=d[0]}n&&(n[d]=i)}return a},r.executeAPICommand=function(t,e,r){if(\\\"skip\\\"===e)return Promise.resolve();var n=l[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return u.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=o(t,r);break;case\\\"relayout\\\":n=a(t,r);break;case\\\"update\\\":n=o(t,[r[0],r[2]]).concat(a(t,[r[1]]));break;case\\\"animate\\\":n=i(t,r);break;default:n=[]}return n}},{\\\"../lib\\\":725,\\\"../plotly\\\":761}],790:[function(t,e,r){\\\"use strict\\\";e.exports={family:{valType:\\\"string\\\",noBlank:!0,strict:!0},size:{valType:\\\"number\\\",min:1},color:{valType:\\\"color\\\"}}},{}],791:[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\\\"}}},{}],792:[function(t,e,r){\\\"use strict\\\";var n=e.exports={};n.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\\\"},n.axesNames=[\\\"lonaxis\\\",\\\"lataxis\\\"],n.lonaxisSpan={orthographic:180,\\\"azimuthal equal area\\\":360,\\\"azimuthal equidistant\\\":360,\\\"conic conformal\\\":180,gnomonic:160,stereographic:180,\\\"transverse mercator\\\":180,\\\"*\\\":360},n.lataxisSpan={\\\"conic conformal\\\":150,stereographic:179.5,\\\"*\\\":180},n.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,80],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]}},n.clipPad=.001,n.precision=.1,n.landColor=\\\"#F0DC82\\\",n.waterColor=\\\"#3399FF\\\",n.locationmodeToLayer={\\\"ISO-3\\\":\\\"countries\\\",\\\"USA-states\\\":\\\"subunits\\\",\\\"country names\\\":\\\"countries\\\"},n.sphereSVG={type:\\\"Sphere\\\"},n.fillLayers=[\\\"ocean\\\",\\\"land\\\",\\\"lakes\\\"],n.lineLayers=[\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"rivers\\\",\\\"frame\\\"],n.baseLayers=[\\\"ocean\\\",\\\"land\\\",\\\"lakes\\\",\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"rivers\\\",\\\"lataxis\\\",\\\"lonaxis\\\",\\\"frame\\\"],n.layerNameToAdjective={ocean:\\\"ocean\\\",land:\\\"land\\\",lakes:\\\"lake\\\",subunits:\\\"subunit\\\",countries:\\\"country\\\",coastlines:\\\"coastline\\\",rivers:\\\"river\\\",frame:\\\"frame\\\"},n.baseLayersOverChoropleth=[\\\"rivers\\\",\\\"lakes\\\"]},{}],793:[function(t,e,r){\\\"use strict\\\";function n(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.topojsonName=null,this.topojson=null,this.projectionType=null,this.projection=null,this.clipAngle=null,this.setScale=null,this.path=null,this.zoom=null,this.zoomReset=null,this.makeFramework(),this.traceHash={}}function i(t,e,r){return u.geo.graticule().extent([[t[0],e[0]],[t[1],e[1]]]).step(r)}function a(t,e,r){var n=b.layerNameToAdjective[e];t.select(\\\".\\\"+e).selectAll(\\\"path\\\").attr(\\\"stroke\\\",\\\"none\\\").call(c.fill,r[n+\\\"color\\\"])}function o(t,e,r){var n=b.layerNameToAdjective[e];t.select(\\\".\\\"+e).selectAll(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").call(c.stroke,r[n+\\\"color\\\"]).call(h.dashLine,\\\"\\\",r[n+\\\"width\\\"])}function s(t,e,r){t.select(\\\".\\\"+e+\\\"graticule\\\").selectAll(\\\"path\\\").attr(\\\"fill\\\",\\\"none\\\").call(c.stroke,r[e].gridcolor).call(h.dashLine,\\\"\\\",r[e].gridwidth)}function l(t){var e={type:\\\"linear\\\",showexponent:\\\"all\\\",exponentformat:p.layoutAttributes.exponentformat.dflt};return p.setConvert(e,t),e}var u=t(\\\"d3\\\"),c=t(\\\"../../components/color\\\"),h=t(\\\"../../components/drawing\\\"),f=t(\\\"../../components/fx\\\"),d=t(\\\"../plots\\\"),p=t(\\\"../cartesian/axes\\\"),m=t(\\\"./projections\\\"),v=t(\\\"./set_scale\\\"),g=t(\\\"./zoom\\\"),y=t(\\\"./zoom_reset\\\"),b=t(\\\"./constants\\\"),x=t(\\\"../../lib/topojson_utils\\\"),_=t(\\\"topojson-client\\\").feature;m(u),e.exports=n;var w=n.prototype;w.plot=function(t,e,r){var n,i,a=this,o=e[a.id],s=e._size;a.projection=null,a.setScale=v(o,s),a.makeProjection(o),a.makePath(),a.adjustLayout(o,s),a.zoom=g(a,o),a.zoomReset=y(a,o),a.mockAxis=l(e),a.framework.call(a.zoom).on(\\\"dblclick.zoom\\\",a.zoomReset),a.framework.on(\\\"mousemove\\\",function(){var t=u.mouse(this),e=a.projection.invert(t);if(e&&!isNaN(e[0])&&!isNaN(e[1])){var r=u.event;r.xpx=t[0],r.ypx=t[1],a.xaxis.c2p=function(){return t[0]},a.xaxis.p2c=function(){return e[0]},a.yaxis.c2p=function(){return t[1]},a.yaxis.p2c=function(){return e[1]},f.hover(a.graphDiv,r,a.id)}}),a.framework.on(\\\"mouseout\\\",function(){f.loneUnhover(e._toppaper)}),a.framework.on(\\\"click\\\",function(){f.click(a.graphDiv,u.event)}),n=x.getTopojsonName(o),null===a.topojson||n!==a.topojsonName?(a.topojsonName=n,void 0!==PlotlyGeoAssets.topojson[a.topojsonName]?(a.topojson=PlotlyGeoAssets.topojson[a.topojsonName],a.onceTopojsonIsLoaded(t,o)):(i=x.getTopojsonPath(a.topojsonURL,a.topojsonName),r.push(new Promise(function(e,r){u.json(i,function(n,s){if(n)return void r(404===n.status?new Error([\\\"plotly.js could not find topojson file at\\\",i,\\\".\\\",\\\"Make sure the *topojsonURL* plot config option\\\",\\\"is set properly.\\\"].join(\\\" \\\")):new Error([\\\"unexpected error while fetching topojson file at\\\",i].join(\\\" \\\")));a.topojson=s,PlotlyGeoAssets.topojson[a.topojsonName]=s,a.onceTopojsonIsLoaded(t,o),e()})})))):a.onceTopojsonIsLoaded(t,o)},w.onceTopojsonIsLoaded=function(t,e){this.drawLayout(e),d.generalUpdatePerTraceModule(this,t,e),this.render()},w.makeProjection=function(t){var e,r=t.projection,n=r.type,i=null===this.projection||n!==this.projectionType;i?(this.projectionType=n,e=this.projection=u.geo[b.projNames[n]]()):e=this.projection,e.translate(r._translate0).precision(b.precision),t._isAlbersUsa||e.rotate(r._rotate).center(r._center),t._clipAngle?(this.clipAngle=t._clipAngle,e.clipAngle(t._clipAngle-b.clipPad)):this.clipAngle=null,r.parallels&&e.parallels(r.parallels),i&&this.setScale(e),e.translate(r._translate).scale(r._scale)},w.makePath=function(){this.path=u.geo.path().projection(this.projection)},w.makeFramework=function(){var t=this.graphDiv._fullLayout,e=\\\"clip\\\"+t._uid+this.id,r=t._defs.selectAll(\\\"g.clips\\\").data([0]);r.enter().append(\\\"g\\\").classed(\\\"clips\\\",!0),(this.clipDef=r.selectAll(\\\"#\\\"+e).data([0])).enter().append(\\\"clipPath\\\").attr(\\\"id\\\",e).append(\\\"rect\\\");var n=this.framework=u.select(this.container).append(\\\"g\\\");n.attr(\\\"class\\\",\\\"geo \\\"+this.id).style(\\\"pointer-events\\\",\\\"all\\\").call(h.setClipUrl,e),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"bglayer\\\").append(\\\"rect\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"baselayer\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"choroplethlayer\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"baselayeroverchoropleth\\\"),n.append(\\\"g\\\").attr(\\\"class\\\",\\\"scattergeolayer\\\"),n.on(\\\"dblclick.zoom\\\",null),this.xaxis={_id:\\\"x\\\"},this.yaxis={_id:\\\"y\\\"}},w.adjustLayout=function(t,e){var r=t.domain,n=e.l+e.w*r.x[0]+t._marginX,i=e.t+e.h*(1-r.y[1])+t._marginY;h.setTranslate(this.framework,n,i);var a={x:0,y:0,width:t._width,height:t._height};this.clipDef.select(\\\"rect\\\").attr(a),this.framework.select(\\\".bglayer\\\").select(\\\"rect\\\").attr(a).call(c.fill,t.bgcolor),this.xaxis._offset=n,this.xaxis._length=t._width,this.yaxis._offset=i,this.yaxis._length=t._height},w.drawTopo=function(t,e,r){if(!0===r[\\\"show\\\"+e]){var n=this.topojson,i=\\\"frame\\\"===e?b.sphereSVG:_(n,n.objects[e]);t.append(\\\"g\\\").datum(i).attr(\\\"class\\\",e).append(\\\"path\\\").attr(\\\"class\\\",\\\"basepath\\\")}},w.drawGraticule=function(t,e,r){var n=r[e];if(!0===n.showgrid){var a=b.scopeDefaults[r.scope],o=a.lonaxisRange,s=a.lataxisRange,l=\\\"lonaxis\\\"===e?[n.dtick]:[0,n.dtick],u=i(o,s,l);t.append(\\\"g\\\").datum(u).attr(\\\"class\\\",e+\\\"graticule\\\").append(\\\"path\\\").attr(\\\"class\\\",\\\"graticulepath\\\")}},w.drawLayout=function(t){var e,r=this.framework.select(\\\"g.baselayer\\\"),n=b.baseLayers,i=b.axesNames;r.selectAll(\\\"*\\\").remove();for(var a=0;a<n.length;a++)e=n[a],-1!==i.indexOf(e)?this.drawGraticule(r,e,t):this.drawTopo(r,e,t);this.styleLayout(t)},w.styleLayer=function(t,e,r){var n=b.fillLayers,i=b.lineLayers;-1!==n.indexOf(e)?a(t,e,r):-1!==i.indexOf(e)&&o(t,e,r)},w.styleLayout=function(t){for(var e,r=this.framework.select(\\\"g.baselayer\\\"),n=b.baseLayers,i=b.axesNames,a=0;a<n.length;a++)e=n[a],-1!==i.indexOf(e)?s(r,e,t):this.styleLayer(r,e,t)},w.isLonLatOverEdges=function(t){var e=this.clipAngle;if(null===e)return!1;var r=this.projection.rotate();return u.geo.distance(t,[-r[0],-r[1]])>e*Math.PI/180},w.render=function(){function t(t){var e=r.projection(t.lonlat);return e?\\\"translate(\\\"+e[0]+\\\",\\\"+e[1]+\\\")\\\":null}function e(t){return r.isLonLatOverEdges(t.lonlat)?\\\"0\\\":\\\"1.0\\\"}var r=this,n=r.framework,i=n.select(\\\"g.choroplethlayer\\\"),a=n.select(\\\"g.scattergeolayer\\\"),o=r.path;n.selectAll(\\\"path.basepath\\\").attr(\\\"d\\\",o),n.selectAll(\\\"path.graticulepath\\\").attr(\\\"d\\\",o),i.selectAll(\\\"path.choroplethlocation\\\").attr(\\\"d\\\",o),i.selectAll(\\\"path.basepath\\\").attr(\\\"d\\\",o),a.selectAll(\\\"path.js-line\\\").attr(\\\"d\\\",o),null!==r.clipAngle?(a.selectAll(\\\"path.point\\\").style(\\\"opacity\\\",e).attr(\\\"transform\\\",t),a.selectAll(\\\"text\\\").style(\\\"opacity\\\",e).attr(\\\"transform\\\",t)):(a.selectAll(\\\"path.point\\\").attr(\\\"transform\\\",t),a.selectAll(\\\"text\\\").attr(\\\"transform\\\",t))}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/fx\\\":644,\\\"../../lib/topojson_utils\\\":747,\\\"../cartesian/axes\\\":766,\\\"../plots\\\":829,\\\"./constants\\\":792,\\\"./projections\\\":800,\\\"./set_scale\\\":801,\\\"./zoom\\\":802,\\\"./zoom_reset\\\":803,d3:121,\\\"topojson-client\\\":535}],794:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./geo\\\"),i=t(\\\"../../plots/plots\\\");r.name=\\\"geo\\\",r.attr=\\\"geo\\\",r.idRoot=\\\"geo\\\",r.idRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^geo([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=i.getSubplotIds(e,\\\"geo\\\");void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var o=0;o<a.length;o++){var s=a[o],l=i.getSubplotCalcData(r,\\\"geo\\\",s),u=e[s]._subplot;u||(u=new n({id:s,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL}),e[s]._subplot=u),u.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"geo\\\"),o=0;o<a.length;o++){var s=a[o],l=n[s]._subplot;!e[s]&&l&&(l.framework.remove(),l.clipDef.remove())}}},{\\\"../../plots/plots\\\":829,\\n\",\n       \"\\\"./geo\\\":793,\\\"./layout/attributes\\\":795,\\\"./layout/defaults\\\":798,\\\"./layout/layout_attributes\\\":799}],795:[function(t,e,r){\\\"use strict\\\";e.exports={geo:{valType:\\\"subplotid\\\",dflt:\\\"geo\\\"}}},{}],796:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\");e.exports={range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},showgrid:{valType:\\\"boolean\\\",dflt:!1},tick0:{valType:\\\"number\\\"},dtick:{valType:\\\"number\\\"},gridcolor:{valType:\\\"color\\\",dflt:n.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1}}},{\\\"../../../components/color/attributes\\\":602}],797:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib\\\"),i=t(\\\"../constants\\\"),a=t(\\\"./axis_attributes\\\");e.exports=function(t,e){function r(t,e){return n.coerce(o,s,a,t,e)}for(var o,s,l=i.axesNames,u=0;u<l.length;u++){var c=l[u];o=t[c]||{},s={};var h=function(t){var r,n,a,o,s,l,u=e.scope;return\\\"world\\\"===u?(r=e.projection,n=r.type,a=r.rotation,s=i[t+\\\"Span\\\"],l=void 0!==s[n]?s[n]/2:s[\\\"*\\\"]/2,o=\\\"lonaxis\\\"===t?a.lon:a.lat,[o-l,o+l]):i.scopeDefaults[u][t+\\\"Range\\\"]}(c),f=r(\\\"range\\\",h);n.noneOrAll(o.range,s.range,[0,1]),r(\\\"tick0\\\",f[0]),r(\\\"dtick\\\",\\\"lonaxis\\\"===c?30:10);r(\\\"showgrid\\\")&&(r(\\\"gridcolor\\\"),r(\\\"gridwidth\\\")),e[c]=s,e[c]._fullRange=h}}},{\\\"../../../lib\\\":725,\\\"../constants\\\":792,\\\"./axis_attributes\\\":796}],798:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i=r(\\\"scope\\\"),o=\\\"world\\\"!==i,l=a.scopeDefaults[i],u=r(\\\"resolution\\\"),c=r(\\\"projection.type\\\",l.projType),h=\\\"albers usa\\\"===c,f=-1!==c.indexOf(\\\"conic\\\");if(f){r(\\\"projection.parallels\\\",l.projParallels||[0,60])}if(h)e.scope=\\\"usa\\\";else{var d=l.projRotate||[0,0,0];r(\\\"projection.rotation.lon\\\",d[0]),r(\\\"projection.rotation.lat\\\",d[1]),r(\\\"projection.rotation.roll\\\",d[2]),n=r(\\\"showcoastlines\\\",!o),n&&(r(\\\"coastlinecolor\\\"),r(\\\"coastlinewidth\\\")),n=r(\\\"showocean\\\"),n&&r(\\\"oceancolor\\\")}r(\\\"projection.scale\\\"),n=r(\\\"showland\\\"),n&&r(\\\"landcolor\\\"),n=r(\\\"showlakes\\\"),n&&r(\\\"lakecolor\\\"),n=r(\\\"showrivers\\\"),n&&(r(\\\"rivercolor\\\"),r(\\\"riverwidth\\\")),n=r(\\\"showcountries\\\",o&&\\\"usa\\\"!==i),n&&(r(\\\"countrycolor\\\"),r(\\\"countrywidth\\\")),(\\\"usa\\\"===i||\\\"north america\\\"===i&&50===u)&&(r(\\\"showsubunits\\\",!0),r(\\\"subunitcolor\\\"),r(\\\"subunitwidth\\\")),o||(n=r(\\\"showframe\\\",!0))&&(r(\\\"framecolor\\\"),r(\\\"framewidth\\\")),r(\\\"bgcolor\\\"),s(t,e),e._isHighRes=50===u,e._clipAngle=a.lonaxisSpan[c]/2,e._isAlbersUsa=h,e._isConic=f,e._isScoped=o;var p=e.projection.rotation||{};e.projection._rotate=[-p.lon||0,-p.lat||0,p.roll||0]}var i=t(\\\"../../subplot_defaults\\\"),a=t(\\\"../constants\\\"),o=t(\\\"./layout_attributes\\\"),s=t(\\\"./axis_defaults\\\");e.exports=function(t,e,r){i(t,e,r,{type:\\\"geo\\\",attributes:o,handleDefaults:n,partition:\\\"y\\\"})}},{\\\"../../subplot_defaults\\\":836,\\\"../constants\\\":792,\\\"./axis_defaults\\\":797,\\\"./layout_attributes\\\":799}],799:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"../constants\\\"),a=t(\\\"./axis_attributes\\\");e.exports={domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},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,max:10,dflt:1}},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:a,lataxis:a}},{\\\"../../../components/color/attributes\\\":602,\\\"../constants\\\":792,\\\"./axis_attributes\\\":796}],800:[function(t,e,r){\\\"use strict\\\";function n(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(!S.hasOwnProperty(e.type))return null;var i=S[e.type];return t.geo.stream(e,n(i)),i.result()}function n(){}function i(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}function a(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],u=l[0],c=l[1],h=t[s],f=h[0],d=h[1];c>n^d>n&&r<(f-u)*(n-c)/(d-c)+u&&(i=!i)}return i}function o(t){return t?t/Math.sin(t):1}function s(t){return t>1?z:t<-1?-z:Math.asin(t)}function l(t){return t>1?0:t<-1?C:Math.acos(t)}function u(t,e){var r=(2+z)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>E;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(C*(4+C))*t*(1+Math.cos(e)),2*Math.sqrt(C/(4+C))*Math.sin(e)]}function c(t,e){function r(r,n){var i=R(r/e,n);return i[0]*=t,i}return arguments.length<2&&(e=t),1===e?R:e===1/0?f:(r.invert=function(r,n){var i=R.invert(r/t,n);return i[0]*=e,i},r)}function h(){var t=2,e=O(c),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}function f(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function d(t,e){return[3*t/(2*C)*Math.sqrt(C*C/3-e*e),e]}function p(t,e){return[t,1.25*Math.log(Math.tan(C/4+.4*e))]}function m(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>E&&--i>0);return e/2}}function v(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)))]}function g(t,e){var r,n=Math.min(18,36*Math.abs(e)/C),i=Math.floor(n),a=n-i,o=(r=j[i])[0],s=r[1],l=(r=j[++i])[0],u=r[1],c=(r=j[Math.min(19,++i)])[0],h=r[1];return[t*(l+a*(c-o)/2+a*a*(c-2*l+o)/2),(e>0?z:-z)*(u+a*(h-s)/2+a*a*(h-2*u+s)/2)]}function y(t,e){return[t*Math.cos(e),e]}function b(t,e){var r=Math.cos(e),n=o(l(r*Math.cos(t/=2)));return[2*r*Math.sin(t)*n,Math.sin(e)*n]}function x(t,e){var r=b(t,e);return[(r[0]+t/z)/2,(r[1]+e)/2]}t.geo.project=function(t,e){var n=e.stream;if(!n)throw new Error(\\\"not yet supported\\\");return(t&&_.hasOwnProperty(t.type)?_[t.type]:r)(t,n)};var _={Feature:e,FeatureCollection:function(t,r){return{type:\\\"FeatureCollection\\\",features:t.features.map(function(t){return e(t,r)})}}},w=[],M=[],k={point:function(t,e){w.push([t,e])},result:function(){var t=w.length?w.length<2?{type:\\\"Point\\\",coordinates:w[0]}:{type:\\\"MultiPoint\\\",coordinates:w}:null;return w=[],t}},A={lineStart:n,point:function(t,e){w.push([t,e])},lineEnd:function(){w.length&&(M.push(w),w=[])},result:function(){var t=M.length?M.length<2?{type:\\\"LineString\\\",coordinates:M[0]}:{type:\\\"MultiLineString\\\",coordinates:M}:null;return M=[],t}},T={polygonStart:n,lineStart:n,point:function(t,e){w.push([t,e])},lineEnd:function(){var t=w.length;if(t){do{w.push(w[0].slice())}while(++t<4);M.push(w),w=[]}},polygonEnd:n,result:function(){if(!M.length)return null;var t=[],e=[];return M.forEach(function(r){i(r)?t.push([r]):e.push(r)}),e.forEach(function(e){var r=e[0];t.some(function(t){if(a(t[0],r))return t.push(e),!0})||t.push([e])}),M=[],t.length?t.length>1?{type:\\\"MultiPolygon\\\",coordinates:t}:{type:\\\"Polygon\\\",coordinates:t[0]}:null}},S={Point:k,MultiPoint:k,LineString:A,MultiLineString:A,Polygon:T,MultiPolygon:T,Sphere:T},E=1e-6,L=E*E,C=Math.PI,z=C/2,I=(Math.sqrt(C),C/180),D=180/C,P=t.geo.projection,O=t.geo.projectionMutator;t.geo.interrupt=function(e){function r(t,r){for(var n=r<0?-1:1,i=l[+(r<0)],a=0,o=i.length-1;a<o&&t>i[a][2][0];++a);var s=e(t-i[a][1][0],r);return s[0]+=e(i[a][1][0],n*r>n*i[a][0][1]?i[a][0][1]:r)[0],s}function n(){s=l.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})})}function i(){for(var e=1e-6,r=[],n=0,i=l[0].length;n<i;++n){var o=l[0][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[s+e,u+e],[s+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var n=l[1].length-1;n>=0;--n){var o=l[1][n],s=180*o[0][0]/C,u=180*o[0][1]/C,c=180*o[1][1]/C,h=180*o[2][0]/C,f=180*o[2][1]/C;r.push(a([[h-e,f-e],[h-e,c+e],[s+e,c+e],[s+e,u-e]],30))}return{type:\\\"Polygon\\\",coordinates:[t.merge(r)]}}function a(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){r=t[a],n=(r[0]-s[0])/e,i=(r[1]-s[1])/e;for(var u=0;u<e;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function o(t,e){return Math.abs(t[0]-e[0])<E&&Math.abs(t[1]-e[1])<E}var s,l=[[[[-C,0],[0,z],[C,0]]],[[[-C,0],[0,-z],[C,0]]]];e.invert&&(r.invert=function(t,n){for(var i=s[+(n<0)],a=l[+(n<0)],u=0,c=i.length;u<c;++u){var h=i[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=n&&n<h[1][1]){var f=e.invert(t-e(a[u][1][0],0)[0],n);return f[0]+=a[u][1][0],o(r(f[0],f[1]),[t,n])?f:null}}});var u=t.geo.projection(r),c=u.stream;return u.stream=function(e){var r=u.rotate(),n=c(e),a=(u.rotate([0,0]),c(e));return u.rotate(r),n.sphere=function(){t.geo.stream(i(),a)},n},u.lobes=function(t){return arguments.length?(l=t.map(function(t){return t.map(function(t){return[[t[0][0]*C/180,t[0][1]*C/180],[t[1][0]*C/180,t[1][1]*C/180],[t[2][0]*C/180,t[2][1]*C/180]]})}),n(),u):l.map(function(t){return t.map(function(t){return[[180*t[0][0]/C,180*t[0][1]/C],[180*t[1][0]/C,180*t[1][1]/C],[180*t[2][0]/C,180*t[2][1]/C]]})})},u},u.invert=function(t,e){var r=.5*e*Math.sqrt((4+C)/C),n=s(r),i=Math.cos(n);return[t/(2/Math.sqrt(C*(4+C))*(1+i)),s((n+r*(i+2))/(2+z))]},(t.geo.eckert4=function(){return P(u)}).raw=u;var R=t.geo.azimuthalEqualArea.raw;f.invert=function(t,e){var r=2*s(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=h).raw=c,d.invert=function(t,e){return[2/3*C*t/Math.sqrt(C*C/3-e*e),e]},(t.geo.kavrayskiy7=function(){return P(d)}).raw=d,p.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*C]},(t.geo.miller=function(){return P(p)}).raw=p;var F=(m(C),function(t,e,r){function n(r,n){return[t*r*Math.cos(n=i(n)),e*Math.sin(n)]}var i=m(r);return n.invert=function(n,i){var a=s(i/e);return[n/(t*Math.cos(a)),s((2*a+Math.sin(2*a))/r)]},n}(Math.SQRT2/z,Math.SQRT2,C));(t.geo.mollweide=function(){return P(F)}).raw=F,v.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>E&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return P(v)}).raw=v;var j=[[.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]];j.forEach(function(t){t[1]*=1.0144}),g.invert=function(t,e){var r=e/z,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=j[a][1],s=j[a+1][1],l=j[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,f=c/u,d=h*(1-f*h*(1-2*f*h));if(d>=0||1===a){n=(e>=0?5:-5)*(d+i);var p,m=50;do{i=Math.min(18,Math.abs(n)/5),a=Math.floor(i),d=i-a,o=j[a][1],s=j[a+1][1],l=j[Math.min(19,a+2)][1],n-=(p=(e>=0?z:-z)*(s+d*(l-o)/2+d*d*(l-2*s+o)/2)-e)*D}while(Math.abs(p)>L&&--m>0);break}}while(--a>=0);var v=j[a][0],g=j[a+1][0],y=j[Math.min(19,a+2)][0];return[t/(g+d*(y-v)/2+d*d*(y-2*g+v)/2),n*I]},(t.geo.robinson=function(){return P(g)}).raw=g,y.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return P(y)}).raw=y,b.invert=function(t,e){if(!(t*t+4*e*e>C*C+E)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),u=Math.cos(r/2),c=Math.sin(n),h=Math.cos(n),f=Math.sin(2*n),d=c*c,p=h*h,m=s*s,v=1-p*u*u,g=v?l(h*u)*Math.sqrt(a=1/v):a=0,y=2*g*h*s-t,b=g*c-e,x=a*(p*m+g*h*u*d),_=a*(.5*o*f-2*g*c*s),w=.25*a*(f*s-g*c*p*o),M=a*(d*u+g*m*h),k=_*w-M*x;if(!k)break;var A=(b*_-y*M)/k,T=(y*w-b*x)/k;r-=A,n-=T}while((Math.abs(A)>E||Math.abs(T)>E)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return P(b)}).raw=b,x.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),u=Math.sin(2*n),c=s*s,h=o*o,f=Math.sin(r),d=Math.cos(r/2),p=Math.sin(r/2),m=p*p,v=1-h*d*d,g=v?l(o*d)*Math.sqrt(a=1/v):a=0,y=.5*(2*g*o*p+r/z)-t,b=.5*(g*s+n)-e,x=.5*a*(h*m+g*o*d*c)+.5/z,_=a*(f*u/4-g*s*p),w=.125*a*(u*p-g*s*h*f),M=.5*a*(c*d+g*m*o)+.5,k=_*w-M*x,A=(b*_-y*M)/k,T=(y*w-b*x)/k;r-=A,n-=T}while((Math.abs(A)>E||Math.abs(T)>E)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return P(x)}).raw=x}e.exports=n},{}],801:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t.projection,n=t.lonaxis,o=t.lataxis,l=t.domain,u=t.framewidth||0,c=e.w*(l.x[1]-l.x[0]),h=e.h*(l.y[1]-l.y[0]),f=n.range[0]+s,d=n.range[1]-s,p=o.range[0]+s,m=o.range[1]-s,v=n._fullRange[0]+s,g=n._fullRange[1]-s,y=o._fullRange[0]+s,b=o._fullRange[1]-s;r._translate0=[e.l+c/2,e.t+h/2];var x=d-f,_=m-p,w=[f+x/2,p+_/2],M=r._rotate;return r._center=[w[0]+M[0],w[1]+M[1]],function(e){function n(t){return Math.min(_*c/(t[1][0]-t[0][0]),_*h/(t[1][1]-t[0][1]))}var o,s,l,x,_=e.scale(),w=r._translate0,M=i(f,p,d,m),k=i(v,y,g,b);l=a(e,M),o=n(l),x=a(e,k),r._fullScale=n(x),e.scale(o),l=a(e,M),s=[w[0]-l[0][0]+u,w[1]-l[0][1]+u],r._translate=s,e.translate(s),l=a(e,M),t._isAlbersUsa||e.clipExtent(l),o=r.scale*o,r._scale=o,t._width=Math.round(l[1][0])+u,t._height=Math.round(l[1][1])+u,t._marginX=(c-Math.round(l[1][0]))/2,t._marginY=(h-Math.round(l[1][1]))/2}}function i(t,e,r,n){var i=(r-t)/4;return{type:\\\"Polygon\\\",coordinates:[[[t,e],[t,n],[t+i,n],[t+2*i,n],[t+3*i,n],[r,n],[r,e],[r-i,e],[r-2*i,e],[r-3*i,e],[t,e]]]}}function a(t,e){return o.geo.path().projection(t).bounds(e)}var o=t(\\\"d3\\\"),s=t(\\\"./constants\\\").clipPad;e.exports=n},{\\\"./constants\\\":792,d3:121}],802:[function(t,e,r){\\\"use strict\\\";function n(t,e){return(e._isScoped?a:e._clipAngle?s:o)(t,e.projection)}function i(t,e){var r=e._fullScale;return _.behavior.zoom().translate(t.translate()).scale(t.scale()).scaleExtent([.5*r,100*r])}function a(t,e){function r(){_.select(this).style(k)}function n(){o.scale(_.event.scale).translate(_.event.translate),t.render()}function a(){_.select(this).style(A)}var o=t.projection,s=i(o,e);return s.on(\\\"zoomstart\\\",r).on(\\\"zoom\\\",n).on(\\\"zoomend\\\",a),s}function o(t,e){function r(t){return v.invert(t)}function n(t){var e=v(r(t));return Math.abs(e[0]-t[0])>y||Math.abs(e[1]-t[1])>y}function a(){_.select(this).style(k),l=_.mouse(this),u=v.rotate(),c=v.translate(),h=u,f=r(l)}function o(){if(d=_.mouse(this),n(l))return g.scale(v.scale()),void g.translate(v.translate());v.scale(_.event.scale),v.translate([c[0],_.event.translate[1]]),f?r(d)&&(m=r(d),p=[h[0]+(m[0]-f[0]),u[1],u[2]],v.rotate(p),h=p):(l=d,f=r(l)),t.render()}function s(){_.select(this).style(A)}var l,u,c,h,f,d,p,m,v=t.projection,g=i(v,e),y=2;return g.on(\\\"zoomstart\\\",a).on(\\\"zoom\\\",o).on(\\\"zoomend\\\",s),g}function s(t,e){function r(t){g++||t({type:\\\"zoomstart\\\"})}function n(t){t({type:\\\"zoom\\\"})}function a(t){--g||t({type:\\\"zoomend\\\"})}var o,s=t.projection,d={r:s.rotate(),k:s.scale()},p=i(s,e),m=x(p,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\"),g=0,y=p.on;return p.on(\\\"zoomstart\\\",function(){_.select(this).style(k);var t=_.mouse(this),e=s.rotate(),i=e,a=s.translate(),g=u(e);o=l(s,t),y.call(p,\\\"zoom\\\",function(){var r=_.mouse(this);if(s.scale(d.k=_.event.scale),o){if(l(s,r)){s.rotate(e).translate(a);var u=l(s,r),p=h(o,u),y=v(c(g,p)),b=d.r=f(y,o,i);isFinite(b[0])&&isFinite(b[1])&&isFinite(b[2])||(b=i),s.rotate(b),i=b}}else t=r,o=l(s,t);n(m.of(this,arguments))}),r(m.of(this,arguments))}).on(\\\"zoomend\\\",function(){_.select(this).style(A),y.call(p,\\\"zoom\\\",null),a(m.of(this,arguments))}).on(\\\"zoom.redraw\\\",function(){t.render()}),_.rebind(p,m,\\\"on\\\")}function l(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&g(r)}function u(t){var e=.5*t[0]*w,r=.5*t[1]*w,n=.5*t[2]*w,i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function c(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],u=e[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function h(t,e){if(t&&e){var r=b(t,e),n=Math.sqrt(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function f(t,e,r){var n=m(e,2,t[0]);n=m(n,1,t[1]),n=m(n,0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],c=n[1],h=n[2],f=Math.atan2(s,o)*M,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*M-f,i=Math.sqrt(p*p-c*c));var v=180-a-2*f,g=(Math.atan2(h,u)-Math.atan2(l,i))*M,y=(Math.atan2(h,u)-Math.atan2(l,-i))*M;return d(r[0],r[1],a,g)<=d(r[0],r[1],v,y)?[a,g,r[2]]:[v,y,r[2]]}function d(t,e,r,n){var i=p(r-t),a=p(n-e);return Math.sqrt(i*i+a*a)}function p(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*w,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function v(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*M,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*M,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*M]}function g(t){var e=t[0]*w,r=t[1]*w,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}function b(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 x(t){for(var e=0,r=arguments.length,n=[];++e<r;)n.push(arguments[e]);var i=_.dispatch.apply(null,n);return i.of=function(e,r){return function(n){var a;try{a=n.sourceEvent=_.event,n.target=t,_.event=n,i[n.type].apply(e,r)}finally{_.event=a}}},i}var _=t(\\\"d3\\\"),w=Math.PI/180,M=180/Math.PI,k={cursor:\\\"pointer\\\"},A={cursor:\\\"auto\\\"};e.exports=n},{d3:121}],803:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t.projection,n=t.zoom;return function(){t.makeProjection(e),t.makePath(),n.scale(r.scale()),n.translate(r.translate()),t.render()}}},{}],804:[function(t,e,r){\\\"use strict\\\";function n(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]}function i(t){function e(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function r(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}function i(n,i,a){function o(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(f[e]=i,f[e+2]=a,h.dataBox=f,t.setRanges(f)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}var s,u,f=t.calcDataBox(),d=c.viewBox,p=h.lastPos[0],m=h.lastPos[1],v=l.MINDRAG*c.pixelRatio,g=l.MINZOOM*c.pixelRatio;switch(i*=c.pixelRatio,a*=c.pixelRatio,a=d[3]-d[1]-a,t.fullLayout.dragmode){case\\\"zoom\\\":if(n){var y=i/(d[2]-d[0])*(f[2]-f[0])+f[0],b=a/(d[3]-d[1])*(f[3]-f[1])+f[1];h.boxInited||(h.boxStart[0]=y,h.boxStart[1]=b,h.dragStart[0]=i,h.dragStart[1]=a),h.boxEnd[0]=y,h.boxEnd[1]=b,h.boxInited=!0,h.boxEnabled||h.boxStart[0]===h.boxEnd[0]&&h.boxStart[1]===h.boxEnd[1]||(h.boxEnabled=!0);var x=Math.abs(h.dragStart[0]-i)<g,_=Math.abs(h.dragStart[1]-a)<g;if(!r()||x&&_)x&&(h.boxEnd[0]=h.boxStart[0]),_&&(h.boxEnd[1]=h.boxStart[1]);else{s=h.boxEnd[0]-h.boxStart[0],u=h.boxEnd[1]-h.boxStart[1];var w=(f[3]-f[1])/(f[2]-f[0]);Math.abs(s*w)>Math.abs(u)?(h.boxEnd[1]=h.boxStart[1]+Math.abs(s)*w*(u>=0?1:-1),h.boxEnd[1]<f[1]?(h.boxEnd[1]=f[1],h.boxEnd[0]=h.boxStart[0]+(f[1]-h.boxStart[1])/Math.abs(w)):h.boxEnd[1]>f[3]&&(h.boxEnd[1]=f[3],h.boxEnd[0]=h.boxStart[0]+(f[3]-h.boxStart[1])/Math.abs(w))):(h.boxEnd[0]=h.boxStart[0]+Math.abs(u)/w*(s>=0?1:-1),h.boxEnd[0]<f[0]?(h.boxEnd[0]=f[0],h.boxEnd[1]=h.boxStart[1]+(f[0]-h.boxStart[0])*Math.abs(w)):h.boxEnd[0]>f[2]&&(h.boxEnd[0]=f[2],h.boxEnd[1]=h.boxStart[1]+(f[2]-h.boxStart[0])*Math.abs(w)))}}else h.boxEnabled?(s=h.boxStart[0]!==h.boxEnd[0],u=h.boxStart[1]!==h.boxEnd[1],s||u?(s&&(o(0,h.boxStart[0],h.boxEnd[0]),t.xaxis.autorange=!1),u&&(o(1,h.boxStart[1],h.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),h.boxEnabled=!1,h.boxInited=!1):h.boxInited&&(h.boxInited=!1);break;case\\\"pan\\\":h.boxEnabled=!1,h.boxInited=!1,n?(h.panning||(h.dragStart[0]=i,h.dragStart[1]=a),Math.abs(h.dragStart[0]-i)<v&&(i=h.dragStart[0]),Math.abs(h.dragStart[1]-a)<v&&(a=h.dragStart[1]),s=(p-i)*(f[2]-f[0])/(c.viewBox[2]-c.viewBox[0]),u=(m-a)*(f[3]-f[1])/(c.viewBox[3]-c.viewBox[1]),f[0]+=s,f[2]+=s,f[1]+=u,f[3]+=u,t.setRanges(f),h.panning=!0,h.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations()):h.panning&&(h.panning=!1,t.relayoutCallback())}h.lastPos[0]=i,h.lastPos[1]=a}var u=t.mouseContainer,c=t.glplot,h=new n(u,c);return h.mouseListener=a(u,i),u.addEventListener(\\\"touchstart\\\",function(t){var e=s(t.changedTouches[0],u);i(0,e[0],e[1]),i(1,e[0],e[1])}),u.addEventListener(\\\"touchmove\\\",function(t){t.preventDefault();var e=s(t.changedTouches[0],u);i(1,e[0],e[1])}),u.addEventListener(\\\"touchend\\\",function(){i(0,h.lastPos[0],h.lastPos[1])}),h.wheelListener=o(u,function(r,n){var i=t.calcDataBox(),a=c.viewBox,o=h.lastPos[0],s=h.lastPos[1];switch(t.fullLayout.dragmode){case\\\"zoom\\\":break;case\\\"pan\\\":var l=Math.exp(.1*n/(a[3]-a[1])),u=o/(a[2]-a[0])*(i[2]-i[0])+i[0],f=s/(a[3]-a[1])*(i[3]-i[1])+i[1];i[0]=(i[0]-u)*l+u,i[2]=(i[2]-u)*l+u,i[1]=(i[1]-f)*l+f,i[3]=(i[3]-f)*l+f,t.setRanges(i),h.lastInputTime=Date.now(),e(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback()}return!0}),h}var a=t(\\\"mouse-change\\\"),o=t(\\\"mouse-wheel\\\"),s=t(\\\"mouse-event-offset\\\"),l=t(\\\"../cartesian/constants\\\");e.exports=i},{\\\"../cartesian/constants\\\":771,\\\"mouse-change\\\":451,\\\"mouse-event-offset\\\":452,\\\"mouse-wheel\\\":454}],805:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t){return new n(t)}var a=t(\\\"../plots\\\"),o=t(\\\"../cartesian/axes\\\"),s=t(\\\"../../lib/html2unicode\\\"),l=t(\\\"../../lib/str2rgbarray\\\"),u=n.prototype,c=[\\\"xaxis\\\",\\\"yaxis\\\"];u.merge=function(t){this.titleEnable=!1,this.backgroundColor=l(t.plot_bgcolor);var e,r,n,i,a,o,u,h,f,d,p;for(d=0;d<2;++d){for(e=c[d],r=t[this.scene[e]._name],n=/Click to enter .+ title/.test(r.title)?\\\"\\\":r.title,p=0;p<=2;p+=2)this.labelEnable[d+p]=!1,this.labels[d+p]=s(n),this.labelColor[d+p]=l(r.titlefont.color),this.labelFont[d+p]=r.titlefont.family,this.labelSize[d+p]=r.titlefont.size,this.labelPad[d+p]=this.getLabelPad(e,r),this.tickEnable[d+p]=!1,this.tickColor[d+p]=l((r.tickfont||{}).color),this.tickAngle[d+p]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[d+p]=this.getTickPad(r),this.tickMarkLength[d+p]=0,this.tickMarkWidth[d+p]=r.tickwidth||0,this.tickMarkColor[d+p]=l(r.tickcolor),this.borderLineEnable[d+p]=!1,this.borderLineColor[d+p]=l(r.linecolor),this.borderLineWidth[d+p]=r.linewidth||0;u=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!u,o=this.hasAxisInAltrPos(e,r)&&!u,i=r.mirror||!1,h=u?-1!==String(i).indexOf(\\\"all\\\"):!!i,f=u?\\\"allticks\\\"===i:-1!==String(i).indexOf(\\\"ticks\\\"),a?this.labelEnable[d]=!0:o&&(this.labelEnable[d+2]=!0),a?this.tickEnable[d]=r.showticklabels:o&&(this.tickEnable[d+2]=r.showticklabels),(a||h)&&(this.borderLineEnable[d]=r.showline),(o||h)&&(this.borderLineEnable[d+2]=r.showline),(a||f)&&(this.tickMarkLength[d]=this.getTickMarkLength(r)),(o||f)&&(this.tickMarkLength[d+2]=this.getTickMarkLength(r)),this.gridLineEnable[d]=r.showgrid,this.gridLineColor[d]=l(r.gridcolor),this.gridLineWidth[d]=r.gridwidth,this.zeroLineEnable[d]=r.zeroline,this.zeroLineColor[d]=l(r.zerolinecolor),this.zeroLineWidth[d]=r.zerolinewidth}},u.hasSharedAxis=function(t){var e=this.scene,r=a.getSubplotIds(e.fullLayout,\\\"gl2d\\\");return 0!==o.findSubplotsWithAxis(r,t).indexOf(e.id)},u.hasAxisInDfltPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"bottom\\\"===r:\\\"yaxis\\\"===t?\\\"left\\\"===r:void 0},u.hasAxisInAltrPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"top\\\"===r:\\\"yaxis\\\"===t?\\\"right\\\"===r:void 0},u.getLabelPad=function(t,e){var r=e.titlefont.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},u.getTickPad=function(t){return\\\"outside\\\"===t.ticks?10+t.ticklen:15},u.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\\\"inside\\\"===t.ticks?-e:e},e.exports=i},{\\\"../../lib/html2unicode\\\":723,\\\"../../lib/str2rgbarray\\\":744,\\\"../cartesian/axes\\\":766,\\\"../plots\\\":829}],806:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scene2d\\\"),i=t(\\\"../plots\\\"),a=t(\\\"../../constants/xmlns_namespaces\\\"),o=t(\\\"../cartesian/constants\\\"),s=t(\\\"../cartesian\\\");r.name=\\\"gl2d\\\",r.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],r.idRoot=[\\\"x\\\",\\\"y\\\"],r.idRegex=o.idRegex,r.attrRegex=o.attrRegex,r.attributes=t(\\\"../cartesian/attributes\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,a=i.getSubplotIds(e,\\\"gl2d\\\"),o=0;o<a.length;o++){var s=a[o],l=e._plots[s],u=i.getSubplotData(r,\\\"gl2d\\\",s),c=l._scene2d;void 0===c&&(c=new n({id:s,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),l._scene2d=c),c.plot(u,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"gl2d\\\"),o=0;o<a.length;o++){var l=a[o],u=n._plots[l];if(u._scene2d){0===i.getSubplotData(t,\\\"gl2d\\\",l).length&&(u._scene2d.destroy(),delete n._plots[l])}}s.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||s.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=i.getSubplotIds(e,\\\"gl2d\\\"),n=0;n<r.length;n++){var o=e._plots[r[n]],s=o._scene2d,l=s.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:a.svg,\\\"xlink:href\\\":l,x:0,y:0,width:\\\"100%\\\",height:\\\"100%\\\",preserveAspectRatio:\\\"none\\\"}),s.destroy()}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../cartesian\\\":776,\\\"../cartesian/attributes\\\":765,\\\"../cartesian/constants\\\":771,\\\"../plots\\\":829,\\\"./scene2d\\\":807}],807:[function(t,e,r){\\\"use strict\\\";function n(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.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=p(this),this.glplotOptions.merge(e),this.glplot=c(this.glplotOptions),this.camera=m(this),this.traces={},this.spikes=h(this.glplot),this.selectBox=f(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.bounds=[1/0,1/0,-1/0,-1/0],this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}function i(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1}var a,o,s=t(\\\"../../registry\\\"),l=t(\\\"../../plots/cartesian/axes\\\"),u=t(\\\"../../components/fx\\\"),c=t(\\\"gl-plot2d\\\"),h=t(\\\"gl-spikes2d\\\"),f=t(\\\"gl-select-box\\\"),d=t(\\\"webgl-context\\\"),p=t(\\\"./convert\\\"),m=t(\\\"./camera\\\"),v=t(\\\"../../lib/html2unicode\\\"),g=t(\\\"../../lib/show_no_webgl_msg\\\"),y=t(\\\"../../plots/cartesian/constraints\\\"),b=y.enforce,x=y.clean,_=[\\\"xaxis\\\",\\\"yaxis\\\"];e.exports=n;var w=n.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(o||(a=document.createElement(\\\"canvas\\\"),o=d({canvas:a,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"Error creating static canvas/context for image server\\\");this.canvas=a,this.gl=o}else{var t=document.createElement(\\\"canvas\\\"),e=d({canvas:t,premultipliedAlpha:!0});e||g(this),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 n=this.svgContainer=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");n.style.position=\\\"absolute\\\",n.style.top=n.style.left=\\\"0px\\\",n.style.width=n.style.height=\\\"100%\\\",n.style[\\\"z-index\\\"]=20,n.style[\\\"pointer-events\\\"]=\\\"none\\\";var i=this.mouseContainer=document.createElement(\\\"div\\\");i.style.position=\\\"absolute\\\",i.style[\\\"pointer-events\\\"]=\\\"auto\\\";var s=this.container;s.appendChild(r),s.appendChild(n),s.appendChild(i);var l=this;i.addEventListener(\\\"mouseout\\\",function(){l.isMouseOver=!1,l.unhover()}),i.addEventListener(\\\"mouseover\\\",function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t=\\\"png\\\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(a),this.updateSize(this.canvas),this.glplot.setDirty(),this.glplot.draw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=n-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var u=0;u<4;++u){var c=i[4*(r*o+l)+u];i[4*(r*o+l)+u]=i[4*(r*s+l)+u],i[4*(r*s+l)+u]=c}var h=document.createElement(\\\"canvas\\\");h.width=r,h.height=n;var f=h.getContext(\\\"2d\\\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\\\"jpeg\\\":p=h.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":p=h.toDataURL(\\\"image/webp\\\");break;default:p=h.toDataURL(\\\"image/png\\\")}return this.staticPlot&&this.container.removeChild(a),p},w.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),this.redraw&&this.redraw(),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[l.calcTicks(this.xaxis),l.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=v(t[e][r].text+\\\"\\\");return t},w.updateRefs=function(t){this.fullLayout=t;var e=l.subplotMatch,r=\\\"xaxis\\\"+this.id.match(e)[1],n=\\\"yaxis\\\"+this.id.match(e)[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\\\"plotly_relayout\\\",i)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks()\\n\",\n       \";i(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.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&&s.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")(t,r)}},w.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.staticPlot||this.container.removeChild(this.canvas),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}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};x(s,this.xaxis),x(s,this.yaxis);var u=r._size,c=this.xaxis.domain,h=this.yaxis.domain;o.viewBox=[u.l+c[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-c[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(c[1]-c[0])+\\\"px\\\",this.mouseContainer.style.height=u.h*(h[1]-h[0])+\\\"px\\\",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+c[0]*u.w+\\\"px\\\",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+\\\"px\\\";var f=this.bounds;f[0]=f[1]=1/0,f[2]=f[3]=-1/0;var d,p,m=Object.keys(this.traces);for(p=0;p<m.length;++p)for(var v=this.traces[m[p]],g=0;g<2;++g)f[g]=Math.min(f[g],v.bounds[g]),f[g+2]=Math.max(f[g+2],v.bounds[g+2]);for(p=0;p<2;++p)f[p]>f[p+2]&&(f[p]=-1,f[p+2]=1),d=this[_[p]],d._length=o.viewBox[p+2]-o.viewBox[p],l.doAutoRange(d),d.setScale();b(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},w.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},w.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if(i=t[n],i.uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},w.updateFx=function(t){this.mouseContainer.style[\\\"pointer-events\\\"]=\\\"lasso\\\"===t||\\\"select\\\"===t?\\\"none\\\":\\\"auto\\\",this.mouseContainer.style.cursor=\\\"pan\\\"===t?\\\"move\\\":\\\"zoom\\\"===t?\\\"crosshair\\\":null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};u.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},w.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,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\\\"zoom\\\"===i.dragmode){this.selectBox.enabled=!0;for(var l=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])],c=0;c<2;c++)e.boxStart[c]===e.boxEnd[c]&&(l[c]=t.dataBox[c],l[c+2]=t.dataBox[c+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var h=i._size,f=this.xaxis.domain,d=this.yaxis.domain;a=t.pick(o/t.pixelRatio+h.l+f[0]*h.w,s/t.pixelRatio-(h.t+(1-d[1])*h.h));var p=a&&a.object._trace.handlePick(a);if(p&&n&&this.emitPointAction(p,\\\"plotly_click\\\"),a&&\\\"skip\\\"!==a.object._trace.hoverinfo&&i.hovermode&&p&&(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var m=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),m.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(p,\\\"plotly_hover\\\");var v=this.fullData[m.trace.index]||{},g=m.pointIndex,y=u.castHoverinfo(v,i,g);if(y&&\\\"all\\\"!==y){var b=y.split(\\\"+\\\");-1===b.indexOf(\\\"x\\\")&&(m.traceCoord[0]=void 0),-1===b.indexOf(\\\"y\\\")&&(m.traceCoord[1]=void 0),-1===b.indexOf(\\\"z\\\")&&(m.traceCoord[2]=void 0),-1===b.indexOf(\\\"text\\\")&&(m.textLabel=void 0),-1===b.indexOf(\\\"name\\\")&&(m.name=void 0)}u.loneHover({x:m.screenCoord[0],y:m.screenCoord[1],xLabel:this.hoverFormatter(\\\"xaxis\\\",m.traceCoord[0]),yLabel:this.hoverFormatter(\\\"yaxis\\\",m.traceCoord[1]),zLabel:m.traceCoord[2],text:m.textLabel,name:m.name,color:u.castHoverOption(v,g,\\\"bgcolor\\\")||m.color,borderColor:u.castHoverOption(v,g,\\\"bordercolor\\\"),fontFamily:u.castHoverOption(v,g,\\\"font.family\\\"),fontSize:u.castHoverOption(v,g,\\\"font.size\\\"),fontColor:u.castHoverOption(v,g,\\\"font.color\\\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\\\"plotly_unhover\\\"),u.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return l.tickText(r,r.c2l(e),\\\"hover\\\").text}}},{\\\"../../components/fx\\\":644,\\\"../../lib/html2unicode\\\":723,\\\"../../lib/show_no_webgl_msg\\\":742,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/constraints\\\":773,\\\"../../registry\\\":844,\\\"./camera\\\":804,\\\"./convert\\\":805,\\\"gl-plot2d\\\":218,\\\"gl-select-box\\\":252,\\\"gl-spikes2d\\\":261,\\\"webgl-context\\\":562}],808:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(e,r,n,a){var o=p.keyBindingMode;if(!1!==o){var s=\\\"rotate\\\"===o,l=\\\"pan\\\"===o,c=\\\"zoom\\\"===o,f=!!a.control,d=!!a.alt,y=!!a.shift,b=!!(1&e),x=!!(2&e),_=!!(4&e),w=1/t.clientHeight,M=w*(r-m),k=w*(n-v),A=p.flipX?1:-1,T=p.flipY?1:-1,S=i(),E=Math.PI*p.rotateSpeed;if((s&&b&&!f&&!d&&!y||b&&!f&&!d&&y)&&u.rotate(S,A*E*M,-T*E*k,0),(l&&b&&!f&&!d&&!y||x||b&&f&&!d&&!y)&&u.pan(S,-p.translateSpeed*M*h,p.translateSpeed*k*h,0),c&&b&&!f&&!d&&!y||_||b&&!f&&d&&!y){var L=-p.zoomSpeed*k/window.innerHeight*(S-u.lastT())*100;u.pan(S,0,0,h*(Math.exp(L)-1))}return m=r,v=n,g=a,!0}}t=t||document.body,e=e||{};var n=[.01,1/0];\\\"distanceLimits\\\"in e&&(n[0]=e.distanceLimits[0],n[1]=e.distanceLimits[1]),\\\"zoomMin\\\"in e&&(n[0]=e.zoomMin),\\\"zoomMax\\\"in e&&(n[1]=e.zoomMax);var u=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:n}),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,d=t.clientHeight,p={keyBindingMode:\\\"rotate\\\",view:u,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:u.modes,tick:function(){var e=i(),r=this.delay,n=e-2*r;u.idle(e-r),u.recalcMatrix(n),u.flush(e-(100+2*r));for(var a=!0,o=u.computedMatrix,s=0;s<16;++s)a=a&&c[s]===o[s],c[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===d;return f=t.clientWidth,d=t.clientHeight,a?!l:(h=Math.exp(u.computedRadius[0]),!0)},lookAt:function(t,e,r){u.lookAt(u.lastT(),t,e,r)},rotate:function(t,e,r){u.rotate(u.lastT(),t,e,r)},pan:function(t,e,r){u.pan(u.lastT(),t,e,r)},translate:function(t,e,r){u.translate(u.lastT(),t,e,r)}};Object.defineProperties(p,{matrix:{get:function(){return u.computedMatrix},set:function(t){return u.setMatrix(u.lastT(),t),u.computedMatrix},enumerable:!0},mode:{get:function(){return u.getMode()},set:function(t){var e=u.computedUp.slice(),r=u.computedEye.slice(),n=u.computedCenter.slice();if(u.setMode(t),\\\"turntable\\\"===t){var a=i();u._active.lookAt(a,r,n,e),u._active.lookAt(a+500,r,n,[0,0,1]),u._active.flush(a)}return u.getMode()},enumerable:!0},center:{get:function(){return u.computedCenter},set:function(t){return u.lookAt(u.lastT(),null,t),u.computedCenter},enumerable:!0},eye:{get:function(){return u.computedEye},set:function(t){return u.lookAt(u.lastT(),t),u.computedEye},enumerable:!0},up:{get:function(){return u.computedUp},set:function(t){return u.lookAt(u.lastT(),null,null,t),u.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return u.setDistance(u.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return u.getDistanceLimits(n)},set:function(t){return u.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var m=0,v=0,g={shift:!1,control:!1,alt:!1,meta:!1};return p.mouseListener=o(t,r),t.addEventListener(\\\"touchstart\\\",function(e){var n=l(e.changedTouches[0],t);r(0,n[0],n[1],g),r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchmove\\\",function(e){var n=l(e.changedTouches[0],t);r(1,n[0],n[1],g)}),t.addEventListener(\\\"touchend\\\",function(){r(0,m,v,g)}),p.wheelListener=s(t,function(t,e){if(!1!==p.keyBindingMode){var r=p.flipX?1:-1,n=p.flipY?1:-1,a=i();if(Math.abs(t)>Math.abs(e))u.rotate(a,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else{var o=-p.zoomSpeed*n*e/window.innerHeight*(a-u.lastT())/100;u.pan(a,0,0,h*(Math.exp(o)-1))}}},!0),p}e.exports=n;var i=t(\\\"right-now\\\"),a=t(\\\"3d-view\\\"),o=t(\\\"mouse-change\\\"),s=t(\\\"mouse-wheel\\\"),l=t(\\\"mouse-event-offset\\\")},{\\\"3d-view\\\":36,\\\"mouse-change\\\":451,\\\"mouse-event-offset\\\":452,\\\"mouse-wheel\\\":454,\\\"right-now\\\":501}],809:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scene\\\"),i=t(\\\"../plots\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\");r.name=\\\"gl3d\\\",r.attr=\\\"scene\\\",r.idRoot=\\\"scene\\\",r.idRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^scene([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,o=i.getSubplotIds(e,\\\"gl3d\\\"),s=0;s<o.length;s++){var l=o[s],u=i.getSubplotData(r,\\\"gl3d\\\",l),c=e[l],h=c._scene;h||(h=new n({id:l,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),c._scene=h),h.cameraInitial||(h.cameraInitial=a.extendDeep({},c.camera)),h.plot(u,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"gl3d\\\"),o=0;o<a.length;o++){var s=a[o];!e[s]&&n[s]._scene&&(n[s]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\\\".annotation-\\\"+s).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=i.getSubplotIds(e,\\\"gl3d\\\"),n=e._size,a=0;a<r.length;a++){var s=e[r[a]],l=s.domain,u=s._scene,c=u.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:o.svg,\\\"xlink:href\\\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\\\"none\\\"}),u.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),\\\"scene\\\"+e}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../plots\\\":829,\\\"./layout/attributes\\\":810,\\\"./layout/defaults\\\":814,\\\"./layout/layout_attributes\\\":815,\\\"./scene\\\":819}],810:[function(t,e,r){\\\"use strict\\\";e.exports={scene:{valType:\\\"subplotid\\\",dflt:\\\"scene\\\"}}},{}],811:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color\\\"),i=t(\\\"../../cartesian/layout_attributes\\\"),a=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={visible:i.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:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\\\"rgb(204, 204, 204)\\\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth}},{\\\"../../../components/color\\\":603,\\\"../../../lib/extend\\\":716,\\\"../../cartesian/layout_attributes\\\":777}],812:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../../lib\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../cartesian/type_defaults\\\"),s=t(\\\"../../cartesian/axis_defaults\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];e.exports=function(t,e,r){function u(t,e){return i.coerce(c,h,a,t,e)}for(var c,h,f=0;f<l.length;f++){var d=l[f];c=t[d]||{},h=e[d]={_id:d[0]+r.scene,_name:d},o(c,h,u,r.data),s(c,h,u,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar}),u(\\\"gridcolor\\\",n(h.color,r.bgColor,13600/187).toRgbString()),u(\\\"title\\\",d[0]),h.setScale=i.noop,u(\\\"showspikes\\\")&&(u(\\\"spikesides\\\"),u(\\\"spikethickness\\\"),u(\\\"spikecolor\\\",h.color)),u(\\\"showaxeslabels\\\"),u(\\\"showbackground\\\")&&u(\\\"backgroundcolor\\\")}}},{\\\"../../../lib\\\":725,\\\"../../cartesian/axis_defaults\\\":768,\\\"../../cartesian/type_defaults\\\":788,\\\"./axis_attributes\\\":811,tinycolor2:533}],813:[function(t,e,r){\\\"use strict\\\";function n(){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.labelAngle=[0,0,0],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()}function i(t){var e=new n;return e.merge(t),e}var a=t(\\\"../../../lib/html2unicode\\\"),o=t(\\\"../../../lib/str2rgbarray\\\"),s=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];n.prototype.merge=function(t){for(var e=this,r=0;r<3;++r){var n=t[s[r]];n.visible?(e.labels[r]=a(n.title),\\\"titlefont\\\"in n&&(n.titlefont.color&&(e.labelColor[r]=o(n.titlefont.color)),n.titlefont.family&&(e.labelFont[r]=n.titlefont.family),n.titlefont.size&&(e.labelSize[r]=n.titlefont.size)),\\\"showline\\\"in n&&(e.lineEnable[r]=n.showline),\\\"linecolor\\\"in n&&(e.lineColor[r]=o(n.linecolor)),\\\"linewidth\\\"in n&&(e.lineWidth[r]=n.linewidth),\\\"showgrid\\\"in n&&(e.gridEnable[r]=n.showgrid),\\\"gridcolor\\\"in n&&(e.gridColor[r]=o(n.gridcolor)),\\\"gridwidth\\\"in n&&(e.gridWidth[r]=n.gridwidth),\\\"log\\\"===n.type?e.zeroEnable[r]=!1:\\\"zeroline\\\"in n&&(e.zeroEnable[r]=n.zeroline),\\\"zerolinecolor\\\"in n&&(e.zeroLineColor[r]=o(n.zerolinecolor)),\\\"zerolinewidth\\\"in n&&(e.zeroLineWidth[r]=n.zerolinewidth),\\\"ticks\\\"in n&&n.ticks?e.lineTickEnable[r]=!0:e.lineTickEnable[r]=!1,\\\"ticklen\\\"in n&&(e.lineTickLength[r]=e._defaultLineTickLength[r]=n.ticklen),\\\"tickcolor\\\"in n&&(e.lineTickColor[r]=o(n.tickcolor)),\\\"tickwidth\\\"in n&&(e.lineTickWidth[r]=n.tickwidth),\\\"tickangle\\\"in n&&(e.tickAngle[r]=\\\"auto\\\"===n.tickangle?0:Math.PI*-n.tickangle/180),\\\"showticklabels\\\"in n&&(e.tickEnable[r]=n.showticklabels),\\\"tickfont\\\"in n&&(n.tickfont.color&&(e.tickColor[r]=o(n.tickfont.color)),n.tickfont.family&&(e.tickFont[r]=n.tickfont.family),n.tickfont.size&&(e.tickSize[r]=n.tickfont.size)),\\\"mirror\\\"in n?-1!==[\\\"ticks\\\",\\\"all\\\",\\\"allticks\\\"].indexOf(n.mirror)?(e.lineTickMirror[r]=!0,e.lineMirror[r]=!0):!0===n.mirror?(e.lineTickMirror[r]=!1,e.lineMirror[r]=!0):(e.lineTickMirror[r]=!1,e.lineMirror[r]=!1):e.lineMirror[r]=!1,\\\"showbackground\\\"in n&&!1!==n.showbackground?(e.backgroundEnable[r]=!0,e.backgroundColor[r]=o(n.backgroundcolor)):e.backgroundEnable[r]=!1):(e.tickEnable[r]=!1,e.labelEnable[r]=!1,e.lineEnable[r]=!1,e.lineTickEnable[r]=!1,e.gridEnable[r]=!1,e.zeroEnable[r]=!1,e.backgroundEnable[r]=!1)}},e.exports=i},{\\\"../../../lib/html2unicode\\\":723,\\\"../../../lib/str2rgbarray\\\":744}],814:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){for(var i=r(\\\"bgcolor\\\"),s=a.combine(i,n.paper_bgcolor),c=Object.keys(u.camera),h=0;h<c.length;h++)r(\\\"camera.\\\"+c[h]+\\\".x\\\"),r(\\\"camera.\\\"+c[h]+\\\".y\\\"),r(\\\"camera.\\\"+c[h]+\\\".z\\\");var f=!!r(\\\"aspectratio.x\\\")&&!!r(\\\"aspectratio.y\\\")&&!!r(\\\"aspectratio.z\\\"),d=f?\\\"manual\\\":\\\"auto\\\",p=r(\\\"aspectmode\\\",d);f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\\\"manual\\\"===p&&(e.aspectmode=\\\"auto\\\")),l(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:s,calendar:n.calendar}),o.getComponentMethod(\\\"annotations3d\\\",\\\"handleDefaults\\\")(t,e,n),r(\\\"dragmode\\\",n.getDfltFromLayout(\\\"dragmode\\\")),r(\\\"hovermode\\\",n.getDfltFromLayout(\\\"hovermode\\\"))}var i=t(\\\"../../../lib\\\"),a=t(\\\"../../../components/color\\\"),o=t(\\\"../../../registry\\\"),s=t(\\\"../../subplot_defaults\\\"),l=t(\\\"./axis_defaults\\\"),u=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function a(e){if(!o){return i.validate(t[e],u[e])?t[e]:void 0}}var o=e._basePlotModules.length>1;s(t,e,r,{type:\\\"gl3d\\\",attributes:u,handleDefaults:n,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:a,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\\\"../../../components/color\\\":603,\\\"../../../lib\\\":725,\\\"../../../registry\\\":844,\\\"../../subplot_defaults\\\":836,\\\"./axis_defaults\\\":812,\\\"./layout_attributes\\\":815}],815:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){return{x:{valType:\\\"number\\\",dflt:t},y:{valType:\\\"number\\\",dflt:e},z:{valType:\\\"number\\\",dflt:r}}}var i=t(\\\"./axis_attributes\\\"),a=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={_arrayAttrRegexps:[/^scene([2-9]|[1-9][0-9]+)?\\\\.annotations/],bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},camera:{up:a(n(0,0,1),{}),center:a(n(0,0,0),{}),eye:a(n(1.25,1.25,1.25),{})},domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},aspectmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"cube\\\",\\\"data\\\",\\\"manual\\\"],dflt:\\\"auto\\\"},aspectratio:{x:{valType:\\\"number\\\",min:0},y:{valType:\\\"number\\\",min:0},z:{valType:\\\"number\\\",min:0}},xaxis:i,yaxis:i,zaxis:i,dragmode:{valType:\\\"enumerated\\\",values:[\\\"orbit\\\",\\\"turntable\\\",\\\"zoom\\\",\\\"pan\\\",!1],dflt:\\\"turntable\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"closest\\\",!1],dflt:\\\"closest\\\"},_deprecated:{cameraposition:{valType:\\\"info_array\\\"}}}},{\\\"../../../lib/extend\\\":716,\\\"./axis_attributes\\\":811}],816:[function(t,e,r){\\\"use strict\\\";function n(){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]}function i(t){var e=new n;return e.merge(t),e}var a=t(\\\"../../../lib/str2rgbarray\\\"),o=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];n.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[o[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=a(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=i},{\\\"../../../lib/str2rgbarray\\\":744}],817:[function(t,e,r){\\\"use strict\\\";function n(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}function i(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,i=t.fullSceneLayout,c=[[],[],[]],h=0;h<3;++h){var f=i[l[h]];if(f._length=(r[h].hi-r[h].lo)*r[h].pixelsPerDataUnit/t.dataScale[h],Math.abs(f._length)===1/0)c[h]=[];else{f.range[0]=r[h].lo/t.dataScale[h],f.range[1]=r[h].hi/t.dataScale[h],f._m=1/(t.dataScale[h]*r[h].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var d=f.tickmode;if(\\\"auto\\\"===f.tickmode){f.tickmode=\\\"linear\\\";var p=f.nticks||o.constrain(f._length/40,4,9);a.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var m=a.calcTicks(f),v=0;v<m.length;++v)m[v].x=m[v].x*t.dataScale[h],m[v].text=s(m[v].text);c[h]=m,f.tickmode=d}}e.ticks=c;for(var h=0;h<3;++h){u[h]=.5*(t.glplot.bounds[0][h]+t.glplot.bounds[1][h]);for(var v=0;v<2;++v)e.bounds[v][h]=t.glplot.bounds[v][h]}t.contourLevels=n(c)}e.exports=i;var a=t(\\\"../../cartesian/axes\\\"),o=t(\\\"../../../lib\\\"),s=t(\\\"../../../lib/html2unicode\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],u=[0,0,0]},{\\\"../../../lib\\\":725,\\\"../../../lib/html2unicode\\\":723,\\\"../../cartesian/axes\\\":766}],818:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}function i(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}e.exports=i},{}],819:[function(t,e,r){\\\"use strict\\\";function n(t){function e(e,r){var n=t.fullSceneLayout[e];return v.tickText(n,n.d2l(r),\\\"hover\\\").text}var r,n=t.svgContainer,i=t.container.getBoundingClientRect(),a=i.width,o=i.height;n.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 \\\"+a+\\\" \\\"+o),n.setAttributeNS(null,\\\"width\\\",a),n.setAttributeNS(null,\\\"height\\\",o),k(t),t.glplot.axes.update(t.axesOptions);for(var s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)r=t.traces[s[c]],\\\"skip\\\"!==r.data.hoverinfo&&r.handlePick(u)&&(l=r),r.setContourLevels&&r.setContourLevels();var h;if(null!==l){var f=_(t.glplot.cameraParams,u.dataCoordinate);r=l.data;var d=u.index,p=g.castHoverinfo(r,t.fullLayout,d),m=e(\\\"xaxis\\\",u.traceCoordinate[0]),y=e(\\\"yaxis\\\",u.traceCoordinate[1]),b=e(\\\"zaxis\\\",u.traceCoordinate[2]);if(\\\"all\\\"!==p){var x=p.split(\\\"+\\\");-1===x.indexOf(\\\"x\\\")&&(m=void 0),-1===x.indexOf(\\\"y\\\")&&(y=void 0),-1===x.indexOf(\\\"z\\\")&&(b=void 0),-1===x.indexOf(\\\"text\\\")&&(u.textLabel=void 0),-1===x.indexOf(\\\"name\\\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&g.loneHover({x:(.5+.5*f[0]/f[3])*a,y:(.5-.5*f[1]/f[3])*o,xLabel:m,yLabel:y,zLabel:b,text:u.textLabel,name:l.name,color:g.castHoverOption(r,d,\\\"bgcolor\\\")||l.color,borderColor:g.castHoverOption(r,d,\\\"bordercolor\\\"),fontFamily:g.castHoverOption(r,d,\\\"font.family\\\"),fontSize:g.castHoverOption(r,d,\\\"font.size\\\"),fontColor:g.castHoverOption(r,d,\\\"font.color\\\")},{container:n,gd:t.graphDiv});var w={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:r._input,fullData:r,curveNumber:r.index,pointNumber:d};g.appendArrayPointValue(w,r,d);var M={points:[w]};u.buttons&&u.distance<5?t.graphDiv.emit(\\\"plotly_click\\\",M):t.graphDiv.emit(\\\"plotly_hover\\\",M),h=M}else g.loneUnhover(n),t.graphDiv.emit(\\\"plotly_unhover\\\",h);t.drawAnnotations(t)}function i(t,e,r,i){var a={canvas:r,gl:i,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(h||(c=document.createElement(\\\"canvas\\\"),h=d({canvas:c,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"error creating static canvas/context for image server\\\");a.pixelRatio=t.pixelRatio,a.gl=h,a.canvas=c}try{t.glplot=f(a)}catch(e){b(t)}var o=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\\\".camera\\\"]=u(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\\\"plotly_relayout\\\",e)}};if(t.glplot.canvas.addEventListener(\\\"mouseup\\\",o.bind(null,t)),t.glplot.canvas.addEventListener(\\\"wheel\\\",o.bind(null,t)),t.staticMode||t.glplot.canvas.addEventListener(\\\"webglcontextlost\\\",function(t){m.warn(\\\"Lost WebGL context.\\\"),t.preventDefault()}),!t.camera){var s=t.fullSceneLayout.camera;t.camera=x(t.container,{center:[s.center.x,s.center.y,s.center.z],eye:[s.eye.x,s.eye.y,s.eye.z],up:[s.up.x,s.up.y,s.up.z],zoomMin:.1,zoomMax:100,mode:\\\"orbit\\\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=n.bind(null,t),t.traces={},!0}function a(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=w(e[this.id]),this.spikeOptions=M(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=p.getComponentMethod(\\\"annotations3d\\\",\\\"convert\\\"),this.drawAnnotations=p.getComponentMethod(\\\"annotations3d\\\",\\\"draw\\\"),i(this,e)}function o(t,e,r,n,i){for(var a,o=0;o<e.length;++o)if(Array.isArray(e[o]))for(var s=0;s<e[o].length;++s)a=t.d2l(e[o][s],0,i),!isNaN(a)&&isFinite(a)&&(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a));else a=t.d2l(e[o],0,i),!isNaN(a)&&isFinite(a)&&(n[0][r]=Math.min(n[0][r],a),n[1][r]=Math.max(n[1][r],a))}function s(t,e,r){var n=t.fullSceneLayout;o(n.xaxis,e.x,0,r,e.xcalendar),o(n.yaxis,e.y,1,r,e.ycalendar),o(n.zaxis,e.z,2,r,e.zcalendar)}function l(t){return[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]}function u(t){return{up:{x:t.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]}}}var c,h,f=t(\\\"gl-plot3d\\\"),d=t(\\\"webgl-context\\\"),p=t(\\\"../../registry\\\"),m=t(\\\"../../lib\\\"),v=t(\\\"../../plots/cartesian/axes\\\"),g=t(\\\"../../components/fx\\\"),y=t(\\\"../../lib/str2rgbarray\\\"),b=t(\\\"../../lib/show_no_webgl_msg\\\"),x=t(\\\"./camera\\\"),_=t(\\\"./project\\\"),w=t(\\\"./layout/convert\\\"),M=t(\\\"./layout/spikes\\\"),k=t(\\\"./layout/tick_marks\\\"),A=a.prototype;A.recoverContext=function(){function t(){return r.isContextLost()?void requestAnimationFrame(t):i(e,e.fullLayout,n,r)?void e.plot.apply(e,e.plotArgs):void m.error(\\\"Catastrophic and unrecoverable WebGL error. Context lost.\\\")}var e=this,r=this.glplot.gl,n=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(t)};var T=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];A.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,l,u,c=e[this.id],h=r[this.id];c.bgcolor?this.glplot.clearColor=y(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)n=t[a],!0===n.visible&&s(this,n,f);var d=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?d[o]=1:f[1][o]===f[0][o]?d[o]=1:d[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=d,this.convertAnnotations(this),a=0;a<t.length;++a)n=t[a],!0===n.visible&&(i=this.traces[n.uid],i?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&!0===t[o].visible)continue t;i=this.traces[p[a]],i.dispose(),delete this.traces[p[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var m=[[0,0,0],[0,0,0]],v=[],g={};for(a=0;a<3;++a){if(l=c[T[a]],u=l.type,u in g?(g[u].acc*=d[a],g[u].count+=1):g[u]={acc:d[a],count:1},l.autorange){m[0][a]=1/0,m[1][a]=-1/0;var b=this.glplot.objects,x=this.fullSceneLayout.annotations||[],_=l._name.charAt(0);for(o=0;o<b.length;o++){var w=b[o].bounds;m[0][a]=Math.min(m[0][a],w[0][a]/d[a]),m[1][a]=Math.max(m[1][a],w[1][a]/d[a])}for(o=0;o<x.length;o++){var M=x[o];if(M.visible){var k=l.r2l(M[_]);m[0][a]=Math.min(m[0][a],k),m[1][a]=Math.max(m[1][a],k)}}if(\\\"rangemode\\\"in l&&\\\"tozero\\\"===l.rangemode&&(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]>m[1][a])m[0][a]=-1,m[1][a]=1;else{var A=m[1][a]-m[0][a];m[0][a]-=A/32,m[1][a]+=A/32}}else{var S=l.range;m[0][a]=l.r2l(S[0]),m[1][a]=l.r2l(S[1])}m[0][a]===m[1][a]&&(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.bounds[0][a]=m[0][a]*d[a],this.glplot.bounds[1][a]=m[1][a]*d[a]}var E=[1,1,1];for(a=0;a<3;++a){l=c[T[a]],u=l.type;var L=g[u];E[a]=Math.pow(L.acc,1/L.count)/d[a]}var C;if(\\\"auto\\\"===c.aspectmode)C=Math.max.apply(null,E)/Math.min.apply(null,E)<=4?E:[1,1,1];else if(\\\"cube\\\"===c.aspectmode)C=[1,1,1];else if(\\\"data\\\"===c.aspectmode)C=E;else{if(\\\"manual\\\"!==c.aspectmode)throw new Error(\\\"scene.js aspectRatio was not one of the enumerated types\\\");var z=c.aspectratio;C=[z.x,z.y,z.z]}c.aspectratio.x=h.aspectratio.x=C[0],c.aspectratio.y=h.aspectratio.y=C[1],c.aspectratio.z=h.aspectratio.z=C[2],this.glplot.aspect=C;var I=c.domain||null,D=e._size||null;if(I&&D){var P=this.container.style;P.position=\\\"absolute\\\",P.left=D.l+I.x[0]*D.w+\\\"px\\\",P.top=D.t+(1-I.y[1])*D.h+\\\"px\\\",P.width=D.w*(I.x[1]-I.x[0])+\\\"px\\\",P.height=D.h*(I.y[1]-I.y[0])+\\\"px\\\"}this.glplot.redraw()}},A.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\\\"wheel\\\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},A.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),u(this.glplot.camera)},A.setCamera=function(t){this.glplot.camera.lookAt.apply(this,l(t))},A.saveCamera=function(t){var e=this.getCamera(),r=m.nestedProperty(t,this.id+\\\".camera\\\"),n=r.get(),i=!1;if(void 0===n)i=!0;else for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!function(t,e,r,n){var i=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],a=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}(e,n,a,o)){i=!0;break}return i&&r.set(e),i},A.updateFx=function(t,e){var r=this.camera;r&&(\\\"orbit\\\"===t?(r.mode=\\\"orbit\\\",r.keyBindingMode=\\\"rotate\\\"):\\\"turntable\\\"===t?(r.up=[0,0,1],r.mode=\\\"turntable\\\",r.keyBindingMode=\\\"rotate\\\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},A.toImage=function(t){t||(t=\\\"png\\\"),this.staticMode&&this.container.appendChild(c),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var h=document.createElement(\\\"canvas\\\");h.width=r,h.height=n;var f=h.getContext(\\\"2d\\\"),d=f.createImageData(r,n);d.data.set(i),f.putImageData(d,0,0);var p;switch(t){case\\\"jpeg\\\":p=h.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":p=h.toDataURL(\\\"image/webp\\\");break;default:p=h.toDataURL(\\\"image/png\\\")}return this.staticMode&&this.container.removeChild(c),p},A.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[T[t]];v.setConvert(e,this.fullLayout),e.setScale=m.noop}},e.exports=a},{\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"../../lib/show_no_webgl_msg\\\":742,\\\"../../lib/str2rgbarray\\\":744,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./camera\\\":808,\\n\",\n       \"\\\"./layout/convert\\\":813,\\\"./layout/spikes\\\":816,\\\"./layout/tick_marks\\\":817,\\\"./project\\\":818,\\\"gl-plot3d\\\":220,\\\"webgl-context\\\":562}],820:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=n.extendFlat,a=t(\\\"./font_attributes\\\"),o=t(\\\"../components/color/attributes\\\");e.exports={font:{family:i({},a.family,{dflt:'\\\"Open Sans\\\", verdana, arial, sans-serif'}),size:i({},a.size,{dflt:12}),color:i({},a.color,{dflt:o.defaultLine})},title:{valType:\\\"string\\\",dflt:\\\"Click to enter Plot title\\\"},titlefont:i({},a,{}),autosize:{valType:\\\"boolean\\\",dflt:!1},width:{valType:\\\"number\\\",min:10,dflt:700},height:{valType:\\\"number\\\",min:10,dflt:450},margin:{l:{valType:\\\"number\\\",min:0,dflt:80},r:{valType:\\\"number\\\",min:0,dflt:80},t:{valType:\\\"number\\\",min:0,dflt:100},b:{valType:\\\"number\\\",min:0,dflt:80},pad:{valType:\\\"number\\\",min:0,dflt:0},autoexpand:{valType:\\\"boolean\\\",dflt:!0}},paper_bgcolor:{valType:\\\"color\\\",dflt:o.background},plot_bgcolor:{valType:\\\"color\\\",dflt:o.background},separators:{valType:\\\"string\\\",dflt:\\\".,\\\"},hidesources:{valType:\\\"boolean\\\",dflt:!1},smith:{valType:\\\"enumerated\\\",values:[!1],dflt:!1},showlegend:{valType:\\\"boolean\\\"}}},{\\\"../components/color/attributes\\\":602,\\\"../lib\\\":725,\\\"./font_attributes\\\":790}],821:[function(t,e,r){\\\"use strict\\\";e.exports={styleUrlPrefix:\\\"mapbox://styles/mapbox/\\\",styleUrlSuffix:\\\"v9\\\",controlContainerClassName:\\\"mapboxgl-control-container\\\",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\\\"),mapOnErrorMsg:\\\"Mapbox error.\\\"}},{}],822:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){var r=t.split(\\\" \\\"),i=r[0],a=r[1],o=Array.isArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=[\\\"\\\",\\\"\\\"],c=[0,0];switch(i){case\\\"top\\\":u[0]=\\\"top\\\",c[1]=-l;break;case\\\"bottom\\\":u[0]=\\\"bottom\\\",c[1]=l}switch(a){case\\\"left\\\":u[1]=\\\"right\\\",c[0]=-s;break;case\\\"right\\\":u[1]=\\\"left\\\",c[0]=s}var h;return h=u[0]&&u[1]?u.join(\\\"-\\\"):u[0]?u[0]:u[1]?u[1]:\\\"center\\\",{anchor:h,offset:c}}},{\\\"../../lib\\\":725}],823:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t._fullLayout,n=t._context;if(\\\"\\\"===n.mapboxAccessToken)return\\\"\\\";for(var i=n.mapboxAccessToken,a=0;a<e.length;a++){var o=r[e[a]];if(o.accesstoken){i=o.accesstoken;break}}if(!i)throw new Error(u.noAccessTokenErrorMsg);return i}var i=t(\\\"mapbox-gl\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../plots\\\"),s=t(\\\"../../constants/xmlns_namespaces\\\"),l=t(\\\"./mapbox\\\"),u=t(\\\"./constants\\\");r.name=\\\"mapbox\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"mapbox\\\",r.idRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^mapbox([2-9]|[1-9][0-9]+)?$/,r.attributes={subplot:{valType:\\\"subplotid\\\",dflt:\\\"mapbox\\\"}},r.layoutAttributes=t(\\\"./layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,s=o.getSubplotIds(e,\\\"mapbox\\\"),u=n(t,s);i.accessToken=u;for(var c=0;c<s.length;c++){var h=s[c],f=o.getSubplotCalcData(r,\\\"mapbox\\\",h),d=e[h],p=d._subplot;d.accesstoken=u,p||(p=l({gd:t,container:e._glcontainer.node(),id:h,fullLayout:e,staticPlot:t._context.staticPlot}),e[h]._subplot=p),p.viewInitial||(p.viewInitial={center:a.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),p.plot(f,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=o.getSubplotIds(n,\\\"mapbox\\\"),a=0;a<i.length;a++){var s=i[a];!e[s]&&n[s]._subplot&&n[s]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=o.getSubplotIds(e,\\\"mapbox\\\"),n=e._size,i=0;i<r.length;i++){var a=e[r[i]],l=a.domain,u=a._subplot,c=u.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:s.svg,\\\"xlink:href\\\":c,x:n.l+n.w*l.x[0],y:n.t+n.h*(1-l.y[1]),width:n.w*(l.x[1]-l.x[0]),height:n.h*(l.y[1]-l.y[0]),preserveAspectRatio:\\\"none\\\"}),u.destroy()}}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../plots\\\":829,\\\"./constants\\\":821,\\\"./layout_attributes\\\":825,\\\"./layout_defaults\\\":826,\\\"./mapbox\\\":827,\\\"mapbox-gl\\\":342}],824:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\\\"-layer\\\"+e,this.idSource=this.uid+\\\"-source\\\",this.idLayer=this.uid+\\\"-layer\\\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}function i(t){var e=t.source;return s.isPlainObject(e)||\\\"string\\\"==typeof e&&e.length>0}function a(t){var e={},r={};switch(t.type){case\\\"circle\\\":s.extendFlat(r,{\\\"circle-radius\\\":t.circle.radius,\\\"circle-color\\\":t.color,\\\"circle-opacity\\\":t.opacity});break;case\\\"line\\\":s.extendFlat(r,{\\\"line-width\\\":t.line.width,\\\"line-color\\\":t.color,\\\"line-opacity\\\":t.opacity});break;case\\\"fill\\\":s.extendFlat(r,{\\\"fill-color\\\":t.color,\\\"fill-outline-color\\\":t.fill.outlinecolor,\\\"fill-opacity\\\":t.opacity});break;case\\\"symbol\\\":var n=t.symbol,i=l(n.textposition,n.iconsize);s.extendFlat(e,{\\\"icon-image\\\":n.icon+\\\"-15\\\",\\\"icon-size\\\":n.iconsize/10,\\\"text-field\\\":n.text,\\\"text-size\\\":n.textfont.size,\\\"text-anchor\\\":i.anchor,\\\"text-offset\\\":i.offset}),s.extendFlat(r,{\\\"icon-color\\\":t.color,\\\"text-color\\\":n.textfont.color,\\\"text-opacity\\\":t.opacity})}return{layout:e,paint:r}}function o(t){var e,r=t.sourcetype,n=t.source,i={type:r},a=\\\"string\\\"==typeof n;return\\\"geojson\\\"===r?e=\\\"data\\\":\\\"vector\\\"===r&&(e=a?\\\"url\\\":\\\"tiles\\\"),i[e]=n,i}var s=t(\\\"../../lib\\\"),l=t(\\\"./convert_text_opts\\\"),u=n.prototype;u.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)&&this.updateLayer(t):(this.updateSource(t),this.updateLayer(t)),this.updateStyle(t),this.visible=i(t)},u.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},u.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},u.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,i(t)){var r=o(t);e.addSource(this.idSource,r)}},u.updateLayer=function(t){var e=this.map;if(e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,i(t)){e.addLayer({id:this.idLayer,source:this.idSource,\\\"source-layer\\\":t.sourcelayer||\\\"\\\",type:t.type},t.below);var r={visibility:\\\"visible\\\"};this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",r)}},u.updateStyle=function(t){var e=a(t);i(t)&&(this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",e.layout),this.mapbox.setOptions(this.idLayer,\\\"setPaintProperty\\\",e.paint))},u.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var i=new n(t,e);return i.update(r),i}},{\\\"../../lib\\\":725,\\\"./convert_text_opts\\\":822}],825:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\").defaultLine,a=t(\\\"../font_attributes\\\"),o=t(\\\"../../traces/scatter/attributes\\\").textposition;e.exports={_arrayAttrRegexps:[/^mapbox([2-9]|[1-9][0-9]+)?\\\\.layers/],domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},accesstoken:{valType:\\\"string\\\",noBlank:!0,strict:!0},style:{valType:\\\"any\\\",values:[\\\"basic\\\",\\\"streets\\\",\\\"outdoors\\\",\\\"light\\\",\\\"dark\\\",\\\"satellite\\\",\\\"satellite-streets\\\"],dflt:\\\"basic\\\"},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:{_isLinkedToArray:\\\"layer\\\",sourcetype:{valType:\\\"enumerated\\\",values:[\\\"geojson\\\",\\\"vector\\\"],dflt:\\\"geojson\\\"},source:{valType:\\\"any\\\"},sourcelayer:{valType:\\\"string\\\",dflt:\\\"\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"line\\\",\\\"fill\\\",\\\"symbol\\\"],dflt:\\\"circle\\\"},below:{valType:\\\"string\\\",dflt:\\\"\\\"},color:{valType:\\\"color\\\",dflt:i},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},circle:{radius:{valType:\\\"number\\\",dflt:15}},line:{width:{valType:\\\"number\\\",dflt:2}},fill:{outlinecolor:{valType:\\\"color\\\",dflt:i}},symbol:{icon:{valType:\\\"string\\\",dflt:\\\"marker\\\"},iconsize:{valType:\\\"number\\\",dflt:10},text:{valType:\\\"string\\\",dflt:\\\"\\\"},textfont:n.extendDeep({},a,{family:{dflt:\\\"Open Sans Regular, Arial Unicode MS Regular\\\"}}),textposition:n.extendFlat({},o,{arrayOk:!1})}}}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../traces/scatter/attributes\\\":1027,\\\"../font_attributes\\\":790}],826:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r(\\\"accesstoken\\\"),r(\\\"style\\\"),r(\\\"center.lon\\\"),r(\\\"center.lat\\\"),r(\\\"zoom\\\"),r(\\\"bearing\\\"),r(\\\"pitch\\\"),i(t,e),e._input=t}function i(t,e){function r(t,e){return a.coerce(n,i,s.layers,t,e)}for(var n,i,o=t.layers||[],l=e.layers=[],u=0;u<o.length;u++)if(n=o[u],i={},a.isPlainObject(n)){var c=r(\\\"sourcetype\\\");r(\\\"source\\\"),\\\"vector\\\"===c&&r(\\\"sourcelayer\\\");var h=r(\\\"type\\\");r(\\\"below\\\"),r(\\\"color\\\"),r(\\\"opacity\\\"),\\\"circle\\\"===h&&r(\\\"circle.radius\\\"),\\\"line\\\"===h&&r(\\\"line.width\\\"),\\\"fill\\\"===h&&r(\\\"fill.outlinecolor\\\"),\\\"symbol\\\"===h&&(r(\\\"symbol.icon\\\"),r(\\\"symbol.iconsize\\\"),r(\\\"symbol.text\\\"),a.coerceFont(r,\\\"symbol.textfont\\\"),r(\\\"symbol.textposition\\\")),i._index=u,l.push(i)}}var a=t(\\\"../../lib\\\"),o=t(\\\"../subplot_defaults\\\"),s=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){o(t,e,r,{type:\\\"mapbox\\\",attributes:s,handleDefaults:n,partition:\\\"y\\\"})}},{\\\"../../lib\\\":725,\\\"../subplot_defaults\\\":836,\\\"./layout_attributes\\\":825}],827:[function(t,e,r){\\\"use strict\\\";function n(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\\\"-\\\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}function i(t){var e=d.style.values,r=d.style.dflt,n={};return u.isPlainObject(t)?(n.id=t.id,n.style=t):\\\"string\\\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?a(t):t):(n.id=r,n.style=a(r)),n}function a(t){return f.styleUrlPrefix+t+\\\"-\\\"+f.styleUrlSuffix}function o(t){return[t.lon,t.lat]}var s=t(\\\"mapbox-gl\\\"),l=t(\\\"../../components/fx\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../components/dragelement\\\"),h=t(\\\"../cartesian/select\\\"),f=t(\\\"./constants\\\"),d=t(\\\"./layout_attributes\\\"),p=t(\\\"./layers\\\"),m=n.prototype;e.exports=function(t){return new n(t)},m.plot=function(t,e,r){var n=this,i=n.opts=e[this.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash=[],n.layerList={});var a;a=n.map?new Promise(function(r,i){n.updateMap(t,e,r,i)}):new Promise(function(r,i){n.createMap(t,e,r,i)}),r.push(a)},m.createMap=function(t,e,r,n){function a(){l.loneUnhover(e._toppaper)}var c=this,h=c.gd,d=c.opts,p=c.styleObj=i(d.style);c.accessToken=d.accesstoken;var m=c.map=new s.Map({container:c.div,style:p.style,center:o(d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch,interactive:!c.isStatic,preserveDrawingBuffer:c.isStatic,doubleClickZoom:!1,boxZoom:!1}),v=f.controlContainerClassName,g=c.div.getElementsByClassName(v)[0];c.div.removeChild(g),m._canvas.canvas.style.left=\\\"0px\\\",m._canvas.canvas.style.top=\\\"0px\\\",c.rejectOnError(n),m.once(\\\"load\\\",function(){c.updateData(t),c.updateLayout(e),c.resolveOnRender(r)}),c.isStatic||(m.on(\\\"moveend\\\",function(t){if(c.map){var e=c.getView();if(d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,t.originalEvent){var r={};r[c.id]=u.extendFlat({},e),h.emit(\\\"plotly_relayout\\\",r)}}}),m.on(\\\"mousemove\\\",function(t){var e=c.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},c.xaxis.p2c=function(){return t.lngLat.lng},c.yaxis.p2c=function(){return t.lngLat.lat},l.hover(h,t,c.id)}),m.on(\\\"click\\\",function(t){l.click(h,t.originalEvent)}),m.on(\\\"dragstart\\\",a),m.on(\\\"zoomstart\\\",a),m.on(\\\"dblclick\\\",function(){var t=c.viewInitial;m.setCenter(o(t.center)),m.setZoom(t.zoom),m.setBearing(t.bearing),m.setPitch(t.pitch);var e=c.getView();d._input.center=d.center=e.center,d._input.zoom=d.zoom=e.zoom,d._input.bearing=d.bearing=e.bearing,d._input.pitch=d.pitch=e.pitch,h.emit(\\\"plotly_doubleclick\\\",null)}))},m.updateMap=function(t,e,r,n){var a=this,o=a.map;a.rejectOnError(n);var s=i(a.opts.style);a.styleObj.id!==s.id?(a.styleObj=s,o.setStyle(s.style),o.style.once(\\\"load\\\",function(){a.traceHash={},a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)})):(a.updateData(t),a.updateLayout(e),a.resolveOnRender(r))},m.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];r=o[0].trace,e=a[r.uid],e?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(r=t[i][0].trace,l===r.uid)continue t;e=a[l],e.dispose(),delete a[l]}},m.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(o(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},m.resolveOnRender=function(t){var e=this.map;e.on(\\\"render\\\",function r(){e.loaded()&&(e.off(\\\"render\\\",r),t())})},m.rejectOnError=function(t){function e(){t(new Error(f.mapOnErrorMsg))}var r=this.map;r.once(\\\"error\\\",e),r.once(\\\"style.error\\\",e),r.once(\\\"source.error\\\",e),r.once(\\\"tile.error\\\",e),r.once(\\\"layer.error\\\",e)},m.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)},m.updateFx=function(t){function e(t){var e=r.map.unproject(t);return[e.lng,e.lat]}var r=this,n=r.map,i=r.gd;if(!r.isStatic){var a,o=t.dragmode;if(a=\\\"select\\\"===o?function(t,n){(t.range={})[r.id]=[e([n.xmin,n.ymin]),e([n.xmax,n.ymax])]}:function(t,n,i){(t.lassoPoints={})[r.id]=i.filtered.map(e)},\\\"select\\\"===o||\\\"lasso\\\"===o){n.dragPan.disable();var s={element:r.div,gd:i,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:a},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id};s.prepFn=function(t,e,r){h(t,e,r,s,o)},s.doneFn=function(e,r){2===r&&t._zoomlayer.selectAll(\\\".select-outline\\\").remove()},c.init(s)}else n.dragPan.enable(),r.div.onmousedown=null}},m.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])},m.updateLayers=function(){var t,e=this.opts,r=e.layers,n=this.layerList;if(r.length!==n.length){for(t=0;t<n.length;t++)n[t].dispose();for(n=this.layerList=[],t=0;t<r.length;t++)n.push(p(this,t,r[t]))}else for(t=0;t<r.length;t++)n[t].update(r[t])},m.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},m.toImage=function(){return this.map.getCanvas().toDataURL()},m.initSource=function(t){var e={type:\\\"geojson\\\",data:{type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:[]}}};return this.map.addSource(t,e)},m.setSourceData=function(t,e){this.map.getSource(t).setData(e)},m.setOptions=function(t,e,r){for(var n=this.map,i=Object.keys(r),a=0;a<i.length;a++){var o=i[a];n[e](t,o,r[o])}},m.project=function(t){return this.map.project(new s.LngLat(t[0],t[1]))},m.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\\\"../../components/dragelement\\\":624,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"../cartesian/select\\\":782,\\\"./constants\\\":821,\\\"./layers\\\":824,\\\"./layout_attributes\\\":825,\\\"mapbox-gl\\\":342}],828:[function(t,e,r){\\\"use strict\\\";e.exports={t:{valType:\\\"number\\\",dflt:0},r:{valType:\\\"number\\\",dflt:0},b:{valType:\\\"number\\\",dflt:0},l:{valType:\\\"number\\\",dflt:0}}},{}],829:[function(t,e,r){\\\"use strict\\\";function n(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(){v.sendDataToCloud(t)});else{var n=window.location.pathname.split(\\\"/\\\"),i=window.location.search;r.attr({\\\"xlink:xlink:show\\\":\\\"new\\\",\\\"xlink:xlink:href\\\":\\\"/\\\"+n[2].split(\\\".\\\")[0]+\\\"/\\\"+n[1]+i})}}function i(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r<a.length;r++)n=a[r],o[n]=d.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r<a.length;r++)n=a[r],d.nestedProperty(t.trace,n).set(o[n])}function a(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=_[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function o(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}function s(t){for(var e=0;e<t.length;e++){t[e]._categories=t[e]._initialCategories.slice(),t[e]._categoriesMap={};for(var r=0;r<t[e]._categories.length;r++)t[e]._categoriesMap[t[e]._categories[r]]=r}}var l=t(\\\"d3\\\"),u=t(\\\"fast-isnumeric\\\"),c=t(\\\"../plotly\\\"),h=t(\\\"../plot_api/plot_schema\\\"),f=t(\\\"../registry\\\"),d=t(\\\"../lib\\\"),p=t(\\\"../components/color\\\"),m=t(\\\"../constants/numerical\\\").BADNUM,v=e.exports={},g=t(\\\"./animation_attributes\\\"),y=t(\\\"./frame_attributes\\\"),b=d.relinkPrivateKeys;d.extendFlat(v,f),v.attributes=t(\\\"./attributes\\\"),v.attributes.type.values=v.allTypes,v.fontAttrs=t(\\\"./font_attributes\\\"),v.layoutAttributes=t(\\\"./layout_attributes\\\"),v.fontWeight=\\\"normal\\\";var x=v.subplotsRegistry,_=v.transformsRegistry,w=t(\\\"../components/errorbars\\\"),M=t(\\\"./command\\\");v.executeAPICommand=M.executeAPICommand,v.computeAPICommandBindings=M.computeAPICommandBindings,v.manageCommandObserver=M.manageCommandObserver,v.hasSimpleAPICommandBindings=M.hasSimpleAPICommandBindings,v.findSubplotIds=function(t,e){var r=[];if(!v.subplotsRegistry[e])return r;for(var n=v.subplotsRegistry[e].attr,i=0;i<t.length;i++){var a=t[i];v.traceIs(a,e)&&-1===r.indexOf(a[n])&&r.push(a[n])}return r},v.getSubplotIds=function(t,e){var r=v.subplotsRegistry[e];if(!r)return[];if(!(\\\"cartesian\\\"!==e||t._has&&t._has(\\\"cartesian\\\")))return[];if(!(\\\"gl2d\\\"!==e||t._has&&t._has(\\\"gl2d\\\")))return[];if(\\\"cartesian\\\"===e||\\\"gl2d\\\"===e)return Object.keys(t._plots||{});for(var n=r.idRegex,i=Object.keys(t),a=[],o=0;o<i.length;o++){var s=i[o];n.test(s)&&a.push(s)}var l=r.idRoot.length;return a.sort(function(t,e){return+(t.substr(l)||1)-+(e.substr(l)||1)}),a},v.getSubplotData=function(t,e,r){if(!v.subplotsRegistry[e])return[];for(var n,i=v.subplotsRegistry[e].attr,a=[],o=0;o<t.length;o++)if(n=t[o],\\\"gl2d\\\"===e&&v.traceIs(n,\\\"gl2d\\\")){var s=c.Axes.subplotMatch,l=\\\"x\\\"+r.match(s)[1],u=\\\"y\\\"+r.match(s)[2];n[i[0]]===l&&n[i[1]]===u&&a.push(n)}else n[i]===r&&a.push(n);return a},v.getSubplotCalcData=function(t,e,r){if(!v.subplotsRegistry[e])return[];for(var n=v.subplotsRegistry[e].attr,i=[],a=0;a<t.length;a++){var o=t[a];o[0].trace[n]===r&&i.push(o)}return i},v.redrawText=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){f.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),f.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(v.previousPromises(t))},300)})},v.resize=function(t){return new Promise(function(e,r){t&&\\\"none\\\"!==l.select(t).style(\\\"display\\\")||r(new Error(\\\"Resize must be passed a plot div element.\\\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)return void e(t);delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,c.relayout(t,{autosize:!0}).then(function(){t.changed=r,e(t)})},100)})},v.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},v.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=e._paper.selectAll(\\\"text.js-plot-link-container\\\").data([0]);r.enter().append(\\\"text\\\").classed(\\\"js-plot-link-container\\\",!0).style({\\\"font-family\\\":'\\\"Open Sans\\\", Arial, sans-serif',\\\"font-size\\\":\\\"12px\\\",fill:p.defaultLine,\\\"pointer-events\\\":\\\"all\\\"}).each(function(){var t=l.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)});var i=r.node(),a={y:e._paper.attr(\\\"height\\\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\\\"text-anchor\\\"]=\\\"start\\\",a.x=5):(a[\\\"text-anchor\\\"]=\\\"end\\\",a.x=e._paper.attr(\\\"width\\\")-7),r.attr(a);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&&n(t,o),s.text(o.text()&&u.text()?\\\" - \\\":\\\"\\\")}},v.sendDataToCloud=function(t){t.emit(\\\"plotly_beforeexport\\\");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\\\"https://plot.ly\\\",r=l.select(t).append(\\\"div\\\").attr(\\\"id\\\",\\\"hiddenform\\\").style(\\\"display\\\",\\\"none\\\"),n=r.append(\\\"form\\\").attr({action:e+\\\"/external\\\",method:\\\"post\\\",target:\\\"_blank\\\"});return n.append(\\\"input\\\").attr({type:\\\"text\\\",name:\\\"data\\\"}).node().value=v.graphJson(t,!1,\\\"keepdata\\\"),n.node().submit(),r.remove(),t.emit(\\\"plotly_afterexport\\\"),!1},v.supplyDefaults=function(t){var e,r=t._fullLayout||{},n=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],l=t.data||[];if(t._transitionData||v.createTransitionData(t),r._initialAutoSizeIsDone){var u=r.width,h=r.height;v.supplyLayoutGlobalDefaults(a,n),a.width||(n.width=u),a.height||(n.height=h)}else{v.supplyLayoutGlobalDefaults(a,n);var f=!a.width||!a.height,d=n.autosize,p=t._context&&t._context.autosizable;f&&(d||p)?v.plotAutoSize(t,a,n):f&&v.sanitizeMargins(t),!d&&f&&(a.width=n.width,a.height=n.height)}n._initialAutoSizeIsDone=!0,n._dataLength=l.length,n._globalTransforms=(t._context||{}).globalTransforms,v.supplyDataDefaults(l,s,a,n),n._has=v._hasPlotType.bind(n);var m=n._modules;for(e=0;e<m.length;e++){var g=m[e];g.cleanData&&g.cleanData(s)}if(o.length===l.length)for(e=0;e<s.length;e++)b(s[e],o[e]);v.supplyLayoutModuleDefaults(a,n,s,t._transitionData),n._hasCartesian=n._has(\\\"cartesian\\\"),n._hasGeo=n._has(\\\"geo\\\"),n._hasGL3D=n._has(\\\"gl3d\\\"),n._hasGL2D=n._has(\\\"gl2d\\\"),n._hasTernary=n._has(\\\"ternary\\\"),n._hasPie=n._has(\\\"pie\\\"),v.cleanPlot(s,n,o,r),v.linkSubplots(s,n,o,r),b(n,r),v.doAutoMargin(t);var y=c.Axes.list(t);for(e=0;e<y.length;e++){y[e].setScale()}if((t.calcdata||[]).length===s.length)for(e=0;e<s.length;e++){var x=s[e],_=t.calcdata[e][0];_&&_.trace&&(_.trace._hasCalcTransform?i(_,x):_.trace=x)}},v.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=[])},v._hasPlotType=function(t){for(var e=this._basePlotModules||[],r=0;r<e.length;r++){if(e[r].name===t)return!0}return!1},v.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=!!n._paper,u=!!n._infolayer;t:for(i=0;i<r.length;i++){var c=r[i],h=c.uid;for(a=0;a<t.length;a++){var f=t[a];if(h===f.uid)continue t}var d=\\\".hm\\\"+h+\\\",.contour\\\"+h+\\\",.carpet\\\"+h+\\\",#clip\\\"+h+\\\",.trace\\\"+h;l&&n._paper.selectAll(d).remove(),u&&(n._infolayer.selectAll(\\\".cb\\\"+h).remove(),n._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(d).remove())}n._zoomlayer&&n._zoomlayer.selectAll(\\\".select-outline\\\").remove()},v.linkSubplots=function(t,e,r,n){var i,a=n._plots||{},o=e._plots={},s={_fullData:t,_fullLayout:e},l=c.Axes.getSubplots(s);for(i=0;i<l.length;i++){var u,h=l[i],f=a[h],d=c.Axes.getFromId(s,h,\\\"x\\\"),p=c.Axes.getFromId(s,h,\\\"y\\\");f?(u=o[h]=f,u._scene2d&&u._scene2d.updateRefs(e),u.xaxis.layer!==d.layer&&(u.xlines.attr(\\\"d\\\",null),u.xaxislayer.selectAll(\\\"*\\\").remove()),u.yaxis.layer!==p.layer&&(u.ylines.attr(\\\"d\\\",null),u.yaxislayer.selectAll(\\\"*\\\").remove())):(u=o[h]={},u.id=h),u.xaxis=d,u.yaxis=p,u._hasClipOnAxisFalse=!1;for(var m=0;m<t.length;m++){var v=t[m];if(v.xaxis===u.xaxis._id&&v.yaxis===u.yaxis._id&&!1===v.cliponaxis){u._hasClipOnAxisFalse=!0;break}}}var g=c.Axes.list(s,null,!0);for(i=0;i<g.length;i++){var y=g[i],b=null;y.overlaying&&(b=c.Axes.getFromId(s,y.overlaying))&&b.overlaying&&(y.overlaying=!1,b=null),y._mainAxis=b||y,b&&(y.domain=b.domain.slice()),y._anchorAxis=\\\"free\\\"===y.anchor?null:c.Axes.getFromId(s,y.anchor)}},v.clearExpandedTraceDefaultColors=function(t){function e(t,e,i,a){n[a]=e,n.length=a+1,\\\"color\\\"===t.valType&&void 0===t.dflt&&r.push(n.join(\\\".\\\"))}var r,n,i;for(n=[],r=t._module._colorAttrs,r||(t._module._colorAttrs=r=[],h.crawl(t._module.attributes,e)),i=0;i<r.length;i++){d.nestedProperty(t,\\\"_input.\\\"+r[i]).get()||d.nestedProperty(t,r[i]).set(null)}},v.supplyDataDefaults=function(t,e,r,n){function i(t){e.push(t);var r=t._module;r&&(d.pushUnique(u,r),d.pushUnique(c,t._module.basePlotModule),h++)}var o,s,l,u=n._modules=[],c=n._basePlotModules=[],h=0;n._transformModules=[];var p={},m=[];for(o=0;o<t.length;o++){if(l=t[o],s=v.supplyTraceDefaults(l,h,n,o),s.index=o,s._input=l,s._expandedIndex=h,s.transforms&&s.transforms.length)for(var g=a(s,e,r,n),y=0;y<g.length;y++){var x=g[y],_=v.supplyTraceDefaults(x,h,n,o);b(_,x),x.uid=_.uid=s.uid+y,_.index=o,_._input=l,_._fullInput=s,_._expandedIndex=h,_._expandedInput=x,i(_)}else s._fullInput=s,s._expandedInput=s,i(s);f.traceIs(s,\\\"carpetAxis\\\")&&(p[s.carpet]=s),f.traceIs(s,\\\"carpetDependent\\\")&&m.push(o)}for(o=0;o<m.length;o++)if(s=e[m[o]],s.visible){var w=p[s.carpet];s._carpet=w,w&&w.visible?(s.xaxis=w.xaxis,s.yaxis=w.yaxis):s.visible=!1}},v.supplyAnimationDefaults=function(t){function e(e,r){return d.coerce(t||{},n,g,e,r)}t=t||{};var r,n={};if(e(\\\"mode\\\"),e(\\\"direction\\\"),e(\\\"fromcurrent\\\"),Array.isArray(t.frame))for(n.frame=[],r=0;r<t.frame.length;r++)n.frame[r]=v.supplyAnimationFrameDefaults(t.frame[r]||{});else n.frame=v.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(n.transition=[],r=0;r<t.transition.length;r++)n.transition[r]=v.supplyAnimationTransitionDefaults(t.transition[r]||{});else n.transition=v.supplyAnimationTransitionDefaults(t.transition||{});return n},v.supplyAnimationFrameDefaults=function(t){function e(e,n){return d.coerce(t||{},r,g.frame,e,n)}var r={};return e(\\\"duration\\\"),e(\\\"redraw\\\"),r},v.supplyAnimationTransitionDefaults=function(t){function e(e,n){return d.coerce(t||{},r,g.transition,e,n)}var r={};return e(\\\"duration\\\"),e(\\\"easing\\\"),r},v.supplyFrameDefaults=function(t){function e(e,n){return d.coerce(t,r,y,e,n)}var r={};return e(\\\"group\\\"),e(\\\"name\\\"),e(\\\"traces\\\"),e(\\\"baseframe\\\"),e(\\\"data\\\"),e(\\\"layout\\\"),r},v.supplyTraceDefaults=function(t,e,r,n){function i(e,r){return d.coerce(t,o,v.attributes,e,r)}function a(e,r){if(v.traceIs(o,e))return d.coerce(t,o,v.subplotsRegistry[e].attributes,r)}var o={},s=p.defaults[e%p.defaults.length],l=i(\\\"visible\\\");i(\\\"type\\\"),i(\\\"uid\\\"),i(\\\"name\\\",\\\"trace \\\"+n);for(var u=Object.keys(x),c=0;c<u.length;c++){var h=u[c];if(-1===[\\\"cartesian\\\",\\\"gl2d\\\"].indexOf(h)){var m=x[h].attr;m&&a(h,m)}}if(l){i(\\\"customdata\\\"),i(\\\"ids\\\");var g=v.getModule(o);o._module=g,v.traceIs(o,\\\"showLegend\\\")&&(i(\\\"showlegend\\\"),i(\\\"legendgroup\\\")),f.getComponentMethod(\\\"fx\\\",\\\"supplyDefaults\\\")(t,o,s,r),g&&(g.supplyDefaults(t,o,s,r),d.coerceHoverinfo(t,o,r)),v.traceIs(o,\\\"noOpacity\\\")||i(\\\"opacity\\\"),a(\\\"cartesian\\\",\\\"xaxis\\\"),a(\\\"cartesian\\\",\\\"yaxis\\\"),a(\\\"gl2d\\\",\\\"xaxis\\\"),a(\\\"gl2d\\\",\\\"yaxis\\\"),v.traceIs(o,\\\"notLegendIsolatable\\\")&&(o.visible=!!o.visible),v.supplyTransformDefaults(t,o,r)}return o},v.supplyTransformDefaults=function(t,e,r){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,c=o[l],h=c.type,f=_[h];f||d.warn(\\\"Unrecognized transform type \\\"+h+\\\".\\\"),f&&f.supplyDefaults?(u=f.supplyDefaults(c,e,r,t),u.type=h,u._module=f,d.pushUnique(i,f)):u=d.extendFlat({},c),s.push(u)}},v.supplyLayoutGlobalDefaults=function(t,e){function r(r,n){return d.coerce(t,e,v.layoutAttributes,r,n)}var n=d.coerceFont(r,\\\"font\\\");r(\\\"title\\\"),d.coerceFont(r,\\\"titlefont\\\",{family:n.family,size:Math.round(1.4*n.size),color:n.color}),r(\\\"autosize\\\",!(t.width&&t.height)),r(\\\"width\\\"),r(\\\"height\\\"),r(\\\"margin.l\\\"),r(\\\"margin.r\\\"),r(\\\"margin.t\\\"),r(\\\"margin.b\\\"),r(\\\"margin.pad\\\"),r(\\\"margin.autoexpand\\\"),t.width&&t.height&&v.sanitizeMargins(e),r(\\\"paper_bgcolor\\\"),r(\\\"separators\\\"),r(\\\"hidesources\\\"),r(\\\"smith\\\"),f.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\"),f.getComponentMethod(\\\"fx\\\",\\\"supplyLayoutGlobalDefaults\\\")(t,e,r)},v.plotAutoSize=function(t,e,r){var n,i,a=t._context||{},s=a.frameMargins,l=d.isPlotDiv(t);if(l&&t.emit(\\\"plotly_autosize\\\"),a.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=\\\"hidden\\\";else if(u(s)&&s>0){var c=o(t._boundingBoxMargins),h=c.left+c.right,f=c.bottom+c.top,p=1-2*s,m=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(m.width-h)),i=Math.round(p*(m.height-f))}else{var g=l?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,i=parseFloat(g.height)||r.height}var y=v.layoutAttributes.width.min,b=v.layoutAttributes.height.min;n<y&&(n=y),i<b&&(i=b);var x=!e.width&&Math.abs(r.width-n)>1,_=!e.height&&Math.abs(r.height-i)>1;(_||x)&&(x&&(r.width=n),_&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),v.sanitizeMargins(r)},v.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a;c.Axes.supplyLayoutDefaults(t,e,r);var o=e._basePlotModules;for(i=0;i<o.length;i++)a=o[i],\\\"cartesian\\\"!==a.name&&a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var s=e._modules;for(i=0;i<s.length;i++)a=s[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r);var l=e._transformModules;for(i=0;i<l.length;i++)a=l[i],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r,n);var u=Object.keys(f.componentsRegistry);for(i=0;i<u.length;i++)a=f.componentsRegistry[u[i]],a.supplyLayoutDefaults&&a.supplyLayoutDefaults(t,e,r)},v.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&e._glcontainer.remove(),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),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.firstscatter,delete t.hmlumcount,delete t.hmpixcount,delete t.numboxes,delete t._hoverTimer,delete t._lastHoverTime,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,t.removeAllListeners&&t.removeAllListeners()},v.style=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++){var n=e[r];n.style&&n.style(t)}},v.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},v.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||v.doAutoMargin(t)}},v.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),i=Math.max(e.margin.l||0,0),a=Math.max(e.margin.r||0,0),o=Math.max(e.margin.t||0,0),s=Math.max(e.margin.b||0,0),l=e._pushmargin;if(!1!==e.margin.autoexpand){l.base={l:{val:0,size:i},r:{val:1,size:a},t:{val:1,size:o},b:{val:0,size:s}}\\n\",\n       \";for(var h=Object.keys(l),f=0;f<h.length;f++)for(var d=h[f],p=l[d].l||{},m=l[d].b||{},v=p.val,g=p.size,y=m.val,b=m.size,x=0;x<h.length;x++){var _=h[x];if(u(g)&&l[_].r){var w=l[_].r.val,M=l[_].r.size;if(w>v){var k=(g*w+(M-e.width)*v)/(w-v),A=(M*(1-v)+(g-e.width)*(1-w))/(w-v);k>=0&&A>=0&&k+A>i+a&&(i=k,a=A)}}if(u(b)&&l[_].t){var T=l[_].t.val,S=l[_].t.size;if(T>y){var E=(b*T+(S-e.height)*y)/(T-y),L=(S*(1-y)+(b-e.height)*(1-T))/(T-y);E>=0&&L>=0&&E+L>s+o&&(s=E,o=L)}}}}if(r.l=Math.round(i),r.r=Math.round(a),r.t=Math.round(o),r.b=Math.round(s),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&\\\"{}\\\"!==n&&n!==JSON.stringify(e._size))return c.plot(t)},v.graphJson=function(t,e,r,n,i){function a(t){if(\\\"function\\\"==typeof t)return null;if(d.isPlainObject(t)){var e,n,i={};for(e in t)if(\\\"function\\\"!=typeof t[e]&&-1===[\\\"_\\\",\\\"[\\\"].indexOf(e.charAt(0))){if(\\\"keepdata\\\"===r){if(\\\"src\\\"===e.substr(e.length-3))continue}else if(\\\"keepstream\\\"===r){if(\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0&&!d.isPlainObject(t.stream))continue}else if(\\\"keepall\\\"!==r&&\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0)continue;i[e]=a(t[e])}return i}return Array.isArray(t)?t.map(a):d.isJSDate(t)?d.ms2DateTimeLocal(+t):t}(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&v.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames,u={data:(o||[]).map(function(t){var r=a(t);return e&&delete r.fit,r})};return e||(u.layout=a(s)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=a(l)),\\\"object\\\"===n?u:JSON.stringify(u)},v.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch(n=e[r],n.type){case\\\"replace\\\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\\\"insert\\\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\\\"delete\\\":i=a[n.index],delete o[i.name],a.splice(n.index,1)}return Promise.resolve()},v.computeFrame=function(t,e){var r,n,i,a,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],u=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=v.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)void 0!==(i=n[r])&&null!==i&&(a=c.traces.indexOf(i),-1===a&&(a=c.data.length,c.traces[a]=i),c.data[a]=v.extendTrace(c.data[a],s.data[r]))}return c},v.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},v.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c,h=d.extendDeepNoArrays({},e||{}),f=d.expandObjectPaths(h),p={};if(r&&r.length)for(a=0;a<r.length;a++)n=d.nestedProperty(f,r[a]),i=n.get(),void 0===i?d.nestedProperty(p,r[a]).set(null):(n.set(null),d.nestedProperty(p,r[a]).set(i));if(t=d.extendDeepNoArrays(t||{},f),r&&r.length)for(a=0;a<r.length;a++)if(s=d.nestedProperty(p,r[a]),u=s.get()){for(l=d.nestedProperty(t,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var m=u[o];c[o]=null===m?null:v.extendObjectWithContainers(c[o],m)}l.set(c)}return t},v.dataArrayContainers=[\\\"transforms\\\"],v.layoutArrayContainers=f.layoutArrayContainers,v.extendTrace=function(t,e){return v.extendObjectWithContainers(t,e,v.dataArrayContainers)},v.extendLayout=function(t,e){return v.extendObjectWithContainers(t,e,v.layoutArrayContainers)},v.transition=function(t,e,r,n,i,a){function o(){var n;for(n=0;n<y.length;n++){var i=y[n],a=t._fullData[i],o=a._module;o&&(o.animatable&&b.push(i),t.data[y[n]]=v.extendTrace(t.data[y[n]],e[n]))}var s=d.expandObjectPaths(d.extendDeepNoArrays({},r)),l=/^[xy]axis[0-9]*$/;for(var u in s)l.test(u)&&delete s[u].range;return v.extendLayout(t.layout,s),delete t.calcdata,v.supplyDefaults(t),v.doCalcdata(t),w.calc(t),Promise.resolve()}function s(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}function l(t){if(t)for(;t.length;)t.shift()}function u(){return t.emit(\\\"plotly_transitioning\\\",[]),new Promise(function(e){function n(){return l++,function(){u++,x||u!==l||h(e)}}t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){x=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return c.redraw(t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\\\"plotly_transitioninterrupted\\\",[])});var o,s,l=0,u=0,f=t._fullLayout._basePlotModules,p=!1;if(r)for(s=0;s<f.length;s++)if(f[s].transitionAxes){var m=d.expandObjectPaths(r);p=f[s].transitionAxes(t,m,a,n)||p}for(p?(o=d.extendFlat({},a),o.duration=0):o=a,s=0;s<f.length;s++)f[s].plot(t,b,o,n);setTimeout(n())})}function h(e){if(t._transitionData)return l(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return c.redraw(t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\\\"plotly_transitioned\\\",[])}).then(e)}function f(){if(t._transitionData)return t._transitioning=!1,s(t._transitionData._interruptCallbacks)}var p,m,g=Array.isArray(e)?e.length:0,y=n.slice(0,g),b=[],x=!1;for(p=0;p<y.length;p++){m=y[p];var _=t._fullData[m],M=_._module;if(M&&!M.animatable){var k={};for(var A in e[p])k[A]=[e[p][A]]}}var T=[v.previousPromises,f,o,v.rehover,u],S=d.syncOrAsync(T,t);return S&&S.then||(S=Promise.resolve()),S.then(function(){return t})},v.doCalcdata=function(t,e){var r,n,i,a,o=c.Axes.list(t),l=t._fullData,u=t._fullLayout,d=new Array(l.length),p=(t.calcdata||[]).slice(0);for(t.calcdata=d,t.firstscatter=!0,t.numboxes=0,t._hmpixcount=0,t._hmlumcount=0,u._piecolormap={},u._piedefaultcolorcount=0,i=0;i<l.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=p[i]);for(i=0;i<l.length;i++)r=l[i],r._arrayAttrs=h.findArrayAttributes(r);s(o);var v=!1;for(i=0;i<l.length;i++)if(r=l[i],!0===r.visible&&r.transforms)for(n=r._module,n&&n.calc&&n.calc(t,r),a=0;a<r.transforms.length;a++){var g=r.transforms[a];n=_[g.type],n&&n.calcTransform&&(r._hasCalcTransform=!0,v=!0,n.calcTransform(t,r,g))}if(v){for(i=0;i<o.length;i++)o[i]._min=[],o[i]._max=[],o[i]._categories=[],o[i]._categoriesMap={};s(o)}for(i=0;i<l.length;i++){var y=[];r=l[i],!0===r.visible&&(n=r._module)&&n.calc&&(y=n.calc(t,r)),Array.isArray(y)&&y[0]||(y=[{x:m,y:m}]),y[0].t||(y[0].t={}),y[0].trace=r,d[i]=y}f.getComponentMethod(\\\"fx\\\",\\\"calc\\\")(t)},v.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},v.generalUpdatePerTraceModule=function(t,e,r){var n,i=t.traceHash,a={};for(n=0;n<e.length;n++){var o=e[n],s=o[0].trace;s.visible&&(a[s.type]=a[s.type]||[],a[s.type].push(o))}var l=Object.keys(i),u=Object.keys(a);for(n=0;n<l.length;n++){var c=l[n];if(-1===u.indexOf(c)){var h=i[c][0];h[0].trace.visible=!1,a[c]=[h]}}for(u=Object.keys(a),n=0;n<u.length;n++){var f=a[u[n]];f[0][0].trace._module.plot(t,function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];!0===n[0].trace.visible&&e.push(n)}return e}(f),r)}t.traceHash=a}},{\\\"../components/color\\\":603,\\\"../components/errorbars\\\":633,\\\"../constants/numerical\\\":705,\\\"../lib\\\":725,\\\"../plot_api/plot_schema\\\":755,\\\"../plotly\\\":761,\\\"../registry\\\":844,\\\"./animation_attributes\\\":762,\\\"./attributes\\\":764,\\\"./command\\\":789,\\\"./font_attributes\\\":790,\\\"./frame_attributes\\\":791,\\\"./layout_attributes\\\":820,d3:121,\\\"fast-isnumeric\\\":130}],830:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../traces/scatter/attributes\\\"),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity}}},{\\\"../../traces/scatter/attributes\\\":1027}],831:[function(t,e,r){\\\"use strict\\\";function n(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\\\"},visible:{valType:\\\"boolean\\\"}})}var i=t(\\\"../cartesian/layout_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=a({},i.domain,{});e.exports={radialaxis:n(\\\"radial\\\",{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},domain:o,orientation:{valType:\\\"number\\\"}}),angularaxis:n(\\\"angular\\\",{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",dflt:0},{valType:\\\"number\\\",dflt:360}]},domain:o}),layout:{direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"]},orientation:{valType:\\\"angle\\\"}}}},{\\\"../../lib/extend\\\":716,\\\"../cartesian/layout_attributes\\\":777}],832:[function(t,e,r){\\\"use strict\\\";(e.exports=t(\\\"./micropolar\\\")).manager=t(\\\"./micropolar_manager\\\")},{\\\"./micropolar\\\":833,\\\"./micropolar_manager\\\":834}],833:[function(t,e,r){var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=i.extendDeepAll,o=t(\\\"../../constants/alignment\\\").MID_SHIFT,s=e.exports={version:\\\"0.2.2\\\"};s.Axis=function(){function t(t){r=t||r;var c=u.data,f=u.layout;return(\\\"string\\\"==typeof r||r.nodeName)&&(r=n.select(r)),r.datum(c).each(function(t,r){function u(t,e){return l(t)%360+f.orientation}var c=t.slice();h={data:s.util.cloneJson(c),layout:s.util.cloneJson(f)};var d=0;c.forEach(function(t,e){t.color||(t.color=f.defaultColorRange[d],d=(d+1)%f.defaultColorRange.length),t.strokeColor||(t.strokeColor=\\\"LinePlot\\\"===t.geometry?t.color:n.rgb(t.color).darker().toString()),h.data[e].color=t.color,h.data[e].strokeColor=t.strokeColor,h.data[e].strokeDash=t.strokeDash,h.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),m=!1,v=p.map(function(t,e){return m=m||void 0!==t.groupId,t});if(m){var g=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\\\"unstacked\\\"}).entries(v),y=[],b=g.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],y.push(r),r=s.util.sumArrays(t.r,r)}),t.values});p=n.merge(b)}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 _,w=[f.margin.left+x,f.margin.top+x];if(m){_=[0,n.max(s.util.sumArrays(s.util.arrayLast(p).r[0],s.util.arrayLast(y)))]}else _=n.extent(s.util.flattenArray(p.map(function(t,e){return t.r})));f.radialAxis.domain!=s.DATAEXTENT&&(_[0]=0),i=n.scale.linear().domain(f.radialAxis.domain!=s.DATAEXTENT&&f.radialAxis.domain?f.radialAxis.domain:_).range([0,x]),h.layout.radialAxis.domain=i.domain();var M,k=s.util.flattenArray(p.map(function(t,e){return t.t})),A=\\\"string\\\"==typeof k[0];A&&(k=s.util.deduplicate(k),M=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],m&&(r.yStack=t.yStack),r}));var T=p.filter(function(t,e){return\\\"LinePlot\\\"===t.geometry||\\\"DotPlot\\\"===t.geometry}).length===p.length,S=null===f.needsEndSpacing?A||!T:f.needsEndSpacing,E=f.angularAxis.domain&&f.angularAxis.domain!=s.DATAEXTENT&&!A&&f.angularAxis.domain[0]>=0,L=E?f.angularAxis.domain:n.extent(k),C=Math.abs(k[1]-k[0]);T&&!A&&(C=0);var z=L.slice();S&&A&&(z[1]+=C);var I=f.angularAxis.ticksCount||4;I>8&&(I=I/(I/8)+I%8),f.angularAxis.ticksStep&&(I=(z[1]-z[0])/I);var D=f.angularAxis.ticksStep||(z[1]-z[0])/(I*(f.minorTicks+1));M&&(D=Math.max(Math.round(D),1)),z[2]||(z[2]=D);var P=n.range.apply(this,z);if(P=P.map(function(t,e){return parseFloat(t.toPrecision(12))}),l=n.scale.linear().domain(z.slice(0,2)).range(\\\"clockwise\\\"===f.direction?[0,360]:[360,0]),h.layout.angularAxis.domain=l.domain(),h.layout.angularAxis.endPadding=S?C:0,void 0===(e=n.select(this).select(\\\"svg.chart-root\\\"))||e.empty()){var O=(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\\\"),R=this.appendChild(this.ownerDocument.importNode(O.documentElement,!0));e=n.select(R)}e.select(\\\".guides-group\\\").style({\\\"pointer-events\\\":\\\"none\\\"}),e.select(\\\".angular.axis-group\\\").style({\\\"pointer-events\\\":\\\"none\\\"}),e.select(\\\".radial.axis-group\\\").style({\\\"pointer-events\\\":\\\"none\\\"});var F,j=e.select(\\\".chart-group\\\"),N={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){F=e.select(\\\".legend-group\\\").attr({transform:\\\"translate(\\\"+[x,f.margin.top]+\\\")\\\"}).style({display:\\\"block\\\"});var U=p.map(function(t,e){var r=s.util.cloneJson(t);return r.symbol=\\\"DotPlot\\\"===t.geometry?t.dotType||\\\"circle\\\":\\\"LinePlot\\\"!=t.geometry?\\\"square\\\":\\\"line\\\",r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=\\\"LinePlot\\\"===t.geometry?t.strokeColor:t.color,r});s.Legend().config({data:p.map(function(t,e){return t.name||\\\"Element\\\"+e}),legendConfig:a({},s.Legend.defaultConfig().legendConfig,{container:F,elements:U,reverseOrder:f.legend.reverseOrder})})();var V=F.node().getBBox();x=Math.min(f.width-V.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),w=[f.margin.left+x,f.margin.top+x],i.range([0,x]),h.layout.radialAxis.domain=i.domain(),F.attr(\\\"transform\\\",\\\"translate(\\\"+[w[0]+x,w[1]-x]+\\\")\\\")}else F=e.select(\\\".legend-group\\\").style({display:\\\"none\\\"});e.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),j.attr(\\\"transform\\\",\\\"translate(\\\"+w+\\\")\\\").style({cursor:\\\"crosshair\\\"});var H=[(f.width-(f.margin.left+f.margin.right+2*x+(V?V.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(H[0]=Math.max(0,H[0]),H[1]=Math.max(0,H[1]),e.select(\\\".outer-group\\\").attr(\\\"transform\\\",\\\"translate(\\\"+H+\\\")\\\"),f.title){var q=e.select(\\\"g.title-group text\\\").style(B).text(f.title),G=q.node().getBBox();q.attr({x:w[0]-G.width/2,y:w[1]-x-20})}var Y=e.select(\\\".radial.axis-group\\\");if(f.radialAxis.gridLinesVisible){var X=Y.selectAll(\\\"circle.grid-circle\\\").data(i.ticks(5));X.enter().append(\\\"circle\\\").attr({class:\\\"grid-circle\\\"}).style(N),X.attr(\\\"r\\\",i),X.exit().remove()}Y.select(\\\"circle.outside-circle\\\").attr({r:x}).style(N);var W=e.select(\\\"circle.background-circle\\\").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});if(f.radialAxis.visible){var Z=n.svg.axis().scale(i).ticks(5).tickSize(5);Y.call(Z).attr({transform:\\\"rotate(\\\"+f.radialAxis.orientation+\\\")\\\"}),Y.selectAll(\\\".domain\\\").style(N),Y.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\\\"]]+\\\")\\\"}}),Y.selectAll(\\\"g>line\\\").style({stroke:\\\"black\\\"})}var J=e.select(\\\".angular.axis-group\\\").selectAll(\\\"g.angular-tick\\\").data(P),K=J.enter().append(\\\"g\\\").classed(\\\"angular-tick\\\",!0);J.attr({transform:function(t,e){return\\\"rotate(\\\"+u(t,e)+\\\")\\\"}}).style({display:f.angularAxis.visible?\\\"block\\\":\\\"none\\\"}),J.exit().remove(),K.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(N),K.selectAll(\\\".minor\\\").style({stroke:f.minorTickColor}),J.select(\\\"line.grid-line\\\").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?\\\"block\\\":\\\"none\\\"}),K.append(\\\"text\\\").classed(\\\"axis-text\\\",!0).style(B);var Q=J.select(\\\"text.axis-text\\\").attr({x:x+f.labelOffset,dy:o+\\\"em\\\",transform:function(t,e){var r=u(t,e),n=x+f.labelOffset,i=f.angularAxis.tickOrientation;return\\\"horizontal\\\"==i?\\\"rotate(\\\"+-r+\\\" \\\"+n+\\\" 0)\\\":\\\"radial\\\"==i?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?\\\"\\\":M?M[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix}).style(B);f.angularAxis.rewriteTicks&&Q.text(function(t,e){return e%(f.minorTicks+1)!=0?\\\"\\\":f.angularAxis.rewriteTicks(this.textContent,e)});var $=n.max(j.selectAll(\\\".angular-tick text\\\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));F.attr({transform:\\\"translate(\\\"+[x+$,f.margin.top]+\\\")\\\"});var tt=e.select(\\\"g.geometry-group\\\").selectAll(\\\"g\\\").size()>0,et=e.select(\\\"g.geometry-group\\\").selectAll(\\\"g.geometry\\\").data(p);if(et.enter().append(\\\"g\\\").attr({class:function(t,e){return\\\"geometry geometry\\\"+e}}),et.exit().remove(),p[0]||tt){var rt=[];p.forEach(function(t,e){var r={};r.radialScale=i,r.angularScale=l,r.container=et.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=f.orientation,r.direction=f.direction,r.index=e,rt.push({data:t,geometryConfig:r})});var nt=n.nest().key(function(t,e){return void 0!==t.data.groupId||\\\"unstacked\\\"}).entries(rt),it=[];nt.forEach(function(t,e){\\\"unstacked\\\"===t.key?it=it.concat(t.values.map(function(t,e){return[t]})):it.push(t.values)}),it.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(s[r].defaultConfig(),t)});s[r]().config(n)()})}var at,ot,st=e.select(\\\".guides-group\\\"),lt=e.select(\\\".tooltips-group\\\"),ut=s.tooltipPanel().config({container:lt,fontSize:8})(),ct=s.tooltipPanel().config({container:lt,fontSize:8})(),ht=s.tooltipPanel().config({container:lt,hasTick:!0})();if(!A){var ft=st.select(\\\"line\\\").attr({x1:0,y1:0,y2:0}).style({stroke:\\\"grey\\\",\\\"pointer-events\\\":\\\"none\\\"});j.on(\\\"mousemove.angular-guide\\\",function(t,e){var r=s.util.getMousePos(W).angle;ft.attr({x2:-x,transform:\\\"rotate(\\\"+r+\\\")\\\"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=l.invert(n);var i=s.util.convertToCartesian(x+12,r+180);ut.text(s.util.round(at)).move([i[0]+w[0],i[1]+w[1]])}).on(\\\"mouseout.angular-guide\\\",function(t,e){st.select(\\\"line\\\").style({opacity:0})})}var dt=st.select(\\\"circle\\\").style({stroke:\\\"grey\\\",fill:\\\"none\\\"});j.on(\\\"mousemove.radial-guide\\\",function(t,e){var r=s.util.getMousePos(W).radius;dt.attr({r:r}).style({opacity:.5}),ot=i.invert(s.util.getMousePos(W).radius);var n=s.util.convertToCartesian(r,f.radialAxis.orientation);ct.text(s.util.round(ot)).move([n[0]+w[0],n[1]+w[1]])}).on(\\\"mouseout.radial-guide\\\",function(t,e){dt.style({opacity:0}),ht.hide(),ut.hide(),ct.hide()}),e.selectAll(\\\".geometry-group .mark\\\").on(\\\"mouseover.tooltip\\\",function(t,r){var i=n.select(this),a=i.style(\\\"fill\\\"),o=\\\"black\\\",l=i.style(\\\"opacity\\\")||1;if(i.attr({\\\"data-opacity\\\":l}),\\\"none\\\"!=a){i.attr({\\\"data-fill\\\":a}),o=n.hsl(a).darker().toString(),i.style({fill:o,opacity:1});var u={t:s.util.round(t[0]),r:s.util.round(t[1])};A&&(u.t=M[t[0]]);var c=\\\"t: \\\"+u.t+\\\", r: \\\"+u.r,h=this.getBoundingClientRect(),f=e.node().getBoundingClientRect(),d=[h.left+h.width/2-H[0]-f.left,h.top+h.height/2-H[1]-f.top];ht.config({color:o}).text(c),ht.move(d)}else a=i.style(\\\"stroke\\\"),i.attr({\\\"data-stroke\\\":a}),o=n.hsl(a).darker().toString(),i.style({stroke:o,opacity:1})}).on(\\\"mousemove.tooltip\\\",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\\\"data-fill\\\")&&ht.show()}).on(\\\"mouseout.tooltip\\\",function(t,e){ht.hide();var r=n.select(this),i=r.attr(\\\"data-fill\\\");i?r.style({fill:i,opacity:r.attr(\\\"data-opacity\\\")}):r.style({stroke:r.attr(\\\"data-stroke\\\"),opacity:r.attr(\\\"data-opacity\\\")})})}),d}var e,r,i,l,u={data:[],layout:{}},c={},h={},f=n.dispatch(\\\"hover\\\"),d={};return d.render=function(e){return t(e),this},d.config=function(t){if(!arguments.length)return u;var e=s.util.cloneJson(t);return e.data.forEach(function(t,e){u.data[e]||(u.data[e]={}),a(u.data[e],s.Axis.defaultConfig().data[0]),a(u.data[e],t)}),a(u.layout,s.Axis.defaultConfig().layout),a(u.layout,e.layout),this},d.getLiveConfig=function(){return h},d.getinputConfig=function(){return c},d.radialScale=function(t){return i},d.angularScale=function(t){return l},d.svg=function(){return e},n.rebind(d,f,\\\"on\\\"),d},s.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}}},s.util={},s.DATAEXTENT=\\\"dataExtent\\\",s.AREA=\\\"AreaChart\\\",s.LINE=\\\"LinePlot\\\",s.DOT=\\\"DotPlot\\\",s.BAR=\\\"BarChart\\\",s.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},s.util._extend=function(t,e){for(var r in t)e[r]=t[r]},s.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},s.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)]})},s.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},s.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},s.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=s.util.ensureArray(t[e],r)}),t},s.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},s.util.validateKeys=function(t,e){\\\"string\\\"==typeof e&&(e=e.split(\\\".\\\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},s.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},s.util.arrayLast=function(t){return t[t.length-1]},s.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},s.util.flattenArray=function(t){for(var e=[];!s.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},s.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},s.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},s.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},s.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},s.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)e=t[i],e in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},s.util.duplicates=function(t){return Object.keys(s.util.duplicatesCount(t))},s.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&&(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},s.PolyChart=function(){function t(){var t=e[0].geometryConfig,r=t.container;\\\"string\\\"==typeof r&&(r=n.select(r)),r.datum(e).each(function(e,r){function a(e,r){return{r:t.radialScale(e[1]),t:(t.angularScale(e[0])+t.orientation)*Math.PI/180}}function o(t){return{x:t.r*Math.cos(t.t),y:t.r*Math.sin(t.t)}}var s=!!e[0].data.yStack,l=e.map(function(t,e){return s?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),u=t.angularScale,c=t.radialScale.domain()[0],h={};h.bar=function(r,i,a){var o=e[a].data,s=t.radialScale(r[1])-t.radialScale(0),l=t.radialScale(r[2]||0),c=o.barWidth;n.select(this).attr({class:\\\"mark bar\\\",d:\\\"M\\\"+[[s+l,-c/2],[s+l,c/2],[l,c/2],[l,-c/2]].join(\\\"L\\\")+\\\"Z\\\",transform:function(e,r){return\\\"rotate(\\\"+(t.orientation+u(e[0]))+\\\")\\\"}})},h.dot=function(t,r,i){var s=t[2]?[t[0],t[1]+t[2]]:t,l=n.svg.symbol().size(e[i].data.dotSize).type(e[i].data.dotType)(t,r);n.select(this).attr({class:\\\"mark dot\\\",d:l,transform:function(t,e){var r=o(a(s));return\\\"translate(\\\"+[r.x,r.y]+\\\")\\\"}})};var f=n.svg.line.radial().interpolate(e[0].data.lineInterpolation).radius(function(e){return t.radialScale(e[1])}).angle(function(e){return t.angularScale(e[0])*Math.PI/180});h.line=function(r,i,a){var o=r[2]?l[a].map(function(t,e){return[t[0],t[1]+t[2]]}):l[a];if(n.select(this).each(h.dot).style({opacity:function(t,r){return+e[a].data.dotVisible},fill:v.stroke(r,i,a)}).attr({class:\\\"mark dot\\\"}),!(i>0)){var s=n.select(this.parentNode).selectAll(\\\"path.line\\\").data([0]);s.enter().insert(\\\"path\\\"),s.attr({class:\\\"line\\\",d:f(o),transform:function(e,r){return\\\"rotate(\\\"+(t.orientation+90)+\\\")\\\"},\\\"pointer-events\\\":\\\"none\\\"}).style({fill:function(t,e){return v.fill(r,i,a)},\\\"fill-opacity\\\":0,stroke:function(t,e){return v.stroke(r,i,a)},\\\"stroke-width\\\":function(t,e){return v[\\\"stroke-width\\\"](r,i,a)},\\\"stroke-dasharray\\\":function(t,e){return v[\\\"stroke-dasharray\\\"](r,i,a)},opacity:function(t,e){return v.opacity(r,i,a)},display:function(t,e){return v.display(r,i,a)}})}};var d=t.angularScale.range(),p=Math.abs(d[1]-d[0])/l[0].length*Math.PI/180,m=n.svg.arc().startAngle(function(t){return-p/2}).endAngle(function(t){return p/2}).innerRadius(function(e){return t.radialScale(c+(e[2]||0))}).outerRadius(function(e){return t.radialScale(c+(e[2]||0))+t.radialScale(e[1])});h.arc=function(e,r,i){n.select(this).attr({class:\\\"mark arc\\\",d:m,transform:function(e,r){return\\\"rotate(\\\"+(t.orientation+u(e[0])+90)+\\\")\\\"}})};var v={fill:function(t,r,n){return e[n].data.color},stroke:function(t,r,n){return e[n].data.strokeColor},\\\"stroke-width\\\":function(t,r,n){return e[n].data.strokeSize+\\\"px\\\"},\\\"stroke-dasharray\\\":function(t,r,n){return i[e[n].data.strokeDash]},opacity:function(t,r,n){return e[n].data.opacity},display:function(t,r,n){return void 0===e[n].data.visible||e[n].data.visible?\\\"block\\\":\\\"none\\\"}},g=n.select(this).selectAll(\\\"g.layer\\\").data(l);g.enter().append(\\\"g\\\").attr({class:\\\"layer\\\"});var y=g.selectAll(\\\"path.mark\\\").data(function(t,e){return t});y.enter().append(\\\"path\\\").attr({class:\\\"mark\\\"}),y.style(v).each(h[t.geometryType]),y.exit().remove(),g.exit().remove()})}var e=[s.PolyChart.defaultConfig()],r=n.dispatch(\\\"hover\\\"),i={solid:\\\"none\\\",dash:[5,2],dot:[2,5]};return t.config=function(t){return arguments.length?(t.forEach(function(t,r){e[r]||(e[r]={}),a(e[r],s.PolyChart.defaultConfig()),a(e[r],t)}),this):e},t.getColorScale=function(){},n.rebind(t,r,\\\"on\\\"),t},s.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()}}},s.BarChart=function(){return s.PolyChart()},s.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"bar\\\"}}},s.AreaChart=function(){return s.PolyChart()},s.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"arc\\\"}}},s.DotPlot=function(){return s.PolyChart()},s.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"dot\\\",dotType:\\\"circle\\\"}}},s.LinePlot=function(){return s.PolyChart()},s.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"line\\\"}}},s.Legend=function(){function t(){var r=e.legendConfig,i=e.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=a({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&&(o=o.reverse());var s=r.container;(\\\"string\\\"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),u=r.fontSize,c=null==r.isContinuous?\\\"number\\\"==typeof o[0]:r.isContinuous,h=c?r.height:u*o.length,f=s.classed(\\\"legend-group\\\",!0),d=f.selectAll(\\\"svg\\\").data([0]),p=d.enter().append(\\\"svg\\\").attr({width:300,height:h+u,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 m=n.range(o.length),v=n.scale[c?\\\"linear\\\":\\\"ordinal\\\"]().domain(m).range(l),g=n.scale[c?\\\"linear\\\":\\\"ordinal\\\"]().domain(m)[c?\\\"range\\\":\\\"rangePoints\\\"]([0,h]),y=function(t,e){var r=3*e;return\\\"line\\\"===t?\\\"M\\\"+[[-e/2,-e/12],[e/2,-e/12],[e/2,e/12],[-e/2,e/12]]+\\\"Z\\\":-1!=n.svg.symbolTypes.indexOf(t)?n.svg.symbol().type(t).size(r)():n.svg.symbol().type(\\\"square\\\").size(r)()};if(c){var b=d.select(\\\".legend-marks\\\").append(\\\"defs\\\").append(\\\"linearGradient\\\").attr({id:\\\"grad1\\\",x1:\\\"0%\\\",y1:\\\"0%\\\",x2:\\\"0%\\\",y2:\\\"100%\\\"}).selectAll(\\\"stop\\\").data(l);b.enter().append(\\\"stop\\\"),b.attr({offset:function(t,e){return e/(l.length-1)*100+\\\"%\\\"}}).style({\\\"stop-color\\\":function(t,e){return t}}),d.append(\\\"rect\\\").classed(\\\"legend-mark\\\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\\\"url(#grad1)\\\"})}else{var x=d.select(\\\".legend-marks\\\").selectAll(\\\"path.legend-mark\\\").data(o);x.enter().append(\\\"path\\\").classed(\\\"legend-mark\\\",!0),x.attr({transform:function(t,e){return\\\"translate(\\\"+[u/2,g(e)+u/2]+\\\")\\\"},d:function(t,e){var r=t.symbol;return y(r,u)},fill:function(t,e){return v(e)}}),x.exit().remove()}var _=n.svg.axis().scale(g).orient(\\\"right\\\"),w=d.select(\\\"g.legend-axis\\\").attr({transform:\\\"translate(\\\"+[c?r.colorBandWidth:u,u/2]+\\\")\\\"}).call(_);return w.selectAll(\\\".domain\\\").style({fill:\\\"none\\\",stroke:\\\"none\\\"}),w.selectAll(\\\"line\\\").style({fill:\\\"none\\\",stroke:c?r.textColor:\\\"none\\\"}),w.selectAll(\\\"text\\\").style({fill:r.textColor,\\\"font-size\\\":r.fontSize}).text(function(t,e){return o[e].name}),t}var e=s.Legend.defaultConfig(),r=n.dispatch(\\\"hover\\\");return t.config=function(t){return arguments.length?(a(e,t),this):e},n.rebind(t,r,\\\"on\\\"),t},s.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}}},s.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:\\\"white\\\",padding:5},o=\\\"tooltip-\\\"+s.tooltipPanel.uid++,l=function(){t=i.container.selectAll(\\\"g.\\\"+o).data([0]);var n=t.enter().append(\\\"g\\\").classed(o,!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+10,dy:.3*+i.fontSize}),l};return l.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?\\\"#aaa\\\":\\\"white\\\",u=o>=.5?\\\"black\\\":\\\"white\\\",c=a||\\\"\\\";e.style({fill:u,\\\"font-size\\\":i.fontSize+\\\"px\\\"}).text(c);var h=i.padding,f=e.node().getBBox(),d={fill:i.color,stroke:s,\\\"stroke-width\\\":\\\"2px\\\"},p=f.width+2*h+10,m=f.height+2*h;return r.attr({d:\\\"M\\\"+[[10,-m/2],[10,-m/4],[i.hasTick?0:10,0],[10,m/4],[10,m/2],[p,m/2],[p,-m/2]].join(\\\"L\\\")+\\\"Z\\\"}).style(d),t.attr({transform:\\\"translate(\\\"+[10,-m/2+2*h]+\\\")\\\"}),t.style({display:\\\"block\\\"}),l},l.move=function(e){if(t)return t.attr({transform:\\\"translate(\\\"+[e[0],e[1]]+\\\")\\\"}).style({display:\\\"block\\\"}),l},l.hide=function(){if(t)return t.style({display:\\\"none\\\"}),l},l.show=function(){if(t)return t.style({display:\\\"block\\\"}),l},l.config=function(t){return a(i,t),l},l},s.tooltipPanel.uid=1,s.adapter={},s.adapter.plotly=function(){var t={};return t.convert=function(t,e){\\n\",\n       \"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){s.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=s.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 o=a({},t.layout);if([[o,[\\\"plot_bgcolor\\\"],[\\\"backgroundColor\\\"]],[o,[\\\"showlegend\\\"],[\\\"showLegend\\\"]],[o,[\\\"radialaxis\\\"],[\\\"radialAxis\\\"]],[o,[\\\"angularaxis\\\"],[\\\"angularAxis\\\"]],[o.angularaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.angularaxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[o.angularaxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[o.angularaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.angularaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.angularaxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.angularaxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[o.radialaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.radialaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.radialaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.radialaxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.angularAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.angularAxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[o.angularAxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[o.angularAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.angularAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.angularAxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.angularAxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[o.radialAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[o.radialAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[o.radialAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[o.radialAxis,[\\\"range\\\"],[\\\"domain\\\"]],[o.font,[\\\"outlinecolor\\\"],[\\\"outlineColor\\\"]],[o.legend,[\\\"traceorder\\\"],[\\\"reverseOrder\\\"]],[o,[\\\"labeloffset\\\"],[\\\"labelOffset\\\"]],[o,[\\\"defaultcolorrange\\\"],[\\\"defaultColorRange\\\"]]].forEach(function(t,r){s.util.translator.apply(null,t.concat(e))}),e?(void 0!==o.tickLength&&(o.angularaxis.ticklen=o.tickLength,delete o.tickLength),o.tickColor&&(o.angularaxis.tickcolor=o.tickColor,delete o.tickColor)):(o.angularAxis&&void 0!==o.angularAxis.ticklen&&(o.tickLength=o.angularAxis.ticklen),o.angularAxis&&void 0!==o.angularAxis.tickcolor&&(o.tickColor=o.angularAxis.tickcolor)),o.legend&&\\\"boolean\\\"!=typeof o.legend.reverseOrder&&(o.legend.reverseOrder=\\\"normal\\\"!=o.legend.reverseOrder),o.legend&&\\\"boolean\\\"==typeof o.legend.traceorder&&(o.legend.traceorder=o.legend.traceorder?\\\"reversed\\\":\\\"normal\\\",delete o.legend.reverseOrder),o.margin&&void 0!==o.margin.t){var l=[\\\"t\\\",\\\"r\\\",\\\"b\\\",\\\"l\\\",\\\"pad\\\"],u=[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\",\\\"pad\\\"],c={};n.entries(o.margin).forEach(function(t,e){c[u[l.indexOf(t.key)]]=t.value}),o.margin=c}e&&(delete o.needsEndSpacing,delete o.minorTickColor,delete o.minorTicks,delete o.angularaxis.ticksCount,delete o.angularaxis.ticksCount,delete o.angularaxis.ticksStep,delete o.angularaxis.rewriteTicks,delete o.angularaxis.nticks,delete o.radialaxis.ticksCount,delete o.radialaxis.ticksCount,delete o.radialaxis.ticksStep,delete o.radialaxis.rewriteTicks,delete o.radialaxis.nticks),r.layout=o}return r},t}},{\\\"../../constants/alignment\\\":699,\\\"../../lib\\\":725,d3:121}],834:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./micropolar\\\"),s=t(\\\"./undo_manager\\\"),l=i.extendDeepAll,u=e.exports={};u.framework=function(t){function e(e,i){return i&&(h=i),n.select(n.select(h).node().parentNode).selectAll(\\\".svg-container>*:not(.chart-root)\\\").remove(),r=r?l(r,e):e,a||(a=o.Axis()),c=o.adapter.plotly().convert(r),a.config(c).render(h),t.data=r.data,t.layout=r.layout,u.fillLayout(t),r}var r,i,a,c,h,f=new s;return e.isPolar=!0,e.svg=function(){return a.svg()},e.getConfig=function(){return r},e.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},e.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},e.setUndoPoint=function(){var t=this,e=o.util.cloneJson(r);!function(e,r){f.add({undo:function(){r&&t(r)},redo:function(){t(e)}})}(e,i),i=o.util.cloneJson(e)},e.undo=function(){f.undo()},e.redo=function(){f.redo()},e},u.fillLayout=function(t){var e=n.select(t).selectAll(\\\".plot-container\\\"),r=e.selectAll(\\\".svg-container\\\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"./micropolar\\\":833,\\\"./undo_manager\\\":835,d3:121}],835:[function(t,e,r){\\\"use strict\\\";e.exports=function(){function t(t,e){return t?(i=!0,t[e](),i=!1,this):this}var e,r=[],n=-1,i=!1;return{add:function(t){return i?this:(r.splice(n+1,r.length-n),r.push(t),n=r.length-1,this)},setCallback:function(t){e=t},undo:function(){var i=r[n];return i?(t(i,\\\"undo\\\"),n-=1,e&&e(i.undo),this):this},redo:function(){var i=r[n+1];return i?(t(i,\\\"redo\\\"),n+=1,e&&e(i.redo),this):this},clear:function(){r=[],n=-1},hasUndo:function(){return-1!==n},hasRedo:function(){return n<r.length-1},getCommands:function(){return r},getPreviousCommand:function(){return r[n-1]},getIndex:function(){return n}}}},{}],836:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"./plots\\\");e.exports=function(t,e,r,a){function o(t,e){return n.coerce(s,l,c,t,e)}for(var s,l,u=a.type,c=a.attributes,h=a.handleDefaults,f=a.partition||\\\"x\\\",d=i.findSubplotIds(r,u),p=d.length,m=0;m<p;m++){var v=d[m];s=t[v]?t[v]:t[v]={},e[v]=l={},o(\\\"domain.\\\"+f,[m/p,(m+1)/p]),o(\\\"domain.\\\"+{x:\\\"y\\\",y:\\\"x\\\"}[f]),a.id=v,h(s,l,o,a)}}},{\\\"../lib\\\":725,\\\"./plots\\\":829}],837:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./ternary\\\"),i=t(\\\"../../plots/plots\\\");r.name=\\\"ternary\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"ternary\\\",r.idRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attrRegex=/^ternary([2-9]|[1-9][0-9]+)?$/,r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=i.getSubplotIds(e,\\\"ternary\\\"),o=0;o<a.length;o++){var s=a[o],l=i.getSubplotCalcData(r,\\\"ternary\\\",s),u=e[s]._subplot;u||(u=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=u),u.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=i.getSubplotIds(n,\\\"ternary\\\"),o=0;o<a.length;o++){var s=a[o],l=n[s]._subplot;!e[s]&&l&&(l.plotContainer.remove(),l.clipDef.remove(),l.clipDefRelative.remove())}}},{\\\"../../plots/plots\\\":829,\\\"./layout/attributes\\\":838,\\\"./layout/defaults\\\":841,\\\"./layout/layout_attributes\\\":842,\\\"./ternary\\\":843}],838:[function(t,e,r){\\\"use strict\\\";e.exports={subplot:{valType:\\\"subplotid\\\",dflt:\\\"ternary\\\"}}},{}],839:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../cartesian/layout_attributes\\\"),i=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:\\\"number\\\",dflt:0,min:0}}},{\\\"../../../lib/extend\\\":716,\\\"../../cartesian/layout_attributes\\\":777}],840:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../../lib\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../cartesian/tick_label_defaults\\\"),s=t(\\\"../../cartesian/tick_mark_defaults\\\"),l=t(\\\"../../cartesian/tick_value_defaults\\\");e.exports=function(t,e,r){function u(r,n){return i.coerce(t,e,a,r,n)}e.type=\\\"linear\\\";var c=u(\\\"color\\\"),h=c===t.color?c:r.font.color,f=e._name,d=f.charAt(0).toUpperCase(),p=\\\"Component \\\"+d,m=u(\\\"title\\\",p);e._hovertitle=m===p?m:d,i.coerceFont(u,\\\"titlefont\\\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:h}),u(\\\"min\\\"),l(t,e,u,\\\"linear\\\"),o(t,e,u,\\\"linear\\\",{noHover:!1}),s(t,e,u,{outerTicks:!0}),u(\\\"showticklabels\\\")&&(i.coerceFont(u,\\\"tickfont\\\",{family:r.font.family,size:r.font.size,color:h}),u(\\\"tickangle\\\"),u(\\\"tickformat\\\")),u(\\\"hoverformat\\\"),u(\\\"showline\\\")&&(u(\\\"linecolor\\\",c),u(\\\"linewidth\\\")),u(\\\"showgrid\\\")&&(u(\\\"gridcolor\\\",n(c,r.bgColor,60).toRgbString()),u(\\\"gridwidth\\\")),u(\\\"layer\\\")}},{\\\"../../../lib\\\":725,\\\"../../cartesian/tick_label_defaults\\\":784,\\\"../../cartesian/tick_mark_defaults\\\":785,\\\"../../cartesian/tick_value_defaults\\\":786,\\\"./axis_attributes\\\":839,tinycolor2:533}],841:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a=r(\\\"bgcolor\\\"),o=r(\\\"sum\\\");n.bgColor=i.combine(a,n.paper_bgcolor);for(var u,c,h,f=0;f<l.length;f++)u=l[f],c=t[u]||{},h=e[u]={_name:u,type:\\\"linear\\\"},s(c,h,n);var d=e.aaxis,p=e.baxis,m=e.caxis;d.min+p.min+m.min>=o&&(d.min=0,p.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var i=t(\\\"../../../components/color\\\"),a=t(\\\"../../subplot_defaults\\\"),o=t(\\\"./layout_attributes\\\"),s=t(\\\"./axis_defaults\\\"),l=[\\\"aaxis\\\",\\\"baxis\\\",\\\"caxis\\\"];e.exports=function(t,e,r){a(t,e,r,{type:\\\"ternary\\\",attributes:o,handleDefaults:n,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\\\"../../../components/color\\\":603,\\\"../../subplot_defaults\\\":836,\\\"./axis_defaults\\\":840,\\\"./layout_attributes\\\":842}],842:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"./axis_attributes\\\");e.exports={domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},bgcolor:{valType:\\\"color\\\",dflt:n.background},sum:{valType:\\\"number\\\",dflt:1,min:0},aaxis:i,baxis:i,caxis:i}},{\\\"../../../components/color/attributes\\\":602,\\\"./axis_attributes\\\":839}],843:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}function i(t){a.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}var a=t(\\\"d3\\\"),o=t(\\\"tinycolor2\\\"),s=t(\\\"../../plotly\\\"),l=t(\\\"../../lib\\\"),u=t(\\\"../../components/color\\\"),c=t(\\\"../../components/drawing\\\"),h=t(\\\"../cartesian/set_convert\\\"),f=t(\\\"../../lib/extend\\\").extendFlat,d=t(\\\"../plots\\\"),p=t(\\\"../cartesian/axes\\\"),m=t(\\\"../../components/dragelement\\\"),v=t(\\\"../../components/fx\\\"),g=t(\\\"../../components/titles\\\"),y=t(\\\"../cartesian/select\\\"),b=t(\\\"../cartesian/constants\\\");e.exports=n;var x=n.prototype;x.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},x.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<t.length;a++){if(!1===t[a][0].trace.cliponaxis){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),d.generalUpdatePerTraceModule(r,t,n),r.layers.plotbg.select(\\\"path\\\").call(u.fill,n.bgcolor)},x.makeFramework=function(t){var e=this,r=t[e.id],n=e.defs.selectAll(\\\"g.clips\\\").data([0]);n.enter().append(\\\"g\\\").classed(\\\"clips\\\",!0);var i=e.clipId=\\\"clip\\\"+e.layoutId+e.id;e.clipDef=n.selectAll(\\\"#\\\"+i).data([0]),e.clipDef.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",i).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\");var a=e.clipIdRelative=\\\"clip-relative\\\"+e.layoutId+e.id;e.clipDefRelative=n.selectAll(\\\"#\\\"+a).data([0]),e.clipDefRelative.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",a).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),e.plotContainer=e.container.selectAll(\\\"g.\\\"+e.id).data([0]),e.plotContainer.enter().append(\\\"g\\\").classed(e.id,!0),e.updateLayers(r),c.setClipUrl(e.layers.backplot,i),c.setClipUrl(e.layers.grids,i)},x.updateLayers=function(t){var e=this,r=e.layers,n=[\\\"draglayer\\\",\\\"plotbg\\\",\\\"backplot\\\",\\\"grids\\\"];\\\"below traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"below traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"below traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\"),n.push(\\\"frontplot\\\"),\\\"above traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"above traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"above traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\");var i=e.plotContainer.selectAll(\\\"g.toplevel\\\").data(n,String),o=[\\\"agrid\\\",\\\"bgrid\\\",\\\"cgrid\\\"];i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"toplevel \\\"+t}).each(function(t){var e=a.select(this);r[t]=e,\\\"frontplot\\\"===t?e.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0):\\\"backplot\\\"===t?e.append(\\\"g\\\").classed(\\\"maplayer\\\",!0):\\\"plotbg\\\"===t?e.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"):\\\"aline\\\"===t||\\\"bline\\\"===t||\\\"cline\\\"===t?e.append(\\\"path\\\"):\\\"grids\\\"===t&&o.forEach(function(t){r[t]=e.append(\\\"g\\\").classed(\\\"grid \\\"+t,!0)})}),i.order()};var _=Math.sqrt(4/3);x.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,d=t.domain,p=(d.x[0]+d.x[1])/2,m=(d.y[0]+d.y[1])/2,v=d.x[1]-d.x[0],g=d.y[1]-d.y[0],y=v*e.w,b=g*e.h,x=t.sum,w=t.aaxis.min,M=t.baxis.min,k=t.caxis.min;y>_*b?(a=b,i=a*_):(i=y,a=i/_),o=v*i/y,s=g*a/b,r=e.l+e.w*p-i/2,n=e.t+e.h*(1-m)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=x,l.xaxis={type:\\\"linear\\\",range:[w+2*k-x,x-w-2*M],domain:[p-o/2,p+o/2],_id:\\\"x\\\"},h(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a>=l.aaxis.range[0]&&t.a<=l.aaxis.range[1]&&t.b>=l.baxis.range[1]&&t.b<=l.baxis.range[0]&&t.c>=l.caxis.range[1]&&t.c<=l.caxis.range[0]},l.yaxis={type:\\\"linear\\\",range:[w,x-M-k],domain:[m-s/2,m+s/2],_id:\\\"y\\\"},h(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var A=l.yaxis.domain[0],T=l.aaxis=f({},t.aaxis,{visible:!0,range:[w,x-M-k],side:\\\"left\\\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*_],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l\\\"+a+\\\",-\\\"+i/2});h(T,l.graphDiv._fullLayout),T.setScale();var S=l.baxis=f({},t.baxis,{visible:!0,range:[x-w-k,M],side:\\\"bottom\\\",_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:\\\"x\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+i/2+\\\",-\\\"+a});h(S,l.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=l.caxis=f({},t.caxis,{visible:!0,range:[x-w-M,k],side:\\\"right\\\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*_],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+a+\\\",\\\"+i/2});h(E,l.graphDiv._fullLayout),E.setScale();var L=\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDef.select(\\\"path\\\").attr(\\\"d\\\",L),l.layers.plotbg.select(\\\"path\\\").attr(\\\"d\\\",L);var C=\\\"M0,\\\"+a+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDefRelative.select(\\\"path\\\").attr(\\\"d\\\",C);var z=\\\"translate(\\\"+r+\\\",\\\"+n+\\\")\\\";l.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",z),l.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",null);var I=\\\"translate(\\\"+r+\\\",\\\"+(n+a)+\\\")\\\";l.layers.baxis.attr(\\\"transform\\\",I),l.layers.bgrid.attr(\\\"transform\\\",I);var D=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(30)\\\";l.layers.aaxis.attr(\\\"transform\\\",D),l.layers.agrid.attr(\\\"transform\\\",D);var P=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(-30)\\\";l.layers.caxis.attr(\\\"transform\\\",P),l.layers.cgrid.attr(\\\"transform\\\",P),l.drawAxes(!0),l.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),l.layers.aline.select(\\\"path\\\").attr(\\\"d\\\",T.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"l\\\"+i/2+\\\",-\\\"+a:\\\"M0,0\\\").call(u.stroke,T.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(T.linewidth||0)+\\\"px\\\"),l.layers.bline.select(\\\"path\\\").attr(\\\"d\\\",S.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i:\\\"M0,0\\\").call(u.stroke,S.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(S.linewidth||0)+\\\"px\\\"),l.layers.cline.select(\\\"path\\\").attr(\\\"d\\\",E.showline?\\\"M\\\"+(r+i/2)+\\\",\\\"+n+\\\"l\\\"+i/2+\\\",\\\"+a:\\\"M0,0\\\").call(u.stroke,E.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(E.linewidth||0)+\\\"px\\\"),l.graphDiv._context.staticPlot||l.initInteractions(),c.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},x.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+\\\"title\\\",i=e.aaxis,a=e.baxis,o=e.caxis;if(p.doTicks(r,i,!0),p.doTicks(r,a,!0),p.doTicks(r,o,!0),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\\\"outside\\\"===o.ticks?.87*o.ticklen:0));g.draw(r,\\\"a\\\"+n,{propContainer:i,propName:e.id+\\\".aaxis.title\\\",dfltName:\\\"Component A\\\",attributes:{x:e.x0+e.w/2,y:e.y0-i.titlefont.size/3-s,\\\"text-anchor\\\":\\\"middle\\\"}});var l=(a.showticklabels?a.tickfont.size:0)+(\\\"outside\\\"===a.ticks?a.ticklen:0)+3;g.draw(r,\\\"b\\\"+n,{propContainer:a,propName:e.id+\\\".baxis.title\\\",dfltName:\\\"Component B\\\",attributes:{x:e.x0-l,y:e.y0+e.h+.83*a.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}}),g.draw(r,\\\"c\\\"+n,{propContainer:o,propName:e.id+\\\".caxis.title\\\",dfltName:\\\"Component C\\\",attributes:{x:e.x0+e.w+l,y:e.y0+e.h+.83*o.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}})}};var w=b.MINZOOM/2+.87,M=\\\"m-0.87,.5h\\\"+w+\\\"v3h-\\\"+(w+5.2)+\\\"l\\\"+(w/2+2.6)+\\\",-\\\"+(.87*w+4.5)+\\\"l2.6,1.5l-\\\"+w/2+\\\",\\\"+.87*w+\\\"Z\\\",k=\\\"m0.87,.5h-\\\"+w+\\\"v3h\\\"+(w+5.2)+\\\"l-\\\"+(w/2+2.6)+\\\",-\\\"+(.87*w+4.5)+\\\"l-2.6,1.5l\\\"+w/2+\\\",\\\"+.87*w+\\\"Z\\\",A=\\\"m0,1l\\\"+w/2+\\\",\\\"+.87*w+\\\"l2.6,-1.5l-\\\"+(w/2+2.6)+\\\",-\\\"+(.87*w+4.5)+\\\"l-\\\"+(w/2+2.6)+\\\",\\\"+(.87*w+4.5)+\\\"l2.6,1.5l\\\"+w/2+\\\",-\\\"+.87*w+\\\"Z\\\",T=!0;x.initInteractions=function(){function t(t,e,r){var n=F.getBoundingClientRect();w=e-n.left,S=r-n.top,E={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},C=E,L=R.aaxis.range[1]-E.a,z=o(R.graphDiv._fullLayout[R.id].bgcolor).getLuminance(),I=\\\"M0,\\\"+R.h+\\\"L\\\"+R.w/2+\\\", 0L\\\"+R.w+\\\",\\\"+R.h+\\\"Z\\\",D=!1,P=N.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox\\\").attr(\\\"transform\\\",\\\"translate(\\\"+R.x0+\\\", \\\"+R.y0+\\\")\\\").style({fill:z>.2?\\\"rgba(0,0,0,0)\\\":\\\"rgba(255,255,255,0)\\\",\\\"stroke-width\\\":0}).attr(\\\"d\\\",I),O=N.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").attr(\\\"transform\\\",\\\"translate(\\\"+R.x0+\\\", \\\"+R.y0+\\\")\\\").style({fill:u.background,stroke:u.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"d\\\",\\\"M0,0Z\\\"),g()}function e(t,e){return 1-e/R.h}function r(t,e){return 1-(t+(R.h-e)/Math.sqrt(3))/R.w}function n(t,e){return(t-(R.h-e)/Math.sqrt(3))/R.w}function a(t,i){var a=w+t,o=S+i,s=Math.max(0,Math.min(1,e(w,S),e(a,o))),l=Math.max(0,Math.min(1,r(w,S),r(a,o))),u=Math.max(0,Math.min(1,n(w,S),n(a,o))),c=(s/2+u)*R.w,h=(1-s/2-l)*R.w,f=(c+h)/2,d=h-c,p=(1-s)*R.h,m=p-d/_;d<b.MINZOOM?(C=E,P.attr(\\\"d\\\",I),O.attr(\\\"d\\\",\\\"M0,0Z\\\")):(C={a:E.a+s*L,b:E.b+l*L,c:E.c+u*L},P.attr(\\\"d\\\",I+\\\"M\\\"+c+\\\",\\\"+p+\\\"H\\\"+h+\\\"L\\\"+f+\\\",\\\"+m+\\\"L\\\"+c+\\\",\\\"+p+\\\"Z\\\"),O.attr(\\\"d\\\",\\\"M\\\"+w+\\\",\\\"+S+\\\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM\\\"+c+\\\",\\\"+p+M+\\\"M\\\"+h+\\\",\\\"+p+k+\\\"M\\\"+f+\\\",\\\"+m+A)),D||(P.transition().style(\\\"fill\\\",z>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),O.transition().style(\\\"opacity\\\",1).duration(200),D=!0)}function h(t,e){if(C===E)return 2===e&&x(),i(j);i(j);var r={};r[R.id+\\\".aaxis.min\\\"]=C.a,r[R.id+\\\".baxis.min\\\"]=C.b,r[R.id+\\\".caxis.min\\\"]=C.c,s.relayout(j,r),T&&j.data&&j._context.showTips&&(l.notifier(\\\"Double-click to<br>zoom back out\\\",\\\"long\\\"),T=!1)}function f(){E={a:R.aaxis.range[0],b:R.baxis.range[1],c:R.caxis.range[1]},C=E}function d(t,e){var r=t/R.xaxis._m,n=e/R.yaxis._m;C={a:E.a-n,b:E.b+(r+n)/2,c:E.c-(r-n)/2};var i=[C.a,C.b,C.c].sort(),a={a:i.indexOf(C.a),b:i.indexOf(C.b),c:i.indexOf(C.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),C={a:i[a.a],b:i[a.b],c:i[a.c]},e=(E.a-C.a)*R.yaxis._m,t=(E.c-C.c-E.b+C.b)*R.xaxis._m);var o=\\\"translate(\\\"+(R.x0+t)+\\\",\\\"+(R.y0+e)+\\\")\\\";R.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",o);var s=\\\"translate(\\\"+-t+\\\",\\\"+-e+\\\")\\\";if(R.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",s),R.aaxis.range=[C.a,R.sum-C.b-C.c],R.baxis.range=[R.sum-C.a-C.c,C.b],R.caxis.range=[R.sum-C.a-C.b,C.c],R.drawAxes(!1),R.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),R._hasClipOnAxisFalse){var l=R.plotContainer.select(\\\".scatterlayer\\\").selectAll(\\\".points\\\");l.selectAll(\\\".point\\\").call(c.hideOutsideRangePoints,R),l.selectAll(\\\".textpoint\\\").call(c.hideOutsideRangePoints,R)}}function p(t,e){if(t){var r={};r[R.id+\\\".aaxis.min\\\"]=C.a,r[R.id+\\\".baxis.min\\\"]=C.b,r[R.id+\\\".caxis.min\\\"]=C.c,s.relayout(j,r)}else 2===e&&x()}function g(){N.selectAll(\\\".select-outline\\\").remove()}function x(){var t={};t[R.id+\\\".aaxis.min\\\"]=0,t[R.id+\\\".baxis.min\\\"]=0,t[R.id+\\\".caxis.min\\\"]=0,j.emit(\\\"plotly_doubleclick\\\",null),s.relayout(j,t)}var w,S,E,L,C,z,I,D,P,O,R=this,F=R.layers.plotbg.select(\\\"path\\\").node(),j=R.graphDiv,N=j._fullLayout._zoomlayer,B={element:F,gd:j,plotinfo:{xaxis:R.xaxis,yaxis:R.yaxis},doubleclick:x,subplot:R.id,prepFn:function(e,r,n){B.xaxes=[R.xaxis],B.yaxes=[R.yaxis];var i=j._fullLayout.dragmode;e.shiftKey&&(i=\\\"pan\\\"===i?\\\"zoom\\\":\\\"pan\\\"),B.minDrag=\\\"lasso\\\"===i?1:void 0,\\\"zoom\\\"===i?(B.moveFn=a,B.doneFn=h,t(e,r,n)):\\\"pan\\\"===i?(B.moveFn=d,B.doneFn=p,f(),g()):\\\"select\\\"!==i&&\\\"lasso\\\"!==i||y(e,r,n,B,i)}};F.onmousemove=function(t){v.hover(j,t,R.id),j._fullLayout._lasthover=F,j._fullLayout._hoversubplot=R.id},F.onmouseout=function(t){j._dragging||m.unhover(j,t)},F.onclick=function(t){v.click(j,t,R.id)},m.init(B)}},{\\\"../../components/color\\\":603,\\\"../../components/dragelement\\\":624,\\\"../../components/drawing\\\":627,\\\"../../components/fx\\\":644,\\\"../../components/titles\\\":692,\\\"../../lib\\\":725,\\\"../../lib/extend\\\":716,\\\"../../plotly\\\":761,\\\"../cartesian/axes\\\":766,\\\"../cartesian/constants\\\":771,\\\"../cartesian/select\\\":782,\\\"../cartesian/set_convert\\\":783,\\\"../plots\\\":829,d3:121,tinycolor2:533}],844:[function(t,e,r){\\\"use strict\\\";function n(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)s(r.layoutArrayRegexes,e[n])}}function i(t){return\\\"object\\\"==typeof t&&(t=t.type),t}var a=t(\\\"./lib/loggers\\\"),o=t(\\\"./lib/noop\\\"),s=t(\\\"./lib/push_unique\\\"),l=t(\\\"./plots/attributes\\\");r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.register=function(t,e,n,i){if(r.modules[e])return void a.log(\\\"Type \\\"+e+\\\" already registered\\\");for(var o={},s=0;s<n.length;s++)o[n[s]]=!0,r.allCategories[n[s]]=!0;r.modules[e]={_module:t,categories:o},i&&Object.keys(i).length&&(r.modules[e].meta=i),r.allTypes.push(e)},r.registerSubplot=function(t){var e=t.name;if(r.subplotsRegistry[e])return void a.log(\\\"Plot type \\\"+e+\\\" already registered.\\\");n(t),r.subplotsRegistry[e]=t},r.registerComponent=function(t){var e=t.name;r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&s(r.layoutArrayContainers,e),n(t))},r.getModule=function(t){if(void 0!==t.r)return a.warn(\\\"Tried to put a polar trace on an incompatible graph of cartesian data. Ignoring this dataset.\\\",t),!1;var e=r.modules[i(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\\\"various\\\"===(t=i(t)))return!1;var n=r.modules[t];return n||(t&&\\\"area\\\"!==t&&a.log(\\\"Unrecognized trace type \\\"+t+\\\".\\\"),n=r.modules[l.type.dflt]),!!n.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);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]||o:o}},{\\\"./lib/loggers\\\":729,\\\"./lib/noop\\\":733,\\\"./lib/push_unique\\\":737,\\\"./plots/attributes\\\":764}],845:[function(t,e,r){\\\"use strict\\\";function n(t){var e;switch(t){case\\\"themes__thumb\\\":e={autosize:!0,width:150,height:150,title:\\\"\\\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\\\"thumbnail\\\":e={title:\\\"\\\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\\\"\\\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}function i(t){return[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"].indexOf(t.slice(0,5))>-1}var a=t(\\\"../lib\\\"),o=t(\\\"../plots/plots\\\"),s=a.extendFlat,l=a.extendDeep;e.exports=function(t,e){t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var r,a=t.data,u=t.layout,c=l([],a),h=l({},u,n(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 d=Object.keys(h);for(r=0;r<d.length;r++)i(d[r])&&(h[d[r]].title=\\\"\\\");for(r=0;r<c.length;r++){var p=c[r];p.showscale=!1,p.marker&&(p.marker.showscale=!1),\\\"pie\\\"===p.type&&(p.textposition=\\\"none\\\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var m=o.getSubplotIds(h,\\\"gl3d\\\");if(m.length){var v={};for(\\\"thumbnail\\\"===e.tileClass&&(v={title:\\\"\\\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<m.length;r++){var g=h[m[r]];g.xaxis||(g.xaxis={}),g.yaxis||(g.yaxis={}),g.zaxis||(g.zaxis={}),s(g.xaxis,v),s(g.yaxis,v),s(g.zaxis,v),g._scene=null}}var y=document.createElement(\\\"div\\\");e.tileClass&&(y.className=e.tileClass);var b={gd:y,td:y,layout:h,data:c,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&&(b.config.setBackground=e.setBackground||\\\"opaque\\\"),b.gd.defaultLayout=n(e.tileClass),b}},{\\\"../lib\\\":725,\\\"../plots/plots\\\":829}],846:[function(t,e,r){\\\"use strict\\\";function n(t,e){return e=e||{},e.format=e.format||\\\"png\\\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\\\"Snapshotting already in progress.\\\")),a.isIE()&&\\\"svg\\\"!==e.format&&n(new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\")),t._snapshotInProgress=!0;var s=i(t,e),l=e.filename||t.fn||\\\"newplot\\\";l+=\\\".\\\"+e.format,s.then(function(e){return t._snapshotInProgress=!1,o(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})}var i=t(\\\"../plot_api/to_image\\\"),a=t(\\\"../lib\\\"),o=t(\\\"./filesaver\\\");e.exports=n},{\\\"../lib\\\":725,\\\"../plot_api/to_image\\\":759,\\\"./filesaver\\\":847}],847:[function(t,e,r){\\\"use strict\\\";var n=function(t,e){var r=document.createElement(\\\"a\\\"),n=\\\"download\\\"in r,i=/Version\\\\/[\\\\d\\\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){\\\"undefined\\\"!=typeof navigator&&/MSIE [1-9]\\\\./.test(navigator.userAgent)&&o(new Error(\\\"IE < 10 unsupported\\\")),i&&(document.location.href=\\\"data:application/octet-stream\\\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\\\"download\\\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\\\"undefined\\\"!=typeof navigator&&navigator.msSaveBlob&&(navigator.msSaveBlob(new Blob([t]),e),a(e)),o(new Error(\\\"download error\\\"))})};e.exports=n},{}],848:[function(t,e,r){\\\"use strict\\\";r.getDelay=function(t){return t._has&&(t._has(\\\"gl3d\\\")||t._has(\\\"gl2d\\\"))?500:0},r.getRedrawFunc=function(t){if(!(t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],849:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./helpers\\\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\\\"./cloneplot\\\"),toSVG:t(\\\"./tosvg\\\"),svgToImg:t(\\\"./svgtoimg\\\"),toImage:t(\\\"./toimage\\\"),downloadImage:t(\\\"./download\\\")};e.exports=i},{\\\"./cloneplot\\\":845,\\\"./download\\\":846,\\\"./helpers\\\":848,\\\"./svgtoimg\\\":850,\\\"./toimage\\\":851,\\\"./tosvg\\\":852}],850:[function(t,e,r){\\\"use strict\\\";function n(t){var e=t.emitter||new a,r=new Promise(function(n,a){var o=window.Image,s=t.svg,l=t.format||\\\"png\\\";if(i.isIE()&&\\\"svg\\\"!==l){var u=new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\");return a(u),t.promise?r:e.emit(\\\"error\\\",u)}var c=t.canvas,h=c.getContext(\\\"2d\\\"),f=new o,d=\\\"data:image/svg+xml,\\\"+encodeURIComponent(s);c.height=t.height||150,c.width=t.width||300,f.onload=function(){var r;switch(\\\"svg\\\"!==l&&h.drawImage(f,0,0),l){case\\\"jpeg\\\":r=c.toDataURL(\\\"image/jpeg\\\");break;case\\\"png\\\":r=c.toDataURL(\\\"image/png\\\");break;case\\\"webp\\\":r=c.toDataURL(\\\"image/webp\\\");break;case\\\"svg\\\":r=d;break;default:var i=\\\"Image format is not jpeg, png, svg or webp.\\\";if(a(new Error(i)),!t.promise)return e.emit(\\\"error\\\",i)}n(r),t.promise||e.emit(\\\"success\\\",r)},f.onerror=function(r){if(a(r),!t.promise)return e.emit(\\\"error\\\",r)},f.src=d});return t.promise?r:e}var i=t(\\\"../lib\\\"),a=t(\\\"events\\\").EventEmitter;e.exports=n},{\\\"../lib\\\":725,events:128}],851:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(){var t=s.getDelay(f._fullLayout);setTimeout(function(){var t=u(f),r=document.createElement(\\\"canvas\\\");r.id=o.randstr(),n=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:r,emitter:n,svg:t}),n.clean=function(){f&&document.body.removeChild(f)}},t)}var n=new i,h=l(t,{format:\\\"png\\\"}),f=h.gd;f.style.position=\\\"absolute\\\",f.style.left=\\\"-5000px\\\",document.body.appendChild(f);var d=s.getRedrawFunc(f);return a.plot(f,h.data,h.layout,h.config).then(d).then(r).catch(function(t){n.emit(\\\"error\\\",t)}),n}var i=t(\\\"events\\\").EventEmitter,a=t(\\\"../plotly\\\"),o=t(\\\"../lib\\\"),s=t(\\\"./helpers\\\"),l=t(\\\"./cloneplot\\\"),u=t(\\\"./tosvg\\\"),c=t(\\\"./svgtoimg\\\");e.exports=n},{\\\"../lib\\\":725,\\\"../plotly\\\":761,\\\"./cloneplot\\\":845,\\\"./helpers\\\":848,\\\"./svgtoimg\\\":850,\\\"./tosvg\\\":852,events:128}],852:[function(t,e,r){\\\"use strict\\\";function n(t){var e=a.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}function i(t){return t.replace(/&(?!\\\\w+;|\\\\#[0-9]+;| \\\\#x[0-9A-F]+;)/g,\\\"&amp;\\\")}var a=t(\\\"d3\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../components/drawing\\\"),l=t(\\\"../components/color\\\"),u=t(\\\"../constants/xmlns_namespaces\\\"),c=/\\\"/g,h=new RegExp('(\\\"TOBESTRIPPED)|(TOBESTRIPPED\\\")',\\\"g\\\");e.exports=function(t,e){var r,f=t._fullLayout,d=f._paper,p=f._toppaper;d.insert(\\\"rect\\\",\\\":first-child\\\").call(s.setRect,0,0,f.width,f.height).call(l.fill,f.paper_bgcolor);var m=f._basePlotModules||[];for(r=0;r<m.length;r++){var v=m[r];v.toSVG&&v.toSVG(t)}if(p){var g=p.node().childNodes,y=Array.prototype.slice.call(g);for(r=0;r<y.length;r++){var b=y[r];b.childNodes.length&&d.node().appendChild(b)}}f._draggers&&f._draggers.remove(),d.node().style.background=\\\"\\\",d.selectAll(\\\"text\\\").attr({\\\"data-unformatted\\\":null,\\\"data-math\\\":null}).each(function(){var t=a.select(this);if(\\\"hidden\\\"===t.style(\\\"visibility\\\")||\\\"none\\\"===t.style(\\\"display\\\"))return void t.remove();t.style({visibility:null,display:null});var e=t.style(\\\"font-family\\\");e&&-1!==e.indexOf('\\\"')&&t.style(\\\"font-family\\\",e.replace(c,\\\"TOBESTRIPPED\\\"))}),d.selectAll(\\\".point,.scatterpts\\\").each(function(){var t=a.select(this),e=t.style(\\\"fill\\\");e&&-1!==e.indexOf(\\\"url(\\\")&&t.style(\\\"fill\\\",e.replace(c,\\\"TOBESTRIPPED\\\"))}),\\\"pdf\\\"!==e&&\\\"eps\\\"!==e||d.selectAll(\\\"#MathJax_SVG_glyphs path\\\").attr(\\\"stroke-width\\\",0),d.node().setAttributeNS(u.xmlns,\\\"xmlns\\\",u.svg),d.node().setAttributeNS(u.xmlns,\\\"xmlns:xlink\\\",u.xlink);var x=(new window.XMLSerializer).serializeToString(d.node());return x=n(x),x=i(x),x=x.replace(h,\\\"'\\\"),o.isIE()&&(x=x.replace(/\\\"/gi,\\\"'\\\"),x=x.replace(/(\\\\('#)([^']*)('\\\\))/gi,'(\\\"$2\\\")'),x=x.replace(/(\\\\\\\\')/gi,'\\\"')),x}},{\\\"../components/color\\\":603,\\\"../components/drawing\\\":627,\\\"../constants/xmlns_namespaces\\\":707,\\\"../lib\\\":725,d3:121}],853:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").mergeArray;e.exports=function(t,e){n(e.text,t,\\\"tx\\\"),n(e.hovertext,t,\\\"htx\\\");var r=e.marker;if(r){n(r.opacity,t,\\\"mo\\\"),n(r.color,t,\\\"mc\\\");var i=r.line;i&&(n(i.color,t,\\\"mlc\\\"),n(i.width,t,\\\"mlw\\\"))}}},{\\\"../../lib\\\":725}],854:[function(t,e,r){\\\"use strict\\\"\\n\",\n       \";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../components/errorbars/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../plots/font_attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,u=t(\\\"../../lib/extend\\\").extendDeep,c=u({},s);c.family.arrayOk=!0,c.size.arrayOk=!0,c.color.arrayOk=!0;var h=n.marker,f=h.line,d=l({},f.width,{dflt:0}),p=l({},{width:d},i(\\\"marker.line\\\")),m=l({},{line:p},i(\\\"marker\\\"),{showscale:h.showscale,colorbar:o});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"none\\\",arrayOk:!0},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),constraintext:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"both\\\"},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"]},base:{valType:\\\"any\\\",dflt:null,arrayOk:!0},offset:{valType:\\\"number\\\",dflt:null,arrayOk:!0},width:{valType:\\\"number\\\",dflt:null,min:0,arrayOk:!0},marker:m,r:n.r,t:n.t,error_y:a,error_x:a,_deprecated:{bardir:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"]}}}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/errorbars/attributes\\\":629,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../scatter/attributes\\\":1027}],855:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../components/colorscale/has_colorscale\\\"),o=t(\\\"../../components/colorscale/calc\\\"),s=t(\\\"./arrays_to_calcdata\\\");e.exports=function(t,e){var r,l,u,c,h,f=i.getFromId(t,e.xaxis||\\\"x\\\"),d=i.getFromId(t,e.yaxis||\\\"y\\\"),p=e.orientation||(e.x&&!e.y?\\\"h\\\":\\\"v\\\");\\\"h\\\"===p?(r=f,u=f.makeCalcdata(e,\\\"x\\\"),l=d.makeCalcdata(e,\\\"y\\\"),h=e.xcalendar):(r=d,u=d.makeCalcdata(e,\\\"y\\\"),l=f.makeCalcdata(e,\\\"x\\\"),h=e.ycalendar);var m=Math.min(l.length,u.length),v=new Array(m);for(c=0;c<m;c++)v[c]={p:l[c],s:u[c]};var g,y=e.base;if(Array.isArray(y)){for(c=0;c<Math.min(y.length,v.length);c++)g=r.d2c(y[c],0,h),v[c].b=n(g)?g:0;for(;c<v.length;c++)v[c].b=0}else for(g=r.d2c(y,0,h),g=n(g)?g:0,c=0;c<v.length;c++)v[c].b=g;return a(e,\\\"marker\\\")&&o(e,e.marker.color,\\\"marker\\\",\\\"c\\\"),a(e,\\\"marker.line\\\")&&o(e,e.marker.line.color,\\\"marker.line\\\",\\\"c\\\"),s(v,e),v}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"../../plots/cartesian/axes\\\":766,\\\"./arrays_to_calcdata\\\":853,\\\"fast-isnumeric\\\":130}],856:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../scatter/xy_defaults\\\"),o=t(\\\"../bar/style_defaults\\\"),s=t(\\\"../../components/errorbars/defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}var h=n.coerceFont;if(!a(t,e,u,c))return void(e.visible=!1);c(\\\"orientation\\\",e.x&&!e.y?\\\"h\\\":\\\"v\\\"),c(\\\"base\\\"),c(\\\"offset\\\"),c(\\\"width\\\"),c(\\\"text\\\"),c(\\\"hovertext\\\");var f=c(\\\"textposition\\\"),d=Array.isArray(f)||\\\"auto\\\"===f,p=d||\\\"inside\\\"===f,m=d||\\\"outside\\\"===f;if(p||m){var v=h(c,\\\"textfont\\\",u.font);p&&h(c,\\\"insidetextfont\\\",v),m&&h(c,\\\"outsidetextfont\\\",v),c(\\\"constraintext\\\")}o(t,e,c,r,u),s(t,e,i.defaultLine,{axis:\\\"y\\\"}),s(t,e,i.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"})}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../bar/style_defaults\\\":865,\\\"../scatter/xy_defaults\\\":1049,\\\"./attributes\\\":854}],857:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../components/errorbars\\\"),a=t(\\\"../../components/color\\\");e.exports=function(t,e,r,o){var s,l,u,c,h,f,d,p=t.cd,m=p[0].trace,v=p[0].t,g=t.xa,y=t.ya,b=function(t){return n.inbox(c(t)-s,h(t)-s)};\\\"h\\\"===m.orientation?(s=r,l=function(t){return t.y-t.w/2},u=function(t){return t.y+t.w/2},f=function(t){return n.inbox(t.b-e,t.x-e)+(t.x-e)/(t.x-t.b)},d=b):(s=e,l=function(t){return t.x-t.w/2},u=function(t){return t.x+t.w/2},d=function(t){return n.inbox(t.b-r,t.y-r)+(t.y-r)/(t.y-t.b)},f=b),c=\\\"closest\\\"===o?l:function(t){return Math.min(l(t),t.p-v.bargroupwidth/2)},h=\\\"closest\\\"===o?u:function(t){return Math.max(u(t),t.p+v.bargroupwidth/2)};var x=n.getDistanceFunction(o,f,d);if(n.getClosest(p,x,t),!1!==t.index){var _=t.index,w=p[_],M=w.mcc||m.marker.color,k=w.mlcc||m.marker.line.color,A=w.mlw||m.marker.line.width;a.opacity(M)?t.color=M:a.opacity(k)&&A&&(t.color=k);var T=m.base?w.b+w.s:w.s;return\\\"h\\\"===m.orientation?(t.x0=t.x1=g.c2p(w.x,!0),t.xLabelVal=T,t.y0=y.c2p(c(w),!0),t.y1=y.c2p(h(w),!0),t.yLabelVal=w.p):(t.y0=t.y1=y.c2p(w.y,!0),t.yLabelVal=T,t.x0=g.c2p(c(w),!0),t.x1=g.c2p(h(w),!0),t.xLabelVal=w.p),w.htx?t.text=w.htx:m.hovertext?t.text=m.hovertext:w.tx?t.text=w.tx:m.text&&(t.text=m.text),i.hoverInfo(w,m,t),[t]}}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars\\\":633,\\\"../../components/fx\\\":644}],858:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"bar\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"oriented\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../scatter/colorbar\\\":1030,\\\"./arrays_to_calcdata\\\":853,\\\"./attributes\\\":854,\\\"./calc\\\":855,\\\"./defaults\\\":856,\\\"./hover\\\":857,\\\"./layout_attributes\\\":859,\\\"./layout_defaults\\\":860,\\\"./plot\\\":861,\\\"./set_positions\\\":862,\\\"./style\\\":864}],859:[function(t,e,r){\\\"use strict\\\";e.exports={barmode:{valType:\\\"enumerated\\\",values:[\\\"stack\\\",\\\"group\\\",\\\"overlay\\\",\\\"relative\\\"],dflt:\\\"group\\\"},barnorm:{valType:\\\"enumerated\\\",values:[\\\"\\\",\\\"fraction\\\",\\\"percent\\\"],dflt:\\\"\\\"},bargap:{valType:\\\"number\\\",min:0,max:1},bargroupgap:{valType:\\\"number\\\",min:0,max:1,dflt:0}}},{}],860:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,h={},f=0;f<r.length;f++){var d=r[f];if(n.traceIs(d,\\\"bar\\\")){if(l=!0,\\\"overlay\\\"!==t.barmode&&\\\"stack\\\"!==t.barmode){var p=d.xaxis+d.yaxis;h[p]&&(c=!0),h[p]=!0}if(d.visible&&\\\"histogram\\\"===d.type){\\\"category\\\"!==i.getFromId({_fullLayout:e},d[\\\"v\\\"===d.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]).type&&(u=!0)}}}if(l){\\\"overlay\\\"!==s(\\\"barmode\\\")&&s(\\\"barnorm\\\"),s(\\\"bargap\\\",u&&!c?0:.2),s(\\\"bargroupgap\\\")}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./layout_attributes\\\":859}],861:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,o,f,d,p){function m(e,r,n){return e.append(\\\"text\\\").text(r).attr({class:\\\"bartext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}).call(k.font,n).call(w.convertToTspans,t)}var v=r[0].trace,g=v.orientation,y=s(v,n);if(y){var b=l(v,n);if(\\\"none\\\"!==b){var x,_,M,A,T=u(v,n,t._fullLayout.font),S=c(v,n,T),E=h(v,n,T),L=t._fullLayout.barmode,C=\\\"stack\\\"===L,z=\\\"relative\\\"===L,D=C||z,P=r[n],O=!D||P._outmost,R=Math.abs(f-o)-2*I,F=Math.abs(p-d)-2*I;if(\\\"outside\\\"===b&&(O||(b=\\\"inside\\\")),\\\"auto\\\"===b)if(O){x=m(e,y,S),_=k.bBox(x.node()),M=_.width,A=_.height;var j=M>0&&A>0,N=M<=R&&A<=F,B=M<=F&&A<=R,U=\\\"h\\\"===g?R>=M*(F/A):F>=A*(R/M);j&&(N||B||U)?b=\\\"inside\\\":(b=\\\"outside\\\",x.remove(),x=null)}else b=\\\"inside\\\";if(!x&&(x=m(e,y,\\\"outside\\\"===b?E:S),_=k.bBox(x.node()),M=_.width,A=_.height,M<=0||A<=0))return void x.remove();var V,H;\\\"outside\\\"===b?(H=\\\"both\\\"===v.constraintext||\\\"outside\\\"===v.constraintext,V=a(o,f,d,p,_,g,H)):(H=\\\"both\\\"===v.constraintext||\\\"inside\\\"===v.constraintext,V=i(o,f,d,p,_,g,H)),x.attr(\\\"transform\\\",V)}}}function i(t,e,r,n,i,a,s){var l,u,c,h,f,d=i.width,p=i.height,m=(i.left+i.right)/2,v=(i.top+i.bottom)/2,g=Math.abs(e-t),y=Math.abs(n-r);g>2*I&&y>2*I?(f=I,g-=2*f,y-=2*f):f=0;var b,x;return d<=g&&p<=y?(b=!1,x=1):d<=y&&p<=g?(b=!0,x=1):d<p==g<y?(b=!1,x=s?Math.min(g/d,y/p):1):(b=!0,x=s?Math.min(y/d,g/p):1),b&&(b=90),b?(l=x*p,u=x*d):(l=x*d,u=x*p),\\\"h\\\"===a?e<t?(c=e+f+l/2,h=(r+n)/2):(c=e-f-l/2,h=(r+n)/2):n>r?(c=(t+e)/2,h=n-f-u/2):(c=(t+e)/2,h=n+f+u/2),o(m,v,c,h,x,b)}function a(t,e,r,n,i,a,s){var l,u=\\\"h\\\"===a?Math.abs(n-r):Math.abs(e-t);u>2*I&&(l=I);var c=1;s&&(c=\\\"h\\\"===a?Math.min(1,u/i.height):Math.min(1,u/i.width));var h,f,d,p,m=(i.left+i.right)/2,v=(i.top+i.bottom)/2;return h=c*i.width,f=c*i.height,\\\"h\\\"===a?e<t?(d=e-l-h/2,p=(r+n)/2):(d=e+l+h/2,p=(r+n)/2):n>r?(d=(t+e)/2,p=n+l+f/2):(d=(t+e)/2,p=n-l-f/2),o(m,v,d,p,c,!1)}function o(t,e,r,n,i,a){var o,s;return i<1?o=\\\"scale(\\\"+i+\\\") \\\":(i=1,o=\\\"\\\"),s=a?\\\"rotate(\\\"+a+\\\" \\\"+t+\\\" \\\"+e+\\\") \\\":\\\"\\\",\\\"translate(\\\"+(r-i*t)+\\\" \\\"+(n-i*e)+\\\")\\\"+o+s}function s(t,e){var r=d(t.text,e);return p(S,r)}function l(t,e){var r=d(t.textposition,e);return m(E,r)}function u(t,e,r){return f(L,t.textfont,e,r)}function c(t,e,r){return f(C,t.insidetextfont,e,r)}function h(t,e,r){return f(z,t.outsidetextfont,e,r)}function f(t,e,r,n){e=e||{};var i=d(e.family,r),a=d(e.size,r),o=d(e.color,r);return{family:p(t.family,i,n.family),size:v(t.size,a,n.size),color:g(t.color,o,n.color)}}function d(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function p(t,e,r){if(\\\"string\\\"==typeof e){if(e||!t.noBlank)return e}else if(\\\"number\\\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}function m(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}function v(t,e,r){if(b(e)){e=+e;var n=t.min,i=t.max;if(!(void 0!==n&&e<n||void 0!==i&&e>i))return e}return void 0!==r?r:t.dflt}function g(t,e,r){return x(e).isValid()?e:void 0!==r?r:t.dflt}var y=t(\\\"d3\\\"),b=t(\\\"fast-isnumeric\\\"),x=t(\\\"tinycolor2\\\"),_=t(\\\"../../lib\\\"),w=t(\\\"../../lib/svg_text_utils\\\"),M=t(\\\"../../components/color\\\"),k=t(\\\"../../components/drawing\\\"),A=t(\\\"../../components/errorbars\\\"),T=t(\\\"./attributes\\\"),S=T.text,E=T.textposition,L=T.textfont,C=T.insidetextfont,z=T.outsidetextfont,I=3;e.exports=function(t,e,r){var i=e.xaxis,a=e.yaxis,o=t._fullLayout,s=e.plot.select(\\\".barlayer\\\").selectAll(\\\"g.trace.bars\\\").data(r);s.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace bars\\\"),s.append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").each(function(e){var r=e[0].t,s=e[0].trace,l=r.poffset,u=Array.isArray(l);y.select(this).selectAll(\\\"g.point\\\").data(_.identity).enter().append(\\\"g\\\").classed(\\\"point\\\",!0).each(function(r,c){function h(t){return 0===o.bargap&&0===o.bargroupgap?y.round(Math.round(t)-A,2):t}function f(t,e){return Math.abs(t-e)>=2?h(t):t>e?Math.ceil(t):Math.floor(t)}var d,p,m,v,g=r.p+(u?l[c]:l),x=g+r.w,_=r.b,w=_+r.s;if(\\\"h\\\"===s.orientation?(m=a.c2p(g,!0),v=a.c2p(x,!0),d=i.c2p(_,!0),p=i.c2p(w,!0)):(d=i.c2p(g,!0),p=i.c2p(x,!0),m=a.c2p(_,!0),v=a.c2p(w,!0)),!(b(d)&&b(p)&&b(m)&&b(v)&&d!==p&&m!==v))return void y.select(this).remove();var k=(r.mlw+1||s.marker.line.width+1||(r.trace?r.trace.marker.line.width:0)+1)-1,A=y.round(k/2%1,2);if(!t._context.staticPlot){var T=M.opacity(r.mc||s.marker.color),S=T<1||k>.01?h:f;d=S(d,p),p=S(p,d),m=S(m,v),v=S(v,m)}var E=y.select(this);E.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"d\\\",\\\"M\\\"+d+\\\",\\\"+m+\\\"V\\\"+v+\\\"H\\\"+p+\\\"V\\\"+m+\\\"Z\\\"),n(t,E,e,c,d,p,m,v)})}),s.call(A.plot,e)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"./attributes\\\":854,d3:121,\\\"fast-isnumeric\\\":130,tinycolor2:533}],862:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(n.length){var s,l,u,c,h,f=t._fullLayout.barmode,d=\\\"overlay\\\"===f,p=\\\"group\\\"===f;if(d)i(t,e,r,n);else if(p){for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.offset?l.push(c):s.push(c);l.length&&a(t,e,r,l),s.length&&i(t,e,r,s)}else{for(s=[],l=[],u=0;u<n.length;u++)c=n[u],h=c[0].trace,void 0===h.base?l.push(c):s.push(c);l.length&&o(t,e,r,l),s.length&&i(t,e,r,s)}}}function i(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var l=n[o],u=new w([l],!1,a);s(t,e,u),i?(m(t,r,u),v(t,r,u)):d(t,r,u)}}function a(t,e,r,n){var i=t._fullLayout,a=i.barnorm,o=!a,s=new w(n,!1,o);l(t,e,s),a?(m(t,r,s),v(t,r,s)):d(t,r,s)}function o(t,e,r,n){var i=t._fullLayout,a=i.barmode,o=\\\"stack\\\"===a,l=\\\"relative\\\"===a,u=t._fullLayout.barnorm,c=l,h=!(u||o||l),f=new w(n,c,h);s(t,e,f),p(t,r,f);for(var d=0;d<n.length;d++)for(var m=n[d],g=0;g<m.length;g++){var y=m[g];if(y.s!==b){var x=y.b+y.s===f.get(y.p,y.s);x&&(y._outmost=!0)}}u&&v(t,r,f)}function s(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.minDiff,p=r.traces,m=d*(1-l),v=m,g=v*(1-f),y=-g/2;for(n=0;n<p.length;n++)i=p[n],a=i[0],o=a.t,o.barwidth=g,o.poffset=y,o.bargroupwidth=m;r.binWidth=p[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r)}function l(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,f=s.bargroupgap,d=r.positions,p=r.distinctPositions,m=r.minDiff,v=r.traces,g=d.length!==p.length,y=v.length,b=m*(1-l),x=g?b/y:b,_=x*(1-f);for(n=0;n<y;n++){i=v[n],a=i[0];var w=g?((2*n+1-y)*x-_)/2:-_/2;o=a.t,o.barwidth=_,o.poffset=w,o.bargroupwidth=b}r.binWidth=v[0][0].t.barwidth/100,u(r),c(t,e,r),h(t,e,r,g)}function u(t){var e,r,n,i,a,o,s=t.traces;for(e=0;e<s.length;e++){r=s[e],n=r[0],i=n.trace,o=n.t;var l,u=i.offset,c=o.poffset;if(Array.isArray(u)){for(l=u.slice(0,r.length),a=0;a<l.length;a++)y(l[a])||(l[a]=c);for(a=l.length;a<r.length;a++)l.push(c);o.poffset=l}else void 0!==u&&(o.poffset=u);var h=i.width,f=o.barwidth;if(Array.isArray(h)){var d=h.slice(0,r.length);for(a=0;a<d.length;a++)y(d[a])||(d[a]=f);for(a=d.length;a<r.length;a++)d.push(f);if(o.barwidth=d,void 0===u){for(l=[],a=0;a<r.length;a++)l.push(c+(f-d[a])/2);o.poffset=l}}else void 0!==h&&(o.barwidth=h,void 0===u&&(o.poffset=c+(f-h)/2))}}function c(t,e,r){for(var n=r.traces,i=g(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,u=Array.isArray(l),c=s.barwidth,h=Array.isArray(c),f=0;f<o.length;f++){var d=o[f],p=d.w=h?c[f]:c;d[i]=d.p+(u?l[f]:l)+p/2}}function h(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;_.minDtick(e,s,o,n);for(var u=Math.min.apply(Math,a)-l,c=Math.max.apply(Math,a)+l,h=0;h<i.length;h++){var f=i[h],d=f[0],p=d.trace;if(void 0!==p.width||void 0!==p.offset)for(var m=d.t,v=m.poffset,g=m.barwidth,y=Array.isArray(v),b=Array.isArray(g),x=0;x<f.length;x++){var w=f[x],M=y?v[x]:v,k=b?g[x]:g,A=w.p,T=A+M,S=T+k;u=Math.min(u,T),c=Math.max(c,S)}}_.expand(e,[u,c],{padded:!1})}function f(t,e){y(t[0])?t[0]=Math.min(t[0],e):t[0]=e,y(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function d(t,e,r){for(var n=r.traces,i=g(e),a=e.l2c(e.c2l(0)),o=[a,a],s=0;s<n.length;s++)for(var l=n[s],u=0;u<l.length;u++){var c=l[u],h=c.b,d=h+c.s;c[i]=d,y(e.c2l(d))&&f(o,d),y(e.c2l(h))&&f(o,h)}_.expand(e,o,{tozero:!0,padded:!0})}function p(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.barnorm,u=g(e),c=r.traces,h=e.l2c(e.c2l(0)),d=[h,h];for(n=0;n<c.length;n++)for(i=c[n],a=0;a<i.length;a++)if(o=i[a],o.s!==b){var p=r.put(o.p,o.b+o.s),m=p+o.b+o.s;o.b=p,o[u]=m,l||(y(e.c2l(m))&&f(d,m),y(e.c2l(p))&&f(d,p))}l||_.expand(e,d,{tozero:!0,padded:!0})}function m(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var a=n[i],o=0;o<a.length;o++){var s=a[o];s.s!==b&&r.put(s.p,s.b+s.s)}}function v(t,e,r){function n(t){y(e.c2l(t))&&(t<l-s||t>u+s||!y(l))&&(h=!0,f(c,t))}for(var i=r.traces,a=g(e),o=\\\"fraction\\\"===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=\\\"stack\\\"===t._fullLayout.barmode?o:l,c=[l,u],h=!1,d=0;d<i.length;d++)for(var p=i[d],m=0;m<p.length;m++){var v=p[m];if(v.s!==b){var x=Math.abs(o/r.get(v.p,v.s));v.b*=x,v.s*=x;var w=v.b,M=w+v.s;v[a]=M,n(M),n(w)}}_.expand(e,c,{tozero:!0,padded:h})}function g(t){return t._id.charAt(0)}var y=t(\\\"fast-isnumeric\\\"),b=t(\\\"../../constants/numerical\\\").BADNUM,x=t(\\\"../../registry\\\"),_=t(\\\"../../plots/cartesian/axes\\\"),w=t(\\\"./sieve.js\\\");e.exports=function(t,e){var r,i=e.xaxis,a=e.yaxis,o=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<o.length;r++){var c=o[r];!0===c.visible&&x.traceIs(c,\\\"bar\\\")&&c.xaxis===i._id&&c.yaxis===a._id&&(\\\"h\\\"===c.orientation?l.push(s[r]):u.push(s[r]))}n(t,i,a,u),n(t,a,i,l)}},{\\\"../../constants/numerical\\\":705,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"./sieve.js\\\":863,\\\"fast-isnumeric\\\":130}],863:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=[],o=0;o<t.length;o++)for(var s=t[o],l=0;l<s.length;l++){var u=s[l];u.p!==a&&n.push(u.p)}this.positions=n;var c=i.distinctVals(this.positions);this.distinctPositions=c.vals,this.minDiff=c.minDiff,this.binWidth=this.minDiff,this.bins={}}e.exports=n;var i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM;n.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},n.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},n.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\\\"v\\\":\\\"^\\\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725}],864:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../components/drawing\\\"),o=t(\\\"../../components/errorbars\\\");e.exports=function(t){var e=n.select(t).selectAll(\\\"g.trace.bars\\\"),r=e.size(),s=t._fullLayout;e.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(t){(\\\"stack\\\"===s.barmode&&r>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")}),e.selectAll(\\\"g.points\\\").each(function(t){var e=t[0].trace,r=e.marker,o=r.line,s=a.tryColorscale(r,\\\"\\\"),l=a.tryColorscale(r,\\\"line\\\");n.select(this).selectAll(\\\"path\\\").each(function(t){var e,a,u=(t.mlw+1||o.width+1)-1,c=n.select(this);e=\\\"mc\\\"in t?t.mcc=s(t.mc):Array.isArray(r.color)?i.defaultLine:r.color,c.style(\\\"stroke-width\\\",u+\\\"px\\\").call(i.fill,e),u&&(a=\\\"mlc\\\"in t?t.mlcc=l(t.mlc):Array.isArray(o.color)?i.defaultLine:o.color,c.call(i.stroke,a))})}),e.call(o.style)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,d3:121}],865:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,o,s){r(\\\"marker.color\\\",o),i(t,\\\"marker\\\")&&a(t,e,s,r,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.color\\\",n.defaultLine),i(t,\\\"marker.line\\\")&&a(t,e,s,r,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.width\\\")}},{\\\"../../components/color\\\":603,\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616}],866:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},x0:{valType:\\\"any\\\"},y0:{valType:\\\"any\\\"},xcalendar:n.xcalendar,ycalendar:n.ycalendar,whiskerwidth:{valType:\\\"number\\\",min:0,max:1,dflt:.5},boxpoints:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"outliers\\\",\\\"suspectedoutliers\\\",!1],dflt:\\\"outliers\\\"},boxmean:{valType:\\\"enumerated\\\",values:[!0,\\\"sd\\\",!1],dflt:!1},jitter:{valType:\\\"number\\\",min:0,max:1},pointpos:{valType:\\\"number\\\",min:-2,max:2},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"]},marker:{outliercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0, 0, 0, 0)\\\"},symbol:a({},o.symbol,{arrayOk:!1}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1}),size:a({},o.size,{arrayOk:!1}),color:a({},o.color,{arrayOk:!1}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine}),width:a({},s.width,{arrayOk:!1,dflt:0}),outliercolor:{valType:\\\"color\\\"},outlierwidth:{valType:\\\"number\\\",min:0,dflt:1}}},line:{color:{valType:\\\"color\\\"},width:{valType:\\\"number\\\",min:0,dflt:2}},fillcolor:n.fillcolor}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],867:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e){var r,o,s,l,u,c,h,f,d,p=a.getFromId(t,e.xaxis||\\\"x\\\"),m=a.getFromId(t,e.yaxis||\\\"y\\\"),v=e.orientation,g=[];\\\"h\\\"===v?(r=p,o=\\\"x\\\",u=m,c=\\\"y\\\"):(r=m,o=\\\"y\\\",u=p,c=\\\"x\\\"),s=r.makeCalcdata(e,o),a.expand(r,s,{padded:!0}),h=function(t,e,r,a,o){var s;return r in e?h=a.makeCalcdata(e,r):(s=r+\\\"0\\\"in e?e[r+\\\"0\\\"]:\\\"name\\\"in e&&(\\\"category\\\"===a.type||n(e.name)&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(a.type)||i.isDateTime(e.name)&&\\\"date\\\"===a.type)?e.name:t.numboxes,s=a.d2c(s,0,e[r+\\\"calendar\\\"]),h=o.map(function(){return s})),h}(t,e,c,u,s);var y=i.distinctVals(h);return f=y.vals,d=y.minDiff/2,l=function(t,e,r,a,o){var s,l,u,c,h=a.length,f=e.length,d=[],p=[];for(s=0;s<h;++s)l=a[s],t[s]={pos:l},p[s]=l-o,d[s]=[];for(p.push(a[h-1]+o),s=0;s<f;++s)c=e[s],n(c)&&(u=i.findBin(r[s],p))>=0&&u<f&&d[u].push(c);return d}(g,s,h,f,d),function(t,e){var r,n,a,o;for(o=0;o<e.length;++o)r=e[o].sort(i.sorterAsc),n=r.length,a=t[o],a.val=r,a.min=r[0],a.max=r[n-1],a.mean=i.mean(r,n),a.sd=i.stdev(r,n,a.mean),a.q1=i.interp(r,.25),a.med=i.interp(r,.5),a.q3=i.interp(r,.75),a.lf=Math.min(a.q1,r[Math.min(i.findBin(2.5*a.q1-1.5*a.q3,r,!0)+1,n-1)]),a.uf=Math.max(a.q3,r[Math.max(i.findBin(2.5*a.q3-1.5*a.q1,r),0)]),a.lo=4*a.q1-3*a.q3,a.uo=4*a.q3-3*a.q1}(g,l),g=g.filter(function(t){return t.val&&t.val.length}),g.length?(g[0].t={boxnum:t.numboxes,dPos:d},t.numboxes++,g):[{t:{emptybox:!0}}]}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"fast-isnumeric\\\":130}],868:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}var u,c=l(\\\"y\\\"),h=l(\\\"x\\\");if(c&&c.length)u=\\\"v\\\",h||l(\\\"x0\\\");else{if(!h||!h.length)return void(e.visible=!1);u=\\\"h\\\",l(\\\"y0\\\")}i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],s),l(\\\"orientation\\\",u),l(\\\"line.color\\\",(t.marker||{}).color||r),l(\\\"line.width\\\",2),l(\\\"fillcolor\\\",a.addOpacity(e.line.color,.5)),l(\\\"whiskerwidth\\\"),l(\\\"boxmean\\\");var f=n.coerce2(t,e,o,\\\"marker.outliercolor\\\"),d=l(\\\"marker.line.outliercolor\\\"),p=f||d?l(\\\"boxpoints\\\",\\\"suspectedoutliers\\\"):l(\\\"boxpoints\\\");p&&(l(\\\"jitter\\\",\\\"all\\\"===p?.3:0),l(\\\"pointpos\\\",\\\"all\\\"===p?-1.5:0),l(\\\"marker.symbol\\\"),l(\\\"marker.opacity\\\"),l(\\\"marker.size\\\"),l(\\\"marker.color\\\",e.line.color),l(\\\"marker.line.color\\\"),l(\\\"marker.line.width\\\"),\\\"suspectedoutliers\\\"===p&&(l(\\\"marker.line.outliercolor\\\",e.marker.color),l(\\\"marker.line.outlierwidth\\\")))}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":866}],869:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/fx\\\"),o=t(\\\"../../components/color\\\");e.exports=function(t,e,r,s){var l,u,c,h,f,d,p,m,v,g=t.cd,y=g[0].trace,b=g[0].t,x=t.xa,_=t.ya,w=[];if(h=\\\"closest\\\"===s?2.5*b.bdPos:b.bdPos,\\\"h\\\"===y.orientation?(l=function(t){return a.inbox(t.min-e,t.max-e)},u=function(t){var e=t.pos+b.bPos-r;return a.inbox(e-h,e+h)},f=\\\"y\\\",d=_,m=\\\"x\\\",v=x):(l=function(t){var r=t.pos+b.bPos-e;return a.inbox(r-h,r+h)},u=function(t){return a.inbox(t.min-r,t.max-r)},f=\\\"x\\\",d=x,m=\\\"y\\\",v=_),c=a.getDistanceFunction(s,l,u),a.getClosest(g,c,t),!1!==t.index){var M=g[t.index],k=y.line.color,A=(y.marker||{}).color;o.opacity(k)&&y.line.width?t.color=k:o.opacity(A)&&y.boxpoints?t.color=A:t.color=y.fillcolor,t[f+\\\"0\\\"]=d.c2p(M.pos+b.bPos-b.bdPos,!0),t[f+\\\"1\\\"]=d.c2p(M.pos+b.bPos+b.bdPos,!0),n.tickText(d,d.c2l(M.pos),\\\"hover\\\").text,t[f+\\\"LabelVal\\\"]=M.pos;var T,S,E={},L=[\\\"med\\\",\\\"min\\\",\\\"q1\\\",\\\"q3\\\",\\\"max\\\"];y.boxmean&&L.push(\\\"mean\\\"),y.boxpoints&&[].push.apply(L,[\\\"lf\\\",\\\"uf\\\"]);for(var C=0;C<L.length;C++)(T=L[C])in M&&!(M[T]in E)&&(E[M[T]]=!0,p=v.c2p(M[T],!0),S=i.extendFlat({},t),S[m+\\\"0\\\"]=S[m+\\\"1\\\"]=p,S[m+\\\"LabelVal\\\"]=M[T],S.attr=T,\\\"mean\\\"===T&&\\\"sd\\\"in M&&\\\"sd\\\"===y.boxmean&&(S[m+\\\"err\\\"]=M.sd),t.name=\\\"\\\",w.push(S));return w}}},{\\\"../../components/color\\\":603,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766}],870:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"box\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":866,\\\"./calc\\\":867,\\\"./defaults\\\":868,\\\"./hover\\\":869,\\\"./layout_attributes\\\":871,\\\"./layout_defaults\\\":872,\\\"./plot\\\":873,\\\"./set_positions\\\":874,\\\"./style\\\":875}],871:[function(t,e,r){\\\"use strict\\\";e.exports={boxmode:{valType:\\\"enumerated\\\",values:[\\\"group\\\",\\\"overlay\\\"],dflt:\\\"overlay\\\"},boxgap:{valType:\\\"number\\\",min:0,max:1,dflt:.3},boxgroupgap:{valType:\\\"number\\\",min:0,max:1,dflt:.3}}},{}],872:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function o(r,n){return i.coerce(t,e,a,r,n)}for(var s,l=0;l<r.length;l++)if(n.traceIs(r[l],\\\"box\\\")){s=!0;break}s&&(o(\\\"boxmode\\\"),o(\\\"boxgap\\\"),o(\\\"boxgroupgap\\\"))}},{\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./layout_attributes\\\":871}],873:[function(t,e,r){\\\"use strict\\\";function n(){l=2e9}function i(){var t=l;return l=(69069*l+1)%4294967296,Math.abs(l-t)<429496729?i():l/4294967296}var a=t(\\\"d3\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/drawing\\\"),l=2e9;e.exports=function(t,e,r){var l,u,c=t._fullLayout,h=e.xaxis,f=e.yaxis;e.plot.select(\\\".boxlayer\\\").selectAll(\\\"g.trace.boxes\\\").data(r).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace boxes\\\").each(function(e){var r=e[0].t,d=e[0].trace,p=\\\"group\\\"===c.boxmode&&t.numboxes>1,m=r.dPos*(1-c.boxgap)*(1-c.boxgroupgap)/(p?t.numboxes:1),v=p?2*r.dPos*((r.boxnum+.5)/t.numboxes-.5)*(1-c.boxgap):0,g=m*d.whiskerwidth;if(!0!==d.visible||r.emptybox)return void a.select(this).remove();\\\"h\\\"===d.orientation?(l=f,u=h):(l=h,u=f),r.bPos=v,r.bdPos=m,n(),a.select(this).selectAll(\\\"path.box\\\").data(o.identity).enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"box\\\").each(function(t){var e=l.c2p(t.pos+v,!0),r=l.c2p(t.pos+v-m,!0),n=l.c2p(t.pos+v+m,!0),i=l.c2p(t.pos+v-g,!0),s=l.c2p(t.pos+v+g,!0),c=u.c2p(t.q1,!0),h=u.c2p(t.q3,!0),f=o.constrain(u.c2p(t.med,!0),Math.min(c,h)+1,Math.max(c,h)-1),p=u.c2p(!1===d.boxpoints?t.min:t.lf,!0),y=u.c2p(!1===d.boxpoints?t.max:t.uf,!0);\\\"h\\\"===d.orientation?a.select(this).attr(\\\"d\\\",\\\"M\\\"+f+\\\",\\\"+r+\\\"V\\\"+n+\\\"M\\\"+c+\\\",\\\"+r+\\\"V\\\"+n+\\\"H\\\"+h+\\\"V\\\"+r+\\\"ZM\\\"+c+\\\",\\\"+e+\\\"H\\\"+p+\\\"M\\\"+h+\\\",\\\"+e+\\\"H\\\"+y+(0===d.whiskerwidth?\\\"\\\":\\\"M\\\"+p+\\\",\\\"+i+\\\"V\\\"+s+\\\"M\\\"+y+\\\",\\\"+i+\\\"V\\\"+s)):a.select(this).attr(\\\"d\\\",\\\"M\\\"+r+\\\",\\\"+f+\\\"H\\\"+n+\\\"M\\\"+r+\\\",\\\"+c+\\\"H\\\"+n+\\\"V\\\"+h+\\\"H\\\"+r+\\\"ZM\\\"+e+\\\",\\\"+c+\\\"V\\\"+p+\\\"M\\\"+e+\\\",\\\"+h+\\\"V\\\"+y+(0===d.whiskerwidth?\\\"\\\":\\\"M\\\"+i+\\\",\\\"+p+\\\"H\\\"+s+\\\"M\\\"+i+\\\",\\\"+y+\\\"H\\\"+s))}),d.boxpoints&&a.select(this).selectAll(\\\"g.points\\\").data(function(t){return t.forEach(function(t){t.t=r,t.trace=d}),t}).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").selectAll(\\\"path\\\").data(function(t){var e,r,n,a,s,l,u,c=\\\"all\\\"===d.boxpoints?t.val:t.val.filter(function(e){return e<t.lf||e>t.uf}),h=Math.max((t.max-t.min)/10,t.q3-t.q1),f=1e-9*h,p=.01*h,g=[],y=0;if(d.jitter){if(0===h)for(y=1,g=new Array(c.length),e=0;e<c.length;e++)g[e]=1;else for(e=0;e<c.length;e++)r=Math.max(0,e-5),a=c[r],n=Math.min(c.length-1,e+5),s=c[n],\\\"all\\\"!==d.boxpoints&&(c[e]<t.lf?s=Math.min(s,t.lf):a=Math.max(a,t.uf)),l=Math.sqrt(p*(n-r)/(s-a+f))||0,l=o.constrain(Math.abs(l),0,1),g.push(l),y=Math.max(l,y);u=2*d.jitter/y}return c.map(function(e,r){var n,a=d.pointpos;return d.jitter&&(a+=u*g[r]*(i()-.5)),n=\\\"h\\\"===d.orientation?{y:t.pos+a*m+v,x:e}:{x:t.pos+a*m+v,y:e},\\\"suspectedoutliers\\\"===d.boxpoints&&e<t.uo&&e>t.lo&&(n.so=!0),n})}).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).call(s.translatePoints,h,f),d.boxmean&&a.select(this).selectAll(\\\"path.mean\\\").data(o.identity).enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}).each(function(t){var e=l.c2p(t.pos+v,!0),r=l.c2p(t.pos+v-m,!0),n=l.c2p(t.pos+v+m,!0),i=u.c2p(t.mean,!0),o=u.c2p(t.mean-t.sd,!0),s=u.c2p(t.mean+t.sd,!0);\\\"h\\\"===d.orientation?a.select(this).attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+r+\\\"V\\\"+n+(\\\"sd\\\"!==d.boxmean?\\\"\\\":\\\"m0,0L\\\"+o+\\\",\\\"+e+\\\"L\\\"+i+\\\",\\\"+r+\\\"L\\\"+s+\\\",\\\"+e+\\\"Z\\\")):a.select(this).attr(\\\"d\\\",\\\"M\\\"+r+\\\",\\\"+i+\\\"H\\\"+n+(\\\"sd\\\"!==d.boxmean?\\\"\\\":\\\"m0,0L\\\"+e+\\\",\\\"+o+\\\"L\\\"+r+\\\",\\\"+i+\\\"L\\\"+e+\\\",\\\"+s+\\\"Z\\\"))})})}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,d3:121}],874:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e){var r,o,s,l,u=t._fullLayout,c=e.xaxis,h=e.yaxis,f=[\\\"v\\\",\\\"h\\\"];for(o=0;o<f.length;++o){var d,p,m,v=f[o],g=[],y=[],b=0,x=0;for(r=\\\"h\\\"===v?h:c,s=0;s<t.calcdata.length;++s)d=t.calcdata[s],p=d[0].t,m=d[0].trace,!0===m.visible&&n.traceIs(m,\\\"box\\\")&&!p.emptybox&&m.orientation===v&&m.xaxis===c._id&&m.yaxis===h._id&&(g.push(s),!1!==m.boxpoints&&(b=Math.max(b,m.jitter-m.pointpos-1),x=Math.max(x,m.jitter+m.pointpos-1)));for(s=0;s<g.length;s++)for(d=t.calcdata[g[s]],l=0;l<d.length;l++)y.push(d[l].pos);if(y.length){var _=a.distinctVals(y),w=_.minDiff/2;for(y.length===_.vals.length&&(t.numboxes=1),i.minDtick(r,_.minDiff,_.vals[0],!0),o=0;o<g.length;o++){var M=g[o];t.calcdata[M][0].t.dPos=w}var k=(1-u.boxgap)*(1-u.boxgroupgap)*w/t.numboxes;i.expand(r,_.vals,{vpadminus:w+b*k,vpadplus:w+x*k})}}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844}],875:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../components/drawing\\\");e.exports=function(t){n.select(t).selectAll(\\\"g.trace.boxes\\\").style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(e){var r=e[0].trace,o=r.line.width;n.select(this).selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",o+\\\"px\\\").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),n.select(this).selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":o,\\\"stroke-dasharray\\\":2*o+\\\"px,\\\"+o+\\\"px\\\"}).call(i.stroke,r.line.color),n.select(this).selectAll(\\\"g.points path\\\").call(a.pointStyle,r,t)})}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,d3:121}],876:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../ohlc/attributes\\\"),a=t(\\\"../box/attributes\\\"),o={name:i.increasing.name,showlegend:i.increasing.showlegend,line:{color:n.extendFlat({},a.line.color),width:n.extendFlat({},a.line.width)},fillcolor:n.extendFlat({},a.fillcolor)};e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n.extendFlat({},a.line.width,{})},increasing:n.extendDeep({},o,{line:{color:{dflt:i.increasing.line.color.dflt}}}),decreasing:n.extendDeep({},o,{line:{color:{dflt:i.decreasing.line.color.dflt}}}),text:i.text,whiskerwidth:n.extendFlat({},a.whiskerwidth,{dflt:0})}},{\\\"../../lib\\\":725,\\\"../box/attributes\\\":866,\\\"../ohlc/attributes\\\":986}],877:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){o(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".fillcolor\\\")}var i=t(\\\"../../lib\\\"),a=t(\\\"../ohlc/ohlc_defaults\\\"),o=t(\\\"../ohlc/direction_defaults\\\"),s=t(\\\"../ohlc/helpers\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,o){function u(r,n){return i.coerce(t,e,l,r,n)}if(s.pushDummyTransformOpts(t,e),0===a(t,e,u,o))return void(e.visible=!1);u(\\\"line.width\\\"),n(t,e,u,\\\"increasing\\\"),n(t,e,u,\\\"decreasing\\\"),u(\\\"text\\\"),u(\\\"whiskerwidth\\\")}},{\\\"../../lib\\\":725,\\\"../ohlc/direction_defaults\\\":988,\\\"../ohlc/helpers\\\":989,\\\"../ohlc/ohlc_defaults\\\":991,\\\"./attributes\\\":876}],878:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/register\\\");e.exports={moduleType:\\\"trace\\\",name:\\\"candlestick\\\",basePlotModule:t(\\\"../../plots/cartesian\\\"),categories:[\\\"cartesian\\\",\\\"showLegend\\\",\\\"candlestick\\\"],meta:{},attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\")},n(t(\\\"../box\\\")),n(t(\\\"./transform\\\"))},{\\\"../../plot_api/register\\\":756,\\\"../../plots/cartesian\\\":776,\\\"../box\\\":870,\\\"./attributes\\\":876,\\\"./defaults\\\":877,\\\"./transform\\\":879}],879:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"box\\\",boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:o.makeTransform(t,e,r)},i=t[r];return i&&a.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../ohlc/helpers\\\");r.moduleType=\\\"transform\\\",r.name=\\\"candlestick\\\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return o.clearEphemeralTransformOpts(n),o.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){\\n\",\n       \"var a=t[i];\\\"candlestick\\\"===a.type?r.push(n(a,e,\\\"increasing\\\"),n(a,e,\\\"decreasing\\\")):r.push(a)}return o.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){for(var n=r.direction,a=o.getFilterFn(n),s=e.open,l=e.high,u=e.low,c=e.close,h=s.length,f=[],d=[],p=e._fullInput.x?function(t){var r=e.x[t];f.push(r,r,r,r,r,r)}:function(t){f.push(t,t,t,t,t,t)},m=0;m<h;m++)a(s[m],c[m])&&i(l[m])&&i(u[m])&&(p(m),function(t,e,r,n){d.push(r,t,n,n,n,e)}(s[m],l[m],u[m],c[m]));e.x=f,e.y=d}},{\\\"../../lib\\\":725,\\\"../ohlc/helpers\\\":989,\\\"fast-isnumeric\\\":130}],880:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){[\\\"aaxis\\\",\\\"baxis\\\"].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},u={tickfont:\\\"x\\\",id:o+\\\"axis\\\",letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:n,bgColor:r.paper_bgcolor,fullLayout:r};i(s,l,u),l._categories=l._categories||[],e[a]=l,t[a]||\\\"-\\\"===s.type||(t[a]={type:s.type})})}var i=t(\\\"./axis_defaults\\\");e.exports=function(t,e,r,i,a){i(\\\"a\\\")||(i(\\\"da\\\"),i(\\\"a0\\\")),i(\\\"b\\\")||(i(\\\"db\\\"),i(\\\"b0\\\")),n(t,e,r,a)}},{\\\"./axis_defaults\\\":885}],881:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(!Array.isArray(t)||e>=10)return null;for(var r=1/0,i=-1/0,a=t.length,o=0;o<a;o++){var s=t[o];if(Array.isArray(s)){var l=n(s,e+1);l&&(r=Math.min(l[0],r),i=Math.max(l[1],i))}else r=Math.min(s,r),i=Math.max(s,i)}return[r,i]}e.exports=function(t){return n(t,0)}},{}],882:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../components/color/attributes\\\");e.exports={carpet:{valType:\\\"string\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},a:{valType:\\\"data_array\\\"},a0:{valType:\\\"number\\\",dflt:0},da:{valType:\\\"number\\\",dflt:1},b:{valType:\\\"data_array\\\"},b0:{valType:\\\"number\\\",dflt:0},db:{valType:\\\"number\\\",dflt:1},cheaterslope:{valType:\\\"number\\\",dflt:1},aaxis:n({},a),baxis:n({},a),font:{family:n({},i.family,{dflt:'\\\"Open Sans\\\", verdana, arial, sans-serif'}),size:n({},i.size,{dflt:12}),color:n({},i.color,{dflt:o.defaultLine})},color:{valType:\\\"color\\\",dflt:o.defaultLine}}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"./axis_attributes\\\":884}],883:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,d,p,m,v,g=Array.isArray(r)?\\\"a\\\":\\\"b\\\",y=\\\"a\\\"===g?t.aaxis:t.baxis,b=y.smoothing,x=\\\"a\\\"===g?t.a2i:t.b2j,_=\\\"a\\\"===g?r:n,w=\\\"a\\\"===g?n:r,M=\\\"a\\\"===g?e.a.length:e.b.length,k=\\\"a\\\"===g?e.b.length:e.a.length,A=Math.floor(\\\"a\\\"===g?t.b2j(w):t.a2i(w)),T=\\\"a\\\"===g?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};b&&(o=Math.max(0,Math.min(k-2,A)),s=A-o,a=\\\"a\\\"===g?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var S=x(_[0]),E=x(_[1]),L=S<E?1:-1,C=1e-8*(E-S),z=L>0?Math.floor:Math.ceil,I=L>0?Math.ceil:Math.floor,D=L>0?Math.min:Math.max,P=L>0?Math.max:Math.min,O=z(S+C),R=I(E-C);c=T(S);var F=[[c]];for(i=O;i*L<R*L;i+=L)l=[],p=P(S,i),m=D(E,i+L),v=m-p,u=Math.max(0,Math.min(M-2,Math.floor(.5*(p+m)))),h=T(m),b&&(f=a(u,p-u),d=a(u,m-u),l.push([c[0]+f[0]/3*v,c[1]+f[1]/3*v]),l.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),l.push(h),F.push(l),c=h;return F}},{}],884:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../components/color/attributes\\\");e.exports={color:{valType:\\\"color\\\"},smoothing:{valType:\\\"number\\\",dflt:1,min:0,max:1.3},title:{valType:\\\"string\\\"},titlefont:n({},i,{}),titleoffset:{valType:\\\"number\\\",dflt:10},type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0},rangemode:{valType:\\\"enumerated\\\",values:[\\\"normal\\\",\\\"tozero\\\",\\\"nonnegative\\\"],dflt:\\\"normal\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\"},{valType:\\\"any\\\"}]},fixedrange:{valType:\\\"boolean\\\",dflt:!1},cheatertype:{valType:\\\"enumerated\\\",values:[\\\"index\\\",\\\"value\\\"],dflt:\\\"value\\\"},tickmode:{valType:\\\"enumerated\\\",values:[\\\"linear\\\",\\\"array\\\"],dflt:\\\"array\\\"},nticks:{valType:\\\"integer\\\",min:0,dflt:0},tickvals:{valType:\\\"data_array\\\"},ticktext:{valType:\\\"data_array\\\"},showticklabels:{valType:\\\"enumerated\\\",values:[\\\"start\\\",\\\"end\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"start\\\"},tickfont:n({},i,{}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\"},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\"},categoryarray:{valType:\\\"data_array\\\"},labelpadding:{valType:\\\"integer\\\",dflt:10},labelprefix:{valType:\\\"string\\\"},labelsuffix:{valType:\\\"string\\\",dflt:\\\"\\\"},showline:{valType:\\\"boolean\\\",dflt:!1},linecolor:{valType:\\\"color\\\",dflt:a.defaultLine},linewidth:{valType:\\\"number\\\",min:0,dflt:1},gridcolor:{valType:\\\"color\\\"},gridwidth:{valType:\\\"number\\\",min:0,dflt:1},showgrid:{valType:\\\"boolean\\\",dflt:!0},minorgridcount:{valType:\\\"integer\\\",min:0,dflt:0},minorgridwidth:{valType:\\\"number\\\",min:0,dflt:1},minorgridcolor:{valType:\\\"color\\\",dflt:a.lightLine},startline:{valType:\\\"boolean\\\"},startlinecolor:{valType:\\\"color\\\"},startlinewidth:{valType:\\\"number\\\",dflt:1},endline:{valType:\\\"boolean\\\"},endlinewidth:{valType:\\\"number\\\",dflt:1},endlinecolor:{valType:\\\"color\\\"},tick0:{valType:\\\"number\\\",min:0,dflt:0},dtick:{valType:\\\"number\\\",min:0,dflt:1},arraytick0:{valType:\\\"integer\\\",min:0,dflt:0},arraydtick:{valType:\\\"integer\\\",min:1,dflt:1}}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790}],885:[function(t,e,r){\\\"use strict\\\";function n(t,e){if(\\\"-\\\"===t.type){var r=t._id,n=r.charAt(0),i=n+\\\"calendar\\\",a=t[i];t.type=d(e,a)}}var i=t(\\\"./attributes\\\"),a=t(\\\"../../components/color\\\").addOpacity,o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/cartesian/tick_value_defaults\\\"),u=t(\\\"../../plots/cartesian/tick_label_defaults\\\"),c=t(\\\"../../plots/cartesian/category_order_defaults\\\"),h=t(\\\"../../plots/cartesian/set_convert\\\"),f=t(\\\"../../plots/cartesian/ordered_categories\\\"),d=t(\\\"../../plots/cartesian/axis_autotype\\\");e.exports=function(t,e,r){function d(r,n){return s.coerce(t,e,g,r,n)}function p(r,n){return s.coerce2(t,e,g,r,n)}var m=r.letter,v=r.font||{},g=i[m+\\\"axis\\\"];r.noHover=!0,r.name&&(e._name=r.name,e._id=r.name);var y=d(\\\"type\\\");if(\\\"-\\\"===y&&(r.data&&n(e,r.data),\\\"-\\\"===e.type?e.type=\\\"linear\\\":y=t.type=e.type),d(\\\"smoothing\\\"),d(\\\"cheatertype\\\"),d(\\\"showticklabels\\\"),d(\\\"labelprefix\\\",m+\\\" = \\\"),d(\\\"labelsuffix\\\"),d(\\\"showtickprefix\\\"),d(\\\"showticksuffix\\\"),d(\\\"separatethousands\\\"),d(\\\"tickformat\\\"),d(\\\"exponentformat\\\"),d(\\\"showexponent\\\"),d(\\\"categoryorder\\\"),d(\\\"tickmode\\\"),d(\\\"tickvals\\\"),d(\\\"ticktext\\\"),d(\\\"tick0\\\"),d(\\\"dtick\\\"),\\\"array\\\"===e.tickmode&&(d(\\\"arraytick0\\\"),d(\\\"arraydtick\\\")),d(\\\"labelpadding\\\"),e._hovertitle=m,\\\"date\\\"===y){o.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",r.calendar)}h(e,r.fullLayout);var b=d(\\\"color\\\",r.dfltColor),x=b===t.color?b:v.color;d(\\\"title\\\"),s.coerceFont(d,\\\"titlefont\\\",{family:v.family,size:Math.round(1.2*v.size),color:x}),d(\\\"titleoffset\\\"),d(\\\"tickangle\\\"),d(\\\"autorange\\\",!e.isValidRange(t.range))&&d(\\\"rangemode\\\"),d(\\\"range\\\"),e.cleanRange(),d(\\\"fixedrange\\\"),l(t,e,d,y),u(t,e,d,y,r),c(t,e,d);var _=p(\\\"gridcolor\\\",a(b,.3)),w=p(\\\"gridwidth\\\"),M=d(\\\"showgrid\\\");M||(delete e.gridcolor,delete e.gridwidth);var k=p(\\\"startlinecolor\\\",b),A=p(\\\"startlinewidth\\\",w);d(\\\"startline\\\",e.showgrid||!!k||!!A)||(delete e.startlinecolor,delete e.startlinewidth);var T=p(\\\"endlinecolor\\\",b),S=p(\\\"endlinewidth\\\",w);return d(\\\"endline\\\",e.showgrid||!!T||!!S)||(delete e.endlinecolor,delete e.endlinewidth),M?(d(\\\"minorgridcount\\\"),d(\\\"minorgridwidth\\\",w),d(\\\"minorgridcolor\\\",a(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._separators=r.fullLayout.separators,e._initialCategories=\\\"category\\\"===y?f(m,e.categoryorder,e.categoryarray,r.data):[],\\\"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,d(\\\"tickmode\\\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axis_autotype\\\":767,\\\"../../plots/cartesian/category_order_defaults\\\":770,\\\"../../plots/cartesian/ordered_categories\\\":779,\\\"../../plots/cartesian/set_convert\\\":783,\\\"../../plots/cartesian/tick_label_defaults\\\":784,\\\"../../plots/cartesian/tick_value_defaults\\\":786,\\\"../../registry\\\":844,\\\"./attributes\\\":882}],886:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"./cheater_basis\\\"),a=t(\\\"./array_minmax\\\"),o=t(\\\"./map_2d_array\\\"),s=t(\\\"./calc_gridlines\\\"),l=t(\\\"./calc_labels\\\"),u=t(\\\"./calc_clippath\\\"),c=t(\\\"../heatmap/clean_2d_array\\\"),h=t(\\\"./smooth_fill_2d_array\\\");e.exports=function(t,e){var r,f=n.getFromId(t,e.xaxis||\\\"x\\\"),d=n.getFromId(t,e.yaxis||\\\"y\\\"),p=e.aaxis,m=e.baxis,v=e._a=e.a,g=e._b=e.b,y={},b=e.y;if(e._cheater){var x=\\\"index\\\"===p.cheatertype?v.length:v,_=\\\"index\\\"===m.cheatertype?g.length:g;e.x=r=i(x,_,e.cheaterslope)}else r=e.x;e._x=e.x=r=c(r),e._y=e.y=b=c(b),h(r,v,g),h(b,v,g),e.setScale(),y.xp=e.xp=o(e.xp,r,f.c2p),y.yp=e.yp=o(e.yp,b,d.c2p);var w=a(r),M=a(b),k=.5*(w[1]-w[0]),A=.5*(w[1]+w[0]),T=.5*(M[1]-M[0]),S=.5*(M[1]+M[0]);return w=[A-1.3*k,A+1.3*k],M=[S-1.3*T,S+1.3*T],n.expand(f,w,{padded:!0}),n.expand(d,M,{padded:!0}),s(e,y,\\\"a\\\",\\\"b\\\"),s(e,y,\\\"b\\\",\\\"a\\\"),l(e,p),l(e,m),y.clipsegments=u(e.xctrl,e.yctrl,p,m),y.x=r,y.y=b,y.a=v,y.b=g,[y]}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../heatmap/clean_2d_array\\\":946,\\\"./array_minmax\\\":881,\\\"./calc_clippath\\\":887,\\\"./calc_gridlines\\\":888,\\\"./calc_labels\\\":889,\\\"./cheater_basis\\\":891,\\\"./map_2d_array\\\":903,\\\"./smooth_fill_2d_array\\\":907}],887:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=t[0].length-1,h=t.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=h;i++)a[i]=t[i][c],o[i]=e[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=t[h][i],o[c-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},{}],888:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e,r,a){function o(e){var n,i,o,s,l,u,c,h,f,d,p,v,g=[],y=[],b={};if(\\\"b\\\"===r)for(i=t.b2j(e),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,b.length=P,b.crossLength=D,b.xy=function(e){return t.evalxy([],e,i)},b.dxy=function(e,r){return t.dxydi([],e,o,r,s)},n=0;n<D;n++)u=Math.min(D-2,n),c=n-u,h=t.evalxy([],n,i),E.smoothing&&n>0&&(f=t.dxydi([],n-1,o,0,s),g.push(l[0]+f[0]/3),y.push(l[1]+f[1]/3),d=t.dxydi([],n-1,o,1,s),g.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),g.push(h[0]),y.push(h[1]),l=h;else for(n=t.a2i(e),u=Math.floor(Math.max(0,Math.min(D-2,n))),c=n-u,b.length=D,b.crossLength=P,b.xy=function(e){return t.evalxy([],n,e)},b.dxy=function(e,r){return t.dxydj([],u,e,c,r)},i=0;i<P;i++)o=Math.min(P-2,i),s=i-o,h=t.evalxy([],n,i),E.smoothing&&i>0&&(p=t.dxydj([],u,i-1,c,0),g.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),v=t.dxydj([],u,i-1,c,1),g.push(h[0]-v[0]/3),y.push(h[1]-v[1]/3)),g.push(h[0]),y.push(h[1]),l=h;return b.axisLetter=r,b.axis=M,b.crossAxis=E,b.value=e,b.constvar=a,b.index=m,b.x=g,b.y=y,b.smoothing=E.smoothing,b}function s(e){var n,i,o,s,l,u=[],c=[],h={};if(h.length=w.length,h.crossLength=S.length,\\\"b\\\"===r)for(o=Math.max(0,Math.min(P-2,e)),l=Math.min(1,Math.max(0,e-o)),h.xy=function(r){return t.evalxy([],r,e)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},n=0;n<z;n++)u[n]=L[e*O][n],c[n]=C[e*O][n];else for(i=Math.max(0,Math.min(D-2,e)),s=Math.min(1,Math.max(0,e-i)),h.xy=function(r){return t.evalxy([],e,r)},h.dxy=function(e,r){return t.dxydj([],i,e,s,r)},n=0;n<I;n++)u[n]=L[n][e*O],c[n]=C[n][e*O];return h.axisLetter=r,h.axis=M,h.crossAxis=E,h.value=w[e],h.constvar=a,h.index=e,h.x=u,h.y=c,h.smoothing=E.smoothing,h}var l,u,c,h,f,d,p,m,v,g,y,b,x,_,w=t[r],M=t[r+\\\"axis\\\"],k=M._gridlines=[],A=M._minorgridlines=[],T=M._boundarylines=[],S=t[a],E=t[a+\\\"axis\\\"];if(\\\"array\\\"===M.tickmode)for(M.tickvals=[],l=0;l<w.length;l++)M.tickvals.push(w[l]);var L=t.xctrl,C=t.yctrl,z=L[0].length,I=L.length,D=t.a.length,P=t.b.length;n.calcTicks(M);var O=M.smoothing?3:1;if(\\\"array\\\"===M.tickmode){for(h=5e-15,f=[Math.floor((w.length-1-M.arraytick0)/M.arraydtick*(1+h)),Math.ceil(-M.arraytick0/M.arraydtick/(1+h))].sort(function(t,e){return t-e}),d=f[0]-1,p=f[1]+1,m=d;m<p;m++)(u=M.arraytick0+M.arraydtick*m)<0||u>w.length-1||k.push(i(s(u),{color:M.gridcolor,width:M.gridwidth}));for(m=d;m<p;m++)if(c=M.arraytick0+M.arraydtick*m,y=Math.min(c+M.arraydtick,w.length-1),!(c<0||c>w.length-1||y<0||y>w.length-1))for(b=w[c],x=w[y],l=0;l<M.minorgridcount;l++)(_=y-c)<=0||(g=b+(x-b)*(l+1)/(M.minorgridcount+1)*(M.arraydtick/_))<w[0]||g>w[w.length-1]||A.push(i(o(g),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&&T.push(i(s(0),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&T.push(i(s(w.length-1),{color:M.endlinecolor,width:M.endlinewidth}))}else{for(h=5e-15,f=[Math.floor((w[w.length-1]-M.tick0)/M.dtick*(1+h)),Math.ceil((w[0]-M.tick0)/M.dtick/(1+h))].sort(function(t,e){return t-e}),d=f[0],p=f[1],m=d;m<=p;m++)v=M.tick0+M.dtick*m,k.push(i(o(v),{color:M.gridcolor,width:M.gridwidth}));for(m=d-1;m<p+1;m++)for(v=M.tick0+M.dtick*m,l=0;l<M.minorgridcount;l++)(g=v+M.dtick*(l+1)/(M.minorgridcount+1))<w[0]||g>w[w.length-1]||A.push(i(o(g),{color:M.minorgridcolor,width:M.minorgridwidth}));M.startline&&T.push(i(o(w[0]),{color:M.startlinecolor,width:M.startlinewidth})),M.endline&&T.push(i(o(w[w.length-1]),{color:M.endlinecolor,width:M.endlinewidth}))}}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/axes\\\":766}],889:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\\\"start\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a)),-1!==[\\\"end\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a))}},{\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/axes\\\":766}],890:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,h=(u*u*a-l*l*s)*n,f=u*(l+u)*3,d=l*(l+u)*3;return[[e[0]+(f&&c/f),e[1]+(f&&h/f)],[e[0]-(d&&c/d),e[1]-(d&&h/d)]]}},{}],891:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArray;e.exports=function(t,e,r){var i,a,o,s,l,u,c=[],h=n(t)?t.length:t,f=n(e)?e.length:e,d=n(t)?t:null,p=n(e)?e:null;d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(h-1)),p&&(s=(p.length-1)/(p[p.length-1]-p[0])/(f-1));var m,v=1/0,g=-1/0;for(a=0;a<f;a++)for(c[a]=[],u=p?(p[a]-p[0])*s:a/(f-1),i=0;i<h;i++)l=d?(d[i]-d[0])*o:i/(h-1),m=l-u*r,v=Math.min(m,v),g=Math.max(m,g),c[a][i]=m;var y=1/(g-v),b=-v*y;for(a=0;a<f;a++)for(i=0;i<h;i++)c[a][i]=y*c[a][i]+b;return c}},{\\\"../../lib\\\":725}],892:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}var i=t(\\\"./catmull_rom\\\"),a=t(\\\"../../lib\\\").ensureArray;e.exports=function(t,e,r,o,s,l){var u,c,h,f,d,p,m,v,g,y,b=r[0].length,x=r.length,_=s?3*b-2:b,w=l?3*x-2:x;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(c=0,f=0;c<x;c++,f+=l?3:1)for(d=t[f],p=e[f],m=r[c],v=o[c],u=0,h=0;u<b;u++,h+=s?3:1)d[h]=m[u],p[h]=v[u];if(s)for(c=0,f=0;c<x;c++,f+=l?3:1){for(u=1,h=3;u<b-1;u++,h+=3)g=i([r[c][u-1],o[c][u-1]],[r[c][u],o[c][u]],[r[c][u+1],o[c][u+1]],s),t[f][h-1]=g[0][0],e[f][h-1]=g[0][1],t[f][h+1]=g[1][0],e[f][h+1]=g[1][1];y=n([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=n([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)g=i([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]=g[0][0],e[f-1][h]=g[0][1],t[f+1][h]=g[1][0],e[f+1][h]=g[1][1];y=n([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=n([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)g=i([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]+g[0][0]),e[f][h-1]=.5*(e[f][h-1]+g[0][1]),t[f][h+1]=.5*(t[f][h+1]+g[1][0]),e[f][h+1]=.5*(e[f][h+1]+g[1][1]);y=n([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=n([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\\\":725,\\\"./catmull_rom\\\":890}],893:[function(t,e,r){\\\"use strict\\\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],894:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;r*=3,n*=3;var f=i*i,d=1-i,p=d*d,m=d*i*2,v=-3*p,g=3*(p-m),y=3*(m-f),b=3*f,x=a*a,_=x*a,w=1-a,M=w*w,k=M*w;for(h=0;h<t.length;h++)c=t[h],o=v*c[n][r]+g*c[n][r+1]+y*c[n][r+2]+b*c[n][r+3],s=v*c[n+1][r]+g*c[n+1][r+1]+y*c[n+1][r+2]+b*c[n+1][r+3],l=v*c[n+2][r]+g*c[n+2][r+1]+y*c[n+2][r+2]+b*c[n+2][r+3],u=v*c[n+3][r]+g*c[n+3][r+1]+y*c[n+3][r+2]+b*c[n+3][r+3],e[h]=k*o+3*(M*a*s+w*x*l)+_*u;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,u;r*=3;var c=i*i,h=1-i,f=h*h,d=h*i*2,p=-3*f,m=3*(f-d),v=3*(d-c),g=3*c,y=1-a;for(l=0;l<t.length;l++)u=t[l],o=p*u[n][r]+m*u[n][r+1]+v*u[n][r+2]+g*u[n][r+3],s=p*u[n+1][r]+m*u[n+1][r+1]+v*u[n+1][r+2]+g*u[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;n*=3;var f=a*a,d=f*a,p=1-a,m=p*p,v=m*p;for(c=0;c<t.length;c++)h=t[c],o=h[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],u=h[n+3][r+1]-h[n+3][r],e[c]=v*o+3*(m*a*s+p*f*l)+d*u;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c=1-a;for(l=0;l<t.length;l++)u=t[l],o=u[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],e[l]=c*o+a*s;return e}}},{}],895:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;r*=3,n*=3;var f=i*i,d=f*i,p=1-i,m=p*p,v=m*p,g=a*a,y=1-a,b=y*y,x=y*a*2,_=-3*b,w=3*(b-x),M=3*(x-g),k=3*g;for(h=0;h<t.length;h++)c=t[h],o=_*c[n][r]+w*c[n+1][r]+M*c[n+2][r]+k*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+M*c[n+2][r+1]+k*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+M*c[n+2][r+2]+k*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+M*c[n+2][r+3]+k*c[n+3][r+3],e[h]=v*o+3*(m*i*s+p*f*l)+d*u;return e}:e?function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c,h;r*=3;var f=a*a,d=f*a,p=1-a,m=p*p,v=m*p;for(c=0;c<t.length;c++)h=t[c],o=h[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],u=h[n+1][r+3]-h[n][r+3],e[c]=v*o+3*(m*a*s+p*f*l)+d*u;return e}:r?function(e,r,n,i,a){e||(e=[]);var o,s,l,u;n*=3;var c=1-i,h=a*a,f=1-a,d=f*f,p=f*a*2,m=-3*d,v=3*(d-p),g=3*(p-h),y=3*h;for(l=0;l<t.length;l++)u=t[l],o=m*u[n][r]+v*u[n+1][r]+g*u[n+2][r]+y*u[n+3][r],s=m*u[n][r+1]+v*u[n+1][r+1]+g*u[n+2][r+1]+y*u[n+3][r+1],e[l]=c*o+i*s;return e}:function(e,r,n,i,a){e||(e=[]);var o,s,l,u,c=1-i;for(l=0;l<t.length;l++)u=t[l],o=u[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],e[l]=c*o+i*s;return e}}},{}],896:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-f)),m=Math.max(0,Math.min(1,n-d));f*=3,d*=3;var v=p*p,g=v*p,y=1-p,b=y*y,x=b*y,_=m*m,w=_*m,M=1-m,k=M*M,A=k*M;for(h=0;h<t.length;h++)c=t[h],i=x*c[d][f]+3*(b*p*c[d][f+1]+y*v*c[d][f+2])+g*c[d][f+3],s=x*c[d+1][f]+3*(b*p*c[d+1][f+1]+y*v*c[d+1][f+2])+g*c[d+1][f+3],l=x*c[d+2][f]+3*(b*p*c[d+2][f+1]+y*v*c[d+2][f+2])+g*c[d+2][f+3],u=x*c[d+3][f]+3*(b*p*c[d+3][f+1]+y*v*c[d+3][f+2])+g*c[d+3][f+3],e[h]=A*i+3*(k*m*s+M*_*l)+w*u;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-f)),m=Math.max(0,Math.min(1,n-d));f*=3;var v=p*p,g=v*p,y=1-p,b=y*y,x=b*y,_=1-m;for(c=0;c<t.length;c++)h=t[c],i=_*h[d][f]+m*h[d+1][f],s=_*h[d][f+1]+m*h[d+1][f+1],l=_*h[d][f+2]+m*h[d+1][f+1],u=_*h[d][f+3]+m*h[d+1][f+1],e[c]=x*i+3*(b*p*s+y*v*l)+g*u;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),d=Math.max(0,Math.min(Math.floor(n),o)),p=Math.max(0,Math.min(1,r-f)),m=Math.max(0,Math.min(1,n-d));d*=3;var v=m*m,g=v*m,y=1-m,b=y*y,x=b*y,_=1-p;for(c=0;c<t.length;c++)h=t[c],i=_*h[d][f]+p*h[d][f+1],s=_*h[d+1][f]+p*h[d+1][f+1],l=_*h[d+2][f]+p*h[d+2][f+1],u=_*h[d+3][f]+p*h[d+3][f+1],e[c]=x*i+3*(b*m*s+y*v*l)+g*u;return e}:function(e,r,n){e||(e=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-c)),d=Math.max(0,Math.min(1,n-h)),p=1-d,m=1-f;for(l=0;l<t.length;l++)u=t[l],i=m*u[h][c]+f*u[h][c+1],s=m*u[h+1][c]+f*u[h+1][c+1],e[l]=p*i+d*s;return e}}},{}],897:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./xy_defaults\\\"),a=t(\\\"./ab_defaults\\\"),o=t(\\\"./set_convert\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"../../components/color/attributes\\\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,s,r,i)}e._clipPathId=\\\"clip\\\"+e.uid+\\\"carpet\\\";var h=c(\\\"color\\\",l.defaultLine);if(n.coerceFont(c,\\\"font\\\"),c(\\\"carpet\\\"),a(t,e,u,c,h),!e.a||!e.b)return void(e.visible=!1);e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0);var f=i(t,e,c);o(e),e._cheater&&c(\\\"cheaterslope\\\"),f||(e.visible=!1)}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib\\\":725,\\\"./ab_defaults\\\":880,\\\"./attributes\\\":882,\\\"./set_convert\\\":906,\\\"./xy_defaults\\\":908}],898:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return Array.isArray(t[0])}},{}],899:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.plot=t(\\\"./plot\\\"),n.calc=t(\\\"./calc\\\"),n.animatable=!0,n.moduleType=\\\"trace\\\",n.name=\\\"carpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"carpetAxis\\\",\\\"notLegendIsolatable\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":882,\\\"./calc\\\":886,\\\"./defaults\\\":897,\\\"./plot\\\":905}],900:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\\\"carpet\\\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],901:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){if(0===t.length)return\\\"\\\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\\\",\\\"+e[n]),r&&n<t.length-a&&(i.push(\\\"C\\\"),i.push([t[n+1]+\\\",\\\"+e[n+1],t[n+2]+\\\",\\\"+e[n+2]+\\\" \\\"].join(\\\" \\\")));return i.join(r?\\\"\\\":\\\"L\\\")}},{}],902:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)t[n]=r(e[n]);return t}},{}],903:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n,i;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)for(Array.isArray(t[n])?t[n].length>e.length&&(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i<e[0].length;i++)t[n][i]=r(e[n][i]);return t}},{}],904:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),h=Math.sqrt(a[0]*a[0]+a[1]*a[1]),f=(i[0]*a[0]+i[1]*a[1])/c/h;u=Math.max(0,f)}var d=180*Math.atan2(s,o)/Math.PI;return d<-90?(d+=180,l=-l):d>90&&(d-=180,l=-l),{angle:d,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},{}],905:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=t.selectAll(e+\\\".\\\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}function i(t,e,r){var i=r[0],u=r[0].trace,c=e.xaxis,h=e.yaxis,f=u.aaxis,d=u.baxis,p=t._fullLayout,m=e.plot.selectAll(\\\".carpetlayer\\\"),v=n(p._defs,\\\"g\\\",\\\"clips\\\"),g=n(m,\\\"g\\\",\\\"carpet\\\"+u.uid).classed(\\\"trace\\\",!0),y=n(g,\\\"g\\\",\\\"minorlayer\\\"),b=n(g,\\\"g\\\",\\\"majorlayer\\\"),x=n(g,\\\"g\\\",\\\"boundarylayer\\\"),_=n(g,\\\"g\\\",\\\"labellayer\\\");g.style(\\\"opacity\\\",u.opacity),o(c,h,b,f,\\\"a\\\",f._gridlines),o(c,h,b,d,\\\"b\\\",d._gridlines),o(c,h,y,f,\\\"a\\\",f._minorgridlines),o(c,h,y,d,\\\"b\\\",d._minorgridlines),o(c,h,x,f,\\\"a-boundary\\\",f._boundarylines),o(c,h,x,d,\\\"b-boundary\\\",d._boundarylines),l(t,_,u,i,c,h,s(t,c,h,u,i,_,f._labels,\\\"a-label\\\"),s(t,c,h,u,i,_,d._labels,\\\"b-label\\\")),a(u,i,v,c,h)}function a(t,e,r,i,a){var o,s,l,u,c=r.select(\\\"#\\\"+t._clipPathId);c.size()||(c=r.append(\\\"clipPath\\\").classed(\\\"carpetclip\\\",!0));var h=n(c,\\\"path\\\",\\\"carpetboundary\\\"),p=e.clipsegments,m=[];for(u=0;u<p.length;u++)o=p[u],s=f([],o.x,i.c2p),l=f([],o.y,a.c2p),m.push(d(s,l,o.bicubic));var v=\\\"M\\\"+m.join(\\\"L\\\")+\\\"Z\\\";c.attr(\\\"id\\\",t._clipPathId),h.attr(\\\"d\\\",v)}function o(t,e,r,n,i,a){var o=\\\"const-\\\"+i+\\\"-lines\\\",s=r.selectAll(\\\".\\\"+o).data(a);s.enter().append(\\\"path\\\").classed(o,!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\"),s.each(function(r){var n=r,i=n.x,a=n.y,o=f([],i,t.c2p),s=f([],a,e.c2p),l=\\\"M\\\"+d(o,s,n.smoothing);c.select(this).attr(\\\"d\\\",l).style(\\\"stroke-width\\\",n.width).style(\\\"stroke\\\",n.color).style(\\\"fill\\\",\\\"none\\\")}),s.exit().remove()}function s(t,e,r,n,i,a,o,s){var l=a.selectAll(\\\"text.\\\"+s).data(o);l.enter().append(\\\"text\\\").classed(s,!0);var u=0;return l.each(function(i){var a;if(\\\"auto\\\"===i.axis.tickangle)a=p(n,e,r,i.xy,i.dxy);else{var o=(i.axis.tickangle+180)*Math.PI/180;a=p(n,e,r,i.xy,[Math.cos(o),Math.sin(o)])}var s=(i.endAnchor?-1:1)*a.flip,l=c.select(this).attr({\\\"text-anchor\\\":s>0?\\\"start\\\":\\\"end\\\",\\\"data-notex\\\":1}).call(h.font,i.font).text(i.text).call(m.convertToTspans,t),f=h.bBox(this);l.attr(\\\"transform\\\",\\\"translate(\\\"+a.p[0]+\\\",\\\"+a.p[1]+\\\") rotate(\\\"+a.angle+\\\")translate(\\\"+i.axis.labelpadding*s+\\\",\\\"+.3*f.height+\\\")\\\"),u=Math.max(u,f.width+i.axis.labelpadding)}),l.exit().remove(),u}function l(t,e,r,n,i,a,o,s){var l,c,h,f;l=.5*(r.a[0]+r.a[r.a.length-1]),c=r.b[0],h=r.ab2xy(l,c,!0),f=r.dxyda_rough(l,c),u(t,e,r,n,h,f,r.aaxis,i,a,o,\\\"a-title\\\"),l=r.a[0],c=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(l,c,!0),f=r.dxydb_rough(l,c),u(t,e,r,n,h,f,r.baxis,i,a,s,\\\"b-title\\\")}function u(t,e,r,n,i,a,o,s,l,u,f){var d=[];o.title&&d.push(o.title);var v=e.selectAll(\\\"text.\\\"+f).data(d);v.enter().append(\\\"text\\\").classed(f,!0),v.each(function(){var e=p(r,s,l,i,a);-1===[\\\"start\\\",\\\"both\\\"].indexOf(o.showticklabels)&&(u=0),u+=o.titlefont.size+o.titleoffset,c.select(this).text(o.title||\\\"\\\").call(m.convertToTspans,t).attr(\\\"transform\\\",\\\"translate(\\\"+e.p[0]+\\\",\\\"+e.p[1]+\\\") rotate(\\\"+e.angle+\\\") translate(0,\\\"+u+\\\")\\\").classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").call(h.font,o.titlefont)}),v.exit().remove()}var c=t(\\\"d3\\\"),h=t(\\\"../../components/drawing\\\"),f=t(\\\"./map_1d_array\\\"),d=t(\\\"./makepath\\\"),p=t(\\\"./orient_text\\\"),m=t(\\\"../../lib/svg_text_utils\\\");e.exports=function(t,e,r){for(var n=0;n<r.length;n++)i(t,e,r[n])}},{\\\"../../components/drawing\\\":627,\\\"../../lib/svg_text_utils\\\":745,\\\"./makepath\\\":901,\\\"./map_1d_array\\\":902,\\\"./orient_text\\\":904,d3:121}],906:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../lib/search\\\").findBin,a=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,u=t.a.length,c=t.b.length,h=t.aaxis,f=t.baxis,d=e[0],p=e[u-1],m=r[0],v=r[c-1],g=e[e.length-1]-e[0],y=r[r.length-1]-r[0],b=g*n.RELATIVE_CULL_TOLERANCE,x=y*n.RELATIVE_CULL_TOLERANCE;d-=b,p+=b,m-=x,v+=x,t.isVisible=function(t,e){return t>d&&t<p&&e>m&&e<v},t.isOccluded=function(t,e){return t<d||t>p||e<m||e>v},h.c2p=function(t){return t},f.c2p=function(t){return t},t.setScale=function(){var e=t.x,r=t.y,n=a(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],u,c,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]),u-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]),u-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(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-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,i,a){if(!a&&(n<e[0]||n>e[u-1]|i<r[0]||i>r[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var h,f,d,p,m=0,v=0,g=[];n<e[0]?(h=0,f=0,m=(n-e[0])/(e[1]-e[0])):n>e[u-1]?(h=u-2,f=1,m=(n-e[u-1])/(e[u-1]-e[u-2])):(h=Math.max(0,Math.min(u-2,Math.floor(o))),f=o-h),i<r[0]?(d=0,p=0,v=(i-r[0])/(r[1]-r[0])):i>r[c-1]?(d=c-2,p=1,v=(i-r[c-1])/(r[c-1]-r[c-2])):(d=Math.max(0,Math.min(c-2,Math.floor(s))),p=s-d),m&&(t.dxydi(g,h,d,f,p),l[0]+=g[0]*m,l[1]+=g[1]*m),v&&(t.dxydj(g,h,d,f,p),l[0]+=g[0]*v,l[1]+=g[1]*v)}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,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=g*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\\\"../../lib/search\\\":740,\\\"./compute_control_points\\\":892,\\\"./constants\\\":893,\\\"./create_i_derivative_evaluator\\\":894,\\\"./create_j_derivative_evaluator\\\":895,\\\"./create_spline_evaluator\\\":896}],907:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length,h=0;for(i=0;i<u;i++)for(a=0;a<c;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=function(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<u-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<c-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var f,d,p,m,v,g,y,b,x,_,w,M=0,k=0,A=s.length;do{for(M=0,o=0;o<A;o++){i=s[o],a=l[o];var T,S,E,L,C,z,I=0,D=0;0===i?(C=Math.min(u-1,2),E=e[C],L=e[1],T=t[a][C],S=t[a][1],D+=S+(S-T)*(e[0]-L)/(L-E),I++):i===u-1&&(C=Math.max(0,u-3),E=e[C],L=e[u-2],T=t[a][C],S=t[a][u-2],D+=S+(S-T)*(e[u-1]-L)/(L-E),I++),(0===i||i===u-1)&&a>0&&a<c-1&&(f=r[a+1]-r[a],d=r[a]-r[a-1],D+=(d*t[a+1][i]+f*t[a-1][i])/(d+f),I++),0===a?(z=Math.min(c-1,2),E=r[z],L=r[1],T=t[z][i],S=t[1][i],D+=S+(S-T)*(r[0]-L)/(L-E),I++):a===c-1&&(z=Math.max(0,c-3),E=r[z],L=r[c-2],T=t[z][i],S=t[c-2][i],D+=S+(S-T)*(r[c-1]-L)/(L-E),I++),(0===a||a===c-1)&&i>0&&i<u-1&&(f=e[i+1]-e[i],d=e[i]-e[i-1],D+=(d*t[a][i+1]+f*t[a][i-1])/(d+f),I++),I?D/=I:(p=e[i+1]-e[i],m=e[i]-e[i-1],v=r[a+1]-r[a],g=r[a]-r[a-1],y=p*m*(p+m),b=v*g*(v+g),D=(y*(g*t[a+1][i]+v*t[a-1][i])+b*(m*t[a][i+1]+p*t[a][i-1]))/(b*(m+p)+y*(g+v))),x=D-t[a][i],_=x/h,M+=_*_,w=I?0:.85,t[a][i]+=x*(1+w)}M=Math.sqrt(M)}while(k++<100&&M>1e-5);return n.log(\\\"Smoother converged to\\\",M,\\\"after\\\",k,\\\"iterations\\\"),t}},{\\\"../../lib\\\":725}],908:[function(t,e,r){\\\"use strict\\\"\\n\",\n       \";var n=t(\\\"./has_columns\\\"),i=t(\\\"../heatmap/convert_column_xyz\\\");e.exports=function(t,e,r){var a=[],o=r(\\\"x\\\");o&&!n(o)&&a.push(\\\"x\\\"),e._cheater=!o;var s=r(\\\"y\\\");if(s&&!n(s)&&a.push(\\\"y\\\"),o||s)return a.length&&i(e,e.aaxis,e.baxis,\\\"a\\\",\\\"b\\\",a),!0}},{\\\"../heatmap/convert_column_xyz\\\":948,\\\"./has_columns\\\":898}],909:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker.line;e.exports=s({},{locations:{valType:\\\"data_array\\\"},locationmode:n.locationmode,z:{valType:\\\"data_array\\\"},text:{valType:\\\"data_array\\\"},marker:{line:{color:l.color,width:s({},l.width,{dflt:1})}},hoverinfo:s({},o.hoverinfo,{flags:[\\\"location\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"]})},i,{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scattergeo/attributes\\\":1064}],910:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){n(e,e.z,\\\"\\\",\\\"z\\\")}},{\\\"../../components/colorscale/calc\\\":609}],911:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/colorscale/defaults\\\"),a=t(\\\"./attributes\\\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l,u=s(\\\"locations\\\");if(u&&(l=u.length),!u||!l)return void(e.visible=!1);var c=s(\\\"z\\\");if(!Array.isArray(c))return void(e.visible=!1);c.length>l&&(e.z=c.slice(0,l)),s(\\\"locationmode\\\"),s(\\\"text\\\"),s(\\\"marker.line.color\\\"),s(\\\"marker.line.width\\\"),i(t,e,o,s,{prefix:\\\"\\\",cLetter:\\\"z\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"./attributes\\\":909}],912:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],913:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var o=e.hoverinfo,s=\\\"all\\\"===o?a.hoverinfo.flags:o.split(\\\"+\\\"),l=-1!==s.indexOf(\\\"name\\\"),u=-1!==s.indexOf(\\\"location\\\"),c=-1!==s.indexOf(\\\"z\\\"),h=-1!==s.indexOf(\\\"text\\\"),f=!l&&u,d=[];f?t.nameOverride=r.id:(l&&(t.nameOverride=e.name),u&&d.push(r.id)),c&&d.push(function(t){return i.tickText(n,n.c2l(t),\\\"hover\\\").text}(r.z)),h&&d.push(r.tx),t.extraText=d.join(\\\"<br>\\\")}var i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./attributes\\\");e.exports=function(t){var e=t.cd,r=e[0].trace,i=t.subplot,a=i.choroplethHoverPt;if(a){var o=i.projection(a.properties.ct);return t.x0=t.x1=o[0],t.y0=t.y1=o[1],t.index=a.index,t.location=a.id,t.z=a.z,n(t,r,a,i.mockAxis),[t]}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"./attributes\\\":909}],914:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"choropleth\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":794,\\\"../heatmap/colorbar\\\":947,\\\"./attributes\\\":909,\\\"./calc\\\":910,\\\"./defaults\\\":911,\\\"./event_data\\\":912,\\\"./hover\\\":913,\\\"./plot\\\":915}],915:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r,n=[],i=t.locations,a=i.length,o=u(t,e),s=(t.marker||{}).line||{},l=0;l<a;l++)(r=c(t.locationmode,i[l],o))&&(r.z=t.z[l],void 0!==t.text&&(r.tx=t.text[l]),h(s.color,r,\\\"mlc\\\",l),h(s.width,r,\\\"mlw\\\",l),r.index=l,n.push(r));return n.length>0&&(n[0].trace=t),n}function i(t){t.framework.selectAll(\\\"g.trace.choropleth\\\").each(function(t){var e=t[0].trace,r=a.select(this),n=e.marker||{},i=n.line||{},u=l.makeColorScaleFunc(l.extractScale(e.colorscale,e.zmin,e.zmax));r.selectAll(\\\"path.choroplethlocation\\\").each(function(t){a.select(this).attr(\\\"fill\\\",function(t){return u(t.z)}).call(o.stroke,t.mlc||i.color).call(s.dashLine,\\\"\\\",t.mlw||i.width||0)})})}var a=t(\\\"d3\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../components/colorscale\\\"),u=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,c=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,h=t(\\\"../../lib/array_to_calc_item\\\"),f=t(\\\"../../plots/geo/constants\\\");e.exports=function(t,e,r){function o(t){return t[0].trace.uid}var s,l=t.framework,u=l.select(\\\"g.choroplethlayer\\\"),c=l.select(\\\"g.baselayer\\\"),h=l.select(\\\"g.baselayeroverchoropleth\\\"),d=f.baseLayersOverChoropleth,p=u.selectAll(\\\"g.trace.choropleth\\\").data(e,o);p.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace choropleth\\\"),p.exit().remove(),p.each(function(e){var r=e[0].trace,i=n(r,t.topojson),o=a.select(this).selectAll(\\\"path.choroplethlocation\\\").data(i);o.enter().append(\\\"path\\\").classed(\\\"choroplethlocation\\\",!0).on(\\\"mouseover\\\",function(e){t.choroplethHoverPt=e}).on(\\\"mouseout\\\",function(){t.choroplethHoverPt=null}),o.exit().remove()}),h.selectAll(\\\"*\\\").remove();for(var m=0;m<d.length;m++)s=d[m],c.select(\\\"g.\\\"+s).remove(),t.drawTopo(h,s,r),t.styleLayer(h,s,r);i(t)}},{\\\"../../components/color\\\":603,\\\"../../components/colorscale\\\":617,\\\"../../components/drawing\\\":627,\\\"../../lib/array_to_calc_item\\\":710,\\\"../../lib/geo_location_utils\\\":719,\\\"../../lib/topojson_utils\\\":747,\\\"../../plots/geo/constants\\\":792,d3:121}],916:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../plots/font_attributes\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,c=i.line;e.exports=u({},{z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,connectgaps:n.connectgaps,autocontour:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"docalc\\\"},ncontours:{valType:\\\"integer\\\",dflt:15,min:1,editType:\\\"docalc\\\"},contours:{start:{valType:\\\"number\\\",dflt:null,editType:\\\"doplot\\\"},end:{valType:\\\"number\\\",dflt:null,editType:\\\"doplot\\\"},size:{valType:\\\"number\\\",dflt:null,min:0,editType:\\\"doplot\\\"},coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"heatmap\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"docalc\\\"},showlines:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"doplot\\\"},showlabels:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"doplot\\\"},labelfont:u({},l,{family:u({},l.family,{editType:\\\"doplot\\\"}),size:u({},l.size,{editType:\\\"doplot\\\"}),color:u({},l.color,{editType:\\\"dostyle\\\"})}),labelformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"doplot\\\"}},line:{color:u({},c.color,{}),width:c.width,dash:s,smoothing:u({},c.smoothing,{})}},a,{autocolorscale:u({},a.autocolorscale,{dflt:!1}),zmin:u({},a.zmin,{editType:\\\"docalc\\\"}),zmax:u({},a.zmax,{editType:\\\"docalc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../../plots/font_attributes\\\":790,\\\"../heatmap/attributes\\\":944,\\\"../scatter/attributes\\\":1027}],917:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"linear\\\",range:[t,e]};return i.autoTicks(n,(e-t)/(r||15)),n}var i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\").extendFlat,o=t(\\\"../heatmap/calc\\\");e.exports=function(t,e){var r=o(t,e),s=e.contours;if(!1!==e.autocontour){var l=n(e.zmin,e.zmax,e.ncontours);s.size=l.dtick,s.start=i.tickFirst(l),l.range.reverse(),s.end=i.tickFirst(l),s.start===e.zmin&&(s.start+=s.size),s.end===e.zmax&&(s.end-=s.size),s.start>s.end&&(s.start=s.end=(s.start+s.end)/2),e._input.contours||(e._input.contours={}),a(e._input.contours,{start:s.start,end:s.end,size:s.size}),e._input.autocontour=!0}else{var u=s.start,c=s.end,h=e._input.contours;if(u>c&&(s.start=h.start=c,c=s.end=h.end=u,u=s.start),!(s.size>0)){var f;f=u===c?1:n(u,c,e.ncontours).dtick,h.size=s.size=f}}return r}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../heatmap/calc\\\":945}],918:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/plots\\\"),i=t(\\\"../../components/colorbar/draw\\\"),a=t(\\\"./make_color_map\\\"),o=t(\\\"./end_plus\\\");e.exports=function(t,e){var r=e[0].trace,s=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+s).remove(),!r.showscale)return void n.autoMargin(t,s);var l=i(t,s);e[0].t.cb=l;var u=r.contours,c=r.line,h=u.size||1,f=u.coloring,d=a(r,{isColorbar:!0});\\\"heatmap\\\"===f&&l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(\\\"fill\\\"===f||\\\"heatmap\\\"===f?d:\\\"\\\").line({color:\\\"lines\\\"===f?d:c.color,width:!1!==u.showlines?c.width:0,dash:c.dash}).levels({start:u.start,end:o(u),size:h}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../plots/plots\\\":829,\\\"./end_plus\\\":922,\\\"./make_color_map\\\":926}],919:[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}}},{}],920:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){var a,o=n.coerce2(t,e,i,\\\"contours.start\\\"),s=n.coerce2(t,e,i,\\\"contours.end\\\"),l=!1===o||!1===s,u=r(\\\"contours.size\\\");!(a=l?e.autocontour=!0:r(\\\"autocontour\\\",!1))&&u||r(\\\"ncontours\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":916}],921:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/has_columns\\\"),a=t(\\\"../heatmap/xyz_defaults\\\"),o=t(\\\"./contours_defaults\\\"),s=t(\\\"./style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}if(!a(t,e,c,u))return void(e.visible=!1);c(\\\"text\\\"),c(\\\"connectgaps\\\",i(e)),o(t,e,c),s(t,e,c,u)}},{\\\"../../lib\\\":725,\\\"../heatmap/has_columns\\\":951,\\\"../heatmap/xyz_defaults\\\":959,\\\"./attributes\\\":916,\\\"./contours_defaults\\\":920,\\\"./style_defaults\\\":930}],922:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t.end+t.size/1e6}},{}],923:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function i(t,e){var r=t[2]-e[2],n=t[3]-e[3];return Math.sqrt(r*r+n*n)}function a(t,e,r,a,c){function h(t){return g[t%g.length]}var f,d=e.join(\\\",\\\"),p=d,m=t.crossings[p],v=o(m,r,e),g=[s(t,e,[-v[0],-v[1]])],y=v.join(\\\",\\\"),b=t.z.length,x=t.z[0].length;for(f=0;f<1e4;f++){if(m>20?(m=u.CHOOSESADDLE[m][(v[0]||v[1])<0?0:1],t.crossings[p]=u.SADDLEREMAINDER[m]):delete t.crossings[p],!(v=u.NEWDELTA[m])){l.log(\\\"Found bad marching index:\\\",m,e,t.level);break}g.push(s(t,e,v)),e[0]+=v[0],e[1]+=v[1],n(g[g.length-1],g[g.length-2],a,c)&&g.pop(),p=e.join(\\\",\\\");var _=v[0]&&(e[0]<0||e[0]>x-2)||v[1]&&(e[1]<0||e[1]>b-2);if(p===d&&v.join(\\\",\\\")===y||r&&_)break;m=t.crossings[p]}1e4===f&&l.log(\\\"Infinite loop in contour?\\\");var w,M,k,A,T,S,E,L=n(g[0],g[g.length-1],a,c),C=0,z=.2*t.smoothing,I=[],D=0;for(f=1;f<g.length;f++)E=i(g[f],g[f-1]),C+=E,I.push(E);var P=C/I.length*z;for(f=g.length-2;f>=D;f--)if((w=I[f])<P){for(k=0,M=f-1;M>=D&&w+I[M]<P;M--)w+=I[M];if(L&&f===g.length-2)for(k=0;k<M&&w+I[k]<P;k++)w+=I[k];T=f-M+k+1,S=Math.floor((f+M+k+2)/2),A=L||f!==g.length-2?L||-1!==M?T%2?h(S):[(h(S)[0]+h(S+1)[0])/2,(h(S)[1]+h(S+1)[1])/2]:g[0]:g[g.length-1],g.splice(M+1,f-M+1,A),f=M+1,k&&(D=k),L&&(f===g.length-2?g[k]=g[g.length-1]:0===f&&(g[g.length-1]=g[0]))}for(g.splice(0,D),f=0;f<g.length;f++)g[f].length=2;if(!(g.length<2))if(L)g.pop(),t.paths.push(g);else{r||l.log(\\\"Unclosed interior contour?\\\",t.level,d,g.join(\\\"L\\\"));var O=!1;t.edgepaths.forEach(function(e,r){if(!O&&n(e[0],g[g.length-1],a,c)){g.pop(),O=!0;var i=!1;t.edgepaths.forEach(function(e,o){!i&&n(e[e.length-1],g[0],a,c)&&(i=!0,g.splice(0,1),t.edgepaths.splice(r,1),o===r?t.paths.push(g.concat(e)):t.edgepaths[o]=t.edgepaths[o].concat(g,e))}),i||(t.edgepaths[r]=g.concat(e))}}),t.edgepaths.forEach(function(e,r){!O&&n(e[e.length-1],g[0],a,c)&&(g.splice(0,1),t.edgepaths[r]=e.concat(g),O=!0)}),O||t.edgepaths.push(g)}}function o(t,e,r){var n=0,i=0;return t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==u.BOTTOMSTART.indexOf(t)?i=1:-1!==u.LEFTSTART.indexOf(t)?n=1:-1!==u.TOPSTART.indexOf(t)?i=-1:n=-1,[n,i]}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var u=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-u)*t.y[i]+u*t.y[i+1],!0),n,i+u]}var l=t(\\\"../../lib\\\"),u=t(\\\"./constants\\\");e.exports=function(t,e,r){var n,i,o,s,u;for(e=e||.01,r=r||.01,o=0;o<t.length;o++){for(s=t[o],u=0;u<s.starts.length;u++)i=s.starts[u],a(s,i,\\\"edge\\\",e,r);for(n=0;Object.keys(s.crossings).length&&n<1e4;)n++,i=Object.keys(s.crossings)[0].split(\\\",\\\").map(Number),a(s,i,void 0,e,r);1e4===n&&l.log(\\\"Infinite loop in contour?\\\")}}},{\\\"../../lib\\\":725,\\\"./constants\\\":919}],924:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/hover\\\");e.exports=function(t,e,r,i){return n(t,e,r,i,!0)}},{\\\"../heatmap/hover\\\":952}],925:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\").plot,n.style=t(\\\"./style\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":916,\\\"./calc\\\":917,\\\"./colorbar\\\":918,\\\"./defaults\\\":921,\\\"./hover\\\":924,\\\"./plot\\\":928,\\\"./style\\\":929}],926:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/colorscale\\\"),a=t(\\\"./end_plus\\\");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,u=\\\"lines\\\"===e.coloring?0:1;isFinite(s)||(s=1,l=1);var c,h,f=t.colorscale,d=f.length,p=new Array(d),m=new Array(d);if(\\\"heatmap\\\"===e.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=r-s/2,t.zmax=t.zmin+l*s),h=0;h<d;h++)c=f[h],p[h]=c[0]*(t.zmax-t.zmin)+t.zmin,m[h]=c[1];var v=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),g=v[t.zmin<t.zmax?0:1],y=v[t.zmin<t.zmax?1:0];g!==t.zmin&&(p.splice(0,0,g),m.splice(0,0,Range[0])),y!==t.zmax&&(p.push(y),m.push(m[m.length-1]))}else for(h=0;h<d;h++)c=f[h],p[h]=(c[0]*(l+u-1)-u/2)*s+r,m[h]=c[1];return i.makeColorScaleFunc({domain:p,range:m},{noNumericCheck:!0})}},{\\\"../../components/colorscale\\\":617,\\\"./end_plus\\\":922,d3:121}],927:[function(t,e,r){\\\"use strict\\\";function n(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);if(5===r||10===r){return t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208}return 15===r?0:r}var i=t(\\\"./constants\\\");e.exports=function(t){var e,r,a,o,s,l,u,c,h,f=t[0].z,d=f.length,p=f[0].length,m=2===d||2===p;for(r=0;r<d-1;r++)for(o=[],0===r&&(o=o.concat(i.BOTTOMSTART)),r===d-2&&(o=o.concat(i.TOPSTART)),e=0;e<p-1;e++)for(a=o.slice(),0===e&&(a=a.concat(i.LEFTSTART)),e===p-2&&(a=a.concat(i.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=t[h],(u=n(c.level,l))&&(c.crossings[s]=u,-1!==a.indexOf(u)&&(c.starts.push([e,r]),m&&-1!==a.indexOf(u,a.indexOf(u)+1)&&c.starts.push([e,r])))}},{\\\"./constants\\\":919}],928:[function(t,e,r){\\\"use strict\\\";function n(t,e,n){var s=n[0].trace,u=n[0].x,h=n[0].y,f=s.contours,d=s.uid,p=e.xaxis,m=e.yaxis,v=t._fullLayout,g=\\\"contour\\\"+d,_=i(f,e,n[0]);if(!0!==s.visible)return v._paper.selectAll(\\\".\\\"+g+\\\",.hm\\\"+d).remove(),void v._infolayer.selectAll(\\\".cb\\\"+d).remove();\\\"heatmap\\\"===f.coloring?(s.zauto&&!1===s.autocontour&&(s._input.zmin=s.zmin=f.start-f.size/2,s._input.zmax=s.zmax=s.zmin+_.length*f.size),y(t,e,[n])):(v._paper.selectAll(\\\".hm\\\"+d).remove(),v._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".hm\\\"+d).remove()),b(_),x(_);var w=p.c2p(u[0],!0),M=p.c2p(u[u.length-1],!0),k=m.c2p(h[0],!0),A=m.c2p(h[h.length-1],!0),T=[[w,A],[M,A],[M,k],[w,k]],S=r.makeContourGroup(e,n,g);a(S,T,f),o(S,_,T,f),l(S,_,t,n[0],f,T),c(S,e,v._defs,n[0],T)}function i(t,e,r){for(var n=t.size,i=[],a=_(t),o=t.start;o<a;o+=n)if(i.push({level:o,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y,z:r.z,smoothing:r.trace.line.smoothing}),i.length>1e3){d.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return i}function a(t,e,r){var n=t.selectAll(\\\"g.contourbg\\\").data([0]);n.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var i=n.selectAll(\\\"path\\\").data(\\\"fill\\\"===r.coloring?[0]:[]);i.enter().append(\\\"path\\\"),i.exit().remove(),i.attr(\\\"d\\\",\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}function o(t,e,r,n){var i=t.selectAll(\\\"g.contourfill\\\").data([0]);i.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var a=i.selectAll(\\\"path\\\").data(\\\"fill\\\"===n.coloring?e:[]);a.enter().append(\\\"path\\\"),a.exit().remove(),a.each(function(t){var e=s(t,r);e?f.select(this).attr(\\\"d\\\",e).style(\\\"stroke\\\",\\\"none\\\"):f.select(this).remove()})}function s(t,e){function r(t){return Math.abs(t[0]-e[2][0])<.01}for(var n,i,a,o,s,l,u=Math.min(t.z[0][0],t.z[0][1]),c=t.edgepaths.length||u<=t.level?\\\"\\\":\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\",h=0,f=t.edgepaths.map(function(t,e){return e}),m=!0;f.length;){for(l=p.smoothopen(t.edgepaths[h],t.smoothing),c+=m?l:l.replace(/^M/,\\\"L\\\"),f.splice(f.indexOf(h),1),n=t.edgepaths[h][t.edgepaths[h].length-1],o=-1,a=0;a<4;a++){if(!n){d.log(\\\"Missing end?\\\",h,t);break}for(!function(t){return Math.abs(t[1]-e[0][1])<.01}(n)||r(n)?!function(t){return Math.abs(t[0]-e[0][0])<.01}(n)?!function(t){return Math.abs(t[1]-e[2][1])<.01}(n)?r(n)&&(i=e[2]):i=e[3]:i=e[0]:i=e[1],s=0;s<t.edgepaths.length;s++){var v=t.edgepaths[s][0];Math.abs(n[0]-i[0])<.01?Math.abs(n[0]-v[0])<.01&&(v[1]-n[1])*(i[1]-v[1])>=0&&(i=v,o=s):Math.abs(n[1]-i[1])<.01?Math.abs(n[1]-v[1])<.01&&(v[0]-n[0])*(i[0]-v[0])>=0&&(i=v,o=s):d.log(\\\"endpt to newendpt is not vert. or horz.\\\",n,i,v)}if(n=i,o>=0)break;c+=\\\"L\\\"+i}if(o===t.edgepaths.length){d.log(\\\"unclosed perimeter path\\\");break}h=o,m=-1===f.indexOf(h),m&&(h=f[0],c+=\\\"Z\\\")}for(h=0;h<t.paths.length;h++)c+=p.smoothclosed(t.paths[h],t.smoothing);return c}function l(t,e,n,i,a,o){var s=t.selectAll(\\\"g.contourlines\\\").data([0]);s.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var l=!1!==a.showlines,u=a.showlabels,c=l&&u,h=r.createLines(s,l||u,e),m=r.createLineClip(s,c,n._fullLayout._defs,i.trace.uid),v=t.selectAll(\\\"g.contourlabels\\\").data(u?[0]:[]);if(v.exit().remove(),v.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),u){var g=[o],y=[];d.clearLocationCache();var b=r.labelFormatter(a,i.t.cb,n._fullLayout),x=p.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(p.font,a.labelfont),_=e[0].xaxis._length,M=e[0].yaxis._length,k={left:Math.max(o[0][0],0),right:Math.min(o[2][0],_),top:Math.max(o[0][1],0),bottom:Math.min(o[2][1],M)};k.middle=(k.top+k.bottom)/2,k.center=(k.left+k.right)/2;var A=Math.sqrt(_*_+M*M),T=w.LABELDISTANCE*A/Math.max(1,e.length/w.LABELINCREASE);h.each(function(t){var e=r.calcTextOpts(t.level,b,x,n);f.select(this).selectAll(\\\"path\\\").each(function(){var t=this,n=d.getVisibleSegment(t,k,e.height/2);if(n&&!(n.len<(e.width+e.height)*w.LABELMIN))for(var i=Math.min(Math.ceil(n.len/T),w.LABELMAX),a=0;a<i;a++){var o=r.findBestTextLocation(t,n,e,y,k);if(!o)break;r.addLabelData(o,e,y,g)}})}),x.remove(),r.drawLabels(v,y,n,m,c?g:null)}u&&!l&&h.remove()}function u(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,h=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),f=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(h<1||f<1)return 1/0;var p=M.EDGECOST*(1/(h-1)+1/(f-1));p+=M.ANGLECOST*l*l;for(var m=o-u,v=s-c,g=o+u,y=s+c,b=0;b<r.length;b++){var x=r[b],_=Math.cos(x.theta)*x.width/2,w=Math.sin(x.theta)*x.width/2,k=2*d.segmentDistance(m,v,g,y,x.x-_,x.y-w,x.x+_,x.y+w)/(e.height+x.height),A=x.level===e.level,T=A?M.SAMELEVELDISTANCE:1;if(k<=T)return 1/0;p+=M.NEIGHBORCOST*(A?M.SAMELEVELFACTOR:1)/(k-T)}return p}function c(t,e,r,n,i){var a=\\\"clip\\\"+n.trace.uid,o=r.select(\\\".clips\\\").selectAll(\\\"#\\\"+a).data(n.trace.connectgaps?[]:[0]);if(o.enter().append(\\\"clipPath\\\").classed(\\\"contourclip\\\",!0).attr(\\\"id\\\",a),o.exit().remove(),!1===n.trace.connectgaps){var l={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:h(n),smoothing:0};b([l]),x([l]);var u=s(l,i),c=o.selectAll(\\\"path\\\").data([0]);c.enter().append(\\\"path\\\"),c.attr(\\\"d\\\",u)}else a=null;t.call(p.setClipUrl,a),e.plot.selectAll(\\\".hm\\\"+n.trace.uid).call(p.setClipUrl,a)}function h(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}var f=t(\\\"d3\\\"),d=t(\\\"../../lib\\\"),p=t(\\\"../../components/drawing\\\"),m=t(\\\"../../lib/svg_text_utils\\\"),v=t(\\\"../../plots/cartesian/axes\\\"),g=t(\\\"../../plots/cartesian/set_convert\\\"),y=t(\\\"../heatmap/plot\\\"),b=t(\\\"./make_crossings\\\"),x=t(\\\"./find_all_paths\\\"),_=t(\\\"./end_plus\\\"),w=t(\\\"./constants\\\"),M=w.LABELOPTIMIZER;r.plot=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])},r.makeContourGroup=function(t,e,r){var n=t.plot.select(\\\".maplayer\\\").selectAll(\\\"g.contour.\\\"+r).data(e);return n.enter().append(\\\"g\\\").classed(\\\"contour\\\",!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\\\"g.contourlevel\\\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\\\"g\\\").classed(\\\"contourlevel\\\",!0),e){var a=i.selectAll(\\\"path.openline\\\").data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(\\\"path\\\").classed(\\\"openline\\\",!0),a.attr(\\\"d\\\",function(t){return p.smoothopen(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\");var o=i.selectAll(\\\"path.closedline\\\").data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(\\\"path\\\").classed(\\\"closedline\\\",!0),o.attr(\\\"d\\\",function(t){return p.smoothclosed(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\")}return i},r.createLineClip=function(t,e,r,n){var i=e?\\\"clipline\\\"+n:null,a=r.select(\\\".clips\\\").selectAll(\\\"#\\\"+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(\\\"clipPath\\\").classed(\\\"contourlineclip\\\",!0).attr(\\\"id\\\",i),p.setClipUrl(t,i),a},r.labelFormatter=function(t,e,r){if(t.labelformat)return f.format(t.labelformat);var n;return e?n=e.axis:(n={type:\\\"linear\\\",_separators:\\\".,\\\",_id:\\\"ycontour\\\",nticks:(t.end-t.start)/t.size,showexponent:\\\"all\\\",range:[t.start,t.end]},g(n,r),v.calcTicks(n),n._tmin=null,n._tmax=null),function(t){return v.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(m.convertToTspans,n);var a=p.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var a,o,s,l,c,h=r.width;e.isClosed?(o=e.len/M.INITIALSEARCHPOINTS,a=e.min+o/2,s=e.max):(o=(e.len-h)/(M.INITIALSEARCHPOINTS+1),a=e.min+o+h/2,s=e.max-(o+h)/2);for(var f=1/0,p=0;p<M.ITERATIONS;p++){for(var m=a;m<s;m+=o){var v=d.getTextLocation(t,e.total,m,h),g=u(v,r,n,i);g<f&&(f=g,c=v,l=m)}if(f>2*M.MAXCOST)break;p&&(o/=2),a=l-o/2,s=a+1.5*o}if(f<=M.MAXCOST)return c},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.sin(l),c=Math.cos(l),h=i*c,f=a*u,d=i*u,p=-a*c,m=[[o-h-f,s-d-p],[o+h-f,s+d-p],[o+h+f,s+d+p],[o-h+f,s-d+p]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(m)},r.drawLabels=function(t,e,r,n,i){var a=t.selectAll(\\\"text\\\").data(e,function(t){return t.text+\\\",\\\"+t.x+\\\",\\\"+t.y+\\\",\\\"+t.theta});if(a.exit().remove(),a.enter().append(\\\"text\\\").attr({\\\"data-notex\\\":1,\\\"text-anchor\\\":\\\"middle\\\"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,n=t.y-Math.cos(t.theta)*t.dy;f.select(this).text(t.text).attr({x:e,y:n,transform:\\\"rotate(\\\"+180*t.theta/Math.PI+\\\" \\\"+e+\\\" \\\"+n+\\\")\\\"}).call(m.convertToTspans,r)}),i){for(var o=\\\"\\\",s=0;s<i.length;s++)o+=\\\"M\\\"+i[s].join(\\\"L\\\")+\\\"Z\\\";var l=n.selectAll(\\\"path\\\").data([0]);l.enter().append(\\\"path\\\"),l.attr(\\\"d\\\",o)}}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"../../lib/svg_text_utils\\\":745,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/set_convert\\\":783,\\\"../heatmap/plot\\\":957,\\\"./constants\\\":919,\\\"./end_plus\\\":922,\\\"./find_all_paths\\\":923,\\\"./make_crossings\\\":927,d3:121}],929:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=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.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c=\\\"constraint\\\"===a.type,h=!c&&\\\"lines\\\"===a.coloring,f=!c&&\\\"fill\\\"===a.coloring,d=h||f?o(r):null;e.selectAll(\\\"g.contourlevel\\\").each(function(t){n.select(this).selectAll(\\\"path\\\").call(i.lineGroupStyle,s.width,h?d(t.level):s.color,s.dash)});var p=a.labelfont;if(e.selectAll(\\\"g.contourlabels text\\\").each(function(t){i.font(n.select(this),{family:p.family,size:p.size,color:p.color||(h?d(t.level):s.color)})}),c)e.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",r.fillcolor);else if(f){var m;e.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",function(t){return void 0===m&&(m=t.level),d(t.level+.5*l)}),void 0===m&&(m=u),e.selectAll(\\\"g.contourbg path\\\").style(\\\"fill\\\",d(m-.5*l))}}),a(t)}},{\\\"../../components/drawing\\\":627,\\\"../heatmap/style\\\":958,\\\"./make_color_map\\\":926,d3:121}],930:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/defaults\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a,o,s){var l,u=r(\\\"contours.coloring\\\"),c=\\\"\\\";if(\\\"fill\\\"===u&&(l=r(\\\"contours.showlines\\\")),!1!==l&&(\\\"lines\\\"!==u&&(c=r(\\\"line.color\\\",o||\\\"#000\\\")),r(\\\"line.width\\\",void 0===s?.5:s),r(\\\"line.dash\\\")),r(\\\"line.smoothing\\\"),\\\"none\\\"!==u&&n(t,e,a,r,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),r(\\\"contours.showlabels\\\")){var h=a.font;i.coerceFont(r,\\\"contours.labelfont\\\",{family:h.family,size:h.size,color:c}),r(\\\"contours.labelformat\\\")}}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725}],931:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=i.contours,o=t(\\\"../scatter/attributes\\\"),s=t(\\\"../../components/colorscale/attributes\\\"),l=t(\\\"../../components/colorbar/attributes\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,c=o.line,h=t(\\\"./constants\\\");e.exports=u({},{carpet:{valType:\\\"string\\\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"fill\\\"],extras:[\\\"none\\\"]},connectgaps:n.connectgaps,fillcolor:{valType:\\\"color\\\"},autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:{valType:\\\"enumerated\\\",values:[\\\"levels\\\",\\\"constraint\\\"],dflt:\\\"levels\\\",editType:\\\"docalc\\\"},start:a.start,end:a.end,size:a.size,coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"docalc\\\"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:{valType:\\\"enumerated\\\",values:[].concat(h.INEQUALITY_OPS).concat(h.INTERVAL_OPS).concat(h.SET_OPS),dflt:\\\"=\\\",editType:\\\"docalc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"docalc\\\"}},line:{color:u({},c.color,{}),width:c.width,dash:c.dash,smoothing:u({},c.smoothing,{})}},s,{autocolorscale:u({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../contour/attributes\\\":916,\\\"../heatmap/attributes\\\":944,\\\"../scatter/attributes\\\":1027,\\\"./constants\\\":934}],932:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"linear\\\",range:[t,e]};return o.autoTicks(n,(e-t)/(r||15)),n}function i(t,e){function r(t){A=e._input.zsmooth=e.zsmooth=!1,a.notifier(\\\"cannot fast-zsmooth: \\\"+t)}var n,i,o,s,g,y,b,x,_=e.carpetTrace,w=_.aaxis,M=_.baxis,k=l.traceIs(e,\\\"contour\\\"),A=k?\\\"best\\\":e.zsmooth;if(w._minDtick=0,M._minDtick=0,c(e)&&h(e,w,M,\\\"a\\\",\\\"b\\\",[\\\"z\\\"]),n=e.a?w.makeCalcdata(e,\\\"a\\\"):[],s=e.b?M.makeCalcdata(e,\\\"b\\\"):[],i=e.a0||0,o=e.da||1,g=e.b0||0,y=e.db||1,b=f(e.z,e.transpose),e._emptypoints=m(b),e._interpz=p(b,e._emptypoints,e._interpz),\\\"fast\\\"===A)if(\\\"log\\\"===w.type||\\\"log\\\"===M.type)r(\\\"log axis found\\\");else{if(n.length){var T=(n[n.length-1]-n[0])/(n.length-1),S=Math.abs(T/100);for(x=0;x<n.length-1;x++)if(Math.abs(n[x+1]-n[x]-T)>S){r(\\\"a scale is not linear\\\");break}}if(s.length&&\\\"fast\\\"===A){var E=(s[s.length-1]-s[0])/(s.length-1),L=Math.abs(E/100);for(x=0;x<s.length-1;x++)if(Math.abs(s[x+1]-s[x]-E)>L){r(\\\"b scale is not linear\\\");break}}}var C=d(b),z=\\\"scaled\\\"===e.xtype?\\\"\\\":n,I=v(e,z,i,o,C,w),D=\\\"scaled\\\"===e.ytype?\\\"\\\":s,P=v(e,D,g,y,b.length,M),O={a:I,b:P,z:b};return\\\"levels\\\"===e.contours.type&&u(e,b,\\\"\\\",\\\"z\\\"),[O]}var a=t(\\\"../../lib\\\"),o=t(\\\"../../plots/cartesian/axes\\\"),s=t(\\\"../../lib\\\").extendFlat,l=t(\\\"../../registry\\\"),u=t(\\\"../../components/colorscale/calc\\\"),c=t(\\\"../heatmap/has_columns\\\"),h=t(\\\"../heatmap/convert_column_xyz\\\"),f=t(\\\"../heatmap/clean_2d_array\\\"),d=t(\\\"../heatmap/max_row_length\\\"),p=t(\\\"../heatmap/interp2d\\\"),m=t(\\\"../heatmap/find_empties\\\"),v=t(\\\"../heatmap/make_bound_array\\\"),g=t(\\\"./defaults\\\"),y=t(\\\"../carpet/lookup_carpetid\\\");e.exports=function(t,e){var r=e.carpetTrace=y(t,e);if(r&&r.visible&&\\\"legendonly\\\"!==r.visible){if(!e.a||!e.b){var a=t.data[r.index],l=t.data[e.index];l.a||(l.a=a.a),l.b||(l.b=a.b),g(l,e,e._defaultColor,t._fullLayout)}var u=i(t,e),c=e.contours;if(!0===e.autocontour){var h=n(e.zmin,e.zmax,e.ncontours);c.size=h.dtick,c.start=o.tickFirst(h),h.range.reverse(),c.end=o.tickFirst(h),c.start===e.zmin&&(c.start+=c.size),c.end===e.zmax&&(c.end-=c.size),c.start>c.end&&(c.start=c.end=(c.start+c.end)/2),e._input.contours=s({},c)}else{var f=c.start,d=c.end,p=e._input.contours;if(f>d&&(c.start=p.start=d,d=c.end=p.end=f,f=c.start),!(c.size>0)){var m;m=f===d?1:n(f,d,e.ncontours).dtick,p.size=c.size=m}}return u}}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../carpet/lookup_carpetid\\\":900,\\\"../heatmap/clean_2d_array\\\":946,\\\"../heatmap/convert_column_xyz\\\":948,\\\"../heatmap/find_empties\\\":950,\\\"../heatmap/has_columns\\\":951,\\\"../heatmap/interp2d\\\":954,\\\"../heatmap/make_bound_array\\\":955,\\\"../heatmap/max_row_length\\\":956,\\\"./defaults\\\":938}],933:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=n.a.length,l=n.b.length,u=n.z,c=-1/0,h=1/0;for(i=0;i<l;i++)h=Math.min(h,u[i][0]),h=Math.min(h,u[i][s-1]),c=Math.max(c,u[i][0]),c=Math.max(c,u[i][s-1]);for(i=1;i<s-1;i++)h=Math.min(h,u[0][i]),h=Math.min(h,u[l-1][i]),c=Math.max(c,u[0][i]),c=Math.max(c,u[l-1][i]);switch(e){case\\\">\\\":case\\\">=\\\":n.contours.value>c&&(t[0].prefixBoundary=!0);break;case\\\"<\\\":case\\\"<=\\\":n.contours.value<h&&(t[0].prefixBoundary=!0);break;case\\\"[]\\\":case\\\"()\\\":a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),o<h&&(t[0].prefixBoundary=!0),a>c&&(t[0].prefixBoundary=!0);break;case\\\"][\\\":case\\\")(\\\":a=Math.min.apply(null,n.contours.value),o=Math.max.apply(null,n.contours.value),a<h&&o>c&&(t[0].prefixBoundary=!0)}}},{}],934:[function(t,e,r){\\\"use strict\\\";e.exports={INEQUALITY_OPS:[\\\"=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],INTERVAL_OPS:[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],SET_OPS:[\\\"{}\\\",\\\"}{\\\"]}},{}],935:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){return s(t)?+t:null}var n,i=Array.isArray(e);return-1!==o.INEQUALITY_OPS.indexOf(t)?n=r(i?e[0]:e):-1!==o.INTERVAL_OPS.indexOf(t)?n=i?[r(e[0]),r(e[1])]:[r(e),r(e)]:-1!==o.SET_OPS.indexOf(t)&&(n=i?e.map(r):[r(e)]),n}function i(t){return function(e){e=n(t,e);var r=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return{start:r,end:i,size:i-r}}}function a(t){return function(e){return e=n(t,e),{start:e,end:1/0,size:1/0}}}var o=t(\\\"./constants\\\"),s=t(\\\"fast-isnumeric\\\");e.exports[\\\"[]\\\"]=i(\\\"[]\\\"),e.exports[\\\"()\\\"]=i(\\\"()\\\"),e.exports[\\\"[)\\\"]=i(\\\"[)\\\"),e.exports[\\\"(]\\\"]=i(\\\"(]\\\"),e.exports[\\\"][\\\"]=i(\\\"][\\\"),e.exports[\\\")(\\\"]=i(\\\")(\\\"),e.exports[\\\")[\\\"]=i(\\\")[\\\"),e.exports[\\\"](\\\"]=i(\\\"](\\\"),e.exports[\\\">\\\"]=a(\\\">\\\"),e.exports[\\\">=\\\"]=a(\\\">=\\\"),e.exports[\\\"<\\\"]=a(\\\"<\\\"),e.exports[\\\"<=\\\"]=a(\\\"<=\\\"),e.exports[\\\"=\\\"]=a(\\\"=\\\")},{\\\"./constants\\\":934,\\\"fast-isnumeric\\\":130}],936:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constraint_mapping\\\"),i=t(\\\"fast-isnumeric\\\");e.exports=function(t,e){var r;-1===[\\\"=\\\",\\\"<\\\",\\\"<=\\\",\\\">\\\",\\\">=\\\"].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])]:i(e.value)&&(r=parseFloat(e.value),\\n\",\n       \"e.value=[r,r+1])):(t(\\\"contours.value\\\",0),i(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0));var a=n[e.operation](e.value);e.start=a.start,e.end=a.end,e.size=a.size}},{\\\"./constraint_mapping\\\":935,\\\"fast-isnumeric\\\":130}],937:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){var r,i,a,o=function(t){return t.reverse()},s=function(t){return t};switch(e){case\\\"][\\\":case\\\")[\\\":case\\\"](\\\":case\\\")(\\\":var l=o;o=s,s=l;case\\\"[]\\\":case\\\"[)\\\":case\\\"(]\\\":case\\\"()\\\":if(2!==t.length)return void n.warn(\\\"Contour data invalid for the specified inequality range operation.\\\");for(i=t[0],a=t[1],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=o(i.paths[r]);for(;a.edgepaths.length;)i.edgepaths.push(s(a.edgepaths.shift()));for(;a.paths.length;)i.paths.push(s(a.paths.shift()));t.pop();break;case\\\">=\\\":case\\\">\\\":if(1!==t.length)return void n.warn(\\\"Contour data invalid for the specified inequality operation.\\\");for(i=t[0],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=o(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=o(i.paths[r])}}},{\\\"../../lib\\\":725}],938:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/xyz_defaults\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../contour/style_defaults\\\"),s=t(\\\"../scatter/fillcolor_defaults\\\"),l=t(\\\"../../plots/attributes\\\"),u=t(\\\"./constraint_value_defaults\\\"),c=t(\\\"../../components/color\\\").addOpacity;e.exports=function(t,e,r,h){function f(r,i){return n.coerce(t,e,a,r,i)}if(f(\\\"carpet\\\"),t.a&&t.b){var d,p,m,v,g;if(!i(t,e,f,h,\\\"a\\\",\\\"b\\\"))return void(e.visible=!1);f(\\\"text\\\"),f(\\\"contours.type\\\");var y=e.contours;if(\\\"constraint\\\"===y.type){f(\\\"contours.operation\\\"),u(f,y),n.coerce(t,e,l,\\\"showlegend\\\",!0),f(\\\"contours.coloring\\\",\\\"=\\\"===y.operation?\\\"lines\\\":\\\"fill\\\"),f(\\\"contours.showlines\\\",!0),\\\"=\\\"===y.operation&&(y.coloring=\\\"lines\\\"),s(t,e,r,f);var b=e.fillcolor?c(e.fillcolor,1):r;o(t,e,f,h,b,2),\\\"=\\\"===y.operation&&(f(\\\"line.color\\\",r),\\\"fill\\\"===y.coloring&&(y.coloring=\\\"lines\\\"),\\\"lines\\\"===y.coloring&&delete e.fillcolor),delete e.showscale,delete e.autocontour,delete e.autocolorscale,delete e.colorscale,delete e.ncontours,delete e.colorbar,e.line&&(delete e.line.autocolorscale,delete e.line.colorscale,delete e.line.mincolor,delete e.line.maxcolor)}else n.coerce(t,e,l,\\\"showlegend\\\",!1),p=n.coerce2(t,e,a,\\\"contours.start\\\"),m=n.coerce2(t,e,a,\\\"contours.end\\\"),d=f(\\\"contours.size\\\"),f(\\\"contours.coloring\\\"),v=!1===p||!1===m,g=v?e.autocontour=!0:f(\\\"autocontour\\\",!1),!g&&d||f(\\\"ncontours\\\"),o(t,e,f,h),delete e.value,delete e.operation}else e._defaultColor=r}},{\\\"../../components/color\\\":603,\\\"../../lib\\\":725,\\\"../../plots/attributes\\\":764,\\\"../contour/style_defaults\\\":930,\\\"../heatmap/xyz_defaults\\\":959,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"./attributes\\\":931,\\\"./constraint_value_defaults\\\":936}],939:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r){for(var i=t.size,a=[],o=r.trace.carpetTrace,s=t.start;s<t.end+i/10;s+=i)if(a.push({level:s,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:o.aaxis,yaxis:o.baxis,x:r.a,y:r.b,z:r.z,smoothing:r.trace.line.smoothing}),a.length>1e3){n.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return a}},{\\\"../../lib\\\":725}],940:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../contour/style\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contourcarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"contour\\\",\\\"symbols\\\",\\\"showLegend\\\",\\\"hasLines\\\",\\\"carpetDependent\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../contour/colorbar\\\":918,\\\"../contour/style\\\":929,\\\"./attributes\\\":931,\\\"./calc\\\":932,\\\"./defaults\\\":938,\\\"./plot\\\":943}],941:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/drawing\\\"),i=t(\\\"../carpet/axis_aligned_line\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e,r,o,s,l,u,c){function h(t){return Math.abs(t[1]-r[0][1])<S}function f(t){return Math.abs(t[1]-r[2][1])<S}function d(t){return Math.abs(t[0]-r[0][0])<T}function p(t){return Math.abs(t[0]-r[2][0])<T}function m(t,e){var r,n,a,o,m=\\\"\\\";for(h(t)&&!p(t)||f(t)&&!d(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<a.length;r++)for(m+=o.smoothing?\\\"C\\\":\\\"L\\\",n=0;n<a[r].length;n++){var v=a[r][n];m+=[u.c2p(v[0]),c.c2p(v[1])]+\\\" \\\"}return m}var v,g,y,b,x,_,w,M=\\\"\\\",k=e.edgepaths.map(function(t,e){return e}),A=!0,T=1e-4*Math.abs(r[0][0]-r[2][0]),S=1e-4*Math.abs(r[0][1]-r[2][1]);for(v=0,g=null;k.length;){var E=e.edgepaths[v][0];for(g&&(M+=m(g,E)),w=n.smoothopen(e.edgepaths[v].map(o),e.smoothing),M+=A?w:w.replace(/^M/,\\\"L\\\"),k.splice(k.indexOf(v),1),g=e.edgepaths[v][e.edgepaths[v].length-1],x=-1,b=0;b<4;b++){if(!g){a.log(\\\"Missing end?\\\",v,e);break}for(h(g)&&!p(g)?y=r[1]:d(g)?y=r[0]:f(g)?y=r[3]:p(g)&&(y=r[2]),_=0;_<e.edgepaths.length;_++){var L=e.edgepaths[_][0];Math.abs(g[0]-y[0])<T?Math.abs(g[0]-L[0])<T&&(L[1]-g[1])*(y[1]-L[1])>=0&&(y=L,x=_):Math.abs(g[1]-y[1])<S?Math.abs(g[1]-L[1])<S&&(L[0]-g[0])*(y[0]-L[0])>=0&&(y=L,x=_):a.log(\\\"endpt to newendpt is not vert. or horz.\\\",g,y,L)}if(x>=0)break;M+=m(g,y),g=y}if(x===e.edgepaths.length){a.log(\\\"unclosed perimeter path\\\");break}v=x,A=-1===k.indexOf(v),A&&(v=k[0],M+=m(g,y)+\\\"Z\\\",g=null)}for(v=0;v<e.paths.length;v++)M+=n.smoothclosed(e.paths[v].map(o),e.smoothing);return M}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"../carpet/axis_aligned_line\\\":883}],942:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r<t.length;r++){for(a=t[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=e(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=e(c[i]);s.push(u)}}}},{}],943:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){var e=o.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),T.c2p(e[1])]}var a=r[0].trace,o=a.carpetTrace=k(t,a),s=t.calcdata[o.index][0];if(o.visible&&\\\"legendonly\\\"!==o.visible){var l=r[0].a,h=r[0].b,m=a.contours,b=a.uid,_=e.xaxis,T=e.yaxis,S=t._fullLayout,E=\\\"contour\\\"+b,L=w(m,e,r[0]),C=\\\"constraint\\\"===a.contours.type;if(!0!==a.visible)return void S._infolayer.selectAll(\\\".cb\\\"+b).remove();var z=[[l[0],h[h.length-1]],[l[l.length-1],h[h.length-1]],[l[l.length-1],h[0]],[l[0],h[0]]];v(L);var I=1e-8*(l[l.length-1]-l[0]),D=1e-8*(h[h.length-1]-h[0]);g(L,I,D),\\\"constraint\\\"===a.contours.type&&(x(L,a.contours.operation),A(L,a.contours.operation,z,a)),M(L,n);var P,O,R,F,j=y.makeContourGroup(e,r,E),N=[];for(F=s.clipsegments.length-1;F>=0;F--)P=s.clipsegments[F],O=f([],P.x,_.c2p),R=f([],P.y,T.c2p),O.reverse(),R.reverse(),N.push(d(O,R,P.bicubic));var B=\\\"M\\\"+N.join(\\\"L\\\")+\\\"Z\\\";u(j,s.clipsegments,_,T,C,m.coloring),c(a,j,_,T,L,z,n,o,s,m.coloring,B),i(j,L,t,r[0],m,e,o),p.setClipUrl(j,o._clipPathId)}}function i(t,e,r,n,i,o,s){var l=t.selectAll(\\\"g.contourlines\\\").data([0]);l.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var u=!1!==i.showlines,c=i.showlabels,f=u&&c,d=y.createLines(l,u||c,e),v=y.createLineClip(l,f,r._fullLayout._defs,n.trace.uid),g=t.selectAll(\\\"g.contourlabels\\\").data(c?[0]:[]);if(g.exit().remove(),g.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),c){var x=o.xaxis,_=o.yaxis,w=x._length,M=_._length,k=[[[0,0],[w,0],[w,M],[0,M]]],A=[];m.clearLocationCache();var T=y.labelFormatter(i,n.t.cb,r._fullLayout),S=p.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(p.font,i.labelfont),E={left:0,right:w,center:w/2,top:0,bottom:M,middle:M/2},L=Math.sqrt(w*w+M*M),C=b.LABELDISTANCE*L/Math.max(1,e.length/b.LABELINCREASE);d.each(function(t){var e=y.calcTextOpts(t.level,T,S,r);h.select(this).selectAll(\\\"path\\\").each(function(r){var n=this,i=m.getVisibleSegment(n,E,e.height/2);if(i&&(a(n,r,t,i,s,e.height),!(i.len<(e.width+e.height)*b.LABELMIN)))for(var o=Math.min(Math.ceil(i.len/C),b.LABELMAX),l=0;l<o;l++){var u=y.findBestTextLocation(n,i,e,A,E);if(!u)break;y.addLabelData(u,e,A,k)}})}),S.remove(),y.drawLabels(g,A,r,v,f?k:null)}c&&!u&&d.remove()}function a(t,e,r,n,i,a){function u(t,e){var r,n=0;return(Math.abs(t[0]-f)<.1||Math.abs(t[0]-d)<.1)&&(r=s(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*l(e,r)/2)),(Math.abs(t[1]-p)<.1||Math.abs(t[1]-m)<.1)&&(r=s(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*l(e,r)/2)),n}for(var c,h=0;h<r.pedgepaths.length;h++)e===r.pedgepaths[h]&&(c=r.edgepaths[h]);if(c){var f=i.a[0],d=i.a[i.a.length-1],p=i.b[0],m=i.b[i.b.length-1],v=o(t,0,1),g=o(t,n.total,n.total-1),y=u(c[0],v),b=n.total-u(c[c.length-1],g);n.min<y&&(n.min=y),n.max>b&&(n.max=b),n.len=n.max-n.min}}function o(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function s(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function l(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}function u(t,e,r,n,i,a){var o,s,l,u,c=t.selectAll(\\\"g.contourbg\\\").data([0]);c.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var h=c.selectAll(\\\"path\\\").data(\\\"fill\\\"!==a||i?[]:[0]);h.enter().append(\\\"path\\\"),h.exit().remove();var p=[];for(u=0;u<e.length;u++)o=e[u],s=f([],o.x,r.c2p),l=f([],o.y,n.c2p),p.push(d(s,l,o.bicubic));h.attr(\\\"d\\\",\\\"M\\\"+p.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}function c(t,e,r,n,i,a,o,s,l,u,c){var f=e.selectAll(\\\"g.contourfill\\\").data([0]);f.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var d=f.selectAll(\\\"path\\\").data(\\\"fill\\\"===u?i:[]);d.enter().append(\\\"path\\\"),d.exit().remove(),d.each(function(e){var i=_(t,e,a,o,s,l,r,n);e.prefixBoundary&&(i=c+i),i?h.select(this).attr(\\\"d\\\",i).style(\\\"stroke\\\",\\\"none\\\"):h.select(this).remove()})}var h=t(\\\"d3\\\"),f=t(\\\"../carpet/map_1d_array\\\"),d=t(\\\"../carpet/makepath\\\"),p=t(\\\"../../components/drawing\\\"),m=t(\\\"../../lib\\\"),v=t(\\\"../contour/make_crossings\\\"),g=t(\\\"../contour/find_all_paths\\\"),y=t(\\\"../contour/plot\\\"),b=t(\\\"../contour/constants\\\"),x=t(\\\"./convert_to_constraints\\\"),_=t(\\\"./join_all_paths\\\"),w=t(\\\"./empty_pathinfo\\\"),M=t(\\\"./map_pathinfo\\\"),k=t(\\\"../carpet/lookup_carpetid\\\"),A=t(\\\"./close_boundaries\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"../carpet/lookup_carpetid\\\":900,\\\"../carpet/makepath\\\":901,\\\"../carpet/map_1d_array\\\":902,\\\"../contour/constants\\\":919,\\\"../contour/find_all_paths\\\":923,\\\"../contour/make_crossings\\\":927,\\\"../contour/plot\\\":928,\\\"./close_boundaries\\\":933,\\\"./convert_to_constraints\\\":937,\\\"./empty_pathinfo\\\":939,\\\"./join_all_paths\\\":941,\\\"./map_pathinfo\\\":942,d3:121}],944:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports=o({},{z:{valType:\\\"data_array\\\"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:{valType:\\\"data_array\\\"},transpose:{valType:\\\"boolean\\\",dflt:!1},xtype:{valType:\\\"enumerated\\\",values:[\\\"array\\\",\\\"scaled\\\"]},ytype:{valType:\\\"enumerated\\\",values:[\\\"array\\\",\\\"scaled\\\"]},zsmooth:{valType:\\\"enumerated\\\",values:[\\\"fast\\\",\\\"best\\\",!1],dflt:!1},connectgaps:{valType:\\\"boolean\\\",dflt:!1},xgap:{valType:\\\"number\\\",dflt:0,min:0},ygap:{valType:\\\"number\\\",dflt:0,min:0}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],945:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../histogram2d/calc\\\"),s=t(\\\"../../components/colorscale/calc\\\"),l=t(\\\"./has_columns\\\"),u=t(\\\"./convert_column_xyz\\\"),c=t(\\\"./max_row_length\\\"),h=t(\\\"./clean_2d_array\\\"),f=t(\\\"./interp2d\\\"),d=t(\\\"./find_empties\\\"),p=t(\\\"./make_bound_array\\\");e.exports=function(t,e){function r(t){E=e._input.zsmooth=e.zsmooth=!1,i.notifier(\\\"cannot fast-zsmooth: \\\"+t)}var m,v,g,y,b,x,_,w,M=a.getFromId(t,e.xaxis||\\\"x\\\"),k=a.getFromId(t,e.yaxis||\\\"y\\\"),A=n.traceIs(e,\\\"contour\\\"),T=n.traceIs(e,\\\"histogram\\\"),S=n.traceIs(e,\\\"gl2d\\\"),E=A?\\\"best\\\":e.zsmooth;if(M._minDtick=0,k._minDtick=0,T){var L=o(t,e);m=L.x,v=L.x0,g=L.dx,y=L.y,b=L.y0,x=L.dy,_=L.z}else l(e)?(u(e,M,k,\\\"x\\\",\\\"y\\\",[\\\"z\\\"]),m=e.x,y=e.y):(m=e.x?M.makeCalcdata(e,\\\"x\\\"):[],y=e.y?k.makeCalcdata(e,\\\"y\\\"):[]),v=e.x0||0,g=e.dx||1,b=e.y0||0,x=e.dy||1,_=h(e.z,e.transpose),(A||e.connectgaps)&&(e._emptypoints=d(_),e._interpz=f(_,e._emptypoints,e._interpz));if(\\\"fast\\\"===E)if(\\\"log\\\"===M.type||\\\"log\\\"===k.type)r(\\\"log axis found\\\");else if(!T){if(m.length){var C=(m[m.length-1]-m[0])/(m.length-1),z=Math.abs(C/100);for(w=0;w<m.length-1;w++)if(Math.abs(m[w+1]-m[w]-C)>z){r(\\\"x scale is not linear\\\");break}}if(y.length&&\\\"fast\\\"===E){var I=(y[y.length-1]-y[0])/(y.length-1),D=Math.abs(I/100);for(w=0;w<y.length-1;w++)if(Math.abs(y[w+1]-y[w]-I)>D){r(\\\"y scale is not linear\\\");break}}}var P=c(_),O=\\\"scaled\\\"===e.xtype?\\\"\\\":m,R=p(e,O,v,g,P,M),F=\\\"scaled\\\"===e.ytype?\\\"\\\":y,j=p(e,F,b,x,_.length,k);S||(a.expand(M,R),a.expand(k,j));var N={x:R,y:j,z:_,text:e.text};if(s(e,_,\\\"\\\",\\\"z\\\"),A&&e.contours&&\\\"heatmap\\\"===e.contours.coloring){var B={type:\\\"contour\\\"===e.type?\\\"heatmap\\\":\\\"histogram2d\\\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(B,O,v,g,P,M),N.yfill=p(B,F,b,x,_.length,k)}return[N]}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../registry\\\":844,\\\"../histogram2d/calc\\\":973,\\\"./clean_2d_array\\\":946,\\\"./convert_column_xyz\\\":948,\\\"./find_empties\\\":950,\\\"./has_columns\\\":951,\\\"./interp2d\\\":954,\\\"./make_bound_array\\\":955,\\\"./max_row_length\\\":956}],946:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t,e){var r,i,a,o,s,l;if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=function(t){if(n(t))return+t}(o(t,s,l));return u}},{\\\"fast-isnumeric\\\":130}],947:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,u=r.zmin,c=r.zmax;if(n(u)||(u=i.aggNums(Math.min,null,r.z)),n(c)||(c=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var h=e[0].t.cb=s(t,l),f=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});h.fillcolor(f).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],948:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r,a,o,s){a=a||\\\"x\\\",o=o||\\\"y\\\",s=s||[\\\"z\\\"];var l,u,c,h,f,d=t[a].slice(),p=t[o].slice(),m=t.text,v=Math.min(d.length,p.length),g=void 0!==m&&!Array.isArray(m[0]),y=t[a+\\\"calendar\\\"],b=t[o+\\\"calendar\\\"];for(l=0;l<s.length;l++)(c=t[s[l]])&&(v=Math.min(v,c.length));for(v<d.length&&(d=d.slice(0,v)),v<p.length&&(p=p.slice(0,v)),l=0;l<v;l++)d[l]=e.d2c(d[l],0,y),p[l]=r.d2c(p[l],0,b);var x=n.distinctVals(d),_=x.vals,w=n.distinctVals(p),M=w.vals,k=[];for(l=0;l<s.length;l++)k[l]=n.init2dArray(M.length,_.length);var A,T,S;for(g&&(S=n.init2dArray(M.length,_.length)),l=0;l<v;l++)if(d[l]!==i&&p[l]!==i){for(A=n.findBin(d[l]+x.minDiff/2,_),T=n.findBin(p[l]+w.minDiff/2,M),u=0;u<s.length;u++)f=s[u],c=t[f],h=k[u],h[T][A]=c[l];g&&(S[T][A]=m[l])}for(t[a]=_,t[o]=M,u=0;u<s.length;u++)t[s[u]]=k[u];g&&(t.text=S)}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725}],949:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./has_columns\\\"),a=t(\\\"./xyz_defaults\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}if(!a(t,e,u,l))return void(e.visible=!1);u(\\\"text\\\"),!1===u(\\\"zsmooth\\\")&&(u(\\\"xgap\\\"),u(\\\"ygap\\\")),u(\\\"connectgaps\\\",i(e)&&!1!==e.zsmooth),o(t,e,l,u,{prefix:\\\"\\\",cLetter:\\\"z\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"./attributes\\\":944,\\\"./has_columns\\\":951,\\\"./xyz_defaults\\\":959}],950:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./max_row_length\\\");e.exports=function(t){var e,r,i,a,o,s,l,u,c=[],h={},f=[],d=t[0],p=[],m=[0,0,0],v=n(t);for(r=0;r<t.length;r++)for(e=p,p=d,d=t[r+1]||[],i=0;i<v;i++)void 0===p[i]&&(s=(void 0!==p[i-1]?1:0)+(void 0!==p[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==d[i]?1:0),s?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===p.length-1&&s++,s<4&&(h[[r,i]]=[r,i,s]),c.push([r,i,s])):f.push([r,i]));for(;f.length;){for(l={},u=!1,o=f.length-1;o>=0;o--)a=f[o],r=a[0],i=a[1],(s=((h[[r-1,i]]||m)[2]+(h[[r+1,i]]||m)[2]+(h[[r,i-1]]||m)[2]+(h[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],f.splice(o,1),u=!0);if(!u)throw\\\"findEmpties iterated with no new neighbors\\\";for(a in l)h[a]=l[a],c.push(l[a])}return c.sort(function(t,e){return e[2]-t[2]})}},{\\\"./max_row_length\\\":956}],951:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return!Array.isArray(t.z[0])}},{}],952:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../lib\\\"),a=n.constants.MAXDIST;e.exports=function(t,e,r,o,s){if(!(t.distance<a)){var l,u,c,h,f=t.cd[0],d=f.trace,p=t.xa,m=t.ya,v=f.x,g=f.y,y=f.z,b=f.zmask,x=v,_=g;if(!1!==t.index){try{c=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\\\"Error hovering on heatmap, pointNumber must be [row,col], found:\\\",t.index)}if(c<0||c>=y[0].length||h<0||h>y.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1])>a||n.inbox(r-g[0],r-g[g.length-1])>a)return;if(s){var w;for(x=[2*v[0]-v[1]],w=1;w<v.length;w++)x.push((v[w]+v[w-1])/2);for(x.push([2*v[v.length-1]-v[v.length-2]]),_=[2*g[0]-g[1]],w=1;w<g.length;w++)_.push((g[w]+g[w-1])/2);_.push([2*g[g.length-1]-g[g.length-2]])}c=Math.max(0,Math.min(x.length-2,i.findBin(e,x))),h=Math.max(0,Math.min(_.length-2,i.findBin(r,_)))}var M=p.c2p(v[c]),k=p.c2p(v[c+1]),A=m.c2p(g[h]),T=m.c2p(g[h+1]);s?(k=M,l=v[c],T=A,u=g[h]):(l=(v[c]+v[c+1])/2,u=(g[h]+g[h+1])/2,d.zsmooth&&(M=k=(M+k)/2,A=T=(A+T)/2));var S=y[h][c];b&&!b[h][c]&&(S=void 0);var E;return Array.isArray(f.text)&&Array.isArray(f.text[h])&&(E=f.text[h][c]),[i.extendFlat(t,{index:[h,c],distance:a+10,x0:M,x1:k,y0:A,y1:T,xLabelVal:l,yLabelVal:u,zLabelVal:S,text:E})]}}},{\\\"../../components/fx\\\":644,\\\"../../lib\\\":725}],953:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmap\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./attributes\\\":944,\\\"./calc\\\":945,\\\"./colorbar\\\":947,\\\"./defaults\\\":949,\\\"./hover\\\":952,\\\"./plot\\\":957,\\\"./style\\\":958}],954:[function(t,e,r){\\\"use strict\\\";function n(t){return.5-.25*Math.min(1,.5*t)}function i(t,e,r){var n,i,a,s,l,u,c,h,f,d,p,m,v,g=0;for(s=0;s<e.length;s++){for(n=e[s],i=n[0],a=n[1],p=t[i][a],d=0,f=0,l=0;l<4;l++)u=o[l],(c=t[i+u[0]])&&void 0!==(h=c[a+u[1]])&&(0===d?m=v=h:(m=Math.min(m,h),v=Math.max(v,h)),f++,d+=h);if(0===f)throw\\\"iterateInterp2d order is wrong: no defined neighbors\\\";t[i][a]=d/f,void 0===p?f<4&&(g=1):(t[i][a]=(1+r)*t[i][a]-r*p,v>m&&(g=Math.max(g,Math.abs(t[i][a]-p)/(v-m))))}return g}var a=t(\\\"../../lib\\\"),o=[[-1,0],[1,0],[0,-1],[0,1]];e.exports=function(t,e,r){var o,s,l=1;if(Array.isArray(r))for(o=0;o<e.length;o++)s=e[o],t[s[0]][s[1]]=r[s[0]][s[1]];else i(t,e);for(o=0;o<e.length&&!(e[o][2]<4);o++);for(e=e.slice(o),o=0;o<100&&l>.01;o++)l=i(t,e,n(l));return l>.01&&a.log(\\\"interp2d didn't converge quickly\\\",l),t}},{\\\"../../lib\\\":725}],955:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i,a,o){var s,l,u,c=[],h=n.traceIs(t,\\\"contour\\\"),f=n.traceIs(t,\\\"histogram\\\"),d=n.traceIs(t,\\\"gl2d\\\");if(Array.isArray(e)&&e.length>1&&!f&&\\\"category\\\"!==o.type){var p=e.length;if(!(p<=a))return h?e.slice(0,a):e.slice(0,a+1);if(h||d)c=e.slice(0,a);else if(1===a)c=[e[0]-.5,e[0]+.5];else{for(c=[1.5*e[0]-.5*e[1]],u=1;u<p;u++)c.push(.5*(e[u-1]+e[u]));c.push(1.5*e[p-1]-.5*e[p-2])}if(p<a){var m=c[c.length-1],v=m-c[c.length-2];for(u=p;u<a;u++)m+=v,c.push(m)}}else{l=i||1;var g=t[o._id.charAt(0)+\\\"calendar\\\"];for(s=f||\\\"category\\\"===o.type?o.r2c(r,0,g)||0:Array.isArray(e)&&1===e.length?e[0]:void 0===r?0:o.d2c(r,0,g),u=h||d?0:-.5;u<a;u++)c.push(s+l*u)}return c}},{\\\"../../registry\\\":844}],956:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],957:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),u=Math.abs(s-l);return s&&s!==r&&u?{bin0:l,frac:u,bin1:Math.round(l+u/(s-l))}:{bin0:l,bin1:l,frac:0}}function c(t,e){if(void 0!==t){var r=q(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),rt+=e,nt+=r[0]*e,it+=r[1]*e,at+=r[2]*e,r}return[0,0,0,0]}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])}var f=r[0].trace,d=f.uid,p=e.xaxis,m=e.yaxis,v=t._fullLayout,g=\\\"hm\\\"+d;if(v._paper.selectAll(\\\".contour\\\"+d).remove(),v._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".contour\\\"+d).remove(),!0!==f.visible)return v._paper.selectAll(\\\".\\\"+g).remove(),void v._infolayer.selectAll(\\\".cb\\\"+d).remove();var y,b,x,_,w,M,k=r[0].z,A=r[0].x,T=r[0].y,S=a.traceIs(f,\\\"contour\\\"),E=S?\\\"best\\\":f.zsmooth,L=k.length,C=u(k),z=!1,I=!1;for(M=0;void 0===y&&M<A.length-1;)y=p.c2p(A[M]),M++;for(M=A.length-1;void 0===b&&M>0;)b=p.c2p(A[M]),M--;for(b<y&&(x=b,b=y,y=x,z=!0),M=0;void 0===_&&M<T.length-1;)_=m.c2p(T[M]),M++;for(M=T.length-1;void 0===w&&M>0;)w=m.c2p(T[M]),M--;if(w<_&&(x=_,_=w,w=x,I=!0),S&&(A=r[0].xfill,T=r[0].yfill),\\\"fast\\\"!==E){var D=\\\"best\\\"===E?0:.5;y=Math.max(-D*p._length,y),b=Math.min((1+D)*p._length,b),_=Math.max(-D*m._length,_),w=Math.min((1+D)*m._length,w)}var P=Math.round(b-y),O=Math.round(w-_),R=P<=0||O<=0,F=e.plot.select(\\\".imagelayer\\\").selectAll(\\\"g.hm.\\\"+g).data(R?[]:[0]);if(F.enter().append(\\\"g\\\").classed(\\\"hm\\\",!0).classed(g,!0),F.exit().remove(),!R){var j,N;\\\"fast\\\"===E?(j=C,N=L):(j=P,N=O);var B=document.createElement(\\\"canvas\\\");B.width=j,B.height=N;var U,V,H=B.getContext(\\\"2d\\\"),q=s.makeColorScaleFunc(s.extractScale(f.colorscale,f.zmin,f.zmax),{noNumericCheck:!0,returnArray:!0});\\\"fast\\\"===E?(U=z?function(t){return C-1-t}:o.identity,V=I?function(t){return L-1-t}:o.identity):(U=function(t){return o.constrain(Math.round(p.c2p(A[t])-y),0,P)},V=function(t){return o.constrain(Math.round(m.c2p(T[t])-_),0,O)});var G,Y,X,W,Z,J,K,Q=V(0),$=[Q,Q],tt=z?0:1,et=I?0:1,rt=0,nt=0,it=0,at=0;if(E){var ot,st=0;try{ot=new Uint8Array(P*O*4)}catch(t){ot=new Array(P*O*4)}if(\\\"best\\\"===E){var lt,ut,ct,ht=new Array(A.length),ft=new Array(T.length),dt=new Array(P);for(M=0;M<A.length;M++)ht[M]=Math.round(p.c2p(A[M])-y);for(M=0;M<T.length;M++)ft[M]=Math.round(m.c2p(T[M])-_);for(M=0;M<P;M++)dt[M]=n(M,ht);for(X=0;X<O;X++)for(lt=n(X,ft),ut=k[lt.bin0],ct=k[lt.bin1],M=0;M<P;M++,st+=4)K=function(t,e,r,n){var i=t[r.bin0];if(void 0===i)return c(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,h=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,c(i+r.frac*u+n.frac*(h+r.frac*a))}(ut,ct,dt[M],lt),h(ot,st,K)}else for(X=0;X<L;X++)for(J=k[X],$=V(X),M=0;M<P;M++)K=c(J[M],1),st=4*($*P+U(M)),h(ot,st,K);var pt=H.createImageData(P,O);try{pt.data.set(ot)}catch(t){var mt=pt.data,vt=mt.length;for(X=0;X<vt;X++)mt[X]=ot[X]}H.putImageData(pt,0,0)}else for(X=0;X<L;X++)if(J=k[X],$.reverse(),$[et]=V(X+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(W=U(0),Y=[W,W],M=0;M<C;M++)Y.reverse(),Y[tt]=U(M+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1]&&(Z=J[M],K=c(Z,(Y[1]-Y[0])*($[1]-$[0])),H.fillStyle=\\\"rgba(\\\"+K.join(\\\",\\\")+\\\")\\\",G=function(t,e,r,n,i,a,o,s,l){var u={x0:e,x1:r,y0:n,y1:i},c=2*t.xgap/3,h=2*t.ygap/3,f=t.xgap/3,d=t.ygap/3;return s===l-1&&(u.y1=i-h),a===o-1&&(u.x0=e+c),0===s&&(u.y0=n+h),0===a&&(u.x1=r-c),a>0&&a<o-1&&(u.x0=e+f,u.x1=r-f),s>0&&s<l-1&&(u.y0=n+d,u.y1=i-d),u}(f,Y[0],Y[1],$[0],$[1],M,C,X,L),H.fillRect(G.x0,G.y0,G.x1-G.x0,G.y1-G.y0));nt=Math.round(nt/rt),it=Math.round(it/rt),at=Math.round(at/rt);var gt=i(\\\"rgb(\\\"+nt+\\\",\\\"+it+\\\",\\\"+at+\\\")\\\");t._hmpixcount=(t._hmpixcount||0)+rt,t._hmlumcount=(t._hmlumcount||0)+rt*gt.getLuminance();var yt=F.selectAll(\\\"image\\\").data(r);yt.enter().append(\\\"svg:image\\\").attr({xmlns:l.svg,preserveAspectRatio:\\\"none\\\"}),yt.attr({height:O,width:P,x:y,y:_,\\\"xlink:href\\\":B.toDataURL(\\\"image/png\\\")}),yt.exit().remove()}}var i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/colorscale\\\"),l=t(\\\"../../constants/xmlns_namespaces\\\"),u=t(\\\"./max_row_length\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])}},{\\\"../../components/colorscale\\\":617,\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./max_row_length\\\":956,tinycolor2:533}],958:[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:121}],959:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=e(t);return\\\"scaled\\\"===(r?e(t+\\\"type\\\",\\\"array\\\"):\\\"scaled\\\")&&(e(t+\\\"0\\\"),e(\\\"d\\\"+t)),r}function i(t){for(var e,r=!0,n=!1,i=!1,o=0;o<t.length;o++){if(e=t[o],!Array.isArray(e)){r=!1;break}e.length>0&&(n=!0);for(var s=0;s<e.length;s++)if(a(e[s])){i=!0;break}}return r&&n&&i}var a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"./has_columns\\\");e.exports=function(t,e,r,a,l,u){var c=r(\\\"z\\\");l=l||\\\"x\\\",u=u||\\\"y\\\";var h,f;if(void 0===c||!c.length)return 0;if(s(t)){if(h=r(l),f=r(u),!h||!f)return 0}else{if(h=n(l,r),f=n(u,r),!i(c))return 0;r(\\\"transpose\\\")}return o.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[l,u],a),e.z.length}},{\\\"../../registry\\\":844,\\\"./has_columns\\\":951,\\\"fast-isnumeric\\\":130}],960:[function(t,e,r){\\\"use strict\\\";for(var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat,s=[\\\"z\\\",\\\"x\\\",\\\"x0\\\",\\\"dx\\\",\\\"y\\\",\\\"y0\\\",\\\"dy\\\",\\\"text\\\",\\\"transpose\\\",\\\"xtype\\\",\\\"ytype\\\"],l={},u=0;u<s.length;u++){var c=s[u];l[c]=n[c]}o(l,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=l},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../heatmap/attributes\\\":944}],961:[function(t,e,r){\\\"use strict\\\";function n(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=o(t.glplot,this.options),this.heatmap._trace=this}function i(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),o=new Array(4*i),s=0;s<i;s++){var u=e[s],c=l(u[1]);a[s]=r+u[0]*(n-r);for(var h=0;h<4;h++)o[4*s+h]=c[h]}return{colorLevels:a,colorValues:o}}function a(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}var o=t(\\\"gl-heatmap2d\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../../lib/str2rgbarray\\\"),u=n.prototype;u.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},u.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 a=n[0].length,o=n.length;this.options.shape=[a,o],this.options.x=r.x,this.options.y=r.y;var l=i(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),s.expand(this.scene.xaxis,r.x),s.expand(this.scene.yaxis,r.y)},u.dispose=function(){this.heatmap.dispose()},e.exports=a},{\\\"../../lib/str2rgbarray\\\":744,\\\"../../plots/cartesian/axes\\\":766,\\\"gl-heatmap2d\\\":165}],962:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"../heatmap/defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmapgl\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl2d\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":806,\\\"../heatmap/calc\\\":945,\\\"../heatmap/colorbar\\\":947,\\\"../heatmap/defaults\\\":949,\\\"./attributes\\\":960,\\\"./convert\\\":961}],963:[function(t,e,r){\\\"use strict\\\";function n(t){return{start:{valType:\\\"any\\\",dflt:null},end:{valType:\\\"any\\\",dflt:null},size:{valType:\\\"any\\\",dflt:null}}}var i=t(\\\"../bar/attributes\\\");e.exports={x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:i.text,orientation:i.orientation,histfunc:{valType:\\\"enumerated\\\",values:[\\\"count\\\",\\\"sum\\\",\\\"avg\\\",\\\"min\\\",\\\"max\\\"],dflt:\\\"count\\\"},histnorm:{valType:\\\"enumerated\\\",values:[\\\"\\\",\\\"percent\\\",\\\"probability\\\",\\\"density\\\",\\\"probability density\\\"],dflt:\\\"\\\"},cumulative:{enabled:{valType:\\\"boolean\\\",dflt:!1},direction:{valType:\\\"enumerated\\\",values:[\\\"increasing\\\",\\\"decreasing\\\"],dflt:\\\"increasing\\\"},currentbin:{valType:\\\"enumerated\\\",values:[\\\"include\\\",\\\"exclude\\\",\\\"half\\\"],dflt:\\\"include\\\"}},autobinx:{valType:\\\"boolean\\\",dflt:null},nbinsx:{valType:\\\"integer\\\",min:0,dflt:0},xbins:n(\\\"x\\\"),autobiny:{valType:\\\"boolean\\\",dflt:null},nbinsy:{valType:\\\"integer\\\",min:0,dflt:0},ybins:n(\\\"y\\\"),marker:i.marker,error_y:i.error_y,error_x:i.error_x,_deprecated:{bardir:i._deprecated.bardir}}},{\\\"../bar/attributes\\\":854}],964:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],965:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){return r(\\\"histnorm\\\"),n.forEach(function(t){r(t+\\\"bins.start\\\"),r(t+\\\"bins.end\\\"),r(t+\\\"bins.size\\\"),r(\\\"autobin\\\"+t),r(\\\"nbins\\\"+t)}),e}},{}],966:[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,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\\\"fast-isnumeric\\\":130}],967:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var o,s,u,h,f,d=n+\\\"bins\\\";if(e._autoBinFinished)delete e._autoBinFinished;else{var p=i(t,e),m=[],v=1/0,g=1/0,y=-1/0,b=\\\"autobin\\\"+n;for(o=0;o<p.length;o++){s=p[o],f=s._pos0=r.makeCalcdata(s,n);var x=s[d];if(s[b]||!x||null===x.start||null===x.end){u=s[n+\\\"calendar\\\"];var _=s.cumulative;x=c.autoBin(f,r,s[\\\"nbins\\\"+n],!1,u),_.enabled&&\\\"include\\\"!==_.currentbin&&(\\\"decreasing\\\"===_.direction?g=Math.min(g,r.r2c(x.start,0,u)-x.size):y=Math.max(y,r.r2c(x.end,0,u)+x.size)),m.push(s)}else h||(h={size:x.size,start:r.r2c(x.start,0,u),end:r.r2c(x.end,0,u)});v=a(v,x.size),g=Math.min(g,r.r2c(x.start,0,u)),y=Math.max(y,r.r2c(x.end,0,u)),o&&(e._autoBinFinished=1)}if(h&&l(h.size)&&l(v)){v=v>h.size/1.9?h.size:h.size/Math.ceil(h.size/v);var w=h.start+(h.size-v)/2;g=w-v*Math.ceil((w-g)/v)}for(o=0;o<m.length;o++)s=m[o],u=s[n+\\\"calendar\\\"],s._input[d]=s[d]={start:r.c2r(g,0,u),end:r.c2r(y,0,u),size:v},s._input[b]=s[b]}return f=e._pos0,delete e._pos0,[e[d],f]}function i(t,e){if(\\\"overlay\\\"===t._fullLayout.barmode)return[e];for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\\\"histogram\\\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function a(t,e){if(t===1/0)return e;var r=o(t);return o(e)<r?e:t}function o(t){return l(t)?t:\\\"string\\\"==typeof t&&\\\"M\\\"===t.charAt(0)?v*+t.substr(1):1/0}function s(t,e,r){function n(e){s=t[e],t[e]/=2}function i(e){o=t[e],t[e]=s+o/2,s+=o}var a,o,s;if(\\\"half\\\"===r)if(\\\"increasing\\\"===e)for(n(0),a=1;a<t.length;a++)i(a);else for(n(t.length-1),a=t.length-2;a>=0;a--)i(a);else if(\\\"increasing\\\"===e){for(a=1;a<t.length;a++)t[a]+=t[a-1];\\\"exclude\\\"===r&&(t.unshift(0),t.pop())\\n\",\n       \"}else{for(a=t.length-2;a>=0;a--)t[a]+=t[a+1];\\\"exclude\\\"===r&&(t.push(0),t.shift())}}var l=t(\\\"fast-isnumeric\\\"),u=t(\\\"../../lib\\\"),c=t(\\\"../../plots/cartesian/axes\\\"),h=t(\\\"../bar/arrays_to_calcdata\\\"),f=t(\\\"./bin_functions\\\"),d=t(\\\"./norm_functions\\\"),p=t(\\\"./average\\\"),m=t(\\\"./clean_bins\\\"),v=t(\\\"../../constants/numerical\\\").ONEAVGMONTH;e.exports=function(t,e){if(!0===e.visible){var r,i=[],a=[],o=c.getFromId(t,\\\"h\\\"===e.orientation?e.yaxis||\\\"y\\\":e.xaxis||\\\"x\\\"),v=\\\"h\\\"===e.orientation?\\\"y\\\":\\\"x\\\",g={x:\\\"y\\\",y:\\\"x\\\"}[v],y=e[v+\\\"calendar\\\"],b=e.cumulative;m(e,o,v);var x,_,w,M=n(t,e,o,v),k=M[0],A=M[1],T=\\\"string\\\"==typeof k.size,S=T?[]:k,E=[],L=[],C=0,z=e.histnorm,I=e.histfunc,D=-1!==z.indexOf(\\\"density\\\");b.enabled&&D&&(z=z.replace(/ ?density$/,\\\"\\\"),D=!1);var P,O=\\\"max\\\"===I||\\\"min\\\"===I,R=O?null:0,F=f.count,j=d[z],N=!1,B=function(t){return o.r2c(t,0,y)};for(Array.isArray(e[g])&&\\\"count\\\"!==I&&(P=e[g],N=\\\"avg\\\"===I,F=f[I]),r=B(k.start),_=B(k.end)+(r-c.tickIncrement(r,k.size,!1,y))/1e6;r<_&&i.length<1e6&&(x=c.tickIncrement(r,k.size,!1,y),i.push((r+x)/2),a.push(R),T&&S.push(r),D&&E.push(1/(x-r)),N&&L.push(0),!(x<=r));)r=x;T||\\\"date\\\"!==o.type||(S={start:B(S.start),end:B(S.end),size:S.size});var U=a.length;for(r=0;r<A.length;r++)(w=u.findBin(A[r],S))>=0&&w<U&&(C+=F(w,r,a,P,L));N&&(C=p(a,L)),j&&j(a,C,E),b.enabled&&s(a,b.direction,b.currentbin);var V=Math.min(i.length,a.length),H=[],q=0,G=V-1;for(r=0;r<V;r++)if(a[r]){q=r;break}for(r=V-1;r>q;r--)if(a[r]){G=r;break}for(r=q;r<=G;r++)l(i[r])&&l(a[r])&&H.push({p:i[r],s:a[r],b:0});return h(H,e),H}}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../bar/arrays_to_calcdata\\\":853,\\\"./average\\\":964,\\\"./bin_functions\\\":966,\\\"./clean_bins\\\":968,\\\"./norm_functions\\\":971,\\\"fast-isnumeric\\\":130}],968:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").cleanDate,a=t(\\\"../../constants/numerical\\\"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+\\\"bins\\\",u=t[l];u||(u=t[l]={});var c=\\\"date\\\"===a?function(t){return t||0===t?i(t,s,u.calendar):null}:function(t){return n(t)?Number(t):null};u.start=c(u.start),u.end=c(u.end);var h=\\\"date\\\"===a?o:1,f=u.size;if(n(f))u.size=f>0?Number(f):h;else if(\\\"string\\\"!=typeof f)u.size=h;else{var d=f.charAt(0),p=f.substr(1);p=n(p)?Number(p):0,(p<=0||\\\"date\\\"!==a||\\\"M\\\"!==d||p!==Math.round(p))&&(u.size=h)}var m=\\\"autobin\\\"+r;\\\"boolean\\\"!=typeof t[m]&&(t[m]=!((u.start||0===u.start)&&(u.end||0===u.end))),t[m]||delete t[\\\"nbins\\\"+r]}},{\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],969:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./bin_defaults\\\"),s=t(\\\"../bar/style_defaults\\\"),l=t(\\\"../../components/errorbars/defaults\\\"),u=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function h(r,n){return i.coerce(t,e,u,r,n)}var f=h(\\\"x\\\"),d=h(\\\"y\\\");h(\\\"cumulative.enabled\\\")&&(h(\\\"cumulative.direction\\\"),h(\\\"cumulative.currentbin\\\")),h(\\\"text\\\");var p=h(\\\"orientation\\\",d&&!f?\\\"h\\\":\\\"v\\\"),m=e[\\\"v\\\"===p?\\\"x\\\":\\\"y\\\"];if(!m||!m.length)return void(e.visible=!1);n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],c),e[\\\"h\\\"===p?\\\"x\\\":\\\"y\\\"]&&h(\\\"histfunc\\\"),o(t,e,h,\\\"h\\\"===p?[\\\"y\\\"]:[\\\"x\\\"]),s(t,e,h,r,c),l(t,e,a.defaultLine,{axis:\\\"y\\\"}),l(t,e,a.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"})}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../bar/style_defaults\\\":865,\\\"./attributes\\\":963,\\\"./bin_defaults\\\":965}],970:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"../bar/layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"../bar/layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"../bar/set_positions\\\"),n.plot=t(\\\"../bar/plot\\\"),n.style=t(\\\"../bar/style\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.hoverPoints=t(\\\"../bar/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"histogram\\\",\\\"oriented\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../bar/hover\\\":857,\\\"../bar/layout_attributes\\\":859,\\\"../bar/layout_defaults\\\":860,\\\"../bar/plot\\\":861,\\\"../bar/set_positions\\\":862,\\\"../bar/style\\\":864,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":963,\\\"./calc\\\":967,\\\"./defaults\\\":969}],971:[function(t,e,r){\\\"use strict\\\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=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 i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\\\"probability density\\\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],972:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram/attributes\\\"),i=t(\\\"../heatmap/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:{valType:\\\"data_array\\\"},marker:{color:{valType:\\\"data_array\\\"}},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../heatmap/attributes\\\":944,\\\"../histogram/attributes\\\":963}],973:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../histogram/bin_functions\\\"),o=t(\\\"../histogram/norm_functions\\\"),s=t(\\\"../histogram/average\\\"),l=t(\\\"../histogram/clean_bins\\\");e.exports=function(t,e){var r,u,c,h,f,d,p=i.getFromId(t,e.xaxis||\\\"x\\\"),m=e.x?p.makeCalcdata(e,\\\"x\\\"):[],v=i.getFromId(t,e.yaxis||\\\"y\\\"),g=e.y?v.makeCalcdata(e,\\\"y\\\"):[],y=e.xcalendar,b=e.ycalendar,x=function(t){return p.r2c(t,0,y)},_=function(t){return v.r2c(t,0,b)},w=function(t){return p.c2r(t,0,y)},M=function(t){return v.c2r(t,0,b)};l(e,p,\\\"x\\\"),l(e,v,\\\"y\\\");var k=Math.min(m.length,g.length);m.length>k&&m.splice(k,m.length-k),g.length>k&&g.splice(k,g.length-k),!e.autobinx&&e.xbins&&null!==e.xbins.start&&null!==e.xbins.end||(e.xbins=i.autoBin(m,p,e.nbinsx,\\\"2d\\\",y),\\\"histogram2dcontour\\\"===e.type&&(e.xbins.start=w(i.tickIncrement(x(e.xbins.start),e.xbins.size,!0,y)),e.xbins.end=w(i.tickIncrement(x(e.xbins.end),e.xbins.size,!1,y))),e._input.xbins=e.xbins,e._input.autobinx=e.autobinx),!e.autobiny&&e.ybins&&null!==e.ybins.start&&null!==e.ybins.end||(e.ybins=i.autoBin(g,v,e.nbinsy,\\\"2d\\\",b),\\\"histogram2dcontour\\\"===e.type&&(e.ybins.start=M(i.tickIncrement(_(e.ybins.start),e.ybins.size,!0,b)),e.ybins.end=M(i.tickIncrement(_(e.ybins.end),e.ybins.size,!1,b))),e._input.ybins=e.ybins,e._input.autobiny=e.autobiny),f=[];var A,T,S=[],E=[],L=\\\"string\\\"==typeof e.xbins.size,C=\\\"string\\\"==typeof e.ybins.size,z=L?[]:e.xbins,I=C?[]:e.ybins,D=0,P=[],O=e.histnorm,R=e.histfunc,F=-1!==O.indexOf(\\\"density\\\"),j=\\\"max\\\"===R||\\\"min\\\"===R,N=j?null:0,B=a.count,U=o[O],V=!1,H=[],q=[],G=\\\"z\\\"in e?e.z:\\\"marker\\\"in e&&Array.isArray(e.marker.color)?e.marker.color:\\\"\\\";G&&\\\"count\\\"!==R&&(V=\\\"avg\\\"===R,B=a[R]);var Y=e.xbins,X=x(Y.start),W=x(Y.end)+(X-i.tickIncrement(X,Y.size,!1,y))/1e6;for(d=X;d<W;d=i.tickIncrement(d,Y.size,!1,y))S.push(N),L&&z.push(d),V&&E.push(0);L&&z.push(d);var Z=S.length;r=e.xbins.start;var J=x(r);for(u=(d-J)/Z,r=w(J+u/2),Y=e.ybins,X=_(Y.start),W=_(Y.end)+(X-i.tickIncrement(X,Y.size,!1,b))/1e6,d=X;d<W;d=i.tickIncrement(d,Y.size,!1,b))f.push(S.concat()),C&&I.push(d),V&&P.push(E.concat());C&&I.push(d);var K=f.length;c=e.ybins.start;var Q=_(c);for(h=(d-Q)/K,c=M(Q+h/2),F&&(H=S.map(function(t,e){return L?1/(z[e+1]-z[e]):1/u}),q=f.map(function(t,e){return C?1/(I[e+1]-I[e]):1/h})),L||\\\"date\\\"!==p.type||(z={start:x(z.start),end:x(z.end),size:z.size}),C||\\\"date\\\"!==v.type||(I={start:_(I.start),end:_(I.end),size:I.size}),d=0;d<k;d++)A=n.findBin(m[d],z),T=n.findBin(g[d],I),A>=0&&A<Z&&T>=0&&T<K&&(D+=B(A,d,f[T],G,P[T]));if(V)for(T=0;T<K;T++)D+=s(f[T],P[T]);if(U)for(T=0;T<K;T++)U(f[T],D,H,q[T]);return{x:m,x0:r,dx:u,y:g,y0:c,dy:h,z:f}}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../histogram/average\\\":964,\\\"../histogram/bin_functions\\\":966,\\\"../histogram/clean_bins\\\":968,\\\"../histogram/norm_functions\\\":971}],974:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./sample_defaults\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s),!1===l(\\\"zsmooth\\\")&&(l(\\\"xgap\\\"),l(\\\"ygap\\\")),a(t,e,s,l,{prefix:\\\"\\\",cLetter:\\\"z\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"./attributes\\\":972,\\\"./sample_defaults\\\":976}],975:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"../heatmap/plot\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.style=t(\\\"../heatmap/style\\\"),n.hoverPoints=t(\\\"../heatmap/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2d\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../heatmap/calc\\\":945,\\\"../heatmap/colorbar\\\":947,\\\"../heatmap/hover\\\":952,\\\"../heatmap/plot\\\":957,\\\"../heatmap/style\\\":958,\\\"./attributes\\\":972,\\\"./defaults\\\":974}],976:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../histogram/bin_defaults\\\");e.exports=function(t,e,r,a){var o=r(\\\"x\\\"),s=r(\\\"y\\\");if(!(o&&o.length&&s&&s.length))return void(e.visible=!1);n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],a),(r(\\\"z\\\")||r(\\\"marker.color\\\"))&&r(\\\"histfunc\\\"),i(t,e,r,[\\\"x\\\",\\\"y\\\"])}},{\\\"../../registry\\\":844,\\\"../histogram/bin_defaults\\\":965}],977:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram2d/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({},{x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line},a,{zmin:s({},a.zmin,{editType:\\\"docalc\\\"}),zmax:s({},a.zmax,{editType:\\\"docalc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../contour/attributes\\\":916,\\\"../histogram2d/attributes\\\":972}],978:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../histogram2d/sample_defaults\\\"),a=t(\\\"../contour/contours_defaults\\\"),o=t(\\\"../contour/style_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,s,r,i)}i(t,e,u,l),a(t,e,u),o(t,e,u,l)}},{\\\"../../lib\\\":725,\\\"../contour/contours_defaults\\\":920,\\\"../contour/style_defaults\\\":930,\\\"../histogram2d/sample_defaults\\\":976,\\\"./attributes\\\":977}],979:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../contour/calc\\\"),n.plot=t(\\\"../contour/plot\\\").plot,n.style=t(\\\"../contour/style\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.hoverPoints=t(\\\"../contour/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2dcontour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../contour/calc\\\":917,\\\"../contour/colorbar\\\":918,\\\"../contour/hover\\\":924,\\\"../contour/plot\\\":928,\\\"../contour/style\\\":929,\\\"./attributes\\\":977,\\\"./defaults\\\":978}],980:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../surface/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},z:{valType:\\\"data_array\\\"},i:{valType:\\\"data_array\\\"},j:{valType:\\\"data_array\\\"},k:{valType:\\\"data_array\\\"},delaunayaxis:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"z\\\"],dflt:\\\"z\\\"},alphahull:{valType:\\\"number\\\",dflt:-1},intensity:{valType:\\\"data_array\\\"},color:{valType:\\\"color\\\"},vertexcolor:{valType:\\\"data_array\\\"},facecolor:{valType:\\\"data_array\\\"},opacity:o({},a.opacity),flatshading:{valType:\\\"boolean\\\",dflt:!1},contour:{show:o({},a.contours.x.show,{}),color:o({},a.contours.x.color),width:o({},a.contours.x.width)},cauto:n.zauto,cmin:n.zmin,cmax:n.zmax,colorscale:n.colorscale,reversescale:n.reversescale,autocolorscale:o({},n.autocolorscale,{dflt:!1}),showscale:n.showscale,colorbar:i,lightposition:{x:o({},a.lightposition.x,{dflt:1e5}),y:o({},a.lightposition.y,{dflt:1e5}),z:o({},a.lightposition.z,{dflt:0})},lighting:o({},{vertexnormalsepsilon:{valType:\\\"number\\\",min:0,max:1,dflt:1e-12},facenormalsepsilon:{valType:\\\"number\\\",min:0,max:1,dflt:1e-6}},a.lighting)}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716,\\\"../surface/attributes\\\":1093}],981:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.intensity&&n(e,e.intensity,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":609}],982:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,u=r.cmin,c=r.cmax,h=r.intensity||[];if(n(u)||(u=i.aggNums(Math.min,null,h)),n(c)||(c=i.aggNums(Math.max,null,h)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var f=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});f.fillcolor(d).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],983:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\\\"\\\",this.color=\\\"#fff\\\",this.data=null,this.showContour=!1}function i(t){return t.map(function(t){var e=t[0],r=u(t[1]),n=r.toRgb();return{index:e,rgb:[n.r,n.g,n.b,1]}})}function a(t){return t.map(d)}function o(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}function s(t,e){var r=t.glplot.gl,i=l({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}var l=t(\\\"gl-mesh3d\\\"),u=t(\\\"tinycolor2\\\"),c=t(\\\"delaunay-triangulate\\\"),h=t(\\\"alpha-shape\\\"),f=t(\\\"convex-hull\\\"),d=t(\\\"../../lib/str2rgbarray\\\"),p=n.prototype;p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},p.update=function(t){function e(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}var r=this.scene,n=r.fullSceneLayout;this.data=t;var s,l=o(e(n.xaxis,t.x,r.dataScale[0],t.xcalendar),e(n.yaxis,t.y,r.dataScale[1],t.ycalendar),e(n.zaxis,t.z,r.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)s=o(t.i,t.j,t.k);else if(0===t.alphahull)s=f(l);else if(t.alphahull>0)s=h(t.alphahull,l);else{var u=[\\\"x\\\",\\\"y\\\",\\\"z\\\"].indexOf(t.delaunayaxis);s=c(l.map(function(t){return[t[(u+1)%3],t[(u+2)%3]]}))}var p={positions:l,cells:s,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:d(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\\\"#fff\\\",p.vertexIntensity=t.intensity,p.vertexIntensityBounds=[t.cmin,t.cmax],p.colormap=i(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],p.vertexColors=a(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],p.cellColors=a(t.facecolor)):(this.color=t.color,p.meshColor=d(t.color)),this.mesh.update(p)},p.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=s},{\\\"../../lib/str2rgbarray\\\":744,\\\"alpha-shape\\\":42,\\\"convex-hull\\\":102,\\\"delaunay-triangulate\\\":122,\\\"gl-mesh3d\\\":204,tinycolor2:533}],984:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function u(t){var e=t.map(function(t){var e=l(t);return e&&Array.isArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var c=u([\\\"x\\\",\\\"y\\\",\\\"z\\\"]),h=u([\\\"i\\\",\\\"j\\\",\\\"k\\\"]);if(!c)return void(e.visible=!1);h&&h.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),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\\\",\\\"contour.show\\\",\\\"contour.color\\\",\\\"contour.width\\\",\\\"colorscale\\\",\\\"reversescale\\\",\\\"flatshading\\\",\\\"alphahull\\\",\\\"delaunayaxis\\\",\\\"opacity\\\"].forEach(function(t){l(t)}),\\\"intensity\\\"in t?(l(\\\"intensity\\\"),a(t,e,s,l,{prefix:\\\"\\\",cLetter:\\\"c\\\"})):(e.showscale=!1,\\\"facecolor\\\"in t?l(\\\"facecolor\\\"):\\\"vertexcolor\\\"in t?l(\\\"vertexcolor\\\"):l(\\\"color\\\",r))}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":980}],985:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"mesh3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":809,\\\"./attributes\\\":980,\\\"./calc\\\":981,\\\"./colorbar\\\":982,\\\"./convert\\\":983,\\\"./defaults\\\":984}],986:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=i.line,s={name:{valType:\\\"string\\\"},showlegend:{valType:\\\"boolean\\\",dflt:!0},line:{color:o.color,width:o.width,dash:a}};e.exports={x:{valType:\\\"data_array\\\"},open:{valType:\\\"data_array\\\",dflt:[]},high:{valType:\\\"data_array\\\",dflt:[]},low:{valType:\\\"data_array\\\",dflt:[]},close:{valType:\\\"data_array\\\",dflt:[]},line:{width:n.extendFlat({},o.width,{}),dash:n.extendFlat({},a,{})},increasing:n.extendDeep({},s,{line:{color:{dflt:\\\"#3D9970\\\"}}}),decreasing:n.extendDeep({},s,{line:{color:{dflt:\\\"#FF4136\\\"}}}),text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},tickwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.3}}},{\\\"../../components/drawing/attributes\\\":626,\\\"../../lib\\\":725,\\\"../scatter/attributes\\\":1027}],987:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){o(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".line.dash\\\",e.line.dash)}var i=t(\\\"../../lib\\\"),a=t(\\\"./ohlc_defaults\\\"),o=t(\\\"./direction_defaults\\\"),s=t(\\\"./attributes\\\"),l=t(\\\"./helpers\\\");e.exports=function(t,e,r,o){function u(r,n){return i.coerce(t,e,s,r,n)}if(l.pushDummyTransformOpts(t,e),0===a(t,e,u,o))return void(e.visible=!1);u(\\\"line.width\\\"),u(\\\"line.dash\\\"),n(t,e,u,\\\"increasing\\\"),n(t,e,u,\\\"decreasing\\\"),u(\\\"text\\\"),u(\\\"tickwidth\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":986,\\\"./direction_defaults\\\":988,\\\"./helpers\\\":989,\\\"./ohlc_defaults\\\":991}],988:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){r(n+\\\".showlegend\\\"),!1===t.showlegend&&(e[n].showlegend=!1),r(n+\\\".name\\\",e.name+\\\" - \\\"+n)}},{}],989:[function(t,e,r){\\\"use strict\\\";function n(t){function e(t,e){return t===e?e>o?a=!0:e<o&&(a=!1):a=t<e,o=e,a}function r(t,r){return i(t)&&i(r)&&e(+t,+r)}function n(t,r){return i(t)&&i(r)&&!e(+t,+r)}var a=!0,o=null;return\\\"increasing\\\"===t?r:n}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\");r.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},r.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r<e.length;r++)e[r]._ephemeral&&e.splice(r,1);0===e.length&&delete t.transforms}},r.copyOHLC=function(t,e){t.open&&(e.open=t.open),t.high&&(e.high=t.high),t.low&&(e.low=t.low),t.close&&(e.close=t.close)},r.makeTransform=function(t,e,r){var n=a.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},r.getFilterFn=function(t){return new n(t)},r.addRangeSlider=function(t,e){for(var r=!1,n=0;n<t.length;n++)if(!0===t[n].visible){r=!0;break}r&&(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))}},{\\\"../../lib\\\":725,\\\"fast-isnumeric\\\":130}],990:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/register\\\");e.exports={moduleType:\\\"trace\\\",name:\\\"ohlc\\\",basePlotModule:t(\\\"../../plots/cartesian\\\"),categories:[\\\"cartesian\\\",\\\"showLegend\\\"],meta:{},attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\")},n(t(\\\"../scatter\\\")),n(t(\\\"./transform\\\"))},{\\\"../../plot_api/register\\\":756,\\\"../../plots/cartesian\\\":776,\\\"../scatter\\\":1037,\\\"./attributes\\\":986,\\\"./defaults\\\":987,\\\"./transform\\\":992}],991:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a,o=r(\\\"x\\\"),s=r(\\\"open\\\"),l=r(\\\"high\\\"),u=r(\\\"low\\\"),c=r(\\\"close\\\");return n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\"],i),a=Math.min(s.length,l.length,u.length,c.length),o&&(a=Math.min(a,o.length))<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.open=s.slice(0,a)),a<l.length&&(e.high=l.slice(0,a)),a<u.length&&(e.low=u.slice(0,a)),a<c.length&&(e.close=c.slice(0,a)),a}},{\\\"../../registry\\\":844}],992:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n={type:\\\"scatter\\\",mode:\\\"lines\\\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:i(t),transforms:l.makeTransform(t,e,r)},a=t[r];return a&&s.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:a.name,showlegend:a.showlegend,line:a.line}),n}function i(t){var e=t.hoverinfo;if(\\\"all\\\"===e)return\\\"x+text+name\\\";var r=e.split(\\\"+\\\"),n=r.indexOf(\\\"y\\\"),i=r.indexOf(\\\"text\\\");return-1!==n&&(r.splice(n,1),-1===i&&r.push(\\\"text\\\")),r.join(\\\"+\\\")}function a(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var o=t._fullData,l=[];a=1/0;var u;for(u=0;u<o.length;u++){var c=o[u]._fullInput;if(\\\"ohlc\\\"===c.type&&!0===c.visible&&c.xaxis===e._id&&(l.push(c),c.x&&c.x.length>1)){var h=s.simpleMap(c.x,e.d2c,0,r.xcalendar),f=s.distinctVals(h).minDiff;a=Math.min(a,f)}}for(a===1/0&&(a=1),u=0;u<l.length;u++)l[u]._minDiff=a}return a*i}var o=t(\\\"fast-isnumeric\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"./helpers\\\"),u=t(\\\"../../plots/cartesian/axes\\\"),c=t(\\\"../../plots/cartesian/axis_ids\\\");r.moduleType=\\\"transform\\\",r.name=\\\"ohlc\\\",r.attributes={},r.supplyDefaults=function(t,e,r,n){return l.clearEphemeralTransformOpts(n),l.copyOHLC(t,e),t},r.transform=function(t,e){for(var r=[],i=0;i<t.length;i++){var a=t[i];\\\"ohlc\\\"===a.type?r.push(n(a,e,\\\"increasing\\\"),n(a,e,\\\"decreasing\\\")):r.push(a)}return l.addRangeSlider(r,e.layout),r},r.calcTransform=function(t,e,r){var n,i=r.direction,s=l.getFilterFn(i),h=c.getFromTrace(t,e,\\\"x\\\"),f=c.getFromTrace(t,e,\\\"y\\\"),d=a(t,h,e),p=e.open,m=e.high,v=e.low,g=e.close,y=e.text,b=p.length,x=[],_=[],w=[];n=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=h.d2c(r,0,n);x.push(h.c2d(i-d,0,n),r,r,r,r,h.c2d(i+d,0,n),null)}:function(t){x.push(t-d,t,t,t,t,t+d,null)};for(var M=function(t,e){return u.tickText(t,t.c2l(e),\\\"hover\\\").text},k=e._fullInput.hoverinfo,A=k.split(\\\"+\\\"),T=\\\"all\\\"===k,S=T||-1!==A.indexOf(\\\"y\\\"),E=T||-1!==A.indexOf(\\\"text\\\"),L=Array.isArray(y)?function(t){return y[t]||\\\"\\\"}:function(){return y},C=0;C<b;C++)s(p[C],g[C])&&o(m[C])&&o(v[C])&&(n(C),function(t,e,r,n){_.push(t,t,e,r,n,n,null)}(p[C],m[C],v[C],g[C]),function(t,e,r,n,i){var a=[];S&&(a.push(\\\"Open: \\\"+M(f,e)),a.push(\\\"High: \\\"+M(f,r)),a.push(\\\"Low: \\\"+M(f,n)),a.push(\\\"Close: \\\"+M(f,i))),E&&a.push(L(t));var o=a.join(\\\"<br>\\\");w.push(o,o,o,o,o,o,null)}(C,p[C],m[C],v[C],g[C]));e.x=x,e.y=_,e.text=w}},{\\\"../../lib\\\":725,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/axis_ids\\\":769,\\\"./helpers\\\":989,\\\"fast-isnumeric\\\":130}],993:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../../components/colorscale/scales\\\"),o=t(\\\"../../plots/cartesian/layout_attributes\\\"),s=t(\\\"../../plots/font_attributes\\\"),l=t(\\\"../../lib/extend\\\").extendDeep,u=t(\\\"../../lib/extend\\\").extendFlat;e.exports={domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},labelfont:u({},s,{}),tickfont:u({},s,{}),rangefont:u({},s,{}),dimensions:{_isLinkedToArray:\\\"dimension\\\",label:{valType:\\\"string\\\"},tickvals:o.tickvals,ticktext:o.ticktext,tickformat:{valType:\\\"string\\\",dflt:\\\"3s\\\"},visible:{valType:\\\"boolean\\\",dflt:!0},range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},constraintrange:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},values:{valType:\\\"data_array\\\",dflt:[]}},line:u({},l({},n(\\\"line\\\"),{colorscale:l({},n(\\\"line\\\").colorscale,{dflt:a.Viridis}),autocolorscale:l({},n(\\\"line\\\").autocolorscale,{dflt:!1})}),{showscale:{valType:\\\"boolean\\\",dflt:!1},colorbar:i})}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/colorscale/scales\\\":621,\\\"../../lib/extend\\\":716,\\\"../../plots/cartesian/layout_attributes\\\":777,\\\"../../plots/font_attributes\\\":790}],994:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"./plot\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\"),s=t(\\\"./constants\\\");r.name=\\\"parcoords\\\",r.attr=\\\"type\\\",r.plot=function(t){var e=i.getSubplotCalcData(t.calcdata,\\\"parcoords\\\",\\\"parcoords\\\");e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"parcoords\\\"),a=e._has&&e._has(\\\"parcoords\\\");i&&!a&&(n._paperdiv.selectAll(\\\".parcoords-line-layers\\\").remove(),n._paperdiv.selectAll(\\\".parcoords-line-layers\\\").remove(),n._paperdiv.selectAll(\\\".parcoords\\\").remove(),n._paperdiv.selectAll(\\\".parcoords\\\").remove(),n._glimages.selectAll(\\\"*\\\").remove())},r.toSVG=function(t){function e(e){var n=this,i=n.toDataURL(\\\"image/png\\\"),a=r.append(\\\"svg:image\\\"),l=t._fullLayout._size,u=t._fullData[e.model.key].domain;a.attr({xmlns:o.svg,\\\"xlink:href\\\":i,x:l.l+l.w*u.x[0]-s.overdrag,y:l.t+l.h*(1-u.y[1]),width:(u.x[1]-u.x[0])*l.w+2*s.overdrag,height:(u.y[1]-u.y[0])*l.h,preserveAspectRatio:\\\"none\\\"})}var r=t._fullLayout._glimages,i=n.select(t).selectAll(\\\".svg-container\\\");i.filter(function(t,e){return e===i.size()-1}).selectAll(\\\".parcoords-lines.context, .parcoords-lines.focus\\\").each(e),window.setTimeout(function(){n.selectAll(\\\"#filterBarPattern\\\").attr(\\\"id\\\",\\\"filterBarPattern\\\")},60)}},{\\\"../../constants/xmlns_namespaces\\\":707,\\\"../../plots/plots\\\":829,\\\"./constants\\\":997,\\\"./plot\\\":1002,d3:121}],995:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArray(e.line.color),o=r?e.line.color:Array.apply(0,Array(e.dimensions.reduce(function(t,e){return Math.max(t,e.values.length)},0))).map(function(){return.5}),s=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,\\\"line\\\")&&i(e,e.line.color,\\\"line\\\",\\\"c\\\"),[{lineColor:o,cscale:s}]}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"../../lib\\\":725}],996:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.line,u=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+u).remove(),void 0===l||!l.showscale)return void a.autoMargin(t,u);var c=l.color,h=l.cmin,f=l.cmax;n(h)||(h=i.aggNums(Math.min,null,c)),n(f)||(f=i.aggNums(Math.max,null,c));var d=e[0].t.cb=s(t,u),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,h,f),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:h,end:f,size:(f-h)/254}).options(l.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],997:[function(t,e,r){\\\"use strict\\\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[\\\"contextLineLayer\\\",\\\"focusLineLayer\\\",\\\"pickLineLayer\\\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:\\\"magenta\\\",fillopacity:1,strokecolor:\\\"white\\\",strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0}}},{}],998:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){i(\\\"line.color\\\",r),s(t,\\\"line\\\")&&a.isArray(t.line.color)?(i(\\\"line.colorscale\\\"),l(t,e,n,i,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"})):i(\\\"line.color\\\",r)}function i(t,e){function r(t,e){return a.coerce(n,i,o.dimensions,t,e)}var n,i,s,l=t.dimensions||[],c=e.dimensions=[],h=1/0;for(l.length>u&&(a.log(\\\"parcoords traces support up to \\\"+u+\\\" dimensions at the moment\\\"),l.splice(u)),s=0;s<l.length;s++)if(n=l[s],i={},a.isPlainObject(n)){var f=r(\\\"values\\\"),d=r(\\\"visible\\\",f.length>0);d&&(r(\\\"label\\\"),r(\\\"tickvals\\\"),r(\\\"ticktext\\\"),r(\\\"tickformat\\\"),r(\\\"range\\\"),r(\\\"constraintrange\\\"),h=Math.min(h,i.values.length)),i._index=s,c.push(i)}if(isFinite(h))for(s=0;s<c.length;s++)i=c[s],i.visible&&i.values.length>h&&(i.values=i.values.slice(0,h));return c}var a=t(\\\"../../lib\\\"),o=t(\\\"./attributes\\\"),s=t(\\\"../../components/colorscale/has_colorscale\\\"),l=t(\\\"../../components/colorscale/defaults\\\"),u=t(\\\"./constants\\\").maxDimensionCount;e.exports=function(t,e,r,s){function l(r,n){return a.coerce(t,e,o,r,n)}var u=i(t,e);n(t,e,r,s,l),l(\\\"domain.x\\\"),l(\\\"domain.y\\\"),Array.isArray(u)&&u.length||(e.visible=!1);var c={family:s.font.family,size:Math.round(s.font.size*(10/12)),color:s.font.color};a.coerceFont(l,\\\"labelfont\\\",c),a.coerceFont(l,\\\"tickfont\\\",c),a.coerceFont(l,\\\"rangefont\\\",c)}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"../../lib\\\":725,\\\"./attributes\\\":993,\\\"./constants\\\":997}],999:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"parcoords\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"gl\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":993,\\\"./base_plot\\\":994,\\\"./calc\\\":995,\\\"./colorbar\\\":996,\\\"./defaults\\\":998,\\\"./plot\\\":1002}],1e3:[function(t,e,r){\\\"use strict\\\";function n(t){t.read({x:0,y:0,width:1,height:1,data:x})}function i(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function a(t,e,r,a,o,s){function l(n){var c;c=Math.min(a,o-n*a),s.offset=g*n*a,s.count=g*c,0===n&&(window.cancelAnimationFrame(r.currentRafs[u]),delete r.currentRafs[u],i(t,s.scissorX,s.scissorY,s.scissorWidth,s.viewBoxSize[1])),r.clearOnly||(e(s),n*a+c<o&&(r.currentRafs[u]=window.requestAnimationFrame(function(){l(n+1)})),r.drawCompleted=!1)}var u=s.key;r.drawCompleted||(n(t),r.drawCompleted=!0),l(0)}function o(t){return Math.max(m,Math.min(1-m,t))}function s(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?b:a).concat(r))}return n}function l(t,e){return(t>>>8*e)%256/255}function u(t,e,r,n){for(var i=[],a=0;a<t;a++)for(var s=0;s<v;s++)i.push(s<e?r[s].paddedUnitValues[a]:s===v-1?o(n[a]):s>=v-4?l(a,v-2-s):.5);return i}function c(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<g;a++)for(n=0;n<y;n++)o.push(e[i*v+r*y+n]),r*y+n===v-1&&a%2==0&&(o[o.length-1]*=-1);return o}function h(t,e){var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],n=r.map(function(r){return c(t,e,r)}),i={};return n.forEach(function(t,e){i[\\\"p\\\"+e.toString(16)]=t}),i}function f(t,e,r){return t+e<=r}var d=t(\\\"regl\\\"),p=t(\\\"./constants\\\").verticalPadding,m=1e-6,v=64,g=2,y=4,b=[119,119,119],x=new Uint8Array(4),_=new Uint8Array(4);e.exports=function(t,e,r,n,o,l,c,m,v,g){function y(t){j[0]=t[0],j[1]=t[1]}function b(t,e,i,a,o,s,l,u,c,h,d){var v,g,y,b,x=[t,e],_=p/s,w=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),M=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(v=0;v<2;v++)for(b=x[v],g=0;g<4;g++)for(y=0;y<16;y++){var k=y+16*g;w[v][g][y]=y+16*g===b?1:0,\\n\",\n       \"M[v][g][y]=(!m&&f(y,16*g,I)?A[0===k?0:1+(k-1)%(A.length-1)].filter[v]:v)+(2*v-1)*_}return{key:l,resolution:[r,n],viewBoxPosition:[i+z,a],viewBoxSize:[o,s],i:t,ii:e,dim1A:w[0][0],dim1B:w[0][1],dim1C:w[0][2],dim1D:w[0][3],dim2A:w[1][0],dim2B:w[1][1],dim2C:w[1][2],dim2D:w[1][3],loA:M[0][0],loB:M[0][1],loC:M[0][2],loD:M[0][3],hiA:M[1][0],hiB:M[1][1],hiC:M[1][2],hiD:M[1][3],colorClamp:j,scatter:u||0,scissorX:c===h?0:i+z,scissorWidth:(c===d?r-i+z:o+.5)+(c===h?i+z:0),scissorY:a,scissorHeight:s}}function x(t,o,s){var l,u,c,h=1/0,f=-1/0;for(l=0;l<I;l++)t[l].dim2.canvasX>f&&(f=t[l].dim2.canvasX,c=l),t[l].dim1.canvasX<h&&(h=t[l].dim1.canvasX,u=l);for(0===I&&i(O,0,0,r,n),l=0;l<I;l++){var d=t[l],p=d.dim1,m=p.crossfilterDimensionIndex,v=d.canvasX,y=d.canvasY,x=d.dim2,_=x.crossfilterDimensionIndex,w=d.panelSizeX,M=d.panelSizeY,A=v+w;if(o||!N[m]||N[m][0]!==v||N[m][1]!==A){N[m]=[v,A];var T=b(m,_,v,y,w,M,p.crossfilterDimensionIndex,g||p.scatter?1:0,l,u,c);k.clearOnly=s,a(O,F,k,o?e.blockLineCount:S,S,T)}}}function w(t,e){return O.read({x:t,y:e,width:1,height:1,data:_}),_}function M(t,e,r,n){var i=new Uint8Array(4*r*n);return O.read({x:t,y:e,width:r,height:n,data:i}),i}var k={currentRafs:{},drawCompleted:!0,clearOnly:!1},A=o.slice(),T=A.length,S=A[0]?A[0].values.length:0,E=m,L=v?e.color.map(function(t,r){return r/e.color.length}):e.color,C=Math.max(1/255,Math.pow(1/L.length,1/3)),z=e.canvasOverdrag,I=l.length,D=u(S,T,A,L),P=h(S,D),O=d({canvas:t,attributes:{preserveDrawingBuffer:!0,antialias:!v}}),R=O.texture({shape:[256,1],format:\\\"rgba\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\",data:s(c,m,Math.round(255*(m?C:1)))}),F=O({profile:!1,blend:{enable:E,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:!E,mask:!0,func:\\\"less\\\",range:[0,1]},cull:{enable:!0,face:\\\"back\\\"},scissor:{enable:!0,box:{x:O.prop(\\\"scissorX\\\"),y:O.prop(\\\"scissorY\\\"),width:O.prop(\\\"scissorWidth\\\"),height:O.prop(\\\"scissorHeight\\\")}},dither:!1,vert:v?\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // pick coloring\\\\n    fragColor = vec4(pf.rgb, 1.0);\\\\n}\\\\n\\\":\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // visible coloring\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\",frag:\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = fragColor;\\\\n}\\\\n\\\",primitive:\\\"lines\\\",lineWidth:1,attributes:P,uniforms:{resolution:O.prop(\\\"resolution\\\"),viewBoxPosition:O.prop(\\\"viewBoxPosition\\\"),viewBoxSize:O.prop(\\\"viewBoxSize\\\"),dim1A:O.prop(\\\"dim1A\\\"),dim2A:O.prop(\\\"dim2A\\\"),dim1B:O.prop(\\\"dim1B\\\"),dim2B:O.prop(\\\"dim2B\\\"),dim1C:O.prop(\\\"dim1C\\\"),dim2C:O.prop(\\\"dim2C\\\"),dim1D:O.prop(\\\"dim1D\\\"),dim2D:O.prop(\\\"dim2D\\\"),loA:O.prop(\\\"loA\\\"),hiA:O.prop(\\\"hiA\\\"),loB:O.prop(\\\"loB\\\"),hiB:O.prop(\\\"hiB\\\"),loC:O.prop(\\\"loC\\\"),hiC:O.prop(\\\"hiC\\\"),loD:O.prop(\\\"loD\\\"),hiD:O.prop(\\\"hiD\\\"),palette:R,colorClamp:O.prop(\\\"colorClamp\\\"),scatter:O.prop(\\\"scatter\\\")},offset:O.prop(\\\"offset\\\"),count:O.prop(\\\"count\\\")}),j=[0,1],N=[];return{setColorDomain:y,render:x,readPixel:w,readPixels:M,destroy:O.destroy}}},{\\\"./constants\\\":997,regl:498}],1001:[function(t,e,r){\\\"use strict\\\";function n(t){return t.key}function i(t){return[t]}function a(t){return!(\\\"visible\\\"in t)||t.visible}function o(t){var e=t.range?t.range[0]:w.min(t.values),r=t.range?t.range[1]:w.max(t.values);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function s(t,e){var r,n,i,a,o;for(r=0,n=t.range(),i=1/0,a=n[0],o;r<n.length;r++){if((o=Math.abs(n[r]-e))>i)return a;i=o,a=n[r]}return n[n.length-1]}function l(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}function u(t,e,r){var n=o(r),i=r.ticktext;return r.tickvals?w.scale.ordinal().domain(r.tickvals.map(l(w.format(r.tickformat),i))).range(r.tickvals.map(function(t){return(t-n[0])/(n[1]-n[0])}).map(function(r){return t-e+r*(e-(t-e))})):w.scale.linear().domain(n).range([t-e,e])}function c(t,e){return w.scale.linear().range([t-e,e])}function h(t){return w.scale.linear().domain(o(t))}function f(t){var e=o(t);return t.tickvals&&w.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}function d(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return t[1]}),n=r.map(function(t){return w.rgb(t)}),i=function(t){return function(e){return e[t]}},a=\\\"rgb\\\".split(\\\"\\\").map(function(t){return w.scale.linear().clamp(!0).domain(e).range(n.map(i(t)))});return function(t){return a.map(function(e){return e(t)})}}function p(t){return t[0]}function m(t,e,r){var n=p(e),i=n.trace,o=n.lineColor,s=n.cscale,l=i.line,u=i.domain,c=i.dimensions,f=t.width,m=i.labelfont,v=i.tickfont,g=i.rangefont,y=_.extendDeep({},l,{color:o.map(h({values:o,range:[l.cmin,l.cmax]})),blockLineCount:x.blockLineCount,canvasOverdrag:x.overdrag*x.canvasPixelRatio}),b=Math.floor(f*(u.x[1]-u.x[0])),w=Math.floor(t.height*(u.y[1]-u.y[0])),M=t.margin||{l:80,r:80,t:100,b:80},k=b,A=w;return{key:r,colCount:c.filter(a).length,dimensions:c,tickDistance:x.tickDistance,unitToColor:d(s),lines:y,labelFont:m,tickFont:v,rangeFont:g,translateX:u.x[0]*f,translateY:t.height-u.y[1]*t.height,pad:M,canvasWidth:k*x.canvasPixelRatio+2*y.canvasOverdrag,canvasHeight:A*x.canvasPixelRatio,width:k,height:A,canvasPixelRatio:x.canvasPixelRatio}}function v(t){var e=t.width,r=t.height,n=t.dimensions,i=t.canvasPixelRatio,o=function(r){return e*r/Math.max(1,t.colCount-1)},s=x.verticalPadding/(r*i),l=1-2*s,d=function(t){return s+l*t},p={key:t.key,xScale:o,model:t},m={};return p.dimensions=n.filter(a).map(function(e,n){var a=h(e),s=m[e.label];return m[e.label]=(s||0)+1,{key:e.label+(s?\\\"__\\\"+s:\\\"\\\"),label:e.label,tickFormat:e.tickformat,tickvals:e.tickvals,ticktext:e.ticktext,ordinal:!!e.tickvals,scatter:x.scatter||e.scatter,xIndex:n,crossfilterDimensionIndex:n,visibleIndex:e._index,height:r,values:e.values,paddedUnitValues:e.values.map(a).map(d),xScale:o,x:o(n),canvasX:o(n)*i,unitScale:c(r,x.verticalPadding),domainScale:u(r,x.verticalPadding,e),ordinalScale:f(e),domainToUnitScale:a,filter:e.constraintrange?e.constraintrange.map(a):[0,1],parent:p,model:t}}),p}function g(t){return x.layers.map(function(e){return{key:e,context:\\\"contextLineLayer\\\"===e,pick:\\\"pickLineLayer\\\"===e,viewModel:t,model:t.model}})}function y(t){t.classed(\\\"axisExtentText\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"user-select\\\",\\\"none\\\")}var b=t(\\\"./lines\\\"),x=t(\\\"./constants\\\"),_=t(\\\"../../lib\\\"),w=t(\\\"d3\\\"),M=t(\\\"../../components/drawing\\\");e.exports=function(t,e,r,a,o){function l(t){var e=t.selectAll(\\\"defs\\\").data(i,n);e.enter().append(\\\"defs\\\");var r=e.selectAll(\\\"#filterBarPattern\\\").data(i,n);r.enter().append(\\\"pattern\\\").attr(\\\"id\\\",\\\"filterBarPattern\\\").attr(\\\"patternUnits\\\",\\\"userSpaceOnUse\\\"),r.attr(\\\"x\\\",-x.bar.width).attr(\\\"width\\\",x.bar.capturewidth).attr(\\\"height\\\",function(t){return t.model.height});var a=r.selectAll(\\\"rect\\\").data(i,n);a.enter().append(\\\"rect\\\").attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),a.attr(\\\"height\\\",function(t){return t.model.height}).attr(\\\"width\\\",x.bar.width).attr(\\\"x\\\",x.bar.width/2).attr(\\\"fill\\\",x.bar.fillcolor).attr(\\\"fill-opacity\\\",x.bar.fillopacity).attr(\\\"stroke\\\",x.bar.strokecolor).attr(\\\"stroke-opacity\\\",x.bar.strokeopacity).attr(\\\"stroke-width\\\",x.bar.strokewidth)}function u(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function c(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a<1;a++)for(var o=0;o<i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],u=n[o+1];s.dim1=l,s.dim2=u,s.canvasX=l.canvasX,s.panelSizeX=u.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}}function h(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o<i;o++)for(var s=0;s<i;s++){var l=r[s+o*i]||(r[s+o*i]={}),u=n[s],c=n[s+1];l.dim1=n[o+1],l.dim2=c,l.canvasX=u.canvasX,l.panelSizeX=c.canvasX-u.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}function f(t,e){return(x.scatter?h:c)(t,e)}function d(t){return t.ordinal?function(){return\\\"\\\"}:w.format(t.tickFormat)}function _(){X=!0,T=!0}function k(t){S=!1;var e=t.parent,r=t.brush.extent(),n=e.dimensions,i=n[t.xIndex].filter,a=X&&r[0]===r[1];a&&(t.brush.clear(),w.select(this).select(\\\"rect.extent\\\").attr(\\\"y\\\",-100));var o=a?[0,1]:r.slice();if(o[0]!==i[0]||o[1]!==i[1]){n[t.xIndex].filter=o,e.focusLineLayer&&e.focusLineLayer.render(e.panels,!0);var s=u(e);!W&&s?(e.contextLineLayer&&e.contextLineLayer.render(e.panels,!0),W=!0):W&&!s&&(e.contextLineLayer&&e.contextLineLayer.render(e.panels,!0,!0),W=!1)}X=!1}function A(t){var e=t.parent,r=t.brush.extent(),n=r[0]===r[1],i=e.dimensions,a=i[t.xIndex].filter;if(!n&&t.ordinal&&(a[0]=s(t.ordinalScale,a[0]),a[1]=s(t.ordinalScale,a[1]),a[0]===a[1]&&(a[0]=Math.max(0,a[0]-.05),a[1]=Math.min(1,a[1]+.05)),w.select(this).transition().duration(150).call(t.brush.extent(a)),e.focusLineLayer.render(e.panels,!0)),e.pickLineLayer&&e.pickLineLayer.render(e.panels,!0),S=!0,T=\\\"ending\\\",o&&o.filterChanged){var l=t.domainToUnitScale.invert,u=a.map(l);o.filterChanged(e.key,t.visibleIndex,u)}}var T=!1,S=!0,E=r.filter(function(t){return p(t).trace.visible}).map(m.bind(0,a)).map(v);t.selectAll(\\\".parcoords-line-layers\\\").remove();var L=t.selectAll(\\\".parcoords-line-layers\\\").data(E,n);L.enter().insert(\\\"div\\\",\\\".\\\"+e.attr(\\\"class\\\").split(\\\" \\\").join(\\\" .\\\")).classed(\\\"parcoords-line-layers\\\",!0).style(\\\"box-sizing\\\",\\\"content-box\\\"),L.style(\\\"transform\\\",function(t){return\\\"translate(\\\"+(t.model.translateX-x.overdrag)+\\\"px,\\\"+t.model.translateY+\\\"px)\\\"});var C=L.selectAll(\\\".parcoords-lines\\\").data(g,n),z={renderers:[],dimensions:[]},I=null;C.enter().append(\\\"canvas\\\").attr(\\\"class\\\",function(t){return\\\"parcoords-lines \\\"+(t.context?\\\"context\\\":t.pick?\\\"pick\\\":\\\"focus\\\")}).style(\\\"box-sizing\\\",\\\"content-box\\\").style(\\\"float\\\",\\\"left\\\").style(\\\"clear\\\",\\\"both\\\").style(\\\"left\\\",0).style(\\\"overflow\\\",\\\"visible\\\").style(\\\"position\\\",function(t,e){return\\\"absolute\\\"}).filter(function(t){return t.pick}).on(\\\"mousemove\\\",function(t){if(S&&t.lineLayer&&o&&o.hover){var e=w.event,r=this.width,n=this.height,i=w.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),u=0!==l[3],c=u?l[2]+256*(l[1]+256*l[0]):null,h={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:c};c!==I&&(u?o.hover(h):o.unhover&&o.unhover(h),I=c)}}),C.style(\\\"margin\\\",function(t){var e=t.model.pad;return e.t+\\\"px \\\"+e.r+\\\"px \\\"+e.b+\\\"px \\\"+e.l+\\\"px\\\"}).attr(\\\"width\\\",function(t){return t.model.canvasWidth}).attr(\\\"height\\\",function(t){return t.model.canvasHeight}).style(\\\"width\\\",function(t){return t.model.width+2*x.overdrag+\\\"px\\\"}).style(\\\"height\\\",function(t){return t.model.height+\\\"px\\\"}).style(\\\"opacity\\\",function(t){return t.pick?.01:1}),e.style(\\\"background\\\",\\\"rgba(255, 255, 255, 0)\\\");var D=e.selectAll(\\\".parcoords\\\").data(E,n);D.exit().remove(),D.enter().append(\\\"g\\\").classed(\\\"parcoords\\\",!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\\\",\\\"none\\\").call(l),D.attr(\\\"width\\\",function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(\\\"height\\\",function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.translateX+\\\",\\\"+t.model.translateY+\\\")\\\"});var P=D.selectAll(\\\".parcoordsControlView\\\").data(i,n);P.enter().append(\\\"g\\\").classed(\\\"parcoordsControlView\\\",!0).style(\\\"box-sizing\\\",\\\"content-box\\\"),P.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.pad.l+\\\",\\\"+t.model.pad.t+\\\")\\\"});var O=P.selectAll(\\\".yAxis\\\").data(function(t){return t.dimensions},n);O.enter().append(\\\"g\\\").classed(\\\"yAxis\\\",!0).each(function(t){z.dimensions.push(t)}),P.each(function(t){f(O,t)}),C.each(function(t){t.lineLayer=b(this,t.model.lines,t.model.canvasWidth,t.model.canvasHeight,t.viewModel.dimensions,t.viewModel.panels,t.model.unitToColor,t.context,t.pick,x.scatter),t.viewModel[t.key]=t.lineLayer,z.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),O.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),O.call(w.behavior.drag().origin(function(t){return t}).on(\\\"drag\\\",function(t){var e=t.parent;S=!1,T||(t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,w.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,O.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}),f(O,e),O.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),w.select(this).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\", 0)\\\"),O.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLineLayer&&e.contextLineLayer.render(e.panels,!1,!u(e)),e.focusLineLayer.render&&e.focusLineLayer.render(e.panels))}).on(\\\"dragend\\\",function(t){var e=t.parent;if(T)return void(\\\"ending\\\"===T&&(T=!1));t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,f(O,e),w.select(this).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\", 0)\\\"}),e.contextLineLayer&&e.contextLineLayer.render(e.panels,!1,!u(e)),e.focusLineLayer&&e.focusLineLayer.render(e.panels),e.pickLineLayer&&e.pickLineLayer.render(e.panels,!0),S=!0,o&&o.axesMoved&&o.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),O.exit().remove();var R=O.selectAll(\\\".axisOverlays\\\").data(i,n);R.enter().append(\\\"g\\\").classed(\\\"axisOverlays\\\",!0),R.selectAll(\\\".axis\\\").remove();var F=R.selectAll(\\\".axis\\\").data(i,n);F.enter().append(\\\"g\\\").classed(\\\"axis\\\",!0),F.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();w.select(this).call(w.svg.axis().orient(\\\"left\\\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),M.font(F.selectAll(\\\"text\\\"),t.model.tickFont)}),F.selectAll(\\\".domain, .tick>line\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-opacity\\\",.25).attr(\\\"stroke-width\\\",\\\"1px\\\"),F.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=R.selectAll(\\\".axisHeading\\\").data(i,n);j.enter().append(\\\"g\\\").classed(\\\"axisHeading\\\",!0);var N=j.selectAll(\\\".axisTitle\\\").data(i,n);N.enter().append(\\\"text\\\").classed(\\\"axisTitle\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"ew-resize\\\").style(\\\"user-select\\\",\\\"none\\\").style(\\\"pointer-events\\\",\\\"auto\\\"),N.attr(\\\"transform\\\",\\\"translate(0,\\\"+-x.axisTitleOffset+\\\")\\\").text(function(t){return t.label}).each(function(t){M.font(N,t.model.labelFont)});var B=R.selectAll(\\\".axisExtent\\\").data(i,n);B.enter().append(\\\"g\\\").classed(\\\"axisExtent\\\",!0);var U=B.selectAll(\\\".axisExtentTop\\\").data(i,n);U.enter().append(\\\"g\\\").classed(\\\"axisExtentTop\\\",!0),U.attr(\\\"transform\\\",\\\"translate(0,\\\"+-x.axisExtentOffset+\\\")\\\");var V=U.selectAll(\\\".axisExtentTopText\\\").data(i,n);V.enter().append(\\\"text\\\").classed(\\\"axisExtentTopText\\\",!0).attr(\\\"alignment-baseline\\\",\\\"after-edge\\\").call(y),V.text(function(t){return d(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){M.font(V,t.model.rangeFont)});var H=B.selectAll(\\\".axisExtentBottom\\\").data(i,n);H.enter().append(\\\"g\\\").classed(\\\"axisExtentBottom\\\",!0),H.attr(\\\"transform\\\",function(t){return\\\"translate(0,\\\"+(t.model.height+x.axisExtentOffset)+\\\")\\\"});var q=H.selectAll(\\\".axisExtentBottomText\\\").data(i,n);q.enter().append(\\\"text\\\").classed(\\\"axisExtentBottomText\\\",!0).attr(\\\"alignment-baseline\\\",\\\"before-edge\\\").call(y),q.text(function(t){return d(t)(t.domainScale.domain()[0])}).each(function(t){M.font(q,t.model.rangeFont)});var G=R.selectAll(\\\".axisBrush\\\").data(i,n),Y=G.enter().append(\\\"g\\\").classed(\\\"axisBrush\\\",!0);G.each(function(t){t.brush||(t.brush=w.svg.brush().y(t.unitScale).on(\\\"brushstart\\\",_).on(\\\"brush\\\",k).on(\\\"brushend\\\",A),0===t.filter[0]&&1===t.filter[1]||t.brush.extent(t.filter),w.select(this).call(t.brush))}),Y.selectAll(\\\"rect\\\").attr(\\\"x\\\",-x.bar.capturewidth/2).attr(\\\"width\\\",x.bar.capturewidth),Y.selectAll(\\\"rect.extent\\\").attr(\\\"fill\\\",\\\"url(#filterBarPattern)\\\").style(\\\"cursor\\\",\\\"ns-resize\\\").filter(function(t){return 0===t.filter[0]&&1===t.filter[1]}).attr(\\\"y\\\",-100),Y.selectAll(\\\".resize rect\\\").attr(\\\"height\\\",x.bar.handleheight).attr(\\\"opacity\\\",0).style(\\\"visibility\\\",\\\"visible\\\"),Y.selectAll(\\\".resize.n rect\\\").style(\\\"cursor\\\",\\\"n-resize\\\").attr(\\\"y\\\",x.bar.handleoverlap-x.bar.handleheight),Y.selectAll(\\\".resize.s rect\\\").style(\\\"cursor\\\",\\\"s-resize\\\").attr(\\\"y\\\",x.bar.handleoverlap);var X=!1,W=!1;return z}},{\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"./constants\\\":997,\\\"./lines\\\":1e3,d3:121}],1002:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./parcoords\\\");e.exports=function(t,e){var r=t._fullLayout,i=r._paper,a=r._paperdiv,o={},s={},l=r._size;e.forEach(function(e,r){o[r]=t.data[r].dimensions,s[r]=t.data[r].dimensions.slice()});var u=function(e,r,n){var i=s[e][r],a=i.constraintrange;a&&2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],t.emit(\\\"plotly_restyle\\\")},c=function(e){t.emit(\\\"plotly_hover\\\",e)},h=function(e){t.emit(\\\"plotly_unhover\\\",e)},f=function(e,r){function n(t){return!(\\\"visible\\\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(s[e].filter(n));o[e].sort(a),s[e].filter(function(t){return!n(t)}).sort(function(t){return s[e].indexOf(t)}).forEach(function(t){o[e].splice(o[e].indexOf(t),1),o[e].splice(s[e].indexOf(t),0,t)}),t.emit(\\\"plotly_restyle\\\")};n(a,i,e,{width:l.w,height:l.h,margin:{t:l.t,r:l.r,b:l.b,l:l.l}},{filterChanged:u,hover:c,unhover:h,axesMoved:f})}},{\\\"./parcoords\\\":1001}],1003:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color/attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={labels:{valType:\\\"data_array\\\"},label0:{valType:\\\"number\\\",dflt:0},dlabel:{valType:\\\"number\\\",dflt:1},values:{valType:\\\"data_array\\\"},marker:{colors:{valType:\\\"data_array\\\"},line:{color:{valType:\\\"color\\\",dflt:n.defaultLine,arrayOk:!0},width:{valType:\\\"number\\\",min:0,dflt:0,arrayOk:!0}}},text:{valType:\\\"data_array\\\"},hovertext:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},scalegroup:{valType:\\\"string\\\",dflt:\\\"\\\"},textinfo:{valType:\\\"flaglist\\\",flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\"],extras:[\\\"none\\\"]},hoverinfo:o({},a.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"auto\\\",arrayOk:!0},textfont:o({},i,{}),insidetextfont:o({},i,{}),outsidetextfont:o({},i,{}),domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},hole:{valType:\\\"number\\\",min:0,max:1,dflt:0},sort:{valType:\\\"boolean\\\",dflt:!0},direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"],dflt:\\\"counterclockwise\\\"},rotation:{valType:\\\"number\\\",min:-360,max:360,dflt:0},pull:{valType:\\\"number\\\",min:0,max:1,dflt:0,arrayOk:!0}}},{\\\"../../components/color/attributes\\\":602,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../../plots/font_attributes\\\":790}],1004:[function(t,e,r){\\\"use strict\\\";function n(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&!0===a.visible&&r.push(i)}return r}var i=t(\\\"../../registry\\\");r.name=\\\"pie\\\",r.plot=function(t){var e=i.getModule(\\\"pie\\\"),r=n(t.calcdata,e);r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"pie\\\"),a=e._has&&e._has(\\\"pie\\\");i&&!a&&n._pielayer.selectAll(\\\"g.trace\\\").remove()}},{\\\"../../registry\\\":844}],1005:[function(t,e,r){\\\"use strict\\\";function n(t){if(!l){var e=o.defaults;l=e.slice();var r;for(r=0;r<e.length;r++)l.push(a(e[r]).lighten(20).toHexString());for(r=0;r<o.defaults.length;r++)l.push(a(e[r]).darken(20).toHexString())}return l[t%l.length]}var i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"./helpers\\\");e.exports=function(t,e){var r,l,u,c,h,f,d=e.values,p=e.labels,m=[],v=t._fullLayout,g=v._piecolormap,y={},b=!1,x=0,_=v.hiddenlabels||[];if(e.dlabel)for(p=new Array(d.length),r=0;r<d.length;r++)p[r]=String(e.label0+r*e.dlabel);for(r=0;r<d.length;r++)l=d[r],i(l)&&((l=+l)<0||(u=p[r],void 0!==u&&\\\"\\\"!==u||(u=r),u=String(u),void 0===y[u]&&(y[u]=!0,c=a(e.marker.colors[r]),c.isValid()?(c=o.addOpacity(c,c.getAlpha()),g[u]||(g[u]=c)):g[u]?c=g[u]:(c=!1,b=!0),h=-1!==_.indexOf(u),h||(x+=l),m.push({v:l,label:u,color:c,i:r,hidden:h}))));if(e.sort&&m.sort(function(t,e){return e.v-t.v}),b)for(r=0;r<m.length;r++)f=m[r],!1===f.color&&(g[f.label]=f.color=n(v._piedefaultcolorcount),v._piedefaultcolorcount++);if(m[0]&&(m[0].vTotal=x),e.textinfo&&\\\"none\\\"!==e.textinfo){var w,M=-1!==e.textinfo.indexOf(\\\"label\\\"),k=-1!==e.textinfo.indexOf(\\\"text\\\"),A=-1!==e.textinfo.indexOf(\\\"value\\\"),T=-1!==e.textinfo.indexOf(\\\"percent\\\"),S=v.separators;for(r=0;r<m.length;r++)f=m[r],w=M?[f.label]:[],k&&e.text[f.i]&&w.push(e.text[f.i]),A&&w.push(s.formatPieValue(f.v,S)),T&&w.push(s.formatPiePercent(f.v/x,S)),f.text=w.join(\\\"<br>\\\")}return m};var l},{\\\"../../components/color\\\":603,\\\"./helpers\\\":1007,\\\"fast-isnumeric\\\":130,tinycolor2:533}],1006:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r,a){function o(r,a){return n.coerce(t,e,i,r,a)}var s=n.coerceFont,l=o(\\\"values\\\");if(!Array.isArray(l)||!l.length)return void(e.visible=!1);var u=o(\\\"labels\\\");Array.isArray(u)||(o(\\\"label0\\\"),o(\\\"dlabel\\\")),o(\\\"marker.line.width\\\")&&o(\\\"marker.line.color\\\");var c=o(\\\"marker.colors\\\");Array.isArray(c)||(e.marker.colors=[]),o(\\\"scalegroup\\\");var h=o(\\\"text\\\"),f=o(\\\"textinfo\\\",Array.isArray(h)?\\\"text+percent\\\":\\\"percent\\\");if(o(\\\"hovertext\\\"),f&&\\\"none\\\"!==f){var d=o(\\\"textposition\\\"),p=Array.isArray(d)||\\\"auto\\\"===d,m=p||\\\"inside\\\"===d,v=p||\\\"outside\\\"===d;if(m||v){var g=s(o,\\\"textfont\\\",a.font);m&&s(o,\\\"insidetextfont\\\",g),v&&s(o,\\\"outsidetextfont\\\",g)}}o(\\\"domain.x\\\"),o(\\\"domain.y\\\"),o(\\\"hole\\\"),o(\\\"sort\\\"),o(\\\"direction\\\"),o(\\\"rotation\\\"),o(\\\"pull\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":1003}],1007:[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)}},{\\\"../../lib\\\":725}],1008:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.styleOne=t(\\\"./style_one\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pie\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"pie\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":1003,\\\"./base_plot\\\":1004,\\\"./calc\\\":1005,\\\"./defaults\\\":1006,\\\"./layout_attributes\\\":1009,\\\"./layout_defaults\\\":1010,\\\"./plot\\\":1011,\\\"./style\\\":1012,\\\"./style_one\\\":1013}],1009:[function(t,e,r){\\\"use strict\\\";e.exports={hiddenlabels:{valType:\\\"data_array\\\"}}},{}],1010:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e){!function(r,a){n.coerce(t,e,i,r,a)}(\\\"hiddenlabels\\\")}},{\\\"../../lib\\\":725,\\\"./layout_attributes\\\":1009}],1011:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,o=Math.PI*Math.min(e.v/r.vTotal,.5),s=1-r.trace.hole,l=i(e,r),u={scale:l*r.r*2/n,rCenter:1-l,rotate:0};if(u.scale>=1)return u;var c=a+1/(2*Math.tan(o)),h=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),s/(Math.sqrt(a*a+s/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/r.r)-h*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},d=1/a,p=d+1/(2*Math.tan(o)),m=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),s/(Math.sqrt(d*d+s/2)+d)),v={scale:2*m/t.width,rCenter:Math.cos(m/r.r)-m/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},g=v.scale>f.scale?v:f;return u.scale<1&&g.scale>u.scale?g:u}function i(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function a(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function o(t,e){function r(t,e){return t.pxmid[1]-e.pxmid[1]}function n(t,e){return e.pxmid[1]-t.pxmid[1]}var i,a,o,s,l,u,c,h,f,d,p,m,v;for(a=0;a<2;a++)for(o=a?r:n,l=a?Math.max:Math.min,c=a?1:-1,i=0;i<2;i++){for(s=i?Math.max:Math.min,u=i?1:-1,h=t[a][i],h.sort(o),f=t[1-a][i],d=f.concat(h),m=[],p=0;p<h.length;p++)void 0!==h[p].yLabelMid&&m.push(h[p]);for(v=!1,p=0;a&&p<f.length;p++)if(void 0!==f[p].yLabelMid){v=f[p];break}for(p=0;p<m.length;p++){var g=p&&m[p-1];v&&!p&&(g=v),function(t,r){r||(r={});var n,i,o,h,f,p,m=r.labelExtraY+(a?r.yLabelMax:r.yLabelMin),v=a?t.yLabelMin:t.yLabelMax,g=a?t.yLabelMax:t.yLabelMin,y=t.cyFinal+l(t.px0[1],t.px1[1]),b=m-v;if(b*c>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(i=0;i<d.length;i++)(o=d[i])===t||(e.pull[t.i]||0)>=e.pull[o.i]||((t.pxmid[1]-o.pxmid[1])*c>0?(h=o.cyFinal+l(o.px0[1],o.px1[1]),(b=h-v-t.labelExtraY)*c>0&&(t.labelExtraY+=b)):(g+t.labelExtraY-y)*c>0&&(n=3*u*Math.abs(i-d.indexOf(t)),f=o.cxFinal+s(o.px0[0],o.px1[0]),(p=f+n-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*u>0&&(t.labelExtraX+=p)))}(m[p],g)}}}function s(t,e){var r,n,i,a,o,s,l,c,h,f,d=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.tiltaxis*Math.PI/180,c=s.pull,Array.isArray(c))for(c=0,a=0;a<s.pull.length;a++)s.pull[a]>c&&(c=s.pull[a]);o.r=Math.min(r/u(s.tilt,Math.sin(l),s.depth),n/u(s.tilt,Math.cos(l),s.depth))/(2+2*c),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===d.indexOf(s.scalegroup)&&d.push(s.scalegroup)}for(a=0;a<d.length;a++){for(f=1/0,h=d[a],i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(f=Math.min(f,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)o=t[i][0],o.trace.scalegroup===h&&(o.r=Math.sqrt(f*o.vTotal))}}function l(t){function e(t){var e=h.r*Math.sin(t),r=-h.r*Math.cos(t);return d?[e*(1-s*n*n)+r*o*s,e*o*s+r*(1-s*i*i),Math.sin(a)*(r*i-e*n)]:[e,r]}var r,n,i,a,o,s,l,u,c,h=t[0],f=h.trace,d=f.tilt,p=f.rotation*Math.PI/180,m=2*Math.PI/h.vTotal,v=\\\"px0\\\",g=\\\"px1\\\";if(\\\"counterclockwise\\\"===f.direction){for(l=0;l<t.length&&t[l].hidden;l++);if(l===t.length)return;p+=m*t[l].v,m*=-1,v=\\\"px1\\\",g=\\\"px0\\\"}for(d&&(a=d*Math.PI/180,r=f.tiltaxis*Math.PI/180,o=Math.sin(r)*Math.cos(r),s=1-Math.cos(a),n=Math.sin(r),i=Math.cos(r)),c=e(p),l=0;l<t.length;l++)u=t[l],u.hidden||(u[v]=c,p+=m*u.v/2,u.pxmid=e(p),u.midangle=p,p+=m*u.v/2,c=e(p),u[g]=c,u.largeArc=u.v>h.vTotal/2?1:0)}function u(t,e,r){if(!t)return 1;var n=Math.sin(t*Math.PI/180);return Math.max(.01,r*n*Math.abs(e)+2*Math.sqrt(1-n*n*e*e))}var c=t(\\\"d3\\\"),h=t(\\\"../../components/fx\\\"),f=t(\\\"../../components/color\\\"),d=t(\\\"../../components/drawing\\\"),p=t(\\\"../../lib/svg_text_utils\\\"),m=t(\\\"./helpers\\\");e.exports=function(t,e){var r=t._fullLayout;s(e,r._size);var u=r._pielayer.selectAll(\\\"g.trace\\\").data(e);u.enter().append(\\\"g\\\").attr({\\\"stroke-linejoin\\\":\\\"round\\\",class:\\\"trace\\\"}),u.exit().remove(),u.order(),u.each(function(e){\\n\",\n       \"var s=c.select(this),u=e[0],v=u.trace,g=(v.depth||0)*u.r*Math.sin(0)/2,y=v.tiltaxis||0,b=y*Math.PI/180,x=[g*Math.sin(b),g*Math.cos(b)],_=u.r*Math.cos(0),w=s.selectAll(\\\"g.part\\\").data(v.tilt?[\\\"top\\\",\\\"sides\\\"]:[\\\"top\\\"]);w.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return t+\\\" part\\\"}),w.exit().remove(),w.order(),l(e),s.selectAll(\\\".top\\\").each(function(){var s=c.select(this).selectAll(\\\"g.slice\\\").data(e);s.enter().append(\\\"g\\\").classed(\\\"slice\\\",!0),s.exit().remove();var l=[[[],[]],[[],[]]],g=!1;s.each(function(e){function o(n){n.originalEvent=c.event;var a=t._fullLayout,o=t._fullData[v.index],s=h.castHoverinfo(o,a,e.i);if(\\\"all\\\"===s&&(s=\\\"label+text+value+percent+name\\\"),t._dragging||!1===a.hovermode||\\\"none\\\"===s||\\\"skip\\\"===s||!s)return void h.hover(t,n,\\\"pie\\\");var l=i(e,u),f=w+e.pxmid[0]*(1-l),d=M+e.pxmid[1]*(1-l),p=r.separators,g=[];-1!==s.indexOf(\\\"label\\\")&&g.push(e.label),-1!==s.indexOf(\\\"text\\\")&&(o.hovertext?g.push(Array.isArray(o.hovertext)?o.hovertext[e.i]:o.hovertext):o.text&&o.text[e.i]&&g.push(o.text[e.i])),-1!==s.indexOf(\\\"value\\\")&&g.push(m.formatPieValue(e.v,p)),-1!==s.indexOf(\\\"percent\\\")&&g.push(m.formatPiePercent(e.v/u.vTotal,p)),h.loneHover({x0:f-l*u.r,x1:f+l*u.r,y:d,text:g.join(\\\"<br>\\\"),name:-1!==s.indexOf(\\\"name\\\")?o.name:void 0,idealAlign:e.pxmid[0]<0?\\\"left\\\":\\\"right\\\",color:h.castHoverOption(v,e.i,\\\"bgcolor\\\")||e.color,borderColor:h.castHoverOption(v,e.i,\\\"bordercolor\\\"),fontFamily:h.castHoverOption(v,e.i,\\\"font.family\\\"),fontSize:h.castHoverOption(v,e.i,\\\"font.size\\\"),fontColor:h.castHoverOption(v,e.i,\\\"font.color\\\")},{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:t}),h.hover(t,n,\\\"pie\\\"),T=!0}function s(e){e.originalEvent=c.event,t.emit(\\\"plotly_unhover\\\",{event:c.event,points:[e]}),T&&(h.loneUnhover(r._hoverlayer.node()),T=!1)}function f(){t._hoverdata=[e],t._hoverdata.trace=u.trace,h.click(t,c.event)}function b(t,r,n,i){return\\\"a\\\"+i*u.r+\\\",\\\"+i*_+\\\" \\\"+y+\\\" \\\"+e.largeArc+(n?\\\" 1 \\\":\\\" 0 \\\")+i*(r[0]-t[0])+\\\",\\\"+i*(r[1]-t[1])}if(e.hidden)return void c.select(this).selectAll(\\\"path,g\\\").remove();e.pointNumber=e.i,e.curveNumber=v.index,l[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var w=u.cx+x[0],M=u.cy+x[1],k=c.select(this),A=k.selectAll(\\\"path.surface\\\").data([e]),T=!1;if(A.enter().append(\\\"path\\\").classed(\\\"surface\\\",!0).style({\\\"pointer-events\\\":\\\"all\\\"}),k.select(\\\"path.textline\\\").remove(),k.on(\\\"mouseover\\\",o).on(\\\"mouseout\\\",s).on(\\\"click\\\",f),v.pull){var S=+(Array.isArray(v.pull)?v.pull[e.i]:v.pull)||0;S>0&&(w+=S*e.pxmid[0],M+=S*e.pxmid[1])}e.cxFinal=w,e.cyFinal=M;var E=v.hole;if(e.v===u.vTotal){var L=\\\"M\\\"+(w+e.px0[0])+\\\",\\\"+(M+e.px0[1])+b(e.px0,e.pxmid,!0,1)+b(e.pxmid,e.px0,!0,1)+\\\"Z\\\";E?A.attr(\\\"d\\\",\\\"M\\\"+(w+E*e.px0[0])+\\\",\\\"+(M+E*e.px0[1])+b(e.px0,e.pxmid,!1,E)+b(e.pxmid,e.px0,!1,E)+\\\"Z\\\"+L):A.attr(\\\"d\\\",L)}else{var C=b(e.px0,e.px1,!0,1);if(E){var z=1-E;A.attr(\\\"d\\\",\\\"M\\\"+(w+E*e.px1[0])+\\\",\\\"+(M+E*e.px1[1])+b(e.px1,e.px0,!1,E)+\\\"l\\\"+z*e.px0[0]+\\\",\\\"+z*e.px0[1]+C+\\\"Z\\\")}else A.attr(\\\"d\\\",\\\"M\\\"+w+\\\",\\\"+M+\\\"l\\\"+e.px0[0]+\\\",\\\"+e.px0[1]+C+\\\"Z\\\")}var I=Array.isArray(v.textposition)?v.textposition[e.i]:v.textposition,D=k.selectAll(\\\"g.slicetext\\\").data(e.text&&\\\"none\\\"!==I?[0]:[]);D.enter().append(\\\"g\\\").classed(\\\"slicetext\\\",!0),D.exit().remove(),D.each(function(){var r=c.select(this).selectAll(\\\"text\\\").data([0]);r.enter().append(\\\"text\\\").attr(\\\"data-notex\\\",1),r.exit().remove(),r.text(e.text).attr({class:\\\"slicetext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\"}).call(d.font,\\\"outside\\\"===I?v.outsidetextfont:v.insidetextfont).call(p.convertToTspans,t);var i,o=d.bBox(r.node());\\\"outside\\\"===I?i=a(o,e):(i=n(o,e,u),\\\"auto\\\"===I&&i.scale<1&&(r.call(d.font,v.outsidetextfont),v.outsidetextfont.family===v.insidetextfont.family&&v.outsidetextfont.size===v.insidetextfont.size||(o=d.bBox(r.node())),i=a(o,e)));var s=w+e.pxmid[0]*i.rCenter+(i.x||0),l=M+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=l-o.height/2,e.yLabelMid=l,e.yLabelMax=l+o.height/2,e.labelExtraX=0,e.labelExtraY=0,g=!0),r.attr(\\\"transform\\\",\\\"translate(\\\"+s+\\\",\\\"+l+\\\")\\\"+(i.scale<1?\\\"scale(\\\"+i.scale+\\\")\\\":\\\"\\\")+(i.rotate?\\\"rotate(\\\"+i.rotate+\\\")\\\":\\\"\\\")+\\\"translate(\\\"+-(o.left+o.right)/2+\\\",\\\"+-(o.top+o.bottom)/2+\\\")\\\")})}),g&&o(l,v),s.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=c.select(this),r=e.select(\\\"g.slicetext text\\\");r.attr(\\\"transform\\\",\\\"translate(\\\"+t.labelExtraX+\\\",\\\"+t.labelExtraY+\\\")\\\"+r.attr(\\\"transform\\\"));var n=t.cxFinal+t.pxmid[0],i=t.cyFinal+t.pxmid[1],a=\\\"M\\\"+n+\\\",\\\"+i,o=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var s=t.labelExtraX*t.pxmid[1]/t.pxmid[0],l=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(s)>Math.abs(l)?a+=\\\"l\\\"+l*t.pxmid[0]/t.pxmid[1]+\\\",\\\"+l+\\\"H\\\"+(n+t.labelExtraX+o):a+=\\\"l\\\"+t.labelExtraX+\\\",\\\"+s+\\\"v\\\"+(l-s)+\\\"h\\\"+o}else a+=\\\"V\\\"+(t.yLabelMid+t.labelExtraY)+\\\"h\\\"+o;e.append(\\\"path\\\").classed(\\\"textline\\\",!0).call(f.stroke,v.outsidetextfont.color).attr({\\\"stroke-width\\\":Math.min(2,v.outsidetextfont.size/8),d:a,fill:\\\"none\\\"})}})})}),setTimeout(function(){u.selectAll(\\\"tspan\\\").each(function(){var t=c.select(this);t.attr(\\\"dy\\\")&&t.attr(\\\"dy\\\",t.attr(\\\"dy\\\"))})},0)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../components/fx\\\":644,\\\"../../lib/svg_text_utils\\\":745,\\\"./helpers\\\":1007,d3:121}],1012:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"./style_one\\\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\\\".trace\\\").each(function(t){var e=t[0],r=e.trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\\\".top path.surface\\\").each(function(t){n.select(this).call(i,t,r)})})}},{\\\"./style_one\\\":1013,d3:121}],1013:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\");e.exports=function(t,e,r){var i=r.marker.line.color;Array.isArray(i)&&(i=i[e.i]||n.defaultLine);var a=r.marker.line.width||0;Array.isArray(a)&&(a=a[e.i]||0),t.style({\\\"stroke-width\\\":a}).call(n.fill,e.color).call(n.stroke,i)}},{\\\"../../components/color\\\":603}],1014:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergl/attributes\\\");e.exports={x:n.x,y:n.y,xy:{valType:\\\"data_array\\\"},indices:{valType:\\\"data_array\\\"},xbounds:{valType:\\\"data_array\\\"},ybounds:{valType:\\\"data_array\\\"},text:n.text,marker:{color:{valType:\\\"color\\\",arrayOk:!1},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1,arrayOk:!1},blend:{valType:\\\"boolean\\\",dflt:null},sizemin:{valType:\\\"number\\\",min:.1,max:2,dflt:.5},sizemax:{valType:\\\"number\\\",min:.1,dflt:20},border:{color:{valType:\\\"color\\\",arrayOk:!1},arearatio:{valType:\\\"number\\\",min:0,max:1,dflt:0}}}}},{\\\"../scattergl/attributes\\\":1071}],1015:[function(t,e,r){\\\"use strict\\\";function n(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=a(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}function i(t,e){var r=new n(t,e.uid);return r.update(e),r}var a=t(\\\"gl-pointcloud2d\\\"),o=t(\\\"../../lib/str2rgbarray\\\"),s=t(\\\"../scatter/get_trace_color\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\"],u=n.prototype;u.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}},u.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=s(t,{})},u.updateFast=function(t){var e,r,n,i,a,s,l=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,c=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,f=t.indices,d=this.bounds;if(c){if(n=c,e=c.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(s=0;s<e;s++)i=n[2*s],a=n[2*s+1],i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);if(f)r=f;else for(r=new Int32Array(e),s=0;s<e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s<e;s++)i=l[s],a=u[s],r[s]=s,n[2*s]=i,n[2*s+1]=a,i<d[0]&&(d[0]=i),i>d[2]&&(d[2]=i),a<d[1]&&(d[1]=a),a>d[3]&&(d[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=o(t.marker.color),m=o(t.marker.border.color),v=t.opacity*t.marker.opacity;p[3]*=v,this.pointcloudOptions.color=p;var g=t.marker.blend;if(null===g){g=l.length<100||u.length<100}this.pointcloudOptions.blend=g,m[3]*=v,this.pointcloudOptions.borderColor=m;var y=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(d,b/2)},u.expandAxesFast=function(t,e){for(var r,n,i,a=e||.5,o=0;o<2;o++)r=this.scene[l[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},u.dispose=function(){this.pointcloud.dispose()},e.exports=i},{\\\"../../lib/str2rgbarray\\\":744,\\\"../scatter/get_trace_color\\\":1035,\\\"gl-pointcloud2d\\\":229}],1016:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\\\"x\\\"),a(\\\"y\\\"),a(\\\"xbounds\\\"),a(\\\"ybounds\\\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\\\"text\\\"),a(\\\"marker.color\\\",r),a(\\\"marker.opacity\\\"),a(\\\"marker.blend\\\"),a(\\\"marker.sizemin\\\"),a(\\\"marker.sizemax\\\"),a(\\\"marker.border.color\\\",r),a(\\\"marker.border.arearatio\\\")}},{\\\"../../lib\\\":725,\\\"./attributes\\\":1014}],1017:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../scatter3d/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pointcloud\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl2d\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":806,\\\"../scatter3d/calc\\\":1051,\\\"./attributes\\\":1014,\\\"./convert\\\":1015,\\\"./defaults\\\":1016}],1018:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/shapes/attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../components/color/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports={hoverinfo:s({},a.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),domain:{x:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]},y:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",min:0,max:1},{valType:\\\"number\\\",min:0,max:1}],dflt:[0,1]}},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:i,node:{label:{valType:\\\"data_array\\\",dflt:[]},color:s({},n.fillcolor,{arrayOk:!0}),line:{color:{valType:\\\"color\\\",dflt:o.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}},link:{label:{valType:\\\"data_array\\\",dflt:[]},color:s({},n.fillcolor,{arrayOk:!0}),line:{color:{valType:\\\"color\\\",dflt:o.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:[]}}}},{\\\"../../components/color/attributes\\\":602,\\\"../../components/shapes/attributes\\\":679,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../../plots/font_attributes\\\":790}],1019:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/plots\\\"),i=t(\\\"./plot\\\");r.name=\\\"sankey\\\",r.attr=\\\"type\\\",r.plot=function(t){var e=n.getSubplotCalcData(t.calcdata,\\\"sankey\\\",\\\"sankey\\\");e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"sankey\\\"),a=e._has&&e._has(\\\"sankey\\\");i&&!a&&n._paperdiv.selectAll(\\\".sankey\\\").remove()}},{\\\"../../plots/plots\\\":829,\\\"./plot\\\":1024}],1020:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=t.map(function(){return[]}),a=0;a<Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;n[e[a]].push(r[a])}return i(n).components.some(function(t){return t.length>1})}var i=t(\\\"strongly-connected-components\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e){return n(e.node.label,e.link.source,e.link.target)&&(a.error(\\\"Circularity is present in the Sankey data. Removing all nodes and links.\\\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),[{link:e.link,node:e.node}]}},{\\\"../../lib\\\":725,\\\"strongly-connected-components\\\":527}],1021:[function(t,e,r){\\\"use strict\\\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\\\"cubic-in-out\\\"}},{}],1022:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../components/color/attributes\\\").defaults,o=t(\\\"../../components/color\\\"),s=t(\\\"tinycolor2\\\");e.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,i,r,a)}u(\\\"node.label\\\"),u(\\\"node.pad\\\"),u(\\\"node.thickness\\\"),u(\\\"node.line.color\\\"),u(\\\"node.line.width\\\");var c=function(t){return a[t%a.length]};u(\\\"node.color\\\",e.node.label.map(function(t,e){return o.addOpacity(c(e),.8)})),u(\\\"link.label\\\"),u(\\\"link.source\\\"),u(\\\"link.target\\\"),u(\\\"link.value\\\"),u(\\\"link.line.color\\\"),u(\\\"link.line.width\\\"),u(\\\"link.color\\\",e.link.value.map(function(){return s(l.paper_bgcolor).getLuminance()<.333?\\\"rgba(255, 255, 255, 0.6)\\\":\\\"rgba(0, 0, 0, 0.2)\\\"})),u(\\\"domain.x\\\"),u(\\\"domain.y\\\"),u(\\\"orientation\\\"),u(\\\"valueformat\\\"),u(\\\"valuesuffix\\\"),u(\\\"arrangement\\\"),n.coerceFont(u,\\\"textfont\\\",n.extendFlat({},l.font));var h=function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)};e.node.label.some(h)&&n.warn(\\\"Some of the nodes are neither sources nor targets, they will not be displayed.\\\")}},{\\\"../../components/color\\\":603,\\\"../../components/color/attributes\\\":602,\\\"../../lib\\\":725,\\\"./attributes\\\":1018,tinycolor2:533}],1023:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"sankey\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":1018,\\\"./base_plot\\\":1019,\\\"./calc\\\":1020,\\\"./defaults\\\":1022,\\\"./plot\\\":1024}],1024:[function(t,e,r){\\\"use strict\\\";function n(t){return\\\"\\\"!==t}function i(t,e){return t.filter(function(t){return t.key===e.traceId})}function a(t,e){p.select(t).select(\\\"path\\\").style(\\\"fill-opacity\\\",e),p.select(t).select(\\\"rect\\\").style(\\\"fill-opacity\\\",e)}function o(t){p.select(t).select(\\\"text.name\\\").style(\\\"fill\\\",\\\"black\\\")}function s(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function l(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function u(t,e,r){e&&r&&i(r,e).selectAll(\\\".sankeyLink\\\").filter(s(e)).call(h.bind(0,e,r,!1))}function c(t,e,r){e&&r&&i(r,e).selectAll(\\\".sankeyLink\\\").filter(s(e)).call(f.bind(0,e,r,!1))}function h(t,e,r,n){var a=n.datum().link.label;n.style(\\\"fill-opacity\\\",.4),a&&i(e,t).selectAll(\\\".sankeyLink\\\").filter(function(t){return t.link.label===a}).style(\\\"fill-opacity\\\",.4),r&&i(e,t).selectAll(\\\".sankeyNode\\\").filter(l(t)).call(u)}function f(t,e,r,n){var a=n.datum().link.label;n.style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),a&&i(e,t).selectAll(\\\".sankeyLink\\\").filter(function(t){return t.link.label===a}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),r&&i(e,t).selectAll(\\\".sankeyNode\\\").filter(l(t)).call(c)}function d(t,e){var r=t.hoverlabel||{},n=y.nestedProperty(r,e).get();return!Array.isArray(n)&&n}var p=t(\\\"d3\\\"),m=t(\\\"./render\\\"),v=t(\\\"../../components/fx\\\"),g=t(\\\"../../components/color\\\"),y=t(\\\"../../lib\\\");e.exports=function(t,e){var r=t._fullLayout,i=r._paper,s=r._size,l=function(e,r){var n=r.link;n.originalEvent=p.event,t._hoverdata=[n],v.click(t,{target:!0})},y=function(e,r,n){var i=r.link;i.originalEvent=p.event,p.select(e).call(h.bind(0,r,n,!0)),v.hover(t,i,\\\"sankey\\\")},b=function(e,i){var s=i.link.trace,l=t.getBoundingClientRect(),u=e.getBoundingClientRect(),c=u.left+u.width/2,h=u.top+u.height/2,f=v.loneHover({x:c-l.left,y:h-l.top,name:p.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label,[\\\"Source:\\\",i.link.source.label].join(\\\" \\\"),[\\\"Target:\\\",i.link.target.label].join(\\\" \\\")].filter(n).join(\\\"<br>\\\"),color:d(s,\\\"bgcolor\\\")||g.addOpacity(i.tinyColorHue,1),borderColor:d(s,\\\"bordercolor\\\"),fontFamily:d(s,\\\"font.family\\\"),fontSize:d(s,\\\"font.size\\\"),fontColor:d(s,\\\"font.color\\\"),idealAlign:p.event.x<c?\\\"right\\\":\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(f,.65),o(f)},x=function(e,n,i){p.select(e).call(f.bind(0,n,i,!0)),t.emit(\\\"plotly_unhover\\\",{event:p.event,points:[n.link]}),v.loneUnhover(r._hoverlayer.node())},_=function(e,r,n){var i=r.node;i.originalEvent=p.event,t._hoverdata=[i],p.select(e).call(c,r,n),v.click(t,{target:!0})},w=function(e,r,n){var i=r.node;i.originalEvent=p.event,p.select(e).call(u,r,n),v.hover(t,i,\\\"sankey\\\")},M=function(e,i){var s=i.node.trace,l=p.select(e).select(\\\".nodeRect\\\"),u=t.getBoundingClientRect(),c=l.node().getBoundingClientRect(),h=c.left-2-u.left,f=c.right+2-u.left,m=c.top+c.height/4-u.top,g=v.loneHover({x0:h,x1:f,y:m,name:p.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,[\\\"Incoming flow count:\\\",i.node.targetLinks.length].join(\\\" \\\"),[\\\"Outgoing flow count:\\\",i.node.sourceLinks.length].join(\\\" \\\")].filter(n).join(\\\"<br>\\\"),color:d(s,\\\"bgcolor\\\")||i.tinyColorHue,borderColor:d(s,\\\"bordercolor\\\"),fontFamily:d(s,\\\"font.family\\\"),fontSize:d(s,\\\"font.size\\\"),fontColor:d(s,\\\"font.color\\\"),idealAlign:\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});a(g,.85),o(g)},k=function(e,n,i){p.select(e).call(c,n,i),t.emit(\\\"plotly_unhover\\\",{event:p.event,points:[n.node]}),v.loneUnhover(r._hoverlayer.node())};m(i,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},{linkEvents:{hover:y,follow:b,unhover:x,select:l},nodeEvents:{hover:w,follow:M,unhover:k,select:_}})}},{\\\"../../components/color\\\":603,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"./render\\\":1025,d3:121}],1025:[function(t,e,r){\\\"use strict\\\";function n(t){return t.key}function i(t){return[t]}function a(t){return t[0]}function o(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);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)}function s(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function l(t){return function(e){return e.node.originalX===t.node.originalX}}function u(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function c(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}function h(t,e,r){for(var n,i=a(e).trace,o=i.domain,s=i.node,l=i.link,c=i.arrangement,h=\\\"h\\\"===i.orientation,f=i.node.pad,d=i.node.thickness,p=i.node.line.color,m=i.node.line.width,v=i.link.line.color,g=i.link.line.width,y=i.valueformat,b=i.valuesuffix,x=i.textfont,_=t.width*(o.x[1]-o.x[0]),w=t.height*(o.y[1]-o.y[0]),M=s.label.map(function(t,e){return{pointNumber:e,label:t,color:B.isArray(s.color)?s.color[e]:s.color}}),k=l.value.map(function(t,e){return{pointNumber:e,label:l.label[e],color:B.isArray(l.color)?l.color[e]:l.color,source:l.source[e],target:l.target[e],value:t}}),A=j().size(h?[_,w]:[w,_]).nodeWidth(d).nodePadding(f).nodes(M).links(k).layout(D.sankeyIterations),T=A.nodes(),S=0;S<T.length;S++)n=T[S],n.width=_,n.height=w;return u(M),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:h,width:_,height:w,nodePad:f,nodeLineColor:p,nodeLineWidth:m,linkLineColor:v,linkLineWidth:g,valueFormat:y,valueSuffix:b,textFont:x,translateX:o.x[0]*_+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:h?w:_,dragPerpendicular:h?_:w,nodes:M,links:k,arrangement:c,sankey:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function f(t,e,r){var n=O(r.color),i=r.source.label+\\\"|\\\"+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+\\\"__\\\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:R.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}function d(t,e,r){var n=O(r.color),i=D.nodePadAcross,a=e.nodePad/2,o=r.dx+.5,s=r.dy-.5,l=r.label,u=t[l];t[l]=(u||0)+1;var c=l+\\\"__\\\"+t[l];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:c,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:Math.ceil(s),zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:s+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()<=128,tinyColorHue:R.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,c].join(\\\" \\\"),interactionState:e.interactionState}}function p(t){P.select(t.node().parentNode).style(\\\"shape-rendering\\\",\\\"crispEdges\\\")}function m(t){t.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+(t.node.x-.5)+\\\", \\\"+(t.node.y-t.node.dy/2+.5)+\\\")\\\"})}function v(t){var e=t.sankey.nodes();c(e);var r=t.sankey.link()(t.link);return u(e),r}function g(t){P.select(t.node().parentNode).style(\\\"shape-rendering\\\",\\\"optimizeSpeed\\\"),t.call(m)}function y(t,e){t.call(g),e.attr(\\\"d\\\",v)}function b(t){t.attr(\\\"width\\\",function(t){return t.visibleWidth}).attr(\\\"height\\\",function(t){return t.visibleHeight})}function x(t){return t.link.dy>1||t.linkLineWidth>0}function _(t){return\\\"translate(\\\"+t.translateX+\\\",\\\"+t.translateY+\\\")\\\"+(t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\")}function w(t){return\\\"translate(\\\"+(t.horizontal?0:t.labelY)+\\\" \\\"+(t.horizontal?t.labelY:0)+\\\")\\\"}function M(t){return P.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+D.nodeTextOffsetHorizontal:D.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-D.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-D.nodeTextOffsetHorizontal,0]])}function k(t){return t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\"}function A(t){return t.horizontal?\\\"scale(1 1)\\\":\\\"scale(-1 1)\\\"}function T(t){return t.darkBackground&&!t.horizontal?\\\"rgb(255,255,255)\\\":\\\"rgb(0,0,0)\\\"}function S(t){return t.horizontal&&t.left?\\\"100%\\\":\\\"0%\\\"}function E(t,e,r){t.on(\\\".basic\\\",null).on(\\\"mouseover.basic\\\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\\\"mousemove.basic\\\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\\\"mouseout.basic\\\",function(t){t.interactionState.dragInProgress||(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||r.select(this,t,e)})}function L(t,e,r){var n=P.behavior.drag().origin(function(t){return t.node}).on(\\\"dragstart\\\",function(n){if(\\\"fixed\\\"!==n.arrangement&&(this.parentNode.appendChild(this),n.interactionState.dragInProgress=n.node,s(n.node),n.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,n.interactionState.hovered),n.interactionState.hovered=!1),\\\"snap\\\"===n.arrangement)){var i=n.traceId+\\\"|\\\"+Math.floor(n.node.originalX);n.forceLayouts[i]?n.forceLayouts[i].alpha(1):C(t,i,n),z(t,e,n,i)}}).on(\\\"drag\\\",function(r){if(\\\"fixed\\\"!==r.arrangement){var n=P.event.x,i=P.event.y;\\\"snap\\\"===r.arrangement?(r.node.x=n,r.node.y=i):(\\\"freeform\\\"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,i))),s(r.node),\\\"snap\\\"!==r.arrangement&&(r.sankey.relayout(),y(t.filter(l(r)),e),t.call(p))}}).on(\\\"dragend\\\",function(t){t.interactionState.dragInProgress=!1});t.on(\\\".drag\\\",null).call(n)}function C(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=N.forceSimulation(n).alphaDecay(0).force(\\\"collide\\\",N.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(D.forceIterations)).force(\\\"constrain\\\",I(t,e,n,r)).stop()}function z(t,e,r,n){window.requestAnimationFrame(function i(){for(var a=0;a<D.forceTicksPerFrame;a++)r.forceLayouts[n].tick();r.sankey.relayout(),y(t.filter(l(r)),e),r.forceLayouts[n].alpha()>0&&window.requestAnimationFrame(i)})}function I(t,e,r,n){return function(){for(var i=0,a=0;a<r.length;a++){var o=r[a];o===n.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/D.forceTicksPerFrame,o.y=Math.min(n.size-o.dy/2,Math.max(o.dy/2,o.y))),i=Math.max(i,Math.abs(o.vx),Math.abs(o.vy))}!n.interactionState.dragInProgress&&i<.1&&n.forceLayouts[e].alpha()>0&&(n.forceLayouts[e].alpha(0),window.setTimeout(function(){t.call(p)},30))}}var D=t(\\\"./constants\\\"),P=t(\\\"d3\\\"),O=t(\\\"tinycolor2\\\"),R=t(\\\"../../components/color\\\"),F=t(\\\"../../components/drawing\\\"),j=t(\\\"@plotly/d3-sankey\\\").sankey,N=t(\\\"d3-force\\\"),B=t(\\\"../../lib\\\");e.exports=function(t,e,r,s){var l=t.selectAll(\\\".sankey\\\").data(e.filter(function(t){return a(t).trace.visible}).map(h.bind(null,r)),n);l.exit().remove(),l.enter().append(\\\"g\\\").classed(\\\"sankey\\\",!0).style(\\\"box-sizing\\\",\\\"content-box\\\").style(\\\"position\\\",\\\"absolute\\\").style(\\\"left\\\",0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\").style(\\\"pointer-events\\\",\\\"auto\\\").style(\\\"box-sizing\\\",\\\"content-box\\\").attr(\\\"transform\\\",_),l.transition().ease(D.ease).duration(D.duration).attr(\\\"transform\\\",_);var u=l.selectAll(\\\".sankeyLinks\\\").data(i,n);u.enter().append(\\\"g\\\").classed(\\\"sankeyLinks\\\",!0).style(\\\"fill\\\",\\\"none\\\");var c=u.selectAll(\\\".sankeyLink\\\").data(function(t){var e={};return t.sankey.links().filter(function(t){return t.value}).map(f.bind(null,e,t))},n);c.enter().append(\\\"path\\\").classed(\\\"sankeyLink\\\",!0).attr(\\\"d\\\",v).call(E,l,s.linkEvents),c.style(\\\"stroke\\\",function(t){return x(t)?R.tinyRGB(O(t.linkLineColor)):t.tinyColorHue}).style(\\\"stroke-opacity\\\",function(t){return x(t)?R.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\\\"stroke-width\\\",function(t){return x(t)?t.linkLineWidth:1}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),c.transition().ease(D.ease).duration(D.duration).attr(\\\"d\\\",v),c.exit().transition().ease(D.ease).duration(D.duration).style(\\\"opacity\\\",0).remove();var p=l.selectAll(\\\".sankeyNodeSet\\\").data(i,n);p.enter().append(\\\"g\\\").style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\").classed(\\\"sankeyNodeSet\\\",!0),p.style(\\\"cursor\\\",function(t){switch(t.arrangement){case\\\"fixed\\\":return\\\"default\\\";case\\\"perpendicular\\\":return\\\"ns-resize\\\";default:return\\\"move\\\"}});var g=p.selectAll(\\\".sankeyNode\\\").data(function(t){var e=t.sankey.nodes(),r={};return o(e),e.filter(function(t){return t.value}).map(d.bind(null,r,t))},n);g.enter().append(\\\"g\\\").classed(\\\"sankeyNode\\\",!0).call(m).call(E,l,s.nodeEvents),g.call(L,c,s),g.transition().ease(D.ease).duration(D.duration).call(m),g.exit().transition().ease(D.ease).duration(D.duration).style(\\\"opacity\\\",0).remove();var y=g.selectAll(\\\".nodeRect\\\").data(i);y.enter().append(\\\"rect\\\").classed(\\\"nodeRect\\\",!0).call(b),y.style(\\\"stroke-width\\\",function(t){return t.nodeLineWidth}).style(\\\"stroke\\\",function(t){return R.tinyRGB(O(t.nodeLineColor))}).style(\\\"stroke-opacity\\\",function(t){return R.opacity(t.nodeLineColor)}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),y.transition().ease(D.ease).duration(D.duration).call(b);var C=g.selectAll(\\\".nodeCapture\\\").data(i);C.enter().append(\\\"rect\\\").classed(\\\"nodeCapture\\\",!0).style(\\\"fill-opacity\\\",0),C.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 z=g.selectAll(\\\".nodeCentered\\\").data(i);z.enter().append(\\\"g\\\").classed(\\\"nodeCentered\\\",!0).attr(\\\"transform\\\",w),z.transition().ease(D.ease).duration(D.duration).attr(\\\"transform\\\",w);var I=z.selectAll(\\\".nodeLabelGuide\\\").data(i);I.enter().append(\\\"path\\\").classed(\\\"nodeLabelGuide\\\",!0).attr(\\\"id\\\",function(t){return t.uniqueNodeLabelPathId}).attr(\\\"d\\\",M).attr(\\\"transform\\\",k),I.transition().ease(D.ease).duration(D.duration).attr(\\\"d\\\",M).attr(\\\"transform\\\",k);var P=z.selectAll(\\\".nodeLabel\\\").data(i);P.enter().append(\\\"text\\\").classed(\\\"nodeLabel\\\",!0).attr(\\\"transform\\\",A).style(\\\"user-select\\\",\\\"none\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"fill\\\",\\\"black\\\"),P.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){F.font(P,t.textFont)}),P.transition().ease(D.ease).duration(D.duration).attr(\\\"transform\\\",A);var j=P.selectAll(\\\".nodeLabelTextPath\\\").data(i);j.enter().append(\\\"textPath\\\").classed(\\\"nodeLabelTextPath\\\",!0).attr(\\\"alignment-baseline\\\",\\\"middle\\\").attr(\\\"xlink:href\\\",function(t){return\\\"#\\\"+t.uniqueNodeLabelPathId}).attr(\\\"startOffset\\\",S).style(\\\"fill\\\",T),j.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\\\"}),j.transition().ease(D.ease).duration(D.duration).attr(\\\"startOffset\\\",S).style(\\\"fill\\\",T)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../lib\\\":725,\\\"./constants\\\":1021,\\\"@plotly/d3-sankey\\\":37,d3:121,\\\"d3-force\\\":117,tinycolor2:533}],1026:[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\\\"),n.mergeArray(e.customdata,t,\\\"data\\\"),n.mergeArray(e.textposition,t,\\\"tp\\\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\\\"ts\\\"),n.mergeArray(e.textfont.color,t,\\\"tc\\\"),n.mergeArray(e.textfont.family,t,\\\"tf\\\"));var i=e.marker;if(i){n.mergeArray(i.size,t,\\\"ms\\\"),n.mergeArray(i.opacity,t,\\\"mo\\\"),n.mergeArray(i.symbol,t,\\\"mx\\\"),n.mergeArray(i.color,t,\\\"mc\\\");var a=i.line;i.line&&(n.mergeArray(a.color,t,\\\"mlc\\\"),n.mergeArray(a.width,t,\\\"mlw\\\"));var o=i.gradient;o&&\\\"none\\\"!==o.type&&(n.mergeArray(o.type,t,\\\"mgt\\\"),n.mergeArray(o.color,t,\\\"mgc\\\"))}}},{\\\"../../lib\\\":725}],1027:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/errorbars/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../components/drawing\\\"),l=(t(\\\"./constants\\\"),t(\\\"../../lib/extend\\\").extendFlat);e.exports={x:{valType:\\\"data_array\\\"},x0:{valType:\\\"any\\\",dflt:0},dx:{valType:\\\"number\\\",dflt:1},y:{valType:\\\"data_array\\\"},y0:{valType:\\\"any\\\",dflt:0},dy:{valType:\\\"number\\\",dflt:1},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},hovertext:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\",\\\"text\\\"],extras:[\\\"none\\\"]},hoveron:{valType:\\\"flaglist\\\",flags:[\\\"points\\\",\\\"fills\\\"]},line:{color:{valType:\\\"color\\\"},width:{valType:\\\"number\\\",min:0,dflt:2},shape:{valType:\\\"enumerated\\\",values:[\\\"linear\\\",\\\"spline\\\",\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"],dflt:\\\"linear\\\"},smoothing:{valType:\\\"number\\\",min:0,max:1.3,dflt:1},dash:o,simplify:{valType:\\\"boolean\\\",dflt:!0}},connectgaps:{valType:\\\"boolean\\\",dflt:!1},cliponaxis:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"doplot\\\"},fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"tozeroy\\\",\\\"tozerox\\\",\\\"tonexty\\\",\\\"tonextx\\\",\\\"toself\\\",\\\"tonext\\\"],dflt:\\\"none\\\"},fillcolor:{valType:\\\"color\\\"},marker:l({},{symbol:{valType:\\\"enumerated\\\",values:s.symbolList,dflt:\\\"circle\\\",arrayOk:!0},opacity:{valType:\\\"number\\\",min:0,max:1,arrayOk:!0},size:{valType:\\\"number\\\",min:0,dflt:6,arrayOk:!0},maxdisplayed:{valType:\\\"number\\\",min:0,dflt:0},sizeref:{valType:\\\"number\\\",dflt:1},sizemin:{valType:\\\"number\\\",min:0,dflt:0},sizemode:{valType:\\\"enumerated\\\",values:[\\\"diameter\\\",\\\"area\\\"],dflt:\\\"diameter\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1},colorbar:a,line:l({},{width:{valType:\\\"number\\\",min:0,arrayOk:!0}},n(\\\"marker.line\\\")),gradient:{type:{valType:\\\"enumerated\\\",\\n\",\n       \"values:[\\\"radial\\\",\\\"horizontal\\\",\\\"vertical\\\",\\\"none\\\"],arrayOk:!0,dflt:\\\"none\\\"},color:{valType:\\\"color\\\",arrayOk:!0}}},n(\\\"marker\\\")),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},textfont:{family:{valType:\\\"string\\\",noBlank:!0,strict:!0,arrayOk:!0},size:{valType:\\\"number\\\",min:1,arrayOk:!0},color:{valType:\\\"color\\\",arrayOk:!0}},r:{valType:\\\"data_array\\\"},t:{valType:\\\"data_array\\\"},error_y:i,error_x:i}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/drawing\\\":627,\\\"../../components/drawing/attributes\\\":626,\\\"../../components/errorbars/attributes\\\":629,\\\"../../lib/extend\\\":716,\\\"./constants\\\":1032}],1028:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"./subtypes\\\"),s=t(\\\"./colorscale_calc\\\"),l=t(\\\"./arrays_to_calcdata\\\");e.exports=function(t,e){var r,u,c,h=i.getFromId(t,e.xaxis||\\\"x\\\"),f=i.getFromId(t,e.yaxis||\\\"y\\\"),d=h.makeCalcdata(e,\\\"x\\\"),p=f.makeCalcdata(e,\\\"y\\\"),m=Math.min(d.length,p.length);h._minDtick=0,f._minDtick=0,d.length>m&&d.splice(m,d.length-m),p.length>m&&p.splice(m,p.length-m);var v={padded:!0},g={padded:!0};if(o.hasMarkers(e)){if(r=e.marker,u=r.size,Array.isArray(u)){var y={type:\\\"linear\\\"};i.setConvert(y),u=y.makeCalcdata(e.marker,\\\"size\\\"),u.length>m&&u.splice(m,u.length-m)}var b,x=1.6*(e.marker.sizeref||1);b=\\\"area\\\"===e.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/x),3)}:function(t){return Math.max((t||0)/x,3)},v.ppad=g.ppad=Array.isArray(u)?u.map(b):b(u)}s(e),!(\\\"tozerox\\\"===e.fill||\\\"tonextx\\\"===e.fill&&t.firstscatter)||d[0]===d[m-1]&&p[0]===p[m-1]?e.error_y.visible||-1===[\\\"tonexty\\\",\\\"tozeroy\\\"].indexOf(e.fill)&&(o.hasMarkers(e)||o.hasText(e))||(v.padded=!1,v.ppad=0):v.tozero=!0,!(\\\"tozeroy\\\"===e.fill||\\\"tonexty\\\"===e.fill&&t.firstscatter)||d[0]===d[m-1]&&p[0]===p[m-1]?-1!==[\\\"tonextx\\\",\\\"tozerox\\\"].indexOf(e.fill)&&(g.padded=!1):g.tozero=!0,i.expand(h,d,v),i.expand(f,p,g);var _=new Array(m);for(c=0;c<m;c++)_[c]=n(d[c])&&n(p[c])?{x:d[c],y:p[c]}:{x:a,y:a},e.ids&&(_[c].id=String(e.ids[c]));return l(_,e),t.firstscatter=!1,_}},{\\\"../../constants/numerical\\\":705,\\\"../../plots/cartesian/axes\\\":766,\\\"./arrays_to_calcdata\\\":1026,\\\"./colorscale_calc\\\":1031,\\\"./subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1029:[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 i=e-1;i>=0;i--){var a=t[i];if(\\\"scatter\\\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1030:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.marker,u=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+u).remove(),void 0===l||!l.showscale)return void a.autoMargin(t,u);var c=l.color,h=l.cmin,f=l.cmax;n(h)||(h=i.aggNums(Math.min,null,c)),n(f)||(f=i.aggNums(Math.max,null,c));var d=e[0].t.cb=s(t,u),p=o.makeColorScaleFunc(o.extractScale(l.colorscale,h,f),{noNumericCheck:!0});d.fillcolor(p).filllevels({start:h,end:f,size:(f-h)/254}).options(l.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],1031:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"./subtypes\\\");e.exports=function(t){a.hasLines(t)&&n(t,\\\"line\\\")&&i(t,t.line.color,\\\"line\\\",\\\"c\\\"),a.hasMarkers(t)&&(n(t,\\\"marker\\\")&&i(t,t.marker.color,\\\"marker\\\",\\\"c\\\"),n(t,\\\"marker.line\\\")&&i(t,t.marker.line.color,\\\"marker.line\\\",\\\"c\\\"))}},{\\\"../../components/colorscale/calc\\\":609,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"./subtypes\\\":1047}],1032:[function(t,e,r){\\\"use strict\\\";e.exports={PTS_LINESONLY:20}},{}],1033:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./constants\\\"),o=t(\\\"./subtypes\\\"),s=t(\\\"./xy_defaults\\\"),l=t(\\\"./marker_defaults\\\"),u=t(\\\"./line_defaults\\\"),c=t(\\\"./line_shape_defaults\\\"),h=t(\\\"./text_defaults\\\"),f=t(\\\"./fillcolor_defaults\\\"),d=t(\\\"../../components/errorbars/defaults\\\");e.exports=function(t,e,r,p){function m(r,a){return n.coerce(t,e,i,r,a)}var v=s(t,e,p,m),g=v<a.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\";if(!v)return void(e.visible=!1);m(\\\"text\\\"),m(\\\"hovertext\\\"),m(\\\"mode\\\",g),o.hasLines(e)&&(u(t,e,r,p,m),c(t,e,m),m(\\\"connectgaps\\\"),m(\\\"line.simplify\\\")),o.hasMarkers(e)&&l(t,e,r,p,m,{gradient:!0}),o.hasText(e)&&h(t,e,p,m);var y=[];(o.hasMarkers(e)||o.hasText(e))&&(m(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),m(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(f(t,e,r,m),o.hasLines(e)||c(t,e,m)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||y.push(\\\"fills\\\"),m(\\\"hoveron\\\",y.join(\\\"+\\\")||\\\"points\\\"),d(t,e,r,{axis:\\\"y\\\"}),d(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),m(\\\"cliponaxis\\\")}},{\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"./attributes\\\":1027,\\\"./constants\\\":1032,\\\"./fillcolor_defaults\\\":1034,\\\"./line_defaults\\\":1038,\\\"./line_shape_defaults\\\":1040,\\\"./marker_defaults\\\":1043,\\\"./subtypes\\\":1047,\\\"./text_defaults\\\":1048,\\\"./xy_defaults\\\":1049}],1034:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\");e.exports=function(t,e,r,i){var a=!1;if(e.marker){var o=e.marker.color,s=(e.marker.line||{}).color;o&&!Array.isArray(o)?a=o:s&&!Array.isArray(s)&&(a=s)}i(\\\"fillcolor\\\",n.addOpacity((e.line||{}).color||a||r,.5))}},{\\\"../../components/color\\\":603}],1035:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"./subtypes\\\");e.exports=function(t,e){var r,a;if(\\\"lines\\\"===t.mode)return r=t.line.color,r&&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 a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\\\"\\\",a?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color,r&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor)}},{\\\"../../components/color\\\":603,\\\"./subtypes\\\":1047}],1036:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/errorbars\\\"),o=t(\\\"./get_trace_color\\\"),s=t(\\\"../../components/color\\\"),l=i.constants.MAXDIST;e.exports=function(t,e,r,u){var c=t.cd,h=c[0].trace,f=t.xa,d=t.ya,p=f.c2p(e),m=d.c2p(r),v=[p,m],g=h.hoveron||\\\"\\\";if(-1!==g.indexOf(\\\"points\\\")){var y=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.x)-p)-e,1-3/e)},b=function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(d.c2p(t.y)-m)-e,1-3/e)},x=function(t){var e=Math.max(3,t.mrc||0),r=f.c2p(t.x)-p,n=d.c2p(t.y)-m;return Math.max(Math.sqrt(r*r+n*n)-e,1-3/e)},_=i.getDistanceFunction(u,y,b,x);if(i.getClosest(c,_,t),!1!==t.index){var w=c[t.index],M=f.c2p(w.x,!0),k=d.c2p(w.y,!0),A=w.mrc||1;return n.extendFlat(t,{color:o(h,w),x0:M-A,x1:M+A,xLabelVal:w.x,y0:k-A,y1:k+A,yLabelVal:w.y}),w.htx?t.text=w.htx:h.hovertext?t.text=h.hovertext:w.tx?t.text=w.tx:h.text&&(t.text=h.text),a.hoverInfo(w,h,t),[t]}}if(-1!==g.indexOf(\\\"fills\\\")&&h._polygons){var T,S,E,L,C,z,I,D,P,O=h._polygons,R=[],F=!1,j=1/0,N=-1/0,B=1/0,U=-1/0;for(T=0;T<O.length;T++)E=O[T],E.contains(v)&&(F=!F,R.push(E),B=Math.min(B,E.ymin),U=Math.max(U,E.ymax));if(F){B=Math.max(B,0),U=Math.min(U,d._length);var V=(B+U)/2;for(T=0;T<R.length;T++)for(L=R[T].pts,S=1;S<L.length;S++)D=L[S-1][1],P=L[S][1],D>V!=P>=V&&(z=L[S-1][0],I=L[S][0],C=z+(I-z)*(V-D)/(P-D),j=Math.min(j,C),N=Math.max(N,C));j=Math.max(j,0),N=Math.min(N,f._length);var H=s.defaultLine;return s.opacity(h.fillcolor)?H=h.fillcolor:s.opacity((h.line||{}).color)&&(H=h.line.color),n.extendFlat(t,{distance:l+10,x0:j,x1:N,y0:V,y1:V,color:H}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{\\\"../../components/color\\\":603,\\\"../../components/errorbars\\\":633,\\\"../../components/fx\\\":644,\\\"../../lib\\\":725,\\\"./get_trace_color\\\":1035}],1037:[function(t,e,r){\\\"use strict\\\";var n={},i=t(\\\"./subtypes\\\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.cleanData=t(\\\"./clean_data\\\"),n.calc=t(\\\"./calc\\\"),n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.animatable=!0,n.moduleType=\\\"trace\\\",n.name=\\\"scatter\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"./arrays_to_calcdata\\\":1026,\\\"./attributes\\\":1027,\\\"./calc\\\":1028,\\\"./clean_data\\\":1029,\\\"./colorbar\\\":1030,\\\"./defaults\\\":1033,\\\"./hover\\\":1036,\\\"./plot\\\":1044,\\\"./select\\\":1045,\\\"./style\\\":1046,\\\"./subtypes\\\":1047}],1038:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,a,o,s){var l=(t.marker||{}).color;if(o(\\\"line.color\\\",r),n(t,\\\"line\\\"))i(t,e,a,o,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"});else{o(\\\"line.color\\\",!Array.isArray(l)&&l||r)}o(\\\"line.width\\\"),(s||{}).noDash||o(\\\"line.dash\\\")}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616}],1039:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e){function r(e){var r=_.c2p(t[e].x),i=w.c2p(t[e].y);return r!==n&&i!==n&&[r,i]}function i(t){var e=t[0]/_._length,r=t[1]/w._length;return(1+10*Math.max(0,-e,e-1,-r,r-1))*A}var a,o,s,l,u,c,h,f,d,p,m,v,g,y,b,x,_=e.xaxis,w=e.yaxis,M=e.simplify,k=e.connectGaps,A=e.baseTolerance,T=e.linear,S=[],E=.2,L=new Array(t.length),C=0;for(M||(A=E=-1),a=0;a<t.length;a++)if(o=r(a)){for(C=0,L[C++]=o,a++;a<t.length;a++){if(!(l=r(a))){if(k)continue;break}if(T){if(!((h=function(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}(l,o))<i(l)*E)){for(d=[(l[0]-o[0])/h,(l[1]-o[1])/h],u=o,m=h,v=y=b=0,f=!1,s=l,a++;a<t.length;a++){if(!(c=r(a))){if(k)continue;break}if(p=[c[0]-o[0],c[1]-o[1]],x=p[0]*d[1]-p[1]*d[0],y=Math.min(y,x),(b=Math.max(b,x))-y>i(c))break;s=c,g=p[0]*d[0]+p[1]*d[1],g>m?(m=g,l=c,f=!1):g<v&&(v=g,u=c,f=!0)}if(f?(L[C++]=l,s!==u&&(L[C++]=u)):(u!==o&&(L[C++]=u),s!==l&&(L[C++]=l)),L[C++]=s,a>=t.length||!c)break;L[C++]=c,o=c}}else L[C++]=l}S.push(L.slice(0,C))}return S}},{\\\"../../constants/numerical\\\":705}],1040:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){\\\"spline\\\"===r(\\\"line.shape\\\")&&r(\\\"line.smoothing\\\")}},{}],1041:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var n,i,a=null,o=0;o<r.length;++o)n=r[o],i=n[0].trace,!0===i.visible?(i._nexttrace=null,-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(i.fill)&&(i._prevtrace=a,a&&(a._nexttrace=i)),a=i):i._prevtrace=i._nexttrace=null}},{}],1042:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\\\"area\\\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\\\"fast-isnumeric\\\":130}],1043:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./subtypes\\\");e.exports=function(t,e,r,s,l,u){var c,h=o.isBubble(t),f=(t.line||{}).color;if(u=u||{},f&&(r=f),l(\\\"marker.symbol\\\"),l(\\\"marker.opacity\\\",h?.7:1),l(\\\"marker.size\\\"),l(\\\"marker.color\\\",r),i(t,\\\"marker\\\")&&a(t,e,s,l,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),u.noLine||(c=f&&!Array.isArray(f)&&e.marker.color!==f?f:h?n.background:n.defaultLine,l(\\\"marker.line.color\\\",c),i(t,\\\"marker.line\\\")&&a(t,e,s,l,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),l(\\\"marker.line.width\\\",h?1:0)),h&&(l(\\\"marker.sizeref\\\"),l(\\\"marker.sizemin\\\"),l(\\\"marker.sizemode\\\")),u.gradient){\\\"none\\\"!==l(\\\"marker.gradient.type\\\")&&l(\\\"marker.gradient.color\\\")}}},{\\\"../../components/color\\\":603,\\\"../../components/colorscale/defaults\\\":612,\\\"../../components/colorscale/has_colorscale\\\":616,\\\"./subtypes\\\":1047}],1044:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n;e.selectAll(\\\"g.trace\\\").each(function(t){var e=o.select(this);if(n=t[0].trace,n._nexttrace){if(n._nextFill=e.select(\\\".js-fill.js-tonext\\\"),!n._nextFill.size()){var i=\\\":first-child\\\";e.select(\\\".js-fill.js-tozero\\\").size()&&(i+=\\\" + *\\\"),n._nextFill=e.insert(\\\"path\\\",i).attr(\\\"class\\\",\\\"js-fill js-tonext\\\")}}else e.selectAll(\\\".js-fill.js-tonext\\\").remove(),n._nextFill=null;n.fill&&(\\\"tozero\\\"===n.fill.substr(0,6)||\\\"toself\\\"===n.fill||\\\"to\\\"===n.fill.substr(0,2)&&!n._prevtrace)?(n._ownFill=e.select(\\\".js-fill.js-tozero\\\"),n._ownFill.size()||(n._ownFill=e.insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"js-fill js-tozero\\\"))):(e.selectAll(\\\".js-fill.js-tozero\\\").remove(),n._ownFill=null),e.selectAll(\\\".js-fill\\\").call(l.setClipUrl,r.layerClipId)})}function i(t,e,r,n,i,f,p){function m(t){return M?t.transition():t}function v(t){return t.filter(function(t){return t.vis})}function g(t){return t.id}function y(t){if(t.ids)return g}function b(){return!1}function x(e){var n,i,a,u=e[0].trace,h=o.select(this),f=c.hasMarkers(u),d=c.hasText(u),p=y(u),g=b,x=b;f&&(g=u.marker.maxdisplayed||u._needsCull?v:s.identity),d&&(x=u.marker.maxdisplayed||u._needsCull?v:s.identity),i=h.selectAll(\\\"path.point\\\"),n=i.data(g,p);var _=n.enter().append(\\\"path\\\").classed(\\\"point\\\",!0);M&&_.call(l.pointStyle,u,t).call(l.translatePoints,k,A).style(\\\"opacity\\\",0).transition().style(\\\"opacity\\\",1);var w=f&&l.tryColorscale(u.marker,\\\"\\\"),T=f&&l.tryColorscale(u.marker,\\\"line\\\");n.order(),n.each(function(e){var n=o.select(this),i=m(n);a=l.translatePoint(e,i,k,A),a?(l.singlePointStyle(e,i,u,w,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,k,A),u.customdata&&n.classed(\\\"plotly-customdata\\\",null!==e.data&&void 0!==e.data)):i.remove()}),M?n.exit().transition().style(\\\"opacity\\\",0).remove():n.exit().remove(),i=h.selectAll(\\\"g\\\"),n=i.data(x,p),n.enter().append(\\\"g\\\").classed(\\\"textpoint\\\",!0).append(\\\"text\\\"),n.order(),n.each(function(t){var e=o.select(this),n=m(e.select(\\\"text\\\"));a=l.translatePoint(t,n,k,A),a?r.layerClipId&&l.hideOutsideRangePoint(t,e,k,A):e.remove()}),n.selectAll(\\\"text\\\").call(l.textPointStyle,u,t).each(function(t){var e=k.c2p(t.x),r=A.c2p(t.y);o.select(this).selectAll(\\\"tspan.line\\\").each(function(){m(o.select(this)).attr({x:e,y:r})})}),n.exit().remove()}var _,w;a(t,e,r,n,i);var M=!!p&&p.duration>0,k=r.xaxis,A=r.yaxis,T=n[0].trace,S=T.line,E=o.select(f);if(E.call(u.plot,r,p),!0===T.visible){m(E).style(\\\"opacity\\\",T.opacity);var L,C,z=T.fill.charAt(T.fill.length-1);\\\"x\\\"!==z&&\\\"y\\\"!==z&&(z=\\\"\\\"),n[0].node3=E;var I=\\\"\\\",D=[],P=T._prevtrace;P&&(I=P._prevRevpath||\\\"\\\",C=P._nextFill,D=P._polygons);var O,R,F,j,N,B,U,V,H,q=\\\"\\\",G=\\\"\\\",Y=[],X=s.noop;if(L=T._ownFill,c.hasLines(T)||\\\"none\\\"!==T.fill){for(C&&C.datum(n),-1!==[\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"].indexOf(S.shape)?(F=l.steps(S.shape),j=l.steps(S.shape.split(\\\"\\\").reverse().join(\\\"\\\"))):F=j=\\\"spline\\\"===S.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),S.smoothing):l.smoothopen(t,S.smoothing)}:function(t){return\\\"M\\\"+t.join(\\\"L\\\")},N=function(t){return j(t.reverse())},Y=h(n,{xaxis:k,yaxis:A,connectGaps:T.connectgaps,baseTolerance:Math.max(S.width||1,3)/4,linear:\\\"linear\\\"===S.shape,simplify:S.simplify}),H=T._polygons=new Array(Y.length),w=0;w<Y.length;w++)T._polygons[w]=d(Y[w]);Y.length&&(B=Y[0][0],U=Y[Y.length-1],V=U[U.length-1]),X=function(t){return function(e){if(O=F(e),R=N(e),q?z?(q+=\\\"L\\\"+O.substr(1),G=R+\\\"L\\\"+G.substr(1)):(q+=\\\"Z\\\"+O,G=R+\\\"Z\\\"+G):(q=O,G=R),c.hasLines(T)&&e.length>1){var r=o.select(this);if(r.datum(n),t)m(r.style(\\\"opacity\\\",0).attr(\\\"d\\\",O).call(l.lineGroupStyle)).style(\\\"opacity\\\",1);else{var i=m(r);i.attr(\\\"d\\\",O),l.singleLineStyle(n,i)}}}}}var W=E.selectAll(\\\".js-line\\\").data(Y);m(W.exit()).style(\\\"opacity\\\",0).remove(),W.each(X(!1)),W.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").call(l.lineGroupStyle).each(X(!0)),l.setClipUrl(W,r.layerClipId),Y.length&&(L?B&&V&&(z?(\\\"y\\\"===z?B[1]=V[1]=A.c2p(0,!0):\\\"x\\\"===z&&(B[0]=V[0]=k.c2p(0,!0)),m(L).attr(\\\"d\\\",\\\"M\\\"+V+\\\"L\\\"+B+\\\"L\\\"+q.substr(1)).call(l.singleFillStyle)):m(L).attr(\\\"d\\\",q+\\\"Z\\\").call(l.singleFillStyle)):\\\"tonext\\\"===T.fill.substr(0,6)&&q&&I&&(\\\"tonext\\\"===T.fill?m(C).attr(\\\"d\\\",q+\\\"Z\\\"+I+\\\"Z\\\").call(l.singleFillStyle):m(C).attr(\\\"d\\\",q+\\\"L\\\"+I.substr(1)+\\\"Z\\\").call(l.singleFillStyle),T._polygons=T._polygons.concat(D)),T._prevRevpath=G,T._prevPolygons=H);var Z=E.selectAll(\\\".points\\\");_=Z.data([n]),Z.each(x),_.enter().append(\\\"g\\\").classed(\\\"points\\\",!0).each(x),_.exit().remove(),_.each(function(t){var e=!1===t[0].trace.cliponaxis;l.setClipUrl(o.select(this),e?null:r.layerClipId)})}}function a(t,e,r,n,i){var a=r.xaxis,l=r.yaxis,u=o.extent(s.simpleMap(a.range,a.r2c)),h=o.extent(s.simpleMap(l.range,l.r2c)),f=n[0].trace;if(c.hasMarkers(f)){var d=f.marker.maxdisplayed;if(0!==d){var p=n.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]}),m=Math.ceil(p.length/d),v=0;i.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&v++});var g=Math.round(v*m/3+Math.floor(v/3)*m/7.1);n.forEach(function(t){delete t.vis}),p.forEach(function(t,e){0===Math.round((e+g)%m)&&(t.vis=!0)})}}}var o=t(\\\"d3\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../components/drawing\\\"),u=t(\\\"../../components/errorbars\\\"),c=t(\\\"./subtypes\\\"),h=t(\\\"./line_points\\\"),f=t(\\\"./link_traces\\\"),d=t(\\\"../../lib/polygon\\\").tester;e.exports=function(t,e,r,a,s){var l,u,c,h,d,p=e.plot.select(\\\"g.scatterlayer\\\"),m=!a,v=!!a&&a.duration>0;for(c=p.selectAll(\\\"g.trace\\\"),h=c.data(r,function(t){return t[0].trace.uid}),h.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"trace scatter trace\\\"+t[0].trace.uid}).style(\\\"stroke-miterlimit\\\",2),f(t,e,r),n(t,p,e),l=0,u={};l<r.length;l++)u[r[l][0].trace.uid]=l;if(p.selectAll(\\\"g.trace\\\").sort(function(t,e){return u[t[0].trace.uid]>u[e[0].trace.uid]?1:-1}),v){s&&(d=s());o.transition().duration(a.duration).ease(a.easing).each(\\\"end\\\",function(){d&&d()}).each(\\\"interrupt\\\",function(){d&&d()}).each(function(){p.selectAll(\\\"g.trace\\\").each(function(n,o){i(t,o,e,n,r,this,a)})})}else p.selectAll(\\\"g.trace\\\").each(function(n,o){i(t,o,e,n,r,this,a)});m&&h.exit().remove(),p.selectAll(\\\"path:not([d])\\\").remove()}},{\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,\\\"../../lib\\\":725,\\\"../../lib/polygon\\\":736,\\\"./line_points\\\":1039,\\\"./link_traces\\\":1041,\\\"./subtypes\\\":1047,d3:121}],1045:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./subtypes\\\"),i=t(\\\"../../constants/interactions\\\").DESELECTDIM;e.exports=function(t,e){var r,a,o,s,l=t.cd,u=t.xaxis,c=t.yaxis,h=[],f=l[0].trace,d=f.marker,p=!n.hasMarkers(f)&&!n.hasText(f);if(!0===f.visible&&!p){var m=Array.isArray(d.opacity)?1:d.opacity;if(!1===e)for(r=0;r<l.length;r++)l[r].dim=0;else for(r=0;r<l.length;r++)a=l[r],o=u.c2p(a.x),s=c.c2p(a.y),e.contains([o,s])?(h.push({pointNumber:r,x:a.x,y:a.y}),a.dim=0):a.dim=1;return l[0].node3.selectAll(\\\"path.point\\\").style(\\\"opacity\\\",function(t){return((t.mo+1||m+1)-1)*(t.dim?i:1)}),l[0].node3.selectAll(\\\"text\\\").style(\\\"opacity\\\",function(t){return t.dim?i:1}),h}}},{\\\"../../constants/interactions\\\":704,\\\"./subtypes\\\":1047}],1046:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../components/errorbars\\\");e.exports=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){var r=n.select(this),a=r.selectAll(\\\"path.point\\\"),o=e.trace||e[0].trace;a.call(i.pointStyle,o,t),r.selectAll(\\\"text\\\").call(i.textPointStyle,o,t)}),e.selectAll(\\\"g.trace path.js-line\\\").call(i.lineGroupStyle),e.selectAll(\\\"g.trace path.js-fill\\\").call(i.fillGroupStyle),e.call(a.style)}},{\\\"../../components/drawing\\\":627,\\\"../../components/errorbars\\\":633,d3:121}],1047:[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\\\")},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\\\"text\\\")},isBubble:function(t){return n.isPlainObject(t.marker)&&Array.isArray(t.marker.size)}}},{\\\"../../lib\\\":725}],1048:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){i(\\\"textposition\\\"),n.coerceFont(i,\\\"textfont\\\",r.font)}},{\\\"../../lib\\\":725}],1049:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a,o=i(\\\"x\\\"),s=i(\\\"y\\\");if(n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],r),o)s?(a=Math.min(o.length,s.length),a<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.y=s.slice(0,a))):(a=o.length,i(\\\"y0\\\"),i(\\\"dy\\\"));else{if(!s)return 0;a=e.y.length,i(\\\"x0\\\"),i(\\\"dx\\\")}return a}},{\\\"../../registry\\\":844}],1050:[function(t,e,r){\\\"use strict\\\";function n(t){return{show:{valType:\\\"boolean\\\",dflt:!1},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},scale:{valType:\\\"number\\\",min:0,max:10,dflt:2/3}}}var i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/errorbars/attributes\\\"),s=t(\\\"../../constants/gl3d_dashes\\\"),l=t(\\\"../../constants/gl3d_markers\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,c=i.line,h=i.marker,f=h.line;e.exports={x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},z:{valType:\\\"data_array\\\"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),mode:u({},i.mode,{dflt:\\\"lines+markers\\\"}),surfaceaxis:{valType:\\\"enumerated\\\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\\\"color\\\"},projection:{x:n(\\\"x\\\"),y:n(\\\"y\\\"),z:n(\\\"z\\\")},connectgaps:i.connectgaps,line:u({},{width:c.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(s),dflt:\\\"solid\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1}},a(\\\"line\\\")),marker:u({},{symbol:{valType:\\\"enumerated\\\",values:Object.keys(l),dflt:\\\"circle\\\",arrayOk:!0},size:u({},h.size,{dflt:8}),sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,opacity:u({},h.opacity,{arrayOk:!1}),showscale:h.showscale,colorbar:h.colorbar,line:u({},{width:u({},f.width,{arrayOk:!1})},a(\\\"marker.line\\\"))},a(\\\"marker\\\")),textposition:u({},i.textposition,{dflt:\\\"top center\\\"}),textfont:i.textfont,error_x:o,error_y:o,error_z:o}},{\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/errorbars/attributes\\\":629,\\\"../../constants/gl3d_dashes\\\":702,\\\"../../constants/gl3d_markers\\\":703,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],1051:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/arrays_to_calcdata\\\"),i=t(\\\"../scatter/colorscale_calc\\\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031}],1052:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){if(!e||!e.visible)return null;for(var n=o(e),i=new Array(t.length),a=0;a<t.length;a++){var s=n(+t[a],a);i[a]=[-s[0]*r,s[1]*r]}return i}function i(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}function a(t,e){var r=[n(t.x,t.error_x,e[0]),n(t.y,t.error_y,e[1]),n(t.z,t.error_z,e[2])],a=i(r);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],u=0;u<3;u++)if(r[u])for(var c=0;c<2;c++)l[c][u]=r[u][s][c];o[s]=l}return o}var o=t(\\\"../../components/errorbars/compute_error\\\");e.exports=a},{\\\"../../components/errorbars/compute_error\\\":631}],1053:[function(t,e,r){\\\"use strict\\\";function n(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}function i(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n<t.length;++n){var l=t[n];!isNaN(l[i])&&isFinite(l[i])&&!isNaN(l[a])&&isFinite(l[a])&&(o.push([l[i],l[a]]),s.push(n))}var u=g(o);for(n=0;n<u.length;++n)for(var c=u[n],h=0;h<c.length;++h)c[h]=s[c[h]];return{positions:t,cells:u,meshColor:e}}function a(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=b(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}function o(t){var e=[0,0];return Array.isArray(t)?[0,-1]:(t.indexOf(\\\"bottom\\\")>=0&&(e[1]+=1),t.indexOf(\\\"top\\\")>=0&&(e[1]-=1),t.indexOf(\\\"left\\\")>=0&&(e[0]-=1),t.indexOf(\\\"right\\\")>=0&&(e[0]+=1),e)}function s(t,e){return e(4*t)}function l(t){return M[t]}function u(t,e,r,n,i){var a=null;if(Array.isArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,y.identity);return a}function c(t,e){var r,n,i,c,h,f,d=[],p=t.fullSceneLayout,m=t.dataScale,v=p.xaxis,g=p.yaxis,w=p.zaxis,M=e.marker,A=e.line,T=e.x||[],S=e.y||[],E=e.z||[],L=T.length,C=e.xcalendar,z=e.ycalendar,I=e.zcalendar;for(n=0;n<L;n++)i=v.d2l(T[n],0,C)*m[0],c=g.d2l(S[n],0,z)*m[1],h=w.d2l(E[n],0,I)*m[2],d[n]=[i,c,h];if(Array.isArray(e.text))f=e.text;else if(void 0!==e.text)for(f=new Array(L),n=0;n<L;n++)f[n]=e.text;if(r={position:d,mode:e.mode,text:f},\\\"line\\\"in e&&(r.lineColor=x(A,1,L),r.lineWidth=A.width,r.lineDashes=A.dash),\\\"marker\\\"in e){var D=_(e);r.scatterColor=x(M,1,L),r.scatterSize=u(M.size,L,s,20,D),r.scatterMarker=u(M.symbol,L,l,\\\"\\\\u25cf\\\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=x(M.line,1,L),r.scatterAngle=0}\\\"textposition\\\"in e&&(r.textOffset=o(e.textposition),r.textColor=x(e.textfont,1,L),r.textSize=u(e.textfont.size,L,y.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var P=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var O=e.projection[P[n]];(r.project[n]=O.show)&&(r.projectOpacity[n]=O.opacity,r.projectScale[n]=O.scale)}r.errorBounds=k(e,m);var R=a([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=b(e.surfacecolor),r}function h(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}function f(t,e){var r=new n(t,e.uid);return r.update(e),r}var d=t(\\\"gl-line3d\\\"),p=t(\\\"gl-scatter3d\\\"),m=t(\\\"gl-error3d\\\"),v=t(\\\"gl-mesh3d\\\"),g=t(\\\"delaunay-triangulate\\\"),y=t(\\\"../../lib\\\"),b=t(\\\"../../lib/str2rgbarray\\\"),x=t(\\\"../../lib/gl_format_color\\\"),_=t(\\\"../scatter/make_bubble_size_func\\\"),w=t(\\\"../../constants/gl3d_dashes\\\"),M=t(\\\"../../constants/gl3d_markers\\\"),k=t(\\\"./calc_errors\\\"),A=n.prototype;A.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=\\\"\\\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},A.update=function(t){var e,r,n,a,o=this.scene.glplot.gl,s=w.solid;this.data=t;var l=c(this.scene,t);\\\"mode\\\"in l&&(this.mode=l.mode),\\\"lineDashes\\\"in l&&l.lineDashes in w&&(s=w[l.lineDashes]),this.color=h(l.scatterColor)||h(l.lineColor),this.dataPoints=l.position,e={gl:o,position:l.position,color:l.lineColor,lineWidth:l.lineWidth||1,dashes:s[0],dashScale:s[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\\\"lines\\\")?this.linePlot?this.linePlot.update(e):(this.linePlot=d(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 u=t.opacity;if(t.marker&&t.marker.opacity&&(u*=t.marker.opacity),r={gl:o,position:l.position,color:l.scatterColor,size:l.scatterSize,glyph:l.scatterMarker,opacity:u,orthographic:!0,lineWidth:l.scatterLineWidth,lineColor:l.scatterLineColor,project:l.project,projectScale:l.projectScale,projectOpacity:l.projectOpacity},-1!==this.mode.indexOf(\\\"markers\\\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=p(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),a={gl:o,position:l.position,glyph:l.text,color:l.textColor,size:l.textSize,angle:l.textAngle,alignment:l.textOffset,font:l.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(a):(this.textMarkers=p(a),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),n={gl:o,position:l.position,color:l.errorColor,error:l.errorBounds,lineWidth:l.errorLineWidth,capSize:l.errorCapSize,opacity:t.opacity},this.errorBars?l.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):l.errorBounds&&(this.errorBars=m(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),l.delaunayAxis>=0){var f=i(l.position,l.delaunayColor,l.delaunayAxis);f.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(f):(f.gl=o,this.delaunayMesh=v(f),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)},A.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=f},{\\\"../../constants/gl3d_dashes\\\":702,\\\"../../constants/gl3d_markers\\\":703,\\\"../../lib\\\":725,\\\"../../lib/gl_format_color\\\":722,\\\"../../lib/str2rgbarray\\\":744,\\\"../scatter/make_bubble_size_func\\\":1042,\\\"./calc_errors\\\":1052,\\\"delaunay-triangulate\\\":122,\\\"gl-error3d\\\":160,\\\"gl-line3d\\\":171,\\\"gl-mesh3d\\\":204,\\\"gl-scatter3d\\\":250}],1054:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){var a=0,o=r(\\\"x\\\"),s=r(\\\"y\\\"),l=r(\\\"z\\\");return i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),a<o.length&&(e.x=o.slice(0,a)),a<s.length&&(e.y=s.slice(0,a)),a<l.length&&(e.z=l.slice(0,a))),a}var i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../scatter/subtypes\\\"),s=t(\\\"../scatter/marker_defaults\\\"),l=t(\\\"../scatter/line_defaults\\\"),u=t(\\\"../scatter/text_defaults\\\"),c=t(\\\"../../components/errorbars/defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,i){function f(r,n){return a.coerce(t,e,h,r,n)}if(!n(t,e,f,i))return void(e.visible=!1);f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),o.hasLines(e)&&(f(\\\"connectgaps\\\"),l(t,e,r,i,f)),o.hasMarkers(e)&&s(t,e,r,i,f),o.hasText(e)&&u(t,e,i,f);var d=(e.line||{}).color,p=(e.marker||{}).color;f(\\\"surfaceaxis\\\")>=0&&f(\\\"surfacecolor\\\",d||p);for(var m=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],v=0;v<3;++v){var g=\\\"projection.\\\"+m[v];f(g+\\\".show\\\")&&(f(g+\\\".opacity\\\"),f(g+\\\".scale\\\"))}c(t,e,r,{axis:\\\"z\\\"}),c(t,e,r,{axis:\\\"y\\\",inherit:\\\"z\\\"}),c(t,e,r,{axis:\\\"x\\\",inherit:\\\"z\\\"})}},{\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1050}],1055:[function(t,e,r){\\\"use strict\\\";var n={};n.plot=t(\\\"./convert\\\"),n.attributes=t(\\\"./attributes\\\"),n.markerSymbols=t(\\\"../../constants/gl3d_markers\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatter3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../constants/gl3d_markers\\\":703,\\\"../../plots/gl3d\\\":809,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1050,\\\"./calc\\\":1051,\\\"./convert\\\":1053,\\\"./defaults\\\":1054}],\\n\",\n       \"1056:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker,u=n.line,c=l.line;e.exports={carpet:{valType:\\\"string\\\"},a:{valType:\\\"data_array\\\"},b:{valType:\\\"data_array\\\"},sum:{valType:\\\"number\\\",dflt:0,min:0},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:s({},u.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:u.smoothing},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:n.fillcolor,marker:s({},{symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({},{width:c.width},a(\\\"marker\\\".line)),gradient:l.gradient},a(\\\"marker\\\"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,hoverinfo:s({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scatter/attributes\\\":1027}],1057:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/colorscale_calc\\\"),s=t(\\\"../scatter/arrays_to_calcdata\\\"),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 u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,h,f=e.a.length,d=new Array(f),p=!1;for(u=0;u<f;u++)if(c=e.a[u],h=e.b[u],n(c)&&n(h)){var m=r.ab2xy(+c,+h,!0),v=r.isVisible(+c,+h);v||(p=!0),d[u]={x:m[0],y:m[1],a:c,b:h,vis:v}}else d[u]={x:!1,y:!1};e._needsCull=p,d[0].carpet=r,d[0].trace=e;var g,y;if(a.hasMarkers(e)&&(g=e.marker,y=g.size,Array.isArray(y))){var b={type:\\\"linear\\\"};i.setConvert(b),y=b.makeCalcdata(e.marker,\\\"size\\\"),y.length>f&&y.splice(f,y.length-f)}return o(e),s(d,e),d}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../carpet/lookup_carpetid\\\":900,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031,\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1058:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/line_shape_defaults\\\"),u=t(\\\"../scatter/text_defaults\\\"),c=t(\\\"../scatter/fillcolor_defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}d(\\\"carpet\\\"),e.xaxis=\\\"x\\\",e.yaxis=\\\"y\\\";var p,m=d(\\\"a\\\"),v=d(\\\"b\\\");if(!(p=Math.min(m.length,v.length)))return void(e.visible=!1);m&&p<m.length&&(e.a=m.slice(0,p)),v&&p<v.length&&(e.b=v.slice(0,p)),d(\\\"sum\\\"),d(\\\"text\\\"),d(\\\"mode\\\",p<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,f,d),l(t,e,d),d(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,f,d,{gradient:!0}),a.hasText(e)&&u(t,e,f,d);var g=[];(a.hasMarkers(e)||a.hasText(e))&&(d(\\\"marker.maxdisplayed\\\"),g.push(\\\"points\\\")),d(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||l(t,e,d)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||g.push(\\\"fills\\\"),d(\\\"hoveron\\\",g.join(\\\"+\\\")||\\\"points\\\")}},{\\\"../../lib\\\":725,\\\"../scatter/constants\\\":1032,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/line_shape_defaults\\\":1040,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1056}],1059:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\");e.exports=function(t,e,r,i){function a(t,e){v.push((t.labelprefix&&t.labelprefix.length>0?t.labelprefix:t._hovertitle+\\\": \\\")+e.toFixed(3)+t.labelsuffix)}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,u=t.xa._length,c=u*l/2,h=u-c;return s.x0=Math.max(Math.min(s.x0,h),c),s.x1=Math.max(Math.min(s.x1,h),c),o}var f=s.cd[s.index];s.a=f.a,s.b=f.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var d=s.trace,p=d._carpet,m=d.hoverinfo.split(\\\"+\\\"),v=[];-1!==m.indexOf(\\\"all\\\")&&(m=[\\\"a\\\",\\\"b\\\"]),-1!==m.indexOf(\\\"a\\\")&&a(p.aaxis,f.a),-1!==m.indexOf(\\\"b\\\")&&a(p.baxis,f.b);var g=p.ab2ij([f.a,f.b]),y=Math.floor(g[0]),b=g[0]-y,x=Math.floor(g[1]),_=g[1]-x,w=p.evalxy([],y,x,b,_);return v.push(\\\"y: \\\"+w[1].toFixed(3)),s.extraText=v.join(\\\"<br>\\\"),o}}},{\\\"../scatter/hover\\\":1036}],1060:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattercarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"carpet\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"carpetDependent\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":776,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1056,\\\"./calc\\\":1057,\\\"./defaults\\\":1058,\\\"./hover\\\":1059,\\\"./plot\\\":1061,\\\"./select\\\":1062,\\\"./style\\\":1063}],1061:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../components/drawing\\\");e.exports=function(t,e,r){var o,s,l,u=r[0][0].carpet,c={xaxis:i.getFromId(t,u.xaxis||\\\"x\\\"),yaxis:i.getFromId(t,u.yaxis||\\\"y\\\"),plot:e.plot};for(n(t,c,r),o=0;o<r.length;o++)s=r[o][0].trace,l=c.plot.selectAll(\\\"g.trace\\\"+s.uid+\\\" .js-line\\\"),a.setClipUrl(l,u._clipPathId)}},{\\\"../../components/drawing\\\":627,\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/plot\\\":1044}],1062:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/select\\\");e.exports=function(t,e){var r=n(t,e);if(r){var i,a,o,s=t.cd;for(o=0;o<r.length;o++)i=r[o],a=s[i.pointNumber],i.a=a.a,i.b=a.b,i.c=a.c,delete i.x,delete i.y;return r}}},{\\\"../scatter/select\\\":1045}],1063:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/style\\\");e.exports=function(t){for(var e=t._fullLayout._modules,r=0;r<e.length;r++)if(\\\"scatter\\\"===e[r].name)return;n(t)}},{\\\"../scatter/style\\\":1046}],1064:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker,u=n.line,c=l.line;e.exports={lon:{valType:\\\"data_array\\\"},lat:{valType:\\\"data_array\\\"},locations:{valType:\\\"data_array\\\"},locationmode:{valType:\\\"enumerated\\\",values:[\\\"ISO-3\\\",\\\"USA-states\\\",\\\"country names\\\"],dflt:\\\"ISO-3\\\"},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({},{symbol:l.symbol,opacity:l.opacity,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,showscale:l.showscale,colorbar:l.colorbar,line:s({},{width:c.width},a(\\\"marker.line\\\")),gradient:l.gradient},a(\\\"marker\\\")),fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"toself\\\"],dflt:\\\"none\\\"},fillcolor:n.fillcolor,hoverinfo:s({},i.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"location\\\",\\\"text\\\",\\\"name\\\"]})}},{\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scatter/attributes\\\":1027}],1065:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=t(\\\"../scatter/colorscale_calc\\\"),o=t(\\\"../scatter/arrays_to_calcdata\\\");e.exports=function(t,e){for(var r=Array.isArray(e.locations),s=r?e.locations.length:e.lon.length,l=new Array(s),u=0;u<s;u++){var c=l[u]={};if(r){var h=e.locations[u];c.loc=\\\"string\\\"==typeof h?h:null}else{var f=e.lon[u],d=e.lat[u];n(f)&&n(d)?c.lonlat=[+f,+d]:c.lonlat=[i,i]}}return o(l,e),a(e),l}},{\\\"../../constants/numerical\\\":705,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031,\\\"fast-isnumeric\\\":130}],1066:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n,i,a=0,o=r(\\\"locations\\\");return o?(r(\\\"locationmode\\\"),a=o.length):(n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length),a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a)}var i=t(\\\"../../lib\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/text_defaults\\\"),u=t(\\\"../scatter/fillcolor_defaults\\\"),c=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function f(r,n){return i.coerce(t,e,c,r,n)}if(!n(t,e,f))return void(e.visible=!1);f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),a.hasLines(e)&&(s(t,e,r,h,f),f(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,h,f,{gradient:!0}),a.hasText(e)&&l(t,e,h,f),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&u(t,e,r,f)}},{\\\"../../lib\\\":725,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1064}],1067:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1068:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){return a.tickText(r,r.c2l(t),\\\"hover\\\").text+\\\"\\\\xb0\\\"}var i=t.hoverinfo,o=\\\"all\\\"===i?l.hoverinfo.flags:i.split(\\\"+\\\"),s=-1!==o.indexOf(\\\"location\\\")&&Array.isArray(t.locations),u=-1!==o.indexOf(\\\"lon\\\"),c=-1!==o.indexOf(\\\"lat\\\"),h=-1!==o.indexOf(\\\"text\\\"),f=[];if(s?f.push(e.loc):u&&c?f.push(\\\"(\\\"+n(e.lonlat[0])+\\\", \\\"+n(e.lonlat[1])+\\\")\\\"):u?f.push(\\\"lon: \\\"+n(e.lonlat[0])):c&&f.push(\\\"lat: \\\"+n(e.lonlat[1])),h){var d;e.htx?d=e.htx:t.hovertext?d=t.hovertext:e.tx?d=e.tx:t.text&&(d=t.text),Array.isArray(d)||f.push(d)}return f.join(\\\"<br>\\\")}var i=t(\\\"../../components/fx\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../constants/numerical\\\").BADNUM,s=t(\\\"../scatter/get_trace_color\\\"),l=t(\\\"./attributes\\\");e.exports=function(t){function e(t){return h.projection(t)}function r(t){var r=t.lonlat;if(r[0]===o)return 1/0;if(h.isLonLatOverEdges(r))return 1/0;var n=e(r),i=u.c2p(),a=c.c2p(),s=Math.abs(i-n[0]),l=Math.abs(a-n[1]),f=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-f,1-3/f)}var a=t.cd,l=a[0].trace,u=t.xa,c=t.ya,h=t.subplot;if(i.getClosest(a,r,t),!1!==t.index){var f=a[t.index],d=f.lonlat,p=e(d),m=f.mrc||1;return t.x0=p[0]-m,t.x1=p[0]+m,t.y0=p[1]-m,t.y1=p[1]+m,t.loc=f.loc,t.lon=d[0],t.lat=d[1],t.color=s(l,f),t.extraText=n(l,f,h.mockAxis),[t]}}},{\\\"../../components/fx\\\":644,\\\"../../constants/numerical\\\":705,\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/get_trace_color\\\":1035,\\\"./attributes\\\":1064}],1069:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattergeo\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":794,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1064,\\\"./calc\\\":1065,\\\"./defaults\\\":1066,\\\"./event_data\\\":1067,\\\"./hover\\\":1068,\\\"./plot\\\":1070}],1070:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=c(r,e),i=r.locationmode,a=0;a<t.length;a++){var o=t[a],s=h(i,o.loc,n);o.lonlat=s?s.properties.ct:[u,u]}}function i(t){var e=t.framework.selectAll(\\\"g.trace.scattergeo\\\");e.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),e.each(function(e){var r=e[0].trace,n=a.select(this);n.selectAll(\\\"path.point\\\").call(o.pointStyle,r,t.graphDiv),n.selectAll(\\\"text\\\").call(o.textPointStyle,r,t.graphDiv)}),e.selectAll(\\\"path.js-line\\\").style(\\\"fill\\\",\\\"none\\\").each(function(t){var e=a.select(this),r=t.trace,n=r.line||{};e.call(s.stroke,n.color).call(o.dashLine,n.dash||\\\"\\\",n.width||0),\\\"none\\\"!==r.fill&&e.call(s.fill,r.fillcolor)})}var a=t(\\\"d3\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"../../lib\\\"),u=t(\\\"../../constants/numerical\\\").BADNUM,c=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,h=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,f=t(\\\"../../lib/geojson_utils\\\"),d=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){function r(t){return t[0].trace.uid}function o(t,e){t.lonlat[0]===u&&a.select(e).remove()}for(var s=0;s<e.length;s++)n(e[s],t.topojson);var c=t.framework.select(\\\".scattergeolayer\\\").selectAll(\\\"g.trace.scattergeo\\\").data(e,r);c.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace scattergeo\\\"),c.exit().remove(),c.selectAll(\\\"*\\\").remove(),c.each(function(t){var e=a.select(this),r=t[0].trace;if(d.hasLines(r)||\\\"none\\\"!==r.fill){var n=f.calcTraceToLineCoords(t),i=\\\"none\\\"!==r.fill?f.makePolygon(n,r):f.makeLine(n,r);e.selectAll(\\\"path.js-line\\\").data([i]).enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0)}d.hasMarkers(r)&&e.selectAll(\\\"path.point\\\").data(l.identity).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).each(function(t){o(t,this)}),d.hasText(r)&&e.selectAll(\\\"g\\\").data(l.identity).enter().append(\\\"g\\\").append(\\\"text\\\").each(function(t){o(t,this)})}),i(t)}},{\\\"../../components/color\\\":603,\\\"../../components/drawing\\\":627,\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../lib/geo_location_utils\\\":719,\\\"../../lib/geojson_utils\\\":720,\\\"../../lib/topojson_utils\\\":747,\\\"../scatter/subtypes\\\":1047,d3:121}],1071:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../constants/gl2d_dashes\\\"),o=t(\\\"../../constants/gl2d_markers\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=t(\\\"../../lib/extend\\\").extendDeep,u=n.line,c=n.marker,h=c.line;e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:s({},n.text,{}),mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\"],extras:[\\\"none\\\"]},line:{color:u.color,width:u.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(a),dflt:\\\"solid\\\"}},marker:l({},i(\\\"marker\\\"),{symbol:{valType:\\\"enumerated\\\",values:Object.keys(o),dflt:\\\"circle\\\",arrayOk:!0},size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,showscale:c.showscale,colorbar:c.colorbar,line:l({},i(\\\"marker.line\\\"),{width:h.width})}),connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\\\"none\\\",\\\"tozeroy\\\",\\\"tozerox\\\"]}),fillcolor:n.fillcolor,error_y:n.error_y,error_x:n.error_x}},{\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../constants/gl2d_dashes\\\":700,\\\"../../constants/gl2d_markers\\\":701,\\\"../../lib/extend\\\":716,\\\"../scatter/attributes\\\":1027}],1072:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../scatter/arrays_to_calcdata\\\"),a=t(\\\"../scatter/colorscale_calc\\\");e.exports=function(t,e){var r,o=t._fullLayout.dragmode;if(\\\"lasso\\\"===o||\\\"select\\\"===o){var s,l=n.getFromId(t,e.xaxis||\\\"x\\\"),u=n.getFromId(t,e.yaxis||\\\"y\\\"),c=l.makeCalcdata(e,\\\"x\\\"),h=u.makeCalcdata(e,\\\"y\\\"),f=Math.min(c.length,h.length);for(r=new Array(f),s=0;s<f;s++)r[s]={x:c[s],y:h[s]}}else r=[{x:!1,y:!1,trace:e,t:{}}],i(r,e);return a(e),r}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031}],1073:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.scene=t,this.uid=e,this.type=\\\"scattergl\\\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\\\"rgb(0, 0, 0)\\\",this.name=\\\"\\\",this.hoverinfo=\\\"all\\\",this.connectgaps=!0,this.index=null,this.idToIndex=[],this.bounds=[0,0,0,0],this.isVisible=!1,this.hasLines=!1,this.hasErrorX=!1,this.hasErrorY=!1,this.hasMarkers=!1,this.line=this.initObject(m,{positions:new Float64Array(0),color:[0,0,0,1],width:1,fill:[!1,!1,!1,!1],fillColor:[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],dashes:[1]},0),this.errorX=this.initObject(v,{positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},1),this.errorY=this.initObject(v,{positions:new Float64Array(0),errors:new Float64Array(0),lineWidth:1,capSize:0,color:[0,0,0,1]},2);var r={positions:new Float64Array(0),sizes:[],colors:[],glyphs:[],borderWidths:[],borderColors:[],size:12,color:[0,0,0,1],borderSize:1,borderColor:[0,0,0,1],snapPoints:!0},n=y.extendFlat({},r,{snapPoints:!1});this.scatter=this.initObject(d,r,3),this.fancyScatter=this.initObject(p,r,4),this.selectScatter=this.initObject(d,n,5)}function i(t,e,r){return Array.isArray(e)||(e=[e]),a(t,e,r)}function a(t,e,r){for(var n=new Array(r),i=e[0],a=0;a<r;++a)n[a]=t(a>=e.length?i:e[a]);return n}function o(t,e,r){return l(O(t,r),P(e,r),r)}function s(t,e,r,n){var i=k(t,e,n);return i=Array.isArray(i[0])?i:a(y.identity,[i],n),l(i,P(r,n),n)}function l(t,e,r){for(var n=new Array(4*r),i=0;i<r;++i){for(var a=0;a<3;++a)n[4*i+a]=t[i][a];n[4*i+3]=t[i][3]*e[i]}return n}function u(t){return\\\"\\\"===t.split(\\\"-open\\\")[1]}function c(t,e,r,n,i){var a,o=i?C:1;for(a=0;a<3;a++)t[4*r+a]=e[4*n+a];t[4*r+a]=o*e[4*n+a]}function h(t){for(var e,r=t.length,n=Math.max(1,(r-1)/Math.min(Math.max(r,1),1e3)),i=0;i<r;i+=n)if(e=t[Math.floor(i)],!(g(e)||e instanceof Date))return!1;return!0}function f(t,e,r){var i=new n(t,e.uid);return i.update(e,r),i}var d=t(\\\"gl-scatter2d\\\"),p=t(\\\"gl-scatter2d-sdf\\\"),m=t(\\\"gl-line2d\\\"),v=t(\\\"gl-error2d\\\"),g=t(\\\"fast-isnumeric\\\"),y=t(\\\"../../lib\\\"),b=t(\\\"../../plots/cartesian/axes\\\"),x=t(\\\"../../plots/cartesian/axis_autotype\\\"),_=t(\\\"../../components/errorbars\\\"),w=t(\\\"../../lib/str2rgbarray\\\"),M=t(\\\"../../lib/typed_array_truncate\\\"),k=t(\\\"../../lib/gl_format_color\\\"),A=t(\\\"../scatter/subtypes\\\"),T=t(\\\"../scatter/make_bubble_size_func\\\"),S=t(\\\"../scatter/get_trace_color\\\"),E=t(\\\"../../constants/gl2d_markers\\\"),L=t(\\\"../../constants/gl2d_dashes\\\"),C=t(\\\"../../constants/interactions\\\").DESELECTDIM,z=[\\\"xaxis\\\",\\\"yaxis\\\"],I=[0,0,0,0],D=n.prototype;D.initObject=function(t,e,r){function n(){u||(u=t(s,e),u._trace=o,u._index=r),u.update(e)}function i(){u&&u.update(l)}function a(){u&&u.dispose()}var o=this,s=o.scene.glplot,l=y.extendFlat({},e),u=null;return{options:e,update:n,clear:i,dispose:a}},D.handlePick=function(t){var e=t.pointId;(t.object!==this.line||this.connectgaps)&&(e=this.idToIndex[t.pointId]);var r=this.pickXData[e];return{trace:this,dataCoord:t.dataCoord,traceCoord:[g(r)||!y.isDateTime(r)?r:y.dateTime2ms(r),this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:Array.isArray(this.color)?this.color[e]:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},D.isFancy=function(t){if(\\\"linear\\\"!==this.scene.xaxis.type&&\\\"date\\\"!==this.scene.xaxis.type)return!0;if(\\\"linear\\\"!==this.scene.yaxis.type)return!0;if(!t.x||!t.y)return!0;if(this.hasMarkers){var e=t.marker||{};if(Array.isArray(e.symbol)||\\\"circle\\\"!==e.symbol||Array.isArray(e.size)||Array.isArray(e.color)||Array.isArray(e.line.width)||Array.isArray(e.line.color)||Array.isArray(e.opacity))return!0}return!(!this.hasLines||this.connectgaps)||(!!this.hasErrorX||!!this.hasErrorY)};var P=i.bind(null,function(t){return+t}),O=i.bind(null,w),R=i.bind(null,function(t){return E[t]?t:\\\"circle\\\"});D.update=function(t,e){!0!==t.visible?(this.isVisible=!1,this.hasLines=!1,this.hasErrorX=!1,this.hasErrorY=!1,this.hasMarkers=!1):(this.isVisible=!0,this.hasLines=A.hasLines(t),this.hasErrorX=!0===t.error_x.visible,this.hasErrorY=!0===t.error_y.visible,this.hasMarkers=A.hasMarkers(t)),this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.connectgaps=!!t.connectgaps,this.isVisible?this.isFancy(t)?this.updateFancy(t):this.updateFast(t):(this.line.clear(),this.errorX.clear(),this.errorY.clear(),this.scatter.clear(),this.fancyScatter.clear()),this.scene.glplot.objects.sort(function(t,e){return t._index-e._index}),this.index=t.index,this.color=S(t,{}),e&&e[0]&&!e[0]._glTrace&&(e[0]._glTrace=this)},D.updateFast=function(t){var e,r,n,i,a,o=this.xData=this.pickXData=t.x,s=this.yData=this.pickYData=t.y,l=o.length,u=new Array(l),c=new Float64Array(2*l),f=this.bounds,d=0,p=0,m=t.selection,v=t.xcalendar,b=h(o),_=!b&&\\\"date\\\"===x(o,v);if(b||_)for(e=0;e<l;++e)i=o[e],a=s[e],g(a)&&(b||(i=y.dateTime2ms(i,v)),c[p++]=i,c[p++]=a,u[d++]=e,f[0]=Math.min(f[0],i),f[1]=Math.min(f[1],a),f[2]=Math.max(f[2],i),f[3]=Math.max(f[3],a));if(c=M(c,p),this.idToIndex=u,m&&m.length)for(r=new Float64Array(2*m.length),e=0,n=m.length;e<n;e++)r[2*e+0]=m[e].x,r[2*e+1]=m[e].y;this.updateLines(t,c),this.updateError(\\\"X\\\",t),this.updateError(\\\"Y\\\",t);var k;if(this.hasMarkers){var A,T,S;r?(this.scatter.options.positions=null,A=w(t.marker.color),T=w(t.marker.line.color),S=t.opacity*t.marker.opacity*C,A[3]*=S,this.scatter.options.color=A,T[3]*=S,this.scatter.options.borderColor=T,k=t.marker.size,this.scatter.options.size=k,this.scatter.options.borderSize=t.marker.line.width,this.scatter.update(),this.scatter.options.positions=c,this.selectScatter.options.positions=r,A=w(t.marker.color),T=w(t.marker.line.color),S=t.opacity*t.marker.opacity,A[3]*=S,this.selectScatter.options.color=A,T[3]*=S,this.selectScatter.options.borderColor=T,k=t.marker.size,this.selectScatter.options.size=k,this.selectScatter.options.borderSize=t.marker.line.width,this.selectScatter.update()):(this.scatter.options.positions=c,A=w(t.marker.color),T=w(t.marker.line.color),S=t.opacity*t.marker.opacity,A[3]*=S,this.scatter.options.color=A,T[3]*=S,this.scatter.options.borderColor=T,k=t.marker.size,this.scatter.options.size=k,this.scatter.options.borderSize=t.marker.line.width,this.scatter.update())}else this.scatter.clear();this.fancyScatter.clear(),this.expandAxesFast(f,k)},D.updateFancy=function(t){var e=this.scene,r=e.xaxis,n=e.yaxis,a=this.bounds,o=t.selection,l=this.pickXData=r.makeCalcdata(t,\\\"x\\\").slice(),h=this.pickYData=n.makeCalcdata(t,\\\"y\\\").slice();this.xData=l.slice(),this.yData=h.slice();var f,d,p,m,v,g,y,b=_.calcFromTrace(t,e.fullLayout),x=l.length,w=new Array(x),k=new Float64Array(2*x),A=new Float64Array(4*x),S=new Float64Array(4*x),L=0,C=0,z=0,D=0,O=\\\"log\\\"===r.type?r.d2l:function(t){return t},F=\\\"log\\\"===n.type?n.d2l:function(t){return t};for(f=0;f<x;++f)this.xData[f]=d=O(l[f]),this.yData[f]=p=F(h[f]),isNaN(d)||isNaN(p)||(w[L++]=f,k[C++]=d,k[C++]=p,m=A[z++]=d-b[f].xs||0,v=A[z++]=b[f].xh-d||0,A[z++]=0,A[z++]=0,S[D++]=0,S[D++]=0,g=S[D++]=p-b[f].ys||0,y=S[D++]=b[f].yh-p||0,a[0]=Math.min(a[0],d-m),a[1]=Math.min(a[1],p-g),a[2]=Math.max(a[2],d+v),a[3]=Math.max(a[3],p+y));k=M(k,C),this.idToIndex=w,this.updateLines(t,k),this.updateError(\\\"X\\\",t,k,A),this.updateError(\\\"Y\\\",t,k,S);var j,N;if(o&&o.length)for(N={},f=0;f<o.length;f++)N[o[f].pointNumber]=!0;if(this.hasMarkers){this.scatter.options.positions=k,this.scatter.options.sizes=new Array(L),this.scatter.options.glyphs=new Array(L),this.scatter.options.borderWidths=new Array(L),this.scatter.options.colors=new Array(4*L),this.scatter.options.borderColors=new Array(4*L);var B,U,V,H,q,G,Y,X,W,Z,J=T(t),K=t.marker,Q=K.opacity,$=t.opacity,tt=R(K.symbol,x),et=s(K,Q,$,x),rt=P(K.line.width,x),nt=s(K.line,Q,$,x);for(j=i(J,K.size,x),f=0;f<L;++f)B=w[f],V=tt[B],H=E[V],q=u(V),G=N&&!N[B],Y=H.noBorder&&!q?nt:et,X=q?et:nt,U=j[B],W=rt[B],Z=H.noBorder||H.noFill?.1*U:0,this.scatter.options.sizes[f]=4*U,this.scatter.options.glyphs[f]=H.unicode,this.scatter.options.borderWidths[f]=.5*(W>Z?W-Z:0),!q||H.noBorder||H.noFill?c(this.scatter.options.colors,Y,f,B,G):c(this.scatter.options.colors,I,f,0),c(this.scatter.options.borderColors,X,f,B,G);N?(this.scatter.options.positions=null,this.fancyScatter.update(),this.scatter.options.positions=k):this.fancyScatter.update()}else this.fancyScatter.clear();this.scatter.clear(),this.expandAxesFancy(l,h,j)},D.updateLines=function(t,e){var r;if(this.hasLines){var n=e;if(!t.connectgaps){var i=0,a=this.xData,s=this.yData;for(n=new Float64Array(2*a.length),r=0;r<a.length;++r)n[i++]=a[r],n[i++]=s[r]}this.line.options.positions=n;var l=o(t.line.color,t.opacity,1),u=Math.round(.5*this.line.options.width),c=(L[t.line.dash]||[1]).slice();for(r=0;r<c.length;++r)c[r]*=u;switch(t.fill){case\\\"tozeroy\\\":this.line.options.fill=[!1,!0,!1,!1];break;case\\\"tozerox\\\":this.line.options.fill=[!0,!1,!1,!1];break;default:this.line.options.fill=[!1,!1,!1,!1]}var h=w(t.fillcolor);this.line.options.color=l,this.line.options.width=2*t.line.width,this.line.options.dashes=c,this.line.options.fillColor=[h,h,h,h],this.line.update()}else this.line.clear()},D.updateError=function(t,e,r,n){var i=this[\\\"error\\\"+t],a=e[\\\"error_\\\"+t.toLowerCase()];\\\"x\\\"===t.toLowerCase()&&a.copy_ystyle&&(a=e.error_y),this[\\\"hasError\\\"+t]?(i.options.positions=r,i.options.errors=n,i.options.capSize=a.width,i.options.lineWidth=a.thickness/2,i.options.color=o(a.color,1,1),i.update()):i.clear()},D.expandAxesFast=function(t,e){for(var r,n,i,a=e||10,o=0;o<2;o++)r=this.scene[z[o]],n=r._min,n||(n=[]),n.push({val:t[o],pad:a}),i=r._max,i||(i=[]),i.push({val:t[o+2],pad:a})},D.expandAxesFancy=function(t,e,r){var n=this.scene,i={padded:!0,ppad:r};b.expand(n.xaxis,t,i),b.expand(n.yaxis,e,i)},D.dispose=function(){this.line.dispose(),this.errorX.dispose(),this.errorY.dispose(),this.scatter.dispose(),this.fancyScatter.dispose()},e.exports=f},{\\\"../../components/errorbars\\\":633,\\\"../../constants/gl2d_dashes\\\":700,\\\"../../constants/gl2d_markers\\\":701,\\\"../../constants/interactions\\\":704,\\\"../../lib\\\":725,\\\"../../lib/gl_format_color\\\":722,\\\"../../lib/str2rgbarray\\\":744,\\\"../../lib/typed_array_truncate\\\":748,\\\"../../plots/cartesian/axes\\\":766,\\\"../../plots/cartesian/axis_autotype\\\":767,\\\"../scatter/get_trace_color\\\":1035,\\\"../scatter/make_bubble_size_func\\\":1042,\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130,\\\"gl-error2d\\\":158,\\\"gl-line2d\\\":169,\\\"gl-scatter2d\\\":247,\\\"gl-scatter2d-sdf\\\":242}],1074:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/xy_defaults\\\"),s=t(\\\"../scatter/marker_defaults\\\"),l=t(\\\"../scatter/line_defaults\\\"),u=t(\\\"../scatter/fillcolor_defaults\\\"),c=t(\\\"../../components/errorbars/defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p=o(t,e,f,d);if(!p)return void(e.visible=!1);d(\\\"text\\\"),d(\\\"mode\\\",p<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(d(\\\"connectgaps\\\"),l(t,e,r,f,d)),a.hasMarkers(e)&&s(t,e,r,f,d),d(\\\"fill\\\"),\\\"none\\\"!==e.fill&&u(t,e,r,d),c(t,e,r,{axis:\\\"y\\\"}),c(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"})}},{\\\"../../components/errorbars/defaults\\\":632,\\\"../../lib\\\":725,\\\"../scatter/constants\\\":1032,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/xy_defaults\\\":1049,\\\"./attributes\\\":1071}],1075:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.hoverPoints=t(\\\"../scatter/hover\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./convert\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattergl\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl2d\\\",\\\"symbols\\\",\\\"errorBarsOK\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":806,\\\"../scatter/colorbar\\\":1030,\\\"../scatter/hover\\\":1036,\\\"./attributes\\\":1071,\\\"./calc\\\":1072,\\\"./convert\\\":1073,\\\"./defaults\\\":1074,\\\"./select\\\":1076}],1076:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],h=s[0].trace,f=s[0]._glTrace,d=f.scene,p=!n.hasMarkers(h)&&!n.hasText(h);if(!0===h.visible&&!p){if(!1===e)for(r=0;r<s.length;r++)s[r].dim=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=u.c2p(i.y),e.contains([a,o])?(c.push({pointNumber:r,x:i.x,y:i.y}),i.dim=0):i.dim=1;return h.selection=c,f.update(h,s),d.glplot.setDirty(),c}}},{\\\"../scatter/subtypes\\\":1047}],1077:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../plots/mapbox/layout_attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../components/colorbar/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,u=n.line,c=n.marker;e.exports={lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:\\\"markers\\\"}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:\\\"string\\\",dflt:\\\"circle\\\",arrayOk:!0},opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,color:c.color,colorscale:c.colorscale,cauto:c.cauto,cmax:c.cmax,cmin:c.cmin,autocolorscale:c.autocolorscale,reversescale:c.reversescale,showscale:c.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,hoverinfo:l({},o.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"text\\\",\\\"name\\\"]})}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../../plots/mapbox/layout_attributes\\\":825,\\\"../scatter/attributes\\\":1027,\\\"../scattergeo/attributes\\\":1064}],1078:[function(t,e,r){\\\"use strict\\\";function n(){return{geojson:v.makeBlank(),layout:{visibility:\\\"none\\\"},paint:{}}}function i(t,e){function r(t,e){return a.opacity*e*(t.dim?_:1)}function n(t,r,n,i){void 0===e[r][n]&&(e[r][n]=i),t[r]=e[r][n]}var i,a=t[0].trace,o=a.marker;g.hasColorscale(a,\\\"marker\\\")?i=g.makeColorScaleFunc(g.extractScale(o.colorscale,o.cmin,o.cmax)):Array.isArray(o.color)&&(i=p.identity);var s;b.isBubble(a)&&(s=y(a));var l;Array.isArray(o.opacity)?l=function(t){return r(t,d(t.mo)?+p.constrain(t.mo,0,1):0)}:a._hasDimmedPts&&(l=function(t){return r(t,o.opacity)});for(var u=[],c=0;c<t.length;c++){var h=t[c],m=h.lonlat;if(!f(m)){var v={};if(i){var x=h.mcc=i(h.mc);n(v,w,x,c)}s&&n(v,M,s(h.ms),c),l&&n(v,k,l(h),c),u.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:m},properties:v})}}return{type:\\\"FeatureCollection\\\",features:u}}function a(t){for(var e=t[0].trace,r=e.marker||{},n=r.symbol,i=e.text,a=\\\"circle\\\"!==n?u(n):c,o=b.hasText(e)?u(i):c,s=[],l=0;l<t.length;l++){var h=t[l];f(h.lonlat)||s.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:h.lonlat},properties:{symbol:a(h.mx),text:o(h.tx)}})}return{type:\\\"FeatureCollection\\\",features:s}}function o(t,e){var r,n=t.marker;if(Array.isArray(n.color)){for(var i=Object.keys(e[w]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[w][s],s])}r={property:w,stops:a}}else r=n.color;return r}function s(t,e){var r,n=t.marker;if(Array.isArray(n.size)){for(var i=Object.keys(e[M]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[M][s],+s])}r={property:M,stops:a.sort(h)}}else r=n.size/2;return r}function l(t,e){var r,n=t.marker;if(Array.isArray(n.opacity)||t._hasDimmedPts){for(var i=Object.keys(e[k]),a=[],o=0;o<i.length;o++){var s=i[o];a.push([e[k][s],+s])}r={property:k,stops:a.sort(h)}}else r=t.opacity*n.opacity;return r}function u(t){return Array.isArray(t)?function(t){return t}:t?function(){return t}:c}function c(){return\\\"\\\"}function h(t,e){return t[0]-e[0]}function f(t){return t[0]===m}var d=t(\\\"fast-isnumeric\\\"),p=t(\\\"../../lib\\\"),m=t(\\\"../../constants/numerical\\\").BADNUM,v=t(\\\"../../lib/geojson_utils\\\"),g=t(\\\"../../components/colorscale\\\"),y=t(\\\"../scatter/make_bubble_size_func\\\"),b=t(\\\"../scatter/subtypes\\\"),x=t(\\\"../../plots/mapbox/convert_text_opts\\\"),_=t(\\\"../../constants/interactions\\\").DESELECTDIM,w=\\\"circle-color\\\",M=\\\"circle-radius\\\",k=\\\"circle-opacity\\\";e.exports=function(t){var e=t[0].trace,r=!0===e.visible,u=\\\"none\\\"!==e.fill,c=b.hasLines(e),h=b.hasMarkers(e),f=b.hasText(e),d=h&&\\\"circle\\\"===e.marker.symbol,m=h&&\\\"circle\\\"!==e.marker.symbol,g=n(),y=n(),_=n(),A=n(),T={fill:g,line:y,circle:_,symbol:A};if(!r)return T;var S;if((u||c)&&(S=v.calcTraceToLineCoords(t)),u&&(g.geojson=v.makePolygon(S),g.layout.visibility=\\\"visible\\\",p.extendFlat(g.paint,{\\\"fill-color\\\":e.fillcolor})),c&&(y.geojson=v.makeLine(S),y.layout.visibility=\\\"visible\\\",p.extendFlat(y.paint,{\\\"line-width\\\":e.line.width,\\\"line-color\\\":e.line.color,\\\"line-opacity\\\":e.opacity})),d){var E={};E[w]={},E[M]={},E[k]={},_.geojson=i(t,E),_.layout.visibility=\\\"visible\\\",p.extendFlat(_.paint,{\\\"circle-opacity\\\":l(e,E),\\\"circle-color\\\":o(e,E),\\\"circle-radius\\\":s(e,E)})}if((m||f)&&(A.geojson=a(t),p.extendFlat(A.layout,{visibility:\\\"visible\\\",\\\"icon-image\\\":\\\"{symbol}-15\\\",\\\"text-field\\\":\\\"{text}\\\"}),m&&(p.extendFlat(A.layout,{\\\"icon-size\\\":e.marker.size/10}),p.extendFlat(A.paint,{\\\"icon-opacity\\\":e.opacity*e.marker.opacity,\\\"icon-color\\\":e.marker.color})),f)){var L=(e.marker||{}).size,C=x(e.textposition,L);p.extendFlat(A.layout,{\\\"text-size\\\":e.textfont.size,\\\"text-anchor\\\":C.anchor,\\\"text-offset\\\":C.offset}),p.extendFlat(A.paint,{\\\"text-color\\\":e.textfont.color,\\\"text-opacity\\\":e.opacity})}return T}},{\\\"../../components/colorscale\\\":617,\\\"../../constants/interactions\\\":704,\\\"../../constants/numerical\\\":705,\\\"../../lib\\\":725,\\\"../../lib/geojson_utils\\\":720,\\\"../../plots/mapbox/convert_text_opts\\\":822,\\\"../scatter/make_bubble_size_func\\\":1042,\\n\",\n       \"\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1079:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){var n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length);return a<n.length&&(e.lon=n.slice(0,a)),a<i.length&&(e.lat=i.slice(0,a)),a}var i=t(\\\"../../lib\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/text_defaults\\\"),u=t(\\\"../scatter/fillcolor_defaults\\\"),c=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function f(r,n){return i.coerce(t,e,c,r,n)}if(!n(t,e,f))return void(e.visible=!1);if(f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),a.hasLines(e)&&(s(t,e,r,h,f,{noDash:!0}),f(\\\"connectgaps\\\")),a.hasMarkers(e)){o(t,e,r,h,f,{noLine:!0});var d=e.marker;d.line={width:0},\\\"circle\\\"!==d.symbol&&(Array.isArray(d.size)&&(d.size=d.size[0]),Array.isArray(d.color)&&(d.color=d.color[0]))}a.hasText(e)&&l(t,e,h,f),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&u(t,e,r,f)}},{\\\"../../lib\\\":725,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1077}],1080:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1081:[function(t,e,r){\\\"use strict\\\";function n(t,e){function r(t){return t+\\\"\\\\xb0\\\"}var n=t.hoverinfo.split(\\\"+\\\"),i=-1!==n.indexOf(\\\"all\\\"),a=-1!==n.indexOf(\\\"lon\\\"),o=-1!==n.indexOf(\\\"lat\\\"),s=e.lonlat,l=[];if(i||a&&o?l.push(\\\"(\\\"+r(s[0])+\\\", \\\"+r(s[1])+\\\")\\\"):a?l.push(\\\"lon: \\\"+r(s[0])):o&&l.push(\\\"lat: \\\"+r(s[1])),i||-1!==n.indexOf(\\\"text\\\")){var u;e.htx?u=e.htx:t.hovertext?u=t.hovertext:e.tx?u=e.tx:t.text&&(u=t.text),Array.isArray(u)||l.push(u)}return l.join(\\\"<br>\\\")}var i=t(\\\"../../components/fx\\\"),a=t(\\\"../scatter/get_trace_color\\\"),o=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r){function s(t){var e=t.lonlat;if(e[0]===o)return 1/0;var n=Math.abs(c.c2p(e)-c.c2p([p,e[1]])),i=Math.abs(h.c2p(e)-h.c2p([e[0],r])),a=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(n*n+i*i)-a,1-3/a)}var l=t.cd,u=l[0].trace,c=t.xa,h=t.ya,f=e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360),d=360*f,p=e-d;if(i.getClosest(l,s,t),!1!==t.index){var m=l[t.index],v=m.lonlat,g=[v[0]+d,v[1]],y=c.c2p(g),b=h.c2p(g),x=m.mrc||1;return t.x0=y-x,t.x1=y+x,t.y0=b-x,t.y1=b+x,t.color=a(u,m),t.extraText=n(u,m),[t]}}},{\\\"../../components/fx\\\":644,\\\"../../constants/numerical\\\":705,\\\"../scatter/get_trace_color\\\":1035}],1082:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"../scattergeo/calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattermapbox\\\",n.basePlotModule=t(\\\"../../plots/mapbox\\\"),n.categories=[\\\"mapbox\\\",\\\"gl\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatterlike\\\"],n.meta={},e.exports=n},{\\\"../../plots/mapbox\\\":823,\\\"../scatter/colorbar\\\":1030,\\\"../scattergeo/calc\\\":1065,\\\"./attributes\\\":1077,\\\"./defaults\\\":1079,\\\"./event_data\\\":1080,\\\"./hover\\\":1081,\\\"./plot\\\":1083,\\\"./select\\\":1084}],1083:[function(t,e,r){\\\"use strict\\\";function n(t,e){this.mapbox=t,this.map=t.map,this.uid=e,this.idSourceFill=e+\\\"-source-fill\\\",this.idSourceLine=e+\\\"-source-line\\\",this.idSourceCircle=e+\\\"-source-circle\\\",this.idSourceSymbol=e+\\\"-source-symbol\\\",this.idLayerFill=e+\\\"-layer-fill\\\",this.idLayerLine=e+\\\"-layer-line\\\",this.idLayerCircle=e+\\\"-layer-circle\\\",this.idLayerSymbol=e+\\\"-layer-symbol\\\",this.mapbox.initSource(this.idSourceFill),this.mapbox.initSource(this.idSourceLine),this.mapbox.initSource(this.idSourceCircle),this.mapbox.initSource(this.idSourceSymbol),this.map.addLayer({id:this.idLayerFill,source:this.idSourceFill,type:\\\"fill\\\"}),this.map.addLayer({id:this.idLayerLine,source:this.idSourceLine,type:\\\"line\\\"}),this.map.addLayer({id:this.idLayerCircle,source:this.idSourceCircle,type:\\\"circle\\\"}),this.map.addLayer({id:this.idLayerSymbol,source:this.idSourceSymbol,type:\\\"symbol\\\"})}function i(t){return\\\"visible\\\"===t.layout.visibility}var a=t(\\\"./convert\\\"),o=n.prototype;o.update=function(t){var e=this.mapbox,r=a(t);e.setOptions(this.idLayerFill,\\\"setLayoutProperty\\\",r.fill.layout),e.setOptions(this.idLayerLine,\\\"setLayoutProperty\\\",r.line.layout),e.setOptions(this.idLayerCircle,\\\"setLayoutProperty\\\",r.circle.layout),e.setOptions(this.idLayerSymbol,\\\"setLayoutProperty\\\",r.symbol.layout),i(r.fill)&&(e.setSourceData(this.idSourceFill,r.fill.geojson),e.setOptions(this.idLayerFill,\\\"setPaintProperty\\\",r.fill.paint)),i(r.line)&&(e.setSourceData(this.idSourceLine,r.line.geojson),e.setOptions(this.idLayerLine,\\\"setPaintProperty\\\",r.line.paint)),i(r.circle)&&(e.setSourceData(this.idSourceCircle,r.circle.geojson),e.setOptions(this.idLayerCircle,\\\"setPaintProperty\\\",r.circle.paint)),i(r.symbol)&&(e.setSourceData(this.idSourceSymbol,r.symbol.geojson),e.setOptions(this.idLayerSymbol,\\\"setPaintProperty\\\",r.symbol.paint)),t[0].trace._glTrace=this},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayerFill),t.removeLayer(this.idLayerLine),t.removeLayer(this.idLayerCircle),t.removeLayer(this.idLayerSymbol),t.removeSource(this.idSourceFill),t.removeSource(this.idSourceLine),t.removeSource(this.idSourceCircle),t.removeSource(this.idSourceSymbol)},e.exports=function(t,e){var r=e[0].trace,i=new n(t,r.uid);return i.update(e),i}},{\\\"./convert\\\":1078}],1084:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){var r,i,a,o,s,l=t.cd,u=t.xaxis,c=t.yaxis,h=[],f=l[0].trace;if(f._hasDimmedPts=!1,!0===f.visible&&n.hasMarkers(f)){if(!1===e)for(s=0;s<l.length;s++)l[s].dim=0;else for(s=0;s<l.length;s++)r=l[s],i=r.lonlat,a=u.c2p(i),o=c.c2p(i),e.contains([a,o])?(f._hasDimmedPts=!0,h.push({pointNumber:s,lon:i[0],lat:i[1]}),r.dim=0):r.dim=1;return f._glTrace.update(l),h}}},{\\\"../scatter/subtypes\\\":1047}],1085:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../lib/extend\\\").extendFlat,u=n.marker,c=n.line,h=u.line;e.exports={a:{valType:\\\"data_array\\\"},b:{valType:\\\"data_array\\\"},c:{valType:\\\"data_array\\\"},sum:{valType:\\\"number\\\",dflt:0,min:0},mode:l({},n.mode,{dflt:\\\"markers\\\"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:c.color,width:c.width,dash:s,shape:l({},c.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:c.smoothing},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:n.fillcolor,marker:l({},{symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:l({},{width:h.width},a(\\\"marker\\\".line)),gradient:u.gradient},a(\\\"marker\\\"),{showscale:u.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,hoverinfo:l({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/color_attributes\\\":610,\\\"../../components/drawing/attributes\\\":626,\\\"../../lib/extend\\\":716,\\\"../../plots/attributes\\\":764,\\\"../scatter/attributes\\\":1027}],1086:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/colorscale_calc\\\"),s=t(\\\"../scatter/arrays_to_calcdata\\\"),l=[\\\"a\\\",\\\"b\\\",\\\"c\\\"],u={a:[\\\"b\\\",\\\"c\\\"],b:[\\\"a\\\",\\\"c\\\"],c:[\\\"a\\\",\\\"b\\\"]};e.exports=function(t,e){var r,c,h,f,d,p,m=t._fullLayout[e.subplot],v=m.sum,g=e.sum||v;for(r=0;r<l.length;r++)if(h=l[r],!e[h]){for(d=e[u[h][0]],p=e[u[h][1]],f=new Array(d.length),c=0;c<d.length;c++)f[c]=g-d[c]-p[c];e[h]=f}var y,b,x,_,w,M,k=e.a.length,A=new Array(k);for(r=0;r<k;r++)y=e.a[r],b=e.b[r],x=e.c[r],n(y)&&n(b)&&n(x)?(y=+y,b=+b,x=+x,_=v/(y+b+x),1!==_&&(y*=_,b*=_,x*=_),M=y,w=x-b,A[r]={x:w,y:M,a:y,b:b,c:x}):A[r]={x:!1,y:!1};var T,S;if(a.hasMarkers(e)&&(T=e.marker,S=T.size,Array.isArray(S))){var E={type:\\\"linear\\\"};i.setConvert(E),S=E.makeCalcdata(e.marker,\\\"size\\\"),S.length>k&&S.splice(k,S.length-k)}return o(e),s(A,e),A}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/arrays_to_calcdata\\\":1026,\\\"../scatter/colorscale_calc\\\":1031,\\\"../scatter/subtypes\\\":1047,\\\"fast-isnumeric\\\":130}],1087:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=t(\\\"../scatter/line_defaults\\\"),l=t(\\\"../scatter/line_shape_defaults\\\"),u=t(\\\"../scatter/text_defaults\\\"),c=t(\\\"../scatter/fillcolor_defaults\\\"),h=t(\\\"./attributes\\\");e.exports=function(t,e,r,f){function d(r,i){return n.coerce(t,e,h,r,i)}var p,m=d(\\\"a\\\"),v=d(\\\"b\\\"),g=d(\\\"c\\\");if(m?(p=m.length,v?(p=Math.min(p,v.length),g&&(p=Math.min(p,g.length))):p=g?Math.min(p,g.length):0):v&&g&&(p=Math.min(v.length,g.length)),!p)return void(e.visible=!1);m&&p<m.length&&(e.a=m.slice(0,p)),v&&p<v.length&&(e.b=v.slice(0,p)),g&&p<g.length&&(e.c=g.slice(0,p)),d(\\\"sum\\\"),d(\\\"text\\\"),d(\\\"hovertext\\\"),d(\\\"mode\\\",p<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,f,d),l(t,e,d),d(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,f,d,{gradient:!0}),a.hasText(e)&&u(t,e,f,d);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(d(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),d(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||l(t,e,d)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||y.push(\\\"fills\\\"),d(\\\"hoveron\\\",y.join(\\\"+\\\")||\\\"points\\\"),d(\\\"cliponaxis\\\")}},{\\\"../../lib\\\":725,\\\"../scatter/constants\\\":1032,\\\"../scatter/fillcolor_defaults\\\":1034,\\\"../scatter/line_defaults\\\":1038,\\\"../scatter/line_shape_defaults\\\":1040,\\\"../scatter/marker_defaults\\\":1043,\\\"../scatter/subtypes\\\":1047,\\\"../scatter/text_defaults\\\":1048,\\\"./attributes\\\":1085}],1088:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e,r,a){function o(t,e){g.push(t._hovertitle+\\\": \\\"+i.tickText(t,e,\\\"hover\\\").text)}var s=n(t,e,r,a);if(s&&!1!==s[0].index){var l=s[0];if(void 0===l.index){var u=1-l.y0/t.ya._length,c=t.xa._length,h=c*u/2,f=c-h;return l.x0=Math.max(Math.min(l.x0,f),h),l.x1=Math.max(Math.min(l.x1,f),h),s}var d=l.cd[l.index];l.a=d.a,l.b=d.b,l.c=d.c,l.xLabelVal=void 0,l.yLabelVal=void 0;var p=l.trace,m=p._ternary,v=p.hoverinfo.split(\\\"+\\\"),g=[];return-1!==v.indexOf(\\\"all\\\")&&(v=[\\\"a\\\",\\\"b\\\",\\\"c\\\"]),-1!==v.indexOf(\\\"a\\\")&&o(m.aaxis,d.a),-1!==v.indexOf(\\\"b\\\")&&o(m.baxis,d.b),-1!==v.indexOf(\\\"c\\\")&&o(m.caxis,d.c),l.extraText=g.join(\\\"<br>\\\"),s}}},{\\\"../../plots/cartesian/axes\\\":766,\\\"../scatter/hover\\\":1036}],1089:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatterternary\\\",n.basePlotModule=t(\\\"../../plots/ternary\\\"),n.categories=[\\\"ternary\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/ternary\\\":837,\\\"../scatter/colorbar\\\":1030,\\\"./attributes\\\":1085,\\\"./calc\\\":1086,\\\"./defaults\\\":1087,\\\"./hover\\\":1088,\\\"./plot\\\":1090,\\\"./select\\\":1091,\\\"./style\\\":1092}],1090:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\");e.exports=function(t,e){var r=t.plotContainer;r.select(\\\".scatterlayer\\\").selectAll(\\\"*\\\").remove();for(var i={xaxis:t.xaxis,yaxis:t.yaxis,plot:r,layerClipId:t._hasClipOnAxisFalse?t.clipIdRelative:null},a=0;a<e.length;a++)e[a][0].trace._ternary=t;n(t.graphDiv,i,e)}},{\\\"../scatter/plot\\\":1044}],1091:[function(t,e,r){arguments[4][1062][0].apply(r,arguments)},{\\\"../scatter/select\\\":1045,dup:1062}],1092:[function(t,e,r){arguments[4][1063][0].apply(r,arguments)},{\\\"../scatter/style\\\":1046,dup:1063}],1093:[function(t,e,r){\\\"use strict\\\";function n(t){return{valType:\\\"boolean\\\",dflt:!1}}function i(t){return{show:{valType:\\\"boolean\\\",dflt:!1},project:{x:n(\\\"x\\\"),y:n(\\\"y\\\"),z:n(\\\"z\\\")},color:{valType:\\\"color\\\",dflt:a.defaultLine},usecolormap:{valType:\\\"boolean\\\",dflt:!1},width:{valType:\\\"number\\\",min:1,max:16,dflt:2},highlight:{valType:\\\"boolean\\\",dflt:!0},highlightcolor:{valType:\\\"color\\\",dflt:a.defaultLine},highlightwidth:{valType:\\\"number\\\",min:1,max:16,dflt:2}}}var a=t(\\\"../../components/color\\\"),o=t(\\\"../../components/colorscale/attributes\\\"),s=t(\\\"../../components/colorbar/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat;e.exports={z:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:{valType:\\\"data_array\\\"},surfacecolor:{valType:\\\"data_array\\\"},cauto:o.zauto,cmin:o.zmin,cmax:o.zmax,colorscale:o.colorscale,autocolorscale:l({},o.autocolorscale,{dflt:!1}),reversescale:o.reversescale,showscale:o.showscale,colorbar:s,contours:{x:i(\\\"x\\\"),y:i(\\\"y\\\"),z:i(\\\"z\\\")},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},_deprecated:{zauto:l({},o.zauto,{}),zmin:l({},o.zmin,{}),zmax:l({},o.zmax,{})}}},{\\\"../../components/color\\\":603,\\\"../../components/colorbar/attributes\\\":604,\\\"../../components/colorscale/attributes\\\":608,\\\"../../lib/extend\\\":716}],1094:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\\\"\\\",\\\"c\\\"):n(e,e.z,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":609}],1095:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,u=r.cmin,c=r.cmax,h=r.surfacecolor||r.z;if(n(u)||(u=i.aggNums(Math.min,null,h)),n(c)||(c=i.aggNums(Math.max,null,h)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),!r.showscale)return void a.autoMargin(t,l);var f=e[0].t.cb=s(t,l),d=o.makeColorScaleFunc(o.extractScale(r.colorscale,u,c),{noNumericCheck:!0});f.fillcolor(d).filllevels({start:u,end:c,size:(c-u)/254}).options(r.colorbar)()}},{\\\"../../components/colorbar/draw\\\":606,\\\"../../components/colorscale\\\":617,\\\"../../lib\\\":725,\\\"../../plots/plots\\\":829,\\\"fast-isnumeric\\\":130}],1096:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}function i(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=p(t[1]),i=n.toRgb();return{index:r,rgb:[i.r,i.g,i.b,e]}})}function a(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]}function o(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=c(new Float32Array(r[0]*r[1]),r);return d.assign(n.lo(1,1).hi(e[0],e[1]),t),d.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),d.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),d.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),d.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}function s(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<v){for(var r=v/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],i=n[0]*n[1],a=0;a<t.length;++a){var s=o(t[a]),l=c(new Float32Array(i),n);h(l,s,[r,0,0,0,r,0,0,0,1]),t[a]=l}return r}return 1}function l(t,e){var r=t.glplot.gl,i=u({gl:r}),a=new n(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}var u=t(\\\"gl-surface3d\\\"),c=t(\\\"ndarray\\\"),h=t(\\\"ndarray-homography\\\"),f=t(\\\"ndarray-fill\\\"),d=t(\\\"ndarray-ops\\\"),p=t(\\\"tinycolor2\\\"),m=t(\\\"../../lib/str2rgbarray\\\"),v=128,g=n.prototype;g.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];Array.isArray(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]],Array.isArray(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return i&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=\\\"\\\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},g.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},g.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,o=this.surface,l=t.opacity,u=i(t.colorscale,l),h=t.z,d=t.x,p=t.y,v=n.xaxis,g=n.yaxis,y=n.zaxis,b=r.dataScale,x=h[0].length,_=h.length,w=[c(new Float32Array(x*_),[x,_]),c(new Float32Array(x*_),[x,_]),c(new Float32Array(x*_),[x,_])],M=w[0],k=w[1],A=r.contourLevels;this.data=t;var T=t.xcalendar,S=t.ycalendar,E=t.zcalendar;f(w[2],function(t,e){return y.d2l(h[e][t],0,E)*b[2]}),Array.isArray(d[0])?f(M,function(t,e){return v.d2l(d[e][t],0,T)*b[0]}):f(M,function(t){return v.d2l(d[t],0,T)*b[0]}),Array.isArray(p[0])?f(k,function(t,e){return g.d2l(p[e][t],0,S)*b[1]}):f(k,function(t,e){return g.d2l(p[e],0,S)*b[1]});var L={colormap:u,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],opacity:t.opacity};if(L.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var C=c(new Float32Array(x*_),[x,_]);f(C,function(e,r){return t.surfacecolor[r][e]}),w.push(C)}else L.intensityBounds[0]*=b[2],L.intensityBounds[1]*=b[2];this.dataScale=s(w),t.surfacecolor&&(L.intensity=w.pop());var z=[!0,!0,!0],I=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(e=0;e<3;++e){var D=t.contours[I[e]];z[e]=D.highlight,L.showContour[e]=D.show||D.highlight,L.showContour[e]&&(L.contourProject[e]=[D.project.x,D.project.y,D.project.z],D.show?(this.showContour[e]=!0,L.levels[e]=A[e],o.highlightColor[e]=L.contourColor[e]=m(D.color),D.usecolormap?o.highlightTint[e]=L.contourTint[e]=0:o.highlightTint[e]=L.contourTint[e]=1,L.contourWidth[e]=D.width):this.showContour[e]=!1,D.highlight&&(L.dynamicColor[e]=m(D.highlightcolor),L.dynamicWidth[e]=D.highlightwidth))}a(u)&&(L.vertexColor=!0),L.coords=w,o.update(L),o.visible=t.visible,o.enableDynamic=z,o.snapToData=!0,\\\"lighting\\\"in t&&(o.ambientLight=t.lighting.ambient,o.diffuseLight=t.lighting.diffuse,o.specularLight=t.lighting.specular,o.roughness=t.lighting.roughness,o.fresnel=t.lighting.fresnel),\\\"lightposition\\\"in t&&(o.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),l&&l<1&&(o.supportsTransparency=!0)},g.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=l},{\\\"../../lib/str2rgbarray\\\":744,\\\"gl-surface3d\\\":265,ndarray:466,\\\"ndarray-fill\\\":456,\\\"ndarray-homography\\\":458,\\\"ndarray-ops\\\":460,tinycolor2:533}],1097:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function u(r,n){return a.coerce(t,e,s,r,n)}var c,h,f=u(\\\"z\\\");if(!f)return void(e.visible=!1);var d=f[0].length,p=f.length;if(u(\\\"x\\\"),u(\\\"y\\\"),i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],l),!Array.isArray(e.x))for(e.x=[],c=0;c<d;++c)e.x[c]=c;if(u(\\\"text\\\"),!Array.isArray(e.y))for(e.y=[],c=0;c<p;++c)e.y[c]=c;[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"hidesurface\\\",\\\"opacity\\\"].forEach(function(t){u(t)});var m=u(\\\"surfacecolor\\\");u(\\\"colorscale\\\");var v=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(c=0;c<3;++c){var g=\\\"contours.\\\"+v[c],y=u(g+\\\".show\\\"),b=u(g+\\\".highlight\\\");if(y||b)for(h=0;h<3;++h)u(g+\\\".project.\\\"+v[h]);y&&(u(g+\\\".color\\\"),u(g+\\\".width\\\"),u(g+\\\".usecolormap\\\")),b&&(u(g+\\\".highlightcolor\\\"),u(g+\\\".highlightwidth\\\"))}m||(n(t,\\\"zmin\\\",\\\"cmin\\\"),n(t,\\\"zmax\\\",\\\"cmax\\\"),n(t,\\\"zauto\\\",\\\"cauto\\\")),o(t,e,l,u,{prefix:\\\"\\\",cLetter:\\\"c\\\"})}},{\\\"../../components/colorscale/defaults\\\":612,\\\"../../lib\\\":725,\\\"../../registry\\\":844,\\\"./attributes\\\":1093}],1098:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"surface\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"2dMap\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":809,\\\"./attributes\\\":1093,\\\"./calc\\\":1094,\\\"./colorbar\\\":1095,\\\"./convert\\\":1096,\\\"./defaults\\\":1097}],1099:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n){if(n.enabled){for(var a=n.target,o=u.nestedProperty(e,a),s=o.get(),c=l.getDataConversions(t,e,a,s),h=i(n,c),f=new Array(r.length),d=0;d<r.length;d++)f[d]=h(s,r[d]);o.set(f)}}function i(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\\\"count\\\":return a;case\\\"first\\\":return o;case\\\"last\\\":return s;case\\\"sum\\\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==h&&(r+=o)}return i(r)};case\\\"avg\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==h&&(r+=s,a++)}return a?i(r/a):h};case\\\"min\\\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==h&&(r=Math.min(r,o))}return r===1/0?h: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!==h&&(r=Math.max(r,o))}return r===-1/0?h:i(r)};case\\\"median\\\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==h&&r.push(o)}if(!r.length)return h;r.sort();var s=(r.length-1)/2;return i((r[Math.floor(s)]+r[Math.ceil(s)])/2)};case\\\"mode\\\":return function(t,e){for(var r={},a=0,o=h,s=0;s<e.length;s++){var l=n(t[e[s]]);if(l!==h){var u=r[l]=(r[l]||0)+1;u>a&&(a=u,o=l)}}return a?i(o):h};case\\\"rms\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==h&&(r+=s*s,a++)}return a?i(Math.sqrt(r/a)):h};case\\\"stddev\\\":return function(e,r){var i,a=0,o=0,s=1,l=h;for(i=0;i<r.length&&l===h;i++)l=n(e[r[i]]);if(l===h)return h;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==h){var c=u-l;a+=c,o+=c*c,s++}}var f=\\\"sample\\\"===t.funcmode?s-1:s;return f?Math.sqrt((o-a*a/s)/f):0}}}function a(t,e){return e.length}function o(t,e){return t[e[0]]}function s(t,e){return t[e[e.length-1]]}var l=t(\\\"../plots/cartesian/axes\\\"),u=t(\\\"../lib\\\"),c=t(\\\"../plot_api/plot_schema\\\"),h=t(\\\"../constants/numerical\\\").BADNUM;r.moduleType=\\\"transform\\\",r.name=\\\"aggregate\\\";var f=r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},groups:{valType:\\\"string\\\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\\\"x\\\"},aggregations:{_isLinkedToArray:\\\"aggregation\\\",target:{valType:\\\"string\\\"},func:{valType:\\\"enumerated\\\",values:[\\\"count\\\",\\\"sum\\\",\\\"avg\\\",\\\"median\\\",\\\"mode\\\",\\\"rms\\\",\\\"stddev\\\",\\\"min\\\",\\\"max\\\",\\\"first\\\",\\\"last\\\"],dflt:\\\"first\\\"},funcmode:{valType:\\\"enumerated\\\",values:[\\\"sample\\\",\\\"population\\\"],dflt:\\\"sample\\\"},enabled:{valType:\\\"boolean\\\",dflt:!0}}},d=f.aggregations;r.supplyDefaults=function(t,e){function r(e,r){return u.coerce(t,a,f,e,r)}function n(t,e){return u.coerce(p[i],h,d,t,e)}var i,a={};if(!r(\\\"enabled\\\"))return a;var o=c.findArrayAttributes(e),s={};for(i=0;i<o.length;i++)s[o[i]]=1;var l=r(\\\"groups\\\");if(!Array.isArray(l)){if(!s[l])return void(a.enabled=!1);s[l]=0}var h,p=t.aggregations,m=a.aggregations=new Array(p.length);if(p)for(i=0;i<p.length;i++){h={};var v=n(\\\"target\\\"),g=n(\\\"func\\\"),y=n(\\\"enabled\\\");y&&v&&(s[v]||\\\"count\\\"===g&&void 0===s[v])?(\\\"stddev\\\"===g&&n(\\\"funcmode\\\"),s[v]=0,m[i]=h):m[i]={enabled:!1}}for(i=0;i<o.length;i++)s[o[i]]&&m.push({target:o[i],func:d.func.dflt,enabled:!0});return a},r.calcTransform=function(t,e,r){if(r.enabled){var i=r.groups,a=u.getTargetArray(e,{target:i});if(a){var o,s,l,c={},h=[];for(o=0;o<a.length;o++)s=a[o],l=c[s],void 0===l?(c[s]=h.length,h.push([o])):h[l].push(o);var f=r.aggregations;for(o=0;o<f.length;o++)n(t,e,h,f[o]);\\\"string\\\"==typeof i&&n(t,e,h,{target:i,func:\\\"first\\\",enabled:!0})}}}},{\\\"../constants/numerical\\\":705,\\\"../lib\\\":725,\\\"../plot_api/plot_schema\\\":755,\\\"../plots/cartesian/axes\\\":766}],1100:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){function n(t){return-1!==t.indexOf(a)}var i,a=t.operation,o=t.value,c=Array.isArray(o),h=function(r){return e(r,0,t.valuecalendar)},f=function(t){return e(t,0,r)};switch(n(s)?i=h(c?o[0]:o):n(l)?i=c?[h(o[0]),h(o[1])]:[h(o),h(o)]:n(u)&&(i=c?o.map(h):[h(o)]),a){case\\\"=\\\":return function(t){return f(t)===i};case\\\"!=\\\":return function(t){return f(t)!==i};case\\\"<\\\":return function(t){return f(t)<i};case\\\"<=\\\":return function(t){return f(t)<=i};case\\\">\\\":return function(t){return f(t)>i};case\\\">=\\\":return function(t){return f(t)>=i};case\\\"[]\\\":return function(t){var e=f(t);return e>=i[0]&&e<=i[1]};case\\\"()\\\":return function(t){var e=f(t);return e>i[0]&&e<i[1]};case\\\"[)\\\":return function(t){var e=f(t);return e>=i[0]&&e<i[1]};case\\\"(]\\\":return function(t){var e=f(t);return e>i[0]&&e<=i[1]};case\\\"][\\\":return function(t){var e=f(t);return e<=i[0]||e>=i[1]};case\\\")(\\\":return function(t){var e=f(t);return e<i[0]||e>i[1]};case\\\"](\\\":return function(t){var e=f(t);return e<=i[0]||e>i[1]};case\\\")[\\\":return function(t){var e=f(t);return e<i[0]||e>=i[1]};case\\\"{}\\\":return function(t){return-1!==i.indexOf(f(t))};case\\\"}{\\\":return function(t){return-1===i.indexOf(f(t))}}}var i=t(\\\"../lib\\\"),a=t(\\\"../registry\\\"),o=t(\\\"../plots/cartesian/axes\\\"),s=[\\\"=\\\",\\\"!=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],l=[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],u=[\\\"{}\\\",\\\"}{\\\"];r.moduleType=\\\"transform\\\",r.name=\\\"filter\\\",r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},target:{valType:\\\"string\\\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\\\"x\\\"},operation:{valType:\\\"enumerated\\\",values:[].concat(s).concat(l).concat(u),dflt:\\\"=\\\"},value:{valType:\\\"any\\\",dflt:0},preservegaps:{valType:\\\"boolean\\\",dflt:!1}},r.supplyDefaults=function(t){function e(e,a){return i.coerce(t,n,r.attributes,e,a)}var n={};if(e(\\\"enabled\\\")){e(\\\"preservegaps\\\"),e(\\\"operation\\\"),e(\\\"value\\\"),e(\\\"target\\\");var o=a.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\");o(t,n,\\\"valuecalendar\\\",null),o(t,n,\\\"targetcalendar\\\",null)}return n},r.calcTransform=function(t,e,r){function a(t,r){for(var n=0;n<h.length;n++){t(i.nestedProperty(e,h[n]),r)}}if(r.enabled){var s=i.getTargetArray(e,r);if(s){var l=r.target,u=s.length,c=r.targetcalendar,h=e._arrayAttrs;if(\\\"string\\\"==typeof l){var f=i.nestedProperty(e,l+\\\"calendar\\\").get();f&&(c=f)}var d,p,m=o.getDataToCoordFunc(t,e,l,s),v=n(r,m,c),g={};r.preservegaps?(d=function(t){g[t.astr]=i.extendDeep([],t.get()),t.set(new Array(u))},p=function(t,e){var r=g[t.astr][e];t.get()[e]=r}):(d=function(t){g[t.astr]=i.extendDeep([],t.get()),t.set([])},p=function(t,e){var r=g[t.astr][e];t.get().push(r)}),a(d);for(var y=0;y<u;y++){v(s[y])&&a(p,y)}}}}},{\\\"../lib\\\":725,\\\"../plots/cartesian/axes\\\":766,\\\"../registry\\\":844}],1101:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,s,l,u,c,h,f,d,p,m=e.transform,v=t.transforms[e.transformIndex].groups;if(!Array.isArray(v)||0===v.length)return[t];var g=i.filterUnique(v),y=new Array(g.length),b=v.length,x=a.findArrayAttributes(t),_=m.styles||[],w={};for(r=0;r<_.length;r++)w[_[r].target]=_[r].value;m.styles&&(p=i.keyedContainer(m,\\\"styles\\\",\\\"target\\\",\\\"value.name\\\"));var M={};for(r=0;r<g.length;r++){c=g[r],M[c]=r,h=y[r]=i.extendDeepNoArrays({},t),h._group=c;var k=null;for(p&&(k=p.get(c)),h.name=k||i.templateString(m.nameformat,{trace:t.name,group:c}),f=h.transforms,h.transforms=[],n=0;n<f.length;n++)h.transforms[n]=i.extendDeepNoArrays({},f[n]);for(n=0;n<x.length;n++)i.nestedProperty(h,x[n]).set([])}for(s=0;s<x.length;s++){for(l=x[s],n=0,d=[];n<g.length;n++)d[n]=i.nestedProperty(y[n],l).get();for(u=i.nestedProperty(t,l).get(),n=0;n<b;n++)d[M[v[n]]].push(u[n])}for(r=0;r<g.length;r++)c=g[r],h=y[r],o.clearExpandedTraceDefaultColors(h),h=i.extendDeepNoArrays(h,w[c]||{});return y}var i=t(\\\"../lib\\\"),a=t(\\\"../plot_api/plot_schema\\\"),o=t(\\\"../plots/plots\\\");r.moduleType=\\\"transform\\\",r.name=\\\"groupby\\\",r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},groups:{valType:\\\"data_array\\\",dflt:[]},nameformat:{valType:\\\"string\\\"},styles:{_isLinkedToArray:\\\"style\\\",target:{valType:\\\"string\\\"},value:{valType:\\\"any\\\",dflt:{}}}},r.supplyDefaults=function(t,e,n){function a(e,n){return i.coerce(t,s,r.attributes,e,n)}var o,s={};if(!a(\\\"enabled\\\"))return s;a(\\\"groups\\\"),a(\\\"nameformat\\\",n._dataLength>1?\\\"%{group} (%{trace})\\\":\\\"%{group}\\\");var l=t.styles,u=s.styles=[];if(l)for(o=0;o<l.length;o++)u[o]={},i.coerce(l[o],u[o],r.attributes.styles,\\\"target\\\"),i.coerce(l[o],u[o],r.attributes.styles,\\\"value\\\");return s},r.transform=function(t,e){var r,i,a,o=[];for(i=0;i<t.length;i++)for(r=n(t[i],e),a=0;a<r.length;a++)o.push(r[a]);return o}},{\\\"../lib\\\":725,\\\"../plot_api/plot_schema\\\":755,\\\"../plots/plots\\\":829}],1102:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){for(var n=e.length,a=new Array(n),o=e.slice().sort(i(t,r)),s=0;s<n;s++)for(var l=e[s],u=0;u<n;u++){var c=o[u];if(l===c){a[u]=s,o[u]=null;break}}return a}function i(t,e){switch(t.order){case\\\"ascending\\\":return function(t,r){return e(t)-e(r)};case\\\"descending\\\":return function(t,r){return e(r)-e(t)}}}var a=t(\\\"../lib\\\"),o=t(\\\"../plots/cartesian/axes\\\");r.moduleType=\\\"transform\\\",r.name=\\\"sort\\\",r.attributes={enabled:{valType:\\\"boolean\\\",dflt:!0},target:{valType:\\\"string\\\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\\\"x\\\"},order:{valType:\\\"enumerated\\\",values:[\\\"ascending\\\",\\\"descending\\\"],dflt:\\\"ascending\\\"}},r.supplyDefaults=function(t){function e(e,i){return a.coerce(t,n,r.attributes,e,i)}var n={};return e(\\\"enabled\\\")&&(e(\\\"target\\\"),e(\\\"order\\\")),n},r.calcTransform=function(t,e,r){if(r.enabled){var i=a.getTargetArray(e,r);if(i)for(var s=r.target,l=i.length,u=e._arrayAttrs,c=o.getDataToCoordFunc(t,e,s,i),h=n(r,i,c),f=0;f<u.length;f++){for(var d=a.nestedProperty(e,u[f]),p=d.get(),m=new Array(l),v=0;v<l;v++)m[v]=p[h[v]];d.set(m)}}}},{\\\"../lib\\\":725,\\\"../plots/cartesian/axes\\\":766}]},{},[20])(20)});\\n\",\n       \"});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Plotting imports\\n\",\n    \"from plotly.offline import init_notebook_mode, iplot\\n\",\n    \"init_notebook_mode()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Generating Sankey Data\\n\",\n    \"When building the tracker maps that you see on popular site profiles on whotracks.me, sankey diagrams seemed like a good fit to map categories of tracking to companies that own the trackers. Each link would be a tracker, going from a category to a company. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"![title](tumblr.png)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Given we had decided to use plottly.offline to generate the interactive images, I wanted to use the sankey diagram supported in plotly. The fuction itself is pretty straightforward, as you can see in `sankey_diagram()`, but figuring out how the structure of the input data took a bit. Hopefully the following example will make it easier for those reading this post, should they ever decided to try sankey diagrams.\\n\",\n    \"\\n\",\n    \"The goal here is to show some very small dataset, structured in a way that the plotly diagram (and other plotting solutions e.g.: d3.js) understand. We will be mapping cities to the countries they are part of. The value of each link, will be the city population (in millions).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"city_data = dict(\\n\",\n    \"        nodes = dict(\\n\",\n    \"            label=[\\\"Germany\\\", \\\"Berlin\\\", \\\"Munich\\\", \\\"Cologne\\\", \\\"France\\\",  \\\"Paris\\\", \\\"Lyon\\\",  \\\"Bordeaux\\\"],\\n\",\n    \"            color=[\\\"beige\\\",   \\\"black\\\",  \\\"red\\\",    \\\"yellow\\\",   \\\"beige\\\",  \\\"blue\\\",  \\\"white\\\", \\\"red\\\"]\\n\",\n    \"        ),\\n\",\n    \"        links = dict(\\n\",\n    \"            source=[0, 0, 0, 4, 4, 4],\\n\",\n    \"            target=[1, 2, 3, 5, 6, 7],\\n\",\n    \"            value= [3.5, 1.5, 1, 2.2, 0.5, 0.2],\\n\",\n    \"            label=[\\\"capital\\\", \\\"city\\\", \\\"city\\\",   \\\"capital\\\", \\\"city\\\",  \\\"city\\\"],\\n\",\n    \"            color=[\\\"black\\\",   \\\"red\\\",  \\\"yellow\\\", \\\"blue\\\",    \\\"whitesmoke\\\", \\\"red\\\"]\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note how there are two keys in the `dictionary`, `nodes` and `links`, and each has some attributes. Let's go over them. Each node has a label (e.g. `Germany`) and a corresponding color (in this case `beige`). Note than `labels` and `colors` are stored in lists of equal length, and the pairing is done based on the index. \\n\",\n    \"\\n\",\n    \"Links contain information about how to link nodes. Eeach has a `source`, `target`, `value`, `label` and `color`. Source cointains the index in the list of the source node, whereas target the index in the list of the target node. Value determines how thick the link should be (in our case it will be the population of each link, hence each city), Label and color, as the name suggests, specify the label and color of the link. Links too, are paired based on index.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plotting a sankey diagram\\n\",\n    \"\\n\",\n    \"Now let's write a simple function to plot these data nicely. Most of the work has already been done, given we're feeding the data in a format that's easy to parse.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sankey_diagram(sndata, title):\\n\",\n    \"    # First part of a plotly plot is the `trace`\\n\",\n    \"    data_trace = dict(\\n\",\n    \"        type='sankey',\\n\",\n    \"        node=dict(\\n\",\n    \"            pad=10,\\n\",\n    \"            thickness=30,\\n\",\n    \"            # label could easily be equal to sndatap['node]['label']. The following is just cosmetics\\n\",\n    \"            label=list(map(lambda x: x.replace(\\\"_\\\", \\\" \\\").capitalize(), sndata['nodes']['label'])),\\n\",\n    \"            color=sndata['nodes']['color']\\n\",\n    \"        ),\\n\",\n    \"        link=sndata[\\\"links\\\"],\\n\",\n    \"        \\n\",\n    \"        # configuration options for the diagram\\n\",\n    \"        domain=dict(\\n\",\n    \"            x=[0, 1],\\n\",\n    \"            y=[0, 1]\\n\",\n    \"        ),\\n\",\n    \"        hoverinfo=\\\"none\\\",\\n\",\n    \"        orientation=\\\"h\\\"\\n\",\n    \"    )\\n\",\n    \"    # Second part of a plotly plot is the `layout`\\n\",\n    \"    layout = dict(\\n\",\n    \"        title=title,\\n\",\n    \"        font=dict(\\n\",\n    \"            size=12\\n\",\n    \"        )\\n\",\n    \"    )\\n\",\n    \"    fig = dict(data=[data_trace], layout=layout)\\n\",\n    \"    return iplot(fig)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Sankey diagram for a few German and French citites\\n\",\n    \"All that is left now, is feeding the city_data to the sankey_diagram function and we're done.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.plotly.v1+json\": {\n       \"data\": [\n        {\n         \"domain\": {\n          \"x\": [\n           0,\n           1\n          ],\n          \"y\": [\n           0,\n           1\n          ]\n         },\n         \"hoverinfo\": \"none\",\n         \"link\": {\n          \"color\": [\n           \"black\",\n           \"red\",\n           \"yellow\",\n           \"blue\",\n           \"whitesmoke\",\n           \"red\"\n          ],\n          \"label\": [\n           \"capital\",\n           \"city\",\n           \"city\",\n           \"capital\",\n           \"city\",\n           \"city\"\n          ],\n          \"source\": [\n           0,\n           0,\n           0,\n           4,\n           4,\n           4\n          ],\n          \"target\": [\n           1,\n           2,\n           3,\n           5,\n           6,\n           7\n          ],\n          \"value\": [\n           3.5,\n           1.5,\n           1,\n           2.2,\n           0.5,\n           0.2\n          ]\n         },\n         \"node\": {\n          \"color\": [\n           \"beige\",\n           \"black\",\n           \"red\",\n           \"yellow\",\n           \"beige\",\n           \"blue\",\n           \"white\",\n           \"red\"\n          ],\n          \"label\": [\n           \"Germany\",\n           \"Berlin\",\n           \"Munich\",\n           \"Cologne\",\n           \"France\",\n           \"Paris\",\n           \"Lyon\",\n           \"Bordeaux\"\n          ],\n          \"pad\": 10,\n          \"thickness\": 30\n         },\n         \"orientation\": \"h\",\n         \"type\": \"sankey\"\n        }\n       ],\n       \"layout\": {\n        \"font\": {\n         \"size\": 12\n        },\n        \"title\": \"A few European Cities\"\n       }\n      },\n      \"text/html\": [\n       \"<div id=\\\"5550a697-c9b4-4ddd-bc05-803745d6b90d\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"5550a697-c9b4-4ddd-bc05-803745d6b90d\\\", [{\\\"type\\\": \\\"sankey\\\", \\\"node\\\": {\\\"pad\\\": 10, \\\"thickness\\\": 30, \\\"label\\\": [\\\"Germany\\\", \\\"Berlin\\\", \\\"Munich\\\", \\\"Cologne\\\", \\\"France\\\", \\\"Paris\\\", \\\"Lyon\\\", \\\"Bordeaux\\\"], \\\"color\\\": [\\\"beige\\\", \\\"black\\\", \\\"red\\\", \\\"yellow\\\", \\\"beige\\\", \\\"blue\\\", \\\"white\\\", \\\"red\\\"]}, \\\"link\\\": {\\\"source\\\": [0, 0, 0, 4, 4, 4], \\\"target\\\": [1, 2, 3, 5, 6, 7], \\\"value\\\": [3.5, 1.5, 1, 2.2, 0.5, 0.2], \\\"label\\\": [\\\"capital\\\", \\\"city\\\", \\\"city\\\", \\\"capital\\\", \\\"city\\\", \\\"city\\\"], \\\"color\\\": [\\\"black\\\", \\\"red\\\", \\\"yellow\\\", \\\"blue\\\", \\\"whitesmoke\\\", \\\"red\\\"]}, \\\"domain\\\": {\\\"x\\\": [0, 1], \\\"y\\\": [0, 1]}, \\\"hoverinfo\\\": \\\"none\\\", \\\"orientation\\\": \\\"h\\\"}], {\\\"title\\\": \\\"A few European Cities\\\", \\\"font\\\": {\\\"size\\\": 12}}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ],\n      \"text/vnd.plotly.v1+html\": [\n       \"<div id=\\\"5550a697-c9b4-4ddd-bc05-803745d6b90d\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"5550a697-c9b4-4ddd-bc05-803745d6b90d\\\", [{\\\"type\\\": \\\"sankey\\\", \\\"node\\\": {\\\"pad\\\": 10, \\\"thickness\\\": 30, \\\"label\\\": [\\\"Germany\\\", \\\"Berlin\\\", \\\"Munich\\\", \\\"Cologne\\\", \\\"France\\\", \\\"Paris\\\", \\\"Lyon\\\", \\\"Bordeaux\\\"], \\\"color\\\": [\\\"beige\\\", \\\"black\\\", \\\"red\\\", \\\"yellow\\\", \\\"beige\\\", \\\"blue\\\", \\\"white\\\", \\\"red\\\"]}, \\\"link\\\": {\\\"source\\\": [0, 0, 0, 4, 4, 4], \\\"target\\\": [1, 2, 3, 5, 6, 7], \\\"value\\\": [3.5, 1.5, 1, 2.2, 0.5, 0.2], \\\"label\\\": [\\\"capital\\\", \\\"city\\\", \\\"city\\\", \\\"capital\\\", \\\"city\\\", \\\"city\\\"], \\\"color\\\": [\\\"black\\\", \\\"red\\\", \\\"yellow\\\", \\\"blue\\\", \\\"whitesmoke\\\", \\\"red\\\"]}, \\\"domain\\\": {\\\"x\\\": [0, 1], \\\"y\\\": [0, 1]}, \\\"hoverinfo\\\": \\\"none\\\", \\\"orientation\\\": \\\"h\\\"}], {\\\"title\\\": \\\"A few European Cities\\\", \\\"font\\\": {\\\"size\\\": 12}}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"sankey_diagram(city_data, \\\"A few European Cities\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# From Cities to Trackers\\n\",\n    \"\\n\",\n    \"Doing Sankey diagrams for cities may have been fun. I am not sure the result of doing the same for trackers on your favorite sites will be equally fun. In fact it may be terrifying. We'll be using public data from whotracks.me to map tracker categories to Companies present on a particular site. Each link will be a tracker the company owns. This gives imediate visual insights on who's watching you an why. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data Utils from `whotracksme`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from whotracksme.data.loader import DataSource\\n\",\n    \"from whotracksme.website.plotting.colors import tracker_category_colors, cliqz_colors\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Loading Data\\n\",\n    \"`DataSource` is a class that provides access to trackers, websites and companies. The functionality of `DataSource` is something we'll be constantly trying to improve and expand. Online tracking is messy enough to analyze, so the tooling should be not.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"DATA = DataSource()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Available entities\\n\",\n    \"\\n\",\n    \"These entities are loaded into DataSource, but an API is provided for some common operations on each of them. For more details, have a look at `whotracksme.data.loader`. As far as we're concerned, we can load them like this:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"trackers = DATA.trackers\\n\",\n    \"sites = DATA.sites\\n\",\n    \"companies = DATA.companies\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Looking at reddit.com\\n\",\n    \"Most people know what reddit is. For you that don't, check it out - there are some great communities there. Now we'll look at the tracking landscape in reddit. To do that, we only need to know the reddit `site_id`, which is `reddit.com`. Each site has a `site_id`, most often its `url`. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"dict_keys(['apps', 'category', 'history', 'name', 'overview', 'subdomains'])\"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"reddit_id = \\\"reddit.com\\\"\\n\",\n    \"reddit_data = DATA.sites.get_site(reddit_id)\\n\",\n    \"\\n\",\n    \"# reddit_data is a dictionary. And a site object has the following keys: \\n\",\n    \"reddit_data.keys()\\n\",\n    \"\\n\",\n    \"# apps refers to trackers. Naming is hard, but it'll soon be changed to trackers.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Preparing tracker data for sankey diagram\\n\",\n    \"Here we will be mapping the trackers  on reddit to the category they belong to (on the left) and to the companies that own them (on the right). This means each link is a tracker, nodes on the left are categories, and nodes on the right are companies. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sankey_data(site_id, data=DATA):\\n\",\n    \"\\n\",\n    \"    nodes = []\\n\",\n    \"    link_source = []\\n\",\n    \"    link_target = []\\n\",\n    \"    link_value = []\\n\",\n    \"    link_label = []\\n\",\n    \"\\n\",\n    \"    for (tracker, category, company) in data.sites.trackers_on_site(site_id, data.trackers, data.companies):\\n\",\n    \"\\n\",\n    \"        # index of this category in nodes\\n\",\n    \"        if category in nodes:\\n\",\n    \"            cat_idx = nodes.index(category)\\n\",\n    \"        else:\\n\",\n    \"            nodes.append(category)\\n\",\n    \"            cat_idx = len(nodes) - 1 \\n\",\n    \"            \\n\",\n    \"        # index of this company in nodes\\n\",\n    \"        if company in nodes:\\n\",\n    \"            com_idx = nodes.index(company)\\n\",\n    \"        else:\\n\",\n    \"            nodes.append(company)\\n\",\n    \"            com_idx = len(nodes) - 1 \\n\",\n    \"        \\n\",\n    \"        link_source.append(cat_idx)\\n\",\n    \"        link_target.append(com_idx)\\n\",\n    \"        link_label.append(tracker[\\\"name\\\"])\\n\",\n    \"        link_value.append(100.0 * tracker[\\\"frequency\\\"])\\n\",\n    \"\\n\",\n    \"    label_colors = [tracker_category_colors[l] if l in tracker_category_colors else cliqz_colors[\\\"purple\\\"] for l in nodes]\\n\",\n    \"\\n\",\n    \"    return dict(\\n\",\n    \"        nodes = dict(\\n\",\n    \"            label=nodes,\\n\",\n    \"            color=label_colors\\n\",\n    \"        ),\\n\",\n    \"        links = dict(\\n\",\n    \"            source=link_source,\\n\",\n    \"            target=link_target,\\n\",\n    \"            value=link_value,\\n\",\n    \"            label=link_label,\\n\",\n    \"            color=[\\\"#dedede\\\"] * len(link_label)\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.plotly.v1+json\": {\n       \"data\": [\n        {\n         \"domain\": {\n          \"x\": [\n           0,\n           1\n          ],\n          \"y\": [\n           0,\n           1\n          ]\n         },\n         \"hoverinfo\": \"none\",\n         \"link\": {\n          \"color\": [\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\",\n           \"#dedede\"\n          ],\n          \"label\": [\n           \"Reddit\",\n           \"Google Tag Manager\",\n           \"Google Analytics\",\n           \"Amazon Associates\",\n           \"Quantcast\",\n           \"ScoreCard Research Beacon\",\n           \"Google\",\n           \"DoubleClick\",\n           \"Quantcount\",\n           \"Google AdServices\",\n           \"Moat\",\n           \"Google Syndication\",\n           \"Google APIs\",\n           \"OpenX\",\n           \"Imgur\",\n           \"Google CDN\",\n           \"YouTube\",\n           \"Alexa Metrics\",\n           \"WikiMedia\",\n           \"Amazon Web Services\",\n           \"AppNexus\",\n           \"InsightExpress\",\n           \"Advertising.com\"\n          ],\n          \"source\": [\n           0,\n           2,\n           4,\n           5,\n           5,\n           5,\n           5,\n           5,\n           4,\n           5,\n           5,\n           5,\n           10,\n           5,\n           12,\n           10,\n           14,\n           4,\n           10,\n           17,\n           5,\n           4,\n           5\n          ],\n          \"target\": [\n           1,\n           3,\n           3,\n           6,\n           7,\n           8,\n           3,\n           3,\n           7,\n           3,\n           9,\n           3,\n           3,\n           11,\n           13,\n           3,\n           3,\n           15,\n           16,\n           6,\n           18,\n           19,\n           20\n          ],\n          \"value\": [\n           99.58731289613593,\n           99.0402000255409,\n           98.2706125110061,\n           91.97209321082666,\n           46.30429960814889,\n           45.09245132106922,\n           44.410240554909564,\n           43.818095052459654,\n           37.652657261343855,\n           32.872476996390674,\n           20.00053770306692,\n           16.99612181662981,\n           16.054469320679388,\n           8.754478058354225,\n           5.226473810499996,\n           4.598705479866381,\n           2.9412357760735577,\n           2.19920554371862,\n           1.9437965869297826,\n           1.2777169127778412,\n           1.2004220969075352,\n           1.1789139742305805,\n           1.1110289620314422\n          ]\n         },\n         \"node\": {\n          \"color\": [\n           \"#87BCEF\",\n           \"#A069AB\",\n           \"#FC9834\",\n           \"#A069AB\",\n           \"#84D7F0\",\n           \"#BF90D2\",\n           \"#A069AB\",\n           \"#A069AB\",\n           \"#A069AB\",\n           \"#A069AB\",\n           \"#C0BB61\",\n           \"#A069AB\",\n           \"#80C87D\",\n           \"#A069AB\",\n           \"#F86D4F\",\n           \"#A069AB\",\n           \"#A069AB\",\n           \"#444\",\n           \"#A069AB\",\n           \"#A069AB\",\n           \"#A069AB\"\n          ],\n          \"label\": [\n           \"Social media\",\n           \"Reddit\",\n           \"Essential\",\n           \"Google\",\n           \"Site analytics\",\n           \"Advertising\",\n           \"Amazon\",\n           \"Quantcast\",\n           \"Comscore\",\n           \"Oracle\",\n           \"Cdn\",\n           \"Openx\",\n           \"Misc\",\n           \"Imgur\",\n           \"Audio video player\",\n           \"Alexa\",\n           \"Wikimedia\",\n           \"Hosting\",\n           \"Appnexus\",\n           \"Millward brown\",\n           \"Aol\"\n          ],\n          \"pad\": 10,\n          \"thickness\": 30\n         },\n         \"orientation\": \"h\",\n         \"type\": \"sankey\"\n        }\n       ],\n       \"layout\": {\n        \"font\": {\n         \"size\": 12\n        },\n        \"title\": \"reddit.com\"\n       }\n      },\n      \"text/html\": [\n       \"<div id=\\\"7c7ca046-babe-485d-875d-d77ee71183ff\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"7c7ca046-babe-485d-875d-d77ee71183ff\\\", [{\\\"type\\\": \\\"sankey\\\", \\\"node\\\": {\\\"pad\\\": 10, \\\"thickness\\\": 30, \\\"label\\\": [\\\"Social media\\\", \\\"Reddit\\\", \\\"Essential\\\", \\\"Google\\\", \\\"Site analytics\\\", \\\"Advertising\\\", \\\"Amazon\\\", \\\"Quantcast\\\", \\\"Comscore\\\", \\\"Oracle\\\", \\\"Cdn\\\", \\\"Openx\\\", \\\"Misc\\\", \\\"Imgur\\\", \\\"Audio video player\\\", \\\"Alexa\\\", \\\"Wikimedia\\\", \\\"Hosting\\\", \\\"Appnexus\\\", \\\"Millward brown\\\", \\\"Aol\\\"], \\\"color\\\": [\\\"#87BCEF\\\", \\\"#A069AB\\\", \\\"#FC9834\\\", \\\"#A069AB\\\", \\\"#84D7F0\\\", \\\"#BF90D2\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#C0BB61\\\", \\\"#A069AB\\\", \\\"#80C87D\\\", \\\"#A069AB\\\", \\\"#F86D4F\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#444\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#A069AB\\\"]}, \\\"link\\\": {\\\"source\\\": [0, 2, 4, 5, 5, 5, 5, 5, 4, 5, 5, 5, 10, 5, 12, 10, 14, 4, 10, 17, 5, 4, 5], \\\"target\\\": [1, 3, 3, 6, 7, 8, 3, 3, 7, 3, 9, 3, 3, 11, 13, 3, 3, 15, 16, 6, 18, 19, 20], \\\"value\\\": [99.58731289613593, 99.0402000255409, 98.2706125110061, 91.97209321082666, 46.30429960814889, 45.09245132106922, 44.410240554909564, 43.818095052459654, 37.652657261343855, 32.872476996390674, 20.00053770306692, 16.99612181662981, 16.054469320679388, 8.754478058354225, 5.226473810499996, 4.598705479866381, 2.9412357760735577, 2.19920554371862, 1.9437965869297826, 1.2777169127778412, 1.2004220969075352, 1.1789139742305805, 1.1110289620314422], \\\"label\\\": [\\\"Reddit\\\", \\\"Google Tag Manager\\\", \\\"Google Analytics\\\", \\\"Amazon Associates\\\", \\\"Quantcast\\\", \\\"ScoreCard Research Beacon\\\", \\\"Google\\\", \\\"DoubleClick\\\", \\\"Quantcount\\\", \\\"Google AdServices\\\", \\\"Moat\\\", \\\"Google Syndication\\\", \\\"Google APIs\\\", \\\"OpenX\\\", \\\"Imgur\\\", \\\"Google CDN\\\", \\\"YouTube\\\", \\\"Alexa Metrics\\\", \\\"WikiMedia\\\", \\\"Amazon Web Services\\\", \\\"AppNexus\\\", \\\"InsightExpress\\\", \\\"Advertising.com\\\"], \\\"color\\\": [\\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\"]}, \\\"domain\\\": {\\\"x\\\": [0, 1], \\\"y\\\": [0, 1]}, \\\"hoverinfo\\\": \\\"none\\\", \\\"orientation\\\": \\\"h\\\"}], {\\\"title\\\": \\\"reddit.com\\\", \\\"font\\\": {\\\"size\\\": 12}}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ],\n      \"text/vnd.plotly.v1+html\": [\n       \"<div id=\\\"7c7ca046-babe-485d-875d-d77ee71183ff\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"7c7ca046-babe-485d-875d-d77ee71183ff\\\", [{\\\"type\\\": \\\"sankey\\\", \\\"node\\\": {\\\"pad\\\": 10, \\\"thickness\\\": 30, \\\"label\\\": [\\\"Social media\\\", \\\"Reddit\\\", \\\"Essential\\\", \\\"Google\\\", \\\"Site analytics\\\", \\\"Advertising\\\", \\\"Amazon\\\", \\\"Quantcast\\\", \\\"Comscore\\\", \\\"Oracle\\\", \\\"Cdn\\\", \\\"Openx\\\", \\\"Misc\\\", \\\"Imgur\\\", \\\"Audio video player\\\", \\\"Alexa\\\", \\\"Wikimedia\\\", \\\"Hosting\\\", \\\"Appnexus\\\", \\\"Millward brown\\\", \\\"Aol\\\"], \\\"color\\\": [\\\"#87BCEF\\\", \\\"#A069AB\\\", \\\"#FC9834\\\", \\\"#A069AB\\\", \\\"#84D7F0\\\", \\\"#BF90D2\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#C0BB61\\\", \\\"#A069AB\\\", \\\"#80C87D\\\", \\\"#A069AB\\\", \\\"#F86D4F\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#444\\\", \\\"#A069AB\\\", \\\"#A069AB\\\", \\\"#A069AB\\\"]}, \\\"link\\\": {\\\"source\\\": [0, 2, 4, 5, 5, 5, 5, 5, 4, 5, 5, 5, 10, 5, 12, 10, 14, 4, 10, 17, 5, 4, 5], \\\"target\\\": [1, 3, 3, 6, 7, 8, 3, 3, 7, 3, 9, 3, 3, 11, 13, 3, 3, 15, 16, 6, 18, 19, 20], \\\"value\\\": [99.58731289613593, 99.0402000255409, 98.2706125110061, 91.97209321082666, 46.30429960814889, 45.09245132106922, 44.410240554909564, 43.818095052459654, 37.652657261343855, 32.872476996390674, 20.00053770306692, 16.99612181662981, 16.054469320679388, 8.754478058354225, 5.226473810499996, 4.598705479866381, 2.9412357760735577, 2.19920554371862, 1.9437965869297826, 1.2777169127778412, 1.2004220969075352, 1.1789139742305805, 1.1110289620314422], \\\"label\\\": [\\\"Reddit\\\", \\\"Google Tag Manager\\\", \\\"Google Analytics\\\", \\\"Amazon Associates\\\", \\\"Quantcast\\\", \\\"ScoreCard Research Beacon\\\", \\\"Google\\\", \\\"DoubleClick\\\", \\\"Quantcount\\\", \\\"Google AdServices\\\", \\\"Moat\\\", \\\"Google Syndication\\\", \\\"Google APIs\\\", \\\"OpenX\\\", \\\"Imgur\\\", \\\"Google CDN\\\", \\\"YouTube\\\", \\\"Alexa Metrics\\\", \\\"WikiMedia\\\", \\\"Amazon Web Services\\\", \\\"AppNexus\\\", \\\"InsightExpress\\\", \\\"Advertising.com\\\"], \\\"color\\\": [\\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\", \\\"#dedede\\\"]}, \\\"domain\\\": {\\\"x\\\": [0, 1], \\\"y\\\": [0, 1]}, \\\"hoverinfo\\\": \\\"none\\\", \\\"orientation\\\": \\\"h\\\"}], {\\\"title\\\": \\\"reddit.com\\\", \\\"font\\\": {\\\"size\\\": 12}}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"input_data = sankey_data(reddit_id, data=DATA)\\n\",\n    \"sankey_diagram(input_data, reddit_id)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Don't forget to check out the article on https://whotracks.me/blog/trackers_in_your_favorite_site.html\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.2\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "contrib/wtm_april_update.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Whotracks.me April Update\\n\",\n    \"\\n\",\n    \"This month we have a big update to the site. We have restructured the data we publish to make it easier to use, increased the number of entries we publish, and we have laid the groundwork for internationalised versions of WhoTracks.Me - that means you can see how tracking differs between different countries.\\n\",\n    \"\\n\",\n    \"Thanks to integration with Ghostery 8 we collected significantly more tracker data this month, covering 360 million page loads. This is spread over countries across the world, with Germany and the USA the most represented.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\\n\",\n       \"* plotly.js v1.37.1\\n\",\n       \"* Copyright 2012-2018, Plotly, Inc.\\n\",\n       \"* All rights reserved.\\n\",\n       \"* Licensed under the MIT license\\n\",\n       \"*/\\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(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\\\"function\\\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(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){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\\\"function\\\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}}()({1:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../src/lib\\\"),i={\\\"X,X div\\\":\\\"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 .modebar\\\":\\\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\\\",\\\"X .modebar--hover\\\":\\\"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\\\":\\\"opacity:1;\\\",\\\"X .modebar-group\\\":\\\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\\\",\\\"X .modebar-group:first-child\\\":\\\"margin-left:0px;\\\",\\\"X .modebar-btn\\\":\\\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\\\",\\\"X .modebar-btn svg\\\":\\\"position:relative;top:2px;\\\",\\\"X .modebar-btn path\\\":\\\"fill:rgba(0,31,95,0.3);\\\",\\\"X .modebar-btn.active path,X .modebar-btn:hover path\\\":\\\"fill:rgba(0,22,72,0.5);\\\",\\\"X .modebar-btn.modebar-btn--logo\\\":\\\"padding:3px 1px;\\\",\\\"X .modebar-btn.modebar-btn--logo path\\\":\\\"fill:#447adb !important;\\\",\\\"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 .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';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 a in i){var o=a.replace(/^,/,\\\" ,\\\").replace(/X/g,\\\".js-plotly-plot .plotly\\\").replace(/Y/g,\\\".plotly-notifier\\\");n.addStyleRule(o,i[a])}},{\\\"../src/lib\\\":602}],2:[function(t,e,r){\\\"use strict\\\";e.exports={undo:{width:857.1,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\\\",ascent:850,descent:-150},home:{width:928.6,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\\\",ascent:850,descent:-150},\\\"camera-retro\\\":{width: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\\\",ascent:850,descent:-150},zoombox:{width: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\\\",ascent:850,descent:-150},pan:{width: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\\\",ascent:850,descent:-150},zoom_plus:{width: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\\\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\\\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\\\",ascent:850,descent:-150},autoscale:{width: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\\\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\\\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\\\",ascent:850,descent:-150},tooltip_compare:{width:1125,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\\\",ascent:850,descent:-150},plotlylogo:{width:1542,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\\\",ascent:850,descent:-150},\\\"z-axis\\\":{width: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\\\",ascent:850,descent:-150},\\\"3d_rotate\\\":{width: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\\\",ascent:850,descent:-150},camera:{width: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\\\",ascent:850,descent:-150},movie:{width: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\\\",ascent:850,descent:-150},question:{width:857.1,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\\\",ascent:850,descent:-150},disk:{width:857.1,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\\\",ascent:850,descent:-150},lasso:{width:1031,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\\\",ascent:850,descent:-150},selectbox:{width: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\\\",ascent:850,descent:-150},spikeline:{width: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\\\",ascent:850,descent:-150}}},{}],3:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/aggregate\\\")},{\\\"../src/transforms/aggregate\\\":1032}],4:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/bar\\\")},{\\\"../src/traces/bar\\\":746}],5:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/box\\\")},{\\\"../src/traces/box\\\":759}],6:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/components/calendars\\\")},{\\\"../src/components/calendars\\\":472}],7:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/candlestick\\\")},{\\\"../src/traces/candlestick\\\":769}],8:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/carpet\\\")},{\\\"../src/traces/carpet\\\":788}],9:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/choropleth\\\")},{\\\"../src/traces/choropleth\\\":802}],10:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contour\\\")},{\\\"../src/traces/contour\\\":820}],11:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contourcarpet\\\")},{\\\"../src/traces/contourcarpet\\\":831}],12:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/core\\\")},{\\\"../src/core\\\":582}],13:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/filter\\\")},{\\\"../src/transforms/filter\\\":1033}],14:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/groupby\\\")},{\\\"../src/transforms/groupby\\\":1034}],15:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmap\\\")},{\\\"../src/traces/heatmap\\\":843}],16:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmapgl\\\")},{\\\"../src/traces/heatmapgl\\\":853}],17:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram\\\")},{\\\"../src/traces/histogram\\\":864}],18:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2d\\\")},{\\\"../src/traces/histogram2d\\\":870}],19:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2dcontour\\\")},{\\\"../src/traces/histogram2dcontour\\\":874}],20:[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(\\\"./pie\\\"),t(\\\"./contour\\\"),t(\\\"./scatterternary\\\"),t(\\\"./violin\\\"),t(\\\"./scatter3d\\\"),t(\\\"./surface\\\"),t(\\\"./mesh3d\\\"),t(\\\"./scattergeo\\\"),t(\\\"./choropleth\\\"),t(\\\"./scattergl\\\"),t(\\\"./splom\\\"),t(\\\"./pointcloud\\\"),t(\\\"./heatmapgl\\\"),t(\\\"./parcoords\\\"),t(\\\"./scattermapbox\\\"),t(\\\"./sankey\\\"),t(\\\"./table\\\"),t(\\\"./carpet\\\"),t(\\\"./scattercarpet\\\"),t(\\\"./contourcarpet\\\"),t(\\\"./ohlc\\\"),t(\\\"./candlestick\\\"),t(\\\"./scatterpolar\\\"),t(\\\"./scatterpolargl\\\")]),n.register([t(\\\"./aggregate\\\"),t(\\\"./filter\\\"),t(\\\"./groupby\\\"),t(\\\"./sort\\\")]),n.register([t(\\\"./calendars\\\")]),e.exports=n},{\\\"./aggregate\\\":3,\\\"./bar\\\":4,\\\"./box\\\":5,\\\"./calendars\\\":6,\\\"./candlestick\\\":7,\\\"./carpet\\\":8,\\\"./choropleth\\\":9,\\\"./contour\\\":10,\\\"./contourcarpet\\\":11,\\\"./core\\\":12,\\\"./filter\\\":13,\\\"./groupby\\\":14,\\\"./heatmap\\\":15,\\\"./heatmapgl\\\":16,\\\"./histogram\\\":17,\\\"./histogram2d\\\":18,\\\"./histogram2dcontour\\\":19,\\\"./mesh3d\\\":21,\\\"./ohlc\\\":22,\\\"./parcoords\\\":23,\\\"./pie\\\":24,\\\"./pointcloud\\\":25,\\\"./sankey\\\":26,\\\"./scatter3d\\\":27,\\\"./scattercarpet\\\":28,\\\"./scattergeo\\\":29,\\\"./scattergl\\\":30,\\\"./scattermapbox\\\":31,\\\"./scatterpolar\\\":32,\\\"./scatterpolargl\\\":33,\\\"./scatterternary\\\":34,\\\"./sort\\\":35,\\\"./splom\\\":36,\\\"./surface\\\":37,\\\"./table\\\":38,\\\"./violin\\\":39}],21:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/mesh3d\\\")},{\\\"../src/traces/mesh3d\\\":880}],22:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/ohlc\\\")},{\\\"../src/traces/ohlc\\\":885}],23:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/parcoords\\\")},{\\\"../src/traces/parcoords\\\":897}],24:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pie\\\")},{\\\"../src/traces/pie\\\":907}],25:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pointcloud\\\")},{\\\"../src/traces/pointcloud\\\":916}],26:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/sankey\\\")},{\\\"../src/traces/sankey\\\":922}],27:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatter3d\\\")},{\\\"../src/traces/scatter3d\\\":956}],28:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattercarpet\\\")},{\\\"../src/traces/scattercarpet\\\":962}],29:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergeo\\\")},{\\\"../src/traces/scattergeo\\\":969}],30:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergl\\\")},{\\\"../src/traces/scattergl\\\":977}],31:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattermapbox\\\")},{\\\"../src/traces/scattermapbox\\\":983}],32:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterpolar\\\")},{\\\"../src/traces/scatterpolar\\\":990}],33:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterpolargl\\\")},{\\\"../src/traces/scatterpolargl\\\":994}],34:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterternary\\\")},{\\\"../src/traces/scatterternary\\\":1e3}],35:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/sort\\\")},{\\\"../src/transforms/sort\\\":1036}],36:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/splom\\\")},{\\\"../src/traces/splom\\\":1005}],37:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/surface\\\")},{\\\"../src/traces/surface\\\":1011}],38:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/table\\\")},{\\\"../src/traces/table\\\":1019}],39:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/violin\\\")},{\\\"../src/traces/violin\\\":1026}],40:[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=i({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],f=0,h=t.clientWidth,p=t.clientHeight,d={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,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=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)}};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){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,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 f},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});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=1/t.clientHeight,s=o*(r-g),l=o*(i-m),u=d.flipX?1:-1,h=d.flipY?1:-1,p=Math.PI*d.rotateSpeed,y=n();if(1&e)a.shift?c.rotate(y,0,0,-s*p):c.rotate(y,u*p*s,-h*p*l,0);else if(2&e)c.pan(y,-d.translateSpeed*s*f,d.translateSpeed*l*f,0);else if(4&e){var x=d.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}g=r,m=i,v=a}return a(t,y),t.addEventListener(\\\"touchstart\\\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(e){s(e.changedTouches[0],t),y(0,g,m,v),e.preventDefault()},!!l&&{passive:!1}),o(t,function(t,e,r){var i=d.flipX?1:-1,a=d.flipY?1:-1,o=n();if(Math.abs(t)>Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),d};var n=t(\\\"right-now\\\"),i=t(\\\"3d-view\\\"),a=t(\\\"mouse-change\\\"),o=t(\\\"mouse-wheel\\\"),s=t(\\\"mouse-event-offset\\\"),l=t(\\\"has-passive-events\\\")},{\\\"3d-view\\\":41,\\\"has-passive-events\\\":297,\\\"mouse-change\\\":320,\\\"mouse-event-offset\\\":321,\\\"mouse-wheel\\\":323,\\\"right-now\\\":382}],41:[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(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t(\\\"turntable-camera-controller\\\"),i=t(\\\"orbit-camera-controller\\\"),a=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 i=\\\"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(i))}),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],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,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\\\":318,\\\"orbit-camera-controller\\\":341,\\\"turntable-camera-controller\\\":420}],42:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n){\\\"use strict\\\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function c(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function u(t){return t.y+t.dy/2}function f(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\\\"number\\\"==typeof r&&(r=t.source=s[t.source]),\\\"number\\\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,f)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var c=1;t>0;--t)p(c*=.99),d(),h(c),d();function h(t){function r(t){return u(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,f);n.y+=(i-u(n))*t}})})}function p(t){function r(t){return u(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,f);n.y+=(i-u(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),c(),t},t.relayout=function(){return c(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return\\\"M\\\"+r+\\\",\\\"+l+\\\"C\\\"+o+\\\",\\\"+l+\\\" \\\"+s+\\\",\\\"+u+\\\" \\\"+i+\\\",\\\"+u+\\\"L\\\"+i+\\\",\\\"+f+\\\"C\\\"+s+\\\",\\\"+f+\\\" \\\"+o+\\\",\\\"+c+\\\" \\\"+r+\\\",\\\"+c+\\\"Z\\\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})},\\\"object\\\"==typeof r&&void 0!==e?i(r,t(\\\"d3-array\\\"),t(\\\"d3-collection\\\"),t(\\\"d3-interpolate\\\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{\\\"d3-array\\\":122,\\\"d3-collection\\\":123,\\\"d3-interpolate\\\":127}],43:[function(t,e,r){\\\"use strict\\\";var n=\\\"undefined\\\"==typeof WeakMap?t(\\\"weak-map\\\"):WeakMap,i=t(\\\"gl-buffer\\\"),a=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=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(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\\\":210,\\\"gl-vao\\\":279,\\\"weak-map\\\":432}],44:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\\\"a\\\":t[6]+=n,t[7]+=i;break;case\\\"v\\\":t[1]+=i;break;case\\\"h\\\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\\\"Z\\\":n=e,i=r;break;case\\\"H\\\":n=t[1];break;case\\\"V\\\":i=t[1];break;case\\\"M\\\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],45:[function(t,e,r){var n=t(\\\"pad-left\\\");e.exports=function(t,e,r){e=\\\"number\\\"==typeof e?e:1,r=r||\\\": \\\";var i=t.split(/\\\\r?\\\\n/),a=String(i.length+e-1).length;return i.map(function(t,i){var o=i+e,s=String(o).length,l=n(o,a-s);return l+r+t}).join(\\\"\\\\n\\\")}},{\\\"pad-left\\\":342}],46:[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]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t(\\\"robust-orientation\\\");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{\\\"robust-orientation\\\":388}],47:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1})};var n=t(\\\"delaunay-triangulate\\\"),i=t(\\\"circumradius\\\")},{circumradius:94,\\\"delaunay-triangulate\\\":132}],48:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(\\\"alpha-complex\\\"),i=t(\\\"simplicial-complex-boundary\\\")},{\\\"alpha-complex\\\":47,\\\"simplicial-complex-boundary\\\":395}],49:[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 i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],50:[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 i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{\\\"array-bounds\\\":49}],51:[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 i=(e|=0)-(t|=0);if(i<0)throw new Error(\\\"array length must be positive\\\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],52:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];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 a=t(\\\"util/\\\"),o=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=\\\"foo\\\"===function(){}.name;function c(t){return Object.prototype.toString.call(t)}function u(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=v,h=/\\\\s*function\\\\s+([^\\\\(\\\\s]*)\\\\s*/;function p(t){if(a.isFunction(t)){if(l)return t.name;var e=t.toString().match(h);return e&&e[1]}}function d(t,e){return\\\"string\\\"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(l||!a.isFunction(t))return a.inspect(t);var e=p(t);return\\\"[Function\\\"+(e?\\\": \\\"+e:\\\"\\\")+\\\"]\\\"}function m(t,e,r,n,i){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function v(t,e){t||m(t,!0,e,\\\"==\\\",f.ok)}function y(t,e,r,o){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(a.isDate(t)&&a.isDate(e))return t.getTime()===e.getTime();if(a.isRegExp(t)&&a.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(u(t)&&u(e)&&c(t)===c(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(o=o||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&&l===o.expected.indexOf(e)||(o.actual.push(t),o.expected.push(e),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(a.isPrimitive(t)||a.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=x(t),o=x(e);if(i&&!o||!i&&o)return!1;if(i)return t=s.call(t),e=s.call(e),y(t,e,r);var l,c,u=w(t),f=w(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return\\\"[object Arguments]\\\"==Object.prototype.toString.call(t)}function b(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 _(t,e,r,n){var i;if(\\\"function\\\"!=typeof e)throw new TypeError('\\\"block\\\" argument must be a function');\\\"string\\\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\\\" (\\\"+r.name+\\\").\\\":\\\".\\\")+(n?\\\" \\\"+n:\\\".\\\"),t&&!i&&m(i,r,\\\"Missing expected exception\\\"+n);var o=\\\"string\\\"==typeof n,s=!t&&a.isError(i),l=!t&&i&&!r;if((s&&o&&b(i,r)||l)&&m(i,r,\\\"Got unwanted exception\\\"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;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=d(g((e=this).actual),128)+\\\" \\\"+e.operator+\\\" \\\"+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf(\\\"\\\\n\\\"+a);if(o>=0){var s=i.indexOf(\\\"\\\\n\\\",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=m,f.ok=v,f.equal=function(t,e,r){t!=e&&m(t,e,r,\\\"==\\\",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,\\\"!=\\\",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||m(t,e,r,\\\"deepEqual\\\",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||m(t,e,r,\\\"deepStrictEqual\\\",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&m(t,e,r,\\\"notDeepEqual\\\",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&m(e,r,n,\\\"notDeepStrictEqual\\\",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,\\\"===\\\",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,\\\"!==\\\",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"util/\\\":429}],53:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],54:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=e.length,a=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];a[o]=s}a[r]=new Array(r+1);for(var o=0;o<=r;++o)a[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);for(var h=new Array(r+1),o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t(\\\"robust-linear-solve\\\");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\\\"robust-linear-solve\\\":387}],55:[function(t,e,r){\\\"use strict\\\";r.byteLength=function(t){return 3*t.length/4-c(t)},r.toByteArray=function(t){var e,r,n,o,s,l=t.length;o=c(t),s=new a(3*l/4-o),r=o>0?l-4:l;var u=0;for(e=0;e<r;e+=4)n=i[t.charCodeAt(e)]<<18|i[t.charCodeAt(e+1)]<<12|i[t.charCodeAt(e+2)]<<6|i[t.charCodeAt(e+3)],s[u++]=n>>16&255,s[u++]=n>>8&255,s[u++]=255&n;2===o?(n=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,s[u++]=255&n):1===o&&(n=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,s[u++]=n>>8&255,s[u++]=255&n);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=\\\"\\\",o=[],s=0,l=r-i;s<l;s+=16383)o.push(u(t,s,s+16383>l?l:s+16383));1===i?(e=t[r-1],a+=n[e>>2],a+=n[e<<4&63],a+=\\\"==\\\"):2===i&&(e=(t[r-2]<<8)+t[r-1],a+=n[e>>10],a+=n[e>>4&63],a+=n[e<<2&63],a+=\\\"=\\\");return o.push(a),o.join(\\\"\\\")};for(var n=[],i=[],a=\\\"undefined\\\"!=typeof Uint8Array?Uint8Array:Array,o=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\\",s=0,l=o.length;s<l;++s)n[s]=o[s],i[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\\\");return\\\"=\\\"===t[e-2]?2:\\\"=\\\"===t[e-1]?1:0}function u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\\\"\\\")}i[\\\"-\\\".charCodeAt(0)]=62,i[\\\"_\\\".charCodeAt(0)]=63},{}],56:[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\\\":66}],57:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],58:[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\\\":66}],59:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is-rat\\\"),i=t(\\\"./lib/is-bn\\\"),a=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=0;var u,f;if(i(e))u=e.clone();else if(\\\"string\\\"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if(\\\"string\\\"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{\\\"./div\\\":58,\\\"./is-rat\\\":60,\\\"./lib/is-bn\\\":64,\\\"./lib/num-to-bn\\\":65,\\\"./lib/rationalize\\\":66,\\\"./lib/str-to-bn\\\":67}],60:[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\\\":64}],61:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"bn.js\\\");e.exports=function(t){return t.cmp(new n(0))}},{\\\"bn.js\\\":75}],62:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./bn-sign\\\");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{\\\"./bn-sign\\\":61}],63:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"double-bits\\\"),i=t(\\\"bit-twiddle\\\").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{\\\"bit-twiddle\\\":73,\\\"double-bits\\\":133}],64:[function(t,e,r){\\\"use strict\\\";t(\\\"bn.js\\\");e.exports=function(t){return t&&\\\"object\\\"==typeof t&&Boolean(t.words)}},{\\\"bn.js\\\":75}],65:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"bn.js\\\"),i=t(\\\"double-bits\\\");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\\\"bn.js\\\":75,\\\"double-bits\\\":133}],66:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./num-to-bn\\\"),i=t(\\\"./bn-sign\\\");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<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\\\":61,\\\"./num-to-bn\\\":65}],67:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"bn.js\\\");e.exports=function(t){return new n(t)}},{\\\"bn.js\\\":75}],68:[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\\\":66}],69:[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\\\":61}],70:[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\\\":66}],71:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/bn-to-num\\\"),i=t(\\\"./lib/ctz\\\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{\\\"./lib/bn-to-num\\\":62,\\\"./lib/ctz\\\":63}],72:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){var o=[\\\"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\\\",i?\\\".get(m)\\\":\\\"[m]\\\"];return a?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(\\\"}\\\"),a?o.push(\\\"return -1};\\\"):o.push(\\\"return i};\\\"),o.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!1,i),n(\\\"B\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!0,i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!1,i),n(\\\"Q\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!0,i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],73:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[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}},{}],74:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"clamp\\\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,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?(f=(h=t).getContext(\\\"2d\\\"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.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),k=Array(s+1),M=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?i:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?i:0===A?0:Math.pow(Math.max(0,A-.5),2)}a(x,r,o,_,w,M,k),a(b,r,o,_,w,M,k);var T=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)T[d]=n(1-((x[d]-b[d])/v+m),0,1);return T};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;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]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:95}],75:[function(t,e,r){!function(e,r){\\\"use strict\\\";function n(t,e){if(!t)throw new Error(e||\\\"Assertion failed\\\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t(\\\"buffer\\\").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-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 i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\\\"object\\\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.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 i=0;\\\"-\\\"===(t=t.toString().replace(/\\\\s+/g,\\\"\\\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\\\"-\\\"===t[0]&&(this.negative=1),this.strip(),\\\"le\\\"===r&&this._initArray(this.toArray(),e,r)},a.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)},a.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 i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\\\"be\\\"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\\\"le\\\"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.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,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.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},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.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],f=[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 h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||\\\"hex\\\"===t){r=\\\"\\\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.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 h=u[t],p=f[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[h-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\\\")},a.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},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\\\"byte array longer than desired length\\\"),n(a>0,\\\"Requested array length <= 0\\\"),this.strip();var o,s,l=\\\"le\\\"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.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},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.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()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.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()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.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()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.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 i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\\\"number\\\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.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 i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.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)},a.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,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&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()},a.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=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],k=8191&w,M=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,C=0|o[6],E=8191&C,L=C>>>13,z=0|o[7],P=8191&z,D=z>>>13,O=0|o[8],I=8191&O,R=O>>>13,B=0|o[9],F=8191&B,N=B>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=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(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),i=(i=Math.imul(v,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(M,V)|0,a=Math.imul(M,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(D,V)|0,a=Math.imul(D,U),n=n+Math.imul(E,H)|0,i=(i=i+Math.imul(E,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(M,J)|0,a=a+Math.imul(M,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(I,V),i=(i=Math.imul(I,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(D,H)|0,a=a+Math.imul(D,G)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var Mt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(D,Y)|0,a=a+Math.imul(D,X)|0,n=n+Math.imul(E,J)|0,i=(i=i+Math.imul(E,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(M,rt)|0,a=a+Math.imul(M,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(D,J)|0,a=a+Math.imul(D,K)|0,n=n+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(M,at)|0,a=a+Math.imul(M,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(D,$)|0,a=a+Math.imul(D,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,a=a+Math.imul(M,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(D,rt)|0,a=a+Math.imul(D,nt)|0,n=n+Math.imul(E,at)|0,i=(i=i+Math.imul(E,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(M,ft)|0,a=a+Math.imul(M,ht)|0;var Ct=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(D,at)|0,a=a+Math.imul(D,ot)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Et=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(M,dt)|0))<<13)|0;c=((a=a+Math.imul(M,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(D,lt)|0,a=a+Math.imul(D,ct)|0,n=n+Math.imul(E,ft)|0,i=(i=i+Math.imul(E,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(D,ft)|0,a=a+Math.imul(D,ht)|0;var zt=(c+(n=n+Math.imul(E,dt)|0)|0)+((8191&(i=(i=i+Math.imul(E,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(D,dt)|0))<<13)|0;c=((a=a+Math.imul(D,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Dt=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(i=(i=i+Math.imul(I,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Ot=(c+(n=Math.imul(F,dt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>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]=kt,l[8]=Mt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Ct,l[13]=Et,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=Dt,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=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(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,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.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,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=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=f*m-h*v;v=f*v+h*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*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},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),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),d(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(\\\"number\\\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.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,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,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!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n(\\\"number\\\"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),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>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.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 i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.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)},a.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},a.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()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\\\"mod\\\"!==e){(s=new a(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(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\\\"div\\\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\\\"mod\\\"!==e&&(i=s.div.neg()),\\\"div\\\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\\\"mod\\\"!==e&&(i=s.div.neg()),{div:i,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 a(0),mod:this}:1===t.length?\\\"div\\\"===e?{div:this.divn(t.words[0]),mod:null}:\\\"mod\\\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\\\"div\\\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\\\"mod\\\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\\\"mod\\\",!0).mod},a.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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.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 i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.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(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.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 i,o=new a(1),s=new a(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 f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >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(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\\\"number\\\"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.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 i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.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},a.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],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.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)},a.prototype.fromRed=function(){return n(this.red,\\\"fromRed works only with numbers in reduction context\\\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\\\"Already a number in reduction context\\\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\\\"redAdd works only with red numbers\\\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\\\"redIAdd works only with red numbers\\\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\\\"redSub works only with red numbers\\\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\\\"redISub works only with red numbers\\\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\\\"redShl works only with red numbers\\\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\\\"redSqr works only with red numbers\\\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\\\"redISqr works only with red numbers\\\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\\\"redSqrt works only with red numbers\\\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\\\"redInvm works only with red numbers\\\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\\\"redNeg works only with red numbers\\\"),this.red._verify1(this),this.red.neg(this)},a.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 a(e,16),this.n=this.p.bitLength(),this.k=new a(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=a._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 k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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 a(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)},i(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 i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&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},i(x,v),i(b,v),i(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._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 a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),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(f,new a(1).iushln(d-m-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=m}return h},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 a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=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 f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},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},a.mont=function(t){return new k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{buffer:84}],76:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],77:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(i=t,i,u,!0),n;case 2:return\\\"function\\\"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\\\"box-intersect: Invalid arguments\\\")}var i};var n,i=t(\\\"typedarray-pool\\\"),a=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 i=0,a=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[i++]=c[u];n[a++]=o}}return a}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 f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}},{\\\"./lib/intersect\\\":79,\\\"./lib/sweep\\\":83,\\\"typedarray-pool\\\":423}],78:[function(t,e,r){\\\"use strict\\\";var n=\\\"d\\\",i=\\\"ax\\\",a=\\\"vv\\\",o=\\\"fp\\\",s=\\\"es\\\",l=\\\"rs\\\",c=\\\"re\\\",u=\\\"rb\\\",f=\\\"ri\\\",h=\\\"rp\\\",p=\\\"bs\\\",d=\\\"be\\\",g=\\\"bb\\\",m=\\\"bi\\\",v=\\\"bp\\\",y=\\\"rv\\\",x=\\\"Q\\\",b=[n,i,a,l,c,u,f,p,d,g,m];function _(t){var e=\\\"bruteForce\\\"+(t?\\\"Full\\\":\\\"Partial\\\"),r=[],_=b.slice();t||_.splice(3,0,o);var w=[\\\"function \\\"+e+\\\"(\\\"+_.join()+\\\"){\\\"];function k(e,o){var _=function(t,e,r){var o=\\\"bruteForce\\\"+(t?\\\"Red\\\":\\\"Blue\\\")+(e?\\\"Flip\\\":\\\"\\\")+(r?\\\"Full\\\":\\\"\\\"),_=[\\\"function \\\",o,\\\"(\\\",b.join(),\\\"){\\\",\\\"var \\\",s,\\\"=2*\\\",n,\\\";\\\"],w=\\\"for(var i=\\\"+l+\\\",\\\"+h+\\\"=\\\"+s+\\\"*\\\"+l+\\\";i<\\\"+c+\\\";++i,\\\"+h+\\\"+=\\\"+s+\\\"){var x0=\\\"+u+\\\"[\\\"+i+\\\"+\\\"+h+\\\"],x1=\\\"+u+\\\"[\\\"+i+\\\"+\\\"+h+\\\"+\\\"+n+\\\"],xi=\\\"+f+\\\"[i];\\\",k=\\\"for(var j=\\\"+p+\\\",\\\"+v+\\\"=\\\"+s+\\\"*\\\"+p+\\\";j<\\\"+d+\\\";++j,\\\"+v+\\\"+=\\\"+s+\\\"){var y0=\\\"+g+\\\"[\\\"+i+\\\"+\\\"+v+\\\"],\\\"+(r?\\\"y1=\\\"+g+\\\"[\\\"+i+\\\"+\\\"+v+\\\"+\\\"+n+\\\"],\\\":\\\"\\\")+\\\"yi=\\\"+m+\\\"[j];\\\";return t?_.push(w,x,\\\":\\\",k):_.push(k,x,\\\":\\\",w),r?_.push(\\\"if(y1<x0||x1<y0)continue;\\\"):e?_.push(\\\"if(y0<=x0||x1<y0)continue;\\\"):_.push(\\\"if(y0<x0||x1<y0)continue;\\\"),_.push(\\\"for(var k=\\\"+i+\\\"+1;k<\\\"+n+\\\";++k){var r0=\\\"+u+\\\"[k+\\\"+h+\\\"],r1=\\\"+u+\\\"[k+\\\"+n+\\\"+\\\"+h+\\\"],b0=\\\"+g+\\\"[k+\\\"+v+\\\"],b1=\\\"+g+\\\"[k+\\\"+n+\\\"+\\\"+v+\\\"];if(r1<b0||b1<r0)continue \\\"+x+\\\";}var \\\"+y+\\\"=\\\"+a+\\\"(\\\"),e?_.push(\\\"yi,xi\\\"):_.push(\\\"xi,yi\\\"),_.push(\\\");if(\\\"+y+\\\"!==void 0)return \\\"+y+\\\";}}}\\\"),{name:o,code:_.join(\\\"\\\")}}(e,o,t);r.push(_.code),w.push(\\\"return \\\"+_.name+\\\"(\\\"+b.join()+\\\");\\\")}w.push(\\\"if(\\\"+c+\\\"-\\\"+l+\\\">\\\"+d+\\\"-\\\"+p+\\\"){\\\"),t?(k(!0,!1),w.push(\\\"}else{\\\"),k(!1,!1)):(w.push(\\\"if(\\\"+o+\\\"){\\\"),k(!0,!0),w.push(\\\"}else{\\\"),k(!0,!1),w.push(\\\"}}else{if(\\\"+o+\\\"){\\\"),k(!1,!0),w.push(\\\"}else{\\\"),k(!1,!1),w.push(\\\"}\\\")),w.push(\\\"}}return \\\"+e);var M=r.join(\\\"\\\")+w.join(\\\"\\\");return new Function(M)()}r.partial=_(!1),r.full=_(!0)},{}],79:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,a,u,S,C,E,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length<a&&(n.free(w),w=n.mallocInt32(a));var o=i.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,a+C);var z,P=0,D=2*t;M(P++,0,0,a,0,C,r?16:0,-1/0,1/0),r||M(P++,0,0,C,0,a,1,-1/0,1/0);for(;P>0;){var O=(P-=1)*b,I=w[O],R=w[O+1],B=w[O+2],F=w[O+3],N=w[O+4],j=w[O+5],V=P*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=E,Z=L;if(H&&(W=E,Y=L,X=u,Z=S),!(2&j&&(B=m(t,I,R,B,W,Y,q),R>=B)||4&j&&(R=v(t,I,R,B,W,Y,U))>=B)){var J=B-R,K=N-F;if(G){if(t*J*(J+K)<p){if(void 0!==(z=l.scanComplete(t,I,e,R,B,W,Y,F,N,X,Z)))return z;continue}}else{if(t*Math.min(J,K)<f){if(void 0!==(z=o(t,I,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}if(t*J*K<h){if(void 0!==(z=l.scanBipartite(t,I,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}}var Q=d(t,I,R,B,W,Y,U,q);if(R<Q)if(t*(Q-R)<f){if(void 0!==(z=s(t,I+1,e,R,Q,W,Y,F,N,X,Z)))return z}else if(I===t-2){if(void 0!==(z=H?l.sweepBipartite(t,e,F,N,X,Z,R,Q,W,Y):l.sweepBipartite(t,e,R,Q,W,Y,F,N,X,Z)))return z}else M(P++,I+1,R,Q,F,N,H,-1/0,1/0),M(P++,I+1,F,N,R,Q,1^H,-1/0,1/0);if(Q<B){var $=c(t,I,F,N,X,Z),tt=X[D*$+I],et=g(t,I,$,N,X,Z,tt);if(et<N&&M(P++,I,Q,B,et,N,(4|H)+(G?16:0),tt,q),F<$&&M(P++,I,Q,B,F,$,(2|H)+(G?16:0),U,tt),$+1===et){if(void 0!==(z=G?T(t,I,e,Q,B,W,Y,$,X,Z[$]):A(t,I,e,H,Q,B,W,Y,$,X,Z[$])))return z}else if($<et){var rt;if(G){if(rt=y(t,I,Q,B,W,Y,tt),Q<rt){var nt=g(t,I,Q,rt,W,Y,tt);if(I===t-2){if(Q<nt&&void 0!==(z=l.sweepComplete(t,e,Q,nt,W,Y,$,et,X,Z)))return z;if(nt<rt&&void 0!==(z=l.sweepBipartite(t,e,nt,rt,W,Y,$,et,X,Z)))return z}else Q<nt&&M(P++,I+1,Q,nt,$,et,16,-1/0,1/0),nt<rt&&(M(P++,I+1,nt,rt,$,et,0,-1/0,1/0),M(P++,I+1,$,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,I,Q,B,W,Y,tt):y(t,I,Q,B,W,Y,tt),Q<rt&&(I===t-2?z=H?l.sweepBipartite(t,e,$,et,X,Z,Q,rt,W,Y):l.sweepBipartite(t,e,Q,rt,W,Y,$,et,X,Z):(M(P++,I+1,Q,rt,$,et,H,-1/0,1/0),M(P++,I+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var n=t(\\\"typedarray-pool\\\"),i=t(\\\"bit-twiddle\\\"),a=t(\\\"./brute\\\"),o=a.partial,s=a.full,l=t(\\\"./sweep\\\"),c=t(\\\"./median\\\"),u=t(\\\"./partition\\\"),f=128,h=1<<22,p=1<<22,d=u(\\\"!(lo>=p0)&&!(p1>=hi)\\\",[\\\"p0\\\",\\\"p1\\\"]),g=u(\\\"lo===p0\\\",[\\\"p0\\\"]),m=u(\\\"lo<p0\\\",[\\\"p0\\\"]),v=u(\\\"hi<=p0\\\",[\\\"p0\\\"]),y=u(\\\"lo<=p0&&p0<=hi\\\",[\\\"p0\\\"]),x=u(\\\"lo<p0&&p0<=hi\\\",[\\\"p0\\\"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function M(t,e,r,n,i,a,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=i,w[c+4]=a,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,g=i*f;d<a;++d,g+=f){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[h+b],w=c[h+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function T(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var g=o[p];if(g!==c){var m=a[d+e],v=a[d+e+t];if(!(h<m||v<h)){for(var y=e+1;y<t;++y){m=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{\\\"./brute\\\":78,\\\"./median\\\":80,\\\"./partition\\\":81,\\\"./sweep\\\":83,\\\"bit-twiddle\\\":73,\\\"typedarray-pool\\\":423}],80:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,f=o+r>>>1,h=2*t,p=f,d=s[h*f+e];for(;c<u;){if(u-c<i){a(t,e,c,u,s,l),d=s[h*f+e];break}var g=u-c,m=Math.random()*g+c|0,v=s[h*m+e],y=Math.random()*g+c|0,x=s[h*y+e],b=Math.random()*g+c|0,_=s[h*b+e];v<=x?_>=x?(p=y,d=x):v>=_?(p=m,d=v):(p=b,d=_):x>=_?(p=y,d=x):_>=v?(p=m,d=v):(p=b,d=_);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];l[u-1]=l[p],l[p]=T,p=n(t,e,c,u-1,s,l,d);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];if(l[u-1]=l[p],l[p]=T,f<p){for(u=p-1;c<u&&s[h*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<f))break;for(c=p+1;c<u&&s[h*c+e]===d;)c+=1}}return n(t,e,r,f,s,l,s[h*f+e])};var n=t(\\\"./partition\\\")(\\\"lo<p0\\\",[\\\"p0\\\"]),i=8;function a(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var g=i[h];i[h]=i[p],i[p]=g}var m=a[u];a[u]=a[u-1],a[u-1]=m}}},{\\\"./partition\\\":81}],81:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=\\\"abcdef\\\".split(\\\"\\\").concat(e),i=[];t.indexOf(\\\"lo\\\")>=0&&i.push(\\\"lo=e[k+n]\\\");t.indexOf(\\\"hi\\\")>=0&&i.push(\\\"hi=e[k+o]\\\");return r.push(n.replace(\\\"_\\\",i.join()).replace(\\\"$\\\",t)),Function.apply(void 0,r)};var n=\\\"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\\\"},{}],82:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,m=g-h,v=g+h,y=p,x=m,b=g,_=v,w=d,k=e+1,M=r-1,A=0;c(y,x,f)&&(A=y,y=x,x=A);c(_,w,f)&&(A=_,_=w,w=A);c(y,b,f)&&(A=y,y=b,b=A);c(x,b,f)&&(A=x,x=b,b=A);c(y,_,f)&&(A=y,y=_,_=A);c(b,_,f)&&(A=b,b=_,_=A);c(x,w,f)&&(A=x,x=w,w=A);c(x,b,f)&&(A=x,x=b,b=A);c(_,w,f)&&(A=_,_=w,w=A);var T=f[2*x];var S=f[2*x+1];var C=f[2*_];var E=f[2*_+1];var L=2*y;var z=2*b;var P=2*w;var D=2*p;var O=2*g;var I=2*d;for(var R=0;R<2;++R){var B=f[L+R],F=f[z+R],N=f[P+R];f[D+R]=B,f[O+R]=F,f[I+R]=N}o(m,e,f);o(v,r,f);for(var j=k;j<=M;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,C,E,f))for(;;){if(u(M,C,E,f)){u(M,T,S,f)?(s(j,k,M,f),++k,--M):(a(j,M,f),--M);break}if(--M<j)break}l(e,k-1,T,S,f);l(r,M+1,C,E,f);k-2-e<=n?i(e,k-2,f):t(e,k-2,f);r-(M+2)<=n?i(M+2,r,f):t(M+2,r,f);M-k<=n?i(k,M,f):t(k,M,f)}(0,e-1,t)};var n=32;function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=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]=i,n[r+1]=a}function l(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function u(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],83:[function(t,e,r){\\\"use strict\\\";e.exports={init:function(t){var e=i.nextPow2(t);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));f.length<e&&(n.free(f),f=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,f,h,m,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var M=f[k],A=b*k;p[x++]=i[A+_],p[x++]=-(M+1),p[x++]=i[A+w],p[x++]=M}for(var k=h;k<m;++k){var M=y[k]+o,T=b*k;p[x++]=v[T+_],p[x++]=-M,p[x++]=v[T+w],p[x++]=M}var S=x>>>1;a(p,S);for(var C=0,E=0,k=0;k<S;++k){var L=0|p[2*k+1];if(L>=o)d(c,u,E--,L=L-o|0);else if(L>=0)d(s,l,C--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z<C;++z){var P=e(s[z],L);if(void 0!==P)return P}g(c,u,E++,L)}else{L=-L-1|0;for(var z=0;z<E;++z){var P=e(L,c[z]);if(void 0!==P)return P}g(s,l,C++,L)}}},sweepComplete:function(t,e,r,n,i,o,m,v,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,M=r;M<n;++M){var A=o[M]+1<<1,T=_*M;p[b++]=i[T+w],p[b++]=-A,p[b++]=i[T+k],p[b++]=A}for(var M=m;M<v;++M){var A=x[M]+1<<1,S=_*M;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var C=b>>>1;a(p,C);for(var E=0,L=0,z=0,M=0;M<C;++M){var P=0|p[2*M+1],D=1&P;if(M<C-1&&P>>1==p[2*M+3]>>1&&(D=2,M+=1),P<0){for(var O=-(P>>1)-1,I=0;I<z;++I){var R=e(f[I],O);if(void 0!==R)return R}if(0!==D)for(var I=0;I<E;++I){var R=e(s[I],O);if(void 0!==R)return R}if(1!==D)for(var I=0;I<L;++I){var R=e(c[I],O);if(void 0!==R)return R}0===D?g(s,l,E++,O):1===D?g(c,u,L++,O):2===D&&g(f,h,z++,O)}else{var O=(P>>1)-1;0===D?d(s,l,E--,O):1===D?d(c,u,L--,O):2===D&&d(f,h,z--,O)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,m,v,y){var x=0,b=2*t,_=e,w=e+t,k=1,M=1;n?M=o:k=o;for(var A=i;A<c;++A){var T=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-T,p[x++]=u[S+w],p[x++]=T}for(var A=h;A<m;++A){var T=A+M,C=b*A;p[x++]=v[C+_],p[x++]=-T}var E=x>>>1;a(p,E);for(var L=0,A=0;A<E;++A){var z=0|p[2*A+1];if(z<0){var T=-z,P=!1;if(T>=o?(P=!n,T-=o):(P=!!n,T-=1),P)g(s,l,L++,T);else{var D=y[T],O=b*T,I=v[O+e+1],R=v[O+e+1+t];t:for(var B=0;B<L;++B){var F=s[B],N=b*F;if(!(R<u[N+e+1]||u[N+e+1+t]<I)){for(var j=e+2;j<t;++j)if(v[O+j+t]<u[N+j]||u[N+j+t]<v[O+j])continue t;var V,U=f[F];if(void 0!==(V=n?r(D,U):r(U,D)))return V}}}}else d(s,l,L--,z-k)}},scanComplete:function(t,e,r,n,i,l,c,u,f,h,d){for(var g=0,m=2*t,v=e,y=e+t,x=n;x<i;++x){var b=x+o,_=m*x;p[g++]=l[_+v],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<f;++x){var b=x+1,w=m*x;p[g++]=h[w+v],p[g++]=-b}var k=g>>>1;a(p,k);for(var M=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[M++]=b-o;else{var T=d[b-=1],S=m*b,C=h[S+e+1],E=h[S+e+1+t];t:for(var L=0;L<M;++L){var z=s[L],P=c[z];if(P===T)break;var D=m*z;if(!(E<l[D+e+1]||l[D+e+1+t]<C)){for(var O=e+2;O<t;++O)if(h[S+O+t]<l[D+O]||l[D+O+t]<h[S+O])continue t;var I=r(P,T);if(void 0!==I)return I}}}}else{for(var b=A-o,L=M-1;L>=0;--L)if(s[L]===b){for(var O=L+1;O<M;++O)s[O-1]=s[O];break}--M}}}};var n=t(\\\"typedarray-pool\\\"),i=t(\\\"bit-twiddle\\\"),a=t(\\\"./sort\\\"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function g(t,e,r,n){t[r]=n,e[n]=r}},{\\\"./sort\\\":82,\\\"bit-twiddle\\\":73,\\\"typedarray-pool\\\":423}],84:[function(t,e,r){},{}],85:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"base64-js\\\"),i=t(\\\"ieee754\\\");r.Buffer=s,r.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},r.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError(\\\"Invalid typed array length\\\");var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if(\\\"number\\\"==typeof t){if(\\\"string\\\"==typeof e)throw new Error(\\\"If encoding is specified then the first argument must be a string\\\");return u(t)}return l(t,e,r)}function l(t,e,r){if(\\\"number\\\"==typeof t)throw new TypeError('\\\"value\\\" argument must not be a number');return j(t)||t&&j(t.buffer)?function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\\\"offset\\\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\\\"length\\\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=s.prototype,n}(t,e,r):\\\"string\\\"==typeof t?function(t,e){\\\"string\\\"==typeof e&&\\\"\\\"!==e||(e=\\\"utf8\\\");if(!s.isEncoding(e))throw new TypeError(\\\"Unknown encoding: \\\"+e);var r=0|p(t,e),n=o(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e):function(t){if(s.isBuffer(t)){var e=0|h(t.length),r=o(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(ArrayBuffer.isView(t)||\\\"length\\\"in t)return\\\"number\\\"!=typeof t.length||V(t.length)?o(0):f(t);if(\\\"Buffer\\\"===t.type&&Array.isArray(t.data))return f(t.data)}throw new TypeError(\\\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\\\")}(t)}function c(t){if(\\\"number\\\"!=typeof t)throw new TypeError('\\\"size\\\" argument must be of type number');if(t<0)throw new RangeError('\\\"size\\\" argument must not be negative')}function u(t){return c(t),o(t<0?0:0|h(t))}function f(t){for(var e=t.length<0?0:0|h(t.length),r=o(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function h(t){if(t>=a)throw new RangeError(\\\"Attempt to allocate Buffer larger than maximum size: 0x\\\"+a.toString(16)+\\\" bytes\\\");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t))return t.byteLength;\\\"string\\\"!=typeof t&&(t=\\\"\\\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\\\"ascii\\\":case\\\"latin1\\\":case\\\"binary\\\":return r;case\\\"utf8\\\":case\\\"utf-8\\\":case void 0:return B(t).length;case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return 2*r;case\\\"hex\\\":return r>>>1;case\\\"base64\\\":return F(t).length;default:if(n)return B(t).length;e=(\\\"\\\"+e).toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if(\\\"string\\\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\\\"string\\\"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\\\"number\\\"==typeof e)return e&=255,\\\"function\\\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\\\"val must be string, number or Buffer\\\")}function m(t,e,r,n,i){var a,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(i){var u=-1;for(a=r;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function v(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(B(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(F(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r=\\\"\\\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=a,s.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}}(),s.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(s.prototype,\\\"parent\\\",{get:function(){if(this instanceof s)return this.buffer}}),Object.defineProperty(s.prototype,\\\"offset\\\",{get:function(){if(this instanceof s)return this.byteOffset}}),\\\"undefined\\\"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),s.poolSize=8192,s.from=function(t,e,r){return l(t,e,r)},s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,s.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?o(t):void 0!==e?\\\"string\\\"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer},s.compare=function(t,e){if(!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError(\\\"Arguments must be Buffers\\\");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},s.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}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(ArrayBuffer.isView(a)&&(a=s.from(a)),!s.isBuffer(a))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},s.byteLength=p,s.prototype._isBuffer=!0,s.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)d(this,e,e+1);return this},s.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)d(this,e,e+3),d(this,e+1,e+2);return this},s.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)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},s.prototype.toString=function(){var t=this.length;return 0===t?\\\"\\\":0===arguments.length?M(this,0,t):function(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 C(this,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return M(this,e,r);case\\\"ascii\\\":return T(this,e,r);case\\\"latin1\\\":case\\\"binary\\\":return S(this,e,r);case\\\"base64\\\":return k(this,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return E(this,e,r);default:if(n)throw new TypeError(\\\"Unknown encoding: \\\"+t);t=(t+\\\"\\\").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t=\\\"\\\",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\\\"hex\\\",0,e).match(/.{2}/g).join(\\\" \\\"),this.length>e&&(t+=\\\" ... \\\")),\\\"<Buffer \\\"+t+\\\">\\\"},s.prototype.compare=function(t,e,r,n,i){if(!s.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\\\"out of range index\\\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,o=r-e,l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){a=c[f],o=u[f];break}return a<o?-1:o<a?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.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 i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\\\"Attempt to write outside buffer bounds\\\");n||(n=\\\"utf8\\\");for(var a=!1;;)switch(n){case\\\"hex\\\":return v(this,t,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return y(this,t,e,r);case\\\"ascii\\\":return x(this,t,e,r);case\\\"latin1\\\":case\\\"binary\\\":return b(this,t,e,r);case\\\"base64\\\":return _(this,t,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return w(this,t,e,r);default:if(a)throw new TypeError(\\\"Unknown encoding: \\\"+n);n=(\\\"\\\"+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:\\\"Buffer\\\",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function S(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function C(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\\\"\\\",a=e;a<r;++a)i+=R(t[a]);return i}function E(t,e,r){for(var n=t.slice(e,r),i=\\\"\\\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function L(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 z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('\\\"buffer\\\" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('\\\"value\\\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\")}function P(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\");if(r<0)throw new RangeError(\\\"Index out of range\\\")}function D(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function O(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=s.prototype,n},s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},s.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeFloatLE=function(t,e,r){return D(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return D(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return O(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return O(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError(\\\"argument should be a Buffer\\\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\\\"targetStart out of bounds\\\");if(r<0||r>=this.length)throw new RangeError(\\\"Index out of range\\\");if(n<0)throw new RangeError(\\\"sourceEnd out of bounds\\\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\\\"function\\\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.prototype.fill=function(t,e,r,n){if(\\\"string\\\"==typeof t){if(\\\"string\\\"==typeof e?(n=e,e=0,r=this.length):\\\"string\\\"==typeof r&&(n=r,r=this.length),void 0!==n&&\\\"string\\\"!=typeof n)throw new TypeError(\\\"encoding must be a string\\\");if(\\\"string\\\"==typeof n&&!s.isEncoding(n))throw new TypeError(\\\"Unknown encoding: \\\"+n);if(1===t.length){var i=t.charCodeAt(0);(\\\"utf8\\\"===n&&i<128||\\\"latin1\\\"===n)&&(t=i)}}else\\\"number\\\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\\\"Out of range index\\\");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\\\"number\\\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=s.isBuffer(t)?t:new s(t,n),l=o.length;if(0===l)throw new TypeError('The value \\\"'+t+'\\\" is invalid for argument \\\"value\\\"');for(a=0;a<r-e;++a)this[a+e]=o[a%l]}return this};var I=/[^+/0-9A-Za-z-_]/g;function R(t){return t<16?\\\"0\\\"+t.toString(16):t.toString(16)}function B(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.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;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function F(t){return n.toByteArray(function(t){if((t=(t=t.split(\\\"=\\\")[0]).trim().replace(I,\\\"\\\")).length<2)return\\\"\\\";for(;t.length%4!=0;)t+=\\\"=\\\";return t}(t))}function N(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&\\\"ArrayBuffer\\\"===t.constructor.name&&\\\"number\\\"==typeof t.byteLength}function V(t){return t!=t}},{\\\"base64-js\\\":55,ieee754:298}],86:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/monotone\\\"),i=t(\\\"./lib/triangulation\\\"),a=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),f=!!c(r,\\\"interior\\\",!0),h=!!c(r,\\\"exterior\\\",!0),p=!!c(r,\\\"infinity\\\",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(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&&a(t,g),h?f?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{\\\"./lib/delaunay\\\":87,\\\"./lib/filter\\\":88,\\\"./lib/monotone\\\":89,\\\"./lib/triangulation\\\":90}],87:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-in-sphere\\\")[4];t(\\\"binary-search-bounds\\\");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var f=l[c-1],h=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){h=l[p];break}h<0||n(t[s],t[u],t[f],t[h])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],m=l[d];g===u?h=m:m===u&&(f=g)}f<0||h<0||(n(t[s],t[u],t[f],t[h])>=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{\\\"binary-search-bounds\\\":91,\\\"robust-in-sphere\\\":386}],88:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"binary-search-bounds\\\");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,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,i=0;i<n;++i){var s=r[i],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var f=new Array(n),i=0;i<f.length;++i)f[i]=0;var h=[],p=[],d=new Array(3*n),g=new Array(3*n),m=null;e&&(m=[]);for(var v=new a(r,d,g,f,h,p,m),i=0;i<n;++i)for(var s=r[i],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*i+y]=v.locate(c,l,t.opposite(c,l)),b=g[3*i+y]=t.isConstraint(l,c);x<0&&(b?p.push(i):(h.push(i),f[i]=1),e&&m.push([c,l,-1]))}return v}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{\\\"binary-search-bounds\\\":91}],89:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"robust-orientation\\\")[3],a=0,o=1,s=2;function l(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==a&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function f(t,e){return i(t.a,t.b,e)}function h(t,e,r,a,o){for(var s=n.lt(e,a,f),l=n.gt(e,a,f),c=s;c<l;++c){for(var u=e[c],h=u.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var i=n.le(t,r,p),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,p),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],f=0;f<r;++f)i.push(new c(t[f],null,a,f));for(var f=0;f<n;++f){var p=e[f],m=t[p[0]],v=t[p[1]];m[0]<v[0]?i.push(new c(m,v,s,f),new c(v,m,o,f)):m[0]>v[0]&&i.push(new c(v,m,s,f),new c(m,v,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{\\\"binary-search-bounds\\\":91,\\\"robust-orientation\\\":388}],90:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\");function i(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 i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.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)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\\\"binary-search-bounds\\\":91}],91:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],92:[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}},{}],93:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"dup\\\"),i=t(\\\"robust-linear-solve\\\");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];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*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:136,\\\"robust-linear-solve\\\":387}],94:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(\\\"circumcenter\\\")},{circumcenter:93}],95:[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}},{}],96:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}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(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t(\\\"union-find\\\"),i=t(\\\"box-intersect\\\"),a=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\\\"),f=t(\\\"./lib/rat-seg-intersect\\\");function h(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 a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(a);for(l=0;l<a;++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<a;++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<a;++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 i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}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 i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,function(r,i){var o=e[r],s=e[i];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]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}}),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return i(r,n,function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,i){var a,u,h=t.map(function(t){return[o(t[0]),o(t[1])]});for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],g=e[u],m=e[d],v=f(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])]),h.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=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),a=n.length-1;a>=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var M=b;b=_,_=M}x[0]=b;var A,T=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,C=(S=n[--a])[1];i?e.push([T,C,A]):e.push([T,C]),T=C}i?e.push([T,_,A]):e.push([T,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{\\\"./lib/rat-seg-intersect\\\":97,\\\"big-rat\\\":59,\\\"big-rat/cmp\\\":57,\\\"big-rat/to-float\\\":71,\\\"box-intersect\\\":77,nextafter:336,\\\"rat-vec\\\":370,\\\"robust-segment-intersect\\\":391,\\\"union-find\\\":424}],97:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t(\\\"big-rat/mul\\\"),i=t(\\\"big-rat/div\\\"),a=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 a(n(t[0],e[1]),n(t[1],e[0]))}},{\\\"big-rat/div\\\":58,\\\"big-rat/mul\\\":68,\\\"big-rat/sign\\\":69,\\\"big-rat/sub\\\":70,\\\"rat-vec/add\\\":369,\\\"rat-vec/muls\\\":371,\\\"rat-vec/sub\\\":372}],98:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"clamp\\\");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:95}],99:[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]}},{}],100:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-rgba\\\"),i=t(\\\"clamp\\\"),a=t(\\\"dtype\\\");e.exports=function(t,e){\\\"float\\\"!==e&&e||(e=\\\"array\\\"),\\\"uint\\\"===e&&(e=\\\"uint8\\\"),\\\"uint_clamped\\\"===e&&(e=\\\"uint8_clamped\\\");var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s=\\\"uint8\\\"!==e&&\\\"uint8_clamped\\\"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&&\\\"string\\\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:95,\\\"color-rgba\\\":102,dtype:135}],101:[function(t,e,r){(function(r){\\\"use strict\\\";var n=t(\\\"color-name\\\"),i=t(\\\"is-plain-obj\\\"),a=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=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[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 p=e[1],u=p.replace(/a$/,\\\"\\\");s=u;var f=\\\"cmyk\\\"===u?4:\\\"gray\\\"===u?1:3;l=e[2].trim().split(/\\\\s*,\\\\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:\\\"rgb\\\"===u?255*parseFloat(t)/100:parseFloat(t);if(\\\"h\\\"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}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(\\\"number\\\"==typeof t)s=\\\"rgb\\\",l=[t>>>16,(65280&t)>>>8,255&t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=\\\"rgb\\\",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=\\\"hsl\\\",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(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);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\\\":99,defined:131,\\\"is-plain-obj\\\":308}],102:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-parse\\\"),i=t(\\\"color-space/hsl\\\"),a=t(\\\"clamp\\\");e.exports=function(t){var e;if(\\\"string\\\"!=typeof t)throw Error(\\\"Argument should be a string\\\");var r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\\\"h\\\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:95,\\\"color-parse\\\":101,\\\"color-space/hsl\\\":103}],103:[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,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/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\\\":104}],104:[function(t,e,r){\\\"use strict\\\";e.exports={name:\\\"rgb\\\",min:[0,0,0],max:[255,255,255],channel:[\\\"red\\\",\\\"green\\\",\\\"blue\\\"],alias:[\\\"RGB\\\"]}},{}],105:[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]}]}},{}],106:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./colorScale\\\"),i=t(\\\"lerp\\\");function a(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,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||\\\"hex\\\",(f=t.colormap)||(f=\\\"jet\\\");if(\\\"string\\\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\\\" not a supported colorscale\\\");u=n[f]}else{if(!Array.isArray(f))throw Error(\\\"unsupported colormap option\\\",f);u=f.slice()}if(u.length>p)throw new Error(f+\\\" 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:(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(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),\\\"hex\\\"===h?v=v.map(o):\\\"rgbaString\\\"===h?v=v.map(s):\\\"float\\\"===h&&(v=v.map(a));return v}},{\\\"./colorScale\\\":105,lerp:310}],107:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1:l(t,e,r)?1:-1};var n=t(\\\"robust-orientation\\\"),i=t(\\\"signum\\\"),a=t(\\\"two-sum\\\"),o=t(\\\"robust-product\\\"),s=t(\\\"robust-sum\\\");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{\\\"robust-orientation\\\":388,\\\"robust-product\\\":389,\\\"robust-sum\\\":393,signum:394,\\\"two-sum\\\":422}],108:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;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(a=o+t[2]-(s+e[2]))return a;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],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],109:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"compare-cell\\\"),i=t(\\\"cell-orientation\\\");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{\\\"cell-orientation\\\":92,\\\"compare-cell\\\":108}],110:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/ch1d\\\"),i=t(\\\"./lib/ch2d\\\"),a=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 i(t);return a(t,r)}},{\\\"./lib/ch1d\\\":111,\\\"./lib/ch2d\\\":112,\\\"./lib/chnd\\\":113}],111:[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]]}},{}],112:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(\\\"monotone-convex-hull-2d\\\")},{\\\"monotone-convex-hull-2d\\\":319}],113:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r),o=n(a,!0);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t(\\\"incremental-convex-hull\\\"),i=t(\\\"affine-hull\\\")},{\\\"affine-hull\\\":46,\\\"incremental-convex-hull\\\":299}],114:[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\\\"}},{}],115:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],116:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/thunk.js\\\");e.exports=function(t){var e=new function(){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.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 a=r[i];if(\\\"array\\\"===a||\\\"object\\\"==typeof a&&a.blockIndices){if(e.argTypes[i]=\\\"array\\\",e.arrayArgs.push(i),e.arrayBlockIndices.push(a.blockIndices?a.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\\\"===a)e.scalarArgs.push(i),e.shimArgs.push(\\\"scalar\\\"+i);else if(\\\"index\\\"===a){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\\\"===a){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 a||!a.offset)throw new Error(\\\"cwise: Unknown argument type \\\"+r[i]);e.argTypes[i]=\\\"offset\\\",e.offsetArgs.push({array:a.array,offset:a.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\\\":118}],117:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"uniq\\\");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n<a;++n)c.push([\\\"i\\\",n,\\\"=0\\\"].join(\\\"\\\"));for(i=0;i<o;++i)for(n=0;n<a;++n)f=u,u=t[n],0===n?c.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=t\\\",i,\\\"p\\\",u].join(\\\"\\\")):c.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=(t\\\",i,\\\"p\\\",u,\\\"-s\\\",f,\\\"*t\\\",i,\\\"p\\\",f,\\\")\\\"].join(\\\"\\\"));for(c.length>0&&l.push(\\\"var \\\"+c.join(\\\",\\\")),n=a-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<a;++n){for(f=u,u=t[n],i=0;i<o;++i)l.push([\\\"p\\\",i,\\\"+=d\\\",i,\\\"s\\\",n].join(\\\"\\\"));s&&(n>0&&l.push([\\\"index[\\\",f,\\\"]-=s\\\",f].join(\\\"\\\")),l.push([\\\"++index[\\\",u,\\\"]\\\"].join(\\\"\\\"))),l.push(\\\"}\\\")}return l.join(\\\"\\\\n\\\")}function a(t,e,r){for(var n=t.body,i=[],a=[],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 f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=\\\"+q\\\"+f;case\\\"array\\\":c=\\\"p\\\"+u+c;var h=\\\"l\\\"+o,p=\\\"a\\\"+u;if(0===e.arrayBlockIndices[u])1===s.count?\\\"generic\\\"===r[u]?s.lvalue?(i.push([\\\"var \\\",h,\\\"=\\\",p,\\\".get(\\\",c,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,h),a.push([p,\\\".set(\\\",c,\\\",\\\",h,\\\")\\\"].join(\\\"\\\"))):n=n.replace(l,[p,\\\".get(\\\",c,\\\")\\\"].join(\\\"\\\")):n=n.replace(l,[p,\\\"[\\\",c,\\\"]\\\"].join(\\\"\\\")):\\\"generic\\\"===r[u]?(i.push([\\\"var \\\",h,\\\"=\\\",p,\\\".get(\\\",c,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,h),s.lvalue&&a.push([p,\\\".set(\\\",c,\\\",\\\",h,\\\")\\\"].join(\\\"\\\"))):(i.push([\\\"var \\\",h,\\\"=\\\",p,\\\"[\\\",c,\\\"]\\\"].join(\\\"\\\")),n=n.replace(l,h),s.lvalue&&a.push([p,\\\"[\\\",c,\\\"]=\\\",h].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[i.join(\\\"\\\\n\\\"),n,a.join(\\\"\\\\n\\\")].join(\\\"\\\\n\\\").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)f[l]<=o[l][g]&&o[l][g]<h[l]&&d.push(o[l][g]-f[l]);p.push(d)}var m=[\\\"SS\\\"],v=[\\\"'use strict'\\\"],y=[];for(g=0;g<r;++g)y.push([\\\"s\\\",g,\\\"=SS[\\\",g,\\\"]\\\"].join(\\\"\\\"));for(l=0;l<t.arrayArgs.length;++l){for(m.push(\\\"a\\\"+l),m.push(\\\"t\\\"+l),m.push(\\\"p\\\"+l),g=0;g<r;++g)y.push([\\\"t\\\",l,\\\"p\\\",g,\\\"=t\\\",l,\\\"[\\\",f[l]+g,\\\"]\\\"].join(\\\"\\\"));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push([\\\"t\\\",l,\\\"b\\\",g,\\\"=t\\\",l,\\\"[\\\",c[l]+g,\\\"]\\\"].join(\\\"\\\"))}for(l=0;l<t.scalarArgs.length;++l)m.push(\\\"Y\\\"+l);if(t.shapeArgs.length>0&&y.push(\\\"shape=SS.slice(0)\\\"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]=\\\"0\\\";y.push([\\\"index=[\\\",x.join(\\\",\\\"),\\\"]\\\"].join(\\\"\\\"))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push([\\\"t\\\",b.array,\\\"p\\\",g].join(\\\"\\\")):_.push([b.offset[g],\\\"*t\\\",b.array,\\\"p\\\",g].join(\\\"\\\")));0===_.length?y.push(\\\"q\\\"+l+\\\"=0\\\"):y.push([\\\"q\\\",l,\\\"=\\\",_.join(\\\"+\\\")].join(\\\"\\\"))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&v.push(\\\"var \\\"+y.join(\\\",\\\")),l=0;l<t.arrayArgs.length;++l)v.push(\\\"p\\\"+l+\\\"|=0\\\");t.pre.body.length>3&&v.push(a(t.pre,t,s));var k=a(t.body,t,s),M=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}(p);M<r?v.push(function(t,e,r,n){for(var a=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<a;++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 f=[\\\"offset\\\"+u],h=t;h<a;++h)f.push([\\\"j\\\",h,\\\"*t\\\",u,\\\"p\\\",e[h]].join(\\\"\\\"));c.push([\\\"p\\\",u,\\\"=(\\\",f.join(\\\"+\\\"),\\\")\\\"].join(\\\"\\\"))}for(c.push(i(e,r,n)),u=t;u<a;++u)c.push(\\\"}\\\");return c.join(\\\"\\\\n\\\")}(M,p[0],t,k)):v.push(i(p[0],t,k)),t.post.body.length>3&&v.push(a(t.post,t,s)),t.debug&&console.log(\\\"-----Generated cwise routine for \\\",e,\\\":\\\\n\\\"+v.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\");var A=[t.funcName||\\\"unnamed\\\",\\\"_cwise_loop_\\\",o[0].join(\\\"s\\\"),\\\"m\\\",M,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\\\d+/);a=a?a[0]:\\\"\\\",0===i.charAt(0)?e[n]=\\\"u\\\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\\\"\\\")}(s)].join(\\\"\\\");return new Function([\\\"function \\\",A,\\\"(\\\",m.join(\\\",\\\"),\\\"){\\\",v.join(\\\"\\\\n\\\"),\\\"} return \\\",A].join(\\\"\\\"))()}},{uniq:425}],118:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./compile.js\\\");e.exports=function(t){var e=[\\\"'use strict'\\\",\\\"var CACHED={}\\\"],r=[],i=t.funcName+\\\"_cwise_thunk\\\";e.push([\\\"return function \\\",i,\\\"(\\\",t.shimArgs.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var a=[],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 f=t.arrayArgs[u];r.push([\\\"t\\\",f,\\\"=array\\\",f,\\\".dtype,\\\",\\\"r\\\",f,\\\"=array\\\",f,\\\".order\\\"].join(\\\"\\\")),a.push(\\\"t\\\"+f),a.push(\\\"r\\\"+f),o.push(\\\"t\\\"+f),o.push(\\\"r\\\"+f+\\\".join()\\\"),s.push(\\\"array\\\"+f+\\\".data\\\"),s.push(\\\"array\\\"+f+\\\".stride\\\"),s.push(\\\"array\\\"+f+\\\".offset|0\\\"),u>0&&(l.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape.length===array\\\"+f+\\\".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\\\"+f+\\\".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([\\\",a.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\\\":117}],119:[function(t,e,r){e.exports=t(\\\"cwise-compiler\\\")},{\\\"cwise-compiler\\\":116}],120:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/copy\\\"),a=t(\\\"es5-ext/object/normalize-options\\\"),o=t(\\\"es5-ext/object/valid-callable\\\"),s=t(\\\"es5-ext/object/map\\\"),l=t(\\\"es5-ext/object/valid-callable\\\"),c=t(\\\"es5-ext/object/valid-value\\\"),u=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,a=c(e)&&l(e.value);return delete(n=i(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?a:(e.value=u.call(a,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.exports=function(t){var e=a(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{\\\"es5-ext/object/copy\\\":155,\\\"es5-ext/object/map\\\":164,\\\"es5-ext/object/normalize-options\\\":165,\\\"es5-ext/object/valid-callable\\\":169,\\\"es5-ext/object/valid-value\\\":171}],121:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/object/assign\\\"),i=t(\\\"es5-ext/object/normalize-options\\\"),a=t(\\\"es5-ext/object/is-callable\\\"),o=t(\\\"es5-ext/string/#/contains\\\");(e.exports=function(t,e){var r,a,s,l,c;return arguments.length<2||\\\"string\\\"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,a=!1):(r=o.call(t,\\\"c\\\"),a=o.call(t,\\\"e\\\"),s=o.call(t,\\\"w\\\")),c={value:e,configurable:r,enumerable:a,writable:s},l?n(i(l),c):c}).gs=function(t,e,r){var s,l,c,u;return\\\"string\\\"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:a(e)?null==r?r=void 0:a(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,\\\"c\\\"),l=o.call(t,\\\"e\\\")),u={get:e,set:r,configurable:s,enumerable:l},c?n(i(c),u):u}},{\\\"es5-ext/object/assign\\\":152,\\\"es5-ext/object/is-callable\\\":158,\\\"es5-ext/object/normalize-options\\\":165,\\\"es5-ext/string/#/contains\\\":172}],122:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)},c=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},u=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},f=Array.prototype,h=f.slice,p=f.map,d=function(t){return function(){return t}},g=function(t){return t},m=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},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),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(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,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},M=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},A=function(t){if(!(i=t.length))return[];for(var e=-1,r=M(t,T),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);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 a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=m(Math.ceil(u/h)*h,Math.floor(f/h)*h,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&g[i(h,o,0,p)].push(n[a]);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(h.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*(k(t,.75)-k(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,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=M,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=m,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],123:[function(t,e,r){var n;n=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 i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}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)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}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,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)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,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++h<p;)(f=g.get(s=d(c=n[h])+\\\"\\\"))?f.push(c):g.set(s,[c]);return g.each(function(t,e){o(m,e,u(t,i,a,o))}),m}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,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})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],124:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e=function(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 i=\\\"\\\\\\\\s*([+-]?\\\\\\\\d+)\\\\\\\\s*\\\",a=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)\\\\\\\\s*\\\",o=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)%\\\\\\\\s*\\\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[i,i,i]+\\\"\\\\\\\\)$\\\"),u=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[o,o,o]+\\\"\\\\\\\\)$\\\"),f=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[i,i,i,a]+\\\"\\\\\\\\)$\\\"),h=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[o,o,o,a]+\\\"\\\\\\\\)$\\\"),p=new RegExp(\\\"^hsl\\\\\\\\(\\\"+[a,o,o]+\\\"\\\\\\\\)$\\\"),d=new RegExp(\\\"^hsla\\\\\\\\(\\\"+[a,o,o,a]+\\\"\\\\\\\\)$\\\"),g={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 m(t){var e;return t=(t+\\\"\\\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?v(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?v(g[t]):\\\"transparent\\\"===t?new _(NaN,NaN,NaN,0):null}function v(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=m(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new M(t,e,r,n)}function k(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new M;if(t instanceof M)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new M(s,l,c,t.opacity)}(t):new M(t,e,r,null==i?1:i)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function A(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,m,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\\\"\\\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){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+\\\")\\\")}})),e(M,k,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(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,i=2*r-n;return new _(A(t>=240?t-240:t+120,i,n),A(t,i,n),A(t<120?t+240:t-120,i,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}}));var T=Math.PI/180,S=180/Math.PI,C=.95047,E=1,L=1.08883,z=4/29,P=6/29,D=3*P*P,O=P*P*P;function I(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=F((.4124564*r+.3575761*n+.1804375*i)/C),o=F((.2126729*r+.7151522*n+.072175*i)/E);return new B(116*o-16,500*(a-o),200*(o-F((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?I(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function F(t){return t>O?Math.pow(t,1/3):t/D+z}function N(t){return t>P?t*t*t:D*(t-z)}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,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof B||(t=I(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,R,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(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 t=E*N(t),new _(j(3.2404542*(e=C*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return I(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=m,t.rgb=b,t.hsl=k,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],125:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\\\"\\\")||t in i)throw new Error(\\\"illegal type: \\\"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+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,o=this._,s=(n=o,(t+\\\"\\\").trim().split(/^|\\\\s+/).map(function(t){var e=\\\"\\\",r=t.indexOf(\\\".\\\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);return{type:t,name:e}})),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)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=i(o[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,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],126:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n,i){\\\"use strict\\\";var a=function(t){return function(){return t}},o=function(){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 f(t){return t.x}function h(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.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,i=1,c=1;function u(){for(var t,a,u,h,p,d,g,m=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;v<c*c&&(0===f&&(v+=(f=o())*f),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=f*(c=1-c),s.vy-=m*c)}}}function f(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 h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,g,m=0;m<a;++m)c=(s=t[m]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[m])/p*r*e[m],h*=p,u.vx-=f*(g=l[m]),u.vy-=h*g,c.vx+=f*(g=1-g),c.vy+=h*g}function m(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,\\\"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(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)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){i=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(f=t,g):f},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(h=\\\"function\\\"==typeof t?t:a(+t),v(),g):h},g.distance=function(t){return arguments.length?(p=\\\"function\\\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*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:a(+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,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\\\"function\\\"!=typeof t&&(t=a(+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:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+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,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(g),h=n.dispatch(\\\"tick\\\",\\\"end\\\");function g(){m(),h.call(\\\"tick\\\",e),a<o&&(f.stop(),h.call(\\\"end\\\",e))}function m(){var e,r,n=t.length;for(a+=(l-a)*s,u.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function v(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),v(),e={tick:m,restart:function(){return f.restart(g),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,v(),u.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},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,y(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})},\\\"object\\\"==typeof r&&void 0!==e?i(r,t(\\\"d3-quadtree\\\"),t(\\\"d3-collection\\\"),t(\\\"d3-dispatch\\\"),t(\\\"d3-timer\\\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{\\\"d3-collection\\\":123,\\\"d3-dispatch\\\":125,\\\"d3-quadtree\\\":128,\\\"d3-timer\\\":129}],127:[function(t,e,r){var n,i;n=this,i=function(t,e){\\\"use strict\\\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(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):a(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):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\\\"\\\"}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\\\"\\\"}}}var h=f(n),p=f(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=A(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},m=function(t,e){return e-=t=+t,function(r){return t+e*r}},v=function(t,e){var r,n={},i={};for(r in null!==t&&\\\"object\\\"==typeof t||(t={}),null!==e&&\\\"object\\\"==typeof e||(e={}),e)r in t?n[r]=A(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,x=new RegExp(y.source,\\\"g\\\");var b,_,w,k,M=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=y.exec(t))&&(n=x.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:m(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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(\\\"\\\")})},A=function(t,r){var n,i=typeof r;return null==r||\\\"boolean\\\"===i?a(r):(\\\"number\\\"===i?m:\\\"string\\\"===i?(n=e.color(r))?(r=n,u):M:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:\\\"function\\\"!=typeof r.valueOf&&\\\"function\\\"!=typeof r.toString||isNaN(r)?v:m)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},C=function(t,e,r,n,i,a){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:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function E(t,e,r,n){function i(t){return t.length?t.pop()+\\\" \\\":\\\"\\\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\\\"translate(\\\",null,e,null,r);s.push({i:l-4,x:m(t,i)},{i:l-2,x:m(n,a)})}else(i||a)&&o.push(\\\"translate(\\\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\\\"rotate(\\\",null,n)-2,x:m(t,e)})):e&&r.push(i(r)+\\\"rotate(\\\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\\\"skewX(\\\",null,n)-2,x:m(t,e)}):e&&r.push(i(r)+\\\"skewX(\\\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");o.push({i:s-4,x:m(t,r)},{i:s-2,x:m(e,n)})}else 1===r&&1===n||a.push(i(a)+\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=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 L=E(function(t){return\\\"none\\\"===t?S:(b||(b=document.createElement(\\\"DIV\\\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\\\"transform\\\"),_.removeChild(b),t=t.slice(7,-1).split(\\\",\\\"),C(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\\\"px, \\\",\\\"px)\\\",\\\"deg)\\\"),z=E(function(t){return null==t?S:(k||(k=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),k.setAttribute(\\\"transform\\\",t),(t=k.transform.baseVal.consolidate())?(t=t.matrix,C(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\\\", \\\",\\\")\\\",\\\")\\\"),P=Math.SQRT2;function D(t){return((t=Math.exp(t))+1/t)/2}function O(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var I=O(s),R=O(c);function B(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var F=B(s),N=B(c);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\\\"\\\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(c);t.interpolate=A,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=m,t.interpolateObject=v,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=M,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/P,r=function(t){return[i+t*u,a+t*f,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(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)/P,r=function(t){var e,r=t*n,s=D(m),l=o/(2*p)*(s*(e=P*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/D(P*r+m)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateHsl=I,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\\\"\\\"}},t.interpolateHcl=F,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,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})},\\\"object\\\"==typeof r&&void 0!==e?i(r,t(\\\"d3-color\\\")):i(n.d3=n.d3||{},n.d3)},{\\\"d3-color\\\":124}],128:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,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>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=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,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,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=a.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 i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=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,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));for(f<c&&(c=this._x0,f=this._x1),h<u&&(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),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,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,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 i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(m.length){var v=(a+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],a,y,v,l),new r(m[1],v,o,s,y),new r(m[0],a,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=_);f=t-w,h=e-w,p=t+w,d=e+w,i=m.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,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=a>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,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,i,a,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,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.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=a,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],129:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,c=0,u=\\\"object\\\"==typeof performance&&performance.now?performance:Date,f=\\\"object\\\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function h(){return l||(f(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function m(){h(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function v(){l=(s=u.now())+c,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(v,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(v)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\\\"function\\\"!=typeof t)throw new TypeError(\\\"callback is not a function\\\");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=m,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],130:[function(t,e,r){!function(){var t={version:\\\"3.5.17\\\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(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(i)try{n(i.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}),i)try{i.createElement(\\\"DIV\\\").style.setProperty(\\\"opacity\\\",0,\\\"\\\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=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){f.call(this,t,e+\\\"\\\",r)}}function h(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,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=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(h);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 h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+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],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},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,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){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,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _=\\\"__proto__\\\",w=\\\"\\\\0\\\";function k(t){return(t+=\\\"\\\")===_||t[0]===w?w+t:t}function M(t){return(t+=\\\"\\\")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function T(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(M(e));return t}function C(){var t=0;for(var e in this._)++t;return t}function E(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function D(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=O.length;r<n;++r){var i=O[r]+e;if(i in t)return i}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:T,keys:S,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:M(e),value:this._[e]});return t},size:C,empty:E,forEach:function(t){for(var e in this._)t.call(this,M(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new b;++h<p;)(f=g.get(l=d(c=a[h])))?f.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>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,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 i.push(t),n},n.sortKeys=function(t){return a[i.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 L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:A,add:function(t){return this._[k(t+=\\\"\\\")]=!0,t},remove:T,values:S,size:C,empty:E,forEach:function(t){for(var e in this._)t.call(this,M(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var O=[\\\"webkit\\\",\\\"ms\\\",\\\"moz\\\",\\\"Moz\\\",\\\"o\\\",\\\"O\\\"];function I(){}function R(){}function B(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=B(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=B(t);return t},R.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(V,\\\"\\\\\\\\$&\\\")};var V=/[\\\\\\\\\\\\^\\\\$\\\\*\\\\+\\\\?\\\\|\\\\[\\\\]\\\\(\\\\)\\\\.\\\\{\\\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[D(t,\\\"matchesSelector\\\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\\\"function\\\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\\\"function\\\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\\\"function\\\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\\\"__data__\\\"in i&&(r.__data__=i.__data__)):e.push(null)}return q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var J=\\\"http://www.w3.org/1999/xhtml\\\",K={svg:\\\"http://www.w3.org/2000/svg\\\",xhtml:J,xlink:\\\"http://www.w3.org/1999/xlink\\\",xml:\\\"http://www.w3.org/XML/1998/namespace\\\",xmlns:\\\"http://www.w3.org/2000/xmlns/\\\"};function Q(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 $(t){return t.trim().replace(/\\\\s+/g,\\\" \\\")}function tt(e){return new RegExp(\\\"(?:^|\\\\\\\\s+)\\\"+t.requote(e)+\\\"(?:\\\\\\\\s+|$)\\\",\\\"g\\\")}function et(t){return(t+\\\"\\\").trim().split(/^|\\\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\\\"function\\\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\\\"class\\\")||\\\"\\\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\\\"class\\\",$(i+\\\" \\\"+t))):r.setAttribute(\\\"class\\\",$(i.replace(e,\\\" \\\")))}}function it(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 ot(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===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return W(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(\\\":\\\"),r=t;return e>=0&&\\\"xmlns\\\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[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(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\\\"class\\\");++i<n;)if(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(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(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\\\"\\\"}return this.each(it(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=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new b,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(m.has(g=e.call(i,i.__data__,n))?d[n]=i:m.set(g,i),v[n]=g);for(n=-1;++n<u;)(i=m.get(g=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=lt(a),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<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=lt(a);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=q([]),c=q([]);if(\\\"function\\\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],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,i=[];\\\"function\\\"!=typeof t&&(t=ct(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return q(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.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,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,function(){++t}),t};var ht=[];function pt(e,r,i){var a=\\\"__on\\\"+e,o=e.indexOf(\\\".\\\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?I:function(){var r,n=new RegExp(\\\"^__on([^.]+)\\\"+t.requote(e)+\\\"$\\\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return q(o)},ht.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\\\"string\\\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\\\"string\\\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([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(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\\\"__on\\\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\\\"mouseover\\\",mouseleave:\\\"mouseout\\\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function mt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\\\"on\\\"+t in i&&dt.remove(t)});var vt,yt=0;function xt(e){var r=\\\".dragsuppress-\\\"+ ++yt,n=\\\"click\\\"+r,i=t.select(o(e)).on(\\\"touchmove\\\"+r,F).on(\\\"dragstart\\\"+r,F).on(\\\"selectstart\\\"+r,F);if(null==vt&&(vt=!(\\\"onselectstart\\\"in e)&&D(e.style,\\\"userSelect\\\")),vt){var s=a(e).style,l=s[vt];s[vt]=\\\"none\\\"}return function(t){if(i.on(r,null),vt&&(s[vt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){F(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.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();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\\\"drag\\\",\\\"dragstart\\\",\\\"dragend\\\"),r=null,n=s(I,t.mouse,o,\\\"mousemove\\\",\\\"mouseup\\\"),i=s(wt,t.touch,z,\\\"touchmove\\\",\\\"touchend\\\");function a(){this.on(\\\"mousedown.drag\\\",n).on(\\\"touchstart.drag\\\",i)}function s(n,i,a,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,f=e.of(this,arguments),h=0,p=n(),d=\\\".drag\\\"+(null==p?\\\"\\\":\\\"-\\\"+p),g=t.select(a(c)).on(o+d,function(){var t,e,r=i(u,p);if(!r)return;t=r[0]-v[0],e=r[1]-v[1],h|=t|e,v=r,f({type:\\\"drag\\\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(u,p))return;g.on(o+d,null).on(s+d,null),m(h),f({type:\\\"dragend\\\"})}),m=xt(c),v=i(u,p);l=r?[(l=r.apply(this,arguments)).x-v[0],l.y-v[1]]:[0,0],f({type:\\\"dragstart\\\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\\\"on\\\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Mt=kt*kt,At=Math.PI,Tt=2*At,St=Tt-kt,Ct=At/2,Et=At/180,Lt=180/At;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Dt(t){return t>1?0:t<-1?At:Math.acos(t)}function Ot(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function It(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<Mt)n=Math.log(c/o)/Bt,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(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=It(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[i+l*u,a+l*f,o*s/It(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,g=250,m=0,v=\\\"mousedown.zoom\\\",y=\\\"mousemove.zoom\\\",x=\\\"mouseup.zoom\\\",b=\\\"touchstart.zoom\\\",_=j(w,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\");function w(t){t.on(v,z).on(Nt+\\\".zoom\\\",D).on(\\\"dblclick.zoom\\\",O).on(b,P)}function k(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function M(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function T(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},M(Math.pow(2,a)),A(r=n,i),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-h.x)/h.k}).map(l.invert)),f&&f.domain(u.range().map(function(t){return(t-h.y)/h.k}).map(u.invert))}function C(t){m++||t({type:\\\"zoomstart\\\"})}function E(t){S(),t({type:\\\"zoom\\\",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:\\\"zoomend\\\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),a),E(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);ss.call(e),C(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\\\".zoom-\\\"+t.event.changedTouches[0].identifier,l=\\\"touchmove\\\"+o,c=\\\"touchend\\\"+o,u=[],f=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(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,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];T(r,v,i[v.identifier],Math.floor(Math.log(h.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];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);ss.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[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=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],M(g*e)}s=null,A(o,l),E(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,z).on(b,P),p(),L(n)}g(),C(n),f.on(v,null).on(b,g)}function D(){var i=_.of(this,arguments);a?clearTimeout(a):(ss.call(this),e=k(r=n||t.mouse(this)),C(i)),a=setTimeout(function(){a=null,L(i)},50),F(),M(Math.pow(2,.002*Ft())*h.k),A(r,e),E(i)}function O(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;T(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\\\"onwheel\\\"in i?(Ft=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\\\"wheel\\\"):\\\"onmousewheel\\\"in i?(Ft=function(){return t.event.wheelDelta},\\\"mousewheel\\\"):(Ft=function(){return-t.event.detail},\\\"MozMousePixelScroll\\\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=h;us?t.select(this).transition().each(\\\"start.zoom\\\",function(){h=this.__chart__||{x:0,y:0,k:1},C(e)}).tween(\\\"zoom:zoom\\\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},E(e)}}).each(\\\"interrupt.zoom\\\",function(){L(e)}).each(\\\"end.zoom\\\",function(){L(e)}):(this.__chart__=h,C(e),E(e),L(e))})},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},M(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+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(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,\\\"on\\\")};var Ft,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(\\\"\\\"+t,fe,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\\\"\\\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Et)*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 Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(\\\"\\\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\\\"\\\"}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?\\\"0\\\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\\\((.*)\\\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\\\",\\\"),n[1]){case\\\"hsl\\\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\\\"rgb\\\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||\\\"#\\\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\\\"%\\\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return fe(this.r,this.g,this.b)},le.toString=function(){return\\\"#\\\"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=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 me(t){return\\\"function\\\"==typeof t?t:function(){return t}}function ve(t){return function(e,r,n){return 2===arguments.length&&\\\"function\\\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\\\"beforesend\\\",\\\"progress\\\",\\\"load\\\",\\\"error\\\"),l={},c=new XMLHttpRequest,u=null;function f(){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=i.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=f:c.onreadystatechange=function(){c.readyState>3&&f()},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 i=t,o},[\\\"get\\\",\\\"post\\\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\\\"function\\\"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||\\\"accept\\\"in l||(l.accept=r+\\\",*/*\\\"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on(\\\"error\\\",i).on(\\\"load\\\",function(t){i(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==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=me,t.xhr=ve(z),t.dsv=function(t,e){var r=new RegExp('[\\\"'+t+\\\"\\\\n]\\\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.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 i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\\\"d\\\",\\\"return {\\\"+t.map(function(t,e){return JSON.stringify(t)+\\\": d[\\\"+e+\\\"]\\\"}).join(\\\",\\\")+\\\"}\\\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;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))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/\\\"\\\"/g,'\\\"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,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\\\")},i.formatRows=function(t){return t.map(s).join(\\\"\\\\n\\\")},i},t.csv=t.dsv(\\\",\\\",\\\"text/csv\\\"),t.tsv=t.dsv(\\\"\\\\t\\\",\\\"text/tab-separated-values\\\");var xe,be,_e,we,ke=this[D(this,\\\"requestAnimationFrame\\\")]||function(t){setTimeout(t,17)};function Me(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,ke(Ae)),i}function Ae(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ce(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Me.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ee=[\\\"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}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ce(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)))),Ee[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\\\- ])?([$#])?(0)?(\\\\d+)?(,)?(\\\\.-?\\\\d+)?([a-z%])?/i,ze=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,Ce(e,r))).toFixed(Math.max(0,Math.min(20,Ce(e*(1+1e-15),r))))}});function Pe(t){return t+\\\"\\\"}var De=t.time={},Oe=Date;function Ie(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Ie.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(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new Oe(r-1)),1),r}function a(t,r){return e(t=new Oe(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||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=i,t.offset=a,t.range=o;var s=t.utc=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(i),s.offset=Fe(a),s.range=function(t,e,r){try{Oe=Ie;var n=new Ie;return n._=t,o(n,e,r)}finally{Oe=Date}},t}function Fe(t){return function(e,r){try{Oe=Ie;var n=new Ie;return n._=e,t(n,r)._}finally{Oe=Date}}}De.year=Be(function(t){return(t=De.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),De.years=De.year.range,De.years.utc=De.year.utc.range,De.day=Be(function(t){var e=new Oe(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}),De.days=De.day.range,De.days.utc=De.day.utc.range,De.dayOfYear=function(t){var e=De.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=De[t]=Be(function(t){return(t=De.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=De.year(t).getDay();return Math.floor((De.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});De[t+\\\"s\\\"]=r.range,De[t+\\\"s\\\"].utc=r.utc.range,De[t+\\\"OfYear\\\"]=function(t){var r=De.year(t).getDay();return Math.floor((De.dayOfYear(t)+(r+e)%7)/7)}}),De.week=De.sunday,De.weeks=De.sunday.range,De.weeks.utc=De.sunday.utc.range,De.weekOfYear=De.sundayOfYear;var Ne={\\\"-\\\":\\\"\\\",_:\\\" \\\",0:\\\"0\\\"},je=/^\\\\s*\\\\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?\\\"-\\\":\\\"\\\",i=(n?-t:t)+\\\"\\\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp(\\\"^(?:\\\"+e.map(t.requote).join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function He(t){for(var e=new b,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 We(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 Ye(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 Xe(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 Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[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 ir(t){var e=t.getTimezoneOffset(),r=e>0?\\\"-\\\":\\\"+\\\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\\\"0\\\",2)+Ue(i,\\\"0\\\",2)}function ar(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(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\\\" \\\",s=n[2]||\\\">\\\",l=n[3]||\\\"-\\\",c=n[4]||\\\"\\\",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m=\\\"\\\",v=\\\"\\\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||\\\"0\\\"===i&&\\\"=\\\"===s)&&(u=i=\\\"0\\\",s=\\\"=\\\"),d){case\\\"n\\\":h=!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=a[0],v=a[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=ze.get(d)||Pe;var b=u&&h;return function(e){var n=v;if(y&&e%1)return\\\"\\\";var a=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,k=(e=d(e,p)).lastIndexOf(\\\".\\\");if(k<0){var M=x?e.lastIndexOf(\\\"e\\\"):-1;M<0?(_=e,w=\\\"\\\"):(_=e.substring(0,M),w=e.substring(M))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:a.length),T=A<f?new Array(A=f-A+1).join(i):\\\"\\\";return b&&(_=o(T+_,T.length?f-w.length:1/0)),a+=m,e=_+w,(\\\"<\\\"===s?a+e+T:\\\">\\\"===s?T+a+e:\\\"^\\\"===s?T.substring(0,A>>=1)+a+e+T.substring(A):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=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,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\\\"e\\\"===n?\\\" \\\":\\\"0\\\":i)),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(f(r,t,e,0)!=e.length)return null;\\\"p\\\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Oe!==Ie,i=new(n?Ie:Oe);return\\\"j\\\"in r?i.setFullYear(r.y,0,r.j):\\\"W\\\"in r||\\\"U\\\"in r?(\\\"w\\\"in r||(r.w=\\\"W\\\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\\\"W\\\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function f(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Oe=Ie);return r._=t,e(r)}finally{Oe=Date}}return r.parse=function(t){try{Oe=Ie;var r=e.parse(t);return r&&r._}finally{Oe=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=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);a.forEach(function(t,e){h.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+De.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 a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(De.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(De.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\\\"%\\\":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 f(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=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,\\\"%\\\":ar};return u}(e)}};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,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)fr(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,i=r.length;++n<i;)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,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)fr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],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,Er),mr};var mr,vr,yr,xr,br,_r,wr,kr,Mr,Ar,Tr,Sr,Cr=new lr,Er={sphere:function(){mr+=4*At},point:I,lineStart:I,lineEnd:I,polygonStart:function(){Cr.reset(),Er.lineStart=Lr},polygonEnd:function(){var t=2*Cr;mr+=t<0?4*At+t:t,Er.lineStart=Er.lineEnd=Er.point=I}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Et/2+At/4;var a=(t*=Et)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Cr.add(Math.atan2(h,f)),r=t,n=l,i=c}Er.point=function(o,s){Er.point=a,r=(t=o)*Et,n=Math.cos(s=(e=s)*Et/2+At/4),i=Math.sin(s)},Er.lineEnd=function(){a(t,e)}}function zr(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Dr(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 Ir(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 Br(t){return[Math.atan2(t[1],t[0]),Ot(t[2])]}function Fr(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,c,u,f,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=x,h.lineEnd=b,c=0,Er.polygonStart()},polygonEnd:function(){Er.polygonEnd(),h.point=p,h.lineStart=g,h.lineEnd=m,Cr<0?(e=-(n=180),r=-(i=90)):c>kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Et,o*Et]);if(l){var c=Dr(l,s),u=Dr([c[1],-c[0],0],c);Rr(u),u=Br(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*a<d&&d<h*t))(m=u[1]*Lt)>i&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&d<h*t)){var m;(m=-u[1]*Lt)<r&&(r=m)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Er.point(t,e),d(t,e)}function x(){Er.lineStart()}function b(){v(o,s),Er.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),u=[],t.geo.stream(a,h),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(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=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<Mt&&(r=wr,n=kr,i=Mr,yr<kt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<Mt)?[NaN,NaN]:[Math.atan2(n,r)*Lt,Ot(i/Math.sqrt(a))*Lt]};var Nr={sphere:I,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Et;var r=Math.cos(e*=Et);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Ur(){var t,e,r;function n(n,i){n*=Et;var a=Math.cos(i*=Et),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),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)),kr+=c*(e+(e=s)),Mr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Et;var o=Math.cos(a*=Et);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Et;var a=Math.cos(e*=Et),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),c=n*l-i*s,u=i*o-r*l,f=r*s-n*o,h=Math.sqrt(c*c+u*u+f*f),p=r*o+n*s+i*l,d=h&&-Dt(p)/h,g=Math.atan2(h,p);Ar+=d*c,Tr+=d*u,Sr+=d*f,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Mr+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Et;var l=Math.cos(s*=Et);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(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 Wr(){return!0}function Yr(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Fr(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,a.push(l),o.push(c),c=new Zr(n,null,l=new Zr(n,t,null,!1),!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)i.point((f=u[s])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(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,i){return function(a,o){var s,l=r(o),c=a.invert(i[0],i[1]),u={point:f,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=f,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Cr.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],p=f[1]/2+At/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+At/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_>=0?1:-1,k=w*_,M=k>At,A=d*x;if(Cr.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),a+=M?_+w*Tt:_,M^h>=r^v>=r){var T=Dr(zr(f),zr(t));Rr(T);var S=Dr(i,T);Rr(S);var C=(M^_>=0?-1:1)*Ot(S[2]);(n>C||n===C&&(T[0]||T[1]))&&(o+=M^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a<kt&&Cr<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Yr(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 f(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function h(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){u.point=h,l.lineStart()}function d(){u.point=f,l.lineEnd()}var g,m,v=Qr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=a(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 i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[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:I,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(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Ct:-Ct),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)<kt&&(r-=i*kt),y(a-s)<kt&&(a-=s*kt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Ct,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]<e[0]?At:-At;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,p=s.y-c;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a<u)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a<u)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<u)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a<u)return;a<f&&(f=a)}return u>0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Qr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));k.point=T,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],i=0;i<r;++i)for(var a,o=1,s=u[i],l=s.length,c=s[0];o<l;++o)a=s[o],c[1]<=n?a[1]>n&&Pt(c,a,t)>0&&++e:a[1]<=n&&Pt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),M(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,M,l),l.polygonEnd()),c=u=f=null}};function M(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),y)h=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 k};function a(t,i){return y(t[0]-e)<kt?i>0?0:3:y(t[0]-n)<kt?i>0?2:1:y(t[1]-r)<kt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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=At/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Ot((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=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,i,a=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 a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},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?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:I,lineStart:I,lineEnd:I,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=I,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>fn&&(fn=t);e<un&&(un=e);e>hn&&(hn=e)},lineStart:I,lineEnd:I,polygonStart:I,polygonEnd:I};function mn(t){return\\\"m0,\\\"+t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+-2*t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+2*t+\\\"z\\\"}var vn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Mr+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Mr+=o,Ar+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function kn(t){var e=.5,r=Math.cos(30*Et),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,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(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,m.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),m.lineEnd=b,b()}return m}:function(e){return An(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=s+p,k=l+d,M=c+g,A=Math.sqrt(w*w+k*k+M*M),T=Math.asin(M/=A),S=y(y(M)-1)<kt||y(o-h)<kt?(o+h)/2:Math.atan2(k,w),C=t(S,T),E=C[0],L=C[1],z=E-n,P=L-i,D=b*z-x*P;(D*D/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+c*g<r)&&(a(n,i,o,s,l,c,E,L,S,w/=A,k/=A,M,m,v),v.point(E,L),a(E,L,S,w,k,M,u,f,h,p,d,g,m,v))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function Mn(t){this.stream=t}function An(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 Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=kn(function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]}),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Et,t[1]*Et))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function M(){i=Gr(n=zn(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(v(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(v=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(i,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Fr(e,p)||Fr(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(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&&Fr(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}}},In(t,6*Et),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Dr(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Dr(i,a),h=Ir(i,c);Or(h,Ir(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Ir(p,(-d-v)/g);if(Or(x,h),x=Br(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],M=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,T=y(A-At)<kt;if(!T&&M<k&&(b=k,k=M,M=b),T||A<kt?T?k+M>0^x[1]<(y(x[0]-_)<kt?k:M):k<=x[1]&&x[1]<=M:A>At^(_<=x[0]&&x[0]<=w)){var S=Ir(p,(-d+v)/g);return Or(S,h),[x,Br(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Et),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,A()):_},w.scale=function(t){return arguments.length?(c=+t,M()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],M()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Et,p=t[1]%360*Et,M()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Et,g=t[1]%360*Et,m=t.length>2?t[2]%360*Et:0,M()):[d*Lt,g*Lt,m*Lt]},t.rebind(w,l,\\\"precision\\\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,M()}}function Cn(t){return An(t,function(e,r){t.point(e*Et,r*Et)})}function En(t,e){return[t,e]}function Ln(t,e){return[t>At?t-Tt:t<-At?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),On(e,r)):Dn(t):e||r?On(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>At?e-Tt:e<-At?e+Tt:e,r]}}function Dn(t){var e=Pn(t);return e.invert=Pn(-t),e}function On(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=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*i-u*a,s*r-c*n),Ot(u*i+l*a)]}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*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),Ot(u*r-s*n)]},o}function In(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u<a;u-=l)s.point((c=Br([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Rn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=Dt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Bn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function Fn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Nn(t){return t.source}function jn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\\\"function\\\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=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=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,n(yn)),Sr?[Ar/Sr,Tr/Sr]:Mr?[wr/Mr,kr/Mr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return fn=hn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[fn,hn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=kn(function(t,e){return r([t*Lt,e*Lt])}),function(t){return Cn(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new function(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(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 i(t,n){e.push(\\\"M\\\",t,\\\",\\\",n),r.point=a}function a(t,r){e.push(\\\"L\\\",t,\\\",\\\",r)}function o(){r.point=n}function s(){e.push(\\\"Z\\\")}return r}:new function(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:I};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}(t),\\\"function\\\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Mn(e);for(var n in t)r[n]=t[n];return r}}},Mn.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=Tn,t.geo.projectionMutator=Sn,(t.geo.equirectangular=function(){return Tn(En)}).raw=En.invert=En,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Et,e[1]*Et))[0]*=Lt,e[1]*=Lt,e}return t=zn(t[0]%360*Et,t[1]*Et,t.length>2?t[2]*Et:0),e.invert=function(e){return(e=t.invert(e[0]*Et,e[1]*Et))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=En,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\\\"function\\\"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Et,-t[1]*Et,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\\\"Polygon\\\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=In((t=+r)*Et,n*Et),i):t},i.precision=function(r){return arguments.length?(e=In(t*Et,(n=+r)*Et),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Et,i=t[1]*Et,a=e[1]*Et,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,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(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).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,a,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:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(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?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},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=Bn(o,a,90),u=Fn(r,e,v),f=Bn(l,s,90),h=Fn(i,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=Nn,i=jn;function a(){return{type:\\\"LineString\\\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\\\"function\\\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\\\"function\\\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Et,n=t[1]*Et,i=e[0]*Et,a=e[1]*Et,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-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*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return vn=0,t.geo.stream(e,Vn),vn};var Vn={sphere:I,point:I,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Et),o=Math.cos(i),s=y((n*=Et)-t),l=Math.cos(s);vn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Et,e=Math.sin(a*=Et),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=I}},lineEnd:I,polygonStart:I,polygonEnd:I};function Un(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Ct]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<kt)return En;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Tn(Hn)}).raw=Hn,(t.geo.conicConformal=function(){return an(Gn)}).raw=Gn,(t.geo.conicEquidistant=function(){return an(Wn)}).raw=Wn;var Yn=Un(function(t){return 1/t},Math.atan);function Xn(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Zn(t){var e,r=Tn(t),n=r.scale,i=r.translate,a=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=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=i();a([[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 Tn(Yn)}).raw=Yn,Xn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Ct]},(t.geo.mercator=function(){return Zn(Xn)}).raw=Xn;var Jn=Un(function(){return 1},Math.asin);(t.geo.orthographic=function(){return Tn(Jn)}).raw=Jn;var Kn=Un(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function Qn(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function $n(t){return t[0]}function ti(t){return t[1]}function ei(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Zn(Qn),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=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=me(e),a=me(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ri),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ei(s),u=ei(l),f=u[0]===c[0],h=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=+f;n<u.length-h;++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 U(t,ni),t};var ni=t.geom.polygon.prototype=[];function ii(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function ai(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],c=r[1],u=e[1]-l,f=n[1]-c,h=(s*(l-c)-f*(i-a))/(f*o-s*u);return[i+h*o,l+h*u]}function oi(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ni.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},ni.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},ni.clip=function(t){for(var e,r,n,i,a,o,s=oi(t),l=-1,c=this.length-oi(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)ii(o=e[r],u,i)?(ii(a,u,i)||t.push(ai(a,o,u,i)),t.push(o)):ii(a,u,i)&&t.push(ai(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var si,li,ci,ui,fi,hi=[],pi=[];function di(t){var e=hi.pop()||new function(){Li(this),this.edge=this.site=this.circle=null};return e.site=t,e}function gi(t){ki(t),ci.remove(t),hi.push(t),Li(t)}function mi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];gi(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),gi(l),l=a;s.unshift(l),ki(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),gi(c),c=o;s.push(c),ki(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],Si(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Ti(l.site,c.site,null,i),wi(l),wi(c)}function vi(t){for(var e,r,n,i,a=t.x,o=t.y,s=ci._;s;)if((n=yi(s,o)-a)>kt)s=s.L;else{if(!((i=a-xi(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ci.insert(e,l),e||r){if(e===r)return ki(e),r=di(e.site),ci.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){ki(e),ki(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};Si(r.edge,c,d,b),l.edge=Ti(c,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)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,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=fi._;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}fi.insert(y,v),y||(ui=v)}}}}function ki(t){var e=t.circle;e&&(e.P||(ui=e.N),fi.remove(e),pi.push(e),Li(e),t.circle=null)}function Mi(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,g=f.y,m=(h+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y<l)return}else a={x:m,y:c};r={x:m,y:l}}}else if(i=v-(n=(h-d)/(g-p))*m,n<-1||n>1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Ai(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ti(t,e,r,n){var i=new Ai(t,e);return si.push(i),r&&Si(i,t,e,r),n&&Si(i,e,t,n),li[t.i].edges.push(new Ci(i,t,e)),li[e.i].edges.push(new Ci(i,e,t)),i}function Si(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 Ci(t,e,r){var n=t.a,i=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(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function Ei(){this._=null}function Li(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function zi(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Pi(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Di(t){for(;t.L;)t=t.L;return t}function Oi(t,e){var r,n,i,a=t.sort(Ii).pop();for(si=[],li=new Array(t.length),ci=new Ei,fi=new Ei;;)if(i=ui,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(li[a.i]=new bi(a),vi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;mi(i.arc)}e&&(function(t){for(var e,r=si,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Mi(e=r[i],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(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=li,m=g.length;m--;)if((a=g[m])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new Ci((v=a.site,x=u,b=y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null,_=void 0,_=new Ai(v,null),_.a=x,_.b=b,si.push(_),_),a.site,null)),++l);var v,x,b,_}(e));var o={cells:li,edges:si};return ci=fi=si=li=null,o}function Ii(t,e){return e.y-t.y||e.x-t.x}bi.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(_i),e.length},Ci.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}},Ei.prototype={insert:function(t,e){var r,n,i;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=Di(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?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(zi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Pi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Pi(this,r),r=(t=r).U),r.C=!1,n.C=!0,zi(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,i=t.U,a=t.L,o=t.R;if(r=a?o?Di(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,zi(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Pi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,zi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Pi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,zi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Pi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=$n,r=ti,n=e,i=r,a=Ri;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Oi(s(t),a).cells.forEach(function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,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(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Oi(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 Oi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(_i),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=me(e=t),o):e},o.y=function(t){return arguments.length?(i=me(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Ri:t,o):a===Ri?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Ri?null:a&&a[1]},o};var Ri=[[-1e6,-1e6],[1e6,1e6]];function Bi(t){return t.x}function Fi(t){return t.y}function Ni(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\\\"#\\\"+ce(Math.round(n+o*t))+ce(Math.round(i+s*t))+ce(Math.round(a+l*t))}}function ji(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Gi(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function Vi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ui(t,e){var r,n,i,a=qi.lastIndex=Hi.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=qi.exec(t))&&(n=Hi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Vi(r,n)})),a=Hi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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,i){var a,o=$n,s=ti;if(a=arguments.length)return o=Bi,s=Fi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,g,m,v=me(o),x=me(s);if(null!=e)p=e,d=r,g=n,m=i;else if(g=m=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).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(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,k=m-d;function M(t,e,r,n,i,a,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,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}}),u?i=l:o=l,f?a=c:s=c,M(t,e,r,n,i,a,o,s)}w>k?m=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,m)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){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,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,m)},f=-1,null==e){for(;++f<h;)M(T,t[f],c[f],u[f],p,d,g,m);--f}else t.forEach(T.add);return c=u=t=l=null,T}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=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Ni,t.interpolateObject=ji,t.interpolateNumber=Vi,t.interpolateString=Ui;var qi=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,Hi=new RegExp(qi.source,\\\"g\\\");function Gi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Gi(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=Gi,t.interpolators=[function(t,e){var r=typeof e;return(\\\"string\\\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\\\(|hsl\\\\()/i.test(e)?Ni:Ui:e instanceof Vt?Ni:Array.isArray(e)?Wi:\\\"object\\\"===r&&isNaN(e)?ji:Vi)(t,e)}],t.interpolateArray=Wi;var Yi=function(){return z},Xi=t.map({linear:Yi,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Qi},cubic:function(){return $i},sin:function(){return ea},exp:function(){return ra},circle:function(){return na},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return ia}}),Zi=t.map({in:z,out:Ji,\\\"in-out\\\":Ki,\\\"out-in\\\":function(t){return Ki(Ji(t))}});function Ji(t){return function(e){return 1-t(1-e)}}function Ki(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Qi(t){return t*t}function $i(t){return t*t*t}function ta(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 ea(t){return 1-Math.cos(t*Ct)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(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 aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function sa(t,e){return t[0]*e[0]+t[1]*e[1]}function la(t){var e=Math.sqrt(sa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\\\"-\\\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\\\"in\\\";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateRound=aa,t.transform=function(e){var r=i.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 oa(e?e.matrix:ca)})(e)},oa.prototype.toString=function(){return\\\"translate(\\\"+this.translate+\\\")rotate(\\\"+this.rotate+\\\")skewX(\\\"+this.skew+\\\")scale(\\\"+this.scale+\\\")\\\"};var ca={a:1,b:0,c:0,d:1,e:0,f:0};function ua(t){return t.length?t.pop()+\\\",\\\":\\\"\\\"}function fa(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\\\"translate(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\\\"translate(\\\"+e+\\\")\\\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ua(r)+\\\"rotate(\\\",null,\\\")\\\")-2,x:Vi(t,e)})):e&&r.push(ua(r)+\\\"rotate(\\\"+e+\\\")\\\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ua(r)+\\\"skewX(\\\",null,\\\")\\\")-2,x:Vi(t,e)}):e&&r.push(ua(r)+\\\"skewX(\\\"+e+\\\")\\\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ua(r)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ua(r)+\\\"scale(\\\"+e+\\\")\\\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\\\"\\\")}}function ha(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function pa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function da(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ga(t),n=ga(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function ga(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ma(t){t.fixed|=2}function va(t){t.fixed&=-7}function ya(t){t.fixed|=4,t.px=t.x,t.py=t.y}function xa(t){t.fixed&=-5}t.interpolateTransform=fa,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(da(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,g={},m=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];m.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort(function(t,e){return a(m[t],m[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+\\\"-\\\"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var M=g[p+\\\"-\\\"+d],A=g[d+\\\"-\\\"+p];(M.value||A.value)&&e.push(M.value<A.value?{source:A,target:M}:{source:M,target:A})}s&&f()}function f(){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?(i=(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?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),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,i,a,o,s={},l=t.dispatch(\\\"start\\\",\\\"tick\\\",\\\"end\\\"),c=[1,1],u=.9,f=ba,h=_a,p=-30,d=wa,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*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,f,h,d,m,b,_,w,k=v.length,M=y.length;for(s=0;s<M;++s)h=(f=y[s]).source,(m=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=m=n*a[s]*((m=Math.sqrt(m))-i[s])/m,w*=m,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!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,i+=o.charge*o.cx,a+=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,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<k;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<k;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.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?(f=\\\"function\\\"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h=\\\"function\\\"==typeof t?t:+t,s):h},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=Me(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(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(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(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,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.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()*i}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(z).on(\\\"dragstart.force\\\",ma).on(\\\"drag.force\\\",b).on(\\\"dragend.force\\\",va)),!arguments.length)return r;this.on(\\\"mouseover.force\\\",ya).on(\\\"mouseout.force\\\",xa).call(r)},t.rebind(s,l,\\\"on\\\")};var ba=20,_a=1,wa=1/0;function ka(e,r){return t.rebind(e,r,\\\"sort\\\",\\\"children\\\",\\\"value\\\"),e.nodes=e,e.links=Ea,e}function Ma(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function Aa(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function Ta(t){return t.children}function Sa(t){return t.value}function Ca(t,e){return e.value-t.value}function Ea(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=Ca,e=Ta,r=Sa;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Aa(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.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&&(Ma(t,function(t){t.children&&(t.value=0)}),Aa(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 i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},ka(n,e)},t.layout.pie=function(){var e=Number,r=La,n=0,i=Tt,a=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),f=+(\\\"function\\\"==typeof n?n.apply(this,arguments):n),h=(\\\"function\\\"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+(\\\"function\\\"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),g=t.sum(u),m=g?(h-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===La?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:f,endAngle:f+=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?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var La={};function za(t){return t.x}function Pa(t){return t.y}function Da(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=Ra,n=Ba,i=Da,a=za,o=Pa;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),f=u.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,g,m,v=n.call(s,f,c),y=u[0].length;for(g=0;g<y;++g)for(i.call(s,u[0][g],m=v[g],f[0][g][1]),d=1;d<p;++d)i.call(s,u[d][g],m+=f[d-1][g][1],f[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:Oa.get(t)||Ra,s):r},s.offset=function(t){return arguments.length?(n=\\\"function\\\"==typeof t?t:Ia.get(t)||Ba,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Oa=t.map({\\\"inside-out\\\":function(e){var r,n,i=e.length,a=e.map(Fa),o=e.map(Na),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:Ra}),Ia=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[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;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Ba});function Ra(e){return t.range(e.length)}function Ba(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Fa(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(Za),(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(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a<l;a++){Ka(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ya(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ya(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Wa(r,n=o):Wa(r=s,n),a--):(Ga(r,i),n=i,x(i))}var m=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=m,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(Ja)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function Za(t){t._pack_next=t._pack_prev=t}function Ja(t){delete t._pack_next,delete t._pack_prev}function Ka(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,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*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function Qa(t,e){return t.parent==e.parent?1:2}function $a(t){var e=t.children;return e.length?e[0]:t.t}function to(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function eo(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 ro(t,e,r){return t.a.parent===e.parent?t.a:r}function no(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function io(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function ao(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function oo(t){return t.rangeExtent?t.rangeExtent():ao(t.range())}function so(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function lo(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function co(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:uo}t.layout.histogram=function(){var e=!0,r=Number,n=qa,i=Va;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=me(t),a):n},a.bins=function(t){return arguments.length?(i=\\\"number\\\"==typeof t?function(e){return Ua(e,t)}:me(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:\\\"function\\\"==typeof e?e:function(){return e};if(s.x=s.y=0,Aa(s,function(t){t.r=+u(t.value)}),Aa(s,Xa),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Aa(s,function(t){t.r+=f}),Aa(s,Xa),Aa(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\\\"function\\\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},ka(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if(Aa(f,o),f.parent.m=-f.z,Ma(f,s),i)Ma(u,l);else{var h=u,p=u,d=u;Ma(u,function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);Ma(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,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!to(o)&&(o.t=s,o.m+=f-u),a&&!$a(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},ka(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Aa(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 f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Aa(c,i?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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},ka(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l=\\\"squarify\\\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,g=\\\"slice\\\"===l?a.dx:\\\"dice\\\"===l?a.dy:\\\"slice-dice\\\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,\\\"squarify\\\"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return io(e,t)}var r;return o=null==(a=t)?no:\\\"function\\\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?no(e):io(e,\\\"number\\\"==typeof r?[r,r,r,r]:r)}:\\\"number\\\"===r?(t=[t,t,t,t],e):e,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},ka(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,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},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 uo={floor:z,ceil:z};function fo(e,r,n,i){var a=[],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;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function ho(e,r){return t.rebind(e,r,\\\"range\\\",\\\"rangeRound\\\",\\\"interpolate\\\",\\\"clamp\\\")}function po(t,e){return lo(t,co(go(t,e)[2])),lo(t,co(go(t,e)[2])),t}function go(t,e){null==e&&(e=10);var r=ao(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function mo(e,r){return t.range.apply(t,go(e,r))}function vo(e,r,n){var i=go(e,r);if(n){var a=Le.exec(n);if(a.shift(),\\\"s\\\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\\\".\\\"+xo(o.scale(i[2]))),a[8]=\\\"f\\\",n=t.format(a.join(\\\"\\\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\\\".\\\"+function(t,e){var r=xo(e[2]);return t in yo?Math.abs(r-xo(Math.max(y(e[0]),y(e[1]))))+ +(\\\"e\\\"!==t):r-2*(\\\"%\\\"===t)}(a[8],i)),n=a.join(\\\"\\\")}else n=\\\",.\\\"+xo(i[2])+\\\"f\\\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?fo:so,s=i?pa:ha;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}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(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return mo(e,t)};l.tickFormat=function(t,r){return vo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c<u;c++)for(var h=1;h<f;h++)e.push(s(c)*h);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var h=f-1;h>0;h--)e.push(s(c)*h);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 bo;arguments.length<2?r=bo:\\\"function\\\"!=typeof r&&(r=t.format(r));var i=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<=i?r(t):\\\"\\\"}};l.copy=function(){return e(r.copy(),n,i,a)};return ho(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var bo=t.format(\\\".0e\\\"),_o={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function wo(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 i=wo(r),a=wo(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return mo(n,t)};o.tickFormat=function(t,e){return vo(n,t,e)};o.nice=function(t){return o.domain(po(n,t))};o.exponent=function(t){return arguments.length?(i=wo(r=t),a=wo(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return ho(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 i,a,o;function s(t){return a[((i.get(t)||(\\\"range\\\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\\\"range\\\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:\\\"rangePoints\\\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:\\\"rangeRoundPoints\\\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:\\\"rangeBands\\\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:\\\"rangeRoundBands\\\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return ao(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\\\"range\\\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(ko)},t.scale.category20=function(){return t.scale.ordinal().range(Mo)},t.scale.category20b=function(){return t.scale.ordinal().range(Ao)},t.scale.category20c=function(){return t.scale.ordinal().range(To)};var ko=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Mo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Ao=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),To=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function So(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}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/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return mo(e,t)};r.tickFormat=function(t,r){return vo(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Eo,e=Lo,r=So,n=Co,i=zo,a=Po,o=Do;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Ct,f=a.apply(this,arguments)-Ct,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=St)return l(c,p)+(s?l(s,1-p):\\\"\\\")+\\\"Z\\\";var d,g,m,v,y,x,b,_,w,k,M,A,T=0,S=0,C=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Co?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Ot(m/c*Math.sin(v))),s&&(T=Ot(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var E=Math.abs(f-u-2*S)<=At?0:1;if(S&&Oo(y,x,b,_)===p^E){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-T),k=s*Math.sin(f-T),M=s*Math.cos(u+T),A=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=At?0:1;if(T&&Oo(w,k,M,A)===1-p^z){var P=(u+f)/2;w=s*Math.cos(P),k=s*Math.sin(P),M=A=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var D=d,O=d;if(h<At){var I=null==M?[w,k]:null==b?[y,x]:ai([y,x],[M,A],[b,_],[w,k]),R=y-I[0],B=x-I[1],F=b-I[0],N=_-I[1],j=1/Math.sin(Math.acos((R*F+B*N)/(Math.sqrt(R*R+B*B)*Math.sqrt(F*F+N*N)))/2),V=Math.sqrt(I[0]*I[0]+I[1]*I[1]);O=Math.min(d,(s-V)/(j-1)),D=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=Io(null==M?[w,k]:[M,A],[y,x],c,D,p),q=Io([b,_],[w,k],c,D,p);d===D?C.push(\\\"M\\\",U[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",U[1],\\\"A\\\",c,\\\",\\\",c,\\\" 0 \\\",1-p^Oo(U[1][0],U[1][1],q[1][0],q[1][1]),\\\",\\\",p,\\\" \\\",q[1],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",q[0]):C.push(\\\"M\\\",U[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 1,\\\",g,\\\" \\\",q[0])}else C.push(\\\"M\\\",y,\\\",\\\",x);if(null!=M){var H=Io([y,x],[M,A],s,-O,p),G=Io([w,k],null==b?[y,x]:[b,_],s,-O,p);d===O?C.push(\\\"L\\\",G[0],\\\"A\\\",O,\\\",\\\",O,\\\" 0 0,\\\",g,\\\" \\\",G[1],\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",p^Oo(G[1][0],G[1][1],H[1][0],H[1][1]),\\\",\\\",1-p,\\\" \\\",H[1],\\\"A\\\",O,\\\",\\\",O,\\\" 0 0,\\\",g,\\\" \\\",H[0]):C.push(\\\"L\\\",G[0],\\\"A\\\",O,\\\",\\\",O,\\\" 0 0,\\\",g,\\\" \\\",H[0])}else C.push(\\\"L\\\",w,\\\",\\\",k)}else C.push(\\\"M\\\",y,\\\",\\\",x),null!=b&&C.push(\\\"A\\\",c,\\\",\\\",c,\\\" 0 \\\",E,\\\",\\\",p,\\\" \\\",b,\\\",\\\",_),C.push(\\\"L\\\",w,\\\",\\\",k),null!=M&&C.push(\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",z,\\\",\\\",1-p,\\\" \\\",M,\\\",\\\",A);return C.push(\\\"Z\\\"),C.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=me(e),s):t},s.outerRadius=function(t){return arguments.length?(e=me(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=me(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Co?Co:me(t),s):n},s.startAngle=function(t){return arguments.length?(i=me(t),s):i},s.endAngle=function(t){return arguments.length?(a=me(t),s):a},s.padAngle=function(t){return arguments.length?(o=me(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Ct;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Co=\\\"auto\\\";function Eo(t){return t.innerRadius}function Lo(t){return t.outerRadius}function zo(t){return t.startAngle}function Po(t){return t.endAngle}function Do(t){return t&&t.padAngle}function Oo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Io(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,k=(-b*m-v*_)/y,M=(b*v+m*_)/y,A=(-b*m+v*_)/y,T=w-d,S=k-g,C=M-d,E=A-g;return T*T+S*S>C*C+E*E&&(w=M,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Fo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=me(e),p=me(r);function d(){l.push(\\\"M\\\",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.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?(a=\\\"function\\\"==typeof t?i=t:(i=Bo.get(t)||Fo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Ro(z)};var Bo=t.map({linear:Fo,\\\"linear-closed\\\":No,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];for(;++e<r;)i.push(\\\"H\\\",(n[0]+(n=t[e])[0])/2,\\\"V\\\",n[1]);r>1&&i.push(\\\"H\\\",n[0]);return i.join(\\\"\\\")},\\\"step-before\\\":jo,\\\"step-after\\\":Vo,basis:Ho,\\\"basis-open\\\":function(t){if(t.length<4)return Fo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+\\\",\\\"+Go(Xo,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Zo(r,a,o);return r.join(\\\"\\\")},\\\"basis-closed\\\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Go(Xo,o),\\\",\\\",Go(Xo,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Zo(e,o,s);return e.join(\\\"\\\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ho(t)},cardinal:function(t,e){return t.length<3?Fo(t):t[0]+Uo(t,qo(t,e))},\\\"cardinal-open\\\":function(t,e){return t.length<4?Fo(t):t[1]+Uo(t.slice(1,-1),qo(t,e))},\\\"cardinal-closed\\\":function(t,e){return t.length<3?No(t):t[0]+Uo((t.push(t[0]),t),qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Fo(t):t[0]+Uo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Jo(i,a);for(;++e<r;)n[e]=(o+(o=Jo(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=Jo(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Fo(t){return t.length>1?t.join(\\\"L\\\"):t+\\\"Z\\\"}function No(t){return t.join(\\\"L\\\")+\\\"Z\\\"}function jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"V\\\",(n=t[e])[1],\\\"H\\\",n[0]);return i.join(\\\"\\\")}function Vo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n=t[e])[0],\\\"V\\\",n[1]);return i.join(\\\"\\\")}function Uo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Fo(t);var r=t.length!=e.length,n=\\\"\\\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\\\"Q\\\"+(a[0]-2*o[0]/3)+\\\",\\\"+(a[1]-2*o[1]/3)+\\\",\\\"+a[0]+\\\",\\\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\\\"C\\\"+(i[0]+o[0])+\\\",\\\"+(i[1]+o[1])+\\\",\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1];for(var c=2;c<e.length;c++,l++)a=t[l],s=e[c],n+=\\\"S\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1]}if(r){var u=t[l];n+=\\\"Q\\\"+(a[0]+2*s[0]/3)+\\\",\\\"+(a[1]+2*s[1]/3)+\\\",\\\"+u[0]+\\\",\\\"+u[1]}return n}function qo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ho(t){if(t.length<3)return Fo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\\\",\\\",a,\\\"L\\\",Go(Xo,o),\\\",\\\",Go(Xo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Zo(l,o,s);return t.pop(),l.push(\\\"L\\\",n),l.join(\\\"\\\")}function Go(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Bo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Wo=[0,2/3,1/3,0],Yo=[0,1/3,2/3,0],Xo=[0,1/6,2/3,1/6];function Zo(t,e,r){t.push(\\\"C\\\",Go(Wo,e),\\\",\\\",Go(Wo,r),\\\",\\\",Go(Yo,e),\\\",\\\",Go(Yo,r),\\\",\\\",Go(Xo,e),\\\",\\\",Go(Xo,r))}function Jo(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ko(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Ct,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Qo(t){var e=$n,r=$n,n=0,i=ti,a=Wr,o=Fo,s=o.key,l=o,c=\\\"L\\\",u=.7;function f(s){var f,h,p,d=[],g=[],m=[],v=-1,y=s.length,x=me(e),b=me(n),_=e===r?function(){return h}:me(r),w=n===i?function(){return p}:me(i);function k(){d.push(\\\"M\\\",o(t(m),u),c,l(t(g.reverse()),u),\\\"Z\\\")}for(;++v<y;)a.call(this,f=s[v],v)?(g.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),m.push([+_.call(this,f,v),+w.call(this,f,v)])):g.length&&(k(),g=[],m=[]);return g.length&&k(),d.length?d.join(\\\"\\\"):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s=\\\"function\\\"==typeof t?o=t:(o=Bo.get(t)||Fo).key,l=o.reverse||o,c=o.closed?\\\"M\\\":\\\"L\\\",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function $o(t){return t.radius}function ts(t){return[t.x,t.y]}function es(){return 64}function rs(){return\\\"circle\\\"}function ns(t){var e=Math.sqrt(t/At);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=Ro(Ko);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},jo.reverse=Vo,Vo.reverse=jo,t.svg.area=function(){return Qo(z)},t.svg.area.radial=function(){var t=Qo(Ko);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=Nn,e=jn,r=$o,n=zo,i=Po;function a(r,n){var i,a,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)+(a=u,(i=c).a0==a.a0&&i.a1==a.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,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Ct,u=i.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>At)+\\\",1 \\\"+e}function l(t,e,r,n){return\\\"Q 0,0 \\\"+n}return a.radius=function(t){return arguments.length?(r=me(t),a):r},a.source=function(e){return arguments.length?(t=me(e),a):t},a.target=function(t){return arguments.length?(e=me(t),a):e},a.startAngle=function(t){return arguments.length?(n=me(t),a):n},a.endAngle=function(t){return arguments.length?(i=me(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.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=me(e),n):t},n.target=function(t){return arguments.length?(e=me(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=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(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)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=me(e),r):t},r.size=function(t){return arguments.length?(e=me(t),r):e},r};var is=t.map({circle:ns,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*os)),r=e*os;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/as),r=e*as/2;return\\\"M0,\\\"+r+\\\"L\\\"+e+\\\",\\\"+-r+\\\" \\\"+-e+\\\",\\\"+-r+\\\"Z\\\"},\\\"triangle-up\\\":function(t){var e=Math.sqrt(t/as),r=e*as/2;return\\\"M0,\\\"+-r+\\\"L\\\"+e+\\\",\\\"+r+\\\" \\\"+-e+\\\",\\\"+r+\\\"Z\\\"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Et);Y.transition=function(t){for(var e,r,n=us||++ps,i=ms(t),a=[],o=fs||{time:Date.now(),ease:ta,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&vs(r,u,i,n,o),e.push(r)}return cs(a,i,n)},Y.interrupt=function(t){return this.each(null==t?ss:ls(ms(t)))};var ss=ls(ms());function ls(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 cs(t,e,r){return U(t,hs),t.namespace=e,t.id=r,t}var us,fs,hs=[],ps=0;function ds(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,\\\"function\\\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function gs(t){return null==t&&(t=\\\"\\\"),function(){this.textContent=t}}function ms(t){return null==t?\\\"__transition__\\\":\\\"__transition_\\\"+t+\\\"__\\\"}function vs(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.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,Me(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=Me(function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h},0,a),f=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}hs.call=Y.call,hs.empty=Y.empty,hs.node=Y.node,hs.size=Y.size,t.transition=function(e,r){return e&&e.transition?us?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=hs,hs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?(\\\"__data__\\\"in n&&(r.__data__=n.__data__),vs(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return cs(o,a,i)},hs.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&vs(i,d,s,o,a),e.push(i)}return cs(l,s,o)},hs.filter=function(t){var e,r,n=[];\\\"function\\\"!=typeof t&&(t=ct(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return cs(n,this.namespace,this.id)},hs.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(i){i[n][r].tween.set(t,e)})},hs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\\\"transform\\\"==e?fa:Gi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ds(this,\\\"attr.\\\"+e,r,i.local?function(t){return null==t?o:(t+=\\\"\\\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\\\"\\\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},hs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\\\"attr.\\\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},hs.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 i(){this.style.removeProperty(t)}return ds(this,\\\"style.\\\"+t,e,function(e){return null==e?i:(e+=\\\"\\\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Gi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},hs.styleTween=function(t,e,r){return arguments.length<3&&(r=\\\"\\\"),this.tween(\\\"style.\\\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},hs.text=function(t){return ds(this,\\\"text\\\",t,gs)},hs.remove=function(){var t=this.namespace;return this.each(\\\"end.transition\\\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},hs.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}))},hs.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,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},hs.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,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},hs.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=fs,o=us;try{us=n,ut(this,function(t,r,a){fs=t[i][n],e.call(t,t.__data__,r,a)})}finally{fs=a,us=o}}else ut(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\\\"start\\\",\\\"end\\\",\\\"interrupt\\\"))).on(e,r)});return this},hs.transition=function(){for(var t,e,r,n=this.id,i=++ps,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&vs(e,u,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return cs(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ys,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):z:e,g=u.selectAll(\\\".tick\\\").data(p,h),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(a,0)+s,b=oo(h),_=u.selectAll(\\\".domain\\\").data([0]),w=(_.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"domain\\\"),t.transition(_));m.append(\\\"line\\\"),m.append(\\\"text\\\");var k,M,A,T,S=m.select(\\\"line\\\"),C=y.select(\\\"line\\\"),E=g.select(\\\"text\\\").text(d),L=m.select(\\\"text\\\"),P=y.select(\\\"text\\\"),D=\\\"top\\\"===i||\\\"left\\\"===i?-1:1;if(\\\"bottom\\\"===i||\\\"top\\\"===i?(n=bs,k=\\\"x\\\",A=\\\"y\\\",M=\\\"x2\\\",T=\\\"y2\\\",E.attr(\\\"dy\\\",D<0?\\\"0em\\\":\\\".71em\\\").style(\\\"text-anchor\\\",\\\"middle\\\"),w.attr(\\\"d\\\",\\\"M\\\"+b[0]+\\\",\\\"+D*o+\\\"V0H\\\"+b[1]+\\\"V\\\"+D*o)):(n=_s,k=\\\"y\\\",A=\\\"x\\\",M=\\\"y2\\\",T=\\\"x2\\\",E.attr(\\\"dy\\\",\\\".32em\\\").style(\\\"text-anchor\\\",D<0?\\\"end\\\":\\\"start\\\"),w.attr(\\\"d\\\",\\\"M\\\"+D*o+\\\",\\\"+b[0]+\\\"H0V\\\"+b[1]+\\\"H\\\"+D*o)),S.attr(T,D*a),L.attr(A,D*x),C.attr(M,0).attr(T,D*a),P.attr(k,0).attr(A,D*x),h.rangeBand){var O=h,I=O.rangeBand()/2;f=h=function(t){return O(t)+I}}else f.rangeBand?f=h:v.call(n,h,f);m.call(n,f,h),y.call(n,h,h)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in xs?t+\\\"\\\":ys,u):i},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?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},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 ys=\\\"bottom\\\",xs={top:1,right:1,bottom:1,left:1};function bs(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(\\\"+(isFinite(n)?n:r(t))+\\\",0)\\\"})}function _s(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=j(h,\\\"brushstart\\\",\\\"brush\\\",\\\"brushend\\\"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=ks[0];function h(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(f,z);n.exit().remove(),n.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"resize \\\"+t}).style(\\\"cursor\\\",function(t){return ws[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\\\",h.empty()?\\\"none\\\":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=oo(i),l.attr(\\\"x\\\",o[0]).attr(\\\"width\\\",o[1]-o[0]),d(s)),a&&(o=oo(a),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 f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,M=y.classed(\\\"extent\\\"),A=xt(v),T=t.mouse(v),S=t.select(o(v)).on(\\\"keydown.brush\\\",function(){32==t.event.keyCode&&(M||(f=null,T[0]-=s[1],T[1]-=l[1],M=2),F())}).on(\\\"keyup.brush\\\",function(){32==t.event.keyCode&&2==M&&(T[0]+=s[1],T[1]+=l[1],M=0,F())});if(t.event.changedTouches?S.on(\\\"touchmove.brush\\\",L).on(\\\"touchend.brush\\\",P):S.on(\\\"mousemove.brush\\\",L).on(\\\"mouseup.brush\\\",P),b.interrupt().selectAll(\\\"*\\\").interrupt(),M)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var C=+/w$/.test(_),E=+/^n/.test(_);m=[s[1-C]-T[0],l[1-E]-T[1]],T[0]=s[C],T[1]=l[E]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),M||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<f[0])],T[1]=l[+(e[1]<f[1])]):f=null),w&&z(e,i,0)&&(d(b),r=!0),k&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\\\"brush\\\",mode:M?\\\"move\\\":\\\"resize\\\"}))}function z(t,n,i){var a,o,h=oo(n),p=h[0],d=h[1],g=T[i],m=i?l:s,v=m[1]-m[0];if(M&&(p-=g,d-=v+g),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],M?o=(a+=g)+v:(f&&(g=Math.max(p,Math.min(d,2*f[i]-a))),g<a?(o=a,a=g):o=g),m[0]!=a||m[1]!=o)return i?r=null:e=null,m[0]=a,m[1]=o,!0}function P(){L(),b.style(\\\"pointer-events\\\",\\\"all\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",h.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\\\"}),L()}return h.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,us?t.select(this).transition().each(\\\"start.brush\\\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\\\"brushstart\\\"})}).tween(\\\"brush:brush\\\",function(){var t=Wi(s,a.x),n=Wi(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\\\"brush\\\",mode:\\\"resize\\\"})}}).each(\\\"end.brush\\\",function(){e=a.i,r=a.j,i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"})}):(i({type:\\\"brushstart\\\"}),i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"}))})},h.x=function(t){return arguments.length?(f=ks[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=ks[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,\\\"on\\\")};var ws={n:\\\"ns-resize\\\",e:\\\"ew-resize\\\",s:\\\"ns-resize\\\",w:\\\"ew-resize\\\",nw:\\\"nwse-resize\\\",ne:\\\"nesw-resize\\\",se:\\\"nwse-resize\\\",sw:\\\"nesw-resize\\\"},ks=[[\\\"n\\\",\\\"e\\\",\\\"s\\\",\\\"w\\\",\\\"nw\\\",\\\"ne\\\",\\\"se\\\",\\\"sw\\\"],[\\\"e\\\",\\\"w\\\"],[\\\"n\\\",\\\"s\\\"],[]],Ms=De.format=sr.timeFormat,As=Ms.utc,Ts=As(\\\"%Y-%m-%dT%H:%M:%S.%LZ\\\");function Ss(t){return t.toISOString()}function Cs(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Ls,i);return a==Ls.length?[r.year,go(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Ls[a-1]<Ls[a]/i?a-1:a]:[Ds,go(e,n)[2]]}return i.invert=function(t){return Es(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Es)},i.nice=function(t,e){var r=i.domain(),n=ao(r),o=null==t?a(n,10):\\\"number\\\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Es(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(lo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Es(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Es(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):\\\"number\\\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Es(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Cs(e.copy(),r,n)},ho(i,e)}function Es(t){return new Date(t)}Ms.iso=Date.prototype.toISOString&&+new Date(\\\"2000-01-01T00:00:00.000Z\\\")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,De.second=Be(function(t){return new Oe(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),De.seconds=De.second.range,De.seconds.utc=De.second.utc.range,De.minute=Be(function(t){return new Oe(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),De.minutes=De.minute.range,De.minutes.utc=De.minute.utc.range,De.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new Oe(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),De.hours=De.hour.range,De.hours.utc=De.hour.utc.range,De.month=Be(function(t){return(t=De.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),De.months=De.month.range,De.months.utc=De.month.utc.range;var Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[De.second,1],[De.second,5],[De.second,15],[De.second,30],[De.minute,1],[De.minute,5],[De.minute,15],[De.minute,30],[De.hour,1],[De.hour,3],[De.hour,6],[De.hour,12],[De.day,1],[De.day,2],[De.week,1],[De.month,1],[De.month,3],[De.year,1]],Ps=Ms.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\\\",Wr]]),Ds={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Es)},floor:z,ceil:z};zs.year=De.year,De.scale=function(){return Cs(t.scale.linear(),zs,Ps)};var Os=zs.map(function(t){return[t[0].utc,t[1]]}),Is=As.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\\\",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Bs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Os.year=De.year.utc,De.scale.utc=function(){return Cs(t.scale.linear(),Os,Is)},t.text=ve(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\\\"application/json\\\",Rs,e)},t.html=function(t,e){return ye(t,\\\"text/html\\\",Bs,e)},t.xml=ve(function(t){return t.responseXML}),\\\"object\\\"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],131:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],132:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"incremental-convex-hull\\\"),i=t(\\\"uniq\\\");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];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 i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var g=f[d];h[d]=g,p+=g*g}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;for(var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(var u=0;u<=s;++u){var h=x.slice();h[u]=1,m[u+1]=h,v[u+1]=-1}for(var 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(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{\\\"incremental-convex-hull\\\":299,uniq:425}],133:[function(t,e,r){(function(t){var r=!1;if(\\\"undefined\\\"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.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),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\\\"buffer\\\").Buffer)},{buffer:85}],134:[function(t,e,r){var n=t(\\\"abs-svg-path\\\"),i=t(\\\"normalize-svg-path\\\"),a={M:\\\"moveTo\\\",C:\\\"bezierCurveTo\\\"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)}),t.closePath()}},{\\\"abs-svg-path\\\":44,\\\"normalize-svg-path\\\":337}],135:[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}}},{}],136:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){switch(void 0===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 i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],137:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)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=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(d(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(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],p=t[b+1],u<n&&(n=u),p<s&&(s=p),u>l&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=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)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;n=r.next;for(;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(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 M(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 A(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(A(t,0,a,r));if(i)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(A(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],138:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t.length;if(\\\"number\\\"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),i=0;i<e;++i)o[i]=[];for(var i=0;i<r;++i){var a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(\\\"uniq\\\")},{uniq:425}],139:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../object/valid-value\\\");e.exports=function(){return n(this).length=0,this}},{\\\"../../object/valid-value\\\":171}],140:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Array.from:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":141,\\\"./shim\\\":142}],141:[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]))}},{}],142:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es6-symbol\\\").iterator,i=t(\\\"../../function/is-arguments\\\"),a=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\\\"),f=Array.isArray,h=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,k=arguments[1],M=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&a(this))e=this;else{if(!k){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(f(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=k?h.call(k,M,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=k?h.call(k,M,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=k?h.call(k,M,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\\\":143,\\\"../../function/is-function\\\":144,\\\"../../number/to-pos-integer\\\":150,\\\"../../object/is-value\\\":160,\\\"../../object/valid-callable\\\":169,\\\"../../object/valid-value\\\":171,\\\"../../string/is-string\\\":175,\\\"es6-symbol\\\":185}],143:[function(t,e,r){\\\"use strict\\\";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],144:[function(t,e,r){\\\"use strict\\\";var n=Object.prototype.toString,i=n.call(t(\\\"./noop\\\"));e.exports=function(t){return\\\"function\\\"==typeof t&&n.call(t)===i}},{\\\"./noop\\\":145}],145:[function(t,e,r){\\\"use strict\\\";e.exports=function(){}},{}],146:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Math.sign:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":147,\\\"./shim\\\":148}],147:[function(t,e,r){\\\"use strict\\\";e.exports=function(){var t=Math.sign;return\\\"function\\\"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],148:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],149:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../math/sign\\\"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{\\\"../math/sign\\\":146}],150:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./to-integer\\\"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{\\\"./to-integer\\\":149}],151:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./valid-callable\\\"),i=t(\\\"./valid-value\\\"),a=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,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort(\\\"function\\\"==typeof h?a.call(h,r):void 0),\\\"function\\\"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e})}}},{\\\"./valid-callable\\\":169,\\\"./valid-value\\\":171}],152:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Object.assign:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":153,\\\"./shim\\\":154}],153:[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\\\")}},{}],154:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../keys\\\"),i=t(\\\"../valid-value\\\"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{\\\"../keys\\\":161,\\\"../valid-value\\\":171}],155:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../array/from\\\"),i=t(\\\"./assign\\\"),a=t(\\\"./valid-value\\\");e.exports=function(t){var e=Object(a(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])}):i(s,t),s}},{\\\"../array/from\\\":140,\\\"./assign\\\":152,\\\"./valid-value\\\":171}],156:[function(t,e,r){\\\"use strict\\\";var n,i,a,o,s=Object.create;t(\\\"./set-prototype-of/is-implemented\\\")()||(n=t(\\\"./set-prototype-of/shim\\\")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){a[t]=\\\"__proto__\\\"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(i,a),Object.defineProperty(n,\\\"nullPolyfill\\\",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{\\\"./set-prototype-of/is-implemented\\\":167,\\\"./set-prototype-of/shim\\\":168}],157:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./_iterate\\\")(\\\"forEach\\\")},{\\\"./_iterate\\\":151}],158:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return\\\"function\\\"==typeof t}},{}],159:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is-value\\\"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{\\\"./is-value\\\":160}],160:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../function/noop\\\")();e.exports=function(t){return t!==n&&null!==t}},{\\\"../function/noop\\\":145}],161:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Object.keys:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":162,\\\"./shim\\\":163}],162:[function(t,e,r){\\\"use strict\\\";e.exports=function(){try{return Object.keys(\\\"primitive\\\"),!0}catch(t){return!1}}},{}],163:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../is-value\\\"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{\\\"../is-value\\\":160}],164:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./valid-callable\\\"),i=t(\\\"./for-each\\\"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)}),r}},{\\\"./for-each\\\":157,\\\"./valid-callable\\\":169}],165:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is-value\\\"),i=Array.prototype.forEach,a=Object.create;e.exports=function(t){var e=a(null);return i.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{\\\"./is-value\\\":160}],166:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Object.setPrototypeOf:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":167,\\\"./shim\\\":168}],167:[function(t,e,r){\\\"use strict\\\";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\\\"function\\\"==typeof t&&i(t(e(null),a))===a}},{}],168:[function(t,e,r){\\\"use strict\\\";var n,i,a,o,s=t(\\\"../is-object\\\"),l=t(\\\"../valid-value\\\"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError(\\\"Prototype must be null or an object\\\")},e.exports=(i=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})}())?(2===i.level?i.set?(o=i.set,a=function(t,e){return o.call(n(t,e),e),t}):a=function(t,e){return n(t,e).__proto__=e,t}:a=function t(e,r){var i;return n(e,r),(i=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&u(t.nullPolyfill,\\\"__proto__\\\",f),e},Object.defineProperty(a,\\\"level\\\",{configurable:!1,enumerable:!1,writable:!1,value:i.level})):null,t(\\\"../create\\\")},{\\\"../create\\\":156,\\\"../is-object\\\":159,\\\"../valid-value\\\":171}],169:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){if(\\\"function\\\"!=typeof t)throw new TypeError(t+\\\" is not a function\\\");return t}},{}],170:[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\\\":159}],171:[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\\\":160}],172:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?String.prototype.contains:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":173,\\\"./shim\\\":174}],173:[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\\\"))}},{}],174:[function(t,e,r){\\\"use strict\\\";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],175:[function(t,e,r){\\\"use strict\\\";var n=Object.prototype.toString,i=n.call(\\\"\\\");e.exports=function(t){return\\\"string\\\"==typeof t||t&&\\\"object\\\"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],176:[function(t,e,r){\\\"use strict\\\";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],177:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/set-prototype-of\\\"),a=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?a.call(e,\\\"key+value\\\")?\\\"key+value\\\":a.call(e,\\\"key\\\")?\\\"key\\\":\\\"value\\\":\\\"value\\\",c(this,\\\"__kind__\\\",o(\\\"\\\",e))},i&&i(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\\\"))},{\\\"./\\\":180,d:121,\\\"es5-ext/object/set-prototype-of\\\":166,\\\"es5-ext/string/#/contains\\\":172,\\\"es6-symbol\\\":185}],178:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/function/is-arguments\\\"),i=t(\\\"es5-ext/object/valid-callable\\\"),a=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,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r=\\\"array\\\":a(t)?r=\\\"string\\\":t=o(t),i(e),f=function(){h=!0},\\\"array\\\"!==r)if(\\\"string\\\"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)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,f),!h);++p);else c.call(t,function(t){return l.call(e,v,t,f),h})}},{\\\"./get\\\":179,\\\"es5-ext/function/is-arguments\\\":143,\\\"es5-ext/object/valid-callable\\\":169,\\\"es5-ext/string/is-string\\\":175}],179:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/function/is-arguments\\\"),i=t(\\\"es5-ext/string/is-string\\\"),a=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 a(t):i(t)?new o(t):new a(t)}},{\\\"./array\\\":177,\\\"./string\\\":182,\\\"./valid-iterable\\\":183,\\\"es5-ext/function/is-arguments\\\":143,\\\"es5-ext/string/is-string\\\":175,\\\"es6-symbol\\\":185}],180:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/array/#/clear\\\"),a=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\\\"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\\\"Constructor requires 'new'\\\");h(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,h(n.prototype,a({_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)):f(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__&&i.call(this.__redo__),this.__nextIndex__=0})}))),f(n.prototype,u.iterator,l(function(){return this}))},{d:121,\\\"d/auto-bind\\\":120,\\\"es5-ext/array/#/clear\\\":139,\\\"es5-ext/object/assign\\\":152,\\\"es5-ext/object/valid-callable\\\":169,\\\"es5-ext/object/valid-value\\\":171,\\\"es6-symbol\\\":185}],181:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/function/is-arguments\\\"),i=t(\\\"es5-ext/object/is-value\\\"),a=t(\\\"es5-ext/string/is-string\\\"),o=t(\\\"es6-symbol\\\").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||\\\"function\\\"==typeof t[o])))}},{\\\"es5-ext/function/is-arguments\\\":143,\\\"es5-ext/object/is-value\\\":160,\\\"es5-ext/string/is-string\\\":175,\\\"es6-symbol\\\":185}],182:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/set-prototype-of\\\"),a=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__\\\",a(\\\"\\\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:a(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,a(\\\"c\\\",\\\"String Iterator\\\"))},{\\\"./\\\":180,d:121,\\\"es5-ext/object/set-prototype-of\\\":166,\\\"es6-symbol\\\":185}],183:[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\\\":181}],184:[function(t,e,r){(function(n,i){!function(t,n){\\\"object\\\"==typeof r&&void 0!==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)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c=\\\"undefined\\\"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h=\\\"undefined\\\"==typeof self&&void 0!==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<a;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}a=0}var v,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&U(i);var a,o=n._state;return o?(a=r[o-1],l(function(){return j(o,i,a,n._result)})):R(n,i,t,e),i}function k(t){if(t&&\\\"object\\\"==typeof t&&t.constructor===this)return t;var e=new this(A);return P(e,t),e}h?_=function(){return n.nextTick(m)}:f?(y=0,x=new f(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 e=t(\\\"vertx\\\");return o=e.runOnLoop||e.runOnContext,function(){o(m)}}catch(t){return d()}}():d();var M=Math.random().toString(36).substring(16);function A(){}var T=void 0,S=1,C=2,E=new F;function L(t){try{return t.then}catch(t){return E.error=t,E}}function z(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?O(t,e._result):e._state===C?I(t,e._result):R(e,void 0,function(e){return P(t,e)},function(e){return I(t,e)})}(t,r):n===E?I(t,E.error):void 0===n?O(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?P(t,r):O(t,r))},function(e){n||(n=!0,I(t,e))},t._label);!n&&i&&(n=!0,I(t,i))},t)}(t,r,n):O(t,r)}function P(t,e){var r;t===e?I(t,new TypeError(\\\"You cannot resolve a promise with itself\\\")):\\\"function\\\"==typeof(r=e)||\\\"object\\\"==typeof r&&null!==r?z(t,e,L(e)):O(t,e)}function D(t){t._onerror&&t._onerror(t._result),B(t)}function O(t,e){t._state===T&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(B,t))}function I(t,e){t._state===T&&(t._state=C,t._result=e,l(D,t))}function R(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+S]=r,i[a+C]=n,0===a&&t._state&&l(B,t)}function B(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?j(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var N=new F;function j(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,i))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void I(r,new TypeError(\\\"A promises callback cannot return that same promise.\\\"))}else o=i,l=!0;r._state!==T||(a&&l?P(r,o):c?I(r,s):t===S?O(r,o):t===C&&I(r,o))}var V=0;function U(t){t[M]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?O(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&O(this.promise,this._result))):I(this.promise,new Error(\\\"Array Methods must be provided an Array\\\"))}function H(t){this[M]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\\\"function\\\"!=typeof t&&function(){throw new TypeError(\\\"You must pass a resolver function as the first argument to the promise constructor\\\")}(),this instanceof H?function(t,e){try{e(function(e){P(t,e)},function(e){I(t,e)})}catch(e){I(t,e)}}(this,t):function(){throw new TypeError(\\\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\\\")}())}function G(){var t=void 0;if(void 0!==i)t=i;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=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===T&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var i=L(t);if(i===w&&t._state!==T)this._settledAt(t._state,e,t._result);else if(\\\"function\\\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===H){var a=new r(A);z(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===T&&(this._remaining--,t===C?I(n,r):this._result[e]=r),0===this._remaining&&O(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(C,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\\\"You must pass an array to race.\\\"))})},H.resolve=k,H.reject=function(t){var e=new this(A);return I(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t(\\\"_process\\\"),\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{_process:366}],185:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Symbol:t(\\\"./polyfill\\\")},{\\\"./is-implemented\\\":186,\\\"./polyfill\\\":188}],186:[function(t,e,r){\\\"use strict\\\";var n={object:!0,symbol:!0};e.exports=function(){var t;if(\\\"function\\\"!=typeof Symbol)return!1;t=Symbol(\\\"test symbol\\\");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],187:[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]))}},{}],188:[function(t,e,r){\\\"use strict\\\";var n,i,a,o,s=t(\\\"d\\\"),l=t(\\\"./validate-symbol\\\"),c=Object.create,u=Object.defineProperties,f=Object.defineProperty,h=Object.prototype,p=c(null);if(\\\"function\\\"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||\\\"\\\")];)++n;return d[t+=n||\\\"\\\"]=!0,f(h,e=\\\"@@\\\"+t,s.gs(null,function(t){r||(r=!0,f(this,e,s(t)),r=!1)})),e});a=function(t){if(this instanceof a)throw new TypeError(\\\"Symbol is not a constructor\\\");return i(t)},e.exports=i=function t(e){var r;if(this instanceof t)throw new TypeError(\\\"Symbol is not a constructor\\\");return o?n(e):(r=c(a.prototype),e=void 0===e?\\\"\\\":String(e),u(r,{__description__:s(\\\"\\\",e),__name__:s(\\\"\\\",g(e))}))},u(i,{for:s(function(t){return p[t]?p[t]:p[t]=i(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s(\\\"\\\",n&&n.hasInstance||i(\\\"hasInstance\\\")),isConcatSpreadable:s(\\\"\\\",n&&n.isConcatSpreadable||i(\\\"isConcatSpreadable\\\")),iterator:s(\\\"\\\",n&&n.iterator||i(\\\"iterator\\\")),match:s(\\\"\\\",n&&n.match||i(\\\"match\\\")),replace:s(\\\"\\\",n&&n.replace||i(\\\"replace\\\")),search:s(\\\"\\\",n&&n.search||i(\\\"search\\\")),species:s(\\\"\\\",n&&n.species||i(\\\"species\\\")),split:s(\\\"\\\",n&&n.split||i(\\\"split\\\")),toPrimitive:s(\\\"\\\",n&&n.toPrimitive||i(\\\"toPrimitive\\\")),toStringTag:s(\\\"\\\",n&&n.toStringTag||i(\\\"toStringTag\\\")),unscopables:s(\\\"\\\",n&&n.unscopables||i(\\\"unscopables\\\"))}),u(a.prototype,{constructor:s(i),toString:s(\\\"\\\",function(){return this.__name__})}),u(i.prototype,{toString:s(function(){return\\\"Symbol (\\\"+l(this).__description__+\\\")\\\"}),valueOf:s(function(){return l(this)})}),f(i.prototype,i.toPrimitive,s(\\\"\\\",function(){var t=l(this);return\\\"symbol\\\"==typeof t?t:t.toString()})),f(i.prototype,i.toStringTag,s(\\\"c\\\",\\\"Symbol\\\")),f(a.prototype,i.toStringTag,s(\\\"c\\\",i.prototype[i.toStringTag])),f(a.prototype,i.toPrimitive,s(\\\"c\\\",i.prototype[i.toPrimitive]))},{\\\"./validate-symbol\\\":189,d:121}],189:[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\\\":187}],190:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?WeakMap:t(\\\"./polyfill\\\")},{\\\"./is-implemented\\\":191,\\\"./polyfill\\\":193}],191:[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)))))}},{}],192:[function(t,e,r){\\\"use strict\\\";e.exports=\\\"function\\\"==typeof WeakMap&&\\\"[object WeakMap]\\\"===Object.prototype.toString.call(new WeakMap)},{}],193:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/set-prototype-of\\\"),a=t(\\\"es5-ext/object/valid-object\\\"),o=t(\\\"es5-ext/object/valid-value\\\"),s=t(\\\"es5-ext/string/random-uniq\\\"),l=t(\\\"d\\\"),c=t(\\\"es6-iterator/get\\\"),u=t(\\\"es6-iterator/for-of\\\"),f=t(\\\"es6-symbol\\\").toStringTag,h=t(\\\"./is-native-implemented\\\"),p=Array.isArray,d=Object.defineProperty,g=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\\\"Constructor requires 'new'\\\");return t=h&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,null!=e&&(p(e)||(e=c(e))),d(t,\\\"__weakMapData__\\\",l(\\\"c\\\",\\\"$weakMap$\\\"+s())),e?(u(e,function(e){o(e),t.set(e[0],e[1])}),t):t},h&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:l(n)})),Object.defineProperties(n.prototype,{delete:l(function(t){return!!g.call(a(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:l(function(t){if(g.call(a(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:l(function(t){return g.call(a(t),this.__weakMapData__)}),set:l(function(t,e){return d(a(t),this.__weakMapData__,l(\\\"c\\\",e)),this}),toString:l(function(){return\\\"[object WeakMap]\\\"})}),d(n.prototype,f,l(\\\"c\\\",\\\"WeakMap\\\"))},{\\\"./is-native-implemented\\\":192,d:121,\\\"es5-ext/object/set-prototype-of\\\":166,\\\"es5-ext/object/valid-object\\\":170,\\\"es5-ext/object/valid-value\\\":171,\\\"es5-ext/string/random-uniq\\\":176,\\\"es6-iterator/for-of\\\":178,\\\"es6-iterator/get\\\":179,\\\"es6-symbol\\\":185}],194:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return\\\"function\\\"==typeof t}function a(t){return\\\"object\\\"==typeof t&&null!==t}function o(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(\\\"number\\\"!=typeof t||t<0||isNaN(t))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,s,l,c;if(this._events||(this._events={}),\\\"error\\\"===t&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified \\\"error\\\" event. ('+e+\\\")\\\");throw u.context=e,u}if(o(r=this._events[t]))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(a(r))for(s=Array.prototype.slice.call(arguments,1),n=(c=r.slice()).length,l=0;l<n;l++)c[l].apply(this,s);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(\\\"listener must be a function\\\");return this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",t,i(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&&!this._events[t].warned&&(r=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[t].length),\\\"function\\\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){if(!i(e))throw TypeError(\\\"listener must be a function\\\");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[t])return this;if(o=(r=this._events[t]).length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e);else if(a(r)){for(s=o;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\\\"removeListener\\\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this}if(i(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],195:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n=e||0,i=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]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],196:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=typeof t;if(\\\"string\\\"===e){var r=t;if(0===(t=+t)&&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}(r))return!1}else if(\\\"number\\\"!==e)return!1;return t-t<1}},{}],197:[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:if(\\\"number\\\"==typeof t){var n=l(t);return new o(n,n,0)}return 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\\\"),i=t(\\\"binary-search-bounds\\\");function a(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=i.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=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=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,--h)v[p]=l[h],x[p]=c[h]*m,y[p]=l[h+u],b[p]=c[h+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=f[0],k=f[1];for(p=0;p<u;++p)s[p]=a(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],m[f]=l[u]*p,g[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===g[f]&&m[f]===v[f]&&0===m[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,m,g,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=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,i=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 f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(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,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{\\\"binary-search-bounds\\\":72,\\\"cubic-hermite\\\":115}],198:[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)&&Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&&\\\"string\\\"!=typeof e||(e=new(n(e||\\\"float32\\\"))(a+r));var o=e.length-r;if(a!==o)throw new Error(\\\"source length \\\"+a+\\\" (\\\"+i+\\\"x\\\"+t.length+\\\") does not match destination length \\\"+o);for(var s=0,l=r;s<t.length;s++)for(var c=0;c<i;c++)e[l++]=t[s][c]}else if(e&&\\\"string\\\"!=typeof e)e.set(t,r);else{var u=n(e||\\\"float32\\\");0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e}},{dtype:135}],199:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return new c(t||d,null)};var n=0,i=1;function a(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function o(t){return new a(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new a(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,\\\"keys\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,\\\"values\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,\\\"length\\\",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],f=[];o;){var h=r(t,o.key);u.push(o),f.push(h),o=h<=0?o.left:o.right}u.push(new a(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(m=g.right)||m._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).left===g?v.left=d:v.right=d;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else{if(!(m=g.right)||m._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).left===g?v.left=o:v.right=o;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else if(d.right===o){if(!(m=g.left)||m._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).right===g?v.right=d:v.left=d;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}else{var m;if(!(m=g.left)||m._color!==n){var v;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).right===g?v.right=o:v.left=o;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,\\\"begin\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,\\\"end\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.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,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.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 h=f.prototype;function p(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 d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(h,\\\"valid\\\",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,\\\"node\\\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.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 a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=i;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,a,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((a=r.left).left&&a.left._color===n)return c=(a=r.left=o(a)).left=o(a.left),r.left=a.right,a.right=r,a.left=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(h,\\\"key\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,\\\"value\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,\\\"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}),h.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(h,\\\"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}}),h.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),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.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(h,\\\"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}})},{}],200:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,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 o(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+i+.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(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],201:[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,i=e;try{var a=[t];0===t.indexOf(\\\"webgl\\\")&&a.push(\\\"experimental-\\\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],202:[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\\\"),i=t(\\\"./lib/lines.js\\\"),a=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.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.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=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=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,f=!1;if(\\\"bounds\\\"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[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 a(\\\"tickSpacing\\\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\\\"ticks\\\"in t||\\\"tickSpacing\\\"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&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),a(\\\"tickSize\\\"),a(\\\"tickAngle\\\"),a(\\\"tickPad\\\"),c(\\\"tickColor\\\");var g=l(\\\"labels\\\");l(\\\"labelFont\\\")&&(g=!0),o(\\\"labelEnable\\\"),a(\\\"labelSize\\\"),a(\\\"labelPad\\\"),c(\\\"labelColor\\\"),o(\\\"lineEnable\\\"),o(\\\"lineMirror\\\"),a(\\\"lineWidth\\\"),c(\\\"lineColor\\\"),o(\\\"lineTickEnable\\\"),o(\\\"lineTickMirror\\\"),a(\\\"lineTickLength\\\"),a(\\\"lineTickWidth\\\"),c(\\\"lineTickColor\\\"),o(\\\"gridEnable\\\"),a(\\\"gridWidth\\\"),c(\\\"gridColor\\\"),o(\\\"zeroEnable\\\"),c(\\\"zeroLineColor\\\"),a(\\\"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=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[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};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=u[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,u,f);e=this.gl;var T=g;for(M=0;M<3;++M)this.backgroundEnable[M]?T[M]=f[M]:T[M]=0;this._background.draw(r,n,i,a,T,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var S=[0,0,0];f[M]>0?S[M]=a[1][M]:S[M]=a[0][M];for(var C=0;C<2;++C){var E=(M+1+C)%3,L=(M+1+(1^C))%3;this.gridEnable[E]&&this._lines.drawGrid(E,L,this.bounds,S,this.gridColor[E],this.gridWidth[E]*this.pixelRatio)}for(C=0;C<2;++C){E=(M+1+C)%3,L=(M+1+(1^C))%3;this.zeroEnable[L]&&a[0][L]<=0&&a[1][L]>=0&&this._lines.drawZero(E,L,this.bounds,S,this.zeroLineColor[L],this.zeroLineWidth[L]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),P=c(y,A[M].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var O=k/r[5*C];z[C]*=D[C]*O,P[C]*=D[C]*O}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,P,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(M=0;M<3;++M){var I=A[M].primalMinor,R=c(x,A[M].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[M]&&(R[C]+=k*I[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);if(this.tickEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],R,this.tickColor[M])}if(this.labelEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.labelPad[C]/r[5*C];R[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],R,this.labelColor[M])}}this._text.unbind()},f.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\\\":203,\\\"./lib/cube.js\\\":204,\\\"./lib/lines.js\\\":205,\\\"./lib/text.js\\\":207,\\\"./lib/ticks.js\\\":208}],203:[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,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[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=i(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=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=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,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[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:i,colors:a},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\\\":206,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],204:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]<c[_][2]&&(_=y))}if(_<0){_=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,T=(M+1)%3,S=-1,C=-1,E=0;E<2;++E){var L=E<<M,z=L+(E<<A)+(1-E<<T),P=L+(1-E<<A)+(E<<T);o(c[L],c[z],c[P],f)<0||(E?S=1:C=1)}if(S<0||C<0)C>S&&(_|=1<<M);else{for(var E=0;E<2;++E){var L=E<<M,z=L+(E<<A)+(1-E<<T),P=L+(1-E<<A)+(E<<T),D=d([l[L],l[z],l[P],l[L+(1<<A)+(1<<T)]]);E?S=D:C=D}C>S&&(_|=1<<M)}}}for(var O=7^_,I=-1,y=0;y<8;++y)y!==_&&y!==O&&(I<0?I=y:c[I][1]>c[y][1]&&(I=y));for(var R=-1,y=0;y<3;++y){var B=I^1<<y;if(B!==_&&B!==O){R<0&&(R=B);var T=c[B];T[0]<c[R][0]&&(R=B)}}for(var F=-1,y=0;y<3;++y){var B=I^1<<y;if(B!==_&&B!==O&&B!==R){F<0&&(F=B);var T=c[B];T[0]>c[F][0]&&(F=B)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^I)]=I&R,N[n.log2(I^F)]=I&F;var j=7^F;j===_||j===O?(j=7^R,N[n.log2(F^j)]=j&F):N[n.log2(R^j)]=j&R;for(var V=m,U=_,M=0;M<3;++M)V[M]=U&1<<M?-1:1;return v};var n=t(\\\"bit-twiddle\\\"),i=t(\\\"gl-mat4/multiply\\\"),a=(t(\\\"gl-mat4/invert\\\"),t(\\\"split-polygon\\\")),o=t(\\\"robust-orientation\\\"),s=new Array(16),l=(new Array(16),new Array(8)),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+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=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=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]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{\\\"bit-twiddle\\\":73,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/multiply\\\":232,\\\"robust-orientation\\\":388,\\\"split-polygon\\\":405}],205:[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 f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var g=+r[f][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[f]=h,l[f]=m-h;for(var h=o.length/3|0,v=0;v<r[f].length;++v){var g=+r[f][v].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;c[f]=h,u[f]=m-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"./shaders\\\").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,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,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(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,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=f(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":206,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],206:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"#define GLSLIFY 1\\\\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 mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);r.line=function(t){return i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var s=n([\\\"#define GLSLIFY 1\\\\nattribute vec3 position;\\\\n\\\\nuniform mat4 model, view, projection;\\\\nuniform vec3 offset, axis;\\\\nuniform float scale, angle, pixelScale;\\\\nuniform vec2 resolution;\\\\n\\\\nvoid main() {  \\\\n  //Compute plane offset\\\\n  vec2 planeCoord = position.xy * pixelScale;\\\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\\\n                                -sin(angle), cos(angle));\\\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\\\n\\\\n  //Compute world offset\\\\n  float axisDistance = position.z;\\\\n  vec3 dataPosition = axisDistance * axis + offset;\\\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\\\n  \\\\n  //Compute clip position\\\\n  vec4 viewPosition = view * worldPosition;\\\\n  vec4 clipPosition = projection * viewPosition;\\\\n  clipPosition /= clipPosition.w;\\\\n\\\\n  //Apply text offset in clip coordinates\\\\n  clipPosition += vec4(viewOffset, 0, 0);\\\\n\\\\n  //Done\\\\n  gl_Position = clipPosition;\\\\n}\\\"]),l=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);r.text=function(t){return i(t,s,l,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var c=n([\\\"#define GLSLIFY 1\\\\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  if(dot(normal, enable) > 0.0) {\\\\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\\\\n}\\\"]),u=n([\\\"precision mediump 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 i(t,c,u,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],207:[function(t,e,r){(function(r){\\\"use strict\\\";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=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,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){this.gl;var o=[];function s(t,e,r,n){var i=l[r];i||(i=l[r]={});var s=i[e];s||(s=i[e]=function(t,e){try{return a(t,e)}catch(t){return console.warn(\\\"error vectorizing text:\\\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\"}));for(var c=(n||12)/12,u=s.positions,f=s.cells,h=0,p=f.length;h<p;++h)for(var d=f[h],g=2;g>=0;--g){var m=u[d[g]];o.push(c*m[0],-c*m[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r),h[p]=(o.length/3|0)-f[p],c[p]=o.length/3|0;for(var d=0;d<n[p].length;++d)n[p][d].text&&s(n[p][d].x,n[p][d].text,n[p][d].font||i,n[p][d].fontSize||12);u[p]=(o.length/3|0)-c[p]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var p=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=p,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,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\\\":206,_process:366,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279,\\\"vectorize-text\\\":430}],208:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+\\\"\\\",n=r.indexOf(\\\".\\\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\\\"\\\";if(s.indexOf(\\\"e\\\")>=0)return s;var l=o/a,c=o%a;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),i){for(var f=\\\"\\\"+c;f.length<i;)f=\\\"0\\\"+f;return u+\\\".\\\"+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}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 i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],209:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=t.bounds,x=(f=f||a(h,p,v,y)).axis;f.edges;o(u,p,h),o(u,v,u);for(var b=g,_=0;_<3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var M=(k+1)%3,A=(k+2)%3,T=m;t:for(var _=0;_<2;++_){var S=[];if(x[k]<0!=!!_){T[k]=y[_][k];for(var C=0;C<2;++C){T[M]=y[C^_][M];for(var E=0;E<2;++E)T[A]=y[E^C^_][A],S.push(T.slice())}for(var C=0;C<w.length;++C){if(0===S.length)continue t;S=i.positive(S,w[C])}for(var C=0;C<S.length;++C)for(var A=S[C],L=d(m,u,A,r,l),E=0;E<3;++E)b[E].lo=Math.min(b[E].lo,A[E]),b[E].hi=Math.max(b[E].hi,A[E]),E!==k&&(b[E].pixelsPerDataUnit=Math.min(b[E].pixelsPerDataUnit,Math.abs(L[E])))}}}return b};var n=t(\\\"extract-frustum-planes\\\"),i=t(\\\"split-polygon\\\"),a=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 f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var g=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],m=[0,0,0]},{\\\"./lib/cube.js\\\":204,\\\"extract-frustum-planes\\\":195,\\\"gl-mat4/multiply\\\":232,\\\"gl-mat4/transpose\\\":240,\\\"gl-vec4/transformMat4\\\":285,\\\"split-polygon\\\":405}],210:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\"),i=t(\\\"ndarray-ops\\\"),a=t(\\\"ndarray\\\"),o=[\\\"uint8\\\",\\\"uint8_clamped\\\",\\\"uint16\\\",\\\"uint32\\\",\\\"int8\\\",\\\"int16\\\",\\\"int32\\\",\\\"float32\\\"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\\\"gl-buffer: If resizing buffer, must not specify offset\\\");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];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&&void 0!==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=a(s,t.shape);i.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 f;f=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?f:f.subarray(0,t.length),e),n.free(f)}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 i=new s(t,r,t.createBuffer(),0,n);return i.update(e),i}},{ndarray:335,\\\"ndarray-ops\\\":329,\\\"typedarray-pool\\\":423}],211:[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\\\",34000:\\\"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\\\"}},{}],212:[function(t,e,r){var n=t(\\\"./1.0/numbers\\\");e.exports=function(t){return n[t]}},{\\\"./1.0/numbers\\\":211}],213:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl,r=n(e),o=i(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=a(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\\\"),i=t(\\\"gl-vao\\\"),a=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}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.opacity>=1},l.isTransparent=function(){return this.opacity<1},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);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 i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.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])),\\\"opacity\\\"in t&&(this.opacity=t.opacity);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 i=[],a=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<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))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]),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],i.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+f(i,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],i.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+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\\\"./shaders/index\\\":214,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],214:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"precision mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec3 clipBounds[2];\\\\nuniform float opacity;\\\\nvarying vec3 fragPosition;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = opacity * fragColor;\\\\n}\\\"]);e.exports=function(t){return i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"offset\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],215:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-texture2d\\\");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=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 i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(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 f=1;if(\\\"color\\\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\\\"gl-fbo: Must specify a nonnegative number of colors\\\");if(f>1){if(!c)throw new Error(\\\"gl-fbo: Multiple draw buffer extension not supported\\\");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\\\"gl-fbo: Context does not support \\\"+f+\\\" draw buffers\\\")}}var h=t.UNSIGNED_BYTE,p=t.getExtension(\\\"OES_texture_float\\\");if(n.float&&f>0){if(!p)throw new Error(\\\"gl-fbo: Context does not support floating point textures\\\");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=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,h,f,g,m,c)};var i,a,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 f(t){switch(t){case i:throw new Error(\\\"gl-fbo: Framebuffer unsupported\\\");case a: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 h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);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,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,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(),i=t._shape[0],a=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]=h(r,i,a,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,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=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(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),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),f(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,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\\\"gl-fbo: Can't resize FBO, invalid dimensions\\\");t._shape[0]=e,t._shape[1]=r;for(var a=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,a),f(s)),u(n,a)}}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\\\":275}],216:[function(t,e,r){var n=t(\\\"sprintf-js\\\").sprintf,i=t(\\\"gl-constants/lookup\\\"),a=t(\\\"glsl-shader-name\\\"),o=t(\\\"add-line-numbers\\\");e.exports=function(t,e,r){\\\"use strict\\\";var s=a(e)||\\\"of unknown name (see npm glsl-shader-name)\\\",l=\\\"unknown type\\\";void 0!==r&&(l=r===i.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\");for(var c=n(\\\"Error compiling %s shader %s:\\\\n\\\",l,s),u=n(\\\"%s%s\\\",c,t),f=t.split(\\\"\\\\n\\\"),h={},p=0;p<f.length;p++){var d=f[p];if(\\\"\\\"!==d&&\\\"\\\\0\\\"!==d){var g=parseInt(d.split(\\\":\\\")[2]);if(isNaN(g))throw new Error(n(\\\"Could not parse error: %s\\\",d));h[g]=d}}for(var m=o(e).split(\\\"\\\\n\\\"),p=0;p<m.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=m[p];if(c+=v+\\\"\\\\n\\\",h[p+1]){var y=h[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\\\":45,\\\"gl-constants/lookup\\\":212,\\\"glsl-shader-name\\\":287,\\\"sprintf-js\\\":406}],217:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"iota-array\\\"),a=t(\\\"typedarray-pool\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"gl-buffer\\\"),l=t(\\\"./lib/shaders\\\");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,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,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.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 i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.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,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.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]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(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,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),m=1/((f[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),M=0,A=0;A<y-1;++A)for(var T=m*(o[A]-d),S=m*(o[A+1]-d),C=0;C<v-1;++C)for(var E=g*(r[C]-p),L=g*(r[C+1]-p),z=0;z<h.length;z+=2){var P,D,O,I,R=h[z],B=h[z+1],F=s[(A+B)*v+(C+R)],N=n.le(l,F);if(N<0)P=c[0],D=c[1],O=c[2],I=c[3];else if(N===u-1)P=c[4*u-4],D=c[4*u-3],O=c[4*u-2],I=c[4*u-1];else{var j=(F-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);P=V*c[U]+j*c[q],D=V*c[U+1]+j*c[q+1],O=V*c[U+2]+j*c[q+2],I=V*c[U+3]+j*c[q+3]}b[4*M]=255*P,b[4*M+1]=255*D,b[4*M+2]=255*O,b[4*M+3]=255*I,_[2*M]=.5*E+.5*L,_[2*M+1]=.5*T+.5*S,w[2*M]=R,w[2*M+1]=B,k[M]=A*v+C,M+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),a.free(_),a.free(b),a.free(w),a.free(k)},f.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\\\":218,\\\"binary-search-bounds\\\":219,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263,\\\"iota-array\\\":302,\\\"typedarray-pool\\\":423}],218:[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:295}],219:[function(t,e,r){arguments[4][91][0].apply(r,arguments)},{dup:91}],220:[function(t,e,r){var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"precision mediump 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\\\\nvoid main() {\\\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\\\n\\\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\\\n\\\\n  worldPosition = position;\\\\n  pixelArcLength = arcLength;\\\\n  fragColor = color;\\\\n}\\\\n\\\"]),o=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\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 mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\n#define FLOAT_MAX  1.70141184e38\\\\n#define FLOAT_MIN  1.17549435e-38\\\\n\\\\nlowp vec4 encode_float_1540259130(highp float v) {\\\\n  highp 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  highp vec4 c = vec4(0,0,0,0);\\\\n\\\\n  //Compute exponent and mantissa\\\\n  highp float e = floor(log2(av));\\\\n  highp 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  highp 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\\\\nuniform float pickId;\\\\nuniform vec3 clipBounds[2];\\\\n\\\\nvarying vec3 worldPosition;\\\\nvarying float pixelArcLength;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(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 i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{\\\"gl-shader\\\":263,glslify:295}],221:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(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),c=i(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}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new m(e,r,o,s,c,d);return g.update(t),g};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"gl-texture2d\\\"),o=t(\\\"glsl-read-float\\\"),s=t(\\\"binary-search-bounds\\\"),l=t(\\\"ndarray\\\"),c=t(\\\"./lib/shaders\\\"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function d(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 g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var v=m.prototype;v.isTransparent=function(){return this.opacity<1},v.isOpaque=function(){return this.opacity>=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(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()},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\\\"dashScale\\\"in t&&(this.dashScale=t.dashScale),\\\"opacity\\\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,c=[],u=[],f=[],h=0,d=0,g=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],m=!1;t:for(e=1;e<i.length;++e){var v,y,x,b=i[e-1],_=i[e];for(u.push(h),f.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&c.length>0){for(var w=0;w<24;++w)c.push(c[c.length-12]);d+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],b[r],_[r]),g[1][r]=Math.max(g[1][r],b[r],_[r])}Array.isArray(a[0])?(v=a[e-1],y=a[e]):v=y=a,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),x=Array.isArray(o)?o[e-1]:o;var k=h;if(h+=p(b,_),m){for(r=0;r<2;++r)c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3]);d+=2,m=!1}c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],h,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],h,x,y[0],y[1],y[2],y[3]),d+=4}if(this.buffer.update(c),u.push(h),f.push(i[i.length-1].slice()),this.bounds=g,this.vertexCount=d,this.points=f,this.arcLength=u,\\\"dashes\\\"in t){var M=t.dashes.slice();for(M.unshift(0),e=1;e<M.length;++e)M[e]=M[e-1]+M[e];var A=l(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&s.le(M,M[M.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-a,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+a*i[u];var f=Math.min(a<.5?r:r+1,this.points.length-1);return new g(e,c,f,this.points[f])}},{\\\"./lib/shaders\\\":220,\\\"binary-search-bounds\\\":72,\\\"gl-buffer\\\":210,\\\"gl-texture2d\\\":275,\\\"gl-vao\\\":279,\\\"glsl-read-float\\\":286,ndarray:335}],222:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],223:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=u*o-s*c,h=-u*a+s*l,p=c*a-o*l,d=r*f+n*h+i*p;return d?(d=1/d,t[0]=f*d,t[1]=(-u*n+i*c)*d,t[2]=(s*n-i*o)*d,t[3]=h*d,t[4]=(u*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null}},{}],224:[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}},{}],225:[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}},{}],226:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],f=t[10],h=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*a)*(f*m-h*g)-(e*s-n*a)*(u*m-h*d)+(e*l-i*a)*(u*g-f*d)+(r*s-n*o)*(c*m-h*p)-(r*l-i*o)*(c*g-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],227:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,f=n*s,h=i*o,p=i*s,d=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=h+m,t[9]=p-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],228:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,f=n*l,h=n*c,p=i*l,d=i*c,g=a*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=h+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}},{}],229:[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}},{}],230:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=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-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,C=f*v-p*g,E=h*v-p*m,L=y*E-x*C+b*S+_*T-w*A+k*M;if(!L)return null;return L=1/L,t[0]=(s*E-l*C+c*S)*L,t[1]=(i*C-n*E-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*E-c*A)*L,t[5]=(r*E-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*C-s*T+c*M)*L,t[9]=(n*T-r*C-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t}},{}],231:[function(t,e,r){var n=t(\\\"./identity\\\");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g=e[0],m=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-k)<1e-6)return n(t);f=g-_,h=m-w,p=v-k,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0);l=h*s-p*o,c=p*a-f*s,u=f*o-h*a,(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]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(f*g+h*m+p*v),t[15]=1,t}},{\\\"./identity\\\":229}],232:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=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+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+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+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+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+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+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+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],233:[function(t,e,r){e.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},{}],234:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S,C=n[0],E=n[1],L=n[2],z=Math.sqrt(C*C+E*E+L*L);if(Math.abs(z)<1e-6)return null;C*=z=1/z,E*=z,L*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=C*C*o+a,b=E*C*o+L*i,_=L*C*o-E*i,w=C*E*o-L*i,k=E*E*o+a,M=L*E*o+C*i,A=C*L*o+E*i,T=E*L*o-C*i,S=L*L*o+a,t[0]=s*x+f*b+g*_,t[1]=l*x+h*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*k+g*M,t[5]=l*w+h*k+m*M,t[6]=c*w+p*k+v*M,t[7]=u*w+d*k+y*M,t[8]=s*A+f*T+g*S,t[9]=l*A+h*T+m*S,t[10]=c*A+p*T+v*S,t[11]=u*A+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],235:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=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]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],236:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],f=e[10],h=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]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],237:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=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]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],238:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],239:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,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],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],240:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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}},{}],241:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(\\\"currently supports matrices up to 4x4\\\")}return t};var n=t(\\\"gl-mat2/invert\\\"),i=t(\\\"gl-mat3/invert\\\"),a=t(\\\"gl-mat4/invert\\\")},{\\\"gl-mat2/invert\\\":222,\\\"gl-mat3/invert\\\":223,\\\"gl-mat4/invert\\\":230}],242:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"barycentric\\\"),i=t(\\\"polytope-closest-point/lib/closest_point_2d.js\\\");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:54,\\\"polytope-closest-point/lib/closest_point_2d.js\\\":365}],243:[function(t,e,r){var n=t(\\\"glslify\\\"),i=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;\\\\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\\\\nvoid main() {\\\\n  vec4 m_position  = model * vec4(position, 1.0);\\\\n  vec4 t_position  = view * m_position;\\\\n  gl_Position      = projection * t_position;\\\\n  f_color          = color;\\\\n  f_normal         = normal;\\\\n  f_data           = position;\\\\n  f_eyeDirection   = eyePosition   - position;\\\\n  f_lightDirection = lightPosition - position;\\\\n  f_uv             = uv;\\\\n}\\\\n\\\"]),a=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\\\\nvec3 normals(vec3 pos) {\\\\n  vec3 fdx = dFdx(pos);\\\\n  vec3 fdy = dFdy(pos);\\\\n  return normalize(cross(fdx, fdy));\\\\n}\\\\n\\\\nuniform vec3 clipBounds[2];\\\\nuniform float roughness\\\\n            , fresnel\\\\n            , kambient\\\\n            , kdiffuse\\\\n            , kspecular\\\\n            , opacity;\\\\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(any(lessThan(f_data, clipBounds[0])) ||\\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  vec3 N = normalize(f_normal);\\\\n  vec3 L = normalize(f_lightDirection);\\\\n  vec3 V = normalize(f_eyeDirection);\\\\n\\\\n  vec3 normal = normals(f_data);\\\\n\\\\n  if (\\\\n    dot(N, normal) < 0.0\\\\n    ) {\\\\n      N = -N;\\\\n  }\\\\n\\\\n  float specular = 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 mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\\\n}\\\"]),l=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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 mediump 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 mediump 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}\\\"]),f=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3  clipBounds[2];\\\\nuniform float pickId;\\\\n\\\\nvarying vec3 f_position;\\\\nvarying vec4 f_id;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(f_position, clipBounds[0])) || \\\\n     any(greaterThan(f_position, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\\\n}\\\"]),h=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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 mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 contourColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(contourColor,1);\\\\n}\\\\n\\\"]);r.meshShader={vertex:i,fragment:a,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:f,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},r.pointPickShader={vertex:h,fragment:f,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:295}],244:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\"),i=t(\\\"gl-buffer\\\"),a=t(\\\"gl-vao\\\"),o=t(\\\"gl-texture2d\\\"),s=t(\\\"normals\\\"),l=t(\\\"gl-mat4/multiply\\\"),c=t(\\\"gl-mat4/invert\\\"),u=t(\\\"ndarray\\\"),f=t(\\\"colormap\\\"),h=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 k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,k,M,A,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,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=k,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var M=k.prototype;function A(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 T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(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 C(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}M.isOpaque=function(){return this.opacity>=1},M.isTransparent=function(){return this.opacity<1},M.pickSlots=1,M.setPickBase=function(t){this.pickId=t},M.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],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},M.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),\\\"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),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){for(var e=f({colormap:t,nshades:256,format:\\\"rgba\\\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,M=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,A)),k||w||(w=s.vertexNormals(r,n,M));var T=t.vertexColors,S=t.cellColors,C=t.meshColor||[1,1,1,1],E=t.vertexUVs,L=t.vertexIntensity,z=t.cellUVs,P=t.cellIntensity,D=1/0,O=-1/0;if(!E&&!z)if(L)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],O=+t.vertexIntensityBounds[1];else for(var I=0;I<L.length;++I){var R=L[I];D=Math.min(D,R),O=Math.max(O,R)}else if(P)for(I=0;I<P.length;++I){R=P[I];D=Math.min(D,R),O=Math.max(O,R)}else for(I=0;I<n.length;++I){R=n[I][2];D=Math.min(D,R),O=Math.max(O,R)}this.intensity=L||(P?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,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));var B=t.pointSizes,F=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(I=0;I<n.length;++I)for(var N=n[I],j=0;j<3;++j)!isNaN(N[j])&&isFinite(N[j])&&(this.bounds[0][j]=Math.min(this.bounds[0][j],N[j]),this.bounds[1][j]=Math.max(this.bounds[1][j],N[j]));var V=0,U=0,q=0;t:for(I=0;I<r.length;++I){var H=r[I];switch(H.length){case 1:for(N=n[W=H[0]],j=0;j<3;++j)if(isNaN(N[j])||!isFinite(N[j]))continue t;v.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[I]:C).length?y.push(Y[0],Y[1],Y[2],1):y.push(Y[0],Y[1],Y[2],Y[3]),X=E?E[W]:L?[(L[W]-D)/(O-D),0]:z?z[I]:P?[(P[I]-D)/(O-D),0]:[(N[2]-D)/(O-D),0],x.push(X[0],X[1]),B?b.push(B[W]):b.push(F),_.push(I),q+=1;break;case 2:for(j=0;j<2;++j){N=n[W=H[j]];for(var G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t}for(j=0;j<2;++j){N=n[W=H[j]];p.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[I]:C).length?d.push(Y[0],Y[1],Y[2],1):d.push(Y[0],Y[1],Y[2],Y[3]),X=E?E[W]:L?[(L[W]-D)/(O-D),0]:z?z[I]:P?[(P[I]-D)/(O-D),0]:[(N[2]-D)/(O-D),0],g.push(X[0],X[1]),m.push(I)}U+=1;break;case 3:for(j=0;j<3;++j)for(N=n[W=H[j]],G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t;for(j=0;j<3;++j){var W,Y,X,Z;N=n[W=H[j]];i.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[I]:C).length?a.push(Y[0],Y[1],Y[2],1):a.push(Y[0],Y[1],Y[2],Y[3]),X=E?E[W]:L?[(L[W]-D)/(O-D),0]:z?z[I]:P?[(P[I]-D)/(O-D),0]:[(N[2]-D)/(O-D),0],c.push(X[0],X[1]),Z=w?w[W]:k[I],l.push(Z[0],Z[1],Z[2]),h.push(I)}V+=1}}this.pointCount=q,this.edgeCount=U,this.triangleCount=V,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(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},M.drawTransparent=M.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,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,contourColor:this.contourColor,texture:0};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 f,h=u[15];for(o=0;o<3;++o)h+=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/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},M.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,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),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())},M.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,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},M.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){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension(\\\"OES_standard_derivatives\\\")||t.getExtension(\\\"MOZ_OES_standard_derivatives\\\")||t.getExtension(\\\"WEBKIT_OES_standard_derivatives\\\")))throw new Error(\\\"derivatives not supported\\\");var r=function(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}(t),s=function(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}(t),l=A(t),c=T(t),f=S(t),h=C(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=i(t),g=i(t),y=i(t),x=i(t),b=i(t),_=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=i(t),M=i(t),E=i(t),L=i(t),z=a(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:L,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:M,type:t.FLOAT,size:4},{buffer:E,type:t.FLOAT,size:2}]),P=i(t),D=i(t),O=i(t),I=i(t),R=i(t),B=a(t,[{buffer:P,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:D,type:t.FLOAT,size:4},{buffer:O,type:t.FLOAT,size:2},{buffer:I,type:t.FLOAT,size:1}]),F=i(t),N=new k(t,p,r,s,l,c,f,h,d,b,g,y,x,_,w,L,M,E,z,P,R,D,O,I,B,F,a(t,[{buffer:F,type:t.FLOAT,size:3}]));return N.update(e),N}},{\\\"./lib/closest-point\\\":242,\\\"./lib/shaders\\\":243,colormap:106,\\\"gl-buffer\\\":210,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/multiply\\\":232,\\\"gl-shader\\\":263,\\\"gl-texture2d\\\":275,\\\"gl-vao\\\":279,ndarray:335,normals:338,\\\"simplicial-complex-contour\\\":396,\\\"typedarray-pool\\\":423}],245:[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=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":248,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],246:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=a[g],v=a[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){f[0]=f[1]=0,f[g]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=h[g];var _=6*n[g].length;p[g]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=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 k=p[w],M=p[w+2]-k,A=.5*(d[w+2]+d[w]),T=d[w+2]-d[w];e[w]=2*M/T,t[w]=2*(k-A)/T}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 C=s.tickMarkLength,E=s.tickMarkWidth,L=s.tickMarkColor,z=6*f[0].length,P=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),D=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),O=0+6*P,I=6*Math.max(0,D-P),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),B=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),F=z+6*R,N=6*Math.max(0,B-R);i[0]=2*(g[0]-C[1])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=C[1]*m/y,o[1]=E[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[1]-C[0])/x-1,o[0]=E[0]*m/y,o[1]=C[0]*m/x,I&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,I)),i[0]=2*(g[2]+C[3])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=C[3]*m/y,o[1]=E[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[3]+C[2])/x-1,o[0]=E[2]*m/y,o[1]=C[2]*m/x,I&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,I))}}(),d.update=(h=[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)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[i++]=d,n[i++]=h[g],n[i++]=p[g]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\\\"./shaders\\\":248,\\\"binary-search-bounds\\\":250,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],247:[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=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,i,a){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=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":248,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],248:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=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:i,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:i,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:i,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:295}],249:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,f,h,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=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],k=this.labelCount[t],M=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])/(h[2+t]-h[t])-1;var T=2/h[2+(1^t)]-h[1^t];u[1^t]=T*s[1^t]-1,d[t]&&(u[1^t]-=T*p*g[t],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t]&&k&&(u[1^t]-=T*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t+2]&&k&&(u[1^t]+=T*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=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-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=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],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,g=p.text,m=p.font||\\\"sans-serif\\\";i=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=a(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:\\\"center\\\"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":248,\\\"binary-search-bounds\\\":250,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263,\\\"text-cache\\\":414}],250:[function(t,e,r){arguments[4][91][0].apply(r,arguments)},{dup:91}],251:[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=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t(\\\"gl-select-static\\\"),i=t(\\\"./lib/grid\\\"),a=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 f(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,i=this.pixelRatio,a=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),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[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],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[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]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,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,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,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 f=c[u].pick(a,o,l);if(f)return f}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,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),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 a=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=a[s].slice(0);0!==l.length&&(l.sort(f),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:a}),this.text.update({bounds:o,ticks:a,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\\\":245,\\\"./lib/grid\\\":246,\\\"./lib/line\\\":247,\\\"./lib/text\\\":249,\\\"gl-select-static\\\":262}],252:[function(t,e,r){var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=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 i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec2\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],253:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\\\"canvas\\\"),t.container){var m=t.container;m.appendChild(r)}else document.body.appendChild(r);var v=t.gl;v||(v=function(t,e){var r=null;try{(r=t.getContext(\\\"webgl\\\",e))||(r=t.getContext(\\\"experimental-webgl\\\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!v)throw new Error(\\\"webgl not supported\\\");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new function(){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},b=l(v,[v.drawingBufferWidth,v.drawingBufferHeight],{preferFloat:!p}),_=h(v),w=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\\\"turntable\\\"},k=t.axes||{},M=i(v,k);M.enable=!k.disable;var A=t.spikes||{},T=o(v,A),S=[],C=[],E=[],L=[],z=!0,P=!0,D=new Array(16),O=new Array(16),I={view:null,projection:D,model:O},P=!0,R=[v.drawingBufferWidth,v.drawingBufferHeight],B={gl:v,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:x,camera:n(r,w),axes:M,axesPixels:null,spikes:T,bounds:y,objects:S,shape:R,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:g(t.autoResize),autoBounds:g(t.autoBounds),autoScale:!!t.autoScale,autoCenter:g(t.autoCenter),clipToBounds:g(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:I,oncontextloss:null,mouseListener:null},F=[v.drawingBufferWidth/B.pixelRatio|0,v.drawingBufferHeight/B.pixelRatio|0];function N(){if(!e&&B.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*B.pixelRatio),o=0|Math.ceil(i*B.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\\\"absolute\\\",s.left=\\\"0px\\\",s.top=\\\"0px\\\",s.width=n+\\\"px\\\",s.height=i+\\\"px\\\",z=!0}}}B.autoResize&&N();function j(){for(var t=S.length,e=L.length,r=0;r<e;++r)E[r]=0;t:for(var r=0;r<t;++r){var n=S[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(E[a]+i<255){C[r]=a,n.setPickBase(E[a]+1),E[a]+=i;continue t}var o=s(v,R);C[r]=e,L.push(o),E.push(i),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===E[e-1];)E.pop(),L.pop().dispose()}window.addEventListener(\\\"resize\\\",N),B.update=function(t){e||(t=t||{},z=!0,P=!0)},B.add=function(t){e||(t.axes=M,S.push(t),C.push(-1),z=!0,P=!0,j())},B.remove=function(t){if(!e){var r=S.indexOf(t);r<0||(S.splice(r,1),C.pop(),z=!0,P=!0,j())}},B.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\\\"resize\\\",N),r.removeEventListener(\\\"webglcontextlost\\\",q),B.mouseListener.enabled=!1,!B.contextLost)){M.dispose(),T.dispose();for(var t=0;t<S.length;++t)S[t].dispose();b.dispose();for(var t=0;t<L.length;++t)L[t].dispose();_.dispose(),v=null,M=null,T=null,S=[]}};var V=!1,U=0;function q(){if(B.contextLost)return!0;v.isContextLost()&&(B.contextLost=!0,B.mouseListener.enabled=!1,B.selection.object=null,B.oncontextloss&&B.oncontextloss())}B.mouseListener=u(r,function(t,r,n){if(!e){var i=L.length,a=S.length,o=x.object;x.distance=1/0,x.mouse[0]=r,x.mouse[1]=n,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var s=!1;if(t&&U)V=!0;else{V&&(P=!0),V=!1;for(var l=0;l<i;++l){var c=L[l].query(r,F[1]-n-1,B.pickRadius);if(c){if(c.distance>x.distance)continue;for(var u=0;u<a;++u){var f=S[u];if(C[u]===l){var h=f.pick(c);h&&(x.buttons=t,x.screen=c.coord,x.distance=c.distance,x.object=f,x.index=h.distance,x.dataPosition=h.position,x.dataCoordinate=h.dataCoordinate,x.data=h,s=!0)}}}}}o&&o!==x.object&&(o.highlight&&o.highlight(null),z=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),z=!0),(s=s||x.object!==o)&&B.onselect&&B.onselect(x),1&t&&!(1&U)&&B.onclick&&B.onclick(x),U=t}}),r.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 W(){if(!q()){N();var t=B.camera.tick();I.view=B.camera.matrix,z=z||t,P=P||t,M.pixelRatio=B.pixelRatio,T.pixelRatio=B.pixelRatio;var e=S.length,r=H[0],n=H[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var i=0;i<e;++i){var o=S[i];o.pixelRatio=B.pixelRatio,o.axes=B.axes,z=z||!!o.dirty,P=P||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],h=0;h<3;++h)r[h]=Math.min(r[h],l[h]),n[h]=Math.max(n[h],u[h])}var p=B.bounds;if(B.autoBounds)for(var h=0;h<3;++h){if(n[h]<r[h])r[h]=-1,n[h]=1;else{r[h]===n[h]&&(r[h]-=1,n[h]+=1);var g=.05*(n[h]-r[h]);r[h]=r[h]-g,n[h]=n[h]+g}p[0][h]=r[h],p[1][h]=n[h]}for(var m=!1,h=0;h<3;++h)m=m||G[0][h]!==p[0][h]||G[1][h]!==p[1][h],G[0][h]=p[0][h],G[1][h]=p[1][h];if(P=P||m,z=z||m){if(m){for(var y=[0,0,0],i=0;i<3;++i)y[i]=d((p[1][i]-p[0][i])/10);M.autoTicks?M.update({bounds:p,tickSpacing:y}):M.update({bounds:p})}var w=v.drawingBufferWidth,k=v.drawingBufferHeight;R[0]=w,R[1]=k,F[0]=0|Math.max(w/B.pixelRatio,1),F[1]=0|Math.max(k/B.pixelRatio,1),f(D,B.fovy,w/k,B.zNear,B.zFar);for(var i=0;i<16;++i)O[i]=0;O[15]=1;for(var A=0,i=0;i<3;++i)A=Math.max(A,p[1][i]-p[0][i]);for(var i=0;i<3;++i)B.autoScale?O[5*i]=B.aspect[i]/(p[1][i]-p[0][i]):O[5*i]=1/A,B.autoCenter&&(O[12+i]=.5*-O[5*i]*(p[0][i]+p[1][i]));for(var i=0;i<e;++i){var o=S[i];o.axesBounds=p,B.clipToBounds&&(o.clipBounds=p)}x.object&&(B.snapToData?T.position=x.dataCoordinate:T.position=x.dataPosition,T.bounds=p),P&&(P=!1,function(){if(q())return;v.colorMask(!0,!0,!0,!0),v.depthMask(!0),v.disable(v.BLEND),v.enable(v.DEPTH_TEST);for(var t=S.length,e=L.length,r=0;r<e;++r){var n=L[r];n.shape=F,n.begin();for(var i=0;i<t;++i)if(C[i]===r){var a=S[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(I))}n.end()}}()),B.axesPixels=a(B.axes,I,w,k),B.onrender&&B.onrender(),v.bindFramebuffer(v.FRAMEBUFFER,null),v.viewport(0,0,w,k);var E=B.clearColor;v.clearColor(E[0],E[1],E[2],E[3]),v.clear(v.COLOR_BUFFER_BIT|v.DEPTH_BUFFER_BIT),v.depthMask(!0),v.colorMask(!0,!0,!0,!0),v.enable(v.DEPTH_TEST),v.depthFunc(v.LEQUAL),v.disable(v.BLEND),v.disable(v.CULL_FACE);var j=!1;M.enable&&(j=j||M.isTransparent(),M.draw(I)),T.axes=M,x.object&&T.draw(I),v.disable(v.CULL_FACE);for(var i=0;i<e;++i){var o=S[i];o.axes=M,o.pixelRatio=B.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(I),o.isTransparent&&o.isTransparent()&&(j=!0)}if(j){b.shape=R,b.bind(),v.clear(v.DEPTH_BUFFER_BIT),v.colorMask(!1,!1,!1,!1),v.depthMask(!0),v.depthFunc(v.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(I);for(var i=0;i<e;++i){var o=S[i];o.isOpaque&&o.isOpaque()&&o.draw(I)}v.enable(v.BLEND),v.blendEquation(v.FUNC_ADD),v.blendFunc(v.ONE,v.ONE_MINUS_SRC_ALPHA),v.colorMask(!0,!0,!0,!0),v.depthMask(!1),v.clearColor(0,0,0,0),v.clear(v.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(I);for(var i=0;i<e;++i){var o=S[i];o.isTransparent&&o.isTransparent()&&o.drawTransparent(I)}v.bindFramebuffer(v.FRAMEBUFFER,null),v.blendFunc(v.ONE,v.ONE_MINUS_SRC_ALPHA),v.disable(v.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,c(v),v.disable(v.BLEND)}z=!1;for(var i=0;i<e;++i)S[i].dirty=!1}}}return function t(){e||B.contextLost||(requestAnimationFrame(t),W())}(),B.redraw=function(){e||(z=!0,W())},B};var n=t(\\\"3d-view-controls\\\"),i=t(\\\"gl-axes3d\\\"),a=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\\\"),f=t(\\\"gl-mat4/perspective\\\"),h=t(\\\"./lib/shader\\\"),p=t(\\\"is-mobile\\\")();function d(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 g(t){return\\\"boolean\\\"!=typeof t||t}},{\\\"./lib/shader\\\":252,\\\"3d-view-controls\\\":40,\\\"a-big-triangle\\\":43,\\\"gl-axes3d\\\":202,\\\"gl-axes3d/properties\\\":209,\\\"gl-fbo\\\":215,\\\"gl-mat4/perspective\\\":233,\\\"gl-select-static\\\":262,\\\"gl-spikes3d\\\":272,\\\"is-mobile\\\":306,\\\"mouse-change\\\":320}],254:[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:295}],255:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\"),i=t(\\\"gl-buffer\\\"),a=t(\\\"typedarray-pool\\\"),o=t(\\\"./lib/shader\\\");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,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,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};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,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||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),i||a.free(l),o||a.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,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),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/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[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 f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&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,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\\\"./lib/shader\\\":254,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263,\\\"typedarray-pool\\\":423}],256:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],257:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"vectorize-text\\\");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];for(var a=n(t,{textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l<a.positions.length;++l)for(var c=a.positions[l],u=0;u<2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{\\\"vectorize-text\\\":430}],258:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=t(\\\"glslify\\\"),a=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   || \\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   ||\\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 interpColor;\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = interpColor * opacity;\\\\n  }\\\\n}\\\\n\\\"]),c=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float pickGroup;\\\\n\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\\\n  }\\\\n}\\\"]),u=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"glyph\\\",type:\\\"vec2\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,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),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},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\\\":263,glslify:295}],259:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"typedarray-pool\\\"),o=t(\\\"gl-mat4/multiply\\\"),s=t(\\\"./lib/shaders\\\"),l=t(\\\"./lib/glyphs\\\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function u(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function f(t,e,r,n){return u(n,n),u(n,n),u(n,n)}function h(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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=s.createPerspective(e),a=s.createOrtho(e),o=s.createProject(e),l=s.createPickPerspective(e),c=s.createPickOrtho(e),u=s.createPickProject(e),f=n(e),p=n(e),d=n(e),g=n(e),m=i(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:p,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:g,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new h(e,r,a,o,f,p,d,g,m,l,c,u);return v.update(t),v};var p=h.prototype;p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},p.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var d=[0,0],g=[0,0,0],m=[0,0,0],v=[0,0,0,1],y=[0,0,0,1],x=c.slice(),b=[0,0,0],_=[[0,0,0],[0,0,0]];function w(t){return t[0]=t[1]=t[2]=0,t}function k(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function M(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function A(t,e,r,n,i){var a,s=e.axesProject,l=e.gl,u=t.uniforms,h=r.model||c,p=r.view||c,A=r.projection||c,T=e.axesBounds,S=function(t){for(var e=_,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],d[0]=2/l.drawingBufferWidth,d[1]=2/l.drawingBufferHeight,t.bind(),u.view=p,u.projection=A,u.screenSize=d,u.highlightId=e.highlightId,u.highlightScale=e.highlightScale,u.clipBounds=S,u.pickGroup=e.pickId/255,u.pixelRatio=e.pixelRatio;for(var C=0;C<3;++C)if(s[C]&&e.projectOpacity[C]<1===n){u.scale=e.projectScale[C],u.opacity=e.projectOpacity[C];for(var E=x,L=0;L<16;++L)E[L]=0;for(L=0;L<4;++L)E[5*L]=1;E[5*C]=0,a[C]<0?E[12+C]=T[0][C]:E[12+C]=T[1][C],o(E,h,E),u.model=E;var z=(C+1)%3,P=(C+2)%3,D=w(g),O=w(m);D[z]=1,O[P]=1;var I=f(0,0,0,k(v,D)),R=f(0,0,0,k(y,O));if(Math.abs(I[1])>Math.abs(R[1])){var B=I;I=R,R=B,B=D,D=O,O=B;var F=z;z=P,P=F}I[0]<0&&(D[z]=-1),R[1]>0&&(O[P]=-1);var N=0,j=0;for(L=0;L<4;++L)N+=Math.pow(h[4*z+L],2),j+=Math.pow(h[4*P+L],2);D[z]/=Math.sqrt(N),O[P]/=Math.sqrt(j),u.axes[0]=D,u.axes[1]=O,u.fragClipBounds[0]=M(b,S[0],C,-1e8),u.fragClipBounds[1]=M(b,S[1],C,1e8),e.vao.draw(l.TRIANGLES,e.vertexCount),e.lineWidth>0&&(l.lineWidth(e.lineWidth),e.vao.draw(l.LINES,e.lineVertexCount,e.vertexCount))}}var T=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function S(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||c,s.view=n.view||c,s.projection=n.projection||c,d[0]=2/o.drawingBufferWidth,d[1]=2/o.drawingBufferHeight,s.screenSize=d,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=T,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}A(e,r,n,i),r.vao.unbind()}p.draw=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},p.drawTransparent=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},p.drawPick=function(t){S(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},p.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 i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},p.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},p.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(\\\"projectOpacity\\\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\\\"opacity\\\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\\\"normal\\\",o=t.alignment||[0,0],s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0],u=t.glyph,f=t.color,h=t.size,p=t.angle,d=t.lineColor,g=0,m=0,v=0,y=n.length;t:for(var x=0;x<y;++x){for(var b=n[x],_=0;_<3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(B=Array.isArray(u)?l(u[x],i):l(u||\\\"\\\\u25cf\\\",i))[0],k=B[1],M=B[2];m+=3*w.cells.length,v+=2*k.edges.length}var A=m+v,T=a.mallocFloat(3*A),S=a.mallocFloat(4*A),C=a.mallocFloat(2*A),E=a.mallocUint32(A),L=[0,o[1]],z=0,P=m,D=[0,0,0,1],O=[0,0,0,1],I=Array.isArray(f)&&Array.isArray(f[0]),R=Array.isArray(d)&&Array.isArray(d[0]);t:for(x=0;x<y;++x){var B;for(b=n[x],_=0;_<3;++_){if(isNaN(b[_])||!isFinite(b[_])){g+=1;continue t}c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_])}var F;w=(B=Array.isArray(u)?l(u[x],i):l(u||\\\"\\\\u25cf\\\",i))[0],k=B[1],M=B[2];if(Array.isArray(f)){if(3===(F=I?f[x]:f).length){for(_=0;_<3;++_)D[_]=F[_];D[3]=1}else if(4===F.length)for(_=0;_<4;++_)D[_]=F[_]}else D[0]=D[1]=D[2]=0,D[3]=1;if(Array.isArray(d)){if(3===(F=R?d[x]:d).length){for(_=0;_<3;++_)O[_]=F[_];O[_]=1}else if(4===F.length)for(_=0;_<4;++_)O[_]=F[_]}else O[0]=O[1]=O[2]=0,O[3]=1;var N=.5;Array.isArray(h)?N=+h[x]:h?N=+h:this.useOrtho&&(N=12);var j=0;Array.isArray(p)?j=+p[x]:p&&(j=+p);var V=Math.cos(j),U=Math.sin(j);for(b=n[x],_=0;_<3;++_)c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_]);o[0]<0?L[0]=o[0]*(1+M[1][0]):o[0]>0&&(L[0]=-o[0]*(1+M[0][0]));var q=w.cells,H=w.positions;for(_=0;_<q.length;++_)for(var G=q[_],W=0;W<3;++W){for(var Y=0;Y<3;++Y)T[3*z+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*z+Y]=D[Y];E[z]=g;var X=H[G[W]];C[2*z]=N*(V*X[0]-U*X[1]+L[0]),C[2*z+1]=N*(U*X[0]+V*X[1]+L[1]),z+=1}for(q=k.edges,H=k.positions,_=0;_<q.length;++_)for(G=q[_],W=0;W<2;++W){for(Y=0;Y<3;++Y)T[3*P+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*P+Y]=O[Y];E[P]=g;X=H[G[W]];C[2*P]=N*(V*X[0]-U*X[1]+L[0]),C[2*P+1]=N*(U*X[0]+V*X[1]+L[1]),P+=1}g+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(C),this.idBuffer.update(new Uint32Array(E)),a.free(T),a.free(S),a.free(C),a.free(E),this.bounds=[s,c],this.points=n,this.pointCount=n.length}},p.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/glyphs\\\":257,\\\"./lib/shaders\\\":258,\\\"gl-buffer\\\":210,\\\"gl-mat4/multiply\\\":232,\\\"gl-vao\\\":279,\\\"typedarray-pool\\\":423}],260:[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:295}],261:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\"),i=t(\\\"gl-buffer\\\"),a=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=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.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),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(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(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,g,m,i),o.drawBox(p,h,g,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},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\\\":260,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],262:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new l(t,r,a)};var n=t(\\\"gl-fbo\\\"),i=t(\\\"typedarray-pool\\\"),a=t(\\\"ndarray\\\"),o=t(\\\"bit-twiddle\\\").nextPow2,s=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"array\\\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\\\"scalar\\\",\\\"scalar\\\",\\\"index\\\"],pre:{body:\\\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},body:{body:\\\"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\\\",args:[{name:\\\"_inline_16_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg1_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg4_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg5_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg6_\\\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[\\\"_inline_16_a\\\",\\\"_inline_16_f\\\",\\\"_inline_16_l\\\"]},post:{body:\\\"{return[this_closestX,this_closestY,this_closestD2]}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});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){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=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 i=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<=i||c<=l)return null;var u=[o-i,c-l],f=a(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*l)),h=s(f.hi(u[0],u[1],1),r,r),p=h[0],d=h[1];return p<0||Math.pow(this.radius,2)<h[2]?null:new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(p+i|0,d+l|0,f.get(p,d,0),[f.get(p,d,1),f.get(p,d,2),f.get(p,d,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\\\"bit-twiddle\\\":73,\\\"cwise/lib/wrapper\\\":119,\\\"gl-fbo\\\":215,ndarray:335,\\\"typedarray-pool\\\":423}],263:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/create-uniforms\\\"),i=t(\\\"./lib/create-attributes\\\"),a=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 f(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 h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var g=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),h.fragShader=h._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,h.fragShader),p.attachShader(m,h.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(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf(\\\"mat\\\")>=0){for(var k=0|w.type.charAt(w.type.length-1),M=new Array(k),A=0;A<k;++A)M[A]=_.length,b.push(w.name+\\\"[\\\"+A+\\\"]\\\"),\\\"number\\\"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&\\\"number\\\"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:M})}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 T=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(T)>=0;)T+=1;_[y]=T}var S=new Array(r.length);function C(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}C(),h._relink=C,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,\\\"uniforms\\\",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{\\\"./lib/GLError\\\":264,\\\"./lib/create-attributes\\\":265,\\\"./lib/create-uniforms\\\":266,\\\"./lib/reflect\\\":267,\\\"./lib/runtime-reflect\\\":268,\\\"./lib/shader-cache\\\":269}],264:[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},{}],265:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,i){for(var a={},l=0,c=r.length;l<c;++l){var u=r[l],f=u.name,h=u.type,p=u.locations;switch(h){case\\\"bool\\\":case\\\"int\\\":case\\\"float\\\":o(t,e,p[0],i,1,a,f);break;default:if(h.indexOf(\\\"vec\\\")>=0){var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\\\"\\\",\\\"Invalid data type for attribute \\\"+f+\\\": \\\"+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf(\\\"mat\\\")>=0))throw new n(\\\"\\\",\\\"Unknown data type for attribute \\\"+f+\\\": \\\"+h);var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\\\"\\\",\\\"Invalid data type for attribute \\\"+f+\\\": \\\"+h);s(t,e,p,i,d,a,f)}}}return a};var n=t(\\\"./GLError\\\");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=[\\\"gl\\\",\\\"v\\\"],c=[],u=0;u<a;++u)l.push(\\\"x\\\"+u),c.push(\\\"x\\\"+u);l.push(\\\"if(x0.length===void 0){return gl.vertexAttrib\\\"+a+\\\"f(v,\\\"+c.join()+\\\")}else{return gl.vertexAttrib\\\"+a+\\\"fv(v,x0)}\\\");var f=Function.apply(null,l),h=new i(t,e,r,n,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),f(t,n[r],e),e},get:function(){return h},enumerable:!0})}function s(t,e,r,n,i,a,s){for(var l=new Array(i),c=new Array(i),u=0;u<i;++u)o(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,\\\"location\\\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t[\\\"vertexAttrib\\\"+i+\\\"fv\\\"];Object.defineProperty(a,s,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\\\"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\\\":264}],266:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./reflect\\\"),i=t(\\\"./GLError\\\");function a(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 a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+r);return\\\"gl.uniformMatrix\\\"+a+\\\"fv(locations[\\\"+e+\\\"],false,obj\\\"+t+\\\")\\\"}throw new i(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+r)}var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\\\"\\\",\\\"Invalid data type\\\");switch(r.charAt(0)){case\\\"b\\\":case\\\"i\\\":return\\\"gl.uniform\\\"+a+\\\"iv(locations[\\\"+e+\\\"],obj\\\"+t+\\\")\\\";case\\\"v\\\":return\\\"gl.uniform\\\"+a+\\\"fv(locations[\\\"+e+\\\"],obj\\\"+t+\\\")\\\";default:throw new i(\\\"\\\",\\\"Unrecognized data type for vector \\\"+name+\\\": \\\"+r)}}}function c(e){for(var n=[\\\"return function updateProperty(obj){\\\"],i=function t(e,r){if(\\\"object\\\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\\\"\\\"===i?o+=\\\"[\\\"+i+\\\"]\\\":o+=\\\".\\\"+i,\\\"object\\\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\\\"\\\",e),a=0;a<i.length;++a){var o=i[a],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push(\\\"return obj}\\\");var f=new Function(\\\"gl\\\",\\\"locations\\\",n.join(\\\"\\\\n\\\"));return f(t,s)}function u(n,l,u){if(\\\"object\\\"==typeof u){var h=f(u);Object.defineProperty(n,l,{get:a(h),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){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\\\"\\\",\\\"Invalid data type\\\");return\\\"b\\\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\\\"mat\\\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+t);return o(r*r,0)}throw new i(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+t)}}(r[u].type);var p}function f(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 h=n(r,!0);return{get:a(f(h)),set:c(h),enumerable:!0,configurable:!0}}},{\\\"./GLError\\\":264,\\\"./reflect\\\":267}],267:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\\\".\\\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\\\"[\\\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<a.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],268:[function(t,e,r){\\\"use strict\\\";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(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=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(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\\\"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],269:[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,i){return u(t).getProgram(e,r,n,i)};var n=t(\\\"./GLError\\\"),i=t(\\\"gl-format-compiler-error\\\"),a=new(\\\"undefined\\\"==typeof WeakMap?t(\\\"weakmap-shim\\\"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,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,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(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 a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(\\\":\\\"),i.join(\\\":\\\")].join(\\\"@\\\"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[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,i),t.programs.push(a),e.programs.push(a)),o}},{\\\"./GLError\\\":264,\\\"gl-format-compiler-error\\\":216,\\\"weakmap-shim\\\":435}],270:[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 i=n.prototype;i.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()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.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]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],271:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=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 i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec3\\\"},{name:\\\"weight\\\",type:\\\"float\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],272:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"./shaders/index\\\");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,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=i(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=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};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],f=[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 i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;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\\\":271,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],273:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=t(\\\"glslify\\\"),a=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute vec3 f;\\\\nattribute vec3 normal;\\\\n\\\\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  worldCoordinate = vec3(uv.zw, f.x);\\\\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=i([\\\"precision mediump 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\\\\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 (kill > 0.0 ||\\\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute float f;\\\\n\\\\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\\\n\\\\n  vec4 clipPosition = projection * view * worldPosition;\\\\n  clipPosition.z = clipPosition.z + zOffset;\\\\n\\\\n  gl_Position = clipPosition;\\\\n  value = f;\\\\n  kill = -1.0;\\\\n  worldCoordinate = dataCoordinate;\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    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,a,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,a,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\\\":263,glslify:295}],274:[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=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,T,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new S(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d),v={levels:[[],[],[]]};for(var k in t)v[k]=t[k];return v.colormap=v.colormap||\\\"jet\\\",m.update(v),m};var n=t(\\\"bit-twiddle\\\"),i=t(\\\"gl-buffer\\\"),a=t(\\\"gl-vao\\\"),o=t(\\\"gl-texture2d\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"colormap\\\"),c=t(\\\"ndarray-ops\\\"),u=t(\\\"ndarray-pack\\\"),f=t(\\\"ndarray\\\"),h=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=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[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(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var T=256;function S(t,e,r,n,i,a,o,l,c,u,h,p,d,g){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([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=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(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.opacity=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 C=S.prototype;C.isTransparent=function(){return this.opacity<1},C.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function z(t,e){var r,n,i,a=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=L.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[+(a[r]>0)][r],p(l,t.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:k,view:k,projection:k,inverseModel:k.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},D=k.slice(),O=[1,0,0,0,1,0,0,0,1];function I(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,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.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][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=O,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=z(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)this._contourCounts[i][o]&&(o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),f.uniforms.height=this.contourLevels[o][g],h.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g])}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=A[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}C.draw=function(t){return I.call(this,t,!1)},C.drawTransparent=function(t){return I.call(this,t,!0)};var R={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function B(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))}function F(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function N(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 j(t){if(Array.isArray(t)){if(Array.isArray(t))return[N(t[0]),N(t[1]),N(t[2])];var e=N(t);return[e.slice(),e.slice(),e.slice()]}}C.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=R;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=O;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=z(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(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=A[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=A[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},C.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,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?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]=a<.5?i:i+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},C.update=function(t){t=t||{},this.dirty=!0,\\\"contourWidth\\\"in t&&(this.contourWidth=F(t.contourWidth,Number)),\\\"showContour\\\"in t&&(this.showContour=F(t.showContour,Boolean)),\\\"showSurface\\\"in t&&(this.showSurface=!!t.showSurface),\\\"contourTint\\\"in t&&(this.contourTint=F(t.contourTint,Boolean)),\\\"contourColor\\\"in t&&(this.contourColor=j(t.contourColor)),\\\"contourProject\\\"in t&&(this.contourProject=F(t.contourProject,function(t){return F(t,Boolean)})),\\\"surfaceProject\\\"in t&&(this.surfaceProject=t.surfaceProject),\\\"dynamicColor\\\"in t&&(this.dynamicColor=j(t.dynamicColor)),\\\"dynamicTint\\\"in t&&(this.dynamicTint=F(t.dynamicTint,Number)),\\\"dynamicWidth\\\"in t&&(this.dynamicWidth=F(t.dynamicWidth,Number)),\\\"opacity\\\"in t&&(this.opacity=t.opacity),\\\"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 i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),B(this._field[2],e),this.shape=e.shape.slice();for(var a=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]=f(this._field[o].data,[a[0]+2,a[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]!==a[b])throw new Error(\\\"gl-surface: coords have incorrect shape\\\");B(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=f(v)),v.shape[0]!==a[o])throw new Error(\\\"gl-surface: invalid tick length\\\");var y=f(v.data,a);y.stride[o]=v.stride[0],y.stride[1^o]=0,B(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<a[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),b=0;b<a[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,a[1]+1,a[1]-1)}var _=this._field,w=f(s.mallocFloat(3*_[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)m(w.pick(o),_[o],\\\"mirror\\\");var k=f(s.mallocFloat(3*_[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(b=0;b<a[1]+2;++b){var A=w.get(0,o,b,0),S=w.get(0,o,b,1),C=w.get(1,o,b,0),E=w.get(1,o,b,1),L=w.get(2,o,b,0),z=w.get(2,o,b,1),P=C*z-E*L,D=L*S-z*A,O=A*E-S*C,I=Math.sqrt(P*P+D*D+O*O);I<1e-8?(I=Math.max(Math.abs(P),Math.abs(D),Math.abs(O)))<1e-8?(O=1,D=P=0,I=1):I=1/I:I=1/Math.sqrt(I),k.set(o,b,0,P*I),k.set(o,b,1,D*I),k.set(o,b,2,O*I)}s.free(w.data);var R=[1/0,1/0,1/0],N=[-1/0,-1/0,-1/0],V=1/0,U=-1/0,q=(a[0]-1)*(a[1]-1)*6,H=s.mallocFloat(n.nextPow2(10*q)),G=0,W=0;for(o=0;o<a[0]-1;++o)t:for(b=0;b<a[1]-1;++b){for(var Y=0;Y<2;++Y)for(var X=0;X<2;++X)for(var Z=0;Z<3;++Z){var J=this._field[Z].get(1+o+Y,1+b+X);if(isNaN(J)||!isFinite(J))continue t}for(Z=0;Z<6;++Z){var K=o+M[Z][0],Q=b+M[Z][1],$=this._field[0].get(K+1,Q+1),tt=this._field[1].get(K+1,Q+1),et=J=this._field[2].get(K+1,Q+1);P=k.get(K+1,Q+1,0),D=k.get(K+1,Q+1,1),O=k.get(K+1,Q+1,2),t.intensity&&(et=t.intensity.get(K,Q)),H[G++]=K,H[G++]=Q,H[G++]=$,H[G++]=tt,H[G++]=J,H[G++]=0,H[G++]=et,H[G++]=P,H[G++]=D,H[G++]=O,R[0]=Math.min(R[0],$),R[1]=Math.min(R[1],tt),R[2]=Math.min(R[2],J),V=Math.min(V,et),N[0]=Math.max(N[0],$),N[1]=Math.max(N[1],tt),N[2]=Math.max(N[2],J),U=Math.max(U,et),W+=1}}for(t.intensityBounds&&(V=+t.intensityBounds[0],U=+t.intensityBounds[1]),o=6;o<G;o+=10)H[o]=(H[o]-V)/(U-V);this._vertexCount=W,this._coordinateBuffer.update(H.subarray(0,G)),s.freeFloat(H),s.free(k.data),this.bounds=[R,N],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===V&&this.intensityBounds[1]===U||(r=!0),this.intensityBounds=[V,U]}if(\\\"levels\\\"in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],o=0;o<3;++o)rt[o]=rt[o].slice(),rt.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if(rt[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<rt[o].length;++b)if(rt[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=rt}if(r){_=this._field,a=this.shape;for(var nt=[],it=0;it<3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(o=0;o<rt.length;++o){var lt=h(this._field[it],rt[o]);at.push(nt.length/5|0),W=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(Z=0;Z<2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),pt=ft-ht,dt=ut[1],gt=0|Math.floor(dt),mt=dt-gt,vt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(K=0|Math.min(Math.max(ht+Y,0),a[0]),X=0;X<2;++X){var _t=X?mt:1-mt;if(Q=0|Math.min(Math.max(gt+X,0),a[1]),J=yt<2?this._field[xt].get(K,Q):(this.intensity.get(K,Q)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(J)||isNaN(J)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*J}}}if(vt){if(Z>0){for(var kt=0;kt<5;++kt)nt.pop();W-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),W+=1}}ot.push(W)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var Mt=s.mallocFloat(nt.length);for(o=0;o<nt.length;++o)Mt[o]=nt[o];this._contourBuffer.update(Mt),s.freeFloat(Mt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:T,format:\\\"rgba\\\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},C.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)},C.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,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,i=this.shape,a=s.mallocFloat(12*i[0]*i[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],f=this._field[l],p=this._field[c],d=(this.intensity,h(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,i[0]),k=b-_,M=1-k,A=+x[1],T=0|A,S=0|Math.min(T+1,i[1]),C=A-T,E=1-C,L=M*E,z=M*C,P=k*E,D=k*C,O=L*f.get(_,T)+z*f.get(_,S)+P*f.get(w,T)+D*f.get(w,S),I=L*p.get(_,T)+z*p.get(_,S)+P*p.get(w,T)+D*p.get(w,S);if(isNaN(O)||isNaN(I)){y&&(n-=1);break}a[2*n+0]=O,a[2*n+1]=I,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{\\\"./lib/shaders\\\":273,\\\"binary-search-bounds\\\":72,\\\"bit-twiddle\\\":73,colormap:106,\\\"gl-buffer\\\":210,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/multiply\\\":232,\\\"gl-texture2d\\\":275,\\\"gl-vao\\\":279,ndarray:335,\\\"ndarray-gradient\\\":326,\\\"ndarray-ops\\\":329,\\\"ndarray-pack\\\":330,\\\"surface-nets\\\":409,\\\"typedarray-pool\\\":423}],275:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray\\\"),i=t(\\\"ndarray-ops\\\"),a=t(\\\"typedarray-pool\\\");e.exports=function(t){if(arguments.length<=1)throw new Error(\\\"gl-texture2d: Missing arguments for texture2d constructor\\\");o||function(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]}(t);if(\\\"number\\\"==typeof arguments[1])return m(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return m(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=c(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new h(t,o,r,n,i,a)}(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 function(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=d(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 f,p,m=0;if(2===o.length)m=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])m=t.ALPHA;else if(2===o[2])m=t.LUMINANCE_ALPHA;else if(3===o[2])m=t.RGB;else{if(4!==o[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");m=t.RGBA}}c!==t.FLOAT||t.getExtension(\\\"OES_texture_float\\\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)f=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];p=a.malloc(v,r);var x=n(p,o,y,0);\\\"float32\\\"!==r&&\\\"float64\\\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,v)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,m,o[0],o[1],0,m,c,f),l||a.free(p);return new h(t,b,o[0],o[1],m,c)}(t,e)}throw new Error(\\\"gl-texture2d: Invalid arguments for texture2d constructor\\\")};var o=null,s=null,l=null;function c(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 u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)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 h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,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 p=h.prototype;function d(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 g(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 m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-texture2d: Invalid texture shape\\\");if(i===t.FLOAT&&!t.getExtension(\\\"OES_texture_float\\\"))throw new Error(\\\"gl-texture2d: Floating point textures not supported on this platform\\\");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{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}}}),p.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},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.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)},p.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=c(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,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error(\\\"gl-texture2d: Invalid ndarray, must be 2d or 3d\\\");var g=0,m=0,v=d(p,f.stride.slice());\\\"float32\\\"===h?g=t.FLOAT:\\\"float64\\\"===h?(g=t.FLOAT,v=!1,h=\\\"float32\\\"):\\\"uint8\\\"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,v=!1,h=\\\"uint8\\\");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.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=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&v)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),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?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:335,\\\"ndarray-ops\\\":329,\\\"typedarray-pool\\\":423}],276:[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 i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if(\\\"number\\\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\\\"gl-vao: Invalid vertex attribute\\\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)}},{}],277:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./do-bind.js\\\");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.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 i(t)}},{\\\"./do-bind.js\\\":276}],278:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./do-bind.js\\\");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.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)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];\\\"number\\\"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.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 a(t,e,e.createVertexArrayOES())}},{\\\"./do-bind.js\\\":276}],279:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/vao-native.js\\\"),i=t(\\\"./lib/vao-emulated.js\\\");e.exports=function(t,e,r,a){var o,s=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(\\\"OES_vertex_array_object\\\");return(o=s?n(t,s):i(t)).update(e,r,a),o}},{\\\"./lib/vao-emulated.js\\\":277,\\\"./lib/vao-native.js\\\":278}],280:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],281:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],282:[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)}},{}],283:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}},{}],284:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],285:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],286:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],287:[function(t,e,r){var n=t(\\\"glsl-tokenizer\\\"),i=t(\\\"atob-lite\\\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if(\\\"preprocessor\\\"===a.type){var o=a.data.match(/\\\\#define\\\\s+SHADER_NAME(_B64)?\\\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{\\\"atob-lite\\\":53,\\\"glsl-tokenizer\\\":294}],288:[function(t,e,r){e.exports=function(t){var e,r,k,M=0,A=0,T=l,S=[],C=[],E=1,L=0,z=0,P=!1,D=!1,O=\\\"\\\",I=a,R=n;\\\"300 es\\\"===(t=t||{}).version&&(I=s,R=o);return function(t){return C=[],null!==t?function(t){var r;M=0,k=(O+=t).length;for(;e=O[M],M<k;){switch(r=M,T){case u:M=V();break;case f:case h:M=j();break;case p:M=U();break;case d:M=G();break;case _:M=H();break;case g:M=W();break;case c:M=Y();break;case x:M=N();break;case l:M=F()}if(r!==M)switch(O[r]){case\\\"\\\\n\\\":L=0,++E;break;default:++L}}return A+=M,O=O.slice(M),C}(t.replace?t.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\"):t):function(t){S.length&&B(S.join(\\\"\\\"));return T=b,B(\\\"(eof)\\\"),C}()};function B(t){t.length&&C.push({type:w[T],data:t,position:z,line:E,column:L})}function F(){return S=S.length?[]:S,\\\"/\\\"===r&&\\\"*\\\"===e?(z=A+M-1,T=u,r=e,M+1):\\\"/\\\"===r&&\\\"/\\\"===e?(z=A+M-1,T=f,r=e,M+1):\\\"#\\\"===e?(T=h,z=A+M,M):/\\\\s/.test(e)?(T=x,z=A+M,M):(P=/\\\\d/.test(e),D=/[^\\\\w_]/.test(e),z=A+M,T=P?d:D?p:c,M)}function N(){return/[^\\\\s]/g.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function j(){return\\\"\\\\r\\\"!==e&&\\\"\\\\n\\\"!==e||\\\"\\\\\\\\\\\"===r?(S.push(e),r=e,M+1):(B(S.join(\\\"\\\")),T=l,M)}function V(){return\\\"/\\\"===e&&\\\"*\\\"===r?(S.push(e),B(S.join(\\\"\\\")),T=l,M+1):(S.push(e),r=e,M+1)}function U(){if(\\\".\\\"===r&&/\\\\d/.test(e))return T=g,M;if(\\\"/\\\"===r&&\\\"*\\\"===e)return T=u,M;if(\\\"/\\\"===r&&\\\"/\\\"===e)return T=f,M;if(\\\".\\\"===e&&S.length){for(;q(S););return T=g,M}if(\\\";\\\"===e||\\\")\\\"===e||\\\"(\\\"===e){if(S.length)for(;q(S););return B(e),T=l,M+1}var t=2===S.length&&\\\"=\\\"!==e;if(/[\\\\w_\\\\d\\\\s]/.test(e)||t){for(;q(S););return T=l,M}return S.push(e),r=e,M+1}function q(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join(\\\"\\\")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\\\"\\\")}return B(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function G(){return\\\".\\\"===e?(S.push(e),T=g,r=e,M+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,M+1):\\\"x\\\"===e&&1===S.length&&\\\"0\\\"===S[0]?(T=_,S.push(e),r=e,M+1):/[^\\\\d]/.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function W(){return\\\"f\\\"===e&&(S.push(e),r=e,M+=1),/[eE]/.test(e)?(S.push(e),r=e,M+1):\\\"-\\\"===e&&/[eE]/.test(r)?(S.push(e),r=e,M+1):/[^\\\\d]/.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function Y(){if(/[^\\\\d\\\\w_]/.test(e)){var t=S.join(\\\"\\\");return T=R.indexOf(t)>-1?y:I.indexOf(t)>-1?v:m,B(S.join(\\\"\\\")),T=l,M}return S.push(e),r=e,M+1}};var n=t(\\\"./lib/literals\\\"),i=t(\\\"./lib/operators\\\"),a=t(\\\"./lib/builtins\\\"),o=t(\\\"./lib/literals-300es\\\"),s=t(\\\"./lib/builtins-300es\\\"),l=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,m=6,v=7,y=8,x=9,b=10,_=11,w=[\\\"block-comment\\\",\\\"line-comment\\\",\\\"preprocessor\\\",\\\"operator\\\",\\\"integer\\\",\\\"float\\\",\\\"ident\\\",\\\"builtin\\\",\\\"keyword\\\",\\\"whitespace\\\",\\\"eof\\\",\\\"integer\\\"]},{\\\"./lib/builtins\\\":290,\\\"./lib/builtins-300es\\\":289,\\\"./lib/literals\\\":292,\\\"./lib/literals-300es\\\":291,\\\"./lib/operators\\\":293}],289:[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\\\":290}],290:[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\\\"]},{}],291:[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\\\",\\\"uint\\\",\\\"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\\\":292}],292:[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\\\",\\\"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\\\"]},{}],293:[function(t,e,r){e.exports=[\\\"<<=\\\",\\\">>=\\\",\\\"++\\\",\\\"--\\\",\\\"<<\\\",\\\">>\\\",\\\"<=\\\",\\\">=\\\",\\\"==\\\",\\\"!=\\\",\\\"&&\\\",\\\"||\\\",\\\"+=\\\",\\\"-=\\\",\\\"*=\\\",\\\"/=\\\",\\\"%=\\\",\\\"&=\\\",\\\"^^\\\",\\\"^=\\\",\\\"|=\\\",\\\"(\\\",\\\")\\\",\\\"[\\\",\\\"]\\\",\\\".\\\",\\\"!\\\",\\\"~\\\",\\\"*\\\",\\\"/\\\",\\\"%\\\",\\\"+\\\",\\\"-\\\",\\\"<\\\",\\\">\\\",\\\"&\\\",\\\"^\\\",\\\"|\\\",\\\"?\\\",\\\":\\\",\\\"=\\\",\\\",\\\",\\\";\\\",\\\"{\\\",\\\"}\\\"]},{}],294:[function(t,e,r){var n=t(\\\"./index\\\");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{\\\"./index\\\":288}],295:[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(\\\"\\\")}},{}],296:[function(t,e,r){(function(r){\\\"use strict\\\";var n,i=t(\\\"is-browser\\\");n=\\\"function\\\"==typeof r.matchMedia?!r.matchMedia(\\\"(hover: none)\\\").matches:i,e.exports=n}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"is-browser\\\":303}],297:[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\\\":303}],298:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],299:[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 i=t[0].length;if(r<=i)throw new Error(\\\"Must input at least d+1 points\\\");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error(\\\"Input not in general position\\\");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}for(var _=new c(i,o,p),w=!!e,u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t(\\\"robust-orientation\\\"),i=t(\\\"simplicial-complex\\\").compareCells;function a(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 i(t.vertices,e.vertices)}a.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 i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a=l[t];a||(a=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 i=new Function(\\\"test\\\",e.join(\\\"\\\")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=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,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}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,i=this.vertices,a=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)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.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]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),k=d.slice(),M=new a(w,k,!0);u.push(M);var A=_.indexOf(e);if(!(A<0)){_[A]=M,k[g]=v,w[m]=-1,k[m]=e,d[m]=M,M.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),C=0,E=0;E<=n;++E){var L=w[E];L<0||E===b||(S[C++]=L)}h.push(new o(S,M,b))}}}}}}h.sort(s);for(m=0;m+1<h.length;m+=2){var z=h[m],P=h[m+1],D=z.index,O=P.index;D<0||O<0||(z.cell.adjacent[z.index]=P.cell,P.cell.adjacent[P.index]=z.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);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,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.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 f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{\\\"robust-orientation\\\":388,\\\"simplicial-complex\\\":398}],300:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=0,a=1;function o(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(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 c(t,e){var r=y(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 u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function m(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function v(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(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(g);var n=e[e.length>>1],i=[],a=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?i.push(l):n<l[0]?a.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(m),u.sort(v),new o(n,y(i),y(a),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.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)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,m),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.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)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left;c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,m);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,v);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),a}return i}return this.right?4*(this.left?this.left.count:0)>3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;var c}},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return h(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.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?h(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,\\\"count\\\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,\\\"intervals\\\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\\\"binary-search-bounds\\\":72}],301:[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}},{}],302:[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}},{}],303:[function(t,e,r){e.exports=!0},{}],304:[function(t,e,r){function n(t){return!!t.constructor&&\\\"function\\\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}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)}},{}],305:[function(t,e,r){\\\"use strict\\\";e.exports=\\\"undefined\\\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\\\//.test(navigator.appVersion))},{}],306:[function(t,e,r){e.exports=function(t){t||\\\"undefined\\\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\\\"string\\\"==typeof t.headers[\\\"user-agent\\\"]&&(t=t.headers[\\\"user-agent\\\"]);return\\\"string\\\"==typeof t&&(/(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(4|6)0|symbian|treo|up\\\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(t.substr(0,4)))}},{}],307:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=typeof t;return null!==t&&(\\\"object\\\"===e||\\\"function\\\"===e)}},{}],308:[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({}))}},{}],309:[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))}},{}],310:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],311:[function(t,e,r){(function(n){\\\"use strict\\\";!function(t){\\\"object\\\"==typeof r&&void 0!==e?e.exports=t():(\\\"undefined\\\"!=typeof window?window:void 0!==n?n:\\\"undefined\\\"!=typeof self?self:this).mapboxgl=t()}(function(){return function e(r,n,i){function a(s,l){if(!n[s]){if(!r[s]){var c=\\\"function\\\"==typeof t&&t;if(!l&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error(\\\"Cannot find module '\\\"+s+\\\"'\\\");throw u.code=\\\"MODULE_NOT_FOUND\\\",u}var f=n[s]={exports:{}};r[s][0].call(f.exports,function(t){var e=r[s][1][t];return a(e||t)},f,f.exports,e,r,n,i)}return n[s].exports}for(var o=\\\"function\\\"==typeof t&&t,s=0;s<i.length;s++)a(i[s]);return a}({1:[function(t,e,r){function n(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,i,s,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(n=u-2,i=u-1,s=0):l===u-1?(n=u-1,i=0,s=1):(n=l,i=l+1,s=l+2),e=t[n],r=t[i],c+=(a(t[s][0])-a(e[0]))*Math.sin(a(r[1]));c=c*o.RADIUS*o.RADIUS/2}return c}function a(t){return t*Math.PI/180}var o=t(\\\"wgs84\\\");e.exports.geometry=function t(e){var r,i=0;switch(e.type){case\\\"Polygon\\\":return n(e.coordinates);case\\\"MultiPolygon\\\":for(r=0;r<e.coordinates.length;r++)i+=n(e.coordinates[r]);return i;case\\\"Point\\\":case\\\"MultiPoint\\\":case\\\"LineString\\\":case\\\"MultiLineString\\\":return 0;case\\\"GeometryCollection\\\":for(r=0;r<e.geometries.length;r++)i+=t(e.geometries[r]);return i}},e.exports.ring=i},{wgs84:37}],2:[function(t,e,r){var n,i;n=this,i=function(){return function(){var t=new Float32Array(3);t[0]=0,t[1]=0,t[2]=0}(),function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{transformMat3:function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},rotate:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,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}},mat4:{create: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},identity: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},translate:function(t,e,r){var n,i,a,o,s,l,c,u,f,h,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]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},scale:function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=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+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+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+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+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+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+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+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},rotateX:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=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]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},rotateZ:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=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]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},invert:function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=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-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,C=f*v-p*g,E=h*v-p*m,L=y*E-x*C+b*S+_*T-w*A+k*M;return L?(L=1/L,t[0]=(s*E-l*C+c*S)*L,t[1]=(i*C-n*E-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*E-c*A)*L,t[5]=(r*E-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*C-s*T+c*M)*L,t[9]=(n*T-r*C-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},ortho:function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-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]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}}}},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.glMatrix=i()},{}],3:[function(t,e,r){function n(t){return!!(\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document&&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))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&&function(t){return void 0===i[t]&&(i[t]=function(t){var e=document.createElement(\\\"canvas\\\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\\\"webgl\\\",r)||e.probablySupportsContext(\\\"experimental-webgl\\\",r):e.supportsContext?e.supportsContext(\\\"webgl\\\",r)||e.supportsContext(\\\"experimental-webgl\\\",r):e.getContext(\\\"webgl\\\",r)||e.getContext(\\\"experimental-webgl\\\",r)}(t)),i[t]}(t&&t.failIfMajorPerformanceCaveat))}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],4:[function(t,e,r){function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(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[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,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=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],5:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a,o=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,c,u,f,h={freebin:-1,shelf:-1,waste:1/0},p=0;if(\\\"string\\\"==typeof n||\\\"number\\\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\\\"number\\\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<h.waste&&(h.waste=o,h.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<h.waste&&(h.freebin=-1,h.waste=o,h.shelf=s)}return-1!==h.freebin?this.allocFreebin(h.freebin,t,r,n):-1!==h.shelf?this.allocShelf(h.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=c=this.h,((u=f=this.w)<=l||t>u)&&(f=2*Math.max(t,u)),(l<u||r>l)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\\\"sans-serif\\\",this.fontWeight=a||\\\"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 i(t,e,r,n,i,o,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(a(n,i,o,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(a(n,i,o,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function a(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a<i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l<=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a<i;a++){for(;n[s+1]<a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}e.exports=n;var o=1e20;n.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?o:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?o:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(i(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),i(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var s=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))))}return r}},{}],7:[function(t,e,r){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}e.exports=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,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(n=1,(i=t)<(r=0))return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],8:[function(t,e,r){e.exports.VectorTile=t(\\\"./lib/vectortile.js\\\"),e.exports.VectorTileFeature=t(\\\"./lib/vectortilefeature.js\\\"),e.exports.VectorTileLayer=t(\\\"./lib/vectortilelayer.js\\\")},{\\\"./lib/vectortile.js\\\":9,\\\"./lib/vectortilefeature.js\\\":10,\\\"./lib/vectortilelayer.js\\\":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t(\\\"./vectortilelayer\\\");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{\\\"./vectortilelayer\\\":11}],10:[function(t,e,r){function n(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(i,this,e)}function i(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()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}var o=t(\\\"@mapbox/point-geometry\\\");e.exports=n,n.types=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,s=0,l=[];t.pos<r;){if(!i){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error(\\\"unknown command \\\"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(!n){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>c&&(c=a);else if(7!==r)throw new Error(\\\"unknown command \\\"+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+u)/l;t[e]=[360*(r.x+c)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var o,s,l=this.extent*Math.pow(2,r),c=this.extent*t,u=this.extent*e,f=this.loadGeometry(),h=n.types[this.type];switch(this.type){case 1:var p=[];for(o=0;o<f.length;o++)p[o]=f[o][0];i(f=p);break;case 2:for(o=0;o<f.length;o++)i(f[o]);break;case 3:for(f=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],o=0;o<e;o++){var s=a(t[o]);0!==s&&(void 0===n&&(n=s<0),n===s<0?(r&&i.push(r),r=[t[o]]):r.push(t[o]))}return r&&i.push(r),i}(f),o=0;o<f.length;o++)for(s=0;s<f[o].length;s++)i(f[o][s])}1===f.length?f=f[0]:h=\\\"Multi\\\"+h;var d={type:\\\"Feature\\\",geometry:{type:h,coordinates:f},properties:this.properties};return\\\"id\\\"in this&&(d.id=this.id),d}},{\\\"@mapbox/point-geometry\\\":4}],11:[function(t,e,r){function n(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(i,this,e),this.length=this._features.length}function i(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))}var a=t(\\\"./vectortilefeature.js\\\");e.exports=n,n.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 a(this._pbf,e,this.extent,this._keys,this._values)}},{\\\"./vectortilefeature.js\\\":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\\\",\\\"+i[1]+\\\",\\\"+a[0]+\\\",\\\"+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+\\\"?\\\"+[\\\"bbox=\\\"+e(n,i,a),\\\"format=\\\"+(o.format||\\\"image/png\\\"),\\\"service=\\\"+(o.service||\\\"WMS\\\"),\\\"version=\\\"+(o.version||\\\"1.1.1\\\"),\\\"request=\\\"+(o.request||\\\"GetMap\\\"),\\\"srs=\\\"+(o.srs||\\\"EPSG:3857\\\"),\\\"width=\\\"+(o.width||256),\\\"height=\\\"+(o.height||256),\\\"layers=\\\"+r].join(\\\"&\\\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}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}var s={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]};try{r.parseCSSColor=function(t){var e,r=t.replace(/ /g,\\\"\\\").toLowerCase();if(r in s)return s[r].slice();if(\\\"#\\\"===r[0])return 4===r.length?(e=parseInt(r.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===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf(\\\"(\\\"),c=r.indexOf(\\\")\\\");if(-1!==l&&c+1===r.length){var u=r.substr(0,l),f=r.substr(l+1,c-(l+1)).split(\\\",\\\"),h=1;switch(u){case\\\"rgba\\\":if(4!==f.length)return null;h=a(f.pop());case\\\"rgb\\\":return 3!==f.length?null:[i(f[0]),i(f[1]),i(f[2]),h];case\\\"hsla\\\":if(4!==f.length)return null;h=a(f.pop());case\\\"hsl\\\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=a(f[1]),g=a(f[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)),h];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)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=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(d(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(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],p=t[b+1],u<n&&(n=u),p<s&&(s=p),u>l&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=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)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;for(n=r.next;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(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 M(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 A(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(A(t,0,a,r));if(i)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(A(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r<t.length;r++)t[r]=a(t[r],!e);return t}function a(t,e){return function(t){return o.ring(t)>=0}(t)===e?t:t.reverse()}var o=t(\\\"@mapbox/geojson-area\\\");e.exports=function t(e,r){switch(e&&e.type||null){case\\\"FeatureCollection\\\":return e.features=e.features.map(n(t,r)),e;case\\\"Feature\\\":return e.geometry=t(e.geometry,r),e;case\\\"Polygon\\\":case\\\"MultiPolygon\\\":return function(t,e){return\\\"Polygon\\\"===t.type?t.coordinates=i(t.coordinates,e):\\\"MultiPolygon\\\"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{\\\"@mapbox/geojson-area\\\":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var c=[],u=0===i?s:l,f=0;f<t.length-3;f+=3){var h=t[f],p=t[f+1],d=t[f+2],g=t[f+3],m=t[f+4],v=0===i?h:p,y=0===i?g:m,x=!1;v<r?y>=r&&u(c,h,p,g,m,r):v>n?y<=n&&u(c,h,p,g,m,n):o(c,h,p,d),y<r&&v>=r&&(u(c,h,p,g,m,r),x=!0),y>n&&v<=n&&(u(c,h,p,g,m,n),x=!0),!a&&x&&(c.size=t.size,e.push(c),c=[])}var b=t.length-3;h=t[b],p=t[b+1],d=t[b+2],(v=0===i?h:p)>=r&&v<=n&&o(c,h,p,d),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&o(c,c[0],c[1],c[2]),c.length&&(c.size=t.size,e.push(c))}function a(t,e,r,n,a,o){for(var s=0;s<t.length;s++)i(t[s],e,r,n,a,o)}function o(t,e,r,n){t.push(e),t.push(r),t.push(n)}function s(t,e,r,n,i,a){t.push(a),t.push(r+(a-e)*(i-r)/(n-e)),t.push(1)}function l(t,e,r,n,i,a){t.push(e+(a-r)*(n-e)/(i-r)),t.push(a),t.push(1)}e.exports=function(t,e,r,o,s,l,u){if(o/=e,l>=(r/=e)&&u<=o)return t;if(l>o||u<r)return null;for(var f=[],h=0;h<t.length;h++){var p=t[h],d=p.geometry,g=p.type,m=0===s?p.minX:p.minY,v=0===s?p.maxX:p.maxY;if(m>=r&&v<=o)f.push(p);else if(!(m>o||v<r)){var y=[];if(\\\"Point\\\"===g||\\\"MultiPoint\\\"===g)n(d,y,r,o,s);else if(\\\"LineString\\\"===g)i(d,y,r,o,s,!1);else if(\\\"MultiLineString\\\"===g)a(d,y,r,o,s,!1);else if(\\\"Polygon\\\"===g)a(d,y,r,o,s,!0);else if(\\\"MultiPolygon\\\"===g)for(var x=0;x<d.length;x++){var b=[];a(d[x],b,r,o,s,!0),b.length&&y.push(b)}y.length&&(\\\"LineString\\\"!==g&&\\\"MultiLineString\\\"!==g||(1===y.length?(g=\\\"LineString\\\",y=y[0]):g=\\\"MultiLineString\\\"),\\\"Point\\\"!==g&&\\\"MultiPoint\\\"!==g||(g=3===y.length?\\\"Point\\\":\\\"MultiPoint\\\"),f.push(c(p.id,g,y,p.tags)))}}return f.length?f:null};var c=t(\\\"./feature\\\")},{\\\"./feature\\\":18}],17:[function(t,e,r){function n(t,e,r){if(e.geometry){var s=e.geometry.coordinates,l=e.geometry.type,c=r*r,f=[];if(\\\"Point\\\"===l)i(s,f);else if(\\\"MultiPoint\\\"===l)for(var h=0;h<s.length;h++)i(s[h],f);else if(\\\"LineString\\\"===l)a(s,f,c,!1);else if(\\\"MultiLineString\\\"===l)o(s,f,c,!1);else if(\\\"Polygon\\\"===l)o(s,f,c,!0);else{if(\\\"MultiPolygon\\\"!==l){if(\\\"GeometryCollection\\\"===l){for(h=0;h<e.geometry.geometries.length;h++)n(t,{geometry:e.geometry.geometries[h],properties:e.properties},r);return}throw new Error(\\\"Input data is not a valid GeoJSON object.\\\")}for(h=0;h<s.length;h++){var p=[];o(s[h],p,c,!0),f.push(p)}}t.push(u(e.id,l,f,e.properties))}}function i(t,e){e.push(s(t[0])),e.push(l(t[1])),e.push(0)}function a(t,e,r,n){for(var i,a,o=0,u=0;u<t.length;u++){var f=s(t[u][0]),h=l(t[u][1]);e.push(f),e.push(h),e.push(0),u>0&&(o+=n?(i*h-f*a)/2:Math.sqrt(Math.pow(f-i,2)+Math.pow(h-a,2))),i=f,a=h}var p=e.length-3;e[2]=1,c(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i<t.length;i++){var o=[];a(t[i],o,r,n),e.push(o)}}function s(t){return t/360+.5}function l(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}e.exports=function(t,e){var r=[];if(\\\"FeatureCollection\\\"===t.type)for(var i=0;i<t.features.length;i++)n(r,t.features[i],e);else\\\"Feature\\\"===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var c=t(\\\"./simplify\\\"),u=t(\\\"./feature\\\")},{\\\"./feature\\\":18,\\\"./simplify\\\":20}],18:[function(t,e,r){function n(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])}e.exports=function(t,e,r,i){var a={id:t||null,type:e,geometry:r,tags:i,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)n(t,e);else if(\\\"Polygon\\\"===r||\\\"MultiLineString\\\"===r)for(var i=0;i<e.length;i++)n(t,e[i]);else if(\\\"MultiPolygon\\\"===r)for(i=0;i<e.length;i++)for(var a=0;a<e[i].length;a++)n(t,e[i][a])}(a),a}},{}],19:[function(t,e,r){function n(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\\\");var n=1<<e.maxZoom,i=a(t,e.tolerance/(n*e.extent));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),(i=l(i,e.buffer/e.extent)).length&&this.splitTile(i,0,0,0),r&&(i.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 i(t,e,r){return 32*((1<<t)*r+e)+t}e.exports=function(t,e){return new n(t,e)};var a=t(\\\"./convert\\\"),o=t(\\\"./transform\\\"),s=t(\\\"./clip\\\"),l=t(\\\"./wrap\\\"),c=t(\\\"./tile\\\");n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,a,o,l){for(var u=[t,e,r,n],f=this.options,h=f.debug;u.length;){n=u.pop(),r=u.pop(),e=u.pop(),t=u.pop();var p=1<<e,d=i(e,r,n),g=this.tiles[d],m=e===f.maxZoom?0:f.tolerance/(p*f.extent);if(!g&&(h>1&&console.time(\\\"creation\\\"),g=this.tiles[d]=c(t,p,r,n,m,e===f.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),h)){h>1&&(console.log(\\\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\\\",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd(\\\"creation\\\"));var v=\\\"z\\\"+e;this.stats[v]=(this.stats[v]||0)+1,this.total++}if(g.source=t,a){if(e===f.maxZoom||e===a)continue;var y=1<<a-e;if(r!==Math.floor(o/y)||n!==Math.floor(l/y))continue}else if(e===f.indexMaxZoom||g.numPoints<=f.indexMaxPoints)continue;if(g.source=null,0!==t.length){h>1&&console.time(\\\"clipping\\\");var x,b,_,w,k,M,A=.5*f.buffer/f.extent,T=.5-A,S=.5+A,C=1+A;x=b=_=w=null,k=s(t,p,r-A,r+S,0,g.minX,g.maxX),M=s(t,p,r+T,r+C,0,g.minX,g.maxX),t=null,k&&(x=s(k,p,n-A,n+S,1,g.minY,g.maxY),b=s(k,p,n+T,n+C,1,g.minY,g.maxY),k=null),M&&(_=s(M,p,n-A,n+S,1,g.minY,g.maxY),w=s(M,p,n+T,n+C,1,g.minY,g.maxY),M=null),h>1&&console.timeEnd(\\\"clipping\\\"),u.push(x||[],e+1,2*r,2*n),u.push(b||[],e+1,2*r,2*n+1),u.push(_||[],e+1,2*r+1,2*n),u.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<<t,c=i(t,e=(e%l+l)%l,r);if(this.tiles[c])return o.tile(this.tiles[c],a);s>1&&console.log(\\\"drilling down to z%d-%d-%d\\\",t,e,r);for(var u,f=t,h=e,p=r;!u&&f>0;)f--,h=Math.floor(h/2),p=Math.floor(p/2),u=this.tiles[i(f,h,p)];return u&&u.source?(s>1&&console.log(\\\"found parent tile z%d-%d-%d\\\",f,h,p),s>1&&console.time(\\\"drilling down\\\"),this.splitTile(u.source,f,h,p,t,e,r),s>1&&console.timeEnd(\\\"drilling down\\\"),this.tiles[c]?o.tile(this.tiles[c],a):null):null}},{\\\"./clip\\\":16,\\\"./convert\\\":17,\\\"./tile\\\":21,\\\"./transform\\\":22,\\\"./wrap\\\":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],c=e[r+1],u=e[i],f=e[i+1],h=r+3;h<i;h+=3){var p=n(e[h],e[h+1],l,c,u,f);p>s&&(o=h,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if(\\\"Point\\\"===o||\\\"MultiPoint\\\"===o)for(var l=0;l<a.length;l+=3)s.push(a[l]),s.push(a[l+1]),t.numPoints++,t.numSimplified++;else if(\\\"LineString\\\"===o)i(s,a,t,r,n,!1,!1);else if(\\\"MultiLineString\\\"===o||\\\"Polygon\\\"===o)for(l=0;l<a.length;l++)i(s,a[l],t,r,n,\\\"Polygon\\\"===o,0===l);else if(\\\"MultiPolygon\\\"===o)for(var c=0;c<a.length;c++){var u=a[c];for(l=0;l<u.length;l++)i(s,u[l],t,r,n,!0,0===l)}if(s.length){var f={geometry:s,type:\\\"Polygon\\\"===o||\\\"MultiPolygon\\\"===o?3:\\\"LineString\\\"===o||\\\"MultiLineString\\\"===o?2:1,tags:e.tags||null};null!==e.id&&(f.id=e.id),t.features.push(f)}}function i(t,e,r,n,i,a,o){var s=n*n;if(!i&&e.size<(a?s:n))r.numPoints+=e.length/3;else{for(var l=[],c=0;c<e.length;c+=3)(i||e[c+2]>s)&&(r.numSimplified++,l.push(e[c]),l.push(e[c+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(l,o),t.push(l)}}e.exports=function(t,e,r,i,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},l=0;l<t.length;l++){s.numFeatures++,n(s,t[l],a,o);var c=t[l].minX,u=t[l].minY,f=t[l].maxX,h=t[l].maxY;c<s.minX&&(s.minX=c),u<s.minY&&(s.minY=u),f>s.maxX&&(s.maxX=f),h>s.maxY&&(s.maxY=h)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var c=t.features[r],u=c.geometry,f=c.type;if(c.geometry=[],1===f)for(i=0;i<u.length;i+=2)c.geometry.push(n(u[i],u[i+1],e,o,s,l));else for(i=0;i<u.length;i++){var h=[];for(a=0;a<u[i].length;a+=2)h.push(n(u[i][a],u[i][a+1],e,o,s,l));c.geometry.push(h)}}return t.transformed=!0,t},r.point=n},{}],23:[function(t,e,r){function n(t,e){for(var r=[],n=0;n<t.length;n++){var a,s=t[n],l=s.type;if(\\\"Point\\\"===l||\\\"MultiPoint\\\"===l||\\\"LineString\\\"===l)a=i(s.geometry,e);else if(\\\"MultiLineString\\\"===l||\\\"Polygon\\\"===l){a=[];for(var c=0;c<s.geometry.length;c++)a.push(i(s.geometry[c],e))}else if(\\\"MultiPolygon\\\"===l)for(a=[],c=0;c<s.geometry.length;c++){for(var u=[],f=0;f<s.geometry[c].length;f++)u.push(i(s.geometry[c][f],e));a.push(u)}r.push(o(s.id,l,a,s.tags))}return r}function i(t,e){var r=[];r.size=t.size;for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}var a=t(\\\"./clip\\\"),o=t(\\\"./feature\\\");e.exports=function(t,e){var r=t,i=a(t,1,-1-e,e,0,-1,2),o=a(t,1,1-e,2+e,0,-1,2);return(i||o)&&(r=a(t,1,-e,1+e,0,-1,2)||[],i&&(r=n(i,1).concat(r)),o&&(r=r.concat(n(o,-1)))),r}},{\\\"./clip\\\":16,\\\"./feature\\\":18}],24:[function(t,e,r){function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var c=a[i+n.length],u=a[i+n.length+1];this.keys=a.subarray(c,u),this.bboxes=a.subarray(u),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var f=0;f<this.d*this.d;f++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\\\"Cannot insert into a GridIndex created from an ArrayBuffer.\\\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u<s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t<=c[h+2]&&e<=c[h+3]&&r>=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+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 o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],25:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);o(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t){return t[0]}function a(t){return t[1]}var o=t(\\\"./sort\\\"),s=t(\\\"./range\\\"),l=t(\\\"./within\\\");e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return s(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return l(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\\\"./range\\\":27,\\\"./sort\\\":28,\\\"./within\\\":29}],27:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,c=i-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,i,Math.max(a,Math.floor(i-c*f/l+h)),Math.min(o,Math.floor(i+(l-c)*f/l+h)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);d<g;){for(n(e,r,d,g),d++,g--;r[2*d+s]<p;)d++;for(;r[2*g+s]>p;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h<=o)for(var p=h;p<=f;p++)n(e[2*p],e[2*p+1],r,i)<=c&&l.push(t[p]);else{var d=Math.floor((h+f)/2),g=e[2*d],m=e[2*d+1];n(g,m,r,i)<=c&&l.push(t[d]);var v=(u+1)%2;(0===u?r-a<=g:i-a<=m)&&(s.push(h),s.push(d-1),s.push(v)),(0===u?r+a>=g:i+a>=m)&&(s.push(d+1),s.push(f),s.push(v))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function g(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function m(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function v(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t(\\\"ieee754\\\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=m(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=m(this.buf,this.pos)+4294967296*m(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=m(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(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,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(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=function(t,e,r){for(var n=\\\"\\\",i=e;i<r;){var a,o,s,l=t[i],c=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<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),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.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),v(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),v(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),v(this.buf,-1&t,this.pos),v(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),v(this.buf,-1&t,this.pos),v(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,t>>>=7,r.buf[r.pos]=127&t}(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,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=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&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(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&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,f,e)},writePackedFloat:function(t,e){this.writeMessage(t,c,e)},writePackedDouble:function(t,e){this.writeMessage(t,u,e)},writePackedFixed32:function(t,e){this.writeMessage(t,h,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return t<e?-1:t>e?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,c=r-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,Math.max(a,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d<g;){for(n(e,d,g),d++,g--;s(e[d],p)<0;)d++;for(;s(e[g],p)>0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=u(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:c(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:\\\"Feature\\\",properties:s(t),geometry:{type:\\\"Point\\\",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\\\"k\\\":e>=1e3?Math.round(e/100)/10+\\\"k\\\":e;return u(u({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function c(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 u(t,e){for(var r in e)t[r]=e[r];return t}function f(t){return t.x}function h(t){return t.y}var p=t(\\\"kdbush\\\");e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\\\"total time\\\");var r=\\\"prepare \\\"+t.length+\\\" points\\\";e&&console.time(r),this.points=t;var n=t.map(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,f,h,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\\\"z%d: %d clusters in %dms\\\",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,f,h,this.options.nodeSize,Float32Array),e&&console.timeEnd(\\\"total time\\\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(l(t[0]),c(t[3]),l(t[2]),c(t[1])),i=[],a=0;a<n.length;a++){var s=r.points[n[a]];i.push(s.numPoints?o(s):this.points[s.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],s=0;s<i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&&a.push(l.numPoints?o(l):this.points[l.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var l=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?s(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),a=0;a<t.length;a++){var o=t[a];if(!(o.zoom<=e)){o.zoom=e;var s=this.trees[e+1],l=s.within(o.x,o.y,n),c=o.numPoints||1,u=o.x*c,f=o.y*c,h=null;this.options.reduce&&(h=this.options.initial(),this._accumulate(h,o));for(var p=0;p<l.length;p++){var d=s.points[l[p]];if(e<d.zoom){var g=d.numPoints||1;d.zoom=e,u+=d.x*g,f+=d.y*g,c+=g,d.parentId=a,this.options.reduce&&this._accumulate(h,d)}}1===c?r.push(o):(o.parentId=a,r.push(i(u/c,f/c,c,a,h)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:26}],33:[function(t,e,r){function n(t,e){if(!(this instanceof n))return new n(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||i,this.length>0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return t<e?-1:t>e?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t<i;){var o=1+(t<<1),s=o+1,l=e[o];if(s<n&&r(e[s],l)<0&&(o=s,l=e[s]),r(l,a)>=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new f;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\\\"\\\"),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,a,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var o=n.values;for(r=0;r<o.length;r++)e.writeMessage(4,u,o[r])}function a(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,o,t),e.writeVarintField(3,r.type),e.writeMessage(4,c,r)}function o(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;\\\"string\\\"!==u&&\\\"boolean\\\"!==u&&\\\"number\\\"!==u&&(c=JSON.stringify(c));var f=u+\\\":\\\"+c,h=o[f];void 0===h&&(i.push(c),h=i.length-1,o[f]=h),e.writeVarint(h)}}function s(t,e){return(e<<3)+(7&t)}function l(t){return t<<1^t>>31}function c(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,c=0;c<o;c++){var u=r[c],f=1;1===n&&(f=u.length),e.writeVarint(s(1,f));for(var h=0;h<u.length;h++){1===h&&1!==n&&e.writeVarint(s(2,u.length-1));var p=u[h].x-i,d=u[h].y-a;e.writeVarint(l(p)),e.writeVarint(l(d)),i+=p,a+=d}}}function u(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))}var f=t(\\\"pbf\\\"),h=t(\\\"./lib/geojson_wrapper\\\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new h(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=h},{\\\"./lib/geojson_wrapper\\\":35,pbf:30}],35:[function(t,e,r){function n(t){this.features=t,this.length=t.length}function i(t){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=4096}var a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],36:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),l=0,c=s.length;l<c;l++){var u=s[l],f=a[u].exports;if(f===t||f&&f.default===t){r=u;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var h={};for(l=0,c=s.length;l<c;l++){h[u=s[l]]=u}i[r]=[\\\"function(require,module,exports){\\\"+t+\\\"(self); }\\\",h]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[p]=[\\\"function(require,module,exports){var f = require(\\\"+o(r)+\\\");(f.default ? f.default : f)(self);}\\\",d];var g={};!function t(e){for(var r in g[e]=!0,i[e][1]){var n=i[e][1][r];g[n]||t(n)}}(p);var m=\\\"(\\\"+n+\\\")({\\\"+Object.keys(g).map(function(t){return o(t)+\\\":[\\\"+i[t][0]+\\\",\\\"+o(i[t][1])+\\\"]\\\"}).join(\\\",\\\")+\\\"},{},[\\\"+o(p)+\\\"])\\\",v=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([m],{type:\\\"text/javascript\\\"});if(e&&e.bare)return y;var x=v.createObjectURL(y),b=new Worker(x);return b.objectURL=x,b}},{}],37:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],38:[function(t,e,r){e.exports={version:\\\"0.44.1\\\"}},{}],39:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").StructArray,i=t(\\\"../util/struct_array\\\").Struct,a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"@mapbox/point-geometry\\\"),s=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(n);s.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2i4\\\",s);var l=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(n);l.prototype.bytesPerElement=8,a(\\\"StructArrayLayout4i8\\\",l);var c=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);c.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i4i12\\\",c);var u=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var c=6*l,u=12*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint8[u+8]=i,this.uint8[u+9]=a,this.uint8[u+10]=o,this.uint8[u+11]=s,l},e}(n);u.prototype.bytesPerElement=12,a(\\\"StructArrayLayout4i4ub12\\\",u);var f=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var c=8*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint16[c+4]=i,this.uint16[c+5]=a,this.uint16[c+6]=o,this.uint16[c+7]=s,l},e}(n);f.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4i4ui16\\\",f);var h=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(n);h.prototype.bytesPerElement=12,a(\\\"StructArrayLayout3f12\\\",h);var p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(n);p.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1ul4\\\",p);var d=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,c,u){var f=this.length;this.resize(f+1);var h=12*f,p=6*f;return this.int16[h+0]=t,this.int16[h+1]=e,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=i,this.int16[h+5]=a,this.uint32[p+3]=o,this.uint16[h+8]=s,this.uint16[h+9]=l,this.int16[h+10]=c,this.int16[h+11]=u,f},e}(n);d.prototype.bytesPerElement=24,a(\\\"StructArrayLayout6i1ul2ui2i24\\\",d);var g=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);g.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i2i2i12\\\",g);var m=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(n);m.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ub4\\\",m);var v=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,c,u,f,h,p){var d=this.length;this.resize(d+1);var g=20*d,m=10*d,v=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[m+2]=i,this.uint32[m+3]=a,this.uint32[m+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=c,this.float32[m+7]=u,this.float32[m+8]=f,this.uint8[v+36]=h,this.uint8[v+37]=p,d},e}(n);v.prototype.bytesPerElement=40,a(\\\"StructArrayLayout2i2ui3ul3ui2f2ub40\\\",v);var y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(n);y.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1f4\\\",y);var x=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(n);x.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3i6\\\",x);var b=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(n);b.prototype.bytesPerElement=8,a(\\\"StructArrayLayout1ul2ui8\\\",b);var _=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(n);_.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3ui6\\\",_);var w=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(n);w.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ui4\\\",w);var k=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(n);k.prototype.bytesPerElement=8,a(\\\"StructArrayLayout2f8\\\",k);var M=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(n);M.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4f16\\\",M);var A=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{},anchorPointY:{},x1:{},y1:{},x2:{},y2:{},featureIndex:{},sourceLayerIndex:{},bucketIndex:{},radius:{},signedDistanceFromAnchor:{},anchorPoint:{}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new o(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(i);A.prototype.size=24;var T=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new A(this,t)},e}(d);a(\\\"CollisionBoxArray\\\",T);var S=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{},anchorY:{},glyphStartIndex:{},numGlyphs:{},vertexStartIndex:{},lineStartIndex:{},lineLength:{},segment:{},lowerSize:{},upperSize:{},lineOffsetX:{},lineOffsetY:{},writingMode:{},hidden:{}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(i);S.prototype.size=40;var C=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new S(this,t)},e}(v);a(\\\"PlacedSymbolArray\\\",C);var E=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(i);E.prototype.size=4;var L=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new E(this,t)},e}(y);a(\\\"GlyphOffsetArray\\\",L);var z=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{},y:{},tileUnitDistanceFromAnchor:{}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(i);z.prototype.size=6;var P=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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.prototype.get=function(t){return new z(this,t)},e}(x);a(\\\"SymbolLineVertexArray\\\",P);var D=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{},sourceLayerIndex:{},bucketIndex:{}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(i);D.prototype.size=8;var O=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new D(this,t)},e}(b);a(\\\"FeatureIndexArray\\\",O),e.exports={StructArrayLayout2i4:s,StructArrayLayout4i8:l,StructArrayLayout2i4i12:c,StructArrayLayout4i4ub12:u,StructArrayLayout4i4ui16:f,StructArrayLayout3f12:h,StructArrayLayout1ul4:p,StructArrayLayout6i1ul2ui2i24:d,StructArrayLayout2i2i2i12:g,StructArrayLayout2ub4:m,StructArrayLayout2i2ui3ul3ui2f2ub40:v,StructArrayLayout1f4:y,StructArrayLayout3i6:x,StructArrayLayout1ul2ui8:b,StructArrayLayout3ui6:_,StructArrayLayout2ui4:w,StructArrayLayout2f8:k,StructArrayLayout4f16:M,PosArray:s,RasterBoundsArray:l,CircleLayoutArray:s,FillLayoutArray:s,FillExtrusionLayoutArray:c,HeatmapLayoutArray:s,LineLayoutArray:u,SymbolLayoutArray:f,SymbolDynamicLayoutArray:h,SymbolOpacityArray:p,CollisionBoxLayoutArray:g,CollisionCircleLayoutArray:g,CollisionVertexArray:m,TriangleIndexArray:_,LineIndexArray:w,CollisionBoxArray:T,PlacedSymbolArray:C,GlyphOffsetArray:L,SymbolLineVertexArray:P,FeatureIndexArray:O}},{\\\"../util/struct_array\\\":271,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],40:[function(t,e,r){e.exports={deserialize:function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}}},{}],41:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],42:[function(t,e,r){function n(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var i=t(\\\"../array_types\\\").CircleLayoutArray,a=t(\\\"./circle_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,c=t(\\\"../load_geometry\\\"),u=t(\\\"../extent\\\"),f=t(\\\"../../util/web_worker_transfer\\\").register,h=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.layoutVertexArray=new i,this.indexArray=new l,this.segments=new o,this.programConfigurations=new s(a,t.layers,t.zoom)};h.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},h.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},h.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},h.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},h.prototype.addFeature=function(t,e){for(var r=this,i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],c=l.x,f=l.y;if(!(c<0||c>=u||f<0||f>=u)){var h=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=h.vertexLength;n(r.layoutVertexArray,c,f,-1,-1),n(r.layoutVertexArray,c,f,1,-1),n(r.layoutVertexArray,c,f,1,1),n(r.layoutVertexArray,c,f,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},f(\\\"CircleBucket\\\",h,{omit:[\\\"layers\\\"]}),e.exports=h},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./circle_attributes\\\":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{\\\"../../util/struct_array\\\":271,dup:41}],44:[function(t,e,r){var n=t(\\\"../array_types\\\").FillLayoutArray,i=t(\\\"./fill_attributes\\\").members,a=t(\\\"../segment\\\").SegmentVector,o=t(\\\"../program_configuration\\\").ProgramConfigurationSet,s=t(\\\"../index_array_type\\\"),l=s.LineIndexArray,c=s.TriangleIndexArray,u=t(\\\"../load_geometry\\\"),f=t(\\\"earcut\\\"),h=t(\\\"../../util/classify_rings\\\"),p=t(\\\"../../util/web_worker_transfer\\\").register,d=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.layoutVertexArray=new n,this.indexArray=new c,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},d.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},d.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,i),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},d.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},d.prototype.addFeature=function(t,e){for(var r=this,n=0,i=h(e,500);n<i.length;n+=1){for(var a=i[n],o=0,s=0,l=a;s<l.length;s+=1)o+=l[s].length;for(var c=r.segments.prepareSegment(o,r.layoutVertexArray,r.indexArray),u=c.vertexLength,p=[],d=[],g=0,m=a;g<m.length;g+=1){var v=m[g];if(0!==v.length){v!==a[0]&&d.push(p.length/2);var y=r.segments2.prepareSegment(v.length,r.layoutVertexArray,r.indexArray2),x=y.vertexLength;r.layoutVertexArray.emplaceBack(v[0].x,v[0].y),r.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++)r.layoutVertexArray.emplaceBack(v[b].x,v[b].y),r.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 _=f(p,d),w=0;w<_.length;w+=3)r.indexArray.emplaceBack(u+_[w],u+_[w+1],u+_[w+2]);c.vertexLength+=o,c.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},p(\\\"FillBucket\\\",d,{omit:[\\\"layers\\\"]}),e.exports=d},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_attributes\\\":43,earcut:14}],45:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_normal_ed\\\",components:4,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],46:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*y)+o,i*y*2,a*y*2,Math.round(s))}function i(t,e){return t.x===e.x&&(t.x<0||t.x>d)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t(\\\"../array_types\\\").FillExtrusionLayoutArray,s=t(\\\"./fill_extrusion_attributes\\\").members,l=t(\\\"../segment\\\"),c=l.SegmentVector,u=l.MAX_VERTEX_ARRAY_LENGTH,f=t(\\\"../program_configuration\\\").ProgramConfigurationSet,h=t(\\\"../index_array_type\\\").TriangleIndexArray,p=t(\\\"../load_geometry\\\"),d=t(\\\"../extent\\\"),g=t(\\\"earcut\\\"),m=t(\\\"../../util/classify_rings\\\"),v=t(\\\"../../util/web_worker_transfer\\\").register,y=Math.pow(2,13),x=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.layoutVertexArray=new o,this.indexArray=new h,this.programConfigurations=new f(s,t.layers,t.zoom),this.segments=new c};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=p(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},x.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},x.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,s),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},x.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},x.prototype.addFeature=function(t,e){for(var r=this,o=0,s=m(e,500);o<s.length;o+=1){for(var l=s[o],c=0,f=0,h=l;f<h.length;f+=1)c+=h[f].length;for(var p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),d=0,v=l;d<v.length;d+=1){var y=v[d];if(0!==y.length&&!a(y))for(var x=0,b=0;b<y.length;b++){var _=y[b];if(b>=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>u&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var k=_.sub(w)._perp()._unit(),M=w.dist(_);x+M>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,1,x),x+=M,n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,1,x);var A=p.vertexLength;r.indexArray.emplaceBack(A,A+1,A+2),r.indexArray.emplaceBack(A+1,A+2,A+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+c>u&&(p=r.segments.prepareSegment(c,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],C=p.vertexLength,E=0,L=l;E<L.length;E+=1){var z=L[E];if(0!==z.length){z!==l[0]&&S.push(T.length/2);for(var P=0;P<z.length;P++){var D=z[P];n(r.layoutVertexArray,D.x,D.y,0,0,1,1,0),T.push(D.x),T.push(D.y)}}}for(var O=g(T,S),I=0;I<O.length;I+=3)r.indexArray.emplaceBack(C+O[I],C+O[I+1],C+O[I+2]);p.primitiveLength+=O.length/3,p.vertexLength+=c}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},v(\\\"FillExtrusionBucket\\\",x,{omit:[\\\"layers\\\"]}),e.exports=x},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_extrusion_attributes\\\":45,earcut:14}],47:[function(t,e,r){var n=t(\\\"./circle_bucket\\\"),i=t(\\\"../../util/web_worker_transfer\\\").register,a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n);i(\\\"HeatmapBucket\\\",a,{omit:[\\\"layers\\\"]}),e.exports=a},{\\\"../../util/web_worker_transfer\\\":278,\\\"./circle_bucket\\\":42}],48:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos_normal\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}],4)},{\\\"../../util/struct_array\\\":271}],49:[function(t,e,r){function n(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(p*r.x)+128,Math.round(p*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*g&63)<<2,o*g>>6)}var i=t(\\\"../array_types\\\").LineLayoutArray,a=t(\\\"./line_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,c=t(\\\"../load_geometry\\\"),u=t(\\\"../extent\\\"),f=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,h=t(\\\"../../util/web_worker_transfer\\\").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,m=Math.pow(2,14)/g,v=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.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};v.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},v.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},v.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},v.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},v.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\\\"line-join\\\").evaluate(t),i=r.get(\\\"line-cap\\\"),a=r.get(\\\"line-miter-limit\\\"),o=r.get(\\\"line-round-limit\\\"),s=0,l=e;s<l.length;s+=1){var c=l[s];this.addLine(c,t,n,i,a,o)}},v.prototype.addLine=function(t,e,r,n,i,a){for(var o=this,s=\\\"Polygon\\\"===f[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&&(i=1.05);var h=u/(512*this.overscaling)*15,p=t[c],g=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var m,v,y,x=n,b=s?\\\"butt\\\":n,_=!0,w=void 0,k=void 0,M=void 0,A=void 0;this.e1=this.e2=this.e3=-1,s&&(m=t[l-2],A=p.sub(m)._unit()._perp());for(var T=c;T<l;T++)if(!(k=s&&T===l-1?t[c+1]:t[T+1])||!t[T].equals(k)){A&&(M=A),m&&(w=m),m=t[T],A=k?k.sub(m)._unit()._perp():M;var S=(M=M||A).add(A);0===S.x&&0===S.y||S._unit();var C=S.x*A.x+S.y*A.y,E=0!==C?1/C:1/0,L=C<d&&w&&k;if(L&&T>c){var z=m.dist(w);if(z>2*h){var P=m.sub(m.sub(w)._mult(h/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,M.mult(1),0,0,!1,g),w=P}}var D=w&&k,O=D?r:k?x:b;if(D&&\\\"round\\\"===O&&(E<a?O=\\\"miter\\\":E<=2&&(O=\\\"fakeround\\\")),\\\"miter\\\"===O&&E>i&&(O=\\\"bevel\\\"),\\\"bevel\\\"===O&&(E>2&&(O=\\\"flipbevel\\\"),E<i&&(O=\\\"miter\\\")),w&&(o.distance+=m.dist(w)),\\\"miter\\\"===O)S._mult(E),o.addCurrentVertex(m,o.distance,S,0,0,!1,g);else if(\\\"flipbevel\\\"===O){if(E>100)S=A.clone().mult(-1);else{var I=M.x*A.y-M.y*A.x>0?-1:1,R=E*M.add(A).mag()/M.sub(A).mag();S._perp()._mult(R*I)}o.addCurrentVertex(m,o.distance,S,0,0,!1,g),o.addCurrentVertex(m,o.distance,S.mult(-1),0,0,!1,g)}else if(\\\"bevel\\\"===O||\\\"fakeround\\\"===O){var B=M.x*A.y-M.y*A.x>0,F=-Math.sqrt(E*E-1);if(B?(y=0,v=F):(v=0,y=F),_||o.addCurrentVertex(m,o.distance,M,v,y,!1,g),\\\"fakeround\\\"===O){for(var N=Math.floor(8*(.5-(C-.5))),j=void 0,V=0;V<N;V++)j=A.mult((V+1)/(N+1))._add(M)._unit(),o.addPieSliceVertex(m,o.distance,j,B,g);o.addPieSliceVertex(m,o.distance,S,B,g);for(var U=N-1;U>=0;U--)j=M.mult((U+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(m,o.distance,j,B,g)}k&&o.addCurrentVertex(m,o.distance,A,-v,-y,!1,g)}else\\\"butt\\\"===O?(_||o.addCurrentVertex(m,o.distance,M,0,0,!1,g),k&&o.addCurrentVertex(m,o.distance,A,0,0,!1,g)):\\\"square\\\"===O?(_||(o.addCurrentVertex(m,o.distance,M,1,1,!1,g),o.e1=o.e2=-1),k&&o.addCurrentVertex(m,o.distance,A,-1,-1,!1,g)):\\\"round\\\"===O&&(_||(o.addCurrentVertex(m,o.distance,M,0,0,!1,g),o.addCurrentVertex(m,o.distance,M,1,1,!0,g),o.e1=o.e2=-1),k&&(o.addCurrentVertex(m,o.distance,A,-1,-1,!0,g),o.addCurrentVertex(m,o.distance,A,0,0,!1,g)));if(L&&T<l-1){var q=m.dist(k);if(q>2*h){var H=m.add(k.sub(m)._mult(h/q)._round());o.distance+=H.dist(m),o.addCurrentVertex(H,o.distance,A.mult(1),0,0,!1,g),m=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},v.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(c,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(c,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>m/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},v.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},h(\\\"LineBucket\\\",v,{omit:[\\\"layers\\\"]}),e.exports=v},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./line_attributes\\\":48,\\\"@mapbox/vector-tile\\\":8}],50:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout,i={symbolLayoutAttributes:n([{name:\\\"a_pos_offset\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint16\\\"}]),dynamicLayoutAttributes:n([{name:\\\"a_projected_pos\\\",components:3,type:\\\"Float32\\\"}],4),placementOpacityAttributes:n([{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint32\\\"}],4),collisionVertexAttributes:n([{name:\\\"a_placed\\\",components:2,type:\\\"Uint8\\\"}],4),collisionBox:n([{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\\\"},{type:\\\"Int16\\\",name:\\\"radius\\\"},{type:\\\"Int16\\\",name:\\\"signedDistanceFromAnchor\\\"}]),collisionBoxLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),collisionCircleLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),placement:n([{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:\\\"hidden\\\"}]),glyphOffset:n([{type:\\\"Float32\\\",name:\\\"offsetX\\\"}]),lineVertex:n([{type:\\\"Int16\\\",name:\\\"x\\\"},{type:\\\"Int16\\\",name:\\\"y\\\"},{type:\\\"Int16\\\",name:\\\"tileUnitDistanceFromAnchor\\\"}])};e.exports=i},{\\\"../../util/struct_array\\\":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(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)}var a=t(\\\"./symbol_attributes\\\"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,c=a.collisionCircleLayout,u=a.dynamicLayoutAttributes,f=t(\\\"../array_types\\\"),h=f.SymbolLayoutArray,p=f.SymbolDynamicLayoutArray,d=f.SymbolOpacityArray,g=f.CollisionBoxLayoutArray,m=f.CollisionCircleLayoutArray,v=f.CollisionVertexArray,y=f.PlacedSymbolArray,x=f.GlyphOffsetArray,b=f.SymbolLineVertexArray,_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"../segment\\\").SegmentVector,k=t(\\\"../program_configuration\\\").ProgramConfigurationSet,M=t(\\\"../index_array_type\\\"),A=M.TriangleIndexArray,T=M.LineIndexArray,S=t(\\\"../../symbol/transform_text\\\"),C=t(\\\"../../symbol/mergelines\\\"),E=t(\\\"../../util/script_detection\\\"),L=t(\\\"../load_geometry\\\"),z=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,P=t(\\\"../../util/verticalize_punctuation\\\"),D=(t(\\\"../../symbol/anchor\\\"),t(\\\"../../symbol/symbol_size\\\").getSizeData),O=t(\\\"../../util/web_worker_transfer\\\").register,I=[{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint8\\\",offset:0}],R=function(t){this.layoutVertexArray=new h,this.indexArray=new A,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,u.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,I,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},O(\\\"SymbolBuffers\\\",R);var B=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new v};B.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},B.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},O(\\\"CollisionBuffers\\\",B);var F=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;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=D(this.zoom,e[\\\"text-size\\\"]),this.iconSizeData=D(this.zoom,e[\\\"icon-size\\\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\\\"text-allow-overlap\\\")||r.get(\\\"icon-allow-overlap\\\")||r.get(\\\"text-ignore-placement\\\")||r.get(\\\"icon-ignore-placement\\\")};F.prototype.createArrays=function(){this.text=new R(new k(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new k(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new B(g,l.members,T),this.collisionCircle=new B(m,c.members,A),this.glyphOffsetArray=new x,this.lineVertexArray=new b},F.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\\\"text-font\\\"),a=n.get(\\\"text-field\\\"),o=n.get(\\\"icon-image\\\"),s=(\\\"constant\\\"!==a.value.kind||a.value.value.length>0)&&(\\\"constant\\\"!==i.value.kind||i.value.value.length>0),l=\\\"constant\\\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f={zoom:this.zoom},h=0,p=t;h<p.length;h+=1){var d=p[h],g=d.feature,m=d.index,v=d.sourceLayerIndex;if(r._featureFilter(f,g)){var y=void 0;s&&(y=r.getValueAndResolveTokens(\\\"text-field\\\",g),y=S(y,r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\\\"icon-image\\\",g)),y||x){var b={text:y,icon:x,index:m,sourceLayerIndex:v,geometry:L(g),properties:g.properties,type:z[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(c[x]=!0),y)for(var _=i.evaluate(g).join(\\\",\\\"),w=u[_]=u[_]||{},k=\\\"map\\\"===n.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===n.get(\\\"symbol-placement\\\"),M=E.allowsVerticalWritingMode(y),A=0;A<y.length;A++)if(w[y.charCodeAt(A)]=!0,k&&M){var T=P.lookup[y.charAt(A)];T&&(w[T.charCodeAt(0)]=!0)}}}}\\\"line\\\"===n.get(\\\"symbol-placement\\\")&&(this.features=C(this.features))}},F.prototype.isEmpty=function(){return 0===this.symbolInstances.length},F.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},F.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},F.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[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--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},F.prototype.addSymbols=function(t,e,r,a,o,s,l,c,u,f){for(var h=t.indexArray,p=t.layoutVertexArray,d=t.dynamicLayoutVertexArray,g=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),m=this.glyphOffsetArray.length,v=g.vertexLength,y=0,x=e;y<x.length;y+=1){var b=x[y],_=b.tl,w=b.tr,k=b.bl,M=b.br,A=b.tex,T=g.vertexLength,S=b.glyphOffset[1];n(p,c.x,c.y,_.x,S+_.y,A.x,A.y,r),n(p,c.x,c.y,w.x,S+w.y,A.x+A.w,A.y,r),n(p,c.x,c.y,k.x,S+k.y,A.x,A.y+A.h,r),n(p,c.x,c.y,M.x,S+M.y,A.x+A.w,A.y+A.h,r),i(d,c,0),h.emplaceBack(T,T+1,T+2),h.emplaceBack(T+1,T+2,T+3),g.vertexLength+=4,g.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])}t.placedSymbolArray.emplaceBack(c.x,c.y,m,this.glyphOffsetArray.length-m,v,u,f,c.segment,r?r[0]:0,r?r[1]:0,a[0],a[1],l,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,s)},F.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},F.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),c=l.vertexLength,u=i.layoutVertexArray,f=i.collisionVertexArray;if(this._addCollisionDebugVertex(u,f,a,o.anchor,new _(t,e)),this._addCollisionDebugVertex(u,f,a,o.anchor,new _(r,e)),this._addCollisionDebugVertex(u,f,a,o.anchor,new _(r,n)),this._addCollisionDebugVertex(u,f,a,o.anchor,new _(t,n)),l.vertexLength+=4,s){var h=i.indexArray;h.emplaceBack(c,c+1,c+2),h.emplaceBack(c,c+2,c+3),l.primitiveLength+=2}else{var p=i.indexArray;p.emplaceBack(c,c+1),p.emplaceBack(c+1,c+2),p.emplaceBack(c+2,c+3),p.emplaceBack(c+3,c),l.primitiveLength+=4}},F.prototype.generateCollisionDebugBuffers=function(){for(var t=this,e=0,r=t.symbolInstances;e<r.length;e+=1){var n=r[e];n.textCollisionFeature={boxStartIndex:n.textBoxStartIndex,boxEndIndex:n.textBoxEndIndex},n.iconCollisionFeature={boxStartIndex:n.iconBoxStartIndex,boxEndIndex:n.iconBoxEndIndex};for(var i=0;i<2;i++){var a=n[0===i?\\\"textCollisionFeature\\\":\\\"iconCollisionFeature\\\"];if(a)for(var o=a.boxStartIndex;o<a.boxEndIndex;o++){var s=t.collisionBoxArray.get(o),l=s.x1,c=s.y1,u=s.x2,f=s.y2,h=s.radius>0;t.addCollisionDebugVertices(l,c,u,f,h?t.collisionCircle:t.collisionBox,s.anchorPoint,n,h)}}}},F.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY};break}a.textCircles||(a.textCircles=[]),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var c=t.get(l);if(0===c.radius){a.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY};break}}return a},F.prototype.hasTextData=function(){return this.text.segments.get().length>0},F.prototype.hasIconData=function(){return this.icon.segments.get().length>0},F.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},F.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},F.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear();for(var o=0,s=r;o<s.length;o+=1){for(var l=s[o],c=0,u=e.symbolInstances[l].placedTextSymbolIndices;c<u.length;c+=1)for(var f=u[c],h=e.text.placedSymbolArray.get(f),p=h.vertexStartIndex+4*h.numGlyphs,d=h.vertexStartIndex;d<p;d+=4)e.text.indexArray.emplaceBack(d,d+1,d+2),e.text.indexArray.emplaceBack(d+1,d+2,d+3);var g=e.icon.placedSymbolArray.get(l);if(g.numGlyphs){var m=g.vertexStartIndex;e.icon.indexArray.emplaceBack(m,m+1,m+2),e.icon.indexArray.emplaceBack(m+1,m+2,m+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},O(\\\"SymbolBucket\\\",F,{omit:[\\\"layers\\\",\\\"collisionBoxArray\\\",\\\"features\\\",\\\"compareText\\\"],shallow:[\\\"symbolInstances\\\"]}),F.MAX_GLYPHS=65535,F.addDynamicAttributes=i,e.exports=F},{\\\"../../symbol/anchor\\\":213,\\\"../../symbol/mergelines\\\":221,\\\"../../symbol/symbol_size\\\":228,\\\"../../symbol/transform_text\\\":229,\\\"../../util/script_detection\\\":269,\\\"../../util/verticalize_punctuation\\\":277,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./symbol_attributes\\\":50,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],52:[function(t,e,r){var n=t(\\\"../util/image\\\").RGBAImage,i=t(\\\"../util/util\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=function(t,e,r){if(t<=0)throw new RangeError(\\\"Level must have positive dimension\\\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};o.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},o.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},o.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\\\"out of range source coordinates for DEM data\\\");return(e+this.border)*this.stride+(t+this.border)},a(\\\"Level\\\",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError(\\\"DEM tiles must be square\\\");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;n<e.dim;n++)for(var i=0;i<e.dim;i++){var a=4*(n*e.dim+i);e.set(i,n,this.scale*((256*r[a]*256+256*r[a+1]+r[a+2])/10-1e4))}for(var s=0;s<e.dim;s++)e.set(-1,s,e.get(0,s)),e.set(e.dim,s,e.get(e.dim-1,s)),e.set(s,-1,e.get(s,0)),e.set(s,e.dim,e.get(s,e.dim-1));e.set(-1,-1,e.get(0,0)),e.set(e.dim,-1,e.get(e.dim-1,0)),e.set(-1,e.dim,e.get(0,e.dim-1)),e.set(e.dim,e.dim,e.get(e.dim-1,e.dim-1)),this.loaded=!0},s.prototype.getPixels=function(){return new n({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},s.prototype.backfillBorder=function(t,e,r){var n=this.level,a=t.level;if(n.dim!==a.dim)throw new Error(\\\"level mismatch (dem dimension)\\\");var o=e*n.dim,s=e*n.dim+n.dim,l=r*n.dim,c=r*n.dim+n.dim;switch(e){case-1:o=s-1;break;case 1:s=o+1}switch(r){case-1:l=c-1;break;case 1:c=l+1}for(var u=i.clamp(o,-n.border,n.dim+n.border),f=i.clamp(s,-n.border,n.dim+n.border),h=i.clamp(l,-n.border,n.dim+n.border),p=i.clamp(c,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,m=h;m<p;m++)for(var v=u;v<f;v++)n.set(v,m,a.get(v+d,m+g))},a(\\\"DEMData\\\",s),e.exports={DEMData:s,Level:o}},{\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],53:[function(t,e,r){e.exports=8192},{}],54:[function(t,e,r){function n(t,e){return e-t}t(\\\"@mapbox/point-geometry\\\");var i=t(\\\"./load_geometry\\\"),a=t(\\\"./extent\\\"),o=t(\\\"../style-spec/feature_filter\\\"),s=t(\\\"grid-index\\\"),l=t(\\\"../util/dictionary_coder\\\"),c=t(\\\"@mapbox/vector-tile\\\"),u=t(\\\"pbf\\\"),f=t(\\\"../util/vectortile_to_geojson\\\"),h=t(\\\"../util/util\\\").arraysIntersect,p=(t(\\\"../source/tile_id\\\").OverscaledTileID,t(\\\"../util/web_worker_transfer\\\").register),d=t(\\\"./array_types\\\").FeatureIndexArray,g=function(t,e,r,n){this.tileID=t,this.overscaling=e,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=r||new s(a,16,0),this.featureIndexArray=n||new d};g.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],c=0;c<s.length;c++){var u=s[c];l[0]=Math.min(l[0],u.x),l[1]=Math.min(l[1],u.y),l[2]=Math.max(l[2],u.x),l[3]=Math.max(l[3],u.y)}this.grid.insert(a,l[0],l[1],l[2],l[3])}},g.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new c.VectorTile(new u(this.rawTileData)).layers,this.sourceLayerCoder=new l(this.vtLayers?Object.keys(this.vtLayers).sort():[\\\"_geojsonTileLayer\\\"]));for(var r={},i=t.params||{},s=a/t.tileSize/t.scale,f=o(i.filter),h=t.queryGeometry,p=t.additionalRadius*s,d=1/0,g=1/0,m=-1/0,v=-1/0,y=0;y<h.length;y++)for(var x=h[y],b=0;b<x.length;b++){var _=x[b];d=Math.min(d,_.x),g=Math.min(g,_.y),m=Math.max(m,_.x),v=Math.max(v,_.y)}var w=this.grid.query(d-p,g-p,m+p,v+p);w.sort(n),this.filterMatching(r,w,this.featureIndexArray,h,f,i.layers,e,t.bearing,s);var k=t.collisionIndex?t.collisionIndex.queryRenderedSymbols(h,this.tileID,a/t.tileSize,t.collisionBoxArray,t.sourceID,t.bucketInstanceIds):[];return k.sort(),this.filterMatching(r,k,t.collisionBoxArray,h,f,i.layers,e,t.bearing,s),r},g.prototype.filterMatching=function(t,e,r,n,a,o,s,l,c){for(var u,p=this,d=0;d<e.length;d++){var g=e[d];if(g!==u){u=g;var m=r.get(g),v=p.bucketLayerIDs[m.bucketIndex];if(!o||h(o,v)){var y=p.sourceLayerCoder.decode(m.sourceLayerIndex),x=p.vtLayers[y].feature(m.featureIndex);if(a({zoom:p.tileID.overscaledZ},x))for(var b=null,_=0;_<v.length;_++){var w=v[_];if(!(o&&o.indexOf(w)<0)){var k=s[w];if(k&&(\\\"symbol\\\"===k.type||(b||(b=i(x)),k.queryIntersectsFeature(n,x,b,p.z,l,c)))){var M=new f(x,p.z,p.x,p.y);M.layer=k.serialize();var A=t[w];void 0===A&&(A=t[w]=[]),A.push({featureIndex:g,feature:M})}}}}}}},g.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1){if(t===i[n])return!0}return!1},p(\\\"FeatureIndex\\\",g,{omit:[\\\"rawTileData\\\",\\\"sourceLayerCoder\\\"]}),e.exports=g},{\\\"../source/tile_id\\\":114,\\\"../style-spec/feature_filter\\\":148,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39,\\\"./extent\\\":53,\\\"./load_geometry\\\":56,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,\\\"grid-index\\\":24,pbf:30}],55:[function(t,e,r){e.exports={LineIndexArray:t(\\\"./array_types\\\").LineIndexArray,TriangleIndexArray:t(\\\"./array_types\\\").TriangleIndexArray}},{\\\"./array_types\\\":39}],56:[function(t,e,r){var n,i=t(\\\"../util/util\\\"),a=t(\\\"./extent\\\"),o=(n=16,{min:-1*Math.pow(2,n-1),max:Math.pow(2,n-1)-1});e.exports=function(t){for(var e=a/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var s=r[n],l=0;l<s.length;l++){var c=s[l];c.x=Math.round(c.x*e),c.y=Math.round(c.y*e),(c.x<o.min||c.x>o.max||c.y<o.min||c.y>o.max)&&i.warnOnce(\\\"Geometry exceeds allowed extent, reduce your vector tile buffer size\\\")}return r}},{\\\"../util/util\\\":275,\\\"./extent\\\":53}],57:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(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\\\"}[t]||t.replace(e+\\\"-\\\",\\\"\\\").replace(/-/g,\\\"_\\\")}var a=t(\\\"../shaders/encode_attribute\\\").packUint8ToFloat,o=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),s=t(\\\"../style/properties\\\").PossiblyEvaluatedPropertyValue,l=t(\\\"./array_types\\\"),c=l.StructArrayLayout1f4,u=l.StructArrayLayout2f8,f=l.StructArrayLayout4f16,h=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};h.prototype.defines=function(){return[\\\"#define HAS_UNIFORM_u_\\\"+this.name]},h.prototype.populatePaintArray=function(){},h.prototype.upload=function(){},h.prototype.destroy=function(){},h.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\\\"color\\\"===this.type?a.uniform4f(e.uniforms[\\\"u_\\\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\\\"u_\\\"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\\\"color\\\"===r?u:c;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if(\\\"color\\\"===this.type)for(var o=n(a),s=i;s<t;s++)r.emplaceBack(o[0],o[1]);else{for(var l=i;l<t;l++)r.emplaceBack(a);this.statistics.max=Math.max(this.statistics.max,a)}},p.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},p.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},p.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],0)};var d=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\\\"color\\\"===r?f:u;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?4:2,offset:0}],this.paintVertexArray=new a};d.prototype.defines=function(){return[]},d.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:this.zoom},e),o=this.expression.evaluate({zoom:this.zoom+1},e);if(\\\"color\\\"===this.type)for(var s=n(a),l=n(o),c=i;c<t;c++)r.emplaceBack(s[0],s[1],l[0],l[1]);else{for(var u=i;u<t;u++)r.emplaceBack(a,o);this.statistics.max=Math.max(this.statistics.max,a,o)}},d.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},d.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},d.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},d.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],this.interpolationFactor(r.zoom))};var g=function(){this.binders={},this.cacheKey=\\\"\\\",this._buffers=[]};g.createDynamic=function(t,e,r){var n=new g,a=[];for(var o in t.paint._values)if(r(o)){var l=t.paint.get(o);if(l instanceof s&&l.property.specification[\\\"property-function\\\"]){var c=i(o,t.type),u=l.property.specification.type,f=l.property.useIntegerZoom;\\\"constant\\\"===l.value.kind?(n.binders[o]=new h(l.value,c,u),a.push(\\\"/u_\\\"+c)):\\\"source\\\"===l.value.kind?(n.binders[o]=new p(l.value,c,u),a.push(\\\"/a_\\\"+c)):(n.binders[o]=new d(l.value,c,u,f,e),a.push(\\\"/z_\\\"+c))}}return n.cacheKey=a.sort().join(\\\"\\\"),n},g.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},g.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},g.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},g.prototype.getPaintVertexBuffers=function(){return this._buffers},g.prototype.upload=function(t){var e=this;for(var r in e.binders)e.binders[r].upload(t);var n=[];for(var i in e.binders){var a=e.binders[i];(a instanceof p||a instanceof d)&&a.paintVertexBuffer&&n.push(a.paintVertexBuffer)}this._buffers=n},g.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var m=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=g.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};m.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},m.prototype.get=function(t){return this.programConfigurations[t]},m.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},m.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},o(\\\"ConstantBinder\\\",h),o(\\\"SourceExpressionBinder\\\",p),o(\\\"CompositeExpressionBinder\\\",d),o(\\\"ProgramConfiguration\\\",g,{omit:[\\\"_buffers\\\"]}),o(\\\"ProgramConfigurationSet\\\",m),e.exports={ProgramConfiguration:g,ProgramConfigurationSet:m}},{\\\"../shaders/encode_attribute\\\":96,\\\"../style-spec/util/color\\\":153,\\\"../style/properties\\\":188,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39}],59:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2},{name:\\\"a_texture_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],60:[function(t,e,r){var n=t(\\\"../util/util\\\").warnOnce,i=t(\\\"../util/web_worker_transfer\\\").register,a=Math.pow(2,16)-1,o=function(t){void 0===t&&(t=[]),this.segments=t};o.prototype.prepareSegment=function(t,r,i){var o=this.segments[this.segments.length-1];return t>a&&n(\\\"Max vertices per segment is \\\"+a+\\\": bucket requested \\\"+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.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()}},i(\\\"SegmentVector\\\",o),e.exports={SegmentVector:o,MAX_VERTEX_ARRAY_LENGTH:a}},{\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],61:[function(t,e,r){var n=function(t,e,r){this.column=t,this.row=e,this.zoom=r};n.prototype.clone=function(){return new n(this.column,this.row,this.zoom)},n.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},n.prototype.sub=function(t){return this.clone()._sub(t)},n.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},n.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this},e.exports=n},{}],62:[function(t,e,r){var n=t(\\\"../util/util\\\").wrap,i=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\\\")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return\\\"LngLat(\\\"+this.lng+\\\", \\\"+this.lat+\\\")\\\"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t(\\\"./lng_lat_bounds\\\"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\\\"object\\\"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error(\\\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\\\")},e.exports=i},{\\\"../util/util\\\":275,\\\"./lng_lat_bounds\\\":63}],63:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=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]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return\\\"LngLatBounds(\\\"+this._sw.toString()+\\\", \\\"+this._ne.toString()+\\\")\\\"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{\\\"./lng_lat\\\":62}],64:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./coordinate\\\"),o=t(\\\"../util/util\\\"),s=t(\\\"../style-spec/util/interpolate\\\").number,l=t(\\\"../util/tile_cover\\\"),c=t(\\\"../source/tile_id\\\"),u=(c.CanonicalTileID,c.UnwrappedTileID),f=t(\\\"../data/extent\\\"),h=t(\\\"@mapbox/gl-matrix\\\"),p=h.vec4,d=h.mat4,g=h.mat2,m=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},v={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};m.prototype.clone=function(){var t=new m(this._minZoom,this._maxZoom,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._calcMatrices(),t},v.minZoom.get=function(){return this._minZoom},v.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},v.maxZoom.get=function(){return this._maxZoom},v.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},v.renderWorldCopies.get=function(){return this._renderWorldCopies},v.worldSize.get=function(){return this.tileSize*this.scale},v.centerPoint.get=function(){return this.size._div(2)},v.size.get=function(){return new i(this.width,this.height)},v.bearing.get=function(){return-this.angle/Math.PI*180},v.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},v.pitch.get=function(){return this._pitch/Math.PI*180},v.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},v.fov.get=function(){return this._fov/Math.PI*180},v.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())},v.zoom.get=function(){return this._zoom},v.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())},v.center.get=function(){return this._center},v.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},m.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},m.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new u(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new u(s,t));return o},m.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&e<t.minzoom)return[];void 0!==t.maxzoom&&e>t.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},m.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},v.unmodified.get=function(){return this._unmodified},m.prototype.zoomScale=function(t){return Math.pow(2,t)},m.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},m.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},m.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},v.x.get=function(){return this.lngX(this.center.lng)},v.y.get=function(){return this.latY(this.center.lat)},v.point.get=function(){return new i(this.x,this.y)},m.prototype.lngX=function(t){return(180+t)*this.worldSize/360},m.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},m.prototype.xLng=function(t){return 360*t/this.worldSize-180},m.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},m.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},m.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},m.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},m.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},m.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},m.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,c=n[1]/o,u=r[2]/i,f=n[2]/o,h=u===f?0:(0-u)/(f-u);return new a(s(r[0]/i,n[0]/o,h)/this.tileSize,s(l,c,h)/this.tileSize,this.zoom)._zoomTo(e)},m.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},m.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/f,a/f,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},m.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=this.latY(f[1]),t=(o=this.latY(f[0]))-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=this.lngX(h[0]),e=(l=this.lngX(h[1]))-s<c.x?c.x/(l-s):0}var p=Math.max(e||0,t||0);if(p)return this.center=this.unproject(new i(e?(l+s)/2:this.x,t?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var d=this.y,g=c.y/2;d-g<a&&(n=a+g),d+g>o&&(n=o-g)}if(this.lngRange){var m=this.x,v=c.x/2;m-v<s&&(r=s+v),m+v>l&&(r=l-v)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=u,this._constraining=!1}},m.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,g=new Float64Array(o);if(d.translate(g,g,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\\\"failed to invert matrix\\\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(m.prototype,v),e.exports=m},{\\\"../data/extent\\\":53,\\\"../source/tile_id\\\":114,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/tile_cover\\\":273,\\\"../util/util\\\":275,\\\"./coordinate\\\":61,\\\"./lng_lat\\\":62,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],65:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{\\\"../style-spec/util/color\\\":153}],66:[function(t,e,r){var n=t(\\\"./index_buffer\\\"),i=t(\\\"./vertex_buffer\\\"),a=t(\\\"./framebuffer\\\"),o=(t(\\\"./depth_mode\\\"),t(\\\"./stencil_mode\\\"),t(\\\"./color_mode\\\")),s=t(\\\"../util/util\\\"),l=t(\\\"./value\\\"),c=l.ClearColor,u=l.ClearDepth,f=l.ClearStencil,h=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,m=l.StencilOp,v=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,k=l.BlendColor,M=l.Program,A=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,C=l.BindFramebuffer,E=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,D=l.BindVertexArrayOES,O=l.PixelStoreUnpack,I=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\\\"OES_vertex_array_object\\\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new c(this),this.clearDepth=new u(this),this.clearStencil=new f(this),this.colorMask=new h(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new m(this),this.stencilTest=new v(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new k(this),this.program=new M(this),this.lineWidth=new A(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new C(this),this.bindRenderbuffer=new E(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new D(this),this.pixelStoreUnpack=new O(this),this.pixelStoreUnpackPremultiplyAlpha=new I(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\\\")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.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)},R.prototype.setStencilMode=function(t){t.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)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{\\\"../util/util\\\":275,\\\"./color_mode\\\":65,\\\"./depth_mode\\\":67,\\\"./framebuffer\\\":68,\\\"./index_buffer\\\":69,\\\"./stencil_mode\\\":70,\\\"./value\\\":71,\\\"./vertex_buffer\\\":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t(\\\"./value\\\"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{\\\"./value\\\":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.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};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=t(\\\"../util/util\\\"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.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.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.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.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var c=function(t){this.context=t,this.current=!0};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var u=function(t){this.context=t,this.current=255};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var f=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var h=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var m=function(t){this.context=t,this.current=t.gl.LESS};m.prototype.get=function(){return this.current},m.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var v=function(t){this.context=t,this.current=!1};v.prototype.get=function(){return this.current},v.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.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.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var k=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};k.prototype.get=function(){return this.current},k.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.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var M=function(t){this.context=t,this.current=null};M.prototype.get=function(){return this.current},M.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var D=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),O=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:c,StencilMask:u,StencilFunc:f,StencilOp:h,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:m,Blend:v,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:k,BindFramebuffer:M,BindRenderbuffer:A,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:C,BindVertexArrayOES:E,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:D,DepthAttachment:O}},{\\\"../style-spec/util/color\\\":153,\\\"../util/util\\\":275}],72:[function(t,e,r){var n={Int8:\\\"BYTE\\\",Uint8:\\\"UNSIGNED_BYTE\\\",Int16:\\\"SHORT\\\",Uint16:\\\"UNSIGNED_SHORT\\\",Int32:\\\"INT\\\",Uint32:\\\"UNSIGNED_INT\\\",Float32:\\\"FLOAT\\\"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},i.prototype.setVertexAttribPointers=function(t,e,r){for(var i=this,a=0;a<this.attributes.length;a++){var o=i.attributes[a],s=e.attributes[o.name];void 0!==s&&t.vertexAttribPointer(s,o.components,t[n[o.type]],!1,i.itemSize,o.offset+i.itemSize*(r||0))}},i.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=i},{}],73:[function(t,e,r){var n=t(\\\"@mapbox/mapbox-gl-supported\\\"),i=t(\\\"./util/browser\\\"),a=t(\\\"../package.json\\\").version,o=t(\\\"./ui/map\\\"),s=t(\\\"./ui/control/navigation_control\\\"),l=t(\\\"./ui/control/geolocate_control\\\"),c=t(\\\"./ui/control/attribution_control\\\"),u=t(\\\"./ui/control/scale_control\\\"),f=t(\\\"./ui/control/fullscreen_control\\\"),h=t(\\\"./ui/popup\\\"),p=t(\\\"./ui/marker\\\"),d=t(\\\"./style/style\\\"),g=t(\\\"./geo/lng_lat\\\"),m=t(\\\"./geo/lng_lat_bounds\\\"),v=t(\\\"@mapbox/point-geometry\\\"),y=t(\\\"./util/evented\\\"),x=t(\\\"./util/config\\\"),b=t(\\\"./source/rtl_text_plugin\\\");e.exports={version:a,supported:n,workerCount:Math.max(Math.floor(i.hardwareConcurrency/2),1),setRTLTextPlugin:b.setRTLTextPlugin,Map:o,NavigationControl:s,GeolocateControl:l,AttributionControl:c,ScaleControl:u,FullscreenControl:f,Popup:h,Marker:p,Style:d,LngLat:g,LngLatBounds:m,Point:v,Evented:y,config:x,get accessToken(){return x.ACCESS_TOKEN},set accessToken(t){x.ACCESS_TOKEN=t}}},{\\\"../package.json\\\":38,\\\"./geo/lng_lat\\\":62,\\\"./geo/lng_lat_bounds\\\":63,\\\"./source/rtl_text_plugin\\\":109,\\\"./style/style\\\":190,\\\"./ui/control/attribution_control\\\":232,\\\"./ui/control/fullscreen_control\\\":233,\\\"./ui/control/geolocate_control\\\":234,\\\"./ui/control/navigation_control\\\":236,\\\"./ui/control/scale_control\\\":237,\\\"./ui/map\\\":247,\\\"./ui/marker\\\":248,\\\"./ui/popup\\\":249,\\\"./util/browser\\\":252,\\\"./util/config\\\":256,\\\"./util/evented\\\":260,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],74:[function(t,e,r){var n=t(\\\"./pattern\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r){var o=r.paint.get(\\\"background-color\\\"),s=r.paint.get(\\\"background-opacity\\\");if(0!==s){var l=t.context,c=l.gl,u=t.transform,f=u.tileSize,h=r.paint.get(\\\"background-pattern\\\"),p=h||1!==o.a||1!==s?\\\"translucent\\\":\\\"opaque\\\";if(t.renderPass===p){var d;if(l.setStencilMode(i.disabled),l.setDepthMode(t.depthModeForSublayer(0,\\\"opaque\\\"===p?a.ReadWrite:a.ReadOnly)),l.setColorMode(t.colorModeForRenderPass()),h){if(n.isPatternMissing(h,t))return;d=t.useProgram(\\\"backgroundPattern\\\"),n.prepare(h,t,d),t.tileExtentPatternVAO.bind(l,d,t.tileExtentBuffer,[])}else d=t.useProgram(\\\"background\\\"),c.uniform4fv(d.uniforms.u_color,[o.r,o.g,o.b,o.a]),t.tileExtentVAO.bind(l,d,t.tileExtentBuffer,[]);c.uniform1f(d.uniforms.u_opacity,s);for(var g=0,m=u.coveringTiles({tileSize:f});g<m.length;g+=1){var v=m[g];h&&n.setTile({tileID:v,tileSize:f},t,d),c.uniformMatrix4fv(d.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(v.toUnwrapped())),c.drawArrays(c.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./pattern\\\":91}],75:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){if(\\\"translucent\\\"===t.renderPass){var s=r.paint.get(\\\"circle-opacity\\\"),l=r.paint.get(\\\"circle-stroke-width\\\"),c=r.paint.get(\\\"circle-stroke-opacity\\\");if(0!==s.constantOr(1)||0!==l.constantOr(1)&&0!==c.constantOr(1)){var u=t.context,f=u.gl;u.setDepthMode(t.depthModeForSublayer(0,a.ReadOnly)),u.setStencilMode(i.disabled),u.setColorMode(t.colorModeForRenderPass());for(var h=!0,p=0;p<o.length;p++){var d=o[p],g=e.getTile(d),m=g.getBucket(r);if(m){var v=t.context.program.get(),y=m.programConfigurations.get(r.id),x=t.useProgram(\\\"circle\\\",y);if((h||x.program!==v)&&(y.setUniforms(u,x,r.paint,{zoom:t.transform.zoom}),h=!1),f.uniform1f(x.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),f.uniform1i(x.uniforms.u_scale_with_map,\\\"map\\\"===r.paint.get(\\\"circle-pitch-scale\\\")?1:0),\\\"map\\\"===r.paint.get(\\\"circle-pitch-alignment\\\")){f.uniform1i(x.uniforms.u_pitch_with_map,1);var b=n(g,1,t.transform.zoom);f.uniform2f(x.uniforms.u_extrude_scale,b,b)}else f.uniform1i(x.uniforms.u_pitch_with_map,0),f.uniform2fv(x.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);f.uniformMatrix4fv(x.uniforms.u_matrix,!1,t.translatePosMatrix(d.posMatrix,g,r.paint.get(\\\"circle-translate\\\"),r.paint.get(\\\"circle-translate-anchor\\\"))),x.draw(u,f.TRIANGLES,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,y)}}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],76:[function(t,e,r){function n(t,e,r,n,s){var l=t.context,c=l.gl,u=s?t.useProgram(\\\"collisionCircle\\\"):t.useProgram(\\\"collisionBox\\\");l.setDepthMode(a.disabled),l.setStencilMode(o.disabled),l.setColorMode(t.colorModeForRenderPass());for(var f=0;f<n.length;f++){var h=n[f],p=e.getTile(h),d=p.getBucket(r);if(d){var g=s?d.collisionCircle:d.collisionBox;if(g){c.uniformMatrix4fv(u.uniforms.u_matrix,!1,h.posMatrix),s||l.lineWidth.set(1),c.uniform1f(u.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var m=i(p,1,t.transform.zoom),v=Math.pow(2,t.transform.zoom-p.tileID.overscaledZ);c.uniform1f(u.uniforms.u_pixels_to_tile_units,m),c.uniform2f(u.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(m*v),t.transform.pixelsToGLUnits[1]/(m*v)),u.draw(l,s?c.TRIANGLES:c.LINES,r.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,g.collisionVertexBuffer,null)}}}}var i=t(\\\"../source/pixels_to_tile_units\\\"),a=t(\\\"../gl/depth_mode\\\"),o=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){n(t,e,r,i,!1),n(t,e,r,i,!0)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],77:[function(t,e,r){function n(t,e,r){var n=t.context,p=n.gl;n.lineWidth.set(1*i.devicePixelRatio);var d=r.posMatrix,g=t.useProgram(\\\"debug\\\");n.setDepthMode(u.disabled),n.setStencilMode(f.disabled),n.setColorMode(t.colorModeForRenderPass()),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.uniform4f(g.uniforms.u_color,1,0,0,1),t.debugVAO.bind(n,g,t.debugBuffer,[]),p.drawArrays(p.LINE_STRIP,0,t.debugBuffer.length);for(var m=function(t,e,r,n){n=n||1;var i,a,o,s,l,c,u,f,p=[];for(i=0,a=t.length;i<a;i++)if(l=h[t[i]]){for(f=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?f=null:(c=e+l[1][o]*n,u=r-l[1][o+1]*n,f&&p.push(f.x,f.y,c,u),f={x:c,y:u});e+=l[0]*n}return p}(r.toString(),50,200,5),v=new l,y=0;y<m.length;y+=2)v.emplaceBack(m[y],m[y+1]);var x=n.createVertexBuffer(v,c.members);(new s).bind(n,g,x,[]),p.uniform4f(g.uniforms.u_color,1,1,1,1);for(var b=e.getTile(r).tileSize,_=o/(Math.pow(2,t.transform.zoom-r.overscaledZ)*b),w=[[-1,-1],[-1,1],[1,-1],[1,1]],k=0;k<w.length;k++){var M=w[k];p.uniformMatrix4fv(g.uniforms.u_matrix,!1,a.translate([],d,[_*M[0],_*M[1],0])),p.drawArrays(p.LINES,0,x.length)}p.uniform4f(g.uniforms.u_color,0,0,0,1),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.drawArrays(p.LINES,0,x.length)}var i=t(\\\"../util/browser\\\"),a=t(\\\"@mapbox/gl-matrix\\\").mat4,o=t(\\\"../data/extent\\\"),s=t(\\\"./vertex_array_object\\\"),l=t(\\\"../data/array_types\\\").PosArray,c=t(\\\"../data/pos_attributes\\\"),u=t(\\\"../gl/depth_mode\\\"),f=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])};var h={\\\" \\\":[16,[]],\\\"!\\\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\\\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\\\"#\\\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\\\"%\\\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\\\"&\\\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\\\"'\\\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\\\"(\\\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\\\")\\\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\\\"*\\\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\\\"+\\\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\\\",\\\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"-\\\":[26,[4,9,22,9]],\\\".\\\":[10,[5,2,4,1,5,0,6,1,5,2]],\\\"/\\\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\\\":\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\\\";\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"<\\\":[24,[20,18,4,9,20,0]],\\\"=\\\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\\\">\\\":[24,[4,18,20,9,4,0]],\\\"?\\\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\\\"@\\\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\\\"[\\\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\\\"\\\\\\\\\\\":[14,[0,21,14,-3]],\\\"]\\\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\\\"^\\\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\\\"`\\\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\\\"{\\\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\\\"|\\\":[8,[4,25,4,-7]],\\\"}\\\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\\\"~\\\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get(\\\"fill-pattern\\\"),t))for(var a=!0,o=0,l=n;o<l.length;o+=1){var c=l[o],u=e.getTile(c),f=u.getBucket(r);f&&(t.context.setStencilMode(t.stencilModeForClipping(c)),i(t,e,r,u,c,f,a),a=!1)}}function i(t,e,r,n,i,a,s){var l=t.context.gl,c=a.programConfigurations.get(r.id);o(\\\"fill\\\",r.paint.get(\\\"fill-pattern\\\"),t,c,r,n,i,s).draw(t.context,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,c)}function a(t,e,r,n,i,a,s){var l=t.context.gl,c=a.programConfigurations.get(r.id),u=o(\\\"fillOutline\\\",r.getPaintProperty(\\\"fill-outline-color\\\")?null:r.paint.get(\\\"fill-pattern\\\"),t,c,r,n,i,s);l.uniform2f(u.uniforms.u_world,l.drawingBufferWidth,l.drawingBufferHeight),u.draw(t.context,l.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,c)}function o(t,e,r,n,i,a,o,l){var c,u=r.context.program.get();return e?(c=r.useProgram(t+\\\"Pattern\\\",n),(l||c.program!==u)&&(n.setUniforms(r.context,c,i.paint,{zoom:r.transform.zoom}),s.prepare(e,r,c)),s.setTile(a,r,c)):(c=r.useProgram(t,n),(l||c.program!==u)&&n.setUniforms(r.context,c,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(c.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\\\"fill-translate\\\"),i.paint.get(\\\"fill-translate-anchor\\\"))),c}var s=t(\\\"./pattern\\\"),l=t(\\\"../style-spec/util/color\\\"),c=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){var s=r.paint.get(\\\"fill-color\\\"),u=r.paint.get(\\\"fill-opacity\\\");if(0!==u.constantOr(1)){var f=t.context;f.setColorMode(t.colorModeForRenderPass());var h=r.paint.get(\\\"fill-pattern\\\")||1!==s.constantOr(l.transparent).a||1!==u.constantOr(0)?\\\"translucent\\\":\\\"opaque\\\";t.renderPass===h&&(f.setDepthMode(t.depthModeForSublayer(1,\\\"opaque\\\"===t.renderPass?c.ReadWrite:c.ReadOnly)),n(t,e,r,o,i)),\\\"translucent\\\"===t.renderPass&&r.paint.get(\\\"fill-antialias\\\")&&(f.lineWidth.set(2),f.setDepthMode(t.depthModeForSublayer(r.getPaintProperty(\\\"fill-outline-color\\\")?2:0,c.ReadOnly)),n(t,e,r,o,a))}}},{\\\"../gl/depth_mode\\\":67,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91}],79:[function(t,e,r){function n(t,e,r,n,i,o,s){var l=t.context,u=l.gl,h=r.paint.get(\\\"fill-extrusion-pattern\\\"),p=t.context.program.get(),d=o.programConfigurations.get(r.id),g=t.useProgram(h?\\\"fillExtrusionPattern\\\":\\\"fillExtrusion\\\",d);if((s||g.program!==p)&&d.setUniforms(l,g,r.paint,{zoom:t.transform.zoom}),h){if(a.isPatternMissing(h,t))return;a.prepare(h,t,g),a.setTile(n,t,g),u.uniform1f(g.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(g.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\\\"fill-extrusion-translate\\\"),r.paint.get(\\\"fill-extrusion-translate-anchor\\\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\\\"position\\\"),a=[i.x,i.y,i.z],o=c.create();\\\"viewport\\\"===n.properties.get(\\\"anchor\\\")&&c.fromRotation(o,-e.transform.angle),f.transformMat3(a,a,o);var s=n.properties.get(\\\"color\\\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\\\"intensity\\\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(g,t),g.draw(l,u.TRIANGLES,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,d)}var i=t(\\\"@mapbox/gl-matrix\\\"),a=t(\\\"./pattern\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../style-spec/util/color\\\"),l=t(\\\"../gl/depth_mode\\\"),c=i.mat3,u=i.mat4,f=i.vec3,h=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){if(0!==r.paint.get(\\\"fill-extrusion-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){!function(t,e){var r=t.context,n=r.gl,i=e.viewportFrame;if(t.depthRboNeedsClear&&t.setupOffscreenDepthRenderbuffer(),!i){var a=new o(r,{width:t.width,height:t.height,data:null},n.RGBA);a.bind(n.LINEAR,n.CLAMP_TO_EDGE),(i=e.viewportFrame=r.createFramebuffer(t.width,t.height)).colorAttachment.set(a.texture)}r.bindFramebuffer.set(i.framebuffer),i.depthAttachment.set(t.depthRbo),t.depthRboNeedsClear&&(r.clear({depth:1}),t.depthRboNeedsClear=!1),r.clear({color:s.transparent}),r.setStencilMode(h.disabled),r.setDepthMode(new l(n.LEQUAL,l.ReadWrite,[0,1])),r.setColorMode(t.colorModeForRenderPass())}(t,r);for(var a=!0,c=0,f=i;c<f.length;c+=1){var p=f[c],d=e.getTile(p),g=d.getBucket(r);g&&(n(t,0,r,d,p,g,a),a=!1)}}else\\\"translucent\\\"===t.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\\\"extrusionTexture\\\");n.setStencilMode(h.disabled),n.setDepthMode(l.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\\\"fill-extrusion-opacity\\\")),i.uniform1i(a.uniforms.u_image,0);var o=u.create();u.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(t,r)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],80:[function(t,e,r){var n=t(\\\"@mapbox/gl-matrix\\\").mat4,i=t(\\\"./texture\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../style-spec/util/color\\\"),s=t(\\\"../gl/depth_mode\\\"),l=t(\\\"../gl/stencil_mode\\\"),c=t(\\\"../gl/color_mode\\\");e.exports=function(t,e,r,u){if(0!==r.paint.get(\\\"heatmap-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){var f=t.context,h=f.gl;f.setDepthMode(t.depthModeForSublayer(0,s.ReadOnly)),f.setStencilMode(l.disabled),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 i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),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),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(f,t,r),f.clear({color:o.transparent}),f.setColorMode(new c([h.ONE,h.ONE],o.transparent,[!0,!0,!0,!0]));for(var p=!0,d=0;d<u.length;d++){var g=u[d];if(!e.hasRenderableParent(g)){var m=e.getTile(g),v=m.getBucket(r);if(v){var y=t.context.program.get(),x=v.programConfigurations.get(r.id),b=t.useProgram(\\\"heatmap\\\",x),_=t.transform.zoom;(p||b.program!==y)&&(x.setUniforms(t.context,b,r.paint,{zoom:_}),p=!1),h.uniform1f(b.uniforms.u_extrude_scale,a(m,1,_)),h.uniform1f(b.uniforms.u_intensity,r.paint.get(\\\"heatmap-intensity\\\")),h.uniformMatrix4fv(b.uniforms.u_matrix,!1,g.posMatrix),b.draw(f,h.TRIANGLES,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,x)}}}f.viewport.set([0,0,t.width,t.height])}else\\\"translucent\\\"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,e){var r=t.context,a=r.gl,o=e.heatmapFbo;if(o){r.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),r.activeTexture.set(a.TEXTURE1);var l=e.colorRampTexture;l||(l=e.colorRampTexture=new i(r,e.colorRamp,a.RGBA)),l.bind(a.LINEAR,a.CLAMP_TO_EDGE),r.setDepthMode(s.disabled);var c=t.useProgram(\\\"heatmapTexture\\\"),u=e.paint.get(\\\"heatmap-opacity\\\");a.uniform1f(c.uniforms.u_opacity,u),a.uniform1i(c.uniforms.u_image,0),a.uniform1i(c.uniforms.u_color_ramp,1);var f=n.create();n.ortho(f,0,t.width,t.height,0,0,1),a.uniformMatrix4fv(c.uniforms.u_matrix,!1,f),a.uniform2f(c.uniforms.u_world,a.drawingBufferWidth,a.drawingBufferHeight),t.viewportVAO.bind(t.context,c,t.viewportBuffer,[]),a.drawArrays(a.TRIANGLE_STRIP,0,4)}}(t,r))}},{\\\"../gl/color_mode\\\":65,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style-spec/util/color\\\":153,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],81:[function(t,e,r){function n(t,e,r){var n=t.context,i=n.gl,o=e.fbo;if(o){var s=t.useProgram(\\\"hillshade\\\"),l=t.transform.calculatePosMatrix(e.tileID.toUnwrapped());!function(t,e,r){var n=r.paint.get(\\\"hillshade-illumination-direction\\\")*(Math.PI/180);\\\"viewport\\\"===r.paint.get(\\\"hillshade-illumination-anchor\\\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\\\"hillshade-exaggeration\\\"),n)}(s,t,r);var c=function(t,e){var r=e.toCoordinate(),n=new a(r.column,r.row+1,r.zoom);return[t.transform.coordinateLocation(r).lat,t.transform.coordinateLocation(n).lat]}(t,e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,o.colorAttachment.get()),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),i.uniform2fv(s.uniforms.u_latrange,c),i.uniform1i(s.uniforms.u_image,0);var u=r.paint.get(\\\"hillshade-shadow-color\\\");i.uniform4f(s.uniforms.u_shadow,u.r,u.g,u.b,u.a);var f=r.paint.get(\\\"hillshade-highlight-color\\\");i.uniform4f(s.uniforms.u_highlight,f.r,f.g,f.b,f.a);var h=r.paint.get(\\\"hillshade-accent-color\\\");if(i.uniform4f(s.uniforms.u_accent,h.r,h.g,h.b,h.a),e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments)s.draw(n,i.TRIANGLES,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments);else{var p=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(n,s,p,[]),i.drawArrays(i.TRIANGLE_STRIP,0,p.length)}}}function i(t,e){var r=t.context,n=r.gl;if(e.dem&&e.dem.level){var i=e.dem.level.dim,a=e.dem.getPixels();if(r.activeTexture.set(n.TEXTURE1),r.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||t.getTileTexture(e.tileSize),e.demTexture){var c=e.demTexture;c.update(a,!1),c.bind(n.NEAREST,n.CLAMP_TO_EDGE)}else e.demTexture=new o(r,a,n.RGBA,!1),e.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE);r.activeTexture.set(n.TEXTURE0);var u=e.fbo;if(!u){var f=new o(r,{width:i,height:i,data:null},n.RGBA);f.bind(n.LINEAR,n.CLAMP_TO_EDGE),(u=e.fbo=r.createFramebuffer(i,i)).colorAttachment.set(f.texture)}r.bindFramebuffer.set(u.framebuffer),r.viewport.set([0,0,i,i]);var h=l.create();l.ortho(h,0,s,-s,0,0,1),l.translate(h,h,[0,-s,0]);var p=t.useProgram(\\\"hillshadePrepare\\\");n.uniformMatrix4fv(p.uniforms.u_matrix,!1,h),n.uniform1f(p.uniforms.u_zoom,e.tileID.overscaledZ),n.uniform2fv(p.uniforms.u_dimension,[2*i,2*i]),n.uniform1i(p.uniforms.u_image,1);var d=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(r,p,d,[]),n.drawArrays(n.TRIANGLE_STRIP,0,d.length),e.needsHillshadePrepare=!1}}var a=t(\\\"../geo/coordinate\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../data/extent\\\"),l=t(\\\"@mapbox/gl-matrix\\\").mat4,c=t(\\\"../gl/stencil_mode\\\"),u=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,a){if(\\\"offscreen\\\"===t.renderPass||\\\"translucent\\\"===t.renderPass){var o=t.context;o.setDepthMode(t.depthModeForSublayer(0,u.ReadOnly)),o.setStencilMode(c.disabled),o.setColorMode(t.colorModeForRenderPass());for(var s=0,l=a;s<l.length;s+=1){var f=l[s],h=e.getTile(f);h.needsHillshadePrepare&&\\\"offscreen\\\"===t.renderPass?i(t,h):\\\"translucent\\\"===t.renderPass&&n(t,h,r)}o.viewport.set([0,0,t.width,t.height])}}},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],82:[function(t,e,r){function n(t,e,r,n,o,s,l,c,u){var f,h,p,d,g=e.context,m=g.gl,v=o.paint.get(\\\"line-dasharray\\\"),y=o.paint.get(\\\"line-pattern\\\");if(c||u){var x=1/a(r,1,e.transform.tileZoom);if(v){f=e.lineAtlas.getDash(v.from,\\\"round\\\"===o.layout.get(\\\"line-cap\\\")),h=e.lineAtlas.getDash(v.to,\\\"round\\\"===o.layout.get(\\\"line-cap\\\"));var b=f.width*v.fromScale,_=h.width*v.toScale;m.uniform2f(t.uniforms.u_patternscale_a,x/b,-f.height/2),m.uniform2f(t.uniforms.u_patternscale_b,x/_,-h.height/2),m.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(b,_)*i.devicePixelRatio)/2)}else if(y){if(p=e.imageManager.getPattern(y.from),d=e.imageManager.getPattern(y.to),!p||!d)return;m.uniform2f(t.uniforms.u_pattern_size_a,p.displaySize[0]*y.fromScale/x,d.displaySize[1]),m.uniform2f(t.uniforms.u_pattern_size_b,d.displaySize[0]*y.toScale/x,d.displaySize[1]);var w=e.imageManager.getPixelSize(),k=w.width,M=w.height;m.uniform2fv(t.uniforms.u_texsize,[k,M])}m.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}c&&(v?(m.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(g),m.uniform1f(t.uniforms.u_tex_y_a,f.y),m.uniform1f(t.uniforms.u_tex_y_b,h.y),m.uniform1f(t.uniforms.u_mix,v.t)):y&&(m.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(m.TEXTURE0),e.imageManager.bind(g),m.uniform2fv(t.uniforms.u_pattern_tl_a,p.tl),m.uniform2fv(t.uniforms.u_pattern_br_a,p.br),m.uniform2fv(t.uniforms.u_pattern_tl_b,d.tl),m.uniform2fv(t.uniforms.u_pattern_br_b,d.br),m.uniform1f(t.uniforms.u_fade,y.t))),g.setStencilMode(e.stencilModeForClipping(s));var A=e.translatePosMatrix(s.posMatrix,r,o.paint.get(\\\"line-translate\\\"),o.paint.get(\\\"line-translate-anchor\\\"));m.uniformMatrix4fv(t.uniforms.u_matrix,!1,A),m.uniform1f(t.uniforms.u_ratio,1/a(r,1,e.transform.zoom)),t.draw(g,m.TRIANGLES,o.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,l)}var i=t(\\\"../util/browser\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"line-opacity\\\").constantOr(1)){var a=t.context;a.setDepthMode(t.depthModeForSublayer(0,o.ReadOnly)),a.setColorMode(t.colorModeForRenderPass());for(var s,l=r.paint.get(\\\"line-dasharray\\\")?\\\"lineSDF\\\":r.paint.get(\\\"line-pattern\\\")?\\\"linePattern\\\":\\\"line\\\",c=!0,u=0,f=i;u<f.length;u+=1){var h=f[u],p=e.getTile(h),d=p.getBucket(r);if(d){var g=d.programConfigurations.get(r.id),m=t.context.program.get(),v=t.useProgram(l,g),y=c||v.program!==m,x=s!==p.tileID.overscaledZ;y&&g.setUniforms(t.context,v,r.paint,{zoom:t.transform.zoom}),n(v,t,p,d,r,h,g,y,x),s=p.tileID.overscaledZ,c=!1}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../source/pixels_to_tile_units\\\":104,\\\"../util/browser\\\":252}],83:[function(t,e,r){function n(t,e,r,n,a){var s=n.paint.get(\\\"raster-fade-duration\\\");if(s>0){var l=o.now(),c=(l-t.timeAdded)/s,u=e?(l-e.timeAdded)/s:-1,f=r.getSource(),h=a.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),d=p&&t.refreshedUponExpiration?1:i.clamp(p?c:1-u,0,1);return t.refreshedUponExpiration&&c>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t(\\\"../util/util\\\"),a=t(\\\"../source/image_source\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"../gl/stencil_mode\\\"),l=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"raster-opacity\\\")){var o=t.context,c=o.gl,u=e.getSource(),f=t.useProgram(\\\"raster\\\");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),c.uniform1f(f.uniforms.u_brightness_low,r.paint.get(\\\"raster-brightness-min\\\")),c.uniform1f(f.uniforms.u_brightness_high,r.paint.get(\\\"raster-brightness-max\\\")),c.uniform1f(f.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get(\\\"raster-saturation\\\"))),c.uniform1f(f.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get(\\\"raster-contrast\\\"))),c.uniform3fv(f.uniforms.u_spin_weights,function(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]}(r.paint.get(\\\"raster-hue-rotate\\\"))),c.uniform1f(f.uniforms.u_buffer_scale,1),c.uniform1i(f.uniforms.u_image0,0),c.uniform1i(f.uniforms.u_image1,1);for(var h=i.length&&i[0].overscaledZ,p=0,d=i;p<d.length;p+=1){var g=d[p];o.setDepthMode(t.depthModeForSublayer(g.overscaledZ-h,1===r.paint.get(\\\"raster-opacity\\\")?l.ReadWrite:l.ReadOnly,c.LESS));var m=e.getTile(g),v=t.transform.calculatePosMatrix(g.toUnwrapped(),!0);m.registerFadeDuration(r.paint.get(\\\"raster-fade-duration\\\")),c.uniformMatrix4fv(f.uniforms.u_matrix,!1,v);var y=e.findLoadedParent(g,0,{}),x=n(m,y,e,r,t.transform),b=void 0,_=void 0;if(o.activeTexture.set(c.TEXTURE0),m.texture.bind(c.LINEAR,c.CLAMP_TO_EDGE,c.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(c.TEXTURE1),y?(y.texture.bind(c.LINEAR,c.CLAMP_TO_EDGE,c.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-m.tileID.overscaledZ),_=[m.tileID.canonical.x*b%1,m.tileID.canonical.y*b%1]):m.texture.bind(c.LINEAR,c.CLAMP_TO_EDGE,c.LINEAR_MIPMAP_NEAREST),c.uniform2fv(f.uniforms.u_tl_parent,_||[0,0]),c.uniform1f(f.uniforms.u_scale_parent,b||1),c.uniform1f(f.uniforms.u_fade_t,x.mix),c.uniform1f(f.uniforms.u_opacity,x.opacity*r.paint.get(\\\"raster-opacity\\\")),u instanceof a){var w=u.boundsBuffer;u.boundsVAO.bind(o,f,w,[]),c.drawArrays(c.TRIANGLE_STRIP,0,w.length)}else if(m.maskedBoundsBuffer&&m.maskedIndexBuffer&&m.segments)f.draw(o,c.TRIANGLES,r.id,m.maskedBoundsBuffer,m.maskedIndexBuffer,m.segments);else{var k=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,f,k,[]),c.drawArrays(c.TRIANGLE_STRIP,0,k.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/image_source\\\":102,\\\"../util/browser\\\":252,\\\"../util/util\\\":275}],84:[function(t,e,r){function n(t,e,r,n,o,s,u,h,p,g){var m=t.context,v=m.gl,y=t.transform,x=\\\"map\\\"===h,b=\\\"map\\\"===p,_=x&&\\\"line\\\"===r.layout.get(\\\"symbol-placement\\\"),w=x&&!b&&!_,k=b;m.setDepthMode(k?t.depthModeForSublayer(0,d.ReadOnly):d.disabled);for(var M,A=0,T=n;A<T.length;A+=1){var S=T[A],C=e.getTile(S),E=C.getBucket(r);if(E){var L=o?E.text:E.icon;if(L&&L.segments.get().length){var z=L.programConfigurations.get(r.id),P=o||E.sdfIcons,D=o?E.textSizeData:E.iconSizeData;if(M||(M=t.useProgram(P?\\\"symbolSDF\\\":\\\"symbolIcon\\\",z),z.setUniforms(t.context,M,r.paint,{zoom:t.transform.zoom}),i(M,t,r,o,w,b,D)),m.activeTexture.set(v.TEXTURE0),v.uniform1i(M.uniforms.u_texture,0),o)C.glyphAtlasTexture.bind(v.LINEAR,v.CLAMP_TO_EDGE),v.uniform2fv(M.uniforms.u_texsize,C.glyphAtlasTexture.size);else{var O=1!==r.layout.get(\\\"icon-size\\\").constantOr(0)||E.iconsNeedLinear,I=b||0!==y.pitch;C.iconAtlasTexture.bind(P||t.options.rotating||t.options.zooming||O||I?v.LINEAR:v.NEAREST,v.CLAMP_TO_EDGE),v.uniform2fv(M.uniforms.u_texsize,C.iconAtlasTexture.size)}v.uniformMatrix4fv(M.uniforms.u_matrix,!1,t.translatePosMatrix(S.posMatrix,C,s,u));var R=l(C,1,t.transform.zoom),B=c.getLabelPlaneMatrix(S.posMatrix,b,x,t.transform,R),F=c.getGlCoordMatrix(S.posMatrix,b,x,t.transform,R);v.uniformMatrix4fv(M.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(F,C,s,u,!0)),_?(v.uniformMatrix4fv(M.uniforms.u_label_plane_matrix,!1,f),c.updateLineLabels(E,S.posMatrix,t,o,B,F,b,g)):v.uniformMatrix4fv(M.uniforms.u_label_plane_matrix,!1,B),v.uniform1f(M.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),a(M,z,t,r,C,L,o,P,b)}}}}function i(t,e,r,n,i,a,o){var s=e.context.gl,l=e.transform;s.uniform1i(t.uniforms.u_pitch_with_map,a?1:0),s.uniform1f(t.uniforms.u_is_text,n?1:0),s.uniform1f(t.uniforms.u_pitch,l.pitch/360*2*Math.PI);var c=\\\"constant\\\"===o.functionType||\\\"source\\\"===o.functionType,f=\\\"constant\\\"===o.functionType||\\\"camera\\\"===o.functionType;s.uniform1i(t.uniforms.u_is_size_zoom_constant,c?1:0),s.uniform1i(t.uniforms.u_is_size_feature_constant,f?1:0),s.uniform1f(t.uniforms.u_camera_to_center_distance,l.cameraToCenterDistance);var p=u.evaluateSizeForZoom(o,l.zoom,h.properties[n?\\\"text-size\\\":\\\"icon-size\\\"]);void 0!==p.uSizeT&&s.uniform1f(t.uniforms.u_size_t,p.uSizeT),void 0!==p.uSize&&s.uniform1f(t.uniforms.u_size,p.uSize),s.uniform1f(t.uniforms.u_aspect_ratio,l.width/l.height),s.uniform1i(t.uniforms.u_rotate_symbol,i?1:0)}function a(t,e,r,n,i,a,s,l,c){var u=r.context,f=u.gl,h=r.transform;if(l){var p=0!==n.paint.get(s?\\\"text-halo-width\\\":\\\"icon-halo-width\\\").constantOr(1),d=c?Math.cos(h._pitch)*h.cameraToCenterDistance:1;f.uniform1f(t.uniforms.u_gamma_scale,d),p&&(f.uniform1f(t.uniforms.u_is_halo,1),o(a,n,u,t)),f.uniform1f(t.uniforms.u_is_halo,0)}o(a,n,u,t)}function o(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}var s=t(\\\"./draw_collision_debug\\\"),l=t(\\\"../source/pixels_to_tile_units\\\"),c=t(\\\"../symbol/projection\\\"),u=t(\\\"../symbol/symbol_size\\\"),f=t(\\\"@mapbox/gl-matrix\\\").mat4.identity(new Float32Array(16)),h=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,p=t(\\\"../gl/stencil_mode\\\"),d=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass){var a=t.context;a.setStencilMode(p.disabled),a.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\\\"icon-opacity\\\").constantOr(1)&&n(t,e,r,i,!1,r.paint.get(\\\"icon-translate\\\"),r.paint.get(\\\"icon-translate-anchor\\\"),r.layout.get(\\\"icon-rotation-alignment\\\"),r.layout.get(\\\"icon-pitch-alignment\\\"),r.layout.get(\\\"icon-keep-upright\\\")),0!==r.paint.get(\\\"text-opacity\\\").constantOr(1)&&n(t,e,r,i,!0,r.paint.get(\\\"text-translate\\\"),r.paint.get(\\\"text-translate-anchor\\\"),r.layout.get(\\\"text-rotation-alignment\\\"),r.layout.get(\\\"text-pitch-alignment\\\"),r.layout.get(\\\"text-keep-upright\\\")),e.map.showCollisionBoxes&&s(t,e,r,i)}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/projection\\\":224,\\\"../symbol/symbol_size\\\":228,\\\"./draw_collision_debug\\\":76,\\\"@mapbox/gl-matrix\\\":2}],85:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").AlphaImage,a=1;e.exports={makeGlyphAtlas:function(t){var e=new i({width:0,height:0}),r={},o=new n(0,0,{autoResize:!0});for(var s in t){var l=t[s],c=r[s]={};for(var u in l){var f=l[+u];if(f&&0!==f.bitmap.width&&0!==f.bitmap.height){var h=o.packOne(f.bitmap.width+2*a,f.bitmap.height+2*a);e.resize({width:o.w,height:o.h}),i.copy(f.bitmap,e,{x:0,y:0},{x:h.x+a,y:h.y+a},f.bitmap),c[u]={rect:h,metrics:f.metrics}}}}return o.shrink(),e.resize({width:o.w,height:o.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],86:[function(t,e,r){var n=t(\\\"../style/load_glyph_range\\\"),i=t(\\\"@mapbox/tiny-sdf\\\"),a=t(\\\"../util/is_char_in_unicode_block\\\"),o=t(\\\"../util/util\\\").asyncAll,s=t(\\\"../util/image\\\").AlphaImage,l=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};l.prototype.setURL=function(t){this.url=t},l.prototype.getGlyphs=function(t,e){var r=this,i=[];for(var a in t)for(var s=0,l=t[a];s<l.length;s+=1){var c=l[s];i.push({stack:a,id:c})}o(i,function(t,e){var i=t.stack,a=t.id,o=r.entries[i];o||(o=r.entries[i]={glyphs:{},requests:{}});var s=o.glyphs[a];if(void 0===s)if(s=r._tinySDF(o,i,a))e(null,{stack:i,id:a,glyph:s});else{var l=Math.floor(a/256);if(256*l>65535)e(new Error(\\\"glyphs > 65535 not supported\\\"));else{var c=o.requests[l];c||(c=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=c;n<i.length;n+=1)(0,i[n])(t,e);delete o.requests[l]})),c.push(function(t,r){t?e(t):r&&e(null,{stack:i,id:a,glyph:r[a]||null})})}}else e(null,{stack:i,id:a,glyph:s})},function(t,r){if(t)e(t);else if(r){for(var n={},i=0,a=r;i<a.length;i+=1){var o=a[i],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}}e(null,n)}})},l.prototype._tinySDF=function(t,e,r){var n=this.localIdeographFontFamily;if(n&&(a[\\\"CJK Unified Ideographs\\\"](r)||a[\\\"Hangul Syllables\\\"](r))){var o=t.tinySDF;if(!o){var l=\\\"400\\\";/bold/i.test(e)?l=\\\"900\\\":/medium/i.test(e)?l=\\\"500\\\":/light/i.test(e)&&(l=\\\"200\\\"),o=t.tinySDF=new i(24,3,8,.25,n,l)}return{id:r,bitmap:new s({width:30,height:30},o.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},e.exports=l},{\\\"../style/load_glyph_range\\\":184,\\\"../util/image\\\":263,\\\"../util/is_char_in_unicode_block\\\":265,\\\"../util/util\\\":275,\\\"@mapbox/tiny-sdf\\\":6}],87:[function(t,e,r){function n(t,e){var r=e.pixelRatio,n={x:t.x+o,y:t.y+o,w:t.w-2*o,h:t.h-2*o};return{pixelRatio:r,textureRect:n,tl:[n.x,n.y],br:[n.x+n.w,n.y+n.h],displaySize:[n.w/r,n.h/r]}}var i=t(\\\"@mapbox/shelf-pack\\\"),a=t(\\\"../util/image\\\").RGBAImage,o=1;e.exports={imagePosition:n,makeImageAtlas:function(t){var e=new a({width:0,height:0}),r={},s=new i(0,0,{autoResize:!0});for(var l in t){var c=t[l],u=s.packOne(c.data.width+2*o,c.data.height+2*o);e.resize({width:s.w,height:s.h}),a.copy(c.data,e,{x:0,y:0},{x:u.x+o,y:u.y+o},c.data),r[l]=n(u,c)}return s.shrink(),e.resize({width:s.w,height:s.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],88:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").RGBAImage,a=t(\\\"./image_atlas\\\").imagePosition,o=t(\\\"./texture\\\"),s=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new n(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new i({width:64,height:64}),this.dirty=!0};s.prototype.isLoaded=function(){return this.loaded},s.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],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},s.prototype.getImage=function(t){return this.images[t]},s.prototype.addImage=function(t,e){this.images[t]=e},s.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},s.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},s.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},s.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},s.prototype.getPattern=function(t){var e=this.patterns[t];if(e)return e.position;var r=this.getImage(t);if(!r)return null;var n=r.data.width+2,o=r.data.height+2,s=this.shelfPack.packOne(n,o);if(!s)return null;this.atlasImage.resize(this.getPixelSize());var l=r.data,c=this.atlasImage,u=s.x+1,f=s.y+1,h=l.width,p=l.height;i.copy(l,c,{x:0,y:0},{x:u,y:f},{width:h,height:p}),i.copy(l,c,{x:0,y:p-1},{x:u,y:f-1},{width:h,height:1}),i.copy(l,c,{x:0,y:0},{x:u,y:f+p},{width:h,height:1}),i.copy(l,c,{x:h-1,y:0},{x:u-1,y:f},{width:1,height:p}),i.copy(l,c,{x:0,y:0},{x:u+h,y:f},{width:1,height:p}),this.dirty=!0;var d=a(s,r);return this.patterns[t]={bin:s,position:d},d},s.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new o(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)},e.exports=s},{\\\"../util/image\\\":263,\\\"./image_atlas\\\":87,\\\"./texture\\\":93,\\\"@mapbox/shelf-pack\\\":5}],89:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};i.prototype.getDash=function(t,e){var r=t.join(\\\",\\\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},i.prototype.addDash=function(t,e){var r=this,i=e?7:0,a=2*i+1;if(this.nextRow+a>this.height)return n.warnOnce(\\\"LineAtlas out of space\\\"),null;for(var o=0,s=0;s<t.length;s++)o+=t[s];for(var l=this.width/o,c=l/2,u=t.length%2==1,f=-i;f<=i;f++)for(var h=r.nextRow+i+f,p=r.width*h,d=u?-t[t.length-1]:0,g=t[0],m=1,v=0;v<this.width;v++){for(;g<v/l;)d=g,g+=t[m],u&&m===t.length-1&&(g+=t[0]),m++;var y=Math.abs(v-d*l),x=Math.abs(v-g*l),b=Math.min(y,x),_=m%2==1,w=void 0;if(e){var k=i?f/i*(c+1):0;if(_){var M=c-Math.abs(k);w=Math.sqrt(b*b+M*M)}else w=c-Math.sqrt(b*b+k*k)}else w=(_?1:-1)*b;r.data[3+4*(p+v)]=Math.max(0,Math.min(255,w+128))}var A={y:(this.nextRow+i+.5)/this.height,height:2*i/this.height,width:o};return this.nextRow+=a,this.dirty=!0,A},i.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.RGBA,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.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))},e.exports=i},{\\\"../util/util\\\":275}],90:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"@mapbox/gl-matrix\\\").mat4,a=t(\\\"../source/source_cache\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../source/pixels_to_tile_units\\\"),l=t(\\\"../util/util\\\"),c=t(\\\"./vertex_array_object\\\"),u=t(\\\"../data/array_types\\\"),f=u.RasterBoundsArray,h=u.PosArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/pos_attributes\\\"),g=t(\\\"../data/program_configuration\\\").ProgramConfiguration,m=t(\\\"../symbol/cross_tile_symbol_index\\\"),v=t(\\\"../shaders\\\"),y=t(\\\"./program\\\"),x=t(\\\"../gl/context\\\"),b=t(\\\"../gl/depth_mode\\\"),_=t(\\\"../gl/stencil_mode\\\"),w=t(\\\"../gl/color_mode\\\"),k=(t(\\\"./texture\\\"),t(\\\"./tile_mask\\\")),M=t(\\\"../style-spec/util/color\\\"),A={symbol:t(\\\"./draw_symbol\\\"),circle:t(\\\"./draw_circle\\\"),heatmap:t(\\\"./draw_heatmap\\\"),line:t(\\\"./draw_line\\\"),fill:t(\\\"./draw_fill\\\"),\\\"fill-extrusion\\\":t(\\\"./draw_fill_extrusion\\\"),hillshade:t(\\\"./draw_hillshade\\\"),raster:t(\\\"./draw_raster\\\"),background:t(\\\"./draw_background\\\"),debug:t(\\\"./draw_debug\\\")},T=function(t,e){this.context=new x(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=a.maxUnderzooming+a.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new g,this.crossTileSymbolIndex=new m};T.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*n.devicePixelRatio,this.height=e*n.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var i=0,a=this.style._order;i<a.length;i+=1){var o=a[i];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},T.prototype.setup=function(){var t=this.context,e=new h;e.emplaceBack(0,0),e.emplaceBack(o,0),e.emplaceBack(0,o),e.emplaceBack(o,o),this.tileExtentBuffer=t.createVertexBuffer(e,d.members),this.tileExtentVAO=new c,this.tileExtentPatternVAO=new c;var r=new h;r.emplaceBack(0,0),r.emplaceBack(o,0),r.emplaceBack(o,o),r.emplaceBack(0,o),r.emplaceBack(0,0),this.debugBuffer=t.createVertexBuffer(r,d.members),this.debugVAO=new c;var n=new f;n.emplaceBack(0,0,0,0),n.emplaceBack(o,0,o,0),n.emplaceBack(0,o,0,o),n.emplaceBack(o,o,o,o),this.rasterBoundsBuffer=t.createVertexBuffer(n,p.members),this.rasterBoundsVAO=new c;var i=new h;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(i,d.members),this.viewportVAO=new c},T.prototype.clearStencil=function(){var t=this.context,e=t.gl;t.setColorMode(w.disabled),t.setDepthMode(b.disabled),t.setStencilMode(new _({func:e.ALWAYS,mask:0},0,255,e.ZERO,e.ZERO,e.ZERO));var r=i.create();i.ortho(r,0,this.width,this.height,0,0,1),i.scale(r,r,[e.drawingBufferWidth,e.drawingBufferHeight,0]);var n=this.useProgram(\\\"clippingMask\\\");e.uniformMatrix4fv(n.uniforms.u_matrix,!1,r),this.viewportVAO.bind(t,n,this.viewportBuffer,[]),e.drawArrays(e.TRIANGLE_STRIP,0,4)},T.prototype._renderTileClippingMasks=function(t){var e=this,r=this.context,n=r.gl;r.setColorMode(w.disabled),r.setDepthMode(b.disabled);var i=1;this._tileClippingMaskIDs={};for(var a=0,o=t;a<o.length;a+=1){var s=o[a],l=e._tileClippingMaskIDs[s.key]=i++;r.setStencilMode(new _({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE));var c=e.useProgram(\\\"clippingMask\\\");n.uniformMatrix4fv(c.uniforms.u_matrix,!1,s.posMatrix),e.tileExtentVAO.bind(e.context,c,e.tileExtentBuffer,[]),n.drawArrays(n.TRIANGLE_STRIP,0,e.tileExtentBuffer.length)}},T.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new _({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},T.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new w([t.CONSTANT_COLOR,t.ONE],new M(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\\\"opaque\\\"===this.renderPass?w.unblended:w.alphaBlended},T.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new b(r||this.context.gl.LEQUAL,e,[i,n])},T.prototype.render=function(t,e){var r=this;for(var i in this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(n.now()),t.sourceCaches){var a=r.style.sourceCaches[i];a.used&&a.prepare(r.context)}var o=this.style._order,s=l.filterObject(this.style.sourceCaches,function(t){return\\\"raster\\\"===t.getSource().type||\\\"raster-dem\\\"===t.getSource().type});for(var c in s)!function(t){var e=s[c],n=e.getVisibleCoordinates().map(function(t){return e.getTile(t)});k(n,r.context)}();this.renderPass=\\\"offscreen\\\";var u,f=[];this.depthRboNeedsClear=!0;for(var h=0;h<o.length;h++){var p=r.style._layers[o[h]];p.hasOffscreenPass()&&!p.isHidden(r.transform.zoom)&&(p.source!==(u&&u.id)&&(f=[],(u=r.style.sourceCaches[p.source])&&(f=u.getVisibleCoordinates()).reverse()),f.length&&r.renderLayer(r,u,p,f))}this.context.bindFramebuffer.set(null),this.context.clear({color:e.showOverdrawInspector?M.black:M.transparent,depth:1}),this._showOverdrawInspector=e.showOverdrawInspector,this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\\\"opaque\\\";var d,g=[];for(this.currentLayer=o.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var m=r.style._layers[o[r.currentLayer]];m.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[m.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,m,g)}this.renderPass=\\\"translucent\\\";var v,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<o.length;this.currentLayer++){var x=r.style._layers[o[r.currentLayer]];x.source!==(v&&v.id)&&(y=[],(v=r.style.sourceCaches[x.source])&&(r.clearStencil(),y=v.getVisibleCoordinates(),v.getSource().isTileClipped&&r._renderTileClippingMasks(y)),y.reverse()),r.renderLayer(r,v,x,y)}if(this.options.showTileBoundaries){var b=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];b&&A.debug(this,b,b.getVisibleCoordinates())}},T.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},T.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\\\"background\\\"===r.type||n.length)&&(this.id=r.id,A[r.type](t,e,r,n))},T.prototype.translatePosMatrix=function(t,e,r,n,a){if(!r[0]&&!r[1])return t;var o=a?\\\"map\\\"===n?this.transform.angle:0:\\\"viewport\\\"===n?-this.transform.angle:0;if(o){var l=Math.sin(o),c=Math.cos(o);r=[r[0]*c-r[1]*l,r[0]*l+r[1]*c]}var u=[a?r[0]:s(e,r[0],this.transform.zoom),a?r[1]:s(e,r[1],this.transform.zoom),0],f=new Float32Array(16);return i.translate(f,t,u),f},T.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},T.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\\\"\\\"+t+(e.cacheKey||\\\"\\\")+(this._showOverdrawInspector?\\\"/overdraw\\\":\\\"\\\");return this.cache[r]||(this.cache[r]=new y(this.context,v[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../data/program_configuration\\\":58,\\\"../data/raster_bounds_attributes\\\":59,\\\"../gl/color_mode\\\":65,\\\"../gl/context\\\":66,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../shaders\\\":97,\\\"../source/pixels_to_tile_units\\\":104,\\\"../source/source_cache\\\":111,\\\"../style-spec/util/color\\\":153,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"./draw_background\\\":74,\\\"./draw_circle\\\":75,\\\"./draw_debug\\\":77,\\\"./draw_fill\\\":78,\\\"./draw_fill_extrusion\\\":79,\\\"./draw_heatmap\\\":80,\\\"./draw_hillshade\\\":81,\\\"./draw_line\\\":82,\\\"./draw_raster\\\":83,\\\"./draw_symbol\\\":84,\\\"./program\\\":92,\\\"./texture\\\":93,\\\"./tile_mask\\\":94,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],91:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,c=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,c]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{\\\"../source/pixels_to_tile_units\\\":104}],92:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../shaders\\\"),a=(t(\\\"../data/program_configuration\\\").ProgramConfiguration,t(\\\"./vertex_array_object\\\")),o=(t(\\\"../gl/context\\\"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat(\\\"#define DEVICE_PIXEL_RATIO \\\"+n.devicePixelRatio.toFixed(1));a&&l.push(\\\"#define OVERDRAW_INSPECTOR;\\\");var c=l.concat(i.prelude.fragmentSource,e.fragmentSource).join(\\\"\\\\n\\\"),u=l.concat(i.prelude.vertexSource,e.vertexSource).join(\\\"\\\\n\\\"),f=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);var h=s.createShader(s.VERTEX_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);for(var p=r.layoutAttributes||[],d=0;d<p.length;d++)s.bindAttribLocation(o.program,d,p[d].name);s.linkProgram(this.program),this.numAttributes=s.getProgramParameter(this.program,s.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var g=0;g<this.numAttributes;g++){var m=s.getActiveAttrib(o.program,g);m&&(o.attributes[m.name]=s.getAttribLocation(o.program,m.name))}for(var v=s.getProgramParameter(this.program,s.ACTIVE_UNIFORMS),y=0;y<v;y++){var x=s.getActiveUniform(o.program,y);x&&(o.uniforms[x.name]=s.getUniformLocation(o.program,x.name))}});o.prototype.draw=function(t,e,r,n,i,o,s,l,c){for(var u,f=t.gl,h=(u={},u[f.LINES]=2,u[f.TRIANGLES]=3,u)[e],p=0,d=o.get();p<d.length;p+=1){var g=d[p],m=g.vaos||(g.vaos={});(m[r]||(m[r]=new a)).bind(t,this,n,s?s.getPaintVertexBuffers():[],i,g.vertexOffset,l,c),f.drawElements(e,g.primitiveLength*h,f.UNSIGNED_SHORT,g.primitiveOffset*h*2)}},e.exports=o},{\\\"../data/program_configuration\\\":58,\\\"../gl/context\\\":66,\\\"../shaders\\\":97,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95}],93:[function(t,e,r){var n=t(\\\"../util/window\\\"),i=n.HTMLImageElement,a=n.HTMLCanvasElement,o=n.HTMLVideoElement,s=n.ImageData,l=function(t,e,r,n){this.context=t;var i=e.width,a=e.height;this.size=[i,a],this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};l.prototype.update=function(t,e){var r=t.width,n=t.height;this.size=[r,n];var l=this.context,c=l.gl;c.bindTexture(c.TEXTURE_2D,this.texture),l.pixelStoreUnpack.set(1),this.format===c.RGBA&&!1!==e&&l.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof i||t instanceof a||t instanceof o||t instanceof s?c.texImage2D(c.TEXTURE_2D,0,this.format,this.format,c.UNSIGNED_BYTE,t):c.texImage2D(c.TEXTURE_2D,0,this.format,r,n,0,this.format,c.UNSIGNED_BYTE,t.data)},l.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),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)},l.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null},e.exports=l},{\\\"../util/window\\\":254}],94:[function(t,e,r){function n(t,e,r,i,a){for(var s=0;s<r.length;s++){var l=r[s];if(i.isLessThan(l.tileID))break;if(e.key===l.tileID.key)return;if(l.tileID.isChildOf(e)){for(var c=e.children(1/0),u=0;u<c.length;u++)n(t,c[u],r.slice(s),i,a);return}}var f=e.overscaledZ-t.overscaledZ,h=new o(f,e.canonical.x-(t.canonical.x<<f),e.canonical.y-(t.canonical.y<<f));a[h.key]=a[h.key]||h}var i=t(\\\"../source/tile_id\\\"),a=i.OverscaledTileID,o=i.CanonicalTileID;e.exports=function(t,e){for(var r=t.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<r.length;i++){var o={},s=r[i],l=r.slice(i+1);n(s.tileID.wrapped(),s.tileID,l,new a(0,s.tileID.wrap+1,0,0,0),o),s.setMask(o,e)}}},{\\\"../source/tile_id\\\":114}],95:[function(t,e,r){var n=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};n.prototype.bind=function(t,e,r,n,i,a,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);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},n.prototype.freshBind=function(t,e,r,n,i,a,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=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(u,t);a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},n.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)},e.exports=n},{}],96:[function(t,e,r){var n=t(\\\"../util/util\\\");r.packUint8ToFloat=function(t,e){return 256*(t=n.clamp(Math.floor(t),0,255))+(e=n.clamp(Math.floor(e),0,255))}},{\\\"../util/util\\\":275}],97:[function(t,e,r){var n={prelude:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\\n// Unpack a pair of values that have been packed into a single float.\\\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\\\n// packed like so:\\\\n// packedValue = floor(input[0]) * 256 + input[1],\\\\nvec2 unpack_float(const float packedValue) {\\\\n    int packedIntValue = int(packedValue);\\\\n    int v0 = packedIntValue / 256;\\\\n    return vec2(v0, packedIntValue - v0 * 256);\\\\n}\\\\n\\\\nvec2 unpack_opacity(const float packedOpacity) {\\\\n    int intOpacity = int(packedOpacity) / 2;\\\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\\\n}\\\\n\\\\n// To minimize the number of attributes needed, we encode a 4-component\\\\n// color into a pair of floats (i.e. a vec2) as follows:\\\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\\\nvec4 decode_color(const vec2 encodedColor) {\\\\n    return vec4(\\\\n        unpack_float(encodedColor[0]) / 255.0,\\\\n        unpack_float(encodedColor[1]) / 255.0\\\\n    );\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\\\n    return mix(packedValue[0], packedValue[1], t);\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\\\n    return mix(minColor, maxColor, t);\\\\n}\\\\n\\\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\\\n// vec2 offset = mod(pixel_coord, size)\\\\n//\\\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\\\n//\\\\n// The pixel_coord is passed in as two 16 bit values:\\\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n//\\\\n// The offset is calculated in a series of steps that should preserve this precision:\\\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\\\n\\\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\\\n}\\\\n\\\"},background:{fragmentSource:\\\"uniform vec4 u_color;\\\\nuniform float u_opacity;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},backgroundPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\nuniform float u_opacity;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},circle:{fragmentSource:\\\"#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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    vec2 extrude = v_data.xy;\\\\n    float extrude_length = length(extrude);\\\\n\\\\n    lowp float antialiasblur = v_data.z;\\\\n    float antialiased_blur = -max(blur, antialiasblur);\\\\n\\\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\\\n\\\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\\\n        antialiased_blur,\\\\n        0.0,\\\\n        extrude_length - radius / (radius + stroke_width)\\\\n    );\\\\n\\\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform bool u_scale_with_map;\\\\nuniform bool u_pitch_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform highp float u_camera_to_center_distance;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec2 circle_center = floor(a_pos * 0.5);\\\\n    if (u_pitch_with_map) {\\\\n        vec2 corner_position = circle_center;\\\\n        if (u_scale_with_map) {\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\\\n        } else {\\\\n            // Pitching the circle with the map effectively scales it with the map\\\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\\\n            // whole circle based on the pitch scaling effect at its central point\\\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\\\n        }\\\\n\\\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\\\n    } else {\\\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\\\n\\\\n        if (u_scale_with_map) {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\\\n        } else {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\\\n        }\\\\n    }\\\\n\\\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\\\n    // to keep the blur at roughly 1px, the two are inversely related.\\\\n    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\\\n\\\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\\\n}\\\\n\\\"},clippingMask:{fragmentSource:\\\"void main() {\\\\n    gl_FragColor = vec4(1.0);\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},heatmap:{fragmentSource:\\\"#pragma mapbox: define highp float weight\\\\n\\\\nuniform highp float u_intensity;\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp float weight\\\\n\\\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\\\n\\\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#pragma mapbox: define highp float weight\\\\n#pragma mapbox: define mediump float radius\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform float u_extrude_scale;\\\\nuniform float u_opacity;\\\\nuniform float u_intensity;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Effective \\\\\\\"0\\\\\\\" in the kernel density texture to adjust the kernel size to;\\\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\\\n// for typical heatmap cases (assuming clustered source)\\\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main(void) {\\\\n    #pragma mapbox: initialize highp float weight\\\\n    #pragma mapbox: initialize mediump float radius\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\\\n    // it to produce the vertices of a square mesh framing the point feature\\\\n    // we're adding to the kernel density texture.  We'll also pass it as\\\\n    // a varying, so that the fragment shader can determine the distance of\\\\n    // each fragment from the point feature.\\\\n    // Before we do so, we need to scale it up sufficiently so that the\\\\n    // kernel falls effectively to zero at the edge of the mesh.\\\\n    // That is, we want to know S such that\\\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\\\n    // Which solves to:\\\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\\\n\\\\n    // Pass the varying in units of radius\\\\n    v_extrude = S * unscaled_extrude;\\\\n\\\\n    // Scale by radius and the zoom-based scale factor to produce actual\\\\n    // mesh position\\\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\\\n\\\\n    gl_Position = u_matrix * pos;\\\\n}\\\\n\\\"},heatmapTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform sampler2D u_color_ramp;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    float t = texture2D(u_image, v_pos).r;\\\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\\\n    gl_FragColor = color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},collisionBox:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        gl_FragColor *= .1;\\\\n    }\\\\n}\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n}\\\\n\\\"},collisionCircle:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        color *= .2;\\\\n    }\\\\n\\\\n    float extrude_scale_length = length(v_extrude_scale);\\\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\\\n    float stroke_width = 15.0 * extrude_scale_length;\\\\n    float radius = v_radius * extrude_scale_length;\\\\n\\\\n    float distance_to_edge = abs(extrude_length - radius);\\\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\\\n\\\\n    gl_FragColor = opacity_t * color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n\\\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\\\n\\\\n    v_extrude = a_extrude * padding_factor;\\\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\\\n}\\\\n\\\"},debug:{fragmentSource:\\\"uniform highp vec4 u_color;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fill:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_FragColor = color * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fillOutline:{fragmentSource:\\\"#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n    gl_FragColor = outline_color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillOutlinePattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    // find distance to outline for alpha interpolation\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},fillExtrusion:{fragmentSource:\\\"varying vec4 v_color;\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    gl_FragColor = v_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec4 v_color;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\\\n\\\\n    // Relative luminance (how dark/bright is the surface color?)\\\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\\\n\\\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\\\n\\\\n    // Add slight ambient lighting so no extrusions are totally black\\\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\\\n    color += ambientlight;\\\\n\\\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\\\n\\\\n    // Adjust directional so that\\\\n    // the range of values for highlight/shading is narrower\\\\n    // with lower light intensity\\\\n    // and with lighter/brighter surface colors\\\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\\\n\\\\n    // Add gradient along z axis of side surfaces\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\\\n    // with lower bounds adjusted to hue of light\\\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\\\n}\\\\n\\\"},fillExtrusionPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\\\n\\\\n    gl_FragColor = mixedColor * v_lighting;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\nuniform float u_height_factor;\\\\n\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\nvarying float v_directional;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n    float edgedistance = a_normal_ed.w;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n    float z = t > 0.0 ? height : base;\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\\\n\\\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\\\n        ? a_pos // extrusion top\\\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\\\n\\\\n    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, pos);\\\\n    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, pos);\\\\n\\\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\\\n\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\\\n}\\\\n\\\"},extrusionTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},hillshadePrepare:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#endif\\\\n\\\\nuniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\nuniform vec2 u_dimension;\\\\nuniform float u_zoom;\\\\n\\\\nfloat getElevation(vec2 coord, float bias) {\\\\n    // Convert encoded elevation value to meters\\\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\\\n}\\\\n\\\\nvoid main() {\\\\n    vec2 epsilon = 1.0 / u_dimension;\\\\n\\\\n    // queried pixels:\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | a | b | c |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | d | e | f |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | g | h | i |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n\\\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\\\n    float e = getElevation(v_pos, 0.0);\\\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\\\n\\\\n    // here we divide the x and y slopes by 8 * pixel size\\\\n    // where pixel size (aka meters/pixel) is:\\\\n    // circumference of the world / (pixels per tile * number of tiles)\\\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\\\n    // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\\\\n    // maxzoom of the tile source. here we use a=0.3 which works out to the\\\\n    // expression below. see nickidlugash's awesome breakdown for more info\\\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\\\n\\\\n    vec2 deriv = vec2(\\\\n        (c + f + f + i) - (a + d + d + g),\\\\n        (g + h + h + i) - (a + b + b + c)\\\\n    ) /  pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\\\\n\\\\n    gl_FragColor = clamp(vec4(\\\\n        deriv.x / 2.0 + 0.5,\\\\n        deriv.y / 2.0 + 0.5,\\\\n        1.0,\\\\n        1.0), 0.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\\\n}\\\\n\\\"},hillshade:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\n\\\\nuniform vec2 u_latrange;\\\\nuniform vec2 u_light;\\\\nuniform vec4 u_shadow;\\\\nuniform vec4 u_highlight;\\\\nuniform vec4 u_accent;\\\\n\\\\n#define PI 3.141592653589793\\\\n\\\\nvoid main() {\\\\n    vec4 pixel = texture2D(u_image, v_pos);\\\\n\\\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\\\n\\\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\\\n    // to account for mercator projection distortion. see #4807 for details\\\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\\\n\\\\n    float intensity = u_light.x;\\\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\\\n    float azimuth = u_light.y + PI;\\\\n\\\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\\\n    // the exponential interpolation function in the style spec:\\\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\\\n    // so that higher intensity values create more opaque hillshading.\\\\n    float base = 1.875 - intensity * 1.75;\\\\n    float maxValue = 0.5 * PI;\\\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\\\n\\\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\\\n    float accent = cos(scaledSlope);\\\\n    // We multiply both the accent and shade color by a clamped intensity value\\\\n    // so that intensities >= 0.5 do not additionally affect the color values\\\\n    // while intensity values < 0.5 make the overall color more transparent.\\\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = a_texture_pos / 8192.0;\\\\n}\\\\n\\\"},line:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_normal;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},linePattern:{fragmentSource:\\\"uniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_fade;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\\\n    float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\\\n    float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\\\n\\\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\\\n\\\\n    gl_FragColor = color * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_linesofar = a_linesofar;\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},lineSDF:{fragmentSource:\\\"\\\\nuniform sampler2D u_image;\\\\nuniform float u_sdfgamma;\\\\nuniform float u_mix;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\\\n    alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_patternscale_a;\\\\nuniform float u_tex_y_a;\\\\nuniform vec2 u_patternscale_b;\\\\nuniform float u_tex_y_b;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist =outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},raster:{fragmentSource:\\\"uniform float u_fade_t;\\\\nuniform float u_opacity;\\\\nuniform sampler2D u_image0;\\\\nuniform sampler2D u_image1;\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nuniform float u_brightness_low;\\\\nuniform float u_brightness_high;\\\\n\\\\nuniform float u_saturation_factor;\\\\nuniform float u_contrast_factor;\\\\nuniform vec3 u_spin_weights;\\\\n\\\\nvoid main() {\\\\n\\\\n    // read and cross-fade colors from the main and parent tiles\\\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\\\n    if (color0.a > 0.0) {\\\\n        color0.rgb = color0.rgb / color0.a;\\\\n    }\\\\n    if (color1.a > 0.0) {\\\\n        color1.rgb = color1.rgb / color1.a;\\\\n    }\\\\n    vec4 color = mix(color0, color1, u_fade_t);\\\\n    color.a *= u_opacity;\\\\n    vec3 rgb = color.rgb;\\\\n\\\\n    // spin\\\\n    rgb = vec3(\\\\n        dot(rgb, u_spin_weights.xyz),\\\\n        dot(rgb, u_spin_weights.zxy),\\\\n        dot(rgb, u_spin_weights.yzx));\\\\n\\\\n    // saturation\\\\n    float average = (color.r + color.g + color.b) / 3.0;\\\\n    rgb += (average - rgb) * u_saturation_factor;\\\\n\\\\n    // contrast\\\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\\\n\\\\n    // brightness\\\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\\\n\\\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_tl_parent;\\\\nuniform float u_scale_parent;\\\\nuniform float u_buffer_scale;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    // We are using Int16 for texture position coordinates to give us enough precision for\\\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\\\n    // so math for modifying either is consistent.\\\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\\\n}\\\\n\\\"},symbolIcon:{fragmentSource:\\\"uniform sampler2D u_texture;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    lowp float alpha = opacity * v_fade_opacity;\\\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform float u_fade_change;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n\\\\n    float size;\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // See comments in symbol_sdf.vertex\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // See comments in symbol_sdf.vertex\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n}\\\\n\\\"},symbolSDF:{fragmentSource:\\\"#define SDF_PX 8.0\\\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\\\n\\\\nuniform bool u_is_halo;\\\\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\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform highp float u_gamma_scale;\\\\nuniform bool u_is_text;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 tex = v_data0.xy;\\\\n    float gamma_scale = v_data1.x;\\\\n    float size = v_data1.y;\\\\n    float fade_opacity = v_data1[2];\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    lowp vec4 color = fill_color;\\\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\\\n    if (u_is_halo) {\\\\n        color = halo_color;\\\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\\\n    }\\\\n\\\\n    lowp float dist = texture2D(u_texture, tex).a;\\\\n    highp float gamma_scaled = gamma * gamma_scale;\\\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\n// contents of a_size vary based on the type of property value\\\\n// used for {text,icon}-size.\\\\n// For constants, a_size is disabled.\\\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\\\n// For composite functions:\\\\n// [ text-size(lowerZoomStop, feature),\\\\n//   text-size(upperZoomStop, feature) ]\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\n\\\\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\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform float u_fade_change;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n    float size;\\\\n\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // If the label is pitched with the map, layout is done in pitched space,\\\\n    // which makes labels in the distance smaller relative to viewport space.\\\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\\\n    // which makes labels in the distance larger relative to the features around\\\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\\\n        // space, project it, and measure its angle in projected space.\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n    float gamma_scale = gl_Position.w;\\\\n\\\\n    vec2 tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n\\\\n    v_data0 = vec2(tex.x, tex.y);\\\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\\\n}\\\\n\\\"}},i=/#pragma mapbox: ([\\\\w]+) ([\\\\w]+) ([\\\\w]+) ([\\\\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifdef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o=\\\"float\\\"===i?\\\"vec2\\\":\\\"vec4\\\";return r[a]?\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t(\\\"./image_source\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(\\\"error\\\",new Error(\\\"Canvas dimensions cannot be less than or equal to zero.\\\")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,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 i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];\\\"loaded\\\"!==l.state&&(l.state=\\\"loaded\\\",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"canvas\\\",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.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},e}(n);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/window\\\":254,\\\"./image_source\\\":102}],99:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/window\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../util/ajax\\\").ResourceType,l=t(\\\"../util/browser\\\"),c=function(t){function e(e,r,n,a){t.call(this),this.id=e,this.type=\\\"geojson\\\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this.dispatcher=n,this.setEventedParent(a),this._data=r.data,this._options=i.extend({},r),this._collectResourceTiming=r.collectResourceTiming,this._resourceTiming=[],void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type);var s=o/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*s,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*s,extent:o,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?Math.min(r.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:o,radius:(r.clusterRadius||50)*s,log:!1}},r.workerOptions)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(e){if(e)t.fire(\\\"error\\\",{error:e});else{var r={dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(\\\"data\\\",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(t){if(t)return e.fire(\\\"error\\\",{error:t});var r={dataType:\\\"source\\\",sourceDataType:\\\"content\\\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(\\\"data\\\",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;\\\"string\\\"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+\\\".loadData\\\",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||\\\"expired\\\"===t.state?\\\"loadTile\\\":\\\"reloadTile\\\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\\\"reloadTile\\\"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\\\"removeSource\\\",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{\\\"../data/extent\\\":53,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/performance\\\"),o=t(\\\"geojson-rewind\\\"),s=t(\\\"./geojson_wrapper\\\"),l=t(\\\"vt-pbf\\\"),c=t(\\\"supercluster\\\"),u=t(\\\"geojson-vt\\\"),f=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if(\\\"object\\\"!=typeof i)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?c(t.superclusterOptions).load(i.features):u(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,e);else{if(\\\"string\\\"!=typeof t.data)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t(\\\"./vector_tile_worker_source\\\"));e.exports=f},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"./geojson_wrapper\\\":101,\\\"./vector_tile_worker_source\\\":116,\\\"geojson-rewind\\\":15,\\\"geojson-vt\\\":19,supercluster:32,\\\"vt-pbf\\\":34}],101:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.prototype.toGeoJSON,a=t(\\\"../data/extent\\\"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,\\\"id\\\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e<r.length;e+=1){var i=r[e];t.push([new n(i[0],i[1])])}return t}for(var a=[],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 f=u[c];l.push(new n(f[0],f[1]))}a.push(l)}return a},o.prototype.toGeoJSON=function(t,e,r){return i.call(this,t,e,r)};var s=function(t){this.layers={_geojsonTileLayer:this},this.name=\\\"_geojsonTileLayer\\\",this.extent=a,this.length=t.length,this._features=t};s.prototype.feature=function(t){return new o(this._features[t])},e.exports=s},{\\\"../data/extent\\\":53,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],102:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"./tile_id\\\").CanonicalTileID,a=t(\\\"../geo/lng_lat\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/ajax\\\"),c=t(\\\"../util/browser\\\"),u=t(\\\"../data/extent\\\"),f=t(\\\"../data/array_types\\\").RasterBoundsArray,h=t(\\\"../data/raster_bounds_attributes\\\"),p=t(\\\"../render/vertex_array_object\\\"),d=t(\\\"../render/texture\\\"),g=function(t){function e(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\\\"image\\\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this.url=this.options.url,l.getImage(this.map._transformRequest(this.url,l.ResourceType.Image),function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.image=c.getImageData(r),t._finishLoading())})},e.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}))},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setCoordinates=function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(a.convert(t)).zoomTo(0)}),s=this.centerCoord=n.getCoordinatesCenter(r);s.column=Math.floor(s.column),s.row=Math.floor(s.row),this.tileID=new i(s.zoom,s.column,s.row),this.minzoom=this.maxzoom=s.zoom;var l=r.map(function(t){var e=t.zoomTo(s.zoom);return new o(Math.round((e.column-s.column)*u),Math.round((e.row-s.row)*u))});return this._boundsArray=new f,this._boundsArray.emplaceBack(l[0].x,l[0].y,0,0),this._boundsArray.emplaceBack(l[1].x,l[1].y,u,0),this._boundsArray.emplaceBack(l[3].x,l[3].y,0,u),this._boundsArray.emplaceBack(l[2].x,l[2].y,u,u),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}),this},e.prototype.prepare=function(){var t=this;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,h.members)),this.boundsVAO||(this.boundsVAO=new p),this.texture||(this.texture=new d(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.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))},e.prototype.serialize=function(){return{type:\\\"image\\\",url:this.options.url,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return!1},e}(s);e.exports=g},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/raster_bounds_attributes\\\":59,\\\"../geo/lng_lat\\\":62,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],103:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/mapbox\\\").normalizeSourceURL;e.exports=function(t,e,r){var s=function(t,e){if(t)return r(t);if(e){var i=n.pick(e,[\\\"tiles\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"attribution\\\",\\\"mapbox_logo\\\",\\\"bounds\\\"]);e.vector_layers&&(i.vectorLayers=e.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),r(null,i)}};t.url?i.getJSON(e(o(t.url),i.ResourceType.Source),s):a.frame(function(){return s(null,t)})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275}],104:[function(t,e,r){var n=t(\\\"../data/extent\\\");e.exports=function(t,e,r){return e*(n/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}},{\\\"../data/extent\\\":53}],105:[function(t,e,r){function n(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}r.rendered=function(t,e,r,i,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var c=[],u=0,f=l;u<f.length;u+=1){var h=f[u];c.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,h.queryGeometry,h.scale,i,o,t.id,s)})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];f[g.featureIndex]||(f[g.featureIndex]=!0,h.push(g.feature))}}return e}(c)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}},{}],106:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/util\\\"),a=(t(\\\"../util/evented\\\"),t(\\\"../util/mapbox\\\").normalizeTileURL),o=t(\\\"../util/browser\\\"),s=t(\\\"./tile_id\\\").OverscaledTileID,l=function(t){function e(e,r,n,a){t.call(this,e,r,n,a),this.type=\\\"raster-dem\\\",this.maxzoom=22,this._options=i.extend({},r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.serialize=function(){return{type:\\\"raster-dem\\\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds}},e.prototype.loadTile=function(t,e){var r=a(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._transformRequest(r,n.ResourceType.Tile),function(r,n){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(r)t.state=\\\"errored\\\",e(r);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=o.getImageData(n),a={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:i};t.workerID&&\\\"expired\\\"!==t.state||(t.workerID=this.dispatcher.send(\\\"loadDEMTile\\\",a,function(r,n){r&&(t.state=\\\"errored\\\",e(r)),n&&(t.dem=n,t.needsHillshadePrepare=!0,t.state=\\\"loaded\\\",e(null))}.bind(this)))}}.bind(this)),t.neighboringTiles=this._getNeighboringTiles(t.tileID)},e.prototype._getNeighboringTiles=function(t){var e=t.canonical,r=Math.pow(2,e.z),n=(e.x-1+r)%r,i=0===e.x?t.wrap-1:t.wrap,a=(e.x+1+r)%r,o=e.x+1===r?t.wrap+1:t.wrap,l={};return l[new s(t.overscaledZ,i,e.z,n,e.y).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y).key]={backfilled:!1},e.y>0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+1<r&&(l[new s(t.overscaledZ,i,e.z,n,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y+1).key]={backfilled:!1}),l},e.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\\\",this.dispatcher.send(\\\"removeDEMTile\\\",{uid:t.uid,source:this.id},void 0,t.workerID)},e}(t(\\\"./raster_tile_source\\\"));e.exports=l},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./raster_tile_source\\\":108,\\\"./tile_id\\\":114}],107:[function(t,e,r){var n=t(\\\"../data/dem_data\\\").DEMData,i=function(){this.loading={},this.loaded={}};i.prototype.loadTile=function(t,e){var r=t.source,i=t.uid;this.loading[r]||(this.loading[r]={});var a=new n(i);this.loading[r][i]=a,a.loadFromImage(t.rawImageData),delete this.loading[r][i],this.loaded[r]=this.loaded[r]||{},this.loaded[r][i]=a,e(null,a)},i.prototype.removeTile=function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},e.exports=i},{\\\"../data/dem_data\\\":52}],108:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./load_tilejson\\\"),s=t(\\\"../util/mapbox\\\").normalizeTileURL,l=t(\\\"./tile_bounds\\\"),c=t(\\\"../render/texture\\\"),u=function(t){function e(e,r,i,a){t.call(this),this.id=e,this.dispatcher=i,this.setEventedParent(a),this.type=\\\"raster\\\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\\\"xyz\\\",this.tileSize=512,this._loaded=!1,this._options=n.extend({},r),n.extend(this,n.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"]))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),o(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new l(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return n.extend({},this._options)},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.loadTile=function(t,e){var r=this,n=s(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=i.getImage(this.map._transformRequest(n,i.ResourceType.Tile),function(n,i){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(n)t.state=\\\"errored\\\",e(n);else if(i){r.map._refreshExpiredTiles&&t.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=r.map.painter.context,o=a.gl;t.texture=r.map.painter.getTileTexture(i.width),t.texture?(t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,i)):(t.texture=new c(a,i,o.RGBA),t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),o.generateMipmap(o.TEXTURE_2D),t.state=\\\"loaded\\\",e(null)}})},e.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},e.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},e.prototype.hasTransition=function(){return!1},e}(a);e.exports=u},{\\\"../render/texture\\\":93,\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],109:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/window\\\"),o=!1,s=null;e.exports.evented=new i,e.exports.registerForPluginAvailability=function(t){return s?t({pluginBlobURL:s,errorCallback:e.exports.errorCallback}):e.exports.evented.once(\\\"pluginAvailable\\\",t),t},e.exports.createBlobURL=function(t){return a.URL.createObjectURL(new a.Blob([t.data],{type:\\\"text/javascript\\\"}))},e.exports.clearRTLTextPlugin=function(){o=!1,s=null},e.exports.setRTLTextPlugin=function(t,r){if(o)throw new Error(\\\"setRTLTextPlugin cannot be called multiple times.\\\");o=!0,e.exports.errorCallback=r,n.getArrayBuffer({url:t},function(t,n){t?r(t):n&&(s=e.exports.createBlobURL(n),e.exports.evented.fire(\\\"pluginAvailable\\\",{pluginBlobURL:s,errorCallback:r}))})},e.exports.applyArabicShaping=null,e.exports.processBidirectionalText=null},{\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/window\\\":254}],110:[function(t,e,r){var n=t(\\\"../util/util\\\"),i={vector:t(\\\"../source/vector_tile_source\\\"),raster:t(\\\"../source/raster_tile_source\\\"),\\\"raster-dem\\\":t(\\\"../source/raster_dem_tile_source\\\"),geojson:t(\\\"../source/geojson_source\\\"),video:t(\\\"../source/video_source\\\"),image:t(\\\"../source/image_source\\\"),canvas:t(\\\"../source/canvas_source\\\")};r.create=function(t,e,r,a){var o=new i[e.type](t,e,r,a);if(o.id!==t)throw new Error(\\\"Expected Source id to be \\\"+t+\\\" instead of \\\"+o.id);return n.bindAll([\\\"load\\\",\\\"abort\\\",\\\"unload\\\",\\\"serialize\\\",\\\"prepare\\\"],o),o},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\\\"../source/canvas_source\\\":98,\\\"../source/geojson_source\\\":99,\\\"../source/image_source\\\":102,\\\"../source/raster_dem_tile_source\\\":106,\\\"../source/raster_tile_source\\\":108,\\\"../source/vector_tile_source\\\":115,\\\"../source/video_source\\\":117,\\\"../util/util\\\":275}],111:[function(t,e,r){function n(t,e){var r=e.zoomTo(t.canonical.z);return new h((r.column-(t.canonical.x+t.wrap*Math.pow(2,t.canonical.z)))*f,(r.row-t.canonical.y)*f)}function i(t){return\\\"raster\\\"===t||\\\"image\\\"===t||\\\"video\\\"===t}var a=t(\\\"./source\\\").create,o=t(\\\"./tile\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/lru_cache\\\"),c=t(\\\"../geo/coordinate\\\"),u=t(\\\"../util/util\\\"),f=t(\\\"../data/extent\\\"),h=(t(\\\"../gl/context\\\"),t(\\\"@mapbox/point-geometry\\\")),p=t(\\\"../util/browser\\\"),d=t(\\\"./tile_id\\\").OverscaledTileID,g=function(t){function e(e,r,n){var i=this;t.call(this),this.id=e,this.dispatcher=n,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=a(e,r,n,this),this._tiles={},this._cache=new l(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},e.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},e.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\\\"loaded\\\"!==e.state&&\\\"errored\\\"!==e.state)return!1}return!0},e.prototype.getSource=function(){return this._source},e.prototype.pause=function(){this._paused=!0},e.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)}},e.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},e.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},e.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},e.prototype.serialize=function(){return this._source.serialize()},e.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},e.prototype.getIds=function(){var t=this;return Object.keys(this._tiles).map(Number).sort(function(e,r){var n=t._tiles[e].tileID,i=t._tiles[r].tileID,a=new h(n.canonical.x,n.canonical.y).rotate(t.transform.angle),o=new h(i.canonical.x,i.canonical.y).rotate(t.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})},e.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},e.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},e.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},e.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._resetCache(),this._tiles)this._reloadTile(t,\\\"reloading\\\")},e.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)))},e.prototype._tileLoaded=function(t,e,r,n){if(n)return t.state=\\\"errored\\\",void(404!==n.status?this._source.fire(\\\"error\\\",{tile:t,error:n}):this.update(this.transform));t.timeAdded=p.now(),\\\"expired\\\"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),\\\"raster-dem\\\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._source.fire(\\\"data\\\",{dataType:\\\"source\\\",tile:t,coord:t.tileID}),this.map&&(this.map.painter.tileExtentVAO.vao=null)},e.prototype._backfillDEM=function(t){function e(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;n<r.length;n++){var i=r[n];if(t.neighboringTiles&&t.neighboringTiles[i]){var a=this.getTileByID(i);e(t,a),e(a,t)}}},e.prototype.getTile=function(t){return this.getTileByID(t.key)},e.prototype.getTileByID=function(t){return this._tiles[t]},e.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},e.prototype._findLoadedChildren=function(t,e,r){var n=this,i=!1;for(var a in n._tiles){var o=n._tiles[a];if(!(r[a]||!o.hasData()||o.tileID.overscaledZ<=t.overscaledZ||o.tileID.overscaledZ>e)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\\\"number\\\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),c=this._updateRetainedTiles(n,o),f={};if(i(this._source.type))for(var h=Object.keys(c),g=0;g<h.length;g++){var m=h[g],v=c[m],y=r._tiles[m];if(y&&(void 0===y.fadeEndTime||y.fadeEndTime>=p.now())){r._findLoadedChildren(v,l,c)&&(c[m]=v);var x=r.findLoadedParent(v,s,f);x&&r._addTile(x.tileID)}}for(a in f)c[a]||(r._coveredTiles[a]=!0);for(a in f)c[a]=f[a];for(var b=u.keysDifference(this._tiles,c),_=0;_<b.length;_++)r._removeTile(b[_])}},e.prototype._updateRetainedTiles=function(t,r){for(var n=this,i={},a={},o=Math.max(r-e.maxOverzooming,this._source.minzoom),s=Math.max(r+e.maxUnderzooming,this._source.minzoom),l=0;l<t.length;l++){var c=t[l],u=n._addTile(c),f=!1;if(u.hasData())i[c.key]=c;else{f=u.wasRequested(),i[c.key]=c;var h=!0;if(r+1>n._source.maxzoom){var p=c.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:h=!1}else{n._findLoadedChildren(c,s,i);for(var g=c.children(n._source.maxzoom),m=0;m<g.length;m++)if(!i[g[m].key]){h=!1;break}}if(!h)for(var v=c.overscaledZ-1;v>=o;--v){var y=c.scaledTo(v);if(a[y.key])break;if(a[y.key]=!0,!(u=n.getTile(y))&&f&&(u=n._addTile(y)),u&&(i[y.key]=y,f=u.wasRequested(),u.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(\\\"dataloading\\\",{tile:e,coord:e.tileID,dataType:\\\"source\\\"}),e):null},e.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))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u<t.length;u++){var h=t[u];i=Math.min(i,h.column),a=Math.min(a,h.row),o=Math.max(o,h.column),s=Math.max(s,h.row)}for(var p=0;p<r.length;p++){var d=this._tiles[r[p]],g=d.tileID,m=[n(g,new c(i,a,l)),n(g,new c(o,s,l))];if(m[0].x<f&&m[0].y<f&&m[1].x>=0&&m[1].y>=0){for(var v=[],y=0;y<t.length;y++)v.push(n(g,t[y]));e.push({tile:d,tileID:g,queryGeometry:[v],scale:Math.pow(2,this.transform.zoom-d.tileID.overscaledZ)})}}return e},e.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},e.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(i(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/context\\\":66,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/lru_cache\\\":266,\\\"../util/util\\\":275,\\\"./source\\\":110,\\\"./tile\\\":112,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],112:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../data/bucket\\\").deserialize,a=(t(\\\"../data/feature_index\\\"),t(\\\"@mapbox/vector-tile\\\")),o=t(\\\"pbf\\\"),s=t(\\\"../util/vectortile_to_geojson\\\"),l=t(\\\"../style-spec/feature_filter\\\"),c=(t(\\\"../symbol/collision_index\\\"),t(\\\"../data/bucket/symbol_bucket\\\")),u=t(\\\"../data/array_types\\\"),f=u.RasterBoundsArray,h=u.CollisionBoxArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/extent\\\"),g=t(\\\"@mapbox/point-geometry\\\"),m=t(\\\"../render/texture\\\"),v=t(\\\"../data/segment\\\").SegmentVector,y=t(\\\"../data/index_array_type\\\").TriangleIndexArray,x=t(\\\"../util/browser\\\"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state=\\\"loading\\\"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<x.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},b.prototype.wasRequested=function(){return\\\"errored\\\"===this.state||\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state},b.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\\\"loaded\\\",t){if(t.rawTileData&&(this.rawTileData=t.rawTileData),this.collisionBoxArray=t.collisionBoxArray,this.featureIndex=t.featureIndex,this.featureIndex.rawTileData=this.rawTileData,this.buckets=i(t.buckets,e.style),r)for(var n in this.buckets){var a=this.buckets[n];a instanceof c&&(a.justReloaded=!0)}t.iconAtlasImage&&(this.iconAtlasImage=t.iconAtlasImage),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new h},b.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.collisionBoxArray=null,this.featureIndex=null,this.state=\\\"unloaded\\\"},b.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\\\"unloaded\\\"},b.prototype.getBucket=function(t){return this.buckets[t.id]},b.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new m(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new m(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},b.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){if(!this.featureIndex||!this.collisionBoxArray)return{};var s=0,l={};for(var u in t){var f=this.getBucket(t[u]);f&&(s=Math.max(s,t[u].queryRadius(f)),f instanceof c&&void 0!==f.bucketInstanceId&&(l[f.bucketInstanceId]=!0))}return this.featureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,bearing:i,params:n,additionalRadius:s,collisionBoxArray:this.collisionBoxArray,sourceID:a,collisionIndex:o,bucketInstanceIds:l},t)},b.prototype.querySourceFeatures=function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new a.VectorTile(new o(this.rawTileData)).layers);var r=e?e.sourceLayer:\\\"\\\",n=this.vtLayers._geojsonTileLayer||this.vtLayers[r];if(n)for(var i=l(e&&e.filter),c={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},u=0;u<n.length;u++){var f=n.feature(u);if(i({zoom:this.tileID.overscaledZ},f)){var h=new s(f,c.z,c.x,c.y);h.tile=c,t.push(h)}}}},b.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},b.prototype.setMask=function(t,e){if(!n.deepEqual(this.mask,t)&&(this.mask=t,this.clearMask(),!n.deepEqual(t,{0:!0}))){var r=new f,i=new y;this.segments=new v,this.segments.prepareSegment(0,r,i);for(var a=Object.keys(t),o=0;o<a.length;o++){var s=t[a[o]],l=d>>s.z,c=new g(s.x*l,s.y*l),u=new g(c.x+l,c.y+l),h=this.segments.prepareSegment(4,r,i);r.emplaceBack(c.x,c.y,c.x,c.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,u.y,u.x,u.y);var m=h.vertexLength;i.emplaceBack(m,m+1,m+2),i.emplaceBack(m+1,m+2,m+3),h.vertexLength+=4,h.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state||\\\"expired\\\"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(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 i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var o=this.expirationTime-e;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\\\"expired\\\"):this.expiredRequestCount=0}},b.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)},e.exports=b},{\\\"../data/array_types\\\":39,\\\"../data/bucket\\\":40,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../data/feature_index\\\":54,\\\"../data/index_array_type\\\":55,\\\"../data/raster_bounds_attributes\\\":59,\\\"../data/segment\\\":60,\\\"../render/texture\\\":93,\\\"../style-spec/feature_filter\\\":148,\\\"../symbol/collision_index\\\":217,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,pbf:30}],113:[function(t,e,r){var n=t(\\\"../geo/lng_lat_bounds\\\"),i=t(\\\"../util/util\\\").clamp,a=function(t,e,r){this.bounds=n.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};a.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]},a.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},a.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},a.prototype.latY=function(t,e){var r=i(Math.sin(Math.PI/180*t),-.9999,.9999),n=Math.pow(2,e)/(2*Math.PI);return Math.pow(2,e-1)+.5*Math.log((1+r)/(1-r))*-n},e.exports=a},{\\\"../geo/lng_lat_bounds\\\":63,\\\"../util/util\\\":275}],114:[function(t,e,r){function n(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}var i=t(\\\"@mapbox/whoots-js\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"../geo/coordinate\\\"),s=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=n(0,t,e,r)};s.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},s.prototype.url=function(t,e){var r=i.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\\\"\\\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(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}\\\",n).replace(\\\"{bbox-epsg-3857}\\\",r)};var l=function(t,e){this.wrap=t,this.canonical=e,this.key=n(t,e.z,e.x,e.y)},c=function(t,e,r,i,a){this.overscaledZ=t,this.wrap=e,this.canonical=new s(r,+i,+a),this.key=n(e,t,i,a)};c.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new c(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new c(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},c.prototype.isChildOf=function(t){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},c.prototype.children=function(t){if(this.overscaledZ>=t)return[new c(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 c(e,this.wrap,e,r,n),new c(e,this.wrap,e,r+1,n),new c(e,this.wrap,e,r,n+1),new c(e,this.wrap,e,r+1,n+1)]},c.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))},c.prototype.wrapped=function(){return new c(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},c.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},c.prototype.toUnwrapped=function(){return new l(this.wrap,this.canonical)},c.prototype.toString=function(){return this.overscaledZ+\\\"/\\\"+this.canonical.x+\\\"/\\\"+this.canonical.y},c.prototype.toCoordinate=function(){return new o(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},a(\\\"CanonicalTileID\\\",s),a(\\\"OverscaledTileID\\\",c,{omit:[\\\"posMatrix\\\"]}),e.exports={CanonicalTileID:s,OverscaledTileID:c,UnwrappedTileID:l}},{\\\"../geo/coordinate\\\":61,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/whoots-js\\\":12}],115:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"./load_tilejson\\\"),o=t(\\\"../util/mapbox\\\").normalizeTileURL,s=t(\\\"./tile_bounds\\\"),l=t(\\\"../util/ajax\\\").ResourceType,c=t(\\\"../util/browser\\\"),u=function(t){function e(e,r,n,a){if(t.call(this),this.id=e,this.dispatcher=n,this.type=\\\"vector\\\",this.minzoom=0,this.maxzoom=22,this.scheme=\\\"xyz\\\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,i.extend(this,i.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),this._options=i.extend({type:\\\"vector\\\"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error(\\\"vector tile sources must have a tileSize of 512\\\");this.setEventedParent(a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),a(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(i.extend(t,r),r.bounds&&(t.tileBounds=new s(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return i.extend({},this._options)},e.prototype.loadTile=function(t,e){function r(r,n){return t.aborted?e(null):r?e(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var n=t.tileID.overscaleFactor(),i=o(t.tileID.canonical.url(this.tiles,this.scheme),this.url),a={request:this.map._transformRequest(i,l.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*n,type:this.type,source:this.id,pixelRatio:c.devicePixelRatio,overscaling:n,showCollisionBoxes:this.map.showCollisionBoxes};a.request.collectResourceTiming=this._collectResourceTiming,void 0===t.workerID||\\\"expired\\\"===t.state?t.workerID=this.dispatcher.send(\\\"loadTile\\\",a,r.bind(this)):\\\"loading\\\"===t.state?t.reloadCallback=e:this.dispatcher.send(\\\"reloadTile\\\",a,r.bind(this),t.workerID)},e.prototype.abortTile=function(t){this.dispatcher.send(\\\"abortTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=u},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],116:[function(t,e,r){function n(t,e){var r=i.getArrayBuffer(t.request,function(t,r){t?e(t):r&&e(null,{vectorTile:new a.VectorTile(new o(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires})});return function(){r.abort(),e()}}var i=t(\\\"../util/ajax\\\"),a=t(\\\"@mapbox/vector-tile\\\"),o=t(\\\"pbf\\\"),s=t(\\\"./worker_tile\\\"),l=t(\\\"../util/util\\\"),c=t(\\\"../util/performance\\\"),u=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||n,this.loading={},this.loaded={}};u.prototype.loadTile=function(t,e){var r=this,n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,function(o,s){if(delete r.loading[n][i],o||!s)return e(o);var u=s.rawData,f={};s.expires&&(f.expires=s.expires),s.cacheControl&&(f.cacheControl=s.cacheControl);var h={};if(t.request&&t.request.collectResourceTiming){var p=c.getEntriesByName(t.request.url);p&&(h.resourceTiming=JSON.parse(JSON.stringify(p)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,r.layerIndex,r.actor,function(t,r){if(t||!r)return e(t);e(null,l.extend({rawTileData:u.slice(0)},r,f,h))}),r.loaded[n]=r.loaded[n]||{},r.loaded[n][i]=a})},u.prototype.reloadTile=function(t,e){var r=this.loaded[t.source],n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes,\\\"parsing\\\"===a.status?a.reloadCallback=e:\\\"done\\\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,function(t,r){if(this.reloadCallback){var n=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,n)}e(t,r)}.bind(a))}},u.prototype.abortTile=function(t,e){var r=this.loading[t.source],n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},u.prototype.removeTile=function(t,e){var r=this.loaded[t.source],n=t.uid;r&&r[n]&&delete r[n],e()},e.exports=u},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"../util/util\\\":275,\\\"./worker_tile\\\":119,\\\"@mapbox/vector-tile\\\":8,pbf:30}],117:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"./image_source\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.roundZoom=!0,this.type=\\\"video\\\",this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,n.getVideo(e.urls,function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener(\\\"playing\\\",function(){t.map._rerender()}),t.map&&t.video.play(),t._finishLoading())})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){var t=this;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,a.members)),this.boundsVAO||(this.boundsVAO=new o),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 s(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"video\\\",urls:this.urls,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this.video&&!this.video.paused},e}(i);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"./image_source\\\":102}],118:[function(t,e,r){var n=t(\\\"../util/actor\\\"),i=t(\\\"../style/style_layer_index\\\"),a=t(\\\"./vector_tile_worker_source\\\"),o=t(\\\"./raster_dem_tile_worker_source\\\"),s=t(\\\"./geojson_worker_source\\\"),l=t(\\\"./rtl_text_plugin\\\"),c=function(t){var e=this;this.self=t,this.actor=new n(t,this),this.layerIndexes={},this.workerSourceTypes={vector:a,geojson:s},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,r){if(e.workerSourceTypes[t])throw new Error('Worker source with name \\\"'+t+'\\\" already registered.');e.workerSourceTypes[t]=r},this.self.registerRTLTextPlugin=function(t){if(l.applyArabicShaping||l.processBidirectionalText)throw new Error(\\\"RTL text plugin already registered.\\\");l.applyArabicShaping=t.applyArabicShaping,l.processBidirectionalText=t.processBidirectionalText}};c.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},c.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},c.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type).loadTile(e,r)},c.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t).loadTile(e,r)},c.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type).reloadTile(e,r)},c.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type).abortTile(e,r)},c.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type).removeTile(e,r)},c.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t).removeTile(e)},c.prototype.removeSource=function(t,e,r){var n=this.getWorkerSource(t,e.type);void 0!==n.removeSource?n.removeSource(e,r):r()},c.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t)}},c.prototype.loadRTLTextPlugin=function(t,e,r){try{l.applyArabicShaping||l.processBidirectionalText||(this.self.importScripts(e),l.applyArabicShaping&&l.processBidirectionalText||r(new Error(\\\"RTL Text Plugin failed to import scripts from \\\"+e)))}catch(t){r(t)}},c.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new i),e},c.prototype.getWorkerSource=function(t,e){var r=this;if(this.workerSources[t]||(this.workerSources[t]={}),!this.workerSources[t][e]){var n={send:function(e,n,i){r.actor.send(e,n,i,t)}};this.workerSources[t][e]=new this.workerSourceTypes[e](n,this.getLayerIndex(t))}return this.workerSources[t][e]},c.prototype.getDEMWorkerSource=function(t){return this.demWorkerSources[t]||(this.demWorkerSources[t]=new o),this.demWorkerSources[t]},e.exports=function(t){return new c(t)}},{\\\"../style/style_layer_index\\\":210,\\\"../util/actor\\\":250,\\\"./geojson_worker_source\\\":100,\\\"./raster_dem_tile_worker_source\\\":107,\\\"./rtl_text_plugin\\\":109,\\\"./vector_tile_worker_source\\\":116}],119:[function(t,e,r){function n(t,e){for(var r=new h(e),n=0,i=t;n<i.length;n+=1)i[n].recalculate(r)}var i=t(\\\"../data/feature_index\\\"),a=t(\\\"../symbol/symbol_layout\\\").performSymbolLayout,o=t(\\\"../data/array_types\\\").CollisionBoxArray,s=t(\\\"../util/dictionary_coder\\\"),l=t(\\\"../data/bucket/symbol_bucket\\\"),c=t(\\\"../util/util\\\"),u=t(\\\"../render/image_atlas\\\").makeImageAtlas,f=t(\\\"../render/glyph_atlas\\\").makeGlyphAtlas,h=t(\\\"../style/evaluation_parameters\\\"),p=t(\\\"./tile_id\\\").OverscaledTileID,d=function(t){this.tileID=new p(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming};d.prototype.parse=function(t,e,r,h){function p(){if(L)return h(L);if(z&&P){var t=f(z),e=u(P);for(var r in v){var i=v[r];i instanceof l&&(n(i.layers,this.zoom),a(i,z,t.positions,P,e.positions,this.showCollisionBoxes))}this.status=\\\"done\\\",h(null,{buckets:c.values(v).filter(function(t){return!t.isEmpty()}),featureIndex:m,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,iconAtlasImage:e.image})}}var d=this;this.status=\\\"parsing\\\",this.data=t,this.collisionBoxArray=new o;var g=new s(Object.keys(t.layers).sort()),m=new i(this.tileID,this.overscaling);m.bucketLayerIDs=[];var v={},y={featureIndex:m,iconDependencies:{},glyphDependencies:{}},x=e.familiesBySource[this.source];for(var b in x){var _=t.layers[b];if(_){1===_.version&&c.warnOnce('Vector tile source \\\"'+d.source+'\\\" layer \\\"'+b+'\\\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=g.encode(b),k=[],M=0;M<_.length;M++){var A=_.feature(M);k.push({feature:A,index:M,sourceLayerIndex:w})}for(var T=0,S=x[b];T<S.length;T+=1){var C=S[T],E=C[0];E.minzoom&&d.zoom<Math.floor(E.minzoom)||E.maxzoom&&d.zoom>=E.maxzoom||\\\"none\\\"===E.visibility||(n(C,d.zoom),(v[E.id]=E.createBucket({index:m.bucketLayerIDs.length,layers:C,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(k,y),m.bucketLayerIDs.push(C.map(function(t){return t.id})))}}}var L,z,P,D=c.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(D).length?r.send(\\\"getGlyphs\\\",{uid:this.uid,stacks:D},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var O=Object.keys(y.iconDependencies);O.length?r.send(\\\"getImages\\\",{icons:O},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{\\\"../data/array_types\\\":39,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/feature_index\\\":54,\\\"../render/glyph_atlas\\\":85,\\\"../render/image_atlas\\\":87,\\\"../style/evaluation_parameters\\\":182,\\\"../symbol/symbol_layout\\\":227,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"./tile_id\\\":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)\\\"ref\\\"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t(\\\"./util/ref_properties\\\");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var i=0;i<t.length;i++)\\\"ref\\\"in t[i]&&(t[i]=n(t[i],e[t[i].ref]));return t}},{\\\"./util/ref_properties\\\":159}],121:[function(t,e,r){function n(t,e,r){r.push({command:f.addSource,args:[t,e[t]]})}function i(t,e,r){e.push({command:f.removeSource,args:[t]}),r[t]=!0}function a(t,e,r,a){i(t,r,a),n(t,e,r)}function o(t,e,r){var n;for(n in t[r])if(t[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!u(t[r][n],e[r][n]))return!1;for(n in e[r])if(e[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!u(t[r][n],e[r][n]))return!1;return!0}function s(t,e,r,n,i,a){var o;for(o in t=t||{},e=e||{},t)t.hasOwnProperty(o)&&(u(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}));for(o in e)e.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(u(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}))}function l(t){return t.id}function c(t,e){return t[e.id]=e,t}var u=t(\\\"./util/deep_equal\\\"),f={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\\\"};e.exports=function(t,e){if(!t)return[{command:f.setStyle,args:[e]}];var r=[];try{if(!u(t.version,e.version))return[{command:f.setStyle,args:[e]}];u(t.center,e.center)||r.push({command:f.setCenter,args:[e.center]}),u(t.zoom,e.zoom)||r.push({command:f.setZoom,args:[e.zoom]}),u(t.bearing,e.bearing)||r.push({command:f.setBearing,args:[e.bearing]}),u(t.pitch,e.pitch)||r.push({command:f.setPitch,args:[e.pitch]}),u(t.sprite,e.sprite)||r.push({command:f.setSprite,args:[e.sprite]}),u(t.glyphs,e.glyphs)||r.push({command:f.setGlyphs,args:[e.glyphs]}),u(t.transition,e.transition)||r.push({command:f.setTransition,args:[e.transition]}),u(t.light,e.light)||r.push({command:f.setLight,args:[e.light]});var h={},p=[];!function(t,e,r,s){var l;for(l in t=t||{},e=e||{},t)t.hasOwnProperty(l)&&(e.hasOwnProperty(l)||i(l,r,s));for(l in e)e.hasOwnProperty(l)&&(t.hasOwnProperty(l)?u(t[l],e[l])||(\\\"geojson\\\"===t[l].type&&\\\"geojson\\\"===e[l].type&&o(t,e,l)?r.push({command:f.setGeoJSONSourceData,args:[l,e[l].data]}):a(l,e,r,s)):n(l,e,r))}(t.sources,e.sources,p,h);var d=[];t.layers&&t.layers.forEach(function(t){h[t.source]?r.push({command:f.removeLayer,args:[t.id]}):d.push(t)}),r=r.concat(p),function(t,e,r){t=t||[],e=e||[];var n,i,a,o,h,p,d,g=t.map(l),m=e.map(l),v=t.reduce(c,{}),y=e.reduce(c,{}),x=g.slice(),b=Object.create(null);for(n=0,i=0;n<g.length;n++)a=g[n],y.hasOwnProperty(a)?i++:(r.push({command:f.removeLayer,args:[a]}),x.splice(x.indexOf(a,i),1));for(n=0,i=0;n<m.length;n++)a=m[m.length-1-n],x[x.length-1-n]!==a&&(v.hasOwnProperty(a)?(r.push({command:f.removeLayer,args:[a]}),x.splice(x.lastIndexOf(a,x.length-i),1)):i++,p=x[x.length-n],r.push({command:f.addLayer,args:[y[a],p]}),x.splice(x.length-n,0,a),b[a]=!0);for(n=0;n<m.length;n++)if(o=v[a=m[n]],h=y[a],!b[a]&&!u(o,h))if(u(o.source,h.source)&&u(o[\\\"source-layer\\\"],h[\\\"source-layer\\\"])&&u(o.type,h.type)){for(d in s(o.layout,h.layout,r,a,null,f.setLayoutProperty),s(o.paint,h.paint,r,a,null,f.setPaintProperty),u(o.filter,h.filter)||r.push({command:f.setFilter,args:[a,h.filter]}),u(o.minzoom,h.minzoom)&&u(o.maxzoom,h.maxzoom)||r.push({command:f.setLayerZoomRange,args:[a,h.minzoom,h.maxzoom]}),o)o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],h[d],r,a,d.slice(6),f.setPaintProperty):u(o[d],h[d])||r.push({command:f.setLayerProperty,args:[a,d,h[d]]}));for(d in h)h.hasOwnProperty(d)&&!o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],h[d],r,a,d.slice(6),f.setPaintProperty):u(o[d],h[d])||r.push({command:f.setLayerProperty,args:[a,d,h[d]]}))}else r.push({command:f.removeLayer,args:[a]}),p=x[x.lastIndexOf(a)+1],r.push({command:f.addLayer,args:[h,p]})}(d,e.layers,r)}catch(t){console.warn(\\\"Unable to compute style diff:\\\",t),r=[{command:f.setStyle,args:[e]}]}return r},e.exports.operations=f},{\\\"./util/deep_equal\\\":155}],122:[function(t,e,r){e.exports=function(t,e,r){this.message=(t?t+\\\": \\\":\\\"\\\")+r,null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}},{}],123:[function(t,e,r){var n=t(\\\"./types\\\").toString,i=t(\\\"./parsing_context\\\"),a=(t(\\\"./evaluation_context\\\"),function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n});a.prototype.evaluate=function(t){return this._evaluate(t,this.args)},a.prototype.eachChild=function(t){this.args.forEach(t)},a.prototype.possibleOutputs=function(){return[void 0]},a.parse=function(t,e){var r=t[0],o=a.definitions[r];if(!o)return e.error('Unknown expression \\\"'+r+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0);for(var s=Array.isArray(o)?o[0]:o.type,l=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,c=l.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),u=[],f=1;f<t.length;f++){var h=t[f],p=void 0;if(1===c.length){var d=c[0][0];p=Array.isArray(d)?d[f-1]:d.type}var g=e.parse(h,1+u.length,p);if(!g)return null;u.push(g)}for(var m=null,v=0,y=c;v<y.length;v+=1){var x=y[v],b=x[0],_=x[1];if(m=new i(e.registry,e.path,null,e.scope),Array.isArray(b)&&b.length!==u.length)m.error(\\\"Expected \\\"+b.length+\\\" arguments, but found \\\"+u.length+\\\" instead.\\\");else{for(var w=0;w<u.length;w++){var k=Array.isArray(b)?b[w]:b.type,M=u[w];m.concat(w+1).checkSubtype(k,M.type)}if(0===m.errors.length)return new a(r,s,_,u)}}if(1===c.length)e.errors.push.apply(e.errors,m.errors);else{var A=(c.length?c:l).map(function(t){return function(t){return Array.isArray(t)?\\\"(\\\"+t.map(n).join(\\\", \\\")+\\\")\\\":\\\"(\\\"+n(t.type)+\\\"...)\\\"}(t[0])}).join(\\\" | \\\"),T=u.map(function(t){return n(t.type)}).join(\\\", \\\");e.error(\\\"Expected arguments of type \\\"+A+\\\", but found (\\\"+T+\\\") instead.\\\")}return null},a.register=function(t,e){for(var r in a.definitions=e,e)t[r]=a},e.exports={CompoundExpression:a,varargs:function(t){return{type:t}}}},{\\\"./evaluation_context\\\":138,\\\"./parsing_context\\\":141,\\\"./types\\\":146}],124:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.toString,a=n.array,o=n.ValueType,s=n.StringType,l=n.NumberType,c=n.BooleanType,u=n.checkSubtype,f=t(\\\"../values\\\").typeOf,h=t(\\\"../runtime_error\\\"),p={string:s,number:l,boolean:c},d=function(t,e){this.type=t,this.input=e};d.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\\\"Expected 1, 2, or 3 arguments, but found \\\"+(t.length-1)+\\\" instead.\\\");var r,n;if(t.length>2){var i=t[1];if(\\\"string\\\"!=typeof i||!(i in p))return e.error('The item type argument of \\\"array\\\" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if(\\\"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);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(u(this.type,f(e)))throw new h(\\\"Expected value to be of type \\\"+i(this.type)+\\\", but found \\\"+i(f(e))+\\\" instead.\\\");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],125:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,c=t(\\\"../runtime_error\\\"),u=t(\\\"../types\\\"),f=u.checkSubtype,h=u.toString,p=t(\\\"../values\\\").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=d[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new g(n,i)},g.prototype.evaluate=function(t){for(var e=this,r=0;r<this.args.length;r++){var n=e.args[r].evaluate(t);if(!f(e.type,p(n)))return n;if(r===e.args.length-1)throw new c(\\\"Expected value to be of type \\\"+h(e.type)+\\\", but found \\\"+h(p(n))+\\\" instead.\\\")}return null},g.prototype.eachChild=function(t){this.args.forEach(t)},g.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=g},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],126:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.array,a=n.ValueType,o=n.NumberType,s=t(\\\"../runtime_error\\\"),l=function(t,e,r){this.type=t,this.index=e,this.input=r};l.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,o),n=e.parse(t[2],2,i(e.expectedType||a));if(!r||!n)return null;var s=n.type;return new l(s.itemType,r,n)},l.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0||e>=r.length)throw new s(\\\"Array index out of bounds: \\\"+e+\\\" > \\\"+r.length+\\\".\\\");if(e!==Math.floor(e))throw new s(\\\"Array index must be an integer, but found \\\"+e+\\\" instead.\\\");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{\\\"../runtime_error\\\":143,\\\"../types\\\":146}],127:[function(t,e,r){var n=t(\\\"../types\\\").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.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 a=[],o=1;o<t.length-1;o+=2){var s=e.parse(t[o],o,n);if(!s)return null;var l=e.parse(t[o+1],o+1,r);if(!l)return null;a.push([s,l]),r=r||l.type}var c=e.parse(t[t.length-1],t.length-1,r);return c?new i(r,a,c):null},i.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},i.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../types\\\":146}],128:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.checkSubtype,a=n.ValueType,o=function(t,e){this.type=t,this.args=e};o.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 s=[],l=0,c=t.slice(1);l<c.length;l+=1){var u=c[l],f=e.parse(u,1+s.length,r,void 0,{omitTypeAnnotations:!0});if(!f)return null;r=r||f.type,s.push(f)}return n&&s.some(function(t){return i(n,t.type)})?new o(a,s):new o(r,s)},o.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},o.prototype.eachChild=function(t){this.args.forEach(t)},o.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=o},{\\\"../types\\\":146}],129:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ColorType,a=n.ValueType,o=n.NumberType,s=t(\\\"../values\\\"),l=s.Color,c=s.validateRGBA,u=t(\\\"../runtime_error\\\"),f={\\\"to-number\\\":o,\\\"to-color\\\":i},h=function(t,e){this.type=t,this.args=e};h.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=f[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new h(n,i)},h.prototype.evaluate=function(t){if(\\\"color\\\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\\\"string\\\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}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.\\\":c(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new u(r||\\\"Could not parse color from value '\\\"+(\\\"string\\\"==typeof e?e:JSON.stringify(e))+\\\"'\\\")}for(var o=null,s=0,f=this.args;s<f.length;s+=1)if(null!==(o=f[s].evaluate(t))){var h=Number(o);if(!isNaN(h))return h}throw new u(\\\"Could not convert \\\"+JSON.stringify(o)+\\\" to number.\\\")},h.prototype.eachChild=function(t){this.args.forEach(t)},h.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=h},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],130:[function(t,e,r){function n(t){return\\\"string\\\"===t.kind||\\\"number\\\"===t.kind||\\\"boolean\\\"===t.kind||\\\"null\\\"===t.kind}function i(t){return function(){function e(t,e){this.type=s,this.lhs=t,this.rhs=e}return e.parse=function(t,r){if(3!==t.length)return r.error(\\\"Expected two arguments.\\\");var i=r.parse(t[1],1,o);if(!i)return null;var a=r.parse(t[2],2,o);return a?n(i.type)||n(a.type)?i.type.kind!==a.type.kind&&\\\"value\\\"!==i.type.kind&&\\\"value\\\"!==a.type.kind?r.error(\\\"Cannot compare \\\"+l(i.type)+\\\" and \\\"+l(a.type)+\\\".\\\"):new e(i,a):r.error(\\\"Expected at least one argument to be a string, number, boolean, or null, but found (\\\"+l(i.type)+\\\", \\\"+l(a.type)+\\\") instead.\\\"):null},e.prototype.evaluate=function(e){return t(this.lhs.evaluate(e),this.rhs.evaluate(e))},e.prototype.eachChild=function(t){t(this.lhs),t(this.rhs)},e.prototype.possibleOutputs=function(){return[!0,!1]},e}()}var a=t(\\\"../types\\\"),o=a.ValueType,s=a.BooleanType,l=t(\\\"../types\\\").toString;e.exports={Equals:i(function(t,e){return t===e}),NotEquals:i(function(t,e){return t!==e})}},{\\\"../types\\\":146}],131:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=M(r,n,i,o);if(s)throw new C(s);return new k(r/255*o,n/255*o,i/255*o,o)}function i(t,e){return t in e}function a(t,e){var r=e[t];return void 0===r?null:r}function o(t,e){return e[0].evaluate(t).length}function s(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function l(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var f=t(\\\"../types\\\"),h=f.NumberType,p=f.StringType,d=f.BooleanType,g=f.ColorType,m=f.ObjectType,v=f.ValueType,y=f.ErrorType,x=f.array,b=f.toString,_=t(\\\"../values\\\"),w=_.typeOf,k=_.Color,M=_.validateRGBA,A=t(\\\"../compound_expression\\\"),T=A.CompoundExpression,S=A.varargs,C=t(\\\"../runtime_error\\\"),E=t(\\\"./let\\\"),L=t(\\\"./var\\\"),z=t(\\\"./literal\\\"),P=t(\\\"./assertion\\\"),D=t(\\\"./array\\\"),O=t(\\\"./coercion\\\"),I=t(\\\"./at\\\"),R=t(\\\"./match\\\"),B=t(\\\"./case\\\"),F=t(\\\"./step\\\"),N=t(\\\"./interpolate\\\"),j=t(\\\"./coalesce\\\"),V=t(\\\"./equals\\\"),U={\\\"==\\\":V.Equals,\\\"!=\\\":V.NotEquals,array:D,at:I,boolean:P,case:B,coalesce:j,interpolate:N,let:E,literal:z,match:R,number:P,object:P,step:F,string:P,\\\"to-color\\\":O,\\\"to-number\\\":O,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new C(r.evaluate(t))}],typeof:[p,[v],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],\\\"to-string\\\":[p,[v],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||\\\"string\\\"===n||\\\"number\\\"===n||\\\"boolean\\\"===n?String(r):r instanceof k?r.toString():JSON.stringify(r)}],\\\"to-boolean\\\":[d,[v],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\\\"to-rgba\\\":[x(h,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[h,h,h],n],rgba:[g,[h,h,h,h],n],length:{type:h,overloads:[[[p],o],[[x(v)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:v,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[m,[],function(t){return t.properties()}],\\\"geometry-type\\\":[p,[],function(t){return t.geometryType()}],id:[v,[],function(t){return t.id()}],zoom:[h,[],function(t){return t.globals.zoom}],\\\"heatmap-density\\\":[h,[],function(t){return t.globals.heatmapDensity||0}],\\\"+\\\":[h,S(h),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\\\"*\\\":[h,S(h),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\\\"-\\\":{type:h,overloads:[[[h,h],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[h],function(t,e){return-e[0].evaluate(t)}]]},\\\"/\\\":[h,[h,h],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\\\"%\\\":[h,[h,h],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[h,[],function(){return Math.LN2}],pi:[h,[],function(){return Math.PI}],e:[h,[],function(){return Math.E}],\\\"^\\\":[h,[h,h],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[h,[h],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[h,[h],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[h,[h],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[h,[h],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[h,[h],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[h,[h],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[h,[h],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[h,[h],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[h,[h],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[h,[h],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[h,S(h),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[h,S(h),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],\\\"filter-==\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\\\"filter-id-==\\\":[d,[v],function(t,e){var r=e[0];return t.id()===r.value}],\\\"filter-type-==\\\":[d,[p],function(t,e){var r=e[0];return t.geometryType()===r.value}],\\\"filter-<\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\\\"filter-id-<\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\\\"filter->\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\\\"filter-id->\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\\\"filter-<=\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\\\"filter-id-<=\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\\\"filter->=\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\\\"filter-id->=\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\\\"filter-has\\\":[d,[v],function(t,e){return e[0].value in t.properties()}],\\\"filter-has-id\\\":[d,[],function(t){return null!==t.id()}],\\\"filter-type-in\\\":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\\\"filter-id-in\\\":[d,[x(v)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\\\"filter-in-small\\\":[d,[p,x(v)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\\\"filter-in-large\\\":[d,[p,x(v)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\\\">\\\":{type:d,overloads:[[[h,h],l],[[p,p],l]]},\\\"<\\\":{type:d,overloads:[[[h,h],s],[[p,p],s]]},\\\">=\\\":{type:d,overloads:[[[h,h],u],[[p,p],u]]},\\\"<=\\\":{type:d,overloads:[[[h,h],c],[[p,p],c]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),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:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\\\"!\\\":[d,[d],function(t,e){return!e[0].evaluate(t)}],upcase:[p,[p],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[p,[p],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[p,S(p),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\\\"\\\")}]}),e.exports=U},{\\\"../compound_expression\\\":123,\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147,\\\"./array\\\":124,\\\"./assertion\\\":125,\\\"./at\\\":126,\\\"./case\\\":127,\\\"./coalesce\\\":128,\\\"./coercion\\\":129,\\\"./equals\\\":130,\\\"./interpolate\\\":132,\\\"./let\\\":133,\\\"./literal\\\":134,\\\"./match\\\":135,\\\"./step\\\":136,\\\"./var\\\":137}],132:[function(t,e,r){function n(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}var i=t(\\\"@mapbox/unitbezier\\\"),a=t(\\\"../../util/interpolate\\\"),o=t(\\\"../types\\\"),s=o.toString,l=o.NumberType,c=t(\\\"../stops\\\").findStopLessThanOrEqualTo,u=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};u.interpolationFactor=function(t,e,r,a){var o=0;if(\\\"exponential\\\"===t.name)o=n(e,t.base,r,a);else if(\\\"linear\\\"===t.name)o=n(e,1,r,a);else if(\\\"cubic-bezier\\\"===t.name){var s=t.controlPoints;o=new i(s[0],s[1],s[2],s[3]).solve(n(e,1,r,a))}return o},u.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\\\"Expected an interpolation type expression.\\\",1);if(\\\"linear\\\"===r[0])r={name:\\\"linear\\\"};else if(\\\"exponential\\\"===r[0]){var a=r[1];if(\\\"number\\\"!=typeof a)return e.error(\\\"Exponential interpolation requires a numeric base.\\\",1,1);r={name:\\\"exponential\\\",base:a}}else{if(\\\"cubic-bezier\\\"!==r[0])return e.error(\\\"Unknown interpolation type \\\"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.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);r={name:\\\"cubic-bezier\\\",controlPoints:o}}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(!(n=e.parse(n,2,l)))return null;var c=[],f=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(f=e.expectedType);for(var h=0;h<i.length;h+=2){var p=i[h],d=i[h+1],g=h+3,m=h+4;if(\\\"number\\\"!=typeof p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(c.length&&c[c.length-1][0]>=p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be arranged with input values in strictly ascending order.',g);var v=e.parse(d,m,f);if(!v)return null;f=f||v.type,c.push([p,v])}return\\\"number\\\"===f.kind||\\\"color\\\"===f.kind||\\\"array\\\"===f.kind&&\\\"number\\\"===f.itemType.kind&&\\\"number\\\"==typeof f.N?new u(f,r,n,c):e.error(\\\"Type \\\"+s(f)+\\\" is not interpolatable.\\\")},u.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 i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=c(e,n),s=e[o],l=e[o+1],f=u.interpolationFactor(this.interpolation,n,s,l),h=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](h,p,f)},u.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},u.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=u},{\\\"../../util/interpolate\\\":158,\\\"../stops\\\":145,\\\"../types\\\":146,\\\"@mapbox/unitbezier\\\":7}],133:[function(t,e,r){var n=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};n.prototype.evaluate=function(t){t.pushScope(this.bindings);var e=this.result.evaluate(t);return t.popScope(),e},n.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},n.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=[],i=1;i<t.length-1;i+=2){var a=t[i];if(\\\"string\\\"!=typeof a)return e.error(\\\"Expected string, but found \\\"+typeof a+\\\" instead.\\\",i);if(/[^a-zA-Z0-9_]/.test(a))return e.error(\\\"Variable names must contain only alphanumeric characters or '_'.\\\",i);var o=e.parse(t[i+1],i+1);if(!o)return null;r.push([a,o])}var s=e.parse(t[t.length-1],t.length-1,void 0,r);return s?new n(r,s):null},n.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},e.exports=n},{}],134:[function(t,e,r){var n=t(\\\"../values\\\"),i=n.isValue,a=n.typeOf,o=function(t,e){this.type=t,this.value=e};o.parse=function(t,e){if(2!==t.length)return e.error(\\\"'literal' expression requires exactly one argument, but found \\\"+(t.length-1)+\\\" instead.\\\");if(!i(t[1]))return e.error(\\\"invalid value\\\");var r=t[1],n=a(r),s=e.expectedType;return\\\"array\\\"!==n.kind||0!==n.N||!s||\\\"array\\\"!==s.kind||\\\"number\\\"==typeof s.N&&0!==s.N||(n=s),new o(n,r)},o.prototype.evaluate=function(){return this.value},o.prototype.eachChild=function(){},o.prototype.possibleOutputs=function(){return[this.value]},e.exports=o},{\\\"../values\\\":147}],135:[function(t,e,r){var n=t(\\\"../values\\\").typeOf,i=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};i.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,a;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(a=e.expectedType);for(var o={},s=[],l=2;l<t.length-1;l+=2){var c=t[l],u=t[l+1];Array.isArray(c)||(c=[c]);var f=e.concat(l);if(0===c.length)return f.error(\\\"Expected at least one branch label.\\\");for(var h=0,p=c;h<p.length;h+=1){var d=p[h];if(\\\"number\\\"!=typeof d&&\\\"string\\\"!=typeof d)return f.error(\\\"Branch labels must be numbers or strings.\\\");if(\\\"number\\\"==typeof d&&Math.abs(d)>Number.MAX_SAFE_INTEGER)return f.error(\\\"Branch labels must be integers no larger than \\\"+Number.MAX_SAFE_INTEGER+\\\".\\\");if(\\\"number\\\"==typeof d&&Math.floor(d)!==d)return f.error(\\\"Numeric branch labels must be integer values.\\\");if(r){if(f.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return f.error(\\\"Branch labels must be unique.\\\");o[String(d)]=s.length}var g=e.parse(u,l,a);if(!g)return null;a=a||g.type,s.push(g)}var m=e.parse(t[1],1,r);if(!m)return null;var v=e.parse(t[t.length-1],t.length-1,a);return v?new i(r,a,m,o,s,v):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../values\\\":147}],136:[function(t,e,r){var n=t(\\\"../types\\\").NumberType,i=t(\\\"../stops\\\").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};a.parse=function(t,e){var r=t[1],i=t.slice(2);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(!(r=e.parse(r,1,n)))return null;var o=[],s=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(s=e.expectedType),i.unshift(-1/0);for(var l=0;l<i.length;l+=2){var c=i[l],u=i[l+1],f=l+1,h=l+2;if(\\\"number\\\"!=typeof c)return e.error('Input/output pairs for \\\"step\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',f);if(o.length&&o[o.length-1][0]>=c)return e.error('Input/output pairs for \\\"step\\\" expressions must be arranged with input values in strictly ascending order.',f);var p=e.parse(u,h,s);if(!p)return null;s=s||p.type,o.push([c,p])}return new a(s,r,o)},a.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[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},a.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=a},{\\\"../stops\\\":145,\\\"../types\\\":146}],137:[function(t,e,r){var n=function(t,e){this.type=e,this.name=t};n.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 n(r,e.scope.get(r).type):e.error('Unknown variable \\\"'+r+'\\\". Make sure \\\"'+r+'\\\" has been bound in an enclosing \\\"let\\\" expression before using it.',1)},n.prototype.evaluate=function(t){return t.scope.get(this.name).evaluate(t)},n.prototype.eachChild=function(){},n.prototype.possibleOutputs=function(){return[void 0]},e.exports=n},{}],138:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./values\\\").Color,a=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],o=function(){this.scope=new n,this._parseColorCache={}};o.prototype.id=function(){return this.feature&&\\\"id\\\"in this.feature?this.feature.id:null},o.prototype.geometryType=function(){return this.feature?\\\"number\\\"==typeof this.feature.type?a[this.feature.type]:this.feature.type:null},o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},o.prototype.pushScope=function(t){this.scope=this.scope.concat(t)},o.prototype.popScope=function(){this.scope=this.scope.parent},o.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=i.parse(t)),e},e.exports=o},{\\\"./scope\\\":144,\\\"./values\\\":147}],139:[function(t,e,r){function n(t){return Array.isArray(t)&&t.length>0&&\\\"string\\\"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:D,enum:P,boolean:O};return\\\"array\\\"===t.type?R(e[t.value]||I,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),\\\"error\\\"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=m.isFeatureConstant(n);if(!a&&!e[\\\"property-function\\\"])return b([new s(\\\"\\\",\\\"property expressions not supported\\\")]);var o=m.isGlobalPropertyConstant(n,[\\\"zoom\\\"]);if(!o&&!1===e[\\\"zoom-function\\\"])return b([new s(\\\"\\\",\\\"zoom expressions not supported\\\")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof f||e instanceof h)&&e.input instanceof u&&\\\"zoom\\\"===e.input.name&&(r=e);return r instanceof s?r:(e.eachChild(function(e){var n=t(e);n instanceof s?r=n:!r&&n?r=new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.'):r&&n&&r!==n&&(r=new s(\\\"\\\",'Only one zoom-based \\\"step\\\" or \\\"interpolate\\\" subexpression may be used in an expression.'))}),r)}(n);return l||o?l instanceof s?b([l]):l instanceof h&&\\\"piecewise-constant\\\"===e.function?b([new s(\\\"\\\",'\\\"interpolate\\\" expressions cannot be used with this property')]):x(l?new M(a?\\\"camera\\\":\\\"composite\\\",t.value,l):new k(a?\\\"constant\\\":\\\"source\\\",t.value)):b([new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.')])}var o=t(\\\"../util/extend\\\"),s=t(\\\"./parsing_error\\\"),l=t(\\\"./parsing_context\\\"),c=t(\\\"./evaluation_context\\\"),u=t(\\\"./compound_expression\\\").CompoundExpression,f=t(\\\"./definitions/step\\\"),h=t(\\\"./definitions/interpolate\\\"),p=t(\\\"./definitions/coalesce\\\"),d=t(\\\"./definitions/let\\\"),g=t(\\\"./definitions\\\"),m=t(\\\"./is_constant\\\"),v=t(\\\"./runtime_error\\\"),y=t(\\\"../util/result\\\"),x=y.success,b=y.error,_=function(t){this.expression=t};_.prototype.evaluate=function(t,e){return this._evaluator||(this._evaluator=new c),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)};var w=function(t){function e(e,r){t.call(this,e),this._warningHistory={},this._defaultValue=function(t){return\\\"color\\\"===t.type&&T(t.default)?new C(0,0,0,0):\\\"color\\\"===t.type?C.parse(t.default)||null:void 0===t.default?null:t.default}(r),\\\"enum\\\"===r.type&&(this._enumValues=r.values)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new c),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null===r||void 0===r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new v(\\\"Expected value to be one of \\\"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\\\", \\\")+\\\", but found \\\"+JSON.stringify(r)+\\\" instead.\\\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\\\"undefined\\\"!=typeof console&&console.warn(t.message)),this._defaultValue}},e}(_),k=function(t,e){this.kind=t,this._styleExpression=e};k.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var M=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof h&&(this._interpolationType=r.interpolation)};M.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},M.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?h.interpolationFactor(this._interpolationType,t,e,r):0};var A=t(\\\"../function\\\"),T=A.isFunction,S=A.createFunction,C=t(\\\"./values\\\").Color,E=function(t,e){this._parameters=t,this._specification=e,o(this,S(this._parameters,this._specification))};E.deserialize=function(t){return new E(t._parameters,t._specification)},E.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}},e.exports={StyleExpression:_,StyleExpressionWithErrorHandling:w,isExpression:n,createExpression:i,createPropertyExpression:a,normalizePropertyExpression:function(t,e){if(T(t))return new E(t,e);if(n(t)){var r=a(t,e);if(\\\"error\\\"===r.result)throw new Error(r.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return r.value}var i=t;return\\\"string\\\"==typeof t&&\\\"color\\\"===e.type&&(i=C.parse(t)),{kind:\\\"constant\\\",evaluate:function(){return i}}},ZoomConstantExpression:k,ZoomDependentExpression:M,StylePropertyFunction:E};var L=t(\\\"./types\\\"),z=L.ColorType,P=L.StringType,D=L.NumberType,O=L.BooleanType,I=L.ValueType,R=L.array},{\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/result\\\":160,\\\"./compound_expression\\\":123,\\\"./definitions\\\":131,\\\"./definitions/coalesce\\\":128,\\\"./definitions/interpolate\\\":132,\\\"./definitions/let\\\":133,\\\"./definitions/step\\\":136,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_context\\\":141,\\\"./parsing_error\\\":142,\\\"./runtime_error\\\":143,\\\"./types\\\":146,\\\"./values\\\":147}],140:[function(t,e,r){var n=t(\\\"./compound_expression\\\").CompoundExpression;e.exports={isFeatureConstant:function t(e){if(e instanceof n){if(\\\"get\\\"===e.name&&1===e.args.length)return!1;if(\\\"has\\\"===e.name&&1===e.args.length)return!1;if(\\\"properties\\\"===e.name||\\\"geometry-type\\\"===e.name||\\\"id\\\"===e.name)return!1;if(/^filter-/.test(e.name))return!1}var r=!0;return e.eachChild(function(e){r&&!t(e)&&(r=!1)}),r},isGlobalPropertyConstant:function t(e,r){if(e instanceof n&&r.indexOf(e.name)>=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{\\\"./compound_expression\\\":123}],141:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./types\\\").checkSubtype,a=t(\\\"./parsing_error\\\"),o=t(\\\"./definitions/literal\\\"),s=t(\\\"./definitions/assertion\\\"),l=t(\\\"./definitions/array\\\"),c=t(\\\"./definitions/coercion\\\"),u=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\"),this.scope=i,this.errors=a,this.expectedType=r};u.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var u=this;if(r&&(u=u.concat(r,n,i)),null!==e&&\\\"string\\\"!=typeof e&&\\\"boolean\\\"!=typeof e&&\\\"number\\\"!=typeof e||(e=[\\\"literal\\\",e]),Array.isArray(e)){if(0===e.length)return u.error('Expected an array with at least one element. If you wanted a literal array, use [\\\"literal\\\", []].');var f=e[0];if(\\\"string\\\"!=typeof f)return u.error(\\\"Expression name must be a string, but found \\\"+typeof f+' instead. If you wanted a literal array, use [\\\"literal\\\", [...]].',0),null;var h=u.registry[f];if(h){var p=h.parse(e,u);if(!p)return null;if(u.expectedType){var d=u.expectedType,g=p.type;if(\\\"string\\\"!==d.kind&&\\\"number\\\"!==d.kind&&\\\"boolean\\\"!==d.kind||\\\"value\\\"!==g.kind)if(\\\"array\\\"===d.kind&&\\\"value\\\"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if(\\\"color\\\"!==d.kind||\\\"value\\\"!==g.kind&&\\\"string\\\"!==g.kind){if(u.checkSubtype(u.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new c(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t(\\\"./compound_expression\\\").CompoundExpression,n=t(\\\"./is_constant\\\"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t(\\\"./definitions/var\\\"))return!1;if(e instanceof r&&\\\"error\\\"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,[\\\"zoom\\\",\\\"heatmap-density\\\"])}(p)){var m=new(t(\\\"./evaluation_context\\\"));try{p=new o(p.type,p.evaluate(m))}catch(e){return u.error(e.message),null}}return p}return u.error('Unknown expression \\\"'+f+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0)}return void 0===e?u.error(\\\"'undefined' value invalid. Use null instead.\\\"):\\\"object\\\"==typeof e?u.error('Bare objects invalid. Use [\\\"literal\\\", {...}] instead.'):u.error(\\\"Expected an array, but found \\\"+typeof e+\\\" instead.\\\")},u.prototype.concat=function(t,e,r){var n=\\\"number\\\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new u(this.registry,n,e||null,i,this.errors)},u.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=\\\"\\\"+this.key+r.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\");this.errors.push(new a(i,t))},u.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=u},{\\\"./compound_expression\\\":123,\\\"./definitions/array\\\":124,\\\"./definitions/assertion\\\":125,\\\"./definitions/coercion\\\":129,\\\"./definitions/literal\\\":134,\\\"./definitions/var\\\":137,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_error\\\":142,\\\"./scope\\\":144,\\\"./types\\\":146}],142:[function(t,e,r){var n=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),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name=\\\"ExpressionEvaluationError\\\",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};n.prototype.concat=function(t){return new n(this,t)},n.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.\\\")},n.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)},e.exports=n},{}],145:[function(t,e,r){var n=t(\\\"./runtime_error\\\");e.exports={findStopLessThanOrEqualTo:function(t,e){for(var r,i,a=0,o=t.length-1,s=0;a<=o;){if(r=t[s=Math.floor((a+o)/2)],i=t[s+1],e===r||e>r&&e<i)return s;if(r<e)a=s+1;else{if(!(r>e))throw new n(\\\"Input is not a number.\\\");o=s-1}}return Math.max(s-1,0)}}},{\\\"./runtime_error\\\":143}],146:[function(t,e,r){function n(t,e){return{kind:\\\"array\\\",itemType:t,N:e}}function i(t){if(\\\"array\\\"===t.kind){var e=i(t.itemType);return\\\"number\\\"==typeof t.N?\\\"array<\\\"+e+\\\", \\\"+t.N+\\\">\\\":\\\"value\\\"===t.itemType.kind?\\\"array\\\":\\\"array<\\\"+e+\\\">\\\"}return t.kind}var a={kind:\\\"null\\\"},o={kind:\\\"number\\\"},s={kind:\\\"string\\\"},l={kind:\\\"boolean\\\"},c={kind:\\\"color\\\"},u={kind:\\\"object\\\"},f={kind:\\\"value\\\"},h=[a,o,s,l,c,u,n(f)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:c,ObjectType:u,ValueType:f,array:n,ErrorType:{kind:\\\"error\\\"},toString:i,checkSubtype:function t(e,r){if(\\\"error\\\"===r.kind)return null;if(\\\"array\\\"===e.kind){if(\\\"array\\\"===r.kind&&!t(e.itemType,r.itemType)&&(\\\"number\\\"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if(\\\"value\\\"===e.kind)for(var n=0,a=h;n<a.length;n+=1)if(!t(a[n],r))return null}return\\\"Expected \\\"+i(e)+\\\" but found \\\"+i(r)+\\\" instead.\\\"}}},{}],147:[function(t,e,r){var n=t(\\\"../util/color\\\"),i=t(\\\"./types\\\"),a=i.NullType,o=i.NumberType,s=i.StringType,l=i.BooleanType,c=i.ColorType,u=i.ObjectType,f=i.ValueType,h=i.array;e.exports={Color:n,validateRGBA:function(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.\\\"},isValue:function t(e){if(null===e)return!0;if(\\\"string\\\"==typeof e)return!0;if(\\\"boolean\\\"==typeof e)return!0;if(\\\"number\\\"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r<i.length;r+=1)if(!t(i[r]))return!1;return!0}if(\\\"object\\\"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1},typeOf:function t(e){if(null===e)return a;if(\\\"string\\\"==typeof e)return s;if(\\\"boolean\\\"==typeof e)return l;if(\\\"number\\\"==typeof e)return o;if(e instanceof n)return c;if(Array.isArray(e)){for(var r,i=e.length,p=0,d=e;p<d.length;p+=1){var g=t(d[p]);if(r){if(r===g)continue;r=f;break}r=g}return h(r||f,i)}return u}}},{\\\"../util/color\\\":153,\\\"./types\\\":146}],148:[function(t,e,r){function n(t){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\\\":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 i=r[e];if(!n(i)&&\\\"boolean\\\"!=typeof i)return!1}return!0;default:return!0}}function i(t,e){return t<e?-1:t>e?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?\\\"any\\\"!==e:\\\"==\\\"===e?o(t[1],t[2],\\\"==\\\"):\\\"!=\\\"===e?c(o(t[1],t[2],\\\"==\\\")):\\\"<\\\"===e||\\\">\\\"===e||\\\"<=\\\"===e||\\\">=\\\"===e?o(t[1],t[2],e):\\\"any\\\"===e?function(t){return[\\\"any\\\"].concat(t.map(a))}(t.slice(1)):\\\"all\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a)):\\\"none\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a).map(c)):\\\"in\\\"===e?s(t[1],t.slice(2)):\\\"!in\\\"===e?c(s(t[1],t.slice(2))):\\\"has\\\"===e?l(t[1]):\\\"!has\\\"!==e||c(l(t[1]))}function o(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 s(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(i)]]:[\\\"filter-in-small\\\",t,[\\\"literal\\\",e]]}}function l(t){switch(t){case\\\"$type\\\":return!0;case\\\"$id\\\":return[\\\"filter-has-id\\\"];default:return[\\\"filter-has\\\",t]}}function c(t){return[\\\"!\\\",t]}var u=t(\\\"../expression\\\").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=u(t,f);if(\\\"error\\\"===e.result)throw new Error(e.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var f={type:\\\"boolean\\\",default:!1,function:!0,\\\"property-function\\\":!0,\\\"zoom-function\\\":!0}},{\\\"../expression\\\":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if(\\\"number\\\"!==p(r))return i(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=c(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if(\\\"number\\\"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=c(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),f=t.stops[s][1],h=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&\\\"rgb\\\"!==t.colorSpace){var m=u[t.colorSpace];g=function(t,e){return m.reverse(m.interpolate(m.forward(t),m.forward(e),l))}}return\\\"function\\\"==typeof f.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=f.evaluate.apply(void 0,e),i=h.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(f,h,l)}function l(t,e,r){return\\\"color\\\"===e.type?r=f.parse(r):p(r)===e.type||\\\"enum\\\"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function c(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var u=t(\\\"../util/color_spaces\\\"),f=t(\\\"../util/color\\\"),h=t(\\\"../util/extend\\\"),p=t(\\\"../util/get_type\\\"),d=t(\\\"../util/interpolate\\\"),g=t(\\\"../expression/definitions/interpolate\\\");e.exports={createFunction:function t(e,r){var n,c,p,d=\\\"color\\\"===r.type,m=e.stops&&\\\"object\\\"==typeof e.stops[0][0],v=m||void 0!==e.property,y=m||!v,x=e.type||(\\\"interpolated\\\"===r.function?\\\"exponential\\\":\\\"interval\\\");if(d&&((e=h({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],f.parse(t[1])]})),e.default?e.default=f.parse(e.default):e.default=f.parse(r.default)),e.colorSpace&&\\\"rgb\\\"!==e.colorSpace&&!u[e.colorSpace])throw new Error(\\\"Unknown color space: \\\"+e.colorSpace);if(\\\"exponential\\\"===x)n=s;else if(\\\"interval\\\"===x)n=o;else if(\\\"categorical\\\"===x){n=a,c=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];c[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if(\\\"identity\\\"!==x)throw new Error('Unknown function type \\\"'+x+'\\\"');n=l}if(m){for(var k={},M=[],A=0;A<e.stops.length;A++){var T=e.stops[A],S=T[0].zoom;void 0===k[S]&&(k[S]={zoom:S,type:e.type,property:e.property,default:e.default,stops:[]},M.push(S)),k[S].stops.push([T[0].value,T[1]])}for(var C=[],E=0,L=M;E<L.length;E+=1){var z=L[E];C.push([k[z].zoom,t(k[z],r)])}return{kind:\\\"composite\\\",interpolationFactor:g.interpolationFactor.bind(void 0,{name:\\\"linear\\\"}),zoomStops:C.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return s({stops:C,base:e.base},r,i).evaluate(i,n)}}}return y?{kind:\\\"camera\\\",interpolationFactor:\\\"exponential\\\"===x?g.interpolationFactor.bind(void 0,{name:\\\"exponential\\\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var i=t.zoom;return n(e,r,i,c,p)}}:{kind:\\\"source\\\",evaluate:function(t,a){var o=a&&a.properties?a.properties[e.property]:void 0;return void 0===o?i(e.default,r.default):n(e,r,o,c,p)}}},isFunction:function(t){return\\\"object\\\"==typeof t&&null!==t&&!Array.isArray(t)}}},{\\\"../expression/definitions/interpolate\\\":132,\\\"../util/color\\\":153,\\\"../util/color_spaces\\\":154,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/interpolate\\\":158}],150:[function(t,e,r){function n(t){var e=typeof t;if(\\\"number\\\"===e||\\\"boolean\\\"===e||\\\"string\\\"===e||void 0===t||null===t)return JSON.stringify(t);if(Array.isArray(t)){for(var r=\\\"[\\\",i=0,a=t;i<a.length;i+=1)r+=n(a[i])+\\\",\\\";return r+\\\"]\\\"}for(var o=Object.keys(t).sort(),s=\\\"{\\\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\\\":\\\"+n(t[o[l]])+\\\",\\\";return s+\\\"}\\\"}function i(t){for(var e=\\\"\\\",r=0,i=a;r<i.length;r+=1)e+=\\\"/\\\"+n(t[i[r]]);return e}var a=t(\\\"./util/ref_properties\\\");e.exports=function(t){for(var e={},r=0;r<t.length;r++){var n=i(t[r]),a=e[n];a||(a=e[n]=[]),a.push(t[r])}var o=[];for(var s in e)o.push(e[s]);return o}},{\\\"./util/ref_properties\\\":159}],151:[function(t,e,r){e.exports=t(\\\"./v8.json\\\")},{\\\"./v8.json\\\":152}],152:[function(t,e,r){e.exports={$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_canvas\\\"],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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},attribution:{type:\\\"string\\\"},\\\"*\\\":{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.0511,180,85.0511]},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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},tileSize:{type:\\\"number\\\",default:512,units:\\\"pixels\\\"},attribution:{type:\\\"string\\\"},\\\"*\\\":{type:\\\"*\\\"}},source_geojson:{type:{required:!0,type:\\\"enum\\\",values:{geojson:{}}},data:{type:\\\"*\\\"},maxzoom:{type:\\\"number\\\",default:18},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\\\"}},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\\\"}}},source_canvas:{type:{required:!0,type:\\\"enum\\\",values:{canvas:{}}},coordinates:{required:!0,type:\\\"array\\\",length:4,value:{type:\\\"array\\\",length:2,value:\\\"number\\\"}},animate:{type:\\\"boolean\\\",default:\\\"true\\\"},canvas:{type:\\\"string\\\",required:!0}},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\\\"}},layout_fill:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_circle:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_heatmap:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},\\\"layout_fill-extrusion\\\":{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_line:{\\\"line-cap\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{butt:{},round:{},square:{}},default:\\\"butt\\\"},\\\"line-join\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{bevel:{},round:{},miter:{}},default:\\\"miter\\\"},\\\"line-miter-limit\\\":{type:\\\"number\\\",default:2,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"miter\\\"}]},\\\"line-round-limit\\\":{type:\\\"number\\\",default:1.05,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"round\\\"}]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_symbol:{\\\"symbol-placement\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{point:{},line:{}},default:\\\"point\\\"},\\\"symbol-spacing\\\":{type:\\\"number\\\",default:250,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"symbol-avoid-edges\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1},\\\"icon-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"icon-size\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"factor of the original icon size\\\",requires:[\\\"icon-image\\\"]},\\\"icon-text-fit\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{none:{},width:{},height:{},both:{}},default:\\\"none\\\",requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-text-fit-padding\\\":{type:\\\"array\\\",value:\\\"number\\\",length:4,default:[0,0,0,0],units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"icon-image\\\",\\\"text-field\\\",{\\\"icon-text-fit\\\":[\\\"both\\\",\\\"width\\\",\\\"height\\\"]}]},\\\"icon-image\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,tokens:!0},\\\"icon-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"degrees\\\",requires:[\\\"icon-image\\\"]},\\\"icon-padding\\\":{type:\\\"number\\\",default:2,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",{\\\"icon-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"icon-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"icon-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"icon-image\\\"]},\\\"icon-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"text-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-field\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:\\\"\\\",tokens:!0},\\\"text-font\\\":{type:\\\"array\\\",value:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:[\\\"Open Sans Regular\\\",\\\"Arial Unicode MS Regular\\\"],requires:[\\\"text-field\\\"]},\\\"text-size\\\":{type:\\\"number\\\",default:16,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-max-width\\\":{type:\\\"number\\\",default:10,minimum:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-line-height\\\":{type:\\\"number\\\",default:1.2,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-letter-spacing\\\":{type:\\\"number\\\",default:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-justify\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{left:{},center:{},right:{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-max-angle\\\":{type:\\\"number\\\",default:45,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\",{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-rotate\\\":{type:\\\"number\\\",default:0,period:360,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-padding\\\":{type:\\\"number\\\",default:2,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0,requires:[\\\"text-field\\\",{\\\"text-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-transform\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{none:{},uppercase:{},lowercase:{}},default:\\\"none\\\",requires:[\\\"text-field\\\"]},\\\"text-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,length:2,default:[0,0],requires:[\\\"text-field\\\"]},\\\"text-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\",\\\"icon-image\\\"]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_raster:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_hillshade:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},filter:{type:\\\"array\\\",value:\\\"*\\\"},filter_operator:{type:\\\"enum\\\",values:{\\\"==\\\":{},\\\"!=\\\":{},\\\">\\\":{},\\\">=\\\":{},\\\"<\\\":{},\\\"<=\\\":{},in:{},\\\"!in\\\":{},all:{},any:{},none:{},has:{},\\\"!has\\\":{}}},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:22,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\\\"},case:{group:\\\"Decision\\\"},match:{group:\\\"Decision\\\"},coalesce:{group:\\\"Decision\\\"},step:{group:\\\"Ramps, scales, curves\\\"},interpolate:{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\\\"},\\\"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\\\"},\\\"geometry-type\\\":{group:\\\"Feature data\\\"},id:{group:\\\"Feature data\\\"},zoom:{group:\\\"Zoom\\\"},\\\"heatmap-density\\\":{group:\\\"Heatmap\\\"},\\\"+\\\":{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\\\"},\\\"==\\\":{group:\\\"Decision\\\"},\\\"!=\\\":{group:\\\"Decision\\\"},\\\">\\\":{group:\\\"Decision\\\"},\\\"<\\\":{group:\\\"Decision\\\"},\\\">=\\\":{group:\\\"Decision\\\"},\\\"<=\\\":{group:\\\"Decision\\\"},all:{group:\\\"Decision\\\"},any:{group:\\\"Decision\\\"},\\\"!\\\":{group:\\\"Decision\\\"},upcase:{group:\\\"String\\\"},downcase:{group:\\\"String\\\"},concat:{group:\\\"String\\\"}}},light:{anchor:{type:\\\"enum\\\",default:\\\"viewport\\\",values:{map:{},viewport:{}},transition:!1,\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,function:\\\"piecewise-constant\\\"},position:{type:\\\"array\\\",default:[1.15,210,30],length:3,value:\\\"number\\\",transition:!0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1},color:{type:\\\"color\\\",default:\\\"#ffffff\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},intensity:{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,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\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0},\\\"fill-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"}]},\\\"fill-outline-color\\\":{type:\\\"color\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"},{\\\"fill-antialias\\\":!0}]},\\\"fill-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-translate\\\"]},\\\"fill-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},\\\"paint_fill-extrusion\\\":{\\\"fill-extrusion-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-extrusion-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-extrusion-pattern\\\"}]},\\\"fill-extrusion-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-extrusion-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-extrusion-translate\\\"]},\\\"fill-extrusion-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"fill-extrusion-height\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0},\\\"fill-extrusion-base\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0,requires:[\\\"fill-extrusion-height\\\"]}},paint_line:{\\\"line-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"line-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"line-translate\\\"]},\\\"line-width\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-gap-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-offset\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-dasharray\\\":{type:\\\"array\\\",value:\\\"number\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,minimum:0,transition:!0,units:\\\"line widths\\\",requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_circle:{\\\"circle-radius\\\":{type:\\\"number\\\",default:5,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-blur\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"circle-translate\\\"]},\\\"circle-pitch-scale\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\"},\\\"circle-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"circle-stroke-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-stroke-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-stroke-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_heatmap:{\\\"heatmap-radius\\\":{type:\\\"number\\\",default:30,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"heatmap-weight\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!1},\\\"heatmap-intensity\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},\\\"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\\\"],function:\\\"interpolated\\\",\\\"zoom-function\\\":!1,\\\"property-function\\\":!1,transition:!1},\\\"heatmap-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0}},paint_symbol:{\\\"icon-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"icon-image\\\",\\\"icon-translate\\\"]},\\\"text-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"text-field\\\",\\\"text-translate\\\"]}},paint_raster:{\\\"raster-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-hue-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"degrees\\\"},\\\"raster-brightness-min\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:0,minimum:0,maximum:1,transition:!0},\\\"raster-brightness-max\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"raster-saturation\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-contrast\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-fade-duration\\\":{type:\\\"number\\\",default:300,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1,units:\\\"milliseconds\\\"}},paint_hillshade:{\\\"hillshade-illumination-direction\\\":{type:\\\"number\\\",default:335,minimum:0,maximum:359,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1},\\\"hillshade-illumination-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"hillshade-exaggeration\\\":{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-shadow-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-highlight-color\\\":{type:\\\"color\\\",default:\\\"#FFFFFF\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-accent-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_background:{\\\"background-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"background-pattern\\\"}]},\\\"background-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"background-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},transition:{duration:{type:\\\"number\\\",default:300,minimum:0,units:\\\"milliseconds\\\"},delay:{type:\\\"number\\\",default:0,minimum:0,units:\\\"milliseconds\\\"}}}},{}],153:[function(t,e,r){var n=t(\\\"csscolorparser\\\").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if(\\\"string\\\"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return\\\"rgba(\\\"+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(\\\",\\\")+\\\")\\\"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>v?Math.pow(t,1/3):t/m+d}function i(t){return t>g?t*t*t:m*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/f),s=n((.2126729*e+.7151522*r+.072175*i)/h);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(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=h*i(e),r=f*i(r),n=p*i(n),new c(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var c=t(\\\"./color\\\"),u=t(\\\"./interpolate\\\").number,f=.95047,h=1,p=1.08883,d=4/29,g=6/29,m=3*g*g,v=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:u(t.l,e.l,r),a:u(t.a,e.a,r),b:u(t.b,e.b,r),alpha:u(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:u(t.c,e.c,r),l:u(t.l,e.l,r),alpha:u(t.alpha,e.alpha,r)}}}}},{\\\"./color\\\":153,\\\"./interpolate\\\":158}],155:[function(t,e,r){e.exports=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 i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r}},{}],156:[function(t,e,r){e.exports=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t}},{}],157:[function(t,e,r){e.exports=function(t){return t instanceof Number?\\\"number\\\":t instanceof String?\\\"string\\\":t instanceof Boolean?\\\"boolean\\\":Array.isArray(t)?\\\"array\\\":null===t?\\\"null\\\":typeof t}},{}],158:[function(t,e,r){function n(t,e,r){return t*(1-r)+e*r}var i=t(\\\"./color\\\");e.exports={number:n,color:function(t,e,r){return new i(n(t.r,e.r,r),n(t.g,e.g,r),n(t.b,e.b,r),n(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}}},{\\\"./color\\\":153}],159:[function(t,e,r){e.exports=[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"filter\\\",\\\"layout\\\"]},{}],160:[function(t,e,r){e.exports={success:function(t){return{result:\\\"success\\\",value:t}},error:function(t){return{result:\\\"error\\\",value:t}}}},{}],161:[function(t,e,r){function n(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}e.exports=n,e.exports.deep=function t(e){return Array.isArray(e)?e.map(t):n(e)}},{}],162:[function(t,e,r){var n=t(\\\"../util/extend\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"../expression\\\").isExpression,o=t(\\\"../function\\\").isFunction;e.exports=function(e){var r=t(\\\"./validate_function\\\"),s=t(\\\"./validate_expression\\\"),l=t(\\\"./validate_object\\\"),c={\\\"*\\\":function(){return[]},array:t(\\\"./validate_array\\\"),boolean:t(\\\"./validate_boolean\\\"),number:t(\\\"./validate_number\\\"),color:t(\\\"./validate_color\\\"),constants:t(\\\"./validate_constants\\\"),enum:t(\\\"./validate_enum\\\"),filter:t(\\\"./validate_filter\\\"),function:t(\\\"./validate_function\\\"),layer:t(\\\"./validate_layer\\\"),object:t(\\\"./validate_object\\\"),source:t(\\\"./validate_source\\\"),light:t(\\\"./validate_light\\\"),string:t(\\\"./validate_string\\\")},u=e.value,f=e.valueSpec,h=e.styleSpec;return f.function&&o(i(u))?r(e):f.function&&a(i.deep(u))?s(e):f.type&&c[f.type]?c[f.type](e):l(n({},e,{valueSpec:f.type?h[f.type]:f}))}},{\\\"../expression\\\":139,\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_array\\\":163,\\\"./validate_boolean\\\":164,\\\"./validate_color\\\":165,\\\"./validate_constants\\\":166,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168,\\\"./validate_filter\\\":169,\\\"./validate_function\\\":170,\\\"./validate_layer\\\":172,\\\"./validate_light\\\":174,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176,\\\"./validate_source\\\":179,\\\"./validate_string\\\":180}],163:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"./validate\\\"),a=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,c=t.arrayElementValidator||i;if(\\\"array\\\"!==n(e))return[new a(l,e,\\\"array expected, \\\"+n(e)+\\\" found\\\")];if(r.length&&e.length!==r.length)return[new a(l,e,\\\"array length \\\"+r.length+\\\" expected, length \\\"+e.length+\\\" found\\\")];if(r[\\\"min-length\\\"]&&e.length<r[\\\"min-length\\\"])return[new a(l,e,\\\"array length at least \\\"+r[\\\"min-length\\\"]+\\\" expected, length \\\"+e.length+\\\" found\\\")];var u={type:r.value};s.$version<7&&(u.function=r.function),\\\"object\\\"===n(r.value)&&(u=r.value);for(var f=[],h=0;h<e.length;h++)f=f.concat(c({array:e,arrayIndex:h,value:e[h],valueSpec:u,style:o,styleSpec:s,key:l+\\\"[\\\"+h+\\\"]\\\"}));return f}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],164:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"boolean\\\"!==a?[new i(r,e,\\\"boolean expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],165:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"csscolorparser\\\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\\\"string\\\"!==o?[new n(e,r,\\\"color expected, \\\"+o+\\\" found\\\")]:null===a(r)?[new n(e,r,'color expected, \\\"'+r+'\\\" found')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,csscolorparser:13}],166:[function(t,e,r){var n=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value;return r?[new n(e,r,\\\"constants have been deprecated as of v8\\\")]:[]}},{\\\"../error/validation_error\\\":122}],167:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return Array.isArray(a.values)?-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+a.values.join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")):-1===Object.keys(a.values).indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+Object.keys(a.values).join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")),o}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161}],168:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../expression\\\"),a=i.createExpression,o=i.createPropertyExpression,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=(\\\"property\\\"===t.expressionContext?o:a)(s.deep(t.value),t.valueSpec);return\\\"error\\\"===e.result?e.value.map(function(e){return new n(\\\"\\\"+t.key+e.key,t.value,e.message)}):\\\"property\\\"===t.expressionContext&&\\\"text-font\\\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new n(t.key,t.value,'Invalid data expression for \\\"text-font\\\". Output values must be contained as literals within the expression.')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../expression\\\":139,\\\"../util/unbundle_jsonlint\\\":161}],169:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_expression\\\"),a=t(\\\"./validate_enum\\\"),o=t(\\\"../util/get_type\\\"),s=t(\\\"../util/unbundle_jsonlint\\\"),l=t(\\\"../util/extend\\\"),c=t(\\\"../feature_filter\\\").isExpressionFilter;e.exports=function(t){return c(s.deep(t.value))?i(l({},t,{expressionContext:\\\"filter\\\",valueSpec:{value:\\\"boolean\\\"}})):function t(e){var r=e.value,i=e.key;if(\\\"array\\\"!==o(r))return[new n(i,r,\\\"array expected, \\\"+o(r)+\\\" found\\\")];var l,c=e.styleSpec,u=[];if(r.length<1)return[new n(i,r,\\\"filter array must have at least 1 element\\\")];switch(u=u.concat(a({key:i+\\\"[0]\\\",value:r[0],valueSpec:c.filter_operator,style:e.style,styleSpec:e.styleSpec})),s(r[0])){case\\\"<\\\":case\\\"<=\\\":case\\\">\\\":case\\\">=\\\":r.length>=2&&\\\"$type\\\"===s(r[1])&&u.push(new n(i,r,'\\\"$type\\\" cannot be use with operator \\\"'+r[0]+'\\\"'));case\\\"==\\\":case\\\"!=\\\":3!==r.length&&u.push(new n(i,r,'filter array for operator \\\"'+r[0]+'\\\" must have 3 elements'));case\\\"in\\\":case\\\"!in\\\":r.length>=2&&\\\"string\\\"!==(l=o(r[1]))&&u.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"));for(var f=2;f<r.length;f++)l=o(r[f]),\\\"$type\\\"===s(r[1])?u=u.concat(a({key:i+\\\"[\\\"+f+\\\"]\\\",value:r[f],valueSpec:c.geometry_type,style:e.style,styleSpec:e.styleSpec})):\\\"string\\\"!==l&&\\\"number\\\"!==l&&\\\"boolean\\\"!==l&&u.push(new n(i+\\\"[\\\"+f+\\\"]\\\",r[f],\\\"string, number, or boolean expected, \\\"+l+\\\" found\\\"));break;case\\\"any\\\":case\\\"all\\\":case\\\"none\\\":for(var h=1;h<r.length;h++)u=u.concat(t({key:i+\\\"[\\\"+h+\\\"]\\\",value:r[h],style:e.style,styleSpec:e.styleSpec}));break;case\\\"has\\\":case\\\"!has\\\":l=o(r[1]),2!==r.length?u.push(new n(i,r,'filter array for \\\"'+r[0]+'\\\" operator must have 2 elements')):\\\"string\\\"!==l&&u.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"))}return u}(t)}},{\\\"../error/validation_error\\\":122,\\\"../feature_filter\\\":148,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168}],170:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\"),o=t(\\\"./validate_object\\\"),s=t(\\\"./validate_array\\\"),l=t(\\\"./validate_number\\\"),c=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){function e(t){var e=[],s=t.value,u=t.key;if(\\\"array\\\"!==i(s))return[new n(u,s,\\\"array expected, \\\"+i(s)+\\\" found\\\")];if(2!==s.length)return[new n(u,s,\\\"array length 2 expected, length \\\"+s.length+\\\" found\\\")];if(y){if(\\\"object\\\"!==i(s[0]))return[new n(u,s,\\\"object expected, \\\"+i(s[0])+\\\" found\\\")];if(void 0===s[0].zoom)return[new n(u,s,\\\"object stop key must have zoom\\\")];if(void 0===s[0].value)return[new n(u,s,\\\"object stop key must have value\\\")];if(h&&h>c(s[0].zoom))return[new n(u,s[0].zoom,\\\"stop zoom values must appear in ascending order\\\")];c(s[0].zoom)!==h&&(h=c(s[0].zoom),f=void 0,g={}),e=e.concat(o({key:u+\\\"[0]\\\",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:u+\\\"[0]\\\",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:u+\\\"[1]\\\",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=c(t.value),o=null!==t.value?t.value:e;if(u){if(r!==u)return[new n(t.key,o,r+\\\" stop domain type must match previous stop domain type \\\"+u)]}else u=r;if(\\\"number\\\"!==r&&\\\"string\\\"!==r&&\\\"boolean\\\"!==r)return[new n(t.key,o,\\\"stop domain value must be a number, string, or boolean\\\")];if(\\\"number\\\"!==r&&\\\"categorical\\\"!==d){var s=\\\"number expected, \\\"+r+\\\" found\\\";return p[\\\"property-function\\\"]&&void 0===d&&(s+='\\\\nIf you intended to use a categorical function, specify `\\\"type\\\": \\\"categorical\\\"`.'),[new n(t.key,o,s)]}return\\\"categorical\\\"!==d||\\\"number\\\"!==r||isFinite(a)&&Math.floor(a)===a?\\\"categorical\\\"!==d&&\\\"number\\\"===r&&void 0!==f&&a<f?[new n(t.key,o,\\\"stop domain values must appear in ascending order\\\")]:(f=a,\\\"categorical\\\"===d&&a in g?[new n(t.key,o,\\\"stop domain values must be unique\\\")]:(g[a]=!0,[])):[new n(t.key,o,\\\"integer expected, found \\\"+a)]}var u,f,h,p=t.valueSpec,d=c(t.value.type),g={},m=\\\"categorical\\\"!==d&&void 0===t.value.property,v=!m,y=\\\"array\\\"===i(t.value.stops)&&\\\"array\\\"===i(t.value.stops[0])&&\\\"object\\\"===i(t.value.stops[0][0]),x=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\\\"identity\\\"===d)return[new n(t.key,t.value,'identity function may not have a \\\"stops\\\" property')];var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),\\\"array\\\"===i(a)&&0===a.length&&r.push(new n(t.key,a,\\\"array must have at least one stop\\\")),r},default:function(t){return a({key:t.key,value:t.value,valueSpec:p,style:t.style,styleSpec:t.styleSpec})}}});return\\\"identity\\\"===d&&m&&x.push(new n(t.key,t.value,'missing required property \\\"property\\\"')),\\\"identity\\\"===d||t.value.stops||x.push(new n(t.key,t.value,'missing required property \\\"stops\\\"')),\\\"exponential\\\"===d&&\\\"piecewise-constant\\\"===t.valueSpec.function&&x.push(new n(t.key,t.value,\\\"exponential functions not supported\\\")),t.styleSpec.$version>=8&&(v&&!t.valueSpec[\\\"property-function\\\"]?x.push(new n(t.key,t.value,\\\"property functions not supported\\\")):m&&!t.valueSpec[\\\"zoom-function\\\"]&&\\\"heatmap-color\\\"!==t.objectKey&&x.push(new n(t.key,t.value,\\\"zoom functions not supported\\\"))),\\\"categorical\\\"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'\\\"property\\\" property is required')),x}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_array\\\":163,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176}],171:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_string\\\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(\\\"{fontstack}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{fontstack}\\\" token')),-1===e.indexOf(\\\"{range}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{range}\\\" token')),a)}},{\\\"../error/validation_error\\\":122,\\\"./validate_string\\\":180}],172:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_filter\\\"),s=t(\\\"./validate_paint_property\\\"),l=t(\\\"./validate_layout_property\\\"),c=t(\\\"./validate\\\"),u=t(\\\"../util/extend\\\");e.exports=function(t){var e=[],r=t.value,f=t.key,h=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(f,r,'either \\\"type\\\" or \\\"ref\\\" is required'));var d,g=i(r.type),m=i(r.ref);if(r.id)for(var v=i(r.id),y=0;y<t.arrayIndex;y++){var x=h.layers[y];i(x.id)===v&&e.push(new n(f,r.id,'duplicate layer id \\\"'+r.id+'\\\", previously used at line '+x.id.__line__))}if(\\\"ref\\\"in r)[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"filter\\\",\\\"layout\\\"].forEach(function(t){t in r&&e.push(new n(f,r[t],'\\\"'+t+'\\\" is prohibited for ref layers'))}),h.layers.forEach(function(t){i(t.id)===m&&(d=t)}),d?d.ref?e.push(new n(f,r.ref,\\\"ref cannot reference another ref layer\\\")):g=i(d.type):e.push(new n(f,r.ref,'ref layer \\\"'+m+'\\\" not found'));else if(\\\"background\\\"!==g)if(r.source){var b=h.sources&&h.sources[r.source],_=b&&i(b.type);b?\\\"vector\\\"===_&&\\\"raster\\\"===g?e.push(new n(f,r.source,'layer \\\"'+r.id+'\\\" requires a raster source')):\\\"raster\\\"===_&&\\\"raster\\\"!==g?e.push(new n(f,r.source,'layer \\\"'+r.id+'\\\" requires a vector source')):\\\"vector\\\"!==_||r[\\\"source-layer\\\"]?\\\"raster-dem\\\"===_&&\\\"hillshade\\\"!==g&&e.push(new n(f,r.source,\\\"raster-dem source can only be used with layer type 'hillshade'.\\\")):e.push(new n(f,r,'layer \\\"'+r.id+'\\\" must specify a \\\"source-layer\\\"')):e.push(new n(f,r.source,'source \\\"'+r.source+'\\\" not found'))}else e.push(new n(f,r,'missing required property \\\"source\\\"'));return e=e.concat(a({key:f,value:r,valueSpec:p.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(){return[]},type:function(){return c({key:f+\\\".type\\\",value:r.type,valueSpec:p.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\\\"type\\\"})},filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return l(u({layerType:g},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return s(u({layerType:g},t))}}})}}}))}},{\\\"../error/validation_error\\\":122,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_filter\\\":169,\\\"./validate_layout_property\\\":173,\\\"./validate_object\\\":176,\\\"./validate_paint_property\\\":177}],173:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"layout\\\")}},{\\\"./validate_property\\\":178}],174:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.value,r=t.styleSpec,o=r.light,s=t.style,l=[],c=i(e);if(void 0===e)return l;if(\\\"object\\\"!==c)return l.concat([new n(\\\"light\\\",e,\\\"object expected, \\\"+c+\\\" found\\\")]);for(var u in e){var f=u.match(/^(.*)-transition$/);l=f&&o[f[1]]&&o[f[1]].transition?l.concat(a({key:u,value:e[u],valueSpec:r.transition,style:s,styleSpec:r})):o[u]?l.concat(a({key:u,value:e[u],valueSpec:o[u],style:s,styleSpec:r})):l.concat([new n(u,e[u],'unknown property \\\"'+u+'\\\"')])}return l}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],175:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\\\"number\\\"!==o?[new i(e,r,\\\"number expected, \\\"+o+\\\" found\\\")]:\\\"minimum\\\"in a&&r<a.minimum?[new i(e,r,r+\\\" is less than the minimum value \\\"+a.minimum)]:\\\"maximum\\\"in a&&r>a.maximum?[new i(e,r,r+\\\" is greater than the maximum value \\\"+a.maximum)]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],176:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec||{},s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if(\\\"object\\\"!==f)return[new n(e,r,\\\"object expected, \\\"+f+\\\" found\\\")];for(var h in r){var p=h.split(\\\".\\\")[0],d=o[p]||o[\\\"*\\\"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s[\\\"*\\\"])g=s[\\\"*\\\"];else{if(!o[\\\"*\\\"]){u.push(new n(e,r[h],'unknown property \\\"'+h+'\\\"'));continue}g=a}u=u.concat(g({key:(e?e+\\\".\\\":e)+h,value:r[h],valueSpec:d,style:l,styleSpec:c,object:r,objectKey:h},r))}for(var m in o)s[m]||o[m].required&&void 0===o[m].default&&void 0===r[m]&&u.push(new n(e,r,'missing required property \\\"'+m+'\\\"'));return u}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],177:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"paint\\\")}},{\\\"./validate_property\\\":178}],178:[function(t,e,r){var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\"),a=t(\\\"../util/get_type\\\"),o=t(\\\"../function\\\").isFunction,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t,e){var r=t.key,l=t.style,c=t.styleSpec,u=t.value,f=t.objectKey,h=c[e+\\\"_\\\"+t.layerType];if(!h)return[];var p=f.match(/^(.*)-transition$/);if(\\\"paint\\\"===e&&p&&h[p[1]]&&h[p[1]].transition)return n({key:r,value:u,valueSpec:c.transition,style:l,styleSpec:c});var d,g=t.valueSpec||h[f];if(!g)return[new i(r,u,'unknown property \\\"'+f+'\\\"')];if(\\\"string\\\"===a(u)&&g[\\\"property-function\\\"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(u)))return[new i(r,u,'\\\"'+f+'\\\" does not support interpolation syntax\\\\nUse an identity property function instead: `{ \\\"type\\\": \\\"identity\\\", \\\"property\\\": '+JSON.stringify(d[1])+\\\" }`.\\\")];var m=[];return\\\"symbol\\\"===t.layerType&&(\\\"text-field\\\"===f&&l&&!l.glyphs&&m.push(new i(r,u,'use of \\\"text-field\\\" requires a style \\\"glyphs\\\" property')),\\\"text-font\\\"===f&&o(s.deep(u))&&\\\"identity\\\"===s(u.type)&&m.push(new i(r,u,'\\\"text-font\\\" does not support identity functions'))),m.concat(n({key:t.key,value:u,valueSpec:g,style:l,styleSpec:c,expressionContext:\\\"property\\\",propertyKey:f}))}},{\\\"../error/validation_error\\\":122,\\\"../function\\\":149,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162}],179:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_enum\\\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\\\"type\\\" is required')];var c=i(e.type),u=[];switch(c){case\\\"vector\\\":case\\\"raster\\\":case\\\"raster-dem\\\":if(u=u.concat(a({key:r,value:e,valueSpec:s[\\\"source_\\\"+c.replace(\\\"-\\\",\\\"_\\\")],style:t.style,styleSpec:s})),\\\"url\\\"in e)for(var f in e)[\\\"type\\\",\\\"url\\\",\\\"tileSize\\\"].indexOf(f)<0&&u.push(new n(r+\\\".\\\"+f,e[f],'a source with a \\\"url\\\" property may not include a \\\"'+f+'\\\" property'));return u;case\\\"geojson\\\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\\\"video\\\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\\\"image\\\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});case\\\"canvas\\\":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+\\\".type\\\",value:e.type,valueSpec:{values:[\\\"vector\\\",\\\"raster\\\",\\\"raster-dem\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"]},style:l,styleSpec:s})}}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_object\\\":176}],180:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"string\\\"!==a?[new i(r,e,\\\"string expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],181:[function(t,e,r){function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\\\"\\\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c,\\\"*\\\":function(){return[]}}})),t.constants&&(r=r.concat(o({key:\\\"constants\\\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\\\"./validate/validate_constants\\\"),s=t(\\\"./validate/validate\\\"),l=t(\\\"./reference/latest\\\"),c=t(\\\"./validate/validate_glyphs_url\\\");n.source=a(t(\\\"./validate/validate_source\\\")),n.light=a(t(\\\"./validate/validate_light\\\")),n.layer=a(t(\\\"./validate/validate_layer\\\")),n.filter=a(t(\\\"./validate/validate_filter\\\")),n.paintProperty=a(t(\\\"./validate/validate_paint_property\\\")),n.layoutProperty=a(t(\\\"./validate/validate_layout_property\\\")),e.exports=n},{\\\"./reference/latest\\\":151,\\\"./validate/validate\\\":162,\\\"./validate/validate_constants\\\":166,\\\"./validate/validate_filter\\\":169,\\\"./validate/validate_glyphs_url\\\":171,\\\"./validate/validate_layer\\\":172,\\\"./validate/validate_layout_property\\\":173,\\\"./validate/validate_light\\\":174,\\\"./validate/validate_paint_property\\\":177,\\\"./validate/validate_source\\\":179}],182:[function(t,e,r){var n=t(\\\"./zoom_history\\\"),i=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 n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{\\\"./zoom_history\\\":212}],183:[function(t,e,r){var n=t(\\\"../style-spec/reference/latest\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./validate_style\\\"),s=t(\\\"../util/util\\\").sphericalToCartesian,l=(t(\\\"../style-spec/util/color\\\"),t(\\\"../style-spec/util/interpolate\\\")),c=t(\\\"./properties\\\"),u=c.Properties,f=c.Transitionable,h=(c.Transitioning,c.PossiblyEvaluated,c.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new u({anchor:new h(n.light.anchor),position:new p,color:new h(n.light.color),intensity:new h(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new f(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,\\\"-transition\\\")?this._transitionable.setTransition(e.slice(0,-\\\"-transition\\\".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{\\\"../style-spec/reference/latest\\\":151,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./validate_style\\\":211}],184:[function(t,e,r){var n=t(\\\"../util/mapbox\\\").normalizeGlyphsURL,i=t(\\\"../util/ajax\\\"),a=t(\\\"./parse_glyph_pbf\\\");e.exports=function(t,e,r,o,s){var l=256*e,c=l+255,u=o(n(r).replace(\\\"{fontstack}\\\",t).replace(\\\"{range}\\\",l+\\\"-\\\"+c),i.ResourceType.Glyphs);i.getArrayBuffer(u,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n<i.length;n+=1){var o=i[n];r[o.id]=o}s(null,r)}})}},{\\\"../util/ajax\\\":251,\\\"../util/mapbox\\\":267,\\\"./parse_glyph_pbf\\\":186}],185:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/browser\\\"),a=t(\\\"../util/mapbox\\\").normalizeSpriteURL,o=t(\\\"../util/image\\\").RGBAImage;e.exports=function(t,e,r){function s(){if(u)r(u);else if(l&&c){var t=i.getImageData(c),e={};for(var n in l){var a=l[n],s=a.width,f=a.height,h=a.x,p=a.y,d=a.sdf,g=a.pixelRatio,m=new o({width:s,height:f});o.copy(t,m,{x:h,y:p},{x:0,y:0},{width:s,height:f}),e[n]={data:m,pixelRatio:g,sdf:d}}r(null,e)}}var l,c,u,f=i.devicePixelRatio>1?\\\"@2x\\\":\\\"\\\";n.getJSON(e(a(t,f,\\\".json\\\"),n.ResourceType.SpriteJSON),function(t,e){u||(u=t,l=e,s())}),n.getImage(e(a(t,f,\\\".png\\\"),n.ResourceType.SpriteImage),function(t,e){u||(u=t,c=e,s())})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/image\\\":263,\\\"../util/mapbox\\\":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,c=n.width,u=n.height,f=n.left,h=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:c+2*l,height:u+2*l},s),metrics:{width:c,height:u,left:f,top:h,advance:p}})}}function a(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())}var o=t(\\\"../util/image\\\").AlphaImage,s=t(\\\"pbf\\\"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{\\\"../util/image\\\":263,pbf:30}],187:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../symbol/placement\\\"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex<t.length;){var o=t[a._currentTileIndex];if(e.placeLayerTile(n,o,r,a._seenCrossTileIDs),a._currentTileIndex++,i())return!0}};var o=function(t,e,r,n,a){this.placement=new i(t,a),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};o.prototype.isDone=function(){return this._done},o.prototype.continuePlacement=function(t,e,r){for(var i=this,o=n.now(),s=function(){var t=n.now()-o;return!i._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],c=i.placement.collisionIndex.transform.zoom;if(\\\"symbol\\\"===l.type&&(!l.minzoom||l.minzoom<=c)&&(!l.maxzoom||l.maxzoom>c)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{\\\"../symbol/placement\\\":223,\\\"../util/browser\\\":252}],188:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t(\\\"../style-spec/util/interpolate\\\"),l=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,c=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),u=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};u.prototype.isDataDriven=function(){return\\\"source\\\"===this.expression.kind||\\\"composite\\\"===this.expression.kind},u.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var f=function(t){this.property=t,this.value=new u(t,void 0)};f.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},f.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var h=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};h.prototype.getValue=function(t){return i(this._values[t].value.value)},h.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].value=new u(this._values[t].property,null===e?void 0:i(e))},h.prototype.getTransition=function(t){return i(this._values[t].transition)},h.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].transition=i(e)||void 0},h.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);r<n.length;r+=1){var i=n[r],a=t.getValue(i);void 0!==a&&(e[i]=a);var o=t.getTransition(i);void 0!==o&&(e[i+\\\"-transition\\\"]=o)}return e},h.prototype.transitioned=function(t,e){for(var r=new d(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},h.prototype.untransitioned=function(){for(var t=new d(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 p=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};p.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,o(i))}return r};var d=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};d.prototype.possiblyEvaluate=function(t){for(var e=new v(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},d.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var g=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};g.prototype.getValue=function(t){return i(this._values[t].value)},g.prototype.setValue=function(t,e){this._values[t]=new u(this._values[t].property,null===e?void 0:i(e))},g.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},g.prototype.possiblyEvaluate=function(t){for(var e=new v(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var m=function(t,e,r){this.property=t,this.value=e,this.globals=r};m.prototype.isConstant=function(){return\\\"constant\\\"===this.value.kind},m.prototype.constantOr=function(t){return\\\"constant\\\"===this.value.kind?this.value.value:t},m.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var v=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};v.prototype.get=function(t){return this._values[t]};var y=function(t){this.specification=t};y.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},y.prototype.interpolate=function(t,e,r){var n=s[this.specification.type];return n?n(t,e,r):t};var x=function(t){this.specification=t};x.prototype.possiblyEvaluate=function(t,e){return\\\"constant\\\"===t.expression.kind||\\\"camera\\\"===t.expression.kind?new m(this,{kind:\\\"constant\\\",value:t.expression.evaluate(e)},e):new m(this,t.expression,e)},x.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){var n=s[this.specification.type];return n?new m(this,{kind:\\\"constant\\\",value:n(t.value.value,e.value.value,r)},t.globals):t}},x.prototype.evaluate=function(t,e,r){return\\\"constant\\\"===t.kind?t.value:t.evaluate(e,r)};var b=function(t){this.specification=t};b.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\\\"constant\\\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e)}},b.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};c(\\\"DataDrivenProperty\\\",x),c(\\\"DataConstantProperty\\\",y),c(\\\"CrossFadedProperty\\\",b),c(\\\"HeatmapColorProperty\\\",_),e.exports={PropertyValue:u,Transitionable:h,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:m,PossiblyEvaluated:v,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new u(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new f(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],189:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return\\\"constant\\\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);\\\"viewport\\\"===r&&o._rotate(-i);for(var s=[],l=0;l<t.length;l++){for(var c=t[l],u=[],f=0;f<c.length;f++)u.push(c[f].sub(o._mult(a)));s.push(u)}return s}}},{\\\"@mapbox/point-geometry\\\":4}],190:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"./style_layer\\\"),a=t(\\\"./load_sprite\\\"),o=t(\\\"../render/image_manager\\\"),s=t(\\\"../render/glyph_manager\\\"),l=t(\\\"./light\\\"),c=t(\\\"../render/line_atlas\\\"),u=t(\\\"../util/util\\\"),f=t(\\\"../util/ajax\\\"),h=t(\\\"../util/mapbox\\\"),p=t(\\\"../util/browser\\\"),d=t(\\\"../util/dispatcher\\\"),g=t(\\\"./validate_style\\\"),m=t(\\\"../source/source\\\").getType,v=t(\\\"../source/source\\\").setType,y=t(\\\"../source/query_features\\\"),x=t(\\\"../source/source_cache\\\"),b=(t(\\\"../source/geojson_source\\\"),t(\\\"../style-spec/reference/latest\\\")),_=t(\\\"../util/global_worker_pool\\\"),w=t(\\\"../style-spec/deref\\\"),k=t(\\\"../style-spec/diff\\\"),M=t(\\\"../source/rtl_text_plugin\\\"),A=t(\\\"./pauseable_placement\\\"),T=t(\\\"./zoom_history\\\"),S=t(\\\"../symbol/cross_tile_symbol_index\\\"),C=u.pick(k.operations,[\\\"addLayer\\\",\\\"removeLayer\\\",\\\"setPaintProperty\\\",\\\"setLayoutProperty\\\",\\\"setFilter\\\",\\\"addSource\\\",\\\"removeSource\\\",\\\"setLayerZoomRange\\\",\\\"setLight\\\",\\\"setTransition\\\",\\\"setGeoJSONSourceData\\\"]),E=u.pick(k.operations,[\\\"setCenter\\\",\\\"setZoom\\\",\\\"setBearing\\\",\\\"setPitch\\\"]),L=function(t){function e(e,r){var n=this;void 0===r&&(r={}),t.call(this),this.map=e,this.dispatcher=new d(_(),this),this.imageManager=new o,this.glyphManager=new s(e._transformRequest,r.localIdeographFontFamily),this.lineAtlas=new c(256,512),this.crossTileSymbolIndex=new S,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new T,this._loaded=!1,this._resetUpdates();var i=this;this._rtlTextPluginCallback=M.registerForPluginAvailability(function(t){for(var e in i.dispatcher.broadcast(\\\"loadRTLTextPlugin\\\",t.pluginBlobURL,t.errorCallback),i.sourceCaches)i.sourceCaches[e].reload()}),this.on(\\\"data\\\",function(t){if(\\\"source\\\"===t.dataType&&\\\"metadata\\\"===t.sourceDataType){var e=n.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var i in n._layers){var a=n._layers[i];a.source===r.id&&n._validateLayer(a)}}}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadURL=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"});var n=\\\"boolean\\\"==typeof e.validate?e.validate:!h.isMapboxURL(t);t=h.normalizeStyleURL(t,e.accessToken);var i=this.map._transformRequest(t,f.ResourceType.Style);f.getJSON(i,function(t,e){t?r.fire(\\\"error\\\",{error:t}):e&&r._load(e,n)})},e.prototype.loadJSON=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"}),p.frame(function(){r._load(t,!1!==e.validate)})},e.prototype._load=function(t,e){var r=this;if(!e||!g.emitErrors(this,g(t))){for(var n in this._loaded=!0,this.stylesheet=t,t.sources)r.addSource(n,t.sources[n],{validate:!1});t.sprite?a(t.sprite,this.map._transformRequest,function(t,e){if(t)r.fire(\\\"error\\\",t);else if(e)for(var n in e)r.imageManager.addImage(n,e[n]);r.imageManager.setLoaded(!0),r.fire(\\\"data\\\",{dataType:\\\"style\\\"})}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs);var o=w(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,c=o;s<c.length;s+=1){var u=c[s];(u=i.create(u)).setEventedParent(r,{layer:{id:u.id}}),r._layers[u.id]=u}this.dispatcher.broadcast(\\\"setLayers\\\",this._serializeLayers(this._order)),this.light=new l(this.stylesheet.light),this.fire(\\\"data\\\",{dataType:\\\"style\\\"}),this.fire(\\\"style.load\\\")}},e.prototype._validateLayer=function(t){var e=this.sourceCaches[t.source];if(e){var r=t.sourceLayer;if(r){var n=e.getSource();(\\\"geojson\\\"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(\\\"error\\\",{error:new Error('Source layer \\\"'+r+'\\\" does not exist on source \\\"'+n.id+'\\\" as specified by style layer \\\"'+t.id+'\\\"')})}}},e.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()},e.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},e.prototype.hasTransitions=function(){var t=this;if(this.light&&this.light.hasTransition())return!0;for(var e in t.sourceCaches)if(t.sourceCaches[e].hasTransition())return!0;for(var r in t._layers)if(t._layers[r].hasTransition())return!0;return!1},e.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\\\"Style is not done loading\\\")},e.prototype.update=function(t){var e=this;if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),e._updatedSources){var a=e._updatedSources[i];\\\"reload\\\"===a?e._reloadSource(i):\\\"clear\\\"===a&&e._clearSource(i)}for(var o in e._updatedPaintProps)e._layers[o].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates(),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})}for(var s in e.sourceCaches)e.sourceCaches[s].used=!1;for(var l=0,c=e._order;l<c.length;l+=1){var u=c[l],f=e._layers[u];f.recalculate(t),!f.isHidden(t.zoom)&&f.source&&(e.sourceCaches[f.source].used=!0)}this.light.recalculate(t),this.z=t.zoom}},e.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\\\"updateLayers\\\",{layers:this._serializeLayers(t),removedIds:e})},e.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},e.prototype.setState=function(t){var e=this;if(this._checkLoaded(),g.emitErrors(this,g(t)))return!1;(t=u.clone(t)).layers=w(t.layers);var r=k(this.serialize(),t).filter(function(t){return!(t.command in E)});if(0===r.length)return!1;var n=r.filter(function(t){return!(t.command in C)});if(n.length>0)throw new Error(\\\"Unimplemented: \\\"+n.map(function(t){return t.command}).join(\\\", \\\")+\\\".\\\");return r.forEach(function(t){\\\"setTransition\\\"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"An image with this name already exists.\\\")});this.imageManager.addImage(t,e),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"No image with this name exists.\\\")});this.imageManager.removeImage(t),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(\\\"There is already a source with this ID\\\");if(!e.type)throw new Error(\\\"The type property must be defined, but the only the following properties were given: \\\"+Object.keys(e).join(\\\", \\\")+\\\".\\\");if(!([\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"].indexOf(e.type)>=0&&this._validate(g.source,\\\"sources.\\\"+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\\\"There is no source with this ID\\\");for(var r in e._layers)if(e._layers[r].source===t)return e.fire(\\\"error\\\",{error:new Error('Source \\\"'+t+'\\\" cannot be removed while layer \\\"'+r+'\\\" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(\\\"data\\\",{sourceDataType:\\\"metadata\\\",dataType:\\\"source\\\",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if(\\\"object\\\"==typeof t.source&&(this.addSource(n,t.source),t=u.clone(t),t=u.extend(t,{source:n})),!this._validate(g.layer,\\\"layers.\\\"+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]=\\\"clear\\\":(this._updatedSources[a.source]=\\\"reload\\\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be moved.\\\")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be removed.\\\")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot have zoom extent.\\\")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return u.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,\\\"layers.\\\"+r.id+\\\".filter\\\",e)||(r.filter=u.clone(e),this._updateLayer(r)));this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be filtered.\\\")})},e.prototype.getFilter=function(t){return u.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?u.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!u.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return u.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return u.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:u.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\\\"reload\\\",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var c=l[s];e.push(c)}}return e},e.prototype.queryRenderedFeatures=function(t,e,r,n){var i=this;e&&e.filter&&this._validate(g.filter,\\\"queryRenderedFeatures.filter\\\",e.filter);var a={};if(e&&e.layers){if(!Array.isArray(e.layers))return this.fire(\\\"error\\\",{error:\\\"parameters.layers must be an Array.\\\"}),[];for(var o=0,s=e.layers;o<s.length;o+=1){var l=s[o],c=i._layers[l];if(!c)return i.fire(\\\"error\\\",{error:\\\"The layer '\\\"+l+\\\"' does not exist in the map's style and cannot be queried for features.\\\"}),[];a[c.source]=!0}}var u=[];for(var f in i.sourceCaches)if(!e.layers||a[f]){var h=y.rendered(i.sourceCaches[f],i._layers,t,e,r,n,i.placement?i.placement.collisionIndex:null);u.push(h)}return this._flattenRenderedFeatures(u)},e.prototype.querySourceFeatures=function(t,e){e&&e.filter&&this._validate(g.filter,\\\"querySourceFeatures.filter\\\",e.filter);var r=this.sourceCaches[t];return r?y.source(r,e):[]},e.prototype.addSourceType=function(t,e,r){return m(t)?r(new Error('A source type called \\\"'+t+'\\\" already exists.')):(v(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\\\"loadWorkerSource\\\",{name:t,url:e.workerSourceURL},r):r(null,null))},e.prototype.getLight=function(){return this.light.getLight()},e.prototype.setLight=function(t){this._checkLoaded();var e=this.light.getLight(),r=!1;for(var n in t)if(!u.deepEqual(t[n],e[n])){r=!0;break}if(r){var i={now:p.now(),transition:u.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t),this.light.updateTransitions(i)}},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&g.emitErrors(this,t.call(g,u.extend({key:e,style:this.serialize(),value:r,styleSpec:b},n)))},e.prototype._remove=function(){for(var t in M.evented.off(\\\"pluginAvailable\\\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[t].clearTiles();this.dispatcher.remove()},e.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},e.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},e.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},e.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},e.prototype._updatePlacement=function(t,e,r){for(var n=this,i=!1,a=!1,o={},s=0,l=n._order;s<l.length;s+=1){var c=l[s],u=n._layers[c];if(\\\"symbol\\\"===u.type){if(!o[u.source]){var f=n.sourceCaches[u.source];o[u.source]=f.getRenderableIds().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 h=n.crossTileSymbolIndex.addLayer(u,o[u.source]);i=i||h}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(p.now()))&&(this.pauseablePlacement=new A(t,this._order,d,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,p.now()),a=!0),i&&this.pauseablePlacement.placement.setStale()),a||i)for(var g=0,m=n._order;g<m.length;g+=1){var v=m[g],y=n._layers[v];\\\"symbol\\\"===y.type&&n.placement.updateLayerOpacities(y,o[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(p.now())},e.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},e.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},e}(n);e.exports=L},{\\\"../render/glyph_manager\\\":86,\\\"../render/image_manager\\\":88,\\\"../render/line_atlas\\\":89,\\\"../source/geojson_source\\\":99,\\\"../source/query_features\\\":105,\\\"../source/rtl_text_plugin\\\":109,\\\"../source/source\\\":110,\\\"../source/source_cache\\\":111,\\\"../style-spec/deref\\\":120,\\\"../style-spec/diff\\\":121,\\\"../style-spec/reference/latest\\\":151,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dispatcher\\\":258,\\\"../util/evented\\\":260,\\\"../util/global_worker_pool\\\":262,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./light\\\":183,\\\"./load_sprite\\\":185,\\\"./pauseable_placement\\\":187,\\\"./style_layer\\\":191,\\\"./validate_style\\\":211,\\\"./zoom_history\\\":212}],191:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/reference/latest\\\"),a=t(\\\"./validate_style\\\"),o=t(\\\"../util/evented\\\"),s=t(\\\"./properties\\\"),l=s.Layout,c=s.Transitionable,u=(s.Transitioning,s.Properties,function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\\\"visible\\\",\\\"background\\\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\\\"source-layer\\\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new l(r.layout)),this._transitionablePaint=new c(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\\\"visibility\\\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!==e&&void 0!==e){var n=\\\"layers.\\\"+this.id+\\\".layout.\\\"+t;if(this._validate(a.layoutProperty,n,t,e,r))return}\\\"visibility\\\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\\\"none\\\"===e?e:\\\"visible\\\"},e.prototype.getPaintProperty=function(t){return n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.getTransition(t.slice(0,-\\\"-transition\\\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!==e&&void 0!==e){var i=\\\"layers.\\\"+this.id+\\\".paint.\\\"+t;if(this._validate(a.paintProperty,i,t,e,r))return}n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.setTransition(t.slice(0,-\\\"-transition\\\".length),e||void 0):this._transitionablePaint.setValue(t,e)},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){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},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\\\"none\\\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\\\"none\\\"),n.filterObject(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,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=u;var f={circle:t(\\\"./style_layer/circle_style_layer\\\"),heatmap:t(\\\"./style_layer/heatmap_style_layer\\\"),hillshade:t(\\\"./style_layer/hillshade_style_layer\\\"),fill:t(\\\"./style_layer/fill_style_layer\\\"),\\\"fill-extrusion\\\":t(\\\"./style_layer/fill_extrusion_style_layer\\\"),line:t(\\\"./style_layer/line_style_layer\\\"),symbol:t(\\\"./style_layer/symbol_style_layer\\\"),background:t(\\\"./style_layer/background_style_layer\\\"),raster:t(\\\"./style_layer/raster_style_layer\\\")};u.create=function(t){return new f[t.type](t)}},{\\\"../style-spec/reference/latest\\\":151,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./style_layer/background_style_layer\\\":192,\\\"./style_layer/circle_style_layer\\\":194,\\\"./style_layer/fill_extrusion_style_layer\\\":196,\\\"./style_layer/fill_style_layer\\\":198,\\\"./style_layer/heatmap_style_layer\\\":200,\\\"./style_layer/hillshade_style_layer\\\":202,\\\"./style_layer/line_style_layer\\\":204,\\\"./style_layer/raster_style_layer\\\":206,\\\"./style_layer/symbol_style_layer\\\":208,\\\"./validate_style\\\":211}],192:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./background_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./background_style_layer_properties\\\":193}],193:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({\\\"background-color\\\":new o(n.paint_background[\\\"background-color\\\"]),\\\"background-pattern\\\":new s(n.paint_background[\\\"background-pattern\\\"]),\\\"background-opacity\\\":new o(n.paint_background[\\\"background-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],194:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/circle_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiPoint,o=t(\\\"../query_utils\\\"),s=o.getMaximumPaintValue,l=o.translateDistance,c=o.translate,u=t(\\\"./circle_style_layer_properties\\\"),f=t(\\\"../properties\\\"),h=(f.Transitionable,f.Transitioning,f.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s(\\\"circle-radius\\\",this,e)+s(\\\"circle-stroke-width\\\",this,e)+l(this.paint.get(\\\"circle-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=c(t,this.paint.get(\\\"circle-translate\\\"),this.paint.get(\\\"circle-translate-anchor\\\"),i,o),l=this.paint.get(\\\"circle-radius\\\").evaluate(e)*o,u=this.paint.get(\\\"circle-stroke-width\\\").evaluate(e)*o;return a(s,r,l+u)},e}(n));e.exports=h},{\\\"../../data/bucket/circle_bucket\\\":42,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./circle_style_layer_properties\\\":195}],195:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"circle-radius\\\":new s(n.paint_circle[\\\"circle-radius\\\"]),\\\"circle-color\\\":new s(n.paint_circle[\\\"circle-color\\\"]),\\\"circle-blur\\\":new s(n.paint_circle[\\\"circle-blur\\\"]),\\\"circle-opacity\\\":new s(n.paint_circle[\\\"circle-opacity\\\"]),\\\"circle-translate\\\":new o(n.paint_circle[\\\"circle-translate\\\"]),\\\"circle-translate-anchor\\\":new o(n.paint_circle[\\\"circle-translate-anchor\\\"]),\\\"circle-pitch-scale\\\":new o(n.paint_circle[\\\"circle-pitch-scale\\\"]),\\\"circle-pitch-alignment\\\":new o(n.paint_circle[\\\"circle-pitch-alignment\\\"]),\\\"circle-stroke-width\\\":new s(n.paint_circle[\\\"circle-stroke-width\\\"]),\\\"circle-stroke-color\\\":new s(n.paint_circle[\\\"circle-stroke-color\\\"]),\\\"circle-stroke-opacity\\\":new s(n.paint_circle[\\\"circle-stroke-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],196:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_extrusion_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,c=t(\\\"./fill_extrusion_style_layer_properties\\\"),u=t(\\\"../properties\\\"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-extrusion-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-extrusion-translate\\\"),this.paint.get(\\\"fill-extrusion-translate-anchor\\\"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"fill-extrusion-opacity\\\")&&\\\"none\\\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=f},{\\\"../../data/bucket/fill_extrusion_bucket\\\":46,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_extrusion_style_layer_properties\\\":197}],197:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({\\\"fill-extrusion-opacity\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-opacity\\\"]),\\\"fill-extrusion-color\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-color\\\"]),\\\"fill-extrusion-translate\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate\\\"]),\\\"fill-extrusion-translate-anchor\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate-anchor\\\"]),\\\"fill-extrusion-pattern\\\":new l(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-pattern\\\"]),\\\"fill-extrusion-height\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-height\\\"]),\\\"fill-extrusion-base\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-base\\\"])}));e.exports={paint:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],198:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,c=t(\\\"./fill_style_layer_properties\\\"),u=t(\\\"../properties\\\"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue(\\\"fill-outline-color\\\")&&(this.paint._values[\\\"fill-outline-color\\\"]=this.paint._values[\\\"fill-color\\\"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-translate\\\"),this.paint.get(\\\"fill-translate-anchor\\\"),i,o);return a(s,r)},e}(n));e.exports=f},{\\\"../../data/bucket/fill_bucket\\\":44,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_style_layer_properties\\\":199}],199:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({\\\"fill-antialias\\\":new o(n.paint_fill[\\\"fill-antialias\\\"]),\\\"fill-opacity\\\":new s(n.paint_fill[\\\"fill-opacity\\\"]),\\\"fill-color\\\":new s(n.paint_fill[\\\"fill-color\\\"]),\\\"fill-outline-color\\\":new s(n.paint_fill[\\\"fill-outline-color\\\"]),\\\"fill-translate\\\":new o(n.paint_fill[\\\"fill-translate\\\"]),\\\"fill-translate-anchor\\\":new o(n.paint_fill[\\\"fill-translate-anchor\\\"]),\\\"fill-pattern\\\":new l(n.paint_fill[\\\"fill-pattern\\\"])}));e.exports={paint:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],200:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/heatmap_bucket\\\"),a=t(\\\"../../util/image\\\").RGBAImage,o=t(\\\"./heatmap_style_layer_properties\\\"),s=t(\\\"../properties\\\"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\\\"heatmap-color\\\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values[\\\"heatmap-color\\\"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n<r;n+=4){var i=t.evaluate({heatmapDensity:n/r});e[n+0]=Math.floor(255*i.r/i.a),e[n+1]=Math.floor(255*i.g/i.a),e[n+2]=Math.floor(255*i.b/i.a),e[n+3]=Math.floor(255*i.a)}this.colorRamp=new a({width:256,height:1},e),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}(n));e.exports=l},{\\\"../../data/bucket/heatmap_bucket\\\":47,\\\"../../util/image\\\":263,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./heatmap_style_layer_properties\\\":201}],201:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty),c=new a({\\\"heatmap-radius\\\":new s(n.paint_heatmap[\\\"heatmap-radius\\\"]),\\\"heatmap-weight\\\":new s(n.paint_heatmap[\\\"heatmap-weight\\\"]),\\\"heatmap-intensity\\\":new o(n.paint_heatmap[\\\"heatmap-intensity\\\"]),\\\"heatmap-color\\\":new l(n.paint_heatmap[\\\"heatmap-color\\\"]),\\\"heatmap-opacity\\\":new o(n.paint_heatmap[\\\"heatmap-opacity\\\"])});e.exports={paint:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],202:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./hillshade_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"hillshade-exaggeration\\\")&&\\\"none\\\"!==this.visibility},e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./hillshade_style_layer_properties\\\":203}],203:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"hillshade-illumination-direction\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-direction\\\"]),\\\"hillshade-illumination-anchor\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-anchor\\\"]),\\\"hillshade-exaggeration\\\":new o(n.paint_hillshade[\\\"hillshade-exaggeration\\\"]),\\\"hillshade-shadow-color\\\":new o(n.paint_hillshade[\\\"hillshade-shadow-color\\\"]),\\\"hillshade-highlight-color\\\":new o(n.paint_hillshade[\\\"hillshade-highlight-color\\\"]),\\\"hillshade-accent-color\\\":new o(n.paint_hillshade[\\\"hillshade-accent-color\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],204:[function(t,e,r){function n(t,e){return e>0?e+2*t:t}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../style_layer\\\"),o=t(\\\"../../data/bucket/line_bucket\\\"),s=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiLine,l=t(\\\"../query_utils\\\"),c=l.getMaximumPaintValue,u=l.translateDistance,f=l.translate,h=t(\\\"./line_style_layer_properties\\\"),p=t(\\\"../../util/util\\\").extend,d=t(\\\"../evaluation_parameters\\\"),g=t(\\\"../properties\\\"),m=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(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){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(h.paint.properties[\\\"line-width\\\"].specification));m.useIntegerZoom=!0;var v=function(t){function e(e){t.call(this,e,h)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\\\"line-floorwidth\\\"]=m.possiblyEvaluate(this._transitioningPaint._values[\\\"line-width\\\"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(c(\\\"line-width\\\",this,e),c(\\\"line-gap-width\\\",this,e)),i=c(\\\"line-offset\\\",this,e);return r/2+Math.abs(i)+u(this.paint.get(\\\"line-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var c=f(t,this.paint.get(\\\"line-translate\\\"),this.paint.get(\\\"line-translate-anchor\\\"),o,l),u=l/2*n(this.paint.get(\\\"line-width\\\").evaluate(e),this.paint.get(\\\"line-gap-width\\\").evaluate(e)),h=this.paint.get(\\\"line-offset\\\").evaluate(e);return h&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var c=o[l-1],u=o[l],f=o[l+1],h=0===l?n:u.sub(c)._unit()._perp(),p=l===o.length-1?n:f.sub(u)._unit()._perp(),d=h._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(u))}r.push(s)}return r}(r,h*l)),s(c,r,u)},e}(a);e.exports=v},{\\\"../../data/bucket/line_bucket\\\":49,\\\"../../util/intersection_tests\\\":264,\\\"../../util/util\\\":275,\\\"../evaluation_parameters\\\":182,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./line_style_layer_properties\\\":205,\\\"@mapbox/point-geometry\\\":4}],205:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({\\\"line-cap\\\":new o(n.layout_line[\\\"line-cap\\\"]),\\\"line-join\\\":new s(n.layout_line[\\\"line-join\\\"]),\\\"line-miter-limit\\\":new o(n.layout_line[\\\"line-miter-limit\\\"]),\\\"line-round-limit\\\":new o(n.layout_line[\\\"line-round-limit\\\"])})),u=new a({\\\"line-opacity\\\":new s(n.paint_line[\\\"line-opacity\\\"]),\\\"line-color\\\":new s(n.paint_line[\\\"line-color\\\"]),\\\"line-translate\\\":new o(n.paint_line[\\\"line-translate\\\"]),\\\"line-translate-anchor\\\":new o(n.paint_line[\\\"line-translate-anchor\\\"]),\\\"line-width\\\":new s(n.paint_line[\\\"line-width\\\"]),\\\"line-gap-width\\\":new s(n.paint_line[\\\"line-gap-width\\\"]),\\\"line-offset\\\":new s(n.paint_line[\\\"line-offset\\\"]),\\\"line-blur\\\":new s(n.paint_line[\\\"line-blur\\\"]),\\\"line-dasharray\\\":new l(n.paint_line[\\\"line-dasharray\\\"]),\\\"line-pattern\\\":new l(n.paint_line[\\\"line-pattern\\\"])});e.exports={paint:u,layout:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],206:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./raster_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./raster_style_layer_properties\\\":207}],207:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"raster-opacity\\\":new o(n.paint_raster[\\\"raster-opacity\\\"]),\\\"raster-hue-rotate\\\":new o(n.paint_raster[\\\"raster-hue-rotate\\\"]),\\\"raster-brightness-min\\\":new o(n.paint_raster[\\\"raster-brightness-min\\\"]),\\\"raster-brightness-max\\\":new o(n.paint_raster[\\\"raster-brightness-max\\\"]),\\\"raster-saturation\\\":new o(n.paint_raster[\\\"raster-saturation\\\"]),\\\"raster-contrast\\\":new o(n.paint_raster[\\\"raster-contrast\\\"]),\\\"raster-fade-duration\\\":new o(n.paint_raster[\\\"raster-fade-duration\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],208:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/symbol_bucket\\\"),a=t(\\\"../../util/token\\\"),o=t(\\\"../../style-spec/expression\\\").isExpression,s=t(\\\"./symbol_style_layer_properties\\\"),l=t(\\\"../properties\\\"),c=(l.Transitionable,l.Transitioning,l.Layout,l.PossiblyEvaluated,function(t){function e(e){t.call(this,e,s)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\\\"auto\\\"===this.layout.get(\\\"icon-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"viewport\\\"),\\\"auto\\\"===this.layout.get(\\\"text-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"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\\\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||o(n.value)?r:a(e.properties,r)},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(n));e.exports=c},{\\\"../../data/bucket/symbol_bucket\\\":51,\\\"../../style-spec/expression\\\":139,\\\"../../util/token\\\":274,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./symbol_style_layer_properties\\\":209}],209:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"symbol-placement\\\":new o(n.layout_symbol[\\\"symbol-placement\\\"]),\\\"symbol-spacing\\\":new o(n.layout_symbol[\\\"symbol-spacing\\\"]),\\\"symbol-avoid-edges\\\":new o(n.layout_symbol[\\\"symbol-avoid-edges\\\"]),\\\"icon-allow-overlap\\\":new o(n.layout_symbol[\\\"icon-allow-overlap\\\"]),\\\"icon-ignore-placement\\\":new o(n.layout_symbol[\\\"icon-ignore-placement\\\"]),\\\"icon-optional\\\":new o(n.layout_symbol[\\\"icon-optional\\\"]),\\\"icon-rotation-alignment\\\":new o(n.layout_symbol[\\\"icon-rotation-alignment\\\"]),\\\"icon-size\\\":new s(n.layout_symbol[\\\"icon-size\\\"]),\\\"icon-text-fit\\\":new o(n.layout_symbol[\\\"icon-text-fit\\\"]),\\\"icon-text-fit-padding\\\":new o(n.layout_symbol[\\\"icon-text-fit-padding\\\"]),\\\"icon-image\\\":new s(n.layout_symbol[\\\"icon-image\\\"]),\\\"icon-rotate\\\":new s(n.layout_symbol[\\\"icon-rotate\\\"]),\\\"icon-padding\\\":new o(n.layout_symbol[\\\"icon-padding\\\"]),\\\"icon-keep-upright\\\":new o(n.layout_symbol[\\\"icon-keep-upright\\\"]),\\\"icon-offset\\\":new s(n.layout_symbol[\\\"icon-offset\\\"]),\\\"icon-anchor\\\":new s(n.layout_symbol[\\\"icon-anchor\\\"]),\\\"icon-pitch-alignment\\\":new o(n.layout_symbol[\\\"icon-pitch-alignment\\\"]),\\\"text-pitch-alignment\\\":new o(n.layout_symbol[\\\"text-pitch-alignment\\\"]),\\\"text-rotation-alignment\\\":new o(n.layout_symbol[\\\"text-rotation-alignment\\\"]),\\\"text-field\\\":new s(n.layout_symbol[\\\"text-field\\\"]),\\\"text-font\\\":new s(n.layout_symbol[\\\"text-font\\\"]),\\\"text-size\\\":new s(n.layout_symbol[\\\"text-size\\\"]),\\\"text-max-width\\\":new s(n.layout_symbol[\\\"text-max-width\\\"]),\\\"text-line-height\\\":new o(n.layout_symbol[\\\"text-line-height\\\"]),\\\"text-letter-spacing\\\":new s(n.layout_symbol[\\\"text-letter-spacing\\\"]),\\\"text-justify\\\":new s(n.layout_symbol[\\\"text-justify\\\"]),\\\"text-anchor\\\":new s(n.layout_symbol[\\\"text-anchor\\\"]),\\\"text-max-angle\\\":new o(n.layout_symbol[\\\"text-max-angle\\\"]),\\\"text-rotate\\\":new s(n.layout_symbol[\\\"text-rotate\\\"]),\\\"text-padding\\\":new o(n.layout_symbol[\\\"text-padding\\\"]),\\\"text-keep-upright\\\":new o(n.layout_symbol[\\\"text-keep-upright\\\"]),\\\"text-transform\\\":new s(n.layout_symbol[\\\"text-transform\\\"]),\\\"text-offset\\\":new s(n.layout_symbol[\\\"text-offset\\\"]),\\\"text-allow-overlap\\\":new o(n.layout_symbol[\\\"text-allow-overlap\\\"]),\\\"text-ignore-placement\\\":new o(n.layout_symbol[\\\"text-ignore-placement\\\"]),\\\"text-optional\\\":new o(n.layout_symbol[\\\"text-optional\\\"])})),c=new a({\\\"icon-opacity\\\":new s(n.paint_symbol[\\\"icon-opacity\\\"]),\\\"icon-color\\\":new s(n.paint_symbol[\\\"icon-color\\\"]),\\\"icon-halo-color\\\":new s(n.paint_symbol[\\\"icon-halo-color\\\"]),\\\"icon-halo-width\\\":new s(n.paint_symbol[\\\"icon-halo-width\\\"]),\\\"icon-halo-blur\\\":new s(n.paint_symbol[\\\"icon-halo-blur\\\"]),\\\"icon-translate\\\":new o(n.paint_symbol[\\\"icon-translate\\\"]),\\\"icon-translate-anchor\\\":new o(n.paint_symbol[\\\"icon-translate-anchor\\\"]),\\\"text-opacity\\\":new s(n.paint_symbol[\\\"text-opacity\\\"]),\\\"text-color\\\":new s(n.paint_symbol[\\\"text-color\\\"]),\\\"text-halo-color\\\":new s(n.paint_symbol[\\\"text-halo-color\\\"]),\\\"text-halo-width\\\":new s(n.paint_symbol[\\\"text-halo-width\\\"]),\\\"text-halo-blur\\\":new s(n.paint_symbol[\\\"text-halo-blur\\\"]),\\\"text-translate\\\":new o(n.paint_symbol[\\\"text-translate\\\"]),\\\"text-translate-anchor\\\":new o(n.paint_symbol[\\\"text-translate-anchor\\\"])});e.exports={paint:c,layout:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],210:[function(t,e,r){var n=t(\\\"./style_layer\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../style-spec/feature_filter\\\"),o=t(\\\"../style-spec/group_by_layout\\\"),s=function(t){t&&this.replace(t)};s.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},s.prototype.update=function(t,e){for(var r=this,s=0,l=t;s<l.length;s+=1){var c=l[s];r._layerConfigs[c.id]=c;var u=r._layers[c.id]=n.create(c);u._featureFilter=a(u.filter)}for(var f=0,h=e;f<h.length;f+=1){var p=h[f];delete r._layerConfigs[p],delete r._layers[p]}this.familiesBySource={};for(var d=0,g=o(i.values(this._layerConfigs));d<g.length;d+=1){var m=g[d].map(function(t){return r._layers[t.id]}),v=m[0];if(\\\"none\\\"!==v.visibility){var y=v.source||\\\"\\\",x=r.familiesBySource[y];x||(x=r.familiesBySource[y]={});var b=v.sourceLayer||\\\"_geojsonTileLayer\\\",_=x[b];_||(_=x[b]=[]),_.push(m)}}},e.exports=s},{\\\"../style-spec/feature_filter\\\":148,\\\"../style-spec/group_by_layout\\\":150,\\\"../util/util\\\":275,\\\"./style_layer\\\":191}],211:[function(t,e,r){e.exports=t(\\\"../style-spec/validate_style.min\\\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0,n=e;r<n.length;r+=1){var i=n[r].message;t.fire(\\\"error\\\",{error:new Error(i)})}return!0}return!1}},{\\\"../style-spec/validate_style.min\\\":181}],212:[function(t,e,r){var n=function(){this.first=!0};n.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))},e.exports=n},{}],213:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../util/web_worker_transfer\\\").register,a=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(n);i(\\\"Anchor\\\",a),e.exports=a},{\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],214:[function(t,e,r){e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var p=u.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}},{}],215:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports=function(t,e,r,i,a){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 f=l[u],h=l[u+1];f.x<e&&h.x<e||(f.x<e?f=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x<e&&(h=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y<r&&h.y<r||(f.y<r?f=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y<r&&(h=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x>=i&&h.x>=i||(f.x>=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}},{\\\"@mapbox/point-geometry\\\":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,c){var g=h-f,m=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,m,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,m=n+1,v=d,y=-i/2,x=y-i/4;do{if(--m<0){if(v>y)return;m=0;break}v-=e[m].dist(g),g=e[m]}while(v>x);for(var b=e[m].dist(e[m+1]),_=-p;_<f+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>i&&(k+=w-i),!(k<v)){for(;v+b<k;){if(v+=b,++m+1>=e.length)return;b=e[m].dist(e[m+1])}var M=k-v,A=e[m],T=e[m+1].sub(A)._unit()._mult(M)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}},e.exports=n},{}],217:[function(t,e,r){function n(t,e,r){t[e+4]=r?1:0}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../util/intersection_tests\\\"),o=t(\\\"./grid_index\\\"),s=(t(\\\"@mapbox/gl-matrix\\\").mat4,t(\\\"../symbol/projection\\\")),l=function(t,e,r){void 0===e&&(e=new o(t.width+200,t.height+200,25)),void 0===r&&(r=new o(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};l.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,c=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,c)?{box:[],offscreen:!1}:{box:[o,s,l,c],offscreen:this.isOffscreen(o,s,l,c)}},l.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},l.prototype.placeCollisionCircles=function(t,e,r,a,o,l,c,u,f,h,p,d,g){var m=this,v=[],y=this.projectAnchor(h,l.anchorX,l.anchorY),x=f/24,b=l.lineOffsetX*f,_=l.lineOffsetY*f,w=new i(l.anchorX,l.anchorY),k=s.project(w,p).point,M=s.placeFirstAndLastGlyph(x,u,b,_,!1,k,w,l,c,p,{},!0),A=!1,T=!0,S=y.perspectiveRatio*a,C=1/(a*r),E=0,L=0;M&&(E=this.approximateTileDistance(M.first.tileDistance,M.first.angle,C,y.cameraDistance,g),L=this.approximateTileDistance(M.last.tileDistance,M.last.angle,C,y.cameraDistance,g));for(var z=0;z<t.length;z+=5){var P=t[z],D=t[z+1],O=t[z+2],I=t[z+3];if(!M||I<-E||I>L)n(t,z,!1);else{var R=m.projectPoint(h,P,D),B=O*S;if(v.length>0){var F=R.x-v[v.length-4],N=R.y-v[v.length-3];if(B*B*2>F*F+N*N&&z+8<t.length){var j=t[z+8];if(j>-E&&j<L){n(t,z,!1);continue}}}var V=z/5;if(v.push(R.x,R.y,B,V),n(t,z,!0),T=T&&m.isOffscreen(R.x-B,R.y-B,R.x+B,R.y+B),!e&&m.grid.hitTestCircle(R.x,R.y,B)){if(!d)return{circles:[],offscreen:!1};A=!0}}}return{circles:A?[]:v,offscreen:T}},l.prototype.queryRenderedSymbols=function(t,e,r,n,o,s){var l={},c=[];if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return c;for(var u=this.transform.calculatePosMatrix(e.toUnwrapped()),f=[],h=1/0,p=1/0,d=-1/0,g=-1/0,m=0;m<t.length;m++)for(var v=t[m],y=0;y<v.length;y++){var x=this.projectPoint(u,v[y].x,v[y].y);h=Math.min(h,x.x),p=Math.min(p,x.y),d=Math.max(d,x.x),g=Math.max(g,x.y),f.push(x)}for(var b=e.key,_=[],w=this.grid.query(h,p,d,g),k=0;k<w.length;k++)w[k].sourceID===o&&w[k].tileID===b&&s[w[k].bucketInstanceId]&&_.push(w[k].boxIndex);for(var M=this.ignoredGrid.query(h,p,d,g),A=0;A<M.length;A++)M[A].sourceID===o&&M[A].tileID===b&&s[M[A].bucketInstanceId]&&_.push(M[A].boxIndex);for(var T=0;T<_.length;T++){var S=n.get(_[T]),C=S.sourceLayerIndex,E=S.featureIndex,L=S.bucketIndex;if(void 0===l[C]&&(l[C]={}),void 0===l[C][E]&&(l[C][E]={}),!l[C][E][L]){var z=this.projectAndGetPerspectiveRatio(u,S.anchorPointX,S.anchorPointY),P=r*z.perspectiveRatio,D=S.x1*P+z.point.x,O=S.y1*P+z.point.y,I=S.x2*P+z.point.x,R=S.y2*P+z.point.y,B=[new i(D,O),new i(I,O),new i(I,R),new i(D,R)];a.polygonIntersectsPolygon(f,B)&&(l[C][E][L]=!0,c.push(_[T]))}}return c},l.prototype.insertCollisionBox=function(t,e,r,n,i,a){var o={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a};(e?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])},l.prototype.insertCollisionCircles=function(t,e,r,n,i,a){for(var o=e?this.ignoredGrid:this.grid,s=0;s<t.length;s+=4){var l={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a+t[s+3]};o.insertCircle(l,t[s],t[s+1],t[s+2])}},l.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},l.prototype.projectPoint=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100)},l.prototype.projectAndGetPerspectiveRatio=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{point:new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5}},l.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{\\\"../symbol/projection\\\":224,\\\"../util/intersection_tests\\\":264,\\\"./grid_index\\\":220,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],218:[function(t,e,r){var n=t(\\\"../data/extent\\\"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.key;n.indexedSymbolInstances[s]||(n.indexedSymbolInstances[s]=[]),n.indexedSymbolInstances[s].push({crossTileID:o.crossTileID,coord:n.getScaledCoordinates(o,t)})}};a.prototype.getScaledCoordinates=function(t,e){var r=e.canonical.z-this.tileID.canonical.z,a=i/Math.pow(2,r),o=t.anchor;return{x:Math.floor((e.canonical.x*n+o.x)*a),y:Math.floor((e.canonical.y*n+o.y)*a)}},a.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),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),c=0,u=s;c<u.length;c+=1){var f=u[c];if(Math.abs(f.coord.x-l.x)<=n&&Math.abs(f.coord.y-l.y)<=n&&!r[f.crossTileID]){r[f.crossTileID]=!0,o.crossTileID=f.crossTileID;break}}}}};var o=function(){this.maxCrossTileID=0};o.prototype.generate=function(){return++this.maxCrossTileID};var s=function(){this.indexes={},this.usedCrossTileIDs={}};s.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,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var o=this.usedCrossTileIDs[t.overscaledZ];for(var s in this.indexes){var l=this.indexes[s];if(Number(s)>t.overscaledZ)for(var c in l){var u=l[c];u.tileID.isChildOf(t)&&u.findMatches(e.symbolInstances,t,o)}else{var f=l[t.scaledTo(Number(s)).key];f&&f.findMatches(e.symbolInstances,t,o)}}for(var h=0,p=e.symbolInstances;h<p.length;h+=1){var d=p[h];d.crossTileID||(d.crossTileID=r.generate(),o[d.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new a(t,e.symbolInstances,e.bucketInstanceId),!0},s.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},s.prototype.removeStaleBuckets=function(t){var e=this,r=!1;for(var n in e.indexes){var i=e.indexes[n];for(var a in i)t[i[a].bucketInstanceId]||(e.removeBucketCrossTileIDs(n,i[a]),delete i[a],r=!0)}return r};var l=function(){this.layerIndexes={},this.crossTileIDs=new o,this.maxBucketInstanceId=0};l.prototype.addLayer=function(t,e){var r=this.layerIndexes[t.id];void 0===r&&(r=this.layerIndexes[t.id]=new s);for(var n=!1,i={},a=0,o=e;a<o.length;a+=1){var l=o[a],c=l.getBucket(t);c&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),r.addBucket(l.tileID,c,this.crossTileIDs)&&(n=!0),i[c.bucketInstanceId]=!0)}return r.removeStaleBuckets(i)&&(n=!0),n},l.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]},e.exports=l},{\\\"../data/extent\\\":53}],219:[function(t,e,r){var n=t(\\\"../style-spec/util/interpolate\\\").number,i=t(\\\"../symbol/anchor\\\"),a=t(\\\"./check_max_angle\\\");e.exports=function(t,e,r,o,s,l,c,u,f){var h=o?.6*l*c:0,p=Math.max(o?o.right-o.left:0,s?s.right-s.left:0),d=0===t[0].x||t[0].x===f||0===t[0].y||t[0].y===f;return e-p*c<e/4&&(e=p*c+e/4),function t(e,r,o,s,l,c,u,f,h){for(var p=c/2,d=0,g=0;g<e.length-1;g++)d+=e[g].dist(e[g+1]);for(var m=0,v=r-o,y=[],x=0;x<e.length-1;x++){for(var b=e[x],_=e[x+1],w=b.dist(_),k=_.angleTo(b);v+o<m+w;){var M=((v+=o)-m)/w,A=n(b.x,_.x,M),T=n(b.y,_.y,M);if(A>=0&&A<h&&T>=0&&T<h&&v-p>=0&&v+p<=d){var S=new i(A,T,k,x);S._round(),s&&!a(e,S,c,s,l)||y.push(S)}}m+=w}return f||y.length||u||(y=t(e,m/2,o,s,l,c,u,!0,h)),y}(t,d?e/2*u%e:(p/2+2*l)*c*u%e,e,h,r,p*c,d,!1,f)}},{\\\"../style-spec/util/interpolate\\\":158,\\\"../symbol/anchor\\\":213,\\\"./check_max_angle\\\":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.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};n.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.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)},n.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},n.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},n.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];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]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];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(s._circleAndRectCollide(m[b],m[b+1],m[b+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;a.push(s.circleKeys[x])}}}},n.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,u[d+0],u[d+1],u[d+2],u[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];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._circlesCollide(m[b],m[b+1],m[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),c=this._convertToXCellCoord(r),u=this._convertToYCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.xCellCount*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},n.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},n.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\\\":\\\"+n.x+\\\":\\\"+n.y}for(var a={},o={},s=[],l=0,c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text;if(h){var p=i(h,f),d=i(h,f,!0);if(p in o&&d in a&&o[p]!==a[d]){var g=n(p,d,f),m=r(p,d,s[g].geometry);delete a[p],delete o[d],o[i(h,s[m].geometry,!0)]=m,s[g].geometry=null}else p in o?r(p,d,f):d in a?n(p,d,f):(e(c),a[p]=l-1,o[d]=l-1)}else e(c)}return s.filter(function(t){return t.geometry})}},{}],222:[function(t,e,r){var n=t(\\\"../util/web_worker_transfer\\\").register,i=function(){this.opacity=0,this.targetOpacity=0,this.time=0};i.prototype.clone=function(){var t=new i;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},n(\\\"OpacityState\\\",i),e.exports=i},{\\\"../util/web_worker_transfer\\\":278}],223:[function(t,e,r){function n(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}function i(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*g+e*m+r*v+e*y+r*x+e*b+r*_+e}var a=t(\\\"./collision_index\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"./symbol_size\\\"),l=t(\\\"./projection\\\"),c=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,u=t(\\\"../source/pixels_to_tile_units\\\"),f=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};f.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var h=function(t,e,r,n,i){this.text=new f(t?t.text:null,e,r,i),this.icon=new f(t?t.icon:null,e,n,i)};h.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var p=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},d=function(t,e){this.transform=t.clone(),this.collisionIndex=new a(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e};d.prototype.placeLayerTile=function(t,e,r,n){var i=e.getBucket(t);if(i){var a=i.layers[0].layout,s=Math.pow(2,this.transform.zoom-e.tileID.overscaledZ),c=e.tileSize/o,f=this.transform.calculatePosMatrix(e.tileID.toUnwrapped()),h=l.getLabelPlaneMatrix(f,\\\"map\\\"===a.get(\\\"text-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"text-rotation-alignment\\\"),this.transform,u(e,1,this.transform.zoom)),p=l.getLabelPlaneMatrix(f,\\\"map\\\"===a.get(\\\"icon-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"icon-rotation-alignment\\\"),this.transform,u(e,1,this.transform.zoom));this.placeLayerBucket(i,f,h,p,s,c,r,n,e.collisionBoxArray,e.tileID.key,t.source)}},d.prototype.placeLayerBucket=function(t,e,r,n,i,a,o,l,u,f,h){for(var d=this,g=t.layers[0].layout,m=s.evaluateSizeForZoom(t.textSizeData,this.transform.zoom,c.properties[\\\"text-size\\\"]),v=!t.hasTextData()||g.get(\\\"text-optional\\\"),y=!t.hasIconData()||g.get(\\\"icon-optional\\\"),x=0,b=t.symbolInstances;x<b.length;x+=1){var _=b[x];if(!l[_.crossTileID]){var w=!1,k=!1,M=!0,A=null,T=null,S=null;_.collisionArrays||(_.collisionArrays=t.deserializeCollisionBoxes(u,_.textBoxStartIndex,_.textBoxEndIndex,_.iconBoxStartIndex,_.iconBoxEndIndex)),_.collisionArrays.textBox&&(w=(A=d.collisionIndex.placeCollisionBox(_.collisionArrays.textBox,g.get(\\\"text-allow-overlap\\\"),a,e)).box.length>0,M=M&&A.offscreen);var C=_.collisionArrays.textCircles;if(C){var E=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,m,E);T=d.collisionIndex.placeCollisionCircles(C,g.get(\\\"text-allow-overlap\\\"),i,a,_.key,E,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,\\\"map\\\"===g.get(\\\"text-pitch-alignment\\\")),w=g.get(\\\"text-allow-overlap\\\")||T.circles.length>0,M=M&&T.offscreen}_.collisionArrays.iconBox&&(k=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get(\\\"icon-allow-overlap\\\"),a,e)).box.length>0,M=M&&S.offscreen),v||y?y?v||(k=k&&w):w=k&&w:k=w=k&&w,w&&A&&d.collisionIndex.insertCollisionBox(A.box,g.get(\\\"text-ignore-placement\\\"),f,h,t.bucketInstanceId,_.textBoxStartIndex),k&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get(\\\"icon-ignore-placement\\\"),f,h,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get(\\\"text-ignore-placement\\\"),f,h,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,k,M||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new h(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new h(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var c in a){var u=a[c];if(!r.opacities[c]){var f=new h(u,i,!1,!1);f.isHidden()||(r.opacities[c]=f,n=n||u.text.placed||u.icon.placed)}}n?this.lastPlacementChangeTime=e:\\\"number\\\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},d.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var a=t.layers[0].layout,o=new h(null,0,a.get(\\\"text-allow-overlap\\\"),a.get(\\\"icon-allow-overlap\\\"),!0),s=0;s<t.symbolInstances.length;s++){var l=t.symbolInstances[s],c=e[l.crossTileID],u=this.opacities[l.crossTileID];u?c&&(u=o):(u=o,this.opacities[l.crossTileID]=u),e[l.crossTileID]=!0;var f=l.numGlyphVertices>0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(f){for(var d=i(u.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,m=0;m<g;m++)t.text.opacityVertexArray.emplaceBack(d);for(var v=0,y=l.placedTextSymbolIndices;v<y.length;v+=1){var x=y[v];t.text.placedSymbolArray.get(x).hidden=u.text.isHidden()}}if(p){for(var b=i(u.icon),_=0;_<l.numIconVertices/4;_++)t.icon.opacityVertexArray.emplaceBack(b);t.icon.placedSymbolArray.get(s).hidden=u.icon.isHidden()}l.collisionArrays||(l.collisionArrays=t.deserializeCollisionBoxes(r,l.textBoxStartIndex,l.textBoxEndIndex,l.iconBoxStartIndex,l.iconBoxEndIndex));var w=l.collisionArrays;if(w){w.textBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,u.text.placed,!1),w.iconBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,u.icon.placed,!1);var k=w.textCircles;if(k&&t.hasCollisionCircleData())for(var M=0;M<k.length;M+=5){var A=c||0===k[M+4];n(t.collisionCircle.collisionVertexArray,u.text.placed,A)}}}t.sortFeatures(this.transform.angle),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},d.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},d.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},d.prototype.stillRecent=function(t){return\\\"undefined\\\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),m=Math.pow(2,24),v=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{\\\"../data/extent\\\":53,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"./collision_index\\\":217,\\\"./projection\\\":224,\\\"./symbol_size\\\":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];f(r,r,e);var n=r[3];return{point:new h(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(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 a(t,e,r,n,i,a,o,s,l,u,f,h){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,m=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(p-1),y=c(t*m,r,n,i,a,o,s.segment,d,g,l,u,f,h);if(!y)return null;var x=c(t*v,r,n,i,a,o,s.segment,d,g,l,u,f,h);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.y<r.y:e.x>r.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,u,f,p,d,g,m,y,x,b){var _,w=e/24,k=t.lineOffsetX*e,M=t.lineOffsetY*e;if(t.numGlyphs>1){var A=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,C=a(w,p,k,M,r,m,y,t,d,u,x,!1);if(!C)return{notEnoughRoom:!0};var E=n(C.first.point,f).point,L=n(C.last.point,f).point;if(i&&!r){var z=o(t.writingMode,E,L,b);if(z)return z}_=[C.first];for(var P=t.glyphStartIndex+1;P<A-1;P++)_.push(c(w*p.getoffsetX(P),k,M,r,m,y,t.segment,T,S,d,u,x,!1));_.push(C.last)}else{if(i&&!r){var D=n(y,s).point,O=t.lineStartIndex+t.segment+1,I=new h(d.getx(O),d.gety(O)),R=n(I,s),B=R.signedDistanceFromCamera>0?R.point:l(y,I,D,1,s),F=o(t.writingMode,D,B,b);if(F)return F}var N=c(w*p.getoffsetX(t.glyphStartIndex),k,M,r,m,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,u,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j<V.length;j+=1){var U=V[j];v(g,U.point,U.angle)}return{}}function l(t,e,r,i,a){var o=n(t.add(t.sub(e)._unit()),a).point,s=r.sub(o);return r.add(s._mult(i/s.mag()))}function c(t,e,r,i,a,o,s,c,u,f,p,d,g){var m=i?t-e:t+e,v=m>0?1:-1,y=0;i&&(v*=-1,y=Math.PI),v<0&&(y+=Math.PI);for(var x=v>0?c+s:c+s+1,b=x,_=a,w=a,k=0,M=0,A=Math.abs(m);k+M<=A;){if((x+=v)<c||x>=u)return null;if(w=_,void 0===(_=d[x])){var T=new h(f.getx(x),f.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var C=x-v;_=l(0===k?o:new h(f.getx(C),f.gety(C)),T,w,A-k+1,p)}}k+=M,M=w.dist(_)}var E=(A-k)/M,L=_.sub(w),z=L.mult(E)._add(w);return z._add(L._unit()._perp()._mult(r*v)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-v===b?0:f.gettileUnitDistanceFromAnchor(x-v),lastSegmentViewportDistance:A-k}:null}}function u(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(b,3*n)}}function f(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}var h=t(\\\"@mapbox/point-geometry\\\"),p=t(\\\"@mapbox/gl-matrix\\\"),d=p.mat4,g=p.vec4,m=t(\\\"./symbol_size\\\"),v=t(\\\"../data/bucket/symbol_bucket\\\").addDynamicAttributes,y=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,x=t(\\\"../symbol/shaping\\\").WritingMode;e.exports={updateLineLabels:function(t,e,r,a,o,l,c,f){var p=a?t.textSizeData:t.iconSizeData,d=m.evaluateSizeForZoom(p,r.transform.zoom,y.properties[a?\\\"text-size\\\":\\\"icon-size\\\"]),v=[256/r.width*2+1,256/r.height*2+1],b=a?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;b.clear();for(var _=t.lineVertexArray,w=a?t.text.placedSymbolArray:t.icon.placedSymbolArray,k=r.transform.width/r.transform.height,M=!1,A=0;A<w.length;A++){var T=w.get(A);if(T.hidden||T.writingMode===x.vertical&&!M)u(T.numGlyphs,b);else{M=!1;var S=[T.anchorX,T.anchorY,0,1];if(g.transformMat4(S,S,e),i(S,v)){var C=.5+S[3]/r.transform.cameraToCenterDistance*.5,E=m.evaluateSizeForFeature(p,d,T),L=c?E*C:E/C,z=new h(T.anchorX,T.anchorY),P=n(z,o).point,D={},O=s(T,L,!1,f,e,o,l,t.glyphOffsetArray,_,b,P,z,D,k);M=O.useVertical,(O.notEnoughRoom||M||O.needsFlipping&&s(T,L,!0,f,e,o,l,t.glyphOffsetArray,_,b,P,z,D,k).notEnoughRoom)&&u(T.numGlyphs,b)}else u(T.numGlyphs,b)}}a?t.text.dynamicLayoutVertexBuffer.updateData(b):t.icon.dynamicLayoutVertexBuffer.updateData(b)},getLabelPlaneMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.identity(a),d.scale(a,a,[1/i,1/i,1]),r||d.rotateZ(a,a,n.angle)):(d.scale(a,a,[n.width/2,-n.height/2,1]),d.translate(a,a,[1,-1,0]),d.multiply(a,a,t)),a},getGlCoordMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.multiply(a,a,t),d.scale(a,a,[i,i,1]),r||d.rotateZ(a,a,-n.angle)):(d.scale(a,a,[1,-1,1]),d.translate(a,a,[-1,-1,0]),d.scale(a,a,[2/n.width,2/n.height,1])),a},project:n,placeFirstAndLastGlyph:a,xyTransformMat4:f};var b=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0])},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/shaping\\\":226,\\\"./symbol_size\\\":228,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],225:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../style/parse_glyph_pbf\\\").GLYPH_PBF_BORDER;e.exports={getIconQuads:function(t,e,r,i,a,o,s){var l,c,u,f,h=e.image,p=r.layout,d=e.top-1/h.pixelRatio,g=e.left-1/h.pixelRatio,m=e.bottom+1/h.pixelRatio,v=e.right+1/h.pixelRatio;if(\\\"none\\\"!==p.get(\\\"icon-text-fit\\\")&&a){var y=v-g,x=m-d,b=p.get(\\\"text-size\\\").evaluate(s)/24,_=a.left*b,w=a.right*b,k=a.top*b,M=w-_,A=a.bottom*b-k,T=p.get(\\\"icon-text-fit-padding\\\")[0],S=p.get(\\\"icon-text-fit-padding\\\")[1],C=p.get(\\\"icon-text-fit-padding\\\")[2],E=p.get(\\\"icon-text-fit-padding\\\")[3],L=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")?.5*(A-x):0,z=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")?.5*(M-y):0,P=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?M:y,D=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?A:x;l=new n(_+z-E,k+L-T),c=new n(_+z+S+P,k+L-T),u=new n(_+z+S+P,k+L+C+D),f=new n(_+z-E,k+L+C+D)}else l=new n(g,d),c=new n(v,d),u=new n(v,m),f=new n(g,m);var O=r.layout.get(\\\"icon-rotate\\\").evaluate(s)*Math.PI/180;if(O){var I=Math.sin(O),R=Math.cos(O),B=[R,-I,I,R];l._matMult(B),c._matMult(B),f._matMult(B),u._matMult(B)}return[{tl:l,tr:c,bl:f,br:u,tex:{x:h.textureRect.x-1,y:h.textureRect.y-1,w:h.textureRect.w+2,h:h.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,r,a,o,s,l){for(var c=r.layout.get(\\\"text-rotate\\\").evaluate(s)*Math.PI/180,u=r.layout.get(\\\"text-offset\\\").evaluate(s).map(function(t){return 24*t}),f=e.positionedGlyphs,h=[],p=0;p<f.length;p++){var d=f[p],g=l[d.glyph];if(g){var m=g.rect;if(m){var v=i+1,y=g.metrics.advance/2,x=a?[d.x+y,d.y]:[0,0],b=a?[0,0]:[d.x+y+u[0],d.y+u[1]],_=g.metrics.left-v-y+b[0],w=-g.metrics.top-v+b[1],k=_+m.w,M=w+m.h,A=new n(_,w),T=new n(k,w),S=new n(_,M),C=new n(k,M);if(a&&d.vertical){var E=new n(-y,y),L=-Math.PI/2,z=new n(5,0);A._rotateAround(L,E)._add(z),T._rotateAround(L,E)._add(z),S._rotateAround(L,E)._add(z),C._rotateAround(L,E)._add(z)}if(c){var P=Math.sin(c),D=Math.cos(c),O=[D,-P,P,D];A._matMult(O),T._matMult(O),S._matMult(O),C._matMult(O)}h.push({tl:A,tr:T,bl:S,br:C,tex:m,writingMode:e.writingMode,glyphOffset:x})}}}return h}}},{\\\"../style/parse_glyph_pbf\\\":186,\\\"@mapbox/point-geometry\\\":4}],226:[function(t,e,r){function n(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function i(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function a(t,e,r,i,a,o){for(var s=null,l=n(e,r,a,o),c=0,u=i;c<u.length;c+=1){var f=u[c],h=n(e-f.x,r,a,o)+f.badness;h<=l&&(s=f,l=h)}return{index:t,x:e,priorBreak:s,badness:l}}function o(t,e,r,n){if(!r)return[];if(!t)return[];for(var o=[],s=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),l=0,u=0;u<t.length;u++){var f=t.charCodeAt(u),h=n[f];h&&!p[f]&&(l+=h.metrics.advance+e),u<t.length-1&&(d[f]||c.charAllowsIdeographicBreaking(f))&&o.push(a(u+1,l,s,o,i(f,t.charCodeAt(u+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(a(t.length,l,s,o,0,!0))}function s(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 l(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}var c=t(\\\"../util/script_detection\\\"),u=t(\\\"../util/verticalize_punctuation\\\"),f=t(\\\"../source/rtl_text_plugin\\\"),h={horizontal:1,vertical:2,horizontalOnly:3};e.exports={shapeText:function(t,e,r,n,i,a,p,d,g,m){var v=t.trim();m===h.vertical&&(v=u(v));var y=[],x={positionedGlyphs:y,text:v,top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:m},b=f.processBidirectionalText;return function(t,e,r,n,i,a,o,u,f){for(var p=0,d=-17,g=0,m=t.positionedGlyphs,v=\\\"right\\\"===a?1:\\\"left\\\"===a?0:.5,y=0,x=r;y<x.length;y+=1){var b=x[y];if((b=b.trim()).length){for(var _=m.length,w=0;w<b.length;w++){var k=b.charCodeAt(w),M=e[k];M&&(c.charHasUprightVerticalOrientation(k)&&o!==h.horizontal?(m.push({glyph:k,x:p,y:0,vertical:!0}),p+=f+u):(m.push({glyph:k,x:p,y:d,vertical:!1}),p+=M.metrics.advance+u))}if(m.length!==_){var A=p-u;g=Math.max(A,g),l(m,e,_,m.length-1,v)}p=0,d+=n}else d+=n}var T=s(i),S=T.horizontalAlign,C=T.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(m,v,S,C,g,n,r.length);var E=r.length*n;t.top+=-C*E,t.bottom=t.top+E,t.left+=-S*g,t.right=t.left+g}(x,e,b?b(v,o(v,p,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(v,o(v,p,r,e)),n,i,a,m,p,g),!!y.length&&x},shapeIcon:function(t,e,r){var n=s(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],l=e[1],c=o-t.displaySize[0]*i,u=c+t.displaySize[0],f=l-t.displaySize[1]*a;return{image:t,top:f,bottom:f+t.displaySize[1],left:c,right:u}},WritingMode:h};var p={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},d={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0}},{\\\"../source/rtl_text_plugin\\\":109,\\\"../util/script_detection\\\":269,\\\"../util/verticalize_punctuation\\\":277}],227:[function(t,e,r){function n(t,e,r,n,u,f){var h=f.layoutTextSize.evaluate(e),d=f.layoutIconSize.evaluate(e),g=f.textMaxSize.evaluate(e);void 0===g&&(g=h);var x=t.layers[0].layout,M=x.get(\\\"text-offset\\\").evaluate(e),A=x.get(\\\"icon-offset\\\").evaluate(e),T=h/24,S=t.tilePixelRatio*T,C=t.tilePixelRatio*g/24,E=t.tilePixelRatio*d,L=t.tilePixelRatio*x.get(\\\"symbol-spacing\\\"),z=x.get(\\\"text-padding\\\")*t.tilePixelRatio,P=x.get(\\\"icon-padding\\\")*t.tilePixelRatio,D=x.get(\\\"text-max-angle\\\")/180*Math.PI,O=\\\"map\\\"===x.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),I=\\\"map\\\"===x.get(\\\"icon-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),R=L/2,B=function(a,o){o.x<0||o.x>=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,u,f,h,d,g,x,b,_,w,M,A,T,S,C){var E,L,z=t.addToLineVertexArray(e,r),P=0,D=0,O=0,I=n.horizontal?n.horizontal.text:\\\"\\\",R=[];n.horizontal&&(E=new v(s,r,e,l,u,f,n.horizontal,h,d,g,t.overscaling),D+=i(t,e,n.horizontal,o,g,A,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,C),n.vertical&&(O+=i(t,e,n.vertical,o,g,A,T,x,z,p.vertical,R,S,C)));var B=E?E.boxStartIndex:t.collisionBoxArray.length,F=E?E.boxEndIndex:t.collisionBoxArray.length;if(a){var N=m(e,a,o,w,n.horizontal,A,T);L=new v(s,r,e,l,u,f,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;\\\"source\\\"===j.functionType?V=[10*o.layout.get(\\\"icon-size\\\").evaluate(T)]:\\\"composite\\\"===j.functionType&&(V=[10*C.compositeIconSizes[0].evaluate(T),10*C.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,M,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=k.MAX_GLYPHS&&y.warnOnce(\\\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),{key:I,textBoxStartIndex:B,textBoxEndIndex:F,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:M,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:D,numVerticalGlyphVertices:O,numIconVertices:P,textOpacityState:new c,iconOpacityState:new c,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,O,M,E,P,I,A,{zoom:t.zoom},e,u,f))};if(\\\"line\\\"===x.get(\\\"symbol-placement\\\"))for(var F=0,N=l(e.geometry,0,0,w,w);F<N.length;F+=1)for(var j=N[F],V=0,U=s(j,L,D,r.vertical||r.horizontal,n,24,C,t.overscaling,w);V<U.length;V+=1){var q=U[V],H=r.horizontal;H&&a(t,H.text,R,q)||B(j,q)}else if(\\\"Polygon\\\"===e.type)for(var G=0,W=_(e.geometry,0);G<W.length;G+=1){var Y=W[G],X=b(Y,16);B(Y[0],new o(X.x,X.y,0))}else if(\\\"LineString\\\"===e.type)for(var Z=0,J=e.geometry;Z<J.length;Z+=1){var K=J[Z];B(K,new o(K[0].x,K[0].y,0))}else if(\\\"Point\\\"===e.type)for(var Q=0,$=e.geometry;Q<$.length;Q+=1)for(var tt=0,et=$[Q];tt<et.length;tt+=1){var rt=et[tt];B([rt],new o(rt.x,rt.y,0))}}function i(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=g(e,r,n,i,a,o,f),d=t.textSizeData,m=null;return\\\"source\\\"===d.functionType?m=[10*n.layout.get(\\\"text-size\\\").evaluate(o)]:\\\"composite\\\"===d.functionType&&(m=[10*h.compositeTextSizes[0].evaluate(o),10*h.compositeTextSizes[1].evaluate(o)]),t.addSymbols(t.text,p,m,s,i,o,c,e,l.lineStartIndex,l.lineLength),u.push(t.text.placedSymbolArray.length-1),4*p.length}function a(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var o=t(\\\"./anchor\\\"),s=t(\\\"./get_anchors\\\"),l=t(\\\"./clip_line\\\"),c=t(\\\"./opacity_state\\\"),u=t(\\\"./shaping\\\"),f=u.shapeText,h=u.shapeIcon,p=u.WritingMode,d=t(\\\"./quads\\\"),g=d.getGlyphQuads,m=d.getIconQuads,v=t(\\\"./collision_feature\\\"),y=t(\\\"../util/util\\\"),x=t(\\\"../util/script_detection\\\"),b=t(\\\"../util/find_pole_of_inaccessibility\\\"),_=t(\\\"../util/classify_rings\\\"),w=t(\\\"../data/extent\\\"),k=t(\\\"../data/bucket/symbol_bucket\\\"),M=t(\\\"../style/evaluation_parameters\\\");t(\\\"@mapbox/point-geometry\\\");e.exports={performSymbolLayout:function(t,e,r,i,a,o){t.createArrays(),t.symbolInstances=[];var s=512*t.overscaling;t.tilePixelRatio=w/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if(\\\"composite\\\"===t.textSizeData.functionType){var d=t.textSizeData.zoomRange,g=d.min,m=d.max;u.compositeTextSizes=[c[\\\"text-size\\\"].possiblyEvaluate(new M(g)),c[\\\"text-size\\\"].possiblyEvaluate(new M(m))]}if(\\\"composite\\\"===t.iconSizeData.functionType){var v=t.iconSizeData.zoomRange,b=v.min,_=v.max;u.compositeIconSizes=[c[\\\"icon-size\\\"].possiblyEvaluate(new M(b)),c[\\\"icon-size\\\"].possiblyEvaluate(new M(_))]}u.layoutTextSize=c[\\\"text-size\\\"].possiblyEvaluate(new M(t.zoom+1)),u.layoutIconSize=c[\\\"icon-size\\\"].possiblyEvaluate(new M(t.zoom+1)),u.textMaxSize=c[\\\"text-size\\\"].possiblyEvaluate(new M(18));for(var k=24*l.get(\\\"text-line-height\\\"),A=\\\"map\\\"===l.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===l.get(\\\"symbol-placement\\\"),T=l.get(\\\"text-keep-upright\\\"),S=0,C=t.features;S<C.length;S+=1){var E=C[S],L=l.get(\\\"text-font\\\").evaluate(E).join(\\\",\\\"),z=e[L]||{},P=r[L]||{},D={},O=E.text;if(O){var I=x.allowsVerticalWritingMode(O),R=l.get(\\\"text-offset\\\").evaluate(E).map(function(t){return 24*t}),B=24*l.get(\\\"text-letter-spacing\\\").evaluate(E),F=x.allowsLetterSpacing(O)?B:0,N=l.get(\\\"text-anchor\\\").evaluate(E),j=l.get(\\\"text-justify\\\").evaluate(E),V=\\\"line\\\"!==l.get(\\\"symbol-placement\\\")?24*l.get(\\\"text-max-width\\\").evaluate(E):0;D.horizontal=f(O,z,V,k,N,j,F,R,24,p.horizontal),I&&A&&T&&(D.vertical=f(O,z,V,k,N,j,F,R,24,p.vertical))}var U=void 0;if(E.icon){var q=i[E.icon];q&&(U=h(a[E.icon],l.get(\\\"icon-offset\\\").evaluate(E),l.get(\\\"icon-anchor\\\").evaluate(E)),void 0===t.sdfIcons?t.sdfIcons=q.sdf:t.sdfIcons!==q.sdf&&y.warnOnce(\\\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\\\"),q.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get(\\\"icon-rotate\\\").constantOr(1)&&(t.iconsNeedLinear=!0))}(D.horizontal||U)&&n(t,E,D,U,P,u)}o&&t.generateCollisionDebugBuffers()}}},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../style/evaluation_parameters\\\":182,\\\"../util/classify_rings\\\":255,\\\"../util/find_pole_of_inaccessibility\\\":261,\\\"../util/script_detection\\\":269,\\\"../util/util\\\":275,\\\"./anchor\\\":213,\\\"./clip_line\\\":215,\\\"./collision_feature\\\":216,\\\"./get_anchors\\\":219,\\\"./opacity_state\\\":222,\\\"./quads\\\":225,\\\"./shaping\\\":226,\\\"@mapbox/point-geometry\\\":4}],228:[function(t,e,r){var n=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,i=t(\\\"../style-spec/util/interpolate\\\"),a=t(\\\"../util/util\\\");e.exports={getSizeData:function(t,e){var r=e.expression;if(\\\"constant\\\"===r.kind)return{functionType:\\\"constant\\\",layoutSize:r.evaluate({zoom:t+1})};if(\\\"source\\\"===r.kind)return{functionType:\\\"source\\\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\\\"composite\\\"===r.kind?{functionType:\\\"composite\\\",zoomRange:o,propertyValue:e.value}:{functionType:\\\"camera\\\",layoutSize:r.evaluate({zoom:t+1}),zoomRange:o,sizeRange:{min:r.evaluate({zoom:o.min}),max:r.evaluate({zoom:o.max})},propertyValue:e.value}},evaluateSizeForFeature:function(t,e,r){var n=e;return\\\"source\\\"===t.functionType?r.lowerSize/10:\\\"composite\\\"===t.functionType?i.number(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},evaluateSizeForZoom:function(t,e,r){if(\\\"constant\\\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\\\"source\\\"===t.functionType)return{uSizeT:0,uSize:0};if(\\\"camera\\\"===t.functionType){var i=t.propertyValue,o=t.zoomRange,s=t.sizeRange,l=n(i,r.specification),c=a.clamp(l.interpolationFactor(e,o.min,o.max),0,1);return{uSizeT:0,uSize:s.min+c*(s.max-s.min)}}var u=t.propertyValue,f=t.zoomRange,h=n(u,r.specification);return{uSizeT:a.clamp(h.interpolationFactor(e,f.min,f.max),0,1),uSize:0}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275}],229:[function(t,e,r){var n=t(\\\"../source/rtl_text_plugin\\\");e.exports=function(t,e,r){var i=e.layout.get(\\\"text-transform\\\").evaluate(r);return\\\"uppercase\\\"===i?t=t.toLocaleUpperCase():\\\"lowercase\\\"===i&&(t=t.toLocaleLowerCase()),n.applyArabicShaping&&(t=n.applyArabicShaping(t)),t}},{\\\"../source/rtl_text_plugin\\\":109}],230:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a={scrollZoom:t(\\\"./handler/scroll_zoom\\\"),boxZoom:t(\\\"./handler/box_zoom\\\"),dragRotate:t(\\\"./handler/drag_rotate\\\"),dragPan:t(\\\"./handler/drag_pan\\\"),keyboard:t(\\\"./handler/keyboard\\\"),doubleClickZoom:t(\\\"./handler/dblclick_zoom\\\"),touchZoomRotate:t(\\\"./handler/touch_zoom_rotate\\\")};e.exports=function(t,e){function r(){h=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),c=null,u=!1,f=null,h=null;for(var p in a)t[p]=new a[p](t,e),e.interactive&&e[p]&&t[p].enable(e[p]);l.addEventListener(\\\"mouseout\\\",function(t){o(\\\"mouseout\\\",t)},!1),l.addEventListener(\\\"mousedown\\\",function(e){t.doubleClickZoom.isActive()||t.stop(),f=n.mousePos(l,e),o(\\\"mousedown\\\",e),u=!0},!1),l.addEventListener(\\\"mouseup\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();c&&!r&&o(\\\"contextmenu\\\",c),c=null,u=!1,o(\\\"mouseup\\\",e)},!1),l.addEventListener(\\\"mousemove\\\",function(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==l;)r=r.parentNode;r===l&&o(\\\"mousemove\\\",e)}},!1),l.addEventListener(\\\"mouseover\\\",function(t){for(var e=t.toElement||t.target;e&&e!==l;)e=e.parentNode;e===l&&o(\\\"mouseover\\\",t)},!1),l.addEventListener(\\\"touchstart\\\",function(e){t.stop(),s(\\\"touchstart\\\",e),!e.touches||e.touches.length>1||(h?(clearTimeout(h),h=null,o(\\\"dblclick\\\",e)):h=setTimeout(r,300))},!1),l.addEventListener(\\\"touchend\\\",function(t){s(\\\"touchend\\\",t)},!1),l.addEventListener(\\\"touchmove\\\",function(t){s(\\\"touchmove\\\",t)},!1),l.addEventListener(\\\"touchcancel\\\",function(t){s(\\\"touchcancel\\\",t)},!1),l.addEventListener(\\\"click\\\",function(t){n.mousePos(l,t).equals(f)&&o(\\\"click\\\",t)},!1),l.addEventListener(\\\"dblclick\\\",function(t){o(\\\"dblclick\\\",t),t.preventDefault()},!1),l.addEventListener(\\\"contextmenu\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u||r?u&&(c=e):o(\\\"contextmenu\\\",e),e.preventDefault()},!1)}},{\\\"../util/dom\\\":259,\\\"./handler/box_zoom\\\":239,\\\"./handler/dblclick_zoom\\\":240,\\\"./handler/drag_pan\\\":241,\\\"./handler/drag_rotate\\\":242,\\\"./handler/keyboard\\\":243,\\\"./handler/scroll_zoom\\\":244,\\\"./handler/touch_zoom_rotate\\\":245,\\\"@mapbox/point-geometry\\\":4}],231:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/util/interpolate\\\").number,a=t(\\\"../util/browser\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"../geo/lng_lat_bounds\\\"),l=t(\\\"@mapbox/point-geometry\\\"),c=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},e.prototype.getPitch=function(){return this.transform.pitch},e.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},e.prototype.fitBounds=function(t,e,r){if(\\\"number\\\"==typeof(e=n.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},e)).padding){var i=e.padding;e.padding={top:i,bottom:i,right:i,left:i}}if(!n.deepEqual(Object.keys(e.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\\\"bottom\\\",\\\"left\\\",\\\"right\\\",\\\"top\\\"]))return n.warnOnce(\\\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\\\"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),c=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var u=l.convert(e.offset),f=this.transform,h=f.project(t.getNorthWest()),p=f.project(t.getSouthEast()),d=p.sub(h),g=(f.width-2*o-2*Math.abs(u.x))/d.x,m=(f.height-2*c-2*Math.abs(u.y))/d.y;return m<0||g<0?(n.warnOnce(\\\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\\\"),this):(e.center=f.unproject(h.add(p).div(2)),e.zoom=Math.min(f.scaleZoom(f.scale*Math.min(g,m)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.jumpTo=function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\\\"zoom\\\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=o.convert(t.center)),\\\"bearing\\\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\\\"pitch\\\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\\\"movestart\\\",e).fire(\\\"move\\\",e),n&&this.fire(\\\"zoomstart\\\",e).fire(\\\"zoom\\\",e).fire(\\\"zoomend\\\",e),i&&this.fire(\\\"rotate\\\",e),a&&this.fire(\\\"pitchstart\\\",e).fire(\\\"pitch\\\",e).fire(\\\"pitchend\\\",e),this.fire(\\\"moveend\\\",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),c=this.getBearing(),u=this.getPitch(),f=\\\"zoom\\\"in t?+t.zoom:s,h=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,c):c,p=\\\"pitch\\\"in t?+t.pitch:u,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),m=o.convert(t.center||g);this._normalizeCenter(m);var v,y,x=a.project(g),b=a.project(m).sub(x),_=a.zoomScale(f-s);return t.around&&(v=o.convert(t.around),y=a.locationPoint(v)),this.zooming=f!==s,this.rotating=c!==h,this.pitching=p!==u,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,f,t)),r.rotating&&(a.bearing=i(c,h,t)),r.pitching&&(a.pitch=i(u,p,t)),v)a.setLocationAtPoint(v,y);else{var n=a.zoomScale(a.zoom-s),o=f>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire(\\\"movestart\\\",t),this.zooming&&this.fire(\\\"zoomstart\\\",t),this.pitching&&this.fire(\\\"pitchstart\\\",t)},e.prototype._fireMoveEvents=function(t){this.fire(\\\"move\\\",t),this.zooming&&this.fire(\\\"zoom\\\",t),this.rotating&&this.fire(\\\"rotate\\\",t),this.pitching&&this.fire(\\\"pitch\\\",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\\\"zoomend\\\",t),r&&this.fire(\\\"pitchend\\\",t),this.fire(\\\"moveend\\\",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(A*A-M*M+(t?-1:1)*E*E*T*T)/(2*(t?A:M)*E*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}var c=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var u=this.transform,f=this.getZoom(),h=this.getBearing(),p=this.getPitch(),d=\\\"zoom\\\"in t?n.clamp(+t.zoom,u.minZoom,u.maxZoom):f,g=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,h):h,m=\\\"pitch\\\"in t?+t.pitch:p,v=u.zoomScale(d-f),y=u.centerPoint.add(l.convert(t.offset)),x=u.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=u.project(x),w=u.project(b).sub(_),k=t.curve,M=Math.max(u.width,u.height),A=M/v,T=w.mag();if(\\\"minZoom\\\"in t){var S=n.clamp(Math.min(t.minZoom,f,d),u.minZoom,u.maxZoom),C=M/u.zoomScale(S-f);k=Math.sqrt(C/T*2)}var E=k*k,L=r(0),z=function(t){return s(L)/s(L+k*t)},P=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+k*t)-a(L))/E)/T},D=(r(1)-L)/k;if(Math.abs(T)<1e-6||!isFinite(D)){if(Math.abs(M-A)<1e-6)return this.easeTo(t,e);var O=A<M?-1:1;D=Math.abs(Math.log(A/M))/k,P=function(){return 0},z=function(t){return Math.exp(O*k*t)}}if(\\\"duration\\\"in t)t.duration=+t.duration;else{var I=\\\"screenSpeed\\\"in t?+t.screenSpeed/k:+t.speed;t.duration=1e3*D/I}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=h!==g,this.pitching=m!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*D,n=1/z(r);u.zoom=f+u.scaleZoom(n),c.rotating&&(u.bearing=i(h,g,t)),c.pitching&&(u.pitch=i(p,m,t));var a=u.unproject(_.add(w.mult(P(r))).mult(n));u.setLocationAtPoint(u.renderWorldCopies?a.wrap():a,y),c._fireMoveEvents(e)},function(){return c._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._normalizeBearing=function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},e.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}},e}(t(\\\"../util/evented\\\"));e.exports=c},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],232:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/config\\\"),o=function(t){this.options=t,i.bindAll([\\\"_updateEditLink\\\",\\\"_updateData\\\",\\\"_updateCompact\\\"],this)};o.prototype.getDefaultPosition=function(){return\\\"bottom-right\\\"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-attrib\\\"),e&&this._container.classList.add(\\\"mapboxgl-compact\\\"),this._updateAttributions(),this._updateEditLink(),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},o.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateData),this._map.off(\\\"moveend\\\",this._updateEditLink),this._map.off(\\\"resize\\\",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\\\".mapbox-improve-map\\\"));var e=[{key:\\\"owner\\\",value:this.styleOwner},{key:\\\"id\\\",value:this.styleId},{key:\\\"access_token\\\",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\\\"=\\\"+r.value+(n<e.length-1?\\\"&\\\":\\\"\\\")),t},\\\"?\\\");t.href=\\\"https://www.mapbox.com/feedback/\\\"+r+(this._map._hash?this._map._hash.getHashString(!0):\\\"\\\")}},o.prototype._updateData=function(t){t&&\\\"metadata\\\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},o.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(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 i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(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})).length?(this._container.innerHTML=t.join(\\\" | \\\"),this._container.classList.remove(\\\"mapboxgl-attrib-empty\\\")):this._container.classList.add(\\\"mapboxgl-attrib-empty\\\"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\\\"mapboxgl-compact\\\"):this._container.classList.remove(\\\"mapboxgl-compact\\\")},e.exports=o},{\\\"../../util/config\\\":256,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],233:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=function(){this._fullscreen=!1,i.bindAll([\\\"_onClickFullscreen\\\",\\\"_changeIcon\\\"],this),\\\"onfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"fullscreenchange\\\":\\\"onmozfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"mozfullscreenchange\\\":\\\"onwebkitfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"webkitfullscreenchange\\\":\\\"onmsfullscreenchange\\\"in a.document&&(this._fullscreenchange=\\\"MSFullscreenChange\\\"),this._className=\\\"mapboxgl-ctrl\\\"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create(\\\"div\\\",this._className+\\\" mapboxgl-ctrl-group\\\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\\\"none\\\",i.warnOnce(\\\"This device does not support fullscreen mode.\\\")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create(\\\"button\\\",this._className+\\\"-icon \\\"+this._className+\\\"-fullscreen\\\",this._container);t.setAttribute(\\\"aria-label\\\",\\\"Toggle fullscreen\\\"),t.type=\\\"button\\\",this._fullscreenButton.addEventListener(\\\"click\\\",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\\\"-shrink\\\"),this._fullscreenButton.classList.toggle(this._className+\\\"-fullscreen\\\"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],234:[function(t,e,r){var n,i=t(\\\"../../util/evented\\\"),a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../util/util\\\"),l=t(\\\"../../geo/lng_lat\\\"),c=t(\\\"../marker\\\"),u={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},f=function(t){function e(e){t.call(this),this.options=s.extend({},u,e),s.bindAll([\\\"_onSuccess\\\",\\\"_onError\\\",\\\"_finish\\\",\\\"_setupUI\\\",\\\"_updateCamera\\\",\\\"_updateMarker\\\",\\\"_onClickGeolocate\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:\\\"geolocation\\\"}).then(function(e){n=\\\"denied\\\"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,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(t),this.options.trackUserLocation&&\\\"ACTIVE_LOCK\\\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"geolocate\\\",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.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\\\"),void 0!==this._geolocationWatchID&&this._clearWatch();else 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\\\")}\\\"OFF\\\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"error\\\",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this._geolocateButton=a.create(\\\"button\\\",\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\\\",this._container),this._geolocateButton.type=\\\"button\\\",this._geolocateButton.setAttribute(\\\"aria-label\\\",\\\"Geolocate\\\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"false\\\"),this._watchState=\\\"OFF\\\"),this.options.showUserLocation&&(this._dotElement=a.create(\\\"div\\\",\\\"mapboxgl-user-location-dot\\\"),this._userLocationDotMarker=new c(this._dotElement),this.options.trackUserLocation&&(this._watchState=\\\"OFF\\\")),this._geolocateButton.addEventListener(\\\"click\\\",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on(\\\"movestart\\\",function(t){t.geolocateSource||\\\"ACTIVE_LOCK\\\"!==e._watchState||(e._watchState=\\\"BACKGROUND\\\",e._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-background\\\"),e._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-active\\\"),e.fire(\\\"trackuserlocationend\\\"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case\\\"OFF\\\":this._watchState=\\\"WAITING_ACTIVE\\\",this.fire(\\\"trackuserlocationstart\\\");break;case\\\"WAITING_ACTIVE\\\":case\\\"ACTIVE_LOCK\\\":case\\\"ACTIVE_ERROR\\\":case\\\"BACKGROUND_ERROR\\\":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(\\\"trackuserlocationend\\\");break;case\\\"BACKGROUND\\\":this._watchState=\\\"ACTIVE_LOCK\\\",this._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-background\\\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(\\\"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\\\")}\\\"OFF\\\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-waiting\\\"),this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"true\\\"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.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)},e}(i);e.exports=f},{\\\"../../geo/lng_lat\\\":62,\\\"../../util/dom\\\":259,\\\"../../util/evented\\\":260,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254,\\\"../marker\\\":248}],235:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=function(){i.bindAll([\\\"_updateLogo\\\"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl\\\");var e=n.create(\\\"a\\\",\\\"mapboxgl-ctrl-logo\\\");return e.target=\\\"_blank\\\",e.href=\\\"https://www.mapbox.com/\\\",e.setAttribute(\\\"aria-label\\\",\\\"Mapbox logo\\\"),this._container.appendChild(e),this._container.style.display=\\\"none\\\",this._map.on(\\\"sourcedata\\\",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateLogo)},a.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},a.prototype._updateLogo=function(t){t&&\\\"metadata\\\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\\\"block\\\":\\\"none\\\")},a.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}},e.exports=a},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],236:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../handler/drag_rotate\\\"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\\\",\\\"Zoom In\\\",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\\\",\\\"Zoom Out\\\",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll([\\\"_rotateCompassArrow\\\"],this),this._compass=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\\\",\\\"Reset North\\\",function(){return e._map.resetNorth()}),this._compassArrow=n.create(\\\"span\\\",\\\"mapboxgl-ctrl-compass-arrow\\\",this._compass))};s.prototype._rotateCompassArrow=function(){var t=\\\"rotate(\\\"+this._map.transform.angle*(180/Math.PI)+\\\"deg)\\\";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\\\"rotate\\\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:\\\"left\\\",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off(\\\"rotate\\\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create(\\\"button\\\",t,this._container);return i.type=\\\"button\\\",i.setAttribute(\\\"aria-label\\\",e),i.addEventListener(\\\"click\\\",r),i},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../handler/drag_rotate\\\":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&\\\"imperial\\\"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,\\\"mi\\\"):i(e,n,s,\\\"ft\\\")}else if(r&&\\\"nautical\\\"===r.unit){i(e,n,o/1852,\\\"nm\\\")}else i(e,n,o,\\\"m\\\")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(\\\"\\\"+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;\\\"m\\\"===n&&i>=1e3&&(i/=1e3,n=\\\"km\\\"),t.style.width=e*a+\\\"px\\\",t.innerHTML=i+n}var a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/util\\\"),s=function(t){this.options=t,o.bindAll([\\\"_onMove\\\"],this)};s.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-scale\\\",t.getContainer()),this._map.on(\\\"move\\\",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off(\\\"move\\\",this._onMove),this._map=void 0},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../geo/lng_lat_bounds\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../../util/window\\\"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll([\\\"_onMouseDown\\\",\\\"_onMouseMove\\\",\\\"_onMouseUp\\\",\\\"_onKeyDown\\\"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\\\"mousedown\\\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.addEventListener(\\\"mouseup\\\",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create(\\\"div\\\",\\\"mapboxgl-boxzoom\\\",this._container),this._container.classList.add(\\\"mapboxgl-crosshair\\\"),this._fireEvent(\\\"boxzoomstart\\\",t));var i=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);n.setTransform(this._box,\\\"translate(\\\"+i+\\\"px,\\\"+o+\\\"px)\\\"),this._box.style.width=a-i+\\\"px\\\",this._box.style.height=s-o+\\\"px\\\"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\\\"boxzoomcancel\\\",t):this._map.fitBounds(a,{linear:!0}).fire(\\\"boxzoomend\\\",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\\\"boxzoomcancel\\\",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.removeEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp,!1),this._container.classList.remove(\\\"mapboxgl-crosshair\\\"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{\\\"../../geo/lng_lat_bounds\\\":63,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],240:[function(t,e,r){var n=t(\\\"../../util/util\\\"),i=function(t){this._map=t,n.bindAll([\\\"_onDblClick\\\",\\\"_onZoomEnd\\\"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on(\\\"dblclick\\\",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off(\\\"dblclick\\\",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on(\\\"zoomend\\\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\\\"zoomend\\\",this._onZoomEnd)},e.exports=i},{\\\"../../util/util\\\":275}],241:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onTouchEnd\\\",\\\"_onMouseUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-drag-pan\\\"),this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._el.addEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-drag-pan\\\"),this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._el.removeEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener(\\\"touchmove\\\",this._onMove),a.document.addEventListener(\\\"touchend\\\",this._onTouchEnd)):(a.document.addEventListener(\\\"mousemove\\\",this._onMove),a.document.addEventListener(\\\"mouseup\\\",this._onMouseUp)),a.addEventListener(\\\"blur\\\",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"dragstart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent(\\\"drag\\\",e),this._fireEvent(\\\"move\\\",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent(\\\"dragend\\\",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var c=o.mult(.3/l),u=c.mag();u>1400&&(u=1400,c._unit()._mult(u));var f=u/750,h=c.mult(-f/2);this._map.panBy(h,{duration:1e3*f,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"mousemove\\\",this._onMove),a.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp),a.removeEventListener(\\\"blur\\\",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||\\\"mousemove\\\"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],242:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||\\\"right\\\",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if(\\\"right\\\"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf(\\\"MAC\\\")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.addEventListener(\\\"mouseup\\\",this._onUp),a.addEventListener(\\\"blur\\\",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"rotatestart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._pitchWithRotate&&this._fireEvent(\\\"pitchstart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.removeEventListener(\\\"mouseup\\\",this._onUp),a.removeEventListener(\\\"blur\\\",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([o.now(),this._map._normalizeBearing(s,u[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent(\\\"pitch\\\",e),t.pitch=l),this._fireEvent(\\\"rotate\\\",e),this._fireEvent(\\\"move\\\",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent(\\\"rotateend\\\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):(e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)),e._pitchWithRotate&&e._fireEvent(\\\"pitchend\\\",t)};if(i.length<2)return void a();var o=i[0],l=i[i.length-1],c=i[i.length-2],u=r._normalizeBearing(n,c[1]),f=l[1]-o[1],h=f<0?-1:1,p=(l[0]-o[0])/1e3;if(0===f||0===p)return void a();var d=Math.abs(f*(.25/p));d>180&&(d=180);var g=d/180;u+=h*d*(g/2),Math.abs(r._normalizeBearing(u,0))<this._bearingSnap&&(u=r._normalizeBearing(0,u)),r.rotateTo(u,{duration:1e3*g,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t(\\\"../../util/util\\\"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onKeyDown\\\"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"keydown\\\",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),c={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(c,{originalEvent:t})}},e.exports=a},{\\\"../../util/util\\\":275}],244:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../style-spec/util/interpolate\\\").number,l=t(\\\"../../geo/lng_lat\\\"),c=o.navigator.userAgent.toLowerCase(),u=-1!==c.indexOf(\\\"firefox\\\"),f=-1!==c.indexOf(\\\"safari\\\")&&-1===c.indexOf(\\\"chrom\\\"),h=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll([\\\"_onWheel\\\",\\\"_onTimeout\\\",\\\"_onScrollFrame\\\",\\\"_onScrollFinished\\\"],this)};h.prototype.isEnabled=function(){return!!this._enabled},h.prototype.isActive=function(){return!!this._active},h.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\\\"wheel\\\",this._onWheel,!1),this._el.addEventListener(\\\"mousewheel\\\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},h.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"wheel\\\",this._onWheel),this._el.removeEventListener(\\\"mousewheel\\\",this._onWheel),this._enabled=!1)},h.prototype._onWheel=function(t){var e=0;\\\"wheel\\\"===t.type?(e=t.deltaY,u&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\\\"mousewheel\\\"===t.type&&(e=-t.wheelDeltaY,f&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type=\\\"wheel\\\":0!==e&&Math.abs(e)<4?this._type=\\\"trackpad\\\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?\\\"trackpad\\\":\\\"wheel\\\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},h.prototype._onTimeout=function(t){this._type=\\\"wheel\\\",this._delta-=this._lastValue,this.isActive()||this._start(t)},h.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire(\\\"movestart\\\",{originalEvent:t}),this._map.fire(\\\"zoomstart\\\",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},h.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e=\\\"wheel\\\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n=\\\"number\\\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),\\\"wheel\\\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if(\\\"wheel\\\"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(\\\"move\\\",{originalEvent:this._lastWheelEvent}),this._map.fire(\\\"zoom\\\",{originalEvent:this._lastWheelEvent})}},h.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire(\\\"zoomend\\\"),t._map.fire(\\\"moveend\\\"),delete t._targetZoom},200))},h.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=h},{\\\"../../geo/lng_lat\\\":62,\\\"../../style-spec/util/interpolate\\\":158,\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],245:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onStart\\\",\\\"_onMove\\\",\\\"_onEnd\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.addEventListener(\\\"touchstart\\\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.removeEventListener(\\\"touchstart\\\",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],a.document.addEventListener(\\\"touchmove\\\",this._onMove,!1),a.document.addEventListener(\\\"touchend\\\",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,c=this._map;if(this._gestureIntent){var u={duration:0,around:c.unproject(i)};\\\"rotate\\\"===this._gestureIntent&&(u.bearing=this._startBearing+l),\\\"zoom\\\"!==this._gestureIntent&&\\\"rotate\\\"!==this._gestureIntent||(u.zoom=c.transform.scaleZoom(this._startScale*s)),c.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),c.easeTo(u,{originalEvent:t})}else{var f=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent=\\\"rotate\\\":f&&(this._gestureIntent=\\\"zoom\\\"),this._gestureIntent&&(this._startVec=a,this._startScale=c.transform.scale,this._startBearing=c.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),c=o-l,u=(n[0]-i[0])/1e3,f=n[2];if(0!==u&&o!==l){var h=.15*c/u;Math.abs(h)>2.5&&(h=h>0?2.5:-2.5);var p=1e3*Math.abs(h/(12*.15)),d=o+h*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(f)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],246:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../util/throttle\\\"),o=function(){n.bindAll([\\\"_onHashChange\\\",\\\"_updateHash\\\"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.on(\\\"moveend\\\",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.off(\\\"moveend\\\",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c=\\\"\\\";return c+=t?\\\"#/\\\"+a+\\\"/\\\"+o+\\\"/\\\"+r:\\\"#\\\"+r+\\\"/\\\"+o+\\\"/\\\"+a,(s||l)&&(c+=\\\"/\\\"+Math.round(10*s)/10),l&&(c+=\\\"/\\\"+Math.round(l)),c},o.prototype._onHashChange=function(){var t=i.location.hash.replace(\\\"#\\\",\\\"\\\").split(\\\"/\\\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState(\\\"\\\",\\\"\\\",t)},e.exports=o},{\\\"../util/throttle\\\":272,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/window\\\"),s=t(\\\"../util/window\\\"),l=s.HTMLImageElement,c=s.HTMLElement,u=t(\\\"../util/dom\\\"),f=t(\\\"../util/ajax\\\"),h=t(\\\"../style/style\\\"),p=t(\\\"../style/evaluation_parameters\\\"),d=t(\\\"../render/painter\\\"),g=t(\\\"../geo/transform\\\"),m=t(\\\"./hash\\\"),v=t(\\\"./bind_handlers\\\"),y=t(\\\"./camera\\\"),x=t(\\\"../geo/lng_lat\\\"),b=t(\\\"../geo/lng_lat_bounds\\\"),_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"./control/attribution_control\\\"),k=t(\\\"./control/logo_control\\\"),M=t(\\\"@mapbox/mapbox-gl-supported\\\"),A=t(\\\"../util/image\\\").RGBAImage;t(\\\"./events\\\");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\\\"maxZoom must be greater than minZoom\\\");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},\\\"string\\\"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error(\\\"Container '\\\"+e.container+\\\"' not found.\\\");this._container=a}else{if(!(e.container instanceof c))throw new Error(\\\"Invalid type: 'container' must be a String or HTMLElement.\\\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll([\\\"_onWindowOnline\\\",\\\"_onWindowResize\\\",\\\"_contextLost\\\",\\\"_contextRestored\\\",\\\"_update\\\",\\\"_render\\\",\\\"_onData\\\",\\\"_onDataLoading\\\"],this),this._setupContainer(),this._setupPainter(),this.on(\\\"move\\\",this._update.bind(this,!1)),this.on(\\\"zoom\\\",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener(\\\"online\\\",this._onWindowOnline,!1),o.addEventListener(\\\"resize\\\",this._onWindowResize,!1)),v(this,e),this._hash=e.hash&&(new m).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new k,e.logoPosition),this.on(\\\"style.load\\\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\\\"data\\\",this._onData),this.on(\\\"dataloading\\\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\\\"top-right\\\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\\\"bottom\\\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire(\\\"movestart\\\").fire(\\\"move\\\").fire(\\\"resize\\\").fire(\\\"moveend\\\")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&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 0 and the current maxZoom, inclusive\\\")},e.prototype.getMinZoom=function(){return this.transform.minZoom},e.prototype.setMaxZoom=function(t){if((t=null===t||void 0===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\\\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if(\\\"mouseenter\\\"===e||\\\"mouseover\\\"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if(\\\"mouseleave\\\"===e||\\\"mouseout\\\"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;a<i.length;a++){var o=i[a];if(o.layer===r&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},e.prototype.queryRenderedFeatures=function(t,e){return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof _||Array.isArray(t)}(arguments[0])?(t=arguments[0],e={}):1===arguments.length?(t=void 0,e=arguments[0]):(t=void 0,e={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle):[]},e.prototype._makeQueryGeometry=function(t){var e,r=this;if(void 0===t&&(t=[_.convert([0,0]),_.convert([this.transform.width,this.transform.height])]),t instanceof _||\\\"number\\\"==typeof t[0])e=[_.convert(t)];else{var n=[_.convert(t[0]),_.convert(t[1])];e=[n[0],new _(n[1].x,n[0].y),n[1],new _(n[0].x,n[1].y),n[0]]}return e.map(function(t){return r.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){if((!e||!1!==e.diff&&!e.localIdeographFontFamily)&&this.style&&t&&\\\"object\\\"==typeof t)try{return this.style.setState(t)&&this._update(!0),this}catch(t){i.warnOnce(\\\"Unable to perform style diff: \\\"+(t.message||t.error||t)+\\\".  Rebuilding the style from scratch.\\\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new h(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)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\\\"There is no style added to the map.\\\")},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\\\"error\\\",{error:new Error(\\\"There is no source with ID '\\\"+t+\\\"'\\\")}):e.loaded()},e.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 i=r[n];if(\\\"loaded\\\"!==i.state&&\\\"errored\\\"!==i.state)return!1}}return!0},e.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,r){void 0===r&&(r={});var n=r.pixelRatio;void 0===n&&(n=1);var i=r.sdf;if(void 0===i&&(i=!1),e instanceof l){var o=a.getImageData(e),s=o.width,c=o.height,u=o.data;this.style.addImage(t,{data:new A({width:s,height:c},u),pixelRatio:n,sdf:i})}else{if(void 0===e.width||void 0===e.height)return this.fire(\\\"error\\\",{error:new Error(\\\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\\\")});var f=e.width,h=e.height,p=e.data;this.style.addImage(t,{data:new A({width:f,height:h},p.slice(0)),pixelRatio:n,sdf:i})}},e.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(\\\"error\\\",{error:new Error(\\\"Missing required image id\\\")}),!1)},e.prototype.removeImage=function(t){this.style.removeImage(t)},e.prototype.loadImage=function(t,e){f.getImage(this._transformRequest(t,f.ResourceType.Image),e)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},e.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},e.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\\\"mapboxgl-map\\\"),(this._missingCSSContainer=u.create(\\\"div\\\",\\\"mapboxgl-missing-css\\\",t)).innerHTML=\\\"Missing Mapbox GL JS CSS\\\";var e=this._canvasContainer=u.create(\\\"div\\\",\\\"mapboxgl-canvas-container\\\",t);this._interactive&&e.classList.add(\\\"mapboxgl-interactive\\\"),this._canvas=u.create(\\\"canvas\\\",\\\"mapboxgl-canvas\\\",e),this._canvas.style.position=\\\"absolute\\\",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 r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=u.create(\\\"div\\\",\\\"mapboxgl-control-container\\\",t),i=this._controlPositions={};[\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"].forEach(function(t){i[t]=u.create(\\\"div\\\",\\\"mapboxgl-ctrl-\\\"+t,n)})},e.prototype._resizeCanvas=function(t,e){var r=o.devicePixelRatio||1;this._canvas.width=r*t,this._canvas.height=r*e,this._canvas.style.width=t+\\\"px\\\",this._canvas.style.height=e+\\\"px\\\"},e.prototype._setupPainter=function(){var t=i.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},M.webGLContextAttributes),e=this._canvas.getContext(\\\"webgl\\\",t)||this._canvas.getContext(\\\"experimental-webgl\\\",t);e?this.painter=new d(e,this.transform):this.fire(\\\"error\\\",{error:new Error(\\\"Failed to initialize WebGL\\\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(\\\"webglcontextlost\\\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\\\"webglcontextrestored\\\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},e.prototype._render=function(){this._updateCamera();var t=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var e=this.transform.zoom,r=a.now();this.style.zoomHistory.update(e,r);var n=new p(e,{now:r,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=n.crossFadingFactor();1===i&&i===this._crossFadingFactor||(t=!0,this._crossFadingFactor=i),this.style.update(n)}return 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.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming,fadeDuration:this._fadeDuration}),this.fire(\\\"render\\\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\\\"load\\\")),this.style&&(this.style.hasTransitions()||t)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._frameId=null,this.setStyle(null),void 0!==o&&(o.removeEventListener(\\\"resize\\\",this._onWindowResize,!1),o.removeEventListener(\\\"online\\\",this._onWindowOnline,!1));var t=this.painter.context.gl.getExtension(\\\"WEBGL_lose_context\\\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),n(this._missingCSSContainer),this._container.classList.remove(\\\"mapboxgl-map\\\"),this.fire(\\\"remove\\\")},e.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},r.showTileBoundaries.get=function(){return!!this._showTileBoundaries},r.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},r.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},r.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},r.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},r.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},r.repaint.get=function(){return!!this._repaint},r.repaint.set=function(t){this._repaint=t,this._update()},r.vertices.get=function(){return!!this._vertices},r.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\\\"style\\\"===t.dataType),this.fire(t.dataType+\\\"data\\\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\\\"dataloading\\\",t)},Object.defineProperties(e.prototype,r),e}(y);e.exports=S},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../geo/transform\\\":64,\\\"../render/painter\\\":90,\\\"../style/evaluation_parameters\\\":182,\\\"../style/style\\\":190,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dom\\\":259,\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"./bind_handlers\\\":230,\\\"./camera\\\":231,\\\"./control/attribution_control\\\":232,\\\"./control/logo_control\\\":235,\\\"./events\\\":238,\\\"./hash\\\":246,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],248:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"../geo/lng_lat\\\"),a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"../util/smart_wrap\\\"),s=t(\\\"../util/util\\\").bindAll,l=function(t,e){if(s([\\\"_update\\\",\\\"_onMapClick\\\"],this),!t){t=n.create(\\\"div\\\");var r=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");r.setAttributeNS(null,\\\"height\\\",\\\"41px\\\"),r.setAttributeNS(null,\\\"width\\\",\\\"27px\\\"),r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 27 41\\\");var i=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");i.setAttributeNS(null,\\\"stroke\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"stroke-width\\\",\\\"1\\\"),i.setAttributeNS(null,\\\"fill\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"fill-rule\\\",\\\"evenodd\\\");var o=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");o.setAttributeNS(null,\\\"fill-rule\\\",\\\"nonzero\\\");var l=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");l.setAttributeNS(null,\\\"transform\\\",\\\"translate(3.0, 29.0)\\\"),l.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");for(var c=0,u=[{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\\\"}];c<u.length;c+=1){var f=u[c],h=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"ellipse\\\");h.setAttributeNS(null,\\\"opacity\\\",\\\"0.04\\\"),h.setAttributeNS(null,\\\"cx\\\",\\\"10.5\\\"),h.setAttributeNS(null,\\\"cy\\\",\\\"5.80029008\\\"),h.setAttributeNS(null,\\\"rx\\\",f.rx),h.setAttributeNS(null,\\\"ry\\\",f.ry),l.appendChild(h)}var p=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");p.setAttributeNS(null,\\\"fill\\\",\\\"#3FB1CE\\\");var d=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");d.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\\\"),p.appendChild(d);var g=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");g.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),g.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");var m=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");m.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\\\"),g.appendChild(m);var v=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");v.setAttributeNS(null,\\\"transform\\\",\\\"translate(6.0, 7.0)\\\"),v.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\");var y=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");y.setAttributeNS(null,\\\"transform\\\",\\\"translate(8.0, 8.0)\\\");var x=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");x.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\"),x.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),x.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\");var b=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");b.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\"),b.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\"),y.appendChild(x),y.appendChild(b),o.appendChild(l),o.appendChild(p),o.appendChild(g),o.appendChild(v),o.appendChild(y),r.appendChild(o),t.appendChild(r);var _=[0,-14];e&&e.offset||(e?e.offset=_:e={offset:_})}this._offset=a.convert(e&&e.offset||[0,0]),t.classList.add(\\\"mapboxgl-marker\\\"),this._element=t,this._popup=null};l.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._update(),this._map.on(\\\"click\\\",this._onMapClick),this},l.prototype.remove=function(){return this._map&&(this._map.off(\\\"click\\\",this._onMapClick),this._map.off(\\\"move\\\",this._update),this._map.off(\\\"moveend\\\",this._update),delete this._map),n.remove(this._element),this._popup&&this._popup.remove(),this},l.prototype.getLngLat=function(){return this._lngLat},l.prototype.setLngLat=function(t){return this._lngLat=i.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},l.prototype.getElement=function(){return this._element},l.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(\\\"offset\\\"in t.options||(t.options.offset=this._offset),this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)),this},l.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},l.prototype.getPopup=function(){return this._popup},l.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},l.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=o(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\\\"moveend\\\"!==t.type||(this._pos=this._pos.round()),n.setTransform(this._element,\\\"translate(-50%, -50%) translate(\\\"+this._pos.x+\\\"px, \\\"+this._pos.y+\\\"px)\\\"))},l.prototype.getOffset=function(){return this._offset},l.prototype.setOffset=function(t){return this._offset=a.convert(t),this._update(),this},e.exports=l},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],249:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/dom\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"@mapbox/point-geometry\\\"),l=t(\\\"../util/window\\\"),c=t(\\\"../util/smart_wrap\\\"),u={closeButton:!0,closeOnClick:!0},f=function(t){function e(e){t.call(this),this.options=n.extend(Object.create(u),e),n.bindAll([\\\"_update\\\",\\\"_onClickClose\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.addTo=function(t){return this._map=t,this._map.on(\\\"move\\\",this._update),this.options.closeOnClick&&this._map.on(\\\"click\\\",this._onClickClose),this._update(),this},e.prototype.isOpen=function(){return!!this._map},e.prototype.remove=function(){return this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off(\\\"move\\\",this._update),this._map.off(\\\"click\\\",this._onClickClose),delete this._map),this.fire(\\\"close\\\"),this},e.prototype.getLngLat=function(){return this._lngLat},e.prototype.setLngLat=function(t){return this._lngLat=o.convert(t),this._pos=null,this._update(),this},e.prototype.setText=function(t){return this.setDOMContent(l.document.createTextNode(t))},e.prototype.setHTML=function(t){var e,r=l.document.createDocumentFragment(),n=l.document.createElement(\\\"body\\\");for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},e.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},e.prototype._createContent=function(){this._content&&a.remove(this._content),this._content=a.create(\\\"div\\\",\\\"mapboxgl-popup-content\\\",this._container),this.options.closeButton&&(this._closeButton=a.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._onClickClose))},e.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=a.create(\\\"div\\\",\\\"mapboxgl-popup\\\",this._map.getContainer()),this._tip=a.create(\\\"div\\\",\\\"mapboxgl-popup-tip\\\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=c(this._lngLat,this._pos,this._map.transform));var t=this._pos=this._map.project(this._lngLat),e=this.options.anchor,r=function t(e){if(e){if(\\\"number\\\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{top:new s(0,e),\\\"top-left\\\":new s(r,r),\\\"top-right\\\":new s(-r,r),bottom:new s(0,-e),\\\"bottom-left\\\":new s(r,-r),\\\"bottom-right\\\":new s(-r,-r),left:new s(e,0),right:new s(-e,0)}}if(e instanceof s||Array.isArray(e)){var n=s.convert(e);return{top:n,\\\"top-left\\\":n,\\\"top-right\\\":n,bottom:n,\\\"bottom-left\\\":n,\\\"bottom-right\\\":n,left:n,right:n}}return{top:s.convert(e.top||[0,0]),\\\"top-left\\\":s.convert(e[\\\"top-left\\\"]||[0,0]),\\\"top-right\\\":s.convert(e[\\\"top-right\\\"]||[0,0]),bottom:s.convert(e.bottom||[0,0]),\\\"bottom-left\\\":s.convert(e[\\\"bottom-left\\\"]||[0,0]),\\\"bottom-right\\\":s.convert(e[\\\"bottom-right\\\"]||[0,0]),left:s.convert(e.left||[0,0]),right:s.convert(e.right||[0,0])}}return t(new s(0,0))}(this.options.offset);if(!e){var n=this._container.offsetWidth,i=this._container.offsetHeight;e=t.y+r.bottom.y<i?[\\\"top\\\"]:t.y>this._map.transform.height-i?[\\\"bottom\\\"]:[],t.x<n/2?e.push(\\\"left\\\"):t.x>this._map.transform.width-n/2&&e.push(\\\"right\\\"),e=0===e.length?\\\"bottom\\\":e.join(\\\"-\\\")}var o=t.add(r[e]).round(),l={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%)\\\"},u=this._container.classList;for(var f in l)u.remove(\\\"mapboxgl-popup-anchor-\\\"+f);u.add(\\\"mapboxgl-popup-anchor-\\\"+e),a.setTransform(this._container,l[e]+\\\" translate(\\\"+o.x+\\\"px,\\\"+o.y+\\\"px)\\\")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=f},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/evented\\\":260,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"@mapbox/point-geometry\\\":4}],250:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./web_worker_transfer\\\"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll([\\\"receive\\\"],this),this.target.addEventListener(\\\"message\\\",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+\\\":\\\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\\\"<response>\\\",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(\\\"<response>\\\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(\\\".\\\");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener(\\\"message\\\",this.receive,!1)},e.exports=s},{\\\"./util\\\":275,\\\"./web_worker_transfer\\\":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open(\\\"GET\\\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\\\"include\\\"===t.credentials,e}function i(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t(\\\"./window\\\"),o={Unknown:\\\"Unknown\\\",Style:\\\"Style\\\",Source:\\\"Source\\\",Tile:\\\"Tile\\\",Glyphs:\\\"Glyphs\\\",SpriteImage:\\\"SpriteImage\\\",SpriteJSON:\\\"SpriteJSON\\\",Image:\\\"Image\\\"};r.ResourceType=o,\\\"function\\\"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader(\\\"Accept\\\",\\\"application/json\\\"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType=\\\"arraybuffer\\\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error(\\\"http status 200 returned without content.\\\"));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader(\\\"Cache-Control\\\"),expires:r.getResponseHeader(\\\"Expires\\\")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:\\\"image/png\\\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\\\"}})},r.getVideo=function(t,e){var r=a.document.createElement(\\\"video\\\");r.onloadstart=function(){e(null,r)};for(var n=0;n<t.length;n++){var o=a.document.createElement(\\\"source\\\");i(t[n])||(r.crossOrigin=\\\"Anonymous\\\"),o.src=t[n],r.appendChild(o)}return r}},{\\\"./window\\\":254}],252:[function(t,e,r){var n=t(\\\"./window\\\"),i=n.performance&&n.performance.now?n.performance.now.bind(n.performance):Date.now.bind(Date),a=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame,o=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.msCancelAnimationFrame;e.exports={now:i,frame:function(t){return a(t)},cancelFrame:function(t){return o(t)},getImageData:function(t){var e=n.document.createElement(\\\"canvas\\\"),r=e.getContext(\\\"2d\\\");if(!r)throw new Error(\\\"failed to create canvas 2d context\\\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},hardwareConcurrency:n.navigator.hardwareConcurrency||4,get devicePixelRatio(){return n.devicePixelRatio},supportsWebp:!1};var s=n.document.createElement(\\\"img\\\");s.onload=function(){e.exports.supportsWebp=!0},s.src=\\\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\\\"},{\\\"./window\\\":254}],253:[function(t,e,r){var n=t(\\\"webworkify\\\"),i=t(\\\"../window\\\"),a=i.URL.createObjectURL(new n(t(\\\"../../source/worker\\\"),{bare:!0}));e.exports=function(){return new i.Worker(a)}},{\\\"../../source/worker\\\":118,\\\"../window\\\":254,webworkify:36}],254:[function(t,e,r){e.exports=self},{}],255:[function(t,e,r){function n(t,e){return e.area-t.area}var i=t(\\\"quickselect\\\"),a=t(\\\"./util\\\").calculateSignedArea;e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],c=0;c<r;c++){var u=a(t[c]);0!==u&&(t[c].area=Math.abs(u),void 0===s&&(s=u<0),s===u<0?(o&&l.push(o),o=[t[c]]):o.push(t[c]))}if(o&&l.push(o),e>1)for(var f=0;f<l.length;f++)l[f].length<=e||(i(l[f],e,1,l[f].length-1,n),l[f]=l[f].slice(0,e));return l}},{\\\"./util\\\":275,quickselect:31}],256:[function(t,e,r){e.exports={API_URL:\\\"https://api.mapbox.com\\\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null}},{}],257:[function(t,e,r){var n=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}};n.prototype.encode=function(t){return this._stringToNumber[t]},n.prototype.decode=function(t){return this._numberToString[t]},e.exports=n},{}],258:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./actor\\\"),a=function(t,e){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var o=r[a],s=new i(o,e,this.id);s.name=\\\"Worker \\\"+a,this.actors.push(s)}};a.prototype.broadcast=function(t,e,r){r=r||function(){},n.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},a.prototype.send=function(t,e,r,n){return(\\\"number\\\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},a.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},e.exports=a},{\\\"./actor\\\":250,\\\"./util\\\":275}],259:[function(t,e,r){function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e];return t[0]}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./window\\\");r.create=function(t,e,r){var n=a.document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n},r.createNS=function(t,e){return a.document.createElementNS(t,e)};var o,s=a.document.documentElement.style,l=n([\\\"userSelect\\\",\\\"MozUserSelect\\\",\\\"WebkitUserSelect\\\",\\\"msUserSelect\\\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\\\"none\\\")},r.enableDrag=function(){l&&(s[l]=o)};var c=n([\\\"transform\\\",\\\"WebkitTransform\\\"]);r.setTransform=function(t,e){t.style[c]=e};var u=function(t){t.preventDefault(),t.stopPropagation(),a.removeEventListener(\\\"click\\\",u,!0)};r.suppressClick=function(){a.addEventListener(\\\"click\\\",u,!0),a.setTimeout(function(){a.removeEventListener(\\\"click\\\",u,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new i(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],a=\\\"touchend\\\"===e.type?e.changedTouches:e.touches,o=0;o<a.length;o++)n.push(new i(a[o].clientX-r.left-t.clientLeft,a[o].clientY-r.top-t.clientTop));return n},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)}},{\\\"./window\\\":254,\\\"@mapbox/point-geometry\\\":4}],260:[function(t,e,r){function n(t,e,r){r[t]=r[t]||[],r[t].push(e)}function i(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var a=t(\\\"./util\\\"),o=function(){};o.prototype.on=function(t,e){return this._listeners=this._listeners||{},n(t,e,this._listeners),this},o.prototype.off=function(t,e){return i(t,e,this._listeners),i(t,e,this._oneTimeListeners),this},o.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},n(t,e,this._oneTimeListeners),this},o.prototype.fire=function(t,e){var r=this;if(this.listens(t)){e=a.extend({},e,{type:t,target:this});for(var n=0,o=this._listeners&&this._listeners[t]?this._listeners[t].slice():[];n<o.length;n+=1)o[n].call(r,e);for(var s=0,l=this._oneTimeListeners&&this._oneTimeListeners[t]?this._oneTimeListeners[t].slice():[];s<l.length;s+=1){var c=l[s];i(t,c,r._oneTimeListeners),c.call(r,e)}this._eventedParent&&this._eventedParent.fire(t,a.extend({},e,\\\"function\\\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData))}else a.endsWith(t,\\\"error\\\")&&console.error(e&&e.error||e||\\\"Empty error event\\\");return this},o.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)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{\\\"./util\\\":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,l=a.length,c=l-1;o<l;c=o++){var u=a[o],f=a[c];u.y>t.y!=f.y>t.y&&t.x<(f.x-u.x)*(t.y-u.y)/(f.y-u.y)+u.x&&(r=!r),n=Math.min(n,s(t,u,f))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t(\\\"tinyqueue\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"./intersection_tests\\\").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,c=-1/0,u=-1/0,f=t[0],h=0;h<f.length;h++){var p=f[h];(!h||p.x<s)&&(s=p.x),(!h||p.y<l)&&(l=p.y),(!h||p.x>c)&&(c=p.x),(!h||p.y>u)&&(u=p.y)}var d=c-s,g=u-l,m=Math.min(d,g),v=m/2,y=new a(null,n);if(0===m)return new o(s,l);for(var x=s;x<c;x+=m)for(var b=l;b<u;b+=m)y.push(new i(x+v,b+v,v,t));for(var _=function(t){for(var e=0,r=0,n=0,a=t[0],o=0,s=a.length,l=s-1;o<s;l=o++){var c=a[o],u=a[l],f=c.x*u.y-u.x*c.y;r+=(c.x+u.x)*f,n+=(c.y+u.y)*f,e+=3*f}return new i(r/e,n/e,0,t)}(t),w=y.length;y.length;){var k=y.pop();(k.d>_.d||!_.d)&&(_=k,r&&console.log(\\\"found best %d after %d probes\\\",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=e||(v=k.h/2,y.push(new i(k.p.x-v,k.p.y-v,v,t)),y.push(new i(k.p.x+v,k.p.y-v,v,t)),y.push(new i(k.p.x-v,k.p.y+v,v,t)),y.push(new i(k.p.x+v,k.p.y+v,v,t)),w+=4)}return r&&(console.log(\\\"num probes: \\\"+w),console.log(\\\"best distance: \\\"+_.d)),_.p}},{\\\"./intersection_tests\\\":264,\\\"@mapbox/point-geometry\\\":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t(\\\"./worker_pool\\\");e.exports=function(){return n||(n=new i),n}},{\\\"./worker_pool\\\":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\\\"mismatched image size\\\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\\\"out of range source coordinates for image copy\\\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\\\"out of range destination coordinates for image copy\\\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}var o=t(\\\"./web_worker_transfer\\\").register,s=function(t,e){n(this,t,1,e)};s.prototype.resize=function(t){i(this,t,1)},s.prototype.clone=function(){return new s({width:this.width,height:this.height},new Uint8Array(this.data))},s.copy=function(t,e,r,n,i){a(t,e,r,n,i,1)};var l=function(t,e){n(this,t,4,e)};l.prototype.resize=function(t){i(this,t,4)},l.prototype.clone=function(){return new l({width:this.width,height:this.height},new Uint8Array(this.data))},l.copy=function(t,e,r,n,i){a(t,e,r,n,i,4)},o(\\\"AlphaImage\\\",s),o(\\\"RGBAImage\\\",l),e.exports={AlphaImage:s,RGBAImage:l}},{\\\"./web_worker_transfer\\\":278}],264:[function(t,e,r){function n(t,e,r){if(t.length>1){if(i(t,e))return!0;for(var n=0;n<e.length;n++)if(o(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(o(t[a],e,r))return!0;return!1}function i(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],i=t[r+1],o=0;o<e.length-1;o++){if(a(n,i,e[o],e[o+1]))return!0}return!1}function a(t,e,r,n){return u(t,r,n)!==u(e,r,n)&&u(t,e,r)!==u(t,e,n)}function o(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(s(t,e[i-1],e[i])<n)return!0;return!1}function s(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function l(t,e){for(var r,n,i,a=!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],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function c(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}var u=t(\\\"./util\\\").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var s=e[a],l=0;l<s.length;l++){var u=s[l];if(c(i,u))return!0;if(o(u,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&&1===t[0].length)return l(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(l(t,n[a]))return!0;for(var o=0;o<t.length;o++){for(var s=t[o],c=0;c<s.length;c++)if(l(e,s[c]))return!0;for(var u=0;u<e.length;u++)if(i(s,e[u]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i<e.length;i++)for(var a=e[i],o=0;o<t.length;o++){var s=t[o];if(s.length>=3)for(var l=0;l<a.length;l++)if(c(s,a[l]))return!0;if(n(s,a,r))return!0}return!1},polygonIntersectsPolygon:function(t,e){for(var r=0;r<t.length;r++)if(c(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(c(t,e[n]))return!0;return!!i(t,e)},distToSegmentSquared:s}},{\\\"./util\\\":275}],265:[function(t,e,r){e.exports={\\\"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},\\\"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}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.getAndRemove(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.getAndRemove=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\\\"/\\\"!==r.path&&(t.path=\\\"\\\"+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error(\\\"An API access token is required to use Mapbox GL. \\\"+c);if(\\\"s\\\"===e[0])throw new Error(\\\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \\\"+c);return t.params.push(\\\"access_token=\\\"+e),o(t)}function i(t){return 0===t.indexOf(\\\"mapbox:\\\")}function a(t){var e=t.match(f);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 o(t){var e=t.params.length?\\\"?\\\"+t.params.join(\\\"&\\\"):\\\"\\\";return t.protocol+\\\"://\\\"+t.authority+t.path+e}var s=t(\\\"./config\\\"),l=t(\\\"./browser\\\"),c=\\\"See https://www.mapbox.com/api-documentation/#access-tokens\\\";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/styles/v1\\\"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/fonts/v1\\\"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/v4/\\\"+r.authority+\\\".json\\\",r.params.push(\\\"secure\\\"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path=\\\"/styles/v1\\\"+l.path+\\\"/sprite\\\"+e+r,n(l,s)):(l.path+=\\\"\\\"+e+r,o(l))};var u=/(\\\\.(png|jpg)\\\\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),c=l.devicePixelRatio>=2||512===r?\\\"@2x\\\":\\\"\\\",f=l.supportsWebp?\\\".webp\\\":\\\"$1\\\";return n.path=n.path.replace(u,\\\"\\\"+c+f),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\\\"access_token=tk.\\\")&&(t[e]=\\\"access_token=\\\"+(s.ACCESS_TOKEN||\\\"\\\"))}(n.params),o(n)};var f=/^(\\\\w+):\\\\/\\\\/([^\\\\/?]*)(\\\\/[^?]+)?\\\\??(.+)?/},{\\\"./browser\\\":252,\\\"./config\\\":256}],268:[function(t,e,r){e.exports={getEntriesByName:function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)}}},{}],269:[function(t,e,r){var n=t(\\\"./is_char_in_unicode_block\\\");e.exports.allowsIdeographicBreaking=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsIdeographicBreaking(i.charCodeAt(0)))return!1}return!0},e.exports.allowsVerticalWritingMode=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(r.charHasUprightVerticalOrientation(i.charCodeAt(0)))return!0}return!1},e.exports.allowsLetterSpacing=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsLetterSpacing(i.charCodeAt(0)))return!1}return!0},e.exports.charAllowsLetterSpacing=function(t){return!(n.Arabic(t)||n[\\\"Arabic Supplement\\\"](t)||n[\\\"Arabic Extended-A\\\"](t)||n[\\\"Arabic Presentation Forms-A\\\"](t)||n[\\\"Arabic Presentation Forms-B\\\"](t))},e.exports.charAllowsIdeographicBreaking=function(t){return!!(!(t<11904)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yi Radicals\\\"](t)||n[\\\"Yi Syllables\\\"](t)))},r.charHasUprightVerticalOrientation=function(t){return!!(746===t||747===t||!(t<4352)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)&&!(t>=65097&&t<=65103)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||!(!n[\\\"CJK Symbols and Punctuation\\\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Hangul Compatibility Jamo\\\"](t)||n[\\\"Hangul Jamo Extended-A\\\"](t)||n[\\\"Hangul Jamo Extended-B\\\"](t)||n[\\\"Hangul Jamo\\\"](t)||n[\\\"Hangul Syllables\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n.Kanbun(t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)&&12540!==t||!(!n[\\\"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)||!(!n[\\\"Small Form Variants\\\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n[\\\"Unified Canadian Aboriginal Syllabics\\\"](t)||n[\\\"Unified Canadian Aboriginal Syllabics Extended\\\"](t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yijing Hexagram Symbols\\\"](t)||n[\\\"Yi Syllables\\\"](t)||n[\\\"Yi Radicals\\\"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n[\\\"Latin-1 Supplement\\\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n[\\\"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)||n[\\\"Letterlike Symbols\\\"](t)||n[\\\"Number Forms\\\"](t)||n[\\\"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)||n[\\\"Control Pictures\\\"](t)&&9251!==t||n[\\\"Optical Character Recognition\\\"](t)||n[\\\"Enclosed Alphanumerics\\\"](t)||n[\\\"Geometric Shapes\\\"](t)||n[\\\"Miscellaneous Symbols\\\"](t)&&!(t>=9754&&t<=9759)||n[\\\"Miscellaneous Symbols and Arrows\\\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n.Katakana(t)||n[\\\"Private Use Area\\\"](t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"Small Form Variants\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{\\\"./is_char_in_unicode_block\\\":265}],270:[function(t,e,r){var n=t(\\\"../geo/lng_lat\\\");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)<o?t=i:r.locationPoint(a).distSqr(e)<o&&(t=a)}for(;Math.abs(t.lng-r.center.lng)>180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{\\\"../geo/lng_lat\\\":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.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},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.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)}},a.prototype._refreshViews=function(){throw new Error(\\\"_refreshViews() must be implemented by each concrete StructArray layout\\\")},e.exports.StructArray=a,e.exports.Struct=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},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function i(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,f=e.dx<0,h=a;h<o;h++){var p=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),h)}}function a(t,e,r,a,o,s){var l,c=n(t,e),u=n(e,r),f=n(r,t);c.dy>u.dy&&(l=c,c=u,u=l),c.dy>f.dy&&(l=c,c=f,f=l),u.dy>f.dy&&(l=u,u=f,f=l),c.dy&&i(f,c,a,o,s),u.dy&&i(f,u,a,o,s)}t(\\\"../geo/coordinate\\\");var o=t(\\\"../source/tile_id\\\").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var c,u,f;if(a>=0&&a<=s)for(c=e;c<i;c++)0!==(u=Math.floor(c/s))&&!0!==n||(f=new o(r,u,t,(c%s+s)%s,a),l[f.key]=f)}void 0===n&&(n=!0);var s=1<<t,l={};return a(e[0],e[1],e[2],0,s,i),a(e[2],e[3],e[0],0,s,i),Object.keys(l).map(function(t){return l[t]})}},{\\\"../geo/coordinate\\\":61,\\\"../source/tile_id\\\":114}],274:[function(t,e,r){e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):\\\"\\\"})}},{}],275:[function(t,e,r){var n=t(\\\"@mapbox/unitbezier\\\"),i=t(\\\"../geo/coordinate\\\");t(\\\"@mapbox/point-geometry\\\");r.easeCubicInOut=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)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,c=Math.max(s,l),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2));return new i((e+n)/2,(r+a)/2,0).zoomTo(u)},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.deepEqual=t(\\\"../style-spec/util/deep_equal\\\"),r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\\\"object\\\"==typeof t&&t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\\\"undefined\\\"!=typeof console&&console.warn(t),o[t]=!0)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e},r.isClosedPolygon=function(t){if(t.length<4)return!1;var e=t[0],n=t[t.length-1];return!(Math.abs(e.x-n.x)>0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.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)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\\\s*\\\\,\\\\s*))([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)(?:\\\\=(?:([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)|(?:\\\\\\\"((?:[^\\\"\\\\\\\\]|\\\\\\\\.)*)\\\\\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\\\"\\\"}),e[\\\"max-age\\\"]){var r=parseInt(e[\\\"max-age\\\"],10);isNaN(r)?delete e[\\\"max-age\\\"]:e[\\\"max-age\\\"]=r}return e}},{\\\"../geo/coordinate\\\":61,\\\"../style-spec/util/deep_equal\\\":155,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/unitbezier\\\":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type=\\\"Feature\\\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.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},i.geometry.set=function(t){this._geometry=t},n.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(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t(\\\"./script_detection\\\");e.exports=function(t){for(var r=\\\"\\\",i=0;i<t.length;i++){var a=t.charCodeAt(i+1)||null,o=t.charCodeAt(i-1)||null;a&&n.charHasRotatedVerticalOrientation(a)&&!e.exports.lookup[t[i+1]]||o&&n.charHasRotatedVerticalOrientation(o)&&!e.exports.lookup[t[i-1]]||!e.exports.lookup[t[i]]?r+=t[i]:r+=e.exports.lookup[t[i]]}return r},e.exports.lookup={\\\"!\\\":\\\"\\\\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\\\"}},{\\\"./script_detection\\\":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\\\"_classRegistryKey\\\",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t(\\\"grid-index\\\"),a=t(\\\"../style-spec/util/color\\\"),o=t(\\\"../style-spec/expression\\\"),s=o.StylePropertyFunction,l=o.StyleExpression,c=o.StyleExpressionWithErrorHandling,u=o.ZoomDependentExpression,f=o.ZoomConstantExpression,h=t(\\\"../style-spec/expression/compound_expression\\\").CompoundExpression,p=t(\\\"../style-spec/expression/definitions\\\"),d=t(\\\"./window\\\").ImageData,g={};for(var m in n(\\\"Object\\\",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n(\\\"Grid\\\",i),n(\\\"Color\\\",a),n(\\\"StylePropertyFunction\\\",s),n(\\\"StyleExpression\\\",l,{omit:[\\\"_evaluator\\\"]}),n(\\\"StyleExpressionWithErrorHandling\\\",c,{omit:[\\\"_evaluator\\\"]}),n(\\\"ZoomDependentExpression\\\",u),n(\\\"ZoomConstantExpression\\\",f),n(\\\"CompoundExpression\\\",h,{omit:[\\\"_evaluate\\\"]}),p)p[m]._classRegistryKey||n(\\\"Expression_\\\"+m,p[m]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a<o.length;a+=1){var s=o[a];i.push(t(s,r))}return i}if(\\\"object\\\"==typeof e){var l=e.constructor,c=l._classRegistryKey;if(!c)throw new Error(\\\"can't serialize object of unregistered class\\\");var u={};if(l.serialize)u._serialized=l.serialize(e,r);else for(var f in e)if(e.hasOwnProperty(f)&&!(g[c].omit.indexOf(f)>=0)){var h=e[f];u[f]=g[c].shallow.indexOf(f)>=0?h:t(h,r)}return{name:c,properties:u}}throw new Error(\\\"can't serialize object of type \\\"+typeof e)},deserialize:function t(e){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if(\\\"object\\\"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error(\\\"can't deserialize object of anonymous class\\\");var a=g[n].klass;if(!a)throw new Error(\\\"can't deserialize unregistered class \\\"+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s<l.length;s+=1){var c=l[s];o[c]=g[n].shallow.indexOf(c)>=0?i[c]:t(i[c])}return o}throw new Error(\\\"can't deserialize object of type \\\"+typeof e)}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/expression/compound_expression\\\":123,\\\"../style-spec/expression/definitions\\\":131,\\\"../style-spec/util/color\\\":153,\\\"./window\\\":254,\\\"grid-index\\\":24}],279:[function(t,e,r){var n=t(\\\"./web_worker\\\"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t(\\\"../\\\").workerCount;for(this.workers=[];this.workers.length<r;)this.workers.push(new n)}return this.active[e]=!0,this.workers.slice()},i.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)},e.exports=i},{\\\"../\\\":73,\\\"./web_worker\\\":253}]},{},[73])(73)})}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{}],312:[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]=a(t,n);return r};var n=t(\\\"convex-hull\\\");function i(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function a(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],a=[],o=0;o<=t;++o)if(e&1<<o){r.push(i(t,o-1,o-1)),a.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(i(t,o-1,s-1)),a.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],f=[];for(s=0;s<u.length;++s){if(!a[u[s]])continue t;f.push(a[u[s]].slice())}c.push(f)}return c}},{\\\"convex-hull\\\":110}],313:[function(t,e,r){var n=t(\\\"./normalize\\\"),i=t(\\\"gl-mat4/create\\\"),a=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=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,k,M,A=u[3],T=u[7],S=u[11],C=u[12],E=u[13],L=u[14],z=u[15];if(0!==A||0!==T||0!==S){if(h[0]=A,h[1]=T,h[2]=S,h[3]=z,!s(f,f))return!1;l(f,f),y=m,b=f,_=(x=h)[0],w=x[1],k=x[2],M=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*M,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*M,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*M,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*M}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=C,e[1]=E,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]),i[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][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\\\":314,\\\"gl-mat4/clone\\\":224,\\\"gl-mat4/create\\\":225,\\\"gl-mat4/determinant\\\":226,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/transpose\\\":240,\\\"gl-vec3/cross\\\":280,\\\"gl-vec3/dot\\\":281,\\\"gl-vec3/length\\\":282,\\\"gl-vec3/normalize\\\":284}],314:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],315:[function(t,e,r){var n=t(\\\"gl-vec3/lerp\\\"),i=t(\\\"mat4-recompose\\\"),a=t(\\\"mat4-decompose\\\"),o=t(\\\"gl-mat4/determinant\\\"),s=t(\\\"quat-slerp\\\"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p||(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{\\\"gl-mat4/determinant\\\":226,\\\"gl-vec3/lerp\\\":283,\\\"mat4-decompose\\\":313,\\\"mat4-recompose\\\":316,\\\"quat-slerp\\\":367}],316:[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\\\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,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(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\\\"gl-mat4/create\\\":225,\\\"gl-mat4/fromRotationTranslation\\\":228,\\\"gl-mat4/identity\\\":229,\\\"gl-mat4/multiply\\\":232,\\\"gl-mat4/scale\\\":238,\\\"gl-mat4/translate\\\":239}],317:[function(t,e,r){\\\"use strict\\\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],318:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"mat4-interpolate\\\"),a=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\\\"),f=(t(\\\"gl-mat4/scale\\\"),t(\\\"gl-vec3/normalize\\\")),h=[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],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(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||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};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 i=this.computedInverse;u(i,i,g),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,g),this.setMatrix(t,i)},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\\\":72,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/lookAt\\\":231,\\\"gl-mat4/rotateX\\\":235,\\\"gl-mat4/rotateY\\\":236,\\\"gl-mat4/rotateZ\\\":237,\\\"gl-mat4/scale\\\":238,\\\"gl-mat4/translate\\\":239,\\\"gl-vec3/normalize\\\":284,\\\"mat4-interpolate\\\":315}],319:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),i=0;i<e;++i)a[i]=i;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],i=2;i<e;++i){for(var l=a[i],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)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":388}],320:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=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!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,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\\\",f),t.addEventListener(\\\"keyup\\\",h),t.addEventListener(\\\"keydown\\\",h),t.addEventListener(\\\"keypress\\\",h),t!==window&&(window.addEventListener(\\\"blur\\\",f),window.addEventListener(\\\"keyup\\\",h),window.addEventListener(\\\"keydown\\\",h),window.addEventListener(\\\"keypress\\\",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():s&&(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\\\",f),t.removeEventListener(\\\"keyup\\\",h),t.removeEventListener(\\\"keydown\\\",h),t.removeEventListener(\\\"keypress\\\",h),t!==window&&(window.removeEventListener(\\\"blur\\\",f),window.removeEventListener(\\\"keyup\\\",h),window.removeEventListener(\\\"keydown\\\",h),window.removeEventListener(\\\"keypress\\\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\\\"mouse-event\\\")},{\\\"mouse-event\\\":322}],321:[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 i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],322:[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}},{}],323:[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 i=n(\\\"ex\\\",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=i;break;case 2:l=window.innerHeight}if(a*=l,o*=l,(n*=l)||a||o)return e(n,a,o,t)};return t.addEventListener(\\\"wheel\\\",a),a}},{\\\"to-px\\\":417}],324:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\");function i(t){return\\\"a\\\"+t}function a(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 f(t){return\\\"p\\\"+t}function h(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 T=t.arrayArguments||1;T<1&&e(\\\"Must have at least one array argument\\\");var S=t.scalarArguments||0;S<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 C=t.getters||[],E=new Array(T),L=0;L<T;++L)C.indexOf(L)>=0?E[L]=!0:E[L]=!1;return function(t,e,r,T,S,C){var E=C.length,L=S.length;if(L<2)throw new Error(\\\"ndarray-extract-contour: Dimension must be at least 2\\\");for(var z=\\\"extractContour\\\"+S.join(\\\"_\\\"),P=[],D=[],O=[],I=0;I<E;++I)O.push(i(I));for(var I=0;I<T;++I)O.push(u(I));for(var I=0;I<L;++I)D.push(s(I)+\\\"=\\\"+i(0)+\\\".shape[\\\"+I+\\\"]|0\\\");for(var I=0;I<E;++I){D.push(a(I)+\\\"=\\\"+i(I)+\\\".data\\\",c(I)+\\\"=\\\"+i(I)+\\\".offset|0\\\");for(var R=0;R<L;++R)D.push(l(I,R)+\\\"=\\\"+i(I)+\\\".stride[\\\"+R+\\\"]|0\\\")}for(var I=0;I<E;++I){D.push(f(I)+\\\"=\\\"+c(I)),D.push(o(I,0));for(var R=1;R<1<<L;++R){for(var B=[],F=0;F<L;++F)R&1<<F&&B.push(\\\"-\\\"+l(I,F));D.push(h(I,R)+\\\"=(\\\"+B.join(\\\"\\\")+\\\")|0\\\"),D.push(o(I,R)+\\\"=0\\\")}}for(var I=0;I<E;++I)for(var R=0;R<L;++R){var N=[l(I,S[R])];R>0&&N.push(l(I,S[R-1])+\\\"*\\\"+s(S[R-1])),D.push(d(I,S[R])+\\\"=(\\\"+N.join(\\\"-\\\")+\\\")|0\\\")}for(var I=0;I<L;++I)D.push(p(I)+\\\"=0\\\");D.push(_+\\\"=0\\\");for(var j=[\\\"2\\\"],I=L-2;I>=0;--I)j.push(s(S[I]));D.push(w+\\\"=(\\\"+j.join(\\\"*\\\")+\\\")|0\\\",b+\\\"=mallocUint32(\\\"+w+\\\")\\\",x+\\\"=mallocUint32(\\\"+w+\\\")\\\",k+\\\"=0\\\"),D.push(g(0)+\\\"=0\\\");for(var R=1;R<1<<L;++R){for(var V=[],U=[],F=0;F<L;++F)R&1<<F&&(0===U.length?V.push(\\\"1\\\"):V.unshift(U.join(\\\"*\\\"))),U.push(s(S[F]));var q=\\\"\\\";V[0].indexOf(s(S[L-2]))<0&&(q=\\\"-\\\");var H=A(L,R,S);D.push(v(H)+\\\"=(-\\\"+V.join(\\\"-\\\")+\\\")|0\\\",m(H)+\\\"=(\\\"+q+V.join(\\\"-\\\")+\\\")|0\\\",g(H)+\\\"=0\\\")}function G(t,e){P.push(\\\"for(\\\",p(S[t]),\\\"=\\\",e,\\\";\\\",p(S[t]),\\\"<\\\",s(S[t]),\\\";\\\",\\\"++\\\",p(S[t]),\\\"){\\\")}function W(t){for(var e=0;e<E;++e)P.push(f(e),\\\"+=\\\",d(e,S[t]),\\\";\\\");P.push(\\\"}\\\")}function Y(){for(var t=1;t<1<<L;++t)P.push(M,\\\"=\\\",v(t),\\\";\\\",v(t),\\\"=\\\",m(t),\\\";\\\",m(t),\\\"=\\\",M,\\\";\\\")}D.push(y(0)+\\\"=0\\\",M+\\\"=0\\\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<E;++e)C[e]?P.push(o(e,0),\\\"=\\\",a(e),\\\".get(\\\",f(e),\\\");\\\"):P.push(o(e,0),\\\"=\\\",a(e),\\\"[\\\",f(e),\\\"];\\\");for(var r=[],e=0;e<E;++e)r.push(o(e,0));for(var e=0;e<T;++e)r.push(u(e));P.push(g(0),\\\"=\\\",b,\\\"[\\\",k,\\\"]=phase(\\\",r.join(),\\\");\\\");for(var n=1;n<1<<L;++n)P.push(g(n),\\\"=\\\",b,\\\"[\\\",k,\\\"+\\\",v(n),\\\"];\\\");for(var i=[],n=1;n<1<<L;++n)i.push(\\\"(\\\"+g(0)+\\\"!==\\\"+g(n)+\\\")\\\");P.push(\\\"if(\\\",i.join(\\\"||\\\"),\\\"){\\\");for(var s=[],e=0;e<L;++e)s.push(p(e));for(var e=0;e<E;++e){s.push(o(e,0));for(var n=1;n<1<<L;++n)C[e]?P.push(o(e,n),\\\"=\\\",a(e),\\\".get(\\\",f(e),\\\"+\\\",h(e,n),\\\");\\\"):P.push(o(e,n),\\\"=\\\",a(e),\\\"[\\\",f(e),\\\"+\\\",h(e,n),\\\"];\\\"),s.push(o(e,n))}for(var e=0;e<1<<L;++e)s.push(g(e));for(var e=0;e<T;++e)s.push(u(e));P.push(\\\"vertex(\\\",s.join(),\\\");\\\",y(0),\\\"=\\\",x,\\\"[\\\",k,\\\"]=\\\",_,\\\"++;\\\");for(var l=(1<<L)-1,c=g(l),n=0;n<L;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),w=[],M=d;M>0;M=M-1&d)w.push(x+\\\"[\\\"+k+\\\"+\\\"+v(M)+\\\"]\\\");w.push(y(0));for(var M=0;M<E;++M)1&n?w.push(o(M,l),o(M,d)):w.push(o(M,d),o(M,l));1&n?w.push(c,m):w.push(m,c);for(var M=0;M<T;++M)w.push(u(M));P.push(\\\"if(\\\",c,\\\"!==\\\",m,\\\"){\\\",\\\"face(\\\",w.join(),\\\")}\\\")}P.push(\\\"}\\\",k,\\\"+=1;\\\")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<E;++e)C[e]?r.push(a(e)+\\\".get(\\\"+f(e)+\\\")\\\"):r.push(a(e)+\\\"[\\\"+f(e)+\\\"]\\\");for(var e=0;e<T;++e)r.push(u(e));P.push(b,\\\"[\\\",k,\\\"++]=phase(\\\",r.join(),\\\");\\\");for(var e=0;e<t;++e)W(e);for(var n=0;n<E;++n)P.push(f(n),\\\"+=\\\",d(n,S[t]),\\\";\\\")}(e);P.push(\\\"if(\\\",s(S[e]),\\\">0){\\\",p(S[e]),\\\"=1;\\\");t(e-1,r|1<<S[e]);for(var n=0;n<E;++n)P.push(f(n),\\\"+=\\\",d(n,S[e]),\\\";\\\");e===L-1&&(P.push(k,\\\"=0;\\\"),Y());G(e,2);t(e-1,r);e===L-1&&(P.push(\\\"if(\\\",p(S[L-1]),\\\"&1){\\\",k,\\\"=0;}\\\"),Y());W(e);P.push(\\\"}\\\")}(L-1,0),P.push(\\\"freeUint32(\\\",x,\\\");freeUint32(\\\",b,\\\");\\\");var X=[\\\"'use strict';\\\",\\\"function \\\",z,\\\"(\\\",O.join(),\\\"){\\\",\\\"var \\\",D.join(),\\\";\\\",P.join(\\\"\\\"),\\\"}\\\",\\\"return \\\",z].join(\\\"\\\");return new Function(\\\"vertex\\\",\\\"face\\\",\\\"phase\\\",\\\"mallocUint32\\\",\\\"freeUint32\\\",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,E)};var x=\\\"V\\\",b=\\\"P\\\",_=\\\"N\\\",w=\\\"Q\\\",k=\\\"X\\\",M=\\\"T\\\";function A(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}},{\\\"typedarray-pool\\\":423}],325:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\"],pre:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},body:{body:\\\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\\\",args:[{name:\\\"_inline_1_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_1_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_1_arg2_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\\\"cwise/lib/wrapper\\\":119}],326:[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 i=0;i<e.dimension;++i)if(t.shape[i]!==e.shape[i])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 i(e){for(var i=r-e.length,a=[],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\\\"),a.push(\\\"1\\\"),o.push(\\\"s[\\\"+l+\\\"]-2\\\"));var c=\\\".lo(\\\"+a.join()+\\\").hi(\\\"+o.join()+\\\")\\\";if(0===a.length&&(c=\\\"\\\"),i>0){n.push(\\\"if(1\\\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\\\"&&s[\\\",l,\\\"]>2\\\");n.push(\\\"){grad\\\",i,\\\"(src.pick(\\\",s.join(),\\\")\\\",c);for(var 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(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,f=\\\"dst.pick(\\\"+s.join()+\\\",\\\"+u+\\\")\\\"+c;switch(t[u]){case\\\"clamp\\\":var h=s.slice(),p=s.slice();e[l]<0?h[u]=\\\"s[\\\"+u+\\\"]-2\\\":p[u]=\\\"1\\\",0===i?n.push(\\\"if(s[\\\",u,\\\"]>1){dst.set(\\\",s.join(),\\\",\\\",u,\\\",0.5*(src.get(\\\",h.join(),\\\")-src.get(\\\",p.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",u,\\\",0)};\\\"):n.push(\\\"if(s[\\\",u,\\\"]>1){diff(\\\",f,\\\",src.pick(\\\",h.join(),\\\")\\\",c,\\\",src.pick(\\\",p.join(),\\\")\\\",c,\\\");}else{zero(\\\",f,\\\");};\\\");break;case\\\"mirror\\\":0===i?n.push(\\\"dst.set(\\\",s.join(),\\\",\\\",u,\\\",0);\\\"):n.push(\\\"zero(\\\",f,\\\");\\\");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===i?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(\\\",f,\\\",src.pick(\\\",d.join(),\\\")\\\",c,\\\",src.pick(\\\",g.join(),\\\")\\\",c,\\\");}else{zero(\\\",f,\\\");};\\\");break;default:throw new Error(\\\"ndarray-gradient: Invalid boundary condition\\\")}}i>0&&n.push(\\\"};\\\")}for(var s=0;s<1<<r;++s){for(var f=[],h=0;h<r;++h)s&1<<h&&f.push(h+1);for(var p=0;p<1<<f.length;++p){for(var d=f.slice(),h=0;h<f.length;++h)p&1<<h&&(d[h]=-d[h]);i(d)}}n.push(\\\"return dst;};return gradient\\\");for(var g=[\\\"diff\\\",\\\"zero\\\"],m=[l,c],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 a[e]=v,v}(r)(t,e)};var n=t(\\\"dup\\\"),i=t(\\\"cwise-compiler\\\"),a={},o={},s={body:\\\"\\\",args:[],thisVars:[],localVars:[]},l=i({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=i({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 a)return a[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 a[t]=i({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\\\":116,dup:136}],327:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray-warp\\\"),i=t(\\\"gl-matrix-invert\\\");e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r<a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n<a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n<a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r<a;++r)t[r]*=s;return t}),t}},{\\\"gl-matrix-invert\\\":241,\\\"ndarray-warp\\\":334}],328:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=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],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],g=0<=h+1&&h+1<t.shape[2],m=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&g?t.get(i,l,h+1):0,_=o&&f&&g?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*m+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&g?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&g?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=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*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],329:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"cwise-compiler\\\"),i={body:\\\"\\\",args:[],thisVars:[],localVars:[]};function a(t){if(!t)return i;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:a(t.pre),body:a(t.body),post:a(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 f=[\\\"max\\\",\\\"min\\\",\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<f.length;++t){var e=f[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 h=[\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<h.length;++t){var e=h[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:i,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:i,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:i,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\\\":116}],330:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray\\\"),i=t(\\\"./doConvert.js\\\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\\\"./doConvert.js\\\":331,ndarray:335}],331:[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\\\":116}],332:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\"),i=32;function a(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 f=-1,h=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(f>0?s.push([\\\"d\\\",d,\\\"=s\\\",d,\\\"-d\\\",f,\\\"*n\\\",f].join(\\\"\\\")):s.push([\\\"d\\\",d,\\\"=s\\\",d].join(\\\"\\\")),f=d),0!=(p=t.length-1-l)&&(h>0?s.push([\\\"e\\\",p,\\\"=s\\\",p,\\\"-e\\\",h,\\\"*n\\\",h,\\\",f\\\",p,\\\"=\\\",c[p],\\\"-f\\\",h,\\\"*n\\\",h].join(\\\"\\\")):s.push([\\\"e\\\",p,\\\"=s\\\",p,\\\",f\\\",p,\\\"=\\\",c[p]].join(\\\"\\\")),h=p)}r.push(\\\"var \\\"+s.join(\\\",\\\"));var g=[\\\"0\\\",\\\"n0-1\\\",\\\"data\\\",\\\"offset\\\"].concat(o(t.length));r.push([\\\"if(n0<=\\\",i,\\\"){\\\",\\\"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(\\\"\\\"),i=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(o(t.length)),s=a(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 f(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function h(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}if(r.push([\\\"function \\\",n,\\\"(\\\",i.join(\\\",\\\"),\\\"){var \\\",l.join(\\\",\\\")].join(\\\"\\\"),\\\"for(i=left+1;i<=right;++i){\\\",\\\"j=i;ptr+=s0\\\",\\\"cptr=ptr\\\"),t.length>1){for(r.push(\\\"dptr=0;sptr=ptr\\\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\\\"for(i\\\",p,\\\"=0;i\\\",p,\\\"<n\\\",p,\\\";++i\\\",p,\\\"){\\\"].join(\\\"\\\"));for(r.push(\\\"scratch[dptr++]=\\\",f(\\\"sptr\\\")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(\\\"sptr+=d\\\"+p,\\\"}\\\");for(r.push(\\\"__g:while(j--\\\\x3eleft){\\\",\\\"dptr=0\\\",\\\"sptr=cptr-s0\\\"),u=1;u<t.length;++u)1===u&&r.push(\\\"__l:\\\"),r.push([\\\"for(i\\\",u,\\\"=0;i\\\",u,\\\"<n\\\",u,\\\";++i\\\",u,\\\"){\\\"].join(\\\"\\\"));for(r.push([\\\"a=\\\",f(\\\"sptr\\\"),\\\"\\\\nb=scratch[dptr]\\\\nif(a<b){break __g}\\\\nif(a>b){break __l}\\\"].join(\\\"\\\")),u=t.length-1;u>=1;--u)r.push(\\\"sptr+=e\\\"+u,\\\"dptr+=f\\\"+u,\\\"}\\\");for(r.push(\\\"dptr=cptr;sptr=cptr-s0\\\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\\\"for(i\\\",p,\\\"=0;i\\\",p,\\\"<n\\\",p,\\\";++i\\\",p,\\\"){\\\"].join(\\\"\\\"));for(r.push(h(\\\"dptr\\\",f(\\\"sptr\\\"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push([\\\"dptr+=d\\\",p,\\\";sptr+=d\\\",p].join(\\\"\\\"),\\\"}\\\");for(r.push(\\\"cptr-=s0\\\\n}\\\"),r.push(\\\"dptr=cptr;sptr=0\\\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\\\"for(i\\\",p,\\\"=0;i\\\",p,\\\"<n\\\",p,\\\";++i\\\",p,\\\"){\\\"].join(\\\"\\\"));for(r.push(h(\\\"dptr\\\",\\\"scratch[sptr++]\\\")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push(\\\"dptr+=d\\\"+p,\\\"}\\\")}}else r.push(\\\"scratch=\\\"+f(\\\"ptr\\\"),\\\"while((j--\\\\x3eleft)&&(\\\"+f(\\\"cptr-s0\\\")+\\\">scratch)){\\\",h(\\\"cptr\\\",f(\\\"cptr-s0\\\")),\\\"cptr-=s0\\\",\\\"}\\\",h(\\\"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);return m(v,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=a(e),u=0;n.push([\\\"function \\\",s,\\\"(\\\",l.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));var f=[\\\"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 h=[],p=1;p<t.length;++p)h.push(\\\"n\\\"+p),f.push(\\\"i\\\"+p);for(p=0;p<8;++p)f.push(\\\"b_ptr\\\"+p);f.push(\\\"ptr3\\\",\\\"ptr4\\\",\\\"ptr5\\\",\\\"ptr6\\\",\\\"ptr7\\\",\\\"pivot_ptr\\\",\\\"ptr_shift\\\",\\\"elementSize=\\\"+h.join(\\\"*\\\")),c?f.push(\\\"pivot1=malloc(elementSize)\\\",\\\"pivot2=malloc(elementSize)\\\"):f.push(\\\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\\\")}else f.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,i){if(1===e.length)n.push(\\\"ptr0=\\\"+d(e[0]));else for(var a=0;a<e.length;++a)n.push([\\\"b_ptr\\\",a,\\\"=s0*\\\",e[a]].join(\\\"\\\"));for(r&&n.push(\\\"pivot_ptr=0\\\"),n.push(\\\"ptr_shift=offset\\\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\\\"ptr\\\",a,\\\"=b_ptr\\\",a,\\\"+ptr_shift\\\"].join(\\\"\\\"));for(n.push(i),r&&n.push(\\\"++pivot_ptr\\\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\\\"ptr_shift+=d\\\"+o):n.push(\\\"ptr0+=d\\\"+o),n.push(\\\"}\\\"))}}function y(e,r,i,a){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\\\")}for(i&&n.push(\\\"pivot_ptr=0\\\"),e&&n.push(e+\\\":\\\"),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(\\\"\\\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&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 i=\\\"el\\\"+e,a=\\\"el\\\"+r;if(t.length>1){var o=\\\"__l\\\"+ ++u;y(o,[i,a],!1,[\\\"comp=\\\",g(\\\"ptr0\\\"),\\\"-\\\",g(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"if(comp>0){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=tmp0;break \\\",o,\\\"}\\\\n\\\",\\\"if(comp<0){break \\\",o,\\\"}\\\"].join(\\\"\\\"))}else n.push([\\\"if(\\\",g(d(i)),\\\">\\\",g(d(a)),\\\"){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=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,i){if(t.length>1){var a=\\\"__l\\\"+ ++u;y(a,[r],!0,[e,\\\"=\\\",g(\\\"ptr0\\\"),\\\"-pivot\\\",i,\\\"[pivot_ptr]\\\\n\\\",\\\"if(\\\",e,\\\"!==0){break \\\",a,\\\"}\\\"].join(\\\"\\\"))}else n.push([e,\\\"=\\\",g(d(r)),\\\"-pivot\\\",i].join(\\\"\\\"))}function k(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 M(e,r,i){t.length>1?(v([e,r,i],!1,[\\\"tmp=\\\",g(\\\"ptr0\\\"),\\\"\\\\n\\\",m(\\\"ptr0\\\",g(\\\"ptr1\\\")),\\\"\\\\n\\\",m(\\\"ptr1\\\",g(\\\"ptr2\\\")),\\\"\\\\n\\\",m(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\")),n.push(\\\"++\\\"+r,\\\"--\\\"+i)):n.push([\\\"ptr0=\\\",d(e),\\\"\\\\n\\\",\\\"ptr1=\\\",d(r),\\\"\\\\n\\\",\\\"ptr2=\\\",d(i),\\\"\\\\n\\\",\\\"++\\\",r,\\\"\\\\n\\\",\\\"--\\\",i,\\\"\\\\n\\\",\\\"tmp=\\\",g(\\\"ptr0\\\"),\\\"\\\\n\\\",m(\\\"ptr0\\\",g(\\\"ptr1\\\")),\\\"\\\\n\\\",m(\\\"ptr1\\\",g(\\\"ptr2\\\")),\\\"\\\\n\\\",m(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\"))}function A(t,e){k(t,e),n.push(\\\"--\\\"+e)}function T(e,r,i){t.length>1?v([e,r],!0,[m(\\\"ptr0\\\",g(\\\"ptr1\\\")),\\\"\\\\n\\\",m(\\\"ptr1\\\",[\\\"pivot\\\",i,\\\"[pivot_ptr]\\\"].join(\\\"\\\"))].join(\\\"\\\")):n.push(m(d(e),g(d(r))),m(d(r),\\\"pivot\\\"+i))}function S(e,r){n.push([\\\"if((\\\",r,\\\"-\\\",e,\\\")<=\\\",i,\\\"){\\\\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 C(e,r,i){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(i,\\\"}\\\")):n.push([\\\"while(\\\",g(d(e)),\\\"===pivot\\\",r,\\\"){\\\",i,\\\"}\\\"].join(\\\"\\\"))}return n.push(\\\"var \\\"+f.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){\\\"),k(\\\"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){\\\"),M(\\\"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){\\\"),k(\\\"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){\\\"),M(\\\"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(\\\"}\\\"),T(\\\"left\\\",\\\"(less-1)\\\",1),T(\\\"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){\\\"),C(\\\"less\\\",1,\\\"++less\\\"),C(\\\"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){\\\"),k(\\\"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){\\\"),M(\\\"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))}},{\\\"typedarray-pool\\\":423}],333:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/compile_sort.js\\\"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\\\":\\\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{\\\"./lib/compile_sort.js\\\":332}],334:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray-linear-interpolate\\\"),i=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=new Array(_inline_3_arg4_)}\\\",args:[{name:\\\"_inline_3_arg0_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg1_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg2_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg3_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\\\",args:[{name:\\\"_inline_4_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_4_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg4_\\\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warpND\\\",blockSize:64}),a=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\\\",args:[{name:\\\"_inline_7_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_7_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp1D\\\",blockSize:64}),o=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\\\",args:[{name:\\\"_inline_10_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_10_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp2D\\\",blockSize:64}),s=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}\\\",args:[{name:\\\"_inline_13_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_13_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp3D\\\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\\\"cwise/lib/wrapper\\\":119,\\\"ndarray-linear-interpolate\\\":328}],335:[function(t,e,r){var n=t(\\\"iota-array\\\"),i=t(\\\"is-buffer\\\"),a=\\\"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 i=\\\"generic\\\"===t;if(-1===e){var a=\\\"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(a)()}if(0===e){a=\\\"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 \\\"+(i?\\\"this.data.get(this.offset)\\\":\\\"this.data[this.offset]\\\")+\\\"};proto.set=function \\\"+r+\\\"_set(v){return \\\"+(i?\\\"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\\\",a)(c[t][0])}a=[\\\"'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(\\\"+\\\"),f=o.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\"),h=o.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\");a.push(\\\"function \\\"+r+\\\"(a,\\\"+f+\\\",\\\"+h+\\\",d){this.data=a\\\",\\\"this.shape=[\\\"+f+\\\"]\\\",\\\"this.stride=[\\\"+h+\\\"]\\\",\\\"this.offset=d|0}\\\",\\\"var proto=\\\"+r+\\\".prototype\\\",\\\"proto.dtype='\\\"+t+\\\"'\\\",\\\"proto.dimension=\\\"+e),a.push(\\\"Object.defineProperty(proto,'size',{get:function \\\"+r+\\\"_size(){return \\\"+o.map(function(t){return\\\"this.shape[\\\"+t+\\\"]\\\"}).join(\\\"*\\\"),\\\"}})\\\"),1===e?a.push(\\\"proto.order=[0]\\\"):(a.push(\\\"Object.defineProperty(proto,'order',{get:\\\"),e<4?(a.push(\\\"function \\\"+r+\\\"_order(){\\\"),2===e?a.push(\\\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\\\"):3===e&&a.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];}}})\\\")):a.push(\\\"ORDER})\\\")),a.push(\\\"proto.set=function \\\"+r+\\\"_set(\\\"+l.join(\\\",\\\")+\\\",v){\\\"),i?a.push(\\\"return this.data.set(\\\"+u+\\\",v)}\\\"):a.push(\\\"return this.data[\\\"+u+\\\"]=v}\\\"),a.push(\\\"proto.get=function \\\"+r+\\\"_get(\\\"+l.join(\\\",\\\")+\\\"){\\\"),i?a.push(\\\"return this.data.get(\\\"+u+\\\")}\\\"):a.push(\\\"return this.data[\\\"+u+\\\"]}\\\"),a.push(\\\"proto.index=function \\\"+r+\\\"_index(\\\",l.join(),\\\"){return \\\"+u+\\\"}\\\"),a.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+\\\"]\\\"});a.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)a.push(\\\"if(typeof i\\\"+g+\\\"==='number'&&i\\\"+g+\\\">=0){d=i\\\"+g+\\\"|0;b+=c\\\"+g+\\\"*d;a\\\"+g+\\\"-=d}\\\");a.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+o.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+o.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\")+\\\",b)}\\\"),a.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)a.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}\\\");a.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+\\\"]\\\";a.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)}\\\"),a.push(\\\"proto.pick=function \\\"+r+\\\"_pick(\\\"+l+\\\"){var a=[],b=[],c=this.offset\\\");for(g=0;g<e;++g)a.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 a.push(\\\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\\\"),a.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\\\",a.join(\\\"\\\\n\\\"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],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)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var f=function(t){if(i(t))return\\\"buffer\\\";if(a)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\\\"}return Array.isArray(t)?\\\"array\\\":\\\"generic\\\"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,n)}},{\\\"iota-array\\\":302,\\\"is-buffer\\\":304}],336:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"double-bits\\\"),i=Math.pow(2,-1074),a=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{\\\"double-bits\\\":133}],337:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)k=p[0],M=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,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/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),M=Math.asin(((h-w)/a).toFixed(9));k=t<_?n-k:k,M=f<_?n-M:M,k<0&&(k=2*n+k),M<0&&(M=2*n+M),u&&k>M&&(k-=2*n),!u&&M>k&&(M-=2*n)}if(Math.abs(M-k)>i){var A=M,T=f,S=h;M=k+i*(u&&M>k?1:-1);var C=s(f=_+r*Math.cos(M),h=w+a*Math.sin(M),r,a,o,0,u,T,S,[M,A,_,w])}var E=Math.tan((M-k)/4),L=4/3*r*E,z=4/3*a*E,P=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(M),h-z*Math.cos(M),f,h];if(p)return P;C&&(P=P.concat(C));for(var D=0;D<P.length;){var O=l(P[D],P[D+1],o);P[D++]=O.x,P[D++]=O.y}return P}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,i=0,l=0,u=0,f=null,h=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-i),v=[\\\"C\\\",x,b,v[1],v[2],v[3],v[4]];break;case\\\"T\\\":\\\"Q\\\"==e||\\\"T\\\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case\\\"Q\\\":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\\\"L\\\":v=a(p,d,v[1],v[2]);break;case\\\"H\\\":v=a(p,d,v[1],d);break;case\\\"V\\\":v=a(p,d,p,v[1]);break;case\\\"Z\\\":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],338:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[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],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=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]=h[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>a){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(v[w]*g[k]-v[k]*g[w])}}}for(o=0;o<n;++o){b=i[o];var M=0;for(x=0;x<3;++x)M+=b[x]*b[x];if(M>a)for(_=1/Math.sqrt(M),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=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),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;h[c]=u[d]*f[g]-u[g]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],339:[function(t,e,r){\\\"use strict\\\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;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,o,s=function(t){if(null===t||void 0===t)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))i.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)a.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],340:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c),f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],341:[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 i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\\\"eye\\\"in t||\\\"up\\\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t(\\\"filtered-vector\\\"),i=t(\\\"gl-mat4/lookAt\\\"),a=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],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(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 h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.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;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[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,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.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},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,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))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var M=this.computedRotation,A=M[0],T=M[1],S=M[2],C=M[3],E=A*w+C*x+T*_-S*b,L=T*w+C*b+S*x-A*_,z=S*w+C*_+A*b-T*x,P=C*w-A*x-T*b-S*_;if(n){x=p,b=d,_=g;var D=Math.sin(n)/l(x,b,_);x*=D,b*=D,_*=D,P=P*(w=Math.cos(e))-(E=E*w+P*x+L*_-z*b)*x-(L=L*w+P*b+z*x-E*_)*b-(z=z*w+P*_+E*b-L*x)*_}var O=c(E,L,z,P);O>1e-6?(E/=O,L/=O,z/=O,P/=O):(E=L=z=0,P=1),this.rotation.set(t,E,L,z,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[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])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.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 i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.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},h.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])]},h.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]}},h.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 i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\\\"./lib/quatFromFrame\\\":340,\\\"filtered-vector\\\":197,\\\"gl-mat4/fromQuat\\\":227,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/lookAt\\\":231}],342:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"repeat-string\\\");e.exports=function(t,e,r){return n(r=void 0!==r?r+\\\"\\\":\\\" \\\",e)+t}},{\\\"repeat-string\\\":381}],343:[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\\\":349}],344:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\\\"m\\\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\\\"l\\\",r=\\\"m\\\"==r?\\\"l\\\":\\\"L\\\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error(\\\"malformed path data\\\");e.push([r].concat(i.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},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\\\\.?[0-9]+(?:e[-+]?\\\\d+)?/gi},{}],345:[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}},{}],346:[function(t,e,r){(function(t){(function(){var r,n,i,a,o,s;\\\"undefined\\\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:void 0!==t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this,t(\\\"_process\\\"))},{_process:366}],347:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,a=0;a<e;++a)for(var o=0;o<a;++o)if(t[a]<t[o])r=-r;else if(t[a]===t[o])return 0;return r}for(var s=i.mallocUint8(e),a=0;a<e;++a)s[a]=0;for(var r=1,a=0;a<e;++a)if(!s[a]){var l=1;s[a]=1;for(var o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(\\\"typedarray-pool\\\")},{\\\"typedarray-pool\\\":423}],348:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\"),i=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,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,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,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{\\\"invert-permutation\\\":301,\\\"typedarray-pool\\\":423}],349:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n,a,o={};if(\\\"string\\\"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!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 i(t){return n[t]?n[t]:(\\\"string\\\"==typeof t&&(t=n[t]=t.split(/\\\\s*,\\\\s*|\\\\s+/)),t)}},{}],350:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(var o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],g=d[1^f],m=n(e[t],e[r],e[s],e[g]);m>0&&(o=d,s=g,l=f)}return i?s:(o&&c(o,l),s)}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var g=f(o,p);h(d,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\\\":107}],351:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}for(var h=new Array(e.length),p=[],s=0;s<e.length;++s)if(i[s]){var c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];i[g[0]]&&i[g[1]]&&d.push([h[g[0]],h[g[1]]])}return[d,p]};var n=t(\\\"edges-to-adjacency-list\\\")},{\\\"edges-to-adjacency-list\\\":138}],352:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\\\"planar-graph-to-polyline: graph must be manifold\\\");var d=i(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0})).length,m=new Array(g),v=new Array(g),p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=a([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],M=k.length,A=0;A<M;++A){var T=b(e[k[A]]);if(0!==T){T<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(var p=0;p<g;++p)for(var y=v[p],S=y[1],C=y[2],w=0;w<g;++w)C[w]&&(m[w]=S);for(var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)E[p].push(m[p]),E[m[p]].push(p);for(var L={},z=u(f,!1),p=0;p<g;++p)for(var k=d[p],M=k.length,w=0;w<M;++w){var P=k[w],D=k[(w+1)%M],O=Math.min(P,D)+\\\":\\\"+Math.max(P,D);if(O in L){var I=L[O];E[I].push(p),E[p].push(I),z[P]=z[D]=!0}else L[O]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!z[t[r]])return!1;return!0}for(var B=[],F=u(g,-1),p=0;p<g;++p)m[p]!==p||R(d[p])?F[p]=-1:(B.push(p),F[p]=0);var r=[];for(;B.length>0;){var N=B.pop(),j=E[N];l(j,function(t,e){return t-e});var V,U=j.length,q=F[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(F[H]>=0)&&(F[H]=1^q,B.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t(\\\"edges-to-adjacency-list\\\"),i=t(\\\"planar-dual\\\"),a=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\\\":351,\\\"edges-to-adjacency-list\\\":138,\\\"planar-dual\\\":350,\\\"point-in-big-polygon\\\":356,\\\"robust-sum\\\":393,\\\"two-product\\\":421,uniq:425}],353:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./quad\\\")},{\\\"./quad\\\":355}],354:[function(t,e,r){arguments[4][91][0].apply(r,arguments)},{dup:91}],355:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"clamp\\\"),a=t(\\\"parse-rect\\\"),o=t(\\\"array-bounds\\\"),s=t(\\\"pick-by-alias\\\"),l=t(\\\"defined\\\"),c=t(\\\"flatten-vertex-data\\\"),u=t(\\\"is-obj\\\"),f=t(\\\"dtype\\\"),h=t(\\\"math-log2\\\");function p(t,e){for(var r=e[0],n=e[1],a=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]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((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),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,g=p(t,i),m=t.length>>>1;e.dtype||(e.dtype=\\\"array\\\"),\\\"string\\\"==typeof e.dtype?d=new(f(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,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]);var c=b[o]||(b[o]=[]);var u=x[o]||(x[o]=[]);var f=l.length;o++;if(o>r){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}l.push(a[0]);c.push(s);if(a.length<=1)return u.push(null,null,null,null),f;var p=.5*i;var d=e+p,m=n+p;var v=[],_=[],w=[],k=[];for(var M=1,A=a.length;M<A;M++){var T=a[M],S=g[2*T],C=g[2*T+1];S<d?C<m?v.push(T):_.push(T):C<m?w.push(T):k.push(T)}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,k,o,s+3));return f}(0,0,1,d,0,1);for(var w=0,k=0;k<y.length;k++){var M=y[k];if(d.set)d.set(M,w);else for(var A=0,T=M.length;A<T;A++)d[A+w]=M[A];var S=w+y[k].length;_[k]=[w,S],w=S}return d.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{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=i);var f=a.apply(void 0,r),d=[Math.min(f.x,f.x+f.width),Math.min(f.y,f.y+f.height),Math.max(f.x,f.x+f.width),Math.max(f.y,f.y+f.height)],g=d[0],m=d[1],v=d[2],w=d[3],k=p([g,m,v,w],i),M=k[0],A=k[1],T=k[2],S=k[3],E=l(e.level,y.length);if(null!=e.d){var L;\\\"number\\\"==typeof e.d?L=[e.d,e.d]:e.d.length&&(L=e.d),E=Math.min(Math.max(Math.ceil(-h(Math.abs(L[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(L[1])/(i[3]-i[1])))),E)}if(E=Math.min(E,y.length),e.lod)return function(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=C(t,e,s),f=C(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}(M,A,T,S,E);var z=[];return function e(r,n,i,a,o,s){if(null!==o&&null!==s){var l=r+i,c=n+i;if(!(M>l||A>c||T<r||S<n||a>=E||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f<s;f++){var h=u[f],p=t[2*h],d=t[2*h+1];p>=g&&p<=v&&d>=m&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],C=b[4*o+2],L=b[4*o+3],P=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),D=.5*i,O=a+1;e(r,n,D,O,_,k||C||L||P),e(r,n+D,D,O,k,C||L||P),e(r+D,n,D,O,C,L||P),e(r+D,n+D,D,O,L,P)}}}(0,0,1,0,0,1),z},d;function C(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{\\\"array-bounds\\\":49,\\\"binary-search-bounds\\\":354,clamp:95,defined:131,dtype:135,\\\"flatten-vertex-data\\\":198,\\\"is-obj\\\":307,\\\"math-log2\\\":317,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349}],356:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],g=u[p];d[0]===g[0]?a.push([d,g]):r.push([d,g])}if(0===r.length)return 0===a.length?c:(m=l(a),function(t){return m(t[0],t[1])?0:1});var m;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)a=a.left;else{if(!(c>0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t(\\\"robust-orientation\\\")[3],i=t(\\\"slab-decomposition\\\"),a=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],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}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\\\":72,\\\"interval-tree-1d\\\":300,\\\"robust-orientation\\\":388,\\\"slab-decomposition\\\":404}],357:[function(t,e,r){var n,i=t(\\\"./lib/build-log\\\"),a=t(\\\"./lib/epsilon\\\"),o=t(\\\"./lib/intersecter\\\"),s=t(\\\"./lib/segment-chainer\\\"),l=t(\\\"./lib/segment-selector\\\"),c=t(\\\"./lib/geojson\\\"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,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,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\\\"object\\\"==typeof window&&(window.PolyBool=n),e.exports=n},{\\\"./lib/build-log\\\":358,\\\"./lib/epsilon\\\":359,\\\"./lib/geojson\\\":360,\\\"./lib/intersecter\\\":361,\\\"./lib/segment-chainer\\\":363,\\\"./lib/segment-selector\\\":364}],358:[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\\\")}}}},{}],359:[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 i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+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 i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-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],i=e[1],a=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-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],360:[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]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\\\"Polygon\\\"===e.type)return t.polygon(r(e.coordinates));if(\\\"MultiPolygon\\\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));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 i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(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 a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:\\\"Polygon\\\",coordinates:[]}:1==u.length?{type:\\\"Polygon\\\",coordinates:u[0]}:{type:\\\"MultiPolygon\\\",coordinates:u}}};e.exports=n},{}],361:[function(t,e,r){var n=t(\\\"./linked-list\\\");e.exports=function(t,e,r){function i(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 a=n.create();function o(t,r){a.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?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 i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(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(i,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y,x=m();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.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(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,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((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,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(i(t.start,t.end,t),!0)}),r.forEach(function(t){s(i(t.start,t.end,t),!1)}),c(e,n)}}}},{\\\"./linked-list\\\":362}],362:[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,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.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}}},{}],363:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,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 f=(m=n[u])[0],h=(m[1],m[m.length-1]);if(m[m.length-2],e.pointsSame(f,a)){if(M(u,!0,!0))break}else if(e.pointsSame(f,o)){if(M(u,!0,!1))break}else if(e.pointsSame(h,a)){if(M(u,!1,!0))break}else if(e.pointsSame(h,o)&&M(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,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 i.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 k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),T(_,w)):(A(w),T(w,_)):T(w,_):l.matches_head?T(_,w):k?(A(_),T(w,_)):(A(w),T(_,w))}function M(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 T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i}},{}],364:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var i=(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[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var i={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=i},{}],365:[function(t,e,r){\\\"use strict\\\";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var g=i[l],m=a[l],v=n[l];c+=g*g,u+=g*m,f+=m*m,h+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,k=Math.abs(c*f-u*u),M=u*p-f*h,A=u*h-c*p;if(M+A<=k)if(M<0)A<0&&h<0?(A=0,-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d):(M=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(M=0,y=d):-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d;else{var T=1/k;y=(M*=T)*(c*M+u*(A*=T)+2*h)+A*(u*M+f*A+2*p)+d}else M<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d:(M=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=f+2*p+d):y=(M=1-(A=_/w))*(c*M+u*A+2*h)+A*(u*M+f*A+2*p)+d:(A=0,b<=0?(M=1,y=c+2*h+d):h>=0?(M=0,y=d):y=h*(M=-h/c)+d):(_=f+p-u-h)<=0?(M=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d;var S=1-M-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+M*e[l]+A*r[l];return y<0?0:y}},{}],366:[function(t,e,r){var n,i,a=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{i=\\\"function\\\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}a.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||f||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title=\\\"browser\\\",a.browser=!0,a.env={},a.argv=[],a.version=\\\"\\\",a.versions={},a.on=m,a.addListener=m,a.once=m,a.off=m,a.removeListener=m,a.removeAllListeners=m,a.emit=m,a.prependListener=m,a.prependOnceListener=m,a.listeners=function(t){return[]},a.binding=function(t){throw new Error(\\\"process.binding is not supported\\\")},a.cwd=function(){return\\\"/\\\"},a.chdir=function(t){throw new Error(\\\"process.chdir is not supported\\\")},a.umask=function(){return 0}},{}],367:[function(t,e,r){e.exports=t(\\\"gl-quat/slerp\\\")},{\\\"gl-quat/slerp\\\":256}],368:[function(t,e,r){(function(r){for(var n=t(\\\"performance-now\\\"),i=\\\"undefined\\\"==typeof window?r:window,a=[\\\"moz\\\",\\\"webkit\\\"],o=\\\"AnimationFrame\\\",s=i[\\\"request\\\"+o],l=i[\\\"cancel\\\"+o]||i[\\\"cancelRequest\\\"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+\\\"Request\\\"+o],l=i[a[c]+\\\"Cancel\\\"+o]||i[a[c]+\\\"CancelRequest\\\"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=h.slice(0);h.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 h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"performance-now\\\":346}],369:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"big-rat/add\\\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\\\"big-rat/add\\\":56}],370:[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\\\":59}],371:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"big-rat\\\"),i=t(\\\"big-rat/mul\\\");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{\\\"big-rat\\\":59,\\\"big-rat/mul\\\":68}],372:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"big-rat/sub\\\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\\\"big-rat/sub\\\":70}],373:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"compare-cell\\\"),i=t(\\\"compare-oriented-cell\\\"),a=t(\\\"cell-orientation\\\");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\\\"cell-orientation\\\":92,\\\"compare-cell\\\":108,\\\"compare-oriented-cell\\\":109}],374:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"array-bounds\\\"),i=t(\\\"color-normalize\\\"),a=t(\\\"update-diff\\\"),o=t(\\\"pick-by-alias\\\"),s=t(\\\"object-assign\\\"),l=t(\\\"flatten-vertex-data\\\"),c=t(\\\"to-float32\\\"),u=c.float32,f=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:h}),k(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 mediump 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:h.length}),s(b,{update:k,draw:_,destroy:M,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?k(t):null===t&&M(),_()}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 k(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)),a(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 a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error(\\\"Not enough colors\\\");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(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=f(e.scale),e.translateFract=f(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 h=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),m=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),m.set(r,2*i))}}),c(u(m)),p(f(m)),d(_),g(w)}}}function M(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var h=[[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\\\":49,\\\"color-normalize\\\":100,\\\"flatten-vertex-data\\\":198,\\\"object-assign\\\":339,\\\"pick-by-alias\\\":349,\\\"to-float32\\\":416,\\\"update-diff\\\":426}],375:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-normalize\\\"),i=t(\\\"array-bounds\\\"),a=t(\\\"object-assign\\\"),o=t(\\\"glslify\\\"),s=t(\\\"pick-by-alias\\\"),l=t(\\\"flatten-vertex-data\\\"),c=t(\\\"earcut\\\"),u=t(\\\"array-normalize\\\"),f=t(\\\"to-float32\\\"),h=f.float32,p=f.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\\\")},i=t(a({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(a({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\\\\t// adjust scale for horizontal bars\\\\n\\\\tvec2 scale = max(scale, MIN_DIFF);\\\\n\\\\tvec2 scaleRatio = scale * viewport.zw;\\\\n\\\\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) * scale + translate;\\\\n\\\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\\\n\\\\n\\\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\\\n\\\\tvec2 bBotPosition = (bBotCoord) * scale + 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=i}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:i,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){if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);var n;(\\\"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?t.shaders.rect(e):\\\"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,f){var d=e.passes[f];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[f]=d={id:f,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=a({},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,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%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=i(v,2);if(d.fill){for(var k=[],M={},A=0,T=0,S=0,C=d.count;T<C;T++){var E=v[2*T],L=v[2*T+1];isNaN(E)||isNaN(L)||null==E||null==L?(E=v[2*A],L=v[2*A+1],M[T]=A):A=T,k[S++]=E,k[S++]=L}for(var z=c(k,d.hole||[]),P=0,D=z.length;P<D;P++)null!=M[z[P]]&&(z[P]=M[z[P]]);d.triangles=z}var O=new Float64Array(v);u(O,2,w);var I=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(I[0]=O[2*y-4],I[1]=O[2*y-3]):(I[0]=O[2*y-2],I[1]=O[2*y-1]):(I[0]=O[0],I[1]=O[1]),I.set(O,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(I[2*y+2]=O[2],I[2*y+3]=O[3],d.count-=1):(I[2*y+2]=O[0],I[2*y+3]=O[1],I[2*y+4]=O[2],I[2*y+5]=O[3]):(I[2*y+2]=O[2*y-2],I[2*y+3]=O[2*y-1],I[2*y+4]=O[2*y-2],I[2*y+5]=O[2*y-1]),d.positionBuffer(h(I)),d.positionFractBuffer(p(I))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,B=R[2]-R[0],F=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[B/N,F/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,W=0;W<2;W++)for(var Y=0;Y<t.dashes.length;++Y){for(var X=0,Z=t.dashes[Y]*m.dashMult*.5;X<Z;++X)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[f]=null}),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=e.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}return this.passes=this.passes.filter(Boolean),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\\\":49,\\\"array-normalize\\\":50,\\\"color-normalize\\\":100,earcut:137,\\\"es6-weak-map\\\":190,\\\"flatten-vertex-data\\\":198,glslify:295,\\\"object-assign\\\":339,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349,\\\"to-float32\\\":416}],376:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scatter\\\"),i=t(\\\"object-assign\\\");e.exports=function(t,e){var r=new n(t,e),a=r.render.bind(r);return i(a,{render:a,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}),a}},{\\\"./scatter\\\":377,\\\"object-assign\\\":339}],377:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-normalize\\\"),i=t(\\\"array-bounds\\\"),a=t(\\\"color-id\\\"),o=t(\\\"point-cluster\\\"),s=t(\\\"object-assign\\\"),l=t(\\\"glslify\\\"),c=t(\\\"pick-by-alias\\\"),u=t(\\\"update-diff\\\"),f=t(\\\"flatten-vertex-data\\\"),h=t(\\\"is-iexplorer\\\"),p=t(\\\"to-float32\\\"),d=p.float32,g=p.fract32,m=t(\\\"parse-rect\\\");function v(t,e){var r=this;if(!(this instanceof v))return new v(t,e);\\\"function\\\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=h,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:\\\"uint8\\\",format:\\\"rgba\\\",wrapS:\\\"clamp\\\",wrapT:\\\"clamp\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\"}),s(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.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?a.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?a.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\\\"},c=s({},o);c.frag=l([\\\"precision mediump 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    return;\\\\n  }\\\\n\\\\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\\\"]),c.vert=l([\\\"precision mediump 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,\\\\n    fragWidth, fragBorderColorLevel, fragColorLevel;\\\\n\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec4 getColor(vec4 id) {\\\\n  // zero-palette means we deal with direct buffer\\\\n  if (paletteSize.x == 0.) return id / 255.;\\\\n  return texture2D(palette, paletteCoord(id.xy));\\\\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}\\\\n\\\"]);try{this.drawMarker=t(c)}catch(t){}var u=s({},o);u.frag=l([\\\"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\\\"]),u.vert=l([\\\"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\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\n\\\\nvec4 getColor(vec4 id) {\\\\n  // zero-palette means we deal with direct buffer\\\\n  if (paletteSize.x == 0.) return id / 255.;\\\\n  return texture2D(palette, paletteCoord(id.xy));\\\\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\\\"]),h&&(u.frag=u.frag.replace(\\\"smoothstep\\\",\\\"smoothStep\\\")),this.drawCircle=t(u)}e.exports=v,v.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},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];return e.length&&(t=this).update.apply(t,e),this.draw(),this},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.groups;if(1===e.length&&Array.isArray(e[0])&&(null===e[0][0]||Array.isArray(e[0][0]))&&(e=e[0]),this.regl._refresh(),e.length)for(var i=0;i<e.length;i++)t.drawItem(i,e[i]);else n.forEach(function(e,r){t.drawItem(r)});return this},v.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=[],a=1;a<n.activation.length;a++)n.activation[a]&&(!0===n.activation[a]||n.activation[a].data.length)&&i.push.apply(i,this.getMarkerDrawOptions(a,n,e));i.length&&this.drawMarker(i)}},v.prototype.getMarkerDrawOptions=function(t,e,r){var n=e.range,i=e.tree,a=e.viewport,o=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!i)return r?[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],count:r.length,elements:r,offset:0})]:[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],offset:0})];var u=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[t].data,p=new Uint8Array(c),d=0;d<r.length;d++){var g=r[d];p[g]=h?h[g]:1}l.subdata(p)}for(var m=f.length;m--;){var v=f[m],y=v[0],x=v[1];u.push(s({},e,{markerTexture:this.markerTextures[t],activation:r?l:o[t],offset:y,count:x-y}))}return u},v.prototype.update=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){1===e.length&&Array.isArray(e[0])&&(e=e[0]);var n=this.groups,a=this.gl,l=this.regl,h=this.maxSize,p=this.maxColors,y=this.palette;this.groups=n=e.map(function(e,r){var x=n[r];if(void 0===e)return x;null===e?e={positions:null}:\\\"function\\\"==typeof e?e={ondraw:e}:\\\"number\\\"==typeof e[0]&&(e={positions:e}),null===(e=c(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\\\"})).positions&&(e.positions=[]),x||(n[r]=x={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"stream\\\",type:\\\"uint8\\\"}),sizeBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"uint8\\\"}),colorBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"uint8\\\"}),positionBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"float\\\"}),positionFractBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"float\\\"})},e=s({},v.defaults,e)),!e.positions||\\\"marker\\\"in e||(e.marker=x.marker,delete x.marker),!e.marker||\\\"positions\\\"in e||(e.positions=x.positions,delete x.positions);var b=0,_=0;if(u(x,e,[{snap:!0,size:function(t,e){return null==t&&(t=v.defaults.size),b+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=v.defaults.borderSize),b+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=v.defaults.color),e=t.updateColor(e),_++,e},borderColor:function(e,r){return null==e&&(e=v.defaults.borderColor),e=t.updateColor(e),_++,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,s=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:l.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:l.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=f(t,\\\"float64\\\");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?i(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||u>n)?e.tree=o(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var p={primitive:\\\"points\\\",usage:\\\"static\\\",data:e.tree,type:\\\"uint32\\\"};e.elements?e.elements(p):e.elements=l.elements(p)}return a({data:d(t),usage:\\\"dynamic\\\"}),s({data:g(t),usage:\\\"dynamic\\\"}),c({data:new Uint8Array(u),type:\\\"uint8\\\",usage:\\\"stream\\\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&\\\"number\\\"!=typeof e[0]){for(var a=[],o=0,s=Math.min(e.length,r.count);o<s;o++){var c=t.addMarker(e[o]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][o]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:\\\"uint8\\\",usage:\\\"static\\\"};i[u]?i[u](f):i[u]=l.buffer(f),i[u].data=a[u]}}else{i[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=g(e.scale),e.translateFract=g(e.translate),t},viewport:function(t){return m(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),b){var w=x.count,k=x.size,M=x.borderSize,A=x.sizeBuffer,T=new Uint8Array(2*w);if(k.length||M.length)for(var S=0;S<w;S++)T[2*S]=Math.round(255*(null==k[S]?k:k[S])/h),T[2*S+1]=Math.round(255*(null==M[S]?M:M[S])/h);A({data:T,usage:\\\"dynamic\\\"})}if(_){var C,E=x.count,L=x.color,z=x.borderColor,P=x.colorBuffer;if(t.tooManyColors){if(L.length||z.length){C=new Uint8Array(8*E);for(var D=0;D<E;D++){var O=L[D];C[8*D]=y[4*O],C[8*D+1]=y[4*O+1],C[8*D+2]=y[4*O+2],C[8*D+3]=y[4*O+3];var I=z[D];C[8*D+4]=y[4*I],C[8*D+5]=y[4*I+1],C[8*D+6]=y[4*I+2],C[8*D+7]=y[4*I+3]}}}else if(L.length||z.length){C=new Uint8Array(4*E+2);for(var R=0;R<E;R++)null!=L[R]&&(C[4*R]=L[R]%p,C[4*R+1]=Math.floor(L[R]/p)),null!=z[R]&&(C[4*R+2]=z[R]%p,C[4*R+3]=Math.floor(z[R]/p))}P({data:C||new Uint8Array(0),type:\\\"uint8\\\",usage:\\\"dynamic\\\"})}return x})}},v.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;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 a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:\\\"linear\\\",min:\\\"linear\\\"})),a},v.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,i=this.maxColors;Array.isArray(t)||(t=[t]);var o=[];if(\\\"number\\\"==typeof t[0]){var s=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)s.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)s.push(t.subarray(c,c+4));t=s}for(var u=0;u<t.length;u++){var f=t[u];f=n(f,\\\"uint8\\\");var h=a(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}o[u]=e[h]}return!this.tooManyColors&&r.length>i*i*4&&(this.tooManyColors=!0),this.updatePalette(r),1===o.length?o[0]:o},v.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 i=.25*(t=t.slice()).length%e;i<n*e;i++)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)}},v.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}},{\\\"array-bounds\\\":49,\\\"color-id\\\":98,\\\"color-normalize\\\":100,\\\"flatten-vertex-data\\\":198,glslify:295,\\\"is-iexplorer\\\":305,\\\"object-assign\\\":339,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349,\\\"point-cluster\\\":353,\\\"to-float32\\\":416,\\\"update-diff\\\":426}],378:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-scatter2d/scatter\\\"),i=t(\\\"pick-by-alias\\\"),a=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 f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}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=arguments.length;e--;)t[e]=arguments[e];if(t.length){for(var r=0;r<t.length;r++)this.updateItem(r,t[r]);this.traces=this.traces.filter(Boolean);for(var n,i=[],a=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++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(n=this.scatter).update.apply(n,i),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=i(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]=a(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 k=0;k<g;k++)for(var M=0;M<g;M++)if((s.diagonal||M!==k)&&(s.upper||!(k>M))&&(s.lower||!(k<M))){var A=f(s.id,k,M),T=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?T.positions={x:{buffer:s.buffer,offset:M,count:m,stride:g},y:{buffer:s.buffer,offset:k,count:m,stride:g}}:T.positions={x:{buffer:s.buffer,offset:M*m,count:m},y:{buffer:s.buffer,offset:k*m,count:m}},T.bounds=h(s.bounds,k,M)),o.domain||o.viewport||o.data){var S=d?h(s.padding,k,M):s.padding;if(s.domain){var C=h(s.domain,k,M),E=C[0],L=C[1],z=C[2],P=C[3];T.viewport=[x+E*v+S[0],b+L*y+S[1],x+z*v-S[2],b+P*y-S[3]]}else T.viewport=[x+M*_+_*S[0],b+k*w+w*S[1],x+(M+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(T.color=s.color),o.size&&(T.size=s.size),o.marker&&(T.marker=s.marker),o.borderSize&&(T.borderSize=s.borderSize),o.borderColor&&(T.borderColor=s.borderColor),o.opacity&&(T.opacity=s.opacity),o.range&&(T.range=n?h(s.range,k,M):s.range||T.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=[],i=0;i<e.length;i++)if(\\\"number\\\"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map(function(t,e){n[h+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\\\":49,\\\"array-range\\\":51,\\\"flatten-vertex-data\\\":379,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349,raf:368,\\\"regl-scatter2d/scatter\\\":377}],379:[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 i,a,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(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&\\\"string\\\"!=typeof e)e.set(t,r);else{var f=n(e||\\\"float32\\\");if(Array.isArray(t)||\\\"array\\\"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:135}],380:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e){this.id=V++,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 i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u=\\\"undefined\\\"==typeof window?1:window.devicePixelRatio,f=!1,h=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?a=(o=s).canvas:(\\\"gl\\\"in s?o=s.gl:\\\"canvas\\\"in s?a=n(s.canvas):\\\"container\\\"in s&&(i=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&&(h=s.onDone),\\\"profile\\\"in s&&(f=!!s.profile),\\\"pixelRatio\\\"in s&&(u=+s.pixelRatio))),e&&(\\\"canvas\\\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){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,j(i.style,{width:e+\\\"px\\\",height:n+\\\"px\\\"})}var i=document.createElement(\\\"canvas\\\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\\\"absolute\\\",j(t.style,{margin:0,padding:0})),window.addEventListener(\\\"resize\\\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\\\"resize\\\",n),t.removeChild(i)}}}(i||document.body,0,u)))return null;a=e.canvas,p=e.onDestroy}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\\\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:p}:(p(),h(\\\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\\\"),null)}function a(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)||G(t.data))}function o(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function s(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 l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function c(t){Y[s(t.byteLength)>>2].push(t)}function u(t,e,r,n,i,a){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)i[a++]=c[u]}function f(t){return 0|J[Object.prototype.toString.call(t)]}function h(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function p(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function d(t,e,r){function n(e){this.id=l++,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,o,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){o=tt(e);for(var l=n=1;l<o.length;++l)n*=o[l];t.dimension=n,i(t,e=$(e,o,t.dtype),r),s?t.persistentData=e:X.freeType(e)}else\\\"number\\\"==typeof e[0]?(t.dimension=o,h(o=X.allocType(t.dtype,e.length),e),i(t,o,r),s?t.persistentData=o:X.freeType(o)):G(e[0])&&(t.dimension=e[0].length,t.dtype=n||f(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),s?t.persistentData=e:X.freeType(e))}else if(G(e))t.dtype=n||f(e),t.dimension=o,i(t,e,r),s&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(a(e)){o=e.shape;var c=e.stride,u=(l=e.offset,0),d=0,g=0,m=0;1===o.length?(u=o[0],d=1,g=c[0],m=0):2===o.length&&(u=o[0],d=o[1],g=c[0],m=c[1]),t.dtype=n||f(e.data)||5126,t.dimension=d,p(o=X.allocType(t.dtype,u*d),e.data,u,d,g,m,l),i(t,o,r),s?t.persistentData=o:X.freeType(o)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var u=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(i,l,u,d){function g(e){var n=35044,i=null,s=0,l=0,c=1;return Array.isArray(e)||G(e)||a(e)?i=e:\\\"number\\\"==typeof e?s=0|e:e&&(\\\"data\\\"in e&&(i=e.data),\\\"usage\\\"in e&&(n=Q[e.usage]),\\\"type\\\"in e&&(l=K[e.type]),\\\"dimension\\\"in e&&(c=0|e.dimension),\\\"length\\\"in e&&(s=0|e.length)),m.bind(),i?o(m,i,n,l,c,d):(t.bufferData(m.type,s,n),m.dtype=l||5121,m.usage=n,m.dimension=c,m.byteLength=s),r.profile&&(m.stats.size=m.byteLength*et[m.dtype]),g}e.bufferCount++;var m=new n(l);return c[m.id]=m,u||g(i),g._reglType=\\\"buffer\\\",g._buffer=m,g.subdata=function(e,r){var n,i=0|(r||0);if(m.bind(),G(e))t.bufferSubData(m.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\\\"number\\\"==typeof e[0]){var o=X.allocType(m.dtype,e.length);h(o,e),t.bufferSubData(m.type,i,o),X.freeType(o)}else(Array.isArray(e[0])||G(e[0]))&&(n=tt(e),o=$(e,n,m.dtype),t.bufferSubData(m.type,i,o),X.freeType(o))}else if(a(e)){n=e.shape;var s=e.stride,l=o=0,c=0,u=0;1===n.length?(o=n[0],l=1,c=s[0],u=0):2===n.length&&(o=n[0],l=n[1],c=s[0],u=s[1]),n=Array.isArray(e.data)?m.dtype:f(e.data),p(n=X.allocType(n,o*l),e.data,o,l,c,u,e.offset),t.bufferSubData(m.type,i,n),X.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=u.pop();return r||(r=new n(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){u.push(t)},clear:function(){W(c).forEach(s),u.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:function(){W(c).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 g(t,e,r,n){function i(t){this.id=c++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function o(n,i,o,s,l,c,u){if(n.buffer.bind(),i){var f=u;u||G(i)&&(!a(i)||G(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,o,f,3)}else t.bufferData(34963,c,o),n.buffer.dtype=f||5121,n.buffer.usage=o,n.buffer.dimension=3,n.buffer.byteLength=c;if(f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=l)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if(\\\"number\\\"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||G(t)||a(t)?e=t:(\\\"data\\\"in t&&(e=t.data),\\\"usage\\\"in t&&(r=Q[t.usage]),\\\"primitive\\\"in t&&(n=rt[t.primitive]),\\\"count\\\"in t&&(i=0|t.count),\\\"type\\\"in t&&(h=u[t.type]),\\\"length\\\"in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&&5124!==h||(s*=4))),o(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType=\\\"elements\\\",l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return\\\"function\\\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function m(t){for(var e=X.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{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function v(t){return Array.isArray(t)||G(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||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=lt.indexOf(e)||(y(t)||x(t)||a(t))}function w(t,e){36193===t.type?(t.data=m(e),X.freeType(e)):t.data=e}function k(t,e,r,n,i,a){if(t=void 0!==ut[t]?ut[t]:st[t]*ct[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function M(t,e,r,n,i,o,s){function l(){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=U[e.colorSpace]),\\\"type\\\"in e&&(t.type=q[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\\\"shape\\\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\\\"radius\\\"in e&&(r=n=e.radius),\\\"width\\\"in e&&(r=e.width),\\\"height\\\"in e&&(n=e.height),\\\"channels\\\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\\\"format\\\"in e&&(r=e.format,n=t.internalformat=H[r],t.format=it[n],r in q&&!(\\\"type\\\"in e)&&(t.type=q[r]),r in Y&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){l.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=i.viewportWidth,o=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0}else if(r){if(G(r))t.channels=t.channels||4,t.data=r,\\\"type\\\"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,o=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(o=X.allocType(t.type,o)).set(n),t.data=o;break;case 36193:t.data=m(n)}t.alignment=1,t.needsFree=!0}else if(a(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);o=r.shape;var s,l,c,f,h=r.stride;3===o.length?(c=o[2],f=h[2]):f=c=1,s=o[0],l=o[1],o=h[0],h=h[1],t.alignment=1,t.width=s,t.height=l,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,s=f,r=r.offset,c=t.width,f=t.height,l=t.channels;for(var p=X.allocType(36193===t.type?5126:t.type,c*f*l),d=0,g=0;g<f;++g)for(var k=0;k<c;++k)for(var M=0;M<l;++M)p[d++]=n[o*k+h*g+s*M+r];w(t,p)}else if(\\\"[object HTMLCanvasElement]\\\"===b(r)||\\\"[object CanvasRenderingContext2D]\\\"===b(r))\\\"[object HTMLCanvasElement]\\\"===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(\\\"[object HTMLImageElement]\\\"===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(\\\"[object HTMLVideoElement]\\\"===b(r))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,o=t.height||r.length,h=t.channels,h=v(r[0][0])?h||r[0][0].length:h||1,s=Z.shape(r),c=1,f=0;f<s.length;++f)c*=s[f];c=X.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,s,\\\"\\\",c),w(t,c),t.alignment=1,t.width=n,t.height=o,t.channels=h,t.format=t.internalformat=ot[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function g(){return lt.pop()||new h}function M(t){t.needsFree&&X.freeType(t.data),h.call(t),lt.push(t)}function A(t,e,r){var n=t.images[0]=g();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))c(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=g(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,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)}}function C(){var t=ct.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function E(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&M(e[r]),e[r]=null;ct.push(t)}function L(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){\\\"min\\\"in e&&(t.minFilter=V[e.min],0<=at.indexOf(t.minFilter)&&(t.genMipmaps=!0)),\\\"mag\\\"in e&&(t.magFilter=N[e.mag]);var r=t.wrapS,n=t.wrapT;if(\\\"wrap\\\"in e){var i=e.wrap;\\\"string\\\"==typeof i?r=n=F[i]:Array.isArray(i)&&(r=F[i[0]],n=F[i[1]])}else\\\"wrapS\\\"in e&&(r=F[e.wrapS]),\\\"wrapT\\\"in e&&(n=F[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 P(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 D(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ut++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new L,s.profile&&(this.stats={size:0})}function O(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function I(){var e=pt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function R(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),pt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ft[e.id],o.textureCount--}var B={\\\"don't care\\\":4352,\\\"dont care\\\":4352,nice:4354,fast:4353},F={repeat:10497,clamp:33071,mirror:33648},N={nearest:9728,linear:9729},V=j({mipmap:9987,\\\"nearest mipmap nearest\\\":9984,\\\"linear mipmap nearest\\\":9985,\\\"nearest mipmap linear\\\":9986,\\\"linear mipmap linear\\\":9987},N),U={none:0,browser:37444},q={uint8:5121,rgba4:32819,rgb565:33635,\\\"rgb5 a1\\\":32820},H={alpha:6406,luminance:6409,\\\"luminance alpha\\\":6410,rgb:6407,rgba:6408,rgba4:32854,\\\"rgb5 a1\\\":32855,rgb565:36194},Y={};e.ext_srgb&&(H.srgb=35904,H.srgba=35906),e.oes_texture_float&&(q.float32=q.float=5126),e.oes_texture_half_float&&(q.float16=q[\\\"half float\\\"]=36193),e.webgl_depth_texture&&(j(H,{depth:6402,\\\"depth stencil\\\":34041}),j(q,{uint16:5123,uint32:5125,\\\"depth stencil\\\":34042})),e.webgl_compressed_texture_s3tc&&j(Y,{\\\"rgb s3tc dxt1\\\":33776,\\\"rgba s3tc dxt1\\\":33777,\\\"rgba s3tc dxt3\\\":33778,\\\"rgba s3tc dxt5\\\":33779}),e.webgl_compressed_texture_atc&&j(Y,{\\\"rgb atc\\\":35986,\\\"rgba atc explicit alpha\\\":35987,\\\"rgba atc interpolated alpha\\\":34798}),e.webgl_compressed_texture_pvrtc&&j(Y,{\\\"rgb pvrtc 4bppv1\\\":35840,\\\"rgb pvrtc 2bppv1\\\":35841,\\\"rgba pvrtc 4bppv1\\\":35842,\\\"rgba pvrtc 2bppv1\\\":35843}),e.webgl_compressed_texture_etc1&&(Y[\\\"rgb etc1\\\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Y).forEach(function(t){var e=Y[t];0<=K.indexOf(e)&&(H[t]=e)});var Q=Object.keys(H);r.textureFormats=Q;var $=[];Object.keys(H).forEach(function(t){$[H[t]]=t});var tt=[];Object.keys(q).forEach(function(t){tt[q[t]]=t});var et=[];Object.keys(N).forEach(function(t){et[N[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(F).forEach(function(t){nt[F[t]]=t});var it=Q.reduce(function(t,e){var r=H[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\\\"rgba\\\")?t[r]=6408:t[r]=6407,t},{}),lt=[],ct=[],ut=0,ft={},ht=r.maxTextureUnits,pt=Array(ht).map(function(){return null});return j(D.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<ht;++r){var n=pt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}pt[r]=this,e=r;break}s.profile&&o.maxTextureUnits<e+1&&(o.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&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=C();return\\\"number\\\"==typeof t?A(a,0|t,\\\"number\\\"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,O(i),S(a,3553),P(r,3553),I(),E(a),s.profile&&(i.stats.size=k(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new D(3553);return ft[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,O(i),d(o,3553,e,r,a),I(),M(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,O(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return I(),s.profile&&(i.stats.size=k(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=\\\"texture2d\\\",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(L.call(l),o=0;6>o;++o)m[o]=C();if(\\\"number\\\"!=typeof t&&t){if(\\\"object\\\"==typeof t)if(e)T(m[0],t),T(m[1],e),T(m[2],r),T(m[3],n),T(m[4],i),T(m[5],a);else if(z(l,t),u(h,t),\\\"faces\\\"in t)for(t=t.faces,o=0;6>o;++o)c(m[o],h),T(m[o],t[o]);else for(o=0;6>o;++o)T(m[o],t)}else for(t=0|t||1,o=0;6>o;++o)A(m[o],t,t);for(c(h,m[0]),h.mipmask=l.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,O(h),o=0;6>o;++o)S(m[o],34069+o);for(P(l,34067),I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=nt[l.wrapS],f.wrapT=nt[l.wrapT],o=0;6>o;++o)E(m[o]);return f}var h=new D(34067);ft[h.id]=h,o.cubeCount++;var m=Array(6);return f(e,r,n,i,a,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,O(h),d(a,34069+t,r,n,i),I(),M(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,O(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\\\"textureCube\\\",f._texture=h,s.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<ht;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),pt[e]=null;W(ft).forEach(R),o.cubeCount=0,o.textureCount=0},getTexture:function(t){return null},restore:function(){W(ft).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);P(e.texInfo,e.target)})}}}function A(t,e,r,n,i,a){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,i=t;return\\\"object\\\"==typeof t&&(i=t.data,\\\"target\\\"in t&&(e=0|t.target)),\\\"texture2d\\\"===(t=i._reglType)?r=i:\\\"textureCube\\\"===t?r=i:\\\"renderbuffer\\\"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(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))}function d(){this.id=k++,M[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,a.framebufferCount--,delete M[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.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.bindFramebuffer(36160,x.next),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d=\\\"rgba\\\",m=\\\"uint8\\\",y=1,x=null,w=null,k=null,M=!1;\\\"number\\\"==typeof t?(a=0|t,o=0|e||a):t?(\\\"shape\\\"in t?(a=(o=t.shape)[0],o=o[1]):(\\\"radius\\\"in t&&(a=o=t.radius),\\\"width\\\"in t&&(a=t.width),\\\"height\\\"in t&&(o=t.height)),(\\\"color\\\"in t||\\\"colors\\\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\\\"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)&&(M=!(!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:(k=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=null,S=null,C=null;if(Array.isArray(i))A=i.map(u);else if(i)A=[u(i)];else for(A=Array(y),i=0;i<y;++i)A[i]=f(a,o,p,d,m);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&&!c&&(T=f(a,o,M,\\\"depth\\\",\\\"uint32\\\")),w?S=u(w):c&&!s&&(S=f(a,o,!1,\\\"stencil\\\",\\\"uint8\\\")),k?C=u(k):!x&&!w&&c&&s&&(C=f(a,o,M,\\\"depth stencil\\\",\\\"depth stencil\\\")),s=null,i=0;i<A.length;++i)l(A[i]),A[i]&&A[i].texture&&(c=pt[A[i].texture._texture.format]*dt[A[i].texture._texture.type],null===s&&(s=c));return l(T),l(S),l(C),g(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=C,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(C),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,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 k=0,M={};return j(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 i,a={color:null},o=0,s=null;i=\\\"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&&(i=t.colorFormat)),\\\"depth\\\"in t&&(a.depth=t.depth),\\\"stencil\\\"in t&&(a.stencil=t.stencil),\\\"depthStencil\\\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[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(){W(M).forEach(m)},restore:function(){W(M).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}function T(){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){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(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,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[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){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l<f;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace(\\\"[0]\\\",\\\"[\\\"+p+\\\"]\\\");a(h,new i(d,e.id(d),t.getUniformLocation(u,d),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=f),h=r.attributes,l=0;l<f;++l)(c=t.getActiveAttrib(u,l))&&a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);W(c).forEach(e),c={},W(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t])},shader:o,frag:-1,vert:-1}}function C(t,e,r,n,i,a){function o(i){var a;a=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 G(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&\\\"framebuffer\\\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function E(t){return Array.prototype.slice.call(t)}function L(t){return E(t).join(\\\"\\\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,E(arguments))},{def:function(){var n=\\\"v\\\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\\\"=\\\"),t.push.apply(t,E(arguments)),t.push(\\\";\\\")),n},toString:function(){return L([0<e.length?\\\"var \\\"+e+\\\";\\\":\\\"\\\",L(t)])}})}function e(){function e(t,e){n(t,e,\\\"=\\\",r.def(t,e),\\\";\\\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,E(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\\\"=\\\",i,\\\";\\\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\\\"g\\\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\\\"a\\\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\\\"function(\\\",i.join(),\\\"){\\\",s(),\\\"}\\\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,E(arguments)),this},else:function(){return n.apply(n,E(arguments)),this},toString:function(){var e=a();return e&&(e=\\\"else{\\\"+e+\\\"}\\\"),L([\\\"if(\\\",t,\\\"){\\\",i(),\\\"}\\\",e])}})},compile:function(){var t=['\\\"use strict\\\";',a,\\\"return {\\\"];Object.keys(o).forEach(function(e){t.push('\\\"',e,'\\\":',o[e].toString(),\\\",\\\")}),t.push(\\\"}\\\");var e=L(t).replace(/;/g,\\\";\\\\n\\\").replace(/}/g,\\\"}\\\\n\\\").replace(/{/g,\\\"{\\\\n\\\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||G(t)||a(t)}function D(t){return t.sort(function(t,e){return\\\"viewport\\\"===t?-1:\\\"viewport\\\"===e?1:t<e?-1:1})}function O(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function I(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new O(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new O(!0,1<=(r=t.data.length),2<=r,e):4===r?new O((r=t.data).thisDep,r.contextDep,r.propDep,e):new O(3===r,2===r,1===r,e)}function F(t,e,r,n,i,a,s,l,c,u,f,h,p,d,g){function m(t){return t.replace(\\\".\\\",\\\"_\\\")}function y(t,e,r){var n=m(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=m(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\\\"0\\\";var i=r(ot),a=t.shared={props:\\\"a0\\\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\\\".\\\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\\\".\\\",t),s[t]=n.def(a.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 i=[\\\"this\\\",a.context,a.props,t.batchId];return e.def(r(n.data),\\\".call(\\\",i.slice(0,Math.max(n.data.length+1,4)),\\\")\\\");case 1:return e.def(a.props,n.data);case 2:return e.def(a.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 Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\\\"framebuffer\\\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),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})):R(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 a=n.framebuffer;return B(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\\\".getFramebuffer(\\\",r,\\\")\\\");return e.set(i,\\\".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){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return B(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\\\".id(\\\",r,\\\")\\\")})}return null}var n=t.static,i=t.dynamic,a=r(\\\"frag\\\"),o=r(\\\"vert\\\"),s=null;return I(a)&&I(o)?(s=f.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new O(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\\\".\\\",\\\"frag\\\"),n=o?o.append(t,e):e.def(i,\\\".\\\",\\\"vert\\\"),e.def(i+\\\".program(\\\"+n+\\\",\\\"+r+\\\")\\\")}),{frag:a,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var a=i[t];return B(a,function(t,r){var n=t.invoke(r,a);return e&&(t.OFFSET=n),n})}return e&&o?R(function(t,e){return t.OFFSET=\\\"0\\\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(\\\"elements\\\"in n){var t=n.elements;P(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t));var e=R(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 i){var r=i.elements;return B(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\\\"null\\\");n=e.def(n,\\\"(\\\",a,\\\")\\\"),a=t.cond(n).then(o,\\\"=\\\",i,\\\".createStream(\\\",a,\\\");\\\").else(o,\\\"=\\\",i,\\\".getElements(\\\",a,\\\");\\\");return e.entry(a),e.exit(t.cond(n).then(i,\\\".destroyStream(\\\",o,\\\");\\\")),t.ELEMENTS=o})}return null}(),s=r(\\\"offset\\\",!0);return{elements:o,primitive:function(){if(\\\"primitive\\\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\\\"primitive\\\"in i){var e=i.primitive;return B(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\\\"[\\\",i,\\\"]\\\")})}return o?I(o)?o.value?R(function(t,e){return e.def(t.ELEMENTS,\\\".primType\\\")}):R(function(){return 4}):new O(o.thisDep,o.contextDep,o.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 R(function(){return t})}if(\\\"count\\\"in i){var e=i.count;return B(e,function(t,r){return t.invoke(r,e)})}return o?I(o)?o?s?new O(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\\\".vertCount-\\\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\\\".vertCount\\\")}):R(function(){return-1}):new O(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.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 M(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if(r.constant){var l=r.constant;s.buffer=\\\"null\\\",s.state=2,\\\"number\\\"==typeof l?s.x=l:gt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;\\\"type\\\"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];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[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=B(e,function(t,r){function n(t){r(l[t],\\\"=\\\",i,\\\".\\\",t,\\\"|0;\\\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(\\\"\\\"+c[t])});var u=l.buffer,f=l.type;return r(\\\"if(\\\",o,\\\"(\\\",i,\\\")){\\\",l.isStream,\\\"=true;\\\",u,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\");\\\",f,\\\"=\\\",u,\\\".dtype;\\\",\\\"}else{\\\",u,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\");\\\",\\\"if(\\\",u,\\\"){\\\",f,\\\"=\\\",u,\\\".dtype;\\\",'}else if(\\\"constant\\\" in ',i,\\\"){\\\",l.state,\\\"=\\\",2,\\\";\\\",\\\"if(typeof \\\"+i+'.constant === \\\"number\\\"){',l[gt[0]],\\\"=\\\",i,\\\".constant;\\\",gt.slice(1).map(function(t){return l[t]}).join(\\\"=\\\"),\\\"=0;\\\",\\\"}else{\\\",gt.map(function(t,e){return l[t]+\\\"=\\\"+i+\\\".constant.length>=\\\"+e+\\\"?\\\"+i+\\\".constant[\\\"+e+\\\"]:0;\\\"}).join(\\\"\\\"),\\\"}}else{\\\",\\\"if(\\\",o,\\\"(\\\",i,\\\".buffer)){\\\",u,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\".buffer);\\\",\\\"}else{\\\",u,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\".buffer);\\\",\\\"}\\\",f,'=\\\"type\\\" in ',i,\\\"?\\\",a.glTypes,\\\"[\\\",i,\\\".type]:\\\",u,\\\".dtype;\\\",l.normalized,\\\"=!!\\\",i,\\\".normalized;\\\"),n(\\\"size\\\"),n(\\\"offset\\\"),n(\\\"stride\\\"),n(\\\"divisor\\\"),r(\\\"}}\\\"),r.exit(\\\"if(\\\",l.isStream,\\\"){\\\",s,\\\".destroyStream(\\\",u,\\\");\\\",\\\"}\\\"),l})}),o}function A(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[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 O(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;\\\"width\\\"in r||(a=e.def(i,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",s));var c=o;return\\\"height\\\"in r||(c=e.def(i,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=B(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,\\\".x|0\\\"),a=e.def(r,\\\".y|0\\\");return[i,a,e.def('\\\"width\\\" in ',r,\\\"?\\\",r,\\\".width|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",i,\\\")\\\"),r=e.def('\\\"height\\\" in ',r,\\\"?\\\",r,\\\".height|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",a,\\\")\\\")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new O(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 i=t.static,a=t.dynamic;if(t=n(\\\"viewport\\\")){var o=t;t=new O(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,a),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=B(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=m(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 yt[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[vt[\\\"srcRGB\\\"in t?t.srcRGB:t.src],vt[\\\"dstRGB\\\"in t?t.dstRGB:t.dst],vt[\\\"srcAlpha\\\"in t?t.srcAlpha:t.src],vt[\\\"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 i=n(\\\"src\\\",\\\"RGB\\\"),a=n(\\\"dst\\\",\\\"RGB\\\"),o=(i=e.def(t,\\\"[\\\",i,\\\"]\\\"),e.def(t,\\\"[\\\",n(\\\"src\\\",\\\"Alpha\\\"),\\\"]\\\"));return[i,a=e.def(t,\\\"[\\\",a,\\\"]\\\"),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,i=e.def(),a=e.def();return(t=t.cond(\\\"typeof \\\",r,'===\\\"string\\\"')).then(i,\\\"=\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\"];\\\"),t.else(i,\\\"=\\\",n,\\\"[\\\",r,\\\".rgb];\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\".alpha];\\\"),e(t),[i,a]});case\\\"blend.color\\\":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(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[yt[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,xt[e.fail||\\\"keep\\\"],xt[e.zfail||\\\"keep\\\"],xt[e.zpass||\\\"keep\\\"]]},function(e,r,n){function i(t){return r.def('\\\"',t,'\\\" in ',n,\\\"?\\\",a,\\\"[\\\",n,\\\".\\\",t,\\\"]:\\\",7680)}var a=e.constants.stencilOps;return[\\\"stencil.opBack\\\"===t?1029:1028,i(\\\"fail\\\"),i(\\\"zfail\\\"),i(\\\"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 bt[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 o(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\\\")]})}}),i}(t),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=m(\\\"scissor.box\\\")])&&(c[f]=s),(a={framebuffer:a,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\\\"profile\\\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\\\"profile\\\"in t){var i=t.profile;e=B(i,function(t,e){return t.invoke(e,i)})}return e}(t),a.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\\\"number\\\"==typeof n||\\\"boolean\\\"==typeof n)e=R(function(){return n});else if(\\\"function\\\"==typeof n){var a=n._reglType;\\\"texture2d\\\"===a||\\\"textureCube\\\"===a?e=R(function(t){return t.link(n)}):\\\"framebuffer\\\"!==a&&\\\"framebufferCube\\\"!==a||(e=R(function(t){return t.link(n.color[0])}))}else v(n)&&(e=R(function(t){return t.global.def(\\\"[\\\",o(n.length,function(t){return n[t]}),\\\"]\\\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=B(e,function(t,r){return t.invoke(r,e)})}),i}(r),a.attributes=M(e),a.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(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}(n),a}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\\\".\\\"+a),i(n,\\\".\\\",a,\\\"=\\\",r[a].append(t,e),\\\";\\\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=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,\\\"){\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",\\\",t,\\\".framebuffer);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",s,\\\"[\\\",t,\\\".colorAttachments.length]);\\\"),e(\\\"}else{\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",null);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",l,\\\");\\\"),e(\\\"}\\\",o,\\\".cur=\\\",t,\\\";\\\"),n||e(\\\"}\\\")}function C(t,e,r){var n=t.shared,i=n.gl,a=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,\\\".dirty\\\");nt.forEach(function(e){var n,f;if(!((e=m(e))in r.state))if(e in s){n=s[e],f=a[e];var h=o(tt[e].length,function(t){return u.def(n,\\\"[\\\",t,\\\"]\\\")});u(t.cond(h.map(function(t,e){return t+\\\"!==\\\"+f+\\\"[\\\"+e+\\\"]\\\"}).join(\\\"||\\\")).then(i,\\\".\\\",at[e],\\\"(\\\",h,\\\");\\\",h.map(function(t,e){return f+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\"))}else n=u.def(c,\\\".\\\",e),h=t.cond(n,\\\"!==\\\",l,\\\".\\\",e),u(h),e in it?h(t.cond(n).then(i,\\\".enable(\\\",it[e],\\\");\\\").else(i,\\\".disable(\\\",it[e],\\\");\\\"),l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\"):h(i,\\\".\\\",at[e],\\\"(\\\",n,\\\");\\\",l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\")}),0===Object.keys(r.state).length&&u(l,\\\".dirty=false;\\\"),e(u)}function E(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;D(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(it[i]){var u=it[i];I(l)?e(s,c?\\\".enable(\\\":\\\".disable(\\\",u,\\\");\\\"):e(t.cond(c).then(s,\\\".enable(\\\",u,\\\");\\\").else(s,\\\".disable(\\\",u,\\\");\\\")),e(o,\\\".\\\",i,\\\"=\\\",c,\\\";\\\")}else if(v(c)){var f=a[i];e(s,\\\".\\\",at[i],\\\"(\\\",c,\\\");\\\",c.map(function(t,e){return f+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\")}else e(s,\\\".\\\",at[i],\\\"(\\\",c,\\\");\\\",o,\\\".\\\",i,\\\"=\\\",c,\\\";\\\")}})}function L(t,e){Q&&(t.instancing=e.def(t.shared.extensions,\\\".angle_instanced_arrays\\\"))}function F(t,e,r,n,i){function a(){return\\\"undefined\\\"==typeof performance?\\\"Date.now()\\\":\\\"performance.now()\\\"}function o(t){t(c=e.def(),\\\"=\\\",a(),\\\";\\\"),\\\"string\\\"==typeof i?t(h,\\\".count+=\\\",i,\\\";\\\"):t(h,\\\".count++;\\\"),d&&(n?t(u=e.def(),\\\"=\\\",g,\\\".getNumPendingQueries();\\\"):t(g,\\\".beginQuery(\\\",h,\\\");\\\"))}function s(t){t(h,\\\".cpuTime+=\\\",a(),\\\"-\\\",c,\\\";\\\"),d&&(n?t(g,\\\".pushScopeStats(\\\",u,\\\",\\\",g,\\\".getNumPendingQueries(),\\\",h,\\\");\\\"):t(g,\\\".endQuery();\\\"))}function l(t){var r=e.def(p,\\\".profile\\\");e(p,\\\".profile=\\\",t,\\\";\\\"),e.exit(p,\\\".profile=\\\",r,\\\";\\\")}var c,u,f=t.shared,h=t.stats,p=f.current,g=f.timer;if(r=r.profile){if(I(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(f=t.block()),e(\\\"if(\\\",r,\\\"){\\\",f,\\\"}\\\"),s(t=t.block()),e.exit(\\\"if(\\\",r,\\\"){\\\",t,\\\"}\\\")}function N(t,e,r,n,i){function a(r,n,i){function a(){e(\\\"if(!\\\",u,\\\".buffer){\\\",l,\\\".enableVertexAttribArray(\\\",c,\\\");}\\\");var r,a=i.type;r=i.size?e.def(i.size,\\\"||\\\",n):n,e(\\\"if(\\\",u,\\\".type!==\\\",a,\\\"||\\\",u,\\\".size!==\\\",r,\\\"||\\\",p.map(function(t){return u+\\\".\\\"+t+\\\"!==\\\"+i[t]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",f,\\\".buffer);\\\",l,\\\".vertexAttribPointer(\\\",[c,r,a,i.normalized,i.stride,i.offset],\\\");\\\",u,\\\".type=\\\",a,\\\";\\\",u,\\\".size=\\\",r,\\\";\\\",p.map(function(t){return u+\\\".\\\"+t+\\\"=\\\"+i[t]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\"),Q&&(a=i.divisor,e(\\\"if(\\\",u,\\\".divisor!==\\\",a,\\\"){\\\",t.instancing,\\\".vertexAttribDivisorANGLE(\\\",[c,a],\\\");\\\",u,\\\".divisor=\\\",a,\\\";}\\\"))}function s(){e(\\\"if(\\\",u,\\\".buffer){\\\",l,\\\".disableVertexAttribArray(\\\",c,\\\");\\\",\\\"}if(\\\",gt.map(function(t,e){return u+\\\".\\\"+t+\\\"!==\\\"+h[e]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".vertexAttrib4f(\\\",c,\\\",\\\",h,\\\");\\\",gt.map(function(t,e){return u+\\\".\\\"+t+\\\"=\\\"+h[e]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\")}var l=o.gl,c=e.def(r,\\\".location\\\"),u=e.def(o.attributes,\\\"[\\\",c,\\\"]\\\");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=[\\\"buffer\\\",\\\"normalized\\\",\\\"offset\\\",\\\"stride\\\"];1===r?a():2===r?s():(e(\\\"if(\\\",r,\\\"===\\\",1,\\\"){\\\"),a(),e(\\\"}else{\\\"),s(),e(\\\"}\\\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(_t))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,\\\".\\\",t)})}a(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,i,a){for(var s,l=t.shared,c=l.gl,u=0;u<i.length;++u){var f,h=(g=i[u]).name,p=g.info.type,d=n.uniforms[h],g=t.link(g)+\\\".location\\\";if(d){if(!a(d))continue;if(I(d)){if(h=d.value,35678===p||35680===p)r(c,\\\".uniform1i(\\\",g,\\\",\\\",(p=t.link(h._texture||h.color[0]._texture))+\\\".bind());\\\"),r.exit(p,\\\".unbind();\\\");else if(35674===p||35675===p||35676===p)h=t.global.def(\\\"new Float32Array([\\\"+Array.prototype.slice.call(h)+\\\"])\\\"),d=2,35675===p?d=3:35676===p&&(d=4),r(c,\\\".uniformMatrix\\\",d,\\\"fv(\\\",g,\\\",false,\\\",h,\\\");\\\");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,\\\",\\\",v(h)?Array.prototype.slice.call(h):h,\\\");\\\")}continue}f=d.append(t,r)}else{if(!a(_t))continue;f=r.def(l.uniforms,\\\"[\\\",e.id(h),\\\"]\\\")}switch(35678===p?r(\\\"if(\\\",f,\\\"&&\\\",f,'._reglType===\\\"framebuffer\\\"){',f,\\\"=\\\",f,\\\".color[0];\\\",\\\"}\\\"):35680===p&&r(\\\"if(\\\",f,\\\"&&\\\",f,'._reglType===\\\"framebufferCube\\\"){',f,\\\"=\\\",f,\\\".color[0];\\\",\\\"}\\\"),h=1,p){case 35678:case 35680:r(c,\\\".uniform1i(\\\",g,\\\",\\\",p=r.def(f,\\\"._texture\\\"),\\\".bind());\\\"),r.exit(p,\\\".unbind();\\\");continue;case 5124:case 35670:s=\\\"1i\\\";break;case 35667:case 35671:s=\\\"2i\\\",h=2;break;case 35668:case 35672:s=\\\"3i\\\",h=3;break;case 35669:case 35673:s=\\\"4i\\\",h=4;break;case 5126:s=\\\"1f\\\";break;case 35664:s=\\\"2f\\\",h=2;break;case 35665:s=\\\"3f\\\",h=3;break;case 35666:s=\\\"4f\\\",h=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 m=t.global.def(\\\"new Float32Array(\\\",g,\\\")\\\");r(\\\"false,(Array.isArray(\\\",f,\\\")||\\\",f,\\\" instanceof Float32Array)?\\\",f,\\\":(\\\",o(g,function(t){return m+\\\"[\\\"+t+\\\"]=\\\"+f+\\\"[\\\"+t+\\\"]\\\"}),\\\",\\\",m,\\\")\\\")}else r(1<h?o(h,function(t){return f+\\\"[\\\"+t+\\\"]\\\"}):f);r(\\\");\\\")}}function V(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,\\\".\\\",i)}function a(){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,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\\\".\\\",\\\"elements\\\"),i&&a(\\\"if(\\\"+i+\\\")\\\"+u+\\\".bindBuffer(34963,\\\"+i+\\\".buffer.buffer);\\\"),i}(),d=i(\\\"primitive\\\"),g=i(\\\"offset\\\"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\\\".\\\",\\\"count\\\"),i}();if(\\\"number\\\"==typeof m){if(0===m)return}else r(\\\"if(\\\",m,\\\"){\\\"),r.exit(\\\"}\\\");Q&&(s=i(\\\"instances\\\"),l=t.instancing);var v=p+\\\".type\\\",y=h.elements&&I(h.elements);Q&&(\\\"number\\\"!=typeof s||0<=s)?\\\"string\\\"==typeof s?(r(\\\"if(\\\",s,\\\">0){\\\"),a(),r(\\\"}else if(\\\",s,\\\"<0){\\\"),o(),r(\\\"}\\\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\\\"body\\\",i),Q&&(e.instancing=i.def(e.shared.extensions,\\\".angle_instanced_arrays\\\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),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 i(){return!0}t.batchId=\\\"a1\\\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(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&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),E(t,u,r.state,i),r.profile&&i(r.profile)&&F(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),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 q(G,t,r,e,2)}),\\\"(\\\",n,\\\");}\\\",c,\\\".call(this,a0[\\\",s,\\\"],\\\",s,\\\");\\\"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\\\".\\\"+e,n.append(t,i))}var i=t.proc(\\\"scope\\\",3);t.batchId=\\\"a2\\\";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),D(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],\\\"[\\\"+n+\\\"]\\\",r)}):i.set(a.next,\\\".\\\"+e,n)}),F(t,i,r,!0,!0),[\\\"elements\\\",\\\"offset\\\",\\\"count\\\",\\\"instances\\\",\\\"primitive\\\"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\\\".\\\"+e,\\\"\\\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\\\"[\\\"+e.id(n)+\\\"]\\\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,\\\".\\\"+t,n[t])})}),n(\\\"vert\\\"),n(\\\"frag\\\"),0<Object.keys(r.state).length&&(i(o,\\\".dirty=true;\\\"),i.exit(o,\\\".dirty=true;\\\")),i(\\\"a1(\\\",t.shared.context,\\\",a0,\\\",t.batchId,\\\");\\\")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if(\\\"object\\\"==typeof t&&!v(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def(\\\"{}\\\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\\\"function\\\"==typeof r&&(r=n[e]=U.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,\\\".\\\",e,\\\"=\\\"),typeof r){case\\\"number\\\":i(r);break;case\\\"string\\\":i('\\\"',r,'\\\"');break;case\\\"object\\\":Array.isArray(r)&&i(\\\"[\\\",r.join(),\\\"]\\\");break;default:i(t.link(r))}i(\\\";\\\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(c,\\\".\\\",r,\\\"=\\\",i,\\\";\\\"))})}}),delete e.static[r]}}var Z=u.Record,J={add:32774,subtract:32778,\\\"reverse subtract\\\":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};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:h,elements:a,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:yt,blendFuncs:vt,blendEquations:J,stencilOps:xt,glTypes:K,orientationType:bt};$&&(st.backBuffer=[1029],st.drawBuffer=o(n.maxDrawbuffers,function(t){return 0===t?[0]:o(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var e=b(),r=e.proc(\\\"poll\\\"),i=e.proc(\\\"refresh\\\"),a=e.block();r(a),i(a);var s=e.shared,l=s.gl,c=s.next,u=s.current;a(u,\\\".dirty=false;\\\"),S(e,r),S(e,i,null,!0);var f,h=t.getExtension(\\\"angle_instanced_arrays\\\");h&&(f=e.link(h));for(var p=0;p<n.maxAttributes;++p){var d=i.def(s.attributes,\\\"[\\\",p,\\\"]\\\"),g=e.cond(d,\\\".buffer\\\");g.then(l,\\\".enableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",d,\\\".buffer.buffer);\\\",l,\\\".vertexAttribPointer(\\\",p,\\\",\\\",d,\\\".size,\\\",d,\\\".type,\\\",d,\\\".normalized,\\\",d,\\\".stride,\\\",d,\\\".offset);\\\").else(l,\\\".disableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".vertexAttrib4f(\\\",p,\\\",\\\",d,\\\".x,\\\",d,\\\".y,\\\",d,\\\".z,\\\",d,\\\".w);\\\",d,\\\".buffer=null;\\\"),i(g),h&&i(f,\\\".vertexAttribDivisorANGLE(\\\",p,\\\",\\\",d,\\\".divisor);\\\")}return Object.keys(it).forEach(function(t){var n=it[t],o=a.def(c,\\\".\\\",t),s=e.block();s(\\\"if(\\\",o,\\\"){\\\",l,\\\".enable(\\\",n,\\\")}else{\\\",l,\\\".disable(\\\",n,\\\")}\\\",u,\\\".\\\",t,\\\"=\\\",o,\\\";\\\"),i(s),r(\\\"if(\\\",o,\\\"!==\\\",u,\\\".\\\",t,\\\"){\\\",s,\\\"}\\\")}),Object.keys(at).forEach(function(t){var n,s,f=at[t],h=tt[t],p=e.block();p(l,\\\".\\\",f,\\\"(\\\"),v(h)?(f=h.length,n=e.global.def(c,\\\".\\\",t),s=e.global.def(u,\\\".\\\",t),p(o(f,function(t){return n+\\\"[\\\"+t+\\\"]\\\"}),\\\");\\\",o(f,function(t){return s+\\\"[\\\"+t+\\\"]=\\\"+n+\\\"[\\\"+t+\\\"];\\\"}).join(\\\"\\\")),r(\\\"if(\\\",o(f,function(t){return n+\\\"[\\\"+t+\\\"]!==\\\"+s+\\\"[\\\"+t+\\\"]\\\"}).join(\\\"||\\\"),\\\"){\\\",p,\\\"}\\\")):(n=a.def(c,\\\".\\\",t),s=a.def(u,\\\".\\\",t),p(n,\\\");\\\",u,\\\".\\\",t,\\\"=\\\",n,\\\";\\\"),r(\\\"if(\\\",n,\\\"!==\\\",s,\\\"){\\\",p,\\\"}\\\")),i(p)}),e.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),mt.forEach(function(e){X(a,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc(\\\"draw\\\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),C(t,r,e),E(t,r,e.state),F(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{var i=t.global.def(\\\"{}\\\"),a=r.def(n,\\\".id\\\"),o=r.def(i,\\\"[\\\",a,\\\"]\\\");r(t.cond(o).then(o,\\\".call(this,a0);\\\").else(o,\\\"=\\\",i,\\\"[\\\",a,\\\"]=\\\",t.link(function(r){return q(H,t,e,r,1)}),\\\"(\\\",n,\\\");\\\",o,\\\".call(this,a0);\\\"))}0<Object.keys(e.state).length&&r(t.shared.current,\\\".dirty=true;\\\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\\\"batch\\\",2);t.batchId=\\\"0\\\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),C(t,n,e),E(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||F(t,n,e,!1,\\\"a1\\\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\\\".useProgram(\\\",a,\\\".program);\\\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\\\"{}\\\"),l=(o=n.def(a,\\\".id\\\"),n.def(s,\\\"[\\\",o,\\\"]\\\"));n(t.cond(l).then(l,\\\".call(this,a0,a1);\\\").else(l,\\\"=\\\",s,\\\"[\\\",o,\\\"]=\\\",t.link(function(r){return q(W,t,e,r,2)}),\\\"(\\\",a,\\\");\\\",l,\\\".call(this,a0,a1);\\\"))}0<Object.keys(e.state).length&&n(t.shared.current,\\\".dirty=true;\\\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={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},q={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},H=\\\"undefined\\\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=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},W=function(t){return Object.keys(t).map(function(e){return t[e]})},Y=o(8,function(){return[]}),X={alloc:l,free:c,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(l(e),0,e);break;case 5121:r=new Uint8Array(l(e),0,e);break;case 5122:r=new Int16Array(l(2*e),0,e);break;case 5123:r=new Uint16Array(l(2*e),0,e);break;case 5124:r=new Int32Array(l(4*e),0,e);break;case 5125:r=new Uint32Array(l(4*e),0,e);break;case 5126:r=new Float32Array(l(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){c(t.buffer)}},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||X.allocType(r,i),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],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:u(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var c=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)u(e[s],c,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},J={\\\"[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},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\\\"line loop\\\":2,\\\"line strip\\\":3,\\\"triangle strip\\\":5,\\\"triangle fan\\\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=Object.keys(J).concat([\\\"[object HTMLCanvasElement]\\\",\\\"[object CanvasRenderingContext2D]\\\",\\\"[object HTMLImageElement]\\\",\\\"[object HTMLVideoElement]\\\"]),ct=[];ct[5121]=1,ct[5126]=4,ct[36193]=2,ct[5123]=2,ct[5125]=4;var ut=[];ut[32854]=2,ut[32855]=2,ut[36194]=2,ut[34041]=4,ut[33776]=.5,ut[33777]=.5,ut[33778]=1,ut[33779]=1,ut[35986]=.5,ut[35987]=1,ut[34798]=1,ut[35840]=.5,ut[35841]=.25,ut[35842]=.5,ut[35843]=.25,ut[36196]=.5;var ft=[];ft[32854]=2,ft[32855]=2,ft[36194]=2,ft[33189]=2,ft[36168]=1,ft[34041]=4,ft[35907]=4,ft[34836]=16,ft[34842]=8,ft[34843]=6;var ht=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.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 a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.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,a=0,u=32854;if(\\\"object\\\"==typeof e&&e?(\\\"shape\\\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\\\"radius\\\"in e&&(n=a=0|e.radius),\\\"width\\\"in e&&(n=0|e.width),\\\"height\\\"in e&&(a=0|e.height)),\\\"format\\\"in e&&(u=s[e.format])):\\\"number\\\"==typeof e?(n=0|e,a=\\\"number\\\"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o)},o._reglType=\\\"renderbuffer\\\",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){W(u).forEach(o)},restore:function(){W(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)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=[\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"w\\\"],mt=\\\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\\\".split(\\\" \\\"),vt={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},yt={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},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\\\"increment wrap\\\":34055,\\\"decrement wrap\\\":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new O(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}m.flush(),w&&w.update()}}function r(){!Q&&0<X.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),Z.forEach(function(t){t()})}function o(t){m.getError(),y.restore(),I.restore(),D.restore(),R.restore(),B.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=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=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,\\\"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\\\"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(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;G.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 X.push(t),r(),{cancel:function(){var e=N(X,t);X[e]=function t(){var e=N(X,t);X[e]=X[X.length-1],--X.length,0>=X.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){z.tick+=1,z.time=p(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function p(){return(H()-k)/1e3}if(!(t=i(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={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\\\"'+a+'\\\" 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(!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={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;if(0!==(t=a.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var r=c[0]=0;for(e=t=0;e<a.length;++e){var u=a[e];n.getQueryObjectEXT(u,34919)?(r+=n.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[e+1]=r,c[e+1]=t}for(a.length=t,e=t=0;e<s.length;++e){var f=(r=s[e]).startQueryIndex;u=r.endQueryIndex,r.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=f,r.endQueryIndex=u,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),k=H(),E=m.drawingBufferWidth,L=m.drawingBufferHeight,z={tick:0,time:0,viewportWidth:E,viewportHeight:L,framebufferWidth:E,framebufferHeight:L,drawingBufferWidth:E,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063)),{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:i,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)}}(m,_),D=d(m,b,t),O=g(m,_,D,b),I=(E=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(m,_,P),S(m,x,b,t)),R=M(m,_,P,function(){G.procs.poll()},z,b,t),B=ht(m,_,0,b,t),V=A(m,_,P,R,B,b),G=F(m,x,_,P,D,O,0,V,{},E,I,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),W=(x=C(m,V,G.procs.poll,z),G.next),Y=m.canvas,X=[],Z=[],J=[],K=[t.onDestroy],Q=null;Y&&(Y.addEventListener(\\\"webglcontextlost\\\",a,!1),Y.addEventListener(\\\"webglcontextrestored\\\",o,!1));var $=V.setFBO=s({framebuffer:U.define.call(null,1,\\\"framebuffer\\\")});return h(),v=j(s,{clear:function(t){if(\\\"framebuffer\\\"in t)if(t.framebuffer&&\\\"framebufferCube\\\"===t.framebuffer_reglType)for(var e=0;6>e;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:v,frame:c,on:function(t,e){var r;switch(t){case\\\"frame\\\":return c(e);case\\\"lost\\\":r=Z;break;case\\\"restore\\\":r=J;break;case\\\"destroy\\\":r=K}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:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){X.length=0,n(),Y&&(Y.removeEventListener(\\\"webglcontextlost\\\",a),Y.removeEventListener(\\\"webglcontextrestored\\\",o)),I.clear(),V.clear(),B.clear(),R.clear(),O.clear(),D.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:m,_refresh:h,poll:function(){f(),w&&w.update()},now:p,stats:b}),t.onDone(null,v),v}},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.createREGL=i()},{}],381:[function(t,e,r){\\\"use strict\\\";var n,i=\\\"\\\";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||void 0===n)n=t,i=\\\"\\\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],382:[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:{})},{}],383:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i<e;++i){var a=t[i],o=r,s=(r=a+o)-a,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],384:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\"),a=t(\\\"robust-scale\\\"),o=t(\\\"robust-compress\\\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}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(l(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(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[\\\",r,\\\"][\\\",n,\\\"]\\\"].join(\\\"\\\")}return e}(t)),\\\")};return robustDeterminant\\\",t].join(\\\"\\\"))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<s;)f.push(u(f.length));for(var t=[],r=[\\\"function robustDeterminant(m){switch(m.length){\\\"],n=0;n<s;++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 i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,u])),n=0;n<f.length;++n)e.exports[n]=f[n]}()},{\\\"robust-compress\\\":383,\\\"robust-scale\\\":390,\\\"robust-sum\\\":393,\\\"two-product\\\":421}],385:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{\\\"robust-sum\\\":393,\\\"two-product\\\":421}],386:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\"),a=t(\\\"robust-subtract\\\"),o=t(\\\"robust-scale\\\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(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(\\\",c(t.slice(0,e)),\\\",\\\",c(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function u(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 u(e,t)}function f(t){if(2===t.length)return[[\\\"diff(\\\",u(t[0][0],t[1][1]),\\\",\\\",u(t[1][0],t[0][1]),\\\")\\\"].join(\\\"\\\")];for(var e=[],r=0;r<t.length;++r)e.push([\\\"scale(\\\",c(f(l(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 c(r)}function p(t){for(var e=[],r=[],s=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),u=0;u<t;++u)s[0][u]=\\\"1\\\",s[t-1][u]=\\\"w\\\"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,f(l(s,u))):r.push.apply(r,f(l(s,u)));var p=c(e),d=c(r),g=\\\"exactInSphere\\\"+t,m=[];for(u=0;u<t;++u)m.push(\\\"m\\\"+u);var v=[\\\"function \\\",g,\\\"(\\\",m.join(),\\\"){\\\"];for(u=0;u<t;++u){v.push(\\\"var w\\\",u,\\\"=\\\",h(u,t),\\\";\\\");for(var y=0;y<t;++y)y!==u&&v.push(\\\"var w\\\",u,\\\"m\\\",y,\\\"=scale(w\\\",u,\\\",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(\\\"\\\"))(i,a,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=s;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);var i=[\\\"function testInSphere(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(n=2;n<=s;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\\\"robust-scale\\\":390,\\\"robust-subtract\\\":392,\\\"robust-sum\\\":393,\\\"two-product\\\":421}],387:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-determinant\\\"),i=6;function a(t){for(var e=\\\"robustLinearSolve\\\"+t+\\\"d\\\",r=[\\\"function \\\",e,\\\"(A,b){return [\\\"],i=0;i<t;++i){r.push(\\\"det([\\\");for(var a=0;a<t;++a){a>0&&r.push(\\\",\\\"),r.push(\\\"[\\\");for(var o=0;o<t;++o)o>0&&r.push(\\\",\\\"),o===i?r.push(\\\"+b[\\\",a,\\\"]\\\"):r.push(\\\"+A[\\\",a,\\\"][\\\",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 o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<i;)o.push(a(o.length));for(var t=[],r=[\\\"function dispatchLinearSolve(A,b){switch(A.length){\\\"],n=0;n<i;++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 s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,a])),n=0;n<i;++n)e.exports[n]=o[n]}()},{\\\"robust-determinant\\\":384}],388:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\"),a=t(\\\"robust-scale\\\"),o=t(\\\"robust-subtract\\\"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(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(\\\",c(t.slice(0,e)),\\\",\\\",c(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function u(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(u(l(t,r))),\\\",\\\",(n=r,1&n?\\\"-\\\":\\\"\\\"),t[0][r],\\\")\\\"].join(\\\"\\\"));return e;var n}function f(t){for(var e=[],r=[],s=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),f=[],h=0;h<t;++h)0==(1&h)?e.push.apply(e,u(l(s,h))):r.push.apply(r,u(l(s,h))),f.push(\\\"m\\\"+h);var p=c(e),d=c(r),g=\\\"orientation\\\"+t+\\\"Exact\\\",m=[\\\"function \\\",g,\\\"(\\\",f.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)(i,n,a,o)}var h=f(3),p=f(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=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],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=s;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);var i=[\\\"function getOrientation(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(n=2;n<=s;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=f(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\\\"robust-scale\\\":390,\\\"robust-subtract\\\":392,\\\"robust-sum\\\":393,\\\"two-product\\\":421}],389:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-sum\\\"),i=t(\\\"robust-scale\\\");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(var a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{\\\"robust-scale\\\":390,\\\"robust-sum\\\":393}],390:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"two-sum\\\");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[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 f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,g=d-h,m=p-g;s[1]=d,m&&(o[c++]=m)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{\\\"two-product\\\":421,\\\"two-sum\\\":422}],391:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u),h=Math.max(c,u);if(h<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":388}],392:[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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(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}},{}],393:[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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(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}},{}],394:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],395:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return i(n(t))};var n=t(\\\"boundary-cells\\\"),i=t(\\\"reduce-simplicial-complex\\\")},{\\\"boundary-cells\\\":76,\\\"reduce-simplicial-complex\\\":373}],396:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,s){r=r||0,void 0===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=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,f=0;f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));for(var g=2,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,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[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),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t(\\\"ndarray\\\"),i=t(\\\"typedarray-pool\\\"),a=t(\\\"ndarray-sort\\\"),o=t(\\\"./lib/codegen\\\")},{\\\"./lib/codegen\\\":397,ndarray:335,\\\"ndarray-sort\\\":333,\\\"typedarray-pool\\\":423}],397:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=a[t];e||(e=a[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var a=1;a<=t;++a)for(var o=r[a]=i(a),s=0;s<o.length;++s)e=Math.max(e,o[a].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 i=r[n];n>0&&l.push(\\\",\\\"),l.push(\\\"B(C,E,c[\\\",i[0],\\\"],c[\\\",i[1],\\\"])\\\")}l.push(\\\"]\\\")}l.push(\\\");\\\")}}for(var a=t+1;a>1;--a){a<t+1&&l.push(\\\"else \\\"),l.push(\\\"if(l===\\\",a,\\\"){\\\");for(var u=[],s=0;s<a;++s)u.push(\\\"(S[c[\\\"+s+\\\"]]<<\\\"+s+\\\")\\\");l.push(\\\"var M=\\\",u.join(\\\"+\\\"),\\\";if(M===0||M===\\\",(1<<a)-1,\\\"){continue}switch(M){\\\");for(var o=r[a-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\\\"),i=t(\\\"marching-simplex-table\\\"),a={}},{\\\"marching-simplex-table\\\":312,\\\"typedarray-pool\\\":423}],398:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";var n=t(\\\"bit-twiddle\\\"),i=t(\\\"union-find\\\");function a(t,e){var r=t.length,n=t.length-e.length,i=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])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,g=0;g<f;++g)h&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(i),!(m>=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[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=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[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(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));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\\\":73,\\\"union-find\\\":424}],399:[function(t,e,r){arguments[4][73][0].apply(r,arguments)},{dup:73}],400:[function(t,e,r){arguments[4][398][0].apply(r,arguments)},{\\\"bit-twiddle\\\":399,dup:398,\\\"union-find\\\":401}],401:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],402:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(var f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error(\\\"Input must be a graph\\\");var p=h[1],d=h[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,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function m(t,e){var r=M[t],n=M[e];M[t]=n,M[e]=r,A[r]=e,A[n]=t}function v(t){return c[M[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,i=2*(t+1),a=t;if(n<S){var o=v(n);o<r&&(a=n,r=o)}if(i<S){var s=v(i);s<r&&(a=i)}if(a===t)return t;m(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0){var n=v(r);if(e<n){m(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=M[0];return m(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=M[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(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))}}for(var M=[],A=new Array(a),f=0;f<a;++f){var T=c[f]=g(f);T<1/0?(A[f]=M.length,M.push(f)):A[f]=-1}for(var S=M.length,f=S>>1;f>=0;--f)x(f);for(;;){var C=_();if(C<0||c[C]>r)break;k(C)}for(var E=[],f=0;f<a;++f)u[f]||(A[f]=E.length,E.push(e[f].slice()));E.length;function L(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var z=[];return t.forEach(function(t){var e=L(s,t[0]),r=L(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:E,edges:z}};var n=t(\\\"robust-orientation\\\"),i=t(\\\"simplicial-complex\\\")},{\\\"robust-orientation\\\":388,\\\"simplicial-complex\\\":400}],403:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,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,a),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 a[0]-s[0]};var n=t(\\\"robust-orientation\\\");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=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],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{\\\"robust-orientation\\\":388}],404:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}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]))});for(var h=i(o),p=[],d=[],g=[],a=0;a<r;){for(var m=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==m)break;a+=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)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"functional-red-black-tree\\\"),a=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,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,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 f(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),i=-1;if(r&&(i=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,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{\\\"./lib/order-segments\\\":403,\\\"binary-search-bounds\\\":72,\\\"functional-red-black-tree\\\":199,\\\"robust-orientation\\\":388}],405:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-dot-product\\\"),i=t(\\\"robust-sum\\\");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\\\"robust-dot-product\\\":385,\\\"robust-sum\\\":393}],406:[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(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g=\\\"\\\";for(a=0;a<d;a++)if(\\\"string\\\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \\\"%s\\\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\\\"number\\\"!=typeof i&&isNaN(i))throw new TypeError(e(\\\"[sprintf] expecting number but found %T\\\",i));switch(t.number.test(s[8])&&(f=i>=0),s[8]){case\\\"b\\\":i=parseInt(i,10).toString(2);break;case\\\"c\\\":i=String.fromCharCode(parseInt(i,10));break;case\\\"d\\\":case\\\"i\\\":i=parseInt(i,10);break;case\\\"j\\\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\\\"e\\\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\\\"f\\\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\\\"g\\\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\\\"o\\\":i=(parseInt(i,10)>>>0).toString(8);break;case\\\"s\\\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"t\\\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"T\\\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"u\\\":i=parseInt(i,10)>>>0;break;case\\\"v\\\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"x\\\":i=(parseInt(i,10)>>>0).toString(16);break;case\\\"X\\\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||f&&!s[3]?h=\\\"\\\":(h=f?\\\"+\\\":\\\"-\\\",i=i.toString().replace(t.sign,\\\"\\\")),c=s[4]?\\\"0\\\"===s[4]?\\\"0\\\":s[4].charAt(1):\\\" \\\",u=s[6]-(h+i).length,l=s[6]&&u>0?c.repeat(u):\\\"\\\",g+=s[5]?h+i+l:\\\"0\\\"===c?h+l+i:l+h+i)}return g}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;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(r)}n=n.substring(r[0].length)}return i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);void 0!==r&&(r.sprintf=e,r.vsprintf=n),\\\"undefined\\\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],407:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,i[g]=!0,u+=1,l.push(g),c.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var m=[],v=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);for(var b=new Array(y),d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<h.length;l++){var d=h[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]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],408:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t.split(\\\"\\\").map(function(t){return t in n?n[t]:\\\"\\\"}).join(\\\"\\\")};var n={\\\" \\\":\\\" \\\",0:\\\"\\\\u2070\\\",1:\\\"\\\\xb9\\\",2:\\\"\\\\xb2\\\",3:\\\"\\\\xb3\\\",4:\\\"\\\\u2074\\\",5:\\\"\\\\u2075\\\",6:\\\"\\\\u2076\\\",7:\\\"\\\\u2077\\\",8:\\\"\\\\u2078\\\",9:\\\"\\\\u2079\\\",\\\"+\\\":\\\"\\\\u207a\\\",\\\"-\\\":\\\"\\\\u207b\\\",a:\\\"\\\\u1d43\\\",b:\\\"\\\\u1d47\\\",c:\\\"\\\\u1d9c\\\",d:\\\"\\\\u1d48\\\",e:\\\"\\\\u1d49\\\",f:\\\"\\\\u1da0\\\",g:\\\"\\\\u1d4d\\\",h:\\\"\\\\u02b0\\\",i:\\\"\\\\u2071\\\",j:\\\"\\\\u02b2\\\",k:\\\"\\\\u1d4f\\\",l:\\\"\\\\u02e1\\\",m:\\\"\\\\u1d50\\\",n:\\\"\\\\u207f\\\",o:\\\"\\\\u1d52\\\",p:\\\"\\\\u1d56\\\",r:\\\"\\\\u02b3\\\",s:\\\"\\\\u02e2\\\",t:\\\"\\\\u1d57\\\",u:\\\"\\\\u1d58\\\",v:\\\"\\\\u1d5b\\\",w:\\\"\\\\u02b7\\\",x:\\\"\\\\u02e3\\\",y:\\\"\\\\u02b8\\\",z:\\\"\\\\u1dbb\\\"}},{}],409:[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=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s<n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,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,a=[\\\"'use strict';\\\"],o=\\\"surfaceNets\\\"+t.join(\\\"_\\\")+\\\"d\\\"+e;a.push(\\\"var contour=genContour({\\\",\\\"order:[\\\",t.join(),\\\"],\\\",\\\"scalarArguments: 3,\\\",\\\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\\\"),\\\"generic\\\"===e&&a.push(\\\"getters:[0],\\\");for(var s=[],l=[],c=0;c<r;++c)s.push(\\\"d\\\"+c),l.push(\\\"d\\\"+c);for(var c=0;c<1<<r;++c)s.push(\\\"v\\\"+c),l.push(\\\"v\\\"+c);for(var c=0;c<1<<r;++c)s.push(\\\"p\\\"+c),l.push(\\\"p\\\"+c);s.push(\\\"a\\\",\\\"b\\\",\\\"c\\\"),l.push(\\\"a\\\",\\\"c\\\"),a.push(\\\"vertex:function vertexFunc(\\\",s.join(),\\\"){\\\");for(var u=[],c=0;c<1<<r;++c)u.push(\\\"(p\\\"+c+\\\"<<\\\"+c+\\\")\\\");a.push(\\\"var m=(\\\",u.join(\\\"+\\\"),\\\")|0;if(m===0||m===\\\",(1<<(1<<r))-1,\\\"){return}\\\");var f=[],h=[];1<<(1<<r)<=128?(a.push(\\\"switch(m){\\\"),h=a):a.push(\\\"switch(m>>>7){\\\");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){f.length>0&&h.push(\\\"}}\\\");var p=\\\"vExtra\\\"+f.length;a.push(\\\"case \\\",c>>>7,\\\":\\\",p,\\\"(m&0x7f,\\\",l.join(),\\\");break;\\\"),h=[\\\"function \\\",p,\\\"(m,\\\",l.join(),\\\"){switch(m){\\\"],f.push(h)}h.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(var 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 k=0;k<r;++k)k!==b&&(_&1<<k?v[k]+=1:v[k]-=1)}}for(var M=[],b=0;b<r;++b)if(0===d[b].length)M.push(\\\"d\\\"+b+\\\"-0.5\\\");else{var A=\\\"\\\";m[b]<0?A=m[b]+\\\"*c\\\":m[b]>0&&(A=\\\"+\\\"+m[b]+\\\"*c\\\");var T=d[b].length/y*.5,S=.5+v[b]/y*.5;M.push(\\\"d\\\"+b+\\\"-\\\"+S+\\\"-\\\"+T+\\\"*(\\\"+d[b].join(\\\"+\\\")+A+\\\")/(\\\"+g[b].join(\\\"+\\\")+\\\")\\\")}h.push(\\\"a.push([\\\",M.join(),\\\"]);\\\",\\\"break;\\\")}a.push(\\\"}},\\\"),f.length>0&&h.push(\\\"}}\\\");for(var C=[],c=0;c<1<<r-1;++c)C.push(\\\"v\\\"+c);C.push(\\\"c0\\\",\\\"c1\\\",\\\"p0\\\",\\\"p1\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\"),a.push(\\\"cell:function cellFunc(\\\",C.join(),\\\"){\\\");var E=i(r-1);a.push(\\\"if(p0){b.push(\\\",E.map(function(t){return\\\"[\\\"+t.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}else{b.push(\\\",E.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(var c=0;c<f.length;++c)a.push(f[c].join(\\\"\\\"));return new Function(\\\"genContour\\\",a.join(\\\"\\\"))(n)}(t.order,t.dtype));return s(t,e)};var n=t(\\\"ndarray-extract-contour\\\"),i=t(\\\"triangulate-hypercube\\\"),a=t(\\\"zero-crossings\\\");var o={}},{\\\"ndarray-extract-contour\\\":324,\\\"triangulate-hypercube\\\":419,\\\"zero-crossings\\\":454}],410:[function(t,e,r){\\\"use strict\\\";Object.defineProperty(r,\\\"__esModule\\\",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=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){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\")}}(),i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/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),f=Math.abs(f);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var M=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,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))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,k=(h-x)/a,M=(p-b)/o,A=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,M),C=s(k,M,A,T);return 0===c&&C>0&&(C-=i),1===c&&C<0&&(C+=i),[_,w,S,C]}(e,r,l,c,u,f,g,v,x,b,_,w),A=n(M,4),T=A[0],S=A[1],C=A[2],E=A[3],L=Math.max(Math.ceil(Math.abs(E)/(i/4)),1);E/=L;for(var z=0;z<L;z++)y.push(o(C,E)),C+=E;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],411:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"parse-svg-path\\\"),i=t(\\\"abs-svg-path\\\"),a=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=i(t),!(t=a(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\\\":44,assert:52,\\\"is-svg-path\\\":309,\\\"normalize-svg-path\\\":412,\\\"parse-svg-path\\\":344}],412:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=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:h,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 _=h,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*h-u,f=2*p-f):(u=h,f=p),m=a(h,p,u,f,m[1],m[2]);break;case\\\"Q\\\":u=m[1],f=m[2],m=a(h,p,m[1],m[2],m[3],m[4]);break;case\\\"L\\\":m=i(h,p,m[1],m[2]);break;case\\\"H\\\":m=i(h,p,m[1],p);break;case\\\"V\\\":m=i(h,p,h,m[1]);break;case\\\"Z\\\":m=i(h,p,l,c)}e=v,h=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t(\\\"svg-arc-to-cubic-bezier\\\");function i(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{\\\"svg-arc-to-cubic-bezier\\\":410}],413:[function(t,e,r){(function(r){\\\"use strict\\\";var n=t(\\\"svg-path-bounds\\\"),i=t(\\\"parse-svg-path\\\"),a=t(\\\"draw-svg-path\\\"),o=t(\\\"is-svg-path\\\"),s=t(\\\"bitmap-sdf\\\"),l=document.createElement(\\\"canvas\\\"),c=l.getContext(\\\"2d\\\");e.exports=function(t,e){if(!o(t))throw Error(\\\"Argument should be valid svg path string\\\");e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),p=e.stroke||0,d=e.viewbox||e.viewBox||n(t),g=[u/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;c.fillStyle=\\\"black\\\",c.fillRect(0,0,u,f),c.fillStyle=\\\"white\\\",p&&(\\\"number\\\"!=typeof p&&(p=1),c.strokeStyle=p>0?\\\"white\\\":\\\"black\\\",c.lineWidth=Math.abs(p));if(c.translate(.5*u,.5*f),c.scale(m,m),r.Path2D){var v=new Path2D(t);c.fill(v),p&&c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"bitmap-sdf\\\":74,\\\"draw-svg-path\\\":134,\\\"is-svg-path\\\":309,\\\"parse-svg-path\\\":344,\\\"svg-path-bounds\\\":411}],414:[function(t,e,r){(function(r){\\\"use strict\\\";e.exports=function t(e,r,i){var i=i||{};var o=a[e];o||(o=a[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),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||\\\"left\\\",textBaseline:\\\"alphabetic\\\"}));else{for(var l=r.split(/(\\\\d|\\\\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h<c.length;++h){for(var m=c[h].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t(\\\"vectorize-text\\\"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this,t(\\\"_process\\\"))},{_process:366,\\\"vectorize-text\\\":430}],415:[function(t,e,r){!function(t){var r=/^\\\\s+/,n=/\\\\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(e=e||\\\"\\\",l=l||{},e instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;\\\"string\\\"==typeof e&&(e=function(t){t=t.replace(r,\\\"\\\").replace(n,\\\"\\\").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!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:P(e[1]),g:P(e[2]),b:P(e[3]),a:R(e[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(e=j.hex6.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:i?\\\"name\\\":\\\"hex\\\"};if(e=j.hex4.exec(t))return{r:P(e[1]+\\\"\\\"+e[1]),g:P(e[2]+\\\"\\\"+e[2]),b:P(e[3]+\\\"\\\"+e[3]),a:R(e[4]+\\\"\\\"+e[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(e=j.hex3.exec(t))return{r:P(e[1]+\\\"\\\"+e[1]),g:P(e[2]+\\\"\\\"+e[2]),b:P(e[3]+\\\"\\\"+e[3]),format:i?\\\"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,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},f=!0,h=\\\"%\\\"===String(e.r).substr(-1)?\\\"prgb\\\":\\\"rgb\\\"):V(e.h)&&V(e.s)&&V(e.v)?(l=O(e.s),c=O(e.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%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),f=!0,h=\\\"hsv\\\"):V(e.h)&&V(e.s)&&V(e.l)&&(l=O(e.s),u=O(e.l),i=function(t,e,r){var n,i,a;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=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h=\\\"hsl\\\"),e.hasOwnProperty(\\\"a\\\")&&(a=e.a));var p,d,g;return a=E(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){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:i,l:c}}function f(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){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:i,v:c}}function h(t,e,r,n){var i=[D(a(t).toString(16)),D(a(e).toString(16)),D(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\\\"\\\")}function p(t,e,r,n){return[D(I(n)),D(a(t).toString(16)),D(a(e).toString(16)),D(a(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=z(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=z(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=z(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-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-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=z(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 k(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 M(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(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+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,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.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=E(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(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=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\\\"hsl(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%)\\\":\\\"hsla(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%, \\\"+this._roundA+\\\")\\\"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return\\\"#\\\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[D(a(t).toString(16)),D(a(e).toString(16)),D(a(r).toString(16)),D(I(n))];if(i&&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:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\\\"rgb(\\\"+a(this._r)+\\\", \\\"+a(this._g)+\\\", \\\"+a(this._b)+\\\")\\\":\\\"rgba(\\\"+a(this._r)+\\\", \\\"+a(this._g)+\\\", \\\"+a(this._b)+\\\", \\\"+this._roundA+\\\")\\\"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+\\\"%\\\",g:a(100*L(this._g,255))+\\\"%\\\",b:a(100*L(this._b,255))+\\\"%\\\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\\\"rgb(\\\"+a(100*L(this._r,255))+\\\"%, \\\"+a(100*L(this._g,255))+\\\"%, \\\"+a(100*L(this._b,255))+\\\"%)\\\":\\\"rgba(\\\"+a(100*L(this._r,255))+\\\"%, \\\"+a(100*L(this._g,255))+\\\"%, \\\"+a(100*L(this._b,255))+\\\"%, \\\"+this._roundA+\\\")\\\"},toName:function(){return 0===this._a?\\\"transparent\\\":!(this._a<1)&&(C[h(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 i=c(t);r=\\\"#\\\"+p(i._r,i._g,i._b,i._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(T,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,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(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!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\\\":i=a>=4.5;break;case\\\"AAlarge\\\":i=a>=3;break;case\\\"AAAsmall\\\":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=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:a,size:o})||!i?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\\\"},C=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function E(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 z(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function D(t){return 1==t.length?\\\"0\\\"+t:\\\"\\\"+t}function O(t){return t<=1&&(t=100*t+\\\"%\\\"),t}function I(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var B,F,N,j=(F=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+(B=\\\"(?:[-\\\\\\\\+]?\\\\\\\\d*\\\\\\\\.\\\\\\\\d+%?)|(?:[-\\\\\\\\+]?\\\\\\\\d+%?)\\\")+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")\\\\\\\\s*\\\\\\\\)?\\\",N=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")\\\\\\\\s*\\\\\\\\)?\\\",{CSS_UNIT:new RegExp(B),rgb:new RegExp(\\\"rgb\\\"+F),rgba:new RegExp(\\\"rgba\\\"+N),hsl:new RegExp(\\\"hsl\\\"+F),hsla:new RegExp(\\\"hsla\\\"+N),hsv:new RegExp(\\\"hsv\\\"+F),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)}void 0!==e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],416:[function(t,e,r){\\\"use strict\\\";function n(t){if(t instanceof Float32Array)return t;if(\\\"number\\\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(\\\"number\\\"==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r<i;r++)e[r]=t[r]-e[r];return e}},{}],417:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"parse-unit\\\");e.exports=o;var i=96;function a(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(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 i;case\\\"cm\\\":return i/2.54;case\\\"mm\\\":return i/25.4;case\\\"pt\\\":return i/72;case\\\"pc\\\":return i/6}return 1}},{\\\"parse-unit\\\":345}],418:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}function i(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(i);break;case\\\"Point\\\":n(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\\\"Feature\\\",properties:i,geometry:a}:null==n?{type:\\\"Feature\\\",id:r,properties:i,geometry:a}:{type:\\\"Feature\\\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case\\\"GeometryCollection\\\":return{type:n,geometries:e.geometries.map(t)};case\\\"Point\\\":r=s(e.coordinates);break;case\\\"MultiPoint\\\":r=e.coordinates.map(s);break;case\\\"LineString\\\":r=l(e.arcs);break;case\\\"MultiLineString\\\":r=e.arcs.map(l);break;case\\\"Polygon\\\":r=u(e.arcs);break;case\\\"MultiPolygon\\\":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=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,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[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\\\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\\\"MultiLineString\\\",arcs:s(t,n)}}function c(t,e){var r={},n=[],i=[];function a(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,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(o(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\\\":a(e.arcs);break;case\\\"MultiPolygon\\\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.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:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r};t.bbox=n,t.feature=function(t,e){return\\\"GeometryCollection\\\"===e.type?{type:\\\"FeatureCollection\\\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,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 i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(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 a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\\\"n must be \\\\u22652\\\");if(t.transform)throw new Error(\\\"already quantized\\\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(u);break;case\\\"Point\\\":c(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);i<u;++i)f=t[i],r=Math.round((f[0]-a)/o),n=Math.round((f[1]-s)/l),r===h&&n===p||((e=t[c++])[0]=r-h,h=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-i,i=c,t}},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.topojson=n.topojson||{})},{}],419:[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(a(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);i(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(\\\"permutation-rank\\\"),i=t(\\\"permutation-parity\\\"),a=t(\\\"gamma\\\")},{gamma:200,\\\"permutation-parity\\\":347,\\\"permutation-rank\\\":348}],420:[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||f(r),i=t.radius||1,a=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=f(r):s(n,n),i=c(d[0],d[1],d[2]);var g=l(r,d)/i,m=l(n,d)/i;u=Math.acos(g),a=Math.acos(m)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t(\\\"filtered-vector\\\"),i=t(\\\"gl-mat4/invert\\\"),a=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 f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),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=h.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,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);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,k=x,M=-m*x,A=-v*x,T=y,S=this.computedEye,C=this.computedMatrix;for(a=0;a<3;++a){var E=_*r[a]+w*h[a]+k*e[a];C[4*a+1]=M*r[a]+A*h[a]+T*e[a],C[4*a+2]=E,C[4*a+3]=0}var L=C[1],z=C[5],P=C[9],D=C[2],O=C[6],I=C[10],R=z*I-P*O,B=P*D-L*I,F=L*O-z*D,N=c(R,B,F);R/=N,B/=N,F/=N,C[0]=R,C[4]=B,C[8]=F;for(a=0;a<3;++a)S[a]=b[a]+C[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=C[a+4*j]*S[j];C[12+a]=-u}C[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 i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[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 i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=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 a=1;\\\"number\\\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),M=l*(_/=k)-f*(b/=k),A=f*(x/=k)-s*_,T=s*b-l*x,S=c(M,A,T);if(M/=S,A/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var C=e[1],E=e[5],L=e[9],z=C*x+E*b+L*_,P=C*M+E*A+L*T;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,z)}else{var D=e[2],O=e[6],I=e[10],R=D*s+O*l+I*f,B=D*x+O*b+I*_,F=D*M+O*A+I*T;v=Math.asin(u(R)),y=Math.atan2(F,B)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},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 i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,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=a*v-o*m,_=o*g-i*v,w=i*m-a*g,k=c(b,_,w),M=i*l+a*f+o*h,A=g*l+m*f+v*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(M)),C=Math.atan2(T,A),E=this.angle._state,L=E[E.length-1],z=E[E.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-C),D=Math.abs(L-C),O=Math.abs(L-2*Math.PI-C);P<D&&(L+=2*Math.PI),O<D&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,z),this.angle.set(t,C,S)}}}}},{\\\"filtered-vector\\\":197,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/rotate\\\":234,\\\"gl-vec3/cross\\\":280,\\\"gl-vec3/dot\\\":281,\\\"gl-vec3/normalize\\\":284}],421:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],422:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],423:[function(t,e,r){(function(e,n){\\\"use strict\\\";var i=t(\\\"bit-twiddle\\\"),a=t(\\\"dup\\\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32: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=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=a([32,0])),s.BUFFER||(s.BUFFER=a([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=i.log2(e);l[r].push(t)}}function f(t){t=i.nextPow2(t);var e=i.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function m(t){return new Int16Array(f(2*t),0,t)}function v(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.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|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\\\"arraybuffer\\\"===e)return f(t);switch(e){case\\\"uint8\\\":return h(t);case\\\"uint16\\\":return p(t);case\\\"uint32\\\":return d(t);case\\\"int8\\\":return g(t);case\\\"int16\\\":return m(t);case\\\"int32\\\":return v(t);case\\\"float\\\":case\\\"float32\\\":return y(t);case\\\"double\\\":case\\\"float64\\\":return x(t);case\\\"uint8_clamped\\\":return b(t);case\\\"buffer\\\":return w(t);case\\\"data\\\":case\\\"dataview\\\":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=m,r.mallocInt32=v,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{},t(\\\"buffer\\\").Buffer)},{\\\"bit-twiddle\\\":73,buffer:85,dup:136}],424:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=n.prototype;Object.defineProperty(i,\\\"length\\\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.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},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],425:[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,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],426:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\\\"function\\\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],427:[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}},{}],428:[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}},{}],429:[function(t,e,r){(function(e,n){var i=/%[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,a=n.length,o=String(t).replace(i,function(t){if(\\\"%%\\\"===t)return\\\"%\\\";if(r>=a)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<a;l=n[++r])g(l)||!b(l)?o+=\\\" \\\"+l:o+=\\\" \\\"+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,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&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=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(a)return a;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 f(e);if(0===o.length){if(k(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 f(e)}var c,b=\\\"\\\",M=!1,A=[\\\"{\\\",\\\"}\\\"];(p(e)&&(M=!0,A=[\\\"[\\\",\\\"]\\\"]),k(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=\\\" \\\"+f(e)),0!==o.length||M&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\"):t.stylize(\\\"[Object]\\\",\\\"special\\\"):(t.seen.push(e),c=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)S(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push(\\\"\\\");return i.forEach(function(i){i.match(/^\\\\d+$/)||a.push(h(t,e,r,n,i,!0))}),a}(t,e,n,s,o):o.map(function(r){return h(t,e,n,s,r,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,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 f(t){return\\\"[\\\"+Error.prototype.toString.call(t)+\\\"]\\\"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\\\"[Getter/Setter]\\\",\\\"special\\\"):t.stylize(\\\"[Getter]\\\",\\\"special\\\"):l.set&&(s=t.stylize(\\\"[Setter]\\\",\\\"special\\\")),S(n,i)||(o=\\\"[\\\"+i+\\\"]\\\"),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=a?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(a&&i.match(/^\\\\d+$/))return s;(o=JSON.stringify(\\\"\\\"+i)).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]\\\"===M(t)}function b(t){return\\\"object\\\"==typeof t&&null!==t}function _(t){return b(t)&&\\\"[object Date]\\\"===M(t)}function w(t){return b(t)&&(\\\"[object Error]\\\"===M(t)||t instanceof Error)}function k(t){return\\\"function\\\"==typeof t}function M(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(a)&&(a=e.env.NODE_DEBUG||\\\"\\\"),t=t.toUpperCase(),!o[t])if(new RegExp(\\\"\\\\\\\\b\\\"+t+\\\"\\\\\\\\b\\\",\\\"i\\\").test(a)){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=k,r.isPrimitive=function(t){return null===t||\\\"boolean\\\"==typeof t||\\\"number\\\"==typeof t||\\\"string\\\"==typeof t||\\\"symbol\\\"==typeof t||void 0===t},r.isBuffer=t(\\\"./support/isBuffer\\\");var T=[\\\"Jan\\\",\\\"Feb\\\",\\\"Mar\\\",\\\"Apr\\\",\\\"May\\\",\\\"Jun\\\",\\\"Jul\\\",\\\"Aug\\\",\\\"Sep\\\",\\\"Oct\\\",\\\"Nov\\\",\\\"Dec\\\"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log(\\\"%s - %s\\\",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\\\":\\\"),[t.getDate(),T[t.getMonth()],e].join(\\\" \\\")),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\\\":428,_process:366,inherits:427}],430:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){\\\"object\\\"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t(\\\"./lib/vtext\\\"),i=null,a=null;\\\"undefined\\\"!=typeof document&&((i=document.createElement(\\\"canvas\\\")).width=8192,i.height=1024,a=i.getContext(\\\"2d\\\"))},{\\\"./lib/vtext\\\":431}],431:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var a=n.size||64,o=n.font||\\\"normal\\\";return r.font=a+\\\"px \\\"+o,r.textAlign=\\\"start\\\",r.textBaseline=\\\"alphabetic\\\",r.direction=\\\"ltr\\\",f(function(t,e,r,n){var a=0|Math.ceil(e.measureText(r).width+2*n);if(a>8192)throw new Error(\\\"vectorize-text: String too long (sorry, this will get fixed later)\\\");var o=3*n;t.height<o&&(t.height=o),e.fillStyle=\\\"#000\\\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\\\"#fff\\\",e.fillText(r,n,2*n);var s=e.getImageData(0,0,a,o);return i(s.data,[o,a,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=f;var n=t(\\\"surface-nets\\\"),i=t(\\\"ndarray\\\"),a=t(\\\"simplify-planar-graph\\\"),o=t(\\\"clean-pslg\\\"),s=t(\\\"cdt2d\\\"),l=t(\\\"planar-graph-to-polyline\\\");function c(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function u(t,e,r,n){var i=c(t,n),a=function(t,e,r){for(var n=e.textAlign||\\\"start\\\",i=e.textBaseline||\\\"alphabetic\\\",a=[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)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case\\\"center\\\":f=-.5*(a[0]+o[0]);break;case\\\"right\\\":case\\\"end\\\":f=-o[0];break;case\\\"left\\\":case\\\"start\\\":f=-a[0];break;default:throw new Error(\\\"vectorize-text: Unrecognized textAlign: '\\\"+n+\\\"'\\\")}var h=0;switch(i){case\\\"hanging\\\":case\\\"top\\\":h=-a[1];break;case\\\"middle\\\":h=-.5*(a[1]+o[1]);break;case\\\"alphabetic\\\":case\\\"ideographic\\\":h=-3*r;break;case\\\"bottom\\\":h=-o[1];break;default:throw new Error(\\\"vectorize-text: Unrecoginized textBaseline: '\\\"+i+\\\"'\\\")}var p=1/r;return\\\"lineHeight\\\"in e?p*=+e.lineHeight:\\\"width\\\"in e?p=e.width/(o[0]-a[0]):\\\"height\\\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+f),p*(t[1]+h)]})}(i.positions,e,r),u=i.edges,f=\\\"ccw\\\"===e.orientation;if(o(a,u),e.polygons||e.polygon||e.polyline){for(var h=l(u,a),p=new Array(h.length),d=0;d<h.length;++d){for(var g=h[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]=a[y[b]].slice();f&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,u,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:u,positions:a}}function f(t,e,r){try{return u(t,e,r,!0)}catch(t){}try{return u(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:86,\\\"clean-pslg\\\":96,ndarray:335,\\\"planar-graph-to-polyline\\\":352,\\\"simplify-planar-graph\\\":402,\\\"surface-nets\\\":409}],432:[function(t,e,r){!function(){\\\"use strict\\\";if(\\\"undefined\\\"==typeof ses||!ses.ok||ses.ok()){\\\"undefined\\\"!=typeof ses&&(ses.weakMapPermitHostObjects=m);var t=!1;if(\\\"function\\\"==typeof WeakMap){var r=WeakMap;if(\\\"undefined\\\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l=\\\"weakmap:\\\",c=l+\\\"ident:\\\"+Math.random()+\\\"___\\\";if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto.getRandomValues&&\\\"function\\\"==typeof ArrayBuffer&&\\\"function\\\"==typeof Uint8Array){var u=new ArrayBuffer(25),f=new Uint8Array(u);crypto.getRandomValues(f),c=l+\\\"rand:\\\"+Array.prototype.map.call(f,function(t){return(t%36).toString(36)}).join(\\\"\\\")+\\\"___\\\"}if(o(Object,\\\"getOwnPropertyNames\\\",{value:function(t){return a(t).filter(v)}}),\\\"getPropertyNames\\\"in Object){var h=Object.getPropertyNames;o(Object,\\\"getPropertyNames\\\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;o(Object,\\\"freeze\\\",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,\\\"seal\\\",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,\\\"preventExtensions\\\",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,i){var a,o=y(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};g.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 g||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==m)throw new Error(\\\"bogus call to permitHostObjects___\\\");a=!0})}})}t&&\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.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=g)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function v(t){return!(t.substr(0,l.length)==l&&\\\"___\\\"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError(\\\"Not an object: \\\"+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||\\\"undefined\\\"==typeof console||(p=!0,console.warn(\\\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\\\"))}}()},{}],433:[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\\\":434}],434:[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}},{}],435:[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\\\":433}],436:[function(t,e,r){var n=t(\\\"get-canvas-context\\\");e.exports=function(t){return n(\\\"webgl\\\",t)}},{\\\"get-canvas-context\\\":201}],437:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}o.prototype=new n.baseCalendar,i(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),i=t.month(),a=\\\"\\\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\\\"0\\\"+a),this.isIntercalaryMonth(n,i)&&(a+=\\\"i\\\"),a},monthNames:function(t){if(\\\"string\\\"==typeof t){var e=t.match(c);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\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)&&(i=\\\"\\\\u95f0\\\"+i),i},monthNamesShort:function(t){if(\\\"string\\\"==typeof t){var e=t.match(u);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\u4e00\\\",\\\"\\\\u4e8c\\\",\\\"\\\\u4e09\\\",\\\"\\\\u56db\\\",\\\"\\\\u4e94\\\",\\\"\\\\u516d\\\",\\\"\\\\u4e03\\\",\\\"\\\\u516b\\\",\\\"\\\\u4e5d\\\",\\\"\\\\u5341\\\",\\\"\\\\u5341\\\\u4e00\\\",\\\"\\\\u5341\\\\u4e8c\\\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\\\"\\\\u95f0\\\"+i),i},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 i=e[e.length-1];r=\\\"i\\\"===i||\\\"I\\\"===i}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 i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return i?!r&&e<=i?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),f[t-f[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 i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),\\\"d\\\");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/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=f[t-f[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 i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\\\"object\\\"==typeof t)o=t,a=e||{};else{var l=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\\\"Lunar year outside range 1888-2111\\\");var c=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!c)throw new Error(\\\"Lunar month outside range 1 - 12\\\");var u,p=\\\"number\\\"==typeof r&&r>=1&&r<=30;if(!p)throw new Error(\\\"Lunar day outside range 1 - 30\\\");\\\"object\\\"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],m=g>>13;d=m?o.month>m?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var v=0;v<d;v++){var y=g&1<<12-v?30:29;s+=y}var x=h[o.year-h[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\\\"object\\\"==typeof t)i=t,a=e||{};else{var o=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\\\"Solar year outside range 1888-2111\\\");var s=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\\\"Solar month outside range 1 - 12\\\");var l=\\\"number\\\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\\\"Solar day outside range 1 - 31\\\");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var m,v=f[a.year-f[0]];for(m=0;m<13;m++){var y=v&1<<12-m?30:29;if(p<y)break;p-=y}var x=v>>13;!x||m<x?(a.isIntercalary=!1,a.month=1+m):m===x?(a.isIntercalary=!0,a.month=m):(a.isIntercalary=!1,a.month=m);return a.day=1+p,a}(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],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if(\\\"y\\\"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}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 f=[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],h=[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\\\":451,\\\"object-assign\\\":339}],438:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],439:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\\\"\\\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],440:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],441:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.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)?30: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 i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\\\"embolismic\\\":\\\"common\\\")+\\\" \\\"+[\\\"deficient\\\",\\\"regular\\\",\\\"complete\\\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],442:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t=t<=0?t+1:t,r+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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],443:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.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),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],444:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(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}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[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 i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],445:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar;var o=n.instance(\\\"gregorian\\\");i(a.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 i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],446:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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(),void 0===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),void 0===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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=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+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,\\\"d\\\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===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],2000:[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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],447:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/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),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+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),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],448:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}o.prototype=new n.baseCalendar,i(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 a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.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 i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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\\\":451,\\\"object-assign\\\":339}],449:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}o.prototype=new n.baseCalendar,i(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 a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.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 i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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\\\":451,\\\"object-assign\\\":339}],450:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-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 i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\\\{0\\\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;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\\\":451,\\\"object-assign\\\":339}],451:[function(t,e,r){var n=t(\\\"object-assign\\\");function i(){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 a(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(i.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,i){return(n=(null!=t&&t.year?t.calendar():\\\"string\\\"==typeof n?this.instance(n,i):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=\\\"\\\",i=0;r>0;){var a=r%10;n=(0===a?\\\"\\\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.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 a(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),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\\\"y\\\"===r?e:0),o=t.monthOfYear()+(\\\"m\\\"===r?e:0);i=t.day();\\\"y\\\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\\\"m\\\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];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 i={y:[1,1,\\\"y\\\"],m:[1,this.monthsInYear(-1),\\\"m\\\"],w:[this.daysInWeek(),this.daysInYear(-1),\\\"d\\\"],d:[1,this.daysInYear(-1),\\\"d\\\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[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(),i=\\\"m\\\"===r?e:t.month(),a=\\\"d\\\"===r?e:t.day();return\\\"y\\\"!==r&&\\\"m\\\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}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 i=this.newDate(t,e,r);return this._validateLevel--,i}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 i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-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,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=i-(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),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{\\\"object-assign\\\":339}],452:[function(t,e,r){var n=t(\\\"object-assign\\\"),i=t(\\\"./main\\\");n(i.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\\\"}),i.local=i.regionalOptions[\\\"\\\"],n(i.cdate.prototype,{formatDate:function(t,e){return\\\"string\\\"!=typeof t&&(e=t,t=\\\"\\\"),this._calendar.formatDate(t||\\\"\\\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.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 i.local.invalidFormat||i.regionalOptions[\\\"\\\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=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 i=\\\"\\\"+e;if(p(t,n))for(;i.length<r;)i=\\\"0\\\"+i;return i},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 h?h.call(g,t):h[t.month()-g.minMonth]:\\\"function\\\"==typeof f?f.call(g,t):f[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\\\",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);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 i.local.invalidArguments||i.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 a=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,f=-1,h=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;T+n<t.length&&t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\\\"oyYJ@!\\\".indexOf(t)+1],o=new RegExp(\\\"^-?\\\\\\\\d{1,\\\"+a+\\\"}\\\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.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,a){for(var o=y(t,a)?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(i.local.unknownNameAt||i.regionalOptions[\\\"\\\"].unknownNameAt).replace(/\\\\{0\\\\}/,A)},k=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)},M=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\\\"\\\"].unexpectedLiteralAt).replace(/\\\\{0\\\\}/,A);A++},A=0,T=0;T<t.length;T++)if(v)\\\"'\\\"!==t.charAt(T)||y(\\\"'\\\")?M():v=!1;else switch(t.charAt(T)){case\\\"d\\\":d=x(\\\"d\\\");break;case\\\"D\\\":w(\\\"D\\\",a,o);break;case\\\"o\\\":g=x(\\\"o\\\");break;case\\\"w\\\":x(\\\"w\\\");break;case\\\"m\\\":p=_();break;case\\\"M\\\":p=k();break;case\\\"y\\\":var S=T;m=!y(\\\"y\\\",2),T=S,h=x(\\\"y\\\",2);break;case\\\"Y\\\":h=x(\\\"Y\\\",2);break;case\\\"J\\\":f=x(\\\"J\\\")+.5,\\\".\\\"===e.charAt(A)&&(A++,x(\\\"J\\\"));break;case\\\"@\\\":f=x(\\\"@\\\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\\\"!\\\":f=x(\\\"!\\\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\\\"*\\\":A=e.length;break;case\\\"'\\\":y(\\\"'\\\")?M():v=!0;break;default:M()}if(A<e.length)throw i.local.unexpectedText||i.regionalOptions[\\\"\\\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&m&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\\\"string\\\"==typeof p&&(p=s.call(this,h,p)),g>-1){p=1,d=g;for(var C=this.daysInMonth(h,p);d>C;C=this.daysInMonth(h,p))p++,d-=C}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&\\\"object\\\"!=typeof r&&(i=n,n=r,r=null),\\\"string\\\"!=typeof n&&(i=n,n=\\\"\\\");var a=this;return e=e?e.newDate():null,t=null==t?e:\\\"string\\\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.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:a.today().add(t,\\\"d\\\"):a.newDate(t)}})},{\\\"./main\\\":451,\\\"object-assign\\\":339}],453:[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\\\":116}],454:[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\\\":453}],455:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./common_defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c(\\\"visible\\\",!(l=l||{}).itemIsNotPlainObject),f=c(\\\"clicktoshow\\\");if(!u&&!f)return e;a(t,e,r,c);for(var h=e.showarrow,p=[\\\"x\\\",\\\"y\\\"],d=[-10,-30],g={_fullLayout:r},m=0;m<2;m++){var v=p[m],y=i.coerceRef(t,e,g,v,\\\"\\\",\\\"paper\\\");if(i.coercePosition(e,g,c,y,v,.5),h){var x=\\\"a\\\"+v,b=i.coerceRef(t,e,g,x,\\\"pixel\\\");\\\"pixel\\\"!==b&&b!==y&&(b=e[x]=\\\"pixel\\\");var _=\\\"pixel\\\"===b?d[m]:.4;i.coercePosition(e,g,c,b,x,_)}c(v+\\\"anchor\\\"),c(v+\\\"shift\\\")}if(n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),h&&n.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"]),f){var w=c(\\\"xclick\\\"),k=c(\\\"yclick\\\");e._xclick=void 0===w?e.x:i.cleanPosition(w,g,e.xref),e._yclick=void 0===k?e.y:i.cleanPosition(k,g,e.yref)}return e}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./attributes\\\":457,\\\"./common_defaults\\\":460}],456:[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}]},{}],457:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./arrow_paths\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/cartesian/constants\\\");e.exports={_isLinkedToArray:\\\"annotation\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},text:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},textangle:{valType:\\\"angle\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},font:i({editType:\\\"calcIfAutorange+arraydraw\\\",colorEditType:\\\"arraydraw\\\"}),width:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+arraydraw\\\"},height:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+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:\\\"calcIfAutorange+arraydraw\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},showarrow:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+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:\\\"calcIfAutorange+arraydraw\\\"},startarrowsize:{valType:\\\"number\\\",min:.3,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},arrowwidth:{valType:\\\"number\\\",min:.1,editType:\\\"calcIfAutorange+arraydraw\\\"},standoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},startstandoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},ax:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},ay:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},axref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.x.toString()],editType:\\\"calc\\\"},ayref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.y.toString()],editType:\\\"calc\\\"},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.x.toString()],editType:\\\"calc\\\"},x:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.y.toString()],editType:\\\"calc\\\"},y:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+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:i({editType:\\\"arraydraw\\\"}),editType:\\\"arraydraw\\\"},captureevents:{valType:\\\"boolean\\\",editType:\\\"arraydraw\\\"},editType:\\\"calc\\\",_deprecated:{ref:{valType:\\\"string\\\",editType:\\\"calc\\\"}}}},{\\\"../../plots/cartesian/constants\\\":653,\\\"../../plots/font_attributes\\\":674,\\\"./arrow_paths\\\":456}],458:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./draw\\\").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r,n,a,o,s=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&&s.autorange&&(r=c+e.xshift,n=c-e.xshift,a=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(i.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),i.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,a),ppadminus:Math.max(e._xpadminus,o)})):(a=e.ax?a+e.ax:a,o=e.ax?o-e.ax:o,i.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,a),ppadminus:Math.max(e._xpadminus,n,o)}))),l&&l.autorange&&(r=c-e.yshift,n=c+e.yshift,a=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(i.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),i.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,a),ppadminus:Math.max(e._ypadminus,o)})):(a=e.ay?a+e.ay:a,o=e.ay?o-e.ay:o,i.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,a),ppadminus:Math.max(e._ypadminus,n,o)})))})}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};for(var l in r.forEach(function(t){s[t.xref]=1,s[t.yref]=1}),s){var c=i.getFromId(t,l);if(c&&c.autorange)return n.syncOrAsync([a,o],t)}}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./draw\\\":463}],459:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");function i(t,e){var r,n,i,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(o=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(s=e[n]).xaxis,c=s.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(s.x)===a(i._xclick,l)&&c.d2r(s.y)===a(i._yclick,c)){(i.visible?\\\"onout\\\"===o?h:p:f).push(r);break}n===d&&i.visible&&\\\"onout\\\"===o&&h.push(r)}return{on:f,off:h,explicitOff:p}}function a(t,e){return\\\"log\\\"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=i(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,a=i(t,e),o=a.on,s=a.off.concat(a.explicitOff),l={};if(!o.length&&!s.length)return;for(r=0;r<o.length;r++)l[\\\"annotations[\\\"+o[r]+\\\"].visible\\\"]=!0;for(r=0;r<s.length;r++)l[\\\"annotations[\\\"+s[r]+\\\"].visible\\\"]=!1;return n.call(\\\"update\\\",t,{},l)}}},{\\\"../../registry\\\":732}],460:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../color\\\");e.exports=function(t,e,r,a){a(\\\"opacity\\\");var o=a(\\\"bgcolor\\\"),s=a(\\\"bordercolor\\\"),l=i.opacity(s);a(\\\"borderpad\\\");var c=a(\\\"borderwidth\\\"),u=a(\\\"showarrow\\\");if(a(\\\"text\\\",u?\\\" \\\":r._dfltTitle.annotation),a(\\\"textangle\\\"),n.coerceFont(a,\\\"font\\\",r.font),a(\\\"width\\\"),a(\\\"align\\\"),a(\\\"height\\\")&&a(\\\"valign\\\"),u){var f,h,p=a(\\\"arrowside\\\");-1!==p.indexOf(\\\"end\\\")&&(f=a(\\\"arrowhead\\\"),h=a(\\\"arrowsize\\\")),-1!==p.indexOf(\\\"start\\\")&&(a(\\\"startarrowhead\\\",f),a(\\\"startarrowsize\\\",h)),a(\\\"arrowcolor\\\",l?e.bordercolor:i.defaultLine),a(\\\"arrowwidth\\\",2*(l&&c||1)),a(\\\"standoff\\\"),a(\\\"startstandoff\\\")}var d=a(\\\"hovertext\\\"),g=r.hoverlabel||{};if(d){var m=a(\\\"hoverlabel.bgcolor\\\",g.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(\\\"hoverlabel.bordercolor\\\",g.bordercolor||i.contrast(m));n.coerceFont(a,\\\"hoverlabel.font\\\",{family:g.font.family,size:g.font.size,color:g.font.color||v})}a(\\\"captureevents\\\",!!d)}},{\\\"../../lib\\\":602,\\\"../color\\\":474}],461:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){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,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c=\\\"annotations[\\\"+h+\\\"].\\\",l[f+\\\"ref\\\"]===e._id&&p(f),l[\\\"a\\\"+f+\\\"ref\\\"]===e._id&&p(\\\"a\\\"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{\\\"../../lib/to_log_range\\\":628,\\\"fast-isnumeric\\\":196}],462:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./annotation_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"annotations\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":644,\\\"./annotation_defaults\\\":455}],463:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../color\\\"),c=t(\\\"../drawing\\\"),u=t(\\\"../fx\\\"),f=t(\\\"../../lib/svg_text_utils\\\"),h=t(\\\"../../lib/setcursor\\\"),p=t(\\\"../dragelement\\\"),d=t(\\\"./draw_arrow_head\\\");function g(t,e){var r=t._fullLayout.annotations[e]||{};m(t,r,e,!1,s.getFromId(t,r.xref),s.getFromId(t,r.yref))}function m(t,e,r,a,s,g){var m,v,y=t._fullLayout,x=t._fullLayout._size,b=t._context.edits;a?(m=\\\"annotation-\\\"+a,v=a+\\\".annotations[\\\"+r+\\\"]\\\"):(m=\\\"annotation\\\",v=\\\"annotations[\\\"+r+\\\"]\\\"),y._infolayer.selectAll(\\\".\\\"+m+'[data-index=\\\"'+r+'\\\"]').remove();var _=\\\"clip\\\"+y._uid+\\\"_ann\\\"+r;if(e._input&&!1!==e.visible){var w={x:{},y:{}},k=+e.textangle||0,M=y._infolayer.append(\\\"g\\\").classed(m,!0).attr(\\\"data-index\\\",String(r)).style(\\\"opacity\\\",e.opacity),A=M.append(\\\"g\\\").classed(\\\"annotation-text-g\\\",!0),T=b[e.showarrow?\\\"annotationTail\\\":\\\"annotationPosition\\\"],S=e.captureevents||b.annotationText||T,C=A.append(\\\"g\\\").style(\\\"pointer-events\\\",S?\\\"all\\\":null).call(h,\\\"default\\\").on(\\\"click\\\",function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:n.event};a&&(i.subplotId=a),t.emit(\\\"plotly_clickannotation\\\",i)});e.hovertext&&C.on(\\\"mouseover\\\",function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:y._hoverlayer.node(),outerContainer:y._paper.node(),gd:t})}).on(\\\"mouseout\\\",function(){u.loneUnhover(y._hoverlayer.node())});var E=e.borderwidth,L=e.borderpad,z=E+L,P=C.append(\\\"rect\\\").attr(\\\"class\\\",\\\"bg\\\").style(\\\"stroke-width\\\",E+\\\"px\\\").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),D=e.width||e.height,O=y._topclips.selectAll(\\\"#\\\"+_).data(D?[0]:[]);O.enter().append(\\\"clipPath\\\").classed(\\\"annclip\\\",!0).attr(\\\"id\\\",_).append(\\\"rect\\\"),O.exit().remove();var I=e.font,R=C.append(\\\"text\\\").classed(\\\"annotation-text\\\",!0).text(e.text);b.annotationText?R.call(f.makeEditable,{delegate:C,gd:t}).call(B).on(\\\"edit\\\",function(r){e.text=r,this.call(B);var n={};n[v+\\\".text\\\"]=e.text,s&&s.autorange&&(n[s._name+\\\".autorange\\\"]=!0),g&&g.autorange&&(n[g._name+\\\".autorange\\\"]=!0),i.call(\\\"relayout\\\",t,n)}):R.call(B)}else n.selectAll(\\\"#\\\"+_).remove();function B(r){return r.call(c.font,I).attr({\\\"text-anchor\\\":{left:\\\"start\\\",right:\\\"end\\\"}[e.align]||\\\"middle\\\"}),f.convertToTspans(r,t,F),r}function F(){var r=R.selectAll(\\\"a\\\");1===r.size()&&r.text()===R.text()&&C.insert(\\\"a\\\",\\\":first-child\\\").attr({\\\"xlink:xlink:href\\\":r.attr(\\\"xlink:href\\\"),\\\"xlink:xlink:show\\\":r.attr(\\\"xlink:show\\\")}).style({cursor:\\\"pointer\\\"}).node().appendChild(P.node());var n=C.select(\\\".annotation-text-math-group\\\"),u=!n.empty(),m=c.bBox((u?n:R).node()),S=m.width,L=m.height,I=e.width||S,B=e.height||L,F=Math.round(I+2*z),N=Math.round(B+2*z);function j(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]}e._w=I,e._h=B;for(var V=!1,U=[\\\"x\\\",\\\"y\\\"],q=0;q<U.length;q++){var H,G,W,Y,X,Z=U[q],J=e[Z+\\\"ref\\\"]||Z,K=e[\\\"a\\\"+Z+\\\"ref\\\"],Q={x:s,y:g}[Z],$=(k+(\\\"x\\\"===Z?0:-90))*Math.PI/180,tt=F*Math.cos($),et=N*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+\\\"anchor\\\"],it=e[Z+\\\"shift\\\"]*(\\\"x\\\"===Z?1:-1),at=w[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&&(ot<0||ot>1)&&(K===J?((ot=Q.r2fraction(e[\\\"a\\\"+Z]))<0||ot>1)&&(V=!0):V=!0,V))continue;H=Q._offset+Q.r2p(e[Z]),Y=.5}else\\\"x\\\"===Z?(W=e[Z],H=x.l+x.w*W):(W=1-e[Z],H=x.t+x.h*W),Y=e.showarrow?.5:W;if(e.showarrow){at.head=H;var st=e[\\\"a\\\"+Z];X=tt*j(.5,e.xanchor)-et*j(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=y[\\\"x\\\"===Z?\\\"width\\\":\\\"height\\\"];if(\\\"paper\\\"===J&&(at.head=o.constrain(at.head,1,lt-1)),\\\"pixel\\\"===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct>0?(at.tail+=ct,at.text+=ct):ut>0&&(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*j(Y,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e[\\\"_\\\"+Z+\\\"padplus\\\"]=rt/2+G,e[\\\"_\\\"+Z+\\\"padminus\\\"]=rt/2-G,e[\\\"_\\\"+Z+\\\"size\\\"]=rt,e[\\\"_\\\"+Z+\\\"shift\\\"]=X}if(V)C.remove();else{var ft=0,ht=0;if(\\\"left\\\"!==e.align&&(ft=(I-S)*(\\\"center\\\"===e.align?.5:1)),\\\"top\\\"!==e.valign&&(ht=(B-L)*(\\\"middle\\\"===e.valign?.5:1)),u)n.select(\\\"svg\\\").attr({x:z+ft-1,y:z+ht}).call(c.setClipUrl,D?_:null);else{var pt=z+ht-m.top,dt=z+ft-m.left;R.call(f.positionText,dt,pt).call(c.setClipUrl,D?_:null)}O.select(\\\"rect\\\").call(c.setRect,z,z,I,B),P.call(c.setRect,E/2,E/2,F-E,N-E),C.call(c.setTranslate,Math.round(w.x.text-F/2),Math.round(w.y.text-N/2)),A.attr({transform:\\\"rotate(\\\"+k+\\\",\\\"+w.x.text+\\\",\\\"+w.y.text+\\\")\\\"});var gt,mt,vt=function(r,n){M.selectAll(\\\".annotation-arrow-g\\\").remove();var u=w.x.head,f=w.y.head,h=w.x.tail+r,m=w.y.tail+n,y=w.x.text+r,_=w.y.text+n,T=o.rotationXYMatrix(k,y,_),S=o.apply2DTransform(T),E=o.apply2DTransform2(T),L=+P.attr(\\\"width\\\"),z=+P.attr(\\\"height\\\"),D=y-.5*L,O=D+L,I=_-.5*z,R=I+z,B=[[D,I,D,R],[D,R,O,R],[O,R,O,I],[O,I,D,I]].map(E);if(!B.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){B.forEach(function(t){var e=o.segmentsIntersect(h,m,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,m=e.y)});var F=e.arrowwidth,N=e.arrowcolor,j=e.arrowside,V=M.append(\\\"g\\\").style({opacity:l.opacity(N)}).classed(\\\"annotation-arrow-g\\\",!0),U=V.append(\\\"path\\\").attr(\\\"d\\\",\\\"M\\\"+h+\\\",\\\"+m+\\\"L\\\"+u+\\\",\\\"+f).style(\\\"stroke-width\\\",F+\\\"px\\\").call(l.stroke,l.rgb(N));if(d(U,j,e),b.annotationPosition&&U.node().parentNode&&!a){var q=u,H=f;if(e.standoff){var G=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-m,2));q+=e.standoff*(h-u)/G,H+=e.standoff*(m-f)/G}var W,Y,X,Z=V.append(\\\"path\\\").classed(\\\"annotation-arrow\\\",!0).classed(\\\"anndrag\\\",!0).attr({d:\\\"M3,3H-3V-3H3ZM0,0L\\\"+(h-q)+\\\",\\\"+(m-H),transform:\\\"translate(\\\"+q+\\\",\\\"+H+\\\")\\\"}).style(\\\"stroke-width\\\",F+6+\\\"px\\\").call(l.stroke,\\\"rgba(0,0,0,0)\\\").call(l.fill,\\\"rgba(0,0,0,0)\\\");p.init({element:Z.node(),gd:t,prepFn:function(){var t=c.getTranslate(C);Y=t.x,X=t.y,W={},s&&s.autorange&&(W[s._name+\\\".autorange\\\"]=!0),g&&g.autorange&&(W[g._name+\\\".autorange\\\"]=!0)},moveFn:function(t,r){var n=S(Y,X),i=n[0]+t,a=n[1]+r;C.call(c.setTranslate,i,a),W[v+\\\".x\\\"]=s?s.p2r(s.r2p(e.x)+t):e.x+t/x.w,W[v+\\\".y\\\"]=g?g.p2r(g.r2p(e.y)+r):e.y-r/x.h,e.axref===e.xref&&(W[v+\\\".ax\\\"]=s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&(W[v+\\\".ay\\\"]=g.p2r(g.r2p(e.ay)+r)),V.attr(\\\"transform\\\",\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"),A.attr({transform:\\\"rotate(\\\"+k+\\\",\\\"+i+\\\",\\\"+a+\\\")\\\"})},doneFn:function(){i.call(\\\"relayout\\\",t,W);var e=document.querySelector(\\\".js-notes-box-panel\\\");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&vt(0,0),T)p.init({element:C.node(),gd:t,prepFn:function(){mt=A.attr(\\\"transform\\\"),gt={}},moveFn:function(t,r){var n=\\\"pointer\\\";if(e.showarrow)e.axref===e.xref?gt[v+\\\".ax\\\"]=s.p2r(s.r2p(e.ax)+t):gt[v+\\\".ax\\\"]=e.ax+t,e.ayref===e.yref?gt[v+\\\".ay\\\"]=g.p2r(g.r2p(e.ay)+r):gt[v+\\\".ay\\\"]=e.ay+r,vt(t,r);else{if(a)return;if(s)gt[v+\\\".x\\\"]=s.p2r(s.r2p(e.x)+t);else{var i=e._xsize/x.w,o=e.x+(e._xshift-e.xshift)/x.w-i/2;gt[v+\\\".x\\\"]=p.align(o+t/x.w,i,0,1,e.xanchor)}if(g)gt[v+\\\".y\\\"]=g.p2r(g.r2p(e.y)+r);else{var l=e._ysize/x.h,c=e.y-(e._yshift+e.yshift)/x.h-l/2;gt[v+\\\".y\\\"]=p.align(c-r/x.h,l,0,1,e.yanchor)}s&&g||(n=p.getCursor(s?.5:gt[v+\\\".x\\\"],g?.5:gt[v+\\\".y\\\"],e.xanchor,e.yanchor))}A.attr({transform:\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"+mt}),h(C,n)},doneFn:function(){h(C),i.call(\\\"relayout\\\",t,gt);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&&g(t,r);return a.previousPromises(t)},drawOne:g,drawRaw:m}},{\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"../fx\\\":516,\\\"./draw_arrow_head\\\":464,d3:130}],464:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../color\\\"),a=t(\\\"./arrow_paths\\\");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),f=a[r.arrowhead||0],h=a[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=f.backoff*p+r.standoff,y=h.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 z();if(v){if(v*v>x*x+b*b)return void z();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 z();var k=y*Math.cos(l),M=y*Math.sin(l);o.x-=k,o.y-=M,t.attr({x1:o.x,y1:o.y})}}else if(\\\"path\\\"===u.nodeName){var A=u.getTotalLength(),T=\\\"\\\";if(A<v+y)return void z();var S=u.getPointAtLength(0),C=u.getPointAtLength(.1);l=Math.atan2(S.y-C.y,S.x-C.x),o=u.getPointAtLength(Math.min(y,A)),T=\\\"0px,\\\"+y+\\\"px,\\\";var E=u.getPointAtLength(A),L=u.getPointAtLength(A-.1);c=Math.atan2(E.y-L.y,E.x-L.x),s=u.getPointAtLength(Math.max(0,A-v)),T+=A-(T?y+v:v)+\\\"px,\\\"+A+\\\"px\\\",t.style(\\\"stroke-dasharray\\\",T)}function z(){t.style(\\\"stroke-dasharray\\\",\\\"0px,100px\\\")}function P(e,a,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append(\\\"path\\\").attr({class:t.attr(\\\"class\\\"),d:e.path,transform:\\\"translate(\\\"+a.x+\\\",\\\"+a.y+\\\")\\\"+(o?\\\"rotate(\\\"+180*o/Math.PI+\\\")\\\":\\\"\\\")+\\\"scale(\\\"+s+\\\")\\\"}).style({fill:i.rgb(r.arrowcolor),\\\"stroke-width\\\":0}))}g&&P(h,o,l,d),m&&P(f,s,c,p)}},{\\\"../color\\\":474,\\\"./arrow_paths\\\":456,d3:130}],465:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\"),i=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:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\\\"./convert_coords\\\")}},{\\\"../../plots/cartesian/include_components\\\":658,\\\"./attributes\\\":457,\\\"./calc_autorange\\\":458,\\\"./click\\\":459,\\\"./convert_coords\\\":461,\\\"./defaults\\\":462,\\\"./draw\\\":463}],466:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\"),i=t(\\\"../../plot_api/edit_types\\\").overrideAll;e.exports=i({_isLinkedToArray:\\\"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\\\":633,\\\"../annotations/attributes\\\":457}],467:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\");function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:\\\"linear\\\",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(\\\".annotation-\\\"+t.id).remove()}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],468:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../plots/array_container_defaults\\\"),o=t(\\\"../annotations/common_defaults\\\"),s=t(\\\"./attributes\\\");function l(t,e,r,a,l){function c(r,i){return n.coerce(t,e,s,r,i)}function u(t){var n=t+\\\"axis\\\",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,c,t,t,.5)}return c(\\\"visible\\\",!l.itemIsNotPlainObject)?(o(t,e,a.fullLayout,c),u(\\\"x\\\"),u(\\\"y\\\"),u(\\\"z\\\"),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"]),e.xref=\\\"x\\\",e.yref=\\\"y\\\",e.zref=\\\"z\\\",c(\\\"xanchor\\\"),c(\\\"yanchor\\\"),c(\\\"xshift\\\"),c(\\\"yshift\\\"),e.showarrow&&(e.axref=\\\"pixel\\\",e.ayref=\\\"pixel\\\",c(\\\"ax\\\",-10),c(\\\"ay\\\",-30),n.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"])),e):e}e.exports=function(t,e,r){a(t,e,{name:\\\"annotations\\\",handleItemDefaults:l,fullLayout:r.fullLayout})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"../../plots/cartesian/axes\\\":648,\\\"../annotations/common_defaults\\\":460,\\\"./attributes\\\":466}],469:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/draw\\\").drawRaw,i=t(\\\"../../plots/gl3d/project\\\"),a=[\\\"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 f=a[u],h=l[f],p=e[f+\\\"axis\\\"].r2fraction(h);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(\\\".annotation-\\\"+t.id+'[data-index=\\\"'+s+'\\\"]').remove():(l._pdata=i(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\\\":699,\\\"../annotations/draw\\\":463}],470:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=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 a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(\\\"./convert\\\"),draw:t(\\\"./draw\\\")}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":466,\\\"./convert\\\":467,\\\"./defaults\\\":468,\\\"./draw\\\":469}],471:[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\\\":437,\\\"world-calendars/dist/calendars/coptic\\\":438,\\\"world-calendars/dist/calendars/discworld\\\":439,\\\"world-calendars/dist/calendars/ethiopian\\\":440,\\\"world-calendars/dist/calendars/hebrew\\\":441,\\\"world-calendars/dist/calendars/islamic\\\":442,\\\"world-calendars/dist/calendars/julian\\\":443,\\\"world-calendars/dist/calendars/mayan\\\":444,\\\"world-calendars/dist/calendars/nanakshahi\\\":445,\\\"world-calendars/dist/calendars/nepali\\\":446,\\\"world-calendars/dist/calendars/persian\\\":447,\\\"world-calendars/dist/calendars/taiwan\\\":448,\\\"world-calendars/dist/calendars/thai\\\":449,\\\"world-calendars/dist/calendars/ummalqura\\\":450,\\\"world-calendars/dist/main\\\":451,\\\"world-calendars/dist/plus\\\":452}],472:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./calendars\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:\\\"enumerated\\\",values:Object.keys(n.calendars),editType:\\\"calc\\\",dflt:\\\"gregorian\\\"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u=\\\"##\\\",f={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:u,w:u,c:{0:\\\"D M d %X yyyy\\\",\\\"-\\\":\\\"D M d %X yyyy\\\"},x:{0:\\\"mm/dd/yyyy\\\",\\\"-\\\":\\\"mm/dd/yyyy\\\"}};var h={};function p(t){var e=h[t];return e||(e=h[t]=n.instance(t))}function d(t){return i.extendFlat({},l,{description:t})}function g(t){return\\\"Sets the calendar system to use with `\\\"+t+\\\"` date data.\\\"}var m={xcalendar:d(g(\\\"x\\\"))},v=i.extendFlat({},m,{ycalendar:d(g(\\\"y\\\"))}),y=i.extendFlat({},v,{zcalendar:d(g(\\\"z\\\"))}),x=d([\\\"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:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:m,candlestick:m},layout:{calendar:d([\\\"Sets the default calendar system to use for interpreting and\\\",\\\"displaying dates throughout the plot.\\\"].join(\\\" \\\"))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d([\\\"Sets the calendar system to use for `value`, if it is a date.\\\"].join(\\\" \\\")),targetcalendar:d([\\\"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 i=0;i<r.length;i++)c(t,e,r[i]+\\\"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:p,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,h=Math.floor((e+.05)/s)+o,d=p(r).fromJD(h),g=0;-1!==(g=t.indexOf(\\\"%\\\",g));)\\\"0\\\"===(n=t.charAt(g+1))||\\\"-\\\"===n||\\\"_\\\"===n?(a=3,i=t.charAt(g+2),\\\"_\\\"===n&&(n=\\\"-\\\")):(i=n,n=\\\"0\\\",a=2),(l=f[i])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+a),g+=c.length):g+=a;return t}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"./calendars\\\":471}],473:[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},{}],474:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\"),i=t(\\\"fast-isnumeric\\\"),a=e.exports={},o=t(\\\"./attributes\\\");a.defaults=o.defaults;var s=a.defaultLine=o.defaultLine;a.lightLine=o.lightLine;var l=a.background=o.background;function c(t){if(i(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*/),a=\\\"a\\\"===e.charAt(3)&&4===n.length;if(!a&&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 a?\\\"rgba(\\\"+s+\\\", \\\"+n[3]+\\\")\\\":\\\"rgb(\\\"+s+\\\")\\\"}a.tinyRGB=function(t){var e=t.toRgb();return\\\"rgb(\\\"+Math.round(e.r)+\\\", \\\"+Math.round(e.g)+\\\", \\\"+Math.round(e.b)+\\\")\\\"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return\\\"rgba(\\\"+Math.round(r.r)+\\\", \\\"+Math.round(r.g)+\\\", \\\"+Math.round(r.b)+\\\", \\\"+e+\\\")\\\"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),\\\"stroke-opacity\\\":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),\\\"fill-opacity\\\":r.getAlpha()})},a.clean=function(t){if(t&&\\\"object\\\"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e<o.length;e++)if(i=t[n=o[e]],\\\"color\\\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if(\\\"colorscale\\\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var s=i[0];if(!Array.isArray(s)&&s&&\\\"object\\\"==typeof s)for(r=0;r<i.length;r++)a.clean(i[r])}else i&&\\\"object\\\"==typeof i&&a.clean(i)}}},{\\\"./attributes\\\":473,\\\"fast-isnumeric\\\":196,tinycolor2:415}],475:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/layout_attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=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:a({},n.ticks,{dflt:\\\"\\\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:i({}),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:{valType:\\\"string\\\"},titlefont:i({}),titleside:{valType:\\\"enumerated\\\",values:[\\\"right\\\",\\\"top\\\",\\\"bottom\\\"],dflt:\\\"top\\\"}},\\\"colorbars\\\",\\\"from-root\\\")},{\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/font_attributes\\\":674}],476:[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\\\"}}},{}],477:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/tick_value_defaults\\\"),a=t(\\\"../../plots/cartesian/tick_mark_defaults\\\"),o=t(\\\"../../plots/cartesian/tick_label_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r){var l=e.colorbar={},c=t.colorbar||{};function u(t,e){return n.coerce(c,l,s,t,e)}u(\\\"thickness\\\",\\\"fraction\\\"===u(\\\"thicknessmode\\\")?30/(r.width-r.margin.l-r.margin.r):30),u(\\\"len\\\",\\\"fraction\\\"===u(\\\"lenmode\\\")?1:r.height-r.margin.t-r.margin.b),u(\\\"x\\\"),u(\\\"xanchor\\\"),u(\\\"xpad\\\"),u(\\\"y\\\"),u(\\\"yanchor\\\"),u(\\\"ypad\\\"),n.noneOrAll(c,l,[\\\"x\\\",\\\"y\\\"]),u(\\\"outlinecolor\\\"),u(\\\"outlinewidth\\\"),u(\\\"bordercolor\\\"),u(\\\"borderwidth\\\"),u(\\\"bgcolor\\\"),i(c,l,u,\\\"linear\\\");var f={outerTicks:!1,font:r.font};o(c,l,u,\\\"linear\\\",f),a(c,l,u,\\\"linear\\\",f),u(\\\"title\\\",r._dfltTitle.colorbar),n.coerceFont(u,\\\"titlefont\\\",r.font),u(\\\"titleside\\\")}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/tick_label_defaults\\\":667,\\\"../../plots/cartesian/tick_mark_defaults\\\":668,\\\"../../plots/cartesian/tick_value_defaults\\\":669,\\\"./attributes\\\":475}],478:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../dragelement\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,f=t(\\\"../../lib/setcursor\\\"),h=t(\\\"../drawing\\\"),p=t(\\\"../color\\\"),d=t(\\\"../titles\\\"),g=t(\\\"../../lib/svg_text_utils\\\"),m=t(\\\"../../constants/alignment\\\").LINE_SPACING,v=t(\\\"../../plots/cartesian/axis_defaults\\\"),y=t(\\\"../../plots/cartesian/position_defaults\\\"),x=t(\\\"../../plots/cartesian/layout_attributes\\\"),b=t(\\\"./attributes\\\"),_=t(\\\"./constants\\\").cn;e.exports=function(t,e){var r={};function w(){var b=t._fullLayout,M=b._size;if(\\\"function\\\"==typeof r.fillcolor||\\\"function\\\"==typeof r.line.color){var A,T,S=n.extent((\\\"function\\\"==typeof r.fillcolor?r.fillcolor:r.line.color).domain()),C=[],E=[],L=\\\"function\\\"==typeof r.line.color?r.line.color:function(){return r.line.color},z=\\\"function\\\"==typeof r.fillcolor?r.fillcolor:function(){return r.fillcolor},P=r.levels.end+r.levels.size/100,D=r.levels.size,O=1.001*S[0]-.001*S[1],I=1.001*S[1]-.001*S[0];for(T=0;T<1e5&&(A=r.levels.start+T*D,!(D>0?A>=P:A<=P));T++)A>O&&A<I&&C.push(A);if(\\\"function\\\"==typeof r.fillcolor)if(r.filllevels)for(P=r.filllevels.end+r.filllevels.size/100,D=r.filllevels.size,T=0;T<1e5&&(A=r.filllevels.start+T*D,!(D>0?A>=P:A<=P));T++)A>S[0]&&A<S[1]&&E.push(A);else(E=C.map(function(t){return t-r.levels.size/2})).push(E[E.length-1]+r.levels.size);else r.fillcolor&&\\\"string\\\"==typeof r.fillcolor&&(E=[0]);r.levels.size<0&&(C.reverse(),E.reverse());var R,B=b.height-b.margin.t-b.margin.b,F=b.width-b.margin.l-b.margin.r,N=Math.round(r.thickness*(\\\"fraction\\\"===r.thicknessmode?F:1)),j=N/M.w,V=Math.round(r.len*(\\\"fraction\\\"===r.lenmode?B:1)),U=V/M.h,q=r.xpad/M.w,H=(r.borderwidth+r.outlinewidth)/2,G=r.ypad/M.h,W=Math.round(r.x*M.w+r.xpad),Y=r.x-j*({middle:.5,right:1}[r.xanchor]||0),X=r.y+U*(({top:-.5,bottom:.5}[r.yanchor]||0)-.5),Z=Math.round(M.h*(1-X)),J=Z-V,K={type:\\\"linear\\\",range:S,tickmode:r.tickmode,nticks:r.nticks,tick0:r.tick0,dtick:r.dtick,tickvals:r.tickvals,ticktext:r.ticktext,ticks:r.ticks,ticklen:r.ticklen,tickwidth:r.tickwidth,tickcolor:r.tickcolor,showticklabels:r.showticklabels,tickfont:r.tickfont,tickangle:r.tickangle,tickformat:r.tickformat,exponentformat:r.exponentformat,separatethousands:r.separatethousands,showexponent:r.showexponent,showtickprefix:r.showtickprefix,tickprefix:r.tickprefix,showticksuffix:r.showticksuffix,ticksuffix:r.ticksuffix,title:r.title,titlefont:r.titlefont,showline:!0,anchor:\\\"free\\\",position:1},Q={type:\\\"linear\\\",_id:\\\"y\\\"+e},$={letter:\\\"y\\\",font:b.font,noHover:!0,calendar:b.calendar};if(v(K,Q,dt,$,b),y(K,Q,dt,$),Q.position=r.x+q+j,w.axis=Q,-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)&&(Q.titleside=r.titleside,Q.titlex=r.x+q,Q.titley=X+(\\\"top\\\"===r.titleside?U-G:G)),r.line.color&&\\\"auto\\\"===r.tickmode){Q.tickmode=\\\"linear\\\",Q.tick0=r.levels.start;var tt=r.levels.size,et=c.constrain((Z-J)/50,4,15)+1,rt=(S[1]-S[0])/((r.nticks||et)*tt);if(rt>1){var nt=Math.pow(10,Math.floor(Math.log(rt)/Math.LN10));tt*=nt*c.roundUp(rt/nt,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(Q.tick0=0)}Q.dtick=tt}Q.domain=[X+G,X+U-G],Q.setScale();var it=c.ensureSingle(b._infolayer,\\\"g\\\",e,function(t){t.classed(_.colorbar,!0).each(function(){var t=n.select(this);t.append(\\\"rect\\\").classed(_.cbbg,!0),t.append(\\\"g\\\").classed(_.cbfills,!0),t.append(\\\"g\\\").classed(_.cblines,!0),t.append(\\\"g\\\").classed(_.cbaxis,!0).classed(_.crisp,!0),t.append(\\\"g\\\").classed(_.cbtitleunshift,!0).append(\\\"g\\\").classed(_.cbtitle,!0),t.append(\\\"rect\\\").classed(_.cboutline,!0),t.select(\\\".cbtitle\\\").datum(0)})});it.attr(\\\"transform\\\",\\\"translate(\\\"+Math.round(M.l)+\\\",\\\"+Math.round(M.t)+\\\")\\\");var at=it.select(\\\".cbtitleunshift\\\").attr(\\\"transform\\\",\\\"translate(-\\\"+Math.round(M.l)+\\\",-\\\"+Math.round(M.t)+\\\")\\\");Q._axislayer=it.select(\\\".cbaxis\\\");var ot=0;if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)){var st,lt=M.l+(r.x+q)*M.w,ct=Q.titlefont.size;st=\\\"top\\\"===r.titleside?(1-(X+U-G))*M.h+M.t+3+.75*ct:(1-(X+G))*M.h+M.t-3-.25*ct,gt(Q._id+\\\"title\\\",{attributes:{x:lt,y:st,\\\"text-anchor\\\":\\\"start\\\"}})}var ut,ft,ht,pt=c.syncOrAsync([a.previousPromises,function(){if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)){var e=it.select(\\\".cbtitle\\\"),a=e.select(\\\"text\\\"),o=[-r.outlinewidth/2,r.outlinewidth/2],l=e.select(\\\".h\\\"+Q._id+\\\"title-math-group\\\").node(),u=15.6;if(a.node()&&(u=parseInt(a.node().style.fontSize,10)*m),l?(ot=h.bBox(l).height)>u&&(o[1]-=(ot-u)/2):a.node()&&!a.classed(_.jsPlaceholder)&&(ot=h.bBox(a.node()).height),ot){if(ot+=5,\\\"top\\\"===r.titleside)Q.domain[1]-=ot/M.h,o[1]*=-1;else{Q.domain[0]+=ot/M.h;var f=g.lineCount(a);o[1]+=(1-f)*u}e.attr(\\\"transform\\\",\\\"translate(\\\"+o+\\\")\\\"),Q.setScale()}}it.selectAll(\\\".cbfills,.cblines\\\").attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(M.h*(1-Q.domain[1]))+\\\")\\\"),Q._axislayer.attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(-M.t)+\\\")\\\");var p=it.select(\\\".cbfills\\\").selectAll(\\\"rect.cbfill\\\").data(E);p.enter().append(\\\"rect\\\").classed(_.cbfill,!0).style(\\\"stroke\\\",\\\"none\\\"),p.exit().remove(),p.each(function(t,e){var r=[0===e?S[0]:(E[e]+E[e-1])/2,e===E.length-1?S[1]:(E[e]+E[e+1])/2].map(Q.c2p).map(Math.round);e!==E.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=z(t).replace(\\\"e-\\\",\\\"\\\"),o=i(a).toHexString();n.select(this).attr({x:W,width:Math.max(N,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var d=it.select(\\\".cblines\\\").selectAll(\\\"path.cbline\\\").data(r.line.color&&r.line.width?C:[]);return d.enter().append(\\\"path\\\").classed(_.cbline,!0),d.exit().remove(),d.each(function(t){n.select(this).attr(\\\"d\\\",\\\"M\\\"+W+\\\",\\\"+(Math.round(Q.c2p(t))+r.line.width/2%1)+\\\"h\\\"+N).call(h.lineGroupStyle,r.line.width,L(t),r.line.dash)}),Q._axislayer.selectAll(\\\"g.\\\"+Q._id+\\\"tick,path\\\").remove(),Q._pos=W+N+(r.outlinewidth||0)/2-(\\\"outside\\\"===r.ticks?1:0),Q.side=\\\"right\\\",c.syncOrAsync([function(){return s.doTicks(t,Q,!0)},function(){if(-1===[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)){var e=Q.titlefont.size,i=Q._offset+Q._length/2,a=M.l+(Q.position||0)*M.w+(\\\"right\\\"===Q.side?10+e*(Q.showticklabels?1:.5):-10-e*(Q.showticklabels?.5:0));gt(\\\"h\\\"+Q._id+\\\"title\\\",{avoid:{selection:n.select(t).selectAll(\\\"g.\\\"+Q._id+\\\"tick\\\"),side:r.titleside,offsetLeft:M.l,offsetTop:0,maxShift:b.width},attributes:{x:a,y:i,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:\\\"-90\\\",offset:0}})}}])},a.previousPromises,function(){var n=N+r.outlinewidth/2+h.bBox(Q._axislayer.node()).width;if((R=at.select(\\\"text\\\")).node()&&!R.classed(_.jsPlaceholder)){var i,o=at.select(\\\".h\\\"+Q._id+\\\"title-math-group\\\").node();i=o&&-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)?h.bBox(o).width:h.bBox(at.node()).right-W-M.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=Z-J;it.select(\\\".cbbg\\\").attr({x:W-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:J-H,width:Math.max(s,2),height:Math.max(l+2*H,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({\\\"stroke-width\\\":r.borderwidth}),it.selectAll(\\\".cboutline\\\").attr({x:W,y:J+r.ypad+(\\\"top\\\"===r.titleside?ot:0),width:Math.max(N,2),height:Math.max(l-2*r.ypad-ot,2)}).call(p.stroke,r.outlinecolor).style({fill:\\\"None\\\",\\\"stroke-width\\\":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;it.attr(\\\"transform\\\",\\\"translate(\\\"+(M.l-c)+\\\",\\\"+M.t+\\\")\\\"),a.autoMargin(t,e,{x:r.x,y:r.y,l:s*({right:1,center:.5}[r.xanchor]||0),r:s*({left:1,center:.5}[r.xanchor]||0),t:l*({bottom:1,middle:.5}[r.yanchor]||0),b:l*({top:1,middle:.5}[r.yanchor]||0)})}],t);if(pt&&pt.then&&(t._promises||[]).push(pt),t._context.edits.colorbarPosition)l.init({element:it.node(),gd:t,prepFn:function(){ut=it.attr(\\\"transform\\\"),f(it)},moveFn:function(t,e){it.attr(\\\"transform\\\",ut+\\\" translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),ft=l.align(Y+t/M.w,j,0,1,r.xanchor),ht=l.align(X-e/M.h,U,0,1,r.yanchor);var n=l.getCursor(ft,ht,r.xanchor,r.yanchor);f(it,n)},doneFn:function(){f(it),void 0!==ft&&void 0!==ht&&o.call(\\\"restyle\\\",t,{\\\"colorbar.x\\\":ft,\\\"colorbar.y\\\":ht},k().index)}});return pt}function dt(t,e){return c.coerce(K,Q,x,t,e)}function gt(e,r){var n,i=k();n=o.traceIs(i,\\\"markerColorscale\\\")?\\\"marker.colorbar.title\\\":\\\"colorbar.title\\\";var a={propContainer:Q,propName:n,traceIndex:i.index,placeholder:b._dfltTitle.colorbar,containerGroup:it.select(\\\".cbtitle\\\")},s=\\\"h\\\"===e.charAt(0)?e.substr(1):\\\"h\\\"+e;it.selectAll(\\\".\\\"+s+\\\",.\\\"+s+\\\"-math-group\\\").remove(),d.draw(t,e,u(a,r||{}))}b._infolayer.selectAll(\\\"g.\\\"+e).remove()}function k(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}return Object.keys(b).forEach(function(t){r[t]=null}),r.fillcolor=null,r.line={color:null,width:null,dash:null},r.levels={start:null,end:null,size:null},r.filllevels=null,Object.keys(r).forEach(function(t){w[t]=function(e){return arguments.length?(r[t]=c.isPlainObject(r[t])?c.extendFlat(r[t],e):e,w):r[t]}}),w.options=function(t){return Object.keys(t).forEach(function(e){\\\"function\\\"==typeof w[e]&&w[e](t[e])}),w},w._opts=r,w}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/extend\\\":591,\\\"../../lib/setcursor\\\":622,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/cartesian/axis_defaults\\\":650,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/cartesian/position_defaults\\\":663,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"../titles\\\":567,\\\"./attributes\\\":475,\\\"./constants\\\":476,d3:130,tinycolor2:415}],479:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\\\"../../lib\\\":602}],480:[function(t,e,r){\\\"use strict\\\";e.exports={zauto:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},zmax:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},colorscale:{valType:\\\"colorscale\\\",editType:\\\"calc\\\",impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{colorscale:void 0}},reversescale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},showscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"}}},{}],481:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./scales\\\"),a=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,o){var s=t,l=t._input,c=t._fullInput,u=t.updateStyle;function f(e,n,i){void 0===i&&(i=n),u?u(t._input,r?r+\\\".\\\"+e:e,n):l[e]=n,s[e]=i,c&&t!==t._fullInput&&(u?u(t._fullInput,r?r+\\\".\\\"+e:e,i):c[e]=i)}r&&(s=n.nestedProperty(s,r).get(),l=n.nestedProperty(l,r).get(),c=n.nestedProperty(c,r).get()||{});var h=o+\\\"auto\\\",p=o+\\\"min\\\",d=o+\\\"max\\\",g=s[h],m=s[p],v=s[d],y=s.colorscale;!1===g&&void 0!==m||(m=n.aggNums(Math.min,null,e)),!1===g&&void 0!==v||(v=n.aggNums(Math.max,null,e)),m===v&&(m-=.5,v+=.5),f(p,m),f(d,v),f(h,!1!==g||void 0===m&&void 0===v),s.autocolorscale&&(f(\\\"colorscale\\\",y=m*v<0?i.RdBu:m>=0?i.Reds:i.Blues,s.reversescale?a(y):y),l.autocolorscale||f(\\\"autocolorscale\\\",!1))}},{\\\"../../lib\\\":602,\\\"./flip_scale\\\":486,\\\"./scales\\\":493}],482:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./attributes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;t(\\\"./scales.js\\\");e.exports=function(t,e,r){return{color:{valType:\\\"color\\\",arrayOk:!0,editType:e||\\\"style\\\"},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{\\\"../../lib/extend\\\":591,\\\"./attributes\\\":480,\\\"./scales.js\\\":493}],483:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\");e.exports=n.RdBu},{\\\"./scales\\\":493}],484:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../colorbar/has_colorbar\\\"),o=t(\\\"../colorbar/defaults\\\"),s=t(\\\"./is_valid_scale\\\"),l=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,c,u){var f,h=u.prefix,p=u.cLetter,d=h.slice(0,h.length-1),g=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=g[p+\\\"min\\\"],y=g[p+\\\"max\\\"],x=g.colorscale;c(h+p+\\\"auto\\\",!(n(v)&&n(y)&&v<y)),c(h+p+\\\"min\\\"),c(h+p+\\\"max\\\"),void 0!==x&&(f=!s(x)),c(h+\\\"autocolorscale\\\",f);var b,_=c(h+\\\"colorscale\\\");(c(h+\\\"reversescale\\\")&&(m.colorscale=l(_)),\\\"marker.line.\\\"!==h)&&(h&&(b=a(g)),c(h+\\\"showscale\\\",b)&&o(g,m,r))}},{\\\"../../lib\\\":602,\\\"../colorbar/defaults\\\":477,\\\"../colorbar/has_colorbar\\\":479,\\\"./flip_scale\\\":486,\\\"./is_valid_scale\\\":490,\\\"fast-isnumeric\\\":196}],485:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],486:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],487:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./default_scale\\\"),a=t(\\\"./is_valid_scale_array\\\");e.exports=function(t,e){if(e||(e=i),!t)return e;function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return\\\"string\\\"==typeof t&&(r(),\\\"string\\\"==typeof t&&r()),a(t)?t:e}},{\\\"./default_scale\\\":483,\\\"./is_valid_scale_array\\\":491,\\\"./scales\\\":493}],488:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./is_valid_scale\\\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(i.isArrayOrTypedArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||!0===r.showscale||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\\\"../../lib\\\":602,\\\"./is_valid_scale\\\":490,\\\"fast-isnumeric\\\":196}],489:[function(t,e,r){\\\"use strict\\\";r.scales=t(\\\"./scales\\\"),r.defaultScale=t(\\\"./default_scale\\\"),r.attributes=t(\\\"./attributes\\\"),r.handleDefaults=t(\\\"./defaults\\\"),r.calc=t(\\\"./calc\\\"),r.hasColorscale=t(\\\"./has_colorscale\\\"),r.isValidScale=t(\\\"./is_valid_scale\\\"),r.getScale=t(\\\"./get_scale\\\"),r.flipScale=t(\\\"./flip_scale\\\"),r.extractScale=t(\\\"./extract_scale\\\"),r.makeColorScaleFunc=t(\\\"./make_color_scale_func\\\")},{\\\"./attributes\\\":480,\\\"./calc\\\":481,\\\"./default_scale\\\":483,\\\"./defaults\\\":484,\\\"./extract_scale\\\":485,\\\"./flip_scale\\\":486,\\\"./get_scale\\\":487,\\\"./has_colorscale\\\":488,\\\"./is_valid_scale\\\":490,\\\"./make_color_scale_func\\\":492,\\\"./scales\\\":493}],490:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./is_valid_scale_array\\\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\\\"./is_valid_scale_array\\\":491,\\\"./scales\\\":493}],491:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\");e.exports=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 i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:415}],492:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../color\\\");function s(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f<c;f++){var h=i(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var p,d=n.scale.linear().domain(r).range(u).clamp(!0),g=e.noNumericCheck,m=e.returnArray;return(p=g&&m?d:g?function(t){return s(d(t))}:m?function(t){return a(t)?d(t):i(t).isValid()?t:o.defaultLine}:function(t){return a(t)?s(d(t)):i(t).isValid()?t:o.defaultLine}).domain=d.domain,p.range=function(){return l},p}},{\\\"../color\\\":474,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],493:[function(t,e,r){\\\"use strict\\\";e.exports={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)\\\"]]}},{}],494:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\\\"left\\\"===i||\\\"bottom\\\"===i?a:\\\"center\\\"===i||\\\"middle\\\"===i?s:\\\"right\\\"===i||\\\"top\\\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],495:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=[[\\\"sw-resize\\\",\\\"s-resize\\\",\\\"se-resize\\\"],[\\\"w-resize\\\",\\\"move\\\",\\\"e-resize\\\"],[\\\"nw-resize\\\",\\\"n-resize\\\",\\\"ne-resize\\\"]];e.exports=function(t,e,r,a){return t=\\\"left\\\"===r?0:\\\"center\\\"===r?1:\\\"right\\\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\\\"bottom\\\"===a?0:\\\"middle\\\"===a?1:\\\"top\\\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\\\"../../lib\\\":602}],496:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mouse-event-offset\\\"),i=t(\\\"has-hover\\\"),a=t(\\\"has-passive-events\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/cartesian/constants\\\"),c=t(\\\"../../constants/interactions\\\"),u=e.exports={};u.align=t(\\\"./align\\\"),u.getCursor=t(\\\"./cursor\\\");var f=t(\\\"./unhover\\\");function h(){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 p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,m,v,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents=\\\"all\\\",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener(\\\"touchstart\\\",_._ontouchstart),_._ontouchstart=k,_.addEventListener(\\\"touchstart\\\",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function k(a){a.preventDefault(),y._dragged=!1,y._dragging=!0;var o=p(a);e=o[0],r=o[1],m=a.target,g=a,v=2===a.buttons||a.ctrlKey,(n=(new Date).getTime())-y._mouseDownTime<b?x+=1:(x=1,y._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!v?(d=h()).style.cursor=window.getComputedStyle(_).cursor:i||(d=document,f=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(_).cursor),document.addEventListener(\\\"mousemove\\\",M),document.addEventListener(\\\"mouseup\\\",A),document.addEventListener(\\\"touchmove\\\",M),document.addEventListener(\\\"touchend\\\",A)}function M(n){n.preventDefault();var i=p(n),a=t.minDrag||l.MINDRAG,o=w(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(y._dragged=!0,u.unhover(y)),y._dragged&&t.moveFn&&!v&&t.moveFn(s,c)}function A(e){if(document.removeEventListener(\\\"mousemove\\\",M),document.removeEventListener(\\\"mouseup\\\",A),document.removeEventListener(\\\"touchmove\\\",M),document.removeEventListener(\\\"touchend\\\",A),e.preventDefault(),i?s.removeElement(d):f&&(d.documentElement.style.cursor=f,f=null),y._dragging){if(y._dragging=!1,(new Date).getTime()-y._mouseDownTime>b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(x,g),!v){var r;try{r=new MouseEvent(\\\"click\\\",e)}catch(t){var n=p(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)}m.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call(\\\"plot\\\",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../plots/cartesian/constants\\\":653,\\\"../../registry\\\":732,\\\"./align\\\":494,\\\"./cursor\\\":495,\\\"./unhover\\\":497,\\\"has-hover\\\":296,\\\"has-passive-events\\\":297,\\\"mouse-event-offset\\\":321}],497:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/events\\\"),i=t(\\\"../../lib/throttle\\\"),a=t(\\\"../../lib/get_graph_div\\\"),o=t(\\\"../fx/constants\\\"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=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&&i&&t.emit(\\\"plotly_unhover\\\",{event:e,points:i}))}},{\\\"../../lib/events\\\":590,\\\"../../lib/get_graph_div\\\":597,\\\"../../lib/throttle\\\":627,\\\"../fx/constants\\\":511}],498:[function(t,e,r){\\\"use strict\\\";r.dash={valType:\\\"string\\\",values:[\\\"solid\\\",\\\"dot\\\",\\\"dash\\\",\\\"longdash\\\",\\\"dashdot\\\",\\\"longdashdot\\\"],dflt:\\\"solid\\\",editType:\\\"style\\\"}},{}],499:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../color\\\"),l=t(\\\"../colorscale\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../lib/svg_text_utils\\\"),f=t(\\\"../../constants/xmlns_namespaces\\\"),h=t(\\\"../../constants/alignment\\\").LINE_SPACING,p=t(\\\"../../constants/interactions\\\").DESELECTDIM,d=t(\\\"../../traces/scatter/subtypes\\\"),g=t(\\\"../../traces/scatter/make_bubble_size_func\\\"),m=e.exports={};m.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)},m.setPosition=function(t,e,r){t.attr(\\\"x\\\",e).attr(\\\"y\\\",r)},m.setSize=function(t,e,r){t.attr(\\\"width\\\",e).attr(\\\"height\\\",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&(\\\"text\\\"===e.node().nodeName?e.attr(\\\"x\\\",a).attr(\\\"y\\\",o):e.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\",\\\"+o+\\\")\\\"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);m.translatePoint(t,i,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\\\"display\\\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\\\"none\\\")},m.hideOutsideRangePoints=function(t,e,r){if(e._hasClipOnAxisFalse){r=r||\\\".point,.textpoint\\\";var i=e.xaxis,a=e.yaxis;t.each(function(e){var o=e[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(r).each(function(t){m.hideOutsideRangePoint(t,n.select(this),i,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style(\\\"fill\\\",\\\"none\\\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||\\\"\\\";s.stroke(e,n||a.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,i){t.style(\\\"fill\\\",\\\"none\\\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||\\\"\\\";n.select(this).call(s.stroke,r||a.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({\\\"stroke-dasharray\\\":e,\\\"stroke-width\\\":r+\\\"px\\\"})},m.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},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style(\\\"stroke-width\\\",0).each(function(e){var r=n.select(this);try{r.call(s.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var v=t(\\\"./symbol_defs\\\");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(v).forEach(function(t){var e=v[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+\\\"-open\\\"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+\\\"-dot\\\",e.n+300,t+\\\"-open-dot\\\"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var y=m.symbolNames.length,x=\\\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\\\";function b(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?x:\\\"\\\")}m.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=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||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};m.gradient=function(t,e,r,i,o,l){var u=e._fullLayout._defs.select(\\\".gradients\\\").selectAll(\\\"#\\\"+r).data([i+o+l],c.identity);u.exit().remove(),u.enter().append(\\\"radial\\\"===i?\\\"radialGradient\\\":\\\"linearGradient\\\").each(function(){var t=n.select(this);\\\"horizontal\\\"===i?t.attr(_):\\\"vertical\\\"===i&&t.attr(w),t.attr(\\\"id\\\",r);var e=a(o),c=a(l);t.append(\\\"stop\\\").attr({offset:\\\"0%\\\",\\\"stop-color\\\":s.tinyRGB(c),\\\"stop-opacity\\\":c.getAlpha()}),t.append(\\\"stop\\\").attr({offset:\\\"100%\\\",\\\"stop-color\\\":s.tinyRGB(e),\\\"stop-opacity\\\":e.getAlpha()})}),t.style({fill:\\\"url(#\\\"+r+\\\")\\\",\\\"fill-opacity\\\":null})},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,\\\"g\\\",\\\"gradients\\\").selectAll(\\\"linearGradient,radialGradient\\\").remove()},m.pointStyle=function(t,e,r){if(t.size()){var i=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,i,r)})}},m.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style(\\\"opacity\\\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l=\\\"various\\\"===t.ms||\\\"various\\\"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr(\\\"d\\\",b(u,l))}var f,h,p,d=!1;if(t.so?(p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor):(p=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,h=\\\"mlc\\\"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f=\\\"mc\\\"in t?t.mcc=n.markerScale(t.mc):a.color||\\\"rgba(0,0,0,0)\\\",n.selectedColorFn&&(f=n.selectedColorFn(t))),t.om)e.call(s.stroke,f).style({\\\"stroke-width\\\":(p||1)+\\\"px\\\",fill:\\\"none\\\"});else{e.style(\\\"stroke-width\\\",p+\\\"px\\\");var g=a.gradient,v=t.mgt;if(v?d=!0:v=g&&g.type,v&&\\\"none\\\"!==v){var y=t.mgc;y?d=!0:y=g.color;var x=\\\"g\\\"+i._fullLayout._uid+\\\"-\\\"+r.uid;d&&(x+=\\\"-\\\"+t.i),e.call(m.gradient,i,x,v,f,y)}else e.call(s.fill,f);p&&e.call(s.stroke,h)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,\\\"\\\"),e.lineScale=m.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,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.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},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.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},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push(function(t,e){t.style(\\\"opacity\\\",r.selectedOpacityFn(e))}),r.selectedColorFn&&a.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&a.push(function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr(\\\"d\\\",b(m.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&c.isArrayOrTypedArray(i)?l.makeColorScaleFunc(l.extractScale(n,r.cmin,r.cmax)):c.identity};var k={start:1,end:-1,middle:0,bottom:1,top:-1};function M(t,e,r,i){var a=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=i?i/.8+1:0,c=(u.lineCount(t)-1)*h+1,f=k[s]*l,p=.75*r+k[o]*l+(k[o]-1)*c*r/2;t.attr(\\\"text-anchor\\\",s),a.attr(\\\"transform\\\",\\\"translate(\\\"+f+\\\",\\\"+p+\\\")\\\")}function A(t,e){var r=t.ts||e.textfont.size;return i(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=m.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,\\\"tx\\\",\\\"text\\\");if(o){var s=t.tp||e.textposition,l=A(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(m.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(M,s,l,t.mrc)}else a.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=A(t,e);s.fill(i,a),M(i,o,l,t.mrc2||t.mrc)})}};var T=.5;function S(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,T/2),u=Math.pow(s*s+l*l,T/2),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\");var r,n=\\\"M\\\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(S(t[r-1],t[r],t[r+1],e));for(n+=\\\"Q\\\"+i[0][0]+\\\" \\\"+t[1],r=2;r<t.length-1;r++)n+=\\\"C\\\"+i[r-2][1]+\\\" \\\"+i[r-1][0]+\\\" \\\"+t[r];return n+=\\\"Q\\\"+i[t.length-3][1]+\\\" \\\"+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\")+\\\"Z\\\";var r,n=\\\"M\\\"+t[0],i=t.length-1,a=[S(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(S(t[r-1],t[r],t[r+1],e));for(a.push(S(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\\\"C\\\"+a[r-1][1]+\\\" \\\"+a[r][0]+\\\" \\\"+t[r];return n+=\\\"C\\\"+a[i][1]+\\\" \\\"+a[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)}},E=function(t,e){return\\\"L\\\"+n.round(e[0],2)+\\\",\\\"+n.round(e[1],2)};m.steps=function(t){var e=C[t]||E;return function(t){for(var r=\\\"M\\\"+n.round(t[0][0],2)+\\\",\\\"+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select(\\\"body\\\"),\\\"svg\\\",\\\"js-plotly-tester\\\",function(t){t.attr(f.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\\\"})});m.tester=t,m.testref=e},m.savedBBoxes={};var L=0;function z(t){var e=t.getAttribute(\\\"data-unformatted\\\");if(null!==e)return e+t.getAttribute(\\\"data-math\\\")+t.getAttribute(\\\"text-anchor\\\")+t.getAttribute(\\\"style\\\")}m.bBox=function(t,e,r){var i,a,o;if(r||(r=z(t)),r){if(i=m.savedBBoxes[r])return c.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=z(s)){var l=+s.getAttribute(\\\"x\\\")||0,f=+s.getAttribute(\\\"y\\\")||0,h=s.getAttribute(\\\"transform\\\");if(!h){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),f&&(p.top+=f,p.bottom+=f),p}if(r+=\\\"~\\\"+l+\\\"~\\\"+f+\\\"~\\\"+h,i=m.savedBBoxes[r])return c.extendFlat({},i)}}e?a=t:(o=m.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),n.select(a).attr(\\\"transform\\\",null).call(u.positionText,0,0);var d=a.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(a);var v={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 L>=1e4&&(m.savedBBoxes={},L=0),r&&(m.savedBBoxes[r]=v),L++,c.extendFlat({},v)},m.setClipUrl=function(t,e){if(e){if(void 0===m.baseUrl){var r=n.select(\\\"base\\\");r.size()&&r.attr(\\\"href\\\")?m.baseUrl=window.location.href.split(\\\"#\\\")[0]:m.baseUrl=\\\"\\\"}t.attr(\\\"clip-path\\\",\\\"url(\\\"+m.baseUrl+\\\"#\\\"+e+\\\")\\\")}else t.attr(\\\"clip-path\\\",null)},m.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}},m.setTranslate=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||0,r=r||0,a=a.replace(/(\\\\btranslate\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" translate(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},m.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}},m.setScale=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||1,r=r||1,a=a.replace(/(\\\\bscale\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" scale(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},m.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\\\"\\\":\\\" scale(\\\"+e+\\\",\\\"+r+\\\")\\\",a=/\\\\s*sc.*/,t.each(function(){n=(this.getAttribute(\\\"transform\\\")||\\\"\\\").replace(a,\\\"\\\"),n=(n+=i).trim(),this.setAttribute(\\\"transform\\\",n)}),i};var P=/translate\\\\([^)]*\\\\)\\\\s*$/;m.setTextPointsScale=function(t,e,r){t.each(function(){var t,i=n.select(this),a=i.select(\\\"text\\\");if(a.node()){var o=parseFloat(a.attr(\\\"x\\\")||0),s=parseFloat(a.attr(\\\"y\\\")||0),l=(i.attr(\\\"transform\\\")||\\\"\\\").match(P);t=1===e&&1===r?[]:[\\\"translate(\\\"+o+\\\",\\\"+s+\\\")\\\",\\\"scale(\\\"+e+\\\",\\\"+r+\\\")\\\",\\\"translate(\\\"+-o+\\\",\\\"+-s+\\\")\\\"],l&&t.push(l),i.attr(\\\"transform\\\",t.join(\\\" \\\"))}})}},{\\\"../../constants/alignment\\\":574,\\\"../../constants/interactions\\\":578,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../registry\\\":732,\\\"../../traces/scatter/make_bubble_size_func\\\":943,\\\"../../traces/scatter/subtypes\\\":948,\\\"../color\\\":474,\\\"../colorscale\\\":489,\\\"./symbol_defs\\\":500,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],500:[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,i=\\\"l\\\"+e+\\\",-\\\"+e,a=\\\"l-\\\"+e+\\\",-\\\"+e,o=\\\"l-\\\"+e+\\\",\\\"+e;return\\\"M0,\\\"+e+r+i+a+i+a+o+a+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),i=n.round(-t,2),a=n.round(-.309*t,2);return\\\"M\\\"+e+\\\",\\\"+a+\\\"L\\\"+r+\\\",\\\"+n.round(.809*t,2)+\\\"H-\\\"+r+\\\"L-\\\"+e+\\\",\\\"+a+\\\"L0,\\\"+i+\\\"Z\\\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M\\\"+i+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L0,\\\"+e+\\\"L-\\\"+i+\\\",\\\"+r+\\\"V-\\\"+r+\\\"L0,-\\\"+e+\\\"Z\\\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M-\\\"+r+\\\",\\\"+i+\\\"H\\\"+r+\\\"L\\\"+e+\\\",0L\\\"+r+\\\",-\\\"+i+\\\"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),i=n.round(.951*e,2),a=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\\\"+i+\\\"L\\\"+a+\\\",\\\"+c+\\\"L\\\"+o+\\\",\\\"+u+\\\"L0,\\\"+n.round(.382*e,2)+\\\"L-\\\"+o+\\\",\\\"+u+\\\"L-\\\"+a+\\\",\\\"+c+\\\"L-\\\"+i+\\\",\\\"+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),i=n.round(.76*t,2);return\\\"M-\\\"+i+\\\",0l-\\\"+r+\\\",-\\\"+e+\\\"h\\\"+i+\\\"l\\\"+r+\\\",-\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h-\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l-\\\"+r+\\\",-\\\"+e+\\\"h-\\\"+i+\\\"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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",\\\"+r+o+e+\\\",\\\"+r+o+\\\"0,-\\\"+i+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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M\\\"+e+\\\",-\\\"+r+o+\\\"-\\\"+e+\\\",-\\\"+r+o+\\\"0,\\\"+i+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",-\\\"+e+i+\\\"-\\\"+e+\\\",\\\"+e+i+e+\\\",\\\"+e+i+e+\\\",-\\\"+e+i+\\\"-\\\"+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",0\\\"+i+\\\"0,\\\"+e+i+e+\\\",0\\\"+i+\\\"0,-\\\"+e+i+\\\"-\\\"+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),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",\\\"+i+\\\"L0,0M\\\"+e+\\\",\\\"+i+\\\"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),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",-\\\"+i+\\\"L0,0M\\\"+e+\\\",-\\\"+i+\\\"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),i=n.round(.8*t,2);return\\\"M\\\"+i+\\\",\\\"+e+\\\"L0,0M\\\"+i+\\\",-\\\"+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),i=n.round(.8*t,2);return\\\"M-\\\"+i+\\\",\\\"+e+\\\"L0,0M-\\\"+i+\\\",-\\\"+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:130}],501:[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\\\"}}}},{}],502:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"./compute_error\\\");function s(t,e,r,i){var s=e[\\\"error_\\\"+i]||{},l=[];if(s.visible&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(r.type)){for(var c=o(s),u=0;u<t.length;u++){var f=t[u],h=f[i];if(n(r.c2l(h))){var p=c(h,u);if(n(p[0])&&n(p[1])){var d=f[i+\\\"s\\\"]=h-p[0],g=f[i+\\\"h\\\"]=h+p[1];l.push(d,g)}}}a.expand(r,l,{padded:!0})}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(i.traceIs(o,\\\"errorBarsOK\\\")){var l=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);s(n,o,l,\\\"x\\\"),s(n,o,c,\\\"y\\\")}}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./compute_error\\\":503,\\\"fast-isnumeric\\\":196}],503:[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 i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[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)]}}},{}],504:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){var l=\\\"error_\\\"+s.axis,c=e[l]={},u=t[l]||{};function f(t,e){return a.coerce(u,c,o,t,e)}if(!1!==f(\\\"visible\\\",void 0!==u.array||void 0!==u.value||\\\"sqrt\\\"===u.type)){var h=f(\\\"type\\\",\\\"array\\\"in u?\\\"data\\\":\\\"percent\\\"),p=!0;\\\"sqrt\\\"!==h&&(p=f(\\\"symmetric\\\",!((\\\"data\\\"===h?\\\"arrayminus\\\":\\\"valueminus\\\")in u))),\\\"data\\\"===h?(f(\\\"array\\\"),f(\\\"traceref\\\"),p||(f(\\\"arrayminus\\\"),f(\\\"tracerefminus\\\"))):\\\"percent\\\"!==h&&\\\"constant\\\"!==h||(f(\\\"value\\\"),p||f(\\\"valueminus\\\"));var d=\\\"copy_\\\"+s.inherit+\\\"style\\\";if(s.inherit)(e[\\\"error_\\\"+s.inherit]||{}).visible&&f(d,!(u.color||n(u.thickness)||n(u.width)));s.inherit&&c[d]||(f(\\\"color\\\",r),f(\\\"thickness\\\"),f(\\\"width\\\",i.traceIs(e,\\\"gl3d\\\")?0:4))}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":501,\\\"fast-isnumeric\\\":196}],505:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plot_api/edit_types\\\").overrideAll,a=t(\\\"./attributes\\\"),o=t(\\\"./calc\\\"),s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete s.error_x.copy_zstyle,delete s.error_y.copy_zstyle,delete s.error_y.copy_ystyle;var l={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete l.error_x.copy_ystyle,delete l.error_y.copy_ystyle,delete l.error_z.copy_ystyle,delete l.error_z.copy_zstyle,e.exports={moduleType:\\\"component\\\",name:\\\"errorbars\\\",schema:{traces:{scatter:s,bar:s,histogram:s,scatter3d:i(l,\\\"calc\\\",\\\"nested\\\"),scattergl:i(s,\\\"calc\\\",\\\"nested\\\")}},supplyDefaults:t(\\\"./defaults\\\"),calc:o,calcFromTrace:function(t,e){for(var r=t.x||[],n=t.y||[],i=r.length||n.length,a=new Array(i),s=0;s<i;s++)a[s]={x:r[s],y:n[s]};return a[0].trace=t,o({calcdata:[a],_fullLayout:e}),a},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\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"./attributes\\\":501,\\\"./calc\\\":502,\\\"./defaults\\\":504,\\\"./plot\\\":506,\\\"./style\\\":507}],506:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../drawing\\\"),o=t(\\\"../../traces/scatter/subtypes\\\");e.exports=function(t,e,r){var s=e.xaxis,l=e.yaxis,c=r&&r.duration>0;t.each(function(t){var u,f=t[0].trace,h=f.error_x||{},p=f.error_y||{};f.ids&&(u=function(t){return t.id});var d=o.hasMarkers(f)&&f.marker.maxdisplayed>0;p.visible||h.visible||(t=[]);var g=n.select(this).selectAll(\\\"g.errorbar\\\").data(t,u);if(g.exit().remove(),t.length){h.visible||g.selectAll(\\\"path.xerror\\\").remove(),p.visible||g.selectAll(\\\"path.yerror\\\").remove(),g.style(\\\"opacity\\\",1);var m=g.enter().append(\\\"g\\\").classed(\\\"errorbar\\\",!0);c&&m.style(\\\"opacity\\\",0).transition().duration(r.duration).style(\\\"opacity\\\",1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=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),i(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),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,l);if(!d||t.vis){var o,u=e.select(\\\"path.yerror\\\");if(p.visible&&i(a.x)&&i(a.yh)&&i(a.ys)){var f=p.width;o=\\\"M\\\"+(a.x-f)+\\\",\\\"+a.yh+\\\"h\\\"+2*f+\\\"m-\\\"+f+\\\",0V\\\"+a.ys,a.noYS||(o+=\\\"m-\\\"+f+\\\",0h\\\"+2*f),!u.size()?u=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"yerror\\\",!0):c&&(u=u.transition().duration(r.duration).ease(r.easing)),u.attr(\\\"d\\\",o)}else u.remove();var g=e.select(\\\"path.xerror\\\");if(h.visible&&i(a.y)&&i(a.xh)&&i(a.xs)){var m=(h.copy_ystyle?p:h).width;o=\\\"M\\\"+a.xh+\\\",\\\"+(a.y-m)+\\\"v\\\"+2*m+\\\"m0,-\\\"+m+\\\"H\\\"+a.xs,a.noXS||(o+=\\\"m0,-\\\"+m+\\\"v\\\"+2*m),!g.size()?g=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"xerror\\\",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr(\\\"d\\\",o)}else g.remove()}})}})}},{\\\"../../traces/scatter/subtypes\\\":948,\\\"../drawing\\\":499,d3:130,\\\"fast-isnumeric\\\":196}],507:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../color\\\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\\\"path.yerror\\\").style(\\\"stroke-width\\\",r.thickness+\\\"px\\\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\\\"path.xerror\\\").style(\\\"stroke-width\\\",a.thickness+\\\"px\\\").call(i.stroke,a.color)})}},{\\\"../color\\\":474,d3:130}],508:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\");e.exports={hoverlabel:{bgcolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},bordercolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},font:n({arrayOk:!0,editType:\\\"none\\\"}),namelength:{valType:\\\"integer\\\",min:-1,arrayOk:!0,editType:\\\"none\\\"},editType:\\\"calc\\\"}}},{\\\"../../plots/font_attributes\\\":674}],509:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(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(!i.traceIs(c,\\\"pie\\\")){var u=i.traceIs(c,\\\"2dMap\\\")?a:n.fillArray;u(c.hoverinfo,l,\\\"hi\\\",o(c)),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\\\"))}}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],510:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./hover\\\").hover;e.exports=function(t,e,r){var a=n.getComponentMethod(\\\"annotations\\\",\\\"onClick\\\")(t,t._hoverdata);function o(){t.emit(\\\"plotly_click\\\",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\\\"../../registry\\\":732,\\\"./hover\\\":514}],511:[function(t,e,r){\\\"use strict\\\";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\\\"Arial, sans-serif\\\",HOVERMINTIME:50,HOVERID:\\\"-hover\\\"}},{}],512:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./hoverlabel_defaults\\\");e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{\\\"../../lib\\\":602,\\\"./attributes\\\":508,\\\"./hoverlabel_defaults\\\":515}],513:[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||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[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,i){return\\\"closest\\\"===t?i||r.quadrature(e,n):\\\"x\\\"===t?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 i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}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),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i=\\\"index\\\"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):(\\\"xVal\\\"in t?a.x=t.xVal:\\\"x\\\"in t&&(a.x=t.x),\\\"yVal\\\"in t?a.y=t.yVal:\\\"y\\\"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(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 i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:\\\"id\\\",locations:\\\"location\\\",labels:\\\"label\\\",values:\\\"value\\\",\\\"marker.colors\\\":\\\"color\\\"};function a(t){return i[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]}},{\\\"../../lib\\\":602}],514:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../lib/events\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../lib/override_cursor\\\"),u=t(\\\"../drawing\\\"),f=t(\\\"../color\\\"),h=t(\\\"../dragelement\\\"),p=t(\\\"../../plots/cartesian/axes\\\"),d=t(\\\"../../registry\\\"),g=t(\\\"./helpers\\\"),m=t(\\\"./constants\\\"),v=m.YANGLE,y=Math.PI*v/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=m.HOVERARROWSIZE,k=m.HOVERTEXTPAD;function M(t,e,r){var i=e.hovermode,a=e.rotateLabels,s=e.bgColor,c=e.container,h=e.outerContainer,p=e.commonLabelOpts||{},d=e.fontFamily||m.HOVERFONT,g=e.fontSize||m.HOVERFONTSIZE,y=t[0],x=y.xa,b=y.ya,_=\\\"y\\\"===i?\\\"yLabel\\\":\\\"xLabel\\\",M=y[_],A=(String(M)||\\\"\\\").split(\\\" \\\")[0],T=h.node().getBoundingClientRect(),S=T.top,C=T.width,E=T.height,L=void 0!==M&&y.distance<=e.hoverdistance&&(\\\"x\\\"===i||\\\"y\\\"===i);if(L){var z,P,D=!0;for(z=0;z<t.length;z++){D&&void 0===t[z].zLabel&&(D=!1),P=t[z].hoverinfo||t[z].trace.hoverinfo;var O=Array.isArray(P)?P:P.split(\\\"+\\\");if(-1===O.indexOf(\\\"all\\\")&&-1===O.indexOf(i)){L=!1;break}}D&&(L=!1)}var I=c.selectAll(\\\"g.axistext\\\").data(L?[0]:[]);I.enter().append(\\\"g\\\").classed(\\\"axistext\\\",!0),I.exit().remove(),I.each(function(){var e=n.select(this),a=o.ensureSingle(e,\\\"path\\\",\\\"\\\",function(t){t.style({\\\"stroke-width\\\":\\\"1px\\\"})}),s=o.ensureSingle(e,\\\"text\\\",\\\"\\\",function(t){t.attr(\\\"data-notex\\\",1)}),c=p.bgcolor||f.defaultLine,h=p.bordercolor||f.contrast(c);a.style({fill:c,stroke:h}),s.text(M).call(u.font,p.font.family||d,p.font.size||g,p.font.color||f.background).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr(\\\"transform\\\",\\\"\\\");var m=s.node().getBoundingClientRect();if(\\\"x\\\"===i){s.attr(\\\"text-anchor\\\",\\\"middle\\\").call(l.positionText,0,\\\"top\\\"===x.side?S-m.bottom-w-k:S-m.top+w+k);var v=\\\"top\\\"===x.side?\\\"-\\\":\\\"\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+w+\\\",\\\"+v+w+\\\"H\\\"+(k+m.width/2)+\\\"v\\\"+v+(2*k+m.height)+\\\"H-\\\"+(k+m.width/2)+\\\"V\\\"+v+w+\\\"H-\\\"+w+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(x._offset+(y.x0+y.x1)/2)+\\\",\\\"+(b._offset+(\\\"top\\\"===x.side?0:b._length))+\\\")\\\")}else{s.attr(\\\"text-anchor\\\",\\\"right\\\"===b.side?\\\"start\\\":\\\"end\\\").call(l.positionText,(\\\"right\\\"===b.side?1:-1)*(k+w),S-m.top-m.height/2);var T=\\\"right\\\"===b.side?\\\"\\\":\\\"-\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+T+w+\\\",\\\"+w+\\\"V\\\"+(k+m.height/2)+\\\"h\\\"+T+(2*k+m.width)+\\\"V-\\\"+(k+m.height/2)+\\\"H\\\"+T+w+\\\"V-\\\"+w+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(x._offset+(\\\"right\\\"===b.side?x._length:0))+\\\",\\\"+(b._offset+(y.y0+y.y1)/2)+\\\")\\\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[_]||\\\"\\\").split(\\\" \\\")[0]===A})});var R=c.selectAll(\\\"g.hovertext\\\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\\\"\\\"].join(\\\",\\\")});return R.enter().append(\\\"g\\\").classed(\\\"hovertext\\\",!0).each(function(){var t=n.select(this);t.append(\\\"rect\\\").call(f.fill,f.addOpacity(s,.8)),t.append(\\\"text\\\").classed(\\\"name\\\",!0),t.append(\\\"path\\\").style(\\\"stroke-width\\\",\\\"1px\\\"),t.append(\\\"text\\\").classed(\\\"nums\\\",!0).call(u.font,d,g)}),R.exit().remove(),R.each(function(t){var e=n.select(this).attr(\\\"transform\\\",\\\"\\\"),o=\\\"\\\",c=\\\"\\\",h=f.opacity(t.color)?t.color:f.defaultLine,p=f.combine(h,s),m=t.borderColor||f.contrast(p);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){o=l.plainText(t.name||\\\"\\\");var y=Math.round(t.nameLength);y>-1&&o.length>y&&(o=y>3?o.substr(0,y-3)+\\\"...\\\":o.substr(0,y))}void 0!==t.zLabel?(void 0!==t.xLabel&&(c+=\\\"x: \\\"+t.xLabel+\\\"<br>\\\"),void 0!==t.yLabel&&(c+=\\\"y: \\\"+t.yLabel+\\\"<br>\\\"),c+=(c?\\\"z: \\\":\\\"\\\")+t.zLabel):L&&t[i+\\\"Label\\\"]===M?c=t[(\\\"x\\\"===i?\\\"y\\\":\\\"x\\\")+\\\"Label\\\"]||\\\"\\\":void 0===t.xLabel?void 0!==t.yLabel&&(c=t.yLabel):c=void 0===t.yLabel?t.xLabel:\\\"(\\\"+t.xLabel+\\\", \\\"+t.yLabel+\\\")\\\",t.text&&!Array.isArray(t.text)&&(c+=(c?\\\"<br>\\\":\\\"\\\")+t.text),void 0!==t.extraText&&(c+=(c?\\\"<br>\\\":\\\"\\\")+t.extraText),\\\"\\\"===c&&(\\\"\\\"===o&&e.remove(),c=o);var x=e.select(\\\"text.nums\\\").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||m).text(c).attr(\\\"data-notex\\\",1).call(l.positionText,0,0).call(l.convertToTspans,r),b=e.select(\\\"text.name\\\"),_=0;o&&o!==c?(b.call(u.font,t.fontFamily||d,t.fontSize||g,p).text(o).attr(\\\"data-notex\\\",1).call(l.positionText,0,0).call(l.convertToTspans,r),_=b.node().getBoundingClientRect().width+2*k):(b.remove(),e.select(\\\"rect\\\").remove()),e.select(\\\"path\\\").style({fill:p,stroke:m});var A,T,z=x.node().getBoundingClientRect(),P=t.xa._offset+(t.x0+t.x1)/2,D=t.ya._offset+(t.y0+t.y1)/2,O=Math.abs(t.x1-t.x0),I=Math.abs(t.y1-t.y0),R=z.width+w+k+_;t.ty0=S-z.top,t.bx=z.width+2*k,t.by=z.height+2*k,t.anchor=\\\"start\\\",t.txwidth=z.width,t.tx2width=_,t.offset=0,a?(t.pos=P,A=D+I/2+R<=E,T=D-I/2-R>=0,\\\"top\\\"!==t.idealAlign&&A||!T?A?(D+=I/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(D-=I/2,t.anchor=\\\"end\\\")):(t.pos=D,A=P+O/2+R<=C,T=P-O/2-R>=0,\\\"left\\\"!==t.idealAlign&&A||!T?A?(P+=O/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(P-=O/2,t.anchor=\\\"end\\\")),x.attr(\\\"text-anchor\\\",t.anchor),_&&b.attr(\\\"text-anchor\\\",t.anchor),e.attr(\\\"transform\\\",\\\"translate(\\\"+P+\\\",\\\"+D+\\\")\\\"+(a?\\\"rotate(\\\"+v+\\\")\\\":\\\"\\\"))}),R}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i=\\\"end\\\"===t.anchor?-1:1,a=r.select(\\\"text.nums\\\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;\\\"middle\\\"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select(\\\"path\\\").attr(\\\"d\\\",\\\"middle\\\"===t.anchor?\\\"M-\\\"+(t.bx/2+t.tx2width/2)+\\\",\\\"+(h-t.by/2)+\\\"h\\\"+t.bx+\\\"v\\\"+t.by+\\\"h-\\\"+t.bx+\\\"Z\\\":\\\"M0,0L\\\"+(i*w+f)+\\\",\\\"+(w+h)+\\\"v\\\"+(t.by/2-w)+\\\"h\\\"+i*t.bx+\\\"v-\\\"+t.by+\\\"H\\\"+(i*w+f)+\\\"V\\\"+(h-w)+\\\"Z\\\"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select(\\\"text.name\\\").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select(\\\"rect\\\").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function T(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,\\\"\\\",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l(\\\"hoverinfo\\\",\\\"hi\\\",\\\"hoverinfo\\\"),l(\\\"color\\\",\\\"hbg\\\",\\\"hoverlabel.bgcolor\\\"),l(\\\"borderColor\\\",\\\"hbc\\\",\\\"hoverlabel.bordercolor\\\"),l(\\\"fontFamily\\\",\\\"htf\\\",\\\"hoverlabel.font.family\\\"),l(\\\"fontSize\\\",\\\"hts\\\",\\\"hoverlabel.font.size\\\"),l(\\\"fontColor\\\",\\\"htc\\\",\\\"hoverlabel.font.color\\\"),l(\\\"nameLength\\\",\\\"hnl\\\",\\\"hoverlabel.namelength\\\"),t.posref=\\\"y\\\"===e?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 c=p.tickText(t.xa,t.xa.c2l(t.xerr),\\\"hover\\\").text;void 0!==t.xerrneg?t.xLabel+=\\\" +\\\"+c+\\\" / -\\\"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),\\\"hover\\\").text:t.xLabel+=\\\" \\\\xb1 \\\"+c,\\\"x\\\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\\\"log\\\"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),\\\"hover\\\").text;void 0!==t.yerrneg?t.yLabel+=\\\" +\\\"+u+\\\" / -\\\"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),\\\"hover\\\").text:t.yLabel+=\\\" \\\\xb1 \\\"+u,\\\"y\\\"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return\\\"all\\\"!==f&&(-1===(f=Array.isArray(f)?f:f.split(\\\"+\\\")).indexOf(\\\"x\\\")&&(t.xLabel=void 0),-1===f.indexOf(\\\"y\\\")&&(t.yLabel=void 0),-1===f.indexOf(\\\"z\\\")&&(t.zLabel=void 0),-1===f.indexOf(\\\"text\\\")&&(t.text=void 0),-1===f.indexOf(\\\"name\\\")&&(t.name=void 0)),t}function S(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(\\\".spikeline\\\").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,\\\"cursor\\\"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var m,v,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/2<p?w.right:w.left;-1===x.indexOf(\\\"toaxis\\\")&&-1===x.indexOf(\\\"across\\\")||(-1!==x.indexOf(\\\"toaxis\\\")&&(m=k,v=p),-1!==x.indexOf(\\\"across\\\")&&(m=n._counterSpan[0],v=n._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:m,x2:v,y1:d,y2:d,\\\"stroke-width\\\":b,stroke:_,\\\"stroke-dasharray\\\":u.dashStyle(n.spikedash,b)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:m,x2:v,y1:d,y2:d,\\\"stroke-width\\\":b+2,stroke:h}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==x.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:k+(\\\"right\\\"!==n.side?b:-b),cy:d,r:b,fill:_}).classed(\\\"spikeline\\\",!0)}if(c){var M,A,T=t.vLinePoint;r=T&&T.xa,n=T&&T.ya,\\\"cursor\\\"===r.spikesnap?(M=s.pointerX,A=s.pointerY):(M=r._offset+T.x,A=n._offset+T.y);var S,C,E=a.readability(T.color,h)<1.5?f.contrast(h):T.color,L=r.spikemode,z=r.spikethickness,P=r.spikecolor||E,D=r._boundingBox,O=(D.top+D.bottom)/2<A?D.bottom:D.top;-1===L.indexOf(\\\"toaxis\\\")&&-1===L.indexOf(\\\"across\\\")||(-1!==L.indexOf(\\\"toaxis\\\")&&(S=O,C=A),-1!==L.indexOf(\\\"across\\\")&&(S=r._counterSpan[0],C=r._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:M,x2:M,y1:S,y2:C,\\\"stroke-width\\\":z,stroke:P,\\\"stroke-dasharray\\\":u.dashStyle(r.spikedash,z)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:M,x2:M,y1:S,y2:C,\\\"stroke-width\\\":z+2,stroke:h}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==L.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:M,cy:O-(\\\"top\\\"!==r.side?z:-z),r:z,fill:P}).classed(\\\"spikeline\\\",!0)}}}function C(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}r.hover=function(t,e,r,a){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+m.HOVERID,m.HOVERMINTIME,function(){!function(t,e,r,a){r||(r=\\\"xy\\\");var l=Array.isArray(r)?r:[r],u=t._fullLayout,m=u._plots||[],v=m[r],y=u._has(\\\"cartesian\\\");if(v){var b=v.overlays.map(function(t){return t.id});l=l.concat(b)}for(var _=l.length,w=new Array(_),k=new Array(_),E=!1,L=0;L<_;L++){var z=l[L],P=m[z];if(P)E=!0,w[L]=p.getFromId(t,P.xaxis._id),k[L]=p.getFromId(t,P.yaxis._id);else{var D=u[z]._subplot;w[L]=D.xaxis,k[L]=D.yaxis}}var O=e.hovermode||u.hovermode;O&&!E&&(O=\\\"closest\\\");if(-1===[\\\"x\\\",\\\"y\\\",\\\"closest\\\"].indexOf(O)||!t.calcdata||t.querySelector(\\\".zoombox\\\")||t._dragging)return h.unhoverRaw(t,e);var I,R,B,F,N,j,V,U,q,H,G,W,Y,X=-1===u.hoverdistance?1/0:u.hoverdistance,Z=-1===u.spikedistance?1/0:u.spikedistance,J=[],K=[],Q={hLinePoint:null,vLinePoint:null};if(Array.isArray(e))for(O=\\\"array\\\",B=0;B<e.length;B++)\\\"skip\\\"!==(N=t.calcdata[e[B].curveNumber||0])[0].trace.hoverinfo&&K.push(N);else{for(F=0;F<t.calcdata.length;F++)N=t.calcdata[F],\\\"skip\\\"!==(j=N[0].trace).hoverinfo&&g.isTraceInSubplots(j,l)&&K.push(N);var $,tt,et=!e.target;if(et)$=\\\"xpx\\\"in e?e.xpx:w[0]._length/2,tt=\\\"ypx\\\"in e?e.ypx:k[0]._length/2;else{if(!1===s.triggerHandler(t,\\\"plotly_beforehover\\\",e))return;var rt=e.target.getBoundingClientRect();if($=e.clientX-rt.left,tt=e.clientY-rt.top,$<0||$>w[0]._length||tt<0||tt>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=$+w[0]._offset,e.pointerY=tt+k[0]._offset,I=\\\"xval\\\"in e?g.flat(l,e.xval):g.p2c(w,$),R=\\\"yval\\\"in e?g.flat(l,e.yval):g.p2c(k,tt),!i(I[0])||!i(R[0]))return o.warn(\\\"Fx.hover failed\\\",e,t),h.unhoverRaw(t,e)}var nt=1/0;for(F=0;F<K.length;F++)if((N=K[F])&&N[0]&&N[0].trace&&!0===N[0].trace.visible&&(j=N[0].trace,-1===[\\\"carpet\\\",\\\"contourcarpet\\\"].indexOf(j._module.name))){if(\\\"splom\\\"===j.type?V=l[U=0]:(V=g.getSubplot(j),U=l.indexOf(V)),q=O,W={cd:N,trace:j,xa:w[U],ya:k[U],maxHoverDistance:X,maxSpikeDistance:Z,index:!1,distance:Math.min(nt,X),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:f.defaultLine,name:j.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[V]&&(W.subplot=u[V]._subplot),Y=J.length,\\\"array\\\"===q){var it=e[F];\\\"pointNumber\\\"in it?(W.index=it.pointNumber,q=\\\"closest\\\"):(q=\\\"\\\",\\\"xval\\\"in it&&(H=it.xval,q=\\\"x\\\"),\\\"yval\\\"in it&&(G=it.yval,q=q?\\\"closest\\\":\\\"y\\\"))}else H=I[U],G=R[U];if(0!==X)if(j._module&&j._module.hoverPoints){var at=j._module.hoverPoints(W,H,G,q,u._hoverlayer);if(at)for(var ot,st=0;st<at.length;st++)ot=at[st],i(ot.x0)&&i(ot.y0)&&J.push(T(ot,O))}else o.log(\\\"Unrecognized trace type in hover:\\\",j);if(\\\"closest\\\"===O&&J.length>Y&&(J.splice(0,Y),nt=J[0].distance),y&&0!==Z&&0===J.length){W.distance=Z,W.index=!1;var lt=j._module.hoverPoints(W,H,G,\\\"closest\\\",u._hoverlayer);if(lt&&(lt=lt.filter(function(t){return t.spikeDistance<=Z})),lt&&lt.length){var ct,ut=lt.filter(function(t){return t.xa.showspikes});if(ut.length){var ft=ut[0];i(ft.x0)&&i(ft.y0)&&(ct=gt(ft),(!Q.vLinePoint||Q.vLinePoint.spikeDistance>ct.spikeDistance)&&(Q.vLinePoint=ct))}var ht=lt.filter(function(t){return t.ya.showspikes});if(ht.length){var pt=ht[0];i(pt.x0)&&i(pt.y0)&&(ct=gt(pt),(!Q.hLinePoint||Q.hLinePoint.spikeDistance>ct.spikeDistance)&&(Q.hLinePoint=ct))}}}}function dt(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function gt(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}var mt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},vt=t._spikepoints,yt={vLinePoint:Q.vLinePoint,hLinePoint:Q.hLinePoint};if(t._spikepoints=yt,y&&0!==Z&&0!==J.length){var xt=J.filter(function(t){return t.ya.showspikes}),bt=dt(xt,Z);Q.hLinePoint=gt(bt);var _t=J.filter(function(t){return t.xa.showspikes}),wt=dt(_t,Z);Q.vLinePoint=gt(wt)}if(0===J.length){var kt=h.unhoverRaw(t,e);return!y||null===Q.hLinePoint&&null===Q.vLinePoint||C(vt)&&S(Q,mt),kt}y&&C(vt)&&S(Q,mt);J.sort(function(t,e){return t.distance-e.distance});var Mt=t._hoverdata,At=[];for(B=0;B<J.length;B++){var Tt=J[B];At.push(g.makeEventData(Tt,Tt.trace,Tt.cd))}t._hoverdata=At;var St=\\\"y\\\"===O&&K.length>1,Ct=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Et={hovermode:O,rotateLabels:St,bgColor:Ct,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Lt=M(J,Et,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\\\"x\\\"===i._id.charAt(0)?x:1)/2,pmin:0,pmax:\\\"x\\\"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function h(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;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--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o<f.length-1;){var p=f[o],d=f[o+1],g=p[p.length-1],m=d[0];if((i=g.pos+g.dp+g.size-m.pos-m.dp+m.size)>.01&&g.pmin===m.pmin&&g.pmax===m.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),f.splice(o+1,1),c=0,s=p.length-1;s>=0;s--)c+=p[s].dp;for(a=c/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}f.forEach(h)}for(o=f.length-1;o>=0;o--){var v=f[o];for(s=v.length-1;s>=0;s--){var y=v[s],b=t[y.i];b.offset=y.dp,b.del=y.del}}}(J,St?\\\"xa\\\":\\\"ya\\\",u),A(Lt,St),e.target&&e.target.tagName){var zt=d.getComponentMethod(\\\"annotations\\\",\\\"hasClickToShow\\\")(t,At);c(n.select(e.target),zt?\\\"pointer\\\":\\\"\\\")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,Mt))return;Mt&&t.emit(\\\"plotly_unhover\\\",{event:e,points:Mt});t.emit(\\\"plotly_hover\\\",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:I,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.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,trace:{index:0,hoverinfo:\\\"\\\"},xa:{_offset:0},ya:{_offset:0},index:0},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:\\\"closest\\\",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return A(s,o.rotateLabels),s.node()}},{\\\"../../lib\\\":602,\\\"../../lib/events\\\":590,\\\"../../lib/override_cursor\\\":613,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"./constants\\\":511,\\\"./helpers\\\":513,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],515:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){r(\\\"hoverlabel.bgcolor\\\",(i=i||{}).bgcolor),r(\\\"hoverlabel.bordercolor\\\",i.bordercolor),r(\\\"hoverlabel.namelength\\\",i.namelength),n.coerceFont(r,\\\"hoverlabel.font\\\",i.font)}},{\\\"../../lib\\\":602}],516:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../dragelement\\\"),o=t(\\\"./helpers\\\"),s=t(\\\"./layout_attributes\\\");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 i.castOption(t,e,\\\"hoverlabel.\\\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\\\"hoverinfo\\\",function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(\\\"./hover\\\").hover,unhover:a.unhover,loneHover:t(\\\"./hover\\\").loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\\\"g.hovertext\\\").remove(),e.selectAll(\\\".spikeline\\\").remove()},click:t(\\\"./click\\\")}},{\\\"../../lib\\\":602,\\\"../dragelement\\\":496,\\\"./attributes\\\":508,\\\"./calc\\\":509,\\\"./click\\\":510,\\\"./constants\\\":511,\\\"./defaults\\\":512,\\\"./helpers\\\":513,\\\"./hover\\\":514,\\\"./layout_attributes\\\":517,\\\"./layout_defaults\\\":518,\\\"./layout_global_defaults\\\":519,d3:130}],517:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../plots/font_attributes\\\")({editType:\\\"none\\\"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:\\\"enumerated\\\",values:[\\\"zoom\\\",\\\"pan\\\",\\\"select\\\",\\\"lasso\\\",\\\"orbit\\\",\\\"turntable\\\"],dflt:\\\"zoom\\\",editType:\\\"modebar\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"closest\\\",!1],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:i,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\\\":674,\\\"./constants\\\":511}],518:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}var o;\\\"select\\\"===a(\\\"dragmode\\\")&&a(\\\"selectdirection\\\"),e._has(\\\"cartesian\\\")?(e._isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if(\\\"h\\\"!==n.orientation){e=!1;break}}return e}(r),o=e._isHoriz?\\\"y\\\":\\\"x\\\"):o=\\\"closest\\\",a(\\\"hovermode\\\",o)&&(a(\\\"hoverdistance\\\"),a(\\\"spikedistance\\\"));var s=e._has(\\\"mapbox\\\"),l=e._has(\\\"geo\\\"),c=e._basePlotModules.length;\\\"zoom\\\"===e.dragmode&&((s||l)&&1===c||s&&l&&2===c)&&(e.dragmode=\\\"pan\\\")}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":517}],519:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./hoverlabel_defaults\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{\\\"../../lib\\\":602,\\\"./hoverlabel_defaults\\\":515,\\\"./layout_attributes\\\":517}],520:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../lib/regex\\\").counter,a=t(\\\"../../plots/domain\\\").attributes,o=t(\\\"../../plots/cartesian/constants\\\").idRegex,s={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:[i(\\\"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:a({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 l(t,e,r){var n=e[r+\\\"axes\\\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+\\\"gap\\\",r),s=e(\\\"domain.\\\"+t);e(t+\\\"side\\\",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function u(t,e,r,n,i){var a,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(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:\\\"component\\\",name:\\\"grid\\\",schema:{layout:{grid:s}},layoutAttributes:s,sizeDefaults:function(t,e){var r=t.grid||{},i=l(e,r,\\\"x\\\"),a=l(e,r,\\\"y\\\");if(t.grid||i||a){var o,u,f=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),h=Array.isArray(i),p=Array.isArray(a),d=h&&i!==r.xaxes&&p&&a!==r.yaxes;f?(o=r.subplots.length,u=r.subplots[0].length):(p&&(o=a.length),h&&(u=i.length));var g=e.grid={},m=k(\\\"rows\\\",o),v=k(\\\"columns\\\",u);if(m*v>1){f||h||p||\\\"independent\\\"===k(\\\"pattern\\\")&&(f=!0),g._hasSubplotGrid=f;var y,x,b=\\\"top to bottom\\\"===k(\\\"roworder\\\"),_=f?.2:.1,w=f?.3:.1;d&&(y=\\\"bottom\\\",x=\\\"left\\\"),g._domains={x:c(\\\"x\\\",k,_,y,v),y:c(\\\"y\\\",k,w,x,m,b)}}}function k(t,e){return n.coerce(r,g,s,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,c,f,h=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=h.subplots||[];c=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=c[n]=new Array(m),w=x[n]||[];for(i=0;i<m;i++)if(v?(s=1===b?\\\"xy\\\":\\\"x\\\"+b+\\\"y\\\"+b,b++):s=w[i],_[i]=\\\"\\\",-1!==p.cartesian.indexOf(s)){if(f=s.indexOf(\\\"y\\\"),a=s.slice(0,f),o=s.slice(f),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var k=l(e,h,\\\"x\\\"),M=l(e,h,\\\"y\\\");r.xaxes=u(k,p.xaxis,m,y,\\\"x\\\"),r.yaxes=u(M,p.yaxis,g,y,\\\"y\\\")}var A=r._anchors={},T=\\\"top to bottom\\\"===r.roworder;for(var S in y){var C,E,L,z=S.charAt(0),P=r[z+\\\"side\\\"];if(P.length<8)A[S]=\\\"free\\\";else if(\\\"x\\\"===z){if(\\\"t\\\"===P.charAt(0)===T?(C=0,E=1,L=g):(C=g-1,E=-1,L=-1),d){var D=y[S];for(n=C;n!==L;n+=E)if((s=c[n][D])&&(f=s.indexOf(\\\"y\\\"),s.slice(0,f)===S)){A[S]=s.slice(f);break}}else for(n=C;n!==L;n+=E)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if(\\\"l\\\"===P.charAt(0)?(C=0,E=1,L=m):(C=m-1,E=-1,L=-1),d){var O=y[S];for(n=C;n!==L;n+=E)if((s=c[O][n])&&(f=s.indexOf(\\\"y\\\"),s.slice(f)===S)){A[S]=s.slice(0,f);break}}else for(n=C;n!==L;n+=E)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){A[S]=a;break}}}}}},{\\\"../../lib\\\":602,\\\"../../lib/regex\\\":618,\\\"../../plots/cartesian/constants\\\":653,\\\"../../plots/domain\\\":673}],521:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/constants\\\");e.exports={_isLinkedToArray:\\\"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\\\"}},{\\\"../../plots/cartesian/constants\\\":653}],522:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){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,f=e._id.charAt(0),h=0;h<u.length;h++)if(c=\\\"images[\\\"+h+\\\"].\\\",(l=u[h])[f+\\\"ref\\\"]===e._id){var p=l[f],d=l[\\\"size\\\"+f],g=null,m=null;if(o){g=i(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),a(c+f,g),a(c+\\\"size\\\"+f,m)}}},{\\\"../../lib/to_log_range\\\":628,\\\"fast-isnumeric\\\":196}],523:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../plots/array_container_defaults\\\"),o=t(\\\"./attributes\\\");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(!a(\\\"visible\\\",!!a(\\\"source\\\")))return e;a(\\\"layer\\\"),a(\\\"xanchor\\\"),a(\\\"yanchor\\\"),a(\\\"sizex\\\"),a(\\\"sizey\\\"),a(\\\"sizing\\\"),a(\\\"opacity\\\");for(var s={_fullLayout:r},l=[\\\"x\\\",\\\"y\\\"],c=0;c<2;c++){var u=l[c],f=i.coerceRef(t,e,s,u,\\\"paper\\\");i.coercePosition(e,s,a,f,u,0)}return e}e.exports=function(t,e){a(t,e,{name:\\\"images\\\",handleItemDefaults:s})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"../../plots/cartesian/axes\\\":648,\\\"./attributes\\\":521}],524:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../drawing\\\"),a=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 f=s.images[r];if(f.visible)if(\\\"below\\\"===f.layer&&\\\"paper\\\"!==f.xref&&\\\"paper\\\"!==f.yref){e=f.xref+f.yref;var h=s._plots[e];if(!h){u.push(f);continue}h.mainplot&&(e=h.mainplot.id),c[e]||(c[e]=[]),c[e].push(f)}else\\\"above\\\"===f.layer?l.push(f):u.push(f)}var p={x:{left:{sizing:\\\"xMin\\\",offset:0},center:{sizing:\\\"xMid\\\",offset:-.5},right:{sizing:\\\"xMax\\\",offset:-1}},y:{top:{sizing:\\\"YMin\\\",offset:0},middle:{sizing:\\\"YMid\\\",offset:-.5},bottom:{sizing:\\\"YMax\\\",offset:-1}}};function d(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\\\"xmlns\\\",o.svg);var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute(\\\"crossOrigin\\\",\\\"anonymous\\\"),n.onerror=i,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\\\",i),n.src=e.source}.bind(this));t._promises.push(i)}}function g(e){var r=n.select(this),o=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,f=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,h=u*p.x[e.xanchor].offset,d=f*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,m=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+h,v=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case\\\"fill\\\":g+=\\\" slice\\\";break;case\\\"stretch\\\":g=\\\"none\\\"}r.attr({x:m,y:v,width:u,height:f,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:\\\"\\\")+(l?l._id:\\\"\\\");r.call(i.setClipUrl,y?\\\"clip\\\"+s._uid+y:null)}var m=s._imageLowerLayer.selectAll(\\\"image\\\").data(u),v=s._imageUpperLayer.selectAll(\\\"image\\\").data(l);m.enter().append(\\\"image\\\"),v.enter().append(\\\"image\\\"),m.exit().remove(),v.exit().remove(),m.each(function(t){d.bind(this)(t),g.bind(this)(t)}),v.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll(\\\"image\\\").data(c[e]||[]);b.enter().append(\\\"image\\\"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../plots/cartesian/axes\\\":648,\\\"../drawing\\\":499,d3:130}],525:[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\\\":658,\\\"./attributes\\\":521,\\\"./convert_coords\\\":522,\\\"./defaults\\\":523,\\\"./draw\\\":524}],526:[function(t,e,r){\\\"use strict\\\";r.isRightAnchor=function(t){return\\\"right\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\\\"center\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\\\"bottom\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\\\"middle\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],527:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\");e.exports={bgcolor:{valType:\\\"color\\\",editType:\\\"legend\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.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\\\"},x:{valType:\\\"number\\\",min:-2,max:3,dflt:1.02,editType:\\\"legend\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\",editType:\\\"legend\\\"},y:{valType:\\\"number\\\",min:-2,max:3,dflt:1,editType:\\\"legend\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"legend\\\"},editType:\\\"legend\\\"}},{\\\"../../plots/font_attributes\\\":674,\\\"../color/attributes\\\":473}],528:[function(t,e,r){\\\"use strict\\\";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\\\"#808BA4\\\",scrollBarMargin:4}},{}],529:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../../plots/layout_attributes\\\"),s=t(\\\"./helpers\\\");e.exports=function(t,e,r){for(var l,c,u,f,h=t.legend||{},p={},d=0,g=\\\"normal\\\",m=0;m<r.length;m++){var v=r[m];s.legendGetsTrace(v)&&(d++,n.traceIs(v,\\\"pie\\\")&&d++),(n.traceIs(v,\\\"bar\\\")&&\\\"stack\\\"===e.barmode||-1!==[\\\"tonextx\\\",\\\"tonexty\\\"].indexOf(v.fill))&&(g=s.isGrouped({traceorder:g})?\\\"grouped+reversed\\\":\\\"reversed\\\"),void 0!==v.legendgroup&&\\\"\\\"!==v.legendgroup&&(g=s.isReversed({traceorder:g})?\\\"reversed+grouped\\\":\\\"grouped\\\")}function y(t,e){return i.coerce(h,p,a,t,e)}if(!1!==i.coerce(t,e,o,\\\"showlegend\\\",d>1)){if(e.legend=p,y(\\\"bgcolor\\\",e.paper_bgcolor),y(\\\"bordercolor\\\"),y(\\\"borderwidth\\\"),i.coerceFont(y,\\\"font\\\",e.font),y(\\\"orientation\\\"),\\\"h\\\"===p.orientation){var x=t.xaxis;x&&x.rangeslider&&x.rangeslider.visible?(l=0,u=\\\"left\\\",c=1.1,f=\\\"bottom\\\"):(l=0,u=\\\"left\\\",c=-.1,f=\\\"top\\\")}y(\\\"traceorder\\\",g),s.isGrouped(e.legend)&&y(\\\"tracegroupgap\\\"),y(\\\"x\\\",l),y(\\\"xanchor\\\",u),y(\\\"y\\\",c),y(\\\"yanchor\\\",f),i.noneOrAll(h,p,[\\\"x\\\",\\\"y\\\"])}}},{\\\"../../lib\\\":602,\\\"../../plots/layout_attributes\\\":701,\\\"../../registry\\\":732,\\\"./attributes\\\":527,\\\"./helpers\\\":533}],530:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib/events\\\"),l=t(\\\"../dragelement\\\"),c=t(\\\"../drawing\\\"),u=t(\\\"../color\\\"),f=t(\\\"../../lib/svg_text_utils\\\"),h=t(\\\"./handle_click\\\"),p=t(\\\"./constants\\\"),d=t(\\\"../../constants/interactions\\\"),g=t(\\\"../../constants/alignment\\\"),m=g.LINE_SPACING,v=g.FROM_TL,y=g.FROM_BR,x=t(\\\"./get_legend_data\\\"),b=t(\\\"./style\\\"),_=t(\\\"./helpers\\\"),w=t(\\\"./anchor_utils\\\"),k=d.DBLCLICKDELAY;function M(t,e,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(o.group=a._group),\\\"pie\\\"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,\\\"plotly_legendclick\\\",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},k);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\\\"plotly_legenddoubleclick\\\",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,\\\"pie\\\"),u=s.index,h=l?n.label:s.name,p=e._context.edits.legendText&&!l,d=i.ensureSingle(t,\\\"text\\\",\\\"legendtext\\\");function g(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\\\"g[class*=math-group]\\\"),o=a.node(),s=e._fullLayout.legend.font.size*m;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(\\\".legendtext\\\"),h=f.lineCount(u),p=u.node();n=s*h,i=p?c.bBox(p).width:0;var d=s*(.3+(1-h)/2);f.positionText(u,40,d)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}d.attr(\\\"text-anchor\\\",\\\"start\\\").classed(\\\"user-select-none\\\",!0).call(c.font,a.legend.font).text(p?T(h,r):h),p?d.call(f.makeEditable,{gd:e,text:h}).call(g).on(\\\"edit\\\",function(t){this.text(T(t,r)).call(g);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,\\\"groupby\\\")){var l=o.getTransformIndices(a,\\\"groupby\\\"),c=l[l.length-1],f=i.keyedContainer(a,\\\"transforms[\\\"+c+\\\"].styles\\\",\\\"target\\\",\\\"value.name\\\");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call(\\\"restyle\\\",e,s,u)}):g(d)}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 S(t,e){var r,a=1,o=i.ensureSingle(t,\\\"rect\\\",\\\"legendtoggle\\\",function(t){t.style(\\\"cursor\\\",\\\"pointer\\\").attr(\\\"pointer-events\\\",\\\"all\\\").call(u.fill,\\\"rgba(0,0,0,0)\\\")});o.on(\\\"mousedown\\\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<k?a+=1:(a=1,e._legendMouseDownTime=r)}),o.on(\\\"mouseup\\\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>k&&(a=Math.max(a-1,1)),M(e,r,t,a,n.event)}})}function C(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;h<p;h++){var d=f[h].map(function(t){return t[0].width}),g=40+Math.max.apply(null,d);a._width+=a.tracegroupgap+g,u.push(a._width)}e.each(function(t,e){c.setTranslate(this,u[e],0)}),e.each(function(){var t=0;n.select(this).selectAll(\\\"g.traces\\\").each(function(e){var r=e[0].height;c.setTranslate(this,0,5+o+t+r/2),t+=r}),a._height=Math.max(a._height,t)}),a._height+=10+2*o,a._width+=2*o}else{var m,v=0,y=0,x=0,b=0,w=0,k=a.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),w+=40+t[0].width+k}),m=i.width-(i.margin.r+i.margin.l)>o+w-k,r.each(function(t){var e=t[0],r=m?40+t[0].width:x;o+b+k+r>i.width-(i.margin.r+i.margin.l)&&(b=0,v+=y,a._height=a._height+y,y=0),c.setTranslate(this,o+b,5+o+e.height/2+v),a._width+=k+r,a._height=Math.max(a._height,e.height),b+=k+r,y=Math.max(e.height,y)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),r.each(function(e){var r=e[0],i=n.select(this).select(\\\".legendtoggle\\\");c.setRect(i,0,-r.height/2,(t._context.edits.legendText?0:a._width)+l,r.height)})}function E(t){var e=t._fullLayout.legend,r=\\\"left\\\";w.isRightAnchor(e)?r=\\\"right\\\":w.isCenterAnchor(e)&&(r=\\\"center\\\");var n=\\\"top\\\";w.isBottomAnchor(e)?n=\\\"bottom\\\":w.isMiddleAnchor(e)&&(n=\\\"middle\\\"),a.autoMargin(t,\\\"legend\\\",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*y[r],b:e._height*y[n],t:e._height*v[n]})}e.exports=function(t){var e=t._fullLayout,r=\\\"legend\\\"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(\\\".legend\\\").remove(),e._topdefs.select(\\\"#\\\"+r).remove(),void a.autoMargin(t,\\\"legend\\\");for(var d=0,g=0;g<f.length;g++)for(var m=0;m<f[g].length;m++){var _=f[g][m][0],k=_.trace,T=o.traceIs(k,\\\"pie\\\")?_.label:k.name;d=Math.max(d,T&&T.length||0)}var L=!1,z=i.ensureSingle(e._infolayer,\\\"g\\\",\\\"legend\\\",function(t){t.attr(\\\"pointer-events\\\",\\\"all\\\"),L=!0}),P=i.ensureSingleById(e._topdefs,\\\"clipPath\\\",r,function(t){t.append(\\\"rect\\\")}),D=i.ensureSingle(z,\\\"rect\\\",\\\"bg\\\",function(t){t.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")});D.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style(\\\"stroke-width\\\",s.borderwidth+\\\"px\\\");var O=i.ensureSingle(z,\\\"g\\\",\\\"scrollbox\\\"),I=i.ensureSingle(z,\\\"rect\\\",\\\"scrollbar\\\",function(t){t.attr({rx:20,ry:3,width:0,height:0}).call(u.fill,\\\"#808BA4\\\")}),R=O.selectAll(\\\"g.groups\\\").data(f);R.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"groups\\\"),R.exit().remove();var B=R.selectAll(\\\"g.traces\\\").data(i.identity);B.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"traces\\\"),B.exit().remove(),B.call(b,t).style(\\\"opacity\\\",function(t){var e=t[0].trace;return o.traceIs(e,\\\"pie\\\")?-1!==h.indexOf(t[0].label)?.5:1:\\\"legendonly\\\"===e.visible?.5:1}).each(function(){n.select(this).call(A,t,d).call(S,t)}),L&&(C(t,R,B),E(t));var F=e.width,N=e.height;C(t,R,B),s._height>N?function(t){var e=t._fullLayout.legend,r=\\\"left\\\";w.isRightAnchor(e)?r=\\\"right\\\":w.isCenterAnchor(e)&&(r=\\\"center\\\");a.autoMargin(t,\\\"legend\\\",{x:e.x,y:.5,l:e._width*v[r],r:e._width*y[r],b:0,t:0})}(t):E(t);var j=e._size,V=j.l+j.w*s.x,U=j.t+j.h*(1-s.y);w.isRightAnchor(s)?V-=s._width:w.isCenterAnchor(s)&&(V-=s._width/2),w.isBottomAnchor(s)?U-=s._height:w.isMiddleAnchor(s)&&(U-=s._height/2);var q=s._width,H=j.w;q>H?(V=j.l,q=H):(V+q>F&&(V=F-q),V<0&&(V=0),q=Math.min(F-V,s._width));var G,W,Y,X,Z=s._height,J=j.h;if(Z>J?(U=j.t,Z=J):(U+Z>N&&(U=N-Z),U<0&&(U=0),Z=Math.min(N-U,s._height)),c.setTranslate(z,V,U),I.on(\\\".drag\\\",null),z.on(\\\"wheel\\\",null),s._height<=Z||t._context.staticPlot)D.attr({width:q-s.borderwidth,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(O,0,0),P.select(\\\"rect\\\").attr({width:q-2*s.borderwidth,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(O,r),c.setRect(I,0,0,0,0),delete s._scrollY;else{var K,Q,$=Math.max(p.scrollBarMinHeight,Z*Z/s._height),tt=Z-$-2*p.scrollBarMargin,et=s._height-Z,rt=tt/et,nt=Math.min(s._scrollY||0,et);D.attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),P.select(\\\"rect\\\").attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+nt}),c.setClipUrl(O,r),at(nt,$,rt),z.on(\\\"wheel\\\",function(){at(nt=i.constrain(s._scrollY+n.event.deltaY/tt*et,0,et),$,rt),0!==nt&&nt!==et&&n.event.preventDefault()});var it=n.behavior.drag().on(\\\"dragstart\\\",function(){K=n.event.sourceEvent.clientY,Q=nt}).on(\\\"drag\\\",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||at(nt=i.constrain((t.clientY-K)/rt+Q,0,et),$,rt)});I.call(it)}if(t._context.edits.legendPosition)z.classed(\\\"cursor-move\\\",!0),l.init({element:z.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);Y=t.x,X=t.y},moveFn:function(t,e){var r=Y+t,n=X+e;c.setTranslate(z,r,n),G=l.align(r,0,j.l,j.l+j.w,s.xanchor),W=l.align(n,0,j.t+j.h,j.t,s.yanchor)},doneFn:function(){void 0!==G&&void 0!==W&&o.call(\\\"relayout\\\",t,{\\\"legend.x\\\":G,\\\"legend.y\\\":W})},clickFn:function(r,n){var i=e._infolayer.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});i.size()>0&&M(t,z,i,r,n)}})}function at(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(O,0,-e),c.setRect(I,q,p.scrollBarMargin+e*n,p.scrollBarWidth,r),P.select(\\\"rect\\\").attr({y:s.borderwidth+e})}}},{\\\"../../constants/alignment\\\":574,\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../lib/events\\\":590,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"./anchor_utils\\\":526,\\\"./constants\\\":528,\\\"./get_legend_data\\\":531,\\\"./handle_click\\\":532,\\\"./helpers\\\":533,\\\"./style\\\":535,d3:130}],531:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./helpers\\\");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0;function f(t,r){if(\\\"\\\"!==t&&i.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 h=t[r],p=h[0],d=p.trace,g=d.legendgroup;if(i.legendGetsTrace(d)&&d.showlegend)if(n.traceIs(d,\\\"pie\\\"))for(c[g]||(c[g]={}),a=0;a<h.length;a++){var m=h[a].label;c[g][m]||(f(g,{label:m,color:h[a].color,i:h[a].i,trace:d}),c[g][m]=!0)}else f(g,p)}if(!s.length)return[];var v,y,x=s.length;if(l&&i.isGrouped(e))for(y=new Array(x),r=0;r<x;r++)v=o[s[r]],y[r]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],r=0;r<x;r++)v=o[s[r]][0],y[0][i.isReversed(e)?x-r-1:r]=v;x=1}return e._lgroupsLength=x,y}},{\\\"../../registry\\\":732,\\\"./helpers\\\":533}],532:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=!0;e.exports=function(t,e,r){if(!e._dragged&&!e._editing){var o,s,l,c,u,f=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],h=t.data()[0][0],p=e._fullData,d=h.trace,g=d.legendgroup,m={},v=[],y=[],x=[];if(1===r&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,\\\"Double-click on legend to isolate one trace\\\"),\\\"long\\\"),a=!1):a=!1,i.traceIs(d,\\\"pie\\\")){var b=h.label,_=f.indexOf(b);1===r?-1===_?f.push(b):f.splice(_,1):2===r&&(f=[],e.calcdata[0].forEach(function(t){b!==t.label&&f.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===f.length&&-1===_&&(f=[])),i.call(\\\"relayout\\\",e,\\\"hiddenlabels\\\",f)}else{var w,k=g&&g.length,M=[];if(k)for(o=0;o<p.length;o++)(w=p[o]).visible&&w.legendgroup===g&&M.push(o);if(1===r){var A;switch(d.visible){case!0:A=\\\"legendonly\\\";break;case!1:A=!1;break;case\\\"legendonly\\\":A=!0}if(k)for(o=0;o<p.length;o++)!1!==p[o].visible&&p[o].legendgroup===g&&P(p[o],A);else P(d,A)}else if(2===r){var T,S,C=!0;for(o=0;o<p.length;o++)if(!(p[o]===d)&&!(T=k&&p[o].legendgroup===g)&&!0===p[o].visible&&!i.traceIs(p[o],\\\"notLegendIsolatable\\\")){C=!1;break}for(o=0;o<p.length;o++)if(!1!==p[o].visible&&!i.traceIs(p[o],\\\"notLegendIsolatable\\\"))switch(d.visible){case\\\"legendonly\\\":P(p[o],!0);break;case!0:S=!!C||\\\"legendonly\\\",T=p[o]===d||k&&p[o].legendgroup===g,P(p[o],!!T||S)}}for(o=0;o<y.length;o++)if(l=y[o]){var E=l.constructUpdate(),L=Object.keys(E);for(s=0;s<L.length;s++)c=L[s],(m[c]=m[c]||[])[x[o]]=E[c]}for(u=Object.keys(m),o=0;o<u.length;o++)for(c=u[o],s=0;s<v.length;s++)m[c].hasOwnProperty(s)||(m[c][s]=void 0);i.call(\\\"restyle\\\",e,m,v)}}function z(t,e,r){var n=v.indexOf(t),i=m[e];return i||(i=m[e]=[]),-1===v.indexOf(t)&&(v.push(t),n=v.length-1),i[n]=r,n}function P(t,e){var r=t._fullInput;if(i.hasTransform(r,\\\"groupby\\\")){var a=y[r.index];if(!a){var o=i.getTransformIndices(r,\\\"groupby\\\"),s=o[o.length-1];a=n.keyedContainer(r,\\\"transforms[\\\"+s+\\\"].styles\\\",\\\"target\\\",\\\"value.visible\\\"),y[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),x[r.index]=z(r.index,\\\"visible\\\",!1!==r.visible)}else{var c=!1!==r.visible&&e;z(r.index,\\\"visible\\\",c)}}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],533:[function(t,e,r){\\\"use strict\\\";r.legendGetsTrace=function(t){return t.visible&&void 0!==t.showlegend},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\\\")}},{}],534:[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\\\":527,\\\"./defaults\\\":529,\\\"./draw\\\":530,\\\"./style\\\":535}],535:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../color\\\"),l=t(\\\"../../traces/scatter/subtypes\\\"),c=t(\\\"../../traces/pie/style_one\\\");e.exports=function(t,e){t.each(function(t){var e=n.select(this),r=a.ensureSingle(e,\\\"g\\\",\\\"layers\\\");r.style(\\\"opacity\\\",t[0].trace.opacity),r.selectAll(\\\"g.legendfill\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendfill\\\",!0),r.selectAll(\\\"g.legendlines\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendlines\\\",!0);var i=r.selectAll(\\\"g.legendsymbols\\\").data([t]);i.enter().append(\\\"g\\\").classed(\\\"legendsymbols\\\",!0),i.selectAll(\\\"g.legendpoints\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendpoints\\\",!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbar\\\").data(i.traceIs(e,\\\"bar\\\")?[t]:[]);o.enter().append(\\\"path\\\").classed(\\\"legendbar\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(\\\"stroke-width\\\",o+\\\"px\\\").call(s.fill,i.mc||r.color),o&&e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbox\\\").data(i.traceIs(e,\\\"box-violin\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendbox\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(\\\"stroke-width\\\",t+\\\"px\\\").call(s.fill,e.fillcolor),t&&s.stroke(r,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendpie\\\").data(i.traceIs(e,\\\"pie\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendpie\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.size()&&r.call(c,t[0],e)}).each(function(t){var e=t[0].trace,r=e.visible&&e.fill&&\\\"none\\\"!==e.fill,i=l.hasLines(e),a=e.contours;a&&\\\"constraint\\\"===a.type&&(i=a.showlines,r=\\\"=\\\"!==a._operation);var s=n.select(this).select(\\\".legendfill\\\").selectAll(\\\"path\\\").data(r?[t]:[]);s.enter().append(\\\"path\\\").classed(\\\"js-fill\\\",!0),s.exit().remove(),s.attr(\\\"d\\\",\\\"M5,0h30v6h-30z\\\").call(o.fillGroupStyle);var c=n.select(this).select(\\\".legendlines\\\").selectAll(\\\"path\\\").data(i?[t]:[]);c.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).attr(\\\"d\\\",\\\"M5,0h30\\\"),c.exit().remove(),c.call(o.lineGroupStyle)}).each(function(t){var r,i,s=t[0],c=s.trace,u=l.hasMarkers(c),f=l.hasText(c),h=l.hasLines(c);function p(t,e,r){var n=a.nestedProperty(c,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},m={};u&&(g.mc=p(\\\"marker.color\\\",d),g.mo=p(\\\"marker.opacity\\\",a.mean,[.2,1]),g.ms=p(\\\"marker.size\\\",a.mean,[2,16]),g.mlc=p(\\\"marker.line.color\\\",d),g.mlw=p(\\\"marker.line.width\\\",a.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:\\\"diameter\\\"}),h&&(m.line={width:p(\\\"line.width\\\",d,[0,10])}),f&&(g.tx=\\\"Aa\\\",g.tp=p(\\\"textposition\\\",d),g.ts=10,g.tc=p(\\\"textfont.color\\\",d),g.tf=p(\\\"textfont.family\\\",d)),r=[a.minExtend(s,g)],(i=a.minExtend(c,m)).selectedpoints=null}var v=n.select(this).select(\\\"g.legendpoints\\\"),y=v.selectAll(\\\"path.scatterpts\\\").data(u?r:[]);y.enter().append(\\\"path\\\").classed(\\\"scatterpts\\\",!0).attr(\\\"transform\\\",\\\"translate(20,0)\\\"),y.exit().remove(),y.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var x=v.selectAll(\\\"g.pointtext\\\").data(f?r:[]);x.enter().append(\\\"g\\\").classed(\\\"pointtext\\\",!0).append(\\\"text\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),x.exit().remove(),x.selectAll(\\\"text\\\").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendcandle\\\").data(\\\"candlestick\\\"===e.type&&e.visible?[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 i=e[r?\\\"increasing\\\":\\\"decreasing\\\"],a=i.line.width,o=n.select(this);o.style(\\\"stroke-width\\\",a+\\\"px\\\").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendohlc\\\").data(\\\"ohlc\\\"===e.type&&e.visible?[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 i=e[r?\\\"increasing\\\":\\\"decreasing\\\"],a=i.line.width,l=n.select(this);l.style(\\\"fill\\\",\\\"none\\\").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../../traces/pie/style_one\\\":912,\\\"../../traces/scatter/subtypes\\\":948,\\\"../color\\\":474,\\\"../drawing\\\":499,d3:130}],536:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"../../plots/cartesian/axis_ids\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../../build/ploticon\\\"),l=o._,c=e.exports={};function u(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\\\"data-attr\\\"),l=o.getAttribute(\\\"data-val\\\")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=\\\"on\\\";if(\\\"zoom\\\"===s){var p,d=\\\"in\\\"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).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\\\"!==h||r._showSpikeInitial||(h=\\\"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])}c._cartesianSpikesEnabled=h}else{if(\\\"hovermode\\\"!==s||\\\"x\\\"!==l&&\\\"y\\\"!==l){if(\\\"hovermode\\\"===s&&\\\"closest\\\"===l){for(i=0;i<f.length;i++)r=f[i],\\\"on\\\"!==h||r.showspikes||(h=\\\"off\\\");c._cartesianSpikesEnabled=h}}else l=c._isHoriz?\\\"y\\\":\\\"x\\\",o.setAttribute(\\\"data-val\\\",l);u[s]=l}n.call(\\\"relayout\\\",t,u)}function f(t,e){for(var r=e.currentTarget,i=r.getAttribute(\\\"data-attr\\\"),a=r.getAttribute(\\\"data-val\\\")||!0,o=t._fullLayout._subplots.gl3d,s={},l=i.split(\\\".\\\"),c=0;c<o.length;c++)s[o[c]+\\\".\\\"+l[1]]=a;var u=\\\"pan\\\"===a?a:\\\"zoom\\\";s.dragmode=u,n.call(\\\"relayout\\\",t,s)}function h(t,e){for(var r=e.currentTarget.getAttribute(\\\"data-attr\\\"),i=t._fullLayout,a=i._subplots.gl3d,s={},l=0;l<a.length;l++){var c=a[l],u=c+\\\".camera\\\",f=i[c]._scene;\\\"resetDefault\\\"===r?s[u]=null:\\\"resetLastSave\\\"===r&&(s[u]=o.extendDeep({},f.cameraInitial))}n.call(\\\"relayout\\\",t,s)}function p(t,e){var r=e.currentTarget,i=r._previousVal||!1,a=t.layout,s=t._fullLayout,l=s._subplots.gl3d,c=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],u=[\\\"showspikes\\\",\\\"spikesides\\\",\\\"spikethickness\\\",\\\"spikecolor\\\"],f={},h={},p={};if(i)p=o.extendDeep(a,i),r._previousVal=null;else{p={\\\"allaxes.showspikes\\\":!1};for(var d=0;d<l.length;d++){var g=l[d],m=s[g],v=f[g]={};v.hovermode=m.hovermode,p[g+\\\".hovermode\\\"]=!1;for(var y=0;y<3;y++){var x=c[y];h=v[x]={};for(var b=0;b<u.length;b++){var _=u[b];h[_]=m[x][_]}}}r._previousVal=o.extendDeep({},f)}n.call(\\\"relayout\\\",t,p)}function d(t,e){for(var r=e.currentTarget,i=r.getAttribute(\\\"data-attr\\\"),a=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\\\"===i){var f=u.projection.scale,h=\\\"in\\\"===a?2*f:.5*f;n.call(\\\"relayout\\\",t,c+\\\".projection.scale\\\",h)}else\\\"reset\\\"===i&&m(t,\\\"geo\\\")}}function g(t){var e,r=t._fullLayout;e=r._has(\\\"cartesian\\\")?r._isHoriz?\\\"y\\\":\\\"x\\\":\\\"closest\\\";var i=!t._fullLayout.hovermode&&e;n.call(\\\"relayout\\\",t,\\\"hovermode\\\",i)}function m(t,e){for(var r=t._fullLayout,i=r._subplots[e],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+\\\".\\\"+f]=l[f]}n.call(\\\"relayout\\\",t,a)}c.toImage={name:\\\"toImage\\\",title:function(t){return l(t,\\\"Download plot as a png\\\")},icon:s.camera,click:function(t){var e=\\\"png\\\";o.notifier(l(t,\\\"Taking snapshot - this may take a few seconds\\\"),\\\"long\\\"),o.isIE()&&(o.notifier(l(t,\\\"IE only supports svg.  Changing format to svg.\\\"),\\\"long\\\"),e=\\\"svg\\\"),n.call(\\\"downloadImage\\\",t,{format:e}).then(function(e){o.notifier(l(t,\\\"Snapshot succeeded\\\")+\\\" - \\\"+e,\\\"long\\\")}).catch(function(){o.notifier(l(t,\\\"Sorry, there was a problem downloading your snapshot!\\\"),\\\"long\\\")})}},c.sendDataToCloud={name:\\\"sendDataToCloud\\\",title:function(t){return l(t,\\\"Edit in Chart Studio\\\")},icon:s.disk,click:function(t){i.sendDataToCloud(t)}},c.zoom2d={name:\\\"zoom2d\\\",title:function(t){return l(t,\\\"Zoom\\\")},attr:\\\"dragmode\\\",val:\\\"zoom\\\",icon:s.zoombox,click:u},c.pan2d={name:\\\"pan2d\\\",title:function(t){return l(t,\\\"Pan\\\")},attr:\\\"dragmode\\\",val:\\\"pan\\\",icon:s.pan,click:u},c.select2d={name:\\\"select2d\\\",title:function(t){return l(t,\\\"Box Select\\\")},attr:\\\"dragmode\\\",val:\\\"select\\\",icon:s.selectbox,click:u},c.lasso2d={name:\\\"lasso2d\\\",title:function(t){return l(t,\\\"Lasso Select\\\")},attr:\\\"dragmode\\\",val:\\\"lasso\\\",icon:s.lasso,click:u},c.zoomIn2d={name:\\\"zoomIn2d\\\",title:function(t){return l(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:s.zoom_plus,click:u},c.zoomOut2d={name:\\\"zoomOut2d\\\",title:function(t){return l(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:s.zoom_minus,click:u},c.autoScale2d={name:\\\"autoScale2d\\\",title:function(t){return l(t,\\\"Autoscale\\\")},attr:\\\"zoom\\\",val:\\\"auto\\\",icon:s.autoscale,click:u},c.resetScale2d={name:\\\"resetScale2d\\\",title:function(t){return l(t,\\\"Reset axes\\\")},attr:\\\"zoom\\\",val:\\\"reset\\\",icon:s.home,click:u},c.hoverClosestCartesian={name:\\\"hoverClosestCartesian\\\",title:function(t){return l(t,\\\"Show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:s.tooltip_basic,gravity:\\\"ne\\\",click:u},c.hoverCompareCartesian={name:\\\"hoverCompareCartesian\\\",title:function(t){return l(t,\\\"Compare data on hover\\\")},attr:\\\"hovermode\\\",val:function(t){return t._fullLayout._isHoriz?\\\"y\\\":\\\"x\\\"},icon:s.tooltip_compare,gravity:\\\"ne\\\",click:u},c.zoom3d={name:\\\"zoom3d\\\",title:function(t){return l(t,\\\"Zoom\\\")},attr:\\\"scene.dragmode\\\",val:\\\"zoom\\\",icon:s.zoombox,click:f},c.pan3d={name:\\\"pan3d\\\",title:function(t){return l(t,\\\"Pan\\\")},attr:\\\"scene.dragmode\\\",val:\\\"pan\\\",icon:s.pan,click:f},c.orbitRotation={name:\\\"orbitRotation\\\",title:function(t){return l(t,\\\"Orbital rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"orbit\\\",icon:s[\\\"3d_rotate\\\"],click:f},c.tableRotation={name:\\\"tableRotation\\\",title:function(t){return l(t,\\\"Turntable rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"turntable\\\",icon:s[\\\"z-axis\\\"],click:f},c.resetCameraDefault3d={name:\\\"resetCameraDefault3d\\\",title:function(t){return l(t,\\\"Reset camera to default\\\")},attr:\\\"resetDefault\\\",icon:s.home,click:h},c.resetCameraLastSave3d={name:\\\"resetCameraLastSave3d\\\",title:function(t){return l(t,\\\"Reset camera to last save\\\")},attr:\\\"resetLastSave\\\",icon:s.movie,click:h},c.hoverClosest3d={name:\\\"hoverClosest3d\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:p},c.zoomInGeo={name:\\\"zoomInGeo\\\",title:function(t){return l(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:\\\"zoomOutGeo\\\",title:function(t){return l(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:s.zoom_minus,click:d},c.resetGeo={name:\\\"resetGeo\\\",title:function(t){return l(t,\\\"Reset\\\")},attr:\\\"reset\\\",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:\\\"hoverClosestGeo\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:g},c.hoverClosestGl2d={name:\\\"hoverClosestGl2d\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:g},c.hoverClosestPie={name:\\\"hoverClosestPie\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:s.tooltip_basic,gravity:\\\"ne\\\",click:g},c.toggleHover={name:\\\"toggleHover\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:function(t,e){g(t),p(t,e)}},c.resetViews={name:\\\"resetViews\\\",title:function(t){return l(t,\\\"Reset views\\\")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\\\"data-attr\\\",\\\"zoom\\\"),r.setAttribute(\\\"data-val\\\",\\\"reset\\\"),u(t,e),r.setAttribute(\\\"data-attr\\\",\\\"resetLastSave\\\"),h(t,e),m(t,\\\"geo\\\"),m(t,\\\"mapbox\\\")}},c.toggleSpikelines={name:\\\"toggleSpikelines\\\",title:function(t){return l(t,\\\"Toggle Spike Lines\\\")},icon:s.spikeline,attr:\\\"_cartesianSpikesEnabled\\\",val:\\\"on\\\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\\\"on\\\"===e._cartesianSpikesEnabled?\\\"off\\\":\\\"on\\\";var r=function(t){for(var e,r,n=t._fullLayout,i=a.list(t,null,!0),o={},s=0;s<i.length;s++)e=i[s],r=e._name,o[r+\\\".showspikes\\\"]=\\\"on\\\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return o}(t);n.call(\\\"relayout\\\",t,r)}},c.resetViewMapbox={name:\\\"resetViewMapbox\\\",title:function(t){return l(t,\\\"Reset view\\\")},attr:\\\"reset\\\",icon:s.home,click:function(t){m(t,\\\"mapbox\\\")}}},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732}],537:[function(t,e,r){\\\"use strict\\\";r.manage=t(\\\"./manage\\\")},{\\\"./manage\\\":538}],538:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axis_ids\\\"),i=t(\\\"../../traces/scatter/subtypes\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"./modebar\\\"),s=t(\\\"./buttons\\\");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar){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 c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\\\"string\\\"==typeof i){if(void 0===s[i])throw new Error([\\\"*modeBarButtons* configuration options\\\",\\\"invalid button name\\\"].join(\\\" \\\"));t[e][n]=s[i]}}return t}(u):function(t,e,r){var o=t._fullLayout,l=t._fullData,c=o._has(\\\"cartesian\\\"),u=o._has(\\\"gl3d\\\"),f=o._has(\\\"geo\\\"),h=o._has(\\\"pie\\\"),p=o._has(\\\"gl2d\\\"),d=o._has(\\\"ternary\\\"),g=o._has(\\\"mapbox\\\"),m=o._has(\\\"polar\\\"),v=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}(o),y=[];function x(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(s[i])}y.push(r)}}x([\\\"toImage\\\",\\\"sendDataToCloud\\\"]);var b=[],_=[],w=[],k=[];(c||p||h||d)+f+u+g+m>1?(_=[\\\"toggleHover\\\"],w=[\\\"resetViews\\\"]):f?(b=[\\\"zoomInGeo\\\",\\\"zoomOutGeo\\\"],_=[\\\"hoverClosestGeo\\\"],w=[\\\"resetGeo\\\"]):u?(_=[\\\"hoverClosest3d\\\"],w=[\\\"resetCameraDefault3d\\\",\\\"resetCameraLastSave3d\\\"]):g?(_=[\\\"toggleHover\\\"],w=[\\\"resetViewMapbox\\\"]):_=p?[\\\"hoverClosestGl2d\\\"]:h?[\\\"hoverClosestPie\\\"]:[\\\"toggleHover\\\"];c&&(_=[\\\"toggleSpikelines\\\",\\\"hoverClosestCartesian\\\",\\\"hoverCompareCartesian\\\"]);!c&&!p||v||(b=[\\\"zoomIn2d\\\",\\\"zoomOut2d\\\",\\\"autoScale2d\\\"],\\\"resetViews\\\"!==w[0]&&(w=[\\\"resetScale2d\\\"]));u?k=[\\\"zoom3d\\\",\\\"pan3d\\\",\\\"orbitRotation\\\",\\\"tableRotation\\\"]:(c||p)&&!v||d?k=[\\\"zoom2d\\\",\\\"pan2d\\\"]:g||f?k=[\\\"pan2d\\\"]:m&&(k=[\\\"zoom2d\\\"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,\\\"scatter-like\\\")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,\\\"box-violin\\\")&&\\\"all\\\"!==n.boxpoints&&\\\"all\\\"!==n.points||(e=!0))}return e})(l)&&k.push(\\\"select2d\\\",\\\"lasso2d\\\");return x(k),x(b.concat(w)),x(_),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}(y,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../../traces/scatter/subtypes\\\":948,\\\"./buttons\\\":536,\\\"./modebar\\\":539}],539:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../../build/ploticon\\\");function o(t){this.container=t.container,this.element=document.createElement(\\\"div\\\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var s=o.prototype;s.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\\\"hover\\\"===r.displayModeBar?this.element.className=\\\"modebar modebar--hover\\\":this.element.className=\\\"modebar\\\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo,a=this.locale!==r.locale;this.locale=r.locale,(n||i||a)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},s.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 i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},s.createGroup=function(){var t=document.createElement(\\\"div\\\");return t.className=\\\"modebar-group\\\",t},s.createButton=function(t){var e=this,r=document.createElement(\\\"a\\\");r.setAttribute(\\\"rel\\\",\\\"tooltip\\\"),r.className=\\\"modebar-btn\\\";var i=t.title;void 0===i?i=t.name:\\\"function\\\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute(\\\"data-title\\\",i),void 0!==t.attr&&r.setAttribute(\\\"data-attr\\\",t.attr);var o=t.val;if(void 0!==o&&(\\\"function\\\"==typeof o&&(o=o(this.graphInfo)),r.setAttribute(\\\"data-val\\\",o)),\\\"function\\\"!=typeof t.click)throw new Error(\\\"must provide button 'click' function in button config\\\");return 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),r.appendChild(this.createIcon(t.icon||a.question,t.name)),r.setAttribute(\\\"data-gravity\\\",t.gravity||\\\"n\\\"),r},s.createIcon=function(t,e){var r=t.ascent-t.descent,n=\\\"http://www.w3.org/2000/svg\\\",i=document.createElementNS(n,\\\"svg\\\"),a=document.createElementNS(n,\\\"path\\\");i.setAttribute(\\\"height\\\",\\\"1em\\\"),i.setAttribute(\\\"width\\\",t.width/r+\\\"em\\\"),i.setAttribute(\\\"viewBox\\\",[0,0,t.width,r].join(\\\" \\\"));var o=\\\"toggleSpikelines\\\"===e?\\\"matrix(1.5 0 0 -1.5 0 \\\"+t.ascent+\\\")\\\":\\\"matrix(1 0 0 -1 0 \\\"+t.ascent+\\\")\\\";return a.setAttribute(\\\"d\\\",t.path),a.setAttribute(\\\"transform\\\",o),i.appendChild(a),i},s.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)}})},s.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},s.getLogo=function(){var t=this.createGroup(),e=document.createElement(\\\"a\\\");return e.href=\\\"https://plot.ly/\\\",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(a.plotlylogo)),t.appendChild(e),t},s.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},s.destroy=function(){i.removeElement(this.container.querySelector(\\\".modebar\\\"))},e.exports=function(t,e){var r=t._fullLayout,i=new o({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append(\\\"span\\\").classed(\\\"badge-private float--left\\\",!0).text(\\\"PRIVATE\\\"),i}},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":602,d3:130}],540:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"./button_attributes\\\");o=a(o,{_isLinkedToArray:\\\"button\\\"}),e.exports={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},buttons:o,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:i.lightLine,editType:\\\"plot\\\"},activecolor:{valType:\\\"color\\\",editType:\\\"plot\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"plot\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"plot\\\"},editType:\\\"plot\\\"}},{\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"../color/attributes\\\":473,\\\"./button_attributes\\\":541}],541:[function(t,e,r){\\\"use strict\\\";e.exports={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\\\"}},{}],542:[function(t,e,r){\\\"use strict\\\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],543:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../color\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./button_attributes\\\"),s=t(\\\"./constants\\\");e.exports=function(t,e,r,l,c){var u=t.rangeselector||{},f=e.rangeselector={};function h(t,e){return n.coerce(u,f,a,t,e)}if(h(\\\"visible\\\",function(t,e,r){var i,a,s=t.buttons||[],l=e.buttons=[];function c(t,e){return n.coerce(i,a,o,t,e)}for(var u=0;u<s.length;u++)if(i=s[u],a={},n.isPlainObject(i)){var f=c(\\\"step\\\");\\\"all\\\"!==f&&(!r||\\\"gregorian\\\"===r||\\\"month\\\"!==f&&\\\"year\\\"!==f?c(\\\"stepmode\\\"):a.stepmode=\\\"backward\\\",c(\\\"count\\\")),c(\\\"label\\\"),a._index=u,l.push(a)}return l}(u,f,c).length>0)){var p=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+s.yPad]}(e,r,l);h(\\\"x\\\",p[0]),h(\\\"y\\\",p[1]),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),h(\\\"xanchor\\\"),h(\\\"yanchor\\\"),n.coerceFont(h,\\\"font\\\",r.font);var d=h(\\\"bgcolor\\\");h(\\\"activecolor\\\",i.contrast(d,s.lightAmount,s.darkAmount)),h(\\\"bordercolor\\\"),h(\\\"borderwidth\\\")}}},{\\\"../../lib\\\":602,\\\"../color\\\":474,\\\"./attributes\\\":540,\\\"./button_attributes\\\":541,\\\"./constants\\\":542}],544:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../color\\\"),s=t(\\\"../drawing\\\"),l=t(\\\"../../lib\\\"),c=t(\\\"../../lib/svg_text_utils\\\"),u=t(\\\"../../plots/cartesian/axis_ids\\\"),f=t(\\\"../legend/anchor_utils\\\"),h=t(\\\"../../constants/alignment\\\"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR,m=t(\\\"./constants\\\"),v=t(\\\"./get_update_object\\\");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,\\\"rect\\\",\\\"selector-rect\\\",function(t){t.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")});n.attr({rx:m.rx,ry:m.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 b(t,e,r,n){var i;l.ensureSingle(t,\\\"text\\\",\\\"selector-text\\\",function(t){t.classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\")}).call(s.font,e.font).text((i=r,i.label?i.label:\\\"all\\\"===i.step?\\\"all\\\":i.count+i.step.charAt(0))).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 i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);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,l=o.rangeselector,u=r.selectAll(\\\"g.button\\\").data(l.buttons);u.enter().append(\\\"g\\\").classed(\\\"button\\\",!0),u.exit().remove(),u.each(function(e){var r=n.select(this),a=v(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,a),r.call(x,l,e),r.call(b,l,e,t),r.on(\\\"click\\\",function(){t._dragged||i.call(\\\"relayout\\\",t,a)}),r.on(\\\"mouseover\\\",function(){e._isHovered=!0,r.call(x,l,e)}),r.on(\\\"mouseout\\\",function(){e._isHovered=!1,r.call(x,l,e)})}),function(t,e,r,i,o){var l=0,u=0,h=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(\\\".selector-text\\\"),i=r.font.size*p,a=Math.max(i*c.lineCount(e),16)+3;u=Math.max(u,a)}),e.each(function(){var t=n.select(this),e=t.select(\\\".selector-rect\\\"),i=t.select(\\\".selector-text\\\"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,f=c.lineCount(i),d=Math.max(a+10,m.minButtonWidth);t.attr(\\\"transform\\\",\\\"translate(\\\"+(h+l)+\\\",\\\"+h+\\\")\\\"),e.attr({x:0,y:0,width:d,height:u}),c.positionText(i,d/2,u/2-(f-1)*o/2+3),l+=d+5});var v=t._fullLayout._size,y=v.l+v.w*r.x,x=v.t+v.h*(1-r.y),b=\\\"left\\\";f.isRightAnchor(r)&&(y-=l,b=\\\"right\\\");f.isCenterAnchor(r)&&(y-=l/2,b=\\\"center\\\");var _=\\\"top\\\";f.isBottomAnchor(r)&&(x-=u,_=\\\"bottom\\\");f.isMiddleAnchor(r)&&(x-=u/2,_=\\\"middle\\\");l=Math.ceil(l),u=Math.ceil(u),y=Math.round(y),x=Math.round(x),a.autoMargin(t,i+\\\"-range-selector\\\",{x:r.x,y:r.y,l:l*d[b],r:l*g[b],b:u*g[_],t:u*d[_]}),o.attr(\\\"transform\\\",\\\"translate(\\\"+y+\\\",\\\"+x+\\\")\\\")}(t,u,l,o._name,r)})}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../drawing\\\":499,\\\"../legend/anchor_utils\\\":526,\\\"./constants\\\":542,\\\"./get_update_object\\\":545,d3:130}],545:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\");e.exports=function(t,e){var r=t._name,i={};if(\\\"all\\\"===e.step)i[r+\\\".autorange\\\"]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case\\\"backward\\\":r=t.l2r(+n.time[o].utc.offset(a,-s));break;case\\\"todate\\\":var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=i[1];return[r,c]}(t,e);i[r+\\\".range[0]\\\"]=a[0],i[r+\\\".range[1]\\\"]=a[1]}return i}},{d3:130}],546:[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\\\":540,\\\"./defaults\\\":543,\\\"./draw\\\":544}],547:[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\\\":473}],548:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axis_ids\\\").list,i=t(\\\"../../plots/cartesian/autorange\\\").getAutoRange,a=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[a.name];s&&s.visible&&s.autorange&&o._min.length&&o._max.length&&(s._input.autorange=!0,s._input.range=s.range=i(o))}}},{\\\"../../plots/cartesian/autorange\\\":647,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"./constants\\\":549}],549:[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}},{}],550:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./oppaxis_attributes\\\"),o=t(\\\"../../plots/cartesian/axis_ids\\\");e.exports=function(t,e,r){var s=t[r],l=e[r];if(s.rangeslider||e._requestRangeslider[l._id]){n.isPlainObject(s.rangeslider)||(s.rangeslider={});var c=s.rangeslider,u=l.rangeslider={};if(_(\\\"visible\\\")){_(\\\"bgcolor\\\",e.plot_bgcolor),_(\\\"bordercolor\\\"),_(\\\"borderwidth\\\"),_(\\\"thickness\\\"),l._rangesliderAutorange=_(\\\"autorange\\\",!l.isValidRange(c.range)),_(\\\"range\\\");var f=e._subplots;if(f)for(var h=f.cartesian.filter(function(t){return t.substr(0,t.indexOf(\\\"y\\\"))===o.name2id(r)}).map(function(t){return t.substr(t.indexOf(\\\"y\\\"),t.length)}),p=n.simpleMap(h,o.id2name),d=0;d<p.length;d++){var g,m=p[d],v=c[m]||{},y=u[m]={},x=e[m];v.range&&x.isValidRange(v.range)&&(g=\\\"fixed\\\");var b=w(v,y,\\\"rangemode\\\",g);\\\"match\\\"!==b&&w(v,y,\\\"range\\\",x.range.slice()),x._rangesliderAutorange=\\\"auto\\\"===b}u._input=c}}function _(t,e){return n.coerce(c,u,i,t,e)}function w(t,e,r,i){return n.coerce(t,e,a,r,i)}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"./attributes\\\":547,\\\"./oppaxis_attributes\\\":553}],551:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../drawing\\\"),l=t(\\\"../color\\\"),c=t(\\\"../titles\\\"),u=t(\\\"../../plots/cartesian\\\"),f=t(\\\"../../plots/cartesian/axes\\\"),h=t(\\\"../dragelement\\\"),p=t(\\\"../../lib/setcursor\\\"),d=t(\\\"./constants\\\");function g(t,e,r,n){var i=o.ensureSingle(t,\\\"rect\\\",d.bgClassName,function(t){t.attr({x:0,y:0,\\\"shape-rendering\\\":\\\"crispEdges\\\"})}),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\\\"translate(\\\"+l+\\\",\\\"+l+\\\")\\\",fill:n.bgcolor,stroke:n.bordercolor,\\\"stroke-width\\\":c})}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._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,i){var l,c=f.getSubplots(e,r),h=e.calcdata,p=t.selectAll(\\\"g.\\\"+d.rangePlotClassName).data(c,o.identity);p.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return d.rangePlotClassName+\\\" \\\"+t}).call(s.setClipUrl,i._clipId),p.order(),p.exit().remove(),p.each(function(t,o){var s=n.select(this),c=0===o,p=f.getFromId(e,t,\\\"y\\\"),d=p._name,g=i[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};m.layout[d]={type:p.type,domain:[0,1],range:\\\"match\\\"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},a.supplyDefaults(m);var v={id:t,plotgroup:s,xaxis:m._fullLayout.xaxis,yaxis:m._fullLayout[d],isRangePlot:!0};c?l=v:(v.mainplot=\\\"xy\\\",v.mainplotinfo=l),u.rangePlot(e,v,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(h,t))})}function y(t,e,r,n,i){(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\\\"!==i.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 i=o.ensureSingle(t,\\\"g\\\",d.grabberMinClassName),a=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(i,\\\"rect\\\",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(a,\\\"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(i,\\\"rect\\\",d.grabAreaMinClassName,function(t){t.attr(u)}).attr(\\\"height\\\",n._height),o.ensureSingle(a,\\\"rect\\\",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr(\\\"height\\\",n._height)}}e.exports=function(t){var e=t._fullLayout,r=function(t){var e=f.list({_fullLayout:t},\\\"x\\\",!0),r=d.name,n=[];if(t._has(\\\"gl2d\\\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}(e);var s=e._infolayer.selectAll(\\\"g.\\\"+d.containerClassName).data(r,function(t){return t._name});s.enter().append(\\\"g\\\").classed(d.containerClassName,!0).attr(\\\"pointer-events\\\",\\\"all\\\"),s.exit().each(function(t){var r=n.select(this),i=t[d.name];r.remove(),e._topdefs.select(\\\"#\\\"+i._clipId).remove()}),s.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(d.name)&&a.autoMargin(t,i)}}(t),0!==r.length&&s.each(function(r){var s=n.select(this),l=r[d.name],u=e[f.id2name(r.anchor)],_=l[f.id2name(r.anchor)];if(l.range){var w=l.range,k=r.range;w[0]=r.l2r(Math.min(r.r2l(w[0]),r.r2l(k[0]))),w[1]=r.l2r(Math.max(r.r2l(w[1]),r.r2l(k[1]))),l._input.range=w.slice()}r.cleanRange(\\\"rangeslider.range\\\");for(var M=e.margin,A=e._size,T=r.domain,S=(r._boundingBox||{}).height||0,C=1/0,E=f.getSubplots(t,r),L=0;L<E.length;L++){var z=f.getFromId(t,E[L].substr(E[L].indexOf(\\\"y\\\")));C=Math.min(C,z.domain[0])}l._id=d.name+r._id,l._clipId=l._id+\\\"-\\\"+e._uid,l._width=A.w*(T[1]-T[0]),l._height=(e.height-M.b-M.t)*l.thickness,l._offsetShift=Math.floor(l.borderwidth/2);var P=Math.round(M.l+A.w*T[0]),D=Math.round(A.t+A.h*(1-C)+S+l._offsetShift+d.extraPad);s.attr(\\\"transform\\\",\\\"translate(\\\"+P+\\\",\\\"+D+\\\")\\\");var O=r.r2l(l.range[0]),I=r.r2l(l.range[1]),R=I-O;if(l.p2d=function(t){return t/l._width*R+O},l.d2p=function(t){return(t-O)/R*l._width},l._rl=[O,I],\\\"match\\\"!==_.rangemode){var B=u.r2l(_.range[0]),F=u.r2l(_.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/F*l._height}}s.call(g,t,r,l).call(m,t,r,l).call(v,t,r,l).call(y,t,r,l,_).call(x,t,r,l).call(b,t,r,l),function(t,e,r,a){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,f=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,m=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=h.coverSlip();function x(t){var u,h,x,b=+t.clientX-d;switch(f){case s:x=\\\"ew-resize\\\",u=m+b,h=v+b;break;case l:x=\\\"col-resize\\\",u=m+b,h=v;break;case c:x=\\\"col-resize\\\",u=m,h=v+b;break;default:x=\\\"ew-resize\\\",u=g,h=g+b}if(h<u){var _=h;h=u,u=_}a._pixelMin=u,a._pixelMax=h,p(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){i.call(\\\"relayout\\\",e,r._name+\\\".range\\\",[s,l])})}(0,e,r,a)}y.addEventListener(\\\"mousemove\\\",x),y.addEventListener(\\\"mouseup\\\",function t(){y.removeEventListener(\\\"mousemove\\\",x);y.removeEventListener(\\\"mouseup\\\",t);o.removeElement(y)})})}(s,t,r,l),function(t,e,r,n,i,a){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 f=l(n.d2p(r._rl[0])),h=l(n.d2p(r._rl[1]));if(t.select(\\\"rect.\\\"+d.slideBoxClassName).attr(\\\"x\\\",f).attr(\\\"width\\\",h-f),t.select(\\\"rect.\\\"+d.maskMinClassName).attr(\\\"width\\\",f),t.select(\\\"rect.\\\"+d.maskMaxClassName).attr(\\\"x\\\",h).attr(\\\"width\\\",n._width-h),\\\"match\\\"!==a.rangemode){var p=n._height-c(n.d2pOppAxis(i._rl[1])),g=n._height-c(n.d2pOppAxis(i._rl[0]));t.select(\\\"rect.\\\"+d.maskMinOppAxisClassName).attr(\\\"x\\\",f).attr(\\\"height\\\",p).attr(\\\"width\\\",h-f),t.select(\\\"rect.\\\"+d.maskMaxOppAxisClassName).attr(\\\"x\\\",f).attr(\\\"y\\\",g).attr(\\\"height\\\",n._height-g).attr(\\\"width\\\",h-f),t.select(\\\"rect.\\\"+d.slideBoxClassName).attr(\\\"y\\\",p).attr(\\\"height\\\",g-p)}var m=Math.round(u(f-s))-.5,v=Math.round(u(h-s))+.5;t.select(\\\"g.\\\"+d.grabberMinClassName).attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\",0.5)\\\"),t.select(\\\"g.\\\"+d.grabberMaxClassName).attr(\\\"transform\\\",\\\"translate(\\\"+v+\\\",0.5)\\\")}(s,0,r,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:D+l._height+l._offsetShift+10+1.5*r.titlefont.size,\\\"text-anchor\\\":\\\"middle\\\"}}),a.autoMargin(t,l._id,{x:T[0],y:C,l:0,r:0,t:0,b:l._height+M.b+S,pad:d.extraPad+2*l._offsetShift})})}},{\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../plots/cartesian\\\":659,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"../titles\\\":567,\\\"./constants\\\":549,d3:130}],552:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./oppaxis_attributes\\\");e.exports={moduleType:\\\"component\\\",name:\\\"rangeslider\\\",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:t(\\\"./draw\\\")}},{\\\"../../lib\\\":602,\\\"./attributes\\\":547,\\\"./calc_autorange\\\":548,\\\"./defaults\\\":550,\\\"./draw\\\":551,\\\"./oppaxis_attributes\\\":553}],553:[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\\\"}},{}],554:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\"),i=t(\\\"../../traces/scatter/attributes\\\").line,a=t(\\\"../drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={_isLinkedToArray:\\\"shape\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"rect\\\",\\\"path\\\",\\\"line\\\"],editType:\\\"calcIfAutorange+arraydraw\\\"},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\",editType:\\\"arraydraw\\\"},xref:o({},n.xref,{}),xsizemode:{valType:\\\"enumerated\\\",values:[\\\"scaled\\\",\\\"pixel\\\"],dflt:\\\"scaled\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xanchor:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},x0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},x1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yref:o({},n.yref,{}),ysizemode:{valType:\\\"enumerated\\\",values:[\\\"scaled\\\",\\\"pixel\\\"],dflt:\\\"scaled\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yanchor:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},y0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},y1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},path:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1,editType:\\\"arraydraw\\\"},line:{color:o({},i.color,{editType:\\\"arraydraw\\\"}),width:o({},i.width,{editType:\\\"calcIfAutorange+arraydraw\\\"}),dash:o({},a,{editType:\\\"arraydraw\\\"}),editType:\\\"calcIfAutorange+arraydraw\\\"},fillcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\",editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"}},{\\\"../../lib/extend\\\":591,\\\"../../traces/scatter/attributes\\\":926,\\\"../annotations/attributes\\\":457,\\\"../drawing/attributes\\\":498}],555:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=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,i,o,s){var l=t/2,c=s;if(\\\"pixel\\\"===e){var u=o?function(t,e){var r=[];return t.match(a.segmentRE).forEach(function(t){var n=e[t.charAt(0)].drawn;if(void 0!==n){var i=t.substr(1).match(a.paramRE);!i||i.length<n||r.push(i[n])}}),r}(o,s?a.paramIsY:a.paramIsX):[r,i],f=n.aggNums(Math.max,null,u),h=n.aggNums(Math.min,null,u),p=h<0?Math.abs(h)+l:l,d=f>0?f+l:l;return{ppad:l,ppadplus:c?p:d,ppadminus:c?d:p}}return{ppad:l}}function u(t,e,r,n,i){var s=\\\"category\\\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\\\"date\\\"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,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,f,h=r[o];if(\\\"paper\\\"!==h.xref){var p=\\\"pixel\\\"===h.xsizemode?h.xanchor:h.x0,d=\\\"pixel\\\"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),p,d,h.path,a.paramIsX))&&i.expand(c,f,s(h))}if(\\\"paper\\\"!==h.yref){var g=\\\"pixel\\\"===h.ysizemode?h.yanchor:h.y0,m=\\\"pixel\\\"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),g,m,h.path,a.paramIsY))&&i.expand(c,f,l(h))}}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./constants\\\":556,\\\"./helpers\\\":559}],556:[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}}},{}],557:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./shape_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"shapes\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":644,\\\"./shape_defaults\\\":561}],558:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../color\\\"),s=t(\\\"../drawing\\\"),l=t(\\\"../dragelement\\\"),c=t(\\\"../../lib/setcursor\\\"),u=t(\\\"./constants\\\"),f=t(\\\"./helpers\\\");function h(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\\\"'+e+'\\\"]').remove();var r=(t.layout.shapes||[])[e],i=t._fullLayout.shapes[e];if(r&&!1!==i.visible)if(\\\"below\\\"!==i.layer)h(t._fullLayout._shapeUpperLayer);else if(\\\"paper\\\"===i.xref||\\\"paper\\\"===i.yref)h(t._fullLayout._shapeLowerLayer);else{var u=t._fullLayout._plots[i.xref+i.yref];if(u)h((u.mainplotinfo||u).shapelayer);else h(t._fullLayout._shapeLowerLayer)}function h(r){var u={\\\"data-index\\\":e,\\\"fill-rule\\\":\\\"evenodd\\\",d:p(t,i)},h=i.line.width?i.line.color:\\\"rgba(0,0,0,0)\\\",g=r.append(\\\"path\\\").attr(u).style(\\\"opacity\\\",i.opacity).call(o.stroke,h).call(o.fill,i.fillcolor).call(s.dashLine,i.line.dash,i.line.width),m=(i.xref+i.yref).replace(/paper/g,\\\"\\\");g.call(s.setClipUrl,m?\\\"clip\\\"+t._fullLayout._uid+m:null),t._context.edits.shapePosition&&function(t,e,r,i){var o,s,u,h,g,m,v,y,x,b,_,w,k,M,A,T,S,C,E,L,z,P,D,O,I,R,B,F,N,j,V,U,q,H,G=10,W=10,Y=\\\"pixel\\\"===r.xsizemode,X=\\\"pixel\\\"===r.ysizemode,Z={element:e.node(),gd:t,prepFn:function(e){F=a.getFromId(t,r.xref),N=a.getFromId(t,r.yref),j=f.getDataToPixel(t,F),V=f.getDataToPixel(t,N,!0),U=f.getPixelToData(t,F),q=f.getPixelToData(t,N,!0);var n=\\\"shapes[\\\"+i+\\\"]\\\";Y&&(m=j(r.xanchor),w=n+\\\".xanchor\\\");X&&(v=V(r.yanchor),k=n+\\\".yanchor\\\");\\\"path\\\"===r.type?(R=r.path,B=n+\\\".path\\\"):(s=Y?r.x0:j(r.x0),u=X?r.y0:V(r.y0),h=Y?r.x1:j(r.x1),g=X?r.y1:V(r.y1),y=n+\\\".x0\\\",x=n+\\\".y0\\\",b=n+\\\".x1\\\",_=n+\\\".y1\\\");s<h?(T=s,L=n+\\\".x0\\\",O=\\\"x0\\\",S=h,z=n+\\\".x1\\\",I=\\\"x1\\\"):(T=h,L=n+\\\".x1\\\",O=\\\"x1\\\",S=s,z=n+\\\".x0\\\",I=\\\"x0\\\");!X&&u<g||X&&u>g?(M=u,C=n+\\\".y0\\\",P=\\\"y0\\\",A=g,E=n+\\\".y1\\\",D=\\\"y1\\\"):(M=g,C=n+\\\".y1\\\",P=\\\"y1\\\",A=u,E=n+\\\".y0\\\",D=\\\"y0\\\");o={},J(e),Z.moveFn=\\\"move\\\"===H?K:Q},doneFn:function(){c(e),n.call(\\\"relayout\\\",t,o)}};function J(t){var r=Z.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=n>G&&i>W&&!t.shiftKey?l.getCursor(a/n,1-o/i):\\\"move\\\";c(e,s),H=s.split(\\\"-\\\")[0]}function K(n,i){if(\\\"path\\\"===r.type){var a=function(t){return t},l=a,c=a;Y?o[w]=r.xanchor=U(m+n):(l=function(t){return U(j(t)+n)},F&&\\\"date\\\"===F.type&&(l=f.encodeDate(l))),X?o[k]=r.yanchor=q(v+i):(c=function(t){return q(V(t)+i)},N&&\\\"date\\\"===N.type&&(c=f.encodeDate(c))),r.path=d(R,l,c),o[B]=r.path}else Y?o[w]=r.xanchor=U(m+n):(o[y]=r.x0=U(s+n),o[b]=r.x1=U(h+n)),X?o[k]=r.yanchor=q(v+i):(o[x]=r.y0=q(u+i),o[_]=r.y1=q(g+i));e.attr(\\\"d\\\",p(t,r))}function Q(n,i){if(\\\"path\\\"===r.type){var a=function(t){return t},s=a,l=a;Y?o[w]=r.xanchor=U(m+n):(s=function(t){return U(j(t)+n)},F&&\\\"date\\\"===F.type&&(s=f.encodeDate(s))),X?o[k]=r.yanchor=q(v+i):(l=function(t){return q(V(t)+i)},N&&\\\"date\\\"===N.type&&(l=f.encodeDate(l))),r.path=d(R,s,l),o[B]=r.path}else{var c=~H.indexOf(\\\"n\\\")?M+i:M,u=~H.indexOf(\\\"s\\\")?A+i:A,h=~H.indexOf(\\\"w\\\")?T+n:T,g=~H.indexOf(\\\"e\\\")?S+n:S;~H.indexOf(\\\"n\\\")&&X&&(c=M-i),~H.indexOf(\\\"s\\\")&&X&&(u=A-i),(!X&&u-c>W||X&&c-u>W)&&(o[C]=r[P]=X?c:q(c),o[E]=r[D]=X?u:q(u)),g-h>G&&(o[L]=r[O]=Y?h:U(h),o[z]=r[I]=Y?g:U(g))}e.attr(\\\"d\\\",p(t,r))}l.init(Z),e.node().onmousemove=J}(t,g,i,e)}}function p(t,e){var r,n,o,s,l,c,h,p,d=e.type,g=a.getFromId(t,e.xref),m=a.getFromId(t,e.yref),v=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=f.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},\\\"path\\\"===d)return g&&\\\"date\\\"===g.type&&(n=f.decodeDate(n)),m&&\\\"date\\\"===m.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(u.segmentRE,function(t){var n=0,c=t.charAt(0),f=u.paramIsX[c],h=u.paramIsY[c],p=u.numParams[c],d=t.substr(1).replace(u.paramRE,function(t){return f[n]?t=\\\"pixel\\\"===a?e(s)+Number(t):e(t):h[n]&&(t=\\\"pixel\\\"===o?r(l)-Number(t):r(t)),++n>p&&(t=\\\"X\\\"),t});return n>p&&(d=d.replace(/[\\\\s,]*X.*/,\\\"\\\"),i.log(\\\"Ignoring extra params in segment \\\"+t)),c+d})}(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);h=x-e.y0,p=x-e.y1}else h=s(e.y0),p=s(e.y1);if(\\\"line\\\"===d)return\\\"M\\\"+l+\\\",\\\"+h+\\\"L\\\"+c+\\\",\\\"+p;if(\\\"rect\\\"===d)return\\\"M\\\"+l+\\\",\\\"+h+\\\"H\\\"+c+\\\"V\\\"+p+\\\"H\\\"+l+\\\"Z\\\";var b=(l+c)/2,_=(h+p)/2,w=Math.abs(b-l),k=Math.abs(_-h),M=\\\"A\\\"+w+\\\",\\\"+k,A=b+w+\\\",\\\"+_;return\\\"M\\\"+A+M+\\\" 0 1,1 \\\"+(b+\\\",\\\"+(_-k))+M+\\\" 0 0,1 \\\"+A+\\\"Z\\\"}function d(t,e,r){return t.replace(u.segmentRE,function(t){var n=0,i=t.charAt(0),a=u.paramIsX[i],o=u.paramIsY[i],s=u.numParams[i];return i+t.substr(1).replace(u.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(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 i=0;i<e.shapes.length;i++)e.shapes[i].visible&&h(t,i)},drawOne:h}},{\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"./constants\\\":556,\\\"./helpers\\\":559}],559:[function(t,e,r){\\\"use strict\\\";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.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\\\"date\\\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],560:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\");e.exports={moduleType:\\\"component\\\",name:\\\"shapes\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),includeBasePlot:t(\\\"../../plots/cartesian/include_components\\\")(\\\"shapes\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:n.draw,drawOne:n.drawOne}},{\\\"../../plots/cartesian/include_components\\\":658,\\\"./attributes\\\":554,\\\"./calc_autorange\\\":555,\\\"./defaults\\\":557,\\\"./draw\\\":558}],561:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./helpers\\\");e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,a,r,i)}if(s=s||{},!c(\\\"visible\\\",!(l=l||{}).itemIsNotPlainObject))return e;c(\\\"layer\\\"),c(\\\"opacity\\\"),c(\\\"fillcolor\\\"),c(\\\"line.color\\\"),c(\\\"line.width\\\"),c(\\\"line.dash\\\");for(var u=c(\\\"type\\\",t.path?\\\"path\\\":\\\"rect\\\"),f=c(\\\"xsizemode\\\"),h=c(\\\"ysizemode\\\"),p=[\\\"x\\\",\\\"y\\\"],d=0;d<2;d++){var g,m,v,y=p[d],x=y+\\\"anchor\\\",b=\\\"x\\\"===y?f:h,_={_fullLayout:r},w=i.coerceRef(t,e,_,y,\\\"\\\",\\\"paper\\\");if(\\\"paper\\\"!==w?(g=i.getFromId(_,w),v=o.rangeToShapePosition(g),m=o.shapePositionToRange(g)):m=v=n.identity,\\\"path\\\"!==u){var k=y+\\\"0\\\",M=y+\\\"1\\\",A=t[k],T=t[M];t[k]=m(t[k],!0),t[M]=m(t[M],!0),\\\"pixel\\\"===b?(c(k,0),c(M,10)):(i.coercePosition(e,_,c,w,k,.25),i.coercePosition(e,_,c,w,M,.75)),e[k]=v(e[k]),e[M]=v(e[M]),t[k]=A,t[M]=T}if(\\\"pixel\\\"===b){var S=t[x];t[x]=m(t[x],!0),i.coercePosition(e,_,c,w,x,.25),e[x]=v(e[x]),t[x]=S}}return\\\"path\\\"===u?c(\\\"path\\\"):n.noneOrAll(t,e,[\\\"x0\\\",\\\"x1\\\",\\\"y0\\\",\\\"y1\\\"]),e}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./attributes\\\":554,\\\"./helpers\\\":559}],562:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../plots/pad_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendDeepAll,o=t(\\\"../../plot_api/edit_types\\\").overrideAll,s=t(\\\"../../plots/animation_attributes\\\"),l=t(\\\"./constants\\\");e.exports=o({_isLinkedToArray:\\\"slider\\\",visible:{valType:\\\"boolean\\\",dflt:!0},active:{valType:\\\"number\\\",min:0,dflt:0},steps:{_isLinkedToArray:\\\"step\\\",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}},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:a({},i,{},{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:l.gripBgActiveColor},bgcolor:{valType:\\\"color\\\",dflt:l.railBgColor},bordercolor:{valType:\\\"color\\\",dflt:l.railBorderColor},borderwidth:{valType:\\\"number\\\",min:0,dflt:l.railBorderWidth},ticklen:{valType:\\\"number\\\",min:0,dflt:l.tickLength},tickcolor:{valType:\\\"color\\\",dflt:l.tickColor},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},minorticklen:{valType:\\\"number\\\",min:0,dflt:l.minorTickLength}},\\\"arraydraw\\\",\\\"from-root\\\")},{\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/animation_attributes\\\":643,\\\"../../plots/font_attributes\\\":674,\\\"../../plots/pad_attributes\\\":709,\\\"./constants\\\":563}],563:[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}},{}],564:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/array_container_defaults\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./constants\\\").name,s=a.steps;function l(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i(\\\"visible\\\",function(t,e){var r,i,a=t.steps||[],o=e.steps=[];function l(t,e){return n.coerce(r,i,s,t,e)}for(var c=0;c<a.length;c++)r=a[c],i={},l(\\\"method\\\"),n.isPlainObject(r)&&(\\\"skip\\\"===i.method||Array.isArray(r.args))&&(l(\\\"args\\\"),l(\\\"label\\\",\\\"step-\\\"+c),l(\\\"value\\\",i.label),l(\\\"execute\\\"),o.push(i));return o}(t,e).length>0)&&(i(\\\"active\\\"),i(\\\"x\\\"),i(\\\"y\\\"),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),i(\\\"xanchor\\\"),i(\\\"yanchor\\\"),i(\\\"len\\\"),i(\\\"lenmode\\\"),i(\\\"pad.t\\\"),i(\\\"pad.r\\\"),i(\\\"pad.b\\\"),i(\\\"pad.l\\\"),n.coerceFont(i,\\\"font\\\",r.font),i(\\\"currentvalue.visible\\\")&&(i(\\\"currentvalue.xanchor\\\"),i(\\\"currentvalue.prefix\\\"),i(\\\"currentvalue.suffix\\\"),i(\\\"currentvalue.offset\\\"),n.coerceFont(i,\\\"currentvalue.font\\\",e.font)),i(\\\"transition.duration\\\"),i(\\\"transition.easing\\\"),i(\\\"bgcolor\\\"),i(\\\"activebgcolor\\\"),i(\\\"bordercolor\\\"),i(\\\"borderwidth\\\"),i(\\\"ticklen\\\"),i(\\\"tickwidth\\\"),i(\\\"tickcolor\\\"),i(\\\"minorticklen\\\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"./attributes\\\":562,\\\"./constants\\\":563}],565:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../legend/anchor_utils\\\"),u=t(\\\"./constants\\\"),f=t(\\\"../../constants/alignment\\\"),h=f.LINE_SPACING,p=f.FROM_TL,d=f.FROM_BR;function g(t){return t._index}function m(t,e){var r=o.tester.selectAll(\\\"g.\\\"+u.labelGroupClass).data(e.steps);r.enter().append(\\\"g\\\").classed(u.labelGroupClass,!0);var a=0,s=0;r.each(function(t){var r=x(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);s=Math.max(s,i.height),a=Math.max(a,i.width)}}),r.remove();var f=e._dims={};f.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var h=t._fullLayout._size;f.lx=h.l+h.w*e.x,f.ly=h.t+h.h*(1-e.y),\\\"fraction\\\"===e.lenmode?f.outerLength=Math.round(h.w*e.len):f.outerLength=e.len,f.inputAreaStart=0,f.inputAreaLength=Math.round(f.outerLength-e.pad.l-e.pad.r);var g=(f.inputAreaLength-2*u.stepInset)/(e.steps.length-1),m=a+u.labelPadding;if(f.labelStride=Math.max(1,Math.ceil(m/g)),f.labelHeight=s,f.currentValueMaxWidth=0,f.currentValueHeight=0,f.currentValueTotalHeight=0,f.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append(\\\"g\\\");r.each(function(t){var r=v(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=l.lineCount(r);f.currentValueMaxWidth=Math.max(f.currentValueMaxWidth,Math.ceil(n.width)),f.currentValueHeight=Math.max(f.currentValueHeight,Math.ceil(n.height)),f.currentValueMaxLines=Math.max(f.currentValueMaxLines,i)}),f.currentValueTotalHeight=f.currentValueHeight+e.currentvalue.offset,y.remove()}f.height=f.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+f.labelHeight+e.pad.t+e.pad.b;var b=\\\"left\\\";c.isRightAnchor(e)&&(f.lx-=f.outerLength,b=\\\"right\\\"),c.isCenterAnchor(e)&&(f.lx-=f.outerLength/2,b=\\\"center\\\");var _=\\\"top\\\";c.isBottomAnchor(e)&&(f.ly-=f.height,_=\\\"bottom\\\"),c.isMiddleAnchor(e)&&(f.ly-=f.height/2,_=\\\"middle\\\"),f.outerLength=Math.ceil(f.outerLength),f.height=Math.ceil(f.height),f.lx=Math.round(f.lx),f.ly=Math.round(f.ly),i.autoMargin(t,u.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:f.outerLength*p[b],r:f.outerLength*d[b],b:f.height*d[_],t:f.height*p[_]})}function v(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case\\\"right\\\":n=a.inputAreaLength-u.currentValueInset-a.currentValueMaxWidth,i=\\\"left\\\";break;case\\\"center\\\":n=.5*a.inputAreaLength,i=\\\"middle\\\";break;default:n=u.currentValueInset,i=\\\"left\\\"}var c=s.ensureSingle(t,\\\"text\\\",u.labelClass,function(t){t.classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":i,\\\"data-notex\\\":1})}),f=e.currentvalue.prefix?e.currentvalue.prefix:\\\"\\\";if(\\\"string\\\"==typeof r)f+=r;else f+=e.steps[e.active].label;e.currentvalue.suffix&&(f+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(f).call(l.convertToTspans,e._gd);var p=l.lineCount(c),d=(a.currentValueMaxLines+1-p)*e.currentvalue.font.size*h;return l.positionText(c,n,d),c}}function y(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(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style(\\\"stroke-width\\\",r.borderwidth+\\\"px\\\")}function x(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})});return n.call(o.font,r.font).text(e.step.label).call(l.convertToTspans,r._gd),n}function b(t,e){var r=s.ensureSingle(t,\\\"g\\\",u.labelsClass),i=e._dims,a=r.selectAll(\\\"g.\\\"+u.labelGroupClass).data(i.labelSteps);a.enter().append(\\\"g\\\").classed(u.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var r=n.select(this);r.call(x,t,e),o.setTranslate(r,T(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*h+u.labelOffset+i.currentValueTotalHeight)})}function _(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&w(t,e,r,a,!0,i)}function w(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(A,r,r.active/(r.steps.length-1),o),e.call(v,r),t.emit(\\\"plotly_sliderchange\\\",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function k(t,e,r){var i=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(a.fill,t.activebgcolor);var c=S(t,n.mouse(i)[0]);_(e,r,t,c,!0),t._dragging=!0,o.on(\\\"mousemove\\\",function(){var t=s(),a=S(t,n.mouse(i)[0]);_(e,r,t,a,!1)}),o.on(\\\"mouseup\\\",function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on(\\\"mouseup\\\",null),o.on(\\\"mousemove\\\",null),e.emit(\\\"plotly_sliderend\\\",{slider:t,step:t.steps[t.active]})})})}function M(t,e){var r=t.selectAll(\\\"rect.\\\"+u.tickRectClass).data(e.steps),i=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%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,T(e,r/(e.steps.length-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+i.currentValueTotalHeight)})}function A(t,e,r,n){var i=t.select(\\\"rect.\\\"+u.gripRectClass),a=T(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\\\"transform\\\",\\\"translate(\\\"+(a-.5*u.gripWidth)+\\\",\\\"+e._dims.currentValueTotalHeight+\\\")\\\")}}function T(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function S(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,i=s.ensureSingle(t,\\\"rect\\\",u.railTouchRectClass,function(n){n.call(k,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\\\"opacity\\\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function E(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,i=s.ensureSingle(t,\\\"rect\\\",u.railRectClass);i.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,\\\"shape-rendering\\\":\\\"crispEdges\\\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\"),o.setTranslate(i,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=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll(\\\"g.\\\"+u.containerClassName).data(r.length>0?[0]:[]);if(a.enter().append(\\\"g\\\").classed(u.containerClassName,!0).style(\\\"cursor\\\",\\\"ew-resize\\\"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var a=r[n];-1!==a.indexOf(u.autoMarginIdRoot)&&i.autoMargin(t,a)}}(t),0!==r.length){var s=a.selectAll(\\\"g.\\\"+u.groupClassName).data(r,g);s.enter().append(\\\"g\\\").classed(u.groupClassName,!0),s.exit().each(function(e){n.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,i.autoMargin(t,u.autoMarginIdRoot+e._index)});for(var l=0;l<r.length;l++){var c=r[l];m(t,c)}s.each(function(e){if(!(e.steps.length<2)){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t.steps.length,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t.steps[n]})}(e),i.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||w(t,r,n,e.index,!1,!0))}),function(t,e,r){r.active>=r.steps.length&&(r.active=0);e.call(v,r).call(E,r).call(b,r).call(M,r).call(C,t,r).call(y,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(A,r,r.active/(r.steps.length-1),!1),e.call(v,r)}(t,n.select(this),e)}})}}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../color\\\":474,\\\"../drawing\\\":499,\\\"../legend/anchor_utils\\\":526,\\\"./constants\\\":563,d3:130}],566:[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\\\":562,\\\"./constants\\\":563,\\\"./defaults\\\":564,\\\"./draw\\\":565}],567:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../drawing\\\"),c=t(\\\"../color\\\"),u=t(\\\"../../lib/svg_text_utils\\\"),f=t(\\\"../../constants/interactions\\\");e.exports={draw:function(t,e,r){var p,d=r.propContainer,g=r.propName,m=r.placeholder,v=r.traceIndex,y=r.avoid||{},x=r.attributes,b=r.transform,_=r.containerGroup,w=t._fullLayout,k=d.titlefont||{},M=k.family,A=k.size,T=k.color,S=1,C=!1,E=(d.title||\\\"\\\").trim();\\\"title\\\"===g?p=\\\"titleText\\\":-1!==g.indexOf(\\\"axis\\\")?p=\\\"axisTitleText\\\":g.indexOf(!0)&&(p=\\\"colorbarTitleText\\\");var L=t._context.edits[p];\\\"\\\"===E?S=0:E.replace(h,\\\" % \\\")===m.replace(h,\\\" % \\\")&&(S=.2,C=!0,L||(E=\\\"\\\"));var z=E||L;_||(_=s.ensureSingle(w._infolayer,\\\"g\\\",\\\"g-\\\"+e));var P=_.selectAll(\\\"text\\\").data(z?[0]:[]);if(P.enter().append(\\\"text\\\"),P.text(E).attr(\\\"class\\\",e),P.exit().remove(),!z)return _;function D(t){s.syncOrAsync([O,I],t)}function O(e){var r;return b?(r=\\\"\\\",b.rotate&&(r+=\\\"rotate(\\\"+[b.rotate,x.x,x.y]+\\\")\\\"),b.offset&&(r+=\\\"translate(0, \\\"+b.offset+\\\")\\\")):r=null,e.attr(\\\"transform\\\",r),e.style({\\\"font-family\\\":M,\\\"font-size\\\":n.round(A,2)+\\\"px\\\",fill:c.rgb(T),opacity:S*c.opacity(T),\\\"font-weight\\\":a.fontWeight}).attr(x).call(u.convertToTspans,t),a.previousPromises(t)}function I(t){var e=n.select(t.node().parentNode);if(y&&y.selection&&y.side&&E){e.attr(\\\"transform\\\",null);var r=0,a={left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}[y.side],o=-1!==[\\\"left\\\",\\\"top\\\"].indexOf(y.side)?-1:1,c=i(y.pad)?y.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:w.width,bottom:w.height},h=y.maxShift||(f[y.side]-u[y.side])*(\\\"left\\\"===y.side||\\\"top\\\"===y.side?-1:1);if(h<0)r=h;else{var p=y.offsetLeft||0,d=y.offsetTop||0;u.left-=p,u.right-=p,u.top-=d,u.bottom-=d,y.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&&(r=Math.max(r,o*(t[y.side]-u[a])+c))}),r=Math.min(h,r)}if(r>0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr(\\\"transform\\\",\\\"translate(\\\"+g+\\\")\\\")}}}P.call(D),L&&(E?P.on(\\\".opacity\\\",null):(S=0,C=!0,P.text(m).on(\\\"mouseover.opacity\\\",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\\\"opacity\\\",0)})),P.call(u.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){void 0!==v?o.call(\\\"restyle\\\",t,g,e,v):o.call(\\\"relayout\\\",t,g,e)}).on(\\\"cancel\\\",function(){this.text(this.attr(\\\"data-unformatted\\\")).call(D)}).on(\\\"input\\\",function(t){this.text(t||\\\" \\\").call(u.positionText,x.x,x.y)}));return P.classed(\\\"js-placeholder\\\",C),_}};var h=/ [XY][0-9]* /},{\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../drawing\\\":499,d3:130,\\\"fast-isnumeric\\\":196}],568:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"../../plot_api/edit_types\\\").overrideAll,s=t(\\\"../../plots/pad_attributes\\\");e.exports=o({_isLinkedToArray:\\\"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:{_isLinkedToArray:\\\"button\\\",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\\\",dflt:\\\"\\\"},execute:{valType:\\\"boolean\\\",dflt:!0}},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:a({},s,{}),font:n({}),bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.borderLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"arraydraw\\\"}},\\\"arraydraw\\\",\\\"from-root\\\")},{\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/font_attributes\\\":674,\\\"../../plots/pad_attributes\\\":709,\\\"../color/attributes\\\":473}],569:[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\\\"}}},{}],570:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/array_container_defaults\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./constants\\\").name,s=a.buttons;function l(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i(\\\"visible\\\",function(t,e){var r,i,a=t.buttons||[],o=e.buttons=[];function l(t,e){return n.coerce(r,i,s,t,e)}for(var c=0;c<a.length;c++)r=a[c],i={},l(\\\"method\\\"),n.isPlainObject(r)&&(\\\"skip\\\"===i.method||Array.isArray(r.args))&&(l(\\\"args\\\"),l(\\\"label\\\"),l(\\\"execute\\\"),i._index=c,o.push(i));return o}(t,e).length>0)&&(i(\\\"active\\\"),i(\\\"direction\\\"),i(\\\"type\\\"),i(\\\"showactive\\\"),i(\\\"x\\\"),i(\\\"y\\\"),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),i(\\\"xanchor\\\"),i(\\\"yanchor\\\"),i(\\\"pad.t\\\"),i(\\\"pad.r\\\"),i(\\\"pad.b\\\"),i(\\\"pad.l\\\"),n.coerceFont(i,\\\"font\\\",r.font),i(\\\"bgcolor\\\",r.paper_bgcolor),i(\\\"bordercolor\\\"),i(\\\"borderwidth\\\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"./attributes\\\":568,\\\"./constants\\\":569}],571:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../legend/anchor_utils\\\"),u=t(\\\"../../constants/alignment\\\").LINE_SPACING,f=t(\\\"./constants\\\"),h=t(\\\"./scrollbox\\\");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\\\"buttons\\\"===e.type?v(t,n,null,null,e):\\\"dropdown\\\"===e.type&&(i.attr(f.menuIndexAttrName,\\\"-1\\\"),m(t,n,i,a,e),s||v(t,n,i,a,e))}function m(t,e,r,n,i){var a=s.ensureSingle(e,\\\"g\\\",f.headerClassName,function(t){t.style(\\\"pointer-events\\\",\\\"all\\\")}),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(A,i,h,p),s.ensureSingle(e,\\\"text\\\",f.headerArrowClassName,function(t){t.classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"end\\\").call(o.font,i.font).text(f.arrowSymbol[i.direction])}).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on(\\\"click\\\",function(){r.call(T),r.attr(f.menuIndexAttrName,d(r,i)?-1:String(i._index)),v(t,e,r,n,i)}),a.on(\\\"mouseover\\\",function(){a.call(w)}),a.on(\\\"mouseout\\\",function(){a.call(k,i)}),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr(\\\"pointer-events\\\",\\\"all\\\");var s=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&\\\"buttons\\\"!==o.type?[]:o.buttons,l=\\\"dropdown\\\"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll(\\\"g.\\\"+l).data(s),u=c.enter().append(\\\"g\\\").classed(l,!0),h=c.exit();\\\"dropdown\\\"===o.type?(u.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),h.transition().attr(\\\"opacity\\\",\\\"0\\\").remove()):h.remove();var p=0,d=0,m=o._dims,v=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(o.direction);\\\"dropdown\\\"===o.type&&(v?d=m.headerHeight+f.gapButtonHeader:p=m.headerWidth+f.gapButtonHeader),\\\"dropdown\\\"===o.type&&\\\"up\\\"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-m.openHeight),\\\"dropdown\\\"===o.type&&\\\"left\\\"===o.direction&&(p=-f.gapButtonHeader+f.gapButton-m.openWidth);var x={x:m.lx+p+o.pad.l,y:m.ly+d+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},b={l:x.x+o.borderwidth,t:x.y+o.borderwidth};c.each(function(s,l){var u=n.select(this);u.call(y,o,s,t).call(A,o,x),u.on(\\\"click\\\",function(){n.event.defaultPrevented||(g(t,o,0,e,r,a,l),s.execute&&i.executeAPICommand(t,s.method,s.args),t.emit(\\\"plotly_buttonclicked\\\",{menu:o,button:s,active:o.active}))}),u.on(\\\"mouseover\\\",function(){u.call(w)}),u.on(\\\"mouseout\\\",function(){u.call(k,o),c.call(_,o)})}),c.call(_,o),v?(b.w=Math.max(m.openWidth,m.headerWidth),b.h=x.y-b.t):(b.w=x.x-b.l,b.h=Math.max(m.openHeight,m.headerHeight)),b.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=\\\"up\\\"===c||\\\"down\\\"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=h.heights[l]+f.gapButton;else for(o=0,l=0;l<p;l++)o+=h.widths[l]+f.gapButton;n.enable(a,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,a,o,b):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()})}(a))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,\\\"rect\\\",f.itemRectClassName,function(t){t.attr({rx:f.rx,ry:f.ry,\\\"shape-rendering\\\":\\\"crispEdges\\\"})}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function b(t,e,r,n){s.ensureSingle(t,\\\"text\\\",f.itemTextClassName,function(t){t.classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"start\\\",\\\"data-notex\\\":1})}).call(o.font,e.font).text(r.label).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each(function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select(\\\"rect.\\\"+f.itemRectClassName).call(a.fill,f.activeColor)})}function w(t){t.select(\\\"rect.\\\"+f.itemRectClassName).call(a.fill,f.hoverColor)}function k(t,e){t.select(\\\"rect.\\\"+f.itemRectClassName).call(a.fill,e.bgcolor)}function M(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll(\\\"g.\\\"+f.dropdownButtonClassName).data(e.buttons);a.enter().append(\\\"g\\\").classed(f.dropdownButtonClassName,!0);var s=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction);a.each(function(i,a){var c=n.select(this);c.call(y,e,i,t);var h=c.select(\\\".\\\"+f.itemTextClassName),p=h.node()&&o.bBox(h.node()).width,d=Math.max(p+f.textPadX,f.minWidth),g=e.font.size*u,m=l.lineCount(h),v=Math.max(g*m,f.minHeight)+f.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),s?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+f.gapButton,r.openHeight+=v+f.gapButton):(r.totalWidth+=d+f.gapButton,r.openWidth+=d+f.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)}),s?r.totalHeight-=f.gapButton:r.totalWidth-=f.gapButton,r.headerWidth=r.width1+f.arrowPadX,r.headerHeight=r.height1,\\\"dropdown\\\"===e.type&&(s?(r.width1+=f.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=f.arrowPadX),a.remove();var h=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\\\";c.isRightAnchor(e)&&(r.lx-=h,g=\\\"right\\\"),c.isCenterAnchor(e)&&(r.lx-=h/2,g=\\\"center\\\");var m=\\\"top\\\";c.isBottomAnchor(e)&&(r.ly-=p,m=\\\"bottom\\\"),c.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),i.autoMargin(t,f.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:h*({right:1,center:.5}[g]||0),r:h*({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,e,r,n){n=n||{};var i=t.select(\\\".\\\"+f.itemRectClassName),a=t.select(\\\".\\\"+f.itemTextClassName),s=e.borderwidth,c=r.index,h=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction),d=n.height||(p?h.heights[c]:h.height1);i.attr({x:0,y:0,width:n.width||(p?h.width1:h.widths[c]),height:d});var g=e.font.size*u,m=(l.lineCount(a)-1)*g/2;l.positionText(a,f.textOffsetX,d/2-m+f.textOffsetY),p?r.y+=h.heights[c]+r.yPad:r.x+=h.widths[c]+r.xPad,r.index++}function T(t){t.selectAll(\\\"g.\\\"+f.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=function(t){for(var e=t[f.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}(e),a=e._menulayer.selectAll(\\\"g.\\\"+f.containerClassName).data(r.length>0?[0]:[]);if(a.enter().append(\\\"g\\\").classed(f.containerClassName,!0).style(\\\"cursor\\\",\\\"pointer\\\"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var a=r[n];-1!==a.indexOf(f.autoMarginIdRoot)&&i.autoMargin(t,a)}}(t),0!==r.length){var o=a.selectAll(\\\"g.\\\"+f.headerGroupClassName).data(r,p);o.enter().append(\\\"g\\\").classed(f.headerGroupClassName,!0);for(var l=s.ensureSingle(a,\\\"g\\\",f.dropdownButtonGroupClassName,function(t){t.style(\\\"pointer-events\\\",\\\"all\\\")}),c=0;c<r.length;c++){var u=r[c];M(t,u)}var y=\\\"updatemenus\\\"+e._uid,x=new h(t,l,y);o.enter().size()&&(l.node().parentNode.appendChild(l.node()),l.call(T).attr(f.menuIndexAttrName,\\\"-1\\\")),o.exit().each(function(e){n.select(this).remove(),l.call(T).attr(f.menuIndexAttrName,\\\"-1\\\"),i.autoMargin(t,f.autoMarginIdRoot+e._index)}),o.each(function(e){var r=n.select(this),a=\\\"dropdown\\\"===e.type?l:null;i.manageCommandObserver(t,e,e.buttons,function(n){g(t,e,e.buttons[n.index],r,a,x,n.index,!0)}),\\\"dropdown\\\"===e.type?(m(t,r,l,x,e),d(l,e)&&v(t,r,l,x,e)):v(t,r,null,null,e)})}}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../color\\\":474,\\\"../drawing\\\":499,\\\"../legend/anchor_utils\\\":526,\\\"./constants\\\":569,\\\"./scrollbox\\\":573,d3:130}],572:[function(t,e,r){arguments[4][566][0].apply(r,arguments)},{\\\"./attributes\\\":568,\\\"./constants\\\":569,\\\"./defaults\\\":570,\\\"./draw\\\":571,dup:566}],573:[function(t,e,r){\\\"use strict\\\";e.exports=s;var n=t(\\\"d3\\\"),i=t(\\\"../color\\\"),a=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,f,h,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,k=v;x||b||\\\"right\\\"===y||_||(this.position.direction=\\\"down\\\",x=!0),x||_?(f=(u=d)+w,x?(h=m,k=(p=Math.min(h+k,c))-h):k=(p=m+k)-(h=Math.max(p-k,0))):(p=(h=m)+k,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:k};var M=g>w,A=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,C=m+v;C+T>c&&(C=c-T);var E=this.container.selectAll(\\\"rect.scrollbar-horizontal\\\").data(M?[0]:[]);E.exit().on(\\\".drag\\\",null).remove(),E.enter().append(\\\"rect\\\").classed(\\\"scrollbar-horizontal\\\",!0).call(i.fill,s.barColor),M?(this.hbar=E.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:C,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>k,z=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,D=d+g,O=m;D+z>l&&(D=l-z);var I=this.container.selectAll(\\\"rect.scrollbar-vertical\\\").data(L?[0]:[]);I.exit().on(\\\".drag\\\",null).remove(),I.enter().append(\\\"rect\\\").classed(\\\"scrollbar-vertical\\\",!0).call(i.fill,s.barColor),L?(this.vbar=I.attr({rx:s.barRadius,ry:s.barRadius,x:D,y:O,width:z,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,B=u-.5,F=L?f+z+.5:f+.5,N=h-.5,j=M?p+T+.5:p+.5,V=o._topdefs.selectAll(\\\"#\\\"+R).data(M||L?[0]:[]);if(V.exit().remove(),V.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",R).append(\\\"rect\\\"),M||L?(this._clipRect=V.select(\\\"rect\\\").attr({x:Math.floor(B),y:Math.floor(N),width:Math.ceil(F)-Math.floor(B),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R),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(a.setClipUrl,null),delete this._clipRect),M||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));M&&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(a.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,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(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(a.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 i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{\\\"../../lib\\\":602,\\\"../color\\\":474,\\\"../drawing\\\":499,d3:130}],574:[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,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}}},{}],575:[function(t,e,r){\\\"use strict\\\";e.exports={COMPARISON_OPS:[\\\"=\\\",\\\"!=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],COMPARISON_OPS2:[\\\"=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],INTERVAL_OPS:[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],SET_OPS:[\\\"{}\\\",\\\"}{\\\"],CONSTRAINT_REDUCTION:{\\\"=\\\":\\\"=\\\",\\\"<\\\":\\\"<\\\",\\\"<=\\\":\\\"<\\\",\\\">\\\":\\\">\\\",\\\">=\\\":\\\">\\\",\\\"[]\\\":\\\"[]\\\",\\\"()\\\":\\\"[]\\\",\\\"[)\\\":\\\"[]\\\",\\\"(]\\\":\\\"[]\\\",\\\"][\\\":\\\"][\\\",\\\")(\\\":\\\"][\\\",\\\"](\\\":\\\"][\\\",\\\")[\\\":\\\"][\\\"}}},{}],576:[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]}},{}],577:[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\\\"}},{}],578:[function(t,e,r){\\\"use strict\\\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],579:[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:1-1e-6,MINUS_SIGN:\\\"\\\\u2212\\\"}},{}],580:[function(t,e,r){\\\"use strict\\\";e.exports={entityToUnicode:{mu:\\\"\\\\u03bc\\\",\\\"#956\\\":\\\"\\\\u03bc\\\",amp:\\\"&\\\",\\\"#28\\\":\\\"&\\\",lt:\\\"<\\\",\\\"#60\\\":\\\"<\\\",gt:\\\">\\\",\\\"#62\\\":\\\">\\\",nbsp:\\\"\\\\xa0\\\",\\\"#160\\\":\\\"\\\\xa0\\\",times:\\\"\\\\xd7\\\",\\\"#215\\\":\\\"\\\\xd7\\\",plusmn:\\\"\\\\xb1\\\",\\\"#177\\\":\\\"\\\\xb1\\\",deg:\\\"\\\\xb0\\\",\\\"#176\\\":\\\"\\\\xb0\\\"}}},{}],581:[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}},{}],582:[function(t,e,r){\\\"use strict\\\";r.version=\\\"1.37.1\\\",t(\\\"es6-promise\\\").polyfill(),t(\\\"../build/plotcss\\\"),t(\\\"./fonts/mathjax_config\\\");for(var n=t(\\\"./registry\\\"),i=r.register=n.register,a=t(\\\"./plot_api\\\"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];r[l]=a[l],i({moduleType:\\\"apiMethod\\\",name:l,fn:a[l]})}i(t(\\\"./traces/scatter\\\")),i([t(\\\"./components/fx\\\"),t(\\\"./components/legend\\\"),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\\\")]),i([t(\\\"./locale-en\\\"),t(\\\"./locale-en-us\\\")]),r.Icons=t(\\\"../build/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,\\\"../build/ploticon\\\":2,\\\"./components/annotations\\\":465,\\\"./components/annotations3d\\\":470,\\\"./components/errorbars\\\":505,\\\"./components/fx\\\":516,\\\"./components/grid\\\":520,\\\"./components/images\\\":525,\\\"./components/legend\\\":534,\\\"./components/rangeselector\\\":546,\\\"./components/rangeslider\\\":552,\\\"./components/shapes\\\":560,\\\"./components/sliders\\\":566,\\\"./components/updatemenus\\\":572,\\\"./fonts/mathjax_config\\\":583,\\\"./lib/queue\\\":617,\\\"./locale-en\\\":631,\\\"./locale-en-us\\\":630,\\\"./plot_api\\\":635,\\\"./plot_api/plot_schema\\\":639,\\\"./plots/plots\\\":710,\\\"./registry\\\":732,\\\"./snapshot\\\":737,\\\"./traces/scatter\\\":938,d3:130,\\\"es6-promise\\\":184}],583:[function(t,e,r){\\\"use strict\\\";\\\"undefined\\\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\\\"none\\\",skipStartupTypeset:!0,displayAlign:\\\"left\\\",tex2jax:{inlineMath:[[\\\"$\\\",\\\"$\\\"],[\\\"\\\\\\\\(\\\",\\\"\\\\\\\\)\\\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],584:[function(t,e,r){\\\"use strict\\\";var n=Math.PI;r.deg2rad=function(t){return t/180*n},r.rad2deg=function(t){return t/n*180},r.wrap360=function(t){var e=t%360;return e<0?e+360:e},r.wrap180=function(t){return Math.abs(t)>180&&(t-=360*Math.round(t/360)),t}},{}],585:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../constants/numerical\\\").BADNUM,a=/^['\\\"%,$#\\\\s']+|[, ]|['\\\"%,$#\\\\s']+$/g;e.exports=function(t){return\\\"string\\\"==typeof t&&(t=t.replace(a,\\\"\\\")),n(t)?Number(t):i}},{\\\"../constants/numerical\\\":579,\\\"fast-isnumeric\\\":196}],586:[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})})}},{}],587:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../plots/attributes\\\"),o=t(\\\"../components/colorscale/get_scale\\\"),s=(Object.keys(t(\\\"../components/colorscale/scales\\\")),t(\\\"./nested_property\\\")),l=t(\\\"./regex\\\").counter,c=t(\\\"../constants/interactions\\\").DESELECTDIM,u=t(\\\"./angles\\\").wrap180,f=t(\\\"./is_array\\\").isArrayOrTypedArray;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(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 i=String(r[n]);if(\\\"/\\\"===i.charAt(0)&&\\\"/\\\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.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,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t){var i=\\\"number\\\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){\\\"auto\\\"===t?e.set(\\\"auto\\\"):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||l(r);\\\"string\\\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\\\"string\\\"==typeof t&&!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\\\"+\\\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.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,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||\\\"1-2\\\"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.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]:[],f=v?p.length:g?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],g?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items,i=Array.isArray(n),a=2===e.dimensions;if(!e.freeLength&&t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(a){if(!Array.isArray(t[o])||!e.freeLength&&t[o].length!==n[o].length)return!1;for(var s=0;s<t[o].length;s++)if(!r.validate(t[o][s],i?n[o][s]:n))return!1}else if(!r.validate(t[o],i?n[o]:n))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get();return void 0===a&&(a=o.dflt),o.arrayOk&&f(u)?(c.set(u),u):(r.valObjectMeta[o.valType].coerceFunction(u,c,a,o),c.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return void 0!==c&&null!==c&&l},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 i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c=\\\"all\\\"===l.dflt?l.flags.slice():l.dflt.split(\\\"+\\\");c.splice(c.indexOf(\\\"name\\\"),1),i=c.join(\\\"+\\\")}return r.coerce(t,e,s,\\\"hoverinfo\\\",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)f(i)||t.selected||t.unselected||(r=i,n=c*i),e(\\\"selected.marker.opacity\\\",r),e(\\\"unselected.marker.opacity\\\",n)}},r.validate=function(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&f(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}},{\\\"../components/colorscale/get_scale\\\":487,\\\"../components/colorscale/scales\\\":493,\\\"../constants/interactions\\\":578,\\\"../plots/attributes\\\":645,\\\"./angles\\\":584,\\\"./is_array\\\":603,\\\"./nested_property\\\":610,\\\"./regex\\\":618,\\\"fast-isnumeric\\\":196,tinycolor2:415}],588:[function(t,e,r){\\\"use strict\\\";var n,i,a=t(\\\"d3\\\"),o=t(\\\"fast-isnumeric\\\"),s=t(\\\"./loggers\\\"),l=t(\\\"./mod\\\"),c=t(\\\"../constants/numerical\\\"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t(\\\"../registry\\\"),v=a.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))return(t=Number(t)-t.getTimezoneOffset()*p)>=n&&t<=i?t:u;if(\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t)return u;t=String(t);var a=_(e),o=t.charAt(0);!a||\\\"G\\\"!==o&&\\\"g\\\"!==o||(t=t.substr(1),e=\\\"\\\");var s=a&&\\\"chinese\\\"===e.substr(0,7),l=t.match(s?x:y);if(!l)return u;var c=l[1],v=l[3]||\\\"1\\\",w=Number(l[5]||1),k=Number(l[7]||0),M=Number(l[9]||0),A=Number(l[11]||0);if(a){if(2===c.length)return u;var T;c=Number(c);try{var S=m.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e);if(s){var C=\\\"i\\\"===v.charAt(v.length-1);v=parseInt(v,10),T=S.newDate(c,S.toMonthIndex(c,v,C),w)}else T=S.newDate(c,Number(v),w)}catch(t){return u}return T?(T.toJD()-g)*f+k*h+M*p+A*d:u}c=2===c.length?(Number(c)+2e3-b)%100+b:Number(c),v-=1;var E=new Date(Date.UTC(2e3,v,w,k,M));return E.setUTCFullYear(c),E.getUTCMonth()!==v?u:E.getUTCDate()!==w?u:E.getTime()+A*d},n=r.MIN_MS=r.dateTime2ms(\\\"-9999\\\"),i=r.MAX_MS=r.dateTime2ms(\\\"9999-12-31 23:59:59.9999\\\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,M=3*h,A=5*p;function T(t,e,r,n,i){if((e||r||n||i)&&(t+=\\\" \\\"+w(e,2)+\\\":\\\"+w(r,2),(n||i)&&(t+=\\\":\\\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\\\".\\\"+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if(\\\"number\\\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,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/f)+g,C=Math.floor(l(t,f));try{a=m.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r).fromJD(S).formatDate(\\\"yyyy-mm-dd\\\")}catch(t){a=v(\\\"G%Y-%m-%d\\\")(new Date(w))}if(\\\"-\\\"===a.charAt(0))for(;a.length<11;)a=\\\"-0\\\"+a.substr(1);else for(;a.length<10;)a=\\\"0\\\"+a;o=e<k?Math.floor(C/h):0,s=e<k?Math.floor(C%h/p):0,c=e<M?Math.floor(C%p/d):0,y=e<A?C%d*10+b:0}else x=new Date(w),a=v(\\\"%Y-%m-%d\\\")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<M?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return T(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format(\\\"%Y-%m-%d\\\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(r.isJSDate(t)||\\\"number\\\"==typeof 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 C(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 i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod(\\\"calendars\\\",\\\"worldCalFmt\\\")(t,e,n)}catch(t){return\\\"Invalid\\\"}return r(t)(i)}var E=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if(\\\"y\\\"===r)e=a.year;else if(\\\"m\\\"===r)e=a.month;else{if(\\\"d\\\"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+\\\":\\\"+w(l(Math.floor(r/p),60),2);if(\\\"M\\\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),E[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\\\"\\\").replace(/[\\\\.]$/,\\\"\\\")),n+=\\\":\\\"+i}return n}(t,r)+\\\"\\\\n\\\"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+\\\"\\\\n\\\"+a.year}return C(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\\\"m\\\"):a.add(o,e/12,\\\"y\\\"),(o.toJD()-g)*f+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,i=0,a=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%f))if(c)try{1===(r=c.fromJD(n/f+g)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{\\\"../constants/numerical\\\":579,\\\"../registry\\\":732,\\\"./loggers\\\":607,\\\"./mod\\\":609,d3:130,\\\"fast-isnumeric\\\":196}],589:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],590:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"events\\\").EventEmitter,i={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,i){\\\"undefined\\\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\\\"undefined\\\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},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=i},{events:194}],591:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is_plain_object.js\\\"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(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&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):(void 0!==u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{\\\"./is_plain_object.js\\\":604}],592:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],593:[function(t,e,r){\\\"use strict\\\";function n(t){return!0===t.visible}function i(t){return!0===t[0].trace.visible}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],594:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"country-regex\\\"),i=t(\\\"../lib\\\"),a=Object.keys(n),o={\\\"ISO-3\\\":i.identity,\\\"USA-states\\\":i.identity,\\\"country names\\\":function(t){for(var e=0;e<a.length;e++){var r=a[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return i.log(\\\"Unrecognized country name: \\\"+t+\\\".\\\"),!1}};r.locationToFeature=function(t,e,r){if(!e||\\\"string\\\"!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===n)return s}i.log([\\\"Location with id\\\",n,\\\"does not have a matching topojson feature at this resolution.\\\"].join(\\\" \\\"))}return!1}},{\\\"../lib\\\":602,\\\"country-regex\\\":114}],595:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../constants/numerical\\\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),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\\\":579}],596:[function(t,e,r){\\\"use strict\\\";var n,i,a,o=t(\\\"./mod\\\");function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var g=(c*p-u*h)/d,m=(c*f-l*h)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=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)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,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,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{\\\"./mod\\\":609}],597:[function(t,e,r){\\\"use strict\\\";e.exports=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||void 0===t)throw new Error(\\\"DOM element provided is null or undefined\\\");return t}},{}],598:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"color-normalize\\\"),a=t(\\\"../components/colorscale\\\"),o=t(\\\"../components/color/attributes\\\").defaultLine,s=t(\\\"./is_array\\\").isArrayOrTypedArray,l=i(o),c=1;function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return l;var e=i(t);return e.length?e:l}function h(t){return n(t)?t:c}e.exports=function(t,e,r){var n,o,p,d,g,m=t.color,v=s(m),y=s(e),x=[];if(n=void 0!==t.colorscale?a.makeColorScaleFunc(a.extractScale(t.colorscale,t.cmin,t.cmax)):f,o=v?function(t,e){return void 0===t[e]?l:i(n(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?c:h(t[e])}:h,v||y)for(var b=0;b<r;b++)d=o(m,b),g=p(e,b),x[b]=u(d,g);else x=u(i(m),e);return x}},{\\\"../components/color/attributes\\\":473,\\\"../components/colorscale\\\":489,\\\"./is_array\\\":603,\\\"color-normalize\\\":100,\\\"fast-isnumeric\\\":196}],599:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./identity\\\");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{\\\"./identity\\\":601}],600:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"superscript-text\\\"),i=t(\\\"../constants/string_mappings\\\");e.exports=function(t){return\\\"\\\"+function(t){for(var e=i.entityToUnicode,r=0;(r=t.indexOf(\\\"&\\\",r))>=0;){var n=t.indexOf(\\\";\\\",r);if(n<r)r+=1;else{var a=e[t.slice(r+1,n)];t=a?t.slice(0,r)+a+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\\\\<.*\\\\>/g,\\\"\\\")}(function(t){for(var e=0;(e=t.indexOf(\\\"<sup>\\\",e))>=0;){var r=t.indexOf(\\\"</sup>\\\",e);if(r<e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\\\<br\\\\>/g,\\\"\\\\n\\\"))))}},{\\\"../constants/string_mappings\\\":580,\\\"superscript-text\\\":408}],601:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t}},{}],602:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../constants/numerical\\\"),o=a.FP_SAFE,s=a.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.mod=t(\\\"./mod\\\"),l.toLogRange=t(\\\"./to_log_range\\\"),l.relinkPrivateKeys=t(\\\"./relink_private\\\"),l.ensureArray=t(\\\"./ensure_array\\\");var c=t(\\\"./is_array\\\");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D;var u=t(\\\"./coerce\\\");l.valObjectMeta=u.valObjectMeta,l.coerce=u.coerce,l.coerce2=u.coerce2,l.coerceFont=u.coerceFont,l.coerceHoverinfo=u.coerceHoverinfo,l.coerceSelectionMarkerOpacity=u.coerceSelectionMarkerOpacity,l.validate=u.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 h=t(\\\"./search\\\");l.findBin=h.findBin,l.sorterAsc=h.sorterAsc,l.sorterDes=h.sorterDes,l.distinctVals=h.distinctVals,l.roundUp=h.roundUp;var p=t(\\\"./stats\\\");l.aggNums=p.aggNums,l.len=p.len,l.mean=p.mean,l.variance=p.variance,l.stdev=p.stdev,l.interp=p.interp;var d=t(\\\"./matrix\\\");l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var g=t(\\\"./angles\\\");l.deg2rad=g.deg2rad,l.rad2deg=g.rad2deg,l.wrap360=g.wrap360,l.wrap180=g.wrap180;var m=t(\\\"./geometry2d\\\");l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var v=t(\\\"./extend\\\");l.extendFlat=v.extendFlat,l.extendDeep=v.extendDeep,l.extendDeepAll=v.extendDeepAll,l.extendDeepNoArrays=v.extendDeepNoArrays;var y=t(\\\"./loggers\\\");l.log=y.log,l.warn=y.warn,l.error=y.error;var x=t(\\\"./regex\\\");l.counterRegex=x.counter;var b=t(\\\"./throttle\\\");l.throttle=b.throttle,l.throttleDone=b.done,l.clearThrottle=b.clear,l.getGraphDiv=t(\\\"./get_graph_div\\\"),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 i(t)?(t=Number(t))<-o||t>o?s:i(t)?Number(t):s:s},l.noop=t(\\\"./noop\\\"),l.identity=t(\\\"./identity\\\"),l.swapAttrs=function(t,e,r,n){r||(r=\\\"x\\\"),n||(n=\\\"y\\\");for(var i=0;i<e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(\\\"?\\\",r)),s=l.nestedProperty(t,a.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){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\\\"0\\\";var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=\\\"\\\";for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i<Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&&(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var c=parseInt(s,n);return e&&e.indexOf(s)>-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):s},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,i,a,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(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).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,i,a=!1,o=!0;for(n=0;n<r.length;n++)void 0!==(i=t[r[n]])&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(l.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(i)?Array.isArray(e)&&l.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){var n,a,o=e.selectedpoints,s=e._indexToPoints;if(s)for(var l in n={},s)for(var c=s[l],u=0;u<c.length;u++)n[c[u]]=l;function f(e){return void 0!==e&&e<t.length}for(var h=0;h<o.length;h++){var p=o[h];if(i(a=p)&&a>=0&&a%1==0){var d=n?n[p]:p,g=r?r[d]:d;f(g)&&(t[g].selected=1)}}},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,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\\\"_\\\"!==i.charAt(0)&&\\\"function\\\"!=typeof a&&(\\\"module\\\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\\\"object\\\"==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\\\"object\\\"==typeof(a=e[i=o[n]])&&i in r&&\\\"object\\\"==typeof r[i]||(r[i]=a);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.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\\\"js-plotly-plot\\\")},l.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(\\\"style\\\");r.appendChild(document.createTextNode(\\\"\\\")),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+\\\"{\\\"+e+\\\"}\\\",0):n.addRule?n.addRule(t,e,0):l.warn(\\\"addStyleRule failed\\\")},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&&\\\"function\\\"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?\\\".\\\"+r:\\\"\\\"));if(i.size())return i;var a=t.append(e).classed(r,!0);return n&&a.call(n),a},l.ensureSingleById=function(t,e,r,n){var i=t.select(e+\\\"#\\\"+r);if(i.size())return i;var a=t.append(e).attr(\\\"id\\\",r);return n&&a.call(n),a},l.objectFromPath=function(t,e){for(var r,n=t.split(\\\".\\\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\\\[([0-9]+)\\\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var _=/^([^\\\\[\\\\.]+)\\\\.(.+)?/,w=/^([^\\\\.]+)\\\\[([0-9]+)\\\\](\\\\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\\\"object\\\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(_))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(w))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\\\".\\\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):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})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\\\".\\\"),s=o[0],l=o.length>1?i+o[1]:\\\"\\\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\\\"$1\\\"+a+\\\"$2\\\");return s+l};var k=/%{([^\\\\s%{}]*)}/g,M=/^\\\\w*$/;l.templateString=function(t,e){var r={};return t.replace(k,function(t,n){return M.test(n)?e[n]||\\\"\\\":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||\\\"\\\")})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var A=2e9;l.seedPseudoRandom=function(){A=2e9},l.pseudoRandom=function(){var t=A;return A=(69069*A+1)%4294967296,Math.abs(A-t)<429496729?l.pseudoRandom():A/4294967296}},{\\\"../constants/numerical\\\":579,\\\"./angles\\\":584,\\\"./clean_number\\\":585,\\\"./coerce\\\":587,\\\"./dates\\\":588,\\\"./ensure_array\\\":589,\\\"./extend\\\":591,\\\"./filter_unique\\\":592,\\\"./filter_visible\\\":593,\\\"./geometry2d\\\":596,\\\"./get_graph_div\\\":597,\\\"./identity\\\":601,\\\"./is_array\\\":603,\\\"./is_plain_object\\\":604,\\\"./keyed_container\\\":605,\\\"./localize\\\":606,\\\"./loggers\\\":607,\\\"./matrix\\\":608,\\\"./mod\\\":609,\\\"./nested_property\\\":610,\\\"./noop\\\":611,\\\"./notifier\\\":612,\\\"./push_unique\\\":616,\\\"./regex\\\":618,\\\"./relative_attr\\\":619,\\\"./relink_private\\\":620,\\\"./search\\\":621,\\\"./stats\\\":624,\\\"./throttle\\\":627,\\\"./to_log_range\\\":628,d3:130,\\\"fast-isnumeric\\\":196}],603:[function(t,e,r){\\\"use strict\\\";var n=\\\"undefined\\\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i=\\\"undefined\\\"==typeof DataView?function(){}:DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return Array.isArray(t)||a(t)}e.exports={isTypedArray:a,isArrayOrTypedArray:o,isArray1D:function(t){return!o(t[0])}}},{}],604:[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}},{}],605:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./nested_property\\\"),i=/^\\\\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||\\\"name\\\",a=a||\\\"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 f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n?h:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,h)},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){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(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+\\\"[\\\"+i+\\\"]\\\",s[i]?(1&c[i]&&(o[t+\\\".\\\"+r]=s[i][r]),2&c[i]&&(o[t+\\\".\\\"+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{\\\"./nested_property\\\":610}],606:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(\\\"-\\\")[0];if(c===r)break;r=c}return e}},{\\\"../registry\\\":732}],607:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plot_api/plot_config\\\"),i=e.exports={};function a(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}i.log=function(){if(n.logging>1){for(var t=[\\\"LOG:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.warn=function(){if(n.logging>0){for(var t=[\\\"WARN:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.error=function(){if(n.logging>0){for(var t=[\\\"ERROR:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.error,t)}}},{\\\"../plot_api/plot_config\\\":638}],608:[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,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];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)))}}},{}],609:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t%e;return r<0?r+e:r}},{}],610:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./is_array\\\").isArrayOrTypedArray;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,l=0,c=e.split(\\\".\\\");l<c.length;){if(r=String(c[l]).match(/^([^\\\\[\\\\]]*)((\\\\[\\\\-?[0-9]*\\\\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)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++)l++,c.splice(l,0,Number(a[o]))}l++}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:s(t,c,e),get:function t(e,r){return function(){var n,a,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(a=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(\\\"number\\\"==typeof n&&!i(c))return;if(\\\"object\\\"!=typeof(c=c[n])||null===c)return}if(\\\"object\\\"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var a=/(^|\\\\.)args\\\\[/;function o(t,e){return void 0===t||null===t&&!e.match(a)}function s(t,e,r){return function(n){var a,s,f=t,h=\\\"\\\",p=[[t,h]],d=o(n,r);for(s=0;s<e.length-1;s++){if(\\\"number\\\"==typeof(a=e[s])&&!i(f))throw\\\"array index but container is not an array\\\";if(-1===a){if(d=!c(f,e.slice(s+1),n,r))break;return}if(!u(f,a,e[s+1],d))break;if(\\\"object\\\"!=typeof(f=f[a])||null===f)throw\\\"container is not an object\\\";h=l(h,a),p.push([f,h])}if(d){if(s===e.length-1&&(delete f[e[s]],Array.isArray(f)&&+e[s]==f.length-1))for(;f.length&&void 0===f[f.length-1];)f.pop()}else f[e[s]]=n}}function l(t,e){var r=e;return n(e)?r=\\\"[\\\"+e+\\\"]\\\":t&&(r=\\\".\\\"+e),t+r}function c(t,e,r,n){var a,l=i(r),c=!0,f=r,h=n.replace(\\\"-1\\\",0),p=!l&&o(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace(\\\"-1\\\",a),l&&(p=o(f=r[a%r.length],h)),p&&(c=!1),u(t,a,d,p)&&s(t[a],e,n.replace(\\\"-1\\\",a))(f);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\\\"number\\\"==typeof r?[]:{}}return!0}},{\\\"./is_array\\\":603,\\\"fast-isnumeric\\\":196}],611:[function(t,e,r){\\\"use strict\\\";e.exports=function(){}},{}],612:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(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(a).enter().append(\\\"div\\\").classed(\\\"notifier-note\\\",!0).style(\\\"opacity\\\",0).each(function(t){var e=n.select(this);e.append(\\\"button\\\").classed(\\\"notifier-close\\\",!0).html(\\\"&times;\\\").on(\\\"click\\\",function(){e.transition().call(s)});for(var i=e.append(\\\"p\\\"),a=t.split(/<br\\\\s*\\\\/?>/g),o=0;o<a.length;o++)o&&i.append(\\\"br\\\"),i.append(\\\"span\\\").text(a[o]);e.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=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()})}}},{d3:130,\\\"fast-isnumeric\\\":196}],613:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./setcursor\\\"),i=\\\"data-savedcursor\\\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\\\"cursor-\\\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\\\"!!\\\")}n(t,e)}else r&&(t.attr(i,null),\\\"!!\\\"===r?n(t):n(t,r))}},{\\\"./setcursor\\\":622}],614:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./matrix\\\").dot,i=t(\\\"../constants/numerical\\\").BADNUM,a=e.exports={};a.tester=function(t){if(Array.isArray(t[0][0]))return a.multitester(t);var e,r=t.slice(),n=r[0][0],o=n,s=r[0][1],l=s;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),o=Math.max(o,r[e][0]),s=Math.min(s,r[e][1]),l=Math.max(l,r[e][1]);var c,u=!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]&&(u=!0,c=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]&&(u=!0,c=function(t){return t[1]===r[0][1]}));var f=!0,h=r[0];for(e=1;e<r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){f=!1;break}return{xmin:n,xmax:o,ymin:s,ymax:l,pts:r,contains:u?function(t,e){var r=t[0],a=t[1];return!(r===i||r<n||r>o||a===i||a<s||a>l||e&&c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||a<n||a>o||c===i||c<s||c>l)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(f=m,h=v,m=r[u][0],v=r[u][1],!(a<(p=Math.min(f,m))||a>Math.max(f,m)||c>Math.max(h,v)))if(c<Math.min(h,v))a!==p&&y++;else{if(c===(d=m===f?c:h+(a-f)*(v-h)/(m-f)))return 1!==u||!e;c<=d&&a!==p&&y++}return y%2==1},isRect:u,degenerate:f}},a.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],o=i,s=0;s<t.length;s++){var l=a.tester(t[s]);l.subtract=t[s].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),o=Math.max(o,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:o,pts:[],contains:function(t,r){for(var n=!1,i=0;i<e.length;i++)e[i].contains(t,r)&&(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var o=a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||o(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{\\\"../constants/numerical\\\":579,\\\"./matrix\\\":608}],615:[function(t,e,r){(function(r){\\\"use strict\\\";var n=t(\\\"regl\\\");e.exports=function(t,e){t._fullLayout._glcanvas.each(function(i){i.regl||(i.regl=n({canvas:this,attributes:{antialias:!i.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]}))})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{regl:380}],616:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],617:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plot_api/plot_config\\\");var a={add:function(t,e,r,n,a){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(a)),t.undoQueue.queue.length>i.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++)a.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++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:\\\"object\\\"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{\\\"../lib\\\":602,\\\"../plot_api/plot_config\\\":638}],618:[function(t,e,r){\\\"use strict\\\";r.counter=function(t,e,r){var n=(e||\\\"\\\")+(r?\\\"\\\":\\\"$\\\");return\\\"xy\\\"===t?new RegExp(\\\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\\\"+n):new RegExp(\\\"^\\\"+t+\\\"([2-9]|[1-9][0-9]+)?\\\"+n)}},{}],619:[function(t,e,r){\\\"use strict\\\";var n=/^(.*)(\\\\.[^\\\\.\\\\[\\\\]]+|\\\\[\\\\d\\\\])$/,i=/^[^\\\\.\\\\[\\\\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))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}},{}],620:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is_array\\\").isArrayOrTypedArray,i=t(\\\"./is_plain_object\\\");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if(\\\"_\\\"===a.charAt(0)||\\\"function\\\"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if(\\\"customdata\\\"===a||\\\"ids\\\"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{\\\"./is_array\\\":603,\\\"./is_plain_object\\\":604}],621:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./loggers\\\");function a(t,e){return t<e}function o(t,e){return t<=e}function s(t,e){return t>e}function l(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 c,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?a:o:r?l:s,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)u(e[c=Math.floor((f+h)/2)],t)?f=c+1:h=c;return p>90&&i.log(\\\"Long binary search...\\\"),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]}},{\\\"./loggers\\\":607,\\\"fast-isnumeric\\\":196}],622:[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)}},{}],623:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/color\\\"),i=function(){};e.exports=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\\\"div\\\");return r.textContent=\\\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\\\",r.style.cursor=\\\"pointer\\\",r.style.fontSize=\\\"24px\\\",r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=\\\"#FFFFFF\\\",t.container.onclick=function(){window.open(\\\"http://get.webgl.org\\\")},!1}},{\\\"../components/color\\\":474}],624:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./is_array\\\").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[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.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},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)]}},{\\\"./is_array\\\":603,\\\"fast-isnumeric\\\":196}],625:[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\\\":100}],626:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../lib\\\"),a=t(\\\"../constants/xmlns_namespaces\\\"),o=t(\\\"../constants/string_mappings\\\"),s=t(\\\"../constants/alignment\\\").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var c=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,o){var v=t.text(),E=!t.attr(\\\"data-notex\\\")&&\\\"undefined\\\"!=typeof MathJax&&v.match(c),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr(\\\"class\\\")?t.attr(\\\"class\\\").split(\\\" \\\")[0]:\\\"text\\\";return z+=\\\"-math\\\",L.selectAll(\\\"svg.\\\"+z).remove(),L.selectAll(\\\"g.\\\"+z+\\\"-group\\\").remove(),t.style(\\\"display\\\",null).attr({\\\"data-unformatted\\\":v,\\\"data-math\\\":\\\"N\\\"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style(\\\"display\\\",\\\"none\\\");var r=parseInt(t.node().style.fontSize,10),a={fontSize:r};!function(t,e,r){var a=\\\"math-output-\\\"+i.randstr([],64),o=n.select(\\\"body\\\").append(\\\"div\\\").attr({id:a}).style({visibility:\\\"hidden\\\",position:\\\"absolute\\\"}).style({\\\"font-size\\\":e.fontSize+\\\"px\\\"}).text((s=t,s.replace(u,\\\"\\\\\\\\lt \\\").replace(f,\\\"\\\\\\\\gt \\\")));var s;MathJax.Hub.Queue([\\\"Typeset\\\",MathJax.Hub,o.node()],function(){var e=n.select(\\\"body\\\").select(\\\"#MathJax_SVG_glyphs\\\");if(o.select(\\\".MathJax_SVG\\\").empty()||!o.select(\\\"svg\\\").node())i.log(\\\"There was an error in the tex syntax.\\\",t),r();else{var a=o.select(\\\"svg\\\").node().getBoundingClientRect();r(o.select(\\\".MathJax_SVG\\\"),e,a)}o.remove()})}(E[2],a,function(n,i,a){L.selectAll(\\\"svg.\\\"+z).remove(),L.selectAll(\\\"g.\\\"+z+\\\"-group\\\").remove();var s=n&&n.select(\\\"svg\\\");if(!s||!s.node())return P(),void e();var c=L.append(\\\"g\\\").classed(z+\\\"-group\\\",!0).attr({\\\"pointer-events\\\":\\\"none\\\",\\\"data-unformatted\\\":v,\\\"data-math\\\":\\\"Y\\\"});c.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild),s.attr({class:z,height:a.height,preserveAspectRatio:\\\"xMinYMin meet\\\"}).style({overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"});var u=t.node().style.fill||\\\"black\\\";s.select(\\\"g\\\").attr({fill:u,stroke:u});var f=l(s,\\\"width\\\"),h=l(s,\\\"height\\\"),p=+t.attr(\\\"x\\\")-f*{start:0,middle:.5,end:1}[t.attr(\\\"text-anchor\\\")||\\\"start\\\"],d=-(r||l(t,\\\"height\\\"))/4;\\\"y\\\"===z[0]?(c.attr({transform:\\\"rotate(\\\"+[-90,+t.attr(\\\"x\\\"),+t.attr(\\\"y\\\")]+\\\") translate(\\\"+[-f/2,d-h/2]+\\\")\\\"}),s.attr({x:+t.attr(\\\"x\\\"),y:+t.attr(\\\"y\\\")})):\\\"l\\\"===z[0]?s.attr({x:t.attr(\\\"x\\\"),y:d-h/2}):\\\"a\\\"===z[0]?s.attr({x:0,y:d}):s.attr({x:p,y:+t.attr(\\\"y\\\")+d-h/2}),o&&o.call(t,c),e(c)})})):P(),t}function P(){L.empty()||(z=t.attr(\\\"class\\\")+\\\"-math\\\",L.select(\\\"svg.\\\"+z).remove()),t.text(\\\"\\\").style(\\\"white-space\\\",\\\"pre\\\"),function(t,e){e=(r=e,function(t,e){if(!t)return\\\"\\\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(r,y)).replace(x,\\\" \\\");var r;var o,l=!1,c=[],u=-1;function f(){u++;var e=document.createElementNS(a.svg,\\\"tspan\\\");n.select(e).attr({class:\\\"line\\\",dy:u*s+\\\"em\\\"}),t.appendChild(e),o=e;var r=c;if(c=[{node:e}],r.length>1)for(var i=1;i<r.length;i++)v(r[i])}function v(t){var e,r=t.type,i={};if(\\\"a\\\"===r){e=\\\"a\\\";var s=t.target,l=t.href,u=t.popup;l&&(i={\\\"xlink:xlink:show\\\":\\\"_blank\\\"===s||\\\"_\\\"!==s.charAt(0)?\\\"new\\\":\\\"replace\\\",target:s,\\\"xlink:xlink:href\\\":l},u&&(i.onclick='window.open(this.href.baseVal,this.target.baseVal,\\\"'+u+'\\\");return false;'))}else e=\\\"tspan\\\";t.style&&(i.style=t.style);var f=document.createElementNS(a.svg,e);if(\\\"sup\\\"===r||\\\"sub\\\"===r){E(o,g),o.appendChild(f);var h=document.createElementNS(a.svg,\\\"tspan\\\");E(h,g),n.select(h).attr(\\\"dy\\\",d[r]),i.dy=p[r],o.appendChild(f),o.appendChild(h)}else o.appendChild(f);n.select(f).attr(i),o=t.node=f,c.push(t)}function E(t,e){t.appendChild(document.createTextNode(e))}function L(t){if(1!==c.length){var r=c.pop();t!==r.type&&i.log(\\\"Start tag <\\\"+r.type+\\\"> doesnt match end tag <\\\"+t+\\\">. Pretending it did match.\\\",e),o=c[c.length-1].node}else i.log(\\\"Ignoring unexpected end tag </\\\"+t+\\\">.\\\",e)}w.test(e)?f():(o=t,c=[{node:t}]);for(var z=e.split(b),P=0;P<z.length;P++){var D=z[P],O=D.match(_),I=O&&O[2].toLowerCase(),R=h[I];if(\\\"br\\\"===I)f();else if(void 0===R)E(o,D);else if(O[1])L(I);else{var B=O[4],F={type:I},N=S(B,k);if(N?(N=N.replace(C,\\\"$1 fill:\\\"),R&&(N+=\\\";\\\"+R)):R&&(N=R),N&&(F.style=N),\\\"a\\\"===I){l=!0;var j=S(B,M);if(j){var V=document.createElement(\\\"a\\\");V.href=j,-1!==m.indexOf(V.protocol)&&(F.href=encodeURI(decodeURI(j)),F.target=S(B,A)||\\\"_blank\\\",F.popup=S(B,T))}}v(F)}}return l}(t.node(),v)&&t.style(\\\"pointer-events\\\",\\\"all\\\"),r.positionText(t),o&&o.call(t)}};var u=/(<|&lt;|&#60;)/g,f=/(>|&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\\\"},p={sub:\\\"0.3em\\\",sup:\\\"-0.6em\\\"},d={sub:\\\"-0.21em\\\",sup:\\\"0.42em\\\"},g=\\\"\\\\u200b\\\",m=[\\\"http:\\\",\\\"https:\\\",\\\"mailto:\\\",\\\"\\\",void 0,\\\":\\\"],v=new RegExp(\\\"</?(\\\"+Object.keys(h).join(\\\"|\\\")+\\\")( [^>]*)?/?>\\\",\\\"g\\\"),y=Object.keys(o.entityToUnicode).map(function(t){return{regExp:new RegExp(\\\"&\\\"+t+\\\";\\\",\\\"g\\\"),sub:o.entityToUnicode[t]}}),x=/(\\\\r\\\\n?|\\\\n)/g,b=/(<[^<>]*>)/,_=/<(\\\\/?)([^ >]*)(\\\\s+(.*))?>/i,w=/<br(\\\\s+.*)?>/i,k=/(^|[\\\\s\\\"'])style\\\\s*=\\\\s*(\\\"([^\\\"]*);?\\\"|'([^']*);?')/i,M=/(^|[\\\\s\\\"'])href\\\\s*=\\\\s*(\\\"([^\\\"]*)\\\"|'([^']*)')/i,A=/(^|[\\\\s\\\"'])target\\\\s*=\\\\s*(\\\"([^\\\"\\\\s]*)\\\"|'([^'\\\\s]*)')/i,T=/(^|[\\\\s\\\"'])popup\\\\s*=\\\\s*(\\\"([\\\\w=,]*)\\\"|'([\\\\w=,]*)')/i;function S(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var C=/(^|;)\\\\s*color:/;function E(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\\\"top\\\",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=\\\"bottom\\\"===s?function(){return l.bottom-n.height}:\\\"middle\\\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\\\"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:i()-c.top+\\\"px\\\",left:a()-c.left+\\\"px\\\",\\\"z-index\\\":1e3}),this}}r.plainText=function(t){return(t||\\\"\\\").replace(v,\\\" \\\")},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 i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\\\"x\\\",e),o=i(\\\"y\\\",r);\\\"text\\\"===this.nodeName&&t.selectAll(\\\"tspan.line\\\").attr({x:a,y:o})})},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch(\\\"edit\\\",\\\"input\\\",\\\"cancel\\\"),o=i||t;if(t.style({\\\"pointer-events\\\":i?\\\"none\\\":\\\"all\\\"}),1!==t.size())throw new Error(\\\"boo\\\");function s(){!function(){var i=n.select(r).select(\\\".svg-container\\\"),o=i.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,i,e)).on(\\\"blur\\\",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr(\\\"class\\\");(e=i?\\\".\\\"+i.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),a.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(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(E(t,i,e)))}).on(\\\"keydown\\\",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var i,s=o.attr(\\\"class\\\");(i=s?\\\".\\\"+s.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&n.select(t.node().parentNode).select(i).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,a,\\\"on\\\")}},{\\\"../constants/alignment\\\":574,\\\"../constants/string_mappings\\\":580,\\\"../constants/xmlns_namespaces\\\":581,\\\"../lib\\\":602,d3:130}],627:[function(t,e,r){\\\"use strict\\\";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout(function(){l(),a.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)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],628:[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\\\":196}],629:[function(t,e,r){\\\"use strict\\\";var n=e.exports={},i=t(\\\"../plots/geo/constants\\\").locationmodeToLayer,a=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=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\\\"../plots/geo/constants\\\":676,\\\"topojson-client\\\":418}],630:[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\\\"}}},{}],631:[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\\\"}}},{}],632:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\\\"[\\\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.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\\\":732}],633:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=n.extendFlat,a=n.isPlainObject,o={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"clearAxisTypes\\\",\\\"plot\\\",\\\"style\\\",\\\"colorbars\\\"]},s={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"plot\\\",\\\"legend\\\",\\\"ticks\\\",\\\"axrange\\\",\\\"margins\\\",\\\"layoutstyle\\\",\\\"modebar\\\",\\\"camera\\\",\\\"arraydraw\\\"]},l=o.flags.slice().concat([\\\"clearCalc\\\",\\\"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 f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return\\\"from-root\\\"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,\\\"from-root\\\")}return a}return f(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(\\\"+\\\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{\\\"../lib\\\":602}],634:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"gl-mat4/fromQuat\\\"),a=t(\\\"../registry\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../plots/plots\\\"),l=t(\\\"../plots/cartesian/axis_ids\\\"),c=l.cleanId,u=l.getFromTrace,f=t(\\\"../components/color\\\");function h(t,e){var r=t[e],n=e.charAt(0);r&&\\\"paper\\\"!==r&&(t[e]=c(r,n))}function p(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 d(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 i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function g(t){var e=\\\"middle\\\",r=\\\"center\\\";return-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 m(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,r;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 n=(s.subplotsRegistry.cartesian||{}).attrRegex,a=(s.subplotsRegistry.gl3d||{}).attrRegex,l=Object.keys(t);for(e=0;e<l.length;e++){var u=l[e];if(n&&n.test(u)){var p=t[u];p.anchor&&\\\"free\\\"!==p.anchor&&(p.anchor=c(p.anchor)),p.overlaying&&(p.overlaying=c(p.overlaying)),p.type||(p.isdate?p.type=\\\"date\\\":p.islog?p.type=\\\"log\\\":!1===p.isdate&&!1===p.islog&&(p.type=\\\"linear\\\")),\\\"withzero\\\"!==p.autorange&&\\\"tozero\\\"!==p.autorange||(p.autorange=!0,p.rangemode=\\\"tozero\\\"),delete p.islog,delete p.isdate,delete p.categories,m(p,\\\"domain\\\")&&delete p.domain,void 0!==p.autotick&&(void 0===p.tickmode&&(p.tickmode=p.autotick?\\\"auto\\\":\\\"linear\\\"),delete p.autotick)}else if(a&&a.test(u)){var d=t[u],g=d.cameraposition;if(Array.isArray(g)&&4===g[0].length){var v=g[0],y=g[1],x=g[2],b=i([],v),_=[];for(r=0;r<3;++r)_[r]=y[r]+x*b[2+4*r];d.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete d.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<w;e++){var k=t.annotations[e];o.isPlainObject(k)&&(k.ref&&(\\\"paper\\\"===k.ref?(k.xref=\\\"paper\\\",k.yref=\\\"paper\\\"):\\\"data\\\"===k.ref&&(k.xref=\\\"x\\\",k.yref=\\\"y\\\"),delete k.ref),h(k,\\\"xref\\\"),h(k,\\\"yref\\\"))}var M=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<M;e++){var A=t.shapes[e];o.isPlainObject(A)&&(h(A,\\\"xref\\\"),h(A,\\\"yref\\\"))}var T=t.legend;return T&&(T.x>3?(T.x=1.02,T.xanchor=\\\"left\\\"):T.x<-2&&(T.x=-.02,T.xanchor=\\\"right\\\"),T.y>3?(T.y=1.02,T.yanchor=\\\"bottom\\\"):T.y<-2&&(T.y=-.02,T.yanchor=\\\"top\\\")),\\\"rotate\\\"===t.dragmode&&(t.dragmode=\\\"orbit\\\"),f.clean(t),t},r.cleanData=function(t,e){for(var n=[],i=t.concat(Array.isArray(e)?e:[]).filter(function(t){return\\\"uid\\\"in t}).map(function(t){return t.uid}),l=0;l<t.length;l++){var u,h=t[l];if(!(\\\"uid\\\"in h)||-1!==n.indexOf(h.uid)){var v;for(u=0;u<100&&(v=o.randstr(i),-1!==n.indexOf(v));u++);h.uid=o.randstr(i),i.push(h.uid)}if(n.push(h.uid),\\\"histogramy\\\"===h.type&&\\\"xbins\\\"in h&&!(\\\"ybins\\\"in h)&&(h.ybins=h.xbins,delete h.xbins),h.error_y&&\\\"opacity\\\"in h.error_y){var y=f.defaults,x=h.error_y.color||(a.traceIs(h,\\\"bar\\\")?f.defaultLine:y[l%y.length]);h.error_y.color=f.addOpacity(f.rgb(x),f.opacity(x)*h.error_y.opacity),delete h.error_y.opacity}if(\\\"bardir\\\"in h&&(\\\"h\\\"!==h.bardir||!a.traceIs(h,\\\"bar\\\")&&\\\"histogram\\\"!==h.type.substr(0,9)||(h.orientation=\\\"h\\\",r.swapXYData(h)),delete h.bardir),\\\"histogramy\\\"===h.type&&r.swapXYData(h),\\\"histogramx\\\"!==h.type&&\\\"histogramy\\\"!==h.type||(h.type=\\\"histogram\\\"),\\\"scl\\\"in h&&(h.colorscale=h.scl,delete h.scl),\\\"reversescl\\\"in h&&(h.reversescale=h.reversescl,delete h.reversescl),h.xaxis&&(h.xaxis=c(h.xaxis,\\\"x\\\")),h.yaxis&&(h.yaxis=c(h.yaxis,\\\"y\\\")),a.traceIs(h,\\\"gl3d\\\")&&h.scene&&(h.scene=s.subplotsRegistry.gl3d.cleanId(h.scene)),!a.traceIs(h,\\\"pie\\\")&&!a.traceIs(h,\\\"bar\\\"))if(Array.isArray(h.textposition))for(u=0;u<h.textposition.length;u++)h.textposition[u]=g(h.textposition[u]);else h.textposition&&(h.textposition=g(h.textposition));if(a.traceIs(h,\\\"2dMap\\\")&&(\\\"YIGnBu\\\"===h.colorscale&&(h.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===h.colorscale&&(h.colorscale=\\\"YlOrRd\\\")),a.traceIs(h,\\\"markerColorscale\\\")&&h.marker){var b=h.marker;\\\"YIGnBu\\\"===b.colorscale&&(b.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===b.colorscale&&(b.colorscale=\\\"YlOrRd\\\")}if(\\\"surface\\\"===h.type&&o.isPlainObject(h.contours)){var _=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(u=0;u<_.length;u++){var w=h.contours[_[u]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if(\\\"candlestick\\\"===h.type||\\\"ohlc\\\"===h.type){var k=!1!==(h.increasing||{}).showlegend,M=!1!==(h.decreasing||{}).showlegend,A=p(h.increasing),T=p(h.decreasing);if(!1!==A&&!1!==T){var S=d(A,T,k,M);S&&(h.name=S)}else!A&&!T||h.name||(h.name=A||T)}if(Array.isArray(h.transforms)){var C=h.transforms;for(u=0;u<C.length;u++){var E=C[u];if(o.isPlainObject(E))switch(E.type){case\\\"filter\\\":E.filtersrc&&(E.target=E.filtersrc,delete E.filtersrc),E.calendar&&(E.valuecalendar||(E.valuecalendar=E.calendar),delete E.calendar);break;case\\\"groupby\\\":if(E.styles=E.styles||E.style,E.styles&&!Array.isArray(E.styles)){var L=E.styles,z=Object.keys(L);E.styles=[];for(var P=0;P<z.length;P++)E.styles.push({target:z[P],value:L[z[P]]})}}}}m(h,\\\"line\\\")&&delete h.line,\\\"marker\\\"in h&&(m(h.marker,\\\"line\\\")&&delete h.marker.line,m(h,\\\"marker\\\")&&delete h.marker),f.clean(h)}},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 i=t.hoverinfo.split(\\\"+\\\");for(e=0;e<i.length;e++)\\\"x\\\"===i[e]?i[e]=\\\"y\\\":\\\"y\\\"===i[e]&&(i[e]=\\\"x\\\");t.hoverinfo=i.join(\\\"+\\\")}},r.coerceTraceIndices=function(t,e){return n(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(\\\".\\\");o.nestedProperty(i,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 v=/(\\\\.[^\\\\[\\\\]\\\\.]+|\\\\[[^\\\\[\\\\]\\\\.]+\\\\])$/;function y(t){var e=t.search(v);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=y(e);r;){if(r in t)return!0;r=y(r)}return!1};var x=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=u(t,i,x[a]);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 f=l+\\\".type\\\";void 0===r[l]&&void 0===r[f]&&o.nestedProperty(t.layout,f).set(null)}}},r.clearAxisAutomargins=function(t){for(var e=Object.keys(t._fullLayout._pushmargin),r=0;r<e.length;r++)-1!==e[r].indexOf(\\\"automargin\\\")&&delete t._fullLayout._pushmargin[e[r]]}},{\\\"../components/color\\\":474,\\\"../lib\\\":602,\\\"../plots/cartesian/axis_ids\\\":651,\\\"../plots/plots\\\":710,\\\"../registry\\\":732,\\\"fast-isnumeric\\\":196,\\\"gl-mat4/fromQuat\\\":227}],635:[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.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\\\")},{\\\"../snapshot/download\\\":734,\\\"./plot_api\\\":637,\\\"./to_image\\\":641,\\\"./validate\\\":642}],636:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib/nested_property\\\"),i=t(\\\"../lib/is_plain_object\\\"),a=t(\\\"../lib/noop\\\"),o=t(\\\"../lib/loggers\\\"),s=t(\\\"../lib/search\\\").sorterAsc,l=t(\\\"../registry\\\");r.containerArrayMatch=t(\\\"./container_array_match\\\");var c=r.isAddVal=function(t){return\\\"add\\\"===t||i(t)},u=r.isRemoveVal=function(t){return null===t||\\\"remove\\\"===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,\\\"supplyLayoutDefaults\\\"),p=l.getComponentMethod(f,\\\"draw\\\"),d=l.getComponentMethod(f,\\\"drawOne\\\"),g=i.replot||i.recalc||h===a||p===a,m=t.layout,v=t._fullLayout;if(r[\\\"\\\"]){Object.keys(r).length>1&&o.warn(\\\"Full array edits are incompatible with other edits\\\",f);var y=r[\\\"\\\"][\\\"\\\"];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(\\\"Unrecognized full array edit value\\\",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,k,M,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),C=S||[],E=n(v,f).get(),L=[],z=-1,P=C.length;for(x=0;x<T.length;x++)if(w=r[_=T[x]],k=Object.keys(w),M=w[\\\"\\\"],A=c(M),_<0||_>C.length-(A?0:1))o.warn(\\\"index out of range\\\",f,_);else if(void 0!==M)k.length>1&&o.warn(\\\"Insertion & removal are incompatible with edits to the same index.\\\",f,_),u(M)?L.push(_):A?(\\\"add\\\"===M&&(M={}),C.splice(_,0,M),E&&E.splice(_,0,{})):o.warn(\\\"Unrecognized full object edit value\\\",f,_,M),-1===z&&(z=_);else for(b=0;b<k.length;b++)n(C[_],k[b]).set(w[k[b]]);for(x=L.length-1;x>=0;x--)C.splice(L[x],1),E&&E.splice(L[x],1);if(C.length?S||e.set(C):e.set(null),g)return!1;if(h(m,v),d!==a){var D;if(-1===z)D=T;else{for(P=Math.max(C.length,P),D=[],x=0;x<T.length&&!((_=T[x])>=z);x++)D.push(_);for(x=z;x<P;x++)D.push(x)}for(x=0;x<D.length;x++)d(t,D[x])}else p(t);return!0}},{\\\"../lib/is_plain_object\\\":604,\\\"../lib/loggers\\\":607,\\\"../lib/nested_property\\\":610,\\\"../lib/noop\\\":611,\\\"../lib/search\\\":621,\\\"../registry\\\":732,\\\"./container_array_match\\\":632}],637:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"has-hover\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../lib/events\\\"),l=t(\\\"../lib/queue\\\"),c=t(\\\"../registry\\\"),u=t(\\\"./plot_schema\\\"),f=t(\\\"../plots/plots\\\"),h=t(\\\"../plots/polar/legacy\\\"),p=t(\\\"../plots/cartesian/axes\\\"),d=t(\\\"../components/drawing\\\"),g=t(\\\"../components/color\\\"),m=t(\\\"../plots/cartesian/graph_interact\\\").initInteractions,v=t(\\\"../constants/xmlns_namespaces\\\"),y=t(\\\"../lib/svg_text_utils\\\"),x=t(\\\"./plot_config\\\"),b=t(\\\"./manage_arrays\\\"),_=t(\\\"./helpers\\\"),w=t(\\\"./subroutines\\\"),k=t(\\\"./edit_types\\\"),M=t(\\\"../plots/cartesian/constants\\\").AX_NAME_PATTERN,A=0;function T(t,e){try{t._fullLayout._paper.style(\\\"background\\\",e)}catch(t){o.error(t)}}function S(t,e){T(t,g.combine(e,\\\"white\\\"))}function C(t,e){t._context||(t._context=o.extendDeep({},x));var r,n,i,s=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\\\"editable\\\"!==(i=n[r])&&\\\"edits\\\"!==i&&i in s&&(\\\"setBackground\\\"===i&&\\\"opaque\\\"===e[i]?s[i]=S:s[i]=e[i]);e.plot3dPixelRatio&&!s.plotGlPixelRatio&&(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,n=Object.keys(s.edits),r=0;r<n.length;r++)s.edits[n[r]]=l;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in s.edits&&(s.edits[i]=e.edits[i])}s.staticPlot&&(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),\\\"hover\\\"!==s.displayModeBar||a||(s.displayModeBar=!0),\\\"transparent\\\"!==s.setBackground&&\\\"function\\\"==typeof s.setBackground||(s.setBackground=T)}function E(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function L(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\\\"all values in \\\"+r+\\\" must be integers\\\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\\\" must be valid indices for gd.data.\\\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\\\"each index in \\\"+r+\\\" must be unique.\\\")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"currentIndices is a required argument.\\\");if(Array.isArray(e)||(e=[e]),L(t,e,\\\"currentIndices\\\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&L(t,r,\\\"newIndices\\\"),void 0!==r&&e.length!==r.length)throw new Error(\\\"current and new indices must be of equal length.\\\")}function P(t,e,r,n,a){!function(t,e,r,n){var i=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(void 0===r)throw new Error(\\\"indices must be an integer or array of integers\\\");for(var a in L(t,r,\\\"indices\\\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\\\"attribute \\\"+a+\\\" must be an array of length equal to indices array length\\\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].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 s=function(t,e,r,n){var a,s,l,c,u,f=o.isPlainObject(n),h=[];for(var p in Array.isArray(r)||(r=[r]),r=E(r,t.data.length-1),e)for(var d=0;d<r.length;d++){if(a=t.data[r[d]],s=(l=o.nestedProperty(a,p)).get(),c=e[p][d],!o.isArrayOrTypedArray(c))throw new Error(\\\"attribute: \\\"+p+\\\" index: \\\"+d+\\\" must be an array\\\");if(!o.isArrayOrTypedArray(s))throw new Error(\\\"cannot extend missing or non-array attribute: \\\"+p);if(s.constructor!==c.constructor)throw new Error(\\\"cannot extend array with an array of a different type: \\\"+p);u=f?n[p][d]:n,i(u)||(u=-1),h.push({prop:l,target:s,insert:c,maxp:Math.floor(u)})}return h}(t,e,r,n),l={},c={},u=0;u<s.length;u++){var f=s[u].prop,h=s[u].maxp,p=a(s[u].target,s[u].insert,h);f.set(p[0]),Array.isArray(l[f.astr])||(l[f.astr]=[]),l[f.astr].push(p[1]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(s[u].target.length)}return{update:l,maxPoints:c}}function D(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function O(t){return void 0===t?null:t}function I(t,e,r){var n,i,a=t._fullLayout,s=t._fullData,l=t.data,h=k.traceFlags(),d={},g={};function m(){return r.map(function(){})}function v(t){var e=p.id2name(t);-1===i.indexOf(e)&&i.push(e)}function y(t){return\\\"LAYOUT\\\"+t+\\\".autorange\\\"}function x(t){return\\\"LAYOUT\\\"+t+\\\".range\\\"}function b(n,i,a){var s;Array.isArray(n)?n.forEach(function(t){b(t,i,a)}):n in e||_.hasParent(e,n)||(s=\\\"LAYOUT\\\"===n.substr(0,6)?o.nestedProperty(t.layout,n.replace(\\\"LAYOUT\\\",\\\"\\\")):o.nestedProperty(l[r[a]],n),n in g||(g[n]=m()),void 0===g[n][a]&&(g[n][a]=O(s.get())),void 0!==i&&s.set(i))}for(var w in e){if(_.hasParent(e,w))throw new Error(\\\"cannot set \\\"+w+\\\"and a parent attribute simultaneously\\\");var M,A,T,S,C,E,L=e[w];if(d[w]=L,\\\"LAYOUT\\\"!==w.substr(0,6)){for(g[w]=m(),n=0;n<r.length;n++)if(M=l[r[n]],A=s[r[n]],S=(T=o.nestedProperty(M,w)).get(),void 0!==(C=Array.isArray(L)?L[n%L.length]:L)){if((E=u.getTraceValObject(A,T.parts))&&E.impliedEdits&&null!==C)for(var z in E.impliedEdits)b(o.relativeAttr(w,z),E.impliedEdits[z],n);else if(\\\"colorbar.thicknessmode\\\"===w&&T.get()!==C&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(C)&&A.colorbar){var P=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(A.colorbar.orient)?a.height-a.margin.t-a.margin.b:a.width-a.margin.l-a.margin.r;b(\\\"colorbar.thickness\\\",A.colorbar.thickness*(\\\"fraction\\\"===C?1/P:P),n)}else if(\\\"colorbar.lenmode\\\"===w&&T.get()!==C&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(C)&&A.colorbar){var D=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(A.colorbar.orient)?a.width-a.margin.l-a.margin.r:a.height-a.margin.t-a.margin.b;b(\\\"colorbar.len\\\",A.colorbar.len*(\\\"fraction\\\"===C?1/D:D),n)}else\\\"colorbar.tick0\\\"!==w&&\\\"colorbar.dtick\\\"!==w||b(\\\"colorbar.tickmode\\\",\\\"linear\\\",n);if(\\\"type\\\"===w&&\\\"pie\\\"===C!=(\\\"pie\\\"===S)){var I=\\\"x\\\",R=\\\"y\\\";\\\"bar\\\"!==C&&\\\"bar\\\"!==S||\\\"h\\\"!==M.orientation||(I=\\\"y\\\",R=\\\"x\\\"),o.swapAttrs(M,[\\\"?\\\",\\\"?src\\\"],\\\"labels\\\",I),o.swapAttrs(M,[\\\"d?\\\",\\\"?0\\\"],\\\"label\\\",I),o.swapAttrs(M,[\\\"?\\\",\\\"?src\\\"],\\\"values\\\",R),\\\"pie\\\"===S?(o.nestedProperty(M,\\\"marker.color\\\").set(o.nestedProperty(M,\\\"marker.colors\\\").get()),a._pielayer.selectAll(\\\"g.trace\\\").remove()):c.traceIs(M,\\\"cartesian\\\")&&o.nestedProperty(M,\\\"marker.colors\\\").set(o.nestedProperty(M,\\\"marker.color\\\").get())}g[w][n]=O(S);if(-1!==[\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientation\\\",\\\"orientationaxes\\\"].indexOf(w)){if(\\\"orientation\\\"===w){T.set(C);var B=M.x&&!M.y?\\\"h\\\":\\\"v\\\";if((T.get()||B)===A.orientation)continue}else\\\"orientationaxes\\\"===w&&(M.orientation={v:\\\"h\\\",h:\\\"v\\\"}[A.orientation]);_.swapXYData(M),h.calc=h.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(T.parts[0])?(_.manageArrayContainers(T,C,g),h.calc=!0):(E?E.arrayOk&&(o.isArrayOrTypedArray(C)||o.isArrayOrTypedArray(S))?h.calc=!0:k.update(h,E):h.calc=!0,T.set(C))}if(-1!==[\\\"swapxyaxes\\\",\\\"orientationaxes\\\"].indexOf(w)&&p.swap(t,r),\\\"orientationaxes\\\"===w){var F=o.nestedProperty(t.layout,\\\"hovermode\\\");\\\"x\\\"===F.get()?F.set(\\\"y\\\"):\\\"y\\\"===F.get()&&F.set(\\\"x\\\")}if(-1!==[\\\"orientation\\\",\\\"type\\\"].indexOf(w)){for(i=[],n=0;n<r.length;n++){var N=l[r[n]];c.traceIs(N,\\\"cartesian\\\")&&(v(N.xaxis||\\\"x\\\"),v(N.yaxis||\\\"y\\\"),\\\"type\\\"===w&&b([\\\"autobinx\\\",\\\"autobiny\\\"],!0,n))}b(i.map(y),!0,0),b(i.map(x),[0,1],0)}}else T=o.nestedProperty(t.layout,w.replace(\\\"LAYOUT\\\",\\\"\\\")),g[w]=[O(T.get())],T.set(Array.isArray(L)?L[0]:L),h.calc=!0}var j=!1,V=p.list(t);for(n=0;n<V.length;n++)if(V[n].autorange){j=!0;break}return(h.calc||h.calcIfAutorange&&j)&&(h.clearCalc=!0),(h.calc||h.plot||h.calcIfAutorange)&&(h.fullReplot=!0),{flags:h,undoit:g,redoit:d,traces:r,eventData:o.extendDeepNoArrays([],[d,r])}}function R(t,e){var r,n,i,a=t.layout,s=t._fullLayout,l=Object.keys(e),f=p.list(t),h={};for(n=0;n<l.length;n++)if(0===l[n].indexOf(\\\"allaxes\\\")){for(i=0;i<f.length;i++){var d=f[i]._id.substr(1),g=-1!==d.indexOf(\\\"scene\\\")?d+\\\".\\\":\\\"\\\",m=l[n].replace(\\\"allaxes\\\",g+f[i]._name);e[m]||(e[m]=e[l[n]])}delete e[l[n]]}var v=k.layoutFlags(),y={},x={};function w(t,r){if(Array.isArray(t))t.forEach(function(t){w(t,r)});else if(!(t in e||_.hasParent(e,t))){var n=o.nestedProperty(a,t);t in x||(x[t]=O(n.get())),void 0!==r&&n.set(r)}}var A,T={};function S(t){var e=p.name2id(t.split(\\\".\\\")[0]);return T[e]=1,e}for(var C in e){if(_.hasParent(e,C))throw new Error(\\\"cannot set \\\"+C+\\\"and a parent attribute simultaneously\\\");for(var E=o.nestedProperty(a,C),L=e[C],z=E.parts.length,P=z-1;P>0&&\\\"string\\\"!=typeof E.parts[z-1];)P--;var D=E.parts[P],I=E.parts[P-1]+\\\".\\\"+D,R=E.parts.slice(0,P).join(\\\".\\\"),N=o.nestedProperty(t.layout,R).get(),j=o.nestedProperty(s,R).get(),V=E.get();if(void 0!==L){y[C]=L,x[C]=\\\"reverse\\\"===D?L:O(V);var U=u.getLayoutValObject(s,E.parts);if(U&&U.impliedEdits&&null!==L)for(var q in U.impliedEdits)w(o.relativeAttr(C,q),U.impliedEdits[q]);if(-1!==[\\\"width\\\",\\\"height\\\"].indexOf(C)&&null===L)s[C]=t._initialAutoSize[C];else if(I.match(/^[xyz]axis[0-9]*\\\\.range(\\\\[[0|1]\\\\])?$/))S(I),o.nestedProperty(s,R+\\\"._inputRange\\\").set(null);else if(I.match(/^[xyz]axis[0-9]*\\\\.autorange$/)){S(I),o.nestedProperty(s,R+\\\"._inputRange\\\").set(null);var H=o.nestedProperty(s,R).get();H._inputDomain&&(H._input.domain=H._inputDomain.slice())}else I.match(/^[xyz]axis[0-9]*\\\\.domain(\\\\[[0|1]\\\\])?$/)&&o.nestedProperty(s,R+\\\"._inputDomain\\\").set(null);if(\\\"type\\\"===D){var G=N,W=\\\"linear\\\"===j.type&&\\\"log\\\"===L,Y=\\\"log\\\"===j.type&&\\\"linear\\\"===L;if(W||Y){if(G&&G.range)if(j.autorange)W&&(G.range=G.range[1]>G.range[0]?[1,2]:[2,1]);else{var X=G.range[0],Z=G.range[1];W?(X<=0&&Z<=0&&w(R+\\\".autorange\\\",!0),X<=0?X=Z/1e6:Z<=0&&(Z=X/1e6),w(R+\\\".range[0]\\\",Math.log(X)/Math.LN10),w(R+\\\".range[1]\\\",Math.log(Z)/Math.LN10)):(w(R+\\\".range[0]\\\",Math.pow(10,X)),w(R+\\\".range[1]\\\",Math.pow(10,Z)))}else w(R+\\\".autorange\\\",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[E.parts[0]]&&\\\"radialaxis\\\"===E.parts[1]&&delete s[E.parts[0]]._subplot.viewInitial[\\\"radialaxis.range\\\"],c.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,j,L,w),c.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,j,L,w)}else w(R+\\\".autorange\\\",!0),w(R+\\\".range\\\",null);o.nestedProperty(s,R+\\\"._inputRange\\\").set(null)}else if(D.match(M)){var J=o.nestedProperty(s,C).get(),K=(L||{}).type;K&&\\\"-\\\"!==K||(K=\\\"linear\\\"),c.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,J,K,w),c.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,J,K,w)}var Q=b.containerArrayMatch(C);if(Q){r=Q.array,n=Q.index;var $=Q.property,tt=(o.nestedProperty(a,r)||[])[n]||{},et=tt,rt=U||{editType:\\\"calc\\\"},nt=-1!==rt.editType.indexOf(\\\"calcIfAutorange\\\");\\\"\\\"===n?(nt?v.calc=!0:k.update(v,rt),nt=!1):\\\"\\\"===$&&(et=L,b.isAddVal(L)?x[C]=null:b.isRemoveVal(L)?(x[C]=tt,et=tt):o.warn(\\\"unrecognized full object value\\\",e)),nt&&(F(t,et,\\\"x\\\")||F(t,et,\\\"y\\\"))?v.calc=!0:k.update(v,rt),h[r]||(h[r]={});var it=h[r][n];it||(it=h[r][n]={}),it[$]=L,delete e[C]}else\\\"reverse\\\"===D?(N.range?N.range.reverse():(w(R+\\\".autorange\\\",!0),N.range=[1,0]),j.autorange?v.calc=!0:v.plot=!0):(s._has(\\\"scatter-like\\\")&&s._has(\\\"regl\\\")&&\\\"dragmode\\\"===C&&(\\\"lasso\\\"===L||\\\"select\\\"===L)&&\\\"lasso\\\"!==V&&\\\"select\\\"!==V?v.plot=!0:U?k.update(v,U):v.calc=!0,E.set(L))}}for(r in h){b.applyContainerArrayChanges(t,o.nestedProperty(a,r),h[r],v)||(v.plot=!0)}var at=s._axisConstraintGroups||[];for(A in T)for(n=0;n<at.length;n++){var ot=at[n];if(ot[A])for(var st in v.calc=!0,ot)T[st]||(p.getFromId(t,st)._constraintShrinkable=!0)}return(B(t)||e.height||e.width)&&(v.plot=!0),(v.plot||v.calc)&&(v.layoutReplot=!0),{flags:v,undoit:x,redoit:y,eventData:o.extendDeep({},y)}}function B(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 F(t,e,r){if(!o.isPlainObject(e))return!1;var n=e[r+\\\"ref\\\"]||r,i=p.getFromId(t,n);return i||n.charAt(0)!==r||(i=p.getFromId(t,r)),(i||{}).autorange}function N(t,e,r,n){var i,a,s=n.getValObject,l=n.flags,c=n.immutable,u=n.inArray,f=n.arrayIndex,h=n.gd,p=n.autoranged;function d(){var t=i.editType;-1!==t.indexOf(\\\"calcIfAutorange\\\")&&(p||void 0===p&&(F(h,e,\\\"x\\\")||F(h,e,\\\"y\\\")))?l.calc=!0:u&&-1!==t.indexOf(\\\"arraydraw\\\")?o.pushUnique(l.arrays[u],f):k.update(l,i)}function g(t){return\\\"data_array\\\"===t.valType||t.arrayOk}for(a in t){if(l.calc)return;var m=t[a],v=e[a];if(\\\"_\\\"!==a.charAt(0)&&\\\"function\\\"!=typeof m&&m!==v){if(\\\"tick0\\\"===a||\\\"dtick\\\"===a){var y=e.tickmode;if(\\\"auto\\\"===y||\\\"array\\\"===y||!y)continue}if((\\\"range\\\"!==a||!e.autorange)&&(\\\"zmin\\\"!==a&&\\\"zmax\\\"!==a||\\\"contourcarpet\\\"!==e.type)){var x=r.concat(a);if((i=s(x))&&(!i._compareAsJSON||JSON.stringify(m)!==JSON.stringify(v))){var b,_=i.valType,w=g(i),M=Array.isArray(m),A=Array.isArray(v);if(M&&A){var T=\\\"_input_\\\"+a,S=t[T],C=e[T];if(Array.isArray(S)&&S===C)continue}if(void 0===v)w&&M?l.calc=!0:d();else if(i._isLinkedToArray){var E=[],L=!1;u||(l.arrays[a]=E);var z=Math.min(m.length,v.length),P=Math.max(m.length,v.length);if(z!==P){if(\\\"arraydraw\\\"!==i.editType){d();continue}L=!0}for(b=0;b<z;b++)N(m[b],v[b],x.concat(b),o.extendFlat({inArray:a,arrayIndex:b},n));if(L)for(b=z;b<P;b++)E.push(b)}else!_&&o.isPlainObject(m)?N(m,v,x,n):w?M&&A?c&&(l.calc=!0):M!==A?l.calc=!0:d():M&&A&&m.length===v.length&&String(m)===String(v)||d()}}}}for(a in e)if(!(a in t||\\\"_\\\"===a.charAt(0)||\\\"function\\\"==typeof e[a])){if(g(i=s(r.concat(a)))&&Array.isArray(e[a]))return void(l.calc=!0);d()}}function j(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._glcanvas=null,r._paperdiv.selectAll(\\\".main-svg\\\").remove(),r._paper=r._paperdiv.insert(\\\"svg\\\",\\\":first-child\\\").classed(\\\"main-svg\\\",!0),r._toppaper=r._paperdiv.append(\\\"svg\\\").classed(\\\"main-svg\\\",!0),!r._uid){var i=[];n.selectAll(\\\"defs\\\").each(function(){this.id&&i.push(this.id.split(\\\"-\\\")[1])}),r._uid=o.randstr(i)}r._paperdiv.selectAll(\\\".main-svg\\\").attr(v.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 a=r._paper.append(\\\"g\\\").classed(\\\"layer-below\\\",!0);r._imageLowerLayer=a.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),r._shapeLowerLayer=a.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._pielayer=r._paper.append(\\\"g\\\").classed(\\\"pielayer\\\",!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._toppaper.append(\\\"g\\\").classed(\\\"hoverlayer\\\",!0),t.emit(\\\"plotly_framework\\\")}r.plot=function(t,e,i,a){var l;if(t=o.getGraphDiv(t),s.init(t),o.isPlainObject(e)){var u=e;e=u.data,i=u.layout,a=u.config,l=u.frames}if(!1===s.triggerHandler(t,\\\"plotly_beforeplot\\\",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn(\\\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\\\",t),C(t,a),i||(i={}),n.select(t).classed(\\\"js-plotly-plot\\\",!0),d.makeTester(),delete d.baseUrl,Array.isArray(t._promises)||(t._promises=[]);var g=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(_.cleanData(e,t.data),g?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!g||(t.layout=_.cleanLayout(i)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,f.supplyDefaults(t);var v=t._fullLayout,x=v._has(\\\"cartesian\\\");if(!v._has(\\\"polar\\\")&&e&&e[0]&&e[0].r)return o.log(\\\"Legacy polar charts are deprecated!\\\"),function(t,e,r){var i=n.select(t).selectAll(\\\".plot-container\\\").data([0]);i.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container plotly\\\",!0);var a=i.selectAll(\\\".svg-container\\\").data([0]);a.enter().append(\\\"div\\\").classed(\\\"svg-container\\\",!0).style(\\\"position\\\",\\\"relative\\\"),a.html(\\\"\\\"),e&&(t.data=e);r&&(t.layout=r);h.manager.fillLayout(t),a.style({width:t._fullLayout.width+\\\"px\\\",height:t._fullLayout.height+\\\"px\\\"}),t.framework=h.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title;\\\"\\\"!==c&&c||(l=0);var u=function(){this.call(y.convertToTspans,t)},p=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,p.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(y.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(g)}).on(\\\"cancel\\\",function(){var t=this.attr(\\\"data-unformatted\\\");this.text(t).call(u)})};p.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,i);v._replotting=!0,g&&j(t),t.framework!==j&&(t.framework=j,j(t)),d.initGradients(t),g&&p.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&f.doCalcdata(t);for(var k=0;k<t.calcdata.length;k++)t.calcdata[k][0].trace=t._fullData[k];var M=JSON.stringify(v._size);function A(){var e,r,n,i=t.calcdata;for(c.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),c.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),c.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),c.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t),e=0;e<i.length;e++)!0===(n=(r=i[e])[0].trace).visible&&n._module.colorbar?n._module.colorbar(t,r):f.autoMargin(t,\\\"cb\\\"+n.uid);return f.doAutoMargin(t),f.previousPromises(t)}function T(){t._transitioning||(w.doAutoRangeAndConstraints(t),g&&p.saveRangeInitial(t))}var S=[f.previousPromises,function(){if(l)return r.addFrames(t,l)},function(){for(var e=v._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return!v._glcanvas&&v._has(\\\"gl\\\")&&(v._glcanvas=v._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}),v._glcanvas.enter().append(\\\"canvas\\\").attr(\\\"class\\\",function(t){return\\\"gl-canvas gl-canvas-\\\"+t.key.replace(\\\"Layer\\\",\\\"\\\")}).style({position:\\\"absolute\\\",top:0,left:0,width:\\\"100%\\\",height:\\\"100%\\\",overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"})),v._glcanvas&&v._glcanvas.attr(\\\"width\\\",v.width).attr(\\\"height\\\",v.height),f.previousPromises(t)},A,function(){if(JSON.stringify(v._size)!==M)return o.syncOrAsync([A,w.layoutStyles],t)}];x&&S.push(function(){if(b){var e,r,n,i=v._subplots.cartesian,a=v._modules,s=[];for(n=0;n<a.length;n++)o.pushUnique(s,a[n].setPositions);if(s.length)for(r=0;r<i.length;r++)for(e=v._plots[i[r]],n=0;n<s.length;n++)s[n](t,e);return c.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),o.syncOrAsync([c.getComponentMethod(\\\"shapes\\\",\\\"calcAutorange\\\"),c.getComponentMethod(\\\"annotations\\\",\\\"calcAutorange\\\"),T,c.getComponentMethod(\\\"rangeslider\\\",\\\"calcAutorange\\\")],t)}T()}),S.push(w.layoutStyles),x&&S.push(function(){return p.doTicks(t,g?\\\"\\\":\\\"redraw\\\")}),S.push(w.drawData,w.finalDraw,m,f.addLinks,f.rehover,f.previousPromises);var E=o.syncOrAsync(S,t);return E&&E.then||(E=Promise.resolve()),E.then(function(){return t.emit(\\\"plotly_afterplot\\\"),t})},r.setPlotConfig=function(t){return o.extendFlat(x,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 _.cleanData(t.data,t.data),_.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit(\\\"plotly_redraw\\\"),t})},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{},t.calcdata||[]),f.purge(t),r.plot(t,e,n,i)},r.extendTraces=function t(e,n,i,a){var s=P(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=D(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.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),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.prependTraces,u,t,arguments),c},r.prependTraces=function t(e,n,i,a){var s=P(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=D(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.extendTraces,u,t,arguments),c},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,c=[],u=r.deleteTraces,f=t,h=[e,c],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"traces must be defined.\\\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\\\"object\\\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\\\"all values in traces array must be non-array objects\\\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\\\"if indices is specified, traces.length must equal indices.length\\\")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),_.cleanData(n,e.data),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)c.push(-n.length+a);if(void 0===i)return s=r.redraw(e),l.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{z(e,c,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return l.startSequence(e),l.add(e,u,h,f,p),s=r.moveTraces(e,c,i),l.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],c=r.addTraces,u=t,f=[e,s,n],h=[e,n];if(void 0===n)throw new Error(\\\"indices must be an integer or array of integers.\\\");for(Array.isArray(n)||(n=[n]),L(e,n,\\\"indices\\\"),(n=E(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return l.add(e,c,f,u,h),p},r.moveTraces=function t(e,n,i){var a,s=[],c=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(z(e,n,i),n=Array.isArray(n)?n:[n],void 0===i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=E(n,e.data.length-1),i=E(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)c.push({newIndex:i[a],trace:e.data[n[a]]});for(c.sort(function(t,e){return t.newIndex-e.newIndex}),a=0;a<c.length;a+=1)s.splice(c[a].newIndex,0,c[a].trace);e.data=s;var d=r.redraw(e);return l.add(e,u,h,f,p),d},r.restyle=function t(e,n,i,a){e=o.getGraphDiv(e),_.clearPromiseQueue(e);var s={};if(\\\"string\\\"==typeof n)s[n]=i;else{if(!o.isPlainObject(n))return o.warn(\\\"Restyle fail.\\\",n,i,a),Promise.reject();s=o.extendFlat({},n),void 0===a&&(a=i)}Object.keys(s).length&&(e.changed=!0);var c=_.coerceTraceIndices(e,a),u=I(e,s,c),h=u.flags;h.clearCalc&&(e.calcdata=void 0),h.clearAxisTypes&&_.clearAxisTypes(e,c,{});var p=[];h.fullReplot?p.push(r.plot):(p.push(f.previousPromises),f.supplyDefaults(e),h.style&&p.push(w.doTraceStyle),h.colorbars&&p.push(w.doColorBars)),p.push(f.rehover),l.add(e,t,[e,u.undoit,u.traces],t,[e,u.redoit,u.traces]);var d=o.syncOrAsync(p,e);return d&&d.then||(d=Promise.resolve()),d.then(function(){return e.emit(\\\"plotly_restyle\\\",u.eventData),e})},r.relayout=function t(e,r,n){if(e=o.getGraphDiv(e),_.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\\\"string\\\"==typeof r)i[r]=n;else{if(!o.isPlainObject(r))return o.warn(\\\"Relayout fail.\\\",r,n),Promise.reject();i=o.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=R(e,i),s=a.flags;s.calc&&(e.calcdata=void 0),s.margins&&_.clearAxisAutomargins(e);var c=[f.previousPromises];s.layoutReplot?c.push(w.layoutReplot):Object.keys(i).length&&(f.supplyDefaults(e),s.legend&&c.push(w.doLegend),s.layoutstyle&&c.push(w.layoutStyles),s.axrange&&c.push(w.doAutoRangeAndConstraints,w.doTicksRelayout,w.drawData,w.finalDraw),s.ticks&&c.push(w.doTicksRelayout),s.modebar&&c.push(w.doModeBar),s.camera&&c.push(w.doCamera)),c.push(f.rehover),l.add(e,t,[e,a.undoit],t,[e,a.redoit]);var u=o.syncOrAsync(c,e);return u&&u.then||(u=Promise.resolve(e)),u.then(function(){return e.emit(\\\"plotly_relayout\\\",a.eventData),e})},r.update=function t(e,n,i,a){if(e=o.getGraphDiv(e),_.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);o.isPlainObject(n)||(n={}),o.isPlainObject(i)||(i={}),Object.keys(n).length&&(e.changed=!0),Object.keys(i).length&&(e.changed=!0);var s=_.coerceTraceIndices(e,a),c=I(e,o.extendFlat({},n),s),u=c.flags,h=R(e,o.extendFlat({},i)),p=h.flags;(u.clearCalc||p.calc)&&(e.calcdata=void 0),u.clearAxisTypes&&_.clearAxisTypes(e,s,i),p.margins&&_.clearAxisAutomargins(e);var d=[];if(u.fullReplot&&p.layoutReplot){var g=e.data,m=e.layout;e.data=void 0,e.layout=void 0,d.push(function(){return r.plot(e,g,m)})}else u.fullReplot?d.push(r.plot):p.layoutReplot?d.push(w.layoutReplot):(d.push(f.previousPromises),f.supplyDefaults(e),u.style&&d.push(w.doTraceStyle),u.colorbars&&d.push(w.doColorBars),p.legend&&d.push(w.doLegend),p.layoutstyle&&d.push(w.layoutStyles),p.axrange&&d.push(w.doAutoRangeAndConstraints,w.doTicksRelayout,w.drawData,w.finalDraw),p.ticks&&d.push(w.doTicksRelayout),p.modebar&&d.push(w.doModeBar),p.camera&&d.push(w.doCamera));d.push(f.rehover),l.add(e,t,[e,c.undoit,h.undoit,c.traces],t,[e,c.redoit,h.redoit,c.traces]);var v=o.syncOrAsync(d,e);return v&&v.then||(v=Promise.resolve(e)),v.then(function(){return e.emit(\\\"plotly_update\\\",{data:c.eventData,layout:h.eventData}),e})},r.react=function(t,e,n,i){var a,s;var l=(t=o.getGraphDiv(t))._fullData,h=t._fullLayout;if(o.isPlotDiv(t)&&l&&h){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,i=d.config,a=d.frames}var g=!1;if(i){var m=o.extendDeep({},t._context);t._context=void 0,C(t,i),g=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(m,t._context)}t.data=e||[],_.cleanData(t.data,[]),t.layout=n||{},_.cleanLayout(t.layout),f.supplyDefaults(t,{skipUpdateCalc:!0});var v=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,calc:!0};var i,a,o=k.traceFlags();o.arrays={};var s={getValObject:function(t){return u.getTraceValObject(a,t)},flags:o,immutable:n,gd:t},l={};for(i=0;i<e.length;i++)a=r[i]._fullInput,l[a.uid]||(l[a.uid]=1,s.autoranged=!!a.xaxis&&(p.getFromId(t,a.xaxis).autorange||p.getFromId(t,a.yaxis).autorange),N(e[i]._fullInput,a,[],s));(o.calc||o.plot||o.calcIfAutorange)&&(o.fullReplot=!0);return o}(t,l,v,x),M=function(t,e,r,n){var i=k.layoutFlags();i.arrays={},N(e,r,[],{getValObject:function(t){return u.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,h,y,x);B(t)&&(M.layoutReplot=!0),b.calc||M.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,v),M.margins&&_.clearAxisAutomargins(t);var A=[];if(a&&(t._transitionData={},f.createTransitionData(t),A.push(function(){return r.addFrames(t,a)})),b.fullReplot||M.layoutReplot||g)t._fullLayout._skipDefaults=!0,A.push(r.plot);else{for(var T in M.arrays){var S=M.arrays[T];if(S.length){var E=c.getComponentMethod(T,\\\"drawOne\\\");if(E!==o.noop)for(var L=0;L<S.length;L++)E(t,S[L]);else{var z=c.getComponentMethod(T,\\\"draw\\\");if(z===o.noop)throw new Error(\\\"cannot draw components: \\\"+T);z(t)}}}A.push(f.previousPromises),b.style&&A.push(w.doTraceStyle),b.colorbars&&A.push(w.doColorBars),M.legend&&A.push(w.doLegend),M.layoutstyle&&A.push(w.layoutStyles),M.axrange&&A.push(w.doAutoRangeAndConstraints,w.doTicksRelayout,w.drawData,w.finalDraw),M.ticks&&A.push(w.doTicksRelayout),M.modebar&&A.push(w.doModeBar),M.camera&&A.push(w.doCamera)}A.push(f.rehover),(s=o.syncOrAsync(A,t))&&s.then||(s=Promise.resolve(t))}else s=r.newPlot(t,e,n,i);return s.then(function(){return t.emit(\\\"plotly_react\\\",{data:e,layout:n}),t})},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://plot.ly/javascript/animations/\\\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=f.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}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(a,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,_.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(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=void 0===e||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 w=e[d];-1!==[\\\"number\\\",\\\"string\\\"].indexOf(typeof w)?(w=String(w),y.push({type:\\\"byname\\\",name:w,data:v({name:w})})):o.isPlainObject(w)&&y.push({type:\\\"object\\\",data:v(o.extendFlat({},w))})}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 k=t._fullLayout._currentFrame;if(k&&r.fromcurrent){var M=-1;for(d=0;d<y.length;d++)if(\\\"byname\\\"===(g=y[d]).type&&g.name===k){M=d;break}if(M>0&&M<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],(\\\"byname\\\"!==y[d].type||d>M)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o=\\\"byname\\\"===e[i].type?f.computeFrame(t,e[i].name):e[i].data;var h=l(i),d=s(i);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[i].name,frameOpts:h,transitionOpts:d};i===e.length-1&&(g.onComplete=c(a,2),g.onInterrupt=u),n._frameQueue.push(g)}\\\"immediate\\\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit(\\\"plotly_animated\\\"),a())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null===e||void 0===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://plot.ly/javascript/animations/\\\");var n,i,a,s,c=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=c.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&&A<5&&(A++,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===A&&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=[],_=c.length;for(n=p.length-1;n>=0;n--){if(\\\"number\\\"==typeof(i=p[n].frame).name&&o.warn(\\\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\\\"),!i.name)for(;u[i.name=\\\"frame \\\"+t._transitionData._counter++];);if(u[i.name]){for(a=0;a<c.length&&(c[a]||{}).name!==i.name;a++);x.push({type:\\\"replace\\\",index:a,value:i}),b.unshift({type:\\\"replace\\\",index:a,value:c[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:\\\"insert\\\",index:s,value:i}),b.unshift({type:\\\"delete\\\",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,M=[t,b],T=[t,x];return l&&l.add(t,w,M,k,T),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,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\\\"delete\\\",index:n}),s.unshift({type:\\\"insert\\\",index:n,value:i[n]});var c=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return l&&l.add(t,c,h,u,p),f.modifyFrames(t,a)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[],n=t.calcdata||[];return f.cleanPlot([],{},r,e,n),f.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{\\\"../components/color\\\":474,\\\"../components/drawing\\\":499,\\\"../constants/xmlns_namespaces\\\":581,\\\"../lib\\\":602,\\\"../lib/events\\\":590,\\\"../lib/queue\\\":617,\\\"../lib/svg_text_utils\\\":626,\\\"../plots/cartesian/axes\\\":648,\\\"../plots/cartesian/constants\\\":653,\\\"../plots/cartesian/graph_interact\\\":657,\\\"../plots/plots\\\":710,\\\"../plots/polar/legacy\\\":718,\\\"../registry\\\":732,\\\"./edit_types\\\":633,\\\"./helpers\\\":634,\\\"./manage_arrays\\\":636,\\\"./plot_config\\\":638,\\\"./plot_schema\\\":639,\\\"./subroutines\\\":640,d3:130,\\\"fast-isnumeric\\\":196,\\\"has-hover\\\":296}],638:[function(t,e,r){\\\"use strict\\\";e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\\\"reset+autosize\\\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\\\"Edit chart\\\",showSources:!1,displayModeBar:\\\"hover\\\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:\\\"transparent\\\",topojsonURL:\\\"https://cdn.plot.ly/\\\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\\\"en-US\\\",locales:{}}},{}],639:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\"),i=t(\\\"../lib\\\"),a=t(\\\"../plots/attributes\\\"),o=t(\\\"../plots/layout_attributes\\\"),s=t(\\\"../plots/frame_attributes\\\"),l=t(\\\"../plots/animation_attributes\\\"),c=t(\\\"../plots/polar/legacy/area_attributes\\\"),u=t(\\\"../plots/polar/legacy/axis_attributes\\\"),f=t(\\\"./edit_types\\\"),h=i.extendFlat,p=i.extendDeepAll,d=i.isPlainObject,g=\\\"_isSubplotObj\\\",m=\\\"_isLinkedToArray\\\",v=[g,m,\\\"_arrayAttrRegexps\\\",\\\"_deprecated\\\"];function y(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(x(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!d(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!x(e[++r]))return!1}else if(\\\"info_array\\\"===t.valType){var i=e[++r];if(!x(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!x(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function x(t){return t===Math.round(t)&&t>=0}function b(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\\\"}):d(t)&&(t.role=\\\"object\\\")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[m];if(!n)return;delete t[m],r[e]={items:{}},r[e].items[n]=t,r[e].role=\\\"object\\\"})}(t),function(t){!function t(e){for(var r in e)if(d(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 _(t,e,r){var n=i.nestedProperty(t,r),a=p({},e.layoutAttributes);a[g]=!0,n.set(a)}function w(t,e,r){var n=i.nestedProperty(t,r);n.set(p(n.get()||{},e))}r.IS_SUBPLOT_OBJ=g,r.IS_LINKED_TO_ARRAY=m,r.DEPRECATED=\\\"_deprecated\\\",r.UNDERSCORE_ATTRS=v,r.get=function(){var t={};n.allTypes.concat(\\\"area\\\").forEach(function(e){t[e]=function(t){var e,r;\\\"area\\\"===t?(e={attributes:c},r={}):(e=n.modules[t]._module,r=e.basePlotModule);var i={type:null};p(i,a),p(i,e.attributes),r.attributes&&p(i,r.attributes);i.type=t;var o={meta:e.meta||{},attributes:b(i)};if(e.layoutAttributes){var s={};p(s,e.layoutAttributes),o.layoutAttributes=b(s)}return o}(e)});var e,r={};return Object.keys(n.transformsRegistry).forEach(function(t){r[t]=function(t){var e=n.transformsRegistry[t],r=p({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach(function(e){w(r,i.schema.transforms[t][e],e)})}),{attributes:b(r)}}(t)}),{defs:{valObjects:i.valObjectMeta,metaKeys:v.concat([\\\"description\\\",\\\"role\\\",\\\"editType\\\",\\\"impliedEdits\\\"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in p(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)_(r,e,e.attr[i]);else{var a=\\\"subplot\\\"===e.attr?e.name:e.attr;_(r,e,a)}for(t in r=function(t){return h(t,{radialaxis:u.radialaxis,angularaxis:u.angularaxis}),h(t,u.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else e.layoutAttributes&&w(r,e.layoutAttributes,e.name)}return{layoutAttributes:b(r)}}(),transforms:r,frames:(e={frames:i.extendDeepAll({},s)},b(e),e.frames),animation:b(l)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||\\\"\\\",Object.keys(t).forEach(function(n){var o=t[n];if(-1===v.indexOf(n)){var s=(i?i+\\\".\\\":\\\"\\\")+n;e(o,n,t,a,s),r.isValObject(o)||d(o)&&\\\"impliedEdits\\\"!==n&&r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,o=[],s=[],l=[];function c(t,r,a,c){s=s.slice(0,c).concat([r]),l=l.slice(0,c).concat([t&&t._isLinkedToArray]),t&&(\\\"data_array\\\"===t.valType||!0===t.arrayOk)&&!(\\\"colorbar\\\"===s[c-1]&&(\\\"ticktext\\\"===r||\\\"tickvals\\\"===r))&&function t(e,r,a){var c=e[s[r]];var u=a+s[r];if(r===s.length-1)i.isArrayOrTypedArray(c)&&o.push(n+u);else if(l[r]){if(Array.isArray(c))for(var f=0;f<c.length;f++)i.isPlainObject(c[f])&&t(c[f],r+1,u+\\\"[\\\"+f+\\\"].\\\")}else i.isPlainObject(c)&&t(c,r+1,u+\\\".\\\")}(e,0,\\\"\\\")}e=t,n=\\\"\\\",r.crawl(a,c),t._module&&t._module.attributes&&r.crawl(t._module.attributes,c);var u=t.transforms;if(u)for(var f=0;f<u.length;f++){var h=u[f],p=h._module;p&&(n=\\\"transforms[\\\"+f+\\\"].\\\",e=h,r.crawl(p.attributes,c))}return o},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if(\\\"transforms\\\"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var u=e[1];if(!x(u)||u>=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if(\\\"area\\\"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return y(i,e,s)},r.getLayoutValObject=function(t,e){return y(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var f=a.baseLayoutAttrOverrides;if(f&&e in f)return f[e]}if(c)return c}var h=t._modules;if(h)for(r=0;r<h.length;r++)if((s=h[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry)if(!(a=n.componentsRegistry[i]).schema&&e===a.name)return a.layoutAttributes;if(e in o)return o[e];if(\\\"radialaxis\\\"===e||\\\"angularaxis\\\"===e)return u[e];return u.layout[e]||!1}(t,e[0]),e,1)}},{\\\"../lib\\\":602,\\\"../plots/animation_attributes\\\":643,\\\"../plots/attributes\\\":645,\\\"../plots/frame_attributes\\\":675,\\\"../plots/layout_attributes\\\":701,\\\"../plots/polar/legacy/area_attributes\\\":716,\\\"../plots/polar/legacy/axis_attributes\\\":717,\\\"../registry\\\":732,\\\"./edit_types\\\":633}],640:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../registry\\\"),a=t(\\\"../plots/plots\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../lib/clear_gl_canvases\\\"),l=t(\\\"../components/color\\\"),c=t(\\\"../components/drawing\\\"),u=t(\\\"../components/titles\\\"),f=t(\\\"../components/modebar\\\"),h=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){return(t.ticks||t.showline)&&(e===t._mainSubplot||\\\"all\\\"===t.mirror||\\\"allticks\\\"===t.mirror)}function x(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 i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function b(t,e,r,n){if(x(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&x(t,e,a))return a._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){var e,i=t._fullLayout,a=i._size,s=a.p,u=h.list(t),d=i._has(\\\"cartesian\\\");function g(t,e,r){var n=t._lw/2;return\\\"x\\\"===t._id.charAt(0)?e?\\\"top\\\"===r?e._offset-s-n:e._offset+e._length+s+n:a.t+a.h*(1-(t.position||0))+n%1:e?\\\"right\\\"===r?e._offset+e._length+s+n:e._offset-s-n:a.l+a.w*(t.position||0)+n%1}for(e=0;e<u.length;e++){var m=u[e];m.setScale();var v=m._anchorAxis;m._linepositions={},m._lw=c.crispRound(t,m.linewidth,1),m._mainLinePosition=g(m,v,m.side),m._mainMirrorPosition=m.mirror&&v?g(m,v,p.OPPOSITE_SIDE[m.side]):null}i._paperdiv.style({width:i.width+\\\"px\\\",height:i.height+\\\"px\\\"}).selectAll(\\\".main-svg\\\").call(c.setSize,i.width,i.height),t._context.setBackground(t,i.paper_bgcolor);var x=i._paper.selectAll(\\\"g.subplot\\\"),_=[],w=[];x.each(function(t){var e=i._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,n=e.yaxis.domain,a=e.plotgroup;if(function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}(r,n,w)){var s=a.node(),l=e.bg=o.ensureSingle(a,\\\"rect\\\",\\\"bg\\\");s.insertBefore(l.node(),s.childNodes[0])}else a.select(\\\"rect.bg\\\").remove(),_.push(t),w.push([r,n])});var k=i._bgLayer.selectAll(\\\".bg\\\").data(_);return k.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),k.exit().remove(),k.each(function(t){i._plots[t].bg=n.select(this)}),x.each(function(t){var e=i._plots[t],r=e.xaxis,n=e.yaxis;e.bg&&d&&e.bg.call(c.setRect,r._offset-s,n._offset-s,r._length+2*s,n._length+2*s).call(l.fill,i.plot_bgcolor).style(\\\"stroke-width\\\",0);var a,f,h=e.clipId=\\\"clip\\\"+i._uid+t+\\\"plot\\\",p=o.ensureSingleById(i._clips,\\\"clipPath\\\",h,function(t){t.classed(\\\"plotclip\\\",!0).append(\\\"rect\\\")});if(e.clipRect=p.select(\\\"rect\\\").attr({width:r._length,height:n._length}),c.setTranslate(e.plot,r._offset,n._offset),e._hasClipOnAxisFalse?(a=null,f=h):(a=h,f=null),c.setClipUrl(e.plot,a),e.layerClipId=f,d){var m,v,x,_,w,k,M,A,T,S,C,E,L,z=\\\"M0,0\\\";y(r,t)&&(w=b(r,\\\"left\\\",n,u),m=r._offset-(w?s+w:0),k=b(r,\\\"right\\\",n,u),v=r._offset+r._length+(k?s+k:0),x=g(r,n,\\\"bottom\\\"),_=g(r,n,\\\"top\\\"),(L=!r._anchorAxis||t!==r._mainSubplot)&&r.ticks&&\\\"allticks\\\"===r.mirror&&(r._linepositions[t]=[x,_]),z=I(r,D,function(t){return\\\"M\\\"+r._offset+\\\",\\\"+t+\\\"h\\\"+r._length}),L&&r.showline&&(\\\"all\\\"===r.mirror||\\\"allticks\\\"===r.mirror)&&(z+=D(x)+D(_)),e.xlines.style(\\\"stroke-width\\\",r._lw+\\\"px\\\").call(l.stroke,r.showline?r.linecolor:\\\"rgba(0,0,0,0)\\\")),e.xlines.attr(\\\"d\\\",z);var P=\\\"M0,0\\\";y(n,t)&&(C=b(n,\\\"bottom\\\",r,u),M=n._offset+n._length+(C?s:0),E=b(n,\\\"top\\\",r,u),A=n._offset-(E?s:0),T=g(n,r,\\\"left\\\"),S=g(n,r,\\\"right\\\"),(L=!n._anchorAxis||t!==r._mainSubplot)&&n.ticks&&\\\"allticks\\\"===n.mirror&&(n._linepositions[t]=[T,S]),P=I(n,O,function(t){return\\\"M\\\"+t+\\\",\\\"+n._offset+\\\"v\\\"+n._length}),L&&n.showline&&(\\\"all\\\"===n.mirror||\\\"allticks\\\"===n.mirror)&&(P+=O(T)+O(S)),e.ylines.style(\\\"stroke-width\\\",n._lw+\\\"px\\\").call(l.stroke,n.showline?n.linecolor:\\\"rgba(0,0,0,0)\\\")),e.ylines.attr(\\\"d\\\",P)}function D(t){return\\\"M\\\"+m+\\\",\\\"+t+\\\"H\\\"+v}function O(t){return\\\"M\\\"+t+\\\",\\\"+A+\\\"V\\\"+M}function I(e,r,n){if(!e.showline||t!==e._mainSubplot)return\\\"\\\";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),h.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,\\\"gtitle\\\",{propContainer:e,propName:\\\"title\\\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\\\"text-anchor\\\":\\\"middle\\\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return a.style(t),i.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),a.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,o=r.t.cb;i.traceIs(n,\\\"contour\\\")&&o.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\\\"line\\\"===n.contours.coloring?o._opts.line.color:n.line.color}),i.traceIs(n,\\\"markerColorscale\\\")?o.options(n.marker.colorbar)():o.options(n.colorbar)()}}return a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call(\\\"plot\\\",t,\\\"\\\",e)},r.doLegend=function(t){return i.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),a.previousPromises(t)},r.doTicksRelayout=function(t){return h.doTicks(t,\\\"redraw\\\"),t._fullLayout._hasOnlyLargeSploms&&(s(t),i.subplotsRegistry.splom.plot(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(e)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}},r.drawData=function(t){var e,r=t._fullLayout,n=t.calcdata;for(e=0;e<n.length;e++){var o=n[e][0].trace;!0===o.visible&&o._module.colorbar||r._infolayer.select(\\\".cb\\\"+o.uid).remove()}s(t);var l=r._basePlotModules;for(e=0;e<l.length;e++)l[e].plot(t);return a.style(t),i.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),r._replotting=!1,a.previousPromises(t)},r.doAutoRangeAndConstraints=function(t){for(var e=h.list(t,\\\"\\\",!0),r=0;r<e.length;r++){var n=e[r];m(t,n),v(n)}g(t)},r.finalDraw=function(t){i.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"images\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"rangeslider\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t)}},{\\\"../components/color\\\":474,\\\"../components/drawing\\\":499,\\\"../components/modebar\\\":537,\\\"../components/titles\\\":567,\\\"../constants/alignment\\\":574,\\\"../lib\\\":602,\\\"../lib/clear_gl_canvases\\\":586,\\\"../plots/cartesian/autorange\\\":647,\\\"../plots/cartesian/axes\\\":648,\\\"../plots/cartesian/constraints\\\":655,\\\"../plots/plots\\\":710,\\\"../registry\\\":732,d3:130}],641:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./plot_api\\\"),i=t(\\\"../lib\\\"),a=t(\\\"../snapshot/helpers\\\"),o=t(\\\"../snapshot/tosvg\\\"),s=t(\\\"../snapshot/svgtoimg\\\"),l={format:{valType:\\\"enumerated\\\",values:[\\\"png\\\",\\\"jpeg\\\",\\\"webp\\\",\\\"svg\\\"],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}},c=/^data:image\\\\/\\\\w+;base64,/;e.exports=function(t,e){var r,u,f;function h(t){return!(t in e)||i.validate(e[t],l[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},f=t.config||{}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),f=t._context),!h(\\\"width\\\")||!h(\\\"height\\\"))throw new Error(\\\"Height and width should be pixel values.\\\");if(!h(\\\"format\\\"))throw new Error(\\\"Image format is not jpeg, png, svg or webp.\\\");var p={};function d(t,r){return i.coerce(e,p,l,t,r)}var g=d(\\\"format\\\"),m=d(\\\"width\\\"),v=d(\\\"height\\\"),y=d(\\\"scale\\\"),x=d(\\\"setBackground\\\"),b=d(\\\"imageDataOnly\\\"),_=document.createElement(\\\"div\\\");_.style.position=\\\"absolute\\\",_.style.left=\\\"-5000px\\\",document.body.appendChild(_);var w=i.extendFlat({},u);m&&(w.width=m),v&&(w.height=v);var k=i.extendFlat({},f,{staticPlot:!0,setBackground:x}),M=a.getRedrawFunc(_);function A(){return new Promise(function(t){setTimeout(t,a.getDelay(_._fullLayout))})}function T(){return new Promise(function(t,e){var r=o(_,g,y),a=_._fullLayout.width,l=_._fullLayout.height;if(n.purge(_),document.body.removeChild(_),\\\"svg\\\"===g)return t(b?r:\\\"data:image/svg+xml,\\\"+encodeURIComponent(r));var c=document.createElement(\\\"canvas\\\");c.id=i.randstr(),s({format:g,width:a,height:l,scale:y,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){n.plot(_,r,w,k).then(M).then(A).then(T).then(function(e){t(function(t){return b?t.replace(c,\\\"\\\"):t}(e))}).catch(function(t){e(t)})})}},{\\\"../lib\\\":602,\\\"../snapshot/helpers\\\":736,\\\"../snapshot/svgtoimg\\\":738,\\\"../snapshot/tosvg\\\":740,\\\"./plot_api\\\":637}],642:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plots/plots\\\"),a=t(\\\"./plot_schema\\\"),o=t(\\\"./plot_config\\\"),s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var m=f[h];if(\\\"transforms\\\"!==m){var v=o.slice();v.push(m);var y=t[m],x=e[m],b=g(r,m),_=\\\"info_array\\\"===(b||{}).valType,w=\\\"colorscale\\\"===(b||{}).valType,k=(b||{}).items;if(d(r,m))if(s(y)&&s(x))u(y,x,b,i,a,v);else if(_&&l(y)){y.length>x.length&&i.push(p(\\\"unused\\\",a,v.concat(x.length)));var M,A,T,S,C,E=x.length,L=Array.isArray(k);if(L&&(E=Math.min(E,k.length)),2===b.dimensions)for(A=0;A<E;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(p(\\\"unused\\\",a,v.concat(A,x[A].length)));var z=x[A].length;for(M=0;M<(L?Math.min(z,k[A].length):z);M++)T=L?k[A][M]:k,S=y[A][M],C=x[A][M],n.validate(S,T)?C!==S&&C!==+S&&i.push(p(\\\"dynamic\\\",a,v.concat(A,M),S,C)):i.push(p(\\\"value\\\",a,v.concat(A,M),S))}else i.push(p(\\\"array\\\",a,v.concat(A),y[A]));else for(A=0;A<E;A++)T=L?k[A]:k,S=y[A],C=x[A],n.validate(S,T)?C!==S&&C!==+S&&i.push(p(\\\"dynamic\\\",a,v.concat(A),S,C)):i.push(p(\\\"value\\\",a,v.concat(A),S))}else if(b.items&&!_&&l(y)){var P,D,O=k[Object.keys(k)[0]],I=[];for(P=0;P<x.length;P++){var R=x[P]._index||P;(D=v.slice()).push(R),s(y[R])&&s(x[P])&&(I.push(R),u(y[R],x[P],O,i,a,D))}for(P=0;P<y.length;P++)(D=v.slice()).push(P),s(y[P])?-1===I.indexOf(P)&&i.push(p(\\\"unused\\\",a,D)):i.push(p(\\\"object\\\",a,D,y[P]))}else!s(y)&&s(x)?i.push(p(\\\"object\\\",a,v,y)):c(y)||!c(x)||_||w?m in e?n.validate(y,b)?\\\"enumerated\\\"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(p(\\\"dynamic\\\",a,v,y,x)):i.push(p(\\\"value\\\",a,v,y)):i.push(p(\\\"unused\\\",a,v,y)):i.push(p(\\\"array\\\",a,v,y));else i.push(p(\\\"schema\\\",a,v))}}return i}e.exports=function(t,e){var r,c,f=a.get(),h=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],h.push(p(\\\"array\\\",\\\"data\\\"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&h.push(p(\\\"object\\\",\\\"layout\\\"))),i.supplyDefaults(d);for(var g=d._fullData,m=r.length,v=0;v<m;v++){var y=r[v],x=[\\\"data\\\",v];if(s(y)){var b=g[v],_=b.type,w=f.traces[_].attributes;w.type={valType:\\\"enumerated\\\",values:[_]},!1===b.visible&&!1!==y.visible&&h.push(p(\\\"invisible\\\",x)),u(y,b,w,h,x);var k=y.transforms,M=b.transforms;if(k){l(k)||h.push(p(\\\"array\\\",x,[\\\"transforms\\\"])),x.push(\\\"transforms\\\");for(var A=0;A<k.length;A++){var T=[\\\"transforms\\\",A],S=k[A].type;if(s(k[A])){var C=f.transforms[S]?f.transforms[S].attributes:{};C.type={valType:\\\"enumerated\\\",values:Object.keys(f.transforms)},u(k[A],M[A],C,h,x,T)}else h.push(p(\\\"object\\\",x,T))}}}else h.push(p(\\\"object\\\",x))}return u(c,d._fullLayout,function(t,e){for(var r=0;r<e.length;r++){var i=e[r].type,a=t.traces[i].layoutAttributes;a&&n.extendFlat(t.layout.layoutAttributes,a)}return t.layout.layoutAttributes}(f,g),h,\\\"layout\\\"),0===h.length?void 0:h};var f={object:function(t,e){return(\\\"layout\\\"===t&&\\\"\\\"===e?\\\"The layout argument\\\":\\\"data\\\"===t[0]&&\\\"\\\"===e?\\\"Trace \\\"+t[1]+\\\" in the data argument\\\":h(t)+\\\"key \\\"+e)+\\\" must be linked to an object container\\\"},array:function(t,e){return(\\\"data\\\"===t?\\\"The data argument\\\":h(t)+\\\"key \\\"+e)+\\\" must be linked to an array container\\\"},schema:function(t,e){return h(t)+\\\"key \\\"+e+\\\" is not part of the schema\\\"},unused:function(t,e,r){var n=s(r)?\\\"container\\\":\\\"key\\\";return h(t)+n+\\\" \\\"+e+\\\" did not get coerced\\\"},dynamic:function(t,e,r,n){return[h(t)+\\\"key\\\",e,\\\"(set to '\\\"+r+\\\"')\\\",\\\"got reset to\\\",\\\"'\\\"+n+\\\"'\\\",\\\"during defaults.\\\"].join(\\\" \\\")},invisible:function(t){return\\\"Trace \\\"+t[1]+\\\" got defaulted to be not visible\\\"},value:function(t,e,r){return[h(t)+\\\"key \\\"+e,\\\"is set to an invalid value (\\\"+r+\\\")\\\"].join(\\\" \\\")}};function h(t){return l(t)?\\\"In data trace \\\"+t[1]+\\\", \\\":\\\"In \\\"+t+\\\", \\\"}function p(t,e,r,i,a){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,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=v(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function g(t,e){return t[v(e).keyMinusId]}var m=n.counterRegex(\\\"([a-z]+)\\\");function v(t){var e=t.match(m);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{\\\"../lib\\\":602,\\\"../plots/plots\\\":710,\\\"./plot_config\\\":638,\\\"./plot_schema\\\":639}],643:[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},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\\\"]}}}},{}],644:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\");e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArrayOrTypedArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i<s.length;i++){var c=s[i],u={},f={};n.isPlainObject(c)||(f.itemIsNotPlainObject=!0,c={}),r.handleItemDefaults(c,u,e,r,f),u._input=c,u._index=i,l.push(u)}if(n.isArrayOrTypedArray(o)){var h=Math.min(o.length,l.length);for(i=0;i<h;i++)n.relinkPrivateKeys(l[i],o[i])}}},{\\\"../lib\\\":602}],645:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/fx/attributes\\\");e.exports={type:{valType:\\\"enumerated\\\",values:[],dflt:\\\"scatter\\\",editType:\\\"calc+clearAxisTypes\\\"},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\\\",dflt:\\\"\\\",editType:\\\"calc\\\"},ids:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},customdata:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},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\\\"}}},{\\\"../components/fx/attributes\\\":508}],646:[function(t,e,r){\\\"use strict\\\";e.exports={xaxis:{valType:\\\"subplotid\\\",dflt:\\\"x\\\",editType:\\\"calc+clearAxisTypes\\\"},yaxis:{valType:\\\"subplotid\\\",dflt:\\\"y\\\",editType:\\\"calc+clearAxisTypes\\\"}}},{}],647:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").FP_SAFE;function o(t){var e,r,n,a,o,l,c,u,f=[],h=t._min[0].val,p=t._max[0].val,d=0,g=!1,m=s(t);for(e=1;e<t._min.length&&h===p;e++)h=Math.min(h,t._min[e].val);for(e=1;e<t._max.length&&h===p;e++)p=Math.max(p,t._max[e].val);if(t.range){var v=i.simpleMap(t.range,t.r2l);g=v[1]<v[0]}for(\\\"reversed\\\"===t.autorange&&(g=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(n=t._min[e],r=0;r<t._max.length;r++)u=(a=t._max[r]).val-n.val,c=t._length-m(n)-m(a),u>0&&c>0&&u/c>d&&(o=n,l=a,d=u/c);if(h===p){var y=h-1,x=h+1;f=\\\"tozero\\\"===t.rangemode?h<0?[y,0]:[0,x]:\\\"nonnegative\\\"===t.rangemode?[Math.max(0,y),Math.max(0,x)]:[y,x]}else d&&(\\\"linear\\\"!==t.type&&\\\"-\\\"!==t.type||(\\\"tozero\\\"===t.rangemode?(o.val>=0&&(o={val:0,pad:0}),l.val<=0&&(l={val:0,pad:0})):\\\"nonnegative\\\"===t.rangemode&&(o.val-d*m(o)<0&&(o={val:0,pad:0}),l.val<0&&(l={val:1,pad:0})),d=(l.val-o.val)/(t._length-m(o)-m(l))),f=[o.val-d*m(o),l.val+d*m(l)]);return f[0]===f[1]&&(\\\"tozero\\\"===t.rangemode?f=f[0]<0?[f[0],0]:f[0]>0?[0,f[0]]:[0,1]:(f=[f[0]-1,f[0]+1],\\\"nonnegative\\\"===t.rangemode&&(f[0]=Math.max(0,f[0])))),g&&f.reverse(),i.simpleMap(f,t.l2r||Number)}function s(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 l(t){return n(t)&&Math.abs(t)<a}function c(t,e){return t<=e}function u(t,e){return t>=e}e.exports={getAutoRange:o,makePadFn:s,doAutoRange:function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=o(t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&\\\"auto\\\"===n.rangemode&&(n.range=r?o(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=i.extendFlat({},n)}},expand:function(t,e,r){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);r||(r={});t._m||t.setScale();var i,o,s,f,h,p,d,g,m,v,y,x,b=e.length,_=r.padded||!1,w=r.tozero&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type),k=\\\"log\\\"===t.type,M=!1;function A(t){if(Array.isArray(t))return M=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var T=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),E=A(r.vpadminus||r.vpad);if(!M){if(y=1/0,x=-1/0,k)for(i=0;i<b;i++)(f=e[i])<y&&f>0&&(y=f),f>x&&f<a&&(x=f);else for(i=0;i<b;i++)(f=e[i])<y&&f>-a&&(y=f),f>x&&f<a&&(x=f);e=[y,x],b=2}function L(r){if(h=e[r],n(h))for(g=T(r),m=S(r),y=h-E(r),x=h+C(r),k&&y<x/10&&(y=x/10),p=t.c2l(y),d=t.c2l(x),w&&(p=Math.min(0,p),d=Math.max(0,d)),s=0;s<2;s++){var i=s?d:p;if(l(i)){var a=s?t._max:t._min,b=s?g:m,M=s?u:c;for(v=!0,o=0;o<a.length&&v;o++){if(f=a[o],M(f.val,i)&&f.pad>=b&&(f.extrapad||!_)){v=!1;break}M(i,f.val)&&f.pad<=b&&(_||!f.extrapad)&&(a.splice(o,1),o--)}if(v){var A=w&&0===i;a.push({val:i,pad:A?0:b,extrapad:!A&&_})}}}}var z=Math.min(6,b);for(i=0;i<z;i++)L(i);for(i=b-1;i>=z;i--)L(i)}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],648:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../components/titles\\\"),u=t(\\\"../../components/color\\\"),f=t(\\\"../../components/drawing\\\"),h=t(\\\"../../constants/numerical\\\"),p=h.ONEAVGYEAR,d=h.ONEAVGMONTH,g=h.ONEDAY,m=h.ONEHOUR,v=h.ONEMIN,y=h.ONESEC,x=h.MINUS_SIGN,b=h.BADNUM,_=t(\\\"../../constants/alignment\\\").MID_SHIFT,w=t(\\\"../../constants/alignment\\\").LINE_SPACING,k=e.exports={};k.setConvert=t(\\\"./set_convert\\\");var M=t(\\\"./axis_autotype\\\"),A=t(\\\"./axis_ids\\\");k.id2name=A.id2name,k.name2id=A.name2id,k.cleanId=A.cleanId,k.list=A.list,k.listIds=A.listIds,k.getFromId=A.getFromId,k.getFromTrace=A.getFromTrace;var T=t(\\\"./autorange\\\");k.expand=T.expand,k.getAutoRange=T.getAutoRange,k.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\\\"axis\\\"],c=n+\\\"ref\\\",u={};return i||(i=l[0]||a),a||(a=i),u[c]={valType:\\\"enumerated\\\",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},k.coercePosition=function(t,e,r,n,i,a){var o,l;if(\\\"paper\\\"===n||\\\"pixel\\\"===n)o=s.ensureNumber,l=r(i,a);else{var c=k.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},k.cleanPosition=function(t,e,r){return(\\\"paper\\\"===r||\\\"pixel\\\"===r?s.ensureNumber:k.getFromId(e,r).cleanPos)(t)};var S=k.getDataConversions=function(t,e,r,n){var i,a=\\\"x\\\"===r||\\\"y\\\"===r||\\\"z\\\"===r?r:n;if(Array.isArray(a)){if(i={type:M(n),_categories:[]},k.setConvert(i),\\\"category\\\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=k.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\\\"ids\\\"===a?{d2c:E,c2d:E}:{d2c:C,c2d:C}};function C(t){return+t}function E(t){return String(t)}k.getDataToCoordFunc=function(t,e,r,n){return S(t,e,r,n).d2c},k.counterLetter=function(t){var e=t.charAt(0);return\\\"x\\\"===e?\\\"y\\\":\\\"y\\\"===e?\\\"x\\\":void 0},k.minDtick=function(t,e,r,n){-1===[\\\"log\\\",\\\"category\\\"].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},k.saveRangeInitial=function(t,e){for(var r=k.list(t,\\\"\\\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},k.saveShowSpikeInitial=function(t,e){for(var r=k.list(t,\\\"\\\",!0),n=!1,i=\\\"on\\\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\\\"on\\\"!==i||o.showspikes||(i=\\\"off\\\")}return t._fullLayout._cartesianSpikesEnabled=i,n},k.autoBin=function(t,e,r,n,a){var o,l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if(a||(a=e.calendar),\\\"category\\\"===e.type)return{start:c-.5,end:u+.5,size:1,_dataSpan:u-c};if(r)o=(u-c)/r;else{var f=s.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),p=h*s.roundUp(f.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(p,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(o)||(o=1)}l=\\\"log\\\"===e.type?{type:\\\"linear\\\",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},k.setConvert(l),k.autoTicks(l,o);var d,m=k.tickIncrement(k.tickFirst(l),l.dtick,\\\"reverse\\\",a);if(\\\"number\\\"==typeof l.dtick)d=(m=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&\\\"date\\\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(m,t,l,c,u))+(1+Math.floor((u-m)/l.dtick))*l.dtick;else for(\\\"M\\\"===l.dtick.charAt(0)&&(m=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=k.tickIncrement(t,\\\"M6\\\",\\\"reverse\\\")+1.5*g:a.exactMonths>.8?t=k.tickIncrement(t,\\\"M1\\\",\\\"reverse\\\")+15.5*g:t-=g/2;var l=k.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,l.dtick,c,a)),d=m,0;d<=u;)d=k.tickIncrement(d,l.dtick,!1,a),0;return{start:e.c2r(m,0,a),end:e.c2r(d,0,a),size:l.dtick,_dataSpan:u-c}},k.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if(\\\"auto\\\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\\\"category\\\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\\\"y\\\"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),\\\"radialaxis\\\"===t._name&&(n*=2)),\\\"array\\\"===t.tickmode&&(n*=100),k.autoTicks(t,Math.abs(e[1]-e[0])/n),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),F(t)},k.calcTicks=function(t){k.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if(\\\"array\\\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=s.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var p=\\\"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(r=0;r<n.length;r++)(e=p(n[r]))>u&&e<f&&(void 0===i[r]?a[h]=k.tickText(t,e):a[h]=N(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=k.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\\\"category\\\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,l=Math.max(1e3,t._length||0),c=t._tmin;(i?c>=n:c<=n)&&!(a.length>l||c===o);c=k.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);\\\"angular\\\"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\\\"\\\",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f<a.length;f++)u[f]=k.tickText(t,a[f]);return t._inCalcTicks=!1,u};var L=[2,5,10],z=[1,2,3,6,12],P=[1,2,5,10,15,30],D=[1,2,3,7,14],O=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],I=[-.301,0,.301,.699,1],R=[15,30,45,90,180];function B(t,e,r){return e*s.roundUp(t/e,r)}function F(t){var e=t.dtick;if(t._tickexponent=0,i(e)||\\\"string\\\"==typeof e||(e=1),\\\"category\\\"===t.type&&(t._tickround=null),\\\"date\\\"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,\\\"\\\"),a=n.length;if(\\\"M\\\"===String(e).charAt(0))a>10||\\\"01-01\\\"!==n.substr(5)?t._tickround=\\\"d\\\":t._tickround=+e.substr(1)%12==0?\\\"y\\\":\\\"m\\\";else if(e>=g&&a<=10||e>=15*g)t._tickround=\\\"d\\\";else if(e>=v&&a<=16||e>=m)t._tickround=\\\"M\\\";else if(e>=y&&a<=19||e>=v)t._tickround=\\\"S\\\";else{var o=t.l2r(r+e).replace(/^-/,\\\"\\\").length;t._tickround=Math.max(a,o)-20}}else if(i(e)||\\\"L\\\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(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&&(V(t.exponentformat)&&!U(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function N(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}}k.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 a=2*e;a>p?(e/=p,r=n(10),t.dtick=\\\"M\\\"+12*B(e,r,L)):a>d?(e/=d,t.dtick=\\\"M\\\"+B(e,1,z)):a>g?(t.dtick=B(e,g,D),t.tick0=s.dateTick0(t.calendar,!0)):a>m?t.dtick=B(e,m,z):a>v?t.dtick=B(e,v,P):a>y?t.dtick=B(e,y,P):(r=n(10),t.dtick=B(e,r,L))}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\\\"+B(e,r,L)}else t.dtick=e>.3?\\\"D2\\\":\\\"D1\\\"}else\\\"category\\\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):\\\"angular\\\"===t._id?(t.tick0=0,r=1,t.dtick=B(e,r,R)):(t.tick0=0,r=n(10),t.dtick=B(e,r,L));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\\\"string\\\"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,\\\"ax.dtick error: \\\"+String(c)}},k.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if(\\\"M\\\"===l)return s.incrementMonth(t,c,a);if(\\\"L\\\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\\\"D\\\"===l){var u=\\\"D2\\\"===e?I:O,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(e)},k.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]<r[0],o=a?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(i(c)){var f=o((l-u)/c)*c+u;return\\\"category\\\"===t.type&&(f=s.constrain(f,0,t._categories.length-1)),f}var h=c.charAt(0),p=Number(c.substr(1));if(\\\"M\\\"===h){for(var d,g,m,v=0,y=u;v<10;){if(((d=k.tickIncrement(y,c,a,t.calendar))-l)*(y-l)<=0)return a?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),m=h+(Math.abs(Math.round(g))||1)*p,y=k.tickIncrement(y,m,g<0?!a:a,t.calendar),v++}return s.error(\\\"tickFirst did not converge\\\",t),y}if(\\\"L\\\"===h)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if(\\\"D\\\"===h){var x=\\\"D2\\\"===c?I:O,b=s.roundUp(s.mod(l,1),x,a);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(c)},k.tickText=function(t,e,r){var n,a,o=N(t,e),l=\\\"array\\\"===t.tickmode,c=r||l,u=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),h=Math.abs(f[1]-f[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function p(n){var i;return void 0===n||(r?\\\"none\\\"===n:(i={first:t._tmin,last:t._tmax}[n],\\\"all\\\"!==n&&e!==i))}return n=r?\\\"never\\\":\\\"none\\\"!==t.exponentformat&&p(t.showexponent)?\\\"hide\\\":\\\"\\\",\\\"date\\\"===t.type?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||k.getTickFormat(t);n&&(a=i(a)?4:{y:\\\"m\\\",m:\\\"d\\\",d:\\\"M\\\",M:\\\"S\\\",S:4}[a]);var l,c=s.formatDate(e.x,o,a,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\\\"===a?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\\\"===t.type?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat;\\\"never\\\"===a&&(a=\\\"\\\");!n||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0)||(o=\\\"L3\\\");if(c||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0))e.text=q(Math.pow(10,l),t,a,n);else if(i(o)||\\\"D\\\"===o.charAt(0)&&s.mod(l+.01,1)<.1){var u=Math.round(l);-1!==[\\\"e\\\",\\\"E\\\",\\\"power\\\"].indexOf(t.exponentformat)||V(t.exponentformat)&&U(u)?(e.text=0===u?1:1===u?\\\"10\\\":u>1?\\\"10<sup>\\\"+u+\\\"</sup>\\\":\\\"10<sup>\\\"+x+-u+\\\"</sup>\\\",e.fontSize*=1.25):(e.text=q(Math.pow(10,l),t,\\\"\\\",\\\"fakehover\\\"),\\\"D1\\\"===o&&\\\"y\\\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\\\"D\\\"!==o.charAt(0))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 f=String(e.text).charAt(0);\\\"0\\\"!==f&&\\\"1\\\"!==f||(\\\"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,n):\\\"category\\\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\\\"\\\");e.text=String(r)}(t,o):\\\"angular\\\"===t._id?function(t,e,r,n,i){if(\\\"radians\\\"!==t.thetaunit||r)e.text=q(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\\\"0\\\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=q(s.deg2rad(e.x),t,i,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=x+e.text)}}}}(t,o,r,c,n):function(t,e,r,n,i){\\\"never\\\"===i?i=\\\"\\\":\\\"all\\\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\\\"hide\\\");e.text=q(e.x,t,i,n)}(t,o,0,c,n),t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix),o},k.hoverLabelText=function(t,e,r){if(r!==b&&r!==e)return k.hoverLabelText(t,e)+\\\" - \\\"+k.hoverLabelText(t,r);var n=\\\"log\\\"===t.type&&e<=0,i=k.tickText(t,t.c2l(n?-e:e),\\\"hover\\\").text;return n?0===e?\\\"0\\\":x+i:i};var j=[\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\u03bc\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\"];function V(t){return\\\"SI\\\"===t||\\\"B\\\"===t}function U(t){return t>14||t<-15}function q(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\\\"B\\\",c=e._tickexponent,u=k.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:\\\"none\\\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\\\"none\\\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};F(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,x);var p,d=Math.pow(10,-o)/2;if(\\\"none\\\"===l&&(c=0),(t=Math.abs(t))<d)t=\\\"0\\\",a=!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,f)}c&&\\\"hide\\\"!==l&&(V(l)&&U(c)&&(l=\\\"power\\\"),p=c<0?x+-c:\\\"power\\\"!==l?\\\"+\\\"+c:String(c),\\\"e\\\"===l?t+=\\\"e\\\"+p:\\\"E\\\"===l?t+=\\\"E\\\"+p:\\\"power\\\"===l?t+=\\\"\\\\xd710<sup>\\\"+p+\\\"</sup>\\\":\\\"B\\\"===l&&9===c?t+=\\\"B\\\":V(l)&&(t+=j[c/3+5]));return a?x+t:t}function H(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function G(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(k.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(k.getFromId(t,r[n]));var c=Object.keys(a[0]),u=[\\\"anchor\\\",\\\"domain\\\",\\\"overlaying\\\",\\\"position\\\",\\\"side\\\",\\\"tickangle\\\"],f=[\\\"linear\\\",\\\"log\\\"];for(n=0;n<c.length;n++){var h=c[n],p=a[0][h],d=o[0][h],g=!0,m=!1,v=!1;if(\\\"_\\\"!==h.charAt(0)&&\\\"function\\\"!=typeof p&&-1===u.indexOf(h)){for(i=1;i<a.length&&g;i++){var y=a[i][h];\\\"type\\\"===h&&-1!==f.indexOf(p)&&-1!==f.indexOf(y)&&p!==y?m=!0:y!==p&&(g=!1)}for(i=1;i<o.length&&g;i++){var x=o[i][h];\\\"type\\\"===h&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:o[i][h]!==d&&(g=!1)}g&&(m&&(l[a[0]._name].type=\\\"linear\\\"),v&&(l[o[0]._name].type=\\\"linear\\\"),W(l,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&&-1!==r.indexOf(b.yref)&&s.swapAttrs(l.annotations[n],[\\\"?\\\"])}}function W(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for(\\\"title\\\"===e&&(l===i.x&&(l=i.y),c===i.y&&(c=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\\\".\\\"+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+\\\".\\\"+e).set(l)}k.getTickFormat=function(t){var e,r,n,i,a,o,s;function l(t){return\\\"string\\\"!=typeof t?t:Number(t.replace(\\\"M\\\",\\\"\\\"))*d}function c(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)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\\\"\\\"))-Number(e.replace(/(L|D)/g,\\\"\\\")):n-i}return\\\"number\\\"==typeof t?1:-1}function u(t,e){var r=null===e[0],n=null===e[1],i=c(t,e[0])>=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}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.dtick,i=t.tickformatstops[e].dtickrange,a=void 0,void 0,void 0,a=l||function(t){return t},o=i[0],s=i[1],(!o&&\\\"number\\\"!=typeof o||a(o)<=a(n))&&(!s&&\\\"number\\\"!=typeof s||a(s)>=a(n))){r=t.tickformatstops[e];break}break;case\\\"log\\\":for(e=0;e<t.tickformatstops.length;e++)if(u(t.dtick,t.tickformatstops[e].dtickrange)){r=t.tickformatstops[e];break}}return r?r.value:t.tickformat},k.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?k.findSubplotsWithAxis(n,e):n;return i.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]}),i},k.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\\\"x\\\"===e._id.charAt(0)?\\\"^\\\"+e._id+\\\"y\\\":e._id+\\\"$\\\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},k.makeClipPaths=function(t){var e,r,i=t._fullLayout,a={_offset:0,_length:i.width,_id:\\\"\\\"},o={_offset:0,_length:i.height,_id:\\\"\\\"},s=k.list(t,\\\"x\\\",!0),l=k.list(t,\\\"y\\\",!0),c=[];for(e=0;e<s.length;e++)for(c.push({x:s[e],y:o}),r=0;r<l.length;r++)0===e&&c.push({x:a,y:l[r]}),c.push({x:s[e],y:l[r]});var u=i._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\\\"+i._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})})},k.doTicks=function(t,e,r){var h,p=t._fullLayout,d=!1;if(\\\"object\\\"==typeof e)e=(h=e)._id,d=!0;else if(h=k.getFromId(t,e),\\\"redraw\\\"===e&&p._paper.selectAll(\\\"g.subplot\\\").each(function(t){var e=p._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\\\".\\\"+r._id+\\\"tick\\\").remove(),e.yaxislayer.selectAll(\\\".\\\"+n._id+\\\"tick\\\").remove(),e.gridlayer&&e.gridlayer.selectAll(\\\"path\\\").remove(),e.zerolinelayer&&e.zerolinelayer.selectAll(\\\"path\\\").remove(),p._infolayer.select(\\\".g-\\\"+r._id+\\\"title\\\").remove(),p._infolayer.select(\\\".g-\\\"+n._id+\\\"title\\\").remove()}),!e||\\\"redraw\\\"===e)return s.syncOrAsync(k.list(t,\\\"\\\",!0).map(function(e){return function(){if(e._id){var r=k.doTicks(t,e._id);return e._r=e.range.slice(),e._rl=s.simpleMap(e._r,e.r2l),r}}}));h.setScale();var g,m,v,y,x,b,M=e.charAt(0),T=k.counterLetter(e),S=h._vals=k.calcTicks(h),C=function(t){return[t.text,t.x,h.mirror,t.font,t.fontSize,t.fontColor].join(\\\"_\\\")},E=e+\\\"tick\\\",L=e+\\\"grid\\\",z=e+\\\"zl\\\",P=(h.linewidth||1)/2,D=\\\"outside\\\"===h.ticks?h.ticklen:0,O=0,I=f.crispRound(t,h.gridwidth,1),R=f.crispRound(t,h.zerolinewidth,I),B=f.crispRound(t,h.tickwidth,1);if(h._counterangle&&\\\"outside\\\"===h.ticks){var F=h._counterangle*Math.PI/180;D=h.ticklen*Math.cos(F)+1,O=h.ticklen*Math.sin(F)}if(h.showticklabels&&(\\\"outside\\\"===h.ticks||h.showline)&&(D+=.2*h.tickfont.size),\\\"x\\\"===M)g=[\\\"bottom\\\",\\\"top\\\"],m=h._transfn||function(t){return\\\"translate(\\\"+(h._offset+h.l2p(t.x))+\\\",0)\\\"},v=function(t,e){if(h._counterangle){var r=h._counterangle*Math.PI/180;return\\\"M0,\\\"+t+\\\"l\\\"+Math.sin(r)*e+\\\",\\\"+Math.cos(r)*e}return\\\"M0,\\\"+t+\\\"v\\\"+e};else if(\\\"y\\\"===M)g=[\\\"left\\\",\\\"right\\\"],m=h._transfn||function(t){return\\\"translate(0,\\\"+(h._offset+h.l2p(t.x))+\\\")\\\"},v=function(t,e){if(h._counterangle){var r=h._counterangle*Math.PI/180;return\\\"M\\\"+t+\\\",0l\\\"+Math.cos(r)*e+\\\",\\\"+-Math.sin(r)*e}return\\\"M\\\"+t+\\\",0h\\\"+e};else{if(\\\"angular\\\"!==e)return void s.warn(\\\"Unrecognized doTicks axis:\\\",e);g=[\\\"left\\\",\\\"right\\\"],m=h._transfn,v=function(t,e){return\\\"M\\\"+t+\\\",0h\\\"+e}}var N=h.side||g[0],j=[-1,1,N===g[1]?1:-1];if(\\\"inside\\\"!==h.ticks==(\\\"x\\\"===M)&&(j=j.map(function(t){return-t})),h.visible){h._tickFilter&&(S=S.filter(h._tickFilter));var V=S.filter(X);if(\\\"angular\\\"===h._id&&(V=S),d){if(Z(h._axislayer,v(h._pos+P*j[2],j[2]*h.ticklen)),h._counteraxis)$({gridlayer:h._gridlayer,zerolinelayer:h._zerolinelayer},h._counteraxis);return J(h._axislayer,h._pos)}if(p._has(\\\"cartesian\\\")){var U={};(y=k.getSubplots(t,h)).map(function(t){var e=p._plots[t],r=e[T+\\\"axis\\\"],n=r._mainAxis._id;U[n]||(U[n]=1,$(e,r,t))});var q=h._mainSubplot,H=p._plots[q],G=[];if(h.ticks){var W=j[2],Y=v(h._mainLinePosition+P*W,W*h.ticklen);h._anchorAxis&&h.mirror&&!0!==h.mirror&&(Y+=v(h._mainMirrorPosition-P*W,-W*h.ticklen)),Z(H[M+\\\"axislayer\\\"],Y),G=Object.keys(h._linepositions||{})}return G.map(function(t){var e=p._plots[t][M+\\\"axislayer\\\"],r=h._linepositions[t]||[];function n(t){var e=j[t];return v(r[t]+P*e,e*h.ticklen)}Z(e,n(0)+n(1))}),J(H[M+\\\"axislayer\\\"],h._mainLinePosition)}}function X(t){var e=h.l2p(t.x);return e>1&&e<h._length-1}function Z(t,e){var r=t.selectAll(\\\"path.\\\"+E).data(\\\"inside\\\"===h.ticks?V:S,C);e&&h.ticks?(r.enter().append(\\\"path\\\").classed(E,1).classed(\\\"ticks\\\",1).classed(\\\"crisp\\\",1).call(u.stroke,h.tickcolor).style(\\\"stroke-width\\\",B+\\\"px\\\").attr(\\\"d\\\",e),r.attr(\\\"transform\\\",m),r.exit().remove()):r.remove()}function J(r,o){if(x=r.selectAll(\\\"g.\\\"+E).data(S,C),!i(o))return x.remove(),void K();if(!h.showticklabels)return x.remove(),K(),void z();var c,u,d,g,v;\\\"x\\\"===M?(c=function(t){return t.dx+O*v},g=o+(D+P)*(v=\\\"bottom\\\"===N?1:-1),u=function(t){return t.dy+g+t.fontSize*(\\\"bottom\\\"===N?1:-.2)},d=function(t){return i(t)&&0!==t&&180!==t?t*v<0?\\\"end\\\":\\\"start\\\":\\\"middle\\\"}):\\\"y\\\"===M?(v=\\\"right\\\"===N?1:-1,u=function(t){return t.dy+t.fontSize*_-O*v},c=function(t){return t.dx+o+(D+P+(90===Math.abs(h.tickangle)?t.fontSize/2:0))*v},d=function(t){return i(t)&&90===Math.abs(t)?\\\"middle\\\":\\\"right\\\"===N?\\\"start\\\":\\\"end\\\"}):\\\"angular\\\"===e&&(h._labelShift=O,h._labelStandoff=D,h._pad=P,c=h._labelx,u=h._labely,d=h._labelanchor);var k=0,A=0,T=[];function L(t,e){t.each(function(t){var r=d(e,t),a=n.select(this),o=a.select(\\\".text-math-group\\\"),s=m.call(a.node(),t)+(i(e)&&0!=+e?\\\" rotate(\\\"+e+\\\",\\\"+c(t)+\\\",\\\"+(u(t)-t.fontSize/2)+\\\")\\\":\\\"\\\"),h=function(t,e,r){var n=(t-1)*e;if(\\\"x\\\"===M){if(r<-60||60<r)return-.5*n;if(\\\"top\\\"===N)return-n}else{if((r*=\\\"left\\\"===N?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(l.lineCount(a),w*t.fontSize,i(e)?+e:0);if(h&&(s+=\\\" translate(0, \\\"+h+\\\")\\\"),o.empty())a.select(\\\"text\\\").attr({transform:s,\\\"text-anchor\\\":r});else{var p=f.bBox(o.node()).width*{end:-.5,start:.5}[r];o.attr(\\\"transform\\\",s+(p?\\\"translate(\\\"+p+\\\",0)\\\":\\\"\\\"))}})}function z(){if(h.showticklabels){var e=t.getBoundingClientRect(),n=r.node().getBoundingClientRect();h._boundingBox={width:n.width,height:n.height,left:n.left-e.left,right:n.right-e.left,top:n.top-e.top,bottom:n.bottom-e.top}}else{var i,a=p._size;\\\"x\\\"===M?(i=\\\"free\\\"===h.anchor?a.t+a.h*(1-h.position):a.t+a.h*(1-h._anchorAxis.domain[{bottom:0,top:1}[h.side]]),h._boundingBox={top:i,bottom:i,left:h._offset,right:h._offset+h._length,width:h._length,height:0}):(i=\\\"free\\\"===h.anchor?a.l+a.w*h.position:a.l+a.w*h._anchorAxis.domain[{left:0,right:1}[h.side]],h._boundingBox={left:i,right:i,bottom:h._offset+h._length,top:h._offset,height:h._length,width:0})}if(y){var o=h._counterSpan=[1/0,-1/0];for(b=0;b<y.length;b++){var s=p._plots[y[b]][\\\"x\\\"===M?\\\"yaxis\\\":\\\"xaxis\\\"];l(o,[s._offset,s._offset+s._length])}\\\"free\\\"===h.anchor&&l(o,\\\"x\\\"===M?[h._boundingBox.bottom,h._boundingBox.top]:[h._boundingBox.right,h._boundingBox.left])}function l(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}x.enter().append(\\\"g\\\").classed(E,1).append(\\\"text\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").each(function(e){var r=n.select(this),i=t._promises.length;r.call(l.positionText,c(e),u(e)).call(f.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){L(r,h.tickangle)})):L(r,h.tickangle)}),x.exit().remove(),x.each(function(t){k=Math.max(k,t.fontSize)}),\\\"angular\\\"===e&&x.each(function(t){n.select(this).select(\\\"text\\\").call(l.positionText,c(t),u(t))}),L(x,h._lastangle||h.tickangle);var I=s.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(L(x,h.tickangle),\\\"x\\\"===M&&!i(h.tickangle)&&(\\\"log\\\"!==h.type||\\\"D\\\"!==String(h.dtick).charAt(0))){var t=[];for(x.each(function(e){var r=n.select(this),i=r.select(\\\".text-math-group\\\"),a=h.l2p(e.x);i.empty()&&(i=r.select(\\\"text\\\"));var o=f.bBox(i.node());t.push({top:0,bottom:10,height:10,left:a-o.width/2,right:a+o.width/2+2,width:o.width+2})}),b=0;b<t.length-1;b++)if(s.bBoxIntersect(t[b],t[b+1])){A=30;break}A&&(Math.abs((S[S.length-1].x-S[0].x)*h._m)/(S.length-1)<2.5*k&&(A=90),L(x,A)),h._lastangle=A}return K(),e+\\\" done\\\"},z,function(){if(h.automargin&&(\\\"x\\\"===M||\\\"y\\\"===M)){var e=h.side[0],r={x:0,y:0,r:0,l:0,t:0,b:0};\\\"x\\\"===M?(r.y=\\\"free\\\"===h.anchor?h.position:h._anchorAxis.domain[\\\"t\\\"===e?1:0],r[e]+=h._boundingBox.height):(r.x=\\\"free\\\"===h.anchor?h.position:h._anchorAxis.domain[\\\"r\\\"===e?1:0],r[e]+=h._boundingBox.width),h.title!==p._dfltTitle[M]&&(r[e]+=h.titlefont.size);var n=h._name+\\\".automargin\\\",i=p._pushmargin[n];(!i||i[e].size<r[e])&&a.autoMargin(t,n,r)}}]);return I&&I.then&&t._promises.push(I),I}function K(){if(!(r||h.rangeslider&&h.rangeslider.visible&&h._boundingBox&&\\\"bottom\\\"===h.side)){var n,i,a,o,s={selection:x,side:h.side},l=e.charAt(0),u=t._fullLayout._size,d=h.titlefont.size;if(x.size()){var g=f.getTranslate(x.node().parentNode);s.offsetLeft=g.x,s.offsetTop=g.y}var m=10+1.5*d+(h.linewidth?h.linewidth-1:0);\\\"x\\\"===l?(i=\\\"free\\\"===h.anchor?{_offset:u.t+(1-(h.position||0))*u.h,_length:0}:A.getFromId(t,h.anchor),a=h._offset+h._length/2,o=\\\"top\\\"===h.side?-m-d*(h.showticklabels?1:0):i._length+m+d*(h.showticklabels?1.5:.5),o+=i._offset,s.side||(s.side=\\\"bottom\\\")):(i=\\\"free\\\"===h.anchor?{_offset:u.l+(h.position||0)*u.w,_length:0}:A.getFromId(t,h.anchor),o=h._offset+h._length/2,a=\\\"right\\\"===h.side?i._length+m+d*(h.showticklabels?1:.5):-m-d*(h.showticklabels?.5:0),a+=i._offset,n={rotate:\\\"-90\\\",offset:0},s.side||(s.side=\\\"left\\\")),c.draw(t,e+\\\"title\\\",{propContainer:h,propName:h._name+\\\".title\\\",placeholder:p._dfltTitle[l],avoid:s,transform:n,attributes:{x:a,y:o,\\\"text-anchor\\\":\\\"middle\\\"}})}}function Q(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!o.traceIs(t,\\\"bar\\\")||t.orientation!=={x:\\\"h\\\",y:\\\"v\\\"}[M])||t.fill&&t.fill.charAt(t.fill.length-1)===M)}function $(r,i,a){if(!p._hasOnlyLargeSploms){var o=r.gridlayer.selectAll(\\\".\\\"+e),l=r.zerolinelayer,c=r[\\\"hidegrid\\\"+M]?[]:V,f=h._gridpath||(\\\"x\\\"===M?\\\"M0,\\\"+i._offset+\\\"v\\\":\\\"M\\\"+i._offset+\\\",0h\\\")+i._length,d=o.selectAll(\\\"path.\\\"+L).data(!1===h.showgrid?[]:c,C);if(d.enter().append(\\\"path\\\").classed(L,1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",f).each(function(t){h.zeroline&&(\\\"linear\\\"===h.type||\\\"-\\\"===h.type)&&Math.abs(t.x)<h.dtick/100&&n.select(this).remove()}),d.attr(\\\"transform\\\",m).call(u.stroke,h.gridcolor||\\\"#ddd\\\").style(\\\"stroke-width\\\",I+\\\"px\\\"),\\\"function\\\"==typeof f&&d.attr(\\\"d\\\",f),d.exit().remove(),l){for(var g=!1,v=0;v<t._fullData.length;v++)if(Q(t._fullData[v],a)){g=!0;break}var y=s.simpleMap(h.range,h.r2l),x=y[0]*y[1]<=0&&h.zeroline&&(\\\"linear\\\"===h.type||\\\"-\\\"===h.type)&&c.length&&(g||X({x:0})||!h.showline),b=l.selectAll(\\\"path.\\\"+z).data(x?[{x:0,id:e}]:[]);b.enter().append(\\\"path\\\").classed(z,1).classed(\\\"zl\\\",1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",f).each(function(){l.selectAll(\\\"path\\\").sort(function(t,e){return A.idSort(t.id,e.id)})}),b.attr(\\\"transform\\\",m).call(u.stroke,h.zerolinecolor||u.defaultLine).style(\\\"stroke-width\\\",R+\\\"px\\\"),b.exit().remove()}}}},k.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],H(c.x,l.x),H(c.y,l.y);H(c.x,[o]),H(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)G(t,r[n].x,r[n].y)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../components/titles\\\":567,\\\"../../constants/alignment\\\":574,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"./autorange\\\":647,\\\"./axis_autotype\\\":649,\\\"./axis_ids\\\":651,\\\"./set_convert\\\":666,d3:130,\\\"fast-isnumeric\\\":196}],649:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&&(a+=1),n(r)&&(o+=1);return a>2*o}(t,e)?\\\"date\\\":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s<t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:\\\"string\\\"==typeof e&&\\\"\\\"!==e&&\\\"None\\\"!==e&&o++;return o>2*n}(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\\\":\\\"-\\\"}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],650:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\"),o=t(\\\"./tick_value_defaults\\\"),s=t(\\\"./tick_mark_defaults\\\"),l=t(\\\"./tick_label_defaults\\\"),c=t(\\\"./category_order_defaults\\\"),u=t(\\\"./line_grid_defaults\\\"),f=t(\\\"./set_convert\\\");e.exports=function(t,e,r,h,p){var d=h.letter,g=e._id,m=h.font||{},v=r(\\\"visible\\\",!h.cheateronly),y=e.type;\\\"date\\\"===y&&n.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",h.calendar);f(e,p);var x=r(\\\"autorange\\\",!e.isValidRange(t.range));if(e._rangesliderAutorange=!1,x&&r(\\\"rangemode\\\"),r(\\\"range\\\"),e.cleanRange(),c(t,e,r,h),\\\"category\\\"===y||h.noHover||r(\\\"hoverformat\\\"),!v)return e;var b=r(\\\"color\\\"),_=b===t.color?b:m.color;return r(\\\"title\\\",((p._splomAxes||{})[d]||{})[g]||p._dfltTitle[d]),i.coerceFont(r,\\\"titlefont\\\",{family:m.family,size:Math.round(1.2*m.size),color:_}),o(t,e,r,y),l(t,e,r,y,h),s(t,e,r,h),u(t,e,r,{dfltColor:b,bgColor:h.bgColor,showGrid:h.showGrid,attributes:a}),(e.showline||e.ticks)&&r(\\\"mirror\\\"),h.automargin&&r(\\\"automargin\\\"),e}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./category_order_defaults\\\":652,\\\"./layout_attributes\\\":660,\\\"./line_grid_defaults\\\":662,\\\"./set_convert\\\":666,\\\"./tick_label_defaults\\\":667,\\\"./tick_mark_defaults\\\":668,\\\"./tick_value_defaults\\\":669}],651:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./constants\\\");r.id2name=function(t){if(\\\"string\\\"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+\\\"axis\\\"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.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 i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+\\\"axis\\\"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];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 i=t._fullLayout;return\\\"x\\\"===n?e=e.replace(/y[0-9]*/,\\\"\\\"):\\\"y\\\"===n&&(e=e.replace(/x[0-9]*/,\\\"\\\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,\\\"gl3d\\\")){var s=e.scene;\\\"scene\\\"===s.substr(0,5)&&(o=a[s][i+\\\"axis\\\"])}else o=r.getFromId(t,e[i+\\\"axis\\\"]||i);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)}},{\\\"../../registry\\\":732,\\\"./constants\\\":653}],652:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){if(\\\"category\\\"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\\\"array\\\");var s,l=r(\\\"categoryorder\\\",i);\\\"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,i,a=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[a+\\\"axis\\\"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!==c&&void 0!==c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),\\\"category ascending\\\"===l?e._initialCategories=s:\\\"category descending\\\"===l&&(e._initialCategories=s.reverse()))}}},{}],653:[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]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\\\"-select\\\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\\\"heatmaplayer\\\",\\\"contourcarpetlayer\\\",\\\"contourlayer\\\",\\\"barlayer\\\",\\\"carpetlayer\\\",\\\"violinlayer\\\",\\\"boxlayer\\\",\\\"ohlclayer\\\",\\\"scattercarpetlayer\\\",\\\"scatterlayer\\\"],layerValue2layerClass:{\\\"above traces\\\":\\\"above\\\",\\\"below traces\\\":\\\"below\\\"}}},{\\\"../../lib/regex\\\":618}],654:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./axis_ids\\\").id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&&(r(\\\"constrain\\\"),n.coerce(t,e,{constraintoward:{valType:\\\"enumerated\\\",values:\\\"x\\\"===c?[\\\"left\\\",\\\"center\\\",\\\"right\\\"]:[\\\"bottom\\\",\\\"middle\\\",\\\"top\\\"],dflt:\\\"x\\\"===c?\\\"center\\\":\\\"middle\\\"}},\\\"constraintoward\\\"),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o<r.length;o++)(s=r[o])!==e&&((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a<t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o<u.length;o++)s=u[o],f[s]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:\\\"enumerated\\\",values:u.linkableAxes}},\\\"scaleanchor\\\");if(f){var h=r(\\\"scaleratio\\\");h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,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(a=0;a<t.length;a++)if(s=t[a],a!==c&&s[n]){var f=s[n];for(o=0;o<u.length;o++)l=u[o],s[l]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o<u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&&n.warn(\\\"ignored \\\"+e._name+'.scaleanchor: \\\"'+t.scaleanchor+'\\\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{\\\"../../lib\\\":602,\\\"./axis_ids\\\":651}],655:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./axis_ids\\\").id2name,i=t(\\\"./scale_zoom\\\"),a=t(\\\"./autorange\\\").makePadFn,o=t(\\\"../../constants/numerical\\\").ALMOST_EQUAL,s=t(\\\"../../constants/alignment\\\").FROM_BL;function l(t,e){var r=t._inputDomain,n=s[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}r.enforce=function(t){var e,r,s,c,u,f,h,p=t._fullLayout,d=p._axisConstraintGroups||[];for(e=0;e<d.length;e++){var g=d[e],m=Object.keys(g),v=1/0,y=0,x=1/0,b={},_={},w=!1;for(r=0;r<m.length;r++)_[s=m[r]]=c=p[n(s)],c._inputDomain?c.domain=c._inputDomain.slice():c._inputDomain=c.domain.slice(),c._inputRange||(c._inputRange=c.range.slice()),c.setScale(),b[s]=u=Math.abs(c._m)/g[s],v=Math.min(v,u),\\\"domain\\\"!==c.constrain&&c._constraintShrinkable||(x=Math.min(x,u)),delete c._constraintShrinkable,y=Math.max(y,u),\\\"domain\\\"===c.constrain&&(w=!0);if(!(v>o*y)||w)for(r=0;r<m.length;r++)if(u=b[s=m[r]],f=(c=_[s]).constrain,u!==x||\\\"domain\\\"===f)if(h=u/x,\\\"range\\\"===f)i(c,h);else{var k=c._inputDomain,M=(c.domain[1]-c.domain[0])/(k[1]-k[0]),A=(c.r2l(c.range[1])-c.r2l(c.range[0]))/(c.r2l(c._inputRange[1])-c.r2l(c._inputRange[0]));if((h/=M)*A<1){c.domain=c._input.domain=k.slice(),i(c,h);continue}if(A<1&&(c.range=c._input.range=c._inputRange.slice(),h*=A),c.autorange&&c._min.length&&c._max.length){var T=c.r2l(c.range[0]),S=c.r2l(c.range[1]),C=(T+S)/2,E=C,L=C,z=Math.abs(S-C),P=C-z*h*1.0001,D=C+z*h*1.0001,O=a(c);l(c,h),c.setScale();var I,R,B=Math.abs(c._m);for(R=0;R<c._min.length;R++)(I=c._min[R].val-O(c._min[R])/B)>P&&I<E&&(E=I);for(R=0;R<c._max.length;R++)(I=c._max[R].val+O(c._max[R])/B)<D&&I>L&&(L=I);h/=(L-E)/(2*z),E=c.l2r(E),L=c.l2r(L),c.range=c._input.range=T<S?[E,L]:[L,E]}l(c,h)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\\\"domain\\\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\\\"../../constants/alignment\\\":574,\\\"../../constants/numerical\\\":579,\\\"./autorange\\\":647,\\\"./axis_ids\\\":651,\\\"./scale_zoom\\\":664}],656:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"has-passive-events\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../lib/clear_gl_canvases\\\"),u=t(\\\"../../components/color\\\"),f=t(\\\"../../components/drawing\\\"),h=t(\\\"../../components/fx\\\"),p=t(\\\"../../lib/setcursor\\\"),d=t(\\\"../../components/dragelement\\\"),g=t(\\\"../../constants/alignment\\\").FROM_TL,m=t(\\\"../plots\\\"),v=t(\\\"./axes\\\").doTicks,y=t(\\\"./axis_ids\\\").getFromId,x=t(\\\"./select\\\").prepSelect,b=t(\\\"./select\\\").clearSelect,_=t(\\\"./scale_zoom\\\"),w=t(\\\"./constants\\\"),k=w.MINDRAG,M=w.MINZOOM,A=!0;function T(t,e,r,n){var i=s.ensureSingle(t.draglayer,e,r,function(e){e.classed(\\\"drag\\\",!0).style({fill:\\\"transparent\\\",\\\"stroke-width\\\":0}).attr(\\\"data-subplot\\\",t.id)});return i.call(p,n),i.node()}function S(t,e,r,i,a,o,s){var l=T(t,\\\"rect\\\",e,r);return n.select(l).call(f.setRect,i,a,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\\\"\\\"}function E(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\\\".range[0]\\\"]=o.range[0],n[o._name+\\\".range[1]\\\"]=o.range[1]);if(i&&i.length){var c=(e+(1-r))/2;E(i,c,1-c,n)}}function L(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function z(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function P(t,e,r,n,i){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\\\",i+\\\"Z\\\")}function D(t,e,r){return t.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:u.background,stroke:u.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"transform\\\",\\\"translate(\\\"+e+\\\", \\\"+r+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}function O(t,e,r,n,i,a){t.attr(\\\"d\\\",n+\\\"M\\\"+r.l+\\\",\\\"+r.t+\\\"v\\\"+r.h+\\\"h\\\"+r.w+\\\"v-\\\"+r.h+\\\"h-\\\"+r.w+\\\"Z\\\"),I(t,e,i,a)}function I(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 R(t){n.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}function B(t){A&&t.data&&t._context.showTips&&(s.notifier(s._(t,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),A=!1)}function F(t){return\\\"lasso\\\"===t||\\\"select\\\"===t}function N(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/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 j(t,e){if(a){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)}function V(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,u,p,A,T){var I,U,q,H,G,W,Y,X,Z,J,K,Q,$,tt,et,rt,nt,it=t._fullLayout._zoomlayer,at=A+T===\\\"nsew\\\",ot=1===(A+T).length;function st(){if(I=e.xaxis,U=e.yaxis,Z=I._length,J=U._length,Y=I._offset,X=U._offset,(q={})[I._id]=I,(H={})[U._id]=U,A&&T)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;q[i._id]=i;var a=r[n].yaxis;H[a._id]=a}G=V(q),W=V(H),Q=C(G,T),$=C(W,A),tt=!$&&!Q,K=function(t,e,r){for(var n,i,a,o,l=t._fullLayout._axisConstraintGroups,c=!1,u={},f={},h=0;h<l.length;h++){var p=l[h];for(n in e)if(p[n]){for(a in p)(\\\"x\\\"===a.charAt(0)?e:r)[a]||(u[a]=1);for(i in r)p[i]&&(c=!0)}for(i in r)if(p[i])for(o in p)(\\\"x\\\"===o.charAt(0)?e:r)[o]||(f[o]=1)}c&&(s.extendFlat(u,f),f={});var d={},g=[];for(a in u){var m=y(t,a);g.push(m),d[m._id]=m}var v={},x=[];for(o in f){var b=y(t,o);x.push(b),v[b._id]=b}return{xaHash:d,yaHash:v,xaxes:g,yaxes:x,isSubplotConstrained:c}}(t,q,H),et=K.isSubplotConstrained,rt=T||et,nt=A||et}st();var lt=function(t,e,r){return t?\\\"nsew\\\"===t?r?\\\"\\\":\\\"pan\\\"===e?\\\"move\\\":\\\"crosshair\\\":t.toLowerCase()+\\\"-resize\\\":\\\"pointer\\\"}($+Q,t._fullLayout.dragmode,at),ct=S(e,A+T+\\\"drag\\\",lt,r,a,u,p);if(tt&&!at)return ct.onmousedown=null,ct.style.pointerEvents=\\\"none\\\",ct;var ut,ft,ht,pt,dt,gt,mt,vt,yt,xt={element:ct,gd:t,plotinfo:e,prepFn:function(e,r,n){var a=t._fullLayout.dragmode;st(),tt||(at?e.shiftKey?\\\"pan\\\"===a?a=\\\"zoom\\\":F(a)||(a=\\\"pan\\\"):e.ctrlKey&&(a=\\\"pan\\\"):a=\\\"pan\\\"),xt.minDrag=\\\"lasso\\\"===a?1:void 0,F(a)?(xt.xaxes=G,xt.yaxes=W,x(e,r,n,xt,a)):tt?b(it):\\\"zoom\\\"===a?(xt.moveFn=_t,xt.doneFn=wt,xt.minDrag=1,function(e,r,n){var a=ct.getBoundingClientRect();ut=r-a.left,ft=n-a.top,ht={l:ut,r:ut,w:0,t:ft,b:ft,h:0},pt=t._hmpixcount?t._hmlumcount/t._hmpixcount:i(t._fullLayout.plot_bgcolor).getLuminance(),gt=!1,mt=\\\"xy\\\",vt=P(it,pt,Y,X,dt=\\\"M0,0H\\\"+Z+\\\"V\\\"+J+\\\"H0V0\\\"),yt=D(it,Y,X),b(it)}(0,r,n)):\\\"pan\\\"===a&&(xt.moveFn=St,xt.doneFn=Et,b(it))},clickFn:function(r,i){if(R(t),2!==r||ot||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(Q?G:[]).concat($?W:[]),s={};if(\\\"reset+autosize\\\"===i)for(i=\\\"autosize\\\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\\\"reset\\\";break}if(\\\"autosize\\\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(s[e._name+\\\".autorange\\\"]=!0);else if(\\\"reset\\\"===i)for((Q||et)&&(a=a.concat(K.xaxes)),$&&!et&&(a=a.concat(K.yaxes)),et&&(Q?$||(a=a.concat(W)):a=a.concat(G)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,s[e._name+\\\".range[0]\\\"]=n[0],s[e._name+\\\".range[1]\\\"]=n[1]):s[e._name+\\\".autorange\\\"]=!0;t.emit(\\\"plotly_doubleclick\\\",null),o.call(\\\"relayout\\\",t,s)}}(),at)h.click(t,i,e.id);else if(1===r&&ot){var a=A?U:I,s=\\\"s\\\"===A||\\\"w\\\"===T?0:1,c=a._name+\\\".range[\\\"+s+\\\"]\\\",u=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return\\\"date\\\"===t.type?i:\\\"log\\\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format(\\\".\\\"+r+\\\"g\\\")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format(\\\".\\\"+String(r)+\\\"g\\\")(i))}(a,s),f=\\\"left\\\",p=\\\"middle\\\";if(a.fixedrange)return;A?(p=\\\"n\\\"===A?\\\"top\\\":\\\"bottom\\\",\\\"right\\\"===a.side&&(f=\\\"right\\\")):\\\"e\\\"===T&&(f=\\\"right\\\"),t._context.showAxisRangeEntryBoxes&&n.select(ct).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(u),fill:a.tickfont?a.tickfont.color:\\\"#444\\\",horizontalAlign:f,verticalAlign:p}).on(\\\"edit\\\",function(e){var r=a.d2r(e);void 0!==r&&o.call(\\\"relayout\\\",t,c,r)})}}};d.init(xt);var bt={};function _t(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(Z,e+ut)),i=Math.max(0,Math.min(J,r+ft)),a=Math.abs(n-ut),o=Math.abs(i-ft);function s(){mt=\\\"\\\",ht.r=ht.l,ht.t=ht.b,yt.attr(\\\"d\\\",\\\"M0,0Z\\\")}ht.l=Math.min(ut,n),ht.r=Math.max(ut,n),ht.t=Math.min(ft,i),ht.b=Math.max(ft,i),et?a>M||o>M?(mt=\\\"xy\\\",a/Z>o/J?(o=a*J/Z,ft>i?ht.t=ft-o:ht.b=ft+o):(a=o*Z/J,ut>n?ht.l=ut-a:ht.r=ut+a),yt.attr(\\\"d\\\",N(ht))):s():!$||o<Math.min(Math.max(.6*a,k),M)?a<k?s():(ht.t=0,ht.b=J,mt=\\\"x\\\",yt.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(t.l-.5)+\\\",\\\"+(e-M-.5)+\\\"h-3v\\\"+(2*M+1)+\\\"h3ZM\\\"+(t.r+.5)+\\\",\\\"+(e-M-.5)+\\\"h3v\\\"+(2*M+1)+\\\"h-3Z\\\"}(ht,ft))):!Q||a<Math.min(.6*o,M)?(ht.l=0,ht.r=Z,mt=\\\"y\\\",yt.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(e-M-.5)+\\\",\\\"+(t.t-.5)+\\\"v-3h\\\"+(2*M+1)+\\\"v3ZM\\\"+(e-M-.5)+\\\",\\\"+(t.b+.5)+\\\"v3h\\\"+(2*M+1)+\\\"v-3Z\\\"}(ht,ut))):(mt=\\\"xy\\\",yt.attr(\\\"d\\\",N(ht))),ht.w=ht.r-ht.l,ht.h=ht.b-ht.t,O(vt,yt,ht,dt,gt,pt),gt=!0}function wt(){if(Math.min(ht.h,ht.w)<2*k)return R(t);\\\"xy\\\"!==mt&&\\\"x\\\"!==mt||E(G,ht.l/Z,ht.r/Z,bt,K.xaxes),\\\"xy\\\"!==mt&&\\\"y\\\"!==mt||E(W,(J-ht.b)/J,(J-ht.t)/J,bt,K.yaxes),R(t),Et(),B(t)}var kt=[0,0,Z,J],Mt=null,At=w.REDRAWDELAY,Tt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function St(e,r){if(!t._transitioningWithDuration){if(\\\"ew\\\"===Q||\\\"ns\\\"===$)return Q&&L(G,e),$&&L(W,r),Lt([Q?-e:0,$?-r:0,Z,J]),void Ct($,Q);if(et&&Q&&$){var n=\\\"w\\\"===Q==(\\\"n\\\"===$)?1:-1,i=(e/Z+n*r/J)/2;e=i*Z,r=n*i*J}\\\"w\\\"===Q?e=l(G,0,e):\\\"e\\\"===Q?e=l(G,1,-e):Q||(e=0),\\\"n\\\"===$?r=l(W,1,r):\\\"s\\\"===$?r=l(W,0,-r):$||(r=0);var a=\\\"w\\\"===Q?e:0,o=\\\"n\\\"===$?r:0;if(et){var s;if(!Q&&1===$.length){for(s=0;s<G.length;s++)G[s].range=G[s]._r.slice(),_(G[s],1-r/J);a=(e=r*Z/J)/2}if(!$&&1===Q.length){for(s=0;s<W.length;s++)W[s].range=W[s]._r.slice(),_(W[s],1-e/Z);o=(r=e*J/Z)/2}}Lt([a,o,Z-e,J-r]),Ct($,Q)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/z(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Ct(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for(rt&&(a(G),a(K.xaxes)),nt&&(a(W),a(K.yaxes)),bt={},n=0;n<i.length;n++){var s=i[n];v(t,s,!0);var l=y(t,s);bt[l._name+\\\".range[0]\\\"]=l.range[0],bt[l._name+\\\".range[1]\\\"]=l.range[1]}function c(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}c(t._fullLayout.annotations||[],o.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),c(t._fullLayout.shapes||[],o.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),c(t._fullLayout.images||[],o.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function Et(){Lt([0,0,Z,J]),s.syncOrAsync([m.previousPromises,function(){o.call(\\\"relayout\\\",t,bt)}],t)}function Lt(e){var r,n,i,a,l=t._fullLayout,u=l._plots,h=l._subplots.cartesian,p=l._has(\\\"scattergl\\\"),d=l._hasOnlyLargeSploms,g=d||l._has(\\\"splom\\\"),m=l._has(\\\"svg\\\"),v=l._has(\\\"draggedPts\\\");if((g||p)&&c(t),!g||(o.subplotsRegistry.splom.drag(t),!d)){if(p)for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var y=n._scene;if(y){var x=s.simpleMap(i.range,i.r2l),b=s.simpleMap(a.range,a.r2l);y.update({range:[x[0],b[0],x[1],b[1]]})}}if(m){var _=e[2]/I._length,w=e[3]/U._length;for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var k,M,S,C,E=rt&&!i.fixedrange&&q[i._id],L=nt&&!a.fixedrange&&H[a._id];if(E?(k=_,S=T?e[0]:Dt(i,k)):S=Pt(i,k=zt(i,_,w)),L?(M=w,C=A?e[1]:Dt(a,M)):C=Pt(a,M=zt(a,_,w)),k||M){k||(k=1),M||(M=1);var z=i._offset-S/k,P=a._offset-C/M;if(n.clipRect.call(f.setTranslate,S,C).call(f.setScale,k,M),n.plot.call(f.setTranslate,z,P).call(f.setScale,1/k,1/M),v){var D=n.plot.selectAll(\\\".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace\\\");D.selectAll(\\\".point\\\").call(f.setPointGroupScale,k,M),D.selectAll(\\\".textpoint\\\").call(f.setTextPointsScale,k,M),D.call(f.hideOutsideRangePoints,n),n.plot.selectAll(\\\".barlayer .trace\\\").call(f.hideOutsideRangePoints,n,\\\".bartext\\\")}}}}}}function zt(t,e,r){return t.fixedrange?0:rt&&K.xaHash[t._id]?e:nt&&(et?K.xaHash:K.yaHash)[t._id]?r:0}function Pt(t,e){return e?(t.range=t._r.slice(),_(t,e),Dt(t,e)):0}function Dt(t,e){return t._length*(1-e)*g[t.constraintoward||\\\"middle\\\"]}return A.length*T.length!=1&&j(ct,function(e){if(t._context.scrollZoom||t._fullLayout._enablescrollzoom){if(null===Mt&&b(it),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\\\".plotly\\\");if(st(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(Mt);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Tt.draglayer.select(\\\".nsewdrag\\\").node().getBoundingClientRect(),l=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(rt){for(T||(l=.5),i=0;i<G.length;i++)u(G[i],l,a);kt[2]*=a,kt[0]+=kt[2]*l*(1/a-1)}if(nt){for(A||(c=.5),i=0;i<W.length;i++)u(W[i],c,a);kt[3]*=a,kt[1]+=kt[3]*(1-c)*(1/a-1)}Lt(kt),Ct(A,T),Mt=setTimeout(function(){kt=[0,0,Z,J],Et()},At),e.preventDefault()}else s.log(\\\"Did not find wheel motion attributes: \\\",e)}}function u(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),ct},makeDragger:T,makeRectDragger:S,makeZoombox:P,makeCorners:D,updateZoombox:O,xyCorners:N,transitionZoombox:I,removeZoombox:R,showDoubleClickNotifier:B,attachWheelEventHandler:j}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/clear_gl_canvases\\\":586,\\\"../../lib/setcursor\\\":622,\\\"../../lib/svg_text_utils\\\":626,\\\"../../registry\\\":732,\\\"../plots\\\":710,\\\"./axes\\\":648,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,\\\"./scale_zoom\\\":664,\\\"./select\\\":665,d3:130,\\\"has-passive-events\\\":297,tinycolor2:415}],657:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/fx\\\"),a=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(\\\"gl2d\\\")||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\\\"),i=r.split(\\\"y\\\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[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&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.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 f=o._mainLinePosition;\\\"top\\\"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,\\\"\\\",\\\"ew\\\"),s(t,n,o._offset,f,.1*o._length,l,\\\"\\\",\\\"w\\\"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,\\\"\\\",\\\"e\\\")}if(r===c._mainSubplot){var h=c._mainLinePosition;\\\"right\\\"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,\\\"ns\\\",\\\"\\\"),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,\\\"s\\\",\\\"\\\"),s(t,n,h,c._offset,l,.1*c._length,\\\"n\\\",\\\"\\\")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(e)}},r.updateFx=function(t){var e=\\\"pan\\\"===t.dragmode?\\\"move\\\":\\\"crosshair\\\";o(t._draggers,e)}},{\\\"../../components/dragelement\\\":496,\\\"../../components/fx\\\":516,\\\"../../lib/setcursor\\\":622,\\\"./constants\\\":653,\\\"./dragbox\\\":656,d3:130}],658:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\");e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(\\\"cartesian\\\")||r._has(\\\"gl2d\\\"),p=0;p<a.length;p++){var d=a[p];if(i.isPlainObject(d)){var g=d.xref,m=d.yref,v=s.x.test(g),y=s.y.test(m);if(v||y){h||i.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&&f.push(g+m)}}}}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],659:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../plots\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../get_data\\\").getModuleCalcData,c=t(\\\"./axis_ids\\\"),u=t(\\\"./constants\\\"),f=t(\\\"../../constants/xmlns_namespaces\\\"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=0;v<g.length;v++){var y=(c=g[v]).name;if(i.modules[y].categories.svg){var x=c.layerName||y+\\\"layer\\\",b=c.plot;h=(f=l(r,b))[0],r=f[1],h.length&&m.push({i:p.indexOf(x),className:x,plotMethod:b,cdModule:h})}}m.sort(function(t,e){return t.i-e.i});var _=e.plot.selectAll(\\\"g.mlayer\\\").data(m,function(t){return t.className});_.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return t.className}).classed(\\\"mlayer\\\",!0),_.exit().remove(),_.order(),_.each(function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),\\\"scatterlayer\\\"!==l&&\\\"barlayer\\\"!==l&&s.setClipUrl(i,e.layerClipId)}),d._has(\\\"scattergl\\\")&&(c=i.getModule(\\\"scattergl\\\"),h=l(r,c)[0],c.plot(t,e,h))}function g(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+\\\"-x\\\",d=n+\\\"-y\\\";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,\\\"path\\\",f),h(s.overlinesBelow,\\\"path\\\",d),h(s.overaxesBelow,\\\"g\\\",f),h(s.overaxesBelow,\\\"g\\\",d),e.plot=h(s.overplot,\\\"g\\\",n),h(s.overlinesAbove,\\\"path\\\",f),h(s.overlinesAbove,\\\"path\\\",d),h(s.overaxesAbove,\\\"g\\\",f),h(s.overaxesAbove,\\\"g\\\",d),e.xlines=l.select(\\\".overlines-\\\"+i).select(\\\".\\\"+f),e.ylines=l.select(\\\".overlines-\\\"+a).select(\\\".\\\"+d),e.xaxislayer=l.select(\\\".overaxes-\\\"+i).select(\\\".\\\"+f),e.yaxislayer=l.select(\\\".overaxes-\\\"+a).select(\\\".\\\"+d)}else if(o)e.plot=h(r,\\\"g\\\",\\\"plot\\\"),e.xlines=h(r,\\\"path\\\",\\\"xlines-above\\\"),e.ylines=h(r,\\\"path\\\",\\\"ylines-above\\\"),e.xaxislayer=h(r,\\\"g\\\",\\\"xaxislayer-above\\\"),e.yaxislayer=h(r,\\\"g\\\",\\\"yaxislayer-above\\\");else{var g=h(r,\\\"g\\\",\\\"layer-subplot\\\");e.shapelayer=h(g,\\\"g\\\",\\\"shapelayer\\\"),e.imagelayer=h(g,\\\"g\\\",\\\"imagelayer\\\"),e.gridlayer=h(r,\\\"g\\\",\\\"gridlayer\\\"),e.zerolinelayer=h(r,\\\"g\\\",\\\"zerolinelayer\\\"),h(r,\\\"path\\\",\\\"xlines-below\\\"),h(r,\\\"path\\\",\\\"ylines-below\\\"),e.overlinesBelow=h(r,\\\"g\\\",\\\"overlines-below\\\"),h(r,\\\"g\\\",\\\"xaxislayer-below\\\"),h(r,\\\"g\\\",\\\"yaxislayer-below\\\"),e.overaxesBelow=h(r,\\\"g\\\",\\\"overaxes-below\\\"),e.plot=h(r,\\\"g\\\",\\\"plot\\\"),e.overplot=h(r,\\\"g\\\",\\\"overplot\\\"),e.xlines=h(r,\\\"path\\\",\\\"xlines-above\\\"),e.ylines=h(r,\\\"path\\\",\\\"ylines-above\\\"),e.overlinesAbove=h(r,\\\"g\\\",\\\"overlines-above\\\"),h(r,\\\"g\\\",\\\"xaxislayer-above\\\"),h(r,\\\"g\\\",\\\"yaxislayer-above\\\"),e.overaxesAbove=h(r,\\\"g\\\",\\\"overaxes-above\\\"),e.xlines=r.select(\\\".xlines-\\\"+i),e.ylines=r.select(\\\".ylines-\\\"+a),e.xaxislayer=r.select(\\\".xaxislayer-\\\"+i),e.yaxislayer=r.select(\\\".yaxislayer-\\\"+a)}o||(p(e.gridlayer,\\\"g\\\",e.xaxis._id),p(e.gridlayer,\\\"g\\\",e.yaxis._id),e.gridlayer.selectAll(\\\"g\\\").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 i in t.each(function(t){n.select(this).remove(),v(t,e),r[t]=!0}),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[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,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var g=h[r].split(\\\"y\\\");p[g[0]]=1,d[\\\"y\\\"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i=\\\"y\\\"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n=\\\"x\\\"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var m in n=\\\"\\\",i=\\\"\\\",t){if(u.attrRegex.test(m))\\\"x\\\"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!i||+m.substr(5)<+i.substr(5))&&(i=m)}n=n?c.name2id(n):\\\"x\\\",i=i?c.name2id(i):\\\"y\\\",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],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===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has(\\\"gl\\\"),h=e._has&&e._has(\\\"gl\\\");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];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(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];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=t._fullLayout,r=[],n=[];for(var i in e._plots){var a=e._plots[i],o=a.xaxis._mainAxis,s=a.yaxis._mainAxis,l=o._id+s._id;l!==i&&e._plots[l]?(a.mainplot=l,a.mainplotinfo=e._plots[l],n.push(i)):(r.push(i),a.mainplot=void 0)}return r=r.concat(n)}(t),i=e._cartesianlayer.selectAll(\\\".subplot\\\").data(r,a.identity);i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"subplot \\\"+t}),i.order(),i.exit().call(m,e),i.each(function(r){var i=e._plots[r];(i.plotgroup=n.select(this),i.overlays=[],g(t,i),i.mainplot)&&e._plots[i.mainplot].overlays.push(i);i.draglayer=h(e._draggers,\\\"g\\\",r)})},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:f.svg,\\\"xlink:href\\\":t,preserveAspectRatio:\\\"none\\\",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t(\\\"./graph_interact\\\").updateFx},{\\\"../../components/drawing\\\":499,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../get_data\\\":684,\\\"../plots\\\":710,\\\"./attributes\\\":646,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,\\\"./graph_interact\\\":657,\\\"./layout_attributes\\\":660,\\\"./layout_defaults\\\":661,\\\"./transition_axes\\\":670,d3:130}],660:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../font_attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"./constants\\\");e.exports={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},color:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"ticks\\\"},title:{valType:\\\"string\\\",editType:\\\"ticks+margins\\\"},titlefont:n({editType:\\\"ticks+margins\\\"}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"log\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0,editType:\\\"calc\\\",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+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}},{valType:\\\"any\\\",editType:\\\"axrange+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}}],editType:\\\"axrange+margins\\\",impliedEdits:{autorange:!1}},fixedrange:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},scaleanchor:{valType:\\\"enumerated\\\",values:[s.idRegex.x.toString(),s.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\\\"},tickmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"linear\\\",\\\"array\\\"],editType:\\\"ticks+margins\\\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"ticks+margins\\\"},tick0:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},dtick:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},tickvals:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticktext:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticks:{valType:\\\"enumerated\\\",values:[\\\"outside\\\",\\\"inside\\\",\\\"\\\"],editType:\\\"ticks+margins\\\"},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:i.defaultLine,editType:\\\"ticks\\\"},showticklabels:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"ticks+margins\\\"},automargin:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},showspikes:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"modebar\\\"},spikecolor:{valType:\\\"color\\\",dflt:null,editType:\\\"none\\\"},spikethickness:{valType:\\\"number\\\",dflt:3,editType:\\\"none\\\"},spikedash:o({},a,{dflt:\\\"dash\\\",editType:\\\"none\\\"}),spikemode:{valType:\\\"flaglist\\\",flags:[\\\"toaxis\\\",\\\"across\\\",\\\"marker\\\"],dflt:\\\"toaxis\\\",editType:\\\"none\\\"},spikesnap:{valType:\\\"enumerated\\\",values:[\\\"data\\\",\\\"cursor\\\"],dflt:\\\"data\\\",editType:\\\"none\\\"},tickfont:n({editType:\\\"ticks+margins\\\"}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\",editType:\\\"ticks+margins\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\",editType:\\\"ticks+margins\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},tickformatstops:{_isLinkedToArray:\\\"tickformatstop\\\",dtickrange:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"},{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"}],editType:\\\"ticks+margins\\\"},value:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},editType:\\\"ticks+margins\\\"},hoverformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"none\\\"},showline:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"layoutstyle\\\"},linecolor:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"layoutstyle\\\"},linewidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks+layoutstyle\\\"},showgrid:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},gridcolor:{valType:\\\"color\\\",dflt:i.lightLine,editType:\\\"ticks\\\"},gridwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks\\\"},zeroline:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},zerolinecolor:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"ticks\\\"},zerolinewidth:{valType:\\\"number\\\",dflt:1,editType:\\\"ticks\\\"},anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.idRegex.y.toString()],editType:\\\"plot+margins\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"],editType:\\\"plot+margins\\\"},overlaying:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.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+margins\\\"},{valType:\\\"number\\\",min:0,max:1,editType:\\\"plot+margins\\\"}],dflt:[0,1],editType:\\\"plot+margins\\\"},position:{valType:\\\"number\\\",min:0,max:1,dflt:0,editType:\\\"plot+margins\\\"},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\",editType:\\\"calc\\\"},categoryarray:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\",_deprecated:{autotick:{valType:\\\"boolean\\\",editType:\\\"ticks+margins\\\"}}}},{\\\"../../components/color/attributes\\\":473,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../font_attributes\\\":674,\\\"./constants\\\":653}],661:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../layout_attributes\\\"),s=t(\\\"./layout_attributes\\\"),l=t(\\\"./type_defaults\\\"),c=t(\\\"./axis_defaults\\\"),u=t(\\\"./constraint_defaults\\\"),f=t(\\\"./position_defaults\\\"),h=t(\\\"./axis_ids\\\");e.exports=function(t,e,r){var p,d={},g={},m={},v={};for(p=0;p<r.length;p++){var y=r[p];if(n.traceIs(y,\\\"cartesian\\\")||n.traceIs(y,\\\"gl2d\\\")){var x=h.id2name(y.xaxis),b=h.id2name(y.yaxis);if(n.traceIs(y,\\\"carpet\\\")&&(\\\"carpet\\\"!==y.type||y._cheater)||x&&(g[x]=1),\\\"carpet\\\"===y.type&&y._cheater&&x&&(d[x]=1),n.traceIs(y,\\\"2dMap\\\")&&(m[x]=!0,m[b]=!0),n.traceIs(y,\\\"oriented\\\"))v[\\\"h\\\"===y.orientation?b:x]=!0}}var _=e._subplots,w=_.xaxis,k=_.yaxis,M=i.simpleMap(w,h.id2name),A=i.simpleMap(k,h.id2name),T=M.concat(A),S=a.background;w.length&&k.length&&(S=i.coerce(t,e,o,\\\"plot_bgcolor\\\"));var C,E,L,z,P=a.combine(S,e.paper_bgcolor);function D(t,e){return i.coerce(L,z,s,t,e)}function O(t,e){return i.coerce2(L,z,s,t,e)}function I(t){return\\\"x\\\"===t?k:w}var R={x:I(\\\"x\\\"),y:I(\\\"y\\\")};function B(e,r){for(var n=\\\"x\\\"===e?M:A,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(h.name2id(o))}return i}for(p=0;p<T.length;p++){C=T[p],i.isPlainObject(t[C])||(t[C]={}),L=t[C],z=e[C]={},l(L,z,D,r,C);var F=B(E=C.charAt(0),C),N={letter:E,font:e.font,outerTicks:m[C],showGrid:!v[C],data:r,bgColor:P,calendar:e.calendar,automargin:!0,cheateronly:\\\"x\\\"===E&&d[C]&&!g[C]};c(L,z,D,N,e);var j=O(\\\"spikecolor\\\"),V=O(\\\"spikethickness\\\"),U=O(\\\"spikedash\\\"),q=O(\\\"spikemode\\\"),H=O(\\\"spikesnap\\\");D(\\\"showspikes\\\",!!(j||V||U||q||H))||(delete z.spikecolor,delete z.spikethickness,delete z.spikedash,delete z.spikemode,delete z.spikesnap);var G={letter:E,counterAxes:R[E],overlayableAxes:F,grid:e.grid};f(L,z,D,G),z._input=L}var W=n.getComponentMethod(\\\"rangeslider\\\",\\\"handleDefaults\\\"),Y=n.getComponentMethod(\\\"rangeselector\\\",\\\"handleDefaults\\\");for(p=0;p<M.length;p++)C=M[p],L=t[C],z=e[C],W(t,e,C),\\\"date\\\"===z.type&&Y(L,z,e,A,z.calendar),D(\\\"fixedrange\\\");for(p=0;p<A.length;p++){C=A[p],L=t[C],z=e[C];var X=e[h.id2name(z.anchor)];D(\\\"fixedrange\\\",X&&X.rangeslider&&X.rangeslider.visible)}e._axisConstraintGroups=[];var Z=R.x.concat(R.y);for(p=0;p<T.length;p++)E=(C=T[p]).charAt(0),L=t[C],z=e[C],u(L,z,D,Z,e)}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../layout_attributes\\\":701,\\\"./axis_defaults\\\":650,\\\"./axis_ids\\\":651,\\\"./constraint_defaults\\\":654,\\\"./layout_attributes\\\":660,\\\"./position_defaults\\\":663,\\\"./type_defaults\\\":671}],662:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../components/color/attributes\\\").lightFraction,a=t(\\\"../../lib\\\");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.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 f=l(\\\"gridcolor\\\",n(s,o.bgColor,o.blend||i).toRgbString()),h=l(\\\"gridwidth\\\");if(r(\\\"showgrid\\\",o.showGrid||!!f||!!h)||(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\\\":473,\\\"../../lib\\\":602,tinycolor2:415}],663:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+\\\"side\\\"].split(\\\" \\\")[0],c=p.domain[h][\\\"right\\\"===l||\\\"top\\\"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?\\\"free\\\":u[0]||\\\"free\\\"),l=l||(\\\"x\\\"===h?\\\"bottom\\\":\\\"left\\\"),c=c||0,\\\"free\\\"===i.coerce(t,e,{anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\"].concat(u),dflt:o}},\\\"anchor\\\")&&r(\\\"position\\\",c),i.coerce(t,e,{side:{valType:\\\"enumerated\\\",values:\\\"x\\\"===h?[\\\"bottom\\\",\\\"top\\\"]:[\\\"left\\\",\\\"right\\\"],dflt:l}},\\\"side\\\");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:\\\"enumerated\\\",values:[!1].concat(f),dflt:!1}},\\\"overlaying\\\")),!d){var g=r(\\\"domain\\\",s);g[0]>g[1]-.01&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r(\\\"layer\\\"),e}},{\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],664:[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 i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{\\\"../../constants/alignment\\\":574}],665:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"polybooljs\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../../components/fx\\\"),s=t(\\\"../../lib/polygon\\\"),l=t(\\\"../../lib/throttle\\\"),c=t(\\\"../../components/fx/helpers\\\").makeEventData,u=t(\\\"./axis_ids\\\").getFromId,f=t(\\\"../sort_modules\\\").sortModules,h=t(\\\"./constants\\\"),p=h.MINSELECT,d=s.filter,g=s.tester,m=s.multitester;function v(t){return t._id}function y(t,e,r){var n,a,o,s;if(r){var l=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace).selectedpoints=[],s._input.selectedpoints=[];for(n=0;n<l.length;n++){var c=l[n],u=c.data,h=c.fullData;c.pointIndices?([].push.apply(u.selectedpoints,c.pointIndices),[].push.apply(h.selectedpoints,c.pointIndices)):(u.selectedpoints.push(c.pointIndex),h.selectedpoints.push(c.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints;var p={};for(n=0;n<e.length;n++){var d=(o=e[n])._module.name;p[d]?p[d].push(o):p[d]=[o]}var g=Object.keys(p).sort(f);for(n=0;n<g.length;n++){var m=p[g[n]],v=m.length,y=m[0],x=y.cd[0].trace,b=y._module,_=b.styleOnSelect||b.style;if(i.traceIs(x,\\\"regl\\\")){var w=new Array(v);for(a=0;a<v;a++)w[a]=m[a].cd;_(t,w)}else for(a=0;a<v;a++)_(t,m[a].cd)}}function x(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=c(t[i],n,r);return t}function b(t){t.selectAll(\\\".select-outline\\\").remove()}e.exports={prepSelect:function(t,e,r,i,s){var c,f,_,w,k,M,A,T,S,C=i.gd,E=C._fullLayout,L=E._zoomlayer,z=i.element.getBoundingClientRect(),P=i.plotinfo,D=P.xaxis._offset,O=P.yaxis._offset,I=e-z.left,R=r-z.top,B=I,F=R,N=\\\"M\\\"+I+\\\",\\\"+R,j=i.xaxes[0]._length,V=i.yaxes[0]._length,U=i.xaxes.map(v),q=i.yaxes.map(v),H=i.xaxes.concat(i.yaxes),G=t.altKey,W=E._lastSelectedSubplot&&E._lastSelectedSubplot===P.id;W&&(t.shiftKey||t.altKey)&&P.selection&&P.selection.polygons&&!i.polygons?(i.polygons=P.selection.polygons,i.mergedPolygons=P.selection.mergedPolygons):(!t.shiftKey&&!t.altKey||(t.shiftKey||t.altKey)&&!P.selection)&&(P.selection={},P.selection.polygons=i.polygons=[],P.selection.mergedPolygons=i.mergedPolygons=[]),W||(b(L),E._lastSelectedSubplot=P.id),\\\"lasso\\\"===s&&(c=d([[I,R]],h.BENDPX));var Y=L.selectAll(\\\"path.select-outline-\\\"+P.id).data([1,2]);Y.enter().append(\\\"path\\\").attr(\\\"class\\\",function(t){return\\\"select-outline select-outline-\\\"+t+\\\" select-outline-\\\"+P.id}).attr(\\\"transform\\\",\\\"translate(\\\"+D+\\\", \\\"+O+\\\")\\\").attr(\\\"d\\\",N+\\\"Z\\\");var X,Z=L.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:a.background,stroke:a.defaultLine,\\\"stroke-width\\\":1}).attr(\\\"transform\\\",\\\"translate(\\\"+D+\\\", \\\"+O+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),J=[],K=E._uid+h.SELECTID,Q=[];for(k=0;k<C.calcdata.length;k++)if(!0===(A=(M=C.calcdata[k])[0].trace).visible&&A._module&&A._module.selectPoints)if(i.subplot)A.subplot!==i.subplot&&A.geo!==i.subplot||J.push({_module:A._module,cd:M,xaxis:i.xaxes[0],yaxis:i.yaxes[0]});else if(\\\"splom\\\"===A.type&&A._xaxes[U[0]]&&A._yaxes[q[0]])J.push({_module:A._module,cd:M,xaxis:i.xaxes[0],yaxis:i.yaxes[0]});else{if(-1===U.indexOf(A.xaxis))continue;if(-1===q.indexOf(A.yaxis))continue;J.push({_module:A._module,cd:M,xaxis:u(C,A.xaxis),yaxis:u(C,A.yaxis)})}function $(t){var e=\\\"y\\\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function tt(t,e){return t-e}X=P.fillRangeItems?P.fillRangeItems:\\\"select\\\"===s?function(t,e){var r=t.range={};for(k=0;k<H.length;k++){var n=H[k],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\\\"min\\\"]),n.p2d(e[i+\\\"max\\\"])].sort(tt)}}:function(t,e,r){var n=t.lassoPoints={};for(k=0;k<H.length;k++){var i=H[k];n[i._id]=r.filtered.map($(i))}},i.moveFn=function(t,e){B=Math.max(0,Math.min(j,t+I)),F=Math.max(0,Math.min(V,e+R));var r=Math.abs(B-I),a=Math.abs(F-R);if(\\\"select\\\"===s){var o=E.selectdirection;\\\"h\\\"===(o=\\\"any\\\"===E.selectdirection?a<Math.min(.6*r,p)?\\\"h\\\":r<Math.min(.6*a,p)?\\\"v\\\":\\\"d\\\":E.selectdirection)?((w=[[I,0],[I,V],[B,V],[B,0]]).xmin=Math.min(I,B),w.xmax=Math.max(I,B),w.ymin=Math.min(0,V),w.ymax=Math.max(0,V),Z.attr(\\\"d\\\",\\\"M\\\"+w.xmin+\\\",\\\"+(R-p)+\\\"h-4v\\\"+2*p+\\\"h4ZM\\\"+(w.xmax-1)+\\\",\\\"+(R-p)+\\\"h4v\\\"+2*p+\\\"h-4Z\\\")):\\\"v\\\"===o?((w=[[0,R],[0,F],[j,F],[j,R]]).xmin=Math.min(0,j),w.xmax=Math.max(0,j),w.ymin=Math.min(R,F),w.ymax=Math.max(R,F),Z.attr(\\\"d\\\",\\\"M\\\"+(I-p)+\\\",\\\"+w.ymin+\\\"v-4h\\\"+2*p+\\\"v4ZM\\\"+(I-p)+\\\",\\\"+(w.ymax-1)+\\\"v4h\\\"+2*p+\\\"v-4Z\\\")):\\\"d\\\"===o&&((w=[[I,R],[I,F],[B,F],[B,R]]).xmin=Math.min(I,B),w.xmax=Math.max(I,B),w.ymin=Math.min(R,F),w.ymax=Math.max(R,F),Z.attr(\\\"d\\\",\\\"M0,0Z\\\"))}else\\\"lasso\\\"===s&&(c.addPt([B,F]),w=c.filtered);i.polygons&&i.polygons.length?(_=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,w,G),w.subtract=G,f=m(i.polygons.concat([w]))):(_=[w],f=g(w));var u=[];for(k=0;k<_.length;k++){var d=_[k];u.push(d.join(\\\"L\\\")+\\\"L\\\"+d[0])}Y.attr(\\\"d\\\",\\\"M\\\"+u.join(\\\"M\\\")+\\\"Z\\\"),l.throttle(K,h.SELECTDELAY,function(){Q=[];var t,e,r=[];for(k=0;k<J.length;k++)if(e=(T=J[k])._module.selectPoints(T,f),r.push(e),t=x(e,T),Q.length)for(var n=0;n<t.length;n++)Q.push(t[n]);else Q=t;y(C,J,S={points:Q}),X(S,w,c),i.gd.emit(\\\"plotly_selecting\\\",S)})},i.clickFn=function(t,e){Z.remove(),l.done(K).then(function(){if(l.clear(K),2===t){for(Y.remove(),k=0;k<J.length;k++)(T=J[k])._module.selectPoints(T,!1);y(C,J),C.emit(\\\"plotly_deselect\\\",null)}else C.emit(\\\"plotly_selected\\\",void 0);o.click(C,e)})},i.doneFn=function(){Z.remove(),l.done(K).then(function(){l.clear(K),i.gd.emit(\\\"plotly_selected\\\",S),w&&i.polygons&&(w.subtract=G,i.polygons.push(w),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,_))})}},clearSelect:b}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../components/fx/helpers\\\":513,\\\"../../lib/polygon\\\":614,\\\"../../lib/throttle\\\":627,\\\"../../registry\\\":732,\\\"../sort_modules\\\":723,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,polybooljs:357}],666:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\"),o=a.cleanNumber,s=a.ms2DateTime,l=a.dateTime2ms,c=a.ensureNumber,u=t(\\\"../../constants/numerical\\\"),f=u.FP_SAFE,h=u.BADNUM,p=t(\\\"./constants\\\"),d=t(\\\"./axis_ids\\\");function g(t){return Math.pow(10,t)}e.exports=function(t,e){e=e||{};var r=(t._id||\\\"x\\\").charAt(0),u=10;function m(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],i=t.range[1];return.5*(n+i-3*u*Math.abs(n-i))}return h}function v(e,r,n){var a=l(e,n||t.calendar);if(a===h){if(!i(e))return h;a=l(new Date(+e))}return a}function y(e,r,n){return s(e,r,n||t.calendar)}function x(e){return t._categories[Math.round(e)]}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(i(e))return+e}function _(e){return i(e)?n.round(t._b+t._m*e,2):h}function w(e){return(e-t._b)/t._m}t.c2l=\\\"log\\\"===t.type?m:c,t.l2c=\\\"log\\\"===t.type?g:c,t.l2p=_,t.p2l=w,t.c2p=\\\"log\\\"===t.type?function(t,e){return _(m(t,e))}:_,t.p2c=\\\"log\\\"===t.type?function(t){return g(w(t))}:w,-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=w,t.cleanPos=c):\\\"log\\\"===t.type?(t.d2r=t.d2l=function(t,e){return m(o(t),e)},t.r2d=t.r2c=function(t){return g(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=m,t.l2d=g,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return g(w(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=w,t.cleanPos=c):\\\"date\\\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=v,t.c2d=t.c2r=t.l2d=t.l2r=y,t.d2p=t.r2p=function(e,r,n){return t.l2p(v(e,0,n))},t.p2d=t.p2r=function(t,e,r){return y(w(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,h,t.calendar)}):\\\"category\\\"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return h},t.r2d=t.c2d=t.l2d=x,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return x(w(t))},t.r2p=t.d2p,t.p2r=w,t.cleanPos=function(t){return\\\"string\\\"==typeof t&&\\\"\\\"!==t?t:c(t)}),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,n){n||(n={}),e||(e=\\\"range\\\");var o,s,l=a.nestedProperty(t,e).get();if(s=(s=\\\"date\\\"===t.type?a.dfltRange(t.calendar):\\\"y\\\"===r?p.DFLTRANGEY:n.dfltRange||p.DFLTRANGEX).slice(),l&&2===l.length)for(\\\"date\\\"===t.type&&(l[0]=a.cleanDate(l[0],h,t.calendar),l[1]=a.cleanDate(l[1],h,t.calendar)),o=0;o<2;o++)if(\\\"date\\\"===t.type){if(!a.isDateTime(l[o],t.calendar)){t[e]=s;break}if(t.r2l(l[0])===t.r2l(l[1])){var c=a.constrain(t.r2l(l[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);l[0]=t.l2r(c-1e3),l[1]=t.l2r(c+1e3);break}}else{if(!i(l[o])){if(!i(l[1-o])){t[e]=s;break}l[o]=l[1-o]*(o?10:.1)}if(l[o]<-f?l[o]=-f:l[o]>f&&(l[o]=f),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=d.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?\\\"_r\\\":\\\"range\\\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if(\\\"y\\\"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(\\\"Something went wrong with axis scaling\\\")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c=\\\"date\\\"===l&&e[r+\\\"calendar\\\"];if(r in e){if(n=e[r],s=e._length||n.length,a.isTypedArray(n)&&(\\\"linear\\\"===l||\\\"log\\\"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}for(i=new Array(s),o=0;o<s;o++)i[o]=t.d2c(n[o],0,c)}else{var u=r+\\\"0\\\"in e?t.d2c(e[r+\\\"0\\\"],0,c):0,f=e[\\\"d\\\"+r]?Number(e[\\\"d\\\"+r]):1;for(n=e[{x:\\\"y\\\",y:\\\"x\\\"}[r]],s=e._length||n.length,i=new Array(s),o=0;o<s;o++)i[o]=u+o*f}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&i(t.r2l(e[0]))&&i(t.r2l(e[1]))},t.isPtWithinRange=function(e,n){var i=t.c2l(e[r],null,n),a=t.r2l(t.range[0]),o=t.r2l(t.range[1]);return a<o?a<=i&&i<=o:o<=i&&i<=a},t.clearCalc=function(){t._min=[],t._max=[],t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var k=e._d3locale;\\\"date\\\"===t.type&&(t._dateFormat=k?k.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=k?k.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,d3:130,\\\"fast-isnumeric\\\":196}],667:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r,a,o){var s=function(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]]}(t);if(r(\\\"tickprefix\\\")&&r(\\\"showtickprefix\\\",s),r(\\\"ticksuffix\\\",o.tickSuffixDflt)&&r(\\\"showticksuffix\\\",s),r(\\\"showticklabels\\\")){var l=o.font||{},c=e.color===t.color?e.color:l.color;if(n.coerceFont(r,\\\"tickfont\\\",{family:l.family,size:l.size,color:c}),r(\\\"tickangle\\\"),\\\"category\\\"!==a){var u=r(\\\"tickformat\\\");!function(t,e){var r,a,o=t.tickformatstops,s=e.tickformatstops=[];if(!Array.isArray(o))return;function l(t,e){return n.coerce(r,a,i.tickformatstops,t,e)}for(var c=0;c<o.length;c++)r=o[c],a={},l(\\\"dtickrange\\\"),l(\\\"value\\\"),s.push(a)}(t,e),u||\\\"date\\\"===a||(r(\\\"showexponent\\\",s),r(\\\"exponentformat\\\"),r(\\\"separatethousands\\\"))}}}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":660}],668:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\\\"ticklen\\\"),s=n.coerce2(t,e,i,\\\"tickwidth\\\"),l=n.coerce2(t,e,i,\\\"tickcolor\\\",e.color);r(\\\"ticks\\\",a.outerTicks||o||s||l?\\\"outside\\\":\\\"\\\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":660}],669:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").ONEDAY;e.exports=function(t,e,r,o){var s=\\\"auto\\\";\\\"array\\\"!==t.tickmode||\\\"log\\\"!==o&&\\\"date\\\"!==o||(t.tickmode=\\\"auto\\\"),Array.isArray(t.tickvals)?s=\\\"array\\\":t.dtick&&(s=\\\"linear\\\");var l=r(\\\"tickmode\\\",s);if(\\\"auto\\\"===l)r(\\\"nticks\\\");else if(\\\"linear\\\"===l){var c=\\\"date\\\"===o?a:1,u=r(\\\"dtick\\\",c);if(n(u))e.dtick=u>0?Number(u):c;else if(\\\"string\\\"!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)<=0||!(\\\"date\\\"===o&&\\\"M\\\"===f&&h===Math.round(h)||\\\"log\\\"===o&&\\\"L\\\"===f||\\\"log\\\"===o&&\\\"D\\\"===f&&(1===h||2===h)))&&(e.dtick=c)}var p=\\\"date\\\"===o?i.dateTick0(e.calendar):0,d=r(\\\"tick0\\\",p);\\\"date\\\"===o?e.tick0=i.cleanDate(d,p):n(d)&&\\\"D1\\\"!==u&&\\\"D2\\\"!==u?e.tick0=Number(d):e.tick0=p}else{void 0===r(\\\"tickvals\\\")?e.tickmode=\\\"auto\\\":r(\\\"ticktext\\\")}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],670:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/drawing\\\"),o=t(\\\"./axes\\\"),s=t(\\\"./constants\\\").attrRegex;e.exports=function(t,e,r,l){var c=t._fullLayout,u=[];var f,h,p,d,g=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(\\\".\\\"))[0].match(s)){var o=e.charAt(0),l=r[0];if(n=c[l],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=l,i.length=n._length,u.push(o),a[o]=i}return a}(e),m=Object.keys(g),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&&f[1]===i[1]&&h[0]===a[0]&&h[1]===a[1]||-1===e.indexOf(c)&&-1===e.indexOf(u)||s.push(l)}}return s}(c,m,g);if(!v.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(c.annotations||[],i.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),e(c.shapes||[],i.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),e(c.images||[],i.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(),!1;function y(t){var e=t.xaxis,r=t.yaxis;c._defs.select(\\\"#\\\"+t.clipId+\\\"> rect\\\").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(\\\".scatterlayer .trace\\\");n.selectAll(\\\".point\\\").call(a.setPointGroupScale,1,1),n.selectAll(\\\".textpoint\\\").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function x(e,r){var n,s,l,u=g[e.xaxis._id],f=g[e.yaxis._id],h=[];if(u){s=(n=t._fullLayout[u.axisName])._r,l=u.to,h[0]=(s[0]*(1-r)+r*l[0]-s[0])/(s[1]-s[0])*e.xaxis._length;var p=s[1]-s[0],d=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[2]=e.xaxis._length*(1-r+r*d/p)}else h[0]=0,h[2]=e.xaxis._length;if(f){s=(n=t._fullLayout[f.axisName])._r,l=f.to,h[1]=(s[1]*(1-r)+r*l[1]-s[1])/(s[0]-s[1])*e.yaxis._length;var m=s[1]-s[0],v=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[3]=e.yaxis._length*(1-r+r*v/m)}else h[1]=0,h[3]=e.yaxis._length;!function(e,r){var n,a=[];for(a=[e._id,r._id],n=0;n<a.length;n++)o.doTicks(t,a[n],!0);function s(e,r,i){for(n=0;n<e.length;n++){var o=e[n];if(-1===a.indexOf(o.xref)&&-1===a.indexOf(o.yref)||r(t,n),i)return}}s(c.annotations||[],i.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),s(c.shapes||[],i.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),s(c.images||[],i.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!u,_=!!f,w=b?y._length/h[2]:1,k=_?x._length/h[3]:1,M=b?h[0]:0,A=_?h[1]:0,T=b?h[0]/h[2]*y._length:0,S=_?h[1]/h[3]*x._length:0,C=y._offset-T,E=x._offset-S;e.clipRect.call(a.setTranslate,M,A).call(a.setScale,1/w,1/k),e.plot.call(a.setTranslate,C,E).call(a.setScale,w,k).selectAll(\\\".points\\\").selectAll(\\\".point\\\").call(a.setPointGroupScale,1/w,1/k),e.plot.selectAll(\\\".points\\\").selectAll(\\\".textpoint\\\").call(a.setTextPointsScale,1/w,1/k)}l&&(f=l());var b=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[m[r]+\\\"axis\\\"];e[n._name+\\\".range[0]\\\"]=n.range[0],e[n._name+\\\".range[1]\\\"]=n.range[1],n.range=n._r.slice()}return i.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}()}),h=Date.now(),d=window.requestAnimationFrame(function e(){p=Date.now();for(var n=Math.min(1,(p-h)/r.duration),a=b(n),o=0;o<v.length;o++)x(v[o],a);p-h>r.duration?(function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[g[m[r]].axisName],a=g[m[r]].to;e[n._name+\\\".range[0]\\\"]=a[0],e[n._name+\\\".range[1]\\\"]=a[1],n.range=a.slice()}f&&f(),i.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}(),d=window.cancelAnimationFrame(e)):d=window.requestAnimationFrame(e)}),Promise.resolve()}},{\\\"../../components/drawing\\\":499,\\\"../../registry\\\":732,\\\"./axes\\\":648,\\\"./constants\\\":653,d3:130}],671:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./axis_autotype\\\"),a=t(\\\"./axis_ids\\\").name2id;function o(t){return{v:\\\"x\\\",h:\\\"y\\\"}[t.orientation||\\\"v\\\"]}function s(t,e){var r=o(t),i=n.traceIs(t,\\\"box-violin\\\"),a=n.traceIs(t._fullInput||{},\\\"candlestick\\\");return i&&!a&&e===r&&void 0===t[r]&&void 0===t[r+\\\"0\\\"]}e.exports=function(t,e,r,l,c){c&&(e._name=c,e._id=a(c)),\\\"-\\\"===r(\\\"type\\\")&&(!function(t,e){if(\\\"-\\\"!==t.type)return;var r=t._id,a=r.charAt(0);-1!==r.indexOf(\\\"scene\\\")&&(r=a);var l=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if(\\\"splom\\\"===i.type&&i._length>0&&i[\\\"_\\\"+r+\\\"axes\\\"][e])return i;if((i[r+\\\"axis\\\"]||r)===e){if(s(i,r))return i;if((i[r]||[]).length||i[r+\\\"0\\\"])return i}}}(e,r,a);if(!l)return;if(\\\"histogram\\\"===l.type&&a==={v:\\\"y\\\",h:\\\"x\\\"}[l.orientation||\\\"v\\\"])return void(t.type=\\\"linear\\\");var c,u=a+\\\"calendar\\\",f=l[u];if(s(l,a)){var h=o(l),p=[];for(c=0;c<e.length;c++){var d=e[c];n.traceIs(d,\\\"box-violin\\\")&&(d[a+\\\"axis\\\"]||a)===r&&(void 0!==d[h]?p.push(d[h][0]):void 0!==d.name?p.push(d.name):p.push(\\\"text\\\"),d[u]!==f&&(f=void 0))}t.type=i(p,f)}else if(\\\"splom\\\"===l.type){var g=l.dimensions;for(c=0;c<g.length;c++){var m=g[c];if(m.visible){t.type=i(m.values,f);break}}}else t.type=i(l[a]||[l[a+\\\"0\\\"]],f)}(e,l),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type)}},{\\\"../../registry\\\":732,\\\"./axis_autotype\\\":649,\\\"./axis_ids\\\":651}],672:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\"),i=t(\\\"../lib\\\");function a(t,e,r){var n,a,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 a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if(\\\"string\\\"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,function(t,e,n){r.push({type:\\\"layout\\\",prop:t,value:n})},\\\"\\\",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},\\\"string\\\"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&&(o=Math.min(o,r.length)),a=[];for(var l=0;l<o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u<a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:\\\"data\\\",prop:e,traces:a,value:i})},\\\"\\\",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(a){var o=t[a];if(\\\"_\\\"!==a[0]){var s=r+(n>0?\\\".\\\":\\\"\\\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,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){a(t,c,s.cache),s.check=function(){if(l){var e=a(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\\\"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.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 i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if(\\\"skip\\\"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch(function(t){return i.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\\\":602,\\\"../registry\\\":732}],673:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib/extend\\\").extendFlat;r.attributes=function(t,e){t=t||{},e=e||{};var r={valType:\\\"info_array\\\",editType:t.editType,items:[{valType:\\\"number\\\",min:0,max:1,editType:t.editType},{valType:\\\"number\\\",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType},i.column={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\\\"domain.column\\\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\\\"domain.row\\\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\\\"domain.x\\\",i),r(\\\"domain.y\\\",a)}},{\\\"../lib/extend\\\":591}],674:[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}},{}],675:[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\\\"}}},{}],676:[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\\\"}},{}],677:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../components/fx\\\"),c=t(\\\"../plots\\\"),u=t(\\\"../cartesian/axes\\\"),f=t(\\\"../../components/dragelement\\\"),h=t(\\\"../cartesian/select\\\").prepSelect,p=t(\\\"./zoom\\\"),d=t(\\\"./constants\\\"),g=t(\\\"../../lib/topojson_utils\\\"),m=t(\\\"topojson-client\\\").feature;function v(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.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 y=v.prototype;e.exports=function(t){return new v(t)},y.plot=function(t,e,r){var n=this,i=e[this.id],a=g.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},y.fetchTopojson=function(){var t=g.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,i){if(n)return 404===n.status?r(new Error([\\\"plotly.js could not find topojson file at\\\",t,\\\".\\\",\\\"Make sure the *topojsonURL* plot config option\\\",\\\"is set properly.\\\"].join(\\\" \\\"))):r(new Error([\\\"unexpected error while fetching topojson file at\\\",t].join(\\\" \\\")));e(i)})})},y.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\\\"choropleth\\\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\\\".scatterlayer\\\");this.dataPoints.point=i.selectAll(\\\".point\\\"),this.dataPoints.text=i.selectAll(\\\"text\\\"),this.dataPaths.line=i.selectAll(\\\".js-line\\\");var a=this.layers.backplot.select(\\\".choroplethlayer\\\");this.dataPaths.choropleth=a.selectAll(\\\"path\\\"),this.render()}},y.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[d.projNames[e]](),i=t._isClipped?d.lonaxisSpan[e]/2:null,a=[\\\"center\\\",\\\"rotate\\\",\\\"parallels\\\",\\\"clipExtent\\\"],o=function(t){return t?r:[]},s=0;s<a.length;s++){var l=a[s];\\\"function\\\"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(i){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>i*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],i=t[1][1]-t[0][1],a=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),a&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(d.precision),i&&r.clipAngle(i-d.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,g=function(t,e){var r=d.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\\\"Polygon\\\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(h.range,p.range);u.fitExtent(f,g);var m=this.bounds=u.getBounds(g),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(m[0][0])||!isFinite(m[0][1])||!isFinite(m[1][0])||!isFinite(m[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[\\\"projection.rotation\\\",\\\"center\\\",\\\"lonaxis.range\\\",\\\"lataxis.range\\\"],_=\\\"Invalid geo settings, relayout'ing to default view.\\\",w={},k=0;k<b.length;k++)w[this.id+\\\".\\\"+b[k]]=null;return this.viewInitial=null,a.warn(_),x._promises.push(i.call(\\\"relayout\\\",x,w)),_}var M=this.midPt=[(m[0][0]+m[1][0])/2,(m[0][1]+m[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(M[0]-y[0]),y[1]+(M[1]-y[1])]).clipExtent(m),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},y.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,l=r.basePaths;function c(t){return\\\"lonaxis\\\"===t||\\\"lataxis\\\"===t}function u(t){return Boolean(d.lineLayers[t])}function f(t){return Boolean(d.fillLayers[t])}var h=(this.hasChoropleth?d.layersForChoropleth:d.layers).filter(function(t){return u(t)||f(t)?e[\\\"show\\\"+t]:!c(t)||e[t].showgrid}),p=r.framework.selectAll(\\\".layer\\\").data(h,String);p.exit().each(function(t){delete a[t],delete l[t],n.select(this).remove()}),p.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"layer \\\"+t}).each(function(t){var e=a[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):u(t)?l[t]=e.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\").style(\\\"stroke-miterlimit\\\",2):f(t)&&(l[t]=e.append(\\\"path\\\").style(\\\"stroke\\\",\\\"none\\\"))}),p.order(),p.each(function(t){var r=l[t],a=d.layerNameToAdjective[t];\\\"frame\\\"===t?r.datum(d.sphereSVG):u(t)||f(t)?r.datum(m(i,i.objects[t])):c(t)&&r.datum(function(t,e){var r=e[t].dtick,i=d.scopeDefaults[e.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\\\"lonaxis\\\"===t?[r]:[0,r];return n.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(o.stroke,e[t].gridcolor).call(s.dashLine,\\\"\\\",e[t].gridwidth),u(t)?r.call(o.stroke,e[a+\\\"color\\\"]).call(s.dashLine,\\\"\\\",e[a+\\\"width\\\"]):f(t)&&r.call(o.fill,e[a+\\\"color\\\"])})},y.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,l=r[1][0]-i+n,c=r[1][1]-a+n;s.setRect(this.clipRect,i,a,l,c),this.bgRect.call(s.setRect,i,a,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=l,this.yaxis._offset=a,this.yaxis._length=c},y.updateFx=function(t,e){var r=this,a=r.graphDiv,o=r.bgRect,s=t.dragmode;if(!r.isStatic){if(\\\"pan\\\"===s)o.node().onmousedown=null,o.call(p(r,e)),o.on(\\\"dblclick.zoom\\\",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+\\\".\\\"+n]=t[n];i.call(\\\"relayout\\\",a,e),a.emit(\\\"plotly_doubleclick\\\",null)});else if(\\\"select\\\"===s||\\\"lasso\\\"===s){var c;o.on(\\\".zoom\\\",null),\\\"select\\\"===s?c=function(t,e){(t.range={})[r.id]=[d([e.xmin,e.ymin]),d([e.xmax,e.ymax])]}:\\\"lasso\\\"===s&&(c=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(d)});var u={element:r.bgRect.node(),gd:a,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:c},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\\\".select-outline\\\").remove()},prepFn:function(t,e,r){h(t,e,r,u,s)}};f.init(u)}o.on(\\\"mousemove\\\",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return f.unhover(a,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(a,n.event,r.id)}),o.on(\\\"mouseout\\\",function(){f.unhover(a,n.event)}),o.on(\\\"click\\\",function(){l.click(a,n.event)})}function d(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},y.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=\\\"clip\\\"+e._uid+t.id;t.clipDef=e._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",r),t.clipRect=t.clipDef.append(\\\"rect\\\"),t.framework=n.select(t.container).append(\\\"g\\\").attr(\\\"class\\\",\\\"geo \\\"+t.id).call(s.setClipUrl,r),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,e)},y.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale}:t._isClipped?this.viewInitial={\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon,\\\"projection.rotation.lat\\\":n.lat}:this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon}},y.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 i(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\\\",i).attr(\\\"transform\\\",n)}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../lib/topojson_utils\\\":629,\\\"../../registry\\\":732,\\\"../cartesian/axes\\\":648,\\\"../cartesian/select\\\":665,\\\"../plots\\\":710,\\\"./constants\\\":676,\\\"./projections\\\":682,\\\"./zoom\\\":683,d3:130,\\\"topojson-client\\\":418}],678:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./geo\\\"),i=t(\\\"../../plots/get_data\\\").getSubplotCalcData,a=t(\\\"../../lib\\\").counterRegex,o=\\\"geo\\\";r.name=o,r.attr=o,r.idRoot=o,r.idRegex=r.attrRegex=a(o),r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var s=0;s<a.length;s++){var l=a[s],c=i(r,o,l),u=e[l]._subplot;u||(u=n({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)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._subplots.geo,r=0;r<e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}}},{\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"./geo\\\":677,\\\"./layout/attributes\\\":679,\\\"./layout/defaults\\\":680,\\\"./layout/layout_attributes\\\":681}],679:[function(t,e,r){\\\"use strict\\\";e.exports={geo:{valType:\\\"subplotid\\\",dflt:\\\"geo\\\",editType:\\\"calc\\\"}}},{}],680:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../subplot_defaults\\\"),i=t(\\\"../constants\\\"),a=t(\\\"./layout_attributes\\\"),o=i.axesNames;function s(t,e,r){var n=r(\\\"resolution\\\"),a=r(\\\"scope\\\"),s=i.scopeDefaults[a],l=r(\\\"projection.type\\\",s.projType),c=e._isAlbersUsa=\\\"albers usa\\\"===l;c&&(a=e.scope=\\\"usa\\\");var u=e._isScoped=\\\"world\\\"!==a,f=e._isConic=-1!==l.indexOf(\\\"conic\\\");e._isClipped=!!i.lonaxisSpan[l];for(var h=0;h<o.length;h++){var p,d=o[h],g=[30,10][h];if(u)p=s[d+\\\"Range\\\"];else{var m=i[d+\\\"Span\\\"],v=(m[l]||m[\\\"*\\\"])/2,y=r(\\\"projection.rotation.\\\"+d.substr(0,3),s.projRotate[h]);p=[y-v,y+v]}r(d+\\\".tick0\\\",r(d+\\\".range\\\",p)[0]),r(d+\\\".dtick\\\",g),r(d+\\\".showgrid\\\")&&(r(d+\\\".gridcolor\\\"),r(d+\\\".gridwidth\\\"))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_>0&&w<0&&(w+=360);var k,M,A,T=(_+w)/2;if(!c){var S=u?s.projRotate:[T,0,0];k=r(\\\"projection.rotation.lon\\\",S[0]),r(\\\"projection.rotation.lat\\\",S[1]),r(\\\"projection.rotation.roll\\\",S[2]),r(\\\"showcoastlines\\\",!u)&&(r(\\\"coastlinecolor\\\"),r(\\\"coastlinewidth\\\")),r(\\\"showocean\\\")&&r(\\\"oceancolor\\\")}(c?(M=-96.6,A=38.7):(M=u?T:k,A=(b[0]+b[1])/2),r(\\\"center.lon\\\",M),r(\\\"center.lat\\\",A),f)&&r(\\\"projection.parallels\\\",s.projParallels||[0,60]);r(\\\"projection.scale\\\"),r(\\\"showland\\\")&&r(\\\"landcolor\\\"),r(\\\"showlakes\\\")&&r(\\\"lakecolor\\\"),r(\\\"showrivers\\\")&&(r(\\\"rivercolor\\\"),r(\\\"riverwidth\\\")),r(\\\"showcountries\\\",u&&\\\"usa\\\"!==a)&&(r(\\\"countrycolor\\\"),r(\\\"countrywidth\\\")),(\\\"usa\\\"===a||\\\"north america\\\"===a&&50===n)&&(r(\\\"showsubunits\\\",!0),r(\\\"subunitcolor\\\"),r(\\\"subunitwidth\\\")),u||r(\\\"showframe\\\",!0)&&(r(\\\"framecolor\\\"),r(\\\"framewidth\\\")),r(\\\"bgcolor\\\")}e.exports=function(t,e,r){n(t,e,r,{type:\\\"geo\\\",attributes:a,handleDefaults:s,partition:\\\"y\\\"})}},{\\\"../../subplot_defaults\\\":724,\\\"../constants\\\":676,\\\"./layout_attributes\\\":681}],681:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"../../domain\\\").attributes,a=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\\\"},dtick:{valType:\\\"number\\\"},gridcolor:{valType:\\\"color\\\",dflt:n.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1}};e.exports=o({domain:i({name:\\\"geo\\\"},{}),resolution:{valType:\\\"enumerated\\\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\\\"enumerated\\\",values:Object.keys(a.scopeDefaults),dflt:\\\"world\\\"},projection:{type:{valType:\\\"enumerated\\\",values:Object.keys(a.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\\\"}},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:a.landColor},showocean:{valType:\\\"boolean\\\",dflt:!1},oceancolor:{valType:\\\"color\\\",dflt:a.waterColor},showlakes:{valType:\\\"boolean\\\",dflt:!1},lakecolor:{valType:\\\"color\\\",dflt:a.waterColor},showrivers:{valType:\\\"boolean\\\",dflt:!1},rivercolor:{valType:\\\"color\\\",dflt:a.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\\\")},{\\\"../../../components/color/attributes\\\":473,\\\"../../../plot_api/edit_types\\\":633,\\\"../../domain\\\":673,\\\"../constants\\\":676}],682:[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 i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\\\"not yet supported\\\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\\\"FeatureCollection\\\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\\\"Point\\\",coordinates:i[0]}:{type:\\\"MultiPoint\\\",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\\\"LineString\\\",coordinates:a[0]}:{type:\\\"MultiLineString\\\",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++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],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],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 f=1e-6,h=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),m=180/p;function v(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c<u;++c){var f=o[c];if(f[0][0]<=t&&t<f[1][0]&&f[0][1]<=a&&a<f[1][1]){var h=e.invert(t-e(s[c][1][0],0)[0],a);return h[0]+=s[c][1][0],l(i(h[0],h[1]),[t,a])?h:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<f&&Math.abs(t[1]-e[1])<f}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[f-e,u-e],[f-e,h+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:\\\"Polygon\\\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=v(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),v((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return M;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function M(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>f&&--i>0);return e/2}}M.invert=function(t,e){var r=2*v(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var C=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=v(i/e);return[n/(t*Math.cos(a)),v((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);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 x(C)}).raw=C,E.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(E)}).raw=E;var L=[[.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 z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function D(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function O(t,e){var r=D(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,v=f*(1-p*f*(1-2*p*f));if(v>=0||1===a){n=(e>=0?5:-5)*(v+i);var y,x=50;do{v=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+v*(l-o)/2+v*v*(l-2*s+o)/2)-e)*m}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+v*(w-b)/2+v*v*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,D.invert=function(t,e){if(!(t*t+4*e*e>p*p+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),h=Math.sin(2*n),d=c*c,g=u*u,m=s*s,v=1-g*l*l,x=v?y(u*l)*Math.sqrt(a=1/v):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),k=a*(.5*o*h-2*x*c*s),M=.25*a*(h*s-x*c*g*o),A=a*(d*l+x*m*u),T=k*M-A*w;if(!T)break;var S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(D)}).raw=D,O.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),m=g*g,v=1-u*p*p,x=v?y(o*p)*Math.sqrt(a=1/v):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),M=.125*a*(l*g-x*s*u*h),A=.5*a*(c*p+x*m*o)+.5,T=k*M-A*w,S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(O)}).raw=O}},{}],683:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=Math.PI/180,o=180/Math.PI,s={cursor:\\\"pointer\\\"},l={cursor:\\\"auto\\\"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function u(t,e,r){var n=t.id,a=t.graphDiv,o=a.layout[n],s=a._fullLayout[n],l={};function c(t,e){var r=i.nestedProperty(s,t);r.get()!==e&&(r.set(e),i.nestedProperty(o,t).set(e),l[n+\\\".\\\"+t]=e)}r(c),c(\\\"projection.scale\\\",e.scale()/t.fitScale),a.emit(\\\"plotly_relayout\\\",l)}function f(t,e){var r=c(0,e);function i(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(s)}).on(\\\"zoom\\\",function(){e.scale(n.event.scale).translate(n.event.translate),t.render()}).on(\\\"zoomend\\\",function(){n.select(this).style(l),u(t,e,i)}),r}function h(t,e){var r,i,a,o,f,h,p,d,g=c(0,e),m=2;function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r(\\\"projection.rotation.lon\\\",-n[0]),r(\\\"center.lon\\\",i[0]),r(\\\"center.lat\\\",i[1])}return g.on(\\\"zoomstart\\\",function(){n.select(this).style(s),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,f=v(r)}).on(\\\"zoom\\\",function(){if(h=n.mouse(this),l=e(v(s=r)),Math.abs(l[0]-s[0])>m||Math.abs(l[1]-s[1])>m)return g.scale(e.scale()),void g.translate(e.translate());var s,l;e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),f?v(h)&&(d=v(h),p=[o[0]+(d[0]-f[0]),i[1],i[2]],e.rotate(p),o=p):f=v(r=h),t.render()}).on(\\\"zoomend\\\",function(){n.select(this).style(l),u(t,e,y)}),g}function p(t,e){var r,i={r:e.rotate(),k:e.scale()},f=c(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(f,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\"),p=0,m=f.on;function x(t){var r=e.rotate();t(\\\"projection.rotation.lon\\\",-r[0]),t(\\\"projection.rotation.lat\\\",-r[1])}return f.on(\\\"zoomstart\\\",function(){n.select(this).style(s);var t,l,c,u,x,b,_,w,k,M,A,T=n.mouse(this),S=e.rotate(),C=S,E=e.translate(),L=(l=.5*(t=S)[0]*a,c=.5*t[1]*a,u=.5*t[2]*a,x=Math.sin(l),b=Math.cos(l),_=Math.sin(c),w=Math.cos(c),k=Math.sin(u),M=Math.cos(u),[b*w*M+x*_*k,x*w*M-b*_*k,b*_*M+x*w*k,b*w*k-x*_*M]);r=d(e,T),m.call(f,\\\"zoom\\\",function(){var t,a,s,l,c,u,f,p,m,x,b=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(d(e,b)){e.rotate(S).translate(E);var _=d(e,b),w=function(t,e){if(!t||!e)return;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(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*o,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*o,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*o]}((a=w,s=(t=L)[0],l=t[1],c=t[2],u=t[3],f=a[0],p=a[1],m=a[2],x=a[3],[s*f-l*p-c*m-u*x,s*p+l*f+c*x-u*m,s*m-l*x+c*f+u*p,s*x+l*m-c*p+u*f])),M=i.r=function(t,e,r){var n=v(e,2,t[0]);n=v(n=v(n,1,t[1]),0,t[2]-r[2]);var i,a,s=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,s)*o,d=Math.sqrt(s*s+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*o-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,y=(Math.atan2(h,u)-Math.atan2(c,i))*o,x=(Math.atan2(h,u)-Math.atan2(c,-i))*o,b=g(r[0],r[1],a,y),_=g(r[0],r[1],m,x);return b<=_?[a,y,r[2]]:[m,x,r[2]]}(k,r,C);isFinite(M[0])&&isFinite(M[1])&&isFinite(M[2])||(M=C),e.rotate(M),C=M}}else r=d(e,T=b);h.of(this,arguments)({type:\\\"zoom\\\"})}),A=h.of(this,arguments),p++||A({type:\\\"zoomstart\\\"})}).on(\\\"zoomend\\\",function(){var r;n.select(this).style(l),m.call(f,\\\"zoom\\\",null),r=h.of(this,arguments),--p||r({type:\\\"zoomend\\\"}),u(t,e,x)}).on(\\\"zoom.redraw\\\",function(){t.render()}),n.rebind(f,h,\\\"on\\\")}function d(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*a,r=t[1]*a,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*a,i=t.slice(),o=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=t[o]*l-t[s]*c,i[s]=t[s]*l+t[o]*c,i}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?p:h)(t,r)}},{\\\"../../lib\\\":602,d3:130}],684:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\"),i=t(\\\"./cartesian/constants\\\").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r=\\\"string\\\"==typeof e?n.getModule(e).plot:\\\"function\\\"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(\\\"gl2d\\\"===e){var u=r.match(i);o=\\\"x\\\"+u[1],s=\\\"y\\\"+u[2]}for(var f=0;f<t.length;f++)a=t[f],\\\"gl2d\\\"===e&&n.traceIs(a,\\\"gl2d\\\")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c},r.getUidsFromCalcData=function(t){for(var e={},r=0;r<t.length;r++){e[t[r][0].trace.uid]=1}return e}},{\\\"../registry\\\":732,\\\"./cartesian/constants\\\":653}],685:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mouse-change\\\"),i=t(\\\"mouse-wheel\\\"),a=t(\\\"mouse-event-offset\\\"),o=t(\\\"../cartesian/constants\\\"),s=t(\\\"has-passive-events\\\");e.exports=function(t){var e=t.mouseContainer,r=t.glplot,l=new function(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,r);function c(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function u(e,n,i){var a,s,u=t.calcDataBox(),f=r.viewBox,h=l.lastPos[0],p=l.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(u[e]=i,u[e+2]=a,l.dataBox=u,t.setRanges(u)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case\\\"zoom\\\":if(e){var v=n/(f[2]-f[0])*(u[2]-u[0])+u[0],y=i/(f[3]-f[1])*(u[3]-u[1])+u[1];l.boxInited||(l.boxStart[0]=v,l.boxStart[1]=y,l.dragStart[0]=n,l.dragStart[1]=i),l.boxEnd[0]=v,l.boxEnd[1]=y,l.boxInited=!0,l.boxEnabled||l.boxStart[0]===l.boxEnd[0]&&l.boxStart[1]===l.boxEnd[1]||(l.boxEnabled=!0);var x=Math.abs(l.dragStart[0]-n)<g,b=Math.abs(l.dragStart[1]-i)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(l.boxEnd[0]=l.boxStart[0]),b&&(l.boxEnd[1]=l.boxStart[1]);else{a=l.boxEnd[0]-l.boxStart[0],s=l.boxEnd[1]-l.boxStart[1];var _=(u[3]-u[1])/(u[2]-u[0]);Math.abs(a*_)>Math.abs(s)?(l.boxEnd[1]=l.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),l.boxEnd[1]<u[1]?(l.boxEnd[1]=u[1],l.boxEnd[0]=l.boxStart[0]+(u[1]-l.boxStart[1])/Math.abs(_)):l.boxEnd[1]>u[3]&&(l.boxEnd[1]=u[3],l.boxEnd[0]=l.boxStart[0]+(u[3]-l.boxStart[1])/Math.abs(_))):(l.boxEnd[0]=l.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),l.boxEnd[0]<u[0]?(l.boxEnd[0]=u[0],l.boxEnd[1]=l.boxStart[1]+(u[0]-l.boxStart[0])*Math.abs(_)):l.boxEnd[0]>u[2]&&(l.boxEnd[0]=u[2],l.boxEnd[1]=l.boxStart[1]+(u[2]-l.boxStart[0])*Math.abs(_)))}}else l.boxEnabled?(a=l.boxStart[0]!==l.boxEnd[0],s=l.boxStart[1]!==l.boxEnd[1],a||s?(a&&(m(0,l.boxStart[0],l.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,l.boxStart[1],l.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),l.boxEnabled=!1,l.boxInited=!1):l.boxInited&&(l.boxInited=!1);break;case\\\"pan\\\":l.boxEnabled=!1,l.boxInited=!1,e?(l.panning||(l.dragStart[0]=n,l.dragStart[1]=i),Math.abs(l.dragStart[0]-n)<d&&(n=l.dragStart[0]),Math.abs(l.dragStart[1]-i)<d&&(i=l.dragStart[1]),a=(h-n)*(u[2]-u[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(u[3]-u[1])/(r.viewBox[3]-r.viewBox[1]),u[0]+=a,u[2]+=a,u[1]+=s,u[3]+=s,t.setRanges(u),l.panning=!0,l.lastInputTime=Date.now(),c(),t.cameraChanged(),t.handleAnnotations()):l.panning&&(l.panning=!1,t.relayoutCallback())}l.lastPos[0]=n,l.lastPos[1]=i}return l.mouseListener=n(e,u),e.addEventListener(\\\"touchstart\\\",function(t){var r=a(t.changedTouches[0],e);u(0,r[0],r[1]),u(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\\\"touchmove\\\",function(t){t.preventDefault();var r=a(t.changedTouches[0],e);u(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\\\"touchend\\\",function(t){u(0,l.lastPos[0],l.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),l.wheelListener=i(e,function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=l.lastPos[0],s=l.lastPos[1],u=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*u+f,i[2]=(i[2]-f)*u+f,i[1]=(i[1]-h)*u+h,i[3]=(i[3]-h)*u+h,t.setRanges(i),l.lastInputTime=Date.now(),c(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),l}},{\\\"../cartesian/constants\\\":653,\\\"has-passive-events\\\":297,\\\"mouse-change\\\":320,\\\"mouse-event-offset\\\":321,\\\"mouse-wheel\\\":323}],686:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../cartesian/axes\\\"),i=t(\\\"../../lib/html2unicode\\\"),a=t(\\\"../../lib/str2rgbarray\\\");function o(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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var s=o.prototype,l=[\\\"xaxis\\\",\\\"yaxis\\\"];s.merge=function(t){var e,r,n,o,s,c,u,f,h,p,d;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),p=0;p<2;++p){var g=(e=l[p]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[g]?\\\"\\\":r.title,d=0;d<=2;d+=2)this.labelEnable[p+d]=!1,this.labels[p+d]=i(n),this.labelColor[p+d]=a(r.titlefont.color),this.labelFont[p+d]=r.titlefont.family,this.labelSize[p+d]=r.titlefont.size,this.labelPad[p+d]=this.getLabelPad(e,r),this.tickEnable[p+d]=!1,this.tickColor[p+d]=a((r.tickfont||{}).color),this.tickAngle[p+d]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[p+d]=this.getTickPad(r),this.tickMarkLength[p+d]=0,this.tickMarkWidth[p+d]=r.tickwidth||0,this.tickMarkColor[p+d]=a(r.tickcolor),this.borderLineEnable[p+d]=!1,this.borderLineColor[p+d]=a(r.linecolor),this.borderLineWidth[p+d]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&&!u,c=this.hasAxisInAltrPos(e,r)&&!u,o=r.mirror||!1,f=u?-1!==String(o).indexOf(\\\"all\\\"):!!o,h=u?\\\"allticks\\\"===o:-1!==String(o).indexOf(\\\"ticks\\\"),s?this.labelEnable[p]=!0:c&&(this.labelEnable[p+2]=!0),s?this.tickEnable[p]=r.showticklabels:c&&(this.tickEnable[p+2]=r.showticklabels),(s||f)&&(this.borderLineEnable[p]=r.showline),(c||f)&&(this.borderLineEnable[p+2]=r.showline),(s||h)&&(this.tickMarkLength[p]=this.getTickMarkLength(r)),(c||h)&&(this.tickMarkLength[p+2]=this.getTickMarkLength(r)),this.gridLineEnable[p]=r.showgrid,this.gridLineColor[p]=a(r.gridcolor),this.gridLineWidth[p]=r.gridwidth,this.zeroLineEnable[p]=r.zeroline,this.zeroLineColor[p]=a(r.zerolinecolor),this.zeroLineWidth[p]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"bottom\\\"===r:\\\"yaxis\\\"===t?\\\"left\\\"===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"top\\\"===r:\\\"yaxis\\\"===t?\\\"right\\\"===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.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},s.getTickPad=function(t){return\\\"outside\\\"===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\\\"inside\\\"===t.ticks?-e:e},e.exports=function(t){return new o(t)}},{\\\"../../lib/html2unicode\\\":600,\\\"../../lib/str2rgbarray\\\":625,\\\"../cartesian/axes\\\":648}],687:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/edit_types\\\").overrideAll,i=t(\\\"./scene2d\\\"),a=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:a.plot_bgcolor,hoverlabel:c.hoverlabel},\\\"plot\\\",\\\"nested\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,\\\"gl2d\\\",o),c=s._scene2d;void 0===c&&(c=new i({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 i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===u(t,\\\"gl2d\\\",o).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 i=e._plots[r[n]]._scene2d,a=i.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:o.svg,\\\"xlink:href\\\":a,x:0,y:0,width:\\\"100%\\\",height:\\\"100%\\\",preserveAspectRatio:\\\"none\\\"}),i.destroy()}},r.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r<e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}}},{\\\"../../components/fx/layout_attributes\\\":517,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../plot_api/edit_types\\\":633,\\\"../cartesian\\\":659,\\\"../cartesian/attributes\\\":646,\\\"../cartesian/constants\\\":653,\\\"../get_data\\\":684,\\\"../layout_attributes\\\":701,\\\"./scene2d\\\":688}],688:[function(t,e,r){\\\"use strict\\\";var n,i,a=t(\\\"../../registry\\\"),o=t(\\\"../../plots/cartesian/axes\\\"),s=t(\\\"../../components/fx\\\"),l=t(\\\"gl-plot2d\\\"),c=t(\\\"gl-spikes2d\\\"),u=t(\\\"gl-select-box\\\"),f=t(\\\"webgl-context\\\"),h=t(\\\"./convert\\\"),p=t(\\\"./camera\\\"),d=t(\\\"../../lib/html2unicode\\\"),g=t(\\\"../../lib/show_no_webgl_msg\\\"),m=t(\\\"../cartesian/constraints\\\"),v=m.enforce,y=m.clean,x=t(\\\"../cartesian/autorange\\\").doAutoRange,b=[\\\"xaxis\\\",\\\"yaxis\\\"],_=t(\\\"../cartesian/constants\\\").SUBPLOT_PATTERN;function w(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=h(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=w;var k=w.prototype;k.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement(\\\"canvas\\\"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"Error creating static canvas/context for image server\\\");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(\\\".gl-canvas-focus\\\"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||g(this),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 a=this.svgContainer=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\\\";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(a),s.appendChild(o);var l=this;o.addEventListener(\\\"mouseout\\\",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(\\\"mouseover\\\",function(){l.isMouseOver=!0})},k.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,i=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 a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\\\"canvas\\\");f.width=r,f.height=i;var h,p=f.getContext(\\\"2d\\\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\\\"jpeg\\\":h=f.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=f.toDataURL(\\\"image/webp\\\");break;default:h=f.toDataURL(\\\"image/png\\\")}return this.staticPlot&&this.container.removeChild(n),h},k.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},k.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=d(t[e][r].text+\\\"\\\");return t},k.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=\\\"xaxis\\\"+e[1],n=\\\"yaxis\\\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},k.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\\\"plotly_relayout\\\",i)},k.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],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].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())},k.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&&a.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")(t,r)}},k.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}},k.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 i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};y(s,this.xaxis),y(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+\\\"px\\\",this.mouseContainer.style.height=u.h*(h[1]-h[0])+\\\"px\\\",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+\\\"px\\\",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+\\\"px\\\",c=0;c<2;++c)(l=this[b[c]])._length=o.viewBox[c+2]-o.viewBox[c],x(l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},k.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},k.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},k.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},k.updateFx=function(t){\\\"lasso\\\"===t||\\\"select\\\"===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},k.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},k.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,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\\\"zoom\\\"===i.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 f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,\\\"plotly_click\\\"),a&&\\\"skip\\\"!==a.object._trace.hoverinfo&&i.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:a.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.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,i,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\\\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},k.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\\\"plotly_unhover\\\"),s.loneUnhover(this.svgContainer))},k.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),\\\"hover\\\").text}}},{\\\"../../components/fx\\\":516,\\\"../../lib/html2unicode\\\":600,\\\"../../lib/show_no_webgl_msg\\\":623,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../cartesian/autorange\\\":647,\\\"../cartesian/constants\\\":653,\\\"../cartesian/constraints\\\":655,\\\"./camera\\\":685,\\\"./convert\\\":686,\\\"gl-plot2d\\\":251,\\\"gl-select-box\\\":261,\\\"gl-spikes2d\\\":270,\\\"webgl-context\\\":436}],689:[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=i({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],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:\\\"rotate\\\",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,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=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)}};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(),i=c.computedCenter.slice();if(c.setMode(t),\\\"turntable\\\"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}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 f},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});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s=\\\"rotate\\\"===o,l=\\\"pan\\\"===o,u=\\\"zoom\\\"===o,h=!!a.control,p=!!a.alt,y=!!a.shift,x=!!(1&e),b=!!(2&e),_=!!(4&e),w=1/t.clientHeight,k=w*(r-g),M=w*(i-m),A=d.flipX?1:-1,T=d.flipY?1:-1,S=n(),C=Math.PI*d.rotateSpeed;if((s&&x&&!h&&!p&&!y||x&&!h&&!p&&y)&&c.rotate(S,A*C*k,-T*C*M,0),(l&&x&&!h&&!p&&!y||b||x&&h&&!p&&!y)&&c.pan(S,-d.translateSpeed*k*f,d.translateSpeed*M*f,0),u&&x&&!h&&!p&&!y||_||x&&!h&&p&&!y){var E=-d.zoomSpeed*M/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(E)-1))}return g=r,m=i,v=a,!0}}return d.mouseListener=a(t,y),t.addEventListener(\\\"touchstart\\\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(t){y(0,g,m,v),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),d};var n=t(\\\"right-now\\\"),i=t(\\\"3d-view\\\"),a=t(\\\"mouse-change\\\"),o=t(\\\"mouse-wheel\\\"),s=t(\\\"mouse-event-offset\\\"),l=t(\\\"has-passive-events\\\")},{\\\"3d-view\\\":41,\\\"has-passive-events\\\":297,\\\"mouse-change\\\":320,\\\"mouse-event-offset\\\":321,\\\"mouse-wheel\\\":323,\\\"right-now\\\":382}],690:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/edit_types\\\").overrideAll,i=t(\\\"../../components/fx/layout_attributes\\\"),a=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:i.hoverlabel},\\\"plot\\\",\\\"nested\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var l=n[i],c=o(r,\\\"gl3d\\\",l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!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,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._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._subplots.gl3d,r=0;r<e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}}},{\\\"../../components/fx/layout_attributes\\\":517,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"../get_data\\\":684,\\\"./layout/attributes\\\":691,\\\"./layout/defaults\\\":695,\\\"./layout/layout_attributes\\\":696,\\\"./scene\\\":700}],691:[function(t,e,r){\\\"use strict\\\";e.exports={scene:{valType:\\\"subplotid\\\",dflt:\\\"scene\\\",editType:\\\"calc+clearAxisTypes\\\"}}},{}],692:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color\\\"),i=t(\\\"../../cartesian/layout_attributes\\\"),a=t(\\\"../../../lib/extend\\\").extendFlat,o=t(\\\"../../../plot_api/edit_types\\\").overrideAll;e.exports=o({visible:i.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:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\\\"rgb(204, 204, 204)\\\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},\\\"plot\\\",\\\"from-root\\\")},{\\\"../../../components/color\\\":474,\\\"../../../lib/extend\\\":591,\\\"../../../plot_api/edit_types\\\":633,\\\"../../cartesian/layout_attributes\\\":660}],693:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../../lib\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../cartesian/type_defaults\\\"),s=t(\\\"../../cartesian/axis_defaults\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];e.exports=function(t,e,r){var c,u;function f(t,e){return i.coerce(c,u,a,t,e)}for(var h=0;h<l.length;h++){var p=l[h];c=t[p]||{},u=e[p]={_id:p[0]+r.scene,_name:p},o(c,u,f,r.data),s(c,u,f,{font:r.font,letter:p[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),f(\\\"gridcolor\\\",n(u.color,r.bgColor,13600/187).toRgbString()),f(\\\"title\\\",p[0]),u.setScale=i.noop,f(\\\"showspikes\\\")&&(f(\\\"spikesides\\\"),f(\\\"spikethickness\\\"),f(\\\"spikecolor\\\",u.color)),f(\\\"showaxeslabels\\\"),f(\\\"showbackground\\\")&&f(\\\"backgroundcolor\\\")}}},{\\\"../../../lib\\\":602,\\\"../../cartesian/axis_defaults\\\":650,\\\"../../cartesian/type_defaults\\\":671,\\\"./axis_attributes\\\":692,tinycolor2:415}],694:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib/html2unicode\\\"),i=t(\\\"../../../lib/str2rgbarray\\\"),a=[\\\"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.labelAngle=[0,0,0],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){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.labels[e]=n(r.title),\\\"titlefont\\\"in r&&(r.titlefont.color&&(this.labelColor[e]=i(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\\\"showline\\\"in r&&(this.lineEnable[e]=r.showline),\\\"linecolor\\\"in r&&(this.lineColor[e]=i(r.linecolor)),\\\"linewidth\\\"in r&&(this.lineWidth[e]=r.linewidth),\\\"showgrid\\\"in r&&(this.gridEnable[e]=r.showgrid),\\\"gridcolor\\\"in r&&(this.gridColor[e]=i(r.gridcolor)),\\\"gridwidth\\\"in r&&(this.gridWidth[e]=r.gridwidth),\\\"log\\\"===r.type?this.zeroEnable[e]=!1:\\\"zeroline\\\"in r&&(this.zeroEnable[e]=r.zeroline),\\\"zerolinecolor\\\"in r&&(this.zeroLineColor[e]=i(r.zerolinecolor)),\\\"zerolinewidth\\\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\\\"ticks\\\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\\\"ticklen\\\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\\\"tickcolor\\\"in r&&(this.lineTickColor[e]=i(r.tickcolor)),\\\"tickwidth\\\"in r&&(this.lineTickWidth[e]=r.tickwidth),\\\"tickangle\\\"in r&&(this.tickAngle[e]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180),\\\"showticklabels\\\"in r&&(this.tickEnable[e]=r.showticklabels),\\\"tickfont\\\"in r&&(r.tickfont.color&&(this.tickColor[e]=i(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\\\"mirror\\\"in r?-1!==[\\\"ticks\\\",\\\"all\\\",\\\"allticks\\\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\\\"showbackground\\\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=i(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new o;return e.merge(t),e}},{\\\"../../../lib/html2unicode\\\":600,\\\"../../../lib/str2rgbarray\\\":625}],695:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib\\\"),i=t(\\\"../../../components/color\\\"),a=t(\\\"../../../registry\\\"),o=t(\\\"../../subplot_defaults\\\"),s=t(\\\"./axis_defaults\\\"),l=t(\\\"./layout_attributes\\\");function c(t,e,r,n){for(var o=r(\\\"bgcolor\\\"),l=i.combine(o,n.paper_bgcolor),c=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],u=0;u<c.length;u++)r(\\\"camera.\\\"+c[u]+\\\".x\\\"),r(\\\"camera.\\\"+c[u]+\\\".y\\\"),r(\\\"camera.\\\"+c[u]+\\\".z\\\");var f=!!r(\\\"aspectratio.x\\\")&&!!r(\\\"aspectratio.y\\\")&&!!r(\\\"aspectratio.z\\\"),h=r(\\\"aspectmode\\\",f?\\\"manual\\\":\\\"auto\\\");f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\\\"manual\\\"===h&&(e.aspectmode=\\\"auto\\\"),t.aspectmode=e.aspectmode),s(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),a.getComponentMethod(\\\"annotations3d\\\",\\\"handleDefaults\\\")(t,e,n),r(\\\"dragmode\\\",n.getDfltFromLayout(\\\"dragmode\\\")),r(\\\"hovermode\\\",n.getDfltFromLayout(\\\"hovermode\\\"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:\\\"gl3d\\\",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\\\"../../../components/color\\\":474,\\\"../../../lib\\\":602,\\\"../../../registry\\\":732,\\\"../../subplot_defaults\\\":724,\\\"./axis_defaults\\\":693,\\\"./layout_attributes\\\":696}],696:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./axis_attributes\\\"),i=t(\\\"../../domain\\\").attributes,a=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:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),editType:\\\"camera\\\"},domain:i({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],dflt:\\\"turntable\\\",editType:\\\"plot\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"closest\\\",!1],dflt:\\\"closest\\\",editType:\\\"modebar\\\"},editType:\\\"plot\\\",_deprecated:{cameraposition:{valType:\\\"info_array\\\",editType:\\\"camera\\\"}}}},{\\\"../../../lib\\\":602,\\\"../../../lib/extend\\\":591,\\\"../../domain\\\":673,\\\"./axis_attributes\\\":692}],697:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib/str2rgbarray\\\"),i=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function a(){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]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[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 a;return e.merge(t),e}},{\\\"../../../lib/str2rgbarray\\\":625}],698:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u<3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f._input_range=f.range.slice(),f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(\\\"auto\\\"===f.tickmode){f.tickmode=\\\"linear\\\";var p=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var d=n.calcTicks(f),g=0;g<d.length;++g)d[g].x=d[g].x*t.dataScale[u],d[g].text=a(d[g].text);c[u]=d,f.tickmode=h}}e.ticks=c;for(var u=0;u<3;++u){s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]);for(var g=0;g<2;++g)e.bounds[g][u]=t.glplot.bounds[g][u]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(\\\"../../cartesian/axes\\\"),i=t(\\\"../../../lib\\\"),a=t(\\\"../../../lib/html2unicode\\\"),o=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],s=[0,0,0]},{\\\"../../../lib\\\":602,\\\"../../../lib/html2unicode\\\":600,\\\"../../cartesian/axes\\\":648}],699:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],700:[function(t,e,r){\\\"use strict\\\";var n,i,a=t(\\\"gl-plot3d\\\"),o=t(\\\"webgl-context\\\"),s=t(\\\"has-passive-events\\\"),l=t(\\\"../../registry\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../plots/cartesian/axes\\\"),f=t(\\\"../../components/fx\\\"),h=t(\\\"../../lib/str2rgbarray\\\"),p=t(\\\"../../lib/show_no_webgl_msg\\\"),d=t(\\\"./camera\\\"),g=t(\\\"./project\\\"),m=t(\\\"./layout/convert\\\"),v=t(\\\"./layout/spikes\\\"),y=t(\\\"./layout/tick_marks\\\");function x(t,e,r,l){var h={canvas:r,gl:l,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(i||(n=document.createElement(\\\"canvas\\\"),i=o({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"error creating static canvas/context for image server\\\");h.pixelRatio=t.pixelRatio,h.gl=i,h.canvas=n}try{t.glplot=a(h)}catch(e){p(t)}var m=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\\\".camera\\\"]=A(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\\\"plotly_relayout\\\",e)}};if(t.glplot.canvas.addEventListener(\\\"mouseup\\\",m.bind(null,t)),t.glplot.canvas.addEventListener(\\\"wheel\\\",m.bind(null,t),!!s&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\\\"webglcontextlost\\\",function(t){c.warn(\\\"Lost WebGL context.\\\"),t.preventDefault()}),!t.camera){var v=t.fullSceneLayout.camera;t.camera=d(t.container,{center:[v.center.x,v.center.y,v.center.z],eye:[v.eye.x,v.eye.y,v.eye.z],up:[v.up.x,v.up.y,v.up.z],zoomMin:.1,zoomMax:100,mode:\\\"orbit\\\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 \\\"+i+\\\" \\\"+a),r.setAttributeNS(null,\\\"width\\\",i),r.setAttributeNS(null,\\\"height\\\",a),y(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,c=t.glplot.selection,h=0;h<s.length;++h)\\\"skip\\\"!==(e=t.traces[s[h]]).data.hoverinfo&&e.handlePick(c)&&(l=e),e.setContourLevels&&e.setContourLevels();function p(e,r){var n=t.fullSceneLayout[e];return u.tickText(n,n.d2l(r),\\\"hover\\\").text}if(null!==l){var d=g(t.glplot.cameraParams,c.dataCoordinate);e=l.data;var m=c.index,v=f.castHoverinfo(e,t.fullLayout,m),x=p(\\\"xaxis\\\",c.traceCoordinate[0]),b=p(\\\"yaxis\\\",c.traceCoordinate[1]),_=p(\\\"zaxis\\\",c.traceCoordinate[2]);if(\\\"all\\\"!==v){var w=v.split(\\\"+\\\");-1===w.indexOf(\\\"x\\\")&&(x=void 0),-1===w.indexOf(\\\"y\\\")&&(b=void 0),-1===w.indexOf(\\\"z\\\")&&(_=void 0),-1===w.indexOf(\\\"text\\\")&&(c.textLabel=void 0),-1===w.indexOf(\\\"name\\\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&f.loneHover({x:(.5+.5*d[0]/d[3])*i,y:(.5-.5*d[1]/d[3])*a,xLabel:x,yLabel:b,zLabel:_,text:c.textLabel,name:l.name,color:f.castHoverOption(e,m,\\\"bgcolor\\\")||l.color,borderColor:f.castHoverOption(e,m,\\\"bordercolor\\\"),fontFamily:f.castHoverOption(e,m,\\\"font.family\\\"),fontSize:f.castHoverOption(e,m,\\\"font.size\\\"),fontColor:f.castHoverOption(e,m,\\\"font.color\\\")},{container:r,gd:t.graphDiv});var k={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:m};f.appendArrayPointValue(k,e,m);var M={points:[k]};c.buttons&&c.distance<5?t.graphDiv.emit(\\\"plotly_click\\\",M):t.graphDiv.emit(\\\"plotly_hover\\\",M),o=M}else f.loneUnhover(r),t.graphDiv.emit(\\\"plotly_unhover\\\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function b(t,e){var r=document.createElement(\\\"div\\\"),n=t.container;this.graphDiv=t.graphDiv;var i=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\\\",r.appendChild(i),this.svgContainer=i,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=m(e[this.id]),this.spikeOptions=v(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=l.getComponentMethod(\\\"annotations3d\\\",\\\"convert\\\"),this.drawAnnotations=l.getComponentMethod(\\\"annotations3d\\\",\\\"draw\\\"),x(this)}var _=b.prototype;_.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):x(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):c.error(\\\"Catastrophic and unrecoverable WebGL error. Context lost.\\\")})};var w=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function k(t,e,r,n,i,a){var o;if(!c.isArrayOrTypedArray(e))return i[0][n]=Math.min(i[0][n],0),void(i[1][n]=Math.max(i[1][n],r-1));for(var s=0;s<(r||e.length);++s)if(c.isArrayOrTypedArray(e[s]))for(var l=0;l<e[s].length;++l)o=t.d2l(e[s][l],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o));else o=t.d2l(e[s],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o))}function M(t,e,r){var n=t.fullSceneLayout;k(n.xaxis,e.x,e._xlength,0,r,e.xcalendar),k(n.yaxis,e.y,e._ylength,1,r,e.ycalendar),k(n.zaxis,e.z,e._zlength,2,r,e.zcalendar)}function A(t){return{up:{x:t.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]}}}_.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=h(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&M(this,n,f);var p=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?p[o]=1:f[1][o]===f[0][o]?p[o]=1:p[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=p,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var d=Object.keys(this.traces);t:for(a=0;a<d.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===d[a]&&!0===t[o].visible)continue t;(i=this.traces[d[a]]).dispose(),delete this.traces[d[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],m=[],v={};for(a=0;a<3;++a){if((l=(s=c[w[a]]).type)in v?(v[l].acc*=p[a],v[l].count+=1):v[l]={acc:p[a],count:1},s.autorange){g[0][a]=1/0,g[1][a]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o].bounds;g[0][a]=Math.min(g[0][a],_[0][a]/p[a]),g[1][a]=Math.max(g[1][a],_[1][a]/p[a])}for(o=0;o<x.length;o++){var k=x[o];if(k.visible){var A=s.r2l(k[b]);g[0][a]=Math.min(g[0][a],A),g[1][a]=Math.max(g[1][a],A)}}if(\\\"rangemode\\\"in s&&\\\"tozero\\\"===s.rangemode&&(g[0][a]=Math.min(g[0][a],0),g[1][a]=Math.max(g[1][a],0)),g[0][a]>g[1][a])g[0][a]=-1,g[1][a]=1;else{var T=g[1][a]-g[0][a];g[0][a]-=T/32,g[1][a]+=T/32}}else{var S=s.range;g[0][a]=s.r2l(S[0]),g[1][a]=s.r2l(S[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var C=[1,1,1];for(a=0;a<3;++a){var E=v[l=(s=c[w[a]]).type];C[a]=Math.pow(E.acc,1/E.count)/p[a]}var L;if(\\\"auto\\\"===c.aspectmode)L=Math.max.apply(null,C)/Math.min.apply(null,C)<=4?C:[1,1,1];else if(\\\"cube\\\"===c.aspectmode)L=[1,1,1];else if(\\\"data\\\"===c.aspectmode)L=C;else{if(\\\"manual\\\"!==c.aspectmode)throw new Error(\\\"scene.js aspectRatio was not one of the enumerated types\\\");var z=c.aspectratio;L=[z.x,z.y,z.z]}c.aspectratio.x=u.aspectratio.x=L[0],c.aspectratio.y=u.aspectratio.y=L[1],c.aspectratio.z=u.aspectratio.z=L[2],this.glplot.aspect=L;var P=c.domain||null,D=e._size||null;if(P&&D){var O=this.container.style;O.position=\\\"absolute\\\",O.left=D.l+P.x[0]*D.w+\\\"px\\\",O.top=D.t+(1-P.y[1])*D.h+\\\"px\\\",O.width=D.w*(P.x[1]-P.x[0])+\\\"px\\\",O.height=D.h*(P.y[1]-P.y[0])+\\\"px\\\"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\\\"wheel\\\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),A(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).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]])},_.saveCamera=function(t){var e=this.getCamera(),r=c.nestedProperty(t,this.id+\\\".camera\\\"),n=r.get(),i=!1;function a(t,e,r,n){var i=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],a=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_.updateFx=function(t,e){var r=this.camera;r&&(\\\"orbit\\\"===t?(r.mode=\\\"orbit\\\",r.keyBindingMode=\\\"rotate\\\"):\\\"turntable\\\"===t?(r.up=[0,0,1],r.mode=\\\"turntable\\\",r.keyBindingMode=\\\"rotate\\\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_.toImage=function(t){t||(t=\\\"png\\\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\\\"canvas\\\");f.width=r,f.height=i;var h,p=f.getContext(\\\"2d\\\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\\\"jpeg\\\":h=f.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=f.toDataURL(\\\"image/webp\\\");break;default:h=f.toDataURL(\\\"image/png\\\")}return this.staticMode&&this.container.removeChild(n),h},_.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[w[t]];u.setConvert(e,this.fullLayout),e.setScale=c.noop}},e.exports=b},{\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../lib/show_no_webgl_msg\\\":623,\\\"../../lib/str2rgbarray\\\":625,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./camera\\\":689,\\\"./layout/convert\\\":694,\\\"./layout/spikes\\\":697,\\\"./layout/tick_marks\\\":698,\\\"./project\\\":699,\\\"gl-plot3d\\\":253,\\\"has-passive-events\\\":297,\\\"webgl-context\\\":436}],701:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./font_attributes\\\"),i=t(\\\"../components/color/attributes\\\"),a=n({editType:\\\"calc\\\"});a.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:\\\"string\\\",editType:\\\"layoutstyle\\\"},titlefont:n({editType:\\\"layoutstyle\\\"}),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\\\"}}},{\\\"../components/color/attributes\\\":473,\\\"./font_attributes\\\":674}],702:[function(t,e,r){\\\"use strict\\\";e.exports={requiredVersion:\\\"0.44.1\\\",styleUrlPrefix:\\\"mapbox://styles/mapbox/\\\",styleUrlSuffix:\\\"v9\\\",controlContainerClassName:\\\"mapboxgl-control-container\\\",wrongVersionErrorMsg:[\\\"Your custom plotly.js bundle is not using the correct mapbox-gl version\\\",\\\"Please install mapbox-gl@0.44.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\\\"),mapOnErrorMsg:\\\"Mapbox error.\\\",styleRules:{map:\\\"overflow:hidden;position:relative;\\\",\\\"missing-css\\\":\\\"display:none\\\"}}},{}],703:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){var r=t.split(\\\" \\\"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\\\"\\\",\\\"\\\"],u=[0,0];switch(i){case\\\"top\\\":c[0]=\\\"top\\\",u[1]=-l;break;case\\\"bottom\\\":c[0]=\\\"bottom\\\",u[1]=l}switch(a){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\\\":602}],704:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mapbox-gl\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/get_data\\\").getSubplotCalcData,o=t(\\\"../../constants/xmlns_namespaces\\\"),s=t(\\\"./mapbox\\\"),l=t(\\\"./constants\\\");for(var c in l.styleRules)i.addStyleRule(\\\".mapboxgl-\\\"+c,l.styleRules[c]);r.name=\\\"mapbox\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"mapbox\\\",r.idRegex=r.attrRegex=i.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!==l.requiredVersion)throw new Error(l.wrongVersionErrorMsg);var c=function(t,e){var r=t._fullLayout;if(\\\"\\\"===t._context.mapboxAccessToken)return\\\"\\\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(l.noAccessTokenErrorMsg)}(t,o);n.accessToken=c;for(var u=0;u<o.length;u++){var f=o[u],h=a(r,\\\"mapbox\\\",f),p=e[f],d=p._subplot;d||(d=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=d),d.viewInitial||(d.viewInitial={center:i.extendFlat({},p.center),zoom:p.zoom,bearing:p.bearing,pitch:p.pitch}),d.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!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,i=0;i<r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:o.svg,\\\"xlink:href\\\":c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:\\\"none\\\"}),l.destroy()}},r.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r<e.length;r++){t[e[r]]._subplot.updateFx(t)}}},{\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"./constants\\\":702,\\\"./layout_attributes\\\":706,\\\"./layout_defaults\\\":707,\\\"./mapbox\\\":708,\\\"mapbox-gl\\\":311}],705:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./convert_text_opts\\\");function a(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\\\"-layer\\\"+e,this.idSource=this.uid+\\\"-source\\\",this.idLayer=this.uid+\\\"-layer\\\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var o=a.prototype;function s(t){var e=t.source;return n.isPlainObject(e)||\\\"string\\\"==typeof e&&e.length>0}function l(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});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}),n.extendFlat(r,{\\\"icon-color\\\":t.color,\\\"text-color\\\":a.textfont.color,\\\"text-opacity\\\":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(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\\\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\\\"source-layer\\\":t.sourcelayer||\\\"\\\",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",e.layout),this.mapbox.setOptions(this.idLayer,\\\"setPaintProperty\\\",e.paint)}},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{\\\"../../lib\\\":602,\\\"./convert_text_opts\\\":703}],706:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\").defaultLine,a=t(\\\"../domain\\\").attributes,o=t(\\\"../font_attributes\\\"),s=t(\\\"../../traces/scatter/attributes\\\").textposition,l=t(\\\"../../plot_api/edit_types\\\").overrideAll,c=o({});c.family.dflt=\\\"Open Sans Regular, Arial Unicode MS Regular\\\",e.exports=l({_arrayAttrRegexps:[n.counterRegex(\\\"mapbox\\\",\\\".layers\\\",!0)],domain:a({name:\\\"mapbox\\\"}),accesstoken:{valType:\\\"string\\\",noBlank:!0,strict:!0},style:{valType:\\\"any\\\",values:[\\\"basic\\\",\\\"streets\\\",\\\"outdoors\\\",\\\"light\\\",\\\"dark\\\",\\\"satellite\\\",\\\"satellite-streets\\\"],dflt:\\\"basic\\\"},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:{_isLinkedToArray:\\\"layer\\\",sourcetype:{valType:\\\"enumerated\\\",values:[\\\"geojson\\\",\\\"vector\\\"],dflt:\\\"geojson\\\"},source:{valType:\\\"any\\\"},sourcelayer:{valType:\\\"string\\\",dflt:\\\"\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"line\\\",\\\"fill\\\",\\\"symbol\\\"],dflt:\\\"circle\\\"},below:{valType:\\\"string\\\",dflt:\\\"\\\"},color:{valType:\\\"color\\\",dflt:i},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},circle:{radius:{valType:\\\"number\\\",dflt:15}},line:{width:{valType:\\\"number\\\",dflt:2}},fill:{outlinecolor:{valType:\\\"color\\\",dflt:i}},symbol:{icon:{valType:\\\"string\\\",dflt:\\\"marker\\\"},iconsize:{valType:\\\"number\\\",dflt:10},text:{valType:\\\"string\\\",dflt:\\\"\\\"},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},\\\"plot\\\",\\\"from-root\\\")},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"../../traces/scatter/attributes\\\":926,\\\"../domain\\\":673,\\\"../font_attributes\\\":674}],707:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../subplot_defaults\\\"),a=t(\\\"./layout_attributes\\\");function o(t,e,r,i){r(\\\"accesstoken\\\",i.accessToken),r(\\\"style\\\"),r(\\\"center.lon\\\"),r(\\\"center.lat\\\"),r(\\\"zoom\\\"),r(\\\"bearing\\\"),r(\\\"pitch\\\"),function(t,e){var r,i,o=t.layers||[],s=e.layers=[];function l(t,e){return n.coerce(r,i,a.layers,t,e)}for(var c=0;c<o.length;c++)if(r=o[c],i={},n.isPlainObject(r)){var u=l(\\\"sourcetype\\\");l(\\\"source\\\"),\\\"vector\\\"===u&&l(\\\"sourcelayer\\\");var f=l(\\\"type\\\");l(\\\"below\\\"),l(\\\"color\\\"),l(\\\"opacity\\\"),\\\"circle\\\"===f&&l(\\\"circle.radius\\\"),\\\"line\\\"===f&&l(\\\"line.width\\\"),\\\"fill\\\"===f&&l(\\\"fill.outlinecolor\\\"),\\\"symbol\\\"===f&&(l(\\\"symbol.icon\\\"),l(\\\"symbol.iconsize\\\"),l(\\\"symbol.text\\\"),n.coerceFont(l,\\\"symbol.textfont\\\"),l(\\\"symbol.textposition\\\")),i._index=c,s.push(i)}}(t,e),e._input=t}e.exports=function(t,e,r){i(t,e,r,{type:\\\"mapbox\\\",attributes:a,handleDefaults:o,partition:\\\"y\\\",accessToken:e._mapboxAccessToken})}},{\\\"../../lib\\\":602,\\\"../subplot_defaults\\\":724,\\\"./layout_attributes\\\":706}],708:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mapbox-gl\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/dragelement\\\"),s=t(\\\"../cartesian/select\\\").prepSelect,l=t(\\\"./constants\\\"),c=t(\\\"./layout_attributes\\\"),u=t(\\\"./layers\\\");function f(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\\\"-\\\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var h=f.prototype;function p(t){var e=c.style.values,r=c.style.dflt,n={};return a.isPlainObject(t)?(n.id=t.id,n.style=t):\\\"string\\\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?d(t):t):(n.id=r,n.style=d(r)),n.transition={duration:0,delay:0},n}function d(t){return l.styleUrlPrefix+t+\\\"-\\\"+l.styleUrlSuffix}function g(t){return[t.lon,t.lat]}e.exports=function(t){return new f(t)},h.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},h.createMap=function(t,e,r,o){var s=this,c=s.gd,u=s.opts,f=s.styleObj=p(u.style);s.accessToken=u.accesstoken;var h=s.map=new n.Map({container:s.div,style:f.style,center:g(u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch,interactive:!s.isStatic,preserveDrawingBuffer:s.isStatic,doubleClickZoom:!1,boxZoom:!1}),d=l.controlContainerClassName,m=s.div.getElementsByClassName(d)[0];function v(){i.loneUnhover(e._toppaper)}s.div.removeChild(m),h._canvas.style.left=\\\"0px\\\",h._canvas.style.top=\\\"0px\\\",s.rejectOnError(o),h.once(\\\"load\\\",function(){s.updateData(t),s.updateLayout(e),s.resolveOnRender(r)}),s.isStatic||(h.on(\\\"moveend\\\",function(t){if(s.map){var e=s.getView();if(u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,t.originalEvent){var r={};r[s.id]=a.extendFlat({},e),c.emit(\\\"plotly_relayout\\\",r)}}}),h.on(\\\"mousemove\\\",function(t){var e=s.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},s.xaxis.p2c=function(){return t.lngLat.lng},s.yaxis.p2c=function(){return t.lngLat.lat},i.hover(c,t,s.id)}),h.on(\\\"click\\\",function(t){i.click(c,t.originalEvent)}),h.on(\\\"dragstart\\\",v),h.on(\\\"zoomstart\\\",v),h.on(\\\"dblclick\\\",function(){var t=s.viewInitial;h.setCenter(g(t.center)),h.setZoom(t.zoom),h.setBearing(t.bearing),h.setPitch(t.pitch);var e=s.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,c.emit(\\\"plotly_doubleclick\\\",null)}),s.clearSelect=function(){c._fullLayout._zoomlayer.selectAll(\\\".select-outline\\\").remove()})},h.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=p(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\\\"styledata\\\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},h.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},h.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(g(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},h.resolveOnRender=function(t){var e=this.map;e.on(\\\"render\\\",function r(){e.loaded()&&(e.off(\\\"render\\\",r),setTimeout(t,0))})},h.rejectOnError=function(t){var e=this.map;function r(){t(new Error(l.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)},h.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)},h.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,a=t.dragmode;if(i=\\\"select\\\"===a?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)},\\\"select\\\"===a||\\\"lasso\\\"===a){r.dragPan.disable(),r.on(\\\"zoomstart\\\",e.clearSelect);var l={element:e.div,gd:n,plotinfo:{xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id,prepFn:function(t,e,r){s(t,e,r,l,a)}};o.init(l)}else r.dragPan.enable(),r.off(\\\"zoomstart\\\",e.clearSelect),e.div.onmousedown=null}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},h.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])},h.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(u(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},h.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},h.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},h.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},h.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},h.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\\\"../../components/dragelement\\\":496,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../cartesian/select\\\":665,\\\"./constants\\\":702,\\\"./layers\\\":705,\\\"./layout_attributes\\\":706,\\\"mapbox-gl\\\":311}],709:[function(t,e,r){\\\"use strict\\\";e.exports={t:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},r:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},b:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},l:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"}},{}],710:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../registry\\\"),o=t(\\\"../plot_api/plot_schema\\\"),s=t(\\\"../lib\\\"),l=t(\\\"../components/color\\\"),c=t(\\\"../constants/numerical\\\").BADNUM,u=t(\\\"../plots/cartesian/axis_ids\\\"),f=t(\\\"./sort_modules\\\").sortBasePlotModules,h=t(\\\"./animation_attributes\\\"),p=t(\\\"./frame_attributes\\\"),d=s.relinkPrivateKeys,g=s._,m=e.exports={};s.extendFlat(m,a),m.attributes=t(\\\"./attributes\\\"),m.attributes.type.values=m.allTypes,m.fontAttrs=t(\\\"./font_attributes\\\"),m.layoutAttributes=t(\\\"./layout_attributes\\\"),m.fontWeight=\\\"normal\\\";var v=m.transformsRegistry,y=t(\\\"./command\\\");m.executeAPICommand=y.executeAPICommand,m.computeAPICommandBindings=y.computeAPICommandBindings,m.manageCommandObserver=y.manageCommandObserver,m.hasSimpleAPICommandBindings=y.hasSimpleAPICommandBindings,m.redrawText=function(t){if(!((t=s.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){a.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),a.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(m.previousPromises(t))},300)})},m.resize=function(t){return t=s.getGraphDiv(t),new Promise(function(e,r){t&&!function(t){var e=window.getComputedStyle(t).display;return!e||\\\"none\\\"===e}(t)||r(new Error(\\\"Resize must be passed a displayed plot div element.\\\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,a.call(\\\"relayout\\\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},m.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},m.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=s.ensureSingle(e._paper,\\\"text\\\",\\\"js-plot-link-container\\\",function(t){t.style({\\\"font-family\\\":'\\\"Open Sans\\\", Arial, sans-serif',\\\"font-size\\\":\\\"12px\\\",fill:l.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)})}),i=r.node(),a={y:e._paper.attr(\\\"height\\\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\\\"text-anchor\\\"]=\\\"start\\\",a.x=5):(a[\\\"text-anchor\\\"]=\\\"end\\\",a.x=e._paper.attr(\\\"width\\\")-7),r.attr(a);var o=r.select(\\\".js-link-to-tool\\\"),c=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(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split(\\\"/\\\"),i=window.location.search;r.attr({\\\"xlink:xlink:show\\\":\\\"new\\\",\\\"xlink:xlink:href\\\":\\\"/\\\"+n[2].split(\\\".\\\")[0]+\\\"/\\\"+n[1]+i})}}(t,o),c.text(o.text()&&u.text()?\\\" - \\\":\\\"\\\")}},m.sendDataToCloud=function(t){t.emit(\\\"plotly_beforeexport\\\");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\\\"https://plot.ly\\\",r=n.select(t).append(\\\"div\\\").attr(\\\"id\\\",\\\"hiddenform\\\").style(\\\"display\\\",\\\"none\\\"),i=r.append(\\\"form\\\").attr({action:e+\\\"/external\\\",method:\\\"post\\\",target:\\\"_blank\\\"});return i.append(\\\"input\\\").attr({type:\\\"text\\\",name:\\\"data\\\"}).node().value=m.graphJson(t,!1,\\\"keepdata\\\"),i.node().submit(),r.remove(),t.emit(\\\"plotly_afterexport\\\"),!1};var x,b=[\\\"days\\\",\\\"shortDays\\\",\\\"months\\\",\\\"shortMonths\\\",\\\"periods\\\",\\\"dateTime\\\",\\\"date\\\",\\\"time\\\",\\\"decimal\\\",\\\"thousands\\\",\\\"grouping\\\",\\\"currency\\\"],_=[\\\"year\\\",\\\"month\\\",\\\"dayMonth\\\",\\\"dayMonthYear\\\"];function w(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[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=a.localeRegistry}var f=r.split(\\\"-\\\")[0];if(n||f===r)break;r=f}return n||o(a.localeRegistry.en.format),i}function k(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=v[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function M(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}m.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,i=t._fullLayout||{};if(i._skipDefaults)delete i._skipDefaults;else{var o,l=t._fullLayout={},c=t.layout||{},h=t._fullData||[],p=t._fullData=[],v=t.data||[],y=t.calcdata||[],k=t._context||{};t._transitionData||m.createTransitionData(t),l._dfltTitle={plot:g(t,\\\"Click to enter Plot title\\\"),x:g(t,\\\"Click to enter X axis title\\\"),y:g(t,\\\"Click to enter Y axis title\\\"),colorbar:g(t,\\\"Click to enter Colorscale title\\\"),annotation:g(t,\\\"new text\\\")},l._traceWord=g(t,\\\"trace\\\");var M=w(t,b);if(l._mapboxAccessToken=k.mapboxAccessToken,i._initialAutoSizeIsDone){var A=i.width,T=i.height;m.supplyLayoutGlobalDefaults(c,l,M),c.width||(l.width=A),c.height||(l.height=T)}else{m.supplyLayoutGlobalDefaults(c,l,M);var S=!c.width||!c.height,C=l.autosize,E=k.autosizable;S&&(C||E)?m.plotAutoSize(t,c,l):S&&m.sanitizeMargins(t),!C&&S&&(c.width=l.width,c.height=l.height)}l._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(M,l.separators),l._extraFormat=w(t,_),l._initialAutoSizeIsDone=!0,l._dataLength=v.length,l._modules=[],l._basePlotModules=[];var L=l._subplots=function(){var t,e,r={};if(!x){x=[];var n=a.subplotsRegistry;for(var i in n){var o=n[i],l=o.attr;if(l&&(x.push(i),Array.isArray(l)))for(e=0;e<l.length;e++)s.pushUnique(x,l[e])}}for(t=0;t<x.length;t++)r[x[t]]=[];return r}(),z=l._splomAxes={x:{},y:{}},P=l._splomSubplots={};l._requestRangeslider={},l._globalTransforms=(t._context||{}).globalTransforms,m.supplyDataDefaults(v,p,c,l);var D=Object.keys(z.x),O=Object.keys(z.y);if(D.length>1&&O.length>1){for(a.getComponentMethod(\\\"grid\\\",\\\"sizeDefaults\\\")(c,l),o=0;o<D.length;o++)s.pushUnique(L.xaxis,D[o]);for(o=0;o<O.length;o++)s.pushUnique(L.yaxis,O[o]);for(var I in P)s.pushUnique(L.cartesian,I)}l._has=m._hasPlotType.bind(l);var R=l._modules;for(o=0;o<R.length;o++){var B=R[o];B.cleanData&&B.cleanData(p)}if(h.length===p.length)for(o=0;o<p.length;o++)d(p[o],h[o]);m.supplyLayoutModuleDefaults(c,l,p,t._transitionData),l._hasOnlyLargeSploms=1===l._basePlotModules.length&&\\\"splom\\\"===l._basePlotModules[0].name&&D.length>15&&O.length>15&&0===l.shapes.length&&0===l.images.length,l._hasCartesian=l._has(\\\"cartesian\\\"),l._hasGeo=l._has(\\\"geo\\\"),l._hasGL3D=l._has(\\\"gl3d\\\"),l._hasGL2D=l._has(\\\"gl2d\\\"),l._hasTernary=l._has(\\\"ternary\\\"),l._hasPie=l._has(\\\"pie\\\"),m.linkSubplots(p,l,h,i),m.cleanPlot(p,l,h,i,y),d(l,i),m.doAutoMargin(t);var F=u.list(t);for(o=0;o<F.length;o++){F[o].setScale()}r||y.length!==p.length||m.supplyDefaultsUpdateCalc(y,p),l._basePlotModules.sort(f)}},m.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t[r][0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,l,c,u=a._arrayAttrs;for(o=0;o<u.length;o++)l=u[o],c=s.nestedProperty(a,l).get().slice(),s.nestedProperty(n,l).set(c)}i.trace=n}}},m.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=[])},m._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 i=n[e].name;if(i===t)return!0;var o=a.modules[i];if(o&&o.categories[t])return!0}return!1},m.cleanPlot=function(t,e,r,n,i){var a,o,s=n._basePlotModules||[];for(a=0;a<s.length;a++){var l=s[a];l.clean&&l.clean(t,e,r,n,i)}var c=n._has&&n._has(\\\"gl\\\"),u=e._has&&e._has(\\\"gl\\\");c&&!u&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),n._glcanvas=null);var f=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(o=0;o<t.length;o++){if(h===t[o].uid)continue t}f&&n._infolayer.select(\\\".cb\\\"+h).remove()}n._zoomlayer&&n._zoomlayer.selectAll(\\\".select-outline\\\").remove()},m.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},c=e._plots={},f=e._subplots,h={_fullData:t,_fullLayout:e},p=f.cartesian.concat(f.gl2d||[]);for(i=0;i<p.length;i++){var d,g=l[o=p[i]],m=u.getFromId(h,o,\\\"x\\\"),v=u.getFromId(h,o,\\\"y\\\");for(g?((d=c[o]=g).xaxis.layer!==m.layer&&(d.xlines.attr(\\\"d\\\",null),d.xaxislayer.selectAll(\\\"*\\\").remove()),d.yaxis.layer!==v.layer&&(d.ylines.attr(\\\"d\\\",null),d.yaxislayer.selectAll(\\\"*\\\").remove())):(d=c[o]={}).id=o,d.xaxis=m,d.yaxis=v,d._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var y=t[a];if(y.xaxis===d.xaxis._id&&y.yaxis===d.yaxis._id&&!1===y.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var x=u.list(h,null,!0);for(i=0;i<x.length;i++){var b=null;(s=x[i]).overlaying&&(b=u.getFromId(h,s.overlaying))&&b.overlaying&&(s.overlaying=!1,b=null),s._mainAxis=b||s,b&&(s.domain=b.domain.slice()),s._anchorAxis=\\\"free\\\"===s.anchor?null:u.getFromId(h,s.anchor)}for(i=0;i<x.length;i++){var _=\\\"x\\\"===(s=x[i])._id.charAt(0),w=s._mainAxis._anchorAxis,k=\\\"\\\",M=\\\"\\\",A=\\\"\\\";if(w&&(A=w._mainAxis._id,k=_?s._id+A:A+s._id),!k||!c[k])for(k=\\\"\\\",a=0;a<p.length;a++){var T=(o=p[a]).indexOf(\\\"y\\\"),S=_?o.substr(0,T):o.substr(T),C=_?o.substr(T):o.substr(0,T);if(S===s._id){M||(M=o);var E=u.getFromId(h,C);if(A&&E.overlaying===A){k=o;break}}}s._mainSubplot=k||M}},m.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,i,a){r[a]=n,r.length=a+1,\\\"color\\\"===t.valType&&void 0===t.dflt&&e.push(r.join(\\\".\\\"))})),n=0;n<e.length;n++){s.nestedProperty(t,\\\"_input.\\\"+e[n]).get()||s.nestedProperty(t,e[n]).set(null)}},m.supplyDataDefaults=function(t,e,r,n){var i,o,l,c=n._modules,u=n._basePlotModules,f=0,h=0;function p(t){e.push(t);var r=t._module;r&&(!0===t.visible&&s.pushUnique(c,r),s.pushUnique(u,t._module.basePlotModule),f++,!1!==t._input.visible&&h++)}n._transformModules=[];var g={},v=[];for(i=0;i<t.length;i++){if(l=t[i],(o=m.supplyTraceDefaults(l,h,n,i)).index=i,o._input=l,o._expandedIndex=f,o.transforms&&o.transforms.length)for(var y=k(o,e,r,n),x=0;x<y.length;x++){var b=y[x],_=m.supplyTraceDefaults(b,f,n,i);d(_,b),b.uid=_.uid=o.uid+x,_.index=i,_._input=l,_._fullInput=o,_._expandedIndex=f,_._expandedInput=b,p(_)}else o._fullInput=o,o._expandedInput=o,p(o);a.traceIs(o,\\\"carpetAxis\\\")&&(g[o.carpet]=o),a.traceIs(o,\\\"carpetDependent\\\")&&v.push(i)}for(i=0;i<v.length;i++)if((o=e[v[i]]).visible){var w=g[o.carpet];o._carpet=w,w&&w.visible?(o.xaxis=w.xaxis,o.yaxis=w.yaxis):o.visible=!1}},m.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return s.coerce(t||{},r,h,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]=m.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=m.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=m.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=m.supplyAnimationTransitionDefaults(t.transition||{});return r},m.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return s.coerce(t||{},e,h.frame,r,n)}return r(\\\"duration\\\"),r(\\\"redraw\\\"),e},m.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return s.coerce(t||{},e,h.transition,r,n)}return r(\\\"duration\\\"),r(\\\"easing\\\"),e},m.supplyFrameDefaults=function(t){var e={};function r(r,n){return s.coerce(t,e,p,r,n)}return r(\\\"group\\\"),r(\\\"name\\\"),r(\\\"traces\\\"),r(\\\"baseframe\\\"),r(\\\"data\\\"),r(\\\"layout\\\"),e},m.supplyTraceDefaults=function(t,e,r,n){var i,o=r.colorway||l.defaults,c={},u=o[e%o.length];function f(e,r){return s.coerce(t,c,m.attributes,e,r)}var h=f(\\\"visible\\\");f(\\\"type\\\"),f(\\\"uid\\\"),f(\\\"name\\\",r._traceWord+\\\" \\\"+n);var p=m.getModule(c);if(c._module=p,p){var d=p.basePlotModule,g=d.attr,v=d.attributes;if(g&&v){var y=r._subplots,x=\\\"\\\";if(\\\"gl2d\\\"!==d.name||h){if(Array.isArray(g))for(i=0;i<g.length;i++){var b=g[i],_=s.coerce(t,c,v,b);y[b]&&s.pushUnique(y[b],_),x+=_}else x=s.coerce(t,c,v,g);y[d.name]&&s.pushUnique(y[d.name],x)}}}return h&&(f(\\\"customdata\\\"),f(\\\"ids\\\"),a.traceIs(c,\\\"showLegend\\\")&&(f(\\\"showlegend\\\"),f(\\\"legendgroup\\\")),a.getComponentMethod(\\\"fx\\\",\\\"supplyDefaults\\\")(t,c,u,r),p&&(p.supplyDefaults(t,c,u,r),s.coerceHoverinfo(t,c,r)),a.traceIs(c,\\\"noOpacity\\\")||f(\\\"opacity\\\"),a.traceIs(c,\\\"notLegendIsolatable\\\")&&(c.visible=!!c.visible),p&&p.selectPoints&&f(\\\"selectedpoints\\\"),m.supplyTransformDefaults(t,c,r)),c},m.supplyTransformDefaults=function(t,e,r){if(e._length){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),l=e.transforms=[],c=0;c<o.length;c++){var u,f=o[c],h=f.type,p=v[h],d=!(f._module&&f._module===p),g=p&&\\\"function\\\"==typeof p.transform;p||s.warn(\\\"Unrecognized transform type \\\"+h+\\\".\\\"),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,s.pushUnique(i,p)):u=s.extendFlat({},f),l.push(u)}}},m.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return s.coerce(t,e,m.layoutAttributes,r,n)}var i=s.coerceFont(n,\\\"font\\\");n(\\\"title\\\",e._dfltTitle.plot),s.coerceFont(n,\\\"titlefont\\\",{family:i.family,size:Math.round(1.4*i.size),color:i.color}),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&&m.sanitizeMargins(e),a.getComponentMethod(\\\"grid\\\",\\\"sizeDefaults\\\")(t,e),n(\\\"paper_bgcolor\\\"),n(\\\"separators\\\",r.decimal+r.thousands),n(\\\"hidesources\\\"),n(\\\"colorway\\\"),n(\\\"datarevision\\\"),a.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\"),a.getComponentMethod(\\\"fx\\\",\\\"supplyLayoutGlobalDefaults\\\")(t,e,n)},m.plotAutoSize=function(t,e,r){var n,a,o=t._context||{},l=o.frameMargins,c=s.isPlotDiv(t);if(c&&t.emit(\\\"plotly_autosize\\\"),o.fillFrame)n=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\\\"hidden\\\";else if(i(l)&&l>0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=u.left+u.right,h=u.bottom+u.top,p=1-2*l,d=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(d.width-f)),a=Math.round(p*(d.height-h))}else{var g=c?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,a=parseFloat(g.height)||r.height}var v=m.layoutAttributes.width.min,y=m.layoutAttributes.height.min;n<v&&(n=v),a<y&&(a=y);var x=!e.width&&Math.abs(r.width-n)>1,b=!e.height&&Math.abs(r.height-a)>1;(b||x)&&(x&&(r.width=n),b&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,l,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(l=c[i]).includeBasePlot&&l.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has(\\\"cartesian\\\")&&(a.getComponentMethod(\\\"grid\\\",\\\"contentDefaults\\\")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(s.subplotSort);for(o=0;o<u.length;o++)(l=u[o]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r);var p=e._modules;for(o=0;o<p.length;o++)(l=p[o]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(l=d[o]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r,n);for(i in c)(l=c[i]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r)},m.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),s.clearThrottle(),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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},m.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&s.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},m.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},m.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),o=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var f in u.base={l:{val:0,size:o},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}},u){var h=u[f].l||{},p=u[f].b||{},d=h.val,g=h.size,m=p.val,v=p.size;for(var y in u){if(i(g)&&u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x>d){var _=(g*x+(b-e.width)*d)/(x-d),w=(b*(1-d)+(g-e.width)*(1-x))/(x-d);_>=0&&w>=0&&_+w>o+s&&(o=_,s=w)}}if(i(v)&&u[y].t){var k=u[y].t.val,M=u[y].t.size;if(k>m){var A=(v*k+(M-e.height)*m)/(k-m),T=(M*(1-m)+(v-e.height)*(1-k))/(k-m);A>=0&&T>=0&&A+T>c+l&&(c=A,l=T)}}}}if(r.l=Math.round(o),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&\\\"{}\\\"!==n&&n!==JSON.stringify(e._size))return a.call(\\\"plot\\\",t)},m.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t){if(\\\"function\\\"==typeof t)return null;if(s.isPlainObject(t)){var e,n,i={};for(e in t)if(\\\"function\\\"!=typeof t[e]&&-1===[\\\"_\\\",\\\"[\\\"].indexOf(e.charAt(0))){if(\\\"keepdata\\\"===r){if(\\\"src\\\"===e.substr(e.length-3))continue}else if(\\\"keepstream\\\"===r){if(\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0&&!s.isPlainObject(t.stream))continue}else if(\\\"keepall\\\"!==r&&\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):s.isJSDate(t)?s.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=c(l)),\\\"object\\\"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\\\"replace\\\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\\\"insert\\\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\\\"delete\\\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},m.computeFrame=function(t,e){var r,n,i,a,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=m.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++)void 0!==(i=n[r])&&null!==i&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=m.extendTrace(u.data[a],s.data[r]))}return u},m.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},m.extendObjectWithContainers=function(t,e,r){var n,i,a,o,l,c,u,f=s.extendDeepNoArrays({},e||{}),h=s.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=s.nestedProperty(h,r[a])).get())?s.nestedProperty(p,r[a]).set(null):(n.set(null),s.nestedProperty(p,r[a]).set(i));if(t=s.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(c=s.nestedProperty(p,r[a]).get()){for(u=(l=s.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],l.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:m.extendObjectWithContainers(u[o],d)}l.set(u)}return t},m.dataArrayContainers=[\\\"transforms\\\",\\\"dimensions\\\"],m.layoutArrayContainers=a.layoutArrayContainers,m.extendTrace=function(t,e){return m.extendObjectWithContainers(t,e,m.dataArrayContainers)},m.extendLayout=function(t,e){return m.extendObjectWithContainers(t,e,m.layoutArrayContainers)},m.transition=function(t,e,r,n,i,o){var l,c,u=Array.isArray(e)?e.length:0,f=n.slice(0,u),h=[];var p=!1;for(l=0;l<f.length;l++){c=f[l];t._fullData[c]._module}var d=[m.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)},function(){var n;for(n=0;n<f.length;n++){var i=f[n],o=t._fullData[i]._module;o&&(o.animatable&&h.push(i),t.data[f[n]]=m.extendTrace(t.data[f[n]],e[n]))}var l=s.expandObjectPaths(s.extendDeepNoArrays({},r)),c=/^[xy]axis[0-9]*$/;for(var u in l)c.test(u)&&delete l[u].range;return m.extendLayout(t.layout,l),delete t.calcdata,m.supplyDefaults(t),m.doCalcdata(t),a.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),Promise.resolve()},m.rehover,function(){return t.emit(\\\"plotly_transitioning\\\",[]),new Promise(function(e){t._transitioning=!0,o.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){p=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call(\\\"redraw\\\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\\\"plotly_transitioninterrupted\\\",[])});var n,l,c=0,u=0;function f(){return c++,function(){var r;p||++u!==c||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return a.call(\\\"redraw\\\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\\\"plotly_transitioned\\\",[])}).then(r)))}}var d=t._fullLayout._basePlotModules,g=!1;if(r)for(l=0;l<d.length;l++)if(d[l].transitionAxes){var m=s.expandObjectPaths(r);g=d[l].transitionAxes(t,m,o,f)||g}for(g?(n=s.extendFlat({},o)).duration=0:n=o,l=0;l<d.length;l++)d[l].plot(t,h,n,f);setTimeout(f())})}],g=s.syncOrAsync(d,t);return g&&g.then||(g=Promise.resolve()),g.then(function(){return t})},m.doCalcdata=function(t,e){var r,n,i,s,l=u.list(t),f=t._fullData,h=t._fullLayout,p=new Array(f.length),d=(t.calcdata||[]).slice(0);for(t.calcdata=p,t.firstscatter=!0,h._numBoxes=0,h._numViolins=0,h._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,h._piecolormap={},h._piecolorway=null,h._piedefaultcolorcount=0,i=0;i<f.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(p[i]=d[i]);for(i=0;i<f.length;i++)(r=f[i])._arrayAttrs=o.findArrayAttributes(r);var g=h._subplots.polar||[];for(i=0;i<g.length;i++)l.push(h[g[i]].radialaxis,h[g[i]].angularaxis);M(l);var m=!1;for(i=0;i<f.length;i++)if(!0===(r=f[i]).visible&&r.transforms)for((n=r._module)&&n.calc&&n.calc(t,r),s=0;s<r.transforms.length;s++){var y=r.transforms[s];(n=v[y.type])&&n.calcTransform&&(r._hasCalcTransform=!0,m=!0,n.calcTransform(t,r,y))}function x(e,i){if(r=f[e],!!(n=r._module).isContainer===i){var a=[];if(!0===r.visible){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&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:c,y:c}]),a[0].t||(a[0].t={}),a[0].trace=r,p[e]=a}}for(m&&M(l),i=0;i<f.length;i++)x(i,!0);for(i=0;i<f.length;i++)x(i,!1);a.getComponentMethod(\\\"fx\\\",\\\"calc\\\")(t)},m.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},m.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var l=r[i],c=l[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(l))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,s.filterVisible(p),n)}e.traceHash=o}},{\\\"../components/color\\\":474,\\\"../constants/numerical\\\":579,\\\"../lib\\\":602,\\\"../plot_api/plot_schema\\\":639,\\\"../plots/cartesian/axis_ids\\\":651,\\\"../registry\\\":732,\\\"./animation_attributes\\\":643,\\\"./attributes\\\":645,\\\"./command\\\":672,\\\"./font_attributes\\\":674,\\\"./frame_attributes\\\":675,\\\"./layout_attributes\\\":701,\\\"./sort_modules\\\":723,d3:130,\\\"fast-isnumeric\\\":196}],711:[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-axis\\\",\\\"radial-axis\\\",\\\"angular-line\\\",\\\"radial-line\\\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],712:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");r.setConvertAngular=function(t){var e,r,i={clockwise:-1,counterclockwise:1}[t.direction],a=n.deg2rad(t.rotation);function o(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function s(t){return(t-a)/i}\\\"linear\\\"===t.type?(e=function(t,e){return\\\"degrees\\\"===e?n.deg2rad(t):t},r=function(t,e){return\\\"degrees\\\"===e?n.rad2deg(t):t}):\\\"category\\\"===t.type&&(e=function(t){var e=o();return 2*t*Math.PI/e},r=function(t){return t*o()/Math.PI/2}),t.unTransformRad=s,t._c2rad=e,t.c2rad=function(t,r){return function(t){return i*t+a}(e(t,r))},t.rad2c=function(t,e){return r(s(t),e)},t.c2deg=function(e,r){return n.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(n.deg2rad(e),r)}}},{\\\"../../lib\\\":602}],713:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../get_data\\\").getSubplotCalcData,i=t(\\\"../../lib\\\").counterRegex,a=t(\\\"./polar\\\"),o=t(\\\"./constants\\\"),s=o.attr,l=o.name,c=i(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,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var c in s.framework.remove(),s.layers[\\\"radial-axis-title\\\"].remove(),s.clipPaths)s.clipPaths[c].remove()}},toSVG:t(\\\"../cartesian\\\").toSVG}},{\\\"../../lib\\\":602,\\\"../cartesian\\\":659,\\\"../get_data\\\":684,\\\"./constants\\\":711,\\\"./layout_attributes\\\":714,\\\"./layout_defaults\\\":715,\\\"./polar\\\":722}],714:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color/attributes\\\"),i=t(\\\"../cartesian/layout_attributes\\\"),a=t(\\\"../domain\\\").attributes,o=t(\\\"../../lib\\\").extendFlat,s=t(\\\"../../plot_api/edit_types\\\").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth},\\\"plot\\\",\\\"from-root\\\"),c=s({tickmode:i.tickmode,nticks:i.nticks,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,layer:i.layer},\\\"plot\\\",\\\"from-root\\\"),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:\\\"enumerated\\\",values:[\\\"tozero\\\",\\\"nonnegative\\\",\\\"normal\\\"],dflt:\\\"tozero\\\",editType:\\\"calc\\\"},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:\\\"angle\\\",editType:\\\"plot\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"],dflt:\\\"clockwise\\\",editType:\\\"plot\\\"},title:o({},i.title,{editType:\\\"plot\\\",dflt:\\\"\\\"}),titlefont:s(i.titlefont,\\\"plot\\\",\\\"from-root\\\"),hoverformat:i.hoverformat,editType:\\\"calc\\\"};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},categoryorder:i.categoryorder,categoryarray:i.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:i.hoverformat,editType:\\\"calc\\\"};o(f,l,c),e.exports={domain:a({name:\\\"polar\\\",editType:\\\"plot\\\"}),sector:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"plot\\\"},{valType:\\\"number\\\",editType:\\\"plot\\\"}],dflt:[0,360],editType:\\\"plot\\\"},bgcolor:{valType:\\\"color\\\",editType:\\\"plot\\\",dflt:n.background},radialaxis:u,angularaxis:f,editType:\\\"calc\\\"}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"../cartesian/layout_attributes\\\":660,\\\"../domain\\\":673}],715:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../subplot_defaults\\\"),o=t(\\\"../get_data\\\").getSubplotData,s=t(\\\"../cartesian/tick_value_defaults\\\"),l=t(\\\"../cartesian/tick_mark_defaults\\\"),c=t(\\\"../cartesian/tick_label_defaults\\\"),u=t(\\\"../cartesian/category_order_defaults\\\"),f=t(\\\"../cartesian/line_grid_defaults\\\"),h=t(\\\"../cartesian/axis_autotype\\\"),p=t(\\\"../cartesian/set_convert\\\"),d=t(\\\"./helpers\\\").setConvertAngular,g=t(\\\"./layout_attributes\\\"),m=t(\\\"./constants\\\"),v=m.axisNames;function y(t,e,r,a){var h=r(\\\"bgcolor\\\");a.bgColor=i.combine(h,a.paper_bgcolor);var y,b=r(\\\"sector\\\"),_=o(a.fullData,m.name,a.id),w=a.layoutOut;function k(t,e){return r(y+\\\".\\\"+t,e)}for(var M=0;M<v.length;M++){y=v[M],n.isPlainObject(t[y])||(t[y]={});var A=t[y],T=e[y]={};T._id=T._name=y;var S=m.axisName2dataArray[y],C=x(A,T,k,_,S);u(A,T,k,{axData:_,dataAttr:S});var E,L,z=k(\\\"visible\\\");switch(p(T,w),z&&(L=(E=k(\\\"color\\\"))===A.color?E:a.font.color),T._m=1,y){case\\\"radialaxis\\\":var P=k(\\\"autorange\\\",!T.isValidRange(A.range));A.autorange=P,P&&k(\\\"rangemode\\\"),\\\"reversed\\\"===P&&(T._m=-1),k(\\\"range\\\"),T.cleanRange(\\\"range\\\",{dfltRange:[0,1]}),z&&(k(\\\"side\\\"),k(\\\"angle\\\",b[0]),k(\\\"title\\\"),n.coerceFont(k,\\\"titlefont\\\",{family:a.font.family,size:Math.round(1.2*a.font.size),color:L}));break;case\\\"angularaxis\\\":if(\\\"date\\\"===C){n.log(\\\"Polar plots do not support date angular axes yet.\\\");for(var D=0;D<_.length;D++)_[D].visible=!1;C=A.type=T.type=\\\"linear\\\"}k(\\\"linear\\\"===C?\\\"thetaunit\\\":\\\"period\\\"),k(\\\"rotation\\\",{counterclockwise:0,clockwise:90}[k(\\\"direction\\\")]),d(T)}if(z)s(A,T,k,T.type),c(A,T,k,T.type,{tickSuffixDflt:\\\"degrees\\\"===T.thetaunit?\\\"\\\\xb0\\\":void 0}),l(A,T,k,{outerTicks:!0}),k(\\\"showticklabels\\\")&&(n.coerceFont(k,\\\"tickfont\\\",{family:a.font.family,size:a.font.size,color:L}),k(\\\"tickangle\\\"),k(\\\"tickformat\\\")),f(A,T,k,{dfltColor:E,bgColor:a.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:g[y]}),k(\\\"layer\\\");\\\"category\\\"!==C&&k(\\\"hoverformat\\\"),T._input=A}}function x(t,e,r,n,i){if(\\\"-\\\"===r(\\\"type\\\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&(e.type=h(a[i],\\\"gregorian\\\")),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type}return e.type}e.exports=function(t,e,r){a(t,e,r,{type:m.name,attributes:g,handleDefaults:y,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../cartesian/axis_autotype\\\":649,\\\"../cartesian/category_order_defaults\\\":652,\\\"../cartesian/line_grid_defaults\\\":662,\\\"../cartesian/set_convert\\\":666,\\\"../cartesian/tick_label_defaults\\\":667,\\\"../cartesian/tick_mark_defaults\\\":668,\\\"../cartesian/tick_value_defaults\\\":669,\\\"../get_data\\\":684,\\\"../subplot_defaults\\\":724,\\\"./constants\\\":711,\\\"./helpers\\\":712,\\\"./layout_attributes\\\":714}],716:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../traces/scatter/attributes\\\"),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity,editType:\\\"calc\\\"}}},{\\\"../../../traces/scatter/attributes\\\":926}],717:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../cartesian/layout_attributes\\\"),i=t(\\\"../../../lib/extend\\\").extendFlat,a=t(\\\"../../../plot_api/edit_types\\\").overrideAll,o=i({},n.domain,{});function s(t,e){return i({},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\\\"},visible:{valType:\\\"boolean\\\"}})}e.exports=a({radialaxis:s(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},domain:o,orientation:{valType:\\\"number\\\"}}),angularaxis:s(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",dflt:0},{valType:\\\"number\\\",dflt:360}]},domain:o}),layout:{direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"]},orientation:{valType:\\\"angle\\\"}}},\\\"plot\\\",\\\"nested\\\")},{\\\"../../../lib/extend\\\":591,\\\"../../../plot_api/edit_types\\\":633,\\\"../../cartesian/layout_attributes\\\":660}],718:[function(t,e,r){\\\"use strict\\\";(e.exports=t(\\\"./micropolar\\\")).manager=t(\\\"./micropolar_manager\\\")},{\\\"./micropolar\\\":719,\\\"./micropolar_manager\\\":720}],719:[function(t,e,r){var n=t(\\\"d3\\\"),i=t(\\\"../../../lib\\\").extendDeepAll,a=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={},f=n.dispatch(\\\"hover\\\"),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(\\\"string\\\"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(f).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(h)};var f=0;c.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.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 void 0===r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||void 0!==t.groupId,t});if(d){var m=[],v=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\\\"unstacked\\\"}).entries(g).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],m.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(v)}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 y=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;y=Math.max(10,y);var x,b=[h.margin.left+y,h.margin.top+y];x=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(m)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&&(x[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:x).range([0,y]),u.layout.radialAxis.domain=r.domain();var _,w=o.util.flattenArray(p.map(function(t,e){return t.t})),k=\\\"string\\\"==typeof w[0];k&&(w=o.util.deduplicate(w),_=w.slice(),w=n.range(w.length),p=p.map(function(t,e){var r=t;return t.t=[w],d&&(r.yStack=t.yStack),r}));var M=p.filter(function(t,e){return\\\"LinePlot\\\"===t.geometry||\\\"DotPlot\\\"===t.geometry}).length===p.length,A=null===h.needsEndSpacing?k||!M:h.needsEndSpacing,T=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!k&&h.angularAxis.domain[0]>=0?h.angularAxis.domain:n.extent(w),S=Math.abs(w[1]-w[0]);M&&!k&&(S=0);var C=T.slice();A&&k&&(C[1]+=S);var E=h.angularAxis.ticksCount||4;E>8&&(E=E/(E/8)+E%8),h.angularAxis.ticksStep&&(E=(C[1]-C[0])/E);var L=h.angularAxis.ticksStep||(C[1]-C[0])/(E*(h.minorTicks+1));_&&(L=Math.max(Math.round(L),1)),C[2]||(C[2]=L);var z=n.range.apply(this,C);if(z=z.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range(\\\"clockwise\\\"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=A?S:0,void 0===(t=n.select(this).select(\\\"svg.chart-root\\\"))||t.empty()){var P=(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\\\"),D=this.appendChild(this.ownerDocument.importNode(P.documentElement,!0));t=n.select(D)}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 O,I=t.select(\\\".chart-group\\\"),R={fill:\\\"none\\\",stroke:h.tickColor},B={\\\"font-size\\\":h.font.size,\\\"font-family\\\":h.font.family,fill:h.font.color,\\\"text-shadow\\\":[\\\"-1px 0px\\\",\\\"1px -1px\\\",\\\"-1px 1px\\\",\\\"1px 1px\\\"].map(function(t,e){return\\\" \\\"+t+\\\" 0 \\\"+h.font.outlineColor}).join(\\\",\\\")};if(h.showLegend){O=t.select(\\\".legend-group\\\").attr({transform:\\\"translate(\\\"+[y,h.margin.top]+\\\")\\\"}).style({display:\\\"block\\\"});var F=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=void 0===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:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:F,reverseOrder:h.legend.reverseOrder})})();var N=O.node().getBBox();y=Math.min(h.width-N.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,y=Math.max(10,y),b=[h.margin.left+y,h.margin.top+y],r.range([0,y]),u.layout.radialAxis.domain=r.domain(),O.attr(\\\"transform\\\",\\\"translate(\\\"+[b[0]+y,b[1]-y]+\\\")\\\")}else O=t.select(\\\".legend-group\\\").style({display:\\\"none\\\"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),I.attr(\\\"transform\\\",\\\"translate(\\\"+b+\\\")\\\").style({cursor:\\\"crosshair\\\"});var j=[(h.width-(h.margin.left+h.margin.right+2*y+(N?N.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*y))/2];if(j[0]=Math.max(0,j[0]),j[1]=Math.max(0,j[1]),t.select(\\\".outer-group\\\").attr(\\\"transform\\\",\\\"translate(\\\"+j+\\\")\\\"),h.title){var V=t.select(\\\"g.title-group text\\\").style(B).text(h.title),U=V.node().getBBox();V.attr({x:b[0]-U.width/2,y:b[1]-y-20})}var q=t.select(\\\".radial.axis-group\\\");if(h.radialAxis.gridLinesVisible){var H=q.selectAll(\\\"circle.grid-circle\\\").data(r.ticks(5));H.enter().append(\\\"circle\\\").attr({class:\\\"grid-circle\\\"}).style(R),H.attr(\\\"r\\\",r),H.exit().remove()}q.select(\\\"circle.outside-circle\\\").attr({r:y}).style(R);var G=t.select(\\\"circle.background-circle\\\").attr({r:y}).style({fill:h.backgroundColor,stroke:h.stroke});function W(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var Y=n.svg.axis().scale(r).ticks(5).tickSize(5);q.call(Y).attr({transform:\\\"rotate(\\\"+h.radialAxis.orientation+\\\")\\\"}),q.selectAll(\\\".domain\\\").style(R),q.selectAll(\\\"g>text\\\").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(B).style({\\\"text-anchor\\\":\\\"start\\\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\\\"horizontal\\\"===h.radialAxis.tickOrientation?\\\"rotate(\\\"+-h.radialAxis.orientation+\\\") translate(\\\"+[0,B[\\\"font-size\\\"]]+\\\")\\\":\\\"translate(\\\"+[0,B[\\\"font-size\\\"]]+\\\")\\\"}}),q.selectAll(\\\"g>line\\\").style({stroke:\\\"black\\\"})}var X=t.select(\\\".angular.axis-group\\\").selectAll(\\\"g.angular-tick\\\").data(z),Z=X.enter().append(\\\"g\\\").classed(\\\"angular-tick\\\",!0);X.attr({transform:function(t,e){return\\\"rotate(\\\"+W(t)+\\\")\\\"}}).style({display:h.angularAxis.visible?\\\"block\\\":\\\"none\\\"}),X.exit().remove(),Z.append(\\\"line\\\").classed(\\\"grid-line\\\",!0).classed(\\\"major\\\",function(t,e){return e%(h.minorTicks+1)==0}).classed(\\\"minor\\\",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(\\\".minor\\\").style({stroke:h.minorTickColor}),X.select(\\\"line.grid-line\\\").attr({x1:h.tickLength?y-h.tickLength:0,x2:y}).style({display:h.angularAxis.gridLinesVisible?\\\"block\\\":\\\"none\\\"}),Z.append(\\\"text\\\").classed(\\\"axis-text\\\",!0).style(B);var J=X.select(\\\"text.axis-text\\\").attr({x:y+h.labelOffset,dy:a+\\\"em\\\",transform:function(t,e){var r=W(t),n=y+h.labelOffset,i=h.angularAxis.tickOrientation;return\\\"horizontal\\\"==i?\\\"rotate(\\\"+-r+\\\" \\\"+n+\\\" 0)\\\":\\\"radial\\\"==i?r<270&&r>90?\\\"rotate(180 \\\"+n+\\\" 0)\\\":null:\\\"rotate(\\\"+(r<=180&&r>0?-90:90)+\\\" \\\"+n+\\\" 0)\\\"}}).style({\\\"text-anchor\\\":\\\"middle\\\",display:h.angularAxis.labelsVisible?\\\"block\\\":\\\"none\\\"}).text(function(t,e){return e%(h.minorTicks+1)!=0?\\\"\\\":_?_[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(B);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?\\\"\\\":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(I.selectAll(\\\".angular-tick text\\\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:\\\"translate(\\\"+[y+K,h.margin.top]+\\\")\\\"});var Q=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g\\\").size()>0,$=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g.geometry\\\").data(p);if($.enter().append(\\\"g\\\").attr({class:function(t,e){return\\\"geometry geometry\\\"+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||\\\"unstacked\\\"}).entries(tt).forEach(function(t,e){\\\"unstacked\\\"===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.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 i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(\\\".guides-group\\\"),at=t.select(\\\".tooltips-group\\\"),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select(\\\"line\\\").attr({x1:0,y1:0,y2:0}).style({stroke:\\\"grey\\\",\\\"pointer-events\\\":\\\"none\\\"});I.on(\\\"mousemove.angular-guide\\\",function(t,e){var r=o.util.getMousePos(G).angle;ct.attr({x2:-y,transform:\\\"rotate(\\\"+r+\\\")\\\"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(y+12,r+180);ot.text(o.util.round(rt)).move([i[0]+b[0],i[1]+b[1]])}).on(\\\"mouseout.angular-guide\\\",function(t,e){it.select(\\\"line\\\").style({opacity:0})})}var ut=it.select(\\\"circle\\\").style({stroke:\\\"grey\\\",fill:\\\"none\\\"});I.on(\\\"mousemove.radial-guide\\\",function(t,e){var n=o.util.getMousePos(G).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(G).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+b[0],i[1]+b[1]])}).on(\\\"mouseout.radial-guide\\\",function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(\\\".geometry-group .mark\\\").on(\\\"mouseover.tooltip\\\",function(e,r){var i=n.select(this),a=this.style.fill,s=\\\"black\\\",l=this.style.opacity||1;if(i.attr({\\\"data-opacity\\\":l}),a&&\\\"none\\\"!==a){i.attr({\\\"data-fill\\\":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&&(c.t=_[e[0]]);var u=\\\"t: \\\"+c.t+\\\", r: \\\"+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-j[0]-h.left,f.top+f.height/2-j[1]-h.top];lt.config({color:s}).text(u),lt.move(p)}else a=this.style.stroke||\\\"black\\\",i.attr({\\\"data-stroke\\\":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(\\\"mousemove.tooltip\\\",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\\\"data-fill\\\")&&lt.show()}).on(\\\"mouseout.tooltip\\\",function(t,e){lt.hide();var r=n.select(this),i=r.attr(\\\"data-fill\\\");i?r.style({fill:i,opacity:r.attr(\\\"data-opacity\\\")}):r.style({stroke:r.attr(\\\"data-stroke\\\"),opacity:r.attr(\\\"data-opacity\\\")})})})}(c),this},h.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]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,\\\"on\\\"),h},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 i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===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],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])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 i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&&(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),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 a(){var e=t[0].geometryConfig,i=e.container;\\\"string\\\"==typeof i&&(i=n.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,e){return a?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,i,a){var o=t[a].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,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(r,i);n.select(this).attr({class:\\\"mark dot\\\",d:s,transform:function(t,r){var n,i,a,s=(n=function(t,r){var n=e.radialScale(t[1]),i=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});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,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(r,i,a)}).attr({class:\\\"mark dot\\\"}),!(i>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,i,a)},\\\"fill-opacity\\\":0,stroke:function(t,e){return d.stroke(r,i,a)},\\\"stroke-width\\\":function(t,e){return d[\\\"stroke-width\\\"](r,i,a)},\\\"stroke-dasharray\\\":function(t,e){return d[\\\"stroke-dasharray\\\"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/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,i){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,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===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 a.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)}),this):t},a.getColorScale=function(){},n.rebind(a,e,\\\"on\\\"),a},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,a=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||void 0===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,f=u?e.height:c*o.length,h=s.classed(\\\"legend-group\\\",!0).selectAll(\\\"svg\\\").data([0]),p=h.enter().append(\\\"svg\\\").attr({width:300,height:f+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,f]);if(u){var v=h.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}}),h.append(\\\"rect\\\").classed(\\\"legend-mark\\\",!0).attr({height:e.height,width:e.colorBandWidth,fill:\\\"url(#grad1)\\\"})}else{var y=h.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,i,a,o=t.symbol;return a=3*(i=c),\\\"line\\\"===(r=o)?\\\"M\\\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\\\"Z\\\":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type(\\\"square\\\").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient(\\\"right\\\"),b=h.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?(i(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,a={container:null,hasTick:!1,fontSize:12,color:\\\"white\\\",padding:5},s=\\\"tooltip-\\\"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.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:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?\\\"#aaa\\\":\\\"white\\\",u=o>=.5?\\\"black\\\":\\\"white\\\",f=i||\\\"\\\";e.style({fill:u,\\\"font-size\\\":a.fontSize+\\\"px\\\"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,\\\"stroke-width\\\":\\\"2px\\\"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:\\\"M\\\"+[[l,-m/2],[l,-m/4],[a.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*h]+\\\")\\\"}),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 i(a,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=i({},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 a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=i({},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?(void 0!==s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&void 0!==s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&void 0!==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&&void 0!==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\\\":574,\\\"../../../lib\\\":602,d3:130}],720:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../../lib\\\"),a=t(\\\"../../../components/color\\\"),o=t(\\\"./micropolar\\\"),s=t(\\\"./undo_manager\\\"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(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,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(\\\".plot-container\\\"),r=e.selectAll(\\\".svg-container\\\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\\\"../../../components/color\\\":474,\\\"../../../lib\\\":602,\\\"./micropolar\\\":719,\\\"./undo_manager\\\":721,d3:130}],721:[function(t,e,r){\\\"use strict\\\";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(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?(i(n,\\\"undo\\\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(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}}}},{}],722:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"../../components/drawing\\\"),c=t(\\\"../plots\\\"),u=t(\\\"../cartesian/axes\\\"),f=t(\\\"../cartesian/autorange\\\").doAutoRange,h=t(\\\"../../components/dragelement\\\"),p=t(\\\"../cartesian/dragbox\\\"),d=t(\\\"../../components/fx\\\"),g=t(\\\"../../components/titles\\\"),m=t(\\\"../cartesian/select\\\").prepSelect,v=t(\\\"../cartesian/select\\\").clearSelect,y=t(\\\"../../lib/setcursor\\\"),x=t(\\\"../../constants/alignment\\\").MID_SHIFT,b=o._,_=o.deg2rad,w=o.rad2deg,k=o.wrap360,M=o.wrap180,A=t(\\\"./helpers\\\").setConvertAngular,T=t(\\\"./constants\\\");function S(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\\\"clip\\\"+r._uid+e;this.clipIds.circle=n+\\\"-circle\\\",this.clipPaths.circle=r._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",this.clipIds.circle),this.clipPaths.circle.append(\\\"path\\\"),this.framework=r._polarlayer.append(\\\"g\\\").attr(\\\"class\\\",e),this.radialTickLayout=null,this.angularTickLayout=null}var C=S.prototype;function E(t,e,r){u.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function L(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\\\"side\\\"in t&&(e+=t.side),e}function z(t,e){if(D(e))return l.symbolFuncs[0](t);var r=t*Math.cos(_(e[0])),n=-t*Math.sin(_(e[0])),i=t*Math.cos(_(e[1])),a=-t*Math.sin(_(e[1]));return\\\"M\\\"+[r,n]+\\\"A\\\"+[t,t]+\\\" \\\"+(Math.abs(e[1]-e[0])<=180?[0,0,0]:[0,1,0])+\\\" \\\"+[i,a]}function P(t,e){return z(t,e)+(D(e)?\\\"\\\":\\\"L0,0Z\\\")}function D(t){return 360===Math.abs(t[1]-t[0])}function O(t,e,r){return e?(t.attr(\\\"display\\\",null),t.attr(r)):t&&t.attr(\\\"display\\\",\\\"none\\\"),t}function I(t,e){return\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"}function R(t){return\\\"rotate(\\\"+t+\\\")\\\"}function B(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function F(t){return B(Math.cos(t))}function N(t){return B(Math.sin(t))}e.exports=function(t,e){return new S(t,e)},C.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)},C.updateLayers=function(t,e){var r=this.layers,i=e.radialaxis,a=e.angularaxis,o=T.layerNames,s=o.indexOf(\\\"frontplot\\\"),l=o.slice(0,s),c=\\\"below traces\\\"===a.layer,u=\\\"below traces\\\"===i.layer;c&&l.push(\\\"angular-axis\\\"),u&&l.push(\\\"radial-axis\\\"),c&&l.push(\\\"angular-line\\\"),u&&l.push(\\\"radial-line\\\"),l.push(\\\"frontplot\\\"),c||l.push(\\\"angular-axis\\\"),u||l.push(\\\"radial-axis\\\"),c||l.push(\\\"angular-line\\\"),u||l.push(\\\"radial-line\\\");var f=this.framework.selectAll(\\\".polarsublayer\\\").data(l,String);f.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(\\\"scatterlayer\\\",!0);break;case\\\"backplot\\\":e.append(\\\"g\\\").classed(\\\"maplayer\\\",!0);break;case\\\"plotbg\\\":r.bgcircle=e.append(\\\"path\\\");break;case\\\"radial-grid\\\":e.style(\\\"fill\\\",\\\"none\\\"),e.append(\\\"g\\\").classed(\\\"x\\\",1);break;case\\\"angular-grid\\\":e.style(\\\"fill\\\",\\\"none\\\"),e.append(\\\"g\\\").classed(\\\"angular\\\",1);break;case\\\"radial-line\\\":e.append(\\\"line\\\").style(\\\"fill\\\",\\\"none\\\");break;case\\\"angular-line\\\":e.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\")}}),f.order()},C.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var c,f,h,p,d,g=r.xLength=i.w*(a[1]-a[0]),m=r.yLength=i.h*(o[1]-o[0]),v=r.sector=e.sector,y=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=k(a),l=s+o,c=Math.cos(_(s)),u=Math.sin(_(s)),f=Math.cos(_(l)),h=Math.sin(_(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(v),x=y[2]-y[0],b=y[3]-y[1],w=m/g,M=Math.abs(b/x);w>M?(c=g,d=(m-(f=g*M))/i.h/2,h=[a[0],a[1]],p=[o[0]+d,o[1]-d]):(f=m,d=(g-(c=m/M))/i.w/2,h=[a[0]+d,a[1]-d],p=[o[0],o[1]]),r.xLength2=c,r.yLength2=f,r.xDomain2=h,r.yDomain2=p;var A=r.xOffset2=i.l+i.w*h[0],T=r.yOffset2=i.t+i.h*(1-p[1]),S=r.radius=c/x,C=r.cx=A-S*y[0],E=r.cy=T+S*y[3],L=r.cxx=C-A,z=r.cyy=E-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var D=r.radialAxis.range,O=D[1]-D[0],R=r.xaxis={type:\\\"linear\\\",_id:\\\"x\\\",range:[y[0]*O,y[2]*O],domain:h};u.setConvert(R,t),R.setScale();var B=r.yaxis={type:\\\"linear\\\",_id:\\\"y\\\",range:[y[1]*O,y[3]*O],domain:p};u.setConvert(B,t),B.setScale(),R.isPtWithinRange=function(t){return r.isPtWithinSector(t)},B.isPtWithinRange=function(){return!0},n.frontplot.attr(\\\"transform\\\",I(A,T)).call(l.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:P(S,v),transform:I(C,E)}).call(s.fill,e.bgcolor),r.clipPaths.circle.select(\\\"path\\\").attr(\\\"d\\\",P(S,v)).attr(\\\"transform\\\",I(L,z)),r.framework.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",0)},C.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,l=this.cy,c=t._size,h=e.radialaxis,p=e.sector,d=k(p[0]);this.fillViewInitialKey(\\\"radialaxis.angle\\\",h.angle);var g=this.radialAxis=o.extendFlat({},h,{_axislayer:n[\\\"radial-axis\\\"],_gridlayer:n[\\\"radial-grid\\\"],_id:\\\"x\\\",_pos:0,side:{counterclockwise:\\\"top\\\",clockwise:\\\"bottom\\\"}[h.side],domain:[0,i/c.w],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1});E(g,h,t),f(g),h.range=g.range.slice(),h._input.range=g.range.slice(),this.fillViewInitialKey(\\\"radialaxis.range\\\",g.range.slice()),\\\"auto\\\"===g.tickangle&&d>90&&d<=270&&(g.tickangle=180),g._transfn=function(t){return\\\"translate(\\\"+g.l2p(t.x)+\\\",0)\\\"},g._gridpath=function(t){return z(g.r2p(t.x),p)};var m=L(h);this.radialTickLayout!==m&&(n[\\\"radial-axis\\\"].selectAll(\\\".xtick\\\").remove(),this.radialTickLayout=m),u.doTicks(r,g,!0),O(n[\\\"radial-axis\\\"],h.showticklabels||h.ticks,{transform:I(a,l)+R(-h.angle)}),O(n[\\\"radial-grid\\\"],h.showgrid,{transform:I(a,l)}).selectAll(\\\"path\\\").attr(\\\"transform\\\",null),O(n[\\\"radial-line\\\"].select(\\\"line\\\"),h.showline,{x1:0,y1:0,x2:i,y2:0,transform:I(a,l)+R(-h.angle)}).attr(\\\"stroke-width\\\",h.linewidth).call(s.stroke,h.linecolor)},C.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+\\\"title\\\",u=void 0!==r?r:s.angle,f=_(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var m=l.bBox(this.layers[\\\"radial-axis\\\"].node()).height,v=s.titlefont.size;d=\\\"counterclockwise\\\"===s.side?-m-.4*v:m+.8*v}this.layers[\\\"radial-axis-title\\\"]=g.draw(n,c,{propContainer:s,propName:this.id+\\\".radialaxis.title\\\",placeholder:b(n,\\\"Click to enter radial axis title\\\"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:-u}})},C.updateAngularAxis=function(t,e){var r=this,i=r.gd,a=r.layers,l=r.radius,c=r.cx,f=r.cy,h=e.angularaxis,p=e.sector,d=p.map(_);r.fillViewInitialKey(\\\"angularaxis.rotation\\\",h.rotation);var g=r.angularAxis=o.extendFlat({},h,{_axislayer:a[\\\"angular-axis\\\"],_gridlayer:a[\\\"angular-grid\\\"],_id:\\\"angular\\\",_pos:0,side:\\\"right\\\",domain:[0,Math.PI],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if(\\\"linear\\\"===g.type)D(p)?g.range=p.slice():g.range=d.map(g.unTransformRad).map(w),\\\"radians\\\"===g.thetaunit&&(g.tick0=w(g.tick0),g.dtick=w(g.dtick));else if(\\\"category\\\"===g.type){var m=h.period?Math.max(h.period,h._categories.length):h._categories.length;g.range=[0,m],g._tickFilter=function(t){return r.isPtWithinSector({r:r.radialAxis.range[1],rad:g.c2rad(t.x)})}}function v(t){return g.c2rad(t.x,\\\"degrees\\\")}function y(t){return[l*Math.cos(t),l*Math.sin(t)]}E(g,h,t),g._transfn=function(t){var e=v(t),r=y(e),i=I(c+r[0],f-r[1]),a=n.select(this);return a&&a.node()&&a.classed(\\\"ticks\\\")&&(i+=R(-w(e))),i},g._gridpath=function(t){var e=y(v(t));return\\\"M0,0L\\\"+-e[0]+\\\",\\\"+e[1]};var b=\\\"outside\\\"!==h.ticks?.7:.5;g._labelx=function(t){var e=v(t),r=g._labelStandoff,n=g._pad;return(0===N(e)?0:Math.cos(e)*(r+n+b*t.fontSize))+F(e)*(t.dx+r+n)},g._labely=function(t){var e=v(t),r=g._labelStandoff,n=g._labelShift,i=g._pad;return t.dy+t.fontSize*x-n+-Math.sin(e)*(r+i+b*t.fontSize)},g._labelanchor=function(t,e){var r=v(e);return 0===N(r)?F(r)>0?\\\"start\\\":\\\"end\\\":\\\"middle\\\"};var k=L(h);r.angularTickLayout!==k&&(a[\\\"angular-axis\\\"].selectAll(\\\".angulartick\\\").remove(),r.angularTickLayout=k),u.doTicks(i,g,!0),O(a[\\\"angular-line\\\"].select(\\\"path\\\"),h.showline,{d:P(l,p),transform:I(c,f)}).attr(\\\"stroke-width\\\",h.linewidth).call(s.stroke,h.linecolor)},C.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},C.updateMainDrag=function(t,e){var r=this,o=r.gd,s=r.layers,l=t._zoomlayer,c=T.MINZOOM,u=T.OFFEDGE,f=r.radius,g=r.cx,y=r.cy,x=r.cxx,b=r.cyy,_=e.sector,w=p.makeDragger(s,\\\"path\\\",\\\"maindrag\\\",\\\"crosshair\\\");n.select(w).attr(\\\"d\\\",P(f,_)).attr(\\\"transform\\\",I(g,y));var k,M,A,S,C,E,L,z,D,O={element:w,gd:o,subplot:r.id,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis},xaxes:[r.xaxis],yaxes:[r.yaxis]};function R(t,e){var r=t-x,n=e-b;return Math.sqrt(r*r+n*n)}function B(t,e){return Math.atan2(b-e,t-x)}function F(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function N(t,e){var r=T.cornerLen,n=T.cornerHalfWidth;if(0===t)return P(2*n,_);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,f)),l=s-n,c=s+n;return\\\"M\\\"+F(l,a)+\\\"A\\\"+[l,l]+\\\" 0,0,0 \\\"+F(l,o)+\\\"L\\\"+F(c,o)+\\\"A\\\"+[c,c]+\\\" 0,0,1 \\\"+F(c,a)+\\\"Z\\\"}function j(t,e){var r,n,i=k+t,a=M+e,o=R(k,M),s=Math.min(R(i,a),f),l=B(k,M),h=B(i,a);o<u?o=0:f-o<u?o=f:s<u?s=0:f-s<u&&(s=f),Math.abs(s-o)>c?(o<s?(A=o,S=s):(A=s,S=o,h=[l,l=h][0]),r=C+P(S,_)+P(A,_),n=N(A,l)+N(S,h)):(A=null,S=null,r=C,n=\\\"M0,0Z\\\"),z.attr(\\\"d\\\",r),D.attr(\\\"d\\\",n),p.transitionZoombox(z,D,E,L),E=!0}function V(){if(p.removeZoombox(o),null!==A&&null!==S){p.showDoubleClickNotifier(o);var t=r.radialAxis.range,e=t[1]-t[0],n={};n[r.id+\\\".radialaxis.range\\\"]=[t[0]+A*e/f,t[0]+S*e/f],a.call(\\\"relayout\\\",o,n)}}O.prepFn=function(t,e,n){var a=o._fullLayout.dragmode,s=w.getBoundingClientRect();switch(k=e-s.left,M=n-s.top,a){case\\\"zoom\\\":O.moveFn=j,O.doneFn=V,function(){A=null,S=null,C=P(f,_),E=!1;var t=o._fullLayout[r.id];L=i(t.bgcolor).getLuminance(),(z=p.makeZoombox(l,L,g,y,C)).attr(\\\"fill-rule\\\",\\\"evenodd\\\"),D=p.makeCorners(l,g,y),v(l)}();break;case\\\"select\\\":case\\\"lasso\\\":m(t,e,n,O,a)}},O.clickFn=function(t,e){if(p.removeZoombox(o),2===t){var n={};for(var i in r.viewInitial)n[r.id+\\\".\\\"+i]=r.viewInitial[i];o.emit(\\\"plotly_doubleclick\\\",null),a.call(\\\"relayout\\\",o,n)}d.click(o,e,r.id)},w.onmousemove=function(t){d.hover(o,t,r.id),o._fullLayout._lasthover=w,o._fullLayout._hoversubplot=r.id},w.onmouseout=function(t){o._dragging||h.unhover(o,t)},h.init(O)},C.updateRadialDrag=function(t,e){var r=this,i=r.gd,s=r.layers,l=r.radius,c=r.cx,f=r.cy,d=r.radialAxis,g=e.radialaxis,m=_(g.angle),y=d.range.slice(),x=y[1]-y[0],b=T.radialDragBoxSize,k=b/2;if(g.visible){var M,A,S,C=p.makeRectDragger(s,\\\"radialdrag\\\",\\\"crosshair\\\",-k,-k,b,b),E={element:C,gd:i},L=c+(l+k)*Math.cos(m),z=f-(l+k)*Math.sin(m);n.select(C).attr(\\\"transform\\\",I(L,z)),E.prepFn=function(){M=null,A=null,S=null,E.moveFn=P,E.doneFn=D,v(t._zoomlayer)},E.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<T.MINDRAG&&(t=0,e=0),[t,e]},h.init(E)}function P(t,e){if(M)M(t,e);else{var r=[t,-e],n=[Math.cos(m),Math.sin(m)],i=Math.abs(o.dot(r,n)/Math.sqrt(o.dot(r,r)));isNaN(i)||(M=i<.5?O:B)}}function D(){null!==A?a.call(\\\"relayout\\\",i,r.id+\\\".radialaxis.angle\\\",A):null!==S&&a.call(\\\"relayout\\\",i,r.id+\\\".radialaxis.range[1]\\\",S)}function O(t,e){var n=L+t,i=z+e;A=w(Math.atan2(f-i,n-c));var a=I(c,f)+R(-A);s[\\\"radial-axis\\\"].attr(\\\"transform\\\",a),s[\\\"radial-line\\\"].select(\\\"line\\\").attr(\\\"transform\\\",a);var o=r.gd._fullLayout,l=o[r.id];r.updateRadialAxisTitle(o,l,A)}function B(t,e){var n=o.dot([t,-e],[Math.cos(m),Math.sin(m)]),h=y[1]-x*n/l*.75;if(x>0==h>y[0]){S=d.range[1]=h,u.doTicks(i,r.radialAxis,!0),s[\\\"radial-grid\\\"].attr(\\\"transform\\\",I(c,f)).selectAll(\\\"path\\\").attr(\\\"transform\\\",null);var p=S-y[0],g=r.sectorBBox;for(var v in r.xaxis.range=[g[0]*p,g[2]*p],r.yaxis.range=[g[1]*p,g[3]*p],r.xaxis.setScale(),r.yaxis.setScale(),r.traceHash){var b=r.traceHash[v],_=o.filterVisible(b),w=b[0][0].trace._module,k=i._fullLayout[r.id];if(w.plot(i,r,_,k),!a.traceIs(v,\\\"gl\\\"))for(var M=0;M<_.length;M++)w.style(i,_[M])}}}},C.updateAngularDrag=function(t,e){var r=this,i=r.gd,s=r.layers,c=r.radius,f=r.cx,d=r.cy,g=r.cxx,m=r.cyy,x=e.sector,b=T.angularDragBoxSize,k=p.makeDragger(s,\\\"path\\\",\\\"angulardrag\\\",\\\"move\\\"),S={element:k,gd:i};function C(t,e){return Math.atan2(m+b-e,t-g-b)}n.select(k).attr(\\\"d\\\",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return\\\"A\\\"+[t,t]+\\\" \\\"+[0,o,r]+\\\" \\\"+s(t,e)}return D(r)?(n=0,a=2*Math.PI,i=Math.PI,\\\"M\\\"+s(t,n)+l(t,i,0)+l(t,a,0)+\\\"ZM\\\"+s(e,n)+l(e,i,1)+l(e,a,1)+\\\"Z\\\"):(n=_(r[0]),a=_(r[1]),\\\"M\\\"+s(t,n)+\\\"L\\\"+s(e,n)+l(e,a,0)+\\\"L\\\"+s(t,a)+l(t,n,1)+\\\"Z\\\")}(c,c+b,x)).attr(\\\"transform\\\",I(f,d)).call(y,\\\"move\\\");var E,L,z,P,O,B,F=s.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\"),N=F.selectAll(\\\".point\\\"),j=F.selectAll(\\\".textpoint\\\");function V(t,e){var c=C(E+t,L+e),f=w(c-B);P=z+f,s.frontplot.attr(\\\"transform\\\",I(r.xOffset2,r.yOffset2)+R([-f,g,m])),r.clipPaths.circle.select(\\\"path\\\").attr(\\\"transform\\\",I(g,m)+R(f)),N.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr(\\\"transform\\\",I(e.x,e.y)+R([f]))}),j.each(function(){var t=n.select(this),e=t.select(\\\"text\\\"),r=l.getTranslate(t);t.attr(\\\"transform\\\",R([f,e.attr(\\\"x\\\"),e.attr(\\\"y\\\")])+I(r.x,r.y))});var h=r.angularAxis;for(var p in h.rotation=M(P),\\\"linear\\\"!==h.type||D(x)||(h.range=O.map(_).map(h.unTransformRad).map(w)),A(h),u.doTicks(i,h,!0),r._hasClipOnAxisFalse&&!D(x)&&(r.sector=[O[0]-f,O[1]-f],F.call(l.hideOutsideRangePoints,r)),r.traceHash)if(a.traceIs(p,\\\"gl\\\")){var d=r.traceHash[p],v=o.filterVisible(d),y=d[0][0].trace._module,b=i._fullLayout[r.id];y.plot(i,r,v,b)}}function U(){j.select(\\\"text\\\").attr(\\\"transform\\\",null);var t={};t[r.id+\\\".angularaxis.rotation\\\"]=P,a.call(\\\"relayout\\\",i,t)}S.prepFn=function(e,n,i){var a=t[r.id];O=a.sector.slice(),z=a.angularaxis.rotation;var o=k.getBoundingClientRect();E=n-o.left,L=i-o.top,B=C(E,L),S.moveFn=V,S.doneFn=U,v(t._zoomlayer)},h.init(S)},C.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=k(e[0]),o=k(e[1]);a>o&&(o+=360);var s,l,c=k(w(t.rad)),u=c+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(D(e)||c>=a&&c<=o||u>=a&&u<=o)},C.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../components/titles\\\":567,\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../registry\\\":732,\\\"../cartesian/autorange\\\":647,\\\"../cartesian/axes\\\":648,\\\"../cartesian/dragbox\\\":656,\\\"../cartesian/select\\\":665,\\\"../plots\\\":710,\\\"./constants\\\":711,\\\"./helpers\\\":712,d3:130,tinycolor2:415}],723:[function(t,e,r){\\\"use strict\\\";function n(t,e){return\\\"splom\\\"===t?-1:\\\"splom\\\"===e?1:0}e.exports={sortBasePlotModules:function(t,e){return n(t.name,e.name)},sortModules:n}},{}],724:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"./domain\\\").defaults;e.exports=function(t,e,r,a){var o,s,l=a.type,c=a.attributes,u=a.handleDefaults,f=a.partition||\\\"x\\\",h=e._subplots[l],p=h.length;function d(t,e){return n.coerce(o,s,c,t,e)}for(var g=0;g<p;g++){var m=h[g];o=t[m]?t[m]:t[m]={},e[m]=s={};var v={};v[f]=[g/p,(g+1)/p],i(s,e,d,v),a.id=m,u(o,s,d,a)}}},{\\\"../lib\\\":602,\\\"./domain\\\":673}],725:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./ternary\\\"),i=t(\\\"../../plots/get_data\\\").getSubplotCalcData,a=t(\\\"../../lib\\\").counterRegex;r.name=\\\"ternary\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"ternary\\\",r.idRegex=r.attrRegex=a(\\\"ternary\\\"),r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(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 i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],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\\\":602,\\\"../../plots/get_data\\\":684,\\\"./layout/attributes\\\":726,\\\"./layout/defaults\\\":729,\\\"./layout/layout_attributes\\\":730,\\\"./ternary\\\":731}],726:[function(t,e,r){\\\"use strict\\\";e.exports={subplot:{valType:\\\"subplotid\\\",dflt:\\\"ternary\\\",editType:\\\"calc\\\"}}},{}],727:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../cartesian/layout_attributes\\\"),i=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:\\\"number\\\",dflt:0,min:0}}},{\\\"../../../lib/extend\\\":591,\\\"../../cartesian/layout_attributes\\\":660}],728:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib\\\"),i=t(\\\"./axis_attributes\\\"),a=t(\\\"../../cartesian/tick_label_defaults\\\"),o=t(\\\"../../cartesian/tick_mark_defaults\\\"),s=t(\\\"../../cartesian/tick_value_defaults\\\"),l=t(\\\"../../cartesian/line_grid_defaults\\\");e.exports=function(t,e,r){function c(r,a){return n.coerce(t,e,i,r,a)}e.type=\\\"linear\\\";var u=c(\\\"color\\\"),f=u===t.color?u:r.font.color,h=e._name.charAt(0).toUpperCase(),p=\\\"Component \\\"+h,d=c(\\\"title\\\",p);e._hovertitle=d===p?d:h,n.coerceFont(c,\\\"titlefont\\\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:f}),c(\\\"min\\\"),s(t,e,c,\\\"linear\\\"),a(t,e,c,\\\"linear\\\",{}),o(t,e,c,{outerTicks:!0}),c(\\\"showticklabels\\\")&&(n.coerceFont(c,\\\"tickfont\\\",{family:r.font.family,size:r.font.size,color:f}),c(\\\"tickangle\\\"),c(\\\"tickformat\\\")),l(t,e,c,{dfltColor:u,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),c(\\\"hoverformat\\\"),c(\\\"layer\\\")}},{\\\"../../../lib\\\":602,\\\"../../cartesian/line_grid_defaults\\\":662,\\\"../../cartesian/tick_label_defaults\\\":667,\\\"../../cartesian/tick_mark_defaults\\\":668,\\\"../../cartesian/tick_value_defaults\\\":669,\\\"./axis_attributes\\\":727}],729:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color\\\"),i=t(\\\"../../subplot_defaults\\\"),a=t(\\\"./layout_attributes\\\"),o=t(\\\"./axis_defaults\\\"),s=[\\\"aaxis\\\",\\\"baxis\\\",\\\"caxis\\\"];function l(t,e,r,i){var a,l,c,u=r(\\\"bgcolor\\\"),f=r(\\\"sum\\\");i.bgColor=n.combine(u,i.paper_bgcolor);for(var h=0;h<s.length;h++)l=t[a=s[h]]||{},c=e[a]={_name:a,type:\\\"linear\\\"},o(l,c,i);var p=e.aaxis,d=e.baxis,g=e.caxis;p.min+d.min+g.min>=f&&(p.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}e.exports=function(t,e,r){i(t,e,r,{type:\\\"ternary\\\",attributes:a,handleDefaults:l,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\\\"../../../components/color\\\":474,\\\"../../subplot_defaults\\\":724,\\\"./axis_defaults\\\":728,\\\"./layout_attributes\\\":730}],730:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"../../domain\\\").attributes,a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../../plot_api/edit_types\\\").overrideAll;e.exports=o({domain:i({name:\\\"ternary\\\"}),bgcolor:{valType:\\\"color\\\",dflt:n.background},sum:{valType:\\\"number\\\",dflt:1,min:0},aaxis:a,baxis:a,caxis:a},\\\"plot\\\",\\\"from-root\\\")},{\\\"../../../components/color/attributes\\\":473,\\\"../../../plot_api/edit_types\\\":633,\\\"../../domain\\\":673,\\\"./axis_attributes\\\":727}],731:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=o._,l=t(\\\"../../components/color\\\"),c=t(\\\"../../components/drawing\\\"),u=t(\\\"../cartesian/set_convert\\\"),f=t(\\\"../../lib/extend\\\").extendFlat,h=t(\\\"../plots\\\"),p=t(\\\"../cartesian/axes\\\"),d=t(\\\"../../components/dragelement\\\"),g=t(\\\"../../components/fx\\\"),m=t(\\\"../../components/titles\\\"),v=t(\\\"../cartesian/select\\\").prepSelect,y=t(\\\"../cartesian/select\\\").clearSelect,x=t(\\\"../cartesian/constants\\\");function b(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}e.exports=b;var _=b.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),h.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\\\"path\\\").call(l.fill,r.bgcolor)},_.makeFramework=function(t){var e=t[this.id],r=this.clipId=\\\"clip\\\"+this.layoutId+this.id,n=this.clipIdRelative=\\\"clip-relative\\\"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,\\\"clipPath\\\",r,function(t){t.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}),this.clipDefRelative=o.ensureSingleById(t._clips,\\\"clipPath\\\",n,function(t){t.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}),this.plotContainer=o.ensureSingle(this.container,\\\"g\\\",this.id),this.updateLayers(e),c.setClipUrl(this.layers.backplot,r),c.setClipUrl(this.layers.grids,r)},_.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 i=this.plotContainer.selectAll(\\\"g.toplevel\\\").data(r,String),a=[\\\"agrid\\\",\\\"bgrid\\\",\\\"cgrid\\\"];i.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&&a.forEach(function(t){e[t]=r.append(\\\"g\\\").classed(\\\"grid \\\"+t,!0);var n=\\\"bgrid\\\"===t?\\\"x\\\":\\\"y\\\";e[t].append(\\\"g\\\").classed(n,!0)})}),i.order()};var w=Math.sqrt(4/3);_.adjustLayout=function(t,e){var r,n,i,a,o,s,h=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,k=t.baxis.min,M=t.caxis.min;y>w*x?i=(a=x)*w:a=(i=y)/w,o=m*i/y,s=v*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:\\\"linear\\\",range:[_+2*M-b,b-_-2*k],domain:[d-o/2,d+o/2],_id:\\\"x\\\"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:\\\"linear\\\",range:[_,b-k-M],domain:[g-s/2,g+s/2],_id:\\\"y\\\"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var A=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{visible:!0,range:[_,b-k-M],side:\\\"left\\\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:h.layers.aaxis,_gridlayer:h.layers.agrid,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l\\\"+a+\\\",-\\\"+i/2,automargin:!1});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{visible:!0,range:[b-_-M,k],side:\\\"bottom\\\",_counterangle:30,domain:h.xaxis.domain,_axislayer:h.layers.baxis,_gridlayer:h.layers.bgrid,_counteraxis:h.aaxis,_pos:0,_id:\\\"x\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+i/2+\\\",-\\\"+a,automargin:!1});u(S,h.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var C=h.caxis=f({},t.caxis,{visible:!0,range:[b-_-k,M],side:\\\"right\\\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:h.layers.caxis,_gridlayer:h.layers.cgrid,_counteraxis:h.baxis,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+a+\\\",\\\"+i/2,automargin:!1});u(C,h.graphDiv._fullLayout),C.setScale();var E=\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";h.clipDef.select(\\\"path\\\").attr(\\\"d\\\",E),h.layers.plotbg.select(\\\"path\\\").attr(\\\"d\\\",E);var L=\\\"M0,\\\"+a+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";h.clipDefRelative.select(\\\"path\\\").attr(\\\"d\\\",L);var z=\\\"translate(\\\"+r+\\\",\\\"+n+\\\")\\\";h.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",z),h.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",null);var P=\\\"translate(\\\"+(r-S._offset)+\\\",\\\"+(n+a)+\\\")\\\";h.layers.baxis.attr(\\\"transform\\\",P),h.layers.bgrid.attr(\\\"transform\\\",P);var D=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(30)translate(0,\\\"+-T._offset+\\\")\\\";h.layers.aaxis.attr(\\\"transform\\\",D),h.layers.agrid.attr(\\\"transform\\\",D);var O=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(-30)translate(0,\\\"+-C._offset+\\\")\\\";h.layers.caxis.attr(\\\"transform\\\",O),h.layers.cgrid.attr(\\\"transform\\\",O),h.drawAxes(!0),h.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),h.layers.aline.select(\\\"path\\\").attr(\\\"d\\\",T.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"l\\\"+i/2+\\\",-\\\"+a:\\\"M0,0\\\").call(l.stroke,T.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(T.linewidth||0)+\\\"px\\\"),h.layers.bline.select(\\\"path\\\").attr(\\\"d\\\",S.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i:\\\"M0,0\\\").call(l.stroke,S.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(S.linewidth||0)+\\\"px\\\"),h.layers.cline.select(\\\"path\\\").attr(\\\"d\\\",C.showline?\\\"M\\\"+(r+i/2)+\\\",\\\"+n+\\\"l\\\"+i/2+\\\",\\\"+a:\\\"M0,0\\\").call(l.stroke,C.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(C.linewidth||0)+\\\"px\\\"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\\\"title\\\",n=this.aaxis,i=this.baxis,a=this.caxis;if(p.doTicks(e,n,!0),p.doTicks(e,i,!0),p.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(\\\"outside\\\"===a.ticks?.87*a.ticklen:0));this.layers[\\\"a-title\\\"]=m.draw(e,\\\"a\\\"+r,{propContainer:n,propName:this.id+\\\".aaxis.title\\\",placeholder:s(e,\\\"Click to enter Component A title\\\"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,\\\"text-anchor\\\":\\\"middle\\\"}});var l=(i.showticklabels?i.tickfont.size:0)+(\\\"outside\\\"===i.ticks?i.ticklen:0)+3;this.layers[\\\"b-title\\\"]=m.draw(e,\\\"b\\\"+r,{propContainer:i,propName:this.id+\\\".baxis.title\\\",placeholder:s(e,\\\"Click to enter Component B title\\\"),attributes:{x:this.x0-l,y:this.y0+this.h+.83*i.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}}),this.layers[\\\"c-title\\\"]=m.draw(e,\\\"c\\\"+r,{propContainer:a,propName:this.id+\\\".caxis.title\\\",placeholder:s(e,\\\"Click to enter Component C title\\\"),attributes:{x:this.x0+this.w+l,y:this.y0+this.h+.83*a.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}})}};var k=x.MINZOOM/2+.87,M=\\\"m-0.87,.5h\\\"+k+\\\"v3h-\\\"+(k+5.2)+\\\"l\\\"+(k/2+2.6)+\\\",-\\\"+(.87*k+4.5)+\\\"l2.6,1.5l-\\\"+k/2+\\\",\\\"+.87*k+\\\"Z\\\",A=\\\"m0.87,.5h-\\\"+k+\\\"v3h\\\"+(k+5.2)+\\\"l-\\\"+(k/2+2.6)+\\\",-\\\"+(.87*k+4.5)+\\\"l-2.6,1.5l\\\"+k/2+\\\",\\\"+.87*k+\\\"Z\\\",T=\\\"m0,1l\\\"+k/2+\\\",\\\"+.87*k+\\\"l2.6,-1.5l-\\\"+(k/2+2.6)+\\\",-\\\"+(.87*k+4.5)+\\\"l-\\\"+(k/2+2.6)+\\\",\\\"+(.87*k+4.5)+\\\"l2.6,1.5l\\\"+k/2+\\\",-\\\"+.87*k+\\\"Z\\\",S=\\\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\\\",C=!0;function E(t){n.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}_.initInteractions=function(){var t,e,r,n,u,f,h,p,m,b,_=this,k=_.layers.plotbg.select(\\\"path\\\").node(),L=_.graphDiv,z=L._fullLayout._zoomlayer,P={element:k,gd:L,plotinfo:{xaxis:_.xaxis,yaxis:_.yaxis},subplot:_.id,prepFn:function(a,o,s){P.xaxes=[_.xaxis],P.yaxes=[_.yaxis];var c=L._fullLayout.dragmode;a.shiftKey&&(c=\\\"pan\\\"===c?\\\"zoom\\\":\\\"pan\\\"),P.minDrag=\\\"lasso\\\"===c?1:void 0,\\\"zoom\\\"===c?(P.moveFn=R,P.doneFn=B,function(a,o,s){var c=k.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,n=_.aaxis.range[1]-r.a,f=i(_.graphDiv._fullLayout[_.id].bgcolor).getLuminance(),h=\\\"M0,\\\"+_.h+\\\"L\\\"+_.w/2+\\\", 0L\\\"+_.w+\\\",\\\"+_.h+\\\"Z\\\",p=!1,m=z.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox\\\").attr(\\\"transform\\\",\\\"translate(\\\"+_.x0+\\\", \\\"+_.y0+\\\")\\\").style({fill:f>.2?\\\"rgba(0,0,0,0)\\\":\\\"rgba(255,255,255,0)\\\",\\\"stroke-width\\\":0}).attr(\\\"d\\\",h),b=z.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").attr(\\\"transform\\\",\\\"translate(\\\"+_.x0+\\\", \\\"+_.y0+\\\")\\\").style({fill:l.background,stroke:l.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"d\\\",\\\"M0,0Z\\\"),y(z)}(0,o,s)):\\\"pan\\\"===c?(P.moveFn=F,P.doneFn=N,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,y(z)):\\\"select\\\"!==c&&\\\"lasso\\\"!==c||v(a,o,s,P,c)},clickFn:function(t,e){if(E(L),2===t){var r={};r[_.id+\\\".aaxis.min\\\"]=0,r[_.id+\\\".baxis.min\\\"]=0,r[_.id+\\\".caxis.min\\\"]=0,L.emit(\\\"plotly_doubleclick\\\",null),a.call(\\\"relayout\\\",L,r)}g.click(L,e,_.id)}};function D(t,e){return 1-e/_.h}function O(t,e){return 1-(t+(_.h-e)/Math.sqrt(3))/_.w}function I(t,e){return(t-(_.h-e)/Math.sqrt(3))/_.w}function R(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,O(t,e),O(o,s))),d=Math.max(0,Math.min(1,I(t,e),I(o,s))),g=(l/2+d)*_.w,v=(1-l/2-c)*_.w,y=(g+v)/2,k=v-g,C=(1-l)*_.h,E=C-k/w;k<x.MINZOOM?(u=r,m.attr(\\\"d\\\",h),b.attr(\\\"d\\\",\\\"M0,0Z\\\")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},m.attr(\\\"d\\\",h+\\\"M\\\"+g+\\\",\\\"+C+\\\"H\\\"+v+\\\"L\\\"+y+\\\",\\\"+E+\\\"L\\\"+g+\\\",\\\"+C+\\\"Z\\\"),b.attr(\\\"d\\\",\\\"M\\\"+t+\\\",\\\"+e+S+\\\"M\\\"+g+\\\",\\\"+C+M+\\\"M\\\"+v+\\\",\\\"+C+A+\\\"M\\\"+y+\\\",\\\"+E+T)),p||(m.transition().style(\\\"fill\\\",f>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),b.transition().style(\\\"opacity\\\",1).duration(200),p=!0)}function B(){if(E(L),u!==r){var t={};t[_.id+\\\".aaxis.min\\\"]=u.a,t[_.id+\\\".baxis.min\\\"]=u.b,t[_.id+\\\".caxis.min\\\"]=u.c,a.call(\\\"relayout\\\",L,t),C&&L.data&&L._context.showTips&&(o.notifier(s(L,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),C=!1)}}function F(t,e){var n=t/_.xaxis._m,i=e/_.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*_.yaxis._m,t=(r.c-u.c-r.b+u.b)*_.xaxis._m);var f=\\\"translate(\\\"+(_.x0+t)+\\\",\\\"+(_.y0+e)+\\\")\\\";_.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",f);var h=\\\"translate(\\\"+-t+\\\",\\\"+-e+\\\")\\\";_.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",h),_.aaxis.range=[u.a,_.sum-u.b-u.c],_.baxis.range=[_.sum-u.a-u.c,u.b],_.caxis.range=[_.sum-u.a-u.b,u.c],_.drawAxes(!1),_.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),_._hasClipOnAxisFalse&&_.plotContainer.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\").call(c.hideOutsideRangePoints,_)}function N(){var t={};t[_.id+\\\".aaxis.min\\\"]=u.a,t[_.id+\\\".baxis.min\\\"]=u.b,t[_.id+\\\".caxis.min\\\"]=u.c,a.call(\\\"relayout\\\",L,t)}k.onmousemove=function(t){g.hover(L,t,_.id),L._fullLayout._lasthover=k,L._fullLayout._hoversubplot=_.id},k.onmouseout=function(t){L._dragging||d.unhover(L,t)},d.init(P)}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../components/titles\\\":567,\\\"../../lib\\\":602,\\\"../../lib/extend\\\":591,\\\"../../registry\\\":732,\\\"../cartesian/axes\\\":648,\\\"../cartesian/constants\\\":653,\\\"../cartesian/select\\\":665,\\\"../cartesian/set_convert\\\":666,\\\"../plots\\\":710,d3:130,tinycolor2:415}],732:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/loggers\\\"),i=t(\\\"./lib/noop\\\"),a=t(\\\"./lib/push_unique\\\"),o=t(\\\"./lib/is_plain_object\\\"),s=t(\\\"./lib/extend\\\"),l=t(\\\"./plots/attributes\\\"),c=t(\\\"./plots/layout_attributes\\\"),u=s.extendFlat,f=s.extendDeepAll;function h(t){var e=t.name,i=t.categories,a=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 i in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s<i.length;s++)o[i[s]]=!0,r.allCategories[i[s]]=!0;for(var l in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)v(l,e);t.layoutAttributes&&u(r.traceLayoutAttributes,t.layoutAttributes)}}function p(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&&a(r.layoutArrayContainers,e),m(t)),r.modules)v(e,n);for(var i in r.subplotsRegistry)x(e,i);for(var o in r.transformsRegistry)y(e,o);t.schema&&t.schema.layout&&f(c,t.schema.layout)}function d(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Transform module *name* must be a string.\\\");var e=\\\"Transform module \\\"+t.name,i=\\\"function\\\"==typeof t.transform,a=\\\"function\\\"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+\\\" is missing a *transform* or *calcTransform* method.\\\");for(var s in i&&a&&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)y(s,t.name)}function g(t){var e=t.name,n=e.split(\\\"-\\\")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).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=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function v(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&f(r.modules[e]._module.attributes,i)}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&f(r.transformsRegistry[e].attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=\\\"subplot\\\"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&f(a,s)}}function b(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.register=function(t){if(!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\\\":h(n);break;case\\\"transform\\\":d(n);break;case\\\"component\\\":p(n);break;case\\\"locale\\\":g(n);break;case\\\"apiMethod\\\":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\\\"Invalid module was attempted to be registered!\\\")}}},r.getModule=function(t){var e=r.modules[b(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\\\"various\\\"===(t=b(t)))return!1;var i=r.modules[t];return i||(t&&\\\"area\\\"!==t&&n.log(\\\"Unrecognized trace type \\\"+t+\\\".\\\"),i=r.modules[l.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);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]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{\\\"./lib/extend\\\":591,\\\"./lib/is_plain_object\\\":604,\\\"./lib/loggers\\\":607,\\\"./lib/noop\\\":611,\\\"./lib/push_unique\\\":616,\\\"./plots/attributes\\\":645,\\\"./plots/layout_attributes\\\":701}],733:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=n.extendFlat,a=n.extendDeep;function o(t){var e;switch(t){case\\\"themes__thumb\\\":e={autosize:!0,width:150,height:150,title:\\\"\\\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\\\"thumbnail\\\":e={title:\\\"\\\",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 n,s=t.data,l=t.layout,c=a([],s),u=a({},l,o(e.tileClass)),f=t._context||{};if(e.width&&(u.width=e.width),e.height&&(u.height=e.height),\\\"thumbnail\\\"===e.tileClass||\\\"themes__thumb\\\"===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r<h.length;r++)n=h[r],[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"].indexOf(n.slice(0,5))>-1&&(u[h[r]].title=\\\"\\\");for(r=0;r<c.length;r++){var p=c[r];p.showscale=!1,p.marker&&(p.marker.showscale=!1),\\\"pie\\\"===p.type&&(p.textposition=\\\"none\\\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)u.annotations.push(e.annotations[r]);var d=Object.keys(u).filter(function(t){return t.match(/^scene\\\\d*$/)});if(d.length){var g={};for(\\\"thumbnail\\\"===e.tileClass&&(g={title:\\\"\\\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<d.length;r++){var m=u[d[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,g),i(m.yaxis,g),i(m.zaxis,g),m._scene=null}}var v=document.createElement(\\\"div\\\");e.tileClass&&(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,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&&(y.config.setBackground=e.setBackground||\\\"opaque\\\"),y.gd.defaultLayout=o(e.tileClass),y}},{\\\"../lib\\\":602}],734:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plot_api/to_image\\\"),i=t(\\\"../lib\\\"),a=t(\\\"./filesaver\\\");e.exports=function(t,e){return(e=e||{}).format=e.format||\\\"png\\\",new Promise(function(r,o){t._snapshotInProgress&&o(new Error(\\\"Snapshotting already in progress.\\\")),i.isIE()&&\\\"svg\\\"!==e.format&&o(new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\")),t._snapshotInProgress=!0;var s=n(t,e),l=e.filename||t.fn||\\\"newplot\\\";l+=\\\".\\\"+e.format,s.then(function(e){return t._snapshotInProgress=!1,a(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,o(e)})})}},{\\\"../lib\\\":602,\\\"../plot_api/to_image\\\":641,\\\"./filesaver\\\":735}],735:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=document.createElement(\\\"a\\\"),n=\\\"download\\\"in r,i=/Version\\\\/[\\\\d\\\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(\\\"undefined\\\"!=typeof navigator&&/MSIE [1-9]\\\\./.test(navigator.userAgent)&&o(new Error(\\\"IE < 10 unsupported\\\")),i&&(document.location.href=\\\"data:application/octet-stream\\\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\\\"download\\\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\\\"undefined\\\"!=typeof navigator&&navigator.msSaveBlob){var s=t.split(/^data:image\\\\/svg\\\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\\\"download error\\\"))})}},{}],736:[function(t,e,r){\\\"use strict\\\";r.getDelay=function(t){return t._has&&(t._has(\\\"gl3d\\\")||t._has(\\\"gl2d\\\")||t._has(\\\"mapbox\\\"))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\\\"polar\\\"))&&t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],737:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./helpers\\\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\\\"./cloneplot\\\"),toSVG:t(\\\"./tosvg\\\"),svgToImg:t(\\\"./svgtoimg\\\"),toImage:t(\\\"./toimage\\\"),downloadImage:t(\\\"./download\\\")};e.exports=i},{\\\"./cloneplot\\\":733,\\\"./download\\\":734,\\\"./helpers\\\":736,\\\"./svgtoimg\\\":738,\\\"./toimage\\\":739,\\\"./tosvg\\\":740}],738:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"events\\\").EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||\\\"png\\\";if(n.isIE()&&\\\"svg\\\"!==l){var c=new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\");return a(c),t.promise?r:e.emit(\\\"error\\\",c)}var u=t.canvas,f=t.scale||1,h=f*(t.width||300),p=f*(t.height||150),d=u.getContext(\\\"2d\\\"),g=new o,m=\\\"data:image/svg+xml,\\\"+encodeURIComponent(s);u.width=h,u.height=p,g.onload=function(){var r;switch(\\\"svg\\\"!==l&&d.drawImage(g,0,0,h,p),l){case\\\"jpeg\\\":r=u.toDataURL(\\\"image/jpeg\\\");break;case\\\"png\\\":r=u.toDataURL(\\\"image/png\\\");break;case\\\"webp\\\":r=u.toDataURL(\\\"image/webp\\\");break;case\\\"svg\\\":r=m;break;default:var n=\\\"Image format is not jpeg, png, svg or webp.\\\";if(a(new Error(n)),!t.promise)return e.emit(\\\"error\\\",n)}i(r),t.promise||e.emit(\\\"success\\\",r)},g.onerror=function(r){if(a(r),!t.promise)return e.emit(\\\"error\\\",r)},g.src=m});return t.promise?r:e}},{\\\"../lib\\\":602,events:194}],739:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"events\\\").EventEmitter,i=t(\\\"../registry\\\"),a=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\\\"}),f=u.gd;f.style.position=\\\"absolute\\\",f.style.left=\\\"-5000px\\\",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call(\\\"plot\\\",f,u.data,u.layout,u.config).then(h).then(function(){var t=o.getDelay(f._fullLayout);setTimeout(function(){var t=l(f),n=document.createElement(\\\"canvas\\\");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}},t)}).catch(function(t){r.emit(\\\"error\\\",t)}),r}},{\\\"../lib\\\":602,\\\"../registry\\\":732,\\\"./cloneplot\\\":733,\\\"./helpers\\\":736,\\\"./svgtoimg\\\":738,\\\"./tosvg\\\":740,events:194}],740:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../lib\\\"),a=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,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,g=f.height;h.insert(\\\"rect\\\",\\\":first-child\\\").call(a.setRect,0,0,d,g).call(o.fill,f.paper_bgcolor);var m=f._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&&h.node().appendChild(b)}}f._draggers&&f._draggers.remove(),h.node().style.background=\\\"\\\",h.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.selectAll(\\\".point,.scatterpts\\\").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf(\\\"url(\\\")&&t.style(\\\"fill\\\",e.replace(l,\\\"TOBESTRIPPED\\\"))}),\\\"pdf\\\"!==e&&\\\"eps\\\"!==e||h.selectAll(\\\"#MathJax_SVG_glyphs path\\\").attr(\\\"stroke-width\\\",0),h.node().setAttributeNS(s.xmlns,\\\"xmlns\\\",s.svg),h.node().setAttributeNS(s.xmlns,\\\"xmlns:xlink\\\",s.xlink),\\\"svg\\\"===e&&r&&(h.attr(\\\"width\\\",r*d),h.attr(\\\"height\\\",r*g),h.attr(\\\"viewBox\\\",\\\"0 0 \\\"+d+\\\" \\\"+g));var _=(new window.XMLSerializer).serializeToString(h.node());return _=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}(_),_=(_=_.replace(/&(?!\\\\w+;|\\\\#[0-9]+;| \\\\#x[0-9A-F]+;)/g,\\\"&amp;\\\")).replace(c,\\\"'\\\"),i.isIE()&&(_=(_=(_=_.replace(/\\\"/gi,\\\"'\\\")).replace(/(\\\\('#)([^']*)('\\\\))/gi,'(\\\"#$2\\\")')).replace(/(\\\\\\\\')/gi,'\\\"')),_}},{\\\"../components/color\\\":474,\\\"../components/drawing\\\":499,\\\"../constants/xmlns_namespaces\\\":581,\\\"../lib\\\":602,d3:130}],741:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").mergeArray;e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n(e.text,t,\\\"tx\\\"),n(e.hovertext,t,\\\"htx\\\");var i=e.marker;if(i){n(i.opacity,t,\\\"mo\\\"),n(i.color,t,\\\"mc\\\");var a=i.line;a&&(n(a.color,t,\\\"mlc\\\"),n(a.width,t,\\\"mlw\\\"))}}},{\\\"../../lib\\\":602}],742:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../plots/font_attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=o({editType:\\\"calc\\\",arrayOk:!0}),c=n.marker,u=s({line:s({width:s({},c.line.width,{dflt:0}),editType:\\\"calc\\\"},i(\\\"marker.line\\\")),editType:\\\"calc\\\"},i(\\\"marker\\\"),{showscale:c.showscale,colorbar:a,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,hovertext:n.hovertext,textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"none\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),constraintext:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"both\\\",editType:\\\"calc\\\"},cliponaxis:s({},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:u,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/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"../scatter/attributes\\\":926}],743:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray,a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../components/colorscale/has_colorscale\\\"),s=t(\\\"../../components/colorscale/calc\\\"),l=t(\\\"./arrays_to_calcdata\\\"),c=t(\\\"../scatter/calc_selection\\\");e.exports=function(t,e){var r,u,f,h,p,d=a.getFromId(t,e.xaxis||\\\"x\\\"),g=a.getFromId(t,e.yaxis||\\\"y\\\");\\\"h\\\"===(e.orientation||(e.x&&!e.y?\\\"h\\\":\\\"v\\\"))?(r=d,f=d.makeCalcdata(e,\\\"x\\\"),u=g.makeCalcdata(e,\\\"y\\\"),p=e.xcalendar):(r=g,f=g.makeCalcdata(e,\\\"y\\\"),u=d.makeCalcdata(e,\\\"x\\\"),p=e.ycalendar);var m=Math.min(u.length,f.length),v=new Array(m);for(h=0;h<m;h++)v[h]={p:u[h],s:f[h]},e.ids&&(v[h].id=String(e.ids[h]));var y,x=e.base;if(i(x)){for(h=0;h<Math.min(x.length,v.length);h++)y=r.d2c(x[h],0,p),n(y)?(v[h].b=+y,v[h].hasB=1):v[h].b=0;for(;h<v.length;h++)v[h].b=0}else{y=r.d2c(x,0,p);var b=n(y);for(y=b?y:0,h=0;h<v.length;h++)v[h].b=y,b&&(v[h].hasB=1)}return o(e,\\\"marker\\\")&&s(e,e.marker.color,\\\"marker\\\",\\\"c\\\"),o(e,\\\"marker.line\\\")&&s(e,e.marker.line.color,\\\"marker.line\\\",\\\"c\\\"),l(v,e),c(v,e),v}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/calc_selection\\\":928,\\\"./arrays_to_calcdata\\\":741,\\\"fast-isnumeric\\\":196}],744:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../scatter/xy_defaults\\\"),s=t(\\\"../bar/style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(o(t,e,c,u)){u(\\\"orientation\\\",e.x&&!e.y?\\\"h\\\":\\\"v\\\"),u(\\\"base\\\"),u(\\\"offset\\\"),u(\\\"width\\\"),u(\\\"text\\\"),u(\\\"hovertext\\\");var h=u(\\\"textposition\\\"),p=Array.isArray(h)||\\\"auto\\\"===h,d=p||\\\"inside\\\"===h,g=p||\\\"outside\\\"===h;if(d||g){var m=f(u,\\\"textfont\\\",c.font);d&&f(u,\\\"insidetextfont\\\",m),g&&f(u,\\\"outsidetextfont\\\",m),u(\\\"constraintext\\\"),u(\\\"selected.textfont.color\\\"),u(\\\"unselected.textfont.color\\\"),u(\\\"cliponaxis\\\")}s(t,e,u,r,c);var v=a.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");v(t,e,i.defaultLine,{axis:\\\"y\\\"}),v(t,e,i.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../bar/style_defaults\\\":754,\\\"../scatter/xy_defaults\\\":950,\\\"./attributes\\\":742}],745:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../scatter/fill_hover_text\\\");e.exports=function(t,e,r,s){var l,c,u,f,h,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y=\\\"closest\\\"===s,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var k=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},M=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-l,e-l,x+Math.min(1,Math.abs(e-t)/d)-1)}function T(t){return A(k(t),M(t))}function S(t){return n.inbox(t.b-c,t[f]-c,x+(t[f]-c)/(t[f]-t.b)-1)}\\\"h\\\"===m.orientation?(l=r,c=e,u=\\\"y\\\",f=\\\"x\\\",h=S,p=T):(l=e,c=r,u=\\\"x\\\",f=\\\"y\\\",p=S,h=T);var C=t[u+\\\"a\\\"],E=t[f+\\\"a\\\"];d=Math.abs(C.r2c(C.range[1])-C.r2c(C.range[0]));var L=n.getDistanceFunction(s,h,p,function(t){return(h(t)+p(t))/2});if(n.getClosest(g,L,t),!1!==t.index){y||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},M=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var z=g[t.index],P=z.mcc||m.marker.color,D=z.mlcc||m.marker.line.color,O=z.mlw||m.marker.line.width;a.opacity(P)?t.color=P:a.opacity(D)&&O&&(t.color=D);var I=m.base?z.b+z.s:z.s;t[f+\\\"0\\\"]=t[f+\\\"1\\\"]=E.c2p(z[f],!0),t[f+\\\"LabelVal\\\"]=I;var R=v.extents[v.extents.round(z.p)];return t[u+\\\"0\\\"]=C.c2p(y?k(z):R[0],!0),t[u+\\\"1\\\"]=C.c2p(y?M(z):R[1],!0),t[u+\\\"LabelVal\\\"]=z.p,t.spikeDistance=(S(z)+function(t){return A(_(t),w(t))}(z))/2+b-x,t[u+\\\"Spike\\\"]=C.c2p(z.p,!0),o(z,m,t),i.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(z,m,t),[t]}}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../registry\\\":732,\\\"../scatter/fill_hover_text\\\":934}],746:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"bar\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"bar\\\",\\\"oriented\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"draggedPts\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../scatter/colorbar\\\":930,\\\"./arrays_to_calcdata\\\":741,\\\"./attributes\\\":742,\\\"./calc\\\":743,\\\"./defaults\\\":744,\\\"./hover\\\":745,\\\"./layout_attributes\\\":747,\\\"./layout_defaults\\\":748,\\\"./plot\\\":749,\\\"./select\\\":750,\\\"./set_positions\\\":751,\\\"./style\\\":753}],747:[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\\\"}}},{}],748:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=0;h<r.length;h++){var p=r[h];if(n.traceIs(p,\\\"bar\\\")){if(l=!0,\\\"overlay\\\"!==t.barmode&&\\\"stack\\\"!==t.barmode){var d=p.xaxis+p.yaxis;f[d]&&(u=!0),f[d]=!0}if(p.visible&&\\\"histogram\\\"===p.type)\\\"category\\\"!==i.getFromId({_fullLayout:e},p[\\\"v\\\"===p.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]).type&&(c=!0)}}l&&(\\\"overlay\\\"!==s(\\\"barmode\\\")&&s(\\\"barnorm\\\"),s(\\\"bargap\\\",c&&!u?0:.2),s(\\\"bargroupgap\\\"))}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./layout_attributes\\\":747}],749:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../lib/svg_text_utils\\\"),l=t(\\\"../../components/color\\\"),c=t(\\\"../../components/drawing\\\"),u=t(\\\"../../registry\\\"),f=t(\\\"./attributes\\\"),h=f.text,p=f.textposition,d=f.textfont,g=f.insidetextfont,m=f.outsidetextfont,v=3;function y(t,e,r,n,i,a){var o;return i<1?o=\\\"scale(\\\"+i+\\\") \\\":(i=1,o=\\\"\\\"),\\\"translate(\\\"+(r-i*t)+\\\" \\\"+(n-i*e)+\\\")\\\"+o+(a?\\\"rotate(\\\"+a+\\\" \\\"+t+\\\" \\\"+e+\\\") \\\":\\\"\\\")}function x(t,e,r,n){var o=b((e=e||{}).family,r),s=b(e.size,r),l=b(e.color,r);return{family:_(t.family,o,n.family),size:function(t,e,r){if(i(e)){e=+e;var n=t.min,a=t.max,o=void 0!==n&&e<n||void 0!==a&&e>a;if(!o)return e}return void 0!==r?r:t.dflt}(t.size,s,n.size),color:function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function b(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function _(t,e,r){if(\\\"string\\\"==typeof e){if(e||!t.noBlank)return e}else if(\\\"number\\\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}e.exports=function(t,e,r,a){var f=e.xaxis,w=e.yaxis,k=t._fullLayout,M=a.selectAll(\\\"g.trace.bars\\\").data(r,function(t){return t[0].trace.uid});M.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace bars\\\").append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\"),M.exit().remove(),M.order(),M.each(function(r){var a=r[0],u=a.t,M=a.trace,A=n.select(this);e.isRangePlot||(a.node3=A);var T=u.poffset,S=Array.isArray(T),C=A.select(\\\"g.points\\\").selectAll(\\\"g.point\\\").data(o.identity);C.enter().append(\\\"g\\\").classed(\\\"point\\\",!0),C.exit().remove(),C.each(function(a,u){var A,C,E,L,z=n.select(this),P=a.p+(S?T[u]:T),D=P+a.w,O=a.b,I=O+a.s;if(\\\"h\\\"===M.orientation?(E=w.c2p(P,!0),L=w.c2p(D,!0),A=f.c2p(O,!0),C=f.c2p(I,!0),a.ct=[C,(E+L)/2]):(A=f.c2p(P,!0),C=f.c2p(D,!0),E=w.c2p(O,!0),L=w.c2p(I,!0),a.ct=[(A+C)/2,L]),i(A)&&i(C)&&i(E)&&i(L)&&A!==C&&E!==L){var R=(a.mlw+1||M.marker.line.width+1||(a.trace?a.trace.marker.line.width:0)+1)-1,B=n.round(R/2%1,2);if(!t._context.staticPlot){var F=l.opacity(a.mc||M.marker.color)<1||R>.01?N:function(t,e){return Math.abs(t-e)>=2?N(t):t>e?Math.ceil(t):Math.floor(t)};C=F(C,A=F(A,C)),L=F(L,E=F(E,L))}o.ensureSingle(z,\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"d\\\",\\\"M\\\"+A+\\\",\\\"+E+\\\"V\\\"+L+\\\"H\\\"+C+\\\"V\\\"+E+\\\"Z\\\").call(c.setClipUrl,e.layerClipId),function(t,e,r,n,i,a,l,u){var f;function w(e,r,n){var i=o.ensureSingle(e,\\\"text\\\").text(r).attr({class:\\\"bartext bartext-\\\"+f,transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}).call(c.font,n).call(s.convertToTspans,t);return i}var k=r[0].trace,M=k.orientation,A=function(t,e){var r=b(t.text,e);return _(h,r)}(k,n);if(!A)return;if(\\\"none\\\"===(f=function(t,e){var r=b(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(p,r)}(k,n)))return;var T,S,C,E,L,z,P=function(t,e,r){return x(d,t.textfont,e,r)}(k,n,t._fullLayout.font),D=function(t,e,r){return x(g,t.insidetextfont,e,r)}(k,n,P),O=function(t,e,r){return x(m,t.outsidetextfont,e,r)}(k,n,P),I=t._fullLayout.barmode,R=\\\"stack\\\"===I||\\\"relative\\\"===I,B=r[n],F=!R||B._outmost,N=Math.abs(a-i)-2*v,j=Math.abs(u-l)-2*v;\\\"outside\\\"===f&&(F||(f=\\\"inside\\\"));if(\\\"auto\\\"===f)if(F){f=\\\"inside\\\",T=w(e,A,D),S=c.bBox(T.node()),C=S.width,E=S.height;var V=C>0&&E>0,U=C<=N&&E<=j,q=C<=j&&E<=N,H=\\\"h\\\"===M?N>=C*(j/E):j>=E*(N/C);V&&(U||q||H)?f=\\\"inside\\\":(f=\\\"outside\\\",T.remove(),T=null)}else f=\\\"inside\\\";if(!T&&(T=w(e,A,\\\"outside\\\"===f?O:D),S=c.bBox(T.node()),C=S.width,E=S.height,C<=0||E<=0))return void T.remove();\\\"outside\\\"===f?(z=\\\"both\\\"===k.constraintext||\\\"outside\\\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l=\\\"h\\\"===a?Math.abs(n-r):Math.abs(e-t);l>2*v&&(s=v);var c=1;o&&(c=\\\"h\\\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,\\\"h\\\"===a?e<t?(h=e-s-u/2,p=(r+n)/2):(h=e+s+u/2,p=(r+n)/2):n>r?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return y(d,g,h,p,c,!1)}(i,a,l,u,S,M,z)):(z=\\\"both\\\"===k.constraintext||\\\"inside\\\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,g=i.height,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*v&&_>2*v?(b-=2*(f=v),_-=2*f):f=0;d<=b&&g<=_?(h=!1,p=1):d<=_&&g<=b?(h=!0,p=1):d<g==b<_?(h=!1,p=o?Math.min(b/d,_/g):1):(h=!0,p=o?Math.min(_/d,b/g):1);h&&(h=90);h?(s=p*g,l=p*d):(s=p*d,l=p*g);\\\"h\\\"===a?e<t?(c=e+f+s/2,u=(r+n)/2):(c=e-f-s/2,u=(r+n)/2):n>r?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return y(m,x,c,u,p,h)}(i,a,l,u,S,M,z));T.attr(\\\"transform\\\",L)}(t,z,r,u,A,C,E,L),e.layerClipId&&c.hideOutsideRangePoint(r[u],z.select(\\\"text\\\"),f,w,M.xcalendar,M.ycalendar)}else z.remove();function N(t){return 0===k.bargap&&0===k.bargroupgap?n.round(Math.round(t)-B,2):t}});var E=!1===r[0].trace.cliponaxis;c.setClipUrl(A,E?null:e.layerClipId)}),u.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(M,e)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../registry\\\":732,\\\"./attributes\\\":742,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],750:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],751:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray,a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"../../registry\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"./sieve.js\\\");function c(t,e,r,i){if(i.length){var o,c,b,_,w=t._fullLayout.barmode,k=\\\"group\\\"===w;if(\\\"overlay\\\"===w)u(t,e,r,i);else if(k){for(o=[],c=[],b=0;b<i.length;b++)void 0===(_=i[b])[0].trace.offset?c.push(_):o.push(_);c.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new l(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,c=s.bargroupgap,u=r.positions,f=r.distinctPositions,g=r.minDiff,m=r.traces,v=u.length!==f.length,y=m.length,x=g*(1-l),b=v?x/y:x,_=b*(1-c);for(n=0;n<y;n++){i=m[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(o=a.t).barwidth=_,o.poffset=w,o.bargroupwidth=x,o.bardelta=g}r.binWidth=m[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r,v)})(t,e,a),i?(v(t,r,a),y(t,r,a)):m(t,r,a)}(t,e,r,c),o.length&&u(t,e,r,o)}else{for(o=[],c=[],b=0;b<i.length;b++)void 0===(_=i[b])[0].trace.base?c.push(_):o.push(_);c.length&&function(t,e,r,i){var o=t._fullLayout.barmode,c=\\\"stack\\\"===o,u=\\\"relative\\\"===o,h=t._fullLayout.barnorm,p=new l(i,u,!(h||c||u));f(t,e,p),function(t,e,r){var i,o,l,c,u=t._fullLayout.barnorm,f=x(e),h=r.traces,p=[null,null];for(i=0;i<h.length;i++)for(o=h[i],l=0;l<o.length;l++)if((c=o[l]).s!==a){var d=r.put(c.p,c.b+c.s),m=d+c.b+c.s;c.b=d,c[f]=m,u||(n(e.c2l(m))&&g(p,m),c.hasB&&n(e.c2l(d))&&g(p,d))}u||s.expand(e,p,{tozero:!0,padded:!0})}(t,r,p);for(var d=0;d<i.length;d++)for(var m=i[d],v=0;v<m.length;v++){var b=m[v];if(b.s!==a){var _=b.b+b.s===p.get(b.p,b.s);_&&(b._outmost=!0)}}h&&y(t,r,p)}(t,e,r,c),o.length&&u(t,e,r,o)}!function(t,e){var r,i,a,o=e._id.charAt(0),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f=1e4/(c-l),h=s.round=function(t){return String(Math.round(f*(t-l)))};for(r=0;r<t.length;r++)for((a=t[r])[0].t.extents=s,i=0;i<a.length;i++){var p=a[i],d=p[o]-p.w/2;if(n(d)){var g=p[o]+p.w/2,m=h(p.p);s[m]?s[m]=[Math.min(d,s[m][0]),Math.max(g,s[m][1])]:s[m]=[d,g]}}}(i,e)}}function u(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],c=new l([s],!1,a);f(t,e,c),i?(v(t,r,c),y(t,r,c)):m(t,r,c)}}function f(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap,l=r.minDiff,c=r.traces,u=l*(1-o),f=u*(1-s),g=-f/2;for(n=0;n<c.length;n++)(i=c[n][0].t).barwidth=f,i.poffset=g,i.bargroupwidth=u,i.bardelta=l;r.binWidth=c[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r)}function h(t){var e,r,a,o,s,l,c=t.traces;for(e=0;e<c.length;e++){o=(a=(r=c[e])[0]).trace,l=a.t;var u,f=o.offset,h=l.poffset;if(i(f)){for(u=f.slice(0,r.length),s=0;s<u.length;s++)n(u[s])||(u[s]=h);for(s=u.length;s<r.length;s++)u.push(h);l.poffset=u}else void 0!==f&&(l.poffset=f);var p=o.width,d=l.barwidth;if(i(p)){var g=p.slice(0,r.length);for(s=0;s<g.length;s++)n(g[s])||(g[s]=d);for(s=g.length;s<r.length;s++)g.push(d);if(l.barwidth=g,void 0===f){for(u=[],s=0;s<r.length;s++)u.push(h+(d-g[s])/2);l.poffset=u}}else void 0!==p&&(l.barwidth=p,void 0===f&&(l.poffset=h+(d-p)/2))}}function p(t,e,r){for(var n=r.traces,i=x(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h<o.length;h++){var p=o[h],d=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+d/2}}function d(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],l=r.minDiff,c=l/2;s.minDtick(e,l,o,n);for(var u=Math.min.apply(Math,a)-c,f=Math.max.apply(Math,a)+c,h=0;h<i.length;h++){var p=i[h],d=p[0],g=d.trace;if(void 0!==g.width||void 0!==g.offset)for(var m=d.t,v=m.poffset,y=m.barwidth,x=Array.isArray(v),b=Array.isArray(y),_=0;_<p.length;_++){var w=p[_],k=x?v[_]:v,M=b?y[_]:y,A=w.p+k,T=A+M;u=Math.min(u,A),f=Math.max(f,T)}}s.expand(e,[u,f],{padded:!1})}function g(t,e){n(t[0])?t[0]=Math.min(t[0],e):t[0]=e,n(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function m(t,e,r){for(var i=r.traces,a=x(e),o=[null,null],l=0;l<i.length;l++)for(var c=i[l],u=0;u<c.length;u++){var f=c[u],h=f.b,p=h+f.s;f[a]=p,n(e.c2l(p))&&g(o,p),f.hasB&&n(e.c2l(h))&&g(o,h)}s.expand(e,o,{tozero:!0,padded:!0})}function v(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var o=n[i],s=0;s<o.length;s++){var l=o[s];l.s!==a&&r.put(l.p,l.b+l.s)}}function y(t,e,r){var i=r.traces,o=x(e),l=\\\"fraction\\\"===t._fullLayout.barnorm?1:100,c=l/1e9,u=e.l2c(e.c2l(0)),f=\\\"stack\\\"===t._fullLayout.barmode?l:u,h=[u,f],p=!1;function d(t){n(e.c2l(t))&&(t<u-c||t>f+c||!n(u))&&(p=!0,g(h,t))}for(var m=0;m<i.length;m++)for(var v=i[m],y=0;y<v.length;y++){var b=v[y];if(b.s!==a){var _=Math.abs(l/r.get(b.p,b.s));b.b*=_,b.s*=_;var w=b.b,k=w+b.s;b[o]=k,d(k),b.hasB&&d(w)}}s.expand(e,h,{tozero:!0,padded:p})}function x(t){return t._id.charAt(0)}e.exports=function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<a.length;r++){var f=a[r];!0===f.visible&&o.traceIs(f,\\\"bar\\\")&&f.xaxis===n._id&&f.yaxis===i._id&&(\\\"h\\\"===f.orientation?l.push(s[r]):u.push(s[r]))}c(t,n,i,u),c(t,i,n,l)}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./sieve.js\\\":752,\\\"fast-isnumeric\\\":196}],752:[function(t,e,r){\\\"use strict\\\";e.exports=a;var n=t(\\\"../../lib\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;function a(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var a=1/0,o=[],s=0;s<t.length;s++){for(var l=t[s],c=0;c<l.length;c++){var u=l[c];u.p!==i&&o.push(u.p)}l[0]&&l[0].width1&&(a=Math.min(l[0].width1,a))}this.positions=o;var f=n.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&&a!==1/0?this.minDiff=a:this.minDiff=Math.min(f.minDiff,a),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\\\"v\\\":\\\"^\\\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602}],753:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../registry\\\");function o(t,e,r){var a=t.selectAll(\\\"path\\\"),o=t.selectAll(\\\"text\\\");i.pointStyle(a,e,r),o.each(function(t){var r,a=n.select(this);function o(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}a.classed(\\\"bartext-inside\\\")?r=e.insidetextfont:a.classed(\\\"bartext-outside\\\")&&(r=e.outsidetextfont),r||(r=e.textfont),i.font(a,o(\\\"family\\\"),o(\\\"size\\\"),o(\\\"color\\\"))})}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.bars\\\"),i=r.size(),s=t._fullLayout;r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(t){(\\\"stack\\\"===s.barmode&&i>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")}),r.selectAll(\\\"g.points\\\").each(function(e){o(n.select(this),e[0].trace,t)}),a.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(r)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\\\"path\\\"),n),i.selectedTextStyle(r.selectAll(\\\"text\\\"),n)):o(r,n,t)}}},{\\\"../../components/drawing\\\":499,\\\"../../registry\\\":732,d3:130}],754:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,o,s){r(\\\"marker.color\\\",o),i(t,\\\"marker\\\")&&a(t,e,s,r,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.color\\\",n.defaultLine),i(t,\\\"marker.line\\\")&&a(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\\\":474,\\\"../../components/colorscale/defaults\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488}],755:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=n.marker,s=o.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\\\"},name:{valType:\\\"string\\\",editType:\\\"calc+clearAxisTypes\\\"},text:a({},n.text,{}),whiskerwidth:{valType:\\\"number\\\",min:0,max:1,dflt:.5,editType:\\\"calcIfAutorange\\\"},notched:{valType:\\\"boolean\\\",editType:\\\"calcIfAutorange\\\"},notchwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.25,editType:\\\"calcIfAutorange\\\"},boxpoints:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"outliers\\\",\\\"suspectedoutliers\\\",!1],dflt:\\\"outliers\\\",editType:\\\"calcIfAutorange\\\"},boxmean:{valType:\\\"enumerated\\\",values:[!0,\\\"sd\\\",!1],dflt:!1,editType:\\\"calcIfAutorange\\\"},jitter:{valType:\\\"number\\\",min:0,max:1,editType:\\\"calcIfAutorange\\\"},pointpos:{valType:\\\"number\\\",min:-2,max:2,editType:\\\"calcIfAutorange\\\"},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"],editType:\\\"calc+clearAxisTypes\\\"},marker:{outliercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0, 0, 0, 0)\\\",editType:\\\"style\\\"},symbol:a({},o.symbol,{arrayOk:!1,editType:\\\"plot\\\"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:\\\"style\\\"}),size:a({},o.size,{arrayOk:!1,editType:\\\"calcIfAutorange\\\"}),color:a({},o.color,{arrayOk:!1,editType:\\\"style\\\"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:\\\"style\\\"}),width:a({},s.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,selected:{marker:n.selected.marker,editType:\\\"style\\\"},unselected:{marker:n.unselected.marker,editType:\\\"style\\\"},hoveron:{valType:\\\"flaglist\\\",flags:[\\\"boxes\\\",\\\"points\\\"],dflt:\\\"boxes+points\\\",editType:\\\"style\\\"}}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib/extend\\\":591,\\\"../scatter/attributes\\\":926}],756:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=i._,o=t(\\\"../../plots/cartesian/axes\\\");function s(t,e,r){var n={text:\\\"tx\\\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||\\\"x\\\"),m=o.getFromId(t,e.yaxis||\\\"y\\\"),v=[],y=\\\"violin\\\"===e.type?\\\"_numViolins\\\":\\\"_numBoxes\\\";\\\"h\\\"===e.orientation?(u=g,f=\\\"x\\\",h=m,p=\\\"y\\\"):(u=m,f=\\\"y\\\",h=g,p=\\\"x\\\");var x=u.makeCalcdata(e,f),b=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+\\\"0\\\"in t?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:o;var l=r.d2c(s,0,t[e+\\\"calendar\\\"]);return a.map(function(){return l})}(e,p,h,x,d[y]),_=i.distinctVals(b),w=_.vals,k=_.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(w,k),A=w.length,T=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(A);for(r=0;r<e._length;r++){var S=x[r];if(n(S)){var C=i.findBin(b[r],M);if(C>=0&&C<A){var E={v:S,i:r};s(E,e,r),T[C].push(E)}}}for(r=0;r<A;r++)if(T[r].length>0){var L=T[r].sort(l),z=L.map(c),P=z.length,D={pos:w[r],pts:L};D.min=z[0],D.max=z[P-1],D.mean=i.mean(z,P),D.sd=i.stdev(z,P,D.mean),D.q1=i.interp(z,.25),D.med=i.interp(z,.5),D.q3=i.interp(z,.75),D.lf=Math.min(D.q1,z[Math.min(i.findBin(2.5*D.q1-1.5*D.q3,z,!0)+1,P-1)]),D.uf=Math.max(D.q3,z[Math.max(i.findBin(2.5*D.q3-1.5*D.q1,z),0)]),D.lo=4*D.q1-3*D.q3,D.uo=4*D.q3-3*D.q1;var O=1.57*(D.q3-D.q1)/Math.sqrt(P);D.ln=D.med-O,D.un=D.med+O,v.push(D)}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)}}(v,e),o.expand(u,x,{padded:!0}),v.length>0?(v[0].t={num:d[y],dPos:k,posLetter:p,valLetter:f,labels:{med:a(t,\\\"median:\\\"),min:a(t,\\\"min:\\\"),q1:a(t,\\\"q1:\\\"),q3:a(t,\\\"q3:\\\"),max:a(t,\\\"max:\\\"),mean:\\\"sd\\\"===e.boxmean?a(t,\\\"mean \\\\xb1 \\\\u03c3:\\\"):a(t,\\\"mean:\\\"),lf:a(t,\\\"lower fence:\\\"),uf:a(t,\\\"upper fence:\\\")}},d[y]++,v):[{t:{empty:!0}}]}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"fast-isnumeric\\\":196}],757:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./attributes\\\");function s(t,e,r,n){var a,o,s=r(\\\"y\\\"),l=r(\\\"x\\\"),c=l&&l.length;if(s&&s.length)a=\\\"v\\\",c?o=Math.min(l.length,s.length):(r(\\\"x0\\\"),o=s.length);else{if(!c)return void(e.visible=!1);a=\\\"h\\\",r(\\\"y0\\\"),o=l.length}e._length=o,i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),r(\\\"orientation\\\",a)}function l(t,e,r,i){var a=i.prefix,s=n.coerce2(t,e,o,\\\"marker.outliercolor\\\"),l=r(\\\"marker.line.outliercolor\\\"),c=r(a+\\\"points\\\",s||l?\\\"suspectedoutliers\\\":void 0);c?(r(\\\"jitter\\\",\\\"all\\\"===c?.3:0),r(\\\"pointpos\\\",\\\"all\\\"===c?-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\\\"===c&&(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\\\")):delete e.marker,r(\\\"hoveron\\\"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,o,r,i)}s(t,e,c,i),!1!==e.visible&&(c(\\\"line.color\\\",(t.marker||{}).color||r),c(\\\"line.width\\\"),c(\\\"fillcolor\\\",a.addOpacity(e.line.color,.5)),c(\\\"whiskerwidth\\\"),c(\\\"boxmean\\\"),c(\\\"notched\\\",void 0!==t.notchwidth)&&c(\\\"notchwidth\\\"),l(t,e,c,{prefix:\\\"box\\\"}))},handleSampleDefaults:s,handlePointsDefaults:l}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":755}],758:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/fx\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../scatter/fill_hover_text\\\");function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b=t.cd,_=t.xa,w=t.ya,k=b[0].trace,M=b[0].t,A=\\\"violin\\\"===k.type,T=[],S=M.bdPos,C=M.wHover,E=function(t){return t.pos+M.bPos-p};A&&\\\"both\\\"!==k.side?(\\\"positive\\\"===k.side&&(m=function(t){var e=E(t);return a.inbox(e,e+C,v)}),\\\"negative\\\"===k.side&&(m=function(t){var e=E(t);return a.inbox(e-C,e,v)})):m=function(t){var e=E(t);return a.inbox(e-C,e+C,v)},x=A?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},\\\"h\\\"===k.orientation?(h=e,p=r,d=x,g=m,l=\\\"y\\\",u=w,c=\\\"x\\\",f=_):(h=r,p=e,d=m,g=x,l=\\\"x\\\",u=_,c=\\\"y\\\",f=w);var L=Math.min(1,S/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-L,y=t.maxSpikeDistance-L;var P=a.getDistanceFunction(s,d,g,z);if(a.getClosest(b,P,t),!1===t.index)return[];var D=b[t.index],O=k.line.color,I=(k.marker||{}).color;o.opacity(O)&&k.line.width?t.color=O:o.opacity(I)&&k.boxpoints?t.color=I:t.color=k.fillcolor,t[l+\\\"0\\\"]=u.c2p(D.pos+M.bPos-S,!0),t[l+\\\"1\\\"]=u.c2p(D.pos+M.bPos+S,!0),t[l+\\\"LabelVal\\\"]=D.pos;var R=l+\\\"Spike\\\";t.spikeDistance=z(D)*y/v,t[R]=u.c2p(D.pos,!0);var B={},F=[\\\"med\\\",\\\"min\\\",\\\"q1\\\",\\\"q3\\\",\\\"max\\\"];(k.boxmean||(k.meanline||{}).visible)&&F.push(\\\"mean\\\"),(k.boxpoints||k.points)&&F.push(\\\"lf\\\",\\\"uf\\\");for(var N=0;N<F.length;N++){var j=F[N];if(j in D&&!(D[j]in B)){B[D[j]]=!0;var V=D[j],U=f.c2p(V,!0),q=i.extendFlat({},t);q[c+\\\"0\\\"]=q[c+\\\"1\\\"]=U,q[c+\\\"LabelVal\\\"]=V,q[c+\\\"Label\\\"]=(M.labels?M.labels[j]+\\\" \\\":\\\"\\\")+n.hoverLabelText(f,V),\\\"mean\\\"===j&&\\\"sd\\\"in D&&\\\"sd\\\"===k.boxmean&&(q[c+\\\"err\\\"]=D.sd),t.name=\\\"\\\",t.spikeDistance=void 0,t[R]=void 0,T.push(q)}}return T}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),g=a.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(f.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),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:l.x,y0:_-w,y1:_+w,yLabelVal:l.y,spikeDistance:t.distance});var k=\\\"h\\\"===h.orientation?\\\"y\\\":\\\"x\\\",M=\\\"h\\\"===h.orientation?f:u;return n[k+\\\"Spike\\\"]=M.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\\\"boxes\\\")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf(\\\"points\\\")&&(i=c(t,e,r)),\\\"closest\\\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934}],759:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\").supplyDefaults,n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\").supplyLayoutDefaults,n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\").setPositions,n.plot=t(\\\"./plot\\\").plot,n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\").hoverPoints,n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"box\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box-violin\\\",\\\"showLegend\\\",\\\"draggedPts\\\",\\\"boxLayout\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":755,\\\"./calc\\\":756,\\\"./defaults\\\":757,\\\"./hover\\\":758,\\\"./layout_attributes\\\":760,\\\"./layout_defaults\\\":761,\\\"./plot\\\":762,\\\"./select\\\":763,\\\"./set_positions\\\":764,\\\"./style\\\":765}],760:[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\\\"}}},{}],761:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\");function o(t,e,r,i,a){for(var o,s=a+\\\"Layout\\\",l=0;l<r.length;l++)if(n.traceIs(r[l],s)){o=!0;break}o&&(i(a+\\\"mode\\\"),i(a+\\\"gap\\\"),i(a+\\\"groupgap\\\"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},\\\"box\\\")},_supply:o}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./layout_attributes\\\":760}],762:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/drawing\\\"),o=5,s=.01;function l(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.wdPos||0,h=a.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var m=t.selectAll(\\\"path.box\\\").data(i.identity);m.enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"box\\\"),m.exit().remove(),m.each(function(t){var e=t.pos,a=l.c2p(e+u,!0)+h,m=l.c2p(e+u-o,!0)+h,v=l.c2p(e+u+s,!0)+h,y=l.c2p(e+u-f,!0)+h,x=l.c2p(e+u+f,!0)+h,b=l.c2p(e+u-o*g,!0)+h,_=l.c2p(e+u+s*g,!0)+h,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),M=i.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,T=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),C=c.c2p(t.ln,!0),E=c.c2p(t.un,!0);\\\"h\\\"===r.orientation?n.select(this).attr(\\\"d\\\",\\\"M\\\"+M+\\\",\\\"+b+\\\"V\\\"+_+\\\"M\\\"+w+\\\",\\\"+m+\\\"V\\\"+v+(d?\\\"H\\\"+C+\\\"L\\\"+M+\\\",\\\"+_+\\\"L\\\"+E+\\\",\\\"+v:\\\"\\\")+\\\"H\\\"+k+\\\"V\\\"+m+(d?\\\"H\\\"+E+\\\"L\\\"+M+\\\",\\\"+b+\\\"L\\\"+C+\\\",\\\"+m:\\\"\\\")+\\\"ZM\\\"+w+\\\",\\\"+a+\\\"H\\\"+T+\\\"M\\\"+k+\\\",\\\"+a+\\\"H\\\"+S+(0===p?\\\"\\\":\\\"M\\\"+T+\\\",\\\"+y+\\\"V\\\"+x+\\\"M\\\"+S+\\\",\\\"+y+\\\"V\\\"+x)):n.select(this).attr(\\\"d\\\",\\\"M\\\"+b+\\\",\\\"+M+\\\"H\\\"+_+\\\"M\\\"+m+\\\",\\\"+w+\\\"H\\\"+v+(d?\\\"V\\\"+C+\\\"L\\\"+_+\\\",\\\"+M+\\\"L\\\"+v+\\\",\\\"+E:\\\"\\\")+\\\"V\\\"+k+\\\"H\\\"+m+(d?\\\"V\\\"+E+\\\"L\\\"+b+\\\",\\\"+M+\\\"L\\\"+m+\\\",\\\"+C:\\\"\\\")+\\\"ZM\\\"+a+\\\",\\\"+w+\\\"V\\\"+T+\\\"M\\\"+a+\\\",\\\"+k+\\\"V\\\"+S+(0===p?\\\"\\\":\\\"M\\\"+y+\\\",\\\"+T+\\\"H\\\"+x+\\\"M\\\"+y+\\\",\\\"+S+\\\"H\\\"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,f=n.bPos,h=r.boxpoints||r.points;i.seedPseudoRandom();var p=t.selectAll(\\\"g.points\\\").data(function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t});p.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\"),p.exit().remove();var d=p.selectAll(\\\"path\\\").data(function(t){var e,n,a=\\\"all\\\"===h?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(a.length),e=0;e<a.length;e++)d[e]=1;else for(e=0;e<a.length;e++){var m=Math.max(0,e-o),v=a[m].v,y=Math.min(a.length-1,e+o),x=a[y].v;\\\"all\\\"!==h&&(a[e].v<t.lf?x=Math.min(x,t.lf):v=Math.max(v,t.uf));var b=Math.sqrt(p*(y-m)/(x-v+c))||0;b=i.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<a.length;e++){var _=a[e],w=_.v,k=r.jitter?n*d[e]*(i.pseudoRandom()-.5):0,M=t.pos+f+u*(r.pointpos+k);\\\"h\\\"===r.orientation?(_.y=M,_.x=w):(_.x=M,_.y=w),\\\"suspectedoutliers\\\"===h&&w<t.uo&&w>t.lo&&(_.so=!0)}return a});d.enter().append(\\\"path\\\").classed(\\\"point\\\",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var h=t.selectAll(\\\"path.mean\\\").data(i.identity);h.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}),h.exit().remove(),h.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,h=c.c2p(t.mean,!0),p=c.c2p(t.mean-t.sd,!0),d=c.c2p(t.mean+t.sd,!0);\\\"h\\\"===r.orientation?n.select(this).attr(\\\"d\\\",\\\"M\\\"+h+\\\",\\\"+i+\\\"V\\\"+a+(\\\"sd\\\"===r.boxmean?\\\"m0,0L\\\"+p+\\\",\\\"+e+\\\"L\\\"+h+\\\",\\\"+i+\\\"L\\\"+d+\\\",\\\"+e+\\\"Z\\\":\\\"\\\")):n.select(this).attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+h+\\\"H\\\"+a+(\\\"sd\\\"===r.boxmean?\\\"m0,0L\\\"+e+\\\",\\\"+p+\\\"L\\\"+i+\\\",\\\"+h+\\\"L\\\"+e+\\\",\\\"+d+\\\"Z\\\":\\\"\\\"))})}e.exports={plot:function(t,e,r,i){var a=t._fullLayout,o=e.xaxis,s=e.yaxis,f=i.selectAll(\\\"g.trace.boxes\\\").data(r,function(t){return t[0].trace.uid});f.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace boxes\\\"),f.exit().remove(),f.order(),f.each(function(t){var r=t[0],i=r.t,f=r.trace,h=n.select(this);e.isRangePlot||(r.node3=h);var p,d,g=a._numBoxes,m=1-a.boxgap,v=\\\"group\\\"===a.boxmode&&g>1,y=i.dPos*m*(1-a.boxgroupgap)/(v?g:1),x=v?2*i.dPos*((i.num+.5)/g-.5)*m:0,b=y*f.whiskerwidth;!0!==f.visible||i.empty?h.remove():(\\\"h\\\"===f.orientation?(p=s,d=o):(p=o,d=s),i.bPos=x,i.bdPos=y,i.wdPos=b,i.wHover=i.dPos*(v?m/g:1),l(h,{pos:p,val:d},f,i),f.boxpoints&&c(h,{x:o,y:s},f,i),f.boxmean&&u(h,{pos:p,val:d},f,i))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,d3:130}],763:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],764:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\"),a=[\\\"v\\\",\\\"h\\\"];function o(t,e,r,a,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],p=\\\"violin\\\"===t?\\\"_numViolins\\\":\\\"_numBoxes\\\";for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)h.push(c[l].pos);if(h.length){var d=i.distinctVals(h),g=d.minDiff/2;for(h.length===d.vals.length&&(f[p]=1),n.minDtick(a,d.minDiff,d.vals[0],!0),s=0;s<r.length;s++)(c=u[r[s]])[0].t.dPos=g;var m=(1-f[t+\\\"gap\\\"])*(1-f[t+\\\"groupgap\\\"])*g/f[p];n.expand(a,d.vals,{vpadminus:g+o[0]*m,vpadplus:g+o[1]*m})}}e.exports={setPositions:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c=\\\"h\\\"===l?i:n,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\\\"box\\\"!==m.type&&\\\"candlestick\\\"!==m.type||g.empty||(m.orientation||\\\"v\\\")!==l||m.xaxis!==n._id||m.yaxis!==i._id||(u.push(p),m.boxpoints&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}o(\\\"box\\\",t,u,c,[f,h])}},setPositionOffset:o}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],765:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../components/drawing\\\");e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.boxes\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.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(i.stroke,r).call(i.fill,n)}var c=r.selectAll(\\\"path.box\\\");if(\\\"candlestick\\\"===o.type)c.each(function(t){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(i.stroke,o.line.color);var u=r.selectAll(\\\"path.point\\\");a.pointStyle(u,o,t)}})},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace,i=r.selectAll(\\\"path.point\\\");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,d3:130}],766:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").extendFlat,i=t(\\\"../ohlc/attributes\\\"),a=t(\\\"../box/attributes\\\");function o(t){return{line:{color:n({},a.line.color,{dflt:t}),width:a.line.width,editType:\\\"style\\\"},fillcolor:a.fillcolor,editType:\\\"style\\\"}}e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n({},a.line.width,{}),editType:\\\"style\\\"},increasing:o(i.increasing.line.color.dflt),decreasing:o(i.decreasing.line.color.dflt),text:i.text,whiskerwidth:n({},a.whiskerwidth,{dflt:0})}},{\\\"../../lib\\\":602,\\\"../box/attributes\\\":755,\\\"../ohlc/attributes\\\":881}],767:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=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=i.getFromId(t,e.xaxis),l=i.getFromId(t,e.yaxis),c=s.makeCalcdata(e,\\\"x\\\"),u=a(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\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../ohlc/calc\\\":882}],768:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../ohlc/ohlc_defaults\\\"),o=t(\\\"./attributes\\\");function s(t,e,r,n){var a=r(n+\\\".line.color\\\");r(n+\\\".line.width\\\",e.line.width),r(n+\\\".fillcolor\\\",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function l(r,i){return n.coerce(t,e,o,r,i)}a(t,e,l,i)?(l(\\\"line.width\\\"),s(t,e,l,\\\"increasing\\\"),s(t,e,l,\\\"decreasing\\\"),l(\\\"text\\\"),l(\\\"whiskerwidth\\\"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../ohlc/ohlc_defaults\\\":886,\\\"./attributes\\\":766}],769:[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,setPositions:t(\\\"../box/set_positions\\\").setPositions,supplyDefaults:t(\\\"./defaults\\\"),calc:t(\\\"./calc\\\"),plot:t(\\\"../box/plot\\\").plot,layerName:\\\"boxlayer\\\",style:t(\\\"../box/style\\\").style,hoverPoints:t(\\\"../ohlc/hover\\\"),selectPoints:t(\\\"../ohlc/select\\\")}},{\\\"../../plots/cartesian\\\":659,\\\"../box/layout_attributes\\\":760,\\\"../box/layout_defaults\\\":761,\\\"../box/plot\\\":762,\\\"../box/set_positions\\\":764,\\\"../box/style\\\":765,\\\"../ohlc/hover\\\":884,\\\"../ohlc/select\\\":888,\\\"./attributes\\\":766,\\\"./calc\\\":767,\\\"./defaults\\\":768}],770:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./axis_defaults\\\");e.exports=function(t,e,r,i,a){i(\\\"a\\\")||(i(\\\"da\\\"),i(\\\"a0\\\")),i(\\\"b\\\")||(i(\\\"db\\\"),i(\\\"b0\\\")),function(t,e,r,i){[\\\"aaxis\\\",\\\"baxis\\\"].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:\\\"x\\\",id:o+\\\"axis\\\",letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||\\\"-\\\"===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{\\\"./axis_defaults\\\":775}],771:[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;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{\\\"../../lib\\\":602}],772:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"./axis_attributes\\\"),a=t(\\\"../../components/color/attributes\\\"),o=n({editType:\\\"calc\\\"});o.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.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:i,baxis:i,font:o,color:{valType:\\\"color\\\",dflt:a.defaultLine,editType:\\\"plot\\\"}}},{\\\"../../components/color/attributes\\\":473,\\\"../../plots/font_attributes\\\":674,\\\"./axis_attributes\\\":774}],773:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,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:i,w=\\\"a\\\"===y?i:r,k=\\\"a\\\"===y?e.a.length:e.b.length,M=\\\"a\\\"===y?e.b.length:e.a.length,A=Math.floor(\\\"a\\\"===y?t.b2j(w):t.a2i(w)),T=\\\"a\\\"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(M-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]),C=b(_[1]),E=S<C?1:-1,L=1e-8*(C-S),z=E>0?Math.floor:Math.ceil,P=E>0?Math.ceil:Math.floor,D=E>0?Math.min:Math.max,O=E>0?Math.max:Math.min,I=z(S+L),R=P(C-L),B=[[f=T(S)]];for(a=I;a*E<R*E;a+=E)c=[],g=O(S,a),v=(m=D(C,a+E))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+m)))),h=T(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),B.push(c),f=h;return B}},{\\\"../../lib\\\":602}],774:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../plots/cartesian/layout_attributes\\\"),o=t(\\\"../../plot_api/edit_types\\\").overrideAll;e.exports={color:{valType:\\\"color\\\",editType:\\\"calc\\\"},smoothing:{valType:\\\"number\\\",dflt:1,min:0,max:1.3,editType:\\\"calc\\\"},title:{valType:\\\"string\\\",editType:\\\"calc\\\"},titlefont:n({editType:\\\"calc\\\"}),titleoffset:{valType:\\\"number\\\",dflt:10,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(a.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:i.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:i.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\\\"},editType:\\\"calc\\\"}},{\\\"../../components/color/attributes\\\":473,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/font_attributes\\\":674}],775:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./attributes\\\"),i=t(\\\"../../components/color\\\").addOpacity,a=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\\\"),f=t(\\\"../../plots/cartesian/axis_autotype\\\");e.exports=function(t,e,r){var h=r.letter,p=r.font||{},d=n[h+\\\"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=f(e,n)}(e,r.data),\\\"-\\\"===e.type?e.type=\\\"linear\\\":v=t.type=e.type),g(\\\"smoothing\\\"),g(\\\"cheatertype\\\"),g(\\\"showticklabels\\\"),g(\\\"labelprefix\\\",h+\\\" = \\\"),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=h,\\\"date\\\"===v)&&a.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\\\"),o.coerceFont(g,\\\"titlefont\\\",{family:p.family,size:Math.round(1.2*p.size),color:x}),g(\\\"titleoffset\\\"),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:h});var b=m(\\\"gridcolor\\\",i(y,.3)),_=m(\\\"gridwidth\\\"),w=g(\\\"showgrid\\\");w||(delete e.gridcolor,delete e.gridwidth);var k=m(\\\"startlinecolor\\\",y),M=m(\\\"startlinewidth\\\",_);g(\\\"startline\\\",e.showgrid||!!k||!!M)||(delete e.startlinecolor,delete e.startlinewidth);var A=m(\\\"endlinecolor\\\",y),T=m(\\\"endlinewidth\\\",_);return g(\\\"endline\\\",e.showgrid||!!A||!!T)||(delete e.endlinecolor,delete e.endlinewidth),w?(g(\\\"minorgridcount\\\"),g(\\\"minorgridwidth\\\",_),g(\\\"minorgridcolor\\\",i(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.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_autotype\\\":649,\\\"../../plots/cartesian/category_order_defaults\\\":652,\\\"../../plots/cartesian/set_convert\\\":666,\\\"../../plots/cartesian/tick_label_defaults\\\":667,\\\"../../plots/cartesian/tick_value_defaults\\\":669,\\\"../../registry\\\":732,\\\"./attributes\\\":772}],776:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\").isArray1D,a=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\\\"),f=t(\\\"./smooth_fill_2d_array\\\"),h=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&&i(v)&&x.push(\\\"x\\\"),y&&i(y)&&x.push(\\\"y\\\"),x.length&&h(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 k=\\\"index\\\"===g.cheatertype?b.length:b,M=\\\"index\\\"===m.cheatertype?_.length:_;v=a(k,M,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var A=o(v),T=o(y),S=.5*(A[1]-A[0]),C=.5*(A[1]+A[0]),E=.5*(T[1]-T[0]),L=.5*(T[1]+T[0]);return A=[C-1.3*S,C+1.3*S],T=[L-1.3*E,L+1.3*E],n.expand(r,A,{padded:!0}),n.expand(d,T,{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\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../heatmap/clean_2d_array\\\":837,\\\"../heatmap/convert_column_xyz\\\":839,\\\"./array_minmax\\\":771,\\\"./calc_clippath\\\":777,\\\"./calc_gridlines\\\":778,\\\"./calc_labels\\\":779,\\\"./cheater_basis\\\":781,\\\"./set_convert\\\":794,\\\"./smooth_fill_2d_array\\\":795}],777:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],778:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t[\\\"_\\\"+e],b=t[e+\\\"axis\\\"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=t[\\\"_\\\"+r],A=t[r+\\\"axis\\\"];\\\"array\\\"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,C=T[0].length,E=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),\\\"array\\\"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function D(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if(\\\"b\\\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<L;i++)c=Math.min(L-2,i),u=i-c,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<z;a++)o=Math.min(z-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=M.length,\\\"b\\\"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<C;i++)c[i]=T[n*P][i],u[i]=S[n*P][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<E;i++)c[i]=T[i][n*P],u[i]=S[i][n*P];return f.axisLetter=e,f.axis=b,f.crossAxis=A,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=A.smoothing,f}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,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(O(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,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],a=0;a<b.minorgridcount;a++)(y=g-s)<=0||(d=m+(v-m)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(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],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(D(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(D(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(D(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\\\"../../lib/extend\\\":591,\\\"../../plots/cartesian/axes\\\":648}],779:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\\\"start\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a)),-1!==[\\\"end\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a))}},{\\\"../../lib/extend\\\":591,\\\"../../plots/cartesian/axes\\\":648}],780:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],781:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=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])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var g=1/0,m=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[a][i]=c;var v=1/(m-g),y=-g*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{\\\"../../lib\\\":602}],782:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./catmull_rom\\\"),i=t(\\\"../../lib\\\").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,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=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],g=r[u],m=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=g[c],d[f]=m[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=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[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{\\\"../../lib\\\":602,\\\"./catmull_rom\\\":780}],783:[function(t,e,r){\\\"use strict\\\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],784:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,g=p*i*2,m=-3*d,v=3*(d-g),y=3*(g-h),x=3*h,b=a*a,_=b*a,w=1-a,k=w*w,M=k*w;for(f=0;f<t.length;f++)o=m*(u=t[f])[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[f]=M*o+3*(k*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,g=3*(h-p),m=3*(p-u),v=3*u,y=1-a;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+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;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+a*s;return e}}},{}],785:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,g=d*d,m=g*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),k=3*(b-v),M=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+k*u[n+2][r]+M*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+M*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+M*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+M*u[n+3][r+3],e[f]=m*o+3*(g*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,g=-3*p,m=3*(p-d),v=3*(d-f),y=3*f;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+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;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+i*s;return e}}},{}],786:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,M=k*k,A=M*k;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*m*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*m*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*m*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*m*u[p+3][h+2])+v*u[p+3][h+3],e[f]=A*i+3*(M*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=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++)i=_*(f=t[u])[p][h]+g*f[p+1][h],s=_*f[p][h+1]+g*f[p+1][h+1],l=_*f[p][h+2]+g*f[p+1][h+1],c=_*f[p][h+3]+g*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*m*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),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++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,g=1-h;for(l=0;l<t.length;l++)i=g*(c=t[l])[f][u]+h*c[f][u+1],s=g*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],787:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./xy_defaults\\\"),a=t(\\\"./ab_defaults\\\"),o=t(\\\"./attributes\\\"),s=t(\\\"../../components/color/attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId=\\\"clip\\\"+e.uid+\\\"carpet\\\";var u=c(\\\"color\\\",s.defaultLine);(n.coerceFont(c,\\\"font\\\"),c(\\\"carpet\\\"),a(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),i(t,e,c)||(e.visible=!1),e._cheater&&c(\\\"cheaterslope\\\")):e.visible=!1}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib\\\":602,\\\"./ab_defaults\\\":770,\\\"./attributes\\\":772,\\\"./xy_defaults\\\":796}],788:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.plot=t(\\\"./plot\\\"),n.calc=t(\\\"./calc\\\"),n.animatable=!0,n.isContainer=!0,n.moduleType=\\\"trace\\\",n.name=\\\"carpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"carpet\\\",\\\"carpetAxis\\\",\\\"notLegendIsolatable\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":772,\\\"./calc\\\":776,\\\"./defaults\\\":787,\\\"./plot\\\":793}],789:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\\\"carpet\\\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],790:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){if(0===t.length)return\\\"\\\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\\\",\\\"+e[n]),r&&n<t.length-a&&(i.push(\\\"C\\\"),i.push([t[n+1]+\\\",\\\"+e[n+1],t[n+2]+\\\",\\\"+e[n+2]+\\\" \\\"].join(\\\" \\\")));return i.join(r?\\\"\\\":\\\"L\\\")}},{}],791:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{\\\"../../lib\\\":602}],792:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}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}}},{}],793:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"./map_1d_array\\\"),o=t(\\\"./makepath\\\"),s=t(\\\"./orient_text\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../constants/alignment\\\"),f=t(\\\"../../plots/get_data\\\").getUidsFromCalcData;function h(t,e,r,n){var i=r[0],l=r[0].trace,u=e.xaxis,f=e.yaxis,h=l.aaxis,g=l.baxis,m=t._fullLayout._clips,y=c.ensureSingle(n,\\\"g\\\",\\\"carpet\\\"+l.uid).classed(\\\"trace\\\",!0),x=c.ensureSingle(y,\\\"g\\\",\\\"minorlayer\\\"),b=c.ensureSingle(y,\\\"g\\\",\\\"majorlayer\\\"),_=c.ensureSingle(y,\\\"g\\\",\\\"boundarylayer\\\"),w=c.ensureSingle(y,\\\"g\\\",\\\"labellayer\\\");y.style(\\\"opacity\\\",l.opacity),p(u,f,b,h,\\\"a\\\",h._gridlines),p(u,f,b,g,\\\"b\\\",g._gridlines),p(u,f,x,h,\\\"a\\\",h._minorgridlines),p(u,f,x,g,\\\"b\\\",g._minorgridlines),p(u,f,_,h,\\\"a-boundary\\\",h._boundarylines),p(u,f,_,g,\\\"b-boundary\\\",g._boundarylines),function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,\\\"a-title\\\"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,\\\"b-title\\\")}(t,w,l,i,u,f,d(t,u,f,l,i,w,h._labels,\\\"a-label\\\"),d(t,u,f,l,i,w,g._labels,\\\"b-label\\\")),function(t,e,r,n,i){var s,l,u,f,h=r.select(\\\"#\\\"+t._clipPathId);h.size()||(h=r.append(\\\"clipPath\\\").classed(\\\"carpetclip\\\",!0));var p=c.ensureSingle(h,\\\"path\\\",\\\"carpetboundary\\\"),d=e.clipsegments,g=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),g.push(o(l,u,s.bicubic));var m=\\\"M\\\"+g.join(\\\"L\\\")+\\\"Z\\\";h.attr(\\\"id\\\",t._clipPathId),p.attr(\\\"d\\\",m)}(l,i,m,u,f)}function p(t,e,r,i,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 i=r,s=i.x,l=i.y,c=a([],s,t.c2p),u=a([],l,e.c2p),f=\\\"M\\\"+o(c,u,i.smoothing);n.select(this).attr(\\\"d\\\",f).style(\\\"stroke-width\\\",i.width).style(\\\"stroke\\\",i.color).style(\\\"fill\\\",\\\"none\\\")}),u.exit().remove()}function d(t,e,r,a,o,c,u,f){var h=c.selectAll(\\\"text.\\\"+f).data(u);h.enter().append(\\\"text\\\").classed(f,!0);var p=0,d={};return h.each(function(o,c){var u;if(\\\"auto\\\"===o.axis.tickangle)u=s(a,e,r,o.xy,o.dxy);else{var f=(o.axis.tickangle+180)*Math.PI/180;u=s(a,e,r,o.xy,[Math.cos(f),Math.sin(f)])}c||(d={angle:u.angle,flip:u.flip});var h=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({\\\"text-anchor\\\":h>0?\\\"start\\\":\\\"end\\\",\\\"data-notex\\\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);g.attr(\\\"transform\\\",\\\"translate(\\\"+u.p[0]+\\\",\\\"+u.p[1]+\\\") rotate(\\\"+u.angle+\\\")translate(\\\"+o.axis.labelpadding*h+\\\",\\\"+.3*m.height+\\\")\\\"),p=Math.max(p,m.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var a=f(r);i.selectAll(\\\"g.trace\\\").each(function(){var t=n.select(this).attr(\\\"class\\\").split(\\\"carpet\\\")[1].split(/\\\\s/)[0];a[t]||n.select(this).remove()});for(var o=0;o<r.length;o++)h(t,e,r[o],i)};var g=u.LINE_SPACING,m=(1-u.MID_SHIFT)/g+1;function v(t,e,r,a,o,c,u,f,h,p,d){var v=[];u.title&&v.push(u.title);var y=e.selectAll(\\\"text.\\\"+d).data(v),x=p.maxExtent;y.enter().append(\\\"text\\\").classed(d,!0),y.each(function(){var e=s(r,f,h,o,c);-1===[\\\"start\\\",\\\"both\\\"].indexOf(u.showticklabels)&&(x=0);var a=u.titlefont.size;x+=a+u.titleoffset;var d=(p.angle+(p.flip<0?180:0)-e.angle+450)%360,v=d>90&&d<270,y=n.select(this);y.text(u.title||\\\"\\\").call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+m)*g*a-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(i.font,u.titlefont)}),y.exit().remove()}},{\\\"../../components/drawing\\\":499,\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/get_data\\\":684,\\\"./makepath\\\":790,\\\"./map_1d_array\\\":791,\\\"./orient_text\\\":792,d3:130}],794:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../lib/search\\\").findBin,a=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,f=t.aaxis,h=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=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.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(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-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,i,a){if(!a&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];n<e[0]?(f=0,h=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,m=(i-r[0])/(r[1]-r[0])):i>r[u-1]?(p=u-2,d=1,m=(i-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,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,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,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\\\"../../lib/search\\\":621,\\\"./compute_control_points\\\":782,\\\"./constants\\\":783,\\\"./create_i_derivative_evaluator\\\":784,\\\"./create_j_derivative_evaluator\\\":785,\\\"./create_spline_evaluator\\\":786}],795:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,g,m,v,y,x,b,_,w,k=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),k=Math.max(k,Math.abs(t[a][i]));if(!s.length)return t;var M=0,A=0,T=s.length;do{for(M=0,o=0;o<T;o++){i=s[o],a=l[o];var S,C,E,L,z,P,D=0,O=0;0===i?(E=e[z=Math.min(c-1,2)],L=e[1],S=t[a][z],O+=(C=t[a][1])+(C-S)*(e[0]-L)/(L-E),D++):i===c-1&&(E=e[z=Math.max(0,c-3)],L=e[c-2],S=t[a][z],O+=(C=t[a][c-2])+(C-S)*(e[c-1]-L)/(L-E),D++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],O+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),D++),0===a?(E=r[P=Math.min(u-1,2)],L=r[1],S=t[P][i],O+=(C=t[1][i])+(C-S)*(r[0]-L)/(L-E),D++):a===u-1&&(E=r[P=Math.max(0,u-3)],L=r[u-2],S=t[P][i],O+=(C=t[u-2][i])+(C-S)*(r[u-1]-L)/(L-E),D++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],O+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),D++),D?O/=D:(d=e[i+1]-e[i],g=e[i]-e[i-1],x=(m=r[a+1]-r[a])*(v=r[a]-r[a-1])*(m+v),O=((y=d*g*(d+g))*(v*t[a+1][i]+m*t[a-1][i])+x*(g*t[a][i+1]+d*t[a][i-1]))/(x*(g+d)+y*(v+m))),M+=(_=(b=O-t[a][i])/k)*_,w=D?0:.85,t[a][i]+=b*(1+w)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return n.log(\\\"Smoother converged to\\\",M,\\\"after\\\",A,\\\"iterations\\\"),t}},{\\\"../../lib\\\":602}],796:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArray1D;e.exports=function(t,e,r){var i=r(\\\"x\\\"),a=i&&i.length,o=r(\\\"y\\\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.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\\\":602}],797:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../lib/extend\\\"),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},locationmode:n.locationmode,z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:\\\"calc\\\"},opacity:{valType:\\\"number\\\",arrayOk:!0,min:0,max:1,dflt:1,editType:\\\"style\\\"},editType:\\\"calc\\\"},selected:{marker:{opacity:n.selected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},hoverinfo:l({},o.hoverinfo,{editType:\\\"calc\\\",flags:[\\\"location\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"]})},c({},i,{zmax:{editType:\\\"calc\\\"},zmin:{editType:\\\"calc\\\"}}),{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scattergeo/attributes\\\":964}],798:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=t(\\\"../../components/colorscale/calc\\\"),o=t(\\\"../scatter/arrays_to_calcdata\\\"),s=t(\\\"../scatter/calc_selection\\\");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c<r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=\\\"string\\\"==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,\\\"\\\",\\\"z\\\"),s(l,e),l}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../constants/numerical\\\":579,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc_selection\\\":928,\\\"fast-isnumeric\\\":196}],799:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/colorscale/defaults\\\"),a=t(\\\"./attributes\\\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\\\"locations\\\"),c=s(\\\"z\\\");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s(\\\"locationmode\\\"),s(\\\"text\\\"),s(\\\"marker.line.color\\\"),s(\\\"marker.line.width\\\"),s(\\\"marker.opacity\\\"),i(t,e,o,s,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"./attributes\\\":797}],800:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],801:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../scatter/fill_hover_text\\\");e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=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,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=\\\"all\\\"===s?i.hoverinfo.flags:s.split(\\\"+\\\"),c=-1!==l.indexOf(\\\"name\\\"),u=-1!==l.indexOf(\\\"location\\\"),f=-1!==l.indexOf(\\\"z\\\"),h=-1!==l.indexOf(\\\"text\\\"),p=[];!c&&u?t.nameOverride=r.loc:(c&&(t.nameOverride=e.name),u&&p.push(r.loc));f&&p.push((d=r.z,n.tickText(o,o.c2l(d),\\\"hover\\\").text));var d;h&&a(r,e,p);t.extraText=p.join(\\\"<br>\\\")}(t,f,o,h.mockAxis),[t]}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934,\\\"./attributes\\\":797}],802:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"choropleth\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":678,\\\"../heatmap/colorbar\\\":838,\\\"./attributes\\\":797,\\\"./calc\\\":798,\\\"./defaults\\\":799,\\\"./event_data\\\":800,\\\"./hover\\\":801,\\\"./plot\\\":803,\\\"./select\\\":804,\\\"./style\\\":805}],803:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../lib/polygon\\\"),o=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,s=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,l=t(\\\"./style\\\").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a<n;a++){var l=t[a],c=s(r.locationmode,l.loc,i);c?(l.geojson=c,l.ct=c.properties.ct,l.index=a,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,i,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(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\\\"===l||\\\"FJI\\\"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];c.push(a.tester(e))}:\\\"ATA\\\"===l?function(t){var e=u(t);if(null===e)return c.push(a.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case\\\"MultiPolygon\\\":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case\\\"Polygon\\\":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports=function(t,e,r){for(var a=0;a<r.length;a++)c(r[a],e.topojson);var o=e.layers.backplot.select(\\\".choroplethlayer\\\").selectAll(\\\"g.trace.choropleth\\\").data(r,function(t){return t[0].trace.uid});o.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace choropleth\\\"),o.exit().remove(),o.each(function(e){var r=(e[0].node3=n.select(this)).selectAll(\\\"path.choroplethlocation\\\").data(i.identity);r.enter().append(\\\"path\\\").classed(\\\"choroplethlocation\\\",!0),r.exit().remove(),l(t,e)})}},{\\\"../../lib\\\":602,\\\"../../lib/geo_location_utils\\\":594,\\\"../../lib/polygon\\\":614,\\\"../../lib/topojson_utils\\\":629,\\\"./style\\\":805,d3:130}],804:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i,a,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++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o])?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],805:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=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.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(\\\"fill\\\",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,\\\"\\\",t.mlw||c.width||0).style(\\\"opacity\\\",l.opacity)}),a.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?a.selectedPointStyle(r.selectAll(\\\".choroplethlocation\\\"),n,t):s(t,e)}}},{\\\"../../components/color\\\":474,\\\"../../components/colorscale\\\":489,\\\"../../components/drawing\\\":499,d3:130}],806:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../plots/font_attributes\\\"),c=t(\\\"../../lib/extend\\\").extendFlat,u=t(\\\"../../constants/filter_ops\\\"),f=u.COMPARISON_OPS2,h=u.INTERVAL_OPS,p=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps: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:l({editType:\\\"plot\\\",colorEditType:\\\"style\\\"}),labelformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"plot\\\"},operation:{valType:\\\"enumerated\\\",values:[].concat(f).concat(h),dflt:\\\"=\\\",editType:\\\"calc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"calc\\\"},editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:c({},p.color,{editType:\\\"style+colorbars\\\"}),width:c({},p.width,{editType:\\\"style+colorbars\\\"}),dash:s,smoothing:c({},p.smoothing,{}),editType:\\\"plot\\\"}},a,{autocolorscale:c({},a.autocolorscale,{dflt:!1}),zmin:c({},a.zmin,{editType:\\\"calc\\\"}),zmax:c({},a.zmax,{editType:\\\"calc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../components/drawing/attributes\\\":498,\\\"../../constants/filter_ops\\\":575,\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"../heatmap/attributes\\\":835,\\\"../scatter/attributes\\\":926}],807:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/calc\\\"),i=t(\\\"./set_contours\\\");e.exports=function(t,e){var r=n(t,e);return i(e),r}},{\\\"../heatmap/calc\\\":836,\\\"./set_contours\\\":825}],808:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,c=s.y.length,u=s.z,f=n.contours,h=-1/0,p=1/0;for(i=0;i<c;i++)p=Math.min(p,u[i][0]),p=Math.min(p,u[i][l-1]),h=Math.max(h,u[i][0]),h=Math.max(h,u[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,u[0][i]),p=Math.min(p,u[c-1][i]),h=Math.max(h,u[0][i]),h=Math.max(h,u[c-1][i]);switch(s.prefixBoundary=!1,e){case\\\">\\\":f.value>h&&(s.prefixBoundary=!0);break;case\\\"<\\\":f.value<p&&(s.prefixBoundary=!0);break;case\\\"[]\\\":a=Math.min.apply(null,f.value),((o=Math.max.apply(null,f.value))<p||a>h)&&(s.prefixBoundary=!0);break;case\\\"][\\\":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),a<p&&o>h&&(s.prefixBoundary=!0)}}},{}],809:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/plots\\\"),i=t(\\\"../../components/colorbar/draw\\\"),a=t(\\\"./make_color_map\\\"),o=t(\\\"./end_plus\\\");e.exports=function(t,e){var r=e[0].trace,s=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,p=a(r,{isColorbar:!0});\\\"heatmap\\\"===h&&l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(\\\"fill\\\"===h||\\\"heatmap\\\"===h?p:\\\"\\\").line({color:\\\"lines\\\"===h?p:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../plots/plots\\\":710,\\\"./end_plus\\\":817,\\\"./make_color_map\\\":822}],810:[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}}},{}],811:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./label_defaults\\\"),a=t(\\\"../../components/color\\\"),o=a.addOpacity,s=a.opacity,l=t(\\\"../../constants/filter_ops\\\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,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?h=g.showlines=!0:(h=r(\\\"contours.showlines\\\"),d=r(\\\"fillcolor\\\",o((t.line||{}).color||l,.5))),h)&&(p=r(\\\"line.color\\\",d&&s(d)?o(e.fillcolor,1):l),r(\\\"line.width\\\",2),r(\\\"line.dash\\\"));r(\\\"line.smoothing\\\"),i(r,a,p,f)}},{\\\"../../components/color\\\":474,\\\"../../constants/filter_ops\\\":575,\\\"./label_defaults\\\":821,\\\"fast-isnumeric\\\":196}],812:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/filter_ops\\\"),i=t(\\\"fast-isnumeric\\\");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(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=a(t,e),end:1/0,size:1/0}}}e.exports={\\\"[]\\\":o(\\\"[]\\\"),\\\"][\\\":o(\\\"][\\\"),\\\">\\\":s(\\\">\\\"),\\\"<\\\":s(\\\"<\\\"),\\\"=\\\":s(\\\"=\\\")}},{\\\"../../constants/filter_ops\\\":575,\\\"fast-isnumeric\\\":196}],813:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i=n(\\\"contours.start\\\"),a=n(\\\"contours.end\\\"),o=!1===i||!1===a,s=r(\\\"contours.size\\\");!(o?e.autocontour=!0:r(\\\"autocontour\\\",!1))&&s||r(\\\"ncontours\\\")}},{}],814:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,a,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.\\\"),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[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.\\\"),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));return[a]}}},{\\\"../../lib\\\":602}],815:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/xyz_defaults\\\"),a=t(\\\"./constraint_defaults\\\"),o=t(\\\"./contours_defaults\\\"),s=t(\\\"./style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}if(i(t,e,u,c)){u(\\\"text\\\");var f=\\\"constraint\\\"===u(\\\"contours.type\\\");u(\\\"connectgaps\\\",n.isArray1D(e.z)),f||delete e.showlegend,f?a(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\\\":602,\\\"../heatmap/xyz_defaults\\\":850,\\\"./attributes\\\":806,\\\"./constraint_defaults\\\":811,\\\"./contours_defaults\\\":813,\\\"./style_defaults\\\":827}],816:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./constraint_mapping\\\"),a=t(\\\"./end_plus\\\");e.exports=function(t,e,r){for(var o=\\\"constraint\\\"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=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},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return l}},{\\\"../../lib\\\":602,\\\"./constraint_mapping\\\":812,\\\"./end_plus\\\":817}],817:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t.end+t.size/1e6}},{}],818:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./constants\\\");function a(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(\\\",\\\"),f=u,h=t.crossings[f],p=function(t,e,r){var n=0,a=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(\\\",\\\"),m=t.z.length,v=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log(\\\"Found bad marching index:\\\",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(\\\",\\\");var y=p[0]&&(e[0]<0||e[0]>v-2)||p[1]&&(e[1]<0||e[1]>m-2);if(f===u&&p.join(\\\",\\\")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log(\\\"Infinite loop in contour?\\\");var x,b,_,w,k,M,A,T,S,C,E,L,z,P,D,O=a(d[0],d[d.length-1],o,l),I=0,R=.2*t.smoothing,B=[],F=0;for(c=1;c<d.length;c++)L=d[c],z=d[c-1],void 0,void 0,P=L[2]-z[2],D=L[3]-z[3],I+=A=Math.sqrt(P*P+D*D),B.push(A);var N=I/B.length*R;function j(t){return d[t%d.length]}for(c=d.length-2;c>=F;c--)if((x=B[c])<N){for(_=0,b=c-1;b>=F&&x+B[b]<N;b--)x+=B[b];if(O&&c===d.length-2)for(_=0;_<b&&x+B[_]<N;_++)x+=B[_];k=c-b+_+1,M=Math.floor((c+b+_+2)/2),w=O||c!==d.length-2?O||-1!==b?k%2?j(M):[(j(M)[0]+j(M+1)[0])/2,(j(M)[1]+j(M+1)[1])/2]:d[0]:d[d.length-1],d.splice(b+1,c-b+1,w),c=b+1,_&&(F=_),O&&(c===d.length-2?d[_]=d[d.length-1]:0===c&&(d[d.length-1]=d[0]))}for(d.splice(0,F),c=0;c<d.length;c++)d[c].length=2;if(!(d.length<2))if(O)d.pop(),t.paths.push(d);else{r||n.log(\\\"Unclosed interior contour?\\\",t.level,u,d.join(\\\"L\\\"));var V=!1;for(T=0;T<t.edgepaths.length;T++)if(C=t.edgepaths[T],!V&&a(C[0],d[d.length-1],o,l)){d.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(a((E=t.edgepaths[S])[E.length-1],d[0],o,l)){U=!0,d.shift(),t.edgepaths.splice(T,1),S===T?t.paths.push(d.concat(E)):(S>T&&S--,t.edgepaths[S]=E.concat(d,C));break}U||(t.edgepaths[T]=d.concat(C))}for(T=0;T<t.edgepaths.length&&!V;T++)a((C=t.edgepaths[T])[C.length-1],d[0],o,l)&&(d.shift(),t.edgepaths[T]=C.concat(d),V=!0);V||t.edgepaths.push(d)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],\\\"edge\\\",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(\\\",\\\").map(Number),void 0,e,r);1e4===i&&n.log(\\\"Infinite loop in contour?\\\")}}},{\\\"../../lib\\\":602,\\\"./constants\\\":810}],819:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../heatmap/hover\\\");e.exports=function(t,e,r,a,o){var s=i(t,e,r,a,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\\\":474,\\\"../heatmap/hover\\\":842}],820:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\").plot,n.style=t(\\\"./style\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":806,\\\"./calc\\\":807,\\\"./colorbar\\\":809,\\\"./defaults\\\":815,\\\"./hover\\\":819,\\\"./plot\\\":824,\\\"./style\\\":826}],821:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){if(i||(i={}),t(\\\"contours.showlabels\\\")){var a=e.font;n.coerceFont(t,\\\"contours.labelfont\\\",{family:a.family,size:a.size,color:r}),t(\\\"contours.labelformat\\\")}!1!==i.hasHover&&t(\\\"zhoverformat\\\")}},{\\\"../../lib\\\":602}],822:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/colorscale\\\"),a=t(\\\"./end_plus\\\");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c=\\\"lines\\\"===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,p=h.length,d=new Array(p),g=new Array(p);if(\\\"heatmap\\\"===e.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f<p;f++)u=h[f],d[f]=u[0]*(t.zmax-t.zmin)+t.zmin,g[f]=u[1];var m=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=m[t.zmin<t.zmax?0:1],y=m[t.zmin<t.zmax?1:0];v!==t.zmin&&(d.splice(0,0,v),g.splice(0,0,Range[0])),y!==t.zmax&&(d.push(y),g.push(g[g.length-1]))}else for(f=0;f<p;f++)u=h[f],d[f]=(u[0]*(l+c-1)-c/2)*s+r,g[f]=u[1];return i.makeColorScaleFunc({domain:d,range:g},{noNumericCheck:!0})}},{\\\"../../components/colorscale\\\":489,\\\"./end_plus\\\":817,d3:130}],823:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\");function i(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,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[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(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+\\\",\\\"+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{\\\"./constants\\\":810}],824:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/drawing\\\"),o=t(\\\"../../lib/svg_text_utils\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../../plots/cartesian/set_convert\\\"),c=t(\\\"../../plots/get_data\\\").getUidsFromCalcData,u=t(\\\"../heatmap/plot\\\"),f=t(\\\"./make_crossings\\\"),h=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,o,s){var l=o[0].trace,c=o[0].x,v=o[0].y,y=l.contours,b=\\\"contour\\\"+l.uid,_=e.xaxis,w=e.yaxis,k=t._fullLayout,M=p(y,e,o[0]),A=i.ensureSingle(s,\\\"g\\\",\\\"heatmapcoloring\\\"),T=[];\\\"heatmap\\\"===y.coloring&&(l.zauto&&!1===l.autocontour&&(l._input.zmin=l.zmin=y.start-y.size/2,l._input.zmax=l.zmax=l.zmin+M.length*y.size),T=[o]),u(t,e,T,A),f(M),h(M);var S=_.c2p(c[0],!0),C=_.c2p(c[c.length-1],!0),E=w.c2p(v[0],!0),L=w.c2p(v[v.length-1],!0),z=[[S,L],[C,L],[C,E],[S,E]],P=M;\\\"constraint\\\"===y.type&&(P=d(M,y._operation),g(P,y._operation,z,l));var D=r.makeContourGroup(s,o,b);!function(t,e,r){var n=i.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\\\")}(D,z,y),function(t,e,r,a){var o=i.ensureSingle(t,\\\"g\\\",\\\"contourfill\\\").selectAll(\\\"path\\\").data(\\\"fill\\\"===a.coloring||\\\"constraint\\\"===a.type&&\\\"=\\\"!==a._operation?e:[]);o.enter().append(\\\"path\\\"),o.exit().remove(),o.each(function(t){var e=x(t,r);e?n.select(this).attr(\\\"d\\\",e).style(\\\"stroke\\\",\\\"none\\\"):n.select(this).remove()})}(D,P,z,y),function(t,e,o,s,l,c){var u=i.ensureSingle(t,\\\"g\\\",\\\"contourlines\\\"),f=!1!==l.showlines,h=l.showlabels,p=f&&h,d=r.createLines(u,f||h,e),g=r.createLineClip(u,p,o._fullLayout._clips,s.trace.uid),v=t.selectAll(\\\"g.contourlabels\\\").data(h?[0]:[]);if(v.exit().remove(),v.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),h){var y=[c],x=[];i.clearLocationCache();var b=r.labelFormatter(l,s.t.cb,o._fullLayout),_=a.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(a.font,l.labelfont),w=e[0].xaxis._length,k=e[0].yaxis._length,M={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],k)};M.middle=(M.top+M.bottom)/2,M.center=(M.left+M.right)/2;var A=Math.sqrt(w*w+k*k),T=m.LABELDISTANCE*A/Math.max(1,e.length/m.LABELINCREASE);d.each(function(t){var e=r.calcTextOpts(t.level,b,_,o);n.select(this).selectAll(\\\"path\\\").each(function(){var t=i.getVisibleSegment(this,M,e.height/2);if(t&&!(t.len<(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),m.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,x,M);if(!o)break;r.addLabelData(o,e,x,y)}})}),_.remove(),r.drawLabels(v,x,o,g,p?y:null)}h&&!f&&d.remove()}(D,M,t,o[0],y,z),function(t,e,r,n,o){var s=\\\"clip\\\"+n.trace.uid,l=r.selectAll(\\\"#\\\"+s).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(\\\"clipPath\\\").classed(\\\"contourclip\\\",!0).attr(\\\"id\\\",s),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};f([c]),h([c]);var u=x(c,o),p=i.ensureSingle(l,\\\"path\\\",\\\"\\\");p.attr(\\\"d\\\",u)}else s=null;t.call(a.setClipUrl,s),e.plot.selectAll(\\\".hm\\\"+n.trace.uid).call(a.setClipUrl,s)}(D,e,k._clips,o[0],z)}function x(t,e){var r,n,o,s,l,c,u,f=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\":\\\"\\\"}(t,e),h=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=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,\\\"L\\\"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log(\\\"Missing end?\\\",h,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):i.log(\\\"endpt to newendpt is not vert. or horz.\\\",r,n,y)}if(r=n,s>=0)break;f+=\\\"L\\\"+n}if(s===t.edgepaths.length){i.log(\\\"unclosed perimeter path\\\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\\\"Z\\\")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function b(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(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(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,M=2*i.segmentDistance(g,m,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,T=A?v.SAMELEVELDISTANCE:1;if(M<=T)return 1/0;d+=v.NEIGHBORCOST*(A?v.SAMELEVELFACTOR:1)/(M-T)}return d}r.plot=function(t,e,r,i){var a=c(r);i.selectAll(\\\"g.contour\\\").each(function(t){a[t.trace.uid]||n.select(this).remove()});for(var o=0;o<r.length;o++)y(t,e,r[o],i)},r.makeContourGroup=function(t,e,r){var n=t.selectAll(\\\"g.contour.\\\"+r).data(e);return n.enter().append(\\\"g\\\").classed(\\\"contour\\\",!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\\\"g.contourlevel\\\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\\\"g\\\").classed(\\\"contourlevel\\\",!0),e){var o=i.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 a.smoothopen(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\");var s=i.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 a.smoothclosed(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\")}return i},r.createLineClip=function(t,e,r,n){var i=e?\\\"clipline\\\"+n:null,o=r.selectAll(\\\"#\\\"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append(\\\"clipPath\\\").classed(\\\"contourlineclip\\\",!0).attr(\\\"id\\\",i),a.setClipUrl(t,i),o},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\\\"linear\\\",_id:\\\"ycontour\\\",showexponent:\\\"all\\\"},\\\"constraint\\\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),l(n,r),s.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return s.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(o.convertToTspans,n);var s=a.bBox(r.node(),!0);return{text:i,width:s.width,height:s.height,level:t,dy:(s.top+s.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/v.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(v.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<v.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=i.getTextLocation(t,e.total,d,f),m=b(g,r,n,a);m<h&&(h=m,u=g,c=d)}if(h>2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){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,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\\\"rotate(\\\"+180*t.theta/Math.PI+\\\" \\\"+e+\\\" \\\"+i+\\\")\\\"}).call(o.convertToTspans,r)}),s){for(var c=\\\"\\\",u=0;u<s.length;u++)c+=\\\"M\\\"+s[u].join(\\\"L\\\")+\\\"Z\\\";i.ensureSingle(a,\\\"path\\\",\\\"\\\").attr(\\\"d\\\",c)}}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/cartesian/set_convert\\\":666,\\\"../../plots/get_data\\\":684,\\\"../heatmap/plot\\\":847,\\\"./close_boundaries\\\":808,\\\"./constants\\\":810,\\\"./convert_to_constraints\\\":814,\\\"./empty_pathinfo\\\":816,\\\"./find_all_paths\\\":818,\\\"./make_crossings\\\":823,d3:130}],825:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\");function a(t,e,r){var i={type:\\\"linear\\\",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t){var e=t.contours;if(t.autocontour){var r=t.zmin,o=t.zmax;void 0!==r&&void 0!==o||(r=i.aggNums(Math.min,null,t._z),o=i.aggNums(Math.max,null,t._z));var s=a(r,o,t.ncontours);e.size=s.dtick,e.start=n.tickFirst(s),s.range.reverse(),e.end=n.tickFirst(s),e.start===r&&(e.start+=e.size),e.end===o&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\\\"constraint\\\"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],826:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=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.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=\\\"constraint\\\"===a.type,f=!u&&\\\"lines\\\"===a.coloring,h=!u&&\\\"fill\\\"===a.coloring,p=f||h?o(r):null;e.selectAll(\\\"g.contourlevel\\\").each(function(t){n.select(this).selectAll(\\\"path\\\").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)});var d=a.labelfont;if(e.selectAll(\\\"g.contourlabels text\\\").each(function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})}),u)e.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",r.fillcolor);else if(h){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))}}),a(t)}},{\\\"../../components/drawing\\\":499,\\\"../heatmap/style\\\":848,\\\"./make_color_map\\\":822,d3:130}],827:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/defaults\\\"),i=t(\\\"./label_defaults\\\");e.exports=function(t,e,r,a,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&&n(t,e,a,r,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),r(\\\"line.smoothing\\\"),i(r,a,c,o)}},{\\\"../../components/colorscale/defaults\\\":484,\\\"./label_defaults\\\":821}],828:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=i.contours,o=t(\\\"../scatter/attributes\\\"),s=t(\\\"../../components/colorscale/attributes\\\"),l=t(\\\"../../components/colorbar/attributes\\\"),c=t(\\\"../../lib/extend\\\").extendFlat,u=o.line;e.exports=c({},{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,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"calc\\\"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:\\\"plot\\\"}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../contour/attributes\\\":806,\\\"../heatmap/attributes\\\":835,\\\"../scatter/attributes\\\":926}],829:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\"),i=t(\\\"../../lib\\\").isArray1D,a=t(\\\"../heatmap/convert_column_xyz\\\"),o=t(\\\"../heatmap/clean_2d_array\\\"),s=t(\\\"../heatmap/max_row_length\\\"),l=t(\\\"../heatmap/interp2d\\\"),c=t(\\\"../heatmap/find_empties\\\"),u=t(\\\"../heatmap/make_bound_array\\\"),f=t(\\\"./defaults\\\"),h=t(\\\"../carpet/lookup_carpetid\\\"),p=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 d=t.data[r.index],g=t.data[e.index];g.a||(g.a=d.a),g.b||(g.b=d.b),f(g,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,f,h,p,d,g,m,v=e._carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,i(e.z)&&a(e,y,x,\\\"a\\\",\\\"b\\\",[\\\"z\\\"]);r=e._a=e._a||e.a,p=e._b=e._b||e.b,r=r?y.makeCalcdata(e,\\\"_a\\\"):[],p=p?x.makeCalcdata(e,\\\"_b\\\"):[],f=e.a0||0,h=e.da||1,d=e.b0||0,g=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=c(m),e._interpz=l(m,e._emptypoints,e._interpz);var b=s(m),_=\\\"scaled\\\"===e.xtype?\\\"\\\":r,w=u(e,_,f,h,b,y),k=\\\"scaled\\\"===e.ytype?\\\"\\\":p,M=u(e,k,d,g,m.length,x),A={a:w,b:M,z:m};\\\"levels\\\"===e.contours.type&&\\\"none\\\"!==e.contours.coloring&&n(e,m,\\\"\\\",\\\"z\\\");return[A]}(0,e);return p(e),m}}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../lib\\\":602,\\\"../carpet/lookup_carpetid\\\":789,\\\"../contour/set_contours\\\":825,\\\"../heatmap/clean_2d_array\\\":837,\\\"../heatmap/convert_column_xyz\\\":839,\\\"../heatmap/find_empties\\\":841,\\\"../heatmap/interp2d\\\":844,\\\"../heatmap/make_bound_array\\\":845,\\\"../heatmap/max_row_length\\\":846,\\\"./defaults\\\":830}],830:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/xyz_defaults\\\"),a=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,i){return n.coerce(t,e,a,r,i)}if(u(\\\"carpet\\\"),t.a&&t.b){if(!i(t,e,u,c,\\\"a\\\",\\\"b\\\"))return void(e.visible=!1);u(\\\"text\\\");var f=\\\"constraint\\\"===u(\\\"contours.type\\\");f||delete e.showlegend,f?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,a,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{\\\"../../lib\\\":602,\\\"../contour/constraint_defaults\\\":811,\\\"../contour/contours_defaults\\\":813,\\\"../contour/style_defaults\\\":827,\\\"../heatmap/xyz_defaults\\\":850,\\\"./attributes\\\":828}],831:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../contour/style\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contourcarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"carpet\\\",\\\"contour\\\",\\\"symbols\\\",\\\"showLegend\\\",\\\"hasLines\\\",\\\"carpetDependent\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../contour/colorbar\\\":809,\\\"../contour/style\\\":826,\\\"./attributes\\\":828,\\\"./calc\\\":829,\\\"./defaults\\\":830,\\\"./plot\\\":834}],832:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/drawing\\\"),i=t(\\\"../carpet/axis_aligned_line\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,m,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 k(t){return Math.abs(t[1]-r[0][1])<w}function M(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function T(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,a,o,f=\\\"\\\";for(k(t)&&!T(t)||M(t)&&!A(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<a.length;r++)for(f+=o.smoothing?\\\"C\\\":\\\"L\\\",n=0;n<a[r].length;n++){var h=a[r][n];f+=[c.c2p(h[0]),u.c2p(h[1])]+\\\" \\\"}return f}for(f=0,h=null;x.length;){var C=e.edgepaths[f][0];for(h&&(y+=S(h,C)),v=n.smoothopen(e.edgepaths[f].map(o),e.smoothing),y+=b?v:v.replace(/^M/,\\\"L\\\"),x.splice(x.indexOf(f),1),h=e.edgepaths[f][e.edgepaths[f].length-1],g=-1,d=0;d<4;d++){if(!h){a.log(\\\"Missing end?\\\",f,e);break}for(k(h)&&!T(h)?p=r[1]:A(h)?p=r[0]:M(h)?p=r[3]:T(h)&&(p=r[2]),m=0;m<e.edgepaths.length;m++){var E=e.edgepaths[m][0];Math.abs(h[0]-p[0])<_?Math.abs(h[0]-E[0])<_&&(E[1]-h[1])*(p[1]-E[1])>=0&&(p=E,g=m):Math.abs(h[1]-p[1])<w?Math.abs(h[1]-E[1])<w&&(E[0]-h[0])*(p[0]-E[0])>=0&&(p=E,g=m):a.log(\\\"endpt to newendpt is not vert. or horz.\\\",h,p,E)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log(\\\"unclosed perimeter path\\\");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+\\\"Z\\\",h=null)}for(f=0;f<e.paths.length;f++)y+=n.smoothclosed(e.paths[f].map(o),e.smoothing);return y}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../carpet/axis_aligned_line\\\":773}],833:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],834:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../carpet/map_1d_array\\\"),a=t(\\\"../carpet/makepath\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/get_data\\\").getUidsFromCalcData,c=t(\\\"../contour/make_crossings\\\"),u=t(\\\"../contour/find_all_paths\\\"),f=t(\\\"../contour/plot\\\"),h=t(\\\"../contour/constants\\\"),p=t(\\\"../contour/convert_to_constraints\\\"),d=t(\\\"./join_all_paths\\\"),g=t(\\\"../contour/empty_pathinfo\\\"),m=t(\\\"./map_pathinfo\\\"),v=t(\\\"../carpet/lookup_carpetid\\\"),y=t(\\\"../contour/close_boundaries\\\");function x(t,e,r,l){var x=r[0].trace,k=x._carpetTrace=v(t,x),M=t.calcdata[k.index][0];if(k.visible&&\\\"legendonly\\\"!==k.visible){var A=r[0].a,T=r[0].b,S=x.contours,C=x.uid,E=e.xaxis,L=e.yaxis,z=\\\"contour\\\"+C,P=g(S,e,r[0]),D=\\\"constraint\\\"===S.type,O=S._operation,I=D?\\\"=\\\"===O?\\\"lines\\\":\\\"fill\\\":S.coloring,R=[[A[0],T[T.length-1]],[A[A.length-1],T[T.length-1]],[A[A.length-1],T[0]],[A[0],T[0]]];c(P);var B=1e-8*(A[A.length-1]-A[0]),F=1e-8*(T[T.length-1]-T[0]);u(P,B,F);var N=P;\\\"constraint\\\"===S.type&&(N=p(P,O),y(N,O,R,x)),m(P,Y);var j,V,U,q,H=f.makeContourGroup(l,r,z),G=[];for(q=M.clipsegments.length-1;q>=0;q--)j=M.clipsegments[q],V=i([],j.x,E.c2p),U=i([],j.y,L.c2p),V.reverse(),U.reverse(),G.push(a(V,U,j.bicubic));var W=\\\"M\\\"+G.join(\\\"L\\\")+\\\"Z\\\";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,\\\"g\\\",\\\"contourbg\\\").selectAll(\\\"path\\\").data(\\\"fill\\\"!==l||o?[]:[0]);p.enter().append(\\\"path\\\"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr(\\\"d\\\",\\\"M\\\"+d.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}(H,M.clipsegments,E,L,D,I),function(t,e,r,i,a,o,l,c,u,f,h){var p=s.ensureSingle(e,\\\"g\\\",\\\"contourfill\\\").selectAll(\\\"path\\\").data(\\\"fill\\\"===f?a:[]);p.enter().append(\\\"path\\\"),p.exit().remove(),p.each(function(e){var a=d(t,e,o,l,c,u,r,i);e.prefixBoundary&&(a=h+a),a?n.select(this).attr(\\\"d\\\",a).style(\\\"stroke\\\",\\\"none\\\"):n.select(this).remove()})}(x,H,E,L,N,R,Y,k,M,I,W),function(t,e,r,i,a,l,c){var u=s.ensureSingle(t,\\\"g\\\",\\\"contourlines\\\"),p=!1!==a.showlines,d=a.showlabels,g=p&&d,m=f.createLines(u,p||d,e),v=f.createLineClip(u,g,r._fullLayout._defs,i.trace.uid),y=t.selectAll(\\\"g.contourlabels\\\").data(d?[0]:[]);if(y.exit().remove(),y.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),d){var x=l.xaxis,k=l.yaxis,M=x._length,A=k._length,T=[[[0,0],[M,0],[M,A],[0,A]]],S=[];s.clearLocationCache();var C=f.labelFormatter(a,i.t.cb,r._fullLayout),E=o.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(o.font,a.labelfont),L={left:0,right:M,center:M/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(M*M+A*A),P=h.LABELDISTANCE*z/Math.max(1,e.length/h.LABELINCREASE);m.each(function(t){var e=f.calcTextOpts(t.level,C,E,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,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=_(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*w(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=_(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*w(e,r)/2)),n}var p=b(t,0,1),d=b(t,n.total,n.total-1),g=h(o[0],p),m=n.total-h(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 i=Math.min(Math.ceil(n.len/P),h.LABELMAX),a=0;a<i;a++){var o=f.findBestTextLocation(this,n,e,S,L);if(!o)break;f.addLabelData(o,e,S,T)}})}),E.remove(),f.drawLabels(y,S,r,v,g?T:null)}d&&!p&&m.remove()}(H,P,t,r[0],S,e,k),o.setClipUrl(H,k._clipPathId)}function Y(t){var e=k.ab2xy(t[0],t[1],!0);return[E.c2p(e[0]),L.c2p(e[1])]}}function b(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function _(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function w(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,i){var a=l(r);i.selectAll(\\\"g.contour\\\").each(function(t){a[t.trace.uid]||n.select(this).remove()});for(var o=0;o<r.length;o++)x(t,e,r[o],i)}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"../carpet/lookup_carpetid\\\":789,\\\"../carpet/makepath\\\":790,\\\"../carpet/map_1d_array\\\":791,\\\"../contour/close_boundaries\\\":808,\\\"../contour/constants\\\":810,\\\"../contour/convert_to_constraints\\\":814,\\\"../contour/empty_pathinfo\\\":816,\\\"../contour/find_all_paths\\\":818,\\\"../contour/make_crossings\\\":823,\\\"../contour/plot\\\":824,\\\"./join_all_paths\\\":832,\\\"./map_pathinfo\\\":833,d3:130}],835:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports=o({},{z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},x:o({},n.x,{impliedEdits:{xtype:\\\"array\\\"}}),x0:o({},n.x0,{impliedEdits:{xtype:\\\"scaled\\\"}}),dx:o({},n.dx,{impliedEdits:{xtype:\\\"scaled\\\"}}),y:o({},n.y,{impliedEdits:{ytype:\\\"array\\\"}}),y0:o({},n.y0,{impliedEdits:{ytype:\\\"scaled\\\"}}),dy:o({},n.dy,{impliedEdits:{ytype:\\\"scaled\\\"}}),text:{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\\\"},connectgaps:{valType:\\\"boolean\\\",dflt:!1,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\\\"}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../scatter/attributes\\\":926}],836:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../histogram2d/calc\\\"),s=t(\\\"../../components/colorscale/calc\\\"),l=t(\\\"./convert_column_xyz\\\"),c=t(\\\"./max_row_length\\\"),u=t(\\\"./clean_2d_array\\\"),f=t(\\\"./interp2d\\\"),h=t(\\\"./find_empties\\\"),p=t(\\\"./make_bound_array\\\");e.exports=function(t,e){var r,d,g,m,v,y,x,b,_,w=a.getFromId(t,e.xaxis||\\\"x\\\"),k=a.getFromId(t,e.yaxis||\\\"y\\\"),M=n.traceIs(e,\\\"contour\\\"),A=n.traceIs(e,\\\"histogram\\\"),T=n.traceIs(e,\\\"gl2d\\\"),S=M?\\\"best\\\":e.zsmooth;if(w._minDtick=0,k._minDtick=0,A)r=(_=o(t,e)).x,d=_.x0,g=_.dx,m=_.y,v=_.y0,y=_.dy,x=_.z;else{var C=e.z;i.isArray1D(C)?(l(e,w,k,\\\"x\\\",\\\"y\\\",[\\\"z\\\"]),r=e._x,m=e._y,C=e._z):(r=e.x?w.makeCalcdata(e,\\\"x\\\"):[],m=e.y?k.makeCalcdata(e,\\\"y\\\"):[]),d=e.x0||0,g=e.dx||1,v=e.y0||0,y=e.dy||1,x=u(C,e.transpose),(M||e.connectgaps)&&(e._emptypoints=h(x),e._interpz=f(x,e._emptypoints,e._interpz))}function E(t){S=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: \\\"fast\\\": '+t)}if(\\\"fast\\\"===S)if(\\\"log\\\"===w.type||\\\"log\\\"===k.type)E(\\\"log axis found\\\");else if(!A){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),z=Math.abs(L/100);for(b=0;b<r.length-1;b++)if(Math.abs(r[b+1]-r[b]-L)>z){E(\\\"x scale is not linear\\\");break}}if(m.length&&\\\"fast\\\"===S){var P=(m[m.length-1]-m[0])/(m.length-1),D=Math.abs(P/100);for(b=0;b<m.length-1;b++)if(Math.abs(m[b+1]-m[b]-P)>D){E(\\\"y scale is not linear\\\");break}}}var O=c(x),I=\\\"scaled\\\"===e.xtype?\\\"\\\":r,R=p(e,I,d,g,O,w),B=\\\"scaled\\\"===e.ytype?\\\"\\\":m,F=p(e,B,v,y,x.length,k);T||(a.expand(w,R),a.expand(k,F));var N={x:R,y:F,z:x,text:e._text||e.text};if(I&&I.length===R.length-1&&(N.xCenter=I),B&&B.length===F.length-1&&(N.yCenter=B),A&&(N.xRanges=_.xRanges,N.yRanges=_.yRanges,N.pts=_.pts),M&&\\\"constraint\\\"===e.contours.type||s(e,x,\\\"\\\",\\\"z\\\"),M&&e.contours&&\\\"heatmap\\\"===e.contours.coloring){var j={type:\\\"contour\\\"===e.type?\\\"heatmap\\\":\\\"histogram2d\\\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(j,I,d,g,O,w),N.yfill=p(j,B,v,y,x.length,k)}return[N]}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../histogram2d/calc\\\":867,\\\"./clean_2d_array\\\":837,\\\"./convert_column_xyz\\\":839,\\\"./find_empties\\\":841,\\\"./interp2d\\\":844,\\\"./make_bound_array\\\":845,\\\"./max_row_length\\\":846}],837:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=c(o(t,s,l));return u}},{\\\"fast-isnumeric\\\":196}],838:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,c=r.zmin,u=r.zmax;if(n(c)||(c=i.aggNums(Math.min,null,r.z)),n(u)||(u=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),r.showscale){var f=e[0].t.cb=s(t,l),h=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});f.fillcolor(h).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],839:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r,a,o,s){var l,c,u,f=t._length,h=t[a].slice(0,f),p=t[o].slice(0,f),d=t.text,g=void 0!==d&&n.isArray1D(d),m=t[a+\\\"calendar\\\"],v=t[o+\\\"calendar\\\"];for(l=0;l<f;l++)h[l]=e.d2c(h[l],0,m),p[l]=r.d2c(p[l],0,v);var y,x,b,_=n.distinctVals(h),w=_.vals,k=n.distinctVals(p),M=k.vals,A=[];for(l=0;l<s.length;l++)A[l]=n.init2dArray(M.length,w.length);for(g&&(b=n.init2dArray(M.length,w.length)),l=0;l<f;l++)if(h[l]!==i&&p[l]!==i){for(y=n.findBin(h[l]+_.minDiff/2,w),x=n.findBin(p[l]+k.minDiff/2,M),c=0;c<s.length;c++)u=t[s[c]],A[c][x][y]=u[l];g&&(b[x][y]=d[l])}for(t[\\\"_\\\"+a]=w,t[\\\"_\\\"+o]=M,c=0;c<s.length;c++)t[\\\"_\\\"+s[c]]=A[c];g&&(t._text=b)}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602}],840:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./xyz_defaults\\\"),a=t(\\\"./style_defaults\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l)?(c(\\\"text\\\"),a(t,e,c,l),c(\\\"connectgaps\\\",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:\\\"\\\",cLetter:\\\"z\\\"})):e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"./attributes\\\":835,\\\"./style_defaults\\\":849,\\\"./xyz_defaults\\\":850}],841:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./max_row_length\\\");e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],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]||[],i=0;i<m;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw\\\"findEmpties iterated with no new neighbors\\\";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{\\\"./max_row_length\\\":846}],842:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,m=t.ya,v=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],M=d.zhoverformat,A=v,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\\\"Error hovering on heatmap, pointNumber must be [row,col], found:\\\",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(A=[2*v[0]-v[1]],S=1;S<v.length;S++)A.push((v[S]+v[S-1])/2);for(A.push([2*v[v.length-1]-v[v.length-2]]),T=[2*y[0]-y[1]],S=1;S<y.length;S++)T.push((y[S]+y[S-1])/2);T.push([2*y[y.length-1]-y[y.length-2]])}f=Math.max(0,Math.min(A.length-2,i.findBin(e,A))),h=Math.max(0,Math.min(T.length-2,i.findBin(r,T)))}var C=g.c2p(v[f]),E=g.c2p(v[f+1]),L=m.c2p(y[h]),z=m.c2p(y[h+1]);l?(E=C,c=v[f],z=L,u=y[h]):(c=b?b[f]:(v[f]+v[f+1])/2,u=_?_[h]:(y[h]+y[h+1])/2,d.zsmooth&&(C=E=g.c2p(c),L=z=m.c2p(u)));var P,D,O=x[h][f];w&&!w[h][f]&&(O=void 0),Array.isArray(p.text)&&Array.isArray(p.text[h])&&(P=p.text[h][f]);var I={type:\\\"linear\\\",range:k,hoverformat:M,_separators:g._separators,_numFormat:g._numFormat};return D=a.tickText(I,O,\\\"hover\\\").text,[i.extendFlat(t,{index:[h,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:C,x1:E,y0:L,y1:z,xLabelVal:c,yLabelVal:u,zLabelVal:O,zLabel:D,text:P})]}},{\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],843:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmap\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":835,\\\"./calc\\\":836,\\\"./colorbar\\\":838,\\\"./defaults\\\":840,\\\"./hover\\\":842,\\\"./plot\\\":847,\\\"./style\\\":848}],844:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?g=m=f:(g=Math.min(g,f),m=Math.max(m,f)),h++,p+=f);if(0===h)throw\\\"iterateInterp2d order is wrong: no defined neighbors\\\";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e,r){var i,s,l=1;if(Array.isArray(r))for(i=0;i<e.length;i++)t[(s=e[i])[0]][s[1]]=r[s[0]][s[1]];else o(t,e);for(i=0;i<e.length&&!(e[i][2]<4);i++);for(e=e.slice(i),i=0;i<100&&l>.01;i++)l=o(t,e,a(l));return l>.01&&n.log(\\\"interp2d didn't converge quickly\\\",l),t}},{\\\"../../lib\\\":602}],845:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,\\\"contour\\\"),p=n.traceIs(t,\\\"histogram\\\"),d=n.traceIs(t,\\\"gl2d\\\");if(i(e)&&e.length>1&&!p&&\\\"category\\\"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=f[f.length-1],v=m-f[f.length-2];for(u=g;u<o;u++)m+=v,f.push(m)}}else{c=a||1;var y=t[s._id.charAt(0)+\\\"calendar\\\"];for(l=p||\\\"category\\\"===s.type?s.r2c(r,0,y)||0:i(e)&&1===e.length?e[0]:void 0===r?0:s.d2c(r,0,y),u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],846:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],847:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/colorscale\\\"),l=t(\\\"../../constants/xmlns_namespaces\\\"),c=t(\\\"../../plots/get_data\\\").getUidsFromCalcData,u=t(\\\"./max_row_length\\\");function f(t,e,r,n){var c,f,g,m,v,y,x=r[0],b=x.trace,_=e.xaxis,w=e.yaxis,k=\\\"hm\\\"+b.uid,M=x.z,A=x.x,T=x.y,S=x.xCenter,C=x.yCenter,E=a.traceIs(b,\\\"contour\\\"),L=E?\\\"best\\\":b.zsmooth,z=M.length,P=u(M),D=!1,O=!1;for(y=0;void 0===c&&y<A.length-1;)c=_.c2p(A[y]),y++;for(y=A.length-1;void 0===f&&y>0;)f=_.c2p(A[y]),y--;for(f<c&&(g=f,f=c,c=g,D=!0),y=0;void 0===m&&y<T.length-1;)m=w.c2p(T[y]),y++;for(y=T.length-1;void 0===v&&y>0;)v=w.c2p(T[y]),y--;if(v<m&&(g=m,m=v,v=g,O=!0),E&&(S=A,C=T,A=x.xfill,T=x.yfill),\\\"fast\\\"!==L){var I=\\\"best\\\"===L?0:.5;c=Math.max(-I*_._length,c),f=Math.min((1+I)*_._length,f),m=Math.max(-I*w._length,m),v=Math.min((1+I)*w._length,v)}var R=Math.round(f-c),B=Math.round(v-m),F=R<=0||B<=0,N=n.selectAll(\\\"g.hm.\\\"+k).data(F?[]:[0]);if(N.enter().append(\\\"g\\\").classed(\\\"hm\\\",!0).classed(k,!0),N.exit().remove(),!F){var j,V;\\\"fast\\\"===L?(j=P,V=z):(j=R,V=B);var U=document.createElement(\\\"canvas\\\");U.width=j,U.height=V;var q,H,G=U.getContext(\\\"2d\\\"),W=s.makeColorScaleFunc(s.extractScale(b.colorscale,b.zmin,b.zmax),{noNumericCheck:!0,returnArray:!0});\\\"fast\\\"===L?(q=D?function(t){return P-1-t}:o.identity,H=O?function(t){return z-1-t}:o.identity):(q=function(t){return o.constrain(Math.round(_.c2p(A[t])-c),0,R)},H=function(t){return o.constrain(Math.round(w.c2p(T[t])-m),0,B)});var Y,X,Z,J,K,Q=H(0),$=[Q,Q],tt=D?0:1,et=O?0:1,rt=0,nt=0,it=0,at=0;if(L){var ot,st=0;try{ot=new Uint8Array(R*B*4)}catch(t){ot=new Array(R*B*4)}if(\\\"best\\\"===L){var lt,ct,ut,ft=S||A,ht=C||T,pt=new Array(ft.length),dt=new Array(ht.length),gt=new Array(R),mt=S?p:h,vt=C?p:h;for(y=0;y<ft.length;y++)pt[y]=Math.round(_.c2p(ft[y])-c);for(y=0;y<ht.length;y++)dt[y]=Math.round(w.c2p(ht[y])-m);for(y=0;y<R;y++)gt[y]=mt(y,pt);for(X=0;X<B;X++)for(ct=M[(lt=vt(X,dt)).bin0],ut=M[lt.bin1],y=0;y<R;y++,st+=4)d(ot,st,K=Ct(ct,ut,gt[y],lt))}else for(X=0;X<z;X++)for(J=M[X],$=H(X),y=0;y<R;y++)K=St(J[y],1),d(ot,st=4*($*R+q(y)),K);var yt=G.createImageData(R,B);try{yt.data.set(ot)}catch(t){var xt=yt.data,bt=xt.length;for(X=0;X<bt;X++)xt[X]=ot[X]}G.putImageData(yt,0,0)}else{var _t=b.xgap,wt=b.ygap,kt=Math.floor(_t/2),Mt=Math.floor(wt/2);for(X=0;X<z;X++)if(J=M[X],$.reverse(),$[et]=H(X+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(Y=[Z=q(0),Z],y=0;y<P;y++)Y.reverse(),Y[tt]=q(y+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1]&&(K=St(J[y],(Y[1]-Y[0])*($[1]-$[0])),G.fillStyle=\\\"rgba(\\\"+K.join(\\\",\\\")+\\\")\\\",G.fillRect(Y[0]+kt,$[0]+Mt,Y[1]-Y[0]-_t,$[1]-$[0]-wt))}nt=Math.round(nt/rt),it=Math.round(it/rt),at=Math.round(at/rt);var At=i(\\\"rgb(\\\"+nt+\\\",\\\"+it+\\\",\\\"+at+\\\")\\\");t._hmpixcount=(t._hmpixcount||0)+rt,t._hmlumcount=(t._hmlumcount||0)+rt*At.getLuminance();var Tt=N.selectAll(\\\"image\\\").data(r);Tt.enter().append(\\\"svg:image\\\").attr({xmlns:l.svg,preserveAspectRatio:\\\"none\\\"}),Tt.attr({height:B,width:R,x:c,y:m,\\\"xlink:href\\\":U.toDataURL(\\\"image/png\\\")}),Tt.exit().remove()}function St(t,e){if(void 0!==t){var r=W(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),rt+=e,nt+=r[0]*e,it+=r[1]*e,at+=r[2]*e,r}return[0,0,0,0]}function Ct(t,e,r,n){var i=t[r.bin0];if(void 0===i)return St(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,St(i+r.frac*c+n.frac*(u+r.frac*a))}}function h(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.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 p(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function d(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,i){var a=c(r);i.selectAll(\\\".hm > image\\\").each(function(t){var e=t.trace||{};a[e.uid]||n.select(this.parentNode).remove()});for(var o=0;o<r.length;o++)f(t,e,r[o],i)}},{\\\"../../components/colorscale\\\":489,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"../../registry\\\":732,\\\"./max_row_length\\\":846,d3:130,tinycolor2:415}],848:[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:130}],849:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){!1===r(\\\"zsmooth\\\")&&(r(\\\"xgap\\\"),r(\\\"ygap\\\")),r(\\\"zhoverformat\\\")}},{}],850:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=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,f,h=r(\\\"z\\\");if(l=l||\\\"x\\\",c=c||\\\"y\\\",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){if(u=r(l),f=r(c),!(u&&u.length&&f&&f.length))return 0;e._length=Math.min(u.length,f.length,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r(\\\"transpose\\\"),e._length=null}return a.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[l,c],s),!0}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"fast-isnumeric\\\":196}],851:[function(t,e,r){\\\"use strict\\\";for(var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"../../plot_api/edit_types\\\").overrideAll,l=[\\\"z\\\",\\\"x\\\",\\\"x0\\\",\\\"dx\\\",\\\"y\\\",\\\"y0\\\",\\\"dy\\\",\\\"text\\\",\\\"transpose\\\",\\\"xtype\\\",\\\"ytype\\\"],c={},u=0;u<l.length;u++){var f=l[u];c[f]=n[f]}o(c,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=s(c,\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../heatmap/attributes\\\":835}],852:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-heatmap2d\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=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,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],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,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}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),i.expand(this.scene.xaxis,r.x),i.expand(this.scene.yaxis,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\\\":625,\\\"../../plots/cartesian/axes\\\":648,\\\"gl-heatmap2d\\\":217}],853:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"../heatmap/defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmapgl\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":687,\\\"../heatmap/calc\\\":836,\\\"../heatmap/colorbar\\\":838,\\\"../heatmap/defaults\\\":840,\\\"./attributes\\\":851,\\\"./convert\\\":852}],854:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../bar/attributes\\\");function i(t){var e={};e[\\\"autobin\\\"+t]=!1;var r={};return r[\\\"^autobin\\\"+t]=!1,{start:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},end:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},size:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},editType:\\\"calc\\\",impliedEdits:e}}e.exports={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},text:n.text,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\\\"},autobinx:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"xbins.start\\\":void 0,\\\"xbins.end\\\":void 0,\\\"xbins.size\\\":void 0}},nbinsx:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},xbins:i(\\\"x\\\"),autobiny:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"ybins.start\\\":void 0,\\\"ybins.end\\\":void 0,\\\"ybins.size\\\":void 0}},nbinsy:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},ybins:i(\\\"y\\\"),marker:n.marker,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{\\\"../bar/attributes\\\":742}],855:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],856:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){return r(\\\"histnorm\\\"),n.forEach(function(t){r(t+\\\"bins.start\\\"),r(t+\\\"bins.end\\\"),r(t+\\\"bins.size\\\"),!1!==r(\\\"autobin\\\"+t)&&r(\\\"nbins\\\"+t)}),e}},{}],857:[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,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\\\"fast-isnumeric\\\":196}],858:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/numerical\\\"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t(\\\"../../plots/cartesian/axes\\\").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\\\"date\\\"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?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,i,r).split(\\\"-\\\");return\\\"\\\"===n[0]&&(n.unshift(),n[0]=\\\"-\\\"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));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===i?1:6,x=s===i?\\\"M12\\\":\\\"M1\\\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\\\"-\\\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):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\\\":579,\\\"../../plots/cartesian/axes\\\":648}],859:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../bar/arrays_to_calcdata\\\"),s=t(\\\"./bin_functions\\\"),l=t(\\\"./norm_functions\\\"),c=t(\\\"./average\\\"),u=t(\\\"./clean_bins\\\"),f=t(\\\"../../constants/numerical\\\").ONEAVGMONTH,h=t(\\\"./bin_label_vals\\\");function p(t,e,r,i,o){var s,l,c,u,f,h=i+\\\"bins\\\",p=\\\"overlay\\\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var v=p?[e]:g(t,e),y=[],x=1/0,b=1/0,_=-1/0,w=\\\"autobin\\\"+i;for(s=0;s<v.length;s++){f=(l=v[s])._pos0=r.makeCalcdata(l,i);var k=l[h];if(l[w]||!k||null===k.start||null===k.end){c=l[i+\\\"calendar\\\"];var M=l.cumulative;if(k=a.autoBin(f,r,l[\\\"nbins\\\"+i],!1,c),p&&0===k._dataSpan&&\\\"category\\\"!==r.type){if(o)return[k,f,!0];k=d(t,e,r,i,h)}M.enabled&&\\\"include\\\"!==M.currentbin&&(\\\"decreasing\\\"===M.direction?b=Math.min(b,r.r2c(k.start,0,c)-k.size):_=Math.max(_,r.r2c(k.end,0,c)+k.size)),y.push(l)}else u||(u={size:k.size,start:r.r2c(k.start,0,c),end:r.r2c(k.end,0,c)});x=m(x,k.size),b=Math.min(b,r.r2c(k.start,0,c)),_=Math.max(_,r.r2c(k.end,0,c)),s&&(l._autoBinFinished=1)}if(u&&n(u.size)&&n(x)){x=x>u.size/1.9?u.size:u.size/Math.ceil(u.size/x);var A=u.start+(u.size-x)/2;b=A-x*Math.ceil((A-b)/x)}for(s=0;s<y.length;s++)c=(l=y[s])[i+\\\"calendar\\\"],l._input[h]=l[h]={start:r.c2r(b,0,c),end:r.c2r(_,0,c),size:x},l._input[w]=l[w]}return f=e._pos0,delete e._pos0,[e[h],f]}function d(t,e,r,n,a){var o,s,l=g(t,e),c=!1,u=1/0,f=[e];for(o=0;o<l.length;o++)if((s=l[o])===e)c=!0;else if(c){var h=p(t,s,r,n,!0),d=h[0],m=h[2];s._autoBinFinished=1,s._pos0=h[1],m?f.push(s):u=Math.min(u,d.size)}else u=Math.min(u,s[a].size);var v=new Array(f.length);for(o=0;o<f.length;o++)for(var y=f[o]._pos0,x=0;x<y.length;x++)if(void 0!==y[x]){v[o]=y[x];break}for(isFinite(u)||(u=i.distinctVals(v).minDiff),o=0;o<f.length;o++){var b=(s=f[o])[n+\\\"calendar\\\"];s._input[a]=s[a]={start:r.c2r(v[o]-u/2,0,b),end:r.c2r(v[o]+u/2,0,b),size:u}}return e[a]}function g(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\\\"histogram\\\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function m(t,e){if(t===1/0)return e;var r=v(t);return v(e)<r?e:t}function v(t){return n(t)?t:\\\"string\\\"==typeof t&&\\\"M\\\"===t.charAt(0)?f*+t.substr(1):1/0}e.exports=function(t,e){if(!0===e.visible){var r,f=[],d=[],g=a.getFromId(t,\\\"h\\\"===e.orientation?e.yaxis||\\\"y\\\":e.xaxis||\\\"x\\\"),m=\\\"h\\\"===e.orientation?\\\"y\\\":\\\"x\\\",v={x:\\\"y\\\",y:\\\"x\\\"}[m],y=e[m+\\\"calendar\\\"],x=e.cumulative;u(e,g,m);var b,_,w,k=p(t,e,g,m),M=k[0],A=k[1],T=\\\"string\\\"==typeof M.size,S=[],C=T?S:M,E=[],L=[],z=[],P=0,D=e.histnorm,O=e.histfunc,I=-1!==D.indexOf(\\\"density\\\");x.enabled&&I&&(D=D.replace(/ ?density$/,\\\"\\\"),I=!1);var R,B=\\\"max\\\"===O||\\\"min\\\"===O?null:0,F=s.count,N=l[D],j=!1,V=function(t){return g.r2c(t,0,y)};for(i.isArrayOrTypedArray(e[v])&&\\\"count\\\"!==O&&(R=e[v],j=\\\"avg\\\"===O,F=s[O]),r=V(M.start),_=V(M.end)+(r-a.tickIncrement(r,M.size,!1,y))/1e6;r<_&&f.length<1e6&&(b=a.tickIncrement(r,M.size,!1,y),f.push((r+b)/2),d.push(B),z.push([]),S.push(r),I&&E.push(1/(b-r)),j&&L.push(0),!(b<=r));)r=b;S.push(r),T||\\\"date\\\"!==g.type||(C={start:V(C.start),end:V(C.end),size:C.size});var U,q=d.length,H=!0,G=1/0,W=1/0,Y={};for(r=0;r<A.length;r++){var X=A[r];(w=i.findBin(X,C))>=0&&w<q&&(P+=F(w,r,d,R,L),H&&z[w].length&&X!==A[z[w][0]]&&(H=!1),z[w].push(r),Y[r]=w,G=Math.min(G,X-S[w]),W=Math.min(W,S[w+1]-X))}H||(U=h(G,W,S,g,y)),j&&(P=c(d,L)),N&&N(d,P,E),x.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}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())}}(d,x.direction,x.currentbin);var Z=Math.min(f.length,d.length),J=[],K=0,Q=Z-1;for(r=0;r<Z;r++)if(d[r]){K=r;break}for(r=Z-1;r>=K;r--)if(d[r]){Q=r;break}for(r=K;r<=Q;r++)if(n(f[r])&&n(d[r])){var $={p:f[r],s:d[r],b:0};x.enabled||($.pts=z[r],H?$.p0=$.p1=z[r].length?A[z[r][0]]:f[r]:($.p0=U(S[r]),$.p1=U(S[r+1],!0))),J.push($)}return 1===J.length&&(J[0].width1=a.tickIncrement(J[0].p,M.size,!1,y)-J[0].p),o(J,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(J,e,Y),J}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../bar/arrays_to_calcdata\\\":741,\\\"./average\\\":855,\\\"./bin_functions\\\":857,\\\"./bin_label_vals\\\":858,\\\"./clean_bins\\\":860,\\\"./norm_functions\\\":865,\\\"fast-isnumeric\\\":196}],860:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").cleanDate,a=t(\\\"../../constants/numerical\\\"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+\\\"bins\\\",c=t[l];c||(c=t[l]={});var u=\\\"date\\\"===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=\\\"date\\\"===a?o:1,h=c.size;if(n(h))c.size=h>0?Number(h):f;else if(\\\"string\\\"!=typeof h)c.size=f;else{var p=h.charAt(0),d=h.substr(1);((d=n(d)?Number(d):0)<=0||\\\"date\\\"!==a||\\\"M\\\"!==p||d!==Math.round(d))&&(c.size=f)}var g=\\\"autobin\\\"+r;\\\"boolean\\\"!=typeof t[g]&&(t[g]=t._fullInput[g]=t._input[g]=!((c.start||0===c.start)&&(c.end||0===c.end))),t[g]||(delete t[\\\"nbins\\\"+r],delete t._fullInput[\\\"nbins\\\"+r])}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],861:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./bin_defaults\\\"),s=t(\\\"../bar/style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u(\\\"x\\\"),h=u(\\\"y\\\");u(\\\"cumulative.enabled\\\")&&(u(\\\"cumulative.direction\\\"),u(\\\"cumulative.currentbin\\\")),u(\\\"text\\\");var p=u(\\\"orientation\\\",h&&!f?\\\"h\\\":\\\"v\\\"),d=\\\"v\\\"===p?\\\"x\\\":\\\"y\\\",g=\\\"v\\\"===p?\\\"y\\\":\\\"x\\\",m=f&&h?Math.min(f.length&&h.length):(e[d]||[]).length;if(m){e._length=m,n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],c),e[g]&&u(\\\"histfunc\\\"),o(t,e,u,[d]),s(t,e,u,r,c);var v=n.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");v(t,e,a.defaultLine,{axis:\\\"y\\\"}),v(t,e,a.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../bar/style_defaults\\\":754,\\\"./attributes\\\":854,\\\"./bin_defaults\\\":856}],862:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){if(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),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],863:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../bar/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\").hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);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\\\"]=i(t[c+\\\"a\\\"],s.p0,s.p1)}return o}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../bar/hover\\\":745}],864:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"../bar/layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"../bar/layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"../bar/set_positions\\\"),n.plot=t(\\\"../bar/plot\\\"),n.layerName=\\\"barlayer\\\",n.style=t(\\\"../bar/style\\\").style,n.styleOnSelect=t(\\\"../bar/style\\\").styleOnSelect,n.colorbar=t(\\\"../scatter/colorbar\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"../bar/select\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"bar\\\",\\\"histogram\\\",\\\"oriented\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../bar/layout_attributes\\\":747,\\\"../bar/layout_defaults\\\":748,\\\"../bar/plot\\\":749,\\\"../bar/select\\\":750,\\\"../bar/set_positions\\\":751,\\\"../bar/style\\\":753,\\\"../scatter/colorbar\\\":930,\\\"./attributes\\\":854,\\\"./calc\\\":859,\\\"./defaults\\\":861,\\\"./event_data\\\":862,\\\"./hover\\\":863}],865:[function(t,e,r){\\\"use strict\\\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=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 i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\\\"probability density\\\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],866:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram/attributes\\\"),i=t(\\\"../heatmap/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({},{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,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../heatmap/attributes\\\":835,\\\"../histogram/attributes\\\":854}],867:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../histogram/bin_functions\\\"),o=t(\\\"../histogram/norm_functions\\\"),s=t(\\\"../histogram/average\\\"),l=t(\\\"../histogram/clean_bins\\\"),c=t(\\\"../histogram/bin_label_vals\\\");function u(t,e,r,n,a,o,s){var c=e+\\\"bins\\\",u=\\\"autobin\\\"+e,f=t[c];l(t,n,e),!t[u]&&f&&null!==f.start&&null!==f.end||(f=i.autoBin(r,n,t[\\\"nbins\\\"+e],\\\"2d\\\",s),\\\"histogram2dcontour\\\"===t.type&&(f.start=o(i.tickIncrement(a(f.start),f.size,!0,s)),f.end=o(i.tickIncrement(a(f.end),f.size,!1,s))),t._input[c]=t[c]=f,t._input[u]=t[u])}function f(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function p(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=c(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}e.exports=function(t,e){var r,l,c,d,g=i.getFromId(t,e.xaxis||\\\"x\\\"),m=e.x?g.makeCalcdata(e,\\\"x\\\"):[],v=i.getFromId(t,e.yaxis||\\\"y\\\"),y=e.y?v.makeCalcdata(e,\\\"y\\\"):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return g.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},k=function(t){return g.c2r(t,0,x)},M=function(t){return v.c2r(t,0,b)},A=e._length;m.length>A&&m.splice(A,m.length-A),y.length>A&&y.splice(A,y.length-A),u(e,\\\"x\\\",m,g,_,k,x),u(e,\\\"y\\\",y,v,w,M,b);var T=[],S=[],C=[],E=\\\"string\\\"==typeof e.xbins.size,L=\\\"string\\\"==typeof e.ybins.size,z=[],P=[],D=E?z:e.xbins,O=L?P:e.ybins,I=0,R=[],B=[],F=e.histnorm,N=e.histfunc,j=-1!==F.indexOf(\\\"density\\\"),V=\\\"max\\\"===N||\\\"min\\\"===N?null:0,U=a.count,q=o[F],H=!1,G=[],W=[],Y=\\\"z\\\"in e?e.z:\\\"marker\\\"in e&&Array.isArray(e.marker.color)?e.marker.color:\\\"\\\";Y&&\\\"count\\\"!==N&&(H=\\\"avg\\\"===N,U=a[N]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r<J;r=i.tickIncrement(r,X.size,!1,x))S.push(V),z.push(r),H&&C.push(0);z.push(r);var K=S.length,Q=_(e.xbins.start),$=(r-Q)/K,tt=k(Q+$/2);for(Z=w((X=e.ybins).start),J=w(X.end)+(Z-i.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r<J;r=i.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),P.push(r);var et=new Array(K);for(l=0;l<K;l++)et[l]=[];B.push(et),H&&R.push(C.slice())}P.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=M(nt+it/2);j&&(G=f(S.length,D,$,E),W=f(T.length,O,it,L)),E||\\\"date\\\"!==g.type||(D=h(_,D)),L||\\\"date\\\"!==v.type||(O=h(w,O));var ot=!0,st=!0,lt=new Array(K),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,pt=1/0;for(r=0;r<A;r++){var dt=m[r],gt=y[r];c=n.findBin(dt,D),d=n.findBin(gt,O),c>=0&&c<K&&d>=0&&d<rt&&(I+=U(c,r,T[d],Y,R[d]),B[d][c].push(r),ot&&(void 0===lt[c]?lt[c]=dt:lt[c]!==dt&&(ot=!1)),st&&(void 0===ct[c]?ct[c]=gt:ct[c]!==gt&&(st=!1)),ut=Math.min(ut,dt-z[c]),ft=Math.min(ft,z[c+1]-dt),ht=Math.min(ht,gt-P[d]),pt=Math.min(pt,P[d+1]-gt))}if(H)for(d=0;d<rt;d++)I+=s(T[d],R[d]);if(q)for(d=0;d<rt;d++)q(T[d],I,G,W[d]);return{x:m,xRanges:p(z,ot&&lt,ut,ft,g,x),x0:tt,dx:$,y:y,yRanges:p(P,st&&ct,ht,pt,v,b),y0:at,dy:it,z:T,pts:B}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../histogram/average\\\":855,\\\"../histogram/bin_functions\\\":857,\\\"../histogram/bin_label_vals\\\":858,\\\"../histogram/clean_bins\\\":860,\\\"../histogram/norm_functions\\\":865}],868:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./sample_defaults\\\"),a=t(\\\"../heatmap/style_defaults\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,l),o(t,e,l,c,{prefix:\\\"\\\",cLetter:\\\"z\\\"}))}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"../heatmap/style_defaults\\\":849,\\\"./attributes\\\":866,\\\"./sample_defaults\\\":871}],869:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\").hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],p=h.xRanges[f],d=h.yRanges[u];return t.xLabel=i(t.xa,p[0],p[1]),t.yLabel=i(t.ya,d[0],d[1]),l}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../heatmap/hover\\\":842}],870:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"../heatmap/plot\\\"),n.layerName=\\\"heatmaplayer\\\",n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.style=t(\\\"../heatmap/style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"../histogram/event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2d\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../heatmap/calc\\\":836,\\\"../heatmap/colorbar\\\":838,\\\"../heatmap/plot\\\":847,\\\"../heatmap/style\\\":848,\\\"../histogram/event_data\\\":862,\\\"./attributes\\\":866,\\\"./defaults\\\":868,\\\"./hover\\\":869}],871:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../histogram/bin_defaults\\\");e.exports=function(t,e,r,a){var o=r(\\\"x\\\"),s=r(\\\"y\\\");if(o&&o.length&&s&&s.length){e._length=Math.min(o.length,s.length),n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],a),(r(\\\"z\\\")||r(\\\"marker.color\\\"))&&r(\\\"histfunc\\\");i(t,e,r,[\\\"x\\\",\\\"y\\\"])}else e.visible=!1}},{\\\"../../registry\\\":732,\\\"../histogram/bin_defaults\\\":856}],872:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram2d/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a,{zmin:s({},a.zmin,{editType:\\\"calc\\\"}),zmax:s({},a.zmax,{editType:\\\"calc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../contour/attributes\\\":806,\\\"../histogram2d/attributes\\\":866}],873:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../histogram2d/sample_defaults\\\"),a=t(\\\"../contour/contours_defaults\\\"),o=t(\\\"../contour/style_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l))}},{\\\"../../lib\\\":602,\\\"../contour/contours_defaults\\\":813,\\\"../contour/style_defaults\\\":827,\\\"../histogram2d/sample_defaults\\\":871,\\\"./attributes\\\":872}],874:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../contour/calc\\\"),n.plot=t(\\\"../contour/plot\\\").plot,n.layerName=\\\"contourlayer\\\",n.style=t(\\\"../contour/style\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.hoverPoints=t(\\\"../contour/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2dcontour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../contour/calc\\\":807,\\\"../contour/colorbar\\\":809,\\\"../contour/hover\\\":819,\\\"../contour/plot\\\":824,\\\"../contour/style\\\":826,\\\"./attributes\\\":872,\\\"./defaults\\\":873}],875:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../surface/attributes\\\"),s=t(\\\"../../plots/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat;e.exports=l(n(\\\"\\\",\\\"calc\\\",!1),{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\\\"},delaunayaxis:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"z\\\"],dflt:\\\"z\\\",editType:\\\"calc\\\"},alphahull:{valType:\\\"number\\\",dflt:-1,editType:\\\"calc\\\"},intensity:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},color:{valType:\\\"color\\\",editType:\\\"calc\\\"},vertexcolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},facecolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},opacity:o.opacity,flatshading:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:\\\"calc\\\"},showscale:i.showscale,colorbar:a,lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:\\\"calc\\\"},lighting:l({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\\\"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:\\\"calc\\\"})})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../surface/attributes\\\":1006}],876:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.intensity&&n(e,e.intensity,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":481}],877:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,c=r.cmin,u=r.cmax,f=r.intensity||[];if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),p=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(p).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],878:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-mesh3d\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"delaunay-triangulate\\\"),o=t(\\\"alpha-shape\\\"),s=t(\\\"convex-hull\\\"),l=t(\\\"../../lib/str2rgbarray\\\");function c(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\\\"\\\",this.color=\\\"#fff\\\",this.data=null,this.showContour=!1}var u=c.prototype;function f(t){return t.map(l)}function h(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!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=t;var c,u=h(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)c=h(t.i,t.j,t.k);else if(0===t.alphahull)c=s(u);else if(t.alphahull>0)c=o(t.alphahull,u);else{var p=[\\\"x\\\",\\\"y\\\",\\\"z\\\"].indexOf(t.delaunayaxis);c=a(u.map(function(t){return[t[(p+1)%3],t[(p+2)%3]]}))}var d={positions:u,cells:c,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};t.intensity?(this.color=\\\"#fff\\\",d.vertexIntensity=t.intensity,d.vertexIntensityBounds=[t.cmin,t.cmax],d.colormap=t.colorscale.map(function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],d.vertexColors=f(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],d.cellColors=f(t.facecolor)):(this.color=t.color,d.meshColor=l(t.color)),this.mesh.update(d)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\\\"../../lib/str2rgbarray\\\":625,\\\"alpha-shape\\\":48,\\\"convex-hull\\\":110,\\\"delaunay-triangulate\\\":132,\\\"gl-mesh3d\\\":244,tinycolor2:415}],879:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=c([\\\"x\\\",\\\"y\\\",\\\"z\\\"]),f=c([\\\"i\\\",\\\"j\\\",\\\"k\\\"]);u?(f&&f.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),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\\\",\\\"contour.show\\\",\\\"contour.color\\\",\\\"contour.width\\\",\\\"colorscale\\\",\\\"reversescale\\\",\\\"flatshading\\\",\\\"alphahull\\\",\\\"delaunayaxis\\\",\\\"opacity\\\"].forEach(function(t){l(t)}),\\\"intensity\\\"in t?(l(\\\"intensity\\\"),a(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\\\"),e._length=null):e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":875}],880:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"mesh3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":690,\\\"./attributes\\\":875,\\\"./calc\\\":876,\\\"./colorbar\\\":877,\\\"./convert\\\":878,\\\"./defaults\\\":879}],881:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").extendFlat,i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=i.line;function s(t){return{line:{color:n({},o.color,{dflt:t}),width:o.width,dash:a,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({},o.width,{}),dash:n({},a,{}),editType:\\\"style\\\"},increasing:s(\\\"#3D9970\\\"),decreasing:s(\\\"#FF4136\\\"),text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},tickwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.3,editType:\\\"calcIfAutorange\\\"}}},{\\\"../../components/drawing/attributes\\\":498,\\\"../../lib\\\":602,\\\"../scatter/attributes\\\":926}],882:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=n._,a=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,n,s){for(var l=n.makeCalcdata(e,\\\"open\\\"),c=n.makeCalcdata(e,\\\"high\\\"),u=n.makeCalcdata(e,\\\"low\\\"),f=n.makeCalcdata(e,\\\"close\\\"),h=Array.isArray(e.text),p=!0,d=null,g=[],m=0;m<r.length;m++){var v=r[m],y=l[m],x=c[m],b=u[m],_=f[m];if(v!==o&&y!==o&&x!==o&&b!==o&&_!==o){_===y?null!==d&&_!==d&&(p=_>d):p=_>y,d=_;var w=s(y,x,b,_);w.pos=v,w.yc=(y+_)/2,w.i=m,w.dir=p?\\\"increasing\\\":\\\"decreasing\\\",h&&(w.tx=e.text[m]),g.push(w)}}return a.expand(n,u.concat(c),{padded:!0}),g.length&&(g[0].t={labels:{open:i(t,\\\"open:\\\")+\\\" \\\",high:i(t,\\\"high:\\\")+\\\" \\\",low:i(t,\\\"low:\\\")+\\\" \\\",close:i(t,\\\"close:\\\")+\\\" \\\"}}),g}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a<o.length;a++){var l=o[a];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)&&(i=Math.min(i,u))}}for(i===1/0&&(i=1),a=0;a<s.length;a++)s[a]._minDiff=i}return i*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var f=l(t,e,u,i,s);return a.expand(r,u,{vpad:c/2}),f.length?(n.extendFlat(f[0].t,{wHover:c/2,tickLen:o}),f):[{t:{empty:!0}}]},calcCommon:l}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],883:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./ohlc_defaults\\\"),a=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,i){return n.coerce(t,e,a,r,i)}i(t,e,l,s)?(l(\\\"line.width\\\"),l(\\\"line.dash\\\"),o(t,e,l,\\\"increasing\\\"),o(t,e,l,\\\"decreasing\\\"),l(\\\"text\\\"),l(\\\"tickwidth\\\"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\\\"../../lib\\\":602,\\\"./attributes\\\":881,\\\"./ohlc_defaults\\\":886}],884:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../scatter/fill_hover_text\\\"),s={increasing:\\\"\\\\u25b2\\\",decreasing:\\\"\\\\u25bc\\\"};e.exports=function(t,e,r,l){var c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=c[0].t,d=h.type,g=\\\"ohlc\\\"===d?\\\"l\\\":\\\"min\\\",m=\\\"ohlc\\\"===d?\\\"h\\\":\\\"max\\\",v=p.bPos||0,y=e-v,x=p.bdPos||p.tickLen,b=p.wHover,_=Math.min(1,x/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0]))),w=t.maxHoverDistance-_,k=t.maxSpikeDistance-_;function M(t){var e=t.pos-y;return i.inbox(e-b,e+b,w)}function A(t){return i.inbox(t[g]-r,t[m]-r,w)}function T(t){return(M(t)+A(t))/2}var S=i.getDistanceFunction(l,M,A,T);if(i.getClosest(c,S,t),!1===t.index)return[];var C=c[t.index],E=t.index=C.i,L=C.dir,z=h[L],P=z.line.color;function D(t){return p.labels[t]+n.hoverLabelText(f,h[t][E])}a.opacity(P)&&z.line.width?t.color=P:t.color=z.fillcolor,t.x0=u.c2p(C.pos+v-x,!0),t.x1=u.c2p(C.pos+v+x,!0),t.xLabelVal=C.pos,t.spikeDistance=T(C)*k/w,t.xSpike=u.c2p(C.pos,!0);var O=h.hoverinfo,I=O.split(\\\"+\\\"),R=\\\"all\\\"===O,B=R||-1!==I.indexOf(\\\"y\\\"),F=R||-1!==I.indexOf(\\\"text\\\"),N=B?[D(\\\"open\\\"),D(\\\"high\\\"),D(\\\"low\\\"),D(\\\"close\\\")+\\\"  \\\"+s[L]]:[];return F&&o(C,h,N),t.extraText=N.join(\\\"<br>\\\"),t.y0=t.y1=f.c2p(C.yc,!0),[t]}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934}],885:[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\\\"),selectPoints:t(\\\"./select\\\")}},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":881,\\\"./calc\\\":882,\\\"./defaults\\\":883,\\\"./hover\\\":884,\\\"./plot\\\":887,\\\"./select\\\":888,\\\"./style\\\":889}],886:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a=r(\\\"x\\\"),o=r(\\\"open\\\"),s=r(\\\"high\\\"),l=r(\\\"low\\\"),c=r(\\\"close\\\");if(n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\"],i),o&&s&&l&&c){var u=Math.min(o.length,s.length,l.length,c.length);return a&&(u=Math.min(u,a.length)),e._length=u,u}}},{\\\"../../registry\\\":732}],887:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis,l=a.selectAll(\\\"g.trace\\\").data(r,function(t){return t[0].trace.uid});l.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace ohlc\\\"),l.exit().remove(),l.order(),l.each(function(t){var r=t[0],a=r.t,l=r.trace,c=n.select(this);if(e.isRangePlot||(r.node3=c),!0!==l.visible||a.empty)c.remove();else{var u=a.tickLen,f=c.selectAll(\\\"path\\\").data(i.identity);f.enter().append(\\\"path\\\"),f.exit().remove(),f.attr(\\\"d\\\",function(t){var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return\\\"M\\\"+r+\\\",\\\"+s.c2p(t.o,!0)+\\\"H\\\"+e+\\\"M\\\"+e+\\\",\\\"+s.c2p(t.h,!0)+\\\"V\\\"+s.c2p(t.l,!0)+\\\"M\\\"+n+\\\",\\\"+s.c2p(t.c,!0)+\\\"H\\\"+e})}})}},{\\\"../../lib\\\":602,d3:130}],888:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=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([i.c2p(l.pos+s),a.c2p(l.yc)])?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],889:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../components/color\\\");e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.ohlclayer\\\").selectAll(\\\"g.trace\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.each(function(t){var e=t[0].trace;n.select(this).selectAll(\\\"path\\\").each(function(t){var r=e[t.dir].line;n.select(this).style(\\\"fill\\\",\\\"none\\\").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style(\\\"opacity\\\",e.selectedpoints&&!t.selected?.3:1)})})}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,d3:130}],890:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../../components/colorscale/scales\\\"),o=t(\\\"../../plots/cartesian/layout_attributes\\\"),s=t(\\\"../../plots/font_attributes\\\"),l=t(\\\"../../plots/domain\\\").attributes,c=t(\\\"../../lib/extend\\\"),u=c.extendDeepAll,f=c.extendFlat;e.exports={domain:l({name:\\\"parcoords\\\",trace:!0,editType:\\\"calc\\\"}),labelfont:s({editType:\\\"calc\\\"}),tickfont:s({editType:\\\"calc\\\"}),rangefont:s({editType:\\\"calc\\\"}),dimensions:{_isLinkedToArray:\\\"dimension\\\",label:{valType:\\\"string\\\",editType:\\\"calc\\\"},tickvals:f({},o.tickvals,{editType:\\\"calc\\\"}),ticktext:f({},o.ticktext,{editType:\\\"calc\\\"}),tickformat:{valType:\\\"string\\\",dflt:\\\"3s\\\",editType:\\\"calc\\\"},visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},constraintrange:{valType:\\\"info_array\\\",freeLength:!0,dimensions:\\\"1-2\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},multiselect:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},values:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\"},line:f(u(n(\\\"line\\\",\\\"calc\\\"),{colorscale:{dflt:a.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:i,editType:\\\"calc\\\"})}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/colorscale/scales\\\":493,\\\"../../lib/extend\\\":591,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],891:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"d3\\\"),a=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 f(t,e){return t*(1-u)+e*u}function h(t,e,r){if(d(e,r))return e;for(var n=t[0],i=n,a=1;a<t.length;a++){var o=t[a];if(e<f(n,o))return c(n,i);if(e<o||a===t.length-1)return c(o,n);i=n,n=o}}function p(t,e,r){if(d(e,r))return e;for(var n=t[t.length-1],i=n,a=t.length-2;a>=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr(\\\"x\\\",-n.bar.captureWidth/2).attr(\\\"width\\\",n.bar.captureWidth)}function m(t){t.attr(\\\"visibility\\\",\\\"visible\\\").style(\\\"visibility\\\",\\\"visible\\\").attr(\\\"fill\\\",\\\"yellow\\\").attr(\\\"opacity\\\",0)}function v(t){if(!t.brush.filterSpecified)return\\\"0,\\\"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function y(t,e){return t.map(function(t){return t.map(function(t){return t*e}).sort(s)})}function x(){i.select(document.body).style(\\\"cursor\\\",null)}function b(t){t.attr(\\\"stroke-dasharray\\\",v)}function _(t,e){var r=i.select(t).selectAll(\\\".highlight, .highlight-shadow\\\");b(e?r.transition().duration(n.bar.snapDuration).each(\\\"end\\\",e):r)}function w(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=y(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],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[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(v>=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on(\\\"mousemove\\\",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r=\\\"crosshair\\\";e.clickableOrdinalRange?r=\\\"pointer\\\":e.region&&(r=e.region+\\\"-resize\\\"),i.select(document.body).style(\\\"cursor\\\",r)}}).on(\\\"mouseleave\\\",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on(\\\"dragstart\\\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar=\\\"ns\\\"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s[\\\"s\\\"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on(\\\"drag\\\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on(\\\"dragend\\\",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&A(e)):A(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]<s[0]&&s.reverse(),n.newExtent=[h(s,n.newExtent[0],n.stayingIntervals),p(s,n.newExtent[1],n.stayingIntervals)];var l=n.newExtent[1]>n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||A(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(M),t=T(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=i,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:a}}},ensureAxisBrush:function(t){var e=t.selectAll(\\\".\\\"+n.cn.axisBrush).data(o,a);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(g).call(m).style(\\\"pointer-events\\\",\\\"auto\\\").attr(\\\"transform\\\",\\\"translate(0 \\\"+n.verticalPadding+\\\")\\\"),e.call(k).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(b);var i=t.selectAll(\\\".highlight\\\").data(o);i.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\\\"),i.attr(\\\"y1\\\",function(t){return t.height}).call(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(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\\\":602,\\\"../../lib/gup\\\":599,\\\"./constants\\\":895,d3:130}],892:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/get_data\\\").getModuleCalcData,a=t(\\\"./plot\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\");r.name=\\\"parcoords\\\",r.plot=function(t){var e=i(t.calcdata,\\\"parcoords\\\")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"parcoords\\\"),a=e._has&&e._has(\\\"parcoords\\\");i&&!a&&(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\\\":581,\\\"../../plots/get_data\\\":684,\\\"./plot\\\":900,d3:130}],893:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../lib/gup\\\").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,\\\"line\\\")&&i(e,s,\\\"line\\\",\\\"c\\\"),o({lineColor:s,cscale:l})}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599}],894:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.line,c=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+c).remove(),void 0!==l&&l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var p=e[0].t.cb=s(t,c),d=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});p.fillcolor(d).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],895:[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,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\\\"}}},{}],896:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../components/colorscale/has_colorscale\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./constants\\\").maxDimensionCount,l=t(\\\"../../plots/domain\\\").defaults,c=t(\\\"./axisbrush\\\");e.exports=function(t,e,r,u){function f(r,a){return n.coerce(t,e,i,r,a)}var h=function(t,e){var r,a,o,l=t.dimensions||[],u=e.dimensions=[],f=1/0;function h(t,e){return n.coerce(r,a,i.dimensions,t,e)}for(l.length>s&&(n.log(\\\"parcoords traces support up to \\\"+s+\\\" dimensions at the moment\\\"),l.splice(s)),o=0;o<l.length;o++)if(r=l[o],a={},n.isPlainObject(r)){var p=h(\\\"values\\\"),d=h(\\\"visible\\\");if(p&&p.length||(d=a.visible=!1),d){h(\\\"label\\\"),h(\\\"tickvals\\\"),h(\\\"ticktext\\\"),h(\\\"tickformat\\\"),h(\\\"range\\\"),h(\\\"multiselect\\\");var g=h(\\\"constraintrange\\\");g&&(a.constraintrange=c.cleanRanges(g,a)),f=Math.min(f,p.length)}a._index=o,u.push(a)}return e._length=f,u}(t,e);!function(t,e,r,i,s){var l=s(\\\"line.color\\\",r);a(t,\\\"line\\\")&&n.isArrayOrTypedArray(l)&&(l.length?(s(\\\"line.colorscale\\\"),o(t,e,i,s,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"}),e._length=Math.min(e._length,l.length)):e.line.color=r)}(t,e,r,u,f),l(e,u,f),Array.isArray(h)&&h.length||(e.visible=!1);for(var p=0;p<h.length;p++)h[p].visible&&(h[p]._length=e._length);var d={family:u.font.family,size:Math.round(u.font.size/1.2),color:u.font.color};n.coerceFont(f,\\\"labelfont\\\",d),n.coerceFont(f,\\\"tickfont\\\",d),n.coerceFont(f,\\\"rangefont\\\",d)}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":890,\\\"./axisbrush\\\":891,\\\"./constants\\\":895}],897:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"parcoords\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"gl\\\",\\\"regl\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":890,\\\"./base_plot\\\":892,\\\"./calc\\\":893,\\\"./colorbar\\\":894,\\\"./defaults\\\":896,\\\"./plot\\\":900}],898:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=n([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\nuniform sampler2D mask;\\\\nuniform float maskHeight;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\\\n}\\\\n\\\\nfloat axisY(\\\\n        float x,\\\\n        mat4 d[4],\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\\\n    return y1 * (1.0 - x) + y2 * x;\\\\n}\\\\n\\\\nconst int bitsPerByte = 8;\\\\n\\\\nint mod2(int a) {\\\\n    return a - 2 * (a / 2);\\\\n}\\\\n\\\\nint mod8(int a) {\\\\n    return a - 8 * (a / 8);\\\\n}\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nbool withinBoundingBox(\\\\n        mat4 d[4],\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\\\n    ) {\\\\n\\\\n    return mshow(d[0], loA, hiA) &&\\\\n           mshow(d[1], loB, hiB) &&\\\\n           mshow(d[2], loC, hiC) &&\\\\n           mshow(d[3], loD, hiD);\\\\n}\\\\n\\\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\\\n    bool result = true;\\\\n    int bitInByteStepper;\\\\n    float valY, valueY, scaleX;\\\\n    int hit, bitmask, valX;\\\\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                bitInByteStepper = mod8(j * 4 + k);\\\\n                valX = i * 2 + j / 2;\\\\n                valY = d[i][j][k];\\\\n                valueY = valY * (height - 1.0) + 0.5;\\\\n                scaleX = (float(valX) + 0.5) / 8.0;\\\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\\\n                result = result && mod2(hit) == 1;\\\\n            }\\\\n        }\\\\n    }\\\\n    return result;\\\\n}\\\\n\\\\nvec4 position(\\\\n        float depth,\\\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\\\n        mat4 dims[4],\\\\n        float signum,\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\\\n        sampler2D mask, float maskHeight\\\\n    ) {\\\\n\\\\n    float x = 0.5 * signum + 0.5;\\\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\\\n\\\\n    float show = float(\\\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\\\n                         && withinRasterMask(dims, mask, maskHeight)\\\\n                      );\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    return vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float prominence = abs(pf[3]);\\\\n\\\\n    mat4 p[4];\\\\n    p[0] = mat4(p0, p1, p2, p3);\\\\n    p[1] = mat4(p4, p5, p6, p7);\\\\n    p[2] = mat4(p8, p9, pa, pb);\\\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    gl_Position = position(\\\\n        1.0 - prominence,\\\\n        resolution, viewBoxPosition, viewBoxSize,\\\\n        p,\\\\n        sign(pf[3]),\\\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\\\n        mask, maskHeight\\\\n    );\\\\n\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\"]),a=n([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nfloat axisY(\\\\n        float x,\\\\n        mat4 d[4],\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\\\n    return y1 * (1.0 - x) + y2 * x;\\\\n}\\\\n\\\\nvec4 position(\\\\n        float depth,\\\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\\\n        mat4 dims[4],\\\\n        float signum,\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float x = 0.5 * signum + 0.5;\\\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\\\n\\\\n    return vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depth,\\\\n        1.0\\\\n    );\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float prominence = abs(pf[3]);\\\\n\\\\n    mat4 p[4];\\\\n    p[0] = mat4(p0, p1, p2, p3);\\\\n    p[1] = mat4(p4, p5, p6, p7);\\\\n    p[2] = mat4(p8, p9, pa, pb);\\\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    gl_Position = position(\\\\n        1.0 - prominence,\\\\n        resolution, viewBoxPosition, viewBoxSize,\\\\n        p,\\\\n        sign(pf[3]),\\\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\\\\n    );\\\\n\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\"]),o=n([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D mask;\\\\nuniform float maskHeight;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\\\n}\\\\n\\\\nfloat axisY(\\\\n        float x,\\\\n        mat4 d[4],\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\\\n    return y1 * (1.0 - x) + y2 * x;\\\\n}\\\\n\\\\nconst int bitsPerByte = 8;\\\\n\\\\nint mod2(int a) {\\\\n    return a - 2 * (a / 2);\\\\n}\\\\n\\\\nint mod8(int a) {\\\\n    return a - 8 * (a / 8);\\\\n}\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nbool withinBoundingBox(\\\\n        mat4 d[4],\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\\\n    ) {\\\\n\\\\n    return mshow(d[0], loA, hiA) &&\\\\n           mshow(d[1], loB, hiB) &&\\\\n           mshow(d[2], loC, hiC) &&\\\\n           mshow(d[3], loD, hiD);\\\\n}\\\\n\\\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\\\n    bool result = true;\\\\n    int bitInByteStepper;\\\\n    float valY, valueY, scaleX;\\\\n    int hit, bitmask, valX;\\\\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                bitInByteStepper = mod8(j * 4 + k);\\\\n                valX = i * 2 + j / 2;\\\\n                valY = d[i][j][k];\\\\n                valueY = valY * (height - 1.0) + 0.5;\\\\n                scaleX = (float(valX) + 0.5) / 8.0;\\\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\\\n                result = result && mod2(hit) == 1;\\\\n            }\\\\n        }\\\\n    }\\\\n    return result;\\\\n}\\\\n\\\\nvec4 position(\\\\n        float depth,\\\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\\\n        mat4 dims[4],\\\\n        float signum,\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\\\n        sampler2D mask, float maskHeight\\\\n    ) {\\\\n\\\\n    float x = 0.5 * signum + 0.5;\\\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\\\n\\\\n    float show = float(\\\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\\\n                         && withinRasterMask(dims, mask, maskHeight)\\\\n                      );\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    return vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float prominence = abs(pf[3]);\\\\n\\\\n    mat4 p[4];\\\\n    p[0] = mat4(p0, p1, p2, p3);\\\\n    p[1] = mat4(p4, p5, p6, p7);\\\\n    p[2] = mat4(p8, p9, pa, pb);\\\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    gl_Position = position(\\\\n        1.0 - prominence,\\\\n        resolution, viewBoxPosition, viewBoxSize,\\\\n        p,\\\\n        sign(pf[3]),\\\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\\\n        mask, maskHeight\\\\n    );\\\\n\\\\n    fragColor = vec4(pf.rgb, 1.0);\\\\n}\\\\n\\\"]),s=n([\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = fragColor;\\\\n}\\\\n\\\"]),l=t(\\\"../../lib\\\"),c=1e-6,u=1e-7,f=2048,h=64,p=2,d=4,g=8,m=h/g,v=[119,119,119],y=new Uint8Array(4),x=new Uint8Array(4),b={shape:[256,1],format:\\\"rgba\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\"};function _(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function w(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:y})}(t),r.drawCompleted=!0),function s(l){var c;c=Math.min(n,i-l*n),a.offset=p*l*n,a.count=p*c,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],_(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function k(t,e){return(t>>>8*e)%256/255}function M(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<p;a++)for(n=0;n<d;n++)o.push(e[i*h+r*d+n]),r*d+n===h-1&&a%2==0&&(o[o.length-1]*=-1);return o}e.exports=function(t,e){var r,n,p,d,y,A=e.context,T=e.pick,S=e.regl,C={currentRafs:{},drawCompleted:!0,clearOnly:!1},E=function(t){for(var e={},r=0;r<16;r++)e[\\\"p\\\"+r.toString(16)]=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null});return e}(S),L=S.texture(b);P(e);var z=S({profile:!1,blend:{enable:A,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:!A,mask:!0,func:\\\"less\\\",range:[0,1]},cull:{enable:!0,face:\\\"back\\\"},scissor:{enable:!0,box:{x:S.prop(\\\"scissorX\\\"),y:S.prop(\\\"scissorY\\\"),width:S.prop(\\\"scissorWidth\\\"),height:S.prop(\\\"scissorHeight\\\")}},viewport:{x:S.prop(\\\"viewportX\\\"),y:S.prop(\\\"viewportY\\\"),width:S.prop(\\\"viewportWidth\\\"),height:S.prop(\\\"viewportHeight\\\")},dither:!1,vert:T?o:A?a:i,frag:s,primitive:\\\"lines\\\",lineWidth:1,attributes:E,uniforms:{resolution:S.prop(\\\"resolution\\\"),viewBoxPosition:S.prop(\\\"viewBoxPosition\\\"),viewBoxSize:S.prop(\\\"viewBoxSize\\\"),dim1A:S.prop(\\\"dim1A\\\"),dim2A:S.prop(\\\"dim2A\\\"),dim1B:S.prop(\\\"dim1B\\\"),dim2B:S.prop(\\\"dim2B\\\"),dim1C:S.prop(\\\"dim1C\\\"),dim2C:S.prop(\\\"dim2C\\\"),dim1D:S.prop(\\\"dim1D\\\"),dim2D:S.prop(\\\"dim2D\\\"),loA:S.prop(\\\"loA\\\"),hiA:S.prop(\\\"hiA\\\"),loB:S.prop(\\\"loB\\\"),hiB:S.prop(\\\"hiB\\\"),loC:S.prop(\\\"loC\\\"),hiC:S.prop(\\\"hiC\\\"),loD:S.prop(\\\"loD\\\"),hiD:S.prop(\\\"hiD\\\"),palette:L,mask:S.prop(\\\"maskTexture\\\"),maskHeight:S.prop(\\\"maskHeight\\\"),colorClamp:S.prop(\\\"colorClamp\\\")},offset:S.prop(\\\"offset\\\"),count:S.prop(\\\"count\\\")});function P(t){r=t.model,n=t.viewModel,p=n.dimensions.slice(),d=p[0]?p[0].values.length:0;var e=r.lines,i=T?e.color.map(function(t,r){return r/e.color.length}):e.color,a=Math.max(1/255,Math.pow(1/i.length,1/3)),o=function(t,e,r){for(var n,i=e.length,a=[],o=0;o<t;o++)for(var s=0;s<h;s++)a.push(s<i?e[s].paddedUnitValues[o]:s===h-1?(n=r[o],Math.max(c,Math.min(1-c,n))):s>=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t[\\\"p\\\"+n.toString(16)](M(e,r,n))}(E,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?v:a).concat(r))}return n}(r.unitToColor,A,Math.round(255*(A?a:1)))},b))}var D=[0,1];var O=[];function I(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,m,v=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(m=v[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===m?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:D,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){D[0]=t[0],D[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;i<s;i++)t[i].dim2.canvasX>c&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasX<l&&(l=t[i].dim1.canvasX,a=i);0===s&&_(S,0,0,r.canvasWidth,r.canvasHeight);var h=A?{}:function(){var t,e,r,n=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(t=0;t<2;t++)for(e=0;e<4;e++)for(r=0;r<16;r++){var i,a=r+16*e;i=a<p.length?p[a].brush.filter.getBounds()[t]:t,n[t][e][r]=i+(2*t-1)*u}function o(t,e){var r=f-1;return[Math.max(0,Math.floor(e[0]*r)),Math.min(r,Math.ceil(e[1]*r))]}for(var s=Array.apply(null,new Array(f*m)).map(function(){return 255}),l=0;l<p.length;l++){var c=l%g,h=(l-c)/g,d=Math.pow(2,c),v=p[l],x=v.brush.filter.get();if(!(x.length<2))for(var b=o(0,x[0])[1],_=1;_<x.length;_++){for(var w=o(0,x[_]),k=b+1;k<w[0];k++)s[k*m+h]&=~d;b=Math.max(b,w[1])}}var M={shape:[m,f],format:\\\"alpha\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\",data:s};return y?y(M):y=S.texture(M),{maskTexture:y,maskHeight:f,loA:n[0][0],loB:n[0][1],loC:n[0][2],loD:n[0][3],hiA:n[1][0],hiB:n[1][1],hiC:n[1][2],hiD:n[1][3]}}();for(i=0;i<s;i++){var v=t[i],x=v.dim1,b=x.crossfilterDimensionIndex,k=v.canvasX,M=v.canvasY,T=v.dim2.crossfilterDimensionIndex,E=v.panelSizeX,L=v.panelSizeY,P=k+E;if(e||!O[b]||O[b][0]!==k||O[b][1]!==P){O[b]=[k,P];var D=I(b,T,k,M,E,L,x.crossfilterDimensionIndex,i,a,o,h);C.clearOnly=n,w(S,z,C,e?r.lines.blockLineCount:d,d,D)}}},readPixel:function(t,e){return S.read({x:t,y:e,width:1,height:1,data:x}),x},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return S.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style[\\\"pointer-events\\\"]=\\\"none\\\",L.destroy(),y&&y.destroy(),E)E[e].destroy()},update:P}}},{\\\"../../lib\\\":602,glslify:295}],899:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lines\\\"),i=t(\\\"./constants\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"d3\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../lib/gup\\\"),c=l.keyFun,u=l.repeat,f=l.unwrap,h=t(\\\"./axisbrush\\\");function p(t){return!(\\\"visible\\\"in t)||t.visible}function d(t){var e=t.range?t.range[0]:a.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:a.aggNums(Math.max,null,t.values,t._length);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function g(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function m(t,e,r){var n=f(e),s=n.trace,l=n.lineColor,c=n.cscale,u=s.line,h=s.domain,g=s.dimensions,m=t.width,v=s.labelfont,y=s.tickfont,x=s.rangefont,b=a.extendDeepNoArrays({},u,{color:l.map(o.scale.linear().domain(d({values:l,range:[u.cmin,u.cmax],_length:s._length}))),blockLineCount:i.blockLineCount,canvasOverdrag:i.overdrag*i.canvasPixelRatio}),_=Math.floor(m*(h.x[1]-h.x[0])),w=Math.floor(t.height*(h.y[1]-h.y[0])),k=t.margin||{l:80,r:80,t:100,b:80},M=_,A=w;return{key:r,colCount:g.filter(p).length,dimensions:g,tickDistance:i.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return o.rgb(t[1])}),n=\\\"rgb\\\".split(\\\"\\\").map(function(t){return o.scale.linear().clamp(!0).domain(e).range(r.map((n=t,function(t){return t[n]})));var n});return function(t){return n.map(function(e){return e(t)})}}(c),lines:b,labelFont:v,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:h,translateX:h.x[0]*m,translateY:t.height-h.y[1]*t.height,pad:k,canvasWidth:M*i.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*i.canvasPixelRatio,width:M,height:A,canvasPixelRatio:i.canvasPixelRatio}}function v(t,e,r){var n=r.width,s=r.height,l=r.dimensions,c=r.canvasPixelRatio,u=function(t){return n*t/Math.max(1,r.colCount-1)},f=i.verticalPadding/s,m=function(t,e){return o.scale.linear().range([e,t-e])}(s,i.verticalPadding),v={key:r.key,xScale:u,model:r,inBrushDrag:!1},y={};return v.dimensions=l.filter(p).map(function(n,l){var p=function(t,e){return o.scale.linear().domain(d(t)).range([e,1-e])}(n,f),x=y[n.label];y[n.label]=(x||0)+1;var b=n.label+(x?\\\"__\\\"+x:\\\"\\\"),_=n.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var k=w?_.map(function(t){return t.map(p)}):[[0,1]],M=n.values;M.length>n._length&&(M=M.slice(0,n._length));var A,T=n.tickvals;function S(t,e){return{val:t,text:A[e]}}function C(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){A=n.ticktext,Array.isArray(A)&&A.length?A.length>T.length?A=A.slice(0,T.length):T.length>A.length&&(T=T.slice(0,A.length)):A=T.map(o.format(n.tickformat));for(var E=1;E<T.length;E++)if(T[E]<T[E-1]){for(var L=T.map(S).sort(C),z=0;z<T.length;z++)T[z]=L[z].val,A[z]=L[z].text;break}}else T=void 0;return{key:b,label:n.label,tickFormat:n.tickformat,tickvals:T,ticktext:A,ordinal:!!T,multiselect:n.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:n._index,height:s,values:M,paddedUnitValues:M.map(p),unitTickvals:T&&T.map(p),xScale:u,x:u(l),canvasX:u(l)*c,unitToPaddedPx:m,domainScale:function(t,e,r,n,i){var a,s,l=d(r);return n?o.scale.ordinal().domain(n.map((a=o.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null===r||void 0===r?a(t):r}:a))).range(n.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):o.scale.linear().domain(l).range([t-e,e])}(s,i.verticalPadding,n,T,A),ordinalScale:function(t){if(t.tickvals){var e=d(t);return o.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(n),parent:v,model:r,brush:h.makeBrush(t,w,k,function(){t.linePickActive(!1)},function(){var e=v;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=g(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){var i=v;if(i.focusLayer.render(i.panels,!0),i.pickLayer&&i.pickLayer.render(i.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var o=p.invert,s=r.map(function(t){return t.map(o).sort(a.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(i.key,n._index,s)}})}}),v}function y(t){t.classed(i.cn.axisExtentText,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"user-select\\\",\\\"none\\\")}e.exports=function(t,e,r,l,p,d){var x,b,_=(x=!0,b=!1,{linePickActive:function(t){return arguments.length?x=!!t:x},contextShown:function(t){return arguments.length?b=!!t:b}}),w=l.filter(function(t){return f(t).trace.visible}).map(m.bind(0,p)).map(v.bind(0,_,d));r.each(function(t,e){return a.extendFlat(t,w[e])});var k=r.selectAll(\\\".gl-canvas\\\").each(function(t){t.viewModel=w[0],t.model=t.viewModel?t.viewModel.model:null}),M=null;k.filter(function(t){return t.pick}).style(\\\"pointer-events\\\",\\\"auto\\\").on(\\\"mousemove\\\",function(t){if(_.linePickActive()&&t.lineLayer&&d&&d.hover){var e=o.event,r=this.width,n=this.height,i=o.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==M&&(c?d.hover(f):d.unhover&&d.unhover(f),M=u)}}),k.style(\\\"opacity\\\",function(t){return t.pick?.01:1}),e.style(\\\"background\\\",\\\"rgba(255, 255, 255, 0)\\\");var A=e.selectAll(\\\".\\\"+i.cn.parcoords).data(w,c);A.exit().remove(),A.enter().append(\\\"g\\\").classed(i.cn.parcoords,!0).style(\\\"shape-rendering\\\",\\\"crispEdges\\\").style(\\\"pointer-events\\\",\\\"none\\\"),A.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.translateX+\\\",\\\"+t.model.translateY+\\\")\\\"});var T=A.selectAll(\\\".\\\"+i.cn.parcoordsControlView).data(u,c);T.enter().append(\\\"g\\\").classed(i.cn.parcoordsControlView,!0),T.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.pad.l+\\\",\\\"+t.model.pad.t+\\\")\\\"});var S=T.selectAll(\\\".\\\"+i.cn.yAxis).data(function(t){return t.dimensions},c);function C(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;a<i;a++){var o=r[a]||(r[a]={}),s=n[a],l=n[a+1];o.dim1=s,o.dim2=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=e.model.canvasHeight,o.y=0,o.canvasY=0}}S.enter().append(\\\"g\\\").classed(i.cn.yAxis,!0),T.each(function(t){C(S,t)}),k.each(function(t){t.viewModel&&(t.lineLayer?t.lineLayer.update(t):t.lineLayer=n(this,t),t.viewModel[t.key]=t.lineLayer,t.lineLayer.render(t.viewModel.panels,!t.context))}),S.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),S.call(o.behavior.drag().origin(function(t){return t}).on(\\\"drag\\\",function(t){var e=t.parent;_.linePickActive(!1),t.x=Math.max(-i.overdrag,Math.min(t.model.width+i.overdrag,o.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,S.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}),C(S,e),S.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),o.select(this).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\", 0)\\\"),S.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(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,C(S,e),o.select(this).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\", 0)\\\"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),_.linePickActive(!0),d&&d.axesMoved&&d.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),S.exit().remove();var E=S.selectAll(\\\".\\\"+i.cn.axisOverlays).data(u,c);E.enter().append(\\\"g\\\").classed(i.cn.axisOverlays,!0),E.selectAll(\\\".\\\"+i.cn.axis).remove();var L=E.selectAll(\\\".\\\"+i.cn.axis).data(u,c);L.enter().append(\\\"g\\\").classed(i.cn.axis,!0),L.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();o.select(this).call(o.svg.axis().orient(\\\"left\\\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),s.font(L.selectAll(\\\"text\\\"),t.model.tickFont)}),L.selectAll(\\\".domain, .tick>line\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-opacity\\\",.25).attr(\\\"stroke-width\\\",\\\"1px\\\"),L.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 z=E.selectAll(\\\".\\\"+i.cn.axisHeading).data(u,c);z.enter().append(\\\"g\\\").classed(i.cn.axisHeading,!0);var P=z.selectAll(\\\".\\\"+i.cn.axisTitle).data(u,c);P.enter().append(\\\"text\\\").classed(i.cn.axisTitle,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"ew-resize\\\").style(\\\"user-select\\\",\\\"none\\\").style(\\\"pointer-events\\\",\\\"auto\\\"),P.attr(\\\"transform\\\",\\\"translate(0,\\\"+-i.axisTitleOffset+\\\")\\\").text(function(t){return t.label}).each(function(t){s.font(o.select(this),t.model.labelFont)});var D=E.selectAll(\\\".\\\"+i.cn.axisExtent).data(u,c);D.enter().append(\\\"g\\\").classed(i.cn.axisExtent,!0);var O=D.selectAll(\\\".\\\"+i.cn.axisExtentTop).data(u,c);O.enter().append(\\\"g\\\").classed(i.cn.axisExtentTop,!0),O.attr(\\\"transform\\\",\\\"translate(0,\\\"+-i.axisExtentOffset+\\\")\\\");var I=O.selectAll(\\\".\\\"+i.cn.axisExtentTopText).data(u,c);function R(t,e){if(t.ordinal)return\\\"\\\";var r=t.domainScale.domain();return o.format(t.tickFormat)(r[e?r.length-1:0])}I.enter().append(\\\"text\\\").classed(i.cn.axisExtentTopText,!0).call(y),I.text(function(t){return R(t,!0)}).each(function(t){s.font(o.select(this),t.model.rangeFont)});var B=D.selectAll(\\\".\\\"+i.cn.axisExtentBottom).data(u,c);B.enter().append(\\\"g\\\").classed(i.cn.axisExtentBottom,!0),B.attr(\\\"transform\\\",function(t){return\\\"translate(0,\\\"+(t.model.height+i.axisExtentOffset)+\\\")\\\"});var F=B.selectAll(\\\".\\\"+i.cn.axisExtentBottomText).data(u,c);F.enter().append(\\\"text\\\").classed(i.cn.axisExtentBottomText,!0).attr(\\\"dy\\\",\\\"0.75em\\\").call(y),F.text(function(t){return R(t)}).each(function(t){s.font(o.select(this),t.model.rangeFont)}),h.ensureAxisBrush(E)}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"./axisbrush\\\":891,\\\"./constants\\\":895,\\\"./lines\\\":898,d3:130}],900:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./parcoords\\\"),i=t(\\\"../../lib/prepare_regl\\\");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;i(t);var l={},c={},u=r._size;e.forEach(function(e,r){l[r]=t.data[r].dimensions,c[r]=t.data[r].dimensions.slice()});n(o,a,s,e,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(e,r,n){var i=c[e][r],a=n.map(function(t){return t.slice()});a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,a=[a]):(delete i.constraintrange,a=null);var o={};o[\\\"dimensions[\\\"+r+\\\"].constraintrange\\\"]=a,t.emit(\\\"plotly_restyle\\\",[o,[e]])},hover:function(e){t.emit(\\\"plotly_hover\\\",e)},unhover:function(e){t.emit(\\\"plotly_unhover\\\",e)},axesMoved:function(e,r){function n(t){return!(\\\"visible\\\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit(\\\"plotly_restyle\\\")}})}},{\\\"../../lib/prepare_regl\\\":615,\\\"./parcoords\\\":899}],901:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color/attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../plots/domain\\\").attributes,s=t(\\\"../../lib/extend\\\").extendFlat,l=i({editType:\\\"calc\\\",colorEditType:\\\"style\\\"});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:n.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:\\\"calc\\\"},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:s({},a.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"auto\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({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\\\"}}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],902:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/get_data\\\").getModuleCalcData;r.name=\\\"pie\\\",r.plot=function(t){var e=n.getModule(\\\"pie\\\"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"pie\\\"),a=e._has&&e._has(\\\"pie\\\");i&&!a&&n._pielayer.selectAll(\\\"g.trace\\\").remove()}},{\\\"../../plots/get_data\\\":684,\\\"../../registry\\\":732}],903:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\").isArrayOrTypedArray,o=t(\\\"tinycolor2\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"./helpers\\\");function c(t,e){if(!n){var r=s.defaults;n=u(r)}var i=e||n;return i[t%i.length]}function u(t){var e,r=t.slice();for(e=0;e<t.length;e++)r.push(o(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)r.push(o(t[e]).darken(20).toHexString());return r}e.exports=function(t,e){var r,n,f,h,p,d=e.values,g=a(d)&&d.length,m=e.labels,v=e.marker.colors||[],y=[],x=t._fullLayout,b=x.colorway,_=x._piecolormap,w={},k=0,M=x.hiddenlabels||[];if(x._piecolorway||b===s.defaults||(x._piecolorway=u(b)),e.dlabel)for(m=new Array(d.length),r=0;r<d.length;r++)m[r]=String(e.label0+r*e.dlabel);function A(t,e){return!!t&&(!!(t=o(t)).isValid()&&(t=s.addOpacity(t,t.getAlpha()),_[e]||(_[e]=t),t))}var T=(g?d:m).length;for(r=0;r<T;r++){if(g){if(n=d[r],!i(n))continue;if((n=+n)<0)continue}else n=1;void 0!==(f=m[r])&&\\\"\\\"!==f||(f=r);var S=w[f=String(f)];void 0===S?(w[f]=y.length,(h=-1!==M.indexOf(f))||(k+=n),y.push({v:n,label:f,color:A(v[r]),i:r,pts:[r],hidden:h})):((p=y[S]).v+=n,p.pts.push(r),p.hidden||(k+=n),!1===p.color&&v[r]&&(p.color=A(v[r],f)))}for(e.sort&&y.sort(function(t,e){return e.v-t.v}),r=0;r<y.length;r++)!1===(p=y[r]).color&&(_[p.label]?p.color=_[p.label]:(_[p.label]=p.color=c(x._piedefaultcolorcount,x._piecolorway),x._piedefaultcolorcount++));if(y[0]&&(y[0].vTotal=k),e.textinfo&&\\\"none\\\"!==e.textinfo){var C,E=-1!==e.textinfo.indexOf(\\\"label\\\"),L=-1!==e.textinfo.indexOf(\\\"text\\\"),z=-1!==e.textinfo.indexOf(\\\"value\\\"),P=-1!==e.textinfo.indexOf(\\\"percent\\\"),D=x.separators;for(r=0;r<y.length;r++){if(p=y[r],C=E?[p.label]:[],L){var O=l.getFirstFilled(e.text,p.pts);O&&C.push(O)}z&&C.push(l.formatPieValue(p.v,D)),P&&C.push(l.formatPiePercent(p.v/k,D)),p.text=C.join(\\\"<br>\\\")}}return y}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"./helpers\\\":906,\\\"fast-isnumeric\\\":196,tinycolor2:415}],904:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../plots/domain\\\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l,c=n.coerceFont,u=s(\\\"values\\\"),f=n.isArrayOrTypedArray(u),h=s(\\\"labels\\\");if(Array.isArray(h)&&(l=h.length,f&&(l=Math.min(l,u.length))),!Array.isArray(h)){if(!f)return void(e.visible=!1);l=u.length,s(\\\"label0\\\"),s(\\\"dlabel\\\")}if(l){e._length=l,s(\\\"marker.line.width\\\")&&s(\\\"marker.line.color\\\"),s(\\\"marker.colors\\\"),s(\\\"scalegroup\\\");var p=s(\\\"text\\\"),d=s(\\\"textinfo\\\",Array.isArray(p)?\\\"text+percent\\\":\\\"percent\\\");if(s(\\\"hovertext\\\"),d&&\\\"none\\\"!==d){var g=s(\\\"textposition\\\"),m=Array.isArray(g)||\\\"auto\\\"===g,v=m||\\\"inside\\\"===g,y=m||\\\"outside\\\"===g;if(v||y){var x=c(s,\\\"textfont\\\",o.font);v&&c(s,\\\"insidetextfont\\\",x),y&&c(s,\\\"outsidetextfont\\\",x)}}a(e,o,s),s(\\\"hole\\\"),s(\\\"sort\\\"),s(\\\"direction\\\"),s(\\\"rotation\\\"),s(\\\"pull\\\")}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":901}],905:[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,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{\\\"../../components/fx/helpers\\\":513}],906:[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)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{\\\"../../lib\\\":602}],907:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.styleOne=t(\\\"./style_one\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pie\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"pie\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":901,\\\"./base_plot\\\":902,\\\"./calc\\\":903,\\\"./defaults\\\":904,\\\"./layout_attributes\\\":908,\\\"./layout_defaults\\\":909,\\\"./plot\\\":910,\\\"./style\\\":911,\\\"./style_one\\\":912}],908:[function(t,e,r){\\\"use strict\\\";e.exports={hiddenlabels:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}}},{}],909:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e){var r,a;r=\\\"hiddenlabels\\\",n.coerce(t,e,i,r,a)}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":908}],910:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"./helpers\\\"),u=t(\\\"./event_data\\\");function f(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function h(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===f.indexOf(s.scalegroup)&&f.push(s.scalegroup)}for(a=0;a<f.length;a++){for(u=1/0,c=f[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var p=r._pielayer.selectAll(\\\"g.trace\\\").data(e);p.enter().append(\\\"g\\\").attr({\\\"stroke-linejoin\\\":\\\"round\\\",class:\\\"trace\\\"}),p.exit().remove(),p.order(),p.each(function(e){var p=n.select(this),d=e[0],g=d.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\\\"px0\\\",c=\\\"px1\\\";if(\\\"counterclockwise\\\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\\\"px1\\\",c=\\\"px0\\\"}function u(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(e),p.each(function(){var p=n.select(this).selectAll(\\\"g.slice\\\").data(e);p.enter().append(\\\"g\\\").classed(\\\"slice\\\",!0),p.exit().remove();var m=[[[],[]],[[],[]]],v=!1;p.each(function(e){if(e.hidden)n.select(this).selectAll(\\\"path,g\\\").remove();else{e.pointNumber=e.i,e.curveNumber=g.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var a=d.cx,p=d.cy,y=n.select(this),x=y.selectAll(\\\"path.surface\\\").data([e]),b=!1,_=!1;if(x.enter().append(\\\"path\\\").classed(\\\"surface\\\",!0).style({\\\"pointer-events\\\":\\\"all\\\"}),y.select(\\\"path.textline\\\").remove(),y.on(\\\"mouseover\\\",function(){var o=t._fullLayout,s=t._fullData[g.index];if(!t._dragging&&!1!==o.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&&(l=i.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:g._module},o,0)),\\\"all\\\"===l&&(l=\\\"label+text+value+percent+name\\\"),\\\"none\\\"!==l&&\\\"skip\\\"!==l&&l){var h=f(e,d),m=a+e.pxmid[0]*(1-h),v=p+e.pxmid[1]*(1-h),y=r.separators,x=[];if(-1!==l.indexOf(\\\"label\\\")&&x.push(e.label),-1!==l.indexOf(\\\"text\\\")){var w=c.castOption(s.hovertext||s.text,e.pts);w&&x.push(w)}-1!==l.indexOf(\\\"value\\\")&&x.push(c.formatPieValue(e.v,y)),-1!==l.indexOf(\\\"percent\\\")&&x.push(c.formatPiePercent(e.v/d.vTotal,y));var k=g.hoverlabel,M=k.font;i.loneHover({x0:m-h*d.r,x1:m+h*d.r,y:v,text:x.join(\\\"<br>\\\"),name:-1!==l.indexOf(\\\"name\\\")?s.name:void 0,idealAlign:e.pxmid[0]<0?\\\"left\\\":\\\"right\\\",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(M.family,e.pts),fontSize:c.castOption(M.size,e.pts),fontColor:c.castOption(M.color,e.pts)},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:t}),b=!0}t.emit(\\\"plotly_hover\\\",{points:[u(e,s)],event:n.event}),_=!0}}).on(\\\"mouseout\\\",function(r){var a=t._fullLayout,o=t._fullData[g.index];_&&(r.originalEvent=n.event,t.emit(\\\"plotly_unhover\\\",{points:[u(e,o)],event:n.event}),_=!1),b&&(i.loneUnhover(a._hoverlayer.node()),b=!1)}).on(\\\"click\\\",function(){var r=t._fullLayout,a=t._fullData[g.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),g.pull){var w=+c.castOption(g.pull,e.pts)||0;w>0&&(a+=w*e.pxmid[0],p+=w*e.pxmid[1])}e.cxFinal=a,e.cyFinal=p;var k=g.hole;if(e.v===d.vTotal){var M=\\\"M\\\"+(a+e.px0[0])+\\\",\\\"+(p+e.px0[1])+E(e.px0,e.pxmid,!0,1)+E(e.pxmid,e.px0,!0,1)+\\\"Z\\\";k?x.attr(\\\"d\\\",\\\"M\\\"+(a+k*e.px0[0])+\\\",\\\"+(p+k*e.px0[1])+E(e.px0,e.pxmid,!1,k)+E(e.pxmid,e.px0,!1,k)+\\\"Z\\\"+M):x.attr(\\\"d\\\",M)}else{var A=E(e.px0,e.px1,!0,1);if(k){var T=1-k;x.attr(\\\"d\\\",\\\"M\\\"+(a+k*e.px1[0])+\\\",\\\"+(p+k*e.px1[1])+E(e.px1,e.px0,!1,k)+\\\"l\\\"+T*e.px0[0]+\\\",\\\"+T*e.px0[1]+A+\\\"Z\\\")}else x.attr(\\\"d\\\",\\\"M\\\"+a+\\\",\\\"+p+\\\"l\\\"+e.px0[0]+\\\",\\\"+e.px0[1]+A+\\\"Z\\\")}var S=c.castOption(g.textposition,e.pts),C=y.selectAll(\\\"g.slicetext\\\").data(e.text&&\\\"none\\\"!==S?[0]:[]);C.enter().append(\\\"g\\\").classed(\\\"slicetext\\\",!0),C.exit().remove(),C.each(function(){var r=s.ensureSingle(n.select(this),\\\"text\\\",\\\"\\\",function(t){t.attr(\\\"data-notex\\\",1)});r.text(e.text).attr({class:\\\"slicetext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\"}).call(o.font,\\\"outside\\\"===S?g.outsidetextfont:g.insidetextfont).call(l.convertToTspans,t);var i,c=o.bBox(r.node());\\\"outside\\\"===S?i=h(c,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>h.scale?m:h;return l.scale<1&&v.scale>l.scale?v:l}(c,e,d),\\\"auto\\\"===S&&i.scale<1&&(r.call(o.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(c=o.bBox(r.node())),i=h(c,e)));var u=a+e.pxmid[0]*i.rCenter+(i.x||0),m=p+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=m-c.height/2,e.yLabelMid=m,e.yLabelMax=m+c.height/2,e.labelExtraX=0,e.labelExtraY=0,v=!0),r.attr(\\\"transform\\\",\\\"translate(\\\"+u+\\\",\\\"+m+\\\")\\\"+(i.scale<1?\\\"scale(\\\"+i.scale+\\\")\\\":\\\"\\\")+(i.rotate?\\\"rotate(\\\"+i.rotate+\\\")\\\":\\\"\\\")+\\\"translate(\\\"+-(c.left+c.right)/2+\\\",\\\"+-(c.top+c.bottom)/2+\\\")\\\")})}function E(t,r,n,i){return\\\"a\\\"+i*d.r+\\\",\\\"+i*d.r+\\\" 0 \\\"+e.largeArc+(n?\\\" 1 \\\":\\\" 0 \\\")+i*(r[0]-t[0])+\\\",\\\"+i*(r[1]-t[1])}}),v&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,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 i,u,f,p,d,g,m=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=m-v;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u<h.length;u++)(f=h[u])===t||(c.castOption(e.pull,t.pts)||0)>=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-v-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;p<u.length;p++)void 0!==u[p].yLabelMid&&d.push(u[p]);for(g=!1,p=0;n&&p<f.length;p++)if(void 0!==f[p].yLabelMid){g=f[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,g),p.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=n.select(this),r=e.select(\\\"g.slicetext text\\\");r.attr(\\\"transform\\\",\\\"translate(\\\"+t.labelExtraX+\\\",\\\"+t.labelExtraY+\\\")\\\"+r.attr(\\\"transform\\\"));var i=t.cxFinal+t.pxmid[0],o=\\\"M\\\"+i+\\\",\\\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(c)?o+=\\\"l\\\"+c*t.pxmid[0]/t.pxmid[1]+\\\",\\\"+c+\\\"H\\\"+(i+t.labelExtraX+s):o+=\\\"l\\\"+t.labelExtraX+\\\",\\\"+l+\\\"v\\\"+(c-l)+\\\"h\\\"+s}else o+=\\\"V\\\"+(t.yLabelMid+t.labelExtraY)+\\\"h\\\"+s;e.append(\\\"path\\\").classed(\\\"textline\\\",!0).call(a.stroke,g.outsidetextfont.color).attr({\\\"stroke-width\\\":Math.min(2,g.outsidetextfont.size/8),d:o,fill:\\\"none\\\"})}})})}),setTimeout(function(){p.selectAll(\\\"tspan\\\").each(function(){var t=n.select(this);t.attr(\\\"dy\\\")&&t.attr(\\\"dy\\\",t.attr(\\\"dy\\\"))})},0)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"./event_data\\\":905,\\\"./helpers\\\":906,d3:130}],911:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"./style_one\\\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\\\".trace\\\").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(i,t,e)})})}},{\\\"./style_one\\\":912,d3:130}],912:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"./helpers\\\").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style({\\\"stroke-width\\\":s}).call(n.fill,e.color).call(n.stroke,o)}},{\\\"../../components/color\\\":474,\\\"./helpers\\\":906}],913:[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\\\"}}},{\\\"../scatter/attributes\\\":926}],914:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-pointcloud2d\\\"),i=t(\\\"../../lib/str2rgbarray\\\"),a=t(\\\"../../plots/cartesian/autorange\\\").expand,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,a,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,h=t.indices,p=this.bounds;if(u){if(n=u,e=u.length>>>1,f)p[0]=t.xbounds[0],p[2]=t.xbounds[1],p[1]=t.ybounds[0],p[3]=t.ybounds[1];else for(s=0;s<e;s++)a=n[2*s],o=n[2*s+1],a<p[0]&&(p[0]=a),a>p[2]&&(p[2]=a),o<p[1]&&(p[1]=o),o>p[3]&&(p[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;s<e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s<e;s++)a=l[s],o=c[s],r[s]=s,n[2*s]=a,n[2*s+1]=o,a<p[0]&&(p[0]=a),a>p[2]&&(p[2]=a),o<p[1]&&(p[1]=o),o>p[3]&&(p[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var d=i(t.marker.color),g=i(t.marker.border.color),m=t.opacity*t.marker.opacity;d[3]*=m,this.pointcloudOptions.color=d;var v=t.marker.blend;if(null===v){v=l.length<100||c.length<100}this.pointcloudOptions.blend=v,g[3]*=m,this.pointcloudOptions.borderColor=g;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(p,x/2)},l.expandAxesFast=function(t,e){var r=e||.5;a(this.scene.xaxis,[t[0],t[2]],{ppad:r}),a(this.scene.yaxis,[t[1],t[3]],{ppad:r})},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\\\":625,\\\"../../plots/cartesian/autorange\\\":647,\\\"../scatter/get_trace_color\\\":936,\\\"gl-pointcloud2d\\\":255}],915:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\\\"x\\\"),a(\\\"y\\\"),a(\\\"xbounds\\\"),a(\\\"ybounds\\\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\\\"text\\\"),a(\\\"marker.color\\\",r),a(\\\"marker.opacity\\\"),a(\\\"marker.blend\\\"),a(\\\"marker.sizemin\\\"),a(\\\"marker.sizemax\\\"),a(\\\"marker.border.color\\\",r),a(\\\"marker.border.arearatio\\\"),e._length=null}},{\\\"../../lib\\\":602,\\\"./attributes\\\":913}],916:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../scatter3d/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pointcloud\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":687,\\\"../scatter3d/calc\\\":952,\\\"./attributes\\\":913,\\\"./convert\\\":914,\\\"./defaults\\\":915}],917:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/color/attributes\\\"),o=t(\\\"../../components/fx/attributes\\\"),s=t(\\\"../../plots/domain\\\").attributes,l=t(\\\"../../lib/extend\\\").extendFlat,c=t(\\\"../../plot_api/edit_types\\\").overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),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({}),node:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:a.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}},link:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:a.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:[]}}},\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/color/attributes\\\":473,\\\"../../components/fx/attributes\\\":508,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],918:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/edit_types\\\").overrideAll,i=t(\\\"../../plots/get_data\\\").getModuleCalcData,a=t(\\\"./plot\\\"),o=t(\\\"../../components/fx/layout_attributes\\\");r.name=\\\"sankey\\\",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},\\\"plot\\\",\\\"nested\\\"),r.plot=function(t){var e=i(t.calcdata,\\\"sankey\\\")[0];a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"sankey\\\"),a=e._has&&e._has(\\\"sankey\\\");i&&!a&&n._paperdiv.selectAll(\\\".sankey\\\").remove()}},{\\\"../../components/fx/layout_attributes\\\":517,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/get_data\\\":684,\\\"./plot\\\":923}],919:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"strongly-connected-components\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../lib/gup\\\").wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a<Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;i[e[a]].push(r[a])}return n(i).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(i.error(\\\"Circularity is present in the Sankey data. Removing all nodes and links.\\\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"strongly-connected-components\\\":407}],920:[function(t,e,r){\\\"use strict\\\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\\\"cubic-in-out\\\",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\\\"}}},{}],921:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"tinycolor2\\\"),s=t(\\\"../../plots/domain\\\").defaults;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}c(\\\"node.label\\\"),c(\\\"node.pad\\\"),c(\\\"node.thickness\\\"),c(\\\"node.line.color\\\"),c(\\\"node.line.width\\\");var u=l.colorway;c(\\\"node.color\\\",e.node.label.map(function(t,e){return a.addOpacity(function(t){return u[t%u.length]}(e),.8)})),c(\\\"link.label\\\"),c(\\\"link.source\\\"),c(\\\"link.target\\\"),c(\\\"link.value\\\"),c(\\\"link.line.color\\\"),c(\\\"link.line.width\\\"),c(\\\"link.color\\\",e.link.value.map(function(){return o(l.paper_bgcolor).getLuminance()<.333?\\\"rgba(255, 255, 255, 0.6)\\\":\\\"rgba(0, 0, 0, 0.2)\\\"})),s(e,l,c),c(\\\"orientation\\\"),c(\\\"valueformat\\\"),c(\\\"valuesuffix\\\"),c(\\\"arrangement\\\"),n.coerceFont(c,\\\"textfont\\\",n.extendFlat({},l.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&n.warn(\\\"Some of the nodes are neither sources nor targets, they will not be displayed.\\\"),e._length=null}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":917,tinycolor2:415}],922:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"sankey\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":917,\\\"./base_plot\\\":918,\\\"./calc\\\":919,\\\"./defaults\\\":921,\\\"./plot\\\":923}],923:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"./render\\\"),a=t(\\\"../../components/fx\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"./constants\\\").cn,c=s._;function u(t){return\\\"\\\"!==t}function f(t,e){return t.filter(function(t){return t.key===e.traceId})}function h(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&&f(r,e).selectAll(\\\".\\\"+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll(\\\".\\\"+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",.4),i&&f(e,t).selectAll(\\\".\\\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",.4),r&&f(e,t).selectAll(\\\".\\\"+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),i&&f(e,t).selectAll(\\\".\\\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),r&&f(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){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,\\\"source:\\\")+\\\" \\\",g=c(t,\\\"target:\\\")+\\\" \\\",_=c(t,\\\"incoming flow count:\\\")+\\\" \\\",w=c(t,\\\"outgoing flow count:\\\")+\\\" \\\";i(s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){n.select(e).call(y.bind(0,r,i,!0)),t.emit(\\\"plotly_hover\\\",{event:n.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,m=c.top+c.height/2,v=a.loneHover({x:f-l.left,y:m-l.top,name:n.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\\\"\\\",d+i.link.source.label,g+i.link.target.label].filter(u).join(\\\"<br>\\\"),color:b(s,\\\"bgcolor\\\")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,\\\"bordercolor\\\"),fontFamily:b(s,\\\"font.family\\\"),fontSize:b(s,\\\"font.size\\\"),fontColor:b(s,\\\"font.color\\\"),idealAlign:n.event.x<f?\\\"right\\\":\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.65),p(v)},unhover:function(e,i,o){n.select(e).call(x.bind(0,i,o,!0)),t.emit(\\\"plotly_unhover\\\",{event:n.event,points:[i.link]}),a.loneUnhover(r._hoverlayer.node())},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],a.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){n.select(e).call(m,r,i),t.emit(\\\"plotly_hover\\\",{event:n.event,points:[r.node]})},follow:function(e,i){var o=i.node.trace,s=n.select(e).select(\\\".\\\"+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),d=f.left-2-c.left,g=f.right+2-c.left,m=f.top+f.height/4-c.top,v=a.loneHover({x0:d,x1:g,y:m,name:n.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(u).join(\\\"<br>\\\"),color:b(o,\\\"bgcolor\\\")||i.tinyColorHue,borderColor:b(o,\\\"bordercolor\\\"),fontFamily:b(o,\\\"font.family\\\"),fontSize:b(o,\\\"font.size\\\"),fontColor:b(o,\\\"font.color\\\"),idealAlign:\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.85),p(v)},unhover:function(e,i,o){n.select(e).call(v,i,o),t.emit(\\\"plotly_unhover\\\",{event:n.event,points:[i.node]}),a.loneUnhover(r._hoverlayer.node())},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"./constants\\\":920,\\\"./render\\\":924,d3:130}],924:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"d3\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"@plotly/d3-sankey\\\").sankey,c=t(\\\"d3-force\\\"),u=t(\\\"../../lib\\\"),f=t(\\\"../../lib/gup\\\").keyFun,h=t(\\\"../../lib/gup\\\").repeat,p=t(\\\"../../lib/gup\\\").unwrap;function d(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function g(t){return function(e){return e.node.originalX===t.node.originalX}}function m(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function v(t){t.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.node.x.toFixed(3)+\\\", \\\"+(t.node.y-t.node.dy/2).toFixed(3)+\\\")\\\"})}function y(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return m(e),r}function x(t){t.call(v)}function b(t,e){t.call(x),e.attr(\\\"d\\\",y)}function _(t){t.attr(\\\"width\\\",function(t){return t.visibleWidth}).attr(\\\"height\\\",function(t){return t.visibleHeight})}function w(t){return t.link.dy>1||t.linkLineWidth>0}function k(t){return\\\"translate(\\\"+t.translateX+\\\",\\\"+t.translateY+\\\")\\\"+(t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\")}function M(t){return\\\"translate(\\\"+(t.horizontal?0:t.labelY)+\\\" \\\"+(t.horizontal?t.labelY:0)+\\\")\\\"}function A(t){return i.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 T(t){return t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\"}function S(t){return t.horizontal?\\\"scale(1 1)\\\":\\\"scale(-1 1)\\\"}function C(t){return t.darkBackground&&!t.horizontal?\\\"rgb(255,255,255)\\\":\\\"rgb(0,0,0)\\\"}function E(t){return t.horizontal&&t.left?\\\"100%\\\":\\\"0%\\\"}function L(t,e,r){t.on(\\\".basic\\\",null).on(\\\"mouseover.basic\\\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\\\"mousemove.basic\\\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\\\"mouseout.basic\\\",function(t){t.interactionState.dragInProgress||(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||r.select(this,t,e)})}function z(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on(\\\"dragstart\\\",function(i){if(\\\"fixed\\\"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,d(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),\\\"snap\\\"===i.arrangement)){var a=i.traceId+\\\"|\\\"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force(\\\"collide\\\",c.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force(\\\"constrain\\\",function(t,e,r,i){return function(){for(var t=0,a=0;a<r.length;a++){var o=r[a];o===i.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(i.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!i.interactionState.dragInProgress&&t<.1&&i.forceLayouts[e].alpha()>0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o<n.forceTicksPerFrame;o++)r.forceLayouts[i].tick();r.sankey.relayout(),b(t.filter(g(r)),e),r.forceLayouts[i].alpha()>0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on(\\\"drag\\\",function(r){if(\\\"fixed\\\"!==r.arrangement){var n=i.event.x,a=i.event.y;\\\"snap\\\"===r.arrangement?(r.node.x=n,r.node.y=a):(\\\"freeform\\\"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),d(r.node),\\\"snap\\\"!==r.arrangement&&(r.sankey.relayout(),b(t.filter(g(r)),e))}}).on(\\\"dragend\\\",function(t){t.interactionState.dragInProgress=!1});t.on(\\\".drag\\\",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll(\\\".\\\"+n.cn.sankey).data(e.filter(function(t){return p(t).trace.visible}).map(function(t,e,r){for(var i,a=p(e).trace,o=a.domain,s=a.node,c=a.link,f=a.arrangement,h=\\\"h\\\"===a.orientation,d=a.node.pad,g=a.node.thickness,v=a.node.line.color,y=a.node.line.width,x=a.link.line.color,b=a.link.line.width,_=a.valueformat,w=a.valuesuffix,k=a.textfont,M=t.width*(o.x[1]-o.x[0]),A=t.height*(o.y[1]-o.y[0]),T=s.label.map(function(t,e){return{pointNumber:e,label:t,color:u.isArrayOrTypedArray(s.color)?s.color[e]:s.color}}),S=c.value.map(function(t,e){return{pointNumber:e,label:c.label[e],color:u.isArrayOrTypedArray(c.color)?c.color[e]:c.color,source:c.source[e],target:c.target[e],value:t}}),C=l().size(h?[M,A]:[A,M]).nodeWidth(g).nodePadding(d).nodes(T).links(S).layout(n.sankeyIterations),E=C.nodes(),L=0;L<E.length;L++)(i=E[L]).width=M,i.height=A;return m(T),{key:r,trace:a,guid:Math.floor(1e12*(1+Math.random())),horizontal:h,width:M,height:A,nodePad:d,nodeLineColor:v,nodeLineWidth:y,linkLineColor:x,linkLineWidth:b,valueFormat:_,valueSuffix:w,textFont:k,translateX:o.x[0]*M+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:h?A:M,dragPerpendicular:h?M:A,nodes:T,links:S,arrangement:f,sankey:C,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),f);c.exit().remove(),c.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\\\").style(\\\"box-sizing\\\",\\\"content-box\\\").attr(\\\"transform\\\",k),c.transition().ease(n.ease).duration(n.duration).attr(\\\"transform\\\",k);var d=c.selectAll(\\\".\\\"+n.cn.sankeyLinks).data(h,f);d.enter().append(\\\"g\\\").classed(n.cn.sankeyLinks,!0).style(\\\"fill\\\",\\\"none\\\");var g=d.selectAll(\\\".\\\"+n.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=a(r.color),i=r.source.label+\\\"|\\\"+r.target.label,s=t[i];t[i]=(s||0)+1;var l=i+\\\"__\\\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:l,traceId:e.key,link:r,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},f);g.enter().append(\\\"path\\\").classed(n.cn.sankeyLink,!0).attr(\\\"d\\\",y).call(L,c,i.linkEvents),g.style(\\\"stroke\\\",function(t){return w(t)?o.tinyRGB(a(t.linkLineColor)):t.tinyColorHue}).style(\\\"stroke-opacity\\\",function(t){return w(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\\\"stroke-width\\\",function(t){return w(t)?t.linkLineWidth:1}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),g.transition().ease(n.ease).duration(n.duration).attr(\\\"d\\\",y),g.exit().transition().ease(n.ease).duration(n.duration).style(\\\"opacity\\\",0).remove();var x=c.selectAll(\\\".\\\"+n.cn.sankeyNodeSet).data(h,f);x.enter().append(\\\"g\\\").classed(n.cn.sankeyNodeSet,!0),x.style(\\\"cursor\\\",function(t){switch(t.arrangement){case\\\"fixed\\\":return\\\"default\\\";case\\\"perpendicular\\\":return\\\"ns-resize\\\";default:return\\\"move\\\"}});var b=x.selectAll(\\\".\\\"+n.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);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.filter(function(t){return t.value}).map(function(t,e,r){var i=a(r.color),s=n.nodePadAcross,l=e.nodePad/2,c=r.dx,u=Math.max(.5,r.dy),f=r.label,h=t[f];t[f]=(h||0)+1;var p=f+\\\"__\\\"+t[f];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:p,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(c),visibleHeight:u,zoneX:-s,zoneY:-l,zoneWidth:c+2*s,zoneHeight:u+2*l,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:i.getBrightness()<=128,tinyColorHue:o.tinyRGB(i),tinyColorAlpha:i.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,p].join(\\\" \\\"),interactionState:e.interactionState}}.bind(null,{},t))},f);b.enter().append(\\\"g\\\").classed(n.cn.sankeyNode,!0).call(v).call(L,c,i.nodeEvents),b.call(z,g,i),b.transition().ease(n.ease).duration(n.duration).call(v),b.exit().transition().ease(n.ease).duration(n.duration).style(\\\"opacity\\\",0).remove();var P=b.selectAll(\\\".\\\"+n.cn.nodeRect).data(h);P.enter().append(\\\"rect\\\").classed(n.cn.nodeRect,!0).call(_),P.style(\\\"stroke-width\\\",function(t){return t.nodeLineWidth}).style(\\\"stroke\\\",function(t){return o.tinyRGB(a(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}),P.transition().ease(n.ease).duration(n.duration).call(_);var D=b.selectAll(\\\".\\\"+n.cn.nodeCapture).data(h);D.enter().append(\\\"rect\\\").classed(n.cn.nodeCapture,!0).style(\\\"fill-opacity\\\",0),D.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 O=b.selectAll(\\\".\\\"+n.cn.nodeCentered).data(h);O.enter().append(\\\"g\\\").classed(n.cn.nodeCentered,!0).attr(\\\"transform\\\",M),O.transition().ease(n.ease).duration(n.duration).attr(\\\"transform\\\",M);var I=O.selectAll(\\\".\\\"+n.cn.nodeLabelGuide).data(h);I.enter().append(\\\"path\\\").classed(n.cn.nodeLabelGuide,!0).attr(\\\"id\\\",function(t){return t.uniqueNodeLabelPathId}).attr(\\\"d\\\",A).attr(\\\"transform\\\",T),I.transition().ease(n.ease).duration(n.duration).attr(\\\"d\\\",A).attr(\\\"transform\\\",T);var R=O.selectAll(\\\".\\\"+n.cn.nodeLabel).data(h);R.enter().append(\\\"text\\\").classed(n.cn.nodeLabel,!0).attr(\\\"transform\\\",S).style(\\\"user-select\\\",\\\"none\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"fill\\\",\\\"black\\\"),R.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(R,t.textFont)}),R.transition().ease(n.ease).duration(n.duration).attr(\\\"transform\\\",S);var B=R.selectAll(\\\".\\\"+n.cn.nodeLabelTextPath).data(h);B.enter().append(\\\"textPath\\\").classed(n.cn.nodeLabelTextPath,!0).attr(\\\"alignment-baseline\\\",\\\"middle\\\").attr(\\\"xlink:href\\\",function(t){return\\\"#\\\"+t.uniqueNodeLabelPathId}).attr(\\\"startOffset\\\",E).style(\\\"fill\\\",C),B.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\\\"}),B.transition().ease(n.ease).duration(n.duration).attr(\\\"startOffset\\\",E).style(\\\"fill\\\",C)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"./constants\\\":920,\\\"@plotly/d3-sankey\\\":42,d3:130,\\\"d3-force\\\":126,tinycolor2:415}],925:[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\\\"),n.mergeArray(e.customdata,t,\\\"data\\\"),n.mergeArray(e.textposition,t,\\\"tp\\\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\\\"ts\\\"),n.mergeArray(e.textfont.color,t,\\\"tc\\\"),n.mergeArray(e.textfont.family,t,\\\"tf\\\"));var i=e.marker;if(i){n.mergeArray(i.size,t,\\\"ms\\\"),n.mergeArray(i.opacity,t,\\\"mo\\\"),n.mergeArray(i.symbol,t,\\\"mx\\\"),n.mergeArray(i.color,t,\\\"mc\\\");var a=i.line;i.line&&(n.mergeArray(a.color,t,\\\"mlc\\\"),n.mergeArray(a.width,t,\\\"mlw\\\"));var o=i.gradient;o&&\\\"none\\\"!==o.type&&(n.mergeArray(o.type,t,\\\"mgt\\\"),n.mergeArray(o.color,t,\\\"mgc\\\"))}}},{\\\"../../lib\\\":602}],926:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../../plots/font_attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../components/drawing\\\"),l=(t(\\\"./constants\\\"),t(\\\"../../lib/extend\\\").extendFlat);e.exports={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},x0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dx:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dy:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},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\\\"},line:{color:{valType:\\\"color\\\",editType:\\\"style\\\"},width:{valType:\\\"number\\\",min:0,dflt:2,editType:\\\"style\\\"},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:l({},o,{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\\\"],dflt:\\\"none\\\",editType:\\\"calc\\\"},fillcolor:{valType:\\\"color\\\",editType:\\\"style\\\"},marker:l({symbol:{valType:\\\"enumerated\\\",values:s.symbolList,dflt:\\\"circle\\\",arrayOk:!0,editType:\\\"style\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,arrayOk:!0,editType:\\\"style\\\"},size:{valType:\\\"number\\\",min:0,dflt:6,arrayOk:!0,editType:\\\"calcIfAutorange\\\"},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\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:i,line:l({width:{valType:\\\"number\\\",min:0,arrayOk:!0,editType:\\\"style\\\"},editType:\\\"calc\\\"},n(\\\"marker.line\\\")),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\\\"},n(\\\"marker\\\")),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:a({editType:\\\"calc\\\",colorEditType:\\\"style\\\",arrayOk:!0}),r:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},t:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/drawing\\\":499,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"./constants\\\":932}],927:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray,a=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 f(t,e,r,n,i,o,l){var c=e._length;r._minDtick=0,n._minDtick=0;var u={padded:!0},f={padded:!0};l&&(u.ppad=f.ppad=l),!(\\\"tozerox\\\"===e.fill||\\\"tonextx\\\"===e.fill&&t.firstscatter)||i[0]===i[c-1]&&o[0]===o[c-1]?(e.error_y||{}).visible||-1===[\\\"tonexty\\\",\\\"tozeroy\\\"].indexOf(e.fill)&&(s.hasMarkers(e)||s.hasText(e))||(u.padded=!1,u.ppad=0):u.tozero=!0,!(\\\"tozeroy\\\"===e.fill||\\\"tonexty\\\"===e.fill&&t.firstscatter)||i[0]===i[c-1]&&o[0]===o[c-1]?-1!==[\\\"tonextx\\\",\\\"tozerox\\\"].indexOf(e.fill)&&(f.padded=!1):f.tozero=!0,a.expand(r,i,u),a.expand(n,o,f)}function h(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)},i(n.size)){var l={type:\\\"linear\\\"};a.setConvert(l);for(var c=l.makeCalcdata(t.marker,\\\"size\\\"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis||\\\"x\\\"),i=a.getFromId(t,e.yaxis||\\\"y\\\"),s=r.makeCalcdata(e,\\\"x\\\"),p=i.makeCalcdata(e,\\\"y\\\"),d=e._length,g=new Array(d);f(t,e,r,i,s,p,h(e,d));for(var m=0;m<d;m++)g[m]=n(s[m])&&n(p[m])?{x:s[m],y:p[m]}:{x:o,y:o},e.ids&&(g[m].id=String(e.ids[m]));return c(g,e),l(e),u(g,e),t.firstscatter=!1,g},calcMarkerSize:h,calcAxisExpansion:f}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./arrays_to_calcdata\\\":925,\\\"./calc_selection\\\":928,\\\"./colorscale_calc\\\":931,\\\"./subtypes\\\":948,\\\"fast-isnumeric\\\":196}],928:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{\\\"../../lib\\\":602}],929:[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 i=e-1;i>=0;i--){var a=t[i];if(\\\"scatter\\\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],930:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.marker,c=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+c).remove(),void 0!==l&&l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var p=e[0].t.cb=s(t,c),d=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});p.fillcolor(d).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],931:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"./subtypes\\\");e.exports=function(t){a.hasLines(t)&&n(t,\\\"line\\\")&&i(t,t.line.color,\\\"line\\\",\\\"c\\\"),a.hasMarkers(t)&&(n(t,\\\"marker\\\")&&i(t,t.marker.color,\\\"marker\\\",\\\"c\\\"),n(t,\\\"marker.line\\\")&&i(t,t.marker.line.color,\\\"marker.line\\\",\\\"c\\\"))}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"./subtypes\\\":948}],932:[function(t,e,r){\\\"use strict\\\";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],933:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./constants\\\"),s=t(\\\"./subtypes\\\"),l=t(\\\"./xy_defaults\\\"),c=t(\\\"./marker_defaults\\\"),u=t(\\\"./line_defaults\\\"),f=t(\\\"./line_shape_defaults\\\"),h=t(\\\"./text_defaults\\\"),p=t(\\\"./fillcolor_defaults\\\");e.exports=function(t,e,r,d){function g(r,i){return n.coerce(t,e,a,r,i)}var m=l(t,e,d,g),v=m<o.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\";if(m){g(\\\"text\\\"),g(\\\"hovertext\\\"),g(\\\"mode\\\",v),s.hasLines(e)&&(u(t,e,r,d,g),f(t,e,g),g(\\\"connectgaps\\\"),g(\\\"line.simplify\\\")),s.hasMarkers(e)&&c(t,e,r,d,g,{gradient:!0}),s.hasText(e)&&h(t,e,d,g);var y=[];(s.hasMarkers(e)||s.hasText(e))&&(g(\\\"cliponaxis\\\"),g(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),g(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(p(t,e,r,g),s.hasLines(e)||f(t,e,g)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||y.push(\\\"fills\\\"),g(\\\"hoveron\\\",y.join(\\\"+\\\")||\\\"points\\\");var x=i.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");x(t,e,r,{axis:\\\"y\\\"}),x(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":926,\\\"./constants\\\":932,\\\"./fillcolor_defaults\\\":935,\\\"./line_defaults\\\":939,\\\"./line_shape_defaults\\\":941,\\\"./marker_defaults\\\":944,\\\"./subtypes\\\":948,\\\"./text_defaults\\\":949,\\\"./xy_defaults\\\":950}],934:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");function i(t){return t||0===t}e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=n.extractOption(t,e,\\\"htx\\\",\\\"hovertext\\\");if(i(o))return a(o);var s=n.extractOption(t,e,\\\"tx\\\",\\\"text\\\");return i(s)?a(s):void 0}},{\\\"../../lib\\\":602}],935:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a(\\\"fillcolor\\\",n.addOpacity((e.line||{}).color||o||r,.5))}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602}],936:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"./subtypes\\\");e.exports=function(t,e){var r,a;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(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\\\"\\\")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{\\\"../../components/color\\\":474,\\\"./subtypes\\\":948}],937:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"./get_trace_color\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"./fill_hover_text\\\");e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),g=p.c2p(r),m=[d,g],v=f.hoveron||\\\"\\\",y=-1!==f.mode.indexOf(\\\"markers\\\")?3:.5;if(-1!==v.indexOf(\\\"points\\\")){var x=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=i.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(h.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(i.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=h.c2p(_.x,!0),k=p.c2p(_.y,!0),M=_.mrc||1;return n.extendFlat(t,{color:o(f,_),x0:w-M,x1:w+M,xLabelVal:_.x,y0:k-M,y1:k+M,yLabelVal:_.y,spikeDistance:x(_)}),l(_,f,t),a.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(_,f,t),[t]}}if(-1!==v.indexOf(\\\"fills\\\")&&f._polygons){var A,T,S,C,E,L,z,P,D,O=f._polygons,I=[],R=!1,B=1/0,F=-1/0,N=1/0,j=-1/0;for(A=0;A<O.length;A++)(S=O[A]).contains(m)&&(R=!R,I.push(S),N=Math.min(N,S.ymin),j=Math.max(j,S.ymax));if(R){var V=((N=Math.max(N,0))+(j=Math.min(j,p._length)))/2;for(A=0;A<I.length;A++)for(C=I[A].pts,T=1;T<C.length;T++)(P=C[T-1][1])>V!=(D=C[T][1])>=V&&(L=C[T-1][0],z=C[T][0],D-P&&(E=L+(z-L)*(V-P)/(D-P),B=Math.min(B,E),F=Math.max(F,E)));B=Math.max(B,0),F=Math.min(F,h._length);var U=s.defaultLine;return s.opacity(f.fillcolor)?U=f.fillcolor:s.opacity((f.line||{}).color)&&(U=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:B,x1:F,y0:V,y1:V,color:U}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./fill_hover_text\\\":934,\\\"./get_trace_color\\\":936}],938:[function(t,e,r){\\\"use strict\\\";var n={},i=t(\\\"./subtypes\\\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.cleanData=t(\\\"./clean_data\\\"),n.calc=t(\\\"./calc\\\").calc,n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.animatable=!0,n.moduleType=\\\"trace\\\",n.name=\\\"scatter\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"scatter-like\\\",\\\"draggedPts\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./arrays_to_calcdata\\\":925,\\\"./attributes\\\":926,\\\"./calc\\\":927,\\\"./clean_data\\\":929,\\\"./colorbar\\\":930,\\\"./defaults\\\":933,\\\"./hover\\\":937,\\\"./plot\\\":945,\\\"./select\\\":946,\\\"./style\\\":947,\\\"./subtypes\\\":948}],939:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray,i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s(\\\"line.color\\\",r),i(t,\\\"line\\\"))?a(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\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602}],940:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/numerical\\\").BADNUM,i=t(\\\"../../lib\\\"),a=i.segmentsIntersect,o=i.constrain,s=t(\\\"./constants\\\");e.exports=function(t,e){var r,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k=e.xaxis,M=e.yaxis,A=e.simplify,T=e.connectGaps,S=e.baseTolerance,C=e.shape,E=\\\"linear\\\"===C,L=[],z=s.minTolerance,P=new Array(t.length),D=0;function O(e){var r=t[e],i=k.c2p(r.x),a=M.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function I(t){var e=t[0]/k._length,r=t[1]/M._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*S}function R(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}A||(S=z=-1);var B,F,N,j,V,U,q,H=s.maxScreensAway,G=-k._length*H,W=k._length*(1+H),Y=-M._length*H,X=M._length*(1+H),Z=[[G,Y,W,Y],[W,Y,W,X],[W,X,G,X],[G,X,G,Y]];function J(t){if(t[0]<G||t[0]>W||t[1]<Y||t[1]>X)return[o(t[0],G,W),o(t[1],Y,X)]}function K(t,e){return t[0]===e[0]&&(t[0]===G||t[0]===W)||(t[1]===e[1]&&(t[1]===Y||t[1]===X)||void 0)}function Q(t,e,r){return function(n,a){var o=J(n),s=J(a),l=[];if(o&&s&&K(o,s))return l;o&&l.push(o),s&&l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);c&&((o&&s?c>0==o[t]>s[t]?o:s:o||s)[t]+=c);return l}}function $(t){var e=t[0],r=t[1],n=e===P[D-1][0],i=r===P[D-1][1];if(!n||!i)if(D>1){var a=e===P[D-2][0],o=r===P[D-2][1];n&&(e===G||e===W)&&a?o?D--:P[D-1]=t:i&&(r===Y||r===X)&&o?a?D--:P[D-1]=t:P[D++]=t}else P[D++]=t}function tt(t){P[D-1][0]!==t[0]&&P[D-1][1]!==t[1]&&$([N,j]),$(t),V=null,N=j=0}function et(t){if(B=t[0]<G?G:t[0]>W?W:0,F=t[1]<Y?Y:t[1]>X?X:0,B||F){if(D)if(V){var e=q(V,t);e.length>1&&(tt(e[0]),P[D++]=e[1])}else U=q(P[D-1],t)[0],P[D++]=U;else P[D++]=[B||t[0],F||t[1]];var r=P[D-1];B&&F&&(r[0]!==B||r[1]!==F)?(V&&(N!==B&&j!==F?$(N&&j?(n=V,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?G:W,X]:[o>0?W:G,Y]):[N||B,j||F]):N&&j&&$([N,j])),$([B,F])):N-B&&j-F&&$([B||N,F||j]),V=t,N=B,j=F}else V&&tt(q(V,t)[0]),P[D++]=t;var n,i,a,o}for(\\\"linear\\\"===C||\\\"spline\\\"===C?q=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var o=Z[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&&(!n||Math.abs(s.x-r[0][0])>1||Math.abs(s.y-r[0][1])>1)&&(s=[s.x,s.y],n&&R(s,t)<R(r[0],t)?r.unshift(s):r.push(s),n++)}return r}:\\\"hv\\\"===C||\\\"vh\\\"===C?q=function(t,e){var r=[],n=J(t),i=J(e);return n&&i&&K(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\\\"hvh\\\"===C?q=Q(0,G,W):\\\"vhv\\\"===C&&(q=Q(1,Y,X)),r=0;r<t.length;r++)if(l=O(r)){for(D=0,V=null,et(l),r++;r<t.length;r++){if(!(u=O(r))){if(T)continue;break}if(E){if(!((m=R(u,l))<I(u)*z)){for(d=[(u[0]-l[0])/m,(u[1]-l[1])/m],f=l,v=m,y=b=_=0,p=!1,c=u,r++;r<t.length;r++){if(!(h=O(r))){if(T)continue;break}if(w=(g=[h[0]-l[0],h[1]-l[1]])[0]*d[1]-g[1]*d[0],b=Math.min(b,w),(_=Math.max(_,w))-b>I(h))break;c=h,(x=g[0]*d[0]+g[1]*d[1])>v?(v=x,u=h,p=!1):x<y&&(y=x,f=h,p=!0)}if(p?(et(u),c!==f&&et(f)):(f!==l&&et(f),c!==u&&et(u)),et(c),r>=t.length||!h)break;et(h),l=h}}else et(u)}V&&$([N||V[0],j||V[1]]),L.push(P.slice(0,D))}return L}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"./constants\\\":932}],941:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){\\\"spline\\\"===r(\\\"line.shape\\\")&&r(\\\"line.smoothing\\\")}},{}],942:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n,i,a=null;for(i=0;i<r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(n.fill)&&(n._prevtrace=a,a&&(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null}},{}],943:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\\\"area\\\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\\\"fast-isnumeric\\\":196}],944:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./subtypes\\\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l(\\\"marker.symbol\\\"),l(\\\"marker.opacity\\\",u?.7:1),l(\\\"marker.size\\\"),l(\\\"marker.color\\\",r),i(t,\\\"marker\\\")&&a(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\\\",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,\\\"marker.line\\\")&&a(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\\\":474,\\\"../../components/colorscale/defaults\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"./subtypes\\\":948}],945:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"./subtypes\\\"),l=t(\\\"./line_points\\\"),c=t(\\\"./link_traces\\\"),u=t(\\\"../../lib/polygon\\\").tester;function f(t,e,r,c,f,h,p){var d,g;!function(t,e,r,i,o){var l=r.xaxis,c=r.yaxis,u=n.extent(a.simpleMap(l.range,l.r2c)),f=n.extent(a.simpleMap(c.range,c.r2c)),h=i[0].trace;if(!s.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(d.length/p),m=0;o.forEach(function(t,r){var n=t[0].trace;s.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++});var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);i.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)})}(0,e,r,c,f);var m=!!p&&p.duration>0;function v(t){return m?t.transition():t}var y=r.xaxis,x=r.yaxis,b=c[0].trace,_=b.line,w=n.select(h);if(i.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(w,r,p),!0===b.visible){var k,M;v(w).style(\\\"opacity\\\",b.opacity);var A=b.fill.charAt(b.fill.length-1);\\\"x\\\"!==A&&\\\"y\\\"!==A&&(A=\\\"\\\"),r.isRangePlot||(c[0].node3=w);var T=\\\"\\\",S=[],C=b._prevtrace;C&&(T=C._prevRevpath||\\\"\\\",M=C._nextFill,S=C._polygons);var E,L,z,P,D,O,I,R,B,F=\\\"\\\",N=\\\"\\\",j=[],V=a.noop;if(k=b._ownFill,s.hasLines(b)||\\\"none\\\"!==b.fill){for(M&&M.datum(c),-1!==[\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"].indexOf(_.shape)?(z=o.steps(_.shape),P=o.steps(_.shape.split(\\\"\\\").reverse().join(\\\"\\\"))):z=P=\\\"spline\\\"===_.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?o.smoothclosed(t.slice(1),_.smoothing):o.smoothopen(t,_.smoothing)}:function(t){return\\\"M\\\"+t.join(\\\"L\\\")},D=function(t){return P(t.reverse())},j=l(c,{xaxis:y,yaxis:x,connectGaps:b.connectgaps,baseTolerance:Math.max(_.width||1,3)/4,shape:_.shape,simplify:_.simplify}),B=b._polygons=new Array(j.length),g=0;g<j.length;g++)b._polygons[g]=u(j[g]);j.length&&(O=j[0][0],R=(I=j[j.length-1])[I.length-1]),V=function(t){return function(e){if(E=z(e),L=D(e),F?A?(F+=\\\"L\\\"+E.substr(1),N=L+\\\"L\\\"+N.substr(1)):(F+=\\\"Z\\\"+E,N=L+\\\"Z\\\"+N):(F=E,N=L),s.hasLines(b)&&e.length>1){var r=n.select(this);if(r.datum(c),t)v(r.style(\\\"opacity\\\",0).attr(\\\"d\\\",E).call(o.lineGroupStyle)).style(\\\"opacity\\\",1);else{var i=v(r);i.attr(\\\"d\\\",E),o.singleLineStyle(c,i)}}}}}var U=w.selectAll(\\\".js-line\\\").data(j);v(U.exit()).style(\\\"opacity\\\",0).remove(),U.each(V(!1)),U.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").call(o.lineGroupStyle).each(V(!0)),o.setClipUrl(U,r.layerClipId),j.length?(k?O&&R&&(A?(\\\"y\\\"===A?O[1]=R[1]=x.c2p(0,!0):\\\"x\\\"===A&&(O[0]=R[0]=y.c2p(0,!0)),v(k).attr(\\\"d\\\",\\\"M\\\"+R+\\\"L\\\"+O+\\\"L\\\"+F.substr(1)).call(o.singleFillStyle)):v(k).attr(\\\"d\\\",F+\\\"Z\\\").call(o.singleFillStyle)):M&&(\\\"tonext\\\"===b.fill.substr(0,6)&&F&&T?(\\\"tonext\\\"===b.fill?v(M).attr(\\\"d\\\",F+\\\"Z\\\"+T+\\\"Z\\\").call(o.singleFillStyle):v(M).attr(\\\"d\\\",F+\\\"L\\\"+T.substr(1)+\\\"Z\\\").call(o.singleFillStyle),b._polygons=b._polygons.concat(S)):(H(M),b._polygons=null)),b._prevRevpath=N,b._prevPolygons=B):(k?H(k):M&&H(M),b._polygons=b._prevRevpath=b._prevPolygons=null);var q=w.selectAll(\\\".points\\\");d=q.data([c]),q.each(Z),d.enter().append(\\\"g\\\").classed(\\\"points\\\",!0).each(Z),d.exit().remove(),d.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(n.select(this),e?null:r.layerClipId)})}function H(t){v(t).attr(\\\"d\\\",\\\"M0,0Z\\\")}function G(t){return t.filter(function(t){return t.vis})}function W(t){return t.id}function Y(t){if(t.ids)return W}function X(){return!1}function Z(e){var i,l=e[0].trace,c=n.select(this),u=s.hasMarkers(l),f=s.hasText(l),h=Y(l),p=X,d=X;u&&(p=l.marker.maxdisplayed||l._needsCull?G:a.identity),f&&(d=l.marker.maxdisplayed||l._needsCull?G:a.identity);var g,b=(i=c.selectAll(\\\"path.point\\\").data(p,h)).enter().append(\\\"path\\\").classed(\\\"point\\\",!0);m&&b.call(o.pointStyle,l,t).call(o.translatePoints,y,x).style(\\\"opacity\\\",0).transition().style(\\\"opacity\\\",1),i.order(),u&&(g=o.makePointStyleFns(l)),i.each(function(e){var i=n.select(this),a=v(i);o.translatePoint(e,a,y,x)?(o.singlePointStyle(e,a,l,g,t),r.layerClipId&&o.hideOutsideRangePoint(e,a,y,x,l.xcalendar,l.ycalendar),l.customdata&&i.classed(\\\"plotly-customdata\\\",null!==e.data&&void 0!==e.data)):a.remove()}),m?i.exit().transition().style(\\\"opacity\\\",0).remove():i.exit().remove(),(i=c.selectAll(\\\"g\\\").data(d,h)).enter().append(\\\"g\\\").classed(\\\"textpoint\\\",!0).append(\\\"text\\\"),i.order(),i.each(function(t){var e=n.select(this),i=v(e.select(\\\"text\\\"));o.translatePoint(t,i,y,x)?r.layerClipId&&o.hideOutsideRangePoint(t,e,y,x,l.xcalendar,l.ycalendar):e.remove()}),i.selectAll(\\\"text\\\").call(o.textPointStyle,l,t).each(function(t){var e=y.c2p(t.x),r=x.c2p(t.y);n.select(this).selectAll(\\\"tspan.line\\\").each(function(){v(n.select(this)).attr({x:e,y:r})})}),i.exit().remove()}}e.exports=function(t,e,r,i,a,s){var l,u,h,p,d=!a,g=!!a&&a.duration>0;for((h=i.selectAll(\\\"g.trace\\\").data(r,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),c(t,e,r),function(t,e,r){var i;e.selectAll(\\\"g.trace\\\").each(function(t){var e=n.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=e.select(\\\".js-fill.js-tonext\\\"),!i._nextFill.size()){var a=\\\":first-child\\\";e.select(\\\".js-fill.js-tozero\\\").size()&&(a+=\\\" + *\\\"),i._nextFill=e.insert(\\\"path\\\",a).attr(\\\"class\\\",\\\"js-fill js-tonext\\\")}}else e.selectAll(\\\".js-fill.js-tonext\\\").remove(),i._nextFill=null;i.fill&&(\\\"tozero\\\"===i.fill.substr(0,6)||\\\"toself\\\"===i.fill||\\\"to\\\"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=e.select(\\\".js-fill.js-tozero\\\"),i._ownFill.size()||(i._ownFill=e.insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"js-fill js-tozero\\\"))):(e.selectAll(\\\".js-fill.js-tozero\\\").remove(),i._ownFill=null),e.selectAll(\\\".js-fill\\\").call(o.setClipUrl,r.layerClipId)})}(0,i,e),l=0,u={};l<r.length;l++)u[r[l][0].trace.uid]=l;(i.selectAll(\\\"g.trace\\\").sort(function(t,e){return u[t[0].trace.uid]>u[e[0].trace.uid]?1:-1}),g)?(s&&(p=s()),n.transition().duration(a.duration).ease(a.easing).each(\\\"end\\\",function(){p&&p()}).each(\\\"interrupt\\\",function(){p&&p()}).each(function(){i.selectAll(\\\"g.trace\\\").each(function(n,i){f(t,i,e,n,r,this,a)})})):i.selectAll(\\\"g.trace\\\").each(function(n,i){f(t,i,e,n,r,this,a)});d&&h.exit().remove(),i.selectAll(\\\"path:not([d])\\\").remove()}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/polygon\\\":614,\\\"../../registry\\\":732,\\\"./line_points\\\":940,\\\"./link_traces\\\":942,\\\"./subtypes\\\":948,d3:130}],946:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./subtypes\\\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),e.contains([a,o])?(u.push({pointNumber:r,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{\\\"./subtypes\\\":948}],947:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../registry\\\");function o(t,e,r){i.pointStyle(t.selectAll(\\\"path.point\\\"),e,r),i.textPointStyle(t.selectAll(\\\"text\\\"),e,r)}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.scatter\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.selectAll(\\\"g.points\\\").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),r.selectAll(\\\"g.trace path.js-line\\\").call(i.lineGroupStyle),r.selectAll(\\\"g.trace path.js-fill\\\").call(i.fillGroupStyle),a.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(r)},stylePoints:o,styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\\\"path.point\\\"),n),i.selectedTextStyle(r.selectAll(\\\"text\\\"),n)):o(r,n,t)}}},{\\\"../../components/drawing\\\":499,\\\"../../registry\\\":732,d3:130}],948:[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\\\":602}],949:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i,a){a=a||{},i(\\\"textposition\\\"),n.coerceFont(i,\\\"textfont\\\",r.font),a.noSelect||(i(\\\"selected.textfont.color\\\"),i(\\\"unselected.textfont.color\\\"))}},{\\\"../../lib\\\":602}],950:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a,o=i(\\\"x\\\"),s=i(\\\"y\\\");if(n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],r),o)s?a=Math.min(o.length,s.length):(a=o.length,i(\\\"y0\\\"),i(\\\"dy\\\"));else{if(!s)return 0;a=e.y.length,i(\\\"x0\\\"),i(\\\"dx\\\")}return e._length=a,a}},{\\\"../../registry\\\":732}],951:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../constants/gl3d_dashes\\\"),s=t(\\\"../../constants/gl3d_markers\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,c=t(\\\"../../plot_api/edit_types\\\").overrideAll,u=n.line,f=n.marker,h=f.line;var p=e.exports=c({x:n.x,y:n.y,z:{valType:\\\"data_array\\\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},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:l({width:u.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(o),dflt:\\\"solid\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1}},i(\\\"line\\\")),marker:l({symbol:{valType:\\\"enumerated\\\",values:Object.keys(s),dflt:\\\"circle\\\",arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),showscale:f.showscale,colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(\\\"marker.line\\\"))},i(\\\"marker\\\")),textposition:l({},n.textposition,{dflt:\\\"top center\\\"}),textfont:n.textfont,hoverinfo:l({},a.hoverinfo)},\\\"calc\\\",\\\"nested\\\");p.x.editType=p.y.editType=p.z.editType=\\\"calc+clearAxisTypes\\\"},{\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../constants/gl3d_dashes\\\":576,\\\"../../constants/gl3d_markers\\\":577,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],952:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/arrays_to_calcdata\\\"),i=t(\\\"../scatter/colorscale_calc\\\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/colorscale_calc\\\":931}],953:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/errorbars/compute_error\\\");function i(t,e,r){if(!e||!e.visible)return null;for(var i=n(e),a=new Array(t.length),o=0;o<t.length;o++){var s=i(+t[o],o);a[o]=[-s[0]*r,s[1]*r]}return a}e.exports=function(t,e){var r=[i(t.x,t.error_x,e[0]),i(t.y,t.error_y,e[1]),i(t.z,t.error_z,e[2])],n=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===n)return null;for(var a=new Array(n),o=0;o<n;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(r[l])for(var c=0;c<2;c++)s[c][l]=r[l][o][c];a[o]=s}return a}},{\\\"../../components/errorbars/compute_error\\\":503}],954:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-line3d\\\"),i=t(\\\"gl-scatter3d\\\"),a=t(\\\"gl-error3d\\\"),o=t(\\\"gl-mesh3d\\\"),s=t(\\\"delaunay-triangulate\\\"),l=t(\\\"../../lib\\\"),c=t(\\\"../../lib/str2rgbarray\\\"),u=t(\\\"../../lib/gl_format_color\\\"),f=t(\\\"../scatter/make_bubble_size_func\\\"),h=t(\\\"../../constants/gl3d_dashes\\\"),p=t(\\\"../../constants/gl3d_markers\\\"),d=t(\\\"./calc_errors\\\");function g(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 m=g.prototype;function v(t,e){return e(4*t)}function y(t){return p[t]}function x(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function b(t,e){var r,n,i,a,o,s,h,p,g=[],m=t.fullSceneLayout,b=t.dataScale,_=m.xaxis,w=m.yaxis,k=m.zaxis,M=e.marker,A=e.line,T=e.x||[],S=e.y||[],C=e.z||[],E=T.length,L=e.xcalendar,z=e.ycalendar,P=e.zcalendar;for(n=0;n<E;n++)i=_.d2l(T[n],0,L)*b[0],a=w.d2l(S[n],0,z)*b[1],o=k.d2l(C[n],0,P)*b[2],g[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(E),n=0;n<E;n++)s[n]=e.text;if(r={position:g,mode:e.mode,text:s},\\\"line\\\"in e&&(r.lineColor=u(A,1,E),r.lineWidth=A.width,r.lineDashes=A.dash),\\\"marker\\\"in e){var D=f(e);r.scatterColor=u(M,1,E),r.scatterSize=x(M.size,E,v,20,D),r.scatterMarker=x(M.symbol,E,y,\\\"\\\\u25cf\\\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=u(M.line,1,E),r.scatterAngle=0}\\\"textposition\\\"in e&&(r.textOffset=(h=e.textposition,p=[0,0],Array.isArray(h)?[0,-1]:(h.indexOf(\\\"bottom\\\")>=0&&(p[1]+=1),h.indexOf(\\\"top\\\")>=0&&(p[1]-=1),h.indexOf(\\\"left\\\")>=0&&(p[0]-=1),h.indexOf(\\\"right\\\")>=0&&(p[0]+=1),p)),r.textColor=u(e.textfont,1,E),r.textSize=x(e.textfont.size,E,l.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var O=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var I=e.projection[O[n]];(r.project[n]=I.show)&&(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=d(e,b);var R=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=c(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=c(e.surfacecolor),r}function _(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}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=\\\"\\\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=b(this.scene,t);\\\"mode\\\"in p&&(this.mode=p.mode),\\\"lineDashes\\\"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=_(p.scatterColor)||_(p.lineColor),this.dataPoints=p.position,e={gl:u,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[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:u,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=i(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:u,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=i(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:u,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=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];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)},m.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 g(t,e.uid);return r.update(e),r}},{\\\"../../constants/gl3d_dashes\\\":576,\\\"../../constants/gl3d_markers\\\":577,\\\"../../lib\\\":602,\\\"../../lib/gl_format_color\\\":598,\\\"../../lib/str2rgbarray\\\":625,\\\"../scatter/make_bubble_size_func\\\":943,\\\"./calc_errors\\\":953,\\\"delaunay-triangulate\\\":132,\\\"gl-error3d\\\":213,\\\"gl-line3d\\\":221,\\\"gl-mesh3d\\\":244,\\\"gl-scatter3d\\\":259}],955:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=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 f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r(\\\"x\\\"),s=r(\\\"y\\\"),l=r(\\\"z\\\");n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),a.hasLines(e)&&(f(\\\"connectgaps\\\"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&l(t,e,u,f,{noSelect:!0});var h=(e.line||{}).color,p=(e.marker||{}).color;f(\\\"surfaceaxis\\\")>=0&&f(\\\"surfacecolor\\\",h||p);for(var d=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],g=0;g<3;++g){var m=\\\"projection.\\\"+d[g];f(m+\\\".show\\\")&&(f(m+\\\".opacity\\\"),f(m+\\\".scale\\\"))}var v=n.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");v(t,e,r,{axis:\\\"z\\\"}),v(t,e,r,{axis:\\\"y\\\",inherit:\\\"z\\\"}),v(t,e,r,{axis:\\\"x\\\",inherit:\\\"z\\\"})}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":951}],956:[function(t,e,r){\\\"use strict\\\";var n={};n.plot=t(\\\"./convert\\\"),n.attributes=t(\\\"./attributes\\\"),n.markerSymbols=t(\\\"../../constants/gl3d_markers\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatter3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../constants/gl3d_markers\\\":577,\\\"../../plots/gl3d\\\":690,\\\"../scatter/colorbar\\\":930,\\\"./attributes\\\":951,\\\"./calc\\\":952,\\\"./convert\\\":954,\\\"./defaults\\\":955}],957:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:\\\"string\\\",editType:\\\"calc\\\"},a:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},b:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:c.smoothing,editType:\\\"calc\\\"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:\\\"calc\\\"},a(\\\"marker\\\".line)),gradient:l.gradient,editType:\\\"calc\\\"},a(\\\"marker\\\"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],958:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../scatter/colorscale_calc\\\"),a=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,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var g=r.ab2xy(+u,+f,!0),m=r.isVisible(+u,+f);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:f,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(e),a(p,e),o(p,e),p}}},{\\\"../carpet/lookup_carpetid\\\":789,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc\\\":927,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],959:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=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\\\"),f=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}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(\\\"mode\\\",m<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\\\"marker.maxdisplayed\\\"),v.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||v.push(\\\"fills\\\"),p(\\\"hoveron\\\",v.join(\\\"+\\\")||\\\"points\\\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/line_shape_defaults\\\":941,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":957}],960:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],961:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[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),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,p=h._carpet,d=(f.hi||h.hoverinfo).split(\\\"+\\\"),g=[];-1!==d.indexOf(\\\"all\\\")&&(d=[\\\"a\\\",\\\"b\\\"]),-1!==d.indexOf(\\\"a\\\")&&w(p.aaxis,f.a),-1!==d.indexOf(\\\"b\\\")&&w(p.baxis,f.b);var m=p.ab2ij([f.a,f.b]),v=Math.floor(m[0]),y=m[0]-v,x=Math.floor(m[1]),b=m[1]-x,_=p.evalxy([],v,x,y,b);return g.push(\\\"y: \\\"+_[1].toFixed(3)),o.extraText=g.join(\\\"<br>\\\"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\\\"\\\"):t._hovertitle,g.push(r+\\\": \\\"+e.toFixed(3)+t.labelsuffix)}}},{\\\"../scatter/hover\\\":937}],962:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../scatter/style\\\").style,n.styleOnSelect=t(\\\"../scatter/style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"../scatter/select\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattercarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"svg\\\",\\\"carpet\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"carpetDependent\\\",\\\"draggedPts\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../scatter/colorbar\\\":930,\\\"../scatter/select\\\":946,\\\"../scatter/style\\\":947,\\\"./attributes\\\":957,\\\"./calc\\\":958,\\\"./defaults\\\":959,\\\"./event_data\\\":960,\\\"./hover\\\":961,\\\"./plot\\\":963}],963:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../components/drawing\\\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||\\\"x\\\"),yaxis:i.getFromId(t,u.yaxis||\\\"y\\\"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll(\\\"g.trace\\\"+l.uid+\\\" .js-line\\\"),a.setClipUrl(c,u._clipPathId)}},{\\\"../../components/drawing\\\":499,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/plot\\\":945}],964:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../lib/extend\\\").extendFlat,l=t(\\\"../../plot_api/edit_types\\\").overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:\\\"data_array\\\"},lat:{valType:\\\"data_array\\\"},locations:{valType:\\\"data_array\\\"},locationmode:{valType:\\\"enumerated\\\",values:[\\\"ISO-3\\\",\\\"USA-states\\\",\\\"country names\\\"],dflt:\\\"ISO-3\\\"},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,showscale:c.showscale,colorbar:c.colorbar,line:s({width:f.width},a(\\\"marker.line\\\")),gradient:c.gradient},a(\\\"marker\\\")),fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"toself\\\"],dflt:\\\"none\\\"},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"location\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],965:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=t(\\\"../scatter/colorscale_calc\\\"),o=t(\\\"../scatter/arrays_to_calcdata\\\"),s=t(\\\"../scatter/calc_selection\\\"),l=t(\\\"../../lib\\\")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),f=0;f<c;f++){var h=u[f]={};if(r){var p=e.locations[f];h.loc=\\\"string\\\"==typeof p?p:null}else{var d=e.lon[f],g=e.lat[f];n(d)&&n(g)?h.lonlat=[+d,+g]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&&(u[0].t={labels:{lat:l(t,\\\"lat:\\\")+\\\" \\\",lon:l(t,\\\"lon:\\\")+\\\" \\\"}}),u}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],966:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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 f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(\\\"locations\\\");if(o)return r(\\\"locationmode\\\"),a=o.length;return n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length),e._length=a,a}(0,e,f)?e.visible=!1:(f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),i.hasLines(e)&&(o(t,e,r,u,f),f(\\\"connectgaps\\\")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&s(t,e,u,f),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&l(t,e,r,f))}},{\\\"../../lib\\\":602,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":964}],967:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],968:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"../scatter/get_trace_color\\\"),s=t(\\\"../scatter/fill_hover_text\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=p.projection.isLonLatOverEdges,g=p.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(d(n))return 1/0;var i=g(n),o=g([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 m=c[t.index],v=m.lonlat,y=[f.c2p(v),h.c2p(v)],x=m.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=m.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,m),t.extraText=function(t,e,r,n){var a=e.hi||t.hoverinfo,o=\\\"all\\\"===a?l.hoverinfo.flags:a.split(\\\"+\\\"),c=-1!==o.indexOf(\\\"location\\\")&&Array.isArray(t.locations),u=-1!==o.indexOf(\\\"lon\\\"),f=-1!==o.indexOf(\\\"lat\\\"),h=-1!==o.indexOf(\\\"text\\\"),p=[];function d(t){return i.tickText(r,r.c2l(t),\\\"hover\\\").text+\\\"\\\\xb0\\\"}c?p.push(e.loc):u&&f?p.push(\\\"(\\\"+d(e.lonlat[0])+\\\", \\\"+d(e.lonlat[1])+\\\")\\\"):u?p.push(n.lon+d(e.lonlat[0])):f&&p.push(n.lat+d(e.lonlat[1]));h&&s(e,t,p);return p.join(\\\"<br>\\\")}(u,m,p.mockAxis,c[0].t.labels),[t]}}},{\\\"../../components/fx\\\":516,\\\"../../constants/numerical\\\":579,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934,\\\"../scatter/get_trace_color\\\":936,\\\"./attributes\\\":964}],969:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.styleOnSelect=t(\\\"../scatter/style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattergeo\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":678,\\\"../scatter/colorbar\\\":930,\\\"../scatter/style\\\":947,\\\"./attributes\\\":964,\\\"./calc\\\":965,\\\"./defaults\\\":966,\\\"./event_data\\\":967,\\\"./hover\\\":968,\\\"./plot\\\":970,\\\"./select\\\":971,\\\"./style\\\":972}],970:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,s=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,l=t(\\\"../../lib/geojson_utils\\\"),c=t(\\\"../scatter/subtypes\\\"),u=t(\\\"./style\\\");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)f(r[o],e.topojson);function s(t,e){t.lonlat[0]===a&&n.select(e).remove()}var h=e.layers.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\"g.trace.scattergeo\\\").data(r,function(t){return t[0].trace.uid});h.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace scattergeo\\\"),h.exit().remove(),h.selectAll(\\\"*\\\").remove(),h.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||\\\"none\\\"!==a.fill){var o=l.calcTraceToLineCoords(e),f=\\\"none\\\"!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(\\\"path.js-line\\\").data([{geojson:f,trace:a}]).enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"stroke-miterlimit\\\",2)}c.hasMarkers(a)&&r.selectAll(\\\"path.point\\\").data(i.identity).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).each(function(t){s(t,this)}),c.hasText(a)&&r.selectAll(\\\"g\\\").data(i.identity).enter().append(\\\"g\\\").append(\\\"text\\\").each(function(t){s(t,this)}),u(t,e)})}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/geo_location_utils\\\":594,\\\"../../lib/geojson_utils\\\":595,\\\"../../lib/topojson_utils\\\":629,\\\"../scatter/subtypes\\\":948,\\\"./style\\\":972,d3:130}],971:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(s=0;s<l.length;s++)l[s].selected=0;else for(s=0;s<l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{\\\"../scatter/subtypes\\\":948}],972:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../scatter/style\\\").stylePoints;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,s=e[0].node3;s.style(\\\"opacity\\\",e[0].trace.opacity),o(s,r,t),s.selectAll(\\\"path.js-line\\\").style(\\\"fill\\\",\\\"none\\\").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||\\\"\\\",o.width||0),\\\"none\\\"!==r.fill&&e.call(a.fill,r.fillcolor)})}(t,e)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../scatter/style\\\":947,d3:130}],973:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"../../plot_api/edit_types\\\").overrideAll,l=t(\\\"./constants\\\").DASHES,c=i.line,u=i.marker,f=u.line,h=e.exports=s({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,text:o({},i.text,{}),mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\"],extras:[\\\"none\\\"]},line:{color:c.color,width:c.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(l),dflt:\\\"solid\\\"}},marker:o({},a(\\\"marker\\\"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,showscale:u.showscale,colorbar:u.colorbar,line:o({},a(\\\"marker.line\\\"),{width:f.width})}),connectgaps:i.connectgaps,fill:i.fill,fillcolor:i.fillcolor,hoveron:i.hoveron,selected:{marker:i.selected.marker},unselected:{marker:i.unselected.marker},opacity:n.opacity},\\\"calc\\\",\\\"nested\\\");h.x.editType=h.y.editType=h.x0.editType=h.y0.editType=\\\"calc+clearAxisTypes\\\"},{\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926,\\\"./constants\\\":974}],974:[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]}}},{}],975:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"svg-path-sdf\\\"),i=t(\\\"color-normalize\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../plots/cartesian/axis_ids\\\"),c=t(\\\"../../lib/gl_format_color\\\"),u=t(\\\"../scatter/subtypes\\\"),f=t(\\\"../scatter/make_bubble_size_func\\\"),h=t(\\\"./constants\\\"),p=t(\\\"../../constants/interactions\\\").DESELECTDIM;function d(t){var e,r,n=t._length,a=t.marker,s={},l=Array.isArray(a.symbol),u=o.isArrayOrTypedArray(a.color),p=o.isArrayOrTypedArray(a.line.color),d=o.isArrayOrTypedArray(a.opacity),g=o.isArrayOrTypedArray(a.size),m=o.isArrayOrTypedArray(a.line.width);if(l||(r=h.OPEN_RE.test(a.symbol)),l||u||p||d){s.colors=new Array(n),s.borderColors=new Array(n);var v=c(a,a.opacity,n),y=c(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(s.colors=v,s.borderColors=y,e=0;e<n;e++){if(l){var _=a.symbol[e];r=h.OPEN_RE.test(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}s.opacity=t.opacity}else r?(s.color=i(a.color,\\\"uint8\\\"),s.color[3]=0,s.borderColor=i(a.color,\\\"uint8\\\")):(s.color=i(a.color,\\\"uint8\\\"),s.borderColor=i(a.line.color,\\\"uint8\\\")),s.opacity=t.opacity*a.opacity;if(l)for(s.markers=new Array(n),e=0;e<n;e++)s.markers[e]=w(a.symbol[e]);else s.marker=w(a.symbol);var k,M=f(t);if(g||m){var A,T=s.sizes=new Array(n),S=s.borderSizes=new Array(n),C=0;if(g){for(e=0;e<n;e++)T[e]=M(a.size[e]),C+=T[e];A=C/n}else for(k=M(a.size),e=0;e<n;e++)T[e]=k;if(m)for(e=0;e<n;e++)S[e]=M(a.line.width[e]);else for(k=M(a.line.width),e=0;e<n;e++)S[e]=k;s.sizeAvg=A}else s.size=M(a&&a.size||10),s.borderSizes=M(a.line.width);return s}function g(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=d(o.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.sizes=e.marker.size),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function m(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var v=h.SYMBOL_SDF_SIZE,y=h.SYMBOL_SIZE,x=h.SYMBOL_STROKE,b={},_=s.symbolFuncs[0](.05*y);function w(t){if(\\\"circle\\\"===t)return null;var e,r,i=s.symbolNumber(t),a=s.symbolFuncs[i%100],o=!!s.symbolNoDot[i%100],l=!!s.symbolNoFill[i%100],c=h.DOT_RE.test(t);return b[t]?b[t]:(e=c&&!o?a(1.1*y)+_:a(y),r=n(e,{w:v,h:v,viewBox:[-y,-y,y,y],stroke:l?x:-x}),b[t]=r,r||null)}e.exports={convertStyle:function(t,e){var r,n={marker:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,selected:void 0,unselected:void 0};if(!0!==e.visible)return n;if(u.hasMarkers(e)&&(n.marker=d(e),n.selected=g(e,e.selected),n.unselected=g(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var i=e.marker.opacity;for(n.unselected.opacity=new Array(i.length),r=0;r<i.length;r++)n.unselected.opacity[r]=p*i[r]}if(u.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var a=(h.DASHES[e.line.dash]||[1]).slice();for(r=0;r<a.length;++r)a[r]*=e.line.width;n.line.dashes=a}return e.error_x&&e.error_x.visible&&(n.errorX=m(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=m(e,e.error_y)),e.fill&&\\\"none\\\"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},convertMarkerStyle:d,convertMarkerSelection:g,convertLinePositions:function(t,e,r){var n,i,a=r.length/2;if(u.hasLines(e)&&a)if(\\\"hv\\\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i+2]),n.push(r[2*i+1]));n.push(r[r.length-2]),n.push(r[r.length-1])}else if(\\\"vh\\\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i]),n.push(r[2*i+3]));n.push(r[r.length-2]),n.push(r[r.length-1])}else n=r;var o=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){o=!0;break}var s=o||n.length>h.TOO_MANY_POINTS?\\\"rect\\\":u.hasMarkers(e)?\\\"rect\\\":\\\"round\\\";if(o&&e.connectgaps){var l=n[0],c=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=l,n[i+1]=c):(l=n[i],c=n[i+1])}return{join:s,positions:n}},convertErrorBarPositions:function(t,e,r){var n=a.getComponentMethod(\\\"errorbars\\\",\\\"calcFromTrace\\\")(e,t._fullLayout),i=r.length/2,o={};function s(a){for(var o=new Float64Array(4*i),s=l.getFromId(t,e[a+\\\"axis\\\"]),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],f=0,h=0;f<i;f++,h+=4)o[h+u[0]]=r[2*f+c]-s.d2l(n[f][a+\\\"s\\\"])||0,o[h+u[1]]=s.d2l(n[f][a+\\\"h\\\"])-r[2*f+c]||0,o[h+u[2]]=0,o[h+u[3]]=0;return o}return e.error_x&&e.error_x.visible&&(o.x={positions:r,errors:s(\\\"x\\\")}),e.error_y&&e.error_y.visible&&(o.y={positions:r,errors:s(\\\"y\\\")}),o}}},{\\\"../../components/drawing\\\":499,\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../lib/gl_format_color\\\":598,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../scatter/make_bubble_size_func\\\":943,\\\"../scatter/subtypes\\\":948,\\\"./constants\\\":974,\\\"color-normalize\\\":100,\\\"svg-path-sdf\\\":413}],976:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../scatter/constants\\\"),s=t(\\\"../scatter/subtypes\\\"),l=t(\\\"../scatter/xy_defaults\\\"),c=t(\\\"../scatter/marker_defaults\\\"),u=t(\\\"../scatter/line_defaults\\\"),f=t(\\\"../scatter/fillcolor_defaults\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,a,r,i)}var d=!!t.marker&&/-open/.test(t.marker.symbol),g=s.isBubble(t),m=l(t,e,h,p);if(m){p(\\\"text\\\"),p(\\\"mode\\\",m<o.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),s.hasLines(e)&&(p(\\\"connectgaps\\\"),u(t,e,r,h,p));var v=[];s.hasMarkers(e)&&(c(t,e,r,h,p),p(\\\"marker.line.width\\\",d||g?1:0),v.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&f(t,e,r,p),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||v.push(\\\"fills\\\"),p(\\\"hoveron\\\",v.join(\\\"+\\\")||\\\"points\\\");var y=i.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");y(t,e,r,{axis:\\\"y\\\"}),y(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/xy_defaults\\\":950,\\\"./attributes\\\":973}],977:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-scatter2d\\\"),i=t(\\\"regl-line2d\\\"),a=t(\\\"regl-error2d\\\"),o=t(\\\"point-cluster\\\"),s=t(\\\"array-range\\\"),l=t(\\\"../../registry\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../lib/prepare_regl\\\"),f=t(\\\"../../plots/cartesian/axis_ids\\\"),h=t(\\\"../scatter/subtypes\\\"),p=t(\\\"../scatter/calc\\\").calcMarkerSize,d=t(\\\"../scatter/calc\\\").calcAxisExpansion,g=t(\\\"../scatter/colorscale_calc\\\"),m=t(\\\"../scatter/link_traces\\\"),v=t(\\\"../scatter/get_trace_color\\\"),y=t(\\\"../scatter/fill_hover_text\\\"),x=t(\\\"./convert\\\").convertStyle,b=t(\\\"./convert\\\").convertLinePositions,_=t(\\\"./convert\\\").convertErrorBarPositions,w=t(\\\"../../constants/numerical\\\").BADNUM,k=t(\\\"./constants\\\").TOO_MANY_POINTS;function M(t,e,r,n){var i=x(t,r);if(i.marker&&(i.marker.positions=n),i.line&&n.length>1&&c.extendFlat(i.line,b(t,r,n)),i.errorX||i.errorY){var a=_(t,r,n);i.errorX&&c.extendFlat(i.errorX,a.x),i.errorY&&c.extendFlat(i.errorY,a.y)}return i}function A(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=c.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n<r.count;n++)e[n]=t;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.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i=n._size,a=n.width,o=n.height,s=e.xaxis,l=e.yaxis,c=[i.l+s.domain[0]*i.w,i.b+l.domain[0]*i.h,a-i.r-(1-s.domain[1])*i.w,o-i.t-(1-l.domain[1])*i.h];r.select2d&&((t=r.select2d.regl._gl).enable(t.SCISSOR_TEST),t.scissor(c[0],c[1],c[2]-c[0],c[3]-c[1]),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)),r.scatter2d&&((t=r.scatter2d.regl._gl).enable(t.SCISSOR_TEST),t.scissor(c[0],c[1],c[2]-c[0],c[3]-c[1]),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT))},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||c.extendFlat(r,i),r}function T(t,e,r,n){var i=t.xa,a=t.ya,o=t.distance,s=t.dxy,u=t.index,f={pointNumber:u,x:e[u],y:r[u]};f.tx=Array.isArray(n.text)?n.text[u]:n.text,f.htx=Array.isArray(n.hovertext)?n.hovertext[u]:n.hovertext,f.data=Array.isArray(n.customdata)?n.customdata[u]:n.customdata,f.tp=Array.isArray(n.textposition)?n.textposition[u]:n.textposition;var h=n.textfont;h&&(f.ts=Array.isArray(h.size)?h.size[u]:h.size,f.tc=Array.isArray(h.color)?h.color[u]:h.color,f.tf=Array.isArray(h.family)?h.family[u]:h.family);var p=n.marker;p&&(f.ms=c.isArrayOrTypedArray(p.size)?p.size[u]:p.size,f.mo=c.isArrayOrTypedArray(p.opacity)?p.opacity[u]:p.opacity,f.mx=Array.isArray(p.symbol)?p.symbol[u]:p.symbol,f.mc=c.isArrayOrTypedArray(p.color)?p.color[u]:p.color);var d=p&&p.line;d&&(f.mlc=Array.isArray(d.color)?d.color[u]:d.color,f.mlw=c.isArrayOrTypedArray(d.width)?d.width[u]:d.width);var g=p&&p.gradient;g&&\\\"none\\\"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[u]:g.type,f.mgc=Array.isArray(g.color)?g.color[u]:g.color);var m=i.c2p(f.x,!0),x=a.c2p(f.y,!0),b=f.mrc||1,_=n.hoverlabel;_&&(f.hbg=Array.isArray(_.bgcolor)?_.bgcolor[u]:_.bgcolor,f.hbc=Array.isArray(_.bordercolor)?_.bordercolor[u]:_.bordercolor,f.hts=Array.isArray(_.font.size)?_.font.size[u]:_.font.size,f.htc=Array.isArray(_.font.color)?_.font.color[u]:_.font.color,f.htf=Array.isArray(_.font.family)?_.font.family[u]:_.font.family,f.hnl=Array.isArray(_.namelength)?_.namelength[u]:_.namelength);var w=n.hoverinfo;w&&(f.hi=Array.isArray(w)?w[u]:w);var k={};return k[t.index]=f,c.extendFlat(t,{color:v(n,f),x0:m-b,x1:m+b,xLabelVal:f.x,y0:x-b,y1:x+b,yLabelVal:f.y,cd:k,distance:o,spikeDistance:s}),f.htx?t.text=f.htx:f.tx?t.text=f.tx:n.text&&(t.text=n.text),y(f,n,t),l.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(f,n,t),t}e.exports={moduleType:\\\"trace\\\",name:\\\"scattergl\\\",basePlotModule:t(\\\"../../plots/cartesian\\\"),categories:[\\\"gl\\\",\\\"regl\\\",\\\"cartesian\\\",\\\"symbols\\\",\\\"errorBarsOK\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),cleanData:t(\\\"../scatter/clean_data\\\"),colorbar:t(\\\"../scatter/colorbar\\\"),calc:function(t,e){var r,n,i,a=t._fullLayout,s=f.getFromId(t,e.xaxis),l=f.getFromId(t,e.yaxis),c=a._plots[e.xaxis+e.yaxis],u=e._length,h=2*u,m={},v=s.makeCalcdata(e,\\\"x\\\"),y=l.makeCalcdata(e,\\\"y\\\"),x=new Array(h);for(r=0;r<u;r++)n=v[r],i=y[r],x[2*r]=n===w?NaN:n,x[2*r+1]=i===w?NaN:i;if(\\\"log\\\"===s.type)for(r=0;r<h;r+=2)x[r]=s.c2l(x[r]);if(\\\"log\\\"===l.type)for(r=1;r<h;r+=2)x[r]=l.c2l(x[r]);if(\\\"log\\\"!==s.type&&\\\"log\\\"!==l.type)m.tree=o(x);else{var b=m.ids=new Array(u);for(r=0;r<u;r++)b[r]=r}g(e);var _,T=M(t,0,e,x),S=A(t,c);return u<k?_=p(e,u):T.marker&&(_=2*(T.marker.sizeAvg||Math.max(T.marker.size,3))),d(t,e,s,l,v,y,_),T.fill&&!S.fill2d&&(S.fill2d=!0),T.marker&&!S.scatter2d&&(S.scatter2d=!0),T.line&&!S.line2d&&(S.line2d=!0),!T.errorX&&!T.errorY||S.error2d||(S.error2d=!0),T.marker&&u>=k&&(T.marker.cluster=m.tree),S.lineOptions.push(T.line),S.errorXOptions.push(T.errorX),S.errorYOptions.push(T.errorY),S.fillOptions.push(T.fill),S.markerOptions.push(T.marker),S.selectedOptions.push(T.selected),S.unselectedOptions.push(T.unselected),S.count++,m._scene=S,m.index=S.count-1,m.x=v,m.y=y,m.positions=x,m.count=u,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,e,r){if(r.length){var o=t._fullLayout,s=r[0][0].t._scene,l=o.dragmode;if(s){var c=o._size,h=o.width,p=o.height;u(t,[\\\"ANGLE_instanced_arrays\\\",\\\"OES_element_index_uint\\\"]);var d=o._glcanvas.data()[0].regl;if(m(t,e,r),s.dirty){if(!0===s.error2d&&(s.error2d=a(d)),!0===s.line2d&&(s.line2d=i(d)),!0===s.scatter2d&&(s.scatter2d=n(d)),!0===s.fill2d&&(s.fill2d=i(d)),s.line2d&&s.line2d.update(s.lineOptions),s.error2d){var g=(s.errorXOptions||[]).concat(s.errorYOptions||[]);s.error2d.update(g)}s.scatter2d&&s.scatter2d.update(s.markerOptions),s.fill2d&&(s.fillOptions=s.fillOptions.map(function(t,e){var n=r[e];if(!(t&&n&&n[0]&&n[0].trace))return null;var i,a,o=n[0],l=o.trace,c=o.t,u=s.lineOptions[e],f=[],h=u&&u.positions||c.positions;if(\\\"tozeroy\\\"===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if(\\\"tozerox\\\"===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if(\\\"toself\\\"===l.fill||\\\"tonext\\\"===l.fill){for(f=[],i=0,a=0;a<h.length;a+=2)(isNaN(h[a])||isNaN(h[a+1]))&&((f=f.concat(h.slice(i,a))).push(h[i],h[i+1]),i=a+2);f=f.concat(h.slice(i)),i&&f.push(h[i],h[i+1])}else{var p=l._nexttrace;if(p){var d=s.lineOptions[e+1];if(d){var g=d.positions;if(\\\"tonexty\\\"===l.fill){for(f=h.slice(),e=Math.floor(g.length/2);e--;){var m=g[2*e],v=g[2*e+1];isNaN(m)||isNaN(v)||(f.push(m),f.push(v))}t.fill=p.fillcolor}}}}if(l._prevtrace&&\\\"tonext\\\"===l._prevtrace.fill){var y=s.lineOptions[e-1].positions,x=f.length/2,b=[i=x];for(a=0;a<y.length;a+=2)(isNaN(y[a])||isNaN(y[a+1]))&&(b.push(a/2+x+1),i=a+2);f=f.concat(y),t.hole=b}return t.opacity=l.opacity,t.positions=f,t}),s.fill2d.update(s.fillOptions))}var v=\\\"lasso\\\"===l||\\\"select\\\"===l;s.selectBatch=null,s.unselectBatch=null;var y=r.map(function(r){if(r&&r[0]&&r[0].trace){var n,i=r[0],a=i.trace,o=i.t,l=o.index,u=o.x,d=o.y,g=e.xaxis||f.getFromId(t,a.xaxis||\\\"x\\\"),m=e.yaxis||f.getFromId(t,a.yaxis||\\\"y\\\"),y=[(g._rl||g.range)[0],(m._rl||m.range)[0],(g._rl||g.range)[1],(m._rl||m.range)[1]],x=[c.l+g.domain[0]*c.w,c.b+m.domain[0]*c.h,h-c.r-(1-g.domain[1])*c.w,p-c.t-(1-m.domain[1])*c.h];if(a.selectedpoints||v){if(v||(v=!0),s.selectBatch||(s.selectBatch=[],s.unselectBatch=[]),a.selectedpoints){s.selectBatch[l]=a.selectedpoints;var b=a.selectedpoints,_={};for(n=0;n<b.length;n++)_[b[n]]=!0;var w=[];for(n=0;n<o.count;n++)_[n]||w.push(n);s.unselectBatch[l]=w}var k=new Array(o.count),M=new Array(o.count);for(n=0;n<o.count;n++)k[n]=g.c2p(u[n]),M[n]=m.c2p(d[n]);o.xpx=k,o.ypx=M}else o.xpx=o.ypx=null;return a.visible?{viewport:x,range:y}:null}});v&&(s.select2d||(s.select2d=n(o._glcanvas.data()[1].regl)),s.scatter2d&&s.selectBatch&&s.selectBatch.length&&s.scatter2d.update(s.unselectedOptions.map(function(t,e){return s.selectBatch[e]?t:null})),s.select2d&&(s.select2d.update(s.markerOptions),s.select2d.update(s.selectedOptions))),s.fill2d&&s.fill2d.update(y),s.line2d&&s.line2d.update(y),s.error2d&&s.error2d.update(y.concat(y)),s.scatter2d&&s.scatter2d.update(y),s.select2d&&s.select2d.update(y),s.draw()}}},hoverPoints:function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p=t.cd,d=p[0].t,g=p[0].trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=m.c2p(e),_=v.c2p(r),w=t.distance;if(d.tree){var k=m.p2c(b-w),M=m.p2c(b+w),A=v.p2c(_-w),S=v.p2c(_+w);i=\\\"x\\\"===n?d.tree.range(Math.min(k,M),Math.min(v._rl[0],v._rl[1]),Math.max(k,M),Math.max(v._rl[0],v._rl[1])):d.tree.range(Math.min(k,M),Math.min(A,S),Math.max(k,M),Math.max(A,S))}else{if(!d.ids)return[t];i=d.ids}var C=w;if(\\\"x\\\"===n)for(l=0;l<i.length;l++)o=y[i[l]],(c=Math.abs(m.c2p(o)-b))<C&&(C=c,u=v.c2p(x[i[l]])-_,h=Math.sqrt(c*c+u*u),a=i[l]);else for(l=0;l<i.length;l++)o=y[i[l]],s=x[i[l]],c=m.c2p(o)-b,u=v.c2p(s)-_,(f=Math.sqrt(c*c+u*u))<C&&(C=h=f,a=i[l]);return t.index=a,t.distance=C,t.dxy=h,void 0===a?[t]:(T(t,y,x,g),[t])},style:function(t,e){if(e){var r=e[0][0].t._scene;t._fullLayout._has(\\\"splom\\\")||r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,l=a.y,c=a._scene;if(!c)return n;var u=!h.hasMarkers(i)&&!h.hasText(i);if(!0!==i.visible||u)return n;var f,p=null,d=null;if(!1===e||e.degenerate)d=s(a.count);else for(p=[],d=[],f=0;f<a.count;f++)e.contains([a.xpx[f],a.ypx[f]])?(p.push(f),n.push({pointNumber:f,x:o[f],y:l[f]})):d.push(f);if(c.selectBatch||(c.selectBatch=[],c.unselectBatch=[]),!c.selectBatch[a.index]){for(f=0;f<c.count;f++)c.selectBatch[f]=[],c.unselectBatch[f]=[];c.scatter2d.update(c.unselectedOptions)}return c.selectBatch[a.index]=p,c.unselectBatch[a.index]=d,n},sceneOptions:M,sceneUpdate:A,calcHover:T,meta:{}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/prepare_regl\\\":615,\\\"../../plots/cartesian\\\":659,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../scatter/calc\\\":927,\\\"../scatter/clean_data\\\":929,\\\"../scatter/colorbar\\\":930,\\\"../scatter/colorscale_calc\\\":931,\\\"../scatter/fill_hover_text\\\":934,\\\"../scatter/get_trace_color\\\":936,\\\"../scatter/link_traces\\\":942,\\\"../scatter/subtypes\\\":948,\\\"./attributes\\\":973,\\\"./constants\\\":974,\\\"./convert\\\":975,\\\"./defaults\\\":976,\\\"array-range\\\":51,\\\"point-cluster\\\":353,\\\"regl-error2d\\\":374,\\\"regl-line2d\\\":375,\\\"regl-scatter2d\\\":376}],978:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../plots/mapbox/layout_attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../components/colorbar/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,c=t(\\\"../../plot_api/edit_types\\\").overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:\\\"markers\\\"}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:\\\"string\\\",dflt:\\\"circle\\\",arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:i.selected.marker},unselected:{marker:i.unselected.marker},hoverinfo:l({},o.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../../plots/mapbox/layout_attributes\\\":706,\\\"../scatter/attributes\\\":926,\\\"../scattergeo/attributes\\\":964}],979:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=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\\\"),f=t(\\\"../../plots/mapbox/convert_text_opts\\\");function h(){return{geojson:o.makeBlank(),layout:{visibility:\\\"none\\\"},paint:{}}}function p(t){return i.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:d}function d(){return\\\"\\\"}function g(t){return t[0]===a}e.exports=function(t){var e,r=t[0].trace,a=!0===r.visible,m=\\\"none\\\"!==r.fill,v=u.hasLines(r),y=u.hasMarkers(r),x=u.hasText(r),b=y&&\\\"circle\\\"===r.marker.symbol,_=y&&\\\"circle\\\"!==r.marker.symbol,w=h(),k=h(),M=h(),A=h(),T={fill:w,line:k,circle:M,symbol:A};if(!a)return T;if((m||v)&&(e=o.calcTraceToLineCoords(t)),m&&(w.geojson=o.makePolygon(e),w.layout.visibility=\\\"visible\\\",i.extendFlat(w.paint,{\\\"fill-color\\\":r.fillcolor})),v&&(k.geojson=o.makeLine(e),k.layout.visibility=\\\"visible\\\",i.extendFlat(k.paint,{\\\"line-width\\\":r.line.width,\\\"line-color\\\":r.line.color,\\\"line-opacity\\\":r.opacity})),b){var S=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),m=i.isArrayOrTypedArray(f.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\\\"marker\\\")?s.makeColorScaleFunc(s.extractScale(f.colorscale,f.cmin,f.cmax)):i.identity);d&&(a=c(u));m&&(o=function(t){var e=n(t)?+i.constrain(t,0,1):0;return v(e)});var y,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!g(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:_},properties:w})}}if(h)for(y=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;y.selectedOpacityFn&&(k.mo=v(y.selectedOpacityFn(k))),y.selectedColorFn&&(k.mcc=y.selectedColorFn(k)),y.selectedSizeFn&&(k.mrc=y.selectedSizeFn(k))}return{geojson:{type:\\\"FeatureCollection\\\",features:x},mcc:p||y&&y.selectedColorFn?{type:\\\"identity\\\",property:\\\"mcc\\\"}:f.color,mrc:d||y&&y.selectedSizeFn?{type:\\\"identity\\\",property:\\\"mrc\\\"}:(M=f.size,M/2),mo:m||y&&y.selectedOpacityFn?{type:\\\"identity\\\",property:\\\"mo\\\"}:v(f.opacity)};var M}(t);M.geojson=S.geojson,M.layout.visibility=\\\"visible\\\",i.extendFlat(M.paint,{\\\"circle-color\\\":S.mcc,\\\"circle-radius\\\":S.mrc,\\\"circle-opacity\\\":S.mo})}if((_||x)&&(A.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\\\"circle\\\"!==r?p(r):d,a=u.hasText(e)?p(n):d,o=[],s=0;s<t.length;s++){var l=t[s];g(l.lonlat)||o.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\\\"FeatureCollection\\\",features:o}}(t),i.extendFlat(A.layout,{visibility:\\\"visible\\\",\\\"icon-image\\\":\\\"{symbol}-15\\\",\\\"text-field\\\":\\\"{text}\\\"}),_&&(i.extendFlat(A.layout,{\\\"icon-size\\\":r.marker.size/10}),i.extendFlat(A.paint,{\\\"icon-opacity\\\":r.opacity*r.marker.opacity,\\\"icon-color\\\":r.marker.color})),x)){var C=(r.marker||{}).size,E=f(r.textposition,C);i.extendFlat(A.layout,{\\\"text-size\\\":r.textfont.size,\\\"text-anchor\\\":E.anchor,\\\"text-offset\\\":E.offset}),i.extendFlat(A.paint,{\\\"text-color\\\":r.textfont.color,\\\"text-opacity\\\":r.opacity})}return T}},{\\\"../../components/colorscale\\\":489,\\\"../../components/drawing\\\":499,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/geojson_utils\\\":595,\\\"../../plots/mapbox/convert_text_opts\\\":703,\\\"../scatter/make_bubble_size_func\\\":943,\\\"../scatter/subtypes\\\":948,\\\"fast-isnumeric\\\":196}],980:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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 f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f(\\\"connectgaps\\\")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0});var h=e.marker;h.line={width:0},\\\"circle\\\"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":978}],981:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],982:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../scatter/get_trace_color\\\"),o=t(\\\"../scatter/fill_hover_text\\\"),s=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=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=i.wrap180(e[0]),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.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=[i.wrap180(m[0])+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,t.color=a(c,g),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\\\"+\\\"),i=-1!==n.indexOf(\\\"all\\\"),a=-1!==n.indexOf(\\\"lon\\\"),s=-1!==n.indexOf(\\\"lat\\\"),l=e.lonlat,c=[];function u(t){return t+\\\"\\\\xb0\\\"}i||a&&s?c.push(\\\"(\\\"+u(l[0])+\\\", \\\"+u(l[1])+\\\")\\\"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf(\\\"text\\\"))&&o(e,t,c);return c.join(\\\"<br>\\\")}(c,g,l[0].t.labels),[t]}}},{\\\"../../components/fx\\\":516,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../scatter/fill_hover_text\\\":934,\\\"../scatter/get_trace_color\\\":936}],983:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"../scattergeo/calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType=\\\"trace\\\",n.name=\\\"scattermapbox\\\",n.basePlotModule=t(\\\"../../plots/mapbox\\\"),n.categories=[\\\"mapbox\\\",\\\"gl\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatterlike\\\"],n.meta={},e.exports=n},{\\\"../../plots/mapbox\\\":704,\\\"../scatter/colorbar\\\":930,\\\"../scattergeo/calc\\\":965,\\\"./attributes\\\":978,\\\"./defaults\\\":980,\\\"./event_data\\\":981,\\\"./hover\\\":982,\\\"./plot\\\":984,\\\"./select\\\":985}],984:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./convert\\\");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\\\"-source-fill\\\",line:e+\\\"-source-line\\\",circle:e+\\\"-source-circle\\\",symbol:e+\\\"-source-symbol\\\"},this.layerIds={fill:e+\\\"-layer-fill\\\",line:e+\\\"-layer-line\\\",circle:e+\\\"-layer-circle\\\",symbol:e+\\\"-layer-symbol\\\"},this.order=[\\\"fill\\\",\\\"line\\\",\\\"circle\\\",\\\"symbol\\\"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\\\"geojson\\\",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i<this.order.length;i++){var a=this.order[i],o=r[a];e.setOptions(this.layerIds[a],\\\"setLayoutProperty\\\",o.layout),\\\"visible\\\"===o.layout.visibility&&(this.setSourceData(a,o),e.setOptions(this.layerIds[a],\\\"setPaintProperty\\\",o.paint))}t[0].trace._glTrace=this},a.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=new i(t,e[0].trace.uid),a=n(e),o=0;o<r.order.length;o++){var s=r.order[o],l=a[s];r.addSource(s,l),r.addLayer(s,l)}return e[0].trace._glTrace=r,r}},{\\\"./convert\\\":979}],985:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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(!i.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 f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.wrap180(h[0]),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../scatter/subtypes\\\":948}],986:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=i.line;e.exports={mode:i.mode,r:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},theta:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},thetaunit:{valType:\\\"enumerated\\\",values:[\\\"radians\\\",\\\"degrees\\\",\\\"gradians\\\"],dflt:\\\"degrees\\\",editType:\\\"calc+clearAxisTypes\\\"},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:o.smoothing,editType:\\\"calc\\\"},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[\\\"r\\\",\\\"theta\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],987:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=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){var r,u=t._fullLayout,f=e.subplot,h=u[f].radialaxis,p=u[f].angularaxis,d=h.makeCalcdata(e,\\\"r\\\"),g=p.makeCalcdata(e,\\\"theta\\\"),m=e._length,v=new Array(m);for(var y=0;y<m;y++){var x=d[y],b=g[y],_=v[y]={};n(x)&&n(b)?(_.r=x,_.theta=b,_.rad=(r=b,p.c2rad(r,e.thetaunit))):_.r=i}var w=c(e,m);return a.expand(h,d,{ppad:w}),o(e),s(v,e),l(v,e),v}},{\\\"../../constants/numerical\\\":579,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc\\\":927,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],988:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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,f=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=p(\\\"r\\\"),g=p(\\\"theta\\\"),m=d&&g?Math.min(d.length,g.length):0;if(m){e._length=m,p(\\\"thetaunit\\\"),p(\\\"mode\\\",m<u?\\\"lines+markers\\\":\\\"lines\\\"),p(\\\"text\\\"),p(\\\"hovertext\\\"),i.hasLines(e)&&(o(t,e,r,h,p),s(t,e,p),p(\\\"connectgaps\\\")),i.hasMarkers(e)&&a(t,e,r,h,p,{gradient:!0}),i.hasText(e)&&l(t,e,h,p);var v=[];(i.hasMarkers(e)||i.hasText(e))&&(p(\\\"cliponaxis\\\"),p(\\\"marker.maxdisplayed\\\"),v.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(c(t,e,r,p),i.hasLines(e)||s(t,e,p)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||v.push(\\\"fills\\\"),p(\\\"hoveron\\\",v.join(\\\"+\\\")||\\\"points\\\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/line_shape_defaults\\\":941,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":986}],989:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\");function o(t,e,r){var n=r.radialAxis,o=r.angularAxis,s=(t.hi||e.hoverinfo).split(\\\"+\\\"),l=[];n._hovertitle=\\\"r\\\",o._hovertitle=\\\"\\\\u03b8\\\";var c,u=o._c2rad(t.theta,e.thetaunit);function f(t,e){l.push(t._hovertitle+\\\": \\\"+i.tickText(t,e,\\\"hover\\\").text)}return c=\\\"linear\\\"===o.type&&e.thetaunit!==o.thetaunit?\\\"degrees\\\"===o.thetaunit?a.rad2deg(u):u:t.theta,-1!==s.indexOf(\\\"all\\\")&&(s=[\\\"r\\\",\\\"theta\\\"]),-1!==s.indexOf(\\\"r\\\")&&f(n,n.c2r(t.r)),-1!==s.indexOf(\\\"theta\\\")&&f(o,c),l.join(\\\"<br>\\\")}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=o(c,u,l),a}},makeHoverPointText:o}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/hover\\\":937}],990:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"trace\\\",name:\\\"scatterpolar\\\",basePlotModule:t(\\\"../../plots/polar\\\"),categories:[\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),calc:t(\\\"./calc\\\"),plot:t(\\\"./plot\\\"),style:t(\\\"../scatter/style\\\").style,hoverPoints:t(\\\"./hover\\\").hoverPoints,selectPoints:t(\\\"../scatter/select\\\"),meta:{}}},{\\\"../../plots/polar\\\":713,\\\"../scatter/select\\\":946,\\\"../scatter/style\\\":947,\\\"./attributes\\\":986,\\\"./calc\\\":987,\\\"./defaults\\\":988,\\\"./hover\\\":989,\\\"./plot\\\":991}],991:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]>u[1]?function(t){return t<=0}:function(t){return t>=0},a=0;a<r.length;a++)for(o=0;o<r[a].length;o++){var f=r[a][o],h=f.r;if(h!==i){var p=c.c2r(h)-u[0];if(s(p)){var d=f.rad;f.x=p*Math.cos(d),f.y=p*Math.sin(d);continue}f.intoCenter=[e.cxx,e.cyy]}f.x=i,f.y=i}var g=e.layers.frontplot.select(\\\"g.scatterlayer\\\");n(t,l,r,g)}},{\\\"../../constants/numerical\\\":579,\\\"../scatter/plot\\\":945}],992:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatterpolar/attributes\\\"),i=t(\\\"../scattergl/attributes\\\");e.exports={mode:n.mode,r:n.r,theta:n.theta,thetaunit:n.thetaunit,text:n.text,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,hoverinfo:n.hoverinfo,hoveron:n.hoveron,selected:n.selected,unselected:n.unselected}},{\\\"../scattergl/attributes\\\":973,\\\"../scatterpolar/attributes\\\":986}],993:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=t(\\\"../scatter/marker_defaults\\\"),o=t(\\\"../scatter/line_defaults\\\"),s=t(\\\"../scatter/fillcolor_defaults\\\"),l=t(\\\"../scatter/constants\\\").PTS_LINESONLY,c=t(\\\"./attributes\\\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h=f(\\\"r\\\"),p=f(\\\"theta\\\"),d=h&&p?Math.min(h.length,p.length):0;if(d){e._length=d,f(\\\"thetaunit\\\"),f(\\\"mode\\\",d<l?\\\"lines+markers\\\":\\\"lines\\\"),f(\\\"text\\\"),i.hasLines(e)&&(o(t,e,r,u,f),f(\\\"connectgaps\\\"));var g=[];i.hasMarkers(e)&&(a(t,e,r,u,f),g.push(\\\"points\\\")),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&s(t,e,r,f),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||g.push(\\\"fills\\\"),f(\\\"hoveron\\\",g.join(\\\"+\\\")||\\\"points\\\"),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"./attributes\\\":992}],994:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"point-cluster\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../scattergl\\\"),o=t(\\\"../scatter/colorscale_calc\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../scatterpolar/hover\\\").makeHoverPointText,c=t(\\\"../scatter/subtypes\\\"),u=t(\\\"../scattergl/constants\\\").TOO_MANY_POINTS;e.exports={moduleType:\\\"trace\\\",name:\\\"scatterpolargl\\\",basePlotModule:t(\\\"../../plots/polar\\\"),categories:[\\\"gl\\\",\\\"regl\\\",\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,\\\"r\\\"),c=a.makeCalcdata(e,\\\"theta\\\"),u={};return e._length<l.length&&(l=l.slice(0,e._length)),e._length<c.length&&(c=c.slice(0,e._length)),o(e),u.r=l,u.theta=c,s.expand(i,l,{tozero:!0}),\\\"linear\\\"!==a.type&&(a.autorange=!0,s.expand(a,c),delete a.autorange),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=o.range,f=a.sceneUpdate(t,e);return f.clear(),r.forEach(function(h,p){if(h&&h[0]&&h[0].trace){var d,g,m,v,y,x=h[0],b=x.trace,_=x.t,w=_.r,k=_.theta,M=w.slice(),A=k.slice();for(d=0;d<w.length;d++)g=w[d],v=k[d],y=s.c2rad(v,b.thetaunit),e.isPtWithinSector({r:g,rad:y})||(M[d]=NaN,A[d]=NaN);var T,S=w.length,C=new Array(2*S),E=Array(S),L=Array(S);for(d=0;d<S;d++)g=M[d],v=A[d],i(g)&&i(v)&&g>=0?(m=o.c2r(g)-l[0],T=v,y=s.c2rad(T,b.thetaunit),E[d]=C[2*d]=m*Math.cos(y),L[d]=C[2*d+1]=m*Math.sin(y)):E[d]=L[d]=C[2*d]=C[2*d+1]=NaN;var z=a.sceneOptions(t,e,b,C);z.fill&&!f.fill2d&&(f.fill2d=!0),z.marker&&!f.scatter2d&&(f.scatter2d=!0),z.line&&!f.line2d&&(f.line2d=!0),!z.errorX&&!z.errorY||f.error2d||(f.error2d=!0),_.tree=n(C),z.marker&&S>=u&&(z.marker.cluster=_.tree),c.hasMarkers(b)&&(z.selected.positions=z.unselected.positions=z.marker.positions),f.lineOptions.push(z.line),f.errorXOptions.push(z.errorX),f.errorYOptions.push(z.errorY),f.fillOptions.push(z.fill),f.markerOptions.push(z.marker),f.selectedOptions.push(z.selected),f.unselectedOptions.push(z.unselected),f.count=r.length,_._scene=f,_.index=p,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=k,_.positions=C,_.count=S}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,p=u.cd[u.index],d=u.trace;if(p.r=o[u.index],p.theta=s[u.index],p.rad=h.c2rad(p.theta,d.thetaunit),f.isPtWithinSector(p))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(p,d,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/polar\\\":713,\\\"../scatter/colorscale_calc\\\":931,\\\"../scatter/subtypes\\\":948,\\\"../scattergl\\\":977,\\\"../scattergl/constants\\\":974,\\\"../scatterpolar/hover\\\":989,\\\"./attributes\\\":992,\\\"./defaults\\\":993,\\\"fast-isnumeric\\\":196,\\\"point-cluster\\\":353}],995:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../lib/extend\\\").extendFlat,c=n.marker,u=n.line,f=c.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:l({},n.mode,{dflt:\\\"markers\\\"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:u.smoothing,editType:\\\"calc\\\"},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),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:f.width,editType:\\\"calc\\\"},a(\\\"marker.line\\\")),gradient:c.gradient,editType:\\\"calc\\\"},a(\\\"marker\\\"),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],996:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../scatter/colorscale_calc\\\"),a=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,f,h,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[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=m-p[u]-d[u];v[f]=h}var y,x,b,_,w,k,M=e._length,A=new Array(M);for(r=0;r<M;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*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,M),i(e),a(A,e),o(A,e),A}},{\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc\\\":927,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],997:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=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\\\"),f=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}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\\\"),p(\\\"mode\\\",d<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\\\"cliponaxis\\\"),p(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(u(t,e,r,p),a.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\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/line_shape_defaults\\\":941,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":995}],998:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],999:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e,r,a){var o=n(t,e,r,a);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,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.c=h.c,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=s.subplot,g=(h.hi||p.hoverinfo).split(\\\"+\\\"),m=[];return-1!==g.indexOf(\\\"all\\\")&&(g=[\\\"a\\\",\\\"b\\\",\\\"c\\\"]),-1!==g.indexOf(\\\"a\\\")&&v(d.aaxis,h.a),-1!==g.indexOf(\\\"b\\\")&&v(d.baxis,h.b),-1!==g.indexOf(\\\"c\\\")&&v(d.caxis,h.c),s.extraText=m.join(\\\"<br>\\\"),o}function v(t,e){m.push(t._hovertitle+\\\": \\\"+i.tickText(t,e,\\\"hover\\\").text)}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/hover\\\":937}],1000:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../scatter/style\\\").style,n.styleOnSelect=t(\\\"../scatter/style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"../scatter/select\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatterternary\\\",n.basePlotModule=t(\\\"../../plots/ternary\\\"),n.categories=[\\\"ternary\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/ternary\\\":725,\\\"../scatter/colorbar\\\":930,\\\"../scatter/select\\\":946,\\\"../scatter/style\\\":947,\\\"./attributes\\\":995,\\\"./calc\\\":996,\\\"./defaults\\\":997,\\\"./event_data\\\":998,\\\"./hover\\\":999,\\\"./plot\\\":1001}],1001:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\");e.exports=function(t,e,r){var i=e.plotContainer;i.select(\\\".scatterlayer\\\").selectAll(\\\"*\\\").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select(\\\"g.scatterlayer\\\");n(t,a,r,o)}},{\\\"../scatter/plot\\\":945}],1002:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergl/attributes\\\"),i=t(\\\"../../plots/cartesian/constants\\\").idRegex;function a(t){return{valType:\\\"info_array\\\",freeLength:!0,editType:\\\"calc\\\",items:{valType:\\\"subplotid\\\",regex:i[t],editType:\\\"plot\\\"}}}e.exports={dimensions:{_isLinkedToArray:\\\"dimension\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},label:{valType:\\\"string\\\",editType:\\\"calc\\\"},values:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},editType:\\\"calc+clearAxisTypes\\\"},text:n.text,marker:n.marker,xaxes:a(\\\"x\\\"),yaxes:a(\\\"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:n.selected.marker,editType:\\\"calc\\\"},unselected:{marker:n.unselected.marker,editType:\\\"calc\\\"},opacity:n.opacity}},{\\\"../../plots/cartesian/constants\\\":653,\\\"../scattergl/attributes\\\":973}],1003:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-line2d\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../lib/prepare_regl\\\"),s=t(\\\"../../plots/get_data\\\").getModuleCalcData,l=t(\\\"../../plots/cartesian\\\"),c=t(\\\"../../plots/cartesian/axis_ids\\\"),u=\\\"splom\\\";function f(t,e,r){for(var n=e.dimensions,i=r.matrixOptions.data.length,a=new Array(i),o=0,s=0;o<n.length;o++)if(n[o].visible){var l=a[s]=new Array(4),u=c.getFromId(t,e._diag[o][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var f=c.getFromId(t,e._diag[o][1]);f&&(l[1]=f.r2l(f.range[0]),l[3]=f.r2l(f.range[1])),s++}r.selectBatch?(r.matrix.update({ranges:a},{ranges:a}),r.matrix.draw(r.unselectBatch,r.selectBatch)):(r.matrix.update({ranges:a}),r.matrix.draw())}function h(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._fullLayout,n=r._size,i=[0,0,r.width,r.height],a={};function o(t,e,r,n,o,s){var l=e[t+\\\"color\\\"],c=e[t+\\\"width\\\"],u=String(l+c);u in a?a[u].data.push(NaN,NaN,r,n,o,s):a[u]={data:[r,n,o,s],join:\\\"rect\\\",thickness:c,color:l,viewport:i,range:i,overlay:!1}}for(e in r._splomSubplots){var s,l,c=r._plots[e],u=c.xaxis,f=c.yaxis,h=u._vals,d=f._vals,g=n.b+f.domain[0]*n.h,m=-f._m,v=-m*f.r2l(f.range[0],f.calendar);if(u.showgrid)for(e=0;e<h.length;e++)s=u._offset+u.l2p(h[e].x),o(\\\"grid\\\",u,s,g,s,g+f._length);if(p(u)&&(s=u._offset+u.l2p(0),o(\\\"zeroline\\\",u,s,g,s,g+f._length)),f.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o(\\\"grid\\\",f,u._offset,l,u._offset+u._length,l);p(f)&&(l=g+v+0,o(\\\"zeroline\\\",f,u._offset,l,u._offset+u._length,l))}var y=[];for(e in a)y.push(a[e]);return y}(t)),i.draw()}function p(t){var e=a.simpleMap(t.range,t.r2l),r=t.l2p(0);return t.zeroline&&t._vals&&t._vals.length&&e[0]*e[1]<=0&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type)&&(r>1&&r<t._length-1||!t.showline)}e.exports={name:u,attr:l.attr,attrRegex:l.attrRegex,layoutAttributes:l.layoutAttributes,supplyLayoutDefaults:l.supplyLayoutDefaults,drawFramework:l.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule(u),n=s(t.calcdata,r)[0];o(t,[\\\"ANGLE_instanced_arrays\\\",\\\"OES_element_index_uint\\\"]),e._hasOnlyLargeSploms&&h(t),r.plot(t,{},n)},drag:function(t){var e=t.calcdata;t._fullLayout._hasOnlyLargeSploms&&h(t);for(var r=0;r<e.length;r++){var n=e[r][0],i=n.trace,a=n.t._scene;\\\"splom\\\"===i.type&&a&&a.matrix&&f(t,i,a)}},clean:function(t,e,r,n,i){var a,o,s,c=n._modules||[],u=e._modules||[];for(s=0;s<c.length;s++)if(\\\"splom\\\"===c[s].name){a=!0;break}for(s=0;s<u.length;s++)if(\\\"splom\\\"===u[s].name){o=!0;break}if(a&&!o)for(s=0;s<i.length;s++){var f=i[s][0],h=f.trace,p=f.t._scene;\\\"splom\\\"===h.type&&p&&p.matrix&&(p.matrix.destroy(),f.t._scene=null)}n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null),l.clean(t,e,r,n)},updateFx:l.updateFx,toSVG:l.toSVG}},{\\\"../../lib\\\":602,\\\"../../lib/prepare_regl\\\":615,\\\"../../plots/cartesian\\\":659,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../plots/get_data\\\":684,\\\"../../registry\\\":732,\\\"regl-line2d\\\":375}],1004:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=/-open/;function l(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t+(n?n+1:\\\"\\\");return r}function c(t,e,r){if(e){var n=e.charAt(0),i=t._splomAxes[n];e in i||(i[e]=(r||{}).label||\\\"\\\")}}function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t,e,r,f){function h(r,a){return n.coerce(t,e,i,r,a)}var p=function(t,e){var r=t.dimensions;if(!Array.isArray(r))return 0;var a,o,s,l=r.length,c=0,u=e.dimensions=new Array(l);function f(t,e){return n.coerce(a,o,i.dimensions,t,e)}for(s=0;s<l;s++){a=r[s],o=u[s]={},f(\\\"label\\\");var h=f(\\\"visible\\\");if(h){var p=f(\\\"values\\\");p&&p.length?(c=Math.max(c,p.length),o._index=s):o.visible=!1}}for(s=0;s<l;s++)(o=u[s]).visible&&(o._length=c);return e._length=c,u.length}(t,e),d=h(\\\"diagonal.visible\\\"),g=h(\\\"showupperhalf\\\"),m=h(\\\"showlowerhalf\\\");if(p&&(d||g||m)){h(\\\"text\\\"),o(t,e,r,f,h);var v=s.test(e.marker.symbol),y=a.isBubble(e);h(\\\"marker.line.width\\\",v||y?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,f=e.showupperhalf,h=e.showlowerhalf,p=e.diagonal.visible,d=p||f&&h?s:s-1,g=n(\\\"xaxes\\\",l(\\\"x\\\",d)),m=n(\\\"yaxes\\\",l(\\\"y\\\",d));e._xaxes=u(g),e._yaxes=u(m);var v=Math.min(d,g.length,m.length);for(i=0;i<v;i++)for(a=0;a<v;a++){var y=[g[i]+m[a]];i>a&&f?r._splomSubplots[y]=1:i<a&&h?r._splomSubplots[y]=1:i!==a||!p&&h&&f||(r._splomSubplots[y]=1)}var x=e._diag=new Array(s),b=p||h?0:-1,_=p||f?0:-1;for(i=0;i<s;i++){var w=o[i],k=g[i+b],M=m[i+_];c(r,k,w),c(r,M,w),x[i]=[k,M]}}(0,e,f,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"./attributes\\\":1002}],1005:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-splom\\\"),i=t(\\\"array-range\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../components/grid\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/cartesian/axis_ids\\\"),c=t(\\\"../scatter/subtypes\\\"),u=t(\\\"../scatter/calc\\\").calcMarkerSize,f=t(\\\"../scatter/calc\\\").calcAxisExpansion,h=t(\\\"../scatter/colorscale_calc\\\"),p=t(\\\"../scattergl/convert\\\").convertMarkerSelection,d=t(\\\"../scattergl/convert\\\").convertMarkerStyle,g=t(\\\"../scattergl\\\").calcHover,m=t(\\\"../../constants/numerical\\\").BADNUM,v=t(\\\"../scattergl/constants\\\").TOO_MANY_POINTS;function y(t,e,r){for(var n=t.makeCalcdata({v:r.values,vcalendar:e.calendar},\\\"v\\\"),i=0;i<n.length;i++)n[i]=n[i]===m?NaN:n[i];return n}function x(t,e){var r,i,a,o,s,c=t._fullLayout,u=c._size,f=e.trace,h=e.t,p=h._scene,d=p.matrixOptions,g=d.cdata,m=c._glcanvas.data()[0].regl,v=c.dragmode;if(0!==g.length){d.lower=f.showupperhalf,d.upper=f.showlowerhalf,d.diagonal=f.diagonal.visible;var y=f.dimensions,x=g.length,b={};for(b.ranges=new Array(x),b.domains=new Array(x),a=0,s=0;a<y.length;a++)if(f.dimensions[a].visible){var _=b.ranges[s]=new Array(4),w=b.domains[s]=new Array(4);(r=l.getFromId(t,f._diag[a][0]))&&(_[0]=r._rl[0],_[2]=r._rl[1],w[0]=r.domain[0],w[2]=r.domain[1]),(i=l.getFromId(t,f._diag[a][1]))&&(_[1]=i._rl[0],_[3]=i._rl[1],w[1]=i.domain[0],w[3]=i.domain[1]),s++}b.viewport=[u.l,u.b,u.w+u.l,u.h+u.b],!0===p.matrix&&(p.matrix=n(m));var k=\\\"lasso\\\"===v||\\\"select\\\"===v||!!f.selectedpoints;if(p.selectBatch=null,p.unselectBatch=null,k){var M=f._length;if(p.selectBatch||(p.selectBatch=[],p.unselectBatch=[]),f.selectedpoints){p.selectBatch=f.selectedpoints;var A=f.selectedpoints,T={};for(a=0;a<A.length;a++)T[A[a]]=!0;var S=[];for(a=0;a<M;a++)T[a]||S.push(a);p.unselectBatch=S}var C=h.xpx=new Array(x),E=h.ypx=new Array(x);for(a=0,s=0;a<y.length;a++)if(f.dimensions[a].visible){if(r=l.getFromId(t,f._diag[a][0]))for(C[s]=new Array(M),o=0;o<M;o++)C[s][o]=r.c2p(g[s][o]);if(i=l.getFromId(t,f._diag[a][1]))for(E[s]=new Array(M),o=0;o<M;o++)E[s][o]=i.c2p(g[s][o]);s++}p.selectBatch?(p.matrix.update(d,d),p.matrix.update(p.unselectedOptions,p.selectedOptions),p.matrix.update(b,b)):p.matrix.update(b,null)}else p.matrix.update(d),p.matrix.update(b),h.xpx=h.ypx=null;p.draw()}}function b(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],i=t.dimensions,a=0,o=0;a<i.length;a++)if(i[a].visible){if(t._diag[a][n]===r)return o;o++}return!1}e.exports={moduleType:\\\"trace\\\",name:\\\"splom\\\",basePlotModule:t(\\\"./base_plot\\\"),categories:[\\\"gl\\\",\\\"regl\\\",\\\"cartesian\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),calc:function(t,e){var r,n,i,a=e.dimensions,o=e._length,c={},g={},m=g.cdata=[],x=g.data=[];for(r=0;r<a.length;r++)if((i=a[r]).visible){var b=e._diag[r][0]||e._diag[r][1],_=l.getFromId(t,b);if(_){var w=y(_,e,i),k=\\\"log\\\"===_.type?s.simpleMap(w,_.c2l):w;m.push(w),x.push(k)}}h(e),s.extendFlat(g,d(e));var M=m.length*o>v;for(r=0,n=0;r<a.length;r++)if((i=a[r]).visible){var A,T=l.getFromId(t,e._diag[r][0])||{},S=l.getFromId(t,e._diag[r][1])||{};A=M?2*(g.sizeAvg||Math.max(g.size,3)):u(e,o),f(t,e,T,S,m[n],m[n],A),n++}var C=c._scene=function(t,e){var r=e._scene,n={dirty:!0};return r||((r=e._scene=s.extendFlat({},n,{selectBatch:null,unselectBatch:null,matrix:!1,select:null})).draw=function(){r.matrix&&r.selectBatch?r.matrix.draw(r.unselectBatch,r.selectBatch):r.matrix&&r.matrix.draw(),r.dirty=!1},r.destroy=function(){r.matrix&&r.matrix.destroy(),r.matrixOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||s.extendFlat(r,n),r}(0,c);return C.matrix||(C.matrix=!0),C.matrixOptions=g,C.selectedOptions=p(e,e.selected),C.unselectedOptions=p(e,e.unselected),[{x:!1,y:!1,t:c,trace:e}]},plot:function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)x(t,r[n][0])},hoverPoints:function(t,e,r){var n=t.cd,i=n[0].trace,a=n[0].t._scene.matrixOptions.cdata,o=t.xa,s=t.ya,l=o.c2p(e),c=s.c2p(r),u=t.distance,f=b(i,o),h=b(i,s);if(!1===f||!1===h)return[t];for(var p,d,m=a[f],v=a[h],y=u,x=0;x<m.length;x++){var _=m[x],w=v[x],k=o.c2p(_)-l,M=s.c2p(w)-c,A=Math.sqrt(k*k+M*M);A<y&&(y=d=A,p=x)}return t.index=p,t.distance=y,t.dxy=d,void 0===p?[t]:(g(t,m,v,i),[t])},selectPoints:function(t,e){var r,n=t.cd,a=n[0].trace,o=n[0].t,s=o._scene,l=s.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!s)return h;var p=!c.hasMarkers(a)&&!c.hasText(a);if(!0!==a.visible||p)return h;var d=b(a,u),g=b(a,f);if(!1===d||!1===g)return h;var m=o.xpx[d],v=o.ypx[g],y=l[d],x=l[g],_=null,w=null;if(!1===e||e.degenerate)w=i(o.count);else for(_=[],w=[],r=0;r<y.length;r++)e.contains([m[r],v[r]])?(_.push(r),h.push({pointNumber:r,x:y[r],y:x[r]})):w.push(r);if(s.selectBatch||(s.selectBatch=[],s.unselectBatch=[]),!s.selectBatch){for(r=0;r<s.count;r++)s.selectBatch=[],s.unselectBatch=[];s.matrix.update(s.unselectedOptions,s.selectedOptions)}return s.selectBatch=_,s.unselectBatch=w,h},style:function(t,e){if(e){var r=t._fullLayout;e[0][0].t._scene.matrix.regl.clear({color:!0,depth:!0}),r._splomGrid&&r._splomGrid.draw();for(var n=0;n<e.length;n++)e[n][0].t._scene.draw();if(r._has(\\\"cartesian\\\"))for(var i in r._plots){var a=r._plots[i];a._scene&&a._scene.draw()}}},meta:{}},a.register(o)},{\\\"../../components/grid\\\":520,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../scatter/calc\\\":927,\\\"../scatter/colorscale_calc\\\":931,\\\"../scatter/subtypes\\\":948,\\\"../scattergl\\\":977,\\\"../scattergl/constants\\\":974,\\\"../scattergl/convert\\\":975,\\\"./attributes\\\":1002,\\\"./base_plot\\\":1003,\\\"./defaults\\\":1004,\\\"array-range\\\":51,\\\"regl-splom\\\":378}],1006:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),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},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({z:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},surfacecolor:{valType:\\\"data_array\\\"},cauto:i.zauto,cmin:i.zmin,cmax:i.zmax,colorscale:i.colorscale,autocolorscale:s({},i.autocolorscale,{dflt:!1}),reversescale:i.reversescale,showscale:i.showscale,colorbar:a,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},_deprecated:{zauto:s({},i.zauto,{}),zmin:s({},i.zmin,{}),zmax:s({},i.zmax,{})},hoverinfo:s({},o.hoverinfo)},\\\"calc\\\",\\\"nested\\\");u.x.editType=u.y.editType=u.z.editType=\\\"calc+clearAxisTypes\\\"},{\\\"../../components/color\\\":474,\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645}],1007:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\\\"\\\",\\\"c\\\"):n(e,e.z,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":481}],1008:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,c=r.cmin,u=r.cmax,f=r.surfacecolor||r.z;if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),p=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(p).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],1009:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-surface3d\\\"),i=t(\\\"ndarray\\\"),a=t(\\\"ndarray-homography\\\"),o=t(\\\"ndarray-fill\\\"),s=t(\\\"ndarray-ops\\\"),l=t(\\\"tinycolor2\\\"),c=t(\\\"../../lib\\\").isArrayOrTypedArray,u=t(\\\"../../lib/str2rgbarray\\\"),f=128;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var p=h.prototype;function d(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=i(new Float32Array(r[0]*r[1]),r);return s.assign(n.lo(1,1).hi(e[0],e[1]),t),s.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),s.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),s.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),s.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}p.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];c(this.data.x)?c(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],c(this.data.y)?c(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=e[1],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\\\"\\\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},p.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},p.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,s=this.surface,h=t.opacity,p=function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=l(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,h),g=t.z,m=t.x,v=t.y,y=n.xaxis,x=n.yaxis,b=n.zaxis,_=r.dataScale,w=g[0].length,k=t._ylength,M=[i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k])],A=M[0],T=M[1],S=r.contourLevels;this.data=t;var C=t.xcalendar,E=t.ycalendar,L=t.zcalendar;o(M[2],function(t,e){return b.d2l(g[e][t],0,L)*_[2]}),c(m)?c(m[0])?o(A,function(t,e){return y.d2l(m[e][t],0,C)*_[0]}):o(A,function(t){return y.d2l(m[t],0,C)*_[0]}):o(A,function(t){return y.d2l(t,0,C)*_[0]}),c(m)?c(v[0])?o(T,function(t,e){return x.d2l(v[e][t],0,E)*_[1]}):o(T,function(t,e){return x.d2l(v[e],0,E)*_[1]}):o(T,function(t,e){return x.d2l(e,0,C)*_[1]});var z={colormap:p,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],opacity:t.opacity};if(z.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var P=i(new Float32Array(w*k),[w,k]);o(P,function(e,r){return t.surfacecolor[r][e]}),M.push(P)}else z.intensityBounds[0]*=_[2],z.intensityBounds[1]*=_[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<f){for(var r=f/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],o=n[0]*n[1],s=0;s<t.length;++s){var l=d(t[s]),c=i(new Float32Array(o),n);a(c,l,[r,0,0,0,r,0,0,0,1]),t[s]=c}return r}return 1}(M),t.surfacecolor&&(z.intensity=M.pop());var D=[!0,!0,!0],O=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(e=0;e<3;++e){var I=t.contours[O[e]];D[e]=I.highlight,z.showContour[e]=I.show||I.highlight,z.showContour[e]&&(z.contourProject[e]=[I.project.x,I.project.y,I.project.z],I.show?(this.showContour[e]=!0,z.levels[e]=S[e],s.highlightColor[e]=z.contourColor[e]=u(I.color),I.usecolormap?s.highlightTint[e]=z.contourTint[e]=0:s.highlightTint[e]=z.contourTint[e]=1,z.contourWidth[e]=I.width):this.showContour[e]=!1,I.highlight&&(z.dynamicColor[e]=u(I.highlightcolor),z.dynamicWidth[e]=I.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]})(p)&&(z.vertexColor=!0),z.coords=M,s.update(z),s.visible=t.visible,s.enableDynamic=D,s.snapToData=!0,\\\"lighting\\\"in t&&(s.ambientLight=t.lighting.ambient,s.diffuseLight=t.lighting.diffuse,s.specularLight=t.lighting.specular,s.roughness=t.lighting.roughness,s.fresnel=t.lighting.fresnel),\\\"lightposition\\\"in t&&(s.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),h&&h<1&&(s.supportsTransparency=!0)},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\\\"../../lib\\\":602,\\\"../../lib/str2rgbarray\\\":625,\\\"gl-surface3d\\\":274,ndarray:335,\\\"ndarray-fill\\\":325,\\\"ndarray-homography\\\":327,\\\"ndarray-ops\\\":329,tinycolor2:415}],1010:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function f(r,n){return i.coerce(t,e,o,r,n)}var h=f(\\\"z\\\");if(h){var p=f(\\\"x\\\");f(\\\"y\\\"),e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?h.length:h[0].length,e._ylength=h.length,n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],l),f(\\\"text\\\"),[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"hidesurface\\\",\\\"opacity\\\"].forEach(function(t){f(t)});var d=f(\\\"surfacecolor\\\");f(\\\"colorscale\\\");var g=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(c=0;c<3;++c){var m=\\\"contours.\\\"+g[c],v=f(m+\\\".show\\\"),y=f(m+\\\".highlight\\\");if(v||y)for(u=0;u<3;++u)f(m+\\\".project.\\\"+g[u]);v&&(f(m+\\\".color\\\"),f(m+\\\".width\\\"),f(m+\\\".usecolormap\\\")),y&&(f(m+\\\".highlightcolor\\\"),f(m+\\\".highlightwidth\\\"))}d||(s(t,\\\"zmin\\\",\\\"cmin\\\"),s(t,\\\"zmax\\\",\\\"cmax\\\"),s(t,\\\"zauto\\\",\\\"cauto\\\")),a(t,e,l,f,{prefix:\\\"\\\",cLetter:\\\"c\\\"}),e._length=null}else e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":1006}],1011:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"surface\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"2dMap\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":690,\\\"./attributes\\\":1006,\\\"./calc\\\":1007,\\\"./colorbar\\\":1008,\\\"./convert\\\":1009,\\\"./defaults\\\":1010}],1012:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/annotations/attributes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat,a=t(\\\"../../plot_api/edit_types\\\").overrideAll,o=t(\\\"../../plots/font_attributes\\\"),s=t(\\\"../../plots/domain\\\").attributes;e.exports=a({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:i({},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:i({},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:i({},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:i({},o({arrayOk:!0}))}},\\\"calc\\\",\\\"from-root\\\")},{\\\"../../components/annotations/attributes\\\":457,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],1013:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/get_data\\\").getModuleCalcData,i=t(\\\"./plot\\\");r.name=\\\"table\\\",r.plot=function(t){var e=n(t.calcdata,\\\"table\\\")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"table\\\"),a=e._has&&e._has(\\\"table\\\");i&&!a&&n._paperdiv.selectAll(\\\".table\\\").remove()}},{\\\"../../plots/get_data\\\":684,\\\"./plot\\\":1020}],1014:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/gup\\\").wrap;e.exports=function(){return n({})}},{\\\"../../lib/gup\\\":599}],1015:[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\\\"}}},{}],1016:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../lib/extend\\\").extendFlat,a=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,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}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 f(t,e){return Object.keys(t).map(function(r){return i({},t[r],{auxiliaryBlocks:e})})}function h(t,e){for(var r,n={},i=0,a=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}),((a+=r)>=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=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=h(b,y-_+n.uplift),k=f(h(x,_),[]),M=f(w,k),A={},T=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 a(n)?Number(n):1}),C=S.reduce(s,0);S=S.map(function(t){return t/C*v});var E=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.index,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:E,height:y,columnOrder:T,groupHeight:y,rowBlocks:M,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},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:T[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\\\":591,\\\"./constants\\\":1015,\\\"fast-isnumeric\\\":196}],1017:[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\\\":591}],1018:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../plots/domain\\\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(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,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.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\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":1012}],1019:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"table\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":1012,\\\"./base_plot\\\":1013,\\\"./calc\\\":1014,\\\"./defaults\\\":1018,\\\"./plot\\\":1020}],1020:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"d3\\\"),a=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\\\"),f=t(\\\"./data_split_helpers\\\"),h=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(a.repeat,a.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 D(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(a.repeat,a.keyFun);s.enter().append(\\\"g\\\").classed(n.cn.scrollbar,!0);var l=s.selectAll(\\\".\\\"+n.cn.scrollbarSlider).data(a.repeat,a.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(a.repeat,a.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(a.repeat,a.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=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.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(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\\\"drag\\\",S(e,t)).on(\\\"dragend\\\",function(){})),u.attr(\\\"y2\\\",function(t){return t.scrollbarState.scrollableAreaHeight})}function y(t,e,r,s){var l=function(t){var e=t.selectAll(\\\".\\\"+n.cn.columnCell).data(f.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(a.repeat,a.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,i={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=i})}(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=i.select(this);h.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),h.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\\\".\\\"+n.cn.cellRect).data(a.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(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\\\"text\\\").classed(n.cn.cellText,!0).style(\\\"cursor\\\",function(){return\\\"auto\\\"}).on(\\\"mousedown\\\",function(){i.event.stopPropagation()}),e}(function(t){var e=t.selectAll(\\\".\\\"+n.cn.cellTextHolder).data(a.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(i.select(this),t.font)})}(c),x(c,e,s,t),P(l)}function x(t,e,r,a){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,a=t.value,o=\\\"string\\\"==typeof a,s=o&&a.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u=\\\"string\\\"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,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?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(m):f),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}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=m;return h}).attr(\\\"dy\\\",function(t){return t.needsConvertToTspans?0:\\\"0.75em\\\"}).each(function(t){var o=i.select(this),l=t.wrappingNeeded?E:L;t.needsConvertToTspans?s.convertToTspans(o,a,l(r,this,e,a,t)):i.select(this.parentNode).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+z(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 k(t){return\\\"cells\\\"===t.type}function M(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 T(t,e,r){var n=m(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=D(i,i.length),s=n.calcdata.groupHeight-A(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),c=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.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 \\\"+(D(t.rowBlocks,t.page)-t.scrollY)+\\\")\\\"}),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,a){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;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var u=l.selectAll(\\\".\\\"+n.cn.yColumn).selectAll(\\\".\\\"+n.cn.columnBlock).filter(k);T(t,u,l)}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});y(t,e,a,r),i[o]=n[o]}))}function E(t,e,r){return function(){var a=i.select(e.parentNode);a.each(function(t){var e=t.fragments;a.selectAll(\\\"tspan.line\\\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,o=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+(i=(r=s.shift()).width+o)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),a.selectAll(\\\"tspan.line\\\").remove(),x(a.select(\\\".\\\"+n.cn.cellText),r,t),i.select(e.parentNode.parentNode).call(P)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll(\\\".\\\"+n.cn.columnCell).call(P),T(null,t.filter(k),0),v(r,a,!0)),s.attr(\\\"transform\\\",function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select(\\\".\\\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return\\\"translate(\\\"+z(o,i.select(this.parentNode).select(\\\".\\\"+n.cn.cellTextHolder).node().getBoundingClientRect().width)+\\\" \\\"+a+\\\")\\\"}),o.settledY=!0}}}function z(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 P(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 D(t,e){for(var r=0,n=e-1;n>=0;n--)r+=I(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 I(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._fullLayout._paper.selectAll(\\\".\\\"+n.cn.table).data(e.map(function(e){var r=a.unwrap(e).trace;return u(t,r)}),a.keyFun);r.exit().remove(),r.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\\\"),r.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 s=r.selectAll(\\\".\\\"+n.cn.tableControlView).data(a.repeat,a.keyFun);s.enter().append(\\\"g\\\").classed(n.cn.tableControlView,!0).style(\\\"box-sizing\\\",\\\"content-box\\\").on(\\\"mousemove\\\",function(e){s.filter(function(t){return e===t}).call(v,t)}).on(\\\"mousewheel\\\",function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,i.event.stopPropagation(),i.event.preventDefault(),S(t,s,null,e.scrollY+i.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(v,t,!0),s.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.size.l+\\\" \\\"+t.size.t+\\\")\\\"});var h=s.selectAll(\\\".\\\"+n.cn.scrollBackground).data(a.repeat,a.keyFun);h.enter().append(\\\"rect\\\").classed(n.cn.scrollBackground,!0).attr(\\\"fill\\\",\\\"none\\\"),h.attr(\\\"width\\\",function(t){return t.width}).attr(\\\"height\\\",function(t){return t.height}),s.each(function(e){o.setClipUrl(i.select(this),d(t,e))});var x=s.selectAll(\\\".\\\"+n.cn.yColumn).data(function(t){return t.columns},a.keyFun);x.enter().append(\\\"g\\\").classed(n.cn.yColumn,!0),x.exit().remove(),x.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\" 0)\\\"}).call(i.behavior.drag().origin(function(e){return w(i.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,v(s.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(\\\"drag\\\",function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),m(x).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)}),x.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=i.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}))})),x.each(function(e){o.setClipUrl(i.select(this),g(t,e))});var b=x.selectAll(\\\".\\\"+n.cn.columnBlock).data(f.splitToPanels,a.keyFun);b.enter().append(\\\"g\\\").classed(n.cn.columnBlock,!0).attr(\\\"id\\\",function(t){return t.key}),b.style(\\\"cursor\\\",function(t){return t.dragHandle?\\\"ew-resize\\\":t.calcdata.scrollbarState.barWiggleRoom?\\\"ns-resize\\\":\\\"default\\\"});var _=b.filter(M),A=b.filter(k);A.call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t}).on(\\\"drag\\\",S(t,s,-1)).on(\\\"dragend\\\",function(){})),y(t,s,_,b),y(t,s,A,b);var C=s.selectAll(\\\".\\\"+n.cn.scrollAreaClip).data(a.repeat,a.keyFun);C.enter().append(\\\"clipPath\\\").classed(n.cn.scrollAreaClip,!0).attr(\\\"id\\\",function(e){return d(t,e)});var E=C.selectAll(\\\".\\\"+n.cn.scrollAreaClipRect).data(a.repeat,a.keyFun);E.enter().append(\\\"rect\\\").classed(n.cn.scrollAreaClipRect,!0).attr(\\\"x\\\",-n.overdrag).attr(\\\"y\\\",-n.uplift).attr(\\\"fill\\\",\\\"none\\\"),E.attr(\\\"width\\\",function(t){return t.width+2*n.overdrag}).attr(\\\"height\\\",function(t){return t.height+n.uplift}),x.selectAll(\\\".\\\"+n.cn.columnBoundary).data(a.repeat,a.keyFun).enter().append(\\\"g\\\").classed(n.cn.columnBoundary,!0);var L=x.selectAll(\\\".\\\"+n.cn.columnBoundaryClippath).data(a.repeat,a.keyFun);L.enter().append(\\\"clipPath\\\").classed(n.cn.columnBoundaryClippath,!0),L.attr(\\\"id\\\",function(e){return g(t,e)});var z=L.selectAll(\\\".\\\"+n.cn.columnBoundaryRect).data(a.repeat,a.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)}),T(null,A,s)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"../../lib/svg_text_utils\\\":626,\\\"./constants\\\":1015,\\\"./data_preparation_helper\\\":1016,\\\"./data_split_helpers\\\":1017,d3:130}],1021:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../box/attributes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},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:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,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:\\\"plot\\\"},selected:n.selected,unselected:n.unselected,hoveron:{valType:\\\"flaglist\\\",flags:[\\\"violins\\\",\\\"points\\\",\\\"kde\\\"],dflt:\\\"violins+points+kde\\\",extras:[\\\"all\\\"],editType:\\\"style\\\"}}},{\\\"../../lib/extend\\\":591,\\\"../box/attributes\\\":755}],1022:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../box/calc\\\"),o=t(\\\"./helpers\\\"),s=t(\\\"../../constants/numerical\\\").BADNUM;function l(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a=r.d2c(i,0,t[e.valLetter+\\\"calendar\\\"]);return a===s?u[n]:a}var h={type:\\\"linear\\\",range:a=\\\"soft\\\"===o?u:\\\"hard\\\"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var s=t._fullLayout,u=i.getFromId(t,e[\\\"h\\\"===e.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]),f=s._violinScaleGroupStats,h=e.scalegroup,p=f[h];p||(p=f[h]={maxWidth:0,maxCount:0});for(var d=0;d<r.length;d++){var g=r[d],m=g.pts.map(o.extractVal),v=m.length,y=l(m,n.stdev(m,v-1,g.mean),g.q3-g.q1),x=g.bandwidth=e.bandwidth||y,b=g.span=c(e,g,u,x),_=b[1]-b[0],w=Math.ceil(_/(Math.min(y,x)/3)),k=_/w;if(!isFinite(k)||!isFinite(w))return n.error(\\\"Something went wrong with computing the violin span\\\"),r[0].t.empty=!0,r;var M=o.makeKDE(g,e,m);g.density=new Array(w);for(var A=0,T=b[0];T<b[1]+k/2;A++,T+=k){var S=M(T);p.maxWidth=Math.max(p.maxWidth,S),g.density[A]={v:S,t:T}}i.expand(u,b,{padded:!0}),p.maxCount=Math.max(p.maxCount,m.length)}return r[0].t.labels.kde=n._(t,\\\"kde:\\\"),r}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../box/calc\\\":756,\\\"./helpers\\\":1024}],1023:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../box/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l(\\\"bandwidth\\\"),l(\\\"scalegroup\\\",e.name),l(\\\"scalemode\\\"),l(\\\"side\\\");var u,f=l(\\\"span\\\");Array.isArray(f)&&(u=\\\"manual\\\"),l(\\\"spanmode\\\",u);var h=l(\\\"line.color\\\",(t.marker||{}).color||r),p=l(\\\"line.width\\\"),d=l(\\\"fillcolor\\\",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:\\\"\\\"});var g=c(\\\"box.width\\\"),m=c(\\\"box.fillcolor\\\",d),v=c(\\\"box.line.color\\\",h),y=c(\\\"box.line.width\\\",p);l(\\\"box.visible\\\",Boolean(g||m||v||y))||delete e.box;var x=c(\\\"meanline.color\\\",h),b=c(\\\"meanline.width\\\",p);l(\\\"meanline.visible\\\",Boolean(x||b))||delete e.meanline}}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../box/defaults\\\":757,\\\"./attributes\\\":1021}],1024:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;\\\"h\\\"===e.orientation?(i=\\\"y\\\",a=\\\"x\\\"):(i=\\\"x\\\",a=\\\"y\\\");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,\\\"both\\\"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{\\\"../../lib\\\":602}],1025:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../box/hover\\\"),o=t(\\\"./helpers\\\");e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,p=h.hoveron,d=-1!==p.indexOf(\\\"violins\\\"),g=-1!==p.indexOf(\\\"kde\\\"),m=[];if(d||g){var v=a.hoverOnBoxes(t,e,r,s);if(d&&(m=m.concat(v)),g&&v.length>0){var y,x,b,_,w,k=t.xa,M=t.ya;\\\"h\\\"===h.orientation?(w=e,y=\\\"y\\\",b=M,x=\\\"x\\\",_=k):(w=r,y=\\\"x\\\",b=k,x=\\\"y\\\",_=M);var A=f[t.index];if(w>=A.span[0]&&w<=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),C=o.getKdeValue(A,h,w),E=o.getPositionOnKdePath(A,h,S),L=b._offset,z=b._length;T[y+\\\"0\\\"]=E[0],T[y+\\\"1\\\"]=E[1],T[x+\\\"0\\\"]=T[x+\\\"1\\\"]=S,T[x+\\\"Label\\\"]=x+\\\": \\\"+i.hoverLabelText(_,w)+\\\", \\\"+f[0].t.labels.kde+\\\" \\\"+C.toFixed(3),T.spikeDistance=v[0].spikeDistance;var P=y+\\\"Spike\\\";T[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,m.push(T),(u={stroke:t.color})[y+\\\"1\\\"]=n.constrain(L+E[0],L,L+z),u[y+\\\"2\\\"]=n.constrain(L+E[1],L,L+z),u[x+\\\"1\\\"]=u[x+\\\"2\\\"]=_._offset+S}}}-1!==p.indexOf(\\\"points\\\")&&(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(\\\".violinline-\\\"+h.uid).data(u?[0]:[]);return D.enter().append(\\\"line\\\").classed(\\\"violinline-\\\"+h.uid,!0).attr(\\\"stroke-width\\\",1.5),D.exit().remove(),D.attr(u),\\\"closest\\\"===s?c?[c]:m:c?(m.push(c),m):m}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../box/hover\\\":758,\\\"./helpers\\\":1024}],1026:[function(t,e,r){\\\"use strict\\\";e.exports={attributes:t(\\\"./attributes\\\"),layoutAttributes:t(\\\"./layout_attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),supplyLayoutDefaults:t(\\\"./layout_defaults\\\"),calc:t(\\\"./calc\\\"),setPositions:t(\\\"./set_positions\\\"),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\\\",\\\"draggedPts\\\",\\\"violinLayout\\\"],meta:{}}},{\\\"../../plots/cartesian\\\":659,\\\"../box/select\\\":763,\\\"../scatter/style\\\":947,\\\"./attributes\\\":1021,\\\"./calc\\\":1022,\\\"./defaults\\\":1023,\\\"./hover\\\":1025,\\\"./layout_attributes\\\":1027,\\\"./layout_defaults\\\":1028,\\\"./plot\\\":1029,\\\"./set_positions\\\":1030,\\\"./style\\\":1031}],1027:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../box/layout_attributes\\\"),i=t(\\\"../../lib\\\").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{\\\"../../lib\\\":602,\\\"../box/layout_attributes\\\":760}],1028:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\"),a=t(\\\"../box/layout_defaults\\\");e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},\\\"violin\\\")}},{\\\"../../lib\\\":602,\\\"../box/layout_defaults\\\":761,\\\"./layout_attributes\\\":1027}],1029:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=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,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:\\\"spline\\\",simplify:!0});return a.smoothopen(e[0],1)}var d=c.selectAll(\\\"g.trace.violins\\\").data(r,function(t){return t[0].trace.uid});d.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace violins\\\"),d.exit().remove(),d.order(),d.each(function(t){var r=t[0],a=r.t,s=r.trace,c=n.select(this);e.isRangePlot||(r.node3=c);var d=u._numViolins,g=\\\"group\\\"===u.violinmode&&d>1,m=1-u.violingap,v=a.bdPos=a.dPos*m*(1-u.violingroupgap)/(g?d:1),y=a.bPos=g?2*a.dPos*((a.num+.5)/d-.5)*m:0;if(a.wHover=a.dPos*(g?m/d:1),!0!==s.visible||a.empty)n.select(this).remove();else{var x=e[a.valLetter+\\\"axis\\\"],b=e[a.posLetter+\\\"axis\\\"],_=\\\"both\\\"===s.side,w=_||\\\"positive\\\"===s.side,k=_||\\\"negative\\\"===s.side,M=s.box&&s.box.visible,A=s.meanline&&s.meanline.visible,T=u._violinScaleGroupStats[s.scalegroup],S=c.selectAll(\\\"path.violin\\\").data(i.identity);if(S.enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"violin\\\"),S.exit().remove(),S.each(function(t){var e,r,i,o,l,c,u,f,h=n.select(this),d=t.density,g=d.length,m=t.pos+y,M=b.c2p(m);switch(s.scalemode){case\\\"width\\\":e=T.maxWidth/v;break;case\\\"count\\\":e=T.maxWidth/v*(T.maxCount/t.pts.length)}if(w){for(u=new Array(g),l=0;l<g;l++)(f=u[l]={})[a.posLetter]=m+d[l].v/e,f[a.valLetter]=d[l].t;r=p(u)}if(k){for(u=new Array(g),c=0,l=g-1;c<g;c++,l--)(f=u[c]={})[a.posLetter]=m-d[l].v/e,f[a.valLetter]=d[l].t;i=p(u)}if(_)o=r+\\\"L\\\"+i.substr(1)+\\\"Z\\\";else{var A=[M,x.c2p(d[0].t)],S=[M,x.c2p(d[g-1].t)];\\\"h\\\"===s.orientation&&(A.reverse(),S.reverse()),o=w?\\\"M\\\"+A+\\\"L\\\"+r.substr(1)+\\\"L\\\"+S:\\\"M\\\"+S+\\\"L\\\"+i.substr(1)+\\\"L\\\"+A}h.attr(\\\"d\\\",o),t.posCenterPx=M,t.posDensityScale=e*v,t.path=h.node(),t.pathLength=t.path.getTotalLength()/(_?2:1)}),M){var C,E,L=s.box.width,z=s.box.line.width;_?(C=v*L,E=0):w?(C=[0,v*L/2],E=-z):(C=[v*L/2,0],E=z),o.plotBoxAndWhiskers(c,{pos:b,val:x},s,{bPos:y,bdPos:C,bPosPxOffset:E}),A&&o.plotBoxMean(c,{pos:b,val:x},s,{bPos:y,bdPos:C,bPosPxOffset:E})}else if(A){var P=c.selectAll(\\\"path.mean\\\").data(i.identity);P.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}),P.exit().remove(),P.each(function(t){var e=x.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,s,e);n.select(this).attr(\\\"d\\\",\\\"h\\\"===s.orientation?\\\"M\\\"+e+\\\",\\\"+r[0]+\\\"V\\\"+r[1]:\\\"M\\\"+r[0]+\\\",\\\"+e+\\\"H\\\"+r[1])})}s.points&&o.plotPoints(c,{x:f,y:h},s,a)}})}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../box/plot\\\":762,\\\"../scatter/line_points\\\":940,\\\"./helpers\\\":1024,d3:130}],1030:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../box/set_positions\\\").setPositionOffset,i=[\\\"v\\\",\\\"h\\\"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c=\\\"h\\\"===l?o:a,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\\\"violin\\\"!==m.type||g.empty||m.orientation!==l||m.xaxis!==a._id||m.yaxis!==o._id||(u.push(p),!1!==m.points&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}n(\\\"violin\\\",t,u,c,[f,h])}}},{\\\"../box/set_positions\\\":764}],1031:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../scatter/style\\\").stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.violins\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.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(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",l.width+\\\"px\\\").call(i.stroke,l.color).call(i.fill,s.fillcolor),o.selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":u+\\\"px\\\",\\\"stroke-dasharray\\\":2*u+\\\"px,\\\"+u+\\\"px\\\"}).call(i.stroke,c.color),a(o,r,t)})}},{\\\"../../components/color\\\":474,\\\"../scatter/style\\\":947,d3:130}],1032:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plots/cartesian/axes\\\"),i=t(\\\"../lib\\\"),a=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\\\"],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,a){if(a.enabled){for(var o=a.target,l=i.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 f;case\\\"first\\\":return h;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\\\"median\\\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return i((r[Math.floor(l)]+r[Math.ceil(l)])/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 i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h=\\\"sample\\\"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,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\\\"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(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 i.coerce(t,n,l,e,r)}if(!o(\\\"enabled\\\"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o(\\\"groups\\\");if(!Array.isArray(f)){if(!u[f])return void(n.enabled=!1);u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_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]=h):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,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],g=o(e.transforms,r),m=a.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=g(s)):(d[c].push(s),p[h[l]]=(p[h[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\\\":579,\\\"../lib\\\":602,\\\"../plot_api/plot_schema\\\":639,\\\"../plots/cartesian/axes\\\":648,\\\"./helpers\\\":1035}],1033:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../registry\\\"),a=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 a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a(\\\"enabled\\\")){a(\\\"preservegaps\\\"),a(\\\"operation\\\"),a(\\\"value\\\"),a(\\\"target\\\");var o=i.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\");o(t,e,\\\"valuecalendar\\\",null),o(t,e,\\\"targetcalendar\\\",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if(\\\"string\\\"==typeof s){var g=n.nestedProperty(e,s+\\\"calendar\\\").get();g&&(h=g)}var m,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case\\\"=\\\":return function(t){return h(t)===s};case\\\"!=\\\":return function(t){return h(t)!==s};case\\\"<\\\":return function(t){return h(t)<s};case\\\"<=\\\":return function(t){return h(t)<=s};case\\\">\\\":return function(t){return h(t)>s};case\\\">=\\\":return function(t){return h(t)>=s};case\\\"[]\\\":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case\\\"()\\\":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case\\\"[)\\\":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case\\\"(]\\\":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case\\\"][\\\":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case\\\")(\\\":return function(t){var e=h(t);return e<s[0]||e>s[1]};case\\\"](\\\":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case\\\")[\\\":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case\\\"{}\\\":return function(t){return-1!==s.indexOf(h(t))};case\\\"}{\\\":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},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)}),M(m);for(var w=o(e.transforms,r),k=0;k<f;k++){y(i[k])?(M(v,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function M(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{\\\"../constants/filter_ops\\\":575,\\\"../lib\\\":602,\\\"../plots/cartesian/axes\\\":648,\\\"../registry\\\":732,\\\"./helpers\\\":1035}],1034:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plot_api/plot_schema\\\"),a=t(\\\"../plots/plots\\\"),o=t(\\\"./helpers\\\").pointsAccessorFunction;function s(t,e){var r,s,c,u,f,h,p,d,g,m,v=e.transform,y=e.transformIndex,x=t.transforms[y].groups,b=o(t.transforms,v);if(!Array.isArray(x)||0===x.length)return[t];var _=n.filterUnique(x),w=new Array(_.length),k=x.length,M=i.findArrayAttributes(t),A=v.styles||[],T={};for(r=0;r<A.length;r++)T[A[r].target]=A[r].value;v.styles&&(m=n.keyedContainer(v,\\\"styles\\\",\\\"target\\\",\\\"value.name\\\"));var S={},C={};for(r=0;r<_.length;r++){S[h=_[r]]=r,C[h]=0,(p=w[r]=n.extendDeepNoArrays({},t))._group=h,p.updateStyle=l(h,y),p.transforms[y]._indexToPoints={};var E=null;for(m&&(E=m.get(h)),p.name=E||\\\"\\\"===E?E:n.templateString(v.nameformat,{trace:t.name,group:h}),d=p.transforms,p.transforms=[],s=0;s<d.length;s++)p.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s<M.length;s++)n.nestedProperty(p,M[s]).set([])}for(c=0;c<M.length;c++){for(u=M[c],s=0,g=[];s<_.length;s++)g[s]=n.nestedProperty(w[s],u).get();for(f=n.nestedProperty(t,u).get(),s=0;s<k;s++)g[S[x[s]]].push(f[s])}for(s=0;s<k;s++){(p=w[S[x[s]]]).transforms[y]._indexToPoints[C[x[s]]]=b(s),C[x[s]]++}for(r=0;r<_.length;r++)h=_[r],p=w[r],a.clearExpandedTraceDefaultColors(p),p=n.extendDeepNoArrays(p,T[h]||{});return w}function l(t,e){return function(r,i,a){n.keyedContainer(r,\\\"transforms[\\\"+e+\\\"].styles\\\",\\\"target\\\",\\\"value.\\\"+i).set(String(t),a)}}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,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s(\\\"enabled\\\"))return o;s(\\\"groups\\\"),s(\\\"nameformat\\\",i._dataLength>1?\\\"%{group} (%{trace})\\\":\\\"%{group}\\\");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,\\\"target\\\");var f=n.coerce(l[a],c[a],r.attributes.styles,\\\"value\\\");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{\\\"../lib\\\":602,\\\"../plot_api/plot_schema\\\":639,\\\"../plots/plots\\\":710,\\\"./helpers\\\":1035}],1035:[function(t,e,r){\\\"use strict\\\";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1036:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plots/cartesian/axes\\\"),a=t(\\\"./helpers\\\").pointsAccessorFunction;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 i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i(\\\"enabled\\\")&&(i(\\\"target\\\"),i(\\\"order\\\")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,f=e._arrayAttrs,h=function(t,e,r,n){var i,a=new Array(n),o=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case\\\"ascending\\\":return function(t,r){return e(t.v)-e(r.v)};case\\\"descending\\\":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),i=0;i<n;i++)o[i]=a[i].i;return o}(r,o,i.getDataToCoordFunc(t,e,s,o),l),p=a(e.transforms,r),d={};for(c=0;c<f.length;c++){var g=n.nestedProperty(e,f[c]),m=g.get(),v=new Array(l);for(u=0;u<l;u++)v[u]=m[h[u]];g.set(v)}for(u=0;u<l;u++)d[u]=p(h[u]);r._indexToPoints=d,e._length=l}}}},{\\\"../lib\\\":602,\\\"../plots/cartesian/axes\\\":648,\\\"./helpers\\\":1035}]},{},[20])(20)});\\n\",\n       \"});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>\"\n      ],\n      \"text/vnd.plotly.v1+html\": [\n       \"<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\\n\",\n       \"* plotly.js v1.37.1\\n\",\n       \"* Copyright 2012-2018, Plotly, Inc.\\n\",\n       \"* All rights reserved.\\n\",\n       \"* Licensed under the MIT license\\n\",\n       \"*/\\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(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\\\"function\\\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(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){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\\\"function\\\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}}()({1:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../src/lib\\\"),i={\\\"X,X div\\\":\\\"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 .modebar\\\":\\\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\\\",\\\"X .modebar--hover\\\":\\\"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\\\":\\\"opacity:1;\\\",\\\"X .modebar-group\\\":\\\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\\\",\\\"X .modebar-group:first-child\\\":\\\"margin-left:0px;\\\",\\\"X .modebar-btn\\\":\\\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\\\",\\\"X .modebar-btn svg\\\":\\\"position:relative;top:2px;\\\",\\\"X .modebar-btn path\\\":\\\"fill:rgba(0,31,95,0.3);\\\",\\\"X .modebar-btn.active path,X .modebar-btn:hover path\\\":\\\"fill:rgba(0,22,72,0.5);\\\",\\\"X .modebar-btn.modebar-btn--logo\\\":\\\"padding:3px 1px;\\\",\\\"X .modebar-btn.modebar-btn--logo path\\\":\\\"fill:#447adb !important;\\\",\\\"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 .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';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 a in i){var o=a.replace(/^,/,\\\" ,\\\").replace(/X/g,\\\".js-plotly-plot .plotly\\\").replace(/Y/g,\\\".plotly-notifier\\\");n.addStyleRule(o,i[a])}},{\\\"../src/lib\\\":602}],2:[function(t,e,r){\\\"use strict\\\";e.exports={undo:{width:857.1,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\\\",ascent:850,descent:-150},home:{width:928.6,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\\\",ascent:850,descent:-150},\\\"camera-retro\\\":{width: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\\\",ascent:850,descent:-150},zoombox:{width: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\\\",ascent:850,descent:-150},pan:{width: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\\\",ascent:850,descent:-150},zoom_plus:{width: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\\\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\\\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\\\",ascent:850,descent:-150},autoscale:{width: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\\\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\\\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\\\",ascent:850,descent:-150},tooltip_compare:{width:1125,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\\\",ascent:850,descent:-150},plotlylogo:{width:1542,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\\\",ascent:850,descent:-150},\\\"z-axis\\\":{width: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\\\",ascent:850,descent:-150},\\\"3d_rotate\\\":{width: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\\\",ascent:850,descent:-150},camera:{width: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\\\",ascent:850,descent:-150},movie:{width: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\\\",ascent:850,descent:-150},question:{width:857.1,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\\\",ascent:850,descent:-150},disk:{width:857.1,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\\\",ascent:850,descent:-150},lasso:{width:1031,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\\\",ascent:850,descent:-150},selectbox:{width: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\\\",ascent:850,descent:-150},spikeline:{width: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\\\",ascent:850,descent:-150}}},{}],3:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/aggregate\\\")},{\\\"../src/transforms/aggregate\\\":1032}],4:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/bar\\\")},{\\\"../src/traces/bar\\\":746}],5:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/box\\\")},{\\\"../src/traces/box\\\":759}],6:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/components/calendars\\\")},{\\\"../src/components/calendars\\\":472}],7:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/candlestick\\\")},{\\\"../src/traces/candlestick\\\":769}],8:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/carpet\\\")},{\\\"../src/traces/carpet\\\":788}],9:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/choropleth\\\")},{\\\"../src/traces/choropleth\\\":802}],10:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contour\\\")},{\\\"../src/traces/contour\\\":820}],11:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/contourcarpet\\\")},{\\\"../src/traces/contourcarpet\\\":831}],12:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/core\\\")},{\\\"../src/core\\\":582}],13:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/filter\\\")},{\\\"../src/transforms/filter\\\":1033}],14:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/groupby\\\")},{\\\"../src/transforms/groupby\\\":1034}],15:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmap\\\")},{\\\"../src/traces/heatmap\\\":843}],16:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/heatmapgl\\\")},{\\\"../src/traces/heatmapgl\\\":853}],17:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram\\\")},{\\\"../src/traces/histogram\\\":864}],18:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2d\\\")},{\\\"../src/traces/histogram2d\\\":870}],19:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/histogram2dcontour\\\")},{\\\"../src/traces/histogram2dcontour\\\":874}],20:[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(\\\"./pie\\\"),t(\\\"./contour\\\"),t(\\\"./scatterternary\\\"),t(\\\"./violin\\\"),t(\\\"./scatter3d\\\"),t(\\\"./surface\\\"),t(\\\"./mesh3d\\\"),t(\\\"./scattergeo\\\"),t(\\\"./choropleth\\\"),t(\\\"./scattergl\\\"),t(\\\"./splom\\\"),t(\\\"./pointcloud\\\"),t(\\\"./heatmapgl\\\"),t(\\\"./parcoords\\\"),t(\\\"./scattermapbox\\\"),t(\\\"./sankey\\\"),t(\\\"./table\\\"),t(\\\"./carpet\\\"),t(\\\"./scattercarpet\\\"),t(\\\"./contourcarpet\\\"),t(\\\"./ohlc\\\"),t(\\\"./candlestick\\\"),t(\\\"./scatterpolar\\\"),t(\\\"./scatterpolargl\\\")]),n.register([t(\\\"./aggregate\\\"),t(\\\"./filter\\\"),t(\\\"./groupby\\\"),t(\\\"./sort\\\")]),n.register([t(\\\"./calendars\\\")]),e.exports=n},{\\\"./aggregate\\\":3,\\\"./bar\\\":4,\\\"./box\\\":5,\\\"./calendars\\\":6,\\\"./candlestick\\\":7,\\\"./carpet\\\":8,\\\"./choropleth\\\":9,\\\"./contour\\\":10,\\\"./contourcarpet\\\":11,\\\"./core\\\":12,\\\"./filter\\\":13,\\\"./groupby\\\":14,\\\"./heatmap\\\":15,\\\"./heatmapgl\\\":16,\\\"./histogram\\\":17,\\\"./histogram2d\\\":18,\\\"./histogram2dcontour\\\":19,\\\"./mesh3d\\\":21,\\\"./ohlc\\\":22,\\\"./parcoords\\\":23,\\\"./pie\\\":24,\\\"./pointcloud\\\":25,\\\"./sankey\\\":26,\\\"./scatter3d\\\":27,\\\"./scattercarpet\\\":28,\\\"./scattergeo\\\":29,\\\"./scattergl\\\":30,\\\"./scattermapbox\\\":31,\\\"./scatterpolar\\\":32,\\\"./scatterpolargl\\\":33,\\\"./scatterternary\\\":34,\\\"./sort\\\":35,\\\"./splom\\\":36,\\\"./surface\\\":37,\\\"./table\\\":38,\\\"./violin\\\":39}],21:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/mesh3d\\\")},{\\\"../src/traces/mesh3d\\\":880}],22:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/ohlc\\\")},{\\\"../src/traces/ohlc\\\":885}],23:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/parcoords\\\")},{\\\"../src/traces/parcoords\\\":897}],24:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pie\\\")},{\\\"../src/traces/pie\\\":907}],25:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/pointcloud\\\")},{\\\"../src/traces/pointcloud\\\":916}],26:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/sankey\\\")},{\\\"../src/traces/sankey\\\":922}],27:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatter3d\\\")},{\\\"../src/traces/scatter3d\\\":956}],28:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattercarpet\\\")},{\\\"../src/traces/scattercarpet\\\":962}],29:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergeo\\\")},{\\\"../src/traces/scattergeo\\\":969}],30:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattergl\\\")},{\\\"../src/traces/scattergl\\\":977}],31:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scattermapbox\\\")},{\\\"../src/traces/scattermapbox\\\":983}],32:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterpolar\\\")},{\\\"../src/traces/scatterpolar\\\":990}],33:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterpolargl\\\")},{\\\"../src/traces/scatterpolargl\\\":994}],34:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/scatterternary\\\")},{\\\"../src/traces/scatterternary\\\":1e3}],35:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/transforms/sort\\\")},{\\\"../src/transforms/sort\\\":1036}],36:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/splom\\\")},{\\\"../src/traces/splom\\\":1005}],37:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/surface\\\")},{\\\"../src/traces/surface\\\":1011}],38:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/table\\\")},{\\\"../src/traces/table\\\":1019}],39:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"../src/traces/violin\\\")},{\\\"../src/traces/violin\\\":1026}],40:[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=i({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],f=0,h=t.clientWidth,p=t.clientHeight,d={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,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=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)}};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){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,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 f},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});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=1/t.clientHeight,s=o*(r-g),l=o*(i-m),u=d.flipX?1:-1,h=d.flipY?1:-1,p=Math.PI*d.rotateSpeed,y=n();if(1&e)a.shift?c.rotate(y,0,0,-s*p):c.rotate(y,u*p*s,-h*p*l,0);else if(2&e)c.pan(y,-d.translateSpeed*s*f,d.translateSpeed*l*f,0);else if(4&e){var x=d.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}g=r,m=i,v=a}return a(t,y),t.addEventListener(\\\"touchstart\\\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(e){s(e.changedTouches[0],t),y(0,g,m,v),e.preventDefault()},!!l&&{passive:!1}),o(t,function(t,e,r){var i=d.flipX?1:-1,a=d.flipY?1:-1,o=n();if(Math.abs(t)>Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),d};var n=t(\\\"right-now\\\"),i=t(\\\"3d-view\\\"),a=t(\\\"mouse-change\\\"),o=t(\\\"mouse-wheel\\\"),s=t(\\\"mouse-event-offset\\\"),l=t(\\\"has-passive-events\\\")},{\\\"3d-view\\\":41,\\\"has-passive-events\\\":297,\\\"mouse-change\\\":320,\\\"mouse-event-offset\\\":321,\\\"mouse-wheel\\\":323,\\\"right-now\\\":382}],41:[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(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t(\\\"turntable-camera-controller\\\"),i=t(\\\"orbit-camera-controller\\\"),a=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 i=\\\"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(i))}),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],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,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\\\":318,\\\"orbit-camera-controller\\\":341,\\\"turntable-camera-controller\\\":420}],42:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n){\\\"use strict\\\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function c(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function u(t){return t.y+t.dy/2}function f(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\\\"number\\\"==typeof r&&(r=t.source=s[t.source]),\\\"number\\\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,f)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var c=1;t>0;--t)p(c*=.99),d(),h(c),d();function h(t){function r(t){return u(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,f);n.y+=(i-u(n))*t}})})}function p(t){function r(t){return u(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,f);n.y+=(i-u(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),c(),t},t.relayout=function(){return c(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return\\\"M\\\"+r+\\\",\\\"+l+\\\"C\\\"+o+\\\",\\\"+l+\\\" \\\"+s+\\\",\\\"+u+\\\" \\\"+i+\\\",\\\"+u+\\\"L\\\"+i+\\\",\\\"+f+\\\"C\\\"+s+\\\",\\\"+f+\\\" \\\"+o+\\\",\\\"+c+\\\" \\\"+r+\\\",\\\"+c+\\\"Z\\\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})},\\\"object\\\"==typeof r&&void 0!==e?i(r,t(\\\"d3-array\\\"),t(\\\"d3-collection\\\"),t(\\\"d3-interpolate\\\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{\\\"d3-array\\\":122,\\\"d3-collection\\\":123,\\\"d3-interpolate\\\":127}],43:[function(t,e,r){\\\"use strict\\\";var n=\\\"undefined\\\"==typeof WeakMap?t(\\\"weak-map\\\"):WeakMap,i=t(\\\"gl-buffer\\\"),a=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=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(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\\\":210,\\\"gl-vao\\\":279,\\\"weak-map\\\":432}],44:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\\\"a\\\":t[6]+=n,t[7]+=i;break;case\\\"v\\\":t[1]+=i;break;case\\\"h\\\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\\\"Z\\\":n=e,i=r;break;case\\\"H\\\":n=t[1];break;case\\\"V\\\":i=t[1];break;case\\\"M\\\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],45:[function(t,e,r){var n=t(\\\"pad-left\\\");e.exports=function(t,e,r){e=\\\"number\\\"==typeof e?e:1,r=r||\\\": \\\";var i=t.split(/\\\\r?\\\\n/),a=String(i.length+e-1).length;return i.map(function(t,i){var o=i+e,s=String(o).length,l=n(o,a-s);return l+r+t}).join(\\\"\\\\n\\\")}},{\\\"pad-left\\\":342}],46:[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]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t(\\\"robust-orientation\\\");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{\\\"robust-orientation\\\":388}],47:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1})};var n=t(\\\"delaunay-triangulate\\\"),i=t(\\\"circumradius\\\")},{circumradius:94,\\\"delaunay-triangulate\\\":132}],48:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(\\\"alpha-complex\\\"),i=t(\\\"simplicial-complex-boundary\\\")},{\\\"alpha-complex\\\":47,\\\"simplicial-complex-boundary\\\":395}],49:[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 i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],50:[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 i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{\\\"array-bounds\\\":49}],51:[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 i=(e|=0)-(t|=0);if(i<0)throw new Error(\\\"array length must be positive\\\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],52:[function(t,e,r){(function(r){\\\"use strict\\\";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];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 a=t(\\\"util/\\\"),o=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=\\\"foo\\\"===function(){}.name;function c(t){return Object.prototype.toString.call(t)}function u(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=v,h=/\\\\s*function\\\\s+([^\\\\(\\\\s]*)\\\\s*/;function p(t){if(a.isFunction(t)){if(l)return t.name;var e=t.toString().match(h);return e&&e[1]}}function d(t,e){return\\\"string\\\"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(l||!a.isFunction(t))return a.inspect(t);var e=p(t);return\\\"[Function\\\"+(e?\\\": \\\"+e:\\\"\\\")+\\\"]\\\"}function m(t,e,r,n,i){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function v(t,e){t||m(t,!0,e,\\\"==\\\",f.ok)}function y(t,e,r,o){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(a.isDate(t)&&a.isDate(e))return t.getTime()===e.getTime();if(a.isRegExp(t)&&a.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(u(t)&&u(e)&&c(t)===c(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(o=o||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&&l===o.expected.indexOf(e)||(o.actual.push(t),o.expected.push(e),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(a.isPrimitive(t)||a.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=x(t),o=x(e);if(i&&!o||!i&&o)return!1;if(i)return t=s.call(t),e=s.call(e),y(t,e,r);var l,c,u=w(t),f=w(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return\\\"[object Arguments]\\\"==Object.prototype.toString.call(t)}function b(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 _(t,e,r,n){var i;if(\\\"function\\\"!=typeof e)throw new TypeError('\\\"block\\\" argument must be a function');\\\"string\\\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\\\" (\\\"+r.name+\\\").\\\":\\\".\\\")+(n?\\\" \\\"+n:\\\".\\\"),t&&!i&&m(i,r,\\\"Missing expected exception\\\"+n);var o=\\\"string\\\"==typeof n,s=!t&&a.isError(i),l=!t&&i&&!r;if((s&&o&&b(i,r)||l)&&m(i,r,\\\"Got unwanted exception\\\"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;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=d(g((e=this).actual),128)+\\\" \\\"+e.operator+\\\" \\\"+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf(\\\"\\\\n\\\"+a);if(o>=0){var s=i.indexOf(\\\"\\\\n\\\",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=m,f.ok=v,f.equal=function(t,e,r){t!=e&&m(t,e,r,\\\"==\\\",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,\\\"!=\\\",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||m(t,e,r,\\\"deepEqual\\\",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||m(t,e,r,\\\"deepStrictEqual\\\",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&m(t,e,r,\\\"notDeepEqual\\\",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&m(e,r,n,\\\"notDeepStrictEqual\\\",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,\\\"===\\\",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,\\\"!==\\\",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"util/\\\":429}],53:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],54:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=e.length,a=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];a[o]=s}a[r]=new Array(r+1);for(var o=0;o<=r;++o)a[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);for(var h=new Array(r+1),o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t(\\\"robust-linear-solve\\\");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\\\"robust-linear-solve\\\":387}],55:[function(t,e,r){\\\"use strict\\\";r.byteLength=function(t){return 3*t.length/4-c(t)},r.toByteArray=function(t){var e,r,n,o,s,l=t.length;o=c(t),s=new a(3*l/4-o),r=o>0?l-4:l;var u=0;for(e=0;e<r;e+=4)n=i[t.charCodeAt(e)]<<18|i[t.charCodeAt(e+1)]<<12|i[t.charCodeAt(e+2)]<<6|i[t.charCodeAt(e+3)],s[u++]=n>>16&255,s[u++]=n>>8&255,s[u++]=255&n;2===o?(n=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,s[u++]=255&n):1===o&&(n=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,s[u++]=n>>8&255,s[u++]=255&n);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=\\\"\\\",o=[],s=0,l=r-i;s<l;s+=16383)o.push(u(t,s,s+16383>l?l:s+16383));1===i?(e=t[r-1],a+=n[e>>2],a+=n[e<<4&63],a+=\\\"==\\\"):2===i&&(e=(t[r-2]<<8)+t[r-1],a+=n[e>>10],a+=n[e>>4&63],a+=n[e<<2&63],a+=\\\"=\\\");return o.push(a),o.join(\\\"\\\")};for(var n=[],i=[],a=\\\"undefined\\\"!=typeof Uint8Array?Uint8Array:Array,o=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\\",s=0,l=o.length;s<l;++s)n[s]=o[s],i[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\\\");return\\\"=\\\"===t[e-2]?2:\\\"=\\\"===t[e-1]?1:0}function u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\\\"\\\")}i[\\\"-\\\".charCodeAt(0)]=62,i[\\\"_\\\".charCodeAt(0)]=63},{}],56:[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\\\":66}],57:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],58:[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\\\":66}],59:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is-rat\\\"),i=t(\\\"./lib/is-bn\\\"),a=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=0;var u,f;if(i(e))u=e.clone();else if(\\\"string\\\"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if(\\\"string\\\"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{\\\"./div\\\":58,\\\"./is-rat\\\":60,\\\"./lib/is-bn\\\":64,\\\"./lib/num-to-bn\\\":65,\\\"./lib/rationalize\\\":66,\\\"./lib/str-to-bn\\\":67}],60:[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\\\":64}],61:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"bn.js\\\");e.exports=function(t){return t.cmp(new n(0))}},{\\\"bn.js\\\":75}],62:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./bn-sign\\\");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{\\\"./bn-sign\\\":61}],63:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"double-bits\\\"),i=t(\\\"bit-twiddle\\\").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{\\\"bit-twiddle\\\":73,\\\"double-bits\\\":133}],64:[function(t,e,r){\\\"use strict\\\";t(\\\"bn.js\\\");e.exports=function(t){return t&&\\\"object\\\"==typeof t&&Boolean(t.words)}},{\\\"bn.js\\\":75}],65:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"bn.js\\\"),i=t(\\\"double-bits\\\");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\\\"bn.js\\\":75,\\\"double-bits\\\":133}],66:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./num-to-bn\\\"),i=t(\\\"./bn-sign\\\");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<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\\\":61,\\\"./num-to-bn\\\":65}],67:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"bn.js\\\");e.exports=function(t){return new n(t)}},{\\\"bn.js\\\":75}],68:[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\\\":66}],69:[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\\\":61}],70:[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\\\":66}],71:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/bn-to-num\\\"),i=t(\\\"./lib/ctz\\\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{\\\"./lib/bn-to-num\\\":62,\\\"./lib/ctz\\\":63}],72:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i,a){var o=[\\\"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\\\",i?\\\".get(m)\\\":\\\"[m]\\\"];return a?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(\\\"}\\\"),a?o.push(\\\"return -1};\\\"):o.push(\\\"return i};\\\"),o.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!1,i),n(\\\"B\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!0,i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!1,i),n(\\\"Q\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!0,i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],73:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[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}},{}],74:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"clamp\\\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,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?(f=(h=t).getContext(\\\"2d\\\"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.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),k=Array(s+1),M=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?i:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?i:0===A?0:Math.pow(Math.max(0,A-.5),2)}a(x,r,o,_,w,M,k),a(b,r,o,_,w,M,k);var T=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)T[d]=n(1-((x[d]-b[d])/v+m),0,1);return T};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;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]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:95}],75:[function(t,e,r){!function(e,r){\\\"use strict\\\";function n(t,e){if(!t)throw new Error(e||\\\"Assertion failed\\\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t(\\\"buffer\\\").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-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 i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\\\"object\\\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.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 i=0;\\\"-\\\"===(t=t.toString().replace(/\\\\s+/g,\\\"\\\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\\\"-\\\"===t[0]&&(this.negative=1),this.strip(),\\\"le\\\"===r&&this._initArray(this.toArray(),e,r)},a.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)},a.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 i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\\\"be\\\"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\\\"le\\\"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.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,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.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},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.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],f=[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 h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||\\\"hex\\\"===t){r=\\\"\\\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.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 h=u[t],p=f[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[h-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\\\")},a.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},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\\\"byte array longer than desired length\\\"),n(a>0,\\\"Requested array length <= 0\\\"),this.strip();var o,s,l=\\\"le\\\"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.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},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.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()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.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()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.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()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.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 i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\\\"number\\\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.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 i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.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)},a.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,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&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()},a.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=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],k=8191&w,M=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,C=0|o[6],E=8191&C,L=C>>>13,z=0|o[7],P=8191&z,D=z>>>13,O=0|o[8],I=8191&O,R=O>>>13,B=0|o[9],F=8191&B,N=B>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=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(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),i=(i=Math.imul(v,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(M,V)|0,a=Math.imul(M,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(D,V)|0,a=Math.imul(D,U),n=n+Math.imul(E,H)|0,i=(i=i+Math.imul(E,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(M,J)|0,a=a+Math.imul(M,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(I,V),i=(i=Math.imul(I,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(D,H)|0,a=a+Math.imul(D,G)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var Mt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(D,Y)|0,a=a+Math.imul(D,X)|0,n=n+Math.imul(E,J)|0,i=(i=i+Math.imul(E,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(M,rt)|0,a=a+Math.imul(M,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(D,J)|0,a=a+Math.imul(D,K)|0,n=n+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(M,at)|0,a=a+Math.imul(M,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(D,$)|0,a=a+Math.imul(D,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,a=a+Math.imul(M,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(D,rt)|0,a=a+Math.imul(D,nt)|0,n=n+Math.imul(E,at)|0,i=(i=i+Math.imul(E,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(M,ft)|0,a=a+Math.imul(M,ht)|0;var Ct=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(D,at)|0,a=a+Math.imul(D,ot)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Et=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(M,dt)|0))<<13)|0;c=((a=a+Math.imul(M,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(D,lt)|0,a=a+Math.imul(D,ct)|0,n=n+Math.imul(E,ft)|0,i=(i=i+Math.imul(E,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(D,ft)|0,a=a+Math.imul(D,ht)|0;var zt=(c+(n=n+Math.imul(E,dt)|0)|0)+((8191&(i=(i=i+Math.imul(E,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(D,dt)|0))<<13)|0;c=((a=a+Math.imul(D,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Dt=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(i=(i=i+Math.imul(I,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Ot=(c+(n=Math.imul(F,dt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>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]=kt,l[8]=Mt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Ct,l[13]=Et,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=Dt,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=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(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,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.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,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=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=f*m-h*v;v=f*v+h*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*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},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),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),d(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(\\\"number\\\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.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,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,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!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n(\\\"number\\\"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),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>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\\\"number\\\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.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 i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.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)},a.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},a.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()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\\\"mod\\\"!==e){(s=new a(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(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\\\"div\\\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\\\"mod\\\"!==e&&(i=s.div.neg()),\\\"div\\\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\\\"mod\\\"!==e&&(i=s.div.neg()),{div:i,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 a(0),mod:this}:1===t.length?\\\"div\\\"===e?{div:this.divn(t.words[0]),mod:null}:\\\"mod\\\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\\\"div\\\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\\\"mod\\\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\\\"mod\\\",!0).mod},a.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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.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 i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.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(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.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 i,o=new a(1),s=new a(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 f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >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(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\\\"number\\\"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.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 i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.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},a.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],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.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)},a.prototype.fromRed=function(){return n(this.red,\\\"fromRed works only with numbers in reduction context\\\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\\\"Already a number in reduction context\\\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\\\"redAdd works only with red numbers\\\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\\\"redIAdd works only with red numbers\\\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\\\"redSub works only with red numbers\\\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\\\"redISub works only with red numbers\\\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\\\"redShl works only with red numbers\\\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\\\"redSqr works only with red numbers\\\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\\\"redISqr works only with red numbers\\\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\\\"redSqrt works only with red numbers\\\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\\\"redInvm works only with red numbers\\\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\\\"redNeg works only with red numbers\\\"),this.red._verify1(this),this.red.neg(this)},a.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 a(e,16),this.n=this.p.bitLength(),this.k=new a(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=a._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 k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(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 a(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)},i(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 i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&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},i(x,v),i(b,v),i(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._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 a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),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(f,new a(1).iushln(d-m-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=m}return h},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 a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=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 f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},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},a.mont=function(t){return new k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{buffer:84}],76:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],77:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(i=t,i,u,!0),n;case 2:return\\\"function\\\"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\\\"box-intersect: Invalid arguments\\\")}var i};var n,i=t(\\\"typedarray-pool\\\"),a=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 i=0,a=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[i++]=c[u];n[a++]=o}}return a}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 f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}},{\\\"./lib/intersect\\\":79,\\\"./lib/sweep\\\":83,\\\"typedarray-pool\\\":423}],78:[function(t,e,r){\\\"use strict\\\";var n=\\\"d\\\",i=\\\"ax\\\",a=\\\"vv\\\",o=\\\"fp\\\",s=\\\"es\\\",l=\\\"rs\\\",c=\\\"re\\\",u=\\\"rb\\\",f=\\\"ri\\\",h=\\\"rp\\\",p=\\\"bs\\\",d=\\\"be\\\",g=\\\"bb\\\",m=\\\"bi\\\",v=\\\"bp\\\",y=\\\"rv\\\",x=\\\"Q\\\",b=[n,i,a,l,c,u,f,p,d,g,m];function _(t){var e=\\\"bruteForce\\\"+(t?\\\"Full\\\":\\\"Partial\\\"),r=[],_=b.slice();t||_.splice(3,0,o);var w=[\\\"function \\\"+e+\\\"(\\\"+_.join()+\\\"){\\\"];function k(e,o){var _=function(t,e,r){var o=\\\"bruteForce\\\"+(t?\\\"Red\\\":\\\"Blue\\\")+(e?\\\"Flip\\\":\\\"\\\")+(r?\\\"Full\\\":\\\"\\\"),_=[\\\"function \\\",o,\\\"(\\\",b.join(),\\\"){\\\",\\\"var \\\",s,\\\"=2*\\\",n,\\\";\\\"],w=\\\"for(var i=\\\"+l+\\\",\\\"+h+\\\"=\\\"+s+\\\"*\\\"+l+\\\";i<\\\"+c+\\\";++i,\\\"+h+\\\"+=\\\"+s+\\\"){var x0=\\\"+u+\\\"[\\\"+i+\\\"+\\\"+h+\\\"],x1=\\\"+u+\\\"[\\\"+i+\\\"+\\\"+h+\\\"+\\\"+n+\\\"],xi=\\\"+f+\\\"[i];\\\",k=\\\"for(var j=\\\"+p+\\\",\\\"+v+\\\"=\\\"+s+\\\"*\\\"+p+\\\";j<\\\"+d+\\\";++j,\\\"+v+\\\"+=\\\"+s+\\\"){var y0=\\\"+g+\\\"[\\\"+i+\\\"+\\\"+v+\\\"],\\\"+(r?\\\"y1=\\\"+g+\\\"[\\\"+i+\\\"+\\\"+v+\\\"+\\\"+n+\\\"],\\\":\\\"\\\")+\\\"yi=\\\"+m+\\\"[j];\\\";return t?_.push(w,x,\\\":\\\",k):_.push(k,x,\\\":\\\",w),r?_.push(\\\"if(y1<x0||x1<y0)continue;\\\"):e?_.push(\\\"if(y0<=x0||x1<y0)continue;\\\"):_.push(\\\"if(y0<x0||x1<y0)continue;\\\"),_.push(\\\"for(var k=\\\"+i+\\\"+1;k<\\\"+n+\\\";++k){var r0=\\\"+u+\\\"[k+\\\"+h+\\\"],r1=\\\"+u+\\\"[k+\\\"+n+\\\"+\\\"+h+\\\"],b0=\\\"+g+\\\"[k+\\\"+v+\\\"],b1=\\\"+g+\\\"[k+\\\"+n+\\\"+\\\"+v+\\\"];if(r1<b0||b1<r0)continue \\\"+x+\\\";}var \\\"+y+\\\"=\\\"+a+\\\"(\\\"),e?_.push(\\\"yi,xi\\\"):_.push(\\\"xi,yi\\\"),_.push(\\\");if(\\\"+y+\\\"!==void 0)return \\\"+y+\\\";}}}\\\"),{name:o,code:_.join(\\\"\\\")}}(e,o,t);r.push(_.code),w.push(\\\"return \\\"+_.name+\\\"(\\\"+b.join()+\\\");\\\")}w.push(\\\"if(\\\"+c+\\\"-\\\"+l+\\\">\\\"+d+\\\"-\\\"+p+\\\"){\\\"),t?(k(!0,!1),w.push(\\\"}else{\\\"),k(!1,!1)):(w.push(\\\"if(\\\"+o+\\\"){\\\"),k(!0,!0),w.push(\\\"}else{\\\"),k(!0,!1),w.push(\\\"}}else{if(\\\"+o+\\\"){\\\"),k(!1,!0),w.push(\\\"}else{\\\"),k(!1,!1),w.push(\\\"}\\\")),w.push(\\\"}}return \\\"+e);var M=r.join(\\\"\\\")+w.join(\\\"\\\");return new Function(M)()}r.partial=_(!1),r.full=_(!0)},{}],79:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,a,u,S,C,E,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length<a&&(n.free(w),w=n.mallocInt32(a));var o=i.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,a+C);var z,P=0,D=2*t;M(P++,0,0,a,0,C,r?16:0,-1/0,1/0),r||M(P++,0,0,C,0,a,1,-1/0,1/0);for(;P>0;){var O=(P-=1)*b,I=w[O],R=w[O+1],B=w[O+2],F=w[O+3],N=w[O+4],j=w[O+5],V=P*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=E,Z=L;if(H&&(W=E,Y=L,X=u,Z=S),!(2&j&&(B=m(t,I,R,B,W,Y,q),R>=B)||4&j&&(R=v(t,I,R,B,W,Y,U))>=B)){var J=B-R,K=N-F;if(G){if(t*J*(J+K)<p){if(void 0!==(z=l.scanComplete(t,I,e,R,B,W,Y,F,N,X,Z)))return z;continue}}else{if(t*Math.min(J,K)<f){if(void 0!==(z=o(t,I,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}if(t*J*K<h){if(void 0!==(z=l.scanBipartite(t,I,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}}var Q=d(t,I,R,B,W,Y,U,q);if(R<Q)if(t*(Q-R)<f){if(void 0!==(z=s(t,I+1,e,R,Q,W,Y,F,N,X,Z)))return z}else if(I===t-2){if(void 0!==(z=H?l.sweepBipartite(t,e,F,N,X,Z,R,Q,W,Y):l.sweepBipartite(t,e,R,Q,W,Y,F,N,X,Z)))return z}else M(P++,I+1,R,Q,F,N,H,-1/0,1/0),M(P++,I+1,F,N,R,Q,1^H,-1/0,1/0);if(Q<B){var $=c(t,I,F,N,X,Z),tt=X[D*$+I],et=g(t,I,$,N,X,Z,tt);if(et<N&&M(P++,I,Q,B,et,N,(4|H)+(G?16:0),tt,q),F<$&&M(P++,I,Q,B,F,$,(2|H)+(G?16:0),U,tt),$+1===et){if(void 0!==(z=G?T(t,I,e,Q,B,W,Y,$,X,Z[$]):A(t,I,e,H,Q,B,W,Y,$,X,Z[$])))return z}else if($<et){var rt;if(G){if(rt=y(t,I,Q,B,W,Y,tt),Q<rt){var nt=g(t,I,Q,rt,W,Y,tt);if(I===t-2){if(Q<nt&&void 0!==(z=l.sweepComplete(t,e,Q,nt,W,Y,$,et,X,Z)))return z;if(nt<rt&&void 0!==(z=l.sweepBipartite(t,e,nt,rt,W,Y,$,et,X,Z)))return z}else Q<nt&&M(P++,I+1,Q,nt,$,et,16,-1/0,1/0),nt<rt&&(M(P++,I+1,nt,rt,$,et,0,-1/0,1/0),M(P++,I+1,$,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,I,Q,B,W,Y,tt):y(t,I,Q,B,W,Y,tt),Q<rt&&(I===t-2?z=H?l.sweepBipartite(t,e,$,et,X,Z,Q,rt,W,Y):l.sweepBipartite(t,e,Q,rt,W,Y,$,et,X,Z):(M(P++,I+1,Q,rt,$,et,H,-1/0,1/0),M(P++,I+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var n=t(\\\"typedarray-pool\\\"),i=t(\\\"bit-twiddle\\\"),a=t(\\\"./brute\\\"),o=a.partial,s=a.full,l=t(\\\"./sweep\\\"),c=t(\\\"./median\\\"),u=t(\\\"./partition\\\"),f=128,h=1<<22,p=1<<22,d=u(\\\"!(lo>=p0)&&!(p1>=hi)\\\",[\\\"p0\\\",\\\"p1\\\"]),g=u(\\\"lo===p0\\\",[\\\"p0\\\"]),m=u(\\\"lo<p0\\\",[\\\"p0\\\"]),v=u(\\\"hi<=p0\\\",[\\\"p0\\\"]),y=u(\\\"lo<=p0&&p0<=hi\\\",[\\\"p0\\\"]),x=u(\\\"lo<p0&&p0<=hi\\\",[\\\"p0\\\"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function M(t,e,r,n,i,a,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=i,w[c+4]=a,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,g=i*f;d<a;++d,g+=f){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[h+b],w=c[h+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function T(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var g=o[p];if(g!==c){var m=a[d+e],v=a[d+e+t];if(!(h<m||v<h)){for(var y=e+1;y<t;++y){m=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{\\\"./brute\\\":78,\\\"./median\\\":80,\\\"./partition\\\":81,\\\"./sweep\\\":83,\\\"bit-twiddle\\\":73,\\\"typedarray-pool\\\":423}],80:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,f=o+r>>>1,h=2*t,p=f,d=s[h*f+e];for(;c<u;){if(u-c<i){a(t,e,c,u,s,l),d=s[h*f+e];break}var g=u-c,m=Math.random()*g+c|0,v=s[h*m+e],y=Math.random()*g+c|0,x=s[h*y+e],b=Math.random()*g+c|0,_=s[h*b+e];v<=x?_>=x?(p=y,d=x):v>=_?(p=m,d=v):(p=b,d=_):x>=_?(p=y,d=x):_>=v?(p=m,d=v):(p=b,d=_);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];l[u-1]=l[p],l[p]=T,p=n(t,e,c,u-1,s,l,d);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];if(l[u-1]=l[p],l[p]=T,f<p){for(u=p-1;c<u&&s[h*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<f))break;for(c=p+1;c<u&&s[h*c+e]===d;)c+=1}}return n(t,e,r,f,s,l,s[h*f+e])};var n=t(\\\"./partition\\\")(\\\"lo<p0\\\",[\\\"p0\\\"]),i=8;function a(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var g=i[h];i[h]=i[p],i[p]=g}var m=a[u];a[u]=a[u-1],a[u-1]=m}}},{\\\"./partition\\\":81}],81:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=\\\"abcdef\\\".split(\\\"\\\").concat(e),i=[];t.indexOf(\\\"lo\\\")>=0&&i.push(\\\"lo=e[k+n]\\\");t.indexOf(\\\"hi\\\")>=0&&i.push(\\\"hi=e[k+o]\\\");return r.push(n.replace(\\\"_\\\",i.join()).replace(\\\"$\\\",t)),Function.apply(void 0,r)};var n=\\\"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\\\"},{}],82:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,m=g-h,v=g+h,y=p,x=m,b=g,_=v,w=d,k=e+1,M=r-1,A=0;c(y,x,f)&&(A=y,y=x,x=A);c(_,w,f)&&(A=_,_=w,w=A);c(y,b,f)&&(A=y,y=b,b=A);c(x,b,f)&&(A=x,x=b,b=A);c(y,_,f)&&(A=y,y=_,_=A);c(b,_,f)&&(A=b,b=_,_=A);c(x,w,f)&&(A=x,x=w,w=A);c(x,b,f)&&(A=x,x=b,b=A);c(_,w,f)&&(A=_,_=w,w=A);var T=f[2*x];var S=f[2*x+1];var C=f[2*_];var E=f[2*_+1];var L=2*y;var z=2*b;var P=2*w;var D=2*p;var O=2*g;var I=2*d;for(var R=0;R<2;++R){var B=f[L+R],F=f[z+R],N=f[P+R];f[D+R]=B,f[O+R]=F,f[I+R]=N}o(m,e,f);o(v,r,f);for(var j=k;j<=M;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,C,E,f))for(;;){if(u(M,C,E,f)){u(M,T,S,f)?(s(j,k,M,f),++k,--M):(a(j,M,f),--M);break}if(--M<j)break}l(e,k-1,T,S,f);l(r,M+1,C,E,f);k-2-e<=n?i(e,k-2,f):t(e,k-2,f);r-(M+2)<=n?i(M+2,r,f):t(M+2,r,f);M-k<=n?i(k,M,f):t(k,M,f)}(0,e-1,t)};var n=32;function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=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]=i,n[r+1]=a}function l(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function u(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],83:[function(t,e,r){\\\"use strict\\\";e.exports={init:function(t){var e=i.nextPow2(t);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));f.length<e&&(n.free(f),f=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,f,h,m,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var M=f[k],A=b*k;p[x++]=i[A+_],p[x++]=-(M+1),p[x++]=i[A+w],p[x++]=M}for(var k=h;k<m;++k){var M=y[k]+o,T=b*k;p[x++]=v[T+_],p[x++]=-M,p[x++]=v[T+w],p[x++]=M}var S=x>>>1;a(p,S);for(var C=0,E=0,k=0;k<S;++k){var L=0|p[2*k+1];if(L>=o)d(c,u,E--,L=L-o|0);else if(L>=0)d(s,l,C--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z<C;++z){var P=e(s[z],L);if(void 0!==P)return P}g(c,u,E++,L)}else{L=-L-1|0;for(var z=0;z<E;++z){var P=e(L,c[z]);if(void 0!==P)return P}g(s,l,C++,L)}}},sweepComplete:function(t,e,r,n,i,o,m,v,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,M=r;M<n;++M){var A=o[M]+1<<1,T=_*M;p[b++]=i[T+w],p[b++]=-A,p[b++]=i[T+k],p[b++]=A}for(var M=m;M<v;++M){var A=x[M]+1<<1,S=_*M;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var C=b>>>1;a(p,C);for(var E=0,L=0,z=0,M=0;M<C;++M){var P=0|p[2*M+1],D=1&P;if(M<C-1&&P>>1==p[2*M+3]>>1&&(D=2,M+=1),P<0){for(var O=-(P>>1)-1,I=0;I<z;++I){var R=e(f[I],O);if(void 0!==R)return R}if(0!==D)for(var I=0;I<E;++I){var R=e(s[I],O);if(void 0!==R)return R}if(1!==D)for(var I=0;I<L;++I){var R=e(c[I],O);if(void 0!==R)return R}0===D?g(s,l,E++,O):1===D?g(c,u,L++,O):2===D&&g(f,h,z++,O)}else{var O=(P>>1)-1;0===D?d(s,l,E--,O):1===D?d(c,u,L--,O):2===D&&d(f,h,z--,O)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,m,v,y){var x=0,b=2*t,_=e,w=e+t,k=1,M=1;n?M=o:k=o;for(var A=i;A<c;++A){var T=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-T,p[x++]=u[S+w],p[x++]=T}for(var A=h;A<m;++A){var T=A+M,C=b*A;p[x++]=v[C+_],p[x++]=-T}var E=x>>>1;a(p,E);for(var L=0,A=0;A<E;++A){var z=0|p[2*A+1];if(z<0){var T=-z,P=!1;if(T>=o?(P=!n,T-=o):(P=!!n,T-=1),P)g(s,l,L++,T);else{var D=y[T],O=b*T,I=v[O+e+1],R=v[O+e+1+t];t:for(var B=0;B<L;++B){var F=s[B],N=b*F;if(!(R<u[N+e+1]||u[N+e+1+t]<I)){for(var j=e+2;j<t;++j)if(v[O+j+t]<u[N+j]||u[N+j+t]<v[O+j])continue t;var V,U=f[F];if(void 0!==(V=n?r(D,U):r(U,D)))return V}}}}else d(s,l,L--,z-k)}},scanComplete:function(t,e,r,n,i,l,c,u,f,h,d){for(var g=0,m=2*t,v=e,y=e+t,x=n;x<i;++x){var b=x+o,_=m*x;p[g++]=l[_+v],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<f;++x){var b=x+1,w=m*x;p[g++]=h[w+v],p[g++]=-b}var k=g>>>1;a(p,k);for(var M=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[M++]=b-o;else{var T=d[b-=1],S=m*b,C=h[S+e+1],E=h[S+e+1+t];t:for(var L=0;L<M;++L){var z=s[L],P=c[z];if(P===T)break;var D=m*z;if(!(E<l[D+e+1]||l[D+e+1+t]<C)){for(var O=e+2;O<t;++O)if(h[S+O+t]<l[D+O]||l[D+O+t]<h[S+O])continue t;var I=r(P,T);if(void 0!==I)return I}}}}else{for(var b=A-o,L=M-1;L>=0;--L)if(s[L]===b){for(var O=L+1;O<M;++O)s[O-1]=s[O];break}--M}}}};var n=t(\\\"typedarray-pool\\\"),i=t(\\\"bit-twiddle\\\"),a=t(\\\"./sort\\\"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function g(t,e,r,n){t[r]=n,e[n]=r}},{\\\"./sort\\\":82,\\\"bit-twiddle\\\":73,\\\"typedarray-pool\\\":423}],84:[function(t,e,r){},{}],85:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"base64-js\\\"),i=t(\\\"ieee754\\\");r.Buffer=s,r.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},r.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError(\\\"Invalid typed array length\\\");var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if(\\\"number\\\"==typeof t){if(\\\"string\\\"==typeof e)throw new Error(\\\"If encoding is specified then the first argument must be a string\\\");return u(t)}return l(t,e,r)}function l(t,e,r){if(\\\"number\\\"==typeof t)throw new TypeError('\\\"value\\\" argument must not be a number');return j(t)||t&&j(t.buffer)?function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\\\"offset\\\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\\\"length\\\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=s.prototype,n}(t,e,r):\\\"string\\\"==typeof t?function(t,e){\\\"string\\\"==typeof e&&\\\"\\\"!==e||(e=\\\"utf8\\\");if(!s.isEncoding(e))throw new TypeError(\\\"Unknown encoding: \\\"+e);var r=0|p(t,e),n=o(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e):function(t){if(s.isBuffer(t)){var e=0|h(t.length),r=o(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(ArrayBuffer.isView(t)||\\\"length\\\"in t)return\\\"number\\\"!=typeof t.length||V(t.length)?o(0):f(t);if(\\\"Buffer\\\"===t.type&&Array.isArray(t.data))return f(t.data)}throw new TypeError(\\\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\\\")}(t)}function c(t){if(\\\"number\\\"!=typeof t)throw new TypeError('\\\"size\\\" argument must be of type number');if(t<0)throw new RangeError('\\\"size\\\" argument must not be negative')}function u(t){return c(t),o(t<0?0:0|h(t))}function f(t){for(var e=t.length<0?0:0|h(t.length),r=o(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function h(t){if(t>=a)throw new RangeError(\\\"Attempt to allocate Buffer larger than maximum size: 0x\\\"+a.toString(16)+\\\" bytes\\\");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t))return t.byteLength;\\\"string\\\"!=typeof t&&(t=\\\"\\\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\\\"ascii\\\":case\\\"latin1\\\":case\\\"binary\\\":return r;case\\\"utf8\\\":case\\\"utf-8\\\":case void 0:return B(t).length;case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return 2*r;case\\\"hex\\\":return r>>>1;case\\\"base64\\\":return F(t).length;default:if(n)return B(t).length;e=(\\\"\\\"+e).toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if(\\\"string\\\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\\\"string\\\"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\\\"number\\\"==typeof e)return e&=255,\\\"function\\\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\\\"val must be string, number or Buffer\\\")}function m(t,e,r,n,i){var a,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(i){var u=-1;for(a=r;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function v(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(B(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(F(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r=\\\"\\\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=a,s.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}}(),s.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(s.prototype,\\\"parent\\\",{get:function(){if(this instanceof s)return this.buffer}}),Object.defineProperty(s.prototype,\\\"offset\\\",{get:function(){if(this instanceof s)return this.byteOffset}}),\\\"undefined\\\"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),s.poolSize=8192,s.from=function(t,e,r){return l(t,e,r)},s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,s.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?o(t):void 0!==e?\\\"string\\\"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer},s.compare=function(t,e){if(!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError(\\\"Arguments must be Buffers\\\");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},s.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}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(ArrayBuffer.isView(a)&&(a=s.from(a)),!s.isBuffer(a))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},s.byteLength=p,s.prototype._isBuffer=!0,s.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)d(this,e,e+1);return this},s.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)d(this,e,e+3),d(this,e+1,e+2);return this},s.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)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},s.prototype.toString=function(){var t=this.length;return 0===t?\\\"\\\":0===arguments.length?M(this,0,t):function(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 C(this,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return M(this,e,r);case\\\"ascii\\\":return T(this,e,r);case\\\"latin1\\\":case\\\"binary\\\":return S(this,e,r);case\\\"base64\\\":return k(this,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return E(this,e,r);default:if(n)throw new TypeError(\\\"Unknown encoding: \\\"+t);t=(t+\\\"\\\").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t=\\\"\\\",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\\\"hex\\\",0,e).match(/.{2}/g).join(\\\" \\\"),this.length>e&&(t+=\\\" ... \\\")),\\\"<Buffer \\\"+t+\\\">\\\"},s.prototype.compare=function(t,e,r,n,i){if(!s.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\\\"out of range index\\\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,o=r-e,l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){a=c[f],o=u[f];break}return a<o?-1:o<a?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.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 i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\\\"Attempt to write outside buffer bounds\\\");n||(n=\\\"utf8\\\");for(var a=!1;;)switch(n){case\\\"hex\\\":return v(this,t,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return y(this,t,e,r);case\\\"ascii\\\":return x(this,t,e,r);case\\\"latin1\\\":case\\\"binary\\\":return b(this,t,e,r);case\\\"base64\\\":return _(this,t,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return w(this,t,e,r);default:if(a)throw new TypeError(\\\"Unknown encoding: \\\"+n);n=(\\\"\\\"+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:\\\"Buffer\\\",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function S(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function C(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\\\"\\\",a=e;a<r;++a)i+=R(t[a]);return i}function E(t,e,r){for(var n=t.slice(e,r),i=\\\"\\\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function L(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 z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('\\\"buffer\\\" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('\\\"value\\\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\")}function P(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\");if(r<0)throw new RangeError(\\\"Index out of range\\\")}function D(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function O(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=s.prototype,n},s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},s.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeFloatLE=function(t,e,r){return D(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return D(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return O(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return O(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError(\\\"argument should be a Buffer\\\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\\\"targetStart out of bounds\\\");if(r<0||r>=this.length)throw new RangeError(\\\"Index out of range\\\");if(n<0)throw new RangeError(\\\"sourceEnd out of bounds\\\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\\\"function\\\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.prototype.fill=function(t,e,r,n){if(\\\"string\\\"==typeof t){if(\\\"string\\\"==typeof e?(n=e,e=0,r=this.length):\\\"string\\\"==typeof r&&(n=r,r=this.length),void 0!==n&&\\\"string\\\"!=typeof n)throw new TypeError(\\\"encoding must be a string\\\");if(\\\"string\\\"==typeof n&&!s.isEncoding(n))throw new TypeError(\\\"Unknown encoding: \\\"+n);if(1===t.length){var i=t.charCodeAt(0);(\\\"utf8\\\"===n&&i<128||\\\"latin1\\\"===n)&&(t=i)}}else\\\"number\\\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\\\"Out of range index\\\");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\\\"number\\\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=s.isBuffer(t)?t:new s(t,n),l=o.length;if(0===l)throw new TypeError('The value \\\"'+t+'\\\" is invalid for argument \\\"value\\\"');for(a=0;a<r-e;++a)this[a+e]=o[a%l]}return this};var I=/[^+/0-9A-Za-z-_]/g;function R(t){return t<16?\\\"0\\\"+t.toString(16):t.toString(16)}function B(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.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;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function F(t){return n.toByteArray(function(t){if((t=(t=t.split(\\\"=\\\")[0]).trim().replace(I,\\\"\\\")).length<2)return\\\"\\\";for(;t.length%4!=0;)t+=\\\"=\\\";return t}(t))}function N(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&\\\"ArrayBuffer\\\"===t.constructor.name&&\\\"number\\\"==typeof t.byteLength}function V(t){return t!=t}},{\\\"base64-js\\\":55,ieee754:298}],86:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/monotone\\\"),i=t(\\\"./lib/triangulation\\\"),a=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),f=!!c(r,\\\"interior\\\",!0),h=!!c(r,\\\"exterior\\\",!0),p=!!c(r,\\\"infinity\\\",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(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&&a(t,g),h?f?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{\\\"./lib/delaunay\\\":87,\\\"./lib/filter\\\":88,\\\"./lib/monotone\\\":89,\\\"./lib/triangulation\\\":90}],87:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-in-sphere\\\")[4];t(\\\"binary-search-bounds\\\");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var f=l[c-1],h=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){h=l[p];break}h<0||n(t[s],t[u],t[f],t[h])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],m=l[d];g===u?h=m:m===u&&(f=g)}f<0||h<0||(n(t[s],t[u],t[f],t[h])>=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{\\\"binary-search-bounds\\\":91,\\\"robust-in-sphere\\\":386}],88:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"binary-search-bounds\\\");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,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,i=0;i<n;++i){var s=r[i],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var f=new Array(n),i=0;i<f.length;++i)f[i]=0;var h=[],p=[],d=new Array(3*n),g=new Array(3*n),m=null;e&&(m=[]);for(var v=new a(r,d,g,f,h,p,m),i=0;i<n;++i)for(var s=r[i],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*i+y]=v.locate(c,l,t.opposite(c,l)),b=g[3*i+y]=t.isConstraint(l,c);x<0&&(b?p.push(i):(h.push(i),f[i]=1),e&&m.push([c,l,-1]))}return v}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{\\\"binary-search-bounds\\\":91}],89:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"robust-orientation\\\")[3],a=0,o=1,s=2;function l(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==a&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function f(t,e){return i(t.a,t.b,e)}function h(t,e,r,a,o){for(var s=n.lt(e,a,f),l=n.gt(e,a,f),c=s;c<l;++c){for(var u=e[c],h=u.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var i=n.le(t,r,p),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,p),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],f=0;f<r;++f)i.push(new c(t[f],null,a,f));for(var f=0;f<n;++f){var p=e[f],m=t[p[0]],v=t[p[1]];m[0]<v[0]?i.push(new c(m,v,s,f),new c(v,m,o,f)):m[0]>v[0]&&i.push(new c(v,m,s,f),new c(m,v,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{\\\"binary-search-bounds\\\":91,\\\"robust-orientation\\\":388}],90:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\");function i(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 i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.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)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\\\"binary-search-bounds\\\":91}],91:[function(t,e,r){\\\"use strict\\\";function n(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function i(t,e,r,i){return new Function([n(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],i),n(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],i),\\\"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:i(\\\">=\\\",!1,\\\"GE\\\"),gt:i(\\\">\\\",!1,\\\"GT\\\"),lt:i(\\\"<\\\",!0,\\\"LT\\\"),le:i(\\\"<=\\\",!0,\\\"LE\\\"),eq:i(\\\"-\\\",!0,\\\"EQ\\\",!0)}},{}],92:[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}},{}],93:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"dup\\\"),i=t(\\\"robust-linear-solve\\\");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];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*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:136,\\\"robust-linear-solve\\\":387}],94:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(\\\"circumcenter\\\")},{circumcenter:93}],95:[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}},{}],96:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}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(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t(\\\"union-find\\\"),i=t(\\\"box-intersect\\\"),a=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\\\"),f=t(\\\"./lib/rat-seg-intersect\\\");function h(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 a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(a);for(l=0;l<a;++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<a;++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<a;++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 i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}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 i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,function(r,i){var o=e[r],s=e[i];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]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}}),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return i(r,n,function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,i){var a,u,h=t.map(function(t){return[o(t[0]),o(t[1])]});for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],g=e[u],m=e[d],v=f(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])]),h.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=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),a=n.length-1;a>=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var M=b;b=_,_=M}x[0]=b;var A,T=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,C=(S=n[--a])[1];i?e.push([T,C,A]):e.push([T,C]),T=C}i?e.push([T,_,A]):e.push([T,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{\\\"./lib/rat-seg-intersect\\\":97,\\\"big-rat\\\":59,\\\"big-rat/cmp\\\":57,\\\"big-rat/to-float\\\":71,\\\"box-intersect\\\":77,nextafter:336,\\\"rat-vec\\\":370,\\\"robust-segment-intersect\\\":391,\\\"union-find\\\":424}],97:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t(\\\"big-rat/mul\\\"),i=t(\\\"big-rat/div\\\"),a=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 a(n(t[0],e[1]),n(t[1],e[0]))}},{\\\"big-rat/div\\\":58,\\\"big-rat/mul\\\":68,\\\"big-rat/sign\\\":69,\\\"big-rat/sub\\\":70,\\\"rat-vec/add\\\":369,\\\"rat-vec/muls\\\":371,\\\"rat-vec/sub\\\":372}],98:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"clamp\\\");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:95}],99:[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]}},{}],100:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-rgba\\\"),i=t(\\\"clamp\\\"),a=t(\\\"dtype\\\");e.exports=function(t,e){\\\"float\\\"!==e&&e||(e=\\\"array\\\"),\\\"uint\\\"===e&&(e=\\\"uint8\\\"),\\\"uint_clamped\\\"===e&&(e=\\\"uint8_clamped\\\");var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s=\\\"uint8\\\"!==e&&\\\"uint8_clamped\\\"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&&\\\"string\\\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:95,\\\"color-rgba\\\":102,dtype:135}],101:[function(t,e,r){(function(r){\\\"use strict\\\";var n=t(\\\"color-name\\\"),i=t(\\\"is-plain-obj\\\"),a=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=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[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 p=e[1],u=p.replace(/a$/,\\\"\\\");s=u;var f=\\\"cmyk\\\"===u?4:\\\"gray\\\"===u?1:3;l=e[2].trim().split(/\\\\s*,\\\\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:\\\"rgb\\\"===u?255*parseFloat(t)/100:parseFloat(t);if(\\\"h\\\"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}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(\\\"number\\\"==typeof t)s=\\\"rgb\\\",l=[t>>>16,(65280&t)>>>8,255&t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=\\\"rgb\\\",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=\\\"hsl\\\",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(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);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\\\":99,defined:131,\\\"is-plain-obj\\\":308}],102:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-parse\\\"),i=t(\\\"color-space/hsl\\\"),a=t(\\\"clamp\\\");e.exports=function(t){var e;if(\\\"string\\\"!=typeof t)throw Error(\\\"Argument should be a string\\\");var r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\\\"h\\\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:95,\\\"color-parse\\\":101,\\\"color-space/hsl\\\":103}],103:[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,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/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\\\":104}],104:[function(t,e,r){\\\"use strict\\\";e.exports={name:\\\"rgb\\\",min:[0,0,0],max:[255,255,255],channel:[\\\"red\\\",\\\"green\\\",\\\"blue\\\"],alias:[\\\"RGB\\\"]}},{}],105:[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]}]}},{}],106:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./colorScale\\\"),i=t(\\\"lerp\\\");function a(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,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||\\\"hex\\\",(f=t.colormap)||(f=\\\"jet\\\");if(\\\"string\\\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\\\" not a supported colorscale\\\");u=n[f]}else{if(!Array.isArray(f))throw Error(\\\"unsupported colormap option\\\",f);u=f.slice()}if(u.length>p)throw new Error(f+\\\" 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:(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(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),\\\"hex\\\"===h?v=v.map(o):\\\"rgbaString\\\"===h?v=v.map(s):\\\"float\\\"===h&&(v=v.map(a));return v}},{\\\"./colorScale\\\":105,lerp:310}],107:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1:l(t,e,r)?1:-1};var n=t(\\\"robust-orientation\\\"),i=t(\\\"signum\\\"),a=t(\\\"two-sum\\\"),o=t(\\\"robust-product\\\"),s=t(\\\"robust-sum\\\");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{\\\"robust-orientation\\\":388,\\\"robust-product\\\":389,\\\"robust-sum\\\":393,signum:394,\\\"two-sum\\\":422}],108:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;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(a=o+t[2]-(s+e[2]))return a;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],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],109:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"compare-cell\\\"),i=t(\\\"cell-orientation\\\");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{\\\"cell-orientation\\\":92,\\\"compare-cell\\\":108}],110:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/ch1d\\\"),i=t(\\\"./lib/ch2d\\\"),a=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 i(t);return a(t,r)}},{\\\"./lib/ch1d\\\":111,\\\"./lib/ch2d\\\":112,\\\"./lib/chnd\\\":113}],111:[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]]}},{}],112:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(\\\"monotone-convex-hull-2d\\\")},{\\\"monotone-convex-hull-2d\\\":319}],113:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r),o=n(a,!0);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t(\\\"incremental-convex-hull\\\"),i=t(\\\"affine-hull\\\")},{\\\"affine-hull\\\":46,\\\"incremental-convex-hull\\\":299}],114:[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\\\"}},{}],115:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],116:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/thunk.js\\\");e.exports=function(t){var e=new function(){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.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 a=r[i];if(\\\"array\\\"===a||\\\"object\\\"==typeof a&&a.blockIndices){if(e.argTypes[i]=\\\"array\\\",e.arrayArgs.push(i),e.arrayBlockIndices.push(a.blockIndices?a.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\\\"===a)e.scalarArgs.push(i),e.shimArgs.push(\\\"scalar\\\"+i);else if(\\\"index\\\"===a){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\\\"===a){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 a||!a.offset)throw new Error(\\\"cwise: Unknown argument type \\\"+r[i]);e.argTypes[i]=\\\"offset\\\",e.offsetArgs.push({array:a.array,offset:a.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\\\":118}],117:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"uniq\\\");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n<a;++n)c.push([\\\"i\\\",n,\\\"=0\\\"].join(\\\"\\\"));for(i=0;i<o;++i)for(n=0;n<a;++n)f=u,u=t[n],0===n?c.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=t\\\",i,\\\"p\\\",u].join(\\\"\\\")):c.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=(t\\\",i,\\\"p\\\",u,\\\"-s\\\",f,\\\"*t\\\",i,\\\"p\\\",f,\\\")\\\"].join(\\\"\\\"));for(c.length>0&&l.push(\\\"var \\\"+c.join(\\\",\\\")),n=a-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<a;++n){for(f=u,u=t[n],i=0;i<o;++i)l.push([\\\"p\\\",i,\\\"+=d\\\",i,\\\"s\\\",n].join(\\\"\\\"));s&&(n>0&&l.push([\\\"index[\\\",f,\\\"]-=s\\\",f].join(\\\"\\\")),l.push([\\\"++index[\\\",u,\\\"]\\\"].join(\\\"\\\"))),l.push(\\\"}\\\")}return l.join(\\\"\\\\n\\\")}function a(t,e,r){for(var n=t.body,i=[],a=[],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 f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=\\\"+q\\\"+f;case\\\"array\\\":c=\\\"p\\\"+u+c;var h=\\\"l\\\"+o,p=\\\"a\\\"+u;if(0===e.arrayBlockIndices[u])1===s.count?\\\"generic\\\"===r[u]?s.lvalue?(i.push([\\\"var \\\",h,\\\"=\\\",p,\\\".get(\\\",c,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,h),a.push([p,\\\".set(\\\",c,\\\",\\\",h,\\\")\\\"].join(\\\"\\\"))):n=n.replace(l,[p,\\\".get(\\\",c,\\\")\\\"].join(\\\"\\\")):n=n.replace(l,[p,\\\"[\\\",c,\\\"]\\\"].join(\\\"\\\")):\\\"generic\\\"===r[u]?(i.push([\\\"var \\\",h,\\\"=\\\",p,\\\".get(\\\",c,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,h),s.lvalue&&a.push([p,\\\".set(\\\",c,\\\",\\\",h,\\\")\\\"].join(\\\"\\\"))):(i.push([\\\"var \\\",h,\\\"=\\\",p,\\\"[\\\",c,\\\"]\\\"].join(\\\"\\\")),n=n.replace(l,h),s.lvalue&&a.push([p,\\\"[\\\",c,\\\"]=\\\",h].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[i.join(\\\"\\\\n\\\"),n,a.join(\\\"\\\\n\\\")].join(\\\"\\\\n\\\").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)f[l]<=o[l][g]&&o[l][g]<h[l]&&d.push(o[l][g]-f[l]);p.push(d)}var m=[\\\"SS\\\"],v=[\\\"'use strict'\\\"],y=[];for(g=0;g<r;++g)y.push([\\\"s\\\",g,\\\"=SS[\\\",g,\\\"]\\\"].join(\\\"\\\"));for(l=0;l<t.arrayArgs.length;++l){for(m.push(\\\"a\\\"+l),m.push(\\\"t\\\"+l),m.push(\\\"p\\\"+l),g=0;g<r;++g)y.push([\\\"t\\\",l,\\\"p\\\",g,\\\"=t\\\",l,\\\"[\\\",f[l]+g,\\\"]\\\"].join(\\\"\\\"));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push([\\\"t\\\",l,\\\"b\\\",g,\\\"=t\\\",l,\\\"[\\\",c[l]+g,\\\"]\\\"].join(\\\"\\\"))}for(l=0;l<t.scalarArgs.length;++l)m.push(\\\"Y\\\"+l);if(t.shapeArgs.length>0&&y.push(\\\"shape=SS.slice(0)\\\"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]=\\\"0\\\";y.push([\\\"index=[\\\",x.join(\\\",\\\"),\\\"]\\\"].join(\\\"\\\"))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push([\\\"t\\\",b.array,\\\"p\\\",g].join(\\\"\\\")):_.push([b.offset[g],\\\"*t\\\",b.array,\\\"p\\\",g].join(\\\"\\\")));0===_.length?y.push(\\\"q\\\"+l+\\\"=0\\\"):y.push([\\\"q\\\",l,\\\"=\\\",_.join(\\\"+\\\")].join(\\\"\\\"))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&v.push(\\\"var \\\"+y.join(\\\",\\\")),l=0;l<t.arrayArgs.length;++l)v.push(\\\"p\\\"+l+\\\"|=0\\\");t.pre.body.length>3&&v.push(a(t.pre,t,s));var k=a(t.body,t,s),M=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}(p);M<r?v.push(function(t,e,r,n){for(var a=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<a;++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 f=[\\\"offset\\\"+u],h=t;h<a;++h)f.push([\\\"j\\\",h,\\\"*t\\\",u,\\\"p\\\",e[h]].join(\\\"\\\"));c.push([\\\"p\\\",u,\\\"=(\\\",f.join(\\\"+\\\"),\\\")\\\"].join(\\\"\\\"))}for(c.push(i(e,r,n)),u=t;u<a;++u)c.push(\\\"}\\\");return c.join(\\\"\\\\n\\\")}(M,p[0],t,k)):v.push(i(p[0],t,k)),t.post.body.length>3&&v.push(a(t.post,t,s)),t.debug&&console.log(\\\"-----Generated cwise routine for \\\",e,\\\":\\\\n\\\"+v.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\");var A=[t.funcName||\\\"unnamed\\\",\\\"_cwise_loop_\\\",o[0].join(\\\"s\\\"),\\\"m\\\",M,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\\\d+/);a=a?a[0]:\\\"\\\",0===i.charAt(0)?e[n]=\\\"u\\\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\\\"\\\")}(s)].join(\\\"\\\");return new Function([\\\"function \\\",A,\\\"(\\\",m.join(\\\",\\\"),\\\"){\\\",v.join(\\\"\\\\n\\\"),\\\"} return \\\",A].join(\\\"\\\"))()}},{uniq:425}],118:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./compile.js\\\");e.exports=function(t){var e=[\\\"'use strict'\\\",\\\"var CACHED={}\\\"],r=[],i=t.funcName+\\\"_cwise_thunk\\\";e.push([\\\"return function \\\",i,\\\"(\\\",t.shimArgs.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var a=[],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 f=t.arrayArgs[u];r.push([\\\"t\\\",f,\\\"=array\\\",f,\\\".dtype,\\\",\\\"r\\\",f,\\\"=array\\\",f,\\\".order\\\"].join(\\\"\\\")),a.push(\\\"t\\\"+f),a.push(\\\"r\\\"+f),o.push(\\\"t\\\"+f),o.push(\\\"r\\\"+f+\\\".join()\\\"),s.push(\\\"array\\\"+f+\\\".data\\\"),s.push(\\\"array\\\"+f+\\\".stride\\\"),s.push(\\\"array\\\"+f+\\\".offset|0\\\"),u>0&&(l.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape.length===array\\\"+f+\\\".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\\\"+f+\\\".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([\\\",a.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\\\":117}],119:[function(t,e,r){e.exports=t(\\\"cwise-compiler\\\")},{\\\"cwise-compiler\\\":116}],120:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/copy\\\"),a=t(\\\"es5-ext/object/normalize-options\\\"),o=t(\\\"es5-ext/object/valid-callable\\\"),s=t(\\\"es5-ext/object/map\\\"),l=t(\\\"es5-ext/object/valid-callable\\\"),c=t(\\\"es5-ext/object/valid-value\\\"),u=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,a=c(e)&&l(e.value);return delete(n=i(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?a:(e.value=u.call(a,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.exports=function(t){var e=a(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{\\\"es5-ext/object/copy\\\":155,\\\"es5-ext/object/map\\\":164,\\\"es5-ext/object/normalize-options\\\":165,\\\"es5-ext/object/valid-callable\\\":169,\\\"es5-ext/object/valid-value\\\":171}],121:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/object/assign\\\"),i=t(\\\"es5-ext/object/normalize-options\\\"),a=t(\\\"es5-ext/object/is-callable\\\"),o=t(\\\"es5-ext/string/#/contains\\\");(e.exports=function(t,e){var r,a,s,l,c;return arguments.length<2||\\\"string\\\"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,a=!1):(r=o.call(t,\\\"c\\\"),a=o.call(t,\\\"e\\\"),s=o.call(t,\\\"w\\\")),c={value:e,configurable:r,enumerable:a,writable:s},l?n(i(l),c):c}).gs=function(t,e,r){var s,l,c,u;return\\\"string\\\"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:a(e)?null==r?r=void 0:a(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,\\\"c\\\"),l=o.call(t,\\\"e\\\")),u={get:e,set:r,configurable:s,enumerable:l},c?n(i(c),u):u}},{\\\"es5-ext/object/assign\\\":152,\\\"es5-ext/object/is-callable\\\":158,\\\"es5-ext/object/normalize-options\\\":165,\\\"es5-ext/string/#/contains\\\":172}],122:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)},c=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},u=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},f=Array.prototype,h=f.slice,p=f.map,d=function(t){return function(){return t}},g=function(t){return t},m=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},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),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(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,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},M=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},A=function(t){if(!(i=t.length))return[];for(var e=-1,r=M(t,T),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);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 a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=m(Math.ceil(u/h)*h,Math.floor(f/h)*h,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&g[i(h,o,0,p)].push(n[a]);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(h.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*(k(t,.75)-k(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,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=M,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=m,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],123:[function(t,e,r){var n;n=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 i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}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)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}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,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)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,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++h<p;)(f=g.get(s=d(c=n[h])+\\\"\\\"))?f.push(c):g.set(s,[c]);return g.each(function(t,e){o(m,e,u(t,i,a,o))}),m}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,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})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],124:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e=function(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 i=\\\"\\\\\\\\s*([+-]?\\\\\\\\d+)\\\\\\\\s*\\\",a=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)\\\\\\\\s*\\\",o=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)%\\\\\\\\s*\\\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[i,i,i]+\\\"\\\\\\\\)$\\\"),u=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[o,o,o]+\\\"\\\\\\\\)$\\\"),f=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[i,i,i,a]+\\\"\\\\\\\\)$\\\"),h=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[o,o,o,a]+\\\"\\\\\\\\)$\\\"),p=new RegExp(\\\"^hsl\\\\\\\\(\\\"+[a,o,o]+\\\"\\\\\\\\)$\\\"),d=new RegExp(\\\"^hsla\\\\\\\\(\\\"+[a,o,o,a]+\\\"\\\\\\\\)$\\\"),g={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 m(t){var e;return t=(t+\\\"\\\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?v(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?v(g[t]):\\\"transparent\\\"===t?new _(NaN,NaN,NaN,0):null}function v(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=m(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new M(t,e,r,n)}function k(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new M;if(t instanceof M)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new M(s,l,c,t.opacity)}(t):new M(t,e,r,null==i?1:i)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function A(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,m,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\\\"\\\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){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+\\\")\\\")}})),e(M,k,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(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,i=2*r-n;return new _(A(t>=240?t-240:t+120,i,n),A(t,i,n),A(t<120?t+240:t-120,i,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}}));var T=Math.PI/180,S=180/Math.PI,C=.95047,E=1,L=1.08883,z=4/29,P=6/29,D=3*P*P,O=P*P*P;function I(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=F((.4124564*r+.3575761*n+.1804375*i)/C),o=F((.2126729*r+.7151522*n+.072175*i)/E);return new B(116*o-16,500*(a-o),200*(o-F((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?I(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function F(t){return t>O?Math.pow(t,1/3):t/D+z}function N(t){return t>P?t*t*t:D*(t-z)}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,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof B||(t=I(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,R,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(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 t=E*N(t),new _(j(3.2404542*(e=C*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return I(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=m,t.rgb=b,t.hsl=k,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],125:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\\\"\\\")||t in i)throw new Error(\\\"illegal type: \\\"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+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,o=this._,s=(n=o,(t+\\\"\\\").trim().split(/^|\\\\s+/).map(function(t){var e=\\\"\\\",r=t.indexOf(\\\".\\\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);return{type:t,name:e}})),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)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=i(o[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,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],126:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n,i){\\\"use strict\\\";var a=function(t){return function(){return t}},o=function(){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 f(t){return t.x}function h(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.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,i=1,c=1;function u(){for(var t,a,u,h,p,d,g,m=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;v<c*c&&(0===f&&(v+=(f=o())*f),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=f*(c=1-c),s.vy-=m*c)}}}function f(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 h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,g,m=0;m<a;++m)c=(s=t[m]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[m])/p*r*e[m],h*=p,u.vx-=f*(g=l[m]),u.vy-=h*g,c.vx+=f*(g=1-g),c.vy+=h*g}function m(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,\\\"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(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)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){i=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(f=t,g):f},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(h=\\\"function\\\"==typeof t?t:a(+t),v(),g):h},g.distance=function(t){return arguments.length?(p=\\\"function\\\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*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:a(+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,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\\\"function\\\"!=typeof t&&(t=a(+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:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+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,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(g),h=n.dispatch(\\\"tick\\\",\\\"end\\\");function g(){m(),h.call(\\\"tick\\\",e),a<o&&(f.stop(),h.call(\\\"end\\\",e))}function m(){var e,r,n=t.length;for(a+=(l-a)*s,u.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function v(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),v(),e={tick:m,restart:function(){return f.restart(g),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,v(),u.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},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,y(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})},\\\"object\\\"==typeof r&&void 0!==e?i(r,t(\\\"d3-quadtree\\\"),t(\\\"d3-collection\\\"),t(\\\"d3-dispatch\\\"),t(\\\"d3-timer\\\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{\\\"d3-collection\\\":123,\\\"d3-dispatch\\\":125,\\\"d3-quadtree\\\":128,\\\"d3-timer\\\":129}],127:[function(t,e,r){var n,i;n=this,i=function(t,e){\\\"use strict\\\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(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):a(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):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\\\"\\\"}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\\\"\\\"}}}var h=f(n),p=f(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=A(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},m=function(t,e){return e-=t=+t,function(r){return t+e*r}},v=function(t,e){var r,n={},i={};for(r in null!==t&&\\\"object\\\"==typeof t||(t={}),null!==e&&\\\"object\\\"==typeof e||(e={}),e)r in t?n[r]=A(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,x=new RegExp(y.source,\\\"g\\\");var b,_,w,k,M=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=y.exec(t))&&(n=x.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:m(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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(\\\"\\\")})},A=function(t,r){var n,i=typeof r;return null==r||\\\"boolean\\\"===i?a(r):(\\\"number\\\"===i?m:\\\"string\\\"===i?(n=e.color(r))?(r=n,u):M:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:\\\"function\\\"!=typeof r.valueOf&&\\\"function\\\"!=typeof r.toString||isNaN(r)?v:m)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},C=function(t,e,r,n,i,a){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:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function E(t,e,r,n){function i(t){return t.length?t.pop()+\\\" \\\":\\\"\\\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\\\"translate(\\\",null,e,null,r);s.push({i:l-4,x:m(t,i)},{i:l-2,x:m(n,a)})}else(i||a)&&o.push(\\\"translate(\\\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\\\"rotate(\\\",null,n)-2,x:m(t,e)})):e&&r.push(i(r)+\\\"rotate(\\\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\\\"skewX(\\\",null,n)-2,x:m(t,e)}):e&&r.push(i(r)+\\\"skewX(\\\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");o.push({i:s-4,x:m(t,r)},{i:s-2,x:m(e,n)})}else 1===r&&1===n||a.push(i(a)+\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=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 L=E(function(t){return\\\"none\\\"===t?S:(b||(b=document.createElement(\\\"DIV\\\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\\\"transform\\\"),_.removeChild(b),t=t.slice(7,-1).split(\\\",\\\"),C(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\\\"px, \\\",\\\"px)\\\",\\\"deg)\\\"),z=E(function(t){return null==t?S:(k||(k=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),k.setAttribute(\\\"transform\\\",t),(t=k.transform.baseVal.consolidate())?(t=t.matrix,C(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\\\", \\\",\\\")\\\",\\\")\\\"),P=Math.SQRT2;function D(t){return((t=Math.exp(t))+1/t)/2}function O(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var I=O(s),R=O(c);function B(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var F=B(s),N=B(c);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\\\"\\\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(c);t.interpolate=A,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=m,t.interpolateObject=v,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=M,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/P,r=function(t){return[i+t*u,a+t*f,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(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)/P,r=function(t){var e,r=t*n,s=D(m),l=o/(2*p)*(s*(e=P*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/D(P*r+m)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateHsl=I,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\\\"\\\"}},t.interpolateHcl=F,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,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})},\\\"object\\\"==typeof r&&void 0!==e?i(r,t(\\\"d3-color\\\")):i(n.d3=n.d3||{},n.d3)},{\\\"d3-color\\\":124}],128:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,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>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=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,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,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=a.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 i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=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,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));for(f<c&&(c=this._x0,f=this._x1),h<u&&(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),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,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,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 i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(m.length){var v=(a+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],a,y,v,l),new r(m[1],v,o,s,y),new r(m[0],a,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=_);f=t-w,h=e-w,p=t+w,d=e+w,i=m.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,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=a>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,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,i,a,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,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.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=a,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],129:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,c=0,u=\\\"object\\\"==typeof performance&&performance.now?performance:Date,f=\\\"object\\\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function h(){return l||(f(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function m(){h(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function v(){l=(s=u.now())+c,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(v,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(v)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\\\"function\\\"!=typeof t)throw new TypeError(\\\"callback is not a function\\\");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=m,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],130:[function(t,e,r){!function(){var t={version:\\\"3.5.17\\\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(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(i)try{n(i.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}),i)try{i.createElement(\\\"DIV\\\").style.setProperty(\\\"opacity\\\",0,\\\"\\\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=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){f.call(this,t,e+\\\"\\\",r)}}function h(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,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=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(h);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 h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+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],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},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,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){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,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _=\\\"__proto__\\\",w=\\\"\\\\0\\\";function k(t){return(t+=\\\"\\\")===_||t[0]===w?w+t:t}function M(t){return(t+=\\\"\\\")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function T(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(M(e));return t}function C(){var t=0;for(var e in this._)++t;return t}function E(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function D(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=O.length;r<n;++r){var i=O[r]+e;if(i in t)return i}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:T,keys:S,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:M(e),value:this._[e]});return t},size:C,empty:E,forEach:function(t){for(var e in this._)t.call(this,M(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new b;++h<p;)(f=g.get(l=d(c=a[h])))?f.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>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,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 i.push(t),n},n.sortKeys=function(t){return a[i.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 L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:A,add:function(t){return this._[k(t+=\\\"\\\")]=!0,t},remove:T,values:S,size:C,empty:E,forEach:function(t){for(var e in this._)t.call(this,M(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var O=[\\\"webkit\\\",\\\"ms\\\",\\\"moz\\\",\\\"Moz\\\",\\\"o\\\",\\\"O\\\"];function I(){}function R(){}function B(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=B(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=B(t);return t},R.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(V,\\\"\\\\\\\\$&\\\")};var V=/[\\\\\\\\\\\\^\\\\$\\\\*\\\\+\\\\?\\\\|\\\\[\\\\]\\\\(\\\\)\\\\.\\\\{\\\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[D(t,\\\"matchesSelector\\\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\\\"function\\\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\\\"function\\\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\\\"function\\\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\\\"__data__\\\"in i&&(r.__data__=i.__data__)):e.push(null)}return q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var J=\\\"http://www.w3.org/1999/xhtml\\\",K={svg:\\\"http://www.w3.org/2000/svg\\\",xhtml:J,xlink:\\\"http://www.w3.org/1999/xlink\\\",xml:\\\"http://www.w3.org/XML/1998/namespace\\\",xmlns:\\\"http://www.w3.org/2000/xmlns/\\\"};function Q(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 $(t){return t.trim().replace(/\\\\s+/g,\\\" \\\")}function tt(e){return new RegExp(\\\"(?:^|\\\\\\\\s+)\\\"+t.requote(e)+\\\"(?:\\\\\\\\s+|$)\\\",\\\"g\\\")}function et(t){return(t+\\\"\\\").trim().split(/^|\\\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\\\"function\\\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\\\"class\\\")||\\\"\\\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\\\"class\\\",$(i+\\\" \\\"+t))):r.setAttribute(\\\"class\\\",$(i.replace(e,\\\" \\\")))}}function it(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 ot(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===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return W(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(\\\":\\\"),r=t;return e>=0&&\\\"xmlns\\\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[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(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\\\"class\\\");++i<n;)if(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(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(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\\\"\\\"}return this.each(it(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=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new b,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(m.has(g=e.call(i,i.__data__,n))?d[n]=i:m.set(g,i),v[n]=g);for(n=-1;++n<u;)(i=m.get(g=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=lt(a),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<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=lt(a);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=q([]),c=q([]);if(\\\"function\\\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],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,i=[];\\\"function\\\"!=typeof t&&(t=ct(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return q(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.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,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,function(){++t}),t};var ht=[];function pt(e,r,i){var a=\\\"__on\\\"+e,o=e.indexOf(\\\".\\\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?I:function(){var r,n=new RegExp(\\\"^__on([^.]+)\\\"+t.requote(e)+\\\"$\\\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return q(o)},ht.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\\\"string\\\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\\\"string\\\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([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(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\\\"__on\\\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\\\"mouseover\\\",mouseleave:\\\"mouseout\\\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function mt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\\\"on\\\"+t in i&&dt.remove(t)});var vt,yt=0;function xt(e){var r=\\\".dragsuppress-\\\"+ ++yt,n=\\\"click\\\"+r,i=t.select(o(e)).on(\\\"touchmove\\\"+r,F).on(\\\"dragstart\\\"+r,F).on(\\\"selectstart\\\"+r,F);if(null==vt&&(vt=!(\\\"onselectstart\\\"in e)&&D(e.style,\\\"userSelect\\\")),vt){var s=a(e).style,l=s[vt];s[vt]=\\\"none\\\"}return function(t){if(i.on(r,null),vt&&(s[vt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){F(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.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();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\\\"drag\\\",\\\"dragstart\\\",\\\"dragend\\\"),r=null,n=s(I,t.mouse,o,\\\"mousemove\\\",\\\"mouseup\\\"),i=s(wt,t.touch,z,\\\"touchmove\\\",\\\"touchend\\\");function a(){this.on(\\\"mousedown.drag\\\",n).on(\\\"touchstart.drag\\\",i)}function s(n,i,a,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,f=e.of(this,arguments),h=0,p=n(),d=\\\".drag\\\"+(null==p?\\\"\\\":\\\"-\\\"+p),g=t.select(a(c)).on(o+d,function(){var t,e,r=i(u,p);if(!r)return;t=r[0]-v[0],e=r[1]-v[1],h|=t|e,v=r,f({type:\\\"drag\\\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(u,p))return;g.on(o+d,null).on(s+d,null),m(h),f({type:\\\"dragend\\\"})}),m=xt(c),v=i(u,p);l=r?[(l=r.apply(this,arguments)).x-v[0],l.y-v[1]]:[0,0],f({type:\\\"dragstart\\\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\\\"on\\\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Mt=kt*kt,At=Math.PI,Tt=2*At,St=Tt-kt,Ct=At/2,Et=At/180,Lt=180/At;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Dt(t){return t>1?0:t<-1?At:Math.acos(t)}function Ot(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function It(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<Mt)n=Math.log(c/o)/Bt,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(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=It(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[i+l*u,a+l*f,o*s/It(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,g=250,m=0,v=\\\"mousedown.zoom\\\",y=\\\"mousemove.zoom\\\",x=\\\"mouseup.zoom\\\",b=\\\"touchstart.zoom\\\",_=j(w,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\");function w(t){t.on(v,z).on(Nt+\\\".zoom\\\",D).on(\\\"dblclick.zoom\\\",O).on(b,P)}function k(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function M(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function T(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},M(Math.pow(2,a)),A(r=n,i),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-h.x)/h.k}).map(l.invert)),f&&f.domain(u.range().map(function(t){return(t-h.y)/h.k}).map(u.invert))}function C(t){m++||t({type:\\\"zoomstart\\\"})}function E(t){S(),t({type:\\\"zoom\\\",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:\\\"zoomend\\\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),a),E(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);ss.call(e),C(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\\\".zoom-\\\"+t.event.changedTouches[0].identifier,l=\\\"touchmove\\\"+o,c=\\\"touchend\\\"+o,u=[],f=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(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,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];T(r,v,i[v.identifier],Math.floor(Math.log(h.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];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);ss.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[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=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],M(g*e)}s=null,A(o,l),E(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,z).on(b,P),p(),L(n)}g(),C(n),f.on(v,null).on(b,g)}function D(){var i=_.of(this,arguments);a?clearTimeout(a):(ss.call(this),e=k(r=n||t.mouse(this)),C(i)),a=setTimeout(function(){a=null,L(i)},50),F(),M(Math.pow(2,.002*Ft())*h.k),A(r,e),E(i)}function O(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;T(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\\\"onwheel\\\"in i?(Ft=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\\\"wheel\\\"):\\\"onmousewheel\\\"in i?(Ft=function(){return t.event.wheelDelta},\\\"mousewheel\\\"):(Ft=function(){return-t.event.detail},\\\"MozMousePixelScroll\\\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=h;us?t.select(this).transition().each(\\\"start.zoom\\\",function(){h=this.__chart__||{x:0,y:0,k:1},C(e)}).tween(\\\"zoom:zoom\\\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},E(e)}}).each(\\\"interrupt.zoom\\\",function(){L(e)}).each(\\\"end.zoom\\\",function(){L(e)}):(this.__chart__=h,C(e),E(e),L(e))})},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},M(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+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(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,\\\"on\\\")};var Ft,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(\\\"\\\"+t,fe,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\\\"\\\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Et)*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 Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(\\\"\\\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\\\"\\\"}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?\\\"0\\\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\\\((.*)\\\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\\\",\\\"),n[1]){case\\\"hsl\\\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\\\"rgb\\\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||\\\"#\\\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\\\"%\\\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return fe(this.r,this.g,this.b)},le.toString=function(){return\\\"#\\\"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=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 me(t){return\\\"function\\\"==typeof t?t:function(){return t}}function ve(t){return function(e,r,n){return 2===arguments.length&&\\\"function\\\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\\\"beforesend\\\",\\\"progress\\\",\\\"load\\\",\\\"error\\\"),l={},c=new XMLHttpRequest,u=null;function f(){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=i.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=f:c.onreadystatechange=function(){c.readyState>3&&f()},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 i=t,o},[\\\"get\\\",\\\"post\\\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\\\"function\\\"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||\\\"accept\\\"in l||(l.accept=r+\\\",*/*\\\"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on(\\\"error\\\",i).on(\\\"load\\\",function(t){i(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==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=me,t.xhr=ve(z),t.dsv=function(t,e){var r=new RegExp('[\\\"'+t+\\\"\\\\n]\\\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.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 i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\\\"d\\\",\\\"return {\\\"+t.map(function(t,e){return JSON.stringify(t)+\\\": d[\\\"+e+\\\"]\\\"}).join(\\\",\\\")+\\\"}\\\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;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))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/\\\"\\\"/g,'\\\"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,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\\\")},i.formatRows=function(t){return t.map(s).join(\\\"\\\\n\\\")},i},t.csv=t.dsv(\\\",\\\",\\\"text/csv\\\"),t.tsv=t.dsv(\\\"\\\\t\\\",\\\"text/tab-separated-values\\\");var xe,be,_e,we,ke=this[D(this,\\\"requestAnimationFrame\\\")]||function(t){setTimeout(t,17)};function Me(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,ke(Ae)),i}function Ae(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ce(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Me.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ee=[\\\"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}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ce(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)))),Ee[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\\\- ])?([$#])?(0)?(\\\\d+)?(,)?(\\\\.-?\\\\d+)?([a-z%])?/i,ze=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,Ce(e,r))).toFixed(Math.max(0,Math.min(20,Ce(e*(1+1e-15),r))))}});function Pe(t){return t+\\\"\\\"}var De=t.time={},Oe=Date;function Ie(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Ie.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(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new Oe(r-1)),1),r}function a(t,r){return e(t=new Oe(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||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=i,t.offset=a,t.range=o;var s=t.utc=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(i),s.offset=Fe(a),s.range=function(t,e,r){try{Oe=Ie;var n=new Ie;return n._=t,o(n,e,r)}finally{Oe=Date}},t}function Fe(t){return function(e,r){try{Oe=Ie;var n=new Ie;return n._=e,t(n,r)._}finally{Oe=Date}}}De.year=Be(function(t){return(t=De.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),De.years=De.year.range,De.years.utc=De.year.utc.range,De.day=Be(function(t){var e=new Oe(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}),De.days=De.day.range,De.days.utc=De.day.utc.range,De.dayOfYear=function(t){var e=De.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=De[t]=Be(function(t){return(t=De.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=De.year(t).getDay();return Math.floor((De.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});De[t+\\\"s\\\"]=r.range,De[t+\\\"s\\\"].utc=r.utc.range,De[t+\\\"OfYear\\\"]=function(t){var r=De.year(t).getDay();return Math.floor((De.dayOfYear(t)+(r+e)%7)/7)}}),De.week=De.sunday,De.weeks=De.sunday.range,De.weeks.utc=De.sunday.utc.range,De.weekOfYear=De.sundayOfYear;var Ne={\\\"-\\\":\\\"\\\",_:\\\" \\\",0:\\\"0\\\"},je=/^\\\\s*\\\\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?\\\"-\\\":\\\"\\\",i=(n?-t:t)+\\\"\\\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp(\\\"^(?:\\\"+e.map(t.requote).join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function He(t){for(var e=new b,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 We(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 Ye(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 Xe(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 Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[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 ir(t){var e=t.getTimezoneOffset(),r=e>0?\\\"-\\\":\\\"+\\\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\\\"0\\\",2)+Ue(i,\\\"0\\\",2)}function ar(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(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\\\" \\\",s=n[2]||\\\">\\\",l=n[3]||\\\"-\\\",c=n[4]||\\\"\\\",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m=\\\"\\\",v=\\\"\\\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||\\\"0\\\"===i&&\\\"=\\\"===s)&&(u=i=\\\"0\\\",s=\\\"=\\\"),d){case\\\"n\\\":h=!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=a[0],v=a[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=ze.get(d)||Pe;var b=u&&h;return function(e){var n=v;if(y&&e%1)return\\\"\\\";var a=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,k=(e=d(e,p)).lastIndexOf(\\\".\\\");if(k<0){var M=x?e.lastIndexOf(\\\"e\\\"):-1;M<0?(_=e,w=\\\"\\\"):(_=e.substring(0,M),w=e.substring(M))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:a.length),T=A<f?new Array(A=f-A+1).join(i):\\\"\\\";return b&&(_=o(T+_,T.length?f-w.length:1/0)),a+=m,e=_+w,(\\\"<\\\"===s?a+e+T:\\\">\\\"===s?T+a+e:\\\"^\\\"===s?T.substring(0,A>>=1)+a+e+T.substring(A):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=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,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\\\"e\\\"===n?\\\" \\\":\\\"0\\\":i)),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(f(r,t,e,0)!=e.length)return null;\\\"p\\\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Oe!==Ie,i=new(n?Ie:Oe);return\\\"j\\\"in r?i.setFullYear(r.y,0,r.j):\\\"W\\\"in r||\\\"U\\\"in r?(\\\"w\\\"in r||(r.w=\\\"W\\\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\\\"W\\\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function f(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Oe=Ie);return r._=t,e(r)}finally{Oe=Date}}return r.parse=function(t){try{Oe=Ie;var r=e.parse(t);return r&&r._}finally{Oe=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=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);a.forEach(function(t,e){h.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+De.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 a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(De.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(De.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\\\"%\\\":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 f(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=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,\\\"%\\\":ar};return u}(e)}};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,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)fr(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,i=r.length;++n<i;)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,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)fr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],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,Er),mr};var mr,vr,yr,xr,br,_r,wr,kr,Mr,Ar,Tr,Sr,Cr=new lr,Er={sphere:function(){mr+=4*At},point:I,lineStart:I,lineEnd:I,polygonStart:function(){Cr.reset(),Er.lineStart=Lr},polygonEnd:function(){var t=2*Cr;mr+=t<0?4*At+t:t,Er.lineStart=Er.lineEnd=Er.point=I}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Et/2+At/4;var a=(t*=Et)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Cr.add(Math.atan2(h,f)),r=t,n=l,i=c}Er.point=function(o,s){Er.point=a,r=(t=o)*Et,n=Math.cos(s=(e=s)*Et/2+At/4),i=Math.sin(s)},Er.lineEnd=function(){a(t,e)}}function zr(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Dr(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 Ir(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 Br(t){return[Math.atan2(t[1],t[0]),Ot(t[2])]}function Fr(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,c,u,f,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=x,h.lineEnd=b,c=0,Er.polygonStart()},polygonEnd:function(){Er.polygonEnd(),h.point=p,h.lineStart=g,h.lineEnd=m,Cr<0?(e=-(n=180),r=-(i=90)):c>kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Et,o*Et]);if(l){var c=Dr(l,s),u=Dr([c[1],-c[0],0],c);Rr(u),u=Br(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*a<d&&d<h*t))(m=u[1]*Lt)>i&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&d<h*t)){var m;(m=-u[1]*Lt)<r&&(r=m)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Er.point(t,e),d(t,e)}function x(){Er.lineStart()}function b(){v(o,s),Er.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),u=[],t.geo.stream(a,h),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(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=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<Mt&&(r=wr,n=kr,i=Mr,yr<kt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<Mt)?[NaN,NaN]:[Math.atan2(n,r)*Lt,Ot(i/Math.sqrt(a))*Lt]};var Nr={sphere:I,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Et;var r=Math.cos(e*=Et);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Ur(){var t,e,r;function n(n,i){n*=Et;var a=Math.cos(i*=Et),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),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)),kr+=c*(e+(e=s)),Mr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Et;var o=Math.cos(a*=Et);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Et;var a=Math.cos(e*=Et),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),c=n*l-i*s,u=i*o-r*l,f=r*s-n*o,h=Math.sqrt(c*c+u*u+f*f),p=r*o+n*s+i*l,d=h&&-Dt(p)/h,g=Math.atan2(h,p);Ar+=d*c,Tr+=d*u,Sr+=d*f,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Mr+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Et;var l=Math.cos(s*=Et);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(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 Wr(){return!0}function Yr(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Fr(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,a.push(l),o.push(c),c=new Zr(n,null,l=new Zr(n,t,null,!1),!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)i.point((f=u[s])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(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,i){return function(a,o){var s,l=r(o),c=a.invert(i[0],i[1]),u={point:f,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=f,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Cr.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],p=f[1]/2+At/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+At/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_>=0?1:-1,k=w*_,M=k>At,A=d*x;if(Cr.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),a+=M?_+w*Tt:_,M^h>=r^v>=r){var T=Dr(zr(f),zr(t));Rr(T);var S=Dr(i,T);Rr(S);var C=(M^_>=0?-1:1)*Ot(S[2]);(n>C||n===C&&(T[0]||T[1]))&&(o+=M^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a<kt&&Cr<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Yr(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 f(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function h(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){u.point=h,l.lineStart()}function d(){u.point=f,l.lineEnd()}var g,m,v=Qr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=a(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 i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[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:I,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(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Ct:-Ct),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)<kt&&(r-=i*kt),y(a-s)<kt&&(a-=s*kt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Ct,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]<e[0]?At:-At;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,p=s.y-c;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a<u)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a<u)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<u)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a<u)return;a<f&&(f=a)}return u>0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Qr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));k.point=T,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],i=0;i<r;++i)for(var a,o=1,s=u[i],l=s.length,c=s[0];o<l;++o)a=s[o],c[1]<=n?a[1]>n&&Pt(c,a,t)>0&&++e:a[1]<=n&&Pt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),M(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,M,l),l.polygonEnd()),c=u=f=null}};function M(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),y)h=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 k};function a(t,i){return y(t[0]-e)<kt?i>0?0:3:y(t[0]-n)<kt?i>0?2:1:y(t[1]-r)<kt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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=At/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Ot((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=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,i,a=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 a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},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?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:I,lineStart:I,lineEnd:I,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=I,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>fn&&(fn=t);e<un&&(un=e);e>hn&&(hn=e)},lineStart:I,lineEnd:I,polygonStart:I,polygonEnd:I};function mn(t){return\\\"m0,\\\"+t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+-2*t+\\\"a\\\"+t+\\\",\\\"+t+\\\" 0 1,1 0,\\\"+2*t+\\\"z\\\"}var vn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Mr+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Mr+=o,Ar+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function kn(t){var e=.5,r=Math.cos(30*Et),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,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(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,m.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),m.lineEnd=b,b()}return m}:function(e){return An(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=s+p,k=l+d,M=c+g,A=Math.sqrt(w*w+k*k+M*M),T=Math.asin(M/=A),S=y(y(M)-1)<kt||y(o-h)<kt?(o+h)/2:Math.atan2(k,w),C=t(S,T),E=C[0],L=C[1],z=E-n,P=L-i,D=b*z-x*P;(D*D/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+c*g<r)&&(a(n,i,o,s,l,c,E,L,S,w/=A,k/=A,M,m,v),v.point(E,L),a(E,L,S,w,k,M,u,f,h,p,d,g,m,v))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function Mn(t){this.stream=t}function An(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 Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=kn(function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]}),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Et,t[1]*Et))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function M(){i=Gr(n=zn(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(v(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(v=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(i,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Fr(e,p)||Fr(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(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&&Fr(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}}},In(t,6*Et),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Dr(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Dr(i,a),h=Ir(i,c);Or(h,Ir(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Ir(p,(-d-v)/g);if(Or(x,h),x=Br(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],M=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,T=y(A-At)<kt;if(!T&&M<k&&(b=k,k=M,M=b),T||A<kt?T?k+M>0^x[1]<(y(x[0]-_)<kt?k:M):k<=x[1]&&x[1]<=M:A>At^(_<=x[0]&&x[0]<=w)){var S=Ir(p,(-d+v)/g);return Or(S,h),[x,Br(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Et),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,A()):_},w.scale=function(t){return arguments.length?(c=+t,M()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],M()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Et,p=t[1]%360*Et,M()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Et,g=t[1]%360*Et,m=t.length>2?t[2]%360*Et:0,M()):[d*Lt,g*Lt,m*Lt]},t.rebind(w,l,\\\"precision\\\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,M()}}function Cn(t){return An(t,function(e,r){t.point(e*Et,r*Et)})}function En(t,e){return[t,e]}function Ln(t,e){return[t>At?t-Tt:t<-At?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),On(e,r)):Dn(t):e||r?On(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>At?e-Tt:e<-At?e+Tt:e,r]}}function Dn(t){var e=Pn(t);return e.invert=Pn(-t),e}function On(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=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*i-u*a,s*r-c*n),Ot(u*i+l*a)]}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*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),Ot(u*r-s*n)]},o}function In(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u<a;u-=l)s.point((c=Br([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Rn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=Dt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Bn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function Fn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Nn(t){return t.source}function jn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\\\"function\\\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=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=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,n(yn)),Sr?[Ar/Sr,Tr/Sr]:Mr?[wr/Mr,kr/Mr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return fn=hn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[fn,hn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=kn(function(t,e){return r([t*Lt,e*Lt])}),function(t){return Cn(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new function(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(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 i(t,n){e.push(\\\"M\\\",t,\\\",\\\",n),r.point=a}function a(t,r){e.push(\\\"L\\\",t,\\\",\\\",r)}function o(){r.point=n}function s(){e.push(\\\"Z\\\")}return r}:new function(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:I};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}(t),\\\"function\\\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Mn(e);for(var n in t)r[n]=t[n];return r}}},Mn.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=Tn,t.geo.projectionMutator=Sn,(t.geo.equirectangular=function(){return Tn(En)}).raw=En.invert=En,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Et,e[1]*Et))[0]*=Lt,e[1]*=Lt,e}return t=zn(t[0]%360*Et,t[1]*Et,t.length>2?t[2]*Et:0),e.invert=function(e){return(e=t.invert(e[0]*Et,e[1]*Et))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=En,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\\\"function\\\"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Et,-t[1]*Et,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\\\"Polygon\\\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=In((t=+r)*Et,n*Et),i):t},i.precision=function(r){return arguments.length?(e=In(t*Et,(n=+r)*Et),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Et,i=t[1]*Et,a=e[1]*Et,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,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(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).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,a,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:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(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?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},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=Bn(o,a,90),u=Fn(r,e,v),f=Bn(l,s,90),h=Fn(i,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=Nn,i=jn;function a(){return{type:\\\"LineString\\\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\\\"function\\\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\\\"function\\\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Et,n=t[1]*Et,i=e[0]*Et,a=e[1]*Et,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-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*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return vn=0,t.geo.stream(e,Vn),vn};var Vn={sphere:I,point:I,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Et),o=Math.cos(i),s=y((n*=Et)-t),l=Math.cos(s);vn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Et,e=Math.sin(a*=Et),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=I}},lineEnd:I,polygonStart:I,polygonEnd:I};function Un(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Ct]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<kt)return En;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Tn(Hn)}).raw=Hn,(t.geo.conicConformal=function(){return an(Gn)}).raw=Gn,(t.geo.conicEquidistant=function(){return an(Wn)}).raw=Wn;var Yn=Un(function(t){return 1/t},Math.atan);function Xn(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Zn(t){var e,r=Tn(t),n=r.scale,i=r.translate,a=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=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=i();a([[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 Tn(Yn)}).raw=Yn,Xn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Ct]},(t.geo.mercator=function(){return Zn(Xn)}).raw=Xn;var Jn=Un(function(){return 1},Math.asin);(t.geo.orthographic=function(){return Tn(Jn)}).raw=Jn;var Kn=Un(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function Qn(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function $n(t){return t[0]}function ti(t){return t[1]}function ei(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Zn(Qn),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=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=me(e),a=me(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ri),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ei(s),u=ei(l),f=u[0]===c[0],h=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=+f;n<u.length-h;++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 U(t,ni),t};var ni=t.geom.polygon.prototype=[];function ii(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function ai(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],c=r[1],u=e[1]-l,f=n[1]-c,h=(s*(l-c)-f*(i-a))/(f*o-s*u);return[i+h*o,l+h*u]}function oi(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ni.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},ni.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},ni.clip=function(t){for(var e,r,n,i,a,o,s=oi(t),l=-1,c=this.length-oi(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)ii(o=e[r],u,i)?(ii(a,u,i)||t.push(ai(a,o,u,i)),t.push(o)):ii(a,u,i)&&t.push(ai(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var si,li,ci,ui,fi,hi=[],pi=[];function di(t){var e=hi.pop()||new function(){Li(this),this.edge=this.site=this.circle=null};return e.site=t,e}function gi(t){ki(t),ci.remove(t),hi.push(t),Li(t)}function mi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];gi(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),gi(l),l=a;s.unshift(l),ki(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),gi(c),c=o;s.push(c),ki(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],Si(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Ti(l.site,c.site,null,i),wi(l),wi(c)}function vi(t){for(var e,r,n,i,a=t.x,o=t.y,s=ci._;s;)if((n=yi(s,o)-a)>kt)s=s.L;else{if(!((i=a-xi(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ci.insert(e,l),e||r){if(e===r)return ki(e),r=di(e.site),ci.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){ki(e),ki(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};Si(r.edge,c,d,b),l.edge=Ti(c,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)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,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=fi._;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}fi.insert(y,v),y||(ui=v)}}}}function ki(t){var e=t.circle;e&&(e.P||(ui=e.N),fi.remove(e),pi.push(e),Li(e),t.circle=null)}function Mi(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,g=f.y,m=(h+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y<l)return}else a={x:m,y:c};r={x:m,y:l}}}else if(i=v-(n=(h-d)/(g-p))*m,n<-1||n>1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Ai(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ti(t,e,r,n){var i=new Ai(t,e);return si.push(i),r&&Si(i,t,e,r),n&&Si(i,e,t,n),li[t.i].edges.push(new Ci(i,t,e)),li[e.i].edges.push(new Ci(i,e,t)),i}function Si(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 Ci(t,e,r){var n=t.a,i=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(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function Ei(){this._=null}function Li(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function zi(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Pi(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Di(t){for(;t.L;)t=t.L;return t}function Oi(t,e){var r,n,i,a=t.sort(Ii).pop();for(si=[],li=new Array(t.length),ci=new Ei,fi=new Ei;;)if(i=ui,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(li[a.i]=new bi(a),vi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;mi(i.arc)}e&&(function(t){for(var e,r=si,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Mi(e=r[i],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(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=li,m=g.length;m--;)if((a=g[m])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new Ci((v=a.site,x=u,b=y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null,_=void 0,_=new Ai(v,null),_.a=x,_.b=b,si.push(_),_),a.site,null)),++l);var v,x,b,_}(e));var o={cells:li,edges:si};return ci=fi=si=li=null,o}function Ii(t,e){return e.y-t.y||e.x-t.x}bi.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(_i),e.length},Ci.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}},Ei.prototype={insert:function(t,e){var r,n,i;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=Di(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?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(zi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Pi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Pi(this,r),r=(t=r).U),r.C=!1,n.C=!0,zi(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,i=t.U,a=t.L,o=t.R;if(r=a?o?Di(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,zi(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Pi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,zi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Pi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,zi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Pi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=$n,r=ti,n=e,i=r,a=Ri;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Oi(s(t),a).cells.forEach(function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,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(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Oi(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 Oi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(_i),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=me(e=t),o):e},o.y=function(t){return arguments.length?(i=me(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Ri:t,o):a===Ri?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Ri?null:a&&a[1]},o};var Ri=[[-1e6,-1e6],[1e6,1e6]];function Bi(t){return t.x}function Fi(t){return t.y}function Ni(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\\\"#\\\"+ce(Math.round(n+o*t))+ce(Math.round(i+s*t))+ce(Math.round(a+l*t))}}function ji(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Gi(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function Vi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ui(t,e){var r,n,i,a=qi.lastIndex=Hi.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=qi.exec(t))&&(n=Hi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Vi(r,n)})),a=Hi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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,i){var a,o=$n,s=ti;if(a=arguments.length)return o=Bi,s=Fi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,g,m,v=me(o),x=me(s);if(null!=e)p=e,d=r,g=n,m=i;else if(g=m=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).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(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,k=m-d;function M(t,e,r,n,i,a,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,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}}),u?i=l:o=l,f?a=c:s=c,M(t,e,r,n,i,a,o,s)}w>k?m=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,m)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){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,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,m)},f=-1,null==e){for(;++f<h;)M(T,t[f],c[f],u[f],p,d,g,m);--f}else t.forEach(T.add);return c=u=t=l=null,T}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=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Ni,t.interpolateObject=ji,t.interpolateNumber=Vi,t.interpolateString=Ui;var qi=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,Hi=new RegExp(qi.source,\\\"g\\\");function Gi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Gi(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=Gi,t.interpolators=[function(t,e){var r=typeof e;return(\\\"string\\\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\\\(|hsl\\\\()/i.test(e)?Ni:Ui:e instanceof Vt?Ni:Array.isArray(e)?Wi:\\\"object\\\"===r&&isNaN(e)?ji:Vi)(t,e)}],t.interpolateArray=Wi;var Yi=function(){return z},Xi=t.map({linear:Yi,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Qi},cubic:function(){return $i},sin:function(){return ea},exp:function(){return ra},circle:function(){return na},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return ia}}),Zi=t.map({in:z,out:Ji,\\\"in-out\\\":Ki,\\\"out-in\\\":function(t){return Ki(Ji(t))}});function Ji(t){return function(e){return 1-t(1-e)}}function Ki(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Qi(t){return t*t}function $i(t){return t*t*t}function ta(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 ea(t){return 1-Math.cos(t*Ct)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(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 aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function sa(t,e){return t[0]*e[0]+t[1]*e[1]}function la(t){var e=Math.sqrt(sa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\\\"-\\\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\\\"in\\\";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateRound=aa,t.transform=function(e){var r=i.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 oa(e?e.matrix:ca)})(e)},oa.prototype.toString=function(){return\\\"translate(\\\"+this.translate+\\\")rotate(\\\"+this.rotate+\\\")skewX(\\\"+this.skew+\\\")scale(\\\"+this.scale+\\\")\\\"};var ca={a:1,b:0,c:0,d:1,e:0,f:0};function ua(t){return t.length?t.pop()+\\\",\\\":\\\"\\\"}function fa(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\\\"translate(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\\\"translate(\\\"+e+\\\")\\\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ua(r)+\\\"rotate(\\\",null,\\\")\\\")-2,x:Vi(t,e)})):e&&r.push(ua(r)+\\\"rotate(\\\"+e+\\\")\\\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ua(r)+\\\"skewX(\\\",null,\\\")\\\")-2,x:Vi(t,e)}):e&&r.push(ua(r)+\\\"skewX(\\\"+e+\\\")\\\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ua(r)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ua(r)+\\\"scale(\\\"+e+\\\")\\\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\\\"\\\")}}function ha(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function pa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function da(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ga(t),n=ga(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function ga(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ma(t){t.fixed|=2}function va(t){t.fixed&=-7}function ya(t){t.fixed|=4,t.px=t.x,t.py=t.y}function xa(t){t.fixed&=-5}t.interpolateTransform=fa,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(da(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,g={},m=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];m.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort(function(t,e){return a(m[t],m[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+\\\"-\\\"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var M=g[p+\\\"-\\\"+d],A=g[d+\\\"-\\\"+p];(M.value||A.value)&&e.push(M.value<A.value?{source:A,target:M}:{source:M,target:A})}s&&f()}function f(){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?(i=(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?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),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,i,a,o,s={},l=t.dispatch(\\\"start\\\",\\\"tick\\\",\\\"end\\\"),c=[1,1],u=.9,f=ba,h=_a,p=-30,d=wa,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*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,f,h,d,m,b,_,w,k=v.length,M=y.length;for(s=0;s<M;++s)h=(f=y[s]).source,(m=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=m=n*a[s]*((m=Math.sqrt(m))-i[s])/m,w*=m,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!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,i+=o.charge*o.cx,a+=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,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<k;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<k;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.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?(f=\\\"function\\\"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h=\\\"function\\\"==typeof t?t:+t,s):h},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=Me(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(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(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(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,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.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()*i}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(z).on(\\\"dragstart.force\\\",ma).on(\\\"drag.force\\\",b).on(\\\"dragend.force\\\",va)),!arguments.length)return r;this.on(\\\"mouseover.force\\\",ya).on(\\\"mouseout.force\\\",xa).call(r)},t.rebind(s,l,\\\"on\\\")};var ba=20,_a=1,wa=1/0;function ka(e,r){return t.rebind(e,r,\\\"sort\\\",\\\"children\\\",\\\"value\\\"),e.nodes=e,e.links=Ea,e}function Ma(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function Aa(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function Ta(t){return t.children}function Sa(t){return t.value}function Ca(t,e){return e.value-t.value}function Ea(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=Ca,e=Ta,r=Sa;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Aa(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.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&&(Ma(t,function(t){t.children&&(t.value=0)}),Aa(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 i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},ka(n,e)},t.layout.pie=function(){var e=Number,r=La,n=0,i=Tt,a=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),f=+(\\\"function\\\"==typeof n?n.apply(this,arguments):n),h=(\\\"function\\\"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+(\\\"function\\\"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),g=t.sum(u),m=g?(h-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===La?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:f,endAngle:f+=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?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var La={};function za(t){return t.x}function Pa(t){return t.y}function Da(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=Ra,n=Ba,i=Da,a=za,o=Pa;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),f=u.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,g,m,v=n.call(s,f,c),y=u[0].length;for(g=0;g<y;++g)for(i.call(s,u[0][g],m=v[g],f[0][g][1]),d=1;d<p;++d)i.call(s,u[d][g],m+=f[d-1][g][1],f[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:Oa.get(t)||Ra,s):r},s.offset=function(t){return arguments.length?(n=\\\"function\\\"==typeof t?t:Ia.get(t)||Ba,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Oa=t.map({\\\"inside-out\\\":function(e){var r,n,i=e.length,a=e.map(Fa),o=e.map(Na),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:Ra}),Ia=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[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;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Ba});function Ra(e){return t.range(e.length)}function Ba(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Fa(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(Za),(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(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a<l;a++){Ka(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ya(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ya(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Wa(r,n=o):Wa(r=s,n),a--):(Ga(r,i),n=i,x(i))}var m=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=m,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(Ja)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function Za(t){t._pack_next=t._pack_prev=t}function Ja(t){delete t._pack_next,delete t._pack_prev}function Ka(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,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*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function Qa(t,e){return t.parent==e.parent?1:2}function $a(t){var e=t.children;return e.length?e[0]:t.t}function to(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function eo(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 ro(t,e,r){return t.a.parent===e.parent?t.a:r}function no(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function io(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function ao(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function oo(t){return t.rangeExtent?t.rangeExtent():ao(t.range())}function so(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function lo(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function co(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:uo}t.layout.histogram=function(){var e=!0,r=Number,n=qa,i=Va;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=me(t),a):n},a.bins=function(t){return arguments.length?(i=\\\"number\\\"==typeof t?function(e){return Ua(e,t)}:me(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:\\\"function\\\"==typeof e?e:function(){return e};if(s.x=s.y=0,Aa(s,function(t){t.r=+u(t.value)}),Aa(s,Xa),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Aa(s,function(t){t.r+=f}),Aa(s,Xa),Aa(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\\\"function\\\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},ka(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if(Aa(f,o),f.parent.m=-f.z,Ma(f,s),i)Ma(u,l);else{var h=u,p=u,d=u;Ma(u,function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);Ma(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,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!to(o)&&(o.t=s,o.m+=f-u),a&&!$a(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},ka(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Aa(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 f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Aa(c,i?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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},ka(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l=\\\"squarify\\\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,g=\\\"slice\\\"===l?a.dx:\\\"dice\\\"===l?a.dy:\\\"slice-dice\\\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,\\\"squarify\\\"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return io(e,t)}var r;return o=null==(a=t)?no:\\\"function\\\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?no(e):io(e,\\\"number\\\"==typeof r?[r,r,r,r]:r)}:\\\"number\\\"===r?(t=[t,t,t,t],e):e,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},ka(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,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},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 uo={floor:z,ceil:z};function fo(e,r,n,i){var a=[],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;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function ho(e,r){return t.rebind(e,r,\\\"range\\\",\\\"rangeRound\\\",\\\"interpolate\\\",\\\"clamp\\\")}function po(t,e){return lo(t,co(go(t,e)[2])),lo(t,co(go(t,e)[2])),t}function go(t,e){null==e&&(e=10);var r=ao(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function mo(e,r){return t.range.apply(t,go(e,r))}function vo(e,r,n){var i=go(e,r);if(n){var a=Le.exec(n);if(a.shift(),\\\"s\\\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\\\".\\\"+xo(o.scale(i[2]))),a[8]=\\\"f\\\",n=t.format(a.join(\\\"\\\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\\\".\\\"+function(t,e){var r=xo(e[2]);return t in yo?Math.abs(r-xo(Math.max(y(e[0]),y(e[1]))))+ +(\\\"e\\\"!==t):r-2*(\\\"%\\\"===t)}(a[8],i)),n=a.join(\\\"\\\")}else n=\\\",.\\\"+xo(i[2])+\\\"f\\\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?fo:so,s=i?pa:ha;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}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(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return mo(e,t)};l.tickFormat=function(t,r){return vo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c<u;c++)for(var h=1;h<f;h++)e.push(s(c)*h);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var h=f-1;h>0;h--)e.push(s(c)*h);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 bo;arguments.length<2?r=bo:\\\"function\\\"!=typeof r&&(r=t.format(r));var i=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<=i?r(t):\\\"\\\"}};l.copy=function(){return e(r.copy(),n,i,a)};return ho(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var bo=t.format(\\\".0e\\\"),_o={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function wo(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 i=wo(r),a=wo(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return mo(n,t)};o.tickFormat=function(t,e){return vo(n,t,e)};o.nice=function(t){return o.domain(po(n,t))};o.exponent=function(t){return arguments.length?(i=wo(r=t),a=wo(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return ho(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 i,a,o;function s(t){return a[((i.get(t)||(\\\"range\\\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\\\"range\\\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:\\\"rangePoints\\\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:\\\"rangeRoundPoints\\\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:\\\"rangeBands\\\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:\\\"rangeRoundBands\\\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return ao(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\\\"range\\\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(ko)},t.scale.category20=function(){return t.scale.ordinal().range(Mo)},t.scale.category20b=function(){return t.scale.ordinal().range(Ao)},t.scale.category20c=function(){return t.scale.ordinal().range(To)};var ko=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Mo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Ao=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),To=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function So(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}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/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return mo(e,t)};r.tickFormat=function(t,r){return vo(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Eo,e=Lo,r=So,n=Co,i=zo,a=Po,o=Do;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Ct,f=a.apply(this,arguments)-Ct,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=St)return l(c,p)+(s?l(s,1-p):\\\"\\\")+\\\"Z\\\";var d,g,m,v,y,x,b,_,w,k,M,A,T=0,S=0,C=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Co?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Ot(m/c*Math.sin(v))),s&&(T=Ot(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var E=Math.abs(f-u-2*S)<=At?0:1;if(S&&Oo(y,x,b,_)===p^E){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-T),k=s*Math.sin(f-T),M=s*Math.cos(u+T),A=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=At?0:1;if(T&&Oo(w,k,M,A)===1-p^z){var P=(u+f)/2;w=s*Math.cos(P),k=s*Math.sin(P),M=A=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var D=d,O=d;if(h<At){var I=null==M?[w,k]:null==b?[y,x]:ai([y,x],[M,A],[b,_],[w,k]),R=y-I[0],B=x-I[1],F=b-I[0],N=_-I[1],j=1/Math.sin(Math.acos((R*F+B*N)/(Math.sqrt(R*R+B*B)*Math.sqrt(F*F+N*N)))/2),V=Math.sqrt(I[0]*I[0]+I[1]*I[1]);O=Math.min(d,(s-V)/(j-1)),D=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=Io(null==M?[w,k]:[M,A],[y,x],c,D,p),q=Io([b,_],[w,k],c,D,p);d===D?C.push(\\\"M\\\",U[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",U[1],\\\"A\\\",c,\\\",\\\",c,\\\" 0 \\\",1-p^Oo(U[1][0],U[1][1],q[1][0],q[1][1]),\\\",\\\",p,\\\" \\\",q[1],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",q[0]):C.push(\\\"M\\\",U[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 1,\\\",g,\\\" \\\",q[0])}else C.push(\\\"M\\\",y,\\\",\\\",x);if(null!=M){var H=Io([y,x],[M,A],s,-O,p),G=Io([w,k],null==b?[y,x]:[b,_],s,-O,p);d===O?C.push(\\\"L\\\",G[0],\\\"A\\\",O,\\\",\\\",O,\\\" 0 0,\\\",g,\\\" \\\",G[1],\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",p^Oo(G[1][0],G[1][1],H[1][0],H[1][1]),\\\",\\\",1-p,\\\" \\\",H[1],\\\"A\\\",O,\\\",\\\",O,\\\" 0 0,\\\",g,\\\" \\\",H[0]):C.push(\\\"L\\\",G[0],\\\"A\\\",O,\\\",\\\",O,\\\" 0 0,\\\",g,\\\" \\\",H[0])}else C.push(\\\"L\\\",w,\\\",\\\",k)}else C.push(\\\"M\\\",y,\\\",\\\",x),null!=b&&C.push(\\\"A\\\",c,\\\",\\\",c,\\\" 0 \\\",E,\\\",\\\",p,\\\" \\\",b,\\\",\\\",_),C.push(\\\"L\\\",w,\\\",\\\",k),null!=M&&C.push(\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",z,\\\",\\\",1-p,\\\" \\\",M,\\\",\\\",A);return C.push(\\\"Z\\\"),C.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=me(e),s):t},s.outerRadius=function(t){return arguments.length?(e=me(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=me(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Co?Co:me(t),s):n},s.startAngle=function(t){return arguments.length?(i=me(t),s):i},s.endAngle=function(t){return arguments.length?(a=me(t),s):a},s.padAngle=function(t){return arguments.length?(o=me(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Ct;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Co=\\\"auto\\\";function Eo(t){return t.innerRadius}function Lo(t){return t.outerRadius}function zo(t){return t.startAngle}function Po(t){return t.endAngle}function Do(t){return t&&t.padAngle}function Oo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Io(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,k=(-b*m-v*_)/y,M=(b*v+m*_)/y,A=(-b*m+v*_)/y,T=w-d,S=k-g,C=M-d,E=A-g;return T*T+S*S>C*C+E*E&&(w=M,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Fo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=me(e),p=me(r);function d(){l.push(\\\"M\\\",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.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?(a=\\\"function\\\"==typeof t?i=t:(i=Bo.get(t)||Fo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Ro(z)};var Bo=t.map({linear:Fo,\\\"linear-closed\\\":No,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];for(;++e<r;)i.push(\\\"H\\\",(n[0]+(n=t[e])[0])/2,\\\"V\\\",n[1]);r>1&&i.push(\\\"H\\\",n[0]);return i.join(\\\"\\\")},\\\"step-before\\\":jo,\\\"step-after\\\":Vo,basis:Ho,\\\"basis-open\\\":function(t){if(t.length<4)return Fo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+\\\",\\\"+Go(Xo,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Zo(r,a,o);return r.join(\\\"\\\")},\\\"basis-closed\\\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Go(Xo,o),\\\",\\\",Go(Xo,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Zo(e,o,s);return e.join(\\\"\\\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ho(t)},cardinal:function(t,e){return t.length<3?Fo(t):t[0]+Uo(t,qo(t,e))},\\\"cardinal-open\\\":function(t,e){return t.length<4?Fo(t):t[1]+Uo(t.slice(1,-1),qo(t,e))},\\\"cardinal-closed\\\":function(t,e){return t.length<3?No(t):t[0]+Uo((t.push(t[0]),t),qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Fo(t):t[0]+Uo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Jo(i,a);for(;++e<r;)n[e]=(o+(o=Jo(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=Jo(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Fo(t){return t.length>1?t.join(\\\"L\\\"):t+\\\"Z\\\"}function No(t){return t.join(\\\"L\\\")+\\\"Z\\\"}function jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"V\\\",(n=t[e])[1],\\\"H\\\",n[0]);return i.join(\\\"\\\")}function Vo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n=t[e])[0],\\\"V\\\",n[1]);return i.join(\\\"\\\")}function Uo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Fo(t);var r=t.length!=e.length,n=\\\"\\\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\\\"Q\\\"+(a[0]-2*o[0]/3)+\\\",\\\"+(a[1]-2*o[1]/3)+\\\",\\\"+a[0]+\\\",\\\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\\\"C\\\"+(i[0]+o[0])+\\\",\\\"+(i[1]+o[1])+\\\",\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1];for(var c=2;c<e.length;c++,l++)a=t[l],s=e[c],n+=\\\"S\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1]}if(r){var u=t[l];n+=\\\"Q\\\"+(a[0]+2*s[0]/3)+\\\",\\\"+(a[1]+2*s[1]/3)+\\\",\\\"+u[0]+\\\",\\\"+u[1]}return n}function qo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ho(t){if(t.length<3)return Fo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\\\",\\\",a,\\\"L\\\",Go(Xo,o),\\\",\\\",Go(Xo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Zo(l,o,s);return t.pop(),l.push(\\\"L\\\",n),l.join(\\\"\\\")}function Go(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Bo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Wo=[0,2/3,1/3,0],Yo=[0,1/3,2/3,0],Xo=[0,1/6,2/3,1/6];function Zo(t,e,r){t.push(\\\"C\\\",Go(Wo,e),\\\",\\\",Go(Wo,r),\\\",\\\",Go(Yo,e),\\\",\\\",Go(Yo,r),\\\",\\\",Go(Xo,e),\\\",\\\",Go(Xo,r))}function Jo(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ko(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Ct,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Qo(t){var e=$n,r=$n,n=0,i=ti,a=Wr,o=Fo,s=o.key,l=o,c=\\\"L\\\",u=.7;function f(s){var f,h,p,d=[],g=[],m=[],v=-1,y=s.length,x=me(e),b=me(n),_=e===r?function(){return h}:me(r),w=n===i?function(){return p}:me(i);function k(){d.push(\\\"M\\\",o(t(m),u),c,l(t(g.reverse()),u),\\\"Z\\\")}for(;++v<y;)a.call(this,f=s[v],v)?(g.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),m.push([+_.call(this,f,v),+w.call(this,f,v)])):g.length&&(k(),g=[],m=[]);return g.length&&k(),d.length?d.join(\\\"\\\"):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s=\\\"function\\\"==typeof t?o=t:(o=Bo.get(t)||Fo).key,l=o.reverse||o,c=o.closed?\\\"M\\\":\\\"L\\\",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function $o(t){return t.radius}function ts(t){return[t.x,t.y]}function es(){return 64}function rs(){return\\\"circle\\\"}function ns(t){var e=Math.sqrt(t/At);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=Ro(Ko);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},jo.reverse=Vo,Vo.reverse=jo,t.svg.area=function(){return Qo(z)},t.svg.area.radial=function(){var t=Qo(Ko);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=Nn,e=jn,r=$o,n=zo,i=Po;function a(r,n){var i,a,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)+(a=u,(i=c).a0==a.a0&&i.a1==a.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,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Ct,u=i.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>At)+\\\",1 \\\"+e}function l(t,e,r,n){return\\\"Q 0,0 \\\"+n}return a.radius=function(t){return arguments.length?(r=me(t),a):r},a.source=function(e){return arguments.length?(t=me(e),a):t},a.target=function(t){return arguments.length?(e=me(t),a):e},a.startAngle=function(t){return arguments.length?(n=me(t),a):n},a.endAngle=function(t){return arguments.length?(i=me(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.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=me(e),n):t},n.target=function(t){return arguments.length?(e=me(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=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(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)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=me(e),r):t},r.size=function(t){return arguments.length?(e=me(t),r):e},r};var is=t.map({circle:ns,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*os)),r=e*os;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/as),r=e*as/2;return\\\"M0,\\\"+r+\\\"L\\\"+e+\\\",\\\"+-r+\\\" \\\"+-e+\\\",\\\"+-r+\\\"Z\\\"},\\\"triangle-up\\\":function(t){var e=Math.sqrt(t/as),r=e*as/2;return\\\"M0,\\\"+-r+\\\"L\\\"+e+\\\",\\\"+r+\\\" \\\"+-e+\\\",\\\"+r+\\\"Z\\\"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Et);Y.transition=function(t){for(var e,r,n=us||++ps,i=ms(t),a=[],o=fs||{time:Date.now(),ease:ta,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&vs(r,u,i,n,o),e.push(r)}return cs(a,i,n)},Y.interrupt=function(t){return this.each(null==t?ss:ls(ms(t)))};var ss=ls(ms());function ls(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 cs(t,e,r){return U(t,hs),t.namespace=e,t.id=r,t}var us,fs,hs=[],ps=0;function ds(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,\\\"function\\\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function gs(t){return null==t&&(t=\\\"\\\"),function(){this.textContent=t}}function ms(t){return null==t?\\\"__transition__\\\":\\\"__transition_\\\"+t+\\\"__\\\"}function vs(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.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,Me(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=Me(function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h},0,a),f=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}hs.call=Y.call,hs.empty=Y.empty,hs.node=Y.node,hs.size=Y.size,t.transition=function(e,r){return e&&e.transition?us?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=hs,hs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?(\\\"__data__\\\"in n&&(r.__data__=n.__data__),vs(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return cs(o,a,i)},hs.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&vs(i,d,s,o,a),e.push(i)}return cs(l,s,o)},hs.filter=function(t){var e,r,n=[];\\\"function\\\"!=typeof t&&(t=ct(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return cs(n,this.namespace,this.id)},hs.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(i){i[n][r].tween.set(t,e)})},hs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\\\"transform\\\"==e?fa:Gi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ds(this,\\\"attr.\\\"+e,r,i.local?function(t){return null==t?o:(t+=\\\"\\\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\\\"\\\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},hs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\\\"attr.\\\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},hs.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 i(){this.style.removeProperty(t)}return ds(this,\\\"style.\\\"+t,e,function(e){return null==e?i:(e+=\\\"\\\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Gi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},hs.styleTween=function(t,e,r){return arguments.length<3&&(r=\\\"\\\"),this.tween(\\\"style.\\\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},hs.text=function(t){return ds(this,\\\"text\\\",t,gs)},hs.remove=function(){var t=this.namespace;return this.each(\\\"end.transition\\\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},hs.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}))},hs.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,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},hs.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,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},hs.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=fs,o=us;try{us=n,ut(this,function(t,r,a){fs=t[i][n],e.call(t,t.__data__,r,a)})}finally{fs=a,us=o}}else ut(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\\\"start\\\",\\\"end\\\",\\\"interrupt\\\"))).on(e,r)});return this},hs.transition=function(){for(var t,e,r,n=this.id,i=++ps,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&vs(e,u,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return cs(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ys,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):z:e,g=u.selectAll(\\\".tick\\\").data(p,h),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(a,0)+s,b=oo(h),_=u.selectAll(\\\".domain\\\").data([0]),w=(_.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"domain\\\"),t.transition(_));m.append(\\\"line\\\"),m.append(\\\"text\\\");var k,M,A,T,S=m.select(\\\"line\\\"),C=y.select(\\\"line\\\"),E=g.select(\\\"text\\\").text(d),L=m.select(\\\"text\\\"),P=y.select(\\\"text\\\"),D=\\\"top\\\"===i||\\\"left\\\"===i?-1:1;if(\\\"bottom\\\"===i||\\\"top\\\"===i?(n=bs,k=\\\"x\\\",A=\\\"y\\\",M=\\\"x2\\\",T=\\\"y2\\\",E.attr(\\\"dy\\\",D<0?\\\"0em\\\":\\\".71em\\\").style(\\\"text-anchor\\\",\\\"middle\\\"),w.attr(\\\"d\\\",\\\"M\\\"+b[0]+\\\",\\\"+D*o+\\\"V0H\\\"+b[1]+\\\"V\\\"+D*o)):(n=_s,k=\\\"y\\\",A=\\\"x\\\",M=\\\"y2\\\",T=\\\"x2\\\",E.attr(\\\"dy\\\",\\\".32em\\\").style(\\\"text-anchor\\\",D<0?\\\"end\\\":\\\"start\\\"),w.attr(\\\"d\\\",\\\"M\\\"+D*o+\\\",\\\"+b[0]+\\\"H0V\\\"+b[1]+\\\"H\\\"+D*o)),S.attr(T,D*a),L.attr(A,D*x),C.attr(M,0).attr(T,D*a),P.attr(k,0).attr(A,D*x),h.rangeBand){var O=h,I=O.rangeBand()/2;f=h=function(t){return O(t)+I}}else f.rangeBand?f=h:v.call(n,h,f);m.call(n,f,h),y.call(n,h,h)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in xs?t+\\\"\\\":ys,u):i},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?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},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 ys=\\\"bottom\\\",xs={top:1,right:1,bottom:1,left:1};function bs(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(\\\"+(isFinite(n)?n:r(t))+\\\",0)\\\"})}function _s(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=j(h,\\\"brushstart\\\",\\\"brush\\\",\\\"brushend\\\"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=ks[0];function h(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(f,z);n.exit().remove(),n.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"resize \\\"+t}).style(\\\"cursor\\\",function(t){return ws[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\\\",h.empty()?\\\"none\\\":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=oo(i),l.attr(\\\"x\\\",o[0]).attr(\\\"width\\\",o[1]-o[0]),d(s)),a&&(o=oo(a),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 f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,M=y.classed(\\\"extent\\\"),A=xt(v),T=t.mouse(v),S=t.select(o(v)).on(\\\"keydown.brush\\\",function(){32==t.event.keyCode&&(M||(f=null,T[0]-=s[1],T[1]-=l[1],M=2),F())}).on(\\\"keyup.brush\\\",function(){32==t.event.keyCode&&2==M&&(T[0]+=s[1],T[1]+=l[1],M=0,F())});if(t.event.changedTouches?S.on(\\\"touchmove.brush\\\",L).on(\\\"touchend.brush\\\",P):S.on(\\\"mousemove.brush\\\",L).on(\\\"mouseup.brush\\\",P),b.interrupt().selectAll(\\\"*\\\").interrupt(),M)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var C=+/w$/.test(_),E=+/^n/.test(_);m=[s[1-C]-T[0],l[1-E]-T[1]],T[0]=s[C],T[1]=l[E]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),M||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<f[0])],T[1]=l[+(e[1]<f[1])]):f=null),w&&z(e,i,0)&&(d(b),r=!0),k&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\\\"brush\\\",mode:M?\\\"move\\\":\\\"resize\\\"}))}function z(t,n,i){var a,o,h=oo(n),p=h[0],d=h[1],g=T[i],m=i?l:s,v=m[1]-m[0];if(M&&(p-=g,d-=v+g),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],M?o=(a+=g)+v:(f&&(g=Math.max(p,Math.min(d,2*f[i]-a))),g<a?(o=a,a=g):o=g),m[0]!=a||m[1]!=o)return i?r=null:e=null,m[0]=a,m[1]=o,!0}function P(){L(),b.style(\\\"pointer-events\\\",\\\"all\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",h.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\\\"}),L()}return h.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,us?t.select(this).transition().each(\\\"start.brush\\\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\\\"brushstart\\\"})}).tween(\\\"brush:brush\\\",function(){var t=Wi(s,a.x),n=Wi(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\\\"brush\\\",mode:\\\"resize\\\"})}}).each(\\\"end.brush\\\",function(){e=a.i,r=a.j,i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"})}):(i({type:\\\"brushstart\\\"}),i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"}))})},h.x=function(t){return arguments.length?(f=ks[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=ks[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,\\\"on\\\")};var ws={n:\\\"ns-resize\\\",e:\\\"ew-resize\\\",s:\\\"ns-resize\\\",w:\\\"ew-resize\\\",nw:\\\"nwse-resize\\\",ne:\\\"nesw-resize\\\",se:\\\"nwse-resize\\\",sw:\\\"nesw-resize\\\"},ks=[[\\\"n\\\",\\\"e\\\",\\\"s\\\",\\\"w\\\",\\\"nw\\\",\\\"ne\\\",\\\"se\\\",\\\"sw\\\"],[\\\"e\\\",\\\"w\\\"],[\\\"n\\\",\\\"s\\\"],[]],Ms=De.format=sr.timeFormat,As=Ms.utc,Ts=As(\\\"%Y-%m-%dT%H:%M:%S.%LZ\\\");function Ss(t){return t.toISOString()}function Cs(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Ls,i);return a==Ls.length?[r.year,go(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Ls[a-1]<Ls[a]/i?a-1:a]:[Ds,go(e,n)[2]]}return i.invert=function(t){return Es(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Es)},i.nice=function(t,e){var r=i.domain(),n=ao(r),o=null==t?a(n,10):\\\"number\\\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Es(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(lo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Es(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Es(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):\\\"number\\\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Es(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Cs(e.copy(),r,n)},ho(i,e)}function Es(t){return new Date(t)}Ms.iso=Date.prototype.toISOString&&+new Date(\\\"2000-01-01T00:00:00.000Z\\\")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,De.second=Be(function(t){return new Oe(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),De.seconds=De.second.range,De.seconds.utc=De.second.utc.range,De.minute=Be(function(t){return new Oe(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),De.minutes=De.minute.range,De.minutes.utc=De.minute.utc.range,De.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new Oe(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),De.hours=De.hour.range,De.hours.utc=De.hour.utc.range,De.month=Be(function(t){return(t=De.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),De.months=De.month.range,De.months.utc=De.month.utc.range;var Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[De.second,1],[De.second,5],[De.second,15],[De.second,30],[De.minute,1],[De.minute,5],[De.minute,15],[De.minute,30],[De.hour,1],[De.hour,3],[De.hour,6],[De.hour,12],[De.day,1],[De.day,2],[De.week,1],[De.month,1],[De.month,3],[De.year,1]],Ps=Ms.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\\\",Wr]]),Ds={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Es)},floor:z,ceil:z};zs.year=De.year,De.scale=function(){return Cs(t.scale.linear(),zs,Ps)};var Os=zs.map(function(t){return[t[0].utc,t[1]]}),Is=As.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\\\",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Bs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Os.year=De.year.utc,De.scale.utc=function(){return Cs(t.scale.linear(),Os,Is)},t.text=ve(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\\\"application/json\\\",Rs,e)},t.html=function(t,e){return ye(t,\\\"text/html\\\",Bs,e)},t.xml=ve(function(t){return t.responseXML}),\\\"object\\\"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],131:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],132:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"incremental-convex-hull\\\"),i=t(\\\"uniq\\\");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];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 i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var g=f[d];h[d]=g,p+=g*g}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;for(var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(var u=0;u<=s;++u){var h=x.slice();h[u]=1,m[u+1]=h,v[u+1]=-1}for(var 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(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{\\\"incremental-convex-hull\\\":299,uniq:425}],133:[function(t,e,r){(function(t){var r=!1;if(\\\"undefined\\\"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.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),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\\\"buffer\\\").Buffer)},{buffer:85}],134:[function(t,e,r){var n=t(\\\"abs-svg-path\\\"),i=t(\\\"normalize-svg-path\\\"),a={M:\\\"moveTo\\\",C:\\\"bezierCurveTo\\\"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)}),t.closePath()}},{\\\"abs-svg-path\\\":44,\\\"normalize-svg-path\\\":337}],135:[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}}},{}],136:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){switch(void 0===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 i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],137:[function(t,e,r){\\\"use strict\\\";function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)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=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(d(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(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],p=t[b+1],u<n&&(n=u),p<s&&(s=p),u>l&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=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)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;n=r.next;for(;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(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 M(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 A(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(A(t,0,a,r));if(i)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(A(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],138:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t.length;if(\\\"number\\\"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),i=0;i<e;++i)o[i]=[];for(var i=0;i<r;++i){var a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(\\\"uniq\\\")},{uniq:425}],139:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../object/valid-value\\\");e.exports=function(){return n(this).length=0,this}},{\\\"../../object/valid-value\\\":171}],140:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Array.from:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":141,\\\"./shim\\\":142}],141:[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]))}},{}],142:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es6-symbol\\\").iterator,i=t(\\\"../../function/is-arguments\\\"),a=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\\\"),f=Array.isArray,h=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,k=arguments[1],M=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&a(this))e=this;else{if(!k){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(f(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=k?h.call(k,M,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=k?h.call(k,M,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=k?h.call(k,M,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\\\":143,\\\"../../function/is-function\\\":144,\\\"../../number/to-pos-integer\\\":150,\\\"../../object/is-value\\\":160,\\\"../../object/valid-callable\\\":169,\\\"../../object/valid-value\\\":171,\\\"../../string/is-string\\\":175,\\\"es6-symbol\\\":185}],143:[function(t,e,r){\\\"use strict\\\";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],144:[function(t,e,r){\\\"use strict\\\";var n=Object.prototype.toString,i=n.call(t(\\\"./noop\\\"));e.exports=function(t){return\\\"function\\\"==typeof t&&n.call(t)===i}},{\\\"./noop\\\":145}],145:[function(t,e,r){\\\"use strict\\\";e.exports=function(){}},{}],146:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Math.sign:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":147,\\\"./shim\\\":148}],147:[function(t,e,r){\\\"use strict\\\";e.exports=function(){var t=Math.sign;return\\\"function\\\"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],148:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],149:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../math/sign\\\"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{\\\"../math/sign\\\":146}],150:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./to-integer\\\"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{\\\"./to-integer\\\":149}],151:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./valid-callable\\\"),i=t(\\\"./valid-value\\\"),a=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,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort(\\\"function\\\"==typeof h?a.call(h,r):void 0),\\\"function\\\"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e})}}},{\\\"./valid-callable\\\":169,\\\"./valid-value\\\":171}],152:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Object.assign:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":153,\\\"./shim\\\":154}],153:[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\\\")}},{}],154:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../keys\\\"),i=t(\\\"../valid-value\\\"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{\\\"../keys\\\":161,\\\"../valid-value\\\":171}],155:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../array/from\\\"),i=t(\\\"./assign\\\"),a=t(\\\"./valid-value\\\");e.exports=function(t){var e=Object(a(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])}):i(s,t),s}},{\\\"../array/from\\\":140,\\\"./assign\\\":152,\\\"./valid-value\\\":171}],156:[function(t,e,r){\\\"use strict\\\";var n,i,a,o,s=Object.create;t(\\\"./set-prototype-of/is-implemented\\\")()||(n=t(\\\"./set-prototype-of/shim\\\")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){a[t]=\\\"__proto__\\\"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(i,a),Object.defineProperty(n,\\\"nullPolyfill\\\",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{\\\"./set-prototype-of/is-implemented\\\":167,\\\"./set-prototype-of/shim\\\":168}],157:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./_iterate\\\")(\\\"forEach\\\")},{\\\"./_iterate\\\":151}],158:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return\\\"function\\\"==typeof t}},{}],159:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is-value\\\"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{\\\"./is-value\\\":160}],160:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../function/noop\\\")();e.exports=function(t){return t!==n&&null!==t}},{\\\"../function/noop\\\":145}],161:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Object.keys:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":162,\\\"./shim\\\":163}],162:[function(t,e,r){\\\"use strict\\\";e.exports=function(){try{return Object.keys(\\\"primitive\\\"),!0}catch(t){return!1}}},{}],163:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../is-value\\\"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{\\\"../is-value\\\":160}],164:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./valid-callable\\\"),i=t(\\\"./for-each\\\"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)}),r}},{\\\"./for-each\\\":157,\\\"./valid-callable\\\":169}],165:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is-value\\\"),i=Array.prototype.forEach,a=Object.create;e.exports=function(t){var e=a(null);return i.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{\\\"./is-value\\\":160}],166:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Object.setPrototypeOf:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":167,\\\"./shim\\\":168}],167:[function(t,e,r){\\\"use strict\\\";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\\\"function\\\"==typeof t&&i(t(e(null),a))===a}},{}],168:[function(t,e,r){\\\"use strict\\\";var n,i,a,o,s=t(\\\"../is-object\\\"),l=t(\\\"../valid-value\\\"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError(\\\"Prototype must be null or an object\\\")},e.exports=(i=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})}())?(2===i.level?i.set?(o=i.set,a=function(t,e){return o.call(n(t,e),e),t}):a=function(t,e){return n(t,e).__proto__=e,t}:a=function t(e,r){var i;return n(e,r),(i=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&u(t.nullPolyfill,\\\"__proto__\\\",f),e},Object.defineProperty(a,\\\"level\\\",{configurable:!1,enumerable:!1,writable:!1,value:i.level})):null,t(\\\"../create\\\")},{\\\"../create\\\":156,\\\"../is-object\\\":159,\\\"../valid-value\\\":171}],169:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){if(\\\"function\\\"!=typeof t)throw new TypeError(t+\\\" is not a function\\\");return t}},{}],170:[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\\\":159}],171:[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\\\":160}],172:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?String.prototype.contains:t(\\\"./shim\\\")},{\\\"./is-implemented\\\":173,\\\"./shim\\\":174}],173:[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\\\"))}},{}],174:[function(t,e,r){\\\"use strict\\\";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],175:[function(t,e,r){\\\"use strict\\\";var n=Object.prototype.toString,i=n.call(\\\"\\\");e.exports=function(t){return\\\"string\\\"==typeof t||t&&\\\"object\\\"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],176:[function(t,e,r){\\\"use strict\\\";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],177:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/set-prototype-of\\\"),a=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?a.call(e,\\\"key+value\\\")?\\\"key+value\\\":a.call(e,\\\"key\\\")?\\\"key\\\":\\\"value\\\":\\\"value\\\",c(this,\\\"__kind__\\\",o(\\\"\\\",e))},i&&i(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\\\"))},{\\\"./\\\":180,d:121,\\\"es5-ext/object/set-prototype-of\\\":166,\\\"es5-ext/string/#/contains\\\":172,\\\"es6-symbol\\\":185}],178:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/function/is-arguments\\\"),i=t(\\\"es5-ext/object/valid-callable\\\"),a=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,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r=\\\"array\\\":a(t)?r=\\\"string\\\":t=o(t),i(e),f=function(){h=!0},\\\"array\\\"!==r)if(\\\"string\\\"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)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,f),!h);++p);else c.call(t,function(t){return l.call(e,v,t,f),h})}},{\\\"./get\\\":179,\\\"es5-ext/function/is-arguments\\\":143,\\\"es5-ext/object/valid-callable\\\":169,\\\"es5-ext/string/is-string\\\":175}],179:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/function/is-arguments\\\"),i=t(\\\"es5-ext/string/is-string\\\"),a=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 a(t):i(t)?new o(t):new a(t)}},{\\\"./array\\\":177,\\\"./string\\\":182,\\\"./valid-iterable\\\":183,\\\"es5-ext/function/is-arguments\\\":143,\\\"es5-ext/string/is-string\\\":175,\\\"es6-symbol\\\":185}],180:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/array/#/clear\\\"),a=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\\\"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\\\"Constructor requires 'new'\\\");h(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,h(n.prototype,a({_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)):f(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__&&i.call(this.__redo__),this.__nextIndex__=0})}))),f(n.prototype,u.iterator,l(function(){return this}))},{d:121,\\\"d/auto-bind\\\":120,\\\"es5-ext/array/#/clear\\\":139,\\\"es5-ext/object/assign\\\":152,\\\"es5-ext/object/valid-callable\\\":169,\\\"es5-ext/object/valid-value\\\":171,\\\"es6-symbol\\\":185}],181:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"es5-ext/function/is-arguments\\\"),i=t(\\\"es5-ext/object/is-value\\\"),a=t(\\\"es5-ext/string/is-string\\\"),o=t(\\\"es6-symbol\\\").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||\\\"function\\\"==typeof t[o])))}},{\\\"es5-ext/function/is-arguments\\\":143,\\\"es5-ext/object/is-value\\\":160,\\\"es5-ext/string/is-string\\\":175,\\\"es6-symbol\\\":185}],182:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/set-prototype-of\\\"),a=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__\\\",a(\\\"\\\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:a(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,a(\\\"c\\\",\\\"String Iterator\\\"))},{\\\"./\\\":180,d:121,\\\"es5-ext/object/set-prototype-of\\\":166,\\\"es6-symbol\\\":185}],183:[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\\\":181}],184:[function(t,e,r){(function(n,i){!function(t,n){\\\"object\\\"==typeof r&&void 0!==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)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c=\\\"undefined\\\"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h=\\\"undefined\\\"==typeof self&&void 0!==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<a;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}a=0}var v,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&U(i);var a,o=n._state;return o?(a=r[o-1],l(function(){return j(o,i,a,n._result)})):R(n,i,t,e),i}function k(t){if(t&&\\\"object\\\"==typeof t&&t.constructor===this)return t;var e=new this(A);return P(e,t),e}h?_=function(){return n.nextTick(m)}:f?(y=0,x=new f(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 e=t(\\\"vertx\\\");return o=e.runOnLoop||e.runOnContext,function(){o(m)}}catch(t){return d()}}():d();var M=Math.random().toString(36).substring(16);function A(){}var T=void 0,S=1,C=2,E=new F;function L(t){try{return t.then}catch(t){return E.error=t,E}}function z(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?O(t,e._result):e._state===C?I(t,e._result):R(e,void 0,function(e){return P(t,e)},function(e){return I(t,e)})}(t,r):n===E?I(t,E.error):void 0===n?O(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?P(t,r):O(t,r))},function(e){n||(n=!0,I(t,e))},t._label);!n&&i&&(n=!0,I(t,i))},t)}(t,r,n):O(t,r)}function P(t,e){var r;t===e?I(t,new TypeError(\\\"You cannot resolve a promise with itself\\\")):\\\"function\\\"==typeof(r=e)||\\\"object\\\"==typeof r&&null!==r?z(t,e,L(e)):O(t,e)}function D(t){t._onerror&&t._onerror(t._result),B(t)}function O(t,e){t._state===T&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(B,t))}function I(t,e){t._state===T&&(t._state=C,t._result=e,l(D,t))}function R(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+S]=r,i[a+C]=n,0===a&&t._state&&l(B,t)}function B(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?j(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var N=new F;function j(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,i))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void I(r,new TypeError(\\\"A promises callback cannot return that same promise.\\\"))}else o=i,l=!0;r._state!==T||(a&&l?P(r,o):c?I(r,s):t===S?O(r,o):t===C&&I(r,o))}var V=0;function U(t){t[M]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?O(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&O(this.promise,this._result))):I(this.promise,new Error(\\\"Array Methods must be provided an Array\\\"))}function H(t){this[M]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\\\"function\\\"!=typeof t&&function(){throw new TypeError(\\\"You must pass a resolver function as the first argument to the promise constructor\\\")}(),this instanceof H?function(t,e){try{e(function(e){P(t,e)},function(e){I(t,e)})}catch(e){I(t,e)}}(this,t):function(){throw new TypeError(\\\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\\\")}())}function G(){var t=void 0;if(void 0!==i)t=i;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=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===T&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var i=L(t);if(i===w&&t._state!==T)this._settledAt(t._state,e,t._result);else if(\\\"function\\\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===H){var a=new r(A);z(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===T&&(this._remaining--,t===C?I(n,r):this._result[e]=r),0===this._remaining&&O(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(C,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\\\"You must pass an array to race.\\\"))})},H.resolve=k,H.reject=function(t){var e=new this(A);return I(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t(\\\"_process\\\"),\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{_process:366}],185:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?Symbol:t(\\\"./polyfill\\\")},{\\\"./is-implemented\\\":186,\\\"./polyfill\\\":188}],186:[function(t,e,r){\\\"use strict\\\";var n={object:!0,symbol:!0};e.exports=function(){var t;if(\\\"function\\\"!=typeof Symbol)return!1;t=Symbol(\\\"test symbol\\\");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],187:[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]))}},{}],188:[function(t,e,r){\\\"use strict\\\";var n,i,a,o,s=t(\\\"d\\\"),l=t(\\\"./validate-symbol\\\"),c=Object.create,u=Object.defineProperties,f=Object.defineProperty,h=Object.prototype,p=c(null);if(\\\"function\\\"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||\\\"\\\")];)++n;return d[t+=n||\\\"\\\"]=!0,f(h,e=\\\"@@\\\"+t,s.gs(null,function(t){r||(r=!0,f(this,e,s(t)),r=!1)})),e});a=function(t){if(this instanceof a)throw new TypeError(\\\"Symbol is not a constructor\\\");return i(t)},e.exports=i=function t(e){var r;if(this instanceof t)throw new TypeError(\\\"Symbol is not a constructor\\\");return o?n(e):(r=c(a.prototype),e=void 0===e?\\\"\\\":String(e),u(r,{__description__:s(\\\"\\\",e),__name__:s(\\\"\\\",g(e))}))},u(i,{for:s(function(t){return p[t]?p[t]:p[t]=i(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s(\\\"\\\",n&&n.hasInstance||i(\\\"hasInstance\\\")),isConcatSpreadable:s(\\\"\\\",n&&n.isConcatSpreadable||i(\\\"isConcatSpreadable\\\")),iterator:s(\\\"\\\",n&&n.iterator||i(\\\"iterator\\\")),match:s(\\\"\\\",n&&n.match||i(\\\"match\\\")),replace:s(\\\"\\\",n&&n.replace||i(\\\"replace\\\")),search:s(\\\"\\\",n&&n.search||i(\\\"search\\\")),species:s(\\\"\\\",n&&n.species||i(\\\"species\\\")),split:s(\\\"\\\",n&&n.split||i(\\\"split\\\")),toPrimitive:s(\\\"\\\",n&&n.toPrimitive||i(\\\"toPrimitive\\\")),toStringTag:s(\\\"\\\",n&&n.toStringTag||i(\\\"toStringTag\\\")),unscopables:s(\\\"\\\",n&&n.unscopables||i(\\\"unscopables\\\"))}),u(a.prototype,{constructor:s(i),toString:s(\\\"\\\",function(){return this.__name__})}),u(i.prototype,{toString:s(function(){return\\\"Symbol (\\\"+l(this).__description__+\\\")\\\"}),valueOf:s(function(){return l(this)})}),f(i.prototype,i.toPrimitive,s(\\\"\\\",function(){var t=l(this);return\\\"symbol\\\"==typeof t?t:t.toString()})),f(i.prototype,i.toStringTag,s(\\\"c\\\",\\\"Symbol\\\")),f(a.prototype,i.toStringTag,s(\\\"c\\\",i.prototype[i.toStringTag])),f(a.prototype,i.toPrimitive,s(\\\"c\\\",i.prototype[i.toPrimitive]))},{\\\"./validate-symbol\\\":189,d:121}],189:[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\\\":187}],190:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./is-implemented\\\")()?WeakMap:t(\\\"./polyfill\\\")},{\\\"./is-implemented\\\":191,\\\"./polyfill\\\":193}],191:[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)))))}},{}],192:[function(t,e,r){\\\"use strict\\\";e.exports=\\\"function\\\"==typeof WeakMap&&\\\"[object WeakMap]\\\"===Object.prototype.toString.call(new WeakMap)},{}],193:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"es5-ext/object/set-prototype-of\\\"),a=t(\\\"es5-ext/object/valid-object\\\"),o=t(\\\"es5-ext/object/valid-value\\\"),s=t(\\\"es5-ext/string/random-uniq\\\"),l=t(\\\"d\\\"),c=t(\\\"es6-iterator/get\\\"),u=t(\\\"es6-iterator/for-of\\\"),f=t(\\\"es6-symbol\\\").toStringTag,h=t(\\\"./is-native-implemented\\\"),p=Array.isArray,d=Object.defineProperty,g=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\\\"Constructor requires 'new'\\\");return t=h&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,null!=e&&(p(e)||(e=c(e))),d(t,\\\"__weakMapData__\\\",l(\\\"c\\\",\\\"$weakMap$\\\"+s())),e?(u(e,function(e){o(e),t.set(e[0],e[1])}),t):t},h&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:l(n)})),Object.defineProperties(n.prototype,{delete:l(function(t){return!!g.call(a(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:l(function(t){if(g.call(a(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:l(function(t){return g.call(a(t),this.__weakMapData__)}),set:l(function(t,e){return d(a(t),this.__weakMapData__,l(\\\"c\\\",e)),this}),toString:l(function(){return\\\"[object WeakMap]\\\"})}),d(n.prototype,f,l(\\\"c\\\",\\\"WeakMap\\\"))},{\\\"./is-native-implemented\\\":192,d:121,\\\"es5-ext/object/set-prototype-of\\\":166,\\\"es5-ext/object/valid-object\\\":170,\\\"es5-ext/object/valid-value\\\":171,\\\"es5-ext/string/random-uniq\\\":176,\\\"es6-iterator/for-of\\\":178,\\\"es6-iterator/get\\\":179,\\\"es6-symbol\\\":185}],194:[function(t,e,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return\\\"function\\\"==typeof t}function a(t){return\\\"object\\\"==typeof t&&null!==t}function o(t){return void 0===t}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(\\\"number\\\"!=typeof t||t<0||isNaN(t))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,r,n,s,l,c;if(this._events||(this._events={}),\\\"error\\\"===t&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var u=new Error('Uncaught, unspecified \\\"error\\\" event. ('+e+\\\")\\\");throw u.context=e,u}if(o(r=this._events[t]))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(a(r))for(s=Array.prototype.slice.call(arguments,1),n=(c=r.slice()).length,l=0;l<n;l++)c[l].apply(this,s);return!0},n.prototype.addListener=function(t,e){var r;if(!i(e))throw TypeError(\\\"listener must be a function\\\");return this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",t,i(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&&!this._events[t].warned&&(r=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[t].length),\\\"function\\\"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){if(!i(e))throw TypeError(\\\"listener must be a function\\\");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[t])return this;if(o=(r=this._events[t]).length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e);else if(a(r)){for(s=o;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\\\"removeListener\\\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this}if(i(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],195:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n=e||0,i=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]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],196:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=typeof t;if(\\\"string\\\"===e){var r=t;if(0===(t=+t)&&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}(r))return!1}else if(\\\"number\\\"!==e)return!1;return t-t<1}},{}],197:[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:if(\\\"number\\\"==typeof t){var n=l(t);return new o(n,n,0)}return 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\\\"),i=t(\\\"binary-search-bounds\\\");function a(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=i.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=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=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,--h)v[p]=l[h],x[p]=c[h]*m,y[p]=l[h+u],b[p]=c[h+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=f[0],k=f[1];for(p=0;p<u;++p)s[p]=a(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],m[f]=l[u]*p,g[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===g[f]&&m[f]===v[f]&&0===m[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,m,g,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=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,i=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 f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(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,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{\\\"binary-search-bounds\\\":72,\\\"cubic-hermite\\\":115}],198:[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)&&Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&&\\\"string\\\"!=typeof e||(e=new(n(e||\\\"float32\\\"))(a+r));var o=e.length-r;if(a!==o)throw new Error(\\\"source length \\\"+a+\\\" (\\\"+i+\\\"x\\\"+t.length+\\\") does not match destination length \\\"+o);for(var s=0,l=r;s<t.length;s++)for(var c=0;c<i;c++)e[l++]=t[s][c]}else if(e&&\\\"string\\\"!=typeof e)e.set(t,r);else{var u=n(e||\\\"float32\\\");0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e}},{dtype:135}],199:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return new c(t||d,null)};var n=0,i=1;function a(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function o(t){return new a(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new a(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,\\\"keys\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,\\\"values\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,\\\"length\\\",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],f=[];o;){var h=r(t,o.key);u.push(o),f.push(h),o=h<=0?o.left:o.right}u.push(new a(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(m=g.right)||m._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).left===g?v.left=d:v.right=d;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else{if(!(m=g.right)||m._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).left===g?v.left=o:v.right=o;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else if(d.right===o){if(!(m=g.left)||m._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).right===g?v.right=d:v.left=d;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}else{var m;if(!(m=g.left)||m._color!==n){var v;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).right===g?v.right=o:v.left=o;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,\\\"begin\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,\\\"end\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.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,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.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 h=f.prototype;function p(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 d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(h,\\\"valid\\\",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,\\\"node\\\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.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 a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=i;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,a,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((a=r.left).left&&a.left._color===n)return c=(a=r.left=o(a)).left=o(a.left),r.left=a.right,a.right=r,a.left=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(h,\\\"key\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,\\\"value\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,\\\"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}),h.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(h,\\\"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}}),h.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),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.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(h,\\\"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}})},{}],200:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,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 o(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+i+.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(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],201:[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,i=e;try{var a=[t];0===t.indexOf(\\\"webgl\\\")&&a.push(\\\"experimental-\\\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],202:[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\\\"),i=t(\\\"./lib/lines.js\\\"),a=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.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.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=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=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,f=!1;if(\\\"bounds\\\"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[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 a(\\\"tickSpacing\\\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\\\"ticks\\\"in t||\\\"tickSpacing\\\"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&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),a(\\\"tickSize\\\"),a(\\\"tickAngle\\\"),a(\\\"tickPad\\\"),c(\\\"tickColor\\\");var g=l(\\\"labels\\\");l(\\\"labelFont\\\")&&(g=!0),o(\\\"labelEnable\\\"),a(\\\"labelSize\\\"),a(\\\"labelPad\\\"),c(\\\"labelColor\\\"),o(\\\"lineEnable\\\"),o(\\\"lineMirror\\\"),a(\\\"lineWidth\\\"),c(\\\"lineColor\\\"),o(\\\"lineTickEnable\\\"),o(\\\"lineTickMirror\\\"),a(\\\"lineTickLength\\\"),a(\\\"lineTickWidth\\\"),c(\\\"lineTickColor\\\"),o(\\\"gridEnable\\\"),a(\\\"gridWidth\\\"),c(\\\"gridColor\\\"),o(\\\"zeroEnable\\\"),c(\\\"zeroLineColor\\\"),a(\\\"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=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[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};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=u[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,u,f);e=this.gl;var T=g;for(M=0;M<3;++M)this.backgroundEnable[M]?T[M]=f[M]:T[M]=0;this._background.draw(r,n,i,a,T,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var S=[0,0,0];f[M]>0?S[M]=a[1][M]:S[M]=a[0][M];for(var C=0;C<2;++C){var E=(M+1+C)%3,L=(M+1+(1^C))%3;this.gridEnable[E]&&this._lines.drawGrid(E,L,this.bounds,S,this.gridColor[E],this.gridWidth[E]*this.pixelRatio)}for(C=0;C<2;++C){E=(M+1+C)%3,L=(M+1+(1^C))%3;this.zeroEnable[L]&&a[0][L]<=0&&a[1][L]>=0&&this._lines.drawZero(E,L,this.bounds,S,this.zeroLineColor[L],this.zeroLineWidth[L]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),P=c(y,A[M].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var O=k/r[5*C];z[C]*=D[C]*O,P[C]*=D[C]*O}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,P,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(M=0;M<3;++M){var I=A[M].primalMinor,R=c(x,A[M].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[M]&&(R[C]+=k*I[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);if(this.tickEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],R,this.tickColor[M])}if(this.labelEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.labelPad[C]/r[5*C];R[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],R,this.labelColor[M])}}this._text.unbind()},f.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\\\":203,\\\"./lib/cube.js\\\":204,\\\"./lib/lines.js\\\":205,\\\"./lib/text.js\\\":207,\\\"./lib/ticks.js\\\":208}],203:[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,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[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=i(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=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=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,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[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:i,colors:a},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\\\":206,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],204:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]<c[_][2]&&(_=y))}if(_<0){_=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,T=(M+1)%3,S=-1,C=-1,E=0;E<2;++E){var L=E<<M,z=L+(E<<A)+(1-E<<T),P=L+(1-E<<A)+(E<<T);o(c[L],c[z],c[P],f)<0||(E?S=1:C=1)}if(S<0||C<0)C>S&&(_|=1<<M);else{for(var E=0;E<2;++E){var L=E<<M,z=L+(E<<A)+(1-E<<T),P=L+(1-E<<A)+(E<<T),D=d([l[L],l[z],l[P],l[L+(1<<A)+(1<<T)]]);E?S=D:C=D}C>S&&(_|=1<<M)}}}for(var O=7^_,I=-1,y=0;y<8;++y)y!==_&&y!==O&&(I<0?I=y:c[I][1]>c[y][1]&&(I=y));for(var R=-1,y=0;y<3;++y){var B=I^1<<y;if(B!==_&&B!==O){R<0&&(R=B);var T=c[B];T[0]<c[R][0]&&(R=B)}}for(var F=-1,y=0;y<3;++y){var B=I^1<<y;if(B!==_&&B!==O&&B!==R){F<0&&(F=B);var T=c[B];T[0]>c[F][0]&&(F=B)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^I)]=I&R,N[n.log2(I^F)]=I&F;var j=7^F;j===_||j===O?(j=7^R,N[n.log2(F^j)]=j&F):N[n.log2(R^j)]=j&R;for(var V=m,U=_,M=0;M<3;++M)V[M]=U&1<<M?-1:1;return v};var n=t(\\\"bit-twiddle\\\"),i=t(\\\"gl-mat4/multiply\\\"),a=(t(\\\"gl-mat4/invert\\\"),t(\\\"split-polygon\\\")),o=t(\\\"robust-orientation\\\"),s=new Array(16),l=(new Array(16),new Array(8)),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+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=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=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]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{\\\"bit-twiddle\\\":73,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/multiply\\\":232,\\\"robust-orientation\\\":388,\\\"split-polygon\\\":405}],205:[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 f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var g=+r[f][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[f]=h,l[f]=m-h;for(var h=o.length/3|0,v=0;v<r[f].length;++v){var g=+r[f][v].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;c[f]=h,u[f]=m-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"./shaders\\\").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,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,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(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,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=f(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":206,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],206:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"#define GLSLIFY 1\\\\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 mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);r.line=function(t){return i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var s=n([\\\"#define GLSLIFY 1\\\\nattribute vec3 position;\\\\n\\\\nuniform mat4 model, view, projection;\\\\nuniform vec3 offset, axis;\\\\nuniform float scale, angle, pixelScale;\\\\nuniform vec2 resolution;\\\\n\\\\nvoid main() {  \\\\n  //Compute plane offset\\\\n  vec2 planeCoord = position.xy * pixelScale;\\\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\\\n                                -sin(angle), cos(angle));\\\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\\\n\\\\n  //Compute world offset\\\\n  float axisDistance = position.z;\\\\n  vec3 dataPosition = axisDistance * axis + offset;\\\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\\\n  \\\\n  //Compute clip position\\\\n  vec4 viewPosition = view * worldPosition;\\\\n  vec4 clipPosition = projection * viewPosition;\\\\n  clipPosition /= clipPosition.w;\\\\n\\\\n  //Apply text offset in clip coordinates\\\\n  clipPosition += vec4(viewOffset, 0, 0);\\\\n\\\\n  //Done\\\\n  gl_Position = clipPosition;\\\\n}\\\"]),l=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);r.text=function(t){return i(t,s,l,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var c=n([\\\"#define GLSLIFY 1\\\\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  if(dot(normal, enable) > 0.0) {\\\\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\\\\n}\\\"]),u=n([\\\"precision mediump 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 i(t,c,u,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],207:[function(t,e,r){(function(r){\\\"use strict\\\";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=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,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){this.gl;var o=[];function s(t,e,r,n){var i=l[r];i||(i=l[r]={});var s=i[e];s||(s=i[e]=function(t,e){try{return a(t,e)}catch(t){return console.warn(\\\"error vectorizing text:\\\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\"}));for(var c=(n||12)/12,u=s.positions,f=s.cells,h=0,p=f.length;h<p;++h)for(var d=f[h],g=2;g>=0;--g){var m=u[d[g]];o.push(c*m[0],-c*m[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r),h[p]=(o.length/3|0)-f[p],c[p]=o.length/3|0;for(var d=0;d<n[p].length;++d)n[p][d].text&&s(n[p][d].x,n[p][d].text,n[p][d].font||i,n[p][d].fontSize||12);u[p]=(o.length/3|0)-c[p]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var p=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=p,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,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\\\":206,_process:366,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279,\\\"vectorize-text\\\":430}],208:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=t+\\\"\\\",n=r.indexOf(\\\".\\\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\\\"\\\";if(s.indexOf(\\\"e\\\")>=0)return s;var l=o/a,c=o%a;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),i){for(var f=\\\"\\\"+c;f.length<i;)f=\\\"0\\\"+f;return u+\\\".\\\"+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}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 i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],209:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=t.bounds,x=(f=f||a(h,p,v,y)).axis;f.edges;o(u,p,h),o(u,v,u);for(var b=g,_=0;_<3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var M=(k+1)%3,A=(k+2)%3,T=m;t:for(var _=0;_<2;++_){var S=[];if(x[k]<0!=!!_){T[k]=y[_][k];for(var C=0;C<2;++C){T[M]=y[C^_][M];for(var E=0;E<2;++E)T[A]=y[E^C^_][A],S.push(T.slice())}for(var C=0;C<w.length;++C){if(0===S.length)continue t;S=i.positive(S,w[C])}for(var C=0;C<S.length;++C)for(var A=S[C],L=d(m,u,A,r,l),E=0;E<3;++E)b[E].lo=Math.min(b[E].lo,A[E]),b[E].hi=Math.max(b[E].hi,A[E]),E!==k&&(b[E].pixelsPerDataUnit=Math.min(b[E].pixelsPerDataUnit,Math.abs(L[E])))}}}return b};var n=t(\\\"extract-frustum-planes\\\"),i=t(\\\"split-polygon\\\"),a=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 f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var g=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],m=[0,0,0]},{\\\"./lib/cube.js\\\":204,\\\"extract-frustum-planes\\\":195,\\\"gl-mat4/multiply\\\":232,\\\"gl-mat4/transpose\\\":240,\\\"gl-vec4/transformMat4\\\":285,\\\"split-polygon\\\":405}],210:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\"),i=t(\\\"ndarray-ops\\\"),a=t(\\\"ndarray\\\"),o=[\\\"uint8\\\",\\\"uint8_clamped\\\",\\\"uint16\\\",\\\"uint32\\\",\\\"int8\\\",\\\"int16\\\",\\\"int32\\\",\\\"float32\\\"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\\\"gl-buffer: If resizing buffer, must not specify offset\\\");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];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&&void 0!==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=a(s,t.shape);i.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 f;f=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?f:f.subarray(0,t.length),e),n.free(f)}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 i=new s(t,r,t.createBuffer(),0,n);return i.update(e),i}},{ndarray:335,\\\"ndarray-ops\\\":329,\\\"typedarray-pool\\\":423}],211:[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\\\",34000:\\\"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\\\"}},{}],212:[function(t,e,r){var n=t(\\\"./1.0/numbers\\\");e.exports=function(t){return n[t]}},{\\\"./1.0/numbers\\\":211}],213:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl,r=n(e),o=i(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=a(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\\\"),i=t(\\\"gl-vao\\\"),a=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}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.opacity>=1},l.isTransparent=function(){return this.opacity<1},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);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 i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.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])),\\\"opacity\\\"in t&&(this.opacity=t.opacity);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 i=[],a=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<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))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]),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],i.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+f(i,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],i.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+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\\\"./shaders/index\\\":214,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],214:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"precision mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec3 clipBounds[2];\\\\nuniform float opacity;\\\\nvarying vec3 fragPosition;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = opacity * fragColor;\\\\n}\\\"]);e.exports=function(t){return i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"offset\\\",type:\\\"vec3\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],215:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-texture2d\\\");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=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 i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(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 f=1;if(\\\"color\\\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\\\"gl-fbo: Must specify a nonnegative number of colors\\\");if(f>1){if(!c)throw new Error(\\\"gl-fbo: Multiple draw buffer extension not supported\\\");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\\\"gl-fbo: Context does not support \\\"+f+\\\" draw buffers\\\")}}var h=t.UNSIGNED_BYTE,p=t.getExtension(\\\"OES_texture_float\\\");if(n.float&&f>0){if(!p)throw new Error(\\\"gl-fbo: Context does not support floating point textures\\\");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=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,h,f,g,m,c)};var i,a,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 f(t){switch(t){case i:throw new Error(\\\"gl-fbo: Framebuffer unsupported\\\");case a: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 h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);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,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,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(),i=t._shape[0],a=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]=h(r,i,a,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,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=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(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),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),f(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,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\\\"gl-fbo: Can't resize FBO, invalid dimensions\\\");t._shape[0]=e,t._shape[1]=r;for(var a=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,a),f(s)),u(n,a)}}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\\\":275}],216:[function(t,e,r){var n=t(\\\"sprintf-js\\\").sprintf,i=t(\\\"gl-constants/lookup\\\"),a=t(\\\"glsl-shader-name\\\"),o=t(\\\"add-line-numbers\\\");e.exports=function(t,e,r){\\\"use strict\\\";var s=a(e)||\\\"of unknown name (see npm glsl-shader-name)\\\",l=\\\"unknown type\\\";void 0!==r&&(l=r===i.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\");for(var c=n(\\\"Error compiling %s shader %s:\\\\n\\\",l,s),u=n(\\\"%s%s\\\",c,t),f=t.split(\\\"\\\\n\\\"),h={},p=0;p<f.length;p++){var d=f[p];if(\\\"\\\"!==d&&\\\"\\\\0\\\"!==d){var g=parseInt(d.split(\\\":\\\")[2]);if(isNaN(g))throw new Error(n(\\\"Could not parse error: %s\\\",d));h[g]=d}}for(var m=o(e).split(\\\"\\\\n\\\"),p=0;p<m.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=m[p];if(c+=v+\\\"\\\\n\\\",h[p+1]){var y=h[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\\\":45,\\\"gl-constants/lookup\\\":212,\\\"glsl-shader-name\\\":287,\\\"sprintf-js\\\":406}],217:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"iota-array\\\"),a=t(\\\"typedarray-pool\\\"),o=t(\\\"gl-shader\\\"),s=t(\\\"gl-buffer\\\"),l=t(\\\"./lib/shaders\\\");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,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,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.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 i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.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,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.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]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(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,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),m=1/((f[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),M=0,A=0;A<y-1;++A)for(var T=m*(o[A]-d),S=m*(o[A+1]-d),C=0;C<v-1;++C)for(var E=g*(r[C]-p),L=g*(r[C+1]-p),z=0;z<h.length;z+=2){var P,D,O,I,R=h[z],B=h[z+1],F=s[(A+B)*v+(C+R)],N=n.le(l,F);if(N<0)P=c[0],D=c[1],O=c[2],I=c[3];else if(N===u-1)P=c[4*u-4],D=c[4*u-3],O=c[4*u-2],I=c[4*u-1];else{var j=(F-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);P=V*c[U]+j*c[q],D=V*c[U+1]+j*c[q+1],O=V*c[U+2]+j*c[q+2],I=V*c[U+3]+j*c[q+3]}b[4*M]=255*P,b[4*M+1]=255*D,b[4*M+2]=255*O,b[4*M+3]=255*I,_[2*M]=.5*E+.5*L,_[2*M+1]=.5*T+.5*S,w[2*M]=R,w[2*M+1]=B,k[M]=A*v+C,M+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),a.free(_),a.free(b),a.free(w),a.free(k)},f.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\\\":218,\\\"binary-search-bounds\\\":219,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263,\\\"iota-array\\\":302,\\\"typedarray-pool\\\":423}],218:[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:295}],219:[function(t,e,r){arguments[4][91][0].apply(r,arguments)},{dup:91}],220:[function(t,e,r){var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=n([\\\"precision mediump 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\\\\nvoid main() {\\\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\\\n\\\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\\\n\\\\n  worldPosition = position;\\\\n  pixelArcLength = arcLength;\\\\n  fragColor = color;\\\\n}\\\\n\\\"]),o=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\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 mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\n#define FLOAT_MAX  1.70141184e38\\\\n#define FLOAT_MIN  1.17549435e-38\\\\n\\\\nlowp vec4 encode_float_1540259130(highp float v) {\\\\n  highp 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  highp vec4 c = vec4(0,0,0,0);\\\\n\\\\n  //Compute exponent and mantissa\\\\n  highp float e = floor(log2(av));\\\\n  highp 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  highp 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\\\\nuniform float pickId;\\\\nuniform vec3 clipBounds[2];\\\\n\\\\nvarying vec3 worldPosition;\\\\nvarying float pixelArcLength;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(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 i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{\\\"gl-shader\\\":263,glslify:295}],221:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(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),c=i(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}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new m(e,r,o,s,c,d);return g.update(t),g};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"gl-texture2d\\\"),o=t(\\\"glsl-read-float\\\"),s=t(\\\"binary-search-bounds\\\"),l=t(\\\"ndarray\\\"),c=t(\\\"./lib/shaders\\\"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function d(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 g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var v=m.prototype;v.isTransparent=function(){return this.opacity<1},v.isOpaque=function(){return this.opacity>=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(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()},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\\\"dashScale\\\"in t&&(this.dashScale=t.dashScale),\\\"opacity\\\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,c=[],u=[],f=[],h=0,d=0,g=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],m=!1;t:for(e=1;e<i.length;++e){var v,y,x,b=i[e-1],_=i[e];for(u.push(h),f.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&c.length>0){for(var w=0;w<24;++w)c.push(c[c.length-12]);d+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],b[r],_[r]),g[1][r]=Math.max(g[1][r],b[r],_[r])}Array.isArray(a[0])?(v=a[e-1],y=a[e]):v=y=a,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),x=Array.isArray(o)?o[e-1]:o;var k=h;if(h+=p(b,_),m){for(r=0;r<2;++r)c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3]);d+=2,m=!1}c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],h,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],h,x,y[0],y[1],y[2],y[3]),d+=4}if(this.buffer.update(c),u.push(h),f.push(i[i.length-1].slice()),this.bounds=g,this.vertexCount=d,this.points=f,this.arcLength=u,\\\"dashes\\\"in t){var M=t.dashes.slice();for(M.unshift(0),e=1;e<M.length;++e)M[e]=M[e-1]+M[e];var A=l(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&s.le(M,M[M.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-a,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+a*i[u];var f=Math.min(a<.5?r:r+1,this.points.length-1);return new g(e,c,f,this.points[f])}},{\\\"./lib/shaders\\\":220,\\\"binary-search-bounds\\\":72,\\\"gl-buffer\\\":210,\\\"gl-texture2d\\\":275,\\\"gl-vao\\\":279,\\\"glsl-read-float\\\":286,ndarray:335}],222:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],223:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=u*o-s*c,h=-u*a+s*l,p=c*a-o*l,d=r*f+n*h+i*p;return d?(d=1/d,t[0]=f*d,t[1]=(-u*n+i*c)*d,t[2]=(s*n-i*o)*d,t[3]=h*d,t[4]=(u*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null}},{}],224:[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}},{}],225:[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}},{}],226:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],f=t[10],h=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*a)*(f*m-h*g)-(e*s-n*a)*(u*m-h*d)+(e*l-i*a)*(u*g-f*d)+(r*s-n*o)*(c*m-h*p)-(r*l-i*o)*(c*g-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],227:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,f=n*s,h=i*o,p=i*s,d=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=h+m,t[9]=p-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],228:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,f=n*l,h=n*c,p=i*l,d=i*c,g=a*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=h+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}},{}],229:[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}},{}],230:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=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-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,C=f*v-p*g,E=h*v-p*m,L=y*E-x*C+b*S+_*T-w*A+k*M;if(!L)return null;return L=1/L,t[0]=(s*E-l*C+c*S)*L,t[1]=(i*C-n*E-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*E-c*A)*L,t[5]=(r*E-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*C-s*T+c*M)*L,t[9]=(n*T-r*C-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t}},{}],231:[function(t,e,r){var n=t(\\\"./identity\\\");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g=e[0],m=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-k)<1e-6)return n(t);f=g-_,h=m-w,p=v-k,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0);l=h*s-p*o,c=p*a-f*s,u=f*o-h*a,(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]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(f*g+h*m+p*v),t[15]=1,t}},{\\\"./identity\\\":229}],232:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=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+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+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+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+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+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+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+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],233:[function(t,e,r){e.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},{}],234:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S,C=n[0],E=n[1],L=n[2],z=Math.sqrt(C*C+E*E+L*L);if(Math.abs(z)<1e-6)return null;C*=z=1/z,E*=z,L*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=C*C*o+a,b=E*C*o+L*i,_=L*C*o-E*i,w=C*E*o-L*i,k=E*E*o+a,M=L*E*o+C*i,A=C*L*o+E*i,T=E*L*o-C*i,S=L*L*o+a,t[0]=s*x+f*b+g*_,t[1]=l*x+h*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*k+g*M,t[5]=l*w+h*k+m*M,t[6]=c*w+p*k+v*M,t[7]=u*w+d*k+y*M,t[8]=s*A+f*T+g*S,t[9]=l*A+h*T+m*S,t[10]=c*A+p*T+v*S,t[11]=u*A+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],235:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=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]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],236:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],f=e[10],h=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]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],237:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=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]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],238:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],239:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,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],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],240:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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}},{}],241:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(\\\"currently supports matrices up to 4x4\\\")}return t};var n=t(\\\"gl-mat2/invert\\\"),i=t(\\\"gl-mat3/invert\\\"),a=t(\\\"gl-mat4/invert\\\")},{\\\"gl-mat2/invert\\\":222,\\\"gl-mat3/invert\\\":223,\\\"gl-mat4/invert\\\":230}],242:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"barycentric\\\"),i=t(\\\"polytope-closest-point/lib/closest_point_2d.js\\\");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:54,\\\"polytope-closest-point/lib/closest_point_2d.js\\\":365}],243:[function(t,e,r){var n=t(\\\"glslify\\\"),i=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;\\\\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\\\\nvoid main() {\\\\n  vec4 m_position  = model * vec4(position, 1.0);\\\\n  vec4 t_position  = view * m_position;\\\\n  gl_Position      = projection * t_position;\\\\n  f_color          = color;\\\\n  f_normal         = normal;\\\\n  f_data           = position;\\\\n  f_eyeDirection   = eyePosition   - position;\\\\n  f_lightDirection = lightPosition - position;\\\\n  f_uv             = uv;\\\\n}\\\\n\\\"]),a=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\\\\nvec3 normals(vec3 pos) {\\\\n  vec3 fdx = dFdx(pos);\\\\n  vec3 fdy = dFdy(pos);\\\\n  return normalize(cross(fdx, fdy));\\\\n}\\\\n\\\\nuniform vec3 clipBounds[2];\\\\nuniform float roughness\\\\n            , fresnel\\\\n            , kambient\\\\n            , kdiffuse\\\\n            , kspecular\\\\n            , opacity;\\\\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(any(lessThan(f_data, clipBounds[0])) ||\\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  vec3 N = normalize(f_normal);\\\\n  vec3 L = normalize(f_lightDirection);\\\\n  vec3 V = normalize(f_eyeDirection);\\\\n\\\\n  vec3 normal = normals(f_data);\\\\n\\\\n  if (\\\\n    dot(N, normal) < 0.0\\\\n    ) {\\\\n      N = -N;\\\\n  }\\\\n\\\\n  float specular = 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 mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\\\n}\\\"]),l=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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 mediump 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 mediump 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}\\\"]),f=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3  clipBounds[2];\\\\nuniform float pickId;\\\\n\\\\nvarying vec3 f_position;\\\\nvarying vec4 f_id;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(f_position, clipBounds[0])) || \\\\n     any(greaterThan(f_position, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\\\n}\\\"]),h=n([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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 mediump 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 mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 contourColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(contourColor,1);\\\\n}\\\\n\\\"]);r.meshShader={vertex:i,fragment:a,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:f,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},r.pointPickShader={vertex:h,fragment:f,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:295}],244:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\"),i=t(\\\"gl-buffer\\\"),a=t(\\\"gl-vao\\\"),o=t(\\\"gl-texture2d\\\"),s=t(\\\"normals\\\"),l=t(\\\"gl-mat4/multiply\\\"),c=t(\\\"gl-mat4/invert\\\"),u=t(\\\"ndarray\\\"),f=t(\\\"colormap\\\"),h=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 k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,k,M,A,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,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=k,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var M=k.prototype;function A(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 T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(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 C(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}M.isOpaque=function(){return this.opacity>=1},M.isTransparent=function(){return this.opacity<1},M.pickSlots=1,M.setPickBase=function(t){this.pickId=t},M.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],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},M.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),\\\"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),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){for(var e=f({colormap:t,nshades:256,format:\\\"rgba\\\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,M=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,A)),k||w||(w=s.vertexNormals(r,n,M));var T=t.vertexColors,S=t.cellColors,C=t.meshColor||[1,1,1,1],E=t.vertexUVs,L=t.vertexIntensity,z=t.cellUVs,P=t.cellIntensity,D=1/0,O=-1/0;if(!E&&!z)if(L)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],O=+t.vertexIntensityBounds[1];else for(var I=0;I<L.length;++I){var R=L[I];D=Math.min(D,R),O=Math.max(O,R)}else if(P)for(I=0;I<P.length;++I){R=P[I];D=Math.min(D,R),O=Math.max(O,R)}else for(I=0;I<n.length;++I){R=n[I][2];D=Math.min(D,R),O=Math.max(O,R)}this.intensity=L||(P?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,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));var B=t.pointSizes,F=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(I=0;I<n.length;++I)for(var N=n[I],j=0;j<3;++j)!isNaN(N[j])&&isFinite(N[j])&&(this.bounds[0][j]=Math.min(this.bounds[0][j],N[j]),this.bounds[1][j]=Math.max(this.bounds[1][j],N[j]));var V=0,U=0,q=0;t:for(I=0;I<r.length;++I){var H=r[I];switch(H.length){case 1:for(N=n[W=H[0]],j=0;j<3;++j)if(isNaN(N[j])||!isFinite(N[j]))continue t;v.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[I]:C).length?y.push(Y[0],Y[1],Y[2],1):y.push(Y[0],Y[1],Y[2],Y[3]),X=E?E[W]:L?[(L[W]-D)/(O-D),0]:z?z[I]:P?[(P[I]-D)/(O-D),0]:[(N[2]-D)/(O-D),0],x.push(X[0],X[1]),B?b.push(B[W]):b.push(F),_.push(I),q+=1;break;case 2:for(j=0;j<2;++j){N=n[W=H[j]];for(var G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t}for(j=0;j<2;++j){N=n[W=H[j]];p.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[I]:C).length?d.push(Y[0],Y[1],Y[2],1):d.push(Y[0],Y[1],Y[2],Y[3]),X=E?E[W]:L?[(L[W]-D)/(O-D),0]:z?z[I]:P?[(P[I]-D)/(O-D),0]:[(N[2]-D)/(O-D),0],g.push(X[0],X[1]),m.push(I)}U+=1;break;case 3:for(j=0;j<3;++j)for(N=n[W=H[j]],G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t;for(j=0;j<3;++j){var W,Y,X,Z;N=n[W=H[j]];i.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[I]:C).length?a.push(Y[0],Y[1],Y[2],1):a.push(Y[0],Y[1],Y[2],Y[3]),X=E?E[W]:L?[(L[W]-D)/(O-D),0]:z?z[I]:P?[(P[I]-D)/(O-D),0]:[(N[2]-D)/(O-D),0],c.push(X[0],X[1]),Z=w?w[W]:k[I],l.push(Z[0],Z[1],Z[2]),h.push(I)}V+=1}}this.pointCount=q,this.edgeCount=U,this.triangleCount=V,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(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},M.drawTransparent=M.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,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,contourColor:this.contourColor,texture:0};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 f,h=u[15];for(o=0;o<3;++o)h+=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/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},M.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,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),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())},M.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,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},M.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){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension(\\\"OES_standard_derivatives\\\")||t.getExtension(\\\"MOZ_OES_standard_derivatives\\\")||t.getExtension(\\\"WEBKIT_OES_standard_derivatives\\\")))throw new Error(\\\"derivatives not supported\\\");var r=function(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}(t),s=function(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}(t),l=A(t),c=T(t),f=S(t),h=C(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=i(t),g=i(t),y=i(t),x=i(t),b=i(t),_=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=i(t),M=i(t),E=i(t),L=i(t),z=a(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:L,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:M,type:t.FLOAT,size:4},{buffer:E,type:t.FLOAT,size:2}]),P=i(t),D=i(t),O=i(t),I=i(t),R=i(t),B=a(t,[{buffer:P,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:D,type:t.FLOAT,size:4},{buffer:O,type:t.FLOAT,size:2},{buffer:I,type:t.FLOAT,size:1}]),F=i(t),N=new k(t,p,r,s,l,c,f,h,d,b,g,y,x,_,w,L,M,E,z,P,R,D,O,I,B,F,a(t,[{buffer:F,type:t.FLOAT,size:3}]));return N.update(e),N}},{\\\"./lib/closest-point\\\":242,\\\"./lib/shaders\\\":243,colormap:106,\\\"gl-buffer\\\":210,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/multiply\\\":232,\\\"gl-shader\\\":263,\\\"gl-texture2d\\\":275,\\\"gl-vao\\\":279,ndarray:335,normals:338,\\\"simplicial-complex-contour\\\":396,\\\"typedarray-pool\\\":423}],245:[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=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":248,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],246:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=a[g],v=a[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){f[0]=f[1]=0,f[g]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=h[g];var _=6*n[g].length;p[g]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=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 k=p[w],M=p[w+2]-k,A=.5*(d[w+2]+d[w]),T=d[w+2]-d[w];e[w]=2*M/T,t[w]=2*(k-A)/T}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 C=s.tickMarkLength,E=s.tickMarkWidth,L=s.tickMarkColor,z=6*f[0].length,P=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),D=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),O=0+6*P,I=6*Math.max(0,D-P),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),B=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),F=z+6*R,N=6*Math.max(0,B-R);i[0]=2*(g[0]-C[1])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=C[1]*m/y,o[1]=E[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[1]-C[0])/x-1,o[0]=E[0]*m/y,o[1]=C[0]*m/x,I&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,I)),i[0]=2*(g[2]+C[3])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=C[3]*m/y,o[1]=E[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[3]+C[2])/x-1,o[0]=E[2]*m/y,o[1]=C[2]*m/x,I&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,I))}}(),d.update=(h=[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)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[i++]=d,n[i++]=h[g],n[i++]=p[g]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\\\"./shaders\\\":248,\\\"binary-search-bounds\\\":250,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],247:[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=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,i,a){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=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":248,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],248:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=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:i,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:i,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:i,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:295}],249:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-shader\\\"),a=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,f,h,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=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],k=this.labelCount[t],M=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])/(h[2+t]-h[t])-1;var T=2/h[2+(1^t)]-h[1^t];u[1^t]=T*s[1^t]-1,d[t]&&(u[1^t]-=T*p*g[t],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t]&&k&&(u[1^t]-=T*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t+2]&&k&&(u[1^t]+=T*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=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-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=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],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,g=p.text,m=p.font||\\\"sans-serif\\\";i=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=a(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:\\\"center\\\"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\\\"./shaders\\\":248,\\\"binary-search-bounds\\\":250,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263,\\\"text-cache\\\":414}],250:[function(t,e,r){arguments[4][91][0].apply(r,arguments)},{dup:91}],251:[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=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t(\\\"gl-select-static\\\"),i=t(\\\"./lib/grid\\\"),a=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 f(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,i=this.pixelRatio,a=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),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[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],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[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]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,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,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,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 f=c[u].pick(a,o,l);if(f)return f}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,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),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 a=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=a[s].slice(0);0!==l.length&&(l.sort(f),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:a}),this.text.update({bounds:o,ticks:a,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\\\":245,\\\"./lib/grid\\\":246,\\\"./lib/line\\\":247,\\\"./lib/text\\\":249,\\\"gl-select-static\\\":262}],252:[function(t,e,r){var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=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 i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec2\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],253:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\\\"canvas\\\"),t.container){var m=t.container;m.appendChild(r)}else document.body.appendChild(r);var v=t.gl;v||(v=function(t,e){var r=null;try{(r=t.getContext(\\\"webgl\\\",e))||(r=t.getContext(\\\"experimental-webgl\\\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!v)throw new Error(\\\"webgl not supported\\\");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new function(){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},b=l(v,[v.drawingBufferWidth,v.drawingBufferHeight],{preferFloat:!p}),_=h(v),w=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\\\"turntable\\\"},k=t.axes||{},M=i(v,k);M.enable=!k.disable;var A=t.spikes||{},T=o(v,A),S=[],C=[],E=[],L=[],z=!0,P=!0,D=new Array(16),O=new Array(16),I={view:null,projection:D,model:O},P=!0,R=[v.drawingBufferWidth,v.drawingBufferHeight],B={gl:v,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:x,camera:n(r,w),axes:M,axesPixels:null,spikes:T,bounds:y,objects:S,shape:R,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:g(t.autoResize),autoBounds:g(t.autoBounds),autoScale:!!t.autoScale,autoCenter:g(t.autoCenter),clipToBounds:g(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:I,oncontextloss:null,mouseListener:null},F=[v.drawingBufferWidth/B.pixelRatio|0,v.drawingBufferHeight/B.pixelRatio|0];function N(){if(!e&&B.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*B.pixelRatio),o=0|Math.ceil(i*B.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\\\"absolute\\\",s.left=\\\"0px\\\",s.top=\\\"0px\\\",s.width=n+\\\"px\\\",s.height=i+\\\"px\\\",z=!0}}}B.autoResize&&N();function j(){for(var t=S.length,e=L.length,r=0;r<e;++r)E[r]=0;t:for(var r=0;r<t;++r){var n=S[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(E[a]+i<255){C[r]=a,n.setPickBase(E[a]+1),E[a]+=i;continue t}var o=s(v,R);C[r]=e,L.push(o),E.push(i),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===E[e-1];)E.pop(),L.pop().dispose()}window.addEventListener(\\\"resize\\\",N),B.update=function(t){e||(t=t||{},z=!0,P=!0)},B.add=function(t){e||(t.axes=M,S.push(t),C.push(-1),z=!0,P=!0,j())},B.remove=function(t){if(!e){var r=S.indexOf(t);r<0||(S.splice(r,1),C.pop(),z=!0,P=!0,j())}},B.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\\\"resize\\\",N),r.removeEventListener(\\\"webglcontextlost\\\",q),B.mouseListener.enabled=!1,!B.contextLost)){M.dispose(),T.dispose();for(var t=0;t<S.length;++t)S[t].dispose();b.dispose();for(var t=0;t<L.length;++t)L[t].dispose();_.dispose(),v=null,M=null,T=null,S=[]}};var V=!1,U=0;function q(){if(B.contextLost)return!0;v.isContextLost()&&(B.contextLost=!0,B.mouseListener.enabled=!1,B.selection.object=null,B.oncontextloss&&B.oncontextloss())}B.mouseListener=u(r,function(t,r,n){if(!e){var i=L.length,a=S.length,o=x.object;x.distance=1/0,x.mouse[0]=r,x.mouse[1]=n,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var s=!1;if(t&&U)V=!0;else{V&&(P=!0),V=!1;for(var l=0;l<i;++l){var c=L[l].query(r,F[1]-n-1,B.pickRadius);if(c){if(c.distance>x.distance)continue;for(var u=0;u<a;++u){var f=S[u];if(C[u]===l){var h=f.pick(c);h&&(x.buttons=t,x.screen=c.coord,x.distance=c.distance,x.object=f,x.index=h.distance,x.dataPosition=h.position,x.dataCoordinate=h.dataCoordinate,x.data=h,s=!0)}}}}}o&&o!==x.object&&(o.highlight&&o.highlight(null),z=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),z=!0),(s=s||x.object!==o)&&B.onselect&&B.onselect(x),1&t&&!(1&U)&&B.onclick&&B.onclick(x),U=t}}),r.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 W(){if(!q()){N();var t=B.camera.tick();I.view=B.camera.matrix,z=z||t,P=P||t,M.pixelRatio=B.pixelRatio,T.pixelRatio=B.pixelRatio;var e=S.length,r=H[0],n=H[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var i=0;i<e;++i){var o=S[i];o.pixelRatio=B.pixelRatio,o.axes=B.axes,z=z||!!o.dirty,P=P||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],h=0;h<3;++h)r[h]=Math.min(r[h],l[h]),n[h]=Math.max(n[h],u[h])}var p=B.bounds;if(B.autoBounds)for(var h=0;h<3;++h){if(n[h]<r[h])r[h]=-1,n[h]=1;else{r[h]===n[h]&&(r[h]-=1,n[h]+=1);var g=.05*(n[h]-r[h]);r[h]=r[h]-g,n[h]=n[h]+g}p[0][h]=r[h],p[1][h]=n[h]}for(var m=!1,h=0;h<3;++h)m=m||G[0][h]!==p[0][h]||G[1][h]!==p[1][h],G[0][h]=p[0][h],G[1][h]=p[1][h];if(P=P||m,z=z||m){if(m){for(var y=[0,0,0],i=0;i<3;++i)y[i]=d((p[1][i]-p[0][i])/10);M.autoTicks?M.update({bounds:p,tickSpacing:y}):M.update({bounds:p})}var w=v.drawingBufferWidth,k=v.drawingBufferHeight;R[0]=w,R[1]=k,F[0]=0|Math.max(w/B.pixelRatio,1),F[1]=0|Math.max(k/B.pixelRatio,1),f(D,B.fovy,w/k,B.zNear,B.zFar);for(var i=0;i<16;++i)O[i]=0;O[15]=1;for(var A=0,i=0;i<3;++i)A=Math.max(A,p[1][i]-p[0][i]);for(var i=0;i<3;++i)B.autoScale?O[5*i]=B.aspect[i]/(p[1][i]-p[0][i]):O[5*i]=1/A,B.autoCenter&&(O[12+i]=.5*-O[5*i]*(p[0][i]+p[1][i]));for(var i=0;i<e;++i){var o=S[i];o.axesBounds=p,B.clipToBounds&&(o.clipBounds=p)}x.object&&(B.snapToData?T.position=x.dataCoordinate:T.position=x.dataPosition,T.bounds=p),P&&(P=!1,function(){if(q())return;v.colorMask(!0,!0,!0,!0),v.depthMask(!0),v.disable(v.BLEND),v.enable(v.DEPTH_TEST);for(var t=S.length,e=L.length,r=0;r<e;++r){var n=L[r];n.shape=F,n.begin();for(var i=0;i<t;++i)if(C[i]===r){var a=S[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(I))}n.end()}}()),B.axesPixels=a(B.axes,I,w,k),B.onrender&&B.onrender(),v.bindFramebuffer(v.FRAMEBUFFER,null),v.viewport(0,0,w,k);var E=B.clearColor;v.clearColor(E[0],E[1],E[2],E[3]),v.clear(v.COLOR_BUFFER_BIT|v.DEPTH_BUFFER_BIT),v.depthMask(!0),v.colorMask(!0,!0,!0,!0),v.enable(v.DEPTH_TEST),v.depthFunc(v.LEQUAL),v.disable(v.BLEND),v.disable(v.CULL_FACE);var j=!1;M.enable&&(j=j||M.isTransparent(),M.draw(I)),T.axes=M,x.object&&T.draw(I),v.disable(v.CULL_FACE);for(var i=0;i<e;++i){var o=S[i];o.axes=M,o.pixelRatio=B.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(I),o.isTransparent&&o.isTransparent()&&(j=!0)}if(j){b.shape=R,b.bind(),v.clear(v.DEPTH_BUFFER_BIT),v.colorMask(!1,!1,!1,!1),v.depthMask(!0),v.depthFunc(v.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(I);for(var i=0;i<e;++i){var o=S[i];o.isOpaque&&o.isOpaque()&&o.draw(I)}v.enable(v.BLEND),v.blendEquation(v.FUNC_ADD),v.blendFunc(v.ONE,v.ONE_MINUS_SRC_ALPHA),v.colorMask(!0,!0,!0,!0),v.depthMask(!1),v.clearColor(0,0,0,0),v.clear(v.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(I);for(var i=0;i<e;++i){var o=S[i];o.isTransparent&&o.isTransparent()&&o.drawTransparent(I)}v.bindFramebuffer(v.FRAMEBUFFER,null),v.blendFunc(v.ONE,v.ONE_MINUS_SRC_ALPHA),v.disable(v.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,c(v),v.disable(v.BLEND)}z=!1;for(var i=0;i<e;++i)S[i].dirty=!1}}}return function t(){e||B.contextLost||(requestAnimationFrame(t),W())}(),B.redraw=function(){e||(z=!0,W())},B};var n=t(\\\"3d-view-controls\\\"),i=t(\\\"gl-axes3d\\\"),a=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\\\"),f=t(\\\"gl-mat4/perspective\\\"),h=t(\\\"./lib/shader\\\"),p=t(\\\"is-mobile\\\")();function d(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 g(t){return\\\"boolean\\\"!=typeof t||t}},{\\\"./lib/shader\\\":252,\\\"3d-view-controls\\\":40,\\\"a-big-triangle\\\":43,\\\"gl-axes3d\\\":202,\\\"gl-axes3d/properties\\\":209,\\\"gl-fbo\\\":215,\\\"gl-mat4/perspective\\\":233,\\\"gl-select-static\\\":262,\\\"gl-spikes3d\\\":272,\\\"is-mobile\\\":306,\\\"mouse-change\\\":320}],254:[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:295}],255:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\"),i=t(\\\"gl-buffer\\\"),a=t(\\\"typedarray-pool\\\"),o=t(\\\"./lib/shader\\\");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,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,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};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,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||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),i||a.free(l),o||a.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,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),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/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[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 f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&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,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\\\"./lib/shader\\\":254,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263,\\\"typedarray-pool\\\":423}],256:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],257:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"vectorize-text\\\");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];for(var a=n(t,{textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l<a.positions.length;++l)for(var c=a.positions[l],u=0;u<2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{\\\"vectorize-text\\\":430}],258:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=t(\\\"glslify\\\"),a=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   || \\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   ||\\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 interpColor;\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = interpColor * opacity;\\\\n  }\\\\n}\\\\n\\\"]),c=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float pickGroup;\\\\n\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\\\n  }\\\\n}\\\"]),u=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"glyph\\\",type:\\\"vec2\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,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),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},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\\\":263,glslify:295}],259:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"typedarray-pool\\\"),o=t(\\\"gl-mat4/multiply\\\"),s=t(\\\"./lib/shaders\\\"),l=t(\\\"./lib/glyphs\\\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function u(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function f(t,e,r,n){return u(n,n),u(n,n),u(n,n)}function h(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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=s.createPerspective(e),a=s.createOrtho(e),o=s.createProject(e),l=s.createPickPerspective(e),c=s.createPickOrtho(e),u=s.createPickProject(e),f=n(e),p=n(e),d=n(e),g=n(e),m=i(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:p,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:g,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new h(e,r,a,o,f,p,d,g,m,l,c,u);return v.update(t),v};var p=h.prototype;p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},p.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var d=[0,0],g=[0,0,0],m=[0,0,0],v=[0,0,0,1],y=[0,0,0,1],x=c.slice(),b=[0,0,0],_=[[0,0,0],[0,0,0]];function w(t){return t[0]=t[1]=t[2]=0,t}function k(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function M(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function A(t,e,r,n,i){var a,s=e.axesProject,l=e.gl,u=t.uniforms,h=r.model||c,p=r.view||c,A=r.projection||c,T=e.axesBounds,S=function(t){for(var e=_,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],d[0]=2/l.drawingBufferWidth,d[1]=2/l.drawingBufferHeight,t.bind(),u.view=p,u.projection=A,u.screenSize=d,u.highlightId=e.highlightId,u.highlightScale=e.highlightScale,u.clipBounds=S,u.pickGroup=e.pickId/255,u.pixelRatio=e.pixelRatio;for(var C=0;C<3;++C)if(s[C]&&e.projectOpacity[C]<1===n){u.scale=e.projectScale[C],u.opacity=e.projectOpacity[C];for(var E=x,L=0;L<16;++L)E[L]=0;for(L=0;L<4;++L)E[5*L]=1;E[5*C]=0,a[C]<0?E[12+C]=T[0][C]:E[12+C]=T[1][C],o(E,h,E),u.model=E;var z=(C+1)%3,P=(C+2)%3,D=w(g),O=w(m);D[z]=1,O[P]=1;var I=f(0,0,0,k(v,D)),R=f(0,0,0,k(y,O));if(Math.abs(I[1])>Math.abs(R[1])){var B=I;I=R,R=B,B=D,D=O,O=B;var F=z;z=P,P=F}I[0]<0&&(D[z]=-1),R[1]>0&&(O[P]=-1);var N=0,j=0;for(L=0;L<4;++L)N+=Math.pow(h[4*z+L],2),j+=Math.pow(h[4*P+L],2);D[z]/=Math.sqrt(N),O[P]/=Math.sqrt(j),u.axes[0]=D,u.axes[1]=O,u.fragClipBounds[0]=M(b,S[0],C,-1e8),u.fragClipBounds[1]=M(b,S[1],C,1e8),e.vao.draw(l.TRIANGLES,e.vertexCount),e.lineWidth>0&&(l.lineWidth(e.lineWidth),e.vao.draw(l.LINES,e.lineVertexCount,e.vertexCount))}}var T=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function S(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||c,s.view=n.view||c,s.projection=n.projection||c,d[0]=2/o.drawingBufferWidth,d[1]=2/o.drawingBufferHeight,s.screenSize=d,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=T,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}A(e,r,n,i),r.vao.unbind()}p.draw=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},p.drawTransparent=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},p.drawPick=function(t){S(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},p.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 i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},p.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},p.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(\\\"projectOpacity\\\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\\\"opacity\\\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\\\"normal\\\",o=t.alignment||[0,0],s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0],u=t.glyph,f=t.color,h=t.size,p=t.angle,d=t.lineColor,g=0,m=0,v=0,y=n.length;t:for(var x=0;x<y;++x){for(var b=n[x],_=0;_<3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(B=Array.isArray(u)?l(u[x],i):l(u||\\\"\\\\u25cf\\\",i))[0],k=B[1],M=B[2];m+=3*w.cells.length,v+=2*k.edges.length}var A=m+v,T=a.mallocFloat(3*A),S=a.mallocFloat(4*A),C=a.mallocFloat(2*A),E=a.mallocUint32(A),L=[0,o[1]],z=0,P=m,D=[0,0,0,1],O=[0,0,0,1],I=Array.isArray(f)&&Array.isArray(f[0]),R=Array.isArray(d)&&Array.isArray(d[0]);t:for(x=0;x<y;++x){var B;for(b=n[x],_=0;_<3;++_){if(isNaN(b[_])||!isFinite(b[_])){g+=1;continue t}c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_])}var F;w=(B=Array.isArray(u)?l(u[x],i):l(u||\\\"\\\\u25cf\\\",i))[0],k=B[1],M=B[2];if(Array.isArray(f)){if(3===(F=I?f[x]:f).length){for(_=0;_<3;++_)D[_]=F[_];D[3]=1}else if(4===F.length)for(_=0;_<4;++_)D[_]=F[_]}else D[0]=D[1]=D[2]=0,D[3]=1;if(Array.isArray(d)){if(3===(F=R?d[x]:d).length){for(_=0;_<3;++_)O[_]=F[_];O[_]=1}else if(4===F.length)for(_=0;_<4;++_)O[_]=F[_]}else O[0]=O[1]=O[2]=0,O[3]=1;var N=.5;Array.isArray(h)?N=+h[x]:h?N=+h:this.useOrtho&&(N=12);var j=0;Array.isArray(p)?j=+p[x]:p&&(j=+p);var V=Math.cos(j),U=Math.sin(j);for(b=n[x],_=0;_<3;++_)c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_]);o[0]<0?L[0]=o[0]*(1+M[1][0]):o[0]>0&&(L[0]=-o[0]*(1+M[0][0]));var q=w.cells,H=w.positions;for(_=0;_<q.length;++_)for(var G=q[_],W=0;W<3;++W){for(var Y=0;Y<3;++Y)T[3*z+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*z+Y]=D[Y];E[z]=g;var X=H[G[W]];C[2*z]=N*(V*X[0]-U*X[1]+L[0]),C[2*z+1]=N*(U*X[0]+V*X[1]+L[1]),z+=1}for(q=k.edges,H=k.positions,_=0;_<q.length;++_)for(G=q[_],W=0;W<2;++W){for(Y=0;Y<3;++Y)T[3*P+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*P+Y]=O[Y];E[P]=g;X=H[G[W]];C[2*P]=N*(V*X[0]-U*X[1]+L[0]),C[2*P+1]=N*(U*X[0]+V*X[1]+L[1]),P+=1}g+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(C),this.idBuffer.update(new Uint32Array(E)),a.free(T),a.free(S),a.free(C),a.free(E),this.bounds=[s,c],this.points=n,this.pointCount=n.length}},p.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/glyphs\\\":257,\\\"./lib/shaders\\\":258,\\\"gl-buffer\\\":210,\\\"gl-mat4/multiply\\\":232,\\\"gl-vao\\\":279,\\\"typedarray-pool\\\":423}],260:[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:295}],261:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-shader\\\"),i=t(\\\"gl-buffer\\\"),a=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=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.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),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(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(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,g,m,i),o.drawBox(p,h,g,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},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\\\":260,\\\"gl-buffer\\\":210,\\\"gl-shader\\\":263}],262:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new l(t,r,a)};var n=t(\\\"gl-fbo\\\"),i=t(\\\"typedarray-pool\\\"),a=t(\\\"ndarray\\\"),o=t(\\\"bit-twiddle\\\").nextPow2,s=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"array\\\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\\\"scalar\\\",\\\"scalar\\\",\\\"index\\\"],pre:{body:\\\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},body:{body:\\\"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\\\",args:[{name:\\\"_inline_16_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg1_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg4_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg5_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg6_\\\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[\\\"_inline_16_a\\\",\\\"_inline_16_f\\\",\\\"_inline_16_l\\\"]},post:{body:\\\"{return[this_closestX,this_closestY,this_closestD2]}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});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){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=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 i=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<=i||c<=l)return null;var u=[o-i,c-l],f=a(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*l)),h=s(f.hi(u[0],u[1],1),r,r),p=h[0],d=h[1];return p<0||Math.pow(this.radius,2)<h[2]?null:new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(p+i|0,d+l|0,f.get(p,d,0),[f.get(p,d,1),f.get(p,d,2),f.get(p,d,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\\\"bit-twiddle\\\":73,\\\"cwise/lib/wrapper\\\":119,\\\"gl-fbo\\\":215,ndarray:335,\\\"typedarray-pool\\\":423}],263:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/create-uniforms\\\"),i=t(\\\"./lib/create-attributes\\\"),a=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 f(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 h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var g=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),h.fragShader=h._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,h.fragShader),p.attachShader(m,h.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(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf(\\\"mat\\\")>=0){for(var k=0|w.type.charAt(w.type.length-1),M=new Array(k),A=0;A<k;++A)M[A]=_.length,b.push(w.name+\\\"[\\\"+A+\\\"]\\\"),\\\"number\\\"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&\\\"number\\\"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:M})}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 T=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(T)>=0;)T+=1;_[y]=T}var S=new Array(r.length);function C(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}C(),h._relink=C,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,\\\"uniforms\\\",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{\\\"./lib/GLError\\\":264,\\\"./lib/create-attributes\\\":265,\\\"./lib/create-uniforms\\\":266,\\\"./lib/reflect\\\":267,\\\"./lib/runtime-reflect\\\":268,\\\"./lib/shader-cache\\\":269}],264:[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},{}],265:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,i){for(var a={},l=0,c=r.length;l<c;++l){var u=r[l],f=u.name,h=u.type,p=u.locations;switch(h){case\\\"bool\\\":case\\\"int\\\":case\\\"float\\\":o(t,e,p[0],i,1,a,f);break;default:if(h.indexOf(\\\"vec\\\")>=0){var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\\\"\\\",\\\"Invalid data type for attribute \\\"+f+\\\": \\\"+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf(\\\"mat\\\")>=0))throw new n(\\\"\\\",\\\"Unknown data type for attribute \\\"+f+\\\": \\\"+h);var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\\\"\\\",\\\"Invalid data type for attribute \\\"+f+\\\": \\\"+h);s(t,e,p,i,d,a,f)}}}return a};var n=t(\\\"./GLError\\\");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=[\\\"gl\\\",\\\"v\\\"],c=[],u=0;u<a;++u)l.push(\\\"x\\\"+u),c.push(\\\"x\\\"+u);l.push(\\\"if(x0.length===void 0){return gl.vertexAttrib\\\"+a+\\\"f(v,\\\"+c.join()+\\\")}else{return gl.vertexAttrib\\\"+a+\\\"fv(v,x0)}\\\");var f=Function.apply(null,l),h=new i(t,e,r,n,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),f(t,n[r],e),e},get:function(){return h},enumerable:!0})}function s(t,e,r,n,i,a,s){for(var l=new Array(i),c=new Array(i),u=0;u<i;++u)o(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,\\\"location\\\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t[\\\"vertexAttrib\\\"+i+\\\"fv\\\"];Object.defineProperty(a,s,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\\\"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\\\":264}],266:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./reflect\\\"),i=t(\\\"./GLError\\\");function a(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 a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+r);return\\\"gl.uniformMatrix\\\"+a+\\\"fv(locations[\\\"+e+\\\"],false,obj\\\"+t+\\\")\\\"}throw new i(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+r)}var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\\\"\\\",\\\"Invalid data type\\\");switch(r.charAt(0)){case\\\"b\\\":case\\\"i\\\":return\\\"gl.uniform\\\"+a+\\\"iv(locations[\\\"+e+\\\"],obj\\\"+t+\\\")\\\";case\\\"v\\\":return\\\"gl.uniform\\\"+a+\\\"fv(locations[\\\"+e+\\\"],obj\\\"+t+\\\")\\\";default:throw new i(\\\"\\\",\\\"Unrecognized data type for vector \\\"+name+\\\": \\\"+r)}}}function c(e){for(var n=[\\\"return function updateProperty(obj){\\\"],i=function t(e,r){if(\\\"object\\\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\\\"\\\"===i?o+=\\\"[\\\"+i+\\\"]\\\":o+=\\\".\\\"+i,\\\"object\\\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\\\"\\\",e),a=0;a<i.length;++a){var o=i[a],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push(\\\"return obj}\\\");var f=new Function(\\\"gl\\\",\\\"locations\\\",n.join(\\\"\\\\n\\\"));return f(t,s)}function u(n,l,u){if(\\\"object\\\"==typeof u){var h=f(u);Object.defineProperty(n,l,{get:a(h),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){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\\\"\\\",\\\"Invalid data type\\\");return\\\"b\\\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\\\"mat\\\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+name+\\\": \\\"+t);return o(r*r,0)}throw new i(\\\"\\\",\\\"Unknown uniform data type for \\\"+name+\\\": \\\"+t)}}(r[u].type);var p}function f(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 h=n(r,!0);return{get:a(f(h)),set:c(h),enumerable:!0,configurable:!0}}},{\\\"./GLError\\\":264,\\\"./reflect\\\":267}],267:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\\\".\\\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\\\"[\\\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<a.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],268:[function(t,e,r){\\\"use strict\\\";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(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=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(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\\\"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],269:[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,i){return u(t).getProgram(e,r,n,i)};var n=t(\\\"./GLError\\\"),i=t(\\\"gl-format-compiler-error\\\"),a=new(\\\"undefined\\\"==typeof WeakMap?t(\\\"weakmap-shim\\\"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,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,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(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 a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(\\\":\\\"),i.join(\\\":\\\")].join(\\\"@\\\"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[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,i),t.programs.push(a),e.programs.push(a)),o}},{\\\"./GLError\\\":264,\\\"gl-format-compiler-error\\\":216,\\\"weakmap-shim\\\":435}],270:[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 i=n.prototype;i.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()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.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]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],271:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=t(\\\"gl-shader\\\"),a=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 i(t,a,o,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec3\\\"},{name:\\\"weight\\\",type:\\\"float\\\"}])}},{\\\"gl-shader\\\":263,glslify:295}],272:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-buffer\\\"),i=t(\\\"gl-vao\\\"),a=t(\\\"./shaders/index\\\");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,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=i(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=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};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],f=[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 i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;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\\\":271,\\\"gl-buffer\\\":210,\\\"gl-vao\\\":279}],273:[function(t,e,r){var n=t(\\\"gl-shader\\\"),i=t(\\\"glslify\\\"),a=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute vec3 f;\\\\nattribute vec3 normal;\\\\n\\\\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  worldCoordinate = vec3(uv.zw, f.x);\\\\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=i([\\\"precision mediump 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\\\\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 (kill > 0.0 ||\\\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute float f;\\\\n\\\\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\\\n\\\\n  vec4 clipPosition = projection * view * worldPosition;\\\\n  clipPosition.z = clipPosition.z + zOffset;\\\\n\\\\n  gl_Position = clipPosition;\\\\n  value = f;\\\\n  kill = -1.0;\\\\n  worldCoordinate = dataCoordinate;\\\\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=i([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    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,a,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,a,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\\\":263,glslify:295}],274:[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=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,T,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new S(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d),v={levels:[[],[],[]]};for(var k in t)v[k]=t[k];return v.colormap=v.colormap||\\\"jet\\\",m.update(v),m};var n=t(\\\"bit-twiddle\\\"),i=t(\\\"gl-buffer\\\"),a=t(\\\"gl-vao\\\"),o=t(\\\"gl-texture2d\\\"),s=t(\\\"typedarray-pool\\\"),l=t(\\\"colormap\\\"),c=t(\\\"ndarray-ops\\\"),u=t(\\\"ndarray-pack\\\"),f=t(\\\"ndarray\\\"),h=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=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[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(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var T=256;function S(t,e,r,n,i,a,o,l,c,u,h,p,d,g){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([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=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(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.opacity=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 C=S.prototype;C.isTransparent=function(){return this.opacity<1},C.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function z(t,e){var r,n,i,a=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=L.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[+(a[r]>0)][r],p(l,t.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:k,view:k,projection:k,inverseModel:k.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},D=k.slice(),O=[1,0,0,0,1,0,0,0,1];function I(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,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.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][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=O,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=z(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)this._contourCounts[i][o]&&(o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),f.uniforms.height=this.contourLevels[o][g],h.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g])}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=A[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}C.draw=function(t){return I.call(this,t,!1)},C.drawTransparent=function(t){return I.call(this,t,!0)};var R={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function B(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))}function F(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function N(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 j(t){if(Array.isArray(t)){if(Array.isArray(t))return[N(t[0]),N(t[1]),N(t[2])];var e=N(t);return[e.slice(),e.slice(),e.slice()]}}C.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=R;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=O;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=z(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(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=A[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=A[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},C.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,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?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]=a<.5?i:i+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},C.update=function(t){t=t||{},this.dirty=!0,\\\"contourWidth\\\"in t&&(this.contourWidth=F(t.contourWidth,Number)),\\\"showContour\\\"in t&&(this.showContour=F(t.showContour,Boolean)),\\\"showSurface\\\"in t&&(this.showSurface=!!t.showSurface),\\\"contourTint\\\"in t&&(this.contourTint=F(t.contourTint,Boolean)),\\\"contourColor\\\"in t&&(this.contourColor=j(t.contourColor)),\\\"contourProject\\\"in t&&(this.contourProject=F(t.contourProject,function(t){return F(t,Boolean)})),\\\"surfaceProject\\\"in t&&(this.surfaceProject=t.surfaceProject),\\\"dynamicColor\\\"in t&&(this.dynamicColor=j(t.dynamicColor)),\\\"dynamicTint\\\"in t&&(this.dynamicTint=F(t.dynamicTint,Number)),\\\"dynamicWidth\\\"in t&&(this.dynamicWidth=F(t.dynamicWidth,Number)),\\\"opacity\\\"in t&&(this.opacity=t.opacity),\\\"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 i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),B(this._field[2],e),this.shape=e.shape.slice();for(var a=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]=f(this._field[o].data,[a[0]+2,a[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]!==a[b])throw new Error(\\\"gl-surface: coords have incorrect shape\\\");B(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=f(v)),v.shape[0]!==a[o])throw new Error(\\\"gl-surface: invalid tick length\\\");var y=f(v.data,a);y.stride[o]=v.stride[0],y.stride[1^o]=0,B(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<a[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),b=0;b<a[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,a[1]+1,a[1]-1)}var _=this._field,w=f(s.mallocFloat(3*_[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)m(w.pick(o),_[o],\\\"mirror\\\");var k=f(s.mallocFloat(3*_[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(b=0;b<a[1]+2;++b){var A=w.get(0,o,b,0),S=w.get(0,o,b,1),C=w.get(1,o,b,0),E=w.get(1,o,b,1),L=w.get(2,o,b,0),z=w.get(2,o,b,1),P=C*z-E*L,D=L*S-z*A,O=A*E-S*C,I=Math.sqrt(P*P+D*D+O*O);I<1e-8?(I=Math.max(Math.abs(P),Math.abs(D),Math.abs(O)))<1e-8?(O=1,D=P=0,I=1):I=1/I:I=1/Math.sqrt(I),k.set(o,b,0,P*I),k.set(o,b,1,D*I),k.set(o,b,2,O*I)}s.free(w.data);var R=[1/0,1/0,1/0],N=[-1/0,-1/0,-1/0],V=1/0,U=-1/0,q=(a[0]-1)*(a[1]-1)*6,H=s.mallocFloat(n.nextPow2(10*q)),G=0,W=0;for(o=0;o<a[0]-1;++o)t:for(b=0;b<a[1]-1;++b){for(var Y=0;Y<2;++Y)for(var X=0;X<2;++X)for(var Z=0;Z<3;++Z){var J=this._field[Z].get(1+o+Y,1+b+X);if(isNaN(J)||!isFinite(J))continue t}for(Z=0;Z<6;++Z){var K=o+M[Z][0],Q=b+M[Z][1],$=this._field[0].get(K+1,Q+1),tt=this._field[1].get(K+1,Q+1),et=J=this._field[2].get(K+1,Q+1);P=k.get(K+1,Q+1,0),D=k.get(K+1,Q+1,1),O=k.get(K+1,Q+1,2),t.intensity&&(et=t.intensity.get(K,Q)),H[G++]=K,H[G++]=Q,H[G++]=$,H[G++]=tt,H[G++]=J,H[G++]=0,H[G++]=et,H[G++]=P,H[G++]=D,H[G++]=O,R[0]=Math.min(R[0],$),R[1]=Math.min(R[1],tt),R[2]=Math.min(R[2],J),V=Math.min(V,et),N[0]=Math.max(N[0],$),N[1]=Math.max(N[1],tt),N[2]=Math.max(N[2],J),U=Math.max(U,et),W+=1}}for(t.intensityBounds&&(V=+t.intensityBounds[0],U=+t.intensityBounds[1]),o=6;o<G;o+=10)H[o]=(H[o]-V)/(U-V);this._vertexCount=W,this._coordinateBuffer.update(H.subarray(0,G)),s.freeFloat(H),s.free(k.data),this.bounds=[R,N],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===V&&this.intensityBounds[1]===U||(r=!0),this.intensityBounds=[V,U]}if(\\\"levels\\\"in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],o=0;o<3;++o)rt[o]=rt[o].slice(),rt.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if(rt[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<rt[o].length;++b)if(rt[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=rt}if(r){_=this._field,a=this.shape;for(var nt=[],it=0;it<3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(o=0;o<rt.length;++o){var lt=h(this._field[it],rt[o]);at.push(nt.length/5|0),W=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(Z=0;Z<2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),pt=ft-ht,dt=ut[1],gt=0|Math.floor(dt),mt=dt-gt,vt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(K=0|Math.min(Math.max(ht+Y,0),a[0]),X=0;X<2;++X){var _t=X?mt:1-mt;if(Q=0|Math.min(Math.max(gt+X,0),a[1]),J=yt<2?this._field[xt].get(K,Q):(this.intensity.get(K,Q)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(J)||isNaN(J)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*J}}}if(vt){if(Z>0){for(var kt=0;kt<5;++kt)nt.pop();W-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),W+=1}}ot.push(W)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var Mt=s.mallocFloat(nt.length);for(o=0;o<nt.length;++o)Mt[o]=nt[o];this._contourBuffer.update(Mt),s.freeFloat(Mt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:T,format:\\\"rgba\\\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},C.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)},C.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,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,i=this.shape,a=s.mallocFloat(12*i[0]*i[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],f=this._field[l],p=this._field[c],d=(this.intensity,h(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,i[0]),k=b-_,M=1-k,A=+x[1],T=0|A,S=0|Math.min(T+1,i[1]),C=A-T,E=1-C,L=M*E,z=M*C,P=k*E,D=k*C,O=L*f.get(_,T)+z*f.get(_,S)+P*f.get(w,T)+D*f.get(w,S),I=L*p.get(_,T)+z*p.get(_,S)+P*p.get(w,T)+D*p.get(w,S);if(isNaN(O)||isNaN(I)){y&&(n-=1);break}a[2*n+0]=O,a[2*n+1]=I,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{\\\"./lib/shaders\\\":273,\\\"binary-search-bounds\\\":72,\\\"bit-twiddle\\\":73,colormap:106,\\\"gl-buffer\\\":210,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/multiply\\\":232,\\\"gl-texture2d\\\":275,\\\"gl-vao\\\":279,ndarray:335,\\\"ndarray-gradient\\\":326,\\\"ndarray-ops\\\":329,\\\"ndarray-pack\\\":330,\\\"surface-nets\\\":409,\\\"typedarray-pool\\\":423}],275:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray\\\"),i=t(\\\"ndarray-ops\\\"),a=t(\\\"typedarray-pool\\\");e.exports=function(t){if(arguments.length<=1)throw new Error(\\\"gl-texture2d: Missing arguments for texture2d constructor\\\");o||function(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]}(t);if(\\\"number\\\"==typeof arguments[1])return m(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return m(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=c(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new h(t,o,r,n,i,a)}(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 function(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=d(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 f,p,m=0;if(2===o.length)m=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])m=t.ALPHA;else if(2===o[2])m=t.LUMINANCE_ALPHA;else if(3===o[2])m=t.RGB;else{if(4!==o[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");m=t.RGBA}}c!==t.FLOAT||t.getExtension(\\\"OES_texture_float\\\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)f=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];p=a.malloc(v,r);var x=n(p,o,y,0);\\\"float32\\\"!==r&&\\\"float64\\\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,v)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,m,o[0],o[1],0,m,c,f),l||a.free(p);return new h(t,b,o[0],o[1],m,c)}(t,e)}throw new Error(\\\"gl-texture2d: Invalid arguments for texture2d constructor\\\")};var o=null,s=null,l=null;function c(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 u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)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 h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,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 p=h.prototype;function d(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 g(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 m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-texture2d: Invalid texture shape\\\");if(i===t.FLOAT&&!t.getExtension(\\\"OES_texture_float\\\"))throw new Error(\\\"gl-texture2d: Floating point textures not supported on this platform\\\");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{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}}}),p.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},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.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)},p.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=c(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,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error(\\\"gl-texture2d: Invalid ndarray, must be 2d or 3d\\\");var g=0,m=0,v=d(p,f.stride.slice());\\\"float32\\\"===h?g=t.FLOAT:\\\"float64\\\"===h?(g=t.FLOAT,v=!1,h=\\\"float32\\\"):\\\"uint8\\\"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,v=!1,h=\\\"uint8\\\");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.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=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&v)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),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?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:335,\\\"ndarray-ops\\\":329,\\\"typedarray-pool\\\":423}],276:[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 i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if(\\\"number\\\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\\\"gl-vao: Invalid vertex attribute\\\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)}},{}],277:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./do-bind.js\\\");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.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 i(t)}},{\\\"./do-bind.js\\\":276}],278:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./do-bind.js\\\");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.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)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];\\\"number\\\"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.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 a(t,e,e.createVertexArrayOES())}},{\\\"./do-bind.js\\\":276}],279:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/vao-native.js\\\"),i=t(\\\"./lib/vao-emulated.js\\\");e.exports=function(t,e,r,a){var o,s=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(\\\"OES_vertex_array_object\\\");return(o=s?n(t,s):i(t)).update(e,r,a),o}},{\\\"./lib/vao-emulated.js\\\":277,\\\"./lib/vao-native.js\\\":278}],280:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],281:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],282:[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)}},{}],283:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}},{}],284:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],285:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],286:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],287:[function(t,e,r){var n=t(\\\"glsl-tokenizer\\\"),i=t(\\\"atob-lite\\\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if(\\\"preprocessor\\\"===a.type){var o=a.data.match(/\\\\#define\\\\s+SHADER_NAME(_B64)?\\\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{\\\"atob-lite\\\":53,\\\"glsl-tokenizer\\\":294}],288:[function(t,e,r){e.exports=function(t){var e,r,k,M=0,A=0,T=l,S=[],C=[],E=1,L=0,z=0,P=!1,D=!1,O=\\\"\\\",I=a,R=n;\\\"300 es\\\"===(t=t||{}).version&&(I=s,R=o);return function(t){return C=[],null!==t?function(t){var r;M=0,k=(O+=t).length;for(;e=O[M],M<k;){switch(r=M,T){case u:M=V();break;case f:case h:M=j();break;case p:M=U();break;case d:M=G();break;case _:M=H();break;case g:M=W();break;case c:M=Y();break;case x:M=N();break;case l:M=F()}if(r!==M)switch(O[r]){case\\\"\\\\n\\\":L=0,++E;break;default:++L}}return A+=M,O=O.slice(M),C}(t.replace?t.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\"):t):function(t){S.length&&B(S.join(\\\"\\\"));return T=b,B(\\\"(eof)\\\"),C}()};function B(t){t.length&&C.push({type:w[T],data:t,position:z,line:E,column:L})}function F(){return S=S.length?[]:S,\\\"/\\\"===r&&\\\"*\\\"===e?(z=A+M-1,T=u,r=e,M+1):\\\"/\\\"===r&&\\\"/\\\"===e?(z=A+M-1,T=f,r=e,M+1):\\\"#\\\"===e?(T=h,z=A+M,M):/\\\\s/.test(e)?(T=x,z=A+M,M):(P=/\\\\d/.test(e),D=/[^\\\\w_]/.test(e),z=A+M,T=P?d:D?p:c,M)}function N(){return/[^\\\\s]/g.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function j(){return\\\"\\\\r\\\"!==e&&\\\"\\\\n\\\"!==e||\\\"\\\\\\\\\\\"===r?(S.push(e),r=e,M+1):(B(S.join(\\\"\\\")),T=l,M)}function V(){return\\\"/\\\"===e&&\\\"*\\\"===r?(S.push(e),B(S.join(\\\"\\\")),T=l,M+1):(S.push(e),r=e,M+1)}function U(){if(\\\".\\\"===r&&/\\\\d/.test(e))return T=g,M;if(\\\"/\\\"===r&&\\\"*\\\"===e)return T=u,M;if(\\\"/\\\"===r&&\\\"/\\\"===e)return T=f,M;if(\\\".\\\"===e&&S.length){for(;q(S););return T=g,M}if(\\\";\\\"===e||\\\")\\\"===e||\\\"(\\\"===e){if(S.length)for(;q(S););return B(e),T=l,M+1}var t=2===S.length&&\\\"=\\\"!==e;if(/[\\\\w_\\\\d\\\\s]/.test(e)||t){for(;q(S););return T=l,M}return S.push(e),r=e,M+1}function q(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join(\\\"\\\")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\\\"\\\")}return B(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function G(){return\\\".\\\"===e?(S.push(e),T=g,r=e,M+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,M+1):\\\"x\\\"===e&&1===S.length&&\\\"0\\\"===S[0]?(T=_,S.push(e),r=e,M+1):/[^\\\\d]/.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function W(){return\\\"f\\\"===e&&(S.push(e),r=e,M+=1),/[eE]/.test(e)?(S.push(e),r=e,M+1):\\\"-\\\"===e&&/[eE]/.test(r)?(S.push(e),r=e,M+1):/[^\\\\d]/.test(e)?(B(S.join(\\\"\\\")),T=l,M):(S.push(e),r=e,M+1)}function Y(){if(/[^\\\\d\\\\w_]/.test(e)){var t=S.join(\\\"\\\");return T=R.indexOf(t)>-1?y:I.indexOf(t)>-1?v:m,B(S.join(\\\"\\\")),T=l,M}return S.push(e),r=e,M+1}};var n=t(\\\"./lib/literals\\\"),i=t(\\\"./lib/operators\\\"),a=t(\\\"./lib/builtins\\\"),o=t(\\\"./lib/literals-300es\\\"),s=t(\\\"./lib/builtins-300es\\\"),l=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,m=6,v=7,y=8,x=9,b=10,_=11,w=[\\\"block-comment\\\",\\\"line-comment\\\",\\\"preprocessor\\\",\\\"operator\\\",\\\"integer\\\",\\\"float\\\",\\\"ident\\\",\\\"builtin\\\",\\\"keyword\\\",\\\"whitespace\\\",\\\"eof\\\",\\\"integer\\\"]},{\\\"./lib/builtins\\\":290,\\\"./lib/builtins-300es\\\":289,\\\"./lib/literals\\\":292,\\\"./lib/literals-300es\\\":291,\\\"./lib/operators\\\":293}],289:[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\\\":290}],290:[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\\\"]},{}],291:[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\\\",\\\"uint\\\",\\\"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\\\":292}],292:[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\\\",\\\"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\\\"]},{}],293:[function(t,e,r){e.exports=[\\\"<<=\\\",\\\">>=\\\",\\\"++\\\",\\\"--\\\",\\\"<<\\\",\\\">>\\\",\\\"<=\\\",\\\">=\\\",\\\"==\\\",\\\"!=\\\",\\\"&&\\\",\\\"||\\\",\\\"+=\\\",\\\"-=\\\",\\\"*=\\\",\\\"/=\\\",\\\"%=\\\",\\\"&=\\\",\\\"^^\\\",\\\"^=\\\",\\\"|=\\\",\\\"(\\\",\\\")\\\",\\\"[\\\",\\\"]\\\",\\\".\\\",\\\"!\\\",\\\"~\\\",\\\"*\\\",\\\"/\\\",\\\"%\\\",\\\"+\\\",\\\"-\\\",\\\"<\\\",\\\">\\\",\\\"&\\\",\\\"^\\\",\\\"|\\\",\\\"?\\\",\\\":\\\",\\\"=\\\",\\\",\\\",\\\";\\\",\\\"{\\\",\\\"}\\\"]},{}],294:[function(t,e,r){var n=t(\\\"./index\\\");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{\\\"./index\\\":288}],295:[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(\\\"\\\")}},{}],296:[function(t,e,r){(function(r){\\\"use strict\\\";var n,i=t(\\\"is-browser\\\");n=\\\"function\\\"==typeof r.matchMedia?!r.matchMedia(\\\"(hover: none)\\\").matches:i,e.exports=n}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"is-browser\\\":303}],297:[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\\\":303}],298:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],299:[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 i=t[0].length;if(r<=i)throw new Error(\\\"Must input at least d+1 points\\\");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error(\\\"Input not in general position\\\");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}for(var _=new c(i,o,p),w=!!e,u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t(\\\"robust-orientation\\\"),i=t(\\\"simplicial-complex\\\").compareCells;function a(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 i(t.vertices,e.vertices)}a.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 i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a=l[t];a||(a=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 i=new Function(\\\"test\\\",e.join(\\\"\\\")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=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,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}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,i=this.vertices,a=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)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.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]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),k=d.slice(),M=new a(w,k,!0);u.push(M);var A=_.indexOf(e);if(!(A<0)){_[A]=M,k[g]=v,w[m]=-1,k[m]=e,d[m]=M,M.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),C=0,E=0;E<=n;++E){var L=w[E];L<0||E===b||(S[C++]=L)}h.push(new o(S,M,b))}}}}}}h.sort(s);for(m=0;m+1<h.length;m+=2){var z=h[m],P=h[m+1],D=z.index,O=P.index;D<0||O<0||(z.cell.adjacent[z.index]=P.cell,P.cell.adjacent[P.index]=z.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);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,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.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 f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{\\\"robust-orientation\\\":388,\\\"simplicial-complex\\\":398}],300:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=0,a=1;function o(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(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 c(t,e){var r=y(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 u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function m(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function v(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(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(g);var n=e[e.length>>1],i=[],a=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?i.push(l):n<l[0]?a.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(m),u.sort(v),new o(n,y(i),y(a),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.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)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,m),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.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)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left;c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,m);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,v);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),a}return i}return this.right?4*(this.left?this.left.count:0)>3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;var c}},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return h(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.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?h(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,\\\"count\\\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,\\\"intervals\\\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\\\"binary-search-bounds\\\":72}],301:[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}},{}],302:[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}},{}],303:[function(t,e,r){e.exports=!0},{}],304:[function(t,e,r){function n(t){return!!t.constructor&&\\\"function\\\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}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)}},{}],305:[function(t,e,r){\\\"use strict\\\";e.exports=\\\"undefined\\\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\\\//.test(navigator.appVersion))},{}],306:[function(t,e,r){e.exports=function(t){t||\\\"undefined\\\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\\\"string\\\"==typeof t.headers[\\\"user-agent\\\"]&&(t=t.headers[\\\"user-agent\\\"]);return\\\"string\\\"==typeof t&&(/(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(4|6)0|symbian|treo|up\\\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(t.substr(0,4)))}},{}],307:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=typeof t;return null!==t&&(\\\"object\\\"===e||\\\"function\\\"===e)}},{}],308:[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({}))}},{}],309:[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))}},{}],310:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],311:[function(t,e,r){(function(n){\\\"use strict\\\";!function(t){\\\"object\\\"==typeof r&&void 0!==e?e.exports=t():(\\\"undefined\\\"!=typeof window?window:void 0!==n?n:\\\"undefined\\\"!=typeof self?self:this).mapboxgl=t()}(function(){return function e(r,n,i){function a(s,l){if(!n[s]){if(!r[s]){var c=\\\"function\\\"==typeof t&&t;if(!l&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error(\\\"Cannot find module '\\\"+s+\\\"'\\\");throw u.code=\\\"MODULE_NOT_FOUND\\\",u}var f=n[s]={exports:{}};r[s][0].call(f.exports,function(t){var e=r[s][1][t];return a(e||t)},f,f.exports,e,r,n,i)}return n[s].exports}for(var o=\\\"function\\\"==typeof t&&t,s=0;s<i.length;s++)a(i[s]);return a}({1:[function(t,e,r){function n(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,i,s,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(n=u-2,i=u-1,s=0):l===u-1?(n=u-1,i=0,s=1):(n=l,i=l+1,s=l+2),e=t[n],r=t[i],c+=(a(t[s][0])-a(e[0]))*Math.sin(a(r[1]));c=c*o.RADIUS*o.RADIUS/2}return c}function a(t){return t*Math.PI/180}var o=t(\\\"wgs84\\\");e.exports.geometry=function t(e){var r,i=0;switch(e.type){case\\\"Polygon\\\":return n(e.coordinates);case\\\"MultiPolygon\\\":for(r=0;r<e.coordinates.length;r++)i+=n(e.coordinates[r]);return i;case\\\"Point\\\":case\\\"MultiPoint\\\":case\\\"LineString\\\":case\\\"MultiLineString\\\":return 0;case\\\"GeometryCollection\\\":for(r=0;r<e.geometries.length;r++)i+=t(e.geometries[r]);return i}},e.exports.ring=i},{wgs84:37}],2:[function(t,e,r){var n,i;n=this,i=function(){return function(){var t=new Float32Array(3);t[0]=0,t[1]=0,t[2]=0}(),function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{transformMat3:function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},rotate:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,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}},mat4:{create: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},identity: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},translate:function(t,e,r){var n,i,a,o,s,l,c,u,f,h,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]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},scale:function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=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+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+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+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+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+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+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+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},rotateX:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=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]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},rotateZ:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=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]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},invert:function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=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-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,C=f*v-p*g,E=h*v-p*m,L=y*E-x*C+b*S+_*T-w*A+k*M;return L?(L=1/L,t[0]=(s*E-l*C+c*S)*L,t[1]=(i*C-n*E-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*E-c*A)*L,t[5]=(r*E-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*C-s*T+c*M)*L,t[9]=(n*T-r*C-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},ortho:function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-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]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}}}},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.glMatrix=i()},{}],3:[function(t,e,r){function n(t){return!!(\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document&&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))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&&function(t){return void 0===i[t]&&(i[t]=function(t){var e=document.createElement(\\\"canvas\\\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\\\"webgl\\\",r)||e.probablySupportsContext(\\\"experimental-webgl\\\",r):e.supportsContext?e.supportsContext(\\\"webgl\\\",r)||e.supportsContext(\\\"experimental-webgl\\\",r):e.getContext(\\\"webgl\\\",r)||e.getContext(\\\"experimental-webgl\\\",r)}(t)),i[t]}(t&&t.failIfMajorPerformanceCaveat))}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],4:[function(t,e,r){function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(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[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,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=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],5:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a,o=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,c,u,f,h={freebin:-1,shelf:-1,waste:1/0},p=0;if(\\\"string\\\"==typeof n||\\\"number\\\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\\\"number\\\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<h.waste&&(h.waste=o,h.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<h.waste&&(h.freebin=-1,h.waste=o,h.shelf=s)}return-1!==h.freebin?this.allocFreebin(h.freebin,t,r,n):-1!==h.shelf?this.allocShelf(h.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=c=this.h,((u=f=this.w)<=l||t>u)&&(f=2*Math.max(t,u)),(l<u||r>l)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\\\"sans-serif\\\",this.fontWeight=a||\\\"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 i(t,e,r,n,i,o,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(a(n,i,o,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(a(n,i,o,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function a(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a<i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l<=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a<i;a++){for(;n[s+1]<a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}e.exports=n;var o=1e20;n.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?o:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?o:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(i(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),i(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var s=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))))}return r}},{}],7:[function(t,e,r){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}e.exports=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,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(n=1,(i=t)<(r=0))return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],8:[function(t,e,r){e.exports.VectorTile=t(\\\"./lib/vectortile.js\\\"),e.exports.VectorTileFeature=t(\\\"./lib/vectortilefeature.js\\\"),e.exports.VectorTileLayer=t(\\\"./lib/vectortilelayer.js\\\")},{\\\"./lib/vectortile.js\\\":9,\\\"./lib/vectortilefeature.js\\\":10,\\\"./lib/vectortilelayer.js\\\":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t(\\\"./vectortilelayer\\\");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{\\\"./vectortilelayer\\\":11}],10:[function(t,e,r){function n(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(i,this,e)}function i(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()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}var o=t(\\\"@mapbox/point-geometry\\\");e.exports=n,n.types=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,s=0,l=[];t.pos<r;){if(!i){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error(\\\"unknown command \\\"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(!n){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>c&&(c=a);else if(7!==r)throw new Error(\\\"unknown command \\\"+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+u)/l;t[e]=[360*(r.x+c)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var o,s,l=this.extent*Math.pow(2,r),c=this.extent*t,u=this.extent*e,f=this.loadGeometry(),h=n.types[this.type];switch(this.type){case 1:var p=[];for(o=0;o<f.length;o++)p[o]=f[o][0];i(f=p);break;case 2:for(o=0;o<f.length;o++)i(f[o]);break;case 3:for(f=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],o=0;o<e;o++){var s=a(t[o]);0!==s&&(void 0===n&&(n=s<0),n===s<0?(r&&i.push(r),r=[t[o]]):r.push(t[o]))}return r&&i.push(r),i}(f),o=0;o<f.length;o++)for(s=0;s<f[o].length;s++)i(f[o][s])}1===f.length?f=f[0]:h=\\\"Multi\\\"+h;var d={type:\\\"Feature\\\",geometry:{type:h,coordinates:f},properties:this.properties};return\\\"id\\\"in this&&(d.id=this.id),d}},{\\\"@mapbox/point-geometry\\\":4}],11:[function(t,e,r){function n(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(i,this,e),this.length=this._features.length}function i(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))}var a=t(\\\"./vectortilefeature.js\\\");e.exports=n,n.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 a(this._pbf,e,this.extent,this._keys,this._values)}},{\\\"./vectortilefeature.js\\\":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\\\",\\\"+i[1]+\\\",\\\"+a[0]+\\\",\\\"+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+\\\"?\\\"+[\\\"bbox=\\\"+e(n,i,a),\\\"format=\\\"+(o.format||\\\"image/png\\\"),\\\"service=\\\"+(o.service||\\\"WMS\\\"),\\\"version=\\\"+(o.version||\\\"1.1.1\\\"),\\\"request=\\\"+(o.request||\\\"GetMap\\\"),\\\"srs=\\\"+(o.srs||\\\"EPSG:3857\\\"),\\\"width=\\\"+(o.width||256),\\\"height=\\\"+(o.height||256),\\\"layers=\\\"+r].join(\\\"&\\\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}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}var s={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]};try{r.parseCSSColor=function(t){var e,r=t.replace(/ /g,\\\"\\\").toLowerCase();if(r in s)return s[r].slice();if(\\\"#\\\"===r[0])return 4===r.length?(e=parseInt(r.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===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf(\\\"(\\\"),c=r.indexOf(\\\")\\\");if(-1!==l&&c+1===r.length){var u=r.substr(0,l),f=r.substr(l+1,c-(l+1)).split(\\\",\\\"),h=1;switch(u){case\\\"rgba\\\":if(4!==f.length)return null;h=a(f.pop());case\\\"rgb\\\":return 3!==f.length?null:[i(f[0]),i(f[1]),i(f[2]),h];case\\\"hsla\\\":if(4!==f.length)return null;h=a(f.pop());case\\\"hsl\\\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=a(f[1]),g=a(f[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)),h];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)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=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(d(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(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],p=t[b+1],u<n&&(n=u),p<s&&(s=p),u>l&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=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)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;for(n=r.next;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(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 M(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 A(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(A(t,0,a,r));if(i)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(A(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r<t.length;r++)t[r]=a(t[r],!e);return t}function a(t,e){return function(t){return o.ring(t)>=0}(t)===e?t:t.reverse()}var o=t(\\\"@mapbox/geojson-area\\\");e.exports=function t(e,r){switch(e&&e.type||null){case\\\"FeatureCollection\\\":return e.features=e.features.map(n(t,r)),e;case\\\"Feature\\\":return e.geometry=t(e.geometry,r),e;case\\\"Polygon\\\":case\\\"MultiPolygon\\\":return function(t,e){return\\\"Polygon\\\"===t.type?t.coordinates=i(t.coordinates,e):\\\"MultiPolygon\\\"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{\\\"@mapbox/geojson-area\\\":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var c=[],u=0===i?s:l,f=0;f<t.length-3;f+=3){var h=t[f],p=t[f+1],d=t[f+2],g=t[f+3],m=t[f+4],v=0===i?h:p,y=0===i?g:m,x=!1;v<r?y>=r&&u(c,h,p,g,m,r):v>n?y<=n&&u(c,h,p,g,m,n):o(c,h,p,d),y<r&&v>=r&&(u(c,h,p,g,m,r),x=!0),y>n&&v<=n&&(u(c,h,p,g,m,n),x=!0),!a&&x&&(c.size=t.size,e.push(c),c=[])}var b=t.length-3;h=t[b],p=t[b+1],d=t[b+2],(v=0===i?h:p)>=r&&v<=n&&o(c,h,p,d),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&o(c,c[0],c[1],c[2]),c.length&&(c.size=t.size,e.push(c))}function a(t,e,r,n,a,o){for(var s=0;s<t.length;s++)i(t[s],e,r,n,a,o)}function o(t,e,r,n){t.push(e),t.push(r),t.push(n)}function s(t,e,r,n,i,a){t.push(a),t.push(r+(a-e)*(i-r)/(n-e)),t.push(1)}function l(t,e,r,n,i,a){t.push(e+(a-r)*(n-e)/(i-r)),t.push(a),t.push(1)}e.exports=function(t,e,r,o,s,l,u){if(o/=e,l>=(r/=e)&&u<=o)return t;if(l>o||u<r)return null;for(var f=[],h=0;h<t.length;h++){var p=t[h],d=p.geometry,g=p.type,m=0===s?p.minX:p.minY,v=0===s?p.maxX:p.maxY;if(m>=r&&v<=o)f.push(p);else if(!(m>o||v<r)){var y=[];if(\\\"Point\\\"===g||\\\"MultiPoint\\\"===g)n(d,y,r,o,s);else if(\\\"LineString\\\"===g)i(d,y,r,o,s,!1);else if(\\\"MultiLineString\\\"===g)a(d,y,r,o,s,!1);else if(\\\"Polygon\\\"===g)a(d,y,r,o,s,!0);else if(\\\"MultiPolygon\\\"===g)for(var x=0;x<d.length;x++){var b=[];a(d[x],b,r,o,s,!0),b.length&&y.push(b)}y.length&&(\\\"LineString\\\"!==g&&\\\"MultiLineString\\\"!==g||(1===y.length?(g=\\\"LineString\\\",y=y[0]):g=\\\"MultiLineString\\\"),\\\"Point\\\"!==g&&\\\"MultiPoint\\\"!==g||(g=3===y.length?\\\"Point\\\":\\\"MultiPoint\\\"),f.push(c(p.id,g,y,p.tags)))}}return f.length?f:null};var c=t(\\\"./feature\\\")},{\\\"./feature\\\":18}],17:[function(t,e,r){function n(t,e,r){if(e.geometry){var s=e.geometry.coordinates,l=e.geometry.type,c=r*r,f=[];if(\\\"Point\\\"===l)i(s,f);else if(\\\"MultiPoint\\\"===l)for(var h=0;h<s.length;h++)i(s[h],f);else if(\\\"LineString\\\"===l)a(s,f,c,!1);else if(\\\"MultiLineString\\\"===l)o(s,f,c,!1);else if(\\\"Polygon\\\"===l)o(s,f,c,!0);else{if(\\\"MultiPolygon\\\"!==l){if(\\\"GeometryCollection\\\"===l){for(h=0;h<e.geometry.geometries.length;h++)n(t,{geometry:e.geometry.geometries[h],properties:e.properties},r);return}throw new Error(\\\"Input data is not a valid GeoJSON object.\\\")}for(h=0;h<s.length;h++){var p=[];o(s[h],p,c,!0),f.push(p)}}t.push(u(e.id,l,f,e.properties))}}function i(t,e){e.push(s(t[0])),e.push(l(t[1])),e.push(0)}function a(t,e,r,n){for(var i,a,o=0,u=0;u<t.length;u++){var f=s(t[u][0]),h=l(t[u][1]);e.push(f),e.push(h),e.push(0),u>0&&(o+=n?(i*h-f*a)/2:Math.sqrt(Math.pow(f-i,2)+Math.pow(h-a,2))),i=f,a=h}var p=e.length-3;e[2]=1,c(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i<t.length;i++){var o=[];a(t[i],o,r,n),e.push(o)}}function s(t){return t/360+.5}function l(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}e.exports=function(t,e){var r=[];if(\\\"FeatureCollection\\\"===t.type)for(var i=0;i<t.features.length;i++)n(r,t.features[i],e);else\\\"Feature\\\"===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var c=t(\\\"./simplify\\\"),u=t(\\\"./feature\\\")},{\\\"./feature\\\":18,\\\"./simplify\\\":20}],18:[function(t,e,r){function n(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])}e.exports=function(t,e,r,i){var a={id:t||null,type:e,geometry:r,tags:i,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)n(t,e);else if(\\\"Polygon\\\"===r||\\\"MultiLineString\\\"===r)for(var i=0;i<e.length;i++)n(t,e[i]);else if(\\\"MultiPolygon\\\"===r)for(i=0;i<e.length;i++)for(var a=0;a<e[i].length;a++)n(t,e[i][a])}(a),a}},{}],19:[function(t,e,r){function n(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\\\");var n=1<<e.maxZoom,i=a(t,e.tolerance/(n*e.extent));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),(i=l(i,e.buffer/e.extent)).length&&this.splitTile(i,0,0,0),r&&(i.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 i(t,e,r){return 32*((1<<t)*r+e)+t}e.exports=function(t,e){return new n(t,e)};var a=t(\\\"./convert\\\"),o=t(\\\"./transform\\\"),s=t(\\\"./clip\\\"),l=t(\\\"./wrap\\\"),c=t(\\\"./tile\\\");n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,a,o,l){for(var u=[t,e,r,n],f=this.options,h=f.debug;u.length;){n=u.pop(),r=u.pop(),e=u.pop(),t=u.pop();var p=1<<e,d=i(e,r,n),g=this.tiles[d],m=e===f.maxZoom?0:f.tolerance/(p*f.extent);if(!g&&(h>1&&console.time(\\\"creation\\\"),g=this.tiles[d]=c(t,p,r,n,m,e===f.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),h)){h>1&&(console.log(\\\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\\\",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd(\\\"creation\\\"));var v=\\\"z\\\"+e;this.stats[v]=(this.stats[v]||0)+1,this.total++}if(g.source=t,a){if(e===f.maxZoom||e===a)continue;var y=1<<a-e;if(r!==Math.floor(o/y)||n!==Math.floor(l/y))continue}else if(e===f.indexMaxZoom||g.numPoints<=f.indexMaxPoints)continue;if(g.source=null,0!==t.length){h>1&&console.time(\\\"clipping\\\");var x,b,_,w,k,M,A=.5*f.buffer/f.extent,T=.5-A,S=.5+A,C=1+A;x=b=_=w=null,k=s(t,p,r-A,r+S,0,g.minX,g.maxX),M=s(t,p,r+T,r+C,0,g.minX,g.maxX),t=null,k&&(x=s(k,p,n-A,n+S,1,g.minY,g.maxY),b=s(k,p,n+T,n+C,1,g.minY,g.maxY),k=null),M&&(_=s(M,p,n-A,n+S,1,g.minY,g.maxY),w=s(M,p,n+T,n+C,1,g.minY,g.maxY),M=null),h>1&&console.timeEnd(\\\"clipping\\\"),u.push(x||[],e+1,2*r,2*n),u.push(b||[],e+1,2*r,2*n+1),u.push(_||[],e+1,2*r+1,2*n),u.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<<t,c=i(t,e=(e%l+l)%l,r);if(this.tiles[c])return o.tile(this.tiles[c],a);s>1&&console.log(\\\"drilling down to z%d-%d-%d\\\",t,e,r);for(var u,f=t,h=e,p=r;!u&&f>0;)f--,h=Math.floor(h/2),p=Math.floor(p/2),u=this.tiles[i(f,h,p)];return u&&u.source?(s>1&&console.log(\\\"found parent tile z%d-%d-%d\\\",f,h,p),s>1&&console.time(\\\"drilling down\\\"),this.splitTile(u.source,f,h,p,t,e,r),s>1&&console.timeEnd(\\\"drilling down\\\"),this.tiles[c]?o.tile(this.tiles[c],a):null):null}},{\\\"./clip\\\":16,\\\"./convert\\\":17,\\\"./tile\\\":21,\\\"./transform\\\":22,\\\"./wrap\\\":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],c=e[r+1],u=e[i],f=e[i+1],h=r+3;h<i;h+=3){var p=n(e[h],e[h+1],l,c,u,f);p>s&&(o=h,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if(\\\"Point\\\"===o||\\\"MultiPoint\\\"===o)for(var l=0;l<a.length;l+=3)s.push(a[l]),s.push(a[l+1]),t.numPoints++,t.numSimplified++;else if(\\\"LineString\\\"===o)i(s,a,t,r,n,!1,!1);else if(\\\"MultiLineString\\\"===o||\\\"Polygon\\\"===o)for(l=0;l<a.length;l++)i(s,a[l],t,r,n,\\\"Polygon\\\"===o,0===l);else if(\\\"MultiPolygon\\\"===o)for(var c=0;c<a.length;c++){var u=a[c];for(l=0;l<u.length;l++)i(s,u[l],t,r,n,!0,0===l)}if(s.length){var f={geometry:s,type:\\\"Polygon\\\"===o||\\\"MultiPolygon\\\"===o?3:\\\"LineString\\\"===o||\\\"MultiLineString\\\"===o?2:1,tags:e.tags||null};null!==e.id&&(f.id=e.id),t.features.push(f)}}function i(t,e,r,n,i,a,o){var s=n*n;if(!i&&e.size<(a?s:n))r.numPoints+=e.length/3;else{for(var l=[],c=0;c<e.length;c+=3)(i||e[c+2]>s)&&(r.numSimplified++,l.push(e[c]),l.push(e[c+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(l,o),t.push(l)}}e.exports=function(t,e,r,i,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},l=0;l<t.length;l++){s.numFeatures++,n(s,t[l],a,o);var c=t[l].minX,u=t[l].minY,f=t[l].maxX,h=t[l].maxY;c<s.minX&&(s.minX=c),u<s.minY&&(s.minY=u),f>s.maxX&&(s.maxX=f),h>s.maxY&&(s.maxY=h)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var c=t.features[r],u=c.geometry,f=c.type;if(c.geometry=[],1===f)for(i=0;i<u.length;i+=2)c.geometry.push(n(u[i],u[i+1],e,o,s,l));else for(i=0;i<u.length;i++){var h=[];for(a=0;a<u[i].length;a+=2)h.push(n(u[i][a],u[i][a+1],e,o,s,l));c.geometry.push(h)}}return t.transformed=!0,t},r.point=n},{}],23:[function(t,e,r){function n(t,e){for(var r=[],n=0;n<t.length;n++){var a,s=t[n],l=s.type;if(\\\"Point\\\"===l||\\\"MultiPoint\\\"===l||\\\"LineString\\\"===l)a=i(s.geometry,e);else if(\\\"MultiLineString\\\"===l||\\\"Polygon\\\"===l){a=[];for(var c=0;c<s.geometry.length;c++)a.push(i(s.geometry[c],e))}else if(\\\"MultiPolygon\\\"===l)for(a=[],c=0;c<s.geometry.length;c++){for(var u=[],f=0;f<s.geometry[c].length;f++)u.push(i(s.geometry[c][f],e));a.push(u)}r.push(o(s.id,l,a,s.tags))}return r}function i(t,e){var r=[];r.size=t.size;for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}var a=t(\\\"./clip\\\"),o=t(\\\"./feature\\\");e.exports=function(t,e){var r=t,i=a(t,1,-1-e,e,0,-1,2),o=a(t,1,1-e,2+e,0,-1,2);return(i||o)&&(r=a(t,1,-e,1+e,0,-1,2)||[],i&&(r=n(i,1).concat(r)),o&&(r=r.concat(n(o,-1)))),r}},{\\\"./clip\\\":16,\\\"./feature\\\":18}],24:[function(t,e,r){function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var c=a[i+n.length],u=a[i+n.length+1];this.keys=a.subarray(c,u),this.bboxes=a.subarray(u),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var f=0;f<this.d*this.d;f++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\\\"Cannot insert into a GridIndex created from an ArrayBuffer.\\\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u<s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t<=c[h+2]&&e<=c[h+3]&&r>=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+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 o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],25:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);o(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t){return t[0]}function a(t){return t[1]}var o=t(\\\"./sort\\\"),s=t(\\\"./range\\\"),l=t(\\\"./within\\\");e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return s(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return l(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\\\"./range\\\":27,\\\"./sort\\\":28,\\\"./within\\\":29}],27:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,c=i-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,i,Math.max(a,Math.floor(i-c*f/l+h)),Math.min(o,Math.floor(i+(l-c)*f/l+h)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);d<g;){for(n(e,r,d,g),d++,g--;r[2*d+s]<p;)d++;for(;r[2*g+s]>p;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h<=o)for(var p=h;p<=f;p++)n(e[2*p],e[2*p+1],r,i)<=c&&l.push(t[p]);else{var d=Math.floor((h+f)/2),g=e[2*d],m=e[2*d+1];n(g,m,r,i)<=c&&l.push(t[d]);var v=(u+1)%2;(0===u?r-a<=g:i-a<=m)&&(s.push(h),s.push(d-1),s.push(v)),(0===u?r+a>=g:i+a>=m)&&(s.push(d+1),s.push(f),s.push(v))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function g(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function m(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function v(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t(\\\"ieee754\\\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=m(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=m(this.buf,this.pos)+4294967296*m(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=m(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(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,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(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=function(t,e,r){for(var n=\\\"\\\",i=e;i<r;){var a,o,s,l=t[i],c=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<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),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.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),v(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),v(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),v(this.buf,-1&t,this.pos),v(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),v(this.buf,-1&t,this.pos),v(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,t>>>=7,r.buf[r.pos]=127&t}(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,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=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&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(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&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,f,e)},writePackedFloat:function(t,e){this.writeMessage(t,c,e)},writePackedDouble:function(t,e){this.writeMessage(t,u,e)},writePackedFixed32:function(t,e){this.writeMessage(t,h,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return t<e?-1:t>e?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,c=r-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,Math.max(a,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d<g;){for(n(e,d,g),d++,g--;s(e[d],p)<0;)d++;for(;s(e[g],p)>0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=u(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:c(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:\\\"Feature\\\",properties:s(t),geometry:{type:\\\"Point\\\",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\\\"k\\\":e>=1e3?Math.round(e/100)/10+\\\"k\\\":e;return u(u({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function c(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 u(t,e){for(var r in e)t[r]=e[r];return t}function f(t){return t.x}function h(t){return t.y}var p=t(\\\"kdbush\\\");e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\\\"total time\\\");var r=\\\"prepare \\\"+t.length+\\\" points\\\";e&&console.time(r),this.points=t;var n=t.map(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,f,h,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\\\"z%d: %d clusters in %dms\\\",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,f,h,this.options.nodeSize,Float32Array),e&&console.timeEnd(\\\"total time\\\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(l(t[0]),c(t[3]),l(t[2]),c(t[1])),i=[],a=0;a<n.length;a++){var s=r.points[n[a]];i.push(s.numPoints?o(s):this.points[s.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],s=0;s<i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&&a.push(l.numPoints?o(l):this.points[l.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var l=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?s(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),a=0;a<t.length;a++){var o=t[a];if(!(o.zoom<=e)){o.zoom=e;var s=this.trees[e+1],l=s.within(o.x,o.y,n),c=o.numPoints||1,u=o.x*c,f=o.y*c,h=null;this.options.reduce&&(h=this.options.initial(),this._accumulate(h,o));for(var p=0;p<l.length;p++){var d=s.points[l[p]];if(e<d.zoom){var g=d.numPoints||1;d.zoom=e,u+=d.x*g,f+=d.y*g,c+=g,d.parentId=a,this.options.reduce&&this._accumulate(h,d)}}1===c?r.push(o):(o.parentId=a,r.push(i(u/c,f/c,c,a,h)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:26}],33:[function(t,e,r){function n(t,e){if(!(this instanceof n))return new n(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||i,this.length>0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return t<e?-1:t>e?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t<i;){var o=1+(t<<1),s=o+1,l=e[o];if(s<n&&r(e[s],l)<0&&(o=s,l=e[s]),r(l,a)>=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new f;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\\\"\\\"),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,a,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var o=n.values;for(r=0;r<o.length;r++)e.writeMessage(4,u,o[r])}function a(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,o,t),e.writeVarintField(3,r.type),e.writeMessage(4,c,r)}function o(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;\\\"string\\\"!==u&&\\\"boolean\\\"!==u&&\\\"number\\\"!==u&&(c=JSON.stringify(c));var f=u+\\\":\\\"+c,h=o[f];void 0===h&&(i.push(c),h=i.length-1,o[f]=h),e.writeVarint(h)}}function s(t,e){return(e<<3)+(7&t)}function l(t){return t<<1^t>>31}function c(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,c=0;c<o;c++){var u=r[c],f=1;1===n&&(f=u.length),e.writeVarint(s(1,f));for(var h=0;h<u.length;h++){1===h&&1!==n&&e.writeVarint(s(2,u.length-1));var p=u[h].x-i,d=u[h].y-a;e.writeVarint(l(p)),e.writeVarint(l(d)),i+=p,a+=d}}}function u(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))}var f=t(\\\"pbf\\\"),h=t(\\\"./lib/geojson_wrapper\\\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new h(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=h},{\\\"./lib/geojson_wrapper\\\":35,pbf:30}],35:[function(t,e,r){function n(t){this.features=t,this.length=t.length}function i(t){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=4096}var a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],36:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),l=0,c=s.length;l<c;l++){var u=s[l],f=a[u].exports;if(f===t||f&&f.default===t){r=u;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var h={};for(l=0,c=s.length;l<c;l++){h[u=s[l]]=u}i[r]=[\\\"function(require,module,exports){\\\"+t+\\\"(self); }\\\",h]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[p]=[\\\"function(require,module,exports){var f = require(\\\"+o(r)+\\\");(f.default ? f.default : f)(self);}\\\",d];var g={};!function t(e){for(var r in g[e]=!0,i[e][1]){var n=i[e][1][r];g[n]||t(n)}}(p);var m=\\\"(\\\"+n+\\\")({\\\"+Object.keys(g).map(function(t){return o(t)+\\\":[\\\"+i[t][0]+\\\",\\\"+o(i[t][1])+\\\"]\\\"}).join(\\\",\\\")+\\\"},{},[\\\"+o(p)+\\\"])\\\",v=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([m],{type:\\\"text/javascript\\\"});if(e&&e.bare)return y;var x=v.createObjectURL(y),b=new Worker(x);return b.objectURL=x,b}},{}],37:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],38:[function(t,e,r){e.exports={version:\\\"0.44.1\\\"}},{}],39:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").StructArray,i=t(\\\"../util/struct_array\\\").Struct,a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"@mapbox/point-geometry\\\"),s=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(n);s.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2i4\\\",s);var l=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(n);l.prototype.bytesPerElement=8,a(\\\"StructArrayLayout4i8\\\",l);var c=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);c.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i4i12\\\",c);var u=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var c=6*l,u=12*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint8[u+8]=i,this.uint8[u+9]=a,this.uint8[u+10]=o,this.uint8[u+11]=s,l},e}(n);u.prototype.bytesPerElement=12,a(\\\"StructArrayLayout4i4ub12\\\",u);var f=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var c=8*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint16[c+4]=i,this.uint16[c+5]=a,this.uint16[c+6]=o,this.uint16[c+7]=s,l},e}(n);f.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4i4ui16\\\",f);var h=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(n);h.prototype.bytesPerElement=12,a(\\\"StructArrayLayout3f12\\\",h);var p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(n);p.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1ul4\\\",p);var d=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,c,u){var f=this.length;this.resize(f+1);var h=12*f,p=6*f;return this.int16[h+0]=t,this.int16[h+1]=e,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=i,this.int16[h+5]=a,this.uint32[p+3]=o,this.uint16[h+8]=s,this.uint16[h+9]=l,this.int16[h+10]=c,this.int16[h+11]=u,f},e}(n);d.prototype.bytesPerElement=24,a(\\\"StructArrayLayout6i1ul2ui2i24\\\",d);var g=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);g.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i2i2i12\\\",g);var m=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(n);m.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ub4\\\",m);var v=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,c,u,f,h,p){var d=this.length;this.resize(d+1);var g=20*d,m=10*d,v=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[m+2]=i,this.uint32[m+3]=a,this.uint32[m+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=c,this.float32[m+7]=u,this.float32[m+8]=f,this.uint8[v+36]=h,this.uint8[v+37]=p,d},e}(n);v.prototype.bytesPerElement=40,a(\\\"StructArrayLayout2i2ui3ul3ui2f2ub40\\\",v);var y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(n);y.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1f4\\\",y);var x=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(n);x.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3i6\\\",x);var b=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(n);b.prototype.bytesPerElement=8,a(\\\"StructArrayLayout1ul2ui8\\\",b);var _=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(n);_.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3ui6\\\",_);var w=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(n);w.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ui4\\\",w);var k=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(n);k.prototype.bytesPerElement=8,a(\\\"StructArrayLayout2f8\\\",k);var M=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(n);M.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4f16\\\",M);var A=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{},anchorPointY:{},x1:{},y1:{},x2:{},y2:{},featureIndex:{},sourceLayerIndex:{},bucketIndex:{},radius:{},signedDistanceFromAnchor:{},anchorPoint:{}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new o(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(i);A.prototype.size=24;var T=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new A(this,t)},e}(d);a(\\\"CollisionBoxArray\\\",T);var S=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{},anchorY:{},glyphStartIndex:{},numGlyphs:{},vertexStartIndex:{},lineStartIndex:{},lineLength:{},segment:{},lowerSize:{},upperSize:{},lineOffsetX:{},lineOffsetY:{},writingMode:{},hidden:{}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(i);S.prototype.size=40;var C=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new S(this,t)},e}(v);a(\\\"PlacedSymbolArray\\\",C);var E=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(i);E.prototype.size=4;var L=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new E(this,t)},e}(y);a(\\\"GlyphOffsetArray\\\",L);var z=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{},y:{},tileUnitDistanceFromAnchor:{}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(i);z.prototype.size=6;var P=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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.prototype.get=function(t){return new z(this,t)},e}(x);a(\\\"SymbolLineVertexArray\\\",P);var D=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{},sourceLayerIndex:{},bucketIndex:{}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(i);D.prototype.size=8;var O=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new D(this,t)},e}(b);a(\\\"FeatureIndexArray\\\",O),e.exports={StructArrayLayout2i4:s,StructArrayLayout4i8:l,StructArrayLayout2i4i12:c,StructArrayLayout4i4ub12:u,StructArrayLayout4i4ui16:f,StructArrayLayout3f12:h,StructArrayLayout1ul4:p,StructArrayLayout6i1ul2ui2i24:d,StructArrayLayout2i2i2i12:g,StructArrayLayout2ub4:m,StructArrayLayout2i2ui3ul3ui2f2ub40:v,StructArrayLayout1f4:y,StructArrayLayout3i6:x,StructArrayLayout1ul2ui8:b,StructArrayLayout3ui6:_,StructArrayLayout2ui4:w,StructArrayLayout2f8:k,StructArrayLayout4f16:M,PosArray:s,RasterBoundsArray:l,CircleLayoutArray:s,FillLayoutArray:s,FillExtrusionLayoutArray:c,HeatmapLayoutArray:s,LineLayoutArray:u,SymbolLayoutArray:f,SymbolDynamicLayoutArray:h,SymbolOpacityArray:p,CollisionBoxLayoutArray:g,CollisionCircleLayoutArray:g,CollisionVertexArray:m,TriangleIndexArray:_,LineIndexArray:w,CollisionBoxArray:T,PlacedSymbolArray:C,GlyphOffsetArray:L,SymbolLineVertexArray:P,FeatureIndexArray:O}},{\\\"../util/struct_array\\\":271,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],40:[function(t,e,r){e.exports={deserialize:function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}}},{}],41:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],42:[function(t,e,r){function n(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var i=t(\\\"../array_types\\\").CircleLayoutArray,a=t(\\\"./circle_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,c=t(\\\"../load_geometry\\\"),u=t(\\\"../extent\\\"),f=t(\\\"../../util/web_worker_transfer\\\").register,h=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.layoutVertexArray=new i,this.indexArray=new l,this.segments=new o,this.programConfigurations=new s(a,t.layers,t.zoom)};h.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},h.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},h.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},h.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},h.prototype.addFeature=function(t,e){for(var r=this,i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],c=l.x,f=l.y;if(!(c<0||c>=u||f<0||f>=u)){var h=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=h.vertexLength;n(r.layoutVertexArray,c,f,-1,-1),n(r.layoutVertexArray,c,f,1,-1),n(r.layoutVertexArray,c,f,1,1),n(r.layoutVertexArray,c,f,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},f(\\\"CircleBucket\\\",h,{omit:[\\\"layers\\\"]}),e.exports=h},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./circle_attributes\\\":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{\\\"../../util/struct_array\\\":271,dup:41}],44:[function(t,e,r){var n=t(\\\"../array_types\\\").FillLayoutArray,i=t(\\\"./fill_attributes\\\").members,a=t(\\\"../segment\\\").SegmentVector,o=t(\\\"../program_configuration\\\").ProgramConfigurationSet,s=t(\\\"../index_array_type\\\"),l=s.LineIndexArray,c=s.TriangleIndexArray,u=t(\\\"../load_geometry\\\"),f=t(\\\"earcut\\\"),h=t(\\\"../../util/classify_rings\\\"),p=t(\\\"../../util/web_worker_transfer\\\").register,d=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.layoutVertexArray=new n,this.indexArray=new c,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},d.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},d.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,i),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},d.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},d.prototype.addFeature=function(t,e){for(var r=this,n=0,i=h(e,500);n<i.length;n+=1){for(var a=i[n],o=0,s=0,l=a;s<l.length;s+=1)o+=l[s].length;for(var c=r.segments.prepareSegment(o,r.layoutVertexArray,r.indexArray),u=c.vertexLength,p=[],d=[],g=0,m=a;g<m.length;g+=1){var v=m[g];if(0!==v.length){v!==a[0]&&d.push(p.length/2);var y=r.segments2.prepareSegment(v.length,r.layoutVertexArray,r.indexArray2),x=y.vertexLength;r.layoutVertexArray.emplaceBack(v[0].x,v[0].y),r.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++)r.layoutVertexArray.emplaceBack(v[b].x,v[b].y),r.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 _=f(p,d),w=0;w<_.length;w+=3)r.indexArray.emplaceBack(u+_[w],u+_[w+1],u+_[w+2]);c.vertexLength+=o,c.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},p(\\\"FillBucket\\\",d,{omit:[\\\"layers\\\"]}),e.exports=d},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_attributes\\\":43,earcut:14}],45:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_normal_ed\\\",components:4,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],46:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*y)+o,i*y*2,a*y*2,Math.round(s))}function i(t,e){return t.x===e.x&&(t.x<0||t.x>d)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t(\\\"../array_types\\\").FillExtrusionLayoutArray,s=t(\\\"./fill_extrusion_attributes\\\").members,l=t(\\\"../segment\\\"),c=l.SegmentVector,u=l.MAX_VERTEX_ARRAY_LENGTH,f=t(\\\"../program_configuration\\\").ProgramConfigurationSet,h=t(\\\"../index_array_type\\\").TriangleIndexArray,p=t(\\\"../load_geometry\\\"),d=t(\\\"../extent\\\"),g=t(\\\"earcut\\\"),m=t(\\\"../../util/classify_rings\\\"),v=t(\\\"../../util/web_worker_transfer\\\").register,y=Math.pow(2,13),x=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.layoutVertexArray=new o,this.indexArray=new h,this.programConfigurations=new f(s,t.layers,t.zoom),this.segments=new c};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=p(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},x.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},x.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,s),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},x.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},x.prototype.addFeature=function(t,e){for(var r=this,o=0,s=m(e,500);o<s.length;o+=1){for(var l=s[o],c=0,f=0,h=l;f<h.length;f+=1)c+=h[f].length;for(var p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),d=0,v=l;d<v.length;d+=1){var y=v[d];if(0!==y.length&&!a(y))for(var x=0,b=0;b<y.length;b++){var _=y[b];if(b>=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>u&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var k=_.sub(w)._perp()._unit(),M=w.dist(_);x+M>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,1,x),x+=M,n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,1,x);var A=p.vertexLength;r.indexArray.emplaceBack(A,A+1,A+2),r.indexArray.emplaceBack(A+1,A+2,A+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+c>u&&(p=r.segments.prepareSegment(c,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],C=p.vertexLength,E=0,L=l;E<L.length;E+=1){var z=L[E];if(0!==z.length){z!==l[0]&&S.push(T.length/2);for(var P=0;P<z.length;P++){var D=z[P];n(r.layoutVertexArray,D.x,D.y,0,0,1,1,0),T.push(D.x),T.push(D.y)}}}for(var O=g(T,S),I=0;I<O.length;I+=3)r.indexArray.emplaceBack(C+O[I],C+O[I+1],C+O[I+2]);p.primitiveLength+=O.length/3,p.vertexLength+=c}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},v(\\\"FillExtrusionBucket\\\",x,{omit:[\\\"layers\\\"]}),e.exports=x},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_extrusion_attributes\\\":45,earcut:14}],47:[function(t,e,r){var n=t(\\\"./circle_bucket\\\"),i=t(\\\"../../util/web_worker_transfer\\\").register,a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n);i(\\\"HeatmapBucket\\\",a,{omit:[\\\"layers\\\"]}),e.exports=a},{\\\"../../util/web_worker_transfer\\\":278,\\\"./circle_bucket\\\":42}],48:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos_normal\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}],4)},{\\\"../../util/struct_array\\\":271}],49:[function(t,e,r){function n(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(p*r.x)+128,Math.round(p*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*g&63)<<2,o*g>>6)}var i=t(\\\"../array_types\\\").LineLayoutArray,a=t(\\\"./line_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,c=t(\\\"../load_geometry\\\"),u=t(\\\"../extent\\\"),f=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,h=t(\\\"../../util/web_worker_transfer\\\").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,m=Math.pow(2,14)/g,v=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.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};v.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},v.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},v.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},v.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},v.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\\\"line-join\\\").evaluate(t),i=r.get(\\\"line-cap\\\"),a=r.get(\\\"line-miter-limit\\\"),o=r.get(\\\"line-round-limit\\\"),s=0,l=e;s<l.length;s+=1){var c=l[s];this.addLine(c,t,n,i,a,o)}},v.prototype.addLine=function(t,e,r,n,i,a){for(var o=this,s=\\\"Polygon\\\"===f[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&&(i=1.05);var h=u/(512*this.overscaling)*15,p=t[c],g=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var m,v,y,x=n,b=s?\\\"butt\\\":n,_=!0,w=void 0,k=void 0,M=void 0,A=void 0;this.e1=this.e2=this.e3=-1,s&&(m=t[l-2],A=p.sub(m)._unit()._perp());for(var T=c;T<l;T++)if(!(k=s&&T===l-1?t[c+1]:t[T+1])||!t[T].equals(k)){A&&(M=A),m&&(w=m),m=t[T],A=k?k.sub(m)._unit()._perp():M;var S=(M=M||A).add(A);0===S.x&&0===S.y||S._unit();var C=S.x*A.x+S.y*A.y,E=0!==C?1/C:1/0,L=C<d&&w&&k;if(L&&T>c){var z=m.dist(w);if(z>2*h){var P=m.sub(m.sub(w)._mult(h/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,M.mult(1),0,0,!1,g),w=P}}var D=w&&k,O=D?r:k?x:b;if(D&&\\\"round\\\"===O&&(E<a?O=\\\"miter\\\":E<=2&&(O=\\\"fakeround\\\")),\\\"miter\\\"===O&&E>i&&(O=\\\"bevel\\\"),\\\"bevel\\\"===O&&(E>2&&(O=\\\"flipbevel\\\"),E<i&&(O=\\\"miter\\\")),w&&(o.distance+=m.dist(w)),\\\"miter\\\"===O)S._mult(E),o.addCurrentVertex(m,o.distance,S,0,0,!1,g);else if(\\\"flipbevel\\\"===O){if(E>100)S=A.clone().mult(-1);else{var I=M.x*A.y-M.y*A.x>0?-1:1,R=E*M.add(A).mag()/M.sub(A).mag();S._perp()._mult(R*I)}o.addCurrentVertex(m,o.distance,S,0,0,!1,g),o.addCurrentVertex(m,o.distance,S.mult(-1),0,0,!1,g)}else if(\\\"bevel\\\"===O||\\\"fakeround\\\"===O){var B=M.x*A.y-M.y*A.x>0,F=-Math.sqrt(E*E-1);if(B?(y=0,v=F):(v=0,y=F),_||o.addCurrentVertex(m,o.distance,M,v,y,!1,g),\\\"fakeround\\\"===O){for(var N=Math.floor(8*(.5-(C-.5))),j=void 0,V=0;V<N;V++)j=A.mult((V+1)/(N+1))._add(M)._unit(),o.addPieSliceVertex(m,o.distance,j,B,g);o.addPieSliceVertex(m,o.distance,S,B,g);for(var U=N-1;U>=0;U--)j=M.mult((U+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(m,o.distance,j,B,g)}k&&o.addCurrentVertex(m,o.distance,A,-v,-y,!1,g)}else\\\"butt\\\"===O?(_||o.addCurrentVertex(m,o.distance,M,0,0,!1,g),k&&o.addCurrentVertex(m,o.distance,A,0,0,!1,g)):\\\"square\\\"===O?(_||(o.addCurrentVertex(m,o.distance,M,1,1,!1,g),o.e1=o.e2=-1),k&&o.addCurrentVertex(m,o.distance,A,-1,-1,!1,g)):\\\"round\\\"===O&&(_||(o.addCurrentVertex(m,o.distance,M,0,0,!1,g),o.addCurrentVertex(m,o.distance,M,1,1,!0,g),o.e1=o.e2=-1),k&&(o.addCurrentVertex(m,o.distance,A,-1,-1,!0,g),o.addCurrentVertex(m,o.distance,A,0,0,!1,g)));if(L&&T<l-1){var q=m.dist(k);if(q>2*h){var H=m.add(k.sub(m)._mult(h/q)._round());o.distance+=H.dist(m),o.addCurrentVertex(H,o.distance,A.mult(1),0,0,!1,g),m=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},v.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(c,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(c,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>m/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},v.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},h(\\\"LineBucket\\\",v,{omit:[\\\"layers\\\"]}),e.exports=v},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./line_attributes\\\":48,\\\"@mapbox/vector-tile\\\":8}],50:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout,i={symbolLayoutAttributes:n([{name:\\\"a_pos_offset\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint16\\\"}]),dynamicLayoutAttributes:n([{name:\\\"a_projected_pos\\\",components:3,type:\\\"Float32\\\"}],4),placementOpacityAttributes:n([{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint32\\\"}],4),collisionVertexAttributes:n([{name:\\\"a_placed\\\",components:2,type:\\\"Uint8\\\"}],4),collisionBox:n([{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\\\"},{type:\\\"Int16\\\",name:\\\"radius\\\"},{type:\\\"Int16\\\",name:\\\"signedDistanceFromAnchor\\\"}]),collisionBoxLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),collisionCircleLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),placement:n([{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:\\\"hidden\\\"}]),glyphOffset:n([{type:\\\"Float32\\\",name:\\\"offsetX\\\"}]),lineVertex:n([{type:\\\"Int16\\\",name:\\\"x\\\"},{type:\\\"Int16\\\",name:\\\"y\\\"},{type:\\\"Int16\\\",name:\\\"tileUnitDistanceFromAnchor\\\"}])};e.exports=i},{\\\"../../util/struct_array\\\":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(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)}var a=t(\\\"./symbol_attributes\\\"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,c=a.collisionCircleLayout,u=a.dynamicLayoutAttributes,f=t(\\\"../array_types\\\"),h=f.SymbolLayoutArray,p=f.SymbolDynamicLayoutArray,d=f.SymbolOpacityArray,g=f.CollisionBoxLayoutArray,m=f.CollisionCircleLayoutArray,v=f.CollisionVertexArray,y=f.PlacedSymbolArray,x=f.GlyphOffsetArray,b=f.SymbolLineVertexArray,_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"../segment\\\").SegmentVector,k=t(\\\"../program_configuration\\\").ProgramConfigurationSet,M=t(\\\"../index_array_type\\\"),A=M.TriangleIndexArray,T=M.LineIndexArray,S=t(\\\"../../symbol/transform_text\\\"),C=t(\\\"../../symbol/mergelines\\\"),E=t(\\\"../../util/script_detection\\\"),L=t(\\\"../load_geometry\\\"),z=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,P=t(\\\"../../util/verticalize_punctuation\\\"),D=(t(\\\"../../symbol/anchor\\\"),t(\\\"../../symbol/symbol_size\\\").getSizeData),O=t(\\\"../../util/web_worker_transfer\\\").register,I=[{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint8\\\",offset:0}],R=function(t){this.layoutVertexArray=new h,this.indexArray=new A,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,u.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,I,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},O(\\\"SymbolBuffers\\\",R);var B=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new v};B.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},B.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},O(\\\"CollisionBuffers\\\",B);var F=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;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=D(this.zoom,e[\\\"text-size\\\"]),this.iconSizeData=D(this.zoom,e[\\\"icon-size\\\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\\\"text-allow-overlap\\\")||r.get(\\\"icon-allow-overlap\\\")||r.get(\\\"text-ignore-placement\\\")||r.get(\\\"icon-ignore-placement\\\")};F.prototype.createArrays=function(){this.text=new R(new k(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new k(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new B(g,l.members,T),this.collisionCircle=new B(m,c.members,A),this.glyphOffsetArray=new x,this.lineVertexArray=new b},F.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\\\"text-font\\\"),a=n.get(\\\"text-field\\\"),o=n.get(\\\"icon-image\\\"),s=(\\\"constant\\\"!==a.value.kind||a.value.value.length>0)&&(\\\"constant\\\"!==i.value.kind||i.value.value.length>0),l=\\\"constant\\\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f={zoom:this.zoom},h=0,p=t;h<p.length;h+=1){var d=p[h],g=d.feature,m=d.index,v=d.sourceLayerIndex;if(r._featureFilter(f,g)){var y=void 0;s&&(y=r.getValueAndResolveTokens(\\\"text-field\\\",g),y=S(y,r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\\\"icon-image\\\",g)),y||x){var b={text:y,icon:x,index:m,sourceLayerIndex:v,geometry:L(g),properties:g.properties,type:z[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(c[x]=!0),y)for(var _=i.evaluate(g).join(\\\",\\\"),w=u[_]=u[_]||{},k=\\\"map\\\"===n.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===n.get(\\\"symbol-placement\\\"),M=E.allowsVerticalWritingMode(y),A=0;A<y.length;A++)if(w[y.charCodeAt(A)]=!0,k&&M){var T=P.lookup[y.charAt(A)];T&&(w[T.charCodeAt(0)]=!0)}}}}\\\"line\\\"===n.get(\\\"symbol-placement\\\")&&(this.features=C(this.features))}},F.prototype.isEmpty=function(){return 0===this.symbolInstances.length},F.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},F.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},F.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[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--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},F.prototype.addSymbols=function(t,e,r,a,o,s,l,c,u,f){for(var h=t.indexArray,p=t.layoutVertexArray,d=t.dynamicLayoutVertexArray,g=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),m=this.glyphOffsetArray.length,v=g.vertexLength,y=0,x=e;y<x.length;y+=1){var b=x[y],_=b.tl,w=b.tr,k=b.bl,M=b.br,A=b.tex,T=g.vertexLength,S=b.glyphOffset[1];n(p,c.x,c.y,_.x,S+_.y,A.x,A.y,r),n(p,c.x,c.y,w.x,S+w.y,A.x+A.w,A.y,r),n(p,c.x,c.y,k.x,S+k.y,A.x,A.y+A.h,r),n(p,c.x,c.y,M.x,S+M.y,A.x+A.w,A.y+A.h,r),i(d,c,0),h.emplaceBack(T,T+1,T+2),h.emplaceBack(T+1,T+2,T+3),g.vertexLength+=4,g.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])}t.placedSymbolArray.emplaceBack(c.x,c.y,m,this.glyphOffsetArray.length-m,v,u,f,c.segment,r?r[0]:0,r?r[1]:0,a[0],a[1],l,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,s)},F.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},F.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),c=l.vertexLength,u=i.layoutVertexArray,f=i.collisionVertexArray;if(this._addCollisionDebugVertex(u,f,a,o.anchor,new _(t,e)),this._addCollisionDebugVertex(u,f,a,o.anchor,new _(r,e)),this._addCollisionDebugVertex(u,f,a,o.anchor,new _(r,n)),this._addCollisionDebugVertex(u,f,a,o.anchor,new _(t,n)),l.vertexLength+=4,s){var h=i.indexArray;h.emplaceBack(c,c+1,c+2),h.emplaceBack(c,c+2,c+3),l.primitiveLength+=2}else{var p=i.indexArray;p.emplaceBack(c,c+1),p.emplaceBack(c+1,c+2),p.emplaceBack(c+2,c+3),p.emplaceBack(c+3,c),l.primitiveLength+=4}},F.prototype.generateCollisionDebugBuffers=function(){for(var t=this,e=0,r=t.symbolInstances;e<r.length;e+=1){var n=r[e];n.textCollisionFeature={boxStartIndex:n.textBoxStartIndex,boxEndIndex:n.textBoxEndIndex},n.iconCollisionFeature={boxStartIndex:n.iconBoxStartIndex,boxEndIndex:n.iconBoxEndIndex};for(var i=0;i<2;i++){var a=n[0===i?\\\"textCollisionFeature\\\":\\\"iconCollisionFeature\\\"];if(a)for(var o=a.boxStartIndex;o<a.boxEndIndex;o++){var s=t.collisionBoxArray.get(o),l=s.x1,c=s.y1,u=s.x2,f=s.y2,h=s.radius>0;t.addCollisionDebugVertices(l,c,u,f,h?t.collisionCircle:t.collisionBox,s.anchorPoint,n,h)}}}},F.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY};break}a.textCircles||(a.textCircles=[]),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var c=t.get(l);if(0===c.radius){a.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY};break}}return a},F.prototype.hasTextData=function(){return this.text.segments.get().length>0},F.prototype.hasIconData=function(){return this.icon.segments.get().length>0},F.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},F.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},F.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear();for(var o=0,s=r;o<s.length;o+=1){for(var l=s[o],c=0,u=e.symbolInstances[l].placedTextSymbolIndices;c<u.length;c+=1)for(var f=u[c],h=e.text.placedSymbolArray.get(f),p=h.vertexStartIndex+4*h.numGlyphs,d=h.vertexStartIndex;d<p;d+=4)e.text.indexArray.emplaceBack(d,d+1,d+2),e.text.indexArray.emplaceBack(d+1,d+2,d+3);var g=e.icon.placedSymbolArray.get(l);if(g.numGlyphs){var m=g.vertexStartIndex;e.icon.indexArray.emplaceBack(m,m+1,m+2),e.icon.indexArray.emplaceBack(m+1,m+2,m+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},O(\\\"SymbolBucket\\\",F,{omit:[\\\"layers\\\",\\\"collisionBoxArray\\\",\\\"features\\\",\\\"compareText\\\"],shallow:[\\\"symbolInstances\\\"]}),F.MAX_GLYPHS=65535,F.addDynamicAttributes=i,e.exports=F},{\\\"../../symbol/anchor\\\":213,\\\"../../symbol/mergelines\\\":221,\\\"../../symbol/symbol_size\\\":228,\\\"../../symbol/transform_text\\\":229,\\\"../../util/script_detection\\\":269,\\\"../../util/verticalize_punctuation\\\":277,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./symbol_attributes\\\":50,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],52:[function(t,e,r){var n=t(\\\"../util/image\\\").RGBAImage,i=t(\\\"../util/util\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=function(t,e,r){if(t<=0)throw new RangeError(\\\"Level must have positive dimension\\\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};o.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},o.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},o.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\\\"out of range source coordinates for DEM data\\\");return(e+this.border)*this.stride+(t+this.border)},a(\\\"Level\\\",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError(\\\"DEM tiles must be square\\\");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;n<e.dim;n++)for(var i=0;i<e.dim;i++){var a=4*(n*e.dim+i);e.set(i,n,this.scale*((256*r[a]*256+256*r[a+1]+r[a+2])/10-1e4))}for(var s=0;s<e.dim;s++)e.set(-1,s,e.get(0,s)),e.set(e.dim,s,e.get(e.dim-1,s)),e.set(s,-1,e.get(s,0)),e.set(s,e.dim,e.get(s,e.dim-1));e.set(-1,-1,e.get(0,0)),e.set(e.dim,-1,e.get(e.dim-1,0)),e.set(-1,e.dim,e.get(0,e.dim-1)),e.set(e.dim,e.dim,e.get(e.dim-1,e.dim-1)),this.loaded=!0},s.prototype.getPixels=function(){return new n({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},s.prototype.backfillBorder=function(t,e,r){var n=this.level,a=t.level;if(n.dim!==a.dim)throw new Error(\\\"level mismatch (dem dimension)\\\");var o=e*n.dim,s=e*n.dim+n.dim,l=r*n.dim,c=r*n.dim+n.dim;switch(e){case-1:o=s-1;break;case 1:s=o+1}switch(r){case-1:l=c-1;break;case 1:c=l+1}for(var u=i.clamp(o,-n.border,n.dim+n.border),f=i.clamp(s,-n.border,n.dim+n.border),h=i.clamp(l,-n.border,n.dim+n.border),p=i.clamp(c,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,m=h;m<p;m++)for(var v=u;v<f;v++)n.set(v,m,a.get(v+d,m+g))},a(\\\"DEMData\\\",s),e.exports={DEMData:s,Level:o}},{\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],53:[function(t,e,r){e.exports=8192},{}],54:[function(t,e,r){function n(t,e){return e-t}t(\\\"@mapbox/point-geometry\\\");var i=t(\\\"./load_geometry\\\"),a=t(\\\"./extent\\\"),o=t(\\\"../style-spec/feature_filter\\\"),s=t(\\\"grid-index\\\"),l=t(\\\"../util/dictionary_coder\\\"),c=t(\\\"@mapbox/vector-tile\\\"),u=t(\\\"pbf\\\"),f=t(\\\"../util/vectortile_to_geojson\\\"),h=t(\\\"../util/util\\\").arraysIntersect,p=(t(\\\"../source/tile_id\\\").OverscaledTileID,t(\\\"../util/web_worker_transfer\\\").register),d=t(\\\"./array_types\\\").FeatureIndexArray,g=function(t,e,r,n){this.tileID=t,this.overscaling=e,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=r||new s(a,16,0),this.featureIndexArray=n||new d};g.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],c=0;c<s.length;c++){var u=s[c];l[0]=Math.min(l[0],u.x),l[1]=Math.min(l[1],u.y),l[2]=Math.max(l[2],u.x),l[3]=Math.max(l[3],u.y)}this.grid.insert(a,l[0],l[1],l[2],l[3])}},g.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new c.VectorTile(new u(this.rawTileData)).layers,this.sourceLayerCoder=new l(this.vtLayers?Object.keys(this.vtLayers).sort():[\\\"_geojsonTileLayer\\\"]));for(var r={},i=t.params||{},s=a/t.tileSize/t.scale,f=o(i.filter),h=t.queryGeometry,p=t.additionalRadius*s,d=1/0,g=1/0,m=-1/0,v=-1/0,y=0;y<h.length;y++)for(var x=h[y],b=0;b<x.length;b++){var _=x[b];d=Math.min(d,_.x),g=Math.min(g,_.y),m=Math.max(m,_.x),v=Math.max(v,_.y)}var w=this.grid.query(d-p,g-p,m+p,v+p);w.sort(n),this.filterMatching(r,w,this.featureIndexArray,h,f,i.layers,e,t.bearing,s);var k=t.collisionIndex?t.collisionIndex.queryRenderedSymbols(h,this.tileID,a/t.tileSize,t.collisionBoxArray,t.sourceID,t.bucketInstanceIds):[];return k.sort(),this.filterMatching(r,k,t.collisionBoxArray,h,f,i.layers,e,t.bearing,s),r},g.prototype.filterMatching=function(t,e,r,n,a,o,s,l,c){for(var u,p=this,d=0;d<e.length;d++){var g=e[d];if(g!==u){u=g;var m=r.get(g),v=p.bucketLayerIDs[m.bucketIndex];if(!o||h(o,v)){var y=p.sourceLayerCoder.decode(m.sourceLayerIndex),x=p.vtLayers[y].feature(m.featureIndex);if(a({zoom:p.tileID.overscaledZ},x))for(var b=null,_=0;_<v.length;_++){var w=v[_];if(!(o&&o.indexOf(w)<0)){var k=s[w];if(k&&(\\\"symbol\\\"===k.type||(b||(b=i(x)),k.queryIntersectsFeature(n,x,b,p.z,l,c)))){var M=new f(x,p.z,p.x,p.y);M.layer=k.serialize();var A=t[w];void 0===A&&(A=t[w]=[]),A.push({featureIndex:g,feature:M})}}}}}}},g.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1){if(t===i[n])return!0}return!1},p(\\\"FeatureIndex\\\",g,{omit:[\\\"rawTileData\\\",\\\"sourceLayerCoder\\\"]}),e.exports=g},{\\\"../source/tile_id\\\":114,\\\"../style-spec/feature_filter\\\":148,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39,\\\"./extent\\\":53,\\\"./load_geometry\\\":56,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,\\\"grid-index\\\":24,pbf:30}],55:[function(t,e,r){e.exports={LineIndexArray:t(\\\"./array_types\\\").LineIndexArray,TriangleIndexArray:t(\\\"./array_types\\\").TriangleIndexArray}},{\\\"./array_types\\\":39}],56:[function(t,e,r){var n,i=t(\\\"../util/util\\\"),a=t(\\\"./extent\\\"),o=(n=16,{min:-1*Math.pow(2,n-1),max:Math.pow(2,n-1)-1});e.exports=function(t){for(var e=a/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var s=r[n],l=0;l<s.length;l++){var c=s[l];c.x=Math.round(c.x*e),c.y=Math.round(c.y*e),(c.x<o.min||c.x>o.max||c.y<o.min||c.y>o.max)&&i.warnOnce(\\\"Geometry exceeds allowed extent, reduce your vector tile buffer size\\\")}return r}},{\\\"../util/util\\\":275,\\\"./extent\\\":53}],57:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(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\\\"}[t]||t.replace(e+\\\"-\\\",\\\"\\\").replace(/-/g,\\\"_\\\")}var a=t(\\\"../shaders/encode_attribute\\\").packUint8ToFloat,o=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),s=t(\\\"../style/properties\\\").PossiblyEvaluatedPropertyValue,l=t(\\\"./array_types\\\"),c=l.StructArrayLayout1f4,u=l.StructArrayLayout2f8,f=l.StructArrayLayout4f16,h=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};h.prototype.defines=function(){return[\\\"#define HAS_UNIFORM_u_\\\"+this.name]},h.prototype.populatePaintArray=function(){},h.prototype.upload=function(){},h.prototype.destroy=function(){},h.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\\\"color\\\"===this.type?a.uniform4f(e.uniforms[\\\"u_\\\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\\\"u_\\\"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\\\"color\\\"===r?u:c;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if(\\\"color\\\"===this.type)for(var o=n(a),s=i;s<t;s++)r.emplaceBack(o[0],o[1]);else{for(var l=i;l<t;l++)r.emplaceBack(a);this.statistics.max=Math.max(this.statistics.max,a)}},p.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},p.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},p.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],0)};var d=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\\\"color\\\"===r?f:u;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?4:2,offset:0}],this.paintVertexArray=new a};d.prototype.defines=function(){return[]},d.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:this.zoom},e),o=this.expression.evaluate({zoom:this.zoom+1},e);if(\\\"color\\\"===this.type)for(var s=n(a),l=n(o),c=i;c<t;c++)r.emplaceBack(s[0],s[1],l[0],l[1]);else{for(var u=i;u<t;u++)r.emplaceBack(a,o);this.statistics.max=Math.max(this.statistics.max,a,o)}},d.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},d.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},d.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},d.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],this.interpolationFactor(r.zoom))};var g=function(){this.binders={},this.cacheKey=\\\"\\\",this._buffers=[]};g.createDynamic=function(t,e,r){var n=new g,a=[];for(var o in t.paint._values)if(r(o)){var l=t.paint.get(o);if(l instanceof s&&l.property.specification[\\\"property-function\\\"]){var c=i(o,t.type),u=l.property.specification.type,f=l.property.useIntegerZoom;\\\"constant\\\"===l.value.kind?(n.binders[o]=new h(l.value,c,u),a.push(\\\"/u_\\\"+c)):\\\"source\\\"===l.value.kind?(n.binders[o]=new p(l.value,c,u),a.push(\\\"/a_\\\"+c)):(n.binders[o]=new d(l.value,c,u,f,e),a.push(\\\"/z_\\\"+c))}}return n.cacheKey=a.sort().join(\\\"\\\"),n},g.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},g.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},g.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},g.prototype.getPaintVertexBuffers=function(){return this._buffers},g.prototype.upload=function(t){var e=this;for(var r in e.binders)e.binders[r].upload(t);var n=[];for(var i in e.binders){var a=e.binders[i];(a instanceof p||a instanceof d)&&a.paintVertexBuffer&&n.push(a.paintVertexBuffer)}this._buffers=n},g.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var m=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=g.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};m.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},m.prototype.get=function(t){return this.programConfigurations[t]},m.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},m.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},o(\\\"ConstantBinder\\\",h),o(\\\"SourceExpressionBinder\\\",p),o(\\\"CompositeExpressionBinder\\\",d),o(\\\"ProgramConfiguration\\\",g,{omit:[\\\"_buffers\\\"]}),o(\\\"ProgramConfigurationSet\\\",m),e.exports={ProgramConfiguration:g,ProgramConfigurationSet:m}},{\\\"../shaders/encode_attribute\\\":96,\\\"../style-spec/util/color\\\":153,\\\"../style/properties\\\":188,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39}],59:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2},{name:\\\"a_texture_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],60:[function(t,e,r){var n=t(\\\"../util/util\\\").warnOnce,i=t(\\\"../util/web_worker_transfer\\\").register,a=Math.pow(2,16)-1,o=function(t){void 0===t&&(t=[]),this.segments=t};o.prototype.prepareSegment=function(t,r,i){var o=this.segments[this.segments.length-1];return t>a&&n(\\\"Max vertices per segment is \\\"+a+\\\": bucket requested \\\"+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.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()}},i(\\\"SegmentVector\\\",o),e.exports={SegmentVector:o,MAX_VERTEX_ARRAY_LENGTH:a}},{\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],61:[function(t,e,r){var n=function(t,e,r){this.column=t,this.row=e,this.zoom=r};n.prototype.clone=function(){return new n(this.column,this.row,this.zoom)},n.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},n.prototype.sub=function(t){return this.clone()._sub(t)},n.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},n.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this},e.exports=n},{}],62:[function(t,e,r){var n=t(\\\"../util/util\\\").wrap,i=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\\\")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return\\\"LngLat(\\\"+this.lng+\\\", \\\"+this.lat+\\\")\\\"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t(\\\"./lng_lat_bounds\\\"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\\\"object\\\"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error(\\\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\\\")},e.exports=i},{\\\"../util/util\\\":275,\\\"./lng_lat_bounds\\\":63}],63:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=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]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return\\\"LngLatBounds(\\\"+this._sw.toString()+\\\", \\\"+this._ne.toString()+\\\")\\\"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{\\\"./lng_lat\\\":62}],64:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./coordinate\\\"),o=t(\\\"../util/util\\\"),s=t(\\\"../style-spec/util/interpolate\\\").number,l=t(\\\"../util/tile_cover\\\"),c=t(\\\"../source/tile_id\\\"),u=(c.CanonicalTileID,c.UnwrappedTileID),f=t(\\\"../data/extent\\\"),h=t(\\\"@mapbox/gl-matrix\\\"),p=h.vec4,d=h.mat4,g=h.mat2,m=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},v={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};m.prototype.clone=function(){var t=new m(this._minZoom,this._maxZoom,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._calcMatrices(),t},v.minZoom.get=function(){return this._minZoom},v.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},v.maxZoom.get=function(){return this._maxZoom},v.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},v.renderWorldCopies.get=function(){return this._renderWorldCopies},v.worldSize.get=function(){return this.tileSize*this.scale},v.centerPoint.get=function(){return this.size._div(2)},v.size.get=function(){return new i(this.width,this.height)},v.bearing.get=function(){return-this.angle/Math.PI*180},v.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},v.pitch.get=function(){return this._pitch/Math.PI*180},v.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},v.fov.get=function(){return this._fov/Math.PI*180},v.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())},v.zoom.get=function(){return this._zoom},v.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())},v.center.get=function(){return this._center},v.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},m.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},m.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new u(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new u(s,t));return o},m.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&e<t.minzoom)return[];void 0!==t.maxzoom&&e>t.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},m.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},v.unmodified.get=function(){return this._unmodified},m.prototype.zoomScale=function(t){return Math.pow(2,t)},m.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},m.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},m.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},v.x.get=function(){return this.lngX(this.center.lng)},v.y.get=function(){return this.latY(this.center.lat)},v.point.get=function(){return new i(this.x,this.y)},m.prototype.lngX=function(t){return(180+t)*this.worldSize/360},m.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},m.prototype.xLng=function(t){return 360*t/this.worldSize-180},m.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},m.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},m.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},m.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},m.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},m.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},m.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,c=n[1]/o,u=r[2]/i,f=n[2]/o,h=u===f?0:(0-u)/(f-u);return new a(s(r[0]/i,n[0]/o,h)/this.tileSize,s(l,c,h)/this.tileSize,this.zoom)._zoomTo(e)},m.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},m.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/f,a/f,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},m.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=this.latY(f[1]),t=(o=this.latY(f[0]))-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=this.lngX(h[0]),e=(l=this.lngX(h[1]))-s<c.x?c.x/(l-s):0}var p=Math.max(e||0,t||0);if(p)return this.center=this.unproject(new i(e?(l+s)/2:this.x,t?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var d=this.y,g=c.y/2;d-g<a&&(n=a+g),d+g>o&&(n=o-g)}if(this.lngRange){var m=this.x,v=c.x/2;m-v<s&&(r=s+v),m+v>l&&(r=l-v)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=u,this._constraining=!1}},m.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,g=new Float64Array(o);if(d.translate(g,g,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\\\"failed to invert matrix\\\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(m.prototype,v),e.exports=m},{\\\"../data/extent\\\":53,\\\"../source/tile_id\\\":114,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/tile_cover\\\":273,\\\"../util/util\\\":275,\\\"./coordinate\\\":61,\\\"./lng_lat\\\":62,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],65:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{\\\"../style-spec/util/color\\\":153}],66:[function(t,e,r){var n=t(\\\"./index_buffer\\\"),i=t(\\\"./vertex_buffer\\\"),a=t(\\\"./framebuffer\\\"),o=(t(\\\"./depth_mode\\\"),t(\\\"./stencil_mode\\\"),t(\\\"./color_mode\\\")),s=t(\\\"../util/util\\\"),l=t(\\\"./value\\\"),c=l.ClearColor,u=l.ClearDepth,f=l.ClearStencil,h=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,m=l.StencilOp,v=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,k=l.BlendColor,M=l.Program,A=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,C=l.BindFramebuffer,E=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,D=l.BindVertexArrayOES,O=l.PixelStoreUnpack,I=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\\\"OES_vertex_array_object\\\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new c(this),this.clearDepth=new u(this),this.clearStencil=new f(this),this.colorMask=new h(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new m(this),this.stencilTest=new v(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new k(this),this.program=new M(this),this.lineWidth=new A(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new C(this),this.bindRenderbuffer=new E(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new D(this),this.pixelStoreUnpack=new O(this),this.pixelStoreUnpackPremultiplyAlpha=new I(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\\\")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.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)},R.prototype.setStencilMode=function(t){t.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)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{\\\"../util/util\\\":275,\\\"./color_mode\\\":65,\\\"./depth_mode\\\":67,\\\"./framebuffer\\\":68,\\\"./index_buffer\\\":69,\\\"./stencil_mode\\\":70,\\\"./value\\\":71,\\\"./vertex_buffer\\\":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t(\\\"./value\\\"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{\\\"./value\\\":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.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};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=t(\\\"../util/util\\\"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.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.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.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.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var c=function(t){this.context=t,this.current=!0};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var u=function(t){this.context=t,this.current=255};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var f=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var h=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var m=function(t){this.context=t,this.current=t.gl.LESS};m.prototype.get=function(){return this.current},m.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var v=function(t){this.context=t,this.current=!1};v.prototype.get=function(){return this.current},v.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.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.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var k=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};k.prototype.get=function(){return this.current},k.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.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var M=function(t){this.context=t,this.current=null};M.prototype.get=function(){return this.current},M.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var D=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),O=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:c,StencilMask:u,StencilFunc:f,StencilOp:h,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:m,Blend:v,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:k,BindFramebuffer:M,BindRenderbuffer:A,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:C,BindVertexArrayOES:E,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:D,DepthAttachment:O}},{\\\"../style-spec/util/color\\\":153,\\\"../util/util\\\":275}],72:[function(t,e,r){var n={Int8:\\\"BYTE\\\",Uint8:\\\"UNSIGNED_BYTE\\\",Int16:\\\"SHORT\\\",Uint16:\\\"UNSIGNED_SHORT\\\",Int32:\\\"INT\\\",Uint32:\\\"UNSIGNED_INT\\\",Float32:\\\"FLOAT\\\"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},i.prototype.setVertexAttribPointers=function(t,e,r){for(var i=this,a=0;a<this.attributes.length;a++){var o=i.attributes[a],s=e.attributes[o.name];void 0!==s&&t.vertexAttribPointer(s,o.components,t[n[o.type]],!1,i.itemSize,o.offset+i.itemSize*(r||0))}},i.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=i},{}],73:[function(t,e,r){var n=t(\\\"@mapbox/mapbox-gl-supported\\\"),i=t(\\\"./util/browser\\\"),a=t(\\\"../package.json\\\").version,o=t(\\\"./ui/map\\\"),s=t(\\\"./ui/control/navigation_control\\\"),l=t(\\\"./ui/control/geolocate_control\\\"),c=t(\\\"./ui/control/attribution_control\\\"),u=t(\\\"./ui/control/scale_control\\\"),f=t(\\\"./ui/control/fullscreen_control\\\"),h=t(\\\"./ui/popup\\\"),p=t(\\\"./ui/marker\\\"),d=t(\\\"./style/style\\\"),g=t(\\\"./geo/lng_lat\\\"),m=t(\\\"./geo/lng_lat_bounds\\\"),v=t(\\\"@mapbox/point-geometry\\\"),y=t(\\\"./util/evented\\\"),x=t(\\\"./util/config\\\"),b=t(\\\"./source/rtl_text_plugin\\\");e.exports={version:a,supported:n,workerCount:Math.max(Math.floor(i.hardwareConcurrency/2),1),setRTLTextPlugin:b.setRTLTextPlugin,Map:o,NavigationControl:s,GeolocateControl:l,AttributionControl:c,ScaleControl:u,FullscreenControl:f,Popup:h,Marker:p,Style:d,LngLat:g,LngLatBounds:m,Point:v,Evented:y,config:x,get accessToken(){return x.ACCESS_TOKEN},set accessToken(t){x.ACCESS_TOKEN=t}}},{\\\"../package.json\\\":38,\\\"./geo/lng_lat\\\":62,\\\"./geo/lng_lat_bounds\\\":63,\\\"./source/rtl_text_plugin\\\":109,\\\"./style/style\\\":190,\\\"./ui/control/attribution_control\\\":232,\\\"./ui/control/fullscreen_control\\\":233,\\\"./ui/control/geolocate_control\\\":234,\\\"./ui/control/navigation_control\\\":236,\\\"./ui/control/scale_control\\\":237,\\\"./ui/map\\\":247,\\\"./ui/marker\\\":248,\\\"./ui/popup\\\":249,\\\"./util/browser\\\":252,\\\"./util/config\\\":256,\\\"./util/evented\\\":260,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],74:[function(t,e,r){var n=t(\\\"./pattern\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r){var o=r.paint.get(\\\"background-color\\\"),s=r.paint.get(\\\"background-opacity\\\");if(0!==s){var l=t.context,c=l.gl,u=t.transform,f=u.tileSize,h=r.paint.get(\\\"background-pattern\\\"),p=h||1!==o.a||1!==s?\\\"translucent\\\":\\\"opaque\\\";if(t.renderPass===p){var d;if(l.setStencilMode(i.disabled),l.setDepthMode(t.depthModeForSublayer(0,\\\"opaque\\\"===p?a.ReadWrite:a.ReadOnly)),l.setColorMode(t.colorModeForRenderPass()),h){if(n.isPatternMissing(h,t))return;d=t.useProgram(\\\"backgroundPattern\\\"),n.prepare(h,t,d),t.tileExtentPatternVAO.bind(l,d,t.tileExtentBuffer,[])}else d=t.useProgram(\\\"background\\\"),c.uniform4fv(d.uniforms.u_color,[o.r,o.g,o.b,o.a]),t.tileExtentVAO.bind(l,d,t.tileExtentBuffer,[]);c.uniform1f(d.uniforms.u_opacity,s);for(var g=0,m=u.coveringTiles({tileSize:f});g<m.length;g+=1){var v=m[g];h&&n.setTile({tileID:v,tileSize:f},t,d),c.uniformMatrix4fv(d.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(v.toUnwrapped())),c.drawArrays(c.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./pattern\\\":91}],75:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){if(\\\"translucent\\\"===t.renderPass){var s=r.paint.get(\\\"circle-opacity\\\"),l=r.paint.get(\\\"circle-stroke-width\\\"),c=r.paint.get(\\\"circle-stroke-opacity\\\");if(0!==s.constantOr(1)||0!==l.constantOr(1)&&0!==c.constantOr(1)){var u=t.context,f=u.gl;u.setDepthMode(t.depthModeForSublayer(0,a.ReadOnly)),u.setStencilMode(i.disabled),u.setColorMode(t.colorModeForRenderPass());for(var h=!0,p=0;p<o.length;p++){var d=o[p],g=e.getTile(d),m=g.getBucket(r);if(m){var v=t.context.program.get(),y=m.programConfigurations.get(r.id),x=t.useProgram(\\\"circle\\\",y);if((h||x.program!==v)&&(y.setUniforms(u,x,r.paint,{zoom:t.transform.zoom}),h=!1),f.uniform1f(x.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),f.uniform1i(x.uniforms.u_scale_with_map,\\\"map\\\"===r.paint.get(\\\"circle-pitch-scale\\\")?1:0),\\\"map\\\"===r.paint.get(\\\"circle-pitch-alignment\\\")){f.uniform1i(x.uniforms.u_pitch_with_map,1);var b=n(g,1,t.transform.zoom);f.uniform2f(x.uniforms.u_extrude_scale,b,b)}else f.uniform1i(x.uniforms.u_pitch_with_map,0),f.uniform2fv(x.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);f.uniformMatrix4fv(x.uniforms.u_matrix,!1,t.translatePosMatrix(d.posMatrix,g,r.paint.get(\\\"circle-translate\\\"),r.paint.get(\\\"circle-translate-anchor\\\"))),x.draw(u,f.TRIANGLES,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,y)}}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],76:[function(t,e,r){function n(t,e,r,n,s){var l=t.context,c=l.gl,u=s?t.useProgram(\\\"collisionCircle\\\"):t.useProgram(\\\"collisionBox\\\");l.setDepthMode(a.disabled),l.setStencilMode(o.disabled),l.setColorMode(t.colorModeForRenderPass());for(var f=0;f<n.length;f++){var h=n[f],p=e.getTile(h),d=p.getBucket(r);if(d){var g=s?d.collisionCircle:d.collisionBox;if(g){c.uniformMatrix4fv(u.uniforms.u_matrix,!1,h.posMatrix),s||l.lineWidth.set(1),c.uniform1f(u.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var m=i(p,1,t.transform.zoom),v=Math.pow(2,t.transform.zoom-p.tileID.overscaledZ);c.uniform1f(u.uniforms.u_pixels_to_tile_units,m),c.uniform2f(u.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(m*v),t.transform.pixelsToGLUnits[1]/(m*v)),u.draw(l,s?c.TRIANGLES:c.LINES,r.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,g.collisionVertexBuffer,null)}}}}var i=t(\\\"../source/pixels_to_tile_units\\\"),a=t(\\\"../gl/depth_mode\\\"),o=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){n(t,e,r,i,!1),n(t,e,r,i,!0)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],77:[function(t,e,r){function n(t,e,r){var n=t.context,p=n.gl;n.lineWidth.set(1*i.devicePixelRatio);var d=r.posMatrix,g=t.useProgram(\\\"debug\\\");n.setDepthMode(u.disabled),n.setStencilMode(f.disabled),n.setColorMode(t.colorModeForRenderPass()),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.uniform4f(g.uniforms.u_color,1,0,0,1),t.debugVAO.bind(n,g,t.debugBuffer,[]),p.drawArrays(p.LINE_STRIP,0,t.debugBuffer.length);for(var m=function(t,e,r,n){n=n||1;var i,a,o,s,l,c,u,f,p=[];for(i=0,a=t.length;i<a;i++)if(l=h[t[i]]){for(f=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?f=null:(c=e+l[1][o]*n,u=r-l[1][o+1]*n,f&&p.push(f.x,f.y,c,u),f={x:c,y:u});e+=l[0]*n}return p}(r.toString(),50,200,5),v=new l,y=0;y<m.length;y+=2)v.emplaceBack(m[y],m[y+1]);var x=n.createVertexBuffer(v,c.members);(new s).bind(n,g,x,[]),p.uniform4f(g.uniforms.u_color,1,1,1,1);for(var b=e.getTile(r).tileSize,_=o/(Math.pow(2,t.transform.zoom-r.overscaledZ)*b),w=[[-1,-1],[-1,1],[1,-1],[1,1]],k=0;k<w.length;k++){var M=w[k];p.uniformMatrix4fv(g.uniforms.u_matrix,!1,a.translate([],d,[_*M[0],_*M[1],0])),p.drawArrays(p.LINES,0,x.length)}p.uniform4f(g.uniforms.u_color,0,0,0,1),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.drawArrays(p.LINES,0,x.length)}var i=t(\\\"../util/browser\\\"),a=t(\\\"@mapbox/gl-matrix\\\").mat4,o=t(\\\"../data/extent\\\"),s=t(\\\"./vertex_array_object\\\"),l=t(\\\"../data/array_types\\\").PosArray,c=t(\\\"../data/pos_attributes\\\"),u=t(\\\"../gl/depth_mode\\\"),f=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])};var h={\\\" \\\":[16,[]],\\\"!\\\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\\\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\\\"#\\\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\\\"%\\\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\\\"&\\\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\\\"'\\\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\\\"(\\\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\\\")\\\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\\\"*\\\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\\\"+\\\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\\\",\\\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"-\\\":[26,[4,9,22,9]],\\\".\\\":[10,[5,2,4,1,5,0,6,1,5,2]],\\\"/\\\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\\\":\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\\\";\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"<\\\":[24,[20,18,4,9,20,0]],\\\"=\\\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\\\">\\\":[24,[4,18,20,9,4,0]],\\\"?\\\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\\\"@\\\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\\\"[\\\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\\\"\\\\\\\\\\\":[14,[0,21,14,-3]],\\\"]\\\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\\\"^\\\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\\\"`\\\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\\\"{\\\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\\\"|\\\":[8,[4,25,4,-7]],\\\"}\\\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\\\"~\\\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get(\\\"fill-pattern\\\"),t))for(var a=!0,o=0,l=n;o<l.length;o+=1){var c=l[o],u=e.getTile(c),f=u.getBucket(r);f&&(t.context.setStencilMode(t.stencilModeForClipping(c)),i(t,e,r,u,c,f,a),a=!1)}}function i(t,e,r,n,i,a,s){var l=t.context.gl,c=a.programConfigurations.get(r.id);o(\\\"fill\\\",r.paint.get(\\\"fill-pattern\\\"),t,c,r,n,i,s).draw(t.context,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,c)}function a(t,e,r,n,i,a,s){var l=t.context.gl,c=a.programConfigurations.get(r.id),u=o(\\\"fillOutline\\\",r.getPaintProperty(\\\"fill-outline-color\\\")?null:r.paint.get(\\\"fill-pattern\\\"),t,c,r,n,i,s);l.uniform2f(u.uniforms.u_world,l.drawingBufferWidth,l.drawingBufferHeight),u.draw(t.context,l.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,c)}function o(t,e,r,n,i,a,o,l){var c,u=r.context.program.get();return e?(c=r.useProgram(t+\\\"Pattern\\\",n),(l||c.program!==u)&&(n.setUniforms(r.context,c,i.paint,{zoom:r.transform.zoom}),s.prepare(e,r,c)),s.setTile(a,r,c)):(c=r.useProgram(t,n),(l||c.program!==u)&&n.setUniforms(r.context,c,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(c.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\\\"fill-translate\\\"),i.paint.get(\\\"fill-translate-anchor\\\"))),c}var s=t(\\\"./pattern\\\"),l=t(\\\"../style-spec/util/color\\\"),c=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){var s=r.paint.get(\\\"fill-color\\\"),u=r.paint.get(\\\"fill-opacity\\\");if(0!==u.constantOr(1)){var f=t.context;f.setColorMode(t.colorModeForRenderPass());var h=r.paint.get(\\\"fill-pattern\\\")||1!==s.constantOr(l.transparent).a||1!==u.constantOr(0)?\\\"translucent\\\":\\\"opaque\\\";t.renderPass===h&&(f.setDepthMode(t.depthModeForSublayer(1,\\\"opaque\\\"===t.renderPass?c.ReadWrite:c.ReadOnly)),n(t,e,r,o,i)),\\\"translucent\\\"===t.renderPass&&r.paint.get(\\\"fill-antialias\\\")&&(f.lineWidth.set(2),f.setDepthMode(t.depthModeForSublayer(r.getPaintProperty(\\\"fill-outline-color\\\")?2:0,c.ReadOnly)),n(t,e,r,o,a))}}},{\\\"../gl/depth_mode\\\":67,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91}],79:[function(t,e,r){function n(t,e,r,n,i,o,s){var l=t.context,u=l.gl,h=r.paint.get(\\\"fill-extrusion-pattern\\\"),p=t.context.program.get(),d=o.programConfigurations.get(r.id),g=t.useProgram(h?\\\"fillExtrusionPattern\\\":\\\"fillExtrusion\\\",d);if((s||g.program!==p)&&d.setUniforms(l,g,r.paint,{zoom:t.transform.zoom}),h){if(a.isPatternMissing(h,t))return;a.prepare(h,t,g),a.setTile(n,t,g),u.uniform1f(g.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(g.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\\\"fill-extrusion-translate\\\"),r.paint.get(\\\"fill-extrusion-translate-anchor\\\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\\\"position\\\"),a=[i.x,i.y,i.z],o=c.create();\\\"viewport\\\"===n.properties.get(\\\"anchor\\\")&&c.fromRotation(o,-e.transform.angle),f.transformMat3(a,a,o);var s=n.properties.get(\\\"color\\\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\\\"intensity\\\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(g,t),g.draw(l,u.TRIANGLES,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,d)}var i=t(\\\"@mapbox/gl-matrix\\\"),a=t(\\\"./pattern\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../style-spec/util/color\\\"),l=t(\\\"../gl/depth_mode\\\"),c=i.mat3,u=i.mat4,f=i.vec3,h=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){if(0!==r.paint.get(\\\"fill-extrusion-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){!function(t,e){var r=t.context,n=r.gl,i=e.viewportFrame;if(t.depthRboNeedsClear&&t.setupOffscreenDepthRenderbuffer(),!i){var a=new o(r,{width:t.width,height:t.height,data:null},n.RGBA);a.bind(n.LINEAR,n.CLAMP_TO_EDGE),(i=e.viewportFrame=r.createFramebuffer(t.width,t.height)).colorAttachment.set(a.texture)}r.bindFramebuffer.set(i.framebuffer),i.depthAttachment.set(t.depthRbo),t.depthRboNeedsClear&&(r.clear({depth:1}),t.depthRboNeedsClear=!1),r.clear({color:s.transparent}),r.setStencilMode(h.disabled),r.setDepthMode(new l(n.LEQUAL,l.ReadWrite,[0,1])),r.setColorMode(t.colorModeForRenderPass())}(t,r);for(var a=!0,c=0,f=i;c<f.length;c+=1){var p=f[c],d=e.getTile(p),g=d.getBucket(r);g&&(n(t,0,r,d,p,g,a),a=!1)}}else\\\"translucent\\\"===t.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\\\"extrusionTexture\\\");n.setStencilMode(h.disabled),n.setDepthMode(l.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\\\"fill-extrusion-opacity\\\")),i.uniform1i(a.uniforms.u_image,0);var o=u.create();u.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(t,r)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],80:[function(t,e,r){var n=t(\\\"@mapbox/gl-matrix\\\").mat4,i=t(\\\"./texture\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../style-spec/util/color\\\"),s=t(\\\"../gl/depth_mode\\\"),l=t(\\\"../gl/stencil_mode\\\"),c=t(\\\"../gl/color_mode\\\");e.exports=function(t,e,r,u){if(0!==r.paint.get(\\\"heatmap-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){var f=t.context,h=f.gl;f.setDepthMode(t.depthModeForSublayer(0,s.ReadOnly)),f.setStencilMode(l.disabled),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 i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),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),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(f,t,r),f.clear({color:o.transparent}),f.setColorMode(new c([h.ONE,h.ONE],o.transparent,[!0,!0,!0,!0]));for(var p=!0,d=0;d<u.length;d++){var g=u[d];if(!e.hasRenderableParent(g)){var m=e.getTile(g),v=m.getBucket(r);if(v){var y=t.context.program.get(),x=v.programConfigurations.get(r.id),b=t.useProgram(\\\"heatmap\\\",x),_=t.transform.zoom;(p||b.program!==y)&&(x.setUniforms(t.context,b,r.paint,{zoom:_}),p=!1),h.uniform1f(b.uniforms.u_extrude_scale,a(m,1,_)),h.uniform1f(b.uniforms.u_intensity,r.paint.get(\\\"heatmap-intensity\\\")),h.uniformMatrix4fv(b.uniforms.u_matrix,!1,g.posMatrix),b.draw(f,h.TRIANGLES,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,x)}}}f.viewport.set([0,0,t.width,t.height])}else\\\"translucent\\\"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,e){var r=t.context,a=r.gl,o=e.heatmapFbo;if(o){r.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),r.activeTexture.set(a.TEXTURE1);var l=e.colorRampTexture;l||(l=e.colorRampTexture=new i(r,e.colorRamp,a.RGBA)),l.bind(a.LINEAR,a.CLAMP_TO_EDGE),r.setDepthMode(s.disabled);var c=t.useProgram(\\\"heatmapTexture\\\"),u=e.paint.get(\\\"heatmap-opacity\\\");a.uniform1f(c.uniforms.u_opacity,u),a.uniform1i(c.uniforms.u_image,0),a.uniform1i(c.uniforms.u_color_ramp,1);var f=n.create();n.ortho(f,0,t.width,t.height,0,0,1),a.uniformMatrix4fv(c.uniforms.u_matrix,!1,f),a.uniform2f(c.uniforms.u_world,a.drawingBufferWidth,a.drawingBufferHeight),t.viewportVAO.bind(t.context,c,t.viewportBuffer,[]),a.drawArrays(a.TRIANGLE_STRIP,0,4)}}(t,r))}},{\\\"../gl/color_mode\\\":65,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style-spec/util/color\\\":153,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],81:[function(t,e,r){function n(t,e,r){var n=t.context,i=n.gl,o=e.fbo;if(o){var s=t.useProgram(\\\"hillshade\\\"),l=t.transform.calculatePosMatrix(e.tileID.toUnwrapped());!function(t,e,r){var n=r.paint.get(\\\"hillshade-illumination-direction\\\")*(Math.PI/180);\\\"viewport\\\"===r.paint.get(\\\"hillshade-illumination-anchor\\\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\\\"hillshade-exaggeration\\\"),n)}(s,t,r);var c=function(t,e){var r=e.toCoordinate(),n=new a(r.column,r.row+1,r.zoom);return[t.transform.coordinateLocation(r).lat,t.transform.coordinateLocation(n).lat]}(t,e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,o.colorAttachment.get()),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),i.uniform2fv(s.uniforms.u_latrange,c),i.uniform1i(s.uniforms.u_image,0);var u=r.paint.get(\\\"hillshade-shadow-color\\\");i.uniform4f(s.uniforms.u_shadow,u.r,u.g,u.b,u.a);var f=r.paint.get(\\\"hillshade-highlight-color\\\");i.uniform4f(s.uniforms.u_highlight,f.r,f.g,f.b,f.a);var h=r.paint.get(\\\"hillshade-accent-color\\\");if(i.uniform4f(s.uniforms.u_accent,h.r,h.g,h.b,h.a),e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments)s.draw(n,i.TRIANGLES,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments);else{var p=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(n,s,p,[]),i.drawArrays(i.TRIANGLE_STRIP,0,p.length)}}}function i(t,e){var r=t.context,n=r.gl;if(e.dem&&e.dem.level){var i=e.dem.level.dim,a=e.dem.getPixels();if(r.activeTexture.set(n.TEXTURE1),r.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||t.getTileTexture(e.tileSize),e.demTexture){var c=e.demTexture;c.update(a,!1),c.bind(n.NEAREST,n.CLAMP_TO_EDGE)}else e.demTexture=new o(r,a,n.RGBA,!1),e.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE);r.activeTexture.set(n.TEXTURE0);var u=e.fbo;if(!u){var f=new o(r,{width:i,height:i,data:null},n.RGBA);f.bind(n.LINEAR,n.CLAMP_TO_EDGE),(u=e.fbo=r.createFramebuffer(i,i)).colorAttachment.set(f.texture)}r.bindFramebuffer.set(u.framebuffer),r.viewport.set([0,0,i,i]);var h=l.create();l.ortho(h,0,s,-s,0,0,1),l.translate(h,h,[0,-s,0]);var p=t.useProgram(\\\"hillshadePrepare\\\");n.uniformMatrix4fv(p.uniforms.u_matrix,!1,h),n.uniform1f(p.uniforms.u_zoom,e.tileID.overscaledZ),n.uniform2fv(p.uniforms.u_dimension,[2*i,2*i]),n.uniform1i(p.uniforms.u_image,1);var d=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(r,p,d,[]),n.drawArrays(n.TRIANGLE_STRIP,0,d.length),e.needsHillshadePrepare=!1}}var a=t(\\\"../geo/coordinate\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../data/extent\\\"),l=t(\\\"@mapbox/gl-matrix\\\").mat4,c=t(\\\"../gl/stencil_mode\\\"),u=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,a){if(\\\"offscreen\\\"===t.renderPass||\\\"translucent\\\"===t.renderPass){var o=t.context;o.setDepthMode(t.depthModeForSublayer(0,u.ReadOnly)),o.setStencilMode(c.disabled),o.setColorMode(t.colorModeForRenderPass());for(var s=0,l=a;s<l.length;s+=1){var f=l[s],h=e.getTile(f);h.needsHillshadePrepare&&\\\"offscreen\\\"===t.renderPass?i(t,h):\\\"translucent\\\"===t.renderPass&&n(t,h,r)}o.viewport.set([0,0,t.width,t.height])}}},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],82:[function(t,e,r){function n(t,e,r,n,o,s,l,c,u){var f,h,p,d,g=e.context,m=g.gl,v=o.paint.get(\\\"line-dasharray\\\"),y=o.paint.get(\\\"line-pattern\\\");if(c||u){var x=1/a(r,1,e.transform.tileZoom);if(v){f=e.lineAtlas.getDash(v.from,\\\"round\\\"===o.layout.get(\\\"line-cap\\\")),h=e.lineAtlas.getDash(v.to,\\\"round\\\"===o.layout.get(\\\"line-cap\\\"));var b=f.width*v.fromScale,_=h.width*v.toScale;m.uniform2f(t.uniforms.u_patternscale_a,x/b,-f.height/2),m.uniform2f(t.uniforms.u_patternscale_b,x/_,-h.height/2),m.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(b,_)*i.devicePixelRatio)/2)}else if(y){if(p=e.imageManager.getPattern(y.from),d=e.imageManager.getPattern(y.to),!p||!d)return;m.uniform2f(t.uniforms.u_pattern_size_a,p.displaySize[0]*y.fromScale/x,d.displaySize[1]),m.uniform2f(t.uniforms.u_pattern_size_b,d.displaySize[0]*y.toScale/x,d.displaySize[1]);var w=e.imageManager.getPixelSize(),k=w.width,M=w.height;m.uniform2fv(t.uniforms.u_texsize,[k,M])}m.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}c&&(v?(m.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(g),m.uniform1f(t.uniforms.u_tex_y_a,f.y),m.uniform1f(t.uniforms.u_tex_y_b,h.y),m.uniform1f(t.uniforms.u_mix,v.t)):y&&(m.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(m.TEXTURE0),e.imageManager.bind(g),m.uniform2fv(t.uniforms.u_pattern_tl_a,p.tl),m.uniform2fv(t.uniforms.u_pattern_br_a,p.br),m.uniform2fv(t.uniforms.u_pattern_tl_b,d.tl),m.uniform2fv(t.uniforms.u_pattern_br_b,d.br),m.uniform1f(t.uniforms.u_fade,y.t))),g.setStencilMode(e.stencilModeForClipping(s));var A=e.translatePosMatrix(s.posMatrix,r,o.paint.get(\\\"line-translate\\\"),o.paint.get(\\\"line-translate-anchor\\\"));m.uniformMatrix4fv(t.uniforms.u_matrix,!1,A),m.uniform1f(t.uniforms.u_ratio,1/a(r,1,e.transform.zoom)),t.draw(g,m.TRIANGLES,o.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,l)}var i=t(\\\"../util/browser\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"line-opacity\\\").constantOr(1)){var a=t.context;a.setDepthMode(t.depthModeForSublayer(0,o.ReadOnly)),a.setColorMode(t.colorModeForRenderPass());for(var s,l=r.paint.get(\\\"line-dasharray\\\")?\\\"lineSDF\\\":r.paint.get(\\\"line-pattern\\\")?\\\"linePattern\\\":\\\"line\\\",c=!0,u=0,f=i;u<f.length;u+=1){var h=f[u],p=e.getTile(h),d=p.getBucket(r);if(d){var g=d.programConfigurations.get(r.id),m=t.context.program.get(),v=t.useProgram(l,g),y=c||v.program!==m,x=s!==p.tileID.overscaledZ;y&&g.setUniforms(t.context,v,r.paint,{zoom:t.transform.zoom}),n(v,t,p,d,r,h,g,y,x),s=p.tileID.overscaledZ,c=!1}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../source/pixels_to_tile_units\\\":104,\\\"../util/browser\\\":252}],83:[function(t,e,r){function n(t,e,r,n,a){var s=n.paint.get(\\\"raster-fade-duration\\\");if(s>0){var l=o.now(),c=(l-t.timeAdded)/s,u=e?(l-e.timeAdded)/s:-1,f=r.getSource(),h=a.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),d=p&&t.refreshedUponExpiration?1:i.clamp(p?c:1-u,0,1);return t.refreshedUponExpiration&&c>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t(\\\"../util/util\\\"),a=t(\\\"../source/image_source\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"../gl/stencil_mode\\\"),l=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"raster-opacity\\\")){var o=t.context,c=o.gl,u=e.getSource(),f=t.useProgram(\\\"raster\\\");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),c.uniform1f(f.uniforms.u_brightness_low,r.paint.get(\\\"raster-brightness-min\\\")),c.uniform1f(f.uniforms.u_brightness_high,r.paint.get(\\\"raster-brightness-max\\\")),c.uniform1f(f.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get(\\\"raster-saturation\\\"))),c.uniform1f(f.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get(\\\"raster-contrast\\\"))),c.uniform3fv(f.uniforms.u_spin_weights,function(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]}(r.paint.get(\\\"raster-hue-rotate\\\"))),c.uniform1f(f.uniforms.u_buffer_scale,1),c.uniform1i(f.uniforms.u_image0,0),c.uniform1i(f.uniforms.u_image1,1);for(var h=i.length&&i[0].overscaledZ,p=0,d=i;p<d.length;p+=1){var g=d[p];o.setDepthMode(t.depthModeForSublayer(g.overscaledZ-h,1===r.paint.get(\\\"raster-opacity\\\")?l.ReadWrite:l.ReadOnly,c.LESS));var m=e.getTile(g),v=t.transform.calculatePosMatrix(g.toUnwrapped(),!0);m.registerFadeDuration(r.paint.get(\\\"raster-fade-duration\\\")),c.uniformMatrix4fv(f.uniforms.u_matrix,!1,v);var y=e.findLoadedParent(g,0,{}),x=n(m,y,e,r,t.transform),b=void 0,_=void 0;if(o.activeTexture.set(c.TEXTURE0),m.texture.bind(c.LINEAR,c.CLAMP_TO_EDGE,c.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(c.TEXTURE1),y?(y.texture.bind(c.LINEAR,c.CLAMP_TO_EDGE,c.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-m.tileID.overscaledZ),_=[m.tileID.canonical.x*b%1,m.tileID.canonical.y*b%1]):m.texture.bind(c.LINEAR,c.CLAMP_TO_EDGE,c.LINEAR_MIPMAP_NEAREST),c.uniform2fv(f.uniforms.u_tl_parent,_||[0,0]),c.uniform1f(f.uniforms.u_scale_parent,b||1),c.uniform1f(f.uniforms.u_fade_t,x.mix),c.uniform1f(f.uniforms.u_opacity,x.opacity*r.paint.get(\\\"raster-opacity\\\")),u instanceof a){var w=u.boundsBuffer;u.boundsVAO.bind(o,f,w,[]),c.drawArrays(c.TRIANGLE_STRIP,0,w.length)}else if(m.maskedBoundsBuffer&&m.maskedIndexBuffer&&m.segments)f.draw(o,c.TRIANGLES,r.id,m.maskedBoundsBuffer,m.maskedIndexBuffer,m.segments);else{var k=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,f,k,[]),c.drawArrays(c.TRIANGLE_STRIP,0,k.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/image_source\\\":102,\\\"../util/browser\\\":252,\\\"../util/util\\\":275}],84:[function(t,e,r){function n(t,e,r,n,o,s,u,h,p,g){var m=t.context,v=m.gl,y=t.transform,x=\\\"map\\\"===h,b=\\\"map\\\"===p,_=x&&\\\"line\\\"===r.layout.get(\\\"symbol-placement\\\"),w=x&&!b&&!_,k=b;m.setDepthMode(k?t.depthModeForSublayer(0,d.ReadOnly):d.disabled);for(var M,A=0,T=n;A<T.length;A+=1){var S=T[A],C=e.getTile(S),E=C.getBucket(r);if(E){var L=o?E.text:E.icon;if(L&&L.segments.get().length){var z=L.programConfigurations.get(r.id),P=o||E.sdfIcons,D=o?E.textSizeData:E.iconSizeData;if(M||(M=t.useProgram(P?\\\"symbolSDF\\\":\\\"symbolIcon\\\",z),z.setUniforms(t.context,M,r.paint,{zoom:t.transform.zoom}),i(M,t,r,o,w,b,D)),m.activeTexture.set(v.TEXTURE0),v.uniform1i(M.uniforms.u_texture,0),o)C.glyphAtlasTexture.bind(v.LINEAR,v.CLAMP_TO_EDGE),v.uniform2fv(M.uniforms.u_texsize,C.glyphAtlasTexture.size);else{var O=1!==r.layout.get(\\\"icon-size\\\").constantOr(0)||E.iconsNeedLinear,I=b||0!==y.pitch;C.iconAtlasTexture.bind(P||t.options.rotating||t.options.zooming||O||I?v.LINEAR:v.NEAREST,v.CLAMP_TO_EDGE),v.uniform2fv(M.uniforms.u_texsize,C.iconAtlasTexture.size)}v.uniformMatrix4fv(M.uniforms.u_matrix,!1,t.translatePosMatrix(S.posMatrix,C,s,u));var R=l(C,1,t.transform.zoom),B=c.getLabelPlaneMatrix(S.posMatrix,b,x,t.transform,R),F=c.getGlCoordMatrix(S.posMatrix,b,x,t.transform,R);v.uniformMatrix4fv(M.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(F,C,s,u,!0)),_?(v.uniformMatrix4fv(M.uniforms.u_label_plane_matrix,!1,f),c.updateLineLabels(E,S.posMatrix,t,o,B,F,b,g)):v.uniformMatrix4fv(M.uniforms.u_label_plane_matrix,!1,B),v.uniform1f(M.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),a(M,z,t,r,C,L,o,P,b)}}}}function i(t,e,r,n,i,a,o){var s=e.context.gl,l=e.transform;s.uniform1i(t.uniforms.u_pitch_with_map,a?1:0),s.uniform1f(t.uniforms.u_is_text,n?1:0),s.uniform1f(t.uniforms.u_pitch,l.pitch/360*2*Math.PI);var c=\\\"constant\\\"===o.functionType||\\\"source\\\"===o.functionType,f=\\\"constant\\\"===o.functionType||\\\"camera\\\"===o.functionType;s.uniform1i(t.uniforms.u_is_size_zoom_constant,c?1:0),s.uniform1i(t.uniforms.u_is_size_feature_constant,f?1:0),s.uniform1f(t.uniforms.u_camera_to_center_distance,l.cameraToCenterDistance);var p=u.evaluateSizeForZoom(o,l.zoom,h.properties[n?\\\"text-size\\\":\\\"icon-size\\\"]);void 0!==p.uSizeT&&s.uniform1f(t.uniforms.u_size_t,p.uSizeT),void 0!==p.uSize&&s.uniform1f(t.uniforms.u_size,p.uSize),s.uniform1f(t.uniforms.u_aspect_ratio,l.width/l.height),s.uniform1i(t.uniforms.u_rotate_symbol,i?1:0)}function a(t,e,r,n,i,a,s,l,c){var u=r.context,f=u.gl,h=r.transform;if(l){var p=0!==n.paint.get(s?\\\"text-halo-width\\\":\\\"icon-halo-width\\\").constantOr(1),d=c?Math.cos(h._pitch)*h.cameraToCenterDistance:1;f.uniform1f(t.uniforms.u_gamma_scale,d),p&&(f.uniform1f(t.uniforms.u_is_halo,1),o(a,n,u,t)),f.uniform1f(t.uniforms.u_is_halo,0)}o(a,n,u,t)}function o(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}var s=t(\\\"./draw_collision_debug\\\"),l=t(\\\"../source/pixels_to_tile_units\\\"),c=t(\\\"../symbol/projection\\\"),u=t(\\\"../symbol/symbol_size\\\"),f=t(\\\"@mapbox/gl-matrix\\\").mat4.identity(new Float32Array(16)),h=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,p=t(\\\"../gl/stencil_mode\\\"),d=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass){var a=t.context;a.setStencilMode(p.disabled),a.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\\\"icon-opacity\\\").constantOr(1)&&n(t,e,r,i,!1,r.paint.get(\\\"icon-translate\\\"),r.paint.get(\\\"icon-translate-anchor\\\"),r.layout.get(\\\"icon-rotation-alignment\\\"),r.layout.get(\\\"icon-pitch-alignment\\\"),r.layout.get(\\\"icon-keep-upright\\\")),0!==r.paint.get(\\\"text-opacity\\\").constantOr(1)&&n(t,e,r,i,!0,r.paint.get(\\\"text-translate\\\"),r.paint.get(\\\"text-translate-anchor\\\"),r.layout.get(\\\"text-rotation-alignment\\\"),r.layout.get(\\\"text-pitch-alignment\\\"),r.layout.get(\\\"text-keep-upright\\\")),e.map.showCollisionBoxes&&s(t,e,r,i)}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/projection\\\":224,\\\"../symbol/symbol_size\\\":228,\\\"./draw_collision_debug\\\":76,\\\"@mapbox/gl-matrix\\\":2}],85:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").AlphaImage,a=1;e.exports={makeGlyphAtlas:function(t){var e=new i({width:0,height:0}),r={},o=new n(0,0,{autoResize:!0});for(var s in t){var l=t[s],c=r[s]={};for(var u in l){var f=l[+u];if(f&&0!==f.bitmap.width&&0!==f.bitmap.height){var h=o.packOne(f.bitmap.width+2*a,f.bitmap.height+2*a);e.resize({width:o.w,height:o.h}),i.copy(f.bitmap,e,{x:0,y:0},{x:h.x+a,y:h.y+a},f.bitmap),c[u]={rect:h,metrics:f.metrics}}}}return o.shrink(),e.resize({width:o.w,height:o.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],86:[function(t,e,r){var n=t(\\\"../style/load_glyph_range\\\"),i=t(\\\"@mapbox/tiny-sdf\\\"),a=t(\\\"../util/is_char_in_unicode_block\\\"),o=t(\\\"../util/util\\\").asyncAll,s=t(\\\"../util/image\\\").AlphaImage,l=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};l.prototype.setURL=function(t){this.url=t},l.prototype.getGlyphs=function(t,e){var r=this,i=[];for(var a in t)for(var s=0,l=t[a];s<l.length;s+=1){var c=l[s];i.push({stack:a,id:c})}o(i,function(t,e){var i=t.stack,a=t.id,o=r.entries[i];o||(o=r.entries[i]={glyphs:{},requests:{}});var s=o.glyphs[a];if(void 0===s)if(s=r._tinySDF(o,i,a))e(null,{stack:i,id:a,glyph:s});else{var l=Math.floor(a/256);if(256*l>65535)e(new Error(\\\"glyphs > 65535 not supported\\\"));else{var c=o.requests[l];c||(c=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=c;n<i.length;n+=1)(0,i[n])(t,e);delete o.requests[l]})),c.push(function(t,r){t?e(t):r&&e(null,{stack:i,id:a,glyph:r[a]||null})})}}else e(null,{stack:i,id:a,glyph:s})},function(t,r){if(t)e(t);else if(r){for(var n={},i=0,a=r;i<a.length;i+=1){var o=a[i],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}}e(null,n)}})},l.prototype._tinySDF=function(t,e,r){var n=this.localIdeographFontFamily;if(n&&(a[\\\"CJK Unified Ideographs\\\"](r)||a[\\\"Hangul Syllables\\\"](r))){var o=t.tinySDF;if(!o){var l=\\\"400\\\";/bold/i.test(e)?l=\\\"900\\\":/medium/i.test(e)?l=\\\"500\\\":/light/i.test(e)&&(l=\\\"200\\\"),o=t.tinySDF=new i(24,3,8,.25,n,l)}return{id:r,bitmap:new s({width:30,height:30},o.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},e.exports=l},{\\\"../style/load_glyph_range\\\":184,\\\"../util/image\\\":263,\\\"../util/is_char_in_unicode_block\\\":265,\\\"../util/util\\\":275,\\\"@mapbox/tiny-sdf\\\":6}],87:[function(t,e,r){function n(t,e){var r=e.pixelRatio,n={x:t.x+o,y:t.y+o,w:t.w-2*o,h:t.h-2*o};return{pixelRatio:r,textureRect:n,tl:[n.x,n.y],br:[n.x+n.w,n.y+n.h],displaySize:[n.w/r,n.h/r]}}var i=t(\\\"@mapbox/shelf-pack\\\"),a=t(\\\"../util/image\\\").RGBAImage,o=1;e.exports={imagePosition:n,makeImageAtlas:function(t){var e=new a({width:0,height:0}),r={},s=new i(0,0,{autoResize:!0});for(var l in t){var c=t[l],u=s.packOne(c.data.width+2*o,c.data.height+2*o);e.resize({width:s.w,height:s.h}),a.copy(c.data,e,{x:0,y:0},{x:u.x+o,y:u.y+o},c.data),r[l]=n(u,c)}return s.shrink(),e.resize({width:s.w,height:s.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],88:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").RGBAImage,a=t(\\\"./image_atlas\\\").imagePosition,o=t(\\\"./texture\\\"),s=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new n(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new i({width:64,height:64}),this.dirty=!0};s.prototype.isLoaded=function(){return this.loaded},s.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],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},s.prototype.getImage=function(t){return this.images[t]},s.prototype.addImage=function(t,e){this.images[t]=e},s.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},s.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},s.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},s.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},s.prototype.getPattern=function(t){var e=this.patterns[t];if(e)return e.position;var r=this.getImage(t);if(!r)return null;var n=r.data.width+2,o=r.data.height+2,s=this.shelfPack.packOne(n,o);if(!s)return null;this.atlasImage.resize(this.getPixelSize());var l=r.data,c=this.atlasImage,u=s.x+1,f=s.y+1,h=l.width,p=l.height;i.copy(l,c,{x:0,y:0},{x:u,y:f},{width:h,height:p}),i.copy(l,c,{x:0,y:p-1},{x:u,y:f-1},{width:h,height:1}),i.copy(l,c,{x:0,y:0},{x:u,y:f+p},{width:h,height:1}),i.copy(l,c,{x:h-1,y:0},{x:u-1,y:f},{width:1,height:p}),i.copy(l,c,{x:0,y:0},{x:u+h,y:f},{width:1,height:p}),this.dirty=!0;var d=a(s,r);return this.patterns[t]={bin:s,position:d},d},s.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new o(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)},e.exports=s},{\\\"../util/image\\\":263,\\\"./image_atlas\\\":87,\\\"./texture\\\":93,\\\"@mapbox/shelf-pack\\\":5}],89:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};i.prototype.getDash=function(t,e){var r=t.join(\\\",\\\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},i.prototype.addDash=function(t,e){var r=this,i=e?7:0,a=2*i+1;if(this.nextRow+a>this.height)return n.warnOnce(\\\"LineAtlas out of space\\\"),null;for(var o=0,s=0;s<t.length;s++)o+=t[s];for(var l=this.width/o,c=l/2,u=t.length%2==1,f=-i;f<=i;f++)for(var h=r.nextRow+i+f,p=r.width*h,d=u?-t[t.length-1]:0,g=t[0],m=1,v=0;v<this.width;v++){for(;g<v/l;)d=g,g+=t[m],u&&m===t.length-1&&(g+=t[0]),m++;var y=Math.abs(v-d*l),x=Math.abs(v-g*l),b=Math.min(y,x),_=m%2==1,w=void 0;if(e){var k=i?f/i*(c+1):0;if(_){var M=c-Math.abs(k);w=Math.sqrt(b*b+M*M)}else w=c-Math.sqrt(b*b+k*k)}else w=(_?1:-1)*b;r.data[3+4*(p+v)]=Math.max(0,Math.min(255,w+128))}var A={y:(this.nextRow+i+.5)/this.height,height:2*i/this.height,width:o};return this.nextRow+=a,this.dirty=!0,A},i.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.RGBA,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.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))},e.exports=i},{\\\"../util/util\\\":275}],90:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"@mapbox/gl-matrix\\\").mat4,a=t(\\\"../source/source_cache\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../source/pixels_to_tile_units\\\"),l=t(\\\"../util/util\\\"),c=t(\\\"./vertex_array_object\\\"),u=t(\\\"../data/array_types\\\"),f=u.RasterBoundsArray,h=u.PosArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/pos_attributes\\\"),g=t(\\\"../data/program_configuration\\\").ProgramConfiguration,m=t(\\\"../symbol/cross_tile_symbol_index\\\"),v=t(\\\"../shaders\\\"),y=t(\\\"./program\\\"),x=t(\\\"../gl/context\\\"),b=t(\\\"../gl/depth_mode\\\"),_=t(\\\"../gl/stencil_mode\\\"),w=t(\\\"../gl/color_mode\\\"),k=(t(\\\"./texture\\\"),t(\\\"./tile_mask\\\")),M=t(\\\"../style-spec/util/color\\\"),A={symbol:t(\\\"./draw_symbol\\\"),circle:t(\\\"./draw_circle\\\"),heatmap:t(\\\"./draw_heatmap\\\"),line:t(\\\"./draw_line\\\"),fill:t(\\\"./draw_fill\\\"),\\\"fill-extrusion\\\":t(\\\"./draw_fill_extrusion\\\"),hillshade:t(\\\"./draw_hillshade\\\"),raster:t(\\\"./draw_raster\\\"),background:t(\\\"./draw_background\\\"),debug:t(\\\"./draw_debug\\\")},T=function(t,e){this.context=new x(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=a.maxUnderzooming+a.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new g,this.crossTileSymbolIndex=new m};T.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*n.devicePixelRatio,this.height=e*n.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var i=0,a=this.style._order;i<a.length;i+=1){var o=a[i];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},T.prototype.setup=function(){var t=this.context,e=new h;e.emplaceBack(0,0),e.emplaceBack(o,0),e.emplaceBack(0,o),e.emplaceBack(o,o),this.tileExtentBuffer=t.createVertexBuffer(e,d.members),this.tileExtentVAO=new c,this.tileExtentPatternVAO=new c;var r=new h;r.emplaceBack(0,0),r.emplaceBack(o,0),r.emplaceBack(o,o),r.emplaceBack(0,o),r.emplaceBack(0,0),this.debugBuffer=t.createVertexBuffer(r,d.members),this.debugVAO=new c;var n=new f;n.emplaceBack(0,0,0,0),n.emplaceBack(o,0,o,0),n.emplaceBack(0,o,0,o),n.emplaceBack(o,o,o,o),this.rasterBoundsBuffer=t.createVertexBuffer(n,p.members),this.rasterBoundsVAO=new c;var i=new h;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(i,d.members),this.viewportVAO=new c},T.prototype.clearStencil=function(){var t=this.context,e=t.gl;t.setColorMode(w.disabled),t.setDepthMode(b.disabled),t.setStencilMode(new _({func:e.ALWAYS,mask:0},0,255,e.ZERO,e.ZERO,e.ZERO));var r=i.create();i.ortho(r,0,this.width,this.height,0,0,1),i.scale(r,r,[e.drawingBufferWidth,e.drawingBufferHeight,0]);var n=this.useProgram(\\\"clippingMask\\\");e.uniformMatrix4fv(n.uniforms.u_matrix,!1,r),this.viewportVAO.bind(t,n,this.viewportBuffer,[]),e.drawArrays(e.TRIANGLE_STRIP,0,4)},T.prototype._renderTileClippingMasks=function(t){var e=this,r=this.context,n=r.gl;r.setColorMode(w.disabled),r.setDepthMode(b.disabled);var i=1;this._tileClippingMaskIDs={};for(var a=0,o=t;a<o.length;a+=1){var s=o[a],l=e._tileClippingMaskIDs[s.key]=i++;r.setStencilMode(new _({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE));var c=e.useProgram(\\\"clippingMask\\\");n.uniformMatrix4fv(c.uniforms.u_matrix,!1,s.posMatrix),e.tileExtentVAO.bind(e.context,c,e.tileExtentBuffer,[]),n.drawArrays(n.TRIANGLE_STRIP,0,e.tileExtentBuffer.length)}},T.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new _({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},T.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new w([t.CONSTANT_COLOR,t.ONE],new M(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\\\"opaque\\\"===this.renderPass?w.unblended:w.alphaBlended},T.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new b(r||this.context.gl.LEQUAL,e,[i,n])},T.prototype.render=function(t,e){var r=this;for(var i in this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(n.now()),t.sourceCaches){var a=r.style.sourceCaches[i];a.used&&a.prepare(r.context)}var o=this.style._order,s=l.filterObject(this.style.sourceCaches,function(t){return\\\"raster\\\"===t.getSource().type||\\\"raster-dem\\\"===t.getSource().type});for(var c in s)!function(t){var e=s[c],n=e.getVisibleCoordinates().map(function(t){return e.getTile(t)});k(n,r.context)}();this.renderPass=\\\"offscreen\\\";var u,f=[];this.depthRboNeedsClear=!0;for(var h=0;h<o.length;h++){var p=r.style._layers[o[h]];p.hasOffscreenPass()&&!p.isHidden(r.transform.zoom)&&(p.source!==(u&&u.id)&&(f=[],(u=r.style.sourceCaches[p.source])&&(f=u.getVisibleCoordinates()).reverse()),f.length&&r.renderLayer(r,u,p,f))}this.context.bindFramebuffer.set(null),this.context.clear({color:e.showOverdrawInspector?M.black:M.transparent,depth:1}),this._showOverdrawInspector=e.showOverdrawInspector,this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\\\"opaque\\\";var d,g=[];for(this.currentLayer=o.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var m=r.style._layers[o[r.currentLayer]];m.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[m.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,m,g)}this.renderPass=\\\"translucent\\\";var v,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<o.length;this.currentLayer++){var x=r.style._layers[o[r.currentLayer]];x.source!==(v&&v.id)&&(y=[],(v=r.style.sourceCaches[x.source])&&(r.clearStencil(),y=v.getVisibleCoordinates(),v.getSource().isTileClipped&&r._renderTileClippingMasks(y)),y.reverse()),r.renderLayer(r,v,x,y)}if(this.options.showTileBoundaries){var b=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];b&&A.debug(this,b,b.getVisibleCoordinates())}},T.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},T.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\\\"background\\\"===r.type||n.length)&&(this.id=r.id,A[r.type](t,e,r,n))},T.prototype.translatePosMatrix=function(t,e,r,n,a){if(!r[0]&&!r[1])return t;var o=a?\\\"map\\\"===n?this.transform.angle:0:\\\"viewport\\\"===n?-this.transform.angle:0;if(o){var l=Math.sin(o),c=Math.cos(o);r=[r[0]*c-r[1]*l,r[0]*l+r[1]*c]}var u=[a?r[0]:s(e,r[0],this.transform.zoom),a?r[1]:s(e,r[1],this.transform.zoom),0],f=new Float32Array(16);return i.translate(f,t,u),f},T.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},T.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\\\"\\\"+t+(e.cacheKey||\\\"\\\")+(this._showOverdrawInspector?\\\"/overdraw\\\":\\\"\\\");return this.cache[r]||(this.cache[r]=new y(this.context,v[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../data/program_configuration\\\":58,\\\"../data/raster_bounds_attributes\\\":59,\\\"../gl/color_mode\\\":65,\\\"../gl/context\\\":66,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../shaders\\\":97,\\\"../source/pixels_to_tile_units\\\":104,\\\"../source/source_cache\\\":111,\\\"../style-spec/util/color\\\":153,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"./draw_background\\\":74,\\\"./draw_circle\\\":75,\\\"./draw_debug\\\":77,\\\"./draw_fill\\\":78,\\\"./draw_fill_extrusion\\\":79,\\\"./draw_heatmap\\\":80,\\\"./draw_hillshade\\\":81,\\\"./draw_line\\\":82,\\\"./draw_raster\\\":83,\\\"./draw_symbol\\\":84,\\\"./program\\\":92,\\\"./texture\\\":93,\\\"./tile_mask\\\":94,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],91:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,c=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,c]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{\\\"../source/pixels_to_tile_units\\\":104}],92:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../shaders\\\"),a=(t(\\\"../data/program_configuration\\\").ProgramConfiguration,t(\\\"./vertex_array_object\\\")),o=(t(\\\"../gl/context\\\"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat(\\\"#define DEVICE_PIXEL_RATIO \\\"+n.devicePixelRatio.toFixed(1));a&&l.push(\\\"#define OVERDRAW_INSPECTOR;\\\");var c=l.concat(i.prelude.fragmentSource,e.fragmentSource).join(\\\"\\\\n\\\"),u=l.concat(i.prelude.vertexSource,e.vertexSource).join(\\\"\\\\n\\\"),f=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);var h=s.createShader(s.VERTEX_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);for(var p=r.layoutAttributes||[],d=0;d<p.length;d++)s.bindAttribLocation(o.program,d,p[d].name);s.linkProgram(this.program),this.numAttributes=s.getProgramParameter(this.program,s.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var g=0;g<this.numAttributes;g++){var m=s.getActiveAttrib(o.program,g);m&&(o.attributes[m.name]=s.getAttribLocation(o.program,m.name))}for(var v=s.getProgramParameter(this.program,s.ACTIVE_UNIFORMS),y=0;y<v;y++){var x=s.getActiveUniform(o.program,y);x&&(o.uniforms[x.name]=s.getUniformLocation(o.program,x.name))}});o.prototype.draw=function(t,e,r,n,i,o,s,l,c){for(var u,f=t.gl,h=(u={},u[f.LINES]=2,u[f.TRIANGLES]=3,u)[e],p=0,d=o.get();p<d.length;p+=1){var g=d[p],m=g.vaos||(g.vaos={});(m[r]||(m[r]=new a)).bind(t,this,n,s?s.getPaintVertexBuffers():[],i,g.vertexOffset,l,c),f.drawElements(e,g.primitiveLength*h,f.UNSIGNED_SHORT,g.primitiveOffset*h*2)}},e.exports=o},{\\\"../data/program_configuration\\\":58,\\\"../gl/context\\\":66,\\\"../shaders\\\":97,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95}],93:[function(t,e,r){var n=t(\\\"../util/window\\\"),i=n.HTMLImageElement,a=n.HTMLCanvasElement,o=n.HTMLVideoElement,s=n.ImageData,l=function(t,e,r,n){this.context=t;var i=e.width,a=e.height;this.size=[i,a],this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};l.prototype.update=function(t,e){var r=t.width,n=t.height;this.size=[r,n];var l=this.context,c=l.gl;c.bindTexture(c.TEXTURE_2D,this.texture),l.pixelStoreUnpack.set(1),this.format===c.RGBA&&!1!==e&&l.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof i||t instanceof a||t instanceof o||t instanceof s?c.texImage2D(c.TEXTURE_2D,0,this.format,this.format,c.UNSIGNED_BYTE,t):c.texImage2D(c.TEXTURE_2D,0,this.format,r,n,0,this.format,c.UNSIGNED_BYTE,t.data)},l.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),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)},l.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null},e.exports=l},{\\\"../util/window\\\":254}],94:[function(t,e,r){function n(t,e,r,i,a){for(var s=0;s<r.length;s++){var l=r[s];if(i.isLessThan(l.tileID))break;if(e.key===l.tileID.key)return;if(l.tileID.isChildOf(e)){for(var c=e.children(1/0),u=0;u<c.length;u++)n(t,c[u],r.slice(s),i,a);return}}var f=e.overscaledZ-t.overscaledZ,h=new o(f,e.canonical.x-(t.canonical.x<<f),e.canonical.y-(t.canonical.y<<f));a[h.key]=a[h.key]||h}var i=t(\\\"../source/tile_id\\\"),a=i.OverscaledTileID,o=i.CanonicalTileID;e.exports=function(t,e){for(var r=t.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<r.length;i++){var o={},s=r[i],l=r.slice(i+1);n(s.tileID.wrapped(),s.tileID,l,new a(0,s.tileID.wrap+1,0,0,0),o),s.setMask(o,e)}}},{\\\"../source/tile_id\\\":114}],95:[function(t,e,r){var n=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};n.prototype.bind=function(t,e,r,n,i,a,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);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},n.prototype.freshBind=function(t,e,r,n,i,a,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=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(u,t);a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},n.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)},e.exports=n},{}],96:[function(t,e,r){var n=t(\\\"../util/util\\\");r.packUint8ToFloat=function(t,e){return 256*(t=n.clamp(Math.floor(t),0,255))+(e=n.clamp(Math.floor(e),0,255))}},{\\\"../util/util\\\":275}],97:[function(t,e,r){var n={prelude:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\\n// Unpack a pair of values that have been packed into a single float.\\\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\\\n// packed like so:\\\\n// packedValue = floor(input[0]) * 256 + input[1],\\\\nvec2 unpack_float(const float packedValue) {\\\\n    int packedIntValue = int(packedValue);\\\\n    int v0 = packedIntValue / 256;\\\\n    return vec2(v0, packedIntValue - v0 * 256);\\\\n}\\\\n\\\\nvec2 unpack_opacity(const float packedOpacity) {\\\\n    int intOpacity = int(packedOpacity) / 2;\\\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\\\n}\\\\n\\\\n// To minimize the number of attributes needed, we encode a 4-component\\\\n// color into a pair of floats (i.e. a vec2) as follows:\\\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\\\nvec4 decode_color(const vec2 encodedColor) {\\\\n    return vec4(\\\\n        unpack_float(encodedColor[0]) / 255.0,\\\\n        unpack_float(encodedColor[1]) / 255.0\\\\n    );\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\\\n    return mix(packedValue[0], packedValue[1], t);\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\\\n    return mix(minColor, maxColor, t);\\\\n}\\\\n\\\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\\\n// vec2 offset = mod(pixel_coord, size)\\\\n//\\\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\\\n//\\\\n// The pixel_coord is passed in as two 16 bit values:\\\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n//\\\\n// The offset is calculated in a series of steps that should preserve this precision:\\\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\\\n\\\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\\\n}\\\\n\\\"},background:{fragmentSource:\\\"uniform vec4 u_color;\\\\nuniform float u_opacity;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},backgroundPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\nuniform float u_opacity;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},circle:{fragmentSource:\\\"#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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    vec2 extrude = v_data.xy;\\\\n    float extrude_length = length(extrude);\\\\n\\\\n    lowp float antialiasblur = v_data.z;\\\\n    float antialiased_blur = -max(blur, antialiasblur);\\\\n\\\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\\\n\\\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\\\n        antialiased_blur,\\\\n        0.0,\\\\n        extrude_length - radius / (radius + stroke_width)\\\\n    );\\\\n\\\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform bool u_scale_with_map;\\\\nuniform bool u_pitch_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform highp float u_camera_to_center_distance;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec2 circle_center = floor(a_pos * 0.5);\\\\n    if (u_pitch_with_map) {\\\\n        vec2 corner_position = circle_center;\\\\n        if (u_scale_with_map) {\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\\\n        } else {\\\\n            // Pitching the circle with the map effectively scales it with the map\\\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\\\n            // whole circle based on the pitch scaling effect at its central point\\\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\\\n        }\\\\n\\\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\\\n    } else {\\\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\\\n\\\\n        if (u_scale_with_map) {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\\\n        } else {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\\\n        }\\\\n    }\\\\n\\\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\\\n    // to keep the blur at roughly 1px, the two are inversely related.\\\\n    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\\\n\\\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\\\n}\\\\n\\\"},clippingMask:{fragmentSource:\\\"void main() {\\\\n    gl_FragColor = vec4(1.0);\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},heatmap:{fragmentSource:\\\"#pragma mapbox: define highp float weight\\\\n\\\\nuniform highp float u_intensity;\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp float weight\\\\n\\\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\\\n\\\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#pragma mapbox: define highp float weight\\\\n#pragma mapbox: define mediump float radius\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform float u_extrude_scale;\\\\nuniform float u_opacity;\\\\nuniform float u_intensity;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Effective \\\\\\\"0\\\\\\\" in the kernel density texture to adjust the kernel size to;\\\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\\\n// for typical heatmap cases (assuming clustered source)\\\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main(void) {\\\\n    #pragma mapbox: initialize highp float weight\\\\n    #pragma mapbox: initialize mediump float radius\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\\\n    // it to produce the vertices of a square mesh framing the point feature\\\\n    // we're adding to the kernel density texture.  We'll also pass it as\\\\n    // a varying, so that the fragment shader can determine the distance of\\\\n    // each fragment from the point feature.\\\\n    // Before we do so, we need to scale it up sufficiently so that the\\\\n    // kernel falls effectively to zero at the edge of the mesh.\\\\n    // That is, we want to know S such that\\\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\\\n    // Which solves to:\\\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\\\n\\\\n    // Pass the varying in units of radius\\\\n    v_extrude = S * unscaled_extrude;\\\\n\\\\n    // Scale by radius and the zoom-based scale factor to produce actual\\\\n    // mesh position\\\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\\\n\\\\n    gl_Position = u_matrix * pos;\\\\n}\\\\n\\\"},heatmapTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform sampler2D u_color_ramp;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    float t = texture2D(u_image, v_pos).r;\\\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\\\n    gl_FragColor = color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},collisionBox:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        gl_FragColor *= .1;\\\\n    }\\\\n}\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n}\\\\n\\\"},collisionCircle:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        color *= .2;\\\\n    }\\\\n\\\\n    float extrude_scale_length = length(v_extrude_scale);\\\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\\\n    float stroke_width = 15.0 * extrude_scale_length;\\\\n    float radius = v_radius * extrude_scale_length;\\\\n\\\\n    float distance_to_edge = abs(extrude_length - radius);\\\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\\\n\\\\n    gl_FragColor = opacity_t * color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n\\\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\\\n\\\\n    v_extrude = a_extrude * padding_factor;\\\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\\\n}\\\\n\\\"},debug:{fragmentSource:\\\"uniform highp vec4 u_color;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fill:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_FragColor = color * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fillOutline:{fragmentSource:\\\"#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n    gl_FragColor = outline_color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillOutlinePattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    // find distance to outline for alpha interpolation\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},fillExtrusion:{fragmentSource:\\\"varying vec4 v_color;\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    gl_FragColor = v_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec4 v_color;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\\\n\\\\n    // Relative luminance (how dark/bright is the surface color?)\\\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\\\n\\\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\\\n\\\\n    // Add slight ambient lighting so no extrusions are totally black\\\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\\\n    color += ambientlight;\\\\n\\\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\\\n\\\\n    // Adjust directional so that\\\\n    // the range of values for highlight/shading is narrower\\\\n    // with lower light intensity\\\\n    // and with lighter/brighter surface colors\\\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\\\n\\\\n    // Add gradient along z axis of side surfaces\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\\\n    // with lower bounds adjusted to hue of light\\\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\\\n}\\\\n\\\"},fillExtrusionPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\\\n\\\\n    gl_FragColor = mixedColor * v_lighting;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\nuniform float u_height_factor;\\\\n\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\nvarying float v_directional;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n    float edgedistance = a_normal_ed.w;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n    float z = t > 0.0 ? height : base;\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\\\n\\\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\\\n        ? a_pos // extrusion top\\\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\\\n\\\\n    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, pos);\\\\n    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, pos);\\\\n\\\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\\\n\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\\\n}\\\\n\\\"},extrusionTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},hillshadePrepare:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#endif\\\\n\\\\nuniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\nuniform vec2 u_dimension;\\\\nuniform float u_zoom;\\\\n\\\\nfloat getElevation(vec2 coord, float bias) {\\\\n    // Convert encoded elevation value to meters\\\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\\\n}\\\\n\\\\nvoid main() {\\\\n    vec2 epsilon = 1.0 / u_dimension;\\\\n\\\\n    // queried pixels:\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | a | b | c |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | d | e | f |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | g | h | i |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n\\\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\\\n    float e = getElevation(v_pos, 0.0);\\\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\\\n\\\\n    // here we divide the x and y slopes by 8 * pixel size\\\\n    // where pixel size (aka meters/pixel) is:\\\\n    // circumference of the world / (pixels per tile * number of tiles)\\\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\\\n    // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\\\\n    // maxzoom of the tile source. here we use a=0.3 which works out to the\\\\n    // expression below. see nickidlugash's awesome breakdown for more info\\\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\\\n\\\\n    vec2 deriv = vec2(\\\\n        (c + f + f + i) - (a + d + d + g),\\\\n        (g + h + h + i) - (a + b + b + c)\\\\n    ) /  pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\\\\n\\\\n    gl_FragColor = clamp(vec4(\\\\n        deriv.x / 2.0 + 0.5,\\\\n        deriv.y / 2.0 + 0.5,\\\\n        1.0,\\\\n        1.0), 0.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\\\n}\\\\n\\\"},hillshade:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\n\\\\nuniform vec2 u_latrange;\\\\nuniform vec2 u_light;\\\\nuniform vec4 u_shadow;\\\\nuniform vec4 u_highlight;\\\\nuniform vec4 u_accent;\\\\n\\\\n#define PI 3.141592653589793\\\\n\\\\nvoid main() {\\\\n    vec4 pixel = texture2D(u_image, v_pos);\\\\n\\\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\\\n\\\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\\\n    // to account for mercator projection distortion. see #4807 for details\\\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\\\n\\\\n    float intensity = u_light.x;\\\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\\\n    float azimuth = u_light.y + PI;\\\\n\\\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\\\n    // the exponential interpolation function in the style spec:\\\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\\\n    // so that higher intensity values create more opaque hillshading.\\\\n    float base = 1.875 - intensity * 1.75;\\\\n    float maxValue = 0.5 * PI;\\\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\\\n\\\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\\\n    float accent = cos(scaledSlope);\\\\n    // We multiply both the accent and shade color by a clamped intensity value\\\\n    // so that intensities >= 0.5 do not additionally affect the color values\\\\n    // while intensity values < 0.5 make the overall color more transparent.\\\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = a_texture_pos / 8192.0;\\\\n}\\\\n\\\"},line:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_normal;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},linePattern:{fragmentSource:\\\"uniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_fade;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\\\n    float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\\\n    float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\\\n\\\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\\\n\\\\n    gl_FragColor = color * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_linesofar = a_linesofar;\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},lineSDF:{fragmentSource:\\\"\\\\nuniform sampler2D u_image;\\\\nuniform float u_sdfgamma;\\\\nuniform float u_mix;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\\\n    alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_patternscale_a;\\\\nuniform float u_tex_y_a;\\\\nuniform vec2 u_patternscale_b;\\\\nuniform float u_tex_y_b;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist =outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},raster:{fragmentSource:\\\"uniform float u_fade_t;\\\\nuniform float u_opacity;\\\\nuniform sampler2D u_image0;\\\\nuniform sampler2D u_image1;\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nuniform float u_brightness_low;\\\\nuniform float u_brightness_high;\\\\n\\\\nuniform float u_saturation_factor;\\\\nuniform float u_contrast_factor;\\\\nuniform vec3 u_spin_weights;\\\\n\\\\nvoid main() {\\\\n\\\\n    // read and cross-fade colors from the main and parent tiles\\\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\\\n    if (color0.a > 0.0) {\\\\n        color0.rgb = color0.rgb / color0.a;\\\\n    }\\\\n    if (color1.a > 0.0) {\\\\n        color1.rgb = color1.rgb / color1.a;\\\\n    }\\\\n    vec4 color = mix(color0, color1, u_fade_t);\\\\n    color.a *= u_opacity;\\\\n    vec3 rgb = color.rgb;\\\\n\\\\n    // spin\\\\n    rgb = vec3(\\\\n        dot(rgb, u_spin_weights.xyz),\\\\n        dot(rgb, u_spin_weights.zxy),\\\\n        dot(rgb, u_spin_weights.yzx));\\\\n\\\\n    // saturation\\\\n    float average = (color.r + color.g + color.b) / 3.0;\\\\n    rgb += (average - rgb) * u_saturation_factor;\\\\n\\\\n    // contrast\\\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\\\n\\\\n    // brightness\\\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\\\n\\\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_tl_parent;\\\\nuniform float u_scale_parent;\\\\nuniform float u_buffer_scale;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    // We are using Int16 for texture position coordinates to give us enough precision for\\\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\\\n    // so math for modifying either is consistent.\\\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\\\n}\\\\n\\\"},symbolIcon:{fragmentSource:\\\"uniform sampler2D u_texture;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    lowp float alpha = opacity * v_fade_opacity;\\\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform float u_fade_change;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n\\\\n    float size;\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // See comments in symbol_sdf.vertex\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // See comments in symbol_sdf.vertex\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n}\\\\n\\\"},symbolSDF:{fragmentSource:\\\"#define SDF_PX 8.0\\\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\\\n\\\\nuniform bool u_is_halo;\\\\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\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform highp float u_gamma_scale;\\\\nuniform bool u_is_text;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 tex = v_data0.xy;\\\\n    float gamma_scale = v_data1.x;\\\\n    float size = v_data1.y;\\\\n    float fade_opacity = v_data1[2];\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    lowp vec4 color = fill_color;\\\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\\\n    if (u_is_halo) {\\\\n        color = halo_color;\\\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\\\n    }\\\\n\\\\n    lowp float dist = texture2D(u_texture, tex).a;\\\\n    highp float gamma_scaled = gamma * gamma_scale;\\\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\n// contents of a_size vary based on the type of property value\\\\n// used for {text,icon}-size.\\\\n// For constants, a_size is disabled.\\\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\\\n// For composite functions:\\\\n// [ text-size(lowerZoomStop, feature),\\\\n//   text-size(upperZoomStop, feature) ]\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\n\\\\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\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform float u_fade_change;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n    float size;\\\\n\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // If the label is pitched with the map, layout is done in pitched space,\\\\n    // which makes labels in the distance smaller relative to viewport space.\\\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\\\n    // which makes labels in the distance larger relative to the features around\\\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\\\n        // space, project it, and measure its angle in projected space.\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n    float gamma_scale = gl_Position.w;\\\\n\\\\n    vec2 tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n\\\\n    v_data0 = vec2(tex.x, tex.y);\\\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\\\n}\\\\n\\\"}},i=/#pragma mapbox: ([\\\\w]+) ([\\\\w]+) ([\\\\w]+) ([\\\\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifdef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o=\\\"float\\\"===i?\\\"vec2\\\":\\\"vec4\\\";return r[a]?\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t(\\\"./image_source\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(\\\"error\\\",new Error(\\\"Canvas dimensions cannot be less than or equal to zero.\\\")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,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 i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];\\\"loaded\\\"!==l.state&&(l.state=\\\"loaded\\\",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"canvas\\\",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.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},e}(n);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/window\\\":254,\\\"./image_source\\\":102}],99:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/window\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../util/ajax\\\").ResourceType,l=t(\\\"../util/browser\\\"),c=function(t){function e(e,r,n,a){t.call(this),this.id=e,this.type=\\\"geojson\\\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this.dispatcher=n,this.setEventedParent(a),this._data=r.data,this._options=i.extend({},r),this._collectResourceTiming=r.collectResourceTiming,this._resourceTiming=[],void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type);var s=o/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*s,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*s,extent:o,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?Math.min(r.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:o,radius:(r.clusterRadius||50)*s,log:!1}},r.workerOptions)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(e){if(e)t.fire(\\\"error\\\",{error:e});else{var r={dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(\\\"data\\\",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(t){if(t)return e.fire(\\\"error\\\",{error:t});var r={dataType:\\\"source\\\",sourceDataType:\\\"content\\\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(\\\"data\\\",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;\\\"string\\\"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+\\\".loadData\\\",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||\\\"expired\\\"===t.state?\\\"loadTile\\\":\\\"reloadTile\\\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\\\"reloadTile\\\"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\\\"removeSource\\\",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{\\\"../data/extent\\\":53,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/performance\\\"),o=t(\\\"geojson-rewind\\\"),s=t(\\\"./geojson_wrapper\\\"),l=t(\\\"vt-pbf\\\"),c=t(\\\"supercluster\\\"),u=t(\\\"geojson-vt\\\"),f=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if(\\\"object\\\"!=typeof i)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?c(t.superclusterOptions).load(i.features):u(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,e);else{if(\\\"string\\\"!=typeof t.data)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t(\\\"./vector_tile_worker_source\\\"));e.exports=f},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"./geojson_wrapper\\\":101,\\\"./vector_tile_worker_source\\\":116,\\\"geojson-rewind\\\":15,\\\"geojson-vt\\\":19,supercluster:32,\\\"vt-pbf\\\":34}],101:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.prototype.toGeoJSON,a=t(\\\"../data/extent\\\"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,\\\"id\\\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e<r.length;e+=1){var i=r[e];t.push([new n(i[0],i[1])])}return t}for(var a=[],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 f=u[c];l.push(new n(f[0],f[1]))}a.push(l)}return a},o.prototype.toGeoJSON=function(t,e,r){return i.call(this,t,e,r)};var s=function(t){this.layers={_geojsonTileLayer:this},this.name=\\\"_geojsonTileLayer\\\",this.extent=a,this.length=t.length,this._features=t};s.prototype.feature=function(t){return new o(this._features[t])},e.exports=s},{\\\"../data/extent\\\":53,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],102:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"./tile_id\\\").CanonicalTileID,a=t(\\\"../geo/lng_lat\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/ajax\\\"),c=t(\\\"../util/browser\\\"),u=t(\\\"../data/extent\\\"),f=t(\\\"../data/array_types\\\").RasterBoundsArray,h=t(\\\"../data/raster_bounds_attributes\\\"),p=t(\\\"../render/vertex_array_object\\\"),d=t(\\\"../render/texture\\\"),g=function(t){function e(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\\\"image\\\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this.url=this.options.url,l.getImage(this.map._transformRequest(this.url,l.ResourceType.Image),function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.image=c.getImageData(r),t._finishLoading())})},e.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}))},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setCoordinates=function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(a.convert(t)).zoomTo(0)}),s=this.centerCoord=n.getCoordinatesCenter(r);s.column=Math.floor(s.column),s.row=Math.floor(s.row),this.tileID=new i(s.zoom,s.column,s.row),this.minzoom=this.maxzoom=s.zoom;var l=r.map(function(t){var e=t.zoomTo(s.zoom);return new o(Math.round((e.column-s.column)*u),Math.round((e.row-s.row)*u))});return this._boundsArray=new f,this._boundsArray.emplaceBack(l[0].x,l[0].y,0,0),this._boundsArray.emplaceBack(l[1].x,l[1].y,u,0),this._boundsArray.emplaceBack(l[3].x,l[3].y,0,u),this._boundsArray.emplaceBack(l[2].x,l[2].y,u,u),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}),this},e.prototype.prepare=function(){var t=this;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,h.members)),this.boundsVAO||(this.boundsVAO=new p),this.texture||(this.texture=new d(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.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))},e.prototype.serialize=function(){return{type:\\\"image\\\",url:this.options.url,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return!1},e}(s);e.exports=g},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/raster_bounds_attributes\\\":59,\\\"../geo/lng_lat\\\":62,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],103:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/mapbox\\\").normalizeSourceURL;e.exports=function(t,e,r){var s=function(t,e){if(t)return r(t);if(e){var i=n.pick(e,[\\\"tiles\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"attribution\\\",\\\"mapbox_logo\\\",\\\"bounds\\\"]);e.vector_layers&&(i.vectorLayers=e.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),r(null,i)}};t.url?i.getJSON(e(o(t.url),i.ResourceType.Source),s):a.frame(function(){return s(null,t)})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275}],104:[function(t,e,r){var n=t(\\\"../data/extent\\\");e.exports=function(t,e,r){return e*(n/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}},{\\\"../data/extent\\\":53}],105:[function(t,e,r){function n(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}r.rendered=function(t,e,r,i,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var c=[],u=0,f=l;u<f.length;u+=1){var h=f[u];c.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,h.queryGeometry,h.scale,i,o,t.id,s)})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];f[g.featureIndex]||(f[g.featureIndex]=!0,h.push(g.feature))}}return e}(c)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}},{}],106:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/util\\\"),a=(t(\\\"../util/evented\\\"),t(\\\"../util/mapbox\\\").normalizeTileURL),o=t(\\\"../util/browser\\\"),s=t(\\\"./tile_id\\\").OverscaledTileID,l=function(t){function e(e,r,n,a){t.call(this,e,r,n,a),this.type=\\\"raster-dem\\\",this.maxzoom=22,this._options=i.extend({},r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.serialize=function(){return{type:\\\"raster-dem\\\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds}},e.prototype.loadTile=function(t,e){var r=a(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._transformRequest(r,n.ResourceType.Tile),function(r,n){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(r)t.state=\\\"errored\\\",e(r);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=o.getImageData(n),a={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:i};t.workerID&&\\\"expired\\\"!==t.state||(t.workerID=this.dispatcher.send(\\\"loadDEMTile\\\",a,function(r,n){r&&(t.state=\\\"errored\\\",e(r)),n&&(t.dem=n,t.needsHillshadePrepare=!0,t.state=\\\"loaded\\\",e(null))}.bind(this)))}}.bind(this)),t.neighboringTiles=this._getNeighboringTiles(t.tileID)},e.prototype._getNeighboringTiles=function(t){var e=t.canonical,r=Math.pow(2,e.z),n=(e.x-1+r)%r,i=0===e.x?t.wrap-1:t.wrap,a=(e.x+1+r)%r,o=e.x+1===r?t.wrap+1:t.wrap,l={};return l[new s(t.overscaledZ,i,e.z,n,e.y).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y).key]={backfilled:!1},e.y>0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+1<r&&(l[new s(t.overscaledZ,i,e.z,n,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y+1).key]={backfilled:!1}),l},e.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\\\",this.dispatcher.send(\\\"removeDEMTile\\\",{uid:t.uid,source:this.id},void 0,t.workerID)},e}(t(\\\"./raster_tile_source\\\"));e.exports=l},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./raster_tile_source\\\":108,\\\"./tile_id\\\":114}],107:[function(t,e,r){var n=t(\\\"../data/dem_data\\\").DEMData,i=function(){this.loading={},this.loaded={}};i.prototype.loadTile=function(t,e){var r=t.source,i=t.uid;this.loading[r]||(this.loading[r]={});var a=new n(i);this.loading[r][i]=a,a.loadFromImage(t.rawImageData),delete this.loading[r][i],this.loaded[r]=this.loaded[r]||{},this.loaded[r][i]=a,e(null,a)},i.prototype.removeTile=function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},e.exports=i},{\\\"../data/dem_data\\\":52}],108:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./load_tilejson\\\"),s=t(\\\"../util/mapbox\\\").normalizeTileURL,l=t(\\\"./tile_bounds\\\"),c=t(\\\"../render/texture\\\"),u=function(t){function e(e,r,i,a){t.call(this),this.id=e,this.dispatcher=i,this.setEventedParent(a),this.type=\\\"raster\\\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\\\"xyz\\\",this.tileSize=512,this._loaded=!1,this._options=n.extend({},r),n.extend(this,n.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"]))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),o(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new l(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return n.extend({},this._options)},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.loadTile=function(t,e){var r=this,n=s(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=i.getImage(this.map._transformRequest(n,i.ResourceType.Tile),function(n,i){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(n)t.state=\\\"errored\\\",e(n);else if(i){r.map._refreshExpiredTiles&&t.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=r.map.painter.context,o=a.gl;t.texture=r.map.painter.getTileTexture(i.width),t.texture?(t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,i)):(t.texture=new c(a,i,o.RGBA),t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),o.generateMipmap(o.TEXTURE_2D),t.state=\\\"loaded\\\",e(null)}})},e.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},e.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},e.prototype.hasTransition=function(){return!1},e}(a);e.exports=u},{\\\"../render/texture\\\":93,\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],109:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/window\\\"),o=!1,s=null;e.exports.evented=new i,e.exports.registerForPluginAvailability=function(t){return s?t({pluginBlobURL:s,errorCallback:e.exports.errorCallback}):e.exports.evented.once(\\\"pluginAvailable\\\",t),t},e.exports.createBlobURL=function(t){return a.URL.createObjectURL(new a.Blob([t.data],{type:\\\"text/javascript\\\"}))},e.exports.clearRTLTextPlugin=function(){o=!1,s=null},e.exports.setRTLTextPlugin=function(t,r){if(o)throw new Error(\\\"setRTLTextPlugin cannot be called multiple times.\\\");o=!0,e.exports.errorCallback=r,n.getArrayBuffer({url:t},function(t,n){t?r(t):n&&(s=e.exports.createBlobURL(n),e.exports.evented.fire(\\\"pluginAvailable\\\",{pluginBlobURL:s,errorCallback:r}))})},e.exports.applyArabicShaping=null,e.exports.processBidirectionalText=null},{\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/window\\\":254}],110:[function(t,e,r){var n=t(\\\"../util/util\\\"),i={vector:t(\\\"../source/vector_tile_source\\\"),raster:t(\\\"../source/raster_tile_source\\\"),\\\"raster-dem\\\":t(\\\"../source/raster_dem_tile_source\\\"),geojson:t(\\\"../source/geojson_source\\\"),video:t(\\\"../source/video_source\\\"),image:t(\\\"../source/image_source\\\"),canvas:t(\\\"../source/canvas_source\\\")};r.create=function(t,e,r,a){var o=new i[e.type](t,e,r,a);if(o.id!==t)throw new Error(\\\"Expected Source id to be \\\"+t+\\\" instead of \\\"+o.id);return n.bindAll([\\\"load\\\",\\\"abort\\\",\\\"unload\\\",\\\"serialize\\\",\\\"prepare\\\"],o),o},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\\\"../source/canvas_source\\\":98,\\\"../source/geojson_source\\\":99,\\\"../source/image_source\\\":102,\\\"../source/raster_dem_tile_source\\\":106,\\\"../source/raster_tile_source\\\":108,\\\"../source/vector_tile_source\\\":115,\\\"../source/video_source\\\":117,\\\"../util/util\\\":275}],111:[function(t,e,r){function n(t,e){var r=e.zoomTo(t.canonical.z);return new h((r.column-(t.canonical.x+t.wrap*Math.pow(2,t.canonical.z)))*f,(r.row-t.canonical.y)*f)}function i(t){return\\\"raster\\\"===t||\\\"image\\\"===t||\\\"video\\\"===t}var a=t(\\\"./source\\\").create,o=t(\\\"./tile\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/lru_cache\\\"),c=t(\\\"../geo/coordinate\\\"),u=t(\\\"../util/util\\\"),f=t(\\\"../data/extent\\\"),h=(t(\\\"../gl/context\\\"),t(\\\"@mapbox/point-geometry\\\")),p=t(\\\"../util/browser\\\"),d=t(\\\"./tile_id\\\").OverscaledTileID,g=function(t){function e(e,r,n){var i=this;t.call(this),this.id=e,this.dispatcher=n,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=a(e,r,n,this),this._tiles={},this._cache=new l(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},e.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},e.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\\\"loaded\\\"!==e.state&&\\\"errored\\\"!==e.state)return!1}return!0},e.prototype.getSource=function(){return this._source},e.prototype.pause=function(){this._paused=!0},e.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)}},e.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},e.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},e.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},e.prototype.serialize=function(){return this._source.serialize()},e.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},e.prototype.getIds=function(){var t=this;return Object.keys(this._tiles).map(Number).sort(function(e,r){var n=t._tiles[e].tileID,i=t._tiles[r].tileID,a=new h(n.canonical.x,n.canonical.y).rotate(t.transform.angle),o=new h(i.canonical.x,i.canonical.y).rotate(t.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})},e.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},e.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},e.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},e.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._resetCache(),this._tiles)this._reloadTile(t,\\\"reloading\\\")},e.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)))},e.prototype._tileLoaded=function(t,e,r,n){if(n)return t.state=\\\"errored\\\",void(404!==n.status?this._source.fire(\\\"error\\\",{tile:t,error:n}):this.update(this.transform));t.timeAdded=p.now(),\\\"expired\\\"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),\\\"raster-dem\\\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._source.fire(\\\"data\\\",{dataType:\\\"source\\\",tile:t,coord:t.tileID}),this.map&&(this.map.painter.tileExtentVAO.vao=null)},e.prototype._backfillDEM=function(t){function e(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;n<r.length;n++){var i=r[n];if(t.neighboringTiles&&t.neighboringTiles[i]){var a=this.getTileByID(i);e(t,a),e(a,t)}}},e.prototype.getTile=function(t){return this.getTileByID(t.key)},e.prototype.getTileByID=function(t){return this._tiles[t]},e.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},e.prototype._findLoadedChildren=function(t,e,r){var n=this,i=!1;for(var a in n._tiles){var o=n._tiles[a];if(!(r[a]||!o.hasData()||o.tileID.overscaledZ<=t.overscaledZ||o.tileID.overscaledZ>e)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\\\"number\\\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),c=this._updateRetainedTiles(n,o),f={};if(i(this._source.type))for(var h=Object.keys(c),g=0;g<h.length;g++){var m=h[g],v=c[m],y=r._tiles[m];if(y&&(void 0===y.fadeEndTime||y.fadeEndTime>=p.now())){r._findLoadedChildren(v,l,c)&&(c[m]=v);var x=r.findLoadedParent(v,s,f);x&&r._addTile(x.tileID)}}for(a in f)c[a]||(r._coveredTiles[a]=!0);for(a in f)c[a]=f[a];for(var b=u.keysDifference(this._tiles,c),_=0;_<b.length;_++)r._removeTile(b[_])}},e.prototype._updateRetainedTiles=function(t,r){for(var n=this,i={},a={},o=Math.max(r-e.maxOverzooming,this._source.minzoom),s=Math.max(r+e.maxUnderzooming,this._source.minzoom),l=0;l<t.length;l++){var c=t[l],u=n._addTile(c),f=!1;if(u.hasData())i[c.key]=c;else{f=u.wasRequested(),i[c.key]=c;var h=!0;if(r+1>n._source.maxzoom){var p=c.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:h=!1}else{n._findLoadedChildren(c,s,i);for(var g=c.children(n._source.maxzoom),m=0;m<g.length;m++)if(!i[g[m].key]){h=!1;break}}if(!h)for(var v=c.overscaledZ-1;v>=o;--v){var y=c.scaledTo(v);if(a[y.key])break;if(a[y.key]=!0,!(u=n.getTile(y))&&f&&(u=n._addTile(y)),u&&(i[y.key]=y,f=u.wasRequested(),u.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(\\\"dataloading\\\",{tile:e,coord:e.tileID,dataType:\\\"source\\\"}),e):null},e.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))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u<t.length;u++){var h=t[u];i=Math.min(i,h.column),a=Math.min(a,h.row),o=Math.max(o,h.column),s=Math.max(s,h.row)}for(var p=0;p<r.length;p++){var d=this._tiles[r[p]],g=d.tileID,m=[n(g,new c(i,a,l)),n(g,new c(o,s,l))];if(m[0].x<f&&m[0].y<f&&m[1].x>=0&&m[1].y>=0){for(var v=[],y=0;y<t.length;y++)v.push(n(g,t[y]));e.push({tile:d,tileID:g,queryGeometry:[v],scale:Math.pow(2,this.transform.zoom-d.tileID.overscaledZ)})}}return e},e.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},e.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(i(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/context\\\":66,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/lru_cache\\\":266,\\\"../util/util\\\":275,\\\"./source\\\":110,\\\"./tile\\\":112,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],112:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../data/bucket\\\").deserialize,a=(t(\\\"../data/feature_index\\\"),t(\\\"@mapbox/vector-tile\\\")),o=t(\\\"pbf\\\"),s=t(\\\"../util/vectortile_to_geojson\\\"),l=t(\\\"../style-spec/feature_filter\\\"),c=(t(\\\"../symbol/collision_index\\\"),t(\\\"../data/bucket/symbol_bucket\\\")),u=t(\\\"../data/array_types\\\"),f=u.RasterBoundsArray,h=u.CollisionBoxArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/extent\\\"),g=t(\\\"@mapbox/point-geometry\\\"),m=t(\\\"../render/texture\\\"),v=t(\\\"../data/segment\\\").SegmentVector,y=t(\\\"../data/index_array_type\\\").TriangleIndexArray,x=t(\\\"../util/browser\\\"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state=\\\"loading\\\"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<x.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},b.prototype.wasRequested=function(){return\\\"errored\\\"===this.state||\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state},b.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\\\"loaded\\\",t){if(t.rawTileData&&(this.rawTileData=t.rawTileData),this.collisionBoxArray=t.collisionBoxArray,this.featureIndex=t.featureIndex,this.featureIndex.rawTileData=this.rawTileData,this.buckets=i(t.buckets,e.style),r)for(var n in this.buckets){var a=this.buckets[n];a instanceof c&&(a.justReloaded=!0)}t.iconAtlasImage&&(this.iconAtlasImage=t.iconAtlasImage),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new h},b.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.collisionBoxArray=null,this.featureIndex=null,this.state=\\\"unloaded\\\"},b.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\\\"unloaded\\\"},b.prototype.getBucket=function(t){return this.buckets[t.id]},b.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new m(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new m(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},b.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){if(!this.featureIndex||!this.collisionBoxArray)return{};var s=0,l={};for(var u in t){var f=this.getBucket(t[u]);f&&(s=Math.max(s,t[u].queryRadius(f)),f instanceof c&&void 0!==f.bucketInstanceId&&(l[f.bucketInstanceId]=!0))}return this.featureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,bearing:i,params:n,additionalRadius:s,collisionBoxArray:this.collisionBoxArray,sourceID:a,collisionIndex:o,bucketInstanceIds:l},t)},b.prototype.querySourceFeatures=function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new a.VectorTile(new o(this.rawTileData)).layers);var r=e?e.sourceLayer:\\\"\\\",n=this.vtLayers._geojsonTileLayer||this.vtLayers[r];if(n)for(var i=l(e&&e.filter),c={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},u=0;u<n.length;u++){var f=n.feature(u);if(i({zoom:this.tileID.overscaledZ},f)){var h=new s(f,c.z,c.x,c.y);h.tile=c,t.push(h)}}}},b.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},b.prototype.setMask=function(t,e){if(!n.deepEqual(this.mask,t)&&(this.mask=t,this.clearMask(),!n.deepEqual(t,{0:!0}))){var r=new f,i=new y;this.segments=new v,this.segments.prepareSegment(0,r,i);for(var a=Object.keys(t),o=0;o<a.length;o++){var s=t[a[o]],l=d>>s.z,c=new g(s.x*l,s.y*l),u=new g(c.x+l,c.y+l),h=this.segments.prepareSegment(4,r,i);r.emplaceBack(c.x,c.y,c.x,c.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,u.y,u.x,u.y);var m=h.vertexLength;i.emplaceBack(m,m+1,m+2),i.emplaceBack(m+1,m+2,m+3),h.vertexLength+=4,h.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state||\\\"expired\\\"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(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 i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var o=this.expirationTime-e;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\\\"expired\\\"):this.expiredRequestCount=0}},b.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)},e.exports=b},{\\\"../data/array_types\\\":39,\\\"../data/bucket\\\":40,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../data/feature_index\\\":54,\\\"../data/index_array_type\\\":55,\\\"../data/raster_bounds_attributes\\\":59,\\\"../data/segment\\\":60,\\\"../render/texture\\\":93,\\\"../style-spec/feature_filter\\\":148,\\\"../symbol/collision_index\\\":217,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,pbf:30}],113:[function(t,e,r){var n=t(\\\"../geo/lng_lat_bounds\\\"),i=t(\\\"../util/util\\\").clamp,a=function(t,e,r){this.bounds=n.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};a.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]},a.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},a.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},a.prototype.latY=function(t,e){var r=i(Math.sin(Math.PI/180*t),-.9999,.9999),n=Math.pow(2,e)/(2*Math.PI);return Math.pow(2,e-1)+.5*Math.log((1+r)/(1-r))*-n},e.exports=a},{\\\"../geo/lng_lat_bounds\\\":63,\\\"../util/util\\\":275}],114:[function(t,e,r){function n(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}var i=t(\\\"@mapbox/whoots-js\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"../geo/coordinate\\\"),s=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=n(0,t,e,r)};s.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},s.prototype.url=function(t,e){var r=i.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\\\"\\\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(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}\\\",n).replace(\\\"{bbox-epsg-3857}\\\",r)};var l=function(t,e){this.wrap=t,this.canonical=e,this.key=n(t,e.z,e.x,e.y)},c=function(t,e,r,i,a){this.overscaledZ=t,this.wrap=e,this.canonical=new s(r,+i,+a),this.key=n(e,t,i,a)};c.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new c(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new c(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},c.prototype.isChildOf=function(t){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},c.prototype.children=function(t){if(this.overscaledZ>=t)return[new c(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 c(e,this.wrap,e,r,n),new c(e,this.wrap,e,r+1,n),new c(e,this.wrap,e,r,n+1),new c(e,this.wrap,e,r+1,n+1)]},c.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))},c.prototype.wrapped=function(){return new c(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},c.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},c.prototype.toUnwrapped=function(){return new l(this.wrap,this.canonical)},c.prototype.toString=function(){return this.overscaledZ+\\\"/\\\"+this.canonical.x+\\\"/\\\"+this.canonical.y},c.prototype.toCoordinate=function(){return new o(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},a(\\\"CanonicalTileID\\\",s),a(\\\"OverscaledTileID\\\",c,{omit:[\\\"posMatrix\\\"]}),e.exports={CanonicalTileID:s,OverscaledTileID:c,UnwrappedTileID:l}},{\\\"../geo/coordinate\\\":61,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/whoots-js\\\":12}],115:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"./load_tilejson\\\"),o=t(\\\"../util/mapbox\\\").normalizeTileURL,s=t(\\\"./tile_bounds\\\"),l=t(\\\"../util/ajax\\\").ResourceType,c=t(\\\"../util/browser\\\"),u=function(t){function e(e,r,n,a){if(t.call(this),this.id=e,this.dispatcher=n,this.type=\\\"vector\\\",this.minzoom=0,this.maxzoom=22,this.scheme=\\\"xyz\\\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,i.extend(this,i.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),this._options=i.extend({type:\\\"vector\\\"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error(\\\"vector tile sources must have a tileSize of 512\\\");this.setEventedParent(a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),a(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(i.extend(t,r),r.bounds&&(t.tileBounds=new s(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return i.extend({},this._options)},e.prototype.loadTile=function(t,e){function r(r,n){return t.aborted?e(null):r?e(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var n=t.tileID.overscaleFactor(),i=o(t.tileID.canonical.url(this.tiles,this.scheme),this.url),a={request:this.map._transformRequest(i,l.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*n,type:this.type,source:this.id,pixelRatio:c.devicePixelRatio,overscaling:n,showCollisionBoxes:this.map.showCollisionBoxes};a.request.collectResourceTiming=this._collectResourceTiming,void 0===t.workerID||\\\"expired\\\"===t.state?t.workerID=this.dispatcher.send(\\\"loadTile\\\",a,r.bind(this)):\\\"loading\\\"===t.state?t.reloadCallback=e:this.dispatcher.send(\\\"reloadTile\\\",a,r.bind(this),t.workerID)},e.prototype.abortTile=function(t){this.dispatcher.send(\\\"abortTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=u},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],116:[function(t,e,r){function n(t,e){var r=i.getArrayBuffer(t.request,function(t,r){t?e(t):r&&e(null,{vectorTile:new a.VectorTile(new o(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires})});return function(){r.abort(),e()}}var i=t(\\\"../util/ajax\\\"),a=t(\\\"@mapbox/vector-tile\\\"),o=t(\\\"pbf\\\"),s=t(\\\"./worker_tile\\\"),l=t(\\\"../util/util\\\"),c=t(\\\"../util/performance\\\"),u=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||n,this.loading={},this.loaded={}};u.prototype.loadTile=function(t,e){var r=this,n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,function(o,s){if(delete r.loading[n][i],o||!s)return e(o);var u=s.rawData,f={};s.expires&&(f.expires=s.expires),s.cacheControl&&(f.cacheControl=s.cacheControl);var h={};if(t.request&&t.request.collectResourceTiming){var p=c.getEntriesByName(t.request.url);p&&(h.resourceTiming=JSON.parse(JSON.stringify(p)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,r.layerIndex,r.actor,function(t,r){if(t||!r)return e(t);e(null,l.extend({rawTileData:u.slice(0)},r,f,h))}),r.loaded[n]=r.loaded[n]||{},r.loaded[n][i]=a})},u.prototype.reloadTile=function(t,e){var r=this.loaded[t.source],n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes,\\\"parsing\\\"===a.status?a.reloadCallback=e:\\\"done\\\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,function(t,r){if(this.reloadCallback){var n=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,n)}e(t,r)}.bind(a))}},u.prototype.abortTile=function(t,e){var r=this.loading[t.source],n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},u.prototype.removeTile=function(t,e){var r=this.loaded[t.source],n=t.uid;r&&r[n]&&delete r[n],e()},e.exports=u},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"../util/util\\\":275,\\\"./worker_tile\\\":119,\\\"@mapbox/vector-tile\\\":8,pbf:30}],117:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"./image_source\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.roundZoom=!0,this.type=\\\"video\\\",this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,n.getVideo(e.urls,function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener(\\\"playing\\\",function(){t.map._rerender()}),t.map&&t.video.play(),t._finishLoading())})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){var t=this;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,a.members)),this.boundsVAO||(this.boundsVAO=new o),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 s(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"video\\\",urls:this.urls,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this.video&&!this.video.paused},e}(i);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"./image_source\\\":102}],118:[function(t,e,r){var n=t(\\\"../util/actor\\\"),i=t(\\\"../style/style_layer_index\\\"),a=t(\\\"./vector_tile_worker_source\\\"),o=t(\\\"./raster_dem_tile_worker_source\\\"),s=t(\\\"./geojson_worker_source\\\"),l=t(\\\"./rtl_text_plugin\\\"),c=function(t){var e=this;this.self=t,this.actor=new n(t,this),this.layerIndexes={},this.workerSourceTypes={vector:a,geojson:s},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,r){if(e.workerSourceTypes[t])throw new Error('Worker source with name \\\"'+t+'\\\" already registered.');e.workerSourceTypes[t]=r},this.self.registerRTLTextPlugin=function(t){if(l.applyArabicShaping||l.processBidirectionalText)throw new Error(\\\"RTL text plugin already registered.\\\");l.applyArabicShaping=t.applyArabicShaping,l.processBidirectionalText=t.processBidirectionalText}};c.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},c.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},c.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type).loadTile(e,r)},c.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t).loadTile(e,r)},c.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type).reloadTile(e,r)},c.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type).abortTile(e,r)},c.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type).removeTile(e,r)},c.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t).removeTile(e)},c.prototype.removeSource=function(t,e,r){var n=this.getWorkerSource(t,e.type);void 0!==n.removeSource?n.removeSource(e,r):r()},c.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t)}},c.prototype.loadRTLTextPlugin=function(t,e,r){try{l.applyArabicShaping||l.processBidirectionalText||(this.self.importScripts(e),l.applyArabicShaping&&l.processBidirectionalText||r(new Error(\\\"RTL Text Plugin failed to import scripts from \\\"+e)))}catch(t){r(t)}},c.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new i),e},c.prototype.getWorkerSource=function(t,e){var r=this;if(this.workerSources[t]||(this.workerSources[t]={}),!this.workerSources[t][e]){var n={send:function(e,n,i){r.actor.send(e,n,i,t)}};this.workerSources[t][e]=new this.workerSourceTypes[e](n,this.getLayerIndex(t))}return this.workerSources[t][e]},c.prototype.getDEMWorkerSource=function(t){return this.demWorkerSources[t]||(this.demWorkerSources[t]=new o),this.demWorkerSources[t]},e.exports=function(t){return new c(t)}},{\\\"../style/style_layer_index\\\":210,\\\"../util/actor\\\":250,\\\"./geojson_worker_source\\\":100,\\\"./raster_dem_tile_worker_source\\\":107,\\\"./rtl_text_plugin\\\":109,\\\"./vector_tile_worker_source\\\":116}],119:[function(t,e,r){function n(t,e){for(var r=new h(e),n=0,i=t;n<i.length;n+=1)i[n].recalculate(r)}var i=t(\\\"../data/feature_index\\\"),a=t(\\\"../symbol/symbol_layout\\\").performSymbolLayout,o=t(\\\"../data/array_types\\\").CollisionBoxArray,s=t(\\\"../util/dictionary_coder\\\"),l=t(\\\"../data/bucket/symbol_bucket\\\"),c=t(\\\"../util/util\\\"),u=t(\\\"../render/image_atlas\\\").makeImageAtlas,f=t(\\\"../render/glyph_atlas\\\").makeGlyphAtlas,h=t(\\\"../style/evaluation_parameters\\\"),p=t(\\\"./tile_id\\\").OverscaledTileID,d=function(t){this.tileID=new p(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming};d.prototype.parse=function(t,e,r,h){function p(){if(L)return h(L);if(z&&P){var t=f(z),e=u(P);for(var r in v){var i=v[r];i instanceof l&&(n(i.layers,this.zoom),a(i,z,t.positions,P,e.positions,this.showCollisionBoxes))}this.status=\\\"done\\\",h(null,{buckets:c.values(v).filter(function(t){return!t.isEmpty()}),featureIndex:m,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,iconAtlasImage:e.image})}}var d=this;this.status=\\\"parsing\\\",this.data=t,this.collisionBoxArray=new o;var g=new s(Object.keys(t.layers).sort()),m=new i(this.tileID,this.overscaling);m.bucketLayerIDs=[];var v={},y={featureIndex:m,iconDependencies:{},glyphDependencies:{}},x=e.familiesBySource[this.source];for(var b in x){var _=t.layers[b];if(_){1===_.version&&c.warnOnce('Vector tile source \\\"'+d.source+'\\\" layer \\\"'+b+'\\\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=g.encode(b),k=[],M=0;M<_.length;M++){var A=_.feature(M);k.push({feature:A,index:M,sourceLayerIndex:w})}for(var T=0,S=x[b];T<S.length;T+=1){var C=S[T],E=C[0];E.minzoom&&d.zoom<Math.floor(E.minzoom)||E.maxzoom&&d.zoom>=E.maxzoom||\\\"none\\\"===E.visibility||(n(C,d.zoom),(v[E.id]=E.createBucket({index:m.bucketLayerIDs.length,layers:C,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(k,y),m.bucketLayerIDs.push(C.map(function(t){return t.id})))}}}var L,z,P,D=c.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(D).length?r.send(\\\"getGlyphs\\\",{uid:this.uid,stacks:D},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var O=Object.keys(y.iconDependencies);O.length?r.send(\\\"getImages\\\",{icons:O},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{\\\"../data/array_types\\\":39,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/feature_index\\\":54,\\\"../render/glyph_atlas\\\":85,\\\"../render/image_atlas\\\":87,\\\"../style/evaluation_parameters\\\":182,\\\"../symbol/symbol_layout\\\":227,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"./tile_id\\\":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)\\\"ref\\\"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t(\\\"./util/ref_properties\\\");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var i=0;i<t.length;i++)\\\"ref\\\"in t[i]&&(t[i]=n(t[i],e[t[i].ref]));return t}},{\\\"./util/ref_properties\\\":159}],121:[function(t,e,r){function n(t,e,r){r.push({command:f.addSource,args:[t,e[t]]})}function i(t,e,r){e.push({command:f.removeSource,args:[t]}),r[t]=!0}function a(t,e,r,a){i(t,r,a),n(t,e,r)}function o(t,e,r){var n;for(n in t[r])if(t[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!u(t[r][n],e[r][n]))return!1;for(n in e[r])if(e[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!u(t[r][n],e[r][n]))return!1;return!0}function s(t,e,r,n,i,a){var o;for(o in t=t||{},e=e||{},t)t.hasOwnProperty(o)&&(u(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}));for(o in e)e.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(u(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}))}function l(t){return t.id}function c(t,e){return t[e.id]=e,t}var u=t(\\\"./util/deep_equal\\\"),f={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\\\"};e.exports=function(t,e){if(!t)return[{command:f.setStyle,args:[e]}];var r=[];try{if(!u(t.version,e.version))return[{command:f.setStyle,args:[e]}];u(t.center,e.center)||r.push({command:f.setCenter,args:[e.center]}),u(t.zoom,e.zoom)||r.push({command:f.setZoom,args:[e.zoom]}),u(t.bearing,e.bearing)||r.push({command:f.setBearing,args:[e.bearing]}),u(t.pitch,e.pitch)||r.push({command:f.setPitch,args:[e.pitch]}),u(t.sprite,e.sprite)||r.push({command:f.setSprite,args:[e.sprite]}),u(t.glyphs,e.glyphs)||r.push({command:f.setGlyphs,args:[e.glyphs]}),u(t.transition,e.transition)||r.push({command:f.setTransition,args:[e.transition]}),u(t.light,e.light)||r.push({command:f.setLight,args:[e.light]});var h={},p=[];!function(t,e,r,s){var l;for(l in t=t||{},e=e||{},t)t.hasOwnProperty(l)&&(e.hasOwnProperty(l)||i(l,r,s));for(l in e)e.hasOwnProperty(l)&&(t.hasOwnProperty(l)?u(t[l],e[l])||(\\\"geojson\\\"===t[l].type&&\\\"geojson\\\"===e[l].type&&o(t,e,l)?r.push({command:f.setGeoJSONSourceData,args:[l,e[l].data]}):a(l,e,r,s)):n(l,e,r))}(t.sources,e.sources,p,h);var d=[];t.layers&&t.layers.forEach(function(t){h[t.source]?r.push({command:f.removeLayer,args:[t.id]}):d.push(t)}),r=r.concat(p),function(t,e,r){t=t||[],e=e||[];var n,i,a,o,h,p,d,g=t.map(l),m=e.map(l),v=t.reduce(c,{}),y=e.reduce(c,{}),x=g.slice(),b=Object.create(null);for(n=0,i=0;n<g.length;n++)a=g[n],y.hasOwnProperty(a)?i++:(r.push({command:f.removeLayer,args:[a]}),x.splice(x.indexOf(a,i),1));for(n=0,i=0;n<m.length;n++)a=m[m.length-1-n],x[x.length-1-n]!==a&&(v.hasOwnProperty(a)?(r.push({command:f.removeLayer,args:[a]}),x.splice(x.lastIndexOf(a,x.length-i),1)):i++,p=x[x.length-n],r.push({command:f.addLayer,args:[y[a],p]}),x.splice(x.length-n,0,a),b[a]=!0);for(n=0;n<m.length;n++)if(o=v[a=m[n]],h=y[a],!b[a]&&!u(o,h))if(u(o.source,h.source)&&u(o[\\\"source-layer\\\"],h[\\\"source-layer\\\"])&&u(o.type,h.type)){for(d in s(o.layout,h.layout,r,a,null,f.setLayoutProperty),s(o.paint,h.paint,r,a,null,f.setPaintProperty),u(o.filter,h.filter)||r.push({command:f.setFilter,args:[a,h.filter]}),u(o.minzoom,h.minzoom)&&u(o.maxzoom,h.maxzoom)||r.push({command:f.setLayerZoomRange,args:[a,h.minzoom,h.maxzoom]}),o)o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],h[d],r,a,d.slice(6),f.setPaintProperty):u(o[d],h[d])||r.push({command:f.setLayerProperty,args:[a,d,h[d]]}));for(d in h)h.hasOwnProperty(d)&&!o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],h[d],r,a,d.slice(6),f.setPaintProperty):u(o[d],h[d])||r.push({command:f.setLayerProperty,args:[a,d,h[d]]}))}else r.push({command:f.removeLayer,args:[a]}),p=x[x.lastIndexOf(a)+1],r.push({command:f.addLayer,args:[h,p]})}(d,e.layers,r)}catch(t){console.warn(\\\"Unable to compute style diff:\\\",t),r=[{command:f.setStyle,args:[e]}]}return r},e.exports.operations=f},{\\\"./util/deep_equal\\\":155}],122:[function(t,e,r){e.exports=function(t,e,r){this.message=(t?t+\\\": \\\":\\\"\\\")+r,null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}},{}],123:[function(t,e,r){var n=t(\\\"./types\\\").toString,i=t(\\\"./parsing_context\\\"),a=(t(\\\"./evaluation_context\\\"),function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n});a.prototype.evaluate=function(t){return this._evaluate(t,this.args)},a.prototype.eachChild=function(t){this.args.forEach(t)},a.prototype.possibleOutputs=function(){return[void 0]},a.parse=function(t,e){var r=t[0],o=a.definitions[r];if(!o)return e.error('Unknown expression \\\"'+r+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0);for(var s=Array.isArray(o)?o[0]:o.type,l=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,c=l.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),u=[],f=1;f<t.length;f++){var h=t[f],p=void 0;if(1===c.length){var d=c[0][0];p=Array.isArray(d)?d[f-1]:d.type}var g=e.parse(h,1+u.length,p);if(!g)return null;u.push(g)}for(var m=null,v=0,y=c;v<y.length;v+=1){var x=y[v],b=x[0],_=x[1];if(m=new i(e.registry,e.path,null,e.scope),Array.isArray(b)&&b.length!==u.length)m.error(\\\"Expected \\\"+b.length+\\\" arguments, but found \\\"+u.length+\\\" instead.\\\");else{for(var w=0;w<u.length;w++){var k=Array.isArray(b)?b[w]:b.type,M=u[w];m.concat(w+1).checkSubtype(k,M.type)}if(0===m.errors.length)return new a(r,s,_,u)}}if(1===c.length)e.errors.push.apply(e.errors,m.errors);else{var A=(c.length?c:l).map(function(t){return function(t){return Array.isArray(t)?\\\"(\\\"+t.map(n).join(\\\", \\\")+\\\")\\\":\\\"(\\\"+n(t.type)+\\\"...)\\\"}(t[0])}).join(\\\" | \\\"),T=u.map(function(t){return n(t.type)}).join(\\\", \\\");e.error(\\\"Expected arguments of type \\\"+A+\\\", but found (\\\"+T+\\\") instead.\\\")}return null},a.register=function(t,e){for(var r in a.definitions=e,e)t[r]=a},e.exports={CompoundExpression:a,varargs:function(t){return{type:t}}}},{\\\"./evaluation_context\\\":138,\\\"./parsing_context\\\":141,\\\"./types\\\":146}],124:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.toString,a=n.array,o=n.ValueType,s=n.StringType,l=n.NumberType,c=n.BooleanType,u=n.checkSubtype,f=t(\\\"../values\\\").typeOf,h=t(\\\"../runtime_error\\\"),p={string:s,number:l,boolean:c},d=function(t,e){this.type=t,this.input=e};d.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\\\"Expected 1, 2, or 3 arguments, but found \\\"+(t.length-1)+\\\" instead.\\\");var r,n;if(t.length>2){var i=t[1];if(\\\"string\\\"!=typeof i||!(i in p))return e.error('The item type argument of \\\"array\\\" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if(\\\"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);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(u(this.type,f(e)))throw new h(\\\"Expected value to be of type \\\"+i(this.type)+\\\", but found \\\"+i(f(e))+\\\" instead.\\\");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],125:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,c=t(\\\"../runtime_error\\\"),u=t(\\\"../types\\\"),f=u.checkSubtype,h=u.toString,p=t(\\\"../values\\\").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=d[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new g(n,i)},g.prototype.evaluate=function(t){for(var e=this,r=0;r<this.args.length;r++){var n=e.args[r].evaluate(t);if(!f(e.type,p(n)))return n;if(r===e.args.length-1)throw new c(\\\"Expected value to be of type \\\"+h(e.type)+\\\", but found \\\"+h(p(n))+\\\" instead.\\\")}return null},g.prototype.eachChild=function(t){this.args.forEach(t)},g.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=g},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],126:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.array,a=n.ValueType,o=n.NumberType,s=t(\\\"../runtime_error\\\"),l=function(t,e,r){this.type=t,this.index=e,this.input=r};l.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,o),n=e.parse(t[2],2,i(e.expectedType||a));if(!r||!n)return null;var s=n.type;return new l(s.itemType,r,n)},l.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0||e>=r.length)throw new s(\\\"Array index out of bounds: \\\"+e+\\\" > \\\"+r.length+\\\".\\\");if(e!==Math.floor(e))throw new s(\\\"Array index must be an integer, but found \\\"+e+\\\" instead.\\\");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{\\\"../runtime_error\\\":143,\\\"../types\\\":146}],127:[function(t,e,r){var n=t(\\\"../types\\\").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.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 a=[],o=1;o<t.length-1;o+=2){var s=e.parse(t[o],o,n);if(!s)return null;var l=e.parse(t[o+1],o+1,r);if(!l)return null;a.push([s,l]),r=r||l.type}var c=e.parse(t[t.length-1],t.length-1,r);return c?new i(r,a,c):null},i.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},i.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../types\\\":146}],128:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.checkSubtype,a=n.ValueType,o=function(t,e){this.type=t,this.args=e};o.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 s=[],l=0,c=t.slice(1);l<c.length;l+=1){var u=c[l],f=e.parse(u,1+s.length,r,void 0,{omitTypeAnnotations:!0});if(!f)return null;r=r||f.type,s.push(f)}return n&&s.some(function(t){return i(n,t.type)})?new o(a,s):new o(r,s)},o.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},o.prototype.eachChild=function(t){this.args.forEach(t)},o.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=o},{\\\"../types\\\":146}],129:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ColorType,a=n.ValueType,o=n.NumberType,s=t(\\\"../values\\\"),l=s.Color,c=s.validateRGBA,u=t(\\\"../runtime_error\\\"),f={\\\"to-number\\\":o,\\\"to-color\\\":i},h=function(t,e){this.type=t,this.args=e};h.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=f[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new h(n,i)},h.prototype.evaluate=function(t){if(\\\"color\\\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\\\"string\\\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}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.\\\":c(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new u(r||\\\"Could not parse color from value '\\\"+(\\\"string\\\"==typeof e?e:JSON.stringify(e))+\\\"'\\\")}for(var o=null,s=0,f=this.args;s<f.length;s+=1)if(null!==(o=f[s].evaluate(t))){var h=Number(o);if(!isNaN(h))return h}throw new u(\\\"Could not convert \\\"+JSON.stringify(o)+\\\" to number.\\\")},h.prototype.eachChild=function(t){this.args.forEach(t)},h.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=h},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],130:[function(t,e,r){function n(t){return\\\"string\\\"===t.kind||\\\"number\\\"===t.kind||\\\"boolean\\\"===t.kind||\\\"null\\\"===t.kind}function i(t){return function(){function e(t,e){this.type=s,this.lhs=t,this.rhs=e}return e.parse=function(t,r){if(3!==t.length)return r.error(\\\"Expected two arguments.\\\");var i=r.parse(t[1],1,o);if(!i)return null;var a=r.parse(t[2],2,o);return a?n(i.type)||n(a.type)?i.type.kind!==a.type.kind&&\\\"value\\\"!==i.type.kind&&\\\"value\\\"!==a.type.kind?r.error(\\\"Cannot compare \\\"+l(i.type)+\\\" and \\\"+l(a.type)+\\\".\\\"):new e(i,a):r.error(\\\"Expected at least one argument to be a string, number, boolean, or null, but found (\\\"+l(i.type)+\\\", \\\"+l(a.type)+\\\") instead.\\\"):null},e.prototype.evaluate=function(e){return t(this.lhs.evaluate(e),this.rhs.evaluate(e))},e.prototype.eachChild=function(t){t(this.lhs),t(this.rhs)},e.prototype.possibleOutputs=function(){return[!0,!1]},e}()}var a=t(\\\"../types\\\"),o=a.ValueType,s=a.BooleanType,l=t(\\\"../types\\\").toString;e.exports={Equals:i(function(t,e){return t===e}),NotEquals:i(function(t,e){return t!==e})}},{\\\"../types\\\":146}],131:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=M(r,n,i,o);if(s)throw new C(s);return new k(r/255*o,n/255*o,i/255*o,o)}function i(t,e){return t in e}function a(t,e){var r=e[t];return void 0===r?null:r}function o(t,e){return e[0].evaluate(t).length}function s(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function l(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var f=t(\\\"../types\\\"),h=f.NumberType,p=f.StringType,d=f.BooleanType,g=f.ColorType,m=f.ObjectType,v=f.ValueType,y=f.ErrorType,x=f.array,b=f.toString,_=t(\\\"../values\\\"),w=_.typeOf,k=_.Color,M=_.validateRGBA,A=t(\\\"../compound_expression\\\"),T=A.CompoundExpression,S=A.varargs,C=t(\\\"../runtime_error\\\"),E=t(\\\"./let\\\"),L=t(\\\"./var\\\"),z=t(\\\"./literal\\\"),P=t(\\\"./assertion\\\"),D=t(\\\"./array\\\"),O=t(\\\"./coercion\\\"),I=t(\\\"./at\\\"),R=t(\\\"./match\\\"),B=t(\\\"./case\\\"),F=t(\\\"./step\\\"),N=t(\\\"./interpolate\\\"),j=t(\\\"./coalesce\\\"),V=t(\\\"./equals\\\"),U={\\\"==\\\":V.Equals,\\\"!=\\\":V.NotEquals,array:D,at:I,boolean:P,case:B,coalesce:j,interpolate:N,let:E,literal:z,match:R,number:P,object:P,step:F,string:P,\\\"to-color\\\":O,\\\"to-number\\\":O,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new C(r.evaluate(t))}],typeof:[p,[v],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],\\\"to-string\\\":[p,[v],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||\\\"string\\\"===n||\\\"number\\\"===n||\\\"boolean\\\"===n?String(r):r instanceof k?r.toString():JSON.stringify(r)}],\\\"to-boolean\\\":[d,[v],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\\\"to-rgba\\\":[x(h,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[h,h,h],n],rgba:[g,[h,h,h,h],n],length:{type:h,overloads:[[[p],o],[[x(v)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:v,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[m,[],function(t){return t.properties()}],\\\"geometry-type\\\":[p,[],function(t){return t.geometryType()}],id:[v,[],function(t){return t.id()}],zoom:[h,[],function(t){return t.globals.zoom}],\\\"heatmap-density\\\":[h,[],function(t){return t.globals.heatmapDensity||0}],\\\"+\\\":[h,S(h),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\\\"*\\\":[h,S(h),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\\\"-\\\":{type:h,overloads:[[[h,h],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[h],function(t,e){return-e[0].evaluate(t)}]]},\\\"/\\\":[h,[h,h],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\\\"%\\\":[h,[h,h],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[h,[],function(){return Math.LN2}],pi:[h,[],function(){return Math.PI}],e:[h,[],function(){return Math.E}],\\\"^\\\":[h,[h,h],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[h,[h],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[h,[h],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[h,[h],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[h,[h],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[h,[h],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[h,[h],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[h,[h],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[h,[h],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[h,[h],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[h,[h],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[h,S(h),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[h,S(h),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],\\\"filter-==\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\\\"filter-id-==\\\":[d,[v],function(t,e){var r=e[0];return t.id()===r.value}],\\\"filter-type-==\\\":[d,[p],function(t,e){var r=e[0];return t.geometryType()===r.value}],\\\"filter-<\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\\\"filter-id-<\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\\\"filter->\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\\\"filter-id->\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\\\"filter-<=\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\\\"filter-id-<=\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\\\"filter->=\\\":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\\\"filter-id->=\\\":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\\\"filter-has\\\":[d,[v],function(t,e){return e[0].value in t.properties()}],\\\"filter-has-id\\\":[d,[],function(t){return null!==t.id()}],\\\"filter-type-in\\\":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\\\"filter-id-in\\\":[d,[x(v)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\\\"filter-in-small\\\":[d,[p,x(v)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\\\"filter-in-large\\\":[d,[p,x(v)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\\\">\\\":{type:d,overloads:[[[h,h],l],[[p,p],l]]},\\\"<\\\":{type:d,overloads:[[[h,h],s],[[p,p],s]]},\\\">=\\\":{type:d,overloads:[[[h,h],u],[[p,p],u]]},\\\"<=\\\":{type:d,overloads:[[[h,h],c],[[p,p],c]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),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:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\\\"!\\\":[d,[d],function(t,e){return!e[0].evaluate(t)}],upcase:[p,[p],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[p,[p],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[p,S(p),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\\\"\\\")}]}),e.exports=U},{\\\"../compound_expression\\\":123,\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147,\\\"./array\\\":124,\\\"./assertion\\\":125,\\\"./at\\\":126,\\\"./case\\\":127,\\\"./coalesce\\\":128,\\\"./coercion\\\":129,\\\"./equals\\\":130,\\\"./interpolate\\\":132,\\\"./let\\\":133,\\\"./literal\\\":134,\\\"./match\\\":135,\\\"./step\\\":136,\\\"./var\\\":137}],132:[function(t,e,r){function n(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}var i=t(\\\"@mapbox/unitbezier\\\"),a=t(\\\"../../util/interpolate\\\"),o=t(\\\"../types\\\"),s=o.toString,l=o.NumberType,c=t(\\\"../stops\\\").findStopLessThanOrEqualTo,u=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};u.interpolationFactor=function(t,e,r,a){var o=0;if(\\\"exponential\\\"===t.name)o=n(e,t.base,r,a);else if(\\\"linear\\\"===t.name)o=n(e,1,r,a);else if(\\\"cubic-bezier\\\"===t.name){var s=t.controlPoints;o=new i(s[0],s[1],s[2],s[3]).solve(n(e,1,r,a))}return o},u.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\\\"Expected an interpolation type expression.\\\",1);if(\\\"linear\\\"===r[0])r={name:\\\"linear\\\"};else if(\\\"exponential\\\"===r[0]){var a=r[1];if(\\\"number\\\"!=typeof a)return e.error(\\\"Exponential interpolation requires a numeric base.\\\",1,1);r={name:\\\"exponential\\\",base:a}}else{if(\\\"cubic-bezier\\\"!==r[0])return e.error(\\\"Unknown interpolation type \\\"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.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);r={name:\\\"cubic-bezier\\\",controlPoints:o}}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(!(n=e.parse(n,2,l)))return null;var c=[],f=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(f=e.expectedType);for(var h=0;h<i.length;h+=2){var p=i[h],d=i[h+1],g=h+3,m=h+4;if(\\\"number\\\"!=typeof p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(c.length&&c[c.length-1][0]>=p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be arranged with input values in strictly ascending order.',g);var v=e.parse(d,m,f);if(!v)return null;f=f||v.type,c.push([p,v])}return\\\"number\\\"===f.kind||\\\"color\\\"===f.kind||\\\"array\\\"===f.kind&&\\\"number\\\"===f.itemType.kind&&\\\"number\\\"==typeof f.N?new u(f,r,n,c):e.error(\\\"Type \\\"+s(f)+\\\" is not interpolatable.\\\")},u.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 i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=c(e,n),s=e[o],l=e[o+1],f=u.interpolationFactor(this.interpolation,n,s,l),h=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](h,p,f)},u.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},u.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=u},{\\\"../../util/interpolate\\\":158,\\\"../stops\\\":145,\\\"../types\\\":146,\\\"@mapbox/unitbezier\\\":7}],133:[function(t,e,r){var n=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};n.prototype.evaluate=function(t){t.pushScope(this.bindings);var e=this.result.evaluate(t);return t.popScope(),e},n.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},n.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=[],i=1;i<t.length-1;i+=2){var a=t[i];if(\\\"string\\\"!=typeof a)return e.error(\\\"Expected string, but found \\\"+typeof a+\\\" instead.\\\",i);if(/[^a-zA-Z0-9_]/.test(a))return e.error(\\\"Variable names must contain only alphanumeric characters or '_'.\\\",i);var o=e.parse(t[i+1],i+1);if(!o)return null;r.push([a,o])}var s=e.parse(t[t.length-1],t.length-1,void 0,r);return s?new n(r,s):null},n.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},e.exports=n},{}],134:[function(t,e,r){var n=t(\\\"../values\\\"),i=n.isValue,a=n.typeOf,o=function(t,e){this.type=t,this.value=e};o.parse=function(t,e){if(2!==t.length)return e.error(\\\"'literal' expression requires exactly one argument, but found \\\"+(t.length-1)+\\\" instead.\\\");if(!i(t[1]))return e.error(\\\"invalid value\\\");var r=t[1],n=a(r),s=e.expectedType;return\\\"array\\\"!==n.kind||0!==n.N||!s||\\\"array\\\"!==s.kind||\\\"number\\\"==typeof s.N&&0!==s.N||(n=s),new o(n,r)},o.prototype.evaluate=function(){return this.value},o.prototype.eachChild=function(){},o.prototype.possibleOutputs=function(){return[this.value]},e.exports=o},{\\\"../values\\\":147}],135:[function(t,e,r){var n=t(\\\"../values\\\").typeOf,i=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};i.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,a;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(a=e.expectedType);for(var o={},s=[],l=2;l<t.length-1;l+=2){var c=t[l],u=t[l+1];Array.isArray(c)||(c=[c]);var f=e.concat(l);if(0===c.length)return f.error(\\\"Expected at least one branch label.\\\");for(var h=0,p=c;h<p.length;h+=1){var d=p[h];if(\\\"number\\\"!=typeof d&&\\\"string\\\"!=typeof d)return f.error(\\\"Branch labels must be numbers or strings.\\\");if(\\\"number\\\"==typeof d&&Math.abs(d)>Number.MAX_SAFE_INTEGER)return f.error(\\\"Branch labels must be integers no larger than \\\"+Number.MAX_SAFE_INTEGER+\\\".\\\");if(\\\"number\\\"==typeof d&&Math.floor(d)!==d)return f.error(\\\"Numeric branch labels must be integer values.\\\");if(r){if(f.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return f.error(\\\"Branch labels must be unique.\\\");o[String(d)]=s.length}var g=e.parse(u,l,a);if(!g)return null;a=a||g.type,s.push(g)}var m=e.parse(t[1],1,r);if(!m)return null;var v=e.parse(t[t.length-1],t.length-1,a);return v?new i(r,a,m,o,s,v):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../values\\\":147}],136:[function(t,e,r){var n=t(\\\"../types\\\").NumberType,i=t(\\\"../stops\\\").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};a.parse=function(t,e){var r=t[1],i=t.slice(2);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(!(r=e.parse(r,1,n)))return null;var o=[],s=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(s=e.expectedType),i.unshift(-1/0);for(var l=0;l<i.length;l+=2){var c=i[l],u=i[l+1],f=l+1,h=l+2;if(\\\"number\\\"!=typeof c)return e.error('Input/output pairs for \\\"step\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',f);if(o.length&&o[o.length-1][0]>=c)return e.error('Input/output pairs for \\\"step\\\" expressions must be arranged with input values in strictly ascending order.',f);var p=e.parse(u,h,s);if(!p)return null;s=s||p.type,o.push([c,p])}return new a(s,r,o)},a.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[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},a.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=a},{\\\"../stops\\\":145,\\\"../types\\\":146}],137:[function(t,e,r){var n=function(t,e){this.type=e,this.name=t};n.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 n(r,e.scope.get(r).type):e.error('Unknown variable \\\"'+r+'\\\". Make sure \\\"'+r+'\\\" has been bound in an enclosing \\\"let\\\" expression before using it.',1)},n.prototype.evaluate=function(t){return t.scope.get(this.name).evaluate(t)},n.prototype.eachChild=function(){},n.prototype.possibleOutputs=function(){return[void 0]},e.exports=n},{}],138:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./values\\\").Color,a=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],o=function(){this.scope=new n,this._parseColorCache={}};o.prototype.id=function(){return this.feature&&\\\"id\\\"in this.feature?this.feature.id:null},o.prototype.geometryType=function(){return this.feature?\\\"number\\\"==typeof this.feature.type?a[this.feature.type]:this.feature.type:null},o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},o.prototype.pushScope=function(t){this.scope=this.scope.concat(t)},o.prototype.popScope=function(){this.scope=this.scope.parent},o.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=i.parse(t)),e},e.exports=o},{\\\"./scope\\\":144,\\\"./values\\\":147}],139:[function(t,e,r){function n(t){return Array.isArray(t)&&t.length>0&&\\\"string\\\"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:D,enum:P,boolean:O};return\\\"array\\\"===t.type?R(e[t.value]||I,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),\\\"error\\\"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=m.isFeatureConstant(n);if(!a&&!e[\\\"property-function\\\"])return b([new s(\\\"\\\",\\\"property expressions not supported\\\")]);var o=m.isGlobalPropertyConstant(n,[\\\"zoom\\\"]);if(!o&&!1===e[\\\"zoom-function\\\"])return b([new s(\\\"\\\",\\\"zoom expressions not supported\\\")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof f||e instanceof h)&&e.input instanceof u&&\\\"zoom\\\"===e.input.name&&(r=e);return r instanceof s?r:(e.eachChild(function(e){var n=t(e);n instanceof s?r=n:!r&&n?r=new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.'):r&&n&&r!==n&&(r=new s(\\\"\\\",'Only one zoom-based \\\"step\\\" or \\\"interpolate\\\" subexpression may be used in an expression.'))}),r)}(n);return l||o?l instanceof s?b([l]):l instanceof h&&\\\"piecewise-constant\\\"===e.function?b([new s(\\\"\\\",'\\\"interpolate\\\" expressions cannot be used with this property')]):x(l?new M(a?\\\"camera\\\":\\\"composite\\\",t.value,l):new k(a?\\\"constant\\\":\\\"source\\\",t.value)):b([new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.')])}var o=t(\\\"../util/extend\\\"),s=t(\\\"./parsing_error\\\"),l=t(\\\"./parsing_context\\\"),c=t(\\\"./evaluation_context\\\"),u=t(\\\"./compound_expression\\\").CompoundExpression,f=t(\\\"./definitions/step\\\"),h=t(\\\"./definitions/interpolate\\\"),p=t(\\\"./definitions/coalesce\\\"),d=t(\\\"./definitions/let\\\"),g=t(\\\"./definitions\\\"),m=t(\\\"./is_constant\\\"),v=t(\\\"./runtime_error\\\"),y=t(\\\"../util/result\\\"),x=y.success,b=y.error,_=function(t){this.expression=t};_.prototype.evaluate=function(t,e){return this._evaluator||(this._evaluator=new c),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)};var w=function(t){function e(e,r){t.call(this,e),this._warningHistory={},this._defaultValue=function(t){return\\\"color\\\"===t.type&&T(t.default)?new C(0,0,0,0):\\\"color\\\"===t.type?C.parse(t.default)||null:void 0===t.default?null:t.default}(r),\\\"enum\\\"===r.type&&(this._enumValues=r.values)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new c),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null===r||void 0===r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new v(\\\"Expected value to be one of \\\"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\\\", \\\")+\\\", but found \\\"+JSON.stringify(r)+\\\" instead.\\\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\\\"undefined\\\"!=typeof console&&console.warn(t.message)),this._defaultValue}},e}(_),k=function(t,e){this.kind=t,this._styleExpression=e};k.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var M=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof h&&(this._interpolationType=r.interpolation)};M.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},M.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?h.interpolationFactor(this._interpolationType,t,e,r):0};var A=t(\\\"../function\\\"),T=A.isFunction,S=A.createFunction,C=t(\\\"./values\\\").Color,E=function(t,e){this._parameters=t,this._specification=e,o(this,S(this._parameters,this._specification))};E.deserialize=function(t){return new E(t._parameters,t._specification)},E.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}},e.exports={StyleExpression:_,StyleExpressionWithErrorHandling:w,isExpression:n,createExpression:i,createPropertyExpression:a,normalizePropertyExpression:function(t,e){if(T(t))return new E(t,e);if(n(t)){var r=a(t,e);if(\\\"error\\\"===r.result)throw new Error(r.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return r.value}var i=t;return\\\"string\\\"==typeof t&&\\\"color\\\"===e.type&&(i=C.parse(t)),{kind:\\\"constant\\\",evaluate:function(){return i}}},ZoomConstantExpression:k,ZoomDependentExpression:M,StylePropertyFunction:E};var L=t(\\\"./types\\\"),z=L.ColorType,P=L.StringType,D=L.NumberType,O=L.BooleanType,I=L.ValueType,R=L.array},{\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/result\\\":160,\\\"./compound_expression\\\":123,\\\"./definitions\\\":131,\\\"./definitions/coalesce\\\":128,\\\"./definitions/interpolate\\\":132,\\\"./definitions/let\\\":133,\\\"./definitions/step\\\":136,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_context\\\":141,\\\"./parsing_error\\\":142,\\\"./runtime_error\\\":143,\\\"./types\\\":146,\\\"./values\\\":147}],140:[function(t,e,r){var n=t(\\\"./compound_expression\\\").CompoundExpression;e.exports={isFeatureConstant:function t(e){if(e instanceof n){if(\\\"get\\\"===e.name&&1===e.args.length)return!1;if(\\\"has\\\"===e.name&&1===e.args.length)return!1;if(\\\"properties\\\"===e.name||\\\"geometry-type\\\"===e.name||\\\"id\\\"===e.name)return!1;if(/^filter-/.test(e.name))return!1}var r=!0;return e.eachChild(function(e){r&&!t(e)&&(r=!1)}),r},isGlobalPropertyConstant:function t(e,r){if(e instanceof n&&r.indexOf(e.name)>=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{\\\"./compound_expression\\\":123}],141:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./types\\\").checkSubtype,a=t(\\\"./parsing_error\\\"),o=t(\\\"./definitions/literal\\\"),s=t(\\\"./definitions/assertion\\\"),l=t(\\\"./definitions/array\\\"),c=t(\\\"./definitions/coercion\\\"),u=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\"),this.scope=i,this.errors=a,this.expectedType=r};u.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var u=this;if(r&&(u=u.concat(r,n,i)),null!==e&&\\\"string\\\"!=typeof e&&\\\"boolean\\\"!=typeof e&&\\\"number\\\"!=typeof e||(e=[\\\"literal\\\",e]),Array.isArray(e)){if(0===e.length)return u.error('Expected an array with at least one element. If you wanted a literal array, use [\\\"literal\\\", []].');var f=e[0];if(\\\"string\\\"!=typeof f)return u.error(\\\"Expression name must be a string, but found \\\"+typeof f+' instead. If you wanted a literal array, use [\\\"literal\\\", [...]].',0),null;var h=u.registry[f];if(h){var p=h.parse(e,u);if(!p)return null;if(u.expectedType){var d=u.expectedType,g=p.type;if(\\\"string\\\"!==d.kind&&\\\"number\\\"!==d.kind&&\\\"boolean\\\"!==d.kind||\\\"value\\\"!==g.kind)if(\\\"array\\\"===d.kind&&\\\"value\\\"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if(\\\"color\\\"!==d.kind||\\\"value\\\"!==g.kind&&\\\"string\\\"!==g.kind){if(u.checkSubtype(u.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new c(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t(\\\"./compound_expression\\\").CompoundExpression,n=t(\\\"./is_constant\\\"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t(\\\"./definitions/var\\\"))return!1;if(e instanceof r&&\\\"error\\\"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,[\\\"zoom\\\",\\\"heatmap-density\\\"])}(p)){var m=new(t(\\\"./evaluation_context\\\"));try{p=new o(p.type,p.evaluate(m))}catch(e){return u.error(e.message),null}}return p}return u.error('Unknown expression \\\"'+f+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0)}return void 0===e?u.error(\\\"'undefined' value invalid. Use null instead.\\\"):\\\"object\\\"==typeof e?u.error('Bare objects invalid. Use [\\\"literal\\\", {...}] instead.'):u.error(\\\"Expected an array, but found \\\"+typeof e+\\\" instead.\\\")},u.prototype.concat=function(t,e,r){var n=\\\"number\\\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new u(this.registry,n,e||null,i,this.errors)},u.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=\\\"\\\"+this.key+r.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\");this.errors.push(new a(i,t))},u.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=u},{\\\"./compound_expression\\\":123,\\\"./definitions/array\\\":124,\\\"./definitions/assertion\\\":125,\\\"./definitions/coercion\\\":129,\\\"./definitions/literal\\\":134,\\\"./definitions/var\\\":137,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_error\\\":142,\\\"./scope\\\":144,\\\"./types\\\":146}],142:[function(t,e,r){var n=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),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name=\\\"ExpressionEvaluationError\\\",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};n.prototype.concat=function(t){return new n(this,t)},n.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.\\\")},n.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)},e.exports=n},{}],145:[function(t,e,r){var n=t(\\\"./runtime_error\\\");e.exports={findStopLessThanOrEqualTo:function(t,e){for(var r,i,a=0,o=t.length-1,s=0;a<=o;){if(r=t[s=Math.floor((a+o)/2)],i=t[s+1],e===r||e>r&&e<i)return s;if(r<e)a=s+1;else{if(!(r>e))throw new n(\\\"Input is not a number.\\\");o=s-1}}return Math.max(s-1,0)}}},{\\\"./runtime_error\\\":143}],146:[function(t,e,r){function n(t,e){return{kind:\\\"array\\\",itemType:t,N:e}}function i(t){if(\\\"array\\\"===t.kind){var e=i(t.itemType);return\\\"number\\\"==typeof t.N?\\\"array<\\\"+e+\\\", \\\"+t.N+\\\">\\\":\\\"value\\\"===t.itemType.kind?\\\"array\\\":\\\"array<\\\"+e+\\\">\\\"}return t.kind}var a={kind:\\\"null\\\"},o={kind:\\\"number\\\"},s={kind:\\\"string\\\"},l={kind:\\\"boolean\\\"},c={kind:\\\"color\\\"},u={kind:\\\"object\\\"},f={kind:\\\"value\\\"},h=[a,o,s,l,c,u,n(f)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:c,ObjectType:u,ValueType:f,array:n,ErrorType:{kind:\\\"error\\\"},toString:i,checkSubtype:function t(e,r){if(\\\"error\\\"===r.kind)return null;if(\\\"array\\\"===e.kind){if(\\\"array\\\"===r.kind&&!t(e.itemType,r.itemType)&&(\\\"number\\\"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if(\\\"value\\\"===e.kind)for(var n=0,a=h;n<a.length;n+=1)if(!t(a[n],r))return null}return\\\"Expected \\\"+i(e)+\\\" but found \\\"+i(r)+\\\" instead.\\\"}}},{}],147:[function(t,e,r){var n=t(\\\"../util/color\\\"),i=t(\\\"./types\\\"),a=i.NullType,o=i.NumberType,s=i.StringType,l=i.BooleanType,c=i.ColorType,u=i.ObjectType,f=i.ValueType,h=i.array;e.exports={Color:n,validateRGBA:function(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.\\\"},isValue:function t(e){if(null===e)return!0;if(\\\"string\\\"==typeof e)return!0;if(\\\"boolean\\\"==typeof e)return!0;if(\\\"number\\\"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r<i.length;r+=1)if(!t(i[r]))return!1;return!0}if(\\\"object\\\"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1},typeOf:function t(e){if(null===e)return a;if(\\\"string\\\"==typeof e)return s;if(\\\"boolean\\\"==typeof e)return l;if(\\\"number\\\"==typeof e)return o;if(e instanceof n)return c;if(Array.isArray(e)){for(var r,i=e.length,p=0,d=e;p<d.length;p+=1){var g=t(d[p]);if(r){if(r===g)continue;r=f;break}r=g}return h(r||f,i)}return u}}},{\\\"../util/color\\\":153,\\\"./types\\\":146}],148:[function(t,e,r){function n(t){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\\\":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 i=r[e];if(!n(i)&&\\\"boolean\\\"!=typeof i)return!1}return!0;default:return!0}}function i(t,e){return t<e?-1:t>e?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?\\\"any\\\"!==e:\\\"==\\\"===e?o(t[1],t[2],\\\"==\\\"):\\\"!=\\\"===e?c(o(t[1],t[2],\\\"==\\\")):\\\"<\\\"===e||\\\">\\\"===e||\\\"<=\\\"===e||\\\">=\\\"===e?o(t[1],t[2],e):\\\"any\\\"===e?function(t){return[\\\"any\\\"].concat(t.map(a))}(t.slice(1)):\\\"all\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a)):\\\"none\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a).map(c)):\\\"in\\\"===e?s(t[1],t.slice(2)):\\\"!in\\\"===e?c(s(t[1],t.slice(2))):\\\"has\\\"===e?l(t[1]):\\\"!has\\\"!==e||c(l(t[1]))}function o(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 s(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(i)]]:[\\\"filter-in-small\\\",t,[\\\"literal\\\",e]]}}function l(t){switch(t){case\\\"$type\\\":return!0;case\\\"$id\\\":return[\\\"filter-has-id\\\"];default:return[\\\"filter-has\\\",t]}}function c(t){return[\\\"!\\\",t]}var u=t(\\\"../expression\\\").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=u(t,f);if(\\\"error\\\"===e.result)throw new Error(e.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var f={type:\\\"boolean\\\",default:!1,function:!0,\\\"property-function\\\":!0,\\\"zoom-function\\\":!0}},{\\\"../expression\\\":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if(\\\"number\\\"!==p(r))return i(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=c(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if(\\\"number\\\"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=c(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),f=t.stops[s][1],h=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&\\\"rgb\\\"!==t.colorSpace){var m=u[t.colorSpace];g=function(t,e){return m.reverse(m.interpolate(m.forward(t),m.forward(e),l))}}return\\\"function\\\"==typeof f.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=f.evaluate.apply(void 0,e),i=h.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(f,h,l)}function l(t,e,r){return\\\"color\\\"===e.type?r=f.parse(r):p(r)===e.type||\\\"enum\\\"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function c(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var u=t(\\\"../util/color_spaces\\\"),f=t(\\\"../util/color\\\"),h=t(\\\"../util/extend\\\"),p=t(\\\"../util/get_type\\\"),d=t(\\\"../util/interpolate\\\"),g=t(\\\"../expression/definitions/interpolate\\\");e.exports={createFunction:function t(e,r){var n,c,p,d=\\\"color\\\"===r.type,m=e.stops&&\\\"object\\\"==typeof e.stops[0][0],v=m||void 0!==e.property,y=m||!v,x=e.type||(\\\"interpolated\\\"===r.function?\\\"exponential\\\":\\\"interval\\\");if(d&&((e=h({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],f.parse(t[1])]})),e.default?e.default=f.parse(e.default):e.default=f.parse(r.default)),e.colorSpace&&\\\"rgb\\\"!==e.colorSpace&&!u[e.colorSpace])throw new Error(\\\"Unknown color space: \\\"+e.colorSpace);if(\\\"exponential\\\"===x)n=s;else if(\\\"interval\\\"===x)n=o;else if(\\\"categorical\\\"===x){n=a,c=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];c[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if(\\\"identity\\\"!==x)throw new Error('Unknown function type \\\"'+x+'\\\"');n=l}if(m){for(var k={},M=[],A=0;A<e.stops.length;A++){var T=e.stops[A],S=T[0].zoom;void 0===k[S]&&(k[S]={zoom:S,type:e.type,property:e.property,default:e.default,stops:[]},M.push(S)),k[S].stops.push([T[0].value,T[1]])}for(var C=[],E=0,L=M;E<L.length;E+=1){var z=L[E];C.push([k[z].zoom,t(k[z],r)])}return{kind:\\\"composite\\\",interpolationFactor:g.interpolationFactor.bind(void 0,{name:\\\"linear\\\"}),zoomStops:C.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return s({stops:C,base:e.base},r,i).evaluate(i,n)}}}return y?{kind:\\\"camera\\\",interpolationFactor:\\\"exponential\\\"===x?g.interpolationFactor.bind(void 0,{name:\\\"exponential\\\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var i=t.zoom;return n(e,r,i,c,p)}}:{kind:\\\"source\\\",evaluate:function(t,a){var o=a&&a.properties?a.properties[e.property]:void 0;return void 0===o?i(e.default,r.default):n(e,r,o,c,p)}}},isFunction:function(t){return\\\"object\\\"==typeof t&&null!==t&&!Array.isArray(t)}}},{\\\"../expression/definitions/interpolate\\\":132,\\\"../util/color\\\":153,\\\"../util/color_spaces\\\":154,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/interpolate\\\":158}],150:[function(t,e,r){function n(t){var e=typeof t;if(\\\"number\\\"===e||\\\"boolean\\\"===e||\\\"string\\\"===e||void 0===t||null===t)return JSON.stringify(t);if(Array.isArray(t)){for(var r=\\\"[\\\",i=0,a=t;i<a.length;i+=1)r+=n(a[i])+\\\",\\\";return r+\\\"]\\\"}for(var o=Object.keys(t).sort(),s=\\\"{\\\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\\\":\\\"+n(t[o[l]])+\\\",\\\";return s+\\\"}\\\"}function i(t){for(var e=\\\"\\\",r=0,i=a;r<i.length;r+=1)e+=\\\"/\\\"+n(t[i[r]]);return e}var a=t(\\\"./util/ref_properties\\\");e.exports=function(t){for(var e={},r=0;r<t.length;r++){var n=i(t[r]),a=e[n];a||(a=e[n]=[]),a.push(t[r])}var o=[];for(var s in e)o.push(e[s]);return o}},{\\\"./util/ref_properties\\\":159}],151:[function(t,e,r){e.exports=t(\\\"./v8.json\\\")},{\\\"./v8.json\\\":152}],152:[function(t,e,r){e.exports={$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_canvas\\\"],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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},attribution:{type:\\\"string\\\"},\\\"*\\\":{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.0511,180,85.0511]},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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},tileSize:{type:\\\"number\\\",default:512,units:\\\"pixels\\\"},attribution:{type:\\\"string\\\"},\\\"*\\\":{type:\\\"*\\\"}},source_geojson:{type:{required:!0,type:\\\"enum\\\",values:{geojson:{}}},data:{type:\\\"*\\\"},maxzoom:{type:\\\"number\\\",default:18},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\\\"}},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\\\"}}},source_canvas:{type:{required:!0,type:\\\"enum\\\",values:{canvas:{}}},coordinates:{required:!0,type:\\\"array\\\",length:4,value:{type:\\\"array\\\",length:2,value:\\\"number\\\"}},animate:{type:\\\"boolean\\\",default:\\\"true\\\"},canvas:{type:\\\"string\\\",required:!0}},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\\\"}},layout_fill:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_circle:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_heatmap:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},\\\"layout_fill-extrusion\\\":{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_line:{\\\"line-cap\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{butt:{},round:{},square:{}},default:\\\"butt\\\"},\\\"line-join\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{bevel:{},round:{},miter:{}},default:\\\"miter\\\"},\\\"line-miter-limit\\\":{type:\\\"number\\\",default:2,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"miter\\\"}]},\\\"line-round-limit\\\":{type:\\\"number\\\",default:1.05,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"round\\\"}]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_symbol:{\\\"symbol-placement\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{point:{},line:{}},default:\\\"point\\\"},\\\"symbol-spacing\\\":{type:\\\"number\\\",default:250,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"symbol-avoid-edges\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1},\\\"icon-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"icon-size\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"factor of the original icon size\\\",requires:[\\\"icon-image\\\"]},\\\"icon-text-fit\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{none:{},width:{},height:{},both:{}},default:\\\"none\\\",requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-text-fit-padding\\\":{type:\\\"array\\\",value:\\\"number\\\",length:4,default:[0,0,0,0],units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"icon-image\\\",\\\"text-field\\\",{\\\"icon-text-fit\\\":[\\\"both\\\",\\\"width\\\",\\\"height\\\"]}]},\\\"icon-image\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,tokens:!0},\\\"icon-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"degrees\\\",requires:[\\\"icon-image\\\"]},\\\"icon-padding\\\":{type:\\\"number\\\",default:2,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",{\\\"icon-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"icon-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"icon-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"icon-image\\\"]},\\\"icon-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"text-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-field\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:\\\"\\\",tokens:!0},\\\"text-font\\\":{type:\\\"array\\\",value:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:[\\\"Open Sans Regular\\\",\\\"Arial Unicode MS Regular\\\"],requires:[\\\"text-field\\\"]},\\\"text-size\\\":{type:\\\"number\\\",default:16,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-max-width\\\":{type:\\\"number\\\",default:10,minimum:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-line-height\\\":{type:\\\"number\\\",default:1.2,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-letter-spacing\\\":{type:\\\"number\\\",default:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-justify\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{left:{},center:{},right:{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-max-angle\\\":{type:\\\"number\\\",default:45,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\",{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-rotate\\\":{type:\\\"number\\\",default:0,period:360,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-padding\\\":{type:\\\"number\\\",default:2,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0,requires:[\\\"text-field\\\",{\\\"text-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-transform\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{none:{},uppercase:{},lowercase:{}},default:\\\"none\\\",requires:[\\\"text-field\\\"]},\\\"text-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,length:2,default:[0,0],requires:[\\\"text-field\\\"]},\\\"text-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\",\\\"icon-image\\\"]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_raster:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_hillshade:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},filter:{type:\\\"array\\\",value:\\\"*\\\"},filter_operator:{type:\\\"enum\\\",values:{\\\"==\\\":{},\\\"!=\\\":{},\\\">\\\":{},\\\">=\\\":{},\\\"<\\\":{},\\\"<=\\\":{},in:{},\\\"!in\\\":{},all:{},any:{},none:{},has:{},\\\"!has\\\":{}}},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:22,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\\\"},case:{group:\\\"Decision\\\"},match:{group:\\\"Decision\\\"},coalesce:{group:\\\"Decision\\\"},step:{group:\\\"Ramps, scales, curves\\\"},interpolate:{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\\\"},\\\"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\\\"},\\\"geometry-type\\\":{group:\\\"Feature data\\\"},id:{group:\\\"Feature data\\\"},zoom:{group:\\\"Zoom\\\"},\\\"heatmap-density\\\":{group:\\\"Heatmap\\\"},\\\"+\\\":{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\\\"},\\\"==\\\":{group:\\\"Decision\\\"},\\\"!=\\\":{group:\\\"Decision\\\"},\\\">\\\":{group:\\\"Decision\\\"},\\\"<\\\":{group:\\\"Decision\\\"},\\\">=\\\":{group:\\\"Decision\\\"},\\\"<=\\\":{group:\\\"Decision\\\"},all:{group:\\\"Decision\\\"},any:{group:\\\"Decision\\\"},\\\"!\\\":{group:\\\"Decision\\\"},upcase:{group:\\\"String\\\"},downcase:{group:\\\"String\\\"},concat:{group:\\\"String\\\"}}},light:{anchor:{type:\\\"enum\\\",default:\\\"viewport\\\",values:{map:{},viewport:{}},transition:!1,\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,function:\\\"piecewise-constant\\\"},position:{type:\\\"array\\\",default:[1.15,210,30],length:3,value:\\\"number\\\",transition:!0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1},color:{type:\\\"color\\\",default:\\\"#ffffff\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},intensity:{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,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\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0},\\\"fill-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"}]},\\\"fill-outline-color\\\":{type:\\\"color\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"},{\\\"fill-antialias\\\":!0}]},\\\"fill-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-translate\\\"]},\\\"fill-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},\\\"paint_fill-extrusion\\\":{\\\"fill-extrusion-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-extrusion-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-extrusion-pattern\\\"}]},\\\"fill-extrusion-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-extrusion-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-extrusion-translate\\\"]},\\\"fill-extrusion-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"fill-extrusion-height\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0},\\\"fill-extrusion-base\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0,requires:[\\\"fill-extrusion-height\\\"]}},paint_line:{\\\"line-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"line-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"line-translate\\\"]},\\\"line-width\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-gap-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-offset\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-dasharray\\\":{type:\\\"array\\\",value:\\\"number\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,minimum:0,transition:!0,units:\\\"line widths\\\",requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_circle:{\\\"circle-radius\\\":{type:\\\"number\\\",default:5,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-blur\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"circle-translate\\\"]},\\\"circle-pitch-scale\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\"},\\\"circle-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"circle-stroke-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-stroke-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-stroke-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_heatmap:{\\\"heatmap-radius\\\":{type:\\\"number\\\",default:30,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"heatmap-weight\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!1},\\\"heatmap-intensity\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},\\\"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\\\"],function:\\\"interpolated\\\",\\\"zoom-function\\\":!1,\\\"property-function\\\":!1,transition:!1},\\\"heatmap-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0}},paint_symbol:{\\\"icon-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"icon-image\\\",\\\"icon-translate\\\"]},\\\"text-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"text-field\\\",\\\"text-translate\\\"]}},paint_raster:{\\\"raster-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-hue-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"degrees\\\"},\\\"raster-brightness-min\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:0,minimum:0,maximum:1,transition:!0},\\\"raster-brightness-max\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"raster-saturation\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-contrast\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-fade-duration\\\":{type:\\\"number\\\",default:300,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1,units:\\\"milliseconds\\\"}},paint_hillshade:{\\\"hillshade-illumination-direction\\\":{type:\\\"number\\\",default:335,minimum:0,maximum:359,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1},\\\"hillshade-illumination-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"hillshade-exaggeration\\\":{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-shadow-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-highlight-color\\\":{type:\\\"color\\\",default:\\\"#FFFFFF\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-accent-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_background:{\\\"background-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"background-pattern\\\"}]},\\\"background-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"background-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},transition:{duration:{type:\\\"number\\\",default:300,minimum:0,units:\\\"milliseconds\\\"},delay:{type:\\\"number\\\",default:0,minimum:0,units:\\\"milliseconds\\\"}}}},{}],153:[function(t,e,r){var n=t(\\\"csscolorparser\\\").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if(\\\"string\\\"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return\\\"rgba(\\\"+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(\\\",\\\")+\\\")\\\"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>v?Math.pow(t,1/3):t/m+d}function i(t){return t>g?t*t*t:m*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/f),s=n((.2126729*e+.7151522*r+.072175*i)/h);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(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=h*i(e),r=f*i(r),n=p*i(n),new c(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var c=t(\\\"./color\\\"),u=t(\\\"./interpolate\\\").number,f=.95047,h=1,p=1.08883,d=4/29,g=6/29,m=3*g*g,v=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:u(t.l,e.l,r),a:u(t.a,e.a,r),b:u(t.b,e.b,r),alpha:u(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:u(t.c,e.c,r),l:u(t.l,e.l,r),alpha:u(t.alpha,e.alpha,r)}}}}},{\\\"./color\\\":153,\\\"./interpolate\\\":158}],155:[function(t,e,r){e.exports=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 i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r}},{}],156:[function(t,e,r){e.exports=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t}},{}],157:[function(t,e,r){e.exports=function(t){return t instanceof Number?\\\"number\\\":t instanceof String?\\\"string\\\":t instanceof Boolean?\\\"boolean\\\":Array.isArray(t)?\\\"array\\\":null===t?\\\"null\\\":typeof t}},{}],158:[function(t,e,r){function n(t,e,r){return t*(1-r)+e*r}var i=t(\\\"./color\\\");e.exports={number:n,color:function(t,e,r){return new i(n(t.r,e.r,r),n(t.g,e.g,r),n(t.b,e.b,r),n(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}}},{\\\"./color\\\":153}],159:[function(t,e,r){e.exports=[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"filter\\\",\\\"layout\\\"]},{}],160:[function(t,e,r){e.exports={success:function(t){return{result:\\\"success\\\",value:t}},error:function(t){return{result:\\\"error\\\",value:t}}}},{}],161:[function(t,e,r){function n(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}e.exports=n,e.exports.deep=function t(e){return Array.isArray(e)?e.map(t):n(e)}},{}],162:[function(t,e,r){var n=t(\\\"../util/extend\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"../expression\\\").isExpression,o=t(\\\"../function\\\").isFunction;e.exports=function(e){var r=t(\\\"./validate_function\\\"),s=t(\\\"./validate_expression\\\"),l=t(\\\"./validate_object\\\"),c={\\\"*\\\":function(){return[]},array:t(\\\"./validate_array\\\"),boolean:t(\\\"./validate_boolean\\\"),number:t(\\\"./validate_number\\\"),color:t(\\\"./validate_color\\\"),constants:t(\\\"./validate_constants\\\"),enum:t(\\\"./validate_enum\\\"),filter:t(\\\"./validate_filter\\\"),function:t(\\\"./validate_function\\\"),layer:t(\\\"./validate_layer\\\"),object:t(\\\"./validate_object\\\"),source:t(\\\"./validate_source\\\"),light:t(\\\"./validate_light\\\"),string:t(\\\"./validate_string\\\")},u=e.value,f=e.valueSpec,h=e.styleSpec;return f.function&&o(i(u))?r(e):f.function&&a(i.deep(u))?s(e):f.type&&c[f.type]?c[f.type](e):l(n({},e,{valueSpec:f.type?h[f.type]:f}))}},{\\\"../expression\\\":139,\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_array\\\":163,\\\"./validate_boolean\\\":164,\\\"./validate_color\\\":165,\\\"./validate_constants\\\":166,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168,\\\"./validate_filter\\\":169,\\\"./validate_function\\\":170,\\\"./validate_layer\\\":172,\\\"./validate_light\\\":174,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176,\\\"./validate_source\\\":179,\\\"./validate_string\\\":180}],163:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"./validate\\\"),a=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,c=t.arrayElementValidator||i;if(\\\"array\\\"!==n(e))return[new a(l,e,\\\"array expected, \\\"+n(e)+\\\" found\\\")];if(r.length&&e.length!==r.length)return[new a(l,e,\\\"array length \\\"+r.length+\\\" expected, length \\\"+e.length+\\\" found\\\")];if(r[\\\"min-length\\\"]&&e.length<r[\\\"min-length\\\"])return[new a(l,e,\\\"array length at least \\\"+r[\\\"min-length\\\"]+\\\" expected, length \\\"+e.length+\\\" found\\\")];var u={type:r.value};s.$version<7&&(u.function=r.function),\\\"object\\\"===n(r.value)&&(u=r.value);for(var f=[],h=0;h<e.length;h++)f=f.concat(c({array:e,arrayIndex:h,value:e[h],valueSpec:u,style:o,styleSpec:s,key:l+\\\"[\\\"+h+\\\"]\\\"}));return f}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],164:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"boolean\\\"!==a?[new i(r,e,\\\"boolean expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],165:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"csscolorparser\\\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\\\"string\\\"!==o?[new n(e,r,\\\"color expected, \\\"+o+\\\" found\\\")]:null===a(r)?[new n(e,r,'color expected, \\\"'+r+'\\\" found')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,csscolorparser:13}],166:[function(t,e,r){var n=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value;return r?[new n(e,r,\\\"constants have been deprecated as of v8\\\")]:[]}},{\\\"../error/validation_error\\\":122}],167:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return Array.isArray(a.values)?-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+a.values.join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")):-1===Object.keys(a.values).indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+Object.keys(a.values).join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")),o}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161}],168:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../expression\\\"),a=i.createExpression,o=i.createPropertyExpression,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=(\\\"property\\\"===t.expressionContext?o:a)(s.deep(t.value),t.valueSpec);return\\\"error\\\"===e.result?e.value.map(function(e){return new n(\\\"\\\"+t.key+e.key,t.value,e.message)}):\\\"property\\\"===t.expressionContext&&\\\"text-font\\\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new n(t.key,t.value,'Invalid data expression for \\\"text-font\\\". Output values must be contained as literals within the expression.')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../expression\\\":139,\\\"../util/unbundle_jsonlint\\\":161}],169:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_expression\\\"),a=t(\\\"./validate_enum\\\"),o=t(\\\"../util/get_type\\\"),s=t(\\\"../util/unbundle_jsonlint\\\"),l=t(\\\"../util/extend\\\"),c=t(\\\"../feature_filter\\\").isExpressionFilter;e.exports=function(t){return c(s.deep(t.value))?i(l({},t,{expressionContext:\\\"filter\\\",valueSpec:{value:\\\"boolean\\\"}})):function t(e){var r=e.value,i=e.key;if(\\\"array\\\"!==o(r))return[new n(i,r,\\\"array expected, \\\"+o(r)+\\\" found\\\")];var l,c=e.styleSpec,u=[];if(r.length<1)return[new n(i,r,\\\"filter array must have at least 1 element\\\")];switch(u=u.concat(a({key:i+\\\"[0]\\\",value:r[0],valueSpec:c.filter_operator,style:e.style,styleSpec:e.styleSpec})),s(r[0])){case\\\"<\\\":case\\\"<=\\\":case\\\">\\\":case\\\">=\\\":r.length>=2&&\\\"$type\\\"===s(r[1])&&u.push(new n(i,r,'\\\"$type\\\" cannot be use with operator \\\"'+r[0]+'\\\"'));case\\\"==\\\":case\\\"!=\\\":3!==r.length&&u.push(new n(i,r,'filter array for operator \\\"'+r[0]+'\\\" must have 3 elements'));case\\\"in\\\":case\\\"!in\\\":r.length>=2&&\\\"string\\\"!==(l=o(r[1]))&&u.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"));for(var f=2;f<r.length;f++)l=o(r[f]),\\\"$type\\\"===s(r[1])?u=u.concat(a({key:i+\\\"[\\\"+f+\\\"]\\\",value:r[f],valueSpec:c.geometry_type,style:e.style,styleSpec:e.styleSpec})):\\\"string\\\"!==l&&\\\"number\\\"!==l&&\\\"boolean\\\"!==l&&u.push(new n(i+\\\"[\\\"+f+\\\"]\\\",r[f],\\\"string, number, or boolean expected, \\\"+l+\\\" found\\\"));break;case\\\"any\\\":case\\\"all\\\":case\\\"none\\\":for(var h=1;h<r.length;h++)u=u.concat(t({key:i+\\\"[\\\"+h+\\\"]\\\",value:r[h],style:e.style,styleSpec:e.styleSpec}));break;case\\\"has\\\":case\\\"!has\\\":l=o(r[1]),2!==r.length?u.push(new n(i,r,'filter array for \\\"'+r[0]+'\\\" operator must have 2 elements')):\\\"string\\\"!==l&&u.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"))}return u}(t)}},{\\\"../error/validation_error\\\":122,\\\"../feature_filter\\\":148,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168}],170:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\"),o=t(\\\"./validate_object\\\"),s=t(\\\"./validate_array\\\"),l=t(\\\"./validate_number\\\"),c=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){function e(t){var e=[],s=t.value,u=t.key;if(\\\"array\\\"!==i(s))return[new n(u,s,\\\"array expected, \\\"+i(s)+\\\" found\\\")];if(2!==s.length)return[new n(u,s,\\\"array length 2 expected, length \\\"+s.length+\\\" found\\\")];if(y){if(\\\"object\\\"!==i(s[0]))return[new n(u,s,\\\"object expected, \\\"+i(s[0])+\\\" found\\\")];if(void 0===s[0].zoom)return[new n(u,s,\\\"object stop key must have zoom\\\")];if(void 0===s[0].value)return[new n(u,s,\\\"object stop key must have value\\\")];if(h&&h>c(s[0].zoom))return[new n(u,s[0].zoom,\\\"stop zoom values must appear in ascending order\\\")];c(s[0].zoom)!==h&&(h=c(s[0].zoom),f=void 0,g={}),e=e.concat(o({key:u+\\\"[0]\\\",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:u+\\\"[0]\\\",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:u+\\\"[1]\\\",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=c(t.value),o=null!==t.value?t.value:e;if(u){if(r!==u)return[new n(t.key,o,r+\\\" stop domain type must match previous stop domain type \\\"+u)]}else u=r;if(\\\"number\\\"!==r&&\\\"string\\\"!==r&&\\\"boolean\\\"!==r)return[new n(t.key,o,\\\"stop domain value must be a number, string, or boolean\\\")];if(\\\"number\\\"!==r&&\\\"categorical\\\"!==d){var s=\\\"number expected, \\\"+r+\\\" found\\\";return p[\\\"property-function\\\"]&&void 0===d&&(s+='\\\\nIf you intended to use a categorical function, specify `\\\"type\\\": \\\"categorical\\\"`.'),[new n(t.key,o,s)]}return\\\"categorical\\\"!==d||\\\"number\\\"!==r||isFinite(a)&&Math.floor(a)===a?\\\"categorical\\\"!==d&&\\\"number\\\"===r&&void 0!==f&&a<f?[new n(t.key,o,\\\"stop domain values must appear in ascending order\\\")]:(f=a,\\\"categorical\\\"===d&&a in g?[new n(t.key,o,\\\"stop domain values must be unique\\\")]:(g[a]=!0,[])):[new n(t.key,o,\\\"integer expected, found \\\"+a)]}var u,f,h,p=t.valueSpec,d=c(t.value.type),g={},m=\\\"categorical\\\"!==d&&void 0===t.value.property,v=!m,y=\\\"array\\\"===i(t.value.stops)&&\\\"array\\\"===i(t.value.stops[0])&&\\\"object\\\"===i(t.value.stops[0][0]),x=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\\\"identity\\\"===d)return[new n(t.key,t.value,'identity function may not have a \\\"stops\\\" property')];var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),\\\"array\\\"===i(a)&&0===a.length&&r.push(new n(t.key,a,\\\"array must have at least one stop\\\")),r},default:function(t){return a({key:t.key,value:t.value,valueSpec:p,style:t.style,styleSpec:t.styleSpec})}}});return\\\"identity\\\"===d&&m&&x.push(new n(t.key,t.value,'missing required property \\\"property\\\"')),\\\"identity\\\"===d||t.value.stops||x.push(new n(t.key,t.value,'missing required property \\\"stops\\\"')),\\\"exponential\\\"===d&&\\\"piecewise-constant\\\"===t.valueSpec.function&&x.push(new n(t.key,t.value,\\\"exponential functions not supported\\\")),t.styleSpec.$version>=8&&(v&&!t.valueSpec[\\\"property-function\\\"]?x.push(new n(t.key,t.value,\\\"property functions not supported\\\")):m&&!t.valueSpec[\\\"zoom-function\\\"]&&\\\"heatmap-color\\\"!==t.objectKey&&x.push(new n(t.key,t.value,\\\"zoom functions not supported\\\"))),\\\"categorical\\\"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'\\\"property\\\" property is required')),x}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_array\\\":163,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176}],171:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_string\\\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(\\\"{fontstack}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{fontstack}\\\" token')),-1===e.indexOf(\\\"{range}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{range}\\\" token')),a)}},{\\\"../error/validation_error\\\":122,\\\"./validate_string\\\":180}],172:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_filter\\\"),s=t(\\\"./validate_paint_property\\\"),l=t(\\\"./validate_layout_property\\\"),c=t(\\\"./validate\\\"),u=t(\\\"../util/extend\\\");e.exports=function(t){var e=[],r=t.value,f=t.key,h=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(f,r,'either \\\"type\\\" or \\\"ref\\\" is required'));var d,g=i(r.type),m=i(r.ref);if(r.id)for(var v=i(r.id),y=0;y<t.arrayIndex;y++){var x=h.layers[y];i(x.id)===v&&e.push(new n(f,r.id,'duplicate layer id \\\"'+r.id+'\\\", previously used at line '+x.id.__line__))}if(\\\"ref\\\"in r)[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"filter\\\",\\\"layout\\\"].forEach(function(t){t in r&&e.push(new n(f,r[t],'\\\"'+t+'\\\" is prohibited for ref layers'))}),h.layers.forEach(function(t){i(t.id)===m&&(d=t)}),d?d.ref?e.push(new n(f,r.ref,\\\"ref cannot reference another ref layer\\\")):g=i(d.type):e.push(new n(f,r.ref,'ref layer \\\"'+m+'\\\" not found'));else if(\\\"background\\\"!==g)if(r.source){var b=h.sources&&h.sources[r.source],_=b&&i(b.type);b?\\\"vector\\\"===_&&\\\"raster\\\"===g?e.push(new n(f,r.source,'layer \\\"'+r.id+'\\\" requires a raster source')):\\\"raster\\\"===_&&\\\"raster\\\"!==g?e.push(new n(f,r.source,'layer \\\"'+r.id+'\\\" requires a vector source')):\\\"vector\\\"!==_||r[\\\"source-layer\\\"]?\\\"raster-dem\\\"===_&&\\\"hillshade\\\"!==g&&e.push(new n(f,r.source,\\\"raster-dem source can only be used with layer type 'hillshade'.\\\")):e.push(new n(f,r,'layer \\\"'+r.id+'\\\" must specify a \\\"source-layer\\\"')):e.push(new n(f,r.source,'source \\\"'+r.source+'\\\" not found'))}else e.push(new n(f,r,'missing required property \\\"source\\\"'));return e=e.concat(a({key:f,value:r,valueSpec:p.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(){return[]},type:function(){return c({key:f+\\\".type\\\",value:r.type,valueSpec:p.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\\\"type\\\"})},filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return l(u({layerType:g},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return s(u({layerType:g},t))}}})}}}))}},{\\\"../error/validation_error\\\":122,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_filter\\\":169,\\\"./validate_layout_property\\\":173,\\\"./validate_object\\\":176,\\\"./validate_paint_property\\\":177}],173:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"layout\\\")}},{\\\"./validate_property\\\":178}],174:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.value,r=t.styleSpec,o=r.light,s=t.style,l=[],c=i(e);if(void 0===e)return l;if(\\\"object\\\"!==c)return l.concat([new n(\\\"light\\\",e,\\\"object expected, \\\"+c+\\\" found\\\")]);for(var u in e){var f=u.match(/^(.*)-transition$/);l=f&&o[f[1]]&&o[f[1]].transition?l.concat(a({key:u,value:e[u],valueSpec:r.transition,style:s,styleSpec:r})):o[u]?l.concat(a({key:u,value:e[u],valueSpec:o[u],style:s,styleSpec:r})):l.concat([new n(u,e[u],'unknown property \\\"'+u+'\\\"')])}return l}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],175:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\\\"number\\\"!==o?[new i(e,r,\\\"number expected, \\\"+o+\\\" found\\\")]:\\\"minimum\\\"in a&&r<a.minimum?[new i(e,r,r+\\\" is less than the minimum value \\\"+a.minimum)]:\\\"maximum\\\"in a&&r>a.maximum?[new i(e,r,r+\\\" is greater than the maximum value \\\"+a.maximum)]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],176:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec||{},s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if(\\\"object\\\"!==f)return[new n(e,r,\\\"object expected, \\\"+f+\\\" found\\\")];for(var h in r){var p=h.split(\\\".\\\")[0],d=o[p]||o[\\\"*\\\"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s[\\\"*\\\"])g=s[\\\"*\\\"];else{if(!o[\\\"*\\\"]){u.push(new n(e,r[h],'unknown property \\\"'+h+'\\\"'));continue}g=a}u=u.concat(g({key:(e?e+\\\".\\\":e)+h,value:r[h],valueSpec:d,style:l,styleSpec:c,object:r,objectKey:h},r))}for(var m in o)s[m]||o[m].required&&void 0===o[m].default&&void 0===r[m]&&u.push(new n(e,r,'missing required property \\\"'+m+'\\\"'));return u}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],177:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"paint\\\")}},{\\\"./validate_property\\\":178}],178:[function(t,e,r){var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\"),a=t(\\\"../util/get_type\\\"),o=t(\\\"../function\\\").isFunction,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t,e){var r=t.key,l=t.style,c=t.styleSpec,u=t.value,f=t.objectKey,h=c[e+\\\"_\\\"+t.layerType];if(!h)return[];var p=f.match(/^(.*)-transition$/);if(\\\"paint\\\"===e&&p&&h[p[1]]&&h[p[1]].transition)return n({key:r,value:u,valueSpec:c.transition,style:l,styleSpec:c});var d,g=t.valueSpec||h[f];if(!g)return[new i(r,u,'unknown property \\\"'+f+'\\\"')];if(\\\"string\\\"===a(u)&&g[\\\"property-function\\\"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(u)))return[new i(r,u,'\\\"'+f+'\\\" does not support interpolation syntax\\\\nUse an identity property function instead: `{ \\\"type\\\": \\\"identity\\\", \\\"property\\\": '+JSON.stringify(d[1])+\\\" }`.\\\")];var m=[];return\\\"symbol\\\"===t.layerType&&(\\\"text-field\\\"===f&&l&&!l.glyphs&&m.push(new i(r,u,'use of \\\"text-field\\\" requires a style \\\"glyphs\\\" property')),\\\"text-font\\\"===f&&o(s.deep(u))&&\\\"identity\\\"===s(u.type)&&m.push(new i(r,u,'\\\"text-font\\\" does not support identity functions'))),m.concat(n({key:t.key,value:u,valueSpec:g,style:l,styleSpec:c,expressionContext:\\\"property\\\",propertyKey:f}))}},{\\\"../error/validation_error\\\":122,\\\"../function\\\":149,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162}],179:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_enum\\\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\\\"type\\\" is required')];var c=i(e.type),u=[];switch(c){case\\\"vector\\\":case\\\"raster\\\":case\\\"raster-dem\\\":if(u=u.concat(a({key:r,value:e,valueSpec:s[\\\"source_\\\"+c.replace(\\\"-\\\",\\\"_\\\")],style:t.style,styleSpec:s})),\\\"url\\\"in e)for(var f in e)[\\\"type\\\",\\\"url\\\",\\\"tileSize\\\"].indexOf(f)<0&&u.push(new n(r+\\\".\\\"+f,e[f],'a source with a \\\"url\\\" property may not include a \\\"'+f+'\\\" property'));return u;case\\\"geojson\\\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\\\"video\\\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\\\"image\\\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});case\\\"canvas\\\":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+\\\".type\\\",value:e.type,valueSpec:{values:[\\\"vector\\\",\\\"raster\\\",\\\"raster-dem\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"]},style:l,styleSpec:s})}}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_object\\\":176}],180:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"string\\\"!==a?[new i(r,e,\\\"string expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],181:[function(t,e,r){function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\\\"\\\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c,\\\"*\\\":function(){return[]}}})),t.constants&&(r=r.concat(o({key:\\\"constants\\\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\\\"./validate/validate_constants\\\"),s=t(\\\"./validate/validate\\\"),l=t(\\\"./reference/latest\\\"),c=t(\\\"./validate/validate_glyphs_url\\\");n.source=a(t(\\\"./validate/validate_source\\\")),n.light=a(t(\\\"./validate/validate_light\\\")),n.layer=a(t(\\\"./validate/validate_layer\\\")),n.filter=a(t(\\\"./validate/validate_filter\\\")),n.paintProperty=a(t(\\\"./validate/validate_paint_property\\\")),n.layoutProperty=a(t(\\\"./validate/validate_layout_property\\\")),e.exports=n},{\\\"./reference/latest\\\":151,\\\"./validate/validate\\\":162,\\\"./validate/validate_constants\\\":166,\\\"./validate/validate_filter\\\":169,\\\"./validate/validate_glyphs_url\\\":171,\\\"./validate/validate_layer\\\":172,\\\"./validate/validate_layout_property\\\":173,\\\"./validate/validate_light\\\":174,\\\"./validate/validate_paint_property\\\":177,\\\"./validate/validate_source\\\":179}],182:[function(t,e,r){var n=t(\\\"./zoom_history\\\"),i=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 n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{\\\"./zoom_history\\\":212}],183:[function(t,e,r){var n=t(\\\"../style-spec/reference/latest\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./validate_style\\\"),s=t(\\\"../util/util\\\").sphericalToCartesian,l=(t(\\\"../style-spec/util/color\\\"),t(\\\"../style-spec/util/interpolate\\\")),c=t(\\\"./properties\\\"),u=c.Properties,f=c.Transitionable,h=(c.Transitioning,c.PossiblyEvaluated,c.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new u({anchor:new h(n.light.anchor),position:new p,color:new h(n.light.color),intensity:new h(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new f(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,\\\"-transition\\\")?this._transitionable.setTransition(e.slice(0,-\\\"-transition\\\".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{\\\"../style-spec/reference/latest\\\":151,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./validate_style\\\":211}],184:[function(t,e,r){var n=t(\\\"../util/mapbox\\\").normalizeGlyphsURL,i=t(\\\"../util/ajax\\\"),a=t(\\\"./parse_glyph_pbf\\\");e.exports=function(t,e,r,o,s){var l=256*e,c=l+255,u=o(n(r).replace(\\\"{fontstack}\\\",t).replace(\\\"{range}\\\",l+\\\"-\\\"+c),i.ResourceType.Glyphs);i.getArrayBuffer(u,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n<i.length;n+=1){var o=i[n];r[o.id]=o}s(null,r)}})}},{\\\"../util/ajax\\\":251,\\\"../util/mapbox\\\":267,\\\"./parse_glyph_pbf\\\":186}],185:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/browser\\\"),a=t(\\\"../util/mapbox\\\").normalizeSpriteURL,o=t(\\\"../util/image\\\").RGBAImage;e.exports=function(t,e,r){function s(){if(u)r(u);else if(l&&c){var t=i.getImageData(c),e={};for(var n in l){var a=l[n],s=a.width,f=a.height,h=a.x,p=a.y,d=a.sdf,g=a.pixelRatio,m=new o({width:s,height:f});o.copy(t,m,{x:h,y:p},{x:0,y:0},{width:s,height:f}),e[n]={data:m,pixelRatio:g,sdf:d}}r(null,e)}}var l,c,u,f=i.devicePixelRatio>1?\\\"@2x\\\":\\\"\\\";n.getJSON(e(a(t,f,\\\".json\\\"),n.ResourceType.SpriteJSON),function(t,e){u||(u=t,l=e,s())}),n.getImage(e(a(t,f,\\\".png\\\"),n.ResourceType.SpriteImage),function(t,e){u||(u=t,c=e,s())})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/image\\\":263,\\\"../util/mapbox\\\":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,c=n.width,u=n.height,f=n.left,h=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:c+2*l,height:u+2*l},s),metrics:{width:c,height:u,left:f,top:h,advance:p}})}}function a(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())}var o=t(\\\"../util/image\\\").AlphaImage,s=t(\\\"pbf\\\"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{\\\"../util/image\\\":263,pbf:30}],187:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../symbol/placement\\\"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex<t.length;){var o=t[a._currentTileIndex];if(e.placeLayerTile(n,o,r,a._seenCrossTileIDs),a._currentTileIndex++,i())return!0}};var o=function(t,e,r,n,a){this.placement=new i(t,a),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};o.prototype.isDone=function(){return this._done},o.prototype.continuePlacement=function(t,e,r){for(var i=this,o=n.now(),s=function(){var t=n.now()-o;return!i._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],c=i.placement.collisionIndex.transform.zoom;if(\\\"symbol\\\"===l.type&&(!l.minzoom||l.minzoom<=c)&&(!l.maxzoom||l.maxzoom>c)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{\\\"../symbol/placement\\\":223,\\\"../util/browser\\\":252}],188:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t(\\\"../style-spec/util/interpolate\\\"),l=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,c=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),u=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};u.prototype.isDataDriven=function(){return\\\"source\\\"===this.expression.kind||\\\"composite\\\"===this.expression.kind},u.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var f=function(t){this.property=t,this.value=new u(t,void 0)};f.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},f.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var h=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};h.prototype.getValue=function(t){return i(this._values[t].value.value)},h.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].value=new u(this._values[t].property,null===e?void 0:i(e))},h.prototype.getTransition=function(t){return i(this._values[t].transition)},h.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].transition=i(e)||void 0},h.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);r<n.length;r+=1){var i=n[r],a=t.getValue(i);void 0!==a&&(e[i]=a);var o=t.getTransition(i);void 0!==o&&(e[i+\\\"-transition\\\"]=o)}return e},h.prototype.transitioned=function(t,e){for(var r=new d(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},h.prototype.untransitioned=function(){for(var t=new d(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 p=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};p.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,o(i))}return r};var d=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};d.prototype.possiblyEvaluate=function(t){for(var e=new v(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},d.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var g=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};g.prototype.getValue=function(t){return i(this._values[t].value)},g.prototype.setValue=function(t,e){this._values[t]=new u(this._values[t].property,null===e?void 0:i(e))},g.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},g.prototype.possiblyEvaluate=function(t){for(var e=new v(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var m=function(t,e,r){this.property=t,this.value=e,this.globals=r};m.prototype.isConstant=function(){return\\\"constant\\\"===this.value.kind},m.prototype.constantOr=function(t){return\\\"constant\\\"===this.value.kind?this.value.value:t},m.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var v=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};v.prototype.get=function(t){return this._values[t]};var y=function(t){this.specification=t};y.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},y.prototype.interpolate=function(t,e,r){var n=s[this.specification.type];return n?n(t,e,r):t};var x=function(t){this.specification=t};x.prototype.possiblyEvaluate=function(t,e){return\\\"constant\\\"===t.expression.kind||\\\"camera\\\"===t.expression.kind?new m(this,{kind:\\\"constant\\\",value:t.expression.evaluate(e)},e):new m(this,t.expression,e)},x.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){var n=s[this.specification.type];return n?new m(this,{kind:\\\"constant\\\",value:n(t.value.value,e.value.value,r)},t.globals):t}},x.prototype.evaluate=function(t,e,r){return\\\"constant\\\"===t.kind?t.value:t.evaluate(e,r)};var b=function(t){this.specification=t};b.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\\\"constant\\\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e)}},b.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};c(\\\"DataDrivenProperty\\\",x),c(\\\"DataConstantProperty\\\",y),c(\\\"CrossFadedProperty\\\",b),c(\\\"HeatmapColorProperty\\\",_),e.exports={PropertyValue:u,Transitionable:h,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:m,PossiblyEvaluated:v,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new u(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new f(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],189:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return\\\"constant\\\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);\\\"viewport\\\"===r&&o._rotate(-i);for(var s=[],l=0;l<t.length;l++){for(var c=t[l],u=[],f=0;f<c.length;f++)u.push(c[f].sub(o._mult(a)));s.push(u)}return s}}},{\\\"@mapbox/point-geometry\\\":4}],190:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"./style_layer\\\"),a=t(\\\"./load_sprite\\\"),o=t(\\\"../render/image_manager\\\"),s=t(\\\"../render/glyph_manager\\\"),l=t(\\\"./light\\\"),c=t(\\\"../render/line_atlas\\\"),u=t(\\\"../util/util\\\"),f=t(\\\"../util/ajax\\\"),h=t(\\\"../util/mapbox\\\"),p=t(\\\"../util/browser\\\"),d=t(\\\"../util/dispatcher\\\"),g=t(\\\"./validate_style\\\"),m=t(\\\"../source/source\\\").getType,v=t(\\\"../source/source\\\").setType,y=t(\\\"../source/query_features\\\"),x=t(\\\"../source/source_cache\\\"),b=(t(\\\"../source/geojson_source\\\"),t(\\\"../style-spec/reference/latest\\\")),_=t(\\\"../util/global_worker_pool\\\"),w=t(\\\"../style-spec/deref\\\"),k=t(\\\"../style-spec/diff\\\"),M=t(\\\"../source/rtl_text_plugin\\\"),A=t(\\\"./pauseable_placement\\\"),T=t(\\\"./zoom_history\\\"),S=t(\\\"../symbol/cross_tile_symbol_index\\\"),C=u.pick(k.operations,[\\\"addLayer\\\",\\\"removeLayer\\\",\\\"setPaintProperty\\\",\\\"setLayoutProperty\\\",\\\"setFilter\\\",\\\"addSource\\\",\\\"removeSource\\\",\\\"setLayerZoomRange\\\",\\\"setLight\\\",\\\"setTransition\\\",\\\"setGeoJSONSourceData\\\"]),E=u.pick(k.operations,[\\\"setCenter\\\",\\\"setZoom\\\",\\\"setBearing\\\",\\\"setPitch\\\"]),L=function(t){function e(e,r){var n=this;void 0===r&&(r={}),t.call(this),this.map=e,this.dispatcher=new d(_(),this),this.imageManager=new o,this.glyphManager=new s(e._transformRequest,r.localIdeographFontFamily),this.lineAtlas=new c(256,512),this.crossTileSymbolIndex=new S,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new T,this._loaded=!1,this._resetUpdates();var i=this;this._rtlTextPluginCallback=M.registerForPluginAvailability(function(t){for(var e in i.dispatcher.broadcast(\\\"loadRTLTextPlugin\\\",t.pluginBlobURL,t.errorCallback),i.sourceCaches)i.sourceCaches[e].reload()}),this.on(\\\"data\\\",function(t){if(\\\"source\\\"===t.dataType&&\\\"metadata\\\"===t.sourceDataType){var e=n.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var i in n._layers){var a=n._layers[i];a.source===r.id&&n._validateLayer(a)}}}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadURL=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"});var n=\\\"boolean\\\"==typeof e.validate?e.validate:!h.isMapboxURL(t);t=h.normalizeStyleURL(t,e.accessToken);var i=this.map._transformRequest(t,f.ResourceType.Style);f.getJSON(i,function(t,e){t?r.fire(\\\"error\\\",{error:t}):e&&r._load(e,n)})},e.prototype.loadJSON=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"}),p.frame(function(){r._load(t,!1!==e.validate)})},e.prototype._load=function(t,e){var r=this;if(!e||!g.emitErrors(this,g(t))){for(var n in this._loaded=!0,this.stylesheet=t,t.sources)r.addSource(n,t.sources[n],{validate:!1});t.sprite?a(t.sprite,this.map._transformRequest,function(t,e){if(t)r.fire(\\\"error\\\",t);else if(e)for(var n in e)r.imageManager.addImage(n,e[n]);r.imageManager.setLoaded(!0),r.fire(\\\"data\\\",{dataType:\\\"style\\\"})}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs);var o=w(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,c=o;s<c.length;s+=1){var u=c[s];(u=i.create(u)).setEventedParent(r,{layer:{id:u.id}}),r._layers[u.id]=u}this.dispatcher.broadcast(\\\"setLayers\\\",this._serializeLayers(this._order)),this.light=new l(this.stylesheet.light),this.fire(\\\"data\\\",{dataType:\\\"style\\\"}),this.fire(\\\"style.load\\\")}},e.prototype._validateLayer=function(t){var e=this.sourceCaches[t.source];if(e){var r=t.sourceLayer;if(r){var n=e.getSource();(\\\"geojson\\\"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(\\\"error\\\",{error:new Error('Source layer \\\"'+r+'\\\" does not exist on source \\\"'+n.id+'\\\" as specified by style layer \\\"'+t.id+'\\\"')})}}},e.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()},e.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},e.prototype.hasTransitions=function(){var t=this;if(this.light&&this.light.hasTransition())return!0;for(var e in t.sourceCaches)if(t.sourceCaches[e].hasTransition())return!0;for(var r in t._layers)if(t._layers[r].hasTransition())return!0;return!1},e.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\\\"Style is not done loading\\\")},e.prototype.update=function(t){var e=this;if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),e._updatedSources){var a=e._updatedSources[i];\\\"reload\\\"===a?e._reloadSource(i):\\\"clear\\\"===a&&e._clearSource(i)}for(var o in e._updatedPaintProps)e._layers[o].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates(),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})}for(var s in e.sourceCaches)e.sourceCaches[s].used=!1;for(var l=0,c=e._order;l<c.length;l+=1){var u=c[l],f=e._layers[u];f.recalculate(t),!f.isHidden(t.zoom)&&f.source&&(e.sourceCaches[f.source].used=!0)}this.light.recalculate(t),this.z=t.zoom}},e.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\\\"updateLayers\\\",{layers:this._serializeLayers(t),removedIds:e})},e.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},e.prototype.setState=function(t){var e=this;if(this._checkLoaded(),g.emitErrors(this,g(t)))return!1;(t=u.clone(t)).layers=w(t.layers);var r=k(this.serialize(),t).filter(function(t){return!(t.command in E)});if(0===r.length)return!1;var n=r.filter(function(t){return!(t.command in C)});if(n.length>0)throw new Error(\\\"Unimplemented: \\\"+n.map(function(t){return t.command}).join(\\\", \\\")+\\\".\\\");return r.forEach(function(t){\\\"setTransition\\\"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"An image with this name already exists.\\\")});this.imageManager.addImage(t,e),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"No image with this name exists.\\\")});this.imageManager.removeImage(t),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(\\\"There is already a source with this ID\\\");if(!e.type)throw new Error(\\\"The type property must be defined, but the only the following properties were given: \\\"+Object.keys(e).join(\\\", \\\")+\\\".\\\");if(!([\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"].indexOf(e.type)>=0&&this._validate(g.source,\\\"sources.\\\"+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\\\"There is no source with this ID\\\");for(var r in e._layers)if(e._layers[r].source===t)return e.fire(\\\"error\\\",{error:new Error('Source \\\"'+t+'\\\" cannot be removed while layer \\\"'+r+'\\\" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(\\\"data\\\",{sourceDataType:\\\"metadata\\\",dataType:\\\"source\\\",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if(\\\"object\\\"==typeof t.source&&(this.addSource(n,t.source),t=u.clone(t),t=u.extend(t,{source:n})),!this._validate(g.layer,\\\"layers.\\\"+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]=\\\"clear\\\":(this._updatedSources[a.source]=\\\"reload\\\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be moved.\\\")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be removed.\\\")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot have zoom extent.\\\")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return u.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,\\\"layers.\\\"+r.id+\\\".filter\\\",e)||(r.filter=u.clone(e),this._updateLayer(r)));this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be filtered.\\\")})},e.prototype.getFilter=function(t){return u.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?u.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!u.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return u.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return u.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:u.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\\\"reload\\\",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var c=l[s];e.push(c)}}return e},e.prototype.queryRenderedFeatures=function(t,e,r,n){var i=this;e&&e.filter&&this._validate(g.filter,\\\"queryRenderedFeatures.filter\\\",e.filter);var a={};if(e&&e.layers){if(!Array.isArray(e.layers))return this.fire(\\\"error\\\",{error:\\\"parameters.layers must be an Array.\\\"}),[];for(var o=0,s=e.layers;o<s.length;o+=1){var l=s[o],c=i._layers[l];if(!c)return i.fire(\\\"error\\\",{error:\\\"The layer '\\\"+l+\\\"' does not exist in the map's style and cannot be queried for features.\\\"}),[];a[c.source]=!0}}var u=[];for(var f in i.sourceCaches)if(!e.layers||a[f]){var h=y.rendered(i.sourceCaches[f],i._layers,t,e,r,n,i.placement?i.placement.collisionIndex:null);u.push(h)}return this._flattenRenderedFeatures(u)},e.prototype.querySourceFeatures=function(t,e){e&&e.filter&&this._validate(g.filter,\\\"querySourceFeatures.filter\\\",e.filter);var r=this.sourceCaches[t];return r?y.source(r,e):[]},e.prototype.addSourceType=function(t,e,r){return m(t)?r(new Error('A source type called \\\"'+t+'\\\" already exists.')):(v(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\\\"loadWorkerSource\\\",{name:t,url:e.workerSourceURL},r):r(null,null))},e.prototype.getLight=function(){return this.light.getLight()},e.prototype.setLight=function(t){this._checkLoaded();var e=this.light.getLight(),r=!1;for(var n in t)if(!u.deepEqual(t[n],e[n])){r=!0;break}if(r){var i={now:p.now(),transition:u.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t),this.light.updateTransitions(i)}},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&g.emitErrors(this,t.call(g,u.extend({key:e,style:this.serialize(),value:r,styleSpec:b},n)))},e.prototype._remove=function(){for(var t in M.evented.off(\\\"pluginAvailable\\\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[t].clearTiles();this.dispatcher.remove()},e.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},e.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},e.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},e.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},e.prototype._updatePlacement=function(t,e,r){for(var n=this,i=!1,a=!1,o={},s=0,l=n._order;s<l.length;s+=1){var c=l[s],u=n._layers[c];if(\\\"symbol\\\"===u.type){if(!o[u.source]){var f=n.sourceCaches[u.source];o[u.source]=f.getRenderableIds().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 h=n.crossTileSymbolIndex.addLayer(u,o[u.source]);i=i||h}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(p.now()))&&(this.pauseablePlacement=new A(t,this._order,d,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,p.now()),a=!0),i&&this.pauseablePlacement.placement.setStale()),a||i)for(var g=0,m=n._order;g<m.length;g+=1){var v=m[g],y=n._layers[v];\\\"symbol\\\"===y.type&&n.placement.updateLayerOpacities(y,o[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(p.now())},e.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},e.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},e}(n);e.exports=L},{\\\"../render/glyph_manager\\\":86,\\\"../render/image_manager\\\":88,\\\"../render/line_atlas\\\":89,\\\"../source/geojson_source\\\":99,\\\"../source/query_features\\\":105,\\\"../source/rtl_text_plugin\\\":109,\\\"../source/source\\\":110,\\\"../source/source_cache\\\":111,\\\"../style-spec/deref\\\":120,\\\"../style-spec/diff\\\":121,\\\"../style-spec/reference/latest\\\":151,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dispatcher\\\":258,\\\"../util/evented\\\":260,\\\"../util/global_worker_pool\\\":262,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./light\\\":183,\\\"./load_sprite\\\":185,\\\"./pauseable_placement\\\":187,\\\"./style_layer\\\":191,\\\"./validate_style\\\":211,\\\"./zoom_history\\\":212}],191:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/reference/latest\\\"),a=t(\\\"./validate_style\\\"),o=t(\\\"../util/evented\\\"),s=t(\\\"./properties\\\"),l=s.Layout,c=s.Transitionable,u=(s.Transitioning,s.Properties,function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\\\"visible\\\",\\\"background\\\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\\\"source-layer\\\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new l(r.layout)),this._transitionablePaint=new c(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\\\"visibility\\\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!==e&&void 0!==e){var n=\\\"layers.\\\"+this.id+\\\".layout.\\\"+t;if(this._validate(a.layoutProperty,n,t,e,r))return}\\\"visibility\\\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\\\"none\\\"===e?e:\\\"visible\\\"},e.prototype.getPaintProperty=function(t){return n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.getTransition(t.slice(0,-\\\"-transition\\\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!==e&&void 0!==e){var i=\\\"layers.\\\"+this.id+\\\".paint.\\\"+t;if(this._validate(a.paintProperty,i,t,e,r))return}n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.setTransition(t.slice(0,-\\\"-transition\\\".length),e||void 0):this._transitionablePaint.setValue(t,e)},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){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},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\\\"none\\\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\\\"none\\\"),n.filterObject(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,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=u;var f={circle:t(\\\"./style_layer/circle_style_layer\\\"),heatmap:t(\\\"./style_layer/heatmap_style_layer\\\"),hillshade:t(\\\"./style_layer/hillshade_style_layer\\\"),fill:t(\\\"./style_layer/fill_style_layer\\\"),\\\"fill-extrusion\\\":t(\\\"./style_layer/fill_extrusion_style_layer\\\"),line:t(\\\"./style_layer/line_style_layer\\\"),symbol:t(\\\"./style_layer/symbol_style_layer\\\"),background:t(\\\"./style_layer/background_style_layer\\\"),raster:t(\\\"./style_layer/raster_style_layer\\\")};u.create=function(t){return new f[t.type](t)}},{\\\"../style-spec/reference/latest\\\":151,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./style_layer/background_style_layer\\\":192,\\\"./style_layer/circle_style_layer\\\":194,\\\"./style_layer/fill_extrusion_style_layer\\\":196,\\\"./style_layer/fill_style_layer\\\":198,\\\"./style_layer/heatmap_style_layer\\\":200,\\\"./style_layer/hillshade_style_layer\\\":202,\\\"./style_layer/line_style_layer\\\":204,\\\"./style_layer/raster_style_layer\\\":206,\\\"./style_layer/symbol_style_layer\\\":208,\\\"./validate_style\\\":211}],192:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./background_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./background_style_layer_properties\\\":193}],193:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({\\\"background-color\\\":new o(n.paint_background[\\\"background-color\\\"]),\\\"background-pattern\\\":new s(n.paint_background[\\\"background-pattern\\\"]),\\\"background-opacity\\\":new o(n.paint_background[\\\"background-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],194:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/circle_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiPoint,o=t(\\\"../query_utils\\\"),s=o.getMaximumPaintValue,l=o.translateDistance,c=o.translate,u=t(\\\"./circle_style_layer_properties\\\"),f=t(\\\"../properties\\\"),h=(f.Transitionable,f.Transitioning,f.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s(\\\"circle-radius\\\",this,e)+s(\\\"circle-stroke-width\\\",this,e)+l(this.paint.get(\\\"circle-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=c(t,this.paint.get(\\\"circle-translate\\\"),this.paint.get(\\\"circle-translate-anchor\\\"),i,o),l=this.paint.get(\\\"circle-radius\\\").evaluate(e)*o,u=this.paint.get(\\\"circle-stroke-width\\\").evaluate(e)*o;return a(s,r,l+u)},e}(n));e.exports=h},{\\\"../../data/bucket/circle_bucket\\\":42,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./circle_style_layer_properties\\\":195}],195:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"circle-radius\\\":new s(n.paint_circle[\\\"circle-radius\\\"]),\\\"circle-color\\\":new s(n.paint_circle[\\\"circle-color\\\"]),\\\"circle-blur\\\":new s(n.paint_circle[\\\"circle-blur\\\"]),\\\"circle-opacity\\\":new s(n.paint_circle[\\\"circle-opacity\\\"]),\\\"circle-translate\\\":new o(n.paint_circle[\\\"circle-translate\\\"]),\\\"circle-translate-anchor\\\":new o(n.paint_circle[\\\"circle-translate-anchor\\\"]),\\\"circle-pitch-scale\\\":new o(n.paint_circle[\\\"circle-pitch-scale\\\"]),\\\"circle-pitch-alignment\\\":new o(n.paint_circle[\\\"circle-pitch-alignment\\\"]),\\\"circle-stroke-width\\\":new s(n.paint_circle[\\\"circle-stroke-width\\\"]),\\\"circle-stroke-color\\\":new s(n.paint_circle[\\\"circle-stroke-color\\\"]),\\\"circle-stroke-opacity\\\":new s(n.paint_circle[\\\"circle-stroke-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],196:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_extrusion_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,c=t(\\\"./fill_extrusion_style_layer_properties\\\"),u=t(\\\"../properties\\\"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-extrusion-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-extrusion-translate\\\"),this.paint.get(\\\"fill-extrusion-translate-anchor\\\"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"fill-extrusion-opacity\\\")&&\\\"none\\\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=f},{\\\"../../data/bucket/fill_extrusion_bucket\\\":46,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_extrusion_style_layer_properties\\\":197}],197:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({\\\"fill-extrusion-opacity\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-opacity\\\"]),\\\"fill-extrusion-color\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-color\\\"]),\\\"fill-extrusion-translate\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate\\\"]),\\\"fill-extrusion-translate-anchor\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate-anchor\\\"]),\\\"fill-extrusion-pattern\\\":new l(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-pattern\\\"]),\\\"fill-extrusion-height\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-height\\\"]),\\\"fill-extrusion-base\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-base\\\"])}));e.exports={paint:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],198:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,c=t(\\\"./fill_style_layer_properties\\\"),u=t(\\\"../properties\\\"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue(\\\"fill-outline-color\\\")&&(this.paint._values[\\\"fill-outline-color\\\"]=this.paint._values[\\\"fill-color\\\"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-translate\\\"),this.paint.get(\\\"fill-translate-anchor\\\"),i,o);return a(s,r)},e}(n));e.exports=f},{\\\"../../data/bucket/fill_bucket\\\":44,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_style_layer_properties\\\":199}],199:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({\\\"fill-antialias\\\":new o(n.paint_fill[\\\"fill-antialias\\\"]),\\\"fill-opacity\\\":new s(n.paint_fill[\\\"fill-opacity\\\"]),\\\"fill-color\\\":new s(n.paint_fill[\\\"fill-color\\\"]),\\\"fill-outline-color\\\":new s(n.paint_fill[\\\"fill-outline-color\\\"]),\\\"fill-translate\\\":new o(n.paint_fill[\\\"fill-translate\\\"]),\\\"fill-translate-anchor\\\":new o(n.paint_fill[\\\"fill-translate-anchor\\\"]),\\\"fill-pattern\\\":new l(n.paint_fill[\\\"fill-pattern\\\"])}));e.exports={paint:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],200:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/heatmap_bucket\\\"),a=t(\\\"../../util/image\\\").RGBAImage,o=t(\\\"./heatmap_style_layer_properties\\\"),s=t(\\\"../properties\\\"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\\\"heatmap-color\\\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values[\\\"heatmap-color\\\"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n<r;n+=4){var i=t.evaluate({heatmapDensity:n/r});e[n+0]=Math.floor(255*i.r/i.a),e[n+1]=Math.floor(255*i.g/i.a),e[n+2]=Math.floor(255*i.b/i.a),e[n+3]=Math.floor(255*i.a)}this.colorRamp=new a({width:256,height:1},e),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}(n));e.exports=l},{\\\"../../data/bucket/heatmap_bucket\\\":47,\\\"../../util/image\\\":263,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./heatmap_style_layer_properties\\\":201}],201:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty),c=new a({\\\"heatmap-radius\\\":new s(n.paint_heatmap[\\\"heatmap-radius\\\"]),\\\"heatmap-weight\\\":new s(n.paint_heatmap[\\\"heatmap-weight\\\"]),\\\"heatmap-intensity\\\":new o(n.paint_heatmap[\\\"heatmap-intensity\\\"]),\\\"heatmap-color\\\":new l(n.paint_heatmap[\\\"heatmap-color\\\"]),\\\"heatmap-opacity\\\":new o(n.paint_heatmap[\\\"heatmap-opacity\\\"])});e.exports={paint:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],202:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./hillshade_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"hillshade-exaggeration\\\")&&\\\"none\\\"!==this.visibility},e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./hillshade_style_layer_properties\\\":203}],203:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"hillshade-illumination-direction\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-direction\\\"]),\\\"hillshade-illumination-anchor\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-anchor\\\"]),\\\"hillshade-exaggeration\\\":new o(n.paint_hillshade[\\\"hillshade-exaggeration\\\"]),\\\"hillshade-shadow-color\\\":new o(n.paint_hillshade[\\\"hillshade-shadow-color\\\"]),\\\"hillshade-highlight-color\\\":new o(n.paint_hillshade[\\\"hillshade-highlight-color\\\"]),\\\"hillshade-accent-color\\\":new o(n.paint_hillshade[\\\"hillshade-accent-color\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],204:[function(t,e,r){function n(t,e){return e>0?e+2*t:t}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../style_layer\\\"),o=t(\\\"../../data/bucket/line_bucket\\\"),s=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiLine,l=t(\\\"../query_utils\\\"),c=l.getMaximumPaintValue,u=l.translateDistance,f=l.translate,h=t(\\\"./line_style_layer_properties\\\"),p=t(\\\"../../util/util\\\").extend,d=t(\\\"../evaluation_parameters\\\"),g=t(\\\"../properties\\\"),m=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(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){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(h.paint.properties[\\\"line-width\\\"].specification));m.useIntegerZoom=!0;var v=function(t){function e(e){t.call(this,e,h)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\\\"line-floorwidth\\\"]=m.possiblyEvaluate(this._transitioningPaint._values[\\\"line-width\\\"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(c(\\\"line-width\\\",this,e),c(\\\"line-gap-width\\\",this,e)),i=c(\\\"line-offset\\\",this,e);return r/2+Math.abs(i)+u(this.paint.get(\\\"line-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var c=f(t,this.paint.get(\\\"line-translate\\\"),this.paint.get(\\\"line-translate-anchor\\\"),o,l),u=l/2*n(this.paint.get(\\\"line-width\\\").evaluate(e),this.paint.get(\\\"line-gap-width\\\").evaluate(e)),h=this.paint.get(\\\"line-offset\\\").evaluate(e);return h&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var c=o[l-1],u=o[l],f=o[l+1],h=0===l?n:u.sub(c)._unit()._perp(),p=l===o.length-1?n:f.sub(u)._unit()._perp(),d=h._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(u))}r.push(s)}return r}(r,h*l)),s(c,r,u)},e}(a);e.exports=v},{\\\"../../data/bucket/line_bucket\\\":49,\\\"../../util/intersection_tests\\\":264,\\\"../../util/util\\\":275,\\\"../evaluation_parameters\\\":182,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./line_style_layer_properties\\\":205,\\\"@mapbox/point-geometry\\\":4}],205:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({\\\"line-cap\\\":new o(n.layout_line[\\\"line-cap\\\"]),\\\"line-join\\\":new s(n.layout_line[\\\"line-join\\\"]),\\\"line-miter-limit\\\":new o(n.layout_line[\\\"line-miter-limit\\\"]),\\\"line-round-limit\\\":new o(n.layout_line[\\\"line-round-limit\\\"])})),u=new a({\\\"line-opacity\\\":new s(n.paint_line[\\\"line-opacity\\\"]),\\\"line-color\\\":new s(n.paint_line[\\\"line-color\\\"]),\\\"line-translate\\\":new o(n.paint_line[\\\"line-translate\\\"]),\\\"line-translate-anchor\\\":new o(n.paint_line[\\\"line-translate-anchor\\\"]),\\\"line-width\\\":new s(n.paint_line[\\\"line-width\\\"]),\\\"line-gap-width\\\":new s(n.paint_line[\\\"line-gap-width\\\"]),\\\"line-offset\\\":new s(n.paint_line[\\\"line-offset\\\"]),\\\"line-blur\\\":new s(n.paint_line[\\\"line-blur\\\"]),\\\"line-dasharray\\\":new l(n.paint_line[\\\"line-dasharray\\\"]),\\\"line-pattern\\\":new l(n.paint_line[\\\"line-pattern\\\"])});e.exports={paint:u,layout:c}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],206:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./raster_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./raster_style_layer_properties\\\":207}],207:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"raster-opacity\\\":new o(n.paint_raster[\\\"raster-opacity\\\"]),\\\"raster-hue-rotate\\\":new o(n.paint_raster[\\\"raster-hue-rotate\\\"]),\\\"raster-brightness-min\\\":new o(n.paint_raster[\\\"raster-brightness-min\\\"]),\\\"raster-brightness-max\\\":new o(n.paint_raster[\\\"raster-brightness-max\\\"]),\\\"raster-saturation\\\":new o(n.paint_raster[\\\"raster-saturation\\\"]),\\\"raster-contrast\\\":new o(n.paint_raster[\\\"raster-contrast\\\"]),\\\"raster-fade-duration\\\":new o(n.paint_raster[\\\"raster-fade-duration\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],208:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/symbol_bucket\\\"),a=t(\\\"../../util/token\\\"),o=t(\\\"../../style-spec/expression\\\").isExpression,s=t(\\\"./symbol_style_layer_properties\\\"),l=t(\\\"../properties\\\"),c=(l.Transitionable,l.Transitioning,l.Layout,l.PossiblyEvaluated,function(t){function e(e){t.call(this,e,s)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\\\"auto\\\"===this.layout.get(\\\"icon-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"viewport\\\"),\\\"auto\\\"===this.layout.get(\\\"text-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"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\\\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||o(n.value)?r:a(e.properties,r)},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(n));e.exports=c},{\\\"../../data/bucket/symbol_bucket\\\":51,\\\"../../style-spec/expression\\\":139,\\\"../../util/token\\\":274,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./symbol_style_layer_properties\\\":209}],209:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"symbol-placement\\\":new o(n.layout_symbol[\\\"symbol-placement\\\"]),\\\"symbol-spacing\\\":new o(n.layout_symbol[\\\"symbol-spacing\\\"]),\\\"symbol-avoid-edges\\\":new o(n.layout_symbol[\\\"symbol-avoid-edges\\\"]),\\\"icon-allow-overlap\\\":new o(n.layout_symbol[\\\"icon-allow-overlap\\\"]),\\\"icon-ignore-placement\\\":new o(n.layout_symbol[\\\"icon-ignore-placement\\\"]),\\\"icon-optional\\\":new o(n.layout_symbol[\\\"icon-optional\\\"]),\\\"icon-rotation-alignment\\\":new o(n.layout_symbol[\\\"icon-rotation-alignment\\\"]),\\\"icon-size\\\":new s(n.layout_symbol[\\\"icon-size\\\"]),\\\"icon-text-fit\\\":new o(n.layout_symbol[\\\"icon-text-fit\\\"]),\\\"icon-text-fit-padding\\\":new o(n.layout_symbol[\\\"icon-text-fit-padding\\\"]),\\\"icon-image\\\":new s(n.layout_symbol[\\\"icon-image\\\"]),\\\"icon-rotate\\\":new s(n.layout_symbol[\\\"icon-rotate\\\"]),\\\"icon-padding\\\":new o(n.layout_symbol[\\\"icon-padding\\\"]),\\\"icon-keep-upright\\\":new o(n.layout_symbol[\\\"icon-keep-upright\\\"]),\\\"icon-offset\\\":new s(n.layout_symbol[\\\"icon-offset\\\"]),\\\"icon-anchor\\\":new s(n.layout_symbol[\\\"icon-anchor\\\"]),\\\"icon-pitch-alignment\\\":new o(n.layout_symbol[\\\"icon-pitch-alignment\\\"]),\\\"text-pitch-alignment\\\":new o(n.layout_symbol[\\\"text-pitch-alignment\\\"]),\\\"text-rotation-alignment\\\":new o(n.layout_symbol[\\\"text-rotation-alignment\\\"]),\\\"text-field\\\":new s(n.layout_symbol[\\\"text-field\\\"]),\\\"text-font\\\":new s(n.layout_symbol[\\\"text-font\\\"]),\\\"text-size\\\":new s(n.layout_symbol[\\\"text-size\\\"]),\\\"text-max-width\\\":new s(n.layout_symbol[\\\"text-max-width\\\"]),\\\"text-line-height\\\":new o(n.layout_symbol[\\\"text-line-height\\\"]),\\\"text-letter-spacing\\\":new s(n.layout_symbol[\\\"text-letter-spacing\\\"]),\\\"text-justify\\\":new s(n.layout_symbol[\\\"text-justify\\\"]),\\\"text-anchor\\\":new s(n.layout_symbol[\\\"text-anchor\\\"]),\\\"text-max-angle\\\":new o(n.layout_symbol[\\\"text-max-angle\\\"]),\\\"text-rotate\\\":new s(n.layout_symbol[\\\"text-rotate\\\"]),\\\"text-padding\\\":new o(n.layout_symbol[\\\"text-padding\\\"]),\\\"text-keep-upright\\\":new o(n.layout_symbol[\\\"text-keep-upright\\\"]),\\\"text-transform\\\":new s(n.layout_symbol[\\\"text-transform\\\"]),\\\"text-offset\\\":new s(n.layout_symbol[\\\"text-offset\\\"]),\\\"text-allow-overlap\\\":new o(n.layout_symbol[\\\"text-allow-overlap\\\"]),\\\"text-ignore-placement\\\":new o(n.layout_symbol[\\\"text-ignore-placement\\\"]),\\\"text-optional\\\":new o(n.layout_symbol[\\\"text-optional\\\"])})),c=new a({\\\"icon-opacity\\\":new s(n.paint_symbol[\\\"icon-opacity\\\"]),\\\"icon-color\\\":new s(n.paint_symbol[\\\"icon-color\\\"]),\\\"icon-halo-color\\\":new s(n.paint_symbol[\\\"icon-halo-color\\\"]),\\\"icon-halo-width\\\":new s(n.paint_symbol[\\\"icon-halo-width\\\"]),\\\"icon-halo-blur\\\":new s(n.paint_symbol[\\\"icon-halo-blur\\\"]),\\\"icon-translate\\\":new o(n.paint_symbol[\\\"icon-translate\\\"]),\\\"icon-translate-anchor\\\":new o(n.paint_symbol[\\\"icon-translate-anchor\\\"]),\\\"text-opacity\\\":new s(n.paint_symbol[\\\"text-opacity\\\"]),\\\"text-color\\\":new s(n.paint_symbol[\\\"text-color\\\"]),\\\"text-halo-color\\\":new s(n.paint_symbol[\\\"text-halo-color\\\"]),\\\"text-halo-width\\\":new s(n.paint_symbol[\\\"text-halo-width\\\"]),\\\"text-halo-blur\\\":new s(n.paint_symbol[\\\"text-halo-blur\\\"]),\\\"text-translate\\\":new o(n.paint_symbol[\\\"text-translate\\\"]),\\\"text-translate-anchor\\\":new o(n.paint_symbol[\\\"text-translate-anchor\\\"])});e.exports={paint:c,layout:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],210:[function(t,e,r){var n=t(\\\"./style_layer\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../style-spec/feature_filter\\\"),o=t(\\\"../style-spec/group_by_layout\\\"),s=function(t){t&&this.replace(t)};s.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},s.prototype.update=function(t,e){for(var r=this,s=0,l=t;s<l.length;s+=1){var c=l[s];r._layerConfigs[c.id]=c;var u=r._layers[c.id]=n.create(c);u._featureFilter=a(u.filter)}for(var f=0,h=e;f<h.length;f+=1){var p=h[f];delete r._layerConfigs[p],delete r._layers[p]}this.familiesBySource={};for(var d=0,g=o(i.values(this._layerConfigs));d<g.length;d+=1){var m=g[d].map(function(t){return r._layers[t.id]}),v=m[0];if(\\\"none\\\"!==v.visibility){var y=v.source||\\\"\\\",x=r.familiesBySource[y];x||(x=r.familiesBySource[y]={});var b=v.sourceLayer||\\\"_geojsonTileLayer\\\",_=x[b];_||(_=x[b]=[]),_.push(m)}}},e.exports=s},{\\\"../style-spec/feature_filter\\\":148,\\\"../style-spec/group_by_layout\\\":150,\\\"../util/util\\\":275,\\\"./style_layer\\\":191}],211:[function(t,e,r){e.exports=t(\\\"../style-spec/validate_style.min\\\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0,n=e;r<n.length;r+=1){var i=n[r].message;t.fire(\\\"error\\\",{error:new Error(i)})}return!0}return!1}},{\\\"../style-spec/validate_style.min\\\":181}],212:[function(t,e,r){var n=function(){this.first=!0};n.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))},e.exports=n},{}],213:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../util/web_worker_transfer\\\").register,a=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(n);i(\\\"Anchor\\\",a),e.exports=a},{\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],214:[function(t,e,r){e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var p=u.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}},{}],215:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports=function(t,e,r,i,a){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 f=l[u],h=l[u+1];f.x<e&&h.x<e||(f.x<e?f=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x<e&&(h=new n(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y<r&&h.y<r||(f.y<r?f=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y<r&&(h=new n(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x>=i&&h.x>=i||(f.x>=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}},{\\\"@mapbox/point-geometry\\\":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,c){var g=h-f,m=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,m,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,m=n+1,v=d,y=-i/2,x=y-i/4;do{if(--m<0){if(v>y)return;m=0;break}v-=e[m].dist(g),g=e[m]}while(v>x);for(var b=e[m].dist(e[m+1]),_=-p;_<f+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>i&&(k+=w-i),!(k<v)){for(;v+b<k;){if(v+=b,++m+1>=e.length)return;b=e[m].dist(e[m+1])}var M=k-v,A=e[m],T=e[m+1].sub(A)._unit()._mult(M)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}},e.exports=n},{}],217:[function(t,e,r){function n(t,e,r){t[e+4]=r?1:0}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../util/intersection_tests\\\"),o=t(\\\"./grid_index\\\"),s=(t(\\\"@mapbox/gl-matrix\\\").mat4,t(\\\"../symbol/projection\\\")),l=function(t,e,r){void 0===e&&(e=new o(t.width+200,t.height+200,25)),void 0===r&&(r=new o(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};l.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,c=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,c)?{box:[],offscreen:!1}:{box:[o,s,l,c],offscreen:this.isOffscreen(o,s,l,c)}},l.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},l.prototype.placeCollisionCircles=function(t,e,r,a,o,l,c,u,f,h,p,d,g){var m=this,v=[],y=this.projectAnchor(h,l.anchorX,l.anchorY),x=f/24,b=l.lineOffsetX*f,_=l.lineOffsetY*f,w=new i(l.anchorX,l.anchorY),k=s.project(w,p).point,M=s.placeFirstAndLastGlyph(x,u,b,_,!1,k,w,l,c,p,{},!0),A=!1,T=!0,S=y.perspectiveRatio*a,C=1/(a*r),E=0,L=0;M&&(E=this.approximateTileDistance(M.first.tileDistance,M.first.angle,C,y.cameraDistance,g),L=this.approximateTileDistance(M.last.tileDistance,M.last.angle,C,y.cameraDistance,g));for(var z=0;z<t.length;z+=5){var P=t[z],D=t[z+1],O=t[z+2],I=t[z+3];if(!M||I<-E||I>L)n(t,z,!1);else{var R=m.projectPoint(h,P,D),B=O*S;if(v.length>0){var F=R.x-v[v.length-4],N=R.y-v[v.length-3];if(B*B*2>F*F+N*N&&z+8<t.length){var j=t[z+8];if(j>-E&&j<L){n(t,z,!1);continue}}}var V=z/5;if(v.push(R.x,R.y,B,V),n(t,z,!0),T=T&&m.isOffscreen(R.x-B,R.y-B,R.x+B,R.y+B),!e&&m.grid.hitTestCircle(R.x,R.y,B)){if(!d)return{circles:[],offscreen:!1};A=!0}}}return{circles:A?[]:v,offscreen:T}},l.prototype.queryRenderedSymbols=function(t,e,r,n,o,s){var l={},c=[];if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return c;for(var u=this.transform.calculatePosMatrix(e.toUnwrapped()),f=[],h=1/0,p=1/0,d=-1/0,g=-1/0,m=0;m<t.length;m++)for(var v=t[m],y=0;y<v.length;y++){var x=this.projectPoint(u,v[y].x,v[y].y);h=Math.min(h,x.x),p=Math.min(p,x.y),d=Math.max(d,x.x),g=Math.max(g,x.y),f.push(x)}for(var b=e.key,_=[],w=this.grid.query(h,p,d,g),k=0;k<w.length;k++)w[k].sourceID===o&&w[k].tileID===b&&s[w[k].bucketInstanceId]&&_.push(w[k].boxIndex);for(var M=this.ignoredGrid.query(h,p,d,g),A=0;A<M.length;A++)M[A].sourceID===o&&M[A].tileID===b&&s[M[A].bucketInstanceId]&&_.push(M[A].boxIndex);for(var T=0;T<_.length;T++){var S=n.get(_[T]),C=S.sourceLayerIndex,E=S.featureIndex,L=S.bucketIndex;if(void 0===l[C]&&(l[C]={}),void 0===l[C][E]&&(l[C][E]={}),!l[C][E][L]){var z=this.projectAndGetPerspectiveRatio(u,S.anchorPointX,S.anchorPointY),P=r*z.perspectiveRatio,D=S.x1*P+z.point.x,O=S.y1*P+z.point.y,I=S.x2*P+z.point.x,R=S.y2*P+z.point.y,B=[new i(D,O),new i(I,O),new i(I,R),new i(D,R)];a.polygonIntersectsPolygon(f,B)&&(l[C][E][L]=!0,c.push(_[T]))}}return c},l.prototype.insertCollisionBox=function(t,e,r,n,i,a){var o={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a};(e?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])},l.prototype.insertCollisionCircles=function(t,e,r,n,i,a){for(var o=e?this.ignoredGrid:this.grid,s=0;s<t.length;s+=4){var l={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a+t[s+3]};o.insertCircle(l,t[s],t[s+1],t[s+2])}},l.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},l.prototype.projectPoint=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100)},l.prototype.projectAndGetPerspectiveRatio=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{point:new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5}},l.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{\\\"../symbol/projection\\\":224,\\\"../util/intersection_tests\\\":264,\\\"./grid_index\\\":220,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],218:[function(t,e,r){var n=t(\\\"../data/extent\\\"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.key;n.indexedSymbolInstances[s]||(n.indexedSymbolInstances[s]=[]),n.indexedSymbolInstances[s].push({crossTileID:o.crossTileID,coord:n.getScaledCoordinates(o,t)})}};a.prototype.getScaledCoordinates=function(t,e){var r=e.canonical.z-this.tileID.canonical.z,a=i/Math.pow(2,r),o=t.anchor;return{x:Math.floor((e.canonical.x*n+o.x)*a),y:Math.floor((e.canonical.y*n+o.y)*a)}},a.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),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),c=0,u=s;c<u.length;c+=1){var f=u[c];if(Math.abs(f.coord.x-l.x)<=n&&Math.abs(f.coord.y-l.y)<=n&&!r[f.crossTileID]){r[f.crossTileID]=!0,o.crossTileID=f.crossTileID;break}}}}};var o=function(){this.maxCrossTileID=0};o.prototype.generate=function(){return++this.maxCrossTileID};var s=function(){this.indexes={},this.usedCrossTileIDs={}};s.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,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var o=this.usedCrossTileIDs[t.overscaledZ];for(var s in this.indexes){var l=this.indexes[s];if(Number(s)>t.overscaledZ)for(var c in l){var u=l[c];u.tileID.isChildOf(t)&&u.findMatches(e.symbolInstances,t,o)}else{var f=l[t.scaledTo(Number(s)).key];f&&f.findMatches(e.symbolInstances,t,o)}}for(var h=0,p=e.symbolInstances;h<p.length;h+=1){var d=p[h];d.crossTileID||(d.crossTileID=r.generate(),o[d.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new a(t,e.symbolInstances,e.bucketInstanceId),!0},s.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},s.prototype.removeStaleBuckets=function(t){var e=this,r=!1;for(var n in e.indexes){var i=e.indexes[n];for(var a in i)t[i[a].bucketInstanceId]||(e.removeBucketCrossTileIDs(n,i[a]),delete i[a],r=!0)}return r};var l=function(){this.layerIndexes={},this.crossTileIDs=new o,this.maxBucketInstanceId=0};l.prototype.addLayer=function(t,e){var r=this.layerIndexes[t.id];void 0===r&&(r=this.layerIndexes[t.id]=new s);for(var n=!1,i={},a=0,o=e;a<o.length;a+=1){var l=o[a],c=l.getBucket(t);c&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),r.addBucket(l.tileID,c,this.crossTileIDs)&&(n=!0),i[c.bucketInstanceId]=!0)}return r.removeStaleBuckets(i)&&(n=!0),n},l.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]},e.exports=l},{\\\"../data/extent\\\":53}],219:[function(t,e,r){var n=t(\\\"../style-spec/util/interpolate\\\").number,i=t(\\\"../symbol/anchor\\\"),a=t(\\\"./check_max_angle\\\");e.exports=function(t,e,r,o,s,l,c,u,f){var h=o?.6*l*c:0,p=Math.max(o?o.right-o.left:0,s?s.right-s.left:0),d=0===t[0].x||t[0].x===f||0===t[0].y||t[0].y===f;return e-p*c<e/4&&(e=p*c+e/4),function t(e,r,o,s,l,c,u,f,h){for(var p=c/2,d=0,g=0;g<e.length-1;g++)d+=e[g].dist(e[g+1]);for(var m=0,v=r-o,y=[],x=0;x<e.length-1;x++){for(var b=e[x],_=e[x+1],w=b.dist(_),k=_.angleTo(b);v+o<m+w;){var M=((v+=o)-m)/w,A=n(b.x,_.x,M),T=n(b.y,_.y,M);if(A>=0&&A<h&&T>=0&&T<h&&v-p>=0&&v+p<=d){var S=new i(A,T,k,x);S._round(),s&&!a(e,S,c,s,l)||y.push(S)}}m+=w}return f||y.length||u||(y=t(e,m/2,o,s,l,c,u,!0,h)),y}(t,d?e/2*u%e:(p/2+2*l)*c*u%e,e,h,r,p*c,d,!1,f)}},{\\\"../style-spec/util/interpolate\\\":158,\\\"../symbol/anchor\\\":213,\\\"./check_max_angle\\\":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.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};n.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.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)},n.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},n.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},n.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];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]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];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(s._circleAndRectCollide(m[b],m[b+1],m[b+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;a.push(s.circleKeys[x])}}}},n.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,u[d+0],u[d+1],u[d+2],u[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];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._circlesCollide(m[b],m[b+1],m[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),c=this._convertToXCellCoord(r),u=this._convertToYCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.xCellCount*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},n.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},n.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\\\":\\\"+n.x+\\\":\\\"+n.y}for(var a={},o={},s=[],l=0,c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text;if(h){var p=i(h,f),d=i(h,f,!0);if(p in o&&d in a&&o[p]!==a[d]){var g=n(p,d,f),m=r(p,d,s[g].geometry);delete a[p],delete o[d],o[i(h,s[m].geometry,!0)]=m,s[g].geometry=null}else p in o?r(p,d,f):d in a?n(p,d,f):(e(c),a[p]=l-1,o[d]=l-1)}else e(c)}return s.filter(function(t){return t.geometry})}},{}],222:[function(t,e,r){var n=t(\\\"../util/web_worker_transfer\\\").register,i=function(){this.opacity=0,this.targetOpacity=0,this.time=0};i.prototype.clone=function(){var t=new i;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},n(\\\"OpacityState\\\",i),e.exports=i},{\\\"../util/web_worker_transfer\\\":278}],223:[function(t,e,r){function n(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}function i(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*g+e*m+r*v+e*y+r*x+e*b+r*_+e}var a=t(\\\"./collision_index\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"./symbol_size\\\"),l=t(\\\"./projection\\\"),c=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,u=t(\\\"../source/pixels_to_tile_units\\\"),f=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};f.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var h=function(t,e,r,n,i){this.text=new f(t?t.text:null,e,r,i),this.icon=new f(t?t.icon:null,e,n,i)};h.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var p=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},d=function(t,e){this.transform=t.clone(),this.collisionIndex=new a(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e};d.prototype.placeLayerTile=function(t,e,r,n){var i=e.getBucket(t);if(i){var a=i.layers[0].layout,s=Math.pow(2,this.transform.zoom-e.tileID.overscaledZ),c=e.tileSize/o,f=this.transform.calculatePosMatrix(e.tileID.toUnwrapped()),h=l.getLabelPlaneMatrix(f,\\\"map\\\"===a.get(\\\"text-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"text-rotation-alignment\\\"),this.transform,u(e,1,this.transform.zoom)),p=l.getLabelPlaneMatrix(f,\\\"map\\\"===a.get(\\\"icon-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"icon-rotation-alignment\\\"),this.transform,u(e,1,this.transform.zoom));this.placeLayerBucket(i,f,h,p,s,c,r,n,e.collisionBoxArray,e.tileID.key,t.source)}},d.prototype.placeLayerBucket=function(t,e,r,n,i,a,o,l,u,f,h){for(var d=this,g=t.layers[0].layout,m=s.evaluateSizeForZoom(t.textSizeData,this.transform.zoom,c.properties[\\\"text-size\\\"]),v=!t.hasTextData()||g.get(\\\"text-optional\\\"),y=!t.hasIconData()||g.get(\\\"icon-optional\\\"),x=0,b=t.symbolInstances;x<b.length;x+=1){var _=b[x];if(!l[_.crossTileID]){var w=!1,k=!1,M=!0,A=null,T=null,S=null;_.collisionArrays||(_.collisionArrays=t.deserializeCollisionBoxes(u,_.textBoxStartIndex,_.textBoxEndIndex,_.iconBoxStartIndex,_.iconBoxEndIndex)),_.collisionArrays.textBox&&(w=(A=d.collisionIndex.placeCollisionBox(_.collisionArrays.textBox,g.get(\\\"text-allow-overlap\\\"),a,e)).box.length>0,M=M&&A.offscreen);var C=_.collisionArrays.textCircles;if(C){var E=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,m,E);T=d.collisionIndex.placeCollisionCircles(C,g.get(\\\"text-allow-overlap\\\"),i,a,_.key,E,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,\\\"map\\\"===g.get(\\\"text-pitch-alignment\\\")),w=g.get(\\\"text-allow-overlap\\\")||T.circles.length>0,M=M&&T.offscreen}_.collisionArrays.iconBox&&(k=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get(\\\"icon-allow-overlap\\\"),a,e)).box.length>0,M=M&&S.offscreen),v||y?y?v||(k=k&&w):w=k&&w:k=w=k&&w,w&&A&&d.collisionIndex.insertCollisionBox(A.box,g.get(\\\"text-ignore-placement\\\"),f,h,t.bucketInstanceId,_.textBoxStartIndex),k&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get(\\\"icon-ignore-placement\\\"),f,h,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get(\\\"text-ignore-placement\\\"),f,h,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,k,M||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new h(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new h(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var c in a){var u=a[c];if(!r.opacities[c]){var f=new h(u,i,!1,!1);f.isHidden()||(r.opacities[c]=f,n=n||u.text.placed||u.icon.placed)}}n?this.lastPlacementChangeTime=e:\\\"number\\\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},d.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var a=t.layers[0].layout,o=new h(null,0,a.get(\\\"text-allow-overlap\\\"),a.get(\\\"icon-allow-overlap\\\"),!0),s=0;s<t.symbolInstances.length;s++){var l=t.symbolInstances[s],c=e[l.crossTileID],u=this.opacities[l.crossTileID];u?c&&(u=o):(u=o,this.opacities[l.crossTileID]=u),e[l.crossTileID]=!0;var f=l.numGlyphVertices>0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(f){for(var d=i(u.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,m=0;m<g;m++)t.text.opacityVertexArray.emplaceBack(d);for(var v=0,y=l.placedTextSymbolIndices;v<y.length;v+=1){var x=y[v];t.text.placedSymbolArray.get(x).hidden=u.text.isHidden()}}if(p){for(var b=i(u.icon),_=0;_<l.numIconVertices/4;_++)t.icon.opacityVertexArray.emplaceBack(b);t.icon.placedSymbolArray.get(s).hidden=u.icon.isHidden()}l.collisionArrays||(l.collisionArrays=t.deserializeCollisionBoxes(r,l.textBoxStartIndex,l.textBoxEndIndex,l.iconBoxStartIndex,l.iconBoxEndIndex));var w=l.collisionArrays;if(w){w.textBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,u.text.placed,!1),w.iconBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,u.icon.placed,!1);var k=w.textCircles;if(k&&t.hasCollisionCircleData())for(var M=0;M<k.length;M+=5){var A=c||0===k[M+4];n(t.collisionCircle.collisionVertexArray,u.text.placed,A)}}}t.sortFeatures(this.transform.angle),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},d.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},d.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},d.prototype.stillRecent=function(t){return\\\"undefined\\\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),m=Math.pow(2,24),v=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{\\\"../data/extent\\\":53,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"./collision_index\\\":217,\\\"./projection\\\":224,\\\"./symbol_size\\\":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];f(r,r,e);var n=r[3];return{point:new h(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(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 a(t,e,r,n,i,a,o,s,l,u,f,h){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,m=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(p-1),y=c(t*m,r,n,i,a,o,s.segment,d,g,l,u,f,h);if(!y)return null;var x=c(t*v,r,n,i,a,o,s.segment,d,g,l,u,f,h);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.y<r.y:e.x>r.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,u,f,p,d,g,m,y,x,b){var _,w=e/24,k=t.lineOffsetX*e,M=t.lineOffsetY*e;if(t.numGlyphs>1){var A=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,C=a(w,p,k,M,r,m,y,t,d,u,x,!1);if(!C)return{notEnoughRoom:!0};var E=n(C.first.point,f).point,L=n(C.last.point,f).point;if(i&&!r){var z=o(t.writingMode,E,L,b);if(z)return z}_=[C.first];for(var P=t.glyphStartIndex+1;P<A-1;P++)_.push(c(w*p.getoffsetX(P),k,M,r,m,y,t.segment,T,S,d,u,x,!1));_.push(C.last)}else{if(i&&!r){var D=n(y,s).point,O=t.lineStartIndex+t.segment+1,I=new h(d.getx(O),d.gety(O)),R=n(I,s),B=R.signedDistanceFromCamera>0?R.point:l(y,I,D,1,s),F=o(t.writingMode,D,B,b);if(F)return F}var N=c(w*p.getoffsetX(t.glyphStartIndex),k,M,r,m,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,u,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j<V.length;j+=1){var U=V[j];v(g,U.point,U.angle)}return{}}function l(t,e,r,i,a){var o=n(t.add(t.sub(e)._unit()),a).point,s=r.sub(o);return r.add(s._mult(i/s.mag()))}function c(t,e,r,i,a,o,s,c,u,f,p,d,g){var m=i?t-e:t+e,v=m>0?1:-1,y=0;i&&(v*=-1,y=Math.PI),v<0&&(y+=Math.PI);for(var x=v>0?c+s:c+s+1,b=x,_=a,w=a,k=0,M=0,A=Math.abs(m);k+M<=A;){if((x+=v)<c||x>=u)return null;if(w=_,void 0===(_=d[x])){var T=new h(f.getx(x),f.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var C=x-v;_=l(0===k?o:new h(f.getx(C),f.gety(C)),T,w,A-k+1,p)}}k+=M,M=w.dist(_)}var E=(A-k)/M,L=_.sub(w),z=L.mult(E)._add(w);return z._add(L._unit()._perp()._mult(r*v)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-v===b?0:f.gettileUnitDistanceFromAnchor(x-v),lastSegmentViewportDistance:A-k}:null}}function u(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(b,3*n)}}function f(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}var h=t(\\\"@mapbox/point-geometry\\\"),p=t(\\\"@mapbox/gl-matrix\\\"),d=p.mat4,g=p.vec4,m=t(\\\"./symbol_size\\\"),v=t(\\\"../data/bucket/symbol_bucket\\\").addDynamicAttributes,y=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,x=t(\\\"../symbol/shaping\\\").WritingMode;e.exports={updateLineLabels:function(t,e,r,a,o,l,c,f){var p=a?t.textSizeData:t.iconSizeData,d=m.evaluateSizeForZoom(p,r.transform.zoom,y.properties[a?\\\"text-size\\\":\\\"icon-size\\\"]),v=[256/r.width*2+1,256/r.height*2+1],b=a?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;b.clear();for(var _=t.lineVertexArray,w=a?t.text.placedSymbolArray:t.icon.placedSymbolArray,k=r.transform.width/r.transform.height,M=!1,A=0;A<w.length;A++){var T=w.get(A);if(T.hidden||T.writingMode===x.vertical&&!M)u(T.numGlyphs,b);else{M=!1;var S=[T.anchorX,T.anchorY,0,1];if(g.transformMat4(S,S,e),i(S,v)){var C=.5+S[3]/r.transform.cameraToCenterDistance*.5,E=m.evaluateSizeForFeature(p,d,T),L=c?E*C:E/C,z=new h(T.anchorX,T.anchorY),P=n(z,o).point,D={},O=s(T,L,!1,f,e,o,l,t.glyphOffsetArray,_,b,P,z,D,k);M=O.useVertical,(O.notEnoughRoom||M||O.needsFlipping&&s(T,L,!0,f,e,o,l,t.glyphOffsetArray,_,b,P,z,D,k).notEnoughRoom)&&u(T.numGlyphs,b)}else u(T.numGlyphs,b)}}a?t.text.dynamicLayoutVertexBuffer.updateData(b):t.icon.dynamicLayoutVertexBuffer.updateData(b)},getLabelPlaneMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.identity(a),d.scale(a,a,[1/i,1/i,1]),r||d.rotateZ(a,a,n.angle)):(d.scale(a,a,[n.width/2,-n.height/2,1]),d.translate(a,a,[1,-1,0]),d.multiply(a,a,t)),a},getGlCoordMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.multiply(a,a,t),d.scale(a,a,[i,i,1]),r||d.rotateZ(a,a,-n.angle)):(d.scale(a,a,[1,-1,1]),d.translate(a,a,[-1,-1,0]),d.scale(a,a,[2/n.width,2/n.height,1])),a},project:n,placeFirstAndLastGlyph:a,xyTransformMat4:f};var b=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0])},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/shaping\\\":226,\\\"./symbol_size\\\":228,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],225:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../style/parse_glyph_pbf\\\").GLYPH_PBF_BORDER;e.exports={getIconQuads:function(t,e,r,i,a,o,s){var l,c,u,f,h=e.image,p=r.layout,d=e.top-1/h.pixelRatio,g=e.left-1/h.pixelRatio,m=e.bottom+1/h.pixelRatio,v=e.right+1/h.pixelRatio;if(\\\"none\\\"!==p.get(\\\"icon-text-fit\\\")&&a){var y=v-g,x=m-d,b=p.get(\\\"text-size\\\").evaluate(s)/24,_=a.left*b,w=a.right*b,k=a.top*b,M=w-_,A=a.bottom*b-k,T=p.get(\\\"icon-text-fit-padding\\\")[0],S=p.get(\\\"icon-text-fit-padding\\\")[1],C=p.get(\\\"icon-text-fit-padding\\\")[2],E=p.get(\\\"icon-text-fit-padding\\\")[3],L=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")?.5*(A-x):0,z=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")?.5*(M-y):0,P=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?M:y,D=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?A:x;l=new n(_+z-E,k+L-T),c=new n(_+z+S+P,k+L-T),u=new n(_+z+S+P,k+L+C+D),f=new n(_+z-E,k+L+C+D)}else l=new n(g,d),c=new n(v,d),u=new n(v,m),f=new n(g,m);var O=r.layout.get(\\\"icon-rotate\\\").evaluate(s)*Math.PI/180;if(O){var I=Math.sin(O),R=Math.cos(O),B=[R,-I,I,R];l._matMult(B),c._matMult(B),f._matMult(B),u._matMult(B)}return[{tl:l,tr:c,bl:f,br:u,tex:{x:h.textureRect.x-1,y:h.textureRect.y-1,w:h.textureRect.w+2,h:h.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,r,a,o,s,l){for(var c=r.layout.get(\\\"text-rotate\\\").evaluate(s)*Math.PI/180,u=r.layout.get(\\\"text-offset\\\").evaluate(s).map(function(t){return 24*t}),f=e.positionedGlyphs,h=[],p=0;p<f.length;p++){var d=f[p],g=l[d.glyph];if(g){var m=g.rect;if(m){var v=i+1,y=g.metrics.advance/2,x=a?[d.x+y,d.y]:[0,0],b=a?[0,0]:[d.x+y+u[0],d.y+u[1]],_=g.metrics.left-v-y+b[0],w=-g.metrics.top-v+b[1],k=_+m.w,M=w+m.h,A=new n(_,w),T=new n(k,w),S=new n(_,M),C=new n(k,M);if(a&&d.vertical){var E=new n(-y,y),L=-Math.PI/2,z=new n(5,0);A._rotateAround(L,E)._add(z),T._rotateAround(L,E)._add(z),S._rotateAround(L,E)._add(z),C._rotateAround(L,E)._add(z)}if(c){var P=Math.sin(c),D=Math.cos(c),O=[D,-P,P,D];A._matMult(O),T._matMult(O),S._matMult(O),C._matMult(O)}h.push({tl:A,tr:T,bl:S,br:C,tex:m,writingMode:e.writingMode,glyphOffset:x})}}}return h}}},{\\\"../style/parse_glyph_pbf\\\":186,\\\"@mapbox/point-geometry\\\":4}],226:[function(t,e,r){function n(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function i(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function a(t,e,r,i,a,o){for(var s=null,l=n(e,r,a,o),c=0,u=i;c<u.length;c+=1){var f=u[c],h=n(e-f.x,r,a,o)+f.badness;h<=l&&(s=f,l=h)}return{index:t,x:e,priorBreak:s,badness:l}}function o(t,e,r,n){if(!r)return[];if(!t)return[];for(var o=[],s=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),l=0,u=0;u<t.length;u++){var f=t.charCodeAt(u),h=n[f];h&&!p[f]&&(l+=h.metrics.advance+e),u<t.length-1&&(d[f]||c.charAllowsIdeographicBreaking(f))&&o.push(a(u+1,l,s,o,i(f,t.charCodeAt(u+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(a(t.length,l,s,o,0,!0))}function s(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 l(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}var c=t(\\\"../util/script_detection\\\"),u=t(\\\"../util/verticalize_punctuation\\\"),f=t(\\\"../source/rtl_text_plugin\\\"),h={horizontal:1,vertical:2,horizontalOnly:3};e.exports={shapeText:function(t,e,r,n,i,a,p,d,g,m){var v=t.trim();m===h.vertical&&(v=u(v));var y=[],x={positionedGlyphs:y,text:v,top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:m},b=f.processBidirectionalText;return function(t,e,r,n,i,a,o,u,f){for(var p=0,d=-17,g=0,m=t.positionedGlyphs,v=\\\"right\\\"===a?1:\\\"left\\\"===a?0:.5,y=0,x=r;y<x.length;y+=1){var b=x[y];if((b=b.trim()).length){for(var _=m.length,w=0;w<b.length;w++){var k=b.charCodeAt(w),M=e[k];M&&(c.charHasUprightVerticalOrientation(k)&&o!==h.horizontal?(m.push({glyph:k,x:p,y:0,vertical:!0}),p+=f+u):(m.push({glyph:k,x:p,y:d,vertical:!1}),p+=M.metrics.advance+u))}if(m.length!==_){var A=p-u;g=Math.max(A,g),l(m,e,_,m.length-1,v)}p=0,d+=n}else d+=n}var T=s(i),S=T.horizontalAlign,C=T.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(m,v,S,C,g,n,r.length);var E=r.length*n;t.top+=-C*E,t.bottom=t.top+E,t.left+=-S*g,t.right=t.left+g}(x,e,b?b(v,o(v,p,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(v,o(v,p,r,e)),n,i,a,m,p,g),!!y.length&&x},shapeIcon:function(t,e,r){var n=s(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],l=e[1],c=o-t.displaySize[0]*i,u=c+t.displaySize[0],f=l-t.displaySize[1]*a;return{image:t,top:f,bottom:f+t.displaySize[1],left:c,right:u}},WritingMode:h};var p={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},d={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0}},{\\\"../source/rtl_text_plugin\\\":109,\\\"../util/script_detection\\\":269,\\\"../util/verticalize_punctuation\\\":277}],227:[function(t,e,r){function n(t,e,r,n,u,f){var h=f.layoutTextSize.evaluate(e),d=f.layoutIconSize.evaluate(e),g=f.textMaxSize.evaluate(e);void 0===g&&(g=h);var x=t.layers[0].layout,M=x.get(\\\"text-offset\\\").evaluate(e),A=x.get(\\\"icon-offset\\\").evaluate(e),T=h/24,S=t.tilePixelRatio*T,C=t.tilePixelRatio*g/24,E=t.tilePixelRatio*d,L=t.tilePixelRatio*x.get(\\\"symbol-spacing\\\"),z=x.get(\\\"text-padding\\\")*t.tilePixelRatio,P=x.get(\\\"icon-padding\\\")*t.tilePixelRatio,D=x.get(\\\"text-max-angle\\\")/180*Math.PI,O=\\\"map\\\"===x.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),I=\\\"map\\\"===x.get(\\\"icon-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),R=L/2,B=function(a,o){o.x<0||o.x>=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,u,f,h,d,g,x,b,_,w,M,A,T,S,C){var E,L,z=t.addToLineVertexArray(e,r),P=0,D=0,O=0,I=n.horizontal?n.horizontal.text:\\\"\\\",R=[];n.horizontal&&(E=new v(s,r,e,l,u,f,n.horizontal,h,d,g,t.overscaling),D+=i(t,e,n.horizontal,o,g,A,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,C),n.vertical&&(O+=i(t,e,n.vertical,o,g,A,T,x,z,p.vertical,R,S,C)));var B=E?E.boxStartIndex:t.collisionBoxArray.length,F=E?E.boxEndIndex:t.collisionBoxArray.length;if(a){var N=m(e,a,o,w,n.horizontal,A,T);L=new v(s,r,e,l,u,f,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;\\\"source\\\"===j.functionType?V=[10*o.layout.get(\\\"icon-size\\\").evaluate(T)]:\\\"composite\\\"===j.functionType&&(V=[10*C.compositeIconSizes[0].evaluate(T),10*C.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,M,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=k.MAX_GLYPHS&&y.warnOnce(\\\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),{key:I,textBoxStartIndex:B,textBoxEndIndex:F,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:M,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:D,numVerticalGlyphVertices:O,numIconVertices:P,textOpacityState:new c,iconOpacityState:new c,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,O,M,E,P,I,A,{zoom:t.zoom},e,u,f))};if(\\\"line\\\"===x.get(\\\"symbol-placement\\\"))for(var F=0,N=l(e.geometry,0,0,w,w);F<N.length;F+=1)for(var j=N[F],V=0,U=s(j,L,D,r.vertical||r.horizontal,n,24,C,t.overscaling,w);V<U.length;V+=1){var q=U[V],H=r.horizontal;H&&a(t,H.text,R,q)||B(j,q)}else if(\\\"Polygon\\\"===e.type)for(var G=0,W=_(e.geometry,0);G<W.length;G+=1){var Y=W[G],X=b(Y,16);B(Y[0],new o(X.x,X.y,0))}else if(\\\"LineString\\\"===e.type)for(var Z=0,J=e.geometry;Z<J.length;Z+=1){var K=J[Z];B(K,new o(K[0].x,K[0].y,0))}else if(\\\"Point\\\"===e.type)for(var Q=0,$=e.geometry;Q<$.length;Q+=1)for(var tt=0,et=$[Q];tt<et.length;tt+=1){var rt=et[tt];B([rt],new o(rt.x,rt.y,0))}}function i(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=g(e,r,n,i,a,o,f),d=t.textSizeData,m=null;return\\\"source\\\"===d.functionType?m=[10*n.layout.get(\\\"text-size\\\").evaluate(o)]:\\\"composite\\\"===d.functionType&&(m=[10*h.compositeTextSizes[0].evaluate(o),10*h.compositeTextSizes[1].evaluate(o)]),t.addSymbols(t.text,p,m,s,i,o,c,e,l.lineStartIndex,l.lineLength),u.push(t.text.placedSymbolArray.length-1),4*p.length}function a(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var o=t(\\\"./anchor\\\"),s=t(\\\"./get_anchors\\\"),l=t(\\\"./clip_line\\\"),c=t(\\\"./opacity_state\\\"),u=t(\\\"./shaping\\\"),f=u.shapeText,h=u.shapeIcon,p=u.WritingMode,d=t(\\\"./quads\\\"),g=d.getGlyphQuads,m=d.getIconQuads,v=t(\\\"./collision_feature\\\"),y=t(\\\"../util/util\\\"),x=t(\\\"../util/script_detection\\\"),b=t(\\\"../util/find_pole_of_inaccessibility\\\"),_=t(\\\"../util/classify_rings\\\"),w=t(\\\"../data/extent\\\"),k=t(\\\"../data/bucket/symbol_bucket\\\"),M=t(\\\"../style/evaluation_parameters\\\");t(\\\"@mapbox/point-geometry\\\");e.exports={performSymbolLayout:function(t,e,r,i,a,o){t.createArrays(),t.symbolInstances=[];var s=512*t.overscaling;t.tilePixelRatio=w/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if(\\\"composite\\\"===t.textSizeData.functionType){var d=t.textSizeData.zoomRange,g=d.min,m=d.max;u.compositeTextSizes=[c[\\\"text-size\\\"].possiblyEvaluate(new M(g)),c[\\\"text-size\\\"].possiblyEvaluate(new M(m))]}if(\\\"composite\\\"===t.iconSizeData.functionType){var v=t.iconSizeData.zoomRange,b=v.min,_=v.max;u.compositeIconSizes=[c[\\\"icon-size\\\"].possiblyEvaluate(new M(b)),c[\\\"icon-size\\\"].possiblyEvaluate(new M(_))]}u.layoutTextSize=c[\\\"text-size\\\"].possiblyEvaluate(new M(t.zoom+1)),u.layoutIconSize=c[\\\"icon-size\\\"].possiblyEvaluate(new M(t.zoom+1)),u.textMaxSize=c[\\\"text-size\\\"].possiblyEvaluate(new M(18));for(var k=24*l.get(\\\"text-line-height\\\"),A=\\\"map\\\"===l.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===l.get(\\\"symbol-placement\\\"),T=l.get(\\\"text-keep-upright\\\"),S=0,C=t.features;S<C.length;S+=1){var E=C[S],L=l.get(\\\"text-font\\\").evaluate(E).join(\\\",\\\"),z=e[L]||{},P=r[L]||{},D={},O=E.text;if(O){var I=x.allowsVerticalWritingMode(O),R=l.get(\\\"text-offset\\\").evaluate(E).map(function(t){return 24*t}),B=24*l.get(\\\"text-letter-spacing\\\").evaluate(E),F=x.allowsLetterSpacing(O)?B:0,N=l.get(\\\"text-anchor\\\").evaluate(E),j=l.get(\\\"text-justify\\\").evaluate(E),V=\\\"line\\\"!==l.get(\\\"symbol-placement\\\")?24*l.get(\\\"text-max-width\\\").evaluate(E):0;D.horizontal=f(O,z,V,k,N,j,F,R,24,p.horizontal),I&&A&&T&&(D.vertical=f(O,z,V,k,N,j,F,R,24,p.vertical))}var U=void 0;if(E.icon){var q=i[E.icon];q&&(U=h(a[E.icon],l.get(\\\"icon-offset\\\").evaluate(E),l.get(\\\"icon-anchor\\\").evaluate(E)),void 0===t.sdfIcons?t.sdfIcons=q.sdf:t.sdfIcons!==q.sdf&&y.warnOnce(\\\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\\\"),q.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get(\\\"icon-rotate\\\").constantOr(1)&&(t.iconsNeedLinear=!0))}(D.horizontal||U)&&n(t,E,D,U,P,u)}o&&t.generateCollisionDebugBuffers()}}},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../style/evaluation_parameters\\\":182,\\\"../util/classify_rings\\\":255,\\\"../util/find_pole_of_inaccessibility\\\":261,\\\"../util/script_detection\\\":269,\\\"../util/util\\\":275,\\\"./anchor\\\":213,\\\"./clip_line\\\":215,\\\"./collision_feature\\\":216,\\\"./get_anchors\\\":219,\\\"./opacity_state\\\":222,\\\"./quads\\\":225,\\\"./shaping\\\":226,\\\"@mapbox/point-geometry\\\":4}],228:[function(t,e,r){var n=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,i=t(\\\"../style-spec/util/interpolate\\\"),a=t(\\\"../util/util\\\");e.exports={getSizeData:function(t,e){var r=e.expression;if(\\\"constant\\\"===r.kind)return{functionType:\\\"constant\\\",layoutSize:r.evaluate({zoom:t+1})};if(\\\"source\\\"===r.kind)return{functionType:\\\"source\\\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\\\"composite\\\"===r.kind?{functionType:\\\"composite\\\",zoomRange:o,propertyValue:e.value}:{functionType:\\\"camera\\\",layoutSize:r.evaluate({zoom:t+1}),zoomRange:o,sizeRange:{min:r.evaluate({zoom:o.min}),max:r.evaluate({zoom:o.max})},propertyValue:e.value}},evaluateSizeForFeature:function(t,e,r){var n=e;return\\\"source\\\"===t.functionType?r.lowerSize/10:\\\"composite\\\"===t.functionType?i.number(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},evaluateSizeForZoom:function(t,e,r){if(\\\"constant\\\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\\\"source\\\"===t.functionType)return{uSizeT:0,uSize:0};if(\\\"camera\\\"===t.functionType){var i=t.propertyValue,o=t.zoomRange,s=t.sizeRange,l=n(i,r.specification),c=a.clamp(l.interpolationFactor(e,o.min,o.max),0,1);return{uSizeT:0,uSize:s.min+c*(s.max-s.min)}}var u=t.propertyValue,f=t.zoomRange,h=n(u,r.specification);return{uSizeT:a.clamp(h.interpolationFactor(e,f.min,f.max),0,1),uSize:0}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275}],229:[function(t,e,r){var n=t(\\\"../source/rtl_text_plugin\\\");e.exports=function(t,e,r){var i=e.layout.get(\\\"text-transform\\\").evaluate(r);return\\\"uppercase\\\"===i?t=t.toLocaleUpperCase():\\\"lowercase\\\"===i&&(t=t.toLocaleLowerCase()),n.applyArabicShaping&&(t=n.applyArabicShaping(t)),t}},{\\\"../source/rtl_text_plugin\\\":109}],230:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a={scrollZoom:t(\\\"./handler/scroll_zoom\\\"),boxZoom:t(\\\"./handler/box_zoom\\\"),dragRotate:t(\\\"./handler/drag_rotate\\\"),dragPan:t(\\\"./handler/drag_pan\\\"),keyboard:t(\\\"./handler/keyboard\\\"),doubleClickZoom:t(\\\"./handler/dblclick_zoom\\\"),touchZoomRotate:t(\\\"./handler/touch_zoom_rotate\\\")};e.exports=function(t,e){function r(){h=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),c=null,u=!1,f=null,h=null;for(var p in a)t[p]=new a[p](t,e),e.interactive&&e[p]&&t[p].enable(e[p]);l.addEventListener(\\\"mouseout\\\",function(t){o(\\\"mouseout\\\",t)},!1),l.addEventListener(\\\"mousedown\\\",function(e){t.doubleClickZoom.isActive()||t.stop(),f=n.mousePos(l,e),o(\\\"mousedown\\\",e),u=!0},!1),l.addEventListener(\\\"mouseup\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();c&&!r&&o(\\\"contextmenu\\\",c),c=null,u=!1,o(\\\"mouseup\\\",e)},!1),l.addEventListener(\\\"mousemove\\\",function(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==l;)r=r.parentNode;r===l&&o(\\\"mousemove\\\",e)}},!1),l.addEventListener(\\\"mouseover\\\",function(t){for(var e=t.toElement||t.target;e&&e!==l;)e=e.parentNode;e===l&&o(\\\"mouseover\\\",t)},!1),l.addEventListener(\\\"touchstart\\\",function(e){t.stop(),s(\\\"touchstart\\\",e),!e.touches||e.touches.length>1||(h?(clearTimeout(h),h=null,o(\\\"dblclick\\\",e)):h=setTimeout(r,300))},!1),l.addEventListener(\\\"touchend\\\",function(t){s(\\\"touchend\\\",t)},!1),l.addEventListener(\\\"touchmove\\\",function(t){s(\\\"touchmove\\\",t)},!1),l.addEventListener(\\\"touchcancel\\\",function(t){s(\\\"touchcancel\\\",t)},!1),l.addEventListener(\\\"click\\\",function(t){n.mousePos(l,t).equals(f)&&o(\\\"click\\\",t)},!1),l.addEventListener(\\\"dblclick\\\",function(t){o(\\\"dblclick\\\",t),t.preventDefault()},!1),l.addEventListener(\\\"contextmenu\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u||r?u&&(c=e):o(\\\"contextmenu\\\",e),e.preventDefault()},!1)}},{\\\"../util/dom\\\":259,\\\"./handler/box_zoom\\\":239,\\\"./handler/dblclick_zoom\\\":240,\\\"./handler/drag_pan\\\":241,\\\"./handler/drag_rotate\\\":242,\\\"./handler/keyboard\\\":243,\\\"./handler/scroll_zoom\\\":244,\\\"./handler/touch_zoom_rotate\\\":245,\\\"@mapbox/point-geometry\\\":4}],231:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/util/interpolate\\\").number,a=t(\\\"../util/browser\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"../geo/lng_lat_bounds\\\"),l=t(\\\"@mapbox/point-geometry\\\"),c=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},e.prototype.getPitch=function(){return this.transform.pitch},e.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},e.prototype.fitBounds=function(t,e,r){if(\\\"number\\\"==typeof(e=n.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},e)).padding){var i=e.padding;e.padding={top:i,bottom:i,right:i,left:i}}if(!n.deepEqual(Object.keys(e.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\\\"bottom\\\",\\\"left\\\",\\\"right\\\",\\\"top\\\"]))return n.warnOnce(\\\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\\\"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),c=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var u=l.convert(e.offset),f=this.transform,h=f.project(t.getNorthWest()),p=f.project(t.getSouthEast()),d=p.sub(h),g=(f.width-2*o-2*Math.abs(u.x))/d.x,m=(f.height-2*c-2*Math.abs(u.y))/d.y;return m<0||g<0?(n.warnOnce(\\\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\\\"),this):(e.center=f.unproject(h.add(p).div(2)),e.zoom=Math.min(f.scaleZoom(f.scale*Math.min(g,m)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.jumpTo=function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\\\"zoom\\\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=o.convert(t.center)),\\\"bearing\\\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\\\"pitch\\\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\\\"movestart\\\",e).fire(\\\"move\\\",e),n&&this.fire(\\\"zoomstart\\\",e).fire(\\\"zoom\\\",e).fire(\\\"zoomend\\\",e),i&&this.fire(\\\"rotate\\\",e),a&&this.fire(\\\"pitchstart\\\",e).fire(\\\"pitch\\\",e).fire(\\\"pitchend\\\",e),this.fire(\\\"moveend\\\",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),c=this.getBearing(),u=this.getPitch(),f=\\\"zoom\\\"in t?+t.zoom:s,h=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,c):c,p=\\\"pitch\\\"in t?+t.pitch:u,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),m=o.convert(t.center||g);this._normalizeCenter(m);var v,y,x=a.project(g),b=a.project(m).sub(x),_=a.zoomScale(f-s);return t.around&&(v=o.convert(t.around),y=a.locationPoint(v)),this.zooming=f!==s,this.rotating=c!==h,this.pitching=p!==u,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,f,t)),r.rotating&&(a.bearing=i(c,h,t)),r.pitching&&(a.pitch=i(u,p,t)),v)a.setLocationAtPoint(v,y);else{var n=a.zoomScale(a.zoom-s),o=f>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire(\\\"movestart\\\",t),this.zooming&&this.fire(\\\"zoomstart\\\",t),this.pitching&&this.fire(\\\"pitchstart\\\",t)},e.prototype._fireMoveEvents=function(t){this.fire(\\\"move\\\",t),this.zooming&&this.fire(\\\"zoom\\\",t),this.rotating&&this.fire(\\\"rotate\\\",t),this.pitching&&this.fire(\\\"pitch\\\",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\\\"zoomend\\\",t),r&&this.fire(\\\"pitchend\\\",t),this.fire(\\\"moveend\\\",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(A*A-M*M+(t?-1:1)*E*E*T*T)/(2*(t?A:M)*E*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}var c=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var u=this.transform,f=this.getZoom(),h=this.getBearing(),p=this.getPitch(),d=\\\"zoom\\\"in t?n.clamp(+t.zoom,u.minZoom,u.maxZoom):f,g=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,h):h,m=\\\"pitch\\\"in t?+t.pitch:p,v=u.zoomScale(d-f),y=u.centerPoint.add(l.convert(t.offset)),x=u.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=u.project(x),w=u.project(b).sub(_),k=t.curve,M=Math.max(u.width,u.height),A=M/v,T=w.mag();if(\\\"minZoom\\\"in t){var S=n.clamp(Math.min(t.minZoom,f,d),u.minZoom,u.maxZoom),C=M/u.zoomScale(S-f);k=Math.sqrt(C/T*2)}var E=k*k,L=r(0),z=function(t){return s(L)/s(L+k*t)},P=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+k*t)-a(L))/E)/T},D=(r(1)-L)/k;if(Math.abs(T)<1e-6||!isFinite(D)){if(Math.abs(M-A)<1e-6)return this.easeTo(t,e);var O=A<M?-1:1;D=Math.abs(Math.log(A/M))/k,P=function(){return 0},z=function(t){return Math.exp(O*k*t)}}if(\\\"duration\\\"in t)t.duration=+t.duration;else{var I=\\\"screenSpeed\\\"in t?+t.screenSpeed/k:+t.speed;t.duration=1e3*D/I}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=h!==g,this.pitching=m!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*D,n=1/z(r);u.zoom=f+u.scaleZoom(n),c.rotating&&(u.bearing=i(h,g,t)),c.pitching&&(u.pitch=i(p,m,t));var a=u.unproject(_.add(w.mult(P(r))).mult(n));u.setLocationAtPoint(u.renderWorldCopies?a.wrap():a,y),c._fireMoveEvents(e)},function(){return c._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._normalizeBearing=function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},e.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}},e}(t(\\\"../util/evented\\\"));e.exports=c},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],232:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/config\\\"),o=function(t){this.options=t,i.bindAll([\\\"_updateEditLink\\\",\\\"_updateData\\\",\\\"_updateCompact\\\"],this)};o.prototype.getDefaultPosition=function(){return\\\"bottom-right\\\"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-attrib\\\"),e&&this._container.classList.add(\\\"mapboxgl-compact\\\"),this._updateAttributions(),this._updateEditLink(),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},o.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateData),this._map.off(\\\"moveend\\\",this._updateEditLink),this._map.off(\\\"resize\\\",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\\\".mapbox-improve-map\\\"));var e=[{key:\\\"owner\\\",value:this.styleOwner},{key:\\\"id\\\",value:this.styleId},{key:\\\"access_token\\\",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\\\"=\\\"+r.value+(n<e.length-1?\\\"&\\\":\\\"\\\")),t},\\\"?\\\");t.href=\\\"https://www.mapbox.com/feedback/\\\"+r+(this._map._hash?this._map._hash.getHashString(!0):\\\"\\\")}},o.prototype._updateData=function(t){t&&\\\"metadata\\\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},o.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(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 i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(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})).length?(this._container.innerHTML=t.join(\\\" | \\\"),this._container.classList.remove(\\\"mapboxgl-attrib-empty\\\")):this._container.classList.add(\\\"mapboxgl-attrib-empty\\\"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\\\"mapboxgl-compact\\\"):this._container.classList.remove(\\\"mapboxgl-compact\\\")},e.exports=o},{\\\"../../util/config\\\":256,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],233:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=function(){this._fullscreen=!1,i.bindAll([\\\"_onClickFullscreen\\\",\\\"_changeIcon\\\"],this),\\\"onfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"fullscreenchange\\\":\\\"onmozfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"mozfullscreenchange\\\":\\\"onwebkitfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"webkitfullscreenchange\\\":\\\"onmsfullscreenchange\\\"in a.document&&(this._fullscreenchange=\\\"MSFullscreenChange\\\"),this._className=\\\"mapboxgl-ctrl\\\"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create(\\\"div\\\",this._className+\\\" mapboxgl-ctrl-group\\\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\\\"none\\\",i.warnOnce(\\\"This device does not support fullscreen mode.\\\")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create(\\\"button\\\",this._className+\\\"-icon \\\"+this._className+\\\"-fullscreen\\\",this._container);t.setAttribute(\\\"aria-label\\\",\\\"Toggle fullscreen\\\"),t.type=\\\"button\\\",this._fullscreenButton.addEventListener(\\\"click\\\",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\\\"-shrink\\\"),this._fullscreenButton.classList.toggle(this._className+\\\"-fullscreen\\\"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],234:[function(t,e,r){var n,i=t(\\\"../../util/evented\\\"),a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../util/util\\\"),l=t(\\\"../../geo/lng_lat\\\"),c=t(\\\"../marker\\\"),u={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},f=function(t){function e(e){t.call(this),this.options=s.extend({},u,e),s.bindAll([\\\"_onSuccess\\\",\\\"_onError\\\",\\\"_finish\\\",\\\"_setupUI\\\",\\\"_updateCamera\\\",\\\"_updateMarker\\\",\\\"_onClickGeolocate\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:\\\"geolocation\\\"}).then(function(e){n=\\\"denied\\\"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,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(t),this.options.trackUserLocation&&\\\"ACTIVE_LOCK\\\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"geolocate\\\",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.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\\\"),void 0!==this._geolocationWatchID&&this._clearWatch();else 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\\\")}\\\"OFF\\\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"error\\\",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this._geolocateButton=a.create(\\\"button\\\",\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\\\",this._container),this._geolocateButton.type=\\\"button\\\",this._geolocateButton.setAttribute(\\\"aria-label\\\",\\\"Geolocate\\\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"false\\\"),this._watchState=\\\"OFF\\\"),this.options.showUserLocation&&(this._dotElement=a.create(\\\"div\\\",\\\"mapboxgl-user-location-dot\\\"),this._userLocationDotMarker=new c(this._dotElement),this.options.trackUserLocation&&(this._watchState=\\\"OFF\\\")),this._geolocateButton.addEventListener(\\\"click\\\",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on(\\\"movestart\\\",function(t){t.geolocateSource||\\\"ACTIVE_LOCK\\\"!==e._watchState||(e._watchState=\\\"BACKGROUND\\\",e._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-background\\\"),e._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-active\\\"),e.fire(\\\"trackuserlocationend\\\"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case\\\"OFF\\\":this._watchState=\\\"WAITING_ACTIVE\\\",this.fire(\\\"trackuserlocationstart\\\");break;case\\\"WAITING_ACTIVE\\\":case\\\"ACTIVE_LOCK\\\":case\\\"ACTIVE_ERROR\\\":case\\\"BACKGROUND_ERROR\\\":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(\\\"trackuserlocationend\\\");break;case\\\"BACKGROUND\\\":this._watchState=\\\"ACTIVE_LOCK\\\",this._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-background\\\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(\\\"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\\\")}\\\"OFF\\\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-waiting\\\"),this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"true\\\"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.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)},e}(i);e.exports=f},{\\\"../../geo/lng_lat\\\":62,\\\"../../util/dom\\\":259,\\\"../../util/evented\\\":260,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254,\\\"../marker\\\":248}],235:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=function(){i.bindAll([\\\"_updateLogo\\\"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl\\\");var e=n.create(\\\"a\\\",\\\"mapboxgl-ctrl-logo\\\");return e.target=\\\"_blank\\\",e.href=\\\"https://www.mapbox.com/\\\",e.setAttribute(\\\"aria-label\\\",\\\"Mapbox logo\\\"),this._container.appendChild(e),this._container.style.display=\\\"none\\\",this._map.on(\\\"sourcedata\\\",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateLogo)},a.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},a.prototype._updateLogo=function(t){t&&\\\"metadata\\\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\\\"block\\\":\\\"none\\\")},a.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}},e.exports=a},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],236:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../handler/drag_rotate\\\"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\\\",\\\"Zoom In\\\",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\\\",\\\"Zoom Out\\\",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll([\\\"_rotateCompassArrow\\\"],this),this._compass=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\\\",\\\"Reset North\\\",function(){return e._map.resetNorth()}),this._compassArrow=n.create(\\\"span\\\",\\\"mapboxgl-ctrl-compass-arrow\\\",this._compass))};s.prototype._rotateCompassArrow=function(){var t=\\\"rotate(\\\"+this._map.transform.angle*(180/Math.PI)+\\\"deg)\\\";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\\\"rotate\\\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:\\\"left\\\",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off(\\\"rotate\\\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create(\\\"button\\\",t,this._container);return i.type=\\\"button\\\",i.setAttribute(\\\"aria-label\\\",e),i.addEventListener(\\\"click\\\",r),i},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../handler/drag_rotate\\\":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&\\\"imperial\\\"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,\\\"mi\\\"):i(e,n,s,\\\"ft\\\")}else if(r&&\\\"nautical\\\"===r.unit){i(e,n,o/1852,\\\"nm\\\")}else i(e,n,o,\\\"m\\\")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(\\\"\\\"+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;\\\"m\\\"===n&&i>=1e3&&(i/=1e3,n=\\\"km\\\"),t.style.width=e*a+\\\"px\\\",t.innerHTML=i+n}var a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/util\\\"),s=function(t){this.options=t,o.bindAll([\\\"_onMove\\\"],this)};s.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-scale\\\",t.getContainer()),this._map.on(\\\"move\\\",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off(\\\"move\\\",this._onMove),this._map=void 0},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../geo/lng_lat_bounds\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../../util/window\\\"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll([\\\"_onMouseDown\\\",\\\"_onMouseMove\\\",\\\"_onMouseUp\\\",\\\"_onKeyDown\\\"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\\\"mousedown\\\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.addEventListener(\\\"mouseup\\\",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create(\\\"div\\\",\\\"mapboxgl-boxzoom\\\",this._container),this._container.classList.add(\\\"mapboxgl-crosshair\\\"),this._fireEvent(\\\"boxzoomstart\\\",t));var i=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);n.setTransform(this._box,\\\"translate(\\\"+i+\\\"px,\\\"+o+\\\"px)\\\"),this._box.style.width=a-i+\\\"px\\\",this._box.style.height=s-o+\\\"px\\\"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\\\"boxzoomcancel\\\",t):this._map.fitBounds(a,{linear:!0}).fire(\\\"boxzoomend\\\",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\\\"boxzoomcancel\\\",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.removeEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp,!1),this._container.classList.remove(\\\"mapboxgl-crosshair\\\"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{\\\"../../geo/lng_lat_bounds\\\":63,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],240:[function(t,e,r){var n=t(\\\"../../util/util\\\"),i=function(t){this._map=t,n.bindAll([\\\"_onDblClick\\\",\\\"_onZoomEnd\\\"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on(\\\"dblclick\\\",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off(\\\"dblclick\\\",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on(\\\"zoomend\\\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\\\"zoomend\\\",this._onZoomEnd)},e.exports=i},{\\\"../../util/util\\\":275}],241:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onTouchEnd\\\",\\\"_onMouseUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-drag-pan\\\"),this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._el.addEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-drag-pan\\\"),this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._el.removeEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener(\\\"touchmove\\\",this._onMove),a.document.addEventListener(\\\"touchend\\\",this._onTouchEnd)):(a.document.addEventListener(\\\"mousemove\\\",this._onMove),a.document.addEventListener(\\\"mouseup\\\",this._onMouseUp)),a.addEventListener(\\\"blur\\\",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"dragstart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent(\\\"drag\\\",e),this._fireEvent(\\\"move\\\",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent(\\\"dragend\\\",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var c=o.mult(.3/l),u=c.mag();u>1400&&(u=1400,c._unit()._mult(u));var f=u/750,h=c.mult(-f/2);this._map.panBy(h,{duration:1e3*f,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"mousemove\\\",this._onMove),a.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp),a.removeEventListener(\\\"blur\\\",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||\\\"mousemove\\\"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],242:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||\\\"right\\\",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if(\\\"right\\\"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf(\\\"MAC\\\")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.addEventListener(\\\"mouseup\\\",this._onUp),a.addEventListener(\\\"blur\\\",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"rotatestart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._pitchWithRotate&&this._fireEvent(\\\"pitchstart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.removeEventListener(\\\"mouseup\\\",this._onUp),a.removeEventListener(\\\"blur\\\",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([o.now(),this._map._normalizeBearing(s,u[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent(\\\"pitch\\\",e),t.pitch=l),this._fireEvent(\\\"rotate\\\",e),this._fireEvent(\\\"move\\\",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent(\\\"rotateend\\\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):(e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)),e._pitchWithRotate&&e._fireEvent(\\\"pitchend\\\",t)};if(i.length<2)return void a();var o=i[0],l=i[i.length-1],c=i[i.length-2],u=r._normalizeBearing(n,c[1]),f=l[1]-o[1],h=f<0?-1:1,p=(l[0]-o[0])/1e3;if(0===f||0===p)return void a();var d=Math.abs(f*(.25/p));d>180&&(d=180);var g=d/180;u+=h*d*(g/2),Math.abs(r._normalizeBearing(u,0))<this._bearingSnap&&(u=r._normalizeBearing(0,u)),r.rotateTo(u,{duration:1e3*g,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t(\\\"../../util/util\\\"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onKeyDown\\\"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"keydown\\\",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),c={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(c,{originalEvent:t})}},e.exports=a},{\\\"../../util/util\\\":275}],244:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../style-spec/util/interpolate\\\").number,l=t(\\\"../../geo/lng_lat\\\"),c=o.navigator.userAgent.toLowerCase(),u=-1!==c.indexOf(\\\"firefox\\\"),f=-1!==c.indexOf(\\\"safari\\\")&&-1===c.indexOf(\\\"chrom\\\"),h=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll([\\\"_onWheel\\\",\\\"_onTimeout\\\",\\\"_onScrollFrame\\\",\\\"_onScrollFinished\\\"],this)};h.prototype.isEnabled=function(){return!!this._enabled},h.prototype.isActive=function(){return!!this._active},h.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\\\"wheel\\\",this._onWheel,!1),this._el.addEventListener(\\\"mousewheel\\\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},h.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"wheel\\\",this._onWheel),this._el.removeEventListener(\\\"mousewheel\\\",this._onWheel),this._enabled=!1)},h.prototype._onWheel=function(t){var e=0;\\\"wheel\\\"===t.type?(e=t.deltaY,u&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\\\"mousewheel\\\"===t.type&&(e=-t.wheelDeltaY,f&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type=\\\"wheel\\\":0!==e&&Math.abs(e)<4?this._type=\\\"trackpad\\\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?\\\"trackpad\\\":\\\"wheel\\\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},h.prototype._onTimeout=function(t){this._type=\\\"wheel\\\",this._delta-=this._lastValue,this.isActive()||this._start(t)},h.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire(\\\"movestart\\\",{originalEvent:t}),this._map.fire(\\\"zoomstart\\\",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},h.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e=\\\"wheel\\\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n=\\\"number\\\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),\\\"wheel\\\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if(\\\"wheel\\\"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(\\\"move\\\",{originalEvent:this._lastWheelEvent}),this._map.fire(\\\"zoom\\\",{originalEvent:this._lastWheelEvent})}},h.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire(\\\"zoomend\\\"),t._map.fire(\\\"moveend\\\"),delete t._targetZoom},200))},h.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=h},{\\\"../../geo/lng_lat\\\":62,\\\"../../style-spec/util/interpolate\\\":158,\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],245:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onStart\\\",\\\"_onMove\\\",\\\"_onEnd\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.addEventListener(\\\"touchstart\\\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.removeEventListener(\\\"touchstart\\\",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],a.document.addEventListener(\\\"touchmove\\\",this._onMove,!1),a.document.addEventListener(\\\"touchend\\\",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,c=this._map;if(this._gestureIntent){var u={duration:0,around:c.unproject(i)};\\\"rotate\\\"===this._gestureIntent&&(u.bearing=this._startBearing+l),\\\"zoom\\\"!==this._gestureIntent&&\\\"rotate\\\"!==this._gestureIntent||(u.zoom=c.transform.scaleZoom(this._startScale*s)),c.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),c.easeTo(u,{originalEvent:t})}else{var f=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent=\\\"rotate\\\":f&&(this._gestureIntent=\\\"zoom\\\"),this._gestureIntent&&(this._startVec=a,this._startScale=c.transform.scale,this._startBearing=c.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),c=o-l,u=(n[0]-i[0])/1e3,f=n[2];if(0!==u&&o!==l){var h=.15*c/u;Math.abs(h)>2.5&&(h=h>0?2.5:-2.5);var p=1e3*Math.abs(h/(12*.15)),d=o+h*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(f)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],246:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../util/throttle\\\"),o=function(){n.bindAll([\\\"_onHashChange\\\",\\\"_updateHash\\\"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.on(\\\"moveend\\\",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.off(\\\"moveend\\\",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c=\\\"\\\";return c+=t?\\\"#/\\\"+a+\\\"/\\\"+o+\\\"/\\\"+r:\\\"#\\\"+r+\\\"/\\\"+o+\\\"/\\\"+a,(s||l)&&(c+=\\\"/\\\"+Math.round(10*s)/10),l&&(c+=\\\"/\\\"+Math.round(l)),c},o.prototype._onHashChange=function(){var t=i.location.hash.replace(\\\"#\\\",\\\"\\\").split(\\\"/\\\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState(\\\"\\\",\\\"\\\",t)},e.exports=o},{\\\"../util/throttle\\\":272,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/window\\\"),s=t(\\\"../util/window\\\"),l=s.HTMLImageElement,c=s.HTMLElement,u=t(\\\"../util/dom\\\"),f=t(\\\"../util/ajax\\\"),h=t(\\\"../style/style\\\"),p=t(\\\"../style/evaluation_parameters\\\"),d=t(\\\"../render/painter\\\"),g=t(\\\"../geo/transform\\\"),m=t(\\\"./hash\\\"),v=t(\\\"./bind_handlers\\\"),y=t(\\\"./camera\\\"),x=t(\\\"../geo/lng_lat\\\"),b=t(\\\"../geo/lng_lat_bounds\\\"),_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"./control/attribution_control\\\"),k=t(\\\"./control/logo_control\\\"),M=t(\\\"@mapbox/mapbox-gl-supported\\\"),A=t(\\\"../util/image\\\").RGBAImage;t(\\\"./events\\\");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\\\"maxZoom must be greater than minZoom\\\");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},\\\"string\\\"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error(\\\"Container '\\\"+e.container+\\\"' not found.\\\");this._container=a}else{if(!(e.container instanceof c))throw new Error(\\\"Invalid type: 'container' must be a String or HTMLElement.\\\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll([\\\"_onWindowOnline\\\",\\\"_onWindowResize\\\",\\\"_contextLost\\\",\\\"_contextRestored\\\",\\\"_update\\\",\\\"_render\\\",\\\"_onData\\\",\\\"_onDataLoading\\\"],this),this._setupContainer(),this._setupPainter(),this.on(\\\"move\\\",this._update.bind(this,!1)),this.on(\\\"zoom\\\",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener(\\\"online\\\",this._onWindowOnline,!1),o.addEventListener(\\\"resize\\\",this._onWindowResize,!1)),v(this,e),this._hash=e.hash&&(new m).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new k,e.logoPosition),this.on(\\\"style.load\\\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\\\"data\\\",this._onData),this.on(\\\"dataloading\\\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\\\"top-right\\\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\\\"bottom\\\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire(\\\"movestart\\\").fire(\\\"move\\\").fire(\\\"resize\\\").fire(\\\"moveend\\\")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&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 0 and the current maxZoom, inclusive\\\")},e.prototype.getMinZoom=function(){return this.transform.minZoom},e.prototype.setMaxZoom=function(t){if((t=null===t||void 0===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\\\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if(\\\"mouseenter\\\"===e||\\\"mouseover\\\"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if(\\\"mouseleave\\\"===e||\\\"mouseout\\\"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;a<i.length;a++){var o=i[a];if(o.layer===r&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},e.prototype.queryRenderedFeatures=function(t,e){return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof _||Array.isArray(t)}(arguments[0])?(t=arguments[0],e={}):1===arguments.length?(t=void 0,e=arguments[0]):(t=void 0,e={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle):[]},e.prototype._makeQueryGeometry=function(t){var e,r=this;if(void 0===t&&(t=[_.convert([0,0]),_.convert([this.transform.width,this.transform.height])]),t instanceof _||\\\"number\\\"==typeof t[0])e=[_.convert(t)];else{var n=[_.convert(t[0]),_.convert(t[1])];e=[n[0],new _(n[1].x,n[0].y),n[1],new _(n[0].x,n[1].y),n[0]]}return e.map(function(t){return r.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){if((!e||!1!==e.diff&&!e.localIdeographFontFamily)&&this.style&&t&&\\\"object\\\"==typeof t)try{return this.style.setState(t)&&this._update(!0),this}catch(t){i.warnOnce(\\\"Unable to perform style diff: \\\"+(t.message||t.error||t)+\\\".  Rebuilding the style from scratch.\\\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new h(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)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\\\"There is no style added to the map.\\\")},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\\\"error\\\",{error:new Error(\\\"There is no source with ID '\\\"+t+\\\"'\\\")}):e.loaded()},e.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 i=r[n];if(\\\"loaded\\\"!==i.state&&\\\"errored\\\"!==i.state)return!1}}return!0},e.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,r){void 0===r&&(r={});var n=r.pixelRatio;void 0===n&&(n=1);var i=r.sdf;if(void 0===i&&(i=!1),e instanceof l){var o=a.getImageData(e),s=o.width,c=o.height,u=o.data;this.style.addImage(t,{data:new A({width:s,height:c},u),pixelRatio:n,sdf:i})}else{if(void 0===e.width||void 0===e.height)return this.fire(\\\"error\\\",{error:new Error(\\\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\\\")});var f=e.width,h=e.height,p=e.data;this.style.addImage(t,{data:new A({width:f,height:h},p.slice(0)),pixelRatio:n,sdf:i})}},e.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(\\\"error\\\",{error:new Error(\\\"Missing required image id\\\")}),!1)},e.prototype.removeImage=function(t){this.style.removeImage(t)},e.prototype.loadImage=function(t,e){f.getImage(this._transformRequest(t,f.ResourceType.Image),e)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},e.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},e.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\\\"mapboxgl-map\\\"),(this._missingCSSContainer=u.create(\\\"div\\\",\\\"mapboxgl-missing-css\\\",t)).innerHTML=\\\"Missing Mapbox GL JS CSS\\\";var e=this._canvasContainer=u.create(\\\"div\\\",\\\"mapboxgl-canvas-container\\\",t);this._interactive&&e.classList.add(\\\"mapboxgl-interactive\\\"),this._canvas=u.create(\\\"canvas\\\",\\\"mapboxgl-canvas\\\",e),this._canvas.style.position=\\\"absolute\\\",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 r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=u.create(\\\"div\\\",\\\"mapboxgl-control-container\\\",t),i=this._controlPositions={};[\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"].forEach(function(t){i[t]=u.create(\\\"div\\\",\\\"mapboxgl-ctrl-\\\"+t,n)})},e.prototype._resizeCanvas=function(t,e){var r=o.devicePixelRatio||1;this._canvas.width=r*t,this._canvas.height=r*e,this._canvas.style.width=t+\\\"px\\\",this._canvas.style.height=e+\\\"px\\\"},e.prototype._setupPainter=function(){var t=i.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},M.webGLContextAttributes),e=this._canvas.getContext(\\\"webgl\\\",t)||this._canvas.getContext(\\\"experimental-webgl\\\",t);e?this.painter=new d(e,this.transform):this.fire(\\\"error\\\",{error:new Error(\\\"Failed to initialize WebGL\\\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(\\\"webglcontextlost\\\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\\\"webglcontextrestored\\\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},e.prototype._render=function(){this._updateCamera();var t=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var e=this.transform.zoom,r=a.now();this.style.zoomHistory.update(e,r);var n=new p(e,{now:r,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=n.crossFadingFactor();1===i&&i===this._crossFadingFactor||(t=!0,this._crossFadingFactor=i),this.style.update(n)}return 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.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming,fadeDuration:this._fadeDuration}),this.fire(\\\"render\\\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\\\"load\\\")),this.style&&(this.style.hasTransitions()||t)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._frameId=null,this.setStyle(null),void 0!==o&&(o.removeEventListener(\\\"resize\\\",this._onWindowResize,!1),o.removeEventListener(\\\"online\\\",this._onWindowOnline,!1));var t=this.painter.context.gl.getExtension(\\\"WEBGL_lose_context\\\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),n(this._missingCSSContainer),this._container.classList.remove(\\\"mapboxgl-map\\\"),this.fire(\\\"remove\\\")},e.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},r.showTileBoundaries.get=function(){return!!this._showTileBoundaries},r.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},r.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},r.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},r.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},r.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},r.repaint.get=function(){return!!this._repaint},r.repaint.set=function(t){this._repaint=t,this._update()},r.vertices.get=function(){return!!this._vertices},r.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\\\"style\\\"===t.dataType),this.fire(t.dataType+\\\"data\\\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\\\"dataloading\\\",t)},Object.defineProperties(e.prototype,r),e}(y);e.exports=S},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../geo/transform\\\":64,\\\"../render/painter\\\":90,\\\"../style/evaluation_parameters\\\":182,\\\"../style/style\\\":190,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dom\\\":259,\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"./bind_handlers\\\":230,\\\"./camera\\\":231,\\\"./control/attribution_control\\\":232,\\\"./control/logo_control\\\":235,\\\"./events\\\":238,\\\"./hash\\\":246,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],248:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"../geo/lng_lat\\\"),a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"../util/smart_wrap\\\"),s=t(\\\"../util/util\\\").bindAll,l=function(t,e){if(s([\\\"_update\\\",\\\"_onMapClick\\\"],this),!t){t=n.create(\\\"div\\\");var r=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");r.setAttributeNS(null,\\\"height\\\",\\\"41px\\\"),r.setAttributeNS(null,\\\"width\\\",\\\"27px\\\"),r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 27 41\\\");var i=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");i.setAttributeNS(null,\\\"stroke\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"stroke-width\\\",\\\"1\\\"),i.setAttributeNS(null,\\\"fill\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"fill-rule\\\",\\\"evenodd\\\");var o=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");o.setAttributeNS(null,\\\"fill-rule\\\",\\\"nonzero\\\");var l=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");l.setAttributeNS(null,\\\"transform\\\",\\\"translate(3.0, 29.0)\\\"),l.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");for(var c=0,u=[{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\\\"}];c<u.length;c+=1){var f=u[c],h=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"ellipse\\\");h.setAttributeNS(null,\\\"opacity\\\",\\\"0.04\\\"),h.setAttributeNS(null,\\\"cx\\\",\\\"10.5\\\"),h.setAttributeNS(null,\\\"cy\\\",\\\"5.80029008\\\"),h.setAttributeNS(null,\\\"rx\\\",f.rx),h.setAttributeNS(null,\\\"ry\\\",f.ry),l.appendChild(h)}var p=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");p.setAttributeNS(null,\\\"fill\\\",\\\"#3FB1CE\\\");var d=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");d.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\\\"),p.appendChild(d);var g=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");g.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),g.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");var m=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");m.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\\\"),g.appendChild(m);var v=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");v.setAttributeNS(null,\\\"transform\\\",\\\"translate(6.0, 7.0)\\\"),v.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\");var y=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");y.setAttributeNS(null,\\\"transform\\\",\\\"translate(8.0, 8.0)\\\");var x=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");x.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\"),x.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),x.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\");var b=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");b.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\"),b.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\"),y.appendChild(x),y.appendChild(b),o.appendChild(l),o.appendChild(p),o.appendChild(g),o.appendChild(v),o.appendChild(y),r.appendChild(o),t.appendChild(r);var _=[0,-14];e&&e.offset||(e?e.offset=_:e={offset:_})}this._offset=a.convert(e&&e.offset||[0,0]),t.classList.add(\\\"mapboxgl-marker\\\"),this._element=t,this._popup=null};l.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._update(),this._map.on(\\\"click\\\",this._onMapClick),this},l.prototype.remove=function(){return this._map&&(this._map.off(\\\"click\\\",this._onMapClick),this._map.off(\\\"move\\\",this._update),this._map.off(\\\"moveend\\\",this._update),delete this._map),n.remove(this._element),this._popup&&this._popup.remove(),this},l.prototype.getLngLat=function(){return this._lngLat},l.prototype.setLngLat=function(t){return this._lngLat=i.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},l.prototype.getElement=function(){return this._element},l.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(\\\"offset\\\"in t.options||(t.options.offset=this._offset),this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)),this},l.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},l.prototype.getPopup=function(){return this._popup},l.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},l.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=o(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\\\"moveend\\\"!==t.type||(this._pos=this._pos.round()),n.setTransform(this._element,\\\"translate(-50%, -50%) translate(\\\"+this._pos.x+\\\"px, \\\"+this._pos.y+\\\"px)\\\"))},l.prototype.getOffset=function(){return this._offset},l.prototype.setOffset=function(t){return this._offset=a.convert(t),this._update(),this},e.exports=l},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],249:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/dom\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"@mapbox/point-geometry\\\"),l=t(\\\"../util/window\\\"),c=t(\\\"../util/smart_wrap\\\"),u={closeButton:!0,closeOnClick:!0},f=function(t){function e(e){t.call(this),this.options=n.extend(Object.create(u),e),n.bindAll([\\\"_update\\\",\\\"_onClickClose\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.addTo=function(t){return this._map=t,this._map.on(\\\"move\\\",this._update),this.options.closeOnClick&&this._map.on(\\\"click\\\",this._onClickClose),this._update(),this},e.prototype.isOpen=function(){return!!this._map},e.prototype.remove=function(){return this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off(\\\"move\\\",this._update),this._map.off(\\\"click\\\",this._onClickClose),delete this._map),this.fire(\\\"close\\\"),this},e.prototype.getLngLat=function(){return this._lngLat},e.prototype.setLngLat=function(t){return this._lngLat=o.convert(t),this._pos=null,this._update(),this},e.prototype.setText=function(t){return this.setDOMContent(l.document.createTextNode(t))},e.prototype.setHTML=function(t){var e,r=l.document.createDocumentFragment(),n=l.document.createElement(\\\"body\\\");for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},e.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},e.prototype._createContent=function(){this._content&&a.remove(this._content),this._content=a.create(\\\"div\\\",\\\"mapboxgl-popup-content\\\",this._container),this.options.closeButton&&(this._closeButton=a.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._onClickClose))},e.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=a.create(\\\"div\\\",\\\"mapboxgl-popup\\\",this._map.getContainer()),this._tip=a.create(\\\"div\\\",\\\"mapboxgl-popup-tip\\\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=c(this._lngLat,this._pos,this._map.transform));var t=this._pos=this._map.project(this._lngLat),e=this.options.anchor,r=function t(e){if(e){if(\\\"number\\\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{top:new s(0,e),\\\"top-left\\\":new s(r,r),\\\"top-right\\\":new s(-r,r),bottom:new s(0,-e),\\\"bottom-left\\\":new s(r,-r),\\\"bottom-right\\\":new s(-r,-r),left:new s(e,0),right:new s(-e,0)}}if(e instanceof s||Array.isArray(e)){var n=s.convert(e);return{top:n,\\\"top-left\\\":n,\\\"top-right\\\":n,bottom:n,\\\"bottom-left\\\":n,\\\"bottom-right\\\":n,left:n,right:n}}return{top:s.convert(e.top||[0,0]),\\\"top-left\\\":s.convert(e[\\\"top-left\\\"]||[0,0]),\\\"top-right\\\":s.convert(e[\\\"top-right\\\"]||[0,0]),bottom:s.convert(e.bottom||[0,0]),\\\"bottom-left\\\":s.convert(e[\\\"bottom-left\\\"]||[0,0]),\\\"bottom-right\\\":s.convert(e[\\\"bottom-right\\\"]||[0,0]),left:s.convert(e.left||[0,0]),right:s.convert(e.right||[0,0])}}return t(new s(0,0))}(this.options.offset);if(!e){var n=this._container.offsetWidth,i=this._container.offsetHeight;e=t.y+r.bottom.y<i?[\\\"top\\\"]:t.y>this._map.transform.height-i?[\\\"bottom\\\"]:[],t.x<n/2?e.push(\\\"left\\\"):t.x>this._map.transform.width-n/2&&e.push(\\\"right\\\"),e=0===e.length?\\\"bottom\\\":e.join(\\\"-\\\")}var o=t.add(r[e]).round(),l={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%)\\\"},u=this._container.classList;for(var f in l)u.remove(\\\"mapboxgl-popup-anchor-\\\"+f);u.add(\\\"mapboxgl-popup-anchor-\\\"+e),a.setTransform(this._container,l[e]+\\\" translate(\\\"+o.x+\\\"px,\\\"+o.y+\\\"px)\\\")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=f},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/evented\\\":260,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"@mapbox/point-geometry\\\":4}],250:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./web_worker_transfer\\\"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll([\\\"receive\\\"],this),this.target.addEventListener(\\\"message\\\",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+\\\":\\\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\\\"<response>\\\",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(\\\"<response>\\\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(\\\".\\\");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener(\\\"message\\\",this.receive,!1)},e.exports=s},{\\\"./util\\\":275,\\\"./web_worker_transfer\\\":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open(\\\"GET\\\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\\\"include\\\"===t.credentials,e}function i(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t(\\\"./window\\\"),o={Unknown:\\\"Unknown\\\",Style:\\\"Style\\\",Source:\\\"Source\\\",Tile:\\\"Tile\\\",Glyphs:\\\"Glyphs\\\",SpriteImage:\\\"SpriteImage\\\",SpriteJSON:\\\"SpriteJSON\\\",Image:\\\"Image\\\"};r.ResourceType=o,\\\"function\\\"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader(\\\"Accept\\\",\\\"application/json\\\"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType=\\\"arraybuffer\\\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error(\\\"http status 200 returned without content.\\\"));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader(\\\"Cache-Control\\\"),expires:r.getResponseHeader(\\\"Expires\\\")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:\\\"image/png\\\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\\\"}})},r.getVideo=function(t,e){var r=a.document.createElement(\\\"video\\\");r.onloadstart=function(){e(null,r)};for(var n=0;n<t.length;n++){var o=a.document.createElement(\\\"source\\\");i(t[n])||(r.crossOrigin=\\\"Anonymous\\\"),o.src=t[n],r.appendChild(o)}return r}},{\\\"./window\\\":254}],252:[function(t,e,r){var n=t(\\\"./window\\\"),i=n.performance&&n.performance.now?n.performance.now.bind(n.performance):Date.now.bind(Date),a=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame,o=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.msCancelAnimationFrame;e.exports={now:i,frame:function(t){return a(t)},cancelFrame:function(t){return o(t)},getImageData:function(t){var e=n.document.createElement(\\\"canvas\\\"),r=e.getContext(\\\"2d\\\");if(!r)throw new Error(\\\"failed to create canvas 2d context\\\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},hardwareConcurrency:n.navigator.hardwareConcurrency||4,get devicePixelRatio(){return n.devicePixelRatio},supportsWebp:!1};var s=n.document.createElement(\\\"img\\\");s.onload=function(){e.exports.supportsWebp=!0},s.src=\\\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\\\"},{\\\"./window\\\":254}],253:[function(t,e,r){var n=t(\\\"webworkify\\\"),i=t(\\\"../window\\\"),a=i.URL.createObjectURL(new n(t(\\\"../../source/worker\\\"),{bare:!0}));e.exports=function(){return new i.Worker(a)}},{\\\"../../source/worker\\\":118,\\\"../window\\\":254,webworkify:36}],254:[function(t,e,r){e.exports=self},{}],255:[function(t,e,r){function n(t,e){return e.area-t.area}var i=t(\\\"quickselect\\\"),a=t(\\\"./util\\\").calculateSignedArea;e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],c=0;c<r;c++){var u=a(t[c]);0!==u&&(t[c].area=Math.abs(u),void 0===s&&(s=u<0),s===u<0?(o&&l.push(o),o=[t[c]]):o.push(t[c]))}if(o&&l.push(o),e>1)for(var f=0;f<l.length;f++)l[f].length<=e||(i(l[f],e,1,l[f].length-1,n),l[f]=l[f].slice(0,e));return l}},{\\\"./util\\\":275,quickselect:31}],256:[function(t,e,r){e.exports={API_URL:\\\"https://api.mapbox.com\\\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null}},{}],257:[function(t,e,r){var n=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}};n.prototype.encode=function(t){return this._stringToNumber[t]},n.prototype.decode=function(t){return this._numberToString[t]},e.exports=n},{}],258:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./actor\\\"),a=function(t,e){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var o=r[a],s=new i(o,e,this.id);s.name=\\\"Worker \\\"+a,this.actors.push(s)}};a.prototype.broadcast=function(t,e,r){r=r||function(){},n.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},a.prototype.send=function(t,e,r,n){return(\\\"number\\\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},a.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},e.exports=a},{\\\"./actor\\\":250,\\\"./util\\\":275}],259:[function(t,e,r){function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e];return t[0]}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./window\\\");r.create=function(t,e,r){var n=a.document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n},r.createNS=function(t,e){return a.document.createElementNS(t,e)};var o,s=a.document.documentElement.style,l=n([\\\"userSelect\\\",\\\"MozUserSelect\\\",\\\"WebkitUserSelect\\\",\\\"msUserSelect\\\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\\\"none\\\")},r.enableDrag=function(){l&&(s[l]=o)};var c=n([\\\"transform\\\",\\\"WebkitTransform\\\"]);r.setTransform=function(t,e){t.style[c]=e};var u=function(t){t.preventDefault(),t.stopPropagation(),a.removeEventListener(\\\"click\\\",u,!0)};r.suppressClick=function(){a.addEventListener(\\\"click\\\",u,!0),a.setTimeout(function(){a.removeEventListener(\\\"click\\\",u,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new i(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],a=\\\"touchend\\\"===e.type?e.changedTouches:e.touches,o=0;o<a.length;o++)n.push(new i(a[o].clientX-r.left-t.clientLeft,a[o].clientY-r.top-t.clientTop));return n},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)}},{\\\"./window\\\":254,\\\"@mapbox/point-geometry\\\":4}],260:[function(t,e,r){function n(t,e,r){r[t]=r[t]||[],r[t].push(e)}function i(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var a=t(\\\"./util\\\"),o=function(){};o.prototype.on=function(t,e){return this._listeners=this._listeners||{},n(t,e,this._listeners),this},o.prototype.off=function(t,e){return i(t,e,this._listeners),i(t,e,this._oneTimeListeners),this},o.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},n(t,e,this._oneTimeListeners),this},o.prototype.fire=function(t,e){var r=this;if(this.listens(t)){e=a.extend({},e,{type:t,target:this});for(var n=0,o=this._listeners&&this._listeners[t]?this._listeners[t].slice():[];n<o.length;n+=1)o[n].call(r,e);for(var s=0,l=this._oneTimeListeners&&this._oneTimeListeners[t]?this._oneTimeListeners[t].slice():[];s<l.length;s+=1){var c=l[s];i(t,c,r._oneTimeListeners),c.call(r,e)}this._eventedParent&&this._eventedParent.fire(t,a.extend({},e,\\\"function\\\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData))}else a.endsWith(t,\\\"error\\\")&&console.error(e&&e.error||e||\\\"Empty error event\\\");return this},o.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)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{\\\"./util\\\":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,l=a.length,c=l-1;o<l;c=o++){var u=a[o],f=a[c];u.y>t.y!=f.y>t.y&&t.x<(f.x-u.x)*(t.y-u.y)/(f.y-u.y)+u.x&&(r=!r),n=Math.min(n,s(t,u,f))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t(\\\"tinyqueue\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"./intersection_tests\\\").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,c=-1/0,u=-1/0,f=t[0],h=0;h<f.length;h++){var p=f[h];(!h||p.x<s)&&(s=p.x),(!h||p.y<l)&&(l=p.y),(!h||p.x>c)&&(c=p.x),(!h||p.y>u)&&(u=p.y)}var d=c-s,g=u-l,m=Math.min(d,g),v=m/2,y=new a(null,n);if(0===m)return new o(s,l);for(var x=s;x<c;x+=m)for(var b=l;b<u;b+=m)y.push(new i(x+v,b+v,v,t));for(var _=function(t){for(var e=0,r=0,n=0,a=t[0],o=0,s=a.length,l=s-1;o<s;l=o++){var c=a[o],u=a[l],f=c.x*u.y-u.x*c.y;r+=(c.x+u.x)*f,n+=(c.y+u.y)*f,e+=3*f}return new i(r/e,n/e,0,t)}(t),w=y.length;y.length;){var k=y.pop();(k.d>_.d||!_.d)&&(_=k,r&&console.log(\\\"found best %d after %d probes\\\",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=e||(v=k.h/2,y.push(new i(k.p.x-v,k.p.y-v,v,t)),y.push(new i(k.p.x+v,k.p.y-v,v,t)),y.push(new i(k.p.x-v,k.p.y+v,v,t)),y.push(new i(k.p.x+v,k.p.y+v,v,t)),w+=4)}return r&&(console.log(\\\"num probes: \\\"+w),console.log(\\\"best distance: \\\"+_.d)),_.p}},{\\\"./intersection_tests\\\":264,\\\"@mapbox/point-geometry\\\":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t(\\\"./worker_pool\\\");e.exports=function(){return n||(n=new i),n}},{\\\"./worker_pool\\\":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\\\"mismatched image size\\\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\\\"out of range source coordinates for image copy\\\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\\\"out of range destination coordinates for image copy\\\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}var o=t(\\\"./web_worker_transfer\\\").register,s=function(t,e){n(this,t,1,e)};s.prototype.resize=function(t){i(this,t,1)},s.prototype.clone=function(){return new s({width:this.width,height:this.height},new Uint8Array(this.data))},s.copy=function(t,e,r,n,i){a(t,e,r,n,i,1)};var l=function(t,e){n(this,t,4,e)};l.prototype.resize=function(t){i(this,t,4)},l.prototype.clone=function(){return new l({width:this.width,height:this.height},new Uint8Array(this.data))},l.copy=function(t,e,r,n,i){a(t,e,r,n,i,4)},o(\\\"AlphaImage\\\",s),o(\\\"RGBAImage\\\",l),e.exports={AlphaImage:s,RGBAImage:l}},{\\\"./web_worker_transfer\\\":278}],264:[function(t,e,r){function n(t,e,r){if(t.length>1){if(i(t,e))return!0;for(var n=0;n<e.length;n++)if(o(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(o(t[a],e,r))return!0;return!1}function i(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],i=t[r+1],o=0;o<e.length-1;o++){if(a(n,i,e[o],e[o+1]))return!0}return!1}function a(t,e,r,n){return u(t,r,n)!==u(e,r,n)&&u(t,e,r)!==u(t,e,n)}function o(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(s(t,e[i-1],e[i])<n)return!0;return!1}function s(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function l(t,e){for(var r,n,i,a=!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],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function c(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}var u=t(\\\"./util\\\").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var s=e[a],l=0;l<s.length;l++){var u=s[l];if(c(i,u))return!0;if(o(u,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&&1===t[0].length)return l(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(l(t,n[a]))return!0;for(var o=0;o<t.length;o++){for(var s=t[o],c=0;c<s.length;c++)if(l(e,s[c]))return!0;for(var u=0;u<e.length;u++)if(i(s,e[u]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i<e.length;i++)for(var a=e[i],o=0;o<t.length;o++){var s=t[o];if(s.length>=3)for(var l=0;l<a.length;l++)if(c(s,a[l]))return!0;if(n(s,a,r))return!0}return!1},polygonIntersectsPolygon:function(t,e){for(var r=0;r<t.length;r++)if(c(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(c(t,e[n]))return!0;return!!i(t,e)},distToSegmentSquared:s}},{\\\"./util\\\":275}],265:[function(t,e,r){e.exports={\\\"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},\\\"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}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.getAndRemove(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.getAndRemove=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\\\"/\\\"!==r.path&&(t.path=\\\"\\\"+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error(\\\"An API access token is required to use Mapbox GL. \\\"+c);if(\\\"s\\\"===e[0])throw new Error(\\\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \\\"+c);return t.params.push(\\\"access_token=\\\"+e),o(t)}function i(t){return 0===t.indexOf(\\\"mapbox:\\\")}function a(t){var e=t.match(f);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 o(t){var e=t.params.length?\\\"?\\\"+t.params.join(\\\"&\\\"):\\\"\\\";return t.protocol+\\\"://\\\"+t.authority+t.path+e}var s=t(\\\"./config\\\"),l=t(\\\"./browser\\\"),c=\\\"See https://www.mapbox.com/api-documentation/#access-tokens\\\";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/styles/v1\\\"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/fonts/v1\\\"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/v4/\\\"+r.authority+\\\".json\\\",r.params.push(\\\"secure\\\"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path=\\\"/styles/v1\\\"+l.path+\\\"/sprite\\\"+e+r,n(l,s)):(l.path+=\\\"\\\"+e+r,o(l))};var u=/(\\\\.(png|jpg)\\\\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),c=l.devicePixelRatio>=2||512===r?\\\"@2x\\\":\\\"\\\",f=l.supportsWebp?\\\".webp\\\":\\\"$1\\\";return n.path=n.path.replace(u,\\\"\\\"+c+f),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\\\"access_token=tk.\\\")&&(t[e]=\\\"access_token=\\\"+(s.ACCESS_TOKEN||\\\"\\\"))}(n.params),o(n)};var f=/^(\\\\w+):\\\\/\\\\/([^\\\\/?]*)(\\\\/[^?]+)?\\\\??(.+)?/},{\\\"./browser\\\":252,\\\"./config\\\":256}],268:[function(t,e,r){e.exports={getEntriesByName:function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)}}},{}],269:[function(t,e,r){var n=t(\\\"./is_char_in_unicode_block\\\");e.exports.allowsIdeographicBreaking=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsIdeographicBreaking(i.charCodeAt(0)))return!1}return!0},e.exports.allowsVerticalWritingMode=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(r.charHasUprightVerticalOrientation(i.charCodeAt(0)))return!0}return!1},e.exports.allowsLetterSpacing=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsLetterSpacing(i.charCodeAt(0)))return!1}return!0},e.exports.charAllowsLetterSpacing=function(t){return!(n.Arabic(t)||n[\\\"Arabic Supplement\\\"](t)||n[\\\"Arabic Extended-A\\\"](t)||n[\\\"Arabic Presentation Forms-A\\\"](t)||n[\\\"Arabic Presentation Forms-B\\\"](t))},e.exports.charAllowsIdeographicBreaking=function(t){return!!(!(t<11904)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yi Radicals\\\"](t)||n[\\\"Yi Syllables\\\"](t)))},r.charHasUprightVerticalOrientation=function(t){return!!(746===t||747===t||!(t<4352)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)&&!(t>=65097&&t<=65103)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||!(!n[\\\"CJK Symbols and Punctuation\\\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Hangul Compatibility Jamo\\\"](t)||n[\\\"Hangul Jamo Extended-A\\\"](t)||n[\\\"Hangul Jamo Extended-B\\\"](t)||n[\\\"Hangul Jamo\\\"](t)||n[\\\"Hangul Syllables\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n.Kanbun(t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)&&12540!==t||!(!n[\\\"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)||!(!n[\\\"Small Form Variants\\\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n[\\\"Unified Canadian Aboriginal Syllabics\\\"](t)||n[\\\"Unified Canadian Aboriginal Syllabics Extended\\\"](t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yijing Hexagram Symbols\\\"](t)||n[\\\"Yi Syllables\\\"](t)||n[\\\"Yi Radicals\\\"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n[\\\"Latin-1 Supplement\\\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n[\\\"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)||n[\\\"Letterlike Symbols\\\"](t)||n[\\\"Number Forms\\\"](t)||n[\\\"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)||n[\\\"Control Pictures\\\"](t)&&9251!==t||n[\\\"Optical Character Recognition\\\"](t)||n[\\\"Enclosed Alphanumerics\\\"](t)||n[\\\"Geometric Shapes\\\"](t)||n[\\\"Miscellaneous Symbols\\\"](t)&&!(t>=9754&&t<=9759)||n[\\\"Miscellaneous Symbols and Arrows\\\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n.Katakana(t)||n[\\\"Private Use Area\\\"](t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"Small Form Variants\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{\\\"./is_char_in_unicode_block\\\":265}],270:[function(t,e,r){var n=t(\\\"../geo/lng_lat\\\");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)<o?t=i:r.locationPoint(a).distSqr(e)<o&&(t=a)}for(;Math.abs(t.lng-r.center.lng)>180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{\\\"../geo/lng_lat\\\":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.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},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.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)}},a.prototype._refreshViews=function(){throw new Error(\\\"_refreshViews() must be implemented by each concrete StructArray layout\\\")},e.exports.StructArray=a,e.exports.Struct=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},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function i(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,f=e.dx<0,h=a;h<o;h++){var p=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),h)}}function a(t,e,r,a,o,s){var l,c=n(t,e),u=n(e,r),f=n(r,t);c.dy>u.dy&&(l=c,c=u,u=l),c.dy>f.dy&&(l=c,c=f,f=l),u.dy>f.dy&&(l=u,u=f,f=l),c.dy&&i(f,c,a,o,s),u.dy&&i(f,u,a,o,s)}t(\\\"../geo/coordinate\\\");var o=t(\\\"../source/tile_id\\\").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var c,u,f;if(a>=0&&a<=s)for(c=e;c<i;c++)0!==(u=Math.floor(c/s))&&!0!==n||(f=new o(r,u,t,(c%s+s)%s,a),l[f.key]=f)}void 0===n&&(n=!0);var s=1<<t,l={};return a(e[0],e[1],e[2],0,s,i),a(e[2],e[3],e[0],0,s,i),Object.keys(l).map(function(t){return l[t]})}},{\\\"../geo/coordinate\\\":61,\\\"../source/tile_id\\\":114}],274:[function(t,e,r){e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):\\\"\\\"})}},{}],275:[function(t,e,r){var n=t(\\\"@mapbox/unitbezier\\\"),i=t(\\\"../geo/coordinate\\\");t(\\\"@mapbox/point-geometry\\\");r.easeCubicInOut=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)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,c=Math.max(s,l),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2));return new i((e+n)/2,(r+a)/2,0).zoomTo(u)},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.deepEqual=t(\\\"../style-spec/util/deep_equal\\\"),r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\\\"object\\\"==typeof t&&t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\\\"undefined\\\"!=typeof console&&console.warn(t),o[t]=!0)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e},r.isClosedPolygon=function(t){if(t.length<4)return!1;var e=t[0],n=t[t.length-1];return!(Math.abs(e.x-n.x)>0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.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)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\\\s*\\\\,\\\\s*))([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)(?:\\\\=(?:([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)|(?:\\\\\\\"((?:[^\\\"\\\\\\\\]|\\\\\\\\.)*)\\\\\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\\\"\\\"}),e[\\\"max-age\\\"]){var r=parseInt(e[\\\"max-age\\\"],10);isNaN(r)?delete e[\\\"max-age\\\"]:e[\\\"max-age\\\"]=r}return e}},{\\\"../geo/coordinate\\\":61,\\\"../style-spec/util/deep_equal\\\":155,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/unitbezier\\\":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type=\\\"Feature\\\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.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},i.geometry.set=function(t){this._geometry=t},n.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(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t(\\\"./script_detection\\\");e.exports=function(t){for(var r=\\\"\\\",i=0;i<t.length;i++){var a=t.charCodeAt(i+1)||null,o=t.charCodeAt(i-1)||null;a&&n.charHasRotatedVerticalOrientation(a)&&!e.exports.lookup[t[i+1]]||o&&n.charHasRotatedVerticalOrientation(o)&&!e.exports.lookup[t[i-1]]||!e.exports.lookup[t[i]]?r+=t[i]:r+=e.exports.lookup[t[i]]}return r},e.exports.lookup={\\\"!\\\":\\\"\\\\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\\\"}},{\\\"./script_detection\\\":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\\\"_classRegistryKey\\\",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t(\\\"grid-index\\\"),a=t(\\\"../style-spec/util/color\\\"),o=t(\\\"../style-spec/expression\\\"),s=o.StylePropertyFunction,l=o.StyleExpression,c=o.StyleExpressionWithErrorHandling,u=o.ZoomDependentExpression,f=o.ZoomConstantExpression,h=t(\\\"../style-spec/expression/compound_expression\\\").CompoundExpression,p=t(\\\"../style-spec/expression/definitions\\\"),d=t(\\\"./window\\\").ImageData,g={};for(var m in n(\\\"Object\\\",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n(\\\"Grid\\\",i),n(\\\"Color\\\",a),n(\\\"StylePropertyFunction\\\",s),n(\\\"StyleExpression\\\",l,{omit:[\\\"_evaluator\\\"]}),n(\\\"StyleExpressionWithErrorHandling\\\",c,{omit:[\\\"_evaluator\\\"]}),n(\\\"ZoomDependentExpression\\\",u),n(\\\"ZoomConstantExpression\\\",f),n(\\\"CompoundExpression\\\",h,{omit:[\\\"_evaluate\\\"]}),p)p[m]._classRegistryKey||n(\\\"Expression_\\\"+m,p[m]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a<o.length;a+=1){var s=o[a];i.push(t(s,r))}return i}if(\\\"object\\\"==typeof e){var l=e.constructor,c=l._classRegistryKey;if(!c)throw new Error(\\\"can't serialize object of unregistered class\\\");var u={};if(l.serialize)u._serialized=l.serialize(e,r);else for(var f in e)if(e.hasOwnProperty(f)&&!(g[c].omit.indexOf(f)>=0)){var h=e[f];u[f]=g[c].shallow.indexOf(f)>=0?h:t(h,r)}return{name:c,properties:u}}throw new Error(\\\"can't serialize object of type \\\"+typeof e)},deserialize:function t(e){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if(\\\"object\\\"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error(\\\"can't deserialize object of anonymous class\\\");var a=g[n].klass;if(!a)throw new Error(\\\"can't deserialize unregistered class \\\"+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s<l.length;s+=1){var c=l[s];o[c]=g[n].shallow.indexOf(c)>=0?i[c]:t(i[c])}return o}throw new Error(\\\"can't deserialize object of type \\\"+typeof e)}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/expression/compound_expression\\\":123,\\\"../style-spec/expression/definitions\\\":131,\\\"../style-spec/util/color\\\":153,\\\"./window\\\":254,\\\"grid-index\\\":24}],279:[function(t,e,r){var n=t(\\\"./web_worker\\\"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t(\\\"../\\\").workerCount;for(this.workers=[];this.workers.length<r;)this.workers.push(new n)}return this.active[e]=!0,this.workers.slice()},i.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)},e.exports=i},{\\\"../\\\":73,\\\"./web_worker\\\":253}]},{},[73])(73)})}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{}],312:[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]=a(t,n);return r};var n=t(\\\"convex-hull\\\");function i(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function a(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],a=[],o=0;o<=t;++o)if(e&1<<o){r.push(i(t,o-1,o-1)),a.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(i(t,o-1,s-1)),a.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],f=[];for(s=0;s<u.length;++s){if(!a[u[s]])continue t;f.push(a[u[s]].slice())}c.push(f)}return c}},{\\\"convex-hull\\\":110}],313:[function(t,e,r){var n=t(\\\"./normalize\\\"),i=t(\\\"gl-mat4/create\\\"),a=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=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,k,M,A=u[3],T=u[7],S=u[11],C=u[12],E=u[13],L=u[14],z=u[15];if(0!==A||0!==T||0!==S){if(h[0]=A,h[1]=T,h[2]=S,h[3]=z,!s(f,f))return!1;l(f,f),y=m,b=f,_=(x=h)[0],w=x[1],k=x[2],M=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*M,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*M,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*M,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*M}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=C,e[1]=E,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]),i[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][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\\\":314,\\\"gl-mat4/clone\\\":224,\\\"gl-mat4/create\\\":225,\\\"gl-mat4/determinant\\\":226,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/transpose\\\":240,\\\"gl-vec3/cross\\\":280,\\\"gl-vec3/dot\\\":281,\\\"gl-vec3/length\\\":282,\\\"gl-vec3/normalize\\\":284}],314:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],315:[function(t,e,r){var n=t(\\\"gl-vec3/lerp\\\"),i=t(\\\"mat4-recompose\\\"),a=t(\\\"mat4-decompose\\\"),o=t(\\\"gl-mat4/determinant\\\"),s=t(\\\"quat-slerp\\\"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p||(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{\\\"gl-mat4/determinant\\\":226,\\\"gl-vec3/lerp\\\":283,\\\"mat4-decompose\\\":313,\\\"mat4-recompose\\\":316,\\\"quat-slerp\\\":367}],316:[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\\\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,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(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\\\"gl-mat4/create\\\":225,\\\"gl-mat4/fromRotationTranslation\\\":228,\\\"gl-mat4/identity\\\":229,\\\"gl-mat4/multiply\\\":232,\\\"gl-mat4/scale\\\":238,\\\"gl-mat4/translate\\\":239}],317:[function(t,e,r){\\\"use strict\\\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],318:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"mat4-interpolate\\\"),a=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\\\"),f=(t(\\\"gl-mat4/scale\\\"),t(\\\"gl-vec3/normalize\\\")),h=[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],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(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||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};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 i=this.computedInverse;u(i,i,g),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,g),this.setMatrix(t,i)},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\\\":72,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/lookAt\\\":231,\\\"gl-mat4/rotateX\\\":235,\\\"gl-mat4/rotateY\\\":236,\\\"gl-mat4/rotateZ\\\":237,\\\"gl-mat4/scale\\\":238,\\\"gl-mat4/translate\\\":239,\\\"gl-vec3/normalize\\\":284,\\\"mat4-interpolate\\\":315}],319:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),i=0;i<e;++i)a[i]=i;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],i=2;i<e;++i){for(var l=a[i],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)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":388}],320:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=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!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,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\\\",f),t.addEventListener(\\\"keyup\\\",h),t.addEventListener(\\\"keydown\\\",h),t.addEventListener(\\\"keypress\\\",h),t!==window&&(window.addEventListener(\\\"blur\\\",f),window.addEventListener(\\\"keyup\\\",h),window.addEventListener(\\\"keydown\\\",h),window.addEventListener(\\\"keypress\\\",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():s&&(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\\\",f),t.removeEventListener(\\\"keyup\\\",h),t.removeEventListener(\\\"keydown\\\",h),t.removeEventListener(\\\"keypress\\\",h),t!==window&&(window.removeEventListener(\\\"blur\\\",f),window.removeEventListener(\\\"keyup\\\",h),window.removeEventListener(\\\"keydown\\\",h),window.removeEventListener(\\\"keypress\\\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\\\"mouse-event\\\")},{\\\"mouse-event\\\":322}],321:[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 i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],322:[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}},{}],323:[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 i=n(\\\"ex\\\",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=i;break;case 2:l=window.innerHeight}if(a*=l,o*=l,(n*=l)||a||o)return e(n,a,o,t)};return t.addEventListener(\\\"wheel\\\",a),a}},{\\\"to-px\\\":417}],324:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\");function i(t){return\\\"a\\\"+t}function a(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 f(t){return\\\"p\\\"+t}function h(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 T=t.arrayArguments||1;T<1&&e(\\\"Must have at least one array argument\\\");var S=t.scalarArguments||0;S<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 C=t.getters||[],E=new Array(T),L=0;L<T;++L)C.indexOf(L)>=0?E[L]=!0:E[L]=!1;return function(t,e,r,T,S,C){var E=C.length,L=S.length;if(L<2)throw new Error(\\\"ndarray-extract-contour: Dimension must be at least 2\\\");for(var z=\\\"extractContour\\\"+S.join(\\\"_\\\"),P=[],D=[],O=[],I=0;I<E;++I)O.push(i(I));for(var I=0;I<T;++I)O.push(u(I));for(var I=0;I<L;++I)D.push(s(I)+\\\"=\\\"+i(0)+\\\".shape[\\\"+I+\\\"]|0\\\");for(var I=0;I<E;++I){D.push(a(I)+\\\"=\\\"+i(I)+\\\".data\\\",c(I)+\\\"=\\\"+i(I)+\\\".offset|0\\\");for(var R=0;R<L;++R)D.push(l(I,R)+\\\"=\\\"+i(I)+\\\".stride[\\\"+R+\\\"]|0\\\")}for(var I=0;I<E;++I){D.push(f(I)+\\\"=\\\"+c(I)),D.push(o(I,0));for(var R=1;R<1<<L;++R){for(var B=[],F=0;F<L;++F)R&1<<F&&B.push(\\\"-\\\"+l(I,F));D.push(h(I,R)+\\\"=(\\\"+B.join(\\\"\\\")+\\\")|0\\\"),D.push(o(I,R)+\\\"=0\\\")}}for(var I=0;I<E;++I)for(var R=0;R<L;++R){var N=[l(I,S[R])];R>0&&N.push(l(I,S[R-1])+\\\"*\\\"+s(S[R-1])),D.push(d(I,S[R])+\\\"=(\\\"+N.join(\\\"-\\\")+\\\")|0\\\")}for(var I=0;I<L;++I)D.push(p(I)+\\\"=0\\\");D.push(_+\\\"=0\\\");for(var j=[\\\"2\\\"],I=L-2;I>=0;--I)j.push(s(S[I]));D.push(w+\\\"=(\\\"+j.join(\\\"*\\\")+\\\")|0\\\",b+\\\"=mallocUint32(\\\"+w+\\\")\\\",x+\\\"=mallocUint32(\\\"+w+\\\")\\\",k+\\\"=0\\\"),D.push(g(0)+\\\"=0\\\");for(var R=1;R<1<<L;++R){for(var V=[],U=[],F=0;F<L;++F)R&1<<F&&(0===U.length?V.push(\\\"1\\\"):V.unshift(U.join(\\\"*\\\"))),U.push(s(S[F]));var q=\\\"\\\";V[0].indexOf(s(S[L-2]))<0&&(q=\\\"-\\\");var H=A(L,R,S);D.push(v(H)+\\\"=(-\\\"+V.join(\\\"-\\\")+\\\")|0\\\",m(H)+\\\"=(\\\"+q+V.join(\\\"-\\\")+\\\")|0\\\",g(H)+\\\"=0\\\")}function G(t,e){P.push(\\\"for(\\\",p(S[t]),\\\"=\\\",e,\\\";\\\",p(S[t]),\\\"<\\\",s(S[t]),\\\";\\\",\\\"++\\\",p(S[t]),\\\"){\\\")}function W(t){for(var e=0;e<E;++e)P.push(f(e),\\\"+=\\\",d(e,S[t]),\\\";\\\");P.push(\\\"}\\\")}function Y(){for(var t=1;t<1<<L;++t)P.push(M,\\\"=\\\",v(t),\\\";\\\",v(t),\\\"=\\\",m(t),\\\";\\\",m(t),\\\"=\\\",M,\\\";\\\")}D.push(y(0)+\\\"=0\\\",M+\\\"=0\\\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<E;++e)C[e]?P.push(o(e,0),\\\"=\\\",a(e),\\\".get(\\\",f(e),\\\");\\\"):P.push(o(e,0),\\\"=\\\",a(e),\\\"[\\\",f(e),\\\"];\\\");for(var r=[],e=0;e<E;++e)r.push(o(e,0));for(var e=0;e<T;++e)r.push(u(e));P.push(g(0),\\\"=\\\",b,\\\"[\\\",k,\\\"]=phase(\\\",r.join(),\\\");\\\");for(var n=1;n<1<<L;++n)P.push(g(n),\\\"=\\\",b,\\\"[\\\",k,\\\"+\\\",v(n),\\\"];\\\");for(var i=[],n=1;n<1<<L;++n)i.push(\\\"(\\\"+g(0)+\\\"!==\\\"+g(n)+\\\")\\\");P.push(\\\"if(\\\",i.join(\\\"||\\\"),\\\"){\\\");for(var s=[],e=0;e<L;++e)s.push(p(e));for(var e=0;e<E;++e){s.push(o(e,0));for(var n=1;n<1<<L;++n)C[e]?P.push(o(e,n),\\\"=\\\",a(e),\\\".get(\\\",f(e),\\\"+\\\",h(e,n),\\\");\\\"):P.push(o(e,n),\\\"=\\\",a(e),\\\"[\\\",f(e),\\\"+\\\",h(e,n),\\\"];\\\"),s.push(o(e,n))}for(var e=0;e<1<<L;++e)s.push(g(e));for(var e=0;e<T;++e)s.push(u(e));P.push(\\\"vertex(\\\",s.join(),\\\");\\\",y(0),\\\"=\\\",x,\\\"[\\\",k,\\\"]=\\\",_,\\\"++;\\\");for(var l=(1<<L)-1,c=g(l),n=0;n<L;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),w=[],M=d;M>0;M=M-1&d)w.push(x+\\\"[\\\"+k+\\\"+\\\"+v(M)+\\\"]\\\");w.push(y(0));for(var M=0;M<E;++M)1&n?w.push(o(M,l),o(M,d)):w.push(o(M,d),o(M,l));1&n?w.push(c,m):w.push(m,c);for(var M=0;M<T;++M)w.push(u(M));P.push(\\\"if(\\\",c,\\\"!==\\\",m,\\\"){\\\",\\\"face(\\\",w.join(),\\\")}\\\")}P.push(\\\"}\\\",k,\\\"+=1;\\\")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<E;++e)C[e]?r.push(a(e)+\\\".get(\\\"+f(e)+\\\")\\\"):r.push(a(e)+\\\"[\\\"+f(e)+\\\"]\\\");for(var e=0;e<T;++e)r.push(u(e));P.push(b,\\\"[\\\",k,\\\"++]=phase(\\\",r.join(),\\\");\\\");for(var e=0;e<t;++e)W(e);for(var n=0;n<E;++n)P.push(f(n),\\\"+=\\\",d(n,S[t]),\\\";\\\")}(e);P.push(\\\"if(\\\",s(S[e]),\\\">0){\\\",p(S[e]),\\\"=1;\\\");t(e-1,r|1<<S[e]);for(var n=0;n<E;++n)P.push(f(n),\\\"+=\\\",d(n,S[e]),\\\";\\\");e===L-1&&(P.push(k,\\\"=0;\\\"),Y());G(e,2);t(e-1,r);e===L-1&&(P.push(\\\"if(\\\",p(S[L-1]),\\\"&1){\\\",k,\\\"=0;}\\\"),Y());W(e);P.push(\\\"}\\\")}(L-1,0),P.push(\\\"freeUint32(\\\",x,\\\");freeUint32(\\\",b,\\\");\\\");var X=[\\\"'use strict';\\\",\\\"function \\\",z,\\\"(\\\",O.join(),\\\"){\\\",\\\"var \\\",D.join(),\\\";\\\",P.join(\\\"\\\"),\\\"}\\\",\\\"return \\\",z].join(\\\"\\\");return new Function(\\\"vertex\\\",\\\"face\\\",\\\"phase\\\",\\\"mallocUint32\\\",\\\"freeUint32\\\",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,E)};var x=\\\"V\\\",b=\\\"P\\\",_=\\\"N\\\",w=\\\"Q\\\",k=\\\"X\\\",M=\\\"T\\\";function A(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}},{\\\"typedarray-pool\\\":423}],325:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\"],pre:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},body:{body:\\\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\\\",args:[{name:\\\"_inline_1_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_1_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_1_arg2_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\\\"cwise/lib/wrapper\\\":119}],326:[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 i=0;i<e.dimension;++i)if(t.shape[i]!==e.shape[i])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 i(e){for(var i=r-e.length,a=[],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\\\"),a.push(\\\"1\\\"),o.push(\\\"s[\\\"+l+\\\"]-2\\\"));var c=\\\".lo(\\\"+a.join()+\\\").hi(\\\"+o.join()+\\\")\\\";if(0===a.length&&(c=\\\"\\\"),i>0){n.push(\\\"if(1\\\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\\\"&&s[\\\",l,\\\"]>2\\\");n.push(\\\"){grad\\\",i,\\\"(src.pick(\\\",s.join(),\\\")\\\",c);for(var 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(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,f=\\\"dst.pick(\\\"+s.join()+\\\",\\\"+u+\\\")\\\"+c;switch(t[u]){case\\\"clamp\\\":var h=s.slice(),p=s.slice();e[l]<0?h[u]=\\\"s[\\\"+u+\\\"]-2\\\":p[u]=\\\"1\\\",0===i?n.push(\\\"if(s[\\\",u,\\\"]>1){dst.set(\\\",s.join(),\\\",\\\",u,\\\",0.5*(src.get(\\\",h.join(),\\\")-src.get(\\\",p.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",u,\\\",0)};\\\"):n.push(\\\"if(s[\\\",u,\\\"]>1){diff(\\\",f,\\\",src.pick(\\\",h.join(),\\\")\\\",c,\\\",src.pick(\\\",p.join(),\\\")\\\",c,\\\");}else{zero(\\\",f,\\\");};\\\");break;case\\\"mirror\\\":0===i?n.push(\\\"dst.set(\\\",s.join(),\\\",\\\",u,\\\",0);\\\"):n.push(\\\"zero(\\\",f,\\\");\\\");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===i?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(\\\",f,\\\",src.pick(\\\",d.join(),\\\")\\\",c,\\\",src.pick(\\\",g.join(),\\\")\\\",c,\\\");}else{zero(\\\",f,\\\");};\\\");break;default:throw new Error(\\\"ndarray-gradient: Invalid boundary condition\\\")}}i>0&&n.push(\\\"};\\\")}for(var s=0;s<1<<r;++s){for(var f=[],h=0;h<r;++h)s&1<<h&&f.push(h+1);for(var p=0;p<1<<f.length;++p){for(var d=f.slice(),h=0;h<f.length;++h)p&1<<h&&(d[h]=-d[h]);i(d)}}n.push(\\\"return dst;};return gradient\\\");for(var g=[\\\"diff\\\",\\\"zero\\\"],m=[l,c],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 a[e]=v,v}(r)(t,e)};var n=t(\\\"dup\\\"),i=t(\\\"cwise-compiler\\\"),a={},o={},s={body:\\\"\\\",args:[],thisVars:[],localVars:[]},l=i({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=i({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 a)return a[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 a[t]=i({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\\\":116,dup:136}],327:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray-warp\\\"),i=t(\\\"gl-matrix-invert\\\");e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r<a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n<a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n<a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r<a;++r)t[r]*=s;return t}),t}},{\\\"gl-matrix-invert\\\":241,\\\"ndarray-warp\\\":334}],328:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=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],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],g=0<=h+1&&h+1<t.shape[2],m=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&g?t.get(i,l,h+1):0,_=o&&f&&g?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*m+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&g?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&g?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=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*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],329:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"cwise-compiler\\\"),i={body:\\\"\\\",args:[],thisVars:[],localVars:[]};function a(t){if(!t)return i;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:a(t.pre),body:a(t.body),post:a(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 f=[\\\"max\\\",\\\"min\\\",\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<f.length;++t){var e=f[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 h=[\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<h.length;++t){var e=h[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:i,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:i,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:i,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\\\":116}],330:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray\\\"),i=t(\\\"./doConvert.js\\\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\\\"./doConvert.js\\\":331,ndarray:335}],331:[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\\\":116}],332:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\"),i=32;function a(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 f=-1,h=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(f>0?s.push([\\\"d\\\",d,\\\"=s\\\",d,\\\"-d\\\",f,\\\"*n\\\",f].join(\\\"\\\")):s.push([\\\"d\\\",d,\\\"=s\\\",d].join(\\\"\\\")),f=d),0!=(p=t.length-1-l)&&(h>0?s.push([\\\"e\\\",p,\\\"=s\\\",p,\\\"-e\\\",h,\\\"*n\\\",h,\\\",f\\\",p,\\\"=\\\",c[p],\\\"-f\\\",h,\\\"*n\\\",h].join(\\\"\\\")):s.push([\\\"e\\\",p,\\\"=s\\\",p,\\\",f\\\",p,\\\"=\\\",c[p]].join(\\\"\\\")),h=p)}r.push(\\\"var \\\"+s.join(\\\",\\\"));var g=[\\\"0\\\",\\\"n0-1\\\",\\\"data\\\",\\\"offset\\\"].concat(o(t.length));r.push([\\\"if(n0<=\\\",i,\\\"){\\\",\\\"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(\\\"\\\"),i=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(o(t.length)),s=a(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 f(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function h(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}if(r.push([\\\"function \\\",n,\\\"(\\\",i.join(\\\",\\\"),\\\"){var \\\",l.join(\\\",\\\")].join(\\\"\\\"),\\\"for(i=left+1;i<=right;++i){\\\",\\\"j=i;ptr+=s0\\\",\\\"cptr=ptr\\\"),t.length>1){for(r.push(\\\"dptr=0;sptr=ptr\\\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\\\"for(i\\\",p,\\\"=0;i\\\",p,\\\"<n\\\",p,\\\";++i\\\",p,\\\"){\\\"].join(\\\"\\\"));for(r.push(\\\"scratch[dptr++]=\\\",f(\\\"sptr\\\")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(\\\"sptr+=d\\\"+p,\\\"}\\\");for(r.push(\\\"__g:while(j--\\\\x3eleft){\\\",\\\"dptr=0\\\",\\\"sptr=cptr-s0\\\"),u=1;u<t.length;++u)1===u&&r.push(\\\"__l:\\\"),r.push([\\\"for(i\\\",u,\\\"=0;i\\\",u,\\\"<n\\\",u,\\\";++i\\\",u,\\\"){\\\"].join(\\\"\\\"));for(r.push([\\\"a=\\\",f(\\\"sptr\\\"),\\\"\\\\nb=scratch[dptr]\\\\nif(a<b){break __g}\\\\nif(a>b){break __l}\\\"].join(\\\"\\\")),u=t.length-1;u>=1;--u)r.push(\\\"sptr+=e\\\"+u,\\\"dptr+=f\\\"+u,\\\"}\\\");for(r.push(\\\"dptr=cptr;sptr=cptr-s0\\\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\\\"for(i\\\",p,\\\"=0;i\\\",p,\\\"<n\\\",p,\\\";++i\\\",p,\\\"){\\\"].join(\\\"\\\"));for(r.push(h(\\\"dptr\\\",f(\\\"sptr\\\"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push([\\\"dptr+=d\\\",p,\\\";sptr+=d\\\",p].join(\\\"\\\"),\\\"}\\\");for(r.push(\\\"cptr-=s0\\\\n}\\\"),r.push(\\\"dptr=cptr;sptr=0\\\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\\\"for(i\\\",p,\\\"=0;i\\\",p,\\\"<n\\\",p,\\\";++i\\\",p,\\\"){\\\"].join(\\\"\\\"));for(r.push(h(\\\"dptr\\\",\\\"scratch[sptr++]\\\")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push(\\\"dptr+=d\\\"+p,\\\"}\\\")}}else r.push(\\\"scratch=\\\"+f(\\\"ptr\\\"),\\\"while((j--\\\\x3eleft)&&(\\\"+f(\\\"cptr-s0\\\")+\\\">scratch)){\\\",h(\\\"cptr\\\",f(\\\"cptr-s0\\\")),\\\"cptr-=s0\\\",\\\"}\\\",h(\\\"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);return m(v,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=a(e),u=0;n.push([\\\"function \\\",s,\\\"(\\\",l.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));var f=[\\\"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 h=[],p=1;p<t.length;++p)h.push(\\\"n\\\"+p),f.push(\\\"i\\\"+p);for(p=0;p<8;++p)f.push(\\\"b_ptr\\\"+p);f.push(\\\"ptr3\\\",\\\"ptr4\\\",\\\"ptr5\\\",\\\"ptr6\\\",\\\"ptr7\\\",\\\"pivot_ptr\\\",\\\"ptr_shift\\\",\\\"elementSize=\\\"+h.join(\\\"*\\\")),c?f.push(\\\"pivot1=malloc(elementSize)\\\",\\\"pivot2=malloc(elementSize)\\\"):f.push(\\\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\\\")}else f.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,i){if(1===e.length)n.push(\\\"ptr0=\\\"+d(e[0]));else for(var a=0;a<e.length;++a)n.push([\\\"b_ptr\\\",a,\\\"=s0*\\\",e[a]].join(\\\"\\\"));for(r&&n.push(\\\"pivot_ptr=0\\\"),n.push(\\\"ptr_shift=offset\\\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\\\"ptr\\\",a,\\\"=b_ptr\\\",a,\\\"+ptr_shift\\\"].join(\\\"\\\"));for(n.push(i),r&&n.push(\\\"++pivot_ptr\\\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\\\"ptr_shift+=d\\\"+o):n.push(\\\"ptr0+=d\\\"+o),n.push(\\\"}\\\"))}}function y(e,r,i,a){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\\\")}for(i&&n.push(\\\"pivot_ptr=0\\\"),e&&n.push(e+\\\":\\\"),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(\\\"\\\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&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 i=\\\"el\\\"+e,a=\\\"el\\\"+r;if(t.length>1){var o=\\\"__l\\\"+ ++u;y(o,[i,a],!1,[\\\"comp=\\\",g(\\\"ptr0\\\"),\\\"-\\\",g(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"if(comp>0){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=tmp0;break \\\",o,\\\"}\\\\n\\\",\\\"if(comp<0){break \\\",o,\\\"}\\\"].join(\\\"\\\"))}else n.push([\\\"if(\\\",g(d(i)),\\\">\\\",g(d(a)),\\\"){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=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,i){if(t.length>1){var a=\\\"__l\\\"+ ++u;y(a,[r],!0,[e,\\\"=\\\",g(\\\"ptr0\\\"),\\\"-pivot\\\",i,\\\"[pivot_ptr]\\\\n\\\",\\\"if(\\\",e,\\\"!==0){break \\\",a,\\\"}\\\"].join(\\\"\\\"))}else n.push([e,\\\"=\\\",g(d(r)),\\\"-pivot\\\",i].join(\\\"\\\"))}function k(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 M(e,r,i){t.length>1?(v([e,r,i],!1,[\\\"tmp=\\\",g(\\\"ptr0\\\"),\\\"\\\\n\\\",m(\\\"ptr0\\\",g(\\\"ptr1\\\")),\\\"\\\\n\\\",m(\\\"ptr1\\\",g(\\\"ptr2\\\")),\\\"\\\\n\\\",m(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\")),n.push(\\\"++\\\"+r,\\\"--\\\"+i)):n.push([\\\"ptr0=\\\",d(e),\\\"\\\\n\\\",\\\"ptr1=\\\",d(r),\\\"\\\\n\\\",\\\"ptr2=\\\",d(i),\\\"\\\\n\\\",\\\"++\\\",r,\\\"\\\\n\\\",\\\"--\\\",i,\\\"\\\\n\\\",\\\"tmp=\\\",g(\\\"ptr0\\\"),\\\"\\\\n\\\",m(\\\"ptr0\\\",g(\\\"ptr1\\\")),\\\"\\\\n\\\",m(\\\"ptr1\\\",g(\\\"ptr2\\\")),\\\"\\\\n\\\",m(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\"))}function A(t,e){k(t,e),n.push(\\\"--\\\"+e)}function T(e,r,i){t.length>1?v([e,r],!0,[m(\\\"ptr0\\\",g(\\\"ptr1\\\")),\\\"\\\\n\\\",m(\\\"ptr1\\\",[\\\"pivot\\\",i,\\\"[pivot_ptr]\\\"].join(\\\"\\\"))].join(\\\"\\\")):n.push(m(d(e),g(d(r))),m(d(r),\\\"pivot\\\"+i))}function S(e,r){n.push([\\\"if((\\\",r,\\\"-\\\",e,\\\")<=\\\",i,\\\"){\\\\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 C(e,r,i){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(i,\\\"}\\\")):n.push([\\\"while(\\\",g(d(e)),\\\"===pivot\\\",r,\\\"){\\\",i,\\\"}\\\"].join(\\\"\\\"))}return n.push(\\\"var \\\"+f.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){\\\"),k(\\\"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){\\\"),M(\\\"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){\\\"),k(\\\"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){\\\"),M(\\\"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(\\\"}\\\"),T(\\\"left\\\",\\\"(less-1)\\\",1),T(\\\"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){\\\"),C(\\\"less\\\",1,\\\"++less\\\"),C(\\\"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){\\\"),k(\\\"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){\\\"),M(\\\"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))}},{\\\"typedarray-pool\\\":423}],333:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/compile_sort.js\\\"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\\\":\\\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{\\\"./lib/compile_sort.js\\\":332}],334:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"ndarray-linear-interpolate\\\"),i=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=new Array(_inline_3_arg4_)}\\\",args:[{name:\\\"_inline_3_arg0_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg1_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg2_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg3_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\\\",args:[{name:\\\"_inline_4_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_4_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg4_\\\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warpND\\\",blockSize:64}),a=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\\\",args:[{name:\\\"_inline_7_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_7_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp1D\\\",blockSize:64}),o=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\\\",args:[{name:\\\"_inline_10_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_10_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp2D\\\",blockSize:64}),s=t(\\\"cwise/lib/wrapper\\\")({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}\\\",args:[{name:\\\"_inline_13_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_13_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp3D\\\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\\\"cwise/lib/wrapper\\\":119,\\\"ndarray-linear-interpolate\\\":328}],335:[function(t,e,r){var n=t(\\\"iota-array\\\"),i=t(\\\"is-buffer\\\"),a=\\\"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 i=\\\"generic\\\"===t;if(-1===e){var a=\\\"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(a)()}if(0===e){a=\\\"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 \\\"+(i?\\\"this.data.get(this.offset)\\\":\\\"this.data[this.offset]\\\")+\\\"};proto.set=function \\\"+r+\\\"_set(v){return \\\"+(i?\\\"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\\\",a)(c[t][0])}a=[\\\"'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(\\\"+\\\"),f=o.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\"),h=o.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\");a.push(\\\"function \\\"+r+\\\"(a,\\\"+f+\\\",\\\"+h+\\\",d){this.data=a\\\",\\\"this.shape=[\\\"+f+\\\"]\\\",\\\"this.stride=[\\\"+h+\\\"]\\\",\\\"this.offset=d|0}\\\",\\\"var proto=\\\"+r+\\\".prototype\\\",\\\"proto.dtype='\\\"+t+\\\"'\\\",\\\"proto.dimension=\\\"+e),a.push(\\\"Object.defineProperty(proto,'size',{get:function \\\"+r+\\\"_size(){return \\\"+o.map(function(t){return\\\"this.shape[\\\"+t+\\\"]\\\"}).join(\\\"*\\\"),\\\"}})\\\"),1===e?a.push(\\\"proto.order=[0]\\\"):(a.push(\\\"Object.defineProperty(proto,'order',{get:\\\"),e<4?(a.push(\\\"function \\\"+r+\\\"_order(){\\\"),2===e?a.push(\\\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\\\"):3===e&&a.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];}}})\\\")):a.push(\\\"ORDER})\\\")),a.push(\\\"proto.set=function \\\"+r+\\\"_set(\\\"+l.join(\\\",\\\")+\\\",v){\\\"),i?a.push(\\\"return this.data.set(\\\"+u+\\\",v)}\\\"):a.push(\\\"return this.data[\\\"+u+\\\"]=v}\\\"),a.push(\\\"proto.get=function \\\"+r+\\\"_get(\\\"+l.join(\\\",\\\")+\\\"){\\\"),i?a.push(\\\"return this.data.get(\\\"+u+\\\")}\\\"):a.push(\\\"return this.data[\\\"+u+\\\"]}\\\"),a.push(\\\"proto.index=function \\\"+r+\\\"_index(\\\",l.join(),\\\"){return \\\"+u+\\\"}\\\"),a.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+\\\"]\\\"});a.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)a.push(\\\"if(typeof i\\\"+g+\\\"==='number'&&i\\\"+g+\\\">=0){d=i\\\"+g+\\\"|0;b+=c\\\"+g+\\\"*d;a\\\"+g+\\\"-=d}\\\");a.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+o.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+o.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\")+\\\",b)}\\\"),a.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)a.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}\\\");a.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+\\\"]\\\";a.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)}\\\"),a.push(\\\"proto.pick=function \\\"+r+\\\"_pick(\\\"+l+\\\"){var a=[],b=[],c=this.offset\\\");for(g=0;g<e;++g)a.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 a.push(\\\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\\\"),a.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\\\",a.join(\\\"\\\\n\\\"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],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)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var f=function(t){if(i(t))return\\\"buffer\\\";if(a)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\\\"}return Array.isArray(t)?\\\"array\\\":\\\"generic\\\"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,n)}},{\\\"iota-array\\\":302,\\\"is-buffer\\\":304}],336:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"double-bits\\\"),i=Math.pow(2,-1074),a=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{\\\"double-bits\\\":133}],337:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)k=p[0],M=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,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/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),M=Math.asin(((h-w)/a).toFixed(9));k=t<_?n-k:k,M=f<_?n-M:M,k<0&&(k=2*n+k),M<0&&(M=2*n+M),u&&k>M&&(k-=2*n),!u&&M>k&&(M-=2*n)}if(Math.abs(M-k)>i){var A=M,T=f,S=h;M=k+i*(u&&M>k?1:-1);var C=s(f=_+r*Math.cos(M),h=w+a*Math.sin(M),r,a,o,0,u,T,S,[M,A,_,w])}var E=Math.tan((M-k)/4),L=4/3*r*E,z=4/3*a*E,P=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(M),h-z*Math.cos(M),f,h];if(p)return P;C&&(P=P.concat(C));for(var D=0;D<P.length;){var O=l(P[D],P[D+1],o);P[D++]=O.x,P[D++]=O.y}return P}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,i=0,l=0,u=0,f=null,h=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-i),v=[\\\"C\\\",x,b,v[1],v[2],v[3],v[4]];break;case\\\"T\\\":\\\"Q\\\"==e||\\\"T\\\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case\\\"Q\\\":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\\\"L\\\":v=a(p,d,v[1],v[2]);break;case\\\"H\\\":v=a(p,d,v[1],d);break;case\\\"V\\\":v=a(p,d,p,v[1]);break;case\\\"Z\\\":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],338:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[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],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=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]=h[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>a){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(v[w]*g[k]-v[k]*g[w])}}}for(o=0;o<n;++o){b=i[o];var M=0;for(x=0;x<3;++x)M+=b[x]*b[x];if(M>a)for(_=1/Math.sqrt(M),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=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),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;h[c]=u[d]*f[g]-u[g]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],339:[function(t,e,r){\\\"use strict\\\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;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,o,s=function(t){if(null===t||void 0===t)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))i.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)a.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],340:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c),f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],341:[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 i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\\\"eye\\\"in t||\\\"up\\\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t(\\\"filtered-vector\\\"),i=t(\\\"gl-mat4/lookAt\\\"),a=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],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(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 h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.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;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[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,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.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},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,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))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var M=this.computedRotation,A=M[0],T=M[1],S=M[2],C=M[3],E=A*w+C*x+T*_-S*b,L=T*w+C*b+S*x-A*_,z=S*w+C*_+A*b-T*x,P=C*w-A*x-T*b-S*_;if(n){x=p,b=d,_=g;var D=Math.sin(n)/l(x,b,_);x*=D,b*=D,_*=D,P=P*(w=Math.cos(e))-(E=E*w+P*x+L*_-z*b)*x-(L=L*w+P*b+z*x-E*_)*b-(z=z*w+P*_+E*b-L*x)*_}var O=c(E,L,z,P);O>1e-6?(E/=O,L/=O,z/=O,P/=O):(E=L=z=0,P=1),this.rotation.set(t,E,L,z,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[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])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.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 i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.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},h.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])]},h.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]}},h.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 i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\\\"./lib/quatFromFrame\\\":340,\\\"filtered-vector\\\":197,\\\"gl-mat4/fromQuat\\\":227,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/lookAt\\\":231}],342:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"repeat-string\\\");e.exports=function(t,e,r){return n(r=void 0!==r?r+\\\"\\\":\\\" \\\",e)+t}},{\\\"repeat-string\\\":381}],343:[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\\\":349}],344:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\\\"m\\\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\\\"l\\\",r=\\\"m\\\"==r?\\\"l\\\":\\\"L\\\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error(\\\"malformed path data\\\");e.push([r].concat(i.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},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\\\\.?[0-9]+(?:e[-+]?\\\\d+)?/gi},{}],345:[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}},{}],346:[function(t,e,r){(function(t){(function(){var r,n,i,a,o,s;\\\"undefined\\\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:void 0!==t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this,t(\\\"_process\\\"))},{_process:366}],347:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,a=0;a<e;++a)for(var o=0;o<a;++o)if(t[a]<t[o])r=-r;else if(t[a]===t[o])return 0;return r}for(var s=i.mallocUint8(e),a=0;a<e;++a)s[a]=0;for(var r=1,a=0;a<e;++a)if(!s[a]){var l=1;s[a]=1;for(var o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(\\\"typedarray-pool\\\")},{\\\"typedarray-pool\\\":423}],348:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"typedarray-pool\\\"),i=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,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,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,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{\\\"invert-permutation\\\":301,\\\"typedarray-pool\\\":423}],349:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n,a,o={};if(\\\"string\\\"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!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 i(t){return n[t]?n[t]:(\\\"string\\\"==typeof t&&(t=n[t]=t.split(/\\\\s*,\\\\s*|\\\\s+/)),t)}},{}],350:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(var o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],g=d[1^f],m=n(e[t],e[r],e[s],e[g]);m>0&&(o=d,s=g,l=f)}return i?s:(o&&c(o,l),s)}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var g=f(o,p);h(d,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\\\":107}],351:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}for(var h=new Array(e.length),p=[],s=0;s<e.length;++s)if(i[s]){var c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];i[g[0]]&&i[g[1]]&&d.push([h[g[0]],h[g[1]]])}return[d,p]};var n=t(\\\"edges-to-adjacency-list\\\")},{\\\"edges-to-adjacency-list\\\":138}],352:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\\\"planar-graph-to-polyline: graph must be manifold\\\");var d=i(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0})).length,m=new Array(g),v=new Array(g),p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=a([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],M=k.length,A=0;A<M;++A){var T=b(e[k[A]]);if(0!==T){T<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(var p=0;p<g;++p)for(var y=v[p],S=y[1],C=y[2],w=0;w<g;++w)C[w]&&(m[w]=S);for(var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)E[p].push(m[p]),E[m[p]].push(p);for(var L={},z=u(f,!1),p=0;p<g;++p)for(var k=d[p],M=k.length,w=0;w<M;++w){var P=k[w],D=k[(w+1)%M],O=Math.min(P,D)+\\\":\\\"+Math.max(P,D);if(O in L){var I=L[O];E[I].push(p),E[p].push(I),z[P]=z[D]=!0}else L[O]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!z[t[r]])return!1;return!0}for(var B=[],F=u(g,-1),p=0;p<g;++p)m[p]!==p||R(d[p])?F[p]=-1:(B.push(p),F[p]=0);var r=[];for(;B.length>0;){var N=B.pop(),j=E[N];l(j,function(t,e){return t-e});var V,U=j.length,q=F[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(F[H]>=0)&&(F[H]=1^q,B.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t(\\\"edges-to-adjacency-list\\\"),i=t(\\\"planar-dual\\\"),a=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\\\":351,\\\"edges-to-adjacency-list\\\":138,\\\"planar-dual\\\":350,\\\"point-in-big-polygon\\\":356,\\\"robust-sum\\\":393,\\\"two-product\\\":421,uniq:425}],353:[function(t,e,r){\\\"use strict\\\";e.exports=t(\\\"./quad\\\")},{\\\"./quad\\\":355}],354:[function(t,e,r){arguments[4][91][0].apply(r,arguments)},{dup:91}],355:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"clamp\\\"),a=t(\\\"parse-rect\\\"),o=t(\\\"array-bounds\\\"),s=t(\\\"pick-by-alias\\\"),l=t(\\\"defined\\\"),c=t(\\\"flatten-vertex-data\\\"),u=t(\\\"is-obj\\\"),f=t(\\\"dtype\\\"),h=t(\\\"math-log2\\\");function p(t,e){for(var r=e[0],n=e[1],a=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]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((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),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,g=p(t,i),m=t.length>>>1;e.dtype||(e.dtype=\\\"array\\\"),\\\"string\\\"==typeof e.dtype?d=new(f(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,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]);var c=b[o]||(b[o]=[]);var u=x[o]||(x[o]=[]);var f=l.length;o++;if(o>r){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}l.push(a[0]);c.push(s);if(a.length<=1)return u.push(null,null,null,null),f;var p=.5*i;var d=e+p,m=n+p;var v=[],_=[],w=[],k=[];for(var M=1,A=a.length;M<A;M++){var T=a[M],S=g[2*T],C=g[2*T+1];S<d?C<m?v.push(T):_.push(T):C<m?w.push(T):k.push(T)}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,k,o,s+3));return f}(0,0,1,d,0,1);for(var w=0,k=0;k<y.length;k++){var M=y[k];if(d.set)d.set(M,w);else for(var A=0,T=M.length;A<T;A++)d[A+w]=M[A];var S=w+y[k].length;_[k]=[w,S],w=S}return d.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{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=i);var f=a.apply(void 0,r),d=[Math.min(f.x,f.x+f.width),Math.min(f.y,f.y+f.height),Math.max(f.x,f.x+f.width),Math.max(f.y,f.y+f.height)],g=d[0],m=d[1],v=d[2],w=d[3],k=p([g,m,v,w],i),M=k[0],A=k[1],T=k[2],S=k[3],E=l(e.level,y.length);if(null!=e.d){var L;\\\"number\\\"==typeof e.d?L=[e.d,e.d]:e.d.length&&(L=e.d),E=Math.min(Math.max(Math.ceil(-h(Math.abs(L[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(L[1])/(i[3]-i[1])))),E)}if(E=Math.min(E,y.length),e.lod)return function(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=C(t,e,s),f=C(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}(M,A,T,S,E);var z=[];return function e(r,n,i,a,o,s){if(null!==o&&null!==s){var l=r+i,c=n+i;if(!(M>l||A>c||T<r||S<n||a>=E||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f<s;f++){var h=u[f],p=t[2*h],d=t[2*h+1];p>=g&&p<=v&&d>=m&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],C=b[4*o+2],L=b[4*o+3],P=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),D=.5*i,O=a+1;e(r,n,D,O,_,k||C||L||P),e(r,n+D,D,O,k,C||L||P),e(r+D,n,D,O,C,L||P),e(r+D,n+D,D,O,L,P)}}}(0,0,1,0,0,1),z},d;function C(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{\\\"array-bounds\\\":49,\\\"binary-search-bounds\\\":354,clamp:95,defined:131,dtype:135,\\\"flatten-vertex-data\\\":198,\\\"is-obj\\\":307,\\\"math-log2\\\":317,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349}],356:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],g=u[p];d[0]===g[0]?a.push([d,g]):r.push([d,g])}if(0===r.length)return 0===a.length?c:(m=l(a),function(t){return m(t[0],t[1])?0:1});var m;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)a=a.left;else{if(!(c>0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t(\\\"robust-orientation\\\")[3],i=t(\\\"slab-decomposition\\\"),a=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],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}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\\\":72,\\\"interval-tree-1d\\\":300,\\\"robust-orientation\\\":388,\\\"slab-decomposition\\\":404}],357:[function(t,e,r){var n,i=t(\\\"./lib/build-log\\\"),a=t(\\\"./lib/epsilon\\\"),o=t(\\\"./lib/intersecter\\\"),s=t(\\\"./lib/segment-chainer\\\"),l=t(\\\"./lib/segment-selector\\\"),c=t(\\\"./lib/geojson\\\"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,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,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\\\"object\\\"==typeof window&&(window.PolyBool=n),e.exports=n},{\\\"./lib/build-log\\\":358,\\\"./lib/epsilon\\\":359,\\\"./lib/geojson\\\":360,\\\"./lib/intersecter\\\":361,\\\"./lib/segment-chainer\\\":363,\\\"./lib/segment-selector\\\":364}],358:[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\\\")}}}},{}],359:[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 i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+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 i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-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],i=e[1],a=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-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],360:[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]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\\\"Polygon\\\"===e.type)return t.polygon(r(e.coordinates));if(\\\"MultiPolygon\\\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));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 i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(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 a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:\\\"Polygon\\\",coordinates:[]}:1==u.length?{type:\\\"Polygon\\\",coordinates:u[0]}:{type:\\\"MultiPolygon\\\",coordinates:u}}};e.exports=n},{}],361:[function(t,e,r){var n=t(\\\"./linked-list\\\");e.exports=function(t,e,r){function i(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 a=n.create();function o(t,r){a.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?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 i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(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(i,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y,x=m();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.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(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,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((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,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(i(t.start,t.end,t),!0)}),r.forEach(function(t){s(i(t.start,t.end,t),!1)}),c(e,n)}}}},{\\\"./linked-list\\\":362}],362:[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,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.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}}},{}],363:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,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 f=(m=n[u])[0],h=(m[1],m[m.length-1]);if(m[m.length-2],e.pointsSame(f,a)){if(M(u,!0,!0))break}else if(e.pointsSame(f,o)){if(M(u,!0,!1))break}else if(e.pointsSame(h,a)){if(M(u,!1,!0))break}else if(e.pointsSame(h,o)&&M(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,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 i.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 k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),T(_,w)):(A(w),T(w,_)):T(w,_):l.matches_head?T(_,w):k?(A(_),T(w,_)):(A(w),T(_,w))}function M(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 T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i}},{}],364:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var i=(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[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var i={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=i},{}],365:[function(t,e,r){\\\"use strict\\\";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var g=i[l],m=a[l],v=n[l];c+=g*g,u+=g*m,f+=m*m,h+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,k=Math.abs(c*f-u*u),M=u*p-f*h,A=u*h-c*p;if(M+A<=k)if(M<0)A<0&&h<0?(A=0,-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d):(M=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(M=0,y=d):-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d;else{var T=1/k;y=(M*=T)*(c*M+u*(A*=T)+2*h)+A*(u*M+f*A+2*p)+d}else M<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d:(M=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=f+2*p+d):y=(M=1-(A=_/w))*(c*M+u*A+2*h)+A*(u*M+f*A+2*p)+d:(A=0,b<=0?(M=1,y=c+2*h+d):h>=0?(M=0,y=d):y=h*(M=-h/c)+d):(_=f+p-u-h)<=0?(M=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d;var S=1-M-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+M*e[l]+A*r[l];return y<0?0:y}},{}],366:[function(t,e,r){var n,i,a=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{i=\\\"function\\\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}a.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||f||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title=\\\"browser\\\",a.browser=!0,a.env={},a.argv=[],a.version=\\\"\\\",a.versions={},a.on=m,a.addListener=m,a.once=m,a.off=m,a.removeListener=m,a.removeAllListeners=m,a.emit=m,a.prependListener=m,a.prependOnceListener=m,a.listeners=function(t){return[]},a.binding=function(t){throw new Error(\\\"process.binding is not supported\\\")},a.cwd=function(){return\\\"/\\\"},a.chdir=function(t){throw new Error(\\\"process.chdir is not supported\\\")},a.umask=function(){return 0}},{}],367:[function(t,e,r){e.exports=t(\\\"gl-quat/slerp\\\")},{\\\"gl-quat/slerp\\\":256}],368:[function(t,e,r){(function(r){for(var n=t(\\\"performance-now\\\"),i=\\\"undefined\\\"==typeof window?r:window,a=[\\\"moz\\\",\\\"webkit\\\"],o=\\\"AnimationFrame\\\",s=i[\\\"request\\\"+o],l=i[\\\"cancel\\\"+o]||i[\\\"cancelRequest\\\"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+\\\"Request\\\"+o],l=i[a[c]+\\\"Cancel\\\"+o]||i[a[c]+\\\"CancelRequest\\\"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=h.slice(0);h.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 h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"performance-now\\\":346}],369:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"big-rat/add\\\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\\\"big-rat/add\\\":56}],370:[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\\\":59}],371:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"big-rat\\\"),i=t(\\\"big-rat/mul\\\");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{\\\"big-rat\\\":59,\\\"big-rat/mul\\\":68}],372:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"big-rat/sub\\\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\\\"big-rat/sub\\\":70}],373:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"compare-cell\\\"),i=t(\\\"compare-oriented-cell\\\"),a=t(\\\"cell-orientation\\\");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\\\"cell-orientation\\\":92,\\\"compare-cell\\\":108,\\\"compare-oriented-cell\\\":109}],374:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"array-bounds\\\"),i=t(\\\"color-normalize\\\"),a=t(\\\"update-diff\\\"),o=t(\\\"pick-by-alias\\\"),s=t(\\\"object-assign\\\"),l=t(\\\"flatten-vertex-data\\\"),c=t(\\\"to-float32\\\"),u=c.float32,f=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:h}),k(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 mediump 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:h.length}),s(b,{update:k,draw:_,destroy:M,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?k(t):null===t&&M(),_()}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 k(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)),a(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 a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error(\\\"Not enough colors\\\");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(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=f(e.scale),e.translateFract=f(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 h=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),m=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),m.set(r,2*i))}}),c(u(m)),p(f(m)),d(_),g(w)}}}function M(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var h=[[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\\\":49,\\\"color-normalize\\\":100,\\\"flatten-vertex-data\\\":198,\\\"object-assign\\\":339,\\\"pick-by-alias\\\":349,\\\"to-float32\\\":416,\\\"update-diff\\\":426}],375:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-normalize\\\"),i=t(\\\"array-bounds\\\"),a=t(\\\"object-assign\\\"),o=t(\\\"glslify\\\"),s=t(\\\"pick-by-alias\\\"),l=t(\\\"flatten-vertex-data\\\"),c=t(\\\"earcut\\\"),u=t(\\\"array-normalize\\\"),f=t(\\\"to-float32\\\"),h=f.float32,p=f.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\\\")},i=t(a({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(a({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\\\\t// adjust scale for horizontal bars\\\\n\\\\tvec2 scale = max(scale, MIN_DIFF);\\\\n\\\\tvec2 scaleRatio = scale * viewport.zw;\\\\n\\\\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) * scale + translate;\\\\n\\\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\\\n\\\\n\\\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\\\n\\\\tvec2 bBotPosition = (bBotCoord) * scale + 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=i}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:i,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){if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);var n;(\\\"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?t.shaders.rect(e):\\\"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,f){var d=e.passes[f];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[f]=d={id:f,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=a({},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,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%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=i(v,2);if(d.fill){for(var k=[],M={},A=0,T=0,S=0,C=d.count;T<C;T++){var E=v[2*T],L=v[2*T+1];isNaN(E)||isNaN(L)||null==E||null==L?(E=v[2*A],L=v[2*A+1],M[T]=A):A=T,k[S++]=E,k[S++]=L}for(var z=c(k,d.hole||[]),P=0,D=z.length;P<D;P++)null!=M[z[P]]&&(z[P]=M[z[P]]);d.triangles=z}var O=new Float64Array(v);u(O,2,w);var I=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(I[0]=O[2*y-4],I[1]=O[2*y-3]):(I[0]=O[2*y-2],I[1]=O[2*y-1]):(I[0]=O[0],I[1]=O[1]),I.set(O,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(I[2*y+2]=O[2],I[2*y+3]=O[3],d.count-=1):(I[2*y+2]=O[0],I[2*y+3]=O[1],I[2*y+4]=O[2],I[2*y+5]=O[3]):(I[2*y+2]=O[2*y-2],I[2*y+3]=O[2*y-1],I[2*y+4]=O[2*y-2],I[2*y+5]=O[2*y-1]),d.positionBuffer(h(I)),d.positionFractBuffer(p(I))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,B=R[2]-R[0],F=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[B/N,F/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,W=0;W<2;W++)for(var Y=0;Y<t.dashes.length;++Y){for(var X=0,Z=t.dashes[Y]*m.dashMult*.5;X<Z;++X)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[f]=null}),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=e.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}return this.passes=this.passes.filter(Boolean),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\\\":49,\\\"array-normalize\\\":50,\\\"color-normalize\\\":100,earcut:137,\\\"es6-weak-map\\\":190,\\\"flatten-vertex-data\\\":198,glslify:295,\\\"object-assign\\\":339,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349,\\\"to-float32\\\":416}],376:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scatter\\\"),i=t(\\\"object-assign\\\");e.exports=function(t,e){var r=new n(t,e),a=r.render.bind(r);return i(a,{render:a,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}),a}},{\\\"./scatter\\\":377,\\\"object-assign\\\":339}],377:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"color-normalize\\\"),i=t(\\\"array-bounds\\\"),a=t(\\\"color-id\\\"),o=t(\\\"point-cluster\\\"),s=t(\\\"object-assign\\\"),l=t(\\\"glslify\\\"),c=t(\\\"pick-by-alias\\\"),u=t(\\\"update-diff\\\"),f=t(\\\"flatten-vertex-data\\\"),h=t(\\\"is-iexplorer\\\"),p=t(\\\"to-float32\\\"),d=p.float32,g=p.fract32,m=t(\\\"parse-rect\\\");function v(t,e){var r=this;if(!(this instanceof v))return new v(t,e);\\\"function\\\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=h,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:\\\"uint8\\\",format:\\\"rgba\\\",wrapS:\\\"clamp\\\",wrapT:\\\"clamp\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\"}),s(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.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?a.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?a.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\\\"},c=s({},o);c.frag=l([\\\"precision mediump 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    return;\\\\n  }\\\\n\\\\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\\\"]),c.vert=l([\\\"precision mediump 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,\\\\n    fragWidth, fragBorderColorLevel, fragColorLevel;\\\\n\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec4 getColor(vec4 id) {\\\\n  // zero-palette means we deal with direct buffer\\\\n  if (paletteSize.x == 0.) return id / 255.;\\\\n  return texture2D(palette, paletteCoord(id.xy));\\\\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}\\\\n\\\"]);try{this.drawMarker=t(c)}catch(t){}var u=s({},o);u.frag=l([\\\"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\\\"]),u.vert=l([\\\"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\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\n\\\\nvec4 getColor(vec4 id) {\\\\n  // zero-palette means we deal with direct buffer\\\\n  if (paletteSize.x == 0.) return id / 255.;\\\\n  return texture2D(palette, paletteCoord(id.xy));\\\\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\\\"]),h&&(u.frag=u.frag.replace(\\\"smoothstep\\\",\\\"smoothStep\\\")),this.drawCircle=t(u)}e.exports=v,v.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},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];return e.length&&(t=this).update.apply(t,e),this.draw(),this},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.groups;if(1===e.length&&Array.isArray(e[0])&&(null===e[0][0]||Array.isArray(e[0][0]))&&(e=e[0]),this.regl._refresh(),e.length)for(var i=0;i<e.length;i++)t.drawItem(i,e[i]);else n.forEach(function(e,r){t.drawItem(r)});return this},v.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=[],a=1;a<n.activation.length;a++)n.activation[a]&&(!0===n.activation[a]||n.activation[a].data.length)&&i.push.apply(i,this.getMarkerDrawOptions(a,n,e));i.length&&this.drawMarker(i)}},v.prototype.getMarkerDrawOptions=function(t,e,r){var n=e.range,i=e.tree,a=e.viewport,o=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!i)return r?[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],count:r.length,elements:r,offset:0})]:[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],offset:0})];var u=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[t].data,p=new Uint8Array(c),d=0;d<r.length;d++){var g=r[d];p[g]=h?h[g]:1}l.subdata(p)}for(var m=f.length;m--;){var v=f[m],y=v[0],x=v[1];u.push(s({},e,{markerTexture:this.markerTextures[t],activation:r?l:o[t],offset:y,count:x-y}))}return u},v.prototype.update=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){1===e.length&&Array.isArray(e[0])&&(e=e[0]);var n=this.groups,a=this.gl,l=this.regl,h=this.maxSize,p=this.maxColors,y=this.palette;this.groups=n=e.map(function(e,r){var x=n[r];if(void 0===e)return x;null===e?e={positions:null}:\\\"function\\\"==typeof e?e={ondraw:e}:\\\"number\\\"==typeof e[0]&&(e={positions:e}),null===(e=c(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\\\"})).positions&&(e.positions=[]),x||(n[r]=x={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"stream\\\",type:\\\"uint8\\\"}),sizeBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"uint8\\\"}),colorBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"uint8\\\"}),positionBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"float\\\"}),positionFractBuffer:l.buffer({data:new Uint8Array(0),usage:\\\"dynamic\\\",type:\\\"float\\\"})},e=s({},v.defaults,e)),!e.positions||\\\"marker\\\"in e||(e.marker=x.marker,delete x.marker),!e.marker||\\\"positions\\\"in e||(e.positions=x.positions,delete x.positions);var b=0,_=0;if(u(x,e,[{snap:!0,size:function(t,e){return null==t&&(t=v.defaults.size),b+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=v.defaults.borderSize),b+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=v.defaults.color),e=t.updateColor(e),_++,e},borderColor:function(e,r){return null==e&&(e=v.defaults.borderColor),e=t.updateColor(e),_++,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,s=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:l.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:l.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=f(t,\\\"float64\\\");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?i(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||u>n)?e.tree=o(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var p={primitive:\\\"points\\\",usage:\\\"static\\\",data:e.tree,type:\\\"uint32\\\"};e.elements?e.elements(p):e.elements=l.elements(p)}return a({data:d(t),usage:\\\"dynamic\\\"}),s({data:g(t),usage:\\\"dynamic\\\"}),c({data:new Uint8Array(u),type:\\\"uint8\\\",usage:\\\"stream\\\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&\\\"number\\\"!=typeof e[0]){for(var a=[],o=0,s=Math.min(e.length,r.count);o<s;o++){var c=t.addMarker(e[o]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][o]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:\\\"uint8\\\",usage:\\\"static\\\"};i[u]?i[u](f):i[u]=l.buffer(f),i[u].data=a[u]}}else{i[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=g(e.scale),e.translateFract=g(e.translate),t},viewport:function(t){return m(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),b){var w=x.count,k=x.size,M=x.borderSize,A=x.sizeBuffer,T=new Uint8Array(2*w);if(k.length||M.length)for(var S=0;S<w;S++)T[2*S]=Math.round(255*(null==k[S]?k:k[S])/h),T[2*S+1]=Math.round(255*(null==M[S]?M:M[S])/h);A({data:T,usage:\\\"dynamic\\\"})}if(_){var C,E=x.count,L=x.color,z=x.borderColor,P=x.colorBuffer;if(t.tooManyColors){if(L.length||z.length){C=new Uint8Array(8*E);for(var D=0;D<E;D++){var O=L[D];C[8*D]=y[4*O],C[8*D+1]=y[4*O+1],C[8*D+2]=y[4*O+2],C[8*D+3]=y[4*O+3];var I=z[D];C[8*D+4]=y[4*I],C[8*D+5]=y[4*I+1],C[8*D+6]=y[4*I+2],C[8*D+7]=y[4*I+3]}}}else if(L.length||z.length){C=new Uint8Array(4*E+2);for(var R=0;R<E;R++)null!=L[R]&&(C[4*R]=L[R]%p,C[4*R+1]=Math.floor(L[R]/p)),null!=z[R]&&(C[4*R+2]=z[R]%p,C[4*R+3]=Math.floor(z[R]/p))}P({data:C||new Uint8Array(0),type:\\\"uint8\\\",usage:\\\"dynamic\\\"})}return x})}},v.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;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 a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:\\\"linear\\\",min:\\\"linear\\\"})),a},v.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,i=this.maxColors;Array.isArray(t)||(t=[t]);var o=[];if(\\\"number\\\"==typeof t[0]){var s=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)s.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)s.push(t.subarray(c,c+4));t=s}for(var u=0;u<t.length;u++){var f=t[u];f=n(f,\\\"uint8\\\");var h=a(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}o[u]=e[h]}return!this.tooManyColors&&r.length>i*i*4&&(this.tooManyColors=!0),this.updatePalette(r),1===o.length?o[0]:o},v.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 i=.25*(t=t.slice()).length%e;i<n*e;i++)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)}},v.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}},{\\\"array-bounds\\\":49,\\\"color-id\\\":98,\\\"color-normalize\\\":100,\\\"flatten-vertex-data\\\":198,glslify:295,\\\"is-iexplorer\\\":305,\\\"object-assign\\\":339,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349,\\\"point-cluster\\\":353,\\\"to-float32\\\":416,\\\"update-diff\\\":426}],378:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-scatter2d/scatter\\\"),i=t(\\\"pick-by-alias\\\"),a=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 f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}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=arguments.length;e--;)t[e]=arguments[e];if(t.length){for(var r=0;r<t.length;r++)this.updateItem(r,t[r]);this.traces=this.traces.filter(Boolean);for(var n,i=[],a=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++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(n=this.scatter).update.apply(n,i),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=i(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]=a(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 k=0;k<g;k++)for(var M=0;M<g;M++)if((s.diagonal||M!==k)&&(s.upper||!(k>M))&&(s.lower||!(k<M))){var A=f(s.id,k,M),T=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?T.positions={x:{buffer:s.buffer,offset:M,count:m,stride:g},y:{buffer:s.buffer,offset:k,count:m,stride:g}}:T.positions={x:{buffer:s.buffer,offset:M*m,count:m},y:{buffer:s.buffer,offset:k*m,count:m}},T.bounds=h(s.bounds,k,M)),o.domain||o.viewport||o.data){var S=d?h(s.padding,k,M):s.padding;if(s.domain){var C=h(s.domain,k,M),E=C[0],L=C[1],z=C[2],P=C[3];T.viewport=[x+E*v+S[0],b+L*y+S[1],x+z*v-S[2],b+P*y-S[3]]}else T.viewport=[x+M*_+_*S[0],b+k*w+w*S[1],x+(M+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(T.color=s.color),o.size&&(T.size=s.size),o.marker&&(T.marker=s.marker),o.borderSize&&(T.borderSize=s.borderSize),o.borderColor&&(T.borderColor=s.borderColor),o.opacity&&(T.opacity=s.opacity),o.range&&(T.range=n?h(s.range,k,M):s.range||T.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=[],i=0;i<e.length;i++)if(\\\"number\\\"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map(function(t,e){n[h+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\\\":49,\\\"array-range\\\":51,\\\"flatten-vertex-data\\\":379,\\\"parse-rect\\\":343,\\\"pick-by-alias\\\":349,raf:368,\\\"regl-scatter2d/scatter\\\":377}],379:[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 i,a,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(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&\\\"string\\\"!=typeof e)e.set(t,r);else{var f=n(e||\\\"float32\\\");if(Array.isArray(t)||\\\"array\\\"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:135}],380:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e){this.id=V++,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 i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u=\\\"undefined\\\"==typeof window?1:window.devicePixelRatio,f=!1,h=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?a=(o=s).canvas:(\\\"gl\\\"in s?o=s.gl:\\\"canvas\\\"in s?a=n(s.canvas):\\\"container\\\"in s&&(i=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&&(h=s.onDone),\\\"profile\\\"in s&&(f=!!s.profile),\\\"pixelRatio\\\"in s&&(u=+s.pixelRatio))),e&&(\\\"canvas\\\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){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,j(i.style,{width:e+\\\"px\\\",height:n+\\\"px\\\"})}var i=document.createElement(\\\"canvas\\\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\\\"absolute\\\",j(t.style,{margin:0,padding:0})),window.addEventListener(\\\"resize\\\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\\\"resize\\\",n),t.removeChild(i)}}}(i||document.body,0,u)))return null;a=e.canvas,p=e.onDestroy}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\\\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:p}:(p(),h(\\\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\\\"),null)}function a(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)||G(t.data))}function o(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function s(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 l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function c(t){Y[s(t.byteLength)>>2].push(t)}function u(t,e,r,n,i,a){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)i[a++]=c[u]}function f(t){return 0|J[Object.prototype.toString.call(t)]}function h(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function p(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function d(t,e,r){function n(e){this.id=l++,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,o,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){o=tt(e);for(var l=n=1;l<o.length;++l)n*=o[l];t.dimension=n,i(t,e=$(e,o,t.dtype),r),s?t.persistentData=e:X.freeType(e)}else\\\"number\\\"==typeof e[0]?(t.dimension=o,h(o=X.allocType(t.dtype,e.length),e),i(t,o,r),s?t.persistentData=o:X.freeType(o)):G(e[0])&&(t.dimension=e[0].length,t.dtype=n||f(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),s?t.persistentData=e:X.freeType(e))}else if(G(e))t.dtype=n||f(e),t.dimension=o,i(t,e,r),s&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(a(e)){o=e.shape;var c=e.stride,u=(l=e.offset,0),d=0,g=0,m=0;1===o.length?(u=o[0],d=1,g=c[0],m=0):2===o.length&&(u=o[0],d=o[1],g=c[0],m=c[1]),t.dtype=n||f(e.data)||5126,t.dimension=d,p(o=X.allocType(t.dtype,u*d),e.data,u,d,g,m,l),i(t,o,r),s?t.persistentData=o:X.freeType(o)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var u=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(i,l,u,d){function g(e){var n=35044,i=null,s=0,l=0,c=1;return Array.isArray(e)||G(e)||a(e)?i=e:\\\"number\\\"==typeof e?s=0|e:e&&(\\\"data\\\"in e&&(i=e.data),\\\"usage\\\"in e&&(n=Q[e.usage]),\\\"type\\\"in e&&(l=K[e.type]),\\\"dimension\\\"in e&&(c=0|e.dimension),\\\"length\\\"in e&&(s=0|e.length)),m.bind(),i?o(m,i,n,l,c,d):(t.bufferData(m.type,s,n),m.dtype=l||5121,m.usage=n,m.dimension=c,m.byteLength=s),r.profile&&(m.stats.size=m.byteLength*et[m.dtype]),g}e.bufferCount++;var m=new n(l);return c[m.id]=m,u||g(i),g._reglType=\\\"buffer\\\",g._buffer=m,g.subdata=function(e,r){var n,i=0|(r||0);if(m.bind(),G(e))t.bufferSubData(m.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\\\"number\\\"==typeof e[0]){var o=X.allocType(m.dtype,e.length);h(o,e),t.bufferSubData(m.type,i,o),X.freeType(o)}else(Array.isArray(e[0])||G(e[0]))&&(n=tt(e),o=$(e,n,m.dtype),t.bufferSubData(m.type,i,o),X.freeType(o))}else if(a(e)){n=e.shape;var s=e.stride,l=o=0,c=0,u=0;1===n.length?(o=n[0],l=1,c=s[0],u=0):2===n.length&&(o=n[0],l=n[1],c=s[0],u=s[1]),n=Array.isArray(e.data)?m.dtype:f(e.data),p(n=X.allocType(n,o*l),e.data,o,l,c,u,e.offset),t.bufferSubData(m.type,i,n),X.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=u.pop();return r||(r=new n(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){u.push(t)},clear:function(){W(c).forEach(s),u.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:function(){W(c).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 g(t,e,r,n){function i(t){this.id=c++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function o(n,i,o,s,l,c,u){if(n.buffer.bind(),i){var f=u;u||G(i)&&(!a(i)||G(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,o,f,3)}else t.bufferData(34963,c,o),n.buffer.dtype=f||5121,n.buffer.usage=o,n.buffer.dimension=3,n.buffer.byteLength=c;if(f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=l)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if(\\\"number\\\"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||G(t)||a(t)?e=t:(\\\"data\\\"in t&&(e=t.data),\\\"usage\\\"in t&&(r=Q[t.usage]),\\\"primitive\\\"in t&&(n=rt[t.primitive]),\\\"count\\\"in t&&(i=0|t.count),\\\"type\\\"in t&&(h=u[t.type]),\\\"length\\\"in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&&5124!==h||(s*=4))),o(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType=\\\"elements\\\",l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return\\\"function\\\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function m(t){for(var e=X.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{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function v(t){return Array.isArray(t)||G(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||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=lt.indexOf(e)||(y(t)||x(t)||a(t))}function w(t,e){36193===t.type?(t.data=m(e),X.freeType(e)):t.data=e}function k(t,e,r,n,i,a){if(t=void 0!==ut[t]?ut[t]:st[t]*ct[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function M(t,e,r,n,i,o,s){function l(){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=U[e.colorSpace]),\\\"type\\\"in e&&(t.type=q[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\\\"shape\\\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\\\"radius\\\"in e&&(r=n=e.radius),\\\"width\\\"in e&&(r=e.width),\\\"height\\\"in e&&(n=e.height),\\\"channels\\\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\\\"format\\\"in e&&(r=e.format,n=t.internalformat=H[r],t.format=it[n],r in q&&!(\\\"type\\\"in e)&&(t.type=q[r]),r in Y&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){l.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=i.viewportWidth,o=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0}else if(r){if(G(r))t.channels=t.channels||4,t.data=r,\\\"type\\\"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,o=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(o=X.allocType(t.type,o)).set(n),t.data=o;break;case 36193:t.data=m(n)}t.alignment=1,t.needsFree=!0}else if(a(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);o=r.shape;var s,l,c,f,h=r.stride;3===o.length?(c=o[2],f=h[2]):f=c=1,s=o[0],l=o[1],o=h[0],h=h[1],t.alignment=1,t.width=s,t.height=l,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,s=f,r=r.offset,c=t.width,f=t.height,l=t.channels;for(var p=X.allocType(36193===t.type?5126:t.type,c*f*l),d=0,g=0;g<f;++g)for(var k=0;k<c;++k)for(var M=0;M<l;++M)p[d++]=n[o*k+h*g+s*M+r];w(t,p)}else if(\\\"[object HTMLCanvasElement]\\\"===b(r)||\\\"[object CanvasRenderingContext2D]\\\"===b(r))\\\"[object HTMLCanvasElement]\\\"===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(\\\"[object HTMLImageElement]\\\"===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(\\\"[object HTMLVideoElement]\\\"===b(r))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,o=t.height||r.length,h=t.channels,h=v(r[0][0])?h||r[0][0].length:h||1,s=Z.shape(r),c=1,f=0;f<s.length;++f)c*=s[f];c=X.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,s,\\\"\\\",c),w(t,c),t.alignment=1,t.width=n,t.height=o,t.channels=h,t.format=t.internalformat=ot[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function g(){return lt.pop()||new h}function M(t){t.needsFree&&X.freeType(t.data),h.call(t),lt.push(t)}function A(t,e,r){var n=t.images[0]=g();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))c(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=g(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,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)}}function C(){var t=ct.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function E(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&M(e[r]),e[r]=null;ct.push(t)}function L(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){\\\"min\\\"in e&&(t.minFilter=V[e.min],0<=at.indexOf(t.minFilter)&&(t.genMipmaps=!0)),\\\"mag\\\"in e&&(t.magFilter=N[e.mag]);var r=t.wrapS,n=t.wrapT;if(\\\"wrap\\\"in e){var i=e.wrap;\\\"string\\\"==typeof i?r=n=F[i]:Array.isArray(i)&&(r=F[i[0]],n=F[i[1]])}else\\\"wrapS\\\"in e&&(r=F[e.wrapS]),\\\"wrapT\\\"in e&&(n=F[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 P(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 D(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ut++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new L,s.profile&&(this.stats={size:0})}function O(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function I(){var e=pt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function R(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),pt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ft[e.id],o.textureCount--}var B={\\\"don't care\\\":4352,\\\"dont care\\\":4352,nice:4354,fast:4353},F={repeat:10497,clamp:33071,mirror:33648},N={nearest:9728,linear:9729},V=j({mipmap:9987,\\\"nearest mipmap nearest\\\":9984,\\\"linear mipmap nearest\\\":9985,\\\"nearest mipmap linear\\\":9986,\\\"linear mipmap linear\\\":9987},N),U={none:0,browser:37444},q={uint8:5121,rgba4:32819,rgb565:33635,\\\"rgb5 a1\\\":32820},H={alpha:6406,luminance:6409,\\\"luminance alpha\\\":6410,rgb:6407,rgba:6408,rgba4:32854,\\\"rgb5 a1\\\":32855,rgb565:36194},Y={};e.ext_srgb&&(H.srgb=35904,H.srgba=35906),e.oes_texture_float&&(q.float32=q.float=5126),e.oes_texture_half_float&&(q.float16=q[\\\"half float\\\"]=36193),e.webgl_depth_texture&&(j(H,{depth:6402,\\\"depth stencil\\\":34041}),j(q,{uint16:5123,uint32:5125,\\\"depth stencil\\\":34042})),e.webgl_compressed_texture_s3tc&&j(Y,{\\\"rgb s3tc dxt1\\\":33776,\\\"rgba s3tc dxt1\\\":33777,\\\"rgba s3tc dxt3\\\":33778,\\\"rgba s3tc dxt5\\\":33779}),e.webgl_compressed_texture_atc&&j(Y,{\\\"rgb atc\\\":35986,\\\"rgba atc explicit alpha\\\":35987,\\\"rgba atc interpolated alpha\\\":34798}),e.webgl_compressed_texture_pvrtc&&j(Y,{\\\"rgb pvrtc 4bppv1\\\":35840,\\\"rgb pvrtc 2bppv1\\\":35841,\\\"rgba pvrtc 4bppv1\\\":35842,\\\"rgba pvrtc 2bppv1\\\":35843}),e.webgl_compressed_texture_etc1&&(Y[\\\"rgb etc1\\\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Y).forEach(function(t){var e=Y[t];0<=K.indexOf(e)&&(H[t]=e)});var Q=Object.keys(H);r.textureFormats=Q;var $=[];Object.keys(H).forEach(function(t){$[H[t]]=t});var tt=[];Object.keys(q).forEach(function(t){tt[q[t]]=t});var et=[];Object.keys(N).forEach(function(t){et[N[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(F).forEach(function(t){nt[F[t]]=t});var it=Q.reduce(function(t,e){var r=H[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\\\"rgba\\\")?t[r]=6408:t[r]=6407,t},{}),lt=[],ct=[],ut=0,ft={},ht=r.maxTextureUnits,pt=Array(ht).map(function(){return null});return j(D.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<ht;++r){var n=pt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}pt[r]=this,e=r;break}s.profile&&o.maxTextureUnits<e+1&&(o.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&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=C();return\\\"number\\\"==typeof t?A(a,0|t,\\\"number\\\"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,O(i),S(a,3553),P(r,3553),I(),E(a),s.profile&&(i.stats.size=k(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new D(3553);return ft[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,O(i),d(o,3553,e,r,a),I(),M(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,O(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return I(),s.profile&&(i.stats.size=k(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=\\\"texture2d\\\",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(L.call(l),o=0;6>o;++o)m[o]=C();if(\\\"number\\\"!=typeof t&&t){if(\\\"object\\\"==typeof t)if(e)T(m[0],t),T(m[1],e),T(m[2],r),T(m[3],n),T(m[4],i),T(m[5],a);else if(z(l,t),u(h,t),\\\"faces\\\"in t)for(t=t.faces,o=0;6>o;++o)c(m[o],h),T(m[o],t[o]);else for(o=0;6>o;++o)T(m[o],t)}else for(t=0|t||1,o=0;6>o;++o)A(m[o],t,t);for(c(h,m[0]),h.mipmask=l.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,O(h),o=0;6>o;++o)S(m[o],34069+o);for(P(l,34067),I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=nt[l.wrapS],f.wrapT=nt[l.wrapT],o=0;6>o;++o)E(m[o]);return f}var h=new D(34067);ft[h.id]=h,o.cubeCount++;var m=Array(6);return f(e,r,n,i,a,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,O(h),d(a,34069+t,r,n,i),I(),M(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,O(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\\\"textureCube\\\",f._texture=h,s.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<ht;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),pt[e]=null;W(ft).forEach(R),o.cubeCount=0,o.textureCount=0},getTexture:function(t){return null},restore:function(){W(ft).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);P(e.texInfo,e.target)})}}}function A(t,e,r,n,i,a){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,i=t;return\\\"object\\\"==typeof t&&(i=t.data,\\\"target\\\"in t&&(e=0|t.target)),\\\"texture2d\\\"===(t=i._reglType)?r=i:\\\"textureCube\\\"===t?r=i:\\\"renderbuffer\\\"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(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))}function d(){this.id=k++,M[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,a.framebufferCount--,delete M[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.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.bindFramebuffer(36160,x.next),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d=\\\"rgba\\\",m=\\\"uint8\\\",y=1,x=null,w=null,k=null,M=!1;\\\"number\\\"==typeof t?(a=0|t,o=0|e||a):t?(\\\"shape\\\"in t?(a=(o=t.shape)[0],o=o[1]):(\\\"radius\\\"in t&&(a=o=t.radius),\\\"width\\\"in t&&(a=t.width),\\\"height\\\"in t&&(o=t.height)),(\\\"color\\\"in t||\\\"colors\\\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\\\"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)&&(M=!(!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:(k=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=null,S=null,C=null;if(Array.isArray(i))A=i.map(u);else if(i)A=[u(i)];else for(A=Array(y),i=0;i<y;++i)A[i]=f(a,o,p,d,m);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&&!c&&(T=f(a,o,M,\\\"depth\\\",\\\"uint32\\\")),w?S=u(w):c&&!s&&(S=f(a,o,!1,\\\"stencil\\\",\\\"uint8\\\")),k?C=u(k):!x&&!w&&c&&s&&(C=f(a,o,M,\\\"depth stencil\\\",\\\"depth stencil\\\")),s=null,i=0;i<A.length;++i)l(A[i]),A[i]&&A[i].texture&&(c=pt[A[i].texture._texture.format]*dt[A[i].texture._texture.type],null===s&&(s=c));return l(T),l(S),l(C),g(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=C,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(C),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,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 k=0,M={};return j(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 i,a={color:null},o=0,s=null;i=\\\"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&&(i=t.colorFormat)),\\\"depth\\\"in t&&(a.depth=t.depth),\\\"stencil\\\"in t&&(a.stencil=t.stencil),\\\"depthStencil\\\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[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(){W(M).forEach(m)},restore:function(){W(M).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}function T(){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){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(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,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[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){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l<f;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace(\\\"[0]\\\",\\\"[\\\"+p+\\\"]\\\");a(h,new i(d,e.id(d),t.getUniformLocation(u,d),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=f),h=r.attributes,l=0;l<f;++l)(c=t.getActiveAttrib(u,l))&&a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);W(c).forEach(e),c={},W(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t])},shader:o,frag:-1,vert:-1}}function C(t,e,r,n,i,a){function o(i){var a;a=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 G(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&\\\"framebuffer\\\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function E(t){return Array.prototype.slice.call(t)}function L(t){return E(t).join(\\\"\\\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,E(arguments))},{def:function(){var n=\\\"v\\\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\\\"=\\\"),t.push.apply(t,E(arguments)),t.push(\\\";\\\")),n},toString:function(){return L([0<e.length?\\\"var \\\"+e+\\\";\\\":\\\"\\\",L(t)])}})}function e(){function e(t,e){n(t,e,\\\"=\\\",r.def(t,e),\\\";\\\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,E(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\\\"=\\\",i,\\\";\\\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\\\"g\\\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\\\"a\\\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\\\"function(\\\",i.join(),\\\"){\\\",s(),\\\"}\\\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,E(arguments)),this},else:function(){return n.apply(n,E(arguments)),this},toString:function(){var e=a();return e&&(e=\\\"else{\\\"+e+\\\"}\\\"),L([\\\"if(\\\",t,\\\"){\\\",i(),\\\"}\\\",e])}})},compile:function(){var t=['\\\"use strict\\\";',a,\\\"return {\\\"];Object.keys(o).forEach(function(e){t.push('\\\"',e,'\\\":',o[e].toString(),\\\",\\\")}),t.push(\\\"}\\\");var e=L(t).replace(/;/g,\\\";\\\\n\\\").replace(/}/g,\\\"}\\\\n\\\").replace(/{/g,\\\"{\\\\n\\\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||G(t)||a(t)}function D(t){return t.sort(function(t,e){return\\\"viewport\\\"===t?-1:\\\"viewport\\\"===e?1:t<e?-1:1})}function O(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function I(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new O(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new O(!0,1<=(r=t.data.length),2<=r,e):4===r?new O((r=t.data).thisDep,r.contextDep,r.propDep,e):new O(3===r,2===r,1===r,e)}function F(t,e,r,n,i,a,s,l,c,u,f,h,p,d,g){function m(t){return t.replace(\\\".\\\",\\\"_\\\")}function y(t,e,r){var n=m(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=m(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\\\"0\\\";var i=r(ot),a=t.shared={props:\\\"a0\\\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\\\".\\\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\\\".\\\",t),s[t]=n.def(a.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 i=[\\\"this\\\",a.context,a.props,t.batchId];return e.def(r(n.data),\\\".call(\\\",i.slice(0,Math.max(n.data.length+1,4)),\\\")\\\");case 1:return e.def(a.props,n.data);case 2:return e.def(a.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 Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\\\"framebuffer\\\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),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})):R(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 a=n.framebuffer;return B(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\\\".getFramebuffer(\\\",r,\\\")\\\");return e.set(i,\\\".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){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return B(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\\\".id(\\\",r,\\\")\\\")})}return null}var n=t.static,i=t.dynamic,a=r(\\\"frag\\\"),o=r(\\\"vert\\\"),s=null;return I(a)&&I(o)?(s=f.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new O(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\\\".\\\",\\\"frag\\\"),n=o?o.append(t,e):e.def(i,\\\".\\\",\\\"vert\\\"),e.def(i+\\\".program(\\\"+n+\\\",\\\"+r+\\\")\\\")}),{frag:a,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var a=i[t];return B(a,function(t,r){var n=t.invoke(r,a);return e&&(t.OFFSET=n),n})}return e&&o?R(function(t,e){return t.OFFSET=\\\"0\\\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(\\\"elements\\\"in n){var t=n.elements;P(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t));var e=R(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 i){var r=i.elements;return B(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\\\"null\\\");n=e.def(n,\\\"(\\\",a,\\\")\\\"),a=t.cond(n).then(o,\\\"=\\\",i,\\\".createStream(\\\",a,\\\");\\\").else(o,\\\"=\\\",i,\\\".getElements(\\\",a,\\\");\\\");return e.entry(a),e.exit(t.cond(n).then(i,\\\".destroyStream(\\\",o,\\\");\\\")),t.ELEMENTS=o})}return null}(),s=r(\\\"offset\\\",!0);return{elements:o,primitive:function(){if(\\\"primitive\\\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\\\"primitive\\\"in i){var e=i.primitive;return B(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\\\"[\\\",i,\\\"]\\\")})}return o?I(o)?o.value?R(function(t,e){return e.def(t.ELEMENTS,\\\".primType\\\")}):R(function(){return 4}):new O(o.thisDep,o.contextDep,o.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 R(function(){return t})}if(\\\"count\\\"in i){var e=i.count;return B(e,function(t,r){return t.invoke(r,e)})}return o?I(o)?o?s?new O(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\\\".vertCount-\\\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\\\".vertCount\\\")}):R(function(){return-1}):new O(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.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 M(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if(r.constant){var l=r.constant;s.buffer=\\\"null\\\",s.state=2,\\\"number\\\"==typeof l?s.x=l:gt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;\\\"type\\\"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];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[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=B(e,function(t,r){function n(t){r(l[t],\\\"=\\\",i,\\\".\\\",t,\\\"|0;\\\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(\\\"\\\"+c[t])});var u=l.buffer,f=l.type;return r(\\\"if(\\\",o,\\\"(\\\",i,\\\")){\\\",l.isStream,\\\"=true;\\\",u,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\");\\\",f,\\\"=\\\",u,\\\".dtype;\\\",\\\"}else{\\\",u,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\");\\\",\\\"if(\\\",u,\\\"){\\\",f,\\\"=\\\",u,\\\".dtype;\\\",'}else if(\\\"constant\\\" in ',i,\\\"){\\\",l.state,\\\"=\\\",2,\\\";\\\",\\\"if(typeof \\\"+i+'.constant === \\\"number\\\"){',l[gt[0]],\\\"=\\\",i,\\\".constant;\\\",gt.slice(1).map(function(t){return l[t]}).join(\\\"=\\\"),\\\"=0;\\\",\\\"}else{\\\",gt.map(function(t,e){return l[t]+\\\"=\\\"+i+\\\".constant.length>=\\\"+e+\\\"?\\\"+i+\\\".constant[\\\"+e+\\\"]:0;\\\"}).join(\\\"\\\"),\\\"}}else{\\\",\\\"if(\\\",o,\\\"(\\\",i,\\\".buffer)){\\\",u,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\".buffer);\\\",\\\"}else{\\\",u,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\".buffer);\\\",\\\"}\\\",f,'=\\\"type\\\" in ',i,\\\"?\\\",a.glTypes,\\\"[\\\",i,\\\".type]:\\\",u,\\\".dtype;\\\",l.normalized,\\\"=!!\\\",i,\\\".normalized;\\\"),n(\\\"size\\\"),n(\\\"offset\\\"),n(\\\"stride\\\"),n(\\\"divisor\\\"),r(\\\"}}\\\"),r.exit(\\\"if(\\\",l.isStream,\\\"){\\\",s,\\\".destroyStream(\\\",u,\\\");\\\",\\\"}\\\"),l})}),o}function A(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[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 O(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;\\\"width\\\"in r||(a=e.def(i,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",s));var c=o;return\\\"height\\\"in r||(c=e.def(i,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=B(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,\\\".x|0\\\"),a=e.def(r,\\\".y|0\\\");return[i,a,e.def('\\\"width\\\" in ',r,\\\"?\\\",r,\\\".width|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",i,\\\")\\\"),r=e.def('\\\"height\\\" in ',r,\\\"?\\\",r,\\\".height|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",a,\\\")\\\")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new O(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 i=t.static,a=t.dynamic;if(t=n(\\\"viewport\\\")){var o=t;t=new O(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,a),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=B(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=m(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 yt[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[vt[\\\"srcRGB\\\"in t?t.srcRGB:t.src],vt[\\\"dstRGB\\\"in t?t.dstRGB:t.dst],vt[\\\"srcAlpha\\\"in t?t.srcAlpha:t.src],vt[\\\"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 i=n(\\\"src\\\",\\\"RGB\\\"),a=n(\\\"dst\\\",\\\"RGB\\\"),o=(i=e.def(t,\\\"[\\\",i,\\\"]\\\"),e.def(t,\\\"[\\\",n(\\\"src\\\",\\\"Alpha\\\"),\\\"]\\\"));return[i,a=e.def(t,\\\"[\\\",a,\\\"]\\\"),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,i=e.def(),a=e.def();return(t=t.cond(\\\"typeof \\\",r,'===\\\"string\\\"')).then(i,\\\"=\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\"];\\\"),t.else(i,\\\"=\\\",n,\\\"[\\\",r,\\\".rgb];\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\".alpha];\\\"),e(t),[i,a]});case\\\"blend.color\\\":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(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[yt[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,xt[e.fail||\\\"keep\\\"],xt[e.zfail||\\\"keep\\\"],xt[e.zpass||\\\"keep\\\"]]},function(e,r,n){function i(t){return r.def('\\\"',t,'\\\" in ',n,\\\"?\\\",a,\\\"[\\\",n,\\\".\\\",t,\\\"]:\\\",7680)}var a=e.constants.stencilOps;return[\\\"stencil.opBack\\\"===t?1029:1028,i(\\\"fail\\\"),i(\\\"zfail\\\"),i(\\\"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 bt[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 o(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\\\")]})}}),i}(t),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=m(\\\"scissor.box\\\")])&&(c[f]=s),(a={framebuffer:a,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\\\"profile\\\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\\\"profile\\\"in t){var i=t.profile;e=B(i,function(t,e){return t.invoke(e,i)})}return e}(t),a.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\\\"number\\\"==typeof n||\\\"boolean\\\"==typeof n)e=R(function(){return n});else if(\\\"function\\\"==typeof n){var a=n._reglType;\\\"texture2d\\\"===a||\\\"textureCube\\\"===a?e=R(function(t){return t.link(n)}):\\\"framebuffer\\\"!==a&&\\\"framebufferCube\\\"!==a||(e=R(function(t){return t.link(n.color[0])}))}else v(n)&&(e=R(function(t){return t.global.def(\\\"[\\\",o(n.length,function(t){return n[t]}),\\\"]\\\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=B(e,function(t,r){return t.invoke(r,e)})}),i}(r),a.attributes=M(e),a.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(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}(n),a}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\\\".\\\"+a),i(n,\\\".\\\",a,\\\"=\\\",r[a].append(t,e),\\\";\\\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=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,\\\"){\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",\\\",t,\\\".framebuffer);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",s,\\\"[\\\",t,\\\".colorAttachments.length]);\\\"),e(\\\"}else{\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",null);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",l,\\\");\\\"),e(\\\"}\\\",o,\\\".cur=\\\",t,\\\";\\\"),n||e(\\\"}\\\")}function C(t,e,r){var n=t.shared,i=n.gl,a=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,\\\".dirty\\\");nt.forEach(function(e){var n,f;if(!((e=m(e))in r.state))if(e in s){n=s[e],f=a[e];var h=o(tt[e].length,function(t){return u.def(n,\\\"[\\\",t,\\\"]\\\")});u(t.cond(h.map(function(t,e){return t+\\\"!==\\\"+f+\\\"[\\\"+e+\\\"]\\\"}).join(\\\"||\\\")).then(i,\\\".\\\",at[e],\\\"(\\\",h,\\\");\\\",h.map(function(t,e){return f+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\"))}else n=u.def(c,\\\".\\\",e),h=t.cond(n,\\\"!==\\\",l,\\\".\\\",e),u(h),e in it?h(t.cond(n).then(i,\\\".enable(\\\",it[e],\\\");\\\").else(i,\\\".disable(\\\",it[e],\\\");\\\"),l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\"):h(i,\\\".\\\",at[e],\\\"(\\\",n,\\\");\\\",l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\")}),0===Object.keys(r.state).length&&u(l,\\\".dirty=false;\\\"),e(u)}function E(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;D(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(it[i]){var u=it[i];I(l)?e(s,c?\\\".enable(\\\":\\\".disable(\\\",u,\\\");\\\"):e(t.cond(c).then(s,\\\".enable(\\\",u,\\\");\\\").else(s,\\\".disable(\\\",u,\\\");\\\")),e(o,\\\".\\\",i,\\\"=\\\",c,\\\";\\\")}else if(v(c)){var f=a[i];e(s,\\\".\\\",at[i],\\\"(\\\",c,\\\");\\\",c.map(function(t,e){return f+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\")}else e(s,\\\".\\\",at[i],\\\"(\\\",c,\\\");\\\",o,\\\".\\\",i,\\\"=\\\",c,\\\";\\\")}})}function L(t,e){Q&&(t.instancing=e.def(t.shared.extensions,\\\".angle_instanced_arrays\\\"))}function F(t,e,r,n,i){function a(){return\\\"undefined\\\"==typeof performance?\\\"Date.now()\\\":\\\"performance.now()\\\"}function o(t){t(c=e.def(),\\\"=\\\",a(),\\\";\\\"),\\\"string\\\"==typeof i?t(h,\\\".count+=\\\",i,\\\";\\\"):t(h,\\\".count++;\\\"),d&&(n?t(u=e.def(),\\\"=\\\",g,\\\".getNumPendingQueries();\\\"):t(g,\\\".beginQuery(\\\",h,\\\");\\\"))}function s(t){t(h,\\\".cpuTime+=\\\",a(),\\\"-\\\",c,\\\";\\\"),d&&(n?t(g,\\\".pushScopeStats(\\\",u,\\\",\\\",g,\\\".getNumPendingQueries(),\\\",h,\\\");\\\"):t(g,\\\".endQuery();\\\"))}function l(t){var r=e.def(p,\\\".profile\\\");e(p,\\\".profile=\\\",t,\\\";\\\"),e.exit(p,\\\".profile=\\\",r,\\\";\\\")}var c,u,f=t.shared,h=t.stats,p=f.current,g=f.timer;if(r=r.profile){if(I(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(f=t.block()),e(\\\"if(\\\",r,\\\"){\\\",f,\\\"}\\\"),s(t=t.block()),e.exit(\\\"if(\\\",r,\\\"){\\\",t,\\\"}\\\")}function N(t,e,r,n,i){function a(r,n,i){function a(){e(\\\"if(!\\\",u,\\\".buffer){\\\",l,\\\".enableVertexAttribArray(\\\",c,\\\");}\\\");var r,a=i.type;r=i.size?e.def(i.size,\\\"||\\\",n):n,e(\\\"if(\\\",u,\\\".type!==\\\",a,\\\"||\\\",u,\\\".size!==\\\",r,\\\"||\\\",p.map(function(t){return u+\\\".\\\"+t+\\\"!==\\\"+i[t]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",f,\\\".buffer);\\\",l,\\\".vertexAttribPointer(\\\",[c,r,a,i.normalized,i.stride,i.offset],\\\");\\\",u,\\\".type=\\\",a,\\\";\\\",u,\\\".size=\\\",r,\\\";\\\",p.map(function(t){return u+\\\".\\\"+t+\\\"=\\\"+i[t]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\"),Q&&(a=i.divisor,e(\\\"if(\\\",u,\\\".divisor!==\\\",a,\\\"){\\\",t.instancing,\\\".vertexAttribDivisorANGLE(\\\",[c,a],\\\");\\\",u,\\\".divisor=\\\",a,\\\";}\\\"))}function s(){e(\\\"if(\\\",u,\\\".buffer){\\\",l,\\\".disableVertexAttribArray(\\\",c,\\\");\\\",\\\"}if(\\\",gt.map(function(t,e){return u+\\\".\\\"+t+\\\"!==\\\"+h[e]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".vertexAttrib4f(\\\",c,\\\",\\\",h,\\\");\\\",gt.map(function(t,e){return u+\\\".\\\"+t+\\\"=\\\"+h[e]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\")}var l=o.gl,c=e.def(r,\\\".location\\\"),u=e.def(o.attributes,\\\"[\\\",c,\\\"]\\\");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=[\\\"buffer\\\",\\\"normalized\\\",\\\"offset\\\",\\\"stride\\\"];1===r?a():2===r?s():(e(\\\"if(\\\",r,\\\"===\\\",1,\\\"){\\\"),a(),e(\\\"}else{\\\"),s(),e(\\\"}\\\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(_t))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,\\\".\\\",t)})}a(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,i,a){for(var s,l=t.shared,c=l.gl,u=0;u<i.length;++u){var f,h=(g=i[u]).name,p=g.info.type,d=n.uniforms[h],g=t.link(g)+\\\".location\\\";if(d){if(!a(d))continue;if(I(d)){if(h=d.value,35678===p||35680===p)r(c,\\\".uniform1i(\\\",g,\\\",\\\",(p=t.link(h._texture||h.color[0]._texture))+\\\".bind());\\\"),r.exit(p,\\\".unbind();\\\");else if(35674===p||35675===p||35676===p)h=t.global.def(\\\"new Float32Array([\\\"+Array.prototype.slice.call(h)+\\\"])\\\"),d=2,35675===p?d=3:35676===p&&(d=4),r(c,\\\".uniformMatrix\\\",d,\\\"fv(\\\",g,\\\",false,\\\",h,\\\");\\\");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,\\\",\\\",v(h)?Array.prototype.slice.call(h):h,\\\");\\\")}continue}f=d.append(t,r)}else{if(!a(_t))continue;f=r.def(l.uniforms,\\\"[\\\",e.id(h),\\\"]\\\")}switch(35678===p?r(\\\"if(\\\",f,\\\"&&\\\",f,'._reglType===\\\"framebuffer\\\"){',f,\\\"=\\\",f,\\\".color[0];\\\",\\\"}\\\"):35680===p&&r(\\\"if(\\\",f,\\\"&&\\\",f,'._reglType===\\\"framebufferCube\\\"){',f,\\\"=\\\",f,\\\".color[0];\\\",\\\"}\\\"),h=1,p){case 35678:case 35680:r(c,\\\".uniform1i(\\\",g,\\\",\\\",p=r.def(f,\\\"._texture\\\"),\\\".bind());\\\"),r.exit(p,\\\".unbind();\\\");continue;case 5124:case 35670:s=\\\"1i\\\";break;case 35667:case 35671:s=\\\"2i\\\",h=2;break;case 35668:case 35672:s=\\\"3i\\\",h=3;break;case 35669:case 35673:s=\\\"4i\\\",h=4;break;case 5126:s=\\\"1f\\\";break;case 35664:s=\\\"2f\\\",h=2;break;case 35665:s=\\\"3f\\\",h=3;break;case 35666:s=\\\"4f\\\",h=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 m=t.global.def(\\\"new Float32Array(\\\",g,\\\")\\\");r(\\\"false,(Array.isArray(\\\",f,\\\")||\\\",f,\\\" instanceof Float32Array)?\\\",f,\\\":(\\\",o(g,function(t){return m+\\\"[\\\"+t+\\\"]=\\\"+f+\\\"[\\\"+t+\\\"]\\\"}),\\\",\\\",m,\\\")\\\")}else r(1<h?o(h,function(t){return f+\\\"[\\\"+t+\\\"]\\\"}):f);r(\\\");\\\")}}function V(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,\\\".\\\",i)}function a(){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,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\\\".\\\",\\\"elements\\\"),i&&a(\\\"if(\\\"+i+\\\")\\\"+u+\\\".bindBuffer(34963,\\\"+i+\\\".buffer.buffer);\\\"),i}(),d=i(\\\"primitive\\\"),g=i(\\\"offset\\\"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\\\".\\\",\\\"count\\\"),i}();if(\\\"number\\\"==typeof m){if(0===m)return}else r(\\\"if(\\\",m,\\\"){\\\"),r.exit(\\\"}\\\");Q&&(s=i(\\\"instances\\\"),l=t.instancing);var v=p+\\\".type\\\",y=h.elements&&I(h.elements);Q&&(\\\"number\\\"!=typeof s||0<=s)?\\\"string\\\"==typeof s?(r(\\\"if(\\\",s,\\\">0){\\\"),a(),r(\\\"}else if(\\\",s,\\\"<0){\\\"),o(),r(\\\"}\\\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\\\"body\\\",i),Q&&(e.instancing=i.def(e.shared.extensions,\\\".angle_instanced_arrays\\\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),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 i(){return!0}t.batchId=\\\"a1\\\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(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&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),E(t,u,r.state,i),r.profile&&i(r.profile)&&F(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),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 q(G,t,r,e,2)}),\\\"(\\\",n,\\\");}\\\",c,\\\".call(this,a0[\\\",s,\\\"],\\\",s,\\\");\\\"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\\\".\\\"+e,n.append(t,i))}var i=t.proc(\\\"scope\\\",3);t.batchId=\\\"a2\\\";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),D(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],\\\"[\\\"+n+\\\"]\\\",r)}):i.set(a.next,\\\".\\\"+e,n)}),F(t,i,r,!0,!0),[\\\"elements\\\",\\\"offset\\\",\\\"count\\\",\\\"instances\\\",\\\"primitive\\\"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\\\".\\\"+e,\\\"\\\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\\\"[\\\"+e.id(n)+\\\"]\\\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,\\\".\\\"+t,n[t])})}),n(\\\"vert\\\"),n(\\\"frag\\\"),0<Object.keys(r.state).length&&(i(o,\\\".dirty=true;\\\"),i.exit(o,\\\".dirty=true;\\\")),i(\\\"a1(\\\",t.shared.context,\\\",a0,\\\",t.batchId,\\\");\\\")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if(\\\"object\\\"==typeof t&&!v(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def(\\\"{}\\\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\\\"function\\\"==typeof r&&(r=n[e]=U.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,\\\".\\\",e,\\\"=\\\"),typeof r){case\\\"number\\\":i(r);break;case\\\"string\\\":i('\\\"',r,'\\\"');break;case\\\"object\\\":Array.isArray(r)&&i(\\\"[\\\",r.join(),\\\"]\\\");break;default:i(t.link(r))}i(\\\";\\\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(c,\\\".\\\",r,\\\"=\\\",i,\\\";\\\"))})}}),delete e.static[r]}}var Z=u.Record,J={add:32774,subtract:32778,\\\"reverse subtract\\\":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};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:h,elements:a,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:yt,blendFuncs:vt,blendEquations:J,stencilOps:xt,glTypes:K,orientationType:bt};$&&(st.backBuffer=[1029],st.drawBuffer=o(n.maxDrawbuffers,function(t){return 0===t?[0]:o(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var e=b(),r=e.proc(\\\"poll\\\"),i=e.proc(\\\"refresh\\\"),a=e.block();r(a),i(a);var s=e.shared,l=s.gl,c=s.next,u=s.current;a(u,\\\".dirty=false;\\\"),S(e,r),S(e,i,null,!0);var f,h=t.getExtension(\\\"angle_instanced_arrays\\\");h&&(f=e.link(h));for(var p=0;p<n.maxAttributes;++p){var d=i.def(s.attributes,\\\"[\\\",p,\\\"]\\\"),g=e.cond(d,\\\".buffer\\\");g.then(l,\\\".enableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",d,\\\".buffer.buffer);\\\",l,\\\".vertexAttribPointer(\\\",p,\\\",\\\",d,\\\".size,\\\",d,\\\".type,\\\",d,\\\".normalized,\\\",d,\\\".stride,\\\",d,\\\".offset);\\\").else(l,\\\".disableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".vertexAttrib4f(\\\",p,\\\",\\\",d,\\\".x,\\\",d,\\\".y,\\\",d,\\\".z,\\\",d,\\\".w);\\\",d,\\\".buffer=null;\\\"),i(g),h&&i(f,\\\".vertexAttribDivisorANGLE(\\\",p,\\\",\\\",d,\\\".divisor);\\\")}return Object.keys(it).forEach(function(t){var n=it[t],o=a.def(c,\\\".\\\",t),s=e.block();s(\\\"if(\\\",o,\\\"){\\\",l,\\\".enable(\\\",n,\\\")}else{\\\",l,\\\".disable(\\\",n,\\\")}\\\",u,\\\".\\\",t,\\\"=\\\",o,\\\";\\\"),i(s),r(\\\"if(\\\",o,\\\"!==\\\",u,\\\".\\\",t,\\\"){\\\",s,\\\"}\\\")}),Object.keys(at).forEach(function(t){var n,s,f=at[t],h=tt[t],p=e.block();p(l,\\\".\\\",f,\\\"(\\\"),v(h)?(f=h.length,n=e.global.def(c,\\\".\\\",t),s=e.global.def(u,\\\".\\\",t),p(o(f,function(t){return n+\\\"[\\\"+t+\\\"]\\\"}),\\\");\\\",o(f,function(t){return s+\\\"[\\\"+t+\\\"]=\\\"+n+\\\"[\\\"+t+\\\"];\\\"}).join(\\\"\\\")),r(\\\"if(\\\",o(f,function(t){return n+\\\"[\\\"+t+\\\"]!==\\\"+s+\\\"[\\\"+t+\\\"]\\\"}).join(\\\"||\\\"),\\\"){\\\",p,\\\"}\\\")):(n=a.def(c,\\\".\\\",t),s=a.def(u,\\\".\\\",t),p(n,\\\");\\\",u,\\\".\\\",t,\\\"=\\\",n,\\\";\\\"),r(\\\"if(\\\",n,\\\"!==\\\",s,\\\"){\\\",p,\\\"}\\\")),i(p)}),e.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),mt.forEach(function(e){X(a,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc(\\\"draw\\\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),C(t,r,e),E(t,r,e.state),F(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{var i=t.global.def(\\\"{}\\\"),a=r.def(n,\\\".id\\\"),o=r.def(i,\\\"[\\\",a,\\\"]\\\");r(t.cond(o).then(o,\\\".call(this,a0);\\\").else(o,\\\"=\\\",i,\\\"[\\\",a,\\\"]=\\\",t.link(function(r){return q(H,t,e,r,1)}),\\\"(\\\",n,\\\");\\\",o,\\\".call(this,a0);\\\"))}0<Object.keys(e.state).length&&r(t.shared.current,\\\".dirty=true;\\\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\\\"batch\\\",2);t.batchId=\\\"0\\\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),C(t,n,e),E(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||F(t,n,e,!1,\\\"a1\\\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\\\".useProgram(\\\",a,\\\".program);\\\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\\\"{}\\\"),l=(o=n.def(a,\\\".id\\\"),n.def(s,\\\"[\\\",o,\\\"]\\\"));n(t.cond(l).then(l,\\\".call(this,a0,a1);\\\").else(l,\\\"=\\\",s,\\\"[\\\",o,\\\"]=\\\",t.link(function(r){return q(W,t,e,r,2)}),\\\"(\\\",a,\\\");\\\",l,\\\".call(this,a0,a1);\\\"))}0<Object.keys(e.state).length&&n(t.shared.current,\\\".dirty=true;\\\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={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},q={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},H=\\\"undefined\\\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=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},W=function(t){return Object.keys(t).map(function(e){return t[e]})},Y=o(8,function(){return[]}),X={alloc:l,free:c,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(l(e),0,e);break;case 5121:r=new Uint8Array(l(e),0,e);break;case 5122:r=new Int16Array(l(2*e),0,e);break;case 5123:r=new Uint16Array(l(2*e),0,e);break;case 5124:r=new Int32Array(l(4*e),0,e);break;case 5125:r=new Uint32Array(l(4*e),0,e);break;case 5126:r=new Float32Array(l(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){c(t.buffer)}},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||X.allocType(r,i),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],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:u(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var c=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)u(e[s],c,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},J={\\\"[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},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\\\"line loop\\\":2,\\\"line strip\\\":3,\\\"triangle strip\\\":5,\\\"triangle fan\\\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=Object.keys(J).concat([\\\"[object HTMLCanvasElement]\\\",\\\"[object CanvasRenderingContext2D]\\\",\\\"[object HTMLImageElement]\\\",\\\"[object HTMLVideoElement]\\\"]),ct=[];ct[5121]=1,ct[5126]=4,ct[36193]=2,ct[5123]=2,ct[5125]=4;var ut=[];ut[32854]=2,ut[32855]=2,ut[36194]=2,ut[34041]=4,ut[33776]=.5,ut[33777]=.5,ut[33778]=1,ut[33779]=1,ut[35986]=.5,ut[35987]=1,ut[34798]=1,ut[35840]=.5,ut[35841]=.25,ut[35842]=.5,ut[35843]=.25,ut[36196]=.5;var ft=[];ft[32854]=2,ft[32855]=2,ft[36194]=2,ft[33189]=2,ft[36168]=1,ft[34041]=4,ft[35907]=4,ft[34836]=16,ft[34842]=8,ft[34843]=6;var ht=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.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 a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.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,a=0,u=32854;if(\\\"object\\\"==typeof e&&e?(\\\"shape\\\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\\\"radius\\\"in e&&(n=a=0|e.radius),\\\"width\\\"in e&&(n=0|e.width),\\\"height\\\"in e&&(a=0|e.height)),\\\"format\\\"in e&&(u=s[e.format])):\\\"number\\\"==typeof e?(n=0|e,a=\\\"number\\\"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o)},o._reglType=\\\"renderbuffer\\\",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){W(u).forEach(o)},restore:function(){W(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)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=[\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"w\\\"],mt=\\\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\\\".split(\\\" \\\"),vt={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},yt={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},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\\\"increment wrap\\\":34055,\\\"decrement wrap\\\":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new O(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}m.flush(),w&&w.update()}}function r(){!Q&&0<X.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),Z.forEach(function(t){t()})}function o(t){m.getError(),y.restore(),I.restore(),D.restore(),R.restore(),B.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=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=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,\\\"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\\\"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(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;G.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 X.push(t),r(),{cancel:function(){var e=N(X,t);X[e]=function t(){var e=N(X,t);X[e]=X[X.length-1],--X.length,0>=X.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){z.tick+=1,z.time=p(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function p(){return(H()-k)/1e3}if(!(t=i(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={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\\\"'+a+'\\\" 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(!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={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;if(0!==(t=a.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var r=c[0]=0;for(e=t=0;e<a.length;++e){var u=a[e];n.getQueryObjectEXT(u,34919)?(r+=n.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[e+1]=r,c[e+1]=t}for(a.length=t,e=t=0;e<s.length;++e){var f=(r=s[e]).startQueryIndex;u=r.endQueryIndex,r.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=f,r.endQueryIndex=u,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),k=H(),E=m.drawingBufferWidth,L=m.drawingBufferHeight,z={tick:0,time:0,viewportWidth:E,viewportHeight:L,framebufferWidth:E,framebufferHeight:L,drawingBufferWidth:E,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063)),{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:i,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)}}(m,_),D=d(m,b,t),O=g(m,_,D,b),I=(E=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(m,_,P),S(m,x,b,t)),R=M(m,_,P,function(){G.procs.poll()},z,b,t),B=ht(m,_,0,b,t),V=A(m,_,P,R,B,b),G=F(m,x,_,P,D,O,0,V,{},E,I,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),W=(x=C(m,V,G.procs.poll,z),G.next),Y=m.canvas,X=[],Z=[],J=[],K=[t.onDestroy],Q=null;Y&&(Y.addEventListener(\\\"webglcontextlost\\\",a,!1),Y.addEventListener(\\\"webglcontextrestored\\\",o,!1));var $=V.setFBO=s({framebuffer:U.define.call(null,1,\\\"framebuffer\\\")});return h(),v=j(s,{clear:function(t){if(\\\"framebuffer\\\"in t)if(t.framebuffer&&\\\"framebufferCube\\\"===t.framebuffer_reglType)for(var e=0;6>e;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:v,frame:c,on:function(t,e){var r;switch(t){case\\\"frame\\\":return c(e);case\\\"lost\\\":r=Z;break;case\\\"restore\\\":r=J;break;case\\\"destroy\\\":r=K}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:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){X.length=0,n(),Y&&(Y.removeEventListener(\\\"webglcontextlost\\\",a),Y.removeEventListener(\\\"webglcontextrestored\\\",o)),I.clear(),V.clear(),B.clear(),R.clear(),O.clear(),D.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:m,_refresh:h,poll:function(){f(),w&&w.update()},now:p,stats:b}),t.onDone(null,v),v}},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.createREGL=i()},{}],381:[function(t,e,r){\\\"use strict\\\";var n,i=\\\"\\\";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||void 0===n)n=t,i=\\\"\\\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],382:[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:{})},{}],383:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i<e;++i){var a=t[i],o=r,s=(r=a+o)-a,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],384:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\"),a=t(\\\"robust-scale\\\"),o=t(\\\"robust-compress\\\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}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(l(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(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[\\\",r,\\\"][\\\",n,\\\"]\\\"].join(\\\"\\\")}return e}(t)),\\\")};return robustDeterminant\\\",t].join(\\\"\\\"))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<s;)f.push(u(f.length));for(var t=[],r=[\\\"function robustDeterminant(m){switch(m.length){\\\"],n=0;n<s;++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 i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,u])),n=0;n<f.length;++n)e.exports[n]=f[n]}()},{\\\"robust-compress\\\":383,\\\"robust-scale\\\":390,\\\"robust-sum\\\":393,\\\"two-product\\\":421}],385:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{\\\"robust-sum\\\":393,\\\"two-product\\\":421}],386:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\"),a=t(\\\"robust-subtract\\\"),o=t(\\\"robust-scale\\\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(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(\\\",c(t.slice(0,e)),\\\",\\\",c(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function u(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 u(e,t)}function f(t){if(2===t.length)return[[\\\"diff(\\\",u(t[0][0],t[1][1]),\\\",\\\",u(t[1][0],t[0][1]),\\\")\\\"].join(\\\"\\\")];for(var e=[],r=0;r<t.length;++r)e.push([\\\"scale(\\\",c(f(l(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 c(r)}function p(t){for(var e=[],r=[],s=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),u=0;u<t;++u)s[0][u]=\\\"1\\\",s[t-1][u]=\\\"w\\\"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,f(l(s,u))):r.push.apply(r,f(l(s,u)));var p=c(e),d=c(r),g=\\\"exactInSphere\\\"+t,m=[];for(u=0;u<t;++u)m.push(\\\"m\\\"+u);var v=[\\\"function \\\",g,\\\"(\\\",m.join(),\\\"){\\\"];for(u=0;u<t;++u){v.push(\\\"var w\\\",u,\\\"=\\\",h(u,t),\\\";\\\");for(var y=0;y<t;++y)y!==u&&v.push(\\\"var w\\\",u,\\\"m\\\",y,\\\"=scale(w\\\",u,\\\",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(\\\"\\\"))(i,a,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=s;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);var i=[\\\"function testInSphere(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(n=2;n<=s;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\\\"robust-scale\\\":390,\\\"robust-subtract\\\":392,\\\"robust-sum\\\":393,\\\"two-product\\\":421}],387:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-determinant\\\"),i=6;function a(t){for(var e=\\\"robustLinearSolve\\\"+t+\\\"d\\\",r=[\\\"function \\\",e,\\\"(A,b){return [\\\"],i=0;i<t;++i){r.push(\\\"det([\\\");for(var a=0;a<t;++a){a>0&&r.push(\\\",\\\"),r.push(\\\"[\\\");for(var o=0;o<t;++o)o>0&&r.push(\\\",\\\"),o===i?r.push(\\\"+b[\\\",a,\\\"]\\\"):r.push(\\\"+A[\\\",a,\\\"][\\\",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 o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<i;)o.push(a(o.length));for(var t=[],r=[\\\"function dispatchLinearSolve(A,b){switch(A.length){\\\"],n=0;n<i;++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 s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,a])),n=0;n<i;++n)e.exports[n]=o[n]}()},{\\\"robust-determinant\\\":384}],388:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"robust-sum\\\"),a=t(\\\"robust-scale\\\"),o=t(\\\"robust-subtract\\\"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(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(\\\",c(t.slice(0,e)),\\\",\\\",c(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function u(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(u(l(t,r))),\\\",\\\",(n=r,1&n?\\\"-\\\":\\\"\\\"),t[0][r],\\\")\\\"].join(\\\"\\\"));return e;var n}function f(t){for(var e=[],r=[],s=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),f=[],h=0;h<t;++h)0==(1&h)?e.push.apply(e,u(l(s,h))):r.push.apply(r,u(l(s,h))),f.push(\\\"m\\\"+h);var p=c(e),d=c(r),g=\\\"orientation\\\"+t+\\\"Exact\\\",m=[\\\"function \\\",g,\\\"(\\\",f.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)(i,n,a,o)}var h=f(3),p=f(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=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],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=[\\\"slow\\\"],n=0;n<=s;++n)t.push(\\\"a\\\"+n),r.push(\\\"o\\\"+n);var i=[\\\"function getOrientation(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(n=2;n<=s;++n)i.push(\\\"case \\\",n,\\\":return o\\\",n,\\\"(\\\",t.slice(0,n).join(),\\\");\\\");i.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(i.join(\\\"\\\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=f(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\\\"robust-scale\\\":390,\\\"robust-subtract\\\":392,\\\"robust-sum\\\":393,\\\"two-product\\\":421}],389:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-sum\\\"),i=t(\\\"robust-scale\\\");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(var a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{\\\"robust-scale\\\":390,\\\"robust-sum\\\":393}],390:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"two-product\\\"),i=t(\\\"two-sum\\\");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[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 f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,g=d-h,m=p-g;s[1]=d,m&&(o[c++]=m)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{\\\"two-product\\\":421,\\\"two-sum\\\":422}],391:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u),h=Math.max(c,u);if(h<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t(\\\"robust-orientation\\\")[3]},{\\\"robust-orientation\\\":388}],392:[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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(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}},{}],393:[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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(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}},{}],394:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],395:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return i(n(t))};var n=t(\\\"boundary-cells\\\"),i=t(\\\"reduce-simplicial-complex\\\")},{\\\"boundary-cells\\\":76,\\\"reduce-simplicial-complex\\\":373}],396:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,s){r=r||0,void 0===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=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,f=0;f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));for(var g=2,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,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[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),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t(\\\"ndarray\\\"),i=t(\\\"typedarray-pool\\\"),a=t(\\\"ndarray-sort\\\"),o=t(\\\"./lib/codegen\\\")},{\\\"./lib/codegen\\\":397,ndarray:335,\\\"ndarray-sort\\\":333,\\\"typedarray-pool\\\":423}],397:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){var e=a[t];e||(e=a[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var a=1;a<=t;++a)for(var o=r[a]=i(a),s=0;s<o.length;++s)e=Math.max(e,o[a].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 i=r[n];n>0&&l.push(\\\",\\\"),l.push(\\\"B(C,E,c[\\\",i[0],\\\"],c[\\\",i[1],\\\"])\\\")}l.push(\\\"]\\\")}l.push(\\\");\\\")}}for(var a=t+1;a>1;--a){a<t+1&&l.push(\\\"else \\\"),l.push(\\\"if(l===\\\",a,\\\"){\\\");for(var u=[],s=0;s<a;++s)u.push(\\\"(S[c[\\\"+s+\\\"]]<<\\\"+s+\\\")\\\");l.push(\\\"var M=\\\",u.join(\\\"+\\\"),\\\";if(M===0||M===\\\",(1<<a)-1,\\\"){continue}switch(M){\\\");for(var o=r[a-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\\\"),i=t(\\\"marching-simplex-table\\\"),a={}},{\\\"marching-simplex-table\\\":312,\\\"typedarray-pool\\\":423}],398:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";var n=t(\\\"bit-twiddle\\\"),i=t(\\\"union-find\\\");function a(t,e){var r=t.length,n=t.length-e.length,i=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])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,g=0;g<f;++g)h&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(i),!(m>=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[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=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[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(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));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\\\":73,\\\"union-find\\\":424}],399:[function(t,e,r){arguments[4][73][0].apply(r,arguments)},{dup:73}],400:[function(t,e,r){arguments[4][398][0].apply(r,arguments)},{\\\"bit-twiddle\\\":399,dup:398,\\\"union-find\\\":401}],401:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],402:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(var f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error(\\\"Input must be a graph\\\");var p=h[1],d=h[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,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function m(t,e){var r=M[t],n=M[e];M[t]=n,M[e]=r,A[r]=e,A[n]=t}function v(t){return c[M[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,i=2*(t+1),a=t;if(n<S){var o=v(n);o<r&&(a=n,r=o)}if(i<S){var s=v(i);s<r&&(a=i)}if(a===t)return t;m(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0){var n=v(r);if(e<n){m(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=M[0];return m(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=M[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(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))}}for(var M=[],A=new Array(a),f=0;f<a;++f){var T=c[f]=g(f);T<1/0?(A[f]=M.length,M.push(f)):A[f]=-1}for(var S=M.length,f=S>>1;f>=0;--f)x(f);for(;;){var C=_();if(C<0||c[C]>r)break;k(C)}for(var E=[],f=0;f<a;++f)u[f]||(A[f]=E.length,E.push(e[f].slice()));E.length;function L(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var z=[];return t.forEach(function(t){var e=L(s,t[0]),r=L(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:E,edges:z}};var n=t(\\\"robust-orientation\\\"),i=t(\\\"simplicial-complex\\\")},{\\\"robust-orientation\\\":388,\\\"simplicial-complex\\\":400}],403:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,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,a),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 a[0]-s[0]};var n=t(\\\"robust-orientation\\\");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=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],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{\\\"robust-orientation\\\":388}],404:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}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]))});for(var h=i(o),p=[],d=[],g=[],a=0;a<r;){for(var m=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==m)break;a+=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)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t(\\\"binary-search-bounds\\\"),i=t(\\\"functional-red-black-tree\\\"),a=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,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,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 f(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),i=-1;if(r&&(i=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,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{\\\"./lib/order-segments\\\":403,\\\"binary-search-bounds\\\":72,\\\"functional-red-black-tree\\\":199,\\\"robust-orientation\\\":388}],405:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"robust-dot-product\\\"),i=t(\\\"robust-sum\\\");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\\\"robust-dot-product\\\":385,\\\"robust-sum\\\":393}],406:[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(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g=\\\"\\\";for(a=0;a<d;a++)if(\\\"string\\\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \\\"%s\\\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\\\"number\\\"!=typeof i&&isNaN(i))throw new TypeError(e(\\\"[sprintf] expecting number but found %T\\\",i));switch(t.number.test(s[8])&&(f=i>=0),s[8]){case\\\"b\\\":i=parseInt(i,10).toString(2);break;case\\\"c\\\":i=String.fromCharCode(parseInt(i,10));break;case\\\"d\\\":case\\\"i\\\":i=parseInt(i,10);break;case\\\"j\\\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\\\"e\\\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\\\"f\\\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\\\"g\\\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\\\"o\\\":i=(parseInt(i,10)>>>0).toString(8);break;case\\\"s\\\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"t\\\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"T\\\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"u\\\":i=parseInt(i,10)>>>0;break;case\\\"v\\\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"x\\\":i=(parseInt(i,10)>>>0).toString(16);break;case\\\"X\\\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||f&&!s[3]?h=\\\"\\\":(h=f?\\\"+\\\":\\\"-\\\",i=i.toString().replace(t.sign,\\\"\\\")),c=s[4]?\\\"0\\\"===s[4]?\\\"0\\\":s[4].charAt(1):\\\" \\\",u=s[6]-(h+i).length,l=s[6]&&u>0?c.repeat(u):\\\"\\\",g+=s[5]?h+i+l:\\\"0\\\"===c?h+l+i:l+h+i)}return g}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;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(r)}n=n.substring(r[0].length)}return i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);void 0!==r&&(r.sprintf=e,r.vsprintf=n),\\\"undefined\\\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],407:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,i[g]=!0,u+=1,l.push(g),c.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var m=[],v=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);for(var b=new Array(y),d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<h.length;l++){var d=h[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]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],408:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t.split(\\\"\\\").map(function(t){return t in n?n[t]:\\\"\\\"}).join(\\\"\\\")};var n={\\\" \\\":\\\" \\\",0:\\\"\\\\u2070\\\",1:\\\"\\\\xb9\\\",2:\\\"\\\\xb2\\\",3:\\\"\\\\xb3\\\",4:\\\"\\\\u2074\\\",5:\\\"\\\\u2075\\\",6:\\\"\\\\u2076\\\",7:\\\"\\\\u2077\\\",8:\\\"\\\\u2078\\\",9:\\\"\\\\u2079\\\",\\\"+\\\":\\\"\\\\u207a\\\",\\\"-\\\":\\\"\\\\u207b\\\",a:\\\"\\\\u1d43\\\",b:\\\"\\\\u1d47\\\",c:\\\"\\\\u1d9c\\\",d:\\\"\\\\u1d48\\\",e:\\\"\\\\u1d49\\\",f:\\\"\\\\u1da0\\\",g:\\\"\\\\u1d4d\\\",h:\\\"\\\\u02b0\\\",i:\\\"\\\\u2071\\\",j:\\\"\\\\u02b2\\\",k:\\\"\\\\u1d4f\\\",l:\\\"\\\\u02e1\\\",m:\\\"\\\\u1d50\\\",n:\\\"\\\\u207f\\\",o:\\\"\\\\u1d52\\\",p:\\\"\\\\u1d56\\\",r:\\\"\\\\u02b3\\\",s:\\\"\\\\u02e2\\\",t:\\\"\\\\u1d57\\\",u:\\\"\\\\u1d58\\\",v:\\\"\\\\u1d5b\\\",w:\\\"\\\\u02b7\\\",x:\\\"\\\\u02e3\\\",y:\\\"\\\\u02b8\\\",z:\\\"\\\\u1dbb\\\"}},{}],409:[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=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s<n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,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,a=[\\\"'use strict';\\\"],o=\\\"surfaceNets\\\"+t.join(\\\"_\\\")+\\\"d\\\"+e;a.push(\\\"var contour=genContour({\\\",\\\"order:[\\\",t.join(),\\\"],\\\",\\\"scalarArguments: 3,\\\",\\\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\\\"),\\\"generic\\\"===e&&a.push(\\\"getters:[0],\\\");for(var s=[],l=[],c=0;c<r;++c)s.push(\\\"d\\\"+c),l.push(\\\"d\\\"+c);for(var c=0;c<1<<r;++c)s.push(\\\"v\\\"+c),l.push(\\\"v\\\"+c);for(var c=0;c<1<<r;++c)s.push(\\\"p\\\"+c),l.push(\\\"p\\\"+c);s.push(\\\"a\\\",\\\"b\\\",\\\"c\\\"),l.push(\\\"a\\\",\\\"c\\\"),a.push(\\\"vertex:function vertexFunc(\\\",s.join(),\\\"){\\\");for(var u=[],c=0;c<1<<r;++c)u.push(\\\"(p\\\"+c+\\\"<<\\\"+c+\\\")\\\");a.push(\\\"var m=(\\\",u.join(\\\"+\\\"),\\\")|0;if(m===0||m===\\\",(1<<(1<<r))-1,\\\"){return}\\\");var f=[],h=[];1<<(1<<r)<=128?(a.push(\\\"switch(m){\\\"),h=a):a.push(\\\"switch(m>>>7){\\\");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){f.length>0&&h.push(\\\"}}\\\");var p=\\\"vExtra\\\"+f.length;a.push(\\\"case \\\",c>>>7,\\\":\\\",p,\\\"(m&0x7f,\\\",l.join(),\\\");break;\\\"),h=[\\\"function \\\",p,\\\"(m,\\\",l.join(),\\\"){switch(m){\\\"],f.push(h)}h.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(var 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 k=0;k<r;++k)k!==b&&(_&1<<k?v[k]+=1:v[k]-=1)}}for(var M=[],b=0;b<r;++b)if(0===d[b].length)M.push(\\\"d\\\"+b+\\\"-0.5\\\");else{var A=\\\"\\\";m[b]<0?A=m[b]+\\\"*c\\\":m[b]>0&&(A=\\\"+\\\"+m[b]+\\\"*c\\\");var T=d[b].length/y*.5,S=.5+v[b]/y*.5;M.push(\\\"d\\\"+b+\\\"-\\\"+S+\\\"-\\\"+T+\\\"*(\\\"+d[b].join(\\\"+\\\")+A+\\\")/(\\\"+g[b].join(\\\"+\\\")+\\\")\\\")}h.push(\\\"a.push([\\\",M.join(),\\\"]);\\\",\\\"break;\\\")}a.push(\\\"}},\\\"),f.length>0&&h.push(\\\"}}\\\");for(var C=[],c=0;c<1<<r-1;++c)C.push(\\\"v\\\"+c);C.push(\\\"c0\\\",\\\"c1\\\",\\\"p0\\\",\\\"p1\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\"),a.push(\\\"cell:function cellFunc(\\\",C.join(),\\\"){\\\");var E=i(r-1);a.push(\\\"if(p0){b.push(\\\",E.map(function(t){return\\\"[\\\"+t.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}else{b.push(\\\",E.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(var c=0;c<f.length;++c)a.push(f[c].join(\\\"\\\"));return new Function(\\\"genContour\\\",a.join(\\\"\\\"))(n)}(t.order,t.dtype));return s(t,e)};var n=t(\\\"ndarray-extract-contour\\\"),i=t(\\\"triangulate-hypercube\\\"),a=t(\\\"zero-crossings\\\");var o={}},{\\\"ndarray-extract-contour\\\":324,\\\"triangulate-hypercube\\\":419,\\\"zero-crossings\\\":454}],410:[function(t,e,r){\\\"use strict\\\";Object.defineProperty(r,\\\"__esModule\\\",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=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){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\")}}(),i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/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),f=Math.abs(f);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var M=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,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))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,k=(h-x)/a,M=(p-b)/o,A=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,M),C=s(k,M,A,T);return 0===c&&C>0&&(C-=i),1===c&&C<0&&(C+=i),[_,w,S,C]}(e,r,l,c,u,f,g,v,x,b,_,w),A=n(M,4),T=A[0],S=A[1],C=A[2],E=A[3],L=Math.max(Math.ceil(Math.abs(E)/(i/4)),1);E/=L;for(var z=0;z<L;z++)y.push(o(C,E)),C+=E;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],411:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"parse-svg-path\\\"),i=t(\\\"abs-svg-path\\\"),a=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=i(t),!(t=a(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\\\":44,assert:52,\\\"is-svg-path\\\":309,\\\"normalize-svg-path\\\":412,\\\"parse-svg-path\\\":344}],412:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=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:h,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 _=h,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*h-u,f=2*p-f):(u=h,f=p),m=a(h,p,u,f,m[1],m[2]);break;case\\\"Q\\\":u=m[1],f=m[2],m=a(h,p,m[1],m[2],m[3],m[4]);break;case\\\"L\\\":m=i(h,p,m[1],m[2]);break;case\\\"H\\\":m=i(h,p,m[1],p);break;case\\\"V\\\":m=i(h,p,h,m[1]);break;case\\\"Z\\\":m=i(h,p,l,c)}e=v,h=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t(\\\"svg-arc-to-cubic-bezier\\\");function i(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{\\\"svg-arc-to-cubic-bezier\\\":410}],413:[function(t,e,r){(function(r){\\\"use strict\\\";var n=t(\\\"svg-path-bounds\\\"),i=t(\\\"parse-svg-path\\\"),a=t(\\\"draw-svg-path\\\"),o=t(\\\"is-svg-path\\\"),s=t(\\\"bitmap-sdf\\\"),l=document.createElement(\\\"canvas\\\"),c=l.getContext(\\\"2d\\\");e.exports=function(t,e){if(!o(t))throw Error(\\\"Argument should be valid svg path string\\\");e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),p=e.stroke||0,d=e.viewbox||e.viewBox||n(t),g=[u/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;c.fillStyle=\\\"black\\\",c.fillRect(0,0,u,f),c.fillStyle=\\\"white\\\",p&&(\\\"number\\\"!=typeof p&&(p=1),c.strokeStyle=p>0?\\\"white\\\":\\\"black\\\",c.lineWidth=Math.abs(p));if(c.translate(.5*u,.5*f),c.scale(m,m),r.Path2D){var v=new Path2D(t);c.fill(v),p&&c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{\\\"bitmap-sdf\\\":74,\\\"draw-svg-path\\\":134,\\\"is-svg-path\\\":309,\\\"parse-svg-path\\\":344,\\\"svg-path-bounds\\\":411}],414:[function(t,e,r){(function(r){\\\"use strict\\\";e.exports=function t(e,r,i){var i=i||{};var o=a[e];o||(o=a[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),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||\\\"left\\\",textBaseline:\\\"alphabetic\\\"}));else{for(var l=r.split(/(\\\\d|\\\\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h<c.length;++h){for(var m=c[h].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t(\\\"vectorize-text\\\"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this,t(\\\"_process\\\"))},{_process:366,\\\"vectorize-text\\\":430}],415:[function(t,e,r){!function(t){var r=/^\\\\s+/,n=/\\\\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(e=e||\\\"\\\",l=l||{},e instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;\\\"string\\\"==typeof e&&(e=function(t){t=t.replace(r,\\\"\\\").replace(n,\\\"\\\").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!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:P(e[1]),g:P(e[2]),b:P(e[3]),a:R(e[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(e=j.hex6.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:i?\\\"name\\\":\\\"hex\\\"};if(e=j.hex4.exec(t))return{r:P(e[1]+\\\"\\\"+e[1]),g:P(e[2]+\\\"\\\"+e[2]),b:P(e[3]+\\\"\\\"+e[3]),a:R(e[4]+\\\"\\\"+e[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(e=j.hex3.exec(t))return{r:P(e[1]+\\\"\\\"+e[1]),g:P(e[2]+\\\"\\\"+e[2]),b:P(e[3]+\\\"\\\"+e[3]),format:i?\\\"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,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},f=!0,h=\\\"%\\\"===String(e.r).substr(-1)?\\\"prgb\\\":\\\"rgb\\\"):V(e.h)&&V(e.s)&&V(e.v)?(l=O(e.s),c=O(e.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%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),f=!0,h=\\\"hsv\\\"):V(e.h)&&V(e.s)&&V(e.l)&&(l=O(e.s),u=O(e.l),i=function(t,e,r){var n,i,a;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=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h=\\\"hsl\\\"),e.hasOwnProperty(\\\"a\\\")&&(a=e.a));var p,d,g;return a=E(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){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:i,l:c}}function f(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){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:i,v:c}}function h(t,e,r,n){var i=[D(a(t).toString(16)),D(a(e).toString(16)),D(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\\\"\\\")}function p(t,e,r,n){return[D(I(n)),D(a(t).toString(16)),D(a(e).toString(16)),D(a(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=z(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=z(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=z(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-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-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=z(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 k(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 M(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(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+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,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.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=E(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(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=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\\\"hsl(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%)\\\":\\\"hsla(\\\"+e+\\\", \\\"+r+\\\"%, \\\"+n+\\\"%, \\\"+this._roundA+\\\")\\\"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return\\\"#\\\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[D(a(t).toString(16)),D(a(e).toString(16)),D(a(r).toString(16)),D(I(n))];if(i&&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:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\\\"rgb(\\\"+a(this._r)+\\\", \\\"+a(this._g)+\\\", \\\"+a(this._b)+\\\")\\\":\\\"rgba(\\\"+a(this._r)+\\\", \\\"+a(this._g)+\\\", \\\"+a(this._b)+\\\", \\\"+this._roundA+\\\")\\\"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+\\\"%\\\",g:a(100*L(this._g,255))+\\\"%\\\",b:a(100*L(this._b,255))+\\\"%\\\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\\\"rgb(\\\"+a(100*L(this._r,255))+\\\"%, \\\"+a(100*L(this._g,255))+\\\"%, \\\"+a(100*L(this._b,255))+\\\"%)\\\":\\\"rgba(\\\"+a(100*L(this._r,255))+\\\"%, \\\"+a(100*L(this._g,255))+\\\"%, \\\"+a(100*L(this._b,255))+\\\"%, \\\"+this._roundA+\\\")\\\"},toName:function(){return 0===this._a?\\\"transparent\\\":!(this._a<1)&&(C[h(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 i=c(t);r=\\\"#\\\"+p(i._r,i._g,i._b,i._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(T,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,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(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!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\\\":i=a>=4.5;break;case\\\"AAlarge\\\":i=a>=3;break;case\\\"AAAsmall\\\":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=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:a,size:o})||!i?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\\\"},C=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function E(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 z(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function D(t){return 1==t.length?\\\"0\\\"+t:\\\"\\\"+t}function O(t){return t<=1&&(t=100*t+\\\"%\\\"),t}function I(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var B,F,N,j=(F=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+(B=\\\"(?:[-\\\\\\\\+]?\\\\\\\\d*\\\\\\\\.\\\\\\\\d+%?)|(?:[-\\\\\\\\+]?\\\\\\\\d+%?)\\\")+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")\\\\\\\\s*\\\\\\\\)?\\\",N=\\\"[\\\\\\\\s|\\\\\\\\(]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")[,|\\\\\\\\s]+(\\\"+B+\\\")\\\\\\\\s*\\\\\\\\)?\\\",{CSS_UNIT:new RegExp(B),rgb:new RegExp(\\\"rgb\\\"+F),rgba:new RegExp(\\\"rgba\\\"+N),hsl:new RegExp(\\\"hsl\\\"+F),hsla:new RegExp(\\\"hsla\\\"+N),hsv:new RegExp(\\\"hsv\\\"+F),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)}void 0!==e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],416:[function(t,e,r){\\\"use strict\\\";function n(t){if(t instanceof Float32Array)return t;if(\\\"number\\\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(\\\"number\\\"==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r<i;r++)e[r]=t[r]-e[r];return e}},{}],417:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"parse-unit\\\");e.exports=o;var i=96;function a(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(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 i;case\\\"cm\\\":return i/2.54;case\\\"mm\\\":return i/25.4;case\\\"pt\\\":return i/72;case\\\"pc\\\":return i/6}return 1}},{\\\"parse-unit\\\":345}],418:[function(t,e,r){var n;n=this,function(t){\\\"use strict\\\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}function i(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(i);break;case\\\"Point\\\":n(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\\\"Feature\\\",properties:i,geometry:a}:null==n?{type:\\\"Feature\\\",id:r,properties:i,geometry:a}:{type:\\\"Feature\\\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case\\\"GeometryCollection\\\":return{type:n,geometries:e.geometries.map(t)};case\\\"Point\\\":r=s(e.coordinates);break;case\\\"MultiPoint\\\":r=e.coordinates.map(s);break;case\\\"LineString\\\":r=l(e.arcs);break;case\\\"MultiLineString\\\":r=e.arcs.map(l);break;case\\\"Polygon\\\":r=u(e.arcs);break;case\\\"MultiPolygon\\\":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=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,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[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\\\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\\\"MultiLineString\\\",arcs:s(t,n)}}function c(t,e){var r={},n=[],i=[];function a(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,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(o(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\\\":a(e.arcs);break;case\\\"MultiPolygon\\\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.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:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r};t.bbox=n,t.feature=function(t,e){return\\\"GeometryCollection\\\"===e.type?{type:\\\"FeatureCollection\\\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,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 i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(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 a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\\\"n must be \\\\u22652\\\");if(t.transform)throw new Error(\\\"already quantized\\\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(u);break;case\\\"Point\\\":c(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);i<u;++i)f=t[i],r=Math.round((f[0]-a)/o),n=Math.round((f[1]-s)/l),r===h&&n===p||((e=t[c++])[0]=r-h,h=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-i,i=c,t}},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.topojson=n.topojson||{})},{}],419:[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(a(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);i(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(\\\"permutation-rank\\\"),i=t(\\\"permutation-parity\\\"),a=t(\\\"gamma\\\")},{gamma:200,\\\"permutation-parity\\\":347,\\\"permutation-rank\\\":348}],420:[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||f(r),i=t.radius||1,a=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=f(r):s(n,n),i=c(d[0],d[1],d[2]);var g=l(r,d)/i,m=l(n,d)/i;u=Math.acos(g),a=Math.acos(m)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t(\\\"filtered-vector\\\"),i=t(\\\"gl-mat4/invert\\\"),a=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 f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),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=h.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,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);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,k=x,M=-m*x,A=-v*x,T=y,S=this.computedEye,C=this.computedMatrix;for(a=0;a<3;++a){var E=_*r[a]+w*h[a]+k*e[a];C[4*a+1]=M*r[a]+A*h[a]+T*e[a],C[4*a+2]=E,C[4*a+3]=0}var L=C[1],z=C[5],P=C[9],D=C[2],O=C[6],I=C[10],R=z*I-P*O,B=P*D-L*I,F=L*O-z*D,N=c(R,B,F);R/=N,B/=N,F/=N,C[0]=R,C[4]=B,C[8]=F;for(a=0;a<3;++a)S[a]=b[a]+C[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=C[a+4*j]*S[j];C[12+a]=-u}C[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 i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[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 i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=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 a=1;\\\"number\\\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),M=l*(_/=k)-f*(b/=k),A=f*(x/=k)-s*_,T=s*b-l*x,S=c(M,A,T);if(M/=S,A/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var C=e[1],E=e[5],L=e[9],z=C*x+E*b+L*_,P=C*M+E*A+L*T;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,z)}else{var D=e[2],O=e[6],I=e[10],R=D*s+O*l+I*f,B=D*x+O*b+I*_,F=D*M+O*A+I*T;v=Math.asin(u(R)),y=Math.atan2(F,B)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},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 i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,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=a*v-o*m,_=o*g-i*v,w=i*m-a*g,k=c(b,_,w),M=i*l+a*f+o*h,A=g*l+m*f+v*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(M)),C=Math.atan2(T,A),E=this.angle._state,L=E[E.length-1],z=E[E.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-C),D=Math.abs(L-C),O=Math.abs(L-2*Math.PI-C);P<D&&(L+=2*Math.PI),O<D&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,z),this.angle.set(t,C,S)}}}}},{\\\"filtered-vector\\\":197,\\\"gl-mat4/invert\\\":230,\\\"gl-mat4/rotate\\\":234,\\\"gl-vec3/cross\\\":280,\\\"gl-vec3/dot\\\":281,\\\"gl-vec3/normalize\\\":284}],421:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],422:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],423:[function(t,e,r){(function(e,n){\\\"use strict\\\";var i=t(\\\"bit-twiddle\\\"),a=t(\\\"dup\\\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32: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=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=a([32,0])),s.BUFFER||(s.BUFFER=a([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=i.log2(e);l[r].push(t)}}function f(t){t=i.nextPow2(t);var e=i.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function m(t){return new Int16Array(f(2*t),0,t)}function v(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.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|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\\\"arraybuffer\\\"===e)return f(t);switch(e){case\\\"uint8\\\":return h(t);case\\\"uint16\\\":return p(t);case\\\"uint32\\\":return d(t);case\\\"int8\\\":return g(t);case\\\"int16\\\":return m(t);case\\\"int32\\\":return v(t);case\\\"float\\\":case\\\"float32\\\":return y(t);case\\\"double\\\":case\\\"float64\\\":return x(t);case\\\"uint8_clamped\\\":return b(t);case\\\"buffer\\\":return w(t);case\\\"data\\\":case\\\"dataview\\\":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=m,r.mallocInt32=v,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{},t(\\\"buffer\\\").Buffer)},{\\\"bit-twiddle\\\":73,buffer:85,dup:136}],424:[function(t,e,r){\\\"use strict\\\";\\\"use restrict\\\";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 i=n.prototype;Object.defineProperty(i,\\\"length\\\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.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},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],425:[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,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],426:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\\\"function\\\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],427:[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}},{}],428:[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}},{}],429:[function(t,e,r){(function(e,n){var i=/%[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,a=n.length,o=String(t).replace(i,function(t){if(\\\"%%\\\"===t)return\\\"%\\\";if(r>=a)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<a;l=n[++r])g(l)||!b(l)?o+=\\\" \\\"+l:o+=\\\" \\\"+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,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&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=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(a)return a;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 f(e);if(0===o.length){if(k(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 f(e)}var c,b=\\\"\\\",M=!1,A=[\\\"{\\\",\\\"}\\\"];(p(e)&&(M=!0,A=[\\\"[\\\",\\\"]\\\"]),k(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=\\\" \\\"+f(e)),0!==o.length||M&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\"):t.stylize(\\\"[Object]\\\",\\\"special\\\"):(t.seen.push(e),c=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)S(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push(\\\"\\\");return i.forEach(function(i){i.match(/^\\\\d+$/)||a.push(h(t,e,r,n,i,!0))}),a}(t,e,n,s,o):o.map(function(r){return h(t,e,n,s,r,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,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 f(t){return\\\"[\\\"+Error.prototype.toString.call(t)+\\\"]\\\"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\\\"[Getter/Setter]\\\",\\\"special\\\"):t.stylize(\\\"[Getter]\\\",\\\"special\\\"):l.set&&(s=t.stylize(\\\"[Setter]\\\",\\\"special\\\")),S(n,i)||(o=\\\"[\\\"+i+\\\"]\\\"),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=a?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(a&&i.match(/^\\\\d+$/))return s;(o=JSON.stringify(\\\"\\\"+i)).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]\\\"===M(t)}function b(t){return\\\"object\\\"==typeof t&&null!==t}function _(t){return b(t)&&\\\"[object Date]\\\"===M(t)}function w(t){return b(t)&&(\\\"[object Error]\\\"===M(t)||t instanceof Error)}function k(t){return\\\"function\\\"==typeof t}function M(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(a)&&(a=e.env.NODE_DEBUG||\\\"\\\"),t=t.toUpperCase(),!o[t])if(new RegExp(\\\"\\\\\\\\b\\\"+t+\\\"\\\\\\\\b\\\",\\\"i\\\").test(a)){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=k,r.isPrimitive=function(t){return null===t||\\\"boolean\\\"==typeof t||\\\"number\\\"==typeof t||\\\"string\\\"==typeof t||\\\"symbol\\\"==typeof t||void 0===t},r.isBuffer=t(\\\"./support/isBuffer\\\");var T=[\\\"Jan\\\",\\\"Feb\\\",\\\"Mar\\\",\\\"Apr\\\",\\\"May\\\",\\\"Jun\\\",\\\"Jul\\\",\\\"Aug\\\",\\\"Sep\\\",\\\"Oct\\\",\\\"Nov\\\",\\\"Dec\\\"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log(\\\"%s - %s\\\",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\\\":\\\"),[t.getDate(),T[t.getMonth()],e].join(\\\" \\\")),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\\\":428,_process:366,inherits:427}],430:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){\\\"object\\\"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t(\\\"./lib/vtext\\\"),i=null,a=null;\\\"undefined\\\"!=typeof document&&((i=document.createElement(\\\"canvas\\\")).width=8192,i.height=1024,a=i.getContext(\\\"2d\\\"))},{\\\"./lib/vtext\\\":431}],431:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var a=n.size||64,o=n.font||\\\"normal\\\";return r.font=a+\\\"px \\\"+o,r.textAlign=\\\"start\\\",r.textBaseline=\\\"alphabetic\\\",r.direction=\\\"ltr\\\",f(function(t,e,r,n){var a=0|Math.ceil(e.measureText(r).width+2*n);if(a>8192)throw new Error(\\\"vectorize-text: String too long (sorry, this will get fixed later)\\\");var o=3*n;t.height<o&&(t.height=o),e.fillStyle=\\\"#000\\\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\\\"#fff\\\",e.fillText(r,n,2*n);var s=e.getImageData(0,0,a,o);return i(s.data,[o,a,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=f;var n=t(\\\"surface-nets\\\"),i=t(\\\"ndarray\\\"),a=t(\\\"simplify-planar-graph\\\"),o=t(\\\"clean-pslg\\\"),s=t(\\\"cdt2d\\\"),l=t(\\\"planar-graph-to-polyline\\\");function c(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function u(t,e,r,n){var i=c(t,n),a=function(t,e,r){for(var n=e.textAlign||\\\"start\\\",i=e.textBaseline||\\\"alphabetic\\\",a=[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)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case\\\"center\\\":f=-.5*(a[0]+o[0]);break;case\\\"right\\\":case\\\"end\\\":f=-o[0];break;case\\\"left\\\":case\\\"start\\\":f=-a[0];break;default:throw new Error(\\\"vectorize-text: Unrecognized textAlign: '\\\"+n+\\\"'\\\")}var h=0;switch(i){case\\\"hanging\\\":case\\\"top\\\":h=-a[1];break;case\\\"middle\\\":h=-.5*(a[1]+o[1]);break;case\\\"alphabetic\\\":case\\\"ideographic\\\":h=-3*r;break;case\\\"bottom\\\":h=-o[1];break;default:throw new Error(\\\"vectorize-text: Unrecoginized textBaseline: '\\\"+i+\\\"'\\\")}var p=1/r;return\\\"lineHeight\\\"in e?p*=+e.lineHeight:\\\"width\\\"in e?p=e.width/(o[0]-a[0]):\\\"height\\\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+f),p*(t[1]+h)]})}(i.positions,e,r),u=i.edges,f=\\\"ccw\\\"===e.orientation;if(o(a,u),e.polygons||e.polygon||e.polyline){for(var h=l(u,a),p=new Array(h.length),d=0;d<h.length;++d){for(var g=h[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]=a[y[b]].slice();f&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,u,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:u,positions:a}}function f(t,e,r){try{return u(t,e,r,!0)}catch(t){}try{return u(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:86,\\\"clean-pslg\\\":96,ndarray:335,\\\"planar-graph-to-polyline\\\":352,\\\"simplify-planar-graph\\\":402,\\\"surface-nets\\\":409}],432:[function(t,e,r){!function(){\\\"use strict\\\";if(\\\"undefined\\\"==typeof ses||!ses.ok||ses.ok()){\\\"undefined\\\"!=typeof ses&&(ses.weakMapPermitHostObjects=m);var t=!1;if(\\\"function\\\"==typeof WeakMap){var r=WeakMap;if(\\\"undefined\\\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l=\\\"weakmap:\\\",c=l+\\\"ident:\\\"+Math.random()+\\\"___\\\";if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto.getRandomValues&&\\\"function\\\"==typeof ArrayBuffer&&\\\"function\\\"==typeof Uint8Array){var u=new ArrayBuffer(25),f=new Uint8Array(u);crypto.getRandomValues(f),c=l+\\\"rand:\\\"+Array.prototype.map.call(f,function(t){return(t%36).toString(36)}).join(\\\"\\\")+\\\"___\\\"}if(o(Object,\\\"getOwnPropertyNames\\\",{value:function(t){return a(t).filter(v)}}),\\\"getPropertyNames\\\"in Object){var h=Object.getPropertyNames;o(Object,\\\"getPropertyNames\\\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;o(Object,\\\"freeze\\\",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,\\\"seal\\\",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,\\\"preventExtensions\\\",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,i){var a,o=y(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};g.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 g||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==m)throw new Error(\\\"bogus call to permitHostObjects___\\\");a=!0})}})}t&&\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.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=g)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function v(t){return!(t.substr(0,l.length)==l&&\\\"___\\\"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError(\\\"Not an object: \\\"+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||\\\"undefined\\\"==typeof console||(p=!0,console.warn(\\\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\\\"))}}()},{}],433:[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\\\":434}],434:[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}},{}],435:[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\\\":433}],436:[function(t,e,r){var n=t(\\\"get-canvas-context\\\");e.exports=function(t){return n(\\\"webgl\\\",t)}},{\\\"get-canvas-context\\\":201}],437:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}o.prototype=new n.baseCalendar,i(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),i=t.month(),a=\\\"\\\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\\\"0\\\"+a),this.isIntercalaryMonth(n,i)&&(a+=\\\"i\\\"),a},monthNames:function(t){if(\\\"string\\\"==typeof t){var e=t.match(c);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\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)&&(i=\\\"\\\\u95f0\\\"+i),i},monthNamesShort:function(t){if(\\\"string\\\"==typeof t){var e=t.match(u);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\u4e00\\\",\\\"\\\\u4e8c\\\",\\\"\\\\u4e09\\\",\\\"\\\\u56db\\\",\\\"\\\\u4e94\\\",\\\"\\\\u516d\\\",\\\"\\\\u4e03\\\",\\\"\\\\u516b\\\",\\\"\\\\u4e5d\\\",\\\"\\\\u5341\\\",\\\"\\\\u5341\\\\u4e00\\\",\\\"\\\\u5341\\\\u4e8c\\\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\\\"\\\\u95f0\\\"+i),i},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 i=e[e.length-1];r=\\\"i\\\"===i||\\\"I\\\"===i}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 i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return i?!r&&e<=i?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),f[t-f[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 i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),\\\"d\\\");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/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=f[t-f[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 i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\\\"object\\\"==typeof t)o=t,a=e||{};else{var l=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\\\"Lunar year outside range 1888-2111\\\");var c=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!c)throw new Error(\\\"Lunar month outside range 1 - 12\\\");var u,p=\\\"number\\\"==typeof r&&r>=1&&r<=30;if(!p)throw new Error(\\\"Lunar day outside range 1 - 30\\\");\\\"object\\\"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],m=g>>13;d=m?o.month>m?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var v=0;v<d;v++){var y=g&1<<12-v?30:29;s+=y}var x=h[o.year-h[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\\\"object\\\"==typeof t)i=t,a=e||{};else{var o=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\\\"Solar year outside range 1888-2111\\\");var s=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\\\"Solar month outside range 1 - 12\\\");var l=\\\"number\\\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\\\"Solar day outside range 1 - 31\\\");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var m,v=f[a.year-f[0]];for(m=0;m<13;m++){var y=v&1<<12-m?30:29;if(p<y)break;p-=y}var x=v>>13;!x||m<x?(a.isIntercalary=!1,a.month=1+m):m===x?(a.isIntercalary=!0,a.month=m):(a.isIntercalary=!1,a.month=m);return a.day=1+p,a}(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],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if(\\\"y\\\"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}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 f=[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],h=[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\\\":451,\\\"object-assign\\\":339}],438:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],439:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\\\"\\\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],440:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],441:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.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)?30: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 i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\\\"embolismic\\\":\\\"common\\\")+\\\" \\\"+[\\\"deficient\\\",\\\"regular\\\",\\\"complete\\\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],442:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t=t<=0?t+1:t,r+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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],443:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.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),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],444:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(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}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[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 i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],445:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar;var o=n.instance(\\\"gregorian\\\");i(a.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 i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],446:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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(),void 0===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),void 0===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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=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+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,\\\"d\\\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===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],2000:[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=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],447:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.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 i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/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),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+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),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{\\\"../main\\\":451,\\\"object-assign\\\":339}],448:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}o.prototype=new n.baseCalendar,i(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 a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.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 i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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\\\":451,\\\"object-assign\\\":339}],449:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}o.prototype=new n.baseCalendar,i(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 a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.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 i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.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\\\":451,\\\"object-assign\\\":339}],450:[function(t,e,r){var n=t(\\\"../main\\\"),i=t(\\\"object-assign\\\");function a(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}a.prototype=new n.baseCalendar,i(a.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,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-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 i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\\\{0\\\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;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\\\":451,\\\"object-assign\\\":339}],451:[function(t,e,r){var n=t(\\\"object-assign\\\");function i(){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 a(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(i.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,i){return(n=(null!=t&&t.year?t.calendar():\\\"string\\\"==typeof n?this.instance(n,i):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=\\\"\\\",i=0;r>0;){var a=r%10;n=(0===a?\\\"\\\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.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 a(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),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\\\"y\\\"===r?e:0),o=t.monthOfYear()+(\\\"m\\\"===r?e:0);i=t.day();\\\"y\\\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\\\"m\\\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];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 i={y:[1,1,\\\"y\\\"],m:[1,this.monthsInYear(-1),\\\"m\\\"],w:[this.daysInWeek(),this.daysInYear(-1),\\\"d\\\"],d:[1,this.daysInYear(-1),\\\"d\\\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[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(),i=\\\"m\\\"===r?e:t.month(),a=\\\"d\\\"===r?e:t.day();return\\\"y\\\"!==r&&\\\"m\\\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}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 i=this.newDate(t,e,r);return this._validateLevel--,i}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 i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-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,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=i-(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),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{\\\"object-assign\\\":339}],452:[function(t,e,r){var n=t(\\\"object-assign\\\"),i=t(\\\"./main\\\");n(i.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\\\"}),i.local=i.regionalOptions[\\\"\\\"],n(i.cdate.prototype,{formatDate:function(t,e){return\\\"string\\\"!=typeof t&&(e=t,t=\\\"\\\"),this._calendar.formatDate(t||\\\"\\\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.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 i.local.invalidFormat||i.regionalOptions[\\\"\\\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=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 i=\\\"\\\"+e;if(p(t,n))for(;i.length<r;)i=\\\"0\\\"+i;return i},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 h?h.call(g,t):h[t.month()-g.minMonth]:\\\"function\\\"==typeof f?f.call(g,t):f[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\\\",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);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 i.local.invalidArguments||i.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 a=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,f=-1,h=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;T+n<t.length&&t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\\\"oyYJ@!\\\".indexOf(t)+1],o=new RegExp(\\\"^-?\\\\\\\\d{1,\\\"+a+\\\"}\\\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.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,a){for(var o=y(t,a)?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(i.local.unknownNameAt||i.regionalOptions[\\\"\\\"].unknownNameAt).replace(/\\\\{0\\\\}/,A)},k=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)},M=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\\\"\\\"].unexpectedLiteralAt).replace(/\\\\{0\\\\}/,A);A++},A=0,T=0;T<t.length;T++)if(v)\\\"'\\\"!==t.charAt(T)||y(\\\"'\\\")?M():v=!1;else switch(t.charAt(T)){case\\\"d\\\":d=x(\\\"d\\\");break;case\\\"D\\\":w(\\\"D\\\",a,o);break;case\\\"o\\\":g=x(\\\"o\\\");break;case\\\"w\\\":x(\\\"w\\\");break;case\\\"m\\\":p=_();break;case\\\"M\\\":p=k();break;case\\\"y\\\":var S=T;m=!y(\\\"y\\\",2),T=S,h=x(\\\"y\\\",2);break;case\\\"Y\\\":h=x(\\\"Y\\\",2);break;case\\\"J\\\":f=x(\\\"J\\\")+.5,\\\".\\\"===e.charAt(A)&&(A++,x(\\\"J\\\"));break;case\\\"@\\\":f=x(\\\"@\\\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\\\"!\\\":f=x(\\\"!\\\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\\\"*\\\":A=e.length;break;case\\\"'\\\":y(\\\"'\\\")?M():v=!0;break;default:M()}if(A<e.length)throw i.local.unexpectedText||i.regionalOptions[\\\"\\\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&m&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\\\"string\\\"==typeof p&&(p=s.call(this,h,p)),g>-1){p=1,d=g;for(var C=this.daysInMonth(h,p);d>C;C=this.daysInMonth(h,p))p++,d-=C}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&\\\"object\\\"!=typeof r&&(i=n,n=r,r=null),\\\"string\\\"!=typeof n&&(i=n,n=\\\"\\\");var a=this;return e=e?e.newDate():null,t=null==t?e:\\\"string\\\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.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:a.today().add(t,\\\"d\\\"):a.newDate(t)}})},{\\\"./main\\\":451,\\\"object-assign\\\":339}],453:[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\\\":116}],454:[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\\\":453}],455:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./common_defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c(\\\"visible\\\",!(l=l||{}).itemIsNotPlainObject),f=c(\\\"clicktoshow\\\");if(!u&&!f)return e;a(t,e,r,c);for(var h=e.showarrow,p=[\\\"x\\\",\\\"y\\\"],d=[-10,-30],g={_fullLayout:r},m=0;m<2;m++){var v=p[m],y=i.coerceRef(t,e,g,v,\\\"\\\",\\\"paper\\\");if(i.coercePosition(e,g,c,y,v,.5),h){var x=\\\"a\\\"+v,b=i.coerceRef(t,e,g,x,\\\"pixel\\\");\\\"pixel\\\"!==b&&b!==y&&(b=e[x]=\\\"pixel\\\");var _=\\\"pixel\\\"===b?d[m]:.4;i.coercePosition(e,g,c,b,x,_)}c(v+\\\"anchor\\\"),c(v+\\\"shift\\\")}if(n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),h&&n.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"]),f){var w=c(\\\"xclick\\\"),k=c(\\\"yclick\\\");e._xclick=void 0===w?e.x:i.cleanPosition(w,g,e.xref),e._yclick=void 0===k?e.y:i.cleanPosition(k,g,e.yref)}return e}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./attributes\\\":457,\\\"./common_defaults\\\":460}],456:[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}]},{}],457:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./arrow_paths\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/cartesian/constants\\\");e.exports={_isLinkedToArray:\\\"annotation\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},text:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},textangle:{valType:\\\"angle\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},font:i({editType:\\\"calcIfAutorange+arraydraw\\\",colorEditType:\\\"arraydraw\\\"}),width:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+arraydraw\\\"},height:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+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:\\\"calcIfAutorange+arraydraw\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},showarrow:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+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:\\\"calcIfAutorange+arraydraw\\\"},startarrowsize:{valType:\\\"number\\\",min:.3,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},arrowwidth:{valType:\\\"number\\\",min:.1,editType:\\\"calcIfAutorange+arraydraw\\\"},standoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},startstandoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},ax:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},ay:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},axref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.x.toString()],editType:\\\"calc\\\"},ayref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",a.idRegex.y.toString()],editType:\\\"calc\\\"},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.x.toString()],editType:\\\"calc\\\"},x:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",a.idRegex.y.toString()],editType:\\\"calc\\\"},y:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+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:i({editType:\\\"arraydraw\\\"}),editType:\\\"arraydraw\\\"},captureevents:{valType:\\\"boolean\\\",editType:\\\"arraydraw\\\"},editType:\\\"calc\\\",_deprecated:{ref:{valType:\\\"string\\\",editType:\\\"calc\\\"}}}},{\\\"../../plots/cartesian/constants\\\":653,\\\"../../plots/font_attributes\\\":674,\\\"./arrow_paths\\\":456}],458:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./draw\\\").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r,n,a,o,s=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&&s.autorange&&(r=c+e.xshift,n=c-e.xshift,a=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(i.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),i.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,a),ppadminus:Math.max(e._xpadminus,o)})):(a=e.ax?a+e.ax:a,o=e.ax?o-e.ax:o,i.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,a),ppadminus:Math.max(e._xpadminus,n,o)}))),l&&l.autorange&&(r=c-e.yshift,n=c+e.yshift,a=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(i.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),i.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,a),ppadminus:Math.max(e._ypadminus,o)})):(a=e.ay?a+e.ay:a,o=e.ay?o-e.ay:o,i.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,a),ppadminus:Math.max(e._ypadminus,n,o)})))})}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};for(var l in r.forEach(function(t){s[t.xref]=1,s[t.yref]=1}),s){var c=i.getFromId(t,l);if(c&&c.autorange)return n.syncOrAsync([a,o],t)}}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./draw\\\":463}],459:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");function i(t,e){var r,n,i,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(o=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(s=e[n]).xaxis,c=s.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(s.x)===a(i._xclick,l)&&c.d2r(s.y)===a(i._yclick,c)){(i.visible?\\\"onout\\\"===o?h:p:f).push(r);break}n===d&&i.visible&&\\\"onout\\\"===o&&h.push(r)}return{on:f,off:h,explicitOff:p}}function a(t,e){return\\\"log\\\"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=i(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,a=i(t,e),o=a.on,s=a.off.concat(a.explicitOff),l={};if(!o.length&&!s.length)return;for(r=0;r<o.length;r++)l[\\\"annotations[\\\"+o[r]+\\\"].visible\\\"]=!0;for(r=0;r<s.length;r++)l[\\\"annotations[\\\"+s[r]+\\\"].visible\\\"]=!1;return n.call(\\\"update\\\",t,{},l)}}},{\\\"../../registry\\\":732}],460:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../color\\\");e.exports=function(t,e,r,a){a(\\\"opacity\\\");var o=a(\\\"bgcolor\\\"),s=a(\\\"bordercolor\\\"),l=i.opacity(s);a(\\\"borderpad\\\");var c=a(\\\"borderwidth\\\"),u=a(\\\"showarrow\\\");if(a(\\\"text\\\",u?\\\" \\\":r._dfltTitle.annotation),a(\\\"textangle\\\"),n.coerceFont(a,\\\"font\\\",r.font),a(\\\"width\\\"),a(\\\"align\\\"),a(\\\"height\\\")&&a(\\\"valign\\\"),u){var f,h,p=a(\\\"arrowside\\\");-1!==p.indexOf(\\\"end\\\")&&(f=a(\\\"arrowhead\\\"),h=a(\\\"arrowsize\\\")),-1!==p.indexOf(\\\"start\\\")&&(a(\\\"startarrowhead\\\",f),a(\\\"startarrowsize\\\",h)),a(\\\"arrowcolor\\\",l?e.bordercolor:i.defaultLine),a(\\\"arrowwidth\\\",2*(l&&c||1)),a(\\\"standoff\\\"),a(\\\"startstandoff\\\")}var d=a(\\\"hovertext\\\"),g=r.hoverlabel||{};if(d){var m=a(\\\"hoverlabel.bgcolor\\\",g.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(\\\"hoverlabel.bordercolor\\\",g.bordercolor||i.contrast(m));n.coerceFont(a,\\\"hoverlabel.font\\\",{family:g.font.family,size:g.font.size,color:g.font.color||v})}a(\\\"captureevents\\\",!!d)}},{\\\"../../lib\\\":602,\\\"../color\\\":474}],461:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){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,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c=\\\"annotations[\\\"+h+\\\"].\\\",l[f+\\\"ref\\\"]===e._id&&p(f),l[\\\"a\\\"+f+\\\"ref\\\"]===e._id&&p(\\\"a\\\"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{\\\"../../lib/to_log_range\\\":628,\\\"fast-isnumeric\\\":196}],462:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./annotation_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"annotations\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":644,\\\"./annotation_defaults\\\":455}],463:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../color\\\"),c=t(\\\"../drawing\\\"),u=t(\\\"../fx\\\"),f=t(\\\"../../lib/svg_text_utils\\\"),h=t(\\\"../../lib/setcursor\\\"),p=t(\\\"../dragelement\\\"),d=t(\\\"./draw_arrow_head\\\");function g(t,e){var r=t._fullLayout.annotations[e]||{};m(t,r,e,!1,s.getFromId(t,r.xref),s.getFromId(t,r.yref))}function m(t,e,r,a,s,g){var m,v,y=t._fullLayout,x=t._fullLayout._size,b=t._context.edits;a?(m=\\\"annotation-\\\"+a,v=a+\\\".annotations[\\\"+r+\\\"]\\\"):(m=\\\"annotation\\\",v=\\\"annotations[\\\"+r+\\\"]\\\"),y._infolayer.selectAll(\\\".\\\"+m+'[data-index=\\\"'+r+'\\\"]').remove();var _=\\\"clip\\\"+y._uid+\\\"_ann\\\"+r;if(e._input&&!1!==e.visible){var w={x:{},y:{}},k=+e.textangle||0,M=y._infolayer.append(\\\"g\\\").classed(m,!0).attr(\\\"data-index\\\",String(r)).style(\\\"opacity\\\",e.opacity),A=M.append(\\\"g\\\").classed(\\\"annotation-text-g\\\",!0),T=b[e.showarrow?\\\"annotationTail\\\":\\\"annotationPosition\\\"],S=e.captureevents||b.annotationText||T,C=A.append(\\\"g\\\").style(\\\"pointer-events\\\",S?\\\"all\\\":null).call(h,\\\"default\\\").on(\\\"click\\\",function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:n.event};a&&(i.subplotId=a),t.emit(\\\"plotly_clickannotation\\\",i)});e.hovertext&&C.on(\\\"mouseover\\\",function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:y._hoverlayer.node(),outerContainer:y._paper.node(),gd:t})}).on(\\\"mouseout\\\",function(){u.loneUnhover(y._hoverlayer.node())});var E=e.borderwidth,L=e.borderpad,z=E+L,P=C.append(\\\"rect\\\").attr(\\\"class\\\",\\\"bg\\\").style(\\\"stroke-width\\\",E+\\\"px\\\").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),D=e.width||e.height,O=y._topclips.selectAll(\\\"#\\\"+_).data(D?[0]:[]);O.enter().append(\\\"clipPath\\\").classed(\\\"annclip\\\",!0).attr(\\\"id\\\",_).append(\\\"rect\\\"),O.exit().remove();var I=e.font,R=C.append(\\\"text\\\").classed(\\\"annotation-text\\\",!0).text(e.text);b.annotationText?R.call(f.makeEditable,{delegate:C,gd:t}).call(B).on(\\\"edit\\\",function(r){e.text=r,this.call(B);var n={};n[v+\\\".text\\\"]=e.text,s&&s.autorange&&(n[s._name+\\\".autorange\\\"]=!0),g&&g.autorange&&(n[g._name+\\\".autorange\\\"]=!0),i.call(\\\"relayout\\\",t,n)}):R.call(B)}else n.selectAll(\\\"#\\\"+_).remove();function B(r){return r.call(c.font,I).attr({\\\"text-anchor\\\":{left:\\\"start\\\",right:\\\"end\\\"}[e.align]||\\\"middle\\\"}),f.convertToTspans(r,t,F),r}function F(){var r=R.selectAll(\\\"a\\\");1===r.size()&&r.text()===R.text()&&C.insert(\\\"a\\\",\\\":first-child\\\").attr({\\\"xlink:xlink:href\\\":r.attr(\\\"xlink:href\\\"),\\\"xlink:xlink:show\\\":r.attr(\\\"xlink:show\\\")}).style({cursor:\\\"pointer\\\"}).node().appendChild(P.node());var n=C.select(\\\".annotation-text-math-group\\\"),u=!n.empty(),m=c.bBox((u?n:R).node()),S=m.width,L=m.height,I=e.width||S,B=e.height||L,F=Math.round(I+2*z),N=Math.round(B+2*z);function j(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]}e._w=I,e._h=B;for(var V=!1,U=[\\\"x\\\",\\\"y\\\"],q=0;q<U.length;q++){var H,G,W,Y,X,Z=U[q],J=e[Z+\\\"ref\\\"]||Z,K=e[\\\"a\\\"+Z+\\\"ref\\\"],Q={x:s,y:g}[Z],$=(k+(\\\"x\\\"===Z?0:-90))*Math.PI/180,tt=F*Math.cos($),et=N*Math.sin($),rt=Math.abs(tt)+Math.abs(et),nt=e[Z+\\\"anchor\\\"],it=e[Z+\\\"shift\\\"]*(\\\"x\\\"===Z?1:-1),at=w[Z];if(Q){var ot=Q.r2fraction(e[Z]);if((t._dragging||!Q.autorange)&&(ot<0||ot>1)&&(K===J?((ot=Q.r2fraction(e[\\\"a\\\"+Z]))<0||ot>1)&&(V=!0):V=!0,V))continue;H=Q._offset+Q.r2p(e[Z]),Y=.5}else\\\"x\\\"===Z?(W=e[Z],H=x.l+x.w*W):(W=1-e[Z],H=x.t+x.h*W),Y=e.showarrow?.5:W;if(e.showarrow){at.head=H;var st=e[\\\"a\\\"+Z];X=tt*j(.5,e.xanchor)-et*j(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=y[\\\"x\\\"===Z?\\\"width\\\":\\\"height\\\"];if(\\\"paper\\\"===J&&(at.head=o.constrain(at.head,1,lt-1)),\\\"pixel\\\"===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct>0?(at.tail+=ct,at.text+=ct):ut>0&&(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*j(Y,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e[\\\"_\\\"+Z+\\\"padplus\\\"]=rt/2+G,e[\\\"_\\\"+Z+\\\"padminus\\\"]=rt/2-G,e[\\\"_\\\"+Z+\\\"size\\\"]=rt,e[\\\"_\\\"+Z+\\\"shift\\\"]=X}if(V)C.remove();else{var ft=0,ht=0;if(\\\"left\\\"!==e.align&&(ft=(I-S)*(\\\"center\\\"===e.align?.5:1)),\\\"top\\\"!==e.valign&&(ht=(B-L)*(\\\"middle\\\"===e.valign?.5:1)),u)n.select(\\\"svg\\\").attr({x:z+ft-1,y:z+ht}).call(c.setClipUrl,D?_:null);else{var pt=z+ht-m.top,dt=z+ft-m.left;R.call(f.positionText,dt,pt).call(c.setClipUrl,D?_:null)}O.select(\\\"rect\\\").call(c.setRect,z,z,I,B),P.call(c.setRect,E/2,E/2,F-E,N-E),C.call(c.setTranslate,Math.round(w.x.text-F/2),Math.round(w.y.text-N/2)),A.attr({transform:\\\"rotate(\\\"+k+\\\",\\\"+w.x.text+\\\",\\\"+w.y.text+\\\")\\\"});var gt,mt,vt=function(r,n){M.selectAll(\\\".annotation-arrow-g\\\").remove();var u=w.x.head,f=w.y.head,h=w.x.tail+r,m=w.y.tail+n,y=w.x.text+r,_=w.y.text+n,T=o.rotationXYMatrix(k,y,_),S=o.apply2DTransform(T),E=o.apply2DTransform2(T),L=+P.attr(\\\"width\\\"),z=+P.attr(\\\"height\\\"),D=y-.5*L,O=D+L,I=_-.5*z,R=I+z,B=[[D,I,D,R],[D,R,O,R],[O,R,O,I],[O,I,D,I]].map(E);if(!B.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){B.forEach(function(t){var e=o.segmentsIntersect(h,m,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,m=e.y)});var F=e.arrowwidth,N=e.arrowcolor,j=e.arrowside,V=M.append(\\\"g\\\").style({opacity:l.opacity(N)}).classed(\\\"annotation-arrow-g\\\",!0),U=V.append(\\\"path\\\").attr(\\\"d\\\",\\\"M\\\"+h+\\\",\\\"+m+\\\"L\\\"+u+\\\",\\\"+f).style(\\\"stroke-width\\\",F+\\\"px\\\").call(l.stroke,l.rgb(N));if(d(U,j,e),b.annotationPosition&&U.node().parentNode&&!a){var q=u,H=f;if(e.standoff){var G=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-m,2));q+=e.standoff*(h-u)/G,H+=e.standoff*(m-f)/G}var W,Y,X,Z=V.append(\\\"path\\\").classed(\\\"annotation-arrow\\\",!0).classed(\\\"anndrag\\\",!0).attr({d:\\\"M3,3H-3V-3H3ZM0,0L\\\"+(h-q)+\\\",\\\"+(m-H),transform:\\\"translate(\\\"+q+\\\",\\\"+H+\\\")\\\"}).style(\\\"stroke-width\\\",F+6+\\\"px\\\").call(l.stroke,\\\"rgba(0,0,0,0)\\\").call(l.fill,\\\"rgba(0,0,0,0)\\\");p.init({element:Z.node(),gd:t,prepFn:function(){var t=c.getTranslate(C);Y=t.x,X=t.y,W={},s&&s.autorange&&(W[s._name+\\\".autorange\\\"]=!0),g&&g.autorange&&(W[g._name+\\\".autorange\\\"]=!0)},moveFn:function(t,r){var n=S(Y,X),i=n[0]+t,a=n[1]+r;C.call(c.setTranslate,i,a),W[v+\\\".x\\\"]=s?s.p2r(s.r2p(e.x)+t):e.x+t/x.w,W[v+\\\".y\\\"]=g?g.p2r(g.r2p(e.y)+r):e.y-r/x.h,e.axref===e.xref&&(W[v+\\\".ax\\\"]=s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&(W[v+\\\".ay\\\"]=g.p2r(g.r2p(e.ay)+r)),V.attr(\\\"transform\\\",\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"),A.attr({transform:\\\"rotate(\\\"+k+\\\",\\\"+i+\\\",\\\"+a+\\\")\\\"})},doneFn:function(){i.call(\\\"relayout\\\",t,W);var e=document.querySelector(\\\".js-notes-box-panel\\\");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&vt(0,0),T)p.init({element:C.node(),gd:t,prepFn:function(){mt=A.attr(\\\"transform\\\"),gt={}},moveFn:function(t,r){var n=\\\"pointer\\\";if(e.showarrow)e.axref===e.xref?gt[v+\\\".ax\\\"]=s.p2r(s.r2p(e.ax)+t):gt[v+\\\".ax\\\"]=e.ax+t,e.ayref===e.yref?gt[v+\\\".ay\\\"]=g.p2r(g.r2p(e.ay)+r):gt[v+\\\".ay\\\"]=e.ay+r,vt(t,r);else{if(a)return;if(s)gt[v+\\\".x\\\"]=s.p2r(s.r2p(e.x)+t);else{var i=e._xsize/x.w,o=e.x+(e._xshift-e.xshift)/x.w-i/2;gt[v+\\\".x\\\"]=p.align(o+t/x.w,i,0,1,e.xanchor)}if(g)gt[v+\\\".y\\\"]=g.p2r(g.r2p(e.y)+r);else{var l=e._ysize/x.h,c=e.y-(e._yshift+e.yshift)/x.h-l/2;gt[v+\\\".y\\\"]=p.align(c-r/x.h,l,0,1,e.yanchor)}s&&g||(n=p.getCursor(s?.5:gt[v+\\\".x\\\"],g?.5:gt[v+\\\".y\\\"],e.xanchor,e.yanchor))}A.attr({transform:\\\"translate(\\\"+t+\\\",\\\"+r+\\\")\\\"+mt}),h(C,n)},doneFn:function(){h(C),i.call(\\\"relayout\\\",t,gt);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&&g(t,r);return a.previousPromises(t)},drawOne:g,drawRaw:m}},{\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"../fx\\\":516,\\\"./draw_arrow_head\\\":464,d3:130}],464:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../color\\\"),a=t(\\\"./arrow_paths\\\");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),f=a[r.arrowhead||0],h=a[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=f.backoff*p+r.standoff,y=h.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 z();if(v){if(v*v>x*x+b*b)return void z();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 z();var k=y*Math.cos(l),M=y*Math.sin(l);o.x-=k,o.y-=M,t.attr({x1:o.x,y1:o.y})}}else if(\\\"path\\\"===u.nodeName){var A=u.getTotalLength(),T=\\\"\\\";if(A<v+y)return void z();var S=u.getPointAtLength(0),C=u.getPointAtLength(.1);l=Math.atan2(S.y-C.y,S.x-C.x),o=u.getPointAtLength(Math.min(y,A)),T=\\\"0px,\\\"+y+\\\"px,\\\";var E=u.getPointAtLength(A),L=u.getPointAtLength(A-.1);c=Math.atan2(E.y-L.y,E.x-L.x),s=u.getPointAtLength(Math.max(0,A-v)),T+=A-(T?y+v:v)+\\\"px,\\\"+A+\\\"px\\\",t.style(\\\"stroke-dasharray\\\",T)}function z(){t.style(\\\"stroke-dasharray\\\",\\\"0px,100px\\\")}function P(e,a,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append(\\\"path\\\").attr({class:t.attr(\\\"class\\\"),d:e.path,transform:\\\"translate(\\\"+a.x+\\\",\\\"+a.y+\\\")\\\"+(o?\\\"rotate(\\\"+180*o/Math.PI+\\\")\\\":\\\"\\\")+\\\"scale(\\\"+s+\\\")\\\"}).style({fill:i.rgb(r.arrowcolor),\\\"stroke-width\\\":0}))}g&&P(h,o,l,d),m&&P(f,s,c,p)}},{\\\"../color\\\":474,\\\"./arrow_paths\\\":456,d3:130}],465:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\"),i=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:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\\\"./convert_coords\\\")}},{\\\"../../plots/cartesian/include_components\\\":658,\\\"./attributes\\\":457,\\\"./calc_autorange\\\":458,\\\"./click\\\":459,\\\"./convert_coords\\\":461,\\\"./defaults\\\":462,\\\"./draw\\\":463}],466:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\"),i=t(\\\"../../plot_api/edit_types\\\").overrideAll;e.exports=i({_isLinkedToArray:\\\"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\\\":633,\\\"../annotations/attributes\\\":457}],467:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\");function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:\\\"linear\\\",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(\\\".annotation-\\\"+t.id).remove()}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],468:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../plots/array_container_defaults\\\"),o=t(\\\"../annotations/common_defaults\\\"),s=t(\\\"./attributes\\\");function l(t,e,r,a,l){function c(r,i){return n.coerce(t,e,s,r,i)}function u(t){var n=t+\\\"axis\\\",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,c,t,t,.5)}return c(\\\"visible\\\",!l.itemIsNotPlainObject)?(o(t,e,a.fullLayout,c),u(\\\"x\\\"),u(\\\"y\\\"),u(\\\"z\\\"),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"]),e.xref=\\\"x\\\",e.yref=\\\"y\\\",e.zref=\\\"z\\\",c(\\\"xanchor\\\"),c(\\\"yanchor\\\"),c(\\\"xshift\\\"),c(\\\"yshift\\\"),e.showarrow&&(e.axref=\\\"pixel\\\",e.ayref=\\\"pixel\\\",c(\\\"ax\\\",-10),c(\\\"ay\\\",-30),n.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"])),e):e}e.exports=function(t,e,r){a(t,e,{name:\\\"annotations\\\",handleItemDefaults:l,fullLayout:r.fullLayout})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"../../plots/cartesian/axes\\\":648,\\\"../annotations/common_defaults\\\":460,\\\"./attributes\\\":466}],469:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/draw\\\").drawRaw,i=t(\\\"../../plots/gl3d/project\\\"),a=[\\\"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 f=a[u],h=l[f],p=e[f+\\\"axis\\\"].r2fraction(h);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(\\\".annotation-\\\"+t.id+'[data-index=\\\"'+s+'\\\"]').remove():(l._pdata=i(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\\\":699,\\\"../annotations/draw\\\":463}],470:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=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 a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(\\\"./convert\\\"),draw:t(\\\"./draw\\\")}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":466,\\\"./convert\\\":467,\\\"./defaults\\\":468,\\\"./draw\\\":469}],471:[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\\\":437,\\\"world-calendars/dist/calendars/coptic\\\":438,\\\"world-calendars/dist/calendars/discworld\\\":439,\\\"world-calendars/dist/calendars/ethiopian\\\":440,\\\"world-calendars/dist/calendars/hebrew\\\":441,\\\"world-calendars/dist/calendars/islamic\\\":442,\\\"world-calendars/dist/calendars/julian\\\":443,\\\"world-calendars/dist/calendars/mayan\\\":444,\\\"world-calendars/dist/calendars/nanakshahi\\\":445,\\\"world-calendars/dist/calendars/nepali\\\":446,\\\"world-calendars/dist/calendars/persian\\\":447,\\\"world-calendars/dist/calendars/taiwan\\\":448,\\\"world-calendars/dist/calendars/thai\\\":449,\\\"world-calendars/dist/calendars/ummalqura\\\":450,\\\"world-calendars/dist/main\\\":451,\\\"world-calendars/dist/plus\\\":452}],472:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./calendars\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:\\\"enumerated\\\",values:Object.keys(n.calendars),editType:\\\"calc\\\",dflt:\\\"gregorian\\\"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u=\\\"##\\\",f={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:u,w:u,c:{0:\\\"D M d %X yyyy\\\",\\\"-\\\":\\\"D M d %X yyyy\\\"},x:{0:\\\"mm/dd/yyyy\\\",\\\"-\\\":\\\"mm/dd/yyyy\\\"}};var h={};function p(t){var e=h[t];return e||(e=h[t]=n.instance(t))}function d(t){return i.extendFlat({},l,{description:t})}function g(t){return\\\"Sets the calendar system to use with `\\\"+t+\\\"` date data.\\\"}var m={xcalendar:d(g(\\\"x\\\"))},v=i.extendFlat({},m,{ycalendar:d(g(\\\"y\\\"))}),y=i.extendFlat({},v,{zcalendar:d(g(\\\"z\\\"))}),x=d([\\\"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:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:m,candlestick:m},layout:{calendar:d([\\\"Sets the default calendar system to use for interpreting and\\\",\\\"displaying dates throughout the plot.\\\"].join(\\\" \\\"))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d([\\\"Sets the calendar system to use for `value`, if it is a date.\\\"].join(\\\" \\\")),targetcalendar:d([\\\"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 i=0;i<r.length;i++)c(t,e,r[i]+\\\"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:p,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,h=Math.floor((e+.05)/s)+o,d=p(r).fromJD(h),g=0;-1!==(g=t.indexOf(\\\"%\\\",g));)\\\"0\\\"===(n=t.charAt(g+1))||\\\"-\\\"===n||\\\"_\\\"===n?(a=3,i=t.charAt(g+2),\\\"_\\\"===n&&(n=\\\"-\\\")):(i=n,n=\\\"0\\\",a=2),(l=f[i])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+a),g+=c.length):g+=a;return t}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"./calendars\\\":471}],473:[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},{}],474:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\"),i=t(\\\"fast-isnumeric\\\"),a=e.exports={},o=t(\\\"./attributes\\\");a.defaults=o.defaults;var s=a.defaultLine=o.defaultLine;a.lightLine=o.lightLine;var l=a.background=o.background;function c(t){if(i(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*/),a=\\\"a\\\"===e.charAt(3)&&4===n.length;if(!a&&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 a?\\\"rgba(\\\"+s+\\\", \\\"+n[3]+\\\")\\\":\\\"rgb(\\\"+s+\\\")\\\"}a.tinyRGB=function(t){var e=t.toRgb();return\\\"rgb(\\\"+Math.round(e.r)+\\\", \\\"+Math.round(e.g)+\\\", \\\"+Math.round(e.b)+\\\")\\\"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return\\\"rgba(\\\"+Math.round(r.r)+\\\", \\\"+Math.round(r.g)+\\\", \\\"+Math.round(r.b)+\\\", \\\"+e+\\\")\\\"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),\\\"stroke-opacity\\\":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),\\\"fill-opacity\\\":r.getAlpha()})},a.clean=function(t){if(t&&\\\"object\\\"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e<o.length;e++)if(i=t[n=o[e]],\\\"color\\\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if(\\\"colorscale\\\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var s=i[0];if(!Array.isArray(s)&&s&&\\\"object\\\"==typeof s)for(r=0;r<i.length;r++)a.clean(i[r])}else i&&\\\"object\\\"==typeof i&&a.clean(i)}}},{\\\"./attributes\\\":473,\\\"fast-isnumeric\\\":196,tinycolor2:415}],475:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/layout_attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=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:a({},n.ticks,{dflt:\\\"\\\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:i({}),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:{valType:\\\"string\\\"},titlefont:i({}),titleside:{valType:\\\"enumerated\\\",values:[\\\"right\\\",\\\"top\\\",\\\"bottom\\\"],dflt:\\\"top\\\"}},\\\"colorbars\\\",\\\"from-root\\\")},{\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/font_attributes\\\":674}],476:[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\\\"}}},{}],477:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/tick_value_defaults\\\"),a=t(\\\"../../plots/cartesian/tick_mark_defaults\\\"),o=t(\\\"../../plots/cartesian/tick_label_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r){var l=e.colorbar={},c=t.colorbar||{};function u(t,e){return n.coerce(c,l,s,t,e)}u(\\\"thickness\\\",\\\"fraction\\\"===u(\\\"thicknessmode\\\")?30/(r.width-r.margin.l-r.margin.r):30),u(\\\"len\\\",\\\"fraction\\\"===u(\\\"lenmode\\\")?1:r.height-r.margin.t-r.margin.b),u(\\\"x\\\"),u(\\\"xanchor\\\"),u(\\\"xpad\\\"),u(\\\"y\\\"),u(\\\"yanchor\\\"),u(\\\"ypad\\\"),n.noneOrAll(c,l,[\\\"x\\\",\\\"y\\\"]),u(\\\"outlinecolor\\\"),u(\\\"outlinewidth\\\"),u(\\\"bordercolor\\\"),u(\\\"borderwidth\\\"),u(\\\"bgcolor\\\"),i(c,l,u,\\\"linear\\\");var f={outerTicks:!1,font:r.font};o(c,l,u,\\\"linear\\\",f),a(c,l,u,\\\"linear\\\",f),u(\\\"title\\\",r._dfltTitle.colorbar),n.coerceFont(u,\\\"titlefont\\\",r.font),u(\\\"titleside\\\")}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/tick_label_defaults\\\":667,\\\"../../plots/cartesian/tick_mark_defaults\\\":668,\\\"../../plots/cartesian/tick_value_defaults\\\":669,\\\"./attributes\\\":475}],478:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../dragelement\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../lib/extend\\\").extendFlat,f=t(\\\"../../lib/setcursor\\\"),h=t(\\\"../drawing\\\"),p=t(\\\"../color\\\"),d=t(\\\"../titles\\\"),g=t(\\\"../../lib/svg_text_utils\\\"),m=t(\\\"../../constants/alignment\\\").LINE_SPACING,v=t(\\\"../../plots/cartesian/axis_defaults\\\"),y=t(\\\"../../plots/cartesian/position_defaults\\\"),x=t(\\\"../../plots/cartesian/layout_attributes\\\"),b=t(\\\"./attributes\\\"),_=t(\\\"./constants\\\").cn;e.exports=function(t,e){var r={};function w(){var b=t._fullLayout,M=b._size;if(\\\"function\\\"==typeof r.fillcolor||\\\"function\\\"==typeof r.line.color){var A,T,S=n.extent((\\\"function\\\"==typeof r.fillcolor?r.fillcolor:r.line.color).domain()),C=[],E=[],L=\\\"function\\\"==typeof r.line.color?r.line.color:function(){return r.line.color},z=\\\"function\\\"==typeof r.fillcolor?r.fillcolor:function(){return r.fillcolor},P=r.levels.end+r.levels.size/100,D=r.levels.size,O=1.001*S[0]-.001*S[1],I=1.001*S[1]-.001*S[0];for(T=0;T<1e5&&(A=r.levels.start+T*D,!(D>0?A>=P:A<=P));T++)A>O&&A<I&&C.push(A);if(\\\"function\\\"==typeof r.fillcolor)if(r.filllevels)for(P=r.filllevels.end+r.filllevels.size/100,D=r.filllevels.size,T=0;T<1e5&&(A=r.filllevels.start+T*D,!(D>0?A>=P:A<=P));T++)A>S[0]&&A<S[1]&&E.push(A);else(E=C.map(function(t){return t-r.levels.size/2})).push(E[E.length-1]+r.levels.size);else r.fillcolor&&\\\"string\\\"==typeof r.fillcolor&&(E=[0]);r.levels.size<0&&(C.reverse(),E.reverse());var R,B=b.height-b.margin.t-b.margin.b,F=b.width-b.margin.l-b.margin.r,N=Math.round(r.thickness*(\\\"fraction\\\"===r.thicknessmode?F:1)),j=N/M.w,V=Math.round(r.len*(\\\"fraction\\\"===r.lenmode?B:1)),U=V/M.h,q=r.xpad/M.w,H=(r.borderwidth+r.outlinewidth)/2,G=r.ypad/M.h,W=Math.round(r.x*M.w+r.xpad),Y=r.x-j*({middle:.5,right:1}[r.xanchor]||0),X=r.y+U*(({top:-.5,bottom:.5}[r.yanchor]||0)-.5),Z=Math.round(M.h*(1-X)),J=Z-V,K={type:\\\"linear\\\",range:S,tickmode:r.tickmode,nticks:r.nticks,tick0:r.tick0,dtick:r.dtick,tickvals:r.tickvals,ticktext:r.ticktext,ticks:r.ticks,ticklen:r.ticklen,tickwidth:r.tickwidth,tickcolor:r.tickcolor,showticklabels:r.showticklabels,tickfont:r.tickfont,tickangle:r.tickangle,tickformat:r.tickformat,exponentformat:r.exponentformat,separatethousands:r.separatethousands,showexponent:r.showexponent,showtickprefix:r.showtickprefix,tickprefix:r.tickprefix,showticksuffix:r.showticksuffix,ticksuffix:r.ticksuffix,title:r.title,titlefont:r.titlefont,showline:!0,anchor:\\\"free\\\",position:1},Q={type:\\\"linear\\\",_id:\\\"y\\\"+e},$={letter:\\\"y\\\",font:b.font,noHover:!0,calendar:b.calendar};if(v(K,Q,dt,$,b),y(K,Q,dt,$),Q.position=r.x+q+j,w.axis=Q,-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)&&(Q.titleside=r.titleside,Q.titlex=r.x+q,Q.titley=X+(\\\"top\\\"===r.titleside?U-G:G)),r.line.color&&\\\"auto\\\"===r.tickmode){Q.tickmode=\\\"linear\\\",Q.tick0=r.levels.start;var tt=r.levels.size,et=c.constrain((Z-J)/50,4,15)+1,rt=(S[1]-S[0])/((r.nticks||et)*tt);if(rt>1){var nt=Math.pow(10,Math.floor(Math.log(rt)/Math.LN10));tt*=nt*c.roundUp(rt/nt,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(Q.tick0=0)}Q.dtick=tt}Q.domain=[X+G,X+U-G],Q.setScale();var it=c.ensureSingle(b._infolayer,\\\"g\\\",e,function(t){t.classed(_.colorbar,!0).each(function(){var t=n.select(this);t.append(\\\"rect\\\").classed(_.cbbg,!0),t.append(\\\"g\\\").classed(_.cbfills,!0),t.append(\\\"g\\\").classed(_.cblines,!0),t.append(\\\"g\\\").classed(_.cbaxis,!0).classed(_.crisp,!0),t.append(\\\"g\\\").classed(_.cbtitleunshift,!0).append(\\\"g\\\").classed(_.cbtitle,!0),t.append(\\\"rect\\\").classed(_.cboutline,!0),t.select(\\\".cbtitle\\\").datum(0)})});it.attr(\\\"transform\\\",\\\"translate(\\\"+Math.round(M.l)+\\\",\\\"+Math.round(M.t)+\\\")\\\");var at=it.select(\\\".cbtitleunshift\\\").attr(\\\"transform\\\",\\\"translate(-\\\"+Math.round(M.l)+\\\",-\\\"+Math.round(M.t)+\\\")\\\");Q._axislayer=it.select(\\\".cbaxis\\\");var ot=0;if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)){var st,lt=M.l+(r.x+q)*M.w,ct=Q.titlefont.size;st=\\\"top\\\"===r.titleside?(1-(X+U-G))*M.h+M.t+3+.75*ct:(1-(X+G))*M.h+M.t-3-.25*ct,gt(Q._id+\\\"title\\\",{attributes:{x:lt,y:st,\\\"text-anchor\\\":\\\"start\\\"}})}var ut,ft,ht,pt=c.syncOrAsync([a.previousPromises,function(){if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)){var e=it.select(\\\".cbtitle\\\"),a=e.select(\\\"text\\\"),o=[-r.outlinewidth/2,r.outlinewidth/2],l=e.select(\\\".h\\\"+Q._id+\\\"title-math-group\\\").node(),u=15.6;if(a.node()&&(u=parseInt(a.node().style.fontSize,10)*m),l?(ot=h.bBox(l).height)>u&&(o[1]-=(ot-u)/2):a.node()&&!a.classed(_.jsPlaceholder)&&(ot=h.bBox(a.node()).height),ot){if(ot+=5,\\\"top\\\"===r.titleside)Q.domain[1]-=ot/M.h,o[1]*=-1;else{Q.domain[0]+=ot/M.h;var f=g.lineCount(a);o[1]+=(1-f)*u}e.attr(\\\"transform\\\",\\\"translate(\\\"+o+\\\")\\\"),Q.setScale()}}it.selectAll(\\\".cbfills,.cblines\\\").attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(M.h*(1-Q.domain[1]))+\\\")\\\"),Q._axislayer.attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(-M.t)+\\\")\\\");var p=it.select(\\\".cbfills\\\").selectAll(\\\"rect.cbfill\\\").data(E);p.enter().append(\\\"rect\\\").classed(_.cbfill,!0).style(\\\"stroke\\\",\\\"none\\\"),p.exit().remove(),p.each(function(t,e){var r=[0===e?S[0]:(E[e]+E[e-1])/2,e===E.length-1?S[1]:(E[e]+E[e+1])/2].map(Q.c2p).map(Math.round);e!==E.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=z(t).replace(\\\"e-\\\",\\\"\\\"),o=i(a).toHexString();n.select(this).attr({x:W,width:Math.max(N,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var d=it.select(\\\".cblines\\\").selectAll(\\\"path.cbline\\\").data(r.line.color&&r.line.width?C:[]);return d.enter().append(\\\"path\\\").classed(_.cbline,!0),d.exit().remove(),d.each(function(t){n.select(this).attr(\\\"d\\\",\\\"M\\\"+W+\\\",\\\"+(Math.round(Q.c2p(t))+r.line.width/2%1)+\\\"h\\\"+N).call(h.lineGroupStyle,r.line.width,L(t),r.line.dash)}),Q._axislayer.selectAll(\\\"g.\\\"+Q._id+\\\"tick,path\\\").remove(),Q._pos=W+N+(r.outlinewidth||0)/2-(\\\"outside\\\"===r.ticks?1:0),Q.side=\\\"right\\\",c.syncOrAsync([function(){return s.doTicks(t,Q,!0)},function(){if(-1===[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)){var e=Q.titlefont.size,i=Q._offset+Q._length/2,a=M.l+(Q.position||0)*M.w+(\\\"right\\\"===Q.side?10+e*(Q.showticklabels?1:.5):-10-e*(Q.showticklabels?.5:0));gt(\\\"h\\\"+Q._id+\\\"title\\\",{avoid:{selection:n.select(t).selectAll(\\\"g.\\\"+Q._id+\\\"tick\\\"),side:r.titleside,offsetLeft:M.l,offsetTop:0,maxShift:b.width},attributes:{x:a,y:i,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:\\\"-90\\\",offset:0}})}}])},a.previousPromises,function(){var n=N+r.outlinewidth/2+h.bBox(Q._axislayer.node()).width;if((R=at.select(\\\"text\\\")).node()&&!R.classed(_.jsPlaceholder)){var i,o=at.select(\\\".h\\\"+Q._id+\\\"title-math-group\\\").node();i=o&&-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(r.titleside)?h.bBox(o).width:h.bBox(at.node()).right-W-M.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=Z-J;it.select(\\\".cbbg\\\").attr({x:W-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:J-H,width:Math.max(s,2),height:Math.max(l+2*H,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({\\\"stroke-width\\\":r.borderwidth}),it.selectAll(\\\".cboutline\\\").attr({x:W,y:J+r.ypad+(\\\"top\\\"===r.titleside?ot:0),width:Math.max(N,2),height:Math.max(l-2*r.ypad-ot,2)}).call(p.stroke,r.outlinecolor).style({fill:\\\"None\\\",\\\"stroke-width\\\":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;it.attr(\\\"transform\\\",\\\"translate(\\\"+(M.l-c)+\\\",\\\"+M.t+\\\")\\\"),a.autoMargin(t,e,{x:r.x,y:r.y,l:s*({right:1,center:.5}[r.xanchor]||0),r:s*({left:1,center:.5}[r.xanchor]||0),t:l*({bottom:1,middle:.5}[r.yanchor]||0),b:l*({top:1,middle:.5}[r.yanchor]||0)})}],t);if(pt&&pt.then&&(t._promises||[]).push(pt),t._context.edits.colorbarPosition)l.init({element:it.node(),gd:t,prepFn:function(){ut=it.attr(\\\"transform\\\"),f(it)},moveFn:function(t,e){it.attr(\\\"transform\\\",ut+\\\" translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),ft=l.align(Y+t/M.w,j,0,1,r.xanchor),ht=l.align(X-e/M.h,U,0,1,r.yanchor);var n=l.getCursor(ft,ht,r.xanchor,r.yanchor);f(it,n)},doneFn:function(){f(it),void 0!==ft&&void 0!==ht&&o.call(\\\"restyle\\\",t,{\\\"colorbar.x\\\":ft,\\\"colorbar.y\\\":ht},k().index)}});return pt}function dt(t,e){return c.coerce(K,Q,x,t,e)}function gt(e,r){var n,i=k();n=o.traceIs(i,\\\"markerColorscale\\\")?\\\"marker.colorbar.title\\\":\\\"colorbar.title\\\";var a={propContainer:Q,propName:n,traceIndex:i.index,placeholder:b._dfltTitle.colorbar,containerGroup:it.select(\\\".cbtitle\\\")},s=\\\"h\\\"===e.charAt(0)?e.substr(1):\\\"h\\\"+e;it.selectAll(\\\".\\\"+s+\\\",.\\\"+s+\\\"-math-group\\\").remove(),d.draw(t,e,u(a,r||{}))}b._infolayer.selectAll(\\\"g.\\\"+e).remove()}function k(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}return Object.keys(b).forEach(function(t){r[t]=null}),r.fillcolor=null,r.line={color:null,width:null,dash:null},r.levels={start:null,end:null,size:null},r.filllevels=null,Object.keys(r).forEach(function(t){w[t]=function(e){return arguments.length?(r[t]=c.isPlainObject(r[t])?c.extendFlat(r[t],e):e,w):r[t]}}),w.options=function(t){return Object.keys(t).forEach(function(e){\\\"function\\\"==typeof w[e]&&w[e](t[e])}),w},w._opts=r,w}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/extend\\\":591,\\\"../../lib/setcursor\\\":622,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/cartesian/axis_defaults\\\":650,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/cartesian/position_defaults\\\":663,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"../titles\\\":567,\\\"./attributes\\\":475,\\\"./constants\\\":476,d3:130,tinycolor2:415}],479:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\\\"../../lib\\\":602}],480:[function(t,e,r){\\\"use strict\\\";e.exports={zauto:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},zmax:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},colorscale:{valType:\\\"colorscale\\\",editType:\\\"calc\\\",impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{colorscale:void 0}},reversescale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},showscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"}}},{}],481:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./scales\\\"),a=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,o){var s=t,l=t._input,c=t._fullInput,u=t.updateStyle;function f(e,n,i){void 0===i&&(i=n),u?u(t._input,r?r+\\\".\\\"+e:e,n):l[e]=n,s[e]=i,c&&t!==t._fullInput&&(u?u(t._fullInput,r?r+\\\".\\\"+e:e,i):c[e]=i)}r&&(s=n.nestedProperty(s,r).get(),l=n.nestedProperty(l,r).get(),c=n.nestedProperty(c,r).get()||{});var h=o+\\\"auto\\\",p=o+\\\"min\\\",d=o+\\\"max\\\",g=s[h],m=s[p],v=s[d],y=s.colorscale;!1===g&&void 0!==m||(m=n.aggNums(Math.min,null,e)),!1===g&&void 0!==v||(v=n.aggNums(Math.max,null,e)),m===v&&(m-=.5,v+=.5),f(p,m),f(d,v),f(h,!1!==g||void 0===m&&void 0===v),s.autocolorscale&&(f(\\\"colorscale\\\",y=m*v<0?i.RdBu:m>=0?i.Reds:i.Blues,s.reversescale?a(y):y),l.autocolorscale||f(\\\"autocolorscale\\\",!1))}},{\\\"../../lib\\\":602,\\\"./flip_scale\\\":486,\\\"./scales\\\":493}],482:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./attributes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;t(\\\"./scales.js\\\");e.exports=function(t,e,r){return{color:{valType:\\\"color\\\",arrayOk:!0,editType:e||\\\"style\\\"},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{\\\"../../lib/extend\\\":591,\\\"./attributes\\\":480,\\\"./scales.js\\\":493}],483:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\");e.exports=n.RdBu},{\\\"./scales\\\":493}],484:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../colorbar/has_colorbar\\\"),o=t(\\\"../colorbar/defaults\\\"),s=t(\\\"./is_valid_scale\\\"),l=t(\\\"./flip_scale\\\");e.exports=function(t,e,r,c,u){var f,h=u.prefix,p=u.cLetter,d=h.slice(0,h.length-1),g=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=g[p+\\\"min\\\"],y=g[p+\\\"max\\\"],x=g.colorscale;c(h+p+\\\"auto\\\",!(n(v)&&n(y)&&v<y)),c(h+p+\\\"min\\\"),c(h+p+\\\"max\\\"),void 0!==x&&(f=!s(x)),c(h+\\\"autocolorscale\\\",f);var b,_=c(h+\\\"colorscale\\\");(c(h+\\\"reversescale\\\")&&(m.colorscale=l(_)),\\\"marker.line.\\\"!==h)&&(h&&(b=a(g)),c(h+\\\"showscale\\\",b)&&o(g,m,r))}},{\\\"../../lib\\\":602,\\\"../colorbar/defaults\\\":477,\\\"../colorbar/has_colorbar\\\":479,\\\"./flip_scale\\\":486,\\\"./is_valid_scale\\\":490,\\\"fast-isnumeric\\\":196}],485:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],486:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],487:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./default_scale\\\"),a=t(\\\"./is_valid_scale_array\\\");e.exports=function(t,e){if(e||(e=i),!t)return e;function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return\\\"string\\\"==typeof t&&(r(),\\\"string\\\"==typeof t&&r()),a(t)?t:e}},{\\\"./default_scale\\\":483,\\\"./is_valid_scale_array\\\":491,\\\"./scales\\\":493}],488:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./is_valid_scale\\\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(i.isArrayOrTypedArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||!0===r.showscale||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\\\"../../lib\\\":602,\\\"./is_valid_scale\\\":490,\\\"fast-isnumeric\\\":196}],489:[function(t,e,r){\\\"use strict\\\";r.scales=t(\\\"./scales\\\"),r.defaultScale=t(\\\"./default_scale\\\"),r.attributes=t(\\\"./attributes\\\"),r.handleDefaults=t(\\\"./defaults\\\"),r.calc=t(\\\"./calc\\\"),r.hasColorscale=t(\\\"./has_colorscale\\\"),r.isValidScale=t(\\\"./is_valid_scale\\\"),r.getScale=t(\\\"./get_scale\\\"),r.flipScale=t(\\\"./flip_scale\\\"),r.extractScale=t(\\\"./extract_scale\\\"),r.makeColorScaleFunc=t(\\\"./make_color_scale_func\\\")},{\\\"./attributes\\\":480,\\\"./calc\\\":481,\\\"./default_scale\\\":483,\\\"./defaults\\\":484,\\\"./extract_scale\\\":485,\\\"./flip_scale\\\":486,\\\"./get_scale\\\":487,\\\"./has_colorscale\\\":488,\\\"./is_valid_scale\\\":490,\\\"./make_color_scale_func\\\":492,\\\"./scales\\\":493}],490:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./scales\\\"),i=t(\\\"./is_valid_scale_array\\\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\\\"./is_valid_scale_array\\\":491,\\\"./scales\\\":493}],491:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\");e.exports=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 i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:415}],492:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"fast-isnumeric\\\"),o=t(\\\"../color\\\");function s(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f<c;f++){var h=i(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var p,d=n.scale.linear().domain(r).range(u).clamp(!0),g=e.noNumericCheck,m=e.returnArray;return(p=g&&m?d:g?function(t){return s(d(t))}:m?function(t){return a(t)?d(t):i(t).isValid()?t:o.defaultLine}:function(t){return a(t)?s(d(t)):i(t).isValid()?t:o.defaultLine}).domain=d.domain,p.range=function(){return l},p}},{\\\"../color\\\":474,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],493:[function(t,e,r){\\\"use strict\\\";e.exports={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)\\\"]]}},{}],494:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\\\"left\\\"===i||\\\"bottom\\\"===i?a:\\\"center\\\"===i||\\\"middle\\\"===i?s:\\\"right\\\"===i||\\\"top\\\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],495:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=[[\\\"sw-resize\\\",\\\"s-resize\\\",\\\"se-resize\\\"],[\\\"w-resize\\\",\\\"move\\\",\\\"e-resize\\\"],[\\\"nw-resize\\\",\\\"n-resize\\\",\\\"ne-resize\\\"]];e.exports=function(t,e,r,a){return t=\\\"left\\\"===r?0:\\\"center\\\"===r?1:\\\"right\\\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\\\"bottom\\\"===a?0:\\\"middle\\\"===a?1:\\\"top\\\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\\\"../../lib\\\":602}],496:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mouse-event-offset\\\"),i=t(\\\"has-hover\\\"),a=t(\\\"has-passive-events\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/cartesian/constants\\\"),c=t(\\\"../../constants/interactions\\\"),u=e.exports={};u.align=t(\\\"./align\\\"),u.getCursor=t(\\\"./cursor\\\");var f=t(\\\"./unhover\\\");function h(){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 p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,m,v,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents=\\\"all\\\",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener(\\\"touchstart\\\",_._ontouchstart),_._ontouchstart=k,_.addEventListener(\\\"touchstart\\\",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function k(a){a.preventDefault(),y._dragged=!1,y._dragging=!0;var o=p(a);e=o[0],r=o[1],m=a.target,g=a,v=2===a.buttons||a.ctrlKey,(n=(new Date).getTime())-y._mouseDownTime<b?x+=1:(x=1,y._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!v?(d=h()).style.cursor=window.getComputedStyle(_).cursor:i||(d=document,f=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(_).cursor),document.addEventListener(\\\"mousemove\\\",M),document.addEventListener(\\\"mouseup\\\",A),document.addEventListener(\\\"touchmove\\\",M),document.addEventListener(\\\"touchend\\\",A)}function M(n){n.preventDefault();var i=p(n),a=t.minDrag||l.MINDRAG,o=w(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(y._dragged=!0,u.unhover(y)),y._dragged&&t.moveFn&&!v&&t.moveFn(s,c)}function A(e){if(document.removeEventListener(\\\"mousemove\\\",M),document.removeEventListener(\\\"mouseup\\\",A),document.removeEventListener(\\\"touchmove\\\",M),document.removeEventListener(\\\"touchend\\\",A),e.preventDefault(),i?s.removeElement(d):f&&(d.documentElement.style.cursor=f,f=null),y._dragging){if(y._dragging=!1,(new Date).getTime()-y._mouseDownTime>b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(x,g),!v){var r;try{r=new MouseEvent(\\\"click\\\",e)}catch(t){var n=p(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)}m.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call(\\\"plot\\\",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../plots/cartesian/constants\\\":653,\\\"../../registry\\\":732,\\\"./align\\\":494,\\\"./cursor\\\":495,\\\"./unhover\\\":497,\\\"has-hover\\\":296,\\\"has-passive-events\\\":297,\\\"mouse-event-offset\\\":321}],497:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/events\\\"),i=t(\\\"../../lib/throttle\\\"),a=t(\\\"../../lib/get_graph_div\\\"),o=t(\\\"../fx/constants\\\"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=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&&i&&t.emit(\\\"plotly_unhover\\\",{event:e,points:i}))}},{\\\"../../lib/events\\\":590,\\\"../../lib/get_graph_div\\\":597,\\\"../../lib/throttle\\\":627,\\\"../fx/constants\\\":511}],498:[function(t,e,r){\\\"use strict\\\";r.dash={valType:\\\"string\\\",values:[\\\"solid\\\",\\\"dot\\\",\\\"dash\\\",\\\"longdash\\\",\\\"dashdot\\\",\\\"longdashdot\\\"],dflt:\\\"solid\\\",editType:\\\"style\\\"}},{}],499:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../color\\\"),l=t(\\\"../colorscale\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../lib/svg_text_utils\\\"),f=t(\\\"../../constants/xmlns_namespaces\\\"),h=t(\\\"../../constants/alignment\\\").LINE_SPACING,p=t(\\\"../../constants/interactions\\\").DESELECTDIM,d=t(\\\"../../traces/scatter/subtypes\\\"),g=t(\\\"../../traces/scatter/make_bubble_size_func\\\"),m=e.exports={};m.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)},m.setPosition=function(t,e,r){t.attr(\\\"x\\\",e).attr(\\\"y\\\",r)},m.setSize=function(t,e,r){t.attr(\\\"width\\\",e).attr(\\\"height\\\",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&(\\\"text\\\"===e.node().nodeName?e.attr(\\\"x\\\",a).attr(\\\"y\\\",o):e.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\",\\\"+o+\\\")\\\"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);m.translatePoint(t,i,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\\\"display\\\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\\\"none\\\")},m.hideOutsideRangePoints=function(t,e,r){if(e._hasClipOnAxisFalse){r=r||\\\".point,.textpoint\\\";var i=e.xaxis,a=e.yaxis;t.each(function(e){var o=e[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(r).each(function(t){m.hideOutsideRangePoint(t,n.select(this),i,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style(\\\"fill\\\",\\\"none\\\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||\\\"\\\";s.stroke(e,n||a.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,i){t.style(\\\"fill\\\",\\\"none\\\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||\\\"\\\";n.select(this).call(s.stroke,r||a.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({\\\"stroke-dasharray\\\":e,\\\"stroke-width\\\":r+\\\"px\\\"})},m.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},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style(\\\"stroke-width\\\",0).each(function(e){var r=n.select(this);try{r.call(s.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var v=t(\\\"./symbol_defs\\\");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(v).forEach(function(t){var e=v[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+\\\"-open\\\"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+\\\"-dot\\\",e.n+300,t+\\\"-open-dot\\\"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var y=m.symbolNames.length,x=\\\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\\\";function b(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?x:\\\"\\\")}m.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=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||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};m.gradient=function(t,e,r,i,o,l){var u=e._fullLayout._defs.select(\\\".gradients\\\").selectAll(\\\"#\\\"+r).data([i+o+l],c.identity);u.exit().remove(),u.enter().append(\\\"radial\\\"===i?\\\"radialGradient\\\":\\\"linearGradient\\\").each(function(){var t=n.select(this);\\\"horizontal\\\"===i?t.attr(_):\\\"vertical\\\"===i&&t.attr(w),t.attr(\\\"id\\\",r);var e=a(o),c=a(l);t.append(\\\"stop\\\").attr({offset:\\\"0%\\\",\\\"stop-color\\\":s.tinyRGB(c),\\\"stop-opacity\\\":c.getAlpha()}),t.append(\\\"stop\\\").attr({offset:\\\"100%\\\",\\\"stop-color\\\":s.tinyRGB(e),\\\"stop-opacity\\\":e.getAlpha()})}),t.style({fill:\\\"url(#\\\"+r+\\\")\\\",\\\"fill-opacity\\\":null})},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,\\\"g\\\",\\\"gradients\\\").selectAll(\\\"linearGradient,radialGradient\\\").remove()},m.pointStyle=function(t,e,r){if(t.size()){var i=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,i,r)})}},m.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style(\\\"opacity\\\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l=\\\"various\\\"===t.ms||\\\"various\\\"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr(\\\"d\\\",b(u,l))}var f,h,p,d=!1;if(t.so?(p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor):(p=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,h=\\\"mlc\\\"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f=\\\"mc\\\"in t?t.mcc=n.markerScale(t.mc):a.color||\\\"rgba(0,0,0,0)\\\",n.selectedColorFn&&(f=n.selectedColorFn(t))),t.om)e.call(s.stroke,f).style({\\\"stroke-width\\\":(p||1)+\\\"px\\\",fill:\\\"none\\\"});else{e.style(\\\"stroke-width\\\",p+\\\"px\\\");var g=a.gradient,v=t.mgt;if(v?d=!0:v=g&&g.type,v&&\\\"none\\\"!==v){var y=t.mgc;y?d=!0:y=g.color;var x=\\\"g\\\"+i._fullLayout._uid+\\\"-\\\"+r.uid;d&&(x+=\\\"-\\\"+t.i),e.call(m.gradient,i,x,v,f,y)}else e.call(s.fill,f);p&&e.call(s.stroke,h)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,\\\"\\\"),e.lineScale=m.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,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.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},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.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},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push(function(t,e){t.style(\\\"opacity\\\",r.selectedOpacityFn(e))}),r.selectedColorFn&&a.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&a.push(function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr(\\\"d\\\",b(m.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&c.isArrayOrTypedArray(i)?l.makeColorScaleFunc(l.extractScale(n,r.cmin,r.cmax)):c.identity};var k={start:1,end:-1,middle:0,bottom:1,top:-1};function M(t,e,r,i){var a=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=i?i/.8+1:0,c=(u.lineCount(t)-1)*h+1,f=k[s]*l,p=.75*r+k[o]*l+(k[o]-1)*c*r/2;t.attr(\\\"text-anchor\\\",s),a.attr(\\\"transform\\\",\\\"translate(\\\"+f+\\\",\\\"+p+\\\")\\\")}function A(t,e){var r=t.ts||e.textfont.size;return i(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=m.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,\\\"tx\\\",\\\"text\\\");if(o){var s=t.tp||e.textposition,l=A(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(m.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(M,s,l,t.mrc)}else a.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=A(t,e);s.fill(i,a),M(i,o,l,t.mrc2||t.mrc)})}};var T=.5;function S(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,T/2),u=Math.pow(s*s+l*l,T/2),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\");var r,n=\\\"M\\\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(S(t[r-1],t[r],t[r+1],e));for(n+=\\\"Q\\\"+i[0][0]+\\\" \\\"+t[1],r=2;r<t.length-1;r++)n+=\\\"C\\\"+i[r-2][1]+\\\" \\\"+i[r-1][0]+\\\" \\\"+t[r];return n+=\\\"Q\\\"+i[t.length-3][1]+\\\" \\\"+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\")+\\\"Z\\\";var r,n=\\\"M\\\"+t[0],i=t.length-1,a=[S(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(S(t[r-1],t[r],t[r+1],e));for(a.push(S(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\\\"C\\\"+a[r-1][1]+\\\" \\\"+a[r][0]+\\\" \\\"+t[r];return n+=\\\"C\\\"+a[i][1]+\\\" \\\"+a[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)}},E=function(t,e){return\\\"L\\\"+n.round(e[0],2)+\\\",\\\"+n.round(e[1],2)};m.steps=function(t){var e=C[t]||E;return function(t){for(var r=\\\"M\\\"+n.round(t[0][0],2)+\\\",\\\"+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select(\\\"body\\\"),\\\"svg\\\",\\\"js-plotly-tester\\\",function(t){t.attr(f.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\\\"})});m.tester=t,m.testref=e},m.savedBBoxes={};var L=0;function z(t){var e=t.getAttribute(\\\"data-unformatted\\\");if(null!==e)return e+t.getAttribute(\\\"data-math\\\")+t.getAttribute(\\\"text-anchor\\\")+t.getAttribute(\\\"style\\\")}m.bBox=function(t,e,r){var i,a,o;if(r||(r=z(t)),r){if(i=m.savedBBoxes[r])return c.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=z(s)){var l=+s.getAttribute(\\\"x\\\")||0,f=+s.getAttribute(\\\"y\\\")||0,h=s.getAttribute(\\\"transform\\\");if(!h){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),f&&(p.top+=f,p.bottom+=f),p}if(r+=\\\"~\\\"+l+\\\"~\\\"+f+\\\"~\\\"+h,i=m.savedBBoxes[r])return c.extendFlat({},i)}}e?a=t:(o=m.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),n.select(a).attr(\\\"transform\\\",null).call(u.positionText,0,0);var d=a.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(a);var v={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 L>=1e4&&(m.savedBBoxes={},L=0),r&&(m.savedBBoxes[r]=v),L++,c.extendFlat({},v)},m.setClipUrl=function(t,e){if(e){if(void 0===m.baseUrl){var r=n.select(\\\"base\\\");r.size()&&r.attr(\\\"href\\\")?m.baseUrl=window.location.href.split(\\\"#\\\")[0]:m.baseUrl=\\\"\\\"}t.attr(\\\"clip-path\\\",\\\"url(\\\"+m.baseUrl+\\\"#\\\"+e+\\\")\\\")}else t.attr(\\\"clip-path\\\",null)},m.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}},m.setTranslate=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||0,r=r||0,a=a.replace(/(\\\\btranslate\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" translate(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},m.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}},m.setScale=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||1,r=r||1,a=a.replace(/(\\\\bscale\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" scale(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},m.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\\\"\\\":\\\" scale(\\\"+e+\\\",\\\"+r+\\\")\\\",a=/\\\\s*sc.*/,t.each(function(){n=(this.getAttribute(\\\"transform\\\")||\\\"\\\").replace(a,\\\"\\\"),n=(n+=i).trim(),this.setAttribute(\\\"transform\\\",n)}),i};var P=/translate\\\\([^)]*\\\\)\\\\s*$/;m.setTextPointsScale=function(t,e,r){t.each(function(){var t,i=n.select(this),a=i.select(\\\"text\\\");if(a.node()){var o=parseFloat(a.attr(\\\"x\\\")||0),s=parseFloat(a.attr(\\\"y\\\")||0),l=(i.attr(\\\"transform\\\")||\\\"\\\").match(P);t=1===e&&1===r?[]:[\\\"translate(\\\"+o+\\\",\\\"+s+\\\")\\\",\\\"scale(\\\"+e+\\\",\\\"+r+\\\")\\\",\\\"translate(\\\"+-o+\\\",\\\"+-s+\\\")\\\"],l&&t.push(l),i.attr(\\\"transform\\\",t.join(\\\" \\\"))}})}},{\\\"../../constants/alignment\\\":574,\\\"../../constants/interactions\\\":578,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../registry\\\":732,\\\"../../traces/scatter/make_bubble_size_func\\\":943,\\\"../../traces/scatter/subtypes\\\":948,\\\"../color\\\":474,\\\"../colorscale\\\":489,\\\"./symbol_defs\\\":500,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],500:[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,i=\\\"l\\\"+e+\\\",-\\\"+e,a=\\\"l-\\\"+e+\\\",-\\\"+e,o=\\\"l-\\\"+e+\\\",\\\"+e;return\\\"M0,\\\"+e+r+i+a+i+a+o+a+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),i=n.round(-t,2),a=n.round(-.309*t,2);return\\\"M\\\"+e+\\\",\\\"+a+\\\"L\\\"+r+\\\",\\\"+n.round(.809*t,2)+\\\"H-\\\"+r+\\\"L-\\\"+e+\\\",\\\"+a+\\\"L0,\\\"+i+\\\"Z\\\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M\\\"+i+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L0,\\\"+e+\\\"L-\\\"+i+\\\",\\\"+r+\\\"V-\\\"+r+\\\"L0,-\\\"+e+\\\"Z\\\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\\\"M-\\\"+r+\\\",\\\"+i+\\\"H\\\"+r+\\\"L\\\"+e+\\\",0L\\\"+r+\\\",-\\\"+i+\\\"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),i=n.round(.951*e,2),a=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\\\"+i+\\\"L\\\"+a+\\\",\\\"+c+\\\"L\\\"+o+\\\",\\\"+u+\\\"L0,\\\"+n.round(.382*e,2)+\\\"L-\\\"+o+\\\",\\\"+u+\\\"L-\\\"+a+\\\",\\\"+c+\\\"L-\\\"+i+\\\",\\\"+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),i=n.round(.76*t,2);return\\\"M-\\\"+i+\\\",0l-\\\"+r+\\\",-\\\"+e+\\\"h\\\"+i+\\\"l\\\"+r+\\\",-\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l\\\"+r+\\\",\\\"+e+\\\"h-\\\"+i+\\\"l-\\\"+r+\\\",\\\"+e+\\\"l-\\\"+r+\\\",-\\\"+e+\\\"h-\\\"+i+\\\"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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",\\\"+r+o+e+\\\",\\\"+r+o+\\\"0,-\\\"+i+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),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M\\\"+e+\\\",-\\\"+r+o+\\\"-\\\"+e+\\\",-\\\"+r+o+\\\"0,\\\"+i+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",-\\\"+e+i+\\\"-\\\"+e+\\\",\\\"+e+i+e+\\\",\\\"+e+i+e+\\\",-\\\"+e+i+\\\"-\\\"+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),i=\\\"A \\\"+r+\\\",\\\"+r+\\\" 0 0 1 \\\";return\\\"M-\\\"+e+\\\",0\\\"+i+\\\"0,\\\"+e+i+e+\\\",0\\\"+i+\\\"0,-\\\"+e+i+\\\"-\\\"+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),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",\\\"+i+\\\"L0,0M\\\"+e+\\\",\\\"+i+\\\"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),i=n.round(.8*t,2);return\\\"M-\\\"+e+\\\",-\\\"+i+\\\"L0,0M\\\"+e+\\\",-\\\"+i+\\\"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),i=n.round(.8*t,2);return\\\"M\\\"+i+\\\",\\\"+e+\\\"L0,0M\\\"+i+\\\",-\\\"+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),i=n.round(.8*t,2);return\\\"M-\\\"+i+\\\",\\\"+e+\\\"L0,0M-\\\"+i+\\\",-\\\"+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:130}],501:[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\\\"}}}},{}],502:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"./compute_error\\\");function s(t,e,r,i){var s=e[\\\"error_\\\"+i]||{},l=[];if(s.visible&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(r.type)){for(var c=o(s),u=0;u<t.length;u++){var f=t[u],h=f[i];if(n(r.c2l(h))){var p=c(h,u);if(n(p[0])&&n(p[1])){var d=f[i+\\\"s\\\"]=h-p[0],g=f[i+\\\"h\\\"]=h+p[1];l.push(d,g)}}}a.expand(r,l,{padded:!0})}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(i.traceIs(o,\\\"errorBarsOK\\\")){var l=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);s(n,o,l,\\\"x\\\"),s(n,o,c,\\\"y\\\")}}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./compute_error\\\":503,\\\"fast-isnumeric\\\":196}],503:[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 i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[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)]}}},{}],504:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){var l=\\\"error_\\\"+s.axis,c=e[l]={},u=t[l]||{};function f(t,e){return a.coerce(u,c,o,t,e)}if(!1!==f(\\\"visible\\\",void 0!==u.array||void 0!==u.value||\\\"sqrt\\\"===u.type)){var h=f(\\\"type\\\",\\\"array\\\"in u?\\\"data\\\":\\\"percent\\\"),p=!0;\\\"sqrt\\\"!==h&&(p=f(\\\"symmetric\\\",!((\\\"data\\\"===h?\\\"arrayminus\\\":\\\"valueminus\\\")in u))),\\\"data\\\"===h?(f(\\\"array\\\"),f(\\\"traceref\\\"),p||(f(\\\"arrayminus\\\"),f(\\\"tracerefminus\\\"))):\\\"percent\\\"!==h&&\\\"constant\\\"!==h||(f(\\\"value\\\"),p||f(\\\"valueminus\\\"));var d=\\\"copy_\\\"+s.inherit+\\\"style\\\";if(s.inherit)(e[\\\"error_\\\"+s.inherit]||{}).visible&&f(d,!(u.color||n(u.thickness)||n(u.width)));s.inherit&&c[d]||(f(\\\"color\\\",r),f(\\\"thickness\\\"),f(\\\"width\\\",i.traceIs(e,\\\"gl3d\\\")?0:4))}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":501,\\\"fast-isnumeric\\\":196}],505:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plot_api/edit_types\\\").overrideAll,a=t(\\\"./attributes\\\"),o=t(\\\"./calc\\\"),s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete s.error_x.copy_zstyle,delete s.error_y.copy_zstyle,delete s.error_y.copy_ystyle;var l={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete l.error_x.copy_ystyle,delete l.error_y.copy_ystyle,delete l.error_z.copy_ystyle,delete l.error_z.copy_zstyle,e.exports={moduleType:\\\"component\\\",name:\\\"errorbars\\\",schema:{traces:{scatter:s,bar:s,histogram:s,scatter3d:i(l,\\\"calc\\\",\\\"nested\\\"),scattergl:i(s,\\\"calc\\\",\\\"nested\\\")}},supplyDefaults:t(\\\"./defaults\\\"),calc:o,calcFromTrace:function(t,e){for(var r=t.x||[],n=t.y||[],i=r.length||n.length,a=new Array(i),s=0;s<i;s++)a[s]={x:r[s],y:n[s]};return a[0].trace=t,o({calcdata:[a],_fullLayout:e}),a},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\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"./attributes\\\":501,\\\"./calc\\\":502,\\\"./defaults\\\":504,\\\"./plot\\\":506,\\\"./style\\\":507}],506:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../drawing\\\"),o=t(\\\"../../traces/scatter/subtypes\\\");e.exports=function(t,e,r){var s=e.xaxis,l=e.yaxis,c=r&&r.duration>0;t.each(function(t){var u,f=t[0].trace,h=f.error_x||{},p=f.error_y||{};f.ids&&(u=function(t){return t.id});var d=o.hasMarkers(f)&&f.marker.maxdisplayed>0;p.visible||h.visible||(t=[]);var g=n.select(this).selectAll(\\\"g.errorbar\\\").data(t,u);if(g.exit().remove(),t.length){h.visible||g.selectAll(\\\"path.xerror\\\").remove(),p.visible||g.selectAll(\\\"path.yerror\\\").remove(),g.style(\\\"opacity\\\",1);var m=g.enter().append(\\\"g\\\").classed(\\\"errorbar\\\",!0);c&&m.style(\\\"opacity\\\",0).transition().duration(r.duration).style(\\\"opacity\\\",1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=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),i(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),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,l);if(!d||t.vis){var o,u=e.select(\\\"path.yerror\\\");if(p.visible&&i(a.x)&&i(a.yh)&&i(a.ys)){var f=p.width;o=\\\"M\\\"+(a.x-f)+\\\",\\\"+a.yh+\\\"h\\\"+2*f+\\\"m-\\\"+f+\\\",0V\\\"+a.ys,a.noYS||(o+=\\\"m-\\\"+f+\\\",0h\\\"+2*f),!u.size()?u=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"yerror\\\",!0):c&&(u=u.transition().duration(r.duration).ease(r.easing)),u.attr(\\\"d\\\",o)}else u.remove();var g=e.select(\\\"path.xerror\\\");if(h.visible&&i(a.y)&&i(a.xh)&&i(a.xs)){var m=(h.copy_ystyle?p:h).width;o=\\\"M\\\"+a.xh+\\\",\\\"+(a.y-m)+\\\"v\\\"+2*m+\\\"m0,-\\\"+m+\\\"H\\\"+a.xs,a.noXS||(o+=\\\"m0,-\\\"+m+\\\"v\\\"+2*m),!g.size()?g=e.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"xerror\\\",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr(\\\"d\\\",o)}else g.remove()}})}})}},{\\\"../../traces/scatter/subtypes\\\":948,\\\"../drawing\\\":499,d3:130,\\\"fast-isnumeric\\\":196}],507:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../color\\\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\\\"path.yerror\\\").style(\\\"stroke-width\\\",r.thickness+\\\"px\\\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\\\"path.xerror\\\").style(\\\"stroke-width\\\",a.thickness+\\\"px\\\").call(i.stroke,a.color)})}},{\\\"../color\\\":474,d3:130}],508:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\");e.exports={hoverlabel:{bgcolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},bordercolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},font:n({arrayOk:!0,editType:\\\"none\\\"}),namelength:{valType:\\\"integer\\\",min:-1,arrayOk:!0,editType:\\\"none\\\"},editType:\\\"calc\\\"}}},{\\\"../../plots/font_attributes\\\":674}],509:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(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(!i.traceIs(c,\\\"pie\\\")){var u=i.traceIs(c,\\\"2dMap\\\")?a:n.fillArray;u(c.hoverinfo,l,\\\"hi\\\",o(c)),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\\\"))}}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],510:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./hover\\\").hover;e.exports=function(t,e,r){var a=n.getComponentMethod(\\\"annotations\\\",\\\"onClick\\\")(t,t._hoverdata);function o(){t.emit(\\\"plotly_click\\\",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\\\"../../registry\\\":732,\\\"./hover\\\":514}],511:[function(t,e,r){\\\"use strict\\\";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\\\"Arial, sans-serif\\\",HOVERMINTIME:50,HOVERID:\\\"-hover\\\"}},{}],512:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./hoverlabel_defaults\\\");e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{\\\"../../lib\\\":602,\\\"./attributes\\\":508,\\\"./hoverlabel_defaults\\\":515}],513:[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||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[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,i){return\\\"closest\\\"===t?i||r.quadrature(e,n):\\\"x\\\"===t?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 i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}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),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i=\\\"index\\\"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):(\\\"xVal\\\"in t?a.x=t.xVal:\\\"x\\\"in t&&(a.x=t.x),\\\"yVal\\\"in t?a.y=t.yVal:\\\"y\\\"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(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 i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:\\\"id\\\",locations:\\\"location\\\",labels:\\\"label\\\",values:\\\"value\\\",\\\"marker.colors\\\":\\\"color\\\"};function a(t){return i[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]}},{\\\"../../lib\\\":602}],514:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../lib/events\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../lib/override_cursor\\\"),u=t(\\\"../drawing\\\"),f=t(\\\"../color\\\"),h=t(\\\"../dragelement\\\"),p=t(\\\"../../plots/cartesian/axes\\\"),d=t(\\\"../../registry\\\"),g=t(\\\"./helpers\\\"),m=t(\\\"./constants\\\"),v=m.YANGLE,y=Math.PI*v/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=m.HOVERARROWSIZE,k=m.HOVERTEXTPAD;function M(t,e,r){var i=e.hovermode,a=e.rotateLabels,s=e.bgColor,c=e.container,h=e.outerContainer,p=e.commonLabelOpts||{},d=e.fontFamily||m.HOVERFONT,g=e.fontSize||m.HOVERFONTSIZE,y=t[0],x=y.xa,b=y.ya,_=\\\"y\\\"===i?\\\"yLabel\\\":\\\"xLabel\\\",M=y[_],A=(String(M)||\\\"\\\").split(\\\" \\\")[0],T=h.node().getBoundingClientRect(),S=T.top,C=T.width,E=T.height,L=void 0!==M&&y.distance<=e.hoverdistance&&(\\\"x\\\"===i||\\\"y\\\"===i);if(L){var z,P,D=!0;for(z=0;z<t.length;z++){D&&void 0===t[z].zLabel&&(D=!1),P=t[z].hoverinfo||t[z].trace.hoverinfo;var O=Array.isArray(P)?P:P.split(\\\"+\\\");if(-1===O.indexOf(\\\"all\\\")&&-1===O.indexOf(i)){L=!1;break}}D&&(L=!1)}var I=c.selectAll(\\\"g.axistext\\\").data(L?[0]:[]);I.enter().append(\\\"g\\\").classed(\\\"axistext\\\",!0),I.exit().remove(),I.each(function(){var e=n.select(this),a=o.ensureSingle(e,\\\"path\\\",\\\"\\\",function(t){t.style({\\\"stroke-width\\\":\\\"1px\\\"})}),s=o.ensureSingle(e,\\\"text\\\",\\\"\\\",function(t){t.attr(\\\"data-notex\\\",1)}),c=p.bgcolor||f.defaultLine,h=p.bordercolor||f.contrast(c);a.style({fill:c,stroke:h}),s.text(M).call(u.font,p.font.family||d,p.font.size||g,p.font.color||f.background).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr(\\\"transform\\\",\\\"\\\");var m=s.node().getBoundingClientRect();if(\\\"x\\\"===i){s.attr(\\\"text-anchor\\\",\\\"middle\\\").call(l.positionText,0,\\\"top\\\"===x.side?S-m.bottom-w-k:S-m.top+w+k);var v=\\\"top\\\"===x.side?\\\"-\\\":\\\"\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+w+\\\",\\\"+v+w+\\\"H\\\"+(k+m.width/2)+\\\"v\\\"+v+(2*k+m.height)+\\\"H-\\\"+(k+m.width/2)+\\\"V\\\"+v+w+\\\"H-\\\"+w+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(x._offset+(y.x0+y.x1)/2)+\\\",\\\"+(b._offset+(\\\"top\\\"===x.side?0:b._length))+\\\")\\\")}else{s.attr(\\\"text-anchor\\\",\\\"right\\\"===b.side?\\\"start\\\":\\\"end\\\").call(l.positionText,(\\\"right\\\"===b.side?1:-1)*(k+w),S-m.top-m.height/2);var T=\\\"right\\\"===b.side?\\\"\\\":\\\"-\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+T+w+\\\",\\\"+w+\\\"V\\\"+(k+m.height/2)+\\\"h\\\"+T+(2*k+m.width)+\\\"V-\\\"+(k+m.height/2)+\\\"H\\\"+T+w+\\\"V-\\\"+w+\\\"Z\\\"),e.attr(\\\"transform\\\",\\\"translate(\\\"+(x._offset+(\\\"right\\\"===b.side?x._length:0))+\\\",\\\"+(b._offset+(y.y0+y.y1)/2)+\\\")\\\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[_]||\\\"\\\").split(\\\" \\\")[0]===A})});var R=c.selectAll(\\\"g.hovertext\\\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\\\"\\\"].join(\\\",\\\")});return R.enter().append(\\\"g\\\").classed(\\\"hovertext\\\",!0).each(function(){var t=n.select(this);t.append(\\\"rect\\\").call(f.fill,f.addOpacity(s,.8)),t.append(\\\"text\\\").classed(\\\"name\\\",!0),t.append(\\\"path\\\").style(\\\"stroke-width\\\",\\\"1px\\\"),t.append(\\\"text\\\").classed(\\\"nums\\\",!0).call(u.font,d,g)}),R.exit().remove(),R.each(function(t){var e=n.select(this).attr(\\\"transform\\\",\\\"\\\"),o=\\\"\\\",c=\\\"\\\",h=f.opacity(t.color)?t.color:f.defaultLine,p=f.combine(h,s),m=t.borderColor||f.contrast(p);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){o=l.plainText(t.name||\\\"\\\");var y=Math.round(t.nameLength);y>-1&&o.length>y&&(o=y>3?o.substr(0,y-3)+\\\"...\\\":o.substr(0,y))}void 0!==t.zLabel?(void 0!==t.xLabel&&(c+=\\\"x: \\\"+t.xLabel+\\\"<br>\\\"),void 0!==t.yLabel&&(c+=\\\"y: \\\"+t.yLabel+\\\"<br>\\\"),c+=(c?\\\"z: \\\":\\\"\\\")+t.zLabel):L&&t[i+\\\"Label\\\"]===M?c=t[(\\\"x\\\"===i?\\\"y\\\":\\\"x\\\")+\\\"Label\\\"]||\\\"\\\":void 0===t.xLabel?void 0!==t.yLabel&&(c=t.yLabel):c=void 0===t.yLabel?t.xLabel:\\\"(\\\"+t.xLabel+\\\", \\\"+t.yLabel+\\\")\\\",t.text&&!Array.isArray(t.text)&&(c+=(c?\\\"<br>\\\":\\\"\\\")+t.text),void 0!==t.extraText&&(c+=(c?\\\"<br>\\\":\\\"\\\")+t.extraText),\\\"\\\"===c&&(\\\"\\\"===o&&e.remove(),c=o);var x=e.select(\\\"text.nums\\\").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||m).text(c).attr(\\\"data-notex\\\",1).call(l.positionText,0,0).call(l.convertToTspans,r),b=e.select(\\\"text.name\\\"),_=0;o&&o!==c?(b.call(u.font,t.fontFamily||d,t.fontSize||g,p).text(o).attr(\\\"data-notex\\\",1).call(l.positionText,0,0).call(l.convertToTspans,r),_=b.node().getBoundingClientRect().width+2*k):(b.remove(),e.select(\\\"rect\\\").remove()),e.select(\\\"path\\\").style({fill:p,stroke:m});var A,T,z=x.node().getBoundingClientRect(),P=t.xa._offset+(t.x0+t.x1)/2,D=t.ya._offset+(t.y0+t.y1)/2,O=Math.abs(t.x1-t.x0),I=Math.abs(t.y1-t.y0),R=z.width+w+k+_;t.ty0=S-z.top,t.bx=z.width+2*k,t.by=z.height+2*k,t.anchor=\\\"start\\\",t.txwidth=z.width,t.tx2width=_,t.offset=0,a?(t.pos=P,A=D+I/2+R<=E,T=D-I/2-R>=0,\\\"top\\\"!==t.idealAlign&&A||!T?A?(D+=I/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(D-=I/2,t.anchor=\\\"end\\\")):(t.pos=D,A=P+O/2+R<=C,T=P-O/2-R>=0,\\\"left\\\"!==t.idealAlign&&A||!T?A?(P+=O/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(P-=O/2,t.anchor=\\\"end\\\")),x.attr(\\\"text-anchor\\\",t.anchor),_&&b.attr(\\\"text-anchor\\\",t.anchor),e.attr(\\\"transform\\\",\\\"translate(\\\"+P+\\\",\\\"+D+\\\")\\\"+(a?\\\"rotate(\\\"+v+\\\")\\\":\\\"\\\"))}),R}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i=\\\"end\\\"===t.anchor?-1:1,a=r.select(\\\"text.nums\\\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;\\\"middle\\\"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select(\\\"path\\\").attr(\\\"d\\\",\\\"middle\\\"===t.anchor?\\\"M-\\\"+(t.bx/2+t.tx2width/2)+\\\",\\\"+(h-t.by/2)+\\\"h\\\"+t.bx+\\\"v\\\"+t.by+\\\"h-\\\"+t.bx+\\\"Z\\\":\\\"M0,0L\\\"+(i*w+f)+\\\",\\\"+(w+h)+\\\"v\\\"+(t.by/2-w)+\\\"h\\\"+i*t.bx+\\\"v-\\\"+t.by+\\\"H\\\"+(i*w+f)+\\\"V\\\"+(h-w)+\\\"Z\\\"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select(\\\"text.name\\\").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select(\\\"rect\\\").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function T(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,\\\"\\\",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l(\\\"hoverinfo\\\",\\\"hi\\\",\\\"hoverinfo\\\"),l(\\\"color\\\",\\\"hbg\\\",\\\"hoverlabel.bgcolor\\\"),l(\\\"borderColor\\\",\\\"hbc\\\",\\\"hoverlabel.bordercolor\\\"),l(\\\"fontFamily\\\",\\\"htf\\\",\\\"hoverlabel.font.family\\\"),l(\\\"fontSize\\\",\\\"hts\\\",\\\"hoverlabel.font.size\\\"),l(\\\"fontColor\\\",\\\"htc\\\",\\\"hoverlabel.font.color\\\"),l(\\\"nameLength\\\",\\\"hnl\\\",\\\"hoverlabel.namelength\\\"),t.posref=\\\"y\\\"===e?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 c=p.tickText(t.xa,t.xa.c2l(t.xerr),\\\"hover\\\").text;void 0!==t.xerrneg?t.xLabel+=\\\" +\\\"+c+\\\" / -\\\"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),\\\"hover\\\").text:t.xLabel+=\\\" \\\\xb1 \\\"+c,\\\"x\\\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\\\"log\\\"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),\\\"hover\\\").text;void 0!==t.yerrneg?t.yLabel+=\\\" +\\\"+u+\\\" / -\\\"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),\\\"hover\\\").text:t.yLabel+=\\\" \\\\xb1 \\\"+u,\\\"y\\\"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return\\\"all\\\"!==f&&(-1===(f=Array.isArray(f)?f:f.split(\\\"+\\\")).indexOf(\\\"x\\\")&&(t.xLabel=void 0),-1===f.indexOf(\\\"y\\\")&&(t.yLabel=void 0),-1===f.indexOf(\\\"z\\\")&&(t.zLabel=void 0),-1===f.indexOf(\\\"text\\\")&&(t.text=void 0),-1===f.indexOf(\\\"name\\\")&&(t.name=void 0)),t}function S(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(\\\".spikeline\\\").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,\\\"cursor\\\"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var m,v,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/2<p?w.right:w.left;-1===x.indexOf(\\\"toaxis\\\")&&-1===x.indexOf(\\\"across\\\")||(-1!==x.indexOf(\\\"toaxis\\\")&&(m=k,v=p),-1!==x.indexOf(\\\"across\\\")&&(m=n._counterSpan[0],v=n._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:m,x2:v,y1:d,y2:d,\\\"stroke-width\\\":b,stroke:_,\\\"stroke-dasharray\\\":u.dashStyle(n.spikedash,b)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:m,x2:v,y1:d,y2:d,\\\"stroke-width\\\":b+2,stroke:h}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==x.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:k+(\\\"right\\\"!==n.side?b:-b),cy:d,r:b,fill:_}).classed(\\\"spikeline\\\",!0)}if(c){var M,A,T=t.vLinePoint;r=T&&T.xa,n=T&&T.ya,\\\"cursor\\\"===r.spikesnap?(M=s.pointerX,A=s.pointerY):(M=r._offset+T.x,A=n._offset+T.y);var S,C,E=a.readability(T.color,h)<1.5?f.contrast(h):T.color,L=r.spikemode,z=r.spikethickness,P=r.spikecolor||E,D=r._boundingBox,O=(D.top+D.bottom)/2<A?D.bottom:D.top;-1===L.indexOf(\\\"toaxis\\\")&&-1===L.indexOf(\\\"across\\\")||(-1!==L.indexOf(\\\"toaxis\\\")&&(S=O,C=A),-1!==L.indexOf(\\\"across\\\")&&(S=r._counterSpan[0],C=r._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:M,x2:M,y1:S,y2:C,\\\"stroke-width\\\":z,stroke:P,\\\"stroke-dasharray\\\":u.dashStyle(r.spikedash,z)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:M,x2:M,y1:S,y2:C,\\\"stroke-width\\\":z+2,stroke:h}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==L.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:M,cy:O-(\\\"top\\\"!==r.side?z:-z),r:z,fill:P}).classed(\\\"spikeline\\\",!0)}}}function C(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}r.hover=function(t,e,r,a){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+m.HOVERID,m.HOVERMINTIME,function(){!function(t,e,r,a){r||(r=\\\"xy\\\");var l=Array.isArray(r)?r:[r],u=t._fullLayout,m=u._plots||[],v=m[r],y=u._has(\\\"cartesian\\\");if(v){var b=v.overlays.map(function(t){return t.id});l=l.concat(b)}for(var _=l.length,w=new Array(_),k=new Array(_),E=!1,L=0;L<_;L++){var z=l[L],P=m[z];if(P)E=!0,w[L]=p.getFromId(t,P.xaxis._id),k[L]=p.getFromId(t,P.yaxis._id);else{var D=u[z]._subplot;w[L]=D.xaxis,k[L]=D.yaxis}}var O=e.hovermode||u.hovermode;O&&!E&&(O=\\\"closest\\\");if(-1===[\\\"x\\\",\\\"y\\\",\\\"closest\\\"].indexOf(O)||!t.calcdata||t.querySelector(\\\".zoombox\\\")||t._dragging)return h.unhoverRaw(t,e);var I,R,B,F,N,j,V,U,q,H,G,W,Y,X=-1===u.hoverdistance?1/0:u.hoverdistance,Z=-1===u.spikedistance?1/0:u.spikedistance,J=[],K=[],Q={hLinePoint:null,vLinePoint:null};if(Array.isArray(e))for(O=\\\"array\\\",B=0;B<e.length;B++)\\\"skip\\\"!==(N=t.calcdata[e[B].curveNumber||0])[0].trace.hoverinfo&&K.push(N);else{for(F=0;F<t.calcdata.length;F++)N=t.calcdata[F],\\\"skip\\\"!==(j=N[0].trace).hoverinfo&&g.isTraceInSubplots(j,l)&&K.push(N);var $,tt,et=!e.target;if(et)$=\\\"xpx\\\"in e?e.xpx:w[0]._length/2,tt=\\\"ypx\\\"in e?e.ypx:k[0]._length/2;else{if(!1===s.triggerHandler(t,\\\"plotly_beforehover\\\",e))return;var rt=e.target.getBoundingClientRect();if($=e.clientX-rt.left,tt=e.clientY-rt.top,$<0||$>w[0]._length||tt<0||tt>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=$+w[0]._offset,e.pointerY=tt+k[0]._offset,I=\\\"xval\\\"in e?g.flat(l,e.xval):g.p2c(w,$),R=\\\"yval\\\"in e?g.flat(l,e.yval):g.p2c(k,tt),!i(I[0])||!i(R[0]))return o.warn(\\\"Fx.hover failed\\\",e,t),h.unhoverRaw(t,e)}var nt=1/0;for(F=0;F<K.length;F++)if((N=K[F])&&N[0]&&N[0].trace&&!0===N[0].trace.visible&&(j=N[0].trace,-1===[\\\"carpet\\\",\\\"contourcarpet\\\"].indexOf(j._module.name))){if(\\\"splom\\\"===j.type?V=l[U=0]:(V=g.getSubplot(j),U=l.indexOf(V)),q=O,W={cd:N,trace:j,xa:w[U],ya:k[U],maxHoverDistance:X,maxSpikeDistance:Z,index:!1,distance:Math.min(nt,X),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:f.defaultLine,name:j.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[V]&&(W.subplot=u[V]._subplot),Y=J.length,\\\"array\\\"===q){var it=e[F];\\\"pointNumber\\\"in it?(W.index=it.pointNumber,q=\\\"closest\\\"):(q=\\\"\\\",\\\"xval\\\"in it&&(H=it.xval,q=\\\"x\\\"),\\\"yval\\\"in it&&(G=it.yval,q=q?\\\"closest\\\":\\\"y\\\"))}else H=I[U],G=R[U];if(0!==X)if(j._module&&j._module.hoverPoints){var at=j._module.hoverPoints(W,H,G,q,u._hoverlayer);if(at)for(var ot,st=0;st<at.length;st++)ot=at[st],i(ot.x0)&&i(ot.y0)&&J.push(T(ot,O))}else o.log(\\\"Unrecognized trace type in hover:\\\",j);if(\\\"closest\\\"===O&&J.length>Y&&(J.splice(0,Y),nt=J[0].distance),y&&0!==Z&&0===J.length){W.distance=Z,W.index=!1;var lt=j._module.hoverPoints(W,H,G,\\\"closest\\\",u._hoverlayer);if(lt&&(lt=lt.filter(function(t){return t.spikeDistance<=Z})),lt&&lt.length){var ct,ut=lt.filter(function(t){return t.xa.showspikes});if(ut.length){var ft=ut[0];i(ft.x0)&&i(ft.y0)&&(ct=gt(ft),(!Q.vLinePoint||Q.vLinePoint.spikeDistance>ct.spikeDistance)&&(Q.vLinePoint=ct))}var ht=lt.filter(function(t){return t.ya.showspikes});if(ht.length){var pt=ht[0];i(pt.x0)&&i(pt.y0)&&(ct=gt(pt),(!Q.hLinePoint||Q.hLinePoint.spikeDistance>ct.spikeDistance)&&(Q.hLinePoint=ct))}}}}function dt(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function gt(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}var mt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},vt=t._spikepoints,yt={vLinePoint:Q.vLinePoint,hLinePoint:Q.hLinePoint};if(t._spikepoints=yt,y&&0!==Z&&0!==J.length){var xt=J.filter(function(t){return t.ya.showspikes}),bt=dt(xt,Z);Q.hLinePoint=gt(bt);var _t=J.filter(function(t){return t.xa.showspikes}),wt=dt(_t,Z);Q.vLinePoint=gt(wt)}if(0===J.length){var kt=h.unhoverRaw(t,e);return!y||null===Q.hLinePoint&&null===Q.vLinePoint||C(vt)&&S(Q,mt),kt}y&&C(vt)&&S(Q,mt);J.sort(function(t,e){return t.distance-e.distance});var Mt=t._hoverdata,At=[];for(B=0;B<J.length;B++){var Tt=J[B];At.push(g.makeEventData(Tt,Tt.trace,Tt.cd))}t._hoverdata=At;var St=\\\"y\\\"===O&&K.length>1,Ct=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Et={hovermode:O,rotateLabels:St,bgColor:Ct,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Lt=M(J,Et,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\\\"x\\\"===i._id.charAt(0)?x:1)/2,pmin:0,pmax:\\\"x\\\"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function h(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;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--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o<f.length-1;){var p=f[o],d=f[o+1],g=p[p.length-1],m=d[0];if((i=g.pos+g.dp+g.size-m.pos-m.dp+m.size)>.01&&g.pmin===m.pmin&&g.pmax===m.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),f.splice(o+1,1),c=0,s=p.length-1;s>=0;s--)c+=p[s].dp;for(a=c/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}f.forEach(h)}for(o=f.length-1;o>=0;o--){var v=f[o];for(s=v.length-1;s>=0;s--){var y=v[s],b=t[y.i];b.offset=y.dp,b.del=y.del}}}(J,St?\\\"xa\\\":\\\"ya\\\",u),A(Lt,St),e.target&&e.target.tagName){var zt=d.getComponentMethod(\\\"annotations\\\",\\\"hasClickToShow\\\")(t,At);c(n.select(e.target),zt?\\\"pointer\\\":\\\"\\\")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,Mt))return;Mt&&t.emit(\\\"plotly_unhover\\\",{event:e,points:Mt});t.emit(\\\"plotly_hover\\\",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:I,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.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,trace:{index:0,hoverinfo:\\\"\\\"},xa:{_offset:0},ya:{_offset:0},index:0},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:\\\"closest\\\",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return A(s,o.rotateLabels),s.node()}},{\\\"../../lib\\\":602,\\\"../../lib/events\\\":590,\\\"../../lib/override_cursor\\\":613,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"./constants\\\":511,\\\"./helpers\\\":513,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],515:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){r(\\\"hoverlabel.bgcolor\\\",(i=i||{}).bgcolor),r(\\\"hoverlabel.bordercolor\\\",i.bordercolor),r(\\\"hoverlabel.namelength\\\",i.namelength),n.coerceFont(r,\\\"hoverlabel.font\\\",i.font)}},{\\\"../../lib\\\":602}],516:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../dragelement\\\"),o=t(\\\"./helpers\\\"),s=t(\\\"./layout_attributes\\\");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 i.castOption(t,e,\\\"hoverlabel.\\\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\\\"hoverinfo\\\",function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(\\\"./hover\\\").hover,unhover:a.unhover,loneHover:t(\\\"./hover\\\").loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\\\"g.hovertext\\\").remove(),e.selectAll(\\\".spikeline\\\").remove()},click:t(\\\"./click\\\")}},{\\\"../../lib\\\":602,\\\"../dragelement\\\":496,\\\"./attributes\\\":508,\\\"./calc\\\":509,\\\"./click\\\":510,\\\"./constants\\\":511,\\\"./defaults\\\":512,\\\"./helpers\\\":513,\\\"./hover\\\":514,\\\"./layout_attributes\\\":517,\\\"./layout_defaults\\\":518,\\\"./layout_global_defaults\\\":519,d3:130}],517:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../plots/font_attributes\\\")({editType:\\\"none\\\"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:\\\"enumerated\\\",values:[\\\"zoom\\\",\\\"pan\\\",\\\"select\\\",\\\"lasso\\\",\\\"orbit\\\",\\\"turntable\\\"],dflt:\\\"zoom\\\",editType:\\\"modebar\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"closest\\\",!1],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:i,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\\\":674,\\\"./constants\\\":511}],518:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}var o;\\\"select\\\"===a(\\\"dragmode\\\")&&a(\\\"selectdirection\\\"),e._has(\\\"cartesian\\\")?(e._isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if(\\\"h\\\"!==n.orientation){e=!1;break}}return e}(r),o=e._isHoriz?\\\"y\\\":\\\"x\\\"):o=\\\"closest\\\",a(\\\"hovermode\\\",o)&&(a(\\\"hoverdistance\\\"),a(\\\"spikedistance\\\"));var s=e._has(\\\"mapbox\\\"),l=e._has(\\\"geo\\\"),c=e._basePlotModules.length;\\\"zoom\\\"===e.dragmode&&((s||l)&&1===c||s&&l&&2===c)&&(e.dragmode=\\\"pan\\\")}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":517}],519:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./hoverlabel_defaults\\\"),a=t(\\\"./layout_attributes\\\");e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{\\\"../../lib\\\":602,\\\"./hoverlabel_defaults\\\":515,\\\"./layout_attributes\\\":517}],520:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../lib/regex\\\").counter,a=t(\\\"../../plots/domain\\\").attributes,o=t(\\\"../../plots/cartesian/constants\\\").idRegex,s={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:[i(\\\"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:a({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 l(t,e,r){var n=e[r+\\\"axes\\\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+\\\"gap\\\",r),s=e(\\\"domain.\\\"+t);e(t+\\\"side\\\",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function u(t,e,r,n,i){var a,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(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:\\\"component\\\",name:\\\"grid\\\",schema:{layout:{grid:s}},layoutAttributes:s,sizeDefaults:function(t,e){var r=t.grid||{},i=l(e,r,\\\"x\\\"),a=l(e,r,\\\"y\\\");if(t.grid||i||a){var o,u,f=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),h=Array.isArray(i),p=Array.isArray(a),d=h&&i!==r.xaxes&&p&&a!==r.yaxes;f?(o=r.subplots.length,u=r.subplots[0].length):(p&&(o=a.length),h&&(u=i.length));var g=e.grid={},m=k(\\\"rows\\\",o),v=k(\\\"columns\\\",u);if(m*v>1){f||h||p||\\\"independent\\\"===k(\\\"pattern\\\")&&(f=!0),g._hasSubplotGrid=f;var y,x,b=\\\"top to bottom\\\"===k(\\\"roworder\\\"),_=f?.2:.1,w=f?.3:.1;d&&(y=\\\"bottom\\\",x=\\\"left\\\"),g._domains={x:c(\\\"x\\\",k,_,y,v),y:c(\\\"y\\\",k,w,x,m,b)}}}function k(t,e){return n.coerce(r,g,s,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,c,f,h=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=h.subplots||[];c=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=c[n]=new Array(m),w=x[n]||[];for(i=0;i<m;i++)if(v?(s=1===b?\\\"xy\\\":\\\"x\\\"+b+\\\"y\\\"+b,b++):s=w[i],_[i]=\\\"\\\",-1!==p.cartesian.indexOf(s)){if(f=s.indexOf(\\\"y\\\"),a=s.slice(0,f),o=s.slice(f),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var k=l(e,h,\\\"x\\\"),M=l(e,h,\\\"y\\\");r.xaxes=u(k,p.xaxis,m,y,\\\"x\\\"),r.yaxes=u(M,p.yaxis,g,y,\\\"y\\\")}var A=r._anchors={},T=\\\"top to bottom\\\"===r.roworder;for(var S in y){var C,E,L,z=S.charAt(0),P=r[z+\\\"side\\\"];if(P.length<8)A[S]=\\\"free\\\";else if(\\\"x\\\"===z){if(\\\"t\\\"===P.charAt(0)===T?(C=0,E=1,L=g):(C=g-1,E=-1,L=-1),d){var D=y[S];for(n=C;n!==L;n+=E)if((s=c[n][D])&&(f=s.indexOf(\\\"y\\\"),s.slice(0,f)===S)){A[S]=s.slice(f);break}}else for(n=C;n!==L;n+=E)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if(\\\"l\\\"===P.charAt(0)?(C=0,E=1,L=m):(C=m-1,E=-1,L=-1),d){var O=y[S];for(n=C;n!==L;n+=E)if((s=c[O][n])&&(f=s.indexOf(\\\"y\\\"),s.slice(f)===S)){A[S]=s.slice(0,f);break}}else for(n=C;n!==L;n+=E)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){A[S]=a;break}}}}}},{\\\"../../lib\\\":602,\\\"../../lib/regex\\\":618,\\\"../../plots/cartesian/constants\\\":653,\\\"../../plots/domain\\\":673}],521:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/constants\\\");e.exports={_isLinkedToArray:\\\"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\\\"}},{\\\"../../plots/cartesian/constants\\\":653}],522:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib/to_log_range\\\");e.exports=function(t,e,r,a){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,f=e._id.charAt(0),h=0;h<u.length;h++)if(c=\\\"images[\\\"+h+\\\"].\\\",(l=u[h])[f+\\\"ref\\\"]===e._id){var p=l[f],d=l[\\\"size\\\"+f],g=null,m=null;if(o){g=i(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),a(c+f,g),a(c+\\\"size\\\"+f,m)}}},{\\\"../../lib/to_log_range\\\":628,\\\"fast-isnumeric\\\":196}],523:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../plots/array_container_defaults\\\"),o=t(\\\"./attributes\\\");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(!a(\\\"visible\\\",!!a(\\\"source\\\")))return e;a(\\\"layer\\\"),a(\\\"xanchor\\\"),a(\\\"yanchor\\\"),a(\\\"sizex\\\"),a(\\\"sizey\\\"),a(\\\"sizing\\\"),a(\\\"opacity\\\");for(var s={_fullLayout:r},l=[\\\"x\\\",\\\"y\\\"],c=0;c<2;c++){var u=l[c],f=i.coerceRef(t,e,s,u,\\\"paper\\\");i.coercePosition(e,s,a,f,u,0)}return e}e.exports=function(t,e){a(t,e,{name:\\\"images\\\",handleItemDefaults:s})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"../../plots/cartesian/axes\\\":648,\\\"./attributes\\\":521}],524:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../drawing\\\"),a=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 f=s.images[r];if(f.visible)if(\\\"below\\\"===f.layer&&\\\"paper\\\"!==f.xref&&\\\"paper\\\"!==f.yref){e=f.xref+f.yref;var h=s._plots[e];if(!h){u.push(f);continue}h.mainplot&&(e=h.mainplot.id),c[e]||(c[e]=[]),c[e].push(f)}else\\\"above\\\"===f.layer?l.push(f):u.push(f)}var p={x:{left:{sizing:\\\"xMin\\\",offset:0},center:{sizing:\\\"xMid\\\",offset:-.5},right:{sizing:\\\"xMax\\\",offset:-1}},y:{top:{sizing:\\\"YMin\\\",offset:0},middle:{sizing:\\\"YMid\\\",offset:-.5},bottom:{sizing:\\\"YMax\\\",offset:-1}}};function d(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\\\"xmlns\\\",o.svg);var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute(\\\"crossOrigin\\\",\\\"anonymous\\\"),n.onerror=i,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\\\",i),n.src=e.source}.bind(this));t._promises.push(i)}}function g(e){var r=n.select(this),o=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,f=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,h=u*p.x[e.xanchor].offset,d=f*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,m=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+h,v=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case\\\"fill\\\":g+=\\\" slice\\\";break;case\\\"stretch\\\":g=\\\"none\\\"}r.attr({x:m,y:v,width:u,height:f,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:\\\"\\\")+(l?l._id:\\\"\\\");r.call(i.setClipUrl,y?\\\"clip\\\"+s._uid+y:null)}var m=s._imageLowerLayer.selectAll(\\\"image\\\").data(u),v=s._imageUpperLayer.selectAll(\\\"image\\\").data(l);m.enter().append(\\\"image\\\"),v.enter().append(\\\"image\\\"),m.exit().remove(),v.exit().remove(),m.each(function(t){d.bind(this)(t),g.bind(this)(t)}),v.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll(\\\"image\\\").data(c[e]||[]);b.enter().append(\\\"image\\\"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../plots/cartesian/axes\\\":648,\\\"../drawing\\\":499,d3:130}],525:[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\\\":658,\\\"./attributes\\\":521,\\\"./convert_coords\\\":522,\\\"./defaults\\\":523,\\\"./draw\\\":524}],526:[function(t,e,r){\\\"use strict\\\";r.isRightAnchor=function(t){return\\\"right\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\\\"center\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\\\"bottom\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\\\"middle\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],527:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\");e.exports={bgcolor:{valType:\\\"color\\\",editType:\\\"legend\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.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\\\"},x:{valType:\\\"number\\\",min:-2,max:3,dflt:1.02,editType:\\\"legend\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\",editType:\\\"legend\\\"},y:{valType:\\\"number\\\",min:-2,max:3,dflt:1,editType:\\\"legend\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"legend\\\"},editType:\\\"legend\\\"}},{\\\"../../plots/font_attributes\\\":674,\\\"../color/attributes\\\":473}],528:[function(t,e,r){\\\"use strict\\\";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\\\"#808BA4\\\",scrollBarMargin:4}},{}],529:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../../plots/layout_attributes\\\"),s=t(\\\"./helpers\\\");e.exports=function(t,e,r){for(var l,c,u,f,h=t.legend||{},p={},d=0,g=\\\"normal\\\",m=0;m<r.length;m++){var v=r[m];s.legendGetsTrace(v)&&(d++,n.traceIs(v,\\\"pie\\\")&&d++),(n.traceIs(v,\\\"bar\\\")&&\\\"stack\\\"===e.barmode||-1!==[\\\"tonextx\\\",\\\"tonexty\\\"].indexOf(v.fill))&&(g=s.isGrouped({traceorder:g})?\\\"grouped+reversed\\\":\\\"reversed\\\"),void 0!==v.legendgroup&&\\\"\\\"!==v.legendgroup&&(g=s.isReversed({traceorder:g})?\\\"reversed+grouped\\\":\\\"grouped\\\")}function y(t,e){return i.coerce(h,p,a,t,e)}if(!1!==i.coerce(t,e,o,\\\"showlegend\\\",d>1)){if(e.legend=p,y(\\\"bgcolor\\\",e.paper_bgcolor),y(\\\"bordercolor\\\"),y(\\\"borderwidth\\\"),i.coerceFont(y,\\\"font\\\",e.font),y(\\\"orientation\\\"),\\\"h\\\"===p.orientation){var x=t.xaxis;x&&x.rangeslider&&x.rangeslider.visible?(l=0,u=\\\"left\\\",c=1.1,f=\\\"bottom\\\"):(l=0,u=\\\"left\\\",c=-.1,f=\\\"top\\\")}y(\\\"traceorder\\\",g),s.isGrouped(e.legend)&&y(\\\"tracegroupgap\\\"),y(\\\"x\\\",l),y(\\\"xanchor\\\",u),y(\\\"y\\\",c),y(\\\"yanchor\\\",f),i.noneOrAll(h,p,[\\\"x\\\",\\\"y\\\"])}}},{\\\"../../lib\\\":602,\\\"../../plots/layout_attributes\\\":701,\\\"../../registry\\\":732,\\\"./attributes\\\":527,\\\"./helpers\\\":533}],530:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib/events\\\"),l=t(\\\"../dragelement\\\"),c=t(\\\"../drawing\\\"),u=t(\\\"../color\\\"),f=t(\\\"../../lib/svg_text_utils\\\"),h=t(\\\"./handle_click\\\"),p=t(\\\"./constants\\\"),d=t(\\\"../../constants/interactions\\\"),g=t(\\\"../../constants/alignment\\\"),m=g.LINE_SPACING,v=g.FROM_TL,y=g.FROM_BR,x=t(\\\"./get_legend_data\\\"),b=t(\\\"./style\\\"),_=t(\\\"./helpers\\\"),w=t(\\\"./anchor_utils\\\"),k=d.DBLCLICKDELAY;function M(t,e,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(o.group=a._group),\\\"pie\\\"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,\\\"plotly_legendclick\\\",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},k);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\\\"plotly_legenddoubleclick\\\",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,\\\"pie\\\"),u=s.index,h=l?n.label:s.name,p=e._context.edits.legendText&&!l,d=i.ensureSingle(t,\\\"text\\\",\\\"legendtext\\\");function g(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\\\"g[class*=math-group]\\\"),o=a.node(),s=e._fullLayout.legend.font.size*m;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(\\\".legendtext\\\"),h=f.lineCount(u),p=u.node();n=s*h,i=p?c.bBox(p).width:0;var d=s*(.3+(1-h)/2);f.positionText(u,40,d)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}d.attr(\\\"text-anchor\\\",\\\"start\\\").classed(\\\"user-select-none\\\",!0).call(c.font,a.legend.font).text(p?T(h,r):h),p?d.call(f.makeEditable,{gd:e,text:h}).call(g).on(\\\"edit\\\",function(t){this.text(T(t,r)).call(g);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,\\\"groupby\\\")){var l=o.getTransformIndices(a,\\\"groupby\\\"),c=l[l.length-1],f=i.keyedContainer(a,\\\"transforms[\\\"+c+\\\"].styles\\\",\\\"target\\\",\\\"value.name\\\");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call(\\\"restyle\\\",e,s,u)}):g(d)}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 S(t,e){var r,a=1,o=i.ensureSingle(t,\\\"rect\\\",\\\"legendtoggle\\\",function(t){t.style(\\\"cursor\\\",\\\"pointer\\\").attr(\\\"pointer-events\\\",\\\"all\\\").call(u.fill,\\\"rgba(0,0,0,0)\\\")});o.on(\\\"mousedown\\\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<k?a+=1:(a=1,e._legendMouseDownTime=r)}),o.on(\\\"mouseup\\\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>k&&(a=Math.max(a-1,1)),M(e,r,t,a,n.event)}})}function C(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;h<p;h++){var d=f[h].map(function(t){return t[0].width}),g=40+Math.max.apply(null,d);a._width+=a.tracegroupgap+g,u.push(a._width)}e.each(function(t,e){c.setTranslate(this,u[e],0)}),e.each(function(){var t=0;n.select(this).selectAll(\\\"g.traces\\\").each(function(e){var r=e[0].height;c.setTranslate(this,0,5+o+t+r/2),t+=r}),a._height=Math.max(a._height,t)}),a._height+=10+2*o,a._width+=2*o}else{var m,v=0,y=0,x=0,b=0,w=0,k=a.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),w+=40+t[0].width+k}),m=i.width-(i.margin.r+i.margin.l)>o+w-k,r.each(function(t){var e=t[0],r=m?40+t[0].width:x;o+b+k+r>i.width-(i.margin.r+i.margin.l)&&(b=0,v+=y,a._height=a._height+y,y=0),c.setTranslate(this,o+b,5+o+e.height/2+v),a._width+=k+r,a._height=Math.max(a._height,e.height),b+=k+r,y=Math.max(e.height,y)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),r.each(function(e){var r=e[0],i=n.select(this).select(\\\".legendtoggle\\\");c.setRect(i,0,-r.height/2,(t._context.edits.legendText?0:a._width)+l,r.height)})}function E(t){var e=t._fullLayout.legend,r=\\\"left\\\";w.isRightAnchor(e)?r=\\\"right\\\":w.isCenterAnchor(e)&&(r=\\\"center\\\");var n=\\\"top\\\";w.isBottomAnchor(e)?n=\\\"bottom\\\":w.isMiddleAnchor(e)&&(n=\\\"middle\\\"),a.autoMargin(t,\\\"legend\\\",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*y[r],b:e._height*y[n],t:e._height*v[n]})}e.exports=function(t){var e=t._fullLayout,r=\\\"legend\\\"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(\\\".legend\\\").remove(),e._topdefs.select(\\\"#\\\"+r).remove(),void a.autoMargin(t,\\\"legend\\\");for(var d=0,g=0;g<f.length;g++)for(var m=0;m<f[g].length;m++){var _=f[g][m][0],k=_.trace,T=o.traceIs(k,\\\"pie\\\")?_.label:k.name;d=Math.max(d,T&&T.length||0)}var L=!1,z=i.ensureSingle(e._infolayer,\\\"g\\\",\\\"legend\\\",function(t){t.attr(\\\"pointer-events\\\",\\\"all\\\"),L=!0}),P=i.ensureSingleById(e._topdefs,\\\"clipPath\\\",r,function(t){t.append(\\\"rect\\\")}),D=i.ensureSingle(z,\\\"rect\\\",\\\"bg\\\",function(t){t.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")});D.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style(\\\"stroke-width\\\",s.borderwidth+\\\"px\\\");var O=i.ensureSingle(z,\\\"g\\\",\\\"scrollbox\\\"),I=i.ensureSingle(z,\\\"rect\\\",\\\"scrollbar\\\",function(t){t.attr({rx:20,ry:3,width:0,height:0}).call(u.fill,\\\"#808BA4\\\")}),R=O.selectAll(\\\"g.groups\\\").data(f);R.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"groups\\\"),R.exit().remove();var B=R.selectAll(\\\"g.traces\\\").data(i.identity);B.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"traces\\\"),B.exit().remove(),B.call(b,t).style(\\\"opacity\\\",function(t){var e=t[0].trace;return o.traceIs(e,\\\"pie\\\")?-1!==h.indexOf(t[0].label)?.5:1:\\\"legendonly\\\"===e.visible?.5:1}).each(function(){n.select(this).call(A,t,d).call(S,t)}),L&&(C(t,R,B),E(t));var F=e.width,N=e.height;C(t,R,B),s._height>N?function(t){var e=t._fullLayout.legend,r=\\\"left\\\";w.isRightAnchor(e)?r=\\\"right\\\":w.isCenterAnchor(e)&&(r=\\\"center\\\");a.autoMargin(t,\\\"legend\\\",{x:e.x,y:.5,l:e._width*v[r],r:e._width*y[r],b:0,t:0})}(t):E(t);var j=e._size,V=j.l+j.w*s.x,U=j.t+j.h*(1-s.y);w.isRightAnchor(s)?V-=s._width:w.isCenterAnchor(s)&&(V-=s._width/2),w.isBottomAnchor(s)?U-=s._height:w.isMiddleAnchor(s)&&(U-=s._height/2);var q=s._width,H=j.w;q>H?(V=j.l,q=H):(V+q>F&&(V=F-q),V<0&&(V=0),q=Math.min(F-V,s._width));var G,W,Y,X,Z=s._height,J=j.h;if(Z>J?(U=j.t,Z=J):(U+Z>N&&(U=N-Z),U<0&&(U=0),Z=Math.min(N-U,s._height)),c.setTranslate(z,V,U),I.on(\\\".drag\\\",null),z.on(\\\"wheel\\\",null),s._height<=Z||t._context.staticPlot)D.attr({width:q-s.borderwidth,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(O,0,0),P.select(\\\"rect\\\").attr({width:q-2*s.borderwidth,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(O,r),c.setRect(I,0,0,0,0),delete s._scrollY;else{var K,Q,$=Math.max(p.scrollBarMinHeight,Z*Z/s._height),tt=Z-$-2*p.scrollBarMargin,et=s._height-Z,rt=tt/et,nt=Math.min(s._scrollY||0,et);D.attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),P.select(\\\"rect\\\").attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+nt}),c.setClipUrl(O,r),at(nt,$,rt),z.on(\\\"wheel\\\",function(){at(nt=i.constrain(s._scrollY+n.event.deltaY/tt*et,0,et),$,rt),0!==nt&&nt!==et&&n.event.preventDefault()});var it=n.behavior.drag().on(\\\"dragstart\\\",function(){K=n.event.sourceEvent.clientY,Q=nt}).on(\\\"drag\\\",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||at(nt=i.constrain((t.clientY-K)/rt+Q,0,et),$,rt)});I.call(it)}if(t._context.edits.legendPosition)z.classed(\\\"cursor-move\\\",!0),l.init({element:z.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);Y=t.x,X=t.y},moveFn:function(t,e){var r=Y+t,n=X+e;c.setTranslate(z,r,n),G=l.align(r,0,j.l,j.l+j.w,s.xanchor),W=l.align(n,0,j.t+j.h,j.t,s.yanchor)},doneFn:function(){void 0!==G&&void 0!==W&&o.call(\\\"relayout\\\",t,{\\\"legend.x\\\":G,\\\"legend.y\\\":W})},clickFn:function(r,n){var i=e._infolayer.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});i.size()>0&&M(t,z,i,r,n)}})}function at(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(O,0,-e),c.setRect(I,q,p.scrollBarMargin+e*n,p.scrollBarWidth,r),P.select(\\\"rect\\\").attr({y:s.borderwidth+e})}}},{\\\"../../constants/alignment\\\":574,\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../lib/events\\\":590,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"./anchor_utils\\\":526,\\\"./constants\\\":528,\\\"./get_legend_data\\\":531,\\\"./handle_click\\\":532,\\\"./helpers\\\":533,\\\"./style\\\":535,d3:130}],531:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./helpers\\\");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0;function f(t,r){if(\\\"\\\"!==t&&i.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 h=t[r],p=h[0],d=p.trace,g=d.legendgroup;if(i.legendGetsTrace(d)&&d.showlegend)if(n.traceIs(d,\\\"pie\\\"))for(c[g]||(c[g]={}),a=0;a<h.length;a++){var m=h[a].label;c[g][m]||(f(g,{label:m,color:h[a].color,i:h[a].i,trace:d}),c[g][m]=!0)}else f(g,p)}if(!s.length)return[];var v,y,x=s.length;if(l&&i.isGrouped(e))for(y=new Array(x),r=0;r<x;r++)v=o[s[r]],y[r]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],r=0;r<x;r++)v=o[s[r]][0],y[0][i.isReversed(e)?x-r-1:r]=v;x=1}return e._lgroupsLength=x,y}},{\\\"../../registry\\\":732,\\\"./helpers\\\":533}],532:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=!0;e.exports=function(t,e,r){if(!e._dragged&&!e._editing){var o,s,l,c,u,f=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],h=t.data()[0][0],p=e._fullData,d=h.trace,g=d.legendgroup,m={},v=[],y=[],x=[];if(1===r&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,\\\"Double-click on legend to isolate one trace\\\"),\\\"long\\\"),a=!1):a=!1,i.traceIs(d,\\\"pie\\\")){var b=h.label,_=f.indexOf(b);1===r?-1===_?f.push(b):f.splice(_,1):2===r&&(f=[],e.calcdata[0].forEach(function(t){b!==t.label&&f.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===f.length&&-1===_&&(f=[])),i.call(\\\"relayout\\\",e,\\\"hiddenlabels\\\",f)}else{var w,k=g&&g.length,M=[];if(k)for(o=0;o<p.length;o++)(w=p[o]).visible&&w.legendgroup===g&&M.push(o);if(1===r){var A;switch(d.visible){case!0:A=\\\"legendonly\\\";break;case!1:A=!1;break;case\\\"legendonly\\\":A=!0}if(k)for(o=0;o<p.length;o++)!1!==p[o].visible&&p[o].legendgroup===g&&P(p[o],A);else P(d,A)}else if(2===r){var T,S,C=!0;for(o=0;o<p.length;o++)if(!(p[o]===d)&&!(T=k&&p[o].legendgroup===g)&&!0===p[o].visible&&!i.traceIs(p[o],\\\"notLegendIsolatable\\\")){C=!1;break}for(o=0;o<p.length;o++)if(!1!==p[o].visible&&!i.traceIs(p[o],\\\"notLegendIsolatable\\\"))switch(d.visible){case\\\"legendonly\\\":P(p[o],!0);break;case!0:S=!!C||\\\"legendonly\\\",T=p[o]===d||k&&p[o].legendgroup===g,P(p[o],!!T||S)}}for(o=0;o<y.length;o++)if(l=y[o]){var E=l.constructUpdate(),L=Object.keys(E);for(s=0;s<L.length;s++)c=L[s],(m[c]=m[c]||[])[x[o]]=E[c]}for(u=Object.keys(m),o=0;o<u.length;o++)for(c=u[o],s=0;s<v.length;s++)m[c].hasOwnProperty(s)||(m[c][s]=void 0);i.call(\\\"restyle\\\",e,m,v)}}function z(t,e,r){var n=v.indexOf(t),i=m[e];return i||(i=m[e]=[]),-1===v.indexOf(t)&&(v.push(t),n=v.length-1),i[n]=r,n}function P(t,e){var r=t._fullInput;if(i.hasTransform(r,\\\"groupby\\\")){var a=y[r.index];if(!a){var o=i.getTransformIndices(r,\\\"groupby\\\"),s=o[o.length-1];a=n.keyedContainer(r,\\\"transforms[\\\"+s+\\\"].styles\\\",\\\"target\\\",\\\"value.visible\\\"),y[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),x[r.index]=z(r.index,\\\"visible\\\",!1!==r.visible)}else{var c=!1!==r.visible&&e;z(r.index,\\\"visible\\\",c)}}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],533:[function(t,e,r){\\\"use strict\\\";r.legendGetsTrace=function(t){return t.visible&&void 0!==t.showlegend},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\\\")}},{}],534:[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\\\":527,\\\"./defaults\\\":529,\\\"./draw\\\":530,\\\"./style\\\":535}],535:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../color\\\"),l=t(\\\"../../traces/scatter/subtypes\\\"),c=t(\\\"../../traces/pie/style_one\\\");e.exports=function(t,e){t.each(function(t){var e=n.select(this),r=a.ensureSingle(e,\\\"g\\\",\\\"layers\\\");r.style(\\\"opacity\\\",t[0].trace.opacity),r.selectAll(\\\"g.legendfill\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendfill\\\",!0),r.selectAll(\\\"g.legendlines\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendlines\\\",!0);var i=r.selectAll(\\\"g.legendsymbols\\\").data([t]);i.enter().append(\\\"g\\\").classed(\\\"legendsymbols\\\",!0),i.selectAll(\\\"g.legendpoints\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendpoints\\\",!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbar\\\").data(i.traceIs(e,\\\"bar\\\")?[t]:[]);o.enter().append(\\\"path\\\").classed(\\\"legendbar\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(\\\"stroke-width\\\",o+\\\"px\\\").call(s.fill,i.mc||r.color),o&&e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbox\\\").data(i.traceIs(e,\\\"box-violin\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendbox\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(\\\"stroke-width\\\",t+\\\"px\\\").call(s.fill,e.fillcolor),t&&s.stroke(r,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendpie\\\").data(i.traceIs(e,\\\"pie\\\")&&e.visible?[t]:[]);r.enter().append(\\\"path\\\").classed(\\\"legendpie\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),r.exit().remove(),r.size()&&r.call(c,t[0],e)}).each(function(t){var e=t[0].trace,r=e.visible&&e.fill&&\\\"none\\\"!==e.fill,i=l.hasLines(e),a=e.contours;a&&\\\"constraint\\\"===a.type&&(i=a.showlines,r=\\\"=\\\"!==a._operation);var s=n.select(this).select(\\\".legendfill\\\").selectAll(\\\"path\\\").data(r?[t]:[]);s.enter().append(\\\"path\\\").classed(\\\"js-fill\\\",!0),s.exit().remove(),s.attr(\\\"d\\\",\\\"M5,0h30v6h-30z\\\").call(o.fillGroupStyle);var c=n.select(this).select(\\\".legendlines\\\").selectAll(\\\"path\\\").data(i?[t]:[]);c.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).attr(\\\"d\\\",\\\"M5,0h30\\\"),c.exit().remove(),c.call(o.lineGroupStyle)}).each(function(t){var r,i,s=t[0],c=s.trace,u=l.hasMarkers(c),f=l.hasText(c),h=l.hasLines(c);function p(t,e,r){var n=a.nestedProperty(c,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},m={};u&&(g.mc=p(\\\"marker.color\\\",d),g.mo=p(\\\"marker.opacity\\\",a.mean,[.2,1]),g.ms=p(\\\"marker.size\\\",a.mean,[2,16]),g.mlc=p(\\\"marker.line.color\\\",d),g.mlw=p(\\\"marker.line.width\\\",a.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:\\\"diameter\\\"}),h&&(m.line={width:p(\\\"line.width\\\",d,[0,10])}),f&&(g.tx=\\\"Aa\\\",g.tp=p(\\\"textposition\\\",d),g.ts=10,g.tc=p(\\\"textfont.color\\\",d),g.tf=p(\\\"textfont.family\\\",d)),r=[a.minExtend(s,g)],(i=a.minExtend(c,m)).selectedpoints=null}var v=n.select(this).select(\\\"g.legendpoints\\\"),y=v.selectAll(\\\"path.scatterpts\\\").data(u?r:[]);y.enter().append(\\\"path\\\").classed(\\\"scatterpts\\\",!0).attr(\\\"transform\\\",\\\"translate(20,0)\\\"),y.exit().remove(),y.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var x=v.selectAll(\\\"g.pointtext\\\").data(f?r:[]);x.enter().append(\\\"g\\\").classed(\\\"pointtext\\\",!0).append(\\\"text\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),x.exit().remove(),x.selectAll(\\\"text\\\").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendcandle\\\").data(\\\"candlestick\\\"===e.type&&e.visible?[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 i=e[r?\\\"increasing\\\":\\\"decreasing\\\"],a=i.line.width,o=n.select(this);o.style(\\\"stroke-width\\\",a+\\\"px\\\").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendohlc\\\").data(\\\"ohlc\\\"===e.type&&e.visible?[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 i=e[r?\\\"increasing\\\":\\\"decreasing\\\"],a=i.line.width,l=n.select(this);l.style(\\\"fill\\\",\\\"none\\\").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../../traces/pie/style_one\\\":912,\\\"../../traces/scatter/subtypes\\\":948,\\\"../color\\\":474,\\\"../drawing\\\":499,d3:130}],536:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"../../plots/cartesian/axis_ids\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../../build/ploticon\\\"),l=o._,c=e.exports={};function u(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\\\"data-attr\\\"),l=o.getAttribute(\\\"data-val\\\")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=\\\"on\\\";if(\\\"zoom\\\"===s){var p,d=\\\"in\\\"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).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\\\"!==h||r._showSpikeInitial||(h=\\\"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])}c._cartesianSpikesEnabled=h}else{if(\\\"hovermode\\\"!==s||\\\"x\\\"!==l&&\\\"y\\\"!==l){if(\\\"hovermode\\\"===s&&\\\"closest\\\"===l){for(i=0;i<f.length;i++)r=f[i],\\\"on\\\"!==h||r.showspikes||(h=\\\"off\\\");c._cartesianSpikesEnabled=h}}else l=c._isHoriz?\\\"y\\\":\\\"x\\\",o.setAttribute(\\\"data-val\\\",l);u[s]=l}n.call(\\\"relayout\\\",t,u)}function f(t,e){for(var r=e.currentTarget,i=r.getAttribute(\\\"data-attr\\\"),a=r.getAttribute(\\\"data-val\\\")||!0,o=t._fullLayout._subplots.gl3d,s={},l=i.split(\\\".\\\"),c=0;c<o.length;c++)s[o[c]+\\\".\\\"+l[1]]=a;var u=\\\"pan\\\"===a?a:\\\"zoom\\\";s.dragmode=u,n.call(\\\"relayout\\\",t,s)}function h(t,e){for(var r=e.currentTarget.getAttribute(\\\"data-attr\\\"),i=t._fullLayout,a=i._subplots.gl3d,s={},l=0;l<a.length;l++){var c=a[l],u=c+\\\".camera\\\",f=i[c]._scene;\\\"resetDefault\\\"===r?s[u]=null:\\\"resetLastSave\\\"===r&&(s[u]=o.extendDeep({},f.cameraInitial))}n.call(\\\"relayout\\\",t,s)}function p(t,e){var r=e.currentTarget,i=r._previousVal||!1,a=t.layout,s=t._fullLayout,l=s._subplots.gl3d,c=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],u=[\\\"showspikes\\\",\\\"spikesides\\\",\\\"spikethickness\\\",\\\"spikecolor\\\"],f={},h={},p={};if(i)p=o.extendDeep(a,i),r._previousVal=null;else{p={\\\"allaxes.showspikes\\\":!1};for(var d=0;d<l.length;d++){var g=l[d],m=s[g],v=f[g]={};v.hovermode=m.hovermode,p[g+\\\".hovermode\\\"]=!1;for(var y=0;y<3;y++){var x=c[y];h=v[x]={};for(var b=0;b<u.length;b++){var _=u[b];h[_]=m[x][_]}}}r._previousVal=o.extendDeep({},f)}n.call(\\\"relayout\\\",t,p)}function d(t,e){for(var r=e.currentTarget,i=r.getAttribute(\\\"data-attr\\\"),a=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\\\"===i){var f=u.projection.scale,h=\\\"in\\\"===a?2*f:.5*f;n.call(\\\"relayout\\\",t,c+\\\".projection.scale\\\",h)}else\\\"reset\\\"===i&&m(t,\\\"geo\\\")}}function g(t){var e,r=t._fullLayout;e=r._has(\\\"cartesian\\\")?r._isHoriz?\\\"y\\\":\\\"x\\\":\\\"closest\\\";var i=!t._fullLayout.hovermode&&e;n.call(\\\"relayout\\\",t,\\\"hovermode\\\",i)}function m(t,e){for(var r=t._fullLayout,i=r._subplots[e],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+\\\".\\\"+f]=l[f]}n.call(\\\"relayout\\\",t,a)}c.toImage={name:\\\"toImage\\\",title:function(t){return l(t,\\\"Download plot as a png\\\")},icon:s.camera,click:function(t){var e=\\\"png\\\";o.notifier(l(t,\\\"Taking snapshot - this may take a few seconds\\\"),\\\"long\\\"),o.isIE()&&(o.notifier(l(t,\\\"IE only supports svg.  Changing format to svg.\\\"),\\\"long\\\"),e=\\\"svg\\\"),n.call(\\\"downloadImage\\\",t,{format:e}).then(function(e){o.notifier(l(t,\\\"Snapshot succeeded\\\")+\\\" - \\\"+e,\\\"long\\\")}).catch(function(){o.notifier(l(t,\\\"Sorry, there was a problem downloading your snapshot!\\\"),\\\"long\\\")})}},c.sendDataToCloud={name:\\\"sendDataToCloud\\\",title:function(t){return l(t,\\\"Edit in Chart Studio\\\")},icon:s.disk,click:function(t){i.sendDataToCloud(t)}},c.zoom2d={name:\\\"zoom2d\\\",title:function(t){return l(t,\\\"Zoom\\\")},attr:\\\"dragmode\\\",val:\\\"zoom\\\",icon:s.zoombox,click:u},c.pan2d={name:\\\"pan2d\\\",title:function(t){return l(t,\\\"Pan\\\")},attr:\\\"dragmode\\\",val:\\\"pan\\\",icon:s.pan,click:u},c.select2d={name:\\\"select2d\\\",title:function(t){return l(t,\\\"Box Select\\\")},attr:\\\"dragmode\\\",val:\\\"select\\\",icon:s.selectbox,click:u},c.lasso2d={name:\\\"lasso2d\\\",title:function(t){return l(t,\\\"Lasso Select\\\")},attr:\\\"dragmode\\\",val:\\\"lasso\\\",icon:s.lasso,click:u},c.zoomIn2d={name:\\\"zoomIn2d\\\",title:function(t){return l(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:s.zoom_plus,click:u},c.zoomOut2d={name:\\\"zoomOut2d\\\",title:function(t){return l(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:s.zoom_minus,click:u},c.autoScale2d={name:\\\"autoScale2d\\\",title:function(t){return l(t,\\\"Autoscale\\\")},attr:\\\"zoom\\\",val:\\\"auto\\\",icon:s.autoscale,click:u},c.resetScale2d={name:\\\"resetScale2d\\\",title:function(t){return l(t,\\\"Reset axes\\\")},attr:\\\"zoom\\\",val:\\\"reset\\\",icon:s.home,click:u},c.hoverClosestCartesian={name:\\\"hoverClosestCartesian\\\",title:function(t){return l(t,\\\"Show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:s.tooltip_basic,gravity:\\\"ne\\\",click:u},c.hoverCompareCartesian={name:\\\"hoverCompareCartesian\\\",title:function(t){return l(t,\\\"Compare data on hover\\\")},attr:\\\"hovermode\\\",val:function(t){return t._fullLayout._isHoriz?\\\"y\\\":\\\"x\\\"},icon:s.tooltip_compare,gravity:\\\"ne\\\",click:u},c.zoom3d={name:\\\"zoom3d\\\",title:function(t){return l(t,\\\"Zoom\\\")},attr:\\\"scene.dragmode\\\",val:\\\"zoom\\\",icon:s.zoombox,click:f},c.pan3d={name:\\\"pan3d\\\",title:function(t){return l(t,\\\"Pan\\\")},attr:\\\"scene.dragmode\\\",val:\\\"pan\\\",icon:s.pan,click:f},c.orbitRotation={name:\\\"orbitRotation\\\",title:function(t){return l(t,\\\"Orbital rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"orbit\\\",icon:s[\\\"3d_rotate\\\"],click:f},c.tableRotation={name:\\\"tableRotation\\\",title:function(t){return l(t,\\\"Turntable rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"turntable\\\",icon:s[\\\"z-axis\\\"],click:f},c.resetCameraDefault3d={name:\\\"resetCameraDefault3d\\\",title:function(t){return l(t,\\\"Reset camera to default\\\")},attr:\\\"resetDefault\\\",icon:s.home,click:h},c.resetCameraLastSave3d={name:\\\"resetCameraLastSave3d\\\",title:function(t){return l(t,\\\"Reset camera to last save\\\")},attr:\\\"resetLastSave\\\",icon:s.movie,click:h},c.hoverClosest3d={name:\\\"hoverClosest3d\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:p},c.zoomInGeo={name:\\\"zoomInGeo\\\",title:function(t){return l(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:\\\"zoomOutGeo\\\",title:function(t){return l(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:s.zoom_minus,click:d},c.resetGeo={name:\\\"resetGeo\\\",title:function(t){return l(t,\\\"Reset\\\")},attr:\\\"reset\\\",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:\\\"hoverClosestGeo\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:g},c.hoverClosestGl2d={name:\\\"hoverClosestGl2d\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:g},c.hoverClosestPie={name:\\\"hoverClosestPie\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:s.tooltip_basic,gravity:\\\"ne\\\",click:g},c.toggleHover={name:\\\"toggleHover\\\",title:function(t){return l(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\\\"ne\\\",click:function(t,e){g(t),p(t,e)}},c.resetViews={name:\\\"resetViews\\\",title:function(t){return l(t,\\\"Reset views\\\")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\\\"data-attr\\\",\\\"zoom\\\"),r.setAttribute(\\\"data-val\\\",\\\"reset\\\"),u(t,e),r.setAttribute(\\\"data-attr\\\",\\\"resetLastSave\\\"),h(t,e),m(t,\\\"geo\\\"),m(t,\\\"mapbox\\\")}},c.toggleSpikelines={name:\\\"toggleSpikelines\\\",title:function(t){return l(t,\\\"Toggle Spike Lines\\\")},icon:s.spikeline,attr:\\\"_cartesianSpikesEnabled\\\",val:\\\"on\\\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\\\"on\\\"===e._cartesianSpikesEnabled?\\\"off\\\":\\\"on\\\";var r=function(t){for(var e,r,n=t._fullLayout,i=a.list(t,null,!0),o={},s=0;s<i.length;s++)e=i[s],r=e._name,o[r+\\\".showspikes\\\"]=\\\"on\\\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return o}(t);n.call(\\\"relayout\\\",t,r)}},c.resetViewMapbox={name:\\\"resetViewMapbox\\\",title:function(t){return l(t,\\\"Reset view\\\")},attr:\\\"reset\\\",icon:s.home,click:function(t){m(t,\\\"mapbox\\\")}}},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732}],537:[function(t,e,r){\\\"use strict\\\";r.manage=t(\\\"./manage\\\")},{\\\"./manage\\\":538}],538:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axis_ids\\\"),i=t(\\\"../../traces/scatter/subtypes\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"./modebar\\\"),s=t(\\\"./buttons\\\");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar){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 c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\\\"string\\\"==typeof i){if(void 0===s[i])throw new Error([\\\"*modeBarButtons* configuration options\\\",\\\"invalid button name\\\"].join(\\\" \\\"));t[e][n]=s[i]}}return t}(u):function(t,e,r){var o=t._fullLayout,l=t._fullData,c=o._has(\\\"cartesian\\\"),u=o._has(\\\"gl3d\\\"),f=o._has(\\\"geo\\\"),h=o._has(\\\"pie\\\"),p=o._has(\\\"gl2d\\\"),d=o._has(\\\"ternary\\\"),g=o._has(\\\"mapbox\\\"),m=o._has(\\\"polar\\\"),v=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}(o),y=[];function x(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(s[i])}y.push(r)}}x([\\\"toImage\\\",\\\"sendDataToCloud\\\"]);var b=[],_=[],w=[],k=[];(c||p||h||d)+f+u+g+m>1?(_=[\\\"toggleHover\\\"],w=[\\\"resetViews\\\"]):f?(b=[\\\"zoomInGeo\\\",\\\"zoomOutGeo\\\"],_=[\\\"hoverClosestGeo\\\"],w=[\\\"resetGeo\\\"]):u?(_=[\\\"hoverClosest3d\\\"],w=[\\\"resetCameraDefault3d\\\",\\\"resetCameraLastSave3d\\\"]):g?(_=[\\\"toggleHover\\\"],w=[\\\"resetViewMapbox\\\"]):_=p?[\\\"hoverClosestGl2d\\\"]:h?[\\\"hoverClosestPie\\\"]:[\\\"toggleHover\\\"];c&&(_=[\\\"toggleSpikelines\\\",\\\"hoverClosestCartesian\\\",\\\"hoverCompareCartesian\\\"]);!c&&!p||v||(b=[\\\"zoomIn2d\\\",\\\"zoomOut2d\\\",\\\"autoScale2d\\\"],\\\"resetViews\\\"!==w[0]&&(w=[\\\"resetScale2d\\\"]));u?k=[\\\"zoom3d\\\",\\\"pan3d\\\",\\\"orbitRotation\\\",\\\"tableRotation\\\"]:(c||p)&&!v||d?k=[\\\"zoom2d\\\",\\\"pan2d\\\"]:g||f?k=[\\\"pan2d\\\"]:m&&(k=[\\\"zoom2d\\\"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,\\\"scatter-like\\\")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,\\\"box-violin\\\")&&\\\"all\\\"!==n.boxpoints&&\\\"all\\\"!==n.points||(e=!0))}return e})(l)&&k.push(\\\"select2d\\\",\\\"lasso2d\\\");return x(k),x(b.concat(w)),x(_),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}(y,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../../traces/scatter/subtypes\\\":948,\\\"./buttons\\\":536,\\\"./modebar\\\":539}],539:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../../build/ploticon\\\");function o(t){this.container=t.container,this.element=document.createElement(\\\"div\\\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var s=o.prototype;s.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\\\"hover\\\"===r.displayModeBar?this.element.className=\\\"modebar modebar--hover\\\":this.element.className=\\\"modebar\\\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo,a=this.locale!==r.locale;this.locale=r.locale,(n||i||a)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},s.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 i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},s.createGroup=function(){var t=document.createElement(\\\"div\\\");return t.className=\\\"modebar-group\\\",t},s.createButton=function(t){var e=this,r=document.createElement(\\\"a\\\");r.setAttribute(\\\"rel\\\",\\\"tooltip\\\"),r.className=\\\"modebar-btn\\\";var i=t.title;void 0===i?i=t.name:\\\"function\\\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute(\\\"data-title\\\",i),void 0!==t.attr&&r.setAttribute(\\\"data-attr\\\",t.attr);var o=t.val;if(void 0!==o&&(\\\"function\\\"==typeof o&&(o=o(this.graphInfo)),r.setAttribute(\\\"data-val\\\",o)),\\\"function\\\"!=typeof t.click)throw new Error(\\\"must provide button 'click' function in button config\\\");return 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),r.appendChild(this.createIcon(t.icon||a.question,t.name)),r.setAttribute(\\\"data-gravity\\\",t.gravity||\\\"n\\\"),r},s.createIcon=function(t,e){var r=t.ascent-t.descent,n=\\\"http://www.w3.org/2000/svg\\\",i=document.createElementNS(n,\\\"svg\\\"),a=document.createElementNS(n,\\\"path\\\");i.setAttribute(\\\"height\\\",\\\"1em\\\"),i.setAttribute(\\\"width\\\",t.width/r+\\\"em\\\"),i.setAttribute(\\\"viewBox\\\",[0,0,t.width,r].join(\\\" \\\"));var o=\\\"toggleSpikelines\\\"===e?\\\"matrix(1.5 0 0 -1.5 0 \\\"+t.ascent+\\\")\\\":\\\"matrix(1 0 0 -1 0 \\\"+t.ascent+\\\")\\\";return a.setAttribute(\\\"d\\\",t.path),a.setAttribute(\\\"transform\\\",o),i.appendChild(a),i},s.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)}})},s.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},s.getLogo=function(){var t=this.createGroup(),e=document.createElement(\\\"a\\\");return e.href=\\\"https://plot.ly/\\\",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(a.plotlylogo)),t.appendChild(e),t},s.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},s.destroy=function(){i.removeElement(this.container.querySelector(\\\".modebar\\\"))},e.exports=function(t,e){var r=t._fullLayout,i=new o({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append(\\\"span\\\").classed(\\\"badge-private float--left\\\",!0).text(\\\"PRIVATE\\\"),i}},{\\\"../../../build/ploticon\\\":2,\\\"../../lib\\\":602,d3:130}],540:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"./button_attributes\\\");o=a(o,{_isLinkedToArray:\\\"button\\\"}),e.exports={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},buttons:o,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:i.lightLine,editType:\\\"plot\\\"},activecolor:{valType:\\\"color\\\",editType:\\\"plot\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"plot\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"plot\\\"},editType:\\\"plot\\\"}},{\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"../color/attributes\\\":473,\\\"./button_attributes\\\":541}],541:[function(t,e,r){\\\"use strict\\\";e.exports={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\\\"}},{}],542:[function(t,e,r){\\\"use strict\\\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],543:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../color\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./button_attributes\\\"),s=t(\\\"./constants\\\");e.exports=function(t,e,r,l,c){var u=t.rangeselector||{},f=e.rangeselector={};function h(t,e){return n.coerce(u,f,a,t,e)}if(h(\\\"visible\\\",function(t,e,r){var i,a,s=t.buttons||[],l=e.buttons=[];function c(t,e){return n.coerce(i,a,o,t,e)}for(var u=0;u<s.length;u++)if(i=s[u],a={},n.isPlainObject(i)){var f=c(\\\"step\\\");\\\"all\\\"!==f&&(!r||\\\"gregorian\\\"===r||\\\"month\\\"!==f&&\\\"year\\\"!==f?c(\\\"stepmode\\\"):a.stepmode=\\\"backward\\\",c(\\\"count\\\")),c(\\\"label\\\"),a._index=u,l.push(a)}return l}(u,f,c).length>0)){var p=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+s.yPad]}(e,r,l);h(\\\"x\\\",p[0]),h(\\\"y\\\",p[1]),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),h(\\\"xanchor\\\"),h(\\\"yanchor\\\"),n.coerceFont(h,\\\"font\\\",r.font);var d=h(\\\"bgcolor\\\");h(\\\"activecolor\\\",i.contrast(d,s.lightAmount,s.darkAmount)),h(\\\"bordercolor\\\"),h(\\\"borderwidth\\\")}}},{\\\"../../lib\\\":602,\\\"../color\\\":474,\\\"./attributes\\\":540,\\\"./button_attributes\\\":541,\\\"./constants\\\":542}],544:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../color\\\"),s=t(\\\"../drawing\\\"),l=t(\\\"../../lib\\\"),c=t(\\\"../../lib/svg_text_utils\\\"),u=t(\\\"../../plots/cartesian/axis_ids\\\"),f=t(\\\"../legend/anchor_utils\\\"),h=t(\\\"../../constants/alignment\\\"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR,m=t(\\\"./constants\\\"),v=t(\\\"./get_update_object\\\");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,\\\"rect\\\",\\\"selector-rect\\\",function(t){t.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")});n.attr({rx:m.rx,ry:m.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 b(t,e,r,n){var i;l.ensureSingle(t,\\\"text\\\",\\\"selector-text\\\",function(t){t.classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\")}).call(s.font,e.font).text((i=r,i.label?i.label:\\\"all\\\"===i.step?\\\"all\\\":i.count+i.step.charAt(0))).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 i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);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,l=o.rangeselector,u=r.selectAll(\\\"g.button\\\").data(l.buttons);u.enter().append(\\\"g\\\").classed(\\\"button\\\",!0),u.exit().remove(),u.each(function(e){var r=n.select(this),a=v(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,a),r.call(x,l,e),r.call(b,l,e,t),r.on(\\\"click\\\",function(){t._dragged||i.call(\\\"relayout\\\",t,a)}),r.on(\\\"mouseover\\\",function(){e._isHovered=!0,r.call(x,l,e)}),r.on(\\\"mouseout\\\",function(){e._isHovered=!1,r.call(x,l,e)})}),function(t,e,r,i,o){var l=0,u=0,h=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(\\\".selector-text\\\"),i=r.font.size*p,a=Math.max(i*c.lineCount(e),16)+3;u=Math.max(u,a)}),e.each(function(){var t=n.select(this),e=t.select(\\\".selector-rect\\\"),i=t.select(\\\".selector-text\\\"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,f=c.lineCount(i),d=Math.max(a+10,m.minButtonWidth);t.attr(\\\"transform\\\",\\\"translate(\\\"+(h+l)+\\\",\\\"+h+\\\")\\\"),e.attr({x:0,y:0,width:d,height:u}),c.positionText(i,d/2,u/2-(f-1)*o/2+3),l+=d+5});var v=t._fullLayout._size,y=v.l+v.w*r.x,x=v.t+v.h*(1-r.y),b=\\\"left\\\";f.isRightAnchor(r)&&(y-=l,b=\\\"right\\\");f.isCenterAnchor(r)&&(y-=l/2,b=\\\"center\\\");var _=\\\"top\\\";f.isBottomAnchor(r)&&(x-=u,_=\\\"bottom\\\");f.isMiddleAnchor(r)&&(x-=u/2,_=\\\"middle\\\");l=Math.ceil(l),u=Math.ceil(u),y=Math.round(y),x=Math.round(x),a.autoMargin(t,i+\\\"-range-selector\\\",{x:r.x,y:r.y,l:l*d[b],r:l*g[b],b:u*g[_],t:u*d[_]}),o.attr(\\\"transform\\\",\\\"translate(\\\"+y+\\\",\\\"+x+\\\")\\\")}(t,u,l,o._name,r)})}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../drawing\\\":499,\\\"../legend/anchor_utils\\\":526,\\\"./constants\\\":542,\\\"./get_update_object\\\":545,d3:130}],545:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\");e.exports=function(t,e){var r=t._name,i={};if(\\\"all\\\"===e.step)i[r+\\\".autorange\\\"]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case\\\"backward\\\":r=t.l2r(+n.time[o].utc.offset(a,-s));break;case\\\"todate\\\":var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=i[1];return[r,c]}(t,e);i[r+\\\".range[0]\\\"]=a[0],i[r+\\\".range[1]\\\"]=a[1]}return i}},{d3:130}],546:[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\\\":540,\\\"./defaults\\\":543,\\\"./draw\\\":544}],547:[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\\\":473}],548:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axis_ids\\\").list,i=t(\\\"../../plots/cartesian/autorange\\\").getAutoRange,a=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[a.name];s&&s.visible&&s.autorange&&o._min.length&&o._max.length&&(s._input.autorange=!0,s._input.range=s.range=i(o))}}},{\\\"../../plots/cartesian/autorange\\\":647,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"./constants\\\":549}],549:[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}},{}],550:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./oppaxis_attributes\\\"),o=t(\\\"../../plots/cartesian/axis_ids\\\");e.exports=function(t,e,r){var s=t[r],l=e[r];if(s.rangeslider||e._requestRangeslider[l._id]){n.isPlainObject(s.rangeslider)||(s.rangeslider={});var c=s.rangeslider,u=l.rangeslider={};if(_(\\\"visible\\\")){_(\\\"bgcolor\\\",e.plot_bgcolor),_(\\\"bordercolor\\\"),_(\\\"borderwidth\\\"),_(\\\"thickness\\\"),l._rangesliderAutorange=_(\\\"autorange\\\",!l.isValidRange(c.range)),_(\\\"range\\\");var f=e._subplots;if(f)for(var h=f.cartesian.filter(function(t){return t.substr(0,t.indexOf(\\\"y\\\"))===o.name2id(r)}).map(function(t){return t.substr(t.indexOf(\\\"y\\\"),t.length)}),p=n.simpleMap(h,o.id2name),d=0;d<p.length;d++){var g,m=p[d],v=c[m]||{},y=u[m]={},x=e[m];v.range&&x.isValidRange(v.range)&&(g=\\\"fixed\\\");var b=w(v,y,\\\"rangemode\\\",g);\\\"match\\\"!==b&&w(v,y,\\\"range\\\",x.range.slice()),x._rangesliderAutorange=\\\"auto\\\"===b}u._input=c}}function _(t,e){return n.coerce(c,u,i,t,e)}function w(t,e,r,i){return n.coerce(t,e,a,r,i)}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"./attributes\\\":547,\\\"./oppaxis_attributes\\\":553}],551:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../drawing\\\"),l=t(\\\"../color\\\"),c=t(\\\"../titles\\\"),u=t(\\\"../../plots/cartesian\\\"),f=t(\\\"../../plots/cartesian/axes\\\"),h=t(\\\"../dragelement\\\"),p=t(\\\"../../lib/setcursor\\\"),d=t(\\\"./constants\\\");function g(t,e,r,n){var i=o.ensureSingle(t,\\\"rect\\\",d.bgClassName,function(t){t.attr({x:0,y:0,\\\"shape-rendering\\\":\\\"crispEdges\\\"})}),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\\\"translate(\\\"+l+\\\",\\\"+l+\\\")\\\",fill:n.bgcolor,stroke:n.bordercolor,\\\"stroke-width\\\":c})}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._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,i){var l,c=f.getSubplots(e,r),h=e.calcdata,p=t.selectAll(\\\"g.\\\"+d.rangePlotClassName).data(c,o.identity);p.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return d.rangePlotClassName+\\\" \\\"+t}).call(s.setClipUrl,i._clipId),p.order(),p.exit().remove(),p.each(function(t,o){var s=n.select(this),c=0===o,p=f.getFromId(e,t,\\\"y\\\"),d=p._name,g=i[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};m.layout[d]={type:p.type,domain:[0,1],range:\\\"match\\\"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},a.supplyDefaults(m);var v={id:t,plotgroup:s,xaxis:m._fullLayout.xaxis,yaxis:m._fullLayout[d],isRangePlot:!0};c?l=v:(v.mainplot=\\\"xy\\\",v.mainplotinfo=l),u.rangePlot(e,v,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(h,t))})}function y(t,e,r,n,i){(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\\\"!==i.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 i=o.ensureSingle(t,\\\"g\\\",d.grabberMinClassName),a=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(i,\\\"rect\\\",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(a,\\\"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(i,\\\"rect\\\",d.grabAreaMinClassName,function(t){t.attr(u)}).attr(\\\"height\\\",n._height),o.ensureSingle(a,\\\"rect\\\",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr(\\\"height\\\",n._height)}}e.exports=function(t){var e=t._fullLayout,r=function(t){var e=f.list({_fullLayout:t},\\\"x\\\",!0),r=d.name,n=[];if(t._has(\\\"gl2d\\\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}(e);var s=e._infolayer.selectAll(\\\"g.\\\"+d.containerClassName).data(r,function(t){return t._name});s.enter().append(\\\"g\\\").classed(d.containerClassName,!0).attr(\\\"pointer-events\\\",\\\"all\\\"),s.exit().each(function(t){var r=n.select(this),i=t[d.name];r.remove(),e._topdefs.select(\\\"#\\\"+i._clipId).remove()}),s.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(d.name)&&a.autoMargin(t,i)}}(t),0!==r.length&&s.each(function(r){var s=n.select(this),l=r[d.name],u=e[f.id2name(r.anchor)],_=l[f.id2name(r.anchor)];if(l.range){var w=l.range,k=r.range;w[0]=r.l2r(Math.min(r.r2l(w[0]),r.r2l(k[0]))),w[1]=r.l2r(Math.max(r.r2l(w[1]),r.r2l(k[1]))),l._input.range=w.slice()}r.cleanRange(\\\"rangeslider.range\\\");for(var M=e.margin,A=e._size,T=r.domain,S=(r._boundingBox||{}).height||0,C=1/0,E=f.getSubplots(t,r),L=0;L<E.length;L++){var z=f.getFromId(t,E[L].substr(E[L].indexOf(\\\"y\\\")));C=Math.min(C,z.domain[0])}l._id=d.name+r._id,l._clipId=l._id+\\\"-\\\"+e._uid,l._width=A.w*(T[1]-T[0]),l._height=(e.height-M.b-M.t)*l.thickness,l._offsetShift=Math.floor(l.borderwidth/2);var P=Math.round(M.l+A.w*T[0]),D=Math.round(A.t+A.h*(1-C)+S+l._offsetShift+d.extraPad);s.attr(\\\"transform\\\",\\\"translate(\\\"+P+\\\",\\\"+D+\\\")\\\");var O=r.r2l(l.range[0]),I=r.r2l(l.range[1]),R=I-O;if(l.p2d=function(t){return t/l._width*R+O},l.d2p=function(t){return(t-O)/R*l._width},l._rl=[O,I],\\\"match\\\"!==_.rangemode){var B=u.r2l(_.range[0]),F=u.r2l(_.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/F*l._height}}s.call(g,t,r,l).call(m,t,r,l).call(v,t,r,l).call(y,t,r,l,_).call(x,t,r,l).call(b,t,r,l),function(t,e,r,a){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,f=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,m=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=h.coverSlip();function x(t){var u,h,x,b=+t.clientX-d;switch(f){case s:x=\\\"ew-resize\\\",u=m+b,h=v+b;break;case l:x=\\\"col-resize\\\",u=m+b,h=v;break;case c:x=\\\"col-resize\\\",u=m,h=v+b;break;default:x=\\\"ew-resize\\\",u=g,h=g+b}if(h<u){var _=h;h=u,u=_}a._pixelMin=u,a._pixelMax=h,p(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){i.call(\\\"relayout\\\",e,r._name+\\\".range\\\",[s,l])})}(0,e,r,a)}y.addEventListener(\\\"mousemove\\\",x),y.addEventListener(\\\"mouseup\\\",function t(){y.removeEventListener(\\\"mousemove\\\",x);y.removeEventListener(\\\"mouseup\\\",t);o.removeElement(y)})})}(s,t,r,l),function(t,e,r,n,i,a){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 f=l(n.d2p(r._rl[0])),h=l(n.d2p(r._rl[1]));if(t.select(\\\"rect.\\\"+d.slideBoxClassName).attr(\\\"x\\\",f).attr(\\\"width\\\",h-f),t.select(\\\"rect.\\\"+d.maskMinClassName).attr(\\\"width\\\",f),t.select(\\\"rect.\\\"+d.maskMaxClassName).attr(\\\"x\\\",h).attr(\\\"width\\\",n._width-h),\\\"match\\\"!==a.rangemode){var p=n._height-c(n.d2pOppAxis(i._rl[1])),g=n._height-c(n.d2pOppAxis(i._rl[0]));t.select(\\\"rect.\\\"+d.maskMinOppAxisClassName).attr(\\\"x\\\",f).attr(\\\"height\\\",p).attr(\\\"width\\\",h-f),t.select(\\\"rect.\\\"+d.maskMaxOppAxisClassName).attr(\\\"x\\\",f).attr(\\\"y\\\",g).attr(\\\"height\\\",n._height-g).attr(\\\"width\\\",h-f),t.select(\\\"rect.\\\"+d.slideBoxClassName).attr(\\\"y\\\",p).attr(\\\"height\\\",g-p)}var m=Math.round(u(f-s))-.5,v=Math.round(u(h-s))+.5;t.select(\\\"g.\\\"+d.grabberMinClassName).attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\",0.5)\\\"),t.select(\\\"g.\\\"+d.grabberMaxClassName).attr(\\\"transform\\\",\\\"translate(\\\"+v+\\\",0.5)\\\")}(s,0,r,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:D+l._height+l._offsetShift+10+1.5*r.titlefont.size,\\\"text-anchor\\\":\\\"middle\\\"}}),a.autoMargin(t,l._id,{x:T[0],y:C,l:0,r:0,t:0,b:l._height+M.b+S,pad:d.extraPad+2*l._offsetShift})})}},{\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../plots/cartesian\\\":659,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"../titles\\\":567,\\\"./constants\\\":549,d3:130}],552:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"./oppaxis_attributes\\\");e.exports={moduleType:\\\"component\\\",name:\\\"rangeslider\\\",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t(\\\"./attributes\\\"),handleDefaults:t(\\\"./defaults\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:t(\\\"./draw\\\")}},{\\\"../../lib\\\":602,\\\"./attributes\\\":547,\\\"./calc_autorange\\\":548,\\\"./defaults\\\":550,\\\"./draw\\\":551,\\\"./oppaxis_attributes\\\":553}],553:[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\\\"}},{}],554:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../annotations/attributes\\\"),i=t(\\\"../../traces/scatter/attributes\\\").line,a=t(\\\"../drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat;e.exports={_isLinkedToArray:\\\"shape\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"rect\\\",\\\"path\\\",\\\"line\\\"],editType:\\\"calcIfAutorange+arraydraw\\\"},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\",editType:\\\"arraydraw\\\"},xref:o({},n.xref,{}),xsizemode:{valType:\\\"enumerated\\\",values:[\\\"scaled\\\",\\\"pixel\\\"],dflt:\\\"scaled\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xanchor:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},x0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},x1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yref:o({},n.yref,{}),ysizemode:{valType:\\\"enumerated\\\",values:[\\\"scaled\\\",\\\"pixel\\\"],dflt:\\\"scaled\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yanchor:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},y0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},y1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},path:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1,editType:\\\"arraydraw\\\"},line:{color:o({},i.color,{editType:\\\"arraydraw\\\"}),width:o({},i.width,{editType:\\\"calcIfAutorange+arraydraw\\\"}),dash:o({},a,{editType:\\\"arraydraw\\\"}),editType:\\\"calcIfAutorange+arraydraw\\\"},fillcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\",editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"}},{\\\"../../lib/extend\\\":591,\\\"../../traces/scatter/attributes\\\":926,\\\"../annotations/attributes\\\":457,\\\"../drawing/attributes\\\":498}],555:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=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,i,o,s){var l=t/2,c=s;if(\\\"pixel\\\"===e){var u=o?function(t,e){var r=[];return t.match(a.segmentRE).forEach(function(t){var n=e[t.charAt(0)].drawn;if(void 0!==n){var i=t.substr(1).match(a.paramRE);!i||i.length<n||r.push(i[n])}}),r}(o,s?a.paramIsY:a.paramIsX):[r,i],f=n.aggNums(Math.max,null,u),h=n.aggNums(Math.min,null,u),p=h<0?Math.abs(h)+l:l,d=f>0?f+l:l;return{ppad:l,ppadplus:c?p:d,ppadminus:c?d:p}}return{ppad:l}}function u(t,e,r,n,i){var s=\\\"category\\\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\\\"date\\\"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,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,f,h=r[o];if(\\\"paper\\\"!==h.xref){var p=\\\"pixel\\\"===h.xsizemode?h.xanchor:h.x0,d=\\\"pixel\\\"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),p,d,h.path,a.paramIsX))&&i.expand(c,f,s(h))}if(\\\"paper\\\"!==h.yref){var g=\\\"pixel\\\"===h.ysizemode?h.yanchor:h.y0,m=\\\"pixel\\\"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),g,m,h.path,a.paramIsY))&&i.expand(c,f,l(h))}}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./constants\\\":556,\\\"./helpers\\\":559}],556:[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}}},{}],557:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/array_container_defaults\\\"),i=t(\\\"./shape_defaults\\\");e.exports=function(t,e){n(t,e,{name:\\\"shapes\\\",handleItemDefaults:i})}},{\\\"../../plots/array_container_defaults\\\":644,\\\"./shape_defaults\\\":561}],558:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../color\\\"),s=t(\\\"../drawing\\\"),l=t(\\\"../dragelement\\\"),c=t(\\\"../../lib/setcursor\\\"),u=t(\\\"./constants\\\"),f=t(\\\"./helpers\\\");function h(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\\\"'+e+'\\\"]').remove();var r=(t.layout.shapes||[])[e],i=t._fullLayout.shapes[e];if(r&&!1!==i.visible)if(\\\"below\\\"!==i.layer)h(t._fullLayout._shapeUpperLayer);else if(\\\"paper\\\"===i.xref||\\\"paper\\\"===i.yref)h(t._fullLayout._shapeLowerLayer);else{var u=t._fullLayout._plots[i.xref+i.yref];if(u)h((u.mainplotinfo||u).shapelayer);else h(t._fullLayout._shapeLowerLayer)}function h(r){var u={\\\"data-index\\\":e,\\\"fill-rule\\\":\\\"evenodd\\\",d:p(t,i)},h=i.line.width?i.line.color:\\\"rgba(0,0,0,0)\\\",g=r.append(\\\"path\\\").attr(u).style(\\\"opacity\\\",i.opacity).call(o.stroke,h).call(o.fill,i.fillcolor).call(s.dashLine,i.line.dash,i.line.width),m=(i.xref+i.yref).replace(/paper/g,\\\"\\\");g.call(s.setClipUrl,m?\\\"clip\\\"+t._fullLayout._uid+m:null),t._context.edits.shapePosition&&function(t,e,r,i){var o,s,u,h,g,m,v,y,x,b,_,w,k,M,A,T,S,C,E,L,z,P,D,O,I,R,B,F,N,j,V,U,q,H,G=10,W=10,Y=\\\"pixel\\\"===r.xsizemode,X=\\\"pixel\\\"===r.ysizemode,Z={element:e.node(),gd:t,prepFn:function(e){F=a.getFromId(t,r.xref),N=a.getFromId(t,r.yref),j=f.getDataToPixel(t,F),V=f.getDataToPixel(t,N,!0),U=f.getPixelToData(t,F),q=f.getPixelToData(t,N,!0);var n=\\\"shapes[\\\"+i+\\\"]\\\";Y&&(m=j(r.xanchor),w=n+\\\".xanchor\\\");X&&(v=V(r.yanchor),k=n+\\\".yanchor\\\");\\\"path\\\"===r.type?(R=r.path,B=n+\\\".path\\\"):(s=Y?r.x0:j(r.x0),u=X?r.y0:V(r.y0),h=Y?r.x1:j(r.x1),g=X?r.y1:V(r.y1),y=n+\\\".x0\\\",x=n+\\\".y0\\\",b=n+\\\".x1\\\",_=n+\\\".y1\\\");s<h?(T=s,L=n+\\\".x0\\\",O=\\\"x0\\\",S=h,z=n+\\\".x1\\\",I=\\\"x1\\\"):(T=h,L=n+\\\".x1\\\",O=\\\"x1\\\",S=s,z=n+\\\".x0\\\",I=\\\"x0\\\");!X&&u<g||X&&u>g?(M=u,C=n+\\\".y0\\\",P=\\\"y0\\\",A=g,E=n+\\\".y1\\\",D=\\\"y1\\\"):(M=g,C=n+\\\".y1\\\",P=\\\"y1\\\",A=u,E=n+\\\".y0\\\",D=\\\"y0\\\");o={},J(e),Z.moveFn=\\\"move\\\"===H?K:Q},doneFn:function(){c(e),n.call(\\\"relayout\\\",t,o)}};function J(t){var r=Z.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=n>G&&i>W&&!t.shiftKey?l.getCursor(a/n,1-o/i):\\\"move\\\";c(e,s),H=s.split(\\\"-\\\")[0]}function K(n,i){if(\\\"path\\\"===r.type){var a=function(t){return t},l=a,c=a;Y?o[w]=r.xanchor=U(m+n):(l=function(t){return U(j(t)+n)},F&&\\\"date\\\"===F.type&&(l=f.encodeDate(l))),X?o[k]=r.yanchor=q(v+i):(c=function(t){return q(V(t)+i)},N&&\\\"date\\\"===N.type&&(c=f.encodeDate(c))),r.path=d(R,l,c),o[B]=r.path}else Y?o[w]=r.xanchor=U(m+n):(o[y]=r.x0=U(s+n),o[b]=r.x1=U(h+n)),X?o[k]=r.yanchor=q(v+i):(o[x]=r.y0=q(u+i),o[_]=r.y1=q(g+i));e.attr(\\\"d\\\",p(t,r))}function Q(n,i){if(\\\"path\\\"===r.type){var a=function(t){return t},s=a,l=a;Y?o[w]=r.xanchor=U(m+n):(s=function(t){return U(j(t)+n)},F&&\\\"date\\\"===F.type&&(s=f.encodeDate(s))),X?o[k]=r.yanchor=q(v+i):(l=function(t){return q(V(t)+i)},N&&\\\"date\\\"===N.type&&(l=f.encodeDate(l))),r.path=d(R,s,l),o[B]=r.path}else{var c=~H.indexOf(\\\"n\\\")?M+i:M,u=~H.indexOf(\\\"s\\\")?A+i:A,h=~H.indexOf(\\\"w\\\")?T+n:T,g=~H.indexOf(\\\"e\\\")?S+n:S;~H.indexOf(\\\"n\\\")&&X&&(c=M-i),~H.indexOf(\\\"s\\\")&&X&&(u=A-i),(!X&&u-c>W||X&&c-u>W)&&(o[C]=r[P]=X?c:q(c),o[E]=r[D]=X?u:q(u)),g-h>G&&(o[L]=r[O]=Y?h:U(h),o[z]=r[I]=Y?g:U(g))}e.attr(\\\"d\\\",p(t,r))}l.init(Z),e.node().onmousemove=J}(t,g,i,e)}}function p(t,e){var r,n,o,s,l,c,h,p,d=e.type,g=a.getFromId(t,e.xref),m=a.getFromId(t,e.yref),v=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=f.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},\\\"path\\\"===d)return g&&\\\"date\\\"===g.type&&(n=f.decodeDate(n)),m&&\\\"date\\\"===m.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(u.segmentRE,function(t){var n=0,c=t.charAt(0),f=u.paramIsX[c],h=u.paramIsY[c],p=u.numParams[c],d=t.substr(1).replace(u.paramRE,function(t){return f[n]?t=\\\"pixel\\\"===a?e(s)+Number(t):e(t):h[n]&&(t=\\\"pixel\\\"===o?r(l)-Number(t):r(t)),++n>p&&(t=\\\"X\\\"),t});return n>p&&(d=d.replace(/[\\\\s,]*X.*/,\\\"\\\"),i.log(\\\"Ignoring extra params in segment \\\"+t)),c+d})}(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);h=x-e.y0,p=x-e.y1}else h=s(e.y0),p=s(e.y1);if(\\\"line\\\"===d)return\\\"M\\\"+l+\\\",\\\"+h+\\\"L\\\"+c+\\\",\\\"+p;if(\\\"rect\\\"===d)return\\\"M\\\"+l+\\\",\\\"+h+\\\"H\\\"+c+\\\"V\\\"+p+\\\"H\\\"+l+\\\"Z\\\";var b=(l+c)/2,_=(h+p)/2,w=Math.abs(b-l),k=Math.abs(_-h),M=\\\"A\\\"+w+\\\",\\\"+k,A=b+w+\\\",\\\"+_;return\\\"M\\\"+A+M+\\\" 0 1,1 \\\"+(b+\\\",\\\"+(_-k))+M+\\\" 0 0,1 \\\"+A+\\\"Z\\\"}function d(t,e,r){return t.replace(u.segmentRE,function(t){var n=0,i=t.charAt(0),a=u.paramIsX[i],o=u.paramIsY[i],s=u.numParams[i];return i+t.substr(1).replace(u.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(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 i=0;i<e.shapes.length;i++)e.shapes[i].visible&&h(t,i)},drawOne:h}},{\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../dragelement\\\":496,\\\"../drawing\\\":499,\\\"./constants\\\":556,\\\"./helpers\\\":559}],559:[function(t,e,r){\\\"use strict\\\";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.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\\\"date\\\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i}},{}],560:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./draw\\\");e.exports={moduleType:\\\"component\\\",name:\\\"shapes\\\",layoutAttributes:t(\\\"./attributes\\\"),supplyLayoutDefaults:t(\\\"./defaults\\\"),includeBasePlot:t(\\\"../../plots/cartesian/include_components\\\")(\\\"shapes\\\"),calcAutorange:t(\\\"./calc_autorange\\\"),draw:n.draw,drawOne:n.drawOne}},{\\\"../../plots/cartesian/include_components\\\":658,\\\"./attributes\\\":554,\\\"./calc_autorange\\\":555,\\\"./defaults\\\":557,\\\"./draw\\\":558}],561:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./helpers\\\");e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,a,r,i)}if(s=s||{},!c(\\\"visible\\\",!(l=l||{}).itemIsNotPlainObject))return e;c(\\\"layer\\\"),c(\\\"opacity\\\"),c(\\\"fillcolor\\\"),c(\\\"line.color\\\"),c(\\\"line.width\\\"),c(\\\"line.dash\\\");for(var u=c(\\\"type\\\",t.path?\\\"path\\\":\\\"rect\\\"),f=c(\\\"xsizemode\\\"),h=c(\\\"ysizemode\\\"),p=[\\\"x\\\",\\\"y\\\"],d=0;d<2;d++){var g,m,v,y=p[d],x=y+\\\"anchor\\\",b=\\\"x\\\"===y?f:h,_={_fullLayout:r},w=i.coerceRef(t,e,_,y,\\\"\\\",\\\"paper\\\");if(\\\"paper\\\"!==w?(g=i.getFromId(_,w),v=o.rangeToShapePosition(g),m=o.shapePositionToRange(g)):m=v=n.identity,\\\"path\\\"!==u){var k=y+\\\"0\\\",M=y+\\\"1\\\",A=t[k],T=t[M];t[k]=m(t[k],!0),t[M]=m(t[M],!0),\\\"pixel\\\"===b?(c(k,0),c(M,10)):(i.coercePosition(e,_,c,w,k,.25),i.coercePosition(e,_,c,w,M,.75)),e[k]=v(e[k]),e[M]=v(e[M]),t[k]=A,t[M]=T}if(\\\"pixel\\\"===b){var S=t[x];t[x]=m(t[x],!0),i.coercePosition(e,_,c,w,x,.25),e[x]=v(e[x]),t[x]=S}}return\\\"path\\\"===u?c(\\\"path\\\"):n.noneOrAll(t,e,[\\\"x0\\\",\\\"x1\\\",\\\"y0\\\",\\\"y1\\\"]),e}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./attributes\\\":554,\\\"./helpers\\\":559}],562:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../plots/pad_attributes\\\"),a=t(\\\"../../lib/extend\\\").extendDeepAll,o=t(\\\"../../plot_api/edit_types\\\").overrideAll,s=t(\\\"../../plots/animation_attributes\\\"),l=t(\\\"./constants\\\");e.exports=o({_isLinkedToArray:\\\"slider\\\",visible:{valType:\\\"boolean\\\",dflt:!0},active:{valType:\\\"number\\\",min:0,dflt:0},steps:{_isLinkedToArray:\\\"step\\\",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}},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:a({},i,{},{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:l.gripBgActiveColor},bgcolor:{valType:\\\"color\\\",dflt:l.railBgColor},bordercolor:{valType:\\\"color\\\",dflt:l.railBorderColor},borderwidth:{valType:\\\"number\\\",min:0,dflt:l.railBorderWidth},ticklen:{valType:\\\"number\\\",min:0,dflt:l.tickLength},tickcolor:{valType:\\\"color\\\",dflt:l.tickColor},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},minorticklen:{valType:\\\"number\\\",min:0,dflt:l.minorTickLength}},\\\"arraydraw\\\",\\\"from-root\\\")},{\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/animation_attributes\\\":643,\\\"../../plots/font_attributes\\\":674,\\\"../../plots/pad_attributes\\\":709,\\\"./constants\\\":563}],563:[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}},{}],564:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/array_container_defaults\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./constants\\\").name,s=a.steps;function l(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i(\\\"visible\\\",function(t,e){var r,i,a=t.steps||[],o=e.steps=[];function l(t,e){return n.coerce(r,i,s,t,e)}for(var c=0;c<a.length;c++)r=a[c],i={},l(\\\"method\\\"),n.isPlainObject(r)&&(\\\"skip\\\"===i.method||Array.isArray(r.args))&&(l(\\\"args\\\"),l(\\\"label\\\",\\\"step-\\\"+c),l(\\\"value\\\",i.label),l(\\\"execute\\\"),o.push(i));return o}(t,e).length>0)&&(i(\\\"active\\\"),i(\\\"x\\\"),i(\\\"y\\\"),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),i(\\\"xanchor\\\"),i(\\\"yanchor\\\"),i(\\\"len\\\"),i(\\\"lenmode\\\"),i(\\\"pad.t\\\"),i(\\\"pad.r\\\"),i(\\\"pad.b\\\"),i(\\\"pad.l\\\"),n.coerceFont(i,\\\"font\\\",r.font),i(\\\"currentvalue.visible\\\")&&(i(\\\"currentvalue.xanchor\\\"),i(\\\"currentvalue.prefix\\\"),i(\\\"currentvalue.suffix\\\"),i(\\\"currentvalue.offset\\\"),n.coerceFont(i,\\\"currentvalue.font\\\",e.font)),i(\\\"transition.duration\\\"),i(\\\"transition.easing\\\"),i(\\\"bgcolor\\\"),i(\\\"activebgcolor\\\"),i(\\\"bordercolor\\\"),i(\\\"borderwidth\\\"),i(\\\"ticklen\\\"),i(\\\"tickwidth\\\"),i(\\\"tickcolor\\\"),i(\\\"minorticklen\\\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"./attributes\\\":562,\\\"./constants\\\":563}],565:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../legend/anchor_utils\\\"),u=t(\\\"./constants\\\"),f=t(\\\"../../constants/alignment\\\"),h=f.LINE_SPACING,p=f.FROM_TL,d=f.FROM_BR;function g(t){return t._index}function m(t,e){var r=o.tester.selectAll(\\\"g.\\\"+u.labelGroupClass).data(e.steps);r.enter().append(\\\"g\\\").classed(u.labelGroupClass,!0);var a=0,s=0;r.each(function(t){var r=x(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);s=Math.max(s,i.height),a=Math.max(a,i.width)}}),r.remove();var f=e._dims={};f.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var h=t._fullLayout._size;f.lx=h.l+h.w*e.x,f.ly=h.t+h.h*(1-e.y),\\\"fraction\\\"===e.lenmode?f.outerLength=Math.round(h.w*e.len):f.outerLength=e.len,f.inputAreaStart=0,f.inputAreaLength=Math.round(f.outerLength-e.pad.l-e.pad.r);var g=(f.inputAreaLength-2*u.stepInset)/(e.steps.length-1),m=a+u.labelPadding;if(f.labelStride=Math.max(1,Math.ceil(m/g)),f.labelHeight=s,f.currentValueMaxWidth=0,f.currentValueHeight=0,f.currentValueTotalHeight=0,f.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append(\\\"g\\\");r.each(function(t){var r=v(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=l.lineCount(r);f.currentValueMaxWidth=Math.max(f.currentValueMaxWidth,Math.ceil(n.width)),f.currentValueHeight=Math.max(f.currentValueHeight,Math.ceil(n.height)),f.currentValueMaxLines=Math.max(f.currentValueMaxLines,i)}),f.currentValueTotalHeight=f.currentValueHeight+e.currentvalue.offset,y.remove()}f.height=f.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+f.labelHeight+e.pad.t+e.pad.b;var b=\\\"left\\\";c.isRightAnchor(e)&&(f.lx-=f.outerLength,b=\\\"right\\\"),c.isCenterAnchor(e)&&(f.lx-=f.outerLength/2,b=\\\"center\\\");var _=\\\"top\\\";c.isBottomAnchor(e)&&(f.ly-=f.height,_=\\\"bottom\\\"),c.isMiddleAnchor(e)&&(f.ly-=f.height/2,_=\\\"middle\\\"),f.outerLength=Math.ceil(f.outerLength),f.height=Math.ceil(f.height),f.lx=Math.round(f.lx),f.ly=Math.round(f.ly),i.autoMargin(t,u.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:f.outerLength*p[b],r:f.outerLength*d[b],b:f.height*d[_],t:f.height*p[_]})}function v(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case\\\"right\\\":n=a.inputAreaLength-u.currentValueInset-a.currentValueMaxWidth,i=\\\"left\\\";break;case\\\"center\\\":n=.5*a.inputAreaLength,i=\\\"middle\\\";break;default:n=u.currentValueInset,i=\\\"left\\\"}var c=s.ensureSingle(t,\\\"text\\\",u.labelClass,function(t){t.classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":i,\\\"data-notex\\\":1})}),f=e.currentvalue.prefix?e.currentvalue.prefix:\\\"\\\";if(\\\"string\\\"==typeof r)f+=r;else f+=e.steps[e.active].label;e.currentvalue.suffix&&(f+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(f).call(l.convertToTspans,e._gd);var p=l.lineCount(c),d=(a.currentValueMaxLines+1-p)*e.currentvalue.font.size*h;return l.positionText(c,n,d),c}}function y(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(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style(\\\"stroke-width\\\",r.borderwidth+\\\"px\\\")}function x(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})});return n.call(o.font,r.font).text(e.step.label).call(l.convertToTspans,r._gd),n}function b(t,e){var r=s.ensureSingle(t,\\\"g\\\",u.labelsClass),i=e._dims,a=r.selectAll(\\\"g.\\\"+u.labelGroupClass).data(i.labelSteps);a.enter().append(\\\"g\\\").classed(u.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var r=n.select(this);r.call(x,t,e),o.setTranslate(r,T(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*h+u.labelOffset+i.currentValueTotalHeight)})}function _(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&w(t,e,r,a,!0,i)}function w(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(A,r,r.active/(r.steps.length-1),o),e.call(v,r),t.emit(\\\"plotly_sliderchange\\\",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function k(t,e,r){var i=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(a.fill,t.activebgcolor);var c=S(t,n.mouse(i)[0]);_(e,r,t,c,!0),t._dragging=!0,o.on(\\\"mousemove\\\",function(){var t=s(),a=S(t,n.mouse(i)[0]);_(e,r,t,a,!1)}),o.on(\\\"mouseup\\\",function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on(\\\"mouseup\\\",null),o.on(\\\"mousemove\\\",null),e.emit(\\\"plotly_sliderend\\\",{slider:t,step:t.steps[t.active]})})})}function M(t,e){var r=t.selectAll(\\\"rect.\\\"+u.tickRectClass).data(e.steps),i=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%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,T(e,r/(e.steps.length-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+i.currentValueTotalHeight)})}function A(t,e,r,n){var i=t.select(\\\"rect.\\\"+u.gripRectClass),a=T(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\\\"transform\\\",\\\"translate(\\\"+(a-.5*u.gripWidth)+\\\",\\\"+e._dims.currentValueTotalHeight+\\\")\\\")}}function T(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function S(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,i=s.ensureSingle(t,\\\"rect\\\",u.railTouchRectClass,function(n){n.call(k,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\\\"opacity\\\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function E(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,i=s.ensureSingle(t,\\\"rect\\\",u.railRectClass);i.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,\\\"shape-rendering\\\":\\\"crispEdges\\\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\"),o.setTranslate(i,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=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll(\\\"g.\\\"+u.containerClassName).data(r.length>0?[0]:[]);if(a.enter().append(\\\"g\\\").classed(u.containerClassName,!0).style(\\\"cursor\\\",\\\"ew-resize\\\"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var a=r[n];-1!==a.indexOf(u.autoMarginIdRoot)&&i.autoMargin(t,a)}}(t),0!==r.length){var s=a.selectAll(\\\"g.\\\"+u.groupClassName).data(r,g);s.enter().append(\\\"g\\\").classed(u.groupClassName,!0),s.exit().each(function(e){n.select(this).remove(),e._commandObserver.remove(),delete e._commandObserver,i.autoMargin(t,u.autoMarginIdRoot+e._index)});for(var l=0;l<r.length;l++){var c=r[l];m(t,c)}s.each(function(e){if(!(e.steps.length<2)){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t.steps.length,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t.steps[n]})}(e),i.manageCommandObserver(t,e,e.steps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||w(t,r,n,e.index,!1,!0))}),function(t,e,r){r.active>=r.steps.length&&(r.active=0);e.call(v,r).call(E,r).call(b,r).call(M,r).call(C,t,r).call(y,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(A,r,r.active/(r.steps.length-1),!1),e.call(v,r)}(t,n.select(this),e)}})}}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../color\\\":474,\\\"../drawing\\\":499,\\\"../legend/anchor_utils\\\":526,\\\"./constants\\\":563,d3:130}],566:[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\\\":562,\\\"./constants\\\":563,\\\"./defaults\\\":564,\\\"./draw\\\":565}],567:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../drawing\\\"),c=t(\\\"../color\\\"),u=t(\\\"../../lib/svg_text_utils\\\"),f=t(\\\"../../constants/interactions\\\");e.exports={draw:function(t,e,r){var p,d=r.propContainer,g=r.propName,m=r.placeholder,v=r.traceIndex,y=r.avoid||{},x=r.attributes,b=r.transform,_=r.containerGroup,w=t._fullLayout,k=d.titlefont||{},M=k.family,A=k.size,T=k.color,S=1,C=!1,E=(d.title||\\\"\\\").trim();\\\"title\\\"===g?p=\\\"titleText\\\":-1!==g.indexOf(\\\"axis\\\")?p=\\\"axisTitleText\\\":g.indexOf(!0)&&(p=\\\"colorbarTitleText\\\");var L=t._context.edits[p];\\\"\\\"===E?S=0:E.replace(h,\\\" % \\\")===m.replace(h,\\\" % \\\")&&(S=.2,C=!0,L||(E=\\\"\\\"));var z=E||L;_||(_=s.ensureSingle(w._infolayer,\\\"g\\\",\\\"g-\\\"+e));var P=_.selectAll(\\\"text\\\").data(z?[0]:[]);if(P.enter().append(\\\"text\\\"),P.text(E).attr(\\\"class\\\",e),P.exit().remove(),!z)return _;function D(t){s.syncOrAsync([O,I],t)}function O(e){var r;return b?(r=\\\"\\\",b.rotate&&(r+=\\\"rotate(\\\"+[b.rotate,x.x,x.y]+\\\")\\\"),b.offset&&(r+=\\\"translate(0, \\\"+b.offset+\\\")\\\")):r=null,e.attr(\\\"transform\\\",r),e.style({\\\"font-family\\\":M,\\\"font-size\\\":n.round(A,2)+\\\"px\\\",fill:c.rgb(T),opacity:S*c.opacity(T),\\\"font-weight\\\":a.fontWeight}).attr(x).call(u.convertToTspans,t),a.previousPromises(t)}function I(t){var e=n.select(t.node().parentNode);if(y&&y.selection&&y.side&&E){e.attr(\\\"transform\\\",null);var r=0,a={left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}[y.side],o=-1!==[\\\"left\\\",\\\"top\\\"].indexOf(y.side)?-1:1,c=i(y.pad)?y.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:w.width,bottom:w.height},h=y.maxShift||(f[y.side]-u[y.side])*(\\\"left\\\"===y.side||\\\"top\\\"===y.side?-1:1);if(h<0)r=h;else{var p=y.offsetLeft||0,d=y.offsetTop||0;u.left-=p,u.right-=p,u.top-=d,u.bottom-=d,y.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&&(r=Math.max(r,o*(t[y.side]-u[a])+c))}),r=Math.min(h,r)}if(r>0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr(\\\"transform\\\",\\\"translate(\\\"+g+\\\")\\\")}}}P.call(D),L&&(E?P.on(\\\".opacity\\\",null):(S=0,C=!0,P.text(m).on(\\\"mouseover.opacity\\\",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\\\"opacity\\\",0)})),P.call(u.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){void 0!==v?o.call(\\\"restyle\\\",t,g,e,v):o.call(\\\"relayout\\\",t,g,e)}).on(\\\"cancel\\\",function(){this.text(this.attr(\\\"data-unformatted\\\")).call(D)}).on(\\\"input\\\",function(t){this.text(t||\\\" \\\").call(u.positionText,x.x,x.y)}));return P.classed(\\\"js-placeholder\\\",C),_}};var h=/ [XY][0-9]* /},{\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"../color\\\":474,\\\"../drawing\\\":499,d3:130,\\\"fast-isnumeric\\\":196}],568:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=t(\\\"../../plot_api/edit_types\\\").overrideAll,s=t(\\\"../../plots/pad_attributes\\\");e.exports=o({_isLinkedToArray:\\\"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:{_isLinkedToArray:\\\"button\\\",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\\\",dflt:\\\"\\\"},execute:{valType:\\\"boolean\\\",dflt:!0}},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:a({},s,{}),font:n({}),bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:i.borderLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"arraydraw\\\"}},\\\"arraydraw\\\",\\\"from-root\\\")},{\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/font_attributes\\\":674,\\\"../../plots/pad_attributes\\\":709,\\\"../color/attributes\\\":473}],569:[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\\\"}}},{}],570:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/array_container_defaults\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./constants\\\").name,s=a.buttons;function l(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i(\\\"visible\\\",function(t,e){var r,i,a=t.buttons||[],o=e.buttons=[];function l(t,e){return n.coerce(r,i,s,t,e)}for(var c=0;c<a.length;c++)r=a[c],i={},l(\\\"method\\\"),n.isPlainObject(r)&&(\\\"skip\\\"===i.method||Array.isArray(r.args))&&(l(\\\"args\\\"),l(\\\"label\\\"),l(\\\"execute\\\"),i._index=c,o.push(i));return o}(t,e).length>0)&&(i(\\\"active\\\"),i(\\\"direction\\\"),i(\\\"type\\\"),i(\\\"showactive\\\"),i(\\\"x\\\"),i(\\\"y\\\"),n.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),i(\\\"xanchor\\\"),i(\\\"yanchor\\\"),i(\\\"pad.t\\\"),i(\\\"pad.r\\\"),i(\\\"pad.b\\\"),i(\\\"pad.l\\\"),n.coerceFont(i,\\\"font\\\",r.font),i(\\\"bgcolor\\\",r.paper_bgcolor),i(\\\"bordercolor\\\"),i(\\\"borderwidth\\\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\\\"../../lib\\\":602,\\\"../../plots/array_container_defaults\\\":644,\\\"./attributes\\\":568,\\\"./constants\\\":569}],571:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/plots\\\"),a=t(\\\"../color\\\"),o=t(\\\"../drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../legend/anchor_utils\\\"),u=t(\\\"../../constants/alignment\\\").LINE_SPACING,f=t(\\\"./constants\\\"),h=t(\\\"./scrollbox\\\");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\\\"buttons\\\"===e.type?v(t,n,null,null,e):\\\"dropdown\\\"===e.type&&(i.attr(f.menuIndexAttrName,\\\"-1\\\"),m(t,n,i,a,e),s||v(t,n,i,a,e))}function m(t,e,r,n,i){var a=s.ensureSingle(e,\\\"g\\\",f.headerClassName,function(t){t.style(\\\"pointer-events\\\",\\\"all\\\")}),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(A,i,h,p),s.ensureSingle(e,\\\"text\\\",f.headerArrowClassName,function(t){t.classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"end\\\").call(o.font,i.font).text(f.arrowSymbol[i.direction])}).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on(\\\"click\\\",function(){r.call(T),r.attr(f.menuIndexAttrName,d(r,i)?-1:String(i._index)),v(t,e,r,n,i)}),a.on(\\\"mouseover\\\",function(){a.call(w)}),a.on(\\\"mouseout\\\",function(){a.call(k,i)}),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr(\\\"pointer-events\\\",\\\"all\\\");var s=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&\\\"buttons\\\"!==o.type?[]:o.buttons,l=\\\"dropdown\\\"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll(\\\"g.\\\"+l).data(s),u=c.enter().append(\\\"g\\\").classed(l,!0),h=c.exit();\\\"dropdown\\\"===o.type?(u.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),h.transition().attr(\\\"opacity\\\",\\\"0\\\").remove()):h.remove();var p=0,d=0,m=o._dims,v=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(o.direction);\\\"dropdown\\\"===o.type&&(v?d=m.headerHeight+f.gapButtonHeader:p=m.headerWidth+f.gapButtonHeader),\\\"dropdown\\\"===o.type&&\\\"up\\\"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-m.openHeight),\\\"dropdown\\\"===o.type&&\\\"left\\\"===o.direction&&(p=-f.gapButtonHeader+f.gapButton-m.openWidth);var x={x:m.lx+p+o.pad.l,y:m.ly+d+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},b={l:x.x+o.borderwidth,t:x.y+o.borderwidth};c.each(function(s,l){var u=n.select(this);u.call(y,o,s,t).call(A,o,x),u.on(\\\"click\\\",function(){n.event.defaultPrevented||(g(t,o,0,e,r,a,l),s.execute&&i.executeAPICommand(t,s.method,s.args),t.emit(\\\"plotly_buttonclicked\\\",{menu:o,button:s,active:o.active}))}),u.on(\\\"mouseover\\\",function(){u.call(w)}),u.on(\\\"mouseout\\\",function(){u.call(k,o),c.call(_,o)})}),c.call(_,o),v?(b.w=Math.max(m.openWidth,m.headerWidth),b.h=x.y-b.t):(b.w=x.x-b.l,b.h=Math.max(m.openHeight,m.headerHeight)),b.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=\\\"up\\\"===c||\\\"down\\\"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=h.heights[l]+f.gapButton;else for(o=0,l=0;l<p;l++)o+=h.widths[l]+f.gapButton;n.enable(a,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,a,o,b):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()})}(a))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,\\\"rect\\\",f.itemRectClassName,function(t){t.attr({rx:f.rx,ry:f.ry,\\\"shape-rendering\\\":\\\"crispEdges\\\"})}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function b(t,e,r,n){s.ensureSingle(t,\\\"text\\\",f.itemTextClassName,function(t){t.classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"start\\\",\\\"data-notex\\\":1})}).call(o.font,e.font).text(r.label).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each(function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select(\\\"rect.\\\"+f.itemRectClassName).call(a.fill,f.activeColor)})}function w(t){t.select(\\\"rect.\\\"+f.itemRectClassName).call(a.fill,f.hoverColor)}function k(t,e){t.select(\\\"rect.\\\"+f.itemRectClassName).call(a.fill,e.bgcolor)}function M(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll(\\\"g.\\\"+f.dropdownButtonClassName).data(e.buttons);a.enter().append(\\\"g\\\").classed(f.dropdownButtonClassName,!0);var s=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction);a.each(function(i,a){var c=n.select(this);c.call(y,e,i,t);var h=c.select(\\\".\\\"+f.itemTextClassName),p=h.node()&&o.bBox(h.node()).width,d=Math.max(p+f.textPadX,f.minWidth),g=e.font.size*u,m=l.lineCount(h),v=Math.max(g*m,f.minHeight)+f.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),s?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+f.gapButton,r.openHeight+=v+f.gapButton):(r.totalWidth+=d+f.gapButton,r.openWidth+=d+f.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)}),s?r.totalHeight-=f.gapButton:r.totalWidth-=f.gapButton,r.headerWidth=r.width1+f.arrowPadX,r.headerHeight=r.height1,\\\"dropdown\\\"===e.type&&(s?(r.width1+=f.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=f.arrowPadX),a.remove();var h=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\\\";c.isRightAnchor(e)&&(r.lx-=h,g=\\\"right\\\"),c.isCenterAnchor(e)&&(r.lx-=h/2,g=\\\"center\\\");var m=\\\"top\\\";c.isBottomAnchor(e)&&(r.ly-=p,m=\\\"bottom\\\"),c.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),i.autoMargin(t,f.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:h*({right:1,center:.5}[g]||0),r:h*({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,e,r,n){n=n||{};var i=t.select(\\\".\\\"+f.itemRectClassName),a=t.select(\\\".\\\"+f.itemTextClassName),s=e.borderwidth,c=r.index,h=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction),d=n.height||(p?h.heights[c]:h.height1);i.attr({x:0,y:0,width:n.width||(p?h.width1:h.widths[c]),height:d});var g=e.font.size*u,m=(l.lineCount(a)-1)*g/2;l.positionText(a,f.textOffsetX,d/2-m+f.textOffsetY),p?r.y+=h.heights[c]+r.yPad:r.x+=h.widths[c]+r.xPad,r.index++}function T(t){t.selectAll(\\\"g.\\\"+f.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=function(t){for(var e=t[f.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}(e),a=e._menulayer.selectAll(\\\"g.\\\"+f.containerClassName).data(r.length>0?[0]:[]);if(a.enter().append(\\\"g\\\").classed(f.containerClassName,!0).style(\\\"cursor\\\",\\\"pointer\\\"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var a=r[n];-1!==a.indexOf(f.autoMarginIdRoot)&&i.autoMargin(t,a)}}(t),0!==r.length){var o=a.selectAll(\\\"g.\\\"+f.headerGroupClassName).data(r,p);o.enter().append(\\\"g\\\").classed(f.headerGroupClassName,!0);for(var l=s.ensureSingle(a,\\\"g\\\",f.dropdownButtonGroupClassName,function(t){t.style(\\\"pointer-events\\\",\\\"all\\\")}),c=0;c<r.length;c++){var u=r[c];M(t,u)}var y=\\\"updatemenus\\\"+e._uid,x=new h(t,l,y);o.enter().size()&&(l.node().parentNode.appendChild(l.node()),l.call(T).attr(f.menuIndexAttrName,\\\"-1\\\")),o.exit().each(function(e){n.select(this).remove(),l.call(T).attr(f.menuIndexAttrName,\\\"-1\\\"),i.autoMargin(t,f.autoMarginIdRoot+e._index)}),o.each(function(e){var r=n.select(this),a=\\\"dropdown\\\"===e.type?l:null;i.manageCommandObserver(t,e,e.buttons,function(n){g(t,e,e.buttons[n.index],r,a,x,n.index,!0)}),\\\"dropdown\\\"===e.type?(m(t,r,l,x,e),d(l,e)&&v(t,r,l,x,e)):v(t,r,null,null,e)})}}},{\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../color\\\":474,\\\"../drawing\\\":499,\\\"../legend/anchor_utils\\\":526,\\\"./constants\\\":569,\\\"./scrollbox\\\":573,d3:130}],572:[function(t,e,r){arguments[4][566][0].apply(r,arguments)},{\\\"./attributes\\\":568,\\\"./constants\\\":569,\\\"./defaults\\\":570,\\\"./draw\\\":571,dup:566}],573:[function(t,e,r){\\\"use strict\\\";e.exports=s;var n=t(\\\"d3\\\"),i=t(\\\"../color\\\"),a=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,f,h,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,k=v;x||b||\\\"right\\\"===y||_||(this.position.direction=\\\"down\\\",x=!0),x||_?(f=(u=d)+w,x?(h=m,k=(p=Math.min(h+k,c))-h):k=(p=m+k)-(h=Math.max(p-k,0))):(p=(h=m)+k,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:k};var M=g>w,A=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,C=m+v;C+T>c&&(C=c-T);var E=this.container.selectAll(\\\"rect.scrollbar-horizontal\\\").data(M?[0]:[]);E.exit().on(\\\".drag\\\",null).remove(),E.enter().append(\\\"rect\\\").classed(\\\"scrollbar-horizontal\\\",!0).call(i.fill,s.barColor),M?(this.hbar=E.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:C,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>k,z=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,D=d+g,O=m;D+z>l&&(D=l-z);var I=this.container.selectAll(\\\"rect.scrollbar-vertical\\\").data(L?[0]:[]);I.exit().on(\\\".drag\\\",null).remove(),I.enter().append(\\\"rect\\\").classed(\\\"scrollbar-vertical\\\",!0).call(i.fill,s.barColor),L?(this.vbar=I.attr({rx:s.barRadius,ry:s.barRadius,x:D,y:O,width:z,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,B=u-.5,F=L?f+z+.5:f+.5,N=h-.5,j=M?p+T+.5:p+.5,V=o._topdefs.selectAll(\\\"#\\\"+R).data(M||L?[0]:[]);if(V.exit().remove(),V.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",R).append(\\\"rect\\\"),M||L?(this._clipRect=V.select(\\\"rect\\\").attr({x:Math.floor(B),y:Math.floor(N),width:Math.ceil(F)-Math.floor(B),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R),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(a.setClipUrl,null),delete this._clipRect),M||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));M&&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(a.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,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(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(a.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 i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{\\\"../../lib\\\":602,\\\"../color\\\":474,\\\"../drawing\\\":499,d3:130}],574:[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,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}}},{}],575:[function(t,e,r){\\\"use strict\\\";e.exports={COMPARISON_OPS:[\\\"=\\\",\\\"!=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],COMPARISON_OPS2:[\\\"=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],INTERVAL_OPS:[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],SET_OPS:[\\\"{}\\\",\\\"}{\\\"],CONSTRAINT_REDUCTION:{\\\"=\\\":\\\"=\\\",\\\"<\\\":\\\"<\\\",\\\"<=\\\":\\\"<\\\",\\\">\\\":\\\">\\\",\\\">=\\\":\\\">\\\",\\\"[]\\\":\\\"[]\\\",\\\"()\\\":\\\"[]\\\",\\\"[)\\\":\\\"[]\\\",\\\"(]\\\":\\\"[]\\\",\\\"][\\\":\\\"][\\\",\\\")(\\\":\\\"][\\\",\\\"](\\\":\\\"][\\\",\\\")[\\\":\\\"][\\\"}}},{}],576:[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]}},{}],577:[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\\\"}},{}],578:[function(t,e,r){\\\"use strict\\\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],579:[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:1-1e-6,MINUS_SIGN:\\\"\\\\u2212\\\"}},{}],580:[function(t,e,r){\\\"use strict\\\";e.exports={entityToUnicode:{mu:\\\"\\\\u03bc\\\",\\\"#956\\\":\\\"\\\\u03bc\\\",amp:\\\"&\\\",\\\"#28\\\":\\\"&\\\",lt:\\\"<\\\",\\\"#60\\\":\\\"<\\\",gt:\\\">\\\",\\\"#62\\\":\\\">\\\",nbsp:\\\"\\\\xa0\\\",\\\"#160\\\":\\\"\\\\xa0\\\",times:\\\"\\\\xd7\\\",\\\"#215\\\":\\\"\\\\xd7\\\",plusmn:\\\"\\\\xb1\\\",\\\"#177\\\":\\\"\\\\xb1\\\",deg:\\\"\\\\xb0\\\",\\\"#176\\\":\\\"\\\\xb0\\\"}}},{}],581:[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}},{}],582:[function(t,e,r){\\\"use strict\\\";r.version=\\\"1.37.1\\\",t(\\\"es6-promise\\\").polyfill(),t(\\\"../build/plotcss\\\"),t(\\\"./fonts/mathjax_config\\\");for(var n=t(\\\"./registry\\\"),i=r.register=n.register,a=t(\\\"./plot_api\\\"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];r[l]=a[l],i({moduleType:\\\"apiMethod\\\",name:l,fn:a[l]})}i(t(\\\"./traces/scatter\\\")),i([t(\\\"./components/fx\\\"),t(\\\"./components/legend\\\"),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\\\")]),i([t(\\\"./locale-en\\\"),t(\\\"./locale-en-us\\\")]),r.Icons=t(\\\"../build/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,\\\"../build/ploticon\\\":2,\\\"./components/annotations\\\":465,\\\"./components/annotations3d\\\":470,\\\"./components/errorbars\\\":505,\\\"./components/fx\\\":516,\\\"./components/grid\\\":520,\\\"./components/images\\\":525,\\\"./components/legend\\\":534,\\\"./components/rangeselector\\\":546,\\\"./components/rangeslider\\\":552,\\\"./components/shapes\\\":560,\\\"./components/sliders\\\":566,\\\"./components/updatemenus\\\":572,\\\"./fonts/mathjax_config\\\":583,\\\"./lib/queue\\\":617,\\\"./locale-en\\\":631,\\\"./locale-en-us\\\":630,\\\"./plot_api\\\":635,\\\"./plot_api/plot_schema\\\":639,\\\"./plots/plots\\\":710,\\\"./registry\\\":732,\\\"./snapshot\\\":737,\\\"./traces/scatter\\\":938,d3:130,\\\"es6-promise\\\":184}],583:[function(t,e,r){\\\"use strict\\\";\\\"undefined\\\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\\\"none\\\",skipStartupTypeset:!0,displayAlign:\\\"left\\\",tex2jax:{inlineMath:[[\\\"$\\\",\\\"$\\\"],[\\\"\\\\\\\\(\\\",\\\"\\\\\\\\)\\\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],584:[function(t,e,r){\\\"use strict\\\";var n=Math.PI;r.deg2rad=function(t){return t/180*n},r.rad2deg=function(t){return t/n*180},r.wrap360=function(t){var e=t%360;return e<0?e+360:e},r.wrap180=function(t){return Math.abs(t)>180&&(t-=360*Math.round(t/360)),t}},{}],585:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../constants/numerical\\\").BADNUM,a=/^['\\\"%,$#\\\\s']+|[, ]|['\\\"%,$#\\\\s']+$/g;e.exports=function(t){return\\\"string\\\"==typeof t&&(t=t.replace(a,\\\"\\\")),n(t)?Number(t):i}},{\\\"../constants/numerical\\\":579,\\\"fast-isnumeric\\\":196}],586:[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})})}},{}],587:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../plots/attributes\\\"),o=t(\\\"../components/colorscale/get_scale\\\"),s=(Object.keys(t(\\\"../components/colorscale/scales\\\")),t(\\\"./nested_property\\\")),l=t(\\\"./regex\\\").counter,c=t(\\\"../constants/interactions\\\").DESELECTDIM,u=t(\\\"./angles\\\").wrap180,f=t(\\\"./is_array\\\").isArrayOrTypedArray;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(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 i=String(r[n]);if(\\\"/\\\"===i.charAt(0)&&\\\"/\\\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.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,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t){var i=\\\"number\\\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){\\\"auto\\\"===t?e.set(\\\"auto\\\"):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||l(r);\\\"string\\\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\\\"string\\\"==typeof t&&!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\\\"+\\\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.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,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||\\\"1-2\\\"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.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]:[],f=v?p.length:g?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],g?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var n=e.items,i=Array.isArray(n),a=2===e.dimensions;if(!e.freeLength&&t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(a){if(!Array.isArray(t[o])||!e.freeLength&&t[o].length!==n[o].length)return!1;for(var s=0;s<t[o].length;s++)if(!r.validate(t[o][s],i?n[o][s]:n))return!1}else if(!r.validate(t[o],i?n[o]:n))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get();return void 0===a&&(a=o.dflt),o.arrayOk&&f(u)?(c.set(u),u):(r.valObjectMeta[o.valType].coerceFunction(u,c,a,o),c.get())},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return void 0!==c&&null!==c&&l},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 i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c=\\\"all\\\"===l.dflt?l.flags.slice():l.dflt.split(\\\"+\\\");c.splice(c.indexOf(\\\"name\\\"),1),i=c.join(\\\"+\\\")}return r.coerce(t,e,s,\\\"hoverinfo\\\",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)f(i)||t.selected||t.unselected||(r=i,n=c*i),e(\\\"selected.marker.opacity\\\",r),e(\\\"unselected.marker.opacity\\\",n)}},r.validate=function(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&f(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}},{\\\"../components/colorscale/get_scale\\\":487,\\\"../components/colorscale/scales\\\":493,\\\"../constants/interactions\\\":578,\\\"../plots/attributes\\\":645,\\\"./angles\\\":584,\\\"./is_array\\\":603,\\\"./nested_property\\\":610,\\\"./regex\\\":618,\\\"fast-isnumeric\\\":196,tinycolor2:415}],588:[function(t,e,r){\\\"use strict\\\";var n,i,a=t(\\\"d3\\\"),o=t(\\\"fast-isnumeric\\\"),s=t(\\\"./loggers\\\"),l=t(\\\"./mod\\\"),c=t(\\\"../constants/numerical\\\"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t(\\\"../registry\\\"),v=a.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))return(t=Number(t)-t.getTimezoneOffset()*p)>=n&&t<=i?t:u;if(\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t)return u;t=String(t);var a=_(e),o=t.charAt(0);!a||\\\"G\\\"!==o&&\\\"g\\\"!==o||(t=t.substr(1),e=\\\"\\\");var s=a&&\\\"chinese\\\"===e.substr(0,7),l=t.match(s?x:y);if(!l)return u;var c=l[1],v=l[3]||\\\"1\\\",w=Number(l[5]||1),k=Number(l[7]||0),M=Number(l[9]||0),A=Number(l[11]||0);if(a){if(2===c.length)return u;var T;c=Number(c);try{var S=m.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e);if(s){var C=\\\"i\\\"===v.charAt(v.length-1);v=parseInt(v,10),T=S.newDate(c,S.toMonthIndex(c,v,C),w)}else T=S.newDate(c,Number(v),w)}catch(t){return u}return T?(T.toJD()-g)*f+k*h+M*p+A*d:u}c=2===c.length?(Number(c)+2e3-b)%100+b:Number(c),v-=1;var E=new Date(Date.UTC(2e3,v,w,k,M));return E.setUTCFullYear(c),E.getUTCMonth()!==v?u:E.getUTCDate()!==w?u:E.getTime()+A*d},n=r.MIN_MS=r.dateTime2ms(\\\"-9999\\\"),i=r.MAX_MS=r.dateTime2ms(\\\"9999-12-31 23:59:59.9999\\\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,M=3*h,A=5*p;function T(t,e,r,n,i){if((e||r||n||i)&&(t+=\\\" \\\"+w(e,2)+\\\":\\\"+w(r,2),(n||i)&&(t+=\\\":\\\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\\\".\\\"+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if(\\\"number\\\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,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/f)+g,C=Math.floor(l(t,f));try{a=m.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r).fromJD(S).formatDate(\\\"yyyy-mm-dd\\\")}catch(t){a=v(\\\"G%Y-%m-%d\\\")(new Date(w))}if(\\\"-\\\"===a.charAt(0))for(;a.length<11;)a=\\\"-0\\\"+a.substr(1);else for(;a.length<10;)a=\\\"0\\\"+a;o=e<k?Math.floor(C/h):0,s=e<k?Math.floor(C%h/p):0,c=e<M?Math.floor(C%p/d):0,y=e<A?C%d*10+b:0}else x=new Date(w),a=v(\\\"%Y-%m-%d\\\")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<M?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return T(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format(\\\"%Y-%m-%d\\\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(r.isJSDate(t)||\\\"number\\\"==typeof 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 C(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 i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod(\\\"calendars\\\",\\\"worldCalFmt\\\")(t,e,n)}catch(t){return\\\"Invalid\\\"}return r(t)(i)}var E=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if(\\\"y\\\"===r)e=a.year;else if(\\\"m\\\"===r)e=a.month;else{if(\\\"d\\\"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+\\\":\\\"+w(l(Math.floor(r/p),60),2);if(\\\"M\\\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),E[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\\\"\\\").replace(/[\\\\.]$/,\\\"\\\")),n+=\\\":\\\"+i}return n}(t,r)+\\\"\\\\n\\\"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+\\\"\\\\n\\\"+a.year}return C(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\\\"m\\\"):a.add(o,e/12,\\\"y\\\"),(o.toJD()-g)*f+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,i=0,a=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%f))if(c)try{1===(r=c.fromJD(n/f+g)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{\\\"../constants/numerical\\\":579,\\\"../registry\\\":732,\\\"./loggers\\\":607,\\\"./mod\\\":609,d3:130,\\\"fast-isnumeric\\\":196}],589:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],590:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"events\\\").EventEmitter,i={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,i){\\\"undefined\\\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\\\"undefined\\\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},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=i},{events:194}],591:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is_plain_object.js\\\"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(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&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):(void 0!==u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{\\\"./is_plain_object.js\\\":604}],592:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],593:[function(t,e,r){\\\"use strict\\\";function n(t){return!0===t.visible}function i(t){return!0===t[0].trace.visible}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],594:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"country-regex\\\"),i=t(\\\"../lib\\\"),a=Object.keys(n),o={\\\"ISO-3\\\":i.identity,\\\"USA-states\\\":i.identity,\\\"country names\\\":function(t){for(var e=0;e<a.length;e++){var r=a[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return i.log(\\\"Unrecognized country name: \\\"+t+\\\".\\\"),!1}};r.locationToFeature=function(t,e,r){if(!e||\\\"string\\\"!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===n)return s}i.log([\\\"Location with id\\\",n,\\\"does not have a matching topojson feature at this resolution.\\\"].join(\\\" \\\"))}return!1}},{\\\"../lib\\\":602,\\\"country-regex\\\":114}],595:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../constants/numerical\\\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),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\\\":579}],596:[function(t,e,r){\\\"use strict\\\";var n,i,a,o=t(\\\"./mod\\\");function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var g=(c*p-u*h)/d,m=(c*f-l*h)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=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)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,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,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{\\\"./mod\\\":609}],597:[function(t,e,r){\\\"use strict\\\";e.exports=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||void 0===t)throw new Error(\\\"DOM element provided is null or undefined\\\");return t}},{}],598:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"color-normalize\\\"),a=t(\\\"../components/colorscale\\\"),o=t(\\\"../components/color/attributes\\\").defaultLine,s=t(\\\"./is_array\\\").isArrayOrTypedArray,l=i(o),c=1;function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return l;var e=i(t);return e.length?e:l}function h(t){return n(t)?t:c}e.exports=function(t,e,r){var n,o,p,d,g,m=t.color,v=s(m),y=s(e),x=[];if(n=void 0!==t.colorscale?a.makeColorScaleFunc(a.extractScale(t.colorscale,t.cmin,t.cmax)):f,o=v?function(t,e){return void 0===t[e]?l:i(n(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?c:h(t[e])}:h,v||y)for(var b=0;b<r;b++)d=o(m,b),g=p(e,b),x[b]=u(d,g);else x=u(i(m),e);return x}},{\\\"../components/color/attributes\\\":473,\\\"../components/colorscale\\\":489,\\\"./is_array\\\":603,\\\"color-normalize\\\":100,\\\"fast-isnumeric\\\":196}],599:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./identity\\\");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{\\\"./identity\\\":601}],600:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"superscript-text\\\"),i=t(\\\"../constants/string_mappings\\\");e.exports=function(t){return\\\"\\\"+function(t){for(var e=i.entityToUnicode,r=0;(r=t.indexOf(\\\"&\\\",r))>=0;){var n=t.indexOf(\\\";\\\",r);if(n<r)r+=1;else{var a=e[t.slice(r+1,n)];t=a?t.slice(0,r)+a+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\\\\<.*\\\\>/g,\\\"\\\")}(function(t){for(var e=0;(e=t.indexOf(\\\"<sup>\\\",e))>=0;){var r=t.indexOf(\\\"</sup>\\\",e);if(r<e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\\\<br\\\\>/g,\\\"\\\\n\\\"))))}},{\\\"../constants/string_mappings\\\":580,\\\"superscript-text\\\":408}],601:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t}},{}],602:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../constants/numerical\\\"),o=a.FP_SAFE,s=a.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.mod=t(\\\"./mod\\\"),l.toLogRange=t(\\\"./to_log_range\\\"),l.relinkPrivateKeys=t(\\\"./relink_private\\\"),l.ensureArray=t(\\\"./ensure_array\\\");var c=t(\\\"./is_array\\\");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D;var u=t(\\\"./coerce\\\");l.valObjectMeta=u.valObjectMeta,l.coerce=u.coerce,l.coerce2=u.coerce2,l.coerceFont=u.coerceFont,l.coerceHoverinfo=u.coerceHoverinfo,l.coerceSelectionMarkerOpacity=u.coerceSelectionMarkerOpacity,l.validate=u.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 h=t(\\\"./search\\\");l.findBin=h.findBin,l.sorterAsc=h.sorterAsc,l.sorterDes=h.sorterDes,l.distinctVals=h.distinctVals,l.roundUp=h.roundUp;var p=t(\\\"./stats\\\");l.aggNums=p.aggNums,l.len=p.len,l.mean=p.mean,l.variance=p.variance,l.stdev=p.stdev,l.interp=p.interp;var d=t(\\\"./matrix\\\");l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var g=t(\\\"./angles\\\");l.deg2rad=g.deg2rad,l.rad2deg=g.rad2deg,l.wrap360=g.wrap360,l.wrap180=g.wrap180;var m=t(\\\"./geometry2d\\\");l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var v=t(\\\"./extend\\\");l.extendFlat=v.extendFlat,l.extendDeep=v.extendDeep,l.extendDeepAll=v.extendDeepAll,l.extendDeepNoArrays=v.extendDeepNoArrays;var y=t(\\\"./loggers\\\");l.log=y.log,l.warn=y.warn,l.error=y.error;var x=t(\\\"./regex\\\");l.counterRegex=x.counter;var b=t(\\\"./throttle\\\");l.throttle=b.throttle,l.throttleDone=b.done,l.clearThrottle=b.clear,l.getGraphDiv=t(\\\"./get_graph_div\\\"),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 i(t)?(t=Number(t))<-o||t>o?s:i(t)?Number(t):s:s},l.noop=t(\\\"./noop\\\"),l.identity=t(\\\"./identity\\\"),l.swapAttrs=function(t,e,r,n){r||(r=\\\"x\\\"),n||(n=\\\"y\\\");for(var i=0;i<e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(\\\"?\\\",r)),s=l.nestedProperty(t,a.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){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\\\"0\\\";var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=\\\"\\\";for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i<Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&&(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var c=parseInt(s,n);return e&&e.indexOf(s)>-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):s},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,i,a,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(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).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,i,a=!1,o=!0;for(n=0;n<r.length;n++)void 0!==(i=t[r[n]])&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(l.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(i)?Array.isArray(e)&&l.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){var n,a,o=e.selectedpoints,s=e._indexToPoints;if(s)for(var l in n={},s)for(var c=s[l],u=0;u<c.length;u++)n[c[u]]=l;function f(e){return void 0!==e&&e<t.length}for(var h=0;h<o.length;h++){var p=o[h];if(i(a=p)&&a>=0&&a%1==0){var d=n?n[p]:p,g=r?r[d]:d;f(g)&&(t[g].selected=1)}}},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,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\\\"_\\\"!==i.charAt(0)&&\\\"function\\\"!=typeof a&&(\\\"module\\\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\\\"object\\\"==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\\\"object\\\"==typeof(a=e[i=o[n]])&&i in r&&\\\"object\\\"==typeof r[i]||(r[i]=a);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.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\\\"js-plotly-plot\\\")},l.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(\\\"style\\\");r.appendChild(document.createTextNode(\\\"\\\")),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+\\\"{\\\"+e+\\\"}\\\",0):n.addRule?n.addRule(t,e,0):l.warn(\\\"addStyleRule failed\\\")},l.isIE=function(){return void 0!==window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&&\\\"function\\\"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?\\\".\\\"+r:\\\"\\\"));if(i.size())return i;var a=t.append(e).classed(r,!0);return n&&a.call(n),a},l.ensureSingleById=function(t,e,r,n){var i=t.select(e+\\\"#\\\"+r);if(i.size())return i;var a=t.append(e).attr(\\\"id\\\",r);return n&&a.call(n),a},l.objectFromPath=function(t,e){for(var r,n=t.split(\\\".\\\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\\\[([0-9]+)\\\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var _=/^([^\\\\[\\\\.]+)\\\\.(.+)?/,w=/^([^\\\\.]+)\\\\[([0-9]+)\\\\](\\\\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\\\"object\\\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(_))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(w))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\\\".\\\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):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})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\\\".\\\"),s=o[0],l=o.length>1?i+o[1]:\\\"\\\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\\\"$1\\\"+a+\\\"$2\\\");return s+l};var k=/%{([^\\\\s%{}]*)}/g,M=/^\\\\w*$/;l.templateString=function(t,e){var r={};return t.replace(k,function(t,n){return M.test(n)?e[n]||\\\"\\\":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||\\\"\\\")})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var A=2e9;l.seedPseudoRandom=function(){A=2e9},l.pseudoRandom=function(){var t=A;return A=(69069*A+1)%4294967296,Math.abs(A-t)<429496729?l.pseudoRandom():A/4294967296}},{\\\"../constants/numerical\\\":579,\\\"./angles\\\":584,\\\"./clean_number\\\":585,\\\"./coerce\\\":587,\\\"./dates\\\":588,\\\"./ensure_array\\\":589,\\\"./extend\\\":591,\\\"./filter_unique\\\":592,\\\"./filter_visible\\\":593,\\\"./geometry2d\\\":596,\\\"./get_graph_div\\\":597,\\\"./identity\\\":601,\\\"./is_array\\\":603,\\\"./is_plain_object\\\":604,\\\"./keyed_container\\\":605,\\\"./localize\\\":606,\\\"./loggers\\\":607,\\\"./matrix\\\":608,\\\"./mod\\\":609,\\\"./nested_property\\\":610,\\\"./noop\\\":611,\\\"./notifier\\\":612,\\\"./push_unique\\\":616,\\\"./regex\\\":618,\\\"./relative_attr\\\":619,\\\"./relink_private\\\":620,\\\"./search\\\":621,\\\"./stats\\\":624,\\\"./throttle\\\":627,\\\"./to_log_range\\\":628,d3:130,\\\"fast-isnumeric\\\":196}],603:[function(t,e,r){\\\"use strict\\\";var n=\\\"undefined\\\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i=\\\"undefined\\\"==typeof DataView?function(){}:DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return Array.isArray(t)||a(t)}e.exports={isTypedArray:a,isArrayOrTypedArray:o,isArray1D:function(t){return!o(t[0])}}},{}],604:[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}},{}],605:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./nested_property\\\"),i=/^\\\\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||\\\"name\\\",a=a||\\\"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 f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n?h:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,h)},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){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(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+\\\"[\\\"+i+\\\"]\\\",s[i]?(1&c[i]&&(o[t+\\\".\\\"+r]=s[i][r]),2&c[i]&&(o[t+\\\".\\\"+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{\\\"./nested_property\\\":610}],606:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(\\\"-\\\")[0];if(c===r)break;r=c}return e}},{\\\"../registry\\\":732}],607:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plot_api/plot_config\\\"),i=e.exports={};function a(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}i.log=function(){if(n.logging>1){for(var t=[\\\"LOG:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.warn=function(){if(n.logging>0){for(var t=[\\\"WARN:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.error=function(){if(n.logging>0){for(var t=[\\\"ERROR:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.error,t)}}},{\\\"../plot_api/plot_config\\\":638}],608:[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,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];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)))}}},{}],609:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=t%e;return r<0?r+e:r}},{}],610:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./is_array\\\").isArrayOrTypedArray;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,l=0,c=e.split(\\\".\\\");l<c.length;){if(r=String(c[l]).match(/^([^\\\\[\\\\]]*)((\\\\[\\\\-?[0-9]*\\\\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)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++)l++,c.splice(l,0,Number(a[o]))}l++}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:s(t,c,e),get:function t(e,r){return function(){var n,a,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(a=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(\\\"number\\\"==typeof n&&!i(c))return;if(\\\"object\\\"!=typeof(c=c[n])||null===c)return}if(\\\"object\\\"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var a=/(^|\\\\.)args\\\\[/;function o(t,e){return void 0===t||null===t&&!e.match(a)}function s(t,e,r){return function(n){var a,s,f=t,h=\\\"\\\",p=[[t,h]],d=o(n,r);for(s=0;s<e.length-1;s++){if(\\\"number\\\"==typeof(a=e[s])&&!i(f))throw\\\"array index but container is not an array\\\";if(-1===a){if(d=!c(f,e.slice(s+1),n,r))break;return}if(!u(f,a,e[s+1],d))break;if(\\\"object\\\"!=typeof(f=f[a])||null===f)throw\\\"container is not an object\\\";h=l(h,a),p.push([f,h])}if(d){if(s===e.length-1&&(delete f[e[s]],Array.isArray(f)&&+e[s]==f.length-1))for(;f.length&&void 0===f[f.length-1];)f.pop()}else f[e[s]]=n}}function l(t,e){var r=e;return n(e)?r=\\\"[\\\"+e+\\\"]\\\":t&&(r=\\\".\\\"+e),t+r}function c(t,e,r,n){var a,l=i(r),c=!0,f=r,h=n.replace(\\\"-1\\\",0),p=!l&&o(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace(\\\"-1\\\",a),l&&(p=o(f=r[a%r.length],h)),p&&(c=!1),u(t,a,d,p)&&s(t[a],e,n.replace(\\\"-1\\\",a))(f);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\\\"number\\\"==typeof r?[]:{}}return!0}},{\\\"./is_array\\\":603,\\\"fast-isnumeric\\\":196}],611:[function(t,e,r){\\\"use strict\\\";e.exports=function(){}},{}],612:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(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(a).enter().append(\\\"div\\\").classed(\\\"notifier-note\\\",!0).style(\\\"opacity\\\",0).each(function(t){var e=n.select(this);e.append(\\\"button\\\").classed(\\\"notifier-close\\\",!0).html(\\\"&times;\\\").on(\\\"click\\\",function(){e.transition().call(s)});for(var i=e.append(\\\"p\\\"),a=t.split(/<br\\\\s*\\\\/?>/g),o=0;o<a.length;o++)o&&i.append(\\\"br\\\"),i.append(\\\"span\\\").text(a[o]);e.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=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()})}}},{d3:130,\\\"fast-isnumeric\\\":196}],613:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./setcursor\\\"),i=\\\"data-savedcursor\\\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\\\"cursor-\\\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\\\"!!\\\")}n(t,e)}else r&&(t.attr(i,null),\\\"!!\\\"===r?n(t):n(t,r))}},{\\\"./setcursor\\\":622}],614:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./matrix\\\").dot,i=t(\\\"../constants/numerical\\\").BADNUM,a=e.exports={};a.tester=function(t){if(Array.isArray(t[0][0]))return a.multitester(t);var e,r=t.slice(),n=r[0][0],o=n,s=r[0][1],l=s;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),o=Math.max(o,r[e][0]),s=Math.min(s,r[e][1]),l=Math.max(l,r[e][1]);var c,u=!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]&&(u=!0,c=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]&&(u=!0,c=function(t){return t[1]===r[0][1]}));var f=!0,h=r[0];for(e=1;e<r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){f=!1;break}return{xmin:n,xmax:o,ymin:s,ymax:l,pts:r,contains:u?function(t,e){var r=t[0],a=t[1];return!(r===i||r<n||r>o||a===i||a<s||a>l||e&&c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||a<n||a>o||c===i||c<s||c>l)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(f=m,h=v,m=r[u][0],v=r[u][1],!(a<(p=Math.min(f,m))||a>Math.max(f,m)||c>Math.max(h,v)))if(c<Math.min(h,v))a!==p&&y++;else{if(c===(d=m===f?c:h+(a-f)*(v-h)/(m-f)))return 1!==u||!e;c<=d&&a!==p&&y++}return y%2==1},isRect:u,degenerate:f}},a.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],o=i,s=0;s<t.length;s++){var l=a.tester(t[s]);l.subtract=t[s].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),o=Math.max(o,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:o,pts:[],contains:function(t,r){for(var n=!1,i=0;i<e.length;i++)e[i].contains(t,r)&&(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var o=a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||o(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{\\\"../constants/numerical\\\":579,\\\"./matrix\\\":608}],615:[function(t,e,r){(function(r){\\\"use strict\\\";var n=t(\\\"regl\\\");e.exports=function(t,e){t._fullLayout._glcanvas.each(function(i){i.regl||(i.regl=n({canvas:this,attributes:{antialias:!i.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]}))})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{regl:380}],616:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],617:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plot_api/plot_config\\\");var a={add:function(t,e,r,n,a){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(a)),t.undoQueue.queue.length>i.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++)a.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++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:\\\"object\\\"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{\\\"../lib\\\":602,\\\"../plot_api/plot_config\\\":638}],618:[function(t,e,r){\\\"use strict\\\";r.counter=function(t,e,r){var n=(e||\\\"\\\")+(r?\\\"\\\":\\\"$\\\");return\\\"xy\\\"===t?new RegExp(\\\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\\\"+n):new RegExp(\\\"^\\\"+t+\\\"([2-9]|[1-9][0-9]+)?\\\"+n)}},{}],619:[function(t,e,r){\\\"use strict\\\";var n=/^(.*)(\\\\.[^\\\\.\\\\[\\\\]]+|\\\\[\\\\d\\\\])$/,i=/^[^\\\\.\\\\[\\\\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))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}},{}],620:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./is_array\\\").isArrayOrTypedArray,i=t(\\\"./is_plain_object\\\");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if(\\\"_\\\"===a.charAt(0)||\\\"function\\\"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if(\\\"customdata\\\"===a||\\\"ids\\\"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{\\\"./is_array\\\":603,\\\"./is_plain_object\\\":604}],621:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./loggers\\\");function a(t,e){return t<e}function o(t,e){return t<=e}function s(t,e){return t>e}function l(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 c,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?a:o:r?l:s,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)u(e[c=Math.floor((f+h)/2)],t)?f=c+1:h=c;return p>90&&i.log(\\\"Long binary search...\\\"),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]}},{\\\"./loggers\\\":607,\\\"fast-isnumeric\\\":196}],622:[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)}},{}],623:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/color\\\"),i=function(){};e.exports=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\\\"div\\\");return r.textContent=\\\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\\\",r.style.cursor=\\\"pointer\\\",r.style.fontSize=\\\"24px\\\",r.style.color=n.defaults[0],t.container.appendChild(r),t.container.style.background=\\\"#FFFFFF\\\",t.container.onclick=function(){window.open(\\\"http://get.webgl.org\\\")},!1}},{\\\"../components/color\\\":474}],624:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./is_array\\\").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[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.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},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)]}},{\\\"./is_array\\\":603,\\\"fast-isnumeric\\\":196}],625:[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\\\":100}],626:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../lib\\\"),a=t(\\\"../constants/xmlns_namespaces\\\"),o=t(\\\"../constants/string_mappings\\\"),s=t(\\\"../constants/alignment\\\").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var c=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,o){var v=t.text(),E=!t.attr(\\\"data-notex\\\")&&\\\"undefined\\\"!=typeof MathJax&&v.match(c),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr(\\\"class\\\")?t.attr(\\\"class\\\").split(\\\" \\\")[0]:\\\"text\\\";return z+=\\\"-math\\\",L.selectAll(\\\"svg.\\\"+z).remove(),L.selectAll(\\\"g.\\\"+z+\\\"-group\\\").remove(),t.style(\\\"display\\\",null).attr({\\\"data-unformatted\\\":v,\\\"data-math\\\":\\\"N\\\"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style(\\\"display\\\",\\\"none\\\");var r=parseInt(t.node().style.fontSize,10),a={fontSize:r};!function(t,e,r){var a=\\\"math-output-\\\"+i.randstr([],64),o=n.select(\\\"body\\\").append(\\\"div\\\").attr({id:a}).style({visibility:\\\"hidden\\\",position:\\\"absolute\\\"}).style({\\\"font-size\\\":e.fontSize+\\\"px\\\"}).text((s=t,s.replace(u,\\\"\\\\\\\\lt \\\").replace(f,\\\"\\\\\\\\gt \\\")));var s;MathJax.Hub.Queue([\\\"Typeset\\\",MathJax.Hub,o.node()],function(){var e=n.select(\\\"body\\\").select(\\\"#MathJax_SVG_glyphs\\\");if(o.select(\\\".MathJax_SVG\\\").empty()||!o.select(\\\"svg\\\").node())i.log(\\\"There was an error in the tex syntax.\\\",t),r();else{var a=o.select(\\\"svg\\\").node().getBoundingClientRect();r(o.select(\\\".MathJax_SVG\\\"),e,a)}o.remove()})}(E[2],a,function(n,i,a){L.selectAll(\\\"svg.\\\"+z).remove(),L.selectAll(\\\"g.\\\"+z+\\\"-group\\\").remove();var s=n&&n.select(\\\"svg\\\");if(!s||!s.node())return P(),void e();var c=L.append(\\\"g\\\").classed(z+\\\"-group\\\",!0).attr({\\\"pointer-events\\\":\\\"none\\\",\\\"data-unformatted\\\":v,\\\"data-math\\\":\\\"Y\\\"});c.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild),s.attr({class:z,height:a.height,preserveAspectRatio:\\\"xMinYMin meet\\\"}).style({overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"});var u=t.node().style.fill||\\\"black\\\";s.select(\\\"g\\\").attr({fill:u,stroke:u});var f=l(s,\\\"width\\\"),h=l(s,\\\"height\\\"),p=+t.attr(\\\"x\\\")-f*{start:0,middle:.5,end:1}[t.attr(\\\"text-anchor\\\")||\\\"start\\\"],d=-(r||l(t,\\\"height\\\"))/4;\\\"y\\\"===z[0]?(c.attr({transform:\\\"rotate(\\\"+[-90,+t.attr(\\\"x\\\"),+t.attr(\\\"y\\\")]+\\\") translate(\\\"+[-f/2,d-h/2]+\\\")\\\"}),s.attr({x:+t.attr(\\\"x\\\"),y:+t.attr(\\\"y\\\")})):\\\"l\\\"===z[0]?s.attr({x:t.attr(\\\"x\\\"),y:d-h/2}):\\\"a\\\"===z[0]?s.attr({x:0,y:d}):s.attr({x:p,y:+t.attr(\\\"y\\\")+d-h/2}),o&&o.call(t,c),e(c)})})):P(),t}function P(){L.empty()||(z=t.attr(\\\"class\\\")+\\\"-math\\\",L.select(\\\"svg.\\\"+z).remove()),t.text(\\\"\\\").style(\\\"white-space\\\",\\\"pre\\\"),function(t,e){e=(r=e,function(t,e){if(!t)return\\\"\\\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(r,y)).replace(x,\\\" \\\");var r;var o,l=!1,c=[],u=-1;function f(){u++;var e=document.createElementNS(a.svg,\\\"tspan\\\");n.select(e).attr({class:\\\"line\\\",dy:u*s+\\\"em\\\"}),t.appendChild(e),o=e;var r=c;if(c=[{node:e}],r.length>1)for(var i=1;i<r.length;i++)v(r[i])}function v(t){var e,r=t.type,i={};if(\\\"a\\\"===r){e=\\\"a\\\";var s=t.target,l=t.href,u=t.popup;l&&(i={\\\"xlink:xlink:show\\\":\\\"_blank\\\"===s||\\\"_\\\"!==s.charAt(0)?\\\"new\\\":\\\"replace\\\",target:s,\\\"xlink:xlink:href\\\":l},u&&(i.onclick='window.open(this.href.baseVal,this.target.baseVal,\\\"'+u+'\\\");return false;'))}else e=\\\"tspan\\\";t.style&&(i.style=t.style);var f=document.createElementNS(a.svg,e);if(\\\"sup\\\"===r||\\\"sub\\\"===r){E(o,g),o.appendChild(f);var h=document.createElementNS(a.svg,\\\"tspan\\\");E(h,g),n.select(h).attr(\\\"dy\\\",d[r]),i.dy=p[r],o.appendChild(f),o.appendChild(h)}else o.appendChild(f);n.select(f).attr(i),o=t.node=f,c.push(t)}function E(t,e){t.appendChild(document.createTextNode(e))}function L(t){if(1!==c.length){var r=c.pop();t!==r.type&&i.log(\\\"Start tag <\\\"+r.type+\\\"> doesnt match end tag <\\\"+t+\\\">. Pretending it did match.\\\",e),o=c[c.length-1].node}else i.log(\\\"Ignoring unexpected end tag </\\\"+t+\\\">.\\\",e)}w.test(e)?f():(o=t,c=[{node:t}]);for(var z=e.split(b),P=0;P<z.length;P++){var D=z[P],O=D.match(_),I=O&&O[2].toLowerCase(),R=h[I];if(\\\"br\\\"===I)f();else if(void 0===R)E(o,D);else if(O[1])L(I);else{var B=O[4],F={type:I},N=S(B,k);if(N?(N=N.replace(C,\\\"$1 fill:\\\"),R&&(N+=\\\";\\\"+R)):R&&(N=R),N&&(F.style=N),\\\"a\\\"===I){l=!0;var j=S(B,M);if(j){var V=document.createElement(\\\"a\\\");V.href=j,-1!==m.indexOf(V.protocol)&&(F.href=encodeURI(decodeURI(j)),F.target=S(B,A)||\\\"_blank\\\",F.popup=S(B,T))}}v(F)}}return l}(t.node(),v)&&t.style(\\\"pointer-events\\\",\\\"all\\\"),r.positionText(t),o&&o.call(t)}};var u=/(<|&lt;|&#60;)/g,f=/(>|&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\\\"},p={sub:\\\"0.3em\\\",sup:\\\"-0.6em\\\"},d={sub:\\\"-0.21em\\\",sup:\\\"0.42em\\\"},g=\\\"\\\\u200b\\\",m=[\\\"http:\\\",\\\"https:\\\",\\\"mailto:\\\",\\\"\\\",void 0,\\\":\\\"],v=new RegExp(\\\"</?(\\\"+Object.keys(h).join(\\\"|\\\")+\\\")( [^>]*)?/?>\\\",\\\"g\\\"),y=Object.keys(o.entityToUnicode).map(function(t){return{regExp:new RegExp(\\\"&\\\"+t+\\\";\\\",\\\"g\\\"),sub:o.entityToUnicode[t]}}),x=/(\\\\r\\\\n?|\\\\n)/g,b=/(<[^<>]*>)/,_=/<(\\\\/?)([^ >]*)(\\\\s+(.*))?>/i,w=/<br(\\\\s+.*)?>/i,k=/(^|[\\\\s\\\"'])style\\\\s*=\\\\s*(\\\"([^\\\"]*);?\\\"|'([^']*);?')/i,M=/(^|[\\\\s\\\"'])href\\\\s*=\\\\s*(\\\"([^\\\"]*)\\\"|'([^']*)')/i,A=/(^|[\\\\s\\\"'])target\\\\s*=\\\\s*(\\\"([^\\\"\\\\s]*)\\\"|'([^'\\\\s]*)')/i,T=/(^|[\\\\s\\\"'])popup\\\\s*=\\\\s*(\\\"([\\\\w=,]*)\\\"|'([\\\\w=,]*)')/i;function S(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var C=/(^|;)\\\\s*color:/;function E(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\\\"top\\\",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=\\\"bottom\\\"===s?function(){return l.bottom-n.height}:\\\"middle\\\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\\\"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:i()-c.top+\\\"px\\\",left:a()-c.left+\\\"px\\\",\\\"z-index\\\":1e3}),this}}r.plainText=function(t){return(t||\\\"\\\").replace(v,\\\" \\\")},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 i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\\\"x\\\",e),o=i(\\\"y\\\",r);\\\"text\\\"===this.nodeName&&t.selectAll(\\\"tspan.line\\\").attr({x:a,y:o})})},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch(\\\"edit\\\",\\\"input\\\",\\\"cancel\\\"),o=i||t;if(t.style({\\\"pointer-events\\\":i?\\\"none\\\":\\\"all\\\"}),1!==t.size())throw new Error(\\\"boo\\\");function s(){!function(){var i=n.select(r).select(\\\".svg-container\\\"),o=i.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,i,e)).on(\\\"blur\\\",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr(\\\"class\\\");(e=i?\\\".\\\"+i.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),a.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(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(E(t,i,e)))}).on(\\\"keydown\\\",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var i,s=o.attr(\\\"class\\\");(i=s?\\\".\\\"+s.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&n.select(t.node().parentNode).select(i).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,a,\\\"on\\\")}},{\\\"../constants/alignment\\\":574,\\\"../constants/string_mappings\\\":580,\\\"../constants/xmlns_namespaces\\\":581,\\\"../lib\\\":602,d3:130}],627:[function(t,e,r){\\\"use strict\\\";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout(function(){l(),a.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)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],628:[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\\\":196}],629:[function(t,e,r){\\\"use strict\\\";var n=e.exports={},i=t(\\\"../plots/geo/constants\\\").locationmodeToLayer,a=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=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\\\"../plots/geo/constants\\\":676,\\\"topojson-client\\\":418}],630:[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\\\"}}},{}],631:[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\\\"}}},{}],632:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\\\"[\\\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.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\\\":732}],633:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=n.extendFlat,a=n.isPlainObject,o={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"clearAxisTypes\\\",\\\"plot\\\",\\\"style\\\",\\\"colorbars\\\"]},s={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"plot\\\",\\\"legend\\\",\\\"ticks\\\",\\\"axrange\\\",\\\"margins\\\",\\\"layoutstyle\\\",\\\"modebar\\\",\\\"camera\\\",\\\"arraydraw\\\"]},l=o.flags.slice().concat([\\\"clearCalc\\\",\\\"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 f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return\\\"from-root\\\"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,\\\"from-root\\\")}return a}return f(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(\\\"+\\\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{\\\"../lib\\\":602}],634:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"gl-mat4/fromQuat\\\"),a=t(\\\"../registry\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../plots/plots\\\"),l=t(\\\"../plots/cartesian/axis_ids\\\"),c=l.cleanId,u=l.getFromTrace,f=t(\\\"../components/color\\\");function h(t,e){var r=t[e],n=e.charAt(0);r&&\\\"paper\\\"!==r&&(t[e]=c(r,n))}function p(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 d(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 i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function g(t){var e=\\\"middle\\\",r=\\\"center\\\";return-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 m(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,r;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 n=(s.subplotsRegistry.cartesian||{}).attrRegex,a=(s.subplotsRegistry.gl3d||{}).attrRegex,l=Object.keys(t);for(e=0;e<l.length;e++){var u=l[e];if(n&&n.test(u)){var p=t[u];p.anchor&&\\\"free\\\"!==p.anchor&&(p.anchor=c(p.anchor)),p.overlaying&&(p.overlaying=c(p.overlaying)),p.type||(p.isdate?p.type=\\\"date\\\":p.islog?p.type=\\\"log\\\":!1===p.isdate&&!1===p.islog&&(p.type=\\\"linear\\\")),\\\"withzero\\\"!==p.autorange&&\\\"tozero\\\"!==p.autorange||(p.autorange=!0,p.rangemode=\\\"tozero\\\"),delete p.islog,delete p.isdate,delete p.categories,m(p,\\\"domain\\\")&&delete p.domain,void 0!==p.autotick&&(void 0===p.tickmode&&(p.tickmode=p.autotick?\\\"auto\\\":\\\"linear\\\"),delete p.autotick)}else if(a&&a.test(u)){var d=t[u],g=d.cameraposition;if(Array.isArray(g)&&4===g[0].length){var v=g[0],y=g[1],x=g[2],b=i([],v),_=[];for(r=0;r<3;++r)_[r]=y[r]+x*b[2+4*r];d.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete d.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<w;e++){var k=t.annotations[e];o.isPlainObject(k)&&(k.ref&&(\\\"paper\\\"===k.ref?(k.xref=\\\"paper\\\",k.yref=\\\"paper\\\"):\\\"data\\\"===k.ref&&(k.xref=\\\"x\\\",k.yref=\\\"y\\\"),delete k.ref),h(k,\\\"xref\\\"),h(k,\\\"yref\\\"))}var M=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<M;e++){var A=t.shapes[e];o.isPlainObject(A)&&(h(A,\\\"xref\\\"),h(A,\\\"yref\\\"))}var T=t.legend;return T&&(T.x>3?(T.x=1.02,T.xanchor=\\\"left\\\"):T.x<-2&&(T.x=-.02,T.xanchor=\\\"right\\\"),T.y>3?(T.y=1.02,T.yanchor=\\\"bottom\\\"):T.y<-2&&(T.y=-.02,T.yanchor=\\\"top\\\")),\\\"rotate\\\"===t.dragmode&&(t.dragmode=\\\"orbit\\\"),f.clean(t),t},r.cleanData=function(t,e){for(var n=[],i=t.concat(Array.isArray(e)?e:[]).filter(function(t){return\\\"uid\\\"in t}).map(function(t){return t.uid}),l=0;l<t.length;l++){var u,h=t[l];if(!(\\\"uid\\\"in h)||-1!==n.indexOf(h.uid)){var v;for(u=0;u<100&&(v=o.randstr(i),-1!==n.indexOf(v));u++);h.uid=o.randstr(i),i.push(h.uid)}if(n.push(h.uid),\\\"histogramy\\\"===h.type&&\\\"xbins\\\"in h&&!(\\\"ybins\\\"in h)&&(h.ybins=h.xbins,delete h.xbins),h.error_y&&\\\"opacity\\\"in h.error_y){var y=f.defaults,x=h.error_y.color||(a.traceIs(h,\\\"bar\\\")?f.defaultLine:y[l%y.length]);h.error_y.color=f.addOpacity(f.rgb(x),f.opacity(x)*h.error_y.opacity),delete h.error_y.opacity}if(\\\"bardir\\\"in h&&(\\\"h\\\"!==h.bardir||!a.traceIs(h,\\\"bar\\\")&&\\\"histogram\\\"!==h.type.substr(0,9)||(h.orientation=\\\"h\\\",r.swapXYData(h)),delete h.bardir),\\\"histogramy\\\"===h.type&&r.swapXYData(h),\\\"histogramx\\\"!==h.type&&\\\"histogramy\\\"!==h.type||(h.type=\\\"histogram\\\"),\\\"scl\\\"in h&&(h.colorscale=h.scl,delete h.scl),\\\"reversescl\\\"in h&&(h.reversescale=h.reversescl,delete h.reversescl),h.xaxis&&(h.xaxis=c(h.xaxis,\\\"x\\\")),h.yaxis&&(h.yaxis=c(h.yaxis,\\\"y\\\")),a.traceIs(h,\\\"gl3d\\\")&&h.scene&&(h.scene=s.subplotsRegistry.gl3d.cleanId(h.scene)),!a.traceIs(h,\\\"pie\\\")&&!a.traceIs(h,\\\"bar\\\"))if(Array.isArray(h.textposition))for(u=0;u<h.textposition.length;u++)h.textposition[u]=g(h.textposition[u]);else h.textposition&&(h.textposition=g(h.textposition));if(a.traceIs(h,\\\"2dMap\\\")&&(\\\"YIGnBu\\\"===h.colorscale&&(h.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===h.colorscale&&(h.colorscale=\\\"YlOrRd\\\")),a.traceIs(h,\\\"markerColorscale\\\")&&h.marker){var b=h.marker;\\\"YIGnBu\\\"===b.colorscale&&(b.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===b.colorscale&&(b.colorscale=\\\"YlOrRd\\\")}if(\\\"surface\\\"===h.type&&o.isPlainObject(h.contours)){var _=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(u=0;u<_.length;u++){var w=h.contours[_[u]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if(\\\"candlestick\\\"===h.type||\\\"ohlc\\\"===h.type){var k=!1!==(h.increasing||{}).showlegend,M=!1!==(h.decreasing||{}).showlegend,A=p(h.increasing),T=p(h.decreasing);if(!1!==A&&!1!==T){var S=d(A,T,k,M);S&&(h.name=S)}else!A&&!T||h.name||(h.name=A||T)}if(Array.isArray(h.transforms)){var C=h.transforms;for(u=0;u<C.length;u++){var E=C[u];if(o.isPlainObject(E))switch(E.type){case\\\"filter\\\":E.filtersrc&&(E.target=E.filtersrc,delete E.filtersrc),E.calendar&&(E.valuecalendar||(E.valuecalendar=E.calendar),delete E.calendar);break;case\\\"groupby\\\":if(E.styles=E.styles||E.style,E.styles&&!Array.isArray(E.styles)){var L=E.styles,z=Object.keys(L);E.styles=[];for(var P=0;P<z.length;P++)E.styles.push({target:z[P],value:L[z[P]]})}}}}m(h,\\\"line\\\")&&delete h.line,\\\"marker\\\"in h&&(m(h.marker,\\\"line\\\")&&delete h.marker.line,m(h,\\\"marker\\\")&&delete h.marker),f.clean(h)}},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 i=t.hoverinfo.split(\\\"+\\\");for(e=0;e<i.length;e++)\\\"x\\\"===i[e]?i[e]=\\\"y\\\":\\\"y\\\"===i[e]&&(i[e]=\\\"x\\\");t.hoverinfo=i.join(\\\"+\\\")}},r.coerceTraceIndices=function(t,e){return n(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(\\\".\\\");o.nestedProperty(i,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 v=/(\\\\.[^\\\\[\\\\]\\\\.]+|\\\\[[^\\\\[\\\\]\\\\.]+\\\\])$/;function y(t){var e=t.search(v);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=y(e);r;){if(r in t)return!0;r=y(r)}return!1};var x=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=u(t,i,x[a]);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 f=l+\\\".type\\\";void 0===r[l]&&void 0===r[f]&&o.nestedProperty(t.layout,f).set(null)}}},r.clearAxisAutomargins=function(t){for(var e=Object.keys(t._fullLayout._pushmargin),r=0;r<e.length;r++)-1!==e[r].indexOf(\\\"automargin\\\")&&delete t._fullLayout._pushmargin[e[r]]}},{\\\"../components/color\\\":474,\\\"../lib\\\":602,\\\"../plots/cartesian/axis_ids\\\":651,\\\"../plots/plots\\\":710,\\\"../registry\\\":732,\\\"fast-isnumeric\\\":196,\\\"gl-mat4/fromQuat\\\":227}],635:[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.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\\\")},{\\\"../snapshot/download\\\":734,\\\"./plot_api\\\":637,\\\"./to_image\\\":641,\\\"./validate\\\":642}],636:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib/nested_property\\\"),i=t(\\\"../lib/is_plain_object\\\"),a=t(\\\"../lib/noop\\\"),o=t(\\\"../lib/loggers\\\"),s=t(\\\"../lib/search\\\").sorterAsc,l=t(\\\"../registry\\\");r.containerArrayMatch=t(\\\"./container_array_match\\\");var c=r.isAddVal=function(t){return\\\"add\\\"===t||i(t)},u=r.isRemoveVal=function(t){return null===t||\\\"remove\\\"===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,\\\"supplyLayoutDefaults\\\"),p=l.getComponentMethod(f,\\\"draw\\\"),d=l.getComponentMethod(f,\\\"drawOne\\\"),g=i.replot||i.recalc||h===a||p===a,m=t.layout,v=t._fullLayout;if(r[\\\"\\\"]){Object.keys(r).length>1&&o.warn(\\\"Full array edits are incompatible with other edits\\\",f);var y=r[\\\"\\\"][\\\"\\\"];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(\\\"Unrecognized full array edit value\\\",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,k,M,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),C=S||[],E=n(v,f).get(),L=[],z=-1,P=C.length;for(x=0;x<T.length;x++)if(w=r[_=T[x]],k=Object.keys(w),M=w[\\\"\\\"],A=c(M),_<0||_>C.length-(A?0:1))o.warn(\\\"index out of range\\\",f,_);else if(void 0!==M)k.length>1&&o.warn(\\\"Insertion & removal are incompatible with edits to the same index.\\\",f,_),u(M)?L.push(_):A?(\\\"add\\\"===M&&(M={}),C.splice(_,0,M),E&&E.splice(_,0,{})):o.warn(\\\"Unrecognized full object edit value\\\",f,_,M),-1===z&&(z=_);else for(b=0;b<k.length;b++)n(C[_],k[b]).set(w[k[b]]);for(x=L.length-1;x>=0;x--)C.splice(L[x],1),E&&E.splice(L[x],1);if(C.length?S||e.set(C):e.set(null),g)return!1;if(h(m,v),d!==a){var D;if(-1===z)D=T;else{for(P=Math.max(C.length,P),D=[],x=0;x<T.length&&!((_=T[x])>=z);x++)D.push(_);for(x=z;x<P;x++)D.push(x)}for(x=0;x<D.length;x++)d(t,D[x])}else p(t);return!0}},{\\\"../lib/is_plain_object\\\":604,\\\"../lib/loggers\\\":607,\\\"../lib/nested_property\\\":610,\\\"../lib/noop\\\":611,\\\"../lib/search\\\":621,\\\"../registry\\\":732,\\\"./container_array_match\\\":632}],637:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"has-hover\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../lib/events\\\"),l=t(\\\"../lib/queue\\\"),c=t(\\\"../registry\\\"),u=t(\\\"./plot_schema\\\"),f=t(\\\"../plots/plots\\\"),h=t(\\\"../plots/polar/legacy\\\"),p=t(\\\"../plots/cartesian/axes\\\"),d=t(\\\"../components/drawing\\\"),g=t(\\\"../components/color\\\"),m=t(\\\"../plots/cartesian/graph_interact\\\").initInteractions,v=t(\\\"../constants/xmlns_namespaces\\\"),y=t(\\\"../lib/svg_text_utils\\\"),x=t(\\\"./plot_config\\\"),b=t(\\\"./manage_arrays\\\"),_=t(\\\"./helpers\\\"),w=t(\\\"./subroutines\\\"),k=t(\\\"./edit_types\\\"),M=t(\\\"../plots/cartesian/constants\\\").AX_NAME_PATTERN,A=0;function T(t,e){try{t._fullLayout._paper.style(\\\"background\\\",e)}catch(t){o.error(t)}}function S(t,e){T(t,g.combine(e,\\\"white\\\"))}function C(t,e){t._context||(t._context=o.extendDeep({},x));var r,n,i,s=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\\\"editable\\\"!==(i=n[r])&&\\\"edits\\\"!==i&&i in s&&(\\\"setBackground\\\"===i&&\\\"opaque\\\"===e[i]?s[i]=S:s[i]=e[i]);e.plot3dPixelRatio&&!s.plotGlPixelRatio&&(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,n=Object.keys(s.edits),r=0;r<n.length;r++)s.edits[n[r]]=l;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in s.edits&&(s.edits[i]=e.edits[i])}s.staticPlot&&(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),\\\"hover\\\"!==s.displayModeBar||a||(s.displayModeBar=!0),\\\"transparent\\\"!==s.setBackground&&\\\"function\\\"==typeof s.setBackground||(s.setBackground=T)}function E(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function L(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\\\"all values in \\\"+r+\\\" must be integers\\\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\\\" must be valid indices for gd.data.\\\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\\\"each index in \\\"+r+\\\" must be unique.\\\")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"currentIndices is a required argument.\\\");if(Array.isArray(e)||(e=[e]),L(t,e,\\\"currentIndices\\\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&L(t,r,\\\"newIndices\\\"),void 0!==r&&e.length!==r.length)throw new Error(\\\"current and new indices must be of equal length.\\\")}function P(t,e,r,n,a){!function(t,e,r,n){var i=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(void 0===r)throw new Error(\\\"indices must be an integer or array of integers\\\");for(var a in L(t,r,\\\"indices\\\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\\\"attribute \\\"+a+\\\" must be an array of length equal to indices array length\\\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].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 s=function(t,e,r,n){var a,s,l,c,u,f=o.isPlainObject(n),h=[];for(var p in Array.isArray(r)||(r=[r]),r=E(r,t.data.length-1),e)for(var d=0;d<r.length;d++){if(a=t.data[r[d]],s=(l=o.nestedProperty(a,p)).get(),c=e[p][d],!o.isArrayOrTypedArray(c))throw new Error(\\\"attribute: \\\"+p+\\\" index: \\\"+d+\\\" must be an array\\\");if(!o.isArrayOrTypedArray(s))throw new Error(\\\"cannot extend missing or non-array attribute: \\\"+p);if(s.constructor!==c.constructor)throw new Error(\\\"cannot extend array with an array of a different type: \\\"+p);u=f?n[p][d]:n,i(u)||(u=-1),h.push({prop:l,target:s,insert:c,maxp:Math.floor(u)})}return h}(t,e,r,n),l={},c={},u=0;u<s.length;u++){var f=s[u].prop,h=s[u].maxp,p=a(s[u].target,s[u].insert,h);f.set(p[0]),Array.isArray(l[f.astr])||(l[f.astr]=[]),l[f.astr].push(p[1]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(s[u].target.length)}return{update:l,maxPoints:c}}function D(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function O(t){return void 0===t?null:t}function I(t,e,r){var n,i,a=t._fullLayout,s=t._fullData,l=t.data,h=k.traceFlags(),d={},g={};function m(){return r.map(function(){})}function v(t){var e=p.id2name(t);-1===i.indexOf(e)&&i.push(e)}function y(t){return\\\"LAYOUT\\\"+t+\\\".autorange\\\"}function x(t){return\\\"LAYOUT\\\"+t+\\\".range\\\"}function b(n,i,a){var s;Array.isArray(n)?n.forEach(function(t){b(t,i,a)}):n in e||_.hasParent(e,n)||(s=\\\"LAYOUT\\\"===n.substr(0,6)?o.nestedProperty(t.layout,n.replace(\\\"LAYOUT\\\",\\\"\\\")):o.nestedProperty(l[r[a]],n),n in g||(g[n]=m()),void 0===g[n][a]&&(g[n][a]=O(s.get())),void 0!==i&&s.set(i))}for(var w in e){if(_.hasParent(e,w))throw new Error(\\\"cannot set \\\"+w+\\\"and a parent attribute simultaneously\\\");var M,A,T,S,C,E,L=e[w];if(d[w]=L,\\\"LAYOUT\\\"!==w.substr(0,6)){for(g[w]=m(),n=0;n<r.length;n++)if(M=l[r[n]],A=s[r[n]],S=(T=o.nestedProperty(M,w)).get(),void 0!==(C=Array.isArray(L)?L[n%L.length]:L)){if((E=u.getTraceValObject(A,T.parts))&&E.impliedEdits&&null!==C)for(var z in E.impliedEdits)b(o.relativeAttr(w,z),E.impliedEdits[z],n);else if(\\\"colorbar.thicknessmode\\\"===w&&T.get()!==C&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(C)&&A.colorbar){var P=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(A.colorbar.orient)?a.height-a.margin.t-a.margin.b:a.width-a.margin.l-a.margin.r;b(\\\"colorbar.thickness\\\",A.colorbar.thickness*(\\\"fraction\\\"===C?1/P:P),n)}else if(\\\"colorbar.lenmode\\\"===w&&T.get()!==C&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(C)&&A.colorbar){var D=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(A.colorbar.orient)?a.width-a.margin.l-a.margin.r:a.height-a.margin.t-a.margin.b;b(\\\"colorbar.len\\\",A.colorbar.len*(\\\"fraction\\\"===C?1/D:D),n)}else\\\"colorbar.tick0\\\"!==w&&\\\"colorbar.dtick\\\"!==w||b(\\\"colorbar.tickmode\\\",\\\"linear\\\",n);if(\\\"type\\\"===w&&\\\"pie\\\"===C!=(\\\"pie\\\"===S)){var I=\\\"x\\\",R=\\\"y\\\";\\\"bar\\\"!==C&&\\\"bar\\\"!==S||\\\"h\\\"!==M.orientation||(I=\\\"y\\\",R=\\\"x\\\"),o.swapAttrs(M,[\\\"?\\\",\\\"?src\\\"],\\\"labels\\\",I),o.swapAttrs(M,[\\\"d?\\\",\\\"?0\\\"],\\\"label\\\",I),o.swapAttrs(M,[\\\"?\\\",\\\"?src\\\"],\\\"values\\\",R),\\\"pie\\\"===S?(o.nestedProperty(M,\\\"marker.color\\\").set(o.nestedProperty(M,\\\"marker.colors\\\").get()),a._pielayer.selectAll(\\\"g.trace\\\").remove()):c.traceIs(M,\\\"cartesian\\\")&&o.nestedProperty(M,\\\"marker.colors\\\").set(o.nestedProperty(M,\\\"marker.color\\\").get())}g[w][n]=O(S);if(-1!==[\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientation\\\",\\\"orientationaxes\\\"].indexOf(w)){if(\\\"orientation\\\"===w){T.set(C);var B=M.x&&!M.y?\\\"h\\\":\\\"v\\\";if((T.get()||B)===A.orientation)continue}else\\\"orientationaxes\\\"===w&&(M.orientation={v:\\\"h\\\",h:\\\"v\\\"}[A.orientation]);_.swapXYData(M),h.calc=h.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(T.parts[0])?(_.manageArrayContainers(T,C,g),h.calc=!0):(E?E.arrayOk&&(o.isArrayOrTypedArray(C)||o.isArrayOrTypedArray(S))?h.calc=!0:k.update(h,E):h.calc=!0,T.set(C))}if(-1!==[\\\"swapxyaxes\\\",\\\"orientationaxes\\\"].indexOf(w)&&p.swap(t,r),\\\"orientationaxes\\\"===w){var F=o.nestedProperty(t.layout,\\\"hovermode\\\");\\\"x\\\"===F.get()?F.set(\\\"y\\\"):\\\"y\\\"===F.get()&&F.set(\\\"x\\\")}if(-1!==[\\\"orientation\\\",\\\"type\\\"].indexOf(w)){for(i=[],n=0;n<r.length;n++){var N=l[r[n]];c.traceIs(N,\\\"cartesian\\\")&&(v(N.xaxis||\\\"x\\\"),v(N.yaxis||\\\"y\\\"),\\\"type\\\"===w&&b([\\\"autobinx\\\",\\\"autobiny\\\"],!0,n))}b(i.map(y),!0,0),b(i.map(x),[0,1],0)}}else T=o.nestedProperty(t.layout,w.replace(\\\"LAYOUT\\\",\\\"\\\")),g[w]=[O(T.get())],T.set(Array.isArray(L)?L[0]:L),h.calc=!0}var j=!1,V=p.list(t);for(n=0;n<V.length;n++)if(V[n].autorange){j=!0;break}return(h.calc||h.calcIfAutorange&&j)&&(h.clearCalc=!0),(h.calc||h.plot||h.calcIfAutorange)&&(h.fullReplot=!0),{flags:h,undoit:g,redoit:d,traces:r,eventData:o.extendDeepNoArrays([],[d,r])}}function R(t,e){var r,n,i,a=t.layout,s=t._fullLayout,l=Object.keys(e),f=p.list(t),h={};for(n=0;n<l.length;n++)if(0===l[n].indexOf(\\\"allaxes\\\")){for(i=0;i<f.length;i++){var d=f[i]._id.substr(1),g=-1!==d.indexOf(\\\"scene\\\")?d+\\\".\\\":\\\"\\\",m=l[n].replace(\\\"allaxes\\\",g+f[i]._name);e[m]||(e[m]=e[l[n]])}delete e[l[n]]}var v=k.layoutFlags(),y={},x={};function w(t,r){if(Array.isArray(t))t.forEach(function(t){w(t,r)});else if(!(t in e||_.hasParent(e,t))){var n=o.nestedProperty(a,t);t in x||(x[t]=O(n.get())),void 0!==r&&n.set(r)}}var A,T={};function S(t){var e=p.name2id(t.split(\\\".\\\")[0]);return T[e]=1,e}for(var C in e){if(_.hasParent(e,C))throw new Error(\\\"cannot set \\\"+C+\\\"and a parent attribute simultaneously\\\");for(var E=o.nestedProperty(a,C),L=e[C],z=E.parts.length,P=z-1;P>0&&\\\"string\\\"!=typeof E.parts[z-1];)P--;var D=E.parts[P],I=E.parts[P-1]+\\\".\\\"+D,R=E.parts.slice(0,P).join(\\\".\\\"),N=o.nestedProperty(t.layout,R).get(),j=o.nestedProperty(s,R).get(),V=E.get();if(void 0!==L){y[C]=L,x[C]=\\\"reverse\\\"===D?L:O(V);var U=u.getLayoutValObject(s,E.parts);if(U&&U.impliedEdits&&null!==L)for(var q in U.impliedEdits)w(o.relativeAttr(C,q),U.impliedEdits[q]);if(-1!==[\\\"width\\\",\\\"height\\\"].indexOf(C)&&null===L)s[C]=t._initialAutoSize[C];else if(I.match(/^[xyz]axis[0-9]*\\\\.range(\\\\[[0|1]\\\\])?$/))S(I),o.nestedProperty(s,R+\\\"._inputRange\\\").set(null);else if(I.match(/^[xyz]axis[0-9]*\\\\.autorange$/)){S(I),o.nestedProperty(s,R+\\\"._inputRange\\\").set(null);var H=o.nestedProperty(s,R).get();H._inputDomain&&(H._input.domain=H._inputDomain.slice())}else I.match(/^[xyz]axis[0-9]*\\\\.domain(\\\\[[0|1]\\\\])?$/)&&o.nestedProperty(s,R+\\\"._inputDomain\\\").set(null);if(\\\"type\\\"===D){var G=N,W=\\\"linear\\\"===j.type&&\\\"log\\\"===L,Y=\\\"log\\\"===j.type&&\\\"linear\\\"===L;if(W||Y){if(G&&G.range)if(j.autorange)W&&(G.range=G.range[1]>G.range[0]?[1,2]:[2,1]);else{var X=G.range[0],Z=G.range[1];W?(X<=0&&Z<=0&&w(R+\\\".autorange\\\",!0),X<=0?X=Z/1e6:Z<=0&&(Z=X/1e6),w(R+\\\".range[0]\\\",Math.log(X)/Math.LN10),w(R+\\\".range[1]\\\",Math.log(Z)/Math.LN10)):(w(R+\\\".range[0]\\\",Math.pow(10,X)),w(R+\\\".range[1]\\\",Math.pow(10,Z)))}else w(R+\\\".autorange\\\",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[E.parts[0]]&&\\\"radialaxis\\\"===E.parts[1]&&delete s[E.parts[0]]._subplot.viewInitial[\\\"radialaxis.range\\\"],c.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,j,L,w),c.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,j,L,w)}else w(R+\\\".autorange\\\",!0),w(R+\\\".range\\\",null);o.nestedProperty(s,R+\\\"._inputRange\\\").set(null)}else if(D.match(M)){var J=o.nestedProperty(s,C).get(),K=(L||{}).type;K&&\\\"-\\\"!==K||(K=\\\"linear\\\"),c.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,J,K,w),c.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,J,K,w)}var Q=b.containerArrayMatch(C);if(Q){r=Q.array,n=Q.index;var $=Q.property,tt=(o.nestedProperty(a,r)||[])[n]||{},et=tt,rt=U||{editType:\\\"calc\\\"},nt=-1!==rt.editType.indexOf(\\\"calcIfAutorange\\\");\\\"\\\"===n?(nt?v.calc=!0:k.update(v,rt),nt=!1):\\\"\\\"===$&&(et=L,b.isAddVal(L)?x[C]=null:b.isRemoveVal(L)?(x[C]=tt,et=tt):o.warn(\\\"unrecognized full object value\\\",e)),nt&&(F(t,et,\\\"x\\\")||F(t,et,\\\"y\\\"))?v.calc=!0:k.update(v,rt),h[r]||(h[r]={});var it=h[r][n];it||(it=h[r][n]={}),it[$]=L,delete e[C]}else\\\"reverse\\\"===D?(N.range?N.range.reverse():(w(R+\\\".autorange\\\",!0),N.range=[1,0]),j.autorange?v.calc=!0:v.plot=!0):(s._has(\\\"scatter-like\\\")&&s._has(\\\"regl\\\")&&\\\"dragmode\\\"===C&&(\\\"lasso\\\"===L||\\\"select\\\"===L)&&\\\"lasso\\\"!==V&&\\\"select\\\"!==V?v.plot=!0:U?k.update(v,U):v.calc=!0,E.set(L))}}for(r in h){b.applyContainerArrayChanges(t,o.nestedProperty(a,r),h[r],v)||(v.plot=!0)}var at=s._axisConstraintGroups||[];for(A in T)for(n=0;n<at.length;n++){var ot=at[n];if(ot[A])for(var st in v.calc=!0,ot)T[st]||(p.getFromId(t,st)._constraintShrinkable=!0)}return(B(t)||e.height||e.width)&&(v.plot=!0),(v.plot||v.calc)&&(v.layoutReplot=!0),{flags:v,undoit:x,redoit:y,eventData:o.extendDeep({},y)}}function B(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 F(t,e,r){if(!o.isPlainObject(e))return!1;var n=e[r+\\\"ref\\\"]||r,i=p.getFromId(t,n);return i||n.charAt(0)!==r||(i=p.getFromId(t,r)),(i||{}).autorange}function N(t,e,r,n){var i,a,s=n.getValObject,l=n.flags,c=n.immutable,u=n.inArray,f=n.arrayIndex,h=n.gd,p=n.autoranged;function d(){var t=i.editType;-1!==t.indexOf(\\\"calcIfAutorange\\\")&&(p||void 0===p&&(F(h,e,\\\"x\\\")||F(h,e,\\\"y\\\")))?l.calc=!0:u&&-1!==t.indexOf(\\\"arraydraw\\\")?o.pushUnique(l.arrays[u],f):k.update(l,i)}function g(t){return\\\"data_array\\\"===t.valType||t.arrayOk}for(a in t){if(l.calc)return;var m=t[a],v=e[a];if(\\\"_\\\"!==a.charAt(0)&&\\\"function\\\"!=typeof m&&m!==v){if(\\\"tick0\\\"===a||\\\"dtick\\\"===a){var y=e.tickmode;if(\\\"auto\\\"===y||\\\"array\\\"===y||!y)continue}if((\\\"range\\\"!==a||!e.autorange)&&(\\\"zmin\\\"!==a&&\\\"zmax\\\"!==a||\\\"contourcarpet\\\"!==e.type)){var x=r.concat(a);if((i=s(x))&&(!i._compareAsJSON||JSON.stringify(m)!==JSON.stringify(v))){var b,_=i.valType,w=g(i),M=Array.isArray(m),A=Array.isArray(v);if(M&&A){var T=\\\"_input_\\\"+a,S=t[T],C=e[T];if(Array.isArray(S)&&S===C)continue}if(void 0===v)w&&M?l.calc=!0:d();else if(i._isLinkedToArray){var E=[],L=!1;u||(l.arrays[a]=E);var z=Math.min(m.length,v.length),P=Math.max(m.length,v.length);if(z!==P){if(\\\"arraydraw\\\"!==i.editType){d();continue}L=!0}for(b=0;b<z;b++)N(m[b],v[b],x.concat(b),o.extendFlat({inArray:a,arrayIndex:b},n));if(L)for(b=z;b<P;b++)E.push(b)}else!_&&o.isPlainObject(m)?N(m,v,x,n):w?M&&A?c&&(l.calc=!0):M!==A?l.calc=!0:d():M&&A&&m.length===v.length&&String(m)===String(v)||d()}}}}for(a in e)if(!(a in t||\\\"_\\\"===a.charAt(0)||\\\"function\\\"==typeof e[a])){if(g(i=s(r.concat(a)))&&Array.isArray(e[a]))return void(l.calc=!0);d()}}function j(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._glcanvas=null,r._paperdiv.selectAll(\\\".main-svg\\\").remove(),r._paper=r._paperdiv.insert(\\\"svg\\\",\\\":first-child\\\").classed(\\\"main-svg\\\",!0),r._toppaper=r._paperdiv.append(\\\"svg\\\").classed(\\\"main-svg\\\",!0),!r._uid){var i=[];n.selectAll(\\\"defs\\\").each(function(){this.id&&i.push(this.id.split(\\\"-\\\")[1])}),r._uid=o.randstr(i)}r._paperdiv.selectAll(\\\".main-svg\\\").attr(v.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 a=r._paper.append(\\\"g\\\").classed(\\\"layer-below\\\",!0);r._imageLowerLayer=a.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),r._shapeLowerLayer=a.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._pielayer=r._paper.append(\\\"g\\\").classed(\\\"pielayer\\\",!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._toppaper.append(\\\"g\\\").classed(\\\"hoverlayer\\\",!0),t.emit(\\\"plotly_framework\\\")}r.plot=function(t,e,i,a){var l;if(t=o.getGraphDiv(t),s.init(t),o.isPlainObject(e)){var u=e;e=u.data,i=u.layout,a=u.config,l=u.frames}if(!1===s.triggerHandler(t,\\\"plotly_beforeplot\\\",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn(\\\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\\\",t),C(t,a),i||(i={}),n.select(t).classed(\\\"js-plotly-plot\\\",!0),d.makeTester(),delete d.baseUrl,Array.isArray(t._promises)||(t._promises=[]);var g=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(_.cleanData(e,t.data),g?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!g||(t.layout=_.cleanLayout(i)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,f.supplyDefaults(t);var v=t._fullLayout,x=v._has(\\\"cartesian\\\");if(!v._has(\\\"polar\\\")&&e&&e[0]&&e[0].r)return o.log(\\\"Legacy polar charts are deprecated!\\\"),function(t,e,r){var i=n.select(t).selectAll(\\\".plot-container\\\").data([0]);i.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container plotly\\\",!0);var a=i.selectAll(\\\".svg-container\\\").data([0]);a.enter().append(\\\"div\\\").classed(\\\"svg-container\\\",!0).style(\\\"position\\\",\\\"relative\\\"),a.html(\\\"\\\"),e&&(t.data=e);r&&(t.layout=r);h.manager.fillLayout(t),a.style({width:t._fullLayout.width+\\\"px\\\",height:t._fullLayout.height+\\\"px\\\"}),t.framework=h.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title;\\\"\\\"!==c&&c||(l=0);var u=function(){this.call(y.convertToTspans,t)},p=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,p.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(y.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(g)}).on(\\\"cancel\\\",function(){var t=this.attr(\\\"data-unformatted\\\");this.text(t).call(u)})};p.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,i);v._replotting=!0,g&&j(t),t.framework!==j&&(t.framework=j,j(t)),d.initGradients(t),g&&p.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&f.doCalcdata(t);for(var k=0;k<t.calcdata.length;k++)t.calcdata[k][0].trace=t._fullData[k];var M=JSON.stringify(v._size);function A(){var e,r,n,i=t.calcdata;for(c.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),c.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),c.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),c.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t),e=0;e<i.length;e++)!0===(n=(r=i[e])[0].trace).visible&&n._module.colorbar?n._module.colorbar(t,r):f.autoMargin(t,\\\"cb\\\"+n.uid);return f.doAutoMargin(t),f.previousPromises(t)}function T(){t._transitioning||(w.doAutoRangeAndConstraints(t),g&&p.saveRangeInitial(t))}var S=[f.previousPromises,function(){if(l)return r.addFrames(t,l)},function(){for(var e=v._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return!v._glcanvas&&v._has(\\\"gl\\\")&&(v._glcanvas=v._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}),v._glcanvas.enter().append(\\\"canvas\\\").attr(\\\"class\\\",function(t){return\\\"gl-canvas gl-canvas-\\\"+t.key.replace(\\\"Layer\\\",\\\"\\\")}).style({position:\\\"absolute\\\",top:0,left:0,width:\\\"100%\\\",height:\\\"100%\\\",overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"})),v._glcanvas&&v._glcanvas.attr(\\\"width\\\",v.width).attr(\\\"height\\\",v.height),f.previousPromises(t)},A,function(){if(JSON.stringify(v._size)!==M)return o.syncOrAsync([A,w.layoutStyles],t)}];x&&S.push(function(){if(b){var e,r,n,i=v._subplots.cartesian,a=v._modules,s=[];for(n=0;n<a.length;n++)o.pushUnique(s,a[n].setPositions);if(s.length)for(r=0;r<i.length;r++)for(e=v._plots[i[r]],n=0;n<s.length;n++)s[n](t,e);return c.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),o.syncOrAsync([c.getComponentMethod(\\\"shapes\\\",\\\"calcAutorange\\\"),c.getComponentMethod(\\\"annotations\\\",\\\"calcAutorange\\\"),T,c.getComponentMethod(\\\"rangeslider\\\",\\\"calcAutorange\\\")],t)}T()}),S.push(w.layoutStyles),x&&S.push(function(){return p.doTicks(t,g?\\\"\\\":\\\"redraw\\\")}),S.push(w.drawData,w.finalDraw,m,f.addLinks,f.rehover,f.previousPromises);var E=o.syncOrAsync(S,t);return E&&E.then||(E=Promise.resolve()),E.then(function(){return t.emit(\\\"plotly_afterplot\\\"),t})},r.setPlotConfig=function(t){return o.extendFlat(x,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 _.cleanData(t.data,t.data),_.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit(\\\"plotly_redraw\\\"),t})},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{},t.calcdata||[]),f.purge(t),r.plot(t,e,n,i)},r.extendTraces=function t(e,n,i,a){var s=P(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=D(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.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),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.prependTraces,u,t,arguments),c},r.prependTraces=function t(e,n,i,a){var s=P(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=D(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.extendTraces,u,t,arguments),c},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,c=[],u=r.deleteTraces,f=t,h=[e,c],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"traces must be defined.\\\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\\\"object\\\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\\\"all values in traces array must be non-array objects\\\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\\\"if indices is specified, traces.length must equal indices.length\\\")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),_.cleanData(n,e.data),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)c.push(-n.length+a);if(void 0===i)return s=r.redraw(e),l.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{z(e,c,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return l.startSequence(e),l.add(e,u,h,f,p),s=r.moveTraces(e,c,i),l.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],c=r.addTraces,u=t,f=[e,s,n],h=[e,n];if(void 0===n)throw new Error(\\\"indices must be an integer or array of integers.\\\");for(Array.isArray(n)||(n=[n]),L(e,n,\\\"indices\\\"),(n=E(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return l.add(e,c,f,u,h),p},r.moveTraces=function t(e,n,i){var a,s=[],c=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(z(e,n,i),n=Array.isArray(n)?n:[n],void 0===i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=E(n,e.data.length-1),i=E(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)c.push({newIndex:i[a],trace:e.data[n[a]]});for(c.sort(function(t,e){return t.newIndex-e.newIndex}),a=0;a<c.length;a+=1)s.splice(c[a].newIndex,0,c[a].trace);e.data=s;var d=r.redraw(e);return l.add(e,u,h,f,p),d},r.restyle=function t(e,n,i,a){e=o.getGraphDiv(e),_.clearPromiseQueue(e);var s={};if(\\\"string\\\"==typeof n)s[n]=i;else{if(!o.isPlainObject(n))return o.warn(\\\"Restyle fail.\\\",n,i,a),Promise.reject();s=o.extendFlat({},n),void 0===a&&(a=i)}Object.keys(s).length&&(e.changed=!0);var c=_.coerceTraceIndices(e,a),u=I(e,s,c),h=u.flags;h.clearCalc&&(e.calcdata=void 0),h.clearAxisTypes&&_.clearAxisTypes(e,c,{});var p=[];h.fullReplot?p.push(r.plot):(p.push(f.previousPromises),f.supplyDefaults(e),h.style&&p.push(w.doTraceStyle),h.colorbars&&p.push(w.doColorBars)),p.push(f.rehover),l.add(e,t,[e,u.undoit,u.traces],t,[e,u.redoit,u.traces]);var d=o.syncOrAsync(p,e);return d&&d.then||(d=Promise.resolve()),d.then(function(){return e.emit(\\\"plotly_restyle\\\",u.eventData),e})},r.relayout=function t(e,r,n){if(e=o.getGraphDiv(e),_.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\\\"string\\\"==typeof r)i[r]=n;else{if(!o.isPlainObject(r))return o.warn(\\\"Relayout fail.\\\",r,n),Promise.reject();i=o.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=R(e,i),s=a.flags;s.calc&&(e.calcdata=void 0),s.margins&&_.clearAxisAutomargins(e);var c=[f.previousPromises];s.layoutReplot?c.push(w.layoutReplot):Object.keys(i).length&&(f.supplyDefaults(e),s.legend&&c.push(w.doLegend),s.layoutstyle&&c.push(w.layoutStyles),s.axrange&&c.push(w.doAutoRangeAndConstraints,w.doTicksRelayout,w.drawData,w.finalDraw),s.ticks&&c.push(w.doTicksRelayout),s.modebar&&c.push(w.doModeBar),s.camera&&c.push(w.doCamera)),c.push(f.rehover),l.add(e,t,[e,a.undoit],t,[e,a.redoit]);var u=o.syncOrAsync(c,e);return u&&u.then||(u=Promise.resolve(e)),u.then(function(){return e.emit(\\\"plotly_relayout\\\",a.eventData),e})},r.update=function t(e,n,i,a){if(e=o.getGraphDiv(e),_.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);o.isPlainObject(n)||(n={}),o.isPlainObject(i)||(i={}),Object.keys(n).length&&(e.changed=!0),Object.keys(i).length&&(e.changed=!0);var s=_.coerceTraceIndices(e,a),c=I(e,o.extendFlat({},n),s),u=c.flags,h=R(e,o.extendFlat({},i)),p=h.flags;(u.clearCalc||p.calc)&&(e.calcdata=void 0),u.clearAxisTypes&&_.clearAxisTypes(e,s,i),p.margins&&_.clearAxisAutomargins(e);var d=[];if(u.fullReplot&&p.layoutReplot){var g=e.data,m=e.layout;e.data=void 0,e.layout=void 0,d.push(function(){return r.plot(e,g,m)})}else u.fullReplot?d.push(r.plot):p.layoutReplot?d.push(w.layoutReplot):(d.push(f.previousPromises),f.supplyDefaults(e),u.style&&d.push(w.doTraceStyle),u.colorbars&&d.push(w.doColorBars),p.legend&&d.push(w.doLegend),p.layoutstyle&&d.push(w.layoutStyles),p.axrange&&d.push(w.doAutoRangeAndConstraints,w.doTicksRelayout,w.drawData,w.finalDraw),p.ticks&&d.push(w.doTicksRelayout),p.modebar&&d.push(w.doModeBar),p.camera&&d.push(w.doCamera));d.push(f.rehover),l.add(e,t,[e,c.undoit,h.undoit,c.traces],t,[e,c.redoit,h.redoit,c.traces]);var v=o.syncOrAsync(d,e);return v&&v.then||(v=Promise.resolve(e)),v.then(function(){return e.emit(\\\"plotly_update\\\",{data:c.eventData,layout:h.eventData}),e})},r.react=function(t,e,n,i){var a,s;var l=(t=o.getGraphDiv(t))._fullData,h=t._fullLayout;if(o.isPlotDiv(t)&&l&&h){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,i=d.config,a=d.frames}var g=!1;if(i){var m=o.extendDeep({},t._context);t._context=void 0,C(t,i),g=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(m,t._context)}t.data=e||[],_.cleanData(t.data,[]),t.layout=n||{},_.cleanLayout(t.layout),f.supplyDefaults(t,{skipUpdateCalc:!0});var v=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,calc:!0};var i,a,o=k.traceFlags();o.arrays={};var s={getValObject:function(t){return u.getTraceValObject(a,t)},flags:o,immutable:n,gd:t},l={};for(i=0;i<e.length;i++)a=r[i]._fullInput,l[a.uid]||(l[a.uid]=1,s.autoranged=!!a.xaxis&&(p.getFromId(t,a.xaxis).autorange||p.getFromId(t,a.yaxis).autorange),N(e[i]._fullInput,a,[],s));(o.calc||o.plot||o.calcIfAutorange)&&(o.fullReplot=!0);return o}(t,l,v,x),M=function(t,e,r,n){var i=k.layoutFlags();i.arrays={},N(e,r,[],{getValObject:function(t){return u.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,h,y,x);B(t)&&(M.layoutReplot=!0),b.calc||M.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,v),M.margins&&_.clearAxisAutomargins(t);var A=[];if(a&&(t._transitionData={},f.createTransitionData(t),A.push(function(){return r.addFrames(t,a)})),b.fullReplot||M.layoutReplot||g)t._fullLayout._skipDefaults=!0,A.push(r.plot);else{for(var T in M.arrays){var S=M.arrays[T];if(S.length){var E=c.getComponentMethod(T,\\\"drawOne\\\");if(E!==o.noop)for(var L=0;L<S.length;L++)E(t,S[L]);else{var z=c.getComponentMethod(T,\\\"draw\\\");if(z===o.noop)throw new Error(\\\"cannot draw components: \\\"+T);z(t)}}}A.push(f.previousPromises),b.style&&A.push(w.doTraceStyle),b.colorbars&&A.push(w.doColorBars),M.legend&&A.push(w.doLegend),M.layoutstyle&&A.push(w.layoutStyles),M.axrange&&A.push(w.doAutoRangeAndConstraints,w.doTicksRelayout,w.drawData,w.finalDraw),M.ticks&&A.push(w.doTicksRelayout),M.modebar&&A.push(w.doModeBar),M.camera&&A.push(w.doCamera)}A.push(f.rehover),(s=o.syncOrAsync(A,t))&&s.then||(s=Promise.resolve(t))}else s=r.newPlot(t,e,n,i);return s.then(function(){return t.emit(\\\"plotly_react\\\",{data:e,layout:n}),t})},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://plot.ly/javascript/animations/\\\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=f.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}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(a,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,_.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(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=void 0===e||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 w=e[d];-1!==[\\\"number\\\",\\\"string\\\"].indexOf(typeof w)?(w=String(w),y.push({type:\\\"byname\\\",name:w,data:v({name:w})})):o.isPlainObject(w)&&y.push({type:\\\"object\\\",data:v(o.extendFlat({},w))})}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 k=t._fullLayout._currentFrame;if(k&&r.fromcurrent){var M=-1;for(d=0;d<y.length;d++)if(\\\"byname\\\"===(g=y[d]).type&&g.name===k){M=d;break}if(M>0&&M<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],(\\\"byname\\\"!==y[d].type||d>M)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o=\\\"byname\\\"===e[i].type?f.computeFrame(t,e[i].name):e[i].data;var h=l(i),d=s(i);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[i].name,frameOpts:h,transitionOpts:d};i===e.length-1&&(g.onComplete=c(a,2),g.onInterrupt=u),n._frameQueue.push(g)}\\\"immediate\\\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit(\\\"plotly_animated\\\"),a())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null===e||void 0===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://plot.ly/javascript/animations/\\\");var n,i,a,s,c=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=c.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&&A<5&&(A++,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===A&&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=[],_=c.length;for(n=p.length-1;n>=0;n--){if(\\\"number\\\"==typeof(i=p[n].frame).name&&o.warn(\\\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\\\"),!i.name)for(;u[i.name=\\\"frame \\\"+t._transitionData._counter++];);if(u[i.name]){for(a=0;a<c.length&&(c[a]||{}).name!==i.name;a++);x.push({type:\\\"replace\\\",index:a,value:i}),b.unshift({type:\\\"replace\\\",index:a,value:c[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:\\\"insert\\\",index:s,value:i}),b.unshift({type:\\\"delete\\\",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,M=[t,b],T=[t,x];return l&&l.add(t,w,M,k,T),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,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\\\"delete\\\",index:n}),s.unshift({type:\\\"insert\\\",index:n,value:i[n]});var c=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return l&&l.add(t,c,h,u,p),f.modifyFrames(t,a)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[],n=t.calcdata||[];return f.cleanPlot([],{},r,e,n),f.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{\\\"../components/color\\\":474,\\\"../components/drawing\\\":499,\\\"../constants/xmlns_namespaces\\\":581,\\\"../lib\\\":602,\\\"../lib/events\\\":590,\\\"../lib/queue\\\":617,\\\"../lib/svg_text_utils\\\":626,\\\"../plots/cartesian/axes\\\":648,\\\"../plots/cartesian/constants\\\":653,\\\"../plots/cartesian/graph_interact\\\":657,\\\"../plots/plots\\\":710,\\\"../plots/polar/legacy\\\":718,\\\"../registry\\\":732,\\\"./edit_types\\\":633,\\\"./helpers\\\":634,\\\"./manage_arrays\\\":636,\\\"./plot_config\\\":638,\\\"./plot_schema\\\":639,\\\"./subroutines\\\":640,d3:130,\\\"fast-isnumeric\\\":196,\\\"has-hover\\\":296}],638:[function(t,e,r){\\\"use strict\\\";e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\\\"reset+autosize\\\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\\\"Edit chart\\\",showSources:!1,displayModeBar:\\\"hover\\\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:\\\"transparent\\\",topojsonURL:\\\"https://cdn.plot.ly/\\\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\\\"en-US\\\",locales:{}}},{}],639:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\"),i=t(\\\"../lib\\\"),a=t(\\\"../plots/attributes\\\"),o=t(\\\"../plots/layout_attributes\\\"),s=t(\\\"../plots/frame_attributes\\\"),l=t(\\\"../plots/animation_attributes\\\"),c=t(\\\"../plots/polar/legacy/area_attributes\\\"),u=t(\\\"../plots/polar/legacy/axis_attributes\\\"),f=t(\\\"./edit_types\\\"),h=i.extendFlat,p=i.extendDeepAll,d=i.isPlainObject,g=\\\"_isSubplotObj\\\",m=\\\"_isLinkedToArray\\\",v=[g,m,\\\"_arrayAttrRegexps\\\",\\\"_deprecated\\\"];function y(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(x(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!d(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!x(e[++r]))return!1}else if(\\\"info_array\\\"===t.valType){var i=e[++r];if(!x(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!x(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function x(t){return t===Math.round(t)&&t>=0}function b(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\\\"}):d(t)&&(t.role=\\\"object\\\")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[m];if(!n)return;delete t[m],r[e]={items:{}},r[e].items[n]=t,r[e].role=\\\"object\\\"})}(t),function(t){!function t(e){for(var r in e)if(d(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 _(t,e,r){var n=i.nestedProperty(t,r),a=p({},e.layoutAttributes);a[g]=!0,n.set(a)}function w(t,e,r){var n=i.nestedProperty(t,r);n.set(p(n.get()||{},e))}r.IS_SUBPLOT_OBJ=g,r.IS_LINKED_TO_ARRAY=m,r.DEPRECATED=\\\"_deprecated\\\",r.UNDERSCORE_ATTRS=v,r.get=function(){var t={};n.allTypes.concat(\\\"area\\\").forEach(function(e){t[e]=function(t){var e,r;\\\"area\\\"===t?(e={attributes:c},r={}):(e=n.modules[t]._module,r=e.basePlotModule);var i={type:null};p(i,a),p(i,e.attributes),r.attributes&&p(i,r.attributes);i.type=t;var o={meta:e.meta||{},attributes:b(i)};if(e.layoutAttributes){var s={};p(s,e.layoutAttributes),o.layoutAttributes=b(s)}return o}(e)});var e,r={};return Object.keys(n.transformsRegistry).forEach(function(t){r[t]=function(t){var e=n.transformsRegistry[t],r=p({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach(function(e){w(r,i.schema.transforms[t][e],e)})}),{attributes:b(r)}}(t)}),{defs:{valObjects:i.valObjectMeta,metaKeys:v.concat([\\\"description\\\",\\\"role\\\",\\\"editType\\\",\\\"impliedEdits\\\"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in p(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)_(r,e,e.attr[i]);else{var a=\\\"subplot\\\"===e.attr?e.name:e.attr;_(r,e,a)}for(t in r=function(t){return h(t,{radialaxis:u.radialaxis,angularaxis:u.angularaxis}),h(t,u.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else e.layoutAttributes&&w(r,e.layoutAttributes,e.name)}return{layoutAttributes:b(r)}}(),transforms:r,frames:(e={frames:i.extendDeepAll({},s)},b(e),e.frames),animation:b(l)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||\\\"\\\",Object.keys(t).forEach(function(n){var o=t[n];if(-1===v.indexOf(n)){var s=(i?i+\\\".\\\":\\\"\\\")+n;e(o,n,t,a,s),r.isValObject(o)||d(o)&&\\\"impliedEdits\\\"!==n&&r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,o=[],s=[],l=[];function c(t,r,a,c){s=s.slice(0,c).concat([r]),l=l.slice(0,c).concat([t&&t._isLinkedToArray]),t&&(\\\"data_array\\\"===t.valType||!0===t.arrayOk)&&!(\\\"colorbar\\\"===s[c-1]&&(\\\"ticktext\\\"===r||\\\"tickvals\\\"===r))&&function t(e,r,a){var c=e[s[r]];var u=a+s[r];if(r===s.length-1)i.isArrayOrTypedArray(c)&&o.push(n+u);else if(l[r]){if(Array.isArray(c))for(var f=0;f<c.length;f++)i.isPlainObject(c[f])&&t(c[f],r+1,u+\\\"[\\\"+f+\\\"].\\\")}else i.isPlainObject(c)&&t(c,r+1,u+\\\".\\\")}(e,0,\\\"\\\")}e=t,n=\\\"\\\",r.crawl(a,c),t._module&&t._module.attributes&&r.crawl(t._module.attributes,c);var u=t.transforms;if(u)for(var f=0;f<u.length;f++){var h=u[f],p=h._module;p&&(n=\\\"transforms[\\\"+f+\\\"].\\\",e=h,r.crawl(p.attributes,c))}return o},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if(\\\"transforms\\\"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var u=e[1];if(!x(u)||u>=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if(\\\"area\\\"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return y(i,e,s)},r.getLayoutValObject=function(t,e){return y(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var f=a.baseLayoutAttrOverrides;if(f&&e in f)return f[e]}if(c)return c}var h=t._modules;if(h)for(r=0;r<h.length;r++)if((s=h[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry)if(!(a=n.componentsRegistry[i]).schema&&e===a.name)return a.layoutAttributes;if(e in o)return o[e];if(\\\"radialaxis\\\"===e||\\\"angularaxis\\\"===e)return u[e];return u.layout[e]||!1}(t,e[0]),e,1)}},{\\\"../lib\\\":602,\\\"../plots/animation_attributes\\\":643,\\\"../plots/attributes\\\":645,\\\"../plots/frame_attributes\\\":675,\\\"../plots/layout_attributes\\\":701,\\\"../plots/polar/legacy/area_attributes\\\":716,\\\"../plots/polar/legacy/axis_attributes\\\":717,\\\"../registry\\\":732,\\\"./edit_types\\\":633}],640:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../registry\\\"),a=t(\\\"../plots/plots\\\"),o=t(\\\"../lib\\\"),s=t(\\\"../lib/clear_gl_canvases\\\"),l=t(\\\"../components/color\\\"),c=t(\\\"../components/drawing\\\"),u=t(\\\"../components/titles\\\"),f=t(\\\"../components/modebar\\\"),h=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){return(t.ticks||t.showline)&&(e===t._mainSubplot||\\\"all\\\"===t.mirror||\\\"allticks\\\"===t.mirror)}function x(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 i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function b(t,e,r,n){if(x(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&x(t,e,a))return a._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,r.lsInner],t)},r.lsInner=function(t){var e,i=t._fullLayout,a=i._size,s=a.p,u=h.list(t),d=i._has(\\\"cartesian\\\");function g(t,e,r){var n=t._lw/2;return\\\"x\\\"===t._id.charAt(0)?e?\\\"top\\\"===r?e._offset-s-n:e._offset+e._length+s+n:a.t+a.h*(1-(t.position||0))+n%1:e?\\\"right\\\"===r?e._offset+e._length+s+n:e._offset-s-n:a.l+a.w*(t.position||0)+n%1}for(e=0;e<u.length;e++){var m=u[e];m.setScale();var v=m._anchorAxis;m._linepositions={},m._lw=c.crispRound(t,m.linewidth,1),m._mainLinePosition=g(m,v,m.side),m._mainMirrorPosition=m.mirror&&v?g(m,v,p.OPPOSITE_SIDE[m.side]):null}i._paperdiv.style({width:i.width+\\\"px\\\",height:i.height+\\\"px\\\"}).selectAll(\\\".main-svg\\\").call(c.setSize,i.width,i.height),t._context.setBackground(t,i.paper_bgcolor);var x=i._paper.selectAll(\\\"g.subplot\\\"),_=[],w=[];x.each(function(t){var e=i._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,n=e.yaxis.domain,a=e.plotgroup;if(function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}(r,n,w)){var s=a.node(),l=e.bg=o.ensureSingle(a,\\\"rect\\\",\\\"bg\\\");s.insertBefore(l.node(),s.childNodes[0])}else a.select(\\\"rect.bg\\\").remove(),_.push(t),w.push([r,n])});var k=i._bgLayer.selectAll(\\\".bg\\\").data(_);return k.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),k.exit().remove(),k.each(function(t){i._plots[t].bg=n.select(this)}),x.each(function(t){var e=i._plots[t],r=e.xaxis,n=e.yaxis;e.bg&&d&&e.bg.call(c.setRect,r._offset-s,n._offset-s,r._length+2*s,n._length+2*s).call(l.fill,i.plot_bgcolor).style(\\\"stroke-width\\\",0);var a,f,h=e.clipId=\\\"clip\\\"+i._uid+t+\\\"plot\\\",p=o.ensureSingleById(i._clips,\\\"clipPath\\\",h,function(t){t.classed(\\\"plotclip\\\",!0).append(\\\"rect\\\")});if(e.clipRect=p.select(\\\"rect\\\").attr({width:r._length,height:n._length}),c.setTranslate(e.plot,r._offset,n._offset),e._hasClipOnAxisFalse?(a=null,f=h):(a=h,f=null),c.setClipUrl(e.plot,a),e.layerClipId=f,d){var m,v,x,_,w,k,M,A,T,S,C,E,L,z=\\\"M0,0\\\";y(r,t)&&(w=b(r,\\\"left\\\",n,u),m=r._offset-(w?s+w:0),k=b(r,\\\"right\\\",n,u),v=r._offset+r._length+(k?s+k:0),x=g(r,n,\\\"bottom\\\"),_=g(r,n,\\\"top\\\"),(L=!r._anchorAxis||t!==r._mainSubplot)&&r.ticks&&\\\"allticks\\\"===r.mirror&&(r._linepositions[t]=[x,_]),z=I(r,D,function(t){return\\\"M\\\"+r._offset+\\\",\\\"+t+\\\"h\\\"+r._length}),L&&r.showline&&(\\\"all\\\"===r.mirror||\\\"allticks\\\"===r.mirror)&&(z+=D(x)+D(_)),e.xlines.style(\\\"stroke-width\\\",r._lw+\\\"px\\\").call(l.stroke,r.showline?r.linecolor:\\\"rgba(0,0,0,0)\\\")),e.xlines.attr(\\\"d\\\",z);var P=\\\"M0,0\\\";y(n,t)&&(C=b(n,\\\"bottom\\\",r,u),M=n._offset+n._length+(C?s:0),E=b(n,\\\"top\\\",r,u),A=n._offset-(E?s:0),T=g(n,r,\\\"left\\\"),S=g(n,r,\\\"right\\\"),(L=!n._anchorAxis||t!==r._mainSubplot)&&n.ticks&&\\\"allticks\\\"===n.mirror&&(n._linepositions[t]=[T,S]),P=I(n,O,function(t){return\\\"M\\\"+t+\\\",\\\"+n._offset+\\\"v\\\"+n._length}),L&&n.showline&&(\\\"all\\\"===n.mirror||\\\"allticks\\\"===n.mirror)&&(P+=O(T)+O(S)),e.ylines.style(\\\"stroke-width\\\",n._lw+\\\"px\\\").call(l.stroke,n.showline?n.linecolor:\\\"rgba(0,0,0,0)\\\")),e.ylines.attr(\\\"d\\\",P)}function D(t){return\\\"M\\\"+m+\\\",\\\"+t+\\\"H\\\"+v}function O(t){return\\\"M\\\"+t+\\\",\\\"+A+\\\"V\\\"+M}function I(e,r,n){if(!e.showline||t!==e._mainSubplot)return\\\"\\\";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),h.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,\\\"gtitle\\\",{propContainer:e,propName:\\\"title\\\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\\\"text-anchor\\\":\\\"middle\\\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return a.style(t),i.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),a.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,o=r.t.cb;i.traceIs(n,\\\"contour\\\")&&o.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\\\"line\\\"===n.contours.coloring?o._opts.line.color:n.line.color}),i.traceIs(n,\\\"markerColorscale\\\")?o.options(n.marker.colorbar)():o.options(n.colorbar)()}}return a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call(\\\"plot\\\",t,\\\"\\\",e)},r.doLegend=function(t){return i.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),a.previousPromises(t)},r.doTicksRelayout=function(t){return h.doTicks(t,\\\"redraw\\\"),t._fullLayout._hasOnlyLargeSploms&&(s(t),i.subplotsRegistry.splom.plot(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(e)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}},r.drawData=function(t){var e,r=t._fullLayout,n=t.calcdata;for(e=0;e<n.length;e++){var o=n[e][0].trace;!0===o.visible&&o._module.colorbar||r._infolayer.select(\\\".cb\\\"+o.uid).remove()}s(t);var l=r._basePlotModules;for(e=0;e<l.length;e++)l[e].plot(t);return a.style(t),i.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),r._replotting=!1,a.previousPromises(t)},r.doAutoRangeAndConstraints=function(t){for(var e=h.list(t,\\\"\\\",!0),r=0;r<e.length;r++){var n=e[r];m(t,n),v(n)}g(t)},r.finalDraw=function(t){i.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"images\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"rangeslider\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),i.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t)}},{\\\"../components/color\\\":474,\\\"../components/drawing\\\":499,\\\"../components/modebar\\\":537,\\\"../components/titles\\\":567,\\\"../constants/alignment\\\":574,\\\"../lib\\\":602,\\\"../lib/clear_gl_canvases\\\":586,\\\"../plots/cartesian/autorange\\\":647,\\\"../plots/cartesian/axes\\\":648,\\\"../plots/cartesian/constraints\\\":655,\\\"../plots/plots\\\":710,\\\"../registry\\\":732,d3:130}],641:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./plot_api\\\"),i=t(\\\"../lib\\\"),a=t(\\\"../snapshot/helpers\\\"),o=t(\\\"../snapshot/tosvg\\\"),s=t(\\\"../snapshot/svgtoimg\\\"),l={format:{valType:\\\"enumerated\\\",values:[\\\"png\\\",\\\"jpeg\\\",\\\"webp\\\",\\\"svg\\\"],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}},c=/^data:image\\\\/\\\\w+;base64,/;e.exports=function(t,e){var r,u,f;function h(t){return!(t in e)||i.validate(e[t],l[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},f=t.config||{}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),f=t._context),!h(\\\"width\\\")||!h(\\\"height\\\"))throw new Error(\\\"Height and width should be pixel values.\\\");if(!h(\\\"format\\\"))throw new Error(\\\"Image format is not jpeg, png, svg or webp.\\\");var p={};function d(t,r){return i.coerce(e,p,l,t,r)}var g=d(\\\"format\\\"),m=d(\\\"width\\\"),v=d(\\\"height\\\"),y=d(\\\"scale\\\"),x=d(\\\"setBackground\\\"),b=d(\\\"imageDataOnly\\\"),_=document.createElement(\\\"div\\\");_.style.position=\\\"absolute\\\",_.style.left=\\\"-5000px\\\",document.body.appendChild(_);var w=i.extendFlat({},u);m&&(w.width=m),v&&(w.height=v);var k=i.extendFlat({},f,{staticPlot:!0,setBackground:x}),M=a.getRedrawFunc(_);function A(){return new Promise(function(t){setTimeout(t,a.getDelay(_._fullLayout))})}function T(){return new Promise(function(t,e){var r=o(_,g,y),a=_._fullLayout.width,l=_._fullLayout.height;if(n.purge(_),document.body.removeChild(_),\\\"svg\\\"===g)return t(b?r:\\\"data:image/svg+xml,\\\"+encodeURIComponent(r));var c=document.createElement(\\\"canvas\\\");c.id=i.randstr(),s({format:g,width:a,height:l,scale:y,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){n.plot(_,r,w,k).then(M).then(A).then(T).then(function(e){t(function(t){return b?t.replace(c,\\\"\\\"):t}(e))}).catch(function(t){e(t)})})}},{\\\"../lib\\\":602,\\\"../snapshot/helpers\\\":736,\\\"../snapshot/svgtoimg\\\":738,\\\"../snapshot/tosvg\\\":740,\\\"./plot_api\\\":637}],642:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plots/plots\\\"),a=t(\\\"./plot_schema\\\"),o=t(\\\"./plot_config\\\"),s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var m=f[h];if(\\\"transforms\\\"!==m){var v=o.slice();v.push(m);var y=t[m],x=e[m],b=g(r,m),_=\\\"info_array\\\"===(b||{}).valType,w=\\\"colorscale\\\"===(b||{}).valType,k=(b||{}).items;if(d(r,m))if(s(y)&&s(x))u(y,x,b,i,a,v);else if(_&&l(y)){y.length>x.length&&i.push(p(\\\"unused\\\",a,v.concat(x.length)));var M,A,T,S,C,E=x.length,L=Array.isArray(k);if(L&&(E=Math.min(E,k.length)),2===b.dimensions)for(A=0;A<E;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(p(\\\"unused\\\",a,v.concat(A,x[A].length)));var z=x[A].length;for(M=0;M<(L?Math.min(z,k[A].length):z);M++)T=L?k[A][M]:k,S=y[A][M],C=x[A][M],n.validate(S,T)?C!==S&&C!==+S&&i.push(p(\\\"dynamic\\\",a,v.concat(A,M),S,C)):i.push(p(\\\"value\\\",a,v.concat(A,M),S))}else i.push(p(\\\"array\\\",a,v.concat(A),y[A]));else for(A=0;A<E;A++)T=L?k[A]:k,S=y[A],C=x[A],n.validate(S,T)?C!==S&&C!==+S&&i.push(p(\\\"dynamic\\\",a,v.concat(A),S,C)):i.push(p(\\\"value\\\",a,v.concat(A),S))}else if(b.items&&!_&&l(y)){var P,D,O=k[Object.keys(k)[0]],I=[];for(P=0;P<x.length;P++){var R=x[P]._index||P;(D=v.slice()).push(R),s(y[R])&&s(x[P])&&(I.push(R),u(y[R],x[P],O,i,a,D))}for(P=0;P<y.length;P++)(D=v.slice()).push(P),s(y[P])?-1===I.indexOf(P)&&i.push(p(\\\"unused\\\",a,D)):i.push(p(\\\"object\\\",a,D,y[P]))}else!s(y)&&s(x)?i.push(p(\\\"object\\\",a,v,y)):c(y)||!c(x)||_||w?m in e?n.validate(y,b)?\\\"enumerated\\\"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(p(\\\"dynamic\\\",a,v,y,x)):i.push(p(\\\"value\\\",a,v,y)):i.push(p(\\\"unused\\\",a,v,y)):i.push(p(\\\"array\\\",a,v,y));else i.push(p(\\\"schema\\\",a,v))}}return i}e.exports=function(t,e){var r,c,f=a.get(),h=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],h.push(p(\\\"array\\\",\\\"data\\\"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&h.push(p(\\\"object\\\",\\\"layout\\\"))),i.supplyDefaults(d);for(var g=d._fullData,m=r.length,v=0;v<m;v++){var y=r[v],x=[\\\"data\\\",v];if(s(y)){var b=g[v],_=b.type,w=f.traces[_].attributes;w.type={valType:\\\"enumerated\\\",values:[_]},!1===b.visible&&!1!==y.visible&&h.push(p(\\\"invisible\\\",x)),u(y,b,w,h,x);var k=y.transforms,M=b.transforms;if(k){l(k)||h.push(p(\\\"array\\\",x,[\\\"transforms\\\"])),x.push(\\\"transforms\\\");for(var A=0;A<k.length;A++){var T=[\\\"transforms\\\",A],S=k[A].type;if(s(k[A])){var C=f.transforms[S]?f.transforms[S].attributes:{};C.type={valType:\\\"enumerated\\\",values:Object.keys(f.transforms)},u(k[A],M[A],C,h,x,T)}else h.push(p(\\\"object\\\",x,T))}}}else h.push(p(\\\"object\\\",x))}return u(c,d._fullLayout,function(t,e){for(var r=0;r<e.length;r++){var i=e[r].type,a=t.traces[i].layoutAttributes;a&&n.extendFlat(t.layout.layoutAttributes,a)}return t.layout.layoutAttributes}(f,g),h,\\\"layout\\\"),0===h.length?void 0:h};var f={object:function(t,e){return(\\\"layout\\\"===t&&\\\"\\\"===e?\\\"The layout argument\\\":\\\"data\\\"===t[0]&&\\\"\\\"===e?\\\"Trace \\\"+t[1]+\\\" in the data argument\\\":h(t)+\\\"key \\\"+e)+\\\" must be linked to an object container\\\"},array:function(t,e){return(\\\"data\\\"===t?\\\"The data argument\\\":h(t)+\\\"key \\\"+e)+\\\" must be linked to an array container\\\"},schema:function(t,e){return h(t)+\\\"key \\\"+e+\\\" is not part of the schema\\\"},unused:function(t,e,r){var n=s(r)?\\\"container\\\":\\\"key\\\";return h(t)+n+\\\" \\\"+e+\\\" did not get coerced\\\"},dynamic:function(t,e,r,n){return[h(t)+\\\"key\\\",e,\\\"(set to '\\\"+r+\\\"')\\\",\\\"got reset to\\\",\\\"'\\\"+n+\\\"'\\\",\\\"during defaults.\\\"].join(\\\" \\\")},invisible:function(t){return\\\"Trace \\\"+t[1]+\\\" got defaulted to be not visible\\\"},value:function(t,e,r){return[h(t)+\\\"key \\\"+e,\\\"is set to an invalid value (\\\"+r+\\\")\\\"].join(\\\" \\\")}};function h(t){return l(t)?\\\"In data trace \\\"+t[1]+\\\", \\\":\\\"In \\\"+t+\\\", \\\"}function p(t,e,r,i,a){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,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=v(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function g(t,e){return t[v(e).keyMinusId]}var m=n.counterRegex(\\\"([a-z]+)\\\");function v(t){var e=t.match(m);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{\\\"../lib\\\":602,\\\"../plots/plots\\\":710,\\\"./plot_config\\\":638,\\\"./plot_schema\\\":639}],643:[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},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\\\"]}}}},{}],644:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\");e.exports=function(t,e,r){var i,a=r.name,o=e[a],s=n.isArrayOrTypedArray(t[a])?t[a]:[],l=e[a]=[];for(i=0;i<s.length;i++){var c=s[i],u={},f={};n.isPlainObject(c)||(f.itemIsNotPlainObject=!0,c={}),r.handleItemDefaults(c,u,e,r,f),u._input=c,u._index=i,l.push(u)}if(n.isArrayOrTypedArray(o)){var h=Math.min(o.length,l.length);for(i=0;i<h;i++)n.relinkPrivateKeys(l[i],o[i])}}},{\\\"../lib\\\":602}],645:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../components/fx/attributes\\\");e.exports={type:{valType:\\\"enumerated\\\",values:[],dflt:\\\"scatter\\\",editType:\\\"calc+clearAxisTypes\\\"},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\\\",dflt:\\\"\\\",editType:\\\"calc\\\"},ids:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},customdata:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},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\\\"}}},{\\\"../components/fx/attributes\\\":508}],646:[function(t,e,r){\\\"use strict\\\";e.exports={xaxis:{valType:\\\"subplotid\\\",dflt:\\\"x\\\",editType:\\\"calc+clearAxisTypes\\\"},yaxis:{valType:\\\"subplotid\\\",dflt:\\\"y\\\",editType:\\\"calc+clearAxisTypes\\\"}}},{}],647:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").FP_SAFE;function o(t){var e,r,n,a,o,l,c,u,f=[],h=t._min[0].val,p=t._max[0].val,d=0,g=!1,m=s(t);for(e=1;e<t._min.length&&h===p;e++)h=Math.min(h,t._min[e].val);for(e=1;e<t._max.length&&h===p;e++)p=Math.max(p,t._max[e].val);if(t.range){var v=i.simpleMap(t.range,t.r2l);g=v[1]<v[0]}for(\\\"reversed\\\"===t.autorange&&(g=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(n=t._min[e],r=0;r<t._max.length;r++)u=(a=t._max[r]).val-n.val,c=t._length-m(n)-m(a),u>0&&c>0&&u/c>d&&(o=n,l=a,d=u/c);if(h===p){var y=h-1,x=h+1;f=\\\"tozero\\\"===t.rangemode?h<0?[y,0]:[0,x]:\\\"nonnegative\\\"===t.rangemode?[Math.max(0,y),Math.max(0,x)]:[y,x]}else d&&(\\\"linear\\\"!==t.type&&\\\"-\\\"!==t.type||(\\\"tozero\\\"===t.rangemode?(o.val>=0&&(o={val:0,pad:0}),l.val<=0&&(l={val:0,pad:0})):\\\"nonnegative\\\"===t.rangemode&&(o.val-d*m(o)<0&&(o={val:0,pad:0}),l.val<0&&(l={val:1,pad:0})),d=(l.val-o.val)/(t._length-m(o)-m(l))),f=[o.val-d*m(o),l.val+d*m(l)]);return f[0]===f[1]&&(\\\"tozero\\\"===t.rangemode?f=f[0]<0?[f[0],0]:f[0]>0?[0,f[0]]:[0,1]:(f=[f[0]-1,f[0]+1],\\\"nonnegative\\\"===t.rangemode&&(f[0]=Math.max(0,f[0])))),g&&f.reverse(),i.simpleMap(f,t.l2r||Number)}function s(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 l(t){return n(t)&&Math.abs(t)<a}function c(t,e){return t<=e}function u(t,e){return t>=e}e.exports={getAutoRange:o,makePadFn:s,doAutoRange:function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=o(t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&\\\"auto\\\"===n.rangemode&&(n.range=r?o(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=i.extendFlat({},n)}},expand:function(t,e,r){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);r||(r={});t._m||t.setScale();var i,o,s,f,h,p,d,g,m,v,y,x,b=e.length,_=r.padded||!1,w=r.tozero&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type),k=\\\"log\\\"===t.type,M=!1;function A(t){if(Array.isArray(t))return M=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var T=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),E=A(r.vpadminus||r.vpad);if(!M){if(y=1/0,x=-1/0,k)for(i=0;i<b;i++)(f=e[i])<y&&f>0&&(y=f),f>x&&f<a&&(x=f);else for(i=0;i<b;i++)(f=e[i])<y&&f>-a&&(y=f),f>x&&f<a&&(x=f);e=[y,x],b=2}function L(r){if(h=e[r],n(h))for(g=T(r),m=S(r),y=h-E(r),x=h+C(r),k&&y<x/10&&(y=x/10),p=t.c2l(y),d=t.c2l(x),w&&(p=Math.min(0,p),d=Math.max(0,d)),s=0;s<2;s++){var i=s?d:p;if(l(i)){var a=s?t._max:t._min,b=s?g:m,M=s?u:c;for(v=!0,o=0;o<a.length&&v;o++){if(f=a[o],M(f.val,i)&&f.pad>=b&&(f.extrapad||!_)){v=!1;break}M(i,f.val)&&f.pad<=b&&(_||!f.extrapad)&&(a.splice(o,1),o--)}if(v){var A=w&&0===i;a.push({val:i,pad:A?0:b,extrapad:!A&&_})}}}}var z=Math.min(6,b);for(i=0;i<z;i++)L(i);for(i=b-1;i>=z;i--)L(i)}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],648:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../components/titles\\\"),u=t(\\\"../../components/color\\\"),f=t(\\\"../../components/drawing\\\"),h=t(\\\"../../constants/numerical\\\"),p=h.ONEAVGYEAR,d=h.ONEAVGMONTH,g=h.ONEDAY,m=h.ONEHOUR,v=h.ONEMIN,y=h.ONESEC,x=h.MINUS_SIGN,b=h.BADNUM,_=t(\\\"../../constants/alignment\\\").MID_SHIFT,w=t(\\\"../../constants/alignment\\\").LINE_SPACING,k=e.exports={};k.setConvert=t(\\\"./set_convert\\\");var M=t(\\\"./axis_autotype\\\"),A=t(\\\"./axis_ids\\\");k.id2name=A.id2name,k.name2id=A.name2id,k.cleanId=A.cleanId,k.list=A.list,k.listIds=A.listIds,k.getFromId=A.getFromId,k.getFromTrace=A.getFromTrace;var T=t(\\\"./autorange\\\");k.expand=T.expand,k.getAutoRange=T.getAutoRange,k.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\\\"axis\\\"],c=n+\\\"ref\\\",u={};return i||(i=l[0]||a),a||(a=i),u[c]={valType:\\\"enumerated\\\",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},k.coercePosition=function(t,e,r,n,i,a){var o,l;if(\\\"paper\\\"===n||\\\"pixel\\\"===n)o=s.ensureNumber,l=r(i,a);else{var c=k.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},k.cleanPosition=function(t,e,r){return(\\\"paper\\\"===r||\\\"pixel\\\"===r?s.ensureNumber:k.getFromId(e,r).cleanPos)(t)};var S=k.getDataConversions=function(t,e,r,n){var i,a=\\\"x\\\"===r||\\\"y\\\"===r||\\\"z\\\"===r?r:n;if(Array.isArray(a)){if(i={type:M(n),_categories:[]},k.setConvert(i),\\\"category\\\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=k.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\\\"ids\\\"===a?{d2c:E,c2d:E}:{d2c:C,c2d:C}};function C(t){return+t}function E(t){return String(t)}k.getDataToCoordFunc=function(t,e,r,n){return S(t,e,r,n).d2c},k.counterLetter=function(t){var e=t.charAt(0);return\\\"x\\\"===e?\\\"y\\\":\\\"y\\\"===e?\\\"x\\\":void 0},k.minDtick=function(t,e,r,n){-1===[\\\"log\\\",\\\"category\\\"].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},k.saveRangeInitial=function(t,e){for(var r=k.list(t,\\\"\\\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},k.saveShowSpikeInitial=function(t,e){for(var r=k.list(t,\\\"\\\",!0),n=!1,i=\\\"on\\\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\\\"on\\\"!==i||o.showspikes||(i=\\\"off\\\")}return t._fullLayout._cartesianSpikesEnabled=i,n},k.autoBin=function(t,e,r,n,a){var o,l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if(a||(a=e.calendar),\\\"category\\\"===e.type)return{start:c-.5,end:u+.5,size:1,_dataSpan:u-c};if(r)o=(u-c)/r;else{var f=s.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),p=h*s.roundUp(f.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(p,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(o)||(o=1)}l=\\\"log\\\"===e.type?{type:\\\"linear\\\",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},k.setConvert(l),k.autoTicks(l,o);var d,m=k.tickIncrement(k.tickFirst(l),l.dtick,\\\"reverse\\\",a);if(\\\"number\\\"==typeof l.dtick)d=(m=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&\\\"date\\\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(m,t,l,c,u))+(1+Math.floor((u-m)/l.dtick))*l.dtick;else for(\\\"M\\\"===l.dtick.charAt(0)&&(m=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=k.tickIncrement(t,\\\"M6\\\",\\\"reverse\\\")+1.5*g:a.exactMonths>.8?t=k.tickIncrement(t,\\\"M1\\\",\\\"reverse\\\")+15.5*g:t-=g/2;var l=k.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,l.dtick,c,a)),d=m,0;d<=u;)d=k.tickIncrement(d,l.dtick,!1,a),0;return{start:e.c2r(m,0,a),end:e.c2r(d,0,a),size:l.dtick,_dataSpan:u-c}},k.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if(\\\"auto\\\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\\\"category\\\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\\\"y\\\"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),\\\"radialaxis\\\"===t._name&&(n*=2)),\\\"array\\\"===t.tickmode&&(n*=100),k.autoTicks(t,Math.abs(e[1]-e[0])/n),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),F(t)},k.calcTicks=function(t){k.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if(\\\"array\\\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=s.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var p=\\\"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(r=0;r<n.length;r++)(e=p(n[r]))>u&&e<f&&(void 0===i[r]?a[h]=k.tickText(t,e):a[h]=N(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=k.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\\\"category\\\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,l=Math.max(1e3,t._length||0),c=t._tmin;(i?c>=n:c<=n)&&!(a.length>l||c===o);c=k.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);\\\"angular\\\"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\\\"\\\",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f<a.length;f++)u[f]=k.tickText(t,a[f]);return t._inCalcTicks=!1,u};var L=[2,5,10],z=[1,2,3,6,12],P=[1,2,5,10,15,30],D=[1,2,3,7,14],O=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],I=[-.301,0,.301,.699,1],R=[15,30,45,90,180];function B(t,e,r){return e*s.roundUp(t/e,r)}function F(t){var e=t.dtick;if(t._tickexponent=0,i(e)||\\\"string\\\"==typeof e||(e=1),\\\"category\\\"===t.type&&(t._tickround=null),\\\"date\\\"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,\\\"\\\"),a=n.length;if(\\\"M\\\"===String(e).charAt(0))a>10||\\\"01-01\\\"!==n.substr(5)?t._tickround=\\\"d\\\":t._tickround=+e.substr(1)%12==0?\\\"y\\\":\\\"m\\\";else if(e>=g&&a<=10||e>=15*g)t._tickround=\\\"d\\\";else if(e>=v&&a<=16||e>=m)t._tickround=\\\"M\\\";else if(e>=y&&a<=19||e>=v)t._tickround=\\\"S\\\";else{var o=t.l2r(r+e).replace(/^-/,\\\"\\\").length;t._tickround=Math.max(a,o)-20}}else if(i(e)||\\\"L\\\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(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&&(V(t.exponentformat)&&!U(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function N(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}}k.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 a=2*e;a>p?(e/=p,r=n(10),t.dtick=\\\"M\\\"+12*B(e,r,L)):a>d?(e/=d,t.dtick=\\\"M\\\"+B(e,1,z)):a>g?(t.dtick=B(e,g,D),t.tick0=s.dateTick0(t.calendar,!0)):a>m?t.dtick=B(e,m,z):a>v?t.dtick=B(e,v,P):a>y?t.dtick=B(e,y,P):(r=n(10),t.dtick=B(e,r,L))}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\\\"+B(e,r,L)}else t.dtick=e>.3?\\\"D2\\\":\\\"D1\\\"}else\\\"category\\\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):\\\"angular\\\"===t._id?(t.tick0=0,r=1,t.dtick=B(e,r,R)):(t.tick0=0,r=n(10),t.dtick=B(e,r,L));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\\\"string\\\"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,\\\"ax.dtick error: \\\"+String(c)}},k.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if(\\\"M\\\"===l)return s.incrementMonth(t,c,a);if(\\\"L\\\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\\\"D\\\"===l){var u=\\\"D2\\\"===e?I:O,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(e)},k.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]<r[0],o=a?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(i(c)){var f=o((l-u)/c)*c+u;return\\\"category\\\"===t.type&&(f=s.constrain(f,0,t._categories.length-1)),f}var h=c.charAt(0),p=Number(c.substr(1));if(\\\"M\\\"===h){for(var d,g,m,v=0,y=u;v<10;){if(((d=k.tickIncrement(y,c,a,t.calendar))-l)*(y-l)<=0)return a?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),m=h+(Math.abs(Math.round(g))||1)*p,y=k.tickIncrement(y,m,g<0?!a:a,t.calendar),v++}return s.error(\\\"tickFirst did not converge\\\",t),y}if(\\\"L\\\"===h)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if(\\\"D\\\"===h){var x=\\\"D2\\\"===c?I:O,b=s.roundUp(s.mod(l,1),x,a);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(c)},k.tickText=function(t,e,r){var n,a,o=N(t,e),l=\\\"array\\\"===t.tickmode,c=r||l,u=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),h=Math.abs(f[1]-f[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function p(n){var i;return void 0===n||(r?\\\"none\\\"===n:(i={first:t._tmin,last:t._tmax}[n],\\\"all\\\"!==n&&e!==i))}return n=r?\\\"never\\\":\\\"none\\\"!==t.exponentformat&&p(t.showexponent)?\\\"hide\\\":\\\"\\\",\\\"date\\\"===t.type?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||k.getTickFormat(t);n&&(a=i(a)?4:{y:\\\"m\\\",m:\\\"d\\\",d:\\\"M\\\",M:\\\"S\\\",S:4}[a]);var l,c=s.formatDate(e.x,o,a,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\\\"===a?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\\\"===t.type?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat;\\\"never\\\"===a&&(a=\\\"\\\");!n||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0)||(o=\\\"L3\\\");if(c||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0))e.text=q(Math.pow(10,l),t,a,n);else if(i(o)||\\\"D\\\"===o.charAt(0)&&s.mod(l+.01,1)<.1){var u=Math.round(l);-1!==[\\\"e\\\",\\\"E\\\",\\\"power\\\"].indexOf(t.exponentformat)||V(t.exponentformat)&&U(u)?(e.text=0===u?1:1===u?\\\"10\\\":u>1?\\\"10<sup>\\\"+u+\\\"</sup>\\\":\\\"10<sup>\\\"+x+-u+\\\"</sup>\\\",e.fontSize*=1.25):(e.text=q(Math.pow(10,l),t,\\\"\\\",\\\"fakehover\\\"),\\\"D1\\\"===o&&\\\"y\\\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\\\"D\\\"!==o.charAt(0))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 f=String(e.text).charAt(0);\\\"0\\\"!==f&&\\\"1\\\"!==f||(\\\"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,n):\\\"category\\\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\\\"\\\");e.text=String(r)}(t,o):\\\"angular\\\"===t._id?function(t,e,r,n,i){if(\\\"radians\\\"!==t.thetaunit||r)e.text=q(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\\\"0\\\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=q(s.deg2rad(e.x),t,i,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=x+e.text)}}}}(t,o,r,c,n):function(t,e,r,n,i){\\\"never\\\"===i?i=\\\"\\\":\\\"all\\\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\\\"hide\\\");e.text=q(e.x,t,i,n)}(t,o,0,c,n),t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix),o},k.hoverLabelText=function(t,e,r){if(r!==b&&r!==e)return k.hoverLabelText(t,e)+\\\" - \\\"+k.hoverLabelText(t,r);var n=\\\"log\\\"===t.type&&e<=0,i=k.tickText(t,t.c2l(n?-e:e),\\\"hover\\\").text;return n?0===e?\\\"0\\\":x+i:i};var j=[\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\u03bc\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\"];function V(t){return\\\"SI\\\"===t||\\\"B\\\"===t}function U(t){return t>14||t<-15}function q(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\\\"B\\\",c=e._tickexponent,u=k.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:\\\"none\\\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\\\"none\\\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};F(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,x);var p,d=Math.pow(10,-o)/2;if(\\\"none\\\"===l&&(c=0),(t=Math.abs(t))<d)t=\\\"0\\\",a=!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,f)}c&&\\\"hide\\\"!==l&&(V(l)&&U(c)&&(l=\\\"power\\\"),p=c<0?x+-c:\\\"power\\\"!==l?\\\"+\\\"+c:String(c),\\\"e\\\"===l?t+=\\\"e\\\"+p:\\\"E\\\"===l?t+=\\\"E\\\"+p:\\\"power\\\"===l?t+=\\\"\\\\xd710<sup>\\\"+p+\\\"</sup>\\\":\\\"B\\\"===l&&9===c?t+=\\\"B\\\":V(l)&&(t+=j[c/3+5]));return a?x+t:t}function H(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function G(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(k.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(k.getFromId(t,r[n]));var c=Object.keys(a[0]),u=[\\\"anchor\\\",\\\"domain\\\",\\\"overlaying\\\",\\\"position\\\",\\\"side\\\",\\\"tickangle\\\"],f=[\\\"linear\\\",\\\"log\\\"];for(n=0;n<c.length;n++){var h=c[n],p=a[0][h],d=o[0][h],g=!0,m=!1,v=!1;if(\\\"_\\\"!==h.charAt(0)&&\\\"function\\\"!=typeof p&&-1===u.indexOf(h)){for(i=1;i<a.length&&g;i++){var y=a[i][h];\\\"type\\\"===h&&-1!==f.indexOf(p)&&-1!==f.indexOf(y)&&p!==y?m=!0:y!==p&&(g=!1)}for(i=1;i<o.length&&g;i++){var x=o[i][h];\\\"type\\\"===h&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:o[i][h]!==d&&(g=!1)}g&&(m&&(l[a[0]._name].type=\\\"linear\\\"),v&&(l[o[0]._name].type=\\\"linear\\\"),W(l,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var b=t._fullLayout.annotations[n];-1!==e.indexOf(b.xref)&&-1!==r.indexOf(b.yref)&&s.swapAttrs(l.annotations[n],[\\\"?\\\"])}}function W(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for(\\\"title\\\"===e&&(l===i.x&&(l=i.y),c===i.y&&(c=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\\\".\\\"+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+\\\".\\\"+e).set(l)}k.getTickFormat=function(t){var e,r,n,i,a,o,s;function l(t){return\\\"string\\\"!=typeof t?t:Number(t.replace(\\\"M\\\",\\\"\\\"))*d}function c(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)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\\\"\\\"))-Number(e.replace(/(L|D)/g,\\\"\\\")):n-i}return\\\"number\\\"==typeof t?1:-1}function u(t,e){var r=null===e[0],n=null===e[1],i=c(t,e[0])>=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}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.dtick,i=t.tickformatstops[e].dtickrange,a=void 0,void 0,void 0,a=l||function(t){return t},o=i[0],s=i[1],(!o&&\\\"number\\\"!=typeof o||a(o)<=a(n))&&(!s&&\\\"number\\\"!=typeof s||a(s)>=a(n))){r=t.tickformatstops[e];break}break;case\\\"log\\\":for(e=0;e<t.tickformatstops.length;e++)if(u(t.dtick,t.tickformatstops[e].dtickrange)){r=t.tickformatstops[e];break}}return r?r.value:t.tickformat},k.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?k.findSubplotsWithAxis(n,e):n;return i.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]}),i},k.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\\\"x\\\"===e._id.charAt(0)?\\\"^\\\"+e._id+\\\"y\\\":e._id+\\\"$\\\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},k.makeClipPaths=function(t){var e,r,i=t._fullLayout,a={_offset:0,_length:i.width,_id:\\\"\\\"},o={_offset:0,_length:i.height,_id:\\\"\\\"},s=k.list(t,\\\"x\\\",!0),l=k.list(t,\\\"y\\\",!0),c=[];for(e=0;e<s.length;e++)for(c.push({x:s[e],y:o}),r=0;r<l.length;r++)0===e&&c.push({x:a,y:l[r]}),c.push({x:s[e],y:l[r]});var u=i._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\\\"+i._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})})},k.doTicks=function(t,e,r){var h,p=t._fullLayout,d=!1;if(\\\"object\\\"==typeof e)e=(h=e)._id,d=!0;else if(h=k.getFromId(t,e),\\\"redraw\\\"===e&&p._paper.selectAll(\\\"g.subplot\\\").each(function(t){var e=p._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\\\".\\\"+r._id+\\\"tick\\\").remove(),e.yaxislayer.selectAll(\\\".\\\"+n._id+\\\"tick\\\").remove(),e.gridlayer&&e.gridlayer.selectAll(\\\"path\\\").remove(),e.zerolinelayer&&e.zerolinelayer.selectAll(\\\"path\\\").remove(),p._infolayer.select(\\\".g-\\\"+r._id+\\\"title\\\").remove(),p._infolayer.select(\\\".g-\\\"+n._id+\\\"title\\\").remove()}),!e||\\\"redraw\\\"===e)return s.syncOrAsync(k.list(t,\\\"\\\",!0).map(function(e){return function(){if(e._id){var r=k.doTicks(t,e._id);return e._r=e.range.slice(),e._rl=s.simpleMap(e._r,e.r2l),r}}}));h.setScale();var g,m,v,y,x,b,M=e.charAt(0),T=k.counterLetter(e),S=h._vals=k.calcTicks(h),C=function(t){return[t.text,t.x,h.mirror,t.font,t.fontSize,t.fontColor].join(\\\"_\\\")},E=e+\\\"tick\\\",L=e+\\\"grid\\\",z=e+\\\"zl\\\",P=(h.linewidth||1)/2,D=\\\"outside\\\"===h.ticks?h.ticklen:0,O=0,I=f.crispRound(t,h.gridwidth,1),R=f.crispRound(t,h.zerolinewidth,I),B=f.crispRound(t,h.tickwidth,1);if(h._counterangle&&\\\"outside\\\"===h.ticks){var F=h._counterangle*Math.PI/180;D=h.ticklen*Math.cos(F)+1,O=h.ticklen*Math.sin(F)}if(h.showticklabels&&(\\\"outside\\\"===h.ticks||h.showline)&&(D+=.2*h.tickfont.size),\\\"x\\\"===M)g=[\\\"bottom\\\",\\\"top\\\"],m=h._transfn||function(t){return\\\"translate(\\\"+(h._offset+h.l2p(t.x))+\\\",0)\\\"},v=function(t,e){if(h._counterangle){var r=h._counterangle*Math.PI/180;return\\\"M0,\\\"+t+\\\"l\\\"+Math.sin(r)*e+\\\",\\\"+Math.cos(r)*e}return\\\"M0,\\\"+t+\\\"v\\\"+e};else if(\\\"y\\\"===M)g=[\\\"left\\\",\\\"right\\\"],m=h._transfn||function(t){return\\\"translate(0,\\\"+(h._offset+h.l2p(t.x))+\\\")\\\"},v=function(t,e){if(h._counterangle){var r=h._counterangle*Math.PI/180;return\\\"M\\\"+t+\\\",0l\\\"+Math.cos(r)*e+\\\",\\\"+-Math.sin(r)*e}return\\\"M\\\"+t+\\\",0h\\\"+e};else{if(\\\"angular\\\"!==e)return void s.warn(\\\"Unrecognized doTicks axis:\\\",e);g=[\\\"left\\\",\\\"right\\\"],m=h._transfn,v=function(t,e){return\\\"M\\\"+t+\\\",0h\\\"+e}}var N=h.side||g[0],j=[-1,1,N===g[1]?1:-1];if(\\\"inside\\\"!==h.ticks==(\\\"x\\\"===M)&&(j=j.map(function(t){return-t})),h.visible){h._tickFilter&&(S=S.filter(h._tickFilter));var V=S.filter(X);if(\\\"angular\\\"===h._id&&(V=S),d){if(Z(h._axislayer,v(h._pos+P*j[2],j[2]*h.ticklen)),h._counteraxis)$({gridlayer:h._gridlayer,zerolinelayer:h._zerolinelayer},h._counteraxis);return J(h._axislayer,h._pos)}if(p._has(\\\"cartesian\\\")){var U={};(y=k.getSubplots(t,h)).map(function(t){var e=p._plots[t],r=e[T+\\\"axis\\\"],n=r._mainAxis._id;U[n]||(U[n]=1,$(e,r,t))});var q=h._mainSubplot,H=p._plots[q],G=[];if(h.ticks){var W=j[2],Y=v(h._mainLinePosition+P*W,W*h.ticklen);h._anchorAxis&&h.mirror&&!0!==h.mirror&&(Y+=v(h._mainMirrorPosition-P*W,-W*h.ticklen)),Z(H[M+\\\"axislayer\\\"],Y),G=Object.keys(h._linepositions||{})}return G.map(function(t){var e=p._plots[t][M+\\\"axislayer\\\"],r=h._linepositions[t]||[];function n(t){var e=j[t];return v(r[t]+P*e,e*h.ticklen)}Z(e,n(0)+n(1))}),J(H[M+\\\"axislayer\\\"],h._mainLinePosition)}}function X(t){var e=h.l2p(t.x);return e>1&&e<h._length-1}function Z(t,e){var r=t.selectAll(\\\"path.\\\"+E).data(\\\"inside\\\"===h.ticks?V:S,C);e&&h.ticks?(r.enter().append(\\\"path\\\").classed(E,1).classed(\\\"ticks\\\",1).classed(\\\"crisp\\\",1).call(u.stroke,h.tickcolor).style(\\\"stroke-width\\\",B+\\\"px\\\").attr(\\\"d\\\",e),r.attr(\\\"transform\\\",m),r.exit().remove()):r.remove()}function J(r,o){if(x=r.selectAll(\\\"g.\\\"+E).data(S,C),!i(o))return x.remove(),void K();if(!h.showticklabels)return x.remove(),K(),void z();var c,u,d,g,v;\\\"x\\\"===M?(c=function(t){return t.dx+O*v},g=o+(D+P)*(v=\\\"bottom\\\"===N?1:-1),u=function(t){return t.dy+g+t.fontSize*(\\\"bottom\\\"===N?1:-.2)},d=function(t){return i(t)&&0!==t&&180!==t?t*v<0?\\\"end\\\":\\\"start\\\":\\\"middle\\\"}):\\\"y\\\"===M?(v=\\\"right\\\"===N?1:-1,u=function(t){return t.dy+t.fontSize*_-O*v},c=function(t){return t.dx+o+(D+P+(90===Math.abs(h.tickangle)?t.fontSize/2:0))*v},d=function(t){return i(t)&&90===Math.abs(t)?\\\"middle\\\":\\\"right\\\"===N?\\\"start\\\":\\\"end\\\"}):\\\"angular\\\"===e&&(h._labelShift=O,h._labelStandoff=D,h._pad=P,c=h._labelx,u=h._labely,d=h._labelanchor);var k=0,A=0,T=[];function L(t,e){t.each(function(t){var r=d(e,t),a=n.select(this),o=a.select(\\\".text-math-group\\\"),s=m.call(a.node(),t)+(i(e)&&0!=+e?\\\" rotate(\\\"+e+\\\",\\\"+c(t)+\\\",\\\"+(u(t)-t.fontSize/2)+\\\")\\\":\\\"\\\"),h=function(t,e,r){var n=(t-1)*e;if(\\\"x\\\"===M){if(r<-60||60<r)return-.5*n;if(\\\"top\\\"===N)return-n}else{if((r*=\\\"left\\\"===N?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(l.lineCount(a),w*t.fontSize,i(e)?+e:0);if(h&&(s+=\\\" translate(0, \\\"+h+\\\")\\\"),o.empty())a.select(\\\"text\\\").attr({transform:s,\\\"text-anchor\\\":r});else{var p=f.bBox(o.node()).width*{end:-.5,start:.5}[r];o.attr(\\\"transform\\\",s+(p?\\\"translate(\\\"+p+\\\",0)\\\":\\\"\\\"))}})}function z(){if(h.showticklabels){var e=t.getBoundingClientRect(),n=r.node().getBoundingClientRect();h._boundingBox={width:n.width,height:n.height,left:n.left-e.left,right:n.right-e.left,top:n.top-e.top,bottom:n.bottom-e.top}}else{var i,a=p._size;\\\"x\\\"===M?(i=\\\"free\\\"===h.anchor?a.t+a.h*(1-h.position):a.t+a.h*(1-h._anchorAxis.domain[{bottom:0,top:1}[h.side]]),h._boundingBox={top:i,bottom:i,left:h._offset,right:h._offset+h._length,width:h._length,height:0}):(i=\\\"free\\\"===h.anchor?a.l+a.w*h.position:a.l+a.w*h._anchorAxis.domain[{left:0,right:1}[h.side]],h._boundingBox={left:i,right:i,bottom:h._offset+h._length,top:h._offset,height:h._length,width:0})}if(y){var o=h._counterSpan=[1/0,-1/0];for(b=0;b<y.length;b++){var s=p._plots[y[b]][\\\"x\\\"===M?\\\"yaxis\\\":\\\"xaxis\\\"];l(o,[s._offset,s._offset+s._length])}\\\"free\\\"===h.anchor&&l(o,\\\"x\\\"===M?[h._boundingBox.bottom,h._boundingBox.top]:[h._boundingBox.right,h._boundingBox.left])}function l(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}x.enter().append(\\\"g\\\").classed(E,1).append(\\\"text\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").each(function(e){var r=n.select(this),i=t._promises.length;r.call(l.positionText,c(e),u(e)).call(f.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){L(r,h.tickangle)})):L(r,h.tickangle)}),x.exit().remove(),x.each(function(t){k=Math.max(k,t.fontSize)}),\\\"angular\\\"===e&&x.each(function(t){n.select(this).select(\\\"text\\\").call(l.positionText,c(t),u(t))}),L(x,h._lastangle||h.tickangle);var I=s.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(L(x,h.tickangle),\\\"x\\\"===M&&!i(h.tickangle)&&(\\\"log\\\"!==h.type||\\\"D\\\"!==String(h.dtick).charAt(0))){var t=[];for(x.each(function(e){var r=n.select(this),i=r.select(\\\".text-math-group\\\"),a=h.l2p(e.x);i.empty()&&(i=r.select(\\\"text\\\"));var o=f.bBox(i.node());t.push({top:0,bottom:10,height:10,left:a-o.width/2,right:a+o.width/2+2,width:o.width+2})}),b=0;b<t.length-1;b++)if(s.bBoxIntersect(t[b],t[b+1])){A=30;break}A&&(Math.abs((S[S.length-1].x-S[0].x)*h._m)/(S.length-1)<2.5*k&&(A=90),L(x,A)),h._lastangle=A}return K(),e+\\\" done\\\"},z,function(){if(h.automargin&&(\\\"x\\\"===M||\\\"y\\\"===M)){var e=h.side[0],r={x:0,y:0,r:0,l:0,t:0,b:0};\\\"x\\\"===M?(r.y=\\\"free\\\"===h.anchor?h.position:h._anchorAxis.domain[\\\"t\\\"===e?1:0],r[e]+=h._boundingBox.height):(r.x=\\\"free\\\"===h.anchor?h.position:h._anchorAxis.domain[\\\"r\\\"===e?1:0],r[e]+=h._boundingBox.width),h.title!==p._dfltTitle[M]&&(r[e]+=h.titlefont.size);var n=h._name+\\\".automargin\\\",i=p._pushmargin[n];(!i||i[e].size<r[e])&&a.autoMargin(t,n,r)}}]);return I&&I.then&&t._promises.push(I),I}function K(){if(!(r||h.rangeslider&&h.rangeslider.visible&&h._boundingBox&&\\\"bottom\\\"===h.side)){var n,i,a,o,s={selection:x,side:h.side},l=e.charAt(0),u=t._fullLayout._size,d=h.titlefont.size;if(x.size()){var g=f.getTranslate(x.node().parentNode);s.offsetLeft=g.x,s.offsetTop=g.y}var m=10+1.5*d+(h.linewidth?h.linewidth-1:0);\\\"x\\\"===l?(i=\\\"free\\\"===h.anchor?{_offset:u.t+(1-(h.position||0))*u.h,_length:0}:A.getFromId(t,h.anchor),a=h._offset+h._length/2,o=\\\"top\\\"===h.side?-m-d*(h.showticklabels?1:0):i._length+m+d*(h.showticklabels?1.5:.5),o+=i._offset,s.side||(s.side=\\\"bottom\\\")):(i=\\\"free\\\"===h.anchor?{_offset:u.l+(h.position||0)*u.w,_length:0}:A.getFromId(t,h.anchor),o=h._offset+h._length/2,a=\\\"right\\\"===h.side?i._length+m+d*(h.showticklabels?1:.5):-m-d*(h.showticklabels?.5:0),a+=i._offset,n={rotate:\\\"-90\\\",offset:0},s.side||(s.side=\\\"left\\\")),c.draw(t,e+\\\"title\\\",{propContainer:h,propName:h._name+\\\".title\\\",placeholder:p._dfltTitle[l],avoid:s,transform:n,attributes:{x:a,y:o,\\\"text-anchor\\\":\\\"middle\\\"}})}}function Q(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!o.traceIs(t,\\\"bar\\\")||t.orientation!=={x:\\\"h\\\",y:\\\"v\\\"}[M])||t.fill&&t.fill.charAt(t.fill.length-1)===M)}function $(r,i,a){if(!p._hasOnlyLargeSploms){var o=r.gridlayer.selectAll(\\\".\\\"+e),l=r.zerolinelayer,c=r[\\\"hidegrid\\\"+M]?[]:V,f=h._gridpath||(\\\"x\\\"===M?\\\"M0,\\\"+i._offset+\\\"v\\\":\\\"M\\\"+i._offset+\\\",0h\\\")+i._length,d=o.selectAll(\\\"path.\\\"+L).data(!1===h.showgrid?[]:c,C);if(d.enter().append(\\\"path\\\").classed(L,1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",f).each(function(t){h.zeroline&&(\\\"linear\\\"===h.type||\\\"-\\\"===h.type)&&Math.abs(t.x)<h.dtick/100&&n.select(this).remove()}),d.attr(\\\"transform\\\",m).call(u.stroke,h.gridcolor||\\\"#ddd\\\").style(\\\"stroke-width\\\",I+\\\"px\\\"),\\\"function\\\"==typeof f&&d.attr(\\\"d\\\",f),d.exit().remove(),l){for(var g=!1,v=0;v<t._fullData.length;v++)if(Q(t._fullData[v],a)){g=!0;break}var y=s.simpleMap(h.range,h.r2l),x=y[0]*y[1]<=0&&h.zeroline&&(\\\"linear\\\"===h.type||\\\"-\\\"===h.type)&&c.length&&(g||X({x:0})||!h.showline),b=l.selectAll(\\\"path.\\\"+z).data(x?[{x:0,id:e}]:[]);b.enter().append(\\\"path\\\").classed(z,1).classed(\\\"zl\\\",1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",f).each(function(){l.selectAll(\\\"path\\\").sort(function(t,e){return A.idSort(t.id,e.id)})}),b.attr(\\\"transform\\\",m).call(u.stroke,h.zerolinecolor||u.defaultLine).style(\\\"stroke-width\\\",R+\\\"px\\\"),b.exit().remove()}}}},k.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],H(c.x,l.x),H(c.y,l.y);H(c.x,[o]),H(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)G(t,r[n].x,r[n].y)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../components/titles\\\":567,\\\"../../constants/alignment\\\":574,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/plots\\\":710,\\\"../../registry\\\":732,\\\"./autorange\\\":647,\\\"./axis_autotype\\\":649,\\\"./axis_ids\\\":651,\\\"./set_convert\\\":666,d3:130,\\\"fast-isnumeric\\\":196}],649:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&&(a+=1),n(r)&&(o+=1);return a>2*o}(t,e)?\\\"date\\\":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s<t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:\\\"string\\\"==typeof e&&\\\"\\\"!==e&&\\\"None\\\"!==e&&o++;return o>2*n}(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\\\":\\\"-\\\"}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],650:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\"),o=t(\\\"./tick_value_defaults\\\"),s=t(\\\"./tick_mark_defaults\\\"),l=t(\\\"./tick_label_defaults\\\"),c=t(\\\"./category_order_defaults\\\"),u=t(\\\"./line_grid_defaults\\\"),f=t(\\\"./set_convert\\\");e.exports=function(t,e,r,h,p){var d=h.letter,g=e._id,m=h.font||{},v=r(\\\"visible\\\",!h.cheateronly),y=e.type;\\\"date\\\"===y&&n.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",h.calendar);f(e,p);var x=r(\\\"autorange\\\",!e.isValidRange(t.range));if(e._rangesliderAutorange=!1,x&&r(\\\"rangemode\\\"),r(\\\"range\\\"),e.cleanRange(),c(t,e,r,h),\\\"category\\\"===y||h.noHover||r(\\\"hoverformat\\\"),!v)return e;var b=r(\\\"color\\\"),_=b===t.color?b:m.color;return r(\\\"title\\\",((p._splomAxes||{})[d]||{})[g]||p._dfltTitle[d]),i.coerceFont(r,\\\"titlefont\\\",{family:m.family,size:Math.round(1.2*m.size),color:_}),o(t,e,r,y),l(t,e,r,y,h),s(t,e,r,h),u(t,e,r,{dfltColor:b,bgColor:h.bgColor,showGrid:h.showGrid,attributes:a}),(e.showline||e.ticks)&&r(\\\"mirror\\\"),h.automargin&&r(\\\"automargin\\\"),e}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./category_order_defaults\\\":652,\\\"./layout_attributes\\\":660,\\\"./line_grid_defaults\\\":662,\\\"./set_convert\\\":666,\\\"./tick_label_defaults\\\":667,\\\"./tick_mark_defaults\\\":668,\\\"./tick_value_defaults\\\":669}],651:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./constants\\\");r.id2name=function(t){if(\\\"string\\\"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+\\\"axis\\\"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.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 i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+\\\"axis\\\"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];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 i=t._fullLayout;return\\\"x\\\"===n?e=e.replace(/y[0-9]*/,\\\"\\\"):\\\"y\\\"===n&&(e=e.replace(/x[0-9]*/,\\\"\\\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,\\\"gl3d\\\")){var s=e.scene;\\\"scene\\\"===s.substr(0,5)&&(o=a[s][i+\\\"axis\\\"])}else o=r.getFromId(t,e[i+\\\"axis\\\"]||i);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)}},{\\\"../../registry\\\":732,\\\"./constants\\\":653}],652:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){if(\\\"category\\\"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\\\"array\\\");var s,l=r(\\\"categoryorder\\\",i);\\\"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,i,a=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[a+\\\"axis\\\"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!==c&&void 0!==c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),\\\"category ascending\\\"===l?e._initialCategories=s:\\\"category descending\\\"===l&&(e._initialCategories=s.reverse()))}}},{}],653:[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]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\\\"-select\\\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\\\"heatmaplayer\\\",\\\"contourcarpetlayer\\\",\\\"contourlayer\\\",\\\"barlayer\\\",\\\"carpetlayer\\\",\\\"violinlayer\\\",\\\"boxlayer\\\",\\\"ohlclayer\\\",\\\"scattercarpetlayer\\\",\\\"scatterlayer\\\"],layerValue2layerClass:{\\\"above traces\\\":\\\"above\\\",\\\"below traces\\\":\\\"below\\\"}}},{\\\"../../lib/regex\\\":618}],654:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./axis_ids\\\").id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&&(r(\\\"constrain\\\"),n.coerce(t,e,{constraintoward:{valType:\\\"enumerated\\\",values:\\\"x\\\"===c?[\\\"left\\\",\\\"center\\\",\\\"right\\\"]:[\\\"bottom\\\",\\\"middle\\\",\\\"top\\\"],dflt:\\\"x\\\"===c?\\\"center\\\":\\\"middle\\\"}},\\\"constraintoward\\\"),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o<r.length;o++)(s=r[o])!==e&&((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a<t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o<u.length;o++)s=u[o],f[s]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:\\\"enumerated\\\",values:u.linkableAxes}},\\\"scaleanchor\\\");if(f){var h=r(\\\"scaleratio\\\");h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,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(a=0;a<t.length;a++)if(s=t[a],a!==c&&s[n]){var f=s[n];for(o=0;o<u.length;o++)l=u[o],s[l]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o<u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&&n.warn(\\\"ignored \\\"+e._name+'.scaleanchor: \\\"'+t.scaleanchor+'\\\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{\\\"../../lib\\\":602,\\\"./axis_ids\\\":651}],655:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./axis_ids\\\").id2name,i=t(\\\"./scale_zoom\\\"),a=t(\\\"./autorange\\\").makePadFn,o=t(\\\"../../constants/numerical\\\").ALMOST_EQUAL,s=t(\\\"../../constants/alignment\\\").FROM_BL;function l(t,e){var r=t._inputDomain,n=s[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}r.enforce=function(t){var e,r,s,c,u,f,h,p=t._fullLayout,d=p._axisConstraintGroups||[];for(e=0;e<d.length;e++){var g=d[e],m=Object.keys(g),v=1/0,y=0,x=1/0,b={},_={},w=!1;for(r=0;r<m.length;r++)_[s=m[r]]=c=p[n(s)],c._inputDomain?c.domain=c._inputDomain.slice():c._inputDomain=c.domain.slice(),c._inputRange||(c._inputRange=c.range.slice()),c.setScale(),b[s]=u=Math.abs(c._m)/g[s],v=Math.min(v,u),\\\"domain\\\"!==c.constrain&&c._constraintShrinkable||(x=Math.min(x,u)),delete c._constraintShrinkable,y=Math.max(y,u),\\\"domain\\\"===c.constrain&&(w=!0);if(!(v>o*y)||w)for(r=0;r<m.length;r++)if(u=b[s=m[r]],f=(c=_[s]).constrain,u!==x||\\\"domain\\\"===f)if(h=u/x,\\\"range\\\"===f)i(c,h);else{var k=c._inputDomain,M=(c.domain[1]-c.domain[0])/(k[1]-k[0]),A=(c.r2l(c.range[1])-c.r2l(c.range[0]))/(c.r2l(c._inputRange[1])-c.r2l(c._inputRange[0]));if((h/=M)*A<1){c.domain=c._input.domain=k.slice(),i(c,h);continue}if(A<1&&(c.range=c._input.range=c._inputRange.slice(),h*=A),c.autorange&&c._min.length&&c._max.length){var T=c.r2l(c.range[0]),S=c.r2l(c.range[1]),C=(T+S)/2,E=C,L=C,z=Math.abs(S-C),P=C-z*h*1.0001,D=C+z*h*1.0001,O=a(c);l(c,h),c.setScale();var I,R,B=Math.abs(c._m);for(R=0;R<c._min.length;R++)(I=c._min[R].val-O(c._min[R])/B)>P&&I<E&&(E=I);for(R=0;R<c._max.length;R++)(I=c._max[R].val+O(c._max[R])/B)<D&&I>L&&(L=I);h/=(L-E)/(2*z),E=c.l2r(E),L=c.l2r(L),c.range=c._input.range=T<S?[E,L]:[L,E]}l(c,h)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\\\"domain\\\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\\\"../../constants/alignment\\\":574,\\\"../../constants/numerical\\\":579,\\\"./autorange\\\":647,\\\"./axis_ids\\\":651,\\\"./scale_zoom\\\":664}],656:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"has-passive-events\\\"),o=t(\\\"../../registry\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../lib/clear_gl_canvases\\\"),u=t(\\\"../../components/color\\\"),f=t(\\\"../../components/drawing\\\"),h=t(\\\"../../components/fx\\\"),p=t(\\\"../../lib/setcursor\\\"),d=t(\\\"../../components/dragelement\\\"),g=t(\\\"../../constants/alignment\\\").FROM_TL,m=t(\\\"../plots\\\"),v=t(\\\"./axes\\\").doTicks,y=t(\\\"./axis_ids\\\").getFromId,x=t(\\\"./select\\\").prepSelect,b=t(\\\"./select\\\").clearSelect,_=t(\\\"./scale_zoom\\\"),w=t(\\\"./constants\\\"),k=w.MINDRAG,M=w.MINZOOM,A=!0;function T(t,e,r,n){var i=s.ensureSingle(t.draglayer,e,r,function(e){e.classed(\\\"drag\\\",!0).style({fill:\\\"transparent\\\",\\\"stroke-width\\\":0}).attr(\\\"data-subplot\\\",t.id)});return i.call(p,n),i.node()}function S(t,e,r,i,a,o,s){var l=T(t,\\\"rect\\\",e,r);return n.select(l).call(f.setRect,i,a,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\\\"\\\"}function E(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\\\".range[0]\\\"]=o.range[0],n[o._name+\\\".range[1]\\\"]=o.range[1]);if(i&&i.length){var c=(e+(1-r))/2;E(i,c,1-c,n)}}function L(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function z(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function P(t,e,r,n,i){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\\\",i+\\\"Z\\\")}function D(t,e,r){return t.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:u.background,stroke:u.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"transform\\\",\\\"translate(\\\"+e+\\\", \\\"+r+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}function O(t,e,r,n,i,a){t.attr(\\\"d\\\",n+\\\"M\\\"+r.l+\\\",\\\"+r.t+\\\"v\\\"+r.h+\\\"h\\\"+r.w+\\\"v-\\\"+r.h+\\\"h-\\\"+r.w+\\\"Z\\\"),I(t,e,i,a)}function I(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 R(t){n.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}function B(t){A&&t.data&&t._context.showTips&&(s.notifier(s._(t,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),A=!1)}function F(t){return\\\"lasso\\\"===t||\\\"select\\\"===t}function N(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/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 j(t,e){if(a){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)}function V(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,u,p,A,T){var I,U,q,H,G,W,Y,X,Z,J,K,Q,$,tt,et,rt,nt,it=t._fullLayout._zoomlayer,at=A+T===\\\"nsew\\\",ot=1===(A+T).length;function st(){if(I=e.xaxis,U=e.yaxis,Z=I._length,J=U._length,Y=I._offset,X=U._offset,(q={})[I._id]=I,(H={})[U._id]=U,A&&T)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;q[i._id]=i;var a=r[n].yaxis;H[a._id]=a}G=V(q),W=V(H),Q=C(G,T),$=C(W,A),tt=!$&&!Q,K=function(t,e,r){for(var n,i,a,o,l=t._fullLayout._axisConstraintGroups,c=!1,u={},f={},h=0;h<l.length;h++){var p=l[h];for(n in e)if(p[n]){for(a in p)(\\\"x\\\"===a.charAt(0)?e:r)[a]||(u[a]=1);for(i in r)p[i]&&(c=!0)}for(i in r)if(p[i])for(o in p)(\\\"x\\\"===o.charAt(0)?e:r)[o]||(f[o]=1)}c&&(s.extendFlat(u,f),f={});var d={},g=[];for(a in u){var m=y(t,a);g.push(m),d[m._id]=m}var v={},x=[];for(o in f){var b=y(t,o);x.push(b),v[b._id]=b}return{xaHash:d,yaHash:v,xaxes:g,yaxes:x,isSubplotConstrained:c}}(t,q,H),et=K.isSubplotConstrained,rt=T||et,nt=A||et}st();var lt=function(t,e,r){return t?\\\"nsew\\\"===t?r?\\\"\\\":\\\"pan\\\"===e?\\\"move\\\":\\\"crosshair\\\":t.toLowerCase()+\\\"-resize\\\":\\\"pointer\\\"}($+Q,t._fullLayout.dragmode,at),ct=S(e,A+T+\\\"drag\\\",lt,r,a,u,p);if(tt&&!at)return ct.onmousedown=null,ct.style.pointerEvents=\\\"none\\\",ct;var ut,ft,ht,pt,dt,gt,mt,vt,yt,xt={element:ct,gd:t,plotinfo:e,prepFn:function(e,r,n){var a=t._fullLayout.dragmode;st(),tt||(at?e.shiftKey?\\\"pan\\\"===a?a=\\\"zoom\\\":F(a)||(a=\\\"pan\\\"):e.ctrlKey&&(a=\\\"pan\\\"):a=\\\"pan\\\"),xt.minDrag=\\\"lasso\\\"===a?1:void 0,F(a)?(xt.xaxes=G,xt.yaxes=W,x(e,r,n,xt,a)):tt?b(it):\\\"zoom\\\"===a?(xt.moveFn=_t,xt.doneFn=wt,xt.minDrag=1,function(e,r,n){var a=ct.getBoundingClientRect();ut=r-a.left,ft=n-a.top,ht={l:ut,r:ut,w:0,t:ft,b:ft,h:0},pt=t._hmpixcount?t._hmlumcount/t._hmpixcount:i(t._fullLayout.plot_bgcolor).getLuminance(),gt=!1,mt=\\\"xy\\\",vt=P(it,pt,Y,X,dt=\\\"M0,0H\\\"+Z+\\\"V\\\"+J+\\\"H0V0\\\"),yt=D(it,Y,X),b(it)}(0,r,n)):\\\"pan\\\"===a&&(xt.moveFn=St,xt.doneFn=Et,b(it))},clickFn:function(r,i){if(R(t),2!==r||ot||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(Q?G:[]).concat($?W:[]),s={};if(\\\"reset+autosize\\\"===i)for(i=\\\"autosize\\\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\\\"reset\\\";break}if(\\\"autosize\\\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(s[e._name+\\\".autorange\\\"]=!0);else if(\\\"reset\\\"===i)for((Q||et)&&(a=a.concat(K.xaxes)),$&&!et&&(a=a.concat(K.yaxes)),et&&(Q?$||(a=a.concat(W)):a=a.concat(G)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,s[e._name+\\\".range[0]\\\"]=n[0],s[e._name+\\\".range[1]\\\"]=n[1]):s[e._name+\\\".autorange\\\"]=!0;t.emit(\\\"plotly_doubleclick\\\",null),o.call(\\\"relayout\\\",t,s)}}(),at)h.click(t,i,e.id);else if(1===r&&ot){var a=A?U:I,s=\\\"s\\\"===A||\\\"w\\\"===T?0:1,c=a._name+\\\".range[\\\"+s+\\\"]\\\",u=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return\\\"date\\\"===t.type?i:\\\"log\\\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format(\\\".\\\"+r+\\\"g\\\")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format(\\\".\\\"+String(r)+\\\"g\\\")(i))}(a,s),f=\\\"left\\\",p=\\\"middle\\\";if(a.fixedrange)return;A?(p=\\\"n\\\"===A?\\\"top\\\":\\\"bottom\\\",\\\"right\\\"===a.side&&(f=\\\"right\\\")):\\\"e\\\"===T&&(f=\\\"right\\\"),t._context.showAxisRangeEntryBoxes&&n.select(ct).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(u),fill:a.tickfont?a.tickfont.color:\\\"#444\\\",horizontalAlign:f,verticalAlign:p}).on(\\\"edit\\\",function(e){var r=a.d2r(e);void 0!==r&&o.call(\\\"relayout\\\",t,c,r)})}}};d.init(xt);var bt={};function _t(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(Z,e+ut)),i=Math.max(0,Math.min(J,r+ft)),a=Math.abs(n-ut),o=Math.abs(i-ft);function s(){mt=\\\"\\\",ht.r=ht.l,ht.t=ht.b,yt.attr(\\\"d\\\",\\\"M0,0Z\\\")}ht.l=Math.min(ut,n),ht.r=Math.max(ut,n),ht.t=Math.min(ft,i),ht.b=Math.max(ft,i),et?a>M||o>M?(mt=\\\"xy\\\",a/Z>o/J?(o=a*J/Z,ft>i?ht.t=ft-o:ht.b=ft+o):(a=o*Z/J,ut>n?ht.l=ut-a:ht.r=ut+a),yt.attr(\\\"d\\\",N(ht))):s():!$||o<Math.min(Math.max(.6*a,k),M)?a<k?s():(ht.t=0,ht.b=J,mt=\\\"x\\\",yt.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(t.l-.5)+\\\",\\\"+(e-M-.5)+\\\"h-3v\\\"+(2*M+1)+\\\"h3ZM\\\"+(t.r+.5)+\\\",\\\"+(e-M-.5)+\\\"h3v\\\"+(2*M+1)+\\\"h-3Z\\\"}(ht,ft))):!Q||a<Math.min(.6*o,M)?(ht.l=0,ht.r=Z,mt=\\\"y\\\",yt.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(e-M-.5)+\\\",\\\"+(t.t-.5)+\\\"v-3h\\\"+(2*M+1)+\\\"v3ZM\\\"+(e-M-.5)+\\\",\\\"+(t.b+.5)+\\\"v3h\\\"+(2*M+1)+\\\"v-3Z\\\"}(ht,ut))):(mt=\\\"xy\\\",yt.attr(\\\"d\\\",N(ht))),ht.w=ht.r-ht.l,ht.h=ht.b-ht.t,O(vt,yt,ht,dt,gt,pt),gt=!0}function wt(){if(Math.min(ht.h,ht.w)<2*k)return R(t);\\\"xy\\\"!==mt&&\\\"x\\\"!==mt||E(G,ht.l/Z,ht.r/Z,bt,K.xaxes),\\\"xy\\\"!==mt&&\\\"y\\\"!==mt||E(W,(J-ht.b)/J,(J-ht.t)/J,bt,K.yaxes),R(t),Et(),B(t)}var kt=[0,0,Z,J],Mt=null,At=w.REDRAWDELAY,Tt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function St(e,r){if(!t._transitioningWithDuration){if(\\\"ew\\\"===Q||\\\"ns\\\"===$)return Q&&L(G,e),$&&L(W,r),Lt([Q?-e:0,$?-r:0,Z,J]),void Ct($,Q);if(et&&Q&&$){var n=\\\"w\\\"===Q==(\\\"n\\\"===$)?1:-1,i=(e/Z+n*r/J)/2;e=i*Z,r=n*i*J}\\\"w\\\"===Q?e=l(G,0,e):\\\"e\\\"===Q?e=l(G,1,-e):Q||(e=0),\\\"n\\\"===$?r=l(W,1,r):\\\"s\\\"===$?r=l(W,0,-r):$||(r=0);var a=\\\"w\\\"===Q?e:0,o=\\\"n\\\"===$?r:0;if(et){var s;if(!Q&&1===$.length){for(s=0;s<G.length;s++)G[s].range=G[s]._r.slice(),_(G[s],1-r/J);a=(e=r*Z/J)/2}if(!$&&1===Q.length){for(s=0;s<W.length;s++)W[s].range=W[s]._r.slice(),_(W[s],1-e/Z);o=(r=e*J/Z)/2}}Lt([a,o,Z-e,J-r]),Ct($,Q)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/z(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Ct(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for(rt&&(a(G),a(K.xaxes)),nt&&(a(W),a(K.yaxes)),bt={},n=0;n<i.length;n++){var s=i[n];v(t,s,!0);var l=y(t,s);bt[l._name+\\\".range[0]\\\"]=l.range[0],bt[l._name+\\\".range[1]\\\"]=l.range[1]}function c(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}c(t._fullLayout.annotations||[],o.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),c(t._fullLayout.shapes||[],o.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),c(t._fullLayout.images||[],o.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function Et(){Lt([0,0,Z,J]),s.syncOrAsync([m.previousPromises,function(){o.call(\\\"relayout\\\",t,bt)}],t)}function Lt(e){var r,n,i,a,l=t._fullLayout,u=l._plots,h=l._subplots.cartesian,p=l._has(\\\"scattergl\\\"),d=l._hasOnlyLargeSploms,g=d||l._has(\\\"splom\\\"),m=l._has(\\\"svg\\\"),v=l._has(\\\"draggedPts\\\");if((g||p)&&c(t),!g||(o.subplotsRegistry.splom.drag(t),!d)){if(p)for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var y=n._scene;if(y){var x=s.simpleMap(i.range,i.r2l),b=s.simpleMap(a.range,a.r2l);y.update({range:[x[0],b[0],x[1],b[1]]})}}if(m){var _=e[2]/I._length,w=e[3]/U._length;for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var k,M,S,C,E=rt&&!i.fixedrange&&q[i._id],L=nt&&!a.fixedrange&&H[a._id];if(E?(k=_,S=T?e[0]:Dt(i,k)):S=Pt(i,k=zt(i,_,w)),L?(M=w,C=A?e[1]:Dt(a,M)):C=Pt(a,M=zt(a,_,w)),k||M){k||(k=1),M||(M=1);var z=i._offset-S/k,P=a._offset-C/M;if(n.clipRect.call(f.setTranslate,S,C).call(f.setScale,k,M),n.plot.call(f.setTranslate,z,P).call(f.setScale,1/k,1/M),v){var D=n.plot.selectAll(\\\".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace\\\");D.selectAll(\\\".point\\\").call(f.setPointGroupScale,k,M),D.selectAll(\\\".textpoint\\\").call(f.setTextPointsScale,k,M),D.call(f.hideOutsideRangePoints,n),n.plot.selectAll(\\\".barlayer .trace\\\").call(f.hideOutsideRangePoints,n,\\\".bartext\\\")}}}}}}function zt(t,e,r){return t.fixedrange?0:rt&&K.xaHash[t._id]?e:nt&&(et?K.xaHash:K.yaHash)[t._id]?r:0}function Pt(t,e){return e?(t.range=t._r.slice(),_(t,e),Dt(t,e)):0}function Dt(t,e){return t._length*(1-e)*g[t.constraintoward||\\\"middle\\\"]}return A.length*T.length!=1&&j(ct,function(e){if(t._context.scrollZoom||t._fullLayout._enablescrollzoom){if(null===Mt&&b(it),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\\\".plotly\\\");if(st(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(Mt);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Tt.draglayer.select(\\\".nsewdrag\\\").node().getBoundingClientRect(),l=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(rt){for(T||(l=.5),i=0;i<G.length;i++)u(G[i],l,a);kt[2]*=a,kt[0]+=kt[2]*l*(1/a-1)}if(nt){for(A||(c=.5),i=0;i<W.length;i++)u(W[i],c,a);kt[3]*=a,kt[1]+=kt[3]*(1-c)*(1/a-1)}Lt(kt),Ct(A,T),Mt=setTimeout(function(){kt=[0,0,Z,J],Et()},At),e.preventDefault()}else s.log(\\\"Did not find wheel motion attributes: \\\",e)}}function u(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),ct},makeDragger:T,makeRectDragger:S,makeZoombox:P,makeCorners:D,updateZoombox:O,xyCorners:N,transitionZoombox:I,removeZoombox:R,showDoubleClickNotifier:B,attachWheelEventHandler:j}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/clear_gl_canvases\\\":586,\\\"../../lib/setcursor\\\":622,\\\"../../lib/svg_text_utils\\\":626,\\\"../../registry\\\":732,\\\"../plots\\\":710,\\\"./axes\\\":648,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,\\\"./scale_zoom\\\":664,\\\"./select\\\":665,d3:130,\\\"has-passive-events\\\":297,tinycolor2:415}],657:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/fx\\\"),a=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(\\\"gl2d\\\")||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\\\"),i=r.split(\\\"y\\\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[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&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.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 f=o._mainLinePosition;\\\"top\\\"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,\\\"\\\",\\\"ew\\\"),s(t,n,o._offset,f,.1*o._length,l,\\\"\\\",\\\"w\\\"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,\\\"\\\",\\\"e\\\")}if(r===c._mainSubplot){var h=c._mainLinePosition;\\\"right\\\"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,\\\"ns\\\",\\\"\\\"),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,\\\"s\\\",\\\"\\\"),s(t,n,h,c._offset,l,.1*c._length,\\\"n\\\",\\\"\\\")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(e)}},r.updateFx=function(t){var e=\\\"pan\\\"===t.dragmode?\\\"move\\\":\\\"crosshair\\\";o(t._draggers,e)}},{\\\"../../components/dragelement\\\":496,\\\"../../components/fx\\\":516,\\\"../../lib/setcursor\\\":622,\\\"./constants\\\":653,\\\"./dragbox\\\":656,d3:130}],658:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\");e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(\\\"cartesian\\\")||r._has(\\\"gl2d\\\"),p=0;p<a.length;p++){var d=a[p];if(i.isPlainObject(d)){var g=d.xref,m=d.yref,v=s.x.test(g),y=s.y.test(m);if(v||y){h||i.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&&f.push(g+m)}}}}}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],659:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../plots\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../get_data\\\").getModuleCalcData,c=t(\\\"./axis_ids\\\"),u=t(\\\"./constants\\\"),f=t(\\\"../../constants/xmlns_namespaces\\\"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=0;v<g.length;v++){var y=(c=g[v]).name;if(i.modules[y].categories.svg){var x=c.layerName||y+\\\"layer\\\",b=c.plot;h=(f=l(r,b))[0],r=f[1],h.length&&m.push({i:p.indexOf(x),className:x,plotMethod:b,cdModule:h})}}m.sort(function(t,e){return t.i-e.i});var _=e.plot.selectAll(\\\"g.mlayer\\\").data(m,function(t){return t.className});_.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return t.className}).classed(\\\"mlayer\\\",!0),_.exit().remove(),_.order(),_.each(function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),\\\"scatterlayer\\\"!==l&&\\\"barlayer\\\"!==l&&s.setClipUrl(i,e.layerClipId)}),d._has(\\\"scattergl\\\")&&(c=i.getModule(\\\"scattergl\\\"),h=l(r,c)[0],c.plot(t,e,h))}function g(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+\\\"-x\\\",d=n+\\\"-y\\\";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,\\\"path\\\",f),h(s.overlinesBelow,\\\"path\\\",d),h(s.overaxesBelow,\\\"g\\\",f),h(s.overaxesBelow,\\\"g\\\",d),e.plot=h(s.overplot,\\\"g\\\",n),h(s.overlinesAbove,\\\"path\\\",f),h(s.overlinesAbove,\\\"path\\\",d),h(s.overaxesAbove,\\\"g\\\",f),h(s.overaxesAbove,\\\"g\\\",d),e.xlines=l.select(\\\".overlines-\\\"+i).select(\\\".\\\"+f),e.ylines=l.select(\\\".overlines-\\\"+a).select(\\\".\\\"+d),e.xaxislayer=l.select(\\\".overaxes-\\\"+i).select(\\\".\\\"+f),e.yaxislayer=l.select(\\\".overaxes-\\\"+a).select(\\\".\\\"+d)}else if(o)e.plot=h(r,\\\"g\\\",\\\"plot\\\"),e.xlines=h(r,\\\"path\\\",\\\"xlines-above\\\"),e.ylines=h(r,\\\"path\\\",\\\"ylines-above\\\"),e.xaxislayer=h(r,\\\"g\\\",\\\"xaxislayer-above\\\"),e.yaxislayer=h(r,\\\"g\\\",\\\"yaxislayer-above\\\");else{var g=h(r,\\\"g\\\",\\\"layer-subplot\\\");e.shapelayer=h(g,\\\"g\\\",\\\"shapelayer\\\"),e.imagelayer=h(g,\\\"g\\\",\\\"imagelayer\\\"),e.gridlayer=h(r,\\\"g\\\",\\\"gridlayer\\\"),e.zerolinelayer=h(r,\\\"g\\\",\\\"zerolinelayer\\\"),h(r,\\\"path\\\",\\\"xlines-below\\\"),h(r,\\\"path\\\",\\\"ylines-below\\\"),e.overlinesBelow=h(r,\\\"g\\\",\\\"overlines-below\\\"),h(r,\\\"g\\\",\\\"xaxislayer-below\\\"),h(r,\\\"g\\\",\\\"yaxislayer-below\\\"),e.overaxesBelow=h(r,\\\"g\\\",\\\"overaxes-below\\\"),e.plot=h(r,\\\"g\\\",\\\"plot\\\"),e.overplot=h(r,\\\"g\\\",\\\"overplot\\\"),e.xlines=h(r,\\\"path\\\",\\\"xlines-above\\\"),e.ylines=h(r,\\\"path\\\",\\\"ylines-above\\\"),e.overlinesAbove=h(r,\\\"g\\\",\\\"overlines-above\\\"),h(r,\\\"g\\\",\\\"xaxislayer-above\\\"),h(r,\\\"g\\\",\\\"yaxislayer-above\\\"),e.overaxesAbove=h(r,\\\"g\\\",\\\"overaxes-above\\\"),e.xlines=r.select(\\\".xlines-\\\"+i),e.ylines=r.select(\\\".ylines-\\\"+a),e.xaxislayer=r.select(\\\".xaxislayer-\\\"+i),e.yaxislayer=r.select(\\\".yaxislayer-\\\"+a)}o||(p(e.gridlayer,\\\"g\\\",e.xaxis._id),p(e.gridlayer,\\\"g\\\",e.yaxis._id),e.gridlayer.selectAll(\\\"g\\\").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 i in t.each(function(t){n.select(this).remove(),v(t,e),r[t]=!0}),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[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,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var g=h[r].split(\\\"y\\\");p[g[0]]=1,d[\\\"y\\\"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i=\\\"y\\\"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n=\\\"x\\\"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var m in n=\\\"\\\",i=\\\"\\\",t){if(u.attrRegex.test(m))\\\"x\\\"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!i||+m.substr(5)<+i.substr(5))&&(i=m)}n=n?c.name2id(n):\\\"x\\\",i=i?c.name2id(i):\\\"y\\\",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],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===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has(\\\"gl\\\"),h=e._has&&e._has(\\\"gl\\\");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];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(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];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=t._fullLayout,r=[],n=[];for(var i in e._plots){var a=e._plots[i],o=a.xaxis._mainAxis,s=a.yaxis._mainAxis,l=o._id+s._id;l!==i&&e._plots[l]?(a.mainplot=l,a.mainplotinfo=e._plots[l],n.push(i)):(r.push(i),a.mainplot=void 0)}return r=r.concat(n)}(t),i=e._cartesianlayer.selectAll(\\\".subplot\\\").data(r,a.identity);i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"subplot \\\"+t}),i.order(),i.exit().call(m,e),i.each(function(r){var i=e._plots[r];(i.plotgroup=n.select(this),i.overlays=[],g(t,i),i.mainplot)&&e._plots[i.mainplot].overlays.push(i);i.draglayer=h(e._draggers,\\\"g\\\",r)})},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:f.svg,\\\"xlink:href\\\":t,preserveAspectRatio:\\\"none\\\",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t(\\\"./graph_interact\\\").updateFx},{\\\"../../components/drawing\\\":499,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../get_data\\\":684,\\\"../plots\\\":710,\\\"./attributes\\\":646,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,\\\"./graph_interact\\\":657,\\\"./layout_attributes\\\":660,\\\"./layout_defaults\\\":661,\\\"./transition_axes\\\":670,d3:130}],660:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../font_attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"./constants\\\");e.exports={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},color:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"ticks\\\"},title:{valType:\\\"string\\\",editType:\\\"ticks+margins\\\"},titlefont:n({editType:\\\"ticks+margins\\\"}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"log\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0,editType:\\\"calc\\\",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+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}},{valType:\\\"any\\\",editType:\\\"axrange+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}}],editType:\\\"axrange+margins\\\",impliedEdits:{autorange:!1}},fixedrange:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},scaleanchor:{valType:\\\"enumerated\\\",values:[s.idRegex.x.toString(),s.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\\\"},tickmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"linear\\\",\\\"array\\\"],editType:\\\"ticks+margins\\\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"ticks+margins\\\"},tick0:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},dtick:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},tickvals:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticktext:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticks:{valType:\\\"enumerated\\\",values:[\\\"outside\\\",\\\"inside\\\",\\\"\\\"],editType:\\\"ticks+margins\\\"},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:i.defaultLine,editType:\\\"ticks\\\"},showticklabels:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"ticks+margins\\\"},automargin:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},showspikes:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"modebar\\\"},spikecolor:{valType:\\\"color\\\",dflt:null,editType:\\\"none\\\"},spikethickness:{valType:\\\"number\\\",dflt:3,editType:\\\"none\\\"},spikedash:o({},a,{dflt:\\\"dash\\\",editType:\\\"none\\\"}),spikemode:{valType:\\\"flaglist\\\",flags:[\\\"toaxis\\\",\\\"across\\\",\\\"marker\\\"],dflt:\\\"toaxis\\\",editType:\\\"none\\\"},spikesnap:{valType:\\\"enumerated\\\",values:[\\\"data\\\",\\\"cursor\\\"],dflt:\\\"data\\\",editType:\\\"none\\\"},tickfont:n({editType:\\\"ticks+margins\\\"}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\",editType:\\\"ticks+margins\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\",editType:\\\"ticks+margins\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},tickformatstops:{_isLinkedToArray:\\\"tickformatstop\\\",dtickrange:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"},{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"}],editType:\\\"ticks+margins\\\"},value:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},editType:\\\"ticks+margins\\\"},hoverformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"none\\\"},showline:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"layoutstyle\\\"},linecolor:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"layoutstyle\\\"},linewidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks+layoutstyle\\\"},showgrid:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},gridcolor:{valType:\\\"color\\\",dflt:i.lightLine,editType:\\\"ticks\\\"},gridwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks\\\"},zeroline:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},zerolinecolor:{valType:\\\"color\\\",dflt:i.defaultLine,editType:\\\"ticks\\\"},zerolinewidth:{valType:\\\"number\\\",dflt:1,editType:\\\"ticks\\\"},anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.idRegex.y.toString()],editType:\\\"plot+margins\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"],editType:\\\"plot+margins\\\"},overlaying:{valType:\\\"enumerated\\\",values:[\\\"free\\\",s.idRegex.x.toString(),s.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+margins\\\"},{valType:\\\"number\\\",min:0,max:1,editType:\\\"plot+margins\\\"}],dflt:[0,1],editType:\\\"plot+margins\\\"},position:{valType:\\\"number\\\",min:0,max:1,dflt:0,editType:\\\"plot+margins\\\"},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\",editType:\\\"calc\\\"},categoryarray:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\",_deprecated:{autotick:{valType:\\\"boolean\\\",editType:\\\"ticks+margins\\\"}}}},{\\\"../../components/color/attributes\\\":473,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../font_attributes\\\":674,\\\"./constants\\\":653}],661:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../layout_attributes\\\"),s=t(\\\"./layout_attributes\\\"),l=t(\\\"./type_defaults\\\"),c=t(\\\"./axis_defaults\\\"),u=t(\\\"./constraint_defaults\\\"),f=t(\\\"./position_defaults\\\"),h=t(\\\"./axis_ids\\\");e.exports=function(t,e,r){var p,d={},g={},m={},v={};for(p=0;p<r.length;p++){var y=r[p];if(n.traceIs(y,\\\"cartesian\\\")||n.traceIs(y,\\\"gl2d\\\")){var x=h.id2name(y.xaxis),b=h.id2name(y.yaxis);if(n.traceIs(y,\\\"carpet\\\")&&(\\\"carpet\\\"!==y.type||y._cheater)||x&&(g[x]=1),\\\"carpet\\\"===y.type&&y._cheater&&x&&(d[x]=1),n.traceIs(y,\\\"2dMap\\\")&&(m[x]=!0,m[b]=!0),n.traceIs(y,\\\"oriented\\\"))v[\\\"h\\\"===y.orientation?b:x]=!0}}var _=e._subplots,w=_.xaxis,k=_.yaxis,M=i.simpleMap(w,h.id2name),A=i.simpleMap(k,h.id2name),T=M.concat(A),S=a.background;w.length&&k.length&&(S=i.coerce(t,e,o,\\\"plot_bgcolor\\\"));var C,E,L,z,P=a.combine(S,e.paper_bgcolor);function D(t,e){return i.coerce(L,z,s,t,e)}function O(t,e){return i.coerce2(L,z,s,t,e)}function I(t){return\\\"x\\\"===t?k:w}var R={x:I(\\\"x\\\"),y:I(\\\"y\\\")};function B(e,r){for(var n=\\\"x\\\"===e?M:A,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(h.name2id(o))}return i}for(p=0;p<T.length;p++){C=T[p],i.isPlainObject(t[C])||(t[C]={}),L=t[C],z=e[C]={},l(L,z,D,r,C);var F=B(E=C.charAt(0),C),N={letter:E,font:e.font,outerTicks:m[C],showGrid:!v[C],data:r,bgColor:P,calendar:e.calendar,automargin:!0,cheateronly:\\\"x\\\"===E&&d[C]&&!g[C]};c(L,z,D,N,e);var j=O(\\\"spikecolor\\\"),V=O(\\\"spikethickness\\\"),U=O(\\\"spikedash\\\"),q=O(\\\"spikemode\\\"),H=O(\\\"spikesnap\\\");D(\\\"showspikes\\\",!!(j||V||U||q||H))||(delete z.spikecolor,delete z.spikethickness,delete z.spikedash,delete z.spikemode,delete z.spikesnap);var G={letter:E,counterAxes:R[E],overlayableAxes:F,grid:e.grid};f(L,z,D,G),z._input=L}var W=n.getComponentMethod(\\\"rangeslider\\\",\\\"handleDefaults\\\"),Y=n.getComponentMethod(\\\"rangeselector\\\",\\\"handleDefaults\\\");for(p=0;p<M.length;p++)C=M[p],L=t[C],z=e[C],W(t,e,C),\\\"date\\\"===z.type&&Y(L,z,e,A,z.calendar),D(\\\"fixedrange\\\");for(p=0;p<A.length;p++){C=A[p],L=t[C],z=e[C];var X=e[h.id2name(z.anchor)];D(\\\"fixedrange\\\",X&&X.rangeslider&&X.rangeslider.visible)}e._axisConstraintGroups=[];var Z=R.x.concat(R.y);for(p=0;p<T.length;p++)E=(C=T[p]).charAt(0),L=t[C],z=e[C],u(L,z,D,Z,e)}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../layout_attributes\\\":701,\\\"./axis_defaults\\\":650,\\\"./axis_ids\\\":651,\\\"./constraint_defaults\\\":654,\\\"./layout_attributes\\\":660,\\\"./position_defaults\\\":663,\\\"./type_defaults\\\":671}],662:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../components/color/attributes\\\").lightFraction,a=t(\\\"../../lib\\\");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.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 f=l(\\\"gridcolor\\\",n(s,o.bgColor,o.blend||i).toRgbString()),h=l(\\\"gridwidth\\\");if(r(\\\"showgrid\\\",o.showGrid||!!f||!!h)||(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\\\":473,\\\"../../lib\\\":602,tinycolor2:415}],663:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+\\\"side\\\"].split(\\\" \\\")[0],c=p.domain[h][\\\"right\\\"===l||\\\"top\\\"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?\\\"free\\\":u[0]||\\\"free\\\"),l=l||(\\\"x\\\"===h?\\\"bottom\\\":\\\"left\\\"),c=c||0,\\\"free\\\"===i.coerce(t,e,{anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\"].concat(u),dflt:o}},\\\"anchor\\\")&&r(\\\"position\\\",c),i.coerce(t,e,{side:{valType:\\\"enumerated\\\",values:\\\"x\\\"===h?[\\\"bottom\\\",\\\"top\\\"]:[\\\"left\\\",\\\"right\\\"],dflt:l}},\\\"side\\\");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:\\\"enumerated\\\",values:[!1].concat(f),dflt:!1}},\\\"overlaying\\\")),!d){var g=r(\\\"domain\\\",s);g[0]>g[1]-.01&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r(\\\"layer\\\"),e}},{\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],664:[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 i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{\\\"../../constants/alignment\\\":574}],665:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"polybooljs\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../../components/fx\\\"),s=t(\\\"../../lib/polygon\\\"),l=t(\\\"../../lib/throttle\\\"),c=t(\\\"../../components/fx/helpers\\\").makeEventData,u=t(\\\"./axis_ids\\\").getFromId,f=t(\\\"../sort_modules\\\").sortModules,h=t(\\\"./constants\\\"),p=h.MINSELECT,d=s.filter,g=s.tester,m=s.multitester;function v(t){return t._id}function y(t,e,r){var n,a,o,s;if(r){var l=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace).selectedpoints=[],s._input.selectedpoints=[];for(n=0;n<l.length;n++){var c=l[n],u=c.data,h=c.fullData;c.pointIndices?([].push.apply(u.selectedpoints,c.pointIndices),[].push.apply(h.selectedpoints,c.pointIndices)):(u.selectedpoints.push(c.pointIndex),h.selectedpoints.push(c.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints;var p={};for(n=0;n<e.length;n++){var d=(o=e[n])._module.name;p[d]?p[d].push(o):p[d]=[o]}var g=Object.keys(p).sort(f);for(n=0;n<g.length;n++){var m=p[g[n]],v=m.length,y=m[0],x=y.cd[0].trace,b=y._module,_=b.styleOnSelect||b.style;if(i.traceIs(x,\\\"regl\\\")){var w=new Array(v);for(a=0;a<v;a++)w[a]=m[a].cd;_(t,w)}else for(a=0;a<v;a++)_(t,m[a].cd)}}function x(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=c(t[i],n,r);return t}function b(t){t.selectAll(\\\".select-outline\\\").remove()}e.exports={prepSelect:function(t,e,r,i,s){var c,f,_,w,k,M,A,T,S,C=i.gd,E=C._fullLayout,L=E._zoomlayer,z=i.element.getBoundingClientRect(),P=i.plotinfo,D=P.xaxis._offset,O=P.yaxis._offset,I=e-z.left,R=r-z.top,B=I,F=R,N=\\\"M\\\"+I+\\\",\\\"+R,j=i.xaxes[0]._length,V=i.yaxes[0]._length,U=i.xaxes.map(v),q=i.yaxes.map(v),H=i.xaxes.concat(i.yaxes),G=t.altKey,W=E._lastSelectedSubplot&&E._lastSelectedSubplot===P.id;W&&(t.shiftKey||t.altKey)&&P.selection&&P.selection.polygons&&!i.polygons?(i.polygons=P.selection.polygons,i.mergedPolygons=P.selection.mergedPolygons):(!t.shiftKey&&!t.altKey||(t.shiftKey||t.altKey)&&!P.selection)&&(P.selection={},P.selection.polygons=i.polygons=[],P.selection.mergedPolygons=i.mergedPolygons=[]),W||(b(L),E._lastSelectedSubplot=P.id),\\\"lasso\\\"===s&&(c=d([[I,R]],h.BENDPX));var Y=L.selectAll(\\\"path.select-outline-\\\"+P.id).data([1,2]);Y.enter().append(\\\"path\\\").attr(\\\"class\\\",function(t){return\\\"select-outline select-outline-\\\"+t+\\\" select-outline-\\\"+P.id}).attr(\\\"transform\\\",\\\"translate(\\\"+D+\\\", \\\"+O+\\\")\\\").attr(\\\"d\\\",N+\\\"Z\\\");var X,Z=L.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:a.background,stroke:a.defaultLine,\\\"stroke-width\\\":1}).attr(\\\"transform\\\",\\\"translate(\\\"+D+\\\", \\\"+O+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),J=[],K=E._uid+h.SELECTID,Q=[];for(k=0;k<C.calcdata.length;k++)if(!0===(A=(M=C.calcdata[k])[0].trace).visible&&A._module&&A._module.selectPoints)if(i.subplot)A.subplot!==i.subplot&&A.geo!==i.subplot||J.push({_module:A._module,cd:M,xaxis:i.xaxes[0],yaxis:i.yaxes[0]});else if(\\\"splom\\\"===A.type&&A._xaxes[U[0]]&&A._yaxes[q[0]])J.push({_module:A._module,cd:M,xaxis:i.xaxes[0],yaxis:i.yaxes[0]});else{if(-1===U.indexOf(A.xaxis))continue;if(-1===q.indexOf(A.yaxis))continue;J.push({_module:A._module,cd:M,xaxis:u(C,A.xaxis),yaxis:u(C,A.yaxis)})}function $(t){var e=\\\"y\\\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function tt(t,e){return t-e}X=P.fillRangeItems?P.fillRangeItems:\\\"select\\\"===s?function(t,e){var r=t.range={};for(k=0;k<H.length;k++){var n=H[k],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\\\"min\\\"]),n.p2d(e[i+\\\"max\\\"])].sort(tt)}}:function(t,e,r){var n=t.lassoPoints={};for(k=0;k<H.length;k++){var i=H[k];n[i._id]=r.filtered.map($(i))}},i.moveFn=function(t,e){B=Math.max(0,Math.min(j,t+I)),F=Math.max(0,Math.min(V,e+R));var r=Math.abs(B-I),a=Math.abs(F-R);if(\\\"select\\\"===s){var o=E.selectdirection;\\\"h\\\"===(o=\\\"any\\\"===E.selectdirection?a<Math.min(.6*r,p)?\\\"h\\\":r<Math.min(.6*a,p)?\\\"v\\\":\\\"d\\\":E.selectdirection)?((w=[[I,0],[I,V],[B,V],[B,0]]).xmin=Math.min(I,B),w.xmax=Math.max(I,B),w.ymin=Math.min(0,V),w.ymax=Math.max(0,V),Z.attr(\\\"d\\\",\\\"M\\\"+w.xmin+\\\",\\\"+(R-p)+\\\"h-4v\\\"+2*p+\\\"h4ZM\\\"+(w.xmax-1)+\\\",\\\"+(R-p)+\\\"h4v\\\"+2*p+\\\"h-4Z\\\")):\\\"v\\\"===o?((w=[[0,R],[0,F],[j,F],[j,R]]).xmin=Math.min(0,j),w.xmax=Math.max(0,j),w.ymin=Math.min(R,F),w.ymax=Math.max(R,F),Z.attr(\\\"d\\\",\\\"M\\\"+(I-p)+\\\",\\\"+w.ymin+\\\"v-4h\\\"+2*p+\\\"v4ZM\\\"+(I-p)+\\\",\\\"+(w.ymax-1)+\\\"v4h\\\"+2*p+\\\"v-4Z\\\")):\\\"d\\\"===o&&((w=[[I,R],[I,F],[B,F],[B,R]]).xmin=Math.min(I,B),w.xmax=Math.max(I,B),w.ymin=Math.min(R,F),w.ymax=Math.max(R,F),Z.attr(\\\"d\\\",\\\"M0,0Z\\\"))}else\\\"lasso\\\"===s&&(c.addPt([B,F]),w=c.filtered);i.polygons&&i.polygons.length?(_=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,w,G),w.subtract=G,f=m(i.polygons.concat([w]))):(_=[w],f=g(w));var u=[];for(k=0;k<_.length;k++){var d=_[k];u.push(d.join(\\\"L\\\")+\\\"L\\\"+d[0])}Y.attr(\\\"d\\\",\\\"M\\\"+u.join(\\\"M\\\")+\\\"Z\\\"),l.throttle(K,h.SELECTDELAY,function(){Q=[];var t,e,r=[];for(k=0;k<J.length;k++)if(e=(T=J[k])._module.selectPoints(T,f),r.push(e),t=x(e,T),Q.length)for(var n=0;n<t.length;n++)Q.push(t[n]);else Q=t;y(C,J,S={points:Q}),X(S,w,c),i.gd.emit(\\\"plotly_selecting\\\",S)})},i.clickFn=function(t,e){Z.remove(),l.done(K).then(function(){if(l.clear(K),2===t){for(Y.remove(),k=0;k<J.length;k++)(T=J[k])._module.selectPoints(T,!1);y(C,J),C.emit(\\\"plotly_deselect\\\",null)}else C.emit(\\\"plotly_selected\\\",void 0);o.click(C,e)})},i.doneFn=function(){Z.remove(),l.done(K).then(function(){l.clear(K),i.gd.emit(\\\"plotly_selected\\\",S),w&&i.polygons&&(w.subtract=G,i.polygons.push(w),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,_))})}},clearSelect:b}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../components/fx/helpers\\\":513,\\\"../../lib/polygon\\\":614,\\\"../../lib/throttle\\\":627,\\\"../../registry\\\":732,\\\"../sort_modules\\\":723,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,polybooljs:357}],666:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\"),o=a.cleanNumber,s=a.ms2DateTime,l=a.dateTime2ms,c=a.ensureNumber,u=t(\\\"../../constants/numerical\\\"),f=u.FP_SAFE,h=u.BADNUM,p=t(\\\"./constants\\\"),d=t(\\\"./axis_ids\\\");function g(t){return Math.pow(10,t)}e.exports=function(t,e){e=e||{};var r=(t._id||\\\"x\\\").charAt(0),u=10;function m(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],i=t.range[1];return.5*(n+i-3*u*Math.abs(n-i))}return h}function v(e,r,n){var a=l(e,n||t.calendar);if(a===h){if(!i(e))return h;a=l(new Date(+e))}return a}function y(e,r,n){return s(e,r,n||t.calendar)}function x(e){return t._categories[Math.round(e)]}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(i(e))return+e}function _(e){return i(e)?n.round(t._b+t._m*e,2):h}function w(e){return(e-t._b)/t._m}t.c2l=\\\"log\\\"===t.type?m:c,t.l2c=\\\"log\\\"===t.type?g:c,t.l2p=_,t.p2l=w,t.c2p=\\\"log\\\"===t.type?function(t,e){return _(m(t,e))}:_,t.p2c=\\\"log\\\"===t.type?function(t){return g(w(t))}:w,-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=w,t.cleanPos=c):\\\"log\\\"===t.type?(t.d2r=t.d2l=function(t,e){return m(o(t),e)},t.r2d=t.r2c=function(t){return g(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=m,t.l2d=g,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return g(w(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=w,t.cleanPos=c):\\\"date\\\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=v,t.c2d=t.c2r=t.l2d=t.l2r=y,t.d2p=t.r2p=function(e,r,n){return t.l2p(v(e,0,n))},t.p2d=t.p2r=function(t,e,r){return y(w(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,h,t.calendar)}):\\\"category\\\"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return h},t.r2d=t.c2d=t.l2d=x,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return x(w(t))},t.r2p=t.d2p,t.p2r=w,t.cleanPos=function(t){return\\\"string\\\"==typeof t&&\\\"\\\"!==t?t:c(t)}),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,n){n||(n={}),e||(e=\\\"range\\\");var o,s,l=a.nestedProperty(t,e).get();if(s=(s=\\\"date\\\"===t.type?a.dfltRange(t.calendar):\\\"y\\\"===r?p.DFLTRANGEY:n.dfltRange||p.DFLTRANGEX).slice(),l&&2===l.length)for(\\\"date\\\"===t.type&&(l[0]=a.cleanDate(l[0],h,t.calendar),l[1]=a.cleanDate(l[1],h,t.calendar)),o=0;o<2;o++)if(\\\"date\\\"===t.type){if(!a.isDateTime(l[o],t.calendar)){t[e]=s;break}if(t.r2l(l[0])===t.r2l(l[1])){var c=a.constrain(t.r2l(l[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);l[0]=t.l2r(c-1e3),l[1]=t.l2r(c+1e3);break}}else{if(!i(l[o])){if(!i(l[1-o])){t[e]=s;break}l[o]=l[1-o]*(o?10:.1)}if(l[o]<-f?l[o]=-f:l[o]>f&&(l[o]=f),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=d.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?\\\"_r\\\":\\\"range\\\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if(\\\"y\\\"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(\\\"Something went wrong with axis scaling\\\")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c=\\\"date\\\"===l&&e[r+\\\"calendar\\\"];if(r in e){if(n=e[r],s=e._length||n.length,a.isTypedArray(n)&&(\\\"linear\\\"===l||\\\"log\\\"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}for(i=new Array(s),o=0;o<s;o++)i[o]=t.d2c(n[o],0,c)}else{var u=r+\\\"0\\\"in e?t.d2c(e[r+\\\"0\\\"],0,c):0,f=e[\\\"d\\\"+r]?Number(e[\\\"d\\\"+r]):1;for(n=e[{x:\\\"y\\\",y:\\\"x\\\"}[r]],s=e._length||n.length,i=new Array(s),o=0;o<s;o++)i[o]=u+o*f}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&i(t.r2l(e[0]))&&i(t.r2l(e[1]))},t.isPtWithinRange=function(e,n){var i=t.c2l(e[r],null,n),a=t.r2l(t.range[0]),o=t.r2l(t.range[1]);return a<o?a<=i&&i<=o:o<=i&&i<=a},t.clearCalc=function(){t._min=[],t._max=[],t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var k=e._d3locale;\\\"date\\\"===t.type&&(t._dateFormat=k?k.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=k?k.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"./axis_ids\\\":651,\\\"./constants\\\":653,d3:130,\\\"fast-isnumeric\\\":196}],667:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r,a,o){var s=function(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]]}(t);if(r(\\\"tickprefix\\\")&&r(\\\"showtickprefix\\\",s),r(\\\"ticksuffix\\\",o.tickSuffixDflt)&&r(\\\"showticksuffix\\\",s),r(\\\"showticklabels\\\")){var l=o.font||{},c=e.color===t.color?e.color:l.color;if(n.coerceFont(r,\\\"tickfont\\\",{family:l.family,size:l.size,color:c}),r(\\\"tickangle\\\"),\\\"category\\\"!==a){var u=r(\\\"tickformat\\\");!function(t,e){var r,a,o=t.tickformatstops,s=e.tickformatstops=[];if(!Array.isArray(o))return;function l(t,e){return n.coerce(r,a,i.tickformatstops,t,e)}for(var c=0;c<o.length;c++)r=o[c],a={},l(\\\"dtickrange\\\"),l(\\\"value\\\"),s.push(a)}(t,e),u||\\\"date\\\"===a||(r(\\\"showexponent\\\",s),r(\\\"exponentformat\\\"),r(\\\"separatethousands\\\"))}}}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":660}],668:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\\\"ticklen\\\"),s=n.coerce2(t,e,i,\\\"tickwidth\\\"),l=n.coerce2(t,e,i,\\\"tickcolor\\\",e.color);r(\\\"ticks\\\",a.outerTicks||o||s||l?\\\"outside\\\":\\\"\\\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":660}],669:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").ONEDAY;e.exports=function(t,e,r,o){var s=\\\"auto\\\";\\\"array\\\"!==t.tickmode||\\\"log\\\"!==o&&\\\"date\\\"!==o||(t.tickmode=\\\"auto\\\"),Array.isArray(t.tickvals)?s=\\\"array\\\":t.dtick&&(s=\\\"linear\\\");var l=r(\\\"tickmode\\\",s);if(\\\"auto\\\"===l)r(\\\"nticks\\\");else if(\\\"linear\\\"===l){var c=\\\"date\\\"===o?a:1,u=r(\\\"dtick\\\",c);if(n(u))e.dtick=u>0?Number(u):c;else if(\\\"string\\\"!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)<=0||!(\\\"date\\\"===o&&\\\"M\\\"===f&&h===Math.round(h)||\\\"log\\\"===o&&\\\"L\\\"===f||\\\"log\\\"===o&&\\\"D\\\"===f&&(1===h||2===h)))&&(e.dtick=c)}var p=\\\"date\\\"===o?i.dateTick0(e.calendar):0,d=r(\\\"tick0\\\",p);\\\"date\\\"===o?e.tick0=i.cleanDate(d,p):n(d)&&\\\"D1\\\"!==u&&\\\"D2\\\"!==u?e.tick0=Number(d):e.tick0=p}else{void 0===r(\\\"tickvals\\\")?e.tickmode=\\\"auto\\\":r(\\\"ticktext\\\")}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],670:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/drawing\\\"),o=t(\\\"./axes\\\"),s=t(\\\"./constants\\\").attrRegex;e.exports=function(t,e,r,l){var c=t._fullLayout,u=[];var f,h,p,d,g=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(\\\".\\\"))[0].match(s)){var o=e.charAt(0),l=r[0];if(n=c[l],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=l,i.length=n._length,u.push(o),a[o]=i}return a}(e),m=Object.keys(g),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&&f[1]===i[1]&&h[0]===a[0]&&h[1]===a[1]||-1===e.indexOf(c)&&-1===e.indexOf(u)||s.push(l)}}return s}(c,m,g);if(!v.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(c.annotations||[],i.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),e(c.shapes||[],i.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),e(c.images||[],i.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(),!1;function y(t){var e=t.xaxis,r=t.yaxis;c._defs.select(\\\"#\\\"+t.clipId+\\\"> rect\\\").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(\\\".scatterlayer .trace\\\");n.selectAll(\\\".point\\\").call(a.setPointGroupScale,1,1),n.selectAll(\\\".textpoint\\\").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function x(e,r){var n,s,l,u=g[e.xaxis._id],f=g[e.yaxis._id],h=[];if(u){s=(n=t._fullLayout[u.axisName])._r,l=u.to,h[0]=(s[0]*(1-r)+r*l[0]-s[0])/(s[1]-s[0])*e.xaxis._length;var p=s[1]-s[0],d=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[2]=e.xaxis._length*(1-r+r*d/p)}else h[0]=0,h[2]=e.xaxis._length;if(f){s=(n=t._fullLayout[f.axisName])._r,l=f.to,h[1]=(s[1]*(1-r)+r*l[1]-s[1])/(s[0]-s[1])*e.yaxis._length;var m=s[1]-s[0],v=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[3]=e.yaxis._length*(1-r+r*v/m)}else h[1]=0,h[3]=e.yaxis._length;!function(e,r){var n,a=[];for(a=[e._id,r._id],n=0;n<a.length;n++)o.doTicks(t,a[n],!0);function s(e,r,i){for(n=0;n<e.length;n++){var o=e[n];if(-1===a.indexOf(o.xref)&&-1===a.indexOf(o.yref)||r(t,n),i)return}}s(c.annotations||[],i.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),s(c.shapes||[],i.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),s(c.images||[],i.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!u,_=!!f,w=b?y._length/h[2]:1,k=_?x._length/h[3]:1,M=b?h[0]:0,A=_?h[1]:0,T=b?h[0]/h[2]*y._length:0,S=_?h[1]/h[3]*x._length:0,C=y._offset-T,E=x._offset-S;e.clipRect.call(a.setTranslate,M,A).call(a.setScale,1/w,1/k),e.plot.call(a.setTranslate,C,E).call(a.setScale,w,k).selectAll(\\\".points\\\").selectAll(\\\".point\\\").call(a.setPointGroupScale,1/w,1/k),e.plot.selectAll(\\\".points\\\").selectAll(\\\".textpoint\\\").call(a.setTextPointsScale,1/w,1/k)}l&&(f=l());var b=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[m[r]+\\\"axis\\\"];e[n._name+\\\".range[0]\\\"]=n.range[0],e[n._name+\\\".range[1]\\\"]=n.range[1],n.range=n._r.slice()}return i.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}()}),h=Date.now(),d=window.requestAnimationFrame(function e(){p=Date.now();for(var n=Math.min(1,(p-h)/r.duration),a=b(n),o=0;o<v.length;o++)x(v[o],a);p-h>r.duration?(function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[g[m[r]].axisName],a=g[m[r]].to;e[n._name+\\\".range[0]\\\"]=a[0],e[n._name+\\\".range[1]\\\"]=a[1],n.range=a.slice()}f&&f(),i.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}(),d=window.cancelAnimationFrame(e)):d=window.requestAnimationFrame(e)}),Promise.resolve()}},{\\\"../../components/drawing\\\":499,\\\"../../registry\\\":732,\\\"./axes\\\":648,\\\"./constants\\\":653,d3:130}],671:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"./axis_autotype\\\"),a=t(\\\"./axis_ids\\\").name2id;function o(t){return{v:\\\"x\\\",h:\\\"y\\\"}[t.orientation||\\\"v\\\"]}function s(t,e){var r=o(t),i=n.traceIs(t,\\\"box-violin\\\"),a=n.traceIs(t._fullInput||{},\\\"candlestick\\\");return i&&!a&&e===r&&void 0===t[r]&&void 0===t[r+\\\"0\\\"]}e.exports=function(t,e,r,l,c){c&&(e._name=c,e._id=a(c)),\\\"-\\\"===r(\\\"type\\\")&&(!function(t,e){if(\\\"-\\\"!==t.type)return;var r=t._id,a=r.charAt(0);-1!==r.indexOf(\\\"scene\\\")&&(r=a);var l=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if(\\\"splom\\\"===i.type&&i._length>0&&i[\\\"_\\\"+r+\\\"axes\\\"][e])return i;if((i[r+\\\"axis\\\"]||r)===e){if(s(i,r))return i;if((i[r]||[]).length||i[r+\\\"0\\\"])return i}}}(e,r,a);if(!l)return;if(\\\"histogram\\\"===l.type&&a==={v:\\\"y\\\",h:\\\"x\\\"}[l.orientation||\\\"v\\\"])return void(t.type=\\\"linear\\\");var c,u=a+\\\"calendar\\\",f=l[u];if(s(l,a)){var h=o(l),p=[];for(c=0;c<e.length;c++){var d=e[c];n.traceIs(d,\\\"box-violin\\\")&&(d[a+\\\"axis\\\"]||a)===r&&(void 0!==d[h]?p.push(d[h][0]):void 0!==d.name?p.push(d.name):p.push(\\\"text\\\"),d[u]!==f&&(f=void 0))}t.type=i(p,f)}else if(\\\"splom\\\"===l.type){var g=l.dimensions;for(c=0;c<g.length;c++){var m=g[c];if(m.visible){t.type=i(m.values,f);break}}}else t.type=i(l[a]||[l[a+\\\"0\\\"]],f)}(e,l),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type)}},{\\\"../../registry\\\":732,\\\"./axis_autotype\\\":649,\\\"./axis_ids\\\":651}],672:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\"),i=t(\\\"../lib\\\");function a(t,e,r){var n,a,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 a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if(\\\"string\\\"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,function(t,e,n){r.push({type:\\\"layout\\\",prop:t,value:n})},\\\"\\\",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},\\\"string\\\"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&&(o=Math.min(o,r.length)),a=[];for(var l=0;l<o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u<a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:\\\"data\\\",prop:e,traces:a,value:i})},\\\"\\\",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(a){var o=t[a];if(\\\"_\\\"!==a[0]){var s=r+(n>0?\\\".\\\":\\\"\\\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,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){a(t,c,s.cache),s.check=function(){if(l){var e=a(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\\\"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.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 i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if(\\\"skip\\\"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch(function(t){return i.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\\\":602,\\\"../registry\\\":732}],673:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib/extend\\\").extendFlat;r.attributes=function(t,e){t=t||{},e=e||{};var r={valType:\\\"info_array\\\",editType:t.editType,items:[{valType:\\\"number\\\",min:0,max:1,editType:t.editType},{valType:\\\"number\\\",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType},i.column={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\\\"domain.column\\\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\\\"domain.row\\\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\\\"domain.x\\\",i),r(\\\"domain.y\\\",a)}},{\\\"../lib/extend\\\":591}],674:[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}},{}],675:[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\\\"}}},{}],676:[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\\\"}},{}],677:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../components/fx\\\"),c=t(\\\"../plots\\\"),u=t(\\\"../cartesian/axes\\\"),f=t(\\\"../../components/dragelement\\\"),h=t(\\\"../cartesian/select\\\").prepSelect,p=t(\\\"./zoom\\\"),d=t(\\\"./constants\\\"),g=t(\\\"../../lib/topojson_utils\\\"),m=t(\\\"topojson-client\\\").feature;function v(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.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 y=v.prototype;e.exports=function(t){return new v(t)},y.plot=function(t,e,r){var n=this,i=e[this.id],a=g.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},y.fetchTopojson=function(){var t=g.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,i){if(n)return 404===n.status?r(new Error([\\\"plotly.js could not find topojson file at\\\",t,\\\".\\\",\\\"Make sure the *topojsonURL* plot config option\\\",\\\"is set properly.\\\"].join(\\\" \\\"))):r(new Error([\\\"unexpected error while fetching topojson file at\\\",t].join(\\\" \\\")));e(i)})})},y.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\\\"choropleth\\\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\\\".scatterlayer\\\");this.dataPoints.point=i.selectAll(\\\".point\\\"),this.dataPoints.text=i.selectAll(\\\"text\\\"),this.dataPaths.line=i.selectAll(\\\".js-line\\\");var a=this.layers.backplot.select(\\\".choroplethlayer\\\");this.dataPaths.choropleth=a.selectAll(\\\"path\\\"),this.render()}},y.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[d.projNames[e]](),i=t._isClipped?d.lonaxisSpan[e]/2:null,a=[\\\"center\\\",\\\"rotate\\\",\\\"parallels\\\",\\\"clipExtent\\\"],o=function(t){return t?r:[]},s=0;s<a.length;s++){var l=a[s];\\\"function\\\"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(i){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>i*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],i=t[1][1]-t[0][1],a=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),a&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(d.precision),i&&r.clipAngle(i-d.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,g=function(t,e){var r=d.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\\\"Polygon\\\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(h.range,p.range);u.fitExtent(f,g);var m=this.bounds=u.getBounds(g),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(m[0][0])||!isFinite(m[0][1])||!isFinite(m[1][0])||!isFinite(m[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[\\\"projection.rotation\\\",\\\"center\\\",\\\"lonaxis.range\\\",\\\"lataxis.range\\\"],_=\\\"Invalid geo settings, relayout'ing to default view.\\\",w={},k=0;k<b.length;k++)w[this.id+\\\".\\\"+b[k]]=null;return this.viewInitial=null,a.warn(_),x._promises.push(i.call(\\\"relayout\\\",x,w)),_}var M=this.midPt=[(m[0][0]+m[1][0])/2,(m[0][1]+m[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(M[0]-y[0]),y[1]+(M[1]-y[1])]).clipExtent(m),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},y.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,l=r.basePaths;function c(t){return\\\"lonaxis\\\"===t||\\\"lataxis\\\"===t}function u(t){return Boolean(d.lineLayers[t])}function f(t){return Boolean(d.fillLayers[t])}var h=(this.hasChoropleth?d.layersForChoropleth:d.layers).filter(function(t){return u(t)||f(t)?e[\\\"show\\\"+t]:!c(t)||e[t].showgrid}),p=r.framework.selectAll(\\\".layer\\\").data(h,String);p.exit().each(function(t){delete a[t],delete l[t],n.select(this).remove()}),p.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"layer \\\"+t}).each(function(t){var e=a[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):u(t)?l[t]=e.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\").style(\\\"stroke-miterlimit\\\",2):f(t)&&(l[t]=e.append(\\\"path\\\").style(\\\"stroke\\\",\\\"none\\\"))}),p.order(),p.each(function(t){var r=l[t],a=d.layerNameToAdjective[t];\\\"frame\\\"===t?r.datum(d.sphereSVG):u(t)||f(t)?r.datum(m(i,i.objects[t])):c(t)&&r.datum(function(t,e){var r=e[t].dtick,i=d.scopeDefaults[e.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\\\"lonaxis\\\"===t?[r]:[0,r];return n.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(o.stroke,e[t].gridcolor).call(s.dashLine,\\\"\\\",e[t].gridwidth),u(t)?r.call(o.stroke,e[a+\\\"color\\\"]).call(s.dashLine,\\\"\\\",e[a+\\\"width\\\"]):f(t)&&r.call(o.fill,e[a+\\\"color\\\"])})},y.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,l=r[1][0]-i+n,c=r[1][1]-a+n;s.setRect(this.clipRect,i,a,l,c),this.bgRect.call(s.setRect,i,a,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=l,this.yaxis._offset=a,this.yaxis._length=c},y.updateFx=function(t,e){var r=this,a=r.graphDiv,o=r.bgRect,s=t.dragmode;if(!r.isStatic){if(\\\"pan\\\"===s)o.node().onmousedown=null,o.call(p(r,e)),o.on(\\\"dblclick.zoom\\\",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+\\\".\\\"+n]=t[n];i.call(\\\"relayout\\\",a,e),a.emit(\\\"plotly_doubleclick\\\",null)});else if(\\\"select\\\"===s||\\\"lasso\\\"===s){var c;o.on(\\\".zoom\\\",null),\\\"select\\\"===s?c=function(t,e){(t.range={})[r.id]=[d([e.xmin,e.ymin]),d([e.xmax,e.ymax])]}:\\\"lasso\\\"===s&&(c=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(d)});var u={element:r.bgRect.node(),gd:a,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:c},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\\\".select-outline\\\").remove()},prepFn:function(t,e,r){h(t,e,r,u,s)}};f.init(u)}o.on(\\\"mousemove\\\",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return f.unhover(a,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(a,n.event,r.id)}),o.on(\\\"mouseout\\\",function(){f.unhover(a,n.event)}),o.on(\\\"click\\\",function(){l.click(a,n.event)})}function d(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},y.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=\\\"clip\\\"+e._uid+t.id;t.clipDef=e._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",r),t.clipRect=t.clipDef.append(\\\"rect\\\"),t.framework=n.select(t.container).append(\\\"g\\\").attr(\\\"class\\\",\\\"geo \\\"+t.id).call(s.setClipUrl,r),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,e)},y.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale}:t._isClipped?this.viewInitial={\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon,\\\"projection.rotation.lat\\\":n.lat}:this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon}},y.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 i(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\\\",i).attr(\\\"transform\\\",n)}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../lib/topojson_utils\\\":629,\\\"../../registry\\\":732,\\\"../cartesian/axes\\\":648,\\\"../cartesian/select\\\":665,\\\"../plots\\\":710,\\\"./constants\\\":676,\\\"./projections\\\":682,\\\"./zoom\\\":683,d3:130,\\\"topojson-client\\\":418}],678:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./geo\\\"),i=t(\\\"../../plots/get_data\\\").getSubplotCalcData,a=t(\\\"../../lib\\\").counterRegex,o=\\\"geo\\\";r.name=o,r.attr=o,r.idRoot=o,r.idRegex=r.attrRegex=a(o),r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var s=0;s<a.length;s++){var l=a[s],c=i(r,o,l),u=e[l]._subplot;u||(u=n({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)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._subplots.geo,r=0;r<e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}}},{\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"./geo\\\":677,\\\"./layout/attributes\\\":679,\\\"./layout/defaults\\\":680,\\\"./layout/layout_attributes\\\":681}],679:[function(t,e,r){\\\"use strict\\\";e.exports={geo:{valType:\\\"subplotid\\\",dflt:\\\"geo\\\",editType:\\\"calc\\\"}}},{}],680:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../subplot_defaults\\\"),i=t(\\\"../constants\\\"),a=t(\\\"./layout_attributes\\\"),o=i.axesNames;function s(t,e,r){var n=r(\\\"resolution\\\"),a=r(\\\"scope\\\"),s=i.scopeDefaults[a],l=r(\\\"projection.type\\\",s.projType),c=e._isAlbersUsa=\\\"albers usa\\\"===l;c&&(a=e.scope=\\\"usa\\\");var u=e._isScoped=\\\"world\\\"!==a,f=e._isConic=-1!==l.indexOf(\\\"conic\\\");e._isClipped=!!i.lonaxisSpan[l];for(var h=0;h<o.length;h++){var p,d=o[h],g=[30,10][h];if(u)p=s[d+\\\"Range\\\"];else{var m=i[d+\\\"Span\\\"],v=(m[l]||m[\\\"*\\\"])/2,y=r(\\\"projection.rotation.\\\"+d.substr(0,3),s.projRotate[h]);p=[y-v,y+v]}r(d+\\\".tick0\\\",r(d+\\\".range\\\",p)[0]),r(d+\\\".dtick\\\",g),r(d+\\\".showgrid\\\")&&(r(d+\\\".gridcolor\\\"),r(d+\\\".gridwidth\\\"))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_>0&&w<0&&(w+=360);var k,M,A,T=(_+w)/2;if(!c){var S=u?s.projRotate:[T,0,0];k=r(\\\"projection.rotation.lon\\\",S[0]),r(\\\"projection.rotation.lat\\\",S[1]),r(\\\"projection.rotation.roll\\\",S[2]),r(\\\"showcoastlines\\\",!u)&&(r(\\\"coastlinecolor\\\"),r(\\\"coastlinewidth\\\")),r(\\\"showocean\\\")&&r(\\\"oceancolor\\\")}(c?(M=-96.6,A=38.7):(M=u?T:k,A=(b[0]+b[1])/2),r(\\\"center.lon\\\",M),r(\\\"center.lat\\\",A),f)&&r(\\\"projection.parallels\\\",s.projParallels||[0,60]);r(\\\"projection.scale\\\"),r(\\\"showland\\\")&&r(\\\"landcolor\\\"),r(\\\"showlakes\\\")&&r(\\\"lakecolor\\\"),r(\\\"showrivers\\\")&&(r(\\\"rivercolor\\\"),r(\\\"riverwidth\\\")),r(\\\"showcountries\\\",u&&\\\"usa\\\"!==a)&&(r(\\\"countrycolor\\\"),r(\\\"countrywidth\\\")),(\\\"usa\\\"===a||\\\"north america\\\"===a&&50===n)&&(r(\\\"showsubunits\\\",!0),r(\\\"subunitcolor\\\"),r(\\\"subunitwidth\\\")),u||r(\\\"showframe\\\",!0)&&(r(\\\"framecolor\\\"),r(\\\"framewidth\\\")),r(\\\"bgcolor\\\")}e.exports=function(t,e,r){n(t,e,r,{type:\\\"geo\\\",attributes:a,handleDefaults:s,partition:\\\"y\\\"})}},{\\\"../../subplot_defaults\\\":724,\\\"../constants\\\":676,\\\"./layout_attributes\\\":681}],681:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"../../domain\\\").attributes,a=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\\\"},dtick:{valType:\\\"number\\\"},gridcolor:{valType:\\\"color\\\",dflt:n.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1}};e.exports=o({domain:i({name:\\\"geo\\\"},{}),resolution:{valType:\\\"enumerated\\\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\\\"enumerated\\\",values:Object.keys(a.scopeDefaults),dflt:\\\"world\\\"},projection:{type:{valType:\\\"enumerated\\\",values:Object.keys(a.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\\\"}},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:a.landColor},showocean:{valType:\\\"boolean\\\",dflt:!1},oceancolor:{valType:\\\"color\\\",dflt:a.waterColor},showlakes:{valType:\\\"boolean\\\",dflt:!1},lakecolor:{valType:\\\"color\\\",dflt:a.waterColor},showrivers:{valType:\\\"boolean\\\",dflt:!1},rivercolor:{valType:\\\"color\\\",dflt:a.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\\\")},{\\\"../../../components/color/attributes\\\":473,\\\"../../../plot_api/edit_types\\\":633,\\\"../../domain\\\":673,\\\"../constants\\\":676}],682:[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 i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\\\"not yet supported\\\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\\\"FeatureCollection\\\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\\\"Point\\\",coordinates:i[0]}:{type:\\\"MultiPoint\\\",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\\\"LineString\\\",coordinates:a[0]}:{type:\\\"MultiLineString\\\",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++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],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],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 f=1e-6,h=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),m=180/p;function v(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c<u;++c){var f=o[c];if(f[0][0]<=t&&t<f[1][0]&&f[0][1]<=a&&a<f[1][1]){var h=e.invert(t-e(s[c][1][0],0)[0],a);return h[0]+=s[c][1][0],l(i(h[0],h[1]),[t,a])?h:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<f&&Math.abs(t[1]-e[1])<f}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[f-e,u-e],[f-e,h+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:\\\"Polygon\\\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=v(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),v((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return M;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function M(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>f&&--i>0);return e/2}}M.invert=function(t,e){var r=2*v(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var C=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=v(i/e);return[n/(t*Math.cos(a)),v((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);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 x(C)}).raw=C,E.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(E)}).raw=E;var L=[[.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 z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function D(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function O(t,e){var r=D(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,v=f*(1-p*f*(1-2*p*f));if(v>=0||1===a){n=(e>=0?5:-5)*(v+i);var y,x=50;do{v=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+v*(l-o)/2+v*v*(l-2*s+o)/2)-e)*m}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+v*(w-b)/2+v*v*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,D.invert=function(t,e){if(!(t*t+4*e*e>p*p+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),h=Math.sin(2*n),d=c*c,g=u*u,m=s*s,v=1-g*l*l,x=v?y(u*l)*Math.sqrt(a=1/v):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),k=a*(.5*o*h-2*x*c*s),M=.25*a*(h*s-x*c*g*o),A=a*(d*l+x*m*u),T=k*M-A*w;if(!T)break;var S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(D)}).raw=D,O.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),m=g*g,v=1-u*p*p,x=v?y(o*p)*Math.sqrt(a=1/v):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),M=.125*a*(l*g-x*s*u*h),A=.5*a*(c*p+x*m*o)+.5,T=k*M-A*w,S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(O)}).raw=O}},{}],683:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=Math.PI/180,o=180/Math.PI,s={cursor:\\\"pointer\\\"},l={cursor:\\\"auto\\\"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function u(t,e,r){var n=t.id,a=t.graphDiv,o=a.layout[n],s=a._fullLayout[n],l={};function c(t,e){var r=i.nestedProperty(s,t);r.get()!==e&&(r.set(e),i.nestedProperty(o,t).set(e),l[n+\\\".\\\"+t]=e)}r(c),c(\\\"projection.scale\\\",e.scale()/t.fitScale),a.emit(\\\"plotly_relayout\\\",l)}function f(t,e){var r=c(0,e);function i(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(s)}).on(\\\"zoom\\\",function(){e.scale(n.event.scale).translate(n.event.translate),t.render()}).on(\\\"zoomend\\\",function(){n.select(this).style(l),u(t,e,i)}),r}function h(t,e){var r,i,a,o,f,h,p,d,g=c(0,e),m=2;function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r(\\\"projection.rotation.lon\\\",-n[0]),r(\\\"center.lon\\\",i[0]),r(\\\"center.lat\\\",i[1])}return g.on(\\\"zoomstart\\\",function(){n.select(this).style(s),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,f=v(r)}).on(\\\"zoom\\\",function(){if(h=n.mouse(this),l=e(v(s=r)),Math.abs(l[0]-s[0])>m||Math.abs(l[1]-s[1])>m)return g.scale(e.scale()),void g.translate(e.translate());var s,l;e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),f?v(h)&&(d=v(h),p=[o[0]+(d[0]-f[0]),i[1],i[2]],e.rotate(p),o=p):f=v(r=h),t.render()}).on(\\\"zoomend\\\",function(){n.select(this).style(l),u(t,e,y)}),g}function p(t,e){var r,i={r:e.rotate(),k:e.scale()},f=c(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(f,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\"),p=0,m=f.on;function x(t){var r=e.rotate();t(\\\"projection.rotation.lon\\\",-r[0]),t(\\\"projection.rotation.lat\\\",-r[1])}return f.on(\\\"zoomstart\\\",function(){n.select(this).style(s);var t,l,c,u,x,b,_,w,k,M,A,T=n.mouse(this),S=e.rotate(),C=S,E=e.translate(),L=(l=.5*(t=S)[0]*a,c=.5*t[1]*a,u=.5*t[2]*a,x=Math.sin(l),b=Math.cos(l),_=Math.sin(c),w=Math.cos(c),k=Math.sin(u),M=Math.cos(u),[b*w*M+x*_*k,x*w*M-b*_*k,b*_*M+x*w*k,b*w*k-x*_*M]);r=d(e,T),m.call(f,\\\"zoom\\\",function(){var t,a,s,l,c,u,f,p,m,x,b=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(d(e,b)){e.rotate(S).translate(E);var _=d(e,b),w=function(t,e){if(!t||!e)return;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(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*o,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*o,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*o]}((a=w,s=(t=L)[0],l=t[1],c=t[2],u=t[3],f=a[0],p=a[1],m=a[2],x=a[3],[s*f-l*p-c*m-u*x,s*p+l*f+c*x-u*m,s*m-l*x+c*f+u*p,s*x+l*m-c*p+u*f])),M=i.r=function(t,e,r){var n=v(e,2,t[0]);n=v(n=v(n,1,t[1]),0,t[2]-r[2]);var i,a,s=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,s)*o,d=Math.sqrt(s*s+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*o-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,y=(Math.atan2(h,u)-Math.atan2(c,i))*o,x=(Math.atan2(h,u)-Math.atan2(c,-i))*o,b=g(r[0],r[1],a,y),_=g(r[0],r[1],m,x);return b<=_?[a,y,r[2]]:[m,x,r[2]]}(k,r,C);isFinite(M[0])&&isFinite(M[1])&&isFinite(M[2])||(M=C),e.rotate(M),C=M}}else r=d(e,T=b);h.of(this,arguments)({type:\\\"zoom\\\"})}),A=h.of(this,arguments),p++||A({type:\\\"zoomstart\\\"})}).on(\\\"zoomend\\\",function(){var r;n.select(this).style(l),m.call(f,\\\"zoom\\\",null),r=h.of(this,arguments),--p||r({type:\\\"zoomend\\\"}),u(t,e,x)}).on(\\\"zoom.redraw\\\",function(){t.render()}),n.rebind(f,h,\\\"on\\\")}function d(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*a,r=t[1]*a,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*a,i=t.slice(),o=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=t[o]*l-t[s]*c,i[s]=t[s]*l+t[o]*c,i}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?p:h)(t,r)}},{\\\"../../lib\\\":602,d3:130}],684:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../registry\\\"),i=t(\\\"./cartesian/constants\\\").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r=\\\"string\\\"==typeof e?n.getModule(e).plot:\\\"function\\\"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(\\\"gl2d\\\"===e){var u=r.match(i);o=\\\"x\\\"+u[1],s=\\\"y\\\"+u[2]}for(var f=0;f<t.length;f++)a=t[f],\\\"gl2d\\\"===e&&n.traceIs(a,\\\"gl2d\\\")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c},r.getUidsFromCalcData=function(t){for(var e={},r=0;r<t.length;r++){e[t[r][0].trace.uid]=1}return e}},{\\\"../registry\\\":732,\\\"./cartesian/constants\\\":653}],685:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mouse-change\\\"),i=t(\\\"mouse-wheel\\\"),a=t(\\\"mouse-event-offset\\\"),o=t(\\\"../cartesian/constants\\\"),s=t(\\\"has-passive-events\\\");e.exports=function(t){var e=t.mouseContainer,r=t.glplot,l=new function(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,r);function c(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function u(e,n,i){var a,s,u=t.calcDataBox(),f=r.viewBox,h=l.lastPos[0],p=l.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(u[e]=i,u[e+2]=a,l.dataBox=u,t.setRanges(u)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case\\\"zoom\\\":if(e){var v=n/(f[2]-f[0])*(u[2]-u[0])+u[0],y=i/(f[3]-f[1])*(u[3]-u[1])+u[1];l.boxInited||(l.boxStart[0]=v,l.boxStart[1]=y,l.dragStart[0]=n,l.dragStart[1]=i),l.boxEnd[0]=v,l.boxEnd[1]=y,l.boxInited=!0,l.boxEnabled||l.boxStart[0]===l.boxEnd[0]&&l.boxStart[1]===l.boxEnd[1]||(l.boxEnabled=!0);var x=Math.abs(l.dragStart[0]-n)<g,b=Math.abs(l.dragStart[1]-i)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(l.boxEnd[0]=l.boxStart[0]),b&&(l.boxEnd[1]=l.boxStart[1]);else{a=l.boxEnd[0]-l.boxStart[0],s=l.boxEnd[1]-l.boxStart[1];var _=(u[3]-u[1])/(u[2]-u[0]);Math.abs(a*_)>Math.abs(s)?(l.boxEnd[1]=l.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),l.boxEnd[1]<u[1]?(l.boxEnd[1]=u[1],l.boxEnd[0]=l.boxStart[0]+(u[1]-l.boxStart[1])/Math.abs(_)):l.boxEnd[1]>u[3]&&(l.boxEnd[1]=u[3],l.boxEnd[0]=l.boxStart[0]+(u[3]-l.boxStart[1])/Math.abs(_))):(l.boxEnd[0]=l.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),l.boxEnd[0]<u[0]?(l.boxEnd[0]=u[0],l.boxEnd[1]=l.boxStart[1]+(u[0]-l.boxStart[0])*Math.abs(_)):l.boxEnd[0]>u[2]&&(l.boxEnd[0]=u[2],l.boxEnd[1]=l.boxStart[1]+(u[2]-l.boxStart[0])*Math.abs(_)))}}else l.boxEnabled?(a=l.boxStart[0]!==l.boxEnd[0],s=l.boxStart[1]!==l.boxEnd[1],a||s?(a&&(m(0,l.boxStart[0],l.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,l.boxStart[1],l.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),l.boxEnabled=!1,l.boxInited=!1):l.boxInited&&(l.boxInited=!1);break;case\\\"pan\\\":l.boxEnabled=!1,l.boxInited=!1,e?(l.panning||(l.dragStart[0]=n,l.dragStart[1]=i),Math.abs(l.dragStart[0]-n)<d&&(n=l.dragStart[0]),Math.abs(l.dragStart[1]-i)<d&&(i=l.dragStart[1]),a=(h-n)*(u[2]-u[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(u[3]-u[1])/(r.viewBox[3]-r.viewBox[1]),u[0]+=a,u[2]+=a,u[1]+=s,u[3]+=s,t.setRanges(u),l.panning=!0,l.lastInputTime=Date.now(),c(),t.cameraChanged(),t.handleAnnotations()):l.panning&&(l.panning=!1,t.relayoutCallback())}l.lastPos[0]=n,l.lastPos[1]=i}return l.mouseListener=n(e,u),e.addEventListener(\\\"touchstart\\\",function(t){var r=a(t.changedTouches[0],e);u(0,r[0],r[1]),u(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\\\"touchmove\\\",function(t){t.preventDefault();var r=a(t.changedTouches[0],e);u(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\\\"touchend\\\",function(t){u(0,l.lastPos[0],l.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),l.wheelListener=i(e,function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=l.lastPos[0],s=l.lastPos[1],u=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*u+f,i[2]=(i[2]-f)*u+f,i[1]=(i[1]-h)*u+h,i[3]=(i[3]-h)*u+h,t.setRanges(i),l.lastInputTime=Date.now(),c(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),l}},{\\\"../cartesian/constants\\\":653,\\\"has-passive-events\\\":297,\\\"mouse-change\\\":320,\\\"mouse-event-offset\\\":321,\\\"mouse-wheel\\\":323}],686:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../cartesian/axes\\\"),i=t(\\\"../../lib/html2unicode\\\"),a=t(\\\"../../lib/str2rgbarray\\\");function o(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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var s=o.prototype,l=[\\\"xaxis\\\",\\\"yaxis\\\"];s.merge=function(t){var e,r,n,o,s,c,u,f,h,p,d;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),p=0;p<2;++p){var g=(e=l[p]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[g]?\\\"\\\":r.title,d=0;d<=2;d+=2)this.labelEnable[p+d]=!1,this.labels[p+d]=i(n),this.labelColor[p+d]=a(r.titlefont.color),this.labelFont[p+d]=r.titlefont.family,this.labelSize[p+d]=r.titlefont.size,this.labelPad[p+d]=this.getLabelPad(e,r),this.tickEnable[p+d]=!1,this.tickColor[p+d]=a((r.tickfont||{}).color),this.tickAngle[p+d]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[p+d]=this.getTickPad(r),this.tickMarkLength[p+d]=0,this.tickMarkWidth[p+d]=r.tickwidth||0,this.tickMarkColor[p+d]=a(r.tickcolor),this.borderLineEnable[p+d]=!1,this.borderLineColor[p+d]=a(r.linecolor),this.borderLineWidth[p+d]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&&!u,c=this.hasAxisInAltrPos(e,r)&&!u,o=r.mirror||!1,f=u?-1!==String(o).indexOf(\\\"all\\\"):!!o,h=u?\\\"allticks\\\"===o:-1!==String(o).indexOf(\\\"ticks\\\"),s?this.labelEnable[p]=!0:c&&(this.labelEnable[p+2]=!0),s?this.tickEnable[p]=r.showticklabels:c&&(this.tickEnable[p+2]=r.showticklabels),(s||f)&&(this.borderLineEnable[p]=r.showline),(c||f)&&(this.borderLineEnable[p+2]=r.showline),(s||h)&&(this.tickMarkLength[p]=this.getTickMarkLength(r)),(c||h)&&(this.tickMarkLength[p+2]=this.getTickMarkLength(r)),this.gridLineEnable[p]=r.showgrid,this.gridLineColor[p]=a(r.gridcolor),this.gridLineWidth[p]=r.gridwidth,this.zeroLineEnable[p]=r.zeroline,this.zeroLineColor[p]=a(r.zerolinecolor),this.zeroLineWidth[p]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"bottom\\\"===r:\\\"yaxis\\\"===t?\\\"left\\\"===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"top\\\"===r:\\\"yaxis\\\"===t?\\\"right\\\"===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.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},s.getTickPad=function(t){return\\\"outside\\\"===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\\\"inside\\\"===t.ticks?-e:e},e.exports=function(t){return new o(t)}},{\\\"../../lib/html2unicode\\\":600,\\\"../../lib/str2rgbarray\\\":625,\\\"../cartesian/axes\\\":648}],687:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/edit_types\\\").overrideAll,i=t(\\\"./scene2d\\\"),a=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:a.plot_bgcolor,hoverlabel:c.hoverlabel},\\\"plot\\\",\\\"nested\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,\\\"gl2d\\\",o),c=s._scene2d;void 0===c&&(c=new i({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 i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===u(t,\\\"gl2d\\\",o).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 i=e._plots[r[n]]._scene2d,a=i.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:o.svg,\\\"xlink:href\\\":a,x:0,y:0,width:\\\"100%\\\",height:\\\"100%\\\",preserveAspectRatio:\\\"none\\\"}),i.destroy()}},r.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r<e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}}},{\\\"../../components/fx/layout_attributes\\\":517,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../plot_api/edit_types\\\":633,\\\"../cartesian\\\":659,\\\"../cartesian/attributes\\\":646,\\\"../cartesian/constants\\\":653,\\\"../get_data\\\":684,\\\"../layout_attributes\\\":701,\\\"./scene2d\\\":688}],688:[function(t,e,r){\\\"use strict\\\";var n,i,a=t(\\\"../../registry\\\"),o=t(\\\"../../plots/cartesian/axes\\\"),s=t(\\\"../../components/fx\\\"),l=t(\\\"gl-plot2d\\\"),c=t(\\\"gl-spikes2d\\\"),u=t(\\\"gl-select-box\\\"),f=t(\\\"webgl-context\\\"),h=t(\\\"./convert\\\"),p=t(\\\"./camera\\\"),d=t(\\\"../../lib/html2unicode\\\"),g=t(\\\"../../lib/show_no_webgl_msg\\\"),m=t(\\\"../cartesian/constraints\\\"),v=m.enforce,y=m.clean,x=t(\\\"../cartesian/autorange\\\").doAutoRange,b=[\\\"xaxis\\\",\\\"yaxis\\\"],_=t(\\\"../cartesian/constants\\\").SUBPLOT_PATTERN;function w(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=h(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=w;var k=w.prototype;k.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement(\\\"canvas\\\"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"Error creating static canvas/context for image server\\\");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(\\\".gl-canvas-focus\\\"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||g(this),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 a=this.svgContainer=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\\\";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(a),s.appendChild(o);var l=this;o.addEventListener(\\\"mouseout\\\",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(\\\"mouseover\\\",function(){l.isMouseOver=!0})},k.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,i=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 a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\\\"canvas\\\");f.width=r,f.height=i;var h,p=f.getContext(\\\"2d\\\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\\\"jpeg\\\":h=f.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=f.toDataURL(\\\"image/webp\\\");break;default:h=f.toDataURL(\\\"image/png\\\")}return this.staticPlot&&this.container.removeChild(n),h},k.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},k.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=d(t[e][r].text+\\\"\\\");return t},k.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=\\\"xaxis\\\"+e[1],n=\\\"yaxis\\\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},k.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\\\"plotly_relayout\\\",i)},k.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],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].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())},k.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&&a.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")(t,r)}},k.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}},k.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 i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};y(s,this.xaxis),y(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+\\\"px\\\",this.mouseContainer.style.height=u.h*(h[1]-h[0])+\\\"px\\\",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+\\\"px\\\",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+\\\"px\\\",c=0;c<2;++c)(l=this[b[c]])._length=o.viewBox[c+2]-o.viewBox[c],x(l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},k.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},k.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},k.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},k.updateFx=function(t){\\\"lasso\\\"===t||\\\"select\\\"===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},k.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},k.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,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\\\"zoom\\\"===i.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 f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,\\\"plotly_click\\\"),a&&\\\"skip\\\"!==a.object._trace.hoverinfo&&i.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:a.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.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,i,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\\\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},k.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\\\"plotly_unhover\\\"),s.loneUnhover(this.svgContainer))},k.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),\\\"hover\\\").text}}},{\\\"../../components/fx\\\":516,\\\"../../lib/html2unicode\\\":600,\\\"../../lib/show_no_webgl_msg\\\":623,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../cartesian/autorange\\\":647,\\\"../cartesian/constants\\\":653,\\\"../cartesian/constraints\\\":655,\\\"./camera\\\":685,\\\"./convert\\\":686,\\\"gl-plot2d\\\":251,\\\"gl-select-box\\\":261,\\\"gl-spikes2d\\\":270,\\\"webgl-context\\\":436}],689:[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=i({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],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:\\\"rotate\\\",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,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=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)}};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(),i=c.computedCenter.slice();if(c.setMode(t),\\\"turntable\\\"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}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 f},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});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s=\\\"rotate\\\"===o,l=\\\"pan\\\"===o,u=\\\"zoom\\\"===o,h=!!a.control,p=!!a.alt,y=!!a.shift,x=!!(1&e),b=!!(2&e),_=!!(4&e),w=1/t.clientHeight,k=w*(r-g),M=w*(i-m),A=d.flipX?1:-1,T=d.flipY?1:-1,S=n(),C=Math.PI*d.rotateSpeed;if((s&&x&&!h&&!p&&!y||x&&!h&&!p&&y)&&c.rotate(S,A*C*k,-T*C*M,0),(l&&x&&!h&&!p&&!y||b||x&&h&&!p&&!y)&&c.pan(S,-d.translateSpeed*k*f,d.translateSpeed*M*f,0),u&&x&&!h&&!p&&!y||_||x&&!h&&p&&!y){var E=-d.zoomSpeed*M/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(E)-1))}return g=r,m=i,v=a,!0}}return d.mouseListener=a(t,y),t.addEventListener(\\\"touchstart\\\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(t){y(0,g,m,v),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),d};var n=t(\\\"right-now\\\"),i=t(\\\"3d-view\\\"),a=t(\\\"mouse-change\\\"),o=t(\\\"mouse-wheel\\\"),s=t(\\\"mouse-event-offset\\\"),l=t(\\\"has-passive-events\\\")},{\\\"3d-view\\\":41,\\\"has-passive-events\\\":297,\\\"mouse-change\\\":320,\\\"mouse-event-offset\\\":321,\\\"mouse-wheel\\\":323,\\\"right-now\\\":382}],690:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/edit_types\\\").overrideAll,i=t(\\\"../../components/fx/layout_attributes\\\"),a=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:i.hoverlabel},\\\"plot\\\",\\\"nested\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var l=n[i],c=o(r,\\\"gl3d\\\",l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!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,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._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._subplots.gl3d,r=0;r<e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}}},{\\\"../../components/fx/layout_attributes\\\":517,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"../get_data\\\":684,\\\"./layout/attributes\\\":691,\\\"./layout/defaults\\\":695,\\\"./layout/layout_attributes\\\":696,\\\"./scene\\\":700}],691:[function(t,e,r){\\\"use strict\\\";e.exports={scene:{valType:\\\"subplotid\\\",dflt:\\\"scene\\\",editType:\\\"calc+clearAxisTypes\\\"}}},{}],692:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color\\\"),i=t(\\\"../../cartesian/layout_attributes\\\"),a=t(\\\"../../../lib/extend\\\").extendFlat,o=t(\\\"../../../plot_api/edit_types\\\").overrideAll;e.exports=o({visible:i.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:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\\\"rgb(204, 204, 204)\\\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},\\\"plot\\\",\\\"from-root\\\")},{\\\"../../../components/color\\\":474,\\\"../../../lib/extend\\\":591,\\\"../../../plot_api/edit_types\\\":633,\\\"../../cartesian/layout_attributes\\\":660}],693:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"tinycolor2\\\").mix,i=t(\\\"../../../lib\\\"),a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../cartesian/type_defaults\\\"),s=t(\\\"../../cartesian/axis_defaults\\\"),l=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];e.exports=function(t,e,r){var c,u;function f(t,e){return i.coerce(c,u,a,t,e)}for(var h=0;h<l.length;h++){var p=l[h];c=t[p]||{},u=e[p]={_id:p[0]+r.scene,_name:p},o(c,u,f,r.data),s(c,u,f,{font:r.font,letter:p[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),f(\\\"gridcolor\\\",n(u.color,r.bgColor,13600/187).toRgbString()),f(\\\"title\\\",p[0]),u.setScale=i.noop,f(\\\"showspikes\\\")&&(f(\\\"spikesides\\\"),f(\\\"spikethickness\\\"),f(\\\"spikecolor\\\",u.color)),f(\\\"showaxeslabels\\\"),f(\\\"showbackground\\\")&&f(\\\"backgroundcolor\\\")}}},{\\\"../../../lib\\\":602,\\\"../../cartesian/axis_defaults\\\":650,\\\"../../cartesian/type_defaults\\\":671,\\\"./axis_attributes\\\":692,tinycolor2:415}],694:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib/html2unicode\\\"),i=t(\\\"../../../lib/str2rgbarray\\\"),a=[\\\"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.labelAngle=[0,0,0],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){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.labels[e]=n(r.title),\\\"titlefont\\\"in r&&(r.titlefont.color&&(this.labelColor[e]=i(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\\\"showline\\\"in r&&(this.lineEnable[e]=r.showline),\\\"linecolor\\\"in r&&(this.lineColor[e]=i(r.linecolor)),\\\"linewidth\\\"in r&&(this.lineWidth[e]=r.linewidth),\\\"showgrid\\\"in r&&(this.gridEnable[e]=r.showgrid),\\\"gridcolor\\\"in r&&(this.gridColor[e]=i(r.gridcolor)),\\\"gridwidth\\\"in r&&(this.gridWidth[e]=r.gridwidth),\\\"log\\\"===r.type?this.zeroEnable[e]=!1:\\\"zeroline\\\"in r&&(this.zeroEnable[e]=r.zeroline),\\\"zerolinecolor\\\"in r&&(this.zeroLineColor[e]=i(r.zerolinecolor)),\\\"zerolinewidth\\\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\\\"ticks\\\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\\\"ticklen\\\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\\\"tickcolor\\\"in r&&(this.lineTickColor[e]=i(r.tickcolor)),\\\"tickwidth\\\"in r&&(this.lineTickWidth[e]=r.tickwidth),\\\"tickangle\\\"in r&&(this.tickAngle[e]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180),\\\"showticklabels\\\"in r&&(this.tickEnable[e]=r.showticklabels),\\\"tickfont\\\"in r&&(r.tickfont.color&&(this.tickColor[e]=i(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\\\"mirror\\\"in r?-1!==[\\\"ticks\\\",\\\"all\\\",\\\"allticks\\\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\\\"showbackground\\\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=i(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new o;return e.merge(t),e}},{\\\"../../../lib/html2unicode\\\":600,\\\"../../../lib/str2rgbarray\\\":625}],695:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib\\\"),i=t(\\\"../../../components/color\\\"),a=t(\\\"../../../registry\\\"),o=t(\\\"../../subplot_defaults\\\"),s=t(\\\"./axis_defaults\\\"),l=t(\\\"./layout_attributes\\\");function c(t,e,r,n){for(var o=r(\\\"bgcolor\\\"),l=i.combine(o,n.paper_bgcolor),c=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],u=0;u<c.length;u++)r(\\\"camera.\\\"+c[u]+\\\".x\\\"),r(\\\"camera.\\\"+c[u]+\\\".y\\\"),r(\\\"camera.\\\"+c[u]+\\\".z\\\");var f=!!r(\\\"aspectratio.x\\\")&&!!r(\\\"aspectratio.y\\\")&&!!r(\\\"aspectratio.z\\\"),h=r(\\\"aspectmode\\\",f?\\\"manual\\\":\\\"auto\\\");f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\\\"manual\\\"===h&&(e.aspectmode=\\\"auto\\\"),t.aspectmode=e.aspectmode),s(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),a.getComponentMethod(\\\"annotations3d\\\",\\\"handleDefaults\\\")(t,e,n),r(\\\"dragmode\\\",n.getDfltFromLayout(\\\"dragmode\\\")),r(\\\"hovermode\\\",n.getDfltFromLayout(\\\"hovermode\\\"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:\\\"gl3d\\\",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\\\"../../../components/color\\\":474,\\\"../../../lib\\\":602,\\\"../../../registry\\\":732,\\\"../../subplot_defaults\\\":724,\\\"./axis_defaults\\\":693,\\\"./layout_attributes\\\":696}],696:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./axis_attributes\\\"),i=t(\\\"../../domain\\\").attributes,a=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:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),editType:\\\"camera\\\"},domain:i({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],dflt:\\\"turntable\\\",editType:\\\"plot\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"closest\\\",!1],dflt:\\\"closest\\\",editType:\\\"modebar\\\"},editType:\\\"plot\\\",_deprecated:{cameraposition:{valType:\\\"info_array\\\",editType:\\\"camera\\\"}}}},{\\\"../../../lib\\\":602,\\\"../../../lib/extend\\\":591,\\\"../../domain\\\":673,\\\"./axis_attributes\\\":692}],697:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib/str2rgbarray\\\"),i=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function a(){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]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[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 a;return e.merge(t),e}},{\\\"../../../lib/str2rgbarray\\\":625}],698:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u<3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f._input_range=f.range.slice(),f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(\\\"auto\\\"===f.tickmode){f.tickmode=\\\"linear\\\";var p=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var d=n.calcTicks(f),g=0;g<d.length;++g)d[g].x=d[g].x*t.dataScale[u],d[g].text=a(d[g].text);c[u]=d,f.tickmode=h}}e.ticks=c;for(var u=0;u<3;++u){s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]);for(var g=0;g<2;++g)e.bounds[g][u]=t.glplot.bounds[g][u]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(\\\"../../cartesian/axes\\\"),i=t(\\\"../../../lib\\\"),a=t(\\\"../../../lib/html2unicode\\\"),o=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],s=[0,0,0]},{\\\"../../../lib\\\":602,\\\"../../../lib/html2unicode\\\":600,\\\"../../cartesian/axes\\\":648}],699:[function(t,e,r){\\\"use strict\\\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],700:[function(t,e,r){\\\"use strict\\\";var n,i,a=t(\\\"gl-plot3d\\\"),o=t(\\\"webgl-context\\\"),s=t(\\\"has-passive-events\\\"),l=t(\\\"../../registry\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../plots/cartesian/axes\\\"),f=t(\\\"../../components/fx\\\"),h=t(\\\"../../lib/str2rgbarray\\\"),p=t(\\\"../../lib/show_no_webgl_msg\\\"),d=t(\\\"./camera\\\"),g=t(\\\"./project\\\"),m=t(\\\"./layout/convert\\\"),v=t(\\\"./layout/spikes\\\"),y=t(\\\"./layout/tick_marks\\\");function x(t,e,r,l){var h={canvas:r,gl:l,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(i||(n=document.createElement(\\\"canvas\\\"),i=o({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"error creating static canvas/context for image server\\\");h.pixelRatio=t.pixelRatio,h.gl=i,h.canvas=n}try{t.glplot=a(h)}catch(e){p(t)}var m=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\\\".camera\\\"]=A(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\\\"plotly_relayout\\\",e)}};if(t.glplot.canvas.addEventListener(\\\"mouseup\\\",m.bind(null,t)),t.glplot.canvas.addEventListener(\\\"wheel\\\",m.bind(null,t),!!s&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\\\"webglcontextlost\\\",function(t){c.warn(\\\"Lost WebGL context.\\\"),t.preventDefault()}),!t.camera){var v=t.fullSceneLayout.camera;t.camera=d(t.container,{center:[v.center.x,v.center.y,v.center.z],eye:[v.eye.x,v.eye.y,v.eye.z],up:[v.up.x,v.up.y,v.up.z],zoomMin:.1,zoomMax:100,mode:\\\"orbit\\\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 \\\"+i+\\\" \\\"+a),r.setAttributeNS(null,\\\"width\\\",i),r.setAttributeNS(null,\\\"height\\\",a),y(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,c=t.glplot.selection,h=0;h<s.length;++h)\\\"skip\\\"!==(e=t.traces[s[h]]).data.hoverinfo&&e.handlePick(c)&&(l=e),e.setContourLevels&&e.setContourLevels();function p(e,r){var n=t.fullSceneLayout[e];return u.tickText(n,n.d2l(r),\\\"hover\\\").text}if(null!==l){var d=g(t.glplot.cameraParams,c.dataCoordinate);e=l.data;var m=c.index,v=f.castHoverinfo(e,t.fullLayout,m),x=p(\\\"xaxis\\\",c.traceCoordinate[0]),b=p(\\\"yaxis\\\",c.traceCoordinate[1]),_=p(\\\"zaxis\\\",c.traceCoordinate[2]);if(\\\"all\\\"!==v){var w=v.split(\\\"+\\\");-1===w.indexOf(\\\"x\\\")&&(x=void 0),-1===w.indexOf(\\\"y\\\")&&(b=void 0),-1===w.indexOf(\\\"z\\\")&&(_=void 0),-1===w.indexOf(\\\"text\\\")&&(c.textLabel=void 0),-1===w.indexOf(\\\"name\\\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&f.loneHover({x:(.5+.5*d[0]/d[3])*i,y:(.5-.5*d[1]/d[3])*a,xLabel:x,yLabel:b,zLabel:_,text:c.textLabel,name:l.name,color:f.castHoverOption(e,m,\\\"bgcolor\\\")||l.color,borderColor:f.castHoverOption(e,m,\\\"bordercolor\\\"),fontFamily:f.castHoverOption(e,m,\\\"font.family\\\"),fontSize:f.castHoverOption(e,m,\\\"font.size\\\"),fontColor:f.castHoverOption(e,m,\\\"font.color\\\")},{container:r,gd:t.graphDiv});var k={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:m};f.appendArrayPointValue(k,e,m);var M={points:[k]};c.buttons&&c.distance<5?t.graphDiv.emit(\\\"plotly_click\\\",M):t.graphDiv.emit(\\\"plotly_hover\\\",M),o=M}else f.loneUnhover(r),t.graphDiv.emit(\\\"plotly_unhover\\\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function b(t,e){var r=document.createElement(\\\"div\\\"),n=t.container;this.graphDiv=t.graphDiv;var i=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\\\",r.appendChild(i),this.svgContainer=i,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=m(e[this.id]),this.spikeOptions=v(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=l.getComponentMethod(\\\"annotations3d\\\",\\\"convert\\\"),this.drawAnnotations=l.getComponentMethod(\\\"annotations3d\\\",\\\"draw\\\"),x(this)}var _=b.prototype;_.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):x(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):c.error(\\\"Catastrophic and unrecoverable WebGL error. Context lost.\\\")})};var w=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function k(t,e,r,n,i,a){var o;if(!c.isArrayOrTypedArray(e))return i[0][n]=Math.min(i[0][n],0),void(i[1][n]=Math.max(i[1][n],r-1));for(var s=0;s<(r||e.length);++s)if(c.isArrayOrTypedArray(e[s]))for(var l=0;l<e[s].length;++l)o=t.d2l(e[s][l],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o));else o=t.d2l(e[s],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o))}function M(t,e,r){var n=t.fullSceneLayout;k(n.xaxis,e.x,e._xlength,0,r,e.xcalendar),k(n.yaxis,e.y,e._ylength,1,r,e.ycalendar),k(n.zaxis,e.z,e._zlength,2,r,e.zcalendar)}function A(t){return{up:{x:t.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]}}}_.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=h(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&M(this,n,f);var p=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?p[o]=1:f[1][o]===f[0][o]?p[o]=1:p[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=p,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var d=Object.keys(this.traces);t:for(a=0;a<d.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===d[a]&&!0===t[o].visible)continue t;(i=this.traces[d[a]]).dispose(),delete this.traces[d[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],m=[],v={};for(a=0;a<3;++a){if((l=(s=c[w[a]]).type)in v?(v[l].acc*=p[a],v[l].count+=1):v[l]={acc:p[a],count:1},s.autorange){g[0][a]=1/0,g[1][a]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o].bounds;g[0][a]=Math.min(g[0][a],_[0][a]/p[a]),g[1][a]=Math.max(g[1][a],_[1][a]/p[a])}for(o=0;o<x.length;o++){var k=x[o];if(k.visible){var A=s.r2l(k[b]);g[0][a]=Math.min(g[0][a],A),g[1][a]=Math.max(g[1][a],A)}}if(\\\"rangemode\\\"in s&&\\\"tozero\\\"===s.rangemode&&(g[0][a]=Math.min(g[0][a],0),g[1][a]=Math.max(g[1][a],0)),g[0][a]>g[1][a])g[0][a]=-1,g[1][a]=1;else{var T=g[1][a]-g[0][a];g[0][a]-=T/32,g[1][a]+=T/32}}else{var S=s.range;g[0][a]=s.r2l(S[0]),g[1][a]=s.r2l(S[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var C=[1,1,1];for(a=0;a<3;++a){var E=v[l=(s=c[w[a]]).type];C[a]=Math.pow(E.acc,1/E.count)/p[a]}var L;if(\\\"auto\\\"===c.aspectmode)L=Math.max.apply(null,C)/Math.min.apply(null,C)<=4?C:[1,1,1];else if(\\\"cube\\\"===c.aspectmode)L=[1,1,1];else if(\\\"data\\\"===c.aspectmode)L=C;else{if(\\\"manual\\\"!==c.aspectmode)throw new Error(\\\"scene.js aspectRatio was not one of the enumerated types\\\");var z=c.aspectratio;L=[z.x,z.y,z.z]}c.aspectratio.x=u.aspectratio.x=L[0],c.aspectratio.y=u.aspectratio.y=L[1],c.aspectratio.z=u.aspectratio.z=L[2],this.glplot.aspect=L;var P=c.domain||null,D=e._size||null;if(P&&D){var O=this.container.style;O.position=\\\"absolute\\\",O.left=D.l+P.x[0]*D.w+\\\"px\\\",O.top=D.t+(1-P.y[1])*D.h+\\\"px\\\",O.width=D.w*(P.x[1]-P.x[0])+\\\"px\\\",O.height=D.h*(P.y[1]-P.y[0])+\\\"px\\\"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\\\"wheel\\\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),A(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).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]])},_.saveCamera=function(t){var e=this.getCamera(),r=c.nestedProperty(t,this.id+\\\".camera\\\"),n=r.get(),i=!1;function a(t,e,r,n){var i=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],a=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_.updateFx=function(t,e){var r=this.camera;r&&(\\\"orbit\\\"===t?(r.mode=\\\"orbit\\\",r.keyBindingMode=\\\"rotate\\\"):\\\"turntable\\\"===t?(r.up=[0,0,1],r.mode=\\\"turntable\\\",r.keyBindingMode=\\\"rotate\\\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_.toImage=function(t){t||(t=\\\"png\\\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\\\"canvas\\\");f.width=r,f.height=i;var h,p=f.getContext(\\\"2d\\\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\\\"jpeg\\\":h=f.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=f.toDataURL(\\\"image/webp\\\");break;default:h=f.toDataURL(\\\"image/png\\\")}return this.staticMode&&this.container.removeChild(n),h},_.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[w[t]];u.setConvert(e,this.fullLayout),e.setScale=c.noop}},e.exports=b},{\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../lib/show_no_webgl_msg\\\":623,\\\"../../lib/str2rgbarray\\\":625,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./camera\\\":689,\\\"./layout/convert\\\":694,\\\"./layout/spikes\\\":697,\\\"./layout/tick_marks\\\":698,\\\"./project\\\":699,\\\"gl-plot3d\\\":253,\\\"has-passive-events\\\":297,\\\"webgl-context\\\":436}],701:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./font_attributes\\\"),i=t(\\\"../components/color/attributes\\\"),a=n({editType:\\\"calc\\\"});a.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:\\\"string\\\",editType:\\\"layoutstyle\\\"},titlefont:n({editType:\\\"layoutstyle\\\"}),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\\\"}}},{\\\"../components/color/attributes\\\":473,\\\"./font_attributes\\\":674}],702:[function(t,e,r){\\\"use strict\\\";e.exports={requiredVersion:\\\"0.44.1\\\",styleUrlPrefix:\\\"mapbox://styles/mapbox/\\\",styleUrlSuffix:\\\"v9\\\",controlContainerClassName:\\\"mapboxgl-control-container\\\",wrongVersionErrorMsg:[\\\"Your custom plotly.js bundle is not using the correct mapbox-gl version\\\",\\\"Please install mapbox-gl@0.44.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\\\"),mapOnErrorMsg:\\\"Mapbox error.\\\",styleRules:{map:\\\"overflow:hidden;position:relative;\\\",\\\"missing-css\\\":\\\"display:none\\\"}}},{}],703:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){var r=t.split(\\\" \\\"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\\\"\\\",\\\"\\\"],u=[0,0];switch(i){case\\\"top\\\":c[0]=\\\"top\\\",u[1]=-l;break;case\\\"bottom\\\":c[0]=\\\"bottom\\\",u[1]=l}switch(a){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\\\":602}],704:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mapbox-gl\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/get_data\\\").getSubplotCalcData,o=t(\\\"../../constants/xmlns_namespaces\\\"),s=t(\\\"./mapbox\\\"),l=t(\\\"./constants\\\");for(var c in l.styleRules)i.addStyleRule(\\\".mapboxgl-\\\"+c,l.styleRules[c]);r.name=\\\"mapbox\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"mapbox\\\",r.idRegex=r.attrRegex=i.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!==l.requiredVersion)throw new Error(l.wrongVersionErrorMsg);var c=function(t,e){var r=t._fullLayout;if(\\\"\\\"===t._context.mapboxAccessToken)return\\\"\\\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(l.noAccessTokenErrorMsg)}(t,o);n.accessToken=c;for(var u=0;u<o.length;u++){var f=o[u],h=a(r,\\\"mapbox\\\",f),p=e[f],d=p._subplot;d||(d=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=d),d.viewInitial||(d.viewInitial={center:i.extendFlat({},p.center),zoom:p.zoom,bearing:p.bearing,pitch:p.pitch}),d.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!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,i=0;i<r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:o.svg,\\\"xlink:href\\\":c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:\\\"none\\\"}),l.destroy()}},r.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r<e.length;r++){t[e[r]]._subplot.updateFx(t)}}},{\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"./constants\\\":702,\\\"./layout_attributes\\\":706,\\\"./layout_defaults\\\":707,\\\"./mapbox\\\":708,\\\"mapbox-gl\\\":311}],705:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./convert_text_opts\\\");function a(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\\\"-layer\\\"+e,this.idSource=this.uid+\\\"-source\\\",this.idLayer=this.uid+\\\"-layer\\\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var o=a.prototype;function s(t){var e=t.source;return n.isPlainObject(e)||\\\"string\\\"==typeof e&&e.length>0}function l(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});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}),n.extendFlat(r,{\\\"icon-color\\\":t.color,\\\"text-color\\\":a.textfont.color,\\\"text-opacity\\\":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(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\\\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\\\"source-layer\\\":t.sourcelayer||\\\"\\\",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",e.layout),this.mapbox.setOptions(this.idLayer,\\\"setPaintProperty\\\",e.paint)}},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{\\\"../../lib\\\":602,\\\"./convert_text_opts\\\":703}],706:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\").defaultLine,a=t(\\\"../domain\\\").attributes,o=t(\\\"../font_attributes\\\"),s=t(\\\"../../traces/scatter/attributes\\\").textposition,l=t(\\\"../../plot_api/edit_types\\\").overrideAll,c=o({});c.family.dflt=\\\"Open Sans Regular, Arial Unicode MS Regular\\\",e.exports=l({_arrayAttrRegexps:[n.counterRegex(\\\"mapbox\\\",\\\".layers\\\",!0)],domain:a({name:\\\"mapbox\\\"}),accesstoken:{valType:\\\"string\\\",noBlank:!0,strict:!0},style:{valType:\\\"any\\\",values:[\\\"basic\\\",\\\"streets\\\",\\\"outdoors\\\",\\\"light\\\",\\\"dark\\\",\\\"satellite\\\",\\\"satellite-streets\\\"],dflt:\\\"basic\\\"},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:{_isLinkedToArray:\\\"layer\\\",sourcetype:{valType:\\\"enumerated\\\",values:[\\\"geojson\\\",\\\"vector\\\"],dflt:\\\"geojson\\\"},source:{valType:\\\"any\\\"},sourcelayer:{valType:\\\"string\\\",dflt:\\\"\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"line\\\",\\\"fill\\\",\\\"symbol\\\"],dflt:\\\"circle\\\"},below:{valType:\\\"string\\\",dflt:\\\"\\\"},color:{valType:\\\"color\\\",dflt:i},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},circle:{radius:{valType:\\\"number\\\",dflt:15}},line:{width:{valType:\\\"number\\\",dflt:2}},fill:{outlinecolor:{valType:\\\"color\\\",dflt:i}},symbol:{icon:{valType:\\\"string\\\",dflt:\\\"marker\\\"},iconsize:{valType:\\\"number\\\",dflt:10},text:{valType:\\\"string\\\",dflt:\\\"\\\"},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},\\\"plot\\\",\\\"from-root\\\")},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"../../traces/scatter/attributes\\\":926,\\\"../domain\\\":673,\\\"../font_attributes\\\":674}],707:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../subplot_defaults\\\"),a=t(\\\"./layout_attributes\\\");function o(t,e,r,i){r(\\\"accesstoken\\\",i.accessToken),r(\\\"style\\\"),r(\\\"center.lon\\\"),r(\\\"center.lat\\\"),r(\\\"zoom\\\"),r(\\\"bearing\\\"),r(\\\"pitch\\\"),function(t,e){var r,i,o=t.layers||[],s=e.layers=[];function l(t,e){return n.coerce(r,i,a.layers,t,e)}for(var c=0;c<o.length;c++)if(r=o[c],i={},n.isPlainObject(r)){var u=l(\\\"sourcetype\\\");l(\\\"source\\\"),\\\"vector\\\"===u&&l(\\\"sourcelayer\\\");var f=l(\\\"type\\\");l(\\\"below\\\"),l(\\\"color\\\"),l(\\\"opacity\\\"),\\\"circle\\\"===f&&l(\\\"circle.radius\\\"),\\\"line\\\"===f&&l(\\\"line.width\\\"),\\\"fill\\\"===f&&l(\\\"fill.outlinecolor\\\"),\\\"symbol\\\"===f&&(l(\\\"symbol.icon\\\"),l(\\\"symbol.iconsize\\\"),l(\\\"symbol.text\\\"),n.coerceFont(l,\\\"symbol.textfont\\\"),l(\\\"symbol.textposition\\\")),i._index=c,s.push(i)}}(t,e),e._input=t}e.exports=function(t,e,r){i(t,e,r,{type:\\\"mapbox\\\",attributes:a,handleDefaults:o,partition:\\\"y\\\",accessToken:e._mapboxAccessToken})}},{\\\"../../lib\\\":602,\\\"../subplot_defaults\\\":724,\\\"./layout_attributes\\\":706}],708:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"mapbox-gl\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/dragelement\\\"),s=t(\\\"../cartesian/select\\\").prepSelect,l=t(\\\"./constants\\\"),c=t(\\\"./layout_attributes\\\"),u=t(\\\"./layers\\\");function f(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\\\"-\\\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var h=f.prototype;function p(t){var e=c.style.values,r=c.style.dflt,n={};return a.isPlainObject(t)?(n.id=t.id,n.style=t):\\\"string\\\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?d(t):t):(n.id=r,n.style=d(r)),n.transition={duration:0,delay:0},n}function d(t){return l.styleUrlPrefix+t+\\\"-\\\"+l.styleUrlSuffix}function g(t){return[t.lon,t.lat]}e.exports=function(t){return new f(t)},h.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},h.createMap=function(t,e,r,o){var s=this,c=s.gd,u=s.opts,f=s.styleObj=p(u.style);s.accessToken=u.accesstoken;var h=s.map=new n.Map({container:s.div,style:f.style,center:g(u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch,interactive:!s.isStatic,preserveDrawingBuffer:s.isStatic,doubleClickZoom:!1,boxZoom:!1}),d=l.controlContainerClassName,m=s.div.getElementsByClassName(d)[0];function v(){i.loneUnhover(e._toppaper)}s.div.removeChild(m),h._canvas.style.left=\\\"0px\\\",h._canvas.style.top=\\\"0px\\\",s.rejectOnError(o),h.once(\\\"load\\\",function(){s.updateData(t),s.updateLayout(e),s.resolveOnRender(r)}),s.isStatic||(h.on(\\\"moveend\\\",function(t){if(s.map){var e=s.getView();if(u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,t.originalEvent){var r={};r[s.id]=a.extendFlat({},e),c.emit(\\\"plotly_relayout\\\",r)}}}),h.on(\\\"mousemove\\\",function(t){var e=s.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},s.xaxis.p2c=function(){return t.lngLat.lng},s.yaxis.p2c=function(){return t.lngLat.lat},i.hover(c,t,s.id)}),h.on(\\\"click\\\",function(t){i.click(c,t.originalEvent)}),h.on(\\\"dragstart\\\",v),h.on(\\\"zoomstart\\\",v),h.on(\\\"dblclick\\\",function(){var t=s.viewInitial;h.setCenter(g(t.center)),h.setZoom(t.zoom),h.setBearing(t.bearing),h.setPitch(t.pitch);var e=s.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,c.emit(\\\"plotly_doubleclick\\\",null)}),s.clearSelect=function(){c._fullLayout._zoomlayer.selectAll(\\\".select-outline\\\").remove()})},h.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=p(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\\\"styledata\\\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},h.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},h.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(g(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},h.resolveOnRender=function(t){var e=this.map;e.on(\\\"render\\\",function r(){e.loaded()&&(e.off(\\\"render\\\",r),setTimeout(t,0))})},h.rejectOnError=function(t){var e=this.map;function r(){t(new Error(l.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)},h.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)},h.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,a=t.dragmode;if(i=\\\"select\\\"===a?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)},\\\"select\\\"===a||\\\"lasso\\\"===a){r.dragPan.disable(),r.on(\\\"zoomstart\\\",e.clearSelect);var l={element:e.div,gd:n,plotinfo:{xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id,prepFn:function(t,e,r){s(t,e,r,l,a)}};o.init(l)}else r.dragPan.enable(),r.off(\\\"zoomstart\\\",e.clearSelect),e.div.onmousedown=null}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},h.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])},h.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(u(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},h.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},h.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},h.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},h.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},h.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\\\"../../components/dragelement\\\":496,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../cartesian/select\\\":665,\\\"./constants\\\":702,\\\"./layers\\\":705,\\\"./layout_attributes\\\":706,\\\"mapbox-gl\\\":311}],709:[function(t,e,r){\\\"use strict\\\";e.exports={t:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},r:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},b:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},l:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"}},{}],710:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../registry\\\"),o=t(\\\"../plot_api/plot_schema\\\"),s=t(\\\"../lib\\\"),l=t(\\\"../components/color\\\"),c=t(\\\"../constants/numerical\\\").BADNUM,u=t(\\\"../plots/cartesian/axis_ids\\\"),f=t(\\\"./sort_modules\\\").sortBasePlotModules,h=t(\\\"./animation_attributes\\\"),p=t(\\\"./frame_attributes\\\"),d=s.relinkPrivateKeys,g=s._,m=e.exports={};s.extendFlat(m,a),m.attributes=t(\\\"./attributes\\\"),m.attributes.type.values=m.allTypes,m.fontAttrs=t(\\\"./font_attributes\\\"),m.layoutAttributes=t(\\\"./layout_attributes\\\"),m.fontWeight=\\\"normal\\\";var v=m.transformsRegistry,y=t(\\\"./command\\\");m.executeAPICommand=y.executeAPICommand,m.computeAPICommandBindings=y.computeAPICommandBindings,m.manageCommandObserver=y.manageCommandObserver,m.hasSimpleAPICommandBindings=y.hasSimpleAPICommandBindings,m.redrawText=function(t){if(!((t=s.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){a.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),a.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(m.previousPromises(t))},300)})},m.resize=function(t){return t=s.getGraphDiv(t),new Promise(function(e,r){t&&!function(t){var e=window.getComputedStyle(t).display;return!e||\\\"none\\\"===e}(t)||r(new Error(\\\"Resize must be passed a displayed plot div element.\\\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,a.call(\\\"relayout\\\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},m.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},m.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=s.ensureSingle(e._paper,\\\"text\\\",\\\"js-plot-link-container\\\",function(t){t.style({\\\"font-family\\\":'\\\"Open Sans\\\", Arial, sans-serif',\\\"font-size\\\":\\\"12px\\\",fill:l.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)})}),i=r.node(),a={y:e._paper.attr(\\\"height\\\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\\\"text-anchor\\\"]=\\\"start\\\",a.x=5):(a[\\\"text-anchor\\\"]=\\\"end\\\",a.x=e._paper.attr(\\\"width\\\")-7),r.attr(a);var o=r.select(\\\".js-link-to-tool\\\"),c=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(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split(\\\"/\\\"),i=window.location.search;r.attr({\\\"xlink:xlink:show\\\":\\\"new\\\",\\\"xlink:xlink:href\\\":\\\"/\\\"+n[2].split(\\\".\\\")[0]+\\\"/\\\"+n[1]+i})}}(t,o),c.text(o.text()&&u.text()?\\\" - \\\":\\\"\\\")}},m.sendDataToCloud=function(t){t.emit(\\\"plotly_beforeexport\\\");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\\\"https://plot.ly\\\",r=n.select(t).append(\\\"div\\\").attr(\\\"id\\\",\\\"hiddenform\\\").style(\\\"display\\\",\\\"none\\\"),i=r.append(\\\"form\\\").attr({action:e+\\\"/external\\\",method:\\\"post\\\",target:\\\"_blank\\\"});return i.append(\\\"input\\\").attr({type:\\\"text\\\",name:\\\"data\\\"}).node().value=m.graphJson(t,!1,\\\"keepdata\\\"),i.node().submit(),r.remove(),t.emit(\\\"plotly_afterexport\\\"),!1};var x,b=[\\\"days\\\",\\\"shortDays\\\",\\\"months\\\",\\\"shortMonths\\\",\\\"periods\\\",\\\"dateTime\\\",\\\"date\\\",\\\"time\\\",\\\"decimal\\\",\\\"thousands\\\",\\\"grouping\\\",\\\"currency\\\"],_=[\\\"year\\\",\\\"month\\\",\\\"dayMonth\\\",\\\"dayMonthYear\\\"];function w(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[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=a.localeRegistry}var f=r.split(\\\"-\\\")[0];if(n||f===r)break;r=f}return n||o(a.localeRegistry.en.format),i}function k(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=v[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function M(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}m.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,i=t._fullLayout||{};if(i._skipDefaults)delete i._skipDefaults;else{var o,l=t._fullLayout={},c=t.layout||{},h=t._fullData||[],p=t._fullData=[],v=t.data||[],y=t.calcdata||[],k=t._context||{};t._transitionData||m.createTransitionData(t),l._dfltTitle={plot:g(t,\\\"Click to enter Plot title\\\"),x:g(t,\\\"Click to enter X axis title\\\"),y:g(t,\\\"Click to enter Y axis title\\\"),colorbar:g(t,\\\"Click to enter Colorscale title\\\"),annotation:g(t,\\\"new text\\\")},l._traceWord=g(t,\\\"trace\\\");var M=w(t,b);if(l._mapboxAccessToken=k.mapboxAccessToken,i._initialAutoSizeIsDone){var A=i.width,T=i.height;m.supplyLayoutGlobalDefaults(c,l,M),c.width||(l.width=A),c.height||(l.height=T)}else{m.supplyLayoutGlobalDefaults(c,l,M);var S=!c.width||!c.height,C=l.autosize,E=k.autosizable;S&&(C||E)?m.plotAutoSize(t,c,l):S&&m.sanitizeMargins(t),!C&&S&&(c.width=l.width,c.height=l.height)}l._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(M,l.separators),l._extraFormat=w(t,_),l._initialAutoSizeIsDone=!0,l._dataLength=v.length,l._modules=[],l._basePlotModules=[];var L=l._subplots=function(){var t,e,r={};if(!x){x=[];var n=a.subplotsRegistry;for(var i in n){var o=n[i],l=o.attr;if(l&&(x.push(i),Array.isArray(l)))for(e=0;e<l.length;e++)s.pushUnique(x,l[e])}}for(t=0;t<x.length;t++)r[x[t]]=[];return r}(),z=l._splomAxes={x:{},y:{}},P=l._splomSubplots={};l._requestRangeslider={},l._globalTransforms=(t._context||{}).globalTransforms,m.supplyDataDefaults(v,p,c,l);var D=Object.keys(z.x),O=Object.keys(z.y);if(D.length>1&&O.length>1){for(a.getComponentMethod(\\\"grid\\\",\\\"sizeDefaults\\\")(c,l),o=0;o<D.length;o++)s.pushUnique(L.xaxis,D[o]);for(o=0;o<O.length;o++)s.pushUnique(L.yaxis,O[o]);for(var I in P)s.pushUnique(L.cartesian,I)}l._has=m._hasPlotType.bind(l);var R=l._modules;for(o=0;o<R.length;o++){var B=R[o];B.cleanData&&B.cleanData(p)}if(h.length===p.length)for(o=0;o<p.length;o++)d(p[o],h[o]);m.supplyLayoutModuleDefaults(c,l,p,t._transitionData),l._hasOnlyLargeSploms=1===l._basePlotModules.length&&\\\"splom\\\"===l._basePlotModules[0].name&&D.length>15&&O.length>15&&0===l.shapes.length&&0===l.images.length,l._hasCartesian=l._has(\\\"cartesian\\\"),l._hasGeo=l._has(\\\"geo\\\"),l._hasGL3D=l._has(\\\"gl3d\\\"),l._hasGL2D=l._has(\\\"gl2d\\\"),l._hasTernary=l._has(\\\"ternary\\\"),l._hasPie=l._has(\\\"pie\\\"),m.linkSubplots(p,l,h,i),m.cleanPlot(p,l,h,i,y),d(l,i),m.doAutoMargin(t);var F=u.list(t);for(o=0;o<F.length;o++){F[o].setScale()}r||y.length!==p.length||m.supplyDefaultsUpdateCalc(y,p),l._basePlotModules.sort(f)}},m.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t[r][0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,l,c,u=a._arrayAttrs;for(o=0;o<u.length;o++)l=u[o],c=s.nestedProperty(a,l).get().slice(),s.nestedProperty(n,l).set(c)}i.trace=n}}},m.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=[])},m._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 i=n[e].name;if(i===t)return!0;var o=a.modules[i];if(o&&o.categories[t])return!0}return!1},m.cleanPlot=function(t,e,r,n,i){var a,o,s=n._basePlotModules||[];for(a=0;a<s.length;a++){var l=s[a];l.clean&&l.clean(t,e,r,n,i)}var c=n._has&&n._has(\\\"gl\\\"),u=e._has&&e._has(\\\"gl\\\");c&&!u&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),n._glcanvas=null);var f=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(o=0;o<t.length;o++){if(h===t[o].uid)continue t}f&&n._infolayer.select(\\\".cb\\\"+h).remove()}n._zoomlayer&&n._zoomlayer.selectAll(\\\".select-outline\\\").remove()},m.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},c=e._plots={},f=e._subplots,h={_fullData:t,_fullLayout:e},p=f.cartesian.concat(f.gl2d||[]);for(i=0;i<p.length;i++){var d,g=l[o=p[i]],m=u.getFromId(h,o,\\\"x\\\"),v=u.getFromId(h,o,\\\"y\\\");for(g?((d=c[o]=g).xaxis.layer!==m.layer&&(d.xlines.attr(\\\"d\\\",null),d.xaxislayer.selectAll(\\\"*\\\").remove()),d.yaxis.layer!==v.layer&&(d.ylines.attr(\\\"d\\\",null),d.yaxislayer.selectAll(\\\"*\\\").remove())):(d=c[o]={}).id=o,d.xaxis=m,d.yaxis=v,d._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var y=t[a];if(y.xaxis===d.xaxis._id&&y.yaxis===d.yaxis._id&&!1===y.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var x=u.list(h,null,!0);for(i=0;i<x.length;i++){var b=null;(s=x[i]).overlaying&&(b=u.getFromId(h,s.overlaying))&&b.overlaying&&(s.overlaying=!1,b=null),s._mainAxis=b||s,b&&(s.domain=b.domain.slice()),s._anchorAxis=\\\"free\\\"===s.anchor?null:u.getFromId(h,s.anchor)}for(i=0;i<x.length;i++){var _=\\\"x\\\"===(s=x[i])._id.charAt(0),w=s._mainAxis._anchorAxis,k=\\\"\\\",M=\\\"\\\",A=\\\"\\\";if(w&&(A=w._mainAxis._id,k=_?s._id+A:A+s._id),!k||!c[k])for(k=\\\"\\\",a=0;a<p.length;a++){var T=(o=p[a]).indexOf(\\\"y\\\"),S=_?o.substr(0,T):o.substr(T),C=_?o.substr(T):o.substr(0,T);if(S===s._id){M||(M=o);var E=u.getFromId(h,C);if(A&&E.overlaying===A){k=o;break}}}s._mainSubplot=k||M}},m.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,i,a){r[a]=n,r.length=a+1,\\\"color\\\"===t.valType&&void 0===t.dflt&&e.push(r.join(\\\".\\\"))})),n=0;n<e.length;n++){s.nestedProperty(t,\\\"_input.\\\"+e[n]).get()||s.nestedProperty(t,e[n]).set(null)}},m.supplyDataDefaults=function(t,e,r,n){var i,o,l,c=n._modules,u=n._basePlotModules,f=0,h=0;function p(t){e.push(t);var r=t._module;r&&(!0===t.visible&&s.pushUnique(c,r),s.pushUnique(u,t._module.basePlotModule),f++,!1!==t._input.visible&&h++)}n._transformModules=[];var g={},v=[];for(i=0;i<t.length;i++){if(l=t[i],(o=m.supplyTraceDefaults(l,h,n,i)).index=i,o._input=l,o._expandedIndex=f,o.transforms&&o.transforms.length)for(var y=k(o,e,r,n),x=0;x<y.length;x++){var b=y[x],_=m.supplyTraceDefaults(b,f,n,i);d(_,b),b.uid=_.uid=o.uid+x,_.index=i,_._input=l,_._fullInput=o,_._expandedIndex=f,_._expandedInput=b,p(_)}else o._fullInput=o,o._expandedInput=o,p(o);a.traceIs(o,\\\"carpetAxis\\\")&&(g[o.carpet]=o),a.traceIs(o,\\\"carpetDependent\\\")&&v.push(i)}for(i=0;i<v.length;i++)if((o=e[v[i]]).visible){var w=g[o.carpet];o._carpet=w,w&&w.visible?(o.xaxis=w.xaxis,o.yaxis=w.yaxis):o.visible=!1}},m.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return s.coerce(t||{},r,h,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]=m.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=m.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=m.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=m.supplyAnimationTransitionDefaults(t.transition||{});return r},m.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return s.coerce(t||{},e,h.frame,r,n)}return r(\\\"duration\\\"),r(\\\"redraw\\\"),e},m.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return s.coerce(t||{},e,h.transition,r,n)}return r(\\\"duration\\\"),r(\\\"easing\\\"),e},m.supplyFrameDefaults=function(t){var e={};function r(r,n){return s.coerce(t,e,p,r,n)}return r(\\\"group\\\"),r(\\\"name\\\"),r(\\\"traces\\\"),r(\\\"baseframe\\\"),r(\\\"data\\\"),r(\\\"layout\\\"),e},m.supplyTraceDefaults=function(t,e,r,n){var i,o=r.colorway||l.defaults,c={},u=o[e%o.length];function f(e,r){return s.coerce(t,c,m.attributes,e,r)}var h=f(\\\"visible\\\");f(\\\"type\\\"),f(\\\"uid\\\"),f(\\\"name\\\",r._traceWord+\\\" \\\"+n);var p=m.getModule(c);if(c._module=p,p){var d=p.basePlotModule,g=d.attr,v=d.attributes;if(g&&v){var y=r._subplots,x=\\\"\\\";if(\\\"gl2d\\\"!==d.name||h){if(Array.isArray(g))for(i=0;i<g.length;i++){var b=g[i],_=s.coerce(t,c,v,b);y[b]&&s.pushUnique(y[b],_),x+=_}else x=s.coerce(t,c,v,g);y[d.name]&&s.pushUnique(y[d.name],x)}}}return h&&(f(\\\"customdata\\\"),f(\\\"ids\\\"),a.traceIs(c,\\\"showLegend\\\")&&(f(\\\"showlegend\\\"),f(\\\"legendgroup\\\")),a.getComponentMethod(\\\"fx\\\",\\\"supplyDefaults\\\")(t,c,u,r),p&&(p.supplyDefaults(t,c,u,r),s.coerceHoverinfo(t,c,r)),a.traceIs(c,\\\"noOpacity\\\")||f(\\\"opacity\\\"),a.traceIs(c,\\\"notLegendIsolatable\\\")&&(c.visible=!!c.visible),p&&p.selectPoints&&f(\\\"selectedpoints\\\"),m.supplyTransformDefaults(t,c,r)),c},m.supplyTransformDefaults=function(t,e,r){if(e._length){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),l=e.transforms=[],c=0;c<o.length;c++){var u,f=o[c],h=f.type,p=v[h],d=!(f._module&&f._module===p),g=p&&\\\"function\\\"==typeof p.transform;p||s.warn(\\\"Unrecognized transform type \\\"+h+\\\".\\\"),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,s.pushUnique(i,p)):u=s.extendFlat({},f),l.push(u)}}},m.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return s.coerce(t,e,m.layoutAttributes,r,n)}var i=s.coerceFont(n,\\\"font\\\");n(\\\"title\\\",e._dfltTitle.plot),s.coerceFont(n,\\\"titlefont\\\",{family:i.family,size:Math.round(1.4*i.size),color:i.color}),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&&m.sanitizeMargins(e),a.getComponentMethod(\\\"grid\\\",\\\"sizeDefaults\\\")(t,e),n(\\\"paper_bgcolor\\\"),n(\\\"separators\\\",r.decimal+r.thousands),n(\\\"hidesources\\\"),n(\\\"colorway\\\"),n(\\\"datarevision\\\"),a.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\"),a.getComponentMethod(\\\"fx\\\",\\\"supplyLayoutGlobalDefaults\\\")(t,e,n)},m.plotAutoSize=function(t,e,r){var n,a,o=t._context||{},l=o.frameMargins,c=s.isPlotDiv(t);if(c&&t.emit(\\\"plotly_autosize\\\"),o.fillFrame)n=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\\\"hidden\\\";else if(i(l)&&l>0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=u.left+u.right,h=u.bottom+u.top,p=1-2*l,d=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(d.width-f)),a=Math.round(p*(d.height-h))}else{var g=c?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,a=parseFloat(g.height)||r.height}var v=m.layoutAttributes.width.min,y=m.layoutAttributes.height.min;n<v&&(n=v),a<y&&(a=y);var x=!e.width&&Math.abs(r.width-n)>1,b=!e.height&&Math.abs(r.height-a)>1;(b||x)&&(x&&(r.width=n),b&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,l,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(l=c[i]).includeBasePlot&&l.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has(\\\"cartesian\\\")&&(a.getComponentMethod(\\\"grid\\\",\\\"contentDefaults\\\")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(s.subplotSort);for(o=0;o<u.length;o++)(l=u[o]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r);var p=e._modules;for(o=0;o<p.length;o++)(l=p[o]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(l=d[o]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r,n);for(i in c)(l=c[i]).supplyLayoutDefaults&&l.supplyLayoutDefaults(t,e,r)},m.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),s.clearThrottle(),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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},m.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&s.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},m.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},m.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),o=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var f in u.base={l:{val:0,size:o},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}},u){var h=u[f].l||{},p=u[f].b||{},d=h.val,g=h.size,m=p.val,v=p.size;for(var y in u){if(i(g)&&u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x>d){var _=(g*x+(b-e.width)*d)/(x-d),w=(b*(1-d)+(g-e.width)*(1-x))/(x-d);_>=0&&w>=0&&_+w>o+s&&(o=_,s=w)}}if(i(v)&&u[y].t){var k=u[y].t.val,M=u[y].t.size;if(k>m){var A=(v*k+(M-e.height)*m)/(k-m),T=(M*(1-m)+(v-e.height)*(1-k))/(k-m);A>=0&&T>=0&&A+T>c+l&&(c=A,l=T)}}}}if(r.l=Math.round(o),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&\\\"{}\\\"!==n&&n!==JSON.stringify(e._size))return a.call(\\\"plot\\\",t)},m.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t){if(\\\"function\\\"==typeof t)return null;if(s.isPlainObject(t)){var e,n,i={};for(e in t)if(\\\"function\\\"!=typeof t[e]&&-1===[\\\"_\\\",\\\"[\\\"].indexOf(e.charAt(0))){if(\\\"keepdata\\\"===r){if(\\\"src\\\"===e.substr(e.length-3))continue}else if(\\\"keepstream\\\"===r){if(\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0&&!s.isPlainObject(t.stream))continue}else if(\\\"keepall\\\"!==r&&\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):s.isJSDate(t)?s.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=c(l)),\\\"object\\\"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\\\"replace\\\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\\\"insert\\\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\\\"delete\\\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},m.computeFrame=function(t,e){var r,n,i,a,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=m.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++)void 0!==(i=n[r])&&null!==i&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=m.extendTrace(u.data[a],s.data[r]))}return u},m.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},m.extendObjectWithContainers=function(t,e,r){var n,i,a,o,l,c,u,f=s.extendDeepNoArrays({},e||{}),h=s.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=s.nestedProperty(h,r[a])).get())?s.nestedProperty(p,r[a]).set(null):(n.set(null),s.nestedProperty(p,r[a]).set(i));if(t=s.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(c=s.nestedProperty(p,r[a]).get()){for(u=(l=s.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],l.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:m.extendObjectWithContainers(u[o],d)}l.set(u)}return t},m.dataArrayContainers=[\\\"transforms\\\",\\\"dimensions\\\"],m.layoutArrayContainers=a.layoutArrayContainers,m.extendTrace=function(t,e){return m.extendObjectWithContainers(t,e,m.dataArrayContainers)},m.extendLayout=function(t,e){return m.extendObjectWithContainers(t,e,m.layoutArrayContainers)},m.transition=function(t,e,r,n,i,o){var l,c,u=Array.isArray(e)?e.length:0,f=n.slice(0,u),h=[];var p=!1;for(l=0;l<f.length;l++){c=f[l];t._fullData[c]._module}var d=[m.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)},function(){var n;for(n=0;n<f.length;n++){var i=f[n],o=t._fullData[i]._module;o&&(o.animatable&&h.push(i),t.data[f[n]]=m.extendTrace(t.data[f[n]],e[n]))}var l=s.expandObjectPaths(s.extendDeepNoArrays({},r)),c=/^[xy]axis[0-9]*$/;for(var u in l)c.test(u)&&delete l[u].range;return m.extendLayout(t.layout,l),delete t.calcdata,m.supplyDefaults(t),m.doCalcdata(t),a.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),Promise.resolve()},m.rehover,function(){return t.emit(\\\"plotly_transitioning\\\",[]),new Promise(function(e){t._transitioning=!0,o.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){p=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call(\\\"redraw\\\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\\\"plotly_transitioninterrupted\\\",[])});var n,l,c=0,u=0;function f(){return c++,function(){var r;p||++u!==c||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return a.call(\\\"redraw\\\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\\\"plotly_transitioned\\\",[])}).then(r)))}}var d=t._fullLayout._basePlotModules,g=!1;if(r)for(l=0;l<d.length;l++)if(d[l].transitionAxes){var m=s.expandObjectPaths(r);g=d[l].transitionAxes(t,m,o,f)||g}for(g?(n=s.extendFlat({},o)).duration=0:n=o,l=0;l<d.length;l++)d[l].plot(t,h,n,f);setTimeout(f())})}],g=s.syncOrAsync(d,t);return g&&g.then||(g=Promise.resolve()),g.then(function(){return t})},m.doCalcdata=function(t,e){var r,n,i,s,l=u.list(t),f=t._fullData,h=t._fullLayout,p=new Array(f.length),d=(t.calcdata||[]).slice(0);for(t.calcdata=p,t.firstscatter=!0,h._numBoxes=0,h._numViolins=0,h._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,h._piecolormap={},h._piecolorway=null,h._piedefaultcolorcount=0,i=0;i<f.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(p[i]=d[i]);for(i=0;i<f.length;i++)(r=f[i])._arrayAttrs=o.findArrayAttributes(r);var g=h._subplots.polar||[];for(i=0;i<g.length;i++)l.push(h[g[i]].radialaxis,h[g[i]].angularaxis);M(l);var m=!1;for(i=0;i<f.length;i++)if(!0===(r=f[i]).visible&&r.transforms)for((n=r._module)&&n.calc&&n.calc(t,r),s=0;s<r.transforms.length;s++){var y=r.transforms[s];(n=v[y.type])&&n.calcTransform&&(r._hasCalcTransform=!0,m=!0,n.calcTransform(t,r,y))}function x(e,i){if(r=f[e],!!(n=r._module).isContainer===i){var a=[];if(!0===r.visible){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&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:c,y:c}]),a[0].t||(a[0].t={}),a[0].trace=r,p[e]=a}}for(m&&M(l),i=0;i<f.length;i++)x(i,!0);for(i=0;i<f.length;i++)x(i,!1);a.getComponentMethod(\\\"fx\\\",\\\"calc\\\")(t)},m.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},m.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var l=r[i],c=l[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(l))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,s.filterVisible(p),n)}e.traceHash=o}},{\\\"../components/color\\\":474,\\\"../constants/numerical\\\":579,\\\"../lib\\\":602,\\\"../plot_api/plot_schema\\\":639,\\\"../plots/cartesian/axis_ids\\\":651,\\\"../registry\\\":732,\\\"./animation_attributes\\\":643,\\\"./attributes\\\":645,\\\"./command\\\":672,\\\"./font_attributes\\\":674,\\\"./frame_attributes\\\":675,\\\"./layout_attributes\\\":701,\\\"./sort_modules\\\":723,d3:130,\\\"fast-isnumeric\\\":196}],711:[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-axis\\\",\\\"radial-axis\\\",\\\"angular-line\\\",\\\"radial-line\\\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],712:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");r.setConvertAngular=function(t){var e,r,i={clockwise:-1,counterclockwise:1}[t.direction],a=n.deg2rad(t.rotation);function o(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function s(t){return(t-a)/i}\\\"linear\\\"===t.type?(e=function(t,e){return\\\"degrees\\\"===e?n.deg2rad(t):t},r=function(t,e){return\\\"degrees\\\"===e?n.rad2deg(t):t}):\\\"category\\\"===t.type&&(e=function(t){var e=o();return 2*t*Math.PI/e},r=function(t){return t*o()/Math.PI/2}),t.unTransformRad=s,t._c2rad=e,t.c2rad=function(t,r){return function(t){return i*t+a}(e(t,r))},t.rad2c=function(t,e){return r(s(t),e)},t.c2deg=function(e,r){return n.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(n.deg2rad(e),r)}}},{\\\"../../lib\\\":602}],713:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../get_data\\\").getSubplotCalcData,i=t(\\\"../../lib\\\").counterRegex,a=t(\\\"./polar\\\"),o=t(\\\"./constants\\\"),s=o.attr,l=o.name,c=i(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,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var c in s.framework.remove(),s.layers[\\\"radial-axis-title\\\"].remove(),s.clipPaths)s.clipPaths[c].remove()}},toSVG:t(\\\"../cartesian\\\").toSVG}},{\\\"../../lib\\\":602,\\\"../cartesian\\\":659,\\\"../get_data\\\":684,\\\"./constants\\\":711,\\\"./layout_attributes\\\":714,\\\"./layout_defaults\\\":715,\\\"./polar\\\":722}],714:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color/attributes\\\"),i=t(\\\"../cartesian/layout_attributes\\\"),a=t(\\\"../domain\\\").attributes,o=t(\\\"../../lib\\\").extendFlat,s=t(\\\"../../plot_api/edit_types\\\").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth},\\\"plot\\\",\\\"from-root\\\"),c=s({tickmode:i.tickmode,nticks:i.nticks,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,layer:i.layer},\\\"plot\\\",\\\"from-root\\\"),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:\\\"enumerated\\\",values:[\\\"tozero\\\",\\\"nonnegative\\\",\\\"normal\\\"],dflt:\\\"tozero\\\",editType:\\\"calc\\\"},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:\\\"angle\\\",editType:\\\"plot\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"],dflt:\\\"clockwise\\\",editType:\\\"plot\\\"},title:o({},i.title,{editType:\\\"plot\\\",dflt:\\\"\\\"}),titlefont:s(i.titlefont,\\\"plot\\\",\\\"from-root\\\"),hoverformat:i.hoverformat,editType:\\\"calc\\\"};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},categoryorder:i.categoryorder,categoryarray:i.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:i.hoverformat,editType:\\\"calc\\\"};o(f,l,c),e.exports={domain:a({name:\\\"polar\\\",editType:\\\"plot\\\"}),sector:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"plot\\\"},{valType:\\\"number\\\",editType:\\\"plot\\\"}],dflt:[0,360],editType:\\\"plot\\\"},bgcolor:{valType:\\\"color\\\",editType:\\\"plot\\\",dflt:n.background},radialaxis:u,angularaxis:f,editType:\\\"calc\\\"}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib\\\":602,\\\"../../plot_api/edit_types\\\":633,\\\"../cartesian/layout_attributes\\\":660,\\\"../domain\\\":673}],715:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../subplot_defaults\\\"),o=t(\\\"../get_data\\\").getSubplotData,s=t(\\\"../cartesian/tick_value_defaults\\\"),l=t(\\\"../cartesian/tick_mark_defaults\\\"),c=t(\\\"../cartesian/tick_label_defaults\\\"),u=t(\\\"../cartesian/category_order_defaults\\\"),f=t(\\\"../cartesian/line_grid_defaults\\\"),h=t(\\\"../cartesian/axis_autotype\\\"),p=t(\\\"../cartesian/set_convert\\\"),d=t(\\\"./helpers\\\").setConvertAngular,g=t(\\\"./layout_attributes\\\"),m=t(\\\"./constants\\\"),v=m.axisNames;function y(t,e,r,a){var h=r(\\\"bgcolor\\\");a.bgColor=i.combine(h,a.paper_bgcolor);var y,b=r(\\\"sector\\\"),_=o(a.fullData,m.name,a.id),w=a.layoutOut;function k(t,e){return r(y+\\\".\\\"+t,e)}for(var M=0;M<v.length;M++){y=v[M],n.isPlainObject(t[y])||(t[y]={});var A=t[y],T=e[y]={};T._id=T._name=y;var S=m.axisName2dataArray[y],C=x(A,T,k,_,S);u(A,T,k,{axData:_,dataAttr:S});var E,L,z=k(\\\"visible\\\");switch(p(T,w),z&&(L=(E=k(\\\"color\\\"))===A.color?E:a.font.color),T._m=1,y){case\\\"radialaxis\\\":var P=k(\\\"autorange\\\",!T.isValidRange(A.range));A.autorange=P,P&&k(\\\"rangemode\\\"),\\\"reversed\\\"===P&&(T._m=-1),k(\\\"range\\\"),T.cleanRange(\\\"range\\\",{dfltRange:[0,1]}),z&&(k(\\\"side\\\"),k(\\\"angle\\\",b[0]),k(\\\"title\\\"),n.coerceFont(k,\\\"titlefont\\\",{family:a.font.family,size:Math.round(1.2*a.font.size),color:L}));break;case\\\"angularaxis\\\":if(\\\"date\\\"===C){n.log(\\\"Polar plots do not support date angular axes yet.\\\");for(var D=0;D<_.length;D++)_[D].visible=!1;C=A.type=T.type=\\\"linear\\\"}k(\\\"linear\\\"===C?\\\"thetaunit\\\":\\\"period\\\"),k(\\\"rotation\\\",{counterclockwise:0,clockwise:90}[k(\\\"direction\\\")]),d(T)}if(z)s(A,T,k,T.type),c(A,T,k,T.type,{tickSuffixDflt:\\\"degrees\\\"===T.thetaunit?\\\"\\\\xb0\\\":void 0}),l(A,T,k,{outerTicks:!0}),k(\\\"showticklabels\\\")&&(n.coerceFont(k,\\\"tickfont\\\",{family:a.font.family,size:a.font.size,color:L}),k(\\\"tickangle\\\"),k(\\\"tickformat\\\")),f(A,T,k,{dfltColor:E,bgColor:a.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:g[y]}),k(\\\"layer\\\");\\\"category\\\"!==C&&k(\\\"hoverformat\\\"),T._input=A}}function x(t,e,r,n,i){if(\\\"-\\\"===r(\\\"type\\\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&(e.type=h(a[i],\\\"gregorian\\\")),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type}return e.type}e.exports=function(t,e,r){a(t,e,r,{type:m.name,attributes:g,handleDefaults:y,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../cartesian/axis_autotype\\\":649,\\\"../cartesian/category_order_defaults\\\":652,\\\"../cartesian/line_grid_defaults\\\":662,\\\"../cartesian/set_convert\\\":666,\\\"../cartesian/tick_label_defaults\\\":667,\\\"../cartesian/tick_mark_defaults\\\":668,\\\"../cartesian/tick_value_defaults\\\":669,\\\"../get_data\\\":684,\\\"../subplot_defaults\\\":724,\\\"./constants\\\":711,\\\"./helpers\\\":712,\\\"./layout_attributes\\\":714}],716:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../traces/scatter/attributes\\\"),i=n.marker;e.exports={r:n.r,t:n.t,marker:{color:i.color,size:i.size,symbol:i.symbol,opacity:i.opacity,editType:\\\"calc\\\"}}},{\\\"../../../traces/scatter/attributes\\\":926}],717:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../cartesian/layout_attributes\\\"),i=t(\\\"../../../lib/extend\\\").extendFlat,a=t(\\\"../../../plot_api/edit_types\\\").overrideAll,o=i({},n.domain,{});function s(t,e){return i({},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\\\"},visible:{valType:\\\"boolean\\\"}})}e.exports=a({radialaxis:s(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},domain:o,orientation:{valType:\\\"number\\\"}}),angularaxis:s(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",dflt:0},{valType:\\\"number\\\",dflt:360}]},domain:o}),layout:{direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"]},orientation:{valType:\\\"angle\\\"}}},\\\"plot\\\",\\\"nested\\\")},{\\\"../../../lib/extend\\\":591,\\\"../../../plot_api/edit_types\\\":633,\\\"../../cartesian/layout_attributes\\\":660}],718:[function(t,e,r){\\\"use strict\\\";(e.exports=t(\\\"./micropolar\\\")).manager=t(\\\"./micropolar_manager\\\")},{\\\"./micropolar\\\":719,\\\"./micropolar_manager\\\":720}],719:[function(t,e,r){var n=t(\\\"d3\\\"),i=t(\\\"../../../lib\\\").extendDeepAll,a=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={},f=n.dispatch(\\\"hover\\\"),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(\\\"string\\\"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(f).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(h)};var f=0;c.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.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 void 0===r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||void 0!==t.groupId,t});if(d){var m=[],v=n.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\\\"unstacked\\\"}).entries(g).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],m.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(v)}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 y=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;y=Math.max(10,y);var x,b=[h.margin.left+y,h.margin.top+y];x=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(m)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&&(x[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:x).range([0,y]),u.layout.radialAxis.domain=r.domain();var _,w=o.util.flattenArray(p.map(function(t,e){return t.t})),k=\\\"string\\\"==typeof w[0];k&&(w=o.util.deduplicate(w),_=w.slice(),w=n.range(w.length),p=p.map(function(t,e){var r=t;return t.t=[w],d&&(r.yStack=t.yStack),r}));var M=p.filter(function(t,e){return\\\"LinePlot\\\"===t.geometry||\\\"DotPlot\\\"===t.geometry}).length===p.length,A=null===h.needsEndSpacing?k||!M:h.needsEndSpacing,T=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!k&&h.angularAxis.domain[0]>=0?h.angularAxis.domain:n.extent(w),S=Math.abs(w[1]-w[0]);M&&!k&&(S=0);var C=T.slice();A&&k&&(C[1]+=S);var E=h.angularAxis.ticksCount||4;E>8&&(E=E/(E/8)+E%8),h.angularAxis.ticksStep&&(E=(C[1]-C[0])/E);var L=h.angularAxis.ticksStep||(C[1]-C[0])/(E*(h.minorTicks+1));_&&(L=Math.max(Math.round(L),1)),C[2]||(C[2]=L);var z=n.range.apply(this,C);if(z=z.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range(\\\"clockwise\\\"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=A?S:0,void 0===(t=n.select(this).select(\\\"svg.chart-root\\\"))||t.empty()){var P=(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\\\"),D=this.appendChild(this.ownerDocument.importNode(P.documentElement,!0));t=n.select(D)}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 O,I=t.select(\\\".chart-group\\\"),R={fill:\\\"none\\\",stroke:h.tickColor},B={\\\"font-size\\\":h.font.size,\\\"font-family\\\":h.font.family,fill:h.font.color,\\\"text-shadow\\\":[\\\"-1px 0px\\\",\\\"1px -1px\\\",\\\"-1px 1px\\\",\\\"1px 1px\\\"].map(function(t,e){return\\\" \\\"+t+\\\" 0 \\\"+h.font.outlineColor}).join(\\\",\\\")};if(h.showLegend){O=t.select(\\\".legend-group\\\").attr({transform:\\\"translate(\\\"+[y,h.margin.top]+\\\")\\\"}).style({display:\\\"block\\\"});var F=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=void 0===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:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:F,reverseOrder:h.legend.reverseOrder})})();var N=O.node().getBBox();y=Math.min(h.width-N.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,y=Math.max(10,y),b=[h.margin.left+y,h.margin.top+y],r.range([0,y]),u.layout.radialAxis.domain=r.domain(),O.attr(\\\"transform\\\",\\\"translate(\\\"+[b[0]+y,b[1]-y]+\\\")\\\")}else O=t.select(\\\".legend-group\\\").style({display:\\\"none\\\"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),I.attr(\\\"transform\\\",\\\"translate(\\\"+b+\\\")\\\").style({cursor:\\\"crosshair\\\"});var j=[(h.width-(h.margin.left+h.margin.right+2*y+(N?N.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*y))/2];if(j[0]=Math.max(0,j[0]),j[1]=Math.max(0,j[1]),t.select(\\\".outer-group\\\").attr(\\\"transform\\\",\\\"translate(\\\"+j+\\\")\\\"),h.title){var V=t.select(\\\"g.title-group text\\\").style(B).text(h.title),U=V.node().getBBox();V.attr({x:b[0]-U.width/2,y:b[1]-y-20})}var q=t.select(\\\".radial.axis-group\\\");if(h.radialAxis.gridLinesVisible){var H=q.selectAll(\\\"circle.grid-circle\\\").data(r.ticks(5));H.enter().append(\\\"circle\\\").attr({class:\\\"grid-circle\\\"}).style(R),H.attr(\\\"r\\\",r),H.exit().remove()}q.select(\\\"circle.outside-circle\\\").attr({r:y}).style(R);var G=t.select(\\\"circle.background-circle\\\").attr({r:y}).style({fill:h.backgroundColor,stroke:h.stroke});function W(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var Y=n.svg.axis().scale(r).ticks(5).tickSize(5);q.call(Y).attr({transform:\\\"rotate(\\\"+h.radialAxis.orientation+\\\")\\\"}),q.selectAll(\\\".domain\\\").style(R),q.selectAll(\\\"g>text\\\").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(B).style({\\\"text-anchor\\\":\\\"start\\\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\\\"horizontal\\\"===h.radialAxis.tickOrientation?\\\"rotate(\\\"+-h.radialAxis.orientation+\\\") translate(\\\"+[0,B[\\\"font-size\\\"]]+\\\")\\\":\\\"translate(\\\"+[0,B[\\\"font-size\\\"]]+\\\")\\\"}}),q.selectAll(\\\"g>line\\\").style({stroke:\\\"black\\\"})}var X=t.select(\\\".angular.axis-group\\\").selectAll(\\\"g.angular-tick\\\").data(z),Z=X.enter().append(\\\"g\\\").classed(\\\"angular-tick\\\",!0);X.attr({transform:function(t,e){return\\\"rotate(\\\"+W(t)+\\\")\\\"}}).style({display:h.angularAxis.visible?\\\"block\\\":\\\"none\\\"}),X.exit().remove(),Z.append(\\\"line\\\").classed(\\\"grid-line\\\",!0).classed(\\\"major\\\",function(t,e){return e%(h.minorTicks+1)==0}).classed(\\\"minor\\\",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(\\\".minor\\\").style({stroke:h.minorTickColor}),X.select(\\\"line.grid-line\\\").attr({x1:h.tickLength?y-h.tickLength:0,x2:y}).style({display:h.angularAxis.gridLinesVisible?\\\"block\\\":\\\"none\\\"}),Z.append(\\\"text\\\").classed(\\\"axis-text\\\",!0).style(B);var J=X.select(\\\"text.axis-text\\\").attr({x:y+h.labelOffset,dy:a+\\\"em\\\",transform:function(t,e){var r=W(t),n=y+h.labelOffset,i=h.angularAxis.tickOrientation;return\\\"horizontal\\\"==i?\\\"rotate(\\\"+-r+\\\" \\\"+n+\\\" 0)\\\":\\\"radial\\\"==i?r<270&&r>90?\\\"rotate(180 \\\"+n+\\\" 0)\\\":null:\\\"rotate(\\\"+(r<=180&&r>0?-90:90)+\\\" \\\"+n+\\\" 0)\\\"}}).style({\\\"text-anchor\\\":\\\"middle\\\",display:h.angularAxis.labelsVisible?\\\"block\\\":\\\"none\\\"}).text(function(t,e){return e%(h.minorTicks+1)!=0?\\\"\\\":_?_[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(B);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?\\\"\\\":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(I.selectAll(\\\".angular-tick text\\\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:\\\"translate(\\\"+[y+K,h.margin.top]+\\\")\\\"});var Q=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g\\\").size()>0,$=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g.geometry\\\").data(p);if($.enter().append(\\\"g\\\").attr({class:function(t,e){return\\\"geometry geometry\\\"+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||\\\"unstacked\\\"}).entries(tt).forEach(function(t,e){\\\"unstacked\\\"===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.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 i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(\\\".guides-group\\\"),at=t.select(\\\".tooltips-group\\\"),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select(\\\"line\\\").attr({x1:0,y1:0,y2:0}).style({stroke:\\\"grey\\\",\\\"pointer-events\\\":\\\"none\\\"});I.on(\\\"mousemove.angular-guide\\\",function(t,e){var r=o.util.getMousePos(G).angle;ct.attr({x2:-y,transform:\\\"rotate(\\\"+r+\\\")\\\"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(y+12,r+180);ot.text(o.util.round(rt)).move([i[0]+b[0],i[1]+b[1]])}).on(\\\"mouseout.angular-guide\\\",function(t,e){it.select(\\\"line\\\").style({opacity:0})})}var ut=it.select(\\\"circle\\\").style({stroke:\\\"grey\\\",fill:\\\"none\\\"});I.on(\\\"mousemove.radial-guide\\\",function(t,e){var n=o.util.getMousePos(G).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(G).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+b[0],i[1]+b[1]])}).on(\\\"mouseout.radial-guide\\\",function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(\\\".geometry-group .mark\\\").on(\\\"mouseover.tooltip\\\",function(e,r){var i=n.select(this),a=this.style.fill,s=\\\"black\\\",l=this.style.opacity||1;if(i.attr({\\\"data-opacity\\\":l}),a&&\\\"none\\\"!==a){i.attr({\\\"data-fill\\\":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&&(c.t=_[e[0]]);var u=\\\"t: \\\"+c.t+\\\", r: \\\"+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-j[0]-h.left,f.top+f.height/2-j[1]-h.top];lt.config({color:s}).text(u),lt.move(p)}else a=this.style.stroke||\\\"black\\\",i.attr({\\\"data-stroke\\\":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(\\\"mousemove.tooltip\\\",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\\\"data-fill\\\")&&lt.show()}).on(\\\"mouseout.tooltip\\\",function(t,e){lt.hide();var r=n.select(this),i=r.attr(\\\"data-fill\\\");i?r.style({fill:i,opacity:r.attr(\\\"data-opacity\\\")}):r.style({stroke:r.attr(\\\"data-stroke\\\"),opacity:r.attr(\\\"data-opacity\\\")})})})}(c),this},h.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]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,\\\"on\\\"),h},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 i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===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],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])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 i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&&(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),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 a(){var e=t[0].geometryConfig,i=e.container;\\\"string\\\"==typeof i&&(i=n.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,e){return a?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,i,a){var o=t[a].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,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(r,i);n.select(this).attr({class:\\\"mark dot\\\",d:s,transform:function(t,r){var n,i,a,s=(n=function(t,r){var n=e.radialScale(t[1]),i=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});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,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(r,i,a)}).attr({class:\\\"mark dot\\\"}),!(i>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,i,a)},\\\"fill-opacity\\\":0,stroke:function(t,e){return d.stroke(r,i,a)},\\\"stroke-width\\\":function(t,e){return d[\\\"stroke-width\\\"](r,i,a)},\\\"stroke-dasharray\\\":function(t,e){return d[\\\"stroke-dasharray\\\"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/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,i){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,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===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 a.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)}),this):t},a.getColorScale=function(){},n.rebind(a,e,\\\"on\\\"),a},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,a=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||void 0===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,f=u?e.height:c*o.length,h=s.classed(\\\"legend-group\\\",!0).selectAll(\\\"svg\\\").data([0]),p=h.enter().append(\\\"svg\\\").attr({width:300,height:f+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,f]);if(u){var v=h.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}}),h.append(\\\"rect\\\").classed(\\\"legend-mark\\\",!0).attr({height:e.height,width:e.colorBandWidth,fill:\\\"url(#grad1)\\\"})}else{var y=h.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,i,a,o=t.symbol;return a=3*(i=c),\\\"line\\\"===(r=o)?\\\"M\\\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\\\"Z\\\":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type(\\\"square\\\").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient(\\\"right\\\"),b=h.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?(i(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,a={container:null,hasTick:!1,fontSize:12,color:\\\"white\\\",padding:5},s=\\\"tooltip-\\\"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.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:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?\\\"#aaa\\\":\\\"white\\\",u=o>=.5?\\\"black\\\":\\\"white\\\",f=i||\\\"\\\";e.style({fill:u,\\\"font-size\\\":a.fontSize+\\\"px\\\"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,\\\"stroke-width\\\":\\\"2px\\\"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:\\\"M\\\"+[[l,-m/2],[l,-m/4],[a.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*h]+\\\")\\\"}),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 i(a,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=i({},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 a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=i({},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?(void 0!==s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&void 0!==s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&void 0!==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&&void 0!==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\\\":574,\\\"../../../lib\\\":602,d3:130}],720:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../../lib\\\"),a=t(\\\"../../../components/color\\\"),o=t(\\\"./micropolar\\\"),s=t(\\\"./undo_manager\\\"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(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,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(\\\".plot-container\\\"),r=e.selectAll(\\\".svg-container\\\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\\\"../../../components/color\\\":474,\\\"../../../lib\\\":602,\\\"./micropolar\\\":719,\\\"./undo_manager\\\":721,d3:130}],721:[function(t,e,r){\\\"use strict\\\";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(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?(i(n,\\\"undo\\\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(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}}}},{}],722:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"../../components/drawing\\\"),c=t(\\\"../plots\\\"),u=t(\\\"../cartesian/axes\\\"),f=t(\\\"../cartesian/autorange\\\").doAutoRange,h=t(\\\"../../components/dragelement\\\"),p=t(\\\"../cartesian/dragbox\\\"),d=t(\\\"../../components/fx\\\"),g=t(\\\"../../components/titles\\\"),m=t(\\\"../cartesian/select\\\").prepSelect,v=t(\\\"../cartesian/select\\\").clearSelect,y=t(\\\"../../lib/setcursor\\\"),x=t(\\\"../../constants/alignment\\\").MID_SHIFT,b=o._,_=o.deg2rad,w=o.rad2deg,k=o.wrap360,M=o.wrap180,A=t(\\\"./helpers\\\").setConvertAngular,T=t(\\\"./constants\\\");function S(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\\\"clip\\\"+r._uid+e;this.clipIds.circle=n+\\\"-circle\\\",this.clipPaths.circle=r._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",this.clipIds.circle),this.clipPaths.circle.append(\\\"path\\\"),this.framework=r._polarlayer.append(\\\"g\\\").attr(\\\"class\\\",e),this.radialTickLayout=null,this.angularTickLayout=null}var C=S.prototype;function E(t,e,r){u.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function L(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\\\"side\\\"in t&&(e+=t.side),e}function z(t,e){if(D(e))return l.symbolFuncs[0](t);var r=t*Math.cos(_(e[0])),n=-t*Math.sin(_(e[0])),i=t*Math.cos(_(e[1])),a=-t*Math.sin(_(e[1]));return\\\"M\\\"+[r,n]+\\\"A\\\"+[t,t]+\\\" \\\"+(Math.abs(e[1]-e[0])<=180?[0,0,0]:[0,1,0])+\\\" \\\"+[i,a]}function P(t,e){return z(t,e)+(D(e)?\\\"\\\":\\\"L0,0Z\\\")}function D(t){return 360===Math.abs(t[1]-t[0])}function O(t,e,r){return e?(t.attr(\\\"display\\\",null),t.attr(r)):t&&t.attr(\\\"display\\\",\\\"none\\\"),t}function I(t,e){return\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"}function R(t){return\\\"rotate(\\\"+t+\\\")\\\"}function B(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function F(t){return B(Math.cos(t))}function N(t){return B(Math.sin(t))}e.exports=function(t,e){return new S(t,e)},C.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)},C.updateLayers=function(t,e){var r=this.layers,i=e.radialaxis,a=e.angularaxis,o=T.layerNames,s=o.indexOf(\\\"frontplot\\\"),l=o.slice(0,s),c=\\\"below traces\\\"===a.layer,u=\\\"below traces\\\"===i.layer;c&&l.push(\\\"angular-axis\\\"),u&&l.push(\\\"radial-axis\\\"),c&&l.push(\\\"angular-line\\\"),u&&l.push(\\\"radial-line\\\"),l.push(\\\"frontplot\\\"),c||l.push(\\\"angular-axis\\\"),u||l.push(\\\"radial-axis\\\"),c||l.push(\\\"angular-line\\\"),u||l.push(\\\"radial-line\\\");var f=this.framework.selectAll(\\\".polarsublayer\\\").data(l,String);f.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(\\\"scatterlayer\\\",!0);break;case\\\"backplot\\\":e.append(\\\"g\\\").classed(\\\"maplayer\\\",!0);break;case\\\"plotbg\\\":r.bgcircle=e.append(\\\"path\\\");break;case\\\"radial-grid\\\":e.style(\\\"fill\\\",\\\"none\\\"),e.append(\\\"g\\\").classed(\\\"x\\\",1);break;case\\\"angular-grid\\\":e.style(\\\"fill\\\",\\\"none\\\"),e.append(\\\"g\\\").classed(\\\"angular\\\",1);break;case\\\"radial-line\\\":e.append(\\\"line\\\").style(\\\"fill\\\",\\\"none\\\");break;case\\\"angular-line\\\":e.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\")}}),f.order()},C.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var c,f,h,p,d,g=r.xLength=i.w*(a[1]-a[0]),m=r.yLength=i.h*(o[1]-o[0]),v=r.sector=e.sector,y=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=k(a),l=s+o,c=Math.cos(_(s)),u=Math.sin(_(s)),f=Math.cos(_(l)),h=Math.sin(_(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(v),x=y[2]-y[0],b=y[3]-y[1],w=m/g,M=Math.abs(b/x);w>M?(c=g,d=(m-(f=g*M))/i.h/2,h=[a[0],a[1]],p=[o[0]+d,o[1]-d]):(f=m,d=(g-(c=m/M))/i.w/2,h=[a[0]+d,a[1]-d],p=[o[0],o[1]]),r.xLength2=c,r.yLength2=f,r.xDomain2=h,r.yDomain2=p;var A=r.xOffset2=i.l+i.w*h[0],T=r.yOffset2=i.t+i.h*(1-p[1]),S=r.radius=c/x,C=r.cx=A-S*y[0],E=r.cy=T+S*y[3],L=r.cxx=C-A,z=r.cyy=E-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var D=r.radialAxis.range,O=D[1]-D[0],R=r.xaxis={type:\\\"linear\\\",_id:\\\"x\\\",range:[y[0]*O,y[2]*O],domain:h};u.setConvert(R,t),R.setScale();var B=r.yaxis={type:\\\"linear\\\",_id:\\\"y\\\",range:[y[1]*O,y[3]*O],domain:p};u.setConvert(B,t),B.setScale(),R.isPtWithinRange=function(t){return r.isPtWithinSector(t)},B.isPtWithinRange=function(){return!0},n.frontplot.attr(\\\"transform\\\",I(A,T)).call(l.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:P(S,v),transform:I(C,E)}).call(s.fill,e.bgcolor),r.clipPaths.circle.select(\\\"path\\\").attr(\\\"d\\\",P(S,v)).attr(\\\"transform\\\",I(L,z)),r.framework.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",0)},C.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,l=this.cy,c=t._size,h=e.radialaxis,p=e.sector,d=k(p[0]);this.fillViewInitialKey(\\\"radialaxis.angle\\\",h.angle);var g=this.radialAxis=o.extendFlat({},h,{_axislayer:n[\\\"radial-axis\\\"],_gridlayer:n[\\\"radial-grid\\\"],_id:\\\"x\\\",_pos:0,side:{counterclockwise:\\\"top\\\",clockwise:\\\"bottom\\\"}[h.side],domain:[0,i/c.w],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1});E(g,h,t),f(g),h.range=g.range.slice(),h._input.range=g.range.slice(),this.fillViewInitialKey(\\\"radialaxis.range\\\",g.range.slice()),\\\"auto\\\"===g.tickangle&&d>90&&d<=270&&(g.tickangle=180),g._transfn=function(t){return\\\"translate(\\\"+g.l2p(t.x)+\\\",0)\\\"},g._gridpath=function(t){return z(g.r2p(t.x),p)};var m=L(h);this.radialTickLayout!==m&&(n[\\\"radial-axis\\\"].selectAll(\\\".xtick\\\").remove(),this.radialTickLayout=m),u.doTicks(r,g,!0),O(n[\\\"radial-axis\\\"],h.showticklabels||h.ticks,{transform:I(a,l)+R(-h.angle)}),O(n[\\\"radial-grid\\\"],h.showgrid,{transform:I(a,l)}).selectAll(\\\"path\\\").attr(\\\"transform\\\",null),O(n[\\\"radial-line\\\"].select(\\\"line\\\"),h.showline,{x1:0,y1:0,x2:i,y2:0,transform:I(a,l)+R(-h.angle)}).attr(\\\"stroke-width\\\",h.linewidth).call(s.stroke,h.linecolor)},C.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+\\\"title\\\",u=void 0!==r?r:s.angle,f=_(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var m=l.bBox(this.layers[\\\"radial-axis\\\"].node()).height,v=s.titlefont.size;d=\\\"counterclockwise\\\"===s.side?-m-.4*v:m+.8*v}this.layers[\\\"radial-axis-title\\\"]=g.draw(n,c,{propContainer:s,propName:this.id+\\\".radialaxis.title\\\",placeholder:b(n,\\\"Click to enter radial axis title\\\"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:-u}})},C.updateAngularAxis=function(t,e){var r=this,i=r.gd,a=r.layers,l=r.radius,c=r.cx,f=r.cy,h=e.angularaxis,p=e.sector,d=p.map(_);r.fillViewInitialKey(\\\"angularaxis.rotation\\\",h.rotation);var g=r.angularAxis=o.extendFlat({},h,{_axislayer:a[\\\"angular-axis\\\"],_gridlayer:a[\\\"angular-grid\\\"],_id:\\\"angular\\\",_pos:0,side:\\\"right\\\",domain:[0,Math.PI],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if(\\\"linear\\\"===g.type)D(p)?g.range=p.slice():g.range=d.map(g.unTransformRad).map(w),\\\"radians\\\"===g.thetaunit&&(g.tick0=w(g.tick0),g.dtick=w(g.dtick));else if(\\\"category\\\"===g.type){var m=h.period?Math.max(h.period,h._categories.length):h._categories.length;g.range=[0,m],g._tickFilter=function(t){return r.isPtWithinSector({r:r.radialAxis.range[1],rad:g.c2rad(t.x)})}}function v(t){return g.c2rad(t.x,\\\"degrees\\\")}function y(t){return[l*Math.cos(t),l*Math.sin(t)]}E(g,h,t),g._transfn=function(t){var e=v(t),r=y(e),i=I(c+r[0],f-r[1]),a=n.select(this);return a&&a.node()&&a.classed(\\\"ticks\\\")&&(i+=R(-w(e))),i},g._gridpath=function(t){var e=y(v(t));return\\\"M0,0L\\\"+-e[0]+\\\",\\\"+e[1]};var b=\\\"outside\\\"!==h.ticks?.7:.5;g._labelx=function(t){var e=v(t),r=g._labelStandoff,n=g._pad;return(0===N(e)?0:Math.cos(e)*(r+n+b*t.fontSize))+F(e)*(t.dx+r+n)},g._labely=function(t){var e=v(t),r=g._labelStandoff,n=g._labelShift,i=g._pad;return t.dy+t.fontSize*x-n+-Math.sin(e)*(r+i+b*t.fontSize)},g._labelanchor=function(t,e){var r=v(e);return 0===N(r)?F(r)>0?\\\"start\\\":\\\"end\\\":\\\"middle\\\"};var k=L(h);r.angularTickLayout!==k&&(a[\\\"angular-axis\\\"].selectAll(\\\".angulartick\\\").remove(),r.angularTickLayout=k),u.doTicks(i,g,!0),O(a[\\\"angular-line\\\"].select(\\\"path\\\"),h.showline,{d:P(l,p),transform:I(c,f)}).attr(\\\"stroke-width\\\",h.linewidth).call(s.stroke,h.linecolor)},C.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},C.updateMainDrag=function(t,e){var r=this,o=r.gd,s=r.layers,l=t._zoomlayer,c=T.MINZOOM,u=T.OFFEDGE,f=r.radius,g=r.cx,y=r.cy,x=r.cxx,b=r.cyy,_=e.sector,w=p.makeDragger(s,\\\"path\\\",\\\"maindrag\\\",\\\"crosshair\\\");n.select(w).attr(\\\"d\\\",P(f,_)).attr(\\\"transform\\\",I(g,y));var k,M,A,S,C,E,L,z,D,O={element:w,gd:o,subplot:r.id,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis},xaxes:[r.xaxis],yaxes:[r.yaxis]};function R(t,e){var r=t-x,n=e-b;return Math.sqrt(r*r+n*n)}function B(t,e){return Math.atan2(b-e,t-x)}function F(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function N(t,e){var r=T.cornerLen,n=T.cornerHalfWidth;if(0===t)return P(2*n,_);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,f)),l=s-n,c=s+n;return\\\"M\\\"+F(l,a)+\\\"A\\\"+[l,l]+\\\" 0,0,0 \\\"+F(l,o)+\\\"L\\\"+F(c,o)+\\\"A\\\"+[c,c]+\\\" 0,0,1 \\\"+F(c,a)+\\\"Z\\\"}function j(t,e){var r,n,i=k+t,a=M+e,o=R(k,M),s=Math.min(R(i,a),f),l=B(k,M),h=B(i,a);o<u?o=0:f-o<u?o=f:s<u?s=0:f-s<u&&(s=f),Math.abs(s-o)>c?(o<s?(A=o,S=s):(A=s,S=o,h=[l,l=h][0]),r=C+P(S,_)+P(A,_),n=N(A,l)+N(S,h)):(A=null,S=null,r=C,n=\\\"M0,0Z\\\"),z.attr(\\\"d\\\",r),D.attr(\\\"d\\\",n),p.transitionZoombox(z,D,E,L),E=!0}function V(){if(p.removeZoombox(o),null!==A&&null!==S){p.showDoubleClickNotifier(o);var t=r.radialAxis.range,e=t[1]-t[0],n={};n[r.id+\\\".radialaxis.range\\\"]=[t[0]+A*e/f,t[0]+S*e/f],a.call(\\\"relayout\\\",o,n)}}O.prepFn=function(t,e,n){var a=o._fullLayout.dragmode,s=w.getBoundingClientRect();switch(k=e-s.left,M=n-s.top,a){case\\\"zoom\\\":O.moveFn=j,O.doneFn=V,function(){A=null,S=null,C=P(f,_),E=!1;var t=o._fullLayout[r.id];L=i(t.bgcolor).getLuminance(),(z=p.makeZoombox(l,L,g,y,C)).attr(\\\"fill-rule\\\",\\\"evenodd\\\"),D=p.makeCorners(l,g,y),v(l)}();break;case\\\"select\\\":case\\\"lasso\\\":m(t,e,n,O,a)}},O.clickFn=function(t,e){if(p.removeZoombox(o),2===t){var n={};for(var i in r.viewInitial)n[r.id+\\\".\\\"+i]=r.viewInitial[i];o.emit(\\\"plotly_doubleclick\\\",null),a.call(\\\"relayout\\\",o,n)}d.click(o,e,r.id)},w.onmousemove=function(t){d.hover(o,t,r.id),o._fullLayout._lasthover=w,o._fullLayout._hoversubplot=r.id},w.onmouseout=function(t){o._dragging||h.unhover(o,t)},h.init(O)},C.updateRadialDrag=function(t,e){var r=this,i=r.gd,s=r.layers,l=r.radius,c=r.cx,f=r.cy,d=r.radialAxis,g=e.radialaxis,m=_(g.angle),y=d.range.slice(),x=y[1]-y[0],b=T.radialDragBoxSize,k=b/2;if(g.visible){var M,A,S,C=p.makeRectDragger(s,\\\"radialdrag\\\",\\\"crosshair\\\",-k,-k,b,b),E={element:C,gd:i},L=c+(l+k)*Math.cos(m),z=f-(l+k)*Math.sin(m);n.select(C).attr(\\\"transform\\\",I(L,z)),E.prepFn=function(){M=null,A=null,S=null,E.moveFn=P,E.doneFn=D,v(t._zoomlayer)},E.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<T.MINDRAG&&(t=0,e=0),[t,e]},h.init(E)}function P(t,e){if(M)M(t,e);else{var r=[t,-e],n=[Math.cos(m),Math.sin(m)],i=Math.abs(o.dot(r,n)/Math.sqrt(o.dot(r,r)));isNaN(i)||(M=i<.5?O:B)}}function D(){null!==A?a.call(\\\"relayout\\\",i,r.id+\\\".radialaxis.angle\\\",A):null!==S&&a.call(\\\"relayout\\\",i,r.id+\\\".radialaxis.range[1]\\\",S)}function O(t,e){var n=L+t,i=z+e;A=w(Math.atan2(f-i,n-c));var a=I(c,f)+R(-A);s[\\\"radial-axis\\\"].attr(\\\"transform\\\",a),s[\\\"radial-line\\\"].select(\\\"line\\\").attr(\\\"transform\\\",a);var o=r.gd._fullLayout,l=o[r.id];r.updateRadialAxisTitle(o,l,A)}function B(t,e){var n=o.dot([t,-e],[Math.cos(m),Math.sin(m)]),h=y[1]-x*n/l*.75;if(x>0==h>y[0]){S=d.range[1]=h,u.doTicks(i,r.radialAxis,!0),s[\\\"radial-grid\\\"].attr(\\\"transform\\\",I(c,f)).selectAll(\\\"path\\\").attr(\\\"transform\\\",null);var p=S-y[0],g=r.sectorBBox;for(var v in r.xaxis.range=[g[0]*p,g[2]*p],r.yaxis.range=[g[1]*p,g[3]*p],r.xaxis.setScale(),r.yaxis.setScale(),r.traceHash){var b=r.traceHash[v],_=o.filterVisible(b),w=b[0][0].trace._module,k=i._fullLayout[r.id];if(w.plot(i,r,_,k),!a.traceIs(v,\\\"gl\\\"))for(var M=0;M<_.length;M++)w.style(i,_[M])}}}},C.updateAngularDrag=function(t,e){var r=this,i=r.gd,s=r.layers,c=r.radius,f=r.cx,d=r.cy,g=r.cxx,m=r.cyy,x=e.sector,b=T.angularDragBoxSize,k=p.makeDragger(s,\\\"path\\\",\\\"angulardrag\\\",\\\"move\\\"),S={element:k,gd:i};function C(t,e){return Math.atan2(m+b-e,t-g-b)}n.select(k).attr(\\\"d\\\",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return\\\"A\\\"+[t,t]+\\\" \\\"+[0,o,r]+\\\" \\\"+s(t,e)}return D(r)?(n=0,a=2*Math.PI,i=Math.PI,\\\"M\\\"+s(t,n)+l(t,i,0)+l(t,a,0)+\\\"ZM\\\"+s(e,n)+l(e,i,1)+l(e,a,1)+\\\"Z\\\"):(n=_(r[0]),a=_(r[1]),\\\"M\\\"+s(t,n)+\\\"L\\\"+s(e,n)+l(e,a,0)+\\\"L\\\"+s(t,a)+l(t,n,1)+\\\"Z\\\")}(c,c+b,x)).attr(\\\"transform\\\",I(f,d)).call(y,\\\"move\\\");var E,L,z,P,O,B,F=s.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\"),N=F.selectAll(\\\".point\\\"),j=F.selectAll(\\\".textpoint\\\");function V(t,e){var c=C(E+t,L+e),f=w(c-B);P=z+f,s.frontplot.attr(\\\"transform\\\",I(r.xOffset2,r.yOffset2)+R([-f,g,m])),r.clipPaths.circle.select(\\\"path\\\").attr(\\\"transform\\\",I(g,m)+R(f)),N.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr(\\\"transform\\\",I(e.x,e.y)+R([f]))}),j.each(function(){var t=n.select(this),e=t.select(\\\"text\\\"),r=l.getTranslate(t);t.attr(\\\"transform\\\",R([f,e.attr(\\\"x\\\"),e.attr(\\\"y\\\")])+I(r.x,r.y))});var h=r.angularAxis;for(var p in h.rotation=M(P),\\\"linear\\\"!==h.type||D(x)||(h.range=O.map(_).map(h.unTransformRad).map(w)),A(h),u.doTicks(i,h,!0),r._hasClipOnAxisFalse&&!D(x)&&(r.sector=[O[0]-f,O[1]-f],F.call(l.hideOutsideRangePoints,r)),r.traceHash)if(a.traceIs(p,\\\"gl\\\")){var d=r.traceHash[p],v=o.filterVisible(d),y=d[0][0].trace._module,b=i._fullLayout[r.id];y.plot(i,r,v,b)}}function U(){j.select(\\\"text\\\").attr(\\\"transform\\\",null);var t={};t[r.id+\\\".angularaxis.rotation\\\"]=P,a.call(\\\"relayout\\\",i,t)}S.prepFn=function(e,n,i){var a=t[r.id];O=a.sector.slice(),z=a.angularaxis.rotation;var o=k.getBoundingClientRect();E=n-o.left,L=i-o.top,B=C(E,L),S.moveFn=V,S.doneFn=U,v(t._zoomlayer)},h.init(S)},C.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=k(e[0]),o=k(e[1]);a>o&&(o+=360);var s,l,c=k(w(t.rad)),u=c+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(D(e)||c>=a&&c<=o||u>=a&&u<=o)},C.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../components/titles\\\":567,\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/setcursor\\\":622,\\\"../../registry\\\":732,\\\"../cartesian/autorange\\\":647,\\\"../cartesian/axes\\\":648,\\\"../cartesian/dragbox\\\":656,\\\"../cartesian/select\\\":665,\\\"../plots\\\":710,\\\"./constants\\\":711,\\\"./helpers\\\":712,d3:130,tinycolor2:415}],723:[function(t,e,r){\\\"use strict\\\";function n(t,e){return\\\"splom\\\"===t?-1:\\\"splom\\\"===e?1:0}e.exports={sortBasePlotModules:function(t,e){return n(t.name,e.name)},sortModules:n}},{}],724:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"./domain\\\").defaults;e.exports=function(t,e,r,a){var o,s,l=a.type,c=a.attributes,u=a.handleDefaults,f=a.partition||\\\"x\\\",h=e._subplots[l],p=h.length;function d(t,e){return n.coerce(o,s,c,t,e)}for(var g=0;g<p;g++){var m=h[g];o=t[m]?t[m]:t[m]={},e[m]=s={};var v={};v[f]=[g/p,(g+1)/p],i(s,e,d,v),a.id=m,u(o,s,d,a)}}},{\\\"../lib\\\":602,\\\"./domain\\\":673}],725:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./ternary\\\"),i=t(\\\"../../plots/get_data\\\").getSubplotCalcData,a=t(\\\"../../lib\\\").counterRegex;r.name=\\\"ternary\\\",r.attr=\\\"subplot\\\",r.idRoot=\\\"ternary\\\",r.idRegex=r.attrRegex=a(\\\"ternary\\\"),r.attributes=t(\\\"./layout/attributes\\\"),r.layoutAttributes=t(\\\"./layout/layout_attributes\\\"),r.supplyLayoutDefaults=t(\\\"./layout/defaults\\\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(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 i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],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\\\":602,\\\"../../plots/get_data\\\":684,\\\"./layout/attributes\\\":726,\\\"./layout/defaults\\\":729,\\\"./layout/layout_attributes\\\":730,\\\"./ternary\\\":731}],726:[function(t,e,r){\\\"use strict\\\";e.exports={subplot:{valType:\\\"subplotid\\\",dflt:\\\"ternary\\\",editType:\\\"calc\\\"}}},{}],727:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../cartesian/layout_attributes\\\"),i=t(\\\"../../../lib/extend\\\").extendFlat;e.exports={title:n.title,titlefont:n.titlefont,color:n.color,tickmode:n.tickmode,nticks:i({},n.nticks,{dflt:6,min:1}),tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,separatethousands:n.separatethousands,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:i({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:i({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,layer:n.layer,min:{valType:\\\"number\\\",dflt:0,min:0}}},{\\\"../../../lib/extend\\\":591,\\\"../../cartesian/layout_attributes\\\":660}],728:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../lib\\\"),i=t(\\\"./axis_attributes\\\"),a=t(\\\"../../cartesian/tick_label_defaults\\\"),o=t(\\\"../../cartesian/tick_mark_defaults\\\"),s=t(\\\"../../cartesian/tick_value_defaults\\\"),l=t(\\\"../../cartesian/line_grid_defaults\\\");e.exports=function(t,e,r){function c(r,a){return n.coerce(t,e,i,r,a)}e.type=\\\"linear\\\";var u=c(\\\"color\\\"),f=u===t.color?u:r.font.color,h=e._name.charAt(0).toUpperCase(),p=\\\"Component \\\"+h,d=c(\\\"title\\\",p);e._hovertitle=d===p?d:h,n.coerceFont(c,\\\"titlefont\\\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:f}),c(\\\"min\\\"),s(t,e,c,\\\"linear\\\"),a(t,e,c,\\\"linear\\\",{}),o(t,e,c,{outerTicks:!0}),c(\\\"showticklabels\\\")&&(n.coerceFont(c,\\\"tickfont\\\",{family:r.font.family,size:r.font.size,color:f}),c(\\\"tickangle\\\"),c(\\\"tickformat\\\")),l(t,e,c,{dfltColor:u,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),c(\\\"hoverformat\\\"),c(\\\"layer\\\")}},{\\\"../../../lib\\\":602,\\\"../../cartesian/line_grid_defaults\\\":662,\\\"../../cartesian/tick_label_defaults\\\":667,\\\"../../cartesian/tick_mark_defaults\\\":668,\\\"../../cartesian/tick_value_defaults\\\":669,\\\"./axis_attributes\\\":727}],729:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color\\\"),i=t(\\\"../../subplot_defaults\\\"),a=t(\\\"./layout_attributes\\\"),o=t(\\\"./axis_defaults\\\"),s=[\\\"aaxis\\\",\\\"baxis\\\",\\\"caxis\\\"];function l(t,e,r,i){var a,l,c,u=r(\\\"bgcolor\\\"),f=r(\\\"sum\\\");i.bgColor=n.combine(u,i.paper_bgcolor);for(var h=0;h<s.length;h++)l=t[a=s[h]]||{},c=e[a]={_name:a,type:\\\"linear\\\"},o(l,c,i);var p=e.aaxis,d=e.baxis,g=e.caxis;p.min+d.min+g.min>=f&&(p.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}e.exports=function(t,e,r){i(t,e,r,{type:\\\"ternary\\\",attributes:a,handleDefaults:l,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\\\"../../../components/color\\\":474,\\\"../../subplot_defaults\\\":724,\\\"./axis_defaults\\\":728,\\\"./layout_attributes\\\":730}],730:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../../components/color/attributes\\\"),i=t(\\\"../../domain\\\").attributes,a=t(\\\"./axis_attributes\\\"),o=t(\\\"../../../plot_api/edit_types\\\").overrideAll;e.exports=o({domain:i({name:\\\"ternary\\\"}),bgcolor:{valType:\\\"color\\\",dflt:n.background},sum:{valType:\\\"number\\\",dflt:1,min:0},aaxis:a,baxis:a,caxis:a},\\\"plot\\\",\\\"from-root\\\")},{\\\"../../../components/color/attributes\\\":473,\\\"../../../plot_api/edit_types\\\":633,\\\"../../domain\\\":673,\\\"./axis_attributes\\\":727}],731:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=o._,l=t(\\\"../../components/color\\\"),c=t(\\\"../../components/drawing\\\"),u=t(\\\"../cartesian/set_convert\\\"),f=t(\\\"../../lib/extend\\\").extendFlat,h=t(\\\"../plots\\\"),p=t(\\\"../cartesian/axes\\\"),d=t(\\\"../../components/dragelement\\\"),g=t(\\\"../../components/fx\\\"),m=t(\\\"../../components/titles\\\"),v=t(\\\"../cartesian/select\\\").prepSelect,y=t(\\\"../cartesian/select\\\").clearSelect,x=t(\\\"../cartesian/constants\\\");function b(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}e.exports=b;var _=b.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),h.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\\\"path\\\").call(l.fill,r.bgcolor)},_.makeFramework=function(t){var e=t[this.id],r=this.clipId=\\\"clip\\\"+this.layoutId+this.id,n=this.clipIdRelative=\\\"clip-relative\\\"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,\\\"clipPath\\\",r,function(t){t.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}),this.clipDefRelative=o.ensureSingleById(t._clips,\\\"clipPath\\\",n,function(t){t.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}),this.plotContainer=o.ensureSingle(this.container,\\\"g\\\",this.id),this.updateLayers(e),c.setClipUrl(this.layers.backplot,r),c.setClipUrl(this.layers.grids,r)},_.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 i=this.plotContainer.selectAll(\\\"g.toplevel\\\").data(r,String),a=[\\\"agrid\\\",\\\"bgrid\\\",\\\"cgrid\\\"];i.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&&a.forEach(function(t){e[t]=r.append(\\\"g\\\").classed(\\\"grid \\\"+t,!0);var n=\\\"bgrid\\\"===t?\\\"x\\\":\\\"y\\\";e[t].append(\\\"g\\\").classed(n,!0)})}),i.order()};var w=Math.sqrt(4/3);_.adjustLayout=function(t,e){var r,n,i,a,o,s,h=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,k=t.baxis.min,M=t.caxis.min;y>w*x?i=(a=x)*w:a=(i=y)/w,o=m*i/y,s=v*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:\\\"linear\\\",range:[_+2*M-b,b-_-2*k],domain:[d-o/2,d+o/2],_id:\\\"x\\\"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:\\\"linear\\\",range:[_,b-k-M],domain:[g-s/2,g+s/2],_id:\\\"y\\\"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var A=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{visible:!0,range:[_,b-k-M],side:\\\"left\\\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:h.layers.aaxis,_gridlayer:h.layers.agrid,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l\\\"+a+\\\",-\\\"+i/2,automargin:!1});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{visible:!0,range:[b-_-M,k],side:\\\"bottom\\\",_counterangle:30,domain:h.xaxis.domain,_axislayer:h.layers.baxis,_gridlayer:h.layers.bgrid,_counteraxis:h.aaxis,_pos:0,_id:\\\"x\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+i/2+\\\",-\\\"+a,automargin:!1});u(S,h.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var C=h.caxis=f({},t.caxis,{visible:!0,range:[b-_-k,M],side:\\\"right\\\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:h.layers.caxis,_gridlayer:h.layers.cgrid,_counteraxis:h.baxis,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+a+\\\",\\\"+i/2,automargin:!1});u(C,h.graphDiv._fullLayout),C.setScale();var E=\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";h.clipDef.select(\\\"path\\\").attr(\\\"d\\\",E),h.layers.plotbg.select(\\\"path\\\").attr(\\\"d\\\",E);var L=\\\"M0,\\\"+a+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";h.clipDefRelative.select(\\\"path\\\").attr(\\\"d\\\",L);var z=\\\"translate(\\\"+r+\\\",\\\"+n+\\\")\\\";h.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",z),h.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",null);var P=\\\"translate(\\\"+(r-S._offset)+\\\",\\\"+(n+a)+\\\")\\\";h.layers.baxis.attr(\\\"transform\\\",P),h.layers.bgrid.attr(\\\"transform\\\",P);var D=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(30)translate(0,\\\"+-T._offset+\\\")\\\";h.layers.aaxis.attr(\\\"transform\\\",D),h.layers.agrid.attr(\\\"transform\\\",D);var O=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(-30)translate(0,\\\"+-C._offset+\\\")\\\";h.layers.caxis.attr(\\\"transform\\\",O),h.layers.cgrid.attr(\\\"transform\\\",O),h.drawAxes(!0),h.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),h.layers.aline.select(\\\"path\\\").attr(\\\"d\\\",T.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"l\\\"+i/2+\\\",-\\\"+a:\\\"M0,0\\\").call(l.stroke,T.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(T.linewidth||0)+\\\"px\\\"),h.layers.bline.select(\\\"path\\\").attr(\\\"d\\\",S.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i:\\\"M0,0\\\").call(l.stroke,S.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(S.linewidth||0)+\\\"px\\\"),h.layers.cline.select(\\\"path\\\").attr(\\\"d\\\",C.showline?\\\"M\\\"+(r+i/2)+\\\",\\\"+n+\\\"l\\\"+i/2+\\\",\\\"+a:\\\"M0,0\\\").call(l.stroke,C.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(C.linewidth||0)+\\\"px\\\"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\\\"title\\\",n=this.aaxis,i=this.baxis,a=this.caxis;if(p.doTicks(e,n,!0),p.doTicks(e,i,!0),p.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(\\\"outside\\\"===a.ticks?.87*a.ticklen:0));this.layers[\\\"a-title\\\"]=m.draw(e,\\\"a\\\"+r,{propContainer:n,propName:this.id+\\\".aaxis.title\\\",placeholder:s(e,\\\"Click to enter Component A title\\\"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,\\\"text-anchor\\\":\\\"middle\\\"}});var l=(i.showticklabels?i.tickfont.size:0)+(\\\"outside\\\"===i.ticks?i.ticklen:0)+3;this.layers[\\\"b-title\\\"]=m.draw(e,\\\"b\\\"+r,{propContainer:i,propName:this.id+\\\".baxis.title\\\",placeholder:s(e,\\\"Click to enter Component B title\\\"),attributes:{x:this.x0-l,y:this.y0+this.h+.83*i.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}}),this.layers[\\\"c-title\\\"]=m.draw(e,\\\"c\\\"+r,{propContainer:a,propName:this.id+\\\".caxis.title\\\",placeholder:s(e,\\\"Click to enter Component C title\\\"),attributes:{x:this.x0+this.w+l,y:this.y0+this.h+.83*a.titlefont.size+l,\\\"text-anchor\\\":\\\"middle\\\"}})}};var k=x.MINZOOM/2+.87,M=\\\"m-0.87,.5h\\\"+k+\\\"v3h-\\\"+(k+5.2)+\\\"l\\\"+(k/2+2.6)+\\\",-\\\"+(.87*k+4.5)+\\\"l2.6,1.5l-\\\"+k/2+\\\",\\\"+.87*k+\\\"Z\\\",A=\\\"m0.87,.5h-\\\"+k+\\\"v3h\\\"+(k+5.2)+\\\"l-\\\"+(k/2+2.6)+\\\",-\\\"+(.87*k+4.5)+\\\"l-2.6,1.5l\\\"+k/2+\\\",\\\"+.87*k+\\\"Z\\\",T=\\\"m0,1l\\\"+k/2+\\\",\\\"+.87*k+\\\"l2.6,-1.5l-\\\"+(k/2+2.6)+\\\",-\\\"+(.87*k+4.5)+\\\"l-\\\"+(k/2+2.6)+\\\",\\\"+(.87*k+4.5)+\\\"l2.6,1.5l\\\"+k/2+\\\",-\\\"+.87*k+\\\"Z\\\",S=\\\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\\\",C=!0;function E(t){n.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}_.initInteractions=function(){var t,e,r,n,u,f,h,p,m,b,_=this,k=_.layers.plotbg.select(\\\"path\\\").node(),L=_.graphDiv,z=L._fullLayout._zoomlayer,P={element:k,gd:L,plotinfo:{xaxis:_.xaxis,yaxis:_.yaxis},subplot:_.id,prepFn:function(a,o,s){P.xaxes=[_.xaxis],P.yaxes=[_.yaxis];var c=L._fullLayout.dragmode;a.shiftKey&&(c=\\\"pan\\\"===c?\\\"zoom\\\":\\\"pan\\\"),P.minDrag=\\\"lasso\\\"===c?1:void 0,\\\"zoom\\\"===c?(P.moveFn=R,P.doneFn=B,function(a,o,s){var c=k.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,n=_.aaxis.range[1]-r.a,f=i(_.graphDiv._fullLayout[_.id].bgcolor).getLuminance(),h=\\\"M0,\\\"+_.h+\\\"L\\\"+_.w/2+\\\", 0L\\\"+_.w+\\\",\\\"+_.h+\\\"Z\\\",p=!1,m=z.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox\\\").attr(\\\"transform\\\",\\\"translate(\\\"+_.x0+\\\", \\\"+_.y0+\\\")\\\").style({fill:f>.2?\\\"rgba(0,0,0,0)\\\":\\\"rgba(255,255,255,0)\\\",\\\"stroke-width\\\":0}).attr(\\\"d\\\",h),b=z.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").attr(\\\"transform\\\",\\\"translate(\\\"+_.x0+\\\", \\\"+_.y0+\\\")\\\").style({fill:l.background,stroke:l.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"d\\\",\\\"M0,0Z\\\"),y(z)}(0,o,s)):\\\"pan\\\"===c?(P.moveFn=F,P.doneFn=N,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,y(z)):\\\"select\\\"!==c&&\\\"lasso\\\"!==c||v(a,o,s,P,c)},clickFn:function(t,e){if(E(L),2===t){var r={};r[_.id+\\\".aaxis.min\\\"]=0,r[_.id+\\\".baxis.min\\\"]=0,r[_.id+\\\".caxis.min\\\"]=0,L.emit(\\\"plotly_doubleclick\\\",null),a.call(\\\"relayout\\\",L,r)}g.click(L,e,_.id)}};function D(t,e){return 1-e/_.h}function O(t,e){return 1-(t+(_.h-e)/Math.sqrt(3))/_.w}function I(t,e){return(t-(_.h-e)/Math.sqrt(3))/_.w}function R(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,O(t,e),O(o,s))),d=Math.max(0,Math.min(1,I(t,e),I(o,s))),g=(l/2+d)*_.w,v=(1-l/2-c)*_.w,y=(g+v)/2,k=v-g,C=(1-l)*_.h,E=C-k/w;k<x.MINZOOM?(u=r,m.attr(\\\"d\\\",h),b.attr(\\\"d\\\",\\\"M0,0Z\\\")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},m.attr(\\\"d\\\",h+\\\"M\\\"+g+\\\",\\\"+C+\\\"H\\\"+v+\\\"L\\\"+y+\\\",\\\"+E+\\\"L\\\"+g+\\\",\\\"+C+\\\"Z\\\"),b.attr(\\\"d\\\",\\\"M\\\"+t+\\\",\\\"+e+S+\\\"M\\\"+g+\\\",\\\"+C+M+\\\"M\\\"+v+\\\",\\\"+C+A+\\\"M\\\"+y+\\\",\\\"+E+T)),p||(m.transition().style(\\\"fill\\\",f>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),b.transition().style(\\\"opacity\\\",1).duration(200),p=!0)}function B(){if(E(L),u!==r){var t={};t[_.id+\\\".aaxis.min\\\"]=u.a,t[_.id+\\\".baxis.min\\\"]=u.b,t[_.id+\\\".caxis.min\\\"]=u.c,a.call(\\\"relayout\\\",L,t),C&&L.data&&L._context.showTips&&(o.notifier(s(L,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),C=!1)}}function F(t,e){var n=t/_.xaxis._m,i=e/_.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*_.yaxis._m,t=(r.c-u.c-r.b+u.b)*_.xaxis._m);var f=\\\"translate(\\\"+(_.x0+t)+\\\",\\\"+(_.y0+e)+\\\")\\\";_.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",f);var h=\\\"translate(\\\"+-t+\\\",\\\"+-e+\\\")\\\";_.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",h),_.aaxis.range=[u.a,_.sum-u.b-u.c],_.baxis.range=[_.sum-u.a-u.c,u.b],_.caxis.range=[_.sum-u.a-u.b,u.c],_.drawAxes(!1),_.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),_._hasClipOnAxisFalse&&_.plotContainer.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\").call(c.hideOutsideRangePoints,_)}function N(){var t={};t[_.id+\\\".aaxis.min\\\"]=u.a,t[_.id+\\\".baxis.min\\\"]=u.b,t[_.id+\\\".caxis.min\\\"]=u.c,a.call(\\\"relayout\\\",L,t)}k.onmousemove=function(t){g.hover(L,t,_.id),L._fullLayout._lasthover=k,L._fullLayout._hoversubplot=_.id},k.onmouseout=function(t){L._dragging||d.unhover(L,t)},d.init(P)}},{\\\"../../components/color\\\":474,\\\"../../components/dragelement\\\":496,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../components/titles\\\":567,\\\"../../lib\\\":602,\\\"../../lib/extend\\\":591,\\\"../../registry\\\":732,\\\"../cartesian/axes\\\":648,\\\"../cartesian/constants\\\":653,\\\"../cartesian/select\\\":665,\\\"../cartesian/set_convert\\\":666,\\\"../plots\\\":710,d3:130,tinycolor2:415}],732:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lib/loggers\\\"),i=t(\\\"./lib/noop\\\"),a=t(\\\"./lib/push_unique\\\"),o=t(\\\"./lib/is_plain_object\\\"),s=t(\\\"./lib/extend\\\"),l=t(\\\"./plots/attributes\\\"),c=t(\\\"./plots/layout_attributes\\\"),u=s.extendFlat,f=s.extendDeepAll;function h(t){var e=t.name,i=t.categories,a=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 i in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s<i.length;s++)o[i[s]]=!0,r.allCategories[i[s]]=!0;for(var l in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)v(l,e);t.layoutAttributes&&u(r.traceLayoutAttributes,t.layoutAttributes)}}function p(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&&a(r.layoutArrayContainers,e),m(t)),r.modules)v(e,n);for(var i in r.subplotsRegistry)x(e,i);for(var o in r.transformsRegistry)y(e,o);t.schema&&t.schema.layout&&f(c,t.schema.layout)}function d(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Transform module *name* must be a string.\\\");var e=\\\"Transform module \\\"+t.name,i=\\\"function\\\"==typeof t.transform,a=\\\"function\\\"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+\\\" is missing a *transform* or *calcTransform* method.\\\");for(var s in i&&a&&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)y(s,t.name)}function g(t){var e=t.name,n=e.split(\\\"-\\\")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).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=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function v(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&f(r.modules[e]._module.attributes,i)}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&f(r.transformsRegistry[e].attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=\\\"subplot\\\"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&f(a,s)}}function b(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.register=function(t){if(!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\\\":h(n);break;case\\\"transform\\\":d(n);break;case\\\"component\\\":p(n);break;case\\\"locale\\\":g(n);break;case\\\"apiMethod\\\":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\\\"Invalid module was attempted to be registered!\\\")}}},r.getModule=function(t){var e=r.modules[b(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\\\"various\\\"===(t=b(t)))return!1;var i=r.modules[t];return i||(t&&\\\"area\\\"!==t&&n.log(\\\"Unrecognized trace type \\\"+t+\\\".\\\"),i=r.modules[l.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);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]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{\\\"./lib/extend\\\":591,\\\"./lib/is_plain_object\\\":604,\\\"./lib/loggers\\\":607,\\\"./lib/noop\\\":611,\\\"./lib/push_unique\\\":616,\\\"./plots/attributes\\\":645,\\\"./plots/layout_attributes\\\":701}],733:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=n.extendFlat,a=n.extendDeep;function o(t){var e;switch(t){case\\\"themes__thumb\\\":e={autosize:!0,width:150,height:150,title:\\\"\\\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\\\"thumbnail\\\":e={title:\\\"\\\",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 n,s=t.data,l=t.layout,c=a([],s),u=a({},l,o(e.tileClass)),f=t._context||{};if(e.width&&(u.width=e.width),e.height&&(u.height=e.height),\\\"thumbnail\\\"===e.tileClass||\\\"themes__thumb\\\"===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r<h.length;r++)n=h[r],[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"].indexOf(n.slice(0,5))>-1&&(u[h[r]].title=\\\"\\\");for(r=0;r<c.length;r++){var p=c[r];p.showscale=!1,p.marker&&(p.marker.showscale=!1),\\\"pie\\\"===p.type&&(p.textposition=\\\"none\\\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)u.annotations.push(e.annotations[r]);var d=Object.keys(u).filter(function(t){return t.match(/^scene\\\\d*$/)});if(d.length){var g={};for(\\\"thumbnail\\\"===e.tileClass&&(g={title:\\\"\\\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<d.length;r++){var m=u[d[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,g),i(m.yaxis,g),i(m.zaxis,g),m._scene=null}}var v=document.createElement(\\\"div\\\");e.tileClass&&(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,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&&(y.config.setBackground=e.setBackground||\\\"opaque\\\"),y.gd.defaultLayout=o(e.tileClass),y}},{\\\"../lib\\\":602}],734:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plot_api/to_image\\\"),i=t(\\\"../lib\\\"),a=t(\\\"./filesaver\\\");e.exports=function(t,e){return(e=e||{}).format=e.format||\\\"png\\\",new Promise(function(r,o){t._snapshotInProgress&&o(new Error(\\\"Snapshotting already in progress.\\\")),i.isIE()&&\\\"svg\\\"!==e.format&&o(new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\")),t._snapshotInProgress=!0;var s=n(t,e),l=e.filename||t.fn||\\\"newplot\\\";l+=\\\".\\\"+e.format,s.then(function(e){return t._snapshotInProgress=!1,a(e,l)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,o(e)})})}},{\\\"../lib\\\":602,\\\"../plot_api/to_image\\\":641,\\\"./filesaver\\\":735}],735:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r=document.createElement(\\\"a\\\"),n=\\\"download\\\"in r,i=/Version\\\\/[\\\\d\\\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(\\\"undefined\\\"!=typeof navigator&&/MSIE [1-9]\\\\./.test(navigator.userAgent)&&o(new Error(\\\"IE < 10 unsupported\\\")),i&&(document.location.href=\\\"data:application/octet-stream\\\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\\\"download\\\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\\\"undefined\\\"!=typeof navigator&&navigator.msSaveBlob){var s=t.split(/^data:image\\\\/svg\\\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\\\"download error\\\"))})}},{}],736:[function(t,e,r){\\\"use strict\\\";r.getDelay=function(t){return t._has&&(t._has(\\\"gl3d\\\")||t._has(\\\"gl2d\\\")||t._has(\\\"mapbox\\\"))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\\\"polar\\\"))&&t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],737:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./helpers\\\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\\\"./cloneplot\\\"),toSVG:t(\\\"./tosvg\\\"),svgToImg:t(\\\"./svgtoimg\\\"),toImage:t(\\\"./toimage\\\"),downloadImage:t(\\\"./download\\\")};e.exports=i},{\\\"./cloneplot\\\":733,\\\"./download\\\":734,\\\"./helpers\\\":736,\\\"./svgtoimg\\\":738,\\\"./toimage\\\":739,\\\"./tosvg\\\":740}],738:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"events\\\").EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||\\\"png\\\";if(n.isIE()&&\\\"svg\\\"!==l){var c=new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\");return a(c),t.promise?r:e.emit(\\\"error\\\",c)}var u=t.canvas,f=t.scale||1,h=f*(t.width||300),p=f*(t.height||150),d=u.getContext(\\\"2d\\\"),g=new o,m=\\\"data:image/svg+xml,\\\"+encodeURIComponent(s);u.width=h,u.height=p,g.onload=function(){var r;switch(\\\"svg\\\"!==l&&d.drawImage(g,0,0,h,p),l){case\\\"jpeg\\\":r=u.toDataURL(\\\"image/jpeg\\\");break;case\\\"png\\\":r=u.toDataURL(\\\"image/png\\\");break;case\\\"webp\\\":r=u.toDataURL(\\\"image/webp\\\");break;case\\\"svg\\\":r=m;break;default:var n=\\\"Image format is not jpeg, png, svg or webp.\\\";if(a(new Error(n)),!t.promise)return e.emit(\\\"error\\\",n)}i(r),t.promise||e.emit(\\\"success\\\",r)},g.onerror=function(r){if(a(r),!t.promise)return e.emit(\\\"error\\\",r)},g.src=m});return t.promise?r:e}},{\\\"../lib\\\":602,events:194}],739:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"events\\\").EventEmitter,i=t(\\\"../registry\\\"),a=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\\\"}),f=u.gd;f.style.position=\\\"absolute\\\",f.style.left=\\\"-5000px\\\",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call(\\\"plot\\\",f,u.data,u.layout,u.config).then(h).then(function(){var t=o.getDelay(f._fullLayout);setTimeout(function(){var t=l(f),n=document.createElement(\\\"canvas\\\");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}},t)}).catch(function(t){r.emit(\\\"error\\\",t)}),r}},{\\\"../lib\\\":602,\\\"../registry\\\":732,\\\"./cloneplot\\\":733,\\\"./helpers\\\":736,\\\"./svgtoimg\\\":738,\\\"./tosvg\\\":740,events:194}],740:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../lib\\\"),a=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,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,g=f.height;h.insert(\\\"rect\\\",\\\":first-child\\\").call(a.setRect,0,0,d,g).call(o.fill,f.paper_bgcolor);var m=f._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&&h.node().appendChild(b)}}f._draggers&&f._draggers.remove(),h.node().style.background=\\\"\\\",h.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.selectAll(\\\".point,.scatterpts\\\").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf(\\\"url(\\\")&&t.style(\\\"fill\\\",e.replace(l,\\\"TOBESTRIPPED\\\"))}),\\\"pdf\\\"!==e&&\\\"eps\\\"!==e||h.selectAll(\\\"#MathJax_SVG_glyphs path\\\").attr(\\\"stroke-width\\\",0),h.node().setAttributeNS(s.xmlns,\\\"xmlns\\\",s.svg),h.node().setAttributeNS(s.xmlns,\\\"xmlns:xlink\\\",s.xlink),\\\"svg\\\"===e&&r&&(h.attr(\\\"width\\\",r*d),h.attr(\\\"height\\\",r*g),h.attr(\\\"viewBox\\\",\\\"0 0 \\\"+d+\\\" \\\"+g));var _=(new window.XMLSerializer).serializeToString(h.node());return _=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}(_),_=(_=_.replace(/&(?!\\\\w+;|\\\\#[0-9]+;| \\\\#x[0-9A-F]+;)/g,\\\"&amp;\\\")).replace(c,\\\"'\\\"),i.isIE()&&(_=(_=(_=_.replace(/\\\"/gi,\\\"'\\\")).replace(/(\\\\('#)([^']*)('\\\\))/gi,'(\\\"#$2\\\")')).replace(/(\\\\\\\\')/gi,'\\\"')),_}},{\\\"../components/color\\\":474,\\\"../components/drawing\\\":499,\\\"../constants/xmlns_namespaces\\\":581,\\\"../lib\\\":602,d3:130}],741:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").mergeArray;e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n(e.text,t,\\\"tx\\\"),n(e.hovertext,t,\\\"htx\\\");var i=e.marker;if(i){n(i.opacity,t,\\\"mo\\\"),n(i.color,t,\\\"mc\\\");var a=i.line;a&&(n(a.color,t,\\\"mlc\\\"),n(a.width,t,\\\"mlw\\\"))}}},{\\\"../../lib\\\":602}],742:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../plots/font_attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=o({editType:\\\"calc\\\",arrayOk:!0}),c=n.marker,u=s({line:s({width:s({},c.line.width,{dflt:0}),editType:\\\"calc\\\"},i(\\\"marker.line\\\")),editType:\\\"calc\\\"},i(\\\"marker\\\"),{showscale:c.showscale,colorbar:a,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,hovertext:n.hovertext,textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"none\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),constraintext:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"both\\\",editType:\\\"calc\\\"},cliponaxis:s({},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:u,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/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"../scatter/attributes\\\":926}],743:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray,a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../../components/colorscale/has_colorscale\\\"),s=t(\\\"../../components/colorscale/calc\\\"),l=t(\\\"./arrays_to_calcdata\\\"),c=t(\\\"../scatter/calc_selection\\\");e.exports=function(t,e){var r,u,f,h,p,d=a.getFromId(t,e.xaxis||\\\"x\\\"),g=a.getFromId(t,e.yaxis||\\\"y\\\");\\\"h\\\"===(e.orientation||(e.x&&!e.y?\\\"h\\\":\\\"v\\\"))?(r=d,f=d.makeCalcdata(e,\\\"x\\\"),u=g.makeCalcdata(e,\\\"y\\\"),p=e.xcalendar):(r=g,f=g.makeCalcdata(e,\\\"y\\\"),u=d.makeCalcdata(e,\\\"x\\\"),p=e.ycalendar);var m=Math.min(u.length,f.length),v=new Array(m);for(h=0;h<m;h++)v[h]={p:u[h],s:f[h]},e.ids&&(v[h].id=String(e.ids[h]));var y,x=e.base;if(i(x)){for(h=0;h<Math.min(x.length,v.length);h++)y=r.d2c(x[h],0,p),n(y)?(v[h].b=+y,v[h].hasB=1):v[h].b=0;for(;h<v.length;h++)v[h].b=0}else{y=r.d2c(x,0,p);var b=n(y);for(y=b?y:0,h=0;h<v.length;h++)v[h].b=y,b&&(v[h].hasB=1)}return o(e,\\\"marker\\\")&&s(e,e.marker.color,\\\"marker\\\",\\\"c\\\"),o(e,\\\"marker.line\\\")&&s(e,e.marker.line.color,\\\"marker.line\\\",\\\"c\\\"),l(v,e),c(v,e),v}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/calc_selection\\\":928,\\\"./arrays_to_calcdata\\\":741,\\\"fast-isnumeric\\\":196}],744:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../scatter/xy_defaults\\\"),s=t(\\\"../bar/style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(o(t,e,c,u)){u(\\\"orientation\\\",e.x&&!e.y?\\\"h\\\":\\\"v\\\"),u(\\\"base\\\"),u(\\\"offset\\\"),u(\\\"width\\\"),u(\\\"text\\\"),u(\\\"hovertext\\\");var h=u(\\\"textposition\\\"),p=Array.isArray(h)||\\\"auto\\\"===h,d=p||\\\"inside\\\"===h,g=p||\\\"outside\\\"===h;if(d||g){var m=f(u,\\\"textfont\\\",c.font);d&&f(u,\\\"insidetextfont\\\",m),g&&f(u,\\\"outsidetextfont\\\",m),u(\\\"constraintext\\\"),u(\\\"selected.textfont.color\\\"),u(\\\"unselected.textfont.color\\\"),u(\\\"cliponaxis\\\")}s(t,e,u,r,c);var v=a.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");v(t,e,i.defaultLine,{axis:\\\"y\\\"}),v(t,e,i.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../bar/style_defaults\\\":754,\\\"../scatter/xy_defaults\\\":950,\\\"./attributes\\\":742}],745:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../scatter/fill_hover_text\\\");e.exports=function(t,e,r,s){var l,c,u,f,h,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y=\\\"closest\\\"===s,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var k=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},M=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-l,e-l,x+Math.min(1,Math.abs(e-t)/d)-1)}function T(t){return A(k(t),M(t))}function S(t){return n.inbox(t.b-c,t[f]-c,x+(t[f]-c)/(t[f]-t.b)-1)}\\\"h\\\"===m.orientation?(l=r,c=e,u=\\\"y\\\",f=\\\"x\\\",h=S,p=T):(l=e,c=r,u=\\\"x\\\",f=\\\"y\\\",p=S,h=T);var C=t[u+\\\"a\\\"],E=t[f+\\\"a\\\"];d=Math.abs(C.r2c(C.range[1])-C.r2c(C.range[0]));var L=n.getDistanceFunction(s,h,p,function(t){return(h(t)+p(t))/2});if(n.getClosest(g,L,t),!1!==t.index){y||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},M=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var z=g[t.index],P=z.mcc||m.marker.color,D=z.mlcc||m.marker.line.color,O=z.mlw||m.marker.line.width;a.opacity(P)?t.color=P:a.opacity(D)&&O&&(t.color=D);var I=m.base?z.b+z.s:z.s;t[f+\\\"0\\\"]=t[f+\\\"1\\\"]=E.c2p(z[f],!0),t[f+\\\"LabelVal\\\"]=I;var R=v.extents[v.extents.round(z.p)];return t[u+\\\"0\\\"]=C.c2p(y?k(z):R[0],!0),t[u+\\\"1\\\"]=C.c2p(y?M(z):R[1],!0),t[u+\\\"LabelVal\\\"]=z.p,t.spikeDistance=(S(z)+function(t){return A(_(t),w(t))}(z))/2+b-x,t[u+\\\"Spike\\\"]=C.c2p(z.p,!0),o(z,m,t),i.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(z,m,t),[t]}}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../registry\\\":732,\\\"../scatter/fill_hover_text\\\":934}],746:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"bar\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"bar\\\",\\\"oriented\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"draggedPts\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../scatter/colorbar\\\":930,\\\"./arrays_to_calcdata\\\":741,\\\"./attributes\\\":742,\\\"./calc\\\":743,\\\"./defaults\\\":744,\\\"./hover\\\":745,\\\"./layout_attributes\\\":747,\\\"./layout_defaults\\\":748,\\\"./plot\\\":749,\\\"./select\\\":750,\\\"./set_positions\\\":751,\\\"./style\\\":753}],747:[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\\\"}}},{}],748:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"./layout_attributes\\\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=0;h<r.length;h++){var p=r[h];if(n.traceIs(p,\\\"bar\\\")){if(l=!0,\\\"overlay\\\"!==t.barmode&&\\\"stack\\\"!==t.barmode){var d=p.xaxis+p.yaxis;f[d]&&(u=!0),f[d]=!0}if(p.visible&&\\\"histogram\\\"===p.type)\\\"category\\\"!==i.getFromId({_fullLayout:e},p[\\\"v\\\"===p.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]).type&&(c=!0)}}l&&(\\\"overlay\\\"!==s(\\\"barmode\\\")&&s(\\\"barnorm\\\"),s(\\\"bargap\\\",c&&!u?0:.2),s(\\\"bargroupgap\\\"))}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./layout_attributes\\\":747}],749:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../lib/svg_text_utils\\\"),l=t(\\\"../../components/color\\\"),c=t(\\\"../../components/drawing\\\"),u=t(\\\"../../registry\\\"),f=t(\\\"./attributes\\\"),h=f.text,p=f.textposition,d=f.textfont,g=f.insidetextfont,m=f.outsidetextfont,v=3;function y(t,e,r,n,i,a){var o;return i<1?o=\\\"scale(\\\"+i+\\\") \\\":(i=1,o=\\\"\\\"),\\\"translate(\\\"+(r-i*t)+\\\" \\\"+(n-i*e)+\\\")\\\"+o+(a?\\\"rotate(\\\"+a+\\\" \\\"+t+\\\" \\\"+e+\\\") \\\":\\\"\\\")}function x(t,e,r,n){var o=b((e=e||{}).family,r),s=b(e.size,r),l=b(e.color,r);return{family:_(t.family,o,n.family),size:function(t,e,r){if(i(e)){e=+e;var n=t.min,a=t.max,o=void 0!==n&&e<n||void 0!==a&&e>a;if(!o)return e}return void 0!==r?r:t.dflt}(t.size,s,n.size),color:function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function b(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function _(t,e,r){if(\\\"string\\\"==typeof e){if(e||!t.noBlank)return e}else if(\\\"number\\\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}e.exports=function(t,e,r,a){var f=e.xaxis,w=e.yaxis,k=t._fullLayout,M=a.selectAll(\\\"g.trace.bars\\\").data(r,function(t){return t[0].trace.uid});M.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace bars\\\").append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\"),M.exit().remove(),M.order(),M.each(function(r){var a=r[0],u=a.t,M=a.trace,A=n.select(this);e.isRangePlot||(a.node3=A);var T=u.poffset,S=Array.isArray(T),C=A.select(\\\"g.points\\\").selectAll(\\\"g.point\\\").data(o.identity);C.enter().append(\\\"g\\\").classed(\\\"point\\\",!0),C.exit().remove(),C.each(function(a,u){var A,C,E,L,z=n.select(this),P=a.p+(S?T[u]:T),D=P+a.w,O=a.b,I=O+a.s;if(\\\"h\\\"===M.orientation?(E=w.c2p(P,!0),L=w.c2p(D,!0),A=f.c2p(O,!0),C=f.c2p(I,!0),a.ct=[C,(E+L)/2]):(A=f.c2p(P,!0),C=f.c2p(D,!0),E=w.c2p(O,!0),L=w.c2p(I,!0),a.ct=[(A+C)/2,L]),i(A)&&i(C)&&i(E)&&i(L)&&A!==C&&E!==L){var R=(a.mlw+1||M.marker.line.width+1||(a.trace?a.trace.marker.line.width:0)+1)-1,B=n.round(R/2%1,2);if(!t._context.staticPlot){var F=l.opacity(a.mc||M.marker.color)<1||R>.01?N:function(t,e){return Math.abs(t-e)>=2?N(t):t>e?Math.ceil(t):Math.floor(t)};C=F(C,A=F(A,C)),L=F(L,E=F(E,L))}o.ensureSingle(z,\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"d\\\",\\\"M\\\"+A+\\\",\\\"+E+\\\"V\\\"+L+\\\"H\\\"+C+\\\"V\\\"+E+\\\"Z\\\").call(c.setClipUrl,e.layerClipId),function(t,e,r,n,i,a,l,u){var f;function w(e,r,n){var i=o.ensureSingle(e,\\\"text\\\").text(r).attr({class:\\\"bartext bartext-\\\"+f,transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}).call(c.font,n).call(s.convertToTspans,t);return i}var k=r[0].trace,M=k.orientation,A=function(t,e){var r=b(t.text,e);return _(h,r)}(k,n);if(!A)return;if(\\\"none\\\"===(f=function(t,e){var r=b(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(p,r)}(k,n)))return;var T,S,C,E,L,z,P=function(t,e,r){return x(d,t.textfont,e,r)}(k,n,t._fullLayout.font),D=function(t,e,r){return x(g,t.insidetextfont,e,r)}(k,n,P),O=function(t,e,r){return x(m,t.outsidetextfont,e,r)}(k,n,P),I=t._fullLayout.barmode,R=\\\"stack\\\"===I||\\\"relative\\\"===I,B=r[n],F=!R||B._outmost,N=Math.abs(a-i)-2*v,j=Math.abs(u-l)-2*v;\\\"outside\\\"===f&&(F||(f=\\\"inside\\\"));if(\\\"auto\\\"===f)if(F){f=\\\"inside\\\",T=w(e,A,D),S=c.bBox(T.node()),C=S.width,E=S.height;var V=C>0&&E>0,U=C<=N&&E<=j,q=C<=j&&E<=N,H=\\\"h\\\"===M?N>=C*(j/E):j>=E*(N/C);V&&(U||q||H)?f=\\\"inside\\\":(f=\\\"outside\\\",T.remove(),T=null)}else f=\\\"inside\\\";if(!T&&(T=w(e,A,\\\"outside\\\"===f?O:D),S=c.bBox(T.node()),C=S.width,E=S.height,C<=0||E<=0))return void T.remove();\\\"outside\\\"===f?(z=\\\"both\\\"===k.constraintext||\\\"outside\\\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l=\\\"h\\\"===a?Math.abs(n-r):Math.abs(e-t);l>2*v&&(s=v);var c=1;o&&(c=\\\"h\\\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,\\\"h\\\"===a?e<t?(h=e-s-u/2,p=(r+n)/2):(h=e+s+u/2,p=(r+n)/2):n>r?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return y(d,g,h,p,c,!1)}(i,a,l,u,S,M,z)):(z=\\\"both\\\"===k.constraintext||\\\"inside\\\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,g=i.height,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*v&&_>2*v?(b-=2*(f=v),_-=2*f):f=0;d<=b&&g<=_?(h=!1,p=1):d<=_&&g<=b?(h=!0,p=1):d<g==b<_?(h=!1,p=o?Math.min(b/d,_/g):1):(h=!0,p=o?Math.min(_/d,b/g):1);h&&(h=90);h?(s=p*g,l=p*d):(s=p*d,l=p*g);\\\"h\\\"===a?e<t?(c=e+f+s/2,u=(r+n)/2):(c=e-f-s/2,u=(r+n)/2):n>r?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return y(m,x,c,u,p,h)}(i,a,l,u,S,M,z));T.attr(\\\"transform\\\",L)}(t,z,r,u,A,C,E,L),e.layerClipId&&c.hideOutsideRangePoint(r[u],z.select(\\\"text\\\"),f,w,M.xcalendar,M.ycalendar)}else z.remove();function N(t){return 0===k.bargap&&0===k.bargroupgap?n.round(Math.round(t)-B,2):t}});var E=!1===r[0].trace.cliponaxis;c.setClipUrl(A,E?null:e.layerClipId)}),u.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(M,e)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../registry\\\":732,\\\"./attributes\\\":742,d3:130,\\\"fast-isnumeric\\\":196,tinycolor2:415}],750:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],751:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray,a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"../../registry\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"./sieve.js\\\");function c(t,e,r,i){if(i.length){var o,c,b,_,w=t._fullLayout.barmode,k=\\\"group\\\"===w;if(\\\"overlay\\\"===w)u(t,e,r,i);else if(k){for(o=[],c=[],b=0;b<i.length;b++)void 0===(_=i[b])[0].trace.offset?c.push(_):o.push(_);c.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new l(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,c=s.bargroupgap,u=r.positions,f=r.distinctPositions,g=r.minDiff,m=r.traces,v=u.length!==f.length,y=m.length,x=g*(1-l),b=v?x/y:x,_=b*(1-c);for(n=0;n<y;n++){i=m[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(o=a.t).barwidth=_,o.poffset=w,o.bargroupwidth=x,o.bardelta=g}r.binWidth=m[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r,v)})(t,e,a),i?(v(t,r,a),y(t,r,a)):m(t,r,a)}(t,e,r,c),o.length&&u(t,e,r,o)}else{for(o=[],c=[],b=0;b<i.length;b++)void 0===(_=i[b])[0].trace.base?c.push(_):o.push(_);c.length&&function(t,e,r,i){var o=t._fullLayout.barmode,c=\\\"stack\\\"===o,u=\\\"relative\\\"===o,h=t._fullLayout.barnorm,p=new l(i,u,!(h||c||u));f(t,e,p),function(t,e,r){var i,o,l,c,u=t._fullLayout.barnorm,f=x(e),h=r.traces,p=[null,null];for(i=0;i<h.length;i++)for(o=h[i],l=0;l<o.length;l++)if((c=o[l]).s!==a){var d=r.put(c.p,c.b+c.s),m=d+c.b+c.s;c.b=d,c[f]=m,u||(n(e.c2l(m))&&g(p,m),c.hasB&&n(e.c2l(d))&&g(p,d))}u||s.expand(e,p,{tozero:!0,padded:!0})}(t,r,p);for(var d=0;d<i.length;d++)for(var m=i[d],v=0;v<m.length;v++){var b=m[v];if(b.s!==a){var _=b.b+b.s===p.get(b.p,b.s);_&&(b._outmost=!0)}}h&&y(t,r,p)}(t,e,r,c),o.length&&u(t,e,r,o)}!function(t,e){var r,i,a,o=e._id.charAt(0),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f=1e4/(c-l),h=s.round=function(t){return String(Math.round(f*(t-l)))};for(r=0;r<t.length;r++)for((a=t[r])[0].t.extents=s,i=0;i<a.length;i++){var p=a[i],d=p[o]-p.w/2;if(n(d)){var g=p[o]+p.w/2,m=h(p.p);s[m]?s[m]=[Math.min(d,s[m][0]),Math.max(g,s[m][1])]:s[m]=[d,g]}}}(i,e)}}function u(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],c=new l([s],!1,a);f(t,e,c),i?(v(t,r,c),y(t,r,c)):m(t,r,c)}}function f(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap,l=r.minDiff,c=r.traces,u=l*(1-o),f=u*(1-s),g=-f/2;for(n=0;n<c.length;n++)(i=c[n][0].t).barwidth=f,i.poffset=g,i.bargroupwidth=u,i.bardelta=l;r.binWidth=c[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r)}function h(t){var e,r,a,o,s,l,c=t.traces;for(e=0;e<c.length;e++){o=(a=(r=c[e])[0]).trace,l=a.t;var u,f=o.offset,h=l.poffset;if(i(f)){for(u=f.slice(0,r.length),s=0;s<u.length;s++)n(u[s])||(u[s]=h);for(s=u.length;s<r.length;s++)u.push(h);l.poffset=u}else void 0!==f&&(l.poffset=f);var p=o.width,d=l.barwidth;if(i(p)){var g=p.slice(0,r.length);for(s=0;s<g.length;s++)n(g[s])||(g[s]=d);for(s=g.length;s<r.length;s++)g.push(d);if(l.barwidth=g,void 0===f){for(u=[],s=0;s<r.length;s++)u.push(h+(d-g[s])/2);l.poffset=u}}else void 0!==p&&(l.barwidth=p,void 0===f&&(l.poffset=h+(d-p)/2))}}function p(t,e,r){for(var n=r.traces,i=x(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h<o.length;h++){var p=o[h],d=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+d/2}}function d(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],l=r.minDiff,c=l/2;s.minDtick(e,l,o,n);for(var u=Math.min.apply(Math,a)-c,f=Math.max.apply(Math,a)+c,h=0;h<i.length;h++){var p=i[h],d=p[0],g=d.trace;if(void 0!==g.width||void 0!==g.offset)for(var m=d.t,v=m.poffset,y=m.barwidth,x=Array.isArray(v),b=Array.isArray(y),_=0;_<p.length;_++){var w=p[_],k=x?v[_]:v,M=b?y[_]:y,A=w.p+k,T=A+M;u=Math.min(u,A),f=Math.max(f,T)}}s.expand(e,[u,f],{padded:!1})}function g(t,e){n(t[0])?t[0]=Math.min(t[0],e):t[0]=e,n(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function m(t,e,r){for(var i=r.traces,a=x(e),o=[null,null],l=0;l<i.length;l++)for(var c=i[l],u=0;u<c.length;u++){var f=c[u],h=f.b,p=h+f.s;f[a]=p,n(e.c2l(p))&&g(o,p),f.hasB&&n(e.c2l(h))&&g(o,h)}s.expand(e,o,{tozero:!0,padded:!0})}function v(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var o=n[i],s=0;s<o.length;s++){var l=o[s];l.s!==a&&r.put(l.p,l.b+l.s)}}function y(t,e,r){var i=r.traces,o=x(e),l=\\\"fraction\\\"===t._fullLayout.barnorm?1:100,c=l/1e9,u=e.l2c(e.c2l(0)),f=\\\"stack\\\"===t._fullLayout.barmode?l:u,h=[u,f],p=!1;function d(t){n(e.c2l(t))&&(t<u-c||t>f+c||!n(u))&&(p=!0,g(h,t))}for(var m=0;m<i.length;m++)for(var v=i[m],y=0;y<v.length;y++){var b=v[y];if(b.s!==a){var _=Math.abs(l/r.get(b.p,b.s));b.b*=_,b.s*=_;var w=b.b,k=w+b.s;b[o]=k,d(k),b.hasB&&d(w)}}s.expand(e,h,{tozero:!0,padded:p})}function x(t){return t._id.charAt(0)}e.exports=function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<a.length;r++){var f=a[r];!0===f.visible&&o.traceIs(f,\\\"bar\\\")&&f.xaxis===n._id&&f.yaxis===i._id&&(\\\"h\\\"===f.orientation?l.push(s[r]):u.push(s[r]))}c(t,n,i,u),c(t,i,n,l)}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"./sieve.js\\\":752,\\\"fast-isnumeric\\\":196}],752:[function(t,e,r){\\\"use strict\\\";e.exports=a;var n=t(\\\"../../lib\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;function a(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var a=1/0,o=[],s=0;s<t.length;s++){for(var l=t[s],c=0;c<l.length;c++){var u=l[c];u.p!==i&&o.push(u.p)}l[0]&&l[0].width1&&(a=Math.min(l[0].width1,a))}this.positions=o;var f=n.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&&a!==1/0?this.minDiff=a:this.minDiff=Math.min(f.minDiff,a),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\\\"v\\\":\\\"^\\\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602}],753:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../registry\\\");function o(t,e,r){var a=t.selectAll(\\\"path\\\"),o=t.selectAll(\\\"text\\\");i.pointStyle(a,e,r),o.each(function(t){var r,a=n.select(this);function o(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}a.classed(\\\"bartext-inside\\\")?r=e.insidetextfont:a.classed(\\\"bartext-outside\\\")&&(r=e.outsidetextfont),r||(r=e.textfont),i.font(a,o(\\\"family\\\"),o(\\\"size\\\"),o(\\\"color\\\"))})}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.bars\\\"),i=r.size(),s=t._fullLayout;r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(t){(\\\"stack\\\"===s.barmode&&i>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")}),r.selectAll(\\\"g.points\\\").each(function(e){o(n.select(this),e[0].trace,t)}),a.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(r)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\\\"path\\\"),n),i.selectedTextStyle(r.selectAll(\\\"text\\\"),n)):o(r,n,t)}}},{\\\"../../components/drawing\\\":499,\\\"../../registry\\\":732,d3:130}],754:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,o,s){r(\\\"marker.color\\\",o),i(t,\\\"marker\\\")&&a(t,e,s,r,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.color\\\",n.defaultLine),i(t,\\\"marker.line\\\")&&a(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\\\":474,\\\"../../components/colorscale/defaults\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488}],755:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../lib/extend\\\").extendFlat,o=n.marker,s=o.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\\\"},name:{valType:\\\"string\\\",editType:\\\"calc+clearAxisTypes\\\"},text:a({},n.text,{}),whiskerwidth:{valType:\\\"number\\\",min:0,max:1,dflt:.5,editType:\\\"calcIfAutorange\\\"},notched:{valType:\\\"boolean\\\",editType:\\\"calcIfAutorange\\\"},notchwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.25,editType:\\\"calcIfAutorange\\\"},boxpoints:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"outliers\\\",\\\"suspectedoutliers\\\",!1],dflt:\\\"outliers\\\",editType:\\\"calcIfAutorange\\\"},boxmean:{valType:\\\"enumerated\\\",values:[!0,\\\"sd\\\",!1],dflt:!1,editType:\\\"calcIfAutorange\\\"},jitter:{valType:\\\"number\\\",min:0,max:1,editType:\\\"calcIfAutorange\\\"},pointpos:{valType:\\\"number\\\",min:-2,max:2,editType:\\\"calcIfAutorange\\\"},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"],editType:\\\"calc+clearAxisTypes\\\"},marker:{outliercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0, 0, 0, 0)\\\",editType:\\\"style\\\"},symbol:a({},o.symbol,{arrayOk:!1,editType:\\\"plot\\\"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:\\\"style\\\"}),size:a({},o.size,{arrayOk:!1,editType:\\\"calcIfAutorange\\\"}),color:a({},o.color,{arrayOk:!1,editType:\\\"style\\\"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:\\\"style\\\"}),width:a({},s.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,selected:{marker:n.selected.marker,editType:\\\"style\\\"},unselected:{marker:n.unselected.marker,editType:\\\"style\\\"},hoveron:{valType:\\\"flaglist\\\",flags:[\\\"boxes\\\",\\\"points\\\"],dflt:\\\"boxes+points\\\",editType:\\\"style\\\"}}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib/extend\\\":591,\\\"../scatter/attributes\\\":926}],756:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=i._,o=t(\\\"../../plots/cartesian/axes\\\");function s(t,e,r){var n={text:\\\"tx\\\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||\\\"x\\\"),m=o.getFromId(t,e.yaxis||\\\"y\\\"),v=[],y=\\\"violin\\\"===e.type?\\\"_numViolins\\\":\\\"_numBoxes\\\";\\\"h\\\"===e.orientation?(u=g,f=\\\"x\\\",h=m,p=\\\"y\\\"):(u=m,f=\\\"y\\\",h=g,p=\\\"x\\\");var x=u.makeCalcdata(e,f),b=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+\\\"0\\\"in t?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:o;var l=r.d2c(s,0,t[e+\\\"calendar\\\"]);return a.map(function(){return l})}(e,p,h,x,d[y]),_=i.distinctVals(b),w=_.vals,k=_.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(w,k),A=w.length,T=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(A);for(r=0;r<e._length;r++){var S=x[r];if(n(S)){var C=i.findBin(b[r],M);if(C>=0&&C<A){var E={v:S,i:r};s(E,e,r),T[C].push(E)}}}for(r=0;r<A;r++)if(T[r].length>0){var L=T[r].sort(l),z=L.map(c),P=z.length,D={pos:w[r],pts:L};D.min=z[0],D.max=z[P-1],D.mean=i.mean(z,P),D.sd=i.stdev(z,P,D.mean),D.q1=i.interp(z,.25),D.med=i.interp(z,.5),D.q3=i.interp(z,.75),D.lf=Math.min(D.q1,z[Math.min(i.findBin(2.5*D.q1-1.5*D.q3,z,!0)+1,P-1)]),D.uf=Math.max(D.q3,z[Math.max(i.findBin(2.5*D.q3-1.5*D.q1,z),0)]),D.lo=4*D.q1-3*D.q3,D.uo=4*D.q3-3*D.q1;var O=1.57*(D.q3-D.q1)/Math.sqrt(P);D.ln=D.med-O,D.un=D.med+O,v.push(D)}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)}}(v,e),o.expand(u,x,{padded:!0}),v.length>0?(v[0].t={num:d[y],dPos:k,posLetter:p,valLetter:f,labels:{med:a(t,\\\"median:\\\"),min:a(t,\\\"min:\\\"),q1:a(t,\\\"q1:\\\"),q3:a(t,\\\"q3:\\\"),max:a(t,\\\"max:\\\"),mean:\\\"sd\\\"===e.boxmean?a(t,\\\"mean \\\\xb1 \\\\u03c3:\\\"):a(t,\\\"mean:\\\"),lf:a(t,\\\"lower fence:\\\"),uf:a(t,\\\"upper fence:\\\")}},d[y]++,v):[{t:{empty:!0}}]}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"fast-isnumeric\\\":196}],757:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./attributes\\\");function s(t,e,r,n){var a,o,s=r(\\\"y\\\"),l=r(\\\"x\\\"),c=l&&l.length;if(s&&s.length)a=\\\"v\\\",c?o=Math.min(l.length,s.length):(r(\\\"x0\\\"),o=s.length);else{if(!c)return void(e.visible=!1);a=\\\"h\\\",r(\\\"y0\\\"),o=l.length}e._length=o,i.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),r(\\\"orientation\\\",a)}function l(t,e,r,i){var a=i.prefix,s=n.coerce2(t,e,o,\\\"marker.outliercolor\\\"),l=r(\\\"marker.line.outliercolor\\\"),c=r(a+\\\"points\\\",s||l?\\\"suspectedoutliers\\\":void 0);c?(r(\\\"jitter\\\",\\\"all\\\"===c?.3:0),r(\\\"pointpos\\\",\\\"all\\\"===c?-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\\\"===c&&(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\\\")):delete e.marker,r(\\\"hoveron\\\"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,o,r,i)}s(t,e,c,i),!1!==e.visible&&(c(\\\"line.color\\\",(t.marker||{}).color||r),c(\\\"line.width\\\"),c(\\\"fillcolor\\\",a.addOpacity(e.line.color,.5)),c(\\\"whiskerwidth\\\"),c(\\\"boxmean\\\"),c(\\\"notched\\\",void 0!==t.notchwidth)&&c(\\\"notchwidth\\\"),l(t,e,c,{prefix:\\\"box\\\"}))},handleSampleDefaults:s,handlePointsDefaults:l}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":755}],758:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/fx\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../scatter/fill_hover_text\\\");function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b=t.cd,_=t.xa,w=t.ya,k=b[0].trace,M=b[0].t,A=\\\"violin\\\"===k.type,T=[],S=M.bdPos,C=M.wHover,E=function(t){return t.pos+M.bPos-p};A&&\\\"both\\\"!==k.side?(\\\"positive\\\"===k.side&&(m=function(t){var e=E(t);return a.inbox(e,e+C,v)}),\\\"negative\\\"===k.side&&(m=function(t){var e=E(t);return a.inbox(e-C,e,v)})):m=function(t){var e=E(t);return a.inbox(e-C,e+C,v)},x=A?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},\\\"h\\\"===k.orientation?(h=e,p=r,d=x,g=m,l=\\\"y\\\",u=w,c=\\\"x\\\",f=_):(h=r,p=e,d=m,g=x,l=\\\"x\\\",u=_,c=\\\"y\\\",f=w);var L=Math.min(1,S/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-L,y=t.maxSpikeDistance-L;var P=a.getDistanceFunction(s,d,g,z);if(a.getClosest(b,P,t),!1===t.index)return[];var D=b[t.index],O=k.line.color,I=(k.marker||{}).color;o.opacity(O)&&k.line.width?t.color=O:o.opacity(I)&&k.boxpoints?t.color=I:t.color=k.fillcolor,t[l+\\\"0\\\"]=u.c2p(D.pos+M.bPos-S,!0),t[l+\\\"1\\\"]=u.c2p(D.pos+M.bPos+S,!0),t[l+\\\"LabelVal\\\"]=D.pos;var R=l+\\\"Spike\\\";t.spikeDistance=z(D)*y/v,t[R]=u.c2p(D.pos,!0);var B={},F=[\\\"med\\\",\\\"min\\\",\\\"q1\\\",\\\"q3\\\",\\\"max\\\"];(k.boxmean||(k.meanline||{}).visible)&&F.push(\\\"mean\\\"),(k.boxpoints||k.points)&&F.push(\\\"lf\\\",\\\"uf\\\");for(var N=0;N<F.length;N++){var j=F[N];if(j in D&&!(D[j]in B)){B[D[j]]=!0;var V=D[j],U=f.c2p(V,!0),q=i.extendFlat({},t);q[c+\\\"0\\\"]=q[c+\\\"1\\\"]=U,q[c+\\\"LabelVal\\\"]=V,q[c+\\\"Label\\\"]=(M.labels?M.labels[j]+\\\" \\\":\\\"\\\")+n.hoverLabelText(f,V),\\\"mean\\\"===j&&\\\"sd\\\"in D&&\\\"sd\\\"===k.boxmean&&(q[c+\\\"err\\\"]=D.sd),t.name=\\\"\\\",t.spikeDistance=void 0,t[R]=void 0,T.push(q)}}return T}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),g=a.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(f.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),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:l.x,y0:_-w,y1:_+w,yLabelVal:l.y,spikeDistance:t.distance});var k=\\\"h\\\"===h.orientation?\\\"y\\\":\\\"x\\\",M=\\\"h\\\"===h.orientation?f:u;return n[k+\\\"Spike\\\"]=M.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\\\"boxes\\\")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf(\\\"points\\\")&&(i=c(t,e,r)),\\\"closest\\\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934}],759:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\").supplyDefaults,n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\").supplyLayoutDefaults,n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"./set_positions\\\").setPositions,n.plot=t(\\\"./plot\\\").plot,n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\").hoverPoints,n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"box\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box-violin\\\",\\\"showLegend\\\",\\\"draggedPts\\\",\\\"boxLayout\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":755,\\\"./calc\\\":756,\\\"./defaults\\\":757,\\\"./hover\\\":758,\\\"./layout_attributes\\\":760,\\\"./layout_defaults\\\":761,\\\"./plot\\\":762,\\\"./select\\\":763,\\\"./set_positions\\\":764,\\\"./style\\\":765}],760:[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\\\"}}},{}],761:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"./layout_attributes\\\");function o(t,e,r,i,a){for(var o,s=a+\\\"Layout\\\",l=0;l<r.length;l++)if(n.traceIs(r[l],s)){o=!0;break}o&&(i(a+\\\"mode\\\"),i(a+\\\"gap\\\"),i(a+\\\"groupgap\\\"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},\\\"box\\\")},_supply:o}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./layout_attributes\\\":760}],762:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/drawing\\\"),o=5,s=.01;function l(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.wdPos||0,h=a.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var m=t.selectAll(\\\"path.box\\\").data(i.identity);m.enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"box\\\"),m.exit().remove(),m.each(function(t){var e=t.pos,a=l.c2p(e+u,!0)+h,m=l.c2p(e+u-o,!0)+h,v=l.c2p(e+u+s,!0)+h,y=l.c2p(e+u-f,!0)+h,x=l.c2p(e+u+f,!0)+h,b=l.c2p(e+u-o*g,!0)+h,_=l.c2p(e+u+s*g,!0)+h,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),M=i.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,T=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),C=c.c2p(t.ln,!0),E=c.c2p(t.un,!0);\\\"h\\\"===r.orientation?n.select(this).attr(\\\"d\\\",\\\"M\\\"+M+\\\",\\\"+b+\\\"V\\\"+_+\\\"M\\\"+w+\\\",\\\"+m+\\\"V\\\"+v+(d?\\\"H\\\"+C+\\\"L\\\"+M+\\\",\\\"+_+\\\"L\\\"+E+\\\",\\\"+v:\\\"\\\")+\\\"H\\\"+k+\\\"V\\\"+m+(d?\\\"H\\\"+E+\\\"L\\\"+M+\\\",\\\"+b+\\\"L\\\"+C+\\\",\\\"+m:\\\"\\\")+\\\"ZM\\\"+w+\\\",\\\"+a+\\\"H\\\"+T+\\\"M\\\"+k+\\\",\\\"+a+\\\"H\\\"+S+(0===p?\\\"\\\":\\\"M\\\"+T+\\\",\\\"+y+\\\"V\\\"+x+\\\"M\\\"+S+\\\",\\\"+y+\\\"V\\\"+x)):n.select(this).attr(\\\"d\\\",\\\"M\\\"+b+\\\",\\\"+M+\\\"H\\\"+_+\\\"M\\\"+m+\\\",\\\"+w+\\\"H\\\"+v+(d?\\\"V\\\"+C+\\\"L\\\"+_+\\\",\\\"+M+\\\"L\\\"+v+\\\",\\\"+E:\\\"\\\")+\\\"V\\\"+k+\\\"H\\\"+m+(d?\\\"V\\\"+E+\\\"L\\\"+b+\\\",\\\"+M+\\\"L\\\"+m+\\\",\\\"+C:\\\"\\\")+\\\"ZM\\\"+a+\\\",\\\"+w+\\\"V\\\"+T+\\\"M\\\"+a+\\\",\\\"+k+\\\"V\\\"+S+(0===p?\\\"\\\":\\\"M\\\"+y+\\\",\\\"+T+\\\"H\\\"+x+\\\"M\\\"+y+\\\",\\\"+S+\\\"H\\\"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,f=n.bPos,h=r.boxpoints||r.points;i.seedPseudoRandom();var p=t.selectAll(\\\"g.points\\\").data(function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t});p.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\"),p.exit().remove();var d=p.selectAll(\\\"path\\\").data(function(t){var e,n,a=\\\"all\\\"===h?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(a.length),e=0;e<a.length;e++)d[e]=1;else for(e=0;e<a.length;e++){var m=Math.max(0,e-o),v=a[m].v,y=Math.min(a.length-1,e+o),x=a[y].v;\\\"all\\\"!==h&&(a[e].v<t.lf?x=Math.min(x,t.lf):v=Math.max(v,t.uf));var b=Math.sqrt(p*(y-m)/(x-v+c))||0;b=i.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<a.length;e++){var _=a[e],w=_.v,k=r.jitter?n*d[e]*(i.pseudoRandom()-.5):0,M=t.pos+f+u*(r.pointpos+k);\\\"h\\\"===r.orientation?(_.y=M,_.x=w):(_.x=M,_.y=w),\\\"suspectedoutliers\\\"===h&&w<t.uo&&w>t.lo&&(_.so=!0)}return a});d.enter().append(\\\"path\\\").classed(\\\"point\\\",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var h=t.selectAll(\\\"path.mean\\\").data(i.identity);h.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}),h.exit().remove(),h.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,h=c.c2p(t.mean,!0),p=c.c2p(t.mean-t.sd,!0),d=c.c2p(t.mean+t.sd,!0);\\\"h\\\"===r.orientation?n.select(this).attr(\\\"d\\\",\\\"M\\\"+h+\\\",\\\"+i+\\\"V\\\"+a+(\\\"sd\\\"===r.boxmean?\\\"m0,0L\\\"+p+\\\",\\\"+e+\\\"L\\\"+h+\\\",\\\"+i+\\\"L\\\"+d+\\\",\\\"+e+\\\"Z\\\":\\\"\\\")):n.select(this).attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+h+\\\"H\\\"+a+(\\\"sd\\\"===r.boxmean?\\\"m0,0L\\\"+e+\\\",\\\"+p+\\\"L\\\"+i+\\\",\\\"+h+\\\"L\\\"+e+\\\",\\\"+d+\\\"Z\\\":\\\"\\\"))})}e.exports={plot:function(t,e,r,i){var a=t._fullLayout,o=e.xaxis,s=e.yaxis,f=i.selectAll(\\\"g.trace.boxes\\\").data(r,function(t){return t[0].trace.uid});f.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace boxes\\\"),f.exit().remove(),f.order(),f.each(function(t){var r=t[0],i=r.t,f=r.trace,h=n.select(this);e.isRangePlot||(r.node3=h);var p,d,g=a._numBoxes,m=1-a.boxgap,v=\\\"group\\\"===a.boxmode&&g>1,y=i.dPos*m*(1-a.boxgroupgap)/(v?g:1),x=v?2*i.dPos*((i.num+.5)/g-.5)*m:0,b=y*f.whiskerwidth;!0!==f.visible||i.empty?h.remove():(\\\"h\\\"===f.orientation?(p=s,d=o):(p=o,d=s),i.bPos=x,i.bdPos=y,i.wdPos=b,i.wHover=i.dPos*(v?m/g:1),l(h,{pos:p,val:d},f,i),f.boxpoints&&c(h,{x:o,y:s},f,i),f.boxmean&&u(h,{pos:p,val:d},f,i))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,d3:130}],763:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],764:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\"),a=[\\\"v\\\",\\\"h\\\"];function o(t,e,r,a,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],p=\\\"violin\\\"===t?\\\"_numViolins\\\":\\\"_numBoxes\\\";for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)h.push(c[l].pos);if(h.length){var d=i.distinctVals(h),g=d.minDiff/2;for(h.length===d.vals.length&&(f[p]=1),n.minDtick(a,d.minDiff,d.vals[0],!0),s=0;s<r.length;s++)(c=u[r[s]])[0].t.dPos=g;var m=(1-f[t+\\\"gap\\\"])*(1-f[t+\\\"groupgap\\\"])*g/f[p];n.expand(a,d.vals,{vpadminus:g+o[0]*m,vpadplus:g+o[1]*m})}}e.exports={setPositions:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c=\\\"h\\\"===l?i:n,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\\\"box\\\"!==m.type&&\\\"candlestick\\\"!==m.type||g.empty||(m.orientation||\\\"v\\\")!==l||m.xaxis!==n._id||m.yaxis!==i._id||(u.push(p),m.boxpoints&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}o(\\\"box\\\",t,u,c,[f,h])}},setPositionOffset:o}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],765:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../../components/drawing\\\");e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.boxes\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.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(i.stroke,r).call(i.fill,n)}var c=r.selectAll(\\\"path.box\\\");if(\\\"candlestick\\\"===o.type)c.each(function(t){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(i.stroke,o.line.color);var u=r.selectAll(\\\"path.point\\\");a.pointStyle(u,o,t)}})},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace,i=r.selectAll(\\\"path.point\\\");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,d3:130}],766:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").extendFlat,i=t(\\\"../ohlc/attributes\\\"),a=t(\\\"../box/attributes\\\");function o(t){return{line:{color:n({},a.line.color,{dflt:t}),width:a.line.width,editType:\\\"style\\\"},fillcolor:a.fillcolor,editType:\\\"style\\\"}}e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n({},a.line.width,{}),editType:\\\"style\\\"},increasing:o(i.increasing.line.color.dflt),decreasing:o(i.decreasing.line.color.dflt),text:i.text,whiskerwidth:n({},a.whiskerwidth,{dflt:0})}},{\\\"../../lib\\\":602,\\\"../box/attributes\\\":755,\\\"../ohlc/attributes\\\":881}],767:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=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=i.getFromId(t,e.xaxis),l=i.getFromId(t,e.yaxis),c=s.makeCalcdata(e,\\\"x\\\"),u=a(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\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../ohlc/calc\\\":882}],768:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../ohlc/ohlc_defaults\\\"),o=t(\\\"./attributes\\\");function s(t,e,r,n){var a=r(n+\\\".line.color\\\");r(n+\\\".line.width\\\",e.line.width),r(n+\\\".fillcolor\\\",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function l(r,i){return n.coerce(t,e,o,r,i)}a(t,e,l,i)?(l(\\\"line.width\\\"),s(t,e,l,\\\"increasing\\\"),s(t,e,l,\\\"decreasing\\\"),l(\\\"text\\\"),l(\\\"whiskerwidth\\\"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../ohlc/ohlc_defaults\\\":886,\\\"./attributes\\\":766}],769:[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,setPositions:t(\\\"../box/set_positions\\\").setPositions,supplyDefaults:t(\\\"./defaults\\\"),calc:t(\\\"./calc\\\"),plot:t(\\\"../box/plot\\\").plot,layerName:\\\"boxlayer\\\",style:t(\\\"../box/style\\\").style,hoverPoints:t(\\\"../ohlc/hover\\\"),selectPoints:t(\\\"../ohlc/select\\\")}},{\\\"../../plots/cartesian\\\":659,\\\"../box/layout_attributes\\\":760,\\\"../box/layout_defaults\\\":761,\\\"../box/plot\\\":762,\\\"../box/set_positions\\\":764,\\\"../box/style\\\":765,\\\"../ohlc/hover\\\":884,\\\"../ohlc/select\\\":888,\\\"./attributes\\\":766,\\\"./calc\\\":767,\\\"./defaults\\\":768}],770:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./axis_defaults\\\");e.exports=function(t,e,r,i,a){i(\\\"a\\\")||(i(\\\"da\\\"),i(\\\"a0\\\")),i(\\\"b\\\")||(i(\\\"db\\\"),i(\\\"b0\\\")),function(t,e,r,i){[\\\"aaxis\\\",\\\"baxis\\\"].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:\\\"x\\\",id:o+\\\"axis\\\",letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||\\\"-\\\"===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{\\\"./axis_defaults\\\":775}],771:[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;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{\\\"../../lib\\\":602}],772:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"./axis_attributes\\\"),a=t(\\\"../../components/color/attributes\\\"),o=n({editType:\\\"calc\\\"});o.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.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:i,baxis:i,font:o,color:{valType:\\\"color\\\",dflt:a.defaultLine,editType:\\\"plot\\\"}}},{\\\"../../components/color/attributes\\\":473,\\\"../../plots/font_attributes\\\":674,\\\"./axis_attributes\\\":774}],773:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,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:i,w=\\\"a\\\"===y?i:r,k=\\\"a\\\"===y?e.a.length:e.b.length,M=\\\"a\\\"===y?e.b.length:e.a.length,A=Math.floor(\\\"a\\\"===y?t.b2j(w):t.a2i(w)),T=\\\"a\\\"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(M-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]),C=b(_[1]),E=S<C?1:-1,L=1e-8*(C-S),z=E>0?Math.floor:Math.ceil,P=E>0?Math.ceil:Math.floor,D=E>0?Math.min:Math.max,O=E>0?Math.max:Math.min,I=z(S+L),R=P(C-L),B=[[f=T(S)]];for(a=I;a*E<R*E;a+=E)c=[],g=O(S,a),v=(m=D(C,a+E))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+m)))),h=T(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),B.push(c),f=h;return B}},{\\\"../../lib\\\":602}],774:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../components/color/attributes\\\"),a=t(\\\"../../plots/cartesian/layout_attributes\\\"),o=t(\\\"../../plot_api/edit_types\\\").overrideAll;e.exports={color:{valType:\\\"color\\\",editType:\\\"calc\\\"},smoothing:{valType:\\\"number\\\",dflt:1,min:0,max:1.3,editType:\\\"calc\\\"},title:{valType:\\\"string\\\",editType:\\\"calc\\\"},titlefont:n({editType:\\\"calc\\\"}),titleoffset:{valType:\\\"number\\\",dflt:10,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(a.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:i.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:i.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\\\"},editType:\\\"calc\\\"}},{\\\"../../components/color/attributes\\\":473,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/font_attributes\\\":674}],775:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./attributes\\\"),i=t(\\\"../../components/color\\\").addOpacity,a=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\\\"),f=t(\\\"../../plots/cartesian/axis_autotype\\\");e.exports=function(t,e,r){var h=r.letter,p=r.font||{},d=n[h+\\\"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=f(e,n)}(e,r.data),\\\"-\\\"===e.type?e.type=\\\"linear\\\":v=t.type=e.type),g(\\\"smoothing\\\"),g(\\\"cheatertype\\\"),g(\\\"showticklabels\\\"),g(\\\"labelprefix\\\",h+\\\" = \\\"),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=h,\\\"date\\\"===v)&&a.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\\\"),o.coerceFont(g,\\\"titlefont\\\",{family:p.family,size:Math.round(1.2*p.size),color:x}),g(\\\"titleoffset\\\"),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:h});var b=m(\\\"gridcolor\\\",i(y,.3)),_=m(\\\"gridwidth\\\"),w=g(\\\"showgrid\\\");w||(delete e.gridcolor,delete e.gridwidth);var k=m(\\\"startlinecolor\\\",y),M=m(\\\"startlinewidth\\\",_);g(\\\"startline\\\",e.showgrid||!!k||!!M)||(delete e.startlinecolor,delete e.startlinewidth);var A=m(\\\"endlinecolor\\\",y),T=m(\\\"endlinewidth\\\",_);return g(\\\"endline\\\",e.showgrid||!!A||!!T)||(delete e.endlinecolor,delete e.endlinewidth),w?(g(\\\"minorgridcount\\\"),g(\\\"minorgridwidth\\\",_),g(\\\"minorgridcolor\\\",i(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.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_autotype\\\":649,\\\"../../plots/cartesian/category_order_defaults\\\":652,\\\"../../plots/cartesian/set_convert\\\":666,\\\"../../plots/cartesian/tick_label_defaults\\\":667,\\\"../../plots/cartesian/tick_value_defaults\\\":669,\\\"../../registry\\\":732,\\\"./attributes\\\":772}],776:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\").isArray1D,a=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\\\"),f=t(\\\"./smooth_fill_2d_array\\\"),h=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&&i(v)&&x.push(\\\"x\\\"),y&&i(y)&&x.push(\\\"y\\\"),x.length&&h(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 k=\\\"index\\\"===g.cheatertype?b.length:b,M=\\\"index\\\"===m.cheatertype?_.length:_;v=a(k,M,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var A=o(v),T=o(y),S=.5*(A[1]-A[0]),C=.5*(A[1]+A[0]),E=.5*(T[1]-T[0]),L=.5*(T[1]+T[0]);return A=[C-1.3*S,C+1.3*S],T=[L-1.3*E,L+1.3*E],n.expand(r,A,{padded:!0}),n.expand(d,T,{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\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../heatmap/clean_2d_array\\\":837,\\\"../heatmap/convert_column_xyz\\\":839,\\\"./array_minmax\\\":771,\\\"./calc_clippath\\\":777,\\\"./calc_gridlines\\\":778,\\\"./calc_labels\\\":779,\\\"./cheater_basis\\\":781,\\\"./set_convert\\\":794,\\\"./smooth_fill_2d_array\\\":795}],777:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],778:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t[\\\"_\\\"+e],b=t[e+\\\"axis\\\"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=t[\\\"_\\\"+r],A=t[r+\\\"axis\\\"];\\\"array\\\"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,C=T[0].length,E=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),\\\"array\\\"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function D(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if(\\\"b\\\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<L;i++)c=Math.min(L-2,i),u=i-c,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<z;a++)o=Math.min(z-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=M.length,\\\"b\\\"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<C;i++)c[i]=T[n*P][i],u[i]=S[n*P][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<E;i++)c[i]=T[i][n*P],u[i]=S[i][n*P];return f.axisLetter=e,f.axis=b,f.crossAxis=A,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=A.smoothing,f}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,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(O(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,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],a=0;a<b.minorgridcount;a++)(y=g-s)<=0||(d=m+(v-m)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(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],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(D(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(D(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(D(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\\\"../../lib/extend\\\":591,\\\"../../plots/cartesian/axes\\\":648}],779:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\\\"start\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a)),-1!==[\\\"end\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{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(a))}},{\\\"../../lib/extend\\\":591,\\\"../../plots/cartesian/axes\\\":648}],780:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],781:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=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])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var g=1/0,m=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[a][i]=c;var v=1/(m-g),y=-g*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{\\\"../../lib\\\":602}],782:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./catmull_rom\\\"),i=t(\\\"../../lib\\\").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,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=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],g=r[u],m=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=g[c],d[f]=m[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=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[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{\\\"../../lib\\\":602,\\\"./catmull_rom\\\":780}],783:[function(t,e,r){\\\"use strict\\\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],784:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,g=p*i*2,m=-3*d,v=3*(d-g),y=3*(g-h),x=3*h,b=a*a,_=b*a,w=1-a,k=w*w,M=k*w;for(f=0;f<t.length;f++)o=m*(u=t[f])[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[f]=M*o+3*(k*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,g=3*(h-p),m=3*(p-u),v=3*u,y=1-a;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+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;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+a*s;return e}}},{}],785:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,g=d*d,m=g*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),k=3*(b-v),M=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+k*u[n+2][r]+M*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+M*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+M*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+M*u[n+3][r+3],e[f]=m*o+3*(g*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,g=-3*p,m=3*(p-d),v=3*(d-f),y=3*f;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+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;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+i*s;return e}}},{}],786:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,M=k*k,A=M*k;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*m*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*m*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*m*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*m*u[p+3][h+2])+v*u[p+3][h+3],e[f]=A*i+3*(M*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=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++)i=_*(f=t[u])[p][h]+g*f[p+1][h],s=_*f[p][h+1]+g*f[p+1][h+1],l=_*f[p][h+2]+g*f[p+1][h+1],c=_*f[p][h+3]+g*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*m*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),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++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,g=1-h;for(l=0;l<t.length;l++)i=g*(c=t[l])[f][u]+h*c[f][u+1],s=g*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],787:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./xy_defaults\\\"),a=t(\\\"./ab_defaults\\\"),o=t(\\\"./attributes\\\"),s=t(\\\"../../components/color/attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId=\\\"clip\\\"+e.uid+\\\"carpet\\\";var u=c(\\\"color\\\",s.defaultLine);(n.coerceFont(c,\\\"font\\\"),c(\\\"carpet\\\"),a(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),i(t,e,c)||(e.visible=!1),e._cheater&&c(\\\"cheaterslope\\\")):e.visible=!1}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib\\\":602,\\\"./ab_defaults\\\":770,\\\"./attributes\\\":772,\\\"./xy_defaults\\\":796}],788:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.plot=t(\\\"./plot\\\"),n.calc=t(\\\"./calc\\\"),n.animatable=!0,n.isContainer=!0,n.moduleType=\\\"trace\\\",n.name=\\\"carpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"carpet\\\",\\\"carpetAxis\\\",\\\"notLegendIsolatable\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":772,\\\"./calc\\\":776,\\\"./defaults\\\":787,\\\"./plot\\\":793}],789:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\\\"carpet\\\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],790:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){if(0===t.length)return\\\"\\\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\\\",\\\"+e[n]),r&&n<t.length-a&&(i.push(\\\"C\\\"),i.push([t[n+1]+\\\",\\\"+e[n+1],t[n+2]+\\\",\\\"+e[n+2]+\\\" \\\"].join(\\\" \\\")));return i.join(r?\\\"\\\":\\\"L\\\")}},{}],791:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{\\\"../../lib\\\":602}],792:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}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}}},{}],793:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"./map_1d_array\\\"),o=t(\\\"./makepath\\\"),s=t(\\\"./orient_text\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../constants/alignment\\\"),f=t(\\\"../../plots/get_data\\\").getUidsFromCalcData;function h(t,e,r,n){var i=r[0],l=r[0].trace,u=e.xaxis,f=e.yaxis,h=l.aaxis,g=l.baxis,m=t._fullLayout._clips,y=c.ensureSingle(n,\\\"g\\\",\\\"carpet\\\"+l.uid).classed(\\\"trace\\\",!0),x=c.ensureSingle(y,\\\"g\\\",\\\"minorlayer\\\"),b=c.ensureSingle(y,\\\"g\\\",\\\"majorlayer\\\"),_=c.ensureSingle(y,\\\"g\\\",\\\"boundarylayer\\\"),w=c.ensureSingle(y,\\\"g\\\",\\\"labellayer\\\");y.style(\\\"opacity\\\",l.opacity),p(u,f,b,h,\\\"a\\\",h._gridlines),p(u,f,b,g,\\\"b\\\",g._gridlines),p(u,f,x,h,\\\"a\\\",h._minorgridlines),p(u,f,x,g,\\\"b\\\",g._minorgridlines),p(u,f,_,h,\\\"a-boundary\\\",h._boundarylines),p(u,f,_,g,\\\"b-boundary\\\",g._boundarylines),function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,\\\"a-title\\\"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,\\\"b-title\\\")}(t,w,l,i,u,f,d(t,u,f,l,i,w,h._labels,\\\"a-label\\\"),d(t,u,f,l,i,w,g._labels,\\\"b-label\\\")),function(t,e,r,n,i){var s,l,u,f,h=r.select(\\\"#\\\"+t._clipPathId);h.size()||(h=r.append(\\\"clipPath\\\").classed(\\\"carpetclip\\\",!0));var p=c.ensureSingle(h,\\\"path\\\",\\\"carpetboundary\\\"),d=e.clipsegments,g=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),g.push(o(l,u,s.bicubic));var m=\\\"M\\\"+g.join(\\\"L\\\")+\\\"Z\\\";h.attr(\\\"id\\\",t._clipPathId),p.attr(\\\"d\\\",m)}(l,i,m,u,f)}function p(t,e,r,i,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 i=r,s=i.x,l=i.y,c=a([],s,t.c2p),u=a([],l,e.c2p),f=\\\"M\\\"+o(c,u,i.smoothing);n.select(this).attr(\\\"d\\\",f).style(\\\"stroke-width\\\",i.width).style(\\\"stroke\\\",i.color).style(\\\"fill\\\",\\\"none\\\")}),u.exit().remove()}function d(t,e,r,a,o,c,u,f){var h=c.selectAll(\\\"text.\\\"+f).data(u);h.enter().append(\\\"text\\\").classed(f,!0);var p=0,d={};return h.each(function(o,c){var u;if(\\\"auto\\\"===o.axis.tickangle)u=s(a,e,r,o.xy,o.dxy);else{var f=(o.axis.tickangle+180)*Math.PI/180;u=s(a,e,r,o.xy,[Math.cos(f),Math.sin(f)])}c||(d={angle:u.angle,flip:u.flip});var h=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({\\\"text-anchor\\\":h>0?\\\"start\\\":\\\"end\\\",\\\"data-notex\\\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);g.attr(\\\"transform\\\",\\\"translate(\\\"+u.p[0]+\\\",\\\"+u.p[1]+\\\") rotate(\\\"+u.angle+\\\")translate(\\\"+o.axis.labelpadding*h+\\\",\\\"+.3*m.height+\\\")\\\"),p=Math.max(p,m.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var a=f(r);i.selectAll(\\\"g.trace\\\").each(function(){var t=n.select(this).attr(\\\"class\\\").split(\\\"carpet\\\")[1].split(/\\\\s/)[0];a[t]||n.select(this).remove()});for(var o=0;o<r.length;o++)h(t,e,r[o],i)};var g=u.LINE_SPACING,m=(1-u.MID_SHIFT)/g+1;function v(t,e,r,a,o,c,u,f,h,p,d){var v=[];u.title&&v.push(u.title);var y=e.selectAll(\\\"text.\\\"+d).data(v),x=p.maxExtent;y.enter().append(\\\"text\\\").classed(d,!0),y.each(function(){var e=s(r,f,h,o,c);-1===[\\\"start\\\",\\\"both\\\"].indexOf(u.showticklabels)&&(x=0);var a=u.titlefont.size;x+=a+u.titleoffset;var d=(p.angle+(p.flip<0?180:0)-e.angle+450)%360,v=d>90&&d<270,y=n.select(this);y.text(u.title||\\\"\\\").call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+m)*g*a-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(i.font,u.titlefont)}),y.exit().remove()}},{\\\"../../components/drawing\\\":499,\\\"../../constants/alignment\\\":574,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/get_data\\\":684,\\\"./makepath\\\":790,\\\"./map_1d_array\\\":791,\\\"./orient_text\\\":792,d3:130}],794:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../lib/search\\\").findBin,a=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,f=t.aaxis,h=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=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.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(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-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,i,a){if(!a&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];n<e[0]?(f=0,h=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,m=(i-r[0])/(r[1]-r[0])):i>r[u-1]?(p=u-2,d=1,m=(i-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,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,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,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\\\"../../lib/search\\\":621,\\\"./compute_control_points\\\":782,\\\"./constants\\\":783,\\\"./create_i_derivative_evaluator\\\":784,\\\"./create_j_derivative_evaluator\\\":785,\\\"./create_spline_evaluator\\\":786}],795:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,g,m,v,y,x,b,_,w,k=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),k=Math.max(k,Math.abs(t[a][i]));if(!s.length)return t;var M=0,A=0,T=s.length;do{for(M=0,o=0;o<T;o++){i=s[o],a=l[o];var S,C,E,L,z,P,D=0,O=0;0===i?(E=e[z=Math.min(c-1,2)],L=e[1],S=t[a][z],O+=(C=t[a][1])+(C-S)*(e[0]-L)/(L-E),D++):i===c-1&&(E=e[z=Math.max(0,c-3)],L=e[c-2],S=t[a][z],O+=(C=t[a][c-2])+(C-S)*(e[c-1]-L)/(L-E),D++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],O+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),D++),0===a?(E=r[P=Math.min(u-1,2)],L=r[1],S=t[P][i],O+=(C=t[1][i])+(C-S)*(r[0]-L)/(L-E),D++):a===u-1&&(E=r[P=Math.max(0,u-3)],L=r[u-2],S=t[P][i],O+=(C=t[u-2][i])+(C-S)*(r[u-1]-L)/(L-E),D++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],O+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),D++),D?O/=D:(d=e[i+1]-e[i],g=e[i]-e[i-1],x=(m=r[a+1]-r[a])*(v=r[a]-r[a-1])*(m+v),O=((y=d*g*(d+g))*(v*t[a+1][i]+m*t[a-1][i])+x*(g*t[a][i+1]+d*t[a][i-1]))/(x*(g+d)+y*(v+m))),M+=(_=(b=O-t[a][i])/k)*_,w=D?0:.85,t[a][i]+=b*(1+w)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return n.log(\\\"Smoother converged to\\\",M,\\\"after\\\",A,\\\"iterations\\\"),t}},{\\\"../../lib\\\":602}],796:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArray1D;e.exports=function(t,e,r){var i=r(\\\"x\\\"),a=i&&i.length,o=r(\\\"y\\\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.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\\\":602}],797:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../lib/extend\\\"),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},locationmode:n.locationmode,z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:\\\"calc\\\"},opacity:{valType:\\\"number\\\",arrayOk:!0,min:0,max:1,dflt:1,editType:\\\"style\\\"},editType:\\\"calc\\\"},selected:{marker:{opacity:n.selected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},hoverinfo:l({},o.hoverinfo,{editType:\\\"calc\\\",flags:[\\\"location\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"]})},c({},i,{zmax:{editType:\\\"calc\\\"},zmin:{editType:\\\"calc\\\"}}),{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scattergeo/attributes\\\":964}],798:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=t(\\\"../../components/colorscale/calc\\\"),o=t(\\\"../scatter/arrays_to_calcdata\\\"),s=t(\\\"../scatter/calc_selection\\\");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c<r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=\\\"string\\\"==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,\\\"\\\",\\\"z\\\"),s(l,e),l}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../constants/numerical\\\":579,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc_selection\\\":928,\\\"fast-isnumeric\\\":196}],799:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/colorscale/defaults\\\"),a=t(\\\"./attributes\\\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\\\"locations\\\"),c=s(\\\"z\\\");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s(\\\"locationmode\\\"),s(\\\"text\\\"),s(\\\"marker.line.color\\\"),s(\\\"marker.line.width\\\"),s(\\\"marker.opacity\\\"),i(t,e,o,s,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"./attributes\\\":797}],800:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],801:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../scatter/fill_hover_text\\\");e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=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,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=\\\"all\\\"===s?i.hoverinfo.flags:s.split(\\\"+\\\"),c=-1!==l.indexOf(\\\"name\\\"),u=-1!==l.indexOf(\\\"location\\\"),f=-1!==l.indexOf(\\\"z\\\"),h=-1!==l.indexOf(\\\"text\\\"),p=[];!c&&u?t.nameOverride=r.loc:(c&&(t.nameOverride=e.name),u&&p.push(r.loc));f&&p.push((d=r.z,n.tickText(o,o.c2l(d),\\\"hover\\\").text));var d;h&&a(r,e,p);t.extraText=p.join(\\\"<br>\\\")}(t,f,o,h.mockAxis),[t]}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934,\\\"./attributes\\\":797}],802:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"choropleth\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":678,\\\"../heatmap/colorbar\\\":838,\\\"./attributes\\\":797,\\\"./calc\\\":798,\\\"./defaults\\\":799,\\\"./event_data\\\":800,\\\"./hover\\\":801,\\\"./plot\\\":803,\\\"./select\\\":804,\\\"./style\\\":805}],803:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../lib/polygon\\\"),o=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,s=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,l=t(\\\"./style\\\").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a<n;a++){var l=t[a],c=s(r.locationmode,l.loc,i);c?(l.geojson=c,l.ct=c.properties.ct,l.index=a,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,i,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(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\\\"===l||\\\"FJI\\\"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];c.push(a.tester(e))}:\\\"ATA\\\"===l?function(t){var e=u(t);if(null===e)return c.push(a.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case\\\"MultiPolygon\\\":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case\\\"Polygon\\\":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports=function(t,e,r){for(var a=0;a<r.length;a++)c(r[a],e.topojson);var o=e.layers.backplot.select(\\\".choroplethlayer\\\").selectAll(\\\"g.trace.choropleth\\\").data(r,function(t){return t[0].trace.uid});o.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace choropleth\\\"),o.exit().remove(),o.each(function(e){var r=(e[0].node3=n.select(this)).selectAll(\\\"path.choroplethlocation\\\").data(i.identity);r.enter().append(\\\"path\\\").classed(\\\"choroplethlocation\\\",!0),r.exit().remove(),l(t,e)})}},{\\\"../../lib\\\":602,\\\"../../lib/geo_location_utils\\\":594,\\\"../../lib/polygon\\\":614,\\\"../../lib/topojson_utils\\\":629,\\\"./style\\\":805,d3:130}],804:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i,a,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++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o])?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],805:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=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.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(\\\"fill\\\",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,\\\"\\\",t.mlw||c.width||0).style(\\\"opacity\\\",l.opacity)}),a.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?a.selectedPointStyle(r.selectAll(\\\".choroplethlocation\\\"),n,t):s(t,e)}}},{\\\"../../components/color\\\":474,\\\"../../components/colorscale\\\":489,\\\"../../components/drawing\\\":499,d3:130}],806:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../plots/font_attributes\\\"),c=t(\\\"../../lib/extend\\\").extendFlat,u=t(\\\"../../constants/filter_ops\\\"),f=u.COMPARISON_OPS2,h=u.INTERVAL_OPS,p=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps: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:l({editType:\\\"plot\\\",colorEditType:\\\"style\\\"}),labelformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"plot\\\"},operation:{valType:\\\"enumerated\\\",values:[].concat(f).concat(h),dflt:\\\"=\\\",editType:\\\"calc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"calc\\\"},editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:c({},p.color,{editType:\\\"style+colorbars\\\"}),width:c({},p.width,{editType:\\\"style+colorbars\\\"}),dash:s,smoothing:c({},p.smoothing,{}),editType:\\\"plot\\\"}},a,{autocolorscale:c({},a.autocolorscale,{dflt:!1}),zmin:c({},a.zmin,{editType:\\\"calc\\\"}),zmax:c({},a.zmax,{editType:\\\"calc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../components/drawing/attributes\\\":498,\\\"../../constants/filter_ops\\\":575,\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"../heatmap/attributes\\\":835,\\\"../scatter/attributes\\\":926}],807:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/calc\\\"),i=t(\\\"./set_contours\\\");e.exports=function(t,e){var r=n(t,e);return i(e),r}},{\\\"../heatmap/calc\\\":836,\\\"./set_contours\\\":825}],808:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,c=s.y.length,u=s.z,f=n.contours,h=-1/0,p=1/0;for(i=0;i<c;i++)p=Math.min(p,u[i][0]),p=Math.min(p,u[i][l-1]),h=Math.max(h,u[i][0]),h=Math.max(h,u[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,u[0][i]),p=Math.min(p,u[c-1][i]),h=Math.max(h,u[0][i]),h=Math.max(h,u[c-1][i]);switch(s.prefixBoundary=!1,e){case\\\">\\\":f.value>h&&(s.prefixBoundary=!0);break;case\\\"<\\\":f.value<p&&(s.prefixBoundary=!0);break;case\\\"[]\\\":a=Math.min.apply(null,f.value),((o=Math.max.apply(null,f.value))<p||a>h)&&(s.prefixBoundary=!0);break;case\\\"][\\\":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),a<p&&o>h&&(s.prefixBoundary=!0)}}},{}],809:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/plots\\\"),i=t(\\\"../../components/colorbar/draw\\\"),a=t(\\\"./make_color_map\\\"),o=t(\\\"./end_plus\\\");e.exports=function(t,e){var r=e[0].trace,s=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,p=a(r,{isColorbar:!0});\\\"heatmap\\\"===h&&l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor(\\\"fill\\\"===h||\\\"heatmap\\\"===h?p:\\\"\\\").line({color:\\\"lines\\\"===h?p:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../plots/plots\\\":710,\\\"./end_plus\\\":817,\\\"./make_color_map\\\":822}],810:[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}}},{}],811:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"./label_defaults\\\"),a=t(\\\"../../components/color\\\"),o=a.addOpacity,s=a.opacity,l=t(\\\"../../constants/filter_ops\\\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,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?h=g.showlines=!0:(h=r(\\\"contours.showlines\\\"),d=r(\\\"fillcolor\\\",o((t.line||{}).color||l,.5))),h)&&(p=r(\\\"line.color\\\",d&&s(d)?o(e.fillcolor,1):l),r(\\\"line.width\\\",2),r(\\\"line.dash\\\"));r(\\\"line.smoothing\\\"),i(r,a,p,f)}},{\\\"../../components/color\\\":474,\\\"../../constants/filter_ops\\\":575,\\\"./label_defaults\\\":821,\\\"fast-isnumeric\\\":196}],812:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/filter_ops\\\"),i=t(\\\"fast-isnumeric\\\");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(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=a(t,e),end:1/0,size:1/0}}}e.exports={\\\"[]\\\":o(\\\"[]\\\"),\\\"][\\\":o(\\\"][\\\"),\\\">\\\":s(\\\">\\\"),\\\"<\\\":s(\\\"<\\\"),\\\"=\\\":s(\\\"=\\\")}},{\\\"../../constants/filter_ops\\\":575,\\\"fast-isnumeric\\\":196}],813:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){var i=n(\\\"contours.start\\\"),a=n(\\\"contours.end\\\"),o=!1===i||!1===a,s=r(\\\"contours.size\\\");!(o?e.autocontour=!0:r(\\\"autocontour\\\",!1))&&s||r(\\\"ncontours\\\")}},{}],814:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,a,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.\\\"),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[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.\\\"),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));return[a]}}},{\\\"../../lib\\\":602}],815:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/xyz_defaults\\\"),a=t(\\\"./constraint_defaults\\\"),o=t(\\\"./contours_defaults\\\"),s=t(\\\"./style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}if(i(t,e,u,c)){u(\\\"text\\\");var f=\\\"constraint\\\"===u(\\\"contours.type\\\");u(\\\"connectgaps\\\",n.isArray1D(e.z)),f||delete e.showlegend,f?a(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\\\":602,\\\"../heatmap/xyz_defaults\\\":850,\\\"./attributes\\\":806,\\\"./constraint_defaults\\\":811,\\\"./contours_defaults\\\":813,\\\"./style_defaults\\\":827}],816:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./constraint_mapping\\\"),a=t(\\\"./end_plus\\\");e.exports=function(t,e,r){for(var o=\\\"constraint\\\"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=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},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return l}},{\\\"../../lib\\\":602,\\\"./constraint_mapping\\\":812,\\\"./end_plus\\\":817}],817:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){return t.end+t.size/1e6}},{}],818:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./constants\\\");function a(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(\\\",\\\"),f=u,h=t.crossings[f],p=function(t,e,r){var n=0,a=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(\\\",\\\"),m=t.z.length,v=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log(\\\"Found bad marching index:\\\",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(\\\",\\\");var y=p[0]&&(e[0]<0||e[0]>v-2)||p[1]&&(e[1]<0||e[1]>m-2);if(f===u&&p.join(\\\",\\\")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log(\\\"Infinite loop in contour?\\\");var x,b,_,w,k,M,A,T,S,C,E,L,z,P,D,O=a(d[0],d[d.length-1],o,l),I=0,R=.2*t.smoothing,B=[],F=0;for(c=1;c<d.length;c++)L=d[c],z=d[c-1],void 0,void 0,P=L[2]-z[2],D=L[3]-z[3],I+=A=Math.sqrt(P*P+D*D),B.push(A);var N=I/B.length*R;function j(t){return d[t%d.length]}for(c=d.length-2;c>=F;c--)if((x=B[c])<N){for(_=0,b=c-1;b>=F&&x+B[b]<N;b--)x+=B[b];if(O&&c===d.length-2)for(_=0;_<b&&x+B[_]<N;_++)x+=B[_];k=c-b+_+1,M=Math.floor((c+b+_+2)/2),w=O||c!==d.length-2?O||-1!==b?k%2?j(M):[(j(M)[0]+j(M+1)[0])/2,(j(M)[1]+j(M+1)[1])/2]:d[0]:d[d.length-1],d.splice(b+1,c-b+1,w),c=b+1,_&&(F=_),O&&(c===d.length-2?d[_]=d[d.length-1]:0===c&&(d[d.length-1]=d[0]))}for(d.splice(0,F),c=0;c<d.length;c++)d[c].length=2;if(!(d.length<2))if(O)d.pop(),t.paths.push(d);else{r||n.log(\\\"Unclosed interior contour?\\\",t.level,u,d.join(\\\"L\\\"));var V=!1;for(T=0;T<t.edgepaths.length;T++)if(C=t.edgepaths[T],!V&&a(C[0],d[d.length-1],o,l)){d.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(a((E=t.edgepaths[S])[E.length-1],d[0],o,l)){U=!0,d.shift(),t.edgepaths.splice(T,1),S===T?t.paths.push(d.concat(E)):(S>T&&S--,t.edgepaths[S]=E.concat(d,C));break}U||(t.edgepaths[T]=d.concat(C))}for(T=0;T<t.edgepaths.length&&!V;T++)a((C=t.edgepaths[T])[C.length-1],d[0],o,l)&&(d.shift(),t.edgepaths[T]=C.concat(d),V=!0);V||t.edgepaths.push(d)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],\\\"edge\\\",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(\\\",\\\").map(Number),void 0,e,r);1e4===i&&n.log(\\\"Infinite loop in contour?\\\")}}},{\\\"../../lib\\\":602,\\\"./constants\\\":810}],819:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../heatmap/hover\\\");e.exports=function(t,e,r,a,o){var s=i(t,e,r,a,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\\\":474,\\\"../heatmap/hover\\\":842}],820:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\").plot,n.style=t(\\\"./style\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":806,\\\"./calc\\\":807,\\\"./colorbar\\\":809,\\\"./defaults\\\":815,\\\"./hover\\\":819,\\\"./plot\\\":824,\\\"./style\\\":826}],821:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i){if(i||(i={}),t(\\\"contours.showlabels\\\")){var a=e.font;n.coerceFont(t,\\\"contours.labelfont\\\",{family:a.family,size:a.size,color:r}),t(\\\"contours.labelformat\\\")}!1!==i.hasHover&&t(\\\"zhoverformat\\\")}},{\\\"../../lib\\\":602}],822:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/colorscale\\\"),a=t(\\\"./end_plus\\\");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c=\\\"lines\\\"===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,p=h.length,d=new Array(p),g=new Array(p);if(\\\"heatmap\\\"===e.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f<p;f++)u=h[f],d[f]=u[0]*(t.zmax-t.zmin)+t.zmin,g[f]=u[1];var m=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=m[t.zmin<t.zmax?0:1],y=m[t.zmin<t.zmax?1:0];v!==t.zmin&&(d.splice(0,0,v),g.splice(0,0,Range[0])),y!==t.zmax&&(d.push(y),g.push(g[g.length-1]))}else for(f=0;f<p;f++)u=h[f],d[f]=(u[0]*(l+c-1)-c/2)*s+r,g[f]=u[1];return i.makeColorScaleFunc({domain:d,range:g},{noNumericCheck:!0})}},{\\\"../../components/colorscale\\\":489,\\\"./end_plus\\\":817,d3:130}],823:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\");function i(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,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[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(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+\\\",\\\"+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{\\\"./constants\\\":810}],824:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/drawing\\\"),o=t(\\\"../../lib/svg_text_utils\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../../plots/cartesian/set_convert\\\"),c=t(\\\"../../plots/get_data\\\").getUidsFromCalcData,u=t(\\\"../heatmap/plot\\\"),f=t(\\\"./make_crossings\\\"),h=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,o,s){var l=o[0].trace,c=o[0].x,v=o[0].y,y=l.contours,b=\\\"contour\\\"+l.uid,_=e.xaxis,w=e.yaxis,k=t._fullLayout,M=p(y,e,o[0]),A=i.ensureSingle(s,\\\"g\\\",\\\"heatmapcoloring\\\"),T=[];\\\"heatmap\\\"===y.coloring&&(l.zauto&&!1===l.autocontour&&(l._input.zmin=l.zmin=y.start-y.size/2,l._input.zmax=l.zmax=l.zmin+M.length*y.size),T=[o]),u(t,e,T,A),f(M),h(M);var S=_.c2p(c[0],!0),C=_.c2p(c[c.length-1],!0),E=w.c2p(v[0],!0),L=w.c2p(v[v.length-1],!0),z=[[S,L],[C,L],[C,E],[S,E]],P=M;\\\"constraint\\\"===y.type&&(P=d(M,y._operation),g(P,y._operation,z,l));var D=r.makeContourGroup(s,o,b);!function(t,e,r){var n=i.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\\\")}(D,z,y),function(t,e,r,a){var o=i.ensureSingle(t,\\\"g\\\",\\\"contourfill\\\").selectAll(\\\"path\\\").data(\\\"fill\\\"===a.coloring||\\\"constraint\\\"===a.type&&\\\"=\\\"!==a._operation?e:[]);o.enter().append(\\\"path\\\"),o.exit().remove(),o.each(function(t){var e=x(t,r);e?n.select(this).attr(\\\"d\\\",e).style(\\\"stroke\\\",\\\"none\\\"):n.select(this).remove()})}(D,P,z,y),function(t,e,o,s,l,c){var u=i.ensureSingle(t,\\\"g\\\",\\\"contourlines\\\"),f=!1!==l.showlines,h=l.showlabels,p=f&&h,d=r.createLines(u,f||h,e),g=r.createLineClip(u,p,o._fullLayout._clips,s.trace.uid),v=t.selectAll(\\\"g.contourlabels\\\").data(h?[0]:[]);if(v.exit().remove(),v.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),h){var y=[c],x=[];i.clearLocationCache();var b=r.labelFormatter(l,s.t.cb,o._fullLayout),_=a.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(a.font,l.labelfont),w=e[0].xaxis._length,k=e[0].yaxis._length,M={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],k)};M.middle=(M.top+M.bottom)/2,M.center=(M.left+M.right)/2;var A=Math.sqrt(w*w+k*k),T=m.LABELDISTANCE*A/Math.max(1,e.length/m.LABELINCREASE);d.each(function(t){var e=r.calcTextOpts(t.level,b,_,o);n.select(this).selectAll(\\\"path\\\").each(function(){var t=i.getVisibleSegment(this,M,e.height/2);if(t&&!(t.len<(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),m.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,x,M);if(!o)break;r.addLabelData(o,e,x,y)}})}),_.remove(),r.drawLabels(v,x,o,g,p?y:null)}h&&!f&&d.remove()}(D,M,t,o[0],y,z),function(t,e,r,n,o){var s=\\\"clip\\\"+n.trace.uid,l=r.selectAll(\\\"#\\\"+s).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(\\\"clipPath\\\").classed(\\\"contourclip\\\",!0).attr(\\\"id\\\",s),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};f([c]),h([c]);var u=x(c,o),p=i.ensureSingle(l,\\\"path\\\",\\\"\\\");p.attr(\\\"d\\\",u)}else s=null;t.call(a.setClipUrl,s),e.plot.selectAll(\\\".hm\\\"+n.trace.uid).call(a.setClipUrl,s)}(D,e,k._clips,o[0],z)}function x(t,e){var r,n,o,s,l,c,u,f=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\":\\\"\\\"}(t,e),h=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=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,\\\"L\\\"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log(\\\"Missing end?\\\",h,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):i.log(\\\"endpt to newendpt is not vert. or horz.\\\",r,n,y)}if(r=n,s>=0)break;f+=\\\"L\\\"+n}if(s===t.edgepaths.length){i.log(\\\"unclosed perimeter path\\\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\\\"Z\\\")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function b(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(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(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,M=2*i.segmentDistance(g,m,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,T=A?v.SAMELEVELDISTANCE:1;if(M<=T)return 1/0;d+=v.NEIGHBORCOST*(A?v.SAMELEVELFACTOR:1)/(M-T)}return d}r.plot=function(t,e,r,i){var a=c(r);i.selectAll(\\\"g.contour\\\").each(function(t){a[t.trace.uid]||n.select(this).remove()});for(var o=0;o<r.length;o++)y(t,e,r[o],i)},r.makeContourGroup=function(t,e,r){var n=t.selectAll(\\\"g.contour.\\\"+r).data(e);return n.enter().append(\\\"g\\\").classed(\\\"contour\\\",!0).classed(r,!0),n.exit().remove(),n},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\\\"g.contourlevel\\\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\\\"g\\\").classed(\\\"contourlevel\\\",!0),e){var o=i.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 a.smoothopen(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\");var s=i.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 a.smoothclosed(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\")}return i},r.createLineClip=function(t,e,r,n){var i=e?\\\"clipline\\\"+n:null,o=r.selectAll(\\\"#\\\"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append(\\\"clipPath\\\").classed(\\\"contourlineclip\\\",!0).attr(\\\"id\\\",i),a.setClipUrl(t,i),o},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\\\"linear\\\",_id:\\\"ycontour\\\",showexponent:\\\"all\\\"},\\\"constraint\\\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),l(n,r),s.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return s.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(o.convertToTspans,n);var s=a.bBox(r.node(),!0);return{text:i,width:s.width,height:s.height,level:t,dy:(s.top+s.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/v.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(v.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<v.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=i.getTextLocation(t,e.total,d,f),m=b(g,r,n,a);m<h&&(h=m,u=g,c=d)}if(h>2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){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,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\\\"rotate(\\\"+180*t.theta/Math.PI+\\\" \\\"+e+\\\" \\\"+i+\\\")\\\"}).call(o.convertToTspans,r)}),s){for(var c=\\\"\\\",u=0;u<s.length;u++)c+=\\\"M\\\"+s[u].join(\\\"L\\\")+\\\"Z\\\";i.ensureSingle(a,\\\"path\\\",\\\"\\\").attr(\\\"d\\\",c)}}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/cartesian/set_convert\\\":666,\\\"../../plots/get_data\\\":684,\\\"../heatmap/plot\\\":847,\\\"./close_boundaries\\\":808,\\\"./constants\\\":810,\\\"./convert_to_constraints\\\":814,\\\"./empty_pathinfo\\\":816,\\\"./find_all_paths\\\":818,\\\"./make_crossings\\\":823,d3:130}],825:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../lib\\\");function a(t,e,r){var i={type:\\\"linear\\\",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t){var e=t.contours;if(t.autocontour){var r=t.zmin,o=t.zmax;void 0!==r&&void 0!==o||(r=i.aggNums(Math.min,null,t._z),o=i.aggNums(Math.max,null,t._z));var s=a(r,o,t.ncontours);e.size=s.dtick,e.start=n.tickFirst(s),s.range.reverse(),e.end=n.tickFirst(s),e.start===r&&(e.start+=e.size),e.end===o&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\\\"constraint\\\"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],826:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=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.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=\\\"constraint\\\"===a.type,f=!u&&\\\"lines\\\"===a.coloring,h=!u&&\\\"fill\\\"===a.coloring,p=f||h?o(r):null;e.selectAll(\\\"g.contourlevel\\\").each(function(t){n.select(this).selectAll(\\\"path\\\").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)});var d=a.labelfont;if(e.selectAll(\\\"g.contourlabels text\\\").each(function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})}),u)e.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",r.fillcolor);else if(h){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))}}),a(t)}},{\\\"../../components/drawing\\\":499,\\\"../heatmap/style\\\":848,\\\"./make_color_map\\\":822,d3:130}],827:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/defaults\\\"),i=t(\\\"./label_defaults\\\");e.exports=function(t,e,r,a,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&&n(t,e,a,r,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),r(\\\"line.smoothing\\\"),i(r,a,c,o)}},{\\\"../../components/colorscale/defaults\\\":484,\\\"./label_defaults\\\":821}],828:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=i.contours,o=t(\\\"../scatter/attributes\\\"),s=t(\\\"../../components/colorscale/attributes\\\"),l=t(\\\"../../components/colorbar/attributes\\\"),c=t(\\\"../../lib/extend\\\").extendFlat,u=o.line;e.exports=c({},{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,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"calc\\\"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:\\\"plot\\\"}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../contour/attributes\\\":806,\\\"../heatmap/attributes\\\":835,\\\"../scatter/attributes\\\":926}],829:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\"),i=t(\\\"../../lib\\\").isArray1D,a=t(\\\"../heatmap/convert_column_xyz\\\"),o=t(\\\"../heatmap/clean_2d_array\\\"),s=t(\\\"../heatmap/max_row_length\\\"),l=t(\\\"../heatmap/interp2d\\\"),c=t(\\\"../heatmap/find_empties\\\"),u=t(\\\"../heatmap/make_bound_array\\\"),f=t(\\\"./defaults\\\"),h=t(\\\"../carpet/lookup_carpetid\\\"),p=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 d=t.data[r.index],g=t.data[e.index];g.a||(g.a=d.a),g.b||(g.b=d.b),f(g,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,f,h,p,d,g,m,v=e._carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,i(e.z)&&a(e,y,x,\\\"a\\\",\\\"b\\\",[\\\"z\\\"]);r=e._a=e._a||e.a,p=e._b=e._b||e.b,r=r?y.makeCalcdata(e,\\\"_a\\\"):[],p=p?x.makeCalcdata(e,\\\"_b\\\"):[],f=e.a0||0,h=e.da||1,d=e.b0||0,g=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=c(m),e._interpz=l(m,e._emptypoints,e._interpz);var b=s(m),_=\\\"scaled\\\"===e.xtype?\\\"\\\":r,w=u(e,_,f,h,b,y),k=\\\"scaled\\\"===e.ytype?\\\"\\\":p,M=u(e,k,d,g,m.length,x),A={a:w,b:M,z:m};\\\"levels\\\"===e.contours.type&&\\\"none\\\"!==e.contours.coloring&&n(e,m,\\\"\\\",\\\"z\\\");return[A]}(0,e);return p(e),m}}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../lib\\\":602,\\\"../carpet/lookup_carpetid\\\":789,\\\"../contour/set_contours\\\":825,\\\"../heatmap/clean_2d_array\\\":837,\\\"../heatmap/convert_column_xyz\\\":839,\\\"../heatmap/find_empties\\\":841,\\\"../heatmap/interp2d\\\":844,\\\"../heatmap/make_bound_array\\\":845,\\\"../heatmap/max_row_length\\\":846,\\\"./defaults\\\":830}],830:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../heatmap/xyz_defaults\\\"),a=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,i){return n.coerce(t,e,a,r,i)}if(u(\\\"carpet\\\"),t.a&&t.b){if(!i(t,e,u,c,\\\"a\\\",\\\"b\\\"))return void(e.visible=!1);u(\\\"text\\\");var f=\\\"constraint\\\"===u(\\\"contours.type\\\");f||delete e.showlegend,f?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,a,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{\\\"../../lib\\\":602,\\\"../contour/constraint_defaults\\\":811,\\\"../contour/contours_defaults\\\":813,\\\"../contour/style_defaults\\\":827,\\\"../heatmap/xyz_defaults\\\":850,\\\"./attributes\\\":828}],831:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../contour/style\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"contourcarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"carpet\\\",\\\"contour\\\",\\\"symbols\\\",\\\"showLegend\\\",\\\"hasLines\\\",\\\"carpetDependent\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../contour/colorbar\\\":809,\\\"../contour/style\\\":826,\\\"./attributes\\\":828,\\\"./calc\\\":829,\\\"./defaults\\\":830,\\\"./plot\\\":834}],832:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/drawing\\\"),i=t(\\\"../carpet/axis_aligned_line\\\"),a=t(\\\"../../lib\\\");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,m,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 k(t){return Math.abs(t[1]-r[0][1])<w}function M(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function T(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,a,o,f=\\\"\\\";for(k(t)&&!T(t)||M(t)&&!A(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<a.length;r++)for(f+=o.smoothing?\\\"C\\\":\\\"L\\\",n=0;n<a[r].length;n++){var h=a[r][n];f+=[c.c2p(h[0]),u.c2p(h[1])]+\\\" \\\"}return f}for(f=0,h=null;x.length;){var C=e.edgepaths[f][0];for(h&&(y+=S(h,C)),v=n.smoothopen(e.edgepaths[f].map(o),e.smoothing),y+=b?v:v.replace(/^M/,\\\"L\\\"),x.splice(x.indexOf(f),1),h=e.edgepaths[f][e.edgepaths[f].length-1],g=-1,d=0;d<4;d++){if(!h){a.log(\\\"Missing end?\\\",f,e);break}for(k(h)&&!T(h)?p=r[1]:A(h)?p=r[0]:M(h)?p=r[3]:T(h)&&(p=r[2]),m=0;m<e.edgepaths.length;m++){var E=e.edgepaths[m][0];Math.abs(h[0]-p[0])<_?Math.abs(h[0]-E[0])<_&&(E[1]-h[1])*(p[1]-E[1])>=0&&(p=E,g=m):Math.abs(h[1]-p[1])<w?Math.abs(h[1]-E[1])<w&&(E[0]-h[0])*(p[0]-E[0])>=0&&(p=E,g=m):a.log(\\\"endpt to newendpt is not vert. or horz.\\\",h,p,E)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log(\\\"unclosed perimeter path\\\");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+\\\"Z\\\",h=null)}for(f=0;f<e.paths.length;f++)y+=n.smoothclosed(e.paths[f].map(o),e.smoothing);return y}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../carpet/axis_aligned_line\\\":773}],833:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],834:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../carpet/map_1d_array\\\"),a=t(\\\"../carpet/makepath\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/get_data\\\").getUidsFromCalcData,c=t(\\\"../contour/make_crossings\\\"),u=t(\\\"../contour/find_all_paths\\\"),f=t(\\\"../contour/plot\\\"),h=t(\\\"../contour/constants\\\"),p=t(\\\"../contour/convert_to_constraints\\\"),d=t(\\\"./join_all_paths\\\"),g=t(\\\"../contour/empty_pathinfo\\\"),m=t(\\\"./map_pathinfo\\\"),v=t(\\\"../carpet/lookup_carpetid\\\"),y=t(\\\"../contour/close_boundaries\\\");function x(t,e,r,l){var x=r[0].trace,k=x._carpetTrace=v(t,x),M=t.calcdata[k.index][0];if(k.visible&&\\\"legendonly\\\"!==k.visible){var A=r[0].a,T=r[0].b,S=x.contours,C=x.uid,E=e.xaxis,L=e.yaxis,z=\\\"contour\\\"+C,P=g(S,e,r[0]),D=\\\"constraint\\\"===S.type,O=S._operation,I=D?\\\"=\\\"===O?\\\"lines\\\":\\\"fill\\\":S.coloring,R=[[A[0],T[T.length-1]],[A[A.length-1],T[T.length-1]],[A[A.length-1],T[0]],[A[0],T[0]]];c(P);var B=1e-8*(A[A.length-1]-A[0]),F=1e-8*(T[T.length-1]-T[0]);u(P,B,F);var N=P;\\\"constraint\\\"===S.type&&(N=p(P,O),y(N,O,R,x)),m(P,Y);var j,V,U,q,H=f.makeContourGroup(l,r,z),G=[];for(q=M.clipsegments.length-1;q>=0;q--)j=M.clipsegments[q],V=i([],j.x,E.c2p),U=i([],j.y,L.c2p),V.reverse(),U.reverse(),G.push(a(V,U,j.bicubic));var W=\\\"M\\\"+G.join(\\\"L\\\")+\\\"Z\\\";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,\\\"g\\\",\\\"contourbg\\\").selectAll(\\\"path\\\").data(\\\"fill\\\"!==l||o?[]:[0]);p.enter().append(\\\"path\\\"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr(\\\"d\\\",\\\"M\\\"+d.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}(H,M.clipsegments,E,L,D,I),function(t,e,r,i,a,o,l,c,u,f,h){var p=s.ensureSingle(e,\\\"g\\\",\\\"contourfill\\\").selectAll(\\\"path\\\").data(\\\"fill\\\"===f?a:[]);p.enter().append(\\\"path\\\"),p.exit().remove(),p.each(function(e){var a=d(t,e,o,l,c,u,r,i);e.prefixBoundary&&(a=h+a),a?n.select(this).attr(\\\"d\\\",a).style(\\\"stroke\\\",\\\"none\\\"):n.select(this).remove()})}(x,H,E,L,N,R,Y,k,M,I,W),function(t,e,r,i,a,l,c){var u=s.ensureSingle(t,\\\"g\\\",\\\"contourlines\\\"),p=!1!==a.showlines,d=a.showlabels,g=p&&d,m=f.createLines(u,p||d,e),v=f.createLineClip(u,g,r._fullLayout._defs,i.trace.uid),y=t.selectAll(\\\"g.contourlabels\\\").data(d?[0]:[]);if(y.exit().remove(),y.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),d){var x=l.xaxis,k=l.yaxis,M=x._length,A=k._length,T=[[[0,0],[M,0],[M,A],[0,A]]],S=[];s.clearLocationCache();var C=f.labelFormatter(a,i.t.cb,r._fullLayout),E=o.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(o.font,a.labelfont),L={left:0,right:M,center:M/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(M*M+A*A),P=h.LABELDISTANCE*z/Math.max(1,e.length/h.LABELINCREASE);m.each(function(t){var e=f.calcTextOpts(t.level,C,E,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,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=_(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*w(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=_(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*w(e,r)/2)),n}var p=b(t,0,1),d=b(t,n.total,n.total-1),g=h(o[0],p),m=n.total-h(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 i=Math.min(Math.ceil(n.len/P),h.LABELMAX),a=0;a<i;a++){var o=f.findBestTextLocation(this,n,e,S,L);if(!o)break;f.addLabelData(o,e,S,T)}})}),E.remove(),f.drawLabels(y,S,r,v,g?T:null)}d&&!p&&m.remove()}(H,P,t,r[0],S,e,k),o.setClipUrl(H,k._clipPathId)}function Y(t){var e=k.ab2xy(t[0],t[1],!0);return[E.c2p(e[0]),L.c2p(e[1])]}}function b(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function _(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function w(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,i){var a=l(r);i.selectAll(\\\"g.contour\\\").each(function(t){a[t.trace.uid]||n.select(this).remove()});for(var o=0;o<r.length;o++)x(t,e,r[o],i)}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"../carpet/lookup_carpetid\\\":789,\\\"../carpet/makepath\\\":790,\\\"../carpet/map_1d_array\\\":791,\\\"../contour/close_boundaries\\\":808,\\\"../contour/constants\\\":810,\\\"../contour/convert_to_constraints\\\":814,\\\"../contour/empty_pathinfo\\\":816,\\\"../contour/find_all_paths\\\":818,\\\"../contour/make_crossings\\\":823,\\\"../contour/plot\\\":824,\\\"./join_all_paths\\\":832,\\\"./map_pathinfo\\\":833,d3:130}],835:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat;e.exports=o({},{z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},x:o({},n.x,{impliedEdits:{xtype:\\\"array\\\"}}),x0:o({},n.x0,{impliedEdits:{xtype:\\\"scaled\\\"}}),dx:o({},n.dx,{impliedEdits:{xtype:\\\"scaled\\\"}}),y:o({},n.y,{impliedEdits:{ytype:\\\"array\\\"}}),y0:o({},n.y0,{impliedEdits:{ytype:\\\"scaled\\\"}}),dy:o({},n.dy,{impliedEdits:{ytype:\\\"scaled\\\"}}),text:{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\\\"},connectgaps:{valType:\\\"boolean\\\",dflt:!1,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\\\"}},i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../scatter/attributes\\\":926}],836:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../histogram2d/calc\\\"),s=t(\\\"../../components/colorscale/calc\\\"),l=t(\\\"./convert_column_xyz\\\"),c=t(\\\"./max_row_length\\\"),u=t(\\\"./clean_2d_array\\\"),f=t(\\\"./interp2d\\\"),h=t(\\\"./find_empties\\\"),p=t(\\\"./make_bound_array\\\");e.exports=function(t,e){var r,d,g,m,v,y,x,b,_,w=a.getFromId(t,e.xaxis||\\\"x\\\"),k=a.getFromId(t,e.yaxis||\\\"y\\\"),M=n.traceIs(e,\\\"contour\\\"),A=n.traceIs(e,\\\"histogram\\\"),T=n.traceIs(e,\\\"gl2d\\\"),S=M?\\\"best\\\":e.zsmooth;if(w._minDtick=0,k._minDtick=0,A)r=(_=o(t,e)).x,d=_.x0,g=_.dx,m=_.y,v=_.y0,y=_.dy,x=_.z;else{var C=e.z;i.isArray1D(C)?(l(e,w,k,\\\"x\\\",\\\"y\\\",[\\\"z\\\"]),r=e._x,m=e._y,C=e._z):(r=e.x?w.makeCalcdata(e,\\\"x\\\"):[],m=e.y?k.makeCalcdata(e,\\\"y\\\"):[]),d=e.x0||0,g=e.dx||1,v=e.y0||0,y=e.dy||1,x=u(C,e.transpose),(M||e.connectgaps)&&(e._emptypoints=h(x),e._interpz=f(x,e._emptypoints,e._interpz))}function E(t){S=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: \\\"fast\\\": '+t)}if(\\\"fast\\\"===S)if(\\\"log\\\"===w.type||\\\"log\\\"===k.type)E(\\\"log axis found\\\");else if(!A){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),z=Math.abs(L/100);for(b=0;b<r.length-1;b++)if(Math.abs(r[b+1]-r[b]-L)>z){E(\\\"x scale is not linear\\\");break}}if(m.length&&\\\"fast\\\"===S){var P=(m[m.length-1]-m[0])/(m.length-1),D=Math.abs(P/100);for(b=0;b<m.length-1;b++)if(Math.abs(m[b+1]-m[b]-P)>D){E(\\\"y scale is not linear\\\");break}}}var O=c(x),I=\\\"scaled\\\"===e.xtype?\\\"\\\":r,R=p(e,I,d,g,O,w),B=\\\"scaled\\\"===e.ytype?\\\"\\\":m,F=p(e,B,v,y,x.length,k);T||(a.expand(w,R),a.expand(k,F));var N={x:R,y:F,z:x,text:e._text||e.text};if(I&&I.length===R.length-1&&(N.xCenter=I),B&&B.length===F.length-1&&(N.yCenter=B),A&&(N.xRanges=_.xRanges,N.yRanges=_.yRanges,N.pts=_.pts),M&&\\\"constraint\\\"===e.contours.type||s(e,x,\\\"\\\",\\\"z\\\"),M&&e.contours&&\\\"heatmap\\\"===e.contours.coloring){var j={type:\\\"contour\\\"===e.type?\\\"heatmap\\\":\\\"histogram2d\\\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(j,I,d,g,O,w),N.yfill=p(j,B,v,y,x.length,k)}return[N]}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../../registry\\\":732,\\\"../histogram2d/calc\\\":867,\\\"./clean_2d_array\\\":837,\\\"./convert_column_xyz\\\":839,\\\"./find_empties\\\":841,\\\"./interp2d\\\":844,\\\"./make_bound_array\\\":845,\\\"./max_row_length\\\":846}],837:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=c(o(t,s,l));return u}},{\\\"fast-isnumeric\\\":196}],838:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,c=r.zmin,u=r.zmax;if(n(c)||(c=i.aggNums(Math.min,null,r.z)),n(u)||(u=i.aggNums(Math.max,null,r.z)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),r.showscale){var f=e[0].t.cb=s(t,l),h=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});f.fillcolor(h).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],839:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r,a,o,s){var l,c,u,f=t._length,h=t[a].slice(0,f),p=t[o].slice(0,f),d=t.text,g=void 0!==d&&n.isArray1D(d),m=t[a+\\\"calendar\\\"],v=t[o+\\\"calendar\\\"];for(l=0;l<f;l++)h[l]=e.d2c(h[l],0,m),p[l]=r.d2c(p[l],0,v);var y,x,b,_=n.distinctVals(h),w=_.vals,k=n.distinctVals(p),M=k.vals,A=[];for(l=0;l<s.length;l++)A[l]=n.init2dArray(M.length,w.length);for(g&&(b=n.init2dArray(M.length,w.length)),l=0;l<f;l++)if(h[l]!==i&&p[l]!==i){for(y=n.findBin(h[l]+_.minDiff/2,w),x=n.findBin(p[l]+k.minDiff/2,M),c=0;c<s.length;c++)u=t[s[c]],A[c][x][y]=u[l];g&&(b[x][y]=d[l])}for(t[\\\"_\\\"+a]=w,t[\\\"_\\\"+o]=M,c=0;c<s.length;c++)t[\\\"_\\\"+s[c]]=A[c];g&&(t._text=b)}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602}],840:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./xyz_defaults\\\"),a=t(\\\"./style_defaults\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l)?(c(\\\"text\\\"),a(t,e,c,l),c(\\\"connectgaps\\\",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:\\\"\\\",cLetter:\\\"z\\\"})):e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"./attributes\\\":835,\\\"./style_defaults\\\":849,\\\"./xyz_defaults\\\":850}],841:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./max_row_length\\\");e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],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]||[],i=0;i<m;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw\\\"findEmpties iterated with no new neighbors\\\";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{\\\"./max_row_length\\\":846}],842:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,m=t.ya,v=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],M=d.zhoverformat,A=v,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\\\"Error hovering on heatmap, pointNumber must be [row,col], found:\\\",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(A=[2*v[0]-v[1]],S=1;S<v.length;S++)A.push((v[S]+v[S-1])/2);for(A.push([2*v[v.length-1]-v[v.length-2]]),T=[2*y[0]-y[1]],S=1;S<y.length;S++)T.push((y[S]+y[S-1])/2);T.push([2*y[y.length-1]-y[y.length-2]])}f=Math.max(0,Math.min(A.length-2,i.findBin(e,A))),h=Math.max(0,Math.min(T.length-2,i.findBin(r,T)))}var C=g.c2p(v[f]),E=g.c2p(v[f+1]),L=m.c2p(y[h]),z=m.c2p(y[h+1]);l?(E=C,c=v[f],z=L,u=y[h]):(c=b?b[f]:(v[f]+v[f+1])/2,u=_?_[h]:(y[h]+y[h+1])/2,d.zsmooth&&(C=E=g.c2p(c),L=z=m.c2p(u)));var P,D,O=x[h][f];w&&!w[h][f]&&(O=void 0),Array.isArray(p.text)&&Array.isArray(p.text[h])&&(P=p.text[h][f]);var I={type:\\\"linear\\\",range:k,hoverformat:M,_separators:g._separators,_numFormat:g._numFormat};return D=a.tickText(I,O,\\\"hover\\\").text,[i.extendFlat(t,{index:[h,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:C,x1:E,y0:L,y1:z,xLabelVal:c,yLabelVal:u,zLabelVal:O,zLabel:D,text:P})]}},{\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],843:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmap\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":835,\\\"./calc\\\":836,\\\"./colorbar\\\":838,\\\"./defaults\\\":840,\\\"./hover\\\":842,\\\"./plot\\\":847,\\\"./style\\\":848}],844:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?g=m=f:(g=Math.min(g,f),m=Math.max(m,f)),h++,p+=f);if(0===h)throw\\\"iterateInterp2d order is wrong: no defined neighbors\\\";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e,r){var i,s,l=1;if(Array.isArray(r))for(i=0;i<e.length;i++)t[(s=e[i])[0]][s[1]]=r[s[0]][s[1]];else o(t,e);for(i=0;i<e.length&&!(e[i][2]<4);i++);for(e=e.slice(i),i=0;i<100&&l>.01;i++)l=o(t,e,a(l));return l>.01&&n.log(\\\"interp2d didn't converge quickly\\\",l),t}},{\\\"../../lib\\\":602}],845:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,\\\"contour\\\"),p=n.traceIs(t,\\\"histogram\\\"),d=n.traceIs(t,\\\"gl2d\\\");if(i(e)&&e.length>1&&!p&&\\\"category\\\"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=f[f.length-1],v=m-f[f.length-2];for(u=g;u<o;u++)m+=v,f.push(m)}}else{c=a||1;var y=t[s._id.charAt(0)+\\\"calendar\\\"];for(l=p||\\\"category\\\"===s.type?s.r2c(r,0,y)||0:i(e)&&1===e.length?e[0]:void 0===r?0:s.d2c(r,0,y),u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732}],846:[function(t,e,r){\\\"use strict\\\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],847:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/colorscale\\\"),l=t(\\\"../../constants/xmlns_namespaces\\\"),c=t(\\\"../../plots/get_data\\\").getUidsFromCalcData,u=t(\\\"./max_row_length\\\");function f(t,e,r,n){var c,f,g,m,v,y,x=r[0],b=x.trace,_=e.xaxis,w=e.yaxis,k=\\\"hm\\\"+b.uid,M=x.z,A=x.x,T=x.y,S=x.xCenter,C=x.yCenter,E=a.traceIs(b,\\\"contour\\\"),L=E?\\\"best\\\":b.zsmooth,z=M.length,P=u(M),D=!1,O=!1;for(y=0;void 0===c&&y<A.length-1;)c=_.c2p(A[y]),y++;for(y=A.length-1;void 0===f&&y>0;)f=_.c2p(A[y]),y--;for(f<c&&(g=f,f=c,c=g,D=!0),y=0;void 0===m&&y<T.length-1;)m=w.c2p(T[y]),y++;for(y=T.length-1;void 0===v&&y>0;)v=w.c2p(T[y]),y--;if(v<m&&(g=m,m=v,v=g,O=!0),E&&(S=A,C=T,A=x.xfill,T=x.yfill),\\\"fast\\\"!==L){var I=\\\"best\\\"===L?0:.5;c=Math.max(-I*_._length,c),f=Math.min((1+I)*_._length,f),m=Math.max(-I*w._length,m),v=Math.min((1+I)*w._length,v)}var R=Math.round(f-c),B=Math.round(v-m),F=R<=0||B<=0,N=n.selectAll(\\\"g.hm.\\\"+k).data(F?[]:[0]);if(N.enter().append(\\\"g\\\").classed(\\\"hm\\\",!0).classed(k,!0),N.exit().remove(),!F){var j,V;\\\"fast\\\"===L?(j=P,V=z):(j=R,V=B);var U=document.createElement(\\\"canvas\\\");U.width=j,U.height=V;var q,H,G=U.getContext(\\\"2d\\\"),W=s.makeColorScaleFunc(s.extractScale(b.colorscale,b.zmin,b.zmax),{noNumericCheck:!0,returnArray:!0});\\\"fast\\\"===L?(q=D?function(t){return P-1-t}:o.identity,H=O?function(t){return z-1-t}:o.identity):(q=function(t){return o.constrain(Math.round(_.c2p(A[t])-c),0,R)},H=function(t){return o.constrain(Math.round(w.c2p(T[t])-m),0,B)});var Y,X,Z,J,K,Q=H(0),$=[Q,Q],tt=D?0:1,et=O?0:1,rt=0,nt=0,it=0,at=0;if(L){var ot,st=0;try{ot=new Uint8Array(R*B*4)}catch(t){ot=new Array(R*B*4)}if(\\\"best\\\"===L){var lt,ct,ut,ft=S||A,ht=C||T,pt=new Array(ft.length),dt=new Array(ht.length),gt=new Array(R),mt=S?p:h,vt=C?p:h;for(y=0;y<ft.length;y++)pt[y]=Math.round(_.c2p(ft[y])-c);for(y=0;y<ht.length;y++)dt[y]=Math.round(w.c2p(ht[y])-m);for(y=0;y<R;y++)gt[y]=mt(y,pt);for(X=0;X<B;X++)for(ct=M[(lt=vt(X,dt)).bin0],ut=M[lt.bin1],y=0;y<R;y++,st+=4)d(ot,st,K=Ct(ct,ut,gt[y],lt))}else for(X=0;X<z;X++)for(J=M[X],$=H(X),y=0;y<R;y++)K=St(J[y],1),d(ot,st=4*($*R+q(y)),K);var yt=G.createImageData(R,B);try{yt.data.set(ot)}catch(t){var xt=yt.data,bt=xt.length;for(X=0;X<bt;X++)xt[X]=ot[X]}G.putImageData(yt,0,0)}else{var _t=b.xgap,wt=b.ygap,kt=Math.floor(_t/2),Mt=Math.floor(wt/2);for(X=0;X<z;X++)if(J=M[X],$.reverse(),$[et]=H(X+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(Y=[Z=q(0),Z],y=0;y<P;y++)Y.reverse(),Y[tt]=q(y+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1]&&(K=St(J[y],(Y[1]-Y[0])*($[1]-$[0])),G.fillStyle=\\\"rgba(\\\"+K.join(\\\",\\\")+\\\")\\\",G.fillRect(Y[0]+kt,$[0]+Mt,Y[1]-Y[0]-_t,$[1]-$[0]-wt))}nt=Math.round(nt/rt),it=Math.round(it/rt),at=Math.round(at/rt);var At=i(\\\"rgb(\\\"+nt+\\\",\\\"+it+\\\",\\\"+at+\\\")\\\");t._hmpixcount=(t._hmpixcount||0)+rt,t._hmlumcount=(t._hmlumcount||0)+rt*At.getLuminance();var Tt=N.selectAll(\\\"image\\\").data(r);Tt.enter().append(\\\"svg:image\\\").attr({xmlns:l.svg,preserveAspectRatio:\\\"none\\\"}),Tt.attr({height:B,width:R,x:c,y:m,\\\"xlink:href\\\":U.toDataURL(\\\"image/png\\\")}),Tt.exit().remove()}function St(t,e){if(void 0!==t){var r=W(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),rt+=e,nt+=r[0]*e,it+=r[1]*e,at+=r[2]*e,r}return[0,0,0,0]}function Ct(t,e,r,n){var i=t[r.bin0];if(void 0===i)return St(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,St(i+r.frac*c+n.frac*(u+r.frac*a))}}function h(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.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 p(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function d(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,i){var a=c(r);i.selectAll(\\\".hm > image\\\").each(function(t){var e=t.trace||{};a[e.uid]||n.select(this.parentNode).remove()});for(var o=0;o<r.length;o++)f(t,e,r[o],i)}},{\\\"../../components/colorscale\\\":489,\\\"../../constants/xmlns_namespaces\\\":581,\\\"../../lib\\\":602,\\\"../../plots/get_data\\\":684,\\\"../../registry\\\":732,\\\"./max_row_length\\\":846,d3:130,tinycolor2:415}],848:[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:130}],849:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){!1===r(\\\"zsmooth\\\")&&(r(\\\"xgap\\\"),r(\\\"ygap\\\")),r(\\\"zhoverformat\\\")}},{}],850:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=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,f,h=r(\\\"z\\\");if(l=l||\\\"x\\\",c=c||\\\"y\\\",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){if(u=r(l),f=r(c),!(u&&u.length&&f&&f.length))return 0;e._length=Math.min(u.length,f.length,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r(\\\"transpose\\\"),e._length=null}return a.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[l,c],s),!0}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"fast-isnumeric\\\":196}],851:[function(t,e,r){\\\"use strict\\\";for(var n=t(\\\"../heatmap/attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"../../plot_api/edit_types\\\").overrideAll,l=[\\\"z\\\",\\\"x\\\",\\\"x0\\\",\\\"dx\\\",\\\"y\\\",\\\"y0\\\",\\\"dy\\\",\\\"text\\\",\\\"transpose\\\",\\\"xtype\\\",\\\"ytype\\\"],c={},u=0;u<l.length;u++){var f=l[u];c[f]=n[f]}o(c,i,{autocolorscale:o({},i.autocolorscale,{dflt:!1})},{colorbar:a}),e.exports=s(c,\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../heatmap/attributes\\\":835}],852:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-heatmap2d\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=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,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],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,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}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),i.expand(this.scene.xaxis,r.x),i.expand(this.scene.yaxis,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\\\":625,\\\"../../plots/cartesian/axes\\\":648,\\\"gl-heatmap2d\\\":217}],853:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"../heatmap/defaults\\\"),n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"heatmapgl\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"2dMap\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":687,\\\"../heatmap/calc\\\":836,\\\"../heatmap/colorbar\\\":838,\\\"../heatmap/defaults\\\":840,\\\"./attributes\\\":851,\\\"./convert\\\":852}],854:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../bar/attributes\\\");function i(t){var e={};e[\\\"autobin\\\"+t]=!1;var r={};return r[\\\"^autobin\\\"+t]=!1,{start:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},end:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},size:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},editType:\\\"calc\\\",impliedEdits:e}}e.exports={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},text:n.text,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\\\"},autobinx:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"xbins.start\\\":void 0,\\\"xbins.end\\\":void 0,\\\"xbins.size\\\":void 0}},nbinsx:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},xbins:i(\\\"x\\\"),autobiny:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"ybins.start\\\":void 0,\\\"ybins.end\\\":void 0,\\\"ybins.size\\\":void 0}},nbinsy:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},ybins:i(\\\"y\\\"),marker:n.marker,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{\\\"../bar/attributes\\\":742}],855:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],856:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n){return r(\\\"histnorm\\\"),n.forEach(function(t){r(t+\\\"bins.start\\\"),r(t+\\\"bins.end\\\"),r(t+\\\"bins.size\\\"),!1!==r(\\\"autobin\\\"+t)&&r(\\\"nbins\\\"+t)}),e}},{}],857:[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,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\\\"fast-isnumeric\\\":196}],858:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/numerical\\\"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t(\\\"../../plots/cartesian/axes\\\").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\\\"date\\\"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?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,i,r).split(\\\"-\\\");return\\\"\\\"===n[0]&&(n.unshift(),n[0]=\\\"-\\\"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));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===i?1:6,x=s===i?\\\"M12\\\":\\\"M1\\\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\\\"-\\\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):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\\\":579,\\\"../../plots/cartesian/axes\\\":648}],859:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/cartesian/axes\\\"),o=t(\\\"../bar/arrays_to_calcdata\\\"),s=t(\\\"./bin_functions\\\"),l=t(\\\"./norm_functions\\\"),c=t(\\\"./average\\\"),u=t(\\\"./clean_bins\\\"),f=t(\\\"../../constants/numerical\\\").ONEAVGMONTH,h=t(\\\"./bin_label_vals\\\");function p(t,e,r,i,o){var s,l,c,u,f,h=i+\\\"bins\\\",p=\\\"overlay\\\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var v=p?[e]:g(t,e),y=[],x=1/0,b=1/0,_=-1/0,w=\\\"autobin\\\"+i;for(s=0;s<v.length;s++){f=(l=v[s])._pos0=r.makeCalcdata(l,i);var k=l[h];if(l[w]||!k||null===k.start||null===k.end){c=l[i+\\\"calendar\\\"];var M=l.cumulative;if(k=a.autoBin(f,r,l[\\\"nbins\\\"+i],!1,c),p&&0===k._dataSpan&&\\\"category\\\"!==r.type){if(o)return[k,f,!0];k=d(t,e,r,i,h)}M.enabled&&\\\"include\\\"!==M.currentbin&&(\\\"decreasing\\\"===M.direction?b=Math.min(b,r.r2c(k.start,0,c)-k.size):_=Math.max(_,r.r2c(k.end,0,c)+k.size)),y.push(l)}else u||(u={size:k.size,start:r.r2c(k.start,0,c),end:r.r2c(k.end,0,c)});x=m(x,k.size),b=Math.min(b,r.r2c(k.start,0,c)),_=Math.max(_,r.r2c(k.end,0,c)),s&&(l._autoBinFinished=1)}if(u&&n(u.size)&&n(x)){x=x>u.size/1.9?u.size:u.size/Math.ceil(u.size/x);var A=u.start+(u.size-x)/2;b=A-x*Math.ceil((A-b)/x)}for(s=0;s<y.length;s++)c=(l=y[s])[i+\\\"calendar\\\"],l._input[h]=l[h]={start:r.c2r(b,0,c),end:r.c2r(_,0,c),size:x},l._input[w]=l[w]}return f=e._pos0,delete e._pos0,[e[h],f]}function d(t,e,r,n,a){var o,s,l=g(t,e),c=!1,u=1/0,f=[e];for(o=0;o<l.length;o++)if((s=l[o])===e)c=!0;else if(c){var h=p(t,s,r,n,!0),d=h[0],m=h[2];s._autoBinFinished=1,s._pos0=h[1],m?f.push(s):u=Math.min(u,d.size)}else u=Math.min(u,s[a].size);var v=new Array(f.length);for(o=0;o<f.length;o++)for(var y=f[o]._pos0,x=0;x<y.length;x++)if(void 0!==y[x]){v[o]=y[x];break}for(isFinite(u)||(u=i.distinctVals(v).minDiff),o=0;o<f.length;o++){var b=(s=f[o])[n+\\\"calendar\\\"];s._input[a]=s[a]={start:r.c2r(v[o]-u/2,0,b),end:r.c2r(v[o]+u/2,0,b),size:u}}return e[a]}function g(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\\\"histogram\\\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function m(t,e){if(t===1/0)return e;var r=v(t);return v(e)<r?e:t}function v(t){return n(t)?t:\\\"string\\\"==typeof t&&\\\"M\\\"===t.charAt(0)?f*+t.substr(1):1/0}e.exports=function(t,e){if(!0===e.visible){var r,f=[],d=[],g=a.getFromId(t,\\\"h\\\"===e.orientation?e.yaxis||\\\"y\\\":e.xaxis||\\\"x\\\"),m=\\\"h\\\"===e.orientation?\\\"y\\\":\\\"x\\\",v={x:\\\"y\\\",y:\\\"x\\\"}[m],y=e[m+\\\"calendar\\\"],x=e.cumulative;u(e,g,m);var b,_,w,k=p(t,e,g,m),M=k[0],A=k[1],T=\\\"string\\\"==typeof M.size,S=[],C=T?S:M,E=[],L=[],z=[],P=0,D=e.histnorm,O=e.histfunc,I=-1!==D.indexOf(\\\"density\\\");x.enabled&&I&&(D=D.replace(/ ?density$/,\\\"\\\"),I=!1);var R,B=\\\"max\\\"===O||\\\"min\\\"===O?null:0,F=s.count,N=l[D],j=!1,V=function(t){return g.r2c(t,0,y)};for(i.isArrayOrTypedArray(e[v])&&\\\"count\\\"!==O&&(R=e[v],j=\\\"avg\\\"===O,F=s[O]),r=V(M.start),_=V(M.end)+(r-a.tickIncrement(r,M.size,!1,y))/1e6;r<_&&f.length<1e6&&(b=a.tickIncrement(r,M.size,!1,y),f.push((r+b)/2),d.push(B),z.push([]),S.push(r),I&&E.push(1/(b-r)),j&&L.push(0),!(b<=r));)r=b;S.push(r),T||\\\"date\\\"!==g.type||(C={start:V(C.start),end:V(C.end),size:C.size});var U,q=d.length,H=!0,G=1/0,W=1/0,Y={};for(r=0;r<A.length;r++){var X=A[r];(w=i.findBin(X,C))>=0&&w<q&&(P+=F(w,r,d,R,L),H&&z[w].length&&X!==A[z[w][0]]&&(H=!1),z[w].push(r),Y[r]=w,G=Math.min(G,X-S[w]),W=Math.min(W,S[w+1]-X))}H||(U=h(G,W,S,g,y)),j&&(P=c(d,L)),N&&N(d,P,E),x.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}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())}}(d,x.direction,x.currentbin);var Z=Math.min(f.length,d.length),J=[],K=0,Q=Z-1;for(r=0;r<Z;r++)if(d[r]){K=r;break}for(r=Z-1;r>=K;r--)if(d[r]){Q=r;break}for(r=K;r<=Q;r++)if(n(f[r])&&n(d[r])){var $={p:f[r],s:d[r],b:0};x.enabled||($.pts=z[r],H?$.p0=$.p1=z[r].length?A[z[r][0]]:f[r]:($.p0=U(S[r]),$.p1=U(S[r+1],!0))),J.push($)}return 1===J.length&&(J[0].width1=a.tickIncrement(J[0].p,M.size,!1,y)-J[0].p),o(J,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(J,e,Y),J}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../bar/arrays_to_calcdata\\\":741,\\\"./average\\\":855,\\\"./bin_functions\\\":857,\\\"./bin_label_vals\\\":858,\\\"./clean_bins\\\":860,\\\"./norm_functions\\\":865,\\\"fast-isnumeric\\\":196}],860:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").cleanDate,a=t(\\\"../../constants/numerical\\\"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+\\\"bins\\\",c=t[l];c||(c=t[l]={});var u=\\\"date\\\"===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=\\\"date\\\"===a?o:1,h=c.size;if(n(h))c.size=h>0?Number(h):f;else if(\\\"string\\\"!=typeof h)c.size=f;else{var p=h.charAt(0),d=h.substr(1);((d=n(d)?Number(d):0)<=0||\\\"date\\\"!==a||\\\"M\\\"!==p||d!==Math.round(d))&&(c.size=f)}var g=\\\"autobin\\\"+r;\\\"boolean\\\"!=typeof t[g]&&(t[g]=t._fullInput[g]=t._input[g]=!((c.start||0===c.start)&&(c.end||0===c.end))),t[g]||(delete t[\\\"nbins\\\"+r],delete t._fullInput[\\\"nbins\\\"+r])}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"fast-isnumeric\\\":196}],861:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"./bin_defaults\\\"),s=t(\\\"../bar/style_defaults\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u(\\\"x\\\"),h=u(\\\"y\\\");u(\\\"cumulative.enabled\\\")&&(u(\\\"cumulative.direction\\\"),u(\\\"cumulative.currentbin\\\")),u(\\\"text\\\");var p=u(\\\"orientation\\\",h&&!f?\\\"h\\\":\\\"v\\\"),d=\\\"v\\\"===p?\\\"x\\\":\\\"y\\\",g=\\\"v\\\"===p?\\\"y\\\":\\\"x\\\",m=f&&h?Math.min(f.length&&h.length):(e[d]||[]).length;if(m){e._length=m,n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],c),e[g]&&u(\\\"histfunc\\\"),o(t,e,u,[d]),s(t,e,u,r,c);var v=n.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");v(t,e,a.defaultLine,{axis:\\\"y\\\"}),v(t,e,a.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../bar/style_defaults\\\":754,\\\"./attributes\\\":854,\\\"./bin_defaults\\\":856}],862:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){if(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),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],863:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../bar/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\").hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);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\\\"]=i(t[c+\\\"a\\\"],s.p0,s.p1)}return o}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../bar/hover\\\":745}],864:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.layoutAttributes=t(\\\"../bar/layout_attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"../bar/layout_defaults\\\"),n.calc=t(\\\"./calc\\\"),n.setPositions=t(\\\"../bar/set_positions\\\"),n.plot=t(\\\"../bar/plot\\\"),n.layerName=\\\"barlayer\\\",n.style=t(\\\"../bar/style\\\").style,n.styleOnSelect=t(\\\"../bar/style\\\").styleOnSelect,n.colorbar=t(\\\"../scatter/colorbar\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"../bar/select\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"bar\\\",\\\"histogram\\\",\\\"oriented\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../bar/layout_attributes\\\":747,\\\"../bar/layout_defaults\\\":748,\\\"../bar/plot\\\":749,\\\"../bar/select\\\":750,\\\"../bar/set_positions\\\":751,\\\"../bar/style\\\":753,\\\"../scatter/colorbar\\\":930,\\\"./attributes\\\":854,\\\"./calc\\\":859,\\\"./defaults\\\":861,\\\"./event_data\\\":862,\\\"./hover\\\":863}],865:[function(t,e,r){\\\"use strict\\\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=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 i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\\\"probability density\\\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],866:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram/attributes\\\"),i=t(\\\"../heatmap/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({},{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,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a,{autocolorscale:s({},a.autocolorscale,{dflt:!1})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../heatmap/attributes\\\":835,\\\"../histogram/attributes\\\":854}],867:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../histogram/bin_functions\\\"),o=t(\\\"../histogram/norm_functions\\\"),s=t(\\\"../histogram/average\\\"),l=t(\\\"../histogram/clean_bins\\\"),c=t(\\\"../histogram/bin_label_vals\\\");function u(t,e,r,n,a,o,s){var c=e+\\\"bins\\\",u=\\\"autobin\\\"+e,f=t[c];l(t,n,e),!t[u]&&f&&null!==f.start&&null!==f.end||(f=i.autoBin(r,n,t[\\\"nbins\\\"+e],\\\"2d\\\",s),\\\"histogram2dcontour\\\"===t.type&&(f.start=o(i.tickIncrement(a(f.start),f.size,!0,s)),f.end=o(i.tickIncrement(a(f.end),f.size,!1,s))),t._input[c]=t[c]=f,t._input[u]=t[u])}function f(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function p(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=c(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}e.exports=function(t,e){var r,l,c,d,g=i.getFromId(t,e.xaxis||\\\"x\\\"),m=e.x?g.makeCalcdata(e,\\\"x\\\"):[],v=i.getFromId(t,e.yaxis||\\\"y\\\"),y=e.y?v.makeCalcdata(e,\\\"y\\\"):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return g.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},k=function(t){return g.c2r(t,0,x)},M=function(t){return v.c2r(t,0,b)},A=e._length;m.length>A&&m.splice(A,m.length-A),y.length>A&&y.splice(A,y.length-A),u(e,\\\"x\\\",m,g,_,k,x),u(e,\\\"y\\\",y,v,w,M,b);var T=[],S=[],C=[],E=\\\"string\\\"==typeof e.xbins.size,L=\\\"string\\\"==typeof e.ybins.size,z=[],P=[],D=E?z:e.xbins,O=L?P:e.ybins,I=0,R=[],B=[],F=e.histnorm,N=e.histfunc,j=-1!==F.indexOf(\\\"density\\\"),V=\\\"max\\\"===N||\\\"min\\\"===N?null:0,U=a.count,q=o[F],H=!1,G=[],W=[],Y=\\\"z\\\"in e?e.z:\\\"marker\\\"in e&&Array.isArray(e.marker.color)?e.marker.color:\\\"\\\";Y&&\\\"count\\\"!==N&&(H=\\\"avg\\\"===N,U=a[N]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r<J;r=i.tickIncrement(r,X.size,!1,x))S.push(V),z.push(r),H&&C.push(0);z.push(r);var K=S.length,Q=_(e.xbins.start),$=(r-Q)/K,tt=k(Q+$/2);for(Z=w((X=e.ybins).start),J=w(X.end)+(Z-i.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r<J;r=i.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),P.push(r);var et=new Array(K);for(l=0;l<K;l++)et[l]=[];B.push(et),H&&R.push(C.slice())}P.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=M(nt+it/2);j&&(G=f(S.length,D,$,E),W=f(T.length,O,it,L)),E||\\\"date\\\"!==g.type||(D=h(_,D)),L||\\\"date\\\"!==v.type||(O=h(w,O));var ot=!0,st=!0,lt=new Array(K),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,pt=1/0;for(r=0;r<A;r++){var dt=m[r],gt=y[r];c=n.findBin(dt,D),d=n.findBin(gt,O),c>=0&&c<K&&d>=0&&d<rt&&(I+=U(c,r,T[d],Y,R[d]),B[d][c].push(r),ot&&(void 0===lt[c]?lt[c]=dt:lt[c]!==dt&&(ot=!1)),st&&(void 0===ct[c]?ct[c]=gt:ct[c]!==gt&&(st=!1)),ut=Math.min(ut,dt-z[c]),ft=Math.min(ft,z[c+1]-dt),ht=Math.min(ht,gt-P[d]),pt=Math.min(pt,P[d+1]-gt))}if(H)for(d=0;d<rt;d++)I+=s(T[d],R[d]);if(q)for(d=0;d<rt;d++)q(T[d],I,G,W[d]);return{x:m,xRanges:p(z,ot&&lt,ut,ft,g,x),x0:tt,dx:$,y:y,yRanges:p(P,st&&ct,ht,pt,v,b),y0:at,dy:it,z:T,pts:B}}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../histogram/average\\\":855,\\\"../histogram/bin_functions\\\":857,\\\"../histogram/bin_label_vals\\\":858,\\\"../histogram/clean_bins\\\":860,\\\"../histogram/norm_functions\\\":865}],868:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./sample_defaults\\\"),a=t(\\\"../heatmap/style_defaults\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,l),o(t,e,l,c,{prefix:\\\"\\\",cLetter:\\\"z\\\"}))}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"../heatmap/style_defaults\\\":849,\\\"./attributes\\\":866,\\\"./sample_defaults\\\":871}],869:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../heatmap/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\").hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],p=h.xRanges[f],d=h.yRanges[u];return t.xLabel=i(t.xa,p[0],p[1]),t.yLabel=i(t.ya,d[0],d[1]),l}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../heatmap/hover\\\":842}],870:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../heatmap/calc\\\"),n.plot=t(\\\"../heatmap/plot\\\"),n.layerName=\\\"heatmaplayer\\\",n.colorbar=t(\\\"../heatmap/colorbar\\\"),n.style=t(\\\"../heatmap/style\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"../histogram/event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2d\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../heatmap/calc\\\":836,\\\"../heatmap/colorbar\\\":838,\\\"../heatmap/plot\\\":847,\\\"../heatmap/style\\\":848,\\\"../histogram/event_data\\\":862,\\\"./attributes\\\":866,\\\"./defaults\\\":868,\\\"./hover\\\":869}],871:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../histogram/bin_defaults\\\");e.exports=function(t,e,r,a){var o=r(\\\"x\\\"),s=r(\\\"y\\\");if(o&&o.length&&s&&s.length){e._length=Math.min(o.length,s.length),n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],a),(r(\\\"z\\\")||r(\\\"marker.color\\\"))&&r(\\\"histfunc\\\");i(t,e,r,[\\\"x\\\",\\\"y\\\"])}else e.visible=!1}},{\\\"../../registry\\\":732,\\\"../histogram/bin_defaults\\\":856}],872:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../histogram2d/attributes\\\"),i=t(\\\"../contour/attributes\\\"),a=t(\\\"../../components/colorscale/attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a,{zmin:s({},a.zmin,{editType:\\\"calc\\\"}),zmax:s({},a.zmax,{editType:\\\"calc\\\"})},{colorbar:o})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../contour/attributes\\\":806,\\\"../histogram2d/attributes\\\":866}],873:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../histogram2d/sample_defaults\\\"),a=t(\\\"../contour/contours_defaults\\\"),o=t(\\\"../contour/style_defaults\\\"),s=t(\\\"./attributes\\\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l))}},{\\\"../../lib\\\":602,\\\"../contour/contours_defaults\\\":813,\\\"../contour/style_defaults\\\":827,\\\"../histogram2d/sample_defaults\\\":871,\\\"./attributes\\\":872}],874:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../contour/calc\\\"),n.plot=t(\\\"../contour/plot\\\").plot,n.layerName=\\\"contourlayer\\\",n.style=t(\\\"../contour/style\\\"),n.colorbar=t(\\\"../contour/colorbar\\\"),n.hoverPoints=t(\\\"../contour/hover\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"histogram2dcontour\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"histogram\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../contour/calc\\\":807,\\\"../contour/colorbar\\\":809,\\\"../contour/hover\\\":819,\\\"../contour/plot\\\":824,\\\"../contour/style\\\":826,\\\"./attributes\\\":872,\\\"./defaults\\\":873}],875:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),o=t(\\\"../surface/attributes\\\"),s=t(\\\"../../plots/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat;e.exports=l(n(\\\"\\\",\\\"calc\\\",!1),{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\\\"},delaunayaxis:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"z\\\"],dflt:\\\"z\\\",editType:\\\"calc\\\"},alphahull:{valType:\\\"number\\\",dflt:-1,editType:\\\"calc\\\"},intensity:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},color:{valType:\\\"color\\\",editType:\\\"calc\\\"},vertexcolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},facecolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},opacity:o.opacity,flatshading:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:\\\"calc\\\"},showscale:i.showscale,colorbar:a,lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:\\\"calc\\\"},lighting:l({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\\\"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:\\\"calc\\\"})})},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../surface/attributes\\\":1006}],876:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.intensity&&n(e,e.intensity,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":481}],877:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,c=r.cmin,u=r.cmax,f=r.intensity||[];if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),p=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(p).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],878:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-mesh3d\\\"),i=t(\\\"tinycolor2\\\"),a=t(\\\"delaunay-triangulate\\\"),o=t(\\\"alpha-shape\\\"),s=t(\\\"convex-hull\\\"),l=t(\\\"../../lib/str2rgbarray\\\");function c(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\\\"\\\",this.color=\\\"#fff\\\",this.data=null,this.showContour=!1}var u=c.prototype;function f(t){return t.map(l)}function h(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!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=t;var c,u=h(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)c=h(t.i,t.j,t.k);else if(0===t.alphahull)c=s(u);else if(t.alphahull>0)c=o(t.alphahull,u);else{var p=[\\\"x\\\",\\\"y\\\",\\\"z\\\"].indexOf(t.delaunayaxis);c=a(u.map(function(t){return[t[(p+1)%3],t[(p+2)%3]]}))}var d={positions:u,cells:c,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};t.intensity?(this.color=\\\"#fff\\\",d.vertexIntensity=t.intensity,d.vertexIntensityBounds=[t.cmin,t.cmax],d.colormap=t.colorscale.map(function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],d.vertexColors=f(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],d.cellColors=f(t.facecolor)):(this.color=t.color,d.meshColor=l(t.color)),this.mesh.update(d)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\\\"../../lib/str2rgbarray\\\":625,\\\"alpha-shape\\\":48,\\\"convex-hull\\\":110,\\\"delaunay-triangulate\\\":132,\\\"gl-mesh3d\\\":244,tinycolor2:415}],879:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=c([\\\"x\\\",\\\"y\\\",\\\"z\\\"]),f=c([\\\"i\\\",\\\"j\\\",\\\"k\\\"]);u?(f&&f.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),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\\\",\\\"contour.show\\\",\\\"contour.color\\\",\\\"contour.width\\\",\\\"colorscale\\\",\\\"reversescale\\\",\\\"flatshading\\\",\\\"alphahull\\\",\\\"delaunayaxis\\\",\\\"opacity\\\"].forEach(function(t){l(t)}),\\\"intensity\\\"in t?(l(\\\"intensity\\\"),a(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\\\"),e._length=null):e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":875}],880:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"mesh3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":690,\\\"./attributes\\\":875,\\\"./calc\\\":876,\\\"./colorbar\\\":877,\\\"./convert\\\":878,\\\"./defaults\\\":879}],881:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").extendFlat,i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/drawing/attributes\\\").dash,o=i.line;function s(t){return{line:{color:n({},o.color,{dflt:t}),width:o.width,dash:a,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({},o.width,{}),dash:n({},a,{}),editType:\\\"style\\\"},increasing:s(\\\"#3D9970\\\"),decreasing:s(\\\"#FF4136\\\"),text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},tickwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.3,editType:\\\"calcIfAutorange\\\"}}},{\\\"../../components/drawing/attributes\\\":498,\\\"../../lib\\\":602,\\\"../scatter/attributes\\\":926}],882:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=n._,a=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,n,s){for(var l=n.makeCalcdata(e,\\\"open\\\"),c=n.makeCalcdata(e,\\\"high\\\"),u=n.makeCalcdata(e,\\\"low\\\"),f=n.makeCalcdata(e,\\\"close\\\"),h=Array.isArray(e.text),p=!0,d=null,g=[],m=0;m<r.length;m++){var v=r[m],y=l[m],x=c[m],b=u[m],_=f[m];if(v!==o&&y!==o&&x!==o&&b!==o&&_!==o){_===y?null!==d&&_!==d&&(p=_>d):p=_>y,d=_;var w=s(y,x,b,_);w.pos=v,w.yc=(y+_)/2,w.i=m,w.dir=p?\\\"increasing\\\":\\\"decreasing\\\",h&&(w.tx=e.text[m]),g.push(w)}}return a.expand(n,u.concat(c),{padded:!0}),g.length&&(g[0].t={labels:{open:i(t,\\\"open:\\\")+\\\" \\\",high:i(t,\\\"high:\\\")+\\\" \\\",low:i(t,\\\"low:\\\")+\\\" \\\",close:i(t,\\\"close:\\\")+\\\" \\\"}}),g}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a<o.length;a++){var l=o[a];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)&&(i=Math.min(i,u))}}for(i===1/0&&(i=1),a=0;a<s.length;a++)s[a]._minDiff=i}return i*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var f=l(t,e,u,i,s);return a.expand(r,u,{vpad:c/2}),f.length?(n.extendFlat(f[0].t,{wHover:c/2,tickLen:o}),f):[{t:{empty:!0}}]},calcCommon:l}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648}],883:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./ohlc_defaults\\\"),a=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,i){return n.coerce(t,e,a,r,i)}i(t,e,l,s)?(l(\\\"line.width\\\"),l(\\\"line.dash\\\"),o(t,e,l,\\\"increasing\\\"),o(t,e,l,\\\"decreasing\\\"),l(\\\"text\\\"),l(\\\"tickwidth\\\"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\\\"../../lib\\\":602,\\\"./attributes\\\":881,\\\"./ohlc_defaults\\\":886}],884:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/cartesian/axes\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../scatter/fill_hover_text\\\"),s={increasing:\\\"\\\\u25b2\\\",decreasing:\\\"\\\\u25bc\\\"};e.exports=function(t,e,r,l){var c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=c[0].t,d=h.type,g=\\\"ohlc\\\"===d?\\\"l\\\":\\\"min\\\",m=\\\"ohlc\\\"===d?\\\"h\\\":\\\"max\\\",v=p.bPos||0,y=e-v,x=p.bdPos||p.tickLen,b=p.wHover,_=Math.min(1,x/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0]))),w=t.maxHoverDistance-_,k=t.maxSpikeDistance-_;function M(t){var e=t.pos-y;return i.inbox(e-b,e+b,w)}function A(t){return i.inbox(t[g]-r,t[m]-r,w)}function T(t){return(M(t)+A(t))/2}var S=i.getDistanceFunction(l,M,A,T);if(i.getClosest(c,S,t),!1===t.index)return[];var C=c[t.index],E=t.index=C.i,L=C.dir,z=h[L],P=z.line.color;function D(t){return p.labels[t]+n.hoverLabelText(f,h[t][E])}a.opacity(P)&&z.line.width?t.color=P:t.color=z.fillcolor,t.x0=u.c2p(C.pos+v-x,!0),t.x1=u.c2p(C.pos+v+x,!0),t.xLabelVal=C.pos,t.spikeDistance=T(C)*k/w,t.xSpike=u.c2p(C.pos,!0);var O=h.hoverinfo,I=O.split(\\\"+\\\"),R=\\\"all\\\"===O,B=R||-1!==I.indexOf(\\\"y\\\"),F=R||-1!==I.indexOf(\\\"text\\\"),N=B?[D(\\\"open\\\"),D(\\\"high\\\"),D(\\\"low\\\"),D(\\\"close\\\")+\\\"  \\\"+s[L]]:[];return F&&o(C,h,N),t.extraText=N.join(\\\"<br>\\\"),t.y0=t.y1=f.c2p(C.yc,!0),[t]}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934}],885:[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\\\"),selectPoints:t(\\\"./select\\\")}},{\\\"../../plots/cartesian\\\":659,\\\"./attributes\\\":881,\\\"./calc\\\":882,\\\"./defaults\\\":883,\\\"./hover\\\":884,\\\"./plot\\\":887,\\\"./select\\\":888,\\\"./style\\\":889}],886:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a=r(\\\"x\\\"),o=r(\\\"open\\\"),s=r(\\\"high\\\"),l=r(\\\"low\\\"),c=r(\\\"close\\\");if(n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\"],i),o&&s&&l&&c){var u=Math.min(o.length,s.length,l.length,c.length);return a&&(u=Math.min(u,a.length)),e._length=u,u}}},{\\\"../../registry\\\":732}],887:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis,l=a.selectAll(\\\"g.trace\\\").data(r,function(t){return t[0].trace.uid});l.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace ohlc\\\"),l.exit().remove(),l.order(),l.each(function(t){var r=t[0],a=r.t,l=r.trace,c=n.select(this);if(e.isRangePlot||(r.node3=c),!0!==l.visible||a.empty)c.remove();else{var u=a.tickLen,f=c.selectAll(\\\"path\\\").data(i.identity);f.enter().append(\\\"path\\\"),f.exit().remove(),f.attr(\\\"d\\\",function(t){var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return\\\"M\\\"+r+\\\",\\\"+s.c2p(t.o,!0)+\\\"H\\\"+e+\\\"M\\\"+e+\\\",\\\"+s.c2p(t.h,!0)+\\\"V\\\"+s.c2p(t.l,!0)+\\\"M\\\"+n+\\\",\\\"+s.c2p(t.c,!0)+\\\"H\\\"+e})}})}},{\\\"../../lib\\\":602,d3:130}],888:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=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([i.c2p(l.pos+s),a.c2p(l.yc)])?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],889:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../components/color\\\");e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.ohlclayer\\\").selectAll(\\\"g.trace\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.each(function(t){var e=t[0].trace;n.select(this).selectAll(\\\"path\\\").each(function(t){var r=e[t.dir].line;n.select(this).style(\\\"fill\\\",\\\"none\\\").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style(\\\"opacity\\\",e.selectedpoints&&!t.selected?.3:1)})})}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,d3:130}],890:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../../components/colorscale/scales\\\"),o=t(\\\"../../plots/cartesian/layout_attributes\\\"),s=t(\\\"../../plots/font_attributes\\\"),l=t(\\\"../../plots/domain\\\").attributes,c=t(\\\"../../lib/extend\\\"),u=c.extendDeepAll,f=c.extendFlat;e.exports={domain:l({name:\\\"parcoords\\\",trace:!0,editType:\\\"calc\\\"}),labelfont:s({editType:\\\"calc\\\"}),tickfont:s({editType:\\\"calc\\\"}),rangefont:s({editType:\\\"calc\\\"}),dimensions:{_isLinkedToArray:\\\"dimension\\\",label:{valType:\\\"string\\\",editType:\\\"calc\\\"},tickvals:f({},o.tickvals,{editType:\\\"calc\\\"}),ticktext:f({},o.ticktext,{editType:\\\"calc\\\"}),tickformat:{valType:\\\"string\\\",dflt:\\\"3s\\\",editType:\\\"calc\\\"},visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},constraintrange:{valType:\\\"info_array\\\",freeLength:!0,dimensions:\\\"1-2\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},multiselect:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},values:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\"},line:f(u(n(\\\"line\\\",\\\"calc\\\"),{colorscale:{dflt:a.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:i,editType:\\\"calc\\\"})}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/colorscale/scales\\\":493,\\\"../../lib/extend\\\":591,\\\"../../plots/cartesian/layout_attributes\\\":660,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],891:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"d3\\\"),a=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 f(t,e){return t*(1-u)+e*u}function h(t,e,r){if(d(e,r))return e;for(var n=t[0],i=n,a=1;a<t.length;a++){var o=t[a];if(e<f(n,o))return c(n,i);if(e<o||a===t.length-1)return c(o,n);i=n,n=o}}function p(t,e,r){if(d(e,r))return e;for(var n=t[t.length-1],i=n,a=t.length-2;a>=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr(\\\"x\\\",-n.bar.captureWidth/2).attr(\\\"width\\\",n.bar.captureWidth)}function m(t){t.attr(\\\"visibility\\\",\\\"visible\\\").style(\\\"visibility\\\",\\\"visible\\\").attr(\\\"fill\\\",\\\"yellow\\\").attr(\\\"opacity\\\",0)}function v(t){if(!t.brush.filterSpecified)return\\\"0,\\\"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function y(t,e){return t.map(function(t){return t.map(function(t){return t*e}).sort(s)})}function x(){i.select(document.body).style(\\\"cursor\\\",null)}function b(t){t.attr(\\\"stroke-dasharray\\\",v)}function _(t,e){var r=i.select(t).selectAll(\\\".highlight, .highlight-shadow\\\");b(e?r.transition().duration(n.bar.snapDuration).each(\\\"end\\\",e):r)}function w(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=y(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],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[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(v>=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on(\\\"mousemove\\\",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r=\\\"crosshair\\\";e.clickableOrdinalRange?r=\\\"pointer\\\":e.region&&(r=e.region+\\\"-resize\\\"),i.select(document.body).style(\\\"cursor\\\",r)}}).on(\\\"mouseleave\\\",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on(\\\"dragstart\\\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar=\\\"ns\\\"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s[\\\"s\\\"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on(\\\"drag\\\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on(\\\"dragend\\\",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&A(e)):A(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]<s[0]&&s.reverse(),n.newExtent=[h(s,n.newExtent[0],n.stayingIntervals),p(s,n.newExtent[1],n.stayingIntervals)];var l=n.newExtent[1]>n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||A(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(M),t=T(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=i,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:a}}},ensureAxisBrush:function(t){var e=t.selectAll(\\\".\\\"+n.cn.axisBrush).data(o,a);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(g).call(m).style(\\\"pointer-events\\\",\\\"auto\\\").attr(\\\"transform\\\",\\\"translate(0 \\\"+n.verticalPadding+\\\")\\\"),e.call(k).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(b);var i=t.selectAll(\\\".highlight\\\").data(o);i.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\\\"),i.attr(\\\"y1\\\",function(t){return t.height}).call(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(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\\\":602,\\\"../../lib/gup\\\":599,\\\"./constants\\\":895,d3:130}],892:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../plots/get_data\\\").getModuleCalcData,a=t(\\\"./plot\\\"),o=t(\\\"../../constants/xmlns_namespaces\\\");r.name=\\\"parcoords\\\",r.plot=function(t){var e=i(t.calcdata,\\\"parcoords\\\")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"parcoords\\\"),a=e._has&&e._has(\\\"parcoords\\\");i&&!a&&(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\\\":581,\\\"../../plots/get_data\\\":684,\\\"./plot\\\":900,d3:130}],893:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../lib/gup\\\").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,\\\"line\\\")&&i(e,s,\\\"line\\\",\\\"c\\\"),o({lineColor:s,cscale:l})}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599}],894:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.line,c=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+c).remove(),void 0!==l&&l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var p=e[0].t.cb=s(t,c),d=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});p.fillcolor(d).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],895:[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,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\\\"}}},{}],896:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../components/colorscale/has_colorscale\\\"),o=t(\\\"../../components/colorscale/defaults\\\"),s=t(\\\"./constants\\\").maxDimensionCount,l=t(\\\"../../plots/domain\\\").defaults,c=t(\\\"./axisbrush\\\");e.exports=function(t,e,r,u){function f(r,a){return n.coerce(t,e,i,r,a)}var h=function(t,e){var r,a,o,l=t.dimensions||[],u=e.dimensions=[],f=1/0;function h(t,e){return n.coerce(r,a,i.dimensions,t,e)}for(l.length>s&&(n.log(\\\"parcoords traces support up to \\\"+s+\\\" dimensions at the moment\\\"),l.splice(s)),o=0;o<l.length;o++)if(r=l[o],a={},n.isPlainObject(r)){var p=h(\\\"values\\\"),d=h(\\\"visible\\\");if(p&&p.length||(d=a.visible=!1),d){h(\\\"label\\\"),h(\\\"tickvals\\\"),h(\\\"ticktext\\\"),h(\\\"tickformat\\\"),h(\\\"range\\\"),h(\\\"multiselect\\\");var g=h(\\\"constraintrange\\\");g&&(a.constraintrange=c.cleanRanges(g,a)),f=Math.min(f,p.length)}a._index=o,u.push(a)}return e._length=f,u}(t,e);!function(t,e,r,i,s){var l=s(\\\"line.color\\\",r);a(t,\\\"line\\\")&&n.isArrayOrTypedArray(l)&&(l.length?(s(\\\"line.colorscale\\\"),o(t,e,i,s,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"}),e._length=Math.min(e._length,l.length)):e.line.color=r)}(t,e,r,u,f),l(e,u,f),Array.isArray(h)&&h.length||(e.visible=!1);for(var p=0;p<h.length;p++)h[p].visible&&(h[p]._length=e._length);var d={family:u.font.family,size:Math.round(u.font.size/1.2),color:u.font.color};n.coerceFont(f,\\\"labelfont\\\",d),n.coerceFont(f,\\\"tickfont\\\",d),n.coerceFont(f,\\\"rangefont\\\",d)}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":890,\\\"./axisbrush\\\":891,\\\"./constants\\\":895}],897:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"parcoords\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"gl\\\",\\\"regl\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":890,\\\"./base_plot\\\":892,\\\"./calc\\\":893,\\\"./colorbar\\\":894,\\\"./defaults\\\":896,\\\"./plot\\\":900}],898:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"glslify\\\"),i=n([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\nuniform sampler2D mask;\\\\nuniform float maskHeight;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\\\n}\\\\n\\\\nfloat axisY(\\\\n        float x,\\\\n        mat4 d[4],\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\\\n    return y1 * (1.0 - x) + y2 * x;\\\\n}\\\\n\\\\nconst int bitsPerByte = 8;\\\\n\\\\nint mod2(int a) {\\\\n    return a - 2 * (a / 2);\\\\n}\\\\n\\\\nint mod8(int a) {\\\\n    return a - 8 * (a / 8);\\\\n}\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nbool withinBoundingBox(\\\\n        mat4 d[4],\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\\\n    ) {\\\\n\\\\n    return mshow(d[0], loA, hiA) &&\\\\n           mshow(d[1], loB, hiB) &&\\\\n           mshow(d[2], loC, hiC) &&\\\\n           mshow(d[3], loD, hiD);\\\\n}\\\\n\\\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\\\n    bool result = true;\\\\n    int bitInByteStepper;\\\\n    float valY, valueY, scaleX;\\\\n    int hit, bitmask, valX;\\\\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                bitInByteStepper = mod8(j * 4 + k);\\\\n                valX = i * 2 + j / 2;\\\\n                valY = d[i][j][k];\\\\n                valueY = valY * (height - 1.0) + 0.5;\\\\n                scaleX = (float(valX) + 0.5) / 8.0;\\\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\\\n                result = result && mod2(hit) == 1;\\\\n            }\\\\n        }\\\\n    }\\\\n    return result;\\\\n}\\\\n\\\\nvec4 position(\\\\n        float depth,\\\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\\\n        mat4 dims[4],\\\\n        float signum,\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\\\n        sampler2D mask, float maskHeight\\\\n    ) {\\\\n\\\\n    float x = 0.5 * signum + 0.5;\\\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\\\n\\\\n    float show = float(\\\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\\\n                         && withinRasterMask(dims, mask, maskHeight)\\\\n                      );\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    return vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float prominence = abs(pf[3]);\\\\n\\\\n    mat4 p[4];\\\\n    p[0] = mat4(p0, p1, p2, p3);\\\\n    p[1] = mat4(p4, p5, p6, p7);\\\\n    p[2] = mat4(p8, p9, pa, pb);\\\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    gl_Position = position(\\\\n        1.0 - prominence,\\\\n        resolution, viewBoxPosition, viewBoxSize,\\\\n        p,\\\\n        sign(pf[3]),\\\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\\\n        mask, maskHeight\\\\n    );\\\\n\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\"]),a=n([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nfloat axisY(\\\\n        float x,\\\\n        mat4 d[4],\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\\\n    return y1 * (1.0 - x) + y2 * x;\\\\n}\\\\n\\\\nvec4 position(\\\\n        float depth,\\\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\\\n        mat4 dims[4],\\\\n        float signum,\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float x = 0.5 * signum + 0.5;\\\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\\\n\\\\n    return vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depth,\\\\n        1.0\\\\n    );\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float prominence = abs(pf[3]);\\\\n\\\\n    mat4 p[4];\\\\n    p[0] = mat4(p0, p1, p2, p3);\\\\n    p[1] = mat4(p4, p5, p6, p7);\\\\n    p[2] = mat4(p8, p9, pa, pb);\\\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    gl_Position = position(\\\\n        1.0 - prominence,\\\\n        resolution, viewBoxPosition, viewBoxSize,\\\\n        p,\\\\n        sign(pf[3]),\\\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\\\\n    );\\\\n\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\"]),o=n([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D mask;\\\\nuniform float maskHeight;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\\\n}\\\\n\\\\nfloat axisY(\\\\n        float x,\\\\n        mat4 d[4],\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\\\n    ) {\\\\n\\\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\\\n    return y1 * (1.0 - x) + y2 * x;\\\\n}\\\\n\\\\nconst int bitsPerByte = 8;\\\\n\\\\nint mod2(int a) {\\\\n    return a - 2 * (a / 2);\\\\n}\\\\n\\\\nint mod8(int a) {\\\\n    return a - 8 * (a / 8);\\\\n}\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nbool withinBoundingBox(\\\\n        mat4 d[4],\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\\\n    ) {\\\\n\\\\n    return mshow(d[0], loA, hiA) &&\\\\n           mshow(d[1], loB, hiB) &&\\\\n           mshow(d[2], loC, hiC) &&\\\\n           mshow(d[3], loD, hiD);\\\\n}\\\\n\\\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\\\n    bool result = true;\\\\n    int bitInByteStepper;\\\\n    float valY, valueY, scaleX;\\\\n    int hit, bitmask, valX;\\\\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                bitInByteStepper = mod8(j * 4 + k);\\\\n                valX = i * 2 + j / 2;\\\\n                valY = d[i][j][k];\\\\n                valueY = valY * (height - 1.0) + 0.5;\\\\n                scaleX = (float(valX) + 0.5) / 8.0;\\\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\\\n                result = result && mod2(hit) == 1;\\\\n            }\\\\n        }\\\\n    }\\\\n    return result;\\\\n}\\\\n\\\\nvec4 position(\\\\n        float depth,\\\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\\\n        mat4 dims[4],\\\\n        float signum,\\\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\\\n        sampler2D mask, float maskHeight\\\\n    ) {\\\\n\\\\n    float x = 0.5 * signum + 0.5;\\\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\\\n\\\\n    float show = float(\\\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\\\n                         && withinRasterMask(dims, mask, maskHeight)\\\\n                      );\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    return vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float prominence = abs(pf[3]);\\\\n\\\\n    mat4 p[4];\\\\n    p[0] = mat4(p0, p1, p2, p3);\\\\n    p[1] = mat4(p4, p5, p6, p7);\\\\n    p[2] = mat4(p8, p9, pa, pb);\\\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    gl_Position = position(\\\\n        1.0 - prominence,\\\\n        resolution, viewBoxPosition, viewBoxSize,\\\\n        p,\\\\n        sign(pf[3]),\\\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\\\n        mask, maskHeight\\\\n    );\\\\n\\\\n    fragColor = vec4(pf.rgb, 1.0);\\\\n}\\\\n\\\"]),s=n([\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = fragColor;\\\\n}\\\\n\\\"]),l=t(\\\"../../lib\\\"),c=1e-6,u=1e-7,f=2048,h=64,p=2,d=4,g=8,m=h/g,v=[119,119,119],y=new Uint8Array(4),x=new Uint8Array(4),b={shape:[256,1],format:\\\"rgba\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\"};function _(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function w(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:y})}(t),r.drawCompleted=!0),function s(l){var c;c=Math.min(n,i-l*n),a.offset=p*l*n,a.count=p*c,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],_(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function k(t,e){return(t>>>8*e)%256/255}function M(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<p;a++)for(n=0;n<d;n++)o.push(e[i*h+r*d+n]),r*d+n===h-1&&a%2==0&&(o[o.length-1]*=-1);return o}e.exports=function(t,e){var r,n,p,d,y,A=e.context,T=e.pick,S=e.regl,C={currentRafs:{},drawCompleted:!0,clearOnly:!1},E=function(t){for(var e={},r=0;r<16;r++)e[\\\"p\\\"+r.toString(16)]=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null});return e}(S),L=S.texture(b);P(e);var z=S({profile:!1,blend:{enable:A,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:!A,mask:!0,func:\\\"less\\\",range:[0,1]},cull:{enable:!0,face:\\\"back\\\"},scissor:{enable:!0,box:{x:S.prop(\\\"scissorX\\\"),y:S.prop(\\\"scissorY\\\"),width:S.prop(\\\"scissorWidth\\\"),height:S.prop(\\\"scissorHeight\\\")}},viewport:{x:S.prop(\\\"viewportX\\\"),y:S.prop(\\\"viewportY\\\"),width:S.prop(\\\"viewportWidth\\\"),height:S.prop(\\\"viewportHeight\\\")},dither:!1,vert:T?o:A?a:i,frag:s,primitive:\\\"lines\\\",lineWidth:1,attributes:E,uniforms:{resolution:S.prop(\\\"resolution\\\"),viewBoxPosition:S.prop(\\\"viewBoxPosition\\\"),viewBoxSize:S.prop(\\\"viewBoxSize\\\"),dim1A:S.prop(\\\"dim1A\\\"),dim2A:S.prop(\\\"dim2A\\\"),dim1B:S.prop(\\\"dim1B\\\"),dim2B:S.prop(\\\"dim2B\\\"),dim1C:S.prop(\\\"dim1C\\\"),dim2C:S.prop(\\\"dim2C\\\"),dim1D:S.prop(\\\"dim1D\\\"),dim2D:S.prop(\\\"dim2D\\\"),loA:S.prop(\\\"loA\\\"),hiA:S.prop(\\\"hiA\\\"),loB:S.prop(\\\"loB\\\"),hiB:S.prop(\\\"hiB\\\"),loC:S.prop(\\\"loC\\\"),hiC:S.prop(\\\"hiC\\\"),loD:S.prop(\\\"loD\\\"),hiD:S.prop(\\\"hiD\\\"),palette:L,mask:S.prop(\\\"maskTexture\\\"),maskHeight:S.prop(\\\"maskHeight\\\"),colorClamp:S.prop(\\\"colorClamp\\\")},offset:S.prop(\\\"offset\\\"),count:S.prop(\\\"count\\\")});function P(t){r=t.model,n=t.viewModel,p=n.dimensions.slice(),d=p[0]?p[0].values.length:0;var e=r.lines,i=T?e.color.map(function(t,r){return r/e.color.length}):e.color,a=Math.max(1/255,Math.pow(1/i.length,1/3)),o=function(t,e,r){for(var n,i=e.length,a=[],o=0;o<t;o++)for(var s=0;s<h;s++)a.push(s<i?e[s].paddedUnitValues[o]:s===h-1?(n=r[o],Math.max(c,Math.min(1-c,n))):s>=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t[\\\"p\\\"+n.toString(16)](M(e,r,n))}(E,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?v:a).concat(r))}return n}(r.unitToColor,A,Math.round(255*(A?a:1)))},b))}var D=[0,1];var O=[];function I(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,m,v=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(m=v[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===m?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:D,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){D[0]=t[0],D[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;i<s;i++)t[i].dim2.canvasX>c&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasX<l&&(l=t[i].dim1.canvasX,a=i);0===s&&_(S,0,0,r.canvasWidth,r.canvasHeight);var h=A?{}:function(){var t,e,r,n=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(t=0;t<2;t++)for(e=0;e<4;e++)for(r=0;r<16;r++){var i,a=r+16*e;i=a<p.length?p[a].brush.filter.getBounds()[t]:t,n[t][e][r]=i+(2*t-1)*u}function o(t,e){var r=f-1;return[Math.max(0,Math.floor(e[0]*r)),Math.min(r,Math.ceil(e[1]*r))]}for(var s=Array.apply(null,new Array(f*m)).map(function(){return 255}),l=0;l<p.length;l++){var c=l%g,h=(l-c)/g,d=Math.pow(2,c),v=p[l],x=v.brush.filter.get();if(!(x.length<2))for(var b=o(0,x[0])[1],_=1;_<x.length;_++){for(var w=o(0,x[_]),k=b+1;k<w[0];k++)s[k*m+h]&=~d;b=Math.max(b,w[1])}}var M={shape:[m,f],format:\\\"alpha\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\",data:s};return y?y(M):y=S.texture(M),{maskTexture:y,maskHeight:f,loA:n[0][0],loB:n[0][1],loC:n[0][2],loD:n[0][3],hiA:n[1][0],hiB:n[1][1],hiC:n[1][2],hiD:n[1][3]}}();for(i=0;i<s;i++){var v=t[i],x=v.dim1,b=x.crossfilterDimensionIndex,k=v.canvasX,M=v.canvasY,T=v.dim2.crossfilterDimensionIndex,E=v.panelSizeX,L=v.panelSizeY,P=k+E;if(e||!O[b]||O[b][0]!==k||O[b][1]!==P){O[b]=[k,P];var D=I(b,T,k,M,E,L,x.crossfilterDimensionIndex,i,a,o,h);C.clearOnly=n,w(S,z,C,e?r.lines.blockLineCount:d,d,D)}}},readPixel:function(t,e){return S.read({x:t,y:e,width:1,height:1,data:x}),x},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return S.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style[\\\"pointer-events\\\"]=\\\"none\\\",L.destroy(),y&&y.destroy(),E)E[e].destroy()},update:P}}},{\\\"../../lib\\\":602,glslify:295}],899:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./lines\\\"),i=t(\\\"./constants\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"d3\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../lib/gup\\\"),c=l.keyFun,u=l.repeat,f=l.unwrap,h=t(\\\"./axisbrush\\\");function p(t){return!(\\\"visible\\\"in t)||t.visible}function d(t){var e=t.range?t.range[0]:a.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:a.aggNums(Math.max,null,t.values,t._length);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function g(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function m(t,e,r){var n=f(e),s=n.trace,l=n.lineColor,c=n.cscale,u=s.line,h=s.domain,g=s.dimensions,m=t.width,v=s.labelfont,y=s.tickfont,x=s.rangefont,b=a.extendDeepNoArrays({},u,{color:l.map(o.scale.linear().domain(d({values:l,range:[u.cmin,u.cmax],_length:s._length}))),blockLineCount:i.blockLineCount,canvasOverdrag:i.overdrag*i.canvasPixelRatio}),_=Math.floor(m*(h.x[1]-h.x[0])),w=Math.floor(t.height*(h.y[1]-h.y[0])),k=t.margin||{l:80,r:80,t:100,b:80},M=_,A=w;return{key:r,colCount:g.filter(p).length,dimensions:g,tickDistance:i.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return o.rgb(t[1])}),n=\\\"rgb\\\".split(\\\"\\\").map(function(t){return o.scale.linear().clamp(!0).domain(e).range(r.map((n=t,function(t){return t[n]})));var n});return function(t){return n.map(function(e){return e(t)})}}(c),lines:b,labelFont:v,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:h,translateX:h.x[0]*m,translateY:t.height-h.y[1]*t.height,pad:k,canvasWidth:M*i.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*i.canvasPixelRatio,width:M,height:A,canvasPixelRatio:i.canvasPixelRatio}}function v(t,e,r){var n=r.width,s=r.height,l=r.dimensions,c=r.canvasPixelRatio,u=function(t){return n*t/Math.max(1,r.colCount-1)},f=i.verticalPadding/s,m=function(t,e){return o.scale.linear().range([e,t-e])}(s,i.verticalPadding),v={key:r.key,xScale:u,model:r,inBrushDrag:!1},y={};return v.dimensions=l.filter(p).map(function(n,l){var p=function(t,e){return o.scale.linear().domain(d(t)).range([e,1-e])}(n,f),x=y[n.label];y[n.label]=(x||0)+1;var b=n.label+(x?\\\"__\\\"+x:\\\"\\\"),_=n.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var k=w?_.map(function(t){return t.map(p)}):[[0,1]],M=n.values;M.length>n._length&&(M=M.slice(0,n._length));var A,T=n.tickvals;function S(t,e){return{val:t,text:A[e]}}function C(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){A=n.ticktext,Array.isArray(A)&&A.length?A.length>T.length?A=A.slice(0,T.length):T.length>A.length&&(T=T.slice(0,A.length)):A=T.map(o.format(n.tickformat));for(var E=1;E<T.length;E++)if(T[E]<T[E-1]){for(var L=T.map(S).sort(C),z=0;z<T.length;z++)T[z]=L[z].val,A[z]=L[z].text;break}}else T=void 0;return{key:b,label:n.label,tickFormat:n.tickformat,tickvals:T,ticktext:A,ordinal:!!T,multiselect:n.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:n._index,height:s,values:M,paddedUnitValues:M.map(p),unitTickvals:T&&T.map(p),xScale:u,x:u(l),canvasX:u(l)*c,unitToPaddedPx:m,domainScale:function(t,e,r,n,i){var a,s,l=d(r);return n?o.scale.ordinal().domain(n.map((a=o.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null===r||void 0===r?a(t):r}:a))).range(n.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):o.scale.linear().domain(l).range([t-e,e])}(s,i.verticalPadding,n,T,A),ordinalScale:function(t){if(t.tickvals){var e=d(t);return o.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(n),parent:v,model:r,brush:h.makeBrush(t,w,k,function(){t.linePickActive(!1)},function(){var e=v;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=g(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){var i=v;if(i.focusLayer.render(i.panels,!0),i.pickLayer&&i.pickLayer.render(i.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var o=p.invert,s=r.map(function(t){return t.map(o).sort(a.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(i.key,n._index,s)}})}}),v}function y(t){t.classed(i.cn.axisExtentText,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"user-select\\\",\\\"none\\\")}e.exports=function(t,e,r,l,p,d){var x,b,_=(x=!0,b=!1,{linePickActive:function(t){return arguments.length?x=!!t:x},contextShown:function(t){return arguments.length?b=!!t:b}}),w=l.filter(function(t){return f(t).trace.visible}).map(m.bind(0,p)).map(v.bind(0,_,d));r.each(function(t,e){return a.extendFlat(t,w[e])});var k=r.selectAll(\\\".gl-canvas\\\").each(function(t){t.viewModel=w[0],t.model=t.viewModel?t.viewModel.model:null}),M=null;k.filter(function(t){return t.pick}).style(\\\"pointer-events\\\",\\\"auto\\\").on(\\\"mousemove\\\",function(t){if(_.linePickActive()&&t.lineLayer&&d&&d.hover){var e=o.event,r=this.width,n=this.height,i=o.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==M&&(c?d.hover(f):d.unhover&&d.unhover(f),M=u)}}),k.style(\\\"opacity\\\",function(t){return t.pick?.01:1}),e.style(\\\"background\\\",\\\"rgba(255, 255, 255, 0)\\\");var A=e.selectAll(\\\".\\\"+i.cn.parcoords).data(w,c);A.exit().remove(),A.enter().append(\\\"g\\\").classed(i.cn.parcoords,!0).style(\\\"shape-rendering\\\",\\\"crispEdges\\\").style(\\\"pointer-events\\\",\\\"none\\\"),A.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.translateX+\\\",\\\"+t.model.translateY+\\\")\\\"});var T=A.selectAll(\\\".\\\"+i.cn.parcoordsControlView).data(u,c);T.enter().append(\\\"g\\\").classed(i.cn.parcoordsControlView,!0),T.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.pad.l+\\\",\\\"+t.model.pad.t+\\\")\\\"});var S=T.selectAll(\\\".\\\"+i.cn.yAxis).data(function(t){return t.dimensions},c);function C(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;a<i;a++){var o=r[a]||(r[a]={}),s=n[a],l=n[a+1];o.dim1=s,o.dim2=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=e.model.canvasHeight,o.y=0,o.canvasY=0}}S.enter().append(\\\"g\\\").classed(i.cn.yAxis,!0),T.each(function(t){C(S,t)}),k.each(function(t){t.viewModel&&(t.lineLayer?t.lineLayer.update(t):t.lineLayer=n(this,t),t.viewModel[t.key]=t.lineLayer,t.lineLayer.render(t.viewModel.panels,!t.context))}),S.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),S.call(o.behavior.drag().origin(function(t){return t}).on(\\\"drag\\\",function(t){var e=t.parent;_.linePickActive(!1),t.x=Math.max(-i.overdrag,Math.min(t.model.width+i.overdrag,o.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,S.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}),C(S,e),S.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),o.select(this).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\", 0)\\\"),S.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(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,C(S,e),o.select(this).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\", 0)\\\"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),_.linePickActive(!0),d&&d.axesMoved&&d.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),S.exit().remove();var E=S.selectAll(\\\".\\\"+i.cn.axisOverlays).data(u,c);E.enter().append(\\\"g\\\").classed(i.cn.axisOverlays,!0),E.selectAll(\\\".\\\"+i.cn.axis).remove();var L=E.selectAll(\\\".\\\"+i.cn.axis).data(u,c);L.enter().append(\\\"g\\\").classed(i.cn.axis,!0),L.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();o.select(this).call(o.svg.axis().orient(\\\"left\\\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),s.font(L.selectAll(\\\"text\\\"),t.model.tickFont)}),L.selectAll(\\\".domain, .tick>line\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-opacity\\\",.25).attr(\\\"stroke-width\\\",\\\"1px\\\"),L.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 z=E.selectAll(\\\".\\\"+i.cn.axisHeading).data(u,c);z.enter().append(\\\"g\\\").classed(i.cn.axisHeading,!0);var P=z.selectAll(\\\".\\\"+i.cn.axisTitle).data(u,c);P.enter().append(\\\"text\\\").classed(i.cn.axisTitle,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"ew-resize\\\").style(\\\"user-select\\\",\\\"none\\\").style(\\\"pointer-events\\\",\\\"auto\\\"),P.attr(\\\"transform\\\",\\\"translate(0,\\\"+-i.axisTitleOffset+\\\")\\\").text(function(t){return t.label}).each(function(t){s.font(o.select(this),t.model.labelFont)});var D=E.selectAll(\\\".\\\"+i.cn.axisExtent).data(u,c);D.enter().append(\\\"g\\\").classed(i.cn.axisExtent,!0);var O=D.selectAll(\\\".\\\"+i.cn.axisExtentTop).data(u,c);O.enter().append(\\\"g\\\").classed(i.cn.axisExtentTop,!0),O.attr(\\\"transform\\\",\\\"translate(0,\\\"+-i.axisExtentOffset+\\\")\\\");var I=O.selectAll(\\\".\\\"+i.cn.axisExtentTopText).data(u,c);function R(t,e){if(t.ordinal)return\\\"\\\";var r=t.domainScale.domain();return o.format(t.tickFormat)(r[e?r.length-1:0])}I.enter().append(\\\"text\\\").classed(i.cn.axisExtentTopText,!0).call(y),I.text(function(t){return R(t,!0)}).each(function(t){s.font(o.select(this),t.model.rangeFont)});var B=D.selectAll(\\\".\\\"+i.cn.axisExtentBottom).data(u,c);B.enter().append(\\\"g\\\").classed(i.cn.axisExtentBottom,!0),B.attr(\\\"transform\\\",function(t){return\\\"translate(0,\\\"+(t.model.height+i.axisExtentOffset)+\\\")\\\"});var F=B.selectAll(\\\".\\\"+i.cn.axisExtentBottomText).data(u,c);F.enter().append(\\\"text\\\").classed(i.cn.axisExtentBottomText,!0).attr(\\\"dy\\\",\\\"0.75em\\\").call(y),F.text(function(t){return R(t)}).each(function(t){s.font(o.select(this),t.model.rangeFont)}),h.ensureAxisBrush(E)}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"./axisbrush\\\":891,\\\"./constants\\\":895,\\\"./lines\\\":898,d3:130}],900:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./parcoords\\\"),i=t(\\\"../../lib/prepare_regl\\\");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;i(t);var l={},c={},u=r._size;e.forEach(function(e,r){l[r]=t.data[r].dimensions,c[r]=t.data[r].dimensions.slice()});n(o,a,s,e,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(e,r,n){var i=c[e][r],a=n.map(function(t){return t.slice()});a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,a=[a]):(delete i.constraintrange,a=null);var o={};o[\\\"dimensions[\\\"+r+\\\"].constraintrange\\\"]=a,t.emit(\\\"plotly_restyle\\\",[o,[e]])},hover:function(e){t.emit(\\\"plotly_hover\\\",e)},unhover:function(e){t.emit(\\\"plotly_unhover\\\",e)},axesMoved:function(e,r){function n(t){return!(\\\"visible\\\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit(\\\"plotly_restyle\\\")}})}},{\\\"../../lib/prepare_regl\\\":615,\\\"./parcoords\\\":899}],901:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color/attributes\\\"),i=t(\\\"../../plots/font_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../plots/domain\\\").attributes,s=t(\\\"../../lib/extend\\\").extendFlat,l=i({editType:\\\"calc\\\",colorEditType:\\\"style\\\"});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:n.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:\\\"calc\\\"},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:s({},a.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"auto\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({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\\\"}}},{\\\"../../components/color/attributes\\\":473,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],902:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../plots/get_data\\\").getModuleCalcData;r.name=\\\"pie\\\",r.plot=function(t){var e=n.getModule(\\\"pie\\\"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"pie\\\"),a=e._has&&e._has(\\\"pie\\\");i&&!a&&n._pielayer.selectAll(\\\"g.trace\\\").remove()}},{\\\"../../plots/get_data\\\":684,\\\"../../registry\\\":732}],903:[function(t,e,r){\\\"use strict\\\";var n,i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../../lib\\\").isArrayOrTypedArray,o=t(\\\"tinycolor2\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"./helpers\\\");function c(t,e){if(!n){var r=s.defaults;n=u(r)}var i=e||n;return i[t%i.length]}function u(t){var e,r=t.slice();for(e=0;e<t.length;e++)r.push(o(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)r.push(o(t[e]).darken(20).toHexString());return r}e.exports=function(t,e){var r,n,f,h,p,d=e.values,g=a(d)&&d.length,m=e.labels,v=e.marker.colors||[],y=[],x=t._fullLayout,b=x.colorway,_=x._piecolormap,w={},k=0,M=x.hiddenlabels||[];if(x._piecolorway||b===s.defaults||(x._piecolorway=u(b)),e.dlabel)for(m=new Array(d.length),r=0;r<d.length;r++)m[r]=String(e.label0+r*e.dlabel);function A(t,e){return!!t&&(!!(t=o(t)).isValid()&&(t=s.addOpacity(t,t.getAlpha()),_[e]||(_[e]=t),t))}var T=(g?d:m).length;for(r=0;r<T;r++){if(g){if(n=d[r],!i(n))continue;if((n=+n)<0)continue}else n=1;void 0!==(f=m[r])&&\\\"\\\"!==f||(f=r);var S=w[f=String(f)];void 0===S?(w[f]=y.length,(h=-1!==M.indexOf(f))||(k+=n),y.push({v:n,label:f,color:A(v[r]),i:r,pts:[r],hidden:h})):((p=y[S]).v+=n,p.pts.push(r),p.hidden||(k+=n),!1===p.color&&v[r]&&(p.color=A(v[r],f)))}for(e.sort&&y.sort(function(t,e){return e.v-t.v}),r=0;r<y.length;r++)!1===(p=y[r]).color&&(_[p.label]?p.color=_[p.label]:(_[p.label]=p.color=c(x._piedefaultcolorcount,x._piecolorway),x._piedefaultcolorcount++));if(y[0]&&(y[0].vTotal=k),e.textinfo&&\\\"none\\\"!==e.textinfo){var C,E=-1!==e.textinfo.indexOf(\\\"label\\\"),L=-1!==e.textinfo.indexOf(\\\"text\\\"),z=-1!==e.textinfo.indexOf(\\\"value\\\"),P=-1!==e.textinfo.indexOf(\\\"percent\\\"),D=x.separators;for(r=0;r<y.length;r++){if(p=y[r],C=E?[p.label]:[],L){var O=l.getFirstFilled(e.text,p.pts);O&&C.push(O)}z&&C.push(l.formatPieValue(p.v,D)),P&&C.push(l.formatPiePercent(p.v/k,D)),p.text=C.join(\\\"<br>\\\")}}return y}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"./helpers\\\":906,\\\"fast-isnumeric\\\":196,tinycolor2:415}],904:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../plots/domain\\\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l,c=n.coerceFont,u=s(\\\"values\\\"),f=n.isArrayOrTypedArray(u),h=s(\\\"labels\\\");if(Array.isArray(h)&&(l=h.length,f&&(l=Math.min(l,u.length))),!Array.isArray(h)){if(!f)return void(e.visible=!1);l=u.length,s(\\\"label0\\\"),s(\\\"dlabel\\\")}if(l){e._length=l,s(\\\"marker.line.width\\\")&&s(\\\"marker.line.color\\\"),s(\\\"marker.colors\\\"),s(\\\"scalegroup\\\");var p=s(\\\"text\\\"),d=s(\\\"textinfo\\\",Array.isArray(p)?\\\"text+percent\\\":\\\"percent\\\");if(s(\\\"hovertext\\\"),d&&\\\"none\\\"!==d){var g=s(\\\"textposition\\\"),m=Array.isArray(g)||\\\"auto\\\"===g,v=m||\\\"inside\\\"===g,y=m||\\\"outside\\\"===g;if(v||y){var x=c(s,\\\"textfont\\\",o.font);v&&c(s,\\\"insidetextfont\\\",x),y&&c(s,\\\"outsidetextfont\\\",x)}}a(e,o,s),s(\\\"hole\\\"),s(\\\"sort\\\"),s(\\\"direction\\\"),s(\\\"rotation\\\"),s(\\\"pull\\\")}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":901}],905:[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,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{\\\"../../components/fx/helpers\\\":513}],906:[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)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{\\\"../../lib\\\":602}],907:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.supplyLayoutDefaults=t(\\\"./layout_defaults\\\"),n.layoutAttributes=t(\\\"./layout_attributes\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.styleOne=t(\\\"./style_one\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pie\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"pie\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":901,\\\"./base_plot\\\":902,\\\"./calc\\\":903,\\\"./defaults\\\":904,\\\"./layout_attributes\\\":908,\\\"./layout_defaults\\\":909,\\\"./plot\\\":910,\\\"./style\\\":911,\\\"./style_one\\\":912}],908:[function(t,e,r){\\\"use strict\\\";e.exports={hiddenlabels:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}}},{}],909:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\");e.exports=function(t,e){var r,a;r=\\\"hiddenlabels\\\",n.coerce(t,e,i,r,a)}},{\\\"../../lib\\\":602,\\\"./layout_attributes\\\":908}],910:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../lib/svg_text_utils\\\"),c=t(\\\"./helpers\\\"),u=t(\\\"./event_data\\\");function f(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function h(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===f.indexOf(s.scalegroup)&&f.push(s.scalegroup)}for(a=0;a<f.length;a++){for(u=1/0,c=f[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var p=r._pielayer.selectAll(\\\"g.trace\\\").data(e);p.enter().append(\\\"g\\\").attr({\\\"stroke-linejoin\\\":\\\"round\\\",class:\\\"trace\\\"}),p.exit().remove(),p.order(),p.each(function(e){var p=n.select(this),d=e[0],g=d.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\\\"px0\\\",c=\\\"px1\\\";if(\\\"counterclockwise\\\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\\\"px1\\\",c=\\\"px0\\\"}function u(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(e),p.each(function(){var p=n.select(this).selectAll(\\\"g.slice\\\").data(e);p.enter().append(\\\"g\\\").classed(\\\"slice\\\",!0),p.exit().remove();var m=[[[],[]],[[],[]]],v=!1;p.each(function(e){if(e.hidden)n.select(this).selectAll(\\\"path,g\\\").remove();else{e.pointNumber=e.i,e.curveNumber=g.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var a=d.cx,p=d.cy,y=n.select(this),x=y.selectAll(\\\"path.surface\\\").data([e]),b=!1,_=!1;if(x.enter().append(\\\"path\\\").classed(\\\"surface\\\",!0).style({\\\"pointer-events\\\":\\\"all\\\"}),y.select(\\\"path.textline\\\").remove(),y.on(\\\"mouseover\\\",function(){var o=t._fullLayout,s=t._fullData[g.index];if(!t._dragging&&!1!==o.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&&(l=i.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:g._module},o,0)),\\\"all\\\"===l&&(l=\\\"label+text+value+percent+name\\\"),\\\"none\\\"!==l&&\\\"skip\\\"!==l&&l){var h=f(e,d),m=a+e.pxmid[0]*(1-h),v=p+e.pxmid[1]*(1-h),y=r.separators,x=[];if(-1!==l.indexOf(\\\"label\\\")&&x.push(e.label),-1!==l.indexOf(\\\"text\\\")){var w=c.castOption(s.hovertext||s.text,e.pts);w&&x.push(w)}-1!==l.indexOf(\\\"value\\\")&&x.push(c.formatPieValue(e.v,y)),-1!==l.indexOf(\\\"percent\\\")&&x.push(c.formatPiePercent(e.v/d.vTotal,y));var k=g.hoverlabel,M=k.font;i.loneHover({x0:m-h*d.r,x1:m+h*d.r,y:v,text:x.join(\\\"<br>\\\"),name:-1!==l.indexOf(\\\"name\\\")?s.name:void 0,idealAlign:e.pxmid[0]<0?\\\"left\\\":\\\"right\\\",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(M.family,e.pts),fontSize:c.castOption(M.size,e.pts),fontColor:c.castOption(M.color,e.pts)},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:t}),b=!0}t.emit(\\\"plotly_hover\\\",{points:[u(e,s)],event:n.event}),_=!0}}).on(\\\"mouseout\\\",function(r){var a=t._fullLayout,o=t._fullData[g.index];_&&(r.originalEvent=n.event,t.emit(\\\"plotly_unhover\\\",{points:[u(e,o)],event:n.event}),_=!1),b&&(i.loneUnhover(a._hoverlayer.node()),b=!1)}).on(\\\"click\\\",function(){var r=t._fullLayout,a=t._fullData[g.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),g.pull){var w=+c.castOption(g.pull,e.pts)||0;w>0&&(a+=w*e.pxmid[0],p+=w*e.pxmid[1])}e.cxFinal=a,e.cyFinal=p;var k=g.hole;if(e.v===d.vTotal){var M=\\\"M\\\"+(a+e.px0[0])+\\\",\\\"+(p+e.px0[1])+E(e.px0,e.pxmid,!0,1)+E(e.pxmid,e.px0,!0,1)+\\\"Z\\\";k?x.attr(\\\"d\\\",\\\"M\\\"+(a+k*e.px0[0])+\\\",\\\"+(p+k*e.px0[1])+E(e.px0,e.pxmid,!1,k)+E(e.pxmid,e.px0,!1,k)+\\\"Z\\\"+M):x.attr(\\\"d\\\",M)}else{var A=E(e.px0,e.px1,!0,1);if(k){var T=1-k;x.attr(\\\"d\\\",\\\"M\\\"+(a+k*e.px1[0])+\\\",\\\"+(p+k*e.px1[1])+E(e.px1,e.px0,!1,k)+\\\"l\\\"+T*e.px0[0]+\\\",\\\"+T*e.px0[1]+A+\\\"Z\\\")}else x.attr(\\\"d\\\",\\\"M\\\"+a+\\\",\\\"+p+\\\"l\\\"+e.px0[0]+\\\",\\\"+e.px0[1]+A+\\\"Z\\\")}var S=c.castOption(g.textposition,e.pts),C=y.selectAll(\\\"g.slicetext\\\").data(e.text&&\\\"none\\\"!==S?[0]:[]);C.enter().append(\\\"g\\\").classed(\\\"slicetext\\\",!0),C.exit().remove(),C.each(function(){var r=s.ensureSingle(n.select(this),\\\"text\\\",\\\"\\\",function(t){t.attr(\\\"data-notex\\\",1)});r.text(e.text).attr({class:\\\"slicetext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\"}).call(o.font,\\\"outside\\\"===S?g.outsidetextfont:g.insidetextfont).call(l.convertToTspans,t);var i,c=o.bBox(r.node());\\\"outside\\\"===S?i=h(c,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>h.scale?m:h;return l.scale<1&&v.scale>l.scale?v:l}(c,e,d),\\\"auto\\\"===S&&i.scale<1&&(r.call(o.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(c=o.bBox(r.node())),i=h(c,e)));var u=a+e.pxmid[0]*i.rCenter+(i.x||0),m=p+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=m-c.height/2,e.yLabelMid=m,e.yLabelMax=m+c.height/2,e.labelExtraX=0,e.labelExtraY=0,v=!0),r.attr(\\\"transform\\\",\\\"translate(\\\"+u+\\\",\\\"+m+\\\")\\\"+(i.scale<1?\\\"scale(\\\"+i.scale+\\\")\\\":\\\"\\\")+(i.rotate?\\\"rotate(\\\"+i.rotate+\\\")\\\":\\\"\\\")+\\\"translate(\\\"+-(c.left+c.right)/2+\\\",\\\"+-(c.top+c.bottom)/2+\\\")\\\")})}function E(t,r,n,i){return\\\"a\\\"+i*d.r+\\\",\\\"+i*d.r+\\\" 0 \\\"+e.largeArc+(n?\\\" 1 \\\":\\\" 0 \\\")+i*(r[0]-t[0])+\\\",\\\"+i*(r[1]-t[1])}}),v&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,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 i,u,f,p,d,g,m=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=m-v;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u<h.length;u++)(f=h[u])===t||(c.castOption(e.pull,t.pts)||0)>=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-v-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;p<u.length;p++)void 0!==u[p].yLabelMid&&d.push(u[p]);for(g=!1,p=0;n&&p<f.length;p++)if(void 0!==f[p].yLabelMid){g=f[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,g),p.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=n.select(this),r=e.select(\\\"g.slicetext text\\\");r.attr(\\\"transform\\\",\\\"translate(\\\"+t.labelExtraX+\\\",\\\"+t.labelExtraY+\\\")\\\"+r.attr(\\\"transform\\\"));var i=t.cxFinal+t.pxmid[0],o=\\\"M\\\"+i+\\\",\\\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(c)?o+=\\\"l\\\"+c*t.pxmid[0]/t.pxmid[1]+\\\",\\\"+c+\\\"H\\\"+(i+t.labelExtraX+s):o+=\\\"l\\\"+t.labelExtraX+\\\",\\\"+l+\\\"v\\\"+(c-l)+\\\"h\\\"+s}else o+=\\\"V\\\"+(t.yLabelMid+t.labelExtraY)+\\\"h\\\"+s;e.append(\\\"path\\\").classed(\\\"textline\\\",!0).call(a.stroke,g.outsidetextfont.color).attr({\\\"stroke-width\\\":Math.min(2,g.outsidetextfont.size/8),d:o,fill:\\\"none\\\"})}})})}),setTimeout(function(){p.selectAll(\\\"tspan\\\").each(function(){var t=n.select(this);t.attr(\\\"dy\\\")&&t.attr(\\\"dy\\\",t.attr(\\\"dy\\\"))})},0)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../lib/svg_text_utils\\\":626,\\\"./event_data\\\":905,\\\"./helpers\\\":906,d3:130}],911:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"./style_one\\\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\\\".trace\\\").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(i,t,e)})})}},{\\\"./style_one\\\":912,d3:130}],912:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"./helpers\\\").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style({\\\"stroke-width\\\":s}).call(n.fill,e.color).call(n.stroke,o)}},{\\\"../../components/color\\\":474,\\\"./helpers\\\":906}],913:[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\\\"}}},{\\\"../scatter/attributes\\\":926}],914:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-pointcloud2d\\\"),i=t(\\\"../../lib/str2rgbarray\\\"),a=t(\\\"../../plots/cartesian/autorange\\\").expand,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,a,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,h=t.indices,p=this.bounds;if(u){if(n=u,e=u.length>>>1,f)p[0]=t.xbounds[0],p[2]=t.xbounds[1],p[1]=t.ybounds[0],p[3]=t.ybounds[1];else for(s=0;s<e;s++)a=n[2*s],o=n[2*s+1],a<p[0]&&(p[0]=a),a>p[2]&&(p[2]=a),o<p[1]&&(p[1]=o),o>p[3]&&(p[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;s<e;s++)r[s]=s}else for(e=l.length,n=new Float32Array(2*e),r=new Int32Array(e),s=0;s<e;s++)a=l[s],o=c[s],r[s]=s,n[2*s]=a,n[2*s+1]=o,a<p[0]&&(p[0]=a),a>p[2]&&(p[2]=a),o<p[1]&&(p[1]=o),o>p[3]&&(p[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var d=i(t.marker.color),g=i(t.marker.border.color),m=t.opacity*t.marker.opacity;d[3]*=m,this.pointcloudOptions.color=d;var v=t.marker.blend;if(null===v){v=l.length<100||c.length<100}this.pointcloudOptions.blend=v,g[3]*=m,this.pointcloudOptions.borderColor=g;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(p,x/2)},l.expandAxesFast=function(t,e){var r=e||.5;a(this.scene.xaxis,[t[0],t[2]],{ppad:r}),a(this.scene.yaxis,[t[1],t[3]],{ppad:r})},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\\\":625,\\\"../../plots/cartesian/autorange\\\":647,\\\"../scatter/get_trace_color\\\":936,\\\"gl-pointcloud2d\\\":255}],915:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\\\"x\\\"),a(\\\"y\\\"),a(\\\"xbounds\\\"),a(\\\"ybounds\\\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\\\"text\\\"),a(\\\"marker.color\\\",r),a(\\\"marker.opacity\\\"),a(\\\"marker.blend\\\"),a(\\\"marker.sizemin\\\"),a(\\\"marker.sizemax\\\"),a(\\\"marker.border.color\\\",r),a(\\\"marker.border.arearatio\\\"),e._length=null}},{\\\"../../lib\\\":602,\\\"./attributes\\\":913}],916:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"../scatter3d/calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"pointcloud\\\",n.basePlotModule=t(\\\"../../plots/gl2d\\\"),n.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl2d\\\":687,\\\"../scatter3d/calc\\\":952,\\\"./attributes\\\":913,\\\"./convert\\\":914,\\\"./defaults\\\":915}],917:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/font_attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/color/attributes\\\"),o=t(\\\"../../components/fx/attributes\\\"),s=t(\\\"../../plots/domain\\\").attributes,l=t(\\\"../../lib/extend\\\").extendFlat,c=t(\\\"../../plot_api/edit_types\\\").overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),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({}),node:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:a.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}},link:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:a.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:[]}}},\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/color/attributes\\\":473,\\\"../../components/fx/attributes\\\":508,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],918:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plot_api/edit_types\\\").overrideAll,i=t(\\\"../../plots/get_data\\\").getModuleCalcData,a=t(\\\"./plot\\\"),o=t(\\\"../../components/fx/layout_attributes\\\");r.name=\\\"sankey\\\",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},\\\"plot\\\",\\\"nested\\\"),r.plot=function(t){var e=i(t.calcdata,\\\"sankey\\\")[0];a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"sankey\\\"),a=e._has&&e._has(\\\"sankey\\\");i&&!a&&n._paperdiv.selectAll(\\\".sankey\\\").remove()}},{\\\"../../components/fx/layout_attributes\\\":517,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/get_data\\\":684,\\\"./plot\\\":923}],919:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"strongly-connected-components\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../lib/gup\\\").wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a<Math.min(e.length,r.length);a++){if(e[a]===r[a])return!0;i[e[a]].push(r[a])}return n(i).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(i.error(\\\"Circularity is present in the Sankey data. Removing all nodes and links.\\\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"strongly-connected-components\\\":407}],920:[function(t,e,r){\\\"use strict\\\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\\\"cubic-in-out\\\",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\\\"}}},{}],921:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"tinycolor2\\\"),s=t(\\\"../../plots/domain\\\").defaults;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}c(\\\"node.label\\\"),c(\\\"node.pad\\\"),c(\\\"node.thickness\\\"),c(\\\"node.line.color\\\"),c(\\\"node.line.width\\\");var u=l.colorway;c(\\\"node.color\\\",e.node.label.map(function(t,e){return a.addOpacity(function(t){return u[t%u.length]}(e),.8)})),c(\\\"link.label\\\"),c(\\\"link.source\\\"),c(\\\"link.target\\\"),c(\\\"link.value\\\"),c(\\\"link.line.color\\\"),c(\\\"link.line.width\\\"),c(\\\"link.color\\\",e.link.value.map(function(){return o(l.paper_bgcolor).getLuminance()<.333?\\\"rgba(255, 255, 255, 0.6)\\\":\\\"rgba(0, 0, 0, 0.2)\\\"})),s(e,l,c),c(\\\"orientation\\\"),c(\\\"valueformat\\\"),c(\\\"valuesuffix\\\"),c(\\\"arrangement\\\"),n.coerceFont(c,\\\"textfont\\\",n.extendFlat({},l.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&n.warn(\\\"Some of the nodes are neither sources nor targets, they will not be displayed.\\\"),e._length=null}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":917,tinycolor2:415}],922:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"sankey\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":917,\\\"./base_plot\\\":918,\\\"./calc\\\":919,\\\"./defaults\\\":921,\\\"./plot\\\":923}],923:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"./render\\\"),a=t(\\\"../../components/fx\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"./constants\\\").cn,c=s._;function u(t){return\\\"\\\"!==t}function f(t,e){return t.filter(function(t){return t.key===e.traceId})}function h(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&&f(r,e).selectAll(\\\".\\\"+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll(\\\".\\\"+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",.4),i&&f(e,t).selectAll(\\\".\\\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",.4),r&&f(e,t).selectAll(\\\".\\\"+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),i&&f(e,t).selectAll(\\\".\\\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),r&&f(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){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,\\\"source:\\\")+\\\" \\\",g=c(t,\\\"target:\\\")+\\\" \\\",_=c(t,\\\"incoming flow count:\\\")+\\\" \\\",w=c(t,\\\"outgoing flow count:\\\")+\\\" \\\";i(s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){n.select(e).call(y.bind(0,r,i,!0)),t.emit(\\\"plotly_hover\\\",{event:n.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,m=c.top+c.height/2,v=a.loneHover({x:f-l.left,y:m-l.top,name:n.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\\\"\\\",d+i.link.source.label,g+i.link.target.label].filter(u).join(\\\"<br>\\\"),color:b(s,\\\"bgcolor\\\")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,\\\"bordercolor\\\"),fontFamily:b(s,\\\"font.family\\\"),fontSize:b(s,\\\"font.size\\\"),fontColor:b(s,\\\"font.color\\\"),idealAlign:n.event.x<f?\\\"right\\\":\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.65),p(v)},unhover:function(e,i,o){n.select(e).call(x.bind(0,i,o,!0)),t.emit(\\\"plotly_unhover\\\",{event:n.event,points:[i.link]}),a.loneUnhover(r._hoverlayer.node())},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],a.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){n.select(e).call(m,r,i),t.emit(\\\"plotly_hover\\\",{event:n.event,points:[r.node]})},follow:function(e,i){var o=i.node.trace,s=n.select(e).select(\\\".\\\"+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),d=f.left-2-c.left,g=f.right+2-c.left,m=f.top+f.height/4-c.top,v=a.loneHover({x0:d,x1:g,y:m,name:n.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(u).join(\\\"<br>\\\"),color:b(o,\\\"bgcolor\\\")||i.tinyColorHue,borderColor:b(o,\\\"bordercolor\\\"),fontFamily:b(o,\\\"font.family\\\"),fontSize:b(o,\\\"font.size\\\"),fontColor:b(o,\\\"font.color\\\"),idealAlign:\\\"left\\\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.85),p(v)},unhover:function(e,i,o){n.select(e).call(v,i,o),t.emit(\\\"plotly_unhover\\\",{event:n.event,points:[i.node]}),a.loneUnhover(r._hoverlayer.node())},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"./constants\\\":920,\\\"./render\\\":924,d3:130}],924:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"d3\\\"),a=t(\\\"tinycolor2\\\"),o=t(\\\"../../components/color\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"@plotly/d3-sankey\\\").sankey,c=t(\\\"d3-force\\\"),u=t(\\\"../../lib\\\"),f=t(\\\"../../lib/gup\\\").keyFun,h=t(\\\"../../lib/gup\\\").repeat,p=t(\\\"../../lib/gup\\\").unwrap;function d(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function g(t){return function(e){return e.node.originalX===t.node.originalX}}function m(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function v(t){t.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.node.x.toFixed(3)+\\\", \\\"+(t.node.y-t.node.dy/2).toFixed(3)+\\\")\\\"})}function y(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return m(e),r}function x(t){t.call(v)}function b(t,e){t.call(x),e.attr(\\\"d\\\",y)}function _(t){t.attr(\\\"width\\\",function(t){return t.visibleWidth}).attr(\\\"height\\\",function(t){return t.visibleHeight})}function w(t){return t.link.dy>1||t.linkLineWidth>0}function k(t){return\\\"translate(\\\"+t.translateX+\\\",\\\"+t.translateY+\\\")\\\"+(t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\")}function M(t){return\\\"translate(\\\"+(t.horizontal?0:t.labelY)+\\\" \\\"+(t.horizontal?t.labelY:0)+\\\")\\\"}function A(t){return i.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 T(t){return t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\"}function S(t){return t.horizontal?\\\"scale(1 1)\\\":\\\"scale(-1 1)\\\"}function C(t){return t.darkBackground&&!t.horizontal?\\\"rgb(255,255,255)\\\":\\\"rgb(0,0,0)\\\"}function E(t){return t.horizontal&&t.left?\\\"100%\\\":\\\"0%\\\"}function L(t,e,r){t.on(\\\".basic\\\",null).on(\\\"mouseover.basic\\\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\\\"mousemove.basic\\\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\\\"mouseout.basic\\\",function(t){t.interactionState.dragInProgress||(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||r.select(this,t,e)})}function z(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on(\\\"dragstart\\\",function(i){if(\\\"fixed\\\"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,d(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),\\\"snap\\\"===i.arrangement)){var a=i.traceId+\\\"|\\\"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force(\\\"collide\\\",c.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force(\\\"constrain\\\",function(t,e,r,i){return function(){for(var t=0,a=0;a<r.length;a++){var o=r[a];o===i.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(i.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!i.interactionState.dragInProgress&&t<.1&&i.forceLayouts[e].alpha()>0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o<n.forceTicksPerFrame;o++)r.forceLayouts[i].tick();r.sankey.relayout(),b(t.filter(g(r)),e),r.forceLayouts[i].alpha()>0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on(\\\"drag\\\",function(r){if(\\\"fixed\\\"!==r.arrangement){var n=i.event.x,a=i.event.y;\\\"snap\\\"===r.arrangement?(r.node.x=n,r.node.y=a):(\\\"freeform\\\"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),d(r.node),\\\"snap\\\"!==r.arrangement&&(r.sankey.relayout(),b(t.filter(g(r)),e))}}).on(\\\"dragend\\\",function(t){t.interactionState.dragInProgress=!1});t.on(\\\".drag\\\",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll(\\\".\\\"+n.cn.sankey).data(e.filter(function(t){return p(t).trace.visible}).map(function(t,e,r){for(var i,a=p(e).trace,o=a.domain,s=a.node,c=a.link,f=a.arrangement,h=\\\"h\\\"===a.orientation,d=a.node.pad,g=a.node.thickness,v=a.node.line.color,y=a.node.line.width,x=a.link.line.color,b=a.link.line.width,_=a.valueformat,w=a.valuesuffix,k=a.textfont,M=t.width*(o.x[1]-o.x[0]),A=t.height*(o.y[1]-o.y[0]),T=s.label.map(function(t,e){return{pointNumber:e,label:t,color:u.isArrayOrTypedArray(s.color)?s.color[e]:s.color}}),S=c.value.map(function(t,e){return{pointNumber:e,label:c.label[e],color:u.isArrayOrTypedArray(c.color)?c.color[e]:c.color,source:c.source[e],target:c.target[e],value:t}}),C=l().size(h?[M,A]:[A,M]).nodeWidth(g).nodePadding(d).nodes(T).links(S).layout(n.sankeyIterations),E=C.nodes(),L=0;L<E.length;L++)(i=E[L]).width=M,i.height=A;return m(T),{key:r,trace:a,guid:Math.floor(1e12*(1+Math.random())),horizontal:h,width:M,height:A,nodePad:d,nodeLineColor:v,nodeLineWidth:y,linkLineColor:x,linkLineWidth:b,valueFormat:_,valueSuffix:w,textFont:k,translateX:o.x[0]*M+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:h?A:M,dragPerpendicular:h?M:A,nodes:T,links:S,arrangement:f,sankey:C,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),f);c.exit().remove(),c.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\\\").style(\\\"box-sizing\\\",\\\"content-box\\\").attr(\\\"transform\\\",k),c.transition().ease(n.ease).duration(n.duration).attr(\\\"transform\\\",k);var d=c.selectAll(\\\".\\\"+n.cn.sankeyLinks).data(h,f);d.enter().append(\\\"g\\\").classed(n.cn.sankeyLinks,!0).style(\\\"fill\\\",\\\"none\\\");var g=d.selectAll(\\\".\\\"+n.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=a(r.color),i=r.source.label+\\\"|\\\"+r.target.label,s=t[i];t[i]=(s||0)+1;var l=i+\\\"__\\\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:l,traceId:e.key,link:r,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},f);g.enter().append(\\\"path\\\").classed(n.cn.sankeyLink,!0).attr(\\\"d\\\",y).call(L,c,i.linkEvents),g.style(\\\"stroke\\\",function(t){return w(t)?o.tinyRGB(a(t.linkLineColor)):t.tinyColorHue}).style(\\\"stroke-opacity\\\",function(t){return w(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\\\"stroke-width\\\",function(t){return w(t)?t.linkLineWidth:1}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),g.transition().ease(n.ease).duration(n.duration).attr(\\\"d\\\",y),g.exit().transition().ease(n.ease).duration(n.duration).style(\\\"opacity\\\",0).remove();var x=c.selectAll(\\\".\\\"+n.cn.sankeyNodeSet).data(h,f);x.enter().append(\\\"g\\\").classed(n.cn.sankeyNodeSet,!0),x.style(\\\"cursor\\\",function(t){switch(t.arrangement){case\\\"fixed\\\":return\\\"default\\\";case\\\"perpendicular\\\":return\\\"ns-resize\\\";default:return\\\"move\\\"}});var b=x.selectAll(\\\".\\\"+n.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);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.filter(function(t){return t.value}).map(function(t,e,r){var i=a(r.color),s=n.nodePadAcross,l=e.nodePad/2,c=r.dx,u=Math.max(.5,r.dy),f=r.label,h=t[f];t[f]=(h||0)+1;var p=f+\\\"__\\\"+t[f];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:p,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(c),visibleHeight:u,zoneX:-s,zoneY:-l,zoneWidth:c+2*s,zoneHeight:u+2*l,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:i.getBrightness()<=128,tinyColorHue:o.tinyRGB(i),tinyColorAlpha:i.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,p].join(\\\" \\\"),interactionState:e.interactionState}}.bind(null,{},t))},f);b.enter().append(\\\"g\\\").classed(n.cn.sankeyNode,!0).call(v).call(L,c,i.nodeEvents),b.call(z,g,i),b.transition().ease(n.ease).duration(n.duration).call(v),b.exit().transition().ease(n.ease).duration(n.duration).style(\\\"opacity\\\",0).remove();var P=b.selectAll(\\\".\\\"+n.cn.nodeRect).data(h);P.enter().append(\\\"rect\\\").classed(n.cn.nodeRect,!0).call(_),P.style(\\\"stroke-width\\\",function(t){return t.nodeLineWidth}).style(\\\"stroke\\\",function(t){return o.tinyRGB(a(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}),P.transition().ease(n.ease).duration(n.duration).call(_);var D=b.selectAll(\\\".\\\"+n.cn.nodeCapture).data(h);D.enter().append(\\\"rect\\\").classed(n.cn.nodeCapture,!0).style(\\\"fill-opacity\\\",0),D.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 O=b.selectAll(\\\".\\\"+n.cn.nodeCentered).data(h);O.enter().append(\\\"g\\\").classed(n.cn.nodeCentered,!0).attr(\\\"transform\\\",M),O.transition().ease(n.ease).duration(n.duration).attr(\\\"transform\\\",M);var I=O.selectAll(\\\".\\\"+n.cn.nodeLabelGuide).data(h);I.enter().append(\\\"path\\\").classed(n.cn.nodeLabelGuide,!0).attr(\\\"id\\\",function(t){return t.uniqueNodeLabelPathId}).attr(\\\"d\\\",A).attr(\\\"transform\\\",T),I.transition().ease(n.ease).duration(n.duration).attr(\\\"d\\\",A).attr(\\\"transform\\\",T);var R=O.selectAll(\\\".\\\"+n.cn.nodeLabel).data(h);R.enter().append(\\\"text\\\").classed(n.cn.nodeLabel,!0).attr(\\\"transform\\\",S).style(\\\"user-select\\\",\\\"none\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"fill\\\",\\\"black\\\"),R.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(R,t.textFont)}),R.transition().ease(n.ease).duration(n.duration).attr(\\\"transform\\\",S);var B=R.selectAll(\\\".\\\"+n.cn.nodeLabelTextPath).data(h);B.enter().append(\\\"textPath\\\").classed(n.cn.nodeLabelTextPath,!0).attr(\\\"alignment-baseline\\\",\\\"middle\\\").attr(\\\"xlink:href\\\",function(t){return\\\"#\\\"+t.uniqueNodeLabelPathId}).attr(\\\"startOffset\\\",E).style(\\\"fill\\\",C),B.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\\\"}),B.transition().ease(n.ease).duration(n.duration).attr(\\\"startOffset\\\",E).style(\\\"fill\\\",C)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"./constants\\\":920,\\\"@plotly/d3-sankey\\\":42,d3:130,\\\"d3-force\\\":126,tinycolor2:415}],925:[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\\\"),n.mergeArray(e.customdata,t,\\\"data\\\"),n.mergeArray(e.textposition,t,\\\"tp\\\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\\\"ts\\\"),n.mergeArray(e.textfont.color,t,\\\"tc\\\"),n.mergeArray(e.textfont.family,t,\\\"tf\\\"));var i=e.marker;if(i){n.mergeArray(i.size,t,\\\"ms\\\"),n.mergeArray(i.opacity,t,\\\"mo\\\"),n.mergeArray(i.symbol,t,\\\"mx\\\"),n.mergeArray(i.color,t,\\\"mc\\\");var a=i.line;i.line&&(n.mergeArray(a.color,t,\\\"mlc\\\"),n.mergeArray(a.width,t,\\\"mlw\\\"));var o=i.gradient;o&&\\\"none\\\"!==o.type&&(n.mergeArray(o.type,t,\\\"mgt\\\"),n.mergeArray(o.color,t,\\\"mgc\\\"))}}},{\\\"../../lib\\\":602}],926:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/color_attributes\\\"),i=t(\\\"../../components/colorbar/attributes\\\"),a=t(\\\"../../plots/font_attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../components/drawing\\\"),l=(t(\\\"./constants\\\"),t(\\\"../../lib/extend\\\").extendFlat);e.exports={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},x0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dx:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dy:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},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\\\"},line:{color:{valType:\\\"color\\\",editType:\\\"style\\\"},width:{valType:\\\"number\\\",min:0,dflt:2,editType:\\\"style\\\"},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:l({},o,{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\\\"],dflt:\\\"none\\\",editType:\\\"calc\\\"},fillcolor:{valType:\\\"color\\\",editType:\\\"style\\\"},marker:l({symbol:{valType:\\\"enumerated\\\",values:s.symbolList,dflt:\\\"circle\\\",arrayOk:!0,editType:\\\"style\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,arrayOk:!0,editType:\\\"style\\\"},size:{valType:\\\"number\\\",min:0,dflt:6,arrayOk:!0,editType:\\\"calcIfAutorange\\\"},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\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:i,line:l({width:{valType:\\\"number\\\",min:0,arrayOk:!0,editType:\\\"style\\\"},editType:\\\"calc\\\"},n(\\\"marker.line\\\")),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\\\"},n(\\\"marker\\\")),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:a({editType:\\\"calc\\\",colorEditType:\\\"style\\\",arrayOk:!0}),r:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},t:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/drawing\\\":499,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../../plots/font_attributes\\\":674,\\\"./constants\\\":932}],927:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray,a=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 f(t,e,r,n,i,o,l){var c=e._length;r._minDtick=0,n._minDtick=0;var u={padded:!0},f={padded:!0};l&&(u.ppad=f.ppad=l),!(\\\"tozerox\\\"===e.fill||\\\"tonextx\\\"===e.fill&&t.firstscatter)||i[0]===i[c-1]&&o[0]===o[c-1]?(e.error_y||{}).visible||-1===[\\\"tonexty\\\",\\\"tozeroy\\\"].indexOf(e.fill)&&(s.hasMarkers(e)||s.hasText(e))||(u.padded=!1,u.ppad=0):u.tozero=!0,!(\\\"tozeroy\\\"===e.fill||\\\"tonexty\\\"===e.fill&&t.firstscatter)||i[0]===i[c-1]&&o[0]===o[c-1]?-1!==[\\\"tonextx\\\",\\\"tozerox\\\"].indexOf(e.fill)&&(f.padded=!1):f.tozero=!0,a.expand(r,i,u),a.expand(n,o,f)}function h(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)},i(n.size)){var l={type:\\\"linear\\\"};a.setConvert(l);for(var c=l.makeCalcdata(t.marker,\\\"size\\\"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis||\\\"x\\\"),i=a.getFromId(t,e.yaxis||\\\"y\\\"),s=r.makeCalcdata(e,\\\"x\\\"),p=i.makeCalcdata(e,\\\"y\\\"),d=e._length,g=new Array(d);f(t,e,r,i,s,p,h(e,d));for(var m=0;m<d;m++)g[m]=n(s[m])&&n(p[m])?{x:s[m],y:p[m]}:{x:o,y:o},e.ids&&(g[m].id=String(e.ids[m]));return c(g,e),l(e),u(g,e),t.firstscatter=!1,g},calcMarkerSize:h,calcAxisExpansion:f}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"./arrays_to_calcdata\\\":925,\\\"./calc_selection\\\":928,\\\"./colorscale_calc\\\":931,\\\"./subtypes\\\":948,\\\"fast-isnumeric\\\":196}],928:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{\\\"../../lib\\\":602}],929:[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 i=e-1;i>=0;i--){var a=t[i];if(\\\"scatter\\\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],930:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=r.marker,c=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+c).remove(),void 0!==l&&l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var p=e[0].t.cb=s(t,c),d=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});p.fillcolor(d).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],931:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/has_colorscale\\\"),i=t(\\\"../../components/colorscale/calc\\\"),a=t(\\\"./subtypes\\\");e.exports=function(t){a.hasLines(t)&&n(t,\\\"line\\\")&&i(t,t.line.color,\\\"line\\\",\\\"c\\\"),a.hasMarkers(t)&&(n(t,\\\"marker\\\")&&i(t,t.marker.color,\\\"marker\\\",\\\"c\\\"),n(t,\\\"marker.line\\\")&&i(t,t.marker.line.color,\\\"marker.line\\\",\\\"c\\\"))}},{\\\"../../components/colorscale/calc\\\":481,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"./subtypes\\\":948}],932:[function(t,e,r){\\\"use strict\\\";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],933:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"./constants\\\"),s=t(\\\"./subtypes\\\"),l=t(\\\"./xy_defaults\\\"),c=t(\\\"./marker_defaults\\\"),u=t(\\\"./line_defaults\\\"),f=t(\\\"./line_shape_defaults\\\"),h=t(\\\"./text_defaults\\\"),p=t(\\\"./fillcolor_defaults\\\");e.exports=function(t,e,r,d){function g(r,i){return n.coerce(t,e,a,r,i)}var m=l(t,e,d,g),v=m<o.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\";if(m){g(\\\"text\\\"),g(\\\"hovertext\\\"),g(\\\"mode\\\",v),s.hasLines(e)&&(u(t,e,r,d,g),f(t,e,g),g(\\\"connectgaps\\\"),g(\\\"line.simplify\\\")),s.hasMarkers(e)&&c(t,e,r,d,g,{gradient:!0}),s.hasText(e)&&h(t,e,d,g);var y=[];(s.hasMarkers(e)||s.hasText(e))&&(g(\\\"cliponaxis\\\"),g(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),g(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(p(t,e,r,g),s.hasLines(e)||f(t,e,g)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||y.push(\\\"fills\\\"),g(\\\"hoveron\\\",y.join(\\\"+\\\")||\\\"points\\\");var x=i.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");x(t,e,r,{axis:\\\"y\\\"}),x(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":926,\\\"./constants\\\":932,\\\"./fillcolor_defaults\\\":935,\\\"./line_defaults\\\":939,\\\"./line_shape_defaults\\\":941,\\\"./marker_defaults\\\":944,\\\"./subtypes\\\":948,\\\"./text_defaults\\\":949,\\\"./xy_defaults\\\":950}],934:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");function i(t){return t||0===t}e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=n.extractOption(t,e,\\\"htx\\\",\\\"hovertext\\\");if(i(o))return a(o);var s=n.extractOption(t,e,\\\"tx\\\",\\\"text\\\");return i(s)?a(s):void 0}},{\\\"../../lib\\\":602}],935:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../lib\\\").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a(\\\"fillcolor\\\",n.addOpacity((e.line||{}).color||o||r,.5))}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602}],936:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"./subtypes\\\");e.exports=function(t,e){var r,a;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(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\\\"\\\")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{\\\"../../components/color\\\":474,\\\"./subtypes\\\":948}],937:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/fx\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"./get_trace_color\\\"),s=t(\\\"../../components/color\\\"),l=t(\\\"./fill_hover_text\\\");e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),g=p.c2p(r),m=[d,g],v=f.hoveron||\\\"\\\",y=-1!==f.mode.indexOf(\\\"markers\\\")?3:.5;if(-1!==v.indexOf(\\\"points\\\")){var x=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=i.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(h.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(i.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=h.c2p(_.x,!0),k=p.c2p(_.y,!0),M=_.mrc||1;return n.extendFlat(t,{color:o(f,_),x0:w-M,x1:w+M,xLabelVal:_.x,y0:k-M,y1:k+M,yLabelVal:_.y,spikeDistance:x(_)}),l(_,f,t),a.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(_,f,t),[t]}}if(-1!==v.indexOf(\\\"fills\\\")&&f._polygons){var A,T,S,C,E,L,z,P,D,O=f._polygons,I=[],R=!1,B=1/0,F=-1/0,N=1/0,j=-1/0;for(A=0;A<O.length;A++)(S=O[A]).contains(m)&&(R=!R,I.push(S),N=Math.min(N,S.ymin),j=Math.max(j,S.ymax));if(R){var V=((N=Math.max(N,0))+(j=Math.min(j,p._length)))/2;for(A=0;A<I.length;A++)for(C=I[A].pts,T=1;T<C.length;T++)(P=C[T-1][1])>V!=(D=C[T][1])>=V&&(L=C[T-1][0],z=C[T][0],D-P&&(E=L+(z-L)*(V-P)/(D-P),B=Math.min(B,E),F=Math.max(F,E)));B=Math.max(B,0),F=Math.min(F,h._length);var U=s.defaultLine;return s.opacity(f.fillcolor)?U=f.fillcolor:s.opacity((f.line||{}).color)&&(U=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:B,x1:F,y0:V,y1:V,color:U}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{\\\"../../components/color\\\":474,\\\"../../components/fx\\\":516,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./fill_hover_text\\\":934,\\\"./get_trace_color\\\":936}],938:[function(t,e,r){\\\"use strict\\\";var n={},i=t(\\\"./subtypes\\\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.cleanData=t(\\\"./clean_data\\\"),n.calc=t(\\\"./calc\\\").calc,n.arraysToCalcdata=t(\\\"./arrays_to_calcdata\\\"),n.plot=t(\\\"./plot\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.style=t(\\\"./style\\\").style,n.styleOnSelect=t(\\\"./style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"./select\\\"),n.animatable=!0,n.moduleType=\\\"trace\\\",n.name=\\\"scatter\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"cartesian\\\",\\\"svg\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"scatter-like\\\",\\\"draggedPts\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"./arrays_to_calcdata\\\":925,\\\"./attributes\\\":926,\\\"./calc\\\":927,\\\"./clean_data\\\":929,\\\"./colorbar\\\":930,\\\"./defaults\\\":933,\\\"./hover\\\":937,\\\"./plot\\\":945,\\\"./select\\\":946,\\\"./style\\\":947,\\\"./subtypes\\\":948}],939:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\").isArrayOrTypedArray,i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s(\\\"line.color\\\",r),i(t,\\\"line\\\"))?a(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\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"../../lib\\\":602}],940:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../constants/numerical\\\").BADNUM,i=t(\\\"../../lib\\\"),a=i.segmentsIntersect,o=i.constrain,s=t(\\\"./constants\\\");e.exports=function(t,e){var r,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k=e.xaxis,M=e.yaxis,A=e.simplify,T=e.connectGaps,S=e.baseTolerance,C=e.shape,E=\\\"linear\\\"===C,L=[],z=s.minTolerance,P=new Array(t.length),D=0;function O(e){var r=t[e],i=k.c2p(r.x),a=M.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function I(t){var e=t[0]/k._length,r=t[1]/M._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*S}function R(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}A||(S=z=-1);var B,F,N,j,V,U,q,H=s.maxScreensAway,G=-k._length*H,W=k._length*(1+H),Y=-M._length*H,X=M._length*(1+H),Z=[[G,Y,W,Y],[W,Y,W,X],[W,X,G,X],[G,X,G,Y]];function J(t){if(t[0]<G||t[0]>W||t[1]<Y||t[1]>X)return[o(t[0],G,W),o(t[1],Y,X)]}function K(t,e){return t[0]===e[0]&&(t[0]===G||t[0]===W)||(t[1]===e[1]&&(t[1]===Y||t[1]===X)||void 0)}function Q(t,e,r){return function(n,a){var o=J(n),s=J(a),l=[];if(o&&s&&K(o,s))return l;o&&l.push(o),s&&l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);c&&((o&&s?c>0==o[t]>s[t]?o:s:o||s)[t]+=c);return l}}function $(t){var e=t[0],r=t[1],n=e===P[D-1][0],i=r===P[D-1][1];if(!n||!i)if(D>1){var a=e===P[D-2][0],o=r===P[D-2][1];n&&(e===G||e===W)&&a?o?D--:P[D-1]=t:i&&(r===Y||r===X)&&o?a?D--:P[D-1]=t:P[D++]=t}else P[D++]=t}function tt(t){P[D-1][0]!==t[0]&&P[D-1][1]!==t[1]&&$([N,j]),$(t),V=null,N=j=0}function et(t){if(B=t[0]<G?G:t[0]>W?W:0,F=t[1]<Y?Y:t[1]>X?X:0,B||F){if(D)if(V){var e=q(V,t);e.length>1&&(tt(e[0]),P[D++]=e[1])}else U=q(P[D-1],t)[0],P[D++]=U;else P[D++]=[B||t[0],F||t[1]];var r=P[D-1];B&&F&&(r[0]!==B||r[1]!==F)?(V&&(N!==B&&j!==F?$(N&&j?(n=V,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?G:W,X]:[o>0?W:G,Y]):[N||B,j||F]):N&&j&&$([N,j])),$([B,F])):N-B&&j-F&&$([B||N,F||j]),V=t,N=B,j=F}else V&&tt(q(V,t)[0]),P[D++]=t;var n,i,a,o}for(\\\"linear\\\"===C||\\\"spline\\\"===C?q=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var o=Z[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&&(!n||Math.abs(s.x-r[0][0])>1||Math.abs(s.y-r[0][1])>1)&&(s=[s.x,s.y],n&&R(s,t)<R(r[0],t)?r.unshift(s):r.push(s),n++)}return r}:\\\"hv\\\"===C||\\\"vh\\\"===C?q=function(t,e){var r=[],n=J(t),i=J(e);return n&&i&&K(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\\\"hvh\\\"===C?q=Q(0,G,W):\\\"vhv\\\"===C&&(q=Q(1,Y,X)),r=0;r<t.length;r++)if(l=O(r)){for(D=0,V=null,et(l),r++;r<t.length;r++){if(!(u=O(r))){if(T)continue;break}if(E){if(!((m=R(u,l))<I(u)*z)){for(d=[(u[0]-l[0])/m,(u[1]-l[1])/m],f=l,v=m,y=b=_=0,p=!1,c=u,r++;r<t.length;r++){if(!(h=O(r))){if(T)continue;break}if(w=(g=[h[0]-l[0],h[1]-l[1]])[0]*d[1]-g[1]*d[0],b=Math.min(b,w),(_=Math.max(_,w))-b>I(h))break;c=h,(x=g[0]*d[0]+g[1]*d[1])>v?(v=x,u=h,p=!1):x<y&&(y=x,f=h,p=!0)}if(p?(et(u),c!==f&&et(f)):(f!==l&&et(f),c!==u&&et(u)),et(c),r>=t.length||!h)break;et(h),l=h}}else et(u)}V&&$([N||V[0],j||V[1]]),L.push(P.slice(0,D))}return L}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"./constants\\\":932}],941:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){\\\"spline\\\"===r(\\\"line.shape\\\")&&r(\\\"line.smoothing\\\")}},{}],942:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r){var n,i,a=null;for(i=0;i<r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(n.fill)&&(n._prevtrace=a,a&&(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null}},{}],943:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\\\"area\\\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\\\"fast-isnumeric\\\":196}],944:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/has_colorscale\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./subtypes\\\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l(\\\"marker.symbol\\\"),l(\\\"marker.opacity\\\",u?.7:1),l(\\\"marker.size\\\"),l(\\\"marker.color\\\",r),i(t,\\\"marker\\\")&&a(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\\\",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,\\\"marker.line\\\")&&a(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\\\":474,\\\"../../components/colorscale/defaults\\\":484,\\\"../../components/colorscale/has_colorscale\\\":488,\\\"./subtypes\\\":948}],945:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../components/drawing\\\"),s=t(\\\"./subtypes\\\"),l=t(\\\"./line_points\\\"),c=t(\\\"./link_traces\\\"),u=t(\\\"../../lib/polygon\\\").tester;function f(t,e,r,c,f,h,p){var d,g;!function(t,e,r,i,o){var l=r.xaxis,c=r.yaxis,u=n.extent(a.simpleMap(l.range,l.r2c)),f=n.extent(a.simpleMap(c.range,c.r2c)),h=i[0].trace;if(!s.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(d.length/p),m=0;o.forEach(function(t,r){var n=t[0].trace;s.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++});var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);i.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)})}(0,e,r,c,f);var m=!!p&&p.duration>0;function v(t){return m?t.transition():t}var y=r.xaxis,x=r.yaxis,b=c[0].trace,_=b.line,w=n.select(h);if(i.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(w,r,p),!0===b.visible){var k,M;v(w).style(\\\"opacity\\\",b.opacity);var A=b.fill.charAt(b.fill.length-1);\\\"x\\\"!==A&&\\\"y\\\"!==A&&(A=\\\"\\\"),r.isRangePlot||(c[0].node3=w);var T=\\\"\\\",S=[],C=b._prevtrace;C&&(T=C._prevRevpath||\\\"\\\",M=C._nextFill,S=C._polygons);var E,L,z,P,D,O,I,R,B,F=\\\"\\\",N=\\\"\\\",j=[],V=a.noop;if(k=b._ownFill,s.hasLines(b)||\\\"none\\\"!==b.fill){for(M&&M.datum(c),-1!==[\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"].indexOf(_.shape)?(z=o.steps(_.shape),P=o.steps(_.shape.split(\\\"\\\").reverse().join(\\\"\\\"))):z=P=\\\"spline\\\"===_.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?o.smoothclosed(t.slice(1),_.smoothing):o.smoothopen(t,_.smoothing)}:function(t){return\\\"M\\\"+t.join(\\\"L\\\")},D=function(t){return P(t.reverse())},j=l(c,{xaxis:y,yaxis:x,connectGaps:b.connectgaps,baseTolerance:Math.max(_.width||1,3)/4,shape:_.shape,simplify:_.simplify}),B=b._polygons=new Array(j.length),g=0;g<j.length;g++)b._polygons[g]=u(j[g]);j.length&&(O=j[0][0],R=(I=j[j.length-1])[I.length-1]),V=function(t){return function(e){if(E=z(e),L=D(e),F?A?(F+=\\\"L\\\"+E.substr(1),N=L+\\\"L\\\"+N.substr(1)):(F+=\\\"Z\\\"+E,N=L+\\\"Z\\\"+N):(F=E,N=L),s.hasLines(b)&&e.length>1){var r=n.select(this);if(r.datum(c),t)v(r.style(\\\"opacity\\\",0).attr(\\\"d\\\",E).call(o.lineGroupStyle)).style(\\\"opacity\\\",1);else{var i=v(r);i.attr(\\\"d\\\",E),o.singleLineStyle(c,i)}}}}}var U=w.selectAll(\\\".js-line\\\").data(j);v(U.exit()).style(\\\"opacity\\\",0).remove(),U.each(V(!1)),U.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").call(o.lineGroupStyle).each(V(!0)),o.setClipUrl(U,r.layerClipId),j.length?(k?O&&R&&(A?(\\\"y\\\"===A?O[1]=R[1]=x.c2p(0,!0):\\\"x\\\"===A&&(O[0]=R[0]=y.c2p(0,!0)),v(k).attr(\\\"d\\\",\\\"M\\\"+R+\\\"L\\\"+O+\\\"L\\\"+F.substr(1)).call(o.singleFillStyle)):v(k).attr(\\\"d\\\",F+\\\"Z\\\").call(o.singleFillStyle)):M&&(\\\"tonext\\\"===b.fill.substr(0,6)&&F&&T?(\\\"tonext\\\"===b.fill?v(M).attr(\\\"d\\\",F+\\\"Z\\\"+T+\\\"Z\\\").call(o.singleFillStyle):v(M).attr(\\\"d\\\",F+\\\"L\\\"+T.substr(1)+\\\"Z\\\").call(o.singleFillStyle),b._polygons=b._polygons.concat(S)):(H(M),b._polygons=null)),b._prevRevpath=N,b._prevPolygons=B):(k?H(k):M&&H(M),b._polygons=b._prevRevpath=b._prevPolygons=null);var q=w.selectAll(\\\".points\\\");d=q.data([c]),q.each(Z),d.enter().append(\\\"g\\\").classed(\\\"points\\\",!0).each(Z),d.exit().remove(),d.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(n.select(this),e?null:r.layerClipId)})}function H(t){v(t).attr(\\\"d\\\",\\\"M0,0Z\\\")}function G(t){return t.filter(function(t){return t.vis})}function W(t){return t.id}function Y(t){if(t.ids)return W}function X(){return!1}function Z(e){var i,l=e[0].trace,c=n.select(this),u=s.hasMarkers(l),f=s.hasText(l),h=Y(l),p=X,d=X;u&&(p=l.marker.maxdisplayed||l._needsCull?G:a.identity),f&&(d=l.marker.maxdisplayed||l._needsCull?G:a.identity);var g,b=(i=c.selectAll(\\\"path.point\\\").data(p,h)).enter().append(\\\"path\\\").classed(\\\"point\\\",!0);m&&b.call(o.pointStyle,l,t).call(o.translatePoints,y,x).style(\\\"opacity\\\",0).transition().style(\\\"opacity\\\",1),i.order(),u&&(g=o.makePointStyleFns(l)),i.each(function(e){var i=n.select(this),a=v(i);o.translatePoint(e,a,y,x)?(o.singlePointStyle(e,a,l,g,t),r.layerClipId&&o.hideOutsideRangePoint(e,a,y,x,l.xcalendar,l.ycalendar),l.customdata&&i.classed(\\\"plotly-customdata\\\",null!==e.data&&void 0!==e.data)):a.remove()}),m?i.exit().transition().style(\\\"opacity\\\",0).remove():i.exit().remove(),(i=c.selectAll(\\\"g\\\").data(d,h)).enter().append(\\\"g\\\").classed(\\\"textpoint\\\",!0).append(\\\"text\\\"),i.order(),i.each(function(t){var e=n.select(this),i=v(e.select(\\\"text\\\"));o.translatePoint(t,i,y,x)?r.layerClipId&&o.hideOutsideRangePoint(t,e,y,x,l.xcalendar,l.ycalendar):e.remove()}),i.selectAll(\\\"text\\\").call(o.textPointStyle,l,t).each(function(t){var e=y.c2p(t.x),r=x.c2p(t.y);n.select(this).selectAll(\\\"tspan.line\\\").each(function(){v(n.select(this)).attr({x:e,y:r})})}),i.exit().remove()}}e.exports=function(t,e,r,i,a,s){var l,u,h,p,d=!a,g=!!a&&a.duration>0;for((h=i.selectAll(\\\"g.trace\\\").data(r,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),c(t,e,r),function(t,e,r){var i;e.selectAll(\\\"g.trace\\\").each(function(t){var e=n.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=e.select(\\\".js-fill.js-tonext\\\"),!i._nextFill.size()){var a=\\\":first-child\\\";e.select(\\\".js-fill.js-tozero\\\").size()&&(a+=\\\" + *\\\"),i._nextFill=e.insert(\\\"path\\\",a).attr(\\\"class\\\",\\\"js-fill js-tonext\\\")}}else e.selectAll(\\\".js-fill.js-tonext\\\").remove(),i._nextFill=null;i.fill&&(\\\"tozero\\\"===i.fill.substr(0,6)||\\\"toself\\\"===i.fill||\\\"to\\\"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=e.select(\\\".js-fill.js-tozero\\\"),i._ownFill.size()||(i._ownFill=e.insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"js-fill js-tozero\\\"))):(e.selectAll(\\\".js-fill.js-tozero\\\").remove(),i._ownFill=null),e.selectAll(\\\".js-fill\\\").call(o.setClipUrl,r.layerClipId)})}(0,i,e),l=0,u={};l<r.length;l++)u[r[l][0].trace.uid]=l;(i.selectAll(\\\"g.trace\\\").sort(function(t,e){return u[t[0].trace.uid]>u[e[0].trace.uid]?1:-1}),g)?(s&&(p=s()),n.transition().duration(a.duration).ease(a.easing).each(\\\"end\\\",function(){p&&p()}).each(\\\"interrupt\\\",function(){p&&p()}).each(function(){i.selectAll(\\\"g.trace\\\").each(function(n,i){f(t,i,e,n,r,this,a)})})):i.selectAll(\\\"g.trace\\\").each(function(n,i){f(t,i,e,n,r,this,a)});d&&h.exit().remove(),i.selectAll(\\\"path:not([d])\\\").remove()}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/polygon\\\":614,\\\"../../registry\\\":732,\\\"./line_points\\\":940,\\\"./link_traces\\\":942,\\\"./subtypes\\\":948,d3:130}],946:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./subtypes\\\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),e.contains([a,o])?(u.push({pointNumber:r,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{\\\"./subtypes\\\":948}],947:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../registry\\\");function o(t,e,r){i.pointStyle(t.selectAll(\\\"path.point\\\"),e,r),i.textPointStyle(t.selectAll(\\\"text\\\"),e,r)}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.scatter\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.selectAll(\\\"g.points\\\").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),r.selectAll(\\\"g.trace path.js-line\\\").call(i.lineGroupStyle),r.selectAll(\\\"g.trace path.js-fill\\\").call(i.fillGroupStyle),a.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(r)},stylePoints:o,styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\\\"path.point\\\"),n),i.selectedTextStyle(r.selectAll(\\\"text\\\"),n)):o(r,n,t)}}},{\\\"../../components/drawing\\\":499,\\\"../../registry\\\":732,d3:130}],948:[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\\\":602}],949:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\");e.exports=function(t,e,r,i,a){a=a||{},i(\\\"textposition\\\"),n.coerceFont(i,\\\"textfont\\\",r.font),a.noSelect||(i(\\\"selected.textfont.color\\\"),i(\\\"unselected.textfont.color\\\"))}},{\\\"../../lib\\\":602}],950:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\");e.exports=function(t,e,r,i){var a,o=i(\\\"x\\\"),s=i(\\\"y\\\");if(n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],r),o)s?a=Math.min(o.length,s.length):(a=o.length,i(\\\"y0\\\"),i(\\\"dy\\\"));else{if(!s)return 0;a=e.y.length,i(\\\"x0\\\"),i(\\\"dx\\\")}return e._length=a,a}},{\\\"../../registry\\\":732}],951:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../components/colorscale/color_attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=t(\\\"../../constants/gl3d_dashes\\\"),s=t(\\\"../../constants/gl3d_markers\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,c=t(\\\"../../plot_api/edit_types\\\").overrideAll,u=n.line,f=n.marker,h=f.line;var p=e.exports=c({x:n.x,y:n.y,z:{valType:\\\"data_array\\\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},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:l({width:u.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(o),dflt:\\\"solid\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1}},i(\\\"line\\\")),marker:l({symbol:{valType:\\\"enumerated\\\",values:Object.keys(s),dflt:\\\"circle\\\",arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),showscale:f.showscale,colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(\\\"marker.line\\\"))},i(\\\"marker\\\")),textposition:l({},n.textposition,{dflt:\\\"top center\\\"}),textfont:n.textfont,hoverinfo:l({},a.hoverinfo)},\\\"calc\\\",\\\"nested\\\");p.x.editType=p.y.editType=p.z.editType=\\\"calc+clearAxisTypes\\\"},{\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../constants/gl3d_dashes\\\":576,\\\"../../constants/gl3d_markers\\\":577,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],952:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/arrays_to_calcdata\\\"),i=t(\\\"../scatter/colorscale_calc\\\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/colorscale_calc\\\":931}],953:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/errorbars/compute_error\\\");function i(t,e,r){if(!e||!e.visible)return null;for(var i=n(e),a=new Array(t.length),o=0;o<t.length;o++){var s=i(+t[o],o);a[o]=[-s[0]*r,s[1]*r]}return a}e.exports=function(t,e){var r=[i(t.x,t.error_x,e[0]),i(t.y,t.error_y,e[1]),i(t.z,t.error_z,e[2])],n=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===n)return null;for(var a=new Array(n),o=0;o<n;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(r[l])for(var c=0;c<2;c++)s[c][l]=r[l][o][c];a[o]=s}return a}},{\\\"../../components/errorbars/compute_error\\\":503}],954:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-line3d\\\"),i=t(\\\"gl-scatter3d\\\"),a=t(\\\"gl-error3d\\\"),o=t(\\\"gl-mesh3d\\\"),s=t(\\\"delaunay-triangulate\\\"),l=t(\\\"../../lib\\\"),c=t(\\\"../../lib/str2rgbarray\\\"),u=t(\\\"../../lib/gl_format_color\\\"),f=t(\\\"../scatter/make_bubble_size_func\\\"),h=t(\\\"../../constants/gl3d_dashes\\\"),p=t(\\\"../../constants/gl3d_markers\\\"),d=t(\\\"./calc_errors\\\");function g(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 m=g.prototype;function v(t,e){return e(4*t)}function y(t){return p[t]}function x(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function b(t,e){var r,n,i,a,o,s,h,p,g=[],m=t.fullSceneLayout,b=t.dataScale,_=m.xaxis,w=m.yaxis,k=m.zaxis,M=e.marker,A=e.line,T=e.x||[],S=e.y||[],C=e.z||[],E=T.length,L=e.xcalendar,z=e.ycalendar,P=e.zcalendar;for(n=0;n<E;n++)i=_.d2l(T[n],0,L)*b[0],a=w.d2l(S[n],0,z)*b[1],o=k.d2l(C[n],0,P)*b[2],g[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(E),n=0;n<E;n++)s[n]=e.text;if(r={position:g,mode:e.mode,text:s},\\\"line\\\"in e&&(r.lineColor=u(A,1,E),r.lineWidth=A.width,r.lineDashes=A.dash),\\\"marker\\\"in e){var D=f(e);r.scatterColor=u(M,1,E),r.scatterSize=x(M.size,E,v,20,D),r.scatterMarker=x(M.symbol,E,y,\\\"\\\\u25cf\\\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=u(M.line,1,E),r.scatterAngle=0}\\\"textposition\\\"in e&&(r.textOffset=(h=e.textposition,p=[0,0],Array.isArray(h)?[0,-1]:(h.indexOf(\\\"bottom\\\")>=0&&(p[1]+=1),h.indexOf(\\\"top\\\")>=0&&(p[1]-=1),h.indexOf(\\\"left\\\")>=0&&(p[0]-=1),h.indexOf(\\\"right\\\")>=0&&(p[0]+=1),p)),r.textColor=u(e.textfont,1,E),r.textSize=x(e.textfont.size,E,l.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var O=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var I=e.projection[O[n]];(r.project[n]=I.show)&&(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=d(e,b);var R=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=c(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=c(e.surfacecolor),r}function _(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}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=\\\"\\\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=b(this.scene,t);\\\"mode\\\"in p&&(this.mode=p.mode),\\\"lineDashes\\\"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=_(p.scatterColor)||_(p.lineColor),this.dataPoints=p.position,e={gl:u,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[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:u,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=i(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:u,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=i(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:u,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=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];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)},m.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 g(t,e.uid);return r.update(e),r}},{\\\"../../constants/gl3d_dashes\\\":576,\\\"../../constants/gl3d_markers\\\":577,\\\"../../lib\\\":602,\\\"../../lib/gl_format_color\\\":598,\\\"../../lib/str2rgbarray\\\":625,\\\"../scatter/make_bubble_size_func\\\":943,\\\"./calc_errors\\\":953,\\\"delaunay-triangulate\\\":132,\\\"gl-error3d\\\":213,\\\"gl-line3d\\\":221,\\\"gl-mesh3d\\\":244,\\\"gl-scatter3d\\\":259}],955:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=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 f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r(\\\"x\\\"),s=r(\\\"y\\\"),l=r(\\\"z\\\");n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),a.hasLines(e)&&(f(\\\"connectgaps\\\"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&l(t,e,u,f,{noSelect:!0});var h=(e.line||{}).color,p=(e.marker||{}).color;f(\\\"surfaceaxis\\\")>=0&&f(\\\"surfacecolor\\\",h||p);for(var d=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],g=0;g<3;++g){var m=\\\"projection.\\\"+d[g];f(m+\\\".show\\\")&&(f(m+\\\".opacity\\\"),f(m+\\\".scale\\\"))}var v=n.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");v(t,e,r,{axis:\\\"z\\\"}),v(t,e,r,{axis:\\\"y\\\",inherit:\\\"z\\\"}),v(t,e,r,{axis:\\\"x\\\",inherit:\\\"z\\\"})}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":951}],956:[function(t,e,r){\\\"use strict\\\";var n={};n.plot=t(\\\"./convert\\\"),n.attributes=t(\\\"./attributes\\\"),n.markerSymbols=t(\\\"../../constants/gl3d_markers\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatter3d\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],n.meta={},e.exports=n},{\\\"../../constants/gl3d_markers\\\":577,\\\"../../plots/gl3d\\\":690,\\\"../scatter/colorbar\\\":930,\\\"./attributes\\\":951,\\\"./calc\\\":952,\\\"./convert\\\":954,\\\"./defaults\\\":955}],957:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../lib/extend\\\").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:\\\"string\\\",editType:\\\"calc\\\"},a:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},b:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:c.smoothing,editType:\\\"calc\\\"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:\\\"calc\\\"},a(\\\"marker\\\".line)),gradient:l.gradient,editType:\\\"calc\\\"},a(\\\"marker\\\"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],958:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../scatter/colorscale_calc\\\"),a=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,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var g=r.ab2xy(+u,+f,!0),m=r.isVisible(+u,+f);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:f,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(e),a(p,e),o(p,e),p}}},{\\\"../carpet/lookup_carpetid\\\":789,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc\\\":927,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],959:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=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\\\"),f=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}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(\\\"mode\\\",m<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\\\"marker.maxdisplayed\\\"),v.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||v.push(\\\"fills\\\"),p(\\\"hoveron\\\",v.join(\\\"+\\\")||\\\"points\\\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/line_shape_defaults\\\":941,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":957}],960:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],961:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[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),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,p=h._carpet,d=(f.hi||h.hoverinfo).split(\\\"+\\\"),g=[];-1!==d.indexOf(\\\"all\\\")&&(d=[\\\"a\\\",\\\"b\\\"]),-1!==d.indexOf(\\\"a\\\")&&w(p.aaxis,f.a),-1!==d.indexOf(\\\"b\\\")&&w(p.baxis,f.b);var m=p.ab2ij([f.a,f.b]),v=Math.floor(m[0]),y=m[0]-v,x=Math.floor(m[1]),b=m[1]-x,_=p.evalxy([],v,x,y,b);return g.push(\\\"y: \\\"+_[1].toFixed(3)),o.extraText=g.join(\\\"<br>\\\"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\\\"\\\"):t._hovertitle,g.push(r+\\\": \\\"+e.toFixed(3)+t.labelsuffix)}}},{\\\"../scatter/hover\\\":937}],962:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../scatter/style\\\").style,n.styleOnSelect=t(\\\"../scatter/style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"../scatter/select\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattercarpet\\\",n.basePlotModule=t(\\\"../../plots/cartesian\\\"),n.categories=[\\\"svg\\\",\\\"carpet\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"carpetDependent\\\",\\\"draggedPts\\\"],n.meta={},e.exports=n},{\\\"../../plots/cartesian\\\":659,\\\"../scatter/colorbar\\\":930,\\\"../scatter/select\\\":946,\\\"../scatter/style\\\":947,\\\"./attributes\\\":957,\\\"./calc\\\":958,\\\"./defaults\\\":959,\\\"./event_data\\\":960,\\\"./hover\\\":961,\\\"./plot\\\":963}],963:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../components/drawing\\\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||\\\"x\\\"),yaxis:i.getFromId(t,u.yaxis||\\\"y\\\"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll(\\\"g.trace\\\"+l.uid+\\\" .js-line\\\"),a.setClipUrl(c,u._clipPathId)}},{\\\"../../components/drawing\\\":499,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/plot\\\":945}],964:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/drawing/attributes\\\").dash,s=t(\\\"../../lib/extend\\\").extendFlat,l=t(\\\"../../plot_api/edit_types\\\").overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:\\\"data_array\\\"},lat:{valType:\\\"data_array\\\"},locations:{valType:\\\"data_array\\\"},locationmode:{valType:\\\"enumerated\\\",values:[\\\"ISO-3\\\",\\\"USA-states\\\",\\\"country names\\\"],dflt:\\\"ISO-3\\\"},mode:s({},n.mode,{dflt:\\\"markers\\\"}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,showscale:c.showscale,colorbar:c.colorbar,line:s({width:f.width},a(\\\"marker.line\\\")),gradient:c.gradient},a(\\\"marker\\\")),fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"toself\\\"],dflt:\\\"none\\\"},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"location\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],965:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=t(\\\"../scatter/colorscale_calc\\\"),o=t(\\\"../scatter/arrays_to_calcdata\\\"),s=t(\\\"../scatter/calc_selection\\\"),l=t(\\\"../../lib\\\")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),f=0;f<c;f++){var h=u[f]={};if(r){var p=e.locations[f];h.loc=\\\"string\\\"==typeof p?p:null}else{var d=e.lon[f],g=e.lat[f];n(d)&&n(g)?h.lonlat=[+d,+g]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&&(u[0].t={labels:{lat:l(t,\\\"lat:\\\")+\\\" \\\",lon:l(t,\\\"lon:\\\")+\\\" \\\"}}),u}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],966:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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 f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(\\\"locations\\\");if(o)return r(\\\"locationmode\\\"),a=o.length;return n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length),e._length=a,a}(0,e,f)?e.visible=!1:(f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),i.hasLines(e)&&(o(t,e,r,u,f),f(\\\"connectgaps\\\")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&s(t,e,u,f),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&l(t,e,r,f))}},{\\\"../../lib\\\":602,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":964}],967:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],968:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"../scatter/get_trace_color\\\"),s=t(\\\"../scatter/fill_hover_text\\\"),l=t(\\\"./attributes\\\");e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=p.projection.isLonLatOverEdges,g=p.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(d(n))return 1/0;var i=g(n),o=g([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 m=c[t.index],v=m.lonlat,y=[f.c2p(v),h.c2p(v)],x=m.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=m.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,m),t.extraText=function(t,e,r,n){var a=e.hi||t.hoverinfo,o=\\\"all\\\"===a?l.hoverinfo.flags:a.split(\\\"+\\\"),c=-1!==o.indexOf(\\\"location\\\")&&Array.isArray(t.locations),u=-1!==o.indexOf(\\\"lon\\\"),f=-1!==o.indexOf(\\\"lat\\\"),h=-1!==o.indexOf(\\\"text\\\"),p=[];function d(t){return i.tickText(r,r.c2l(t),\\\"hover\\\").text+\\\"\\\\xb0\\\"}c?p.push(e.loc):u&&f?p.push(\\\"(\\\"+d(e.lonlat[0])+\\\", \\\"+d(e.lonlat[1])+\\\")\\\"):u?p.push(n.lon+d(e.lonlat[0])):f&&p.push(n.lat+d(e.lonlat[1]));h&&s(e,t,p);return p.join(\\\"<br>\\\")}(u,m,p.mockAxis,c[0].t.labels),[t]}}},{\\\"../../components/fx\\\":516,\\\"../../constants/numerical\\\":579,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/fill_hover_text\\\":934,\\\"../scatter/get_trace_color\\\":936,\\\"./attributes\\\":964}],969:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"./style\\\"),n.styleOnSelect=t(\\\"../scatter/style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scattergeo\\\",n.basePlotModule=t(\\\"../../plots/geo\\\"),n.categories=[\\\"geo\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/geo\\\":678,\\\"../scatter/colorbar\\\":930,\\\"../scatter/style\\\":947,\\\"./attributes\\\":964,\\\"./calc\\\":965,\\\"./defaults\\\":966,\\\"./event_data\\\":967,\\\"./hover\\\":968,\\\"./plot\\\":970,\\\"./select\\\":971,\\\"./style\\\":972}],970:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../constants/numerical\\\").BADNUM,o=t(\\\"../../lib/topojson_utils\\\").getTopojsonFeatures,s=t(\\\"../../lib/geo_location_utils\\\").locationToFeature,l=t(\\\"../../lib/geojson_utils\\\"),c=t(\\\"../scatter/subtypes\\\"),u=t(\\\"./style\\\");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)f(r[o],e.topojson);function s(t,e){t.lonlat[0]===a&&n.select(e).remove()}var h=e.layers.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\"g.trace.scattergeo\\\").data(r,function(t){return t[0].trace.uid});h.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace scattergeo\\\"),h.exit().remove(),h.selectAll(\\\"*\\\").remove(),h.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||\\\"none\\\"!==a.fill){var o=l.calcTraceToLineCoords(e),f=\\\"none\\\"!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(\\\"path.js-line\\\").data([{geojson:f,trace:a}]).enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"stroke-miterlimit\\\",2)}c.hasMarkers(a)&&r.selectAll(\\\"path.point\\\").data(i.identity).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).each(function(t){s(t,this)}),c.hasText(a)&&r.selectAll(\\\"g\\\").data(i.identity).enter().append(\\\"g\\\").append(\\\"text\\\").each(function(t){s(t,this)}),u(t,e)})}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/geo_location_utils\\\":594,\\\"../../lib/geojson_utils\\\":595,\\\"../../lib/topojson_utils\\\":629,\\\"../scatter/subtypes\\\":948,\\\"./style\\\":972,d3:130}],971:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/subtypes\\\");e.exports=function(t,e){var r,i,a,o,s,l=t.cd,c=t.xaxis,u=t.yaxis,f=[],h=l[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(s=0;s<l.length;s++)l[s].selected=0;else for(s=0;s<l.length;s++)i=(r=l[s]).lonlat,a=c.c2p(i),o=u.c2p(i),e.contains([a,o])?(f.push({pointNumber:s,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0;return f}},{\\\"../scatter/subtypes\\\":948}],972:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/drawing\\\"),a=t(\\\"../../components/color\\\"),o=t(\\\"../scatter/style\\\").stylePoints;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,s=e[0].node3;s.style(\\\"opacity\\\",e[0].trace.opacity),o(s,r,t),s.selectAll(\\\"path.js-line\\\").style(\\\"fill\\\",\\\"none\\\").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||\\\"\\\",o.width||0),\\\"none\\\"!==r.fill&&e.call(a.fill,r.fillcolor)})}(t,e)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../scatter/style\\\":947,d3:130}],973:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../lib/extend\\\").extendFlat,s=t(\\\"../../plot_api/edit_types\\\").overrideAll,l=t(\\\"./constants\\\").DASHES,c=i.line,u=i.marker,f=u.line,h=e.exports=s({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,text:o({},i.text,{}),mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\"],extras:[\\\"none\\\"]},line:{color:c.color,width:c.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(l),dflt:\\\"solid\\\"}},marker:o({},a(\\\"marker\\\"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,showscale:u.showscale,colorbar:u.colorbar,line:o({},a(\\\"marker.line\\\"),{width:f.width})}),connectgaps:i.connectgaps,fill:i.fill,fillcolor:i.fillcolor,hoveron:i.hoveron,selected:{marker:i.selected.marker},unselected:{marker:i.unselected.marker},opacity:n.opacity},\\\"calc\\\",\\\"nested\\\");h.x.editType=h.y.editType=h.x0.editType=h.y0.editType=\\\"calc+clearAxisTypes\\\"},{\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926,\\\"./constants\\\":974}],974:[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]}}},{}],975:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"svg-path-sdf\\\"),i=t(\\\"color-normalize\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../lib\\\"),s=t(\\\"../../components/drawing\\\"),l=t(\\\"../../plots/cartesian/axis_ids\\\"),c=t(\\\"../../lib/gl_format_color\\\"),u=t(\\\"../scatter/subtypes\\\"),f=t(\\\"../scatter/make_bubble_size_func\\\"),h=t(\\\"./constants\\\"),p=t(\\\"../../constants/interactions\\\").DESELECTDIM;function d(t){var e,r,n=t._length,a=t.marker,s={},l=Array.isArray(a.symbol),u=o.isArrayOrTypedArray(a.color),p=o.isArrayOrTypedArray(a.line.color),d=o.isArrayOrTypedArray(a.opacity),g=o.isArrayOrTypedArray(a.size),m=o.isArrayOrTypedArray(a.line.width);if(l||(r=h.OPEN_RE.test(a.symbol)),l||u||p||d){s.colors=new Array(n),s.borderColors=new Array(n);var v=c(a,a.opacity,n),y=c(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(s.colors=v,s.borderColors=y,e=0;e<n;e++){if(l){var _=a.symbol[e];r=h.OPEN_RE.test(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}s.opacity=t.opacity}else r?(s.color=i(a.color,\\\"uint8\\\"),s.color[3]=0,s.borderColor=i(a.color,\\\"uint8\\\")):(s.color=i(a.color,\\\"uint8\\\"),s.borderColor=i(a.line.color,\\\"uint8\\\")),s.opacity=t.opacity*a.opacity;if(l)for(s.markers=new Array(n),e=0;e<n;e++)s.markers[e]=w(a.symbol[e]);else s.marker=w(a.symbol);var k,M=f(t);if(g||m){var A,T=s.sizes=new Array(n),S=s.borderSizes=new Array(n),C=0;if(g){for(e=0;e<n;e++)T[e]=M(a.size[e]),C+=T[e];A=C/n}else for(k=M(a.size),e=0;e<n;e++)T[e]=k;if(m)for(e=0;e<n;e++)S[e]=M(a.line.width[e]);else for(k=M(a.line.width),e=0;e<n;e++)S[e]=k;s.sizeAvg=A}else s.size=M(a&&a.size||10),s.borderSizes=M(a.line.width);return s}function g(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=d(o.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.sizes=e.marker.size),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function m(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var v=h.SYMBOL_SDF_SIZE,y=h.SYMBOL_SIZE,x=h.SYMBOL_STROKE,b={},_=s.symbolFuncs[0](.05*y);function w(t){if(\\\"circle\\\"===t)return null;var e,r,i=s.symbolNumber(t),a=s.symbolFuncs[i%100],o=!!s.symbolNoDot[i%100],l=!!s.symbolNoFill[i%100],c=h.DOT_RE.test(t);return b[t]?b[t]:(e=c&&!o?a(1.1*y)+_:a(y),r=n(e,{w:v,h:v,viewBox:[-y,-y,y,y],stroke:l?x:-x}),b[t]=r,r||null)}e.exports={convertStyle:function(t,e){var r,n={marker:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,selected:void 0,unselected:void 0};if(!0!==e.visible)return n;if(u.hasMarkers(e)&&(n.marker=d(e),n.selected=g(e,e.selected),n.unselected=g(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var i=e.marker.opacity;for(n.unselected.opacity=new Array(i.length),r=0;r<i.length;r++)n.unselected.opacity[r]=p*i[r]}if(u.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var a=(h.DASHES[e.line.dash]||[1]).slice();for(r=0;r<a.length;++r)a[r]*=e.line.width;n.line.dashes=a}return e.error_x&&e.error_x.visible&&(n.errorX=m(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=m(e,e.error_y)),e.fill&&\\\"none\\\"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},convertMarkerStyle:d,convertMarkerSelection:g,convertLinePositions:function(t,e,r){var n,i,a=r.length/2;if(u.hasLines(e)&&a)if(\\\"hv\\\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i+2]),n.push(r[2*i+1]));n.push(r[r.length-2]),n.push(r[r.length-1])}else if(\\\"vh\\\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i]),n.push(r[2*i+3]));n.push(r[r.length-2]),n.push(r[r.length-1])}else n=r;var o=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){o=!0;break}var s=o||n.length>h.TOO_MANY_POINTS?\\\"rect\\\":u.hasMarkers(e)?\\\"rect\\\":\\\"round\\\";if(o&&e.connectgaps){var l=n[0],c=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=l,n[i+1]=c):(l=n[i],c=n[i+1])}return{join:s,positions:n}},convertErrorBarPositions:function(t,e,r){var n=a.getComponentMethod(\\\"errorbars\\\",\\\"calcFromTrace\\\")(e,t._fullLayout),i=r.length/2,o={};function s(a){for(var o=new Float64Array(4*i),s=l.getFromId(t,e[a+\\\"axis\\\"]),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],f=0,h=0;f<i;f++,h+=4)o[h+u[0]]=r[2*f+c]-s.d2l(n[f][a+\\\"s\\\"])||0,o[h+u[1]]=s.d2l(n[f][a+\\\"h\\\"])-r[2*f+c]||0,o[h+u[2]]=0,o[h+u[3]]=0;return o}return e.error_x&&e.error_x.visible&&(o.x={positions:r,errors:s(\\\"x\\\")}),e.error_y&&e.error_y.visible&&(o.y={positions:r,errors:s(\\\"y\\\")}),o}}},{\\\"../../components/drawing\\\":499,\\\"../../constants/interactions\\\":578,\\\"../../lib\\\":602,\\\"../../lib/gl_format_color\\\":598,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../scatter/make_bubble_size_func\\\":943,\\\"../scatter/subtypes\\\":948,\\\"./constants\\\":974,\\\"color-normalize\\\":100,\\\"svg-path-sdf\\\":413}],976:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"./attributes\\\"),o=t(\\\"../scatter/constants\\\"),s=t(\\\"../scatter/subtypes\\\"),l=t(\\\"../scatter/xy_defaults\\\"),c=t(\\\"../scatter/marker_defaults\\\"),u=t(\\\"../scatter/line_defaults\\\"),f=t(\\\"../scatter/fillcolor_defaults\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,a,r,i)}var d=!!t.marker&&/-open/.test(t.marker.symbol),g=s.isBubble(t),m=l(t,e,h,p);if(m){p(\\\"text\\\"),p(\\\"mode\\\",m<o.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),s.hasLines(e)&&(p(\\\"connectgaps\\\"),u(t,e,r,h,p));var v=[];s.hasMarkers(e)&&(c(t,e,r,h,p),p(\\\"marker.line.width\\\",d||g?1:0),v.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&f(t,e,r,p),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||v.push(\\\"fills\\\"),p(\\\"hoveron\\\",v.join(\\\"+\\\")||\\\"points\\\");var y=i.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");y(t,e,r,{axis:\\\"y\\\"}),y(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/xy_defaults\\\":950,\\\"./attributes\\\":973}],977:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-scatter2d\\\"),i=t(\\\"regl-line2d\\\"),a=t(\\\"regl-error2d\\\"),o=t(\\\"point-cluster\\\"),s=t(\\\"array-range\\\"),l=t(\\\"../../registry\\\"),c=t(\\\"../../lib\\\"),u=t(\\\"../../lib/prepare_regl\\\"),f=t(\\\"../../plots/cartesian/axis_ids\\\"),h=t(\\\"../scatter/subtypes\\\"),p=t(\\\"../scatter/calc\\\").calcMarkerSize,d=t(\\\"../scatter/calc\\\").calcAxisExpansion,g=t(\\\"../scatter/colorscale_calc\\\"),m=t(\\\"../scatter/link_traces\\\"),v=t(\\\"../scatter/get_trace_color\\\"),y=t(\\\"../scatter/fill_hover_text\\\"),x=t(\\\"./convert\\\").convertStyle,b=t(\\\"./convert\\\").convertLinePositions,_=t(\\\"./convert\\\").convertErrorBarPositions,w=t(\\\"../../constants/numerical\\\").BADNUM,k=t(\\\"./constants\\\").TOO_MANY_POINTS;function M(t,e,r,n){var i=x(t,r);if(i.marker&&(i.marker.positions=n),i.line&&n.length>1&&c.extendFlat(i.line,b(t,r,n)),i.errorX||i.errorY){var a=_(t,r,n);i.errorX&&c.extendFlat(i.errorX,a.x),i.errorY&&c.extendFlat(i.errorY,a.y)}return i}function A(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=c.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n<r.count;n++)e[n]=t;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.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i=n._size,a=n.width,o=n.height,s=e.xaxis,l=e.yaxis,c=[i.l+s.domain[0]*i.w,i.b+l.domain[0]*i.h,a-i.r-(1-s.domain[1])*i.w,o-i.t-(1-l.domain[1])*i.h];r.select2d&&((t=r.select2d.regl._gl).enable(t.SCISSOR_TEST),t.scissor(c[0],c[1],c[2]-c[0],c[3]-c[1]),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)),r.scatter2d&&((t=r.scatter2d.regl._gl).enable(t.SCISSOR_TEST),t.scissor(c[0],c[1],c[2]-c[0],c[3]-c[1]),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT))},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||c.extendFlat(r,i),r}function T(t,e,r,n){var i=t.xa,a=t.ya,o=t.distance,s=t.dxy,u=t.index,f={pointNumber:u,x:e[u],y:r[u]};f.tx=Array.isArray(n.text)?n.text[u]:n.text,f.htx=Array.isArray(n.hovertext)?n.hovertext[u]:n.hovertext,f.data=Array.isArray(n.customdata)?n.customdata[u]:n.customdata,f.tp=Array.isArray(n.textposition)?n.textposition[u]:n.textposition;var h=n.textfont;h&&(f.ts=Array.isArray(h.size)?h.size[u]:h.size,f.tc=Array.isArray(h.color)?h.color[u]:h.color,f.tf=Array.isArray(h.family)?h.family[u]:h.family);var p=n.marker;p&&(f.ms=c.isArrayOrTypedArray(p.size)?p.size[u]:p.size,f.mo=c.isArrayOrTypedArray(p.opacity)?p.opacity[u]:p.opacity,f.mx=Array.isArray(p.symbol)?p.symbol[u]:p.symbol,f.mc=c.isArrayOrTypedArray(p.color)?p.color[u]:p.color);var d=p&&p.line;d&&(f.mlc=Array.isArray(d.color)?d.color[u]:d.color,f.mlw=c.isArrayOrTypedArray(d.width)?d.width[u]:d.width);var g=p&&p.gradient;g&&\\\"none\\\"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[u]:g.type,f.mgc=Array.isArray(g.color)?g.color[u]:g.color);var m=i.c2p(f.x,!0),x=a.c2p(f.y,!0),b=f.mrc||1,_=n.hoverlabel;_&&(f.hbg=Array.isArray(_.bgcolor)?_.bgcolor[u]:_.bgcolor,f.hbc=Array.isArray(_.bordercolor)?_.bordercolor[u]:_.bordercolor,f.hts=Array.isArray(_.font.size)?_.font.size[u]:_.font.size,f.htc=Array.isArray(_.font.color)?_.font.color[u]:_.font.color,f.htf=Array.isArray(_.font.family)?_.font.family[u]:_.font.family,f.hnl=Array.isArray(_.namelength)?_.namelength[u]:_.namelength);var w=n.hoverinfo;w&&(f.hi=Array.isArray(w)?w[u]:w);var k={};return k[t.index]=f,c.extendFlat(t,{color:v(n,f),x0:m-b,x1:m+b,xLabelVal:f.x,y0:x-b,y1:x+b,yLabelVal:f.y,cd:k,distance:o,spikeDistance:s}),f.htx?t.text=f.htx:f.tx?t.text=f.tx:n.text&&(t.text=n.text),y(f,n,t),l.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(f,n,t),t}e.exports={moduleType:\\\"trace\\\",name:\\\"scattergl\\\",basePlotModule:t(\\\"../../plots/cartesian\\\"),categories:[\\\"gl\\\",\\\"regl\\\",\\\"cartesian\\\",\\\"symbols\\\",\\\"errorBarsOK\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),cleanData:t(\\\"../scatter/clean_data\\\"),colorbar:t(\\\"../scatter/colorbar\\\"),calc:function(t,e){var r,n,i,a=t._fullLayout,s=f.getFromId(t,e.xaxis),l=f.getFromId(t,e.yaxis),c=a._plots[e.xaxis+e.yaxis],u=e._length,h=2*u,m={},v=s.makeCalcdata(e,\\\"x\\\"),y=l.makeCalcdata(e,\\\"y\\\"),x=new Array(h);for(r=0;r<u;r++)n=v[r],i=y[r],x[2*r]=n===w?NaN:n,x[2*r+1]=i===w?NaN:i;if(\\\"log\\\"===s.type)for(r=0;r<h;r+=2)x[r]=s.c2l(x[r]);if(\\\"log\\\"===l.type)for(r=1;r<h;r+=2)x[r]=l.c2l(x[r]);if(\\\"log\\\"!==s.type&&\\\"log\\\"!==l.type)m.tree=o(x);else{var b=m.ids=new Array(u);for(r=0;r<u;r++)b[r]=r}g(e);var _,T=M(t,0,e,x),S=A(t,c);return u<k?_=p(e,u):T.marker&&(_=2*(T.marker.sizeAvg||Math.max(T.marker.size,3))),d(t,e,s,l,v,y,_),T.fill&&!S.fill2d&&(S.fill2d=!0),T.marker&&!S.scatter2d&&(S.scatter2d=!0),T.line&&!S.line2d&&(S.line2d=!0),!T.errorX&&!T.errorY||S.error2d||(S.error2d=!0),T.marker&&u>=k&&(T.marker.cluster=m.tree),S.lineOptions.push(T.line),S.errorXOptions.push(T.errorX),S.errorYOptions.push(T.errorY),S.fillOptions.push(T.fill),S.markerOptions.push(T.marker),S.selectedOptions.push(T.selected),S.unselectedOptions.push(T.unselected),S.count++,m._scene=S,m.index=S.count-1,m.x=v,m.y=y,m.positions=x,m.count=u,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,e,r){if(r.length){var o=t._fullLayout,s=r[0][0].t._scene,l=o.dragmode;if(s){var c=o._size,h=o.width,p=o.height;u(t,[\\\"ANGLE_instanced_arrays\\\",\\\"OES_element_index_uint\\\"]);var d=o._glcanvas.data()[0].regl;if(m(t,e,r),s.dirty){if(!0===s.error2d&&(s.error2d=a(d)),!0===s.line2d&&(s.line2d=i(d)),!0===s.scatter2d&&(s.scatter2d=n(d)),!0===s.fill2d&&(s.fill2d=i(d)),s.line2d&&s.line2d.update(s.lineOptions),s.error2d){var g=(s.errorXOptions||[]).concat(s.errorYOptions||[]);s.error2d.update(g)}s.scatter2d&&s.scatter2d.update(s.markerOptions),s.fill2d&&(s.fillOptions=s.fillOptions.map(function(t,e){var n=r[e];if(!(t&&n&&n[0]&&n[0].trace))return null;var i,a,o=n[0],l=o.trace,c=o.t,u=s.lineOptions[e],f=[],h=u&&u.positions||c.positions;if(\\\"tozeroy\\\"===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if(\\\"tozerox\\\"===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if(\\\"toself\\\"===l.fill||\\\"tonext\\\"===l.fill){for(f=[],i=0,a=0;a<h.length;a+=2)(isNaN(h[a])||isNaN(h[a+1]))&&((f=f.concat(h.slice(i,a))).push(h[i],h[i+1]),i=a+2);f=f.concat(h.slice(i)),i&&f.push(h[i],h[i+1])}else{var p=l._nexttrace;if(p){var d=s.lineOptions[e+1];if(d){var g=d.positions;if(\\\"tonexty\\\"===l.fill){for(f=h.slice(),e=Math.floor(g.length/2);e--;){var m=g[2*e],v=g[2*e+1];isNaN(m)||isNaN(v)||(f.push(m),f.push(v))}t.fill=p.fillcolor}}}}if(l._prevtrace&&\\\"tonext\\\"===l._prevtrace.fill){var y=s.lineOptions[e-1].positions,x=f.length/2,b=[i=x];for(a=0;a<y.length;a+=2)(isNaN(y[a])||isNaN(y[a+1]))&&(b.push(a/2+x+1),i=a+2);f=f.concat(y),t.hole=b}return t.opacity=l.opacity,t.positions=f,t}),s.fill2d.update(s.fillOptions))}var v=\\\"lasso\\\"===l||\\\"select\\\"===l;s.selectBatch=null,s.unselectBatch=null;var y=r.map(function(r){if(r&&r[0]&&r[0].trace){var n,i=r[0],a=i.trace,o=i.t,l=o.index,u=o.x,d=o.y,g=e.xaxis||f.getFromId(t,a.xaxis||\\\"x\\\"),m=e.yaxis||f.getFromId(t,a.yaxis||\\\"y\\\"),y=[(g._rl||g.range)[0],(m._rl||m.range)[0],(g._rl||g.range)[1],(m._rl||m.range)[1]],x=[c.l+g.domain[0]*c.w,c.b+m.domain[0]*c.h,h-c.r-(1-g.domain[1])*c.w,p-c.t-(1-m.domain[1])*c.h];if(a.selectedpoints||v){if(v||(v=!0),s.selectBatch||(s.selectBatch=[],s.unselectBatch=[]),a.selectedpoints){s.selectBatch[l]=a.selectedpoints;var b=a.selectedpoints,_={};for(n=0;n<b.length;n++)_[b[n]]=!0;var w=[];for(n=0;n<o.count;n++)_[n]||w.push(n);s.unselectBatch[l]=w}var k=new Array(o.count),M=new Array(o.count);for(n=0;n<o.count;n++)k[n]=g.c2p(u[n]),M[n]=m.c2p(d[n]);o.xpx=k,o.ypx=M}else o.xpx=o.ypx=null;return a.visible?{viewport:x,range:y}:null}});v&&(s.select2d||(s.select2d=n(o._glcanvas.data()[1].regl)),s.scatter2d&&s.selectBatch&&s.selectBatch.length&&s.scatter2d.update(s.unselectedOptions.map(function(t,e){return s.selectBatch[e]?t:null})),s.select2d&&(s.select2d.update(s.markerOptions),s.select2d.update(s.selectedOptions))),s.fill2d&&s.fill2d.update(y),s.line2d&&s.line2d.update(y),s.error2d&&s.error2d.update(y.concat(y)),s.scatter2d&&s.scatter2d.update(y),s.select2d&&s.select2d.update(y),s.draw()}}},hoverPoints:function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p=t.cd,d=p[0].t,g=p[0].trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=m.c2p(e),_=v.c2p(r),w=t.distance;if(d.tree){var k=m.p2c(b-w),M=m.p2c(b+w),A=v.p2c(_-w),S=v.p2c(_+w);i=\\\"x\\\"===n?d.tree.range(Math.min(k,M),Math.min(v._rl[0],v._rl[1]),Math.max(k,M),Math.max(v._rl[0],v._rl[1])):d.tree.range(Math.min(k,M),Math.min(A,S),Math.max(k,M),Math.max(A,S))}else{if(!d.ids)return[t];i=d.ids}var C=w;if(\\\"x\\\"===n)for(l=0;l<i.length;l++)o=y[i[l]],(c=Math.abs(m.c2p(o)-b))<C&&(C=c,u=v.c2p(x[i[l]])-_,h=Math.sqrt(c*c+u*u),a=i[l]);else for(l=0;l<i.length;l++)o=y[i[l]],s=x[i[l]],c=m.c2p(o)-b,u=v.c2p(s)-_,(f=Math.sqrt(c*c+u*u))<C&&(C=h=f,a=i[l]);return t.index=a,t.distance=C,t.dxy=h,void 0===a?[t]:(T(t,y,x,g),[t])},style:function(t,e){if(e){var r=e[0][0].t._scene;t._fullLayout._has(\\\"splom\\\")||r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,l=a.y,c=a._scene;if(!c)return n;var u=!h.hasMarkers(i)&&!h.hasText(i);if(!0!==i.visible||u)return n;var f,p=null,d=null;if(!1===e||e.degenerate)d=s(a.count);else for(p=[],d=[],f=0;f<a.count;f++)e.contains([a.xpx[f],a.ypx[f]])?(p.push(f),n.push({pointNumber:f,x:o[f],y:l[f]})):d.push(f);if(c.selectBatch||(c.selectBatch=[],c.unselectBatch=[]),!c.selectBatch[a.index]){for(f=0;f<c.count;f++)c.selectBatch[f]=[],c.unselectBatch[f]=[];c.scatter2d.update(c.unselectedOptions)}return c.selectBatch[a.index]=p,c.unselectBatch[a.index]=d,n},sceneOptions:M,sceneUpdate:A,calcHover:T,meta:{}}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/prepare_regl\\\":615,\\\"../../plots/cartesian\\\":659,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../scatter/calc\\\":927,\\\"../scatter/clean_data\\\":929,\\\"../scatter/colorbar\\\":930,\\\"../scatter/colorscale_calc\\\":931,\\\"../scatter/fill_hover_text\\\":934,\\\"../scatter/get_trace_color\\\":936,\\\"../scatter/link_traces\\\":942,\\\"../scatter/subtypes\\\":948,\\\"./attributes\\\":973,\\\"./constants\\\":974,\\\"./convert\\\":975,\\\"./defaults\\\":976,\\\"array-range\\\":51,\\\"point-cluster\\\":353,\\\"regl-error2d\\\":374,\\\"regl-line2d\\\":375,\\\"regl-scatter2d\\\":376}],978:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergeo/attributes\\\"),i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../plots/mapbox/layout_attributes\\\"),o=t(\\\"../../plots/attributes\\\"),s=t(\\\"../../components/colorbar/attributes\\\"),l=t(\\\"../../lib/extend\\\").extendFlat,c=t(\\\"../../plot_api/edit_types\\\").overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:\\\"markers\\\"}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:\\\"string\\\",dflt:\\\"circle\\\",arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:i.selected.marker},unselected:{marker:i.unselected.marker},hoverinfo:l({},o.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\")},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645,\\\"../../plots/mapbox/layout_attributes\\\":706,\\\"../scatter/attributes\\\":926,\\\"../scattergeo/attributes\\\":964}],979:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=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\\\"),f=t(\\\"../../plots/mapbox/convert_text_opts\\\");function h(){return{geojson:o.makeBlank(),layout:{visibility:\\\"none\\\"},paint:{}}}function p(t){return i.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:d}function d(){return\\\"\\\"}function g(t){return t[0]===a}e.exports=function(t){var e,r=t[0].trace,a=!0===r.visible,m=\\\"none\\\"!==r.fill,v=u.hasLines(r),y=u.hasMarkers(r),x=u.hasText(r),b=y&&\\\"circle\\\"===r.marker.symbol,_=y&&\\\"circle\\\"!==r.marker.symbol,w=h(),k=h(),M=h(),A=h(),T={fill:w,line:k,circle:M,symbol:A};if(!a)return T;if((m||v)&&(e=o.calcTraceToLineCoords(t)),m&&(w.geojson=o.makePolygon(e),w.layout.visibility=\\\"visible\\\",i.extendFlat(w.paint,{\\\"fill-color\\\":r.fillcolor})),v&&(k.geojson=o.makeLine(e),k.layout.visibility=\\\"visible\\\",i.extendFlat(k.paint,{\\\"line-width\\\":r.line.width,\\\"line-color\\\":r.line.color,\\\"line-opacity\\\":r.opacity})),b){var S=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),m=i.isArrayOrTypedArray(f.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\\\"marker\\\")?s.makeColorScaleFunc(s.extractScale(f.colorscale,f.cmin,f.cmax)):i.identity);d&&(a=c(u));m&&(o=function(t){var e=n(t)?+i.constrain(t,0,1):0;return v(e)});var y,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!g(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:_},properties:w})}}if(h)for(y=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;y.selectedOpacityFn&&(k.mo=v(y.selectedOpacityFn(k))),y.selectedColorFn&&(k.mcc=y.selectedColorFn(k)),y.selectedSizeFn&&(k.mrc=y.selectedSizeFn(k))}return{geojson:{type:\\\"FeatureCollection\\\",features:x},mcc:p||y&&y.selectedColorFn?{type:\\\"identity\\\",property:\\\"mcc\\\"}:f.color,mrc:d||y&&y.selectedSizeFn?{type:\\\"identity\\\",property:\\\"mrc\\\"}:(M=f.size,M/2),mo:m||y&&y.selectedOpacityFn?{type:\\\"identity\\\",property:\\\"mo\\\"}:v(f.opacity)};var M}(t);M.geojson=S.geojson,M.layout.visibility=\\\"visible\\\",i.extendFlat(M.paint,{\\\"circle-color\\\":S.mcc,\\\"circle-radius\\\":S.mrc,\\\"circle-opacity\\\":S.mo})}if((_||x)&&(A.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\\\"circle\\\"!==r?p(r):d,a=u.hasText(e)?p(n):d,o=[],s=0;s<t.length;s++){var l=t[s];g(l.lonlat)||o.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\\\"FeatureCollection\\\",features:o}}(t),i.extendFlat(A.layout,{visibility:\\\"visible\\\",\\\"icon-image\\\":\\\"{symbol}-15\\\",\\\"text-field\\\":\\\"{text}\\\"}),_&&(i.extendFlat(A.layout,{\\\"icon-size\\\":r.marker.size/10}),i.extendFlat(A.paint,{\\\"icon-opacity\\\":r.opacity*r.marker.opacity,\\\"icon-color\\\":r.marker.color})),x)){var C=(r.marker||{}).size,E=f(r.textposition,C);i.extendFlat(A.layout,{\\\"text-size\\\":r.textfont.size,\\\"text-anchor\\\":E.anchor,\\\"text-offset\\\":E.offset}),i.extendFlat(A.paint,{\\\"text-color\\\":r.textfont.color,\\\"text-opacity\\\":r.opacity})}return T}},{\\\"../../components/colorscale\\\":489,\\\"../../components/drawing\\\":499,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../lib/geojson_utils\\\":595,\\\"../../plots/mapbox/convert_text_opts\\\":703,\\\"../scatter/make_bubble_size_func\\\":943,\\\"../scatter/subtypes\\\":948,\\\"fast-isnumeric\\\":196}],980:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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 f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f(\\\"text\\\"),f(\\\"hovertext\\\"),f(\\\"mode\\\"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f(\\\"connectgaps\\\")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0});var h=e.marker;h.line={width:0},\\\"circle\\\"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":978}],981:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],982:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/fx\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../scatter/get_trace_color\\\"),o=t(\\\"../scatter/fill_hover_text\\\"),s=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=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=i.wrap180(e[0]),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.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=[i.wrap180(m[0])+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,t.color=a(c,g),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\\\"+\\\"),i=-1!==n.indexOf(\\\"all\\\"),a=-1!==n.indexOf(\\\"lon\\\"),s=-1!==n.indexOf(\\\"lat\\\"),l=e.lonlat,c=[];function u(t){return t+\\\"\\\\xb0\\\"}i||a&&s?c.push(\\\"(\\\"+u(l[0])+\\\", \\\"+u(l[1])+\\\")\\\"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf(\\\"text\\\"))&&o(e,t,c);return c.join(\\\"<br>\\\")}(c,g,l[0].t.labels),[t]}}},{\\\"../../components/fx\\\":516,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../scatter/fill_hover_text\\\":934,\\\"../scatter/get_trace_color\\\":936}],983:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"../scattergeo/calc\\\"),n.plot=t(\\\"./plot\\\"),n.hoverPoints=t(\\\"./hover\\\"),n.eventData=t(\\\"./event_data\\\"),n.selectPoints=t(\\\"./select\\\"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType=\\\"trace\\\",n.name=\\\"scattermapbox\\\",n.basePlotModule=t(\\\"../../plots/mapbox\\\"),n.categories=[\\\"mapbox\\\",\\\"gl\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatterlike\\\"],n.meta={},e.exports=n},{\\\"../../plots/mapbox\\\":704,\\\"../scatter/colorbar\\\":930,\\\"../scattergeo/calc\\\":965,\\\"./attributes\\\":978,\\\"./defaults\\\":980,\\\"./event_data\\\":981,\\\"./hover\\\":982,\\\"./plot\\\":984,\\\"./select\\\":985}],984:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./convert\\\");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\\\"-source-fill\\\",line:e+\\\"-source-line\\\",circle:e+\\\"-source-circle\\\",symbol:e+\\\"-source-symbol\\\"},this.layerIds={fill:e+\\\"-layer-fill\\\",line:e+\\\"-layer-line\\\",circle:e+\\\"-layer-circle\\\",symbol:e+\\\"-layer-symbol\\\"},this.order=[\\\"fill\\\",\\\"line\\\",\\\"circle\\\",\\\"symbol\\\"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\\\"geojson\\\",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i<this.order.length;i++){var a=this.order[i],o=r[a];e.setOptions(this.layerIds[a],\\\"setLayoutProperty\\\",o.layout),\\\"visible\\\"===o.layout.visibility&&(this.setSourceData(a,o),e.setOptions(this.layerIds[a],\\\"setPaintProperty\\\",o.paint))}t[0].trace._glTrace=this},a.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=new i(t,e[0].trace.uid),a=n(e),o=0;o<r.order.length;o++){var s=r.order[o],l=a[s];r.addSource(s,l),r.addLayer(s,l)}return e[0].trace._glTrace=r,r}},{\\\"./convert\\\":979}],985:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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(!i.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 f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.wrap180(h[0]),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../scatter/subtypes\\\":948}],986:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/extend\\\").extendFlat,i=t(\\\"../scatter/attributes\\\"),a=t(\\\"../../plots/attributes\\\"),o=i.line;e.exports={mode:i.mode,r:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},theta:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},thetaunit:{valType:\\\"enumerated\\\",values:[\\\"radians\\\",\\\"degrees\\\",\\\"gradians\\\"],dflt:\\\"degrees\\\",editType:\\\"calc+clearAxisTypes\\\"},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:o.smoothing,editType:\\\"calc\\\"},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[\\\"r\\\",\\\"theta\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],987:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM,a=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){var r,u=t._fullLayout,f=e.subplot,h=u[f].radialaxis,p=u[f].angularaxis,d=h.makeCalcdata(e,\\\"r\\\"),g=p.makeCalcdata(e,\\\"theta\\\"),m=e._length,v=new Array(m);for(var y=0;y<m;y++){var x=d[y],b=g[y],_=v[y]={};n(x)&&n(b)?(_.r=x,_.theta=b,_.rad=(r=b,p.c2rad(r,e.thetaunit))):_.r=i}var w=c(e,m);return a.expand(h,d,{ppad:w}),o(e),s(v,e),l(v,e),v}},{\\\"../../constants/numerical\\\":579,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc\\\":927,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],988:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=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,f=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=p(\\\"r\\\"),g=p(\\\"theta\\\"),m=d&&g?Math.min(d.length,g.length):0;if(m){e._length=m,p(\\\"thetaunit\\\"),p(\\\"mode\\\",m<u?\\\"lines+markers\\\":\\\"lines\\\"),p(\\\"text\\\"),p(\\\"hovertext\\\"),i.hasLines(e)&&(o(t,e,r,h,p),s(t,e,p),p(\\\"connectgaps\\\")),i.hasMarkers(e)&&a(t,e,r,h,p,{gradient:!0}),i.hasText(e)&&l(t,e,h,p);var v=[];(i.hasMarkers(e)||i.hasText(e))&&(p(\\\"cliponaxis\\\"),p(\\\"marker.maxdisplayed\\\"),v.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(c(t,e,r,p),i.hasLines(e)||s(t,e,p)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||v.push(\\\"fills\\\"),p(\\\"hoveron\\\",v.join(\\\"+\\\")||\\\"points\\\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/line_shape_defaults\\\":941,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":986}],989:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../../lib\\\");function o(t,e,r){var n=r.radialAxis,o=r.angularAxis,s=(t.hi||e.hoverinfo).split(\\\"+\\\"),l=[];n._hovertitle=\\\"r\\\",o._hovertitle=\\\"\\\\u03b8\\\";var c,u=o._c2rad(t.theta,e.thetaunit);function f(t,e){l.push(t._hovertitle+\\\": \\\"+i.tickText(t,e,\\\"hover\\\").text)}return c=\\\"linear\\\"===o.type&&e.thetaunit!==o.thetaunit?\\\"degrees\\\"===o.thetaunit?a.rad2deg(u):u:t.theta,-1!==s.indexOf(\\\"all\\\")&&(s=[\\\"r\\\",\\\"theta\\\"]),-1!==s.indexOf(\\\"r\\\")&&f(n,n.c2r(t.r)),-1!==s.indexOf(\\\"theta\\\")&&f(o,c),l.join(\\\"<br>\\\")}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=o(c,u,l),a}},makeHoverPointText:o}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/hover\\\":937}],990:[function(t,e,r){\\\"use strict\\\";e.exports={moduleType:\\\"trace\\\",name:\\\"scatterpolar\\\",basePlotModule:t(\\\"../../plots/polar\\\"),categories:[\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),calc:t(\\\"./calc\\\"),plot:t(\\\"./plot\\\"),style:t(\\\"../scatter/style\\\").style,hoverPoints:t(\\\"./hover\\\").hoverPoints,selectPoints:t(\\\"../scatter/select\\\"),meta:{}}},{\\\"../../plots/polar\\\":713,\\\"../scatter/select\\\":946,\\\"../scatter/style\\\":947,\\\"./attributes\\\":986,\\\"./calc\\\":987,\\\"./defaults\\\":988,\\\"./hover\\\":989,\\\"./plot\\\":991}],991:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\"),i=t(\\\"../../constants/numerical\\\").BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]>u[1]?function(t){return t<=0}:function(t){return t>=0},a=0;a<r.length;a++)for(o=0;o<r[a].length;o++){var f=r[a][o],h=f.r;if(h!==i){var p=c.c2r(h)-u[0];if(s(p)){var d=f.rad;f.x=p*Math.cos(d),f.y=p*Math.sin(d);continue}f.intoCenter=[e.cxx,e.cyy]}f.x=i,f.y=i}var g=e.layers.frontplot.select(\\\"g.scatterlayer\\\");n(t,l,r,g)}},{\\\"../../constants/numerical\\\":579,\\\"../scatter/plot\\\":945}],992:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatterpolar/attributes\\\"),i=t(\\\"../scattergl/attributes\\\");e.exports={mode:n.mode,r:n.r,theta:n.theta,thetaunit:n.thetaunit,text:n.text,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,hoverinfo:n.hoverinfo,hoveron:n.hoveron,selected:n.selected,unselected:n.unselected}},{\\\"../scattergl/attributes\\\":973,\\\"../scatterpolar/attributes\\\":986}],993:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/subtypes\\\"),a=t(\\\"../scatter/marker_defaults\\\"),o=t(\\\"../scatter/line_defaults\\\"),s=t(\\\"../scatter/fillcolor_defaults\\\"),l=t(\\\"../scatter/constants\\\").PTS_LINESONLY,c=t(\\\"./attributes\\\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h=f(\\\"r\\\"),p=f(\\\"theta\\\"),d=h&&p?Math.min(h.length,p.length):0;if(d){e._length=d,f(\\\"thetaunit\\\"),f(\\\"mode\\\",d<l?\\\"lines+markers\\\":\\\"lines\\\"),f(\\\"text\\\"),i.hasLines(e)&&(o(t,e,r,u,f),f(\\\"connectgaps\\\"));var g=[];i.hasMarkers(e)&&(a(t,e,r,u,f),g.push(\\\"points\\\")),f(\\\"fill\\\"),\\\"none\\\"!==e.fill&&s(t,e,r,f),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||g.push(\\\"fills\\\"),f(\\\"hoveron\\\",g.join(\\\"+\\\")||\\\"points\\\"),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"./attributes\\\":992}],994:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"point-cluster\\\"),i=t(\\\"fast-isnumeric\\\"),a=t(\\\"../scattergl\\\"),o=t(\\\"../scatter/colorscale_calc\\\"),s=t(\\\"../../plots/cartesian/axes\\\"),l=t(\\\"../scatterpolar/hover\\\").makeHoverPointText,c=t(\\\"../scatter/subtypes\\\"),u=t(\\\"../scattergl/constants\\\").TOO_MANY_POINTS;e.exports={moduleType:\\\"trace\\\",name:\\\"scatterpolargl\\\",basePlotModule:t(\\\"../../plots/polar\\\"),categories:[\\\"gl\\\",\\\"regl\\\",\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,\\\"r\\\"),c=a.makeCalcdata(e,\\\"theta\\\"),u={};return e._length<l.length&&(l=l.slice(0,e._length)),e._length<c.length&&(c=c.slice(0,e._length)),o(e),u.r=l,u.theta=c,s.expand(i,l,{tozero:!0}),\\\"linear\\\"!==a.type&&(a.autorange=!0,s.expand(a,c),delete a.autorange),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=o.range,f=a.sceneUpdate(t,e);return f.clear(),r.forEach(function(h,p){if(h&&h[0]&&h[0].trace){var d,g,m,v,y,x=h[0],b=x.trace,_=x.t,w=_.r,k=_.theta,M=w.slice(),A=k.slice();for(d=0;d<w.length;d++)g=w[d],v=k[d],y=s.c2rad(v,b.thetaunit),e.isPtWithinSector({r:g,rad:y})||(M[d]=NaN,A[d]=NaN);var T,S=w.length,C=new Array(2*S),E=Array(S),L=Array(S);for(d=0;d<S;d++)g=M[d],v=A[d],i(g)&&i(v)&&g>=0?(m=o.c2r(g)-l[0],T=v,y=s.c2rad(T,b.thetaunit),E[d]=C[2*d]=m*Math.cos(y),L[d]=C[2*d+1]=m*Math.sin(y)):E[d]=L[d]=C[2*d]=C[2*d+1]=NaN;var z=a.sceneOptions(t,e,b,C);z.fill&&!f.fill2d&&(f.fill2d=!0),z.marker&&!f.scatter2d&&(f.scatter2d=!0),z.line&&!f.line2d&&(f.line2d=!0),!z.errorX&&!z.errorY||f.error2d||(f.error2d=!0),_.tree=n(C),z.marker&&S>=u&&(z.marker.cluster=_.tree),c.hasMarkers(b)&&(z.selected.positions=z.unselected.positions=z.marker.positions),f.lineOptions.push(z.line),f.errorXOptions.push(z.errorX),f.errorYOptions.push(z.errorY),f.fillOptions.push(z.fill),f.markerOptions.push(z.marker),f.selectedOptions.push(z.selected),f.unselectedOptions.push(z.unselected),f.count=r.length,_._scene=f,_.index=p,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=k,_.positions=C,_.count=S}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,p=u.cd[u.index],d=u.trace;if(p.r=o[u.index],p.theta=s[u.index],p.rad=h.c2rad(p.theta,d.thetaunit),f.isPtWithinSector(p))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(p,d,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../../plots/polar\\\":713,\\\"../scatter/colorscale_calc\\\":931,\\\"../scatter/subtypes\\\":948,\\\"../scattergl\\\":977,\\\"../scattergl/constants\\\":974,\\\"../scatterpolar/hover\\\":989,\\\"./attributes\\\":992,\\\"./defaults\\\":993,\\\"fast-isnumeric\\\":196,\\\"point-cluster\\\":353}],995:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/attributes\\\"),i=t(\\\"../../plots/attributes\\\"),a=t(\\\"../../components/colorscale/color_attributes\\\"),o=t(\\\"../../components/colorbar/attributes\\\"),s=t(\\\"../../components/drawing/attributes\\\").dash,l=t(\\\"../../lib/extend\\\").extendFlat,c=n.marker,u=n.line,f=c.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:l({},n.mode,{dflt:\\\"markers\\\"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:u.smoothing,editType:\\\"calc\\\"},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),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:f.width,editType:\\\"calc\\\"},a(\\\"marker.line\\\")),gradient:c.gradient,editType:\\\"calc\\\"},a(\\\"marker\\\"),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:n.hoveron}},{\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/color_attributes\\\":482,\\\"../../components/drawing/attributes\\\":498,\\\"../../lib/extend\\\":591,\\\"../../plots/attributes\\\":645,\\\"../scatter/attributes\\\":926}],996:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../scatter/colorscale_calc\\\"),a=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,f,h,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[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=m-p[u]-d[u];v[f]=h}var y,x,b,_,w,k,M=e._length,A=new Array(M);for(r=0;r<M;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*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,M),i(e),a(A,e),o(A,e),A}},{\\\"../scatter/arrays_to_calcdata\\\":925,\\\"../scatter/calc\\\":927,\\\"../scatter/calc_selection\\\":928,\\\"../scatter/colorscale_calc\\\":931,\\\"fast-isnumeric\\\":196}],997:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../scatter/constants\\\"),a=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\\\"),f=t(\\\"./attributes\\\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}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\\\"),p(\\\"mode\\\",d<i.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\\\"connectgaps\\\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\\\"cliponaxis\\\"),p(\\\"marker.maxdisplayed\\\"),y.push(\\\"points\\\")),p(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(u(t,e,r,p),a.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\\\":602,\\\"../scatter/constants\\\":932,\\\"../scatter/fillcolor_defaults\\\":935,\\\"../scatter/line_defaults\\\":939,\\\"../scatter/line_shape_defaults\\\":941,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"../scatter/text_defaults\\\":949,\\\"./attributes\\\":995}],998:[function(t,e,r){\\\"use strict\\\";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],999:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/hover\\\"),i=t(\\\"../../plots/cartesian/axes\\\");e.exports=function(t,e,r,a){var o=n(t,e,r,a);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,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.c=h.c,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=s.subplot,g=(h.hi||p.hoverinfo).split(\\\"+\\\"),m=[];return-1!==g.indexOf(\\\"all\\\")&&(g=[\\\"a\\\",\\\"b\\\",\\\"c\\\"]),-1!==g.indexOf(\\\"a\\\")&&v(d.aaxis,h.a),-1!==g.indexOf(\\\"b\\\")&&v(d.baxis,h.b),-1!==g.indexOf(\\\"c\\\")&&v(d.caxis,h.c),s.extraText=m.join(\\\"<br>\\\"),o}function v(t,e){m.push(t._hovertitle+\\\": \\\"+i.tickText(t,e,\\\"hover\\\").text)}}},{\\\"../../plots/cartesian/axes\\\":648,\\\"../scatter/hover\\\":937}],1000:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"../scatter/colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.style=t(\\\"../scatter/style\\\").style,n.styleOnSelect=t(\\\"../scatter/style\\\").styleOnSelect,n.hoverPoints=t(\\\"./hover\\\"),n.selectPoints=t(\\\"../scatter/select\\\"),n.eventData=t(\\\"./event_data\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"scatterternary\\\",n.basePlotModule=t(\\\"../../plots/ternary\\\"),n.categories=[\\\"ternary\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],n.meta={},e.exports=n},{\\\"../../plots/ternary\\\":725,\\\"../scatter/colorbar\\\":930,\\\"../scatter/select\\\":946,\\\"../scatter/style\\\":947,\\\"./attributes\\\":995,\\\"./calc\\\":996,\\\"./defaults\\\":997,\\\"./event_data\\\":998,\\\"./hover\\\":999,\\\"./plot\\\":1001}],1001:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scatter/plot\\\");e.exports=function(t,e,r){var i=e.plotContainer;i.select(\\\".scatterlayer\\\").selectAll(\\\"*\\\").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select(\\\"g.scatterlayer\\\");n(t,a,r,o)}},{\\\"../scatter/plot\\\":945}],1002:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../scattergl/attributes\\\"),i=t(\\\"../../plots/cartesian/constants\\\").idRegex;function a(t){return{valType:\\\"info_array\\\",freeLength:!0,editType:\\\"calc\\\",items:{valType:\\\"subplotid\\\",regex:i[t],editType:\\\"plot\\\"}}}e.exports={dimensions:{_isLinkedToArray:\\\"dimension\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},label:{valType:\\\"string\\\",editType:\\\"calc\\\"},values:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},editType:\\\"calc+clearAxisTypes\\\"},text:n.text,marker:n.marker,xaxes:a(\\\"x\\\"),yaxes:a(\\\"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:n.selected.marker,editType:\\\"calc\\\"},unselected:{marker:n.unselected.marker,editType:\\\"calc\\\"},opacity:n.opacity}},{\\\"../../plots/cartesian/constants\\\":653,\\\"../scattergl/attributes\\\":973}],1003:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-line2d\\\"),i=t(\\\"../../registry\\\"),a=t(\\\"../../lib\\\"),o=t(\\\"../../lib/prepare_regl\\\"),s=t(\\\"../../plots/get_data\\\").getModuleCalcData,l=t(\\\"../../plots/cartesian\\\"),c=t(\\\"../../plots/cartesian/axis_ids\\\"),u=\\\"splom\\\";function f(t,e,r){for(var n=e.dimensions,i=r.matrixOptions.data.length,a=new Array(i),o=0,s=0;o<n.length;o++)if(n[o].visible){var l=a[s]=new Array(4),u=c.getFromId(t,e._diag[o][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var f=c.getFromId(t,e._diag[o][1]);f&&(l[1]=f.r2l(f.range[0]),l[3]=f.r2l(f.range[1])),s++}r.selectBatch?(r.matrix.update({ranges:a},{ranges:a}),r.matrix.draw(r.unselectBatch,r.selectBatch)):(r.matrix.update({ranges:a}),r.matrix.draw())}function h(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._fullLayout,n=r._size,i=[0,0,r.width,r.height],a={};function o(t,e,r,n,o,s){var l=e[t+\\\"color\\\"],c=e[t+\\\"width\\\"],u=String(l+c);u in a?a[u].data.push(NaN,NaN,r,n,o,s):a[u]={data:[r,n,o,s],join:\\\"rect\\\",thickness:c,color:l,viewport:i,range:i,overlay:!1}}for(e in r._splomSubplots){var s,l,c=r._plots[e],u=c.xaxis,f=c.yaxis,h=u._vals,d=f._vals,g=n.b+f.domain[0]*n.h,m=-f._m,v=-m*f.r2l(f.range[0],f.calendar);if(u.showgrid)for(e=0;e<h.length;e++)s=u._offset+u.l2p(h[e].x),o(\\\"grid\\\",u,s,g,s,g+f._length);if(p(u)&&(s=u._offset+u.l2p(0),o(\\\"zeroline\\\",u,s,g,s,g+f._length)),f.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o(\\\"grid\\\",f,u._offset,l,u._offset+u._length,l);p(f)&&(l=g+v+0,o(\\\"zeroline\\\",f,u._offset,l,u._offset+u._length,l))}var y=[];for(e in a)y.push(a[e]);return y}(t)),i.draw()}function p(t){var e=a.simpleMap(t.range,t.r2l),r=t.l2p(0);return t.zeroline&&t._vals&&t._vals.length&&e[0]*e[1]<=0&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type)&&(r>1&&r<t._length-1||!t.showline)}e.exports={name:u,attr:l.attr,attrRegex:l.attrRegex,layoutAttributes:l.layoutAttributes,supplyLayoutDefaults:l.supplyLayoutDefaults,drawFramework:l.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule(u),n=s(t.calcdata,r)[0];o(t,[\\\"ANGLE_instanced_arrays\\\",\\\"OES_element_index_uint\\\"]),e._hasOnlyLargeSploms&&h(t),r.plot(t,{},n)},drag:function(t){var e=t.calcdata;t._fullLayout._hasOnlyLargeSploms&&h(t);for(var r=0;r<e.length;r++){var n=e[r][0],i=n.trace,a=n.t._scene;\\\"splom\\\"===i.type&&a&&a.matrix&&f(t,i,a)}},clean:function(t,e,r,n,i){var a,o,s,c=n._modules||[],u=e._modules||[];for(s=0;s<c.length;s++)if(\\\"splom\\\"===c[s].name){a=!0;break}for(s=0;s<u.length;s++)if(\\\"splom\\\"===u[s].name){o=!0;break}if(a&&!o)for(s=0;s<i.length;s++){var f=i[s][0],h=f.trace,p=f.t._scene;\\\"splom\\\"===h.type&&p&&p.matrix&&(p.matrix.destroy(),f.t._scene=null)}n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null),l.clean(t,e,r,n)},updateFx:l.updateFx,toSVG:l.toSVG}},{\\\"../../lib\\\":602,\\\"../../lib/prepare_regl\\\":615,\\\"../../plots/cartesian\\\":659,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../plots/get_data\\\":684,\\\"../../registry\\\":732,\\\"regl-line2d\\\":375}],1004:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../scatter/subtypes\\\"),o=t(\\\"../scatter/marker_defaults\\\"),s=/-open/;function l(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t+(n?n+1:\\\"\\\");return r}function c(t,e,r){if(e){var n=e.charAt(0),i=t._splomAxes[n];e in i||(i[e]=(r||{}).label||\\\"\\\")}}function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t,e,r,f){function h(r,a){return n.coerce(t,e,i,r,a)}var p=function(t,e){var r=t.dimensions;if(!Array.isArray(r))return 0;var a,o,s,l=r.length,c=0,u=e.dimensions=new Array(l);function f(t,e){return n.coerce(a,o,i.dimensions,t,e)}for(s=0;s<l;s++){a=r[s],o=u[s]={},f(\\\"label\\\");var h=f(\\\"visible\\\");if(h){var p=f(\\\"values\\\");p&&p.length?(c=Math.max(c,p.length),o._index=s):o.visible=!1}}for(s=0;s<l;s++)(o=u[s]).visible&&(o._length=c);return e._length=c,u.length}(t,e),d=h(\\\"diagonal.visible\\\"),g=h(\\\"showupperhalf\\\"),m=h(\\\"showlowerhalf\\\");if(p&&(d||g||m)){h(\\\"text\\\"),o(t,e,r,f,h);var v=s.test(e.marker.symbol),y=a.isBubble(e);h(\\\"marker.line.width\\\",v||y?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,f=e.showupperhalf,h=e.showlowerhalf,p=e.diagonal.visible,d=p||f&&h?s:s-1,g=n(\\\"xaxes\\\",l(\\\"x\\\",d)),m=n(\\\"yaxes\\\",l(\\\"y\\\",d));e._xaxes=u(g),e._yaxes=u(m);var v=Math.min(d,g.length,m.length);for(i=0;i<v;i++)for(a=0;a<v;a++){var y=[g[i]+m[a]];i>a&&f?r._splomSubplots[y]=1:i<a&&h?r._splomSubplots[y]=1:i!==a||!p&&h&&f||(r._splomSubplots[y]=1)}var x=e._diag=new Array(s),b=p||h?0:-1,_=p||f?0:-1;for(i=0;i<s;i++){var w=o[i],k=g[i+b],M=m[i+_];c(r,k,w),c(r,M,w),x[i]=[k,M]}}(0,e,f,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{\\\"../../lib\\\":602,\\\"../scatter/marker_defaults\\\":944,\\\"../scatter/subtypes\\\":948,\\\"./attributes\\\":1002}],1005:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"regl-splom\\\"),i=t(\\\"array-range\\\"),a=t(\\\"../../registry\\\"),o=t(\\\"../../components/grid\\\"),s=t(\\\"../../lib\\\"),l=t(\\\"../../plots/cartesian/axis_ids\\\"),c=t(\\\"../scatter/subtypes\\\"),u=t(\\\"../scatter/calc\\\").calcMarkerSize,f=t(\\\"../scatter/calc\\\").calcAxisExpansion,h=t(\\\"../scatter/colorscale_calc\\\"),p=t(\\\"../scattergl/convert\\\").convertMarkerSelection,d=t(\\\"../scattergl/convert\\\").convertMarkerStyle,g=t(\\\"../scattergl\\\").calcHover,m=t(\\\"../../constants/numerical\\\").BADNUM,v=t(\\\"../scattergl/constants\\\").TOO_MANY_POINTS;function y(t,e,r){for(var n=t.makeCalcdata({v:r.values,vcalendar:e.calendar},\\\"v\\\"),i=0;i<n.length;i++)n[i]=n[i]===m?NaN:n[i];return n}function x(t,e){var r,i,a,o,s,c=t._fullLayout,u=c._size,f=e.trace,h=e.t,p=h._scene,d=p.matrixOptions,g=d.cdata,m=c._glcanvas.data()[0].regl,v=c.dragmode;if(0!==g.length){d.lower=f.showupperhalf,d.upper=f.showlowerhalf,d.diagonal=f.diagonal.visible;var y=f.dimensions,x=g.length,b={};for(b.ranges=new Array(x),b.domains=new Array(x),a=0,s=0;a<y.length;a++)if(f.dimensions[a].visible){var _=b.ranges[s]=new Array(4),w=b.domains[s]=new Array(4);(r=l.getFromId(t,f._diag[a][0]))&&(_[0]=r._rl[0],_[2]=r._rl[1],w[0]=r.domain[0],w[2]=r.domain[1]),(i=l.getFromId(t,f._diag[a][1]))&&(_[1]=i._rl[0],_[3]=i._rl[1],w[1]=i.domain[0],w[3]=i.domain[1]),s++}b.viewport=[u.l,u.b,u.w+u.l,u.h+u.b],!0===p.matrix&&(p.matrix=n(m));var k=\\\"lasso\\\"===v||\\\"select\\\"===v||!!f.selectedpoints;if(p.selectBatch=null,p.unselectBatch=null,k){var M=f._length;if(p.selectBatch||(p.selectBatch=[],p.unselectBatch=[]),f.selectedpoints){p.selectBatch=f.selectedpoints;var A=f.selectedpoints,T={};for(a=0;a<A.length;a++)T[A[a]]=!0;var S=[];for(a=0;a<M;a++)T[a]||S.push(a);p.unselectBatch=S}var C=h.xpx=new Array(x),E=h.ypx=new Array(x);for(a=0,s=0;a<y.length;a++)if(f.dimensions[a].visible){if(r=l.getFromId(t,f._diag[a][0]))for(C[s]=new Array(M),o=0;o<M;o++)C[s][o]=r.c2p(g[s][o]);if(i=l.getFromId(t,f._diag[a][1]))for(E[s]=new Array(M),o=0;o<M;o++)E[s][o]=i.c2p(g[s][o]);s++}p.selectBatch?(p.matrix.update(d,d),p.matrix.update(p.unselectedOptions,p.selectedOptions),p.matrix.update(b,b)):p.matrix.update(b,null)}else p.matrix.update(d),p.matrix.update(b),h.xpx=h.ypx=null;p.draw()}}function b(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],i=t.dimensions,a=0,o=0;a<i.length;a++)if(i[a].visible){if(t._diag[a][n]===r)return o;o++}return!1}e.exports={moduleType:\\\"trace\\\",name:\\\"splom\\\",basePlotModule:t(\\\"./base_plot\\\"),categories:[\\\"gl\\\",\\\"regl\\\",\\\"cartesian\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:t(\\\"./attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),calc:function(t,e){var r,n,i,a=e.dimensions,o=e._length,c={},g={},m=g.cdata=[],x=g.data=[];for(r=0;r<a.length;r++)if((i=a[r]).visible){var b=e._diag[r][0]||e._diag[r][1],_=l.getFromId(t,b);if(_){var w=y(_,e,i),k=\\\"log\\\"===_.type?s.simpleMap(w,_.c2l):w;m.push(w),x.push(k)}}h(e),s.extendFlat(g,d(e));var M=m.length*o>v;for(r=0,n=0;r<a.length;r++)if((i=a[r]).visible){var A,T=l.getFromId(t,e._diag[r][0])||{},S=l.getFromId(t,e._diag[r][1])||{};A=M?2*(g.sizeAvg||Math.max(g.size,3)):u(e,o),f(t,e,T,S,m[n],m[n],A),n++}var C=c._scene=function(t,e){var r=e._scene,n={dirty:!0};return r||((r=e._scene=s.extendFlat({},n,{selectBatch:null,unselectBatch:null,matrix:!1,select:null})).draw=function(){r.matrix&&r.selectBatch?r.matrix.draw(r.unselectBatch,r.selectBatch):r.matrix&&r.matrix.draw(),r.dirty=!1},r.destroy=function(){r.matrix&&r.matrix.destroy(),r.matrixOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||s.extendFlat(r,n),r}(0,c);return C.matrix||(C.matrix=!0),C.matrixOptions=g,C.selectedOptions=p(e,e.selected),C.unselectedOptions=p(e,e.unselected),[{x:!1,y:!1,t:c,trace:e}]},plot:function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)x(t,r[n][0])},hoverPoints:function(t,e,r){var n=t.cd,i=n[0].trace,a=n[0].t._scene.matrixOptions.cdata,o=t.xa,s=t.ya,l=o.c2p(e),c=s.c2p(r),u=t.distance,f=b(i,o),h=b(i,s);if(!1===f||!1===h)return[t];for(var p,d,m=a[f],v=a[h],y=u,x=0;x<m.length;x++){var _=m[x],w=v[x],k=o.c2p(_)-l,M=s.c2p(w)-c,A=Math.sqrt(k*k+M*M);A<y&&(y=d=A,p=x)}return t.index=p,t.distance=y,t.dxy=d,void 0===p?[t]:(g(t,m,v,i),[t])},selectPoints:function(t,e){var r,n=t.cd,a=n[0].trace,o=n[0].t,s=o._scene,l=s.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!s)return h;var p=!c.hasMarkers(a)&&!c.hasText(a);if(!0!==a.visible||p)return h;var d=b(a,u),g=b(a,f);if(!1===d||!1===g)return h;var m=o.xpx[d],v=o.ypx[g],y=l[d],x=l[g],_=null,w=null;if(!1===e||e.degenerate)w=i(o.count);else for(_=[],w=[],r=0;r<y.length;r++)e.contains([m[r],v[r]])?(_.push(r),h.push({pointNumber:r,x:y[r],y:x[r]})):w.push(r);if(s.selectBatch||(s.selectBatch=[],s.unselectBatch=[]),!s.selectBatch){for(r=0;r<s.count;r++)s.selectBatch=[],s.unselectBatch=[];s.matrix.update(s.unselectedOptions,s.selectedOptions)}return s.selectBatch=_,s.unselectBatch=w,h},style:function(t,e){if(e){var r=t._fullLayout;e[0][0].t._scene.matrix.regl.clear({color:!0,depth:!0}),r._splomGrid&&r._splomGrid.draw();for(var n=0;n<e.length;n++)e[n][0].t._scene.draw();if(r._has(\\\"cartesian\\\"))for(var i in r._plots){var a=r._plots[i];a._scene&&a._scene.draw()}}},meta:{}},a.register(o)},{\\\"../../components/grid\\\":520,\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axis_ids\\\":651,\\\"../../registry\\\":732,\\\"../scatter/calc\\\":927,\\\"../scatter/colorscale_calc\\\":931,\\\"../scatter/subtypes\\\":948,\\\"../scattergl\\\":977,\\\"../scattergl/constants\\\":974,\\\"../scattergl/convert\\\":975,\\\"./attributes\\\":1002,\\\"./base_plot\\\":1003,\\\"./defaults\\\":1004,\\\"array-range\\\":51,\\\"regl-splom\\\":378}],1006:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/color\\\"),i=t(\\\"../../components/colorscale/attributes\\\"),a=t(\\\"../../components/colorbar/attributes\\\"),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},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({z:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},surfacecolor:{valType:\\\"data_array\\\"},cauto:i.zauto,cmin:i.zmin,cmax:i.zmax,colorscale:i.colorscale,autocolorscale:s({},i.autocolorscale,{dflt:!1}),reversescale:i.reversescale,showscale:i.showscale,colorbar:a,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},_deprecated:{zauto:s({},i.zauto,{}),zmin:s({},i.zmin,{}),zmax:s({},i.zmax,{})},hoverinfo:s({},o.hoverinfo)},\\\"calc\\\",\\\"nested\\\");u.x.editType=u.y.editType=u.z.editType=\\\"calc+clearAxisTypes\\\"},{\\\"../../components/color\\\":474,\\\"../../components/colorbar/attributes\\\":475,\\\"../../components/colorscale/attributes\\\":480,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/attributes\\\":645}],1007:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/colorscale/calc\\\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\\\"\\\",\\\"c\\\"):n(e,e.z,\\\"\\\",\\\"c\\\")}},{\\\"../../components/colorscale/calc\\\":481}],1008:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"fast-isnumeric\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../plots/plots\\\"),o=t(\\\"../../components/colorscale\\\"),s=t(\\\"../../components/colorbar/draw\\\");e.exports=function(t,e){var r=e[0].trace,l=\\\"cb\\\"+r.uid,c=r.cmin,u=r.cmax,f=r.surfacecolor||r.z;if(n(c)||(c=i.aggNums(Math.min,null,f)),n(u)||(u=i.aggNums(Math.max,null,f)),t._fullLayout._infolayer.selectAll(\\\".\\\"+l).remove(),r.showscale){var h=e[0].t.cb=s(t,l),p=o.makeColorScaleFunc(o.extractScale(r.colorscale,c,u),{noNumericCheck:!0});h.fillcolor(p).filllevels({start:c,end:u,size:(u-c)/254}).options(r.colorbar)()}else a.autoMargin(t,l)}},{\\\"../../components/colorbar/draw\\\":478,\\\"../../components/colorscale\\\":489,\\\"../../lib\\\":602,\\\"../../plots/plots\\\":710,\\\"fast-isnumeric\\\":196}],1009:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"gl-surface3d\\\"),i=t(\\\"ndarray\\\"),a=t(\\\"ndarray-homography\\\"),o=t(\\\"ndarray-fill\\\"),s=t(\\\"ndarray-ops\\\"),l=t(\\\"tinycolor2\\\"),c=t(\\\"../../lib\\\").isArrayOrTypedArray,u=t(\\\"../../lib/str2rgbarray\\\"),f=128;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var p=h.prototype;function d(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=i(new Float32Array(r[0]*r[1]),r);return s.assign(n.lo(1,1).hi(e[0],e[1]),t),s.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),s.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),s.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),s.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}p.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];c(this.data.x)?c(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],c(this.data.y)?c(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=e[1],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\\\"\\\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},p.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},p.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,s=this.surface,h=t.opacity,p=function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=l(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,h),g=t.z,m=t.x,v=t.y,y=n.xaxis,x=n.yaxis,b=n.zaxis,_=r.dataScale,w=g[0].length,k=t._ylength,M=[i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k])],A=M[0],T=M[1],S=r.contourLevels;this.data=t;var C=t.xcalendar,E=t.ycalendar,L=t.zcalendar;o(M[2],function(t,e){return b.d2l(g[e][t],0,L)*_[2]}),c(m)?c(m[0])?o(A,function(t,e){return y.d2l(m[e][t],0,C)*_[0]}):o(A,function(t){return y.d2l(m[t],0,C)*_[0]}):o(A,function(t){return y.d2l(t,0,C)*_[0]}),c(m)?c(v[0])?o(T,function(t,e){return x.d2l(v[e][t],0,E)*_[1]}):o(T,function(t,e){return x.d2l(v[e],0,E)*_[1]}):o(T,function(t,e){return x.d2l(e,0,C)*_[1]});var z={colormap:p,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],opacity:t.opacity};if(z.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var P=i(new Float32Array(w*k),[w,k]);o(P,function(e,r){return t.surfacecolor[r][e]}),M.push(P)}else z.intensityBounds[0]*=_[2],z.intensityBounds[1]*=_[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<f){for(var r=f/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],o=n[0]*n[1],s=0;s<t.length;++s){var l=d(t[s]),c=i(new Float32Array(o),n);a(c,l,[r,0,0,0,r,0,0,0,1]),t[s]=c}return r}return 1}(M),t.surfacecolor&&(z.intensity=M.pop());var D=[!0,!0,!0],O=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(e=0;e<3;++e){var I=t.contours[O[e]];D[e]=I.highlight,z.showContour[e]=I.show||I.highlight,z.showContour[e]&&(z.contourProject[e]=[I.project.x,I.project.y,I.project.z],I.show?(this.showContour[e]=!0,z.levels[e]=S[e],s.highlightColor[e]=z.contourColor[e]=u(I.color),I.usecolormap?s.highlightTint[e]=z.contourTint[e]=0:s.highlightTint[e]=z.contourTint[e]=1,z.contourWidth[e]=I.width):this.showContour[e]=!1,I.highlight&&(z.dynamicColor[e]=u(I.highlightcolor),z.dynamicWidth[e]=I.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]})(p)&&(z.vertexColor=!0),z.coords=M,s.update(z),s.visible=t.visible,s.enableDynamic=D,s.snapToData=!0,\\\"lighting\\\"in t&&(s.ambientLight=t.lighting.ambient,s.diffuseLight=t.lighting.diffuse,s.specularLight=t.lighting.specular,s.roughness=t.lighting.roughness,s.fresnel=t.lighting.fresnel),\\\"lightposition\\\"in t&&(s.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),h&&h<1&&(s.supportsTransparency=!0)},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\\\"../../lib\\\":602,\\\"../../lib/str2rgbarray\\\":625,\\\"gl-surface3d\\\":274,ndarray:335,\\\"ndarray-fill\\\":325,\\\"ndarray-homography\\\":327,\\\"ndarray-ops\\\":329,tinycolor2:415}],1010:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../registry\\\"),i=t(\\\"../../lib\\\"),a=t(\\\"../../components/colorscale/defaults\\\"),o=t(\\\"./attributes\\\");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function f(r,n){return i.coerce(t,e,o,r,n)}var h=f(\\\"z\\\");if(h){var p=f(\\\"x\\\");f(\\\"y\\\"),e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?h.length:h[0].length,e._ylength=h.length,n.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],l),f(\\\"text\\\"),[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"hidesurface\\\",\\\"opacity\\\"].forEach(function(t){f(t)});var d=f(\\\"surfacecolor\\\");f(\\\"colorscale\\\");var g=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(c=0;c<3;++c){var m=\\\"contours.\\\"+g[c],v=f(m+\\\".show\\\"),y=f(m+\\\".highlight\\\");if(v||y)for(u=0;u<3;++u)f(m+\\\".project.\\\"+g[u]);v&&(f(m+\\\".color\\\"),f(m+\\\".width\\\"),f(m+\\\".usecolormap\\\")),y&&(f(m+\\\".highlightcolor\\\"),f(m+\\\".highlightwidth\\\"))}d||(s(t,\\\"zmin\\\",\\\"cmin\\\"),s(t,\\\"zmax\\\",\\\"cmax\\\"),s(t,\\\"zauto\\\",\\\"cauto\\\")),a(t,e,l,f,{prefix:\\\"\\\",cLetter:\\\"c\\\"}),e._length=null}else e.visible=!1}},{\\\"../../components/colorscale/defaults\\\":484,\\\"../../lib\\\":602,\\\"../../registry\\\":732,\\\"./attributes\\\":1006}],1011:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.colorbar=t(\\\"./colorbar\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./convert\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"surface\\\",n.basePlotModule=t(\\\"../../plots/gl3d\\\"),n.categories=[\\\"gl3d\\\",\\\"2dMap\\\",\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"../../plots/gl3d\\\":690,\\\"./attributes\\\":1006,\\\"./calc\\\":1007,\\\"./colorbar\\\":1008,\\\"./convert\\\":1009,\\\"./defaults\\\":1010}],1012:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../components/annotations/attributes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat,a=t(\\\"../../plot_api/edit_types\\\").overrideAll,o=t(\\\"../../plots/font_attributes\\\"),s=t(\\\"../../plots/domain\\\").attributes;e.exports=a({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:i({},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:i({},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:i({},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:i({},o({arrayOk:!0}))}},\\\"calc\\\",\\\"from-root\\\")},{\\\"../../components/annotations/attributes\\\":457,\\\"../../lib/extend\\\":591,\\\"../../plot_api/edit_types\\\":633,\\\"../../plots/domain\\\":673,\\\"../../plots/font_attributes\\\":674}],1013:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../plots/get_data\\\").getModuleCalcData,i=t(\\\"./plot\\\");r.name=\\\"table\\\",r.plot=function(t){var e=n(t.calcdata,\\\"table\\\")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"table\\\"),a=e._has&&e._has(\\\"table\\\");i&&!a&&n._paperdiv.selectAll(\\\".table\\\").remove()}},{\\\"../../plots/get_data\\\":684,\\\"./plot\\\":1020}],1014:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib/gup\\\").wrap;e.exports=function(){return n({})}},{\\\"../../lib/gup\\\":599}],1015:[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\\\"}}},{}],1016:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"../../lib/extend\\\").extendFlat,a=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,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}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 f(t,e){return Object.keys(t).map(function(r){return i({},t[r],{auxiliaryBlocks:e})})}function h(t,e){for(var r,n={},i=0,a=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}),((a+=r)>=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=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=h(b,y-_+n.uplift),k=f(h(x,_),[]),M=f(w,k),A={},T=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 a(n)?Number(n):1}),C=S.reduce(s,0);S=S.map(function(t){return t/C*v});var E=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.index,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:E,height:y,columnOrder:T,groupHeight:y,rowBlocks:M,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},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:T[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\\\":591,\\\"./constants\\\":1015,\\\"fast-isnumeric\\\":196}],1017:[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\\\":591}],1018:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./attributes\\\"),a=t(\\\"../../plots/domain\\\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(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,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.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\\\":602,\\\"../../plots/domain\\\":673,\\\"./attributes\\\":1012}],1019:[function(t,e,r){\\\"use strict\\\";var n={};n.attributes=t(\\\"./attributes\\\"),n.supplyDefaults=t(\\\"./defaults\\\"),n.calc=t(\\\"./calc\\\"),n.plot=t(\\\"./plot\\\"),n.moduleType=\\\"trace\\\",n.name=\\\"table\\\",n.basePlotModule=t(\\\"./base_plot\\\"),n.categories=[\\\"noOpacity\\\"],n.meta={},e.exports=n},{\\\"./attributes\\\":1012,\\\"./base_plot\\\":1013,\\\"./calc\\\":1014,\\\"./defaults\\\":1018,\\\"./plot\\\":1020}],1020:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"./constants\\\"),i=t(\\\"d3\\\"),a=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\\\"),f=t(\\\"./data_split_helpers\\\"),h=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(a.repeat,a.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 D(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(a.repeat,a.keyFun);s.enter().append(\\\"g\\\").classed(n.cn.scrollbar,!0);var l=s.selectAll(\\\".\\\"+n.cn.scrollbarSlider).data(a.repeat,a.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(a.repeat,a.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(a.repeat,a.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=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.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(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\\\"drag\\\",S(e,t)).on(\\\"dragend\\\",function(){})),u.attr(\\\"y2\\\",function(t){return t.scrollbarState.scrollableAreaHeight})}function y(t,e,r,s){var l=function(t){var e=t.selectAll(\\\".\\\"+n.cn.columnCell).data(f.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(a.repeat,a.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,i={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=i})}(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=i.select(this);h.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),h.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\\\".\\\"+n.cn.cellRect).data(a.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(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\\\"text\\\").classed(n.cn.cellText,!0).style(\\\"cursor\\\",function(){return\\\"auto\\\"}).on(\\\"mousedown\\\",function(){i.event.stopPropagation()}),e}(function(t){var e=t.selectAll(\\\".\\\"+n.cn.cellTextHolder).data(a.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(i.select(this),t.font)})}(c),x(c,e,s,t),P(l)}function x(t,e,r,a){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,a=t.value,o=\\\"string\\\"==typeof a,s=o&&a.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u=\\\"string\\\"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,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?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(m):f),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}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=m;return h}).attr(\\\"dy\\\",function(t){return t.needsConvertToTspans?0:\\\"0.75em\\\"}).each(function(t){var o=i.select(this),l=t.wrappingNeeded?E:L;t.needsConvertToTspans?s.convertToTspans(o,a,l(r,this,e,a,t)):i.select(this.parentNode).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+z(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 k(t){return\\\"cells\\\"===t.type}function M(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 T(t,e,r){var n=m(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=D(i,i.length),s=n.calcdata.groupHeight-A(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),c=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.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 \\\"+(D(t.rowBlocks,t.page)-t.scrollY)+\\\")\\\"}),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,a){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;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var u=l.selectAll(\\\".\\\"+n.cn.yColumn).selectAll(\\\".\\\"+n.cn.columnBlock).filter(k);T(t,u,l)}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});y(t,e,a,r),i[o]=n[o]}))}function E(t,e,r){return function(){var a=i.select(e.parentNode);a.each(function(t){var e=t.fragments;a.selectAll(\\\"tspan.line\\\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,o=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+(i=(r=s.shift()).width+o)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),a.selectAll(\\\"tspan.line\\\").remove(),x(a.select(\\\".\\\"+n.cn.cellText),r,t),i.select(e.parentNode.parentNode).call(P)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll(\\\".\\\"+n.cn.columnCell).call(P),T(null,t.filter(k),0),v(r,a,!0)),s.attr(\\\"transform\\\",function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select(\\\".\\\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return\\\"translate(\\\"+z(o,i.select(this.parentNode).select(\\\".\\\"+n.cn.cellTextHolder).node().getBoundingClientRect().width)+\\\" \\\"+a+\\\")\\\"}),o.settledY=!0}}}function z(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 P(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 D(t,e){for(var r=0,n=e-1;n>=0;n--)r+=I(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 I(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._fullLayout._paper.selectAll(\\\".\\\"+n.cn.table).data(e.map(function(e){var r=a.unwrap(e).trace;return u(t,r)}),a.keyFun);r.exit().remove(),r.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\\\"),r.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 s=r.selectAll(\\\".\\\"+n.cn.tableControlView).data(a.repeat,a.keyFun);s.enter().append(\\\"g\\\").classed(n.cn.tableControlView,!0).style(\\\"box-sizing\\\",\\\"content-box\\\").on(\\\"mousemove\\\",function(e){s.filter(function(t){return e===t}).call(v,t)}).on(\\\"mousewheel\\\",function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,i.event.stopPropagation(),i.event.preventDefault(),S(t,s,null,e.scrollY+i.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(v,t,!0),s.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.size.l+\\\" \\\"+t.size.t+\\\")\\\"});var h=s.selectAll(\\\".\\\"+n.cn.scrollBackground).data(a.repeat,a.keyFun);h.enter().append(\\\"rect\\\").classed(n.cn.scrollBackground,!0).attr(\\\"fill\\\",\\\"none\\\"),h.attr(\\\"width\\\",function(t){return t.width}).attr(\\\"height\\\",function(t){return t.height}),s.each(function(e){o.setClipUrl(i.select(this),d(t,e))});var x=s.selectAll(\\\".\\\"+n.cn.yColumn).data(function(t){return t.columns},a.keyFun);x.enter().append(\\\"g\\\").classed(n.cn.yColumn,!0),x.exit().remove(),x.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\" 0)\\\"}).call(i.behavior.drag().origin(function(e){return w(i.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,v(s.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(\\\"drag\\\",function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),m(x).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)}),x.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=i.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}))})),x.each(function(e){o.setClipUrl(i.select(this),g(t,e))});var b=x.selectAll(\\\".\\\"+n.cn.columnBlock).data(f.splitToPanels,a.keyFun);b.enter().append(\\\"g\\\").classed(n.cn.columnBlock,!0).attr(\\\"id\\\",function(t){return t.key}),b.style(\\\"cursor\\\",function(t){return t.dragHandle?\\\"ew-resize\\\":t.calcdata.scrollbarState.barWiggleRoom?\\\"ns-resize\\\":\\\"default\\\"});var _=b.filter(M),A=b.filter(k);A.call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t}).on(\\\"drag\\\",S(t,s,-1)).on(\\\"dragend\\\",function(){})),y(t,s,_,b),y(t,s,A,b);var C=s.selectAll(\\\".\\\"+n.cn.scrollAreaClip).data(a.repeat,a.keyFun);C.enter().append(\\\"clipPath\\\").classed(n.cn.scrollAreaClip,!0).attr(\\\"id\\\",function(e){return d(t,e)});var E=C.selectAll(\\\".\\\"+n.cn.scrollAreaClipRect).data(a.repeat,a.keyFun);E.enter().append(\\\"rect\\\").classed(n.cn.scrollAreaClipRect,!0).attr(\\\"x\\\",-n.overdrag).attr(\\\"y\\\",-n.uplift).attr(\\\"fill\\\",\\\"none\\\"),E.attr(\\\"width\\\",function(t){return t.width+2*n.overdrag}).attr(\\\"height\\\",function(t){return t.height+n.uplift}),x.selectAll(\\\".\\\"+n.cn.columnBoundary).data(a.repeat,a.keyFun).enter().append(\\\"g\\\").classed(n.cn.columnBoundary,!0);var L=x.selectAll(\\\".\\\"+n.cn.columnBoundaryClippath).data(a.repeat,a.keyFun);L.enter().append(\\\"clipPath\\\").classed(n.cn.columnBoundaryClippath,!0),L.attr(\\\"id\\\",function(e){return g(t,e)});var z=L.selectAll(\\\".\\\"+n.cn.columnBoundaryRect).data(a.repeat,a.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)}),T(null,A,s)}},{\\\"../../components/color\\\":474,\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../../lib/gup\\\":599,\\\"../../lib/svg_text_utils\\\":626,\\\"./constants\\\":1015,\\\"./data_preparation_helper\\\":1016,\\\"./data_split_helpers\\\":1017,d3:130}],1021:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../box/attributes\\\"),i=t(\\\"../../lib/extend\\\").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},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:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,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:\\\"plot\\\"},selected:n.selected,unselected:n.unselected,hoveron:{valType:\\\"flaglist\\\",flags:[\\\"violins\\\",\\\"points\\\",\\\"kde\\\"],dflt:\\\"violins+points+kde\\\",extras:[\\\"all\\\"],editType:\\\"style\\\"}}},{\\\"../../lib/extend\\\":591,\\\"../box/attributes\\\":755}],1022:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../box/calc\\\"),o=t(\\\"./helpers\\\"),s=t(\\\"../../constants/numerical\\\").BADNUM;function l(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a=r.d2c(i,0,t[e.valLetter+\\\"calendar\\\"]);return a===s?u[n]:a}var h={type:\\\"linear\\\",range:a=\\\"soft\\\"===o?u:\\\"hard\\\"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var s=t._fullLayout,u=i.getFromId(t,e[\\\"h\\\"===e.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]),f=s._violinScaleGroupStats,h=e.scalegroup,p=f[h];p||(p=f[h]={maxWidth:0,maxCount:0});for(var d=0;d<r.length;d++){var g=r[d],m=g.pts.map(o.extractVal),v=m.length,y=l(m,n.stdev(m,v-1,g.mean),g.q3-g.q1),x=g.bandwidth=e.bandwidth||y,b=g.span=c(e,g,u,x),_=b[1]-b[0],w=Math.ceil(_/(Math.min(y,x)/3)),k=_/w;if(!isFinite(k)||!isFinite(w))return n.error(\\\"Something went wrong with computing the violin span\\\"),r[0].t.empty=!0,r;var M=o.makeKDE(g,e,m);g.density=new Array(w);for(var A=0,T=b[0];T<b[1]+k/2;A++,T+=k){var S=M(T);p.maxWidth=Math.max(p.maxWidth,S),g.density[A]={v:S,t:T}}i.expand(u,b,{padded:!0}),p.maxCount=Math.max(p.maxCount,m.length)}return r[0].t.labels.kde=n._(t,\\\"kde:\\\"),r}},{\\\"../../constants/numerical\\\":579,\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../box/calc\\\":756,\\\"./helpers\\\":1024}],1023:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../box/defaults\\\"),o=t(\\\"./attributes\\\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l(\\\"bandwidth\\\"),l(\\\"scalegroup\\\",e.name),l(\\\"scalemode\\\"),l(\\\"side\\\");var u,f=l(\\\"span\\\");Array.isArray(f)&&(u=\\\"manual\\\"),l(\\\"spanmode\\\",u);var h=l(\\\"line.color\\\",(t.marker||{}).color||r),p=l(\\\"line.width\\\"),d=l(\\\"fillcolor\\\",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:\\\"\\\"});var g=c(\\\"box.width\\\"),m=c(\\\"box.fillcolor\\\",d),v=c(\\\"box.line.color\\\",h),y=c(\\\"box.line.width\\\",p);l(\\\"box.visible\\\",Boolean(g||m||v||y))||delete e.box;var x=c(\\\"meanline.color\\\",h),b=c(\\\"meanline.width\\\",p);l(\\\"meanline.visible\\\",Boolean(x||b))||delete e.meanline}}},{\\\"../../components/color\\\":474,\\\"../../lib\\\":602,\\\"../box/defaults\\\":757,\\\"./attributes\\\":1021}],1024:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;\\\"h\\\"===e.orientation?(i=\\\"y\\\",a=\\\"x\\\"):(i=\\\"x\\\",a=\\\"y\\\");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,\\\"both\\\"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{\\\"../../lib\\\":602}],1025:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"../../plots/cartesian/axes\\\"),a=t(\\\"../box/hover\\\"),o=t(\\\"./helpers\\\");e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,p=h.hoveron,d=-1!==p.indexOf(\\\"violins\\\"),g=-1!==p.indexOf(\\\"kde\\\"),m=[];if(d||g){var v=a.hoverOnBoxes(t,e,r,s);if(d&&(m=m.concat(v)),g&&v.length>0){var y,x,b,_,w,k=t.xa,M=t.ya;\\\"h\\\"===h.orientation?(w=e,y=\\\"y\\\",b=M,x=\\\"x\\\",_=k):(w=r,y=\\\"x\\\",b=k,x=\\\"y\\\",_=M);var A=f[t.index];if(w>=A.span[0]&&w<=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),C=o.getKdeValue(A,h,w),E=o.getPositionOnKdePath(A,h,S),L=b._offset,z=b._length;T[y+\\\"0\\\"]=E[0],T[y+\\\"1\\\"]=E[1],T[x+\\\"0\\\"]=T[x+\\\"1\\\"]=S,T[x+\\\"Label\\\"]=x+\\\": \\\"+i.hoverLabelText(_,w)+\\\", \\\"+f[0].t.labels.kde+\\\" \\\"+C.toFixed(3),T.spikeDistance=v[0].spikeDistance;var P=y+\\\"Spike\\\";T[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,m.push(T),(u={stroke:t.color})[y+\\\"1\\\"]=n.constrain(L+E[0],L,L+z),u[y+\\\"2\\\"]=n.constrain(L+E[1],L,L+z),u[x+\\\"1\\\"]=u[x+\\\"2\\\"]=_._offset+S}}}-1!==p.indexOf(\\\"points\\\")&&(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(\\\".violinline-\\\"+h.uid).data(u?[0]:[]);return D.enter().append(\\\"line\\\").classed(\\\"violinline-\\\"+h.uid,!0).attr(\\\"stroke-width\\\",1.5),D.exit().remove(),D.attr(u),\\\"closest\\\"===s?c?[c]:m:c?(m.push(c),m):m}},{\\\"../../lib\\\":602,\\\"../../plots/cartesian/axes\\\":648,\\\"../box/hover\\\":758,\\\"./helpers\\\":1024}],1026:[function(t,e,r){\\\"use strict\\\";e.exports={attributes:t(\\\"./attributes\\\"),layoutAttributes:t(\\\"./layout_attributes\\\"),supplyDefaults:t(\\\"./defaults\\\"),supplyLayoutDefaults:t(\\\"./layout_defaults\\\"),calc:t(\\\"./calc\\\"),setPositions:t(\\\"./set_positions\\\"),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\\\",\\\"draggedPts\\\",\\\"violinLayout\\\"],meta:{}}},{\\\"../../plots/cartesian\\\":659,\\\"../box/select\\\":763,\\\"../scatter/style\\\":947,\\\"./attributes\\\":1021,\\\"./calc\\\":1022,\\\"./defaults\\\":1023,\\\"./hover\\\":1025,\\\"./layout_attributes\\\":1027,\\\"./layout_defaults\\\":1028,\\\"./plot\\\":1029,\\\"./set_positions\\\":1030,\\\"./style\\\":1031}],1027:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../box/layout_attributes\\\"),i=t(\\\"../../lib\\\").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{\\\"../../lib\\\":602,\\\"../box/layout_attributes\\\":760}],1028:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../../lib\\\"),i=t(\\\"./layout_attributes\\\"),a=t(\\\"../box/layout_defaults\\\");e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},\\\"violin\\\")}},{\\\"../../lib\\\":602,\\\"../box/layout_defaults\\\":761,\\\"./layout_attributes\\\":1027}],1029:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../lib\\\"),a=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,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:\\\"spline\\\",simplify:!0});return a.smoothopen(e[0],1)}var d=c.selectAll(\\\"g.trace.violins\\\").data(r,function(t){return t[0].trace.uid});d.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace violins\\\"),d.exit().remove(),d.order(),d.each(function(t){var r=t[0],a=r.t,s=r.trace,c=n.select(this);e.isRangePlot||(r.node3=c);var d=u._numViolins,g=\\\"group\\\"===u.violinmode&&d>1,m=1-u.violingap,v=a.bdPos=a.dPos*m*(1-u.violingroupgap)/(g?d:1),y=a.bPos=g?2*a.dPos*((a.num+.5)/d-.5)*m:0;if(a.wHover=a.dPos*(g?m/d:1),!0!==s.visible||a.empty)n.select(this).remove();else{var x=e[a.valLetter+\\\"axis\\\"],b=e[a.posLetter+\\\"axis\\\"],_=\\\"both\\\"===s.side,w=_||\\\"positive\\\"===s.side,k=_||\\\"negative\\\"===s.side,M=s.box&&s.box.visible,A=s.meanline&&s.meanline.visible,T=u._violinScaleGroupStats[s.scalegroup],S=c.selectAll(\\\"path.violin\\\").data(i.identity);if(S.enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"violin\\\"),S.exit().remove(),S.each(function(t){var e,r,i,o,l,c,u,f,h=n.select(this),d=t.density,g=d.length,m=t.pos+y,M=b.c2p(m);switch(s.scalemode){case\\\"width\\\":e=T.maxWidth/v;break;case\\\"count\\\":e=T.maxWidth/v*(T.maxCount/t.pts.length)}if(w){for(u=new Array(g),l=0;l<g;l++)(f=u[l]={})[a.posLetter]=m+d[l].v/e,f[a.valLetter]=d[l].t;r=p(u)}if(k){for(u=new Array(g),c=0,l=g-1;c<g;c++,l--)(f=u[c]={})[a.posLetter]=m-d[l].v/e,f[a.valLetter]=d[l].t;i=p(u)}if(_)o=r+\\\"L\\\"+i.substr(1)+\\\"Z\\\";else{var A=[M,x.c2p(d[0].t)],S=[M,x.c2p(d[g-1].t)];\\\"h\\\"===s.orientation&&(A.reverse(),S.reverse()),o=w?\\\"M\\\"+A+\\\"L\\\"+r.substr(1)+\\\"L\\\"+S:\\\"M\\\"+S+\\\"L\\\"+i.substr(1)+\\\"L\\\"+A}h.attr(\\\"d\\\",o),t.posCenterPx=M,t.posDensityScale=e*v,t.path=h.node(),t.pathLength=t.path.getTotalLength()/(_?2:1)}),M){var C,E,L=s.box.width,z=s.box.line.width;_?(C=v*L,E=0):w?(C=[0,v*L/2],E=-z):(C=[v*L/2,0],E=z),o.plotBoxAndWhiskers(c,{pos:b,val:x},s,{bPos:y,bdPos:C,bPosPxOffset:E}),A&&o.plotBoxMean(c,{pos:b,val:x},s,{bPos:y,bdPos:C,bPosPxOffset:E})}else if(A){var P=c.selectAll(\\\"path.mean\\\").data(i.identity);P.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}),P.exit().remove(),P.each(function(t){var e=x.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,s,e);n.select(this).attr(\\\"d\\\",\\\"h\\\"===s.orientation?\\\"M\\\"+e+\\\",\\\"+r[0]+\\\"V\\\"+r[1]:\\\"M\\\"+r[0]+\\\",\\\"+e+\\\"H\\\"+r[1])})}s.points&&o.plotPoints(c,{x:f,y:h},s,a)}})}},{\\\"../../components/drawing\\\":499,\\\"../../lib\\\":602,\\\"../box/plot\\\":762,\\\"../scatter/line_points\\\":940,\\\"./helpers\\\":1024,d3:130}],1030:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../box/set_positions\\\").setPositionOffset,i=[\\\"v\\\",\\\"h\\\"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c=\\\"h\\\"===l?o:a,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\\\"violin\\\"!==m.type||g.empty||m.orientation!==l||m.xaxis!==a._id||m.yaxis!==o._id||(u.push(p),!1!==m.points&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}n(\\\"violin\\\",t,u,c,[f,h])}}},{\\\"../box/set_positions\\\":764}],1031:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"d3\\\"),i=t(\\\"../../components/color\\\"),a=t(\\\"../scatter/style\\\").stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\\\"g.trace.violins\\\");r.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),r.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(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",l.width+\\\"px\\\").call(i.stroke,l.color).call(i.fill,s.fillcolor),o.selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":u+\\\"px\\\",\\\"stroke-dasharray\\\":2*u+\\\"px,\\\"+u+\\\"px\\\"}).call(i.stroke,c.color),a(o,r,t)})}},{\\\"../../components/color\\\":474,\\\"../scatter/style\\\":947,d3:130}],1032:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../plots/cartesian/axes\\\"),i=t(\\\"../lib\\\"),a=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\\\"],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,a){if(a.enabled){for(var o=a.target,l=i.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 f;case\\\"first\\\":return h;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\\\"median\\\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return i((r[Math.floor(l)]+r[Math.ceil(l)])/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 i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h=\\\"sample\\\"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,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\\\"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(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 i.coerce(t,n,l,e,r)}if(!o(\\\"enabled\\\"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o(\\\"groups\\\");if(!Array.isArray(f)){if(!u[f])return void(n.enabled=!1);u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_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]=h):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,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],g=o(e.transforms,r),m=a.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=g(s)):(d[c].push(s),p[h[l]]=(p[h[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\\\":579,\\\"../lib\\\":602,\\\"../plot_api/plot_schema\\\":639,\\\"../plots/cartesian/axes\\\":648,\\\"./helpers\\\":1035}],1033:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../registry\\\"),a=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 a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a(\\\"enabled\\\")){a(\\\"preservegaps\\\"),a(\\\"operation\\\"),a(\\\"value\\\"),a(\\\"target\\\");var o=i.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\");o(t,e,\\\"valuecalendar\\\",null),o(t,e,\\\"targetcalendar\\\",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if(\\\"string\\\"==typeof s){var g=n.nestedProperty(e,s+\\\"calendar\\\").get();g&&(h=g)}var m,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case\\\"=\\\":return function(t){return h(t)===s};case\\\"!=\\\":return function(t){return h(t)!==s};case\\\"<\\\":return function(t){return h(t)<s};case\\\"<=\\\":return function(t){return h(t)<=s};case\\\">\\\":return function(t){return h(t)>s};case\\\">=\\\":return function(t){return h(t)>=s};case\\\"[]\\\":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case\\\"()\\\":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case\\\"[)\\\":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case\\\"(]\\\":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case\\\"][\\\":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case\\\")(\\\":return function(t){var e=h(t);return e<s[0]||e>s[1]};case\\\"](\\\":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case\\\")[\\\":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case\\\"{}\\\":return function(t){return-1!==s.indexOf(h(t))};case\\\"}{\\\":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},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)}),M(m);for(var w=o(e.transforms,r),k=0;k<f;k++){y(i[k])?(M(v,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function M(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{\\\"../constants/filter_ops\\\":575,\\\"../lib\\\":602,\\\"../plots/cartesian/axes\\\":648,\\\"../registry\\\":732,\\\"./helpers\\\":1035}],1034:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plot_api/plot_schema\\\"),a=t(\\\"../plots/plots\\\"),o=t(\\\"./helpers\\\").pointsAccessorFunction;function s(t,e){var r,s,c,u,f,h,p,d,g,m,v=e.transform,y=e.transformIndex,x=t.transforms[y].groups,b=o(t.transforms,v);if(!Array.isArray(x)||0===x.length)return[t];var _=n.filterUnique(x),w=new Array(_.length),k=x.length,M=i.findArrayAttributes(t),A=v.styles||[],T={};for(r=0;r<A.length;r++)T[A[r].target]=A[r].value;v.styles&&(m=n.keyedContainer(v,\\\"styles\\\",\\\"target\\\",\\\"value.name\\\"));var S={},C={};for(r=0;r<_.length;r++){S[h=_[r]]=r,C[h]=0,(p=w[r]=n.extendDeepNoArrays({},t))._group=h,p.updateStyle=l(h,y),p.transforms[y]._indexToPoints={};var E=null;for(m&&(E=m.get(h)),p.name=E||\\\"\\\"===E?E:n.templateString(v.nameformat,{trace:t.name,group:h}),d=p.transforms,p.transforms=[],s=0;s<d.length;s++)p.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s<M.length;s++)n.nestedProperty(p,M[s]).set([])}for(c=0;c<M.length;c++){for(u=M[c],s=0,g=[];s<_.length;s++)g[s]=n.nestedProperty(w[s],u).get();for(f=n.nestedProperty(t,u).get(),s=0;s<k;s++)g[S[x[s]]].push(f[s])}for(s=0;s<k;s++){(p=w[S[x[s]]]).transforms[y]._indexToPoints[C[x[s]]]=b(s),C[x[s]]++}for(r=0;r<_.length;r++)h=_[r],p=w[r],a.clearExpandedTraceDefaultColors(p),p=n.extendDeepNoArrays(p,T[h]||{});return w}function l(t,e){return function(r,i,a){n.keyedContainer(r,\\\"transforms[\\\"+e+\\\"].styles\\\",\\\"target\\\",\\\"value.\\\"+i).set(String(t),a)}}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,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s(\\\"enabled\\\"))return o;s(\\\"groups\\\"),s(\\\"nameformat\\\",i._dataLength>1?\\\"%{group} (%{trace})\\\":\\\"%{group}\\\");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,\\\"target\\\");var f=n.coerce(l[a],c[a],r.attributes.styles,\\\"value\\\");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{\\\"../lib\\\":602,\\\"../plot_api/plot_schema\\\":639,\\\"../plots/plots\\\":710,\\\"./helpers\\\":1035}],1035:[function(t,e,r){\\\"use strict\\\";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1036:[function(t,e,r){\\\"use strict\\\";var n=t(\\\"../lib\\\"),i=t(\\\"../plots/cartesian/axes\\\"),a=t(\\\"./helpers\\\").pointsAccessorFunction;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 i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i(\\\"enabled\\\")&&(i(\\\"target\\\"),i(\\\"order\\\")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,f=e._arrayAttrs,h=function(t,e,r,n){var i,a=new Array(n),o=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case\\\"ascending\\\":return function(t,r){return e(t.v)-e(r.v)};case\\\"descending\\\":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),i=0;i<n;i++)o[i]=a[i].i;return o}(r,o,i.getDataToCoordFunc(t,e,s,o),l),p=a(e.transforms,r),d={};for(c=0;c<f.length;c++){var g=n.nestedProperty(e,f[c]),m=g.get(),v=new Array(l);for(u=0;u<l;u++)v[u]=m[h[u]];g.set(v)}for(u=0;u<l;u++)d[u]=p(h[u]);r._indexToPoints=d,e._length=l}}}},{\\\"../lib\\\":602,\\\"../plots/cartesian/axes\\\":648,\\\"./helpers\\\":1035}]},{},[20])(20)});\\n\",\n       \"});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from plotly.offline import init_notebook_mode, iplot, offline\\n\",\n    \"import plotly.graph_objs as go\\n\",\n    \"from whotracksme.website.plotting.colors import cliqz_colors, palette\\n\",\n    \"from whotracksme.website.plotting.utils import (\\n\",\n    \"    WTMFonts,\\n\",\n    \"    div_output,\\n\",\n    \"    set_margins,\\n\",\n    \"    annotation,\\n\",\n    \"    set_line_style,\\n\",\n    \"    set_category_colors\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"import pandas as pd\\n\",\n    \"init_notebook_mode()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.plotly.v1+json\": {\n       \"data\": [\n        {\n         \"hole\": 0.45,\n         \"hoverinfo\": \"label+percent\",\n         \"labels\": [\n          \"Germany\",\n          \"USA\",\n          \"France\",\n          \"Other\",\n          \"Russia\",\n          \"UK\",\n          \"Poland\",\n          \"Netherlands\",\n          \"Canada\",\n          \"Ukraine\",\n          \"Austria\",\n          \"Italy\",\n          \"Spain\",\n          \"Switzerland\",\n          \"Belgium\"\n         ],\n         \"name\": \"Data origin\",\n         \"pull\": 0.07,\n         \"textfont\": {\n          \"color\": \"#1A1A25\",\n          \"family\": \"sans-serif\",\n          \"size\": 15\n         },\n         \"textinfo\": \"label\",\n         \"textposition\": \"outside\",\n         \"type\": \"pie\",\n         \"values\": [\n          87124064,\n          78216572,\n          40282874,\n          32326828,\n          24384449,\n          16317893,\n          10554555,\n          10291928,\n          10054367,\n          6268086,\n          6261035,\n          6094486,\n          5753209,\n          4732324,\n          4048089\n         ]\n        }\n       ],\n       \"layout\": {\n        \"annotations\": [\n         {\n          \"align\": \"center\",\n          \"ax\": 0,\n          \"ay\": 0,\n          \"bgcolor\": \"#1A1A25\",\n          \"bordercolor\": \"#1A1A25\",\n          \"borderpad\": 5,\n          \"borderwidth\": 1,\n          \"font\": {\n           \"color\": \"white\",\n           \"family\": \"sans-serif\",\n           \"size\": 15\n          },\n          \"showarrow\": true,\n          \"text\": \"DATA ORIGIN\",\n          \"width\": 100,\n          \"x\": 0.5,\n          \"xref\": \"x\",\n          \"y\": 0.5,\n          \"yref\": \"y\"\n         }\n        ],\n        \"margin\": {\n         \"b\": 30,\n         \"l\": 60,\n         \"pad\": 5,\n         \"r\": 60,\n         \"t\": 30\n        },\n        \"paper_bgcolor\": \"#00000000\",\n        \"plot_bgcolor\": \"#FFFFFF\",\n        \"showlegend\": false,\n        \"xaxis\": {\n         \"showgrid\": false,\n         \"showline\": false,\n         \"showticklabels\": false,\n         \"zeroline\": false\n        },\n        \"yaxis\": {\n         \"showgrid\": false,\n         \"showline\": false,\n         \"showticklabels\": false,\n         \"zeroline\": false\n        }\n       }\n      },\n      \"text/html\": [\n       \"<div id=\\\"bd8bd018-0c5b-484c-90fd-8d7d80d2610d\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"bd8bd018-0c5b-484c-90fd-8d7d80d2610d\\\", [{\\\"type\\\": \\\"pie\\\", \\\"values\\\": [87124064, 78216572, 40282874, 32326828, 24384449, 16317893, 10554555, 10291928, 10054367, 6268086, 6261035, 6094486, 5753209, 4732324, 4048089], \\\"labels\\\": [\\\"Germany\\\", \\\"USA\\\", \\\"France\\\", \\\"Other\\\", \\\"Russia\\\", \\\"UK\\\", \\\"Poland\\\", \\\"Netherlands\\\", \\\"Canada\\\", \\\"Ukraine\\\", \\\"Austria\\\", \\\"Italy\\\", \\\"Spain\\\", \\\"Switzerland\\\", \\\"Belgium\\\"], \\\"name\\\": \\\"Data origin\\\", \\\"hoverinfo\\\": \\\"label+percent\\\", \\\"textposition\\\": \\\"outside\\\", \\\"hole\\\": 0.45, \\\"pull\\\": 0.07, \\\"textinfo\\\": \\\"label\\\", \\\"textfont\\\": {\\\"family\\\": \\\"sans-serif\\\", \\\"color\\\": \\\"#1A1A25\\\", \\\"size\\\": 15}}], {\\\"showlegend\\\": false, \\\"paper_bgcolor\\\": \\\"#00000000\\\", \\\"plot_bgcolor\\\": \\\"#FFFFFF\\\", \\\"xaxis\\\": {\\\"showgrid\\\": false, \\\"showline\\\": false, \\\"showticklabels\\\": false, \\\"zeroline\\\": false}, \\\"yaxis\\\": {\\\"showgrid\\\": false, \\\"showline\\\": false, \\\"showticklabels\\\": false, \\\"zeroline\\\": false}, \\\"margin\\\": {\\\"l\\\": 60, \\\"r\\\": 60, \\\"b\\\": 30, \\\"t\\\": 30, \\\"pad\\\": 5}, \\\"annotations\\\": [{\\\"x\\\": 0.5, \\\"y\\\": 0.5, \\\"xref\\\": \\\"x\\\", \\\"yref\\\": \\\"y\\\", \\\"text\\\": \\\"DATA ORIGIN\\\", \\\"font\\\": {\\\"family\\\": \\\"sans-serif\\\", \\\"size\\\": 15, \\\"color\\\": \\\"white\\\"}, \\\"width\\\": 100, \\\"showarrow\\\": true, \\\"ax\\\": 0, \\\"ay\\\": 0, \\\"align\\\": \\\"center\\\", \\\"bordercolor\\\": \\\"#1A1A25\\\", \\\"borderpad\\\": 5, \\\"borderwidth\\\": 1, \\\"bgcolor\\\": \\\"#1A1A25\\\"}]}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ],\n      \"text/vnd.plotly.v1+html\": [\n       \"<div id=\\\"bd8bd018-0c5b-484c-90fd-8d7d80d2610d\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"bd8bd018-0c5b-484c-90fd-8d7d80d2610d\\\", [{\\\"type\\\": \\\"pie\\\", \\\"values\\\": [87124064, 78216572, 40282874, 32326828, 24384449, 16317893, 10554555, 10291928, 10054367, 6268086, 6261035, 6094486, 5753209, 4732324, 4048089], \\\"labels\\\": [\\\"Germany\\\", \\\"USA\\\", \\\"France\\\", \\\"Other\\\", \\\"Russia\\\", \\\"UK\\\", \\\"Poland\\\", \\\"Netherlands\\\", \\\"Canada\\\", \\\"Ukraine\\\", \\\"Austria\\\", \\\"Italy\\\", \\\"Spain\\\", \\\"Switzerland\\\", \\\"Belgium\\\"], \\\"name\\\": \\\"Data origin\\\", \\\"hoverinfo\\\": \\\"label+percent\\\", \\\"textposition\\\": \\\"outside\\\", \\\"hole\\\": 0.45, \\\"pull\\\": 0.07, \\\"textinfo\\\": \\\"label\\\", \\\"textfont\\\": {\\\"family\\\": \\\"sans-serif\\\", \\\"color\\\": \\\"#1A1A25\\\", \\\"size\\\": 15}}], {\\\"showlegend\\\": false, \\\"paper_bgcolor\\\": \\\"#00000000\\\", \\\"plot_bgcolor\\\": \\\"#FFFFFF\\\", \\\"xaxis\\\": {\\\"showgrid\\\": false, \\\"showline\\\": false, \\\"showticklabels\\\": false, \\\"zeroline\\\": false}, \\\"yaxis\\\": {\\\"showgrid\\\": false, \\\"showline\\\": false, \\\"showticklabels\\\": false, \\\"zeroline\\\": false}, \\\"margin\\\": {\\\"l\\\": 60, \\\"r\\\": 60, \\\"b\\\": 30, \\\"t\\\": 30, \\\"pad\\\": 5}, \\\"annotations\\\": [{\\\"x\\\": 0.5, \\\"y\\\": 0.5, \\\"xref\\\": \\\"x\\\", \\\"yref\\\": \\\"y\\\", \\\"text\\\": \\\"DATA ORIGIN\\\", \\\"font\\\": {\\\"family\\\": \\\"sans-serif\\\", \\\"size\\\": 15, \\\"color\\\": \\\"white\\\"}, \\\"width\\\": 100, \\\"showarrow\\\": true, \\\"ax\\\": 0, \\\"ay\\\": 0, \\\"align\\\": \\\"center\\\", \\\"bordercolor\\\": \\\"#1A1A25\\\", \\\"borderpad\\\": 5, \\\"borderwidth\\\": 1, \\\"bgcolor\\\": \\\"#1A1A25\\\"}]}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"def doughnut_chart(values, labels, name):\\n\",\n    \"    trace = go.Pie(\\n\",\n    \"        values=values,\\n\",\n    \"        labels=labels,\\n\",\n    \"        name=str(name),\\n\",\n    \"        hoverinfo=\\\"label+percent\\\",\\n\",\n    \"        textposition=\\\"outside\\\",\\n\",\n    \"        hole=0.45,\\n\",\n    \"        pull=0.07,\\n\",\n    \"        textinfo=\\\"label\\\",\\n\",\n    \"        textfont=dict(\\n\",\n    \"            family=WTMFonts.regular,\\n\",\n    \"            color=cliqz_colors[\\\"black\\\"],\\n\",\n    \"            size=15\\n\",\n    \"        )    \\n\",\n    \"    )\\n\",\n    \"    data = [trace]\\n\",\n    \"    layout = dict(\\n\",\n    \"        showlegend=False,\\n\",\n    \"        paper_bgcolor=cliqz_colors[\\\"transparent\\\"],\\n\",\n    \"        plot_bgcolor=cliqz_colors[\\\"white\\\"],\\n\",\n    \"        xaxis=dict(showgrid=False, showline=False, showticklabels=False, zeroline=False),\\n\",\n    \"        yaxis=dict(showgrid=False, showline=False, showticklabels=False, zeroline=False),\\n\",\n    \"        # autosize=True,\\n\",\n    \"        margin=set_margins(t=30, b=30),\\n\",\n    \"        annotations=[\\n\",\n    \"            annotation(\\n\",\n    \"                text=str(name).upper(),\\n\",\n    \"                x=0.5,\\n\",\n    \"                y=0.5,\\n\",\n    \"                background_color=cliqz_colors[\\\"black\\\"],\\n\",\n    \"                shift_x=0,\\n\",\n    \"                text_size=15\\n\",\n    \"            )\\n\",\n    \"        ]\\n\",\n    \"    )\\n\",\n    \"    fig = dict(data=data, layout=layout)\\n\",\n    \"    # NB: saving plot requires a manual step, plotly is does not support it yet\\n\",\n    \"    # source: https://github.com/plotly/plotly.py/issues/880\\n\",\n    \"    offline.plot(fig, image='svg')\\n\",\n    \"\\n\",\n    \"    return iplot(fig)\\n\",\n    \"\\n\",\n    \"countries = ['Germany', 'USA', 'France', 'Other', 'Russia', 'UK', 'Poland', 'Netherlands', 'Canada', 'Ukraine', 'Austria', 'Italy', 'Spain', 'Switzerland', 'Belgium']\\n\",\n    \"page_loads = [87124064, 78216572, 40282874, 32326828, 24384449, 16317893, 10554555, 10291928, 10054367, 6268086, 6261035, 6094486, 5753209, 4732324, 4048089]\\n\",\n    \"\\n\",\n    \"doughnut_chart(values=page_loads, labels=countries, name='Data origin')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This volume of data will also enable us to publish separate rankings for individual countries, something we plan to add later this month.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Data restructure\\n\",\n    \"\\n\",\n    \"We have updated the struture of data which we publish in our [respository](https://github.com/ghostery/whotracks.me/) to make it both easier to use and more scalable as we add more data. We now publish CSV files each month for each of the following:\\n\",\n    \"\\n\",\n    \" * `domains.csv`: Top third-party domains seen tracking.\\n\",\n    \" * `trackers.csv`: Top trackers - this combines domains known be operated by the same tracker.\\n\",\n    \" * `companies.csv`: Top companies - aggregates the stats for trackers owned by the same company.\\n\",\n    \" * `sites.csv`: Stats for number of trackers seen on popular websites.\\n\",\n    \" * `site_trackers.csv`: Stats for each tracker on each site.\\n\",\n    \"\\n\",\n    \"These files can then be loaded with popular data-analysis tools such as [Pandas](https://pandas.pydata.org/). We have also rewritten the code to render the site to take advantage of Pandas. We expose the dataframes via the `DataSource` class which loads data from all CSV files:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from whotracksme.data.loader import DataSource\\n\",\n    \"data = DataSource()\\n\",\n    \"len(data.trackers.df)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have also updated the criteria by which we include trackers and sites on the main site. We now 'rollover' entries, so once they have been included once, we will keep publishing data (until they completely dissappear from the data). This has the effect of naturally growing the number of trackers and sites we publish. We currently have data on 868 trackers and 748 websites published:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def plot_ts():\\n\",\n    \"    df = pd.DataFrame({\\n\",\n    \"        'trackers': data.trackers.df.groupby('month').count()['tracker'], \\n\",\n    \"        'sites': data.sites.df.groupby('month').count()['site']\\n\",\n    \"    })\\n\",\n    \"    sites_trace = go.Scatter(\\n\",\n    \"        x=df.index, \\n\",\n    \"        y=df.sites, \\n\",\n    \"        name='Sites',\\n\",\n    \"        line=dict(width=4, color='#9ebcda'),\\n\",\n    \"    )\\n\",\n    \"    trackers_trace = go.Scatter(\\n\",\n    \"        x=df.index, \\n\",\n    \"        y=df.trackers, \\n\",\n    \"        name='Trackers',\\n\",\n    \"        line=dict(width=4, color='#A069AB'),\\n\",\n    \"    )\\n\",\n    \"    \\n\",\n    \"    layout=dict(\\n\",\n    \"        margin=set_margins(t=0,b=30),\\n\",\n    \"        legend=dict(\\n\",\n    \"           x=0.05, y=1,\\n\",\n    \"           bgcolor='#E2E2E2',\\n\",\n    \"           orientation='h'\\n\",\n    \"       )\\n\",\n    \"    )\\n\",\n    \"    fig = dict(data=[sites_trace, trackers_trace], layout=layout)\\n\",\n    \"    offline.plot(fig, image='svg')\\n\",\n    \"\\n\",\n    \"    iplot(fig)\\n\",\n    \"\\n\",\n    \"plot_ts()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The per site trend for average number of trackers continues a slightly downward trend, but the average is still above 9. There are several possible reasons for this, it is not necessarily that sites are using fewer trackers. The proportion of data from Ghostery users continues to increase, and these users will disproportionately block many trackers. This has an effect on the average number of trackers, because it prevents the blocked trackers from loading others. The data shows also that the average indcidence of blocking for trackers increased to 25% in March, up from 20% in February. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"traces = [\\n\",\n    \"    go.Box(\\n\",\n    \"        y=data.sites.df[data.sites.df.month == '2018-01'].trackers, \\n\",\n    \"        name='Jan 2018',\\n\",\n    \"        marker=dict(\\n\",\n    \"            color='#c44e52',\\n\",\n    \"            line=dict(\\n\",\n    \"                color='#c44e52',\\n\",\n    \"                width=3\\n\",\n    \"            ),\\n\",\n    \"        )\\n\",\n    \"    ),\\n\",\n    \"    go.Box(\\n\",\n    \"        y=data.sites.df[data.sites.df.month == '2018-02'].trackers, \\n\",\n    \"        name='Feb 2018',\\n\",\n    \"        marker=dict(\\n\",\n    \"            color='#55a868',\\n\",\n    \"            line=dict(\\n\",\n    \"                color='#55a868',\\n\",\n    \"                width=3\\n\",\n    \"            ),\\n\",\n    \"        )\\n\",\n    \"    ),\\n\",\n    \"    go.Box(\\n\",\n    \"        y=data.sites.df[data.sites.df.month == '2018-03'].trackers, \\n\",\n    \"        name='Mar 2018',\\n\",\n    \"        marker=dict(\\n\",\n    \"            color='#4c72b0',\\n\",\n    \"            line=dict(\\n\",\n    \"                color='#4c72b0',\\n\",\n    \"                width=3\\n\",\n    \"            ),\\n\",\n    \"        )\\n\",\n    \"    )\\n\",\n    \"]\\n\",\n    \"fig = dict(data=traces, layout=dict(showlegend=False, margin=set_margins(t=0, b=30)))\\n\",\n    \"offline.plot(fig, image='svg')\\n\",\n    \"iplot(fig)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# Mean occurrence of Blocking per page\\n\",\n    \"traces = [\\n\",\n    \"    go.Bar(\\n\",\n    \"        x=['Jan 2018', 'Feb 2018', 'Mar 2018'],\\n\",\n    \"        y=[\\n\",\n    \"            data.trackers.df[data.trackers.df.month == '2018-01'].has_blocking.mean()*100,\\n\",\n    \"            data.trackers.df[data.trackers.df.month == '2018-02'].has_blocking.mean()*100,\\n\",\n    \"            data.trackers.df[data.trackers.df.month == '2018-03'].has_blocking.mean()*100\\n\",\n    \"        ],\\n\",\n    \"        marker=dict(\\n\",\n    \"            color=['#A069AB', '#9564c4', '#6564c4'],\\n\",\n    \"            line=dict(\\n\",\n    \"                color='#222',\\n\",\n    \"                width=2\\n\",\n    \"            ),\\n\",\n    \"        )\\n\",\n    \"    )\\n\",\n    \"]\\n\",\n    \"fig = dict(data=traces, layout=dict(margin=set_margins(t=0, b=30)))\\n\",\n    \"offline.plot(fig, image_height=200, image_width=800, image='svg', output_type='file')\\n\",\n    \"iplot(fig)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As in previous months, we look at sites' changing the trackers. [fewo-direct.de](../websites/fewo-direkt.de.html), [brigitte.de](../websites/brigitte.de.html) and [gutefrage.net](../websites/gutefrage.net.html) all had 5 fewer trackers on average per page this month. However, each of these still has over 50 trackers with some kind of presence, showing that this is more likely a side-effect of increased blocking than an active effort to reduce tracking on their sites. [klingel.de](../websites/klingel.de.html) and [informationvine.com](../websites/informationvine.com.html) see the largest increase in tracking of the sites we currently monitor.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"mar_trackers = data.sites.get_snapshot('2018-03').set_index('site')['trackers']\\n\",\n    \"feb_trackers = data.sites.get_snapshot('2018-02').set_index('site')['trackers']\\n\",\n    \"site_diffs = pd.DataFrame({\\n\",\n    \"    'trackers': mar_trackers,\\n\",\n    \"    'change': (mar_trackers - feb_trackers)\\n\",\n    \"})\\n\",\n    \"site_diffs[(site_diffs.change > 5) | (site_diffs.change < -5.5)].sort_values('change')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"A side-effect of the filtering we added in this new data pipeline is that the site reach for top trackers has increased. In the previous analysis a long-tail of very rarely visited sites reduced effective site reach. With this factor reduced, we get a real sense of the coverage of the largest trackers, with Google Analytics reaching 85% of popular sites, and Facebook almost 60%.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df = data.trackers.get_snapshot().sort_values(by='site_reach', ascending=False).head(10)\\n\",\n    \"df['name'] = df.id.apply(func=lambda x: data.app_info[x]['name'])\\n\",\n    \"\\n\",\n    \"traces = [\\n\",\n    \"    go.Bar(\\n\",\n    \"        x=df.site_reach[::-1]*100,\\n\",\n    \"        y=df.name[::-1],\\n\",\n    \"        orientation='h',\\n\",\n    \"        marker=dict(\\n\",\n    \"            color=palette('#9ebcda', '#A069AB', 10),\\n\",\n    \"            line=dict(\\n\",\n    \"                color='#333',\\n\",\n    \"                width=2\\n\",\n    \"            ),\\n\",\n    \"        )\\n\",\n    \"    )\\n\",\n    \"]\\n\",\n    \"layout=dict(margin=set_margins(l=200))\\n\",\n    \"fig = dict(data=traces, layout=layout)\\n\",\n    \"offline.plot(fig, image='svg')\\n\",\n    \"iplot(fig)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you want to delve deeper into our data, it is available on the [Whotracks.me Github Repository](https://github.com/ghostery/whotracks.me/tree/master/whotracksme/data), and as a [pip package](https://pypi.python.org/pypi/whotracksme/).\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.0\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "contrib/wtm_may_update.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Whotracks.me May Update\\n\",\n    \"\\n\",\n    \"*This post is one of our regular monthly blogs accompanying an update to the data\\n\",\n    \"displayed on WhoTracks.Me. In these posts we introduce what data has been added as well\\n\",\n    \"as point out interesting trends and case-studies we found in the last month. Previous\\n\",\n    \"month's posts can be found here: [April 2018](./update_apr_2018.html),\\n\",\n    \"[February 2018](./update_feb_2018.html), [January 2018](./update_jan_2018.html),\\n\",\n    \"[December 2017](./update_dec_2017.html).*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"\\n\",\n    \"This month we update the site with data from 340 million page loads during April 2018. We expand\\n\",\n    \"the number of trackers shown to 951, and the number of websites to 1330. As this will be the last\\n\",\n    \"full month before the [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation)\\n\",\n    \"comes into force for European users, this will provide a benchmark to assess whether there is an\\n\",\n    \"observable difference on the tracking ecosystem.\\n\",\n    \"\\n\",\n    \"This month also saw our new paper **\\\"WhoTracks.Me: Monitoring the online tracking landscape at scale\\\"**\\n\",\n    \"published on [Arxiv](https://arxiv.org/abs/1804.08959). This paper covers the methodology behind\\n\",\n    \"the data we collect here, and how we ensure no private information can be leaked during this\\n\",\n    \"process.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\\n\",\n       \"* plotly.js v1.35.2\\n\",\n       \"* Copyright 2012-2018, Plotly, Inc.\\n\",\n       \"* All rights reserved.\\n\",\n       \"* Licensed under the MIT license\\n\",\n       \"*/\\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(){var t={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:1-1e-6,MINUS_SIGN:\\\"\\\\u2212\\\"},e={exports:{}};!function(){var t={version:\\\"3.5.17\\\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(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(i)try{n(i.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}),i)try{i.createElement(\\\"DIV\\\").style.setProperty(\\\"opacity\\\",0,\\\"\\\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,u=s.setAttributeNS,c=this.CSSStyleDeclaration.prototype,h=c.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\\\"\\\")},s.setAttributeNS=function(t,e,r){u.call(this,t,e,r+\\\"\\\")},c.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,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+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,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(f),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=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 v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.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){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+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],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,m),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},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,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){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,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _=\\\"__proto__\\\",w=\\\"\\\\0\\\";function M(t){return(t+=\\\"\\\")===_||t[0]===w?w+t:t}function A(t){return(t+=\\\"\\\")[0]===w?t.slice(1):t}function k(t){return M(t)in this._}function T(t){return(t=M(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(A(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function C(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(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=D.length;r<n;++r){var i=D[r]+e;if(i in t)return i}}x(b,{has:k,get:function(t){return this._[M(t)]},set:function(t,e){return this._[M(t)]=e},remove:T,keys:S,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:A(e),value:this._[e]});return t},size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,u,c,h,f=-1,p=a.length,d=i[s++],g=new b;++f<p;)(h=g.get(l=d(u=a[f])))?h.push(u):g.set(l,[u]);return t?(u=t(),c=function(e,r){u.set(e,o(t,r,s))}):(u={},c=function(e,r){u[e]=o(t,r,s)}),g.forEach(c),u}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,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 i.push(t),n},n.sortKeys=function(t){return a[i.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 L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:k,add:function(t){return this._[M(t+=\\\"\\\")]=!0,t},remove:T,values:S,size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var D=[\\\"webkit\\\",\\\"ms\\\",\\\"moz\\\",\\\"Moz\\\",\\\"o\\\",\\\"O\\\"];function O(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=F(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.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(V,\\\"\\\\\\\\$&\\\")};var V=/[\\\\\\\\\\\\^\\\\$\\\\*\\\\+\\\\?\\\\|\\\\[\\\\]\\\\(\\\\)\\\\.\\\\{\\\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[I(t,\\\"matchesSelector\\\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\\\"function\\\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\\\"function\\\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\\\"function\\\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\\\"__data__\\\"in i&&(r.__data__=i.__data__)):e.push(null)}return q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,u=s.length;++l<u;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var J=\\\"http://www.w3.org/1999/xhtml\\\",K={svg:\\\"http://www.w3.org/2000/svg\\\",xhtml:J,xlink:\\\"http://www.w3.org/1999/xlink\\\",xml:\\\"http://www.w3.org/XML/1998/namespace\\\",xmlns:\\\"http://www.w3.org/2000/xmlns/\\\"};function Q(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 $(t){return t.trim().replace(/\\\\s+/g,\\\" \\\")}function tt(e){return new RegExp(\\\"(?:^|\\\\\\\\s+)\\\"+t.requote(e)+\\\"(?:\\\\\\\\s+|$)\\\",\\\"g\\\")}function et(t){return(t+\\\"\\\").trim().split(/^|\\\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\\\"function\\\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\\\"class\\\")||\\\"\\\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\\\"class\\\",$(i+\\\" \\\"+t))):r.setAttribute(\\\"class\\\",$(i.replace(e,\\\" \\\")))}}function it(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 ot(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===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ut(t){return function(){return W(this,t)}}function ct(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(\\\":\\\"),r=t;return e>=0&&\\\"xmlns\\\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[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(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\\\"class\\\");++i<n;)if(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(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(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\\\"\\\"}return this.each(it(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=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,c=r.length,h=Math.min(o,c),f=new Array(c),p=new Array(c),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(v.has(g=e.call(i,i.__data__,n))?d[n]=i:v.set(g,i),m[n]=g);for(n=-1;++n<c;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&&(f[n]=i,i.__data__=a):p[n]=lt(a),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)i=t[n],a=r[n],i?(i.__data__=a,f[n]=i):p[n]=lt(a);for(;n<c;++n)p[n]=lt(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),u.push(d)}var s=ht([]),l=q([]),u=q([]);if(\\\"function\\\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return u},l},Y.datum=function(t){return arguments.length?this.property(\\\"__data__\\\",t):this.property(\\\"__data__\\\")},Y.filter=function(t){var e,r,n,i=[];\\\"function\\\"!=typeof t&&(t=ut(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return q(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ct(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,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ct(this,function(){++t}),t};var ft=[];function pt(e,r,i){var a=\\\"__on\\\"+e,o=e.indexOf(\\\".\\\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function u(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));u.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:u:r?O:function(){var r,n=new RegExp(\\\"^__on([^.]+)\\\"+t.requote(e)+\\\"$\\\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}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,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(e.push(n[u]=r=t.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):e.push(null)}return q(o)},ft.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\\\"string\\\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\\\"string\\\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([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(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\\\"__on\\\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\\\"mouseover\\\",mouseleave:\\\"mouseout\\\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\\\"on\\\"+t in i&&dt.remove(t)});var mt,yt=0;function xt(e){var r=\\\".dragsuppress-\\\"+ ++yt,n=\\\"click\\\"+r,i=t.select(o(e)).on(\\\"touchmove\\\"+r,B).on(\\\"dragstart\\\"+r,B).on(\\\"selectstart\\\"+r,B);if(null==mt&&(mt=!(\\\"onselectstart\\\"in e)&&I(e.style,\\\"userSelect\\\")),mt){var s=a(e).style,l=s[mt];s[mt]=\\\"none\\\"}return function(t){if(i.on(r,null),mt&&(s[mt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.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();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\\\"drag\\\",\\\"dragstart\\\",\\\"dragend\\\"),r=null,n=s(O,t.mouse,o,\\\"mousemove\\\",\\\"mouseup\\\"),i=s(wt,t.touch,z,\\\"touchmove\\\",\\\"touchend\\\");function a(){this.on(\\\"mousedown.drag\\\",n).on(\\\"touchstart.drag\\\",i)}function s(n,i,a,o,s){return function(){var l,u=t.event.target.correspondingElement||t.event.target,c=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=\\\".drag\\\"+(null==p?\\\"\\\":\\\"-\\\"+p),g=t.select(a(u)).on(o+d,function(){var t,e,r=i(c,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:\\\"drag\\\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(c,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:\\\"dragend\\\"})}),v=xt(u),m=i(c,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:\\\"dragstart\\\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\\\"on\\\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var Mt=1e-6,At=Mt*Mt,kt=Math.PI,Tt=2*kt,St=Tt-Mt,Et=kt/2,Ct=kt/180,Lt=180/kt;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function It(t){return t>1?0:t<-1?kt:Math.acos(t)}function Dt(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Ot(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<At)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Ot(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/Ot(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,u,c,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m=\\\"mousedown.zoom\\\",y=\\\"mousemove.zoom\\\",x=\\\"mouseup.zoom\\\",b=\\\"touchstart.zoom\\\",_=j(w,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\");function w(t){t.on(m,z).on(Nt+\\\".zoom\\\",I).on(\\\"dblclick.zoom\\\",D).on(b,P)}function M(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function A(t){f.k=Math.max(d[0],Math.min(d[1],t))}function k(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 T(e,n,i,a){e.__chart__={x:f.x,y:f.y,k:f.k},A(Math.pow(2,a)),k(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){u&&u.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(c.range().map(function(t){return(t-f.y)/f.k}).map(c.invert))}function E(t){v++||t({type:\\\"zoomstart\\\"})}function C(t){S(),t({type:\\\"zoom\\\",scale:f.k,translate:[f.x,f.y]})}function L(t){--v||(t({type:\\\"zoomend\\\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,k(t.mouse(e),a),C(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=M(t.mouse(e)),s=xt(e);ss.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\\\".zoom-\\\"+t.event.changedTouches[0].identifier,l=\\\"touchmove\\\"+o,u=\\\"touchend\\\"+o,c=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=M(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(u,y),c.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];T(r,m,i[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];a=b*b+_*_}}function v(){var o,l,u,c,h=t.touches(r);ss.call(r);for(var f=0,p=h.length;f<p;++f,c=null)if(u=h[f],c=i[u.identifier]){if(l)break;o=u,l=c}if(c){var d=(d=u[0]-o[0])*d+(d=u[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+u[0])/2,(o[1]+u[1])/2],l=[(l[0]+c[0])/2,(l[1]+c[1])/2],A(g*e)}s=null,k(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(c).on(o,null),h.on(m,z).on(b,P),p(),L(n)}g(),E(n),h.on(m,null).on(b,g)}function I(){var i=_.of(this,arguments);a?clearTimeout(a):(ss.call(this),e=M(r=n||t.mouse(this)),E(i)),a=setTimeout(function(){a=null,L(i)},50),B(),A(Math.pow(2,.002*Bt())*f.k),k(r,e),C(i)}function D(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;T(this,e,M(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\\\"onwheel\\\"in i?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\\\"wheel\\\"):\\\"onmousewheel\\\"in i?(Bt=function(){return t.event.wheelDelta},\\\"mousewheel\\\"):(Bt=function(){return-t.event.detail},\\\"MozMousePixelScroll\\\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;cs?t.select(this).transition().each(\\\"start.zoom\\\",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween(\\\"zoom:zoom\\\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,i/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/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},A(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+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?(u=t,l=t.copy(),f={x:0,y:0,k:1},w):u},w.y=function(t){return arguments.length?(h=t,c=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,\\\"on\\\")};var Bt,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ce(\\\"\\\"+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\\\"\\\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*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 Gt?Yt(t.h,t.c,t.l):fe((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(\\\"\\\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\\\"\\\"}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?\\\"0\\\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\\\((.*)\\\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\\\",\\\"),n[1]){case\\\"hsl\\\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\\\"rgb\\\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||\\\"#\\\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function he(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Ut(n,i,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\\\"%\\\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return\\\"#\\\"+ue(this.r)+ue(this.g)+ue(this.b)};var ge=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 ve(t){return\\\"function\\\"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&\\\"function\\\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\\\"beforesend\\\",\\\"progress\\\",\\\"load\\\",\\\"error\\\"),l={},u=new XMLHttpRequest,c=null;function h(){var t,e=u.status;if(!e&&function(t){var e=t.responseType;return e&&\\\"text\\\"!==e?t.response:t.responseText}(u)||e>=200&&e<300||304===e){try{t=i.call(o,u)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,u)}return!this.XDomainRequest||\\\"withCredentials\\\"in u||!/^(http(s)?:)?\\\\/\\\\//.test(e)||(u=new XDomainRequest),\\\"onload\\\"in u?u.onload=u.onerror=h:u.onreadystatechange=function(){u.readyState>3&&h()},u.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,u)}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?(c=t,o):c},o.response=function(t){return i=t,o},[\\\"get\\\",\\\"post\\\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\\\"function\\\"==typeof n&&(i=n,n=null),u.open(t,e,!0),null==r||\\\"accept\\\"in l||(l.accept=r+\\\",*/*\\\"),u.setRequestHeader)for(var a in l)u.setRequestHeader(a,l[a]);return null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=c&&(u.responseType=c),null!=i&&o.on(\\\"error\\\",i).on(\\\"load\\\",function(t){i(null,t)}),s.beforesend.call(o,u),u.send(null==n?null:n),o},o.abort=function(){return u.abort(),o},t.rebind(o,s,\\\"on\\\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(z),t.dsv=function(t,e){var r=new RegExp('[\\\"'+t+\\\"\\\\n]\\\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.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 i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\\\"d\\\",\\\"return {\\\"+t.map(function(t,e){return JSON.stringify(t)+\\\": d[\\\"+e+\\\"]\\\"}).join(\\\",\\\")+\\\"}\\\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,u=0,c=0;function h(){if(u>=l)return o;if(i)return i=!1,a;var e=u;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 u=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++u):10===s&&(i=!0),t.slice(e+1,r).replace(/\\\"\\\"/g,'\\\"')}for(;u<l;){var s,c=1;if(10===(s=t.charCodeAt(u++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(u)&&(++u,++c);else if(s!==n)continue;return t.slice(e,u-c)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==a&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,c++))||s.push(f)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,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\\\")},i.formatRows=function(t){return t.map(s).join(\\\"\\\\n\\\")},i},t.csv=t.dsv(\\\",\\\",\\\"text/csv\\\"),t.tsv=t.dsv(\\\"\\\\t\\\",\\\"text/tab-separated-values\\\");var xe,be,_e,we,Me=this[I(this,\\\"requestAnimationFrame\\\")]||function(t){setTimeout(t,17)};function Ae(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,Me(ke)),i}function ke(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(ke,e)),_e=0):(_e=1,Me(ke))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Ae.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ce=[\\\"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}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(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)))),Ce[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\\\- ])?([$#])?(0)?(\\\\d+)?(,)?(\\\\.-?\\\\d+)?([a-z%])?/i,ze=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,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Pe(t){return t+\\\"\\\"}var Ie=t.time={},De=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(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new De(r-1)),1),r}function a(t,r){return e(t=new De(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||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=i,t.offset=a,t.range=o;var s=t.utc=Be(t);return s.floor=s,s.round=Be(n),s.ceil=Be(i),s.offset=Be(a),s.range=function(t,e,r){try{De=Oe;var n=new Oe;return n._=t,o(n,e,r)}finally{De=Date}},t}function Be(t){return function(e,r){try{De=Oe;var n=new Oe;return n._=e,t(n,r)._}finally{De=Date}}}Ie.year=Fe(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=Fe(function(t){var e=new De(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]=Fe(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?\\\"-\\\":\\\"\\\",i=(n?-t:t)+\\\"\\\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp(\\\"^(?:\\\"+e.map(t.requote).join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function He(t){for(var e=new b,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 We(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 Ye(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 Xe(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 Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[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 ir(t){var e=t.getTimezoneOffset(),r=e>0?\\\"-\\\":\\\"+\\\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\\\"0\\\",2)+Ue(i,\\\"0\\\",2)}function ar(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(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\\\" \\\",s=n[2]||\\\">\\\",l=n[3]||\\\"-\\\",u=n[4]||\\\"\\\",c=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v=\\\"\\\",m=\\\"\\\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(c||\\\"0\\\"===i&&\\\"=\\\"===s)&&(c=i=\\\"0\\\",s=\\\"=\\\"),d){case\\\"n\\\":f=!0,d=\\\"g\\\";break;case\\\"%\\\":g=100,m=\\\"%\\\",d=\\\"f\\\";break;case\\\"p\\\":g=100,m=\\\"%\\\",d=\\\"r\\\";break;case\\\"b\\\":case\\\"o\\\":case\\\"x\\\":case\\\"X\\\":\\\"#\\\"===u&&(v=\\\"0\\\"+d.toLowerCase());case\\\"c\\\":x=!1;case\\\"d\\\":y=!0,p=0;break;case\\\"s\\\":g=-1,d=\\\"r\\\"}\\\"$\\\"===u&&(v=a[0],m=a[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=ze.get(d)||Pe;var b=c&&f;return function(e){var n=m;if(y&&e%1)return\\\"\\\";var a=e<0||0===e&&1/e<0?(e=-e,\\\"-\\\"):\\\"-\\\"===l?\\\"\\\":l;if(g<0){var u=t.formatPrefix(e,p);e=u.scale(e),n=u.symbol+m}else e*=g;var _,w,M=(e=d(e,p)).lastIndexOf(\\\".\\\");if(M<0){var A=x?e.lastIndexOf(\\\"e\\\"):-1;A<0?(_=e,w=\\\"\\\"):(_=e.substring(0,A),w=e.substring(A))}else _=e.substring(0,M),w=r+e.substring(M+1);!c&&f&&(_=o(_,1/0));var k=v.length+_.length+w.length+(b?0:a.length),T=k<h?new Array(k=h-k+1).join(i):\\\"\\\";return b&&(_=o(T+_,T.length?h-w.length:1/0)),a+=v,e=_+w,(\\\"<\\\"===s?a+e+T:\\\">\\\"===s?T+a+e:\\\"^\\\"===s?T.substring(0,k>>=1)+a+e+T.substring(k):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,u=e.shortMonths;function c(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\\\"e\\\"===n?\\\" \\\":\\\"0\\\":i)),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&&De!==Oe,i=new(n?Oe:De);return\\\"j\\\"in r?i.setFullYear(r.y,0,r.j):\\\"W\\\"in r||\\\"U\\\"in r?(\\\"w\\\"in r||(r.w=\\\"W\\\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\\\"W\\\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function h(t,e,r,n){for(var i,a,o,s=0,l=e.length,u=r.length;s<l;){if(n>=u)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}c.utc=function(t){var e=c(t);function r(t){try{var r=new(De=Oe);return r._=t,e(r)}finally{De=Date}}return r.parse=function(t){try{De=Oe;var r=e.parse(t);return r&&r._}finally{De=Date}},r.toString=e.toString,r},c.multi=c.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(u),b=He(u);a.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 u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:c(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 a[+(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:c(n),X:c(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\\\"%\\\":function(){return\\\"%\\\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.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){m.lastIndex=0;var n=m.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:We,w:Ge,W:Ye,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:Ze,Y:Xe,Z:Je,\\\"%\\\":ar};return c}(e)}};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){cr(t,this.t,ur),cr(ur.s,this.s,this),this.s?this.t+=ur.t:this.s=ur.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ur=new lr;function cr(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}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,i=r.length;++n<i;)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,i=r.length;++n<i;)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,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)hr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],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 vr=0,t.geo.stream(e,Cr),vr};var vr,mr,yr,xr,br,_r,wr,Mr,Ar,kr,Tr,Sr,Er=new lr,Cr={sphere:function(){vr+=4*kt},point:O,lineStart:O,lineEnd:O,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;vr+=t<0?4*kt+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=O}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Ct/2+kt/4;var a=(t*=Ct)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),u=Math.sin(e),c=i*u,h=n*l+c*Math.cos(s),f=c*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,i=u}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+kt/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function zr(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ir(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 Dr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Or(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])<Mt&&y(t[1]-e[1])<Mt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,u,c,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,u=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Er<0?(e=-(n=180),r=-(i=90)):u>Mt?i=90:u<-Mt&&(r=-90),h[0]=e,h[1]=n}};function p(t,a){c.push(h=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Ct,o*Ct]);if(l){var u=Ir(l,s),c=Ir([u[1],-u[0],0],u);Rr(c),c=Fr(c);var h=t-a,f=h>0?1:-1,d=c[0]*Lt*f,g=y(h)>180;if(g^(f*a<d&&d<f*t))(v=c[1]*Lt)>i&&(i=v);else if(g^(f*a<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-c[1]*Lt)<r&&(r=v)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-a;u+=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(){m(o,s),Cr.lineEnd(),y(u)>Mt&&(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 M(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),c=[],t.geo.stream(a,f),u=c.length){c.sort(w);for(var o=1,s=[g=c[0]];o<u;++o)M((p=c[o])[0],g)||M(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,u,p,d=-1/0,g=(o=0,s[u=s.length-1]);o<=u;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return c=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,Nr);var r=kr,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<At&&(r=wr,n=Mr,i=Ar,yr<Mt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<At)?[NaN,NaN]:[Math.atan2(n,r)*Lt,Dt(i/Math.sqrt(a))*Lt]};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*=Ct;var r=Math.cos(e*=Ct);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++mr,br+=(e-br)/mr,_r+=(r-_r)/mr}function Ur(){var t,e,r;function n(n,i){n*=Ct;var a=Math.cos(i*=Ct),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=e*l-r*s)*u+(u=r*o-t*l)*u+(u=t*s-e*o)*u),t*o+e*s+r*l);yr+=u,wr+=u*(t+(t=o)),Mr+=u*(e+(e=s)),Ar+=u*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Ct;var o=Math.cos(a*=Ct);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Ct;var a=Math.cos(e*=Ct),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),u=n*l-i*s,c=i*o-r*l,h=r*s-n*o,f=Math.sqrt(u*u+c*c+h*h),p=r*o+n*s+i*l,d=f&&-It(p)/f,g=Math.atan2(f,p);kr+=d*u,Tr+=d*c,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),Mr+=g*(n+(n=s)),Ar+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Ct;var l=Math.cos(s*=Ct);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(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 Wr(){return!0}function Yr(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),u=new Zr(r,null,l,!1);l.o=u,a.push(l),o.push(u),u=new Zr(n,null,l=new Zr(n,t,null,!1),!0),l.o=u,a.push(l),o.push(u)}}}),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,u=o.length;s<u;++s)o[s].e=l=!l;for(var c,h,f=a[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(c=p.p.z).length-1;s>=0;--s)i.point((h=c[s])[0],h[1]);else n(p.x,p.p.x,-1,i);p=p.p}c=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(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,i){return function(a,o){var s,l=r(o),u=a.invert(i[0],i[1]),c={point:h,lineStart:p,lineEnd:d,polygonStart:function(){c.point=b,c.lineStart=_,c.lineEnd=w,s=[],g=[]},polygonEnd:function(){c.point=h,c.lineStart=p,c.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var u=e[s],c=u.length;if(c)for(var h=u[0],f=h[0],p=h[1]/2+kt/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===c&&(v=0);var m=(t=u[v])[0],y=t[1]/2+kt/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,M=w*_,A=M>kt,k=d*x;if(Er.add(Math.atan2(k*w*Math.sin(M),g*b+k*Math.cos(M))),a+=A?_+w*Tt:_,A^f>=r^m>=r){var T=Ir(zr(h),zr(t));Rr(T);var S=Ir(i,T);Rr(S);var E=(A^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=A^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(a<-Mt||a<Mt&&Er<-Mt)^1&o}(u,g);s.length?(x||(o.polygonStart(),x=!0),Yr(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=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){c.point=f,l.lineStart()}function d(){c.point=h,l.lineEnd()}var g,v,m=Qr(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return c}}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]-Et-Mt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-Mt:Et-e[1])}var tn=Jr(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?kt:-kt,l=y(a-r);y(l-kt)<Mt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=kt&&(y(r-i)<Mt&&(r-=i*Mt),y(a-s)<Mt&&(a-=s*Mt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>Mt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Et,n.point(-kt,i),n.point(0,i),n.point(kt,i),n.point(kt,0),n.point(kt,-i),n.point(0,-i),n.point(-kt,-i),n.point(-kt,0),n.point(-kt,i);else if(y(t[0]-e[0])>Mt){var a=t[0]<e[0]?kt:-kt;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-kt,-kt/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=0,h=1,f=s.x-l,p=s.y-u;if(a=t-l,f||!(a>0)){if(a/=f,f<0){if(a<c)return;a<h&&(h=a)}else if(f>0){if(a>h)return;a>c&&(c=a)}if(a=r-l,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>c&&(c=a)}else if(f>0){if(a<c)return;a<h&&(h=a)}if(a=e-u,p||!(a>0)){if(a/=p,p<0){if(a<c)return;a<h&&(h=a)}else if(p>0){if(a>h)return;a>c&&(c=a)}if(a=n-u,p||!(a<0)){if(a/=p,p<0){if(a>h)return;a>c&&(c=a)}else if(p>0){if(a<c)return;a<h&&(h=a)}return c>0&&(i.a={x:l+c*f,y:u+c*p}),h<1&&(i.b={x:l+h*f,y:u+h*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var u,c,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,i),M={point:T,lineStart:function(){M.point=S,c&&c.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){u&&(S(f,p),d&&m&&_.rejoin(),u.push(_.buffer()));M.point=T,m&&l.lineEnd()},polygonStart:function(){l=_,u=[],c=[],x=!0},polygonEnd:function(){l=b,u=t.merge(u);var r=function(t){for(var e=0,r=c.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=c[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&Pt(u,a,t)>0&&++e:a[1]<=n&&Pt(u,a,t)<0&&--e,u=a;return 0!==e}([e,i]),n=x&&r,a=u.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),A(null,null,1,l),l.lineEnd()),a&&Yr(u,o,r,A,l),l.polygonEnd()),u=c=h=null}};function A(t,o,l,u){var c=0,h=0;if(null==t||(c=a(t,l))!==(h=a(o,l))||s(t,o)<0^l>0)do{u.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+l+4)%4)!==h);else u.point(o[0],o[1])}function k(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){k(t,e)&&l.point(t,e)}function S(t,e){var r=k(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(c&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(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,v=e,m=r}return M};function a(t,i){return y(t[0]-e)<Mt?i>0?0:3:y(t[0]-n)<Mt?i>0?2:1:y(t[1]-r)<Mt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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=kt/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*kt/180,r=t[1]*kt/180):[e/kt*180,r/kt*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Dt((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=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,i,a=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 u(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return u.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},u.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},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()}}},u.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),u):a.precision()},u.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),u.translate(a.translate())):a.scale()},u.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),c=+t[0],h=+t[1];return r=a.translate(t).clipExtent([[c-.455*e,h-.238*e],[c+.455*e,h+.238*e]]).stream(l).point,n=o.translate([c-.307*e,h+.201*e]).clipExtent([[c-.425*e+Mt,h+.12*e+Mt],[c-.214*e-Mt,h+.234*e-Mt]]).stream(l).point,i=s.translate([c-.205*e,h+.212*e]).clipExtent([[c-.214*e+Mt,h+.166*e+Mt],[c-.115*e-Mt,h+.234*e-Mt]]).stream(l).point,u},u.scale(1070)};var sn,ln,un,cn,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 i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<un&&(un=t);t>hn&&(hn=t);e<cn&&(cn=e);e>fn&&(fn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};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 mn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,Mr+=o*(e+n)/2,Ar+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,Mr+=o*(n+e)/2,Ar+=o,kr+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function Mn(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(e){return(n?function(e){var r,i,o,s,l,u,c,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(h,f,c,p,d,g,h=s[0],f=s[1],c=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=M}function w(t,e){x(r=t,e),i=h,o=f,s=p,l=d,u=g,v.point=x}function M(){a(h,f,c,p,d,g,i,o,r,s,l,u,n,e),v.lineEnd=b,b()}return v}:function(e){return kn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,u,c,h,f,p,d,g,v,m){var x=c-n,b=h-i,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,M=l+d,A=u+g,k=Math.sqrt(w*w+M*M+A*A),T=Math.asin(A/=k),S=y(y(A)-1)<Mt||y(o-f)<Mt?(o+f)/2:Math.atan2(M,w),E=t(S,T),C=E[0],L=E[1],z=C-n,P=L-i,I=b*z-x*P;(I*I/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+u*g<r)&&(a(n,i,o,s,l,u,C,L,S,w/=k,M/=k,A,v,m),m.point(C,L),a(C,L,S,w,M,A,c,h,f,p,d,g,v,m))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function An(t){this.stream=t}function kn(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 Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=Mn(function(t,e){return[(t=r(t,e))[0]*u+a,o-t[1]*u]}),u=150,c=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*u+a,o-t[1]*u]}function M(t){return(t=i.invert((t[0]-a)/u,(o-t[1])/u))&&[t[0]*Lt,t[1]*Lt]}function A(){i=Gr(n=zn(d,g,v),r);var t=r(f,p);return a=c-t[0]*u,o=h+t[1]*u,k()}function k(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=En(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>Mt;return Jr(i,function(t){var e,s,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var p,d=[h,f],g=i(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?kt:-kt),f):0;if(!e&&(u=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=Mt,d[1]+=Mt,g=i(d[0],d[1]))),g!==l)c=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=a(d,e,!0))||(c=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return c|(u&&l)<<1}}},On(t,6*Ct),r?[0,-t]:[-kt,t-kt]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Ir(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var u=e*o/l,c=-e*s/l,h=Ir(i,a),f=Or(i,u);Dr(f,Or(a,c));var p=h,d=Pr(f,p),g=Pr(p,p),v=d*d-g*(Pr(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Or(p,(-d-m)/g);if(Dr(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],M=t[1],A=r[1];w<_&&(b=_,_=w,w=b);var k=w-_,T=y(k-kt)<Mt;if(!T&&A<M&&(b=M,M=A,A=b),T||k<Mt?T?M+A>0^x[1]<(y(x[0]-_)<Mt?M:A):M<=x[1]&&x[1]<=A:k>kt^(_<=x[0]&&x[0]<=w)){var S=Or(p,(-d+m)/g);return Dr(S,f),[x,Fr(S)]}}}function o(e,n){var i=r?t:kt-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Ct),k()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,k()):_},w.scale=function(t){return arguments.length?(u=+t,A()):u},w.translate=function(t){return arguments.length?(c=+t[0],h=+t[1],A()):[c,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Ct,p=t[1]%360*Ct,A()):[f*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Ct,g=t[1]%360*Ct,v=t.length>2?t[2]%360*Ct:0,A()):[d*Lt,g*Lt,v*Lt]},t.rebind(w,l,\\\"precision\\\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&M,A()}}function En(t){return kn(t,function(e,r){t.point(e*Ct,r*Ct)})}function Cn(t,e){return[t,e]}function Ln(t,e){return[t>kt?t-Tt:t<-kt?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(In(t),Dn(e,r)):In(t):e||r?Dn(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>kt?e-Tt:e<-kt?e+Tt:e,r]}}function In(t){var e=Pn(t);return e.invert=Pn(-t),e}function Dn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*r+s*n;return[Math.atan2(l*i-c*a,s*r-u*n),Dt(c*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*i-l*a;return[Math.atan2(l*i+u*a,s*r+c*n),Dt(c*r-s*n)]},o}function On(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Fr([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function Rn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=It(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Mt)%(2*Math.PI)}function Fn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function Bn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Nn(t){return t.source}function jn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\\\"function\\\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=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=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,n(yn)),Sr?[kr/Sr,Tr/Sr]:Ar?[wr/Ar,Mr/Ar]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(un=cn=1/0),t.geo.stream(e,n(gn)),[[un,cn],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=Mn(function(t,e){return r([t*Lt,e*Lt])}),function(t){return En(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new function(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},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 i(t,n){e.push(\\\"M\\\",t,\\\",\\\",n),r.point=a}function a(t,r){e.push(\\\"L\\\",t,\\\",\\\",r)}function o(){r.point=n}function s(){e.push(\\\"Z\\\")}return r}:new function(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},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,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}(t),\\\"function\\\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new An(e);for(var n in t)r[n]=t[n];return r}}},An.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=Tn,t.geo.projectionMutator=Sn,(t.geo.equirectangular=function(){return Tn(Cn)}).raw=Cn.invert=Cn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e}return t=zn(t[0]%360*Ct,t[1]*Ct,t.length>2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=Cn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\\\"function\\\"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\\\"Polygon\\\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=On((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=On(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),u=Math.cos(i),c=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((r=h*o)*r+(r=u*c-l*h*s)*r),l*c+u*h*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,u,c,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:\\\"MultiLineString\\\",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>Mt}).map(u)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%v)>Mt}).map(c))}return x.lines=function(){return b().map(function(t){return{type:\\\"LineString\\\",coordinates:t}})},x.outline=function(){return{type:\\\"Polygon\\\",coordinates:[h(i).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?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(m)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,u=Fn(o,a,90),c=Bn(r,e,m),h=Fn(l,s,90),f=Bn(i,n,m),x):m},x.majorExtent([[-180,-90+Mt],[180,90-Mt]]).minorExtent([[-180,-80-Mt],[180,80+Mt]])},t.geo.greatArc=function(){var e,r,n=Nn,i=jn;function a(){return{type:\\\"LineString\\\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\\\"function\\\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\\\"function\\\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),u=Math.sin(a),c=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*c+e*f,i=r*h+e*p,a=r*s+e*u;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,v;var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v},t.geo.length=function(e){return mn=0,t.geo.stream(e,Vn),mn};var Vn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);mn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Un(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(kt/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Et+Mt&&(e=-Et+Mt):e>Et-Mt&&(e=Et-Mt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Et]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<Mt)return Cn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Tn(Hn)}).raw=Hn,(t.geo.conicConformal=function(){return an(Gn)}).raw=Gn,(t.geo.conicEquidistant=function(){return an(Wn)}).raw=Wn;var Yn=Un(function(t){return 1/t},Math.atan);function Xn(t,e){return[t,Math.log(Math.tan(kt/4+e/2))]}function Zn(t){var e,r=Tn(t),n=r.scale,i=r.translate,a=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=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=kt*n(),l=i();a([[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 Tn(Yn)}).raw=Yn,Xn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Zn(Xn)}).raw=Xn;var Jn=Un(function(){return 1},Math.asin);(t.geo.orthographic=function(){return Tn(Jn)}).raw=Jn;var Kn=Un(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function Qn(t,e){return[Math.log(Math.tan(kt/4+e/2)),-t]}function $n(t){return t[0]}function ti(t){return t[1]}function ei(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Zn(Qn),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=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ve(e),a=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ri),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var u=ei(s),c=ei(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],p=[];for(n=u.length-1;n>=0;--n)p.push(t[s[u[n]][2]]);for(n=+h;n<c.length-f;++n)p.push(t[s[c[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 U(t,ni),t};var ni=t.geom.polygon.prototype=[];function ii(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function ai(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],u=r[1],c=e[1]-l,h=n[1]-u,f=(s*(l-u)-h*(i-a))/(h*o-s*c);return[i+f*o,l+f*c]}function oi(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ni.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},ni.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},ni.clip=function(t){for(var e,r,n,i,a,o,s=oi(t),l=-1,u=this.length-oi(this),c=this[u-1];++l<u;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)ii(o=e[r],c,i)?(ii(a,c,i)||t.push(ai(a,o,c,i)),t.push(o)):ii(a,c,i)&&t.push(ai(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var si,li,ui,ci,hi,fi=[],pi=[];function di(t){var e=fi.pop()||new function(){Li(this),this.edge=this.site=this.circle=null};return e.site=t,e}function gi(t){Mi(t),ui.remove(t),fi.push(t),Li(t)}function vi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];gi(t);for(var l=a;l.circle&&y(r-l.circle.x)<Mt&&y(n-l.circle.cy)<Mt;)a=l.P,s.unshift(l),gi(l),l=a;s.unshift(l),Mi(l);for(var u=o;u.circle&&y(r-u.circle.x)<Mt&&y(n-u.circle.cy)<Mt;)o=u.N,s.push(u),gi(u),u=o;s.push(u),Mi(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],Si(u.edge,l.site,u.site,i);l=s[0],(u=s[h-1]).edge=Ti(l.site,u.site,null,i),wi(l),wi(u)}function mi(t){for(var e,r,n,i,a=t.x,o=t.y,s=ui._;s;)if((n=yi(s,o)-a)>Mt)s=s.L;else{if(!((i=a-xi(s,o))>Mt)){n>-Mt?(e=s.P,r=s):i>-Mt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ui.insert(e,l),e||r){if(e===r)return Mi(e),r=di(e.site),ui.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){Mi(e),Mi(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,p=t.y-h,d=r.site,g=d.x-c,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+c,y:(f*x-g*y)/m+h};Si(r.edge,u,d,b),l.edge=Ti(u,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,h=1/a-1/u,f=c/u;return h?(-f+Math.sqrt(f*f-2*h*(c*c/(-2*u)-l+u/2+i-a/2)))/h+n:(n+s)/2}function xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,h=2*(l*(v=a.y-s)-u*c);if(!(h>=-At)){var f=l*l+u*u,p=c*c+v*v,d=(v*f-u*p)/h,g=(l*p-c*f)/h,v=g+s,m=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};m.arc=t,m.site=i,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=hi._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}hi.insert(y,m),y||(ci=m)}}}}function Mi(t){var e=t.circle;e&&(e.P||(ci=e.N),hi.remove(e),pi.push(e),Li(e),t.circle=null)}function Ai(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],u=e[1][1],c=t.l,h=t.r,f=c.x,p=c.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(a){if(a.y>=u)return}else a={x:v,y:l};r={x:v,y:u}}else{if(a){if(a.y<l)return}else a={x:v,y:u};r={x:v,y:l}}}else if(i=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function ki(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ti(t,e,r,n){var i=new ki(t,e);return si.push(i),r&&Si(i,t,e,r),n&&Si(i,e,t,n),li[t.i].edges.push(new Ei(i,t,e)),li[e.i].edges.push(new Ei(i,e,t)),i}function Si(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 Ei(t,e,r){var n=t.a,i=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(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function Ci(){this._=null}function Li(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function zi(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Pi(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Ii(t){for(;t.L;)t=t.L;return t}function Di(t,e){var r,n,i,a=t.sort(Oi).pop();for(si=[],li=new Array(t.length),ui=new Ci,hi=new Ci;;)if(i=ci,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(li[a.i]=new bi(a),mi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;vi(i.arc)}e&&(function(t){for(var e,r=si,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ai(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<Mt&&y(e.a.y-e.b.y)<Mt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=li,v=g.length;v--;)if((a=g[v])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(c=s[o].end()).x,i=c.y,e=(u=s[++o%l].start()).x,r=u.y,(y(n-e)>Mt||y(i-r)>Mt)&&(s.splice(o,0,new Ei((m=a.site,x=c,b=y(n-h)<Mt&&d-i>Mt?{x:h,y:y(e-h)<Mt?r:d}:y(i-d)<Mt&&f-n>Mt?{x:y(r-d)<Mt?e:f,y:d}:y(n-f)<Mt&&i-p>Mt?{x:f,y:y(e-f)<Mt?r:p}:y(i-p)<Mt&&n-h>Mt?{x:y(r-p)<Mt?e:h,y:p}:null,_=void 0,_=new ki(m,null),_.a=x,_.b=b,si.push(_),_),a.site,null)),++l);var m,x,b,_}(e));var o={cells:li,edges:si};return ui=hi=si=li=null,o}function Oi(t,e){return e.y-t.y||e.x-t.x}bi.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(_i),e.length},Ei.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}},Ci.prototype={insert:function(t,e){var r,n,i;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=Ii(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?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(zi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Pi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Pi(this,r),r=(t=r).U),r.C=!1,n.C=!0,zi(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,i=t.U,a=t.L,o=t.R;if(r=a?o?Ii(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,zi(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Pi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,zi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Pi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,zi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Pi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=$n,r=ti,n=e,i=r,a=Ri;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Di(s(t),a).cells.forEach(function(a,s){var l=a.edges,u=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/Mt)*Mt,y:Math.round(i(t,e)/Mt)*Mt,i:e}})}return o.links=function(t){return Di(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 Di(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(_i),c=-1,h=u.length,f=u[h-1].edge,p=f.l===l?f.r:f.l;++c<h;)f,i=p,p=(f=u[c].edge).l===l?f.r:f.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(i=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Ri:t,o):a===Ri?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Ri?null:a&&a[1]},o};var Ri=[[-1e6,-1e6],[1e6,1e6]];function Fi(t){return t.x}function Bi(t){return t.y}function Ni(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\\\"#\\\"+ue(Math.round(n+o*t))+ue(Math.round(i+s*t))+ue(Math.round(a+l*t))}}function ji(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Gi(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function Vi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ui(t,e){var r,n,i,a=qi.lastIndex=Hi.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=qi.exec(t))&&(n=Hi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Vi(r,n)})),a=Hi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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,i){var a,o=$n,s=ti;if(a=arguments.length)return o=Fi,s=Bi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,u,c,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=i;else if(g=v=-(p=d=1/0),u=[],c=[],f=t.length,a)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>v&&(v=l.y),u.push(l.x),c.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),u.push(b),c.push(_)}var w=g-p,M=v-d;function A(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(y(l-r)+y(u-n)<.01)k(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,k(t,c,l,u,i,a,o,s),k(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else k(t,e,r,n,i,a,o,s)}function k(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,h=n>=u,f=h<<1|c;t.leaf=!1,t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}}),c?i=l:o=l,h?a=u:s=u,A(t,e,r,n,i,a,o,s)}w>M?v=d+w:g=p+M;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),u=r.nodes;u[0]&&t(e,u[0],n,i,s,l),u[1]&&t(e,u[1],s,i,a,l),u[2]&&t(e,u[2],n,l,s,o),u[3]&&t(e,u[3],s,l,a,o)}}(t,T,p,d,g,v)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,p){if(!(c>a||h>o||f<n||p<i)){if(d=u.point){var d,g=e-u.x,v=r-u.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=u.nodes,b=.5*(c+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,M=w+4;w<M;++w)if(u=x[3&w])switch(3&w){case 0:t(u,c,h,b,_);break;case 1:t(u,b,h,f,_);break;case 2:t(u,c,_,b,p);break;case 3:t(u,b,_,f,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)A(T,t[h],u[h],c[h],p,d,g,v);--h}else t.forEach(T.add);return u=c=t=l=null,T}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=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Ni,t.interpolateObject=ji,t.interpolateNumber=Vi,t.interpolateString=Ui;var qi=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,Hi=new RegExp(qi.source,\\\"g\\\");function Gi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Gi(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=Gi,t.interpolators=[function(t,e){var r=typeof e;return(\\\"string\\\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\\\(|hsl\\\\()/i.test(e)?Ni:Ui:e instanceof Vt?Ni:Array.isArray(e)?Wi:\\\"object\\\"===r&&isNaN(e)?ji:Vi)(t,e)}],t.interpolateArray=Wi;var Yi=function(){return z},Xi=t.map({linear:Yi,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Qi},cubic:function(){return $i},sin:function(){return ea},exp:function(){return ra},circle:function(){return na},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return ia}}),Zi=t.map({in:z,out:Ji,\\\"in-out\\\":Ki,\\\"out-in\\\":function(t){return Ki(Ji(t))}});function Ji(t){return function(e){return 1-t(1-e)}}function Ki(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Qi(t){return t*t}function $i(t){return t*t*t}function ta(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 ea(t){return 1-Math.cos(t*Et)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(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 aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function sa(t,e){return t[0]*e[0]+t[1]*e[1]}function la(t){var e=Math.sqrt(sa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\\\"-\\\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\\\"in\\\";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateRound=aa,t.transform=function(e){var r=i.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 oa(e?e.matrix:ua)})(e)},oa.prototype.toString=function(){return\\\"translate(\\\"+this.translate+\\\")rotate(\\\"+this.rotate+\\\")skewX(\\\"+this.skew+\\\")scale(\\\"+this.scale+\\\")\\\"};var ua={a:1,b:0,c:0,d:1,e:0,f:0};function ca(t){return t.length?t.pop()+\\\",\\\":\\\"\\\"}function ha(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\\\"translate(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\\\"translate(\\\"+e+\\\")\\\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ca(r)+\\\"rotate(\\\",null,\\\")\\\")-2,x:Vi(t,e)})):e&&r.push(ca(r)+\\\"rotate(\\\"+e+\\\")\\\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ca(r)+\\\"skewX(\\\",null,\\\")\\\")-2,x:Vi(t,e)}):e&&r.push(ca(r)+\\\"skewX(\\\"+e+\\\")\\\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ca(r)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ca(r)+\\\"scale(\\\"+e+\\\")\\\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\\\"\\\")}}function fa(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function pa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function da(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ga(t),n=ga(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function ga(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function va(t){t.fixed|=2}function ma(t){t.fixed&=-7}function ya(t){t.fixed|=4,t.px=t.x,t.py=t.y}function xa(t){t.fixed&=-5}t.interpolateTransform=ha,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(da(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},u=0;function c(){var l,c,f,p,d,g={},v=[],m=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(c=0,d=-1;++d<i;)c+=n[p][d];v.push(c),y.push(t.range(i)),l+=c}for(a&&m.sort(function(t,e){return a(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-u*i)/l,c=0,p=-1;++p<i;){for(f=c,d=-1;++d<i;){var x=m[p],b=y[x][d],_=n[x][b],w=c,M=c+=_*l;g[x+\\\"-\\\"+b]={index:x,subindex:b,startAngle:w,endAngle:M,value:_}}r[x]={index:x,startAngle:f,endAngle:c,value:v[x]},c+=u}for(p=-1;++p<i;)for(d=p-1;++d<i;){var A=g[p+\\\"-\\\"+d],k=g[d+\\\"-\\\"+p];(A.value||k.value)&&e.push(A.value<k.value?{source:k,target:A}:{source:A,target:k})}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?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(u=t,e=r=null,l):u},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},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||c(),e},l.groups=function(){return r||c(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch(\\\"start\\\",\\\"tick\\\",\\\"end\\\"),u=[1,1],c=.9,h=ba,f=_a,p=-30,d=wa,g=.1,v=.64,m=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/v<l){if(l<d){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<d){u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}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,v,b,_,w,M=m.length,A=y.length;for(s=0;s<A;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*a[s]*((v=Math.sqrt(v))-i[s])/v,w*=v,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)&&(_=u[0]/2,w=u[1]/2,s=-1,b))for(;++s<M;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,u=-1;++u<l;)null!=(o=s[u])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var c=r*n[e.point.index];e.charge+=e.pointCharge=c,i+=c*e.point.x,a+=c*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<M;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<M;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*c,h.y-=(h.py-(h.py=h.y))*c);l.tick({type:\\\"tick\\\",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(u=t,s):u},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?(c=+t,s):c},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?(v=t*t,s):Math.sqrt(v)},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=Ae(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,c=u[0],d=u[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)\\\"number\\\"==typeof(r=y[t]).source&&(r.source=m[r.source]),\\\"number\\\"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g(\\\"x\\\",c)),isNaN(r.y)&&(r.y=g(\\\"y\\\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\\\"function\\\"==typeof h)for(t=0;t<l;++t)i[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=h;if(a=[],\\\"function\\\"==typeof f)for(t=0;t<l;++t)a[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=f;if(o=[],\\\"function\\\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),u=0;u<n;++u)e[u]=[];for(u=0;u<l;++u){var a=y[u];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],u=-1,c=s.length;++u<c;)if(!isNaN(o=s[u][r]))return o;return Math.random()*i}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(z).on(\\\"dragstart.force\\\",va).on(\\\"drag.force\\\",b).on(\\\"dragend.force\\\",ma)),!arguments.length)return r;this.on(\\\"mouseover.force\\\",ya).on(\\\"mouseout.force\\\",xa).call(r)},t.rebind(s,l,\\\"on\\\")};var ba=20,_a=1,wa=1/0;function Ma(e,r){return t.rebind(e,r,\\\"sort\\\",\\\"children\\\",\\\"value\\\"),e.nodes=e,e.links=Ca,e}function Aa(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function ka(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function Ta(t){return t.children}function Sa(t){return t.value}function Ea(t,e){return e.value-t.value}function Ca(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=Ea,e=Ta,r=Sa;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=e.call(n,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return ka(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.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&&(Aa(t,function(t){t.children&&(t.value=0)}),ka(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 i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++u<o;)t(s=a[u],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Ma(n,e)},t.layout.pie=function(){var e=Number,r=La,n=0,i=Tt,a=0;function o(s){var l,u=s.length,c=s.map(function(t,r){return+e.call(o,t,r)}),h=+(\\\"function\\\"==typeof n?n.apply(this,arguments):n),f=(\\\"function\\\"==typeof i?i.apply(this,arguments):i)-h,p=Math.min(Math.abs(f)/u,+(\\\"function\\\"==typeof a?a.apply(this,arguments):a)),d=p*(f<0?-1:1),g=t.sum(c),v=g?(f-u*d)/g:0,m=t.range(u),y=[];return null!=r&&m.sort(r===La?function(t,e){return c[e]-c[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=c[t],startAngle:h,endAngle:h+=l*v+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?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var La={};function za(t){return t.x}function Pa(t){return t.y}function Ia(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=Ra,n=Fa,i=Ia,a=za,o=Pa;function s(l,u){if(!(p=l.length))return l;var c=l.map(function(t,r){return e.call(s,t,r)}),h=c.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,u);c=t.permute(c,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,u),y=c[0].length;for(g=0;g<y;++g)for(i.call(s,c[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)i.call(s,c[d][g],v+=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:Da.get(t)||Ra,s):r},s.offset=function(t){return arguments.length?(n=\\\"function\\\"==typeof t?t:Oa.get(t)||Fa,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Da=t.map({\\\"inside-out\\\":function(e){var r,n,i=e.length,a=e.map(Ba),o=e.map(Na),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,u=0,c=[],h=[];for(r=0;r<i;++r)n=s[r],l<u?(l+=o[n],c.push(n)):(u+=o[n],h.push(n));return h.reverse().concat(c)},reverse:function(e){return t.range(e.length).reverse()},default:Ra}),Oa=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,u,c=t.length,h=t[0],f=h.length,p=[];for(p[0]=l=u=0,r=1;r<f;++r){for(e=0,i=0;e<c;++e)i+=t[e][r][1];for(e=0,a=0,s=h[r][0]-h[r-1][0];e<c;++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;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)p[r]-=u;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Fa});function Ra(e){return t.range(e.length)}function Fa(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ba(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,h=1/0,f=-1/0;if(e.forEach(Za),(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(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a<l;a++){Ka(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ya(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ya(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Wa(r,n=o):Wa(r=s,n),a--):(Ga(r,i),n=i,x(i))}var v=(u+c)/2,m=(h+f)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=v,i.y-=m,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(Ja)}function x(t){u=Math.min(t.x-t.r,u),c=Math.max(t.x+t.r,c),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function Za(t){t._pack_next=t._pack_prev=t}function Ja(t){delete t._pack_next,delete t._pack_prev}function Ka(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+u*a,r.y=t.y+l*a-u*i}else r.x=t.x+n,r.y=t.y}function Qa(t,e){return t.parent==e.parent?1:2}function $a(t){var e=t.children;return e.length?e[0]:t.t}function to(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function eo(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 ro(t,e,r){return t.a.parent===e.parent?t.a:r}function no(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function io(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function ao(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function oo(t){return t.rangeExtent?t.rangeExtent():ao(t.range())}function so(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function lo(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function uo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:co}t.layout.histogram=function(){var e=!0,r=Number,n=qa,i=Va;function a(a,o){for(var s,l,u=[],c=a.map(r,this),h=n.call(this,c,o),f=i.call(this,h,c,o),p=(o=-1,c.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=u[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=c[o])>=h[0]&&l<=h[1]&&((s=u[t.bisect(f,l,1,d)-1]).y+=g,s.push(a[o]));return u}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=ve(t),a):n},a.bins=function(t){return arguments.length?(i=\\\"number\\\"==typeof t?function(e){return Ua(e,t)}:ve(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],u=i[1],c=null==e?Math.sqrt:\\\"function\\\"==typeof e?e:function(){return e};if(s.x=s.y=0,ka(s,function(t){t.r=+c(t.value)}),ka(s,Xa),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;ka(s,function(t){t.r+=h}),ka(s,Xa),ka(s,function(t){t.r-=h})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\\\"function\\\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Ma(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=null;function a(t,a){var u=e.call(this,t,a),c=u[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(c);if(ka(h,o),h.parent.m=-h.z,Aa(h,s),i)Aa(c,l);else{var f=c,p=c,d=c;Aa(c,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,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Aa(c,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return u}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],u=a.m,c=o.m,h=s.m,f=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+h-a.z-u+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),u+=i,c+=i),h+=s.m,u+=a.m,f+=l.m,c+=o.m;s&&!to(o)&&(o.t=s,o.m+=h-c),a&&!$a(l)&&(l.t=a,l.m+=u-f,n=t)}return n}(t,i,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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Ma(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),u=l[0],c=0;ka(u,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?c+=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}(u),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(u),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return ka(u,i?function(t){t.x=(t.x-u.x)*n[0],t.y=(u.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(u.y?t.y/u.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Ma(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l=\\\"squarify\\\",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).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,i,a=o(t),s=[],u=e.slice(),f=1/0,g=\\\"slice\\\"===l?a.dx:\\\"dice\\\"===l?a.dy:\\\"slice-dice\\\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(c(u,a.dx*a.dy/t.value),s.area=0;(i=u.length)>0;)s.push(r=u[i-1]),s.area+=r.area,\\\"squarify\\\"!==l||(n=p(s,g))<=f?(u.pop(),f=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,a,!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),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,u=r.y,c=e?n(t.area/e):0;if(e==r.dx){for((i||c>r.dy)&&(c=r.dy);++o<s;)(a=t[o]).x=l,a.y=u,a.dy=c,l+=a.dx=Math.min(r.x+r.dx-l,c?n(a.area/c):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=c,r.dy-=c}else{for((i||c>r.dx)&&(c=r.dx);++o<s;)(a=t[o]).x=l,a.y=u,a.dx=c,u+=a.dy=Math.min(r.y+r.dy-u,c?n(a.area/c):0);a.z=!1,a.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),c([a],a.dx*a.dy/a.value),(e?f:h)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return io(e,t)}var r;return o=null==(a=t)?no:\\\"function\\\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?no(e):io(e,\\\"number\\\"==typeof r?[r,r,r,r]:r)}:\\\"number\\\"===r?(t=[t,t,t,t],e):e,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?(u=t,g):u},g.mode=function(t){return arguments.length?(l=t+\\\"\\\",g):l},Ma(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,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},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 co={floor:z,ceil:z};function ho(e,r,n,i){var a=[],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;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function fo(e,r){return t.rebind(e,r,\\\"range\\\",\\\"rangeRound\\\",\\\"interpolate\\\",\\\"clamp\\\")}function po(t,e){return lo(t,uo(go(t,e)[2])),lo(t,uo(go(t,e)[2])),t}function go(t,e){null==e&&(e=10);var r=ao(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function vo(e,r){return t.range.apply(t,go(e,r))}function mo(e,r,n){var i=go(e,r);if(n){var a=Le.exec(n);if(a.shift(),\\\"s\\\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\\\".\\\"+xo(o.scale(i[2]))),a[8]=\\\"f\\\",n=t.format(a.join(\\\"\\\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\\\".\\\"+function(t,e){var r=xo(e[2]);return t in yo?Math.abs(r-xo(Math.max(y(e[0]),y(e[1]))))+ +(\\\"e\\\"!==t):r-2*(\\\"%\\\"===t)}(a[8],i)),n=a.join(\\\"\\\")}else n=\\\",.\\\"+xo(i[2])+\\\"f\\\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?ho:so,s=i?pa:fa;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}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(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return vo(e,t)};l.tickFormat=function(t,r){return mo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],u=Math.floor(o(r)),c=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(c-u)){if(i){for(;u<c;u++)for(var f=1;f<h;f++)e.push(s(u)*f);e.push(s(u))}else for(e.push(s(u));u++<c;)for(var f=h-1;f>0;f--)e.push(s(u)*f);for(u=0;e[u]<r;u++);for(c=e.length;e[c-1]>l;c--);e=e.slice(u,c)}return e};l.tickFormat=function(e,r){if(!arguments.length)return bo;arguments.length<2?r=bo:\\\"function\\\"!=typeof r&&(r=t.format(r));var i=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<=i?r(t):\\\"\\\"}};l.copy=function(){return e(r.copy(),n,i,a)};return fo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var bo=t.format(\\\".0e\\\"),_o={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function wo(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 i=wo(r),a=wo(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return vo(n,t)};o.tickFormat=function(t,e){return mo(n,t,e)};o.nice=function(t){return o.domain(po(n,t))};o.exponent=function(t){return arguments.length?(i=wo(r=t),a=wo(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return fo(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 i,a,o;function s(t){return a[((i.get(t)||(\\\"range\\\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\\\"range\\\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=(i+u)/2,0):(u-i)/(r.length-1+e);return a=l(i+c*e/2,c),o=0,n={t:\\\"rangePoints\\\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=u=Math.round((i+u)/2),0):(u-i)/(r.length-1+e)|0;return a=l(i+Math.round(c*e/2+(u-i-(r.length-1+e)*c)/2),c),o=0,n={t:\\\"rangeRoundPoints\\\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=(h-c)/(r.length-e+2*i);return a=l(c+f*i,f),u&&a.reverse(),o=f*(1-e),n={t:\\\"rangeBands\\\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=Math.floor((h-c)/(r.length-e+2*i));return a=l(c+Math.round((h-c-(r.length-e)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-e)),n={t:\\\"rangeRoundBands\\\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return ao(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\\\"range\\\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Mo)},t.scale.category20=function(){return t.scale.ordinal().range(Ao)},t.scale.category20b=function(){return t.scale.ordinal().range(ko)},t.scale.category20c=function(){return t.scale.ordinal().range(To)};var Mo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Ao=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),ko=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),To=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function So(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}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/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return vo(e,t)};r.tickFormat=function(t,r){return mo(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Co,e=Lo,r=So,n=Eo,i=zo,a=Po,o=Io;function s(){var s=Math.max(0,+t.apply(this,arguments)),u=Math.max(0,+e.apply(this,arguments)),c=i.apply(this,arguments)-Et,h=a.apply(this,arguments)-Et,f=Math.abs(h-c),p=c>h?0:1;if(u<s&&(d=u,u=s,s=d),f>=St)return l(u,p)+(s?l(s,1-p):\\\"\\\")+\\\"Z\\\";var d,g,v,m,y,x,b,_,w,M,A,k,T=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Eo?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Dt(v/u*Math.sin(m))),s&&(T=Dt(v/s*Math.sin(m)))),u){y=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(h-S),_=u*Math.sin(h-S);var C=Math.abs(h-c-2*S)<=kt?0:1;if(S&&Do(y,x,b,_)===p^C){var L=(c+h)/2;y=u*Math.cos(L),x=u*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-T),M=s*Math.sin(h-T),A=s*Math.cos(c+T),k=s*Math.sin(c+T);var z=Math.abs(c-h+2*T)<=kt?0:1;if(T&&Do(w,M,A,k)===1-p^z){var P=(c+h)/2;w=s*Math.cos(P),M=s*Math.sin(P),A=k=null}}else w=M=0;if(f>Mt&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){g=s<u^p?0:1;var I=d,D=d;if(f<kt){var O=null==A?[w,M]:null==b?[y,x]:ai([y,x],[A,k],[b,_],[w,M]),R=y-O[0],F=x-O[1],B=b-O[0],N=_-O[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(O[0]*O[0]+O[1]*O[1]);D=Math.min(d,(s-V)/(j-1)),I=Math.min(d,(u-V)/(j+1))}if(null!=b){var U=Oo(null==A?[w,M]:[A,k],[y,x],u,I,p),q=Oo([b,_],[w,M],u,I,p);d===I?E.push(\\\"M\\\",U[0],\\\"A\\\",I,\\\",\\\",I,\\\" 0 0,\\\",g,\\\" \\\",U[1],\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",1-p^Do(U[1][0],U[1][1],q[1][0],q[1][1]),\\\",\\\",p,\\\" \\\",q[1],\\\"A\\\",I,\\\",\\\",I,\\\" 0 0,\\\",g,\\\" \\\",q[0]):E.push(\\\"M\\\",U[0],\\\"A\\\",I,\\\",\\\",I,\\\" 0 1,\\\",g,\\\" \\\",q[0])}else E.push(\\\"M\\\",y,\\\",\\\",x);if(null!=A){var H=Oo([y,x],[A,k],s,-D,p),G=Oo([w,M],null==b?[y,x]:[b,_],s,-D,p);d===D?E.push(\\\"L\\\",G[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",G[1],\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",p^Do(G[1][0],G[1][1],H[1][0],H[1][1]),\\\",\\\",1-p,\\\" \\\",H[1],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",H[0]):E.push(\\\"L\\\",G[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",H[0])}else E.push(\\\"L\\\",w,\\\",\\\",M)}else E.push(\\\"M\\\",y,\\\",\\\",x),null!=b&&E.push(\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",C,\\\",\\\",p,\\\" \\\",b,\\\",\\\",_),E.push(\\\"L\\\",w,\\\",\\\",M),null!=A&&E.push(\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",z,\\\",\\\",1-p,\\\" \\\",A,\\\",\\\",k);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=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Eo?Eo:ve(t),s):n},s.startAngle=function(t){return arguments.length?(i=ve(t),s):i},s.endAngle=function(t){return arguments.length?(a=ve(t),s):a},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Eo=\\\"auto\\\";function Co(t){return t.innerRadius}function Lo(t){return t.outerRadius}function zo(t){return t.startAngle}function Po(t){return t.endAngle}function Io(t){return t&&t.padAngle}function Do(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Oo(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,h=t[1]+u,f=e[0]+l,p=e[1]+u,d=(c+f)/2,g=(h+p)/2,v=f-c,m=p-h,y=v*v+m*m,x=r-n,b=c*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,M=(-b*v-m*_)/y,A=(b*m+v*_)/y,k=(-b*v+m*_)/y,T=w-d,S=M-g,E=A-d,C=k-g;return T*T+S*S>E*E+C*C&&(w=A,M=k),[[w-l,M-u],[w*r/x,M*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Bo,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,h=a.length,f=ve(e),p=ve(r);function d(){l.push(\\\"M\\\",i(t(u),o))}for(;++c<h;)n.call(this,s=a[c],c)?u.push([+f.call(this,s,c),+p.call(this,s,c)]):u.length&&(d(),u=[]);return u.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?(a=\\\"function\\\"==typeof t?i=t:(i=Fo.get(t)||Bo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Ro(z)};var Fo=t.map({linear:Bo,\\\"linear-closed\\\":No,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];for(;++e<r;)i.push(\\\"H\\\",(n[0]+(n=t[e])[0])/2,\\\"V\\\",n[1]);r>1&&i.push(\\\"H\\\",n[0]);return i.join(\\\"\\\")},\\\"step-before\\\":jo,\\\"step-after\\\":Vo,basis:Ho,\\\"basis-open\\\":function(t){if(t.length<4)return Bo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+\\\",\\\"+Go(Xo,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Zo(r,a,o);return r.join(\\\"\\\")},\\\"basis-closed\\\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Go(Xo,o),\\\",\\\",Go(Xo,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Zo(e,o,s);return e.join(\\\"\\\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,u=-1;++u<=r;)n=t[u],i=u/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ho(t)},cardinal:function(t,e){return t.length<3?Bo(t):t[0]+Uo(t,qo(t,e))},\\\"cardinal-open\\\":function(t,e){return t.length<4?Bo(t):t[1]+Uo(t.slice(1,-1),qo(t,e))},\\\"cardinal-closed\\\":function(t,e){return t.length<3?No(t):t[0]+Uo((t.push(t[0]),t),qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Bo(t):t[0]+Uo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Jo(i,a);for(;++e<r;)n[e]=(o+(o=Jo(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=Jo(t[s],t[s+1]),y(e)<Mt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Bo(t){return t.length>1?t.join(\\\"L\\\"):t+\\\"Z\\\"}function No(t){return t.join(\\\"L\\\")+\\\"Z\\\"}function jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"V\\\",(n=t[e])[1],\\\"H\\\",n[0]);return i.join(\\\"\\\")}function Vo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n=t[e])[0],\\\"V\\\",n[1]);return i.join(\\\"\\\")}function Uo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Bo(t);var r=t.length!=e.length,n=\\\"\\\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\\\"Q\\\"+(a[0]-2*o[0]/3)+\\\",\\\"+(a[1]-2*o[1]/3)+\\\",\\\"+a[0]+\\\",\\\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\\\"C\\\"+(i[0]+o[0])+\\\",\\\"+(i[1]+o[1])+\\\",\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1];for(var u=2;u<e.length;u++,l++)a=t[l],s=e[u],n+=\\\"S\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1]}if(r){var c=t[l];n+=\\\"Q\\\"+(a[0]+2*s[0]/3)+\\\",\\\"+(a[1]+2*s[1]/3)+\\\",\\\"+c[0]+\\\",\\\"+c[1]}return n}function qo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ho(t){if(t.length<3)return Bo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\\\",\\\",a,\\\"L\\\",Go(Xo,o),\\\",\\\",Go(Xo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Zo(l,o,s);return t.pop(),l.push(\\\"L\\\",n),l.join(\\\"\\\")}function Go(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Fo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Wo=[0,2/3,1/3,0],Yo=[0,1/3,2/3,0],Xo=[0,1/6,2/3,1/6];function Zo(t,e,r){t.push(\\\"C\\\",Go(Wo,e),\\\",\\\",Go(Wo,r),\\\",\\\",Go(Yo,e),\\\",\\\",Go(Yo,r),\\\",\\\",Go(Xo,e),\\\",\\\",Go(Xo,r))}function Jo(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ko(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Qo(t){var e=$n,r=$n,n=0,i=ti,a=Wr,o=Bo,s=o.key,l=o,u=\\\"L\\\",c=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===i?function(){return p}:ve(i);function M(){d.push(\\\"M\\\",o(t(v),c),u,l(t(g.reverse()),c),\\\"Z\\\")}for(;++m<y;)a.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(M(),g=[],v=[]);return g.length&&M(),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=i=t,h):i},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(i=t,h):i},h.defined=function(t){return arguments.length?(a=t,h):a},h.interpolate=function(t){return arguments.length?(s=\\\"function\\\"==typeof t?o=t:(o=Fo.get(t)||Bo).key,l=o.reverse||o,u=o.closed?\\\"M\\\":\\\"L\\\",h):s},h.tension=function(t){return arguments.length?(c=t,h):c},h}function $o(t){return t.radius}function ts(t){return[t.x,t.y]}function es(){return 64}function rs(){return\\\"circle\\\"}function ns(t){var e=Math.sqrt(t/kt);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=Ro(Ko);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},jo.reverse=Vo,Vo.reverse=jo,t.svg.area=function(){return Qo(z)},t.svg.area.radial=function(){var t=Qo(Ko);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=Nn,e=jn,r=$o,n=zo,i=Po;function a(r,n){var i,a,u=o(this,t,r,n),c=o(this,e,r,n);return\\\"M\\\"+u.p0+s(u.r,u.p1,u.a1-u.a0)+(a=c,(i=u).a0==a.a0&&i.a1==a.a1?l(u.r,u.p1,u.r,u.p0):l(u.r,u.p1,c.r,c.p0)+s(c.r,c.p1,c.a1-c.a0)+l(c.r,c.p1,u.r,u.p0))+\\\"Z\\\"}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),u=n.call(t,s,o)-Et,c=i.call(t,s,o)-Et;return{r:l,a0:u,a1:c,p0:[l*Math.cos(u),l*Math.sin(u)],p1:[l*Math.cos(c),l*Math.sin(c)]}}function s(t,e,r){return\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 \\\"+ +(r>kt)+\\\",1 \\\"+e}function l(t,e,r,n){return\\\"Q 0,0 \\\"+n}return a.radius=function(t){return arguments.length?(r=ve(t),a):r},a.source=function(e){return arguments.length?(t=ve(e),a):t},a.target=function(t){return arguments.length?(e=ve(t),a):e},a.startAngle=function(t){return arguments.length?(n=ve(t),a):n},a.endAngle=function(t){return arguments.length?(i=ve(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.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=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(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=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var is=t.map({circle:ns,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*os)),r=e*os;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/as),r=e*as/2;return\\\"M0,\\\"+r+\\\"L\\\"+e+\\\",\\\"+-r+\\\" \\\"+-e+\\\",\\\"+-r+\\\"Z\\\"},\\\"triangle-up\\\":function(t){var e=Math.sqrt(t/as),r=e*as/2;return\\\"M0,\\\"+-r+\\\"L\\\"+e+\\\",\\\"+r+\\\" \\\"+-e+\\\",\\\"+r+\\\"Z\\\"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Ct);Y.transition=function(t){for(var e,r,n=cs||++ps,i=vs(t),a=[],o=hs||{time:Date.now(),ease:ta,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(r=u[c])&&ms(r,c,i,n,o),e.push(r)}return us(a,i,n)},Y.interrupt=function(t){return this.each(null==t?ss:ls(vs(t)))};var ss=ls(vs());function ls(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 us(t,e,r){return U(t,fs),t.namespace=e,t.id=r,t}var cs,hs,fs=[],ps=0;function ds(t,e,r,n){var i=t.id,a=t.namespace;return ct(t,\\\"function\\\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function gs(t){return null==t&&(t=\\\"\\\"),function(){this.textContent=t}}function vs(t){return null==t?\\\"__transition__\\\":\\\"__transition_\\\"+t+\\\"__\\\"}function ms(t,e,r,n,i){var a,o,s,l,u,c=t[r]||(t[r]={active:0,count:0}),h=c[n];function f(r){var i=c.active,f=c[i];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--c.count,delete c[i],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),c)if(+d<n){var g=c[d];g.timer.c=null,g.timer.t=NaN,--c.count,delete c[d]}o.c=p,Ae(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),c.active=n,h.event&&h.event.start.call(t,t.__data__,e),u=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&u.push(n)}),l=h.ease,s=h.duration}function p(i){for(var a=i/s,o=l(a),f=u.length;f>0;)u[--f].call(t,o);if(a>=1)return h.event&&h.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}h||(a=i.time,o=Ae(function(t){var e=h.delay;if(o.t=e+a,e<=t)return f(t-e);o.c=f},0,a),h=c[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}fs.call=Y.call,fs.empty=Y.empty,fs.node=Y.node,fs.size=Y.size,t.transition=function(e,r){return e&&e.transition?cs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=fs,fs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(n=u[c])&&(r=t.call(n,n.__data__,c,s))?(\\\"__data__\\\"in n&&(r.__data__=n.__data__),ms(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return us(o,a,i)},fs.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,p=h.length;++f<p;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&ms(i,d,s,o,a),e.push(i)}return us(l,s,o)},fs.filter=function(t){var e,r,n=[];\\\"function\\\"!=typeof t&&(t=ut(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return us(n,this.namespace,this.id)},fs.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ct(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},fs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\\\"transform\\\"==e?ha:Gi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ds(this,\\\"attr.\\\"+e,r,i.local?function(t){return null==t?o:(t+=\\\"\\\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\\\"\\\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},fs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\\\"attr.\\\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},fs.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 i(){this.style.removeProperty(t)}return ds(this,\\\"style.\\\"+t,e,function(e){return null==e?i:(e+=\\\"\\\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Gi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},fs.styleTween=function(t,e,r){return arguments.length<3&&(r=\\\"\\\"),this.tween(\\\"style.\\\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},fs.text=function(t){return ds(this,\\\"text\\\",t,gs)},fs.remove=function(){var t=this.namespace;return this.each(\\\"end.transition\\\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},fs.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)),ct(this,function(t){t[n][r].ease=e}))},fs.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ct(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},fs.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ct(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},fs.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=hs,o=cs;try{cs=n,ct(this,function(t,r,a){hs=t[i][n],e.call(t,t.__data__,r,a)})}finally{hs=a,cs=o}}else ct(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\\\"start\\\",\\\"end\\\",\\\"interrupt\\\"))).on(e,r)});return this},fs.transition=function(){for(var t,e,r,n=this.id,i=++ps,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var u,c=0,h=(u=this[s]).length;c<h;c++)(e=u[c])&&ms(e,c,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return us(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ys,a=6,o=6,s=3,l=[10],u=null;function c(n){n.each(function(){var n,c=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==u?f.ticks?f.ticks.apply(f,l):f.domain():u,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):z:e,g=c.selectAll(\\\".tick\\\").data(p,f),v=g.enter().insert(\\\"g\\\",\\\".domain\\\").attr(\\\"class\\\",\\\"tick\\\").style(\\\"opacity\\\",Mt),m=t.transition(g.exit()).style(\\\"opacity\\\",Mt).remove(),y=t.transition(g.order()).style(\\\"opacity\\\",1),x=Math.max(a,0)+s,b=oo(f),_=c.selectAll(\\\".domain\\\").data([0]),w=(_.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"domain\\\"),t.transition(_));v.append(\\\"line\\\"),v.append(\\\"text\\\");var M,A,k,T,S=v.select(\\\"line\\\"),E=y.select(\\\"line\\\"),C=g.select(\\\"text\\\").text(d),L=v.select(\\\"text\\\"),P=y.select(\\\"text\\\"),I=\\\"top\\\"===i||\\\"left\\\"===i?-1:1;if(\\\"bottom\\\"===i||\\\"top\\\"===i?(n=bs,M=\\\"x\\\",k=\\\"y\\\",A=\\\"x2\\\",T=\\\"y2\\\",C.attr(\\\"dy\\\",I<0?\\\"0em\\\":\\\".71em\\\").style(\\\"text-anchor\\\",\\\"middle\\\"),w.attr(\\\"d\\\",\\\"M\\\"+b[0]+\\\",\\\"+I*o+\\\"V0H\\\"+b[1]+\\\"V\\\"+I*o)):(n=_s,M=\\\"y\\\",k=\\\"x\\\",A=\\\"y2\\\",T=\\\"x2\\\",C.attr(\\\"dy\\\",\\\".32em\\\").style(\\\"text-anchor\\\",I<0?\\\"end\\\":\\\"start\\\"),w.attr(\\\"d\\\",\\\"M\\\"+I*o+\\\",\\\"+b[0]+\\\"H0V\\\"+b[1]+\\\"H\\\"+I*o)),S.attr(T,I*a),L.attr(k,I*x),E.attr(A,0).attr(T,I*a),P.attr(M,0).attr(k,I*x),f.rangeBand){var D=f,O=D.rangeBand()/2;h=f=function(t){return D(t)+O}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return c.scale=function(t){return arguments.length?(r=t,c):r},c.orient=function(t){return arguments.length?(i=t in xs?t+\\\"\\\":ys,c):i},c.ticks=function(){return arguments.length?(l=n(arguments),c):l},c.tickValues=function(t){return arguments.length?(u=t,c):u},c.tickFormat=function(t){return arguments.length?(e=t,c):e},c.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],c):a},c.innerTickSize=function(t){return arguments.length?(a=+t,c):a},c.outerTickSize=function(t){return arguments.length?(o=+t,c):o},c.tickPadding=function(t){return arguments.length?(s=+t,c):s},c.tickSubdivide=function(){return arguments.length&&c},c};var ys=\\\"bottom\\\",xs={top:1,right:1,bottom:1,left:1};function bs(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(\\\"+(isFinite(n)?n:r(t))+\\\",0)\\\"})}function _s(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=j(f,\\\"brushstart\\\",\\\"brush\\\",\\\"brushend\\\"),i=null,a=null,s=[0,0],l=[0,0],u=!0,c=!0,h=Ms[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\\\",v).on(\\\"touchstart.brush\\\",v),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,z);n.exit().remove(),n.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"resize \\\"+t}).style(\\\"cursor\\\",function(t){return ws[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);i&&(o=oo(i),l.attr(\\\"x\\\",o[0]).attr(\\\"width\\\",o[1]-o[0]),d(s)),a&&(o=oo(a),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 v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,M=!/^(e|w)$/.test(_)&&a,A=y.classed(\\\"extent\\\"),k=xt(m),T=t.mouse(m),S=t.select(o(m)).on(\\\"keydown.brush\\\",function(){32==t.event.keyCode&&(A||(h=null,T[0]-=s[1],T[1]-=l[1],A=2),B())}).on(\\\"keyup.brush\\\",function(){32==t.event.keyCode&&2==A&&(T[0]+=s[1],T[1]+=l[1],A=0,B())});if(t.event.changedTouches?S.on(\\\"touchmove.brush\\\",L).on(\\\"touchend.brush\\\",P):S.on(\\\"mousemove.brush\\\",L).on(\\\"mouseup.brush\\\",P),b.interrupt().selectAll(\\\"*\\\").interrupt(),A)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);v=[s[1-E]-T[0],l[1-C]-T[1]],T[0]=s[E],T[1]=l[C]}else t.event.altKey&&(h=T.slice());function L(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),A||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<h[0])],T[1]=l[+(e[1]<h[1])]):h=null),w&&z(e,i,0)&&(d(b),r=!0),M&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\\\"brush\\\",mode:A?\\\"move\\\":\\\"resize\\\"}))}function z(t,n,i){var a,o,f=oo(n),p=f[0],d=f[1],g=T[i],v=i?l:s,m=v[1]-v[0];if(A&&(p-=g,d-=m+g),a=(i?c:u)?Math.max(p,Math.min(d,t[i])):t[i],A?o=(a+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[i]-a))),g<a?(o=a,a=g):o=g),v[0]!=a||v[1]!=o)return i?r=null:e=null,v[0]=a,v[1]=o,!0}function P(){L(),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),k(),x({type:\\\"brushend\\\"})}b.style(\\\"pointer-events\\\",\\\"none\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",null),t.select(\\\"body\\\").style(\\\"cursor\\\",y.style(\\\"cursor\\\")),x({type:\\\"brushstart\\\"}),L()}return f.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,cs?t.select(this).transition().each(\\\"start.brush\\\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\\\"brushstart\\\"})}).tween(\\\"brush:brush\\\",function(){var t=Wi(s,a.x),n=Wi(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\\\"brush\\\",mode:\\\"resize\\\"})}}).each(\\\"end.brush\\\",function(){e=a.i,r=a.j,i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"})}):(i({type:\\\"brushstart\\\"}),i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"}))})},f.x=function(t){return arguments.length?(h=Ms[!(i=t)<<1|!a],f):i},f.y=function(t){return arguments.length?(h=Ms[!i<<1|!(a=t)],f):a},f.clamp=function(t){return arguments.length?(i&&a?(u=!!t[0],c=!!t[1]):i?u=!!t:a&&(c=!!t),f):i&&a?[u,c]:i?u:a?c:null},f.extent=function(t){var n,o,u,c,h;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),a&&(u=t[0],c=t[1],i&&(u=u[1],c=c[1]),r=[u,c],a.invert&&(u=a(u),c=a(c)),c<u&&(h=u,u=c,c=h),u==l[0]&&c==l[1]||(l=[u,c])),f):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(h=n,n=o,o=h))),a&&(r?(u=r[0],c=r[1]):(u=l[0],c=l[1],a.invert&&(u=a.invert(u),c=a.invert(c)),c<u&&(h=u,u=c,c=h))),i&&a?[[n,u],[o,c]]:i?[n,o]:a&&[u,c])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(f,n,\\\"on\\\")};var ws={n:\\\"ns-resize\\\",e:\\\"ew-resize\\\",s:\\\"ns-resize\\\",w:\\\"ew-resize\\\",nw:\\\"nwse-resize\\\",ne:\\\"nesw-resize\\\",se:\\\"nwse-resize\\\",sw:\\\"nesw-resize\\\"},Ms=[[\\\"n\\\",\\\"e\\\",\\\"s\\\",\\\"w\\\",\\\"nw\\\",\\\"ne\\\",\\\"se\\\",\\\"sw\\\"],[\\\"e\\\",\\\"w\\\"],[\\\"n\\\",\\\"s\\\"],[]],As=Ie.format=sr.timeFormat,ks=As.utc,Ts=ks(\\\"%Y-%m-%dT%H:%M:%S.%LZ\\\");function Ss(t){return t.toISOString()}function Es(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Ls,i);return a==Ls.length?[r.year,go(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Ls[a-1]<Ls[a]/i?a-1:a]:[Is,go(e,n)[2]]}return i.invert=function(t){return Cs(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Cs)},i.nice=function(t,e){var r=i.domain(),n=ao(r),o=null==t?a(n,10):\\\"number\\\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Cs(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(lo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Cs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Cs(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):\\\"number\\\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Cs(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Es(e.copy(),r,n)},fo(i,e)}function Cs(t){return new Date(t)}As.iso=Date.prototype.toISOString&&+new Date(\\\"2000-01-01T00:00:00.000Z\\\")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,Ie.second=Fe(function(t){return new De(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=Fe(function(t){return new De(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=Fe(function(t){var e=t.getTimezoneOffset()/60;return new De(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=Fe(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 Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[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]],Ps=As.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\\\",Wr]]),Is={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Cs)},floor:z,ceil:z};zs.year=Ie.year,Ie.scale=function(){return Es(t.scale.linear(),zs,Ps)};var Ds=zs.map(function(t){return[t[0].utc,t[1]]}),Os=ks.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\\\",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Fs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Ds.year=Ie.year.utc,Ie.scale.utc=function(){return Es(t.scale.linear(),Ds,Os)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\\\"application/json\\\",Rs,e)},t.html=function(t,e){return ye(t,\\\"text/html\\\",Fs,e)},t.xml=me(function(t){return t.responseXML}),e.exports?e.exports=t:this.d3=t}(),e=e.exports;var r=function(t){var e=typeof t;if(\\\"string\\\"===e){var r=t;if(0===(t=+t)&&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}(r))return!1}else if(\\\"number\\\"!==e)return!1;return t-t<1},n={},i=Math.PI;n.deg2rad=function(t){return t/180*i},n.rad2deg=function(t){return t/i*180},n.wrap360=function(t){var e=t%360;return e<0?e+360:e},n.wrap180=function(t){return Math.abs(t)>180&&(t-=360*Math.round(t/360)),t};var a=t.BADNUM,o=/^['\\\"%,$#\\\\s']+|[, ]|['\\\"%,$#\\\\s']+$/g,s={exports:{}};!function(t){var e=/^\\\\s+/,r=/\\\\s+$/,n=0,i=t.round,a=t.min,o=t.max,l=t.random;function u(s,l){if(s=s||\\\"\\\",l=l||{},s instanceof u)return s;if(!(this instanceof u))return new u(s,l);var c=function(n){var i={r:0,g:0,b:0},s=1,l=null,u=null,c=null,h=!1,f=!1;\\\"string\\\"==typeof n&&(n=function(t){t=t.replace(e,\\\"\\\").replace(r,\\\"\\\").toLowerCase();var n,i=!1;if(S[t])t=S[t],i=!0;else if(\\\"transparent\\\"==t)return{r:0,g:0,b:0,a:0,format:\\\"name\\\"};if(n=j.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=j.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=j.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=j.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=j.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=j.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=j.hex8.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),a:R(n[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(n=j.hex6.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),format:i?\\\"name\\\":\\\"hex\\\"};if(n=j.hex4.exec(t))return{r:P(n[1]+\\\"\\\"+n[1]),g:P(n[2]+\\\"\\\"+n[2]),b:P(n[3]+\\\"\\\"+n[3]),a:R(n[4]+\\\"\\\"+n[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(n=j.hex3.exec(t))return{r:P(n[1]+\\\"\\\"+n[1]),g:P(n[2]+\\\"\\\"+n[2]),b:P(n[3]+\\\"\\\"+n[3]),format:i?\\\"name\\\":\\\"hex\\\"};return!1}(n));\\\"object\\\"==typeof n&&(V(n.r)&&V(n.g)&&V(n.b)?(p=n.r,d=n.g,g=n.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},h=!0,f=\\\"%\\\"===String(n.r).substr(-1)?\\\"prgb\\\":\\\"rgb\\\"):V(n.h)&&V(n.s)&&V(n.v)?(l=D(n.s),u=D(n.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),u=i%6;return{r:255*[n,s,o,o,l,n][u],g:255*[l,n,n,s,o,o][u],b:255*[o,o,l,n,n,s][u]}}(n.h,l,u),h=!0,f=\\\"hsv\\\"):V(n.h)&&V(n.s)&&V(n.l)&&(l=D(n.s),c=D(n.l),i=function(t,e,r){var n,i,a;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=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(n.h,l,c),h=!0,f=\\\"hsl\\\"),n.hasOwnProperty(\\\"a\\\")&&(s=n.a));var p,d,g;return s=C(s),{ok:h,format:n.format||f,r:a(255,o(i.r,0)),g:a(255,o(i.g,0)),b:a(255,o(i.b,0)),a:s}}(s);this._originalInput=s,this._r=c.r,this._g=c.g,this._b=c.b,this._a=c.a,this._roundA=i(100*this._a)/100,this._format=l.format||c.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=c.ok,this._tc_id=n++}function c(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=(s+l)/2;if(s==l)n=i=0;else{var c=s-l;switch(i=u>.5?c/(2-s-l):c/(s+l),s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,l:u}}function h(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=s,c=s-l;if(i=0===s?0:c/s,s==l)n=0;else{switch(s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,v:u}}function f(t,e,r,n){var a=[I(i(t).toString(16)),I(i(e).toString(16)),I(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[I(O(n)),I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16))].join(\\\"\\\")}function d(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s-=e/100,r.s=z(r.s),u(r)}function g(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s+=e/100,r.s=z(r.s),u(r)}function v(t){return u(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l+=e/100,r.l=z(r.l),u(r)}function y(t,e){e=0===e?0:e||10;var r=u(t).toRgb();return r.r=o(0,a(255,r.r-i(-e/100*255))),r.g=o(0,a(255,r.g-i(-e/100*255))),r.b=o(0,a(255,r.b-i(-e/100*255))),u(r)}function x(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l-=e/100,r.l=z(r.l),u(r)}function b(t,e){var r=u(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,u(r)}function _(t){var e=u(t).toHsl();return e.h=(e.h+180)%360,u(e)}function w(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+120)%360,s:e.s,l:e.l}),u({h:(r+240)%360,s:e.s,l:e.l})]}function M(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+90)%360,s:e.s,l:e.l}),u({h:(r+180)%360,s:e.s,l:e.l}),u({h:(r+270)%360,s:e.s,l:e.l})]}function A(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+72)%360,s:e.s,l:e.l}),u({h:(r+216)%360,s:e.s,l:e.l})]}function k(t,e,r){e=e||6,r=r||30;var n=u(t).toHsl(),i=360/r,a=[u(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(u(n));return a}function T(t,e){e=e||6;for(var r=u(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(u({h:n,s:i,v:a})),a=(a+s)%1;return o}u.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,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.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=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(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=[I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16)),I(O(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 i=u(t);r=\\\"#\\\"+p(i._r,i._g,i._b,i._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 u(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(m,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(v,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(k,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(A,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},u.fromRatio=function(t,e){if(\\\"object\\\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\\\"a\\\"===n?t[n]:D(t[n]));t=r}return u(t,e)},u.equals=function(t,e){return!(!t||!e)&&u(t).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:l(),g:l(),b:l()})},u.mix=function(t,e,r){r=0===r?0:r||50;var n=u(t).toRgb(),i=u(e).toRgb(),a=r/100;return u({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},u.readability=function(e,r){var n=u(e),i=u(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},u.isReadable=function(t,e,r){var n,i,a=u.readability(t,e);switch(i=!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\\\":i=a>=4.5;break;case\\\"AAlarge\\\":i=a>=3;break;case\\\"AAAsmall\\\":i=a>=7}return i},u.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;c<e.length;c++)(n=u.readability(t,e[c]))>l&&(l=n,s=u(e[c]));return u.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,u.mostReadable(t,[\\\"#fff\\\",\\\"#000\\\"],r))};var S=u.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=u.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=a(r,o(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return a(1,o(0,t))}function P(t){return parseInt(t,16)}function I(t){return 1==t.length?\\\"0\\\"+t:\\\"\\\"+t}function D(t){return t<=1&&(t=100*t+\\\"%\\\"),t}function O(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(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)}s.exports?s.exports=u:window.tinycolor=u}(Math),s=s.exports;var l={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)\\\"]]},u=l.RdBu,c=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||!s(n[1]).isValid())return!1;e=+n[0]}return!0},h=function(t,e){if(e||(e=u),!t)return e;function r(){try{t=l[t]||JSON.parse(t)}catch(r){t=e}}return\\\"string\\\"==typeof t&&(r(),\\\"string\\\"==typeof t&&r()),c(t)?t:e},f={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2},p={},d=\\\"undefined\\\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},g=\\\"undefined\\\"==typeof DataView?function(){}:DataView;p.isTypedArray=function(t){return d.isView(t)&&!(t instanceof g)},p.isArrayOrTypedArray=function(t){return Array.isArray(t)||p.isTypedArray(t)};var v=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},m={},y=Array.isArray;function x(t,e,r,n){var i,a,o,s,l,u,c=t[0],h=t.length;if(2===h&&y(c)&&y(t[1])&&0===c.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],c))return c;c.splice(0,c.length)}for(var f=1;f<h;f++)for(a in i=t[f])o=c[a],s=i[a],n&&y(s)?c[a]=s:e&&s&&(v(s)||(l=y(s)))?(l?(l=!1,u=o&&y(o)?o:[]):u=o&&v(o)?o:{},c[a]=x([u,s],e,r,n)):(void 0!==s||r)&&(c[a]=s);return c}m.extendFlat=function(){return x(arguments,!1,!1,!1)},m.extendDeep=function(){return x(arguments,!0,!1,!1)},m.extendDeepAll=function(){return x(arguments,!0,!0,!1)},m.extendDeepNoArrays=function(){return x(arguments,!0,!1,!0)};var b={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\\\"reset+autosize\\\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\\\"Edit chart\\\",showSources:!1,displayModeBar:\\\"hover\\\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:\\\"transparent\\\",topojsonURL:\\\"https://cdn.plot.ly/\\\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\\\"en-US\\\",locales:{}},_={},w=_={};function M(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}w.log=function(){if(b.logging>1){for(var t=[\\\"LOG:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.warn=function(){if(b.logging>0){for(var t=[\\\"WARN:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.error=function(){if(b.logging>0){for(var t=[\\\"ERROR:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.error,t)}};var A=function(){},k=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t},T=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},S={hoverlabel:{bgcolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},bordercolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},font:T({arrayOk:!0,editType:\\\"none\\\"}),namelength:{valType:\\\"integer\\\",min:-1,arrayOk:!0,editType:\\\"none\\\"},editType:\\\"calc\\\"}},E={type:{valType:\\\"enumerated\\\",values:[],dflt:\\\"scatter\\\",editType:\\\"calc+clearAxisTypes\\\"},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\\\",dflt:\\\"\\\",editType:\\\"calc\\\"},ids:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},customdata:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},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:S.hoverlabel,stream:{token:{valType:\\\"string\\\",noBlank:!0,strict:!0,editType:\\\"calc\\\"},maxpoints:{valType:\\\"number\\\",min:0,max:1e4,dflt:500,editType:\\\"calc\\\"},editType:\\\"calc\\\"}},C={defaults:[\\\"#1f77b4\\\",\\\"#ff7f0e\\\",\\\"#2ca02c\\\",\\\"#d62728\\\",\\\"#9467bd\\\",\\\"#8c564b\\\",\\\"#e377c2\\\",\\\"#7f7f7f\\\",\\\"#bcbd22\\\",\\\"#17becf\\\"],defaultLine:\\\"#444\\\",lightLine:\\\"#eee\\\",background:\\\"#fff\\\",borderLine:\\\"#BEC8D9\\\",lightFraction:1e3/11},L=T({editType:\\\"calc\\\"});L.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',L.size.dflt=12,L.color.dflt=C.defaultLine;var z={font:L,title:{valType:\\\"string\\\",editType:\\\"layoutstyle\\\"},titlefont:T({editType:\\\"layoutstyle\\\"}),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:C.background,editType:\\\"plot\\\"},plot_bgcolor:{valType:\\\"color\\\",dflt:C.background,editType:\\\"layoutstyle\\\"},separators:{valType:\\\"string\\\",editType:\\\"plot\\\"},hidesources:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"plot\\\"},showlegend:{valType:\\\"boolean\\\",editType:\\\"legend\\\"},colorway:{valType:\\\"colorlist\\\",dflt:C.defaults,editType:\\\"calc\\\"},datarevision:{valType:\\\"any\\\",editType:\\\"calc\\\"}},P={},I=m.extendFlat,D=m.extendDeepAll;function O(t){var e=t.name,r=t.categories,n=t.meta;if(P.modules[e])_.log(\\\"Type \\\"+e+\\\" already registered\\\");else{P.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(P.subplotsRegistry[e])return void _.log(\\\"Plot type \\\"+e+\\\" already registered.\\\");for(var r in N(t),P.subplotsRegistry[e]=t,P.componentsRegistry)U(r,t.name)}(t.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,P.allCategories[r[a]]=!0;for(var o in P.modules[e]={_module:t,categories:i},n&&Object.keys(n).length&&(P.modules[e].meta=n),P.allTypes.push(e),P.componentsRegistry)j(o,e);t.layoutAttributes&&I(P.traceLayoutAttributes,t.layoutAttributes)}}function R(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Component module *name* must be a string.\\\");var e=t.name;for(var r in P.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&k(P.layoutArrayContainers,e),N(t)),P.modules)j(e,r);for(var n in P.subplotsRegistry)U(e,n);for(var i in P.transformsRegistry)V(e,i);t.schema&&t.schema.layout&&D(z,t.schema.layout)}function F(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Transform module *name* must be a string.\\\");var e=\\\"Transform module \\\"+t.name,r=\\\"function\\\"==typeof t.transform,n=\\\"function\\\"==typeof t.calcTransform;if(!r&&!n)throw new Error(e+\\\" is missing a *transform* or *calcTransform* method.\\\");for(var i in r&&n&&_.log([e+\\\" has both a *transform* and *calcTransform* methods.\\\",\\\"Please note that all *transform* methods are executed\\\",\\\"before all *calcTransform* methods.\\\"].join(\\\" \\\")),v(t.attributes)||_.log(e+\\\" registered without an *attributes* object.\\\"),\\\"function\\\"!=typeof t.supplyDefaults&&_.log(e+\\\" registered without a *supplyDefaults* method.\\\"),P.transformsRegistry[t.name]=t,P.componentsRegistry)V(i,t.name)}function B(t){var e=t.name,r=e.split(\\\"-\\\")[0],n=t.dictionary,i=t.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=P.localeRegistry,l=s[e];if(l||(s[e]=l={}),r!==e){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function N(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var r=0;r<e.length;r++)k(P.layoutArrayRegexes,e[r])}}function j(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.traces){var n=r.traces[e];n&&D(P.modules[e]._module.attributes,n)}}function V(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.transforms){var n=r.transforms[e];n&&D(P.transformsRegistry[e].attributes,n)}}function U(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.subplots){var n=P.subplotsRegistry[e],i=n.layoutAttributes,a=\\\"subplot\\\"===n.attr?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&D(i,o)}}function q(t){return\\\"object\\\"==typeof t&&(t=t.type),t}P.modules={},P.allCategories={},P.allTypes=[],P.subplotsRegistry={},P.transformsRegistry={},P.componentsRegistry={},P.layoutArrayContainers=[],P.layoutArrayRegexes=[],P.traceLayoutAttributes={},P.localeRegistry={},P.apiMethodRegistry={},P.register=function(t){if(!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 r=t[e];if(!r)throw new Error(\\\"Invalid module was attempted to be registered!\\\");switch(r.moduleType){case\\\"trace\\\":O(r);break;case\\\"transform\\\":F(r);break;case\\\"component\\\":R(r);break;case\\\"locale\\\":B(r);break;case\\\"apiMethod\\\":var n=r.name;P.apiMethodRegistry[n]=r.fn;break;default:throw new Error(\\\"Invalid module was attempted to be registered!\\\")}}},P.getModule=function(t){var e=P.modules[q(t)];return!!e&&e._module},P.traceIs=function(t,e){if(\\\"various\\\"===(t=q(t)))return!1;var r=P.modules[t];return r||(t&&\\\"area\\\"!==t&&_.log(\\\"Unrecognized trace type \\\"+t+\\\".\\\"),r=P.modules[E.type.dflt]),!!r.categories[e]},P.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},P.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},P.getComponentMethod=function(t,e){var r=P.componentsRegistry[t];return r&&r[e]||A},P.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return P.apiMethodRegistry[t].apply(null,e)};var H=function(t){for(var e,r,n=P.layoutArrayContainers,i=P.layoutArrayRegexes,a=t.split(\\\"[\\\")[0],o=0;o<i.length;o++)if((r=t.match(i[o]))&&0===r.index){e=r[0];break}if(e||(e=n[n.indexOf(a)]),!e)return!1;var s=t.substr(e.length);return s?!!(r=s.match(/^\\\\[(0|[1-9][0-9]*)\\\\](\\\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\\\"\\\"}:{array:e,index:\\\"\\\",property:\\\"\\\"}},G=p.isArrayOrTypedArray,W=function(t,e){if(r(e))e=String(e);else if(\\\"string\\\"!=typeof e||\\\"[-1]\\\"===e.substr(e.length-4))throw\\\"bad property string\\\";for(var n,i,a,o=0,s=e.split(\\\".\\\");o<s.length;){if(n=String(s[o]).match(/^([^\\\\[\\\\]]*)((\\\\[\\\\-?[0-9]*\\\\])+)$/)){if(n[1])s[o]=n[1];else{if(0!==o)throw\\\"bad property string\\\";s.splice(0,1)}for(i=n[2].substr(1,n[2].length-2).split(\\\"][\\\"),a=0;a<i.length;a++)o++,s.splice(o,0,Number(i[a]))}o++}return\\\"object\\\"!=typeof t?function(t,e,r){return{set:function(){throw\\\"bad container\\\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,s):{set:J(t,s,e),get:function t(e,r){return function(){var n,i,a,o,s,l=e;for(o=0;o<r.length-1;o++){if(-1===(n=r[o])){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=t(l[s],r.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\\\"number\\\"==typeof n&&!G(l))return;if(\\\"object\\\"!=typeof(l=l[n])||null===l)return}if(\\\"object\\\"==typeof l&&null!==l&&null!==(a=l[r[o]]))return a}}(t,s),astr:e,parts:s,obj:t}};var Y=/(^|\\\\.)((domain|range)(\\\\.[xy])?|args|parallels)$/,X=/(^|\\\\.)args\\\\[/;function Z(t,e){if(void 0!==(r=t)&&null!==r&&(\\\"object\\\"!=typeof r||(G(r)?r.length:Object.keys(r).length))||v(t)&&\\\"]\\\"===e.charAt(e.length-1)||e.match(X)&&void 0!==t)return!1;var r;if(!G(t))return!0;if(e.match(Y))return!0;var n=H(e);return n&&\\\"\\\"===n.index}function J(t,e,r){return function(n){var i,a,o=t,s=\\\"\\\",l=[[t,s]],u=Z(n,r);for(a=0;a<e.length-1;a++){if(\\\"number\\\"==typeof(i=e[a])&&!G(o))throw\\\"array index but container is not an array\\\";if(-1===i){if(u=!Q(o,e.slice(a+1),n,r))break;return}if(!$(o,i,e[a+1],u))break;if(\\\"object\\\"!=typeof(o=o[i])||null===o)throw\\\"container is not an object\\\";s=K(s,i),l.push([o,s])}u?(a===e.length-1&&delete o[e[a]],function(t){var e,r,n,i,a,o;for(e=t.length-1;e>=0;e--){if(n=t[e][0],i=t[e][1],o=!1,G(n))for(r=n.length-1;r>=0;r--)Z(n[r],K(i,r))?o?n[r]=void 0:n.pop():o=!0;else if(\\\"object\\\"==typeof n&&null!==n)for(a=Object.keys(n),o=!1,r=a.length-1;r>=0;r--)Z(n[a[r]],K(i,a[r]))?delete n[a[r]]:o=!0;if(o)return}}(l)):o[e[a]]=n}}function K(t,e){var n=e;return r(e)?n=\\\"[\\\"+e+\\\"]\\\":t&&(n=\\\".\\\"+e),t+n}function Q(t,e,r,n){var i,a=G(r),o=!0,s=r,l=n.replace(\\\"-1\\\",0),u=!a&&Z(r,l),c=e[0];for(i=0;i<t.length;i++)l=n.replace(\\\"-1\\\",i),a&&(u=Z(s=r[i%r.length],l)),u&&(o=!1),$(t,i,c,u)&&J(t[i],e,n.replace(\\\"-1\\\",i))(s);return o}function $(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\\\"number\\\"==typeof r?[]:{}}return!0}var tt={counter:function(t,e,r){var n=(e||\\\"\\\")+(r?\\\"\\\":\\\"$\\\");return\\\"xy\\\"===t?new RegExp(\\\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\\\"+n):new RegExp(\\\"^\\\"+t+\\\"([2-9]|[1-9][0-9]+)?\\\"+n)}},et={},rt=(Object.keys(l),tt.counter),nt=f.DESELECTDIM,it=n.wrap180,at=p.isArrayOrTypedArray;et.valObjectMeta={data_array:{coerceFunction:function(t,e,r){at(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 i=String(r[n]);if(\\\"/\\\"===i.charAt(0)&&\\\"/\\\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.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,n,i){!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},integer:{coerceFunction:function(t,e,n,i){t%1||!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t){var i=\\\"number\\\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){s(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return s(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(h(t,r))}},angle:{coerceFunction:function(t,e,n){\\\"auto\\\"===t?e.set(\\\"auto\\\"):r(t)?e.set(it(+t)):e.set(n)}},subplotid:{coerceFunction:function(t,e,r){\\\"string\\\"==typeof t&&rt(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\\\"string\\\"==typeof t&&!!rt(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\\\"+\\\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.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,r,n){function i(t,e,r){var n,i={set:function(t){n=t}};return void 0===r&&(r=e.dflt),et.valObjectMeta[e.valType].coerceFunction(t,i,r,e),n}var a=2===n.dimensions;if(Array.isArray(t)){var o,s,l,u,c=n.items,h=[],f=Array.isArray(c),p=f?c.length:t.length;if(r=Array.isArray(r)?r:[],a)for(o=0;o<p;o++){h[o]=[];var d=Array.isArray(t[o])?t[o]:[];for(l=f?c[o].length:d.length,s=0;s<l;s++)void 0!==(u=i(d[s],f?c[o][s]:c,(r[o]||[])[s]))&&(h[o][s]=u)}else for(o=0;o<p;o++)void 0!==(u=i(t[o],f?c[o]:c,r[o]))&&(h[o]=u);e.set(h)}else e.set(r)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!et.validate(t[a][o],n?r[a][o]:r))return!1}else if(!et.validate(t[a],n?r[a]:r))return!1;return!0}}},et.coerce=function(t,e,r,n,i){var a=W(r,n).get(),o=W(t,n),s=W(e,n),l=o.get();return void 0===i&&(i=a.dflt),a.arrayOk&&at(l)?(s.set(l),l):(et.valObjectMeta[a.valType].coerceFunction(l,s,i,a),s.get())},et.coerce2=function(t,e,r,n,i){var a=W(t,n),o=et.coerce(t,e,r,n,i),s=a.get();return void 0!==s&&null!==s&&o},et.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},et.coerceHoverinfo=function(t,e,r){var n,i=e._module.attributes,a=i.hoverinfo?{hoverinfo:i.hoverinfo}:E,o=a.hoverinfo;if(1===r._dataLength){var s=\\\"all\\\"===o.dflt?o.flags.slice():o.dflt.split(\\\"+\\\");s.splice(s.indexOf(\\\"name\\\"),1),n=s.join(\\\"+\\\")}return et.coerce(t,e,a,\\\"hoverinfo\\\",n)},et.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)at(i)||t.selected||t.unselected||(r=i,n=nt*i),e(\\\"selected.marker.opacity\\\",r),e(\\\"unselected.marker.opacity\\\",n)}},et.validate=function(t,e){var r=et.valObjectMeta[e.valType];if(e.arrayOk&&at(t))return!0;if(r.validateFunction)return r.validateFunction(t,e);var n={},i=n,a={set:function(t){i=t}};return r.coerceFunction(t,a,n,e),i!==n};var ot,st,lt=function(t,e){var r=t%e;return r<0?r+e:r},ut={},ct=t.BADNUM,ht=t.ONEDAY,ft=t.ONEHOUR,pt=t.ONEMIN,dt=t.ONESEC,gt=t.EPOCHJD,vt=e.time.format.utc,mt=/^\\\\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,yt=/^\\\\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,xt=(new Date).getFullYear()-70;function bt(t){return t&&P.componentsRegistry.calendars&&\\\"string\\\"==typeof t&&\\\"gregorian\\\"!==t}function _t(t,e){return String(t+Math.pow(10,e)).substr(1)}ut.dateTick0=function(t,e){return bt(t)?e?P.getComponentMethod(\\\"calendars\\\",\\\"CANONICAL_SUNDAY\\\")[t]:P.getComponentMethod(\\\"calendars\\\",\\\"CANONICAL_TICK\\\")[t]:e?\\\"2000-01-02\\\":\\\"2000-01-01\\\"},ut.dfltRange=function(t){return bt(t)?P.getComponentMethod(\\\"calendars\\\",\\\"DFLTRANGE\\\")[t]:[\\\"2000-01-01\\\",\\\"2001-01-01\\\"]},ut.isJSDate=function(t){return\\\"object\\\"==typeof t&&null!==t&&\\\"function\\\"==typeof t.getTime},ut.dateTime2ms=function(t,e){if(ut.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*pt)>=ot&&t<=st?t:ct;if(\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t)return ct;t=String(t);var r=bt(e),n=t.charAt(0);!r||\\\"G\\\"!==n&&\\\"g\\\"!==n||(t=t.substr(1),e=\\\"\\\");var i=r&&\\\"chinese\\\"===e.substr(0,7),a=t.match(i?yt:mt);if(!a)return ct;var o=a[1],s=a[3]||\\\"1\\\",l=Number(a[5]||1),u=Number(a[7]||0),c=Number(a[9]||0),h=Number(a[11]||0);if(r){if(2===o.length)return ct;var f;o=Number(o);try{var p=P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e);if(i){var d=\\\"i\\\"===s.charAt(s.length-1);s=parseInt(s,10),f=p.newDate(o,p.toMonthIndex(o,s,d),l)}else f=p.newDate(o,Number(s),l)}catch(t){return ct}return f?(f.toJD()-gt)*ht+u*ft+c*pt+h*dt:ct}o=2===o.length?(Number(o)+2e3-xt)%100+xt:Number(o),s-=1;var g=new Date(Date.UTC(2e3,s,l,u,c));return g.setUTCFullYear(o),g.getUTCMonth()!==s?ct:g.getUTCDate()!==l?ct:g.getTime()+h*dt},ot=ut.MIN_MS=ut.dateTime2ms(\\\"-9999\\\"),st=ut.MAX_MS=ut.dateTime2ms(\\\"9999-12-31 23:59:59.9999\\\"),ut.isDateTime=function(t,e){return ut.dateTime2ms(t,e)!==ct};var wt=90*ht,Mt=3*ft,At=5*pt;function kt(t,e,r,n,i){if((e||r||n||i)&&(t+=\\\" \\\"+_t(e,2)+\\\":\\\"+_t(r,2),(n||i)&&(t+=\\\":\\\"+_t(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\\\".\\\"+_t(i,a)}return t}ut.ms2DateTime=function(t,e,r){if(\\\"number\\\"!=typeof t||!(t>=ot&&t<=st))return ct;e||(e=0);var n,i,a,o,s,l,u=Math.floor(10*lt(t+.05,1)),c=Math.round(t-u/10);if(bt(r)){var h=Math.floor(c/ht)+gt,f=Math.floor(lt(t,ht));try{n=P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r).fromJD(h).formatDate(\\\"yyyy-mm-dd\\\")}catch(t){n=vt(\\\"G%Y-%m-%d\\\")(new Date(c))}if(\\\"-\\\"===n.charAt(0))for(;n.length<11;)n=\\\"-0\\\"+n.substr(1);else for(;n.length<10;)n=\\\"0\\\"+n;i=e<wt?Math.floor(f/ft):0,a=e<wt?Math.floor(f%ft/pt):0,o=e<Mt?Math.floor(f%pt/dt):0,s=e<At?f%dt*10+u:0}else l=new Date(c),n=vt(\\\"%Y-%m-%d\\\")(l),i=e<wt?l.getUTCHours():0,a=e<wt?l.getUTCMinutes():0,o=e<Mt?l.getUTCSeconds():0,s=e<At?10*l.getUTCMilliseconds()+u:0;return kt(n,i,a,o,s)},ut.ms2DateTimeLocal=function(t){if(!(t>=ot+ht&&t<=st-ht))return ct;var r=Math.floor(10*lt(t+.05,1)),n=new Date(Math.round(t-r/10));return kt(e.time.format(\\\"%Y-%m-%d\\\")(n),n.getHours(),n.getMinutes(),n.getSeconds(),10*n.getUTCMilliseconds()+r)},ut.cleanDate=function(t,e,r){if(ut.isJSDate(t)||\\\"number\\\"==typeof t){if(bt(r))return _.error(\\\"JS Dates and milliseconds are incompatible with world calendars\\\",t),e;if(!(t=ut.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!ut.isDateTime(t,r))return _.error(\\\"unrecognized date\\\",t),e;return t};var Tt=/%\\\\d?f/g;function St(t,e,r,n){t=t.replace(Tt,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\\\"\\\")||\\\"0\\\"});var i=new Date(Math.floor(e+.05));if(bt(n))try{t=P.getComponentMethod(\\\"calendars\\\",\\\"worldCalFmt\\\")(t,e,n)}catch(t){return\\\"Invalid\\\"}return r(t)(i)}var Et=[59,59.9,59.99,59.999,59.9999];ut.formatDate=function(t,e,n,i,a,o){if(a=bt(a)&&a,!e)if(\\\"y\\\"===n)e=o.year;else if(\\\"m\\\"===n)e=o.month;else{if(\\\"d\\\"!==n)return function(t,e){var n=lt(t+.05,ht),i=_t(Math.floor(n/ft),2)+\\\":\\\"+_t(lt(Math.floor(n/pt),60),2);if(\\\"M\\\"!==e){r(e)||(e=0);var a=(100+Math.min(lt(t/dt,60),Et[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,\\\"\\\").replace(/[\\\\.]$/,\\\"\\\")),i+=\\\":\\\"+a}return i}(t,n)+\\\"\\\\n\\\"+St(o.dayMonthYear,t,i,a);e=o.dayMonth+\\\"\\\\n\\\"+o.year}return St(e,t,i,a)};var Ct=3*ht;ut.incrementMonth=function(t,e,r){r=bt(r)&&r;var n=lt(t,ht);if(t=Math.round(t-n),r)try{var i=Math.round(t/ht)+gt,a=P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\\\"m\\\"):a.add(o,e/12,\\\"y\\\"),(o.toJD()-gt)*ht+n}catch(e){_.error(\\\"invalid ms \\\"+t+\\\" in calendar \\\"+r)}var s=new Date(t+Ct);return s.setUTCMonth(s.getUTCMonth()+e)+n-Ct},ut.findExactDates=function(t,e){for(var n,i,a=0,o=0,s=0,l=0,u=bt(e)&&P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e),c=0;c<t.length;c++)if(i=t[c],r(i)){if(!(i%ht))if(u)try{1===(n=u.fromJD(i/ht+gt)).day()?1===n.month()?a++:o++:s++}catch(t){}else 1===(n=new Date(i)).getUTCDate()?0===n.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}};function Lt(t){return!0===t.visible}function zt(t){return!0===t[0].trace.visible}var Pt,It,Dt,Ot={};function Rt(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,p=s-a,d=l*p-c*h;if(0===d)return null;var g=(u*p-c*f)/d,v=(u*h-l*f)/d;return v<0||v>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function Ft(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}Ot.segmentsIntersect=Rt,Ot.segmentDistance=function(t,e,r,n,i,a,o,s){if(Rt(t,e,r,n,i,a,o,s))return 0;var l=r-t,u=n-e,c=o-i,h=s-a,f=l*l+u*u,p=c*c+h*h,d=Math.min(Ft(l,u,f,i-t,a-e),Ft(l,u,f,o-t,s-e),Ft(c,h,p,t-i,e-a),Ft(c,h,p,r-i,n-a));return Math.sqrt(d)},Ot.getTextLocation=function(t,e,r,n){if(t===It&&n===Dt||(Pt={},It=t,Dt=n),Pt[r])return Pt[r];var i=t.getPointAtLength(lt(r-n/2,e)),a=t.getPointAtLength(lt(r+n/2,e)),o=Math.atan((a.y-i.y)/(a.x-i.x)),s=t.getPointAtLength(lt(r,e)),l={x:(4*s.x+i.x+a.x)/6,y:(4*s.y+i.y+a.y)/6,theta:o};return Pt[r]=l,l},Ot.clearLocationCache=function(){It=null},Ot.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),h=c;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.x<a?a-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(u*u+h*h)}for(var p=f(u);p;){if((u+=p+r)>h)return;p=f(u)}for(p=f(h);p;){if(u>(h-=p+r))return;p=f(h)}return{min:u,max:h,len:h-u,total:c,isClosed:0===u&&h===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},Ot.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<u;){if(i=(f+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;c*o>0?p=i:f=i,h++}return a};var Bt=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||void 0===t)throw new Error(\\\"DOM element provided is null or undefined\\\");return t},Nt=function(t){return t},jt=/^\\\\w*$/,Vt={init2dArray:function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},transposeRagged:function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},dot:function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var r,n,i=t.length;if(t[0].length)for(r=new Array(i),n=0;n<i;n++)r[n]=Vt.dot(t[n],e);else if(e[0].length){var a=Vt.transposeRagged(e);for(r=new Array(a.length),n=0;n<a.length;n++)r[n]=Vt.dot(t,a[n])}else for(r=0,n=0;n<i;n++)r+=t[n]*e[n];return r},translationMatrix:function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},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]]},rotationXYMatrix:function(t,e,r){return Vt.dot(Vt.dot(Vt.translationMatrix(e,r),Vt.rotationMatrix(t)),Vt.translationMatrix(-e,-r))},apply2DTransform:function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var r=1===arguments.length?e[0]:[e[0],e[1]];return Vt.dot(t,[r[0],r[1],1]).slice(0,2)}},apply2DTransform2:function(t){var e=Vt.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},Ut=[],qt=/^(.*)(\\\\.[^\\\\.\\\\[\\\\]]+|\\\\[\\\\d\\\\])$/,Ht=/^[^\\\\.\\\\[\\\\]]+$/,Gt=p.isArrayOrTypedArray,Wt={};function Yt(t,e){return t<e}function Xt(t,e){return t<=e}function Zt(t,e){return t>e}function Jt(t,e){return t>=e}Wt.findBin=function(t,e,n){if(r(e.start))return n?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,a,o=0,s=e.length,l=0,u=s>1?(e[s-1]-e[0])/(s-1):1;for(a=u>=0?n?Yt:Xt:n?Jt:Zt,t+=1e-9*u*(n?-1:1)*(u>=0?1:-1);o<s&&l++<100;)a(e[i=Math.floor((o+s)/2)],t)?o=i+1:s=i;return l>90&&_.log(\\\"Long binary search...\\\"),o-1},Wt.sorterAsc=function(t,e){return t-e},Wt.sorterDes=function(t,e){return e-t},Wt.distinctVals=function(t){var e=t.slice();e.sort(Wt.sorterAsc);for(var r=e.length-1,n=e[r]-e[0]||1,i=n/(r||1)/1e4,a=[e[0]],o=0;o<r;o++)e[o+1]>e[o]+i&&(n=Math.min(n,e[o+1]-e[o]),a.push(e[o+1]));return{vals:a,minDiff:n}},Wt.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=u((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]};var Kt={},Qt=p.isArrayOrTypedArray;Kt.aggNums=function(t,e,n,i){var a,o;if((!i||i>n.length)&&(i=n.length),r(e)||(e=!1),Qt(n[0])){for(o=new Array(i),a=0;a<i;a++)o[a]=Kt.aggNums(t,e,n[a]);n=o}for(a=0;a<i;a++)r(e)?r(n[a])&&(e=t(+e,+n[a])):e=n[a];return e},Kt.len=function(t){return Kt.aggNums(function(t){return t+1},0,t)},Kt.mean=function(t,e){return e||(e=Kt.len(t)),Kt.aggNums(function(t,e){return t+e},0,t)/e},Kt.variance=function(t,e,n){return e||(e=Kt.len(t)),r(n)||(n=Kt.mean(t,e)),Kt.aggNums(function(t,e){return t+Math.pow(e-n,2)},0,t)/e},Kt.stdev=function(t,e,r){return Math.sqrt(Kt.variance(t,e,r))},Kt.interp=function(t,e){if(!r(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 n=e%1;return n*t[Math.ceil(e)]+(1-n)*t[Math.floor(e)]};var $t={},te={};function ee(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}$t.throttle=function(t,e,r){var n=te[t],i=Date.now();if(!n){for(var a in te)te[a].ts<i-6e4&&delete te[a];n=te[t]={ts:0,timer:null}}function o(){r(),n.ts=Date.now(),n.onDone&&(n.onDone(),n.onDone=null)}ee(n),i>n.ts+e?o():n.timer=setTimeout(function(){o(),n.timer=null},e)},$t.done=function(t){var e=te[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},$t.clear=function(t){if(t)ee(te[t]),delete te[t];else for(var e in te)$t.clear(e)};var re=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(e[0],e[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),n},ne={},ie=t.FP_SAFE,ae=t.BADNUM,oe=ne={};oe.nestedProperty=W,oe.keyedContainer=function(t,e,r,n){var i,a;r=r||\\\"name\\\",n=n||\\\"value\\\";var o={};a=e&&e.length?W(t,e).get():t,e=e||\\\"\\\",a=a||[];var s={};for(i=0;i<a.length;i++)s[a[i][r]]=i;var l=jt.test(n),u={set:function(t,e){var i=null===e?4:0,c=s[t];void 0===c?(i|=3,c=a.length,s[t]=c):e!==(l?a[c][n]:W(a[c],n).get())&&(i|=2);var h=a[c]=a[c]||{};return h[r]=t,l?h[n]=e:W(h,n).set(e),null!==e&&(i&=-5),o[c]=o[c]|i,u},get:function(t){var e=s[t];return void 0===e?void 0:l?a[e][n]:W(a[e],n).get()},rename:function(t,e){var n=s[t];return void 0===n?u:(o[n]=1|o[n],s[e]=n,delete s[t],a[n][r]=e,u)},remove:function(t){var e=s[t];if(void 0===e)return u;var c=a[e];if(Object.keys(c).length>2)return o[e]=2|o[e],u.set(t,null);if(l){for(i=e;i<a.length;i++)o[i]=3|o[i];for(i=e;i<a.length;i++)s[a[i][r]]--;a.splice(e,1),delete s[t]}else W(c,n).set(null),o[e]=6|o[e];return u},constructUpdate:function(){for(var t,i,s={},u=Object.keys(o),c=0;c<u.length;c++)i=u[c],t=e+\\\"[\\\"+i+\\\"]\\\",a[i]?(1&o[i]&&(s[t+\\\".\\\"+r]=a[i][r]),2&o[i]&&(s[t+\\\".\\\"+n]=l?4&o[i]?null:a[i][n]:4&o[i]?null:W(a[i],n).get())):s[t]=null;return s}};return u},oe.relativeAttr=function(t,e){for(;e;){var r=t.match(qt);if(r)t=r[1];else{if(!t.match(Ht))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},oe.isPlainObject=v,oe.mod=lt,oe.toLogRange=re,oe.relinkPrivateKeys=function t(e,r){for(var n in r){var i=r[n],a=e[n];if(a!==i)if(\\\"_\\\"===n.charAt(0)||\\\"function\\\"==typeof i){if(n in e)continue;e[n]=i}else if(Gt(i)&&Gt(a)&&v(i[0])){if(\\\"customdata\\\"===n||\\\"ids\\\"===n)continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&v(i[s])&&v(a[s])&&t(a[s],i[s])}else v(i)&&v(a)&&(t(a,i),Object.keys(a).length||delete e[n])}},oe.ensureArray=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t},oe.isTypedArray=p.isTypedArray,oe.isArrayOrTypedArray=p.isArrayOrTypedArray,oe.valObjectMeta=et.valObjectMeta,oe.coerce=et.coerce,oe.coerce2=et.coerce2,oe.coerceFont=et.coerceFont,oe.coerceHoverinfo=et.coerceHoverinfo,oe.coerceSelectionMarkerOpacity=et.coerceSelectionMarkerOpacity,oe.validate=et.validate,oe.dateTime2ms=ut.dateTime2ms,oe.isDateTime=ut.isDateTime,oe.ms2DateTime=ut.ms2DateTime,oe.ms2DateTimeLocal=ut.ms2DateTimeLocal,oe.cleanDate=ut.cleanDate,oe.isJSDate=ut.isJSDate,oe.formatDate=ut.formatDate,oe.incrementMonth=ut.incrementMonth,oe.dateTick0=ut.dateTick0,oe.dfltRange=ut.dfltRange,oe.findExactDates=ut.findExactDates,oe.MIN_MS=ut.MIN_MS,oe.MAX_MS=ut.MAX_MS,oe.findBin=Wt.findBin,oe.sorterAsc=Wt.sorterAsc,oe.sorterDes=Wt.sorterDes,oe.distinctVals=Wt.distinctVals,oe.roundUp=Wt.roundUp,oe.aggNums=Kt.aggNums,oe.len=Kt.len,oe.mean=Kt.mean,oe.variance=Kt.variance,oe.stdev=Kt.stdev,oe.interp=Kt.interp,oe.init2dArray=Vt.init2dArray,oe.transposeRagged=Vt.transposeRagged,oe.dot=Vt.dot,oe.translationMatrix=Vt.translationMatrix,oe.rotationMatrix=Vt.rotationMatrix,oe.rotationXYMatrix=Vt.rotationXYMatrix,oe.apply2DTransform=Vt.apply2DTransform,oe.apply2DTransform2=Vt.apply2DTransform2,oe.deg2rad=n.deg2rad,oe.rad2deg=n.rad2deg,oe.wrap360=n.wrap360,oe.wrap180=n.wrap180,oe.segmentsIntersect=Ot.segmentsIntersect,oe.segmentDistance=Ot.segmentDistance,oe.getTextLocation=Ot.getTextLocation,oe.clearLocationCache=Ot.clearLocationCache,oe.getVisibleSegment=Ot.getVisibleSegment,oe.findPointOnPath=Ot.findPointOnPath,oe.extendFlat=m.extendFlat,oe.extendDeep=m.extendDeep,oe.extendDeepAll=m.extendDeepAll,oe.extendDeepNoArrays=m.extendDeepNoArrays,oe.log=_.log,oe.warn=_.warn,oe.error=_.error,oe.counterRegex=tt.counter,oe.throttle=$t.throttle,oe.throttleDone=$t.done,oe.clearThrottle=$t.clear,oe.getGraphDiv=Bt,oe._=function(t,e){for(var r=t._context.locale,n=0;n<2;n++){for(var i=t._context.locales,a=0;a<2;a++){var o=(i[r]||{}).dictionary;if(o){var s=o[e];if(s)return s}i=P.localeRegistry}var l=r.split(\\\"-\\\")[0];if(l===r)break;r=l}return e},oe.notifier=function(t,n){if(-1===Ut.indexOf(t)){Ut.push(t);var i=1e3;r(n)?i=n:\\\"long\\\"===n&&(i=3e3);var a=e.select(\\\"body\\\").selectAll(\\\".plotly-notifier\\\").data([0]);a.enter().append(\\\"div\\\").classed(\\\"plotly-notifier\\\",!0),a.selectAll(\\\".notifier-note\\\").data(Ut).enter().append(\\\"div\\\").classed(\\\"notifier-note\\\",!0).style(\\\"opacity\\\",0).each(function(t){var r=e.select(this);r.append(\\\"button\\\").classed(\\\"notifier-close\\\",!0).html(\\\"&times;\\\").on(\\\"click\\\",function(){r.transition().call(o)});for(var n=r.append(\\\"p\\\"),a=t.split(/<br\\\\s*\\\\/?>/g),s=0;s<a.length;s++)s&&n.append(\\\"br\\\"),n.append(\\\"span\\\").text(a[s]);r.transition().duration(700).style(\\\"opacity\\\",1).transition().delay(i).call(o)})}function o(t){t.duration(700).style(\\\"opacity\\\",0).each(\\\"end\\\",function(t){var r=Ut.indexOf(t);-1!==r&&Ut.splice(r,1),e.select(this).remove()})}},oe.filterUnique=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r},oe.filterVisible=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?zt:Lt),n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n},oe.pushUnique=k,oe.cleanNumber=function(t){return\\\"string\\\"==typeof t&&(t=t.replace(o,\\\"\\\")),r(t)?Number(t):a},oe.ensureNumber=function(t){return r(t)?(t=Number(t))<-ie||t>ie?ae:r(t)?Number(t):ae:ae},oe.noop=A,oe.identity=Nt,oe.swapAttrs=function(t,e,r,n){r||(r=\\\"x\\\"),n||(n=\\\"y\\\");for(var i=0;i<e.length;i++){var a=e[i],o=oe.nestedProperty(t,a.replace(\\\"?\\\",r)),s=oe.nestedProperty(t,a.replace(\\\"?\\\",n)),l=o.get();o.set(s.get()),s.set(l)}},oe.raiseToTop=function(t){t.parentNode.appendChild(t)},oe.cancelTransition=function(t){return t.transition().duration(0)},oe.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},oe.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},oe.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},oe.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\\\"0\\\";var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=\\\"\\\";for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i<Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&&(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var u=parseInt(s,n);return e&&e.indexOf(s)>-1||u!==1/0&&u>=Math.pow(2,r)?t(e,r,n):s},oe.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},oe.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},oe.syncOrAsync=function(t,e,r){var n;function i(){return oe.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,oe.promiseError);return r&&r(e)},oe.stripTrailingSlash=function(t){return\\\"/\\\"===t.substr(-1)?t.substr(0,t.length-1):t},oe.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n<r.length;n++)void 0!==(i=t[r[n]])&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},oe.mergeArray=function(t,e,r){if(oe.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},oe.fillArray=function(t,e,r,n){if(n=n||oe.identity,oe.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},oe.castOption=function(t,e,r,n){n=n||oe.identity;var i=oe.nestedProperty(t,r).get();return oe.isArrayOrTypedArray(i)?Array.isArray(e)&&oe.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},oe.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=oe.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},oe.tagSelected=function(t,e,n){var i,a,o=e.selectedpoints,s=e._indexToPoints;if(s)for(var l in i={},s)for(var u=s[l],c=0;c<u.length;c++)i[u[c]]=l;function h(e){return void 0!==e&&e<t.length}for(var f=0;f<o.length;f++){var p=o[f];if(r(a=p)&&a>=0&&a%1==0){var d=i?i[p]:p,g=n?n[d]:d;h(g)&&(t[g].selected=1)}}},oe.getTargetArray=function(t,e){var r=e.target;if(\\\"string\\\"==typeof r&&r){var n=oe.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},oe.minExtend=function(t,e){var r={};\\\"object\\\"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\\\"_\\\"!==i.charAt(0)&&\\\"function\\\"!=typeof a&&(\\\"module\\\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\\\"object\\\"==typeof a?oe.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\\\"object\\\"==typeof(a=e[i=o[n]])&&i in r&&\\\"object\\\"==typeof r[i]||(r[i]=a);return r},oe.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},oe.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},oe.isPlotDiv=function(t){var r=e.select(t);return r.node()instanceof HTMLElement&&r.size()&&r.classed(\\\"js-plotly-plot\\\")},oe.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},oe.addStyleRule=function(t,e){if(!oe.styleSheet){var r=document.createElement(\\\"style\\\");r.appendChild(document.createTextNode(\\\"\\\")),document.head.appendChild(r),oe.styleSheet=r.sheet}var n=oe.styleSheet;n.insertRule?n.insertRule(t+\\\"{\\\"+e+\\\"}\\\",0):n.addRule?n.addRule(t,e,0):oe.warn(\\\"addStyleRule failed\\\")},oe.isIE=function(){return void 0!==window.navigator.msSaveBlob},oe.isD3Selection=function(t){return t&&\\\"function\\\"==typeof t.classed},oe.objectFromPath=function(t,e){for(var r,n=t.split(\\\".\\\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\\\[([0-9]+)\\\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var se=/^([^\\\\[\\\\.]+)\\\\.(.+)?/,le=/^([^\\\\.]+)\\\\[([0-9]+)\\\\](\\\\.)?(.+)?/;oe.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\\\"object\\\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(se))?(i=t[r],n=e[1],delete t[r],t[n]=oe.extendDeepNoArrays(t[n]||{},oe.objectFromPath(r,oe.expandObjectPaths(i))[n])):(e=r.match(le))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\\\".\\\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},oe.extendDeepNoArrays(o,oe.objectFromPath(s,oe.expandObjectPaths(i)))):t[n][a]=oe.expandObjectPaths(i)):t[r]=oe.expandObjectPaths(t[r]));return t},oe.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})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\\\".\\\"),s=o[0],l=o.length>1?i+o[1]:\\\"\\\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\\\"$1\\\"+a+\\\"$2\\\");return s+l};var ue=/%{([^\\\\s%{}]*)}/g,ce=/^\\\\w*$/;oe.templateString=function(t,e){var r={};return t.replace(ue,function(t,n){return ce.test(n)?e[n]||\\\"\\\":(r[n]=r[n]||oe.nestedProperty(e,n).get,r[n]()||\\\"\\\")})};oe.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var he=2e9;oe.seedPseudoRandom=function(){he=2e9},oe.pseudoRandom=function(){var t=he;return he=(69069*he+1)%4294967296,Math.abs(he-t)<429496729?oe.pseudoRandom():he/4294967296};var fe=ne.extendFlat,pe=ne.isPlainObject,de={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"clearAxisTypes\\\",\\\"plot\\\",\\\"style\\\",\\\"colorbars\\\"]},ge={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"plot\\\",\\\"legend\\\",\\\"ticks\\\",\\\"margins\\\",\\\"layoutstyle\\\",\\\"modebar\\\",\\\"camera\\\",\\\"arraydraw\\\"]},ve=de.flags.slice().concat([\\\"clearCalc\\\",\\\"fullReplot\\\"]),me=ge.flags.slice().concat(\\\"layoutReplot\\\"),ye={traces:de,layout:ge,traceFlags:function(){return xe(ve)},layoutFlags:function(){return xe(me)},update:function(t,e){var r=e.editType;if(r&&\\\"none\\\"!==r)for(var n=r.split(\\\"+\\\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:be};function xe(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function be(t,e,r){var n=fe({},t);for(var i in n){var a=n[i];pe(a)&&(n[i]=_e(a,e,r,i))}return\\\"from-root\\\"===r&&(n.editType=e),n}function _e(t,e,r,n){if(t.valType){var i=fe({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var a=0;a<t.items.length;a++)i.items[a]=_e(t.items[a],e,\\\"from-root\\\")}return i}return be(t,e,\\\"_\\\"===n.charAt(0)?\\\"nested\\\":\\\"from-root\\\")}var we={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},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\\\"]}}},Me={_isLinkedToArray:\\\"frames_entry\\\",group:{valType:\\\"string\\\"},name:{valType:\\\"string\\\"},traces:{valType:\\\"any\\\"},baseframe:{valType:\\\"string\\\"},data:{valType:\\\"any\\\"},layout:{valType:\\\"any\\\"}},Ae={dash:{valType:\\\"string\\\",values:[\\\"solid\\\",\\\"dot\\\",\\\"dash\\\",\\\"longdash\\\",\\\"dashdot\\\",\\\"longdashdot\\\"],dflt:\\\"solid\\\",editType:\\\"style\\\"}},ke=tt.counter,Te={idRegex:{x:ke(\\\"x\\\"),y:ke(\\\"y\\\")},attrRegex:ke(\\\"[xy]axis\\\"),xAxisMatch:ke(\\\"xaxis\\\"),yAxisMatch:ke(\\\"yaxis\\\"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,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\\\",\\\"maplayer\\\",\\\"barlayer\\\",\\\"carpetlayer\\\",\\\"violinlayer\\\",\\\"boxlayer\\\",\\\"scatterlayer\\\"],layerValue2layerClass:{\\\"above traces\\\":\\\"above\\\",\\\"below traces\\\":\\\"below\\\"}},Se=Ae.dash,Ee=m.extendFlat,Ce={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},color:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"ticks\\\"},title:{valType:\\\"string\\\",editType:\\\"ticks+margins\\\"},titlefont:T({editType:\\\"ticks+margins\\\"}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"log\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0,editType:\\\"calc\\\",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:\\\"plot+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}},{valType:\\\"any\\\",editType:\\\"plot+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}}],editType:\\\"plot+margins\\\",impliedEdits:{autorange:!1}},fixedrange:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},scaleanchor:{valType:\\\"enumerated\\\",values:[Te.idRegex.x.toString(),Te.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\\\"},tickmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"linear\\\",\\\"array\\\"],editType:\\\"ticks+margins\\\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"ticks+margins\\\"},tick0:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},dtick:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},tickvals:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticktext:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticks:{valType:\\\"enumerated\\\",values:[\\\"outside\\\",\\\"inside\\\",\\\"\\\"],editType:\\\"ticks+margins\\\"},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:C.defaultLine,editType:\\\"ticks\\\"},showticklabels:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"ticks+margins\\\"},automargin:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},showspikes:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"modebar\\\"},spikecolor:{valType:\\\"color\\\",dflt:null,editType:\\\"none\\\"},spikethickness:{valType:\\\"number\\\",dflt:3,editType:\\\"none\\\"},spikedash:Ee({},Se,{dflt:\\\"dash\\\",editType:\\\"none\\\"}),spikemode:{valType:\\\"flaglist\\\",flags:[\\\"toaxis\\\",\\\"across\\\",\\\"marker\\\"],dflt:\\\"toaxis\\\",editType:\\\"none\\\"},spikesnap:{valType:\\\"enumerated\\\",values:[\\\"data\\\",\\\"cursor\\\"],dflt:\\\"data\\\",editType:\\\"none\\\"},tickfont:T({editType:\\\"ticks+margins\\\"}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\",editType:\\\"ticks+margins\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\",editType:\\\"ticks+margins\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},tickformatstops:{_isLinkedToArray:\\\"tickformatstop\\\",dtickrange:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"},{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"}],editType:\\\"ticks+margins\\\"},value:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},editType:\\\"ticks+margins\\\"},hoverformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"none\\\"},showline:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"layoutstyle\\\"},linecolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"layoutstyle\\\"},linewidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks+layoutstyle\\\"},showgrid:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},gridcolor:{valType:\\\"color\\\",dflt:C.lightLine,editType:\\\"ticks\\\"},gridwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks\\\"},zeroline:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},zerolinecolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"ticks\\\"},zerolinewidth:{valType:\\\"number\\\",dflt:1,editType:\\\"ticks\\\"},anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\",Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\\\"plot+margins\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"],editType:\\\"plot+margins\\\"},overlaying:{valType:\\\"enumerated\\\",values:[\\\"free\\\",Te.idRegex.x.toString(),Te.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+margins\\\"},{valType:\\\"number\\\",min:0,max:1,editType:\\\"plot+margins\\\"}],dflt:[0,1],editType:\\\"plot+margins\\\"},position:{valType:\\\"number\\\",min:0,max:1,dflt:0,editType:\\\"plot+margins\\\"},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\",editType:\\\"calc\\\"},categoryarray:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\",_deprecated:{autotick:{valType:\\\"boolean\\\",editType:\\\"ticks+margins\\\"}}},Le=m.extendFlat,ze=(0,ye.overrideAll)({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:Ce.linecolor,outlinewidth:Ce.linewidth,bordercolor:Ce.linecolor,borderwidth:{valType:\\\"number\\\",min:0,dflt:0},bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Le({},Ce.ticks,{dflt:\\\"\\\"}),ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:T({}),tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,separatethousands:Ce.separatethousands,exponentformat:Ce.exponentformat,showexponent:Ce.showexponent,title:{valType:\\\"string\\\"},titlefont:T({}),titleside:{valType:\\\"enumerated\\\",values:[\\\"right\\\",\\\"top\\\",\\\"bottom\\\"],dflt:\\\"top\\\"}},\\\"colorbars\\\",\\\"from-root\\\"),Pe={zauto:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},zmax:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},colorscale:{valType:\\\"colorscale\\\",editType:\\\"calc\\\",impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{colorscale:void 0}},reversescale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},showscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"}},Ie=m.extendFlat,De=function(t,e,r){return{color:{valType:\\\"color\\\",arrayOk:!0,editType:e||\\\"style\\\"},colorscale:Ie({},Pe.colorscale,{}),cauto:Ie({},Pe.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:Ie({},Pe.zmax,{editType:e||Pe.zmax.editType,impliedEdits:{cauto:!1}}),cmin:Ie({},Pe.zmin,{editType:e||Pe.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:Ie({},Pe.autocolorscale,{dflt:!1===r?r:Pe.autocolorscale.dflt}),reversescale:Ie({},Pe.reversescale,{})}},Oe={},Re=Oe={};Re.defaults=C.defaults;var Fe=Re.defaultLine=C.defaultLine;Re.lightLine=C.lightLine;var Be=Re.background=C.background;function Ne(t){if(r(t)||\\\"string\\\"!=typeof t)return t;var e=t.trim();if(\\\"rgb\\\"!==e.substr(0,3))return t;var n=e.match(/^rgba?\\\\s*\\\\(([^()]*)\\\\)$/);if(!n)return t;var i=n[1].trim().split(/\\\\s*[\\\\s,]\\\\s*/),a=\\\"a\\\"===e.charAt(3)&&4===i.length;if(!a&&3!==i.length)return t;for(var o=0;o<i.length;o++){if(!i[o].length)return t;if(i[o]=Number(i[o]),!(i[o]>=0))return t;if(3===o)i[o]>1&&(i[o]=1);else if(i[o]>=1)return t}var s=Math.round(255*i[0])+\\\", \\\"+Math.round(255*i[1])+\\\", \\\"+Math.round(255*i[2]);return a?\\\"rgba(\\\"+s+\\\", \\\"+i[3]+\\\")\\\":\\\"rgb(\\\"+s+\\\")\\\"}Re.tinyRGB=function(t){var e=t.toRgb();return\\\"rgb(\\\"+Math.round(e.r)+\\\", \\\"+Math.round(e.g)+\\\", \\\"+Math.round(e.b)+\\\")\\\"},Re.rgb=function(t){return Re.tinyRGB(s(t))},Re.opacity=function(t){return t?s(t).getAlpha():0},Re.addOpacity=function(t,e){var r=s(t).toRgb();return\\\"rgba(\\\"+Math.round(r.r)+\\\", \\\"+Math.round(r.g)+\\\", \\\"+Math.round(r.b)+\\\", \\\"+e+\\\")\\\"},Re.combine=function(t,e){var r=s(t).toRgb();if(1===r.a)return s(t).toRgbString();var n=s(e||Be).toRgb(),i=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={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 s(a).toRgbString()},Re.contrast=function(t,e,r){var n=s(t);return 1!==n.getAlpha()&&(n=s(Re.combine(t,Be))),(n.isDark()?e?n.lighten(e):Be:r?n.darken(r):Fe).toString()},Re.stroke=function(t,e){var r=s(e);t.style({stroke:Re.tinyRGB(r),\\\"stroke-opacity\\\":r.getAlpha()})},Re.fill=function(t,e){var r=s(e);t.style({fill:Re.tinyRGB(r),\\\"fill-opacity\\\":r.getAlpha()})},Re.clean=function(t){if(t&&\\\"object\\\"==typeof t){var e,r,n,i,a=Object.keys(t);for(e=0;e<a.length;e++)if(i=t[n=a[e]],\\\"color\\\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=Ne(i[r]);else t[n]=Ne(i);else if(\\\"colorscale\\\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=Ne(i[r][1]));else if(Array.isArray(i)){var o=i[0];if(!Array.isArray(o)&&o&&\\\"object\\\"==typeof o)for(r=0;r<i.length;r++)Re.clean(i[r])}else i&&\\\"object\\\"==typeof i&&Re.clean(i)}};var je=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n},Ve=function(t,e,r,n){var i,a;r?(i=ne.nestedProperty(t,r).get(),a=ne.nestedProperty(t._input,r).get()):(i=t,a=t._input);var o=n+\\\"auto\\\",s=n+\\\"min\\\",u=n+\\\"max\\\",c=i[o],h=i[s],f=i[u],p=i.colorscale;!1===c&&void 0!==h||(h=ne.aggNums(Math.min,null,e)),!1===c&&void 0!==f||(f=ne.aggNums(Math.max,null,e)),h===f&&(h-=.5,f+=.5),i[s]=h,i[u]=f,a[s]=h,a[u]=f,a[o]=!1!==c||void 0===h&&void 0===f,i.autocolorscale&&(p=h*f<0?l.RdBu:h>=0?l.Reds:l.Blues,a.colorscale=p,i.reversescale&&(p=je(p)),i.colorscale=p)},Ue=function(t,e,r,n,i){var a=function(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]]}(t);if(r(\\\"tickprefix\\\")&&r(\\\"showtickprefix\\\",a),r(\\\"ticksuffix\\\",i.tickSuffixDflt)&&r(\\\"showticksuffix\\\",a),r(\\\"showticklabels\\\")){var o=i.font||{},s=e.color===t.color?e.color:o.color;if(ne.coerceFont(r,\\\"tickfont\\\",{family:o.family,size:o.size,color:s}),r(\\\"tickangle\\\"),\\\"category\\\"!==n){var l=r(\\\"tickformat\\\");!function(t,e){var r,n,i=t.tickformatstops,a=e.tickformatstops=[];if(!Array.isArray(i))return;function o(t,e){return ne.coerce(r,n,Ce.tickformatstops,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\\\"dtickrange\\\"),o(\\\"value\\\"),a.push(n)}(t,e),l||\\\"date\\\"===n||(r(\\\"showexponent\\\",a),r(\\\"exponentformat\\\"),r(\\\"separatethousands\\\"))}}};var qe=function(t,e,r,n){var i=ne.coerce2(t,e,Ce,\\\"ticklen\\\"),a=ne.coerce2(t,e,Ce,\\\"tickwidth\\\"),o=ne.coerce2(t,e,Ce,\\\"tickcolor\\\",e.color);r(\\\"ticks\\\",n.outerTicks||i||a||o?\\\"outside\\\":\\\"\\\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)},He=t.ONEDAY,Ge=function(t,e,n,i){var a=\\\"auto\\\";\\\"array\\\"!==t.tickmode||\\\"log\\\"!==i&&\\\"date\\\"!==i||(t.tickmode=\\\"auto\\\"),Array.isArray(t.tickvals)?a=\\\"array\\\":t.dtick&&(a=\\\"linear\\\");var o=n(\\\"tickmode\\\",a);if(\\\"auto\\\"===o)n(\\\"nticks\\\");else if(\\\"linear\\\"===o){var s=\\\"date\\\"===i?He:1,l=n(\\\"dtick\\\",s);if(r(l))e.dtick=l>0?Number(l):s;else if(\\\"string\\\"!=typeof l)e.dtick=s;else{var u=l.charAt(0),c=l.substr(1);((c=r(c)?Number(c):0)<=0||!(\\\"date\\\"===i&&\\\"M\\\"===u&&c===Math.round(c)||\\\"log\\\"===i&&\\\"L\\\"===u||\\\"log\\\"===i&&\\\"D\\\"===u&&(1===c||2===c)))&&(e.dtick=s)}var h=\\\"date\\\"===i?ne.dateTick0(e.calendar):0,f=n(\\\"tick0\\\",h);\\\"date\\\"===i?e.tick0=ne.cleanDate(f,h):r(f)&&\\\"D1\\\"!==l&&\\\"D2\\\"!==l?e.tick0=Number(f):e.tick0=h}else{void 0===n(\\\"tickvals\\\")?e.tickmode=\\\"auto\\\":n(\\\"ticktext\\\")}},We=function(t){return void 0!==l[t]||c(t)},Ye=function(t,e,n,i,a){var o,s=a.prefix,l=a.cLetter,u=s.slice(0,s.length-1),c=s?ne.nestedProperty(t,u).get()||{}:t,h=s?ne.nestedProperty(e,u).get()||{}:e,f=c[l+\\\"min\\\"],p=c[l+\\\"max\\\"],d=c.colorscale;i(s+l+\\\"auto\\\",!(r(f)&&r(p)&&f<p)),i(s+l+\\\"min\\\"),i(s+l+\\\"max\\\"),void 0!==d&&(o=!We(d)),i(s+\\\"autocolorscale\\\",o);var g,v,m=i(s+\\\"colorscale\\\");(i(s+\\\"reversescale\\\")&&(h.colorscale=je(m)),\\\"marker.line.\\\"!==s)&&(s&&(v=c,g=ne.isPlainObject(v.colorbar)),i(s+\\\"showscale\\\",g)&&function(t,e,r){var n=e.colorbar={},i=t.colorbar||{};function a(t,e){return ne.coerce(i,n,ze,t,e)}a(\\\"thickness\\\",\\\"fraction\\\"===a(\\\"thicknessmode\\\")?30/(r.width-r.margin.l-r.margin.r):30),a(\\\"len\\\",\\\"fraction\\\"===a(\\\"lenmode\\\")?1:r.height-r.margin.t-r.margin.b),a(\\\"x\\\"),a(\\\"xanchor\\\"),a(\\\"xpad\\\"),a(\\\"y\\\"),a(\\\"yanchor\\\"),a(\\\"ypad\\\"),ne.noneOrAll(i,n,[\\\"x\\\",\\\"y\\\"]),a(\\\"outlinecolor\\\"),a(\\\"outlinewidth\\\"),a(\\\"bordercolor\\\"),a(\\\"borderwidth\\\"),a(\\\"bgcolor\\\"),Ge(i,n,a,\\\"linear\\\");var o={outerTicks:!1,font:r.font};Ue(i,n,a,\\\"linear\\\",o),qe(i,n,a,\\\"linear\\\",o),a(\\\"title\\\",r._dfltTitle.colorbar),ne.coerceFont(a,\\\"titlefont\\\",r.font),a(\\\"titleside\\\")}(c,h,n))},Xe=function(t,e){var n=e?ne.nestedProperty(t,e).get()||{}:t,i=n.color,a=!1;if(ne.isArrayOrTypedArray(i))for(var o=0;o<i.length;o++)if(r(i[o])){a=!0;break}return ne.isPlainObject(n)&&(a||!0===n.showscale||r(n.cmin)&&r(n.cmax)||We(n.colorscale)||ne.isPlainObject(n.colorbar))};function Ze(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return s(e).toRgbString()}var Je={};Je.scales=l,Je.defaultScale=u,Je.attributes=Pe,Je.handleDefaults=Ye,Je.calc=Ve,Je.hasColorscale=Xe,Je.isValidScale=We,Je.getScale=h,Je.flipScale=je,Je.extractScale=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}},Je.makeColorScaleFunc=function(t,n){n=n||{};for(var i=t.domain,a=t.range,o=a.length,l=new Array(o),u=0;u<o;u++){var c=s(a[u]).toRgb();l[u]=[c.r,c.g,c.b,c.a]}var h,f=e.scale.linear().domain(i).range(l).clamp(!0),p=n.noNumericCheck,d=n.returnArray;return(h=p&&d?f:p?function(t){return Ze(f(t))}:d?function(t){return r(t)?f(t):s(t).isValid()?t:Oe.defaultLine}:function(t){return r(t)?Ze(f(t)):s(t).isValid()?t:Oe.defaultLine}).domain=f.domain,h.range=function(){return a},h};var Ke={circle:{n:0,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",0A\\\"+r+\\\",\\\"+r+\\\" 0 1,1 0,-\\\"+r+\\\"A\\\"+r+\\\",\\\"+r+\\\" 0 0,1 \\\"+r+\\\",0Z\\\"}},square:{n:1,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+r+\\\"Z\\\"}},diamond:{n:2,f:function(t){var r=e.round(1.3*t,2);return\\\"M\\\"+r+\\\",0L0,\\\"+r+\\\"L-\\\"+r+\\\",0L0,-\\\"+r+\\\"Z\\\"}},cross:{n:3,f:function(t){var r=e.round(.4*t,2),n=e.round(1.2*t,2);return\\\"M\\\"+n+\\\",\\\"+r+\\\"H\\\"+r+\\\"V\\\"+n+\\\"H-\\\"+r+\\\"V\\\"+r+\\\"H-\\\"+n+\\\"V-\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+n+\\\"H\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+n+\\\"Z\\\"}},x:{n:4,f:function(t){var r=e.round(.8*t/Math.sqrt(2),2),n=\\\"l\\\"+r+\\\",\\\"+r,i=\\\"l\\\"+r+\\\",-\\\"+r,a=\\\"l-\\\"+r+\\\",-\\\"+r,o=\\\"l-\\\"+r+\\\",\\\"+r;return\\\"M0,\\\"+r+n+i+a+i+a+o+a+o+n+o+n+\\\"Z\\\"}},\\\"triangle-up\\\":{n:5,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M-\\\"+r+\\\",\\\"+e.round(t/2,2)+\\\"H\\\"+r+\\\"L0,-\\\"+e.round(t,2)+\\\"Z\\\"}},\\\"triangle-down\\\":{n:6,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M-\\\"+r+\\\",-\\\"+e.round(t/2,2)+\\\"H\\\"+r+\\\"L0,\\\"+e.round(t,2)+\\\"Z\\\"}},\\\"triangle-left\\\":{n:7,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M\\\"+e.round(t/2,2)+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L-\\\"+e.round(t,2)+\\\",0Z\\\"}},\\\"triangle-right\\\":{n:8,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M-\\\"+e.round(t/2,2)+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L\\\"+e.round(t,2)+\\\",0Z\\\"}},\\\"triangle-ne\\\":{n:9,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M-\\\"+n+\\\",-\\\"+r+\\\"H\\\"+r+\\\"V\\\"+n+\\\"Z\\\"}},\\\"triangle-se\\\":{n:10,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M\\\"+r+\\\",-\\\"+n+\\\"V\\\"+r+\\\"H-\\\"+n+\\\"Z\\\"}},\\\"triangle-sw\\\":{n:11,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M\\\"+n+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+n+\\\"Z\\\"}},\\\"triangle-nw\\\":{n:12,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M-\\\"+r+\\\",\\\"+n+\\\"V-\\\"+r+\\\"H\\\"+n+\\\"Z\\\"}},pentagon:{n:13,f:function(t){var r=e.round(.951*t,2),n=e.round(.588*t,2),i=e.round(-t,2),a=e.round(-.309*t,2);return\\\"M\\\"+r+\\\",\\\"+a+\\\"L\\\"+n+\\\",\\\"+e.round(.809*t,2)+\\\"H-\\\"+n+\\\"L-\\\"+r+\\\",\\\"+a+\\\"L0,\\\"+i+\\\"Z\\\"}},hexagon:{n:14,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\\\"M\\\"+i+\\\",-\\\"+n+\\\"V\\\"+n+\\\"L0,\\\"+r+\\\"L-\\\"+i+\\\",\\\"+n+\\\"V-\\\"+n+\\\"L0,-\\\"+r+\\\"Z\\\"}},hexagon2:{n:15,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\\\"M-\\\"+n+\\\",\\\"+i+\\\"H\\\"+n+\\\"L\\\"+r+\\\",0L\\\"+n+\\\",-\\\"+i+\\\"H-\\\"+n+\\\"L-\\\"+r+\\\",0Z\\\"}},octagon:{n:16,f:function(t){var r=e.round(.924*t,2),n=e.round(.383*t,2);return\\\"M-\\\"+n+\\\",-\\\"+r+\\\"H\\\"+n+\\\"L\\\"+r+\\\",-\\\"+n+\\\"V\\\"+n+\\\"L\\\"+n+\\\",\\\"+r+\\\"H-\\\"+n+\\\"L-\\\"+r+\\\",\\\"+n+\\\"V-\\\"+n+\\\"Z\\\"}},star:{n:17,f:function(t){var r=1.4*t,n=e.round(.225*r,2),i=e.round(.951*r,2),a=e.round(.363*r,2),o=e.round(.588*r,2),s=e.round(-r,2),l=e.round(-.309*r,2),u=e.round(.118*r,2),c=e.round(.809*r,2);return\\\"M\\\"+n+\\\",\\\"+l+\\\"H\\\"+i+\\\"L\\\"+a+\\\",\\\"+u+\\\"L\\\"+o+\\\",\\\"+c+\\\"L0,\\\"+e.round(.382*r,2)+\\\"L-\\\"+o+\\\",\\\"+c+\\\"L-\\\"+a+\\\",\\\"+u+\\\"L-\\\"+i+\\\",\\\"+l+\\\"H-\\\"+n+\\\"L0,\\\"+s+\\\"Z\\\"}},hexagram:{n:18,f:function(t){var r=e.round(.66*t,2),n=e.round(.38*t,2),i=e.round(.76*t,2);return\\\"M-\\\"+i+\\\",0l-\\\"+n+\\\",-\\\"+r+\\\"h\\\"+i+\\\"l\\\"+n+\\\",-\\\"+r+\\\"l\\\"+n+\\\",\\\"+r+\\\"h\\\"+i+\\\"l-\\\"+n+\\\",\\\"+r+\\\"l\\\"+n+\\\",\\\"+r+\\\"h-\\\"+i+\\\"l-\\\"+n+\\\",\\\"+r+\\\"l-\\\"+n+\\\",-\\\"+r+\\\"h-\\\"+i+\\\"Z\\\"}},\\\"star-triangle-up\\\":{n:19,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M-\\\"+r+\\\",\\\"+n+o+r+\\\",\\\"+n+o+\\\"0,-\\\"+i+o+\\\"-\\\"+r+\\\",\\\"+n+\\\"Z\\\"}},\\\"star-triangle-down\\\":{n:20,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M\\\"+r+\\\",-\\\"+n+o+\\\"-\\\"+r+\\\",-\\\"+n+o+\\\"0,\\\"+i+o+r+\\\",-\\\"+n+\\\"Z\\\"}},\\\"star-square\\\":{n:21,f:function(t){var r=e.round(1.1*t,2),n=e.round(2*t,2),i=\\\"A \\\"+n+\\\",\\\"+n+\\\" 0 0 1 \\\";return\\\"M-\\\"+r+\\\",-\\\"+r+i+\\\"-\\\"+r+\\\",\\\"+r+i+r+\\\",\\\"+r+i+r+\\\",-\\\"+r+i+\\\"-\\\"+r+\\\",-\\\"+r+\\\"Z\\\"}},\\\"star-diamond\\\":{n:22,f:function(t){var r=e.round(1.4*t,2),n=e.round(1.9*t,2),i=\\\"A \\\"+n+\\\",\\\"+n+\\\" 0 0 1 \\\";return\\\"M-\\\"+r+\\\",0\\\"+i+\\\"0,\\\"+r+i+r+\\\",0\\\"+i+\\\"0,-\\\"+r+i+\\\"-\\\"+r+\\\",0Z\\\"}},\\\"diamond-tall\\\":{n:23,f:function(t){var r=e.round(.7*t,2),n=e.round(1.4*t,2);return\\\"M0,\\\"+n+\\\"L\\\"+r+\\\",0L0,-\\\"+n+\\\"L-\\\"+r+\\\",0Z\\\"}},\\\"diamond-wide\\\":{n:24,f:function(t){var r=e.round(1.4*t,2),n=e.round(.7*t,2);return\\\"M0,\\\"+n+\\\"L\\\"+r+\\\",0L0,-\\\"+n+\\\"L-\\\"+r+\\\",0Z\\\"}},hourglass:{n:25,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"L\\\"+r+\\\",-\\\"+r+\\\"H-\\\"+r+\\\"Z\\\"},noDot:!0},bowtie:{n:26,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"V-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r+\\\"V-\\\"+r+\\\"Z\\\"},noDot:!0},\\\"circle-cross\\\":{n:27,f:function(t){var r=e.round(t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r+\\\"M\\\"+r+\\\",0A\\\"+r+\\\",\\\"+r+\\\" 0 1,1 0,-\\\"+r+\\\"A\\\"+r+\\\",\\\"+r+\\\" 0 0,1 \\\"+r+\\\",0Z\\\"},needLine:!0,noDot:!0},\\\"circle-x\\\":{n:28,f:function(t){var r=e.round(t,2),n=e.round(t/Math.sqrt(2),2);return\\\"M\\\"+n+\\\",\\\"+n+\\\"L-\\\"+n+\\\",-\\\"+n+\\\"M\\\"+n+\\\",-\\\"+n+\\\"L-\\\"+n+\\\",\\\"+n+\\\"M\\\"+r+\\\",0A\\\"+r+\\\",\\\"+r+\\\" 0 1,1 0,-\\\"+r+\\\"A\\\"+r+\\\",\\\"+r+\\\" 0 0,1 \\\"+r+\\\",0Z\\\"},needLine:!0,noDot:!0},\\\"square-cross\\\":{n:29,f:function(t){var r=e.round(t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r+\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+r+\\\"Z\\\"},needLine:!0,noDot:!0},\\\"square-x\\\":{n:30,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"L-\\\"+r+\\\",-\\\"+r+\\\"M\\\"+r+\\\",-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r+\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+r+\\\"Z\\\"},needLine:!0,noDot:!0},\\\"diamond-cross\\\":{n:31,f:function(t){var r=e.round(1.3*t,2);return\\\"M\\\"+r+\\\",0L0,\\\"+r+\\\"L-\\\"+r+\\\",0L0,-\\\"+r+\\\"ZM0,-\\\"+r+\\\"V\\\"+r+\\\"M-\\\"+r+\\\",0H\\\"+r},needLine:!0,noDot:!0},\\\"diamond-x\\\":{n:32,f:function(t){var r=e.round(1.3*t,2),n=e.round(.65*t,2);return\\\"M\\\"+r+\\\",0L0,\\\"+r+\\\"L-\\\"+r+\\\",0L0,-\\\"+r+\\\"ZM-\\\"+n+\\\",-\\\"+n+\\\"L\\\"+n+\\\",\\\"+n+\\\"M-\\\"+n+\\\",\\\"+n+\\\"L\\\"+n+\\\",-\\\"+n},needLine:!0,noDot:!0},\\\"cross-thin\\\":{n:33,f:function(t){var r=e.round(1.4*t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"x-thin\\\":{n:34,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"L-\\\"+r+\\\",-\\\"+r+\\\"M\\\"+r+\\\",-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var r=e.round(1.2*t,2),n=e.round(.85*t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r+\\\"M\\\"+n+\\\",\\\"+n+\\\"L-\\\"+n+\\\",-\\\"+n+\\\"M\\\"+n+\\\",-\\\"+n+\\\"L-\\\"+n+\\\",\\\"+n},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var r=e.round(t/2,2),n=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+n+\\\"V-\\\"+n+\\\"m-\\\"+n+\\\",0V\\\"+n+\\\"M\\\"+n+\\\",\\\"+r+\\\"H-\\\"+n+\\\"m0,-\\\"+n+\\\"H\\\"+n},needLine:!0,noFill:!0},\\\"y-up\\\":{n:37,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M-\\\"+r+\\\",\\\"+i+\\\"L0,0M\\\"+r+\\\",\\\"+i+\\\"L0,0M0,-\\\"+n+\\\"L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"y-down\\\":{n:38,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M-\\\"+r+\\\",-\\\"+i+\\\"L0,0M\\\"+r+\\\",-\\\"+i+\\\"L0,0M0,\\\"+n+\\\"L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"y-left\\\":{n:39,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M\\\"+i+\\\",\\\"+r+\\\"L0,0M\\\"+i+\\\",-\\\"+r+\\\"L0,0M-\\\"+n+\\\",0L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"y-right\\\":{n:40,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M-\\\"+i+\\\",\\\"+r+\\\"L0,0M-\\\"+i+\\\",-\\\"+r+\\\"L0,0M\\\"+n+\\\",0L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"line-ew\\\":{n:41,f:function(t){var r=e.round(1.4*t,2);return\\\"M\\\"+r+\\\",0H-\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"line-ns\\\":{n:42,f:function(t){var r=e.round(1.4*t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"line-ne\\\":{n:43,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"line-nw\\\":{n:44,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"L-\\\"+r+\\\",-\\\"+r},needLine:!0,noDot:!0,noFill:!0}},Qe={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,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}},$e={xmlns:\\\"http://www.w3.org/2000/xmlns/\\\",svg:\\\"http://www.w3.org/2000/svg\\\",xlink:\\\"http://www.w3.org/1999/xlink\\\"};$e.svgAttrs={xmlns:$e.svg,\\\"xmlns:xlink\\\":$e.xlink};var tr={entityToUnicode:{mu:\\\"\\\\u03bc\\\",\\\"#956\\\":\\\"\\\\u03bc\\\",amp:\\\"&\\\",\\\"#28\\\":\\\"&\\\",lt:\\\"<\\\",\\\"#60\\\":\\\"<\\\",gt:\\\">\\\",\\\"#62\\\":\\\">\\\",nbsp:\\\"\\\\xa0\\\",\\\"#160\\\":\\\"\\\\xa0\\\",times:\\\"\\\\xd7\\\",\\\"#215\\\":\\\"\\\\xd7\\\",plusmn:\\\"\\\\xb1\\\",\\\"#177\\\":\\\"\\\\xb1\\\",deg:\\\"\\\\xb0\\\",\\\"#176\\\":\\\"\\\\xb0\\\"}},er={},rr=Qe.LINE_SPACING;function nr(t,e){return t.node().getBoundingClientRect()[e]}var ir=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;er.convertToTspans=function(t,r,n){var i=t.text(),a=!t.attr(\\\"data-notex\\\")&&\\\"undefined\\\"!=typeof MathJax&&i.match(ir),o=e.select(t.node().parentNode);if(!o.empty()){var s=t.attr(\\\"class\\\")?t.attr(\\\"class\\\").split(\\\" \\\")[0]:\\\"text\\\";return s+=\\\"-math\\\",o.selectAll(\\\"svg.\\\"+s).remove(),o.selectAll(\\\"g.\\\"+s+\\\"-group\\\").remove(),t.style(\\\"display\\\",null).attr({\\\"data-unformatted\\\":i,\\\"data-math\\\":\\\"N\\\"}),a?(r&&r._promises||[]).push(new Promise(function(r){t.style(\\\"display\\\",\\\"none\\\");var u=parseInt(t.node().style.fontSize,10),c={fontSize:u};!function(t,r,n){var i=\\\"math-output-\\\"+ne.randstr([],64),a=e.select(\\\"body\\\").append(\\\"div\\\").attr({id:i}).style({visibility:\\\"hidden\\\",position:\\\"absolute\\\"}).style({\\\"font-size\\\":r.fontSize+\\\"px\\\"}).text((o=t,o.replace(ar,\\\"\\\\\\\\lt \\\").replace(or,\\\"\\\\\\\\gt \\\")));var o;MathJax.Hub.Queue([\\\"Typeset\\\",MathJax.Hub,a.node()],function(){var r=e.select(\\\"body\\\").select(\\\"#MathJax_SVG_glyphs\\\");if(a.select(\\\".MathJax_SVG\\\").empty()||!a.select(\\\"svg\\\").node())ne.log(\\\"There was an error in the tex syntax.\\\",t),n();else{var i=a.select(\\\"svg\\\").node().getBoundingClientRect();n(a.select(\\\".MathJax_SVG\\\"),r,i)}a.remove()})}(a[2],c,function(e,a,c){o.selectAll(\\\"svg.\\\"+s).remove(),o.selectAll(\\\"g.\\\"+s+\\\"-group\\\").remove();var h=e&&e.select(\\\"svg\\\");if(!h||!h.node())return l(),void r();var f=o.append(\\\"g\\\").classed(s+\\\"-group\\\",!0).attr({\\\"pointer-events\\\":\\\"none\\\",\\\"data-unformatted\\\":i,\\\"data-math\\\":\\\"Y\\\"});f.node().appendChild(h.node()),a&&a.node()&&h.node().insertBefore(a.node().cloneNode(!0),h.node().firstChild),h.attr({class:s,height:c.height,preserveAspectRatio:\\\"xMinYMin meet\\\"}).style({overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"});var p=t.node().style.fill||\\\"black\\\";h.select(\\\"g\\\").attr({fill:p,stroke:p});var d=nr(h,\\\"width\\\"),g=nr(h,\\\"height\\\"),v=+t.attr(\\\"x\\\")-d*{start:0,middle:.5,end:1}[t.attr(\\\"text-anchor\\\")||\\\"start\\\"],m=-(u||nr(t,\\\"height\\\"))/4;\\\"y\\\"===s[0]?(f.attr({transform:\\\"rotate(\\\"+[-90,+t.attr(\\\"x\\\"),+t.attr(\\\"y\\\")]+\\\") translate(\\\"+[-d/2,m-g/2]+\\\")\\\"}),h.attr({x:+t.attr(\\\"x\\\"),y:+t.attr(\\\"y\\\")})):\\\"l\\\"===s[0]?h.attr({x:t.attr(\\\"x\\\"),y:m-g/2}):\\\"a\\\"===s[0]?h.attr({x:0,y:m}):h.attr({x:v,y:+t.attr(\\\"y\\\")+m-g/2}),n&&n.call(t,f),r(f)})})):l(),t}function l(){o.empty()||(s=t.attr(\\\"class\\\")+\\\"-math\\\",o.select(\\\"svg.\\\"+s).remove()),t.text(\\\"\\\").style(\\\"white-space\\\",\\\"pre\\\"),function(t,r){r=(n=r,function(t,e){if(!t)return\\\"\\\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(n,pr)).replace(dr,\\\" \\\");var n;var i,a=!1,o=[],s=-1;function l(){s++;var r=document.createElementNS($e.svg,\\\"tspan\\\");e.select(r).attr({class:\\\"line\\\",dy:s*rr+\\\"em\\\"}),t.appendChild(r),i=r;var n=o;if(o=[{node:r}],n.length>1)for(var a=1;a<n.length;a++)u(n[a])}function u(t){var r,n=t.type,a={};if(\\\"a\\\"===n){r=\\\"a\\\";var s=t.target,l=t.href,u=t.popup;l&&(a={\\\"xlink:xlink:show\\\":\\\"_blank\\\"===s||\\\"_\\\"!==s.charAt(0)?\\\"new\\\":\\\"replace\\\",target:s,\\\"xlink:xlink:href\\\":l},u&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,\\\"'+u+'\\\");return false;'))}else r=\\\"tspan\\\";t.style&&(a.style=t.style);var h=document.createElementNS($e.svg,r);if(\\\"sup\\\"===n||\\\"sub\\\"===n){c(i,cr),i.appendChild(h);var f=document.createElementNS($e.svg,\\\"tspan\\\");c(f,cr),e.select(f).attr(\\\"dy\\\",ur[n]),a.dy=lr[n],i.appendChild(h),i.appendChild(f)}else i.appendChild(h);e.select(h).attr(a),i=t.node=h,o.push(t)}function c(t,e){t.appendChild(document.createTextNode(e))}function h(t){if(1!==o.length){var e=o.pop();t!==e.type&&ne.log(\\\"Start tag <\\\"+e.type+\\\"> doesnt match end tag <\\\"+t+\\\">. Pretending it did match.\\\",r),i=o[o.length-1].node}else ne.log(\\\"Ignoring unexpected end tag </\\\"+t+\\\">.\\\",r)}mr.test(r)?l():(i=t,o=[{node:t}]);for(var f=r.split(gr),p=0;p<f.length;p++){var d=f[p],g=d.match(vr),v=g&&g[2].toLowerCase(),m=sr[v];if(\\\"br\\\"===v)l();else if(void 0===m)c(i,d);else if(g[1])h(v);else{var y=g[4],x={type:v},b=wr(y,yr);if(b?(b=b.replace(Mr,\\\"$1 fill:\\\"),m&&(b+=\\\";\\\"+m)):m&&(b=m),b&&(x.style=b),\\\"a\\\"===v){a=!0;var _=wr(y,xr);if(_){var w=document.createElement(\\\"a\\\");w.href=_,-1!==hr.indexOf(w.protocol)&&(x.href=encodeURI(_),x.target=wr(y,br)||\\\"_blank\\\",x.popup=wr(y,_r))}}u(x)}}return a}(t.node(),i)&&t.style(\\\"pointer-events\\\",\\\"all\\\"),er.positionText(t),n&&n.call(t)}};var ar=/(<|&lt;|&#60;)/g,or=/(>|&gt;|&#62;)/g;var sr={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\\\"},lr={sub:\\\"0.3em\\\",sup:\\\"-0.6em\\\"},ur={sub:\\\"-0.21em\\\",sup:\\\"0.42em\\\"},cr=\\\"\\\\u200b\\\",hr=[\\\"http:\\\",\\\"https:\\\",\\\"mailto:\\\",\\\"\\\",void 0,\\\":\\\"],fr=new RegExp(\\\"</?(\\\"+Object.keys(sr).join(\\\"|\\\")+\\\")( [^>]*)?/?>\\\",\\\"g\\\"),pr=Object.keys(tr.entityToUnicode).map(function(t){return{regExp:new RegExp(\\\"&\\\"+t+\\\";\\\",\\\"g\\\"),sub:tr.entityToUnicode[t]}}),dr=/(\\\\r\\\\n?|\\\\n)/g,gr=/(<[^<>]*>)/,vr=/<(\\\\/?)([^ >]*)(\\\\s+(.*))?>/i,mr=/<br(\\\\s+.*)?>/i,yr=/(^|[\\\\s\\\"'])style\\\\s*=\\\\s*(\\\"([^\\\"]*);?\\\"|'([^']*);?')/i,xr=/(^|[\\\\s\\\"'])href\\\\s*=\\\\s*(\\\"([^\\\"]*)\\\"|'([^']*)')/i,br=/(^|[\\\\s\\\"'])target\\\\s*=\\\\s*(\\\"([^\\\"\\\\s]*)\\\"|'([^'\\\\s]*)')/i,_r=/(^|[\\\\s\\\"'])popup\\\\s*=\\\\s*(\\\"([\\\\w=,]*)\\\"|'([\\\\w=,]*)')/i;function wr(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var Mr=/(^|;)\\\\s*color:/;function Ar(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\\\"top\\\",l=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return i=\\\"bottom\\\"===s?function(){return l.bottom-n.height}:\\\"middle\\\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\\\"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:i()-u.top+\\\"px\\\",left:a()-u.left+\\\"px\\\",\\\"z-index\\\":1e3}),this}}er.plainText=function(t){return(t||\\\"\\\").replace(fr,\\\" \\\")},er.lineCount=function(t){return t.selectAll(\\\"tspan.line\\\").size()||1},er.positionText=function(t,r,n){return t.each(function(){var t=e.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\\\"x\\\",r),o=i(\\\"y\\\",n);\\\"text\\\"===this.nodeName&&t.selectAll(\\\"tspan.line\\\").attr({x:a,y:o})})},er.makeEditable=function(t,r){var n=r.gd,i=r.delegate,a=e.dispatch(\\\"edit\\\",\\\"input\\\",\\\"cancel\\\"),o=i||t;if(t.style({\\\"pointer-events\\\":i?\\\"none\\\":\\\"all\\\"}),1!==t.size())throw new Error(\\\"boo\\\");function s(){var i,s,u,c;i=e.select(n).select(\\\".svg-container\\\"),s=i.append(\\\"div\\\"),u=t.node().style,c=parseFloat(u.fontSize||12),s.classed(\\\"plugin-editable editable\\\",!0).style({position:\\\"absolute\\\",\\\"font-family\\\":u.fontFamily||\\\"Arial\\\",\\\"font-size\\\":c,color:r.fill||u.fill||\\\"black\\\",opacity:1,\\\"background-color\\\":r.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(r.text||t.attr(\\\"data-unformatted\\\")).call(Ar(t,i,r)).on(\\\"blur\\\",function(){n._editing=!1,t.text(this.textContent).style({opacity:1});var r,i=e.select(this).attr(\\\"class\\\");(r=i?\\\".\\\"+i.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&e.select(t.node().parentNode).select(r).style({opacity:0});var o=this.textContent;e.select(this).transition().duration(0).remove(),e.select(document).on(\\\"mouseup\\\",null),a.edit.call(t,o)}).on(\\\"focus\\\",function(){var t=this;n._editing=!0,e.select(document).on(\\\"mouseup\\\",function(){if(e.event.target===t)return!1;document.activeElement===s.node()&&s.node().blur()})}).on(\\\"keyup\\\",function(){27===e.event.which?(n._editing=!1,t.style({opacity:1}),e.select(this).style({opacity:0}).on(\\\"blur\\\",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),e.select(this).call(Ar(t,i,r)))}).on(\\\"keydown\\\",function(){13===e.event.which&&this.blur()}).call(l),t.style({opacity:0});var h,f=o.attr(\\\"class\\\");(h=f?\\\".\\\"+f.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&e.select(t.node().parentNode).select(h).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 r.immediate?s():o.on(\\\"click\\\",s),e.rebind(t,a,\\\"on\\\")};var kr=function(t){var e=t.marker,n=e.sizeref||1,i=e.sizemin||0,a=\\\"area\\\"===e.sizemode?function(t){return Math.sqrt(t/n)}:function(t){return t/n};return function(t){var e=a(t/2);return r(e)&&e>0?Math.max(e,i):0}},Tr={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\\\")},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\\\"text\\\")},isBubble:function(t){return ne.isPlainObject(t.marker)&&ne.isArrayOrTypedArray(t.marker.size)}},Sr={},Er=Qe.LINE_SPACING,Cr=f.DESELECTDIM,Lr=Sr={};Lr.font=function(t,e,r,n){ne.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(Oe.fill,n)},Lr.setPosition=function(t,e,r){t.attr(\\\"x\\\",e).attr(\\\"y\\\",r)},Lr.setSize=function(t,e,r){t.attr(\\\"width\\\",e).attr(\\\"height\\\",r)},Lr.setRect=function(t,e,r,n,i){t.call(Lr.setPosition,e,r).call(Lr.setSize,n,i)},Lr.translatePoint=function(t,e,n,i){var a=n.c2p(t.x),o=i.c2p(t.y);return!!(r(a)&&r(o)&&e.node())&&(\\\"text\\\"===e.node().nodeName?e.attr(\\\"x\\\",a).attr(\\\"y\\\",o):e.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\",\\\"+o+\\\")\\\"),!0)},Lr.translatePoints=function(t,r,n){t.each(function(t){var i=e.select(this);Lr.translatePoint(t,i,r,n)})},Lr.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\\\"display\\\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\\\"none\\\")},Lr.hideOutsideRangePoints=function(t,r,n){if(r._hasClipOnAxisFalse){n=n||\\\".point,.textpoint\\\";var i=r.xaxis,a=r.yaxis;t.each(function(r){var o=r[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(n).each(function(t){Lr.hideOutsideRangePoint(t,e.select(this),i,a,s,l)})})}},Lr.crispRound=function(t,e,n){return e&&r(e)?t._context.staticPlot?e:e<1?1:Math.round(e):n||0},Lr.singleLineStyle=function(t,e,r,n,i){e.style(\\\"fill\\\",\\\"none\\\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\\\"\\\";Oe.stroke(e,n||a.color),Lr.dashLine(e,s,o)},Lr.lineGroupStyle=function(t,r,n,i){t.style(\\\"fill\\\",\\\"none\\\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\\\"\\\";e.select(this).call(Oe.stroke,n||a.color).call(Lr.dashLine,s,o)})},Lr.dashLine=function(t,e,r){r=+r||0,e=Lr.dashStyle(e,r),t.style({\\\"stroke-dasharray\\\":e,\\\"stroke-width\\\":r+\\\"px\\\"})},Lr.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},Lr.singleFillStyle=function(t){var r=(((e.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;r&&t.call(Oe.fill,r)},Lr.fillGroupStyle=function(t){t.style(\\\"stroke-width\\\",0).each(function(r){var n=e.select(this);try{n.call(Oe.fill,r[0].trace.fillcolor)}catch(e){ne.error(e,t),n.remove()}})},Lr.symbolNames=[],Lr.symbolFuncs=[],Lr.symbolNeedLines={},Lr.symbolNoDot={},Lr.symbolNoFill={},Lr.symbolList=[],Object.keys(Ke).forEach(function(t){var e=Ke[t];Lr.symbolList=Lr.symbolList.concat([e.n,t,e.n+100,t+\\\"-open\\\"]),Lr.symbolNames[e.n]=t,Lr.symbolFuncs[e.n]=e.f,e.needLine&&(Lr.symbolNeedLines[e.n]=!0),e.noDot?Lr.symbolNoDot[e.n]=!0:Lr.symbolList=Lr.symbolList.concat([e.n+200,t+\\\"-dot\\\",e.n+300,t+\\\"-open-dot\\\"]),e.noFill&&(Lr.symbolNoFill[e.n]=!0)});var zr=Lr.symbolNames.length,Pr=\\\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\\\";function Ir(t,e){var r=t%100;return Lr.symbolFuncs[r](e)+(t>=200?Pr:\\\"\\\")}Lr.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=Lr.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=zr||t>=400?0:Math.floor(Math.max(t,0))};var Dr={x1:1,x2:0,y1:0,y2:0},Or={x1:0,x2:0,y1:1,y2:0};Lr.gradient=function(t,r,n,i,a,o){var l=r._fullLayout._defs.select(\\\".gradients\\\").selectAll(\\\"#\\\"+n).data([i+a+o],ne.identity);l.exit().remove(),l.enter().append(\\\"radial\\\"===i?\\\"radialGradient\\\":\\\"linearGradient\\\").each(function(){var t=e.select(this);\\\"horizontal\\\"===i?t.attr(Dr):\\\"vertical\\\"===i&&t.attr(Or),t.attr(\\\"id\\\",n);var r=s(a),l=s(o);t.append(\\\"stop\\\").attr({offset:\\\"0%\\\",\\\"stop-color\\\":Oe.tinyRGB(l),\\\"stop-opacity\\\":l.getAlpha()}),t.append(\\\"stop\\\").attr({offset:\\\"100%\\\",\\\"stop-color\\\":Oe.tinyRGB(r),\\\"stop-opacity\\\":r.getAlpha()})}),t.style({fill:\\\"url(#\\\"+n+\\\")\\\",\\\"fill-opacity\\\":null})},Lr.initGradients=function(t){var e=t._fullLayout._defs.selectAll(\\\".gradients\\\").data([0]);e.enter().append(\\\"g\\\").classed(\\\"gradients\\\",!0),e.selectAll(\\\"linearGradient,radialGradient\\\").remove()},Lr.singlePointStyle=function(t,e,r,n,i,a){var o=r.marker;!function(t,e,r,n,i,a,o,s){if(P.traceIs(r,\\\"symbols\\\")){var l=kr(r);e.attr(\\\"d\\\",function(t){var e;e=\\\"various\\\"===t.ms||\\\"various\\\"===a.size?3:Tr.isBubble(r)?l(t.ms):(a.size||6)/2,t.mrc=e;var n=Lr.symbolNumber(t.mx||a.symbol)||0;return t.om=n%200>=100,Ir(n,e)})}e.style(\\\"opacity\\\",function(t){return(t.mo+1||a.opacity+1)-1});var u,c,h,f=!1;if(t.so?(h=o.outlierwidth,c=o.outliercolor,u=a.outliercolor):(h=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,c=\\\"mlc\\\"in t?t.mlcc=i(t.mlc):ne.isArrayOrTypedArray(o.color)?Oe.defaultLine:o.color,ne.isArrayOrTypedArray(a.color)&&(u=Oe.defaultLine,f=!0),u=\\\"mc\\\"in t?t.mcc=n(t.mc):a.color||\\\"rgba(0,0,0,0)\\\"),t.om)e.call(Oe.stroke,u).style({\\\"stroke-width\\\":(h||1)+\\\"px\\\",fill:\\\"none\\\"});else{e.style(\\\"stroke-width\\\",h+\\\"px\\\");var p=a.gradient,d=t.mgt;if(d?f=!0:d=p&&p.type,d&&\\\"none\\\"!==d){var g=t.mgc;g?f=!0:g=p.color;var v=\\\"g\\\"+s._fullLayout._uid+\\\"-\\\"+r.uid;f&&(v+=\\\"-\\\"+t.i),e.call(Lr.gradient,s,v,d,u,g)}else e.call(Oe.fill,u);h&&e.call(Oe.stroke,c)}}(t,e,r,n,i,o,o.line,a)},Lr.pointStyle=function(t,r,n){if(t.size()){var i=r.marker,a=Lr.tryColorscale(i,\\\"\\\"),o=Lr.tryColorscale(i,\\\"line\\\");t.each(function(t){Lr.singlePointStyle(t,e.select(this),r,a,o,n)})}},Lr.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=void 0!==l,h=void 0!==u;e.opacityFn=function(t){var e=t.mo,r=void 0!==e;if(r||c||h){if(!t.selected)return h?u:Cr*(r?e:s);if(c)return l}};var f=a.color,p=o.color;(f||p)&&(e.colorFn=function(t){if(t.selected){if(f)return f}else if(p)return p});var d=a.size,g=o.size,v=void 0!==d,m=void 0!==g;return(v||m)&&(e.sizeFn=function(t){var e=t.mrc;return t.selected?v?d/2:e:m?g/2:e}),e},Lr.selectedPointStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=Lr.makeSelectedPointStyleFns(r),i=r.marker||{};t.each(function(t){var r=e.select(this),i=n.opacityFn(t);void 0!==i&&r.style(\\\"opacity\\\",i)}),n.colorFn&&t.each(function(t){var r=e.select(this),i=n.colorFn(t);i&&Oe.fill(r,i)}),P.traceIs(r,\\\"symbols\\\")&&n.sizeFn&&t.each(function(t){var r=e.select(this),a=t.mx||i.symbol||0,o=n.sizeFn(t);r.attr(\\\"d\\\",Ir(Lr.symbolNumber(a),o)),t.mrc2=o})}},Lr.tryColorscale=function(t,e){var r=e?ne.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&ne.isArrayOrTypedArray(i)?Je.makeColorScaleFunc(Je.extractScale(n,r.cmin,r.cmax)):ne.identity};var Rr={start:1,end:-1,middle:0,bottom:1,top:-1};function Fr(t,r,n,i){var a=e.select(t.node().parentNode),o=-1!==r.indexOf(\\\"top\\\")?\\\"top\\\":-1!==r.indexOf(\\\"bottom\\\")?\\\"bottom\\\":\\\"middle\\\",s=-1!==r.indexOf(\\\"left\\\")?\\\"end\\\":-1!==r.indexOf(\\\"right\\\")?\\\"start\\\":\\\"middle\\\",l=i?i/.8+1:0,u=(er.lineCount(t)-1)*Er+1,c=Rr[s]*l,h=.75*n+Rr[o]*l+(Rr[o]-1)*u*n/2;t.attr(\\\"text-anchor\\\",s),a.attr(\\\"transform\\\",\\\"translate(\\\"+c+\\\",\\\"+h+\\\")\\\")}function Br(t,e){var n=t.ts||e.textfont.size;return r(n)&&n>0?n:0}Lr.textPointStyle=function(t,r,n){t.each(function(t){var i=e.select(this),a=ne.extractOption(t,r,\\\"tx\\\",\\\"text\\\");if(a){var o=t.tp||r.textposition,s=Br(t,r);i.call(Lr.font,t.tf||r.textfont.family,s,t.tc||r.textfont.color).text(a).call(er.convertToTspans,n).call(Fr,o,s,t.mrc)}else i.remove()})},Lr.selectedTextStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=r.selected||{},i=r.unselected||{};t.each(function(t){var a,o=e.select(this),s=t.tc||r.textfont.color,l=t.tp||r.textposition,u=Br(t,r),c=(n.textfont||{}).color,h=(i.textfont||{}).color;t.selected?c&&(a=c):h?a=h:c||(a=Oe.addOpacity(s,Cr)),a&&Oe.fill(o,a),Fr(o,l,u,t.mrc2||t.mrc)})}};var Nr=.5;function jr(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,Nr/2),c=Math.pow(s*s+l*l,Nr/2),h=(c*c*a-u*u*s)*i,f=(c*c*o-u*u*l)*i,p=3*c*(u+c),d=3*u*(u+c);return[[e.round(r[0]+(p&&h/p),2),e.round(r[1]+(p&&f/p),2)],[e.round(r[0]-(d&&h/d),2),e.round(r[1]-(d&&f/d),2)]]}Lr.smoothopen=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\");var r,n=\\\"M\\\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(jr(t[r-1],t[r],t[r+1],e));for(n+=\\\"Q\\\"+i[0][0]+\\\" \\\"+t[1],r=2;r<t.length-1;r++)n+=\\\"C\\\"+i[r-2][1]+\\\" \\\"+i[r-1][0]+\\\" \\\"+t[r];return n+=\\\"Q\\\"+i[t.length-3][1]+\\\" \\\"+t[t.length-1]},Lr.smoothclosed=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\")+\\\"Z\\\";var r,n=\\\"M\\\"+t[0],i=t.length-1,a=[jr(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(jr(t[r-1],t[r],t[r+1],e));for(a.push(jr(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\\\"C\\\"+a[r-1][1]+\\\" \\\"+a[r][0]+\\\" \\\"+t[r];return n+=\\\"C\\\"+a[i][1]+\\\" \\\"+a[0][0]+\\\" \\\"+t[0]+\\\"Z\\\"};var Vr={hv:function(t,r){return\\\"H\\\"+e.round(r[0],2)+\\\"V\\\"+e.round(r[1],2)},vh:function(t,r){return\\\"V\\\"+e.round(r[1],2)+\\\"H\\\"+e.round(r[0],2)},hvh:function(t,r){return\\\"H\\\"+e.round((t[0]+r[0])/2,2)+\\\"V\\\"+e.round(r[1],2)+\\\"H\\\"+e.round(r[0],2)},vhv:function(t,r){return\\\"V\\\"+e.round((t[1]+r[1])/2,2)+\\\"H\\\"+e.round(r[0],2)+\\\"V\\\"+e.round(r[1],2)}},Ur=function(t,r){return\\\"L\\\"+e.round(r[0],2)+\\\",\\\"+e.round(r[1],2)};Lr.steps=function(t){var r=Vr[t]||Ur;return function(t){for(var n=\\\"M\\\"+e.round(t[0][0],2)+\\\",\\\"+e.round(t[0][1],2),i=1;i<t.length;i++)n+=r(t[i-1],t[i]);return n}},Lr.makeTester=function(){var t=e.select(\\\"body\\\").selectAll(\\\"#js-plotly-tester\\\").data([0]);t.enter().append(\\\"svg\\\").attr(\\\"id\\\",\\\"js-plotly-tester\\\").attr($e.svgAttrs).style({position:\\\"absolute\\\",left:\\\"-10000px\\\",top:\\\"-10000px\\\",width:\\\"9000px\\\",height:\\\"9000px\\\",\\\"z-index\\\":\\\"1\\\"});var r=t.selectAll(\\\".js-reference-point\\\").data([0]);r.enter().append(\\\"path\\\").classed(\\\"js-reference-point\\\",!0).attr(\\\"d\\\",\\\"M0,0H1V1H0Z\\\").style({\\\"stroke-width\\\":0,fill:\\\"black\\\"}),Lr.tester=t,Lr.testref=r},Lr.savedBBoxes={};var qr=0;function Hr(t){var e=t.getAttribute(\\\"data-unformatted\\\");if(null!==e)return e+t.getAttribute(\\\"data-math\\\")+t.getAttribute(\\\"text-anchor\\\")+t.getAttribute(\\\"style\\\")}Lr.bBox=function(t,r,n){var i,a,o;if(n||(n=Hr(t)),n){if(i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(n=Hr(s)){var l=+s.getAttribute(\\\"x\\\")||0,u=+s.getAttribute(\\\"y\\\")||0,c=s.getAttribute(\\\"transform\\\");if(!c){var h=Lr.bBox(s,!1,n);return l&&(h.left+=l,h.right+=l),u&&(h.top+=u,h.bottom+=u),h}if(n+=\\\"~\\\"+l+\\\"~\\\"+u+\\\"~\\\"+c,i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}}r?a=t:(o=Lr.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),e.select(a).attr(\\\"transform\\\",null).call(er.positionText,0,0);var f=a.getBoundingClientRect(),p=Lr.testref.node().getBoundingClientRect();r||o.removeChild(a);var d={height:f.height,width:f.width,left:f.left-p.left,top:f.top-p.top,right:f.right-p.left,bottom:f.bottom-p.top};return qr>=1e4&&(Lr.savedBBoxes={},qr=0),n&&(Lr.savedBBoxes[n]=d),qr++,ne.extendFlat({},d)},Lr.setClipUrl=function(t,r){if(r){var n=\\\"#\\\"+r,i=e.select(\\\"base\\\");i.size()&&i.attr(\\\"href\\\")&&(n=window.location.href.split(\\\"#\\\")[0]+n),t.attr(\\\"clip-path\\\",\\\"url(\\\"+n+\\\")\\\")}else t.attr(\\\"clip-path\\\",null)},Lr.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}},Lr.setTranslate=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||0,r=r||0,a=a.replace(/(\\\\btranslate\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" translate(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},Lr.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}},Lr.setScale=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||1,r=r||1,a=a.replace(/(\\\\bscale\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" scale(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},Lr.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\\\"\\\":\\\" scale(\\\"+e+\\\",\\\"+r+\\\")\\\",a=/\\\\s*sc.*/,t.each(function(){n=(this.getAttribute(\\\"transform\\\")||\\\"\\\").replace(a,\\\"\\\"),n=(n+=i).trim(),this.setAttribute(\\\"transform\\\",n)}),i};var Gr=/translate\\\\([^)]*\\\\)\\\\s*$/;Lr.setTextPointsScale=function(t,r,n){t.each(function(){var t,i=e.select(this),a=i.select(\\\"text\\\");if(a.node()){var o=parseFloat(a.attr(\\\"x\\\")||0),s=parseFloat(a.attr(\\\"y\\\")||0),l=(i.attr(\\\"transform\\\")||\\\"\\\").match(Gr);t=1===r&&1===n?[]:[\\\"translate(\\\"+o+\\\",\\\"+s+\\\")\\\",\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\",\\\"translate(\\\"+-o+\\\",\\\"+-s+\\\")\\\"],l&&t.push(l),i.attr(\\\"transform\\\",t.join(\\\" \\\"))}})};var Wr={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20},Yr=Ae.dash,Xr=m.extendFlat,Zr={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},x0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dx:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dy:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},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\\\"},line:{color:{valType:\\\"color\\\",editType:\\\"style\\\"},width:{valType:\\\"number\\\",min:0,dflt:2,editType:\\\"style\\\"},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:Xr({},Yr,{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\\\"],dflt:\\\"none\\\",editType:\\\"calc\\\"},fillcolor:{valType:\\\"color\\\",editType:\\\"style\\\"},marker:Xr({symbol:{valType:\\\"enumerated\\\",values:Sr.symbolList,dflt:\\\"circle\\\",arrayOk:!0,editType:\\\"style\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,arrayOk:!0,editType:\\\"style\\\"},size:{valType:\\\"number\\\",min:0,dflt:6,arrayOk:!0,editType:\\\"calcIfAutorange\\\"},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\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:ze,line:Xr({width:{valType:\\\"number\\\",min:0,arrayOk:!0,editType:\\\"style\\\"},editType:\\\"calc\\\"},De()),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\\\"},De()),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:T({editType:\\\"calc\\\",colorEditType:\\\"style\\\",arrayOk:!0}),r:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},t:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}},Jr=Zr.marker,Kr={r:Zr.r,t:Zr.t,marker:{color:Jr.color,size:Jr.size,symbol:Jr.symbol,opacity:Jr.opacity,editType:\\\"calc\\\"}},Qr=m.extendFlat,$r=ye.overrideAll,tn=Qr({},Ce.domain,{});function en(t,e){return Qr({},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\\\"},visible:{valType:\\\"boolean\\\"}})}var rn=$r({radialaxis:en(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},domain:tn,orientation:{valType:\\\"number\\\"}}),angularaxis:en(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",dflt:0},{valType:\\\"number\\\",dflt:360}]},domain:tn}),layout:{direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"]},orientation:{valType:\\\"angle\\\"}}},\\\"plot\\\",\\\"nested\\\"),nn={},an=ne.extendFlat,on=ne.extendDeepAll,sn=\\\"_isSubplotObj\\\",ln=\\\"_isLinkedToArray\\\",un=[sn,ln,\\\"_arrayAttrRegexps\\\",\\\"_deprecated\\\"];function cn(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(hn(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!ne.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!hn(e[++r]))return!1}else if(\\\"info_array\\\"===t.valType){var i=e[++r];if(!hn(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!hn(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function hn(t){return t===Math.round(t)&&t>=0}function fn(t){return function(t){nn.crawl(t,function(t,e,r){nn.isValObject(t)?\\\"data_array\\\"===t.valType?(t.role=\\\"data\\\",r[e+\\\"src\\\"]={valType:\\\"string\\\",editType:\\\"none\\\"}):!0===t.arrayOk&&(r[e+\\\"src\\\"]={valType:\\\"string\\\",editType:\\\"none\\\"}):ne.isPlainObject(t)&&(t.role=\\\"object\\\")})}(t),function(t){nn.crawl(t,function(t,e,r){if(!t)return;var n=t[ln];if(!n)return;delete t[ln],r[e]={items:{}},r[e].items[n]=t,r[e].role=\\\"object\\\"})}(t),t}function pn(t,e,r){var n=ne.nestedProperty(t,r),i=on({},e.layoutAttributes);i[sn]=!0,n.set(i)}function dn(t,e,r){var n=ne.nestedProperty(t,r);n.set(on(n.get()||{},e))}nn.IS_SUBPLOT_OBJ=sn,nn.IS_LINKED_TO_ARRAY=ln,nn.DEPRECATED=\\\"_deprecated\\\",nn.UNDERSCORE_ATTRS=un,nn.get=function(){var t={};P.allTypes.concat(\\\"area\\\").forEach(function(e){t[e]=function(t){var e,r;\\\"area\\\"===t?(e={attributes:Kr},r={}):(e=P.modules[t]._module,r=e.basePlotModule);var n={type:null};on(n,E),on(n,e.attributes),r.attributes&&on(n,r.attributes);n.type=t;var i={meta:e.meta||{},attributes:fn(n)};if(e.layoutAttributes){var a={};on(a,e.layoutAttributes),i.layoutAttributes=fn(a)}return i}(e)});var e,r={};return Object.keys(P.transformsRegistry).forEach(function(t){r[t]=function(t){var e=P.transformsRegistry[t],r=on({},e.attributes);return Object.keys(P.componentsRegistry).forEach(function(e){var n=P.componentsRegistry[e];n.schema&&n.schema.transforms&&n.schema.transforms[t]&&Object.keys(n.schema.transforms[t]).forEach(function(e){dn(r,n.schema.transforms[t][e],e)})}),{attributes:fn(r)}}(t)}),{defs:{valObjects:ne.valObjectMeta,metaKeys:un.concat([\\\"description\\\",\\\"role\\\",\\\"editType\\\",\\\"impliedEdits\\\"]),editType:{traces:ye.traces,layout:ye.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in on(r,z),P.subplotsRegistry)if((e=P.subplotsRegistry[t]).layoutAttributes)if(\\\"cartesian\\\"===e.name)pn(r,e,\\\"xaxis\\\"),pn(r,e,\\\"yaxis\\\");else{var n=\\\"subplot\\\"===e.attr?e.name:e.attr;pn(r,e,n)}for(t in r=function(t){return an(t,{radialaxis:rn.radialaxis,angularaxis:rn.angularaxis}),an(t,rn.layout),t}(r),P.componentsRegistry){var i=(e=P.componentsRegistry[t]).schema;if(i&&(i.subplots||i.layout)){var a=i.subplots;if(a&&a.xaxis&&!a.yaxis)for(var o in a.xaxis)delete r.yaxis[o]}else e.layoutAttributes&&dn(r,e.layoutAttributes,e.name)}return{layoutAttributes:fn(r)}}(),transforms:r,frames:(e={frames:ne.extendDeepAll({},Me)},fn(e),e.frames),animation:fn(we)}},nn.crawl=function(t,e,r,n){var i=r||0;n=n||\\\"\\\",Object.keys(t).forEach(function(r){var a=t[r];if(-1===un.indexOf(r)){var o=(n?n+\\\".\\\":\\\"\\\")+r;e(a,r,t,i,o),nn.isValObject(a)||ne.isPlainObject(a)&&\\\"impliedEdits\\\"!==r&&nn.crawl(a,e,i+1,o)}})},nn.isValObject=function(t){return t&&void 0!==t.valType},nn.findArrayAttributes=function(t){var e=[],r=[];function n(n,i,a,o){if(r=r.slice(0,o).concat([i]),n&&(\\\"data_array\\\"===n.valType||!0===n.arrayOk)&&!(\\\"colorbar\\\"===r[o-1]&&(\\\"ticktext\\\"===i||\\\"tickvals\\\"===i))){var s=function(t){return t.join(\\\".\\\")}(r),l=ne.nestedProperty(t,s).get();ne.isArrayOrTypedArray(l)&&e.push(s)}}if(nn.crawl(E,n),t._module&&t._module.attributes&&nn.crawl(t._module.attributes,n),t.transforms)for(var i=t.transforms,a=0;a<i.length;a++){var o=i[a]._module;o&&(r=[\\\"transforms[\\\"+a+\\\"]\\\"],nn.crawl(o.attributes,n,1))}return t._fullInput&&t._fullInput._module&&t._fullInput._module.attributes&&(nn.crawl(t._fullInput._module.attributes,n),e=ne.filterUnique(e)),e},nn.getTraceValObject=function(t,e){var r,n,i=e[0],a=1;if(\\\"transforms\\\"===i){if(!Array.isArray(t.transforms))return!1;var o=e[1];if(!hn(o)||o>=t.transforms.length)return!1;n=(r=(P.transformsRegistry[t.transforms[o].type]||{}).attributes)&&r[e[2]],a=3}else if(\\\"area\\\"===t.type)n=Kr[i];else{var s=t._module;if(s||(s=(P.modules[t.type||E.type.dflt]||{})._module),!s)return!1;if(!(n=(r=s.attributes)&&r[i])){var l=s.basePlotModule;l&&l.attributes&&(n=l.attributes[i])}n||(n=E[i])}return cn(n,e,a)},nn.getLayoutValObject=function(t,e){return cn(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if((i=o[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r<u.length;r++)if((a=u[r].layoutAttributes)&&e in a)return a[e];for(n in P.componentsRegistry)if(!(i=P.componentsRegistry[n]).schema&&e===i.name)return i.layoutAttributes;if(e in z)return z[e];if(\\\"radialaxis\\\"===e||\\\"angularaxis\\\"===e)return rn[e];return rn.layout[e]||!1}(t,e[0]),e,1)};var gn={id2name:function(t){if(\\\"string\\\"==typeof t&&t.match(Te.AX_ID_PATTERN)){var e=t.substr(1);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+\\\"axis\\\"+e}},name2id:function(t){if(t.match(Te.AX_NAME_PATTERN)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+e}},cleanId:function(t,e){if(t.match(Te.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\\\"\\\");return\\\"1\\\"===r&&(r=\\\"\\\"),t.charAt(0)+r}},list:function(t,e,r){var n=t._fullLayout;if(!n)return[];var i,a=gn.listIds(t,e),o=new Array(a.length);for(i=0;i<a.length;i++){var s=a[i];o[i]=n[s.charAt(0)+\\\"axis\\\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(i=0;i<l.length;i++){var u=n[l[i]];e?o.push(u[e+\\\"axis\\\"]):o.push(u.xaxis,u.yaxis,u.zaxis)}}return o},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)},getFromId:function(t,e,r){var n=t._fullLayout;return\\\"x\\\"===r?e=e.replace(/y[0-9]*/,\\\"\\\"):\\\"y\\\"===r&&(e=e.replace(/x[0-9]*/,\\\"\\\")),n[gn.id2name(e)]},getFromTrace:function(t,e,r){var n=t._fullLayout,i=null;if(P.traceIs(e,\\\"gl3d\\\")){var a=e.scene;\\\"scene\\\"===a.substr(0,5)&&(i=n[a][r+\\\"axis\\\"])}else i=gn.getFromId(t,e[r+\\\"axis\\\"]||r);return i},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)}},vn={};function mn(t,e,r){var n,i,a,o=!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=ne.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function yn(t,e){var r=[],n=e[0],i={};if(\\\"string\\\"==typeof n)i[n]=e[1];else{if(!ne.isPlainObject(n))return r;i=n}return bn(i,function(t,e,n){r.push({type:\\\"layout\\\",prop:t,value:n})},\\\"\\\",0),r}function xn(t,e){var r,n,i,a,o=[];if(n=e[0],i=e[1],r=e[2],a={},\\\"string\\\"==typeof n)a[n]=i;else{if(!ne.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),bn(a,function(e,n,i){var a;if(Array.isArray(i)){var s=Math.min(i.length,t.data.length);r&&(s=Math.min(s,r.length)),a=[];for(var l=0;l<s;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var u=i;i=[];for(var c=0;c<a.length;c++)i[c]=u}i.length=Math.min(a.length,i.length)}o.push({type:\\\"data\\\",prop:e,traces:a,value:i})},\\\"\\\",0),o}function bn(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\\\"_\\\"!==i[0]){var o=r+(n>0?\\\".\\\":\\\"\\\")+i;ne.isPlainObject(a)?bn(a,e,o,n+1):e(o,i,a)}})}vn.manageCommandObserver=function(t,e,r,n){var i={},a=!0;e&&e._commandObserver&&(i=e._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=vn.hasSimpleAPICommandBindings(t,r,i.lookupTable);if(e&&e._commandObserver){if(o)return i;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,i}if(o){mn(t,o,i.cache),i.check=function(){if(a){var e=mn(t,o,i.cache);return e.changed&&n&&void 0!==i.lookupTable[e.value]&&(i.disable(),Promise.resolve(n({value:e.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[e.value]})).then(i.enable,i.enable)),e.changed}};for(var s=[\\\"plotly_relayout\\\",\\\"plotly_redraw\\\",\\\"plotly_restyle\\\",\\\"plotly_update\\\",\\\"plotly_animatingframe\\\",\\\"plotly_afterplot\\\"],l=0;l<s.length;l++)t._internalOn(s[l],i.check);i.remove=function(){for(var e=0;e<s.length;e++)t._removeInternalListener(s[e],i.check)}}else ne.log(\\\"Unable to automatically bind plot updates to API command\\\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},e&&(e._commandObserver=i),i},vn.hasSimpleAPICommandBindings=function(t,e,r){var n,i,a=e.length;for(n=0;n<a;n++){var o,s=e[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=vn.computeAPICommandBindings(t,l,u);if(1!==c.length)return!1;if(i){if((o=c[0]).type!==i.type)return!1;if(o.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(o.traces))return!1;o.traces.sort();for(var h=0;h<i.traces.length;h++)if(i.traces[h]!==o.traces[h])return!1}else if(o.prop!==i.prop)return!1}else i=c[0],Array.isArray(i.traces)&&i.traces.sort();var f=(o=c[0]).value;if(Array.isArray(f)){if(1!==f.length)return!1;f=f[0]}r&&(r[f]=n)}return i},vn.executeAPICommand=function(t,e,r){if(\\\"skip\\\"===e)return Promise.resolve();var n=P.apiMethodRegistry[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return ne.warn(\\\"API call to Plotly.\\\"+e+\\\" rejected.\\\",t),Promise.reject(t)})},vn.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\\\"restyle\\\":n=xn(t,r);break;case\\\"relayout\\\":n=yn(t,r);break;case\\\"update\\\":n=xn(t,[r[0],r[2]]).concat(yn(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};var _n={},wn=ne._,Mn=t.BADNUM,An=_n={},kn=ne.relinkPrivateKeys;ne.extendFlat(An,P),An.attributes=E,An.attributes.type.values=An.allTypes,An.fontAttrs=T,An.layoutAttributes=z,An.fontWeight=\\\"normal\\\";var Tn=An.transformsRegistry;An.executeAPICommand=vn.executeAPICommand,An.computeAPICommandBindings=vn.computeAPICommandBindings,An.manageCommandObserver=vn.manageCommandObserver,An.hasSimpleAPICommandBindings=vn.hasSimpleAPICommandBindings,An.redrawText=function(t){if(!((t=ne.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){P.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(An.previousPromises(t))},300)})},An.resize=function(t){return t=ne.getGraphDiv(t),new Promise(function(e,r){t&&!function(t){var e=window.getComputedStyle(t).display;return!e||\\\"none\\\"===e}(t)||r(new Error(\\\"Resize must be passed a displayed plot div element.\\\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,P.call(\\\"relayout\\\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},An.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},An.addLinks=function(t){if(t._context.showLink||t._context.showSources){var r=t._fullLayout,n=r._paper.selectAll(\\\"text.js-plot-link-container\\\").data([0]);n.enter().append(\\\"text\\\").classed(\\\"js-plot-link-container\\\",!0).style({\\\"font-family\\\":'\\\"Open Sans\\\", Arial, sans-serif',\\\"font-size\\\":\\\"12px\\\",fill:Oe.defaultLine,\\\"pointer-events\\\":\\\"all\\\"}).each(function(){var t=e.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)});var i=n.node(),a={y:r._paper.attr(\\\"height\\\")-9};document.body.contains(i)&&i.getComputedTextLength()>=r.width-20?(a[\\\"text-anchor\\\"]=\\\"start\\\",a.x=5):(a[\\\"text-anchor\\\"]=\\\"end\\\",a.x=r._paper.attr(\\\"width\\\")-7),n.attr(a);var o=n.select(\\\".js-link-to-tool\\\"),s=n.select(\\\".js-link-spacer\\\"),l=n.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(){An.sendDataToCloud(t)});else{var n=window.location.pathname.split(\\\"/\\\"),i=window.location.search;r.attr({\\\"xlink:xlink:show\\\":\\\"new\\\",\\\"xlink:xlink:href\\\":\\\"/\\\"+n[2].split(\\\".\\\")[0]+\\\"/\\\"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?\\\" - \\\":\\\"\\\")}},An.sendDataToCloud=function(t){t.emit(\\\"plotly_beforeexport\\\");var r=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\\\"https://plot.ly\\\",n=e.select(t).append(\\\"div\\\").attr(\\\"id\\\",\\\"hiddenform\\\").style(\\\"display\\\",\\\"none\\\"),i=n.append(\\\"form\\\").attr({action:r+\\\"/external\\\",method:\\\"post\\\",target:\\\"_blank\\\"});return i.append(\\\"input\\\").attr({type:\\\"text\\\",name:\\\"data\\\"}).node().value=An.graphJson(t,!1,\\\"keepdata\\\"),i.node().submit(),n.remove(),t.emit(\\\"plotly_afterexport\\\"),!1};var Sn,En=[\\\"days\\\",\\\"shortDays\\\",\\\"months\\\",\\\"shortMonths\\\",\\\"periods\\\",\\\"dateTime\\\",\\\"date\\\",\\\"time\\\",\\\"decimal\\\",\\\"thousands\\\",\\\"grouping\\\",\\\"currency\\\"],Cn=[\\\"year\\\",\\\"month\\\",\\\"dayMonth\\\",\\\"dayMonthYear\\\"];function Ln(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r<a.length;r++)o[n=a[r]]=ne.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r<a.length;r++)n=a[r],ne.nestedProperty(t.trace,n).set(o[n])}function zn(t,e){var r=t._context.locale,n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var o=0;o<2;o++){for(var s=t._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=P.localeRegistry}var c=r.split(\\\"-\\\")[0];if(n||c===r)break;r=c}return n||a(P.localeRegistry.en.format),i}function Pn(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=Tn[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function In(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}An.supplyDefaults=function(t){var r=t._fullLayout||{};if(r._skipDefaults)delete r._skipDefaults;else{var n,i=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],l=t.data||[],u=t._context||{};t._transitionData||An.createTransitionData(t),i._dfltTitle={plot:wn(t,\\\"Click to enter Plot title\\\"),x:wn(t,\\\"Click to enter X axis title\\\"),y:wn(t,\\\"Click to enter Y axis title\\\"),colorbar:wn(t,\\\"Click to enter Colorscale title\\\"),annotation:wn(t,\\\"new text\\\")},i._traceWord=wn(t,\\\"trace\\\");var c=zn(t,En);if(i._mapboxAccessToken=u.mapboxAccessToken,r._initialAutoSizeIsDone){var h=r.width,f=r.height;An.supplyLayoutGlobalDefaults(a,i,c),a.width||(i.width=h),a.height||(i.height=f)}else{An.supplyLayoutGlobalDefaults(a,i,c);var p=!a.width||!a.height,d=i.autosize,g=u.autosizable;p&&(d||g)?An.plotAutoSize(t,a,i):p&&An.sanitizeMargins(t),!d&&p&&(a.width=i.width,a.height=i.height)}i._d3locale=function(t,r){return t.decimal=r.charAt(0),t.thousands=r.charAt(1),e.locale(t)}(c,i.separators),i._extraFormat=zn(t,Cn),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._basePlotModules=[],i._subplots=function(){var t,e,r={};if(!Sn){Sn=[];var n=P.subplotsRegistry;for(var i in n){var a=n[i],o=a.attr;if(o&&(Sn.push(i),Array.isArray(o)))for(e=0;e<o.length;e++)ne.pushUnique(Sn,o[e])}}for(t=0;t<Sn.length;t++)r[Sn[t]]=[];return r}(),i._globalTransforms=(t._context||{}).globalTransforms,An.supplyDataDefaults(l,s,a,i),i._has=An._hasPlotType.bind(i);var v=i._modules;for(n=0;n<v.length;n++){var m=v[n];m.cleanData&&m.cleanData(s)}if(o.length===l.length)for(n=0;n<s.length;n++)kn(s[n],o[n]);An.supplyLayoutModuleDefaults(a,i,s,t._transitionData),i._hasCartesian=i._has(\\\"cartesian\\\"),i._hasGeo=i._has(\\\"geo\\\"),i._hasGL3D=i._has(\\\"gl3d\\\"),i._hasGL2D=i._has(\\\"gl2d\\\"),i._hasTernary=i._has(\\\"ternary\\\"),i._hasPie=i._has(\\\"pie\\\"),An.cleanPlot(s,i,o,r),An.linkSubplots(s,i,o,r),kn(i,r),An.doAutoMargin(t);var y=gn.list(t);for(n=0;n<y.length;n++){y[n].setScale()}if((t.calcdata||[]).length===s.length)for(n=0;n<s.length;n++){var x=s[n],b=t.calcdata[n][0];b&&b.trace&&(b.trace._hasCalcTransform?Ln(b,x):b.trace=x)}}},An.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=[])},An._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 i=n[e];if(i.categories&&i.categories.indexOf(t)>=0)return!0}return!1},An.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=!!n._paper,u=!!n._infolayer,c=n._has&&n._has(\\\"gl\\\"),h=e._has&&e._has(\\\"gl\\\");c&&!h&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),n._glcanvas=null);t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++){if(f===t[a].uid)continue t}var p=\\\".hm\\\"+f+\\\",.contour\\\"+f+\\\",.carpet\\\"+f+\\\",#clip\\\"+f+\\\",.trace\\\"+f;l&&n._paper.selectAll(p).remove(),u&&(n._infolayer.selectAll(\\\".cb\\\"+f).remove(),n._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(p).remove())}n._zoomlayer&&n._zoomlayer.selectAll(\\\".select-outline\\\").remove()},An.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},u=e._plots={},c=e._subplots,h={_fullData:t,_fullLayout:e},f=c.cartesian.concat(c.gl2d||[]);for(i=0;i<f.length;i++){var p,d=l[o=f[i]],g=gn.getFromId(h,o,\\\"x\\\"),v=gn.getFromId(h,o,\\\"y\\\");for(d?((p=u[o]=d).xaxis.layer!==g.layer&&(p.xlines.attr(\\\"d\\\",null),p.xaxislayer.selectAll(\\\"*\\\").remove()),p.yaxis.layer!==v.layer&&(p.ylines.attr(\\\"d\\\",null),p.yaxislayer.selectAll(\\\"*\\\").remove())):(p=u[o]={}).id=o,p.xaxis=g,p.yaxis=v,p._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var m=t[a];if(m.xaxis===p.xaxis._id&&m.yaxis===p.yaxis._id&&!1===m.cliponaxis){p._hasClipOnAxisFalse=!0;break}}}var y=gn.list(h,null,!0);for(i=0;i<y.length;i++){var x=null;(s=y[i]).overlaying&&(x=gn.getFromId(h,s.overlaying))&&x.overlaying&&(s.overlaying=!1,x=null),s._mainAxis=x||s,x&&(s.domain=x.domain.slice()),s._anchorAxis=\\\"free\\\"===s.anchor?null:gn.getFromId(h,s.anchor)}for(i=0;i<y.length;i++){var b=\\\"x\\\"===(s=y[i])._id.charAt(0),_=s._mainAxis._anchorAxis,w=\\\"\\\",M=\\\"\\\",A=\\\"\\\";if(_&&(A=_._mainAxis._id,w=b?s._id+A:A+s._id),!w||-1===f.indexOf(w))for(w=\\\"\\\",a=0;a<f.length;a++){var k=(o=f[a]).indexOf(\\\"y\\\"),T=b?o.substr(0,k):o.substr(k),S=b?o.substr(k):o.substr(0,k);if(T===s._id){M||(M=o);var E=gn.getFromId(h,S);if(A&&E.overlaying===A){w=o;break}}}s._mainSubplot=w||M}},An.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],nn.crawl(t._module.attributes,function(t,n,i,a){r[a]=n,r.length=a+1,\\\"color\\\"===t.valType&&void 0===t.dflt&&e.push(r.join(\\\".\\\"))})),n=0;n<e.length;n++){ne.nestedProperty(t,\\\"_input.\\\"+e[n]).get()||ne.nestedProperty(t,e[n]).set(null)}},An.supplyDataDefaults=function(t,e,r,n){var i,a,o,s=n._modules,l=n._basePlotModules,u=0,c=0;function h(t){e.push(t);var r=t._module;r&&(!0===t.visible&&ne.pushUnique(s,r),ne.pushUnique(l,t._module.basePlotModule),u++,!1!==t._input.visible&&c++)}n._transformModules=[];var f={},p=[];for(i=0;i<t.length;i++){if(o=t[i],(a=An.supplyTraceDefaults(o,c,n,i)).index=i,a._input=o,a._expandedIndex=u,a.transforms&&a.transforms.length)for(var d=Pn(a,e,r,n),g=0;g<d.length;g++){var v=d[g],m=An.supplyTraceDefaults(v,u,n,i);kn(m,v),v.uid=m.uid=a.uid+g,m.index=i,m._input=o,m._fullInput=a,m._expandedIndex=u,m._expandedInput=v,h(m)}else a._fullInput=a,a._expandedInput=a,h(a);P.traceIs(a,\\\"carpetAxis\\\")&&(f[a.carpet]=a),P.traceIs(a,\\\"carpetDependent\\\")&&p.push(i)}for(i=0;i<p.length;i++)if((a=e[p[i]]).visible){var y=f[a.carpet];a._carpet=y,y&&y.visible?(a.xaxis=y.xaxis,a.yaxis=y.yaxis):a.visible=!1}},An.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return ne.coerce(t||{},r,we,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]=An.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=An.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=An.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=An.supplyAnimationTransitionDefaults(t.transition||{});return r},An.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.frame,r,n)}return r(\\\"duration\\\"),r(\\\"redraw\\\"),e},An.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.transition,r,n)}return r(\\\"duration\\\"),r(\\\"easing\\\"),e},An.supplyFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Me,r,n)}return r(\\\"group\\\"),r(\\\"name\\\"),r(\\\"traces\\\"),r(\\\"baseframe\\\"),r(\\\"data\\\"),r(\\\"layout\\\"),e},An.supplyTraceDefaults=function(t,e,r,n){var i,a=r.colorway||Oe.defaults,o={},s=a[e%a.length];function l(e,r){return ne.coerce(t,o,An.attributes,e,r)}var u=l(\\\"visible\\\");l(\\\"type\\\"),l(\\\"uid\\\"),l(\\\"name\\\",r._traceWord+\\\" \\\"+n);var c=An.getModule(o);if(o._module=c,c){var h=c.basePlotModule,f=h.attr;if(f){var p=r._subplots,d=h.attributes,g=\\\"\\\";if(\\\"gl2d\\\"!==h.name||u){if(Array.isArray(f))for(i=0;i<f.length;i++){var v=f[i],m=ne.coerce(t,o,d,v);p[v]&&ne.pushUnique(p[v],m),g+=m}else g=ne.coerce(t,o,d,f);p[h.name]&&ne.pushUnique(p[h.name],g)}}}return u&&(l(\\\"customdata\\\"),l(\\\"ids\\\"),P.traceIs(o,\\\"showLegend\\\")&&(l(\\\"showlegend\\\"),l(\\\"legendgroup\\\")),P.getComponentMethod(\\\"fx\\\",\\\"supplyDefaults\\\")(t,o,s,r),c&&(c.supplyDefaults(t,o,s,r),ne.coerceHoverinfo(t,o,r)),P.traceIs(o,\\\"noOpacity\\\")||l(\\\"opacity\\\"),P.traceIs(o,\\\"notLegendIsolatable\\\")&&(o.visible=!!o.visible),c&&c.selectPoints&&l(\\\"selectedpoints\\\"),An.supplyTransformDefaults(t,o,r)),o},An.supplyTransformDefaults=function(t,e,r){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,c=o[l],h=c.type,f=Tn[h],p=!(c._module&&c._module===f),d=f&&\\\"function\\\"==typeof f.transform;f||ne.warn(\\\"Unrecognized transform type \\\"+h+\\\".\\\"),f&&f.supplyDefaults&&(p||d)?((u=f.supplyDefaults(c,e,r,t)).type=h,u._module=f,ne.pushUnique(i,f)):u=ne.extendFlat({},c),s.push(u)}},An.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,An.layoutAttributes,r,n)}var i=ne.coerceFont(n,\\\"font\\\");n(\\\"title\\\",e._dfltTitle.plot),ne.coerceFont(n,\\\"titlefont\\\",{family:i.family,size:Math.round(1.4*i.size),color:i.color}),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&&An.sanitizeMargins(e),P.getComponentMethod(\\\"grid\\\",\\\"sizeDefaults\\\")(t,e),n(\\\"paper_bgcolor\\\"),n(\\\"separators\\\",r.decimal+r.thousands),n(\\\"hidesources\\\"),n(\\\"colorway\\\"),n(\\\"datarevision\\\"),P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\"),P.getComponentMethod(\\\"fx\\\",\\\"supplyLayoutGlobalDefaults\\\")(t,e,n)},An.plotAutoSize=function(t,e,n){var i,a,o=t._context||{},s=o.frameMargins,l=ne.isPlotDiv(t);if(l&&t.emit(\\\"plotly_autosize\\\"),o.fillFrame)i=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\\\"hidden\\\";else if(r(s)&&s>0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),c=u.left+u.right,h=u.bottom+u.top,f=1-2*s,p=n._container&&n._container.node?n._container.node().getBoundingClientRect():{width:n.width,height:n.height};i=Math.round(f*(p.width-c)),a=Math.round(f*(p.height-h))}else{var d=l?window.getComputedStyle(t):{};i=parseFloat(d.width)||n.width,a=parseFloat(d.height)||n.height}var g=An.layoutAttributes.width.min,v=An.layoutAttributes.height.min;i<g&&(i=g),a<v&&(a=v);var m=!e.width&&Math.abs(n.width-i)>1,y=!e.height&&Math.abs(n.height-a)>1;(y||m)&&(m&&(n.width=i),y&&(n.height=a)),t._initialAutoSize||(t._initialAutoSize={width:i,height:a}),An.sanitizeMargins(n)},An.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=P.componentsRegistry,l=e._basePlotModules,u=P.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var c in l.length||l.push(u),e._has(\\\"cartesian\\\")&&(P.getComponentMethod(\\\"grid\\\",\\\"contentDefaults\\\")(t,e),u.finalizeSubplots(t,e)),e._subplots)e._subplots[c].sort(ne.subplotSort);for(a=0;a<l.length;a++)(o=l[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var h=e._modules;for(a=0;a<h.length;a++)(o=h[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var f=e._transformModules;for(a=0;a<f.length;a++)(o=f[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r)},An.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),ne.clearThrottle(),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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},An.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&ne.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},An.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},An.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||An.doAutoMargin(t)}},An.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var n=e._size,i=JSON.stringify(n),a=Math.max(e.margin.l||0,0),o=Math.max(e.margin.r||0,0),s=Math.max(e.margin.t||0,0),l=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var c in u.base={l:{val:0,size:a},r:{val:1,size:o},t:{val:1,size:s},b:{val:0,size:l}},u){var h=u[c].l||{},f=u[c].b||{},p=h.val,d=h.size,g=f.val,v=f.size;for(var m in u){if(r(d)&&u[m].r){var y=u[m].r.val,x=u[m].r.size;if(y>p){var b=(d*y+(x-e.width)*p)/(y-p),_=(x*(1-p)+(d-e.width)*(1-y))/(y-p);b>=0&&_>=0&&b+_>a+o&&(a=b,o=_)}}if(r(v)&&u[m].t){var w=u[m].t.val,M=u[m].t.size;if(w>g){var A=(v*w+(M-e.height)*g)/(w-g),k=(M*(1-g)+(v-e.height)*(1-w))/(w-g);A>=0&&k>=0&&A+k>l+s&&(l=A,s=k)}}}}if(n.l=Math.round(a),n.r=Math.round(o),n.t=Math.round(s),n.b=Math.round(l),n.p=Math.round(e.margin.pad),n.w=Math.round(e.width)-n.l-n.r,n.h=Math.round(e.height)-n.t-n.b,!e._replotting&&\\\"{}\\\"!==i&&i!==JSON.stringify(e._size))return P.call(\\\"plot\\\",t)},An.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&An.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function l(t){if(\\\"function\\\"==typeof t)return null;if(ne.isPlainObject(t)){var e,n,i={};for(e in t)if(\\\"function\\\"!=typeof t[e]&&-1===[\\\"_\\\",\\\"[\\\"].indexOf(e.charAt(0))){if(\\\"keepdata\\\"===r){if(\\\"src\\\"===e.substr(e.length-3))continue}else if(\\\"keepstream\\\"===r){if(\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0&&!ne.isPlainObject(t.stream))continue}else if(\\\"keepall\\\"!==r&&\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0)continue;i[e]=l(t[e])}return i}return Array.isArray(t)?t.map(l):ne.isJSDate(t)?ne.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=l(t);return e&&delete r.fit,r})};return e||(u.layout=l(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=l(s)),\\\"object\\\"===n?u:JSON.stringify(u)},An.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\\\"replace\\\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\\\"insert\\\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\\\"delete\\\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},An.computeFrame=function(t,e){var r,n,i,a,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],u=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=An.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)void 0!==(i=n[r])&&null!==i&&(-1===(a=c.traces.indexOf(i))&&(a=c.data.length,c.traces[a]=i),c.data[a]=An.extendTrace(c.data[a],s.data[r]))}return c},An.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},An.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c=ne.extendDeepNoArrays({},e||{}),h=ne.expandObjectPaths(c),f={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=ne.nestedProperty(h,r[a])).get())?ne.nestedProperty(f,r[a]).set(null):(n.set(null),ne.nestedProperty(f,r[a]).set(i));if(t=ne.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=ne.nestedProperty(f,r[a]).get()){for(u=(s=ne.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var p=l[o];u[o]=null===p?null:An.extendObjectWithContainers(u[o],p)}s.set(u)}return t},An.dataArrayContainers=[\\\"transforms\\\",\\\"dimensions\\\"],An.layoutArrayContainers=P.layoutArrayContainers,An.extendTrace=function(t,e){return An.extendObjectWithContainers(t,e,An.dataArrayContainers)},An.extendLayout=function(t,e){return An.extendObjectWithContainers(t,e,An.layoutArrayContainers)},An.transition=function(t,e,r,n,i,a){var o,s,l=Array.isArray(e)?e.length:0,u=n.slice(0,l),c=[];var h=!1;for(o=0;o<u.length;o++){s=u[o];t._fullData[s]._module}var f=[An.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)},function(){var n;for(n=0;n<u.length;n++){var i=u[n],a=t._fullData[i]._module;a&&(a.animatable&&c.push(i),t.data[u[n]]=An.extendTrace(t.data[u[n]],e[n]))}var o=ne.expandObjectPaths(ne.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&&delete o[l].range;return An.extendLayout(t.layout,o),delete t.calcdata,An.supplyDefaults(t),An.doCalcdata(t),P.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),Promise.resolve()},An.rehover,function(){return t.emit(\\\"plotly_transitioning\\\",[]),new Promise(function(e){t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){h=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return P.call(\\\"redraw\\\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\\\"plotly_transitioninterrupted\\\",[])});var n,o,s=0,l=0;function u(){return s++,function(){var r;h||++l!==s||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return P.call(\\\"redraw\\\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\\\"plotly_transitioned\\\",[])}).then(r)))}}var f=t._fullLayout._basePlotModules,p=!1;if(r)for(o=0;o<f.length;o++)if(f[o].transitionAxes){var d=ne.expandObjectPaths(r);p=f[o].transitionAxes(t,d,a,u)||p}for(p?(n=ne.extendFlat({},a)).duration=0:n=a,o=0;o<f.length;o++)f[o].plot(t,c,n,u);setTimeout(u())})}],p=ne.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then(function(){return t})},An.doCalcdata=function(t,e){var r,n,i,a,o=gn.list(t),s=t._fullData,l=t._fullLayout,u=new Array(s.length),c=(t.calcdata||[]).slice(0);for(t.calcdata=u,t.firstscatter=!0,l._numBoxes=0,l._numViolins=0,l._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,l._piecolormap={},l._piecolorway=null,l._piedefaultcolorcount=0,i=0;i<s.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(u[i]=c[i]);for(i=0;i<s.length;i++)(r=s[i])._arrayAttrs=nn.findArrayAttributes(r);var h=l._subplots.polar||[];for(i=0;i<h.length;i++)o.push(l[h[i]].radialaxis,l[h[i]].angularaxis);In(o);var f=!1;for(i=0;i<s.length;i++)if(!0===(r=s[i]).visible&&r.transforms)for((n=r._module)&&n.calc&&n.calc(t,r),a=0;a<r.transforms.length;a++){var p=r.transforms[a];(n=Tn[p.type])&&n.calcTransform&&(r._hasCalcTransform=!0,f=!0,n.calcTransform(t,r,p))}for(f&&In(o),i=0;i<s.length;i++){var d=[];if(!0===(r=s[i]).visible){n=r._module;var g=r.transforms||[];for(a=g.length-1;a>=0;a--)if(g[a].enabled){r._indexToPoints=g[a]._indexToPoints;break}n&&n.calc&&(d=n.calc(t,r))}Array.isArray(d)&&d[0]||(d=[{x:Mn,y:Mn}]),d[0].t||(d[0].t={}),d[0].trace=r,u[i]=d}P.getComponentMethod(\\\"fx\\\",\\\"calc\\\")(t)},An.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},An.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var c=a[u][0];c[0].trace.visible=!1,o[u]=[c]}for(var h in o){var f=o[h];f[0][0].trace._module.plot(t,e,ne.filterVisible(f),n)}e.traceHash=o};var Dn={draw:function(t,n,i){var a,o=i.propContainer,s=i.propName,l=i.placeholder,u=i.traceIndex,c=i.avoid||{},h=i.attributes,p=i.transform,d=i.containerGroup,g=t._fullLayout,v=o.titlefont||{},m=v.family,y=v.size,x=v.color,b=1,_=!1,w=(o.title||\\\"\\\").trim();\\\"title\\\"===s?a=\\\"titleText\\\":-1!==s.indexOf(\\\"axis\\\")?a=\\\"axisTitleText\\\":s.indexOf(!0)&&(a=\\\"colorbarTitleText\\\");var M=t._context.edits[a];\\\"\\\"===w?b=0:w.replace(On,\\\" % \\\")===l.replace(On,\\\" % \\\")&&(b=.2,_=!0,M||(w=\\\"\\\"));var A=w||M;d||(d=g._infolayer.selectAll(\\\".g-\\\"+n).data([0])).enter().append(\\\"g\\\").classed(\\\"g-\\\"+n,!0);var k=d.selectAll(\\\"text\\\").data(A?[0]:[]);if(k.enter().append(\\\"text\\\"),k.text(w).attr(\\\"class\\\",n),k.exit().remove(),!A)return d;function T(t){ne.syncOrAsync([S,E],t)}function S(r){var n;return p?(n=\\\"\\\",p.rotate&&(n+=\\\"rotate(\\\"+[p.rotate,h.x,h.y]+\\\")\\\"),p.offset&&(n+=\\\"translate(0, \\\"+p.offset+\\\")\\\")):n=null,r.attr(\\\"transform\\\",n),r.style({\\\"font-family\\\":m,\\\"font-size\\\":e.round(y,2)+\\\"px\\\",fill:Oe.rgb(x),opacity:b*Oe.opacity(x),\\\"font-weight\\\":_n.fontWeight}).attr(h).call(er.convertToTspans,t),_n.previousPromises(t)}function E(t){var n=e.select(t.node().parentNode);if(c&&c.selection&&c.side&&w){n.attr(\\\"transform\\\",null);var i=0,a={left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}[c.side],o=-1!==[\\\"left\\\",\\\"top\\\"].indexOf(c.side)?-1:1,s=r(c.pad)?c.pad:2,l=Sr.bBox(n.node()),u={left:0,top:0,right:g.width,bottom:g.height},h=c.maxShift||(u[c.side]-l[c.side])*(\\\"left\\\"===c.side||\\\"top\\\"===c.side?-1:1);if(h<0)i=h;else{var f=c.offsetLeft||0,p=c.offsetTop||0;l.left-=f,l.right-=f,l.top-=p,l.bottom-=p,c.selection.each(function(){var t=Sr.bBox(this);ne.bBoxIntersect(l,t,s)&&(i=Math.max(i,o*(t[c.side]-l[a])+s))}),i=Math.min(h,i)}if(i>0||h<0){var d={left:[-i,0],right:[i,0],top:[0,-i],bottom:[0,i]}[c.side];n.attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\")\\\")}}}k.call(T),M&&(w?k.on(\\\".opacity\\\",null):(b=0,_=!0,k.text(l).on(\\\"mouseover.opacity\\\",function(){e.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){e.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\\\"opacity\\\",0)})),k.call(er.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){void 0!==u?P.call(\\\"restyle\\\",t,s,e,u):P.call(\\\"relayout\\\",t,s,e)}).on(\\\"cancel\\\",function(){this.text(this.attr(\\\"data-unformatted\\\")).call(T)}).on(\\\"input\\\",function(t){this.text(t||\\\" \\\").call(er.positionText,h.x,h.y)}));return k.classed(\\\"js-placeholder\\\",_),d}},On=/ [XY][0-9]* /;var Rn=t.FP_SAFE,Fn=Vn,Bn=Un,Nn=function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=Vn(t),t._r=t.range.slice(),t._rl=ne.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&\\\"auto\\\"===n.rangemode&&(n.range=r?Vn(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=ne.extendFlat({},n)}},jn=function(t,e,n){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);n||(n={});t._m||t.setScale();var i,a,o,s,l,u,c,h,f,p,d,g,v=e.length,m=n.padded||!1,y=n.tozero&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type),x=\\\"log\\\"===t.type,b=!1;function _(t){if(Array.isArray(t))return b=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var w=_((t._m>0?n.ppadplus:n.ppadminus)||n.ppad||0),M=_((t._m>0?n.ppadminus:n.ppadplus)||n.ppad||0),A=_(n.vpadplus||n.vpad),k=_(n.vpadminus||n.vpad);if(!b){if(d=1/0,g=-1/0,x)for(i=0;i<v;i++)(s=e[i])<d&&s>0&&(d=s),s>g&&s<Rn&&(g=s);else for(i=0;i<v;i++)(s=e[i])<d&&s>-Rn&&(d=s),s>g&&s<Rn&&(g=s);e=[d,g],v=2}function T(n){if(l=e[n],r(l))for(h=w(n),f=M(n),d=l-k(n),g=l+A(n),x&&d<g/10&&(d=g/10),u=t.c2l(d),c=t.c2l(g),y&&(u=Math.min(0,u),c=Math.max(0,c)),o=0;o<2;o++){var i=o?c:u;if(qn(i)){var v=o?t._max:t._min,b=o?h:f,_=o?Gn:Hn;for(p=!0,a=0;a<v.length&&p;a++){if(s=v[a],_(s.val,i)&&s.pad>=b&&(s.extrapad||!m)){p=!1;break}_(i,s.val)&&s.pad<=b&&(m||!s.extrapad)&&(v.splice(a,1),a--)}if(p){var T=y&&0===i;v.push({val:i,pad:T?0:b,extrapad:!T&&m})}}}}var S=Math.min(6,v);for(i=0;i<S;i++)T(i);for(i=v-1;i>=S;i--)T(i)};function Vn(t){var e,r,n,i,a,o,s,l,u=[],c=t._min[0].val,h=t._max[0].val,f=0,p=!1,d=Un(t);for(e=1;e<t._min.length&&c===h;e++)c=Math.min(c,t._min[e].val);for(e=1;e<t._max.length&&c===h;e++)h=Math.max(h,t._max[e].val);if(t.range){var g=ne.simpleMap(t.range,t.r2l);p=g[1]<g[0]}for(\\\"reversed\\\"===t.autorange&&(p=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(n=t._min[e],r=0;r<t._max.length;r++)l=(i=t._max[r]).val-n.val,s=t._length-d(n)-d(i),l>0&&s>0&&l/s>f&&(a=n,o=i,f=l/s);if(c===h){var v=c-1,m=c+1;u=\\\"tozero\\\"===t.rangemode?c<0?[v,0]:[0,m]:\\\"nonnegative\\\"===t.rangemode?[Math.max(0,v),Math.max(0,m)]:[v,m]}else f&&(\\\"linear\\\"!==t.type&&\\\"-\\\"!==t.type||(\\\"tozero\\\"===t.rangemode?(a.val>=0&&(a={val:0,pad:0}),o.val<=0&&(o={val:0,pad:0})):\\\"nonnegative\\\"===t.rangemode&&(a.val-f*d(a)<0&&(a={val:0,pad:0}),o.val<0&&(o={val:1,pad:0})),f=(o.val-a.val)/(t._length-d(a)-d(o))),u=[a.val-f*d(a),o.val+f*d(o)]);return u[0]===u[1]&&(\\\"tozero\\\"===t.rangemode?u=u[0]<0?[u[0],0]:u[0]>0?[0,u[0]]:[0,1]:(u=[u[0]-1,u[0]+1],\\\"nonnegative\\\"===t.rangemode&&(u[0]=Math.max(0,u[0])))),p&&u.reverse(),ne.simpleMap(u,t.l2r||Number)}function Un(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 qn(t){return r(t)&&Math.abs(t)<Rn}function Hn(t,e){return t<=e}function Gn(t,e){return t>=e}var Wn=t.BADNUM,Yn=function(t,e){return function(t,e){for(var n,i=0,a=0,o=Math.max(1,(t.length-1)/1e3),s=0;s<t.length;s+=o)n=t[Math.round(s)],ne.isDateTime(n,e)&&(i+=1),r(n)&&(a+=1);return i>2*a}(t,e)?\\\"date\\\":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,i=0,a=0;a<t.length;a+=r)e=t[Math.round(a)],ne.cleanNumber(e)!==Wn?n++:\\\"string\\\"==typeof e&&\\\"\\\"!==e&&\\\"None\\\"!==e&&i++;return i>2*n}(t)?\\\"category\\\":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(r(t[e]))return!0;return!1}(t)?\\\"linear\\\":\\\"-\\\"};var Xn=ne.cleanNumber,Zn=ne.ms2DateTime,Jn=ne.dateTime2ms,Kn=ne.ensureNumber,Qn=t.FP_SAFE,$n=t.BADNUM;function ti(t){return Math.pow(10,t)}var ei=function(t,n){n=n||{};var i=(t._id||\\\"x\\\").charAt(0),a=10;function o(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],i=t.range[1];return.5*(n+i-3*a*Math.abs(n-i))}return $n}function s(e,n,i){var a=Jn(e,i||t.calendar);if(a===$n){if(!r(e))return $n;a=Jn(new Date(+e))}return a}function l(e,r,n){return Zn(e,r,n||t.calendar)}function u(e){return t._categories[Math.round(e)]}function c(e){if(t._categoriesMap){var n=t._categoriesMap[e];if(void 0!==n)return n}if(r(e))return+e}function h(n){return r(n)?e.round(t._b+t._m*n,2):$n}function f(e){return(e-t._b)/t._m}t.c2l=\\\"log\\\"===t.type?o:Kn,t.l2c=\\\"log\\\"===t.type?ti:Kn,t.l2p=h,t.p2l=f,t.c2p=\\\"log\\\"===t.type?function(t,e){return h(o(t,e))}:h,t.p2c=\\\"log\\\"===t.type?function(t){return ti(f(t))}:f,-1!==[\\\"linear\\\",\\\"-\\\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=Xn,t.c2d=t.c2r=t.l2d=t.l2r=Kn,t.d2p=t.r2p=function(e){return t.l2p(Xn(e))},t.p2d=t.p2r=f,t.cleanPos=Kn):\\\"log\\\"===t.type?(t.d2r=t.d2l=function(t,e){return o(Xn(t),e)},t.r2d=t.r2c=function(t){return ti(Xn(t))},t.d2c=t.r2l=Xn,t.c2d=t.l2r=Kn,t.c2r=o,t.l2d=ti,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return ti(f(t))},t.r2p=function(e){return t.l2p(Xn(e))},t.p2r=f,t.cleanPos=Kn):\\\"date\\\"===t.type?(t.d2r=t.r2d=ne.identity,t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=l,t.d2p=t.r2p=function(e,r,n){return t.l2p(s(e,0,n))},t.p2d=t.p2r=function(t,e,r){return l(f(t),e,r)},t.cleanPos=function(e){return ne.cleanDate(e,$n,t.calendar)}):\\\"category\\\"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return $n},t.r2d=t.c2d=t.l2d=u,t.d2r=t.d2l_noadd=c,t.r2c=function(e){var r=c(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=Kn,t.r2l=c,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return u(f(t))},t.r2p=t.d2p,t.p2r=f,t.cleanPos=function(t){return\\\"string\\\"==typeof t&&\\\"\\\"!==t?t:Kn(t)}),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,n){n||(n={}),e||(e=\\\"range\\\");var a,o,s=ne.nestedProperty(t,e).get();if(o=(o=\\\"date\\\"===t.type?ne.dfltRange(t.calendar):\\\"y\\\"===i?Te.DFLTRANGEY:n.dfltRange||Te.DFLTRANGEX).slice(),s&&2===s.length)for(\\\"date\\\"===t.type&&(s[0]=ne.cleanDate(s[0],$n,t.calendar),s[1]=ne.cleanDate(s[1],$n,t.calendar)),a=0;a<2;a++)if(\\\"date\\\"===t.type){if(!ne.isDateTime(s[a],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=ne.constrain(t.r2l(s[0]),ne.MIN_MS+1e3,ne.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!r(s[a])){if(!r(s[1-a])){t[e]=o;break}s[a]=s[1-a]*(a?10:.1)}if(s[a]<-Qn?s[a]=-Qn:s[a]>Qn&&(s[a]=Qn),s[0]===s[1]){var u=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=u,s[1]+=u}}else ne.nestedProperty(t,e).set(o)},t.setScale=function(e){var r=n._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=gn.getFromId({_fullLayout:n},t.overlaying);t.domain=a.domain}var o=e&&t._r?\\\"_r\\\":\\\"range\\\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),u=t.r2l(t[o][1],s);if(\\\"y\\\"===i?(t._offset=r.t+(1-t.domain[1])*r.h,t._length=r.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-u),t._b=-t._m*u):(t._offset=r.l+t.domain[0]*r.w,t._length=r.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw n._replotting=!1,new Error(\\\"Something went wrong with axis scaling\\\")},t.makeCalcdata=function(e,r){var n,i,a,o,s=t.type,l=\\\"date\\\"===s&&e[r+\\\"calendar\\\"];if(r in e){if(n=e[r],o=e._length||n.length,ne.isTypedArray(n)&&(\\\"linear\\\"===s||\\\"log\\\"===s)){if(o===n.length)return n;if(n.subarray)return n.subarray(0,o)}for(i=new Array(o),a=0;a<o;a++)i[a]=t.d2c(n[a],0,l)}else{var u=r+\\\"0\\\"in e?t.d2c(e[r+\\\"0\\\"],0,l):0,c=e[\\\"d\\\"+r]?Number(e[\\\"d\\\"+r]):1;for(n=e[{x:\\\"y\\\",y:\\\"x\\\"}[r]],o=e._length||n.length,i=new Array(o),a=0;a<o;a++)i[a]=u+a*c}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&r(t.r2l(e[0]))&&r(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[i],null,r);return n>=t.r2l(t.range[0])&&n<=t.r2l(t.range[1])},t.clearCalc=function(){t._min=[],t._max=[],t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var p=n._d3locale;\\\"date\\\"===t.type&&(t._dateFormat=p?p.timeFormat.utc:e.time.format.utc,t._extraFormat=n._extraFormat),t._separators=n.separators,t._numFormat=p?p.numberFormat:e.format,delete t._minDtick,delete t._forceTick0},ri={},ni=t.ONEAVGYEAR,ii=t.ONEAVGMONTH,ai=t.ONEDAY,oi=t.ONEHOUR,si=t.ONEMIN,li=t.ONESEC,ui=t.MINUS_SIGN,ci=t.BADNUM,hi=Qe.MID_SHIFT,fi=Qe.LINE_SPACING,pi=ri={};pi.setConvert=ei,pi.id2name=gn.id2name,pi.name2id=gn.name2id,pi.cleanId=gn.cleanId,pi.list=gn.list,pi.listIds=gn.listIds,pi.getFromId=gn.getFromId,pi.getFromTrace=gn.getFromTrace,pi.expand=jn,pi.getAutoRange=Fn,pi.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\\\"axis\\\"],l=n+\\\"ref\\\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\\\"enumerated\\\",values:s.concat(a?[a]:[]),dflt:i},ne.coerce(t,e,u,l)},pi.coercePosition=function(t,e,r,n,i,a){var o,s;if(\\\"paper\\\"===n||\\\"pixel\\\"===n)o=ne.ensureNumber,s=r(i,a);else{var l=pi.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},pi.cleanPosition=function(t,e,r){return(\\\"paper\\\"===r||\\\"pixel\\\"===r?ne.ensureNumber:pi.getFromId(e,r).cleanPos)(t)};var di=pi.getDataConversions=function(t,e,r,n){var i,a=\\\"x\\\"===r||\\\"y\\\"===r||\\\"z\\\"===r?r:n;if(Array.isArray(a)){if(i={type:Yn(n),_categories:[]},pi.setConvert(i),\\\"category\\\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=pi.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\\\"ids\\\"===a?{d2c:vi,c2d:vi}:{d2c:gi,c2d:gi}};function gi(t){return+t}function vi(t){return String(t)}pi.getDataToCoordFunc=function(t,e,r,n){return di(t,e,r,n).d2c},pi.counterLetter=function(t){var e=t.charAt(0);return\\\"x\\\"===e?\\\"y\\\":\\\"y\\\"===e?\\\"x\\\":void 0},pi.minDtick=function(t,e,r,n){-1===[\\\"log\\\",\\\"category\\\"].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},pi.saveRangeInitial=function(t,e){for(var r=pi.list(t,\\\"\\\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},pi.saveShowSpikeInitial=function(t,e){for(var r=pi.list(t,\\\"\\\",!0),n=!1,i=\\\"on\\\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\\\"on\\\"!==i||o.showspikes||(i=\\\"off\\\")}return t._fullLayout._cartesianSpikesEnabled=i,n},pi.autoBin=function(t,e,n,i,a){var o,s,l=ne.aggNums(Math.min,null,t),u=ne.aggNums(Math.max,null,t);if(a||(a=e.calendar),\\\"category\\\"===e.type)return{start:l-.5,end:u+.5,size:1,_dataSpan:u-l};if(n)o=(u-l)/n;else{var c=ne.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),f=h*ne.roundUp(c.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(f,2*ne.stdev(t)/Math.pow(t.length,i?.25:.4)),r(o)||(o=1)}s=\\\"log\\\"===e.type?{type:\\\"linear\\\",range:[l,u]}:{type:e.type,range:ne.simpleMap([l,u],e.c2r,0,a),calendar:a},pi.setConvert(s),pi.autoTicks(s,o);var p,d=pi.tickIncrement(pi.tickFirst(s),s.dtick,\\\"reverse\\\",a);if(\\\"number\\\"==typeof s.dtick)p=(d=function(t,e,n,i,a){var o=0,s=0,l=0,u=0;function c(e){return(1+100*(e-t)/n.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:r(e[h])||u++,c(e[h])&&o++,c(e[h]+n.dtick/2)&&s++;var f=e.length-u;if(l===f&&\\\"date\\\"!==n.type)n.dtick<1?t=i-.5*n.dtick:(t-=.5)+n.dtick<i&&(t+=n.dtick);else if(s<.1*f&&(o>.3*f||c(i)||c(a))){var p=n.dtick/2;t+=t+p<i?p:-p}return t}(d,t,s,l,u))+(1+Math.floor((u-d)/s.dtick))*s.dtick;else for(\\\"M\\\"===s.dtick.charAt(0)&&(d=function(t,e,r,n,i){var a=ne.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=pi.tickIncrement(t,\\\"M6\\\",\\\"reverse\\\")+1.5*ai:a.exactMonths>.8?t=pi.tickIncrement(t,\\\"M1\\\",\\\"reverse\\\")+15.5*ai:t-=ai/2;var s=pi.tickIncrement(t,r);if(s<=n)return s}return t}(d,t,s.dtick,l,a)),p=d,0;p<=u;)p=pi.tickIncrement(p,s.dtick,!1,a),0;return{start:e.c2r(d,0,a),end:e.c2r(p,0,a),size:s.dtick,_dataSpan:u-l}},pi.prepTicks=function(t){var e=ne.simpleMap(t.range,t.r2l);if(\\\"auto\\\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\\\"category\\\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\\\"y\\\"===t._id.charAt(0)?40:80,n=ne.constrain(t._length/r,4,9)+1),\\\"radialaxis\\\"===t._name&&(n*=2)),\\\"array\\\"===t.tickmode&&(n*=100),pi.autoTicks(t,Math.abs(e[1]-e[0])/n),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),ki(t)},pi.calcTicks=function(t){pi.prepTicks(t);var e=ne.simpleMap(t.range,t.r2l);if(\\\"array\\\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=ne.simpleMap(t.range,t.r2l),s=1.0001*o[0]-1e-4*o[1],l=1.0001*o[1]-1e-4*o[0],u=Math.min(s,l),c=Math.max(s,l),h=0;Array.isArray(i)||(i=[]);var f=\\\"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(r=0;r<n.length;r++)(e=f(n[r]))>u&&e<c&&(void 0===i[r]?a[h]=pi.tickText(t,e):a[h]=Ti(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=pi.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\\\"category\\\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,s=Math.max(1e3,t._length||0),l=t._tmin;(i?l>=n:l<=n)&&!(a.length>s||l===o);l=pi.tickIncrement(l,t.dtick,i,t.calendar))o=l,a.push(l);\\\"angular\\\"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\\\"\\\",t._inCalcTicks=!0;for(var u=new Array(a.length),c=0;c<a.length;c++)u[c]=pi.tickText(t,a[c]);return t._inCalcTicks=!1,u};var mi=[2,5,10],yi=[1,2,3,6,12],xi=[1,2,5,10,15,30],bi=[1,2,3,7,14],_i=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],wi=[-.301,0,.301,.699,1],Mi=[15,30,45,90,180];function Ai(t,e,r){return e*ne.roundUp(t/e,r)}function ki(t){var e=t.dtick;if(t._tickexponent=0,r(e)||\\\"string\\\"==typeof e||(e=1),\\\"category\\\"===t.type&&(t._tickround=null),\\\"date\\\"===t.type){var n=t.r2l(t.tick0),i=t.l2r(n).replace(/(^-|i)/g,\\\"\\\"),a=i.length;if(\\\"M\\\"===String(e).charAt(0))a>10||\\\"01-01\\\"!==i.substr(5)?t._tickround=\\\"d\\\":t._tickround=+e.substr(1)%12==0?\\\"y\\\":\\\"m\\\";else if(e>=ai&&a<=10||e>=15*ai)t._tickround=\\\"d\\\";else if(e>=si&&a<=16||e>=oi)t._tickround=\\\"M\\\";else if(e>=li&&a<=19||e>=si)t._tickround=\\\"S\\\";else{var o=t.l2r(n+e).replace(/^-/,\\\"\\\").length;t._tickround=Math.max(a,o)-20}}else if(r(e)||\\\"L\\\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);r(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])),u=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(u)>3&&(Ei(t.exponentformat)&&!Ci(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function Ti(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}}pi.autoTicks=function(t,e){var n;function i(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\\\"date\\\"===t.type){t.tick0=ne.dateTick0(t.calendar);var a=2*e;a>ni?(e/=ni,n=i(10),t.dtick=\\\"M\\\"+12*Ai(e,n,mi)):a>ii?(e/=ii,t.dtick=\\\"M\\\"+Ai(e,1,yi)):a>ai?(t.dtick=Ai(e,ai,bi),t.tick0=ne.dateTick0(t.calendar,!0)):a>oi?t.dtick=Ai(e,oi,yi):a>si?t.dtick=Ai(e,si,xi):a>li?t.dtick=Ai(e,li,xi):(n=i(10),t.dtick=Ai(e,n,mi))}else if(\\\"log\\\"===t.type){t.tick0=0;var o=ne.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=i(10),t.dtick=\\\"L\\\"+Ai(e,n,mi)}else t.dtick=e>.3?\\\"D2\\\":\\\"D1\\\"}else\\\"category\\\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):\\\"angular\\\"===t._id?(t.tick0=0,n=1,t.dtick=Ai(e,n,Mi)):(t.tick0=0,n=i(10),t.dtick=Ai(e,n,mi));if(0===t.dtick&&(t.dtick=1),!r(t.dtick)&&\\\"string\\\"!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,\\\"ax.dtick error: \\\"+String(l)}},pi.tickIncrement=function(t,n,i,a){var o=i?-1:1;if(r(n))return t+o*n;var s=n.charAt(0),l=o*Number(n.substr(1));if(\\\"M\\\"===s)return ne.incrementMonth(t,l,a);if(\\\"L\\\"===s)return Math.log(Math.pow(10,t)+l)/Math.LN10;if(\\\"D\\\"===s){var u=\\\"D2\\\"===n?wi:_i,c=t+.01*o,h=ne.roundUp(ne.mod(c,1),u,i);return Math.floor(c)+Math.log(e.round(Math.pow(10,h),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(n)},pi.tickFirst=function(t){var n=t.r2l||Number,i=ne.simpleMap(t.range,n),a=i[1]<i[0],o=a?Math.floor:Math.ceil,s=1.0001*i[0]-1e-4*i[1],l=t.dtick,u=n(t.tick0);if(r(l)){var c=o((s-u)/l)*l+u;return\\\"category\\\"===t.type&&(c=ne.constrain(c,0,t._categories.length-1)),c}var h=l.charAt(0),f=Number(l.substr(1));if(\\\"M\\\"===h){for(var p,d,g,v=0,m=u;v<10;){if(((p=pi.tickIncrement(m,l,a,t.calendar))-s)*(m-s)<=0)return a?Math.min(m,p):Math.max(m,p);d=(s-(m+p)/2)/(p-m),g=h+(Math.abs(Math.round(d))||1)*f,m=pi.tickIncrement(m,g,d<0?!a:a,t.calendar),v++}return ne.error(\\\"tickFirst did not converge\\\",t),m}if(\\\"L\\\"===h)return Math.log(o((Math.pow(10,s)-u)/f)*f+u)/Math.LN10;if(\\\"D\\\"===h){var y=\\\"D2\\\"===l?wi:_i,x=ne.roundUp(ne.mod(s,1),y,a);return Math.floor(s)+Math.log(e.round(Math.pow(10,x),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(l)},pi.tickText=function(t,e,n){var i,a,o=Ti(t,e),s=\\\"array\\\"===t.tickmode,l=n||s,u=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;if(s&&Array.isArray(t.ticktext)){var c=ne.simpleMap(t.range,t.r2l),h=Math.abs(c[1]-c[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function f(r){var i;return void 0===r||(n?\\\"none\\\"===r:(i={first:t._tmin,last:t._tmax}[r],\\\"all\\\"!==r&&e!==i))}return i=n?\\\"never\\\":\\\"none\\\"!==t.exponentformat&&f(t.showexponent)?\\\"hide\\\":\\\"\\\",\\\"date\\\"===t.type?function(t,e,n,i){var a=t._tickround,o=n&&t.hoverformat||pi.getTickFormat(t);i&&(a=r(a)?4:{y:\\\"m\\\",m:\\\"d\\\",d:\\\"M\\\",M:\\\"S\\\",S:4}[a]);var s,l=ne.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=l.indexOf(\\\"\\\\n\\\");-1!==u&&(s=l.substr(u+1),l=l.substr(0,u));i&&(\\\"00:00:00\\\"===l||\\\"00:00\\\"===l?(l=s,s=\\\"\\\"):8===l.length&&(l=l.replace(/:00$/,\\\"\\\")));s&&(n?\\\"d\\\"===a?l+=\\\", \\\"+s:l=s+(l?\\\", \\\"+l:\\\"\\\"):t._inCalcTicks&&s===t._prevDateHead||(l+=\\\"<br>\\\"+s,t._prevDateHead=s));e.text=l}(t,o,n,l):\\\"log\\\"===t.type?function(t,e,n,i,a){var o=t.dtick,s=e.x,l=t.tickformat;\\\"never\\\"===a&&(a=\\\"\\\");!i||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0)||(o=\\\"L3\\\");if(l||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0))e.text=Li(Math.pow(10,s),t,a,i);else if(r(o)||\\\"D\\\"===o.charAt(0)&&ne.mod(s+.01,1)<.1){var u=Math.round(s);-1!==[\\\"e\\\",\\\"E\\\",\\\"power\\\"].indexOf(t.exponentformat)||Ei(t.exponentformat)&&Ci(u)?(e.text=0===u?1:1===u?\\\"10\\\":u>1?\\\"10<sup>\\\"+u+\\\"</sup>\\\":\\\"10<sup>\\\"+ui+-u+\\\"</sup>\\\",e.fontSize*=1.25):(e.text=Li(Math.pow(10,s),t,\\\"\\\",\\\"fakehover\\\"),\\\"D1\\\"===o&&\\\"y\\\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\\\"D\\\"!==o.charAt(0))throw\\\"unrecognized dtick \\\"+String(o);e.text=String(Math.round(Math.pow(10,ne.mod(s,1)))),e.fontSize*=.75}if(\\\"D1\\\"===t.dtick){var c=String(e.text).charAt(0);\\\"0\\\"!==c&&\\\"1\\\"!==c||(\\\"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*(s<0?.5:.25)))}}(t,o,0,l,i):\\\"category\\\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\\\"\\\");e.text=String(r)}(t,o):\\\"angular\\\"===t._id?function(t,e,r,n,i){if(\\\"radians\\\"!==t.thetaunit||r)e.text=Li(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\\\"0\\\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=Li(ne.deg2rad(e.x),t,i,n);else{var s=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(\\\"\\\"),s&&(e.text=ui+e.text)}}}}(t,o,n,l,i):function(t,e,r,n,i){\\\"never\\\"===i?i=\\\"\\\":\\\"all\\\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\\\"hide\\\");e.text=Li(e.x,t,i,n)}(t,o,0,l,i),t.tickprefix&&!f(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!f(t.showticksuffix)&&(o.text+=t.ticksuffix),o},pi.hoverLabelText=function(t,e,r){if(r!==ci&&r!==e)return pi.hoverLabelText(t,e)+\\\" - \\\"+pi.hoverLabelText(t,r);var n=\\\"log\\\"===t.type&&e<=0,i=pi.tickText(t,t.c2l(n?-e:e),\\\"hover\\\").text;return n?0===e?\\\"0\\\":ui+i:i};var Si=[\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\u03bc\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\"];function Ei(t){return\\\"SI\\\"===t||\\\"B\\\"===t}function Ci(t){return t>14||t<-15}function Li(t,e,n,i){var a=t<0,o=e._tickround,s=n||e.exponentformat||\\\"B\\\",l=e._tickexponent,u=pi.getTickFormat(e),c=e.separatethousands;if(i){var h={exponentformat:s,dtick:\\\"none\\\"===e.showexponent?e.dtick:r(t)&&Math.abs(t)||1,range:\\\"none\\\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};ki(h),o=(Number(h._tickround)||0)+4,l=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,ui);var f,p=Math.pow(10,-o)/2;if(\\\"none\\\"===s&&(l=0),(t=Math.abs(t))<p)t=\\\"0\\\",a=!1;else{if(t+=p,l&&(t*=Math.pow(10,-l),o+=l),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var d=o;d<0;d++)t+=\\\"0\\\"}else{var g=(t=String(t)).indexOf(\\\".\\\")+1;g&&(t=t.substr(0,g+o).replace(/\\\\.?0+$/,\\\"\\\"))}t=ne.numSeparate(t,e._separators,c)}l&&\\\"hide\\\"!==s&&(Ei(s)&&Ci(l)&&(s=\\\"power\\\"),f=l<0?ui+-l:\\\"power\\\"!==s?\\\"+\\\"+l:String(l),\\\"e\\\"===s?t+=\\\"e\\\"+f:\\\"E\\\"===s?t+=\\\"E\\\"+f:\\\"power\\\"===s?t+=\\\"\\\\xd710<sup>\\\"+f+\\\"</sup>\\\":\\\"B\\\"===s&&9===l?t+=\\\"B\\\":Ei(s)&&(t+=Si[l/3+5]));return a?ui+t:t}function zi(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Pi(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(pi.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(pi.getFromId(t,r[n]));var l=Object.keys(a[0]),u=[\\\"anchor\\\",\\\"domain\\\",\\\"overlaying\\\",\\\"position\\\",\\\"side\\\",\\\"tickangle\\\"],c=[\\\"linear\\\",\\\"log\\\"];for(n=0;n<l.length;n++){var h=l[n],f=a[0][h],p=o[0][h],d=!0,g=!1,v=!1;if(\\\"_\\\"!==h.charAt(0)&&\\\"function\\\"!=typeof f&&-1===u.indexOf(h)){for(i=1;i<a.length&&d;i++){var m=a[i][h];\\\"type\\\"===h&&-1!==c.indexOf(f)&&-1!==c.indexOf(m)&&f!==m?g=!0:m!==f&&(d=!1)}for(i=1;i<o.length&&d;i++){var y=o[i][h];\\\"type\\\"===h&&-1!==c.indexOf(p)&&-1!==c.indexOf(y)&&p!==y?v=!0:o[i][h]!==p&&(d=!1)}d&&(g&&(s[a[0]._name].type=\\\"linear\\\"),v&&(s[o[0]._name].type=\\\"linear\\\"),Ii(s,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var x=t._fullLayout.annotations[n];-1!==e.indexOf(x.xref)&&-1!==r.indexOf(x.yref)&&ne.swapAttrs(s.annotations[n],[\\\"?\\\"])}}function Ii(t,e,r,n,i){var a,o=ne.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();for(\\\"title\\\"===e&&(s===i.x&&(s=i.y),l===i.y&&(l=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\\\".\\\"+e).set(l);for(a=0;a<n.length;a++)o(t,n[a]._name+\\\".\\\"+e).set(s)}pi.getTickFormat=function(t){var e,r,n,i,a,o,s;function l(t){return\\\"string\\\"!=typeof t?t:Number(t.replace(\\\"M\\\",\\\"\\\"))*ii}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)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\\\"\\\"))-Number(e.replace(/(L|D)/g,\\\"\\\")):n-i}return\\\"number\\\"==typeof t?1:-1}function c(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}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.dtick,i=t.tickformatstops[e].dtickrange,a=void 0,void 0,void 0,a=l||function(t){return t},o=i[0],s=i[1],(!o&&\\\"number\\\"!=typeof o||a(o)<=a(n))&&(!s&&\\\"number\\\"!=typeof s||a(s)>=a(n))){r=t.tickformatstops[e];break}break;case\\\"log\\\":for(e=0;e<t.tickformatstops.length;e++)if(c(t.dtick,t.tickformatstops[e].dtickrange)){r=t.tickformatstops[e];break}}return r?r.value:t.tickformat},pi.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?pi.findSubplotsWithAxis(n,e):n;return i.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]}),i},pi.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\\\"x\\\"===e._id.charAt(0)?\\\"^\\\"+e._id+\\\"y\\\":e._id+\\\"$\\\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},pi.makeClipPaths=function(t){var r,n,i=t._fullLayout,a={_offset:0,_length:i.width,_id:\\\"\\\"},o={_offset:0,_length:i.height,_id:\\\"\\\"},s=pi.list(t,\\\"x\\\",!0),l=pi.list(t,\\\"y\\\",!0),u=[];for(r=0;r<s.length;r++)for(u.push({x:s[r],y:o}),n=0;n<l.length;n++)0===r&&u.push({x:a,y:l[n]}),u.push({x:s[r],y:l[n]});var c=i._clips.selectAll(\\\".axesclip\\\").data(u,function(t){return t.x._id+t.y._id});c.enter().append(\\\"clipPath\\\").classed(\\\"axesclip\\\",!0).attr(\\\"id\\\",function(t){return\\\"clip\\\"+i._uid+t.x._id+t.y._id}).append(\\\"rect\\\"),c.exit().remove(),c.each(function(t){e.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})})},pi.doTicks=function(t,n,i){var a,o=t._fullLayout,s=!1;if(\\\"object\\\"==typeof n)n=(a=n)._id,s=!0;else if(a=pi.getFromId(t,n),\\\"redraw\\\"===n&&o._paper.selectAll(\\\"g.subplot\\\").each(function(t){var e=o._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\\\".\\\"+r._id+\\\"tick\\\").remove(),e.yaxislayer.selectAll(\\\".\\\"+n._id+\\\"tick\\\").remove(),e.gridlayer.selectAll(\\\"path\\\").remove(),e.zerolinelayer.selectAll(\\\"path\\\").remove(),o._infolayer.select(\\\".g-\\\"+r._id+\\\"title\\\").remove(),o._infolayer.select(\\\".g-\\\"+n._id+\\\"title\\\").remove()}),!n||\\\"redraw\\\"===n)return ne.syncOrAsync(pi.list(t,\\\"\\\",!0).map(function(e){return function(){if(e._id){var r=pi.doTicks(t,e._id);return\\\"redraw\\\"===n&&(e._r=e.range.slice(),e._rl=ne.simpleMap(e._r,e.r2l)),r}}}));a.setScale();var l,u,c,h,f,p=n.charAt(0),d=pi.counterLetter(n),g=pi.calcTicks(a),v=function(t){return[t.text,t.x,a.mirror,t.font,t.fontSize,t.fontColor].join(\\\"_\\\")},m=n+\\\"tick\\\",y=n+\\\"grid\\\",x=n+\\\"zl\\\",b=(a.linewidth||1)/2,_=\\\"outside\\\"===a.ticks?a.ticklen:0,w=0,M=Sr.crispRound(t,a.gridwidth,1),A=Sr.crispRound(t,a.zerolinewidth,M),k=Sr.crispRound(t,a.tickwidth,1);if(a._counterangle&&\\\"outside\\\"===a.ticks){var T=a._counterangle*Math.PI/180;_=a.ticklen*Math.cos(T)+1,w=a.ticklen*Math.sin(T)}if(a.showticklabels&&(\\\"outside\\\"===a.ticks||a.showline)&&(_+=.2*a.tickfont.size),\\\"x\\\"===p)l=[\\\"bottom\\\",\\\"top\\\"],u=a._transfn||function(t){return\\\"translate(\\\"+(a._offset+a.l2p(t.x))+\\\",0)\\\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\\\"M0,\\\"+t+\\\"l\\\"+Math.sin(r)*e+\\\",\\\"+Math.cos(r)*e}return\\\"M0,\\\"+t+\\\"v\\\"+e};else if(\\\"y\\\"===p)l=[\\\"left\\\",\\\"right\\\"],u=a._transfn||function(t){return\\\"translate(0,\\\"+(a._offset+a.l2p(t.x))+\\\")\\\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\\\"M\\\"+t+\\\",0l\\\"+Math.cos(r)*e+\\\",\\\"+-Math.sin(r)*e}return\\\"M\\\"+t+\\\",0h\\\"+e};else{if(\\\"angular\\\"!==n)return void ne.warn(\\\"Unrecognized doTicks axis:\\\",n);l=[\\\"left\\\",\\\"right\\\"],u=a._transfn,c=function(t,e){return\\\"M\\\"+t+\\\",0h\\\"+e}}var S=a.side||l[0],E=[-1,1,S===l[1]?1:-1];if(\\\"inside\\\"!==a.ticks==(\\\"x\\\"===p)&&(E=E.map(function(t){return-t})),a.visible){a._tickFilter&&(g=g.filter(a._tickFilter));var C=g.filter(F);if(\\\"angular\\\"===a._id&&(C=g),s){if(B(a._axislayer,c(a._pos+b*E[2],E[2]*a.ticklen)),a._counteraxis)U({gridlayer:a._gridlayer,zerolinelayer:a._zerolinelayer},a._counteraxis);return N(a._axislayer,a._pos)}if(o._has(\\\"cartesian\\\")){var L={};(h=pi.getSubplots(t,a)).map(function(t){var e=o._plots[t],r=e[d+\\\"axis\\\"],n=r._mainAxis._id;L[n]||(L[n]=1,U(e,r,t))});var z=a._mainSubplot,I=o._plots[z],D=[];if(a.ticks){var O=E[2],R=c(a._mainLinePosition+b*O,O*a.ticklen);a._anchorAxis&&a.mirror&&!0!==a.mirror&&(R+=c(a._mainMirrorPosition-b*O,-O*a.ticklen)),B(I[p+\\\"axislayer\\\"],R),D=Object.keys(a._linepositions)}return D.map(function(t){var e=o._plots[t][p+\\\"axislayer\\\"],r=a._linepositions[t]||[];function n(t){var e=E[t];return c(r[t]+b*e,e*a.ticklen)}B(e,n(0)+n(1))}),N(I[p+\\\"axislayer\\\"],a._mainLinePosition)}}function F(t){var e=a.l2p(t.x);return e>1&&e<a._length-1}function B(t,e){var r=t.selectAll(\\\"path.\\\"+m).data(\\\"inside\\\"===a.ticks?C:g,v);e&&a.ticks?(r.enter().append(\\\"path\\\").classed(m,1).classed(\\\"ticks\\\",1).classed(\\\"crisp\\\",1).call(Oe.stroke,a.tickcolor).style(\\\"stroke-width\\\",k+\\\"px\\\").attr(\\\"d\\\",e),r.attr(\\\"transform\\\",u),r.exit().remove()):r.remove()}function N(i,s){var l,c,d,y,x,M=i.selectAll(\\\"g.\\\"+m).data(g,v);if(!r(s))return M.remove(),void j();if(!a.showticklabels)return M.remove(),j(),void C();\\\"x\\\"===p?(l=function(t){return t.dx+w*x},y=s+(_+b)*(x=\\\"bottom\\\"===S?1:-1),c=function(t){return t.dy+y+t.fontSize*(\\\"bottom\\\"===S?1:-.2)},d=function(t){return r(t)&&0!==t&&180!==t?t*x<0?\\\"end\\\":\\\"start\\\":\\\"middle\\\"}):\\\"y\\\"===p?(x=\\\"right\\\"===S?1:-1,c=function(t){return t.dy+t.fontSize*hi-w*x},l=function(t){return t.dx+s+(_+b+(90===Math.abs(a.tickangle)?t.fontSize/2:0))*x},d=function(t){return r(t)&&90===Math.abs(t)?\\\"middle\\\":\\\"right\\\"===S?\\\"start\\\":\\\"end\\\"}):\\\"angular\\\"===n&&(a._labelShift=w,a._labelStandoff=_,a._pad=b,l=a._labelx,c=a._labely,d=a._labelanchor);var A=0,k=0,T=[];function E(t,n){t.each(function(t){var i=d(n,t),a=e.select(this),o=a.select(\\\".text-math-group\\\"),s=u.call(a.node(),t)+(r(n)&&0!=+n?\\\" rotate(\\\"+n+\\\",\\\"+l(t)+\\\",\\\"+(c(t)-t.fontSize/2)+\\\")\\\":\\\"\\\"),h=function(t,e,r){var n=(t-1)*e;if(\\\"x\\\"===p){if(r<-60||60<r)return-.5*n;if(\\\"top\\\"===S)return-n}else{if((r*=\\\"left\\\"===S?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(er.lineCount(a),fi*t.fontSize,r(n)?+n:0);if(h&&(s+=\\\" translate(0, \\\"+h+\\\")\\\"),o.empty())a.select(\\\"text\\\").attr({transform:s,\\\"text-anchor\\\":i});else{var f=Sr.bBox(o.node()).width*{end:-.5,start:.5}[i];o.attr(\\\"transform\\\",s+(f?\\\"translate(\\\"+f+\\\",0)\\\":\\\"\\\"))}})}function C(){if(a.showticklabels){var e=t.getBoundingClientRect(),r=i.node().getBoundingClientRect();a._boundingBox={width:r.width,height:r.height,left:r.left-e.left,right:r.right-e.left,top:r.top-e.top,bottom:r.bottom-e.top}}else{var n,s=o._size;\\\"x\\\"===p?(n=\\\"free\\\"===a.anchor?s.t+s.h*(1-a.position):s.t+s.h*(1-a._anchorAxis.domain[{bottom:0,top:1}[a.side]]),a._boundingBox={top:n,bottom:n,left:a._offset,right:a._offset+a._length,width:a._length,height:0}):(n=\\\"free\\\"===a.anchor?s.l+s.w*a.position:s.l+s.w*a._anchorAxis.domain[{left:0,right:1}[a.side]],a._boundingBox={left:n,right:n,bottom:a._offset+a._length,top:a._offset,height:a._length,width:0})}if(h){var l=a._counterSpan=[1/0,-1/0];for(f=0;f<h.length;f++){var u=o._plots[h[f]][\\\"x\\\"===p?\\\"yaxis\\\":\\\"xaxis\\\"];c(l,[u._offset,u._offset+u._length])}\\\"free\\\"===a.anchor&&c(l,\\\"x\\\"===p?[a._boundingBox.bottom,a._boundingBox.top]:[a._boundingBox.right,a._boundingBox.left])}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}M.enter().append(\\\"g\\\").classed(m,1).append(\\\"text\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").each(function(r){var n=e.select(this),i=t._promises.length;n.call(er.positionText,l(r),c(r)).call(Sr.font,r.font,r.fontSize,r.fontColor).text(r.text).call(er.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){E(n,a.tickangle)})):E(n,a.tickangle)}),M.exit().remove(),M.each(function(t){A=Math.max(A,t.fontSize)}),\\\"angular\\\"===n&&M.each(function(t){e.select(this).select(\\\"text\\\").call(er.positionText,l(t),c(t))}),E(M,a._lastangle||a.tickangle);var L=ne.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(E(M,a.tickangle),\\\"x\\\"===p&&!r(a.tickangle)&&(\\\"log\\\"!==a.type||\\\"D\\\"!==String(a.dtick).charAt(0))){var t=[];for(M.each(function(r){var n=e.select(this),i=n.select(\\\".text-math-group\\\"),o=a.l2p(r.x);i.empty()&&(i=n.select(\\\"text\\\"));var s=Sr.bBox(i.node());t.push({top:0,bottom:10,height:10,left:o-s.width/2,right:o+s.width/2+2,width:s.width+2})}),f=0;f<t.length-1;f++)if(ne.bBoxIntersect(t[f],t[f+1])){k=30;break}k&&(Math.abs((g[g.length-1].x-g[0].x)*a._m)/(g.length-1)<2.5*A&&(k=90),E(M,k)),a._lastangle=k}return j(),n+\\\" done\\\"},C,function(){if(a.automargin&&(\\\"x\\\"===p||\\\"y\\\"===p)){var e=a.side[0],r={x:0,y:0,r:0,l:0,t:0,b:0};\\\"x\\\"===p?(r.y=\\\"free\\\"===a.anchor?a.position:a._anchorAxis.domain[\\\"t\\\"===e?1:0],r[e]+=a._boundingBox.height):(r.x=\\\"free\\\"===a.anchor?a.position:a._anchorAxis.domain[\\\"r\\\"===e?1:0],r[e]+=a._boundingBox.width),a.title!==o._dfltTitle[p]&&(r[e]+=a.titlefont.size);var n=a._name+\\\".automargin\\\",i=o._pushmargin[n];(!i||i[e].size<r[e])&&_n.autoMargin(t,n,r)}}]);return L&&L.then&&t._promises.push(L),L}function j(){if(!i){var r=gn.getFromId(t,n);if(!(r.rangeslider&&r.rangeslider.visible&&r._boundingBox&&\\\"bottom\\\"===r.side)){var a,s,l,u,c=e.select(t).selectAll(\\\"g.\\\"+n+\\\"tick\\\"),h={selection:c,side:r.side},f=n.charAt(0),p=t._fullLayout._size,d=r.titlefont.size;if(c.size()){var g=Sr.getTranslate(c.node().parentNode);h.offsetLeft=g.x,h.offsetTop=g.y}var v=10+1.5*d+(r.linewidth?r.linewidth-1:0);\\\"x\\\"===f?(s=\\\"free\\\"===r.anchor?{_offset:p.t+(1-(r.position||0))*p.h,_length:0}:gn.getFromId(t,r.anchor),l=r._offset+r._length/2,u=\\\"top\\\"===r.side?-v-d*(r.showticklabels?1:0):s._length+v+d*(r.showticklabels?1.5:.5),u+=s._offset,h.side||(h.side=\\\"bottom\\\")):(s=\\\"free\\\"===r.anchor?{_offset:p.l+(r.position||0)*p.w,_length:0}:gn.getFromId(t,r.anchor),u=r._offset+r._length/2,l=\\\"right\\\"===r.side?s._length+v+d*(r.showticklabels?1:.5):-v-d*(r.showticklabels?.5:0),l+=s._offset,a={rotate:\\\"-90\\\",offset:0},h.side||(h.side=\\\"left\\\")),Dn.draw(t,n+\\\"title\\\",{propContainer:r,propName:r._name+\\\".title\\\",placeholder:o._dfltTitle[f],avoid:h,transform:a,attributes:{x:l,y:u,\\\"text-anchor\\\":\\\"middle\\\"}})}}}function V(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!P.traceIs(t,\\\"bar\\\")||t.orientation!=={x:\\\"h\\\",y:\\\"v\\\"}[p])||t.fill&&t.fill.charAt(t.fill.length-1)===p)}function U(r,i,o){var s=r.gridlayer.selectAll(\\\".\\\"+n),l=r.zerolinelayer,c=r[\\\"hidegrid\\\"+p]?[]:C,h=a._gridpath||(\\\"x\\\"===p?\\\"M0,\\\"+i._offset+\\\"v\\\":\\\"M\\\"+i._offset+\\\",0h\\\")+i._length,f=s.selectAll(\\\"path.\\\"+y).data(!1===a.showgrid?[]:c,v);if(f.enter().append(\\\"path\\\").classed(y,1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",h).each(function(t){a.zeroline&&(\\\"linear\\\"===a.type||\\\"-\\\"===a.type)&&Math.abs(t.x)<a.dtick/100&&e.select(this).remove()}),f.attr(\\\"transform\\\",u).call(Oe.stroke,a.gridcolor||\\\"#ddd\\\").style(\\\"stroke-width\\\",M+\\\"px\\\"),\\\"function\\\"==typeof h&&f.attr(\\\"d\\\",h),f.exit().remove(),l){for(var d=!1,g=0;g<t._fullData.length;g++)if(V(t._fullData[g],o)){d=!0;break}var m=ne.simpleMap(a.range,a.r2l),b=m[0]*m[1]<=0&&a.zeroline&&(\\\"linear\\\"===a.type||\\\"-\\\"===a.type)&&c.length&&(d||F({x:0})||!a.showline),_=l.selectAll(\\\"path.\\\"+x).data(b?[{x:0,id:n}]:[]);_.enter().append(\\\"path\\\").classed(x,1).classed(\\\"zl\\\",1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",h).each(function(){l.selectAll(\\\"path\\\").sort(function(t,e){return gn.idSort(t.id,e.id)})}),_.attr(\\\"transform\\\",u).call(Oe.stroke,a.zerolinecolor||Oe.defaultLine).style(\\\"stroke-width\\\",A+\\\"px\\\"),_.exit().remove()}}},pi.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],zi(u.x,l.x),zi(u.y,l.y);zi(u.x,[o]),zi(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Pi(t,r[n].x,r[n].y)};var Di={pointsAccessorFunction:function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},Oi={},Ri=Di.pointsAccessorFunction,Fi=t.BADNUM;Oi.moduleType=\\\"transform\\\",Oi.name=\\\"aggregate\\\";var Bi=Oi.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\\\"],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\\\"},Ni=Bi.aggregations;function ji(t,e,r,n){if(n.enabled){for(var i=n.target,a=ne.nestedProperty(e,i),o=a.get(),s=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\\\"count\\\":return Vi;case\\\"first\\\":return Ui;case\\\"last\\\":return qi;case\\\"sum\\\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r+=o)}return i(r)};case\\\"avg\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s,a++)}return a?i(r/a):Fi};case\\\"min\\\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r=Math.min(r,o))}return r===1/0?Fi: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!==Fi&&(r=Math.max(r,o))}return r===-1/0?Fi:i(r)};case\\\"median\\\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&r.push(o)}if(!r.length)return Fi;r.sort();var s=(r.length-1)/2;return i((r[Math.floor(s)]+r[Math.ceil(s)])/2)};case\\\"mode\\\":return function(t,e){for(var r={},a=0,o=Fi,s=0;s<e.length;s++){var l=n(t[e[s]]);if(l!==Fi){var u=r[l]=(r[l]||0)+1;u>a&&(a=u,o=l)}}return a?i(o):Fi};case\\\"rms\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s*s,a++)}return a?i(Math.sqrt(r/a)):Fi};case\\\"stddev\\\":return function(e,r){var i,a=0,o=0,s=1,l=Fi;for(i=0;i<r.length&&l===Fi;i++)l=n(e[r[i]]);if(l===Fi)return Fi;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==Fi){var c=u-l;a+=c,o+=c*c,s++}}var h=\\\"sample\\\"===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,ri.getDataConversions(t,e,i,o)),l=new Array(r.length),u=0;u<r.length;u++)l[u]=s(o,r[u]);a.set(l)}}function Vi(t,e){return e.length}function Ui(t,e){return t[e[0]]}function qi(t,e){return t[e[e.length-1]]}Oi.supplyDefaults=function(t,e){var r,n={};function i(e,r){return ne.coerce(t,n,Bi,e,r)}if(!i(\\\"enabled\\\"))return n;var a=nn.findArrayAttributes(e),o={};for(r=0;r<a.length;r++)o[a[r]]=1;var s=i(\\\"groups\\\");if(!Array.isArray(s)){if(!o[s])return void(n.enabled=!1);o[s]=0}var l,u=t.aggregations||[],c=n.aggregations=new Array(u.length);function h(t,e){return ne.coerce(u[r],l,Ni,t,e)}for(r=0;r<u.length;r++){l={_index:r};var f=h(\\\"target\\\"),p=h(\\\"func\\\");h(\\\"enabled\\\")&&f&&(o[f]||\\\"count\\\"===p&&void 0===o[f])?(\\\"stddev\\\"===p&&h(\\\"funcmode\\\"),o[f]=0,c[r]=l):c[r]={enabled:!1,_index:r}}for(r=0;r<a.length;r++)o[a[r]]&&c.push({target:a[r],func:Ni.func.dflt,enabled:!0,_index:-1});return n},Oi.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=ne.getTargetArray(e,{target:n});if(i){var a,o,s,l,u={},c={},h=[],f=Ri(e.transforms,r);for(a=0;a<i.length;a++)void 0===(s=u[o=i[a]])?(u[o]=h.length,l=[a],h.push(l),c[u[o]]=f(a)):(h[s].push(a),c[u[o]]=(c[u[o]]||[]).concat(f(a)));r._indexToPoints=c;var p=r.aggregations;for(a=0;a<p.length;a++)ji(t,e,h,p[a]);\\\"string\\\"==typeof n&&ji(t,e,h,{target:n,func:\\\"first\\\",enabled:!0})}}};var Hi=Oi,Gi={xaxis:{valType:\\\"subplotid\\\",dflt:\\\"x\\\",editType:\\\"calc+clearAxisTypes\\\"},yaxis:{valType:\\\"subplotid\\\",dflt:\\\"y\\\",editType:\\\"calc+clearAxisTypes\\\"}},Wi=function(t,e,r){if(\\\"category\\\"===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&&i.length>0;a&&(n=\\\"array\\\");var o=r(\\\"categoryorder\\\",n);\\\"array\\\"===o&&r(\\\"categoryarray\\\"),a||\\\"array\\\"!==o||(e.categoryorder=\\\"trace\\\")}},Yi=s.mix,Xi=C.lightFraction,Zi=function(t,e,r,n){var i=(n=n||{}).dfltColor;function a(r,i){return ne.coerce2(t,e,n.attributes,r,i)}var o=a(\\\"linecolor\\\",i),s=a(\\\"linewidth\\\");r(\\\"showline\\\",n.showLine||!!o||!!s)||(delete e.linecolor,delete e.linewidth);var l=a(\\\"gridcolor\\\",Yi(i,n.bgColor,n.blend||Xi).toRgbString()),u=a(\\\"gridwidth\\\");if(r(\\\"showgrid\\\",n.showGrid||!!l||!!u)||(delete e.gridcolor,delete e.gridwidth),!n.noZeroLine){var c=a(\\\"zerolinecolor\\\",i),h=a(\\\"zerolinewidth\\\");r(\\\"zeroline\\\",n.showGrid||!!c||!!h)||(delete e.zerolinecolor,delete e.zerolinewidth)}};function Ji(t,r,n){var i,a,o,s,l,u=[],c=n.map(function(e){return e[t]}),h=e.bisector(r).left;for(i=0;i<c.length;i++)for(o=c[i],a=0;a<o.length;a++)null!==(s=o[a])&&void 0!==s&&((l=h(u,s))<u.length&&u[l]===s||u.splice(l,0,s));return u}var Ki=function(t,r,n,i){switch(r){case\\\"array\\\":return Array.isArray(n)?n.slice():[];case\\\"category ascending\\\":return Ji(t,e.ascending,i);case\\\"category descending\\\":return Ji(t,e.descending,i);case\\\"trace\\\":default:return[]}},Qi=function(t,e,r,n,i){var a=n.letter,o=n.font||{},s=r(\\\"visible\\\",!n.cheateronly),l=e.type;\\\"date\\\"===l&&P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",n.calendar);ei(e,i);var u=r(\\\"autorange\\\",!e.isValidRange(t.range));if(e._rangesliderAutorange=!1,u&&r(\\\"rangemode\\\"),r(\\\"range\\\"),e.cleanRange(),Wi(t,e,r),e._initialCategories=\\\"category\\\"===l?Ki(a,e.categoryorder,e.categoryarray,n.data):[],\\\"category\\\"===l||n.noHover||r(\\\"hoverformat\\\"),!s)return e;var c=r(\\\"color\\\"),h=c===t.color?c:o.color;return r(\\\"title\\\",i._dfltTitle[a]),ne.coerceFont(r,\\\"titlefont\\\",{family:o.family,size:Math.round(1.2*o.size),color:h}),Ge(t,e,r,l),Ue(t,e,r,l,n),qe(t,e,r,n),Zi(t,e,r,{dfltColor:c,bgColor:n.bgColor,showGrid:n.showGrid,attributes:Ce}),(e.showline||e.ticks)&&r(\\\"mirror\\\"),n.automargin&&r(\\\"automargin\\\"),e},$i=gn.id2name,ta=function(t,e,r,n,i){var a=i._axisConstraintGroups,o=e._id,s=o.charAt(0);if(!e.fixedrange&&(r(\\\"constrain\\\"),ne.coerce(t,e,{constraintoward:{valType:\\\"enumerated\\\",values:\\\"x\\\"===s?[\\\"left\\\",\\\"center\\\",\\\"right\\\"]:[\\\"bottom\\\",\\\"middle\\\",\\\"top\\\"],dflt:\\\"x\\\"===s?\\\"center\\\":\\\"middle\\\"}},\\\"constraintoward\\\"),t.scaleanchor)){var l=function(t,e,r,n){var i,a,o,s,l=n[$i(e)].type,u=[];for(a=0;a<r.length;a++)(o=r[a])!==e&&((s=n[$i(o)]).type!==l||s.fixedrange||u.push(o));for(i=0;i<t.length;i++)if(t[i][e]){var c=t[i],h=[];for(a=0;a<u.length;a++)o=u[a],c[o]||h.push(o);return{linkableAxes:h,thisGroup:c}}return{linkableAxes:u,thisGroup:null}}(a,o,n,i),u=ne.coerce(t,e,{scaleanchor:{valType:\\\"enumerated\\\",values:l.linkableAxes}},\\\"scaleanchor\\\");if(u){var c=r(\\\"scaleratio\\\");c||(c=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,u;null===e?((e={})[r]=1,u=t.length,t.push(e)):u=t.indexOf(e);var c=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==u&&s[n]){var h=s[n];for(o=0;o<c.length;o++)l=c[o],s[l]=h*i*e[l];return void t.splice(u,1)}if(1!==i)for(o=0;o<c.length;o++)e[c[o]]*=i;e[n]=1}(a,l.thisGroup,o,u,c)}else-1!==n.indexOf(t.scaleanchor)&&ne.warn(\\\"ignored \\\"+e._name+'.scaleanchor: \\\"'+t.scaleanchor+'\\\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}};var ea=function(t,e,n,i){var a,o,s,l,u=i.counterAxes||[],c=i.overlayableAxes||[],h=i.letter,f=i.grid;f&&(o=f._domains[h][f._axisMap[e._id]],a=f._anchors[e._id],o&&(s=f[h+\\\"side\\\"].split(\\\" \\\")[0],l=f.domain[h][\\\"right\\\"===s||\\\"top\\\"===s?1:0])),o=o||[0,1],a=a||(r(t.position)?\\\"free\\\":u[0]||\\\"free\\\"),s=s||(\\\"x\\\"===h?\\\"bottom\\\":\\\"left\\\"),l=l||0,\\\"free\\\"===ne.coerce(t,e,{anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\"].concat(u),dflt:a}},\\\"anchor\\\")&&n(\\\"position\\\",l),ne.coerce(t,e,{side:{valType:\\\"enumerated\\\",values:\\\"x\\\"===h?[\\\"bottom\\\",\\\"top\\\"]:[\\\"left\\\",\\\"right\\\"],dflt:s}},\\\"side\\\");var p=!1;if(c.length&&(p=ne.coerce(t,e,{overlaying:{valType:\\\"enumerated\\\",values:[!1].concat(c),dflt:!1}},\\\"overlaying\\\")),!p){var d=n(\\\"domain\\\",o);d[0]>d[1]-.01&&(e.domain=o),ne.noneOrAll(t.domain,e.domain,o)}return n(\\\"layer\\\"),e},ra=gn.name2id,na=function(t,e,r,n,i){i&&(e._name=i,e._id=ra(i)),\\\"-\\\"===r(\\\"type\\\")&&(!function(t,e){if(\\\"-\\\"!==t.type)return;var r=t._id,n=r.charAt(0);-1!==r.indexOf(\\\"scene\\\")&&(r=n);var i=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\\\"axis\\\"]||r)===e){if(aa(i,r))return i;if((i[r]||[]).length||i[r+\\\"0\\\"])return i}}}(e,r,n);if(!i)return;if(\\\"histogram\\\"===i.type&&n==={v:\\\"y\\\",h:\\\"x\\\"}[i.orientation||\\\"v\\\"])return void(t.type=\\\"linear\\\");var a=n+\\\"calendar\\\",o=i[a];if(aa(i,n)){for(var s,l=ia(i),u=[],c=0;c<e.length;c++)s=e[c],P.traceIs(s,\\\"box-violin\\\")&&(s[n+\\\"axis\\\"]||n)===r&&(void 0!==s[l]?u.push(s[l][0]):void 0!==s.name?u.push(s.name):u.push(\\\"text\\\"),s[a]!==o&&(o=void 0));t.type=Yn(u,o)}else t.type=Yn(i[n]||[i[n+\\\"0\\\"]],o)}(e,n),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type)};function ia(t){return{v:\\\"x\\\",h:\\\"y\\\"}[t.orientation||\\\"v\\\"]}function aa(t,e){var r=ia(t),n=P.traceIs(t,\\\"box-violin\\\"),i=P.traceIs(t._fullInput||{},\\\"candlestick\\\");return n&&!i&&e===r&&void 0===t[r]&&void 0===t[r+\\\"0\\\"]}var oa=Te.attrRegex,sa={},la=Te.SUBPLOT_PATTERN;sa.getSubplotCalcData=function(t,e,r){var n=P.subplotsRegistry[e];if(!n)return[];for(var i=n.attr,a=[],o=0;o<t.length;o++){var s=t[o];s[0].trace[i]===r&&a.push(s)}return a},sa.getModuleCalcData=function(t,e){var r=[],n=\\\"string\\\"==typeof e?P.getModule(e):e;if(!n)return r;for(var i=0;i<t.length;i++){var a=t[i],o=a[0].trace;o._module===n&&!0===o.visible&&r.push(a)}return r},sa.getSubplotData=function(t,e,r){if(!P.subplotsRegistry[e])return[];var n,i,a,o=P.subplotsRegistry[e].attr,s=[];if(\\\"gl2d\\\"===e){var l=r.match(la);i=\\\"x\\\"+l[1],a=\\\"y\\\"+l[2]}for(var u=0;u<t.length;u++)n=t[u],\\\"gl2d\\\"===e&&P.traceIs(n,\\\"gl2d\\\")?n[o[0]]===i&&n[o[1]]===a&&s.push(n):n[o]===r&&s.push(n);return s};var ua={},ca=sa.getModuleCalcData;function ha(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&&e.plot.selectAll(\\\"g:not(.scatterlayer)\\\").selectAll(\\\"g.trace\\\").remove();for(var o=0;o<a.length;o++){var s=a[o];if(\\\"cartesian\\\"===s.basePlotModule.name){var l=ca(r,s);s.plot&&s.plot(t,e,l,n,i)}}}function fa(t){var e=t.plotgroup,r=t.id,n=Te.layerValue2layerClass[t.xaxis.layer],i=Te.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,o=a.plotgroup,s=r+\\\"-x\\\",l=r+\\\"-y\\\";t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,ga(a.overlinesBelow,\\\"path\\\",s),ga(a.overlinesBelow,\\\"path\\\",l),ga(a.overaxesBelow,\\\"g\\\",s),ga(a.overaxesBelow,\\\"g\\\",l),t.plot=ga(a.overplot,\\\"g\\\",r),ga(a.overlinesAbove,\\\"path\\\",s),ga(a.overlinesAbove,\\\"path\\\",l),ga(a.overaxesAbove,\\\"g\\\",s),ga(a.overaxesAbove,\\\"g\\\",l),t.xlines=o.select(\\\".overlines-\\\"+n).select(\\\".\\\"+s),t.ylines=o.select(\\\".overlines-\\\"+i).select(\\\".\\\"+l),t.xaxislayer=o.select(\\\".overaxes-\\\"+n).select(\\\".\\\"+s),t.yaxislayer=o.select(\\\".overaxes-\\\"+i).select(\\\".\\\"+l)}else{var u=ga(e,\\\"g\\\",\\\"layer-subplot\\\");t.shapelayer=ga(u,\\\"g\\\",\\\"shapelayer\\\"),t.imagelayer=ga(u,\\\"g\\\",\\\"imagelayer\\\"),t.gridlayer=ga(e,\\\"g\\\",\\\"gridlayer\\\"),t.zerolinelayer=ga(e,\\\"g\\\",\\\"zerolinelayer\\\"),ga(e,\\\"path\\\",\\\"xlines-below\\\"),ga(e,\\\"path\\\",\\\"ylines-below\\\"),t.overlinesBelow=ga(e,\\\"g\\\",\\\"overlines-below\\\"),ga(e,\\\"g\\\",\\\"xaxislayer-below\\\"),ga(e,\\\"g\\\",\\\"yaxislayer-below\\\"),t.overaxesBelow=ga(e,\\\"g\\\",\\\"overaxes-below\\\"),t.plot=ga(e,\\\"g\\\",\\\"plot\\\"),t.overplot=ga(e,\\\"g\\\",\\\"overplot\\\"),ga(e,\\\"path\\\",\\\"xlines-above\\\"),ga(e,\\\"path\\\",\\\"ylines-above\\\"),t.overlinesAbove=ga(e,\\\"g\\\",\\\"overlines-above\\\"),ga(e,\\\"g\\\",\\\"xaxislayer-above\\\"),ga(e,\\\"g\\\",\\\"yaxislayer-above\\\"),t.overaxesAbove=ga(e,\\\"g\\\",\\\"overaxes-above\\\"),t.xlines=e.select(\\\".xlines-\\\"+n),t.ylines=e.select(\\\".ylines-\\\"+i),t.xaxislayer=e.select(\\\".xaxislayer-\\\"+n),t.yaxislayer=e.select(\\\".yaxislayer-\\\"+i)}ga(t.gridlayer,\\\"g\\\",t.xaxis._id,t.xaxis._id),ga(t.gridlayer,\\\"g\\\",t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(\\\"g\\\").sort(gn.idSort);for(var c=0;c<Te.traceLayerClasses.length;c++)ga(t.plot,\\\"g\\\",Te.traceLayerClasses[c]);t.xlines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0),t.ylines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0)}function pa(t,r){if(t){var n={};t.each(function(t){e.select(this).remove(),da(t,r),n[t]=!0});for(var i=r._plots,a=Object.keys(i),o=0;o<a.length;o++)for(var s=i[a[o]].overlays||[],l=0;l<s.length;l++){var u=s[l];n[u.id]&&u.plot.selectAll(\\\".trace\\\").remove()}}}function da(t,e){e._draggers.selectAll(\\\"g.\\\"+t).remove(),e._defs.select(\\\"#clip\\\"+e._uid+t+\\\"plot\\\").remove()}function ga(t,e,r,n){var i=t.selectAll(\\\".\\\"+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}ua.name=\\\"cartesian\\\",ua.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],ua.idRoot=[\\\"x\\\",\\\"y\\\"],ua.idRegex=Te.idRegex,ua.attrRegex=Te.attrRegex,ua.attributes=Gi,ua.layoutAttributes=Ce,ua.supplyLayoutDefaults=function(t,e,r){var n,i={},a={},o={},s={};for(n=0;n<r.length;n++){var l=r[n];if(P.traceIs(l,\\\"cartesian\\\")||P.traceIs(l,\\\"gl2d\\\")){var u=gn.id2name(l.xaxis),c=gn.id2name(l.yaxis);P.traceIs(l,\\\"carpet\\\")&&(\\\"carpet\\\"!==l.type||l._cheater)||u&&(a[u]=1),\\\"carpet\\\"===l.type&&l._cheater&&u&&(i[u]=1),P.traceIs(l,\\\"2dMap\\\")&&(o[u]=!0,o[c]=!0),P.traceIs(l,\\\"oriented\\\")&&(s[\\\"h\\\"===l.orientation?c:u]=!0)}}var h=e._subplots,f=h.xaxis,p=h.yaxis,d=ne.simpleMap(f,gn.id2name),g=ne.simpleMap(p,gn.id2name),v=d.concat(g),m=Oe.background;f.length&&p.length&&(m=ne.coerce(t,e,z,\\\"plot_bgcolor\\\"));var y,x,b,_,w=Oe.combine(m,e.paper_bgcolor);function M(t,e){return ne.coerce(b,_,Ce,t,e)}function A(t,e){return ne.coerce2(b,_,Ce,t,e)}function k(t){return\\\"x\\\"===t?p:f}var T={x:k(\\\"x\\\"),y:k(\\\"y\\\")};function S(e,r){for(var n=\\\"x\\\"===e?d:g,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(gn.name2id(o))}return i}for(n=0;n<v.length;n++){y=v[n],ne.isPlainObject(t[y])||(t[y]={}),b=t[y],_=e[y]={},na(b,_,M,r,y);var E=S(x=y.charAt(0),y),C={letter:x,font:e.font,outerTicks:o[y],showGrid:!s[y],data:r,bgColor:w,calendar:e.calendar,automargin:!0,cheateronly:\\\"x\\\"===x&&i[y]&&!a[y]};Qi(b,_,M,C,e);var L=A(\\\"spikecolor\\\"),I=A(\\\"spikethickness\\\"),D=A(\\\"spikedash\\\"),O=A(\\\"spikemode\\\"),R=A(\\\"spikesnap\\\");M(\\\"showspikes\\\",!!(L||I||D||O||R))||(delete _.spikecolor,delete _.spikethickness,delete _.spikedash,delete _.spikemode,delete _.spikesnap);var F={letter:x,counterAxes:T[x],overlayableAxes:E,grid:e.grid};ea(b,_,M,F),_._input=b}var B=P.getComponentMethod(\\\"rangeslider\\\",\\\"handleDefaults\\\"),N=P.getComponentMethod(\\\"rangeselector\\\",\\\"handleDefaults\\\");for(n=0;n<d.length;n++)y=d[n],b=t[y],_=e[y],B(t,e,y),\\\"date\\\"===_.type&&N(b,_,e,g,_.calendar),M(\\\"fixedrange\\\");for(n=0;n<g.length;n++){y=g[n],b=t[y],_=e[y];var j=e[gn.id2name(_.anchor)];M(\\\"fixedrange\\\",j&&j.rangeslider&&j.rangeslider.visible)}e._axisConstraintGroups=[];var V=T.x.concat(T.y);for(n=0;n<v.length;n++)x=(y=v[n]).charAt(0),b=t[y],_=e[y],ta(b,_,M,V,e)},ua.transitionAxes=function(t,r,n,i){var a=t._fullLayout,o=[];var s,l,u,c,h=function(t){var e,r,n,i,s={};for(e in t)if((r=e.split(\\\".\\\"))[0].match(oa)){var l=e.charAt(0),u=r[0];if(n=a[u],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=u,i.length=n._length,o.push(l),s[l]=i}return s}(r),f=Object.keys(h),p=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var u=l.xaxis._id,c=l.yaxis._id,h=l.xaxis.range,f=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[u]?r[u].to:h,a=r[c]?r[c].to:f,h[0]===i[0]&&h[1]===i[1]&&f[0]===a[0]&&f[1]===a[1]||-1===e.indexOf(u)&&-1===e.indexOf(c)||s.push(l)}}return s}(a,f,h);if(!p.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(a.annotations||[],P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),e(a.shapes||[],P.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),e(a.images||[],P.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(),!1;function d(t){var e=t.xaxis,r=t.yaxis;a._defs.select(\\\"#\\\"+t.clipId+\\\"> rect\\\").call(Sr.setTranslate,0,0).call(Sr.setScale,1,1),t.plot.call(Sr.setTranslate,e._offset,r._offset).call(Sr.setScale,1,1);var n=t.plot.selectAll(\\\".scatterlayer .trace\\\");n.selectAll(\\\".point\\\").call(Sr.setPointGroupScale,1,1),n.selectAll(\\\".textpoint\\\").call(Sr.setTextPointsScale,1,1),n.call(Sr.hideOutsideRangePoints,t)}function g(e,r){var n,i,o,s=h[e.xaxis._id],l=h[e.yaxis._id],u=[];if(s){i=(n=t._fullLayout[s.axisName])._r,o=s.to,u[0]=(i[0]*(1-r)+r*o[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var c=i[1]-i[0],f=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[2]=e.xaxis._length*(1-r+r*f/c)}else u[0]=0,u[2]=e.xaxis._length;if(l){i=(n=t._fullLayout[l.axisName])._r,o=l.to,u[1]=(i[1]*(1-r)+r*o[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var p=i[1]-i[0],d=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[3]=e.yaxis._length*(1-r+r*d/p)}else u[1]=0,u[3]=e.yaxis._length;!function(e,r){var n,i=[];for(i=[e._id,r._id],n=0;n<i.length;n++)ri.doTicks(t,i[n],!0);function o(e,r,a){for(n=0;n<e.length;n++){var o=e[n];if(-1===i.indexOf(o.xref)&&-1===i.indexOf(o.yref)||r(t,n),a)return}}o(a.annotations||[],P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),o(a.shapes||[],P.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),o(a.images||[],P.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(e.xaxis,e.yaxis);var g=e.xaxis,v=e.yaxis,m=!!s,y=!!l,x=m?g._length/u[2]:1,b=y?v._length/u[3]:1,_=m?u[0]:0,w=y?u[1]:0,M=m?u[0]/u[2]*g._length:0,A=y?u[1]/u[3]*v._length:0,k=g._offset-M,T=v._offset-A;a._defs.select(\\\"#\\\"+e.clipId+\\\"> rect\\\").call(Sr.setTranslate,_,w).call(Sr.setScale,1/x,1/b),e.plot.call(Sr.setTranslate,k,T).call(Sr.setScale,x,b).selectAll(\\\".points\\\").selectAll(\\\".point\\\").call(Sr.setPointGroupScale,1/x,1/b),e.plot.selectAll(\\\".points\\\").selectAll(\\\".textpoint\\\").call(Sr.setTextPointsScale,1/x,1/b)}i&&(s=i());var v=e.ease(n.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(c),c=null,function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[f[r]+\\\"axis\\\"];e[n._name+\\\".range[0]\\\"]=n.range[0],e[n._name+\\\".range[1]\\\"]=n.range[1],n.range=n._r.slice()}return P.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}()}),l=Date.now(),c=window.requestAnimationFrame(function e(){u=Date.now();for(var r=Math.min(1,(u-l)/n.duration),i=v(r),a=0;a<p.length;a++)g(p[a],i);u-l>n.duration?(function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[h[f[r]].axisName],i=h[f[r]].to;e[n._name+\\\".range[0]\\\"]=i[0],e[n._name+\\\".range[1]\\\"]=i[1],n.range=i.slice()}s&&s(),P.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}(),c=window.cancelAnimationFrame(e)):c=window.requestAnimationFrame(e)}),Promise.resolve()},ua.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,l=a.cartesian,u=l.concat(a.gl2d||[]),c={},h={};for(r=0;r<u.length;r++){var f=u[r].split(\\\"y\\\");c[f[0]]=1,h[\\\"y\\\"+f[1]]=1}for(r=0;r<o.length;r++)c[n=o[r]]||(i=(t[gn.id2name(n)]||{}).anchor,Te.idRegex.y.test(i)||(i=\\\"y\\\"),l.push(n+i),u.push(n+i),h[i]||(h[i]=1,ne.pushUnique(s,i)));for(r=0;r<s.length;r++)h[i=s[r]]||(n=(t[gn.id2name(i)]||{}).anchor,Te.idRegex.x.test(n)||(n=\\\"x\\\"),l.push(n+i),u.push(n+i),c[n]||(c[n]=1,ne.pushUnique(o,n)));if(!u.length){for(var p in n=\\\"\\\",i=\\\"\\\",t){if(Te.attrRegex.test(p))\\\"x\\\"===p.charAt(0)?(!n||+p.substr(5)<+n.substr(5))&&(n=p):(!i||+p.substr(5)<+i.substr(5))&&(i=p)}n=n?gn.name2id(n):\\\"x\\\",i=i?gn.name2id(i):\\\"y\\\",o.push(n),s.push(i),l.push(n+i)}},ua.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(a._glcanvas&&a._glcanvas.size()&&a._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),i=0;i<o.length;i++){for(var l,u=o[i],c=a._plots[u],h=[],f=0;f<s.length;f++){var p=s[f],d=p[0].trace;d.xaxis+d.yaxis===u&&((-1!==e.indexOf(d.index)||d.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===u&&-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(d.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}ha(t,c,h,r,n)}},ua.clean=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p=n._modules||[],d=e._modules||[];for(l=0;l<p.length;l++)\\\"scatter\\\"===(f=p[l].name)?i=!0:\\\"scattergl\\\"===f&&(o=!0);for(l=0;l<d.length;l++)\\\"scatter\\\"===(f=d[l].name)?a=!0:\\\"scattergl\\\"===f&&(s=!0);if(i&&!a){for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]]).plot&&h.plot.select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove();n._infolayer.selectAll(\\\"g.rangeslider-container\\\").select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove()}if(o&&!s)for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]])._scene&&h._scene.destroy();var g=n._subplots||{},v=e._subplots||{xaxis:[],yaxis:[]};if(g.xaxis&&g.yaxis){var m=g.xaxis.concat(g.yaxis),y=v.xaxis.concat(v.yaxis);for(l=0;l<m.length;l++)-1===y.indexOf(m[l])&&n._infolayer.selectAll(\\\".g-\\\"+m[l]+\\\"title\\\").remove()}var x=n._has&&n._has(\\\"cartesian\\\"),b=e._has&&e._has(\\\"cartesian\\\");if(x&&!b)pa(n._cartesianlayer.selectAll(\\\".subplot\\\"),n),n._defs.selectAll(\\\".axesclip\\\").remove(),delete n._axisConstraintGroups;else if(g.cartesian)for(l=0;l<g.cartesian.length;l++){var _=g.cartesian[l];if(-1===v.cartesian.indexOf(_)){var w=\\\".\\\"+_+\\\",.\\\"+_+\\\"-x,.\\\"+_+\\\"-y\\\";n._cartesianlayer.selectAll(w).remove(),da(_,n)}}},ua.drawFramework=function(t){var r=t._fullLayout,n=function(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a<r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,u=s.yaxis,c=l._mainAxis,h=u._mainAxis,f=c._id+h._id;f!==o&&-1!==r.indexOf(f)?(s.mainplot=f,s.mainplotinfo=e._plots[f],i.push(o)):n.push(o)}return n=n.concat(i)}(t),i=r._cartesianlayer.selectAll(\\\".subplot\\\").data(n,ne.identity);i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"subplot \\\"+t}),i.order(),i.exit().call(pa,r),i.each(function(t){var n=r._plots[t];(n.plotgroup=e.select(this),n.overlays=[],fa(n),n.mainplot)&&r._plots[n.mainplot].overlays.push(n);n.draglayer=ga(r._draggers,\\\"g\\\",t)})},ua.rangePlot=function(t,e,r){fa(e),ha(t,e,r),_n.style(t)},ua.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\\\".svg-container\\\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\\\".gl-canvas-context, .gl-canvas-focus\\\").each(function(){var t=this.toDataURL(\\\"image/png\\\");r.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":t,preserveAspectRatio:\\\"none\\\",x:0,y:0,width:this.width,height:this.height})})};var va=ne.mergeArray,ma=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;va(e.text,t,\\\"tx\\\"),va(e.hovertext,t,\\\"htx\\\");var n=e.marker;if(n){va(n.opacity,t,\\\"mo\\\"),va(n.color,t,\\\"mc\\\");var i=n.line;i&&(va(i.color,t,\\\"mlc\\\"),va(i.width,t,\\\"mlw\\\"))}},ya=m.extendFlat,xa=T({editType:\\\"calc\\\",arrayOk:!0}),ba=Zr.marker,_a=ya({line:ya({width:ya({},ba.line.width,{dflt:0}),editType:\\\"calc\\\"},De()),editType:\\\"calc\\\"},De(),{showscale:ba.showscale,colorbar:ze,opacity:{valType:\\\"number\\\",arrayOk:!0,dflt:1,min:0,max:1,editType:\\\"style\\\"}}),wa={x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:Zr.text,hovertext:Zr.hovertext,textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"none\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:ya({},xa,{}),insidetextfont:ya({},xa,{}),outsidetextfont:ya({},xa,{}),constraintext:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"both\\\",editType:\\\"calc\\\"},cliponaxis:ya({},Zr.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:_a,selected:{marker:{opacity:Zr.selected.marker.opacity,color:Zr.selected.marker.color,editType:\\\"style\\\"},textfont:Zr.selected.textfont,editType:\\\"style\\\"},unselected:{marker:{opacity:Zr.unselected.marker.opacity,color:Zr.unselected.marker.color,editType:\\\"style\\\"},textfont:Zr.unselected.textfont,editType:\\\"style\\\"},r:Zr.r,t:Zr.t,_deprecated:{bardir:{valType:\\\"enumerated\\\",editType:\\\"calc\\\",values:[\\\"v\\\",\\\"h\\\"]}}},Ma=function(t,e){ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(t,e)},Aa=ne.isArrayOrTypedArray,ka=function(t,e,r,n,i){r(\\\"marker.color\\\",n),Xe(t,\\\"marker\\\")&&Ye(t,e,i,r,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.color\\\",Oe.defaultLine),Xe(t,\\\"marker.line\\\")&&Ye(t,e,i,r,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.width\\\"),r(\\\"marker.opacity\\\"),r(\\\"selected.marker.color\\\"),r(\\\"unselected.marker.color\\\")},Ta=function(t,e,r,n){var i,a=n(\\\"x\\\"),o=n(\\\"y\\\");if(P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],r),a)o?i=Math.min(a.length,o.length):(i=a.length,n(\\\"y0\\\"),n(\\\"dy\\\"));else{if(!o)return 0;i=e.y.length,n(\\\"x0\\\"),n(\\\"dx\\\")}return e._length=i,i},Sa={};(function(t){\\\"use strict\\\";var e;e=\\\"function\\\"!=typeof t.matchMedia||!t.matchMedia(\\\"(hover: none)\\\").matches,Sa=e}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var Ea=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}(),Ca={left:0,top:0},La=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n=t.clientX||0,i=t.clientY||0,a=(o=e,o===window||o===document||o===document.body?Ca:o.getBoundingClientRect());var o;return r[0]=n-a.left,r[1]=i-a.top,r};var za=[[\\\"sw-resize\\\",\\\"s-resize\\\",\\\"se-resize\\\"],[\\\"w-resize\\\",\\\"move\\\",\\\"e-resize\\\"],[\\\"nw-resize\\\",\\\"n-resize\\\",\\\"ne-resize\\\"]],Pa={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\\\"Arial, sans-serif\\\",HOVERMINTIME:50,HOVERID:\\\"-hover\\\"};function Ia(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}var Da=Ia;function Oa(t){return\\\"function\\\"==typeof t}function Ra(t){return\\\"object\\\"==typeof t&&null!==t}function Fa(t){return void 0===t}Ia.EventEmitter=Ia,Ia.prototype._events=void 0,Ia.prototype._maxListeners=void 0,Ia.defaultMaxListeners=10,Ia.prototype.setMaxListeners=function(t){if(\\\"number\\\"!=typeof t||t<0||isNaN(t))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=t,this},Ia.prototype.emit=function(t){var e,r,n,i,a,o;if(this._events||(this._events={}),\\\"error\\\"===t&&(!this._events.error||Ra(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var s=new Error('Uncaught, unspecified \\\"error\\\" event. ('+e+\\\")\\\");throw s.context=e,s}if(Fa(r=this._events[t]))return!1;if(Oa(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),r.apply(this,i)}else if(Ra(r))for(i=Array.prototype.slice.call(arguments,1),n=(o=r.slice()).length,a=0;a<n;a++)o[a].apply(this,i);return!0},Ia.prototype.addListener=function(t,e){var r;if(!Oa(e))throw TypeError(\\\"listener must be a function\\\");return this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",t,Oa(e.listener)?e.listener:e),this._events[t]?Ra(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,Ra(this._events[t])&&!this._events[t].warned&&(r=Fa(this._maxListeners)?Ia.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[t].length),\\\"function\\\"==typeof console.trace&&console.trace()),this},Ia.prototype.on=Ia.prototype.addListener,Ia.prototype.once=function(t,e){if(!Oa(e))throw TypeError(\\\"listener must be a function\\\");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},Ia.prototype.removeListener=function(t,e){var r,n,i,a;if(!Oa(e))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[t])return this;if(i=(r=this._events[t]).length,n=-1,r===e||Oa(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e);else if(Ra(r)){for(a=i;a-- >0;)if(r[a]===e||r[a].listener&&r[a].listener===e){n=a;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e)}return this},Ia.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\\\"removeListener\\\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this}if(Oa(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},Ia.prototype.listeners=function(t){return this._events&&this._events[t]?Oa(this._events[t])?[this._events[t]]:this._events[t].slice():[]},Ia.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(Oa(e))return 1;if(e)return e.length}return 0},Ia.listenerCount=function(t,e){return t.listenerCount(e)};var Ba,Na=Da.EventEmitter,ja={init:function(t){if(t._ev instanceof Na)return t;var e=new Na,r=new Na;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,i){\\\"undefined\\\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\\\"undefined\\\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;\\\"function\\\"==typeof o&&(o=[o]);for(var s=o.pop(),l=0;l<o.length;l++)o[l](r);return i=s(r),void 0!==n?n:i},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}},Va=Ba={};Va.wrapped=function(t,e,r){(t=Bt(t))._fullLayout&&$t.clear(t._fullLayout._uid+Pa.HOVERID),Va.raw(t,e,r)},Va.raw=function(t,e){var r=t._fullLayout,n=t._hoverdata;e||(e={}),e.target&&!1===ja.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&&n&&t.emit(\\\"plotly_unhover\\\",{event:e,points:n}))};var Ua={},qa=Ua={};function Ha(){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 Ga(t){return La(t.changedTouches?t.changedTouches[0]:t,document.body)}qa.align=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\\\"left\\\"===i||\\\"bottom\\\"===i?a:\\\"center\\\"===i||\\\"middle\\\"===i?s:\\\"right\\\"===i||\\\"top\\\"===i?o:a<2/3-s?a:o>4/3-s?o:s},qa.getCursor=function(t,e,r,n){return t=\\\"left\\\"===r?0:\\\"center\\\"===r?1:\\\"right\\\"===r?2:ne.constrain(Math.floor(3*t),0,2),e=\\\"bottom\\\"===n?0:\\\"middle\\\"===n?1:\\\"top\\\"===n?2:ne.constrain(Math.floor(3*e),0,2),za[e][t]},qa.unhover=Ba.wrapped,qa.unhoverRaw=Ba.raw,qa.init=function(t){var e,r,n,i,a,o,s,l,u=t.gd,c=1,h=f.DBLCLICKDELAY,p=t.element;u._mouseDownTime||(u._mouseDownTime=0),p.style.pointerEvents=\\\"all\\\",p.onmousedown=g,Ea?(p._ontouchstart&&p.removeEventListener(\\\"touchstart\\\",p._ontouchstart),p._ontouchstart=g,p.addEventListener(\\\"touchstart\\\",g,{passive:!1})):p.ontouchstart=g;var d=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function g(f){f.preventDefault(),u._dragged=!1,u._dragging=!0;var d=Ga(f);e=d[0],r=d[1],s=f.target,o=f,l=2===f.buttons||f.ctrlKey,(n=(new Date).getTime())-u._mouseDownTime<h?c+=1:(c=1,u._mouseDownTime=n),t.prepFn&&t.prepFn(f,e,r),Sa&&!l?(a=Ha()).style.cursor=window.getComputedStyle(p).cursor:Sa||(a=document,i=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(p).cursor),document.addEventListener(\\\"mousemove\\\",v),document.addEventListener(\\\"mouseup\\\",m),document.addEventListener(\\\"touchmove\\\",v),document.addEventListener(\\\"touchend\\\",m)}function v(n){n.preventDefault();var i=Ga(n),a=t.minDrag||Te.MINDRAG,o=d(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(u._dragged=!0,qa.unhover(u)),u._dragged&&t.moveFn&&!l&&t.moveFn(s,c)}function m(e){if(document.removeEventListener(\\\"mousemove\\\",v),document.removeEventListener(\\\"mouseup\\\",m),document.removeEventListener(\\\"touchmove\\\",v),document.removeEventListener(\\\"touchend\\\",m),e.preventDefault(),Sa?ne.removeElement(a):i&&(a.documentElement.style.cursor=i,i=null),u._dragging){if(u._dragging=!1,(new Date).getTime()-u._mouseDownTime>h&&(c=Math.max(c-1,1)),u._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(c,o),!l){var r;try{r=new MouseEvent(\\\"click\\\",e)}catch(t){var n=Ga(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)}s.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&P.call(\\\"plot\\\",t)}(u),u._dragged=!1}else u._dragged=!1}},qa.coverSlip=Ha;function Wa(t,e,r,n){n=n||ne.identity,Array.isArray(t)&&(e[0][r]=n(t))}var Ya={getSubplot:function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},flat:function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return 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},getDistanceFunction:function(t,e,r,n){return\\\"closest\\\"===t?n||Ya.quadrature(e,r):\\\"x\\\"===t?e: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 i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},inbox:function(t,e,r){return t*e<0||0===t?r:1/0},quadrature:function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},makeEventData:function(t,e,r){var n=\\\"index\\\"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:n};if(e._indexToPoints){var a=e._indexToPoints[n];1===a.length?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return e._module.eventData?i=e._module.eventData(i,t,e,r,n):(\\\"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)),Ya.appendArrayPointValue(i,e,n),i},appendArrayPointValue:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){var s=Ja(ne.nestedProperty(e,a).get(),r);void 0!==s&&(t[o]=s)}}},appendArrayMultiPointValues:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){for(var s=ne.nestedProperty(e,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=Ja(s,r[u]);t[o]=l}}}},Xa={ids:\\\"id\\\",locations:\\\"location\\\",labels:\\\"label\\\",values:\\\"value\\\",\\\"marker.colors\\\":\\\"color\\\"};function Za(t){return Xa[t]||t}function Ja(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var Ka=function(t,e){(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\").forEach(function(e){0===e.indexOf(\\\"cursor-\\\")&&t.classed(e,!1)}),e&&t.classed(\\\"cursor-\\\"+e,!0)},Qa=\\\"data-savedcursor\\\",$a=function(t,e){var r=t.attr(Qa);if(e){if(!r){for(var n=(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\"),i=0;i<n.length;i++){var a=n[i];0===a.indexOf(\\\"cursor-\\\")&&t.attr(Qa,a.substr(7)).classed(a,!1)}t.attr(Qa)||t.attr(Qa,\\\"!!\\\")}Ka(t,e)}else r&&(t.attr(Qa,null),\\\"!!\\\"===r?Ka(t):Ka(t,r))},to={},eo=Pa.YANGLE,ro=Math.PI*eo/180,no=1/Math.sin(ro),io=Math.cos(ro),ao=Math.sin(ro),oo=Pa.HOVERARROWSIZE,so=Pa.HOVERTEXTPAD;function lo(t,r,n){var i=r.hovermode,a=r.rotateLabels,o=r.bgColor,s=r.container,l=r.outerContainer,u=r.commonLabelOpts||{},c=r.fontFamily||Pa.HOVERFONT,h=r.fontSize||Pa.HOVERFONTSIZE,f=t[0],p=f.xa,d=f.ya,g=\\\"y\\\"===i?\\\"yLabel\\\":\\\"xLabel\\\",v=f[g],m=(String(v)||\\\"\\\").split(\\\" \\\")[0],y=l.node().getBoundingClientRect(),x=y.top,b=y.width,_=y.height,w=void 0!==v&&f.distance<=r.hoverdistance&&(\\\"x\\\"===i||\\\"y\\\"===i);if(w){var M,A,k=!0;for(M=0;M<t.length;M++){k&&void 0===t[M].zLabel&&(k=!1),A=t[M].hoverinfo||t[M].trace.hoverinfo;var T=Array.isArray(A)?A:A.split(\\\"+\\\");if(-1===T.indexOf(\\\"all\\\")&&-1===T.indexOf(i)){w=!1;break}}k&&(w=!1)}var S=s.selectAll(\\\"g.axistext\\\").data(w?[0]:[]);S.enter().append(\\\"g\\\").classed(\\\"axistext\\\",!0),S.exit().remove(),S.each(function(){var r=e.select(this),a=r.selectAll(\\\"path\\\").data([0]),o=r.selectAll(\\\"text\\\").data([0]);a.enter().append(\\\"path\\\").style({\\\"stroke-width\\\":\\\"1px\\\"}),a.style({fill:u.bgcolor||Oe.defaultLine,stroke:u.bordercolor||Oe.background}),o.enter().append(\\\"text\\\").attr(\\\"data-notex\\\",1),o.text(v).call(Sr.font,u.font.family||c,u.font.size||h,u.font.color||Oe.background).call(er.positionText,0,0).call(er.convertToTspans,n),r.attr(\\\"transform\\\",\\\"\\\");var s=o.node().getBoundingClientRect();if(\\\"x\\\"===i){o.attr(\\\"text-anchor\\\",\\\"middle\\\").call(er.positionText,0,\\\"top\\\"===p.side?x-s.bottom-oo-so:x-s.top+oo+so);var l=\\\"top\\\"===p.side?\\\"-\\\":\\\"\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+oo+\\\",\\\"+l+oo+\\\"H\\\"+(so+s.width/2)+\\\"v\\\"+l+(2*so+s.height)+\\\"H-\\\"+(so+s.width/2)+\\\"V\\\"+l+oo+\\\"H-\\\"+oo+\\\"Z\\\"),r.attr(\\\"transform\\\",\\\"translate(\\\"+(p._offset+(f.x0+f.x1)/2)+\\\",\\\"+(d._offset+(\\\"top\\\"===p.side?0:d._length))+\\\")\\\")}else{o.attr(\\\"text-anchor\\\",\\\"right\\\"===d.side?\\\"start\\\":\\\"end\\\").call(er.positionText,(\\\"right\\\"===d.side?1:-1)*(so+oo),x-s.top-s.height/2);var y=\\\"right\\\"===d.side?\\\"\\\":\\\"-\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+y+oo+\\\",\\\"+oo+\\\"V\\\"+(so+s.height/2)+\\\"h\\\"+y+(2*so+s.width)+\\\"V-\\\"+(so+s.height/2)+\\\"H\\\"+y+oo+\\\"V-\\\"+oo+\\\"Z\\\"),r.attr(\\\"transform\\\",\\\"translate(\\\"+(p._offset+(\\\"right\\\"===d.side?p._length:0))+\\\",\\\"+(d._offset+(f.y0+f.y1)/2)+\\\")\\\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[g]||\\\"\\\").split(\\\" \\\")[0]===m})});var E=s.selectAll(\\\"g.hovertext\\\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\\\"\\\"].join(\\\",\\\")});return E.enter().append(\\\"g\\\").classed(\\\"hovertext\\\",!0).each(function(){var t=e.select(this);t.append(\\\"rect\\\").call(Oe.fill,Oe.addOpacity(o,.8)),t.append(\\\"text\\\").classed(\\\"name\\\",!0),t.append(\\\"path\\\").style(\\\"stroke-width\\\",\\\"1px\\\"),t.append(\\\"text\\\").classed(\\\"nums\\\",!0).call(Sr.font,c,h)}),E.exit().remove(),E.each(function(t){var r=e.select(this).attr(\\\"transform\\\",\\\"\\\"),s=\\\"\\\",l=\\\"\\\",u=Oe.opacity(t.color)?t.color:Oe.defaultLine,f=Oe.combine(u,o),p=t.borderColor||Oe.contrast(f);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){s=er.plainText(t.name||\\\"\\\");var d=Math.round(t.nameLength);d>-1&&s.length>d&&(s=d>3?s.substr(0,d-3)+\\\"...\\\":s.substr(0,d))}void 0!==t.extraText&&(l+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\\\"x: \\\"+t.xLabel+\\\"<br>\\\"),void 0!==t.yLabel&&(l+=\\\"y: \\\"+t.yLabel+\\\"<br>\\\"),l+=(l?\\\"z: \\\":\\\"\\\")+t.zLabel):w&&t[i+\\\"Label\\\"]===v?l=t[(\\\"x\\\"===i?\\\"y\\\":\\\"x\\\")+\\\"Label\\\"]||\\\"\\\":void 0===t.xLabel?void 0!==t.yLabel&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\\\"(\\\"+t.xLabel+\\\", \\\"+t.yLabel+\\\")\\\",t.text&&!Array.isArray(t.text)&&(l+=(l?\\\"<br>\\\":\\\"\\\")+t.text),\\\"\\\"===l&&(\\\"\\\"===s&&r.remove(),l=s);var g=r.select(\\\"text.nums\\\").call(Sr.font,t.fontFamily||c,t.fontSize||h,t.fontColor||p).text(l).attr(\\\"data-notex\\\",1).call(er.positionText,0,0).call(er.convertToTspans,n),m=r.select(\\\"text.name\\\"),y=0;s&&s!==l?(m.call(Sr.font,t.fontFamily||c,t.fontSize||h,f).text(s).attr(\\\"data-notex\\\",1).call(er.positionText,0,0).call(er.convertToTspans,n),y=m.node().getBoundingClientRect().width+2*so):(m.remove(),r.select(\\\"rect\\\").remove()),r.select(\\\"path\\\").style({fill:f,stroke:p});var M,A,k=g.node().getBoundingClientRect(),T=t.xa._offset+(t.x0+t.x1)/2,S=t.ya._offset+(t.y0+t.y1)/2,E=Math.abs(t.x1-t.x0),C=Math.abs(t.y1-t.y0),L=k.width+oo+so+y;t.ty0=x-k.top,t.bx=k.width+2*so,t.by=k.height+2*so,t.anchor=\\\"start\\\",t.txwidth=k.width,t.tx2width=y,t.offset=0,a?(t.pos=T,M=S+C/2+L<=_,A=S-C/2-L>=0,\\\"top\\\"!==t.idealAlign&&M||!A?M?(S+=C/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(S-=C/2,t.anchor=\\\"end\\\")):(t.pos=S,M=T+E/2+L<=b,A=T-E/2-L>=0,\\\"left\\\"!==t.idealAlign&&M||!A?M?(T+=E/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(T-=E/2,t.anchor=\\\"end\\\")),g.attr(\\\"text-anchor\\\",t.anchor),y&&m.attr(\\\"text-anchor\\\",t.anchor),r.attr(\\\"transform\\\",\\\"translate(\\\"+T+\\\",\\\"+S+\\\")\\\"+(a?\\\"rotate(\\\"+eo+\\\")\\\":\\\"\\\"))}),E}function uo(t,r){t.each(function(t){var n=e.select(this);if(t.del)n.remove();else{var i=\\\"end\\\"===t.anchor?-1:1,a=n.select(\\\"text.nums\\\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(oo+so),l=s+o*(t.txwidth+so),u=0,c=t.offset;\\\"middle\\\"===t.anchor&&(s-=t.tx2width/2,l+=t.txwidth/2+so),r&&(c*=-ao,u=t.offset*io),n.select(\\\"path\\\").attr(\\\"d\\\",\\\"middle\\\"===t.anchor?\\\"M-\\\"+(t.bx/2+t.tx2width/2)+\\\",\\\"+(c-t.by/2)+\\\"h\\\"+t.bx+\\\"v\\\"+t.by+\\\"h-\\\"+t.bx+\\\"Z\\\":\\\"M0,0L\\\"+(i*oo+u)+\\\",\\\"+(oo+c)+\\\"v\\\"+(t.by/2-oo)+\\\"h\\\"+i*t.bx+\\\"v-\\\"+t.by+\\\"H\\\"+(i*oo+u)+\\\"V\\\"+(c-oo)+\\\"Z\\\"),a.call(er.positionText,s+u,c+t.ty0-t.by/2+so),t.tx2width&&(n.select(\\\"text.name\\\").call(er.positionText,l+o*so+u,c+t.ty0-t.by/2+so),n.select(\\\"rect\\\").call(Sr.setRect,l+(o-1)*t.tx2width/2+u,c-t.by/2-1,t.tx2width,t.by+2))}})}function co(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},o=Array.isArray(r)?function(t,e){return ne.castOption(i,r,t)||ne.extractOption({},n,\\\"\\\",e)}:function(t,e){return ne.extractOption(a,n,t,e)};function s(e,r,n){var i=o(r,n);i&&(t[e]=i)}if(s(\\\"hoverinfo\\\",\\\"hi\\\",\\\"hoverinfo\\\"),s(\\\"color\\\",\\\"hbg\\\",\\\"hoverlabel.bgcolor\\\"),s(\\\"borderColor\\\",\\\"hbc\\\",\\\"hoverlabel.bordercolor\\\"),s(\\\"fontFamily\\\",\\\"htf\\\",\\\"hoverlabel.font.family\\\"),s(\\\"fontSize\\\",\\\"hts\\\",\\\"hoverlabel.font.size\\\"),s(\\\"fontColor\\\",\\\"htc\\\",\\\"hoverlabel.font.color\\\"),s(\\\"nameLength\\\",\\\"hnl\\\",\\\"hoverlabel.namelength\\\"),t.posref=\\\"y\\\"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=ne.constrain(t.x0,0,t.xa._length),t.x1=ne.constrain(t.x1,0,t.xa._length),t.y0=ne.constrain(t.y0,0,t.ya._length),t.y1=ne.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\\\"xLabel\\\"in t?t.xLabel:ri.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\\\"yLabel\\\"in t?t.yLabel:ri.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 l=ri.tickText(t.xa,t.xa.c2l(t.xerr),\\\"hover\\\").text;void 0!==t.xerrneg?t.xLabel+=\\\" +\\\"+l+\\\" / -\\\"+ri.tickText(t.xa,t.xa.c2l(t.xerrneg),\\\"hover\\\").text:t.xLabel+=\\\" \\\\xb1 \\\"+l,\\\"x\\\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\\\"log\\\"===t.ya.type&&t.yerr<=0)){var u=ri.tickText(t.ya,t.ya.c2l(t.yerr),\\\"hover\\\").text;void 0!==t.yerrneg?t.yLabel+=\\\" +\\\"+u+\\\" / -\\\"+ri.tickText(t.ya,t.ya.c2l(t.yerrneg),\\\"hover\\\").text:t.yLabel+=\\\" \\\\xb1 \\\"+u,\\\"y\\\"===e&&(t.distance+=1)}var c=t.hoverinfo||t.trace.hoverinfo;return\\\"all\\\"!==c&&(-1===(c=Array.isArray(c)?c:c.split(\\\"+\\\")).indexOf(\\\"x\\\")&&(t.xLabel=void 0),-1===c.indexOf(\\\"y\\\")&&(t.yLabel=void 0),-1===c.indexOf(\\\"z\\\")&&(t.zLabel=void 0),-1===c.indexOf(\\\"text\\\")&&(t.text=void 0),-1===c.indexOf(\\\"name\\\")&&(t.name=void 0)),t}function ho(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,l=!!t.hLinePoint,u=!!t.vLinePoint;if(i.selectAll(\\\".spikeline\\\").remove(),u||l){var c=Oe.combine(a.plot_bgcolor,a.paper_bgcolor);if(l){var h,f,p=t.hLinePoint;r=p&&p.xa,\\\"cursor\\\"===(n=p&&p.ya).spikesnap?(h=o.pointerX,f=o.pointerY):(h=r._offset+p.x,f=n._offset+p.y);var d,g,v=s.readability(p.color,c)<1.5?Oe.contrast(c):p.color,m=n.spikemode,y=n.spikethickness,x=n.spikecolor||v,b=n._boundingBox,_=(b.left+b.right)/2<h?b.right:b.left;-1===m.indexOf(\\\"toaxis\\\")&&-1===m.indexOf(\\\"across\\\")||(-1!==m.indexOf(\\\"toaxis\\\")&&(d=_,g=h),-1!==m.indexOf(\\\"across\\\")&&(d=n._counterSpan[0],g=n._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:d,x2:g,y1:f,y2:f,\\\"stroke-width\\\":y,stroke:x,\\\"stroke-dasharray\\\":Sr.dashStyle(n.spikedash,y)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:d,x2:g,y1:f,y2:f,\\\"stroke-width\\\":y+2,stroke:c}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==m.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:_+(\\\"right\\\"!==n.side?y:-y),cy:f,r:y,fill:x}).classed(\\\"spikeline\\\",!0)}if(u){var w,M,A=t.vLinePoint;r=A&&A.xa,n=A&&A.ya,\\\"cursor\\\"===r.spikesnap?(w=o.pointerX,M=o.pointerY):(w=r._offset+A.x,M=n._offset+A.y);var k,T,S=s.readability(A.color,c)<1.5?Oe.contrast(c):A.color,E=r.spikemode,C=r.spikethickness,L=r.spikecolor||S,z=r._boundingBox,P=(z.top+z.bottom)/2<M?z.bottom:z.top;-1===E.indexOf(\\\"toaxis\\\")&&-1===E.indexOf(\\\"across\\\")||(-1!==E.indexOf(\\\"toaxis\\\")&&(k=P,T=M),-1!==E.indexOf(\\\"across\\\")&&(k=r._counterSpan[0],T=r._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:w,x2:w,y1:k,y2:T,\\\"stroke-width\\\":C,stroke:L,\\\"stroke-dasharray\\\":Sr.dashStyle(r.spikedash,C)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:w,x2:w,y1:k,y2:T,\\\"stroke-width\\\":C+2,stroke:c}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==E.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:w,cy:P-(\\\"top\\\"!==r.side?C:-C),r:C,fill:L}).classed(\\\"spikeline\\\",!0)}}}function fo(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}to.hover=function(t,n,i,a){t=ne.getGraphDiv(t),ne.throttle(t._fullLayout._uid+Pa.HOVERID,Pa.HOVERMINTIME,function(){!function(t,n,i,a){i||(i=\\\"xy\\\");var o=Array.isArray(i)?i:[i],s=t._fullLayout,l=s._plots||[],u=l[i],c=s._has(\\\"cartesian\\\");if(u){var h=u.overlays.map(function(t){return t.id});o=o.concat(h)}for(var f=o.length,p=new Array(f),d=new Array(f),g=!1,v=0;v<f;v++){var m=o[v],y=l[m];if(y)g=!0,p[v]=ri.getFromId(t,y.xaxis._id),d[v]=ri.getFromId(t,y.yaxis._id);else{var x=s[m]._subplot;p[v]=x.xaxis,d[v]=x.yaxis}}var b=n.hovermode||s.hovermode;b&&!g&&(b=\\\"closest\\\");if(-1===[\\\"x\\\",\\\"y\\\",\\\"closest\\\"].indexOf(b)||!t.calcdata||t.querySelector(\\\".zoombox\\\")||t._dragging)return Ua.unhoverRaw(t,n);var _,w,M,A,k,T,S,E,C,L,z,I,D,O=-1===s.hoverdistance?1/0:s.hoverdistance,R=-1===s.spikedistance?1/0:s.spikedistance,F=[],B=[],N={hLinePoint:null,vLinePoint:null};if(Array.isArray(n))for(b=\\\"array\\\",M=0;M<n.length;M++)\\\"skip\\\"!==(k=t.calcdata[n[M].curveNumber||0])[0].trace.hoverinfo&&B.push(k);else{for(A=0;A<t.calcdata.length;A++)k=t.calcdata[A],\\\"skip\\\"!==(T=k[0].trace).hoverinfo&&-1!==o.indexOf(Ya.getSubplot(T))&&B.push(k);var j,V,U=!n.target;if(U)j=\\\"xpx\\\"in n?n.xpx:p[0]._length/2,n.pointerX=j+p[0]._offset,V=\\\"ypx\\\"in n?n.ypx:d[0]._length/2,n.pointerY=V+d[0]._offset;else{if(!1===ja.triggerHandler(t,\\\"plotly_beforehover\\\",n))return;var q=n.target.getBoundingClientRect();if(j=n.clientX-q.left,V=n.clientY-q.top,j<0||j>q.width||V<0||V>q.height)return Ua.unhoverRaw(t,n);n.pointerX=n.offsetX,n.pointerY=n.offsetY}if(_=\\\"xval\\\"in n?Ya.flat(o,n.xval):Ya.p2c(p,j),w=\\\"yval\\\"in n?Ya.flat(o,n.yval):Ya.p2c(d,V),!r(_[0])||!r(w[0]))return ne.warn(\\\"Fx.hover failed\\\",n,t),Ua.unhoverRaw(t,n)}var H=1/0;for(A=0;A<B.length;A++)if((k=B[A])&&k[0]&&k[0].trace&&!0===k[0].trace.visible&&(T=k[0].trace,-1===[\\\"carpet\\\",\\\"contourcarpet\\\"].indexOf(T._module.name))){if(S=Ya.getSubplot(T),E=o.indexOf(S),C=b,I={cd:k,trace:T,xa:p[E],ya:d[E],maxHoverDistance:O,maxSpikeDistance:R,index:!1,distance:Math.min(H,O),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:Oe.defaultLine,name:T.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},s[S]&&(I.subplot=s[S]._subplot),D=F.length,\\\"array\\\"===C){var G=n[A];\\\"pointNumber\\\"in G?(I.index=G.pointNumber,C=\\\"closest\\\"):(C=\\\"\\\",\\\"xval\\\"in G&&(L=G.xval,C=\\\"x\\\"),\\\"yval\\\"in G&&(z=G.yval,C=C?\\\"closest\\\":\\\"y\\\"))}else L=_[E],z=w[E];if(0!==O)if(T._module&&T._module.hoverPoints){var W=T._module.hoverPoints(I,L,z,C,s._hoverlayer);if(W)for(var Y,X=0;X<W.length;X++)Y=W[X],r(Y.x0)&&r(Y.y0)&&F.push(co(Y,b))}else ne.log(\\\"Unrecognized trace type in hover:\\\",T);if(\\\"closest\\\"===b&&F.length>D&&(F.splice(0,D),H=F[0].distance),c&&0!==R&&0===F.length){I.distance=R,I.index=!1;var Z=T._module.hoverPoints(I,L,z,\\\"closest\\\",s._hoverlayer);if(Z&&(Z=Z.filter(function(t){return t.spikeDistance<=R})),Z&&Z.length){var J,K=Z.filter(function(t){return t.xa.showspikes});if(K.length){var Q=K[0];r(Q.x0)&&r(Q.y0)&&(J=rt(Q),(!N.vLinePoint||N.vLinePoint.spikeDistance>J.spikeDistance)&&(N.vLinePoint=J))}var $=Z.filter(function(t){return t.ya.showspikes});if($.length){var tt=$[0];r(tt.x0)&&r(tt.y0)&&(J=rt(tt),(!N.hLinePoint||N.hLinePoint.spikeDistance>J.spikeDistance)&&(N.hLinePoint=J))}}}}function et(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function rt(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}var nt={fullLayout:s,container:s._hoverlayer,outerContainer:s._paperdiv,event:n},it=t._spikepoints,at={vLinePoint:N.vLinePoint,hLinePoint:N.hLinePoint};if(t._spikepoints=at,c&&0!==R&&0!==F.length){var ot=F.filter(function(t){return t.ya.showspikes}),st=et(ot,R);N.hLinePoint=rt(st);var lt=F.filter(function(t){return t.xa.showspikes}),ut=et(lt,R);N.vLinePoint=rt(ut)}if(0===F.length){var ct=Ua.unhoverRaw(t,n);return!c||null===N.hLinePoint&&null===N.vLinePoint||fo(it)&&ho(N,nt),ct}c&&fo(it)&&ho(N,nt);F.sort(function(t,e){return t.distance-e.distance});var ht=t._hoverdata,ft=[];for(M=0;M<F.length;M++){var pt=F[M];ft.push(Ya.makeEventData(pt,pt.trace,pt.cd))}t._hoverdata=ft;var dt=\\\"y\\\"===b&&B.length>1,gt=Oe.combine(s.plot_bgcolor||Oe.background,s.paper_bgcolor),vt={hovermode:b,rotateLabels:dt,bgColor:gt,container:s._hoverlayer,outerContainer:s._paperdiv,commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance},mt=lo(F,vt,t);if(function(t,e,r){var n,i,a,o,s,l,u,c=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\\\"x\\\"===i._id.charAt(0)?no:1)/2,pmin:0,pmax:\\\"x\\\"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function f(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,u--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(;!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var p=h[o],d=h[o+1],g=p[p.length-1],v=d[0];if((i=g.pos+g.dp+g.size-v.pos-v.dp+v.size)>.01&&g.pmin===v.pmin&&g.pmax===v.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),h.splice(o+1,1),u=0,s=p.length-1;s>=0;s--)u+=p[s].dp;for(a=u/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}h.forEach(f)}for(o=h.length-1;o>=0;o--){var m=h[o];for(s=m.length-1;s>=0;s--){var y=m[s],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(F,dt?\\\"xa\\\":\\\"ya\\\",s),uo(mt,dt),n.target&&n.target.tagName){var yt=P.getComponentMethod(\\\"annotations\\\",\\\"hasClickToShow\\\")(t,ft);$a(e.select(n.target),yt?\\\"pointer\\\":\\\"\\\")}if(!n.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,ht))return;ht&&t.emit(\\\"plotly_unhover\\\",{event:n,points:ht});t.emit(\\\"plotly_hover\\\",{event:n,points:t._hoverdata,xaxes:p,yaxes:d,xvals:_,yvals:w})}(t,n,i,a)})},to.loneHover=function(t,r){var n={color:t.color||Oe.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,trace:{index:0,hoverinfo:\\\"\\\"},xa:{_offset:0},ya:{_offset:0},index:0},i=e.select(r.container),a=r.outerContainer?e.select(r.outerContainer):i,o={hovermode:\\\"closest\\\",rotateLabels:!1,bgColor:r.bgColor||Oe.background,container:i,outerContainer:a},s=lo([n],o,r.gd);return uo(s,o.rotateLabels),s.node()};var po=to.hover,go=function(t,e,r,n){r(\\\"hoverlabel.bgcolor\\\",(n=n||{}).bgcolor),r(\\\"hoverlabel.bordercolor\\\",n.bordercolor),r(\\\"hoverlabel.namelength\\\",n.namelength),ne.coerceFont(r,\\\"hoverlabel.font\\\",n.font)},vo=T({editType:\\\"none\\\"});vo.family.dflt=Pa.HOVERFONT,vo.size.dflt=Pa.HOVERFONTSIZE;var mo={dragmode:{valType:\\\"enumerated\\\",values:[\\\"zoom\\\",\\\"pan\\\",\\\"select\\\",\\\"lasso\\\",\\\"orbit\\\",\\\"turntable\\\"],dflt:\\\"zoom\\\",editType:\\\"modebar\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"closest\\\",!1],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:vo,namelength:{valType:\\\"integer\\\",min:-1,dflt:15,editType:\\\"none\\\"},editType:\\\"none\\\"}};var yo={moduleType:\\\"component\\\",name:\\\"fx\\\",constants:Pa,schema:{layout:mo},attributes:S,layoutAttributes:mo,supplyLayoutGlobalDefaults:function(t,e){go(0,0,function(r,n){return ne.coerce(t,e,mo,r,n)})},supplyDefaults:function(t,e,r,n){go(0,0,function(r,n){return ne.coerce(t,e,S,r,n)},n.hoverlabel)},supplyLayoutDefaults:function(t,e,r){function n(r,n){return ne.coerce(t,e,mo,r,n)}var i;n(\\\"dragmode\\\"),e._has(\\\"cartesian\\\")?(e._isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if(\\\"h\\\"!==n.orientation){e=!1;break}}return e}(r),i=e._isHoriz?\\\"y\\\":\\\"x\\\"):i=\\\"closest\\\",n(\\\"hovermode\\\",i)&&(n(\\\"hoverdistance\\\"),n(\\\"spikedistance\\\"));var a=e._has(\\\"mapbox\\\"),o=e._has(\\\"geo\\\"),s=e._basePlotModules.length;\\\"zoom\\\"===e.dragmode&&((a||o)&&1===s||a&&o&&2===s)&&(e.dragmode=\\\"pan\\\")},calc:function(t){var e=t.calcdata,r=t._fullLayout;function n(t){return function(e){return ne.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;if(!P.traceIs(o,\\\"pie\\\")){var s=P.traceIs(o,\\\"2dMap\\\")?Wa:ne.fillArray;s(o.hoverinfo,a,\\\"hi\\\",n(o)),o.hoverlabel&&(s(o.hoverlabel.bgcolor,a,\\\"hbg\\\"),s(o.hoverlabel.bordercolor,a,\\\"hbc\\\"),s(o.hoverlabel.font.size,a,\\\"hts\\\"),s(o.hoverlabel.font.color,a,\\\"htc\\\"),s(o.hoverlabel.font.family,a,\\\"htf\\\"),s(o.hoverlabel.namelength,a,\\\"hnl\\\"))}}},getDistanceFunction:Ya.getDistanceFunction,getClosest:Ya.getClosest,inbox:Ya.inbox,quadrature:Ya.quadrature,appendArrayPointValue:Ya.appendArrayPointValue,castHoverOption:function(t,e,r){return ne.castOption(t,e,\\\"hoverlabel.\\\"+r)},castHoverinfo:function(t,e,r){return ne.castOption(t,r,\\\"hoverinfo\\\",function(r){return ne.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:to.hover,unhover:Ua.unhover,loneHover:to.loneHover,loneUnhover:function(t){var r=ne.isD3Selection(t)?t:e.select(t);r.selectAll(\\\"g.hovertext\\\").remove(),r.selectAll(\\\".spikeline\\\").remove()},click:function(t,e,r){var n=P.getComponentMethod(\\\"annotations\\\",\\\"onClick\\\")(t,t._hoverdata);function i(){t.emit(\\\"plotly_click\\\",{points:t._hoverdata,event:e})}void 0!==r&&po(t,e,r,!0),t._hoverdata&&e&&e.target&&(n&&n.then?n.then(i):i(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}};var xo=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=ne.extractOption(t,e,\\\"htx\\\",\\\"hovertext\\\");if(bo(i))return n(i);var a=ne.extractOption(t,e,\\\"tx\\\",\\\"text\\\");return bo(a)?n(a):void 0};function bo(t){return t||0===t}var _o=function(t,e,r,n){var i,a,o,s,l,u,c,h=t.cd,f=h[0].trace,p=h[0].t,d=\\\"closest\\\"===n,g=t.maxHoverDistance,v=t.maxSpikeDistance;function m(t){return t[o]-t.w/2}function y(t){return t[o]+t.w/2}var x=d?m:function(t){return Math.min(m(t),t.p-p.bardelta/2)},b=d?y:function(t){return Math.max(y(t),t.p+p.bardelta/2)};function _(t,e){return yo.inbox(t-i,e-i,g+Math.min(1,Math.abs(e-t)/c)-1)}function w(t){return _(x(t),b(t))}function M(t){return yo.inbox(t.b-a,t[s]-a,g+(t[s]-a)/(t[s]-t.b)-1)}\\\"h\\\"===f.orientation?(i=r,a=e,o=\\\"y\\\",s=\\\"x\\\",l=M,u=w):(i=e,a=r,o=\\\"x\\\",s=\\\"y\\\",u=M,l=w);var A=t[o+\\\"a\\\"],k=t[s+\\\"a\\\"];c=Math.abs(A.r2c(A.range[1])-A.r2c(A.range[0]));var T=yo.getDistanceFunction(n,l,u,function(t){return(l(t)+u(t))/2});if(yo.getClosest(h,T,t),!1!==t.index){d||(x=function(t){return Math.min(m(t),t.p-p.bargroupwidth/2)},b=function(t){return Math.max(y(t),t.p+p.bargroupwidth/2)});var S=h[t.index],E=S.mcc||f.marker.color,C=S.mlcc||f.marker.line.color,L=S.mlw||f.marker.line.width;Oe.opacity(E)?t.color=E:Oe.opacity(C)&&L&&(t.color=C);var z=f.base?S.b+S.s:S.s;t[s+\\\"0\\\"]=t[s+\\\"1\\\"]=k.c2p(S[s],!0),t[s+\\\"LabelVal\\\"]=z;var I=p.extents[p.extents.round(S.p)];return t[o+\\\"0\\\"]=A.c2p(d?x(S):I[0],!0),t[o+\\\"1\\\"]=A.c2p(d?b(S):I[1],!0),t[o+\\\"LabelVal\\\"]=S.p,t.spikeDistance=(M(S)+function(t){return _(m(t),y(t))}(S))/2+v-g,t[o+\\\"Spike\\\"]=A.c2p(S.p,!0),xo(S,f,t),P.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(S,f,t),[t]}},wo={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\\\"}},Mo=function(t,e,r){function n(r,n){return ne.coerce(t,e,wo,r,n)}for(var i=!1,a=!1,o=!1,s={},l=0;l<r.length;l++){var u=r[l];if(P.traceIs(u,\\\"bar\\\")){if(i=!0,\\\"overlay\\\"!==t.barmode&&\\\"stack\\\"!==t.barmode){var c=u.xaxis+u.yaxis;s[c]&&(o=!0),s[c]=!0}if(u.visible&&\\\"histogram\\\"===u.type)\\\"category\\\"!==ri.getFromId({_fullLayout:e},u[\\\"v\\\"===u.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]).type&&(a=!0)}}i&&(\\\"overlay\\\"!==n(\\\"barmode\\\")&&n(\\\"barnorm\\\"),n(\\\"bargap\\\",a&&!o?0:.2),n(\\\"bargroupgap\\\"))},Ao=wa.text,ko=wa.textposition,To=wa.textfont,So=wa.insidetextfont,Eo=wa.outsidetextfont,Co=3,Lo=function(t,n,i){var a=n.xaxis,o=n.yaxis,s=t._fullLayout,l=n.plot.select(\\\".barlayer\\\").selectAll(\\\"g.trace.bars\\\").data(i);l.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace bars\\\"),l.each(function(t){t[0].node3=e.select(this)}),l.append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").each(function(i){var l=e.select(this),u=i[0].t,c=i[0].trace,h=u.poffset,f=Array.isArray(h);l.selectAll(\\\"g.point\\\").data(ne.identity).enter().append(\\\"g\\\").classed(\\\"point\\\",!0).each(function(l,u){var p,d,g,v,m=l.p+(f?h[u]:h),y=m+l.w,x=l.b,b=x+l.s;if(\\\"h\\\"===c.orientation?(g=o.c2p(m,!0),v=o.c2p(y,!0),p=a.c2p(x,!0),d=a.c2p(b,!0),l.ct=[d,(g+v)/2]):(p=a.c2p(m,!0),d=a.c2p(y,!0),g=o.c2p(x,!0),v=o.c2p(b,!0),l.ct=[(p+d)/2,v]),r(p)&&r(d)&&r(g)&&r(v)&&p!==d&&g!==v){var _=(l.mlw+1||c.marker.line.width+1||(l.trace?l.trace.marker.line.width:0)+1)-1,w=e.round(_/2%1,2);if(!t._context.staticPlot){var M=Oe.opacity(l.mc||c.marker.color)<1||_>.01?k:function(t,e){return Math.abs(t-e)>=2?k(t):t>e?Math.ceil(t):Math.floor(t)};d=M(d,p=M(p,d)),v=M(v,g=M(g,v))}var A=e.select(this);A.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"d\\\",\\\"M\\\"+p+\\\",\\\"+g+\\\"V\\\"+v+\\\"H\\\"+d+\\\"V\\\"+g+\\\"Z\\\").call(Sr.setClipUrl,n.layerClipId),function(t,e,r,n,i,a,o,s){var l;function u(e,r,n){var i=e.append(\\\"text\\\").text(r).attr({class:\\\"bartext bartext-\\\"+l,transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}).call(Sr.font,n).call(er.convertToTspans,t);return i}var c=r[0].trace,h=c.orientation,f=function(t,e){var r=Io(t.text,e);return Do(Ao,r)}(c,n);if(!f)return;if(\\\"none\\\"===(l=function(t,e){var r=Io(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(ko,r)}(c,n)))return;var p,d,g,v,m,y,x=function(t,e,r){return Po(To,t.textfont,e,r)}(c,n,t._fullLayout.font),b=function(t,e,r){return Po(So,t.insidetextfont,e,r)}(c,n,x),_=function(t,e,r){return Po(Eo,t.outsidetextfont,e,r)}(c,n,x),w=t._fullLayout.barmode,M=\\\"stack\\\"===w||\\\"relative\\\"===w,A=r[n],k=!M||A._outmost,T=Math.abs(a-i)-2*Co,S=Math.abs(s-o)-2*Co;\\\"outside\\\"===l&&(k||(l=\\\"inside\\\"));if(\\\"auto\\\"===l)if(k){l=\\\"inside\\\",p=u(e,f,b),d=Sr.bBox(p.node()),g=d.width,v=d.height;var E=g>0&&v>0,C=g<=T&&v<=S,L=g<=S&&v<=T,z=\\\"h\\\"===h?T>=g*(S/v):S>=v*(T/g);E&&(C||L||z)?l=\\\"inside\\\":(l=\\\"outside\\\",p.remove(),p=null)}else l=\\\"inside\\\";if(!p&&(p=u(e,f,\\\"outside\\\"===l?_:b),d=Sr.bBox(p.node()),g=d.width,v=d.height,g<=0||v<=0))return void p.remove();\\\"outside\\\"===l?(y=\\\"both\\\"===c.constraintext||\\\"outside\\\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l=\\\"h\\\"===a?Math.abs(n-r):Math.abs(e-t);l>2*Co&&(s=Co);var u=1;o&&(u=\\\"h\\\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var c,h,f,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;c=u*i.width,h=u*i.height,\\\"h\\\"===a?e<t?(f=e-s-c/2,p=(r+n)/2):(f=e+s+c/2,p=(r+n)/2):n>r?(f=(t+e)/2,p=n+s+h/2):(f=(t+e)/2,p=n-s-h/2);return zo(d,g,f,p,u,!1)}(i,a,o,s,d,h,y)):(y=\\\"both\\\"===c.constraintext||\\\"inside\\\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l,u,c,h,f,p,d=i.width,g=i.height,v=(i.left+i.right)/2,m=(i.top+i.bottom)/2,y=Math.abs(e-t),x=Math.abs(n-r);y>2*Co&&x>2*Co?(y-=2*(h=Co),x-=2*h):h=0;d<=y&&g<=x?(f=!1,p=1):d<=x&&g<=y?(f=!0,p=1):d<g==y<x?(f=!1,p=o?Math.min(y/d,x/g):1):(f=!0,p=o?Math.min(x/d,y/g):1);f&&(f=90);f?(s=p*g,l=p*d):(s=p*d,l=p*g);\\\"h\\\"===a?e<t?(u=e+h+s/2,c=(r+n)/2):(u=e-h-s/2,c=(r+n)/2):n>r?(u=(t+e)/2,c=n-h-l/2):(u=(t+e)/2,c=n+h+l/2);return zo(v,m,u,c,p,f)}(i,a,o,s,d,h,y));p.attr(\\\"transform\\\",m)}(t,A,i,u,p,d,g,v),n.layerClipId&&Sr.hideOutsideRangePoint(i[u],A.select(\\\"text\\\"),a,o,c.xcalendar,c.ycalendar)}else e.select(this).remove();function k(t){return 0===s.bargap&&0===s.bargroupgap?e.round(Math.round(t)-w,2):t}})}),P.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(l,n),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})};function zo(t,e,r,n,i,a){var o;return i<1?o=\\\"scale(\\\"+i+\\\") \\\":(i=1,o=\\\"\\\"),\\\"translate(\\\"+(r-i*t)+\\\" \\\"+(n-i*e)+\\\")\\\"+o+(a?\\\"rotate(\\\"+a+\\\" \\\"+t+\\\" \\\"+e+\\\") \\\":\\\"\\\")}function Po(t,e,n,i){var a=Io((e=e||{}).family,n),o=Io(e.size,n),l=Io(e.color,n);return{family:Do(t.family,a,i.family),size:function(t,e,n){if(r(e)){e=+e;var i=t.min,a=t.max,o=void 0!==i&&e<i||void 0!==a&&e>a;if(!o)return e}return void 0!==n?n:t.dflt}(t.size,o,i.size),color:function(t,e,r){return s(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,i.color)}}function Io(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function Do(t,e,r){if(\\\"string\\\"==typeof e){if(e||!t.noBlank)return e}else if(\\\"number\\\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}var Oo=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o},Ro=Bo,Fo=t.BADNUM;function Bo(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,i=[],a=0;a<t.length;a++){for(var o=t[a],s=0;s<o.length;s++){var l=o[s];l.p!==Fo&&i.push(l.p)}o[0]&&o[0].width1&&(n=Math.min(o[0].width1,n))}this.positions=i;var u=ne.distinctVals(i);this.distinctPositions=u.vals,1===u.vals.length&&n!==1/0?this.minDiff=n:this.minDiff=Math.min(u.minDiff,n),this.binWidth=this.minDiff,this.bins={}}Bo.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},Bo.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},Bo.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\\\"v\\\":\\\"^\\\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))};var No=ne.isArrayOrTypedArray,jo=t.BADNUM,Vo=function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,o=t.calcdata,s=[],l=[];for(r=0;r<a.length;r++){var u=a[r];!0===u.visible&&P.traceIs(u,\\\"bar\\\")&&u.xaxis===n._id&&u.yaxis===i._id&&(\\\"h\\\"===u.orientation?s.push(o[r]):l.push(o[r]))}Uo(t,n,i,l),Uo(t,i,n,s)};function Uo(t,e,n,i){if(i.length){var a,o,s,l,u=t._fullLayout.barmode,c=\\\"group\\\"===u;if(\\\"overlay\\\"===u)qo(t,e,n,i);else if(c){for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.offset?o.push(l):a.push(l);o.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new Ro(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,u=s.bargroupgap,c=r.positions,h=r.distinctPositions,f=r.minDiff,p=r.traces,d=c.length!==h.length,g=p.length,v=f*(1-l),m=d?v/g:v,y=m*(1-u);for(n=0;n<g;n++){i=p[n],a=i[0];var x=d?((2*n+1-g)*m-y)/2:-y/2;(o=a.t).barwidth=y,o.poffset=x,o.bargroupwidth=v,o.bardelta=f}r.binWidth=p[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r,d)})(t,e,a),i?(Jo(t,r,a),Ko(t,r,a)):Zo(t,r,a)}(t,e,n,o),a.length&&qo(t,e,n,a)}else{for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.base?o.push(l):a.push(l);o.length&&function(t,e,n,i){var a=t._fullLayout.barmode,o=\\\"stack\\\"===a,s=\\\"relative\\\"===a,l=t._fullLayout.barnorm,u=new Ro(i,s,!(l||o||s));Ho(t,e,u),function(t,e,n){var i,a,o,s,l=t._fullLayout.barnorm,u=Qo(e),c=n.traces,h=[null,null];for(i=0;i<c.length;i++)for(a=c[i],o=0;o<a.length;o++)if((s=a[o]).s!==jo){var f=n.put(s.p,s.b+s.s),p=f+s.b+s.s;s.b=f,s[u]=p,l||(r(e.c2l(p))&&Xo(h,p),s.hasB&&r(e.c2l(f))&&Xo(h,f))}l||ri.expand(e,h,{tozero:!0,padded:!0})}(t,n,u);for(var c=0;c<i.length;c++)for(var h=i[c],f=0;f<h.length;f++){var p=h[f];if(p.s!==jo){var d=p.b+p.s===u.get(p.p,p.s);d&&(p._outmost=!0)}}l&&Ko(t,n,u)}(t,e,n,o),a.length&&qo(t,e,n,a)}!function(t,e){var n,i,a,o=e._id.charAt(0),s={},l=1/0,u=-1/0;for(n=0;n<t.length;n++)for(a=t[n],i=0;i<a.length;i++){var c=a[i].p;r(c)&&(l=Math.min(l,c),u=Math.max(u,c))}var h=1e4/(u-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(n=0;n<t.length;n++)for((a=t[n])[0].t.extents=s,i=0;i<a.length;i++){var p=a[i],d=p[o]-p.w/2;if(r(d)){var g=p[o]+p.w/2,v=f(p.p);s[v]?s[v]=[Math.min(d,s[v][0]),Math.max(g,s[v][1])]:s[v]=[d,g]}}}(i,e)}}function qo(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],l=new Ro([s],!1,a);Ho(t,e,l),i?(Jo(t,r,l),Ko(t,r,l)):Zo(t,r,l)}}function Ho(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap,l=r.minDiff,u=r.traces,c=l*(1-o),h=c*(1-s),f=-h/2;for(n=0;n<u.length;n++)(i=u[n][0].t).barwidth=h,i.poffset=f,i.bargroupwidth=c,i.bardelta=l;r.binWidth=u[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r)}function Go(t){var e,n,i,a,o,s,l=t.traces;for(e=0;e<l.length;e++){a=(i=(n=l[e])[0]).trace,s=i.t;var u,c=a.offset,h=s.poffset;if(No(c)){for(u=c.slice(0,n.length),o=0;o<u.length;o++)r(u[o])||(u[o]=h);for(o=u.length;o<n.length;o++)u.push(h);s.poffset=u}else void 0!==c&&(s.poffset=c);var f=a.width,p=s.barwidth;if(No(f)){var d=f.slice(0,n.length);for(o=0;o<d.length;o++)r(d[o])||(d[o]=p);for(o=d.length;o<n.length;o++)d.push(p);if(s.barwidth=d,void 0===c){for(u=[],o=0;o<n.length;o++)u.push(h+(p-d[o])/2);s.poffset=u}}else void 0!==f&&(s.barwidth=f,void 0===c&&(s.poffset=h+(p-f)/2))}}function Wo(t,e,r){for(var n=r.traces,i=Qo(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,u=Array.isArray(l),c=s.barwidth,h=Array.isArray(c),f=0;f<o.length;f++){var p=o[f],d=p.w=h?c[f]:c;p[i]=p.p+(u?l[f]:l)+d/2}}function Yo(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;ri.minDtick(e,s,o,n);for(var u=Math.min.apply(Math,a)-l,c=Math.max.apply(Math,a)+l,h=0;h<i.length;h++){var f=i[h],p=f[0],d=p.trace;if(void 0!==d.width||void 0!==d.offset)for(var g=p.t,v=g.poffset,m=g.barwidth,y=Array.isArray(v),x=Array.isArray(m),b=0;b<f.length;b++){var _=f[b],w=y?v[b]:v,M=x?m[b]:m,A=_.p+w,k=A+M;u=Math.min(u,A),c=Math.max(c,k)}}ri.expand(e,[u,c],{padded:!1})}function Xo(t,e){r(t[0])?t[0]=Math.min(t[0],e):t[0]=e,r(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function Zo(t,e,n){for(var i=n.traces,a=Qo(e),o=[null,null],s=0;s<i.length;s++)for(var l=i[s],u=0;u<l.length;u++){var c=l[u],h=c.b,f=h+c.s;c[a]=f,r(e.c2l(f))&&Xo(o,f),c.hasB&&r(e.c2l(h))&&Xo(o,h)}ri.expand(e,o,{tozero:!0,padded:!0})}function Jo(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var a=n[i],o=0;o<a.length;o++){var s=a[o];s.s!==jo&&r.put(s.p,s.b+s.s)}}function Ko(t,e,n){var i=n.traces,a=Qo(e),o=\\\"fraction\\\"===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=\\\"stack\\\"===t._fullLayout.barmode?o:l,c=[l,u],h=!1;function f(t){r(e.c2l(t))&&(t<l-s||t>u+s||!r(l))&&(h=!0,Xo(c,t))}for(var p=0;p<i.length;p++)for(var d=i[p],g=0;g<d.length;g++){var v=d[g];if(v.s!==jo){var m=Math.abs(o/n.get(v.p,v.s));v.b*=m,v.s*=m;var y=v.b,x=y+v.s;v[a]=x,f(x),v.hasB&&f(y)}}ri.expand(e,c,{tozero:!0,padded:h})}function Qo(t){return t._id.charAt(0)}var $o=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.bars\\\"),i=n.size(),a=t._fullLayout;n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(t){(\\\"stack\\\"===a.barmode&&i>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&e.select(this).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")}),n.selectAll(\\\"g.points\\\").each(function(r){var n=e.select(this),i=n.selectAll(\\\"path\\\"),a=n.selectAll(\\\"text\\\"),o=r[0].trace;Sr.pointStyle(i,o,t),Sr.selectedPointStyle(i,o),a.each(function(t){var r,n=e.select(this);function i(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}n.classed(\\\"bartext-inside\\\")?r=o.insidetextfont:n.classed(\\\"bartext-outside\\\")&&(r=o.outsidetextfont),r||(r=o.textfont),Sr.font(n,i(\\\"family\\\"),i(\\\"size\\\"),i(\\\"color\\\"))}),Sr.selectedTextStyle(a,o)}),P.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(n)},ts=m.extendFlat,es=Qe.LINE_SPACING,rs={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\\\"},ns=function(t,r){var n={};function i(){var o=t._fullLayout,l=o._size;if(\\\"function\\\"==typeof n.fillcolor||\\\"function\\\"==typeof n.line.color){var u,c,h=e.extent((\\\"function\\\"==typeof n.fillcolor?n.fillcolor:n.line.color).domain()),f=[],p=[],d=\\\"function\\\"==typeof n.line.color?n.line.color:function(){return n.line.color},g=\\\"function\\\"==typeof n.fillcolor?n.fillcolor:function(){return n.fillcolor},v=n.levels.end+n.levels.size/100,m=n.levels.size,y=1.001*h[0]-.001*h[1],x=1.001*h[1]-.001*h[0];for(c=0;c<1e5&&(u=n.levels.start+c*m,!(m>0?u>=v:u<=v));c++)u>y&&u<x&&f.push(u);if(\\\"function\\\"==typeof n.fillcolor)if(n.filllevels)for(v=n.filllevels.end+n.filllevels.size/100,m=n.filllevels.size,c=0;c<1e5&&(u=n.filllevels.start+c*m,!(m>0?u>=v:u<=v));c++)u>h[0]&&u<h[1]&&p.push(u);else(p=f.map(function(t){return t-n.levels.size/2})).push(p[p.length-1]+n.levels.size);else n.fillcolor&&\\\"string\\\"==typeof n.fillcolor&&(p=[0]);n.levels.size<0&&(f.reverse(),p.reverse());var b,_=o.height-o.margin.t-o.margin.b,w=o.width-o.margin.l-o.margin.r,M=Math.round(n.thickness*(\\\"fraction\\\"===n.thicknessmode?w:1)),A=M/l.w,k=Math.round(n.len*(\\\"fraction\\\"===n.lenmode?_:1)),T=k/l.h,S=n.xpad/l.w,E=(n.borderwidth+n.outlinewidth)/2,C=n.ypad/l.h,L=Math.round(n.x*l.w+n.xpad),z=n.x-A*({middle:.5,right:1}[n.xanchor]||0),I=n.y+T*(({top:-.5,bottom:.5}[n.yanchor]||0)-.5),D=Math.round(l.h*(1-I)),O=D-k,R={type:\\\"linear\\\",range:h,tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,exponentformat:n.exponentformat,separatethousands:n.separatethousands,showexponent:n.showexponent,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,title:n.title,titlefont:n.titlefont,showline:!0,anchor:\\\"free\\\",position:1},F={type:\\\"linear\\\",_id:\\\"y\\\"+r},B={letter:\\\"y\\\",font:o.font,noHover:!0,calendar:o.calendar};if(Qi(R,F,$,B,o),ea(R,F,$,B),F.position=n.x+S+A,i.axis=F,-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)&&(F.titleside=n.titleside,F.titlex=n.x+S,F.titley=I+(\\\"top\\\"===n.titleside?T-C:C)),n.line.color&&\\\"auto\\\"===n.tickmode){F.tickmode=\\\"linear\\\",F.tick0=n.levels.start;var N=n.levels.size,j=ne.constrain((D-O)/50,4,15)+1,V=(h[1]-h[0])/((n.nticks||j)*N);if(V>1){var U=Math.pow(10,Math.floor(Math.log(V)/Math.LN10));N*=U*ne.roundUp(V/U,[2,5,10]),(Math.abs(n.levels.start)/n.levels.size+1e-6)%1<2e-6&&(F.tick0=0)}F.dtick=N}F.domain=[I+C,I+T-C],F.setScale();var q=o._infolayer.selectAll(\\\"g.\\\"+r).data([0]);q.enter().append(\\\"g\\\").classed(r,!0).classed(rs.colorbar,!0).each(function(){var t=e.select(this);t.append(\\\"rect\\\").classed(rs.cbbg,!0),t.append(\\\"g\\\").classed(rs.cbfills,!0),t.append(\\\"g\\\").classed(rs.cblines,!0),t.append(\\\"g\\\").classed(rs.cbaxis,!0).classed(rs.crisp,!0),t.append(\\\"g\\\").classed(rs.cbtitleunshift,!0).append(\\\"g\\\").classed(rs.cbtitle,!0),t.append(\\\"rect\\\").classed(rs.cboutline,!0),t.select(\\\".cbtitle\\\").datum(0)}),q.attr(\\\"transform\\\",\\\"translate(\\\"+Math.round(l.l)+\\\",\\\"+Math.round(l.t)+\\\")\\\");var H=q.select(\\\".cbtitleunshift\\\").attr(\\\"transform\\\",\\\"translate(-\\\"+Math.round(l.l)+\\\",-\\\"+Math.round(l.t)+\\\")\\\");F._axislayer=q.select(\\\".cbaxis\\\");var G=0;if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)){var W,Y=l.l+(n.x+S)*l.w,X=F.titlefont.size;W=\\\"top\\\"===n.titleside?(1-(I+T-C))*l.h+l.t+3+.75*X:(1-(I+C))*l.h+l.t-3-.25*X,tt(F._id+\\\"title\\\",{attributes:{x:Y,y:W,\\\"text-anchor\\\":\\\"start\\\"}})}var Z,J,K,Q=ne.syncOrAsync([_n.previousPromises,function(){if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)){var r=q.select(\\\".cbtitle\\\"),i=r.select(\\\"text\\\"),a=[-n.outlinewidth/2,n.outlinewidth/2],u=r.select(\\\".h\\\"+F._id+\\\"title-math-group\\\").node(),c=15.6;if(i.node()&&(c=parseInt(i.node().style.fontSize,10)*es),u?(G=Sr.bBox(u).height)>c&&(a[1]-=(G-c)/2):i.node()&&!i.classed(rs.jsPlaceholder)&&(G=Sr.bBox(i.node()).height),G){if(G+=5,\\\"top\\\"===n.titleside)F.domain[1]-=G/l.h,a[1]*=-1;else{F.domain[0]+=G/l.h;var v=er.lineCount(i);a[1]+=(1-v)*c}r.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\")\\\"),F.setScale()}}q.selectAll(\\\".cbfills,.cblines\\\").attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(l.h*(1-F.domain[1]))+\\\")\\\"),F._axislayer.attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(-l.t)+\\\")\\\");var m=q.select(\\\".cbfills\\\").selectAll(\\\"rect.cbfill\\\").data(p);m.enter().append(\\\"rect\\\").classed(rs.cbfill,!0).style(\\\"stroke\\\",\\\"none\\\"),m.exit().remove(),m.each(function(t,r){var n=[0===r?h[0]:(p[r]+p[r-1])/2,r===p.length-1?h[1]:(p[r]+p[r+1])/2].map(F.c2p).map(Math.round);r!==p.length-1&&(n[1]+=n[1]>n[0]?1:-1);var i=g(t).replace(\\\"e-\\\",\\\"\\\"),a=s(i).toHexString();e.select(this).attr({x:L,width:Math.max(M,2),y:e.min(n),height:Math.max(e.max(n)-e.min(n),2),fill:a})});var y=q.select(\\\".cblines\\\").selectAll(\\\"path.cbline\\\").data(n.line.color&&n.line.width?f:[]);return y.enter().append(\\\"path\\\").classed(rs.cbline,!0),y.exit().remove(),y.each(function(t){e.select(this).attr(\\\"d\\\",\\\"M\\\"+L+\\\",\\\"+(Math.round(F.c2p(t))+n.line.width/2%1)+\\\"h\\\"+M).call(Sr.lineGroupStyle,n.line.width,d(t),n.line.dash)}),F._axislayer.selectAll(\\\"g.\\\"+F._id+\\\"tick,path\\\").remove(),F._pos=L+M+(n.outlinewidth||0)/2-(\\\"outside\\\"===n.ticks?1:0),F.side=\\\"right\\\",ne.syncOrAsync([function(){return ri.doTicks(t,F,!0)},function(){if(-1===[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)){var r=F.titlefont.size,i=F._offset+F._length/2,a=l.l+(F.position||0)*l.w+(\\\"right\\\"===F.side?10+r*(F.showticklabels?1:.5):-10-r*(F.showticklabels?.5:0));tt(\\\"h\\\"+F._id+\\\"title\\\",{avoid:{selection:e.select(t).selectAll(\\\"g.\\\"+F._id+\\\"tick\\\"),side:n.titleside,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:i,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:\\\"-90\\\",offset:0}})}}])},_n.previousPromises,function(){var e=M+n.outlinewidth/2+Sr.bBox(F._axislayer.node()).width;if((b=H.select(\\\"text\\\")).node()&&!b.classed(rs.jsPlaceholder)){var i,a=H.select(\\\".h\\\"+F._id+\\\"title-math-group\\\").node();i=a&&-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)?Sr.bBox(a).width:Sr.bBox(H.node()).right-L-l.l,e=Math.max(e,i)}var o=2*n.xpad+e+n.borderwidth+n.outlinewidth/2,s=D-O;q.select(\\\".cbbg\\\").attr({x:L-n.xpad-(n.borderwidth+n.outlinewidth)/2,y:O-E,width:Math.max(o,2),height:Math.max(s+2*E,2)}).call(Oe.fill,n.bgcolor).call(Oe.stroke,n.bordercolor).style({\\\"stroke-width\\\":n.borderwidth}),q.selectAll(\\\".cboutline\\\").attr({x:L,y:O+n.ypad+(\\\"top\\\"===n.titleside?G:0),width:Math.max(M,2),height:Math.max(s-2*n.ypad-G,2)}).call(Oe.stroke,n.outlinecolor).style({fill:\\\"None\\\",\\\"stroke-width\\\":n.outlinewidth});var u=({center:.5,right:1}[n.xanchor]||0)*o;q.attr(\\\"transform\\\",\\\"translate(\\\"+(l.l-u)+\\\",\\\"+l.t+\\\")\\\"),_n.autoMargin(t,r,{x:n.x,y:n.y,l:o*({right:1,center:.5}[n.xanchor]||0),r:o*({left:1,center:.5}[n.xanchor]||0),t:s*({bottom:1,middle:.5}[n.yanchor]||0),b:s*({top:1,middle:.5}[n.yanchor]||0)})}],t);if(Q&&Q.then&&(t._promises||[]).push(Q),t._context.edits.colorbarPosition)Ua.init({element:q.node(),gd:t,prepFn:function(){Z=q.attr(\\\"transform\\\"),Ka(q)},moveFn:function(t,e){q.attr(\\\"transform\\\",Z+\\\" translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),J=Ua.align(z+t/l.w,A,0,1,n.xanchor),K=Ua.align(I-e/l.h,T,0,1,n.yanchor);var r=Ua.getCursor(J,K,n.xanchor,n.yanchor);Ka(q,r)},doneFn:function(){Ka(q),void 0!==J&&void 0!==K&&P.call(\\\"restyle\\\",t,{\\\"colorbar.x\\\":J,\\\"colorbar.y\\\":K},a().index)}});return Q}function $(t,e){return ne.coerce(R,F,Ce,t,e)}function tt(e,r){var n,i=a();n=P.traceIs(i,\\\"markerColorscale\\\")?\\\"marker.colorbar.title\\\":\\\"colorbar.title\\\";var s={propContainer:F,propName:n,traceIndex:i.index,placeholder:o._dfltTitle.colorbar,containerGroup:q.select(\\\".cbtitle\\\")},l=\\\"h\\\"===e.charAt(0)?e.substr(1):\\\"h\\\"+e;q.selectAll(\\\".\\\"+l+\\\",.\\\"+l+\\\"-math-group\\\").remove(),Dn.draw(t,e,ts(s,r||{}))}o._infolayer.selectAll(\\\"g.\\\"+r).remove()}function a(){var e,n,i=r.substr(2);for(e=0;e<t._fullData.length;e++)if((n=t._fullData[e]).uid===i)return n}return Object.keys(ze).forEach(function(t){n[t]=null}),n.fillcolor=null,n.line={color:null,width:null,dash:null},n.levels={start:null,end:null,size:null},n.filllevels=null,Object.keys(n).forEach(function(t){i[t]=function(e){return arguments.length?(n[t]=ne.isPlainObject(n[t])?ne.extendFlat(n[t],e):e,i):n[t]}}),i.options=function(t){return Object.keys(t).forEach(function(e){\\\"function\\\"==typeof i[e]&&i[e](t[e])}),i},i._opts=n,i},is=function(t,e){var n=e[0].trace,i=n.marker,a=\\\"cb\\\"+n.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},as={};as.attributes=wa,as.layoutAttributes=wo,as.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,wa,r,n)}var a=ne.coerceFont;if(Ta(t,e,n,i)){i(\\\"orientation\\\",e.x&&!e.y?\\\"h\\\":\\\"v\\\"),i(\\\"base\\\"),i(\\\"offset\\\"),i(\\\"width\\\"),i(\\\"text\\\"),i(\\\"hovertext\\\");var o=i(\\\"textposition\\\"),s=Array.isArray(o)||\\\"auto\\\"===o,l=s||\\\"inside\\\"===o,u=s||\\\"outside\\\"===o;if(l||u){var c=a(i,\\\"textfont\\\",n.font);l&&a(i,\\\"insidetextfont\\\",c),u&&a(i,\\\"outsidetextfont\\\",c),i(\\\"constraintext\\\"),i(\\\"selected.textfont.color\\\"),i(\\\"unselected.textfont.color\\\"),i(\\\"cliponaxis\\\")}ka(t,e,i,r,n);var h=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");h(t,e,Oe.defaultLine,{axis:\\\"y\\\"}),h(t,e,Oe.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},as.supplyLayoutDefaults=Mo,as.calc=function(t,e){var n,i,a,o,s,l=ri.getFromId(t,e.xaxis||\\\"x\\\"),u=ri.getFromId(t,e.yaxis||\\\"y\\\");\\\"h\\\"===(e.orientation||(e.x&&!e.y?\\\"h\\\":\\\"v\\\"))?(n=l,a=l.makeCalcdata(e,\\\"x\\\"),i=u.makeCalcdata(e,\\\"y\\\"),s=e.xcalendar):(n=u,a=u.makeCalcdata(e,\\\"y\\\"),i=l.makeCalcdata(e,\\\"x\\\"),s=e.ycalendar);var c=Math.min(i.length,a.length),h=new Array(c);for(o=0;o<c;o++)h[o]={p:i[o],s:a[o]},e.ids&&(h[o].id=String(e.ids[o]));var f,p=e.base;if(Aa(p)){for(o=0;o<Math.min(p.length,h.length);o++)f=n.d2c(p[o],0,s),r(f)?(h[o].b=+f,h[o].hasB=1):h[o].b=0;for(;o<h.length;o++)h[o].b=0}else{f=n.d2c(p,0,s);var d=r(f);for(f=d?f:0,o=0;o<h.length;o++)h[o].b=f,d&&(h[o].hasB=1)}return Xe(e,\\\"marker\\\")&&Ve(e,e.marker.color,\\\"marker\\\",\\\"c\\\"),Xe(e,\\\"marker.line\\\")&&Ve(e,e.marker.line.color,\\\"marker.line\\\",\\\"c\\\"),ma(h,e),Ma(h,e),h},as.setPositions=Vo,as.colorbar=is,as.arraysToCalcdata=ma,as.plot=Lo,as.style=$o,as.hoverPoints=_o,as.selectPoints=Oo,as.moduleType=\\\"trace\\\",as.name=\\\"bar\\\",as.basePlotModule=ua,as.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"oriented\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],as.meta={};var os=as,ss=m.extendFlat,ls=Zr.marker,us=ls.line,cs={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\\\"},name:{valType:\\\"string\\\",editType:\\\"calc+clearAxisTypes\\\"},text:ss({},Zr.text,{}),whiskerwidth:{valType:\\\"number\\\",min:0,max:1,dflt:.5,editType:\\\"calcIfAutorange\\\"},notched:{valType:\\\"boolean\\\",editType:\\\"calcIfAutorange\\\"},notchwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.25,editType:\\\"calcIfAutorange\\\"},boxpoints:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"outliers\\\",\\\"suspectedoutliers\\\",!1],dflt:\\\"outliers\\\",editType:\\\"calcIfAutorange\\\"},boxmean:{valType:\\\"enumerated\\\",values:[!0,\\\"sd\\\",!1],dflt:!1,editType:\\\"calcIfAutorange\\\"},jitter:{valType:\\\"number\\\",min:0,max:1,editType:\\\"calcIfAutorange\\\"},pointpos:{valType:\\\"number\\\",min:-2,max:2,editType:\\\"calcIfAutorange\\\"},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"],editType:\\\"calc+clearAxisTypes\\\"},marker:{outliercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0, 0, 0, 0)\\\",editType:\\\"style\\\"},symbol:ss({},ls.symbol,{arrayOk:!1,editType:\\\"plot\\\"}),opacity:ss({},ls.opacity,{arrayOk:!1,dflt:1,editType:\\\"style\\\"}),size:ss({},ls.size,{arrayOk:!1,editType:\\\"calcIfAutorange\\\"}),color:ss({},ls.color,{arrayOk:!1,editType:\\\"style\\\"}),line:{color:ss({},us.color,{arrayOk:!1,dflt:C.defaultLine,editType:\\\"style\\\"}),width:ss({},us.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:Zr.fillcolor,selected:{marker:Zr.selected.marker,editType:\\\"style\\\"},unselected:{marker:Zr.unselected.marker,editType:\\\"style\\\"},hoveron:{valType:\\\"flaglist\\\",flags:[\\\"boxes\\\",\\\"points\\\"],dflt:\\\"boxes+points\\\",editType:\\\"style\\\"}},hs=ne._,fs=function(t,e){var n,i,a,o,s,l=t._fullLayout,u=ri.getFromId(t,e.xaxis||\\\"x\\\"),c=ri.getFromId(t,e.yaxis||\\\"y\\\"),h=[],f=\\\"violin\\\"===e.type?\\\"_numViolins\\\":\\\"_numBoxes\\\";\\\"h\\\"===e.orientation?(i=u,a=\\\"x\\\",o=c,s=\\\"y\\\"):(i=c,a=\\\"y\\\",o=u,s=\\\"x\\\");var p=i.makeCalcdata(e,a),d=function(t,e,n,i,a){if(e in t)return n.makeCalcdata(t,e);var o;o=e+\\\"0\\\"in t?t[e+\\\"0\\\"]:\\\"name\\\"in t&&(\\\"category\\\"===n.type||r(t.name)&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(n.type)||ne.isDateTime(t.name)&&\\\"date\\\"===n.type)?t.name:a;var s=n.d2c(o,0,t[e+\\\"calendar\\\"]);return i.map(function(){return s})}(e,s,o,p,l[f]),g=ne.distinctVals(d),v=g.vals,m=g.minDiff/2,y=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(v,m),x=p.length,b=v.length,_=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(b);for(n=0;n<x;n++){var w=p[n];if(r(w)){var M=ne.findBin(d[n],y);if(M>=0&&M<b){var A={v:w,i:n};ps(A,e,n),_[M].push(A)}}}for(n=0;n<b;n++)if(_[n].length>0){var k=_[n].sort(ds),T=k.map(gs),S=T.length,E={pos:v[n],pts:k};E.min=T[0],E.max=T[S-1],E.mean=ne.mean(T,S),E.sd=ne.stdev(T,S,E.mean),E.q1=ne.interp(T,.25),E.med=ne.interp(T,.5),E.q3=ne.interp(T,.75),E.lf=Math.min(E.q1,T[Math.min(ne.findBin(2.5*E.q1-1.5*E.q3,T,!0)+1,S-1)]),E.uf=Math.max(E.q3,T[Math.max(ne.findBin(2.5*E.q3-1.5*E.q1,T),0)]),E.lo=4*E.q1-3*E.q3,E.uo=4*E.q3-3*E.q1;var C=1.57*(E.q3-E.q1)/Math.sqrt(S);E.ln=E.med-C,E.un=E.med+C,h.push(E)}return function(t,e){if(ne.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;ne.tagSelected(n,e,i)}}(h,e),ri.expand(i,p,{padded:!0}),h.length>0?(h[0].t={num:l[f],dPos:m,posLetter:s,valLetter:a,labels:{med:hs(t,\\\"median:\\\"),min:hs(t,\\\"min:\\\"),q1:hs(t,\\\"q1:\\\"),q3:hs(t,\\\"q3:\\\"),max:hs(t,\\\"max:\\\"),mean:\\\"sd\\\"===e.boxmean?hs(t,\\\"mean \\\\xb1 \\\\u03c3:\\\"):hs(t,\\\"mean:\\\"),lf:hs(t,\\\"lower fence:\\\"),uf:hs(t,\\\"upper fence:\\\")}},e._fullInput&&\\\"candlestick\\\"===e._fullInput.type&&delete h[0].t.labels,l[f]++,h):[{t:{empty:!0}}]};function ps(t,e,r){var n={text:\\\"tx\\\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function ds(t,e){return t.v-e.v}function gs(t){return t.v}function vs(t,e,r,n){var i,a=r(\\\"y\\\"),o=r(\\\"x\\\");if(a&&a.length)i=\\\"v\\\",o||r(\\\"x0\\\");else{if(!o||!o.length)return void(e.visible=!1);i=\\\"h\\\",r(\\\"y0\\\")}P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),r(\\\"orientation\\\",i)}function ms(t,e,r,n){var i=n.prefix,a=ne.coerce2(t,e,cs,\\\"marker.outliercolor\\\"),o=r(\\\"marker.line.outliercolor\\\"),s=r(i+\\\"points\\\",a||o?\\\"suspectedoutliers\\\":void 0);s?(r(\\\"jitter\\\",\\\"all\\\"===s?.3:0),r(\\\"pointpos\\\",\\\"all\\\"===s?-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\\\"===s&&(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\\\")):delete e.marker,r(\\\"hoveron\\\"),ne.coerceSelectionMarkerOpacity(e,r)}var ys={supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cs,r,n)}vs(t,e,i,n),!1!==e.visible&&(i(\\\"line.color\\\",(t.marker||{}).color||r),i(\\\"line.width\\\"),i(\\\"fillcolor\\\",Oe.addOpacity(e.line.color,.5)),i(\\\"whiskerwidth\\\"),i(\\\"boxmean\\\"),i(\\\"notched\\\",void 0!==t.notchwidth)&&i(\\\"notchwidth\\\"),ms(t,e,i,{prefix:\\\"box\\\"}))},handleSampleDefaults:vs,handlePointsDefaults:ms};function xs(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v=t.cd,m=t.xa,y=t.ya,x=v[0].trace,b=v[0].t,_=\\\"violin\\\"===x.type,w=[],M=b.bdPos,A=function(t){return t.pos+b.bPos-u};_&&\\\"both\\\"!==x.side?(\\\"positive\\\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e,e+M,p)}),\\\"negative\\\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e-M,e,p)})):f=function(t){var e=A(t);return yo.inbox(e-M,e+M,p)},g=_?function(t){return yo.inbox(t.span[0]-l,t.span[1]-l,p)}:function(t){return yo.inbox(t.min-l,t.max-l,p)},\\\"h\\\"===x.orientation?(l=e,u=r,c=g,h=f,i=\\\"y\\\",o=y,a=\\\"x\\\",s=m):(l=r,u=e,c=f,h=g,i=\\\"x\\\",o=m,a=\\\"y\\\",s=y);var k=Math.min(1,M/Math.abs(o.r2c(o.range[1])-o.r2c(o.range[0])));function T(t){return(c(t)+h(t))/2}p=t.maxHoverDistance-k,d=t.maxSpikeDistance-k;var S=yo.getDistanceFunction(n,c,h,T);if(yo.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],C=x.line.color,L=(x.marker||{}).color;Oe.opacity(C)&&x.line.width?t.color=C:Oe.opacity(L)&&x.boxpoints?t.color=L:t.color=x.fillcolor,t[i+\\\"0\\\"]=o.c2p(E.pos+b.bPos-b.bdPos,!0),t[i+\\\"1\\\"]=o.c2p(E.pos+b.bPos+b.bdPos,!0),ri.tickText(o,o.c2l(E.pos),\\\"hover\\\").text,t[i+\\\"LabelVal\\\"]=E.pos;var z=i+\\\"Spike\\\";t.spikeDistance=T(E)*d/p,t[z]=o.c2p(E.pos,!0);var P={},I=[\\\"med\\\",\\\"min\\\",\\\"q1\\\",\\\"q3\\\",\\\"max\\\"];(x.boxmean||(x.meanline||{}).visible)&&I.push(\\\"mean\\\"),(x.boxpoints||x.points)&&I.push(\\\"lf\\\",\\\"uf\\\");for(var D=0;D<I.length;D++){var O=I[D];if(O in E&&!(E[O]in P)){P[E[O]]=!0;var R=E[O],F=s.c2p(R,!0),B=ne.extendFlat({},t);B[a+\\\"0\\\"]=B[a+\\\"1\\\"]=F,B[a+\\\"LabelVal\\\"]=R,B[a+\\\"Label\\\"]=(b.labels?b.labels[O]+\\\" \\\":\\\"\\\")+ri.hoverLabelText(s,R),\\\"mean\\\"===O&&\\\"sd\\\"in E&&\\\"sd\\\"===x.boxmean&&(B[a+\\\"err\\\"]=E.sd),t.name=\\\"\\\",t.spikeDistance=void 0,t[z]=void 0,w.push(B)}}return w}function bs(t,e,r){for(var n,i,a,o=t.cd,s=t.xa,l=t.ya,u=o[0].trace,c=s.c2p(e),h=l.c2p(r),f=yo.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(s.c2p(t.x)-c)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(l.c2p(t.y)-h)-e,1-3/e)}),p=!1,d=0;d<o.length;d++){i=o[d];for(var g=0;g<(i.pts||[]).length;g++){var v=f(a=i.pts[g]);v<=t.distance&&(t.distance=v,p=[d,g])}}if(!p)return!1;a=(i=o[p[0]]).pts[p[1]];var m=s.c2p(a.x,!0),y=l.c2p(a.y,!0),x=a.mrc||1;n=ne.extendFlat({},t,{index:a.i,color:(u.marker||{}).color,name:u.name,x0:m-x,x1:m+x,xLabelVal:a.x,y0:y-x,y1:y+x,yLabelVal:a.y,spikeDistance:t.distance});var b=\\\"h\\\"===u.orientation?\\\"y\\\":\\\"x\\\",_=\\\"h\\\"===u.orientation?l:s;return n[b+\\\"Spike\\\"]=_.c2p(i.pos,!0),xo(a,u,n),n}var _s={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\\\"boxes\\\")&&(o=o.concat(xs(t,e,r,n))),-1!==a.indexOf(\\\"points\\\")&&(i=bs(t,e,r)),\\\"closest\\\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:xs,hoverOnPoints:bs},ws={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\\\"}};function Ms(t,e,r,n,i){for(var a,o=0;o<r.length;o++)if(r[o].type===i){a=!0;break}a&&(n(i+\\\"mode\\\"),n(i+\\\"gap\\\"),n(i+\\\"groupgap\\\"))}var As={supplyLayoutDefaults:function(t,e,r){Ms(0,0,r,function(r,n){return ne.coerce(t,e,ws,r,n)},\\\"box\\\")},_supply:Ms},ks=5,Ts=.01;function Ss(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.wdPos||0,h=i.bPosPxOffset||0,f=n.whiskerwidth||0,p=n.notched||!1,d=p?1-2*n.notchwidth:1;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\\\"path.box\\\").data(ne.identity).enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"box\\\").each(function(t){var r=t.pos,i=s.c2p(r+u,!0)+h,g=s.c2p(r+u-a,!0)+h,v=s.c2p(r+u+o,!0)+h,m=s.c2p(r+u-c,!0)+h,y=s.c2p(r+u+c,!0)+h,x=s.c2p(r+u-a*d,!0)+h,b=s.c2p(r+u+o*d,!0)+h,_=l.c2p(t.q1,!0),w=l.c2p(t.q3,!0),M=ne.constrain(l.c2p(t.med,!0),Math.min(_,w)+1,Math.max(_,w)-1),A=l.c2p(!1===n.boxpoints?t.min:t.lf,!0),k=l.c2p(!1===n.boxpoints?t.max:t.uf,!0),T=l.c2p(t.ln,!0),S=l.c2p(t.un,!0);\\\"h\\\"===n.orientation?e.select(this).attr(\\\"d\\\",\\\"M\\\"+M+\\\",\\\"+x+\\\"V\\\"+b+\\\"M\\\"+_+\\\",\\\"+g+\\\"V\\\"+v+(p?\\\"H\\\"+T+\\\"L\\\"+M+\\\",\\\"+b+\\\"L\\\"+S+\\\",\\\"+v:\\\"\\\")+\\\"H\\\"+w+\\\"V\\\"+g+(p?\\\"H\\\"+S+\\\"L\\\"+M+\\\",\\\"+x+\\\"L\\\"+T+\\\",\\\"+g:\\\"\\\")+\\\"ZM\\\"+_+\\\",\\\"+i+\\\"H\\\"+A+\\\"M\\\"+w+\\\",\\\"+i+\\\"H\\\"+k+(0===f?\\\"\\\":\\\"M\\\"+A+\\\",\\\"+m+\\\"V\\\"+y+\\\"M\\\"+k+\\\",\\\"+m+\\\"V\\\"+y)):e.select(this).attr(\\\"d\\\",\\\"M\\\"+x+\\\",\\\"+M+\\\"H\\\"+b+\\\"M\\\"+g+\\\",\\\"+_+\\\"H\\\"+v+(p?\\\"V\\\"+T+\\\"L\\\"+b+\\\",\\\"+M+\\\"L\\\"+v+\\\",\\\"+S:\\\"\\\")+\\\"V\\\"+w+\\\"H\\\"+g+(p?\\\"V\\\"+S+\\\"L\\\"+x+\\\",\\\"+M+\\\"L\\\"+g+\\\",\\\"+T:\\\"\\\")+\\\"ZM\\\"+i+\\\",\\\"+_+\\\"V\\\"+A+\\\"M\\\"+i+\\\",\\\"+w+\\\"V\\\"+k+(0===f?\\\"\\\":\\\"M\\\"+m+\\\",\\\"+A+\\\"H\\\"+y+\\\"M\\\"+m+\\\",\\\"+k+\\\"H\\\"+y))})}function Es(t,e,r,n){var i=e.x,a=e.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;ne.seedPseudoRandom(),t.selectAll(\\\"g.points\\\").data(function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").selectAll(\\\"path\\\").data(function(t){var e,n,i=\\\"all\\\"===l?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),a=Math.max((t.max-t.min)/10,t.q3-t.q1),u=1e-9*a,c=a*Ts,h=[],f=0;if(r.jitter){if(0===a)for(f=1,h=new Array(i.length),e=0;e<i.length;e++)h[e]=1;else for(e=0;e<i.length;e++){var p=Math.max(0,e-ks),d=i[p].v,g=Math.min(i.length-1,e+ks),v=i[g].v;\\\"all\\\"!==l&&(i[e].v<t.lf?v=Math.min(v,t.lf):d=Math.max(d,t.uf));var m=Math.sqrt(c*(g-p)/(v-d+u))||0;m=ne.constrain(Math.abs(m),0,1),h.push(m),f=Math.max(m,f)}n=2*r.jitter/f}for(e=0;e<i.length;e++){var y=i[e],x=y.v,b=r.jitter?n*h[e]*(ne.pseudoRandom()-.5):0,_=t.pos+s+o*(r.pointpos+b);\\\"h\\\"===r.orientation?(y.y=_,y.x=x):(y.x=_,y.y=x),\\\"suspectedoutliers\\\"===l&&x<t.uo&&x>t.lo&&(y.so=!0)}return i}).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).call(Sr.translatePoints,i,a)}function Cs(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.bPosPxOffset||0;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\\\"path.mean\\\").data(ne.identity).enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}).each(function(t){var r=s.c2p(t.pos+u,!0)+c,i=s.c2p(t.pos+u-a,!0)+c,h=s.c2p(t.pos+u+o,!0)+c,f=l.c2p(t.mean,!0),p=l.c2p(t.mean-t.sd,!0),d=l.c2p(t.mean+t.sd,!0);\\\"h\\\"===n.orientation?e.select(this).attr(\\\"d\\\",\\\"M\\\"+f+\\\",\\\"+i+\\\"V\\\"+h+(\\\"sd\\\"===n.boxmean?\\\"m0,0L\\\"+p+\\\",\\\"+r+\\\"L\\\"+f+\\\",\\\"+i+\\\"L\\\"+d+\\\",\\\"+r+\\\"Z\\\":\\\"\\\")):e.select(this).attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+f+\\\"H\\\"+h+(\\\"sd\\\"===n.boxmean?\\\"m0,0L\\\"+r+\\\",\\\"+p+\\\"L\\\"+i+\\\",\\\"+f+\\\"L\\\"+r+\\\",\\\"+d+\\\"Z\\\":\\\"\\\"))})}var Ls={plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;r.plot.select(\\\".boxlayer\\\").selectAll(\\\"g.trace.boxes\\\").data(n).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace boxes\\\").each(function(t){var r,n,s=t[0],l=s.t,u=s.trace,c=s.node3=e.select(this),h=i._numBoxes,f=\\\"group\\\"===i.boxmode&&h>1,p=l.dPos*(1-i.boxgap)*(1-i.boxgroupgap)/(f?h:1),d=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.boxgap):0,g=p*u.whiskerwidth;!0!==u.visible||l.empty?e.select(this).remove():(\\\"h\\\"===u.orientation?(r=o,n=a):(r=a,n=o),l.bPos=d,l.bdPos=p,l.wdPos=g,Ss(c,{pos:r,val:n},u,l),u.boxpoints&&Es(c,{x:a,y:o},u,l),u.boxmean&&Cs(c,{pos:r,val:n},u,l))})},plotBoxAndWhiskers:Ss,plotPoints:Es,plotBoxMean:Cs},zs=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],u=a.c2p(l.x),c=o.c2p(l.y);e.contains([u,c])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s},Ps=[\\\"v\\\",\\\"h\\\"];function Is(t,e,r,n,i){var a,o,s,l=e.calcdata,u=e._fullLayout,c=[],h=\\\"violin\\\"===t?\\\"_numViolins\\\":\\\"_numBoxes\\\";for(a=0;a<r.length;a++)for(s=l[r[a]],o=0;o<s.length;o++)c.push(s[o].pos);if(c.length){var f=ne.distinctVals(c),p=f.minDiff/2;for(c.length===f.vals.length&&(u[h]=1),ri.minDtick(n,f.minDiff,f.vals[0],!0),a=0;a<r.length;a++)(s=l[r[a]])[0].t.dPos=p;var d=(1-u[t+\\\"gap\\\"])*(1-u[t+\\\"groupgap\\\"])*p/u[h];ri.expand(n,f.vals,{vpadminus:p+i[0]*d,vpadplus:p+i[1]*d})}}var Ds=function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<Ps.length;a++){for(var o=Ps[a],s=\\\"h\\\"===o?i:n,l=[],u=0,c=0,h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\\\"box\\\"!==d.type||p.empty||d.orientation!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.boxpoints&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}Is(\\\"box\\\",t,l,s,[u,c])}},Os=Is,Rs={};Rs.attributes=cs,Rs.layoutAttributes=ws,Rs.supplyDefaults=ys.supplyDefaults,Rs.supplyLayoutDefaults=As.supplyLayoutDefaults,Rs.calc=fs,Rs.setPositions=Ds,Rs.plot=Ls.plot,Rs.style=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.boxes\\\");n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=e.select(this),i=r[0].trace,a=i.line.width;n.selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",a+\\\"px\\\").call(Oe.stroke,i.line.color).call(Oe.fill,i.fillcolor),n.selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":a,\\\"stroke-dasharray\\\":2*a+\\\"px,\\\"+a+\\\"px\\\"}).call(Oe.stroke,i.line.color);var o=n.selectAll(\\\"path.point\\\");Sr.pointStyle(o,i,t),Sr.selectedPointStyle(o,i)})},Rs.hoverPoints=_s.hoverPoints,Rs.selectPoints=zs,Rs.moduleType=\\\"trace\\\",Rs.name=\\\"box\\\",Rs.basePlotModule=ua,Rs.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box-violin\\\",\\\"showLegend\\\"],Rs.meta={};var Fs=Rs,Bs=Fs,Ns=Object.getOwnPropertySymbols,js=Object.prototype.hasOwnProperty,Vs=Object.prototype.propertyIsEnumerable;var Us=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,n,i=function(t){if(null===t||void 0===t)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(t)}(t),a=1;a<arguments.length;a++){for(var o in r=Object(arguments[a]))js.call(r,o)&&(i[o]=r[o]);if(Ns){n=Ns(r);for(var s=0;s<n.length;s++)Vs.call(r,n[s])&&(i[n[s]]=r[n[s]])}}return i},qs={};function Hs(){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 Gs(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(Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate).replace(/\\\\{0\\\\}/,this._calendar.local.name)}function Ws(t,e){return\\\"000000\\\".substring(0,e-(t=\\\"\\\"+t).length)+t}function Ys(){this.shortYearCutoff=\\\"+10\\\"}function Xs(t){this.local=this.regionalOptions[t]||this.regionalOptions[\\\"\\\"]}Us(Hs.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,i){return(n=(null!=t&&t.year?t.calendar():\\\"string\\\"==typeof n?this.instance(n,i):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=\\\"\\\",i=0;r>0;){var a=r%10;n=(0===a?\\\"\\\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),Us(Gs.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(Zs.local.invalidDate||Zs.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(Zs.local.differentCalendars||Zs.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?\\\"-\\\":\\\"\\\")+Ws(Math.abs(this.year()),4)+\\\"-\\\"+Ws(this.month(),2)+\\\"-\\\"+Ws(this.day(),2)}}),Us(Ys.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new Gs(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear);return(e.year()<0?\\\"-\\\":\\\"\\\")+Ws(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,Zs.local.invalidMonth||Zs.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,Zs.local.invalidMonth||Zs.regionalOptions[\\\"\\\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidDate||Zs.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),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\\\"y\\\"===r?e:0),o=t.monthOfYear()+(\\\"m\\\"===r?e:0);i=t.day();\\\"y\\\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\\\"m\\\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];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 i={y:[1,1,\\\"y\\\"],m:[1,this.monthsInYear(-1),\\\"m\\\"],w:[this.daysInWeek(),this.daysInYear(-1),\\\"d\\\"],d:[1,this.daysInYear(-1),\\\"d\\\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);var n=\\\"y\\\"===r?e:t.year(),i=\\\"m\\\"===r?e:t.month(),a=\\\"d\\\"===r?e:t.day();return\\\"y\\\"!==r&&\\\"m\\\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);return Zs.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(Zs.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(Zs.local.differentCalendars||Zs.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 i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),Xs.prototype=new Ys,Us(Xs.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,Zs.local.invalidYear||Zs.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,Zs.local.invalidMonth||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-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,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var Zs=qs=new Hs;Zs.cdate=Gs,Zs.baseCalendar=Ys,Zs.calendars.gregorian=Xs;var Js=qs.instance();function Ks(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}Ks.prototype=new qs.baseCalendar,Us(Ks.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($s);return r?r[0]:\\\"\\\"}var n=this._validateYear(t),i=t.month(),a=\\\"\\\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\\\"0\\\"+a),this.isIntercalaryMonth(n,i)&&(a+=\\\"i\\\"),a},monthNames:function(t){if(\\\"string\\\"==typeof t){var e=t.match(tl);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\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)&&(i=\\\"\\\\u95f0\\\"+i),i},monthNamesShort:function(t){if(\\\"string\\\"==typeof t){var e=t.match(el);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\u4e00\\\",\\\"\\\\u4e8c\\\",\\\"\\\\u4e09\\\",\\\"\\\\u56db\\\",\\\"\\\\u4e94\\\",\\\"\\\\u516d\\\",\\\"\\\\u4e03\\\",\\\"\\\\u516b\\\",\\\"\\\\u4e5d\\\",\\\"\\\\u5341\\\",\\\"\\\\u5341\\\\u4e00\\\",\\\"\\\\u5341\\\\u4e8c\\\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\\\"\\\\u95f0\\\"+i),i},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 i=e[e.length-1];r=\\\"i\\\"===i||\\\"I\\\"===i}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 n=this.intercalaryMonth(t);if(r&&e!==n||e<1||e>12)throw qs.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return n?!r&&e<=n?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 qs.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),rl[t-rl[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 n,i=this._validateYear(t,qs.local.invalidyear),a=nl[i-nl[0]],o=a>>9&4095,s=a>>5&15,l=31&a;(n=Js.newDate(o,s,l)).add(4-(n.dayOfWeek()||7),\\\"d\\\");var u=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(u/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=rl[t-rl[0]];if(e>(r>>13?12:11))throw qs.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 n=this._validate(t,a,r,qs.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var i=this.isIntercalaryMonth(t,e),a=this.toChineseMonth(t,e),o=function(t,e,r,n,i){var a,o,s;if(\\\"object\\\"==typeof t)o=t,a=e||{};else{var l=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\\\"Lunar year outside range 1888-2111\\\");var u=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!u)throw new Error(\\\"Lunar month outside range 1 - 12\\\");var c,h=\\\"number\\\"==typeof r&&r>=1&&r<=30;if(!h)throw new Error(\\\"Lunar day outside range 1 - 30\\\");\\\"object\\\"==typeof n?(c=!1,a=n):(c=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:c}}s=o.day-1;var f,p=rl[o.year-rl[0]],d=p>>13;f=d?o.month>d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var g=0;g<f;g++){var v=p&1<<12-g?30:29;s+=v}var m=nl[o.year-nl[0]],y=new Date(m>>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=y.getFullYear(),a.month=1+y.getMonth(),a.day=y.getDate(),a}(t,a,r,i);return Js.toJD(o.year,o.month,o.day)},fromJD:function(t){var e=Js.fromJD(t),r=function(t,e,r,n){var i,a;if(\\\"object\\\"==typeof t)i=t,a=e||{};else{var o=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\\\"Solar year outside range 1888-2111\\\");var s=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\\\"Solar month outside range 1 - 12\\\");var l=\\\"number\\\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\\\"Solar day outside range 1 - 31\\\");i={year:t,month:e,day:r},a=n||{}}var u=nl[i.year-nl[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=nl[a.year-nl[0]];var h,f=new Date(u>>9&4095,(u>>5&15)-1,31&u),p=new Date(i.year,i.month-1,i.day);h=Math.round((p-f)/864e5);var d,g=rl[a.year-rl[0]];for(d=0;d<13;d++){var v=g&1<<12-d?30:29;if(h<v)break;h-=v}var m=g>>13;!m||d<m?(a.isIntercalary=!1,a.month=1+d):d===m?(a.isIntercalary=!0,a.month=d):(a.isIntercalary=!1,a.month=d);return a.day=1+h,a}(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(Qs),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(Ks.prototype).add.call(this,t,e,r);if(\\\"y\\\"===r){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),h=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);h!==u&&s.month(h)}return s}});var Qs=/^\\\\s*(-?\\\\d\\\\d\\\\d\\\\d|\\\\d\\\\d)[-/](\\\\d?\\\\d)([iI]?)[-/](\\\\d?\\\\d)/m,$s=/^\\\\d?\\\\d[iI]?/m,tl=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?\\\\u6708/m,el=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?/m;qs.calendars.chinese=Ks;var rl=[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],nl=[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];function il(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}il.prototype=new qs.baseCalendar,Us(il.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,qs.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,qs.local.invalidYear||qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return(t=n.year())<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),qs.calendars.coptic=il;function al(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}al.prototype=new qs.baseCalendar,Us(al.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,qs.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return{century:ol[Math.floor((n.year()-1)/100)+1]||\\\"\\\"}},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate);return t=n.year()+(n.year()<0?1:0),e=n.month(),(r=n.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 ol={20:\\\"Fruitbat\\\",21:\\\"Anchovy\\\"};qs.calendars.discworld=al;function sl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}sl.prototype=new qs.baseCalendar,Us(sl.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,qs.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,qs.local.invalidYear||qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return(t=n.year())<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),qs.calendars.ethiopian=sl;function ll(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function ul(t,e){return t-e*Math.floor(t/e)}ll.prototype=new qs.baseCalendar,Us(ll.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,qs.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return ul(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.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,qs.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===ul(this.daysInYear(t),10)?30:9===e&&3===ul(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 n=this._validate(t,e,r,qs.local.invalidDate);return{yearType:(this.leapYear(n)?\\\"embolismic\\\":\\\"common\\\")+\\\" \\\"+[\\\"deficient\\\",\\\"regular\\\",\\\"complete\\\"][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t<=0?t+1:t,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var o=7;o<=this.monthsInYear(t);o++)a+=this.daysInMonth(t,o);for(o=1;o<e;o++)a+=this.daysInMonth(t,o)}else for(o=7;o<e;o++)a+=this.daysInMonth(t,o);return a},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return ul(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)}}),qs.calendars.hebrew=ll;function cl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}cl.prototype=new qs.baseCalendar,Us(cl.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,qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t<=0?t+1:t,r+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)}}),qs.calendars.islamic=cl;function hl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}hl.prototype=new qs.baseCalendar,Us(hl.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,qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return t=n.year(),e=n.month(),r=n.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),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),qs.calendars.julian=hl;function fl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function pl(t,e){return t-e*Math.floor(t/e)}function dl(t,e){return pl(t-1,e)+1}fl.prototype=new qs.baseCalendar,Us(fl.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,qs.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,qs.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=pl((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,pl(e,20)]},_toTzolkin:function(t){return[dl((t-=this.jdEpoch)+20,20),dl(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate);return n.day()+20*n.month()+360*n.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)}}),qs.calendars.mayan=fl;function vl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}vl.prototype=new qs.baseCalendar;var ml=qs.instance(\\\"gregorian\\\");Us(vl.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,qs.local.invalidYear||qs.regionalOptions[\\\"\\\"].invalidYear);return ml.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,qs.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 n=this._validate(t,e,r,qs.local.invalidMonth);(t=n.year())<0&&t++;for(var i=n.day(),a=1;a<n.month();a++)i+=this.daysPerMonth[a-1];return i+ml.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)}}),qs.calendars.nanakshahi=vl;function yl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}yl.prototype=new qs.baseCalendar,Us(yl.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,qs.local.invalidYear).year(),void 0===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,qs.local.invalidMonth),void 0===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 n=this._validate(t,e,r,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=qs.instance(),a=0,o=e,s=t;this._createMissingCalendarData(t);var l=t-(o>9||9===o&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(9!==e&&(a=r,o--);9!==o;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return 9===e?(a+=r-this.NEPALI_CALENDAR_DATA[s][0])<0&&(a+=i.daysInYear(l)):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\\\"d\\\").toJD()},fromJD:function(t){var e=qs.instance().fromJD(t),r=e.year(),n=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var a=9,o=this.NEPALI_CALENDAR_DATA[i][0],s=this.NEPALI_CALENDAR_DATA[i][a]-o+1;n>s;)++a>12&&(a=1,i++),s+=this.NEPALI_CALENDAR_DATA[i][a];var l=this.NEPALI_CALENDAR_DATA[i][a]-(s-n);return this.newDate(i,a,l)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===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],2000:[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]}}),qs.calendars.nepali=yl;function xl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function bl(t,e){return t-e*Math.floor(t/e)}xl.prototype=new qs.baseCalendar,Us(xl.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,qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t-(t>=0?474:473),a=474+bl(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*a-110)/2816)+365*(a-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=bl(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),o=bl(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=t-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=t-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}}),qs.calendars.persian=xl,qs.calendars.jalali=xl;var _l=qs.instance();function wl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}wl.prototype=new qs.baseCalendar,Us(wl.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,qs.local.invalidYear);t=this._t2gYear(e.year());return _l.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return _l.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);t=this._t2gYear(n.year());return _l.toJD(t,n.month(),n.day())},fromJD:function(t){var e=_l.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)}}),qs.calendars.taiwan=wl;var Ml=qs.instance();function Al(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}Al.prototype=new qs.baseCalendar,Us(Al.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,qs.local.invalidYear);t=this._t2gYear(e.year());return Ml.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return Ml.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);t=this._t2gYear(n.year());return Ml.toJD(t,n.month(),n.day())},fromJD:function(t){var e=Ml.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)}}),qs.calendars.thai=Al;function kl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}kl.prototype=new qs.baseCalendar,Us(kl.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,qs.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,qs.local.invalidMonth).toJD()-24e5+.5,n=0,i=0;i<Tl.length;i++){if(Tl[i]>r)return Tl[n]-Tl[n-1];n++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate),i=12*(n.year()-1)+n.month()-15292;return n.day()+Tl[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<Tl.length&&!(Tl[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=e-Tl[r-1]+1;return this.newDate(o,s,l)},isValid:function(t,e,r){var n=qs.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(n=(t=null!=t.year?t.year:t)>=1276&&t<=1500),n},_validate:function(t,e,r,n){var i=qs.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\\\{0\\\\}/,this.local.name);return i}}),qs.calendars.ummalqura=kl;var Tl=[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];Us(qs.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\\\"}),qs.local=qs.regionalOptions[\\\"\\\"],Us(qs.cdate.prototype,{formatDate:function(t,e){return\\\"string\\\"!=typeof t&&(e=t,t=\\\"\\\"),this._calendar.formatDate(t||\\\"\\\",this,e)}}),Us(qs.baseCalendar.prototype,{UNIX_EPOCH:qs.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:qs.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 qs.local.invalidFormat||qs.regionalOptions[\\\"\\\"].invalidFormat;t=t||this.local.dateFormat;for(var n,i,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,f=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n<t.length&&t.charAt(_+n)===e;)n++;return _+=n-1,Math.floor(n/(r||1))>1}),p=function(t,e,r,n){var i=\\\"\\\"+e;if(f(t,n))for(;i.length<r;)i=\\\"0\\\"+i;return i},d=this,g=function(t){return\\\"function\\\"==typeof u?u.call(d,t,f(\\\"m\\\")):y(p(\\\"m\\\",t.month(),2))},v=function(t,e){return e?\\\"function\\\"==typeof h?h.call(d,t):h[t.month()-d.minMonth]:\\\"function\\\"==typeof c?c.call(d,t):c[t.month()-d.minMonth]},m=this.local.digits,y=function(t){return r.localNumbers&&m?m(t):t},x=\\\"\\\",b=!1,_=0;_<t.length;_++)if(b)\\\"'\\\"!==t.charAt(_)||f(\\\"'\\\")?x+=t.charAt(_):b=!1;else switch(t.charAt(_)){case\\\"d\\\":x+=y(p(\\\"d\\\",e.day(),2));break;case\\\"D\\\":x+=(n=\\\"D\\\",i=e.dayOfWeek(),a=s,o=l,f(n)?o[i]:a[i]);break;case\\\"o\\\":x+=p(\\\"o\\\",e.dayOfYear(),3);break;case\\\"w\\\":x+=p(\\\"w\\\",e.weekOfYear(),2);break;case\\\"m\\\":x+=g(e);break;case\\\"M\\\":x+=v(e,f(\\\"M\\\"));break;case\\\"y\\\":x+=f(\\\"y\\\",2)?e.year():(e.year()%100<10?\\\"0\\\":\\\"\\\")+e.year()%100;break;case\\\"Y\\\":f(\\\"Y\\\",2),x+=e.formatYear();break;case\\\"J\\\":x+=e.toJD();break;case\\\"@\\\":x+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\\\"!\\\":x+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\\\"'\\\":f(\\\"'\\\")?x+=\\\"'\\\":b=!0;break;default:x+=t.charAt(_)}return x},parseDate:function(t,e,r){if(null==e)throw qs.local.invalidArguments||qs.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,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,h=-1,f=-1,p=-1,d=-1,g=!1,v=!1,m=function(e,r){for(var n=1;k+n<t.length&&t.charAt(k+n)===e;)n++;return k+=n-1,Math.floor(n/(r||1))>1},y=function(t,r){var n=m(t,r),i=[2,3,n?4:2,n?4:2,10,11,20][\\\"oyYJ@!\\\".indexOf(t)+1],a=new RegExp(\\\"^-?\\\\\\\\d{1,\\\"+i+\\\"}\\\"),o=e.substring(A).match(a);if(!o)throw(qs.local.missingNumberAt||qs.regionalOptions[\\\"\\\"].missingNumberAt).replace(/\\\\{0\\\\}/,A);return A+=o[0].length,parseInt(o[0],10)},x=this,b=function(){if(\\\"function\\\"==typeof s){m(\\\"m\\\");var t=s.call(x,e.substring(A));return A+=t.length,t}return y(\\\"m\\\")},_=function(t,r,n,i){for(var a=m(t,i)?n:r,o=0;o<a.length;o++)if(e.substr(A,a[o].length).toLowerCase()===a[o].toLowerCase())return A+=a[o].length,o+x.minMonth;throw(qs.local.unknownNameAt||qs.regionalOptions[\\\"\\\"].unknownNameAt).replace(/\\\\{0\\\\}/,A)},w=function(){if(\\\"function\\\"==typeof u){var t=m(\\\"M\\\")?u.call(x,e.substring(A)):l.call(x,e.substring(A));return A+=t.length,t}return _(\\\"M\\\",l,u)},M=function(){if(e.charAt(A)!==t.charAt(k))throw(qs.local.unexpectedLiteralAt||qs.regionalOptions[\\\"\\\"].unexpectedLiteralAt).replace(/\\\\{0\\\\}/,A);A++},A=0,k=0;k<t.length;k++)if(v)\\\"'\\\"!==t.charAt(k)||m(\\\"'\\\")?M():v=!1;else switch(t.charAt(k)){case\\\"d\\\":p=y(\\\"d\\\");break;case\\\"D\\\":_(\\\"D\\\",i,a);break;case\\\"o\\\":d=y(\\\"o\\\");break;case\\\"w\\\":y(\\\"w\\\");break;case\\\"m\\\":f=b();break;case\\\"M\\\":f=w();break;case\\\"y\\\":var T=k;g=!m(\\\"y\\\",2),k=T,h=y(\\\"y\\\",2);break;case\\\"Y\\\":h=y(\\\"Y\\\",2);break;case\\\"J\\\":c=y(\\\"J\\\")+.5,\\\".\\\"===e.charAt(A)&&(A++,y(\\\"J\\\"));break;case\\\"@\\\":c=y(\\\"@\\\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\\\"!\\\":c=y(\\\"!\\\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\\\"*\\\":A=e.length;break;case\\\"'\\\":m(\\\"'\\\")?M():v=!0;break;default:M()}if(A<e.length)throw qs.local.unexpectedText||qs.regionalOptions[\\\"\\\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&g&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\\\"string\\\"==typeof f&&(f=o.call(this,h,f)),d>-1){f=1,p=d;for(var S=this.daysInMonth(h,f);p>S;S=this.daysInMonth(h,f))f++,p-=S}return c>-1?this.fromJD(c):this.newDate(h,f,p)},determineDate:function(t,e,r,n,i){r&&\\\"object\\\"!=typeof r&&(i=n,n=r,r=null),\\\"string\\\"!=typeof n&&(i=n,n=\\\"\\\");var a=this;return e=e?e.newDate():null,t=null==t?e:\\\"string\\\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.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:a.today().add(t,\\\"d\\\"):a.newDate(t)}});var Sl=qs,El=t.EPOCHJD,Cl=t.ONEDAY,Ll={valType:\\\"enumerated\\\",values:Object.keys(Sl.calendars),editType:\\\"calc\\\",dflt:\\\"gregorian\\\"},zl=function(t,e,r,n){var i={};return i[r]=Ll,ne.coerce(t,e,i,r,n)},Pl=\\\"##\\\",Il={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:Pl,w:Pl,c:{0:\\\"D M d %X yyyy\\\",\\\"-\\\":\\\"D M d %X yyyy\\\"},x:{0:\\\"mm/dd/yyyy\\\",\\\"-\\\":\\\"mm/dd/yyyy\\\"}};var Dl={};function Ol(t){var e=Dl[t];return e||(e=Dl[t]=Sl.instance(t))}function Rl(t){return ne.extendFlat({},Ll,{description:t})}function Fl(t){return\\\"Sets the calendar system to use with `\\\"+t+\\\"` date data.\\\"}var Bl={xcalendar:Rl(Fl(\\\"x\\\"))},Nl=ne.extendFlat({},Bl,{ycalendar:Rl(Fl(\\\"y\\\"))}),jl=ne.extendFlat({},Nl,{zcalendar:Rl(Fl(\\\"z\\\"))}),Vl=Rl([\\\"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(\\\" \\\")),Ul={moduleType:\\\"component\\\",name:\\\"calendars\\\",schema:{traces:{scatter:Nl,bar:Nl,box:Nl,heatmap:Nl,contour:Nl,histogram:Nl,histogram2d:Nl,histogram2dcontour:Nl,scatter3d:jl,surface:jl,mesh3d:jl,scattergl:Nl,ohlc:Bl,candlestick:Bl},layout:{calendar:Rl([\\\"Sets the default calendar system to use for interpreting and\\\",\\\"displaying dates throughout the plot.\\\"].join(\\\" \\\"))},subplots:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},scene:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},zaxis:{calendar:Vl}},polar:{radialaxis:{calendar:Vl}}},transforms:{filter:{valuecalendar:Rl([\\\"Sets the calendar system to use for `value`, if it is a date.\\\"].join(\\\" \\\")),targetcalendar:Rl([\\\"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:Ll,handleDefaults:zl,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)zl(t,e,r[i]+\\\"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:Ol,worldCalFmt:function(t,e,r){for(var n,i,a,o,s,l=Math.floor((e+.05)/Cl)+El,u=Ol(r).fromJD(l),c=0;-1!==(c=t.indexOf(\\\"%\\\",c));)\\\"0\\\"===(n=t.charAt(c+1))||\\\"-\\\"===n||\\\"_\\\"===n?(a=3,i=t.charAt(c+2),\\\"_\\\"===n&&(n=\\\"-\\\")):(i=n,n=\\\"0\\\",a=2),(o=Il[i])?(s=o===Pl?Pl:u.formatDate(o[n]),t=t.substr(0,c)+s+t.substr(c+a),c+=s.length):c+=a;return t}},ql=ne.extendFlat,Hl=Ae.dash,Gl=Zr.line;function Wl(t){return{name:{valType:\\\"string\\\",editType:\\\"style\\\"},showlegend:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"style\\\"},line:{color:ql({},Gl.color,{dflt:t}),width:Gl.width,dash:Hl,editType:\\\"style\\\"},editType:\\\"style\\\"}}var Yl={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},open:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},high:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},low:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},close:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},line:{width:ql({},Gl.width,{}),dash:ql({},Hl,{}),editType:\\\"style\\\"},increasing:Wl(\\\"#3D9970\\\"),decreasing:Wl(\\\"#FF4136\\\"),text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},tickwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.3,editType:\\\"calcIfAutorange\\\"}},Xl=ne.extendFlat;function Zl(t){return{name:Yl.increasing.name,showlegend:Yl.increasing.showlegend,line:{color:Xl({},cs.line.color,{dflt:t}),width:cs.line.width,editType:\\\"style\\\"},fillcolor:cs.fillcolor,editType:\\\"style\\\"}}var Jl={x:Yl.x,open:Yl.open,high:Yl.high,low:Yl.low,close:Yl.close,line:{width:Xl({},cs.line.width,{}),editType:\\\"style\\\"},increasing:Zl(Yl.increasing.line.color.dflt),decreasing:Zl(Yl.decreasing.line.color.dflt),text:Yl.text,whiskerwidth:Xl({},cs.whiskerwidth,{dflt:0})},Kl=function(t,e,r,n){r(n+\\\".showlegend\\\"),!1===t.showlegend&&(e[n].showlegend=!1),r(n+\\\".name\\\",e.name+\\\" - \\\"+n)},Ql={};Ql.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},Ql.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r<e.length;r++)e[r]._ephemeral&&e.splice(r,1);0===e.length&&delete t.transforms}},Ql.copyOHLC=function(t,e){t.open&&(e.open=t.open),t.high&&(e.high=t.high),t.low&&(e.low=t.low),t.close&&(e.close=t.close)},Ql.makeTransform=function(t,e,r){var n=ne.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},Ql.getFilterFn=function(t){return new function(t){var e=!0,n=null;function i(t,r){return t===r?r>n?e=!0:r<n&&(e=!1):e=t<r,n=r,e}return\\\"increasing\\\"===t?function(t,e){return r(t)&&r(e)&&i(+t,+e)}:function(t,e){return r(t)&&r(e)&&!i(+t,+e)}}(t)},Ql.addRangeSlider=function(t,e){for(var r=!1,n=0;n<t.length;n++)if(!0===t[n].visible){r=!0;break}r&&(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))};var $l=function(t,e,r,n){var i,a=r(\\\"x\\\"),o=r(\\\"open\\\"),s=r(\\\"high\\\"),l=r(\\\"low\\\"),u=r(\\\"close\\\");return P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\"],n),i=Math.min(o.length,s.length,l.length,u.length),a&&(i=Math.min(i,a.length))<a.length&&(e.x=a.slice(0,i)),i<o.length&&(e.open=o.slice(0,i)),i<s.length&&(e.high=s.slice(0,i)),i<l.length&&(e.low=l.slice(0,i)),i<u.length&&(e.close=u.slice(0,i)),i};function tu(t,e,r,n){Kl(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".fillcolor\\\")}var eu={};function ru(t,e,r){var n={type:\\\"box\\\",boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}eu.moduleType=\\\"transform\\\",eu.name=\\\"candlestick\\\",eu.attributes={},eu.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},eu.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\\\"candlestick\\\"===i.type?r.push(ru(i,e,\\\"increasing\\\"),ru(i,e,\\\"decreasing\\\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},eu.calcTransform=function(t,e,n){for(var i,a,o,s,l=n.direction,u=Ql.getFilterFn(l),c=e.open,h=e.high,f=e.low,p=e.close,d=c.length,g=[],v=[],m=e._fullInput.x?function(t){var r=e.x[t];g.push(r,r,r,r,r,r)}:function(t){g.push(t,t,t,t,t,t)},y=0;y<d;y++)u(c[y],p[y])&&r(h[y])&&r(f[y])&&(m(y),i=c[y],a=h[y],o=f[y],s=p[y],v.push(o,i,s,s,s,a));e.x=g,e.y=v};var nu={moduleType:\\\"trace\\\",name:\\\"candlestick\\\",basePlotModule:ua,categories:[\\\"cartesian\\\",\\\"showLegend\\\",\\\"candlestick\\\"],meta:{},attributes:Jl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Jl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\\\"line.width\\\"),tu(t,e,i,\\\"increasing\\\"),tu(t,e,i,\\\"decreasing\\\"),i(\\\"text\\\"),i(\\\"whiskerwidth\\\")):e.visible=!1}};P.register(Fs),P.register(eu);var iu=nu,au=ye.overrideAll,ou={color:{valType:\\\"color\\\",editType:\\\"calc\\\"},smoothing:{valType:\\\"number\\\",dflt:1,min:0,max:1.3,editType:\\\"calc\\\"},title:{valType:\\\"string\\\",editType:\\\"calc\\\"},titlefont:T({editType:\\\"calc\\\"}),titleoffset:{valType:\\\"number\\\",dflt:10,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:T({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:au(Ce.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:C.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:C.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\\\"},editType:\\\"calc\\\"},su=T({editType:\\\"calc\\\"});su.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',su.size.dflt=12,su.color.dflt=C.defaultLine;var lu={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:ou,baxis:ou,font:su,color:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"plot\\\"}},uu=ne.isArrayOrTypedArray,cu=function(t){return function t(e,r){if(!uu(e)||r>=10)return null;var n=1/0;var i=-1/0;var a=e.length;for(var o=0;o<a;o++){var s=e[o];if(uu(s)){var l=t(s,r+1);l&&(n=Math.min(l[0],n),i=Math.max(l[1],i))}else n=Math.min(s,n),i=Math.max(s,i)}return[n,i]}(t,0)};var hu=m.extendFlat,fu=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=t[r],x=t[r+\\\"axis\\\"],b=x._gridlines=[],_=x._minorgridlines=[],w=x._boundarylines=[],M=t[n],A=t[n+\\\"axis\\\"];\\\"array\\\"===x.tickmode&&(x.tickvals=y.slice());var k=t.xctrl,T=t.yctrl,S=k[0].length,E=k.length,C=t.a.length,L=t.b.length;ri.prepTicks(x),\\\"array\\\"===x.tickmode&&delete x.tickvals;var z=x.smoothing?3:1;function P(e){var i,a,o,s,l,u,c,f,p,d,g,v,m=[],y=[],b={};if(\\\"b\\\"===r)for(a=t.b2j(e),o=Math.floor(Math.max(0,Math.min(L-2,a))),s=a-o,b.length=L,b.crossLength=C,b.xy=function(e){return t.evalxy([],e,a)},b.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<C;i++)u=Math.min(C-2,i),c=i-u,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),m.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),m.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(e),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,b.length=C,b.crossLength=L,b.xy=function(e){return t.evalxy([],i,e)},b.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a<L;a++)o=Math.min(L-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],u,a-1,c,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],u,a-1,c,1),m.push(f[0]-v[0]/3),y.push(f[1]-v[1]/3)),m.push(f[0]),y.push(f[1]),l=f;return b.axisLetter=r,b.axis=x,b.crossAxis=A,b.value=e,b.constvar=n,b.index=h,b.x=m,b.y=y,b.smoothing=A.smoothing,b}function I(e){var i,a,o,s,l,u=[],c=[],h={};if(h.length=y.length,h.crossLength=M.length,\\\"b\\\"===r)for(o=Math.max(0,Math.min(L-2,e)),l=Math.min(1,Math.max(0,e-o)),h.xy=function(r){return t.evalxy([],r,e)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<S;i++)u[i]=k[e*z][i],c[i]=T[e*z][i];else for(a=Math.max(0,Math.min(C-2,e)),s=Math.min(1,Math.max(0,e-a)),h.xy=function(r){return t.evalxy([],e,r)},h.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<E;i++)u[i]=k[i][e*z],c[i]=T[i][e*z];return h.axisLetter=r,h.axis=x,h.crossAxis=A,h.value=y[e],h.constvar=n,h.index=e,h.x=u,h.y=c,h.smoothing=A.smoothing,h}if(\\\"array\\\"===x.tickmode){for(s=5e-15,u=(l=[Math.floor((y.length-1-x.arraytick0)/x.arraydtick*(1+s)),Math.ceil(-x.arraytick0/x.arraydtick/(1+s))].sort(function(t,e){return t-e}))[0]-1,c=l[1]+1,h=u;h<c;h++)(a=x.arraytick0+x.arraydtick*h)<0||a>y.length-1||b.push(hu(I(a),{color:x.gridcolor,width:x.gridwidth}));for(h=u;h<c;h++)if(o=x.arraytick0+x.arraydtick*h,d=Math.min(o+x.arraydtick,y.length-1),!(o<0||o>y.length-1||d<0||d>y.length-1))for(g=y[o],v=y[d],i=0;i<x.minorgridcount;i++)(m=d-o)<=0||(p=g+(v-g)*(i+1)/(x.minorgridcount+1)*(x.arraydtick/m))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(I(0),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(I(y.length-1),{color:x.endlinecolor,width:x.endlinewidth}))}else{for(s=5e-15,u=(l=[Math.floor((y[y.length-1]-x.tick0)/x.dtick*(1+s)),Math.ceil((y[0]-x.tick0)/x.dtick/(1+s))].sort(function(t,e){return t-e}))[0],c=l[1],h=u;h<=c;h++)f=x.tick0+x.dtick*h,b.push(hu(P(f),{color:x.gridcolor,width:x.gridwidth}));for(h=u-1;h<c+1;h++)for(f=x.tick0+x.dtick*h,i=0;i<x.minorgridcount;i++)(p=f+x.dtick*(i+1)/(x.minorgridcount+1))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(P(y[0]),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(P(y[y.length-1]),{color:x.endlinecolor,width:x.endlinewidth}))}},pu=m.extendFlat,du=function(t,e){var r,n,i,a=e._labels=[],o=e._gridlines;for(r=0;r<o.length;r++)i=o[r],-1!==[\\\"start\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:i.xy(0),dxy:i.dxy(0,0),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n)),-1!==[\\\"end\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{endAnchor:!1,xy:i.xy(i.crossLength-1),dxy:i.dxy(i.crossLength-2,1),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n))},gu=ne.isArrayOrTypedArray,vu=ne.isArrayOrTypedArray,mu=function(t,e,r){var n,i;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)for(vu(t[n])?t[n].length>e.length&&(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i<e[0].length;i++)t[n][i]=r(e[n][i]);return t},yu=function(t,e,r){var n,i,a,o=[],s=[],l=t[0].length,u=t.length;function c(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<l-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,f,p,d,g,v,m,y,x,b,_,w=0;for(n=0;n<l;n++)for(i=0;i<u;i++)void 0===t[i][n]&&(o.push(n),s.push(i),t[i][n]=c(n,i)),w=Math.max(w,Math.abs(t[i][n]));if(!o.length)return t;var M=0,A=0,k=o.length;do{for(M=0,a=0;a<k;a++){n=o[a],i=s[a];var T,S,E,C,L,z,P=0,I=0;0===n?(E=e[L=Math.min(l-1,2)],C=e[1],T=t[i][L],I+=(S=t[i][1])+(S-T)*(e[0]-C)/(C-E),P++):n===l-1&&(E=e[L=Math.max(0,l-3)],C=e[l-2],T=t[i][L],I+=(S=t[i][l-2])+(S-T)*(e[l-1]-C)/(C-E),P++),(0===n||n===l-1)&&i>0&&i<u-1&&(h=r[i+1]-r[i],I+=((f=r[i]-r[i-1])*t[i+1][n]+h*t[i-1][n])/(f+h),P++),0===i?(E=r[z=Math.min(u-1,2)],C=r[1],T=t[z][n],I+=(S=t[1][n])+(S-T)*(r[0]-C)/(C-E),P++):i===u-1&&(E=r[z=Math.max(0,u-3)],C=r[u-2],T=t[z][n],I+=(S=t[u-2][n])+(S-T)*(r[u-1]-C)/(C-E),P++),(0===i||i===u-1)&&n>0&&n<l-1&&(h=e[n+1]-e[n],I+=((f=e[n]-e[n-1])*t[i][n+1]+h*t[i][n-1])/(f+h),P++),P?I/=P:(p=e[n+1]-e[n],d=e[n]-e[n-1],y=(g=r[i+1]-r[i])*(v=r[i]-r[i-1])*(g+v),I=((m=p*d*(p+d))*(v*t[i+1][n]+g*t[i-1][n])+y*(d*t[i][n+1]+p*t[i][n-1]))/(y*(d+p)+m*(v+g))),M+=(b=(x=I-t[i][n])/w)*b,_=P?0:.85,t[i][n]+=x*(1+_)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return ne.log(\\\"Smoother converged to\\\",M,\\\"after\\\",A,\\\"iterations\\\"),t},xu=function(t,e){var n,i,a,o,s,l;function u(t){if(r(t))return+t}if(e){for(n=0,s=0;s<t.length;s++)n=Math.max(n,t[s].length);if(0===n)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else n=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var c=new Array(n);for(s=0;s<n;s++)for(i=a(t,s),c[s]=new Array(i),l=0;l<i;l++)c[s][l]=u(o(t,s,l));return c},bu=Oe.addOpacity,_u=function(t,e,r){var n=r.letter,i=r.font||{},a=lu[n+\\\"axis\\\"];function o(r,n){return ne.coerce(t,e,a,r,n)}function s(r,n){return ne.coerce2(t,e,a,r,n)}r.name&&(e._name=r.name,e._id=r.name);var l=o(\\\"type\\\");(\\\"-\\\"===l&&(r.data&&function(t,e){if(\\\"-\\\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\\\"calendar\\\"];t.type=Yn(e,n)}(e,r.data),\\\"-\\\"===e.type?e.type=\\\"linear\\\":l=t.type=e.type),o(\\\"smoothing\\\"),o(\\\"cheatertype\\\"),o(\\\"showticklabels\\\"),o(\\\"labelprefix\\\",n+\\\" = \\\"),o(\\\"labelsuffix\\\"),o(\\\"showtickprefix\\\"),o(\\\"showticksuffix\\\"),o(\\\"separatethousands\\\"),o(\\\"tickformat\\\"),o(\\\"exponentformat\\\"),o(\\\"showexponent\\\"),o(\\\"categoryorder\\\"),o(\\\"tickmode\\\"),o(\\\"tickvals\\\"),o(\\\"ticktext\\\"),o(\\\"tick0\\\"),o(\\\"dtick\\\"),\\\"array\\\"===e.tickmode&&(o(\\\"arraytick0\\\"),o(\\\"arraydtick\\\")),o(\\\"labelpadding\\\"),e._hovertitle=n,\\\"date\\\"===l)&&P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",r.calendar);ei(e,r.fullLayout);var u=o(\\\"color\\\",r.dfltColor),c=u===t.color?u:i.color;o(\\\"title\\\"),ne.coerceFont(o,\\\"titlefont\\\",{family:i.family,size:Math.round(1.2*i.size),color:c}),o(\\\"titleoffset\\\"),o(\\\"tickangle\\\"),o(\\\"autorange\\\",!e.isValidRange(t.range))&&o(\\\"rangemode\\\"),o(\\\"range\\\"),e.cleanRange(),o(\\\"fixedrange\\\"),Ge(t,e,o,l),Ue(t,e,o,l,r),Wi(t,e,o);var h=s(\\\"gridcolor\\\",bu(u,.3)),f=s(\\\"gridwidth\\\"),p=o(\\\"showgrid\\\");p||(delete e.gridcolor,delete e.gridwidth);var d=s(\\\"startlinecolor\\\",u),g=s(\\\"startlinewidth\\\",f);o(\\\"startline\\\",e.showgrid||!!d||!!g)||(delete e.startlinecolor,delete e.startlinewidth);var v=s(\\\"endlinecolor\\\",u),m=s(\\\"endlinewidth\\\",f);return o(\\\"endline\\\",e.showgrid||!!v||!!m)||(delete e.endlinecolor,delete e.endlinewidth),p?(o(\\\"minorgridcount\\\"),o(\\\"minorgridwidth\\\",f),o(\\\"minorgridcolor\\\",bu(h,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=\\\"category\\\"===l?Ki(n,e.categoryorder,e.categoryarray,r.data):[],\\\"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,o(\\\"tickmode\\\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e};var wu=function(t,e,r,n,i){n(\\\"a\\\")||(n(\\\"da\\\"),n(\\\"a0\\\")),n(\\\"b\\\")||(n(\\\"db\\\"),n(\\\"b0\\\")),function(t,e,r,n){[\\\"aaxis\\\",\\\"baxis\\\"].forEach(function(i){var a=i.charAt(0),o=t[i]||{},s={},l={tickfont:\\\"x\\\",id:a+\\\"axis\\\",letter:a,font:e.font,name:i,data:t[a],calendar:e.calendar,dfltColor:n,bgColor:r.paper_bgcolor,fullLayout:r};_u(o,s,l),s._categories=s._categories||[],e[i]=s,t[i]||\\\"-\\\"===o.type||(t[i]={type:o.type})})}(t,e,r,i)};var Mu=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,h=(u*u*a-l*l*s)*n,f=u*(l+u)*3,p=l*(l+u)*3;return[[e[0]+(f&&c/f),e[1]+(f&&h/f)],[e[0]-(p&&c/p),e[1]-(p&&h/p)]]},Au=ne.ensureArray;function ku(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}var Tu=1e-6,Su=Wt.findBin,Eu=function(t){var e=t.a,r=t.b,n=t.a.length,i=t.b.length,a=t.aaxis,o=t.baxis,s=e[0],l=e[n-1],u=r[0],c=r[i-1],h=e[e.length-1]-e[0],f=r[r.length-1]-r[0],p=h*Tu,d=f*Tu;s-=p,l+=p,u-=d,c+=d,t.isVisible=function(t,e){return t>s&&t<l&&e>u&&e<c},t.isOccluded=function(t,e){return t<s||t>l||e<u||e>c},a.c2p=function(t){return t},o.c2p=function(t){return t},t.setScale=function(){var e,r,s,l=t._x,u=t._y,c=function(t,e,r,n,i,a){var o,s,l,u,c,h,f,p,d,g,v=r[0].length,m=r.length,y=i?3*v-2:v,x=a?3*m-2:m;for(t=Au(t,x),e=Au(e,x),l=0;l<x;l++)t[l]=Au(t[l],y),e[l]=Au(e[l],y);for(s=0,u=0;s<m;s++,u+=a?3:1)for(c=t[u],h=e[u],f=r[s],p=n[s],o=0,l=0;o<v;o++,l+=i?3:1)c[l]=f[o],h[l]=p[o];if(i)for(s=0,u=0;s<m;s++,u+=a?3:1){for(o=1,l=3;o<v-1;o++,l+=3)d=Mu([r[s][o-1],n[s][o-1]],[r[s][o],n[s][o]],[r[s][o+1],n[s][o+1]],i),t[u][l-1]=d[0][0],e[u][l-1]=d[0][1],t[u][l+1]=d[1][0],e[u][l+1]=d[1][1];g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=g[0],e[u][1]=g[1],g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=g[0],e[u][y-2]=g[1]}if(a)for(l=0;l<y;l++){for(u=3;u<x-3;u+=3)d=Mu([t[u-3][l],e[u-3][l]],[t[u][l],e[u][l]],[t[u+3][l],e[u+3][l]],a),t[u-1][l]=d[0][0],e[u-1][l]=d[0][1],t[u+1][l]=d[1][0],e[u+1][l]=d[1][1];g=ku([t[0][l],e[0][l]],[t[2][l],e[2][l]],[t[3][l],e[3][l]]),t[1][l]=g[0],e[1][l]=g[1],g=ku([t[x-1][l],e[x-1][l]],[t[x-3][l],e[x-3][l]],[t[x-4][l],e[x-4][l]]),t[x-2][l]=g[0],e[x-2][l]=g[1]}if(i&&a)for(u=1;u<x;u+=(u+1)%3==0?2:1){for(l=3;l<y-3;l+=3)d=Mu([t[u][l-3],e[u][l-3]],[t[u][l],e[u][l]],[t[u][l+3],e[u][l+3]],i),t[u][l-1]=.5*(t[u][l-1]+d[0][0]),e[u][l-1]=.5*(e[u][l-1]+d[0][1]),t[u][l+1]=.5*(t[u][l+1]+d[1][0]),e[u][l+1]=.5*(e[u][l+1]+d[1][1]);g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=.5*(t[u][1]+g[0]),e[u][1]=.5*(e[u][1]+g[1]),g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=.5*(t[u][y-2]+g[0]),e[u][y-2]=.5*(e[u][y-2]+g[1])}return[t,e]}(t.xctrl,t.yctrl,l,u,a.smoothing,o.smoothing);t.xctrl=c[0],t.yctrl=c[1],t.evalxy=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,u,c,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),a)),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 v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,M=1-g,A=M*M,k=A*M;for(h=0;h<t.length;h++)i=b*(c=t[h])[p][f]+3*(x*d*c[p][f+1]+y*v*c[p][f+2])+m*c[p][f+3],s=b*c[p+1][f]+3*(x*d*c[p+1][f+1]+y*v*c[p+1][f+2])+m*c[p+1][f+3],l=b*c[p+2][f]+3*(x*d*c[p+2][f+1]+y*v*c[p+2][f+2])+m*c[p+2][f+3],u=b*c[p+3][f]+3*(x*d*c[p+3][f+1]+y*v*c[p+3][f+2])+m*c[p+3][f+3],e[h]=k*i+3*(A*g*s+M*_*l)+w*u;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),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 v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=1-g;for(c=0;c<t.length;c++)i=_*(h=t[c])[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],u=_*h[p][f+3]+g*h[p+1][f+1],e[c]=b*i+3*(x*d*s+y*v*l)+m*u;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),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 v=g*g,m=v*g,y=1-g,x=y*y,b=x*y,_=1-d;for(c=0;c<t.length;c++)i=_*(h=t[c])[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],u=_*h[p+3][f]+d*h[p+3][f+1],e[c]=b*i+3*(x*g*s+y*v*l)+m*u;return e}:function(e,r,n){e||(e=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-c)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)i=g*(u=t[l])[h][c]+f*u[h][c+1],s=g*u[h+1][c]+f*u[h+1][c+1],e[l]=d*i+p*s;return e}}([t.xctrl,t.yctrl],n,i,a.smoothing,o.smoothing),t.dxydi=(e=[t.xctrl,t.yctrl],r=a.smoothing,s=o.smoothing,r&&s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),r*=3,n*=3;var f=i*i,p=1-i,d=p*p,g=p*i*2,v=-3*d,m=3*(d-g),y=3*(g-f),x=3*f,b=a*a,_=b*a,w=1-a,M=w*w,A=M*w;for(h=0;h<e.length;h++)o=v*(c=e[h])[n][r]+m*c[n][r+1]+y*c[n][r+2]+x*c[n][r+3],s=v*c[n+1][r]+m*c[n+1][r+1]+y*c[n+1][r+2]+x*c[n+1][r+3],l=v*c[n+2][r]+m*c[n+2][r+1]+y*c[n+2][r+2]+x*c[n+2][r+3],u=v*c[n+3][r]+m*c[n+3][r+1]+y*c[n+3][r+2]+x*c[n+3][r+3],t[h]=A*o+3*(M*a*s+w*b*l)+_*u;return t}:r?function(t,r,n,i,a){var o,s,l,u;t||(t=[]),r*=3;var c=i*i,h=1-i,f=h*h,p=h*i*2,d=-3*f,g=3*(f-p),v=3*(p-c),m=3*c,y=1-a;for(l=0;l<e.length;l++)o=d*(u=e[l])[n][r]+g*u[n][r+1]+v*u[n][r+2]+m*u[n][r+3],s=d*u[n+1][r]+g*u[n+1][r+1]+v*u[n+1][r+2]+m*u[n+1][r+3],t[l]=y*o+a*s;return t}:s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<e.length;c++)o=(h=e[c])[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],u=h[n+3][r+1]-h[n+3][r],t[c]=v*o+3*(g*a*s+d*f*l)+p*u;return t}:function(t,r,n,i,a){var o,s,l,u;t||(t=[]);var c=1-a;for(l=0;l<e.length;l++)o=(u=e[l])[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],t[l]=c*o+a*s;return t}),t.dxydj=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3,n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d,m=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-m),A=3*m;for(h=0;h<t.length;h++)o=_*(c=t[h])[n][r]+w*c[n+1][r]+M*c[n+2][r]+A*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+M*c[n+2][r+1]+A*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+M*c[n+2][r+2]+A*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+M*c[n+2][r+3]+A*c[n+3][r+3],e[h]=v*o+3*(g*i*s+d*f*l)+p*u;return e}:e?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<t.length;c++)o=(h=t[c])[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],u=h[n+1][r+3]-h[n][r+3],e[c]=v*o+3*(g*a*s+d*f*l)+p*u;return e}:r?function(e,r,n,i,a){var o,s,l,u;e||(e=[]),n*=3;var c=1-i,h=a*a,f=1-a,p=f*f,d=f*a*2,g=-3*p,v=3*(p-d),m=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(u=t[l])[n][r]+v*u[n+1][r]+m*u[n+2][r]+y*u[n+3][r],s=g*u[n][r+1]+v*u[n+1][r+1]+m*u[n+2][r+1]+y*u[n+3][r+1],e[l]=c*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,u;e||(e=[]);var c=1-i;for(l=0;l<t.length;l++)o=(u=t[l])[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],e[l]=c*o+i*s;return e}}([t.xctrl,t.yctrl],a.smoothing,o.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),n-2),i=t[0]-r;return(1-i)*e[r]+i*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),n-2),i=t[1]-e;return(1-i)*r[e]+i*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(Su(t,e),n-2)),i=e[r],a=e[r+1];return Math.max(0,Math.min(n-1,r+(t-i)/(a-i)))},t.b2j=function(t){var e=Math.max(0,Math.min(Su(t,r),i-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(i-1,e+(t-n)/(a-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(a,o,s){if(!s&&(a<e[0]||a>e[n-1]|o<r[0]||o>r[i-1]))return[!1,!1];var l=t.a2i(a),u=t.b2j(o),c=t.evalxy([],l,u);if(s){var h,f,p,d,g=0,v=0,m=[];a<e[0]?(h=0,f=0,g=(a-e[0])/(e[1]-e[0])):a>e[n-1]?(h=n-2,f=1,g=(a-e[n-1])/(e[n-1]-e[n-2])):f=l-(h=Math.max(0,Math.min(n-2,Math.floor(l)))),o<r[0]?(p=0,d=0,v=(o-r[0])/(r[1]-r[0])):o>r[i-1]?(p=i-2,d=1,v=(o-r[i-1])/(r[i-1]-r[i-2])):d=u-(p=Math.max(0,Math.min(i-2,Math.floor(u)))),g&&(t.dxydi(m,h,p,f,d),c[0]+=m[0]*g,c[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),c[0]+=m[0]*v,c[1]+=m[1]*v)}return c},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,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=h*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=f*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}},Cu=ne.isArrayOrTypedArray,Lu=function(t){return Cu(t[0])},zu=t.BADNUM,Pu=function(t,e,r,n,i,a){n=n||\\\"x\\\",i=i||\\\"y\\\",a=a||[\\\"z\\\"];var o,s,l,u=t[n].slice(),c=t[i].slice(),h=t.text,f=Math.min(u.length,c.length),p=void 0!==h&&!Array.isArray(h[0]),d=t[n+\\\"calendar\\\"],g=t[i+\\\"calendar\\\"];for(o=0;o<a.length;o++)(l=t[a[o]])&&(f=Math.min(f,l.length));for(f<u.length&&(u=u.slice(0,f)),f<c.length&&(c=c.slice(0,f)),o=0;o<f;o++)u[o]=e.d2c(u[o],0,d),c[o]=r.d2c(c[o],0,g);var v,m,y,x=ne.distinctVals(u),b=x.vals,_=ne.distinctVals(c),w=_.vals,M=[];for(o=0;o<a.length;o++)M[o]=ne.init2dArray(w.length,b.length);for(p&&(y=ne.init2dArray(w.length,b.length)),o=0;o<f;o++)if(u[o]!==zu&&c[o]!==zu){for(v=ne.findBin(u[o]+x.minDiff/2,b),m=ne.findBin(c[o]+_.minDiff/2,w),s=0;s<a.length;s++)l=t[a[s]],M[s][m][v]=l[o];p&&(y[m][v]=h[o])}for(t[\\\"_input_\\\"+n]=t[n],t[\\\"_input_\\\"+i]=t[i],t[n]=b,t[i]=w,s=0;s<a.length;s++)t[\\\"_input_\\\"+a[s]]=t[a[s]],t[a[s]]=M[s];p&&(t.text=y)},Iu=function(t,e,r){if(0===t.length)return\\\"\\\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\\\",\\\"+e[n]),r&&n<t.length-a&&(i.push(\\\"C\\\"),i.push([t[n+1]+\\\",\\\"+e[n+1],t[n+2]+\\\",\\\"+e[n+2]+\\\" \\\"].join(\\\" \\\")));return i.join(r?\\\"\\\":\\\"L\\\")},Du=ne.isArrayOrTypedArray,Ou=function(t,e,r){var n;for(Du(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)t[n]=r(e[n]);return t},Ru=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),h=Math.sqrt(a[0]*a[0]+a[1]*a[1]),f=(i[0]*a[0]+i[1]*a[1])/c/h;u=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:u}};function Fu(t,e,r){var n=t.selectAll(e+\\\".\\\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}function Bu(t,e,r){var n=r[0],i=r[0].trace,a=e.xaxis,o=e.yaxis,s=i.aaxis,l=i.baxis,u=t._fullLayout,c=e.plot.selectAll(\\\".carpetlayer\\\"),h=u._clips,f=Fu(c,\\\"g\\\",\\\"carpet\\\"+i.uid).classed(\\\"trace\\\",!0),p=Fu(f,\\\"g\\\",\\\"minorlayer\\\"),d=Fu(f,\\\"g\\\",\\\"majorlayer\\\"),g=Fu(f,\\\"g\\\",\\\"boundarylayer\\\"),v=Fu(f,\\\"g\\\",\\\"labellayer\\\");f.style(\\\"opacity\\\",i.opacity),Nu(a,o,d,s,\\\"a\\\",s._gridlines),Nu(a,o,d,l,\\\"b\\\",l._gridlines),Nu(a,o,p,s,\\\"a\\\",s._minorgridlines),Nu(a,o,p,l,\\\"b\\\",l._minorgridlines),Nu(a,o,g,s,\\\"a-boundary\\\",s._boundarylines),Nu(a,o,g,l,\\\"b-boundary\\\",l._boundarylines),function(t,e,r,n,i,a,o,s){var l,u,c,h;l=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],c=r.ab2xy(l,u,!0),h=r.dxyda_rough(l,u),void 0===o.angle&&ne.extendFlat(o,Ru(r,i,a,c,r.dxydb_rough(l,u)));qu(t,e,r,n,c,h,r.aaxis,i,a,o,\\\"a-title\\\"),l=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),c=r.ab2xy(l,u,!0),h=r.dxydb_rough(l,u),void 0===s.angle&&ne.extendFlat(s,Ru(r,i,a,c,r.dxyda_rough(l,u)));qu(t,e,r,n,c,h,r.baxis,i,a,s,\\\"b-title\\\")}(t,v,i,n,a,o,ju(t,a,o,i,n,v,s._labels,\\\"a-label\\\"),ju(t,a,o,i,n,v,l._labels,\\\"b-label\\\")),function(t,e,r,n,i){var a,o,s,l,u=r.select(\\\"#\\\"+t._clipPathId);u.size()||(u=r.append(\\\"clipPath\\\").classed(\\\"carpetclip\\\",!0));var c=Fu(u,\\\"path\\\",\\\"carpetboundary\\\"),h=e.clipsegments,f=[];for(l=0;l<h.length;l++)a=h[l],o=Ou([],a.x,n.c2p),s=Ou([],a.y,i.c2p),f.push(Iu(o,s,a.bicubic));var p=\\\"M\\\"+f.join(\\\"L\\\")+\\\"Z\\\";u.attr(\\\"id\\\",t._clipPathId),c.attr(\\\"d\\\",p)}(i,n,h,a,o)}function Nu(t,r,n,i,a,o){var s=\\\"const-\\\"+a+\\\"-lines\\\",l=n.selectAll(\\\".\\\"+s).data(o);l.enter().append(\\\"path\\\").classed(s,!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\"),l.each(function(n){var i=n,a=i.x,o=i.y,s=Ou([],a,t.c2p),l=Ou([],o,r.c2p),u=\\\"M\\\"+Iu(s,l,i.smoothing);e.select(this).attr(\\\"d\\\",u).style(\\\"stroke-width\\\",i.width).style(\\\"stroke\\\",i.color).style(\\\"fill\\\",\\\"none\\\")}),l.exit().remove()}function ju(t,r,n,i,a,o,s,l){var u=o.selectAll(\\\"text.\\\"+l).data(s);u.enter().append(\\\"text\\\").classed(l,!0);var c=0,h={};return u.each(function(a,o){var s;if(\\\"auto\\\"===a.axis.tickangle)s=Ru(i,r,n,a.xy,a.dxy);else{var l=(a.axis.tickangle+180)*Math.PI/180;s=Ru(i,r,n,a.xy,[Math.cos(l),Math.sin(l)])}o||(h={angle:s.angle,flip:s.flip});var u=(a.endAnchor?-1:1)*s.flip,f=e.select(this).attr({\\\"text-anchor\\\":u>0?\\\"start\\\":\\\"end\\\",\\\"data-notex\\\":1}).call(Sr.font,a.font).text(a.text).call(er.convertToTspans,t),p=Sr.bBox(this);f.attr(\\\"transform\\\",\\\"translate(\\\"+s.p[0]+\\\",\\\"+s.p[1]+\\\") rotate(\\\"+s.angle+\\\")translate(\\\"+a.axis.labelpadding*u+\\\",\\\"+.3*p.height+\\\")\\\"),c=Math.max(c,p.width+a.axis.labelpadding)}),u.exit().remove(),h.maxExtent=c,h}var Vu=Qe.LINE_SPACING,Uu=(1-Qe.MID_SHIFT)/Vu+1;function qu(t,r,n,i,a,o,s,l,u,c,h){var f=[];s.title&&f.push(s.title);var p=r.selectAll(\\\"text.\\\"+h).data(f),d=c.maxExtent;p.enter().append(\\\"text\\\").classed(h,!0),p.each(function(){var r=Ru(n,l,u,a,o);-1===[\\\"start\\\",\\\"both\\\"].indexOf(s.showticklabels)&&(d=0);var i=s.titlefont.size;d+=i+s.titleoffset;var h=(c.angle+(c.flip<0?180:0)-r.angle+450)%360,f=h>90&&h<270,p=e.select(this);p.text(s.title||\\\"\\\").call(er.convertToTspans,t),f&&(d=(-er.lineCount(p)+Uu)*Vu*i-d),p.attr(\\\"transform\\\",\\\"translate(\\\"+r.p[0]+\\\",\\\"+r.p[1]+\\\") rotate(\\\"+r.angle+\\\") translate(0,\\\"+d+\\\")\\\").classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").call(Sr.font,s.titlefont)}),p.exit().remove()}var Hu={};Hu.attributes=lu,Hu.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lu,r,n)}e._clipPathId=\\\"clip\\\"+e.uid+\\\"carpet\\\";var a=i(\\\"color\\\",C.defaultLine);if(ne.coerceFont(i,\\\"font\\\"),i(\\\"carpet\\\"),wu(t,e,n,i,a),e.a&&e.b){e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0);var o=function(t,e,r){var n=[],i=r(\\\"x\\\");i&&!Lu(i)&&n.push(\\\"x\\\"),e._cheater=!i;var a=r(\\\"y\\\");if(a&&!Lu(a)&&n.push(\\\"y\\\"),i||a)return n.length&&Pu(e,e.aaxis,e.baxis,\\\"a\\\",\\\"b\\\",n),!0}(0,e,i);Eu(e),e._cheater&&i(\\\"cheaterslope\\\"),o||(e.visible=!1)}else e.visible=!1},Hu.plot=function(t,e,r){for(var n=0;n<r.length;n++)Bu(t,e,r[n])},Hu.calc=function(t,e){var r,n=ri.getFromId(t,e.xaxis||\\\"x\\\"),i=ri.getFromId(t,e.yaxis||\\\"y\\\"),a=e.aaxis,o=e.baxis,s=e._a=e.a,l=e._b=e.b,u={},c=e.y;r=e._cheater?function(t,e,r){var n,i,a,o,s,l,u=[],c=gu(t)?t.length:t,h=gu(e)?e.length:e,f=gu(t)?t:null,p=gu(e)?e:null;f&&(a=(f.length-1)/(f[f.length-1]-f[0])/(c-1)),p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1));var d=1/0,g=-1/0;for(i=0;i<h;i++)for(u[i]=[],s=p?(p[i]-p[0])*o:i/(h-1),n=0;n<c;n++)l=(f?(f[n]-f[0])*a:n/(c-1))-s*r,d=Math.min(l,d),g=Math.max(l,g),u[i][n]=l;var v=1/(g-d),m=-d*v;for(i=0;i<h;i++)for(n=0;n<c;n++)u[i][n]=v*u[i][n]+m;return u}(\\\"index\\\"===a.cheatertype?s.length:s,\\\"index\\\"===o.cheatertype?l.length:l,e.cheaterslope):e.x;e._x=r=xu(r),e._y=c=xu(c),yu(r,s,l),yu(c,s,l),e.setScale(),u.xp=e.xp=mu(e.xp,r,n.c2p),u.yp=e.yp=mu(e.yp,c,i.c2p);var h=cu(r),f=cu(c),p=.5*(h[1]-h[0]),d=.5*(h[1]+h[0]),g=.5*(f[1]-f[0]),v=.5*(f[1]+f[0]);return h=[d-1.3*p,d+1.3*p],f=[v-1.3*g,v+1.3*g],ri.expand(n,h,{padded:!0}),ri.expand(i,f,{padded:!0}),fu(e,0,\\\"a\\\",\\\"b\\\"),fu(e,0,\\\"b\\\",\\\"a\\\"),du(0,a),du(0,o),u.clipsegments=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=t[0].length-1,h=t.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=h;i++)a[i]=t[i][c],o[i]=e[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=t[h][i],o[c-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}(e.xctrl,e.yctrl,a,o),u.x=r,u.y=c,u.a=s,u.b=l,[u]},Hu.animatable=!0,Hu.moduleType=\\\"trace\\\",Hu.name=\\\"carpet\\\",Hu.basePlotModule=ua,Hu.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"carpetAxis\\\",\\\"notLegendIsolatable\\\"],Hu.meta={};var Gu=Hu,Wu={exports:{}};!function(t,e){\\\"object\\\"==typeof Wu.exports?e(Wu.exports):e(t.topojson=t.topojson||{})}(this,function(t){\\\"use strict\\\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}function i(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(i);break;case\\\"Point\\\":n(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),u=1/0,c=u,h=-u,f=-u;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[u,c,h,f]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\\\"Feature\\\",properties:i,geometry:a}:null==n?{type:\\\"Feature\\\",id:r,properties:i,geometry:a}:{type:\\\"Feature\\\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function u(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function c(t){return t.map(u)}return function t(e){var r,n=e.type;switch(n){case\\\"GeometryCollection\\\":return{type:n,geometries:e.geometries.map(t)};case\\\"Point\\\":r=s(e.coordinates);break;case\\\"MultiPoint\\\":r=e.coordinates.map(s);break;case\\\"LineString\\\":r=l(e.arcs);break;case\\\"MultiLineString\\\":r=e.arcs.map(l);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)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=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,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var u=a===r?r:r.concat(a);n[u.start=r.start]=i[u.end=a.end]=u}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var c=a===r?r:a.concat(r);n[c.start=a.start]=i[c.end=r.end]=c}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[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\\\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\\\"MultiLineString\\\",arcs:s(t,n)}}function u(t,e){var r={},n=[],i=[];function a(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,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(o(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\\\":a(e.arcs);break;case\\\"MultiPolygon\\\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.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:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,u=1,c=l(i[0]);u<n;++u)(a=l(i[u]))>c&&(o=i[0],i[0]=i[u],i[u]=o,c=a);return i})}}var c=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r};t.bbox=n,t.feature=function(t,e){return\\\"GeometryCollection\\\"===e.type?{type:\\\"FeatureCollection\\\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,u.apply(this,arguments))},t.mergeArcs=u,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 i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(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 a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,u=0;u<l;++u)for(var h=u+1;h<l;++h){var f,p=s[u],d=s[h];(f=r[p])[o=c(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=c(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\\\"n must be \\\\u22652\\\");if(t.transform)throw new Error(\\\"already quantized\\\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function u(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function c(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(c);break;case\\\"Point\\\":u(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(u)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,u=1,c=t.length,h=t[0],f=h[0]=Math.round((h[0]-a)/o),p=h[1]=Math.round((h[1]-s)/l);i<c;++i)h=t[i],r=Math.round((h[0]-a)/o),n=Math.round((h[1]-s)/l),r===f&&n===p||((e=t[u++])[0]=r-f,f=r,e[1]=n-p,p=n);u<2&&((e=t[u++])[0]=0,e[1]=0),t.length=u}),t.objects)c(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),u=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=u-i,i=u,t}},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),Wu=Wu.exports;var Yu={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\\\"},axesNames:[\\\"lonaxis\\\",\\\"lataxis\\\"],lonaxisSpan:{orthographic:180,\\\"azimuthal equal area\\\":360,\\\"azimuthal equidistant\\\":360,\\\"conic conformal\\\":180,gnomonic:160,stereographic:180,\\\"transverse mercator\\\":180,\\\"*\\\":360},lataxisSpan:{\\\"conic conformal\\\":150,stereographic:179.5,\\\"*\\\":180},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]}},clipPad:.001,precision:.1,landColor:\\\"#F0DC82\\\",waterColor:\\\"#3399FF\\\",locationmodeToLayer:{\\\"ISO-3\\\":\\\"countries\\\",\\\"USA-states\\\":\\\"subunits\\\",\\\"country names\\\":\\\"countries\\\"},sphereSVG:{type:\\\"Sphere\\\"},fillLayers:{ocean:1,land:1,lakes:1},lineLayers:{subunits:1,countries:1,coastlines:1,rivers:1,frame:1},layers:[\\\"bg\\\",\\\"ocean\\\",\\\"land\\\",\\\"lakes\\\",\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"rivers\\\",\\\"lataxis\\\",\\\"lonaxis\\\",\\\"frame\\\",\\\"backplot\\\",\\\"frontplot\\\"],layersForChoropleth:[\\\"bg\\\",\\\"ocean\\\",\\\"land\\\",\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"lataxis\\\",\\\"lonaxis\\\",\\\"frame\\\",\\\"backplot\\\",\\\"rivers\\\",\\\"lakes\\\",\\\"frontplot\\\"],layerNameToAdjective:{ocean:\\\"ocean\\\",land:\\\"land\\\",lakes:\\\"lake\\\",subunits:\\\"subunit\\\",countries:\\\"country\\\",coastlines:\\\"coastline\\\",rivers:\\\"river\\\",frame:\\\"frame\\\"}},Xu={},Zu=Xu={},Ju=Yu.locationmodeToLayer,Ku=Wu.feature;Zu.getTopojsonName=function(t){return[t.scope.replace(/ /g,\\\"-\\\"),\\\"_\\\",t.resolution.toString(),\\\"m\\\"].join(\\\"\\\")},Zu.getTopojsonPath=function(t,e){return t+e+\\\".json\\\"},Zu.getTopojsonFeatures=function(t,e){var r=Ju[t.locationmode],n=e.objects[r];return Ku(e,n).features};var Qu=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\\\")}}};var $u={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]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\\\"Polygon\\\"===e.type)return t.polygon(r(e.coordinates));if(\\\"MultiPolygon\\\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));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 i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(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 a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var c=[];function h(t){var e=[u(t.region,!1)];c.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 u(t.region,!0)}for(s=0;s<a.children.length;s++)h(a.children[s]);return c.length<=0?{type:\\\"Polygon\\\",coordinates:[]}:1==c.length?{type:\\\"Polygon\\\",coordinates:c[0]}:{type:\\\"MultiPolygon\\\",coordinates:c}}},tc={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,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.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}};var ec=function(t,e,r){function n(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=tc.create();function a(t,r){i.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function o(t,e){var r=function(t,e){var r=tc.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return a(r,t.end),r}(t,e);return function(t,e,r){var n=tc.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=n,a(n,t.pt)}(r,t,e),r}function s(t,e){var i=n(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,a(t.other,t.pt)}(t,e),o(i,t.primary)}function l(n,a){var o=tc.create();function l(t){return o.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,l=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var h=e.linesIntersect(o,l,u,c);if(!1===h){if(!e.pointsCollinear(o,l,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(l,u))return!1;var f=e.pointsSame(o,u),p=e.pointsSame(l,c);if(f&&p)return n;var d=!f&&e.pointBetween(o,u,c),g=!p&&e.pointBetween(l,u,c);if(f)return g?s(n,l):s(t,c),n;d&&(p||(g?s(n,l):s(t,c)),s(n,o))}else 0===h.alongA&&(-1===h.alongB?s(t,u):0===h.alongB?s(t,h.pt):1===h.alongB&&s(t,c)),0===h.alongB&&(-1===h.alongA?s(n,o):0===h.alongA?s(n,h.pt):1===h.alongA&&s(n,l));return!1}for(var c=[];!i.isEmpty();){var h=i.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var f=l(h),p=f.before?f.before.ev:null,d=f.after?f.after.ev:null;function g(){if(p){var t=u(h,p);if(t)return t}return!!d&&u(h,d)}r&&r.tempStatus(h.seg,!!p&&p.seg,!!d&&d.seg);var v,m,y=g();if(y)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove();if(i.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=d?d.seg.myFill.above:n,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=d?h.primary===d.primary?d.seg.otherFill.above:d.seg.myFill.above:h.primary?a:n,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!p&&p.seg,!!d&&d.seg),h.other.status=f.insert(tc.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(\\\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\\\");if(o.exists(x.prev)&&o.exists(x.next)&&u(x.prev.ev,x.next.ev),r&&r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}c.push(h.seg)}i.getHead().remove()}return r&&r.done(),c}return t?{addRegion:function(t){for(var n,i,a,s=t[t.length-1],l=0;l<t.length;l++){n=s,s=t[l];var u=e.pointsCompare(n,s);0!==u&&o((i=u<0?n:s,a=u<0?s:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return l(t,!1)}}:{calculate:function(t,e,r,i){return t.forEach(function(t){o(n(t.start,t.end,t),!0)}),r.forEach(function(t){o(n(t.start,t.end,t),!1)}),l(e,i)}}};var rc=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,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},u=s,c=0;c<n.length;c++){var h=(v=n[c])[0],f=(v[1],v[v.length-1]);if(v[v.length-2],e.pointsSame(h,a)){if(A(c,!0,!0))break}else if(e.pointsSame(h,o)){if(A(c,!0,!1))break}else if(e.pointsSame(f,a)){if(A(c,!1,!0))break}else if(e.pointsSame(f,o)&&A(c,!1,!1))break}if(u===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(u===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,v=n[p],m=g?v[0]:v[v.length-1],y=g?v[1]:v[v.length-2],x=g?v[v.length-1]:v[0],b=g?v[v.length-2]:v[1];return e.pointsCollinear(y,m,d)&&(g?(r&&r.chainRemoveHead(s.index,d),v.shift()):(r&&r.chainRemoveTail(s.index,d),v.pop()),m=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,m)&&(g?(r&&r.chainRemoveTail(s.index,m),v.pop()):(r&&r.chainRemoveHead(s.index,m),v.shift())),r&&r.chainClose(s.index),void i.push(v)):void(g?(r&&r.chainAddHead(s.index,d),v.unshift(d)):(r&&r.chainAddTail(s.index,d),v.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var M=n[_].length<n[w].length;s.matches_head?l.matches_head?M?(k(_),T(_,w)):(k(w),T(w,_)):T(w,_):l.matches_head?T(_,w):M?(k(_),T(w,_)):(k(w),T(_,w))}function A(t,e,r){return u.index=t,u.matches_head=e,u.matches_pt1=r,u===s?(u=l,!1):(u=null,!0)}function k(t){r&&r.chainReverse(t),n[t].reverse()}function T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],u=o[0],c=o[1];e.pointsCollinear(l,s,u)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,u,c)&&(r&&r.chainRemoveHead(i,u),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i};function nc(t,e,r){var n=[];return t.forEach(function(t){var i=(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[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var ic,ac={union:function(t,e){return nc(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return nc(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return nc(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return nc(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return nc(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}},oc=!1,sc=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 i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+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 i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],u=a*l-o*s;if(Math.abs(u)<t)return!1;var c=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*c)/u,p=(a*h-o*c)/u,d={alongA:0,alongB:0,pt:[e[0]+f*a,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],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var u=r[l][0],c=r[l][1];c-i>t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}();function lc(t,e,r){var n=ic.segments(t),i=ic.segments(e),a=r(ic.combine(n,i));return ic.polygon(a)}ic={buildLog:function(t){return!0===t?oc=Qu():!1===t&&(oc=!1),!1!==oc&&oc.list},epsilon:function(t){return sc.epsilon(t)},segments:function(t){var e=ec(!0,sc,oc);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:ec(!1,sc,oc).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:ac.union(t.combined,oc),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:ac.intersect(t.combined,oc),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:ac.difference(t.combined,oc),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:ac.differenceRev(t.combined,oc),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:ac.xor(t.combined,oc),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:rc(t.segments,sc,oc),inverted:t.inverted}},polygonFromGeoJSON:function(t){return $u.toPolygon(ic,t)},polygonToGeoJSON:function(t){return $u.fromPolygon(ic,sc,t)},union:function(t,e){return lc(t,e,ic.selectUnion)},intersect:function(t,e){return lc(t,e,ic.selectIntersect)},difference:function(t,e){return lc(t,e,ic.selectDifference)},differenceRev:function(t,e){return lc(t,e,ic.selectDifferenceRev)},xor:function(t,e){return lc(t,e,ic.selectXor)}},\\\"object\\\"==typeof window&&(window.PolyBool=ic);var uc=ic,cc={},hc=Vt.dot,fc=t.BADNUM,pc=cc={};pc.tester=function(t){if(Array.isArray(t[0][0]))return pc.multitester(t);var e,r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a;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]),a=Math.min(a,r[e][1]),o=Math.max(o,r[e][1]);var s,l=!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]&&(l=!0,s=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]&&(l=!0,s=function(t){return t[1]===r[0][1]}));var u=!0,c=r[0];for(e=1;e<r.length;e++)if(c[0]!==r[e][0]||c[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?function(t,e){var r=t[0],l=t[1];return!(r===fc||r<n||r>i||l===fc||l<a||l>o||e&&s(t))}:function(t,e){var s=t[0],l=t[1];if(s===fc||s<n||s>i||l===fc||l<a||l>o)return!1;var u,c,h,f,p,d=r.length,g=r[0][0],v=r[0][1],m=0;for(u=1;u<d;u++)if(c=g,h=v,g=r[u][0],v=r[u][1],!(s<(f=Math.min(c,g))||s>Math.max(c,g)||l>Math.max(h,v)))if(l<Math.min(h,v))s!==f&&m++;else{if(l===(p=g===c?l:h+(s-c)*(v-h)/(g-c)))return 1!==u||!e;l<=p&&s!==f&&m++}return m%2==1},isRect:l,degenerate:u}},pc.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],a=i,o=0;o<t.length;o++){var s=pc.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r){for(var n=!1,i=0;i<e.length;i++)e[i].contains(t,r)&&(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var dc=pc.isSegmentBent=function(t,e,r,n){var i,a,o,s=t[e],l=[t[r][0]-s[0],t[r][1]-s[1]],u=hc(l,l),c=Math.sqrt(u),h=[-l[1]/c,l[0]/c];for(i=e+1;i<r;i++)if(a=[t[i][0]-s[0],t[i][1]-s[1]],(o=hc(a,l))<0||o>u||Math.abs(hc(a,h))>n)return!0;return!1};pc.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var o=r.length,s=n;r.splice(i+1);for(var l=s+1;l<t.length;l++)(l===t.length-1||dc(t,s,l+1,e))&&(r.push(t[l]),r.length<o-2&&(n=l,i=r.length-1),s=l)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}};var gc=Ya.makeEventData,vc=cc.filter,mc=cc.tester,yc=cc.multitester,xc=Te.MINSELECT;function bc(t){return t._id}var _c=function(t,e,r,n,i){var a,o,s,l,u=n.gd,c=u._fullLayout,h=c._zoomlayer,f=n.element.getBoundingClientRect(),p=n.plotinfo,d=p.xaxis._offset,g=p.yaxis._offset,v=e-f.left,m=r-f.top,y=v,x=m,b=\\\"M\\\"+v+\\\",\\\"+m,_=n.xaxes[0]._length,w=n.yaxes[0]._length,M=n.xaxes.map(bc),A=n.yaxes.map(bc),k=n.xaxes.concat(n.yaxes),T=t.altKey;(t.shiftKey||t.altKey)&&p.selection&&p.selection.polygons&&!n.polygons?(n.polygons=p.selection.polygons,n.mergedPolygons=p.selection.mergedPolygons):(!t.shiftKey&&!t.altKey||(t.shiftKey||t.altKey)&&!p.selection)&&(p.selection={},p.selection.polygons=n.polygons=[],p.selection.mergedPolygons=n.mergedPolygons=[]),\\\"lasso\\\"===i&&(a=vc([[v,m]],Te.BENDPX));var S=h.selectAll(\\\"path.select-outline-\\\"+p.id).data([1,2]);S.enter().append(\\\"path\\\").attr(\\\"class\\\",function(t){return\\\"select-outline select-outline-\\\"+t+\\\" select-outline-\\\"+p.id}).attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\", \\\"+g+\\\")\\\").attr(\\\"d\\\",b+\\\"Z\\\");var E,C,L,z,P,I,D=h.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":1}).attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\", \\\"+g+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),O=[],R=c._uid+Te.SELECTID,F=[];for(E=0;E<u.calcdata.length;E++)if(!0===(L=(C=u.calcdata[E])[0].trace).visible&&L._module&&L._module.selectPoints)if(n.subplot)L.subplot!==n.subplot&&L.geo!==n.subplot||O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:n.xaxes[0],yaxis:n.yaxes[0]});else{if(-1===M.indexOf(L.xaxis))continue;if(-1===A.indexOf(L.yaxis))continue;O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:ri.getFromId(u,L.xaxis),yaxis:ri.getFromId(u,L.yaxis)})}function B(t){var e=\\\"y\\\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function N(t,e){return t-e}I=p.fillRangeItems?p.fillRangeItems:\\\"select\\\"===i?function(t,e){var r=t.range={};for(E=0;E<k.length;E++){var n=k[E],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\\\"min\\\"]),n.p2d(e[i+\\\"max\\\"])].sort(N)}}:function(t,e,r){var n=t.lassoPoints={};for(E=0;E<k.length;E++){var i=k[E];n[i._id]=r.filtered.map(B(i))}},n.moveFn=function(t,e){y=Math.max(0,Math.min(_,t+v)),x=Math.max(0,Math.min(w,e+m));var r=Math.abs(y-v),c=Math.abs(x-m);\\\"select\\\"===i?c<Math.min(.6*r,xc)?((l=[[v,0],[v,w],[y,w],[y,0]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(0,w),l.ymax=Math.max(0,w),D.attr(\\\"d\\\",\\\"M\\\"+l.xmin+\\\",\\\"+(m-xc)+\\\"h-4v\\\"+2*xc+\\\"h4ZM\\\"+(l.xmax-1)+\\\",\\\"+(m-xc)+\\\"h4v\\\"+2*xc+\\\"h-4Z\\\")):r<Math.min(.6*c,xc)?((l=[[0,m],[0,x],[_,x],[_,m]]).xmin=Math.min(0,_),l.xmax=Math.max(0,_),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\\\"d\\\",\\\"M\\\"+(v-xc)+\\\",\\\"+l.ymin+\\\"v-4h\\\"+2*xc+\\\"v4ZM\\\"+(v-xc)+\\\",\\\"+(l.ymax-1)+\\\"v4h\\\"+2*xc+\\\"v-4Z\\\")):((l=[[v,m],[v,x],[y,x],[y,m]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\\\"d\\\",\\\"M0,0Z\\\")):\\\"lasso\\\"===i&&(a.addPt([y,x]),l=a.filtered),n.polygons&&n.polygons.length?(s=function(t,e,r){if(r)return uc.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return uc.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(n.mergedPolygons,l,T),l.subtract=T,o=yc(n.polygons.concat([l]))):(s=[l],o=mc(l));var h=[];for(E=0;E<s.length;E++){var f=s[E];h.push(f.join(\\\"L\\\")+\\\"L\\\"+f[0])}S.attr(\\\"d\\\",\\\"M\\\"+h.join(\\\"M\\\")+\\\"Z\\\"),$t.throttle(R,Te.SELECTDELAY,function(){F=[];var t,e,r=[];for(E=0;E<O.length;E++)if(e=(z=O[E]).selectPoints(z,o),r.push(e),t=Mc(e,z),F.length)for(var i=0;i<t.length;i++)F.push(t[i]);else F=t;wc(u,O,P={points:F}),I(P,l,a),n.gd.emit(\\\"plotly_selecting\\\",P)})},n.clickFn=function(t,e){D.remove(),$t.done(R).then(function(){if($t.clear(R),2===t){for(S.remove(),E=0;E<O.length;E++)(z=O[E]).selectPoints(z,!1);wc(u,O),u.emit(\\\"plotly_deselect\\\",null)}else u.emit(\\\"plotly_selected\\\",void 0);yo.click(u,e)})},n.doneFn=function(){D.remove(),$t.done(R).then(function(){$t.clear(R),n.gd.emit(\\\"plotly_selected\\\",P),l&&n.polygons&&(l.subtract=T,n.polygons.push(l),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,s))})}};function wc(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n<e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n<o.length;n++){var s=o[n],l=s.data,u=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(u.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),u.selectedpoints.push(s.pointIndex))}}else for(n=0;n<e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&&e[n].cd[0].t.scene&&e[n].cd[0].t.scene.clearSelect();for(n=0;n<e.length;n++)(i=e[n]).style&&i.style(t,i.cd)}function Mc(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=gc(t[i],n,r);return t}var Ac=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(!u.hasOwnProperty(e.type))return null;var i=u[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\\\"not yet supported\\\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\\\"FeatureCollection\\\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\\\"Point\\\",coordinates:i[0]}:{type:\\\"MultiPoint\\\",coordinates:i}:null;return i=[],t}},s={lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\\\"LineString\\\",coordinates:a[0]}:{type:\\\"MultiLineString\\\",coordinates:a}:null;return a=[],t}},l={polygonStart:c,lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:c,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++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],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],u=l[0],c=l[1],h=t[s],f=h[0],p=h[1];c>n^p>n&&r<(f-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],t.length?t.length>1?{type:\\\"MultiPolygon\\\",coordinates:t}:{type:\\\"Polygon\\\",coordinates:t[0]}:null}},u={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function c(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>h;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],u=0,c=o.length;u<c;++u){var h=o[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=a&&a<h[1][1]){var f=e.invert(t-e(s[u][1][0],0)[0],a);return f[0]+=s[u][1][0],l(i(f[0],f[1]),[t,a])?f:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var u=0;u<e;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[l+e,u+e],[l+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,c+e],[l+e,c+e],[l+e,u-e]],30))}return{type:\\\"Polygon\\\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),m((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function M(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return A;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function A(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--i>0);return e/2}}A.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=b(M),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=M,k.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(k)}).raw=k,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var E=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=m(i/e);return[n/(t*Math.cos(a)),m((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function C(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 x(E)}).raw=E,C.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(C)}).raw=C;var L=[[.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 z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],u=r[1],c=(r=L[Math.min(19,++i)])[0],h=r[1];return[t*(l+a*(c-o)/2+a*a*(c-2*l+o)/2),(e>0?d:-d)*(u+a*(h-s)/2+a*a*(h-2*u+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function I(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function D(t,e){var r=I(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,p=c/u,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===a){n=(e>=0?5:-5)*(m+i);var y,x=50;do{m=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,I.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),u=Math.sin(n),c=Math.cos(n),f=Math.sin(2*n),d=u*u,g=c*c,v=s*s,m=1-g*l*l,x=m?y(c*l)*Math.sqrt(a=1/m):a=0,b=2*x*c*s-t,_=x*u-e,w=a*(g*v+x*c*l*d),M=a*(.5*o*f-2*x*u*s),A=.25*a*(f*s-x*u*g*o),k=a*(d*l+x*v*c),T=M*A-k*w;if(!T)break;var S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(I)}).raw=I,D.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),u=s*s,c=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-c*p*p,x=m?y(o*p)*Math.sqrt(a=1/m):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(c*v+x*o*p*u)+.5/d,M=a*(f*l/4-x*s*g),A=.125*a*(l*g-x*s*c*f),k=.5*a*(u*p+x*v*o)+.5,T=M*A-k*w,S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(D)}).raw=D},kc=Math.PI/180,Tc=180/Math.PI,Sc={cursor:\\\"pointer\\\"},Ec={cursor:\\\"auto\\\"};var Cc=function(t,e){var r=t.projection;return(e._isScoped?Pc:e._isClipped?Dc:Ic)(t,r)};function Lc(t,r){return e.behavior.zoom().translate(r.translate()).scale(r.scale())}function zc(t,e,r){var n=t.id,i=t.graphDiv,a=i.layout[n],o=i._fullLayout[n],s={};function l(t,e){var r=ne.nestedProperty(o,t);r.get()!==e&&(r.set(e),ne.nestedProperty(a,t).set(e),s[n+\\\".\\\"+t]=e)}r(l),l(\\\"projection.scale\\\",e.scale()/t.fitScale),i.emit(\\\"plotly_relayout\\\",s)}function Pc(t,r){var n=Lc(0,r);function i(e){var n=r.invert(t.midPt);e(\\\"center.lon\\\",n[0]),e(\\\"center.lat\\\",n[1])}return n.on(\\\"zoomstart\\\",function(){e.select(this).style(Sc)}).on(\\\"zoom\\\",function(){r.scale(e.event.scale).translate(e.event.translate),t.render()}).on(\\\"zoomend\\\",function(){e.select(this).style(Ec),zc(t,r,i)}),n}function Ic(t,r){var n,i,a,o,s,l,u,c,h=Lc(0,r),f=2;function p(t){return r.invert(t)}function d(e){var n=r.rotate(),i=r.invert(t.midPt);e(\\\"projection.rotation.lon\\\",-n[0]),e(\\\"center.lon\\\",i[0]),e(\\\"center.lat\\\",i[1])}return h.on(\\\"zoomstart\\\",function(){e.select(this).style(Sc),n=e.mouse(this),i=r.rotate(),a=r.translate(),o=i,s=p(n)}).on(\\\"zoom\\\",function(){if(l=e.mouse(this),g=r(p(d=n)),Math.abs(g[0]-d[0])>f||Math.abs(g[1]-d[1])>f)return h.scale(r.scale()),void h.translate(r.translate());var d,g;r.scale(e.event.scale),r.translate([a[0],e.event.translate[1]]),s?p(l)&&(c=p(l),u=[o[0]+(c[0]-s[0]),i[1],i[2]],r.rotate(u),o=u):s=p(n=l),t.render()}).on(\\\"zoomend\\\",function(){e.select(this).style(Ec),zc(t,r,d)}),h}function Dc(t,r){var n,i={r:r.rotate(),k:r.scale()},a=Lc(0,r),o=function(t){var r=0,n=arguments.length,i=[];for(;++r<n;)i.push(arguments[r]);var a=e.dispatch.apply(null,i);return a.of=function(r,n){return function(i){var o;try{o=i.sourceEvent=e.event,i.target=t,e.event=i,a[i.type].apply(r,n)}finally{e.event=o}}},a}(a,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\"),s=0,l=a.on;function u(t){var e=r.rotate();t(\\\"projection.rotation.lon\\\",-e[0]),t(\\\"projection.rotation.lat\\\",-e[1])}return a.on(\\\"zoomstart\\\",function(){e.select(this).style(Sc);var t,u,c,h,f,p,d,g,v,m,y,x=e.mouse(this),b=r.rotate(),_=b,w=r.translate(),M=(u=.5*(t=b)[0]*kc,c=.5*t[1]*kc,h=.5*t[2]*kc,f=Math.sin(u),p=Math.cos(u),d=Math.sin(c),g=Math.cos(c),v=Math.sin(h),m=Math.cos(h),[p*g*m+f*d*v,f*g*m-p*d*v,p*d*m+f*g*v,p*g*v-f*d*m]);n=Oc(r,x),l.call(a,\\\"zoom\\\",function(){var t,a,s,l,u,c,h,f,p,d,g=e.mouse(this);if(r.scale(i.k=e.event.scale),n){if(Oc(r,g)){r.rotate(b).translate(w);var v=Oc(r,g),m=function(t,e){if(!t||!e)return;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(Nc(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,Nc(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(n,v),y=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*Tc,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*Tc,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*Tc]}((a=m,s=(t=M)[0],l=t[1],u=t[2],c=t[3],h=a[0],f=a[1],p=a[2],d=a[3],[s*h-l*f-u*p-c*d,s*f+l*h+u*d-c*p,s*p-l*d+u*h+c*f,s*d+l*p-u*f+c*h])),A=i.r=function(t,e,r){var n=Bc(e,2,t[0]);n=Bc(n=Bc(n,1,t[1]),0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],c=n[1],h=n[2],f=Math.atan2(s,o)*Tc,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*Tc-f,i=Math.sqrt(p*p-c*c));var d=180-a-2*f,g=(Math.atan2(h,u)-Math.atan2(l,i))*Tc,v=(Math.atan2(h,u)-Math.atan2(l,-i))*Tc,m=Rc(r[0],r[1],a,g),y=Rc(r[0],r[1],d,v);return m<=y?[a,g,r[2]]:[d,v,r[2]]}(y,n,_);isFinite(A[0])&&isFinite(A[1])&&isFinite(A[2])||(A=_),r.rotate(A),_=A}}else n=Oc(r,x=g);o.of(this,arguments)({type:\\\"zoom\\\"})}),y=o.of(this,arguments),s++||y({type:\\\"zoomstart\\\"})}).on(\\\"zoomend\\\",function(){var n;e.select(this).style(Ec),l.call(a,\\\"zoom\\\",null),n=o.of(this,arguments),--s||n({type:\\\"zoomend\\\"}),zc(t,r,u)}).on(\\\"zoom.redraw\\\",function(){t.render()}),e.rebind(a,o,\\\"on\\\")}function Oc(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*kc,r=t[1]*kc,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function Rc(t,e,r,n){var i=Fc(r-t),a=Fc(n-e);return Math.sqrt(i*i+a*a)}function Fc(t){return(t%360+540)%360-180}function Bc(t,e,r){var n=r*kc,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function Nc(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}var jc=Wu.feature;function Vc(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.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()}Ac(e);var Uc=Vc.prototype;Uc.plot=function(t,e,r){var n=this,i=e[this.id],a=Xu.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},Uc.fetchTopojson=function(){var t=Xu.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(r,n){e.json(t,function(e,i){if(e)return 404===e.status?n(new Error([\\\"plotly.js could not find topojson file at\\\",t,\\\".\\\",\\\"Make sure the *topojsonURL* plot config option\\\",\\\"is set properly.\\\"].join(\\\" \\\"))):n(new Error([\\\"unexpected error while fetching topojson file at\\\",t].join(\\\" \\\")));r(i)})})},Uc.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\\\"choropleth\\\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\\\".scatterlayer\\\");this.dataPoints.point=i.selectAll(\\\".point\\\"),this.dataPoints.text=i.selectAll(\\\"text\\\"),this.dataPaths.line=i.selectAll(\\\".js-line\\\");var a=this.layers.backplot.select(\\\".choroplethlayer\\\");this.dataPaths.choropleth=a.selectAll(\\\"path\\\"),this.render()}},Uc.updateProjection=function(t,r){var n=t._size,i=r.domain,a=r.projection,o=a.rotation||{},s=r.center||{},l=this.projection=function(t){for(var r=t.projection.type,n=e.geo[Yu.projNames[r]](),i=t._isClipped?Yu.lonaxisSpan[r]/2:null,a=[\\\"center\\\",\\\"rotate\\\",\\\"parallels\\\",\\\"clipExtent\\\"],o=function(t){return t?n:[]},s=0;s<a.length;s++){var l=a[s];\\\"function\\\"!=typeof n[l]&&(n[l]=o)}n.isLonLatOverEdges=function(t){if(null===n(t))return!0;if(i){var r=n.rotate();return e.geo.distance(t,[-r[0],-r[1]])>i*Math.PI/180}return!1},n.getPath=function(){return e.geo.path().projection(n)},n.getBounds=function(t){return n.getPath().bounds(t)},n.fitExtent=function(t,e){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),a&&n.clipExtent(null);var o=n.getBounds(e),s=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(r-s*(o[1][0]+o[0][0]))/2,u=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&n.clipExtent(a),n.scale(150*s).translate([l,u])},n.precision(Yu.precision),i&&n.clipAngle(i-Yu.clipPad);return n}(r);l.center([s.lon-o.lon,s.lat-o.lat]).rotate([-o.lon,-o.lat,o.roll]).parallels(a.parallels);var u=[[n.l+n.w*i.x[0],n.t+n.h*(1-i.y[1])],[n.l+n.w*i.x[1],n.t+n.h*(1-i.y[0])]],c=r.lonaxis,h=r.lataxis,f=function(t,e){var r=Yu.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\\\"Polygon\\\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(c.range,h.range);l.fitExtent(u,f);var p=this.bounds=l.getBounds(f),d=this.fitScale=l.scale(),g=l.translate();if(!isFinite(p[0][0])||!isFinite(p[0][1])||!isFinite(p[1][0])||!isFinite(p[1][1])||isNaN(g[0])||isNaN(g[0])){for(var v=this.graphDiv,m=[\\\"projection.rotation\\\",\\\"center\\\",\\\"lonaxis.range\\\",\\\"lataxis.range\\\"],y=\\\"Invalid geo settings, relayout'ing to default view.\\\",x={},b=0;b<m.length;b++)x[this.id+\\\".\\\"+m[b]]=null;return this.viewInitial=null,ne.warn(y),v._promises.push(P.call(\\\"relayout\\\",v,x)),y}var _=this.midPt=[(p[0][0]+p[1][0])/2,(p[0][1]+p[1][1])/2];if(l.scale(a.scale*d).translate([g[0]+(_[0]-g[0]),g[1]+(_[1]-g[1])]).clipExtent(p),r._isAlbersUsa){var w=l([s.lon,s.lat]),M=l.translate();l.translate([M[0]-(w[0]-M[0]),M[1]-(w[1]-M[1])])}},Uc.updateBaseLayers=function(t,r){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(t){return\\\"lonaxis\\\"===t||\\\"lataxis\\\"===t}function l(t){return Boolean(Yu.lineLayers[t])}function u(t){return Boolean(Yu.fillLayers[t])}var c=(this.hasChoropleth?Yu.layersForChoropleth:Yu.layers).filter(function(t){return l(t)||u(t)?r[\\\"show\\\"+t]:!s(t)||r[t].showgrid}),h=n.framework.selectAll(\\\".layer\\\").data(c,String);h.exit().each(function(t){delete a[t],delete o[t],e.select(this).remove()}),h.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"layer \\\"+t}).each(function(t){var r=a[t]=e.select(this);\\\"bg\\\"===t?n.bgRect=r.append(\\\"rect\\\").style(\\\"pointer-events\\\",\\\"all\\\"):s(t)?o[t]=r.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\"):\\\"backplot\\\"===t?r.append(\\\"g\\\").classed(\\\"choroplethlayer\\\",!0):\\\"frontplot\\\"===t?r.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0):l(t)?o[t]=r.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\").style(\\\"stroke-miterlimit\\\",2):u(t)&&(o[t]=r.append(\\\"path\\\").style(\\\"stroke\\\",\\\"none\\\"))}),h.order(),h.each(function(t){var n=o[t],a=Yu.layerNameToAdjective[t];\\\"frame\\\"===t?n.datum(Yu.sphereSVG):l(t)||u(t)?n.datum(jc(i,i.objects[t])):s(t)&&n.datum(function(t,r){var n=r[t].dtick,i=Yu.scopeDefaults[r.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\\\"lonaxis\\\"===t?[n]:[0,n];return e.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,r)).call(Oe.stroke,r[t].gridcolor).call(Sr.dashLine,\\\"\\\",r[t].gridwidth),l(t)?n.call(Oe.stroke,r[a+\\\"color\\\"]).call(Sr.dashLine,\\\"\\\",r[a+\\\"width\\\"]):u(t)&&n.call(Oe.fill,r[a+\\\"color\\\"])})},Uc.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;Sr.setRect(this.clipRect,i,a,o,s),this.bgRect.call(Sr.setRect,i,a,o,s).call(Oe.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s},Uc.updateFx=function(t,r){var n=this,i=n.graphDiv,a=n.bgRect,o=t.dragmode;if(!n.isStatic){if(\\\"pan\\\"===o)a.node().onmousedown=null,a.call(Cc(n,r)),a.on(\\\"dblclick.zoom\\\",function(){var t=n.viewInitial,e={};for(var r in t)e[n.id+\\\".\\\"+r]=t[r];P.call(\\\"relayout\\\",i,e),i.emit(\\\"plotly_doubleclick\\\",null)});else if(\\\"select\\\"===o||\\\"lasso\\\"===o){var s;a.on(\\\".zoom\\\",null),\\\"select\\\"===o?s=function(t,e){(t.range={})[n.id]=[u([e.xmin,e.ymin]),u([e.xmax,e.ymax])]}:\\\"lasso\\\"===o&&(s=function(t,e,r){(t.lassoPoints={})[n.id]=r.filtered.map(u)});var l={element:n.bgRect.node(),gd:i,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis,fillRangeItems:s},xaxes:[n.xaxis],yaxes:[n.yaxis],subplot:n.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\\\".select-outline\\\").remove()},prepFn:function(t,e,r){_c(t,e,r,l,o)}};Ua.init(l)}a.on(\\\"mousemove\\\",function(){var t=n.projection.invert(e.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return Ua.unhover(i,e.event);n.xaxis.p2c=function(){return t[0]},n.yaxis.p2c=function(){return t[1]},yo.hover(i,e.event,n.id)}),a.on(\\\"mouseout\\\",function(){Ua.unhover(i,e.event)}),a.on(\\\"click\\\",function(){yo.click(i,e.event)})}function u(t){return n.projection.invert([t[0]+n.xaxis._offset,t[1]+n.yaxis._offset])}},Uc.makeFramework=function(){var t=this,r=t.graphDiv._fullLayout,n=\\\"clip\\\"+r._uid+t.id;t.clipDef=r._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",n),t.clipRect=t.clipDef.append(\\\"rect\\\"),t.framework=e.select(t.container).append(\\\"g\\\").attr(\\\"class\\\",\\\"geo \\\"+t.id).call(Sr.setClipUrl,n),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\\\"},ri.setConvert(t.mockAxis,r)},Uc.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale}:t._isClipped?this.viewInitial={\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon,\\\"projection.rotation.lat\\\":n.lat}:this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon}},Uc.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 i(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\\\",i).attr(\\\"transform\\\",n)};var qc={},Hc=m.extendFlat;qc.attributes=function(t,e){t=t||{},e=e||{};var r={valType:\\\"info_array\\\",editType:t.editType,items:[{valType:\\\"number\\\",min:0,max:1,editType:t.editType},{valType:\\\"number\\\",min:0,max:1,editType:t.editType}],dflt:[0,1]},n=(t.name&&t.name,t.trace,e.description&&e.description,{x:Hc({},r,{}),y:Hc({},r,{}),editType:t.editType});return t.noGridCell||(n.row={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType},n.column={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType}),n},qc.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\\\"domain.column\\\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\\\"domain.row\\\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\\\"domain.x\\\",i),r(\\\"domain.y\\\",a)};var Gc=qc.attributes,Wc=ye.overrideAll,Yc={range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},showgrid:{valType:\\\"boolean\\\",dflt:!1},tick0:{valType:\\\"number\\\"},dtick:{valType:\\\"number\\\"},gridcolor:{valType:\\\"color\\\",dflt:C.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1}},Xc=Wc({domain:Gc({name:\\\"geo\\\"},{}),resolution:{valType:\\\"enumerated\\\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\\\"enumerated\\\",values:Object.keys(Yu.scopeDefaults),dflt:\\\"world\\\"},projection:{type:{valType:\\\"enumerated\\\",values:Object.keys(Yu.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\\\"}},showcoastlines:{valType:\\\"boolean\\\"},coastlinecolor:{valType:\\\"color\\\",dflt:C.defaultLine},coastlinewidth:{valType:\\\"number\\\",min:0,dflt:1},showland:{valType:\\\"boolean\\\",dflt:!1},landcolor:{valType:\\\"color\\\",dflt:Yu.landColor},showocean:{valType:\\\"boolean\\\",dflt:!1},oceancolor:{valType:\\\"color\\\",dflt:Yu.waterColor},showlakes:{valType:\\\"boolean\\\",dflt:!1},lakecolor:{valType:\\\"color\\\",dflt:Yu.waterColor},showrivers:{valType:\\\"boolean\\\",dflt:!1},rivercolor:{valType:\\\"color\\\",dflt:Yu.waterColor},riverwidth:{valType:\\\"number\\\",min:0,dflt:1},showcountries:{valType:\\\"boolean\\\"},countrycolor:{valType:\\\"color\\\",dflt:C.defaultLine},countrywidth:{valType:\\\"number\\\",min:0,dflt:1},showsubunits:{valType:\\\"boolean\\\"},subunitcolor:{valType:\\\"color\\\",dflt:C.defaultLine},subunitwidth:{valType:\\\"number\\\",min:0,dflt:1},showframe:{valType:\\\"boolean\\\"},framecolor:{valType:\\\"color\\\",dflt:C.defaultLine},framewidth:{valType:\\\"number\\\",min:0,dflt:1},bgcolor:{valType:\\\"color\\\",dflt:C.background},lonaxis:Yc,lataxis:Yc},\\\"plot\\\",\\\"from-root\\\"),Zc=qc.defaults,Jc=function(t,e,r,n){var i,a,o=n.type,s=n.attributes,l=n.handleDefaults,u=n.partition||\\\"x\\\",c=e._subplots[o],h=c.length;function f(t,e){return ne.coerce(i,a,s,t,e)}for(var p=0;p<h;p++){var d=c[p];i=t[d]?t[d]:t[d]={},e[d]=a={};var g={};g[u]=[p/h,(p+1)/h],Zc(a,e,f,g),n.id=d,l(i,a,f,n)}},Kc=Yu.axesNames;function Qc(t,e,r){var n=r(\\\"resolution\\\"),i=r(\\\"scope\\\"),a=Yu.scopeDefaults[i],o=r(\\\"projection.type\\\",a.projType),s=e._isAlbersUsa=\\\"albers usa\\\"===o;s&&(i=e.scope=\\\"usa\\\");var l=e._isScoped=\\\"world\\\"!==i,u=e._isConic=-1!==o.indexOf(\\\"conic\\\");e._isClipped=!!Yu.lonaxisSpan[o];for(var c=0;c<Kc.length;c++){var h,f=Kc[c],p=[30,10][c];if(l)h=a[f+\\\"Range\\\"];else{var d=Yu[f+\\\"Span\\\"],g=(d[o]||d[\\\"*\\\"])/2,v=r(\\\"projection.rotation.\\\"+f.substr(0,3),a.projRotate[c]);h=[v-g,v+g]}r(f+\\\".tick0\\\",r(f+\\\".range\\\",h)[0]),r(f+\\\".dtick\\\",p),r(f+\\\".showgrid\\\")&&(r(f+\\\".gridcolor\\\"),r(f+\\\".gridwidth\\\"))}var m=e.lonaxis.range,y=e.lataxis.range,x=m[0],b=m[1];x>0&&b<0&&(b+=360);var _,w,M,A=(x+b)/2;if(!s){var k=l?a.projRotate:[A,0,0];_=r(\\\"projection.rotation.lon\\\",k[0]),r(\\\"projection.rotation.lat\\\",k[1]),r(\\\"projection.rotation.roll\\\",k[2]),r(\\\"showcoastlines\\\",!l)&&(r(\\\"coastlinecolor\\\"),r(\\\"coastlinewidth\\\")),r(\\\"showocean\\\")&&r(\\\"oceancolor\\\")}(s?(w=-96.6,M=38.7):(w=l?A:_,M=(y[0]+y[1])/2),r(\\\"center.lon\\\",w),r(\\\"center.lat\\\",M),u)&&r(\\\"projection.parallels\\\",a.projParallels||[0,60]);r(\\\"projection.scale\\\"),r(\\\"showland\\\")&&r(\\\"landcolor\\\"),r(\\\"showlakes\\\")&&r(\\\"lakecolor\\\"),r(\\\"showrivers\\\")&&(r(\\\"rivercolor\\\"),r(\\\"riverwidth\\\")),r(\\\"showcountries\\\",l&&\\\"usa\\\"!==i)&&(r(\\\"countrycolor\\\"),r(\\\"countrywidth\\\")),(\\\"usa\\\"===i||\\\"north america\\\"===i&&50===n)&&(r(\\\"showsubunits\\\",!0),r(\\\"subunitcolor\\\"),r(\\\"subunitwidth\\\")),l||r(\\\"showframe\\\",!0)&&(r(\\\"framecolor\\\"),r(\\\"framewidth\\\")),r(\\\"bgcolor\\\")}var $c={},th=sa.getSubplotCalcData,eh=ne.counterRegex,rh=\\\"geo\\\";$c.name=rh,$c.attr=rh,$c.idRoot=rh,$c.idRegex=$c.attrRegex=eh(rh),$c.attributes={geo:{valType:\\\"subplotid\\\",dflt:\\\"geo\\\",editType:\\\"calc\\\"}},$c.layoutAttributes=Xc,$c.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\\\"geo\\\",attributes:Xc,handleDefaults:Qc,partition:\\\"y\\\"})},$c.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var i=0;i<n.length;i++){var a=n[i],o=th(r,rh,a),s=e[a]._subplot;s||(s=new Vc({id:a,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[a]._subplot=s),s.plot(o,e,t._promises)}},$c.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},$c.updateFx=function(t){for(var e=t._subplots.geo,r=0;r<e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}};var nh=Ae.dash,ih=m.extendFlat,ah=ye.overrideAll,oh=Zr.marker,sh=Zr.line,lh=oh.line,uh=ah({lon:{valType:\\\"data_array\\\"},lat:{valType:\\\"data_array\\\"},locations:{valType:\\\"data_array\\\"},locationmode:{valType:\\\"enumerated\\\",values:[\\\"ISO-3\\\",\\\"USA-states\\\",\\\"country names\\\"],dflt:\\\"ISO-3\\\"},mode:ih({},Zr.mode,{dflt:\\\"markers\\\"}),text:ih({},Zr.text,{}),hovertext:ih({},Zr.hovertext,{}),textfont:Zr.textfont,textposition:Zr.textposition,line:{color:sh.color,width:sh.width,dash:nh},connectgaps:Zr.connectgaps,marker:ih({symbol:oh.symbol,opacity:oh.opacity,size:oh.size,sizeref:oh.sizeref,sizemin:oh.sizemin,sizemode:oh.sizemode,showscale:oh.showscale,colorbar:oh.colorbar,line:ih({width:lh.width},De()),gradient:oh.gradient},De()),fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"toself\\\"],dflt:\\\"none\\\"},fillcolor:Zr.fillcolor,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:ih({},E.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"location\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\"),ch=m.extendFlat,hh=m.extendDeepAll,fh=uh.marker.line,ph=ch({locations:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},locationmode:uh.locationmode,z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},text:ch({},uh.text,{}),marker:{line:{color:fh.color,width:ch({},fh.width,{dflt:1}),editType:\\\"calc\\\"},opacity:{valType:\\\"number\\\",arrayOk:!0,min:0,max:1,dflt:1,editType:\\\"style\\\"},editType:\\\"calc\\\"},selected:{marker:{opacity:uh.selected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},unselected:{marker:{opacity:uh.unselected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},hoverinfo:ch({},E.hoverinfo,{editType:\\\"calc\\\",flags:[\\\"location\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"]})},hh({},Pe,{zmax:{editType:\\\"calc\\\"},zmin:{editType:\\\"calc\\\"}}),{colorbar:ze}),dh=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;ne.mergeArray(e.text,t,\\\"tx\\\"),ne.mergeArray(e.hovertext,t,\\\"htx\\\"),ne.mergeArray(e.customdata,t,\\\"data\\\"),ne.mergeArray(e.textposition,t,\\\"tp\\\"),e.textfont&&(ne.mergeArray(e.textfont.size,t,\\\"ts\\\"),ne.mergeArray(e.textfont.color,t,\\\"tc\\\"),ne.mergeArray(e.textfont.family,t,\\\"tf\\\"));var n=e.marker;if(n){ne.mergeArray(n.size,t,\\\"ms\\\"),ne.mergeArray(n.opacity,t,\\\"mo\\\"),ne.mergeArray(n.symbol,t,\\\"mx\\\"),ne.mergeArray(n.color,t,\\\"mc\\\");var i=n.line;n.line&&(ne.mergeArray(i.color,t,\\\"mlc\\\"),ne.mergeArray(i.width,t,\\\"mlw\\\"));var a=n.gradient;a&&\\\"none\\\"!==a.type&&(ne.mergeArray(a.type,t,\\\"mgt\\\"),ne.mergeArray(a.color,t,\\\"mgc\\\"))}},gh=t.BADNUM;var vh={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\\\"},mh={},yh=Object.keys(vh),xh={\\\"ISO-3\\\":ne.identity,\\\"USA-states\\\":ne.identity,\\\"country names\\\":function(t){for(var e=0;e<yh.length;e++){var r=yh[e],n=new RegExp(vh[r]);if(n.test(t.trim().toLowerCase()))return r}return ne.log(\\\"Unrecognized country name: \\\"+t+\\\".\\\"),!1}};mh.locationToFeature=function(t,e,r){if(!e||\\\"string\\\"!=typeof e)return!1;var n=function(t,e){return(0,xh[t])(e)}(t,e);if(n){for(var i=0;i<r.length;i++){var a=r[i];if(a.id===n)return a}ne.log([\\\"Location with id\\\",n,\\\"does not have a matching topojson feature at this resolution.\\\"].join(\\\" \\\"))}return!1};var bh=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3.selectAll(\\\".choroplethlocation\\\"),a=n.marker||{},o=a.line||{},s=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,n.zmin,n.zmax));i.each(function(t){e.select(this).attr(\\\"fill\\\",s(t.z)).call(Oe.stroke,t.mlc||o.color).call(Sr.dashLine,\\\"\\\",t.mlw||o.width||0).style(\\\"opacity\\\",a.opacity)}),Sr.selectedPointStyle(i,n)}(0,r)};var _h=Xu.getTopojsonFeatures,wh=mh.locationToFeature;function Mh(t,e){for(var r=t[0].trace,n=t.length,i=_h(r,e),a=0;a<n;a++){var o=t[a],s=wh(r.locationmode,o.loc,i);s?(o.geojson=s,o.ct=s.properties.ct,o.index=a,o._polygons=Ah(s)):o.geojson=null}}function Ah(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function u(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===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(cc.tester(e))}:\\\"ATA\\\"===s?function(t){var e=u(t);if(null===e)return l.push(cc.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=cc.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(cc.tester(t))},a.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}var kh=function(t,e){var n=e[0].trace,i=\\\"cb\\\"+n.uid,a=n.zmin,o=n.zmax;if(r(a)||(a=ne.aggNums(Math.min,null,n.z)),r(o)||(o=ne.aggNums(Math.max,null,n.z)),t._fullLayout._infolayer.selectAll(\\\".\\\"+i).remove(),n.showscale){var s=e[0].t.cb=ns(t,i),l=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});s.fillcolor(l).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},Th={};Th.attributes=ph,Th.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,ph,r,n)}var a,o=i(\\\"locations\\\");if(o&&(a=o.length),o&&a){var s=i(\\\"z\\\");ne.isArrayOrTypedArray(s)?(s.length>a&&(e.z=s.slice(0,a)),i(\\\"locationmode\\\"),i(\\\"text\\\"),i(\\\"marker.line.color\\\"),i(\\\"marker.line.width\\\"),i(\\\"marker.opacity\\\"),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),ne.coerceSelectionMarkerOpacity(e,i)):e.visible=!1}else e.visible=!1},Th.colorbar=kh,Th.calc=function(t,e){for(var n=e.locations.length,i=new Array(n),a=0;a<n;a++){var o=i[a]={},s=e.locations[a],l=e.z[a];o.loc=\\\"string\\\"==typeof s?s:null,o.z=r(l)?l:gh}return dh(i,e),Ve(e,e.z,\\\"\\\",\\\"z\\\"),Ma(i,e),i},Th.plot=function(t,r,n){for(var i=0;i<n.length;i++)Mh(n[i],r.topojson);var a=r.layers.backplot.select(\\\".choroplethlayer\\\").selectAll(\\\"g.trace.choropleth\\\").data(n,function(t){return t[0].trace.uid});a.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace choropleth\\\"),a.exit().remove(),a.each(function(t){var r=(t[0].node3=e.select(this)).selectAll(\\\"path.choroplethlocation\\\").data(ne.identity);r.enter().append(\\\"path\\\").classed(\\\"choroplethlocation\\\",!0),r.exit().remove(),bh(0,t)})},Th.style=bh,Th.hoverPoints=function(t,e,r){var n,i,a,o,s=t.cd,l=s[0].trace,u=t.subplot;for(i=0;i<s.length;i++)if(o=!1,(n=s[i])._polygons){for(a=0;a<n._polygons.length;a++)n._polygons[a].contains([e,r])&&(o=!o),n._polygons[a].contains([e+360,r])&&(o=!o);if(o)break}if(o&&n)return t.x0=t.x1=t.xa.c2p(n.ct),t.y0=t.y1=t.ya.c2p(n.ct),t.index=n.index,t.location=n.loc,t.z=n.z,function(t,e,r,n){var i,a=r.hi||e.hoverinfo,o=\\\"all\\\"===a?ph.hoverinfo.flags:a.split(\\\"+\\\"),s=-1!==o.indexOf(\\\"name\\\"),l=-1!==o.indexOf(\\\"location\\\"),u=-1!==o.indexOf(\\\"z\\\"),c=-1!==o.indexOf(\\\"text\\\"),h=[];!s&&l?t.nameOverride=r.loc:(s&&(t.nameOverride=e.name),l&&h.push(r.loc)),u&&h.push((i=r.z,ri.tickText(n,n.c2l(i),\\\"hover\\\").text)),c&&xo(r,e,h),t.extraText=h.join(\\\"<br>\\\")}(t,l,n,u.mockAxis),[t]},Th.eventData=function(t,e){return t.location=e.location,t.z=e.z,t},Th.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=u.c2p(i),e.contains([a,o])?(c.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return c},Th.moduleType=\\\"trace\\\",Th.name=\\\"choropleth\\\",Th.basePlotModule=$c,Th.categories=[\\\"geo\\\",\\\"noOpacity\\\"],Th.meta={};var Sh=Th,Eh={COMPARISON_OPS:[\\\"=\\\",\\\"!=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],COMPARISON_OPS2:[\\\"=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],INTERVAL_OPS:[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],SET_OPS:[\\\"{}\\\",\\\"}{\\\"],CONSTRAINT_REDUCTION:{\\\"=\\\":\\\"=\\\",\\\"<\\\":\\\"<\\\",\\\"<=\\\":\\\"<\\\",\\\">\\\":\\\">\\\",\\\">=\\\":\\\">\\\",\\\"[]\\\":\\\"[]\\\",\\\"()\\\":\\\"[]\\\",\\\"[)\\\":\\\"[]\\\",\\\"(]\\\":\\\"[]\\\",\\\"][\\\":\\\"][\\\",\\\")(\\\":\\\"][\\\",\\\"](\\\":\\\"][\\\",\\\")[\\\":\\\"][\\\"}},Ch=m.extendFlat,Lh=Ch({},{z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},x:Ch({},Zr.x,{impliedEdits:{xtype:\\\"array\\\"}}),x0:Ch({},Zr.x0,{impliedEdits:{xtype:\\\"scaled\\\"}}),dx:Ch({},Zr.dx,{impliedEdits:{xtype:\\\"scaled\\\"}}),y:Ch({},Zr.y,{impliedEdits:{ytype:\\\"array\\\"}}),y0:Ch({},Zr.y0,{impliedEdits:{ytype:\\\"scaled\\\"}}),dy:Ch({},Zr.dy,{impliedEdits:{ytype:\\\"scaled\\\"}}),text:{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\\\"},connectgaps:{valType:\\\"boolean\\\",dflt:!1,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\\\"}},Pe,{autocolorscale:Ch({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),zh=Ae.dash,Ph=m.extendFlat,Ih=Eh.COMPARISON_OPS2,Dh=Eh.INTERVAL_OPS,Oh=Zr.line,Rh=Ph({z:Lh.z,x:Lh.x,x0:Lh.x0,dx:Lh.dx,y:Lh.y,y0:Lh.y0,dy:Lh.dy,text:Lh.text,transpose:Lh.transpose,xtype:Lh.xtype,ytype:Lh.ytype,zhoverformat:Lh.zhoverformat,connectgaps:Lh.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:T({editType:\\\"plot\\\",colorEditType:\\\"style\\\"}),labelformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"plot\\\"},operation:{valType:\\\"enumerated\\\",values:[].concat(Ih).concat(Dh),dflt:\\\"=\\\",editType:\\\"calc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"calc\\\"},editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:Ph({},Oh.color,{editType:\\\"style+colorbars\\\"}),width:Ph({},Oh.width,{editType:\\\"style+colorbars\\\"}),dash:zh,smoothing:Ph({},Oh.smoothing,{}),editType:\\\"plot\\\"}},Pe,{autocolorscale:Ph({},Pe.autocolorscale,{dflt:!1}),zmin:Ph({},Pe.zmin,{editType:\\\"calc\\\"}),zmax:Ph({},Pe.zmax,{editType:\\\"calc\\\"})},{colorbar:ze}),Fh=ne.extendFlat,Bh=function(t){var e=t.contours;if(t.autocontour){var r=Nh(t.zmin,t.zmax,t.ncontours);e.size=r.dtick,e.start=ri.tickFirst(r),r.range.reverse(),e.end=ri.tickFirst(r),e.start===t.zmin&&(e.start+=e.size),e.end===t.zmax&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),Fh(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\\\"constraint\\\"!==e.type){var n,i=e.start,a=e.end,o=t._input.contours;if(i>a&&(e.start=o.start=a,a=e.end=o.end=i,i=e.start),!(e.size>0))n=i===a?1:Nh(i,a,t.ncontours).dtick,o.size=e.size=n}};function Nh(t,e,r){var n={type:\\\"linear\\\",range:[t,e]};return ri.autoTicks(n,(e-t)/(r||15)),n}var jh=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e},Vh=function(t){var e,r,n,i,a,o,s,l,u=[],c={},h=[],f=t[0],p=[],d=[0,0,0],g=jh(t);for(r=0;r<t.length;r++)for(e=p,p=f,f=t[r+1]||[],n=0;n<g;n++)void 0===p[n]&&((o=(void 0!==p[n-1]?1:0)+(void 0!==p[n+1]?1:0)+(void 0!==e[n]?1:0)+(void 0!==f[n]?1:0))?(0===r&&o++,0===n&&o++,r===t.length-1&&o++,n===p.length-1&&o++,o<4&&(c[[r,n]]=[r,n,o]),u.push([r,n,o])):h.push([r,n]));for(;h.length;){for(s={},l=!1,a=h.length-1;a>=0;a--)(o=((c[[(r=(i=h[a])[0])-1,n=i[1]]]||d)[2]+(c[[r+1,n]]||d)[2]+(c[[r,n-1]]||d)[2]+(c[[r,n+1]]||d)[2])/20)&&(s[i]=[r,n,o],h.splice(a,1),l=!0);if(!l)throw\\\"findEmpties iterated with no new neighbors\\\";for(i in s)c[i]=s[i],u.push(s[i])}return u.sort(function(t,e){return e[2]-t[2]})},Uh=ne.isArrayOrTypedArray,qh=function(t){return!Uh(t.z[0])},Hh=[[-1,0],[1,0],[0,-1],[0,1]];function Gh(t){return.5-.25*Math.min(1,.5*t)}var Wh=function(t,e,r){var n,i,a=1;if(Array.isArray(r))for(n=0;n<e.length;n++)t[(i=e[n])[0]][i[1]]=r[i[0]][i[1]];else Yh(t,e);for(n=0;n<e.length&&!(e[n][2]<4);n++);for(e=e.slice(n),n=0;n<100&&a>.01;n++)a=Yh(t,e,Gh(a));return a>.01&&ne.log(\\\"interp2d didn't converge quickly\\\",a),t};function Yh(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g,v=0;for(o=0;o<e.length;o++){for(i=(n=e[o])[0],a=n[1],p=t[i][a],f=0,h=0,s=0;s<4;s++)(u=t[i+(l=Hh[s])[0]])&&void 0!==(c=u[a+l[1]])&&(0===f?d=g=c:(d=Math.min(d,c),g=Math.max(g,c)),h++,f+=c);if(0===h)throw\\\"iterateInterp2d order is wrong: no defined neighbors\\\";t[i][a]=f/h,void 0===p?h<4&&(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g>d&&(v=Math.max(v,Math.abs(t[i][a]-p)/(g-d))))}return v}var Xh=ne.isArrayOrTypedArray,Zh=function(t,e,r,n,i,a){var o,s,l,u=[],c=P.traceIs(t,\\\"contour\\\"),h=P.traceIs(t,\\\"histogram\\\"),f=P.traceIs(t,\\\"gl2d\\\");if(Xh(e)&&e.length>1&&!h&&\\\"category\\\"!==a.type){var p=e.length;if(!(p<=i))return c?e.slice(0,i):e.slice(0,i+1);if(c||f)u=e.slice(0,i);else if(1===i)u=[e[0]-.5,e[0]+.5];else{for(u=[1.5*e[0]-.5*e[1]],l=1;l<p;l++)u.push(.5*(e[l-1]+e[l]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p<i){var d=u[u.length-1],g=d-u[u.length-2];for(l=p;l<i;l++)d+=g,u.push(d)}}else{s=n||1;var v=t[a._id.charAt(0)+\\\"calendar\\\"];for(o=h||\\\"category\\\"===a.type?a.r2c(r,0,v)||0:Xh(e)&&1===e.length?e[0]:void 0===r?0:a.d2c(r,0,v),l=c||f?0:-.5;l<i;l++)u.push(o+s*l)}return u},Jh=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n},Kh={count:function(t,e,r){return r[t]++,1},sum:function(t,e,n,i){var a=i[e];return r(a)?(a=Number(a),n[t]+=a,a):0},avg:function(t,e,n,i,a){var o=i[e];return r(o)&&(o=Number(o),n[t]+=o,a[t]++),0},min:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]>a){var o=a-n[t];return n[t]=a,o}}return 0},max:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]<a){var o=a-n[t];return n[t]=a,o}}return 0}},Qh=t.ONEAVGYEAR,$h=t.ONEAVGMONTH,tf=t.ONEDAY,ef=t.ONEHOUR,rf=t.ONEMIN,nf=t.ONESEC,af=ri.tickIncrement,of=function(t,e,r,n,i){var a,o,s=-1.1*e,l=-.1*e,u=t-l,c=r[0],h=r[1],f=Math.min(sf(c+l,c+u,n,i),sf(h+l,h+u,n,i)),p=Math.min(sf(c+s,c+l,n,i),sf(h+s,h+l,n,i));if(f>p&&p<Math.abs(h-c)/4e3?(a=f,o=!1):(a=Math.min(f,p),o=!0),\\\"date\\\"===n.type&&a>tf){var d=a===Qh?1:6,g=a===Qh?\\\"M12\\\":\\\"M1\\\";return function(e,r){var a=n.c2d(e,Qh,i),s=a.indexOf(\\\"-\\\",d);s>0&&(a=a.substr(0,s));var l=n.d2c(a,0,i);if(l<e){var u=af(l,g,!1,i);(l+u)/2<e+t&&(l=u)}return r&&o?af(l,g,!0,i):l}}return function(e,r){var n=a*Math.round(e/a);return n+a/10<e&&n+.9*a<e+t&&(n+=a),r&&o&&(n-=a),n}};function sf(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\\\"date\\\"===r.type,o=lf(i,a),s=0;s<10;s++){var l=lf(80*o,a);if(o===l)break;if(!uf(l,t,e,a,r,n))break;o=l}return o}function lf(t,e){return e&&t>nf?t>tf?t>1.1*Qh?Qh:t>1.1*$h?$h:tf:t>ef?ef:t>rf?rf:nf:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function uf(t,e,r,n,i,a){if(n&&t>tf){var o=cf(e,i,a),s=cf(r,i,a),l=t===Qh?0:1;return o[l]!==s[l]}return Math.floor(r/t)-Math.floor(e/t)>.1}function cf(t,e,r){var n=e.c2d(t,Qh,r).split(\\\"-\\\");return\\\"\\\"===n[0]&&(n.unshift(),n[0]=\\\"-\\\"+n[0]),n}var hf=ne.cleanDate,ff=t.ONEDAY,pf=t.BADNUM,df=function(t,e,n){var i=e.type,a=n+\\\"bins\\\",o=t[a];o||(o=t[a]={});var s=\\\"date\\\"===i?function(t){return t||0===t?hf(t,pf,o.calendar):null}:function(t){return r(t)?Number(t):null};o.start=s(o.start),o.end=s(o.end);var l=\\\"date\\\"===i?ff:1,u=o.size;if(r(u))o.size=u>0?Number(u):l;else if(\\\"string\\\"!=typeof u)o.size=l;else{var c=u.charAt(0),h=u.substr(1);((h=r(h)?Number(h):0)<=0||\\\"date\\\"!==i||\\\"M\\\"!==c||h!==Math.round(h))&&(o.size=l)}var f=\\\"autobin\\\"+n;\\\"boolean\\\"!=typeof t[f]&&(t[f]=t._fullInput[f]=t._input[f]=!((o.start||0===o.start)&&(o.end||0===o.end))),t[f]||(delete t[\\\"nbins\\\"+n],delete t._fullInput[\\\"nbins\\\"+n])},gf={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=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 i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\\\"probability density\\\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}};function vf(t,e,r,n,i,a,o){var s=e+\\\"bins\\\",l=\\\"autobin\\\"+e,u=t[s];df(t,n,e),!t[l]&&u&&null!==u.start&&null!==u.end||(u=ri.autoBin(r,n,t[\\\"nbins\\\"+e],\\\"2d\\\",o),\\\"histogram2dcontour\\\"===t.type&&(u.start=a(ri.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(ri.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[l]=t[l])}function mf(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function yf(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function xf(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=of(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}var bf=function(t,e){var r,n,i,a,o,s,l,u,c,h=ri.getFromId(t,e.xaxis||\\\"x\\\"),f=ri.getFromId(t,e.yaxis||\\\"y\\\"),p=P.traceIs(e,\\\"contour\\\"),d=P.traceIs(e,\\\"histogram\\\"),g=P.traceIs(e,\\\"gl2d\\\"),v=p?\\\"best\\\":e.zsmooth;function m(t){v=e._input.zsmooth=e.zsmooth=!1,ne.warn('cannot use zsmooth: \\\"fast\\\": '+t)}if(h._minDtick=0,f._minDtick=0,d?(r=(c=function(t,e){var r,n,i,a,o=ri.getFromId(t,e.xaxis||\\\"x\\\"),s=e.x?o.makeCalcdata(e,\\\"x\\\"):[],l=ri.getFromId(t,e.yaxis||\\\"y\\\"),u=e.y?l.makeCalcdata(e,\\\"y\\\"):[],c=e.xcalendar,h=e.ycalendar,f=function(t){return o.r2c(t,0,c)},p=function(t){return l.r2c(t,0,h)},d=function(t){return o.c2r(t,0,c)},g=function(t){return l.c2r(t,0,h)},v=Math.min(s.length,u.length);s.length>v&&s.splice(v,s.length-v),u.length>v&&u.splice(v,u.length-v),vf(e,\\\"x\\\",s,o,f,d,c),vf(e,\\\"y\\\",u,l,p,g,h);var m=[],y=[],x=[],b=\\\"string\\\"==typeof e.xbins.size,_=\\\"string\\\"==typeof e.ybins.size,w=[],M=[],A=b?w:e.xbins,k=_?M:e.ybins,T=0,S=[],E=[],C=e.histnorm,L=e.histfunc,z=-1!==C.indexOf(\\\"density\\\"),P=\\\"max\\\"===L||\\\"min\\\"===L?null:0,I=Kh.count,D=gf[C],O=!1,R=[],F=[],B=\\\"z\\\"in e?e.z:\\\"marker\\\"in e&&Array.isArray(e.marker.color)?e.marker.color:\\\"\\\";B&&\\\"count\\\"!==L&&(O=\\\"avg\\\"===L,I=Kh[L]);var N=e.xbins,j=f(N.start),V=f(N.end)+(j-ri.tickIncrement(j,N.size,!1,c))/1e6;for(r=j;r<V;r=ri.tickIncrement(r,N.size,!1,c))y.push(P),w.push(r),O&&x.push(0);w.push(r);var U=y.length,q=f(e.xbins.start),H=(r-q)/U,G=d(q+H/2);for(j=p((N=e.ybins).start),V=p(N.end)+(j-ri.tickIncrement(j,N.size,!1,h))/1e6,r=j;r<V;r=ri.tickIncrement(r,N.size,!1,h)){m.push(y.slice()),M.push(r);var W=new Array(U);for(n=0;n<U;n++)W[n]=[];E.push(W),O&&S.push(x.slice())}M.push(r);var Y=m.length,X=p(e.ybins.start),Z=(r-X)/Y,J=g(X+Z/2);z&&(R=mf(y.length,A,H,b),F=mf(m.length,k,Z,_)),b||\\\"date\\\"!==o.type||(A=yf(f,A)),_||\\\"date\\\"!==l.type||(k=yf(p,k));var K=!0,Q=!0,$=new Array(U),tt=new Array(Y),et=1/0,rt=1/0,nt=1/0,it=1/0;for(r=0;r<v;r++){var at=s[r],ot=u[r];i=ne.findBin(at,A),a=ne.findBin(ot,k),i>=0&&i<U&&a>=0&&a<Y&&(T+=I(i,r,m[a],B,S[a]),E[a][i].push(r),K&&(void 0===$[i]?$[i]=at:$[i]!==at&&(K=!1)),Q&&(void 0===tt[i]?tt[i]=ot:tt[i]!==ot&&(Q=!1)),et=Math.min(et,at-w[i]),rt=Math.min(rt,w[i+1]-at),nt=Math.min(nt,ot-M[a]),it=Math.min(it,M[a+1]-ot))}if(O)for(a=0;a<Y;a++)T+=Jh(m[a],S[a]);if(D)for(a=0;a<Y;a++)D(m[a],T,R,F[a]);return{x:s,xRanges:xf(w,K&&$,et,rt,o,c),x0:G,dx:H,y:u,yRanges:xf(M,Q&&tt,nt,it,l,h),y0:J,dy:Z,z:m,pts:E}}(t,e)).x,n=c.x0,i=c.dx,a=c.y,o=c.y0,s=c.dy,l=c.z):(qh(e)?(Pu(e,h,f,\\\"x\\\",\\\"y\\\",[\\\"z\\\"]),r=e.x,a=e.y):(r=e.x?h.makeCalcdata(e,\\\"x\\\"):[],a=e.y?f.makeCalcdata(e,\\\"y\\\"):[]),n=e.x0||0,i=e.dx||1,o=e.y0||0,s=e.dy||1,l=xu(e.z,e.transpose),(p||e.connectgaps)&&(e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz))),\\\"fast\\\"===v)if(\\\"log\\\"===h.type||\\\"log\\\"===f.type)m(\\\"log axis found\\\");else if(!d){if(r.length){var y=(r[r.length-1]-r[0])/(r.length-1),x=Math.abs(y/100);for(u=0;u<r.length-1;u++)if(Math.abs(r[u+1]-r[u]-y)>x){m(\\\"x scale is not linear\\\");break}}if(a.length&&\\\"fast\\\"===v){var b=(a[a.length-1]-a[0])/(a.length-1),_=Math.abs(b/100);for(u=0;u<a.length-1;u++)if(Math.abs(a[u+1]-a[u]-b)>_){m(\\\"y scale is not linear\\\");break}}}var w=jh(l),M=\\\"scaled\\\"===e.xtype?\\\"\\\":r,A=Zh(e,M,n,i,w,h),k=\\\"scaled\\\"===e.ytype?\\\"\\\":a,T=Zh(e,k,o,s,l.length,f);g||(ri.expand(h,A),ri.expand(f,T));var S={x:A,y:T,z:l,text:e.text};if(M&&M.length===A.length-1&&(S.xCenter=M),k&&k.length===T.length-1&&(S.yCenter=k),d&&(S.xRanges=c.xRanges,S.yRanges=c.yRanges,S.pts=c.pts),p&&\\\"constraint\\\"===e.contours.type||Ve(e,l,\\\"\\\",\\\"z\\\"),p&&e.contours&&\\\"heatmap\\\"===e.contours.coloring){var E={type:\\\"contour\\\"===e.type?\\\"heatmap\\\":\\\"histogram2d\\\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};S.xfill=Zh(E,M,n,i,w,h),S.yfill=Zh(E,k,o,s,l.length,f)}return[S]},_f=function(t,e){var r=bf(t,e);return Bh(e),r},wf=function(t){return t.end+t.size/1e6},Mf=function(t){var r=t.contours,n=r.start,i=wf(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=\\\"lines\\\"===r.coloring?0:1;isFinite(a)||(a=1,o=1);var l,u,c=t.colorscale,h=c.length,f=new Array(h),p=new Array(h);if(\\\"heatmap\\\"===r.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=n-a/2,t.zmax=t.zmin+o*a),u=0;u<h;u++)l=c[u],f[u]=l[0]*(t.zmax-t.zmin)+t.zmin,p[u]=l[1];var d=e.extent([t.zmin,t.zmax,r.start,r.start+a*(o-1)]),g=d[t.zmin<t.zmax?0:1],v=d[t.zmin<t.zmax?1:0];g!==t.zmin&&(f.splice(0,0,g),p.splice(0,0,Range[0])),v!==t.zmax&&(f.push(v),p.push(p[p.length-1]))}else for(u=0;u<h;u++)l=c[u],f[u]=(l[0]*(o+s-1)-s/2)*a+n,p[u]=l[1];return Je.makeColorScaleFunc({domain:f,range:p},{noNumericCheck:!0})},Af=function(t,e){var r=e[0].trace,n=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+n).remove(),r.showscale){var i=ns(t,n);e[0].t.cb=i;var a=r.contours,o=r.line,s=a.size||1,l=a.coloring,u=Mf(r);\\\"heatmap\\\"===l&&i.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),i.fillcolor(\\\"fill\\\"===l||\\\"heatmap\\\"===l?u:\\\"\\\").line({color:\\\"lines\\\"===l?u:o.color,width:!1!==a.showlines?o.width:0,dash:o.dash}).levels({start:a.start,end:wf(a),size:s}).options(r.colorbar)()}else _n.autoMargin(t,n)},kf=function(t,e,r,n){if(n||(n={}),t(\\\"contours.showlabels\\\")){var i=e.font;ne.coerceFont(t,\\\"contours.labelfont\\\",{family:i.family,size:i.size,color:r}),t(\\\"contours.labelformat\\\")}!1!==n.hasHover&&t(\\\"zhoverformat\\\")},Tf=Oe.addOpacity,Sf=Oe.opacity,Ef=Eh.CONSTRAINT_REDUCTION,Cf=Eh.COMPARISON_OPS2,Lf=function(t,e,n,i,a,o){var s,l,u,c=e.contours,h=n(\\\"contours.operation\\\");(c._operation=Ef[h],function(t,e){var n;-1===Cf.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?(n=parseFloat(e.value[0]),e.value=[n,n+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:r(e.value)&&(n=parseFloat(e.value),e.value=[n,n+1])):(t(\\\"contours.value\\\",0),r(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(n,c),\\\"=\\\"===h?s=c.showlines=!0:(s=n(\\\"contours.showlines\\\"),u=n(\\\"fillcolor\\\",Tf((t.line||{}).color||a,.5))),s)&&(l=n(\\\"line.color\\\",u&&Sf(u)?Tf(e.fillcolor,1):a),n(\\\"line.width\\\",2),n(\\\"line.dash\\\"));n(\\\"line.smoothing\\\"),kf(n,i,l,o)};var zf=function(t,e,r,n){var i=n(\\\"contours.start\\\"),a=n(\\\"contours.end\\\"),o=!1===i||!1===a,s=r(\\\"contours.size\\\");!(o?e.autocontour=!0:r(\\\"autocontour\\\",!1))&&s||r(\\\"ncontours\\\")},Pf=function(t,e,r,n,i){var a,o=r(\\\"contours.coloring\\\"),s=\\\"\\\";\\\"fill\\\"===o&&(a=r(\\\"contours.showlines\\\")),!1!==a&&(\\\"lines\\\"!==o&&(s=r(\\\"line.color\\\",\\\"#000\\\")),r(\\\"line.width\\\",.5),r(\\\"line.dash\\\")),\\\"none\\\"!==o&&Ye(t,e,n,r,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),r(\\\"line.smoothing\\\"),kf(r,n,s,i)},If=ne.isArrayOrTypedArray,Df=function(t,e,n,i,a,o){var s,l,u=n(\\\"z\\\");if(a=a||\\\"x\\\",o=o||\\\"y\\\",void 0===u||!u.length)return 0;if(qh(t)){if(s=n(a),l=n(o),!s||!l)return 0}else{if(s=Of(a,n),l=Of(o,n),!function(t){for(var e,n=!0,i=!1,a=!1,o=0;o<t.length;o++){if(e=t[o],!If(e)){n=!1;break}e.length>0&&(i=!0);for(var s=0;s<e.length;s++)if(r(e[s])){a=!0;break}}return n&&i&&a}(u))return 0;n(\\\"transpose\\\")}return P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[a,o],i),e.z.length};function Of(t,e){var r=e(t);return\\\"scaled\\\"===(r?e(t+\\\"type\\\",\\\"array\\\"):\\\"scaled\\\")&&(e(t+\\\"0\\\"),e(\\\"d\\\"+t)),r}var Rf=function(t,e,r,n,i,a){var o,s,l,u,c=t.cd[0],h=c.trace,f=t.xa,p=t.ya,d=c.x,g=c.y,v=c.z,m=c.xCenter,y=c.yCenter,x=c.zmask,b=[h.zmin,h.zmax],_=h.zhoverformat,w=d,M=g;if(!1!==t.index){try{l=Math.round(t.index[1]),u=Math.round(t.index[0])}catch(e){return void ne.error(\\\"Error hovering on heatmap, pointNumber must be [row,col], found:\\\",t.index)}if(l<0||l>=v[0].length||u<0||u>v.length)return}else{if(yo.inbox(e-d[0],e-d[d.length-1],0)>0||yo.inbox(r-g[0],r-g[g.length-1],0)>0)return;if(a){var A;for(w=[2*d[0]-d[1]],A=1;A<d.length;A++)w.push((d[A]+d[A-1])/2);for(w.push([2*d[d.length-1]-d[d.length-2]]),M=[2*g[0]-g[1]],A=1;A<g.length;A++)M.push((g[A]+g[A-1])/2);M.push([2*g[g.length-1]-g[g.length-2]])}l=Math.max(0,Math.min(w.length-2,ne.findBin(e,w))),u=Math.max(0,Math.min(M.length-2,ne.findBin(r,M)))}var k=f.c2p(d[l]),T=f.c2p(d[l+1]),S=p.c2p(g[u]),E=p.c2p(g[u+1]);a?(T=k,o=d[l],E=S,s=g[u]):(o=m?m[l]:(d[l]+d[l+1])/2,s=y?y[u]:(g[u]+g[u+1])/2,h.zsmooth&&(k=T=f.c2p(o),S=E=p.c2p(s)));var C,L,z=v[u][l];x&&!x[u][l]&&(z=void 0),Array.isArray(c.text)&&Array.isArray(c.text[u])&&(C=c.text[u][l]);var P={type:\\\"linear\\\",range:b,hoverformat:_,_separators:f._separators,_numFormat:f._numFormat};return L=ri.tickText(P,z,\\\"hover\\\").text,[ne.extendFlat(t,{index:[u,l],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:k,x1:T,y0:S,y1:E,xLabelVal:o,yLabelVal:s,zLabelVal:z,zLabel:L,text:C})]},Ff=function(t,e,r,n,i){var a=Rf(t,e,r,0,0,!0);return a&&a.forEach(function(t){var e=t.trace;\\\"constraint\\\"===e.contours.type&&(e.fillcolor&&Oe.opacity(e.fillcolor)?t.color=Oe.addOpacity(e.fillcolor,1):e.contours.showlines&&Oe.opacity(e.line.color)&&(t.color=Oe.addOpacity(e.line.color,1)))}),a},Bf=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,u=s.y.length,c=s.z,h=n.contours,f=-1/0,p=1/0;for(i=0;i<u;i++)p=Math.min(p,c[i][0]),p=Math.min(p,c[i][l-1]),f=Math.max(f,c[i][0]),f=Math.max(f,c[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,c[0][i]),p=Math.min(p,c[u-1][i]),f=Math.max(f,c[0][i]),f=Math.max(f,c[u-1][i]);switch(s.prefixBoundary=!1,e){case\\\">\\\":h.value>f&&(s.prefixBoundary=!0);break;case\\\"<\\\":h.value<p&&(s.prefixBoundary=!0);break;case\\\"[]\\\":a=Math.min.apply(null,h.value),((o=Math.max.apply(null,h.value))<p||a>f)&&(s.prefixBoundary=!0);break;case\\\"][\\\":a=Math.min.apply(null,h.value),o=Math.max.apply(null,h.value),a<p&&o>f&&(s.prefixBoundary=!0)}},Nf={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}},jf=function(t,e){var r,n,i,a=function(t){return t.reverse()},o=function(t){return t};switch(e){case\\\"=\\\":case\\\"<\\\":return t;case\\\">\\\":for(1!==t.length&&ne.warn(\\\"Contour data invalid for the specified inequality operation.\\\"),n=t[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);return t;case\\\"][\\\":var s=a;a=o,o=s;case\\\"[]\\\":for(2!==t.length&&ne.warn(\\\"Contour data invalid for the specified inequality range operation.\\\"),n=Vf(t[0]),i=Vf(t[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));return[n]}};function Vf(t){return ne.extendFlat({},t,{edgepaths:ne.extendDeep([],t.edgepaths),paths:ne.extendDeep([],t.paths)})}var Uf={\\\"[]\\\":Hf(\\\"[]\\\"),\\\"][\\\":Hf(\\\"][\\\"),\\\">\\\":Gf(\\\">\\\"),\\\"<\\\":Gf(\\\"<\\\"),\\\"=\\\":Gf(\\\"=\\\")};function qf(t,e){var n,i=Array.isArray(e);function a(t){return r(t)?+t:null}return-1!==Eh.COMPARISON_OPS2.indexOf(t)?n=a(i?e[0]:e):-1!==Eh.INTERVAL_OPS.indexOf(t)?n=i?[a(e[0]),a(e[1])]:[a(e),a(e)]:-1!==Eh.SET_OPS.indexOf(t)&&(n=i?e.map(a):[a(e)]),n}function Hf(t){return function(e){e=qf(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 Gf(t){return function(e){return{start:e=qf(t,e),end:1/0,size:1/0}}}var Wf=function(t,e,r){for(var n=\\\"constraint\\\"===t.type?Uf[t._operation](t.value):t,i=n.size,a=[],o=wf(n),s=r.trace.carpetTrace,l=s?{xaxis:s.aaxis,yaxis:s.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},u=n.start;u<o;u+=i)if(a.push(ne.extendFlat({level:u,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},l)),a.length>1e3){ne.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return a},Yf=function(t,e,r){var n,i,a,o;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(a=t[i],o=0;o<a.starts.length;o++)Zf(a,a.starts[o],\\\"edge\\\",e,r);for(n=0;Object.keys(a.crossings).length&&n<1e4;)n++,Zf(a,Object.keys(a.crossings)[0].split(\\\",\\\").map(Number),void 0,e,r);1e4===n&&ne.log(\\\"Infinite loop in contour?\\\")}};function Xf(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function Zf(t,e,r,n,i){var a,o=e.join(\\\",\\\"),s=o,l=t.crossings[s],u=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!==Nf.BOTTOMSTART.indexOf(t)?i=1:-1!==Nf.LEFTSTART.indexOf(t)?n=1:-1!==Nf.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(l,r,e),c=[Jf(t,e,[-u[0],-u[1]])],h=u.join(\\\",\\\"),f=t.z.length,p=t.z[0].length;for(a=0;a<1e4;a++){if(l>20?(l=Nf.CHOOSESADDLE[l][(u[0]||u[1])<0?0:1],t.crossings[s]=Nf.SADDLEREMAINDER[l]):delete t.crossings[s],!(u=Nf.NEWDELTA[l])){ne.log(\\\"Found bad marching index:\\\",l,e,t.level);break}c.push(Jf(t,e,u)),e[0]+=u[0],e[1]+=u[1],Xf(c[c.length-1],c[c.length-2],n,i)&&c.pop(),s=e.join(\\\",\\\");var d=u[0]&&(e[0]<0||e[0]>p-2)||u[1]&&(e[1]<0||e[1]>f-2);if(s===o&&u.join(\\\",\\\")===h||r&&d)break;l=t.crossings[s]}1e4===a&&ne.log(\\\"Infinite loop in contour?\\\");var g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L=Xf(c[0],c[c.length-1],n,i),z=0,P=.2*t.smoothing,I=[],D=0;for(a=1;a<c.length;a++)T=c[a],S=c[a-1],void 0,void 0,E=T[2]-S[2],C=T[3]-S[3],z+=_=Math.sqrt(E*E+C*C),I.push(_);var O=z/I.length*P;function R(t){return c[t%c.length]}for(a=c.length-2;a>=D;a--)if((g=I[a])<O){for(m=0,v=a-1;v>=D&&g+I[v]<O;v--)g+=I[v];if(L&&a===c.length-2)for(m=0;m<v&&g+I[m]<O;m++)g+=I[m];x=a-v+m+1,b=Math.floor((a+v+m+2)/2),y=L||a!==c.length-2?L||-1!==v?x%2?R(b):[(R(b)[0]+R(b+1)[0])/2,(R(b)[1]+R(b+1)[1])/2]:c[0]:c[c.length-1],c.splice(v+1,a-v+1,y),a=v+1,m&&(D=m),L&&(a===c.length-2?c[m]=c[c.length-1]:0===a&&(c[c.length-1]=c[0]))}for(c.splice(0,D),a=0;a<c.length;a++)c[a].length=2;if(!(c.length<2))if(L)c.pop(),t.paths.push(c);else{r||ne.log(\\\"Unclosed interior contour?\\\",t.level,o,c.join(\\\"L\\\"));var F=!1;for(w=0;w<t.edgepaths.length;w++)if(A=t.edgepaths[w],!F&&Xf(A[0],c[c.length-1],n,i)){c.pop(),F=!0;var B=!1;for(M=0;M<t.edgepaths.length;M++)if(Xf((k=t.edgepaths[M])[k.length-1],c[0],n,i)){B=!0,c.shift(),t.edgepaths.splice(w,1),M===w?t.paths.push(c.concat(k)):(M>w&&M--,t.edgepaths[M]=k.concat(c,A));break}B||(t.edgepaths[w]=c.concat(A))}for(w=0;w<t.edgepaths.length&&!F;w++)Xf((A=t.edgepaths[w])[A.length-1],c[0],n,i)&&(c.shift(),t.edgepaths[w]=A.concat(c),F=!0);F||t.edgepaths.push(c)}}function Jf(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var u=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-u)*t.y[i]+u*t.y[i+1],!0),n,i+u]}var Kf=function(t){var e,r,n,i,a,o,s,l,u,c=t[0].z,h=c.length,f=c[0].length,p=2===h||2===f;for(r=0;r<h-1;r++)for(i=[],0===r&&(i=i.concat(Nf.BOTTOMSTART)),r===h-2&&(i=i.concat(Nf.TOPSTART)),e=0;e<f-1;e++)for(n=i.slice(),0===e&&(n=n.concat(Nf.LEFTSTART)),e===f-2&&(n=n.concat(Nf.RIGHTSTART)),a=e+\\\",\\\"+r,o=[[c[r][e],c[r][e+1]],[c[r+1][e],c[r+1][e+1]]],u=0;u<t.length;u++)(s=Qf((l=t[u]).level,o))&&(l.crossings[a]=s,-1!==n.indexOf(s)&&(l.starts.push([e,r]),p&&-1!==n.indexOf(s,n.indexOf(s)+1)&&l.starts.push([e,r])))};function Qf(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}var $f=function(t,e,r){for(var n=0;n<r.length;n++)tp(t,e,r[n])};function tp(t,e,r){var n=r[0],i=n.trace,a=i.uid,o=e.xaxis,l=e.yaxis,u=t._fullLayout,c=\\\"hm\\\"+a;if(u._paper.selectAll(\\\".contour\\\"+a).remove(),u._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".contour\\\"+a).remove(),!0!==i.visible)return u._paper.selectAll(\\\".\\\"+c).remove(),void u._infolayer.selectAll(\\\".cb\\\"+a).remove();var h,f,p,d,g,v,m=n.z,y=n.x,x=n.y,b=n.xCenter,_=n.yCenter,w=P.traceIs(i,\\\"contour\\\"),M=w?\\\"best\\\":i.zsmooth,A=m.length,k=jh(m),T=!1,S=!1;for(v=0;void 0===h&&v<y.length-1;)h=o.c2p(y[v]),v++;for(v=y.length-1;void 0===f&&v>0;)f=o.c2p(y[v]),v--;for(f<h&&(p=f,f=h,h=p,T=!0),v=0;void 0===d&&v<x.length-1;)d=l.c2p(x[v]),v++;for(v=x.length-1;void 0===g&&v>0;)g=l.c2p(x[v]),v--;if(g<d&&(p=d,d=g,g=p,S=!0),w&&(b=y,_=x,y=n.xfill,x=n.yfill),\\\"fast\\\"!==M){var E=\\\"best\\\"===M?0:.5;h=Math.max(-E*o._length,h),f=Math.min((1+E)*o._length,f),d=Math.max(-E*l._length,d),g=Math.min((1+E)*l._length,g)}var C=Math.round(f-h),L=Math.round(g-d),z=C<=0||L<=0,I=e.plot.select(\\\".imagelayer\\\").selectAll(\\\"g.hm.\\\"+c).data(z?[]:[0]);if(I.enter().append(\\\"g\\\").classed(\\\"hm\\\",!0).classed(c,!0),I.exit().remove(),!z){var D,O;\\\"fast\\\"===M?(D=k,O=A):(D=C,O=L);var R=document.createElement(\\\"canvas\\\");R.width=D,R.height=O;var F,B,N=R.getContext(\\\"2d\\\"),j=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,i.zmin,i.zmax),{noNumericCheck:!0,returnArray:!0});\\\"fast\\\"===M?(F=T?function(t){return k-1-t}:ne.identity,B=S?function(t){return A-1-t}:ne.identity):(F=function(t){return ne.constrain(Math.round(o.c2p(y[t])-h),0,C)},B=function(t){return ne.constrain(Math.round(l.c2p(x[t])-d),0,L)});var V,U,q,H,G,W=B(0),Y=[W,W],X=T?0:1,Z=S?0:1,J=0,K=0,Q=0,$=0;if(M){var tt,et=0;try{tt=new Uint8Array(C*L*4)}catch(t){tt=new Array(C*L*4)}if(\\\"best\\\"===M){var rt,nt,it,at=b||y,ot=_||x,st=new Array(at.length),lt=new Array(ot.length),ut=new Array(C),ct=b?rp:ep,ht=_?rp:ep;for(v=0;v<at.length;v++)st[v]=Math.round(o.c2p(at[v])-h);for(v=0;v<ot.length;v++)lt[v]=Math.round(l.c2p(ot[v])-d);for(v=0;v<C;v++)ut[v]=ct(v,st);for(U=0;U<L;U++)for(nt=m[(rt=ht(U,lt)).bin0],it=m[rt.bin1],v=0;v<C;v++,et+=4)np(tt,et,G=wt(nt,it,ut[v],rt))}else for(U=0;U<A;U++)for(H=m[U],Y=B(U),v=0;v<C;v++)G=_t(H[v],1),np(tt,et=4*(Y*C+F(v)),G);var ft=N.createImageData(C,L);try{ft.data.set(tt)}catch(t){var pt=ft.data,dt=pt.length;for(U=0;U<dt;U++)pt[U]=tt[U]}N.putImageData(ft,0,0)}else{var gt=i.xgap,vt=i.ygap,mt=Math.floor(gt/2),yt=Math.floor(vt/2);for(U=0;U<A;U++)if(H=m[U],Y.reverse(),Y[Z]=B(U+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1])for(V=[q=F(0),q],v=0;v<k;v++)V.reverse(),V[X]=F(v+1),V[0]!==V[1]&&void 0!==V[0]&&void 0!==V[1]&&(G=_t(H[v],(V[1]-V[0])*(Y[1]-Y[0])),N.fillStyle=\\\"rgba(\\\"+G.join(\\\",\\\")+\\\")\\\",N.fillRect(V[0]+mt,Y[0]+yt,V[1]-V[0]-gt,Y[1]-Y[0]-vt))}K=Math.round(K/J),Q=Math.round(Q/J),$=Math.round($/J);var xt=s(\\\"rgb(\\\"+K+\\\",\\\"+Q+\\\",\\\"+$+\\\")\\\");t._hmpixcount=(t._hmpixcount||0)+J,t._hmlumcount=(t._hmlumcount||0)+J*xt.getLuminance();var bt=I.selectAll(\\\"image\\\").data(r);bt.enter().append(\\\"svg:image\\\").attr({xmlns:$e.svg,preserveAspectRatio:\\\"none\\\"}),bt.attr({height:L,width:C,x:h,y:d,\\\"xlink:href\\\":R.toDataURL(\\\"image/png\\\")}),bt.exit().remove()}function _t(t,e){if(void 0!==t){var r=j(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),J+=e,K+=r[0]*e,Q+=r[1]*e,$+=r[2]*e,r}return[0,0,0,0]}function wt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return _t(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,_t(i+r.frac*u+n.frac*(c+r.frac*a))}}function ep(t,e){var r=e.length-2,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=e[n+1],o=ne.constrain(n+(t-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return o&&o!==r&&l?{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}:{bin0:s,bin1:s,frac:0}}function rp(t,e){var r=e.length-1,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function np(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])}var ip={},ap=Nf.LABELOPTIMIZER;function op(t,r,n){var i=n[0].trace,a=n[0].x,o=n[0].y,s=i.contours,l=i.uid,u=r.xaxis,c=r.yaxis,h=t._fullLayout,f=\\\"contour\\\"+l,p=Wf(s,r,n[0]);if(!0!==i.visible)return h._paper.selectAll(\\\".\\\"+f+\\\",.hm\\\"+l).remove(),void h._infolayer.selectAll(\\\".cb\\\"+l).remove();\\\"heatmap\\\"===s.coloring?(i.zauto&&!1===i.autocontour&&(i._input.zmin=i.zmin=s.start-s.size/2,i._input.zmax=i.zmax=i.zmin+p.length*s.size),$f(t,r,[n])):(h._paper.selectAll(\\\".hm\\\"+l).remove(),h._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".hm\\\"+l).remove()),Kf(p),Yf(p);var d=u.c2p(a[0],!0),g=u.c2p(a[a.length-1],!0),v=c.c2p(o[0],!0),m=c.c2p(o[o.length-1],!0),y=[[d,m],[g,m],[g,v],[d,v]],x=p;\\\"constraint\\\"===s.type&&(x=jf(p,s._operation),Bf(x,s._operation,y,i));var b=ip.makeContourGroup(r,n,f);!function(t,e,r){var n=t.selectAll(\\\"g.contourbg\\\").data([0]);n.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var i=n.selectAll(\\\"path\\\").data(\\\"fill\\\"===r.coloring?[0]:[]);i.enter().append(\\\"path\\\"),i.exit().remove(),i.attr(\\\"d\\\",\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}(b,y,s),function(t,r,n,i){var a=t.selectAll(\\\"g.contourfill\\\").data([0]);a.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var o=a.selectAll(\\\"path\\\").data(\\\"fill\\\"===i.coloring||\\\"constraint\\\"===i.type&&\\\"=\\\"!==i._operation?r:[]);o.enter().append(\\\"path\\\"),o.exit().remove(),o.each(function(t){var r=sp(t,n);r?e.select(this).attr(\\\"d\\\",r).style(\\\"stroke\\\",\\\"none\\\"):e.select(this).remove()})}(b,x,y,s),function(t,r,n,i,a,o){var s=t.selectAll(\\\"g.contourlines\\\").data([0]);s.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var l=!1!==a.showlines,u=a.showlabels,c=l&&u,h=ip.createLines(s,l||u,r),f=ip.createLineClip(s,c,n._fullLayout._clips,i.trace.uid),p=t.selectAll(\\\"g.contourlabels\\\").data(u?[0]:[]);if(p.exit().remove(),p.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),u){var d=[o],g=[];ne.clearLocationCache();var v=ip.labelFormatter(a,i.t.cb,n._fullLayout),m=Sr.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(Sr.font,a.labelfont),y=r[0].xaxis._length,x=r[0].yaxis._length,b={left:Math.max(o[0][0],0),right:Math.min(o[2][0],y),top:Math.max(o[0][1],0),bottom:Math.min(o[2][1],x)};b.middle=(b.top+b.bottom)/2,b.center=(b.left+b.right)/2;var _=Math.sqrt(y*y+x*x),w=Nf.LABELDISTANCE*_/Math.max(1,r.length/Nf.LABELINCREASE);h.each(function(t){var r=ip.calcTextOpts(t.level,v,m,n);e.select(this).selectAll(\\\"path\\\").each(function(){var t=ne.getVisibleSegment(this,b,r.height/2);if(t&&!(t.len<(r.width+r.height)*Nf.LABELMIN))for(var e=Math.min(Math.ceil(t.len/w),Nf.LABELMAX),n=0;n<e;n++){var i=ip.findBestTextLocation(this,t,r,g,b);if(!i)break;ip.addLabelData(i,r,g,d)}})}),m.remove(),ip.drawLabels(p,g,n,f,c?d:null)}u&&!l&&h.remove()}(b,p,t,n[0],s,y),function(t,e,r,n,i){var a=\\\"clip\\\"+n.trace.uid,o=r.selectAll(\\\"#\\\"+a).data(n.trace.connectgaps?[]:[0]);if(o.enter().append(\\\"clipPath\\\").classed(\\\"contourclip\\\",!0).attr(\\\"id\\\",a),o.exit().remove(),!1===n.trace.connectgaps){var s={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};Kf([s]),Yf([s]);var l=sp(s,i),u=o.selectAll(\\\"path\\\").data([0]);u.enter().append(\\\"path\\\"),u.attr(\\\"d\\\",l)}else a=null;t.call(Sr.setClipUrl,a),e.plot.selectAll(\\\".hm\\\"+n.trace.uid).call(Sr.setClipUrl,a)}(b,r,h._clips,n[0],y)}function sp(t,e){var r,n,i,a,o,s,l,u=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\":\\\"\\\"}(t,e),c=0,h=t.edgepaths.map(function(t,e){return e}),f=!0;function p(t){return Math.abs(t[1]-e[2][1])<.01}function d(t){return Math.abs(t[0]-e[0][0])<.01}function g(t){return Math.abs(t[0]-e[2][0])<.01}for(;h.length;){for(s=Sr.smoothopen(t.edgepaths[c],t.smoothing),u+=f?s:s.replace(/^M/,\\\"L\\\"),h.splice(h.indexOf(c),1),r=t.edgepaths[c][t.edgepaths[c].length-1],a=-1,i=0;i<4;i++){if(!r){ne.log(\\\"Missing end?\\\",c,t);break}for(l=r,Math.abs(l[1]-e[0][1])<.01&&!g(r)?n=e[1]:d(r)?n=e[0]:p(r)?n=e[3]:g(r)&&(n=e[2]),o=0;o<t.edgepaths.length;o++){var v=t.edgepaths[o][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-v[0])<.01&&(v[1]-r[1])*(n[1]-v[1])>=0&&(n=v,a=o):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-v[1])<.01&&(v[0]-r[0])*(n[0]-v[0])>=0&&(n=v,a=o):ne.log(\\\"endpt to newendpt is not vert. or horz.\\\",r,n,v)}if(r=n,a>=0)break;u+=\\\"L\\\"+n}if(a===t.edgepaths.length){ne.log(\\\"unclosed perimeter path\\\");break}c=a,(f=-1===h.indexOf(c))&&(c=h[0],u+=\\\"Z\\\")}for(c=0;c<t.paths.length;c++)u+=Sr.smoothclosed(t.paths[c],t.smoothing);return u}function lp(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,h=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),f=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(h<1||f<1)return 1/0;var p=ap.EDGECOST*(1/(h-1)+1/(f-1));p+=ap.ANGLECOST*l*l;for(var d=o-u,g=s-c,v=o+u,m=s+c,y=0;y<r.length;y++){var x=r[y],b=Math.cos(x.theta)*x.width/2,_=Math.sin(x.theta)*x.width/2,w=2*ne.segmentDistance(d,g,v,m,x.x-b,x.y-_,x.x+b,x.y+_)/(e.height+x.height),M=x.level===e.level,A=M?ap.SAMELEVELDISTANCE:1;if(w<=A)return 1/0;p+=ap.NEIGHBORCOST*(M?ap.SAMELEVELFACTOR:1)/(w-A)}return p}ip.plot=function(t,e,r){for(var n=0;n<r.length;n++)op(t,e,r[n])},ip.makeContourGroup=function(t,e,r){var n=t.plot.select(\\\".maplayer\\\").selectAll(\\\"g.contour.\\\"+r).data(e);return n.enter().append(\\\"g\\\").classed(\\\"contour\\\",!0).classed(r,!0),n.exit().remove(),n},ip.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\\\"g.contourlevel\\\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\\\"g\\\").classed(\\\"contourlevel\\\",!0),e){var a=i.selectAll(\\\"path.openline\\\").data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(\\\"path\\\").classed(\\\"openline\\\",!0),a.attr(\\\"d\\\",function(t){return Sr.smoothopen(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\");var o=i.selectAll(\\\"path.closedline\\\").data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(\\\"path\\\").classed(\\\"closedline\\\",!0),o.attr(\\\"d\\\",function(t){return Sr.smoothclosed(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\")}return i},ip.createLineClip=function(t,e,r,n){var i=e?\\\"clipline\\\"+n:null,a=r.selectAll(\\\"#\\\"+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(\\\"clipPath\\\").classed(\\\"contourlineclip\\\",!0).attr(\\\"id\\\",i),Sr.setClipUrl(t,i),a},ip.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\\\"linear\\\",_id:\\\"ycontour\\\",showexponent:\\\"all\\\"},\\\"constraint\\\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),ei(n,r),ri.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return ri.tickText(n,t).text}},ip.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(er.convertToTspans,n);var a=Sr.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},ip.findBestTextLocation=function(t,e,r,n,i){var a,o,s,l,u,c=r.width;e.isClosed?(o=e.len/ap.INITIALSEARCHPOINTS,a=e.min+o/2,s=e.max):(o=(e.len-c)/(ap.INITIALSEARCHPOINTS+1),a=e.min+o+c/2,s=e.max-(o+c)/2);for(var h=1/0,f=0;f<ap.ITERATIONS;f++){for(var p=a;p<s;p+=o){var d=ne.getTextLocation(t,e.total,p,c),g=lp(d,r,n,i);g<h&&(h=g,u=d,l=p)}if(h>2*ap.MAXCOST)break;f&&(o/=2),s=(a=l-o/2)+1.5*o}if(h<=ap.MAXCOST)return u},ip.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.sin(l),c=Math.cos(l),h=i*c,f=a*u,p=i*u,d=-a*c,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},ip.drawLabels=function(t,r,n,i,a){var o=t.selectAll(\\\"text\\\").data(r,function(t){return t.text+\\\",\\\"+t.x+\\\",\\\"+t.y+\\\",\\\"+t.theta});if(o.exit().remove(),o.enter().append(\\\"text\\\").attr({\\\"data-notex\\\":1,\\\"text-anchor\\\":\\\"middle\\\"}).each(function(t){var r=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;e.select(this).text(t.text).attr({x:r,y:i,transform:\\\"rotate(\\\"+180*t.theta/Math.PI+\\\" \\\"+r+\\\" \\\"+i+\\\")\\\"}).call(er.convertToTspans,n)}),a){for(var s=\\\"\\\",l=0;l<a.length;l++)s+=\\\"M\\\"+a[l].join(\\\"L\\\")+\\\"Z\\\";var u=i.selectAll(\\\"path\\\").data([0]);u.enter().append(\\\"path\\\"),u.attr(\\\"d\\\",s)}};var up=function(t){e.select(t).selectAll(\\\".hm image\\\").style(\\\"opacity\\\",function(t){return t.trace.opacity})},cp=function(t){var r=e.select(t).selectAll(\\\"g.contour\\\");r.style(\\\"opacity\\\",function(t){return t.trace.opacity}),r.each(function(t){var r=e.select(this),n=t.trace,i=n.contours,a=n.line,o=i.size||1,s=i.start,l=\\\"constraint\\\"===i.type,u=!l&&\\\"lines\\\"===i.coloring,c=!l&&\\\"fill\\\"===i.coloring,h=u||c?Mf(n):null;r.selectAll(\\\"g.contourlevel\\\").each(function(t){e.select(this).selectAll(\\\"path\\\").call(Sr.lineGroupStyle,a.width,u?h(t.level):a.color,a.dash)});var f=i.labelfont;if(r.selectAll(\\\"g.contourlabels text\\\").each(function(t){Sr.font(e.select(this),{family:f.family,size:f.size,color:f.color||(u?h(t.level):a.color)})}),l)r.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",n.fillcolor);else if(c){var p;r.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",function(t){return void 0===p&&(p=t.level),h(t.level+.5*o)}),void 0===p&&(p=s),r.selectAll(\\\"g.contourbg path\\\").style(\\\"fill\\\",h(p-.5*o))}}),up(t)},hp={};hp.attributes=Rh,hp.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Rh,r,n)}if(Df(t,e,i,n)){i(\\\"text\\\");var a=\\\"constraint\\\"===i(\\\"contours.type\\\");i(\\\"connectgaps\\\",qh(e)),a||delete e.showlegend,a?Lf(t,e,i,n,r):(zf(0,e,i,function(r){return ne.coerce2(t,e,Rh,r)}),Pf(t,e,i,n))}else e.visible=!1},hp.calc=_f,hp.plot=ip.plot,hp.style=cp,hp.colorbar=Af,hp.hoverPoints=Ff,hp.moduleType=\\\"trace\\\",hp.name=\\\"contour\\\",hp.basePlotModule=ua,hp.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"showLegend\\\"],hp.meta={};var fp=hp,pp=Rh.contours,dp=m.extendFlat,gp=Zr.line,vp=dp({},{carpet:{valType:\\\"string\\\",editType:\\\"calc\\\"},z:Lh.z,a:Lh.x,a0:Lh.x0,da:Lh.dx,b:Lh.y,b0:Lh.y0,db:Lh.dy,text:Lh.text,transpose:Lh.transpose,atype:Lh.xtype,btype:Lh.ytype,fillcolor:Rh.fillcolor,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:{type:pp.type,start:pp.start,end:pp.end,size:pp.size,coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"calc\\\"},showlines:pp.showlines,showlabels:pp.showlabels,labelfont:pp.labelfont,labelformat:pp.labelformat,operation:pp.operation,value:pp.value,editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:dp({},gp.color,{}),width:gp.width,dash:gp.dash,smoothing:dp({},gp.smoothing,{}),editType:\\\"plot\\\"}},Pe,{autocolorscale:dp({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),mp=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\\\"carpet\\\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r},yp=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,vp,r,n)}if(i(\\\"carpet\\\"),t.a&&t.b){if(!Df(t,e,i,n,\\\"a\\\",\\\"b\\\"))return void(e.visible=!1);i(\\\"text\\\");var a=\\\"constraint\\\"===i(\\\"contours.type\\\");a||delete e.showlegend,a?Lf(t,e,i,n,r,{hasHover:!1}):(zf(0,e,i,function(r){return ne.coerce2(t,e,vp,r)}),Pf(t,e,i,n,{hasHover:!1}))}else e._defaultColor=r};var xp=ne.isArrayOrTypedArray,bp=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m=xp(r)?\\\"a\\\":\\\"b\\\",y=(\\\"a\\\"===m?t.aaxis:t.baxis).smoothing,x=\\\"a\\\"===m?t.a2i:t.b2j,b=\\\"a\\\"===m?r:n,_=\\\"a\\\"===m?n:r,w=\\\"a\\\"===m?e.a.length:e.b.length,M=\\\"a\\\"===m?e.b.length:e.a.length,A=Math.floor(\\\"a\\\"===m?t.b2j(_):t.a2i(_)),k=\\\"a\\\"===m?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};y&&(o=Math.max(0,Math.min(M-2,A)),s=A-o,a=\\\"a\\\"===m?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T<S?1:-1,C=1e-8*(S-T),L=E>0?Math.floor:Math.ceil,z=E>0?Math.ceil:Math.floor,P=E>0?Math.min:Math.max,I=E>0?Math.max:Math.min,D=L(T+C),O=z(S-C),R=[[c=k(T)]];for(i=D;i*E<O*E;i+=E)l=[],d=I(T,i),v=(g=P(S,i+E))-d,u=Math.max(0,Math.min(w-2,Math.floor(.5*(d+g)))),h=k(g),y&&(f=a(u,d-u),p=a(u,g-u),l.push([c[0]+f[0]/3*v,c[1]+f[1]/3*v]),l.push([h[0]-p[0]/3*v,h[1]-p[1]/3*v])),l.push(h),R.push(l),c=h;return R},_p=function(t,e,r,n,i,a,o,s){var l,u,c,h,f,p,d,g=\\\"\\\",v=e.edgepaths.map(function(t,e){return e}),m=!0,y=1e-4*Math.abs(r[0][0]-r[2][0]),x=1e-4*Math.abs(r[0][1]-r[2][1]);function b(t){return Math.abs(t[1]-r[0][1])<x}function _(t){return Math.abs(t[1]-r[2][1])<x}function w(t){return Math.abs(t[0]-r[0][0])<y}function M(t){return Math.abs(t[0]-r[2][0])<y}function A(t,e){var r,n,l,u,c=\\\"\\\";for(b(t)&&!M(t)||_(t)&&!w(t)?(u=i.aaxis,l=bp(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(u=i.baxis,l=bp(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<l.length;r++)for(c+=u.smoothing?\\\"C\\\":\\\"L\\\",n=0;n<l[r].length;n++){var h=l[r][n];c+=[o.c2p(h[0]),s.c2p(h[1])]+\\\" \\\"}return c}for(l=0,u=null;v.length;){var k=e.edgepaths[l][0];for(u&&(g+=A(u,k)),d=Sr.smoothopen(e.edgepaths[l].map(n),e.smoothing),g+=m?d:d.replace(/^M/,\\\"L\\\"),v.splice(v.indexOf(l),1),u=e.edgepaths[l][e.edgepaths[l].length-1],f=-1,h=0;h<4;h++){if(!u){ne.log(\\\"Missing end?\\\",l,e);break}for(b(u)&&!M(u)?c=r[1]:w(u)?c=r[0]:_(u)?c=r[3]:M(u)&&(c=r[2]),p=0;p<e.edgepaths.length;p++){var T=e.edgepaths[p][0];Math.abs(u[0]-c[0])<y?Math.abs(u[0]-T[0])<y&&(T[1]-u[1])*(c[1]-T[1])>=0&&(c=T,f=p):Math.abs(u[1]-c[1])<x?Math.abs(u[1]-T[1])<x&&(T[0]-u[0])*(c[0]-T[0])>=0&&(c=T,f=p):ne.log(\\\"endpt to newendpt is not vert. or horz.\\\",u,c,T)}if(f>=0)break;g+=A(u,c),u=c}if(f===e.edgepaths.length){ne.log(\\\"unclosed perimeter path\\\");break}l=f,(m=-1===v.indexOf(l))&&(l=v[0],g+=A(u,c)+\\\"Z\\\",u=null)}for(l=0;l<e.paths.length;l++)g+=Sr.smoothclosed(e.paths[l].map(n),e.smoothing);return g},wp=function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=e(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=e(c[i]);s.push(u)}}};function Mp(t,r,n){var i=n[0].trace,a=i.carpetTrace=mp(t,i),o=t.calcdata[a.index][0];if(a.visible&&\\\"legendonly\\\"!==a.visible){var s=n[0].a,l=n[0].b,u=i.contours,c=i.uid,h=r.xaxis,f=r.yaxis,p=t._fullLayout,d=\\\"contour\\\"+c,g=Wf(u,r,n[0]),v=\\\"constraint\\\"===u.type,m=u._operation,y=v?\\\"=\\\"===m?\\\"lines\\\":\\\"fill\\\":u.coloring;if(!0===i.visible){var x=[[s[0],l[l.length-1]],[s[s.length-1],l[l.length-1]],[s[s.length-1],l[0]],[s[0],l[0]]];Kf(g);var b=1e-8*(s[s.length-1]-s[0]),_=1e-8*(l[l.length-1]-l[0]);Yf(g,b,_);var w=g;\\\"constraint\\\"===u.type&&(w=jf(g,m),Bf(w,m,x,i)),wp(g,L);var M,A,k,T,S=ip.makeContourGroup(r,n,d),E=[];for(T=o.clipsegments.length-1;T>=0;T--)M=o.clipsegments[T],A=Ou([],M.x,h.c2p),k=Ou([],M.y,f.c2p),A.reverse(),k.reverse(),E.push(Iu(A,k,M.bicubic));var C=\\\"M\\\"+E.join(\\\"L\\\")+\\\"Z\\\";!function(t,e,r,n,i,a){var o,s,l,u,c=t.selectAll(\\\"g.contourbg\\\").data([0]);c.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var h=c.selectAll(\\\"path\\\").data(\\\"fill\\\"!==a||i?[]:[0]);h.enter().append(\\\"path\\\"),h.exit().remove();var f=[];for(u=0;u<e.length;u++)o=e[u],s=Ou([],o.x,r.c2p),l=Ou([],o.y,n.c2p),f.push(Iu(s,l,o.bicubic));h.attr(\\\"d\\\",\\\"M\\\"+f.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}(S,o.clipsegments,h,f,v,y),function(t,r,n,i,a,o,s,l,u,c,h){var f=r.selectAll(\\\"g.contourfill\\\").data([0]);f.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var p=f.selectAll(\\\"path\\\").data(\\\"fill\\\"===c?a:[]);p.enter().append(\\\"path\\\"),p.exit().remove(),p.each(function(r){var a=_p(t,r,o,s,l,u,n,i);r.prefixBoundary&&(a=h+a),a?e.select(this).attr(\\\"d\\\",a).style(\\\"stroke\\\",\\\"none\\\"):e.select(this).remove()})}(i,S,h,f,w,x,L,a,o,y,C),function(t,r,n,i,a,o,s){var l=t.selectAll(\\\"g.contourlines\\\").data([0]);l.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var u=!1!==a.showlines,c=a.showlabels,h=u&&c,f=ip.createLines(l,u||c,r),p=ip.createLineClip(l,h,n._fullLayout._defs,i.trace.uid),d=t.selectAll(\\\"g.contourlabels\\\").data(c?[0]:[]);if(d.exit().remove(),d.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),c){var g=o.xaxis,v=o.yaxis,m=g._length,y=v._length,x=[[[0,0],[m,0],[m,y],[0,y]]],b=[];ne.clearLocationCache();var _=ip.labelFormatter(a,i.t.cb,n._fullLayout),w=Sr.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(Sr.font,a.labelfont),M={left:0,right:m,center:m/2,top:0,bottom:y,middle:y/2},A=Math.sqrt(m*m+y*y),k=Nf.LABELDISTANCE*A/Math.max(1,r.length/Nf.LABELINCREASE);f.each(function(t){var r=ip.calcTextOpts(t.level,_,w,n);e.select(this).selectAll(\\\"path\\\").each(function(e){var n=ne.getVisibleSegment(this,M,r.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],h=i.b[i.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-u)<.1)&&(r=kp(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),(Math.abs(t[1]-c)<.1||Math.abs(t[1]-h)<.1)&&(r=kp(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),n}var p=Ap(t,0,1),d=Ap(t,n.total,n.total-1),g=f(o[0],p),v=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>v&&(n.max=v);n.len=n.max-n.min}(this,e,t,n,s,r.height),!(n.len<(r.width+r.height)*Nf.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/k),Nf.LABELMAX),a=0;a<i;a++){var o=ip.findBestTextLocation(this,n,r,b,M);if(!o)break;ip.addLabelData(o,r,b,x)}})}),w.remove(),ip.drawLabels(d,b,n,p,h?x:null)}c&&!u&&f.remove()}(S,g,t,n[0],u,r,a),Sr.setClipUrl(S,a._clipPathId)}else p._infolayer.selectAll(\\\".cb\\\"+c).remove()}function L(t){var e=a.ab2xy(t[0],t[1],!0);return[h.c2p(e[0]),f.c2p(e[1])]}}function Ap(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function kp(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function Tp(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var Sp={};Sp.attributes=vp,Sp.supplyDefaults=yp,Sp.colorbar=Af,Sp.calc=function(t,e){var r=e.carpetTrace=mp(t,e);if(r&&r.visible&&\\\"legendonly\\\"!==r.visible){if(!e.a||!e.b){var n=t.data[r.index],i=t.data[e.index];i.a||(i.a=n.a),i.b||(i.b=n.b),yp(i,e,e._defaultColor,t._fullLayout)}var a=function(t,e){var r,n,i,a,o,s,l,u=e.carpetTrace,c=u.aaxis,h=u.baxis;c._minDtick=0,h._minDtick=0,qh(e)&&Pu(e,c,h,\\\"a\\\",\\\"b\\\",[\\\"z\\\"]),r=e.a?c.makeCalcdata(e,\\\"a\\\"):[],a=e.b?h.makeCalcdata(e,\\\"b\\\"):[],n=e.a0||0,i=e.da||1,o=e.b0||0,s=e.db||1,l=xu(e.z,e.transpose),e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz);var f=jh(l),p=\\\"scaled\\\"===e.xtype?\\\"\\\":r,d=Zh(e,p,n,i,f,c),g=\\\"scaled\\\"===e.ytype?\\\"\\\":a,v=Zh(e,g,o,s,l.length,h),m={a:d,b:v,z:l};return\\\"levels\\\"===e.contours.type&&Ve(e,l,\\\"\\\",\\\"z\\\"),[m]}(0,e);return Bh(e),a}},Sp.plot=function(t,e,r){for(var n=0;n<r.length;n++)Mp(t,e,r[n])},Sp.style=cp,Sp.moduleType=\\\"trace\\\",Sp.name=\\\"contourcarpet\\\",Sp.basePlotModule=ua,Sp.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"contour\\\",\\\"symbols\\\",\\\"showLegend\\\",\\\"hasLines\\\",\\\"carpetDependent\\\"],Sp.meta={};var Ep=Sp,Cp={\\\"X,X div\\\":\\\"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 .modebar\\\":\\\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\\\",\\\"X .modebar--hover\\\":\\\"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\\\":\\\"opacity:1;\\\",\\\"X .modebar-group\\\":\\\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\\\",\\\"X .modebar-group:first-child\\\":\\\"margin-left:0px;\\\",\\\"X .modebar-btn\\\":\\\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\\\",\\\"X .modebar-btn svg\\\":\\\"position:relative;top:2px;\\\",\\\"X .modebar-btn path\\\":\\\"fill:rgba(0,31,95,0.3);\\\",\\\"X .modebar-btn.active path,X .modebar-btn:hover path\\\":\\\"fill:rgba(0,22,72,0.5);\\\",\\\"X .modebar-btn.modebar-btn--logo\\\":\\\"padding:3px 1px;\\\",\\\"X .modebar-btn.modebar-btn--logo path\\\":\\\"fill:#447adb !important;\\\",\\\"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 .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';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 Lp in Cp){var zp=Lp.replace(/^,/,\\\" ,\\\").replace(/X/g,\\\".js-plotly-plot .plotly\\\").replace(/Y/g,\\\".plotly-notifier\\\");ne.addStyleRule(zp,Cp[Lp])}var Pp,Ip,Dp,Op={undo:{width:857.1,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\\\",ascent:850,descent:-150},home:{width:928.6,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\\\",ascent:850,descent:-150},\\\"camera-retro\\\":{width: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\\\",ascent:850,descent:-150},zoombox:{width: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\\\",ascent:850,descent:-150},pan:{width: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\\\",ascent:850,descent:-150},zoom_plus:{width: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\\\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\\\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\\\",ascent:850,descent:-150},autoscale:{width: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\\\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\\\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\\\",ascent:850,descent:-150},tooltip_compare:{width:1125,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\\\",ascent:850,descent:-150},plotlylogo:{width:1542,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\\\",ascent:850,descent:-150},\\\"z-axis\\\":{width: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\\\",ascent:850,descent:-150},\\\"3d_rotate\\\":{width: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\\\",ascent:850,descent:-150},camera:{width: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\\\",ascent:850,descent:-150},movie:{width: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\\\",ascent:850,descent:-150},question:{width:857.1,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\\\",ascent:850,descent:-150},disk:{width:857.1,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\\\",ascent:850,descent:-150},lasso:{width:1031,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\\\",ascent:850,descent:-150},selectbox:{width: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\\\",ascent:850,descent:-150},spikeline:{width: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\\\",ascent:850,descent:-150}},Rp=Pp={};function Fp(){throw new Error(\\\"setTimeout has not been defined\\\")}function Bp(){throw new Error(\\\"clearTimeout has not been defined\\\")}function Np(t){if(Ip===setTimeout)return setTimeout(t,0);if((Ip===Fp||!Ip)&&setTimeout)return Ip=setTimeout,setTimeout(t,0);try{return Ip(t,0)}catch(e){try{return Ip.call(null,t,0)}catch(e){return Ip.call(this,t,0)}}}!function(){try{Ip=\\\"function\\\"==typeof setTimeout?setTimeout:Fp}catch(t){Ip=Fp}try{Dp=\\\"function\\\"==typeof clearTimeout?clearTimeout:Bp}catch(t){Dp=Bp}}();var jp,Vp=[],Up=!1,qp=-1;function Hp(){Up&&jp&&(Up=!1,jp.length?Vp=jp.concat(Vp):qp=-1,Vp.length&&Gp())}function Gp(){if(!Up){var t=Np(Hp);Up=!0;for(var e=Vp.length;e;){for(jp=Vp,Vp=[];++qp<e;)jp&&jp[qp].run();qp=-1,e=Vp.length}jp=null,Up=!1,function(t){if(Dp===clearTimeout)return clearTimeout(t);if((Dp===Bp||!Dp)&&clearTimeout)return Dp=clearTimeout,clearTimeout(t);try{Dp(t)}catch(e){try{return Dp.call(null,t)}catch(e){return Dp.call(this,t)}}}(t)}}function Wp(t,e){this.fun=t,this.array=e}function Yp(){}Rp.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];Vp.push(new Wp(t,e)),1!==Vp.length||Up||Np(Gp)},Wp.prototype.run=function(){this.fun.apply(null,this.array)},Rp.title=\\\"browser\\\",Rp.browser=!0,Rp.env={},Rp.argv=[],Rp.version=\\\"\\\",Rp.versions={},Rp.on=Yp,Rp.addListener=Yp,Rp.once=Yp,Rp.off=Yp,Rp.removeListener=Yp,Rp.removeAllListeners=Yp,Rp.emit=Yp,Rp.prependListener=Yp,Rp.prependOnceListener=Yp,Rp.listeners=function(t){return[]},Rp.binding=function(t){throw new Error(\\\"process.binding is not supported\\\")},Rp.cwd=function(){return\\\"/\\\"},Rp.chdir=function(t){throw new Error(\\\"process.chdir is not supported\\\")},Rp.umask=function(){return 0};var Xp={exports:{}};(function(t,e){!function(t,e){\\\"object\\\"==typeof Xp.exports?Xp.exports=e():t.ES6Promise=e()}(this,function(){\\\"use strict\\\";function r(t){return\\\"function\\\"==typeof t}var n=Array.isArray?Array.isArray:function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)},i=0,a=void 0,o=void 0,s=function(t,e){d[i]=t,d[i+1]=e,2===(i+=2)&&(o?o(g):b())};var l=\\\"undefined\\\"!=typeof window?window:void 0,u=l||{},c=u.MutationObserver||u.WebKitMutationObserver,h=\\\"undefined\\\"==typeof self&&void 0!==t&&\\\"[object process]\\\"==={}.toString.call(t),f=\\\"undefined\\\"!=typeof Uint8ClampedArray&&\\\"undefined\\\"!=typeof importScripts&&\\\"undefined\\\"!=typeof MessageChannel;function p(){var t=setTimeout;return function(){return t(g,1)}}var d=new Array(1e3);function g(){for(var t=0;t<i;t+=2){(0,d[t])(d[t+1]),d[t]=void 0,d[t+1]=void 0}i=0}var v,m,y,x,b=void 0;function _(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&V(i);var a,o=n._state;return o?(a=r[o-1],s(function(){return N(o,i,a,n._result)})):O(n,i,t,e),i}function w(t){if(t&&\\\"object\\\"==typeof t&&t.constructor===this)return t;var e=new this(A);return z(e,t),e}h?b=function(){return t.nextTick(g)}:c?(m=0,y=new c(g),x=document.createTextNode(\\\"\\\"),y.observe(x,{characterData:!0}),b=function(){x.data=m=++m%2}):f?((v=new MessageChannel).port1.onmessage=g,b=function(){return v.port2.postMessage(0)}):b=void 0===l&&\\\"function\\\"==typeof require?function(){try{var t=require(\\\"vertx\\\");return a=t.runOnLoop||t.runOnContext,function(){a(g)}}catch(t){return p()}}():p();var M=Math.random().toString(36).substring(16);function A(){}var k=void 0,T=1,S=2,E=new F;function C(t){try{return t.then}catch(t){return E.error=t,E}}function L(t,e,n){e.constructor===t.constructor&&n===_&&e.constructor.resolve===w?function(t,e){e._state===T?I(t,e._result):e._state===S?D(t,e._result):O(e,void 0,function(e){return z(t,e)},function(e){return D(t,e)})}(t,e):n===E?D(t,E.error):void 0===n?I(t,e):r(n)?function(t,e,r){s(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?z(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&i&&(n=!0,D(t,i))},t)}(t,e,n):I(t,e)}function z(t,e){var r;t===e?D(t,new TypeError(\\\"You cannot resolve a promise with itself\\\")):\\\"function\\\"==typeof(r=e)||\\\"object\\\"==typeof r&&null!==r?L(t,e,C(e)):I(t,e)}function P(t){t._onerror&&t._onerror(t._result),R(t)}function I(t,e){t._state===k&&(t._result=e,t._state=T,0!==t._subscribers.length&&s(R,t))}function D(t,e){t._state===k&&(t._state=S,t._result=e,s(P,t))}function O(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+T]=r,i[a+S]=n,0===a&&t._state&&s(R,t)}function R(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?N(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var B=new F;function N(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return B.error=t,B}}(n,i))===B?(u=!0,s=o.error,o=null):l=!0,e===o)return void D(e,new TypeError(\\\"A promises callback cannot return that same promise.\\\"))}else o=i,l=!0;e._state!==k||(a&&l?z(e,o):u?D(e,s):t===T?I(e,o):t===S&&D(e,o))}var j=0;function V(t){t[M]=j++,t._state=void 0,t._result=void 0,t._subscribers=[]}function U(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||V(this.promise),n(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error(\\\"Array Methods must be provided an Array\\\"))}function q(t){this[M]=j++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\\\"function\\\"!=typeof t&&function(){throw new TypeError(\\\"You must pass a resolver function as the first argument to the promise constructor\\\")}(),this instanceof q?function(t,e){try{e(function(e){z(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError(\\\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\\\")}())}function H(){var t=void 0;if(void 0!==e)t=e;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 r=t.Promise;if(r){var n=null;try{n=Object.prototype.toString.call(r.resolve())}catch(t){}if(\\\"[object Promise]\\\"===n&&!r.cast)return}t.Promise=q}return U.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===k&&r<t;r++)this._eachEntry(e[r],r)},U.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===w){var i=C(t);if(i===_&&t._state!==k)this._settledAt(t._state,e,t._result);else if(\\\"function\\\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===q){var a=new r(A);L(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},U.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===k&&(this._remaining--,t===S?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},U.prototype._willSettleAt=function(t,e){var r=this;O(t,void 0,function(t){return r._settledAt(T,e,t)},function(t){return r._settledAt(S,e,t)})},q.all=function(t){return new U(this,t).promise},q.race=function(t){var e=this;return n(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\\\"You must pass an array to race.\\\"))})},q.resolve=w,q.reject=function(t){var e=new this(A);return D(e,t),e},q._setScheduler=function(t){o=t},q._setAsap=function(t){s=t},q._asap=s,q.prototype={constructor:q,then:_,catch:function(t){return this.then(null,t)}},H(),q.polyfill=H,q.Promise=q,q})}).call(this,Pp,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{}),Xp=Xp.exports;var Zp=[{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}],Jp={_isLinkedToArray:\\\"annotation\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},text:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},textangle:{valType:\\\"angle\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},font:T({editType:\\\"calcIfAutorange+arraydraw\\\",colorEditType:\\\"arraydraw\\\"}),width:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+arraydraw\\\"},height:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+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:\\\"calcIfAutorange+arraydraw\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},showarrow:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},arrowcolor:{valType:\\\"color\\\",editType:\\\"arraydraw\\\"},arrowhead:{valType:\\\"integer\\\",min:0,max:Zp.length,dflt:1,editType:\\\"arraydraw\\\"},startarrowhead:{valType:\\\"integer\\\",min:0,max:Zp.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:\\\"calcIfAutorange+arraydraw\\\"},startarrowsize:{valType:\\\"number\\\",min:.3,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},arrowwidth:{valType:\\\"number\\\",min:.1,editType:\\\"calcIfAutorange+arraydraw\\\"},standoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},startstandoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},ax:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},ay:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},axref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",Te.idRegex.x.toString()],editType:\\\"calc\\\"},ayref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",Te.idRegex.y.toString()],editType:\\\"calc\\\"},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",Te.idRegex.x.toString()],editType:\\\"calc\\\"},x:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",Te.idRegex.y.toString()],editType:\\\"calc\\\"},y:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+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:T({editType:\\\"arraydraw\\\"}),editType:\\\"arraydraw\\\"},captureevents:{valType:\\\"boolean\\\",editType:\\\"arraydraw\\\"},editType:\\\"calc\\\",_deprecated:{ref:{valType:\\\"string\\\",editType:\\\"calc\\\"}}},Kp=function(t,r,n){var i,a,o,s,l=t.node(),u=Zp[n.arrowhead||0],c=Zp[n.startarrowhead||0],h=(n.arrowwidth||1)*(n.arrowsize||1),f=(n.arrowwidth||1)*(n.startarrowsize||1),p=r.indexOf(\\\"start\\\")>=0,d=r.indexOf(\\\"end\\\")>=0,g=u.backoff*h+n.standoff,v=c.backoff*f+n.startstandoff;if(\\\"line\\\"===l.nodeName){i={x:+t.attr(\\\"x1\\\"),y:+t.attr(\\\"y1\\\")},a={x:+t.attr(\\\"x2\\\"),y:+t.attr(\\\"y2\\\")};var m=i.x-a.x,y=i.y-a.y;if(s=(o=Math.atan2(y,m))+Math.PI,g&&v&&g+v>Math.sqrt(m*m+y*y))return void C();if(g){if(g*g>m*m+y*y)return void C();var x=g*Math.cos(o),b=g*Math.sin(o);a.x+=x,a.y+=b,t.attr({x2:a.x,y2:a.y})}if(v){if(v*v>m*m+y*y)return void C();var _=v*Math.cos(o),w=v*Math.sin(o);i.x-=_,i.y-=w,t.attr({x1:i.x,y1:i.y})}}else if(\\\"path\\\"===l.nodeName){var M=l.getTotalLength(),A=\\\"\\\";if(M<g+v)return void C();var k=l.getPointAtLength(0),T=l.getPointAtLength(.1);o=Math.atan2(k.y-T.y,k.x-T.x),i=l.getPointAtLength(Math.min(v,M)),A=\\\"0px,\\\"+v+\\\"px,\\\";var S=l.getPointAtLength(M),E=l.getPointAtLength(M-.1);s=Math.atan2(S.y-E.y,S.x-E.x),a=l.getPointAtLength(Math.max(0,M-g)),A+=M-(A?v+g:g)+\\\"px,\\\"+M+\\\"px\\\",t.style(\\\"stroke-dasharray\\\",A)}function C(){t.style(\\\"stroke-dasharray\\\",\\\"0px,100px\\\")}function L(r,i,a,o){r.path&&(r.noRotate&&(a=0),e.select(l.parentNode).append(\\\"path\\\").attr({class:t.attr(\\\"class\\\"),d:r.path,transform:\\\"translate(\\\"+i.x+\\\",\\\"+i.y+\\\")\\\"+(a?\\\"rotate(\\\"+180*a/Math.PI+\\\")\\\":\\\"\\\")+\\\"scale(\\\"+o+\\\")\\\"}).style({fill:Oe.rgb(n.arrowcolor),\\\"stroke-width\\\":0}))}p&&L(c,i,o,f),d&&L(u,a,s,h)},Qp={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&&$p(t,r);return _n.previousPromises(t)},drawOne:$p,drawRaw:td};function $p(t,e){var r=t._fullLayout.annotations[e]||{};td(t,r,e,!1,ri.getFromId(t,r.xref),ri.getFromId(t,r.yref))}function td(t,r,n,i,a,o){var s,l,u=t._fullLayout,c=t._fullLayout._size,h=t._context.edits;i?(s=\\\"annotation-\\\"+i,l=i+\\\".annotations[\\\"+n+\\\"]\\\"):(s=\\\"annotation\\\",l=\\\"annotations[\\\"+n+\\\"]\\\"),u._infolayer.selectAll(\\\".\\\"+s+'[data-index=\\\"'+n+'\\\"]').remove();var f=\\\"clip\\\"+u._uid+\\\"_ann\\\"+n;if(r._input&&!1!==r.visible){var p={x:{},y:{}},d=+r.textangle||0,g=u._infolayer.append(\\\"g\\\").classed(s,!0).attr(\\\"data-index\\\",String(n)).style(\\\"opacity\\\",r.opacity),v=g.append(\\\"g\\\").classed(\\\"annotation-text-g\\\",!0),m=h[r.showarrow?\\\"annotationTail\\\":\\\"annotationPosition\\\"],y=r.captureevents||h.annotationText||m,x=v.append(\\\"g\\\").style(\\\"pointer-events\\\",y?\\\"all\\\":null).call(Ka,\\\"default\\\").on(\\\"click\\\",function(){t._dragging=!1;var a={index:n,annotation:r._input,fullAnnotation:r,event:e.event};i&&(a.subplotId=i),t.emit(\\\"plotly_clickannotation\\\",a)});r.hovertext&&x.on(\\\"mouseover\\\",function(){var e=r.hoverlabel,n=e.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();yo.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:r.hovertext,color:e.bgcolor,borderColor:e.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t})}).on(\\\"mouseout\\\",function(){yo.loneUnhover(u._hoverlayer.node())});var b=r.borderwidth,_=r.borderpad,w=b+_,M=x.append(\\\"rect\\\").attr(\\\"class\\\",\\\"bg\\\").style(\\\"stroke-width\\\",b+\\\"px\\\").call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor),A=r.width||r.height,k=u._topclips.selectAll(\\\"#\\\"+f).data(A?[0]:[]);k.enter().append(\\\"clipPath\\\").classed(\\\"annclip\\\",!0).attr(\\\"id\\\",f).append(\\\"rect\\\"),k.exit().remove();var T=r.font,S=x.append(\\\"text\\\").classed(\\\"annotation-text\\\",!0).text(r.text);h.annotationText?S.call(er.makeEditable,{delegate:x,gd:t}).call(E).on(\\\"edit\\\",function(e){r.text=e,this.call(E);var n={};n[l+\\\".text\\\"]=r.text,a&&a.autorange&&(n[a._name+\\\".autorange\\\"]=!0),o&&o.autorange&&(n[o._name+\\\".autorange\\\"]=!0),P.call(\\\"relayout\\\",t,n)}):S.call(E)}else e.selectAll(\\\"#\\\"+f).remove();function E(e){return e.call(Sr.font,T).attr({\\\"text-anchor\\\":{left:\\\"start\\\",right:\\\"end\\\"}[r.align]||\\\"middle\\\"}),er.convertToTspans(e,t,C),e}function C(){var e=S.selectAll(\\\"a\\\");1===e.size()&&e.text()===S.text()&&x.insert(\\\"a\\\",\\\":first-child\\\").attr({\\\"xlink:xlink:href\\\":e.attr(\\\"xlink:href\\\"),\\\"xlink:xlink:show\\\":e.attr(\\\"xlink:show\\\")}).style({cursor:\\\"pointer\\\"}).node().appendChild(M.node());var n=x.select(\\\".annotation-text-math-group\\\"),s=!n.empty(),y=Sr.bBox((s?n:S).node()),_=y.width,T=y.height,E=r.width||_,C=r.height||T,L=Math.round(E+2*w),z=Math.round(C+2*w);function I(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]}r._w=E,r._h=C;for(var D=!1,O=[\\\"x\\\",\\\"y\\\"],R=0;R<O.length;R++){var F,B,N,j,V,U=O[R],q=r[U+\\\"ref\\\"]||U,H=r[\\\"a\\\"+U+\\\"ref\\\"],G={x:a,y:o}[U],W=(d+(\\\"x\\\"===U?0:-90))*Math.PI/180,Y=L*Math.cos(W),X=z*Math.sin(W),Z=Math.abs(Y)+Math.abs(X),J=r[U+\\\"anchor\\\"],K=r[U+\\\"shift\\\"]*(\\\"x\\\"===U?1:-1),Q=p[U];if(G){var $=G.r2fraction(r[U]);if((t._dragging||!G.autorange)&&($<0||$>1)&&(H===q?(($=G.r2fraction(r[\\\"a\\\"+U]))<0||$>1)&&(D=!0):D=!0,D))continue;F=G._offset+G.r2p(r[U]),j=.5}else\\\"x\\\"===U?(N=r[U],F=c.l+c.w*N):(N=1-r[U],F=c.t+c.h*N),j=r.showarrow?.5:N;if(r.showarrow){Q.head=F;var tt=r[\\\"a\\\"+U];V=Y*I(.5,r.xanchor)-X*I(.5,r.yanchor),H===q?(Q.tail=G._offset+G.r2p(tt),B=V):(Q.tail=F+tt,B=V+tt),Q.text=Q.tail+V;var et=u[\\\"x\\\"===U?\\\"width\\\":\\\"height\\\"];if(\\\"paper\\\"===q&&(Q.head=ne.constrain(Q.head,1,et-1)),\\\"pixel\\\"===H){var rt=-Math.max(Q.tail-3,Q.text),nt=Math.min(Q.tail+3,Q.text)-et;rt>0?(Q.tail+=rt,Q.text+=rt):nt>0&&(Q.tail-=nt,Q.text-=nt)}Q.tail+=K,Q.head+=K}else B=V=Z*I(j,J),Q.text=F+V;Q.text+=K,V+=K,B+=K,r[\\\"_\\\"+U+\\\"padplus\\\"]=Z/2+B,r[\\\"_\\\"+U+\\\"padminus\\\"]=Z/2-B,r[\\\"_\\\"+U+\\\"size\\\"]=Z,r[\\\"_\\\"+U+\\\"shift\\\"]=V}if(D)x.remove();else{var it=0,at=0;if(\\\"left\\\"!==r.align&&(it=(E-_)*(\\\"center\\\"===r.align?.5:1)),\\\"top\\\"!==r.valign&&(at=(C-T)*(\\\"middle\\\"===r.valign?.5:1)),s)n.select(\\\"svg\\\").attr({x:w+it-1,y:w+at}).call(Sr.setClipUrl,A?f:null);else{var ot=w+at-y.top,st=w+it-y.left;S.call(er.positionText,st,ot).call(Sr.setClipUrl,A?f:null)}k.select(\\\"rect\\\").call(Sr.setRect,w,w,E,C),M.call(Sr.setRect,b/2,b/2,L-b,z-b),x.call(Sr.setTranslate,Math.round(p.x.text-L/2),Math.round(p.y.text-z/2)),v.attr({transform:\\\"rotate(\\\"+d+\\\",\\\"+p.x.text+\\\",\\\"+p.y.text+\\\")\\\"});var lt,ut,ct=function(e,n){g.selectAll(\\\".annotation-arrow-g\\\").remove();var s=p.x.head,u=p.y.head,f=p.x.tail+e,m=p.y.tail+n,y=p.x.text+e,b=p.y.text+n,_=ne.rotationXYMatrix(d,y,b),w=ne.apply2DTransform(_),A=ne.apply2DTransform2(_),k=+M.attr(\\\"width\\\"),T=+M.attr(\\\"height\\\"),S=y-.5*k,E=S+k,C=b-.5*T,L=C+T,z=[[S,C,S,L],[S,L,E,L],[E,L,E,C],[E,C,S,C]].map(A);if(!z.reduce(function(t,e){return t^!!ne.segmentsIntersect(s,u,s+1e6,u+1e6,e[0],e[1],e[2],e[3])},!1)){z.forEach(function(t){var e=ne.segmentsIntersect(f,m,s,u,t[0],t[1],t[2],t[3]);e&&(f=e.x,m=e.y)});var I=r.arrowwidth,D=r.arrowcolor,O=r.arrowside,R=g.append(\\\"g\\\").style({opacity:Oe.opacity(D)}).classed(\\\"annotation-arrow-g\\\",!0),F=R.append(\\\"path\\\").attr(\\\"d\\\",\\\"M\\\"+f+\\\",\\\"+m+\\\"L\\\"+s+\\\",\\\"+u).style(\\\"stroke-width\\\",I+\\\"px\\\").call(Oe.stroke,Oe.rgb(D));if(Kp(F,O,r),h.annotationPosition&&F.node().parentNode&&!i){var B=s,N=u;if(r.standoff){var j=Math.sqrt(Math.pow(s-f,2)+Math.pow(u-m,2));B+=r.standoff*(f-s)/j,N+=r.standoff*(m-u)/j}var V,U,q,H=R.append(\\\"path\\\").classed(\\\"annotation-arrow\\\",!0).classed(\\\"anndrag\\\",!0).attr({d:\\\"M3,3H-3V-3H3ZM0,0L\\\"+(f-B)+\\\",\\\"+(m-N),transform:\\\"translate(\\\"+B+\\\",\\\"+N+\\\")\\\"}).style(\\\"stroke-width\\\",I+6+\\\"px\\\").call(Oe.stroke,\\\"rgba(0,0,0,0)\\\").call(Oe.fill,\\\"rgba(0,0,0,0)\\\");Ua.init({element:H.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(x);U=t.x,q=t.y,V={},a&&a.autorange&&(V[a._name+\\\".autorange\\\"]=!0),o&&o.autorange&&(V[o._name+\\\".autorange\\\"]=!0)},moveFn:function(t,e){var n=w(U,q),i=n[0]+t,s=n[1]+e;x.call(Sr.setTranslate,i,s),V[l+\\\".x\\\"]=a?a.p2r(a.r2p(r.x)+t):r.x+t/c.w,V[l+\\\".y\\\"]=o?o.p2r(o.r2p(r.y)+e):r.y-e/c.h,r.axref===r.xref&&(V[l+\\\".ax\\\"]=a.p2r(a.r2p(r.ax)+t)),r.ayref===r.yref&&(V[l+\\\".ay\\\"]=o.p2r(o.r2p(r.ay)+e)),R.attr(\\\"transform\\\",\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),v.attr({transform:\\\"rotate(\\\"+d+\\\",\\\"+i+\\\",\\\"+s+\\\")\\\"})},doneFn:function(){P.call(\\\"relayout\\\",t,V);var e=document.querySelector(\\\".js-notes-box-panel\\\");e&&e.redraw(e.selectedObj)}})}}};if(r.showarrow&&ct(0,0),m)Ua.init({element:x.node(),gd:t,prepFn:function(){ut=v.attr(\\\"transform\\\"),lt={}},moveFn:function(t,e){var n=\\\"pointer\\\";if(r.showarrow)r.axref===r.xref?lt[l+\\\".ax\\\"]=a.p2r(a.r2p(r.ax)+t):lt[l+\\\".ax\\\"]=r.ax+t,r.ayref===r.yref?lt[l+\\\".ay\\\"]=o.p2r(o.r2p(r.ay)+e):lt[l+\\\".ay\\\"]=r.ay+e,ct(t,e);else{if(i)return;if(a)lt[l+\\\".x\\\"]=a.p2r(a.r2p(r.x)+t);else{var s=r._xsize/c.w,u=r.x+(r._xshift-r.xshift)/c.w-s/2;lt[l+\\\".x\\\"]=Ua.align(u+t/c.w,s,0,1,r.xanchor)}if(o)lt[l+\\\".y\\\"]=o.p2r(o.r2p(r.y)+e);else{var h=r._ysize/c.h,f=r.y-(r._yshift+r.yshift)/c.h-h/2;lt[l+\\\".y\\\"]=Ua.align(f-e/c.h,h,0,1,r.yanchor)}a&&o||(n=Ua.getCursor(a?.5:lt[l+\\\".x\\\"],o?.5:lt[l+\\\".y\\\"],r.xanchor,r.yanchor))}v.attr({transform:\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"+ut}),Ka(x,n)},doneFn:function(){Ka(x),P.call(\\\"relayout\\\",t,lt);var e=document.querySelector(\\\".js-notes-box-panel\\\");e&&e.redraw(e.selectedObj)}})}}}var ed=Qp.draw;function rd(t){var e=t._fullLayout;ne.filterVisible(e.annotations).forEach(function(e){var r,n,i,a,o=ri.getFromId(t,e.xref),s=ri.getFromId(t,e.yref),l=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;o&&o.autorange&&(r=l+e.xshift,n=l-e.xshift,i=u+e.xshift,a=u-e.xshift,e.axref===e.xref?(ri.expand(o,[o.r2c(e.x)],{ppadplus:r,ppadminus:n}),ri.expand(o,[o.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,a)})):(i=e.ax?i+e.ax:i,a=e.ax?a-e.ax:a,ri.expand(o,[o.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,a)}))),s&&s.autorange&&(r=l-e.yshift,n=l+e.yshift,i=u-e.yshift,a=u+e.yshift,e.ayref===e.yref?(ri.expand(s,[s.r2c(e.y)],{ppadplus:r,ppadminus:n}),ri.expand(s,[s.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,a)})):(i=e.ay?i+e.ay:i,a=e.ay?a-e.ay:a,ri.expand(s,[s.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,a)})))})}var nd={hasClickToShow:function(t,e){var r=id(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,n=id(t,e),i=n.on,a=n.off.concat(n.explicitOff),o={};if(!i.length&&!a.length)return;for(r=0;r<i.length;r++)o[\\\"annotations[\\\"+i[r]+\\\"].visible\\\"]=!0;for(r=0;r<a.length;r++)o[\\\"annotations[\\\"+a[r]+\\\"].visible\\\"]=!1;return P.call(\\\"update\\\",t,{},o)}};function id(t,e){var r,n,i,a,o,s,l,u=t._fullLayout.annotations,c=[],h=[],f=[],p=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<p;n++)if(s=(o=e[n]).xaxis,l=o.yaxis,s._id===i.xref&&l._id===i.yref&&s.d2r(o.x)===ad(i._xclick,s)&&l.d2r(o.y)===ad(i._yclick,l)){(i.visible?\\\"onout\\\"===a?h:f:c).push(r);break}n===p&&i.visible&&\\\"onout\\\"===a&&h.push(r)}return{on:c,off:h,explicitOff:f}}function ad(t,e){return\\\"log\\\"===e.type?e.l2r(t):e.d2r(t)}var od=function(t,e,r,n){n(\\\"opacity\\\");var i=n(\\\"bgcolor\\\"),a=n(\\\"bordercolor\\\"),o=Oe.opacity(a);n(\\\"borderpad\\\");var s=n(\\\"borderwidth\\\"),l=n(\\\"showarrow\\\");if(n(\\\"text\\\",l?\\\" \\\":r._dfltTitle.annotation),n(\\\"textangle\\\"),ne.coerceFont(n,\\\"font\\\",r.font),n(\\\"width\\\"),n(\\\"align\\\"),n(\\\"height\\\")&&n(\\\"valign\\\"),l){var u,c,h=n(\\\"arrowside\\\");-1!==h.indexOf(\\\"end\\\")&&(u=n(\\\"arrowhead\\\"),c=n(\\\"arrowsize\\\")),-1!==h.indexOf(\\\"start\\\")&&(n(\\\"startarrowhead\\\",u),n(\\\"startarrowsize\\\",c)),n(\\\"arrowcolor\\\",o?e.bordercolor:Oe.defaultLine),n(\\\"arrowwidth\\\",2*(o&&s||1)),n(\\\"standoff\\\"),n(\\\"startstandoff\\\")}var f=n(\\\"hovertext\\\"),p=r.hoverlabel||{};if(f){var d=n(\\\"hoverlabel.bgcolor\\\",p.bgcolor||(Oe.opacity(i)?Oe.rgb(i):Oe.defaultLine)),g=n(\\\"hoverlabel.bordercolor\\\",p.bordercolor||Oe.contrast(d));ne.coerceFont(n,\\\"hoverlabel.font\\\",{family:p.font.family,size:p.font.size,color:p.font.color||g})}n(\\\"captureevents\\\",!!f)},sd=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,Jp,r,n)}n=n||{};var o=a(\\\"visible\\\",!(i=i||{}).itemIsNotPlainObject),s=a(\\\"clicktoshow\\\");if(!o&&!s)return e;od(t,e,r,a);for(var l=e.showarrow,u=[\\\"x\\\",\\\"y\\\"],c=[-10,-30],h={_fullLayout:r},f=0;f<2;f++){var p=u[f],d=ri.coerceRef(t,e,h,p,\\\"\\\",\\\"paper\\\");if(ri.coercePosition(e,h,a,d,p,.5),l){var g=\\\"a\\\"+p,v=ri.coerceRef(t,e,h,g,\\\"pixel\\\");\\\"pixel\\\"!==v&&v!==d&&(v=e[g]=\\\"pixel\\\");var m=\\\"pixel\\\"===v?c[f]:.4;ri.coercePosition(e,h,a,v,g,m)}a(p+\\\"anchor\\\"),a(p+\\\"shift\\\")}if(ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),l&&ne.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"]),s){var y=a(\\\"xclick\\\"),x=a(\\\"yclick\\\");e._xclick=void 0===y?e.x:ri.cleanPosition(y,h,e.xref),e._yclick=void 0===x?e.y:ri.cleanPosition(x,h,e.yref)}return e},ld=function(t,e,r){var n,i=r.name,a=e[i],o=ne.isArrayOrTypedArray(t[i])?t[i]:[],s=e[i]=[];for(n=0;n<o.length;n++){var l=o[n],u={},c={};ne.isPlainObject(l)||(c.itemIsNotPlainObject=!0,l={}),r.handleItemDefaults(l,u,e,r,c),u._input=l,u._index=n,s.push(u)}if(ne.isArrayOrTypedArray(a)){var h=Math.min(a.length,s.length);for(n=0;n<h;n++)ne.relinkPrivateKeys(s[n],a[n])}},ud=function(t){return function(e,r){var n=e[t];if(Array.isArray(n))for(var i=P.subplotsRegistry.cartesian,a=i.idRegex,o=r._subplots,s=o.xaxis,l=o.yaxis,u=o.cartesian,c=r._has(\\\"cartesian\\\")||r._has(\\\"gl2d\\\"),h=0;h<n.length;h++){var f=n[h];if(ne.isPlainObject(f)){var p=f.xref,d=f.yref,g=a.x.test(p),v=a.y.test(d);if(g||v){c||ne.pushUnique(r._basePlotModules,i);var m=!1;g&&-1===s.indexOf(p)&&(s.push(p),m=!0),v&&-1===l.indexOf(d)&&(l.push(d),m=!0),m&&g&&v&&u.push(p+d)}}}}},cd={moduleType:\\\"component\\\",name:\\\"annotations\\\",layoutAttributes:Jp,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\\\"annotations\\\",handleItemDefaults:sd})},includeBasePlot:ud(\\\"annotations\\\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.annotations);if(r.length&&t._fullData.length){var n={};for(var i in r.forEach(function(t){n[t.xref]=1,n[t.yref]=1}),n){var a=ri.getFromId(t,i);if(a&&a.autorange)return ne.syncOrAsync([ed,rd],t)}}},draw:Qp.draw,drawOne:Qp.drawOne,drawRaw:Qp.drawRaw,hasClickToShow:nd.hasClickToShow,onClick:nd.onClick,convertCoords:function(t,e,n,i){e=e||{};var a=\\\"log\\\"===n&&\\\"linear\\\"===e.type,o=\\\"linear\\\"===n&&\\\"log\\\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.annotations,c=e._id.charAt(0),h=0;h<u.length;h++)s=u[h],l=\\\"annotations[\\\"+h+\\\"].\\\",s[c+\\\"ref\\\"]===e._id&&f(c),s[\\\"a\\\"+c+\\\"ref\\\"]===e._id&&f(\\\"a\\\"+c);function f(t){var n=s[t],o=null;o=a?re(n,e.range):Math.pow(10,n),r(o)||(o=null),i(l+t,o)}}},hd=(0,ye.overrideAll)({_isLinkedToArray:\\\"annotation\\\",visible:Jp.visible,x:{valType:\\\"any\\\"},y:{valType:\\\"any\\\"},z:{valType:\\\"any\\\"},ax:{valType:\\\"number\\\"},ay:{valType:\\\"number\\\"},xanchor:Jp.xanchor,xshift:Jp.xshift,yanchor:Jp.yanchor,yshift:Jp.yshift,text:Jp.text,textangle:Jp.textangle,font:Jp.font,width:Jp.width,height:Jp.height,opacity:Jp.opacity,align:Jp.align,valign:Jp.valign,bgcolor:Jp.bgcolor,bordercolor:Jp.bordercolor,borderpad:Jp.borderpad,borderwidth:Jp.borderwidth,showarrow:Jp.showarrow,arrowcolor:Jp.arrowcolor,arrowhead:Jp.arrowhead,startarrowhead:Jp.startarrowhead,arrowside:Jp.arrowside,arrowsize:Jp.arrowsize,startarrowsize:Jp.startarrowsize,arrowwidth:Jp.arrowwidth,standoff:Jp.standoff,startstandoff:Jp.startstandoff,hovertext:Jp.hovertext,hoverlabel:Jp.hoverlabel,captureevents:Jp.captureevents},\\\"calc\\\",\\\"from-root\\\");function fd(t,e){var r=e.fullSceneLayout.domain,n=e.fullLayout._size,i={pdata:null,type:\\\"linear\\\",autorange:!1,range:[-1/0,1/0]};t._xa={},ne.extendFlat(t._xa,i),ri.setConvert(t._xa),t._xa._offset=n.l+r.x[0]*n.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*n.w*(r.x[1]-r.x[0])},t._ya={},ne.extendFlat(t._ya,i),ri.setConvert(t._ya),t._ya._offset=n.t+(1-r.y[1])*n.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*n.h*(r.y[1]-r.y[0])}}function pd(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,hd,r,n)}function o(t){var n=t+\\\"axis\\\",i={_fullLayout:{}};return i._fullLayout[n]=r[n],ri.coercePosition(e,i,a,t,t,.5)}return a(\\\"visible\\\",!i.itemIsNotPlainObject)?(od(t,e,n.fullLayout,a),o(\\\"x\\\"),o(\\\"y\\\"),o(\\\"z\\\"),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"]),e.xref=\\\"x\\\",e.yref=\\\"y\\\",e.zref=\\\"z\\\",a(\\\"xanchor\\\"),a(\\\"yanchor\\\"),a(\\\"xshift\\\"),a(\\\"yshift\\\"),e.showarrow&&(e.axref=\\\"pixel\\\",e.ayref=\\\"pixel\\\",a(\\\"ax\\\",-10),a(\\\"ay\\\",-30),ne.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"])),e):e}function dd(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}var gd=function(t,e){return dd(t.projection,dd(t.view,dd(t.model,[e[0],e[1],e[2],1])))},vd=Qp.drawRaw,md=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],yd={moduleType:\\\"component\\\",name:\\\"annotations3d\\\",schema:{subplots:{scene:{annotations:hd}}},layoutAttributes:hd,handleDefaults:function(t,e,r){ld(t,e,{name:\\\"annotations\\\",handleItemDefaults:pd,fullLayout:r.fullLayout})},includeBasePlot:function(t,e){var r=P.subplotsRegistry.gl3d;if(!r)return;for(var n=r.attrRegex,i=Object.keys(t),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(t[o].annotations||[]).length&&(ne.pushUnique(e._basePlotModules,r),ne.pushUnique(e._subplots.gl3d,o))}},convert:function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)fd(e[r],t);t.fullLayout._infolayer.selectAll(\\\".annotation-\\\"+t.id).remove()},draw:function(t){for(var e=t.fullSceneLayout,r=t.dataScale,n=e.annotations,i=0;i<n.length;i++){for(var a=n[i],o=!1,s=0;s<3;s++){var l=md[s],u=a[l],c=e[l+\\\"axis\\\"].r2fraction(u);if(c<0||c>1){o=!0;break}}o?t.fullLayout._infolayer.select(\\\".annotation-\\\"+t.id+'[data-index=\\\"'+i+'\\\"]').remove():(a._pdata=gd(t.glplot.cameraParams,[e.xaxis.r2l(a.x)*r[0],e.yaxis.r2l(a.y)*r[1],e.zaxis.r2l(a.z)*r[2]]),vd(t.graphDiv,a,i,t.id,a._xa,a._ya))}}};var xd={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\\\"}}},bd=function(t){var e=t.type,r=t.symmetric;if(\\\"data\\\"===e){var n=t.array||[];if(r)return function(t,e){var r=+n[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+n[e],a=+i[e];return isNaN(r)&&isNaN(a)?[NaN,NaN]:[a||0,r||0]}}var a=_d(e,t.value),o=_d(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=a(t);return[e,e]}:function(t){return[o(t),a(t)]}};function _d(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}var wd=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],i=n[0].trace;if(P.traceIs(i,\\\"errorBarsOK\\\")){var a=ri.getFromId(t,i.xaxis),o=ri.getFromId(t,i.yaxis);Md(n,i,a,\\\"x\\\"),Md(n,i,o,\\\"y\\\")}}};function Md(t,e,n,i){var a=e[\\\"error_\\\"+i]||{},o=[];if(a.visible&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(n.type)){for(var s=bd(a),l=0;l<t.length;l++){var u=t[l],c=u[i];if(r(n.c2l(c))){var h=s(c,l);if(r(h[0])&&r(h[1])){var f=u[i+\\\"s\\\"]=c-h[0],p=u[i+\\\"h\\\"]=c+h[1];o.push(f,p)}}}ri.expand(n,o,{padded:!0})}}var Ad=ye.overrideAll,kd={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd)};delete kd.error_x.copy_zstyle,delete kd.error_y.copy_zstyle,delete kd.error_y.copy_ystyle;var Td={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd),error_z:ne.extendFlat({},xd)};delete Td.error_x.copy_ystyle,delete Td.error_y.copy_ystyle,delete Td.error_z.copy_ystyle,delete Td.error_z.copy_zstyle;var Sd={moduleType:\\\"component\\\",name:\\\"errorbars\\\",schema:{traces:{scatter:kd,bar:kd,histogram:kd,scatter3d:Ad(Td,\\\"calc\\\",\\\"nested\\\"),scattergl:Ad(kd,\\\"calc\\\",\\\"nested\\\")}},supplyDefaults:function(t,e,n,i){var a=\\\"error_\\\"+i.axis,o=e[a]={},s=t[a]||{};function l(t,e){return ne.coerce(s,o,xd,t,e)}if(!1!==l(\\\"visible\\\",void 0!==s.array||void 0!==s.value||\\\"sqrt\\\"===s.type)){var u=l(\\\"type\\\",\\\"array\\\"in s?\\\"data\\\":\\\"percent\\\"),c=!0;\\\"sqrt\\\"!==u&&(c=l(\\\"symmetric\\\",!((\\\"data\\\"===u?\\\"arrayminus\\\":\\\"valueminus\\\")in s))),\\\"data\\\"===u?(l(\\\"array\\\"),l(\\\"traceref\\\"),c||(l(\\\"arrayminus\\\"),l(\\\"tracerefminus\\\"))):\\\"percent\\\"!==u&&\\\"constant\\\"!==u||(l(\\\"value\\\"),c||l(\\\"valueminus\\\"));var h=\\\"copy_\\\"+i.inherit+\\\"style\\\";i.inherit&&(e[\\\"error_\\\"+i.inherit]||{}).visible&&l(h,!(s.color||r(s.thickness)||r(s.width))),i.inherit&&o[h]||(l(\\\"color\\\",n),l(\\\"thickness\\\"),l(\\\"width\\\",P.traceIs(e,\\\"gl3d\\\")?0:4))}},calc:wd,calcFromTrace:function(t,e){for(var r=t.x||[],n=t.y||[],i=r.length||n.length,a=new Array(i),o=0;o<i;o++)a[o]={x:r[o],y:n[o]};return a[0].trace=t,wd({calcdata:[a],_fullLayout:e}),a},plot:function(t,n,i){var a=n.xaxis,o=n.yaxis,s=i&&i.duration>0;t.each(function(t){var l,u=t[0].trace,c=u.error_x||{},h=u.error_y||{};u.ids&&(l=function(t){return t.id});var f=Tr.hasMarkers(u)&&u.marker.maxdisplayed>0;h.visible||c.visible||(t=[]);var p=e.select(this).selectAll(\\\"g.errorbar\\\").data(t,l);if(p.exit().remove(),t.length){c.visible||p.selectAll(\\\"path.xerror\\\").remove(),h.visible||p.selectAll(\\\"path.yerror\\\").remove(),p.style(\\\"opacity\\\",1);var d=p.enter().append(\\\"g\\\").classed(\\\"errorbar\\\",!0);s&&d.style(\\\"opacity\\\",0).transition().duration(i.duration).style(\\\"opacity\\\",1),Sr.setClipUrl(p,n.layerClipId),p.each(function(t){var n=e.select(this),l=function(t,e,n){var i={x:e.c2p(t.x),y:n.c2p(t.y)};return void 0!==t.yh&&(i.yh=n.c2p(t.yh),i.ys=n.c2p(t.ys),r(i.ys)||(i.noYS=!0,i.ys=n.c2p(t.ys,!0))),void 0!==t.xh&&(i.xh=e.c2p(t.xh),i.xs=e.c2p(t.xs),r(i.xs)||(i.noXS=!0,i.xs=e.c2p(t.xs,!0))),i}(t,a,o);if(!f||t.vis){var u,p=n.select(\\\"path.yerror\\\");if(h.visible&&r(l.x)&&r(l.yh)&&r(l.ys)){var d=h.width;u=\\\"M\\\"+(l.x-d)+\\\",\\\"+l.yh+\\\"h\\\"+2*d+\\\"m-\\\"+d+\\\",0V\\\"+l.ys,l.noYS||(u+=\\\"m-\\\"+d+\\\",0h\\\"+2*d),p.size()?s&&(p=p.transition().duration(i.duration).ease(i.easing)):p=n.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"yerror\\\",!0),p.attr(\\\"d\\\",u)}else p.remove();var g=n.select(\\\"path.xerror\\\");if(c.visible&&r(l.y)&&r(l.xh)&&r(l.xs)){var v=(c.copy_ystyle?h:c).width;u=\\\"M\\\"+l.xh+\\\",\\\"+(l.y-v)+\\\"v\\\"+2*v+\\\"m0,-\\\"+v+\\\"H\\\"+l.xs,l.noXS||(u+=\\\"m0,-\\\"+v+\\\"v\\\"+2*v),g.size()?s&&(g=g.transition().duration(i.duration).ease(i.easing)):g=n.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"xerror\\\",!0),g.attr(\\\"d\\\",u)}else g.remove()}})}})},style:function(t){t.each(function(t){var r=t[0].trace,n=r.error_y||{},i=r.error_x||{},a=e.select(this);a.selectAll(\\\"path.yerror\\\").style(\\\"stroke-width\\\",n.thickness+\\\"px\\\").call(Oe.stroke,n.color),i.copy_ystyle&&(i=n),a.selectAll(\\\"path.xerror\\\").style(\\\"stroke-width\\\",i.thickness+\\\"px\\\").call(Oe.stroke,i.color)})},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))}};var Ed=tt.counter,Cd=qc.attributes,Ld=Te.idRegex,zd={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:[Ed(\\\"xy\\\").toString(),\\\"\\\"],editType:\\\"plot\\\"},editType:\\\"plot\\\"},xaxes:{valType:\\\"info_array\\\",freeLength:!0,items:{valType:\\\"enumerated\\\",values:[Ld.x.toString(),\\\"\\\"],editType:\\\"plot\\\"},editType:\\\"plot\\\"},yaxes:{valType:\\\"info_array\\\",freeLength:!0,items:{valType:\\\"enumerated\\\",values:[Ld.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:Cd({name:\\\"grid\\\",editType:\\\"plot\\\",noGridCell:!0},{}),xside:{valType:\\\"enumerated\\\",values:[\\\"bottom\\\",\\\"bottom plot\\\",\\\"top plot\\\",\\\"top\\\"],dflt:\\\"bottom plot\\\",editType:\\\"ticks\\\"},yside:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"left plot\\\",\\\"right plot\\\",\\\"right\\\"],dflt:\\\"left plot\\\",editType:\\\"ticks\\\"},editType:\\\"plot\\\"};function Pd(t,e,r,n,i){var a=e(t+\\\"gap\\\",r),o=e(\\\"domain.\\\"+t);e(t+\\\"side\\\");for(var s=new Array(n),l=o[0],u=(o[1]-l)/(n-a),c=u*(1-a),h=0;h<n;h++){var f=l+u*h;s[i?n-1-h:h]=[f,f+c]}return s}function Id(t,e,r,n,i){var a,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(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}var Dd={moduleType:\\\"component\\\",name:\\\"grid\\\",schema:{layout:{grid:zd}},layoutAttributes:zd,sizeDefaults:function(t,e){var r=t.grid;if(r){var n,i,a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(r.xaxes),s=Array.isArray(r.yaxes);a?(n=r.subplots.length,i=r.subplots[0].length):(s&&(n=r.yaxes.length),o&&(i=r.xaxes.length));var l=e.grid={},u=f(\\\"rows\\\",n),c=f(\\\"columns\\\",i);if(u*c>1){a||o||s||\\\"independent\\\"===f(\\\"pattern\\\")&&(a=!0),l._hasSubplotGrid=a;var h=\\\"top to bottom\\\"===f(\\\"roworder\\\");l._domains={x:Pd(\\\"x\\\",f,a?.2:.1,c),y:Pd(\\\"y\\\",f,a?.3:.1,u,h)}}}function f(t,e){return ne.coerce(r,l,zd,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,c=t.grid,h=e._subplots,f=r._hasSubplotGrid,p=r.rows,d=r.columns,g=\\\"independent\\\"===r.pattern,v=r._axisMap={};if(f){var m=c.subplots||[];l=r.subplots=new Array(p);var y=1;for(n=0;n<p;n++){var x=l[n]=new Array(d),b=m[n]||[];for(i=0;i<d;i++)if(g?(s=1===y?\\\"xy\\\":\\\"x\\\"+y+\\\"y\\\"+y,y++):s=b[i],x[i]=\\\"\\\",-1!==h.cartesian.indexOf(s)){if(u=s.indexOf(\\\"y\\\"),a=s.slice(0,u),o=s.slice(u),void 0!==v[a]&&v[a]!==i||void 0!==v[o]&&v[o]!==n)continue;x[i]=s,v[a]=i,v[o]=n}}}else r.xaxes=Id(c.xaxes,h.xaxis,d,v,\\\"x\\\"),r.yaxes=Id(c.yaxes,h.yaxis,p,v,\\\"y\\\");var _=r._anchors={},w=\\\"top to bottom\\\"===r.roworder;for(var M in v){var A,k,T,S=M.charAt(0),E=r[S+\\\"side\\\"];if(E.length<8)_[M]=\\\"free\\\";else if(\\\"x\\\"===S){if(\\\"t\\\"===E.charAt(0)===w?(A=0,k=1,T=p):(A=p-1,k=-1,T=-1),f){var C=v[M];for(n=A;n!==T;n+=k)if((s=l[n][C])&&(u=s.indexOf(\\\"y\\\"),s.slice(0,u)===M)){_[M]=s.slice(u);break}}else for(n=A;n!==T;n+=k)if(o=r.yaxes[n],-1!==h.cartesian.indexOf(M+o)){_[M]=o;break}}else if(\\\"l\\\"===E.charAt(0)?(A=0,k=1,T=d):(A=d-1,k=-1,T=-1),f){var L=v[M];for(n=A;n!==T;n+=k)if((s=l[L][n])&&(u=s.indexOf(\\\"y\\\"),s.slice(u)===M)){_[M]=s.slice(0,u);break}}else for(n=A;n!==T;n+=k)if(a=r.xaxes[n],-1!==h.cartesian.indexOf(a+M)){_[M]=a;break}}}}},Od={_isLinkedToArray:\\\"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\\\",Te.idRegex.x.toString()],dflt:\\\"paper\\\",editType:\\\"arraydraw\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",Te.idRegex.y.toString()],dflt:\\\"paper\\\",editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"},Rd=\\\"images\\\";function Fd(t,e,r){function n(r,n){return ne.coerce(t,e,Od,r,n)}if(!n(\\\"visible\\\",!!n(\\\"source\\\")))return e;n(\\\"layer\\\"),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"sizex\\\"),n(\\\"sizey\\\"),n(\\\"sizing\\\"),n(\\\"opacity\\\");for(var i={_fullLayout:r},a=[\\\"x\\\",\\\"y\\\"],o=0;o<2;o++){var s=a[o],l=ri.coerceRef(t,e,i,s,\\\"paper\\\");ri.coercePosition(e,i,n,l,s,0)}return e}var Bd={moduleType:\\\"component\\\",name:\\\"images\\\",layoutAttributes:Od,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Rd,handleItemDefaults:Fd})},includeBasePlot:ud(\\\"images\\\"),draw:function(t){var r,n,i=t._fullLayout,a=[],o={},s=[];for(n=0;n<i.images.length;n++){var l=i.images[n];if(l.visible)if(\\\"below\\\"===l.layer&&\\\"paper\\\"!==l.xref&&\\\"paper\\\"!==l.yref){r=l.xref+l.yref;var u=i._plots[r];if(!u){s.push(l);continue}u.mainplot&&(r=u.mainplot.id),o[r]||(o[r]=[]),o[r].push(l)}else\\\"above\\\"===l.layer?a.push(l):s.push(l)}var c={x:{left:{sizing:\\\"xMin\\\",offset:0},center:{sizing:\\\"xMid\\\",offset:-.5},right:{sizing:\\\"xMax\\\",offset:-1}},y:{top:{sizing:\\\"YMin\\\",offset:0},middle:{sizing:\\\"YMid\\\",offset:-.5},bottom:{sizing:\\\"YMax\\\",offset:-1}}};function h(r){var n=e.select(this);if(!this.img||this.img.src!==r.source){n.attr(\\\"xmlns\\\",$e.svg);var i=new Promise(function(t){var e=new Image;function i(){n.remove(),t()}this.img=e,e.setAttribute(\\\"crossOrigin\\\",\\\"anonymous\\\"),e.onerror=i,e.onload=function(){var e=document.createElement(\\\"canvas\\\");e.width=this.width,e.height=this.height,e.getContext(\\\"2d\\\").drawImage(this,0,0);var r=e.toDataURL(\\\"image/png\\\");n.attr(\\\"xlink:href\\\",r),t()},n.on(\\\"error\\\",i),e.src=r.source}.bind(this));t._promises.push(i)}}function f(r){var n=e.select(this),a=ri.getFromId(t,r.xref),o=ri.getFromId(t,r.yref),s=i._size,l=a?Math.abs(a.l2p(r.sizex)-a.l2p(0)):r.sizex*s.w,u=o?Math.abs(o.l2p(r.sizey)-o.l2p(0)):r.sizey*s.h,h=l*c.x[r.xanchor].offset,f=u*c.y[r.yanchor].offset,p=c.x[r.xanchor].sizing+c.y[r.yanchor].sizing,d=(a?a.r2p(r.x)+a._offset:r.x*s.w+s.l)+h,g=(o?o.r2p(r.y)+o._offset:s.h-r.y*s.h+s.t)+f;switch(r.sizing){case\\\"fill\\\":p+=\\\" slice\\\";break;case\\\"stretch\\\":p=\\\"none\\\"}n.attr({x:d,y:g,width:l,height:u,preserveAspectRatio:p,opacity:r.opacity});var v=(a?a._id:\\\"\\\")+(o?o._id:\\\"\\\");n.call(Sr.setClipUrl,v?\\\"clip\\\"+i._uid+v:null)}var p=i._imageLowerLayer.selectAll(\\\"image\\\").data(s),d=i._imageUpperLayer.selectAll(\\\"image\\\").data(a);p.enter().append(\\\"image\\\"),d.enter().append(\\\"image\\\"),p.exit().remove(),d.exit().remove(),p.each(function(t){h.bind(this)(t),f.bind(this)(t)}),d.each(function(t){h.bind(this)(t),f.bind(this)(t)});var g=Object.keys(i._plots);for(n=0;n<g.length;n++){r=g[n];var v=i._plots[r];if(v.imagelayer){var m=v.imagelayer.selectAll(\\\"image\\\").data(o[r]||[]);m.enter().append(\\\"image\\\"),m.exit().remove(),m.each(function(t){h.bind(this)(t),f.bind(this)(t)})}}},convertCoords:function(t,e,n,i){e=e||{};var a=\\\"log\\\"===n&&\\\"linear\\\"===e.type,o=\\\"linear\\\"===n&&\\\"log\\\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.images,c=e._id.charAt(0),h=0;h<u.length;h++)if(l=\\\"images[\\\"+h+\\\"].\\\",(s=u[h])[c+\\\"ref\\\"]===e._id){var f=s[c],p=s[\\\"size\\\"+c],d=null,g=null;if(a){d=re(f,e.range);var v=p/Math.pow(10,d)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(d=Math.pow(10,f))*(Math.pow(10,p/2)-Math.pow(10,-p/2));r(d)?r(g)||(g=null):(d=null,g=null),i(l+c,d),i(l+\\\"size\\\"+c,g)}}},Nd={bgcolor:{valType:\\\"color\\\",editType:\\\"legend\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"legend\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"legend\\\"},font:T({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\\\"},x:{valType:\\\"number\\\",min:-2,max:3,dflt:1.02,editType:\\\"legend\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\",editType:\\\"legend\\\"},y:{valType:\\\"number\\\",min:-2,max:3,dflt:1,editType:\\\"legend\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"legend\\\"},editType:\\\"legend\\\"},jd={legendGetsTrace:function(t){return t.visible&&void 0!==t.showlegend},isGrouped:function(t){return-1!==(t.traceorder||\\\"\\\").indexOf(\\\"grouped\\\")},isVertical:function(t){return\\\"h\\\"!==t.orientation},isReversed:function(t){return-1!==(t.traceorder||\\\"\\\").indexOf(\\\"reversed\\\")}},Vd={isRightAnchor:function(t){return\\\"right\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>=2/3},isCenterAnchor:function(t){return\\\"center\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>1/3&&t.x<2/3},isBottomAnchor:function(t){return\\\"bottom\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y<=1/3},isMiddleAnchor:function(t){return\\\"middle\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y>1/3&&t.y<2/3}},Ud={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\\\"#808BA4\\\",scrollBarMargin:4},qd=!0,Hd=function(t,e,r){if(!e._dragged&&!e._editing){var n,i,a,o,s,l=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],u=t.data()[0][0],c=e._fullData,h=u.trace,f=h.legendgroup,p={},d=[],g=[],v=[];if(1===r&&qd&&e.data&&e._context.showTips?(ne.notifier(ne._(e,\\\"Double-click on legend to isolate one trace\\\"),\\\"long\\\"),qd=!1):qd=!1,P.traceIs(h,\\\"pie\\\")){var m=u.label,y=l.indexOf(m);1===r?-1===y?l.push(m):l.splice(y,1):2===r&&(l=[],e.calcdata[0].forEach(function(t){m!==t.label&&l.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===l.length&&-1===y&&(l=[])),P.call(\\\"relayout\\\",e,\\\"hiddenlabels\\\",l)}else{var x,b=f&&f.length,_=[];if(b)for(n=0;n<c.length;n++)(x=c[n]).visible&&x.legendgroup===f&&_.push(n);if(1===r){var w;switch(h.visible){case!0:w=\\\"legendonly\\\";break;case!1:w=!1;break;case\\\"legendonly\\\":w=!0}if(b)for(n=0;n<c.length;n++)!1!==c[n].visible&&c[n].legendgroup===f&&C(c[n],w);else C(h,w)}else if(2===r){var M,A,k=!0;for(n=0;n<c.length;n++)if(!(c[n]===h)&&!(M=b&&c[n].legendgroup===f)&&!0===c[n].visible&&!P.traceIs(c[n],\\\"notLegendIsolatable\\\")){k=!1;break}for(n=0;n<c.length;n++)if(!1!==c[n].visible&&!P.traceIs(c[n],\\\"notLegendIsolatable\\\"))switch(h.visible){case\\\"legendonly\\\":C(c[n],!0);break;case!0:A=!!k||\\\"legendonly\\\",M=c[n]===h||b&&c[n].legendgroup===f,C(c[n],!!M||A)}}for(n=0;n<g.length;n++)if(a=g[n]){var T=a.constructUpdate(),S=Object.keys(T);for(i=0;i<S.length;i++)o=S[i],(p[o]=p[o]||[])[v[n]]=T[o]}for(s=Object.keys(p),n=0;n<s.length;n++)for(o=s[n],i=0;i<d.length;i++)p[o].hasOwnProperty(i)||(p[o][i]=void 0);P.call(\\\"restyle\\\",e,p,d)}}function E(t,e,r){var n=d.indexOf(t),i=p[e];return i||(i=p[e]=[]),-1===d.indexOf(t)&&(d.push(t),n=d.length-1),i[n]=r,n}function C(t,e){var r=t._fullInput;if(P.hasTransform(r,\\\"groupby\\\")){var n=g[r.index];if(!n){var i=P.getTransformIndices(r,\\\"groupby\\\"),a=i[i.length-1];n=ne.keyedContainer(r,\\\"transforms[\\\"+a+\\\"].styles\\\",\\\"target\\\",\\\"value.visible\\\"),g[r.index]=n}var o=n.get(t._group);void 0===o&&(o=!0),!1!==o&&n.set(t._group,e),v[r.index]=E(r.index,\\\"visible\\\",!1!==r.visible)}else{var s=!1!==r.visible&&e;E(r.index,\\\"visible\\\",s)}}},Gd={formatPiePercent:function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(\\\".\\\")&&(r=r.replace(/[.]?0+$/,\\\"\\\")),ne.numSeparate(r,e)+\\\"%\\\"},formatPieValue:function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(\\\".\\\")&&(r=r.replace(/[.]?0+$/,\\\"\\\")),ne.numSeparate(r,e)},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)return n}},castOption:function(t,e){return Array.isArray(t)?Gd.getFirstFilled(t,e):t||void 0}},Wd=Gd.castOption,Yd=function(t,e,r){var n=r.marker.line,i=Wd(n.color,e.pts)||Oe.defaultLine,a=Wd(n.width,e.pts)||0;t.style({\\\"stroke-width\\\":a}).call(Oe.fill,e.color).call(Oe.stroke,i)},Xd=function(t,r){t.each(function(t){var r=e.select(this).selectAll(\\\"g.layers\\\").data([0]);r.enter().append(\\\"g\\\").classed(\\\"layers\\\",!0),r.style(\\\"opacity\\\",t[0].trace.opacity),r.selectAll(\\\"g.legendfill\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendfill\\\",!0),r.selectAll(\\\"g.legendlines\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendlines\\\",!0);var n=r.selectAll(\\\"g.legendsymbols\\\").data([t]);n.enter().append(\\\"g\\\").classed(\\\"legendsymbols\\\",!0),n.selectAll(\\\"g.legendpoints\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendpoints\\\",!0)}).each(function(t){var r=t[0].trace,n=r.marker||{},i=n.line||{},a=e.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbar\\\").data(P.traceIs(r,\\\"bar\\\")?[t]:[]);a.enter().append(\\\"path\\\").classed(\\\"legendbar\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),a.exit().remove(),a.each(function(t){var r=e.select(this),a=t[0],o=(a.mlw+1||i.width+1)-1;r.style(\\\"stroke-width\\\",o+\\\"px\\\").call(Oe.fill,a.mc||n.color),o&&r.call(Oe.stroke,a.mlc||i.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbox\\\").data(P.traceIs(r,\\\"box-violin\\\")&&r.visible?[t]:[]);n.enter().append(\\\"path\\\").classed(\\\"legendbox\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),n.exit().remove(),n.each(function(){var t=r.line.width,n=e.select(this);n.style(\\\"stroke-width\\\",t+\\\"px\\\").call(Oe.fill,r.fillcolor),t&&n.call(Oe.stroke,r.line.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendpie\\\").data(P.traceIs(r,\\\"pie\\\")&&r.visible?[t]:[]);n.enter().append(\\\"path\\\").classed(\\\"legendpie\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),n.exit().remove(),n.size()&&n.call(Yd,t[0],r)}).each(function(t){var r=t[0].trace,n=r.visible&&r.fill&&\\\"none\\\"!==r.fill,i=Tr.hasLines(r),a=r.contours;a&&\\\"constraint\\\"===a.type&&(i=a.showlines,n=\\\"=\\\"!==a._operation);var o=e.select(this).select(\\\".legendfill\\\").selectAll(\\\"path\\\").data(n?[t]:[]);o.enter().append(\\\"path\\\").classed(\\\"js-fill\\\",!0),o.exit().remove(),o.attr(\\\"d\\\",\\\"M5,0h30v6h-30z\\\").call(Sr.fillGroupStyle);var s=e.select(this).select(\\\".legendlines\\\").selectAll(\\\"path\\\").data(i?[t]:[]);s.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).attr(\\\"d\\\",\\\"M5,0h30\\\"),s.exit().remove(),s.call(Sr.lineGroupStyle)}).each(function(t){var n,i,a=t[0],o=a.trace,s=Tr.hasMarkers(o),l=Tr.hasText(o),u=Tr.hasLines(o);function c(t,e,r){var n=ne.nestedProperty(o,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function h(t){return t[0]}if(s||l||u){var f={},p={};s&&(f.mc=c(\\\"marker.color\\\",h),f.mo=c(\\\"marker.opacity\\\",ne.mean,[.2,1]),f.ms=c(\\\"marker.size\\\",ne.mean,[2,16]),f.mlc=c(\\\"marker.line.color\\\",h),f.mlw=c(\\\"marker.line.width\\\",ne.mean,[0,5]),p.marker={sizeref:1,sizemin:1,sizemode:\\\"diameter\\\"}),u&&(p.line={width:c(\\\"line.width\\\",h,[0,10])}),l&&(f.tx=\\\"Aa\\\",f.tp=c(\\\"textposition\\\",h),f.ts=10,f.tc=c(\\\"textfont.color\\\",h),f.tf=c(\\\"textfont.family\\\",h)),n=[ne.minExtend(a,f)],i=ne.minExtend(o,p)}var d=e.select(this).select(\\\"g.legendpoints\\\"),g=d.selectAll(\\\"path.scatterpts\\\").data(s?n:[]);g.enter().append(\\\"path\\\").classed(\\\"scatterpts\\\",!0).attr(\\\"transform\\\",\\\"translate(20,0)\\\"),g.exit().remove(),g.call(Sr.pointStyle,i,r),s&&(n[0].mrc=3);var v=d.selectAll(\\\"g.pointtext\\\").data(l?n:[]);v.enter().append(\\\"g\\\").classed(\\\"pointtext\\\",!0).append(\\\"text\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),v.exit().remove(),v.selectAll(\\\"text\\\").call(Sr.textPointStyle,i,r)})},Zd=Qe.LINE_SPACING,Jd=Qe.FROM_TL,Kd=Qe.FROM_BR,Qd=f.DBLCLICKDELAY;function $d(t,e){var r=t.data()[0][0],n=e._fullLayout,i=r.trace,a=P.traceIs(i,\\\"pie\\\"),o=i.index,s=a?r.label:i.name,l=t.selectAll(\\\"text.legendtext\\\").data([0]);function u(r){er.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\\\"g[class*=math-group]\\\"),o=a.node(),s=e._fullLayout.legend.font.size*Zd;if(o){var l=Sr.bBox(o);n=l.height,i=l.width,Sr.setTranslate(a,0,n/4)}else{var u=t.select(\\\".legendtext\\\"),c=er.lineCount(u),h=u.node();n=s*c,i=h?Sr.bBox(h).width:0;var f=s*(.3+(1-c)/2);er.positionText(u,40,f)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}l.enter().append(\\\"text\\\").classed(\\\"legendtext\\\",!0),l.attr(\\\"text-anchor\\\",\\\"start\\\").classed(\\\"user-select-none\\\",!0).call(Sr.font,n.legend.font).text(s),e._context.edits.legendText&&!a?l.call(er.makeEditable,{gd:e}).call(u).on(\\\"edit\\\",function(t){this.text(t).call(u);var n,i=t;this.text()||(t=\\\"    \\\");var a=r.trace._fullInput||{},s={};if(-1!==[\\\"ohlc\\\",\\\"candlestick\\\"].indexOf(a.type))s[(n=r.trace.transforms)[n.length-1].direction+\\\".name\\\"]=t;else if(P.hasTransform(a,\\\"groupby\\\")){var l=P.getTransformIndices(a,\\\"groupby\\\"),c=l[l.length-1],h=ne.keyedContainer(a,\\\"transforms[\\\"+c+\\\"].styles\\\",\\\"target\\\",\\\"value.name\\\");\\\"\\\"===i?h.remove(r.trace._group):h.set(r.trace._group,t),s=h.constructUpdate()}else s.name=t;return P.call(\\\"restyle\\\",e,s,o)}):u(l)}function tg(t,e){var r,n=1,i=t.selectAll(\\\"rect\\\").data([0]);i.enter().append(\\\"rect\\\").classed(\\\"legendtoggle\\\",!0).style(\\\"cursor\\\",\\\"pointer\\\").attr(\\\"pointer-events\\\",\\\"all\\\").call(Oe.fill,\\\"rgba(0,0,0,0)\\\"),i.on(\\\"mousedown\\\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<Qd?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(\\\"mouseup\\\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>Qd&&(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){Hd(t,e,n)},Qd):2===n&&(r._clickTimeout&&clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,Hd(t,e,n))}})}function eg(t,r,n){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=jd.isGrouped(a),l=0;if(a._width=0,a._height=0,jd.isVertical(a))s&&r.each(function(t,e){Sr.setTranslate(this,0,e*a.tracegroupgap)}),n.each(function(t){var e=t[0],r=e.height,n=e.width;Sr.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],c=r.data(),h=0,f=c.length;h<f;h++){var p=c[h].map(function(t){return t[0].width}),d=40+Math.max.apply(null,p);a._width+=a.tracegroupgap+d,u.push(a._width)}r.each(function(t,e){Sr.setTranslate(this,u[e],0)}),r.each(function(){var t=0;e.select(this).selectAll(\\\"g.traces\\\").each(function(e){var r=e[0].height;Sr.setTranslate(this,0,5+o+t+r/2),t+=r}),a._height=Math.max(a._height,t)}),a._height+=10+2*o,a._width+=2*o}else{var g,v=0,m=0,y=0,x=0,b=0,_=a.tracegroupgap||5;n.each(function(t){y=Math.max(40+t[0].width,y),b+=40+t[0].width+_}),g=i.width-(i.margin.r+i.margin.l)>o+b-_,n.each(function(t){var e=t[0],r=g?40+t[0].width:y;o+x+_+r>i.width-(i.margin.r+i.margin.l)&&(x=0,v+=m,a._height=a._height+m,m=0),Sr.setTranslate(this,o+x,5+o+e.height/2+v),a._width+=_+r,a._height=Math.max(a._height,e.height),x+=_+r,m=Math.max(e.height,m)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),n.each(function(r){var n=r[0],i=e.select(this).select(\\\".legendtoggle\\\");Sr.setRect(i,0,-n.height/2,(t._context.edits.legendText?0:a._width)+l,n.height)})}function rg(t){var e=t._fullLayout.legend,r=\\\"left\\\";Vd.isRightAnchor(e)?r=\\\"right\\\":Vd.isCenterAnchor(e)&&(r=\\\"center\\\");var n=\\\"top\\\";Vd.isBottomAnchor(e)?n=\\\"bottom\\\":Vd.isMiddleAnchor(e)&&(n=\\\"middle\\\"),_n.autoMargin(t,\\\"legend\\\",{x:e.x,y:e.y,l:e._width*Jd[r],r:e._width*Kd[r],b:e._height*Kd[n],t:e._height*Jd[n]})}var ng={moduleType:\\\"component\\\",name:\\\"legend\\\",layoutAttributes:Nd,supplyLayoutDefaults:function(t,e,r){for(var n,i,a,o,s=t.legend||{},l={},u=0,c=\\\"normal\\\",h=0;h<r.length;h++){var f=r[h];jd.legendGetsTrace(f)&&(u++,P.traceIs(f,\\\"pie\\\")&&u++),(P.traceIs(f,\\\"bar\\\")&&\\\"stack\\\"===e.barmode||-1!==[\\\"tonextx\\\",\\\"tonexty\\\"].indexOf(f.fill))&&(c=jd.isGrouped({traceorder:c})?\\\"grouped+reversed\\\":\\\"reversed\\\"),void 0!==f.legendgroup&&\\\"\\\"!==f.legendgroup&&(c=jd.isReversed({traceorder:c})?\\\"reversed+grouped\\\":\\\"grouped\\\")}function p(t,e){return ne.coerce(s,l,Nd,t,e)}if(!1!==ne.coerce(t,e,z,\\\"showlegend\\\",u>1)){if(e.legend=l,p(\\\"bgcolor\\\",e.paper_bgcolor),p(\\\"bordercolor\\\"),p(\\\"borderwidth\\\"),ne.coerceFont(p,\\\"font\\\",e.font),p(\\\"orientation\\\"),\\\"h\\\"===l.orientation){var d=t.xaxis;d&&d.rangeslider&&d.rangeslider.visible?(n=0,a=\\\"left\\\",i=1.1,o=\\\"bottom\\\"):(n=0,a=\\\"left\\\",i=-.1,o=\\\"top\\\")}p(\\\"traceorder\\\",c),jd.isGrouped(e.legend)&&p(\\\"tracegroupgap\\\"),p(\\\"x\\\",n),p(\\\"xanchor\\\",a),p(\\\"y\\\",i),p(\\\"yanchor\\\",o),ne.noneOrAll(s,l,[\\\"x\\\",\\\"y\\\"])}},draw:function(t){var r=t._fullLayout,n=\\\"legend\\\"+r._uid;if(r._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var i=r.legend,a=r.showlegend&&function(t,e){var r,n,i={},a=[],o=!1,s={},l=0;function u(t,r){if(\\\"\\\"!==t&&jd.isGrouped(e))-1===a.indexOf(t)?(a.push(t),o=!0,i[t]=[[r]]):i[t].push([r]);else{var n=\\\"~~i\\\"+l;a.push(n),i[n]=[[r]],l++}}for(r=0;r<t.length;r++){var c=t[r],h=c[0],f=h.trace,p=f.legendgroup;if(jd.legendGetsTrace(f)&&f.showlegend)if(P.traceIs(f,\\\"pie\\\"))for(s[p]||(s[p]={}),n=0;n<c.length;n++){var d=c[n].label;s[p][d]||(u(p,{label:d,color:c[n].color,i:c[n].i,trace:f}),s[p][d]=!0)}else u(p,h)}if(!a.length)return[];var g,v,m=a.length;if(o&&jd.isGrouped(e))for(v=new Array(m),r=0;r<m;r++)g=i[a[r]],v[r]=jd.isReversed(e)?g.reverse():g;else{for(v=[new Array(m)],r=0;r<m;r++)g=i[a[r]][0],v[0][jd.isReversed(e)?m-r-1:r]=g;m=1}return e._lgroupsLength=m,v}(t.calcdata,i),o=r.hiddenlabels||[];if(!r.showlegend||!a.length)return r._infolayer.selectAll(\\\".legend\\\").remove(),r._topdefs.select(\\\"#\\\"+n).remove(),void _n.autoMargin(t,\\\"legend\\\");var s=r._infolayer.selectAll(\\\"g.legend\\\").data([0]);s.enter().append(\\\"g\\\").attr({class:\\\"legend\\\",\\\"pointer-events\\\":\\\"all\\\"});var l=r._topdefs.selectAll(\\\"#\\\"+n).data([0]);l.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n).append(\\\"rect\\\");var u=s.selectAll(\\\"rect.bg\\\").data([0]);u.enter().append(\\\"rect\\\").attr({class:\\\"bg\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),u.call(Oe.stroke,i.bordercolor).call(Oe.fill,i.bgcolor).style(\\\"stroke-width\\\",i.borderwidth+\\\"px\\\");var c=s.selectAll(\\\"g.scrollbox\\\").data([0]);c.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"scrollbox\\\");var h=s.selectAll(\\\"rect.scrollbar\\\").data([0]);h.enter().append(\\\"rect\\\").attr({class:\\\"scrollbar\\\",rx:20,ry:3,width:0,height:0}).call(Oe.fill,\\\"#808BA4\\\");var f=c.selectAll(\\\"g.groups\\\").data(a);f.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"groups\\\"),f.exit().remove();var p=f.selectAll(\\\"g.traces\\\").data(ne.identity);p.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"traces\\\"),p.exit().remove(),p.call(Xd,t).style(\\\"opacity\\\",function(t){var e=t[0].trace;return P.traceIs(e,\\\"pie\\\")?-1!==o.indexOf(t[0].label)?.5:1:\\\"legendonly\\\"===e.visible?.5:1}).each(function(){e.select(this).call($d,t).call(tg,t)}),0!==s.enter().size()&&(eg(t,f,p),rg(t));var d=r.width,g=r.height;eg(t,f,p),i._height>g?function(t){var e=t._fullLayout.legend,r=\\\"left\\\";Vd.isRightAnchor(e)?r=\\\"right\\\":Vd.isCenterAnchor(e)&&(r=\\\"center\\\"),_n.autoMargin(t,\\\"legend\\\",{x:e.x,y:.5,l:e._width*Jd[r],r:e._width*Kd[r],b:0,t:0})}(t):rg(t);var v=r._size,m=v.l+v.w*i.x,y=v.t+v.h*(1-i.y);Vd.isRightAnchor(i)?m-=i._width:Vd.isCenterAnchor(i)&&(m-=i._width/2),Vd.isBottomAnchor(i)?y-=i._height:Vd.isMiddleAnchor(i)&&(y-=i._height/2);var x=i._width,b=v.w;x>b?(m=v.l,x=b):(m+x>d&&(m=d-x),m<0&&(m=0),x=Math.min(d-m,i._width));var _,w,M,A,k=i._height,T=v.h;if(k>T?(y=v.t,k=T):(y+k>g&&(y=g-k),y<0&&(y=0),k=Math.min(g-y,i._height)),Sr.setTranslate(s,m,y),h.on(\\\".drag\\\",null),s.on(\\\"wheel\\\",null),i._height<=k||t._context.staticPlot)u.attr({width:x-i.borderwidth,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),Sr.setTranslate(c,0,0),l.select(\\\"rect\\\").attr({width:x-2*i.borderwidth,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth}),Sr.setClipUrl(c,n),Sr.setRect(h,0,0,0,0),delete i._scrollY;else{var S,E,C=Math.max(Ud.scrollBarMinHeight,k*k/i._height),L=k-C-2*Ud.scrollBarMargin,z=i._height-k,I=L/z,D=Math.min(i._scrollY||0,z);u.attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),l.select(\\\"rect\\\").attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth+D}),Sr.setClipUrl(c,n),R(D,C,I),s.on(\\\"wheel\\\",function(){R(D=ne.constrain(i._scrollY+e.event.deltaY/L*z,0,z),C,I),0!==D&&D!==z&&e.event.preventDefault()});var O=e.behavior.drag().on(\\\"dragstart\\\",function(){S=e.event.sourceEvent.clientY,E=D}).on(\\\"drag\\\",function(){var t=e.event.sourceEvent;2===t.buttons||t.ctrlKey||R(D=ne.constrain((t.clientY-S)/I+E,0,z),C,I)});h.call(O)}t._context.edits.legendPosition&&(s.classed(\\\"cursor-move\\\",!0),Ua.init({element:s.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(s);M=t.x,A=t.y},moveFn:function(t,e){var r=M+t,n=A+e;Sr.setTranslate(s,r,n),_=Ua.align(r,0,v.l,v.l+v.w,i.xanchor),w=Ua.align(n,0,v.t+v.h,v.t,i.yanchor)},doneFn:function(){void 0!==_&&void 0!==w&&P.call(\\\"relayout\\\",t,{\\\"legend.x\\\":_,\\\"legend.y\\\":w})},clickFn:function(e,n){var i=r._infolayer.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});i.size()>0&&(1===e?s._clickTimeout=setTimeout(function(){Hd(i,t,e)},Qd):2===e&&(s._clickTimeout&&clearTimeout(s._clickTimeout),Hd(i,t,e)))}}))}function R(e,r,n){i._scrollY=t._fullLayout.legend._scrollY=e,Sr.setTranslate(c,0,-e),Sr.setRect(h,x,Ud.scrollBarMargin+e*n,Ud.scrollBarWidth,r),l.select(\\\"rect\\\").attr({y:i.borderwidth+e})}},style:Xd},ig={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\\\"},ag=m.extendFlat,og={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},buttons:ig=ag(ig,{_isLinkedToArray:\\\"button\\\"}),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:T({editType:\\\"plot\\\"}),bgcolor:{valType:\\\"color\\\",dflt:C.lightLine,editType:\\\"plot\\\"},activecolor:{valType:\\\"color\\\",editType:\\\"plot\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"plot\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"plot\\\"},editType:\\\"plot\\\"},sg={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10};var lg=function(t,r){var n=t._name,i={};if(\\\"all\\\"===r.step)i[n+\\\".autorange\\\"]=!0;else{var a=function(t,r){var n,i=t.range,a=new Date(t.r2l(i[1])),o=r.step,s=r.count;switch(r.stepmode){case\\\"backward\\\":n=t.l2r(+e.time[o].utc.offset(a,-s));break;case\\\"todate\\\":var l=e.time[o].utc.offset(a,-s);n=t.l2r(+e.time[o].utc.ceil(l))}var u=i[1];return[n,u]}(t,r);i[n+\\\".range[0]\\\"]=a[0],i[n+\\\".range[1]\\\"]=a[1]}return i};var ug=Qe.LINE_SPACING,cg=Qe.FROM_TL,hg=Qe.FROM_BR;function fg(t){return t._id}function pg(t,e,r){var n=t.selectAll(\\\"rect\\\").data([0]);n.enter().append(\\\"rect\\\").classed(\\\"selector-rect\\\",!0),n.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),n.attr({rx:sg.rx,ry:sg.ry}),n.call(Oe.stroke,e.bordercolor).call(Oe.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function dg(t,e,r,n){var i,a=t.selectAll(\\\"text\\\").data([0]);a.enter().append(\\\"text\\\").classed(\\\"selector-text\\\",!0).classed(\\\"user-select-none\\\",!0),a.attr(\\\"text-anchor\\\",\\\"middle\\\"),a.call(Sr.font,e.font).text((i=r,i.label?i.label:\\\"all\\\"===i.step?\\\"all\\\":i.count+i.step.charAt(0))).call(function(t){er.convertToTspans(t,n)})}var gg={moduleType:\\\"component\\\",name:\\\"rangeselector\\\",schema:{subplots:{xaxis:{rangeselector:og}}},layoutAttributes:og,handleDefaults:function(t,e,r,n,i){var a=t.rangeselector||{},o=e.rangeselector={};function s(t,e){return ne.coerce(a,o,og,t,e)}if(s(\\\"visible\\\",function(t,e,r){var n,i,a=t.buttons||[],o=e.buttons=[];function s(t,e){return ne.coerce(n,i,ig,t,e)}for(var l=0;l<a.length;l++)if(n=a[l],i={},ne.isPlainObject(n)){var u=s(\\\"step\\\");\\\"all\\\"!==u&&(!r||\\\"gregorian\\\"===r||\\\"month\\\"!==u&&\\\"year\\\"!==u?s(\\\"stepmode\\\"):i.stepmode=\\\"backward\\\",s(\\\"count\\\")),s(\\\"label\\\"),i._index=l,o.push(i)}return o}(a,o,i).length>0)){var l=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+sg.yPad]}(e,r,n);s(\\\"x\\\",l[0]),s(\\\"y\\\",l[1]),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),s(\\\"xanchor\\\"),s(\\\"yanchor\\\"),ne.coerceFont(s,\\\"font\\\",r.font);var u=s(\\\"bgcolor\\\");s(\\\"activecolor\\\",Oe.contrast(u,sg.lightAmount,sg.darkAmount)),s(\\\"bordercolor\\\"),s(\\\"borderwidth\\\")}},draw:function(t){var r=t._fullLayout._infolayer.selectAll(\\\".rangeselector\\\").data(function(t){for(var e=gn.list(t,\\\"x\\\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),fg);r.enter().append(\\\"g\\\").classed(\\\"rangeselector\\\",!0),r.exit().remove(),r.style({cursor:\\\"pointer\\\",\\\"pointer-events\\\":\\\"all\\\"}),r.each(function(r){var n=e.select(this),i=r,a=i.rangeselector,o=n.selectAll(\\\"g.button\\\").data(a.buttons);o.enter().append(\\\"g\\\").classed(\\\"button\\\",!0),o.exit().remove(),o.each(function(r){var n=e.select(this),o=lg(i,r);r._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]]}(i,r,o),n.call(pg,a,r),n.call(dg,a,r,t),n.on(\\\"click\\\",function(){t._dragged||P.call(\\\"relayout\\\",t,o)}),n.on(\\\"mouseover\\\",function(){r._isHovered=!0,n.call(pg,a,r)}),n.on(\\\"mouseout\\\",function(){r._isHovered=!1,n.call(pg,a,r)})}),function(t,r,n,i,a){var o=0,s=0,l=n.borderwidth;r.each(function(){var t=e.select(this),r=t.select(\\\".selector-text\\\"),i=n.font.size*ug,a=Math.max(i*er.lineCount(r),16)+3;s=Math.max(s,a)}),r.each(function(){var t=e.select(this),r=t.select(\\\".selector-rect\\\"),i=t.select(\\\".selector-text\\\"),a=i.node()&&Sr.bBox(i.node()).width,u=n.font.size*ug,c=er.lineCount(i),h=Math.max(a+10,sg.minButtonWidth);t.attr(\\\"transform\\\",\\\"translate(\\\"+(l+o)+\\\",\\\"+l+\\\")\\\"),r.attr({x:0,y:0,width:h,height:s}),er.positionText(i,h/2,s/2-(c-1)*u/2+3),o+=h+5});var u=t._fullLayout._size,c=u.l+u.w*n.x,h=u.t+u.h*(1-n.y),f=\\\"left\\\";Vd.isRightAnchor(n)&&(c-=o,f=\\\"right\\\"),Vd.isCenterAnchor(n)&&(c-=o/2,f=\\\"center\\\");var p=\\\"top\\\";Vd.isBottomAnchor(n)&&(h-=s,p=\\\"bottom\\\"),Vd.isMiddleAnchor(n)&&(h-=s/2,p=\\\"middle\\\"),o=Math.ceil(o),s=Math.ceil(s),c=Math.round(c),h=Math.round(h),_n.autoMargin(t,i+\\\"-range-selector\\\",{x:n.x,y:n.y,l:o*cg[f],r:o*hg[f],b:s*hg[p],t:s*cg[p]}),a.attr(\\\"transform\\\",\\\"translate(\\\"+c+\\\",\\\"+h+\\\")\\\")}(t,o,a,i._name,n)})}},vg={bgcolor:{valType:\\\"color\\\",dflt:C.background,editType:\\\"plot\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.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\\\"},mg={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},yg=gn.list,xg=Fn,bg={_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\\\"};function _g(t,e,r,n){var i=t.selectAll(\\\"rect.\\\"+mg.bgClassName).data([0]);i.enter().append(\\\"rect\\\").classed(mg.bgClassName,!0).attr({x:0,y:0,\\\"shape-rendering\\\":\\\"crispEdges\\\"});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=Sr.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\\\"translate(\\\"+o+\\\",\\\"+o+\\\")\\\",fill:n.bgcolor,stroke:n.bordercolor,\\\"stroke-width\\\":s})}function wg(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(\\\"#\\\"+n._clipId).data([0]);i.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n._clipId).append(\\\"rect\\\").attr({x:0,y:0}),i.select(\\\"rect\\\").attr({width:n._width,height:n._height})}function Mg(t,r,n,i){var a,o=ri.getSubplots(r,n),s=r.calcdata,l=t.selectAll(\\\"g.\\\"+mg.rangePlotClassName).data(o,ne.identity);l.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return mg.rangePlotClassName+\\\" \\\"+t}).call(Sr.setClipUrl,i._clipId),l.order(),l.exit().remove(),l.each(function(t,o){var l=e.select(this),u=0===o,c=ri.getFromId(r,t,\\\"y\\\"),h=c._name,f=i[h],p={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:i.range.slice(),calendar:n.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:r._context};p.layout[h]={type:c.type,domain:[0,1],range:\\\"match\\\"!==f.rangemode?f.range.slice():c.range.slice(),calendar:c.calendar},_n.supplyDefaults(p);var d={id:t,plotgroup:l,xaxis:p._fullLayout.xaxis,yaxis:p._fullLayout[h]};u?a=d:(d.mainplot=\\\"xy\\\",d.mainplotinfo=a),ua.rangePlot(r,d,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(s,t))})}function Ag(t,e,r,n,i){var a=t.selectAll(\\\"rect.\\\"+mg.maskMinClassName).data([0]);a.enter().append(\\\"rect\\\").classed(mg.maskMinClassName,!0).attr({x:0,y:0}).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),a.attr(\\\"height\\\",n._height).call(Oe.fill,mg.maskColor);var o=t.selectAll(\\\"rect.\\\"+mg.maskMaxClassName).data([0]);if(o.enter().append(\\\"rect\\\").classed(mg.maskMaxClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),o.attr(\\\"height\\\",n._height).call(Oe.fill,mg.maskColor),\\\"match\\\"!==i.rangemode){var s=t.selectAll(\\\"rect.\\\"+mg.maskMinOppAxisClassName).data([0]);s.enter().append(\\\"rect\\\").classed(mg.maskMinOppAxisClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),s.attr(\\\"width\\\",n._width).call(Oe.fill,mg.maskOppAxisColor);var l=t.selectAll(\\\"rect.\\\"+mg.maskMaxOppAxisClassName).data([0]);l.enter().append(\\\"rect\\\").classed(mg.maskMaxOppAxisClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),l.attr(\\\"width\\\",n._width).style(\\\"border-top\\\",mg.maskOppBorder).call(Oe.fill,mg.maskOppAxisColor)}}function kg(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(\\\"rect.\\\"+mg.slideBoxClassName).data([0]);i.enter().append(\\\"rect\\\").classed(mg.slideBoxClassName,!0).attr(\\\"y\\\",0).attr(\\\"cursor\\\",mg.slideBoxCursor).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),i.attr({height:n._height,fill:mg.slideBoxFill})}}function Tg(t,e,r,n){var i=t.selectAll(\\\"g.\\\"+mg.grabberMinClassName).data([0]);i.enter().append(\\\"g\\\").classed(mg.grabberMinClassName,!0);var a=t.selectAll(\\\"g.\\\"+mg.grabberMaxClassName).data([0]);a.enter().append(\\\"g\\\").classed(mg.grabberMaxClassName,!0);var o={x:0,width:mg.handleWidth,rx:mg.handleRadius,fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":mg.handleStrokeWidth,\\\"shape-rendering\\\":\\\"crispEdges\\\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(\\\"rect.\\\"+mg.handleMinClassName).data([0]);l.enter().append(\\\"rect\\\").classed(mg.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\\\"rect.\\\"+mg.handleMaxClassName).data([0]);if(u.enter().append(\\\"rect\\\").classed(mg.handleMaxClassName,!0).attr(o),u.attr(s),!e._context.staticPlot){var c={width:mg.grabAreaWidth,x:0,y:0,fill:mg.grabAreaFill,cursor:mg.grabAreaCursor},h=i.selectAll(\\\"rect.\\\"+mg.grabAreaMinClassName).data([0]);h.enter().append(\\\"rect\\\").classed(mg.grabAreaMinClassName,!0).attr(c),h.attr(\\\"height\\\",n._height);var f=a.selectAll(\\\"rect.\\\"+mg.grabAreaMaxClassName).data([0]);f.enter().append(\\\"rect\\\").classed(mg.grabAreaMaxClassName,!0).attr(c),f.attr(\\\"height\\\",n._height)}}var Sg={moduleType:\\\"component\\\",name:\\\"rangeslider\\\",schema:{subplots:{xaxis:{rangeslider:ne.extendFlat({},vg,{yaxis:bg})}}},layoutAttributes:vg,handleDefaults:function(t,e,r){if(t[r].rangeslider){ne.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var n=t[r].rangeslider,i=e[r],a=i.rangeslider={};if(v(\\\"visible\\\")){v(\\\"bgcolor\\\",e.plot_bgcolor),v(\\\"bordercolor\\\"),v(\\\"borderwidth\\\"),v(\\\"thickness\\\"),i._rangesliderAutorange=v(\\\"autorange\\\",!i.isValidRange(n.range)),v(\\\"range\\\");var o=e._subplots;if(o)for(var s=o.cartesian.filter(function(t){return t.substr(0,t.indexOf(\\\"y\\\"))===gn.name2id(r)}).map(function(t){return t.substr(t.indexOf(\\\"y\\\"),t.length)}),l=ne.simpleMap(s,gn.id2name),u=0;u<l.length;u++){var c,h=l[u],f=n[h]||{},p=a[h]={},d=e[h];f.range&&d.isValidRange(f.range)&&(c=\\\"fixed\\\");var g=m(f,p,\\\"rangemode\\\",c);\\\"match\\\"!==g&&m(f,p,\\\"range\\\",d.range.slice()),d._rangesliderAutorange=\\\"auto\\\"===g}a._input=n}}function v(t,e){return ne.coerce(n,a,vg,t,e)}function m(t,e,r,n){return ne.coerce(t,e,bg,r,n)}},calcAutorange:function(t){for(var e=yg(t,\\\"x\\\",!0),r=0;r<e.length;r++){var n=e[r],i=n[mg.name];i&&i.visible&&i.autorange&&n._min.length&&n._max.length&&(i._input.autorange=!0,i._input.range=i.range=xg(n))}},draw:function(t){var r=t._fullLayout,n=function(t){var e=ri.list({_fullLayout:t},\\\"x\\\",!0),r=mg.name,n=[];if(t._has(\\\"gl2d\\\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}(r);var i=r._infolayer.selectAll(\\\"g.\\\"+mg.containerClassName).data(n,function(t){return t._name});i.enter().append(\\\"g\\\").classed(mg.containerClassName,!0).attr(\\\"pointer-events\\\",\\\"all\\\"),i.exit().each(function(t){var n=e.select(this),i=t[mg.name];n.remove(),r._topdefs.select(\\\"#\\\"+i._clipId).remove()}),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(mg.name)&&_n.autoMargin(t,i)}}(t),0!==n.length&&i.each(function(n){var i=e.select(this),a=n[mg.name],o=r[ri.id2name(n.anchor)],s=a[ri.id2name(n.anchor)];if(a.range){var l=a.range,u=n.range;l[0]=n.l2r(Math.min(n.r2l(l[0]),n.r2l(u[0]))),l[1]=n.l2r(Math.max(n.r2l(l[1]),n.r2l(u[1]))),a._input.range=l.slice()}n.cleanRange(\\\"rangeslider.range\\\");for(var c=r.margin,h=r._size,f=n.domain,p=(n._boundingBox||{}).height||0,d=1/0,g=ri.getSubplots(t,n),v=0;v<g.length;v++){var m=ri.getFromId(t,g[v].substr(g[v].indexOf(\\\"y\\\")));d=Math.min(d,m.domain[0])}a._id=mg.name+n._id,a._clipId=a._id+\\\"-\\\"+r._uid,a._width=h.w*(f[1]-f[0]),a._height=(r.height-c.b-c.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var y=Math.round(c.l+h.w*f[0]),x=Math.round(h.t+h.h*(1-d)+p+a._offsetShift+mg.extraPad);i.attr(\\\"transform\\\",\\\"translate(\\\"+y+\\\",\\\"+x+\\\")\\\");var b=n.r2l(a.range[0]),_=n.r2l(a.range[1]),w=_-b;if(a.p2d=function(t){return t/a._width*w+b},a.d2p=function(t){return(t-b)/w*a._width},a._rl=[b,_],\\\"match\\\"!==s.rangemode){var M=o.r2l(s.range[0]),A=o.r2l(s.range[1])-M;a.d2pOppAxis=function(t){return(t-M)/A*a._height}}i.call(_g,t,n,a).call(wg,t,n,a).call(Mg,t,n,a).call(Ag,t,n,a,s).call(kg,t,n,a).call(Tg,t,n,a),function(t,r,n,i){var a=t.select(\\\"rect.\\\"+mg.slideBoxClassName).node(),o=t.select(\\\"rect.\\\"+mg.grabAreaMinClassName).node(),s=t.select(\\\"rect.\\\"+mg.grabAreaMaxClassName).node();t.on(\\\"mousedown\\\",function(){var l=e.event,u=l.target,c=l.clientX,h=c-t.node().getBoundingClientRect().left,f=i.d2p(n._rl[0]),p=i.d2p(n._rl[1]),d=Ua.coverSlip();function g(t){var l,g,v,m=+t.clientX-c;switch(u){case a:v=\\\"ew-resize\\\",l=f+m,g=p+m;break;case o:v=\\\"col-resize\\\",l=f+m,g=p;break;case s:v=\\\"col-resize\\\",l=f,g=p+m;break;default:v=\\\"ew-resize\\\",l=h,g=h+m}if(g<l){var y=g;g=l,l=y}i._pixelMin=l,i._pixelMax=g,Ka(e.select(d),v),function(t,e,r,n){function i(t){return r.l2r(ne.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){P.call(\\\"relayout\\\",e,r._name+\\\".range\\\",[a,o])})}(0,r,n,i)}d.addEventListener(\\\"mousemove\\\",g),d.addEventListener(\\\"mouseup\\\",function t(){d.removeEventListener(\\\"mousemove\\\",g),d.removeEventListener(\\\"mouseup\\\",t),ne.removeElement(d)})})}(i,t,n,a),function(t,e,r,n,i,a){var o=mg.handleWidth/2;function s(t){return ne.constrain(t,0,n._width)}function l(t){return ne.constrain(t,0,n._height)}function u(t){return ne.constrain(t,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),h=s(n.d2p(r._rl[1]));if(t.select(\\\"rect.\\\"+mg.slideBoxClassName).attr(\\\"x\\\",c).attr(\\\"width\\\",h-c),t.select(\\\"rect.\\\"+mg.maskMinClassName).attr(\\\"width\\\",c),t.select(\\\"rect.\\\"+mg.maskMaxClassName).attr(\\\"x\\\",h).attr(\\\"width\\\",n._width-h),\\\"match\\\"!==a.rangemode){var f=n._height-l(n.d2pOppAxis(i._rl[1])),p=n._height-l(n.d2pOppAxis(i._rl[0]));t.select(\\\"rect.\\\"+mg.maskMinOppAxisClassName).attr(\\\"x\\\",c).attr(\\\"height\\\",f).attr(\\\"width\\\",h-c),t.select(\\\"rect.\\\"+mg.maskMaxOppAxisClassName).attr(\\\"x\\\",c).attr(\\\"y\\\",p).attr(\\\"height\\\",n._height-p).attr(\\\"width\\\",h-c),t.select(\\\"rect.\\\"+mg.slideBoxClassName).attr(\\\"y\\\",f).attr(\\\"height\\\",p-f)}var d=Math.round(u(c-o))-.5,g=Math.round(u(h-o))+.5;t.select(\\\"g.\\\"+mg.grabberMinClassName).attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\",0.5)\\\"),t.select(\\\"g.\\\"+mg.grabberMaxClassName).attr(\\\"transform\\\",\\\"translate(\\\"+g+\\\",0.5)\\\")}(i,0,n,a,o,s),\\\"bottom\\\"===n.side&&Dn.draw(t,n._id+\\\"title\\\",{propContainer:n,propName:n._name+\\\".title\\\",placeholder:r._dfltTitle.x,attributes:{x:n._offset+n._length/2,y:x+a._height+a._offsetShift+10+1.5*n.titlefont.size,\\\"text-anchor\\\":\\\"middle\\\"}}),_n.autoMargin(t,a._id,{x:f[0],y:d,l:0,r:0,t:0,b:a._height+c.b+p,pad:mg.extraPad+2*a._offsetShift})})}},Eg=Zr.line,Cg=Ae.dash,Lg=m.extendFlat,zg={_isLinkedToArray:\\\"shape\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"rect\\\",\\\"path\\\",\\\"line\\\"],editType:\\\"calcIfAutorange+arraydraw\\\"},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\",editType:\\\"arraydraw\\\"},xref:Lg({},Jp.xref,{}),x0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},x1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yref:Lg({},Jp.yref,{}),y0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},y1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},path:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1,editType:\\\"arraydraw\\\"},line:{color:Lg({},Eg.color,{editType:\\\"arraydraw\\\"}),width:Lg({},Eg.width,{editType:\\\"calcIfAutorange+arraydraw\\\"}),dash:Lg({},Cg,{editType:\\\"arraydraw\\\"}),editType:\\\"calcIfAutorange+arraydraw\\\"},fillcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\",editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"},Pg={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}},Ig={rangeToShapePosition:function(t){return\\\"log\\\"===t.type?t.r2d:function(t){return t}},shapePositionToRange:function(t){return\\\"log\\\"===t.type?t.d2r:function(t){return t}},decodeDate:function(t){return function(e){return e.replace&&(e=e.replace(\\\"_\\\",\\\" \\\")),t(e)}},encodeDate:function(t){return function(e){return t(e).replace(\\\" \\\",\\\"_\\\")}},getDataToPixel:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.shapePositionToRange(e);n=function(t){return e._offset+e.r2p(a(t,!0))},\\\"date\\\"===e.type&&(n=Ig.decodeDate(n))}else n=r?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return n},getPixelToData:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.rangeToShapePosition(e);n=function(t){return a(e.p2r(t-e._offset))}}else n=r?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return n}};function Dg(t,e,r,n,i){var a=\\\"category\\\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var o,s,l,u,c=1/0,h=-1/0,f=n.match(Pg.segmentRE);for(\\\"date\\\"===t.type&&(a=Ig.decodeDate(a)),o=0;o<f.length;o++)void 0!==(s=i[f[o].charAt(0)].drawn)&&(!(l=f[o].substr(1).match(Pg.paramRE))||l.length<s||((u=a(l[s]))<c&&(c=u),u>h&&(h=u)));return h>=c?[c,h]:void 0}}var Og=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,zg,r,n)}if(n=n||{},!a(\\\"visible\\\",!(i=i||{}).itemIsNotPlainObject))return e;a(\\\"layer\\\"),a(\\\"opacity\\\"),a(\\\"fillcolor\\\"),a(\\\"line.color\\\"),a(\\\"line.width\\\"),a(\\\"line.dash\\\");for(var o=a(\\\"type\\\",t.path?\\\"path\\\":\\\"rect\\\"),s=[\\\"x\\\",\\\"y\\\"],l=0;l<2;l++){var u=s[l],c={_fullLayout:r},h=ri.coerceRef(t,e,c,u,\\\"\\\",\\\"paper\\\");if(\\\"path\\\"!==o){var f,p,d;\\\"paper\\\"!==h?(f=ri.getFromId(c,h),d=Ig.rangeToShapePosition(f),p=Ig.shapePositionToRange(f)):p=d=ne.identity;var g=u+\\\"0\\\",v=u+\\\"1\\\",m=t[g],y=t[v];t[g]=p(t[g],!0),t[v]=p(t[v],!0),ri.coercePosition(e,c,a,h,g,.25),ri.coercePosition(e,c,a,h,v,.75),e[g]=d(e[g]),e[v]=d(e[v]),t[g]=m,t[v]=y}}return\\\"path\\\"===o?a(\\\"path\\\"):ne.noneOrAll(t,e,[\\\"x0\\\",\\\"x1\\\",\\\"y0\\\",\\\"y1\\\"]),e},Rg={draw:function(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(\\\"path\\\").remove(),e._shapeLowerLayer.selectAll(\\\"path\\\").remove(),e._shapeSubplotLayers.selectAll(\\\"path\\\").remove();for(var r=0;r<e.shapes.length;r++)e.shapes[r].visible&&Fg(t,r)},drawOne:Fg};function Fg(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\\\"'+e+'\\\"]').remove();var r=(t.layout.shapes||[])[e],n=t._fullLayout.shapes[e];if(r&&!1!==n.visible)if(\\\"below\\\"!==n.layer)a(t._fullLayout._shapeUpperLayer);else if(\\\"paper\\\"===n.xref||\\\"paper\\\"===n.yref)a(t._fullLayout._shapeLowerLayer);else{var i=t._fullLayout._plots[n.xref+n.yref];if(i)a((i.mainplotinfo||i).shapelayer);else a(t._fullLayout._shapeLowerLayer)}function a(r){var i={\\\"data-index\\\":e,\\\"fill-rule\\\":\\\"evenodd\\\",d:Bg(t,n)},a=n.line.width?n.line.color:\\\"rgba(0,0,0,0)\\\",o=r.append(\\\"path\\\").attr(i).style(\\\"opacity\\\",n.opacity).call(Oe.stroke,a).call(Oe.fill,n.fillcolor).call(Sr.dashLine,n.line.dash,n.line.width),s=(n.xref+n.yref).replace(/paper/g,\\\"\\\");o.call(Sr.setClipUrl,s?\\\"clip\\\"+t._fullLayout._uid+s:null),t._context.edits.shapePosition&&function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L,z,I,D,O=10,R=10,F={element:e.node(),gd:t,prepFn:function(e){S=ri.getFromId(t,r.xref),E=ri.getFromId(t,r.yref),C=Ig.getDataToPixel(t,S),L=Ig.getDataToPixel(t,E,!0),z=Ig.getPixelToData(t,S),I=Ig.getPixelToData(t,E,!0);var P=\\\"shapes[\\\"+n+\\\"]\\\";\\\"path\\\"===r.type?(k=r.path,T=P+\\\".path\\\"):(a=C(r.x0),o=L(r.y0),s=C(r.x1),l=L(r.y1),u=P+\\\".x0\\\",c=P+\\\".y0\\\",h=P+\\\".x1\\\",f=P+\\\".y1\\\");a<s?(g=a,x=P+\\\".x0\\\",M=\\\"x0\\\",v=s,b=P+\\\".x1\\\",A=\\\"x1\\\"):(g=s,x=P+\\\".x1\\\",M=\\\"x1\\\",v=a,b=P+\\\".x0\\\",A=\\\"x0\\\");o<l?(p=o,m=P+\\\".y0\\\",_=\\\"y0\\\",d=l,y=P+\\\".y1\\\",w=\\\"y1\\\"):(p=l,m=P+\\\".y1\\\",_=\\\"y1\\\",d=o,y=P+\\\".y0\\\",w=\\\"y0\\\");i={},N(e),F.moveFn=\\\"move\\\"===D?j:V},doneFn:function(){Ka(e),P.call(\\\"relayout\\\",t,i)}},B=F.element.getBoundingClientRect();function N(t){var r=B.right-B.left,n=B.bottom-B.top,i=t.clientX-B.left,a=t.clientY-B.top,o=r>O&&n>R&&!t.shiftKey?Ua.getCursor(i/r,1-a/n):\\\"move\\\";Ka(e,o),D=o.split(\\\"-\\\")[0]}function j(n,p){if(\\\"path\\\"===r.type){var d=function(t){return z(C(t)+n)};S&&\\\"date\\\"===S.type&&(d=Ig.encodeDate(d));var g=function(t){return I(L(t)+p)};E&&\\\"date\\\"===E.type&&(g=Ig.encodeDate(g)),r.path=Ng(k,d,g),i[T]=r.path}else i[u]=r.x0=z(a+n),i[c]=r.y0=I(o+p),i[h]=r.x1=z(s+n),i[f]=r.y1=I(l+p);e.attr(\\\"d\\\",Bg(t,r))}function V(n,a){if(\\\"path\\\"===r.type){var o=function(t){return z(C(t)+n)};S&&\\\"date\\\"===S.type&&(o=Ig.encodeDate(o));var s=function(t){return I(L(t)+a)};E&&\\\"date\\\"===E.type&&(s=Ig.encodeDate(s)),r.path=Ng(k,o,s),i[T]=r.path}else{var l=~D.indexOf(\\\"n\\\")?p+a:p,u=~D.indexOf(\\\"s\\\")?d+a:d,c=~D.indexOf(\\\"w\\\")?g+n:g,h=~D.indexOf(\\\"e\\\")?v+n:v;u-l>R&&(i[m]=r[_]=I(l),i[y]=r[w]=I(u)),h-c>O&&(i[x]=r[M]=z(c),i[b]=r[A]=z(h))}e.attr(\\\"d\\\",Bg(t,r))}Ua.init(F),e.node().onmousemove=N}(t,o,n,e)}}function Bg(t,e){var r,n,i,a,o=e.type,s=ri.getFromId(t,e.xref),l=ri.getFromId(t,e.yref),u=t._fullLayout._size;if(s?(r=Ig.shapePositionToRange(s),n=function(t){return s._offset+s.r2p(r(t,!0))}):n=function(t){return u.l+u.w*t},l?(i=Ig.shapePositionToRange(l),a=function(t){return l._offset+l.r2p(i(t,!0))}):a=function(t){return u.t+u.h*(1-t)},\\\"path\\\"===o)return s&&\\\"date\\\"===s.type&&(n=Ig.decodeDate(n)),l&&\\\"date\\\"===l.type&&(a=Ig.decodeDate(a)),function(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i],l=t.substr(1).replace(Pg.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),++n>s&&(t=\\\"X\\\"),t});return n>s&&(l=l.replace(/[\\\\s,]*X.*/,\\\"\\\"),ne.log(\\\"Ignoring extra params in segment \\\"+t)),i+l})}(e.path,n,a);var c=n(e.x0),h=n(e.x1),f=a(e.y0),p=a(e.y1);if(\\\"line\\\"===o)return\\\"M\\\"+c+\\\",\\\"+f+\\\"L\\\"+h+\\\",\\\"+p;if(\\\"rect\\\"===o)return\\\"M\\\"+c+\\\",\\\"+f+\\\"H\\\"+h+\\\"V\\\"+p+\\\"H\\\"+c+\\\"Z\\\";var d=(c+h)/2,g=(f+p)/2,v=Math.abs(d-c),m=Math.abs(g-f),y=\\\"A\\\"+v+\\\",\\\"+m,x=d+v+\\\",\\\"+g;return\\\"M\\\"+x+y+\\\" 0 1,1 \\\"+(d+\\\",\\\"+(g-m))+y+\\\" 0 0,1 \\\"+x+\\\"Z\\\"}function Ng(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i];return i+t.substr(1).replace(Pg.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}var jg={moduleType:\\\"component\\\",name:\\\"shapes\\\",layoutAttributes:zg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\\\"shapes\\\",handleItemDefaults:Og})},includeBasePlot:ud(\\\"shapes\\\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var n=0;n<r.length;n++){var i,a,o=r[n],s=o.line.width/2;\\\"paper\\\"!==o.xref&&(a=Dg(i=ri.getFromId(t,o.xref),o.x0,o.x1,o.path,Pg.paramIsX))&&ri.expand(i,a,{ppad:s}),\\\"paper\\\"!==o.yref&&(a=Dg(i=ri.getFromId(t,o.yref),o.y0,o.y1,o.path,Pg.paramIsY))&&ri.expand(i,a,{ppad:s})}},draw:Rg.draw,drawOne:Rg.drawOne},Vg={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},Ug={t:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},r:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},b:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},l:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"},qg=m.extendDeepAll,Hg=(0,ye.overrideAll)({_isLinkedToArray:\\\"slider\\\",visible:{valType:\\\"boolean\\\",dflt:!0},active:{valType:\\\"number\\\",min:0,dflt:0},steps:{_isLinkedToArray:\\\"step\\\",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}},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:qg({},Ug,{},{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:we.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:T({})},font:T({}),activebgcolor:{valType:\\\"color\\\",dflt:Vg.gripBgActiveColor},bgcolor:{valType:\\\"color\\\",dflt:Vg.railBgColor},bordercolor:{valType:\\\"color\\\",dflt:Vg.railBorderColor},borderwidth:{valType:\\\"number\\\",min:0,dflt:Vg.railBorderWidth},ticklen:{valType:\\\"number\\\",min:0,dflt:Vg.tickLength},tickcolor:{valType:\\\"color\\\",dflt:Vg.tickColor},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},minorticklen:{valType:\\\"number\\\",min:0,dflt:Vg.minorTickLength}},\\\"arraydraw\\\",\\\"from-root\\\"),Gg=Vg.name,Wg=Hg.steps;function Yg(t,e,r){function n(r,n){return ne.coerce(t,e,Hg,r,n)}n(\\\"visible\\\",function(t,e){var r,n,i=t.steps||[],a=e.steps=[];function o(t,e){return ne.coerce(r,n,Wg,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\\\"method\\\"),ne.isPlainObject(r)&&(\\\"skip\\\"===n.method||Array.isArray(r.args))&&(o(\\\"args\\\"),o(\\\"label\\\",\\\"step-\\\"+s),o(\\\"value\\\",n.label),o(\\\"execute\\\"),a.push(n));return a}(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"x\\\"),n(\\\"y\\\"),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"len\\\"),n(\\\"lenmode\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),ne.coerceFont(n,\\\"font\\\",r.font),n(\\\"currentvalue.visible\\\")&&(n(\\\"currentvalue.xanchor\\\"),n(\\\"currentvalue.prefix\\\"),n(\\\"currentvalue.suffix\\\"),n(\\\"currentvalue.offset\\\"),ne.coerceFont(n,\\\"currentvalue.font\\\",e.font)),n(\\\"transition.duration\\\"),n(\\\"transition.easing\\\"),n(\\\"bgcolor\\\"),n(\\\"activebgcolor\\\"),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"),n(\\\"ticklen\\\"),n(\\\"tickwidth\\\"),n(\\\"tickcolor\\\"),n(\\\"minorticklen\\\"))}var Xg=Qe.LINE_SPACING,Zg=Qe.FROM_TL,Jg=Qe.FROM_BR;function Kg(t){return t._index}function Qg(t,r){var n=Sr.tester.selectAll(\\\"g.\\\"+Vg.labelGroupClass).data(r.steps);n.enter().append(\\\"g\\\").classed(Vg.labelGroupClass,!0);var i=0,a=0;n.each(function(t){var n=ev(e.select(this),{step:t},r).node();if(n){var o=Sr.bBox(n);a=Math.max(a,o.height),i=Math.max(i,o.width)}}),n.remove();var o=r._dims={};o.inputAreaWidth=Math.max(Vg.railWidth,Vg.gripHeight);var s=t._fullLayout._size;o.lx=s.l+s.w*r.x,o.ly=s.t+s.h*(1-r.y),\\\"fraction\\\"===r.lenmode?o.outerLength=Math.round(s.w*r.len):o.outerLength=r.len,o.inputAreaStart=0,o.inputAreaLength=Math.round(o.outerLength-r.pad.l-r.pad.r);var l=(o.inputAreaLength-2*Vg.stepInset)/(r.steps.length-1),u=i+Vg.labelPadding;if(o.labelStride=Math.max(1,Math.ceil(u/l)),o.labelHeight=a,o.currentValueMaxWidth=0,o.currentValueHeight=0,o.currentValueTotalHeight=0,o.currentValueMaxLines=1,r.currentvalue.visible){var c=Sr.tester.append(\\\"g\\\");n.each(function(t){var e=$g(c,r,t.label),n=e.node()&&Sr.bBox(e.node())||{width:0,height:0},i=er.lineCount(e);o.currentValueMaxWidth=Math.max(o.currentValueMaxWidth,Math.ceil(n.width)),o.currentValueHeight=Math.max(o.currentValueHeight,Math.ceil(n.height)),o.currentValueMaxLines=Math.max(o.currentValueMaxLines,i)}),o.currentValueTotalHeight=o.currentValueHeight+r.currentvalue.offset,c.remove()}o.height=o.currentValueTotalHeight+Vg.tickOffset+r.ticklen+Vg.labelOffset+o.labelHeight+r.pad.t+r.pad.b;var h=\\\"left\\\";Vd.isRightAnchor(r)&&(o.lx-=o.outerLength,h=\\\"right\\\"),Vd.isCenterAnchor(r)&&(o.lx-=o.outerLength/2,h=\\\"center\\\");var f=\\\"top\\\";Vd.isBottomAnchor(r)&&(o.ly-=o.height,f=\\\"bottom\\\"),Vd.isMiddleAnchor(r)&&(o.ly-=o.height/2,f=\\\"middle\\\"),o.outerLength=Math.ceil(o.outerLength),o.height=Math.ceil(o.height),o.lx=Math.round(o.lx),o.ly=Math.round(o.ly),_n.autoMargin(t,Vg.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o.outerLength*Zg[h],r:o.outerLength*Jg[h],b:o.height*Jg[f],t:o.height*Zg[f]})}function $g(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\\\"text\\\").data([0]),o=e._dims;switch(e.currentvalue.xanchor){case\\\"right\\\":n=o.inputAreaLength-Vg.currentValueInset-o.currentValueMaxWidth,i=\\\"left\\\";break;case\\\"center\\\":n=.5*o.inputAreaLength,i=\\\"middle\\\";break;default:n=Vg.currentValueInset,i=\\\"left\\\"}a.enter().append(\\\"text\\\").classed(Vg.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":i,\\\"data-notex\\\":1});var s=e.currentvalue.prefix?e.currentvalue.prefix:\\\"\\\";if(\\\"string\\\"==typeof r)s+=r;else s+=e.steps[e.active].label;e.currentvalue.suffix&&(s+=e.currentvalue.suffix),a.call(Sr.font,e.currentvalue.font).text(s).call(er.convertToTspans,e._gd);var l=er.lineCount(a),u=(o.currentValueMaxLines+1-l)*e.currentvalue.font.size*Xg;return er.positionText(a,n,u),a}}function tv(t,e,r){var n=t.selectAll(\\\"rect.\\\"+Vg.gripRectClass).data([0]);n.enter().append(\\\"rect\\\").classed(Vg.gripRectClass,!0).call(av,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:Vg.gripWidth,height:Vg.gripHeight,rx:Vg.gripRadius,ry:Vg.gripRadius}).call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor).style(\\\"stroke-width\\\",r.borderwidth+\\\"px\\\")}function ev(t,e,r){var n=t.selectAll(\\\"text\\\").data([0]);return n.enter().append(\\\"text\\\").classed(Vg.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}),n.call(Sr.font,r.font).text(e.step.label).call(er.convertToTspans,r._gd),n}function rv(t,r){var n=t.selectAll(\\\"g.\\\"+Vg.labelsClass).data([0]),i=r._dims;n.enter().append(\\\"g\\\").classed(Vg.labelsClass,!0);var a=n.selectAll(\\\"g.\\\"+Vg.labelGroupClass).data(i.labelSteps);a.enter().append(\\\"g\\\").classed(Vg.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var n=e.select(this);n.call(ev,t,r),Sr.setTranslate(n,lv(r,t.fraction),Vg.tickOffset+r.ticklen+r.font.size*Xg+Vg.labelOffset+i.currentValueTotalHeight)})}function nv(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&iv(t,e,r,a,!0,i)}function iv(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var s=r.steps[r.active];e.call(sv,r,r.active/(r.steps.length-1),a),e.call($g,r),t.emit(\\\"plotly_sliderchange\\\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(e._nextMethod?(e._nextMethod.step=s,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:s,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&_n.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function av(t,r,n){var i=n.node(),a=e.select(r);function o(){return n.data()[0]}t.on(\\\"mousedown\\\",function(){var t=o();r.emit(\\\"plotly_sliderstart\\\",{slider:t});var s=n.select(\\\".\\\"+Vg.gripRectClass);e.event.stopPropagation(),e.event.preventDefault(),s.call(Oe.fill,t.activebgcolor);var l=uv(t,e.mouse(i)[0]);nv(r,n,t,l,!0),t._dragging=!0,a.on(\\\"mousemove\\\",function(){var t=o(),a=uv(t,e.mouse(i)[0]);nv(r,n,t,a,!1)}),a.on(\\\"mouseup\\\",function(){var t=o();t._dragging=!1,s.call(Oe.fill,t.bgcolor),a.on(\\\"mouseup\\\",null),a.on(\\\"mousemove\\\",null),r.emit(\\\"plotly_sliderend\\\",{slider:t,step:t.steps[t.active]})})})}function ov(t,r){var n=t.selectAll(\\\"rect.\\\"+Vg.tickRectClass).data(r.steps),i=r._dims;n.enter().append(\\\"rect\\\").classed(Vg.tickRectClass,!0),n.exit().remove(),n.attr({width:r.tickwidth+\\\"px\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),n.each(function(t,n){var a=n%i.labelStride==0,o=e.select(this);o.attr({height:a?r.ticklen:r.minorticklen}).call(Oe.fill,r.tickcolor),Sr.setTranslate(o,lv(r,n/(r.steps.length-1))-.5*r.tickwidth,(a?Vg.tickOffset:Vg.minorTickOffset)+i.currentValueTotalHeight)})}function sv(t,e,r,n){var i=t.select(\\\"rect.\\\"+Vg.gripRectClass),a=lv(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\\\"transform\\\",\\\"translate(\\\"+(a-.5*Vg.gripWidth)+\\\",\\\"+e._dims.currentValueTotalHeight+\\\")\\\")}}function lv(t,e){var r=t._dims;return r.inputAreaStart+Vg.stepInset+(r.inputAreaLength-2*Vg.stepInset)*Math.min(1,Math.max(0,e))}function uv(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-Vg.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*Vg.stepInset-2*r.inputAreaStart)))}function cv(t,e,r){var n=t.selectAll(\\\"rect.\\\"+Vg.railTouchRectClass).data([0]),i=r._dims;n.enter().append(\\\"rect\\\").classed(Vg.railTouchRectClass,!0).call(av,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:i.inputAreaLength,height:Math.max(i.inputAreaWidth,Vg.tickOffset+r.ticklen+i.labelHeight)}).call(Oe.fill,r.bgcolor).attr(\\\"opacity\\\",0),Sr.setTranslate(n,0,i.currentValueTotalHeight)}function hv(t,e){var r=t.selectAll(\\\"rect.\\\"+Vg.railRectClass).data([0]),n=e._dims;r.enter().append(\\\"rect\\\").classed(Vg.railRectClass,!0);var i=n.inputAreaLength-2*Vg.railInset;r.attr({width:i,height:Vg.railWidth,rx:Vg.railRadius,ry:Vg.railRadius,\\\"shape-rendering\\\":\\\"crispEdges\\\"}).call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\"),Sr.setTranslate(r,Vg.railInset,.5*(n.inputAreaWidth-Vg.railWidth)+n.currentValueTotalHeight)}var fv={moduleType:\\\"component\\\",name:Vg.name,layoutAttributes:Hg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Gg,handleItemDefaults:Yg})},draw:function(t){var r=t._fullLayout,n=function(t,e){for(var r=t[Vg.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a._gd=e,n.push(a))}return n}(r,t),i=r._infolayer.selectAll(\\\"g.\\\"+Vg.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\\\"g\\\").classed(Vg.containerClassName,!0).style(\\\"cursor\\\",\\\"ew-resize\\\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(Vg.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\\\"g.\\\"+Vg.groupClassName).data(n,Kg);a.enter().append(\\\"g\\\").classed(Vg.groupClassName,!0),a.exit().each(function(r){e.select(this).remove(),r._commandObserver.remove(),delete r._commandObserver,_n.autoMargin(t,Vg.autoMarginIdRoot+r._index)});for(var o=0;o<n.length;o++){var s=n[o];Qg(t,s)}a.each(function(r){if(!(r.steps.length<2)){var n=e.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t.steps.length,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t.steps[n]})}(r),_n.manageCommandObserver(t,r,r.steps,function(e){var r=n.data()[0];r.active!==e.index&&(r._dragging||iv(t,n,r,e.index,!1,!0))}),function(t,e,r){r.active>=r.steps.length&&(r.active=0),e.call($g,r).call(hv,r).call(rv,r).call(ov,r).call(cv,t,r).call(tv,t,r);var n=r._dims;Sr.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(sv,r,r.active/(r.steps.length-1),!1),e.call($g,r)}(t,e.select(this),r)}})}}},pv=m.extendFlat,dv=(0,ye.overrideAll)({_isLinkedToArray:\\\"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:{_isLinkedToArray:\\\"button\\\",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\\\",dflt:\\\"\\\"},execute:{valType:\\\"boolean\\\",dflt:!0}},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:pv({},Ug,{}),font:T({}),bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.borderLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"arraydraw\\\"}},\\\"arraydraw\\\",\\\"from-root\\\"),gv={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\\\"}},vv=gv.name,mv=dv.buttons;function yv(t,e,r){function n(r,n){return ne.coerce(t,e,dv,r,n)}n(\\\"visible\\\",function(t,e){var r,n,i=t.buttons||[],a=e.buttons=[];function o(t,e){return ne.coerce(r,n,mv,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\\\"method\\\"),ne.isPlainObject(r)&&(\\\"skip\\\"===n.method||Array.isArray(r.args))&&(o(\\\"args\\\"),o(\\\"label\\\"),o(\\\"execute\\\"),n._index=s,a.push(n));return a}(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"direction\\\"),n(\\\"type\\\"),n(\\\"showactive\\\"),n(\\\"x\\\"),n(\\\"y\\\"),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),ne.coerceFont(n,\\\"font\\\",r.font),n(\\\"bgcolor\\\",r.paper_bgcolor),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"))}var xv=bv;function bv(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})}bv.barWidth=2,bv.barLength=20,bv.barRadius=2,bv.barPad=1,bv.barColor=\\\"#808BA4\\\",bv.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s,l,u,c,h=this.position.l,f=this.position.w,p=this.position.t,d=this.position.h,g=this.position.direction,v=\\\"down\\\"===g,m=\\\"left\\\"===g,y=\\\"up\\\"===g,x=f,b=d;v||m||\\\"right\\\"===g||y||(this.position.direction=\\\"down\\\",v=!0),v||y?(l=(s=h)+x,v?(u=p,b=(c=Math.min(u+b,o))-u):b=(c=p+b)-(u=Math.max(c-b,0))):(c=(u=p)+b,m?x=(l=h+x)-(s=Math.max(l-x,0)):(s=h,x=(l=Math.min(s+x,a))-s)),this._box={l:s,t:u,w:x,h:b};var _=f>x,w=bv.barLength+2*bv.barPad,M=bv.barWidth+2*bv.barPad,A=h,k=p+d;k+M>o&&(k=o-M);var T=this.container.selectAll(\\\"rect.scrollbar-horizontal\\\").data(_?[0]:[]);T.exit().on(\\\".drag\\\",null).remove(),T.enter().append(\\\"rect\\\").classed(\\\"scrollbar-horizontal\\\",!0).call(Oe.fill,bv.barColor),_?(this.hbar=T.attr({rx:bv.barRadius,ry:bv.barRadius,x:A,y:k,width:w,height:M}),this._hbarXMin=A+w/2,this._hbarTranslateMax=x-w):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var S=d>b,E=bv.barWidth+2*bv.barPad,C=bv.barLength+2*bv.barPad,L=h+f,z=p;L+E>a&&(L=a-E);var P=this.container.selectAll(\\\"rect.scrollbar-vertical\\\").data(S?[0]:[]);P.exit().on(\\\".drag\\\",null).remove(),P.enter().append(\\\"rect\\\").classed(\\\"scrollbar-vertical\\\",!0).call(Oe.fill,bv.barColor),S?(this.vbar=P.attr({rx:bv.barRadius,ry:bv.barRadius,x:L,y:z,width:E,height:C}),this._vbarYMin=z+C/2,this._vbarTranslateMax=b-C):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var I=this.id,D=s-.5,O=S?l+E+.5:l+.5,R=u-.5,F=_?c+M+.5:c+.5,B=i._topdefs.selectAll(\\\"#\\\"+I).data(_||S?[0]:[]);if(B.exit().remove(),B.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",I).append(\\\"rect\\\"),_||S?(this._clipRect=B.select(\\\"rect\\\").attr({x:Math.floor(D),y:Math.floor(R),width:Math.ceil(O)-Math.floor(D),height:Math.ceil(F)-Math.floor(R)}),this.container.call(Sr.setClipUrl,I),this.bg.attr({x:h,y:p,width:f,height:d})):(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(Sr.setClipUrl,null),delete this._clipRect),_||S){var N=e.behavior.drag().on(\\\"dragstart\\\",function(){e.event.sourceEvent.preventDefault()}).on(\\\"drag\\\",this._onBoxDrag.bind(this));this.container.on(\\\"wheel\\\",null).on(\\\"wheel\\\",this._onBoxWheel.bind(this)).on(\\\".drag\\\",null).call(N);var j=e.behavior.drag().on(\\\"dragstart\\\",function(){e.event.sourceEvent.preventDefault(),e.event.sourceEvent.stopPropagation()}).on(\\\"drag\\\",this._onBarDrag.bind(this));_&&this.hbar.on(\\\".drag\\\",null).call(j),S&&this.vbar.on(\\\".drag\\\",null).call(j)}this.setTranslate(r,n)},bv.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(Sr.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)},bv.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=e.event.dx),this.vbar&&(r-=e.event.dy),this.setTranslate(t,r)},bv.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=e.event.deltaY),this.vbar&&(r+=e.event.deltaY),this.setTranslate(t,r)},bv.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax;t=(ne.constrain(e.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var a=r+this._vbarYMin,o=a+this._vbarTranslateMax;r=(ne.constrain(e.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,r)},bv.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=ne.constrain(t||0,0,r),e=ne.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(Sr.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 i=t/r;this.hbar.call(Sr.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(Sr.setTranslate,t,e+a*this._vbarTranslateMax)}};var _v=Qe.LINE_SPACING;function wv(t){return t._index}function Mv(t,e){return+t.attr(gv.menuIndexAttrName)===e._index}function Av(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\\\"buttons\\\"===e.type?Tv(t,n,null,null,e):\\\"dropdown\\\"===e.type&&(i.attr(gv.menuIndexAttrName,\\\"-1\\\"),kv(t,n,i,a,e),s||Tv(t,n,i,a,e))}function kv(t,e,r,n,i){var a=e.selectAll(\\\"g.\\\"+gv.headerClassName).data([0]),o=i._dims;a.enter().append(\\\"g\\\").classed(gv.headerClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");var s=i.active,l=i.buttons[s]||gv.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(Sv,i,l,t).call(Dv,i,u,c);var h=e.selectAll(\\\"text.\\\"+gv.headerArrowClassName).data([0]);h.enter().append(\\\"text\\\").classed(gv.headerArrowClassName,!0).classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"end\\\").call(Sr.font,i.font).text(gv.arrowSymbol[i.direction]),h.attr({x:o.headerWidth-gv.arrowOffsetX+i.pad.l,y:o.headerHeight/2+gv.textOffsetY+i.pad.t}),a.on(\\\"click\\\",function(){r.call(Ov),r.attr(gv.menuIndexAttrName,Mv(r,i)?-1:String(i._index)),Tv(t,e,r,n,i)}),a.on(\\\"mouseover\\\",function(){a.call(zv)}),a.on(\\\"mouseout\\\",function(){a.call(Pv,i)}),Sr.setTranslate(e,o.lx,o.ly)}function Tv(t,r,n,i,a){n||(n=r).attr(\\\"pointer-events\\\",\\\"all\\\");var o=function(t){return-1==+t.attr(gv.menuIndexAttrName)}(n)&&\\\"buttons\\\"!==a.type?[]:a.buttons,s=\\\"dropdown\\\"===a.type?gv.dropdownButtonClassName:gv.buttonClassName,l=n.selectAll(\\\"g.\\\"+s).data(o),u=l.enter().append(\\\"g\\\").classed(s,!0),c=l.exit();\\\"dropdown\\\"===a.type?(u.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),c.transition().attr(\\\"opacity\\\",\\\"0\\\").remove()):c.remove();var h=0,f=0,p=a._dims,d=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(a.direction);\\\"dropdown\\\"===a.type&&(d?f=p.headerHeight+gv.gapButtonHeader:h=p.headerWidth+gv.gapButtonHeader),\\\"dropdown\\\"===a.type&&\\\"up\\\"===a.direction&&(f=-gv.gapButtonHeader+gv.gapButton-p.openHeight),\\\"dropdown\\\"===a.type&&\\\"left\\\"===a.direction&&(h=-gv.gapButtonHeader+gv.gapButton-p.openWidth);var g={x:p.lx+h+a.pad.l,y:p.ly+f+a.pad.t,yPad:gv.gapButton,xPad:gv.gapButton,index:0},v={l:g.x+a.borderwidth,t:g.y+a.borderwidth};l.each(function(o,s){var u=e.select(this);u.call(Sv,a,o,t).call(Dv,a,g),u.on(\\\"click\\\",function(){e.event.defaultPrevented||(Av(t,a,0,r,n,i,s),o.execute&&_n.executeAPICommand(t,o.method,o.args),t.emit(\\\"plotly_buttonclicked\\\",{menu:a,button:o,active:a.active}))}),u.on(\\\"mouseover\\\",function(){u.call(zv)}),u.on(\\\"mouseout\\\",function(){u.call(Pv,a),l.call(Lv,a)})}),l.call(Lv,a),d?(v.w=Math.max(p.openWidth,p.headerWidth),v.h=g.y-v.t):(v.w=g.x-v.l,v.h=Math.max(p.openHeight,p.headerHeight)),v.direction=a.direction,i&&(l.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\\\"up\\\"===u||\\\"down\\\"===u,h=i._dims,f=i.active;if(c)for(s=0,l=0;l<f;l++)s+=h.heights[l]+gv.gapButton;else for(o=0,l=0;l<f;l++)o+=h.widths[l]+gv.gapButton;n.enable(a,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,a,v):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 Sv(t,e,r,n){t.call(Ev,e).call(Cv,e,r,n)}function Ev(t,e){var r=t.selectAll(\\\"rect\\\").data([0]);r.enter().append(\\\"rect\\\").classed(gv.itemRectClassName,!0).attr({rx:gv.rx,ry:gv.ry,\\\"shape-rendering\\\":\\\"crispEdges\\\"}),r.call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function Cv(t,e,r,n){var i=t.selectAll(\\\"text\\\").data([0]);i.enter().append(\\\"text\\\").classed(gv.itemTextClassName,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"start\\\",\\\"data-notex\\\":1}),i.call(Sr.font,e.font).text(r.label).call(er.convertToTspans,n)}function Lv(t,r){var n=r.active;t.each(function(t,i){var a=e.select(this);i===n&&r.showactive&&a.select(\\\"rect.\\\"+gv.itemRectClassName).call(Oe.fill,gv.activeColor)})}function zv(t){t.select(\\\"rect.\\\"+gv.itemRectClassName).call(Oe.fill,gv.hoverColor)}function Pv(t,e){t.select(\\\"rect.\\\"+gv.itemRectClassName).call(Oe.fill,e.bgcolor)}function Iv(t,r){var n=r._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=Sr.tester.selectAll(\\\"g.\\\"+gv.dropdownButtonClassName).data(r.buttons);i.enter().append(\\\"g\\\").classed(gv.dropdownButtonClassName,!0);var a=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(r.direction);i.each(function(i,o){var s=e.select(this);s.call(Sv,r,i,t);var l=s.select(\\\".\\\"+gv.itemTextClassName),u=l.node()&&Sr.bBox(l.node()).width,c=Math.max(u+gv.textPadX,gv.minWidth),h=r.font.size*_v,f=er.lineCount(l),p=Math.max(h*f,gv.minHeight)+gv.textOffsetY;p=Math.ceil(p),c=Math.ceil(c),n.widths[o]=c,n.heights[o]=p,n.height1=Math.max(n.height1,p),n.width1=Math.max(n.width1,c),a?(n.totalWidth=Math.max(n.totalWidth,c),n.openWidth=n.totalWidth,n.totalHeight+=p+gv.gapButton,n.openHeight+=p+gv.gapButton):(n.totalWidth+=c+gv.gapButton,n.openWidth+=c+gv.gapButton,n.totalHeight=Math.max(n.totalHeight,p),n.openHeight=n.totalHeight)}),a?n.totalHeight-=gv.gapButton:n.totalWidth-=gv.gapButton,n.headerWidth=n.width1+gv.arrowPadX,n.headerHeight=n.height1,\\\"dropdown\\\"===r.type&&(a?(n.width1+=gv.arrowPadX,n.totalHeight=n.height1):n.totalWidth=n.width1,n.totalWidth+=gv.arrowPadX),i.remove();var o=n.totalWidth+r.pad.l+r.pad.r,s=n.totalHeight+r.pad.t+r.pad.b,l=t._fullLayout._size;n.lx=l.l+l.w*r.x,n.ly=l.t+l.h*(1-r.y);var u=\\\"left\\\";Vd.isRightAnchor(r)&&(n.lx-=o,u=\\\"right\\\"),Vd.isCenterAnchor(r)&&(n.lx-=o/2,u=\\\"center\\\");var c=\\\"top\\\";Vd.isBottomAnchor(r)&&(n.ly-=s,c=\\\"bottom\\\"),Vd.isMiddleAnchor(r)&&(n.ly-=s/2,c=\\\"middle\\\"),n.totalWidth=Math.ceil(n.totalWidth),n.totalHeight=Math.ceil(n.totalHeight),n.lx=Math.round(n.lx),n.ly=Math.round(n.ly),_n.autoMargin(t,gv.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o*({right:1,center:.5}[u]||0),r:o*({left:1,center:.5}[u]||0),b:s*({top:1,middle:.5}[c]||0),t:s*({bottom:1,middle:.5}[c]||0)})}function Dv(t,e,r,n){n=n||{};var i=t.select(\\\".\\\"+gv.itemRectClassName),a=t.select(\\\".\\\"+gv.itemTextClassName),o=e.borderwidth,s=r.index,l=e._dims;Sr.setTranslate(t,o+r.x,o+r.y);var u=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction),c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var h=e.font.size*_v,f=(er.lineCount(a)-1)*h/2;er.positionText(a,gv.textOffsetX,c/2-f+gv.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function Ov(t){t.selectAll(\\\"g.\\\"+gv.dropdownButtonClassName).remove()}var Rv={moduleType:\\\"component\\\",name:gv.name,layoutAttributes:dv,supplyLayoutDefaults:function(t,e){ld(t,e,{name:vv,handleItemDefaults:yv})},draw:function(t){var r=t._fullLayout,n=function(t){for(var e=t[gv.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}(r),i=r._menulayer.selectAll(\\\"g.\\\"+gv.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\\\"g\\\").classed(gv.containerClassName,!0).style(\\\"cursor\\\",\\\"pointer\\\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(gv.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\\\"g.\\\"+gv.headerGroupClassName).data(n,wv);a.enter().append(\\\"g\\\").classed(gv.headerGroupClassName,!0);var o=i.selectAll(\\\"g.\\\"+gv.dropdownButtonGroupClassName).data([0]);o.enter().append(\\\"g\\\").classed(gv.dropdownButtonGroupClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");for(var s=0;s<n.length;s++){var l=n[s];Iv(t,l)}var u=\\\"updatemenus\\\"+r._uid,c=new xv(t,o,u);a.enter().size()&&(o.node().parentNode.appendChild(o.node()),o.call(Ov).attr(gv.menuIndexAttrName,\\\"-1\\\")),a.exit().each(function(r){e.select(this).remove(),o.call(Ov).attr(gv.menuIndexAttrName,\\\"-1\\\"),_n.autoMargin(t,gv.autoMarginIdRoot+r._index)}),a.each(function(r){var n=e.select(this),i=\\\"dropdown\\\"===r.type?o:null;_n.manageCommandObserver(t,r,r.buttons,function(e){Av(t,r,r.buttons[e.index],n,i,c,e.index,!0)}),\\\"dropdown\\\"===r.type?(kv(t,n,o,c,r),Mv(o,r)&&Tv(t,n,o,c,r)):Tv(t,n,null,null,r)})}}},Fv={};\\\"undefined\\\"!=typeof MathJax?(Fv.MathJax=!0,MathJax.Hub.Config({messageStyle:\\\"none\\\",skipStartupTypeset:!0,displayAlign:\\\"left\\\",tex2jax:{inlineMath:[[\\\"$\\\",\\\"$\\\"],[\\\"\\\\\\\\(\\\",\\\"\\\\\\\\)\\\"]]}}),MathJax.Hub.Configured()):Fv.MathJax=!1;var Bv={add:function(t,e,r,n,i){var a,o;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},o=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(o,t.undoQueue.queue.length-o,a),t.undoQueue.index+=1):a=t.undoQueue.queue[o-1],t.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(e),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),t.undoQueue.queue.length>b.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++)Bv.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++)Bv.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};Bv.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,n=[],i=0;i<e.length;i++)r=e[i],n[i]=r===t?r:\\\"object\\\"==typeof r?Array.isArray(r)?ne.extendDeep([],r):ne.extendDeepAll({},r):r;return n}(t,r),e.apply(null,r)};var Nv=Bv,jv=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,p=i*s,d=i*l,g=a*o,v=a*s,m=a*l;return t[0]=1-h-d,t[1]=c+m,t[2]=f-v,t[3]=0,t[4]=c-m,t[5]=1-u-d,t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var Vv={},Uv=gn.cleanId,qv=gn.getFromTrace;function Hv(t,e){var r=t[e],n=e.charAt(0);r&&\\\"paper\\\"!==r&&(t[e]=Uv(r,n))}function Gv(t){var e=\\\"middle\\\",r=\\\"center\\\";return-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 Wv(t,e){return e in t&&\\\"object\\\"==typeof t[e]&&0===Object.keys(t[e]).length}Vv.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&ne.log(\\\"Clearing previous rejected promises from queue.\\\"),t._promises=[]},Vv.cleanLayout=function(t){var e,r;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 n=(_n.subplotsRegistry.cartesian||{}).attrRegex,i=(_n.subplotsRegistry.gl3d||{}).attrRegex,a=Object.keys(t);for(e=0;e<a.length;e++){var o=a[e];if(n&&n.test(o)){var s=t[o];s.anchor&&\\\"free\\\"!==s.anchor&&(s.anchor=Uv(s.anchor)),s.overlaying&&(s.overlaying=Uv(s.overlaying)),s.type||(s.isdate?s.type=\\\"date\\\":s.islog?s.type=\\\"log\\\":!1===s.isdate&&!1===s.islog&&(s.type=\\\"linear\\\")),\\\"withzero\\\"!==s.autorange&&\\\"tozero\\\"!==s.autorange||(s.autorange=!0,s.rangemode=\\\"tozero\\\"),delete s.islog,delete s.isdate,delete s.categories,Wv(s,\\\"domain\\\")&&delete s.domain,void 0!==s.autotick&&(void 0===s.tickmode&&(s.tickmode=s.autotick?\\\"auto\\\":\\\"linear\\\"),delete s.autotick)}else if(i&&i.test(o)){var l=t[o],u=l.cameraposition;if(Array.isArray(u)&&4===u[0].length){var c=u[0],h=u[1],f=u[2],p=jv([],c),d=[];for(r=0;r<3;++r)d[r]=h[r]+f*p[2+4*r];l.camera={eye:{x:d[0],y:d[1],z:d[2]},center:{x:h[0],y:h[1],z:h[2]},up:{x:p[1],y:p[5],z:p[9]}},delete l.cameraposition}}}var g=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<g;e++){var v=t.annotations[e];ne.isPlainObject(v)&&(v.ref&&(\\\"paper\\\"===v.ref?(v.xref=\\\"paper\\\",v.yref=\\\"paper\\\"):\\\"data\\\"===v.ref&&(v.xref=\\\"x\\\",v.yref=\\\"y\\\"),delete v.ref),Hv(v,\\\"xref\\\"),Hv(v,\\\"yref\\\"))}var m=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<m;e++){var y=t.shapes[e];ne.isPlainObject(y)&&(Hv(y,\\\"xref\\\"),Hv(y,\\\"yref\\\"))}var x=t.legend;return x&&(x.x>3?(x.x=1.02,x.xanchor=\\\"left\\\"):x.x<-2&&(x.x=-.02,x.xanchor=\\\"right\\\"),x.y>3?(x.y=1.02,x.yanchor=\\\"bottom\\\"):x.y<-2&&(x.y=-.02,x.yanchor=\\\"top\\\")),\\\"rotate\\\"===t.dragmode&&(t.dragmode=\\\"orbit\\\"),Oe.clean(t),t},Vv.cleanData=function(t,e){for(var r=[],n=t.concat(Array.isArray(e)?e:[]).filter(function(t){return\\\"uid\\\"in t}).map(function(t){return t.uid}),i=0;i<t.length;i++){var a,o=t[i];if(!(\\\"uid\\\"in o)||-1!==r.indexOf(o.uid)){var s;for(a=0;a<100&&(s=ne.randstr(n),-1!==r.indexOf(s));a++);o.uid=ne.randstr(n),n.push(o.uid)}if(r.push(o.uid),\\\"histogramy\\\"===o.type&&\\\"xbins\\\"in o&&!(\\\"ybins\\\"in o)&&(o.ybins=o.xbins,delete o.xbins),o.error_y&&\\\"opacity\\\"in o.error_y){var l=Oe.defaults,u=o.error_y.color||(P.traceIs(o,\\\"bar\\\")?Oe.defaultLine:l[i%l.length]);o.error_y.color=Oe.addOpacity(Oe.rgb(u),Oe.opacity(u)*o.error_y.opacity),delete o.error_y.opacity}if(\\\"bardir\\\"in o&&(\\\"h\\\"!==o.bardir||!P.traceIs(o,\\\"bar\\\")&&\\\"histogram\\\"!==o.type.substr(0,9)||(o.orientation=\\\"h\\\",Vv.swapXYData(o)),delete o.bardir),\\\"histogramy\\\"===o.type&&Vv.swapXYData(o),\\\"histogramx\\\"!==o.type&&\\\"histogramy\\\"!==o.type||(o.type=\\\"histogram\\\"),\\\"scl\\\"in o&&(o.colorscale=o.scl,delete o.scl),\\\"reversescl\\\"in o&&(o.reversescale=o.reversescl,delete o.reversescl),o.xaxis&&(o.xaxis=Uv(o.xaxis,\\\"x\\\")),o.yaxis&&(o.yaxis=Uv(o.yaxis,\\\"y\\\")),P.traceIs(o,\\\"gl3d\\\")&&o.scene&&(o.scene=_n.subplotsRegistry.gl3d.cleanId(o.scene)),!P.traceIs(o,\\\"pie\\\")&&!P.traceIs(o,\\\"bar\\\"))if(Array.isArray(o.textposition))for(a=0;a<o.textposition.length;a++)o.textposition[a]=Gv(o.textposition[a]);else o.textposition&&(o.textposition=Gv(o.textposition));if(P.traceIs(o,\\\"2dMap\\\")&&(\\\"YIGnBu\\\"===o.colorscale&&(o.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===o.colorscale&&(o.colorscale=\\\"YlOrRd\\\")),P.traceIs(o,\\\"markerColorscale\\\")&&o.marker){var c=o.marker;\\\"YIGnBu\\\"===c.colorscale&&(c.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===c.colorscale&&(c.colorscale=\\\"YlOrRd\\\")}if(\\\"surface\\\"===o.type&&ne.isPlainObject(o.contours)){var h=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(a=0;a<h.length;a++){var f=o.contours[h[a]];ne.isPlainObject(f)&&(f.highlightColor&&(f.highlightcolor=f.highlightColor,delete f.highlightColor),f.highlightWidth&&(f.highlightwidth=f.highlightWidth,delete f.highlightWidth))}}if(Array.isArray(o.transforms)){var p=o.transforms;for(a=0;a<p.length;a++){var d=p[a];if(ne.isPlainObject(d))switch(d.type){case\\\"filter\\\":d.filtersrc&&(d.target=d.filtersrc,delete d.filtersrc),d.calendar&&(d.valuecalendar||(d.valuecalendar=d.calendar),delete d.calendar);break;case\\\"groupby\\\":if(d.styles=d.styles||d.style,d.styles&&!Array.isArray(d.styles)){var g=d.styles,v=Object.keys(g);d.styles=[];for(var m=0;m<v.length;m++)d.styles.push({target:v[m],value:g[v[m]]})}}}}Wv(o,\\\"line\\\")&&delete o.line,\\\"marker\\\"in o&&(Wv(o.marker,\\\"line\\\")&&delete o.marker.line,Wv(o,\\\"marker\\\")&&delete o.marker),Oe.clean(o)}},Vv.swapXYData=function(t){var e;if(ne.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);ne.swapAttrs(t,[\\\"error_?.copy_ystyle\\\"]),n&&ne.swapAttrs(t,[\\\"error_?.color\\\",\\\"error_?.thickness\\\",\\\"error_?.width\\\"])}if(\\\"string\\\"==typeof t.hoverinfo){var i=t.hoverinfo.split(\\\"+\\\");for(e=0;e<i.length;e++)\\\"x\\\"===i[e]?i[e]=\\\"y\\\":\\\"y\\\"===i[e]&&(i[e]=\\\"x\\\");t.hoverinfo=i.join(\\\"+\\\")}},Vv.coerceTraceIndices=function(t,e){return r(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},Vv.manageArrayContainers=function(t,e,n){var i=t.obj,a=t.parts,o=a.length,s=a[o-1],l=r(s);if(l&&null===e){var u=a.slice(0,o-1).join(\\\".\\\");ne.nestedProperty(i,u).get().splice(s,1)}else l&&void 0===t.get()?(void 0===t.get()&&(n[t.astr]=null),t.set(e)):t.set(e)};var Yv=/(\\\\.[^\\\\[\\\\]\\\\.]+|\\\\[[^\\\\[\\\\]\\\\.]+\\\\])$/;function Xv(t){var e=t.search(Yv);if(e>0)return t.substr(0,e)}Vv.hasParent=function(t,e){for(var r=Xv(e);r;){if(r in t)return!0;r=Xv(r)}return!1};var Zv=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];Vv.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var o=qv(t,i,Zv[a]);if(o&&\\\"log\\\"!==o.type){var s=o._name,l=o._id.substr(1);if(\\\"scene\\\"===l.substr(0,5)){if(void 0!==r[l])continue;s=l+\\\".\\\"+s}var u=s+\\\".type\\\";void 0===r[s]&&void 0===r[u]&&ne.nestedProperty(t.layout,u).set(null)}}},Vv.clearAxisAutomargins=function(t){for(var e=Object.keys(t._fullLayout._pushmargin),r=0;r<e.length;r++)-1!==e[r].indexOf(\\\"automargin\\\")&&delete t._fullLayout._pushmargin[e[r]]};var Jv={},Kv=Wt.sorterAsc;Jv.containerArrayMatch=H;var Qv=Jv.isAddVal=function(t){return\\\"add\\\"===t||v(t)},$v=Jv.isRemoveVal=function(t){return null===t||\\\"remove\\\"===t};Jv.applyContainerArrayChanges=function(t,e,r,n){var i=e.astr,a=P.getComponentMethod(i,\\\"supplyLayoutDefaults\\\"),o=P.getComponentMethod(i,\\\"draw\\\"),s=P.getComponentMethod(i,\\\"drawOne\\\"),l=n.replot||n.recalc||a===A||o===A,u=t.layout,c=t._fullLayout;if(r[\\\"\\\"]){Object.keys(r).length>1&&_.warn(\\\"Full array edits are incompatible with other edits\\\",i);var h=r[\\\"\\\"][\\\"\\\"];if($v(h))e.set(null);else{if(!Array.isArray(h))return _.warn(\\\"Unrecognized full array edit value\\\",i,h),!0;e.set(h)}return!l&&(a(u,c),o(t),!0)}var f,p,d,g,v,m,y,x=Object.keys(r).map(Number).sort(Kv),b=e.get(),w=b||[],M=W(c,i).get(),k=[],T=-1,S=w.length;for(f=0;f<x.length;f++)if(g=r[d=x[f]],v=Object.keys(g),m=g[\\\"\\\"],y=Qv(m),d<0||d>w.length-(y?0:1))_.warn(\\\"index out of range\\\",i,d);else if(void 0!==m)v.length>1&&_.warn(\\\"Insertion & removal are incompatible with edits to the same index.\\\",i,d),$v(m)?k.push(d):y?(\\\"add\\\"===m&&(m={}),w.splice(d,0,m),M&&M.splice(d,0,{})):_.warn(\\\"Unrecognized full object edit value\\\",i,d,m),-1===T&&(T=d);else for(p=0;p<v.length;p++)W(w[d],v[p]).set(g[v[p]]);for(f=k.length-1;f>=0;f--)w.splice(k[f],1),M&&M.splice(k[f],1);if(w.length?b||e.set(w):e.set(null),l)return!1;if(a(u,c),s!==A){var E;if(-1===T)E=x;else{for(S=Math.max(w.length,S),E=[],f=0;f<x.length&&!((d=x[f])>=T);f++)E.push(d);for(f=T;f<S;f++)E.push(f)}for(f=0;f<E.length;f++)s(t,E[f])}else o(t);return!0};var tm={},em=ne._,rm=tm={};function nm(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(\\\"data-attr\\\"),o=i.getAttribute(\\\"data-val\\\")||!0,s=t._fullLayout,l={},u=gn.list(t,null,!0),c=\\\"on\\\";if(\\\"zoom\\\"===a){var h,f=\\\"in\\\"===o?.5:2,p=(1+f)/2,d=(1-f)/2;for(n=0;n<u.length;n++)if(!(r=u[n]).fixedrange)if(h=r._name,\\\"auto\\\"===o)l[h+\\\".autorange\\\"]=!0;else if(\\\"reset\\\"===o){if(void 0===r._rangeInitial)l[h+\\\".autorange\\\"]=!0;else{var g=r._rangeInitial.slice();l[h+\\\".range[0]\\\"]=g[0],l[h+\\\".range[1]\\\"]=g[1]}void 0!==r._showSpikeInitial&&(l[h+\\\".showspikes\\\"]=r._showSpikeInitial,\\\"on\\\"!==c||r._showSpikeInitial||(c=\\\"off\\\"))}else{var v=[r.r2l(r.range[0]),r.r2l(r.range[1])],m=[p*v[0]+d*v[1],p*v[1]+d*v[0]];l[h+\\\".range[0]\\\"]=r.l2r(m[0]),l[h+\\\".range[1]\\\"]=r.l2r(m[1])}s._cartesianSpikesEnabled=c}else{if(\\\"hovermode\\\"!==a||\\\"x\\\"!==o&&\\\"y\\\"!==o){if(\\\"hovermode\\\"===a&&\\\"closest\\\"===o){for(n=0;n<u.length;n++)r=u[n],\\\"on\\\"!==c||r.showspikes||(c=\\\"off\\\");s._cartesianSpikesEnabled=c}}else o=s._isHoriz?\\\"y\\\":\\\"x\\\",i.setAttribute(\\\"data-val\\\",o);l[a]=o}P.call(\\\"relayout\\\",t,l)}function im(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(\\\".\\\"),l=0;l<a.length;l++)o[a[l]+\\\".\\\"+s[1]]=i;var u=\\\"pan\\\"===i?i:\\\"zoom\\\";o.dragmode=u,P.call(\\\"relayout\\\",t,o)}function am(t,e){for(var r=e.currentTarget.getAttribute(\\\"data-attr\\\"),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o<i.length;o++){var s=i[o],l=s+\\\".camera\\\",u=n[s]._scene;\\\"resetDefault\\\"===r?a[l]=null:\\\"resetLastSave\\\"===r&&(a[l]=ne.extendDeep({},u.cameraInitial))}P.call(\\\"relayout\\\",t,a)}function om(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],l=[\\\"showspikes\\\",\\\"spikesides\\\",\\\"spikethickness\\\",\\\"spikecolor\\\"],u={},c={},h={};if(n)h=ne.extendDeep(i,n),r._previousVal=null;else{h={\\\"allaxes.showspikes\\\":!1};for(var f=0;f<o.length;f++){var p=o[f],d=a[p],g=u[p]={};g.hovermode=d.hovermode,h[p+\\\".hovermode\\\"]=!1;for(var v=0;v<3;v++){var m=s[v];c=g[m]={};for(var y=0;y<l.length;y++){var x=l[y];c[x]=d[m][x]}}}r._previousVal=ne.extendDeep({},u)}P.call(\\\"relayout\\\",t,h)}function sm(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s<o.length;s++){var l=o[s],u=a[l];if(\\\"zoom\\\"===n){var c=u.projection.scale,h=\\\"in\\\"===i?2*c:.5*c;P.call(\\\"relayout\\\",t,l+\\\".projection.scale\\\",h)}else\\\"reset\\\"===n&&um(t,\\\"geo\\\")}}function lm(t){var e,r=t._fullLayout;e=r._has(\\\"cartesian\\\")?r._isHoriz?\\\"y\\\":\\\"x\\\":\\\"closest\\\";var n=!t._fullLayout.hovermode&&e;P.call(\\\"relayout\\\",t,\\\"hovermode\\\",n)}function um(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),u=0;u<l.length;u++){var c=l[u];i[o+\\\".\\\"+c]=s[c]}P.call(\\\"relayout\\\",t,i)}function cm(t){this.container=t.container,this.element=document.createElement(\\\"div\\\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}rm.toImage={name:\\\"toImage\\\",title:function(t){return em(t,\\\"Download plot as a png\\\")},icon:Op.camera,click:function(t){var e=\\\"png\\\";ne.notifier(em(t,\\\"Taking snapshot - this may take a few seconds\\\"),\\\"long\\\"),ne.isIE()&&(ne.notifier(em(t,\\\"IE only supports svg.  Changing format to svg.\\\"),\\\"long\\\"),e=\\\"svg\\\"),P.call(\\\"downloadImage\\\",t,{format:e}).then(function(e){ne.notifier(em(t,\\\"Snapshot succeeded\\\")+\\\" - \\\"+e,\\\"long\\\")}).catch(function(){ne.notifier(em(t,\\\"Sorry, there was a problem downloading your snapshot!\\\"),\\\"long\\\")})}},rm.sendDataToCloud={name:\\\"sendDataToCloud\\\",title:function(t){return em(t,\\\"Edit in Chart Studio\\\")},icon:Op.disk,click:function(t){_n.sendDataToCloud(t)}},rm.zoom2d={name:\\\"zoom2d\\\",title:function(t){return em(t,\\\"Zoom\\\")},attr:\\\"dragmode\\\",val:\\\"zoom\\\",icon:Op.zoombox,click:nm},rm.pan2d={name:\\\"pan2d\\\",title:function(t){return em(t,\\\"Pan\\\")},attr:\\\"dragmode\\\",val:\\\"pan\\\",icon:Op.pan,click:nm},rm.select2d={name:\\\"select2d\\\",title:function(t){return em(t,\\\"Box Select\\\")},attr:\\\"dragmode\\\",val:\\\"select\\\",icon:Op.selectbox,click:nm},rm.lasso2d={name:\\\"lasso2d\\\",title:function(t){return em(t,\\\"Lasso Select\\\")},attr:\\\"dragmode\\\",val:\\\"lasso\\\",icon:Op.lasso,click:nm},rm.zoomIn2d={name:\\\"zoomIn2d\\\",title:function(t){return em(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:Op.zoom_plus,click:nm},rm.zoomOut2d={name:\\\"zoomOut2d\\\",title:function(t){return em(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:Op.zoom_minus,click:nm},rm.autoScale2d={name:\\\"autoScale2d\\\",title:function(t){return em(t,\\\"Autoscale\\\")},attr:\\\"zoom\\\",val:\\\"auto\\\",icon:Op.autoscale,click:nm},rm.resetScale2d={name:\\\"resetScale2d\\\",title:function(t){return em(t,\\\"Reset axes\\\")},attr:\\\"zoom\\\",val:\\\"reset\\\",icon:Op.home,click:nm},rm.hoverClosestCartesian={name:\\\"hoverClosestCartesian\\\",title:function(t){return em(t,\\\"Show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:nm},rm.hoverCompareCartesian={name:\\\"hoverCompareCartesian\\\",title:function(t){return em(t,\\\"Compare data on hover\\\")},attr:\\\"hovermode\\\",val:function(t){return t._fullLayout._isHoriz?\\\"y\\\":\\\"x\\\"},icon:Op.tooltip_compare,gravity:\\\"ne\\\",click:nm},rm.zoom3d={name:\\\"zoom3d\\\",title:function(t){return em(t,\\\"Zoom\\\")},attr:\\\"scene.dragmode\\\",val:\\\"zoom\\\",icon:Op.zoombox,click:im},rm.pan3d={name:\\\"pan3d\\\",title:function(t){return em(t,\\\"Pan\\\")},attr:\\\"scene.dragmode\\\",val:\\\"pan\\\",icon:Op.pan,click:im},rm.orbitRotation={name:\\\"orbitRotation\\\",title:function(t){return em(t,\\\"Orbital rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"orbit\\\",icon:Op[\\\"3d_rotate\\\"],click:im},rm.tableRotation={name:\\\"tableRotation\\\",title:function(t){return em(t,\\\"Turntable rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"turntable\\\",icon:Op[\\\"z-axis\\\"],click:im},rm.resetCameraDefault3d={name:\\\"resetCameraDefault3d\\\",title:function(t){return em(t,\\\"Reset camera to default\\\")},attr:\\\"resetDefault\\\",icon:Op.home,click:am},rm.resetCameraLastSave3d={name:\\\"resetCameraLastSave3d\\\",title:function(t){return em(t,\\\"Reset camera to last save\\\")},attr:\\\"resetLastSave\\\",icon:Op.movie,click:am},rm.hoverClosest3d={name:\\\"hoverClosest3d\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:om},rm.zoomInGeo={name:\\\"zoomInGeo\\\",title:function(t){return em(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:Op.zoom_plus,click:sm},rm.zoomOutGeo={name:\\\"zoomOutGeo\\\",title:function(t){return em(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:Op.zoom_minus,click:sm},rm.resetGeo={name:\\\"resetGeo\\\",title:function(t){return em(t,\\\"Reset\\\")},attr:\\\"reset\\\",val:null,icon:Op.autoscale,click:sm},rm.hoverClosestGeo={name:\\\"hoverClosestGeo\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:lm},rm.hoverClosestGl2d={name:\\\"hoverClosestGl2d\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:lm},rm.hoverClosestPie={name:\\\"hoverClosestPie\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:lm},rm.toggleHover={name:\\\"toggleHover\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:function(t,e){lm(t),om(t,e)}},rm.resetViews={name:\\\"resetViews\\\",title:function(t){return em(t,\\\"Reset views\\\")},icon:Op.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\\\"data-attr\\\",\\\"zoom\\\"),r.setAttribute(\\\"data-val\\\",\\\"reset\\\"),nm(t,e),r.setAttribute(\\\"data-attr\\\",\\\"resetLastSave\\\"),am(t,e),um(t,\\\"geo\\\"),um(t,\\\"mapbox\\\")}},rm.toggleSpikelines={name:\\\"toggleSpikelines\\\",title:function(t){return em(t,\\\"Toggle Spike Lines\\\")},icon:Op.spikeline,attr:\\\"_cartesianSpikesEnabled\\\",val:\\\"on\\\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\\\"on\\\"===e._cartesianSpikesEnabled?\\\"off\\\":\\\"on\\\";var r=function(t){for(var e,r,n=t._fullLayout,i=gn.list(t,null,!0),a={},o=0;o<i.length;o++)e=i[o],r=e._name,a[r+\\\".showspikes\\\"]=\\\"on\\\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return a}(t);P.call(\\\"relayout\\\",t,r)}},rm.resetViewMapbox={name:\\\"resetViewMapbox\\\",title:function(t){return em(t,\\\"Reset view\\\")},attr:\\\"reset\\\",icon:Op.home,click:function(t){um(t,\\\"mapbox\\\")}};var hm=cm.prototype;hm.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\\\"hover\\\"===r.displayModeBar?this.element.className=\\\"modebar modebar--hover\\\":this.element.className=\\\"modebar\\\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},hm.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 i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},hm.createGroup=function(){var t=document.createElement(\\\"div\\\");return t.className=\\\"modebar-group\\\",t},hm.createButton=function(t){var r=this,n=document.createElement(\\\"a\\\");n.setAttribute(\\\"rel\\\",\\\"tooltip\\\"),n.className=\\\"modebar-btn\\\";var i=t.title;void 0===i?i=t.name:\\\"function\\\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&n.setAttribute(\\\"data-title\\\",i),void 0!==t.attr&&n.setAttribute(\\\"data-attr\\\",t.attr);var a=t.val;if(void 0!==a&&(\\\"function\\\"==typeof a&&(a=a(this.graphInfo)),n.setAttribute(\\\"data-val\\\",a)),\\\"function\\\"!=typeof t.click)throw new Error(\\\"must provide button 'click' function in button config\\\");return n.addEventListener(\\\"click\\\",function(e){t.click(r.graphInfo,e),r.updateActiveButton(e.currentTarget)}),n.setAttribute(\\\"data-toggle\\\",t.toggle||!1),t.toggle&&e.select(n).classed(\\\"active\\\",!0),n.appendChild(this.createIcon(t.icon||Op.question,t.name)),n.setAttribute(\\\"data-gravity\\\",t.gravity||\\\"n\\\"),n},hm.createIcon=function(t,e){var r=t.ascent-t.descent,n=\\\"http://www.w3.org/2000/svg\\\",i=document.createElementNS(n,\\\"svg\\\"),a=document.createElementNS(n,\\\"path\\\");i.setAttribute(\\\"height\\\",\\\"1em\\\"),i.setAttribute(\\\"width\\\",t.width/r+\\\"em\\\"),i.setAttribute(\\\"viewBox\\\",[0,0,t.width,r].join(\\\" \\\"));var o=\\\"toggleSpikelines\\\"===e?\\\"matrix(1.5 0 0 -1.5 0 \\\"+t.ascent+\\\")\\\":\\\"matrix(1 0 0 -1 0 \\\"+t.ascent+\\\")\\\";return a.setAttribute(\\\"d\\\",t.path),a.setAttribute(\\\"transform\\\",o),i.appendChild(a),i},hm.updateActiveButton=function(t){var r=this.graphInfo._fullLayout,n=void 0!==t?t.getAttribute(\\\"data-attr\\\"):null;this.buttonElements.forEach(function(t){var i=t.getAttribute(\\\"data-val\\\")||!0,a=t.getAttribute(\\\"data-attr\\\"),o=\\\"true\\\"===t.getAttribute(\\\"data-toggle\\\"),s=e.select(t);if(o)a===n&&s.classed(\\\"active\\\",!s.classed(\\\"active\\\"));else{var l=null===a?a:ne.nestedProperty(r,a).get();s.classed(\\\"active\\\",l===i)}})},hm.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},hm.getLogo=function(){var t=this.createGroup(),e=document.createElement(\\\"a\\\");return e.href=\\\"https://plot.ly/\\\",e.target=\\\"_blank\\\",e.setAttribute(\\\"data-title\\\",ne._(this.graphInfo,\\\"Produced with Plotly\\\")),e.className=\\\"modebar-btn plotlyjsicon modebar-btn--logo\\\",e.appendChild(this.createIcon(Op.plotlylogo)),t.appendChild(e),t},hm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},hm.destroy=function(){ne.removeElement(this.container.querySelector(\\\".modebar\\\"))};var fm=function(t,r){var n=t._fullLayout,i=new cm({graphInfo:t,container:n._paperdiv.node(),buttons:r});return n._privateplot&&e.select(i.element).append(\\\"span\\\").classed(\\\"badge-private float--left\\\",!0).text(\\\"PRIVATE\\\"),i};var pm={};pm.manage=function(t){var e=t._fullLayout,r=t._context,n=e._modeBar;if(r.displayModeBar){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 i,a=r.modeBarButtons;i=Array.isArray(a)&&a.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\\\"string\\\"==typeof i){if(void 0===tm[i])throw new Error([\\\"*modeBarButtons* configuration options\\\",\\\"invalid button name\\\"].join(\\\" \\\"));t[e][n]=tm[i]}}return t}(a):function(t,e,r){var n=t._fullLayout,i=t._fullData,a=n._has(\\\"cartesian\\\"),o=n._has(\\\"gl3d\\\"),s=n._has(\\\"geo\\\"),l=n._has(\\\"pie\\\"),u=n._has(\\\"gl2d\\\"),c=n._has(\\\"ternary\\\"),h=n._has(\\\"mapbox\\\"),f=n._has(\\\"polar\\\"),p=function(t){for(var e=gn.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(n),d=[];function g(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(tm[i])}d.push(r)}}g([\\\"toImage\\\",\\\"sendDataToCloud\\\"]);var v=[],m=[],y=[],x=[];return(a||u||l||c)+s+o+h+f>1?(m=[\\\"toggleHover\\\"],y=[\\\"resetViews\\\"]):s?(v=[\\\"zoomInGeo\\\",\\\"zoomOutGeo\\\"],m=[\\\"hoverClosestGeo\\\"],y=[\\\"resetGeo\\\"]):o?(m=[\\\"hoverClosest3d\\\"],y=[\\\"resetCameraDefault3d\\\",\\\"resetCameraLastSave3d\\\"]):h?(m=[\\\"toggleHover\\\"],y=[\\\"resetViewMapbox\\\"]):m=u?[\\\"hoverClosestGl2d\\\"]:l?[\\\"hoverClosestPie\\\"]:[\\\"toggleHover\\\"],a&&(m=[\\\"toggleSpikelines\\\",\\\"hoverClosestCartesian\\\",\\\"hoverCompareCartesian\\\"]),!a&&!u||p||(v=[\\\"zoomIn2d\\\",\\\"zoomOut2d\\\",\\\"autoScale2d\\\"],\\\"resetViews\\\"!==y[0]&&(y=[\\\"resetScale2d\\\"])),o?x=[\\\"zoom3d\\\",\\\"pan3d\\\",\\\"orbitRotation\\\",\\\"tableRotation\\\"]:(a||u)&&!p||c?x=[\\\"zoom2d\\\",\\\"pan2d\\\"]:h||s?x=[\\\"pan2d\\\"]:f&&(x=[\\\"zoom2d\\\"]),function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(P.traceIs(n,\\\"scatter-like\\\")?(Tr.hasMarkers(n)||Tr.hasText(n))&&(e=!0):P.traceIs(n,\\\"box-violin\\\")&&\\\"all\\\"!==n.boxpoints&&\\\"all\\\"!==n.points||(e=!0))}return e}(i)&&x.push(\\\"select2d\\\",\\\"lasso2d\\\"),g(x),g(v.concat(y)),g(m),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}(d,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),n?n.update(t,i):e._modeBar=fm(t,i)}else n&&(n.destroy(),delete e._modeBar)};var dm=Qe.FROM_BL,gm=function(t,e,r){void 0===r&&(r=dm[t.constraintoward||\\\"center\\\"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*r;t.range=t._input.range=[t.l2r(i+(n[0]-i)*e),t.l2r(i+(n[1]-i)*e)]},vm=Qe.FROM_TL,mm=ri.doTicks,ym=gn.getFromId,xm=Te.MINDRAG,bm=Te.MINZOOM,_m=!0;function wm(t,e,r,n){var i=t.draglayer.selectAll(\\\".\\\"+r).data([0]);return i.enter().append(e).classed(\\\"drag\\\",!0).classed(r,!0).style({fill:\\\"transparent\\\",\\\"stroke-width\\\":0}).attr(\\\"data-subplot\\\",t.id),i.call(Ka,n),i.node()}function Mm(t,r,n,i,a,o,s){var l=wm(t,\\\"rect\\\",r,n);return e.select(l).call(Sr.setRect,i,a,o,s),l}function Am(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\\\"\\\"}function km(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\\\".range[0]\\\"]=o.range[0],n[o._name+\\\".range[1]\\\"]=o.range[1]);if(i&&i.length){var u=(e+(1-r))/2;km(i,u,1-u,n)}}function Tm(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function Sm(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function Em(t,e,r,n,i){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\\\",i+\\\"Z\\\")}function Cm(t,e,r){return t.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"transform\\\",\\\"translate(\\\"+e+\\\", \\\"+r+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}function Lm(t){t.selectAll(\\\".select-outline\\\").remove()}function zm(t,e,r,n,i,a){t.attr(\\\"d\\\",n+\\\"M\\\"+r.l+\\\",\\\"+r.t+\\\"v\\\"+r.h+\\\"h\\\"+r.w+\\\"v-\\\"+r.h+\\\"h-\\\"+r.w+\\\"Z\\\"),Pm(t,e,i,a)}function Pm(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 Im(t){e.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}function Dm(t){_m&&t.data&&t._context.showTips&&(ne.notifier(ne._(t,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),_m=!1)}function Om(t){return\\\"lasso\\\"===t||\\\"select\\\"===t}function Rm(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,bm)/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 Fm(t,e){if(Ea){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)}var Bm={makeDragBox:function(t,r,n,i,a,o,l,u){var c,h,f,p,d,g,v,m,y,x,b,_,w,M=t._fullLayout,A=t._fullLayout._zoomlayer,k=l+u===\\\"nsew\\\",T=1===(l+u).length;function S(){h=[r.xaxis],f=[r.yaxis];var e=h[0],n=f[0];g=e._length,v=n._length;var i,a,o=M._axisConstraintGroups,s=[e._id],A=[n._id];c=[r].concat(l&&u?r.overlays:[]);for(var k=1;k<c.length;k++){var T=c[k].xaxis,S=c[k].yaxis;-1===h.indexOf(T)&&(h.push(T),s.push(T._id)),-1===f.indexOf(S)&&(f.push(S),A.push(S._id))}m=Am(h,u),y=Am(f,l),i=y+m,a=M.dragmode,x=i?\\\"nsew\\\"===i?\\\"pan\\\"===a?\\\"move\\\":\\\"crosshair\\\":i.toLowerCase()+\\\"-resize\\\":\\\"pointer\\\",p=e._offset,d=n._offset;var E=function(t,e,r){var n,i,a,o,s,l,u=!1,c={},h={};for(n=0;n<t.length;n++){for(o=t[n],i=0;i<e.length;i++)if(o[e[i]]){for(s in o)-1===(\\\"x\\\"===s.charAt(0)?e:r).indexOf(s)&&(c[s]=1);for(a=0;a<r.length;a++)o[r[a]]&&(u=!0)}for(i=0;i<r.length;i++)if(o[r[i]])for(l in o)-1===(\\\"x\\\"===l.charAt(0)?e:r).indexOf(l)&&(h[l]=1)}return u&&(ne.extendFlat(c,h),h={}),{x:c,y:h,xy:u}}(o,s,A);for(var C in b=E.xy,_=[],E.x)_.push(ym(t,C));for(var L in w=[],E.y)w.push(ym(t,L))}S();var E=Mm(r,l+u+\\\"drag\\\",x,n,i,a,o),C=!y&&!m;if(C&&!k)return E.onmousedown=null,E.style.pointerEvents=\\\"none\\\",E;var L,z,I,D,O,R,F,B,N,j={element:E,gd:t,plotinfo:r,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;C||(k?e.shiftKey?\\\"pan\\\"===i?i=\\\"zoom\\\":Om(i)||(i=\\\"pan\\\"):e.ctrlKey&&(i=\\\"pan\\\"):i=\\\"pan\\\"),j.minDrag=\\\"lasso\\\"===i?1:void 0,Om(i)?(j.xaxes=h,j.yaxes=f,_c(e,r,n,j,i)):C?Lm(A):\\\"zoom\\\"===i?(j.moveFn=U,j.doneFn=q,j.minDrag=1,function(e,r,n){var i=E.getBoundingClientRect();L=r-i.left,z=n-i.top,I={l:L,r:L,w:0,t:z,b:z,h:0},D=t._hmpixcount?t._hmlumcount/t._hmpixcount:s(t._fullLayout.plot_bgcolor).getLuminance(),R=!1,F=\\\"xy\\\",B=Em(A,D,p,d,O=\\\"M0,0H\\\"+g+\\\"V\\\"+v+\\\"H0V0\\\"),N=Cm(A,p,d),Lm(A)}(0,r,n)):\\\"pan\\\"===i&&(j.moveFn=X,j.doneFn=J,Lm(A))},clickFn:function(n,i){if(Im(t),2!==n||T||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(m?h:[]).concat(y?f:[]),o={};if(\\\"reset+autosize\\\"===i)for(i=\\\"autosize\\\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\\\"reset\\\";break}if(\\\"autosize\\\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(o[e._name+\\\".autorange\\\"]=!0);else if(\\\"reset\\\"===i)for((m||b)&&(a=a.concat(_)),y&&!b&&(a=a.concat(w)),b&&(m?y||(a=a.concat(f)):a=a.concat(h)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+\\\".range[0]\\\"]=n[0],o[e._name+\\\".range[1]\\\"]=n[1]):o[e._name+\\\".autorange\\\"]=!0;t.emit(\\\"plotly_doubleclick\\\",null),P.call(\\\"relayout\\\",t,o)}}(),k)yo.click(t,i,r.id);else if(1===n&&T){var a=l?f[0]:h[0],o=\\\"s\\\"===l||\\\"w\\\"===u?0:1,s=a._name+\\\".range[\\\"+o+\\\"]\\\",c=function(t,r){var n,i=t.range[r],a=Math.abs(i-t.range[1-r]);return\\\"date\\\"===t.type?i:\\\"log\\\"===t.type?(n=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,e.format(\\\".\\\"+n+\\\"g\\\")(Math.pow(10,i))):(n=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,e.format(\\\".\\\"+String(n)+\\\"g\\\")(i))}(a,o),p=\\\"left\\\",d=\\\"middle\\\";if(a.fixedrange)return;l?(d=\\\"n\\\"===l?\\\"top\\\":\\\"bottom\\\",\\\"right\\\"===a.side&&(p=\\\"right\\\")):\\\"e\\\"===u&&(p=\\\"right\\\"),t._context.showAxisRangeEntryBoxes&&e.select(E).call(er.makeEditable,{gd:t,immediate:!0,background:M.paper_bgcolor,text:String(c),fill:a.tickfont?a.tickfont.color:\\\"#444\\\",horizontalAlign:p,verticalAlign:d}).on(\\\"edit\\\",function(e){var r=a.d2r(e);void 0!==r&&P.call(\\\"relayout\\\",t,s,r)})}}};Ua.init(j);var V={};function U(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(g,e+L)),i=Math.max(0,Math.min(v,r+z)),a=Math.abs(n-L),o=Math.abs(i-z);function s(){F=\\\"\\\",I.r=I.l,I.t=I.b,N.attr(\\\"d\\\",\\\"M0,0Z\\\")}I.l=Math.min(L,n),I.r=Math.max(L,n),I.t=Math.min(z,i),I.b=Math.max(z,i),b?a>bm||o>bm?(F=\\\"xy\\\",a/g>o/v?(o=a*v/g,z>i?I.t=z-o:I.b=z+o):(a=o*g/v,L>n?I.l=L-a:I.r=L+a),N.attr(\\\"d\\\",Rm(I))):s():!y||o<Math.min(Math.max(.6*a,xm),bm)?a<xm?s():(I.t=0,I.b=v,F=\\\"x\\\",N.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(t.l-.5)+\\\",\\\"+(e-bm-.5)+\\\"h-3v\\\"+(2*bm+1)+\\\"h3ZM\\\"+(t.r+.5)+\\\",\\\"+(e-bm-.5)+\\\"h3v\\\"+(2*bm+1)+\\\"h-3Z\\\"}(I,z))):!m||a<Math.min(.6*o,bm)?(I.l=0,I.r=g,F=\\\"y\\\",N.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(e-bm-.5)+\\\",\\\"+(t.t-.5)+\\\"v-3h\\\"+(2*bm+1)+\\\"v3ZM\\\"+(e-bm-.5)+\\\",\\\"+(t.b+.5)+\\\"v3h\\\"+(2*bm+1)+\\\"v-3Z\\\"}(I,L))):(F=\\\"xy\\\",N.attr(\\\"d\\\",Rm(I))),I.w=I.r-I.l,I.h=I.b-I.t,zm(B,N,I,O,R,D),R=!0}function q(){if(Math.min(I.h,I.w)<2*xm)return Im(t);\\\"xy\\\"!==F&&\\\"x\\\"!==F||km(h,I.l/g,I.r/g,V,_),\\\"xy\\\"!==F&&\\\"y\\\"!==F||km(f,(v-I.b)/v,(v-I.t)/v,V,w),Im(t),J(),Dm(t)}var H=[0,0,g,v],G=null,W=Te.REDRAWDELAY,Y=r.mainplot?M._plots[r.mainplot]:r;function X(e,r){if(!t._transitioningWithDuration){if(S(),\\\"ew\\\"===m||\\\"ns\\\"===y)return m&&Tm(h,e),y&&Tm(f,r),K([m?-e:0,y?-r:0,g,v]),void Z(y,m);if(b&&m&&y){var n=\\\"w\\\"===m==(\\\"n\\\"===y)?1:-1,i=(e/g+n*r/v)/2;e=i*g,r=n*i*v}\\\"w\\\"===m?e=l(h,0,e):\\\"e\\\"===m?e=l(h,1,-e):m||(e=0),\\\"n\\\"===y?r=l(f,1,r):\\\"s\\\"===y?r=l(f,0,-r):y||(r=0);var a=\\\"w\\\"===m?e:0,o=\\\"n\\\"===y?r:0;if(b){var s;if(!m&&1===y.length){for(s=0;s<h.length;s++)h[s].range=h[s]._r.slice(),gm(h[s],1-r/v);a=(e=r*g/v)/2}if(!y&&1===m.length){for(s=0;s<f.length;s++)f[s].range=f[s]._r.slice(),gm(f[s],1-e/g);o=(r=e*v/g)/2}}K([a,o,g-e,v-r]),Z(y,m)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/Sm(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Z(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for((r||b)&&(a(h),a(_)),(e||b)&&(a(f),a(w)),V={},n=0;n<i.length;n++){var o=i[n];mm(t,o,!0);var s=ym(t,o);V[s._name+\\\".range[0]\\\"]=s.range[0],V[s._name+\\\".range[1]\\\"]=s.range[1]}function l(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}l(M.annotations||[],P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),l(M.shapes||[],P.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),l(M.images||[],P.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function J(){K([0,0,g,v]),ne.syncOrAsync([_n.previousPromises,function(){P.call(\\\"relayout\\\",t,V)}],t)}function K(t){var e,r,n,i,a,o=M._plots,s=Object.keys(o),c=t[2]/h[0]._length,p=t[3]/f[0]._length,d=u||b,g=l||b;function v(t){return t.fixedrange?0:d&&-1!==_.indexOf(t)?c:g&&-1!==(b?_:w).indexOf(t)?p:0}function m(t,e){return e?(t.range=t._r.slice(),gm(t,e),y(t,e)):0}function y(t,e){return t._length*(1-e)*vm[t.constraintoward||\\\"middle\\\"]}for(M._glcanvas&&M._glcanvas.size()&&M._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),e=0;e<s.length;e++){var x=o[s[e]],A=x.xaxis,k=x.yaxis,T=d&&!A.fixedrange&&-1!==h.indexOf(A),S=g&&!k.fixedrange&&-1!==f.indexOf(k);if(x._scene&&x._scene.update){var E=ne.simpleMap(A.range,A.r2l),C=ne.simpleMap(k.range,k.r2l);x._scene.update({range:[E[0],C[0],E[1],C[1]]})}if(T?(r=c,i=u?t[0]:y(A,r)):i=m(A,r=v(A)),S?(n=p,a=l?t[1]:y(k,n)):a=m(k,n=v(k)),r||n){r||(r=1),n||(n=1);var L=A._offset-i/r,z=k._offset-a/n;M._defs.select(\\\"#\\\"+x.clipId+\\\"> rect\\\").call(Sr.setTranslate,i,a).call(Sr.setScale,r,n);var P=x.plot.selectAll(\\\".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace\\\");x.plot.call(Sr.setTranslate,L,z).call(Sr.setScale,1/r,1/n),P.selectAll(\\\".point\\\").call(Sr.setPointGroupScale,r,n),P.selectAll(\\\".textpoint\\\").call(Sr.setTextPointsScale,r,n),P.call(Sr.hideOutsideRangePoints,x),x.plot.selectAll(\\\".barlayer .trace\\\").call(Sr.hideOutsideRangePoints,x,\\\".bartext\\\")}}}return l.length*u.length!=1&&Fm(E,function(e){if(t._context.scrollZoom||M._enablescrollzoom){if(null===G&&Lm(A),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\\\".plotly\\\");if(S(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(G);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Y.draglayer.select(\\\".nsewdrag\\\").node().getBoundingClientRect(),s=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(u||b){for(u||(s=.5),i=0;i<h.length;i++)p(h[i],s,a);H[2]*=a,H[0]+=H[2]*s*(1/a-1)}if(l||b){for(l||(c=.5),i=0;i<f.length;i++)p(f[i],c,a);H[3]*=a,H[1]+=H[3]*(1-c)*(1/a-1)}K(H),Z(l,u),G=setTimeout(function(){H=[0,0,g,v],J()},W),e.preventDefault()}else ne.log(\\\"Did not find wheel motion attributes: \\\",e)}}function p(t,e,r){if(!t.fixedrange){var n=ne.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),E},makeDragger:wm,makeRectDragger:Mm,makeZoombox:Em,makeCorners:Cm,updateZoombox:zm,xyCorners:Rm,transitionZoombox:Pm,removeZoombox:Im,clearSelect:Lm,showDoubleClickNotifier:Dm,attachWheelEventHandler:Fm},Nm=Bm.makeDragBox,jm=function(t){var r=t._fullLayout;if(t._context.staticPlot)e.select(t).selectAll(\\\".drag\\\").remove();else if(r._has(\\\"cartesian\\\")||r._has(\\\"gl2d\\\")){Object.keys(r._plots||{}).sort(function(t,e){if((r._plots[t].mainplot&&!0)===(r._plots[e].mainplot&&!0)){var n=t.split(\\\"y\\\"),i=e.split(\\\"y\\\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return r._plots[t].mainplot?1:-1}).forEach(function(e){var n=r._plots[e],i=n.xaxis,a=n.yaxis,o=Te.DRAGGERSIZE;if(!n.mainplot){var s=Nm(t,n,i._offset,a._offset,i._length,a._length,\\\"ns\\\",\\\"ew\\\");s.onmousemove=function(r){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===e&&yo.hover(t,r,e)},yo.hover(t,r,e),t._fullLayout._lasthover=s,t._fullLayout._hoversubplot=e},s.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,Ua.unhover(t,e))},t._context.showAxisDragHandles&&(Nm(t,n,i._offset-o,a._offset-o,o,o,\\\"n\\\",\\\"w\\\"),Nm(t,n,i._offset+i._length,a._offset-o,o,o,\\\"n\\\",\\\"e\\\"),Nm(t,n,i._offset-o,a._offset+a._length,o,o,\\\"s\\\",\\\"w\\\"),Nm(t,n,i._offset+i._length,a._offset+a._length,o,o,\\\"s\\\",\\\"e\\\"))}if(t._context.showAxisDragHandles){if(e===i._mainSubplot){var l=i._mainLinePosition;\\\"top\\\"===i.side&&(l-=o),Nm(t,n,i._offset+.1*i._length,l,.8*i._length,o,\\\"\\\",\\\"ew\\\"),Nm(t,n,i._offset,l,.1*i._length,o,\\\"\\\",\\\"w\\\"),Nm(t,n,i._offset+.9*i._length,l,.1*i._length,o,\\\"\\\",\\\"e\\\")}if(e===a._mainSubplot){var u=a._mainLinePosition;\\\"right\\\"!==a.side&&(u-=o),Nm(t,n,u,a._offset+.1*a._length,o,.8*a._length,\\\"ns\\\",\\\"\\\"),Nm(t,n,u,a._offset+.9*a._length,o,.1*a._length,\\\"s\\\",\\\"\\\"),Nm(t,n,u,a._offset,o,.1*a._length,\\\"n\\\",\\\"\\\")}}});var n=r._hoverlayer.node();n.onmousemove=function(e){e.target=r._lasthover,yo.hover(t,e,r._hoversubplot)},n.onclick=function(e){e.target=r._lasthover,yo.click(t,e)},n.onmousedown=function(t){r._lasthover.onmousedown(t)}}},Vm={};function Um(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\\\"all\\\"===t.mirror||\\\"allticks\\\"===t.mirror)}function qm(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 i=Qe.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function Hm(t,e,r,n){if(qm(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&qm(t,e,a))return a._lw}return 0}Vm.layoutStyles=function(t){return ne.syncOrAsync([_n.doAutoMargin,Vm.lsInner],t)},Vm.lsInner=function(t){var r,n=t._fullLayout,i=n._size,a=i.p,o=ri.list(t),s=n._has(\\\"cartesian\\\");function l(t,e,r){var n=t._lw/2;return\\\"x\\\"===t._id.charAt(0)?e?\\\"top\\\"===r?e._offset-a-n:e._offset+e._length+a+n:i.t+i.h*(1-(t.position||0))+n%1:e?\\\"right\\\"===r?e._offset+e._length+a+n:e._offset-a-n:i.l+i.w*(t.position||0)+n%1}for(r=0;r<o.length;r++){var u=o[r];u.setScale();var c=u._anchorAxis;u._linepositions={},u._lw=Sr.crispRound(t,u.linewidth,1),u._mainLinePosition=l(u,c,u.side),u._mainMirrorPosition=u.mirror&&c?l(u,c,Qe.OPPOSITE_SIDE[u.side]):null}n._paperdiv.style({width:n.width+\\\"px\\\",height:n.height+\\\"px\\\"}).selectAll(\\\".main-svg\\\").call(Sr.setSize,n.width,n.height),t._context.setBackground(t,n.paper_bgcolor);var h=n._paper.selectAll(\\\"g.subplot\\\"),f=[],p=[];h.each(function(t){var e=n._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,i=e.yaxis.domain,a=[];!function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}(r,i,p)?(f.push(t),p.push([r,i])):a=[0];var o=e.plotgroup.selectAll(\\\".bg\\\").data(a);o.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),o.exit().remove(),o.each(function(){e.bg=o;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var d=n._bgLayer.selectAll(\\\".bg\\\").data(f);return d.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),d.exit().remove(),d.each(function(t){n._plots[t].bg=e.select(this)}),h.each(function(t){var e=n._plots[t],i=e.xaxis,u=e.yaxis;e.bg&&s&&e.bg.call(Sr.setRect,i._offset-a,u._offset-a,i._length+2*a,u._length+2*a).call(Oe.fill,n.plot_bgcolor).style(\\\"stroke-width\\\",0),e.clipId=\\\"clip\\\"+n._uid+t+\\\"plot\\\";var c,h,f=n._clips.selectAll(\\\"#\\\"+e.clipId).data([0]);for(f.enter().append(\\\"clipPath\\\").attr({class:\\\"plotclip\\\",id:e.clipId}).append(\\\"rect\\\"),f.selectAll(\\\"rect\\\").attr({width:i._length,height:u._length}),Sr.setTranslate(e.plot,i._offset,u._offset),e._hasClipOnAxisFalse?(c=null,h=e.clipId):(c=e.clipId,h=null),Sr.setClipUrl(e.plot,c),r=0;r<Te.traceLayerClasses.length;r++){var p=Te.traceLayerClasses[r];\\\"scatterlayer\\\"!==p&&\\\"barlayer\\\"!==p&&e.plot.selectAll(\\\"g.\\\"+p).call(Sr.setClipUrl,h)}if(e.layerClipId=h,s){var d,g,v,m,y,x,b,_,w,M,A,k,T,S=\\\"M0,0\\\";Um(i,t)&&(y=Hm(i,\\\"left\\\",u,o),d=i._offset-(y?a+y:0),x=Hm(i,\\\"right\\\",u,o),g=i._offset+i._length+(x?a+x:0),v=l(i,u,\\\"bottom\\\"),m=l(i,u,\\\"top\\\"),(T=!i._anchorAxis||t!==i._mainSubplot)&&i.ticks&&\\\"allticks\\\"===i.mirror&&(i._linepositions[t]=[v,m]),S=z(i,C,function(t){return\\\"M\\\"+i._offset+\\\",\\\"+t+\\\"h\\\"+i._length}),T&&i.showline&&(\\\"all\\\"===i.mirror||\\\"allticks\\\"===i.mirror)&&(S+=C(v)+C(m)),e.xlines.style(\\\"stroke-width\\\",i._lw+\\\"px\\\").call(Oe.stroke,i.showline?i.linecolor:\\\"rgba(0,0,0,0)\\\")),e.xlines.attr(\\\"d\\\",S);var E=\\\"M0,0\\\";Um(u,t)&&(A=Hm(u,\\\"bottom\\\",i,o),b=u._offset+u._length+(A?a:0),k=Hm(u,\\\"top\\\",i,o),_=u._offset-(k?a:0),w=l(u,i,\\\"left\\\"),M=l(u,i,\\\"right\\\"),(T=!u._anchorAxis||t!==i._mainSubplot)&&u.ticks&&\\\"allticks\\\"===u.mirror&&(u._linepositions[t]=[w,M]),E=z(u,L,function(t){return\\\"M\\\"+t+\\\",\\\"+u._offset+\\\"v\\\"+u._length}),T&&u.showline&&(\\\"all\\\"===u.mirror||\\\"allticks\\\"===u.mirror)&&(E+=L(w)+L(M)),e.ylines.style(\\\"stroke-width\\\",u._lw+\\\"px\\\").call(Oe.stroke,u.showline?u.linecolor:\\\"rgba(0,0,0,0)\\\")),e.ylines.attr(\\\"d\\\",E)}function C(t){return\\\"M\\\"+d+\\\",\\\"+t+\\\"H\\\"+g}function L(t){return\\\"M\\\"+t+\\\",\\\"+_+\\\"V\\\"+b}function z(e,r,n){if(!e.showline||t!==e._mainSubplot)return\\\"\\\";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),ri.makeClipPaths(t),Vm.drawMainTitle(t),pm.manage(t),t._promises.length&&Promise.all(t._promises)},Vm.drawMainTitle=function(t){var e=t._fullLayout;Dn.draw(t,\\\"gtitle\\\",{propContainer:e,propName:\\\"title\\\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\\\"text-anchor\\\":\\\"middle\\\"}})},Vm.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return _n.style(t),P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),_n.previousPromises(t)},Vm.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;P.traceIs(n,\\\"contour\\\")&&i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\\\"line\\\"===n.contours.coloring?i._opts.line.color:n.line.color}),P.traceIs(n,\\\"markerColorscale\\\")?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return _n.previousPromises(t)},Vm.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,P.call(\\\"plot\\\",t,\\\"\\\",e)},Vm.doLegend=function(t){return P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),_n.previousPromises(t)},Vm.doTicksRelayout=function(t){return ri.doTicks(t,\\\"redraw\\\"),Vm.drawMainTitle(t),_n.previousPromises(t)},Vm.doModeBar=function(t){var e=t._fullLayout;pm.manage(t),jm(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(e)}return _n.previousPromises(t)},Vm.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}};var Gm={},Wm=gn.id2name,Ym=Bn,Xm=t.ALMOST_EQUAL,Zm=Qe.FROM_BL;function Jm(t,e){var r=t._inputDomain,n=Zm[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}Gm.enforce=function(t){var e,r,n,i,a,o,s,l=t._fullLayout,u=l._axisConstraintGroups||[];for(e=0;e<u.length;e++){var c=u[e],h=Object.keys(c),f=1/0,p=0,d=1/0,g={},v={},m=!1;for(r=0;r<h.length;r++)v[n=h[r]]=i=l[Wm(n)],i._inputDomain?i.domain=i._inputDomain.slice():i._inputDomain=i.domain.slice(),i._inputRange||(i._inputRange=i.range.slice()),i.setScale(),g[n]=a=Math.abs(i._m)/c[n],f=Math.min(f,a),\\\"domain\\\"!==i.constrain&&i._constraintShrinkable||(d=Math.min(d,a)),delete i._constraintShrinkable,p=Math.max(p,a),\\\"domain\\\"===i.constrain&&(m=!0);if(!(f>Xm*p)||m)for(r=0;r<h.length;r++)if(a=g[n=h[r]],o=(i=v[n]).constrain,a!==d||\\\"domain\\\"===o)if(s=a/d,\\\"range\\\"===o)gm(i,s);else{var y=i._inputDomain,x=(i.domain[1]-i.domain[0])/(y[1]-y[0]),b=(i.r2l(i.range[1])-i.r2l(i.range[0]))/(i.r2l(i._inputRange[1])-i.r2l(i._inputRange[0]));if((s/=x)*b<1){i.domain=i._input.domain=y.slice(),gm(i,s);continue}if(b<1&&(i.range=i._input.range=i._inputRange.slice(),s*=b),i.autorange&&i._min.length&&i._max.length){var _=i.r2l(i.range[0]),w=i.r2l(i.range[1]),M=(_+w)/2,A=M,k=M,T=Math.abs(w-M),S=M-T*s*1.0001,E=M+T*s*1.0001,C=Ym(i);Jm(i,s),i.setScale();var L,z,P=Math.abs(i._m);for(z=0;z<i._min.length;z++)(L=i._min[z].val-C(i._min[z])/P)>S&&L<A&&(A=L);for(z=0;z<i._max.length;z++)(L=i._max[z].val+C(i._max[z])/P)<E&&L>k&&(k=L);s/=(k-A)/(2*T),A=i.l2r(A),k=i.l2r(k),i.range=i._input.range=_<w?[A,k]:[k,A]}Jm(i,s)}}},Gm.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\\\"domain\\\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}};var Km={},Qm=ne.extendDeepAll,$m=Qe.MID_SHIFT,ty=Km={version:\\\"0.2.2\\\"};ty.Axis=function(){var t,r,n,i,a={data:[],layout:{}},o={},s={},l=e.dispatch(\\\"hover\\\"),u={};return u.render=function(o){return function(o){r=o||r;var l=a.data,u=a.layout;(\\\"string\\\"==typeof r||r.nodeName)&&(r=e.select(r)),r.datum(l).each(function(r,a){var o=r.slice();s={data:ty.util.cloneJson(o),layout:ty.util.cloneJson(u)};var l=0;o.forEach(function(t,r){t.color||(t.color=u.defaultColorRange[l],l=(l+1)%u.defaultColorRange.length),t.strokeColor||(t.strokeColor=\\\"LinePlot\\\"===t.geometry?t.color:e.rgb(t.color).darker().toString()),s.data[r].color=t.color,s.data[r].strokeColor=t.strokeColor,s.data[r].strokeDash=t.strokeDash,s.data[r].strokeSize=t.strokeSize});var c=o.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),h=!1,f=c.map(function(t,e){return h=h||void 0!==t.groupId,t});if(h){var p=[],d=e.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\\\"unstacked\\\"}).entries(f).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],p.push(r),r=ty.util.sumArrays(t.r,r)}),t.values});c=e.merge(d)}c.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 g=Math.min(u.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2;g=Math.max(10,g);var v,m=[u.margin.left+g,u.margin.top+g];v=h?[0,e.max(ty.util.sumArrays(ty.util.arrayLast(c).r[0],ty.util.arrayLast(p)))]:e.extent(ty.util.flattenArray(c.map(function(t,e){return t.r}))),u.radialAxis.domain!=ty.DATAEXTENT&&(v[0]=0),n=e.scale.linear().domain(u.radialAxis.domain!=ty.DATAEXTENT&&u.radialAxis.domain?u.radialAxis.domain:v).range([0,g]),s.layout.radialAxis.domain=n.domain();var y,x=ty.util.flattenArray(c.map(function(t,e){return t.t})),b=\\\"string\\\"==typeof x[0];b&&(x=ty.util.deduplicate(x),y=x.slice(),x=e.range(x.length),c=c.map(function(t,e){var r=t;return t.t=[x],h&&(r.yStack=t.yStack),r}));var _=c.filter(function(t,e){return\\\"LinePlot\\\"===t.geometry||\\\"DotPlot\\\"===t.geometry}).length===c.length,w=null===u.needsEndSpacing?b||!_:u.needsEndSpacing,M=u.angularAxis.domain&&u.angularAxis.domain!=ty.DATAEXTENT&&!b&&u.angularAxis.domain[0]>=0?u.angularAxis.domain:e.extent(x),A=Math.abs(x[1]-x[0]);_&&!b&&(A=0);var k=M.slice();w&&b&&(k[1]+=A);var T=u.angularAxis.ticksCount||4;T>8&&(T=T/(T/8)+T%8),u.angularAxis.ticksStep&&(T=(k[1]-k[0])/T);var S=u.angularAxis.ticksStep||(k[1]-k[0])/(T*(u.minorTicks+1));y&&(S=Math.max(Math.round(S),1)),k[2]||(k[2]=S);var E=e.range.apply(this,k);if(E=E.map(function(t,e){return parseFloat(t.toPrecision(12))}),i=e.scale.linear().domain(k.slice(0,2)).range(\\\"clockwise\\\"===u.direction?[0,360]:[360,0]),s.layout.angularAxis.domain=i.domain(),s.layout.angularAxis.endPadding=w?A:0,void 0===(t=e.select(this).select(\\\"svg.chart-root\\\"))||t.empty()){var C=(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\\\"),L=this.appendChild(this.ownerDocument.importNode(C.documentElement,!0));t=e.select(L)}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 z,P=t.select(\\\".chart-group\\\"),I={fill:\\\"none\\\",stroke:u.tickColor},D={\\\"font-size\\\":u.font.size,\\\"font-family\\\":u.font.family,fill:u.font.color,\\\"text-shadow\\\":[\\\"-1px 0px\\\",\\\"1px -1px\\\",\\\"-1px 1px\\\",\\\"1px 1px\\\"].map(function(t,e){return\\\" \\\"+t+\\\" 0 \\\"+u.font.outlineColor}).join(\\\",\\\")};if(u.showLegend){z=t.select(\\\".legend-group\\\").attr({transform:\\\"translate(\\\"+[g,u.margin.top]+\\\")\\\"}).style({display:\\\"block\\\"});var O=c.map(function(t,e){var r=ty.util.cloneJson(t);return r.symbol=\\\"DotPlot\\\"===t.geometry?t.dotType||\\\"circle\\\":\\\"LinePlot\\\"!=t.geometry?\\\"square\\\":\\\"line\\\",r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=\\\"LinePlot\\\"===t.geometry?t.strokeColor:t.color,r});ty.Legend().config({data:c.map(function(t,e){return t.name||\\\"Element\\\"+e}),legendConfig:Qm({},ty.Legend.defaultConfig().legendConfig,{container:z,elements:O,reverseOrder:u.legend.reverseOrder})})();var R=z.node().getBBox();g=Math.min(u.width-R.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2,g=Math.max(10,g),m=[u.margin.left+g,u.margin.top+g],n.range([0,g]),s.layout.radialAxis.domain=n.domain(),z.attr(\\\"transform\\\",\\\"translate(\\\"+[m[0]+g,m[1]-g]+\\\")\\\")}else z=t.select(\\\".legend-group\\\").style({display:\\\"none\\\"});t.attr({width:u.width,height:u.height}).style({opacity:u.opacity}),P.attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\")\\\").style({cursor:\\\"crosshair\\\"});var F=[(u.width-(u.margin.left+u.margin.right+2*g+(R?R.width:0)))/2,(u.height-(u.margin.top+u.margin.bottom+2*g))/2];if(F[0]=Math.max(0,F[0]),F[1]=Math.max(0,F[1]),t.select(\\\".outer-group\\\").attr(\\\"transform\\\",\\\"translate(\\\"+F+\\\")\\\"),u.title){var B=t.select(\\\"g.title-group text\\\").style(D).text(u.title),N=B.node().getBBox();B.attr({x:m[0]-N.width/2,y:m[1]-g-20})}var j=t.select(\\\".radial.axis-group\\\");if(u.radialAxis.gridLinesVisible){var V=j.selectAll(\\\"circle.grid-circle\\\").data(n.ticks(5));V.enter().append(\\\"circle\\\").attr({class:\\\"grid-circle\\\"}).style(I),V.attr(\\\"r\\\",n),V.exit().remove()}j.select(\\\"circle.outside-circle\\\").attr({r:g}).style(I);var U=t.select(\\\"circle.background-circle\\\").attr({r:g}).style({fill:u.backgroundColor,stroke:u.stroke});function q(t,e){return i(t)%360+u.orientation}if(u.radialAxis.visible){var H=e.svg.axis().scale(n).ticks(5).tickSize(5);j.call(H).attr({transform:\\\"rotate(\\\"+u.radialAxis.orientation+\\\")\\\"}),j.selectAll(\\\".domain\\\").style(I),j.selectAll(\\\"g>text\\\").text(function(t,e){return this.textContent+u.radialAxis.ticksSuffix}).style(D).style({\\\"text-anchor\\\":\\\"start\\\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\\\"horizontal\\\"===u.radialAxis.tickOrientation?\\\"rotate(\\\"+-u.radialAxis.orientation+\\\") translate(\\\"+[0,D[\\\"font-size\\\"]]+\\\")\\\":\\\"translate(\\\"+[0,D[\\\"font-size\\\"]]+\\\")\\\"}}),j.selectAll(\\\"g>line\\\").style({stroke:\\\"black\\\"})}var G=t.select(\\\".angular.axis-group\\\").selectAll(\\\"g.angular-tick\\\").data(E),W=G.enter().append(\\\"g\\\").classed(\\\"angular-tick\\\",!0);G.attr({transform:function(t,e){return\\\"rotate(\\\"+q(t)+\\\")\\\"}}).style({display:u.angularAxis.visible?\\\"block\\\":\\\"none\\\"}),G.exit().remove(),W.append(\\\"line\\\").classed(\\\"grid-line\\\",!0).classed(\\\"major\\\",function(t,e){return e%(u.minorTicks+1)==0}).classed(\\\"minor\\\",function(t,e){return!(e%(u.minorTicks+1)==0)}).style(I),W.selectAll(\\\".minor\\\").style({stroke:u.minorTickColor}),G.select(\\\"line.grid-line\\\").attr({x1:u.tickLength?g-u.tickLength:0,x2:g}).style({display:u.angularAxis.gridLinesVisible?\\\"block\\\":\\\"none\\\"}),W.append(\\\"text\\\").classed(\\\"axis-text\\\",!0).style(D);var Y=G.select(\\\"text.axis-text\\\").attr({x:g+u.labelOffset,dy:$m+\\\"em\\\",transform:function(t,e){var r=q(t),n=g+u.labelOffset,i=u.angularAxis.tickOrientation;return\\\"horizontal\\\"==i?\\\"rotate(\\\"+-r+\\\" \\\"+n+\\\" 0)\\\":\\\"radial\\\"==i?r<270&&r>90?\\\"rotate(180 \\\"+n+\\\" 0)\\\":null:\\\"rotate(\\\"+(r<=180&&r>0?-90:90)+\\\" \\\"+n+\\\" 0)\\\"}}).style({\\\"text-anchor\\\":\\\"middle\\\",display:u.angularAxis.labelsVisible?\\\"block\\\":\\\"none\\\"}).text(function(t,e){return e%(u.minorTicks+1)!=0?\\\"\\\":y?y[t]+u.angularAxis.ticksSuffix:t+u.angularAxis.ticksSuffix}).style(D);u.angularAxis.rewriteTicks&&Y.text(function(t,e){return e%(u.minorTicks+1)!=0?\\\"\\\":u.angularAxis.rewriteTicks(this.textContent,e)});var X=e.max(P.selectAll(\\\".angular-tick text\\\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));z.attr({transform:\\\"translate(\\\"+[g+X,u.margin.top]+\\\")\\\"});var Z=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g\\\").size()>0,J=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g.geometry\\\").data(c);if(J.enter().append(\\\"g\\\").attr({class:function(t,e){return\\\"geometry geometry\\\"+e}}),J.exit().remove(),c[0]||Z){var K=[];c.forEach(function(t,e){var r={};r.radialScale=n,r.angularScale=i,r.container=J.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=u.orientation,r.direction=u.direction,r.index=e,K.push({data:t,geometryConfig:r})});var Q=[];e.nest().key(function(t,e){return void 0!==t.data.groupId||\\\"unstacked\\\"}).entries(K).forEach(function(t,e){\\\"unstacked\\\"===t.key?Q=Q.concat(t.values.map(function(t,e){return[t]})):Q.push(t.values)}),Q.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 Qm(ty[r].defaultConfig(),t)});ty[r]().config(n)()})}var $,tt,et=t.select(\\\".guides-group\\\"),rt=t.select(\\\".tooltips-group\\\"),nt=ty.tooltipPanel().config({container:rt,fontSize:8})(),it=ty.tooltipPanel().config({container:rt,fontSize:8})(),at=ty.tooltipPanel().config({container:rt,hasTick:!0})();if(!b){var ot=et.select(\\\"line\\\").attr({x1:0,y1:0,y2:0}).style({stroke:\\\"grey\\\",\\\"pointer-events\\\":\\\"none\\\"});P.on(\\\"mousemove.angular-guide\\\",function(t,e){var r=ty.util.getMousePos(U).angle;ot.attr({x2:-g,transform:\\\"rotate(\\\"+r+\\\")\\\"}).style({opacity:.5});var n=(r+180+360-u.orientation)%360;$=i.invert(n);var a=ty.util.convertToCartesian(g+12,r+180);nt.text(ty.util.round($)).move([a[0]+m[0],a[1]+m[1]])}).on(\\\"mouseout.angular-guide\\\",function(t,e){et.select(\\\"line\\\").style({opacity:0})})}var st=et.select(\\\"circle\\\").style({stroke:\\\"grey\\\",fill:\\\"none\\\"});P.on(\\\"mousemove.radial-guide\\\",function(t,e){var r=ty.util.getMousePos(U).radius;st.attr({r:r}).style({opacity:.5}),tt=n.invert(ty.util.getMousePos(U).radius);var i=ty.util.convertToCartesian(r,u.radialAxis.orientation);it.text(ty.util.round(tt)).move([i[0]+m[0],i[1]+m[1]])}).on(\\\"mouseout.radial-guide\\\",function(t,e){st.style({opacity:0}),at.hide(),nt.hide(),it.hide()}),t.selectAll(\\\".geometry-group .mark\\\").on(\\\"mouseover.tooltip\\\",function(r,n){var i=e.select(this),a=this.style.fill,o=\\\"black\\\",s=this.style.opacity||1;if(i.attr({\\\"data-opacity\\\":s}),a&&\\\"none\\\"!==a){i.attr({\\\"data-fill\\\":a}),o=e.hsl(a).darker().toString(),i.style({fill:o,opacity:1});var l={t:ty.util.round(r[0]),r:ty.util.round(r[1])};b&&(l.t=y[r[0]]);var u=\\\"t: \\\"+l.t+\\\", r: \\\"+l.r,c=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),f=[c.left+c.width/2-F[0]-h.left,c.top+c.height/2-F[1]-h.top];at.config({color:o}).text(u),at.move(f)}else a=this.style.stroke||\\\"black\\\",i.attr({\\\"data-stroke\\\":a}),o=e.hsl(a).darker().toString(),i.style({stroke:o,opacity:1})}).on(\\\"mousemove.tooltip\\\",function(t,r){if(0!=e.event.which)return!1;e.select(this).attr(\\\"data-fill\\\")&&at.show()}).on(\\\"mouseout.tooltip\\\",function(t,r){at.hide();var n=e.select(this),i=n.attr(\\\"data-fill\\\");i?n.style({fill:i,opacity:n.attr(\\\"data-opacity\\\")}):n.style({stroke:n.attr(\\\"data-stroke\\\"),opacity:n.attr(\\\"data-opacity\\\")})})})}(o),this},u.config=function(t){if(!arguments.length)return a;var e=ty.util.cloneJson(t);return e.data.forEach(function(t,e){a.data[e]||(a.data[e]={}),Qm(a.data[e],ty.Axis.defaultConfig().data[0]),Qm(a.data[e],t)}),Qm(a.layout,ty.Axis.defaultConfig().layout),Qm(a.layout,e.layout),this},u.getLiveConfig=function(){return s},u.getinputConfig=function(){return o},u.radialScale=function(t){return n},u.angularScale=function(t){return i},u.svg=function(){return t},e.rebind(u,l,\\\"on\\\"),u},ty.Axis.defaultConfig=function(t,r){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:e.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}}},ty.util={},ty.DATAEXTENT=\\\"dataExtent\\\",ty.AREA=\\\"AreaChart\\\",ty.LINE=\\\"LinePlot\\\",ty.DOT=\\\"DotPlot\\\",ty.BAR=\\\"BarChart\\\",ty.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},ty.util._extend=function(t,e){for(var r in t)e[r]=t[r]},ty.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},ty.util.dataFromEquation2=function(t,r){var n=r||6;return e.range(0,360+n,n).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},ty.util.dataFromEquation=function(t,r,n){var i=r||6,a=[],o=[];e.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return n&&(s.name=n),s},ty.util.ensureArray=function(t,r){if(void 0===t)return null;var n=[].concat(t);return e.range(r).map(function(t,e){return n[e]||n[0]})},ty.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=ty.util.ensureArray(t[e],r)}),t},ty.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},ty.util.validateKeys=function(t,e){\\\"string\\\"==typeof e&&(e=e.split(\\\".\\\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},ty.util.sumArrays=function(t,r){return e.zip(t,r).map(function(t,r){return e.sum(t)})},ty.util.arrayLast=function(t){return t[t.length-1]},ty.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},ty.util.flattenArray=function(t){for(var e=[];!ty.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},ty.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},ty.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},ty.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},ty.util.getMousePos=function(t){var r=e.mouse(t.node()),n=r[0],i=r[1],a={};return a.x=n,a.y=i,a.pos=r,a.angle=180*(Math.atan2(i,n)+Math.PI)/Math.PI,a.radius=Math.sqrt(n*n+i*i),a},ty.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},ty.util.duplicates=function(t){return Object.keys(ty.util.duplicatesCount(t))},ty.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&&(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},ty.PolyChart=function(){var t=[ty.PolyChart.defaultConfig()],r=e.dispatch(\\\"hover\\\"),n={solid:\\\"none\\\",dash:[5,2],dot:[2,5]};function i(){var r=t[0].geometryConfig,i=r.container;\\\"string\\\"==typeof i&&(i=e.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,r){return a?e.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):e.zip(t.data.t[0],t.data.r[0])}),s=r.angularScale,l=r.radialScale.domain()[0],u={bar:function(n,i,a){var o=t[a].data,l=r.radialScale(n[1])-r.radialScale(0),u=r.radialScale(n[2]||0),c=o.barWidth;e.select(this).attr({class:\\\"mark bar\\\",d:\\\"M\\\"+[[l+u,-c/2],[l+u,c/2],[u,c/2],[u,-c/2]].join(\\\"L\\\")+\\\"Z\\\",transform:function(t,e){return\\\"rotate(\\\"+(r.orientation+s(t[0]))+\\\")\\\"}})}};u.dot=function(n,i,a){var o=n[2]?[n[0],n[1]+n[2]]:n,s=e.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(n,i);e.select(this).attr({class:\\\"mark dot\\\",d:s,transform:function(t,e){var n,i,a,s=(n=function(t,e){var n=r.radialScale(t[1]),i=(r.angularScale(t[0])+r.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return\\\"translate(\\\"+[s.x,s.y]+\\\")\\\"}})};var c=e.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return r.radialScale(t[1])}).angle(function(t){return r.angularScale(t[0])*Math.PI/180});u.line=function(n,i,a){var s=n[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(e.select(this).each(u.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(n,i,a)}).attr({class:\\\"mark dot\\\"}),!(i>0)){var l=e.select(this.parentNode).selectAll(\\\"path.line\\\").data([0]);l.enter().insert(\\\"path\\\"),l.attr({class:\\\"line\\\",d:c(s),transform:function(t,e){return\\\"rotate(\\\"+(r.orientation+90)+\\\")\\\"},\\\"pointer-events\\\":\\\"none\\\"}).style({fill:function(t,e){return d.fill(n,i,a)},\\\"fill-opacity\\\":0,stroke:function(t,e){return d.stroke(n,i,a)},\\\"stroke-width\\\":function(t,e){return d[\\\"stroke-width\\\"](n,i,a)},\\\"stroke-dasharray\\\":function(t,e){return d[\\\"stroke-dasharray\\\"](n,i,a)},opacity:function(t,e){return d.opacity(n,i,a)},display:function(t,e){return d.display(n,i,a)}})}};var h=r.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=e.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return r.radialScale(l+(t[2]||0))}).outerRadius(function(t){return r.radialScale(l+(t[2]||0))+r.radialScale(t[1])});u.arc=function(t,n,i){e.select(this).attr({class:\\\"mark arc\\\",d:p,transform:function(t,e){return\\\"rotate(\\\"+(r.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,r,i){return n[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===t[n].data.visible||t[n].data.visible?\\\"block\\\":\\\"none\\\"}},g=e.select(this).selectAll(\\\"g.layer\\\").data(o);g.enter().append(\\\"g\\\").attr({class:\\\"layer\\\"});var v=g.selectAll(\\\"path.mark\\\").data(function(t,e){return t});v.enter().append(\\\"path\\\").attr({class:\\\"mark\\\"}),v.style(d).each(u[r.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),Qm(t[r],ty.PolyChart.defaultConfig()),Qm(t[r],e)}),this):t},i.getColorScale=function(){},e.rebind(i,r,\\\"on\\\"),i},ty.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:e.scale.category20()}}},ty.BarChart=function(){return ty.PolyChart()},ty.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"bar\\\"}}},ty.AreaChart=function(){return ty.PolyChart()},ty.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"arc\\\"}}},ty.DotPlot=function(){return ty.PolyChart()},ty.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"dot\\\",dotType:\\\"circle\\\"}}},ty.LinePlot=function(){return ty.PolyChart()},ty.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"line\\\"}}},ty.Legend=function(){var t=ty.Legend.defaultConfig(),r=e.dispatch(\\\"hover\\\");function n(){var r=t.legendConfig,i=t.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=Qm({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),a=e.merge(i);a=a.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&&(a=a.reverse());var o=r.container;(\\\"string\\\"==typeof o||o.nodeName)&&(o=e.select(o));var s=a.map(function(t,e){return t.color}),l=r.fontSize,u=null==r.isContinuous?\\\"number\\\"==typeof a[0]:r.isContinuous,c=u?r.height:l*a.length,h=o.classed(\\\"legend-group\\\",!0).selectAll(\\\"svg\\\").data([0]),f=h.enter().append(\\\"svg\\\").attr({width:300,height:c+l,xmlns:\\\"http://www.w3.org/2000/svg\\\",\\\"xmlns:xlink\\\":\\\"http://www.w3.org/1999/xlink\\\",version:\\\"1.1\\\"});f.append(\\\"g\\\").classed(\\\"legend-axis\\\",!0),f.append(\\\"g\\\").classed(\\\"legend-marks\\\",!0);var p=e.range(a.length),d=e.scale[u?\\\"linear\\\":\\\"ordinal\\\"]().domain(p).range(s),g=e.scale[u?\\\"linear\\\":\\\"ordinal\\\"]().domain(p)[u?\\\"range\\\":\\\"rangePoints\\\"]([0,c]);if(u){var v=h.select(\\\".legend-marks\\\").append(\\\"defs\\\").append(\\\"linearGradient\\\").attr({id:\\\"grad1\\\",x1:\\\"0%\\\",y1:\\\"0%\\\",x2:\\\"0%\\\",y2:\\\"100%\\\"}).selectAll(\\\"stop\\\").data(s);v.enter().append(\\\"stop\\\"),v.attr({offset:function(t,e){return e/(s.length-1)*100+\\\"%\\\"}}).style({\\\"stop-color\\\":function(t,e){return t}}),h.append(\\\"rect\\\").classed(\\\"legend-mark\\\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\\\"url(#grad1)\\\"})}else{var m=h.select(\\\".legend-marks\\\").selectAll(\\\"path.legend-mark\\\").data(a);m.enter().append(\\\"path\\\").classed(\\\"legend-mark\\\",!0),m.attr({transform:function(t,e){return\\\"translate(\\\"+[l/2,g(e)+l/2]+\\\")\\\"},d:function(t,r){var n,i,a,o=t.symbol;return a=3*(i=l),\\\"line\\\"===(n=o)?\\\"M\\\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\\\"Z\\\":-1!=e.svg.symbolTypes.indexOf(n)?e.svg.symbol().type(n).size(a)():e.svg.symbol().type(\\\"square\\\").size(a)()},fill:function(t,e){return d(e)}}),m.exit().remove()}var y=e.svg.axis().scale(g).orient(\\\"right\\\"),x=h.select(\\\"g.legend-axis\\\").attr({transform:\\\"translate(\\\"+[u?r.colorBandWidth:l,l/2]+\\\")\\\"}).call(y);return x.selectAll(\\\".domain\\\").style({fill:\\\"none\\\",stroke:\\\"none\\\"}),x.selectAll(\\\"line\\\").style({fill:\\\"none\\\",stroke:u?r.textColor:\\\"none\\\"}),x.selectAll(\\\"text\\\").style({fill:r.textColor,\\\"font-size\\\":r.fontSize}).text(function(t,e){return a[e].name}),n}return n.config=function(e){return arguments.length?(Qm(t,e),this):t},e.rebind(n,r,\\\"on\\\"),n},ty.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}}},ty.tooltipPanel=function(){var t,r,n,i={container:null,hasTick:!1,fontSize:12,color:\\\"white\\\",padding:5},a=\\\"tooltip-\\\"+ty.tooltipPanel.uid++,o=10,s=function(){var e=(t=i.container.selectAll(\\\"g.\\\"+a).data([0])).enter().append(\\\"g\\\").classed(a,!0).style({\\\"pointer-events\\\":\\\"none\\\",display:\\\"none\\\"});return n=e.append(\\\"path\\\").style({fill:\\\"white\\\",\\\"fill-opacity\\\":.9}).attr({d:\\\"M0 0\\\"}),r=e.append(\\\"text\\\").attr({dx:i.padding+o,dy:.3*+i.fontSize}),s};return s.text=function(a){var l=e.hsl(i.color).l,u=l>=.5?\\\"#aaa\\\":\\\"white\\\",c=l>=.5?\\\"black\\\":\\\"white\\\",h=a||\\\"\\\";r.style({fill:c,\\\"font-size\\\":i.fontSize+\\\"px\\\"}).text(h);var f=i.padding,p=r.node().getBBox(),d={fill:i.color,stroke:u,\\\"stroke-width\\\":\\\"2px\\\"},g=p.width+2*f+o,v=p.height+2*f;return n.attr({d:\\\"M\\\"+[[o,-v/2],[o,-v/4],[i.hasTick?0:o,0],[o,v/4],[o,v/2],[g,v/2],[g,-v/2]].join(\\\"L\\\")+\\\"Z\\\"}).style(d),t.attr({transform:\\\"translate(\\\"+[o,-v/2+2*f]+\\\")\\\"}),t.style({display:\\\"block\\\"}),s},s.move=function(e){if(t)return t.attr({transform:\\\"translate(\\\"+[e[0],e[1]]+\\\")\\\"}).style({display:\\\"block\\\"}),s},s.hide=function(){if(t)return t.style({display:\\\"none\\\"}),s},s.show=function(){if(t)return t.style({display:\\\"block\\\"}),s},s.config=function(t){return Qm(i,t),s},s},ty.tooltipPanel.uid=1,ty.adapter={},ty.adapter.plotly=function(){var t={convert:function(t,r){var n={};if(t.data&&(n.data=t.data.map(function(t,e){var n=Qm({},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,e){ty.util.translator.apply(null,t.concat(r))}),r||delete n.marker,r&&delete n.groupId,r?(\\\"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}),!r&&t.layout&&\\\"stack\\\"===t.layout.barmode)){var i=ty.util.duplicates(n.data.map(function(t,e){return t.geometry}));n.data.forEach(function(t,e){var r=i.indexOf(t.geometry);-1!=r&&(n.data[e].groupId=r)})}if(t.layout){var a=Qm({},t.layout);if([[a,[\\\"plot_bgcolor\\\"],[\\\"backgroundColor\\\"]],[a,[\\\"showlegend\\\"],[\\\"showLegend\\\"]],[a,[\\\"radialaxis\\\"],[\\\"radialAxis\\\"]],[a,[\\\"angularaxis\\\"],[\\\"angularAxis\\\"]],[a.angularaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.angularaxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[a.angularaxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[a.angularaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.angularaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.angularaxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.angularaxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[a.radialaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.radialaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.radialaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.radialaxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.angularAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.angularAxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[a.angularAxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[a.angularAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.angularAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.angularAxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.angularAxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[a.radialAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.radialAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.radialAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.radialAxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.font,[\\\"outlinecolor\\\"],[\\\"outlineColor\\\"]],[a.legend,[\\\"traceorder\\\"],[\\\"reverseOrder\\\"]],[a,[\\\"labeloffset\\\"],[\\\"labelOffset\\\"]],[a,[\\\"defaultcolorrange\\\"],[\\\"defaultColorRange\\\"]]].forEach(function(t,e){ty.util.translator.apply(null,t.concat(r))}),r?(void 0!==a.tickLength&&(a.angularaxis.ticklen=a.tickLength,delete a.tickLength),a.tickColor&&(a.angularaxis.tickcolor=a.tickColor,delete a.tickColor)):(a.angularAxis&&void 0!==a.angularAxis.ticklen&&(a.tickLength=a.angularAxis.ticklen),a.angularAxis&&void 0!==a.angularAxis.tickcolor&&(a.tickColor=a.angularAxis.tickcolor)),a.legend&&\\\"boolean\\\"!=typeof a.legend.reverseOrder&&(a.legend.reverseOrder=\\\"normal\\\"!=a.legend.reverseOrder),a.legend&&\\\"boolean\\\"==typeof a.legend.traceorder&&(a.legend.traceorder=a.legend.traceorder?\\\"reversed\\\":\\\"normal\\\",delete a.legend.reverseOrder),a.margin&&void 0!==a.margin.t){var o=[\\\"t\\\",\\\"r\\\",\\\"b\\\",\\\"l\\\",\\\"pad\\\"],s=[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\",\\\"pad\\\"],l={};e.entries(a.margin).forEach(function(t,e){l[s[o.indexOf(t.key)]]=t.value}),a.margin=l}r&&(delete a.needsEndSpacing,delete a.minorTickColor,delete a.minorTicks,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksStep,delete a.angularaxis.rewriteTicks,delete a.angularaxis.nticks,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksStep,delete a.radialaxis.rewriteTicks,delete a.radialaxis.nticks),n.layout=a}return n}};return t};var ey,ry=ne.extendDeepAll,ny=ey={};ny.framework=function(t){var r,n,i,a,o,s=new function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(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?(i(n,\\\"undo\\\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(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}}};function l(n,s){return s&&(o=s),e.select(e.select(o).node().parentNode).selectAll(\\\".svg-container>*:not(.chart-root)\\\").remove(),r=r?ry(r,n):n,i||(i=Km.Axis()),a=Km.adapter.plotly().convert(r),i.config(a).render(o),t.data=r.data,t.layout=r.layout,ny.fillLayout(t),r}return l.isPolar=!0,l.svg=function(){return i.svg()},l.getConfig=function(){return r},l.getLiveConfig=function(){return Km.adapter.plotly().convert(i.getLiveConfig(),!0)},l.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},l.setUndoPoint=function(){var t,e,i=this,a=Km.util.cloneJson(r);t=a,e=n,s.add({undo:function(){e&&i(e)},redo:function(){i(t)}}),n=Km.util.cloneJson(a)},l.undo=function(){s.undo()},l.redo=function(){s.redo()},l},ny.fillLayout=function(t){var r=e.select(t).selectAll(\\\".plot-container\\\"),n=r.selectAll(\\\".svg-container\\\"),i=t.framework&&t.framework.svg&&t.framework.svg(),a={width:800,height:600,paper_bgcolor:Oe.background,_container:r,_paperdiv:n,_paper:i};t._fullLayout=ry(a,t.layout)};var iy={};(iy=Km).manager=ey;var ay={},oy=Gm.enforce,sy=Gm.clean,ly=Nn,uy=0;function cy(t,e){try{t._fullLayout._paper.style(\\\"background\\\",e)}catch(t){ne.error(t)}}function hy(t,e){cy(t,Oe.combine(e,\\\"white\\\"))}function fy(t,e){t._context||(t._context=ne.extendDeep({},b));var r,n,i,a=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\\\"editable\\\"!==(i=n[r])&&\\\"edits\\\"!==i&&i in a&&(\\\"setBackground\\\"===i&&\\\"opaque\\\"===e[i]?a[i]=hy:a[i]=e[i]);e.plot3dPixelRatio&&!a.plotGlPixelRatio&&(a.plotGlPixelRatio=a.plot3dPixelRatio);var o=e.editable;if(void 0!==o)for(a.editable=o,n=Object.keys(a.edits),r=0;r<n.length;r++)a.edits[n[r]]=o;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in a.edits&&(a.edits[i]=e.edits[i])}a.staticPlot&&(a.editable=!1,a.edits={},a.autosizable=!1,a.scrollZoom=!1,a.doubleClick=!1,a.showTips=!1,a.showLink=!1,a.displayModeBar=!1),\\\"hover\\\"!==a.displayModeBar||Sa||(a.displayModeBar=!0),\\\"transparent\\\"!==a.setBackground&&\\\"function\\\"==typeof a.setBackground||(a.setBackground=cy)}function py(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function dy(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\\\"all values in \\\"+r+\\\" must be integers\\\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\\\" must be valid indices for gd.data.\\\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\\\"each index in \\\"+r+\\\" must be unique.\\\")}}function gy(t,e,r){if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"currentIndices is a required argument.\\\");if(Array.isArray(e)||(e=[e]),dy(t,e,\\\"currentIndices\\\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&dy(t,r,\\\"newIndices\\\"),void 0!==r&&e.length!==r.length)throw new Error(\\\"current and new indices must be of equal length.\\\")}function vy(t,e,n,i,a){!function(t,e,r,n){var i=ne.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array\\\");if(!ne.isPlainObject(e))throw new Error(\\\"update must be a key:value object\\\");if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers\\\");for(var a in dy(t,r,\\\"indices\\\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\\\"attribute \\\"+a+\\\" must be an array of length equal to indices array length\\\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].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,n,i);for(var o=function(t,e,n,i){var a,o,s,l,u,c=ne.isPlainObject(i),h=[];for(var f in Array.isArray(n)||(n=[n]),n=py(n,t.data.length-1),e)for(var p=0;p<n.length;p++){if(a=t.data[n[p]],o=(s=ne.nestedProperty(a,f)).get(),l=e[f][p],!ne.isArrayOrTypedArray(l))throw new Error(\\\"attribute: \\\"+f+\\\" index: \\\"+p+\\\" must be an array\\\");if(!ne.isArrayOrTypedArray(o))throw new Error(\\\"cannot extend missing or non-array attribute: \\\"+f);if(o.constructor!==l.constructor)throw new Error(\\\"cannot extend array with an array of a different type: \\\"+f);u=c?i[f][p]:i,r(u)||(u=-1),h.push({prop:s,target:o,insert:l,maxp:Math.floor(u)})}return h}(t,e,n,i),s={},l={},u=0;u<o.length;u++){var c=o[u].prop,h=o[u].maxp,f=a(o[u].target,o[u].insert,h);c.set(f[0]),Array.isArray(s[c.astr])||(s[c.astr]=[]),s[c.astr].push(f[1]),Array.isArray(l[c.astr])||(l[c.astr]=[]),l[c.astr].push(o[u].target.length)}return{update:s,maxPoints:l}}function my(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function yy(t){return void 0===t?null:t}function xy(t,e,r){var n,i,a=t._fullLayout,o=t._fullData,s=t.data,l=ye.traceFlags(),u={},c={};function h(){return r.map(function(){})}function f(t){var e=ri.id2name(t);-1===i.indexOf(e)&&i.push(e)}function p(t){return\\\"LAYOUT\\\"+t+\\\".autorange\\\"}function d(t){return\\\"LAYOUT\\\"+t+\\\".range\\\"}function g(n,i,a){var o;Array.isArray(n)?n.forEach(function(t){g(t,i,a)}):n in e||Vv.hasParent(e,n)||(o=\\\"LAYOUT\\\"===n.substr(0,6)?ne.nestedProperty(t.layout,n.replace(\\\"LAYOUT\\\",\\\"\\\")):ne.nestedProperty(s[r[a]],n),n in c||(c[n]=h()),void 0===c[n][a]&&(c[n][a]=yy(o.get())),void 0!==i&&o.set(i))}for(var v in e){if(Vv.hasParent(e,v))throw new Error(\\\"cannot set \\\"+v+\\\"and a parent attribute simultaneously\\\");var m,y,x,b,_,w,M=e[v];if(u[v]=M,\\\"LAYOUT\\\"!==v.substr(0,6)){for(c[v]=h(),n=0;n<r.length;n++)if(m=s[r[n]],y=o[r[n]],b=(x=ne.nestedProperty(m,v)).get(),void 0!==(_=Array.isArray(M)?M[n%M.length]:M)){if((w=nn.getTraceValObject(y,x.parts))&&w.impliedEdits&&null!==_)for(var A in w.impliedEdits)g(ne.relativeAttr(v,A),w.impliedEdits[A],n);else if(\\\"colorbar.thicknessmode\\\"===v&&x.get()!==_&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(_)&&y.colorbar){var k=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(y.colorbar.orient)?a.height-a.margin.t-a.margin.b:a.width-a.margin.l-a.margin.r;g(\\\"colorbar.thickness\\\",y.colorbar.thickness*(\\\"fraction\\\"===_?1/k:k),n)}else if(\\\"colorbar.lenmode\\\"===v&&x.get()!==_&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(_)&&y.colorbar){var T=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(y.colorbar.orient)?a.width-a.margin.l-a.margin.r:a.height-a.margin.t-a.margin.b;g(\\\"colorbar.len\\\",y.colorbar.len*(\\\"fraction\\\"===_?1/T:T),n)}else\\\"colorbar.tick0\\\"!==v&&\\\"colorbar.dtick\\\"!==v||g(\\\"colorbar.tickmode\\\",\\\"linear\\\",n);if(\\\"type\\\"===v&&\\\"pie\\\"===_!=(\\\"pie\\\"===b)){var S=\\\"x\\\",E=\\\"y\\\";\\\"bar\\\"!==_&&\\\"bar\\\"!==b||\\\"h\\\"!==m.orientation||(S=\\\"y\\\",E=\\\"x\\\"),ne.swapAttrs(m,[\\\"?\\\",\\\"?src\\\"],\\\"labels\\\",S),ne.swapAttrs(m,[\\\"d?\\\",\\\"?0\\\"],\\\"label\\\",S),ne.swapAttrs(m,[\\\"?\\\",\\\"?src\\\"],\\\"values\\\",E),\\\"pie\\\"===b?(ne.nestedProperty(m,\\\"marker.color\\\").set(ne.nestedProperty(m,\\\"marker.colors\\\").get()),a._pielayer.selectAll(\\\"g.trace\\\").remove()):P.traceIs(m,\\\"cartesian\\\")&&ne.nestedProperty(m,\\\"marker.colors\\\").set(ne.nestedProperty(m,\\\"marker.color\\\").get())}c[v][n]=yy(b);if(-1!==[\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientation\\\",\\\"orientationaxes\\\"].indexOf(v)){if(\\\"orientation\\\"===v){x.set(_);var C=m.x&&!m.y?\\\"h\\\":\\\"v\\\";if((x.get()||C)===y.orientation)continue}else\\\"orientationaxes\\\"===v&&(m.orientation={v:\\\"h\\\",h:\\\"v\\\"}[y.orientation]);Vv.swapXYData(m),l.calc=l.clearAxisTypes=!0}else-1!==_n.dataArrayContainers.indexOf(x.parts[0])?(Vv.manageArrayContainers(x,_,c),l.calc=!0):(w?w.arrayOk&&(ne.isArrayOrTypedArray(_)||ne.isArrayOrTypedArray(b))?l.calc=!0:ye.update(l,w):l.calc=!0,x.set(_))}if(-1!==[\\\"swapxyaxes\\\",\\\"orientationaxes\\\"].indexOf(v)&&ri.swap(t,r),\\\"orientationaxes\\\"===v){var L=ne.nestedProperty(t.layout,\\\"hovermode\\\");\\\"x\\\"===L.get()?L.set(\\\"y\\\"):\\\"y\\\"===L.get()&&L.set(\\\"x\\\")}if(-1!==[\\\"orientation\\\",\\\"type\\\"].indexOf(v)){for(i=[],n=0;n<r.length;n++){var z=s[r[n]];P.traceIs(z,\\\"cartesian\\\")&&(f(z.xaxis||\\\"x\\\"),f(z.yaxis||\\\"y\\\"),\\\"type\\\"===v&&g([\\\"autobinx\\\",\\\"autobiny\\\"],!0,n))}g(i.map(p),!0,0),g(i.map(d),[0,1],0)}}else x=ne.nestedProperty(t.layout,v.replace(\\\"LAYOUT\\\",\\\"\\\")),c[v]=[yy(x.get())],x.set(Array.isArray(M)?M[0]:M),l.calc=!0}var I=!1,D=ri.list(t);for(n=0;n<D.length;n++)if(D[n].autorange){I=!0;break}return(l.calc||l.calcIfAutorange&&I)&&(l.clearCalc=!0),(l.calc||l.plot||l.calcIfAutorange)&&(l.fullReplot=!0),{flags:l,undoit:c,redoit:u,traces:r,eventData:ne.extendDeepNoArrays([],[u,r])}}function by(t,e){var r,n,i,a=t.layout,o=t._fullLayout,s=Object.keys(e),l=ri.list(t),u={};for(n=0;n<s.length;n++)if(0===s[n].indexOf(\\\"allaxes\\\")){for(i=0;i<l.length;i++){var c=l[i]._id.substr(1),h=-1!==c.indexOf(\\\"scene\\\")?c+\\\".\\\":\\\"\\\",f=s[n].replace(\\\"allaxes\\\",h+l[i]._name);e[f]||(e[f]=e[s[n]])}delete e[s[n]]}var p=ye.layoutFlags(),d={},g={};function v(t,r){if(Array.isArray(t))t.forEach(function(t){v(t,r)});else if(!(t in e||Vv.hasParent(e,t))){var n=ne.nestedProperty(a,t);t in g||(g[t]=yy(n.get())),void 0!==r&&n.set(r)}}var m,y={};function x(t){var e=ri.name2id(t.split(\\\".\\\")[0]);return y[e]=1,e}for(var b in e){if(Vv.hasParent(e,b))throw new Error(\\\"cannot set \\\"+b+\\\"and a parent attribute simultaneously\\\");for(var _=ne.nestedProperty(a,b),w=e[b],M=_.parts.length,A=M-1;A>0&&\\\"string\\\"!=typeof _.parts[M-1];)A--;var k=_.parts[A],T=_.parts[A-1]+\\\".\\\"+k,S=_.parts.slice(0,A).join(\\\".\\\"),E=ne.nestedProperty(t.layout,S).get(),C=ne.nestedProperty(o,S).get(),L=_.get();if(void 0!==w){d[b]=w,g[b]=\\\"reverse\\\"===k?w:yy(L);var z=nn.getLayoutValObject(o,_.parts);if(z&&z.impliedEdits&&null!==w)for(var I in z.impliedEdits)v(ne.relativeAttr(b,I),z.impliedEdits[I]);if(-1!==[\\\"width\\\",\\\"height\\\"].indexOf(b)&&null===w)o[b]=t._initialAutoSize[b];else if(T.match(/^[xyz]axis[0-9]*\\\\.range(\\\\[[0|1]\\\\])?$/))x(T),ne.nestedProperty(o,S+\\\"._inputRange\\\").set(null);else if(T.match(/^[xyz]axis[0-9]*\\\\.autorange$/)){x(T),ne.nestedProperty(o,S+\\\"._inputRange\\\").set(null);var D=ne.nestedProperty(o,S).get();D._inputDomain&&(D._input.domain=D._inputDomain.slice())}else T.match(/^[xyz]axis[0-9]*\\\\.domain(\\\\[[0|1]\\\\])?$/)&&ne.nestedProperty(o,S+\\\"._inputDomain\\\").set(null);if(\\\"type\\\"===k){var O=E,R=\\\"linear\\\"===C.type&&\\\"log\\\"===w,F=\\\"log\\\"===C.type&&\\\"linear\\\"===w;if(R||F){if(O&&O.range)if(C.autorange)R&&(O.range=O.range[1]>O.range[0]?[1,2]:[2,1]);else{var B=O.range[0],N=O.range[1];R?(B<=0&&N<=0&&v(S+\\\".autorange\\\",!0),B<=0?B=N/1e6:N<=0&&(N=B/1e6),v(S+\\\".range[0]\\\",Math.log(B)/Math.LN10),v(S+\\\".range[1]\\\",Math.log(N)/Math.LN10)):(v(S+\\\".range[0]\\\",Math.pow(10,B)),v(S+\\\".range[1]\\\",Math.pow(10,N)))}else v(S+\\\".autorange\\\",!0);Array.isArray(o._subplots.polar)&&o._subplots.polar.length&&o[_.parts[0]]&&\\\"radialaxis\\\"===_.parts[1]&&delete o[_.parts[0]]._subplot.viewInitial[\\\"radialaxis.range\\\"],P.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,C,w,v),P.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,C,w,v)}else v(S+\\\".autorange\\\",!0),v(S+\\\".range\\\",null);ne.nestedProperty(o,S+\\\"._inputRange\\\").set(null)}else if(k.match(Te.AX_NAME_PATTERN)){var j=ne.nestedProperty(o,b).get(),V=(w||{}).type;V&&\\\"-\\\"!==V||(V=\\\"linear\\\"),P.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,j,V,v),P.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,j,V,v)}var U=Jv.containerArrayMatch(b);if(U){r=U.array,n=U.index;var q=U.property,H=(ne.nestedProperty(a,r)||[])[n]||{},G=H,W=z||{editType:\\\"calc\\\"},Y=-1!==W.editType.indexOf(\\\"calcIfAutorange\\\");\\\"\\\"===n?(Y?p.calc=!0:ye.update(p,W),Y=!1):\\\"\\\"===q&&(G=w,Jv.isAddVal(w)?g[b]=null:Jv.isRemoveVal(w)?(g[b]=H,G=H):ne.warn(\\\"unrecognized full object value\\\",e)),Y&&(wy(t,G,\\\"x\\\")||wy(t,G,\\\"y\\\"))?p.calc=!0:ye.update(p,W),u[r]||(u[r]={});var X=u[r][n];X||(X=u[r][n]={}),X[q]=w,delete e[b]}else\\\"reverse\\\"===k?(E.range?E.range.reverse():(v(S+\\\".autorange\\\",!0),E.range=[1,0]),C.autorange?p.calc=!0:p.plot=!0):(o._has(\\\"scatter-like\\\")&&o._has(\\\"regl\\\")&&\\\"dragmode\\\"===b&&(\\\"lasso\\\"===w||\\\"select\\\"===w)&&\\\"lasso\\\"!==L&&\\\"select\\\"!==L?p.plot=!0:z?ye.update(p,z):p.calc=!0,_.set(w))}}for(r in u){Jv.applyContainerArrayChanges(t,ne.nestedProperty(a,r),u[r],p)||(p.plot=!0)}var Z=o._axisConstraintGroups||[];for(m in y)for(n=0;n<Z.length;n++){var J=Z[n];if(J[m])for(var K in p.calc=!0,J)y[K]||(ri.getFromId(t,K)._constraintShrinkable=!0)}return(_y(t)||e.height||e.width)&&(p.plot=!0),(p.plot||p.calc)&&(p.layoutReplot=!0),{flags:p,undoit:g,redoit:d,eventData:ne.extendDeep({},d)}}function _y(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&_n.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function wy(t,e,r){if(!ne.isPlainObject(e))return!1;var n=e[r+\\\"ref\\\"]||r,i=ri.getFromId(t,n);return i||n.charAt(0)!==r||(i=ri.getFromId(t,r)),(i||{}).autorange}function My(t,e,r,n){var i,a,o=n.getValObject,s=n.flags,l=n.immutable,u=n.inArray,c=n.arrayIndex,h=n.gd,f=n.autoranged;function p(){var t=i.editType;-1!==t.indexOf(\\\"calcIfAutorange\\\")&&(f||void 0===f&&(wy(h,e,\\\"x\\\")||wy(h,e,\\\"y\\\")))?s.calc=!0:u&&-1!==t.indexOf(\\\"arraydraw\\\")?ne.pushUnique(s.arrays[u],c):ye.update(s,i)}function d(t){return\\\"data_array\\\"===t.valType||t.arrayOk}var g=e._fullInput,v=t._fullInput;for(a in g&&g!==e&&(e=g),v&&v!==t&&(t=v),t){if(s.calc)return;var m=t[a],y=e[a];if(\\\"_\\\"!==a.charAt(0)&&\\\"function\\\"!=typeof m&&m!==y){if(\\\"tick0\\\"===a||\\\"dtick\\\"===a){var x=e.tickmode;if(\\\"auto\\\"===x||\\\"array\\\"===x||!x)continue}if((\\\"range\\\"!==a||!e.autorange)&&(\\\"zmin\\\"!==a&&\\\"zmax\\\"!==a||\\\"contourcarpet\\\"!==e.type)){var b=r.concat(a);if(i=o(b)){var _,w=i.valType,M=d(i),A=Array.isArray(m),k=Array.isArray(y);if(A&&k){var T=\\\"_input_\\\"+a,S=t[T],E=e[T];if(Array.isArray(S)&&S===E)continue}if(void 0===y)M&&A?s.calc=!0:p();else if(i._isLinkedToArray){var C=[],L=!1;u||(s.arrays[a]=C);var z=Math.min(m.length,y.length),P=Math.max(m.length,y.length);if(z!==P){if(\\\"arraydraw\\\"!==i.editType){p();continue}L=!0}for(_=0;_<z;_++)My(m[_],y[_],b.concat(_),ne.extendFlat({inArray:a,arrayIndex:_},n));if(L)for(_=z;_<P;_++)C.push(_)}else!w&&ne.isPlainObject(m)?My(m,y,b,n):M?A&&k?l&&(s.calc=!0):A!==k?s.calc=!0:p():A&&k&&m.length===y.length&&String(m)===String(y)||p()}}}}for(a in e)if(!(a in t||\\\"_\\\"===a.charAt(0)||\\\"function\\\"==typeof e[a])){if(d(i=o(r.concat(a)))&&Array.isArray(e[a]))return void(s.calc=!0);p()}}function Ay(t){var r=e.select(t),n=t._fullLayout;if(n._container=r.selectAll(\\\".plot-container\\\").data([0]),n._container.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container\\\",!0).classed(\\\"plotly\\\",!0),n._paperdiv=n._container.selectAll(\\\".svg-container\\\").data([0]),n._paperdiv.enter().append(\\\"div\\\").classed(\\\"svg-container\\\",!0).style(\\\"position\\\",\\\"relative\\\"),n._glcontainer=n._paperdiv.selectAll(\\\".gl-container\\\").data([{}]),n._glcontainer.enter().append(\\\"div\\\").classed(\\\"gl-container\\\",!0),n._glcanvas=null,n._paperdiv.selectAll(\\\".main-svg\\\").remove(),n._paper=n._paperdiv.insert(\\\"svg\\\",\\\":first-child\\\").classed(\\\"main-svg\\\",!0),n._toppaper=n._paperdiv.append(\\\"svg\\\").classed(\\\"main-svg\\\",!0),!n._uid){var i=[];e.selectAll(\\\"defs\\\").each(function(){this.id&&i.push(this.id.split(\\\"-\\\")[1])}),n._uid=ne.randstr(i)}n._paperdiv.selectAll(\\\".main-svg\\\").attr($e.svgAttrs),n._defs=n._paper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"defs-\\\"+n._uid),n._clips=n._defs.append(\\\"g\\\").classed(\\\"clips\\\",!0),n._topdefs=n._toppaper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"topdefs-\\\"+n._uid),n._topclips=n._topdefs.append(\\\"g\\\").classed(\\\"clips\\\",!0),n._bgLayer=n._paper.append(\\\"g\\\").classed(\\\"bglayer\\\",!0),n._draggers=n._paper.append(\\\"g\\\").classed(\\\"draglayer\\\",!0);var a=n._paper.append(\\\"g\\\").classed(\\\"layer-below\\\",!0);n._imageLowerLayer=a.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),n._shapeLowerLayer=a.append(\\\"g\\\").classed(\\\"shapelayer\\\",!0),n._cartesianlayer=n._paper.append(\\\"g\\\").classed(\\\"cartesianlayer\\\",!0),n._polarlayer=n._paper.append(\\\"g\\\").classed(\\\"polarlayer\\\",!0),n._ternarylayer=n._paper.append(\\\"g\\\").classed(\\\"ternarylayer\\\",!0),n._geolayer=n._paper.append(\\\"g\\\").classed(\\\"geolayer\\\",!0),n._pielayer=n._paper.append(\\\"g\\\").classed(\\\"pielayer\\\",!0),n._glimages=n._paper.append(\\\"g\\\").classed(\\\"glimages\\\",!0);var o=n._toppaper.append(\\\"g\\\").classed(\\\"layer-above\\\",!0);n._imageUpperLayer=o.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),n._shapeUpperLayer=o.append(\\\"g\\\").classed(\\\"shapelayer\\\",!0),n._infolayer=n._toppaper.append(\\\"g\\\").classed(\\\"infolayer\\\",!0),n._menulayer=n._toppaper.append(\\\"g\\\").classed(\\\"menulayer\\\",!0),n._zoomlayer=n._toppaper.append(\\\"g\\\").classed(\\\"zoomlayer\\\",!0),n._hoverlayer=n._toppaper.append(\\\"g\\\").classed(\\\"hoverlayer\\\",!0),t.emit(\\\"plotly_framework\\\")}ay.plot=function(t,r,n,i){var a;if(t=ne.getGraphDiv(t),ja.init(t),ne.isPlainObject(r)){var o=r;r=o.data,n=o.layout,i=o.config,a=o.frames}if(!1===ja.triggerHandler(t,\\\"plotly_beforeplot\\\",[r,n,i]))return Promise.reject();r||n||ne.isPlotDiv(t)||ne.warn(\\\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\\\",t),fy(t,i),n||(n={}),e.select(t).classed(\\\"js-plotly-plot\\\",!0),Sr.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var s=0===(t.data||[]).length&&Array.isArray(r);if(Array.isArray(r)&&(Vv.cleanData(r,t.data),s?t.data=r:t.data.push.apply(t.data,r),t.empty=!1),t.layout&&!s||(t.layout=Vv.cleanLayout(n)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,_n.supplyDefaults(t);var l=t._fullLayout,u=l._has(\\\"cartesian\\\");if(!l._has(\\\"polar\\\")&&r&&r[0]&&r[0].r)return ne.log(\\\"Legacy polar charts are deprecated!\\\"),function(t,r,n){var i=e.select(t).selectAll(\\\".plot-container\\\").data([0]);i.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container plotly\\\",!0);var a=i.selectAll(\\\".svg-container\\\").data([0]);a.enter().append(\\\"div\\\").classed(\\\"svg-container\\\",!0).style(\\\"position\\\",\\\"relative\\\"),a.html(\\\"\\\"),r&&(t.data=r);n&&(t.layout=n);iy.manager.fillLayout(t),a.style({width:t._fullLayout.width+\\\"px\\\",height:t._fullLayout.height+\\\"px\\\"}),t.framework=iy.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var o=t.framework.svg(),s=1,l=t._fullLayout.title;\\\"\\\"!==l&&l||(s=0);var u=function(){this.call(er.convertToTspans,t)},c=o.select(\\\".title-group text\\\").call(u);if(t._context.edits.titleText){var h=ne._(t,\\\"Click to enter Plot title\\\");l&&l!==h||(s=.2,c.attr({\\\"data-unformatted\\\":h}).text(h).style({opacity:s}).on(\\\"mouseover.opacity\\\",function(){e.select(this).transition().duration(100).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){e.select(this).transition().duration(1e3).style(\\\"opacity\\\",0)}));var f=function(){this.call(er.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(f)}).on(\\\"cancel\\\",function(){var t=this.attr(\\\"data-unformatted\\\");this.text(t).call(u)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),_n.addLinks(t),Promise.resolve()}(t,r,n);l._replotting=!0,s&&Ay(t),t.framework!==Ay&&(t.framework=Ay,Ay(t)),Sr.initGradients(t),s&&ri.saveShowSpikeInitial(t);var c=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;c&&_n.doCalcdata(t);for(var h=0;h<t.calcdata.length;h++)t.calcdata[h][0].trace=t._fullData[h];var f=JSON.stringify(l._size);function p(){var e,r,n,i=t.calcdata;for(P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t),e=0;e<i.length;e++)!0===(n=(r=i[e])[0].trace).visible&&n._module.colorbar?n._module.colorbar(t,r):_n.autoMargin(t,\\\"cb\\\"+n.uid);return _n.doAutoMargin(t),_n.previousPromises(t)}function d(){if(!t._transitioning){for(var e=ri.list(t,\\\"\\\",!0),r=0;r<e.length;r++){var n=e[r];sy(t,n),ly(n)}oy(t),s&&ri.saveRangeInitial(t)}}var g=[_n.previousPromises,function(){if(a)return ay.addFrames(t,a)},function(){for(var e=l._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return!l._glcanvas&&l._has(\\\"gl\\\")&&(l._glcanvas=l._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}),l._glcanvas.enter().append(\\\"canvas\\\").attr(\\\"class\\\",function(t){return\\\"gl-canvas gl-canvas-\\\"+t.key.replace(\\\"Layer\\\",\\\"\\\")}).style({position:\\\"absolute\\\",top:0,left:0,width:\\\"100%\\\",height:\\\"100%\\\",overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"})),l._glcanvas&&l._glcanvas.attr(\\\"width\\\",l.width).attr(\\\"height\\\",l.height),ne.syncOrAsync([Vm.layoutStyles],t)},p,function(){if(JSON.stringify(l._size)!==f)return ne.syncOrAsync([p,Vm.layoutStyles],t)}];u&&g.push(function(){if(c){var e,r,n,i=l._subplots.cartesian,a=l._modules,o=[];for(n=0;n<a.length;n++)ne.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r<i.length;r++)for(e=l._plots[i[r]],n=0;n<o.length;n++)o[n](t,e);return P.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),ne.syncOrAsync([P.getComponentMethod(\\\"shapes\\\",\\\"calcAutorange\\\"),P.getComponentMethod(\\\"annotations\\\",\\\"calcAutorange\\\"),d,P.getComponentMethod(\\\"rangeslider\\\",\\\"calcAutorange\\\")],t)}d()}),g.push(Vm.layoutStyles),u&&g.push(function(){return ri.doTicks(t,\\\"redraw\\\")}),g.push(function(){var e,r=t.calcdata,n=l._infolayer.selectAll(\\\"g.rangeslider-container\\\");for(e=0;e<r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!P.traceIs(i,\\\"2dMap\\\")){var s=\\\".hm\\\"+o+\\\",.contour\\\"+o+\\\",#clip\\\"+o;l._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&&i._module.colorbar||l._infolayer.selectAll(\\\".cb\\\"+o).remove()}var u=l._basePlotModules;for(e=0;e<u.length;e++)u[e].plot(t);var c=l._paper.selectAll(\\\".layer-subplot\\\");return l._shapeSubplotLayers=c.selectAll(\\\".shapelayer\\\"),_n.style(t),P.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),_n.addLinks(t),l._replotting=!1,_n.previousPromises(t)},function(){P.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"images\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"rangeslider\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t)},jm,_n.rehover,_n.previousPromises);var v=ne.syncOrAsync(g,t);return v&&v.then||(v=Promise.resolve()),v.then(function(){return t.emit(\\\"plotly_afterplot\\\"),t})},ay.setPlotConfig=function(t){return ne.extendFlat(b,t)},ay.redraw=function(t){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);return Vv.cleanData(t.data,t.data),Vv.cleanLayout(t.layout),t.calcdata=void 0,ay.plot(t).then(function(){return t.emit(\\\"plotly_redraw\\\"),t})},ay.newPlot=function(t,e,r,n){return t=ne.getGraphDiv(t),_n.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),_n.purge(t),ay.plot(t,e,r,n)},ay.extendTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<0){var a=new t.constructor(0),o=my(t,e);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(s)),i.set(t),i.set(e.subarray(0,s),t.length)}else{var l=r-e.length,u=t.length-l;n.set(t.subarray(u)),n.set(e,l),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.prependTraces,s,t,arguments),o},ay.prependTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<=0){var a=new t.constructor(0),o=my(e,t);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(0,s)),i.set(e.subarray(s)),i.set(t,s)}else{var l=r-e.length;n.set(e),n.set(t.subarray(0,l),e.length),i.set(t.subarray(l))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.extendTraces,s,t,arguments),o},ay.addTraces=function t(e,r,n){e=ne.getGraphDiv(e);var i,a,o=[],s=ay.deleteTraces,l=t,u=[e,o],c=[e,r];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"traces must be defined.\\\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\\\"object\\\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\\\"all values in traces array must be non-array objects\\\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\\\"if indices is specified, traces.length must equal indices.length\\\")}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return ne.extendFlat({},t)}),Vv.cleanData(r,e.data),i=0;i<r.length;i++)e.data.push(r[i]);for(i=0;i<r.length;i++)o.push(-r.length+i);if(void 0===n)return a=ay.redraw(e),Nv.add(e,s,u,l,c),a;Array.isArray(n)||(n=[n]);try{gy(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return Nv.startSequence(e),Nv.add(e,s,u,l,c),a=ay.moveTraces(e,o,n),Nv.stopSequence(e),a},ay.deleteTraces=function t(e,r){e=ne.getGraphDiv(e);var n,i,a=[],o=ay.addTraces,s=t,l=[e,a,r],u=[e,r];if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers.\\\");for(Array.isArray(r)||(r=[r]),dy(e,r,\\\"indices\\\"),(r=py(r,e.data.length-1)).sort(ne.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var c=ay.redraw(e);return Nv.add(e,o,l,s,u),c},ay.moveTraces=function t(e,r,n){var i,a=[],o=[],s=t,l=t,u=[e=ne.getGraphDiv(e),n,r],c=[e,r,n];if(gy(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i<r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=py(r,e.data.length-1),n=py(n,e.data.length-1),i=0;i<e.data.length;i++)-1===r.indexOf(i)&&a.push(e.data[i]);for(i=0;i<r.length;i++)o.push({newIndex:n[i],trace:e.data[r[i]]});for(o.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<o.length;i+=1)a.splice(o[i].newIndex,0,o[i].trace);e.data=a;var h=ay.redraw(e);return Nv.add(e,s,u,l,c),h},ay.restyle=function t(e,r,n,i){e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e);var a={};if(\\\"string\\\"==typeof r)a[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\\\"Restyle fail.\\\",r,n,i),Promise.reject();a=ne.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=Vv.coerceTraceIndices(e,i),s=xy(e,a,o),l=s.flags;l.clearCalc&&(e.calcdata=void 0),l.clearAxisTypes&&Vv.clearAxisTypes(e,o,{});var u=[];l.fullReplot?u.push(ay.plot):(u.push(_n.previousPromises),_n.supplyDefaults(e),l.style&&u.push(Vm.doTraceStyle),l.colorbars&&u.push(Vm.doColorBars)),u.push(_n.rehover),Nv.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var c=ne.syncOrAsync(u,e);return c&&c.then||(c=Promise.resolve()),c.then(function(){return e.emit(\\\"plotly_restyle\\\",s.eventData),e})},ay.relayout=function t(e,r,n){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\\\"string\\\"==typeof r)i[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\\\"Relayout fail.\\\",r,n),Promise.reject();i=ne.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=by(e,i),o=a.flags;o.calc&&(e.calcdata=void 0),o.margins&&Vv.clearAxisAutomargins(e);var s=[_n.previousPromises];o.layoutReplot?s.push(Vm.layoutReplot):Object.keys(i).length&&(_n.supplyDefaults(e),o.legend&&s.push(Vm.doLegend),o.layoutstyle&&s.push(Vm.layoutStyles),o.ticks&&s.push(Vm.doTicksRelayout),o.modebar&&s.push(Vm.doModeBar),o.camera&&s.push(Vm.doCamera)),s.push(_n.rehover),Nv.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=ne.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\\\"plotly_relayout\\\",a.eventData),e})},ay.update=function t(e,r,n,i){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);ne.isPlainObject(r)||(r={}),ne.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=Vv.coerceTraceIndices(e,i),o=xy(e,ne.extendFlat({},r),a),s=o.flags,l=by(e,ne.extendFlat({},n)),u=l.flags;(s.clearCalc||u.calc)&&(e.calcdata=void 0),s.clearAxisTypes&&Vv.clearAxisTypes(e,a,n),u.margins&&Vv.clearAxisAutomargins(e);var c=[];if(s.fullReplot&&u.layoutReplot){var h=e.data,f=e.layout;e.data=void 0,e.layout=void 0,c.push(function(){return ay.plot(e,h,f)})}else s.fullReplot?c.push(ay.plot):u.layoutReplot?c.push(Vm.layoutReplot):(c.push(_n.previousPromises),_n.supplyDefaults(e),s.style&&c.push(Vm.doTraceStyle),s.colorbars&&c.push(Vm.doColorBars),u.legend&&c.push(Vm.doLegend),u.layoutstyle&&c.push(Vm.layoutStyles),u.ticks&&c.push(Vm.doTicksRelayout),u.modebar&&c.push(Vm.doModeBar),u.camera&&c.push(Vm.doCamera));c.push(_n.rehover),Nv.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var p=ne.syncOrAsync(c,e);return p&&p.then||(p=Promise.resolve(e)),p.then(function(){return e.emit(\\\"plotly_update\\\",{data:o.eventData,layout:l.eventData}),e})},ay.react=function(t,e,r,n){var i,a;var o=(t=ne.getGraphDiv(t))._fullData,s=t._fullLayout;if(ne.isPlotDiv(t)&&o&&s){if(ne.isPlainObject(e)){var l=e;e=l.data,r=l.layout,n=l.config,i=l.frames}var u=!1;if(n){var c=ne.extendDeep({},t._context);t._context=void 0,fy(t,n),u=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(ne.isPlainObject(i)&&ne.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var o=0;o<i.length;o++)if(i[o]!==a[o]){if(!ne.isPlainObject(i[o])||!ne.isPlainObject(a[o]))return!0;if(t(i[o],a[o]))return!0}}}}(c,t._context)}t.data=e||[],Vv.cleanData(t.data,[]),t.layout=r||{},Vv.cleanLayout(t.layout),_n.supplyDefaults(t);var h=t._fullData,f=t._fullLayout,p=void 0===f.datarevision,d=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,clearCalc:!0};var i,a,o=ye.traceFlags();o.arrays={};var s={getValObject:function(t){return nn.getTraceValObject(a,t)},flags:o,immutable:n,gd:t};for(i=0;i<e.length;i++)a=r[i],s.autoranged=!!a.xaxis&&(ri.getFromId(t,a.xaxis).autorange||ri.getFromId(t,a.yaxis).autorange),My(e[i],a,[],s);(o.calc||o.plot||o.calcIfAutorange)&&(o.fullReplot=!0);return o}(t,o,h,p),g=function(t,e,r,n){var i=ye.layoutFlags();i.arrays={},My(e,r,[],{getValObject:function(t){return nn.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,s,f,p);_y(t)&&(g.layoutReplot=!0),(d.calc||g.calc)&&(t.calcdata=void 0),g.margins&&Vv.clearAxisAutomargins(t);var v=[];if(i&&(t._transitionData={},_n.createTransitionData(t),v.push(function(){return ay.addFrames(t,i)})),d.fullReplot||g.layoutReplot||u)t._fullLayout._skipDefaults=!0,v.push(ay.plot);else{for(var m in g.arrays){var y=g.arrays[m];if(y.length){var x=P.getComponentMethod(m,\\\"drawOne\\\");if(x!==ne.noop)for(var b=0;b<y.length;b++)x(t,y[b]);else{var _=P.getComponentMethod(m,\\\"draw\\\");if(_===ne.noop)throw new Error(\\\"cannot draw components: \\\"+m);_(t)}}}v.push(_n.previousPromises),d.style&&v.push(Vm.doTraceStyle),d.colorbars&&v.push(Vm.doColorBars),g.legend&&v.push(Vm.doLegend),g.layoutstyle&&v.push(Vm.layoutStyles),g.ticks&&v.push(Vm.doTicksRelayout),g.modebar&&v.push(Vm.doModeBar),g.camera&&v.push(Vm.doCamera)}v.push(_n.rehover),(a=ne.syncOrAsync(v,t))&&a.then||(a=Promise.resolve(t))}else a=ay.newPlot(t,e,r,n);return a.then(function(){return t.emit(\\\"plotly_react\\\",{data:e,layout:r}),t})},ay.animate=function(t,e,r){if(t=ne.getGraphDiv(t),!ne.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://plot.ly/javascript/animations/\\\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=_n.supplyAnimationDefaults(r)).transition,a=r.frame;function o(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function c(){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,_n.transition(t,e.frame.data,e.frame.layout,Vv.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 h(){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&&c()};e()}var f,p,d=0;function g(t){return Array.isArray(i)?d>=i.length?t.transitionOpts=i[d]:t.transitionOpts=i[0]:t.transitionOpts=i,d++,t}var v=[],m=void 0===e||null===e,y=Array.isArray(e);if(!m&&!y&&ne.isPlainObject(e))v.push({type:\\\"object\\\",data:g(ne.extendFlat({},e))});else if(m||-1!==[\\\"string\\\",\\\"number\\\"].indexOf(typeof e))for(f=0;f<n._frames.length;f++)(p=n._frames[f])&&(m||String(p.group)===String(e))&&v.push({type:\\\"byname\\\",name:String(p.name),data:g({name:p.name})});else if(y)for(f=0;f<e.length;f++){var x=e[f];-1!==[\\\"number\\\",\\\"string\\\"].indexOf(typeof x)?(x=String(x),v.push({type:\\\"byname\\\",name:x,data:g({name:x})})):ne.isPlainObject(x)&&v.push({type:\\\"object\\\",data:g(ne.extendFlat({},x))})}for(f=0;f<v.length;f++)if(\\\"byname\\\"===(p=v[f]).type&&!n._frameHash[p.data.name])return ne.warn('animate failure: frame not found: \\\"'+p.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&&v.reverse();var b=t._fullLayout._currentFrame;if(b&&r.fromcurrent){var _=-1;for(f=0;f<v.length;f++)if(\\\"byname\\\"===(p=v[f]).type&&p.name===b){_=f;break}if(_>0&&_<v.length-1){var w=[];for(f=0;f<v.length;f++)p=v[f],(\\\"byname\\\"!==v[f].type||f>_)&&w.push(p);v=w}}v.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var c;c=\\\"byname\\\"===e[i].type?_n.computeFrame(t,e[i].name):e[i].data;var f=s(i),p=o(i);p.duration=Math.min(p.duration,f.duration);var d={frame:c,name:e[i].name,frameOpts:f,transitionOpts:p};i===e.length-1&&(d.onComplete=l(a,2),d.onInterrupt=u),n._frameQueue.push(d)}\\\"immediate\\\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||h()}}(v):(t.emit(\\\"plotly_animated\\\"),a())})},ay.addFrames=function(t,e,r){if(t=ne.getGraphDiv(t),null===e||void 0===e)return Promise.resolve();if(!ne.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://plot.ly/javascript/animations/\\\");var n,i,a,o,s=t._transitionData._frames,l=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\\\"addFrames failure: frameList must be an Array of frame definitions\\\"+e);var u=s.length+2*e.length,c=[],h={};for(n=e.length-1;n>=0;n--)if(ne.isPlainObject(e[n])){var f=e[n].name,p=(l[f]||h[f]||{}).name,d=e[n].name,g=l[p]||h[p];p&&d&&\\\"number\\\"==typeof d&&g&&uy<5&&(uy++,ne.warn('addFrames: overwriting frame \\\"'+(l[p]||h[p]).name+'\\\" with a frame whose name of type \\\"number\\\" also equates to \\\"'+p+'\\\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===uy&&ne.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.\\\")),h[f]={name:f},c.push({frame:_n.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:u+n})}c.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var v=[],m=[],y=s.length;for(n=c.length-1;n>=0;n--){if(\\\"number\\\"==typeof(i=c[n].frame).name&&ne.warn(\\\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\\\"),!i.name)for(;l[i.name=\\\"frame \\\"+t._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);v.push({type:\\\"replace\\\",index:a,value:i}),m.unshift({type:\\\"replace\\\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,y)),v.push({type:\\\"insert\\\",index:o,value:i}),m.unshift({type:\\\"delete\\\",index:o}),y++}var x=_n.modifyFrames,b=_n.modifyFrames,_=[t,m],w=[t,v];return Nv&&Nv.add(t,x,_,b,w),_n.modifyFrames(t,v)},ay.deleteFrames=function(t,e){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\\\"delete\\\",index:n}),o.unshift({type:\\\"insert\\\",index:n,value:i[n]});var s=_n.modifyFrames,l=_n.modifyFrames,u=[t,o],c=[t,a];return Nv&&Nv.add(t,s,u,l,c),_n.modifyFrames(t,a)},ay.purge=function(t){var e=(t=ne.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return _n.cleanPlot([],{},r,e),_n.purge(t),ja.purge(t),e._container&&e._container.remove(),delete t._context,t};var ky={getDelay:function(t){return t._has&&(t._has(\\\"gl3d\\\")||t._has(\\\"gl2d\\\")||t._has(\\\"mapbox\\\"))?500:0},getRedrawFunc:function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\\\"polar\\\"))&&t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},Ty=Da.EventEmitter;var Sy=function(t){var e=t.emitter||new Ty,r=new Promise(function(n,i){var a=window.Image,o=t.svg,s=t.format||\\\"png\\\";if(ne.isIE()&&\\\"svg\\\"!==s){var l=new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\");return i(l),t.promise?r:e.emit(\\\"error\\\",l)}var u=t.canvas,c=t.scale||1,h=c*(t.width||300),f=c*(t.height||150),p=u.getContext(\\\"2d\\\"),d=new a,g=\\\"data:image/svg+xml,\\\"+encodeURIComponent(o);u.width=h,u.height=f,d.onload=function(){var r;switch(\\\"svg\\\"!==s&&p.drawImage(d,0,0,h,f),s){case\\\"jpeg\\\":r=u.toDataURL(\\\"image/jpeg\\\");break;case\\\"png\\\":r=u.toDataURL(\\\"image/png\\\");break;case\\\"webp\\\":r=u.toDataURL(\\\"image/webp\\\");break;case\\\"svg\\\":r=g;break;default:var a=\\\"Image format is not jpeg, png, svg or webp.\\\";if(i(new Error(a)),!t.promise)return e.emit(\\\"error\\\",a)}n(r),t.promise||e.emit(\\\"success\\\",r)},d.onerror=function(r){if(i(r),!t.promise)return e.emit(\\\"error\\\",r)},d.src=g});return t.promise?r:e},Ey=/\\\"/g,Cy=new RegExp('(\\\"TOBESTRIPPED)|(TOBESTRIPPED\\\")',\\\"g\\\");var Ly=function(t,r,n){var i,a=t._fullLayout,o=a._paper,s=a._toppaper,l=a.width,u=a.height;o.insert(\\\"rect\\\",\\\":first-child\\\").call(Sr.setRect,0,0,l,u).call(Oe.fill,a.paper_bgcolor);var c=a._basePlotModules||[];for(i=0;i<c.length;i++){var h=c[i];h.toSVG&&h.toSVG(t)}if(s){var f=s.node().childNodes,p=Array.prototype.slice.call(f);for(i=0;i<p.length;i++){var d=p[i];d.childNodes.length&&o.node().appendChild(d)}}a._draggers&&a._draggers.remove(),o.node().style.background=\\\"\\\",o.selectAll(\\\"text\\\").attr({\\\"data-unformatted\\\":null,\\\"data-math\\\":null}).each(function(){var t=e.select(this);if(\\\"hidden\\\"!==this.style.visibility&&\\\"none\\\"!==this.style.display){t.style({visibility:null,display:null});var r=this.style.fontFamily;r&&-1!==r.indexOf('\\\"')&&t.style(\\\"font-family\\\",r.replace(Ey,\\\"TOBESTRIPPED\\\"))}else t.remove()}),o.selectAll(\\\".point,.scatterpts\\\").each(function(){var t=e.select(this),r=this.style.fill;r&&-1!==r.indexOf(\\\"url(\\\")&&t.style(\\\"fill\\\",r.replace(Ey,\\\"TOBESTRIPPED\\\"))}),\\\"pdf\\\"!==r&&\\\"eps\\\"!==r||o.selectAll(\\\"#MathJax_SVG_glyphs path\\\").attr(\\\"stroke-width\\\",0),o.node().setAttributeNS($e.xmlns,\\\"xmlns\\\",$e.svg),o.node().setAttributeNS($e.xmlns,\\\"xmlns:xlink\\\",$e.xlink),\\\"svg\\\"===r&&n&&(o.attr(\\\"width\\\",n*l),o.attr(\\\"height\\\",n*u),o.attr(\\\"viewBox\\\",\\\"0 0 \\\"+l+\\\" \\\"+u));var g=(new window.XMLSerializer).serializeToString(o.node());return g=function(t){var r=e.select(\\\"body\\\").append(\\\"div\\\").style({display:\\\"none\\\"}).html(\\\"\\\"),n=t.replace(/(&[^;]*;)/gi,function(t){return\\\"&lt;\\\"===t?\\\"&#60;\\\":\\\"&rt;\\\"===t?\\\"&#62;\\\":-1!==t.indexOf(\\\"<\\\")||-1!==t.indexOf(\\\">\\\")?\\\"\\\":r.html(t).text()});return r.remove(),n}(g),g=(g=g.replace(/&(?!\\\\w+;|\\\\#[0-9]+;| \\\\#x[0-9A-F]+;)/g,\\\"&amp;\\\")).replace(Cy,\\\"'\\\"),ne.isIE()&&(g=(g=(g=g.replace(/\\\"/gi,\\\"'\\\")).replace(/(\\\\('#)([^']*)('\\\\))/gi,'(\\\"#$2\\\")')).replace(/(\\\\\\\\')/gi,'\\\"')),g},zy={format:{valType:\\\"enumerated\\\",values:[\\\"png\\\",\\\"jpeg\\\",\\\"webp\\\",\\\"svg\\\"],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}},Py=/^data:image\\\\/\\\\w+;base64,/;var Iy=function(t,e){var r,n,i;function a(t){return!(t in e)||ne.validate(e[t],zy[t])}if(e=e||{},ne.isPlainObject(t)?(r=t.data||[],n=t.layout||{},i=t.config||{}):(t=ne.getGraphDiv(t),r=ne.extendDeep([],t.data),n=ne.extendDeep({},t.layout),i=t._context),!a(\\\"width\\\")||!a(\\\"height\\\"))throw new Error(\\\"Height and width should be pixel values.\\\");if(!a(\\\"format\\\"))throw new Error(\\\"Image format is not jpeg, png, svg or webp.\\\");var o={};function s(t,r){return ne.coerce(e,o,zy,t,r)}var l=s(\\\"format\\\"),u=s(\\\"width\\\"),c=s(\\\"height\\\"),h=s(\\\"scale\\\"),f=s(\\\"setBackground\\\"),p=s(\\\"imageDataOnly\\\"),d=document.createElement(\\\"div\\\");d.style.position=\\\"absolute\\\",d.style.left=\\\"-5000px\\\",document.body.appendChild(d);var g=ne.extendFlat({},n);u&&(g.width=u),c&&(g.height=c);var v=ne.extendFlat({},i,{staticPlot:!0,setBackground:f}),m=ky.getRedrawFunc(d);function y(){return new Promise(function(t){setTimeout(t,ky.getDelay(d._fullLayout))})}function x(){return new Promise(function(t,e){var r=Ly(d,l,h),n=d._fullLayout.width,i=d._fullLayout.height;if(ay.purge(d),document.body.removeChild(d),\\\"svg\\\"===l)return t(p?r:\\\"data:image/svg+xml,\\\"+encodeURIComponent(r));var a=document.createElement(\\\"canvas\\\");a.id=ne.randstr(),Sy({format:l,width:n,height:i,scale:h,canvas:a,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){ay.plot(d,r,g,v).then(m).then(y).then(x).then(function(e){t(function(t){return p?t.replace(Py,\\\"\\\"):t}(e))}).catch(function(t){e(t)})})},Dy=ne.isPlainObject,Oy=Array.isArray,Ry=ne.isArrayOrTypedArray;function Fy(t,e,r,n,i,a){a=a||[];for(var o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];if(\\\"transforms\\\"!==l){var u=a.slice();u.push(l);var c=t[l],h=e[l],f=Uy(r,l),p=\\\"info_array\\\"===(f||{}).valType,d=\\\"colorscale\\\"===(f||{}).valType,g=(f||{}).items;if(Vy(r,l))if(Dy(c)&&Dy(h))Fy(c,h,f,n,i,u);else if(p&&Oy(c)){c.length>h.length&&n.push(jy(\\\"unused\\\",i,u.concat(h.length)));var v,m,y,x,b,_=h.length,w=Array.isArray(g);if(w&&(_=Math.min(_,g.length)),2===f.dimensions)for(m=0;m<_;m++)if(Oy(c[m])){c[m].length>h[m].length&&n.push(jy(\\\"unused\\\",i,u.concat(m,h[m].length)));var M=h[m].length;for(v=0;v<(w?Math.min(M,g[m].length):M);v++)y=w?g[m][v]:g,x=c[m][v],b=h[m][v],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\\\"dynamic\\\",i,u.concat(m,v),x,b)):n.push(jy(\\\"value\\\",i,u.concat(m,v),x))}else n.push(jy(\\\"array\\\",i,u.concat(m),c[m]));else for(m=0;m<_;m++)y=w?g[m]:g,x=c[m],b=h[m],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\\\"dynamic\\\",i,u.concat(m),x,b)):n.push(jy(\\\"value\\\",i,u.concat(m),x))}else if(f.items&&!p&&Oy(c)){var A,k,T=g[Object.keys(g)[0]],S=[];for(A=0;A<h.length;A++){var E=h[A]._index||A;(k=u.slice()).push(E),Dy(c[E])&&Dy(h[A])&&(S.push(E),Fy(c[E],h[A],T,n,i,k))}for(A=0;A<c.length;A++)(k=u.slice()).push(A),Dy(c[A])?-1===S.indexOf(A)&&n.push(jy(\\\"unused\\\",i,k)):n.push(jy(\\\"object\\\",i,k,c[A]))}else!Dy(c)&&Dy(h)?n.push(jy(\\\"object\\\",i,u,c)):Ry(c)||!Ry(h)||p||d?l in e?ne.validate(c,f)?\\\"enumerated\\\"===f.valType&&(f.coerceNumber&&c!==+h||c!==h)&&n.push(jy(\\\"dynamic\\\",i,u,c,h)):n.push(jy(\\\"value\\\",i,u,c)):n.push(jy(\\\"unused\\\",i,u,c)):n.push(jy(\\\"array\\\",i,u,c));else n.push(jy(\\\"schema\\\",i,u))}}return n}var By={object:function(t,e){return(\\\"layout\\\"===t&&\\\"\\\"===e?\\\"The layout argument\\\":\\\"data\\\"===t[0]&&\\\"\\\"===e?\\\"Trace \\\"+t[1]+\\\" in the data argument\\\":Ny(t)+\\\"key \\\"+e)+\\\" must be linked to an object container\\\"},array:function(t,e){return(\\\"data\\\"===t?\\\"The data argument\\\":Ny(t)+\\\"key \\\"+e)+\\\" must be linked to an array container\\\"},schema:function(t,e){return Ny(t)+\\\"key \\\"+e+\\\" is not part of the schema\\\"},unused:function(t,e,r){var n=Dy(r)?\\\"container\\\":\\\"key\\\";return Ny(t)+n+\\\" \\\"+e+\\\" did not get coerced\\\"},dynamic:function(t,e,r,n){return[Ny(t)+\\\"key\\\",e,\\\"(set to '\\\"+r+\\\"')\\\",\\\"got reset to\\\",\\\"'\\\"+n+\\\"'\\\",\\\"during defaults.\\\"].join(\\\" \\\")},invisible:function(t){return\\\"Trace \\\"+t[1]+\\\" got defaulted to be not visible\\\"},value:function(t,e,r){return[Ny(t)+\\\"key \\\"+e,\\\"is set to an invalid value (\\\"+r+\\\")\\\"].join(\\\" \\\")}};function Ny(t){return Oy(t)?\\\"In data trace \\\"+t[1]+\\\", \\\":\\\"In \\\"+t+\\\", \\\"}function jy(t,e,r,n,i){var a,o;r=r||\\\"\\\",Oy(e)?(a=e[0],o=e[1]):(a=e,o=null);var s=function(t){if(!Oy(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),l=By[t](e,s,n,i);return ne.log(l),{code:t,container:a,trace:o,path:r,astr:s,msg:l}}function Vy(t,e){var r=Hy(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function Uy(t,e){return t[Hy(e).keyMinusId]}var qy=ne.counterRegex(\\\"([a-z]+)\\\");function Hy(t){var e=t.match(qy);return{keyMinusId:e&&e[1],id:e&&e[2]}}var Gy=function(t,e){var r=document.createElement(\\\"a\\\"),n=\\\"download\\\"in r,i=/Version\\\\/[\\\\d\\\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(\\\"undefined\\\"!=typeof navigator&&/MSIE [1-9]\\\\./.test(navigator.userAgent)&&o(new Error(\\\"IE < 10 unsupported\\\")),i&&(document.location.href=\\\"data:application/octet-stream\\\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\\\"download\\\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\\\"undefined\\\"!=typeof navigator&&navigator.msSaveBlob){var s=t.split(/^data:image\\\\/svg\\\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\\\"download error\\\"))})};var Wy=function(t,e){return(e=e||{}).format=e.format||\\\"png\\\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\\\"Snapshotting already in progress.\\\")),ne.isIE()&&\\\"svg\\\"!==e.format&&n(new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\")),t._snapshotInProgress=!0;var i=Iy(t,e),a=e.filename||t.fn||\\\"newplot\\\";a+=\\\".\\\"+e.format,i.then(function(e){return t._snapshotInProgress=!1,Gy(e,a)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})},Yy={};Yy.plot=ay.plot,Yy.newPlot=ay.newPlot,Yy.restyle=ay.restyle,Yy.relayout=ay.relayout,Yy.redraw=ay.redraw,Yy.update=ay.update,Yy.react=ay.react,Yy.extendTraces=ay.extendTraces,Yy.prependTraces=ay.prependTraces,Yy.addTraces=ay.addTraces,Yy.deleteTraces=ay.deleteTraces,Yy.moveTraces=ay.moveTraces,Yy.purge=ay.purge,Yy.addFrames=ay.addFrames,Yy.deleteFrames=ay.deleteFrames,Yy.animate=ay.animate,Yy.setPlotConfig=ay.setPlotConfig,Yy.toImage=Iy,Yy.validate=function(t,e){var r,n,i=nn.get(),a=[],o={_context:ne.extendFlat({},b)};Oy(t)?(o.data=ne.extendDeep([],t),r=t):(o.data=[],r=[],a.push(jy(\\\"array\\\",\\\"data\\\"))),Dy(e)?(o.layout=ne.extendDeep({},e),n=e):(o.layout={},n={},arguments.length>1&&a.push(jy(\\\"object\\\",\\\"layout\\\"))),_n.supplyDefaults(o);for(var s=o._fullData,l=r.length,u=0;u<l;u++){var c=r[u],h=[\\\"data\\\",u];if(Dy(c)){var f=s[u],p=f.type,d=i.traces[p].attributes;d.type={valType:\\\"enumerated\\\",values:[p]},!1===f.visible&&!1!==c.visible&&a.push(jy(\\\"invisible\\\",h)),Fy(c,f,d,a,h);var g=c.transforms,v=f.transforms;if(g){Oy(g)||a.push(jy(\\\"array\\\",h,[\\\"transforms\\\"])),h.push(\\\"transforms\\\");for(var m=0;m<g.length;m++){var y=[\\\"transforms\\\",m],x=g[m].type;if(Dy(g[m])){var _=i.transforms[x]?i.transforms[x].attributes:{};_.type={valType:\\\"enumerated\\\",values:Object.keys(i.transforms)},Fy(g[m],v[m],_,a,h,y)}else a.push(jy(\\\"object\\\",h,y))}}}else a.push(jy(\\\"object\\\",h))}return Fy(n,o._fullLayout,function(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&ne.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(i,s),a,\\\"layout\\\"),0===a.length?void 0:a},Yy.downloadImage=Wy;var Xy=ne.extendFlat,Zy=ne.extendDeep;function Jy(t){var e;switch(t){case\\\"themes__thumb\\\":e={autosize:!0,width:150,height:150,title:\\\"\\\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\\\"thumbnail\\\":e={title:\\\"\\\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\\\"\\\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}var Ky=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var n,i=t.data,a=t.layout,o=Zy([],i),s=Zy({},a,Jy(e.tileClass)),l=t._context||{};if(e.width&&(s.width=e.width),e.height&&(s.height=e.height),\\\"thumbnail\\\"===e.tileClass||\\\"themes__thumb\\\"===e.tileClass){s.annotations=[];var u=Object.keys(s);for(r=0;r<u.length;r++)n=u[r],[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"].indexOf(n.slice(0,5))>-1&&(s[u[r]].title=\\\"\\\");for(r=0;r<o.length;r++){var c=o[r];c.showscale=!1,c.marker&&(c.marker.showscale=!1),\\\"pie\\\"===c.type&&(c.textposition=\\\"none\\\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)s.annotations.push(e.annotations[r]);var h=Object.keys(s).filter(function(t){return t.match(/^scene\\\\d*$/)});if(h.length){var f={};for(\\\"thumbnail\\\"===e.tileClass&&(f={title:\\\"\\\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<h.length;r++){var p=s[h[r]];p.xaxis||(p.xaxis={}),p.yaxis||(p.yaxis={}),p.zaxis||(p.zaxis={}),Xy(p.xaxis,f),Xy(p.yaxis,f),Xy(p.zaxis,f),p._scene=null}}var d=document.createElement(\\\"div\\\");e.tileClass&&(d.className=e.tileClass);var g={gd:d,td:d,layout:s,data:o,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:l.mapboxAccessToken}};return\\\"transparent\\\"!==e.setBackground&&(g.config.setBackground=e.setBackground||\\\"opaque\\\"),g.gd.defaultLayout=Jy(e.tileClass),g},Qy=Da.EventEmitter;var $y=function(t,e){var r=new Qy,n=Ky(t,{format:\\\"png\\\"}),i=n.gd;i.style.position=\\\"absolute\\\",i.style.left=\\\"-5000px\\\",document.body.appendChild(i);var a=ky.getRedrawFunc(i);return P.call(\\\"plot\\\",i,n.data,n.layout,n.config).then(a).then(function(){var t=ky.getDelay(i._fullLayout);setTimeout(function(){var t=Ly(i),n=document.createElement(\\\"canvas\\\");n.id=ne.randstr(),(r=Sy({format:e.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){i&&document.body.removeChild(i)}},t)}).catch(function(t){r.emit(\\\"error\\\",t)}),r},tx={getDelay:ky.getDelay,getRedrawFunc:ky.getRedrawFunc,clone:Ky,toSVG:Ly,svgToImg:Sy,toImage:$y,downloadImage:Wy},ex=function(t){Tr.hasLines(t)&&Xe(t,\\\"line\\\")&&Ve(t,t.line.color,\\\"line\\\",\\\"c\\\"),Tr.hasMarkers(t)&&(Xe(t,\\\"marker\\\")&&Ve(t,t.marker.color,\\\"marker\\\",\\\"c\\\"),Xe(t,\\\"marker.line\\\")&&Ve(t,t.marker.line.color,\\\"marker.line\\\",\\\"c\\\"))},rx=ne.isArrayOrTypedArray,nx=t.BADNUM;function ix(t,e,r,n,i,a,o){var s=e._length;r._minDtick=0,n._minDtick=0;var l={padded:!0},u={padded:!0};o&&(l.ppad=u.ppad=o),!(\\\"tozerox\\\"===e.fill||\\\"tonextx\\\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?e.error_y.visible||-1===[\\\"tonexty\\\",\\\"tozeroy\\\"].indexOf(e.fill)&&(Tr.hasMarkers(e)||Tr.hasText(e))||(l.padded=!1,l.ppad=0):l.tozero=!0,!(\\\"tozeroy\\\"===e.fill||\\\"tonexty\\\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?-1!==[\\\"tonextx\\\",\\\"tozerox\\\"].indexOf(e.fill)&&(u.padded=!1):u.tozero=!0,ri.expand(r,i,l),ri.expand(n,a,u)}function ax(t,e){if(Tr.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=\\\"area\\\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},rx(n.size)){var a={type:\\\"linear\\\"};ri.setConvert(a);for(var o=a.makeCalcdata(t.marker,\\\"size\\\"),s=new Array(e),l=0;l<e;l++)s[l]=r(o[l]);return s}return r(n.size)}}var ox=function(t,e){var n=ri.getFromId(t,e.xaxis||\\\"x\\\"),i=ri.getFromId(t,e.yaxis||\\\"y\\\"),a=n.makeCalcdata(e,\\\"x\\\"),o=i.makeCalcdata(e,\\\"y\\\"),s=e._length,l=new Array(s);ix(t,e,n,i,a,o,ax(e,s));for(var u=0;u<s;u++)l[u]=r(a[u])&&r(o[u])?{x:a[u],y:o[u]}:{x:nx,y:nx},e.ids&&(l[u].id=String(e.ids[u]));return dh(l,e),ex(e),Ma(l,e),t.firstscatter=!1,l},sx=ax,lx=ix,ux=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 i=e-1;i>=0;i--){var a=t[i];if(\\\"scatter\\\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}},cx=ne.isArrayOrTypedArray,hx=function(t,e,r,n){var i=!1;if(e.marker){var a=e.marker.color,o=(e.marker.line||{}).color;a&&!cx(a)?i=a:o&&!cx(o)&&(i=o)}n(\\\"fillcolor\\\",Oe.addOpacity((e.line||{}).color||i||r,.5))},fx=ne.isArrayOrTypedArray,px=function(t,e,r,n,i,a){var o=(t.marker||{}).color;(i(\\\"line.color\\\",r),Xe(t,\\\"line\\\"))?Ye(t,e,n,i,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"}):i(\\\"line.color\\\",!fx(o)&&o||r);i(\\\"line.width\\\"),(a||{}).noDash||i(\\\"line.dash\\\")},dx=function(t,e,r){\\\"spline\\\"===r(\\\"line.shape\\\")&&r(\\\"line.smoothing\\\")},gx=function(t,e,r,n,i,a){var o=Tr.isBubble(t),s=(t.line||{}).color;(a=a||{},s&&(r=s),i(\\\"marker.symbol\\\"),i(\\\"marker.opacity\\\",o?.7:1),i(\\\"marker.size\\\"),i(\\\"marker.color\\\",r),Xe(t,\\\"marker\\\")&&Ye(t,e,n,i,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),a.noSelect||(i(\\\"selected.marker.color\\\"),i(\\\"unselected.marker.color\\\"),i(\\\"selected.marker.size\\\"),i(\\\"unselected.marker.size\\\")),a.noLine||(i(\\\"marker.line.color\\\",s&&!Array.isArray(s)&&e.marker.color!==s?s:o?Oe.background:Oe.defaultLine),Xe(t,\\\"marker.line\\\")&&Ye(t,e,n,i,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),i(\\\"marker.line.width\\\",o?1:0)),o&&(i(\\\"marker.sizeref\\\"),i(\\\"marker.sizemin\\\"),i(\\\"marker.sizemode\\\")),a.gradient)&&(\\\"none\\\"!==i(\\\"marker.gradient.type\\\")&&i(\\\"marker.gradient.color\\\"))},vx=function(t,e,r,n,i){i=i||{},n(\\\"textposition\\\"),ne.coerceFont(n,\\\"textfont\\\",r.font),i.noSelect||(n(\\\"selected.textfont.color\\\"),n(\\\"unselected.textfont.color\\\"))},mx=function(t,e){var r,n;if(\\\"lines\\\"===t.mode)return(r=t.line.color)&&Oe.opacity(r)?r:t.fillcolor;if(\\\"none\\\"===t.mode)return t.fill?t.fillcolor:\\\"\\\";var i=e.mcc||(t.marker||{}).color,a=e.mlcc||((t.marker||{}).line||{}).color;return(n=i&&Oe.opacity(i)?i:a&&Oe.opacity(a)&&(e.mlw||((t.marker||{}).line||{}).width)?a:\\\"\\\")?Oe.opacity(n)<.3?Oe.addOpacity(n,.3):n:(r=(t.line||{}).color)&&Oe.opacity(r)&&Tr.hasLines(t)&&t.line.width?r:t.fillcolor},yx=function(t,e,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=o.c2p(e),u=s.c2p(r),c=[l,u],h=a.hoveron||\\\"\\\",f=-1!==a.mode.indexOf(\\\"markers\\\")?3:.5;if(-1!==h.indexOf(\\\"points\\\")){var p=function(t){var e=Math.max(f,t.mrc||0),r=o.c2p(t.x)-l,n=s.c2p(t.y)-u;return Math.max(Math.sqrt(r*r+n*n)-e,1-f/e)},d=yo.getDistanceFunction(n,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(o.c2p(t.x)-l);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(s.c2p(t.y)-u);return n<e?r*n/e:n-e+r},p);if(yo.getClosest(i,d,t),!1!==t.index){var g=i[t.index],v=o.c2p(g.x,!0),m=s.c2p(g.y,!0),y=g.mrc||1;return ne.extendFlat(t,{color:mx(a,g),x0:v-y,x1:v+y,xLabelVal:g.x,y0:m-y,y1:m+y,yLabelVal:g.y,spikeDistance:p(g)}),xo(g,a,t),P.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(g,a,t),[t]}}if(-1!==h.indexOf(\\\"fills\\\")&&a._polygons){var x,b,_,w,M,A,k,T,S,E=a._polygons,C=[],L=!1,z=1/0,I=-1/0,D=1/0,O=-1/0;for(x=0;x<E.length;x++)(_=E[x]).contains(c)&&(L=!L,C.push(_),D=Math.min(D,_.ymin),O=Math.max(O,_.ymax));if(L){var R=((D=Math.max(D,0))+(O=Math.min(O,s._length)))/2;for(x=0;x<C.length;x++)for(w=C[x].pts,b=1;b<w.length;b++)(T=w[b-1][1])>R!=(S=w[b][1])>=R&&(A=w[b-1][0],k=w[b][0],S-T&&(M=A+(k-A)*(R-T)/(S-T),z=Math.min(z,M),I=Math.max(I,M)));z=Math.max(z,0),I=Math.min(I,o._length);var F=Oe.defaultLine;return Oe.opacity(a.fillcolor)?F=a.fillcolor:Oe.opacity((a.line||{}).color)&&(F=a.line.color),ne.extendFlat(t,{distance:t.maxHoverDistance,x0:z,x1:I,y0:R,y1:R,color:F}),delete t.index,a.text&&!Array.isArray(a.text)?t.text=String(a.text):t.text=a.name,[t]}}},xx=t.BADNUM,bx=ne.segmentsIntersect,_x=ne.constrain,wx=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=e.xaxis,x=e.yaxis,b=e.simplify,_=e.connectGaps,w=e.baseTolerance,M=e.shape,A=\\\"linear\\\"===M,k=[],T=Wr.minTolerance,S=new Array(t.length),E=0;function C(e){var r=t[e],n=y.c2p(r.x),i=x.c2p(r.y);return n===xx||i===xx?r.intoCenter||!1:[n,i]}function L(t){var e=t[0]/y._length,r=t[1]/x._length;return(1+Wr.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*w}function z(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}b||(w=T=-1);var P,I,D,O,R,F,B,N=Wr.maxScreensAway,j=-y._length*N,V=y._length*(1+N),U=-x._length*N,q=x._length*(1+N),H=[[j,U,V,U],[V,U,V,q],[V,q,j,q],[j,q,j,U]];function G(t){if(t[0]<j||t[0]>V||t[1]<U||t[1]>q)return[_x(t[0],j,V),_x(t[1],U,q)]}function W(t,e){return t[0]===e[0]&&(t[0]===j||t[0]===V)||(t[1]===e[1]&&(t[1]===U||t[1]===q)||void 0)}function Y(t,e,r){return function(n,i){var a=G(n),o=G(i),s=[];if(a&&o&&W(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*ne.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l);return s}}function X(t){var e=t[0],r=t[1],n=e===S[E-1][0],i=r===S[E-1][1];if(!n||!i)if(E>1){var a=e===S[E-2][0],o=r===S[E-2][1];n&&(e===j||e===V)&&a?o?E--:S[E-1]=t:i&&(r===U||r===q)&&o?a?E--:S[E-1]=t:S[E++]=t}else S[E++]=t}function Z(t){S[E-1][0]!==t[0]&&S[E-1][1]!==t[1]&&X([D,O]),X(t),R=null,D=O=0}function J(t){if(P=t[0]<j?j:t[0]>V?V:0,I=t[1]<U?U:t[1]>q?q:0,P||I){if(E)if(R){var e=B(R,t);e.length>1&&(Z(e[0]),S[E++]=e[1])}else F=B(S[E-1],t)[0],S[E++]=F;else S[E++]=[P||t[0],I||t[1]];var r=S[E-1];P&&I&&(r[0]!==P||r[1]!==I)?(R&&(D!==P&&O!==I?X(D&&O?(n=R,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?j:V,q]:[o>0?V:j,U]):[D||P,O||I]):D&&O&&X([D,O])),X([P,I])):D-P&&O-I&&X([P||D,I||O]),R=t,D=P,O=I}else R&&Z(B(R,t)[0]),S[E++]=t;var n,i,a,o}for(\\\"linear\\\"===M||\\\"spline\\\"===M?B=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=H[i],o=bx(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[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&&z(o,t)<z(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\\\"hv\\\"===M||\\\"vh\\\"===M?B=function(t,e){var r=[],n=G(t),i=G(e);return n&&i&&W(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\\\"hvh\\\"===M?B=Y(0,j,V):\\\"vhv\\\"===M&&(B=Y(1,U,q)),r=0;r<t.length;r++)if(n=C(r)){for(E=0,R=null,J(n),r++;r<t.length;r++){if(!(a=C(r))){if(_)continue;break}if(A){if(!((h=z(a,n))<L(a)*T)){for(u=[(a[0]-n[0])/h,(a[1]-n[1])/h],o=n,f=h,p=g=v=0,l=!1,i=a,r++;r<t.length;r++){if(!(s=C(r))){if(_)continue;break}if(m=(c=[s[0]-n[0],s[1]-n[1]])[0]*u[1]-c[1]*u[0],g=Math.min(g,m),(v=Math.max(v,m))-g>L(s))break;i=s,(d=c[0]*u[0]+c[1]*u[1])>f?(f=d,a=s,l=!1):d<p&&(p=d,o=s,l=!0)}if(l?(J(a),i!==o&&J(o)):(o!==n&&J(o),i!==a&&J(a)),J(i),r>=t.length||!s)break;J(s),n=s}}else J(a)}R&&X([D||R[0],O||R[1]]),k.push(S.slice(0,E))}return k},Mx=function(t,e,r){var n,i,a=null;for(i=0;i<r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(n.fill)&&(n._prevtrace=a,a&&(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null},Ax=cc.tester,kx=function(t,r,n,i,a){var o,s,l,u,c=r.plot.select(\\\"g.scatterlayer\\\"),h=!i,f=!!i&&i.duration>0;for((l=c.selectAll(\\\"g.trace\\\").data(n,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),Mx(t,r,n),function(t,r,n){var i;r.selectAll(\\\"g.trace\\\").each(function(t){var r=e.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=r.select(\\\".js-fill.js-tonext\\\"),!i._nextFill.size()){var a=\\\":first-child\\\";r.select(\\\".js-fill.js-tozero\\\").size()&&(a+=\\\" + *\\\"),i._nextFill=r.insert(\\\"path\\\",a).attr(\\\"class\\\",\\\"js-fill js-tonext\\\")}}else r.selectAll(\\\".js-fill.js-tonext\\\").remove(),i._nextFill=null;i.fill&&(\\\"tozero\\\"===i.fill.substr(0,6)||\\\"toself\\\"===i.fill||\\\"to\\\"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=r.select(\\\".js-fill.js-tozero\\\"),i._ownFill.size()||(i._ownFill=r.insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"js-fill js-tozero\\\"))):(r.selectAll(\\\".js-fill.js-tozero\\\").remove(),i._ownFill=null),r.selectAll(\\\".js-fill\\\").call(Sr.setClipUrl,n.layerClipId)})}(0,c,r),o=0,s={};o<n.length;o++)s[n[o][0].trace.uid]=o;(c.selectAll(\\\"g.trace\\\").sort(function(t,e){return s[t[0].trace.uid]>s[e[0].trace.uid]?1:-1}),f)?(a&&(u=a()),e.transition().duration(i.duration).ease(i.easing).each(\\\"end\\\",function(){u&&u()}).each(\\\"interrupt\\\",function(){u&&u()}).each(function(){c.selectAll(\\\"g.trace\\\").each(function(e,a){Tx(t,a,r,e,n,this,i)})})):c.selectAll(\\\"g.trace\\\").each(function(e,a){Tx(t,a,r,e,n,this,i)});h&&l.exit().remove(),c.selectAll(\\\"path:not([d])\\\").remove()};function Tx(t,r,n,i,a,o,s){var l,u;!function(t,r,n,i,a){var o=n.xaxis,s=n.yaxis,l=e.extent(ne.simpleMap(o.range,o.r2c)),u=e.extent(ne.simpleMap(s.range,s.r2c)),c=i[0].trace;if(!Tr.hasMarkers(c))return;var h=c.marker.maxdisplayed;if(0===h)return;var f=i.filter(function(t){return t.x>=l[0]&&t.x<=l[1]&&t.y>=u[0]&&t.y<=u[1]}),p=Math.ceil(f.length/h),d=0;a.forEach(function(t,e){var n=t[0].trace;Tr.hasMarkers(n)&&n.marker.maxdisplayed>0&&e<r&&d++});var g=Math.round(d*p/3+Math.floor(d/3)*p/7.1);i.forEach(function(t){delete t.vis}),f.forEach(function(t,e){0===Math.round((e+g)%p)&&(t.vis=!0)})}(0,r,n,i,a);var c=!!s&&s.duration>0;function h(t){return c?t.transition():t}var f=n.xaxis,p=n.yaxis,d=i[0].trace,g=d.line,v=e.select(o);if(P.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(v,n,s),!0===d.visible){var m,y;h(v).style(\\\"opacity\\\",d.opacity);var x=d.fill.charAt(d.fill.length-1);\\\"x\\\"!==x&&\\\"y\\\"!==x&&(x=\\\"\\\"),i[0].node3=v;var b=\\\"\\\",_=[],w=d._prevtrace;w&&(b=w._prevRevpath||\\\"\\\",y=w._nextFill,_=w._polygons);var M,A,k,T,S,E,C,L,z,I=\\\"\\\",D=\\\"\\\",O=[],R=ne.noop;if(m=d._ownFill,Tr.hasLines(d)||\\\"none\\\"!==d.fill){for(y&&y.datum(i),-1!==[\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"].indexOf(g.shape)?(k=Sr.steps(g.shape),T=Sr.steps(g.shape.split(\\\"\\\").reverse().join(\\\"\\\"))):k=T=\\\"spline\\\"===g.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?Sr.smoothclosed(t.slice(1),g.smoothing):Sr.smoothopen(t,g.smoothing)}:function(t){return\\\"M\\\"+t.join(\\\"L\\\")},S=function(t){return T(t.reverse())},O=wx(i,{xaxis:f,yaxis:p,connectGaps:d.connectgaps,baseTolerance:Math.max(g.width||1,3)/4,shape:g.shape,simplify:g.simplify}),z=d._polygons=new Array(O.length),u=0;u<O.length;u++)d._polygons[u]=Ax(O[u]);O.length&&(E=O[0][0],L=(C=O[O.length-1])[C.length-1]),R=function(t){return function(r){if(M=k(r),A=S(r),I?x?(I+=\\\"L\\\"+M.substr(1),D=A+\\\"L\\\"+D.substr(1)):(I+=\\\"Z\\\"+M,D=A+\\\"Z\\\"+D):(I=M,D=A),Tr.hasLines(d)&&r.length>1){var n=e.select(this);if(n.datum(i),t)h(n.style(\\\"opacity\\\",0).attr(\\\"d\\\",M).call(Sr.lineGroupStyle)).style(\\\"opacity\\\",1);else{var a=h(n);a.attr(\\\"d\\\",M),Sr.singleLineStyle(i,a)}}}}}var F=v.selectAll(\\\".js-line\\\").data(O);h(F.exit()).style(\\\"opacity\\\",0).remove(),F.each(R(!1)),F.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").call(Sr.lineGroupStyle).each(R(!0)),Sr.setClipUrl(F,n.layerClipId),O.length?(m?E&&L&&(x?(\\\"y\\\"===x?E[1]=L[1]=p.c2p(0,!0):\\\"x\\\"===x&&(E[0]=L[0]=f.c2p(0,!0)),h(m).attr(\\\"d\\\",\\\"M\\\"+L+\\\"L\\\"+E+\\\"L\\\"+I.substr(1)).call(Sr.singleFillStyle)):h(m).attr(\\\"d\\\",I+\\\"Z\\\").call(Sr.singleFillStyle)):y&&(\\\"tonext\\\"===d.fill.substr(0,6)&&I&&b?(\\\"tonext\\\"===d.fill?h(y).attr(\\\"d\\\",I+\\\"Z\\\"+b+\\\"Z\\\").call(Sr.singleFillStyle):h(y).attr(\\\"d\\\",I+\\\"L\\\"+b.substr(1)+\\\"Z\\\").call(Sr.singleFillStyle),d._polygons=d._polygons.concat(_)):(N(y),d._polygons=null)),d._prevRevpath=D,d._prevPolygons=z):(m?N(m):y&&N(y),d._polygons=d._prevRevpath=d._prevPolygons=null);var B=v.selectAll(\\\".points\\\");l=B.data([i]),B.each(H),l.enter().append(\\\"g\\\").classed(\\\"points\\\",!0).each(H),l.exit().remove(),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})}function N(t){h(t).attr(\\\"d\\\",\\\"M0,0Z\\\")}function j(t){return t.filter(function(t){return t.vis})}function V(t){return t.id}function U(t){if(t.ids)return V}function q(){return!1}function H(r){var i,a=r[0].trace,o=e.select(this),s=Tr.hasMarkers(a),l=Tr.hasText(a),u=U(a),d=q,g=q;s&&(d=a.marker.maxdisplayed||a._needsCull?j:ne.identity),l&&(g=a.marker.maxdisplayed||a._needsCull?j:ne.identity);var v=(i=o.selectAll(\\\"path.point\\\").data(d,u)).enter().append(\\\"path\\\").classed(\\\"point\\\",!0);c&&v.call(Sr.pointStyle,a,t).call(Sr.translatePoints,f,p).style(\\\"opacity\\\",0).transition().style(\\\"opacity\\\",1);var m=s&&Sr.tryColorscale(a.marker,\\\"\\\"),y=s&&Sr.tryColorscale(a.marker,\\\"line\\\");i.order(),i.each(function(r){var i=e.select(this),o=h(i);Sr.translatePoint(r,o,f,p)?(Sr.singlePointStyle(r,o,a,m,y,t),n.layerClipId&&Sr.hideOutsideRangePoint(r,o,f,p,a.xcalendar,a.ycalendar),a.customdata&&i.classed(\\\"plotly-customdata\\\",null!==r.data&&void 0!==r.data)):o.remove()}),c?i.exit().transition().style(\\\"opacity\\\",0).remove():i.exit().remove(),(i=o.selectAll(\\\"g\\\").data(g,u)).enter().append(\\\"g\\\").classed(\\\"textpoint\\\",!0).append(\\\"text\\\"),i.order(),i.each(function(t){var r=e.select(this),i=h(r.select(\\\"text\\\"));Sr.translatePoint(t,i,f,p)?n.layerClipId&&Sr.hideOutsideRangePoint(t,r,f,p,a.xcalendar,a.ycalendar):r.remove()}),i.selectAll(\\\"text\\\").call(Sr.textPointStyle,a,t).each(function(t){var r=f.c2p(t.x),n=p.c2p(t.y);e.select(this).selectAll(\\\"tspan.line\\\").each(function(){h(e.select(this)).attr({x:r,y:n})})}),i.exit().remove()}}var Sx=function(t,e){var r,n,i,a,o=t.cd,s=t.xaxis,l=t.yaxis,u=[],c=o[0].trace;if(!Tr.hasMarkers(c)&&!Tr.hasText(c))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++)n=o[r],i=s.c2p(n.x),a=l.c2p(n.y),e.contains([i,a])?(u.push({pointNumber:r,x:s.c2d(n.x),y:l.c2d(n.y)}),n.selected=1):n.selected=0;return u};function Ex(t,e,r){var n=t.selectAll(\\\"path.point\\\"),i=t.selectAll(\\\"text\\\");Sr.pointStyle(n,e,r),Sr.textPointStyle(i,e,r),Sr.selectedPointStyle(n,e),Sr.selectedTextStyle(i,e)}var Cx={style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.scatter\\\");n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),n.selectAll(\\\"g.points\\\").each(function(r){Ex(e.select(this),r.trace||r[0].trace,t)}),n.selectAll(\\\"g.trace path.js-line\\\").call(Sr.lineGroupStyle),n.selectAll(\\\"g.trace path.js-fill\\\").call(Sr.fillGroupStyle),P.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(n)},stylePoints:Ex},Lx={};Lx.hasLines=Tr.hasLines,Lx.hasMarkers=Tr.hasMarkers,Lx.hasText=Tr.hasText,Lx.isBubble=Tr.isBubble,Lx.attributes=Zr,Lx.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Zr,r,n)}var a=Ta(t,e,n,i),o=a<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\";if(a){i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\",o),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\"),i(\\\"line.simplify\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var s=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"cliponaxis\\\"),i(\\\"marker.maxdisplayed\\\"),s.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||s.push(\\\"fills\\\"),i(\\\"hoveron\\\",s.join(\\\"+\\\")||\\\"points\\\");var l=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");l(t,e,r,{axis:\\\"y\\\"}),l(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},Lx.cleanData=ux,Lx.calc=ox,Lx.arraysToCalcdata=dh,Lx.plot=kx,Lx.colorbar=is,Lx.style=Cx.style,Lx.hoverPoints=yx,Lx.selectPoints=Sx,Lx.animatable=!0,Lx.moduleType=\\\"trace\\\",Lx.name=\\\"scatter\\\",Lx.basePlotModule=ua,Lx.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],Lx.meta={};var zx=Lx,Px={version:\\\"1.35.2\\\"};Xp.polyfill();for(var Ix=Px.register=P.register,Dx=Object.keys(Yy),Ox=0;Ox<Dx.length;Ox++){var Rx=Dx[Ox];Px[Rx]=Yy[Rx],Ix({moduleType:\\\"apiMethod\\\",name:Rx,fn:Yy[Rx]})}Ix(zx),Ix([yo,ng,cd,yd,jg,Bd,Rv,fv,Sg,gg,Dd,Sd]),Ix([{moduleType:\\\"locale\\\",name:\\\"en\\\",dictionary:{\\\"Click to enter Colorscale title\\\":\\\"Click to enter Colourscale title\\\"},format:{days:[\\\"Sunday\\\",\\\"Monday\\\",\\\"Tuesday\\\",\\\"Wednesday\\\",\\\"Thursday\\\",\\\"Friday\\\"],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\\\"}},{moduleType:\\\"locale\\\",name:\\\"en-US\\\",dictionary:{\\\"Click to enter Colorscale title\\\":\\\"Click to enter Colorscale title\\\"},format:{date:\\\"%m/%d/%Y\\\"}}]),Px.Icons=Op,Px.Plots=_n,Px.Fx=yo,Px.Snapshot=tx,Px.PlotSchema=nn,Px.Queue=Nv,Px.d3=e;var Fx=Px,Bx={},Nx=Di.pointsAccessorFunction,jx=Eh.COMPARISON_OPS,Vx=Eh.INTERVAL_OPS,Ux=Eh.SET_OPS;Bx.moduleType=\\\"transform\\\",Bx.name=\\\"filter\\\",Bx.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(jx).concat(Vx).concat(Ux),dflt:\\\"=\\\",editType:\\\"calc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"calc\\\"},preservegaps:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},editType:\\\"calc\\\"},Bx.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Bx.attributes,r,n)}if(r(\\\"enabled\\\")){r(\\\"preservegaps\\\"),r(\\\"operation\\\"),r(\\\"value\\\"),r(\\\"target\\\");var n=P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\");n(t,e,\\\"valuecalendar\\\",null),n(t,e,\\\"targetcalendar\\\",null)}return e},Bx.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i=r.target,a=n.length,o=r.targetcalendar,s=e._arrayAttrs;if(\\\"string\\\"==typeof i){var l=ne.nestedProperty(e,i+\\\"calendar\\\").get();l&&(o=l)}var u,c,h=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,l=function(r){return e(r,0,t.valuecalendar)},u=function(t){return e(t,0,r)};o(jx)?s=l(a?i[0]:i):o(Vx)?s=a?[l(i[0]),l(i[1])]:[l(i),l(i)]:o(Ux)&&(s=a?i.map(l):[l(i)]);switch(n){case\\\"=\\\":return function(t){return u(t)===s};case\\\"!=\\\":return function(t){return u(t)!==s};case\\\"<\\\":return function(t){return u(t)<s};case\\\"<=\\\":return function(t){return u(t)<=s};case\\\">\\\":return function(t){return u(t)>s};case\\\">=\\\":return function(t){return u(t)>=s};case\\\"[]\\\":return function(t){var e=u(t);return e>=s[0]&&e<=s[1]};case\\\"()\\\":return function(t){var e=u(t);return e>s[0]&&e<s[1]};case\\\"[)\\\":return function(t){var e=u(t);return e>=s[0]&&e<s[1]};case\\\"(]\\\":return function(t){var e=u(t);return e>s[0]&&e<=s[1]};case\\\"][\\\":return function(t){var e=u(t);return e<=s[0]||e>=s[1]};case\\\")(\\\":return function(t){var e=u(t);return e<s[0]||e>s[1]};case\\\"](\\\":return function(t){var e=u(t);return e<=s[0]||e>s[1]};case\\\")[\\\":return function(t){var e=u(t);return e<s[0]||e>=s[1]};case\\\"{}\\\":return function(t){return-1!==s.indexOf(u(t))};case\\\"}{\\\":return function(t){return-1===s.indexOf(u(t))}}}(r,ri.getDataToCoordFunc(t,e,i,n),o),f={},p={},d=0;r.preservegaps?(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set(new Array(a))},c=function(t,e){var r=f[t.astr][e];t.get()[e]=r}):(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set([])},c=function(t,e){var r=f[t.astr][e];t.get().push(r)}),m(u);for(var g=Nx(e.transforms,r),v=0;v<a;v++){h(n[v])&&(m(c,v),p[d++]=g(v))}r._indexToPoints=p,e._length=d}}function m(t,r){for(var n=0;n<s.length;n++){t(ne.nestedProperty(e,s[n]),r)}}};var qx=Bx,Hx={},Gx=Di.pointsAccessorFunction;function Wx(t,e){var r,n,i,a,o,s,l,u,c,h,f=e.transform,p=t.transforms[e.transformIndex].groups,d=Gx(t.transforms,f);if(!Array.isArray(p)||0===p.length)return[t];var g=ne.filterUnique(p),v=new Array(g.length),m=p.length,y=nn.findArrayAttributes(t),x=f.styles||[],b={};for(r=0;r<x.length;r++)b[x[r].target]=x[r].value;f.styles&&(h=ne.keyedContainer(f,\\\"styles\\\",\\\"target\\\",\\\"value.name\\\"));var _={},w={};for(r=0;r<g.length;r++){_[s=g[r]]=r,w[s]=0,(l=v[r]=ne.extendDeepNoArrays({},t))._group=s,l.transforms[e.transformIndex]._indexToPoints={};var M=null;for(h&&(M=h.get(s)),l.name=M||ne.templateString(f.nameformat,{trace:t.name,group:s}),u=l.transforms,l.transforms=[],n=0;n<u.length;n++)l.transforms[n]=ne.extendDeepNoArrays({},u[n]);for(n=0;n<y.length;n++)ne.nestedProperty(l,y[n]).set([])}for(i=0;i<y.length;i++){for(a=y[i],n=0,c=[];n<g.length;n++)c[n]=ne.nestedProperty(v[n],a).get();for(o=ne.nestedProperty(t,a).get(),n=0;n<m;n++)c[_[p[n]]].push(o[n])}for(n=0;n<m;n++){(l=v[_[p[n]]]).transforms[e.transformIndex]._indexToPoints[w[p[n]]]=d(n),w[p[n]]++}for(r=0;r<g.length;r++)s=g[r],l=v[r],_n.clearExpandedTraceDefaultColors(l),l=ne.extendDeepNoArrays(l,b[s]||{});return v}Hx.moduleType=\\\"transform\\\",Hx.name=\\\"groupby\\\",Hx.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\\\"},editType:\\\"calc\\\"},editType:\\\"calc\\\"},Hx.supplyDefaults=function(t,e,r){var n,i={};function a(e,r){return ne.coerce(t,i,Hx.attributes,e,r)}if(!a(\\\"enabled\\\"))return i;a(\\\"groups\\\"),a(\\\"nameformat\\\",r._dataLength>1?\\\"%{group} (%{trace})\\\":\\\"%{group}\\\");var o=t.styles,s=i.styles=[];if(o)for(n=0;n<o.length;n++)s[n]={},ne.coerce(o[n],s[n],Hx.attributes.styles,\\\"target\\\"),ne.coerce(o[n],s[n],Hx.attributes.styles,\\\"value\\\");return i},Hx.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=Wx(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a};var Yx=Hx,Xx=function(t,e,r){!1===r(\\\"zsmooth\\\")&&(r(\\\"xgap\\\"),r(\\\"ygap\\\")),r(\\\"zhoverformat\\\")},Zx=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Lh,r,n)}Df(t,e,i,n)?(i(\\\"text\\\"),Xx(0,0,i),i(\\\"connectgaps\\\",qh(e)&&!1!==e.zsmooth),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"z\\\"})):e.visible=!1},Jx={};Jx.attributes=Lh,Jx.supplyDefaults=Zx,Jx.calc=bf,Jx.plot=$f,Jx.colorbar=kh,Jx.style=up,Jx.hoverPoints=Rf,Jx.moduleType=\\\"trace\\\",Jx.name=\\\"heatmap\\\",Jx.basePlotModule=ua,Jx.categories=[\\\"cartesian\\\",\\\"2dMap\\\"],Jx.meta={};var Kx=Jx;var Qx=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))};function $x(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,h=0;for(n=0;n<a;++n)u.push([\\\"i\\\",n,\\\"=0\\\"].join(\\\"\\\"));for(i=0;i<o;++i)for(n=0;n<a;++n)h=c,c=t[n],0===n?u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=t\\\",i,\\\"p\\\",c].join(\\\"\\\")):u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=(t\\\",i,\\\"p\\\",c,\\\"-s\\\",h,\\\"*t\\\",i,\\\"p\\\",h,\\\")\\\"].join(\\\"\\\"));for(u.length>0&&l.push(\\\"var \\\"+u.join(\\\",\\\")),n=a-1;n>=0;--n)c=t[n],l.push([\\\"for(i\\\",n,\\\"=0;i\\\",n,\\\"<s\\\",c,\\\";++i\\\",n,\\\"){\\\"].join(\\\"\\\"));for(l.push(r),n=0;n<a;++n){for(h=c,c=t[n],i=0;i<o;++i)l.push([\\\"p\\\",i,\\\"+=d\\\",i,\\\"s\\\",n].join(\\\"\\\"));s&&(n>0&&l.push([\\\"index[\\\",h,\\\"]-=s\\\",h].join(\\\"\\\")),l.push([\\\"++index[\\\",c,\\\"]\\\"].join(\\\"\\\"))),l.push(\\\"}\\\")}return l.join(\\\"\\\\n\\\")}function tb(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\\\"g\\\"),u=\\\"\\\",c=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\\\"offset\\\":var h=e.offsetArgIndex.indexOf(o);c=e.offsetArgs[h].array,u=\\\"+q\\\"+h;case\\\"array\\\":u=\\\"p\\\"+c+u;var f=\\\"l\\\"+o,p=\\\"a\\\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\\\"generic\\\"===r[c]?s.lvalue?(i.push([\\\"var \\\",f,\\\"=\\\",p,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),a.push([p,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):n=n.replace(l,[p,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")):n=n.replace(l,[p,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")):\\\"generic\\\"===r[c]?(i.push([\\\"var \\\",f,\\\"=\\\",p,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([p,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):(i.push([\\\"var \\\",f,\\\"=\\\",p,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([p,\\\"[\\\",u,\\\"]=\\\",f].join(\\\"\\\")));else{for(var d=[s.name],g=[u],v=0;v<Math.abs(e.arrayBlockIndices[c]);v++)d.push(\\\"\\\\\\\\s*\\\\\\\\[([^\\\\\\\\]]+)\\\\\\\\]\\\"),g.push(\\\"$\\\"+(v+1)+\\\"*t\\\"+c+\\\"b\\\"+v);if(l=new RegExp(d.join(\\\"\\\"),\\\"g\\\"),u=g.join(\\\"+\\\"),\\\"generic\\\"===r[c])throw new Error(\\\"cwise: Generic arrays not supported in combination with blocks!\\\");n=n.replace(l,[p,\\\"[\\\",u,\\\"]\\\"].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[i.join(\\\"\\\\n\\\"),n,a.join(\\\"\\\\n\\\")].join(\\\"\\\\n\\\").trim()}var eb=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,n=new Array(t.arrayArgs.length),i=new Array(t.arrayArgs.length),a=0;a<t.arrayArgs.length;++a)i[a]=e[2*a],n[a]=e[2*a+1];var o=[],s=[],l=[],u=[],c=[];for(a=0;a<t.arrayArgs.length;++a){t.arrayBlockIndices[a]<0?(l.push(0),u.push(r),o.push(r),s.push(r+t.arrayBlockIndices[a])):(l.push(t.arrayBlockIndices[a]),u.push(t.arrayBlockIndices[a]+r),o.push(0),s.push(t.arrayBlockIndices[a]));for(var h=[],f=0;f<n[a].length;f++)l[a]<=n[a][f]&&n[a][f]<u[a]&&h.push(n[a][f]-l[a]);c.push(h)}var p=[\\\"SS\\\"],d=[\\\"'use strict'\\\"],g=[];for(f=0;f<r;++f)g.push([\\\"s\\\",f,\\\"=SS[\\\",f,\\\"]\\\"].join(\\\"\\\"));for(a=0;a<t.arrayArgs.length;++a){for(p.push(\\\"a\\\"+a),p.push(\\\"t\\\"+a),p.push(\\\"p\\\"+a),f=0;f<r;++f)g.push([\\\"t\\\",a,\\\"p\\\",f,\\\"=t\\\",a,\\\"[\\\",l[a]+f,\\\"]\\\"].join(\\\"\\\"));for(f=0;f<Math.abs(t.arrayBlockIndices[a]);++f)g.push([\\\"t\\\",a,\\\"b\\\",f,\\\"=t\\\",a,\\\"[\\\",o[a]+f,\\\"]\\\"].join(\\\"\\\"))}for(a=0;a<t.scalarArgs.length;++a)p.push(\\\"Y\\\"+a);if(t.shapeArgs.length>0&&g.push(\\\"shape=SS.slice(0)\\\"),t.indexArgs.length>0){var v=new Array(r);for(a=0;a<r;++a)v[a]=\\\"0\\\";g.push([\\\"index=[\\\",v.join(\\\",\\\"),\\\"]\\\"].join(\\\"\\\"))}for(a=0;a<t.offsetArgs.length;++a){var m=t.offsetArgs[a],y=[];for(f=0;f<m.offset.length;++f)0!==m.offset[f]&&(1===m.offset[f]?y.push([\\\"t\\\",m.array,\\\"p\\\",f].join(\\\"\\\")):y.push([m.offset[f],\\\"*t\\\",m.array,\\\"p\\\",f].join(\\\"\\\")));0===y.length?g.push(\\\"q\\\"+a+\\\"=0\\\"):g.push([\\\"q\\\",a,\\\"=\\\",y.join(\\\"+\\\")].join(\\\"\\\"))}var x=Qx([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((g=g.concat(x)).length>0&&d.push(\\\"var \\\"+g.join(\\\",\\\")),a=0;a<t.arrayArgs.length;++a)d.push(\\\"p\\\"+a+\\\"|=0\\\");t.pre.body.length>3&&d.push(tb(t.pre,t,i));var b=tb(t.body,t,i),_=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}(c);_<r?d.push(function(t,e,r,n){for(var i=e.length,a=r.arrayArgs.length,o=r.blockSize,s=r.indexArgs.length>0,l=[],u=0;u<a;++u)l.push([\\\"var offset\\\",u,\\\"=p\\\",u].join(\\\"\\\"));for(u=t;u<i;++u)l.push([\\\"for(var j\\\"+u+\\\"=SS[\\\",e[u],\\\"]|0;j\\\",u,\\\">0;){\\\"].join(\\\"\\\")),l.push([\\\"if(j\\\",u,\\\"<\\\",o,\\\"){\\\"].join(\\\"\\\")),l.push([\\\"s\\\",e[u],\\\"=j\\\",u].join(\\\"\\\")),l.push([\\\"j\\\",u,\\\"=0\\\"].join(\\\"\\\")),l.push([\\\"}else{s\\\",e[u],\\\"=\\\",o].join(\\\"\\\")),l.push([\\\"j\\\",u,\\\"-=\\\",o,\\\"}\\\"].join(\\\"\\\")),s&&l.push([\\\"index[\\\",e[u],\\\"]=j\\\",u].join(\\\"\\\"));for(u=0;u<a;++u){for(var c=[\\\"offset\\\"+u],h=t;h<i;++h)c.push([\\\"j\\\",h,\\\"*t\\\",u,\\\"p\\\",e[h]].join(\\\"\\\"));l.push([\\\"p\\\",u,\\\"=(\\\",c.join(\\\"+\\\"),\\\")\\\"].join(\\\"\\\"))}for(l.push($x(e,r,n)),u=t;u<i;++u)l.push(\\\"}\\\");return l.join(\\\"\\\\n\\\")}(_,c[0],t,b)):d.push($x(c[0],t,b)),t.post.body.length>3&&d.push(tb(t.post,t,i)),t.debug&&console.log(\\\"-----Generated cwise routine for \\\",e,\\\":\\\\n\\\"+d.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\");var w=[t.funcName||\\\"unnamed\\\",\\\"_cwise_loop_\\\",n[0].join(\\\"s\\\"),\\\"m\\\",_,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\\\d+/);a=a?a[0]:\\\"\\\",0===i.charAt(0)?e[n]=\\\"u\\\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\\\"\\\")}(i)].join(\\\"\\\");return new Function([\\\"function \\\",w,\\\"(\\\",p.join(\\\",\\\"),\\\"){\\\",d.join(\\\"\\\\n\\\"),\\\"} return \\\",w].join(\\\"\\\"))()};var rb=function(t){var e=[\\\"'use strict'\\\",\\\"var CACHED={}\\\"],r=[],n=t.funcName+\\\"_cwise_thunk\\\";e.push([\\\"return function \\\",n,\\\"(\\\",t.shimArgs.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var i=[],a=[],o=[[\\\"array\\\",t.arrayArgs[0],\\\".shape.slice(\\\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\\\",\\\"+t.arrayBlockIndices[0]+\\\")\\\":\\\")\\\"].join(\\\"\\\")],s=[],l=[],u=0;u<t.arrayArgs.length;++u){var c=t.arrayArgs[u];r.push([\\\"t\\\",c,\\\"=array\\\",c,\\\".dtype,\\\",\\\"r\\\",c,\\\"=array\\\",c,\\\".order\\\"].join(\\\"\\\")),i.push(\\\"t\\\"+c),i.push(\\\"r\\\"+c),a.push(\\\"t\\\"+c),a.push(\\\"r\\\"+c+\\\".join()\\\"),o.push(\\\"array\\\"+c+\\\".data\\\"),o.push(\\\"array\\\"+c+\\\".stride\\\"),o.push(\\\"array\\\"+c+\\\".offset|0\\\"),u>0&&(s.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape.length===array\\\"+c+\\\".shape.length+\\\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),l.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[0])+\\\"]===array\\\"+c+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[u])+\\\"]\\\"))}for(t.arrayArgs.length>1&&(e.push(\\\"if (!(\\\"+s.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 (!(\\\"+l.join(\\\" && \\\")+\\\")) throw new Error('cwise: Arrays do not all have the same shape!')\\\"),e.push(\\\"}\\\")),u=0;u<t.scalarArgs.length;++u)o.push(\\\"scalar\\\"+t.scalarArgs[u]);return r.push([\\\"type=[\\\",a.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(\\\",o.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),t.debug&&console.log(\\\"-----Generated thunk:\\\\n\\\"+e.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\"),new Function(\\\"compile\\\",e.join(\\\"\\\\n\\\"))(eb.bind(void 0,t))};var nb=function(t){var e=new function(){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.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var n=0;n<r.length;++n){var i=r[n];if(\\\"array\\\"===i||\\\"object\\\"==typeof i&&i.blockIndices){if(e.argTypes[n]=\\\"array\\\",e.arrayArgs.push(n),e.arrayBlockIndices.push(i.blockIndices?i.blockIndices:0),e.shimArgs.push(\\\"array\\\"+n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\\\"cwise: pre() block may not reference array args\\\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\\\"cwise: post() block may not reference array args\\\")}else if(\\\"scalar\\\"===i)e.scalarArgs.push(n),e.shimArgs.push(\\\"scalar\\\"+n);else if(\\\"index\\\"===i){if(e.indexArgs.push(n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\\\"cwise: pre() block may not reference array index\\\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\\\"cwise: body() block may not write to array index\\\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\\\"cwise: post() block may not reference array index\\\")}else if(\\\"shape\\\"===i){if(e.shapeArgs.push(n),n<e.pre.args.length&&e.pre.args[n].lvalue)throw new Error(\\\"cwise: pre() block may not write to array shape\\\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\\\"cwise: body() block may not write to array shape\\\");if(n<e.post.args.length&&e.post.args[n].lvalue)throw new Error(\\\"cwise: post() block may not write to array shape\\\")}else{if(\\\"object\\\"!=typeof i||!i.offset)throw new Error(\\\"cwise: Unknown argument type \\\"+r[n]);e.argTypes[n]=\\\"offset\\\",e.offsetArgs.push({array:i.array,offset:i.offset}),e.offsetArgIndex.push(n)}}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,rb(e)},ib={},ab={body:\\\"\\\",args:[],thisVars:[],localVars:[]};function ob(t){if(!t)return ab;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 sb(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 nb({args:t.args,pre:ob(t.pre),body:ob(t.body),post:ob(t.proc),funcName:t.funcName})}(t))}var lb={add:\\\"+\\\",sub:\\\"-\\\",mul:\\\"*\\\",div:\\\"/\\\",mod:\\\"%\\\",band:\\\"&\\\",bor:\\\"|\\\",bxor:\\\"^\\\",lshift:\\\"<<\\\",rshift:\\\">>\\\",rrshift:\\\">>>\\\"};!function(){for(var t in lb){var e=lb[t];ib[t]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),ib[t+\\\"eq\\\"]=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a\\\"+e+\\\"=b\\\"},rvalue:!0,funcName:t+\\\"eq\\\"}),ib[t+\\\"s\\\"]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),ib[t+\\\"seq\\\"]=sb({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a\\\"+e+\\\"=s\\\"},rvalue:!0,funcName:t+\\\"seq\\\"})}}();var ub={not:\\\"!\\\",bnot:\\\"~\\\",neg:\\\"-\\\",recip:\\\"1.0/\\\"};!function(){for(var t in ub){var e=ub[t];ib[t]=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=\\\"+e+\\\"b\\\"},funcName:t}),ib[t+\\\"eq\\\"]=sb({args:[\\\"array\\\"],body:{args:[\\\"a\\\"],body:\\\"a=\\\"+e+\\\"a\\\"},rvalue:!0,count:2,funcName:t+\\\"eq\\\"})}}();var cb={and:\\\"&&\\\",or:\\\"||\\\",eq:\\\"===\\\",neq:\\\"!==\\\",lt:\\\"<\\\",gt:\\\">\\\",leq:\\\"<=\\\",geq:\\\">=\\\"};!function(){for(var t in cb){var e=cb[t];ib[t]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),ib[t+\\\"s\\\"]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),ib[t+\\\"eq\\\"]=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=a\\\"+e+\\\"b\\\"},rvalue:!0,count:2,funcName:t+\\\"eq\\\"}),ib[t+\\\"seq\\\"]=sb({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a=a\\\"+e+\\\"s\\\"},rvalue:!0,count:2,funcName:t+\\\"seq\\\"})}}();var hb=[\\\"abs\\\",\\\"acos\\\",\\\"asin\\\",\\\"atan\\\",\\\"ceil\\\",\\\"cos\\\",\\\"exp\\\",\\\"floor\\\",\\\"log\\\",\\\"round\\\",\\\"sin\\\",\\\"sqrt\\\",\\\"tan\\\"];!function(){for(var t=0;t<hb.length;++t){var e=hb[t];ib[e]=sb({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}),ib[e+\\\"eq\\\"]=sb({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 fb=[\\\"max\\\",\\\"min\\\",\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<fb.length;++t){var e=fb[t];ib[e]=sb({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}),ib[e+\\\"s\\\"]=sb({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\\\"}),ib[e+\\\"eq\\\"]=sb({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\\\"}),ib[e+\\\"seq\\\"]=sb({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 pb=[\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<pb.length;++t){var e=pb[t];ib[e+\\\"op\\\"]=sb({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\\\"}),ib[e+\\\"ops\\\"]=sb({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\\\"}),ib[e+\\\"opeq\\\"]=sb({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\\\"}),ib[e+\\\"opseq\\\"]=sb({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\\\"})}}(),ib.any=nb({args:[\\\"array\\\"],pre:ab,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\\\"}),ib.all=nb({args:[\\\"array\\\"],pre:ab,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\\\"}),ib.sum=nb({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\\\"}),ib.prod=nb({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\\\"}),ib.norm2squared=nb({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\\\"}),ib.norm2=nb({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\\\"}),ib.norminf=nb({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\\\"}),ib.norm1=nb({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\\\"}),ib.sup=nb({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:[]}}),ib.inf=nb({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:[]}}),ib.argmin=nb({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:[]}}),ib.argmax=nb({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:[]}}),ib.random=sb({args:[\\\"array\\\"],pre:{args:[],body:\\\"this_f=Math.random\\\",thisVars:[\\\"this_f\\\"]},body:{args:[\\\"a\\\"],body:\\\"a=this_f()\\\",thisVars:[\\\"this_f\\\"]},funcName:\\\"random\\\"}),ib.assign=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assign\\\"}),ib.assigns=sb({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assigns\\\"}),ib.equals=nb({args:[\\\"array\\\",\\\"array\\\"],pre:ab,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\\\"});var db=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e},gb=function(t){return null!=t&&(vb(t)||function(t){return\\\"function\\\"==typeof t.readFloatLE&&\\\"function\\\"==typeof t.slice&&vb(t.slice(0,0))}(t)||!!t._isBuffer)};function vb(t){return!!t.constructor&&\\\"function\\\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var mb=\\\"undefined\\\"!=typeof Float64Array;function yb(t,e){return t[0]-e[0]}function xb(){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(yb);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function bb(t,e){var r=[\\\"View\\\",e,\\\"d\\\",t].join(\\\"\\\");e<0&&(r=\\\"View_Nil\\\"+t);var n=\\\"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 \\\"+(n?\\\"this.data.get(this.offset)\\\":\\\"this.data[this.offset]\\\")+\\\"};proto.set=function \\\"+r+\\\"_set(v){return \\\"+(n?\\\"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)(_b[t][0])}i=[\\\"'use strict'\\\"];var a=db(e),o=a.map(function(t){return\\\"i\\\"+t}),s=\\\"this.offset+\\\"+a.map(function(t){return\\\"this.stride[\\\"+t+\\\"]*i\\\"+t}).join(\\\"+\\\"),l=a.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\"),u=a.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\");i.push(\\\"function \\\"+r+\\\"(a,\\\"+l+\\\",\\\"+u+\\\",d){this.data=a\\\",\\\"this.shape=[\\\"+l+\\\"]\\\",\\\"this.stride=[\\\"+u+\\\"]\\\",\\\"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 \\\"+a.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(\\\"+o.join(\\\",\\\")+\\\",v){\\\"),n?i.push(\\\"return this.data.set(\\\"+s+\\\",v)}\\\"):i.push(\\\"return this.data[\\\"+s+\\\"]=v}\\\"),i.push(\\\"proto.get=function \\\"+r+\\\"_get(\\\"+o.join(\\\",\\\")+\\\"){\\\"),n?i.push(\\\"return this.data.get(\\\"+s+\\\")}\\\"):i.push(\\\"return this.data[\\\"+s+\\\"]}\\\"),i.push(\\\"proto.index=function \\\"+r+\\\"_index(\\\",o.join(),\\\"){return \\\"+s+\\\"}\\\"),i.push(\\\"proto.hi=function \\\"+r+\\\"_hi(\\\"+o.join(\\\",\\\")+\\\"){return new \\\"+r+\\\"(this.data,\\\"+a.map(function(t){return[\\\"(typeof i\\\",t,\\\"!=='number'||i\\\",t,\\\"<0)?this.shape[\\\",t,\\\"]:i\\\",t,\\\"|0\\\"].join(\\\"\\\")}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",this.offset)}\\\");var c=a.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}),h=a.map(function(t){return\\\"c\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"});i.push(\\\"proto.lo=function \\\"+r+\\\"_lo(\\\"+o.join(\\\",\\\")+\\\"){var b=this.offset,d=0,\\\"+c.join(\\\",\\\")+\\\",\\\"+h.join(\\\",\\\"));for(var f=0;f<e;++f)i.push(\\\"if(typeof i\\\"+f+\\\"==='number'&&i\\\"+f+\\\">=0){d=i\\\"+f+\\\"|0;b+=c\\\"+f+\\\"*d;a\\\"+f+\\\"-=d}\\\");i.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+a.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\")+\\\",b)}\\\"),i.push(\\\"proto.step=function \\\"+r+\\\"_step(\\\"+o.join(\\\",\\\")+\\\"){var \\\"+a.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"b\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",c=this.offset,d=0,ceil=Math.ceil\\\");for(f=0;f<e;++f)i.push(\\\"if(typeof i\\\"+f+\\\"==='number'){d=i\\\"+f+\\\"|0;if(d<0){c+=b\\\"+f+\\\"*(a\\\"+f+\\\"-1);a\\\"+f+\\\"=ceil(-a\\\"+f+\\\"/d)}else{a\\\"+f+\\\"=ceil(a\\\"+f+\\\"/d)}b\\\"+f+\\\"*=d}\\\");i.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+a.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\")+\\\",c)}\\\");var p=new Array(e),d=new Array(e);for(f=0;f<e;++f)p[f]=\\\"a[i\\\"+f+\\\"]\\\",d[f]=\\\"b[i\\\"+f+\\\"]\\\";i.push(\\\"proto.transpose=function \\\"+r+\\\"_transpose(\\\"+o+\\\"){\\\"+o.map(function(t,e){return t+\\\"=(\\\"+t+\\\"===undefined?\\\"+e+\\\":\\\"+t+\\\"|0)\\\"}).join(\\\";\\\"),\\\"var a=this.shape,b=this.stride;return new \\\"+r+\\\"(this.data,\\\"+p.join(\\\",\\\")+\\\",\\\"+d.join(\\\",\\\")+\\\",this.offset)}\\\"),i.push(\\\"proto.pick=function \\\"+r+\\\"_pick(\\\"+o+\\\"){var a=[],b=[],c=this.offset\\\");for(f=0;f<e;++f)i.push(\\\"if(typeof i\\\"+f+\\\"==='number'&&i\\\"+f+\\\">=0){c=(c+this.stride[\\\"+f+\\\"]*i\\\"+f+\\\")|0}else{a.push(this.shape[\\\"+f+\\\"]);b.push(this.stride[\\\"+f+\\\"])}\\\");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,\\\"+a.map(function(t){return\\\"shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",offset)}\\\"),new Function(\\\"CTOR_LIST\\\",\\\"ORDER\\\",i.join(\\\"\\\\n\\\"))(_b[t],xb)}var _b={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};var wb=function(t,e,r,n){if(void 0===t)return(0,_b.array[0])([]);\\\"number\\\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var a=i-1,o=1;a>=0;--a)r[a]=o,o*=e[a]}if(void 0===n)for(n=0,a=0;a<i;++a)r[a]<0&&(n-=(e[a]-1)*r[a]);for(var s=function(t){if(gb(t))return\\\"buffer\\\";if(mb)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\\\"}return Array.isArray(t)?\\\"array\\\":\\\"generic\\\"}(t),l=_b[s];l.length<=i+1;)l.push(bb(s,l.length-1));return(0,l[i+1])(t,e,r,n)},Mb={};function Ab(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}Mb.INT_BITS=32,Mb.INT_MAX=2147483647,Mb.INT_MIN=-1<<31,Mb.sign=function(t){return(t>0)-(t<0)},Mb.abs=function(t){var e=t>>31;return(t^e)-e},Mb.min=function(t,e){return e^(t^e)&-(t<e)},Mb.max=function(t,e){return t^(t^e)&-(t<e)},Mb.isPow2=function(t){return!(t&t-1||!t)},Mb.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},Mb.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},Mb.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},Mb.countTrailingZeros=Ab,Mb.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},Mb.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},Mb.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kb=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(kb),Mb.reverse=function(t){return kb[255&t]<<24|kb[t>>>8&255]<<16|kb[t>>>16&255]<<8|kb[t>>>24&255]},Mb.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},Mb.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},Mb.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},Mb.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},Mb.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>Ab(t)+1};for(var Tb={byteLength:function(t){return 3*t.length/4-Ib(t)},toByteArray:function(t){var e,r,n,i,a,o=t.length;i=Ib(t),a=new Cb(3*o/4-i),r=i>0?o-4:o;var s=0;for(e=0;e<r;e+=4)n=Eb[t.charCodeAt(e)]<<18|Eb[t.charCodeAt(e+1)]<<12|Eb[t.charCodeAt(e+2)]<<6|Eb[t.charCodeAt(e+3)],a[s++]=n>>16&255,a[s++]=n>>8&255,a[s++]=255&n;2===i?(n=Eb[t.charCodeAt(e)]<<2|Eb[t.charCodeAt(e+1)]>>4,a[s++]=255&n):1===i&&(n=Eb[t.charCodeAt(e)]<<10|Eb[t.charCodeAt(e+1)]<<4|Eb[t.charCodeAt(e+2)]>>2,a[s++]=n>>8&255,a[s++]=255&n);return a},fromByteArray:function(t){for(var e,r=t.length,n=r%3,i=\\\"\\\",a=[],o=0,s=r-n;o<s;o+=16383)a.push(Db(t,o,o+16383>s?s:o+16383));1===n?(e=t[r-1],i+=Sb[e>>2],i+=Sb[e<<4&63],i+=\\\"==\\\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=Sb[e>>10],i+=Sb[e>>4&63],i+=Sb[e<<2&63],i+=\\\"=\\\");return a.push(i),a.join(\\\"\\\")}},Sb=[],Eb=[],Cb=\\\"undefined\\\"!=typeof Uint8Array?Uint8Array:Array,Lb=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\\",zb=0,Pb=Lb.length;zb<Pb;++zb)Sb[zb]=Lb[zb],Eb[Lb.charCodeAt(zb)]=zb;function Ib(t){var e=t.length;if(e%4>0)throw new Error(\\\"Invalid string. Length must be a multiple of 4\\\");return\\\"=\\\"===t[e-2]?2:\\\"=\\\"===t[e-1]?1:0}function Db(t,e,r){for(var n,i,a=[],o=e;o<r;o+=3)n=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),a.push(Sb[(i=n)>>18&63]+Sb[i>>12&63]+Sb[i>>6&63]+Sb[63&i]);return a.join(\\\"\\\")}Eb[\\\"-\\\".charCodeAt(0)]=62,Eb[\\\"_\\\".charCodeAt(0)]=63;var Ob={read:function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},write:function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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=c):(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>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},Rb={};Rb.Buffer=Nb,Rb.SlowBuffer=function(t){+t!=t&&(t=0);return Nb.alloc(+t)},Rb.INSPECT_MAX_BYTES=50;var Fb=2147483647;function Bb(t){if(t>Fb)throw new RangeError(\\\"Invalid typed array length\\\");var e=new Uint8Array(t);return e.__proto__=Nb.prototype,e}function Nb(t,e,r){if(\\\"number\\\"==typeof t){if(\\\"string\\\"==typeof e)throw new Error(\\\"If encoding is specified then the first argument must be a string\\\");return Ub(t)}return jb(t,e,r)}function jb(t,e,r){if(\\\"number\\\"==typeof t)throw new TypeError('\\\"value\\\" argument must not be a number');return y_(t)||t&&y_(t.buffer)?function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\\\"offset\\\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\\\"length\\\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=Nb.prototype,n}(t,e,r):\\\"string\\\"==typeof t?function(t,e){\\\"string\\\"==typeof e&&\\\"\\\"!==e||(e=\\\"utf8\\\");if(!Nb.isEncoding(e))throw new TypeError(\\\"Unknown encoding: \\\"+e);var r=0|Gb(t,e),n=Bb(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e):function(t){if(Nb.isBuffer(t)){var e=0|Hb(t.length),r=Bb(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(ArrayBuffer.isView(t)||\\\"length\\\"in t)return\\\"number\\\"!=typeof t.length||x_(t.length)?Bb(0):qb(t);if(\\\"Buffer\\\"===t.type&&Array.isArray(t.data))return qb(t.data)}throw new TypeError(\\\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\\\")}(t)}function Vb(t){if(\\\"number\\\"!=typeof t)throw new TypeError('\\\"size\\\" argument must be of type number');if(t<0)throw new RangeError('\\\"size\\\" argument must not be negative')}function Ub(t){return Vb(t),Bb(t<0?0:0|Hb(t))}function qb(t){for(var e=t.length<0?0:0|Hb(t.length),r=Bb(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function Hb(t){if(t>=Fb)throw new RangeError(\\\"Attempt to allocate Buffer larger than maximum size: 0x\\\"+Fb.toString(16)+\\\" bytes\\\");return 0|t}function Gb(t,e){if(Nb.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||y_(t))return t.byteLength;\\\"string\\\"!=typeof t&&(t=\\\"\\\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\\\"ascii\\\":case\\\"latin1\\\":case\\\"binary\\\":return r;case\\\"utf8\\\":case\\\"utf-8\\\":case void 0:return g_(t).length;case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return 2*r;case\\\"hex\\\":return r>>>1;case\\\"base64\\\":return v_(t).length;default:if(n)return g_(t).length;e=(\\\"\\\"+e).toLowerCase(),n=!0}}function Wb(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Yb(t,e,r,n,i){if(0===t.length)return-1;if(\\\"string\\\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),x_(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\\\"string\\\"==typeof e&&(e=Nb.from(e,n)),Nb.isBuffer(e))return 0===e.length?-1:Xb(t,e,r,n,i);if(\\\"number\\\"==typeof e)return e&=255,\\\"function\\\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Xb(t,[e],r,n,i);throw new TypeError(\\\"val must be string, number or Buffer\\\")}function Xb(t,e,r,n,i){var a,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 u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(t,a)===u(e,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;f<l;f++)if(u(t,a+f)!==u(e,f)){h=!1;break}if(h)return a}return-1}function Zb(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(x_(s))return o;t[r+o]=s}return o}function Jb(t,e,r,n){return m_(g_(e,t.length-r),t,r,n)}function Kb(t,e,r,n){return m_(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function Qb(t,e,r,n){return Kb(t,e,r,n)}function $b(t,e,r,n){return m_(v_(e),t,r,n)}function t_(t,e,r,n){return m_(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function e_(t,e,r){return 0===e&&r===t.length?Tb.fromByteArray(t):Tb.fromByteArray(t.slice(e,r))}function r_(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,u=t[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)>127&&(c=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&u)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=n_)return String.fromCharCode.apply(String,t);var r=\\\"\\\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=n_));return r}(n)}Rb.kMaxLength=Fb,Nb.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}}(),Nb.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(Nb.prototype,\\\"parent\\\",{get:function(){if(this instanceof Nb)return this.buffer}}),Object.defineProperty(Nb.prototype,\\\"offset\\\",{get:function(){if(this instanceof Nb)return this.byteOffset}}),\\\"undefined\\\"!=typeof Symbol&&Symbol.species&&Nb[Symbol.species]===Nb&&Object.defineProperty(Nb,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Nb.poolSize=8192,Nb.from=function(t,e,r){return jb(t,e,r)},Nb.prototype.__proto__=Uint8Array.prototype,Nb.__proto__=Uint8Array,Nb.alloc=function(t,e,r){return function(t,e,r){return Vb(t),t<=0?Bb(t):void 0!==e?\\\"string\\\"==typeof r?Bb(t).fill(e,r):Bb(t).fill(e):Bb(t)}(t,e,r)},Nb.allocUnsafe=function(t){return Ub(t)},Nb.allocUnsafeSlow=function(t){return Ub(t)},Nb.isBuffer=function(t){return null!=t&&!0===t._isBuffer},Nb.compare=function(t,e){if(!Nb.isBuffer(t)||!Nb.isBuffer(e))throw new TypeError(\\\"Arguments must be Buffers\\\");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},Nb.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}},Nb.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');if(0===t.length)return Nb.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=Nb.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(ArrayBuffer.isView(a)&&(a=Nb.from(a)),!Nb.isBuffer(a))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},Nb.byteLength=Gb,Nb.prototype._isBuffer=!0,Nb.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)Wb(this,e,e+1);return this},Nb.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)Wb(this,e,e+3),Wb(this,e+1,e+2);return this},Nb.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)Wb(this,e,e+7),Wb(this,e+1,e+6),Wb(this,e+2,e+5),Wb(this,e+3,e+4);return this},Nb.prototype.toString=function(){var t=this.length;return 0===t?\\\"\\\":0===arguments.length?r_(this,0,t):function(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 o_(this,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return r_(this,e,r);case\\\"ascii\\\":return i_(this,e,r);case\\\"latin1\\\":case\\\"binary\\\":return a_(this,e,r);case\\\"base64\\\":return e_(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}}.apply(this,arguments)},Nb.prototype.toLocaleString=Nb.prototype.toString,Nb.prototype.equals=function(t){if(!Nb.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");return this===t||0===Nb.compare(this,t)},Nb.prototype.inspect=function(){var t=\\\"\\\",e=Rb.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\\\"hex\\\",0,e).match(/.{2}/g).join(\\\" \\\"),this.length>e&&(t+=\\\" ... \\\")),\\\"<Buffer \\\"+t+\\\">\\\"},Nb.prototype.compare=function(t,e,r,n,i){if(!Nb.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\\\"out of range index\\\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,o=r-e,s=Math.min(a,o),l=this.slice(n,i),u=t.slice(e,r),c=0;c<s;++c)if(l[c]!==u[c]){a=l[c],o=u[c];break}return a<o?-1:o<a?1:0},Nb.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},Nb.prototype.indexOf=function(t,e,r){return Yb(this,t,e,r,!0)},Nb.prototype.lastIndexOf=function(t,e,r){return Yb(this,t,e,r,!1)},Nb.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 i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\\\"Attempt to write outside buffer bounds\\\");n||(n=\\\"utf8\\\");for(var a=!1;;)switch(n){case\\\"hex\\\":return Zb(this,t,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return Jb(this,t,e,r);case\\\"ascii\\\":return Kb(this,t,e,r);case\\\"latin1\\\":case\\\"binary\\\":return Qb(this,t,e,r);case\\\"base64\\\":return $b(this,t,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return t_(this,t,e,r);default:if(a)throw new TypeError(\\\"Unknown encoding: \\\"+n);n=(\\\"\\\"+n).toLowerCase(),a=!0}},Nb.prototype.toJSON=function(){return{type:\\\"Buffer\\\",data:Array.prototype.slice.call(this._arr||this,0)}};var n_=4096;function i_(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function a_(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function o_(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\\\"\\\",a=e;a<r;++a)i+=d_(t[a]);return i}function s_(t,e,r){for(var n=t.slice(e,r),i=\\\"\\\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function l_(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 u_(t,e,r,n,i,a){if(!Nb.isBuffer(t))throw new TypeError('\\\"buffer\\\" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('\\\"value\\\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\")}function c_(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\");if(r<0)throw new RangeError(\\\"Index out of range\\\")}function h_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,4),Ob.write(t,e,r,n,23,4),r+4}function f_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,8),Ob.write(t,e,r,n,52,8),r+8}Nb.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=Nb.prototype,n},Nb.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},Nb.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},Nb.prototype.readUInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),this[t]},Nb.prototype.readUInt16LE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]|this[t+1]<<8},Nb.prototype.readUInt16BE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]<<8|this[t+1]},Nb.prototype.readUInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Nb.prototype.readUInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Nb.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},Nb.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},Nb.prototype.readInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Nb.prototype.readInt16LE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt16BE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Nb.prototype.readInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Nb.prototype.readFloatLE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!0,23,4)},Nb.prototype.readFloatBE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!1,23,4)},Nb.prototype.readDoubleLE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!0,52,8)},Nb.prototype.readDoubleBE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!1,52,8)},Nb.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},Nb.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},Nb.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,255,0),this[e]=255&t,e+1},Nb.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},Nb.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},Nb.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},Nb.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeFloatLE=function(t,e,r){return h_(this,t,e,!0,r)},Nb.prototype.writeFloatBE=function(t,e,r){return h_(this,t,e,!1,r)},Nb.prototype.writeDoubleLE=function(t,e,r){return f_(this,t,e,!0,r)},Nb.prototype.writeDoubleBE=function(t,e,r){return f_(this,t,e,!1,r)},Nb.prototype.copy=function(t,e,r,n){if(!Nb.isBuffer(t))throw new TypeError(\\\"argument should be a Buffer\\\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\\\"targetStart out of bounds\\\");if(r<0||r>=this.length)throw new RangeError(\\\"Index out of range\\\");if(n<0)throw new RangeError(\\\"sourceEnd out of bounds\\\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\\\"function\\\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},Nb.prototype.fill=function(t,e,r,n){if(\\\"string\\\"==typeof t){if(\\\"string\\\"==typeof e?(n=e,e=0,r=this.length):\\\"string\\\"==typeof r&&(n=r,r=this.length),void 0!==n&&\\\"string\\\"!=typeof n)throw new TypeError(\\\"encoding must be a string\\\");if(\\\"string\\\"==typeof n&&!Nb.isEncoding(n))throw new TypeError(\\\"Unknown encoding: \\\"+n);if(1===t.length){var i=t.charCodeAt(0);(\\\"utf8\\\"===n&&i<128||\\\"latin1\\\"===n)&&(t=i)}}else\\\"number\\\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\\\"Out of range index\\\");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\\\"number\\\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=Nb.isBuffer(t)?t:new Nb(t,n),s=o.length;if(0===s)throw new TypeError('The value \\\"'+t+'\\\" is invalid for argument \\\"value\\\"');for(a=0;a<r-e;++a)this[a+e]=o[a%s]}return this};var p_=/[^+/0-9A-Za-z-_]/g;function d_(t){return t<16?\\\"0\\\"+t.toString(16):t.toString(16)}function g_(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.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;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function v_(t){return Tb.toByteArray(function(t){if((t=(t=t.split(\\\"=\\\")[0]).trim().replace(p_,\\\"\\\")).length<2)return\\\"\\\";for(;t.length%4!=0;)t+=\\\"=\\\";return t}(t))}function m_(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function y_(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&\\\"ArrayBuffer\\\"===t.constructor.name&&\\\"number\\\"==typeof t.byteLength}function x_(t){return t!=t}var b_=function(t,e){switch(void 0===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 i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]},__={};(function(t,e){\\\"use strict\\\";t.__TYPEDARRAY_POOL||(t.__TYPEDARRAY_POOL={UINT8:b_([32,0]),UINT16:b_([32,0]),UINT32:b_([32,0]),INT8:b_([32,0]),INT16:b_([32,0]),INT32:b_([32,0]),FLOAT:b_([32,0]),DOUBLE:b_([32,0]),DATA:b_([32,0]),UINT8C:b_([32,0]),BUFFER:b_([32,0])});var r=\\\"undefined\\\"!=typeof Uint8ClampedArray,n=t.__TYPEDARRAY_POOL;n.UINT8C||(n.UINT8C=b_([32,0])),n.BUFFER||(n.BUFFER=b_([32,0]));var i=n.DATA,a=n.BUFFER;function o(t){if(t){var e=t.length||t.byteLength,r=Mb.log2(e);i[r].push(t)}}function s(t){t=Mb.nextPow2(t);var e=Mb.log2(t),r=i[e];return r.length>0?r.pop():new ArrayBuffer(t)}function l(t){return new Uint8Array(s(t),0,t)}function u(t){return new Uint16Array(s(2*t),0,t)}function c(t){return new Uint32Array(s(4*t),0,t)}function h(t){return new Int8Array(s(t),0,t)}function f(t){return new Int16Array(s(2*t),0,t)}function p(t){return new Int32Array(s(4*t),0,t)}function d(t){return new Float32Array(s(4*t),0,t)}function g(t){return new Float64Array(s(8*t),0,t)}function v(t){return r?new Uint8ClampedArray(s(t),0,t):l(t)}function m(t){return new DataView(s(t),0,t)}function y(t){t=Mb.nextPow2(t);var r=Mb.log2(t),n=a[r];return n.length>0?n.pop():new e(t)}__.free=function(t){if(e.isBuffer(t))a[Mb.log2(t.length)].push(t);else{if(\\\"[object ArrayBuffer]\\\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=0|Mb.log2(r);i[n].push(t)}},__.freeUint8=__.freeUint16=__.freeUint32=__.freeInt8=__.freeInt16=__.freeInt32=__.freeFloat32=__.freeFloat=__.freeFloat64=__.freeDouble=__.freeUint8Clamped=__.freeDataView=function(t){o(t.buffer)},__.freeArrayBuffer=o,__.freeBuffer=function(t){a[Mb.log2(t.length)].push(t)},__.malloc=function(t,e){if(void 0===e||\\\"arraybuffer\\\"===e)return s(t);switch(e){case\\\"uint8\\\":return l(t);case\\\"uint16\\\":return u(t);case\\\"uint32\\\":return c(t);case\\\"int8\\\":return h(t);case\\\"int16\\\":return f(t);case\\\"int32\\\":return p(t);case\\\"float\\\":case\\\"float32\\\":return d(t);case\\\"double\\\":case\\\"float64\\\":return g(t);case\\\"uint8_clamped\\\":return v(t);case\\\"buffer\\\":return y(t);case\\\"data\\\":case\\\"dataview\\\":return m(t);default:return null}return null},__.mallocArrayBuffer=s,__.mallocUint8=l,__.mallocUint16=u,__.mallocUint32=c,__.mallocInt8=h,__.mallocInt16=f,__.mallocInt32=p,__.mallocFloat32=__.mallocFloat=d,__.mallocFloat64=__.mallocDouble=g,__.mallocUint8Clamped=v,__.mallocDataView=m,__.mallocBuffer=y,__.clearCache=function(){for(var t=0;t<32;++t)n.UINT8[t].length=0,n.UINT16[t].length=0,n.UINT32[t].length=0,n.INT8[t].length=0,n.INT16[t].length=0,n.INT32[t].length=0,n.FLOAT[t].length=0,n.DOUBLE[t].length=0,n.UINT8C[t].length=0,i[t].length=0,a[t].length=0}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{},Rb.Buffer);var w_=[\\\"uint8\\\",\\\"uint8_clamped\\\",\\\"uint16\\\",\\\"uint32\\\",\\\"int8\\\",\\\"int16\\\",\\\"int32\\\",\\\"float32\\\"];function M_(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var A_=M_.prototype;function k_(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\\\"gl-buffer: If resizing buffer, must not specify offset\\\");return t.bufferSubData(e,a,i),r}function T_(t,e){for(var r=__.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}A_.bind=function(){this.gl.bindBuffer(this.type,this.handle)},A_.unbind=function(){this.gl.bindBuffer(this.type,null)},A_.dispose=function(){this.gl.deleteBuffer(this.handle)},A_.update=function(t,e){if(\\\"number\\\"!=typeof e&&(e=-1),this.bind(),\\\"object\\\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(w_.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=k_(this.gl,this.type,this.length,this.usage,t.data,e):this.length=k_(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=__.malloc(t.size,r),i=wb(n,t.shape);ib.assign(i,t),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?n:n.subarray(0,t.size),e),__.free(n)}}else if(Array.isArray(t)){var a;a=this.type===this.gl.ELEMENT_ARRAY_BUFFER?T_(t,\\\"uint16\\\"):T_(t,\\\"float32\\\"),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?a:a.subarray(0,t.length),e),__.free(a)}else if(\\\"object\\\"==typeof t&&\\\"number\\\"==typeof t.length)this.length=k_(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}};var S_=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 i=new M_(t,r,t.createBuffer(),0,n);return i.update(e),i},E_=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(\\\"\\\")},C_=E_([\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\\\n}\\\\n\\\"]),L_={lineVert:E_([\\\"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:C_,textVert:E_([\\\"#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:C_,gridVert:E_([\\\"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:C_,boxVert:E_([\\\"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:E_([\\\"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\\\"])};function z_(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}z_.prototype=new Error,z_.prototype.name=\\\"GLError\\\",z_.prototype.constructor=z_;var P_=z_,I_=function(t,e,r,n){for(var i={},a=0,o=r.length;a<o;++a){var s=r[a],l=s.name,u=s.type,c=s.locations;switch(u){case\\\"bool\\\":case\\\"int\\\":case\\\"float\\\":R_(t,e,c[0],n,1,i,l);break;default:if(u.indexOf(\\\"vec\\\")>=0){var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\\\"\\\",\\\"Invalid data type for attribute \\\"+l+\\\": \\\"+u);R_(t,e,c[0],n,h,i,l)}else{if(!(u.indexOf(\\\"mat\\\")>=0))throw new P_(\\\"\\\",\\\"Unknown data type for attribute \\\"+l+\\\": \\\"+u);var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\\\"\\\",\\\"Invalid data type for attribute \\\"+l+\\\": \\\"+u);F_(t,e,c,n,h,i,l)}}}return i};function D_(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var O_=D_.prototype;function R_(t,e,r,n,i,a,o){for(var s=[\\\"gl\\\",\\\"v\\\"],l=[],u=0;u<i;++u)s.push(\\\"x\\\"+u),l.push(\\\"x\\\"+u);s.push(\\\"if(x0.length===void 0){return gl.vertexAttrib\\\"+i+\\\"f(v,\\\"+l.join()+\\\")}else{return gl.vertexAttrib\\\"+i+\\\"fv(v,x0)}\\\");var c=Function.apply(null,s),h=new D_(t,e,r,n,i,c);Object.defineProperty(a,o,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return h},enumerable:!0})}function F_(t,e,r,n,i,a,o){for(var s=new Array(i),l=new Array(i),u=0;u<i;++u)R_(t,e,r[u],n,i,s,u),l[u]=s[u];Object.defineProperty(s,\\\"location\\\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)l[e].location=t[e];else for(e=0;e<i;++e)l[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),s.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var u=n[r[l]];t.vertexAttribPointer(u,i,e,a,o,s+l*i),t.enableVertexAttribArray(u)}};var c=new Array(i),h=t[\\\"vertexAttrib\\\"+i+\\\"fv\\\"];Object.defineProperty(a,o,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)c[s]=e[i*a+s];h.call(t,o,c)}}return e},get:function(){return s},enumerable:!0})}O_.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},O_.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(O_,\\\"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}});var B_=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\\\".\\\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\\\"[\\\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var u=1;u<l.length;++u){var c=parseInt(l[u]);u<l.length-1||s<a.length-1?(c in o||(u<l.length-1?o[c]=[]:o[c]={}),o=o[c]):o[c]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r};var N_=function(t,e,r,n){function i(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=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new P_(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+Rd+\\\": \\\"+r);return\\\"gl.uniformMatrix\\\"+i+\\\"fv(locations[\\\"+e+\\\"],false,obj\\\"+t+\\\")\\\"}throw new P_(\\\"\\\",\\\"Unknown uniform data type for \\\"+Rd+\\\": \\\"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new P_(\\\"\\\",\\\"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 P_(\\\"\\\",\\\"Unrecognized data type for vector \\\"+Rd+\\\": \\\"+r)}}}function a(e){for(var a=[\\\"return function updateProperty(obj){\\\"],o=function t(e,r){if(\\\"object\\\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\\\"\\\"===i?o+=\\\"[\\\"+i+\\\"]\\\":o+=\\\".\\\"+i,\\\"object\\\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\\\"\\\",e),s=0;s<o.length;++s){var l=o[s],u=l[0],c=l[1];n[c]&&a.push(i(u,c,r[c].type))}a.push(\\\"return obj}\\\");var h=new Function(\\\"gl\\\",\\\"locations\\\",a.join(\\\"\\\\n\\\"));return h(t,n)}function o(i,o,l){if(\\\"object\\\"==typeof l){var u=s(l);Object.defineProperty(i,o,{get:j_(u),set:a(l),enumerable:!0,configurable:!1})}else n[l]?Object.defineProperty(i,o,{get:(c=l,new Function(\\\"gl\\\",\\\"wrapper\\\",\\\"locations\\\",\\\"return function(){return gl.getUniform(wrapper.program,locations[\\\"+c+\\\"])}\\\")(t,e,n)),set:a(l),enumerable:!0,configurable:!1}):i[o]=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){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new P_(\\\"\\\",\\\"Invalid data type\\\");return\\\"b\\\"===t.charAt(0)?V_(r,!1):V_(r,0)}if(0===t.indexOf(\\\"mat\\\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new P_(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+Rd+\\\": \\\"+t);return V_(r*r,0)}throw new P_(\\\"\\\",\\\"Unknown uniform data type for \\\"+Rd+\\\": \\\"+t)}}(r[l].type);var c}function s(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)o(e,r,t[r])}else for(var n in e={},t)o(e,n,t[n]);return e}var l=B_(r,!0);return{get:j_(s(l)),set:a(l),enumerable:!0,configurable:!0}};function j_(t){return new Function(\\\"y\\\",\\\"return function(){return y}\\\")(t)}function V_(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var U_={uniforms:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var a=t.getActiveUniform(e,i);if(a){var o=G_(t,a.type);if(a.size>1)for(var s=0;s<a.size;++s)n.push({name:a.name.replace(\\\"[0]\\\",\\\"[\\\"+s+\\\"]\\\"),type:o});else n.push({name:a.name,type:o})}}return n},attributes:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var a=t.getActiveAttrib(e,i);a&&n.push({name:a.name,type:G_(t,a.type)})}return n}},q_={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\\\"},H_=null;function G_(t,e){if(!H_){var r=Object.keys(q_);H_={};for(var n=0;n<r.length;++n){var i=r[n];H_[t[i]]=q_[i]}}return H_[e]}var W_,Y_=\\\"\\\",X_=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(W_!==t||void 0===W_)W_=t,Y_=\\\"\\\";else if(Y_.length>=r)return Y_.substr(0,r);for(;r>Y_.length&&e>1;)1&e&&(Y_+=t),e>>=1,t+=t;return Y_=(Y_+=t).substr(0,r)};var Z_=function(t,e,r){return X_(r=void 0!==r?r+\\\"\\\":\\\" \\\",e)+t},J_=function(t,e,r){e=\\\"number\\\"==typeof e?e:1,r=r||\\\": \\\";var n=t.split(/\\\\r?\\\\n/),i=String(n.length+e-1).length;return n.map(function(t,n){var a=n+e,o=String(a).length,s=Z_(a,i-o);return s+r+t}).join(\\\"\\\\n\\\")};var K_={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\\\",34000:\\\"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\\\"},Q_=function(t){return K_[t]},$_=function(t){return atob(t)},tw=[\\\"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\\\"],ew=(tw=tw.slice().filter(function(t){return!/^(gl\\\\_|texture)/.test(t)})).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\\\"]),rw=[\\\"precision\\\",\\\"highp\\\",\\\"mediump\\\",\\\"lowp\\\",\\\"attribute\\\",\\\"const\\\",\\\"uniform\\\",\\\"varying\\\",\\\"break\\\",\\\"continue\\\",\\\"do\\\",\\\"for\\\",\\\"while\\\",\\\"if\\\",\\\"else\\\",\\\"in\\\",\\\"out\\\",\\\"inout\\\",\\\"float\\\",\\\"int\\\",\\\"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\\\"],nw=rw.slice().concat([\\\"layout\\\",\\\"centroid\\\",\\\"smooth\\\",\\\"case\\\",\\\"mat2x2\\\",\\\"mat2x3\\\",\\\"mat2x4\\\",\\\"mat3x2\\\",\\\"mat3x3\\\",\\\"mat3x4\\\",\\\"mat4x2\\\",\\\"mat4x3\\\",\\\"mat4x4\\\",\\\"uint\\\",\\\"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\\\"]),iw=[\\\"<<=\\\",\\\">>=\\\",\\\"++\\\",\\\"--\\\",\\\"<<\\\",\\\">>\\\",\\\"<=\\\",\\\">=\\\",\\\"==\\\",\\\"!=\\\",\\\"&&\\\",\\\"||\\\",\\\"+=\\\",\\\"-=\\\",\\\"*=\\\",\\\"/=\\\",\\\"%=\\\",\\\"&=\\\",\\\"^^\\\",\\\"^=\\\",\\\"|=\\\",\\\"(\\\",\\\")\\\",\\\"[\\\",\\\"]\\\",\\\".\\\",\\\"!\\\",\\\"~\\\",\\\"*\\\",\\\"/\\\",\\\"%\\\",\\\"+\\\",\\\"-\\\",\\\"<\\\",\\\">\\\",\\\"&\\\",\\\"^\\\",\\\"|\\\",\\\"?\\\",\\\":\\\",\\\"=\\\",\\\",\\\",\\\";\\\",\\\"{\\\",\\\"}\\\"],aw=function(t){var e,r,n,i=0,a=0,o=ow,s=[],l=[],u=1,c=0,h=0,f=!1,p=!1,d=\\\"\\\",g=tw,v=rw;\\\"300 es\\\"===(t=t||{}).version&&(g=ew,v=nw);return function(t){return l=[],null!==t?function(t){var r;i=0,n=(d+=t).length;for(;e=d[i],i<n;){switch(r=i,o){case lw:i=_();break;case uw:case cw:i=b();break;case hw:i=w();break;case fw:i=k();break;case xw:i=A();break;case pw:i=T();break;case sw:i=S();break;case mw:i=x();break;case ow:i=y()}if(r!==i)switch(d[r]){case\\\"\\\\n\\\":c=0,++u;break;default:++c}}return a+=i,d=d.slice(i),l}(t.replace?t.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\"):t):function(t){s.length&&m(s.join(\\\"\\\"));return o=yw,m(\\\"(eof)\\\"),l}()};function m(t){t.length&&l.push({type:bw[o],data:t,position:h,line:u,column:c})}function y(){return s=s.length?[]:s,\\\"/\\\"===r&&\\\"*\\\"===e?(h=a+i-1,o=lw,r=e,i+1):\\\"/\\\"===r&&\\\"/\\\"===e?(h=a+i-1,o=uw,r=e,i+1):\\\"#\\\"===e?(o=cw,h=a+i,i):/\\\\s/.test(e)?(o=mw,h=a+i,i):(f=/\\\\d/.test(e),p=/[^\\\\w_]/.test(e),h=a+i,o=f?fw:p?hw:sw,i)}function x(){return/[^\\\\s]/g.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function b(){return\\\"\\\\r\\\"!==e&&\\\"\\\\n\\\"!==e||\\\"\\\\\\\\\\\"===r?(s.push(e),r=e,i+1):(m(s.join(\\\"\\\")),o=ow,i)}function _(){return\\\"/\\\"===e&&\\\"*\\\"===r?(s.push(e),m(s.join(\\\"\\\")),o=ow,i+1):(s.push(e),r=e,i+1)}function w(){if(\\\".\\\"===r&&/\\\\d/.test(e))return o=pw,i;if(\\\"/\\\"===r&&\\\"*\\\"===e)return o=lw,i;if(\\\"/\\\"===r&&\\\"/\\\"===e)return o=uw,i;if(\\\".\\\"===e&&s.length){for(;M(s););return o=pw,i}if(\\\";\\\"===e||\\\")\\\"===e||\\\"(\\\"===e){if(s.length)for(;M(s););return m(e),o=ow,i+1}var t=2===s.length&&\\\"=\\\"!==e;if(/[\\\\w_\\\\d\\\\s]/.test(e)||t){for(;M(s););return o=ow,i}return s.push(e),r=e,i+1}function M(t){for(var e,r,n=0;;){if(e=iw.indexOf(t.slice(0,t.length+n).join(\\\"\\\")),r=iw[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\\\"\\\")}return m(r),h+=r.length,(s=s.slice(r.length)).length}}function A(){return/[^a-fA-F0-9]/.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function k(){return\\\".\\\"===e?(s.push(e),o=pw,r=e,i+1):/[eE]/.test(e)?(s.push(e),o=pw,r=e,i+1):\\\"x\\\"===e&&1===s.length&&\\\"0\\\"===s[0]?(o=xw,s.push(e),r=e,i+1):/[^\\\\d]/.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function T(){return\\\"f\\\"===e&&(s.push(e),r=e,i+=1),/[eE]/.test(e)?(s.push(e),r=e,i+1):\\\"-\\\"===e&&/[eE]/.test(r)?(s.push(e),r=e,i+1):/[^\\\\d]/.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function S(){if(/[^\\\\d\\\\w_]/.test(e)){var t=s.join(\\\"\\\");return o=v.indexOf(t)>-1?vw:g.indexOf(t)>-1?gw:dw,m(s.join(\\\"\\\")),o=ow,i}return s.push(e),r=e,i+1}},ow=999,sw=9999,lw=0,uw=1,cw=2,hw=3,fw=4,pw=5,dw=6,gw=7,vw=8,mw=9,yw=10,xw=11,bw=[\\\"block-comment\\\",\\\"line-comment\\\",\\\"preprocessor\\\",\\\"operator\\\",\\\"integer\\\",\\\"float\\\",\\\"ident\\\",\\\"builtin\\\",\\\"keyword\\\",\\\"whitespace\\\",\\\"eof\\\",\\\"integer\\\"];var _w=function(t,e){var r=aw(e),n=[];return n=(n=n.concat(r(t))).concat(r(null))};var ww=function(t){for(var e=Array.isArray(t)?t:_w(t),r=0;r<e.length;r++){var n=e[r];if(\\\"preprocessor\\\"===n.type){var i=n.data.match(/\\\\#define\\\\s+SHADER_NAME(_B64)?\\\\s+(.+)$/);if(i&&i[2]){var a=i[1],o=i[2];return(a?$_(o):o).trim()}}}};var Mw={};!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(r){return function(r,n){var i,a,o,s,l,u,c,h,f,p=1,d=r.length,g=\\\"\\\";for(a=0;a<d;a++)if(\\\"string\\\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \\\"%s\\\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\\\"number\\\"!=typeof i&&isNaN(i))throw new TypeError(e(\\\"[sprintf] expecting number but found %T\\\",i));switch(t.number.test(s[8])&&(h=i>=0),s[8]){case\\\"b\\\":i=parseInt(i,10).toString(2);break;case\\\"c\\\":i=String.fromCharCode(parseInt(i,10));break;case\\\"d\\\":case\\\"i\\\":i=parseInt(i,10);break;case\\\"j\\\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\\\"e\\\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\\\"f\\\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\\\"g\\\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\\\"o\\\":i=(parseInt(i,10)>>>0).toString(8);break;case\\\"s\\\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"t\\\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"T\\\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"u\\\":i=parseInt(i,10)>>>0;break;case\\\"v\\\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"x\\\":i=(parseInt(i,10)>>>0).toString(16);break;case\\\"X\\\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||h&&!s[3]?f=\\\"\\\":(f=h?\\\"+\\\":\\\"-\\\",i=i.toString().replace(t.sign,\\\"\\\")),u=s[4]?\\\"0\\\"===s[4]?\\\"0\\\":s[4].charAt(1):\\\" \\\",c=s[6]-(f+i).length,l=s[6]&&c>0?u.repeat(c):\\\"\\\",g+=s[5]?f+i+l:\\\"0\\\"===u?f+l+i:l+f+i)}return g}(function(e){if(n[e])return n[e];var r,i=e,a=[],o=0;for(;i;){if(null!==(r=t.text.exec(i)))a.push(r[0]);else if(null!==(r=t.modulo.exec(i)))a.push(\\\"%\\\");else{if(null===(r=t.placeholder.exec(i)))throw new SyntaxError(\\\"[sprintf] unexpected placeholder\\\");if(r[2]){o|=1;var s=[],l=r[2],u=[];if(null===(u=t.key.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");for(s.push(u[1]);\\\"\\\"!==(l=l.substring(u[0].length));)if(null!==(u=t.key_access.exec(l)))s.push(u[1]);else{if(null===(u=t.index_access.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");s.push(u[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(r)}i=i.substring(r[0].length)}return n[e]=a}(r),arguments)}function r(t,r){return e.apply(null,[t].concat(r||[]))}var n=Object.create(null);void 0!==Mw&&(Mw.sprintf=e,Mw.vsprintf=r),\\\"undefined\\\"!=typeof window&&(window.sprintf=e,window.vsprintf=r)}();var Aw=Mw.sprintf,kw=function(t,e,r){\\\"use strict\\\";var n=ww(e)||\\\"of unknown name (see npm glsl-shader-name)\\\",i=\\\"unknown type\\\";void 0!==r&&(i=r===Q_.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\");for(var a=Aw(\\\"Error compiling %s shader %s:\\\\n\\\",i,n),o=Aw(\\\"%s%s\\\",a,t),s=t.split(\\\"\\\\n\\\"),l={},u=0;u<s.length;u++){var c=s[u];if(\\\"\\\"!==c&&\\\"\\\\0\\\"!==c){var h=parseInt(c.split(\\\":\\\")[2]);if(isNaN(h))throw new Error(Aw(\\\"Could not parse error: %s\\\",c));l[h]=c}}for(var f=J_(e).split(\\\"\\\\n\\\"),u=0;u<f.length;u++)if(l[u+3]||l[u+2]||l[u+1]){var p=f[u];if(a+=p+\\\"\\\\n\\\",l[u+1]){var d=l[u+1];d=d.substr(d.split(\\\":\\\",3).join(\\\":\\\").length+1).trim(),a+=Aw(\\\"^^^ %s\\\\n\\\\n\\\",d)}}return{long:a.trim(),short:o.trim()}};var Tw=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};var Sw=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:Tw(e,t)}};var Ew={shader:function(t,e,r){return Dw(t).getShaderReference(e,r)},program:function(t,e,r,n,i){return Dw(t).getProgram(e,r,n,i)}},Cw=new(\\\"undefined\\\"==typeof WeakMap?function(){var t=Sw();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}}}:WeakMap),Lw=0;function zw(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function Pw(t){this.gl=t,this.shaders=[{},{}],this.programs={}}zw.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var Iw=Pw.prototype;function Dw(t){var e=Cw.get(t);return e||(e=new Pw(t),Cw.set(t,e)),e}function Ow(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}Iw.getShaderReference=function(t,e){var r=this.gl,n=this.shaders[t===r.FRAGMENT_SHADER|0],i=n[e];if(i&&r.isShader(i.shader))i.count+=1;else{var a=function(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=kw(i,r,e)}catch(t){throw console.warn(\\\"Failed to format compiler error: \\\"+t),new P_(i,\\\"Error compiling shader:\\\\n\\\"+i)}throw new P_(i,a.short,a.long)}return n}(r,t,e);i=n[e]=new zw(Lw++,e,t,a,[],1,this)}return i},Iw.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(\\\":\\\"),n.join(\\\":\\\")].join(\\\"@\\\"),a=this.programs[i];return a&&this.gl.isProgram(a)||(this.programs[i]=a=function(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var o=0;o<n.length;++o)t.bindAttribLocation(a,i[o],n[o]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var s=t.getProgramInfoLog(a);throw new P_(s,\\\"Error linking program: \\\"+s)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a};var Rw=Ow.prototype;function Fw(t,e){return t.name<e.name?-1:1}Rw.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)},Rw.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},Rw.update=function(t,e,r,n){if(!e||1===arguments.length){var i=t;t=i.vertex,e=i.fragment,r=i.uniforms,n=i.attributes}var a=this,o=a.gl,s=a._vref;a._vref=Ew.shader(o,o.VERTEX_SHADER,t),s&&s.dispose(),a.vertShader=a._vref.shader;var l=this._fref;if(a._fref=Ew.shader(o,o.FRAGMENT_SHADER,e),l&&l.dispose(),a.fragShader=a._fref.shader,!r||!n){var u=o.createProgram();if(o.attachShader(u,a.fragShader),o.attachShader(u,a.vertShader),o.linkProgram(u),!o.getProgramParameter(u,o.LINK_STATUS)){var c=o.getProgramInfoLog(u);throw new P_(c,\\\"Error linking program:\\\"+c)}r=r||U_.uniforms(o,u),n=n||U_.attributes(o,u),o.deleteProgram(u)}(n=n.slice()).sort(Fw);var h,f=[],p=[],d=[];for(h=0;h<n.length;++h){var g=n[h];if(g.type.indexOf(\\\"mat\\\")>=0){for(var v=0|g.type.charAt(g.type.length-1),m=new Array(v),y=0;y<v;++y)m[y]=d.length,p.push(g.name+\\\"[\\\"+y+\\\"]\\\"),\\\"number\\\"==typeof g.location?d.push(g.location+y):Array.isArray(g.location)&&g.location.length===v&&\\\"number\\\"==typeof g.location[y]?d.push(0|g.location[y]):d.push(-1);f.push({name:g.name,type:g.type,locations:m})}else f.push({name:g.name,type:g.type,locations:[d.length]}),p.push(g.name),\\\"number\\\"==typeof g.location?d.push(0|g.location):d.push(-1)}var x=0;for(h=0;h<d.length;++h)if(d[h]<0){for(;d.indexOf(x)>=0;)x+=1;d[h]=x}var b=new Array(r.length);function _(){a.program=Ew.program(o,a._vref,a._fref,p,d);for(var t=0;t<r.length;++t)b[t]=o.getUniformLocation(a.program,r[t].name)}_(),a._relink=_,a.types={uniforms:B_(r),attributes:B_(n)},a.attributes=I_(o,a,f,d),Object.defineProperty(a,\\\"uniforms\\\",N_(o,a,r,b))};var Bw=function(t,e,r,n,i){var a=new Ow(t);return a.update(e,r,n,i),a},Nw=function(t){var e=t.gl,r=S_(e,[0,0,0,1,1,0,1,1]),n=Bw(e,L_.boxVert,L_.lineFrag);return new jw(t,r,n)};function jw(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var Vw,Uw,qw=jw.prototype;function Hw(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function Gw(t,e,r,n){return new Function([Hw(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),Hw(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}qw.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},qw.drawBox=(Vw=[0,0],Uw=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,s=a.gl;Vw[0]=t,Vw[1]=e,Uw[0]=r,Uw[1]=n,o.uniforms.lo=Vw,o.uniforms.hi=Uw,o.uniforms.color=i,s.drawArrays(s.TRIANGLE_STRIP,0,4)}),qw.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var Ww={ge:Gw(\\\">=\\\",!1,\\\"GE\\\"),gt:Gw(\\\">\\\",!1,\\\"GT\\\"),lt:Gw(\\\"<\\\",!0,\\\"LT\\\"),le:Gw(\\\"<=\\\",!0,\\\"LE\\\"),eq:Gw(\\\"-\\\",!0,\\\"EQ\\\",!0)};function Yw(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function Xw(t,e,r,n){return new Function([Yw(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),Yw(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}var Zw={ge:Xw(\\\">=\\\",!1,\\\"GE\\\"),gt:Xw(\\\">\\\",!1,\\\"GT\\\"),lt:Xw(\\\"<\\\",!0,\\\"LT\\\"),le:Xw(\\\"<=\\\",!0,\\\"LE\\\"),eq:Xw(\\\"-\\\",!0,\\\"EQ\\\",!0)},Jw=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.gridVert,L_.gridFrag),i=Bw(e,L_.tickVert,L_.gridFrag);return new Kw(t,r,n,i)};function Kw(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function Qw(t,e){return t-e}var $w,tM,eM,rM,nM,iM=Kw.prototype;iM.draw=($w=[0,0],tM=[0,0],eM=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,u=t.gridLineColor,c=t.gridLineEnable,h=t.pixelRatio,f=0;f<2;++f){var p=a[f],d=a[f+2]-p,g=.5*(o[f+2]+o[f]),v=o[f+2]-o[f];tM[f]=2*d/v,$w[f]=2*(p-g)/v}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=$w,r.uniforms.dataScale=tM;var m=0;for(f=0;f<2;++f){eM[0]=eM[1]=0,eM[f]=1,r.uniforms.dataAxis=eM,r.uniforms.lineWidth=l[f]/(s[f+2]-s[f])*h,r.uniforms.color=u[f];var y=6*n[f].length;c[f]&&y&&i.drawArrays(i.TRIANGLES,m,y),m+=y}}),iM.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],a=[0,0];return function(){for(var o=this.plot,s=this.vbo,l=this.tickShader,u=this.ticks,c=o.gl,h=o._tickBounds,f=o.dataBox,p=o.viewBox,d=o.pixelRatio,g=o.screenBox,v=g[2]-g[0],m=g[3]-g[1],y=p[2]-p[0],x=p[3]-p[1],b=0;b<2;++b){var _=h[b],w=h[b+2]-_,M=.5*(f[b+2]+f[b]),A=f[b+2]-f[b];e[b]=2*w/A,t[b]=2*(_-M)/A}e[0]*=y/v,t[0]*=y/v,e[1]*=x/m,t[1]*=x/m,l.bind(),s.bind(),l.attributes.dataCoord.pointer();var k=l.uniforms;k.dataShift=t,k.dataScale=e;var T=o.tickMarkLength,S=o.tickMarkWidth,E=o.tickMarkColor,C=6*u[0].length,L=Math.min(Zw.ge(u[0],(f[0]-h[0])/(h[2]-h[0]),Qw),u[0].length),z=Math.min(Zw.gt(u[0],(f[2]-h[0])/(h[2]-h[0]),Qw),u[0].length),P=0+6*L,I=6*Math.max(0,z-L),D=Math.min(Zw.ge(u[1],(f[1]-h[1])/(h[3]-h[1]),Qw),u[1].length),O=Math.min(Zw.gt(u[1],(f[3]-h[1])/(h[3]-h[1]),Qw),u[1].length),R=C+6*D,F=6*Math.max(0,O-D);i[0]=2*(p[0]-T[1])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[1]*d/v,a[1]=S[1]*d/m,F&&(k.color=E[1],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[1]-T[0])/m-1,a[0]=S[0]*d/v,a[1]=T[0]*d/m,I&&(k.color=E[0],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I)),i[0]=2*(p[2]+T[3])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[3]*d/v,a[1]=S[3]*d/m,F&&(k.color=E[3],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[3]+T[2])/m-1,a[0]=S[2]*d/v,a[1]=T[2]*d/m,I&&(k.color=E[2],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I))}}(),iM.update=(rM=[1,1,-1,-1,1,-1],nM=[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)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],u=r[o],c=r[o+2],h=0;h<l.length;++h){var f=(l[h].x-u)/(c-u);s.push(f);for(var p=0;p<6;++p)n[i++]=f,n[i++]=rM[p],n[i++]=nM[p]}this.ticks=a,this.vbo.update(n)}),iM.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()};var aM=function(t){var e=t.gl,r=S_(e,[-1,-1,-1,1,1,-1,1,1]),n=Bw(e,L_.lineVert,L_.lineFrag);return new oM(t,r,n)};function oM(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var sM,lM,uM=oM.prototype;uM.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},uM.drawLine=(sM=[0,0],lM=[0,0],function(t,e,r,n,i,a){var o=this.plot,s=this.shader,l=o.gl;sM[0]=t,sM[1]=e,lM[0]=r,lM[1]=n,s.uniforms.start=sM,s.uniforms.end=lM,s.uniforms.width=i*o.pixelRatio,s.uniforms.color=a,l.drawArrays(l.TRIANGLE_STRIP,0,4)}),uM.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var cM=function(t,e,r){var n=t*e,i=hM*t,a=i-(i-t),o=t-a,s=hM*e,l=s-(s-e),u=e-l,c=o*u-(n-a*l-o*l-a*u);if(r)return r[0]=c,r[1]=n,r;return[c,n]},hM=+(Math.pow(2,27)+1);var fM=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]};var pM=function(t,e){var r=t.length;if(1===r){var n=cM(t[0],e);return n[0]?n:[n[1]]}var i=new Array(2*r),a=[.1,.1],o=[.1,.1],s=0;cM(t[0],e,a),a[0]&&(i[s++]=a[0]);for(var l=1;l<r;++l){cM(t[l],e,o);var u=a[1];fM(u,o[0],a),a[0]&&(i[s++]=a[0]);var c=o[1],h=a[1],f=c+h,p=f-c,d=h-p;a[1]=f,d&&(i[s++]=d)}a[1]&&(i[s++]=a[1]);0===s&&(i[s++]=0);return i.length=s,i};var dM=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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=-e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=-e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=-e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var gM=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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var vM={},mM=6;function yM(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function xM(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(\\\",xM(t.slice(0,e)),\\\",\\\",xM(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function bM(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 bM(e,t)}function _M(t){if(2===t.length)return[[\\\"diff(\\\",bM(t[0][0],t[1][1]),\\\",\\\",bM(t[1][0],t[0][1]),\\\")\\\"].join(\\\"\\\")];for(var e=[],r=0;r<t.length;++r)e.push([\\\"scale(\\\",xM(_M(yM(t,r))),\\\",\\\",(n=r,!0&n?\\\"-\\\":\\\"\\\"),t[0][r],\\\")\\\"].join(\\\"\\\"));return e;var n}function wM(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\\\"prod(m\\\",t,\\\"[\\\",n,\\\"],m\\\",t,\\\"[\\\",n,\\\"])\\\"].join(\\\"\\\"));return xM(r)}function MM(t){for(var e=[],r=[],n=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),i=0;i<t;++i)n[0][i]=\\\"1\\\",n[t-1][i]=\\\"w\\\"+i;for(i=0;i<t;++i)0==(1&i)?e.push.apply(e,_M(yM(n,i))):r.push.apply(r,_M(yM(n,i)));var a=xM(e),o=xM(r),s=\\\"exactInSphere\\\"+t,l=[];for(i=0;i<t;++i)l.push(\\\"m\\\"+i);var u=[\\\"function \\\",s,\\\"(\\\",l.join(),\\\"){\\\"];for(i=0;i<t;++i){u.push(\\\"var w\\\",i,\\\"=\\\",wM(i,t),\\\";\\\");for(var c=0;c<t;++c)c!==i&&u.push(\\\"var w\\\",i,\\\"m\\\",c,\\\"=scale(w\\\",i,\\\",m\\\",c,\\\"[0]);\\\")}return u.push(\\\"var p=\\\",a,\\\",n=\\\",o,\\\",d=diff(p,n);return d[d.length-1];}return \\\",s),new Function(\\\"sum\\\",\\\"diff\\\",\\\"prod\\\",\\\"scale\\\",u.join(\\\"\\\"))(gM,dM,cM,pM)}var AM=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;AM.length<=mM;)AM.push(MM(AM.length));for(var t=[],e=[\\\"slow\\\"],r=0;r<=mM;++r)t.push(\\\"a\\\"+r),e.push(\\\"o\\\"+r);var n=[\\\"function testInSphere(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(r=2;r<=mM;++r)n.push(\\\"case \\\",r,\\\":return o\\\",r,\\\"(\\\",t.slice(0,r).join(),\\\");\\\");n.push(\\\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\\\"),e.push(n.join(\\\"\\\"));var i=Function.apply(void 0,e);for(vM=i.apply(void 0,[function(t){var e=AM[t.length];return e||(e=AM[t.length]=MM(t.length)),e.apply(void 0,t)}].concat(AM)),r=0;r<=mM;++r)vM[r]=AM[r]}();var kM=vM[4],TM=function(t,e){for(var r=[],n=t.length,i=e.stars,a=0;a<n;++a)for(var o=i[a],s=1;s<o.length;s+=2){var l=o[s];if(!(l<a)&&!e.isConstraint(a,l)){for(var u=o[s-1],c=-1,h=1;h<o.length;h+=2)if(o[h-1]===l){c=o[h];break}c<0||kM(t[a],t[l],t[u],t[c])<0&&r.push(a,l)}}for(;r.length>0;){for(var l=r.pop(),a=r.pop(),u=-1,c=-1,o=i[a],f=1;f<o.length;f+=2){var p=o[f-1],d=o[f];p===l?c=d:d===l&&(u=p)}u<0||c<0||(kM(t[a],t[l],t[u],t[c])>=0||(e.flip(a,l),SM(t,e,r,u,a,c),SM(t,e,r,a,c,u),SM(t,e,r,c,l,u),SM(t,e,r,l,u,c)))}};function SM(t,e,r,n,i,a){var o=e.opposite(n,i);if(!(o<0)){if(i<n){var s=n;n=i,i=s,s=a,a=o,o=s}e.isConstraint(n,i)||kM(t[n],t[i],t[a],t[o])<0&&r.push(n,i)}}var EM,CM=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var a=r[i],o=a[0],s=a[1],l=a[2];s<l?s<o&&(a[0]=s,a[1]=l,a[2]=o):l<o&&(a[0]=l,a[1]=o,a[2]=s)}r.sort(zM);for(var u=new Array(n),i=0;i<u.length;++i)u[i]=0;var c=[],h=[],f=new Array(3*n),p=new Array(3*n),d=null;e&&(d=[]);for(var g=new LM(r,f,p,u,c,h,d),i=0;i<n;++i)for(var a=r[i],v=0;v<3;++v){var o=a[v],s=a[(v+1)%3],m=f[3*i+v]=g.locate(s,o,t.opposite(s,o)),y=p[3*i+v]=t.isConstraint(o,s);m<0&&(y?h.push(i):(c.push(i),u[i]=1),e&&d.push([s,o,-1]))}return g}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,a=n.active,o=n.next,s=n.flags,l=n.cells,u=n.constraint,c=n.neighbor;for(;a.length>0||o.length>0;){for(;a.length>0;){var h=a.pop();if(s[h]!==-i){s[h]=i;l[h];for(var f=0;f<3;++f){var p=c[3*h+f];p>=0&&0===s[p]&&(u[3*h+f]?o.push(p):(a.push(p),s[p]=i))}}}var d=o;o=a,a=d,o.length=0,i=-i}var g=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(l,s,e);if(r)return g.concat(n.boundary);return g};function LM(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function zM(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}LM.prototype.locate=(EM=[0,0,0],function(t,e,r){var n=t,i=e,a=r;return e<r?e<t&&(n=e,i=r,a=t):r<t&&(n=r,i=t,a=e),n<0?-1:(EM[0]=n,EM[1]=i,EM[2]=a,Ww.eq(this.cells,EM,zM))});var PM={},IM=5;function DM(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function OM(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(\\\",OM(t.slice(0,e)),\\\",\\\",OM(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function RM(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(\\\",OM(RM(DM(t,r))),\\\",\\\",(n=r,1&n?\\\"-\\\":\\\"\\\"),t[0][r],\\\")\\\"].join(\\\"\\\"));return e;var n}function FM(t){for(var e=[],r=[],n=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),i=[],a=0;a<t;++a)0==(1&a)?e.push.apply(e,RM(DM(n,a))):r.push.apply(r,RM(DM(n,a))),i.push(\\\"m\\\"+a);var o=OM(e),s=OM(r),l=\\\"orientation\\\"+t+\\\"Exact\\\",u=[\\\"function \\\",l,\\\"(\\\",i.join(),\\\"){var p=\\\",o,\\\",n=\\\",s,\\\",d=sub(p,n);return d[d.length-1];};return \\\",l].join(\\\"\\\");return new Function(\\\"sum\\\",\\\"prod\\\",\\\"scale\\\",\\\"sub\\\",u)(gM,cM,pM,dM)}var BM=FM(3),NM=FM(4),jM=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:BM(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],p=a*u,d=o*l,g=o*s,v=i*u,m=i*l,y=a*s,x=c*(p-d)+h*(g-v)+f*(m-y),b=7.771561172376103e-16*((Math.abs(p)+Math.abs(d))*Math.abs(c)+(Math.abs(g)+Math.abs(v))*Math.abs(h)+(Math.abs(m)+Math.abs(y))*Math.abs(f));return x>b||-x>b?x:NM(t,e,r,n)}];!function(){for(;jM.length<=IM;)jM.push(FM(jM.length));for(var t=[],e=[\\\"slow\\\"],r=0;r<=IM;++r)t.push(\\\"a\\\"+r),e.push(\\\"o\\\"+r);var n=[\\\"function getOrientation(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(r=2;r<=IM;++r)n.push(\\\"case \\\",r,\\\":return o\\\",r,\\\"(\\\",t.slice(0,r).join(),\\\");\\\");n.push(\\\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\\\"),e.push(n.join(\\\"\\\"));var i=Function.apply(void 0,e);for(PM=i.apply(void 0,[function(t){var e=jM[t.length];return e||(e=jM[t.length]=FM(t.length)),e.apply(void 0,t)}].concat(jM)),r=0;r<=IM;++r)PM[r]=jM[r]}();var VM=PM[3],UM=0,qM=1,HM=2,GM=function(t,e){for(var r=t.length,n=e.length,i=[],a=0;a<r;++a)i.push(new YM(t[a],null,UM,a));for(var a=0;a<n;++a){var o=e[a],s=t[o[0]],l=t[o[1]];s[0]<l[0]?i.push(new YM(s,l,HM,a),new YM(l,s,qM,a)):s[0]>l[0]&&i.push(new YM(l,s,HM,a),new YM(s,l,qM,a))}i.sort(XM);for(var u=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),c=[new WM([u,1],[u,0],-1,[],[],[],[])],h=[],a=0,f=i.length;a<f;++a){var p=i[a],d=p.type;d===UM?JM(h,c,t,p.a,p.idx):d===HM?QM(c,t,p):$M(c,t,p)}return h};function WM(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function YM(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function XM(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==UM&&(r=VM(t.a,t.b,e.b))?r:t.idx-e.idx)}function ZM(t,e){return VM(t.a,t.b,e)}function JM(t,e,r,n,i){for(var a=Ww.lt(e,n,ZM),o=Ww.gt(e,n,ZM),s=a;s<o;++s){for(var l=e[s],u=l.lowerIds,c=u.length;c>1&&VM(r[u[c-2]],r[u[c-1]],n)>0;)t.push([u[c-1],u[c-2],i]),c-=1;u.length=c,u.push(i);var h=l.upperIds;for(c=h.length;c>1&&VM(r[h[c-2]],r[h[c-1]],n)<0;)t.push([h[c-2],h[c-1],i]),c-=1;h.length=c,h.push(i)}}function KM(t,e){var r;return(r=t.a[0]<e.a[0]?VM(t.a,t.b,e.a):VM(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?VM(t.a,t.b,e.b):VM(e.b,e.a,t.b))||t.idx-e.idx}function QM(t,e,r){var n=Ww.le(t,r,KM),i=t[n],a=i.upperIds,o=a[a.length-1];i.upperIds=[o],t.splice(n+1,0,new WM(r.a,r.b,r.idx,[o],a))}function $M(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=Ww.eq(t,r,KM),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var tA=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new eA(r,e)};function eA(t,e){this.stars=t,this.edges=e}var rA=eA.prototype;function nA(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}rA.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,n){return t[0]=Math.min(r,n),t[1]=Math.max(r,n),Ww.eq(this.edges,t,e)>=0}}(),rA.removeTriangle=function(t,e,r){var n=this.stars;nA(n[t],e,r),nA(n[e],r,t),nA(n[r],t,e)},rA.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},rA.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},rA.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)},rA.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},rA.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e};var iA=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!sA(r,\\\"delaunay\\\",!0),i=!!sA(r,\\\"interior\\\",!0),a=!!sA(r,\\\"exterior\\\",!0),o=!!sA(r,\\\"infinity\\\",!1);if(!i&&!a||0===t.length)return[];var s=GM(t,e);if(n||i!==a||o){for(var l=tA(t.length,function(t){return t.map(aA).sort(oA)}(e)),u=0;u<s.length;++u){var c=s[u];l.addTriangle(c[0],c[1],c[2])}return n&&TM(t,l),a?i?o?CM(l,0,o):l.cells():CM(l,1,o):CM(l,-1)}return s};function aA(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function oA(t,e){return t[0]-e[0]||t[1]-e[1]}function sA(t,e,r){return e in t?t[e]:r}var lA=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))};var uA={},cA={exports:{}};!function(t,e){\\\"use strict\\\";function r(t,e){if(!t)throw new Error(e||\\\"Assertion failed\\\")}function n(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 a;\\\"object\\\"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{a=uA.Buffer}catch(t){}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}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,n){if(\\\"number\\\"==typeof t)return this._initNumber(t,e,n);if(\\\"object\\\"==typeof t)return this._initArray(t,e,n);\\\"hex\\\"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;\\\"-\\\"===(t=t.toString().replace(/\\\\s+/g,\\\"\\\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\\\"-\\\"===t[0]&&(this.negative=1),this.strip(),\\\"le\\\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){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):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\\\"le\\\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r(\\\"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 i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\\\"be\\\"===n)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\\\"le\\\"===n)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);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,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=o(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=o(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,u=0,c=r;c<l;c+=n)u=s(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==o){var h=1;for(u=s(t,c,t.length,e),c=0;c<o;c++)h*=e;this.imuln(h),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},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 l=[\\\"\\\",\\\"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],c=[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 h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,h=67108863&l,f=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=f;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[u]=0|h,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(t=t||10,e=0|e||1,16===t||\\\"hex\\\"===t){n=\\\"\\\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],h=(16777215&(s<<i|a)).toString(16);n=0!==(a=s>>>24-i&16777215)||o!==this.length-1?l[6-h.length]+h+n:h+n,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(n=a.toString(16)+n);n.length%e!=0;)n=\\\"0\\\"+n;return 0!==this.negative&&(n=\\\"-\\\"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=c[t];n=\\\"\\\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);n=(d=d.idivn(p)).isZero()?g+n:l[f-g.length]+g+n}for(this.isZero()&&(n=\\\"0\\\"+n);n.length%e!=0;)n=\\\"0\\\"+n;return 0!==this.negative&&(n=\\\"-\\\"+n),n}r(!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&&r(!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 r(void 0!==a),this.toArrayLike(a,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),a=n||Math.max(1,i);r(i<=a,\\\"byte array longer than desired length\\\"),r(a>0,\\\"Requested array length <= 0\\\"),this.strip();var o,s,l=\\\"le\\\"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},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 r(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 r(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 r(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){r(\\\"number\\\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r(\\\"number\\\"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),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 i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];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,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&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 f=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,u=0,c=0|o[0],h=8191&c,f=c>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],M=8191&w,A=w>>>13,k=0|o[5],T=8191&k,S=k>>>13,E=0|o[6],C=8191&E,L=E>>>13,z=0|o[7],P=8191&z,I=z>>>13,D=0|o[8],O=8191&D,R=D>>>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,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,ft=ct>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(h,V))|0)+((8191&(i=(i=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;u=((a=Math.imul(f,U))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var mt=(u+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;u=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),i=(i=Math.imul(m,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(u+(n=n+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(f,Y)|0))<<13)|0;u=((a=a+Math.imul(f,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(m,H)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(u+(n=n+Math.imul(h,J)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;u=((a=a+Math.imul(f,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(M,V),i=(i=Math.imul(M,U))+Math.imul(A,V)|0,a=Math.imul(A,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(m,Y)|0,i=(i=i+Math.imul(m,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(u+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;u=((a=a+Math.imul(f,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(A,H)|0,a=a+Math.imul(A,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(u+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((a=a+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(u+(n=n+Math.imul(h,at)|0)|0)+((8191&(i=(i=i+Math.imul(h,ot)|0)+Math.imul(f,at)|0))<<13)|0;u=((a=a+Math.imul(f,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(I,V)|0,a=Math.imul(I,U),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,J)|0,a=a+Math.imul(A,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var Mt=(u+(n=n+Math.imul(h,lt)|0)|0)+((8191&(i=(i=i+Math.imul(h,ut)|0)+Math.imul(f,lt)|0))<<13)|0;u=((a=a+Math.imul(f,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,V),i=(i=Math.imul(O,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(A,$)|0,a=a+Math.imul(A,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(m,at)|0,i=(i=i+Math.imul(m,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ut)|0;var At=(u+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;u=((a=a+Math.imul(f,ft)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,V),i=(i=Math.imul(B,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(A,rt)|0,a=a+Math.imul(A,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,i=(i=i+Math.imul(m,ut)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ut)|0,n=n+Math.imul(d,ht)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,a=a+Math.imul(g,ft)|0;var kt=(u+(n=n+Math.imul(h,dt)|0)|0)+((8191&(i=(i=i+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;u=((a=a+Math.imul(f,gt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(A,at)|0,a=a+Math.imul(A,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(m,ht)|0,i=(i=i+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,a=a+Math.imul(y,ft)|0;var Tt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;u=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(A,lt)|0,a=a+Math.imul(A,ut)|0,n=n+Math.imul(b,ht)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,a=a+Math.imul(_,ft)|0;var St=(u+(n=n+Math.imul(m,dt)|0)|0)+((8191&(i=(i=i+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;u=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(A,ht)|0,a=a+Math.imul(A,ft)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ut)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,gt)|0)+Math.imul(A,dt)|0))<<13)|0;u=((a=a+Math.imul(A,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,a=a+Math.imul(L,ft)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(I,ht)|0,a=a+Math.imul(I,ft)|0;var zt=(u+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;u=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(O,ht)|0,i=(i=i+Math.imul(O,ft)|0)+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ht),i=(i=Math.imul(B,ft))+Math.imul(N,ht)|0,a=Math.imul(N,ft);var It=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,gt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,gt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=At,l[9]=kt,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function p(t,e,r){return(new d).mulp(t,e,r)}function d(t,e){this.x=t,this.y=e}Math.imul||(f=h),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):r<63?h(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,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),u=Math.max(0,a-t.length+1);u<=l;u++){var c=a-u,h=(0|t.words[c])*(0|e.words[u]),f=67108863&h;s=67108863&(f=f+s|0),i+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},d.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},d.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},d.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},d.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=l,f=u,p=0;p<o;p++){var d=r[c+p],g=n[c+p],v=r[c+p+o],m=n[c+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[c+p]=d+v,n[c+p]=g+m,r[c+p+o]=d-v,n[c+p+o]=g-m,p!==s&&(y=l*h-u*f,f=l*f+u*h,h=y)}},d.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},d.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},d.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},d.prototype.convert13b=function(t,e,n,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],n[2*o]=8191&a,a>>>=13,n[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)n[o]=0;r(0===a),r(0==(-8192&a))},d.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},d.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=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,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,h,n,i);for(var p=0;p<n;p++){var d=s[p]*c[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*c[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,a,n,i),this.conjugate(f,a,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),p(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){r(\\\"number\\\"==typeof t),r(t<67108864);for(var e=0,n=0;n<this.length;n++){var i=(0|this.words[n])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[n]=67108863&a}return 0!==e&&(this.words[n]=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,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}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){r(\\\"number\\\"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<n;this.words[e]=l|o,o=s>>>26-n}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r(\\\"number\\\"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=n;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|this.words[u];this.words[u]=c<<26-a|h>>>a,c=h&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},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){r(\\\"number\\\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n)&&!!(this.words[n]&i)},i.prototype.imaskn=function(t){r(\\\"number\\\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,\\\"imaskn works only with positive numbers\\\"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r(\\\"number\\\"==typeof t),r(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(r(\\\"number\\\"==typeof t),r(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,n){var i,a,o=t.length+n;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+n])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+n]=67108863&a}for(;i<this.length-n;i++)s=(a=(0|this.words[i+n])+s)>>26,this.words[i+n]=67108863&a;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;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 u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(a,1,l);0===c.negative&&(n=c,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,n){return r(!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(),n&&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(),n&&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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=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),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var c=n.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(c),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(n.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(n.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s),o.isub(l)):(n.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(n.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(n.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s)):(n.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||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){r(\\\"number\\\"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var a=i,o=n;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,\\\"Number is too big\\\");var i=0|this.words[0];e=i===t?0:i<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],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(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 _(t)},i.prototype.toRed=function(t){return r(!this.red,\\\"Already a number in reduction context\\\"),r(0===this.negative,\\\"red works only with positives\\\"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(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 r(!this.red,\\\"Already a number in reduction context\\\"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,\\\"redAdd works only with red numbers\\\"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,\\\"redIAdd works only with red numbers\\\"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,\\\"redSub works only with red numbers\\\"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,\\\"redISub works only with red numbers\\\"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,\\\"redShl works only with red numbers\\\"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,\\\"redSqr works only with red numbers\\\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,\\\"redISqr works only with red numbers\\\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,\\\"redSqrt works only with red numbers\\\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,\\\"redInvm works only with red numbers\\\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,\\\"redNeg works only with red numbers\\\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,\\\"redPow(normalNum)\\\"),this.red._verify1(this),this.red.pow(this,t)};var g={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 m(){v.call(this,\\\"k256\\\",\\\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\\\")}function y(){v.call(this,\\\"p224\\\",\\\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\\\")}function x(){v.call(this,\\\"p192\\\",\\\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\\\")}function b(){v.call(this,\\\"25519\\\",\\\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\\\")}function _(t){if(\\\"string\\\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),\\\"modulus must be greater than 1\\\"),this.m=t,this.prime=null}function w(t){_.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)},n(m,v),m.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 i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},m.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},n(y,v),n(x,v),n(b,v),b.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(g[t])return g[t];var e;if(\\\"k256\\\"===t)e=new m;else if(\\\"p224\\\"===t)e=new y;else if(\\\"p192\\\"===t)e=new x;else{if(\\\"p25519\\\"!==t)throw new Error(\\\"Unknown prime \\\"+t);e=new b}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,\\\"red works only with positives\\\"),r(t.red,\\\"red works only with red numbers\\\")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),\\\"red works only with positives\\\"),r(t.red&&t.red===e.red,\\\"red works only with red numbers\\\")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.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)},_.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},_.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)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);r(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var h=this.pow(c,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,v=0;0!==g.cmp(s);v++)g=g.redSqr();r(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.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 u=e.words[n],c=l-1;c>=0;c--){var h=u>>c&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new w(t)},n(w,_),w.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},w.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},w.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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},w.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)},w.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(cA,this),cA=cA.exports;var hA=function(t){return t.cmp(new cA(0))};var fA={};(function(t){var e=!1;if(\\\"undefined\\\"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);if(r[0]=1,e=!0,1072693248===n[1]){(fA=function(t){return r[0]=t,[n[0],n[1]]}).pack=function(t,e){return n[0]=t,n[1]=e,r[0]},fA.lo=function(t){return r[0]=t,n[0]},fA.hi=function(t){return r[0]=t,n[1]}}else if(1072693248===n[0]){(fA=function(t){return r[0]=t,[n[1],n[0]]}).pack=function(t,e){return n[1]=t,n[0]=e,r[0]},fA.lo=function(t){return r[0]=t,n[1]},fA.hi=function(t){return r[0]=t,n[0]}}else e=!1}if(!e){var i=new t(8);(fA=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]}).pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},fA.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},fA.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}fA.sign=function(t){return fA.hi(t)>>>31},fA.exponent=function(t){return(fA.hi(t)<<1>>>21)-1023},fA.fraction=function(t){var e=fA.lo(t),r=fA.hi(t),n=1048575&r;return 2146435072&r&&(n+=1<<20),[e,n]},fA.denormalized=function(t){return!(2146435072&fA.hi(t))}}).call(this,Rb.Buffer);var pA=function(t){var e=fA.exponent(t);return e<52?new cA(t):new cA(t*Math.pow(2,52-e)).ushln(e-52)};var dA=function(t,e){var r=hA(t),n=hA(e);if(0===r)return[pA(0),pA(1)];if(0===n)return[pA(0),pA(0)];n<0&&(t=t.neg(),e=e.neg());var i=t.gcd(e);if(i.cmpn(1))return[t.div(i),e.div(i)];return[t,e]};var gA=function(t,e){return dA(t[0].mul(e[1]),t[1].mul(e[0]))};var vA=function(t){return t&&\\\"object\\\"==typeof t&&Boolean(t.words)};var mA=function(t){return Array.isArray(t)&&2===t.length&&vA(t[0])&&vA(t[1])};var yA=function(t){return new cA(t)};var xA=function t(e,r){if(mA(e))return r?gA(e,t(r)):[e[0].clone(),e[1].clone()];var n=0;var i,a;if(vA(e))i=e.clone();else if(\\\"string\\\"==typeof e)i=yA(e);else{if(0===e)return[pA(0),pA(1)];if(e===Math.floor(e))i=pA(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),n-=256;i=pA(e)}}if(mA(r))i.mul(r[1]),a=r[0].clone();else if(vA(r))a=r.clone();else if(\\\"string\\\"==typeof r)a=yA(r);else if(r)if(r===Math.floor(r))a=pA(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),n+=256;a=pA(r)}else a=pA(1);n>0?i=i.ushln(n):n<0&&(a=a.ushln(-n));return dA(i,a)};var bA=function(t){var e=t.length,r=t.words,n=0;if(1===e)n=r[0];else if(2===e)n=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var a=r[i];n+=a*Math.pow(67108864,i)}return hA(t)*n};var _A=Mb.countTrailingZeros,wA=function(t){var e=_A(fA.lo(t));if(e<32)return e;var r=_A(fA.hi(t));if(r>20)return 52;return r+32};var MA=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.abs().divmod(r.abs()),i=n.div,a=bA(i),o=n.mod,s=e.negative!==r.negative?-1:1;if(0===o.cmpn(0))return s*a;if(a){var l=wA(a)+4,u=bA(o.ushln(l).divRound(r));return s*(a+u*Math.pow(2,-l))}var c=r.bitLength()-o.bitLength()+53,u=bA(o.ushln(c).divRound(r));return c<1023?s*u*Math.pow(2,-c):(u*=Math.pow(2,-1023),s*u*Math.pow(2,1023-c))};var AA={},kA=\\\"d\\\",TA=\\\"ax\\\",SA=\\\"vv\\\",EA=\\\"fp\\\",CA=\\\"es\\\",LA=\\\"rs\\\",zA=\\\"re\\\",PA=\\\"rb\\\",IA=\\\"ri\\\",DA=\\\"rp\\\",OA=\\\"bs\\\",RA=\\\"be\\\",FA=\\\"bb\\\",BA=\\\"bi\\\",NA=\\\"bp\\\",jA=\\\"rv\\\",VA=\\\"Q\\\",UA=[kA,TA,SA,LA,zA,PA,IA,OA,RA,FA,BA];function qA(t){var e=\\\"bruteForce\\\"+(t?\\\"Full\\\":\\\"Partial\\\"),r=[],n=UA.slice();t||n.splice(3,0,EA);var i=[\\\"function \\\"+e+\\\"(\\\"+n.join()+\\\"){\\\"];function a(e,n){var a=function(t,e,r){var n=\\\"bruteForce\\\"+(t?\\\"Red\\\":\\\"Blue\\\")+(e?\\\"Flip\\\":\\\"\\\")+(r?\\\"Full\\\":\\\"\\\"),i=[\\\"function \\\",n,\\\"(\\\",UA.join(),\\\"){\\\",\\\"var \\\",CA,\\\"=2*\\\",kA,\\\";\\\"],a=\\\"for(var i=\\\"+LA+\\\",\\\"+DA+\\\"=\\\"+CA+\\\"*\\\"+LA+\\\";i<\\\"+zA+\\\";++i,\\\"+DA+\\\"+=\\\"+CA+\\\"){var x0=\\\"+PA+\\\"[\\\"+TA+\\\"+\\\"+DA+\\\"],x1=\\\"+PA+\\\"[\\\"+TA+\\\"+\\\"+DA+\\\"+\\\"+kA+\\\"],xi=\\\"+IA+\\\"[i];\\\",o=\\\"for(var j=\\\"+OA+\\\",\\\"+NA+\\\"=\\\"+CA+\\\"*\\\"+OA+\\\";j<\\\"+RA+\\\";++j,\\\"+NA+\\\"+=\\\"+CA+\\\"){var y0=\\\"+FA+\\\"[\\\"+TA+\\\"+\\\"+NA+\\\"],\\\"+(r?\\\"y1=\\\"+FA+\\\"[\\\"+TA+\\\"+\\\"+NA+\\\"+\\\"+kA+\\\"],\\\":\\\"\\\")+\\\"yi=\\\"+BA+\\\"[j];\\\";return t?i.push(a,VA,\\\":\\\",o):i.push(o,VA,\\\":\\\",a),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=\\\"+TA+\\\"+1;k<\\\"+kA+\\\";++k){var r0=\\\"+PA+\\\"[k+\\\"+DA+\\\"],r1=\\\"+PA+\\\"[k+\\\"+kA+\\\"+\\\"+DA+\\\"],b0=\\\"+FA+\\\"[k+\\\"+NA+\\\"],b1=\\\"+FA+\\\"[k+\\\"+kA+\\\"+\\\"+NA+\\\"];if(r1<b0||b1<r0)continue \\\"+VA+\\\";}var \\\"+jA+\\\"=\\\"+SA+\\\"(\\\"),e?i.push(\\\"yi,xi\\\"):i.push(\\\"xi,yi\\\"),i.push(\\\");if(\\\"+jA+\\\"!==void 0)return \\\"+jA+\\\";}}}\\\"),{name:n,code:i.join(\\\"\\\")}}(e,n,t);r.push(a.code),i.push(\\\"return \\\"+a.name+\\\"(\\\"+UA.join()+\\\");\\\")}i.push(\\\"if(\\\"+zA+\\\"-\\\"+LA+\\\">\\\"+RA+\\\"-\\\"+OA+\\\"){\\\"),t?(a(!0,!1),i.push(\\\"}else{\\\"),a(!1,!1)):(i.push(\\\"if(\\\"+EA+\\\"){\\\"),a(!0,!0),i.push(\\\"}else{\\\"),a(!0,!1),i.push(\\\"}}else{if(\\\"+EA+\\\"){\\\"),a(!1,!0),i.push(\\\"}else{\\\"),a(!1,!1),i.push(\\\"}\\\")),i.push(\\\"}}return \\\"+e);var o=r.join(\\\"\\\")+i.join(\\\"\\\");return new Function(o)()}AA.partial=qA(!1),AA.full=qA(!0);var HA=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(GA.replace(\\\"_\\\",n.join()).replace(\\\"$\\\",t)),Function.apply(void 0,r)},GA=\\\"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\\\";var WA=function(t,e,r,n,i,a){if(n<=r+1)return r;var o=r,s=n,l=n+r>>>1,u=2*t,c=l,h=i[u*l+e];for(;o<s;){if(s-o<XA){ZA(t,e,o,s,i,a),h=i[u*l+e];break}var f=s-o,p=Math.random()*f+o|0,d=i[u*p+e],g=Math.random()*f+o|0,v=i[u*g+e],m=Math.random()*f+o|0,y=i[u*m+e];d<=v?y>=v?(c=g,h=v):d>=y?(c=p,h=d):(c=m,h=y):v>=y?(c=g,h=v):y>=d?(c=p,h=d):(c=m,h=y);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];a[s-1]=a[c],a[c]=M,c=YA(t,e,o,s-1,i,a,h);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];if(a[s-1]=a[c],a[c]=M,l<c){for(s=c-1;o<s&&i[u*(s-1)+e]===h;)s-=1;s+=1}else{if(!(c<l))break;for(o=c+1;o<s&&i[u*o+e]===h;)o+=1}}return YA(t,e,r,l,i,a,i[u*l+e])},YA=HA(\\\"lo<p0\\\",[\\\"p0\\\"]),XA=8;function ZA(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,h=o*(l-1);c>r&&i[h+e]>u;--c,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=i[f];i[f]=i[p],i[p]=g}var v=a[c];a[c]=a[c-1],a[c-1]=v}}var JA=function(t,e){e<=4*KA?QA(0,e-1,t):function t(e,r,n){var i=(r-e+1)/6|0,a=e+i,o=r-i,s=e+r>>1,l=s-i,u=s+i,c=a,h=l,f=s,p=u,d=o,g=e+1,v=r-1,m=0;nk(c,h,n)&&(m=c,c=h,h=m);nk(p,d,n)&&(m=p,p=d,d=m);nk(c,f,n)&&(m=c,c=f,f=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(c,p,n)&&(m=c,c=p,p=m);nk(f,p,n)&&(m=f,f=p,p=m);nk(h,d,n)&&(m=h,h=d,d=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(p,d,n)&&(m=p,p=d,d=m);var y=n[2*h];var x=n[2*h+1];var b=n[2*p];var _=n[2*p+1];var w=2*c;var M=2*f;var A=2*d;var k=2*a;var T=2*s;var S=2*o;for(var E=0;E<2;++E){var C=n[w+E],L=n[M+E],z=n[A+E];n[k+E]=C,n[T+E]=L,n[S+E]=z}tk(l,e,n);tk(u,r,n);for(var P=g;P<=v;++P)if(ik(P,y,x,n))P!==g&&$A(P,g,n),++g;else if(!ik(P,b,_,n))for(;;){if(ik(v,b,_,n)){ik(v,y,x,n)?(ek(P,g,v,n),++g,--v):($A(P,v,n),--v);break}if(--v<P)break}rk(e,g-1,y,x,n);rk(r,v+1,b,_,n);g-2-e<=KA?QA(e,g-2,n):t(e,g-2,n);r-(v+2)<=KA?QA(v+2,r,n):t(v+2,r,n);v-g<=KA?QA(g,v,n):t(g,v,n)}(0,e-1,t)},KA=32;function QA(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function $A(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function tk(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function ek(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=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]=i,n[r+1]=a}function rk(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function nk(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function ik(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}var ak={init:function(t){var e=Mb.nextPow2(t);sk.length<e&&(__.free(sk),sk=__.mallocInt32(e));lk.length<e&&(__.free(lk),lk=__.mallocInt32(e));uk.length<e&&(__.free(uk),uk=__.mallocInt32(e));ck.length<e&&(__.free(ck),ck=__.mallocInt32(e));hk.length<e&&(__.free(hk),hk=__.mallocInt32(e));fk.length<e&&(__.free(fk),fk=__.mallocInt32(e));var r=8*e;pk.length<r&&(__.free(pk),pk=__.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d],v=h*d;pk[c++]=i[v+f],pk[c++]=-(g+1),pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+ok,m=h*d;pk[c++]=l[m+f],pk[c++]=-g,pk[c++]=l[m+p],pk[c++]=g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,d=0;d<y;++d){var _=0|pk[2*d+1];if(_>=ok)dk(uk,ck,b--,_=_-ok|0);else if(_>=0)dk(sk,lk,x--,_);else if(_<=-ok){_=-_-ok|0;for(var w=0;w<x;++w){var M=e(sk[w],_);if(void 0!==M)return M}gk(uk,ck,b++,_)}else{_=-_-1|0;for(var w=0;w<b;++w){var M=e(_,uk[w]);if(void 0!==M)return M}gk(sk,lk,x++,_)}}},sweepComplete:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d]+1<<1,v=h*d;pk[c++]=i[v+f],pk[c++]=-g,pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+1<<1,m=h*d;pk[c++]=l[m+f],pk[c++]=1|-g,pk[c++]=l[m+p],pk[c++]=1|g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,_=0,d=0;d<y;++d){var w=0|pk[2*d+1],M=1&w;if(d<y-1&&w>>1==pk[2*d+3]>>1&&(M=2,d+=1),w<0){for(var A=-(w>>1)-1,k=0;k<_;++k){var T=e(hk[k],A);if(void 0!==T)return T}if(0!==M)for(var k=0;k<x;++k){var T=e(sk[k],A);if(void 0!==T)return T}if(1!==M)for(var k=0;k<b;++k){var T=e(uk[k],A);if(void 0!==T)return T}0===M?gk(sk,lk,x++,A):1===M?gk(uk,ck,b++,A):2===M&&gk(hk,fk,_++,A)}else{var A=(w>>1)-1;0===M?dk(sk,lk,x--,A):1===M?dk(uk,ck,b--,A):2===M&&dk(hk,fk,_--,A)}}},scanBipartite:function(t,e,r,n,i,a,o,s,l,u,c,h){var f=0,p=2*t,d=e,g=e+t,v=1,m=1;n?m=ok:v=ok;for(var y=i;y<a;++y){var x=y+v,b=p*y;pk[f++]=o[b+d],pk[f++]=-x,pk[f++]=o[b+g],pk[f++]=x}for(var y=l;y<u;++y){var x=y+m,_=p*y;pk[f++]=c[_+d],pk[f++]=-x}var w=f>>>1;JA(pk,w);for(var M=0,y=0;y<w;++y){var A=0|pk[2*y+1];if(A<0){var x=-A,k=!1;if(x>=ok?(k=!n,x-=ok):(k=!!n,x-=1),k)gk(sk,lk,M++,x);else{var T=h[x],S=p*x,E=c[S+e+1],C=c[S+e+1+t];t:for(var L=0;L<M;++L){var z=sk[L],P=p*z;if(!(C<o[P+e+1]||o[P+e+1+t]<E)){for(var I=e+2;I<t;++I)if(c[S+I+t]<o[P+I]||o[P+I+t]<c[S+I])continue t;var D,O=s[z];if(void 0!==(D=n?r(T,O):r(O,T)))return D}}}}else dk(sk,lk,M--,A-v)}},scanComplete:function(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,f=2*t,p=e,d=e+t,g=n;g<i;++g){var v=g+ok,m=f*g;pk[h++]=a[m+p],pk[h++]=-v,pk[h++]=a[m+d],pk[h++]=v}for(var g=s;g<l;++g){var v=g+1,y=f*g;pk[h++]=u[y+p],pk[h++]=-v}var x=h>>>1;JA(pk,x);for(var b=0,g=0;g<x;++g){var _=0|pk[2*g+1];if(_<0){var v=-_;if(v>=ok)sk[b++]=v-ok;else{var w=c[v-=1],M=f*v,A=u[M+e+1],k=u[M+e+1+t];t:for(var T=0;T<b;++T){var S=sk[T],E=o[S];if(E===w)break;var C=f*S;if(!(k<a[C+e+1]||a[C+e+1+t]<A)){for(var L=e+2;L<t;++L)if(u[M+L+t]<a[C+L]||a[C+L+t]<u[M+L])continue t;var z=r(E,w);if(void 0!==z)return z}}}}else{for(var v=_-ok,T=b-1;T>=0;--T)if(sk[T]===v){for(var L=T+1;L<b;++L)sk[L-1]=sk[L];break}--b}}}},ok=1<<28,sk=__.mallocInt32(1024),lk=__.mallocInt32(1024),uk=__.mallocInt32(1024),ck=__.mallocInt32(1024),hk=__.mallocInt32(1024),fk=__.mallocInt32(1024),pk=__.mallocDouble(8192);function dk(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function gk(t,e,r,n){t[r]=n,e[n]=r}var vk=function(t,e,r,n,i,a,o,s,l){!function(t,e){var r=8*Mb.log2(e+1)*(t+1)|0,n=Mb.nextPow2(Ek*r);Lk.length<n&&(__.free(Lk),Lk=__.mallocInt32(n));var i=Mb.nextPow2(Ck*r);zk<i&&(__.free(zk),zk=__.mallocDouble(i))}(t,n+o);var u,c=0,h=2*t;Pk(c++,0,0,n,0,o,r?16:0,-1/0,1/0),r||Pk(c++,0,0,o,0,n,1,-1/0,1/0);for(;c>0;){var f=(c-=1)*Ek,p=Lk[f],d=Lk[f+1],g=Lk[f+2],v=Lk[f+3],m=Lk[f+4],y=Lk[f+5],x=c*Ck,b=zk[x],_=zk[x+1],w=1&y,M=!!(16&y),A=i,k=a,T=s,S=l;if(w&&(A=s,k=l,T=i,S=a),!(2&y&&(g=Ak(t,p,d,g,A,k,_),d>=g)||4&y&&(d=kk(t,p,d,g,A,k,b))>=g)){var E=g-d,C=m-v;if(M){if(t*E*(E+C)<_k){if(void 0!==(u=ak.scanComplete(t,p,e,d,g,A,k,v,m,T,S)))return u;continue}}else{if(t*Math.min(E,C)<xk){if(void 0!==(u=mk(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}if(t*E*C<bk){if(void 0!==(u=ak.scanBipartite(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}}var L=wk(t,p,d,g,A,k,b,_);if(d<L)if(t*(L-d)<xk){if(void 0!==(u=yk(t,p+1,e,d,L,A,k,v,m,T,S)))return u}else if(p===t-2){if(void 0!==(u=w?ak.sweepBipartite(t,e,v,m,T,S,d,L,A,k):ak.sweepBipartite(t,e,d,L,A,k,v,m,T,S)))return u}else Pk(c++,p+1,d,L,v,m,w,-1/0,1/0),Pk(c++,p+1,v,m,d,L,1^w,-1/0,1/0);if(L<g){var z=WA(t,p,v,m,T,S),P=T[h*z+p],I=Mk(t,p,z,m,T,S,P);if(I<m&&Pk(c++,p,L,g,I,m,(4|w)+(M?16:0),P,_),v<z&&Pk(c++,p,L,g,v,z,(2|w)+(M?16:0),b,P),z+1===I){if(void 0!==(u=M?Dk(t,p,e,L,g,A,k,z,T,S[z]):Ik(t,p,e,w,L,g,A,k,z,T,S[z])))return u}else if(z<I){var D;if(M){if(D=Tk(t,p,L,g,A,k,P),L<D){var O=Mk(t,p,L,D,A,k,P);if(p===t-2){if(L<O&&void 0!==(u=ak.sweepComplete(t,e,L,O,A,k,z,I,T,S)))return u;if(O<D&&void 0!==(u=ak.sweepBipartite(t,e,O,D,A,k,z,I,T,S)))return u}else L<O&&Pk(c++,p+1,L,O,z,I,16,-1/0,1/0),O<D&&(Pk(c++,p+1,O,D,z,I,0,-1/0,1/0),Pk(c++,p+1,z,I,O,D,1,-1/0,1/0))}}else D=w?Sk(t,p,L,g,A,k,P):Tk(t,p,L,g,A,k,P),L<D&&(p===t-2?u=w?ak.sweepBipartite(t,e,z,I,T,S,L,D,A,k):ak.sweepBipartite(t,e,L,D,A,k,z,I,T,S):(Pk(c++,p+1,L,D,z,I,w,-1/0,1/0),Pk(c++,p+1,z,I,L,D,1^w,-1/0,1/0)))}}}}},mk=AA.partial,yk=AA.full,xk=128,bk=1<<22,_k=1<<22,wk=HA(\\\"!(lo>=p0)&&!(p1>=hi)\\\",[\\\"p0\\\",\\\"p1\\\"]),Mk=HA(\\\"lo===p0\\\",[\\\"p0\\\"]),Ak=HA(\\\"lo<p0\\\",[\\\"p0\\\"]),kk=HA(\\\"hi<=p0\\\",[\\\"p0\\\"]),Tk=HA(\\\"lo<=p0&&p0<=hi\\\",[\\\"p0\\\"]),Sk=HA(\\\"lo<p0&&p0<=hi\\\",[\\\"p0\\\"]),Ek=6,Ck=2,Lk=__.mallocInt32(1024),zk=__.mallocDouble(1024);function Pk(t,e,r,n,i,a,o,s,l){var u=Ek*t;Lk[u]=e,Lk[u+1]=r,Lk[u+2]=n,Lk[u+3]=i,Lk[u+4]=a,Lk[u+5]=o;var c=Ck*t;zk[c]=s,zk[c+1]=l}function Ik(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,p=u[f+e];t:for(var d=i,g=i*h;d<a;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=u[f+b],w=u[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(c,x):r(x,c)))return y}}}function Dk(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var p=n,d=n*c;p<i;++p,d+=c){var g=o[p];if(g!==u){var v=a[d+e],m=a[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=a[d+y],m=a[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,u);if(void 0!==_)return _}}}}var Ok,Rk=function(t,e,r){switch(arguments.length){case 1:return Ok=[],Nk(n=t,n,jk,!0),Ok;case 2:return\\\"function\\\"==typeof e?Nk(t,t,e,!0):function(t,e){return Ok=[],Nk(t,e,jk,!1),Ok}(t,e);case 3:return Nk(t,e,r,!1);default:throw new Error(\\\"box-intersect: Invalid arguments\\\")}var n};function Fk(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function Bk(t,e,r,n){for(var i=0,a=0,o=0,s=t.length;o<s;++o){var l=t[o];if(!Fk(e,l)){for(var u=0;u<2*e;++u)r[i++]=l[u];n[a++]=o}}return a}function Nk(t,e,r,n){var i=t.length,a=e.length;if(!(i<=0||a<=0)){var o=t[0].length>>>1;if(!(o<=0)){var s,l=__.mallocDouble(2*o*i),u=__.mallocInt32(i);if((i=Bk(t,o,l,u))>0){if(1===o&&n)ak.init(i),s=ak.sweepComplete(o,r,0,i,l,u,0,i,l,u);else{var c=__.mallocDouble(2*o*a),h=__.mallocInt32(a);(a=Bk(e,o,c,h))>0&&(ak.init(i+a),s=1===o?ak.sweepBipartite(o,r,0,i,l,u,0,a,c,h):vk(o,r,n,i,l,u,a,c,h),__.free(c),__.free(h))}__.free(l),__.free(u)}return s}}}function jk(t,e){Ok.push([t,e])}var Vk=function(t,e){return dA(t[0].mul(e[0]),t[1].mul(e[1]))};var Uk=function(t){return hA(t[0])*hA(t[1])};var qk=function(t,e){return dA(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))};var Hk=function(t,e){return dA(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))};var Gk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=Hk(t[i],e[i]);return n};var Wk=function(t,e){for(var r=xA(e),n=t.length,i=new Array(n),a=0;a<n;++a)i[a]=Vk(t[a],r);return i};var Yk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=qk(t[i],e[i]);return n};var Xk=function(t,e,r,n){var i=Yk(e,t),a=Yk(n,r),o=Zk(i,a);if(0===Uk(o))return null;var s=Yk(t,r),l=Zk(a,s),u=gA(l,o),c=Wk(i,u);return Gk(t,c)};function Zk(t,e){return qk(Vk(t[0],e[1]),Vk(t[1],e[0]))}var Jk=Math.pow(2,-1074),Kk=-1>>>0,Qk=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-Jk:Jk;var r=fA.hi(t),n=fA.lo(t);e>t==t>0?n===Kk?(r+=1,n=0):n+=1:0===n?(n=Kk,r-=1):n-=1;return fA.pack(n,r)};var $k=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=xA(t[r]);return e};var tT=function(t,e,r,n){var i=eT(t,r,n),a=eT(e,r,n);if(i>0&&a>0||i<0&&a<0)return!1;var o=eT(r,t,e),s=eT(n,t,e);if(o>0&&s>0||o<0&&s<0)return!1;if(0===i&&0===a&&0===o&&0===s)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],h=Math.min(u,c),f=Math.max(u,c);if(f<s||l<h)return!1}return!0}(t,e,r,n);return!0},eT=PM[3];var rT=nT;function nT(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}var iT=nT.prototype;Object.defineProperty(iT,\\\"length\\\",{get:function(){return this.roots.length}}),iT.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},iT.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},iT.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}};var aT=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=lT(t,[],sT(t));return hT(e,n,r),!!n}(t,e,!!r);for(;fT(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};function oT(t){var e=MA(t);return[Qk(e,-1/0),Qk(e,1/0)]}function sT(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[Qk(n[0],-1/0),Qk(n[1],-1/0),Qk(n[0],1/0),Qk(n[1],1/0)]}return e}function lT(t,e,r){for(var n=e.length,i=new rT(n),a=[],o=0;o<e.length;++o){var s=e[o],l=oT(s[0]),u=oT(s[1]);a.push([Qk(l[0],-1/0),Qk(u[0],-1/0),Qk(l[1],1/0),Qk(u[1],1/0)])}Rk(a,function(t,e){i.link(t,e)});var c=!0,h=new Array(n);for(o=0;o<n;++o){(p=i.find(o))!==o&&(c=!1,t[p]=[Math.min(t[o][0],t[p][0]),Math.min(t[o][1],t[p][1])])}if(c)return null;var f=0;for(o=0;o<n;++o){var p;(p=i.find(o))===o?(h[o]=f,t[f++]=t[o]):h[o]=-1}t.length=f;for(o=0;o<n;++o)h[o]<0&&(h[o]=h[i.find(o)]);return h}function uT(t,e){return t[0]-e[0]||t[1]-e[1]}function cT(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 hT(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(cT):t.sort(uT);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],u=t[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(t[s++]=u)}t.length=s}}function fT(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[Qk(Math.min(a[0],o[0]),-1/0),Qk(Math.min(a[1],o[1]),-1/0),Qk(Math.max(a[0],o[0]),1/0),Qk(Math.max(a[1],o[1]),1/0)]}return r}(t,e),i=function(t,e,r){var n=[];return Rk(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&&a[0]!==o[1]&&a[1]!==o[0]&&a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],u=t[o[0]],c=t[o[1]];tT(s,l,u,c)&&n.push([r,i])}}),n}(t,e,n),a=sT(t),o=function(t,e,r,n){var i=[];return Rk(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];tT(s,l,o,o)&&i.push([r,n])}}),i}(t,e,n,a),s=lT(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[xA(t[0]),xA(t[1])]});for(a=0;a<r.length;++a){var l=r[a];o=l[0];var u=l[1],c=e[o],h=e[u],f=Xk($k(t[c[0]]),$k(t[c[1]]),$k(t[h[0]]),$k(t[h[1]]));if(f){var p=t.length;t.push([MA(f[0]),MA(f[1])]),s.push(f),n.push([o,p],[u,p])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return lA(r[0],n[0])||lA(r[1],n[1])}),a=n.length-1;a>=0;--a){var d=e[o=(w=n[a])[0]],g=d[0],v=d[1],m=t[g],y=t[v];if((m[0]-y[0]||m[1]-y[1])<0){var x=g;g=v,v=x}d[0]=g;var b,_=d[1]=w[1];for(i&&(b=d[2]);a>0&&n[a-1][0]===o;){var w,M=(w=n[--a])[1];i?e.push([_,M,b]):e.push([_,M]),_=M}i?e.push([_,v,b]):e.push([_,v])}return s}(t,e,i,o,r));return hT(e,s,r),!!s||(i.length>0||o.length>0)}var pT=function(t,e){var r=t.length;if(\\\"number\\\"!=typeof e){e=0;for(var n=0;n<r;++n){var i=t[n];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var a=new Array(e),n=0;n<e;++n)a[n]=[];for(var n=0;n<r;++n){var i=t[n];a[i[0]].push(i[1]),a[i[1]].push(i[0])}for(var o=0;o<e;++o)Qx(a[o],function(t,e){return t-e});return a};var dT=function(t,e){if(1===t.length)return pM(e,t[0]);if(1===e.length)return pM(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var n=0;n<t.length;++n)r=gM(r,pM(e,t[n]));else for(var n=0;n<e.length;++n)r=gM(r,pM(t,e[n]));return r};var gT=function(t){return t<0?-1:t>0?1:0},vT=function(t,e,r,n){var i=PM(e,r,n);if(0===i){var a=gT(PM(t,e,r)),o=gT(PM(t,e,n));if(a===o){if(0===a){var s=mT(t,e,r),l=mT(t,e,n);return s===l?0:s?1:-1}return 0}return 0===o?a>0?-1:mT(t,e,n)?-1:1:0===a?o>0?1:mT(t,e,r)?1:-1:gT(o-a)}var u=PM(t,e,r);if(u>0)return i>0&&PM(t,e,n)>0?1:-1;if(u<0)return i>0||PM(t,e,n)>0?1:-1;var c=PM(t,e,n);return c>0?1:mT(t,e,r)?1:-1};function mT(t,e,r){var n=fM(t[0],-e[0]),i=fM(t[1],-e[1]),a=fM(r[0],-e[0]),o=fM(r[1],-e[1]),s=gM(dT(n,a),dT(i,o));return s[s.length-1]>=0}var yT=function(t,e){for(var r=0|e.length,n=t.length,i=[new Array(r),new Array(r)],a=0;a<r;++a)i[0][a]=[],i[1][a]=[];for(var a=0;a<n;++a){var o=t[a];i[0][o[0]].push(o),i[1][o[1]].push(o)}for(var s=[],a=0;a<r;++a)i[0][a].length+i[1][a].length===0&&s.push([a]);function l(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,n){for(var a,o,s,u=0;u<2;++u)if(i[u][r].length>0){a=i[u][r][0],s=u;break}o=a[1^s];for(var c=0;c<2;++c)for(var h=i[c][r],f=0;f<h.length;++f){var p=h[f],d=p[1^c],g=vT(e[t],e[r],e[o],e[d]);g>0&&(a=p,o=d,s=c)}return n?o:(a&&l(a,s),o)}function c(t,r){var n=i[r][t][0],a=[t];l(n,r);for(var o=n[1^r];;){for(;o!==t;)a.push(o),o=u(a[a.length-2],o,!1);if(i[0][t].length+i[1][t].length===0)break;var s=a[a.length-1],c=t,h=a[1],f=u(s,c,!0);if(vT(e[s],e[c],e[h],e[f])<0)break;a.push(t),o=u(s,c)}return a}function h(t,e){return e[1]===e[e.length-1]}for(var a=0;a<r;++a)for(var f=0;f<2;++f){for(var p=[];i[f][a].length>0;){i[0][a].length;var d=c(a,f);h(p,d)?p.push.apply(p,d):(p.length>0&&s.push(p),p=d)}p.length>0&&s.push(p)}return s};var xT=function(t,e){for(var r=pT(t,e.length),n=new Array(e.length),i=new Array(e.length),a=[],o=0;o<e.length;++o){var s=r[o].length;i[o]=s,n[o]=!0,s<=1&&a.push(o)}for(;a.length>0;){var l=a.pop();n[l]=!1;for(var u=r[l],o=0;o<u.length;++o){var c=u[o];0==--i[c]&&a.push(c)}}for(var h=new Array(e.length),f=[],o=0;o<e.length;++o)if(n[o]){var l=f.length;h[o]=l,f.push(e[o])}else h[o]=-1;for(var p=[],o=0;o<t.length;++o){var d=t[o];n[d[0]]&&n[d[1]]&&p.push([h[d[0]],h[d[1]]])}return[p,f]};function bT(t,e,r,n,i,a){var o=[\\\"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\\\",i?\\\".get(m)\\\":\\\"[m]\\\"];return a?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(\\\"}\\\"),a?o.push(\\\"return -1};\\\"):o.push(\\\"return i};\\\"),o.join(\\\"\\\")}function _T(t,e,r,n){return new Function([bT(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!1,n),bT(\\\"B\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!0,n),bT(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!1,n),bT(\\\"Q\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!0,n),\\\"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(\\\"\\\"))()}var wT={ge:_T(\\\">=\\\",!1,\\\"GE\\\"),gt:_T(\\\">\\\",!1,\\\"GT\\\"),lt:_T(\\\"<\\\",!0,\\\"LT\\\"),le:_T(\\\"<=\\\",!0,\\\"LE\\\"),eq:_T(\\\"-\\\",!0,\\\"EQ\\\",!0)},MT=0,AT=1,kT=function(t){if(!t||0===t.length)return new NT(null);return new NT(BT(t))};function TT(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}var ST=TT.prototype;function ET(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 CT(t,e){var r=BT(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 LT(t,e){var r=t.intervals([]);r.push(e),CT(t,r)}function zT(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?MT:(r.splice(n,1),CT(t,r),AT)}function PT(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function IT(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function DT(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function OT(t,e){return t-e}function RT(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function FT(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function BT(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(OT);var n=e[e.length>>1],i=[],a=[],o=[];for(r=0;r<t.length;++r){var s=t[r];s[1]<n?i.push(s):n<s[0]?a.push(s):o.push(s)}var l=o,u=o.slice();return l.sort(RT),u.sort(FT),new TT(n,BT(i),BT(a),l,u)}function NT(t){this.root=t}ST.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},ST.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)?LT(this,t):this.left.insert(t):this.left=BT([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?LT(this,t):this.right.insert(t):this.right=BT([t]);else{var r=wT.ge(this.leftPoints,t,RT),n=wT.ge(this.rightPoints,t,FT);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},ST.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)?zT(this,t):2===(a=this.left.remove(t))?(this.left=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:MT;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var i=this.left;a=this.right;r.count-=n.count,r.right=n.left,n.left=i,n.right=a}ET(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?ET(this,this.left):ET(this,this.right);return AT}for(i=wT.ge(this.leftPoints,t,RT);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(a=wT.ge(this.rightPoints,t,FT);a<this.rightPoints.length&&this.rightPoints[a][1]===t[1];++a)if(this.rightPoints[a]===t)return this.rightPoints.splice(a,1),AT}return MT}return this.right?4*(this.left?this.left.count:0)>3*(e-1)?zT(this,t):2===(a=this.right.remove(t))?(this.right=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT;var a}},ST.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return PT(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return IT(this.rightPoints,t,e)}return DT(this.leftPoints,e)},ST.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?PT(this.leftPoints,e,r):t>this.mid?IT(this.rightPoints,t,r):DT(this.leftPoints,r)};var jT=NT.prototype;jT.insert=function(t){this.root?this.root.insert(t):this.root=new TT(t[0],null,null,[t],[t])},jT.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==MT}return!1},jT.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},jT.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(jT,\\\"count\\\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(jT,\\\"intervals\\\",{get:function(){return this.root?this.root.intervals([]):[]}});var VT=function(t){return new XT(t||$T,null)},UT=0,qT=1;function HT(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function GT(t){return new HT(t._color,t.key,t.value,t.left,t.right,t._count)}function WT(t,e){return new HT(t,e.key,e.value,e.left,e.right,e._count)}function YT(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function XT(t,e){this._compare=t,this.root=e}var ZT=XT.prototype;function JT(t,e){this.tree=t,this._stack=e}Object.defineProperty(ZT,\\\"keys\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(ZT,\\\"values\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(ZT,\\\"length\\\",{get:function(){return this.root?this.root._count:0}}),ZT.insert=function(t,e){for(var r=this._compare,n=this.root,i=[],a=[];n;){var o=r(t,n.key);i.push(n),a.push(o),n=o<=0?n.left:n.right}i.push(new HT(UT,t,e,null,null,1));for(var s=i.length-2;s>=0;--s){n=i[s];a[s]<=0?i[s]=new HT(n._color,n.key,n.value,i[s+1],n.right,n._count+1):i[s]=new HT(n._color,n.key,n.value,n.left,i[s+1],n._count+1)}for(s=i.length-1;s>1;--s){var l=i[s-1];n=i[s];if(l._color===qT||n._color===qT)break;var u=i[s-2];if(u.left===l)if(l.left===n){if(!(c=u.right)||c._color!==UT){if(u._color=UT,u.left=l.right,l._color=qT,l.right=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).left===u?h.left=l:h.right=l;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else{if(!(c=u.right)||c._color!==UT){if(l.right=n.left,u._color=UT,u.left=n.right,n._color=qT,n.left=l,n.right=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).left===u?h.left=n:h.right=n;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else if(l.right===n){if(!(c=u.left)||c._color!==UT){if(u._color=UT,u.right=l.left,l._color=qT,l.left=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).right===u?h.right=l:h.left=l;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}else{var c;if(!(c=u.left)||c._color!==UT){var h;if(l.left=n.right,u._color=UT,u.right=n.left,n._color=qT,n.right=l,n.left=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).right===u?h.right=n:h.left=n;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}}return i[0]._color=qT,new XT(r,i[0])},ZT.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(ZT,\\\"begin\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new JT(this,t)}}),Object.defineProperty(ZT,\\\"end\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new JT(this,t)}}),ZT.at=function(t){if(t<0)return new JT(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 JT(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new JT(this,[])},ZT.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new JT(this,n);r=i<=0?r.left:r.right}return new JT(this,[])},ZT.remove=function(t){var e=this.find(t);return e?e.remove():this},ZT.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 KT=JT.prototype;function QT(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 $T(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(KT,\\\"valid\\\",{get:function(){return this._stack.length>0}}),Object.defineProperty(KT,\\\"node\\\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),KT.clone=function(){return new JT(this.tree,this._stack.slice())},KT.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 HT(r._color,r.key,r.value,r.left,r.right,r._count);for(var n=t.length-2;n>=0;--n){(r=t[n]).left===t[n+1]?e[n]=new HT(r._color,r.key,r.value,e[n+1],r.right,r._count):e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count)}if((r=e[e.length-1]).left&&r.right){var i=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var a=e[i-1];e.push(new HT(r._color,a.key,a.value,r.left,r.right,r._count)),e[i-1].key=r.key,e[i-1].value=r.value;for(n=e.length-2;n>=i;--n)r=e[n],e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count);e[i-1].left=e[i]}if((r=e[e.length-1])._color===UT){var o=e[e.length-2];o.left===r?o.left=null:o.right===r&&(o.right=null),e.pop();for(n=0;n<e.length;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(r.left||r.right){r.left?QT(r,r.left):r.right&&QT(r,r.right),r._color=qT;for(n=0;n<e.length-1;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(1===e.length)return new XT(this.tree._compare,null);for(n=0;n<e.length;++n)e[n]._count--;var s=e[e.length-2];return function(t){for(var e,r,n,i,a=t.length-1;a>=0;--a){if(e=t[a],0===a)return void(e._color=qT);if((r=t[a-1]).left===e){if((n=r.right).right&&n.right._color===UT)return i=(n=r.right=GT(n)).right=GT(n.right),r.right=n.left,n.left=r,n.right=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),void(t[a-1]=n);if(n.left&&n.left._color===UT)return i=(n=r.right=GT(n)).left=GT(n.left),r.right=i.left,n.left=i.right,i.left=r,i.right=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).left===r?o.left=i:o.right=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.right=WT(UT,n));r.right=WT(UT,n);continue}n=GT(n),r.right=n.left,n.left=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}else{if((n=r.left).left&&n.left._color===UT)return i=(n=r.left=GT(n)).left=GT(n.left),r.left=n.right,n.right=r,n.left=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),void(t[a-1]=n);if(n.right&&n.right._color===UT)return i=(n=r.left=GT(n)).right=GT(n.right),r.left=i.right,n.right=i.left,i.right=r,i.left=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).right===r?o.right=i:o.left=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.left=WT(UT,n));r.left=WT(UT,n);continue}var o;n=GT(n),r.left=n.right,n.right=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}}}(e),s.left===r?s.left=null:s.right=null,new XT(this.tree._compare,e[0])},Object.defineProperty(KT,\\\"key\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(KT,\\\"value\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(KT,\\\"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}),KT.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(KT,\\\"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}}),KT.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),n=e[e.length-1];r[r.length-1]=new HT(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new HT(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new HT(n._color,n.key,n.value,n.left,r[i+1],n._count);return new XT(this.tree._compare,r[0])},KT.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(KT,\\\"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}});var tS=function(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0]))return eS(e,t);r=e[1],n=e[0]}if(t[0][0]<t[1][0])i=t[0],a=t[1];else{if(!(t[0][0]>t[1][0]))return-eS(t,e);i=t[1],a=t[0]}var o=PM(r,n,a),s=PM(r,n,i);if(o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;if(o=PM(a,i,n),s=PM(a,i,r),o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;return n[0]-a[0]};function eS(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var o=Math.min(t[0][1],t[1][1]),s=Math.max(t[0][1],t[1][1]),l=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return s<l?s-l:o>u?o-u:s-u}r=e[1],n=e[0]}t[0][1]<t[1][1]?(i=t[0],a=t[1]):(i=t[1],a=t[0]);var c=PM(n,r,i);return c||((c=PM(n,r,a))||a-n)}var rS=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var a=t[i],o=a[0][0]<a[1][0];n[2*i]=new sS(a[0][0],a,o,i),n[2*i+1]=new sS(a[1][0],a,!o,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]))});for(var s=VT(tS),l=[],u=[],c=[],i=0;i<r;){for(var h=n[i].x,f=[];i<r;){var p=n[i];if(p.x!==h)break;i+=1,p.segment[0][0]===p.x&&p.segment[1][0]===p.x?p.create&&(p.segment[0][1]<p.segment[1][1]?(f.push(new oS(p.segment[0][1],p.index,!0,!0)),f.push(new oS(p.segment[1][1],p.index,!1,!1))):(f.push(new oS(p.segment[1][1],p.index,!0,!1)),f.push(new oS(p.segment[0][1],p.index,!1,!0)))):s=p.create?s.insert(p.segment,p.index):s.remove(p.segment)}l.push(s.root),u.push(h),c.push(f)}return new nS(l,u,c)};function nS(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function iS(t,e){return t.y-e}function aS(t,e){for(var r=null;t;){var n,i,a=t.key;a[0][0]<a[1][0]?(n=a[0],i=a[1]):(n=a[1],i=a[0]);var o=PM(n,i,e);if(o<0)t=t.left;else if(o>0)if(e[0]!==a[1][0])r=t,t=t.right;else{if(s=aS(t.right,e))return s;t=t.left}else{if(e[0]!==a[1][0])return t;var s;if(s=aS(t.right,e))return s;t=t.left}}return r}function oS(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function sS(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}nS.prototype.castUp=function(t){var e=wT.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=aS(this.slabs[e],t),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var i=null;if(r&&(i=r.key),e>0){var a=aS(this.slabs[e-1],t);a&&(i?tS(a.key,i)>0&&(i=a.key,n=a.value):(n=a.value,i=a.key))}var o=this.horizontal[e];if(o.length>0){var s=wT.ge(o,t[1],iS);if(s<o.length){var l=o[s];if(t[1]===l.y){if(l.closed)return l.index;for(;s<o.length-1&&o[s+1].y===t[1];)if((l=o[s+=1]).closed)return l.index;if(l.y===t[1]&&!l.start){if((s+=1)>=o.length)return n;l=o[s]}}if(l.start)if(i){var u=PM(i[0],i[1],[t[0],l.y]);i[0][0]>i[1][0]&&(u=-u),u>0&&(n=l.index)}else n=l.index;else l.y!==t[1]&&(n=l.index)}}}return n};var lS=function(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var a=t[i],o=a.length,s=o-1,l=0;l<o;s=l++){var u=a[s],c=a[l];u[0]===c[0]?n.push([u,c]):r.push([u,c])}if(0===r.length)return 0===n.length?fS:(h=hS(n),function(t){return h(t[0],t[1])?0:1});var h;var f=rS(r),p=function(t,e){return function(r){var n=wT.le(e,r[0]);if(n<0)return 1;var i=t[n];if(!i){if(!(n>0&&e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var o=i.key,s=uS(r,o[0],o[1]);if(o[0][0]<o[1][0])if(s<0)i=i.left;else{if(!(s>0))return 0;a=-1,i=i.right}else if(s>0)i=i.left;else{if(!(s<0))return 0;a=1,i=i.right}}return a}}(f.slabs,f.coordinates);return 0===n.length?p:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(hS(n),p)},uS=PM[3];function cS(){return!0}function hS(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],a=n[0][1],o=n[1][1],s=[Math.min(a,o),Math.max(a,o)];i in e?e[i].push(s):e[i]=[s]}var l={},u=Object.keys(e);for(r=0;r<u.length;++r){var c=e[u[r]];l[u[r]]=kT(c)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,cS)}}(l)}function fS(t){return 1}var pS=function(t,e){var r=xT(t,e);t=r[0];for(var n=(e=r[1]).length,i=(t.length,pT(t,e.length)),a=0;a<n;++a)if(i[a].length%2==1)throw new Error(\\\"planar-graph-to-polyline: graph must be manifold\\\");var o=yT(t,e);for(var s=(o=o.filter(function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],s=cM(-a[0],a[1]),l=cM(-a[0],o[1]),u=cM(o[0],a[1]),c=cM(o[0],o[1]);n=gM(n,gM(gM(s,l),gM(u,c)))}return n[n.length-1]>0})).length,l=new Array(s),u=new Array(s),a=0;a<s;++a){l[a]=a;var c=new Array(s),h=o[a].map(function(t){return e[t]}),f=lS([h]),p=0;t:for(var d=0;d<s;++d)if(c[d]=0,a!==d){for(var g=o[d],v=g.length,m=0;m<v;++m){var y=f(e[g[m]]);if(0!==y){y<0&&(c[d]=1,p+=1);continue t}}c[d]=1,p+=1}u[a]=[p,a,c]}u.sort(function(t,e){return e[0]-t[0]});for(var a=0;a<s;++a)for(var c=u[a],x=c[1],b=c[2],d=0;d<s;++d)b[d]&&(l[d]=x);for(var _=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(s),a=0;a<s;++a)_[a].push(l[a]),_[l[a]].push(a);for(var w={},M=dS(n,!1),a=0;a<s;++a)for(var g=o[a],v=g.length,d=0;d<v;++d){var A=g[d],k=g[(d+1)%v],T=Math.min(A,k)+\\\":\\\"+Math.max(A,k);if(T in w){var S=w[T];_[S].push(a),_[a].push(S),M[A]=M[k]=!0}else w[T]=a}function E(t){for(var e=t.length,r=0;r<e;++r)if(!M[t[r]])return!1;return!0}for(var C=[],L=dS(s,-1),a=0;a<s;++a)l[a]!==a||E(o[a])?L[a]=-1:(C.push(a),L[a]=0);var r=[];for(;C.length>0;){var z=C.pop(),P=_[z];Qx(P,function(t,e){return t-e});var I,D=P.length,O=L[z];if(0===O){var g=o[z];I=[g]}for(var a=0;a<D;++a){var R=P[a];if(!(L[R]>=0)&&(L[R]=1^O,C.push(R),0===O)){var g=o[R];E(g)||(g.reverse(),I.push(g))}}0===O&&r.push(I)}return r};function dS(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var gS={};function vS(t,e){var r=t.length,n=t.length-e.length,i=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])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function mS(t,e){return vS(t[0],e[0])}function yS(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(mS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(vS),t}function xS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(vS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function bS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=vS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function _S(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=Mb.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=bS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==vS(t[p],a)););}return r}function wS(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=Mb.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return yS(r)}gS.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},gS.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},gS.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},gS.compareCells=vS,gS.normalize=yS,gS.unique=xS,gS.findCell=bS,gS.incidence=_S,gS.dual=function(t,e){if(!e)return _S(xS(wS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},gS.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return yS(e)},gS.skeleton=wS,gS.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return yS(e)},gS.connectedComponents=function(t,e){return e?function(t,e){for(var r=new rT(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=xS(yS(wS(t,0))),r=new rT(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=bS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,bS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(bS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var MS={};function AS(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}MS.INT_BITS=32,MS.INT_MAX=2147483647,MS.INT_MIN=-1<<31,MS.sign=function(t){return(t>0)-(t<0)},MS.abs=function(t){var e=t>>31;return(t^e)-e},MS.min=function(t,e){return e^(t^e)&-(t<e)},MS.max=function(t,e){return t^(t^e)&-(t<e)},MS.isPow2=function(t){return!(t&t-1||!t)},MS.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},MS.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},MS.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},MS.countTrailingZeros=AS,MS.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},MS.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},MS.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kS=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(kS),MS.reverse=function(t){return kS[255&t]<<24|kS[t>>>8&255]<<16|kS[t>>>16&255]<<8|kS[t>>>24&255]},MS.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},MS.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},MS.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},MS.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},MS.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>AS(t)+1};var TS=SS;function SS(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}SS.prototype.length=function(){return this.roots.length},SS.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},SS.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},SS.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}};var ES={};function CS(t,e){var r=t.length,n=t.length-e.length,i=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])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function LS(t,e){return CS(t[0],e[0])}function zS(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(LS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(CS),t}function PS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(CS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function IS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=CS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function DS(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=MS.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=IS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==CS(t[p],a)););}return r}function OS(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=MS.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return zS(r)}ES.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},ES.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},ES.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},ES.compareCells=CS,ES.normalize=zS,ES.unique=PS,ES.findCell=IS,ES.incidence=DS,ES.dual=function(t,e){if(!e)return DS(PS(OS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},ES.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return zS(e)},ES.skeleton=OS,ES.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return zS(e)},ES.connectedComponents=function(t,e){return e?function(t,e){for(var r=new TS(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=PS(zS(OS(t,0))),r=new TS(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=IS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,IS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(IS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var RS=function(t,e,r){for(var n=e.length,i=t.length,a=new Array(n),o=new Array(n),s=new Array(n),l=new Array(n),u=0;u<n;++u)a[u]=o[u]=-1,s[u]=1/0,l[u]=!1;for(var u=0;u<i;++u){var c=t[u];if(2!==c.length)throw new Error(\\\"Input must be a graph\\\");var h=c[1],f=c[0];-1!==o[f]?o[f]=-2:o[f]=h,-1!==a[h]?a[h]=-2:a[h]=f}function p(t){if(l[t])return 1/0;var r,n,i,s,u,c=a[t],h=o[t];return c<0||h<0?1/0:(r=e[t],n=e[c],i=e[h],s=Math.abs(PM(r,n,i)),u=Math.sqrt(Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)),s/u)}function d(t,e){var r=w[t],n=w[e];w[t]=n,w[e]=r,M[r]=e,M[n]=t}function g(t){return s[w[t]]}function v(t){return 1&t?t-1>>1:(t>>1)-1}function m(t){for(var e=g(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<k){var o=g(n);o<r&&(a=n,r=o)}if(i<k){var s=g(i);s<r&&(a=i)}if(a===t)return t;d(t,a),t=a}}function y(t){for(var e=g(t);t>0;){var r=v(t);if(r>=0){var n=g(r);if(e<n){d(t,r),t=r;continue}}return t}}function x(){if(k>0){var t=w[0];return d(0,k-1),k-=1,m(0),t}return-1}function b(t,e){var r=w[t];return s[r]===e?t:(s[r]=-1/0,y(t),x(),s[r]=e,y((k+=1)-1))}function _(t){if(!l[t]){l[t]=!0;var e=a[t],r=o[t];a[r]>=0&&(a[r]=e),o[e]>=0&&(o[e]=r),M[e]>=0&&b(M[e],p(e)),M[r]>=0&&b(M[r],p(r))}}for(var w=[],M=new Array(n),u=0;u<n;++u){var A=s[u]=p(u);A<1/0?(M[u]=w.length,w.push(u)):M[u]=-1}for(var k=w.length,u=k>>1;u>=0;--u)m(u);for(;;){var T=x();if(T<0||s[T]>r)break;_(T)}for(var S=[],u=0;u<n;++u)l[u]||(M[u]=S.length,S.push(e[u].slice()));S.length;function E(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!l[n]||i<0||i===n)break;if(i=t[n=i],!l[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var C=[];return t.forEach(function(t){var e=E(a,t[0]),r=E(o,t[1]);if(e>=0&&r>=0&&e!==r){var n=M[e],i=M[r];n!==i&&C.push([n,i])}}),ES.unique(ES.normalize(C)),{positions:S,edges:C}};var FS=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 n=t.arrayArguments||1;n<1&&e(\\\"Must have at least one array argument\\\");var i=t.scalarArguments||0;i<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 a=t.getters||[],o=new Array(n),s=0;s<n;++s)a.indexOf(s)>=0?o[s]=!0:o[s]=!1;return function(t,e,r,n,i,a){var o=a.length,s=i.length;if(s<2)throw new Error(\\\"ndarray-extract-contour: Dimension must be at least 2\\\");for(var l=\\\"extractContour\\\"+i.join(\\\"_\\\"),u=[],c=[],h=[],f=0;f<o;++f)h.push(BS(f));for(var f=0;f<n;++f)h.push(HS(f));for(var f=0;f<s;++f)c.push(VS(f)+\\\"=\\\"+BS(0)+\\\".shape[\\\"+f+\\\"]|0\\\");for(var f=0;f<o;++f){c.push(NS(f)+\\\"=\\\"+BS(f)+\\\".data\\\",qS(f)+\\\"=\\\"+BS(f)+\\\".offset|0\\\");for(var p=0;p<s;++p)c.push(US(f,p)+\\\"=\\\"+BS(f)+\\\".stride[\\\"+p+\\\"]|0\\\")}for(var f=0;f<o;++f){c.push(GS(f)+\\\"=\\\"+qS(f)),c.push(jS(f,0));for(var p=1;p<1<<s;++p){for(var d=[],g=0;g<s;++g)p&1<<g&&d.push(\\\"-\\\"+US(f,g));c.push(WS(f,p)+\\\"=(\\\"+d.join(\\\"\\\")+\\\")|0\\\"),c.push(jS(f,p)+\\\"=0\\\")}}for(var f=0;f<o;++f)for(var p=0;p<s;++p){var v=[US(f,i[p])];p>0&&v.push(US(f,i[p-1])+\\\"*\\\"+VS(i[p-1])),c.push(XS(f,i[p])+\\\"=(\\\"+v.join(\\\"-\\\")+\\\")|0\\\")}for(var f=0;f<s;++f)c.push(YS(f)+\\\"=0\\\");c.push(eE+\\\"=0\\\");for(var m=[\\\"2\\\"],f=s-2;f>=0;--f)m.push(VS(i[f]));c.push(rE+\\\"=(\\\"+m.join(\\\"*\\\")+\\\")|0\\\",tE+\\\"=mallocUint32(\\\"+rE+\\\")\\\",$S+\\\"=mallocUint32(\\\"+rE+\\\")\\\",nE+\\\"=0\\\"),c.push(ZS(0)+\\\"=0\\\");for(var p=1;p<1<<s;++p){for(var y=[],x=[],g=0;g<s;++g)p&1<<g&&(0===x.length?y.push(\\\"1\\\"):y.unshift(x.join(\\\"*\\\"))),x.push(VS(i[g]));var b=\\\"\\\";y[0].indexOf(VS(i[s-2]))<0&&(b=\\\"-\\\");var _=aE(s,p,i);c.push(KS(_)+\\\"=(-\\\"+y.join(\\\"-\\\")+\\\")|0\\\",JS(_)+\\\"=(\\\"+b+y.join(\\\"-\\\")+\\\")|0\\\",ZS(_)+\\\"=0\\\")}function w(t,e){u.push(\\\"for(\\\",YS(i[t]),\\\"=\\\",e,\\\";\\\",YS(i[t]),\\\"<\\\",VS(i[t]),\\\";\\\",\\\"++\\\",YS(i[t]),\\\"){\\\")}function M(t){for(var e=0;e<o;++e)u.push(GS(e),\\\"+=\\\",XS(e,i[t]),\\\";\\\");u.push(\\\"}\\\")}function A(){for(var t=1;t<1<<s;++t)u.push(iE,\\\"=\\\",KS(t),\\\";\\\",KS(t),\\\"=\\\",JS(t),\\\";\\\",JS(t),\\\"=\\\",iE,\\\";\\\")}c.push(QS(0)+\\\"=0\\\",iE+\\\"=0\\\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<o;++e)a[e]?u.push(jS(e,0),\\\"=\\\",NS(e),\\\".get(\\\",GS(e),\\\");\\\"):u.push(jS(e,0),\\\"=\\\",NS(e),\\\"[\\\",GS(e),\\\"];\\\");for(var r=[],e=0;e<o;++e)r.push(jS(e,0));for(var e=0;e<n;++e)r.push(HS(e));u.push(ZS(0),\\\"=\\\",tE,\\\"[\\\",nE,\\\"]=phase(\\\",r.join(),\\\");\\\");for(var i=1;i<1<<s;++i)u.push(ZS(i),\\\"=\\\",tE,\\\"[\\\",nE,\\\"+\\\",KS(i),\\\"];\\\");for(var l=[],i=1;i<1<<s;++i)l.push(\\\"(\\\"+ZS(0)+\\\"!==\\\"+ZS(i)+\\\")\\\");u.push(\\\"if(\\\",l.join(\\\"||\\\"),\\\"){\\\");for(var c=[],e=0;e<s;++e)c.push(YS(e));for(var e=0;e<o;++e){c.push(jS(e,0));for(var i=1;i<1<<s;++i)a[e]?u.push(jS(e,i),\\\"=\\\",NS(e),\\\".get(\\\",GS(e),\\\"+\\\",WS(e,i),\\\");\\\"):u.push(jS(e,i),\\\"=\\\",NS(e),\\\"[\\\",GS(e),\\\"+\\\",WS(e,i),\\\"];\\\"),c.push(jS(e,i))}for(var e=0;e<1<<s;++e)c.push(ZS(e));for(var e=0;e<n;++e)c.push(HS(e));u.push(\\\"vertex(\\\",c.join(),\\\");\\\",QS(0),\\\"=\\\",$S,\\\"[\\\",nE,\\\"]=\\\",eE,\\\"++;\\\");for(var h=(1<<s)-1,f=ZS(h),i=0;i<s;++i)if(0==(t&~(1<<i))){for(var p=h^1<<i,d=ZS(p),g=[],v=p;v>0;v=v-1&p)g.push($S+\\\"[\\\"+nE+\\\"+\\\"+KS(v)+\\\"]\\\");g.push(QS(0));for(var v=0;v<o;++v)1&i?g.push(jS(v,h),jS(v,p)):g.push(jS(v,p),jS(v,h));1&i?g.push(f,d):g.push(d,f);for(var v=0;v<n;++v)g.push(HS(v));u.push(\\\"if(\\\",f,\\\"!==\\\",d,\\\"){\\\",\\\"face(\\\",g.join(),\\\")}\\\")}u.push(\\\"}\\\",nE,\\\"+=1;\\\")}(r);!function(t){for(var e=t-1;e>=0;--e)w(e,0);for(var r=[],e=0;e<o;++e)a[e]?r.push(NS(e)+\\\".get(\\\"+GS(e)+\\\")\\\"):r.push(NS(e)+\\\"[\\\"+GS(e)+\\\"]\\\");for(var e=0;e<n;++e)r.push(HS(e));u.push(tE,\\\"[\\\",nE,\\\"++]=phase(\\\",r.join(),\\\");\\\");for(var e=0;e<t;++e)M(e);for(var s=0;s<o;++s)u.push(GS(s),\\\"+=\\\",XS(s,i[t]),\\\";\\\")}(e);u.push(\\\"if(\\\",VS(i[e]),\\\">0){\\\",YS(i[e]),\\\"=1;\\\");t(e-1,r|1<<i[e]);for(var l=0;l<o;++l)u.push(GS(l),\\\"+=\\\",XS(l,i[e]),\\\";\\\");e===s-1&&(u.push(nE,\\\"=0;\\\"),A());w(e,2);t(e-1,r);e===s-1&&(u.push(\\\"if(\\\",YS(i[s-1]),\\\"&1){\\\",nE,\\\"=0;}\\\"),A());M(e);u.push(\\\"}\\\")}(s-1,0),u.push(\\\"freeUint32(\\\",$S,\\\");freeUint32(\\\",tE,\\\");\\\");var k=[\\\"'use strict';\\\",\\\"function \\\",l,\\\"(\\\",h.join(),\\\"){\\\",\\\"var \\\",c.join(),\\\";\\\",u.join(\\\"\\\"),\\\"}\\\",\\\"return \\\",l].join(\\\"\\\");return new Function(\\\"vertex\\\",\\\"face\\\",\\\"phase\\\",\\\"mallocUint32\\\",\\\"freeUint32\\\",k)(t,e,r,__.mallocUint32,__.freeUint32)}(t.vertex,t.cell,t.phase,i,r,o)};function BS(t){return\\\"a\\\"+t}function NS(t){return\\\"d\\\"+t}function jS(t,e){return\\\"c\\\"+t+\\\"_\\\"+e}function VS(t){return\\\"s\\\"+t}function US(t,e){return\\\"t\\\"+t+\\\"_\\\"+e}function qS(t){return\\\"o\\\"+t}function HS(t){return\\\"x\\\"+t}function GS(t){return\\\"p\\\"+t}function WS(t,e){return\\\"d\\\"+t+\\\"_\\\"+e}function YS(t){return\\\"i\\\"+t}function XS(t,e){return\\\"u\\\"+t+\\\"_\\\"+e}function ZS(t){return\\\"b\\\"+t}function JS(t){return\\\"y\\\"+t}function KS(t){return\\\"e\\\"+t}function QS(t){return\\\"v\\\"+t}var $S=\\\"V\\\",tE=\\\"P\\\",eE=\\\"N\\\",rE=\\\"Q\\\",nE=\\\"X\\\",iE=\\\"T\\\";function aE(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}var oE={},sE=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],lE=607/128,uE=[.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 cE(t){if(t<0)return Number(\\\"0/0\\\");for(var e=uE[0],r=uE.length-1;r>0;--r)e+=uE[r]/(t+r);var n=t+lE+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}(oE=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(cE(e));e-=1;for(var r=sE[0],n=1;n<9;n++)r+=sE[n]/(e+n);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r}).log=cE;var hE=function(t){var e=t.length;if(e<fE){for(var r=1,n=0;n<e;++n)for(var i=0;i<n;++i)if(t[n]<t[i])r=-r;else if(t[n]===t[i])return 0;return r}for(var a=__.mallocUint8(e),n=0;n<e;++n)a[n]=0;for(var r=1,n=0;n<e;++n)if(!a[n]){var o=1;a[n]=1;for(var i=t[n];i!==n;i=t[i]){if(a[i])return __.freeUint8(a),0;o+=1,a[i]=1}1&o||(r=-r)}return __.freeUint8(a),r},fE=32;var pE=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e},dE={};dE.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,a=__.mallocUint32(e),o=__.mallocUint32(e),s=0;for(pE(t,o),i=0;i<e;++i)a[i]=t[i];for(i=e-1;i>0;--i)n=o[i],r=a[i],a[i]=a[n],a[n]=r,o[i]=o[r],o[r]=n,s=(s+r)*i;return __.freeUint32(o),__.freeUint32(a),s},dE.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,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r};var gE=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(oE(t+1)),r=[],n=0;n<e;++n){for(var i=dE.unrank(t,n),a=[0],o=0,s=0;s<i.length;++s)o+=1<<i[s],a.push(o);hE(i)<1&&(a[0]=o,a[t]=0),r.push(a)}return r};var vE=nb({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\\\"}),mE=function(t,e){var r=[];return e=+e||0,vE(t.hi(t.shape[0]-1),r,e),r};var yE=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=mE(t,e),n=r.length,i=new Array(n),a=new Array(n),o=0;o<n;++o)i[o]=[r[o]],a[o]=[o];return{positions:i,cells:a}}(t,e);var r=t.order.join()+\\\"-\\\"+t.dtype,n=xE[r],e=+e||0;n||(n=xE[r]=function(t,e){var r=t.length,n=[\\\"'use strict';\\\"],i=\\\"surfaceNets\\\"+t.join(\\\"_\\\")+\\\"d\\\"+e;n.push(\\\"var contour=genContour({\\\",\\\"order:[\\\",t.join(),\\\"],\\\",\\\"scalarArguments: 3,\\\",\\\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\\\"),\\\"generic\\\"===e&&n.push(\\\"getters:[0],\\\");for(var a=[],o=[],s=0;s<r;++s)a.push(\\\"d\\\"+s),o.push(\\\"d\\\"+s);for(var s=0;s<1<<r;++s)a.push(\\\"v\\\"+s),o.push(\\\"v\\\"+s);for(var s=0;s<1<<r;++s)a.push(\\\"p\\\"+s),o.push(\\\"p\\\"+s);a.push(\\\"a\\\",\\\"b\\\",\\\"c\\\"),o.push(\\\"a\\\",\\\"c\\\"),n.push(\\\"vertex:function vertexFunc(\\\",a.join(),\\\"){\\\");for(var l=[],s=0;s<1<<r;++s)l.push(\\\"(p\\\"+s+\\\"<<\\\"+s+\\\")\\\");n.push(\\\"var m=(\\\",l.join(\\\"+\\\"),\\\")|0;if(m===0||m===\\\",(1<<(1<<r))-1,\\\"){return}\\\");var u=[],c=[];1<<(1<<r)<=128?(n.push(\\\"switch(m){\\\"),c=n):n.push(\\\"switch(m>>>7){\\\");for(var s=0;s<1<<(1<<r);++s){if(1<<(1<<r)>128&&s%128==0){u.length>0&&c.push(\\\"}}\\\");var h=\\\"vExtra\\\"+u.length;n.push(\\\"case \\\",s>>>7,\\\":\\\",h,\\\"(m&0x7f,\\\",o.join(),\\\");break;\\\"),c=[\\\"function \\\",h,\\\"(m,\\\",o.join(),\\\"){switch(m){\\\"],u.push(c)}c.push(\\\"case \\\",127&s,\\\":\\\");for(var f=new Array(r),p=new Array(r),d=new Array(r),g=new Array(r),v=0,m=0;m<r;++m)f[m]=[],p[m]=[],d[m]=0,g[m]=0;for(var m=0;m<1<<r;++m)for(var y=0;y<r;++y){var x=m^1<<y;if(!(x>m)&&!(s&1<<x)!=!(s&1<<m)){var b=1;s&1<<x?p[y].push(\\\"v\\\"+x+\\\"-v\\\"+m):(p[y].push(\\\"v\\\"+m+\\\"-v\\\"+x),b=-b),b<0?(f[y].push(\\\"-v\\\"+m+\\\"-v\\\"+x),d[y]+=2):(f[y].push(\\\"v\\\"+m+\\\"+v\\\"+x),d[y]-=2),v+=1;for(var _=0;_<r;++_)_!==y&&(x&1<<_?g[_]+=1:g[_]-=1)}}for(var w=[],y=0;y<r;++y)if(0===f[y].length)w.push(\\\"d\\\"+y+\\\"-0.5\\\");else{var M=\\\"\\\";d[y]<0?M=d[y]+\\\"*c\\\":d[y]>0&&(M=\\\"+\\\"+d[y]+\\\"*c\\\");var A=f[y].length/v*.5,k=.5+g[y]/v*.5;w.push(\\\"d\\\"+y+\\\"-\\\"+k+\\\"-\\\"+A+\\\"*(\\\"+f[y].join(\\\"+\\\")+M+\\\")/(\\\"+p[y].join(\\\"+\\\")+\\\")\\\")}c.push(\\\"a.push([\\\",w.join(),\\\"]);\\\",\\\"break;\\\")}n.push(\\\"}},\\\"),u.length>0&&c.push(\\\"}}\\\");for(var T=[],s=0;s<1<<r-1;++s)T.push(\\\"v\\\"+s);T.push(\\\"c0\\\",\\\"c1\\\",\\\"p0\\\",\\\"p1\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\"),n.push(\\\"cell:function cellFunc(\\\",T.join(),\\\"){\\\");var S=gE(r-1);n.push(\\\"if(p0){b.push(\\\",S.map(function(t){return\\\"[\\\"+t.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}else{b.push(\\\",S.map(function(t){var e=t.slice();return e.reverse(),\\\"[\\\"+e.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}}});function \\\",i,\\\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \\\",i,\\\";\\\");for(var s=0;s<u.length;++s)n.push(u[s].join(\\\"\\\"));return new Function(\\\"genContour\\\",n.join(\\\"\\\"))(FS)}(t.order,t.dtype));return n(t,e)};var xE={};var bE={};function _E(t,e,r,n){var i=function(t,e){var r=yE(t,128);return e?RS(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),a=function(t,e,r){for(var n=e.textAlign||\\\"start\\\",i=e.textBaseline||\\\"alphabetic\\\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var u=t[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var h=0;switch(n){case\\\"center\\\":h=-.5*(a[0]+o[0]);break;case\\\"right\\\":case\\\"end\\\":h=-o[0];break;case\\\"left\\\":case\\\"start\\\":h=-a[0];break;default:throw new Error(\\\"vectorize-text: Unrecognized textAlign: '\\\"+n+\\\"'\\\")}var f=0;switch(i){case\\\"hanging\\\":case\\\"top\\\":f=-a[1];break;case\\\"middle\\\":f=-.5*(a[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: '\\\"+i+\\\"'\\\")}var p=1/r;return\\\"lineHeight\\\"in e?p*=+e.lineHeight:\\\"width\\\"in e?p=e.width/(o[0]-a[0]):\\\"height\\\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+h),p*(t[1]+f)]})}(i.positions,e,r),o=i.edges,s=\\\"ccw\\\"===e.orientation;if(aT(a,o),e.polygons||e.polygon||e.polyline){for(var l=pS(o,a),u=new Array(l.length),c=0;c<l.length;++c){for(var h=l[c],f=new Array(h.length),p=0;p<h.length;++p){for(var d=h[p],g=new Array(d.length),v=0;v<d.length;++v)g[v]=a[d[v]].slice();s&&g.reverse(),f[p]=g}u[c]=f}return u}return e.triangles||e.triangulate||e.triangle?{cells:iA(a,o,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:o,positions:a}}function wE(t,e,r){try{return _E(t,e,r,!0)}catch(t){}try{return _E(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}(bE=function(t,e,r,n){var i=n.size||64,a=n.font||\\\"normal\\\";return r.font=i+\\\"px \\\"+a,r.textAlign=\\\"start\\\",r.textBaseline=\\\"alphabetic\\\",r.direction=\\\"ltr\\\",wE(function(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i>8192)throw new Error(\\\"vectorize-text: String too long (sorry, this will get fixed later)\\\");var a=3*n;t.height<a&&(t.height=a),e.fillStyle=\\\"#000\\\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\\\"#fff\\\",e.fillText(r,n,2*n);var o=e.getImageData(0,0,i,a);return wb(o.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i),n,i)}).processPixels=wE;var ME=function(t,e){\\\"object\\\"==typeof e&&null!==e||(e={});return bE(t,e.canvas||AE,e.context||kE,e)},AE=null,kE=null;\\\"undefined\\\"!=typeof document&&((AE=document.createElement(\\\"canvas\\\")).width=8192,AE.height=1024,kE=AE.getContext(\\\"2d\\\"));var TE={};(function(t){\\\"use strict\\\";TE=function t(e,n,i){var i=i||{};var a=r[e];a||(a=r[e]={\\\" \\\":{data:new Float32Array(0),shape:.2}});var o=a[n];if(!o)if(n.length<=1||!/\\\\d/.test(n))o=a[n]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}(ME(n,{triangles:!0,font:e,textAlign:i.textAlign||\\\"left\\\",textBaseline:\\\"alphabetic\\\"}));else{for(var s=n.split(/(\\\\d|\\\\s)/),l=new Array(s.length),u=0,c=0,h=0;h<s.length;++h)l[h]=t(e,s[h]),u+=l[h].data.length,c+=l[h].shape,h>0&&(c+=.02);for(var f=new Float32Array(u),p=0,d=-.5*c,h=0;h<l.length;++h){for(var g=l[h].data,v=0;v<g.length;v+=2)f[p++]=g[v]+d,f[p++]=g[v+1];d+=l[h].shape+.02}o=a[n]={data:f,shape:c}}return o};var e=window||t.global||{},r=e.__TEXT_CACHE||{};e.__TEXT_CACHE={}}).call(this,Pp);var SE=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.textVert,L_.textFrag);return new EE(t,r,n)};function EE(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 CE=EE.prototype;CE.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],s=this.tickOffset[n],l=i.gl,u=i.viewBox,c=i.dataBox,h=i.screenBox,f=i.pixelRatio,p=i.tickEnable,d=i.tickPad,g=i.tickColor,v=i.tickAngle,m=i.labelEnable,y=i.labelPad,x=i.labelColor,b=i.labelAngle,_=this.labelOffset[n],w=this.labelCount[n],M=Zw.lt(o,c[n]),A=Zw.le(o,c[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var k=2/h[2+(1^n)]-h[1^n];e[1^n]=k*u[1^n]-1,p[n]&&(e[1^n]-=k*f*d[n],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n]&&w&&(e[1^n]-=k*f*y[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n],a.uniforms.angle=b[n],l.drawArrays(l.TRIANGLES,_,w)),e[1^n]=k*u[2+(1^n)]-1,p[n+2]&&(e[1^n]+=k*f*d[n+2],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n+2]&&w&&(e[1^n]+=k*f*y[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n+2],a.uniforms.angle=b[n+2],l.drawArrays(l.TRIANGLES,_,w))}}(),CE.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),CE.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var u=0;u<2;++u){var c=a[u],h=a[u+2]-c,f=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],d=l[u],g=l[u+2]-d,v=s[u],m=s[u+2]-v;e[u]=2*h/p*g/m,t[u]=2*(c-f)/p*g/m}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),CE.update=function(t){var e,r,n,i,a,o=[],s=t.ticks,l=t.bounds;for(a=0;a<2;++a){var u=[Math.floor(o.length/3)],c=[-1/0],h=s[a];for(e=0;e<h.length;++e){var f=h[e],p=f.x,d=f.text,g=f.font||\\\"sans-serif\\\";i=f.fontSize||12;for(var v=1/(l[a+2]-l[a]),m=l[a],y=d.split(\\\"\\\\n\\\"),x=0;x<y.length;x++)for(n=TE(g,y[x]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-x*i*1.2,(p-m)*v);u.push(Math.floor(o.length/3)),c.push(p)}this.tickOffset[a]=u,this.tickX[a]=c}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=TE(t.labelFont[a],t.labels[a],{textAlign:\\\"center\\\"}).data,i=t.labelSize[a],e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(o.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(o.length/3),n=TE(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(o.length/3)-this.titleOffset,this.vbo.update(o)},CE.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var LE=nb,zE=function(t){if(arguments.length<=1)throw new Error(\\\"gl-texture2d: Missing arguments for texture2d constructor\\\");PE||function(t){PE=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],IE=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],DE=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if(\\\"number\\\"==typeof arguments[1])return UE(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return UE(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=OE(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new BE(t,o,r,n,i,a)}(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 function(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]<0||n[0]>i||n[1]<0||n[1]>i)throw new Error(\\\"gl-texture2d: Invalid texture size\\\");var a=jE(n,e.stride.slice()),o=0;\\\"float32\\\"===r?o=t.FLOAT:\\\"float64\\\"===r?(o=t.FLOAT,a=!1,r=\\\"float32\\\"):\\\"uint8\\\"===r?o=t.UNSIGNED_BYTE:(o=t.UNSIGNED_BYTE,a=!1,r=\\\"uint8\\\");var s,l,u=0;if(2===n.length)u=t.LUMINANCE,n=[n[0],n[1],1],e=wb(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===n[2])u=t.ALPHA;else if(2===n[2])u=t.LUMINANCE_ALPHA;else if(3===n[2])u=t.RGB;else{if(4!==n[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");u=t.RGBA}}o!==t.FLOAT||t.getExtension(\\\"OES_texture_float\\\")||(o=t.UNSIGNED_BYTE,a=!1);var c=e.size;if(a)s=0===e.offset&&e.data.length===c?e.data:e.data.subarray(e.offset,e.offset+c);else{var h=[n[2],n[2]*n[0],1];l=__.malloc(c,r);var f=wb(l,n,h,0);\\\"float32\\\"!==r&&\\\"float64\\\"!==r||o!==t.UNSIGNED_BYTE?ib.assign(f,e):RE(f,e),s=l.subarray(0,c)}var p=VE(t);t.texImage2D(t.TEXTURE_2D,0,u,n[0],n[1],0,u,o,s),a||__.free(l);return new BE(t,p,n[0],n[1],u,o)}(t,e)}throw new Error(\\\"gl-texture2d: Invalid arguments for texture2d constructor\\\")},PE=null,IE=null,DE=null;function OE(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 RE=function(t,e){ib.muls(t,e,255)};function FE(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)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 BE(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,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 NE=BE.prototype;function jE(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 VE(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 UE(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-texture2d: Invalid texture shape\\\");if(i===t.FLOAT&&!t.getExtension(\\\"OES_texture_float\\\"))throw new Error(\\\"gl-texture2d: Floating point textures not supported on this platform\\\");var o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new BE(t,o,e,r,n,i)}Object.defineProperties(NE,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&PE.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),IE.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&&PE.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),IE.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(),DE.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(),DE.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(DE.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 FE(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return FE(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,FE(this,this._shape[0],t),t}}}),NE.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},NE.dispose=function(){this.gl.deleteTexture(this.handle)},NE.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)},NE.setPixels=function(t,e,r,n){var i=this.gl;this.bind(),Array.isArray(e)?(n=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),n=n||0;var a=OE(t)?t:t.raw;if(a){this._mipLevels.indexOf(n)<0?(i.texImage2D(i.TEXTURE_2D,0,this.format,this.format,this.type,a),this._mipLevels.push(n)):i.texSubImage2D(i.TEXTURE_2D,n,e,r,this.format,this.type,a)}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]>>>n||r+t.shape[0]>this._shape[0]>>>n||e<0||r<0)throw new Error(\\\"gl-texture2d: Texture dimensions are out of bounds\\\");!function(t,e,r,n,i,a,o,s){var l=s.dtype,u=s.shape.slice();if(u.length<2||u.length>3)throw new Error(\\\"gl-texture2d: Invalid ndarray, must be 2d or 3d\\\");var c=0,h=0,f=jE(u,s.stride.slice());\\\"float32\\\"===l?c=t.FLOAT:\\\"float64\\\"===l?(c=t.FLOAT,f=!1,l=\\\"float32\\\"):\\\"uint8\\\"===l?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,f=!1,l=\\\"uint8\\\");if(2===u.length)h=t.LUMINANCE,u=[u[0],u[1],1],s=wb(s.data,u,[s.stride[0],s.stride[1],1],s.offset);else{if(3!==u.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===u[2])h=t.ALPHA;else if(2===u[2])h=t.LUMINANCE_ALPHA;else if(3===u[2])h=t.RGB;else{if(4!==u[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");h=t.RGBA}u[2]}h!==t.LUMINANCE&&h!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(h=i);if(h!==i)throw new Error(\\\"gl-texture2d: Incompatible texture format for setPixels\\\");var p=s.size,d=o.indexOf(n)<0;d&&o.push(n);if(c===a&&f)0===s.offset&&s.data.length===p?d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data):d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data.subarray(s.offset,s.offset+p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data.subarray(s.offset,s.offset+p));else{var g;g=a===t.FLOAT?__.mallocFloat32(p):__.mallocUint8(p);var v=wb(g,u,[u[2],u[2]*u[0],1]);c===t.FLOAT&&a===t.UNSIGNED_BYTE?RE(v,s):ib.assign(v,s),d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,g.subarray(0,p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,g.subarray(0,p)),a===t.FLOAT?__.freeFloat32(g):__.freeUint8(g)}}(i,e,r,n,this.format,this.type,this._mipLevels,t)}};var qE,HE,GE,WE,YE=function(t,e,r,n){qE||(qE=t.FRAMEBUFFER_UNSUPPORTED,HE=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,GE=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,WE=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\\\"WEBGL_draw_buffers\\\");!XE&&i&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);XE=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;XE[n]=i}}(t,i);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 a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-fbo: Parameters are too large for FBO\\\");var o=1;if(\\\"color\\\"in(n=n||{})){if((o=Math.max(0|n.color,0))<0)throw new Error(\\\"gl-fbo: Must specify a nonnegative number of colors\\\");if(o>1){if(!i)throw new Error(\\\"gl-fbo: Multiple draw buffer extension not supported\\\");if(o>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\\\"gl-fbo: Context does not support \\\"+o+\\\" draw buffers\\\")}}var s=t.UNSIGNED_BYTE,l=t.getExtension(\\\"OES_texture_float\\\");if(n.float&&o>0){if(!l)throw new Error(\\\"gl-fbo: Context does not support floating point textures\\\");s=t.FLOAT}else n.preferFloat&&o>0&&l&&(s=t.FLOAT);var u=!0;\\\"depth\\\"in n&&(u=!!n.depth);var c=!1;\\\"stencil\\\"in n&&(c=!!n.stencil);return new tC(t,e,r,s,o,u,c,i)},XE=null;function ZE(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function JE(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function KE(t){switch(t){case qE:throw new Error(\\\"gl-fbo: Framebuffer unsupported\\\");case HE:throw new Error(\\\"gl-fbo: Framebuffer incomplete attachment\\\");case GE:throw new Error(\\\"gl-fbo: Framebuffer incomplete dimensions\\\");case WE:throw new Error(\\\"gl-fbo: Framebuffer incomplete missing attachment\\\");default:throw new Error(\\\"gl-fbo: Framebuffer failed for unspecified reason\\\")}}function QE(t,e,r,n,i,a){if(!n)return null;var o=zE(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function $E(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function tC(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var l=0;l<i;++l)this.color[l]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var u=this,c=[0|e,0|r];Object.defineProperties(c,{0:{get:function(){return u._shape[0]},set:function(t){return u.width=t}},1:{get:function(){return u._shape[1]},set:function(t){return u.height=t}}}),this._shapeVector=c,function(t){var e=ZE(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,l=t._useStencil,u=t._useDepth,c=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var h=0;h<o;++h)t.color[h]=QE(r,i,a,c,r.RGBA,r.COLOR_ATTACHMENT0+h);0===o?(t._color_rb=$E(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(XE[0])):o>1&&s.drawBuffersWEBGL(XE[o]);var f=r.getExtension(\\\"WEBGL_depth_texture\\\");f?l?t.depth=QE(r,i,a,f.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u&&(t.depth=QE(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):u&&l?t._depth_rb=$E(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u?t._depth_rb=$E(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):l&&(t._depth_rb=$E(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var p=r.checkFramebufferStatus(r.FRAMEBUFFER);if(p!==r.FRAMEBUFFER_COMPLETE){for(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),h=0;h<t.color.length;++h)t.color[h].dispose(),t.color[h]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),JE(r,e),KE(p)}JE(r,e)}(this)}var eC=tC.prototype;function rC(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,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\\\"gl-fbo: Can't resize FBO, invalid dimensions\\\");t._shape[0]=e,t._shape[1]=r;for(var a=ZE(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(),JE(n,a),KE(s)),JE(n,a)}}Object.defineProperties(eC,{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 rC(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return rC(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,rC(this,this._shape[0],t),t},enumerable:!1}}),eC.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])}},eC.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)}};var nC=function(t,e){var r=YE(t,e),n=__.mallocUint8(e[0]*e[1]*4);return new oC(t,r,n)},iC=Mb.nextPow2,aC=LE({args:[\\\"array\\\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\\\"scalar\\\",\\\"scalar\\\",\\\"index\\\"],pre:{body:\\\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},body:{body:\\\"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\\\",args:[{name:\\\"_inline_16_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg1_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg4_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg5_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg6_\\\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[\\\"_inline_16_a\\\",\\\"_inline_16_f\\\",\\\"_inline_16_l\\\"]},post:{body:\\\"{return[this_closestX,this_closestY,this_closestD2]}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});function oC(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 sC=oC.prototype;Object.defineProperty(sC,\\\"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){__.free(this.buffer);for(var n=this.buffer=__.mallocUint8(iC(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),sC.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))},sC.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},sC.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 i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),o=0|Math.min(Math.max(e-r,0),n[1]),s=0|Math.min(Math.max(e+r,0),n[1]);if(a<=i||s<=o)return null;var l=[a-i,s-o],u=wb(this.buffer,[l[0],l[1],4],[4,4*n[0],1],4*(i+n[0]*o)),c=aC(u.hi(l[0],l[1],1),r,r),h=c[0],f=c[1];return h<0||Math.pow(this.radius,2)<c[2]?null:new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(h+i|0,f+o|0,u.get(h,f,0),[u.get(h,f,1),u.get(h,f,2),u.get(h,f,3)],Math.sqrt(c[2]))},sC.dispose=function(){this.gl&&(this.fbo.dispose(),__.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};var lC=function(t){var e=t.gl,r=nC(e,[e.drawingBufferWidth,e.drawingBufferHeight]),n=new uC(e,r);return n.grid=Jw(n),n.text=SE(n),n.line=aM(n),n.box=Nw(n),n.update(t),n};function uC(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 cC=uC.prototype;function hC(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function fC(t,e){return t.x-e.x}cC.setDirty=function(){this.dirty=this.pickDirty=!0},cC.setOverlayDirty=function(){this.dirty=!0},cC.nextDepthValue=function(){return this._depthCounter++/65536},cC.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=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 u=this.borderColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[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 c=this.backgroundColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT),a.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 v=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(v[1]&&o.drawLine(r[0],r[1]-.5*m[1]*i,r[0],r[3]+.5*m[3]*i,m[1],y[1]),v[0]&&o.drawLine(r[0]-.5*m[0]*i,r[1],r[2]+.5*m[2]*i,r[1],m[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*m[1]*i,r[2],r[3]+.5*m[3]*i,m[3],y[3]),v[2]&&o.drawLine(r[0]-.5*m[0]*i,r[3],r[2]+.5*m[2]*i,r[3],m[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)}},cC.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()}},cC.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var h=u[c].pick(a,o,l);if(h)return h}return null}},cC.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()},cC.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())},cC.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()},cC.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,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),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=hC(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=hC(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=hC(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=hC(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=hC(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=hC(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=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=a[s].slice(0);0!==l.length&&(l.sort(fC),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:a}),this.text.update({bounds:o,ticks:a,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()},cC.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},cC.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},cC.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}},cC.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},cC.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}};var pC={};pC.boxVertex=E_([\\\"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\\\"]),pC.boxFragment=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\\n\\\"]);var dC=function(t,e){var r=t.gl,n=S_(r,[0,0,0,1,1,0,1,1]),i=Bw(r,pC.boxVertex,pC.boxFragment),a=new gC(t,n,i);return a.update(e),t.addOverlay(a),a};function gC(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}var vC=gC.prototype;vC.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,u=t.viewBox,c=t.pixelRatio,h=(e[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],f=(e[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],p=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],d=(e[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(h=Math.max(h,u[0]),f=Math.max(f,u[1]),p=Math.min(p,u[2]),d=Math.min(d,u[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,i),o.drawBox(0,f,h,d,i),o.drawBox(0,d,g,v,i),o.drawBox(p,f,g,d,i)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var m=r*c;o.drawBox(h-m,f-m,p+m,f+m,a),o.drawBox(h-m,d-m,p+m,d+m,a),o.drawBox(h-m,f-m,h+m,d+m,a),o.drawBox(p-m,f-m,p+m,d+m,a)}}}},vC.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()},vC.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)};var mC=function(t,e){var r=new yC(t);return r.update(e),t.addOverlay(r),r};function yC(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]}var xC=yC.prototype;xC.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()},xC.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.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]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,u,s[0],u,e[0],r[0]),t[1]&&a.drawLine(l,u,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,u,s[2],u,e[2],r[2]),t[3]&&a.drawLine(l,u,l,s[3],e[3],r[3])}},xC.dispose=function(){this.plot.removeOverlay(this)};var bC=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,i=e;try{var a=[t];0===t.indexOf(\\\"webgl\\\")&&a.push(\\\"experimental-\\\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null};var _C=function(t){return bC(\\\"webgl\\\",t)},wC=function(t){return t.split(\\\"\\\").map(function(t){return t in MC?MC[t]:\\\"\\\"}).join(\\\"\\\")},MC={\\\" \\\":\\\" \\\",0:\\\"\\\\u2070\\\",1:\\\"\\\\xb9\\\",2:\\\"\\\\xb2\\\",3:\\\"\\\\xb3\\\",4:\\\"\\\\u2074\\\",5:\\\"\\\\u2075\\\",6:\\\"\\\\u2076\\\",7:\\\"\\\\u2077\\\",8:\\\"\\\\u2078\\\",9:\\\"\\\\u2079\\\",\\\"+\\\":\\\"\\\\u207a\\\",\\\"-\\\":\\\"\\\\u207b\\\",a:\\\"\\\\u1d43\\\",b:\\\"\\\\u1d47\\\",c:\\\"\\\\u1d9c\\\",d:\\\"\\\\u1d48\\\",e:\\\"\\\\u1d49\\\",f:\\\"\\\\u1da0\\\",g:\\\"\\\\u1d4d\\\",h:\\\"\\\\u02b0\\\",i:\\\"\\\\u2071\\\",j:\\\"\\\\u02b2\\\",k:\\\"\\\\u1d4f\\\",l:\\\"\\\\u02e1\\\",m:\\\"\\\\u1d50\\\",n:\\\"\\\\u207f\\\",o:\\\"\\\\u1d52\\\",p:\\\"\\\\u1d56\\\",r:\\\"\\\\u02b3\\\",s:\\\"\\\\u02e2\\\",t:\\\"\\\\u1d57\\\",u:\\\"\\\\u1d58\\\",v:\\\"\\\\u1d5b\\\",w:\\\"\\\\u02b7\\\",x:\\\"\\\\u02e3\\\",y:\\\"\\\\u02b8\\\",z:\\\"\\\\u1dbb\\\"};var AC=function(t){return\\\"\\\"+function(t){for(var e=tr.entityToUnicode,r=0;(r=t.indexOf(\\\"&\\\",r))>=0;){var n=t.indexOf(\\\";\\\",r);if(n<r)r+=1;else{var i=e[t.slice(r+1,n)];t=i?t.slice(0,r)+i+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\\\\<.*\\\\>/g,\\\"\\\")}(function(t){for(var e=0;(e=t.indexOf(\\\"<sup>\\\",e))>=0;){var r=t.indexOf(\\\"</sup>\\\",e);if(r<e)break;t=t.slice(0,e)+wC(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\\\<br\\\\>/g,\\\"\\\\n\\\"))))},kC=function(){},TC=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&(t[e]=kC);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\\\"div\\\");return r.textContent=\\\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\\\",r.style.cursor=\\\"pointer\\\",r.style.fontSize=\\\"24px\\\",r.style.color=Oe.defaults[0],t.container.appendChild(r),t.container.style.background=\\\"#FFFFFF\\\",t.container.onclick=function(){window.open(\\\"http://get.webgl.org\\\")},!1},SC={};function EC(t){return t.target||t.srcElement||window}SC.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},SC.element=EC,SC.x=function(t){if(\\\"object\\\"==typeof t){if(\\\"offsetX\\\"in t)return t.offsetX;var e=EC(t).getBoundingClientRect();return t.clientX-e.left}return 0},SC.y=function(t){if(\\\"object\\\"==typeof t){if(\\\"offsetY\\\"in t)return t.offsetY;var e=EC(t).getBoundingClientRect();return t.clientY-e.top}return 0};var CC=function(t,e){e||(e=t,t=window);var r=0,n=0,i=0,a={shift:!1,alt:!1,control:!1,meta:!1},o=!1;function s(t){var e=!1;return\\\"altKey\\\"in t&&(e=e||t.altKey!==a.alt,a.alt=!!t.altKey),\\\"shiftKey\\\"in t&&(e=e||t.shiftKey!==a.shift,a.shift=!!t.shiftKey),\\\"ctrlKey\\\"in t&&(e=e||t.ctrlKey!==a.control,a.control=!!t.ctrlKey),\\\"metaKey\\\"in t&&(e=e||t.metaKey!==a.meta,a.meta=!!t.metaKey),e}function l(t,o){var l=SC.x(o),u=SC.y(o);\\\"buttons\\\"in o&&(t=0|o.buttons),(t!==r||l!==n||u!==i||s(o))&&(r=0|t,n=l||0,i=u||0,e&&e(r,n,i,a))}function u(t){l(0,t)}function c(){(r||n||i||a.shift||a.alt||a.meta||a.control)&&(n=i=0,r=0,a.shift=a.alt=a.control=a.meta=!1,e&&e(0,0,0,a))}function h(t){s(t)&&e&&e(r,n,i,a)}function f(t){0===SC.buttons(t)?l(0,t):l(r,t)}function p(t){l(r|SC.buttons(t),t)}function d(t){l(r&~SC.buttons(t),t)}function g(){o||(o=!0,t.addEventListener(\\\"mousemove\\\",f),t.addEventListener(\\\"mousedown\\\",p),t.addEventListener(\\\"mouseup\\\",d),t.addEventListener(\\\"mouseleave\\\",u),t.addEventListener(\\\"mouseenter\\\",u),t.addEventListener(\\\"mouseout\\\",u),t.addEventListener(\\\"mouseover\\\",u),t.addEventListener(\\\"blur\\\",c),t.addEventListener(\\\"keyup\\\",h),t.addEventListener(\\\"keydown\\\",h),t.addEventListener(\\\"keypress\\\",h),t!==window&&(window.addEventListener(\\\"blur\\\",c),window.addEventListener(\\\"keyup\\\",h),window.addEventListener(\\\"keydown\\\",h),window.addEventListener(\\\"keypress\\\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return o},set:function(e){e?g():o&&(o=!1,t.removeEventListener(\\\"mousemove\\\",f),t.removeEventListener(\\\"mousedown\\\",p),t.removeEventListener(\\\"mouseup\\\",d),t.removeEventListener(\\\"mouseleave\\\",u),t.removeEventListener(\\\"mouseenter\\\",u),t.removeEventListener(\\\"mouseout\\\",u),t.removeEventListener(\\\"mouseover\\\",u),t.removeEventListener(\\\"blur\\\",c),t.removeEventListener(\\\"keyup\\\",h),t.removeEventListener(\\\"keydown\\\",h),t.removeEventListener(\\\"keypress\\\",h),t!==window&&(window.removeEventListener(\\\"blur\\\",c),window.removeEventListener(\\\"keyup\\\",h),window.removeEventListener(\\\"keydown\\\",h),window.removeEventListener(\\\"keypress\\\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return n},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return a},enumerable:!0}}),v};var LC=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},zC=DC,PC=96;function IC(t,e){var r=LC(getComputedStyle(t).getPropertyValue(e));return r[0]*DC(r[1],t)}function DC(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=IC(r,\\\"font-size\\\")/128;return e.removeChild(r),n}(t,e);case\\\"em\\\":return IC(e,\\\"font-size\\\");case\\\"rem\\\":return IC(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 PC;case\\\"cm\\\":return PC/2.54;case\\\"mm\\\":return PC/25.4;case\\\"pt\\\":return PC/72;case\\\"pc\\\":return PC/6}return 1}var OC=function(t,e,r){\\\"function\\\"==typeof t&&(r=!!e,e=t,t=window);var n=zC(\\\"ex\\\",t),i=function(t){r&&t.preventDefault();var i=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=n;break;case 2:l=window.innerHeight}if(a*=l,o*=l,(i*=l)||a||o)return e(i,a,o,t)};return t.addEventListener(\\\"wheel\\\",i),i};var RC=function(t){var e=t.mouseContainer,r=t.glplot,n=new function(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,r);function i(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function a(e,a,o){var s,l,u=t.calcDataBox(),c=r.viewBox,h=n.lastPos[0],f=n.lastPos[1],p=Te.MINDRAG*r.pixelRatio,d=Te.MINZOOM*r.pixelRatio;function g(e,r,i){var a=Math.min(r,i),o=Math.max(r,i);a!==o?(u[e]=a,u[e+2]=o,n.dataBox=u,t.setRanges(u)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(a*=r.pixelRatio,o*=r.pixelRatio,o=c[3]-c[1]-o,t.fullLayout.dragmode){case\\\"zoom\\\":if(e){var v=a/(c[2]-c[0])*(u[2]-u[0])+u[0],m=o/(c[3]-c[1])*(u[3]-u[1])+u[1];n.boxInited||(n.boxStart[0]=v,n.boxStart[1]=m,n.dragStart[0]=a,n.dragStart[1]=o),n.boxEnd[0]=v,n.boxEnd[1]=m,n.boxInited=!0,n.boxEnabled||n.boxStart[0]===n.boxEnd[0]&&n.boxStart[1]===n.boxEnd[1]||(n.boxEnabled=!0);var y=Math.abs(n.dragStart[0]-a)<d,x=Math.abs(n.dragStart[1]-o)<d;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||y&&x)y&&(n.boxEnd[0]=n.boxStart[0]),x&&(n.boxEnd[1]=n.boxStart[1]);else{s=n.boxEnd[0]-n.boxStart[0],l=n.boxEnd[1]-n.boxStart[1];var b=(u[3]-u[1])/(u[2]-u[0]);Math.abs(s*b)>Math.abs(l)?(n.boxEnd[1]=n.boxStart[1]+Math.abs(s)*b*(l>=0?1:-1),n.boxEnd[1]<u[1]?(n.boxEnd[1]=u[1],n.boxEnd[0]=n.boxStart[0]+(u[1]-n.boxStart[1])/Math.abs(b)):n.boxEnd[1]>u[3]&&(n.boxEnd[1]=u[3],n.boxEnd[0]=n.boxStart[0]+(u[3]-n.boxStart[1])/Math.abs(b))):(n.boxEnd[0]=n.boxStart[0]+Math.abs(l)/b*(s>=0?1:-1),n.boxEnd[0]<u[0]?(n.boxEnd[0]=u[0],n.boxEnd[1]=n.boxStart[1]+(u[0]-n.boxStart[0])*Math.abs(b)):n.boxEnd[0]>u[2]&&(n.boxEnd[0]=u[2],n.boxEnd[1]=n.boxStart[1]+(u[2]-n.boxStart[0])*Math.abs(b)))}}else n.boxEnabled?(s=n.boxStart[0]!==n.boxEnd[0],l=n.boxStart[1]!==n.boxEnd[1],s||l?(s&&(g(0,n.boxStart[0],n.boxEnd[0]),t.xaxis.autorange=!1),l&&(g(1,n.boxStart[1],n.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),n.boxEnabled=!1,n.boxInited=!1):n.boxInited&&(n.boxInited=!1);break;case\\\"pan\\\":n.boxEnabled=!1,n.boxInited=!1,e?(n.panning||(n.dragStart[0]=a,n.dragStart[1]=o),Math.abs(n.dragStart[0]-a)<p&&(a=n.dragStart[0]),Math.abs(n.dragStart[1]-o)<p&&(o=n.dragStart[1]),s=(h-a)*(u[2]-u[0])/(r.viewBox[2]-r.viewBox[0]),l=(f-o)*(u[3]-u[1])/(r.viewBox[3]-r.viewBox[1]),u[0]+=s,u[2]+=s,u[1]+=l,u[3]+=l,t.setRanges(u),n.panning=!0,n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations()):n.panning&&(n.panning=!1,t.relayoutCallback())}n.lastPos[0]=a,n.lastPos[1]=o}return n.mouseListener=CC(e,a),e.addEventListener(\\\"touchstart\\\",function(t){var r=La(t.changedTouches[0],e);a(0,r[0],r[1]),a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\\\"touchmove\\\",function(t){t.preventDefault();var r=La(t.changedTouches[0],e);a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\\\"touchend\\\",function(t){a(0,n.lastPos[0],n.lastPos[1]),t.preventDefault()},!!Ea&&{passive:!1}),n.wheelListener=OC(e,function(e,a){if(!t.scrollZoom)return!1;var o=t.calcDataBox(),s=r.viewBox,l=n.lastPos[0],u=n.lastPos[1],c=Math.exp(5*a/(s[3]-s[1])),h=l/(s[2]-s[0])*(o[2]-o[0])+o[0],f=u/(s[3]-s[1])*(o[3]-o[1])+o[1];return o[0]=(o[0]-h)*c+h,o[2]=(o[2]-h)*c+h,o[1]=(o[1]-f)*c+f,o[3]=(o[3]-f)*c+f,t.setRanges(o),n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),n};var FC=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t};var BC={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]},NC=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]},jC=Object.prototype.toString,VC=function(t){var e;return\\\"[object Object]\\\"===jC.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))},UC={};(function(t){\\\"use strict\\\";UC=function(r){var n,i,a=[],o=1;if(\\\"string\\\"==typeof r)if(BC[r])a=BC[r].slice(),i=\\\"rgb\\\";else if(\\\"transparent\\\"===r)o=0,i=\\\"rgb\\\",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(r)){var s=r.slice(1),l=s.length,u=l<=4;o=1,u?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i=\\\"rgb\\\"}else if(n=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\\\s*\\\\(([^\\\\)]*)\\\\)/.exec(r)){var c=n[1],s=c.replace(/a$/,\\\"\\\");i=s;var l=\\\"cmyk\\\"===s?4:\\\"gray\\\"===s?1:3;a=n[2].trim().split(/\\\\s*,\\\\s*/).map(function(t,r){if(/%$/.test(t))return r===l?parseFloat(t)/100:\\\"rgb\\\"===s?255*parseFloat(t)/100:parseFloat(t);if(\\\"h\\\"===s[r]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==e[t])return e[t]}return parseFloat(t)}),c===s&&a.push(1),o=void 0===a[l]?1:a[l],a=a.slice(0,l)}else r.length>10&&/[0-9](?:\\\\s|\\\\/)/.test(r)&&(a=r.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),i=r.match(/([a-z])/gi).join(\\\"\\\").toLowerCase());else if(\\\"number\\\"==typeof r)i=\\\"rgb\\\",a=[r>>>16,(65280&r)>>>8,255&r];else if(VC(r)){var h=NC(r.r,r.red,r.R,null);null!==h?(i=\\\"rgb\\\",a=[h,NC(r.g,r.green,r.G),NC(r.b,r.blue,r.B)]):(i=\\\"hsl\\\",a=[NC(r.h,r.hue,r.H),NC(r.s,r.saturation,r.S),NC(r.l,r.lightness,r.L,r.b,r.brightness)]),o=NC(r.a,r.alpha,r.opacity,1),null!=r.opacity&&(o/=100)}else(Array.isArray(r)||t.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(r))&&(a=[r[0],r[1],r[2]],i=\\\"rgb\\\",o=4===r.length?r[3]:1);return{space:i,values:a,alpha:o}};var e={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:{});var qC=function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i},HC=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}},GC=function(t,e){\\\"float\\\"!==e&&e||(e=\\\"array\\\"),\\\"uint\\\"===e&&(e=\\\"uint8\\\"),\\\"uint_clamped\\\"===e&&(e=\\\"uint8_clamped\\\");var r=HC(e),n=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(n.set(t),n);var i=\\\"uint8\\\"!==e&&\\\"uint8_clamped\\\"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:255,i&&(n[0]/=255,n[1]/=255,n[2]/=255,n[3]/=255),n):(t.length&&\\\"string\\\"!=typeof t||((t=function(t){var e;if(\\\"string\\\"!=typeof t)throw Error(\\\"Argument should be a string\\\");var r=UC(t);return r.space?((e=Array(3))[0]=FC(r.values[0],0,255),e[1]=FC(r.values[1],0,255),e[2]=FC(r.values[2],0,255),\\\"h\\\"===r.space[0]&&(e=qC(e)),e.push(FC(r.alpha,0,1)),e):[]}(t))[0]/=255,t[1]/=255,t[2]/=255),i?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:1):(n[0]=FC(Math.round(255*t[0]),0,255),n[1]=FC(Math.round(255*t[1]),0,255),n[2]=FC(Math.round(255*t[2]),0,255),n[3]=null==t[3]?255:FC(Math.floor(255*t[3]),0,255)),n)};var WC=function(t){return t?GC(t):[0,0,0,1]};function YC(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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var XC=YC.prototype,ZC=[\\\"xaxis\\\",\\\"yaxis\\\"];XC.merge=function(t){var e,r,n,i,a,o,s,l,u,c,h;for(this.titleEnable=!1,this.backgroundColor=WC(t.plot_bgcolor),c=0;c<2;++c){var f=(e=ZC[c]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[f]?\\\"\\\":r.title,h=0;h<=2;h+=2)this.labelEnable[c+h]=!1,this.labels[c+h]=AC(n),this.labelColor[c+h]=WC(r.titlefont.color),this.labelFont[c+h]=r.titlefont.family,this.labelSize[c+h]=r.titlefont.size,this.labelPad[c+h]=this.getLabelPad(e,r),this.tickEnable[c+h]=!1,this.tickColor[c+h]=WC((r.tickfont||{}).color),this.tickAngle[c+h]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[c+h]=this.getTickPad(r),this.tickMarkLength[c+h]=0,this.tickMarkWidth[c+h]=r.tickwidth||0,this.tickMarkColor[c+h]=WC(r.tickcolor),this.borderLineEnable[c+h]=!1,this.borderLineColor[c+h]=WC(r.linecolor),this.borderLineWidth[c+h]=r.linewidth||0;s=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!s,o=this.hasAxisInAltrPos(e,r)&&!s,i=r.mirror||!1,l=s?-1!==String(i).indexOf(\\\"all\\\"):!!i,u=s?\\\"allticks\\\"===i:-1!==String(i).indexOf(\\\"ticks\\\"),a?this.labelEnable[c]=!0:o&&(this.labelEnable[c+2]=!0),a?this.tickEnable[c]=r.showticklabels:o&&(this.tickEnable[c+2]=r.showticklabels),(a||l)&&(this.borderLineEnable[c]=r.showline),(o||l)&&(this.borderLineEnable[c+2]=r.showline),(a||u)&&(this.tickMarkLength[c]=this.getTickMarkLength(r)),(o||u)&&(this.tickMarkLength[c+2]=this.getTickMarkLength(r)),this.gridLineEnable[c]=r.showgrid,this.gridLineColor[c]=WC(r.gridcolor),this.gridLineWidth[c]=r.gridwidth,this.zeroLineEnable[c]=r.zeroline,this.zeroLineColor[c]=WC(r.zerolinecolor),this.zeroLineWidth[c]=r.zerolinewidth}},XC.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==ri.findSubplotsWithAxis(r,t).indexOf(e.id)},XC.hasAxisInDfltPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"bottom\\\"===r:\\\"yaxis\\\"===t?\\\"left\\\"===r:void 0},XC.hasAxisInAltrPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"top\\\"===r:\\\"yaxis\\\"===t?\\\"right\\\"===r:void 0},XC.getLabelPad=function(t,e){var r=e.titlefont.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},XC.getTickPad=function(t){return\\\"outside\\\"===t.ticks?10+t.ticklen:15},XC.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\\\"inside\\\"===t.ticks?-e:e};var JC,KC,QC=function(t){return new YC(t)},$C=Gm.enforce,tL=Gm.clean,eL=Nn,rL=[\\\"xaxis\\\",\\\"yaxis\\\"],nL=Te.SUBPLOT_PATTERN;function iL(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=QC(this),this.glplotOptions.merge(e),this.glplot=lC(this.glplotOptions),this.camera=RC(this),this.traces={},this.spikes=mC(this.glplot),this.selectBox=dC(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()}var aL=iL,oL=iL.prototype;oL.makeFramework=function(){if(this.staticPlot){if(!(KC||(JC=document.createElement(\\\"canvas\\\"),KC=_C({canvas:JC,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"Error creating static canvas/context for image server\\\");this.canvas=JC,this.gl=KC}else{var t=this.container.querySelector(\\\".gl-canvas-focus\\\"),e=_C({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||TC(this),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 n=this.svgContainer=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");n.style.position=\\\"absolute\\\",n.style.top=n.style.left=\\\"0px\\\",n.style.width=n.style.height=\\\"100%\\\",n.style[\\\"z-index\\\"]=20,n.style[\\\"pointer-events\\\"]=\\\"none\\\";var i=this.mouseContainer=document.createElement(\\\"div\\\");i.style.position=\\\"absolute\\\",i.style[\\\"pointer-events\\\"]=\\\"auto\\\",this.pickCanvas=this.container.querySelector(\\\".gl-canvas-pick\\\");var a=this.container;a.appendChild(n),a.appendChild(i);var o=this;i.addEventListener(\\\"mouseout\\\",function(){o.isMouseOver=!1,o.unhover()}),i.addEventListener(\\\"mouseover\\\",function(){o.isMouseOver=!0})},oL.toImage=function(t){t||(t=\\\"png\\\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(JC),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=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*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var c=document.createElement(\\\"canvas\\\");c.width=r,c.height=n;var h,f=c.getContext(\\\"2d\\\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\\\"jpeg\\\":h=c.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=c.toDataURL(\\\"image/webp\\\");break;default:h=c.toDataURL(\\\"image/png\\\")}return this.staticPlot&&this.container.removeChild(JC),h},oL.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},oL.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[ri.calcTicks(this.xaxis),ri.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=AC(t[e][r].text+\\\"\\\");return t},oL.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(nL),r=\\\"xaxis\\\"+e[1],n=\\\"yaxis\\\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},oL.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\\\"plotly_relayout\\\",i)},oL.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],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].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())},oL.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&&P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")(t,r)}},oL.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}},oL.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 i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};tL(s,this.xaxis),tL(s,this.yaxis);var l,u,c=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[c.l+h[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-h[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(h[1]-h[0])+\\\"px\\\",this.mouseContainer.style.height=c.h*(f[1]-f[0])+\\\"px\\\",this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+h[0]*c.w+\\\"px\\\",this.mouseContainer.style.top=c.t+(1-f[1])*c.h+\\\"px\\\",u=0;u<2;++u)(l=this[rL[u]])._length=o.viewBox[u+2]-o.viewBox[u],eL(l),l.setScale();$C(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},oL.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},oL.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},oL.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},oL.updateFx=function(t){\\\"lasso\\\"===t||\\\"select\\\"===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},oL.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};yo.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},oL.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,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\\\"zoom\\\"===i.dragmode){this.selectBox.enabled=!0;for(var l=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]&&(l[u]=t.dataBox[u],l[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var c=i._size,h=this.xaxis.domain,f=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+c.l+h[0]*c.w,s/t.pixelRatio-(c.t+(1-f[1])*c.h)))&&a.object._trace.handlePick(a);if(p&&n&&this.emitPointAction(p,\\\"plotly_click\\\"),a&&\\\"skip\\\"!==a.object._trace.hoverinfo&&i.hovermode&&p&&(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var d=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),d.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(p,\\\"plotly_hover\\\");var g=this.fullData[d.trace.index]||{},v=d.pointIndex,m=yo.castHoverinfo(g,i,v);if(m&&\\\"all\\\"!==m){var y=m.split(\\\"+\\\");-1===y.indexOf(\\\"x\\\")&&(d.traceCoord[0]=void 0),-1===y.indexOf(\\\"y\\\")&&(d.traceCoord[1]=void 0),-1===y.indexOf(\\\"z\\\")&&(d.traceCoord[2]=void 0),-1===y.indexOf(\\\"text\\\")&&(d.textLabel=void 0),-1===y.indexOf(\\\"name\\\")&&(d.name=void 0)}yo.loneHover({x:d.screenCoord[0],y:d.screenCoord[1],xLabel:this.hoverFormatter(\\\"xaxis\\\",d.traceCoord[0]),yLabel:this.hoverFormatter(\\\"yaxis\\\",d.traceCoord[1]),zLabel:d.traceCoord[2],text:d.textLabel,name:d.name,color:yo.castHoverOption(g,v,\\\"bgcolor\\\")||d.color,borderColor:yo.castHoverOption(g,v,\\\"bordercolor\\\"),fontFamily:yo.castHoverOption(g,v,\\\"font.family\\\"),fontSize:yo.castHoverOption(g,v,\\\"font.size\\\"),fontColor:yo.castHoverOption(g,v,\\\"font.color\\\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},oL.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\\\"plotly_unhover\\\"),yo.loneUnhover(this.svgContainer))},oL.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return ri.tickText(r,r.c2l(e),\\\"hover\\\").text}};var sL={},lL=ye.overrideAll,uL=sa.getSubplotData;sL.name=\\\"gl2d\\\",sL.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],sL.idRoot=[\\\"x\\\",\\\"y\\\"],sL.idRegex=Te.idRegex,sL.attrRegex=Te.attrRegex,sL.attributes=Gi,sL.supplyLayoutDefaults=function(t,e,r){e._has(\\\"cartesian\\\")||ua.supplyLayoutDefaults(t,e,r)},sL.layoutAttrOverrides=lL(ua.layoutAttributes,\\\"plot\\\",\\\"from-root\\\"),sL.baseLayoutAttrOverrides=lL({plot_bgcolor:z.plot_bgcolor,hoverlabel:mo.hoverlabel},\\\"plot\\\",\\\"nested\\\"),sL.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var a=n[i],o=e._plots[a],s=uL(r,\\\"gl2d\\\",a),l=o._scene2d;void 0===l&&(l=new aL({id:a,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),o._scene2d=l),l.plot(s,t.calcdata,e,t.layout)}},sL.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===uL(t,\\\"gl2d\\\",o).length&&(s._scene2d.destroy(),delete n._plots[o])}ua.clean.apply(this,arguments)},sL.drawFramework=function(t){t._context.staticPlot||ua.drawFramework(t)},sL.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":a,x:0,y:0,width:\\\"100%\\\",height:\\\"100%\\\",preserveAspectRatio:\\\"none\\\"}),i.destroy()}},sL.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r<e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}};for(var cL=m.extendFlat,hL=ye.overrideAll,fL=[\\\"z\\\",\\\"x\\\",\\\"x0\\\",\\\"dx\\\",\\\"y\\\",\\\"y0\\\",\\\"dy\\\",\\\"text\\\",\\\"transpose\\\",\\\"xtype\\\",\\\"ytype\\\"],pL={},dL=0;dL<fL.length;dL++){var gL=fL[dL];pL[gL]=Lh[gL]}cL(pL,Pe,{autocolorscale:cL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze});var vL=hL(pL,\\\"calc\\\",\\\"nested\\\"),mL={fragment:E_([\\\"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:E_([\\\"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:E_([\\\"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:E_([\\\"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\\\"])};function yL(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function xL(t,e,r,n){return new Function([yL(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),yL(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}var bL={ge:xL(\\\">=\\\",!1,\\\"GE\\\"),gt:xL(\\\">\\\",!1,\\\"GT\\\"),lt:xL(\\\"<\\\",!0,\\\"LT\\\"),le:xL(\\\"<=\\\",!0,\\\"LE\\\"),eq:xL(\\\"-\\\",!0,\\\"EQ\\\",!0)},_L=function(t,e){var r=t.gl,n=Bw(r,mL.vertex,mL.fragment),i=Bw(r,mL.pickVertex,mL.pickFragment),a=S_(r),o=S_(r),s=S_(r),l=S_(r),u=new wL(t,n,i,a,o,s,l);return u.update(e),t.addObject(u),u};function wL(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,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 ML,AL=wL.prototype,kL=[0,0,1,0,0,1,1,0,1,1,0,1];function TL(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=_L(t.glplot,this.options),this.heatmap._trace=this}AL.draw=(ML=[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 i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],u=a[3]-a[1];ML[0]=2*o/l,ML[4]=2*s/u,ML[6]=2*(r[0]-a[0])/l-1,ML[7]=2*(r[1]-a[1])/u-1,e.bind();var c=e.uniforms;c.viewTransform=ML,c.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),AL.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,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,u=a[2]-a[0],c=a[3]-a[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*u/h,t[4]=2*c/f,t[6]=2*(a[0]-l[0])/h-1,t[7]=2*(a[1]-l[1])/f-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.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]}}}(),AL.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},AL.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||db(e[0]),n=t.y||db(e[1]),i=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var a=t.colorLevels||[0],o=t.colorValues||[0,0,0,1],s=a.length,l=this.bounds,u=l[0]=r[0],c=l[1]=n[0],h=1/((l[2]=r[r.length-1])-u),f=1/((l[3]=n[n.length-1])-c),p=e[0],d=e[1];this.shape=[p,d];var g=(p-1)*(d-1)*(kL.length>>>1);this.numVertices=g;for(var v=__.mallocUint8(4*g),m=__.mallocFloat32(2*g),y=__.mallocUint8(2*g),x=__.mallocUint32(g),b=0,_=0;_<d-1;++_)for(var w=f*(n[_]-c),M=f*(n[_+1]-c),A=0;A<p-1;++A)for(var k=h*(r[A]-u),T=h*(r[A+1]-u),S=0;S<kL.length;S+=2){var E,C,L,z,P=kL[S],I=kL[S+1],D=i[(_+I)*p+(A+P)],O=bL.le(a,D);if(O<0)E=o[0],C=o[1],L=o[2],z=o[3];else if(O===s-1)E=o[4*s-4],C=o[4*s-3],L=o[4*s-2],z=o[4*s-1];else{var R=(D-a[O])/(a[O+1]-a[O]),F=1-R,B=4*O,N=4*(O+1);E=F*o[B]+R*o[N],C=F*o[B+1]+R*o[N+1],L=F*o[B+2]+R*o[N+2],z=F*o[B+3]+R*o[N+3]}v[4*b]=255*E,v[4*b+1]=255*C,v[4*b+2]=255*L,v[4*b+3]=255*z,m[2*b]=.5*k+.5*T,m[2*b+1]=.5*w+.5*M,y[2*b]=P,y[2*b+1]=I,x[b]=_*p+A,b+=1}this.positionBuffer.update(m),this.weightBuffer.update(y),this.colorBuffer.update(v),this.idBuffer.update(x),__.free(m),__.free(v),__.free(y),__.free(x)},AL.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)};var SL=TL.prototype;SL.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},SL.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 i=n[0].length,a=n.length;this.options.shape=[i,a],this.options.x=r.x,this.options.y=r.y;var o=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),o=new Array(4*i),s=0;s<i;s++){var l=e[s],u=WC(l[1]);a[s]=r+l[0]*(n-r);for(var c=0;c<4;c++)o[4*s+c]=u[c]}return{colorLevels:a,colorValues:o}}(t);this.options.colorLevels=o.colorLevels,this.options.colorValues=o.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),ri.expand(this.scene.xaxis,r.x),ri.expand(this.scene.yaxis,r.y)},SL.dispose=function(){this.heatmap.dispose()};var EL=function(t,e,r){var n=new TL(t,e.uid);return n.update(e,r),n},CL={};CL.attributes=vL,CL.supplyDefaults=Zx,CL.colorbar=kh,CL.calc=bf,CL.plot=EL,CL.moduleType=\\\"trace\\\",CL.name=\\\"heatmapgl\\\",CL.basePlotModule=sL,CL.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"2dMap\\\"],CL.meta={};var LL=CL,zL={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},text:wa.text,orientation:wa.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\\\"},autobinx:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"xbins.start\\\":void 0,\\\"xbins.end\\\":void 0,\\\"xbins.size\\\":void 0}},nbinsx:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},xbins:PL(\\\"x\\\"),autobiny:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"ybins.start\\\":void 0,\\\"ybins.end\\\":void 0,\\\"ybins.size\\\":void 0}},nbinsy:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},ybins:PL(\\\"y\\\"),marker:wa.marker,selected:wa.selected,unselected:wa.unselected,_deprecated:{bardir:wa._deprecated.bardir}};function PL(t){var e={};e[\\\"autobin\\\"+t]=!1;var r={};return r[\\\"^autobin\\\"+t]=!1,{start:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},end:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},size:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},editType:\\\"calc\\\",impliedEdits:e}}var IL=t.ONEAVGMONTH;function DL(t,e,n,i,a){var o,s,l,u,c,h=i+\\\"bins\\\",f=\\\"overlay\\\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var p=f?[e]:RL(t,e),d=[],g=1/0,v=1/0,m=-1/0,y=\\\"autobin\\\"+i;for(o=0;o<p.length;o++){c=(s=p[o])._pos0=n.makeCalcdata(s,i);var x=s[h];if(s[y]||!x||null===x.start||null===x.end){l=s[i+\\\"calendar\\\"];var b=s.cumulative;if(x=ri.autoBin(c,n,s[\\\"nbins\\\"+i],!1,l),f&&0===x._dataSpan&&\\\"category\\\"!==n.type){if(a)return[x,c,!0];x=OL(t,e,n,i,h)}b.enabled&&\\\"include\\\"!==b.currentbin&&(\\\"decreasing\\\"===b.direction?v=Math.min(v,n.r2c(x.start,0,l)-x.size):m=Math.max(m,n.r2c(x.end,0,l)+x.size)),d.push(s)}else u||(u={size:x.size,start:n.r2c(x.start,0,l),end:n.r2c(x.end,0,l)});g=FL(g,x.size),v=Math.min(v,n.r2c(x.start,0,l)),m=Math.max(m,n.r2c(x.end,0,l)),o&&(s._autoBinFinished=1)}if(u&&r(u.size)&&r(g)){g=g>u.size/1.9?u.size:u.size/Math.ceil(u.size/g);var _=u.start+(u.size-g)/2;v=_-g*Math.ceil((_-v)/g)}for(o=0;o<d.length;o++)l=(s=d[o])[i+\\\"calendar\\\"],s._input[h]=s[h]={start:n.c2r(v,0,l),end:n.c2r(m,0,l),size:g},s._input[y]=s[y]}return c=e._pos0,delete e._pos0,[e[h],c]}function OL(t,e,r,n,i){var a,o,s=RL(t,e),l=!1,u=1/0,c=[e];for(a=0;a<s.length;a++)if((o=s[a])===e)l=!0;else if(l){var h=DL(t,o,r,n,!0),f=h[0],p=h[2];o._autoBinFinished=1,o._pos0=h[1],p?c.push(o):u=Math.min(u,f.size)}else u=Math.min(u,o[i].size);var d=new Array(c.length);for(a=0;a<c.length;a++)for(var g=c[a]._pos0,v=0;v<g.length;v++)if(void 0!==g[v]){d[a]=g[v];break}for(isFinite(u)||(u=ne.distinctVals(d).minDiff),a=0;a<c.length;a++){var m=(o=c[a])[n+\\\"calendar\\\"];o._input[i]=o[i]={start:r.c2r(d[a]-u/2,0,m),end:r.c2r(d[a]+u/2,0,m),size:u}}return e[i]}function RL(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\\\"histogram\\\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function FL(t,e){if(t===1/0)return e;var r=BL(t);return BL(e)<r?e:t}function BL(t){return r(t)?t:\\\"string\\\"==typeof t&&\\\"M\\\"===t.charAt(0)?IL*+t.substr(1):1/0}var NL=function(t,e,r,n){return r(\\\"histnorm\\\"),n.forEach(function(t){r(t+\\\"bins.start\\\"),r(t+\\\"bins.end\\\"),r(t+\\\"bins.size\\\"),!1!==r(\\\"autobin\\\"+t)&&r(\\\"nbins\\\"+t)}),e},jL=function(t,e,r,n,i){if(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),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t},VL=ri.hoverLabelText,UL={};UL.attributes=zL,UL.layoutAttributes=wo,UL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,zL,r,n)}var a=i(\\\"x\\\"),o=i(\\\"y\\\");i(\\\"cumulative.enabled\\\")&&(i(\\\"cumulative.direction\\\"),i(\\\"cumulative.currentbin\\\")),i(\\\"text\\\");var s=i(\\\"orientation\\\",o&&!a?\\\"h\\\":\\\"v\\\"),l=e[\\\"v\\\"===s?\\\"x\\\":\\\"y\\\"];if(l&&l.length){P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),e[\\\"h\\\"===s?\\\"x\\\":\\\"y\\\"]&&i(\\\"histfunc\\\"),NL(0,e,i,\\\"h\\\"===s?[\\\"y\\\"]:[\\\"x\\\"]),ka(t,e,i,r,n);var u=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");u(t,e,Oe.defaultLine,{axis:\\\"y\\\"}),u(t,e,Oe.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UL.supplyLayoutDefaults=Mo,UL.calc=function(t,e){if(!0===e.visible){var n,i=[],a=[],o=ri.getFromId(t,\\\"h\\\"===e.orientation?e.yaxis||\\\"y\\\":e.xaxis||\\\"x\\\"),s=\\\"h\\\"===e.orientation?\\\"y\\\":\\\"x\\\",l={x:\\\"y\\\",y:\\\"x\\\"}[s],u=e[s+\\\"calendar\\\"],c=e.cumulative;df(e,o,s);var h,f,p,d=DL(t,e,o,s),g=d[0],v=d[1],m=\\\"string\\\"==typeof g.size,y=[],x=m?y:g,b=[],_=[],w=[],M=0,A=e.histnorm,k=e.histfunc,T=-1!==A.indexOf(\\\"density\\\");c.enabled&&T&&(A=A.replace(/ ?density$/,\\\"\\\"),T=!1);var S,E=\\\"max\\\"===k||\\\"min\\\"===k?null:0,C=Kh.count,L=gf[A],z=!1,P=function(t){return o.r2c(t,0,u)};for(ne.isArrayOrTypedArray(e[l])&&\\\"count\\\"!==k&&(S=e[l],z=\\\"avg\\\"===k,C=Kh[k]),n=P(g.start),f=P(g.end)+(n-ri.tickIncrement(n,g.size,!1,u))/1e6;n<f&&i.length<1e6&&(h=ri.tickIncrement(n,g.size,!1,u),i.push((n+h)/2),a.push(E),w.push([]),y.push(n),T&&b.push(1/(h-n)),z&&_.push(0),!(h<=n));)n=h;y.push(n),m||\\\"date\\\"!==o.type||(x={start:P(x.start),end:P(x.end),size:x.size});var I,D=a.length,O=!0,R=1/0,F=1/0,B={};for(n=0;n<v.length;n++){var N=v[n];(p=ne.findBin(N,x))>=0&&p<D&&(M+=C(p,n,a,S,_),O&&w[p].length&&N!==v[w[p][0]]&&(O=!1),w[p].push(n),B[n]=p,R=Math.min(R,N-y[p]),F=Math.min(F,y[p+1]-N))}O||(I=of(R,F,y,o,u)),z&&(M=Jh(a,_)),L&&L(a,M,b),c.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}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())}}(a,c.direction,c.currentbin);var j=Math.min(i.length,a.length),V=[],U=0,q=j-1;for(n=0;n<j;n++)if(a[n]){U=n;break}for(n=j-1;n>=U;n--)if(a[n]){q=n;break}for(n=U;n<=q;n++)if(r(i[n])&&r(a[n])){var H={p:i[n],s:a[n],b:0};c.enabled||(H.pts=w[n],O?H.p0=H.p1=w[n].length?v[w[n][0]]:i[n]:(H.p0=I(y[n]),H.p1=I(y[n+1],!0))),V.push(H)}return 1===V.length&&(V[0].width1=ri.tickIncrement(V[0].p,g.size,!1,u)-V[0].p),ma(V,e),ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(V,e,B),V}},UL.setPositions=Vo,UL.plot=Lo,UL.style=$o,UL.colorbar=is,UL.hoverPoints=function(t,e,r,n){var i=_o(t,e,r,n);if(i){var a=(t=i[0]).cd[t.index],o=t.cd[0].trace;if(!o.cumulative.enabled){var s=\\\"h\\\"===o.orientation?\\\"y\\\":\\\"x\\\";t[s+\\\"Label\\\"]=VL(t[s+\\\"a\\\"],a.p0,a.p1)}return i}},UL.selectPoints=Oo,UL.eventData=jL,UL.moduleType=\\\"trace\\\",UL.name=\\\"histogram\\\",UL.basePlotModule=ua,UL.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"histogram\\\",\\\"oriented\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],UL.meta={};var qL=UL,HL=m.extendFlat,GL=HL({},{x:zL.x,y:zL.y,z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},marker:{color:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\"},histnorm:zL.histnorm,histfunc:zL.histfunc,autobinx:zL.autobinx,nbinsx:zL.nbinsx,xbins:zL.xbins,autobiny:zL.autobiny,nbinsy:zL.nbinsy,ybins:zL.ybins,xgap:Lh.xgap,ygap:Lh.ygap,zsmooth:Lh.zsmooth,zhoverformat:Lh.zhoverformat},Pe,{autocolorscale:HL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),WL=function(t,e,r,n){var i=r(\\\"x\\\"),a=r(\\\"y\\\");if(i&&i.length&&a&&a.length){P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),(r(\\\"z\\\")||r(\\\"marker.color\\\"))&&r(\\\"histfunc\\\");NL(0,e,r,[\\\"x\\\",\\\"y\\\"])}else e.visible=!1},YL=ri.hoverLabelText,XL={};XL.attributes=GL,XL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,GL,r,n)}WL(t,e,i,n),!1!==e.visible&&(Xx(0,0,i),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"z\\\"}))},XL.calc=bf,XL.plot=$f,XL.colorbar=kh,XL.style=up,XL.hoverPoints=function(t,e,r,n,i,a){var o=Rf(t,e,r,0,0,a);if(o){var s=(t=o[0]).index,l=s[0],u=s[1],c=t.cd[0],h=c.xRanges[u],f=c.yRanges[l];return t.xLabel=YL(t.xa,h[0],h[1]),t.yLabel=YL(t.ya,f[0],f[1]),o}},XL.eventData=jL,XL.moduleType=\\\"trace\\\",XL.name=\\\"histogram2d\\\",XL.basePlotModule=ua,XL.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"histogram\\\"],XL.meta={};var ZL=XL,JL=m.extendFlat,KL=JL({x:GL.x,y:GL.y,z:GL.z,marker:GL.marker,histnorm:GL.histnorm,histfunc:GL.histfunc,autobinx:GL.autobinx,nbinsx:GL.nbinsx,xbins:GL.xbins,autobiny:GL.autobiny,nbinsy:GL.nbinsy,ybins:GL.ybins,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:Rh.contours,line:Rh.line,zhoverformat:GL.zhoverformat},Pe,{zmin:JL({},Pe.zmin,{editType:\\\"calc\\\"}),zmax:JL({},Pe.zmax,{editType:\\\"calc\\\"})},{colorbar:ze}),QL={};QL.attributes=KL,QL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,KL,r,n)}WL(t,e,i,n),!1!==e.visible&&(zf(0,e,i,function(r){return ne.coerce2(t,e,KL,r)}),Pf(t,e,i,n))},QL.calc=_f,QL.plot=ip.plot,QL.style=cp,QL.colorbar=Af,QL.hoverPoints=Ff,QL.moduleType=\\\"trace\\\",QL.name=\\\"histogram2dcontour\\\",QL.basePlotModule=ua,QL.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"histogram\\\"],QL.meta={};var $L=QL,tz=m.extendFlat,ez=(0,ye.overrideAll)({visible:Ce.visible,showspikes:{valType:\\\"boolean\\\",dflt:!0},spikesides:{valType:\\\"boolean\\\",dflt:!0},spikethickness:{valType:\\\"number\\\",min:0,dflt:2},spikecolor:{valType:\\\"color\\\",dflt:Oe.defaultLine},showbackground:{valType:\\\"boolean\\\",dflt:!1},backgroundcolor:{valType:\\\"color\\\",dflt:\\\"rgba(204, 204, 204, 0.5)\\\"},showaxeslabels:{valType:\\\"boolean\\\",dflt:!0},color:Ce.color,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,title:Ce.title,titlefont:Ce.titlefont,type:Ce.type,autorange:Ce.autorange,rangemode:Ce.rangemode,range:Ce.range,tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,mirror:Ce.mirror,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:Ce.showline,linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:Ce.showgrid,gridcolor:tz({},Ce.gridcolor,{dflt:\\\"rgb(204, 204, 204)\\\"}),gridwidth:Ce.gridwidth,zeroline:Ce.zeroline,zerolinecolor:Ce.zerolinecolor,zerolinewidth:Ce.zerolinewidth},\\\"plot\\\",\\\"from-root\\\"),rz=s.mix,nz=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],iz=function(t,e,r){var n,i;function a(t,e){return ne.coerce(n,i,ez,t,e)}for(var o=0;o<nz.length;o++){var s=nz[o];n=t[s]||{},i=e[s]={_id:s[0]+r.scene,_name:s},na(n,i,a,r.data),Qi(n,i,a,{font:r.font,letter:s[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),a(\\\"gridcolor\\\",rz(i.color,r.bgColor,13600/187).toRgbString()),a(\\\"title\\\",s[0]),i.setScale=ne.noop,a(\\\"showspikes\\\")&&(a(\\\"spikesides\\\"),a(\\\"spikethickness\\\"),a(\\\"spikecolor\\\",i.color)),a(\\\"showaxeslabels\\\"),a(\\\"showbackground\\\")&&a(\\\"backgroundcolor\\\")}},az=qc.attributes,oz=m.extendFlat;function sz(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\\\"}}var lz={_arrayAttrRegexps:[(0,ne.counterRegex)(\\\"scene\\\",\\\".annotations\\\",!0)],bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\",editType:\\\"plot\\\"},camera:{up:oz(sz(0,0,1),{}),center:oz(sz(0,0,0),{}),eye:oz(sz(1.25,1.25,1.25),{}),editType:\\\"camera\\\"},domain:az({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:ez,yaxis:ez,zaxis:ez,dragmode:{valType:\\\"enumerated\\\",values:[\\\"orbit\\\",\\\"turntable\\\",\\\"zoom\\\",\\\"pan\\\",!1],dflt:\\\"turntable\\\",editType:\\\"plot\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"closest\\\",!1],dflt:\\\"closest\\\",editType:\\\"modebar\\\"},editType:\\\"plot\\\",_deprecated:{cameraposition:{valType:\\\"info_array\\\",editType:\\\"camera\\\"}}};function uz(t,e,r,n){for(var i=r(\\\"bgcolor\\\"),a=Oe.combine(i,n.paper_bgcolor),o=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],s=0;s<o.length;s++)r(\\\"camera.\\\"+o[s]+\\\".x\\\"),r(\\\"camera.\\\"+o[s]+\\\".y\\\"),r(\\\"camera.\\\"+o[s]+\\\".z\\\");var l=!!r(\\\"aspectratio.x\\\")&&!!r(\\\"aspectratio.y\\\")&&!!r(\\\"aspectratio.z\\\"),u=r(\\\"aspectmode\\\",l?\\\"manual\\\":\\\"auto\\\");l||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\\\"manual\\\"===u&&(e.aspectmode=\\\"auto\\\"),t.aspectmode=e.aspectmode),iz(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:a,calendar:n.calendar,fullLayout:n.fullLayout}),P.getComponentMethod(\\\"annotations3d\\\",\\\"handleDefaults\\\")(t,e,n),r(\\\"dragmode\\\",n.getDfltFromLayout(\\\"dragmode\\\")),r(\\\"hovermode\\\",n.getDfltFromLayout(\\\"hovermode\\\"))}var cz=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*g-h*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t};var hz=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};var fz=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d=e[0],g=e[1],v=e[2],m=n[0],y=n[1],x=n[2],b=r[0],_=r[1],w=r[2];if(Math.abs(d-b)<1e-6&&Math.abs(g-_)<1e-6&&Math.abs(v-w)<1e-6)return hz(t);c=d-b,h=g-_,f=v-w,p=1/Math.sqrt(c*c+h*h+f*f),i=y*(f*=p)-x*(h*=p),a=x*(c*=p)-m*f,o=m*h-y*c,(p=Math.sqrt(i*i+a*a+o*o))?(i*=p=1/p,a*=p,o*=p):(i=0,a=0,o=0);s=h*o-f*a,l=f*i-c*o,u=c*a-h*i,(p=Math.sqrt(s*s+l*l+u*u))?(s*=p=1/p,l*=p,u*=p):(s=0,l=0,u=0);return t[0]=i,t[1]=s,t[2]=c,t[3]=0,t[4]=a,t[5]=l,t[6]=h,t[7]=0,t[8]=o,t[9]=u,t[10]=f,t[11]=0,t[12]=-(i*d+a*g+o*v),t[13]=-(s*d+l*g+u*v),t[14]=-(c*d+h*g+f*v),t[15]=1,t};var pz=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t};var dz=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=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]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t};var gz=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t};var vz=function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t};var mz=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]);return t};var yz=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t};var xz=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],p=t[12],d=t[13],g=t[14],v=t[15];return(e*o-r*a)*(h*v-f*g)-(e*s-n*a)*(c*v-f*d)+(e*l-i*a)*(c*g-h*d)+(r*s-n*o)*(u*v-f*p)-(r*l-i*o)*(u*g-h*p)+(n*l-i*s)*(u*d-c*p)};var bz=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t};var _z=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};var wz=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};var Mz=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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};var Az=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t};var kz=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]};var Tz={length:function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},normalize:yz,dot:kz,cross:Az},Sz=wz(),Ez=wz(),Cz=[0,0,0,0],Lz=[[0,0,0],[0,0,0],[0,0,0]],zz=[0,0,0],Pz=function(t,e,r,n,i,a){if(e||(e=[0,0,0]),r||(r=[0,0,0]),n||(n=[0,0,0]),i||(i=[0,0,0,1]),a||(a=[0,0,0,1]),!function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}(Sz,t))return!1;if(_z(Ez,Sz),Ez[3]=0,Ez[7]=0,Ez[11]=0,Ez[15]=1,Math.abs(xz(Ez)<1e-8))return!1;var o,s,l,u,c,h,f,p=Sz[3],d=Sz[7],g=Sz[11],v=Sz[12],m=Sz[13],y=Sz[14],x=Sz[15];if(0!==p||0!==d||0!==g){if(Cz[0]=p,Cz[1]=d,Cz[2]=g,Cz[3]=x,!cz(Ez,Ez))return!1;Mz(Ez,Ez),o=i,l=Ez,u=(s=Cz)[0],c=s[1],h=s[2],f=s[3],o[0]=l[0]*u+l[4]*c+l[8]*h+l[12]*f,o[1]=l[1]*u+l[5]*c+l[9]*h+l[13]*f,o[2]=l[2]*u+l[6]*c+l[10]*h+l[14]*f,o[3]=l[3]*u+l[7]*c+l[11]*h+l[15]*f}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=v,e[1]=m,e[2]=y,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]}(Lz,Sz),r[0]=Tz.length(Lz[0]),Tz.normalize(Lz[0],Lz[0]),n[0]=Tz.dot(Lz[0],Lz[1]),Iz(Lz[1],Lz[1],Lz[0],1,-n[0]),r[1]=Tz.length(Lz[1]),Tz.normalize(Lz[1],Lz[1]),n[0]/=r[1],n[1]=Tz.dot(Lz[0],Lz[2]),Iz(Lz[2],Lz[2],Lz[0],1,-n[1]),n[2]=Tz.dot(Lz[1],Lz[2]),Iz(Lz[2],Lz[2],Lz[1],1,-n[2]),r[2]=Tz.length(Lz[2]),Tz.normalize(Lz[2],Lz[2]),n[1]/=r[2],n[2]/=r[2],Tz.cross(zz,Lz[1],Lz[2]),Tz.dot(Lz[0],zz)<0)for(var b=0;b<3;b++)r[b]*=-1,Lz[b][0]*=-1,Lz[b][1]*=-1,Lz[b][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Lz[0][0]-Lz[1][1]-Lz[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Lz[0][0]+Lz[1][1]-Lz[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Lz[0][0]-Lz[1][1]+Lz[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Lz[0][0]+Lz[1][1]+Lz[2][2],0)),Lz[2][1]>Lz[1][2]&&(a[0]=-a[0]),Lz[0][2]>Lz[2][0]&&(a[1]=-a[1]),Lz[1][0]>Lz[0][1]&&(a[2]=-a[2]),!0};function Iz(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}var Dz=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=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*i+b*l+_*f+w*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t};var Oz={identity:hz,translate:mz,multiply:Dz,create:wz,scale:vz,fromRotationTranslation:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,p=i*l,d=i*u,g=a*u,v=o*s,m=o*l,y=o*u;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-m,t[3]=0,t[4]=h-y,t[5]=1-(c+g),t[6]=d+v,t[7]=0,t[8]=f+m,t[9]=d-v,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},Rz=(Oz.create(),Oz.create()),Fz=function(t,e,r,n,i,a){return Oz.identity(t),Oz.fromRotationTranslation(t,a,e),t[3]=i[0],t[7]=i[1],t[11]=i[2],t[15]=i[3],Oz.identity(Rz),0!==n[2]&&(Rz[9]=n[2],Oz.multiply(t,t,Rz)),0!==n[1]&&(Rz[9]=0,Rz[8]=n[1],Oz.multiply(t,t,Rz)),0!==n[0]&&(Rz[8]=0,Rz[4]=n[0],Oz.multiply(t,t,Rz)),Oz.scale(t,t,r),t};var Bz=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(a=u*p+c*d+h*g+f*v)<0&&(a=-a,p=-p,d=-d,g=-g,v=-v);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t},Nz=qz(),jz=qz(),Vz=qz(),Uz=function(t,e,r,n){if(0===xz(e)||0===xz(r))return!1;var i=Pz(e,Nz.translate,Nz.scale,Nz.skew,Nz.perspective,Nz.quaternion),a=Pz(r,jz.translate,jz.scale,jz.skew,jz.perspective,jz.quaternion);return!(!i||!a||(bz(Vz.translate,Nz.translate,jz.translate,n),bz(Vz.skew,Nz.skew,jz.skew,n),bz(Vz.scale,Nz.scale,jz.scale,n),bz(Vz.perspective,Nz.perspective,jz.perspective,n),Bz(Vz.quaternion,Nz.quaternion,jz.quaternion,n),Fz(t,Vz.translate,Vz.scale,Vz.skew,Vz.perspective,Vz.quaternion),0))};function qz(){return{translate:Hz(),scale:Hz(1),skew:Hz(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function Hz(t){return[t||0,t||0,t||0]}var Gz=[0,0,0],Wz=function(t){return new Yz((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};function Yz(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]}var Xz=Yz.prototype;Xz.recalcMatrix=function(t){var e=this._time,r=wT.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var a=16*r,o=0;o<16;++o)n[o]=i[a++];else{var s=e[r+1]-e[r],l=(a=16*r,this.prevMatrix),u=!0;for(o=0;o<16;++o)l[o]=i[a++];var c=this.nextMatrix;for(o=0;o<16;++o)c[o]=i[a++],u=u&&l[o]===c[o];if(s<1e-6||u)for(o=0;o<16;++o)n[o]=l[o];else Uz(n,l,c,(t-e[r])/s)}var h=this.computedUp;h[0]=n[1],h[1]=n[5],h[2]=n[9],yz(h,h);var f=this.computedInverse;cz(f,n);var p=this.computedEye,d=f[15];p[0]=f[12]/d,p[1]=f[13]/d,p[2]=f[14]/d;var g=this.computedCenter,v=Math.exp(this.computedRadius[0]);for(o=0;o<3;++o)g[o]=p[o]-n[2+4*o]*v}},Xz.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)}},Xz.flush=function(t){var e=wT.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},Xz.lastT=function(){return this._time[this._time.length-1]},Xz.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||Gz,n=n||this.computedUp,this.setMatrix(t,fz(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},Xz.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&dz(i,i,e),r&&pz(i,i,r),n&&gz(i,i,n),this.setMatrix(t,cz(this.computedMatrix,i))};var Zz=[0,0,0];Xz.pan=function(t,e,r,n){Zz[0]=-(e||0),Zz[1]=-(r||0),Zz[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;mz(i,i,Zz),this.setMatrix(t,cz(i,i))},Xz.translate=function(t,e,r,n){Zz[0]=e||0,Zz[1]=r||0,Zz[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;mz(i,i,Zz),this.setMatrix(t,i)},Xz.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},Xz.setDistance=function(t,e){this.computedRadius[0]=e},Xz.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},Xz.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e};var Jz={};(Jz=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+h*r[p]+f*n[p];return a}return u*t+c*e+h*r+f*n}).derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n};var Kz=function(t,e,r){switch(arguments.length){case 0:return new $z([0],[0],0);case 1:if(\\\"number\\\"==typeof t){var n=eP(t);return new $z(n,n,0)}return new $z(t,eP(t.length),0);case 2:if(\\\"number\\\"==typeof e){var n=eP(t.length);return new $z(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\\\"state and velocity lengths must match\\\");return new $z(t,e,r)}};function Qz(t,e,r){return Math.min(e,Math.max(t,r))}function $z(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 tP=$z.prototype;function eP(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}tP.flush=function(t){var e=wT.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))},tP.curve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension,l=this.bounds;if(n<0)for(var u=s-1,c=0;c<s;++c,--u)i[c]=a[u];else if(n>=r-1){u=a.length-1;var h=t-e[r-1];for(c=0;c<s;++c,--u)i[c]=a[u]+h*o[u]}else{u=s*(n+1)-1;var f=e[n],p=e[n+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(c=0;c<s;++c,--u)d[c]=a[u],v[c]=o[u]*p,g[c]=a[u+s],m[c]=o[u+s]*p,y=y&&d[c]===g[c]&&v[c]===m[c]&&0===v[c];if(y)for(c=0;c<s;++c)i[c]=d[c];else Jz(d,v,g,m,(t-f)/p,i)}var x=l[0],b=l[1];for(c=0;c<s;++c)i[c]=Qz(x[c],b[c],i[c]);return i},tP.dcurve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension;if(n>=r-1)for(var l=a.length-1,u=(e[r-1],0);u<s;++u,--l)i[u]=o[l];else{l=s*(n+1)-1;var c=e[n],h=e[n+1]-c||1,f=this._scratch[1],p=this._scratch[2],d=this._scratch[3],g=this._scratch[4],v=!0;for(u=0;u<s;++u,--l)f[u]=a[l],d[u]=o[l]*h,p[u]=a[l+s],g[u]=o[l+s]*h,v=v&&f[u]===p[u]&&d[u]===g[u]&&0===d[u];if(v)for(u=0;u<s;++u)i[u]=0;else{Jz.derivative(f,d,p,g,(t-c)/h,i);for(u=0;u<s;++u)i[u]/=h}}return i},tP.lastT=function(){var t=this._time;return t[t.length-1]},tP.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},tP.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var c=0;c<r;++c)n.push(n[a++]),i.push(0);this._time.push(t);for(c=r;c>0;--c)n.push(Qz(s[c-1],l[c-1],arguments[c])),i.push(0)}},tP.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=t-e,s=this.bounds,l=s[0],u=s[1],c=o>1e-6?1/o:0;this._time.push(t);for(var h=r;h>0;--h){var f=Qz(l[h-1],u[h-1],arguments[h]);n.push(f),i.push((f-n[a++])*c)}}},tP.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,a=i[0],o=i[1];this._time.push(t);for(var s=e;s>0;--s)r.push(Qz(a[s-1],o[s-1],arguments[s])),n.push(0)}},tP.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1],u=t-e,c=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var f=arguments[h];n.push(Qz(s[h-1],l[h-1],n[a++]+f)),i.push(f*c)}}},tP.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,a=n.length-r,o=this.bounds,s=o[0],l=o[1],u=t-e;this._time.push(t);for(var c=r-1;c>=0;--c)n.push(Qz(s[c],l[c],n[a]+u*i[a])),i.push(0),a+=1}};var rP=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(h>0){var h=Math.sqrt(c+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,u),h=Math.sqrt(2*f-c+1);e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/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-i)/h)}return t};var nP=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),oP(r=[].slice.call(r,0,4),r);var i=new sP(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\\\"eye\\\"in t||\\\"up\\\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};function iP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function aP(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function oP(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=aP(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function sP(t,e,r){this.radius=Kz([r]),this.center=Kz(e),this.rotation=Kz(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 lP=sP.prototype;lP.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},lP.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;oP(e,e);var r=this.computedMatrix;jv(r,e);var n=this.computedCenter,i=this.computedEye,a=this.computedUp,o=Math.exp(this.computedRadius[0]);i[0]=n[0]+o*r[2],i[1]=n[1]+o*r[6],i[2]=n[2]+o*r[10],a[0]=r[1],a[1]=r[5],a[2]=r[9];for(var s=0;s<3;++s){for(var l=0,u=0;u<3;++u)l+=r[s+4*u]*i[u];r[12+s]=-l}},lP.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},lP.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},lP.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},lP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],l=iP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=iP(u-=a*f,c-=o*f,h-=s*f);u/=p,c/=p,h/=p;var d=i[2],g=i[6],v=i[10],m=d*a+g*o+v*s,y=d*u+g*c+v*h,x=iP(d-=m*a+y*u,g-=m*o+y*c,v-=m*s+y*h);d/=x,g/=x,v/=x;var b=u*e+a*r,_=c*e+o*r,w=h*e+s*r;this.center.move(t,b,_,w);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},lP.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],l=i[1],u=i[5],c=i[9],h=i[2],f=i[6],p=i[10],d=e*a+r*l,g=e*o+r*u,v=e*s+r*c,m=-(f*v-p*g),y=-(p*d-h*v),x=-(h*g-f*d),b=Math.sqrt(Math.max(0,1-Math.pow(m,2)-Math.pow(y,2)-Math.pow(x,2))),_=aP(m,y,x,b);_>1e-6?(m/=_,y/=_,x/=_,b/=_):(m=y=x=0,b=1);var w=this.computedRotation,M=w[0],A=w[1],k=w[2],T=w[3],S=M*b+T*m+A*x-k*y,E=A*b+T*y+k*m-M*x,C=k*b+T*x+M*y-A*m,L=T*b-M*m-A*y-k*x;if(n){m=h,y=f,x=p;var z=Math.sin(n)/iP(m,y,x);m*=z,y*=z,x*=z,L=L*(b=Math.cos(e))-(S=S*b+L*m+E*x-C*y)*m-(E=E*b+L*y+C*m-S*x)*y-(C=C*b+L*x+S*y-E*m)*x}var P=aP(S,E,C,L);P>1e-6?(S/=P,E/=P,C/=P,L/=P):(S=E=C=0,L=1),this.rotation.set(t,S,E,C,L)},lP.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;fz(i,e,r,n);var a=this.computedRotation;rP(a,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),oP(a,a),this.rotation.set(t,a[0],a[1],a[2],a[3]);for(var o=0,s=0;s<3;++s)o+=Math.pow(r[s]-e[s],2);this.radius.set(t,.5*Math.log(Math.max(o,1e-6))),this.center.set(t,r[0],r[1],r[2])},lP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},lP.setMatrix=function(t,e){var r=this.computedRotation;rP(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),oP(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;cz(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,o=n[13]/i,s=n[14]/i;this.recalcMatrix(t);var l=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*l,o-n[6]*l,s-n[10]*l),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},lP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},lP.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},lP.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])]},lP.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]}},lP.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 i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)};var uP=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E=n[0],C=n[1],L=n[2],z=Math.sqrt(E*E+C*C+L*L);if(Math.abs(z)<1e-6)return null;E*=z=1/z,C*=z,L*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],u=e[2],c=e[3],h=e[4],f=e[5],p=e[6],d=e[7],g=e[8],v=e[9],m=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,M=C*C*o+a,A=L*C*o+E*i,k=E*L*o+C*i,T=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+v*_,t[2]=u*x+p*b+m*_,t[3]=c*x+d*b+y*_,t[4]=s*w+h*M+g*A,t[5]=l*w+f*M+v*A,t[6]=u*w+p*M+m*A,t[7]=c*w+d*M+y*A,t[8]=s*k+h*T+g*S,t[9]=l*k+f*T+v*S,t[10]=u*k+p*T+m*S,t[11]=c*k+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t};var cP=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||pP(r),i=t.radius||1,a=t.theta||0,o=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),yz(r,r),n=[].slice.call(n,0,3),yz(n,n),\\\"eye\\\"in t){var s=t.eye,l=[s[0]-e[0],s[1]-e[1],s[2]-e[2]];Az(n,l,r),hP(n[0],n[1],n[2])<1e-6?n=pP(r):yz(n,n),i=hP(l[0],l[1],l[2]);var u=kz(r,l)/i,c=kz(n,l)/i;o=Math.acos(u),a=Math.acos(c)}return i=Math.log(i),new dP(t.zoomMin,t.zoomMax,e,r,n,i,a,o)};function hP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function fP(t){return Math.min(1,Math.max(-1,t))}function pP(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s<3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(s=0;s<3;++s)i[s]-=o/a*t[s];return yz(i,i),i}function dP(t,e,r,n,i,a,o,s){this.center=Kz(r),this.up=Kz(n),this.right=Kz(i),this.radius=Kz([a]),this.angle=Kz([o,s]),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 l=0;l<16;++l)this.computedMatrix[l]=.5;this.recalcMatrix(0)}var gP=dP.prototype;gP.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},gP.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])]},gP.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,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var o=Math.sqrt(n),s=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,s+=r[a]*r[a],e[a]/=o;var l=Math.sqrt(s);for(a=0;a<3;++a)r[a]/=l;var u=this.computedToward;Az(u,e,r),yz(u,u);var c=Math.exp(this.computedRadius[0]),h=this.computedAngle[0],f=this.computedAngle[1],p=Math.cos(h),d=Math.sin(h),g=Math.cos(f),v=Math.sin(f),m=this.computedCenter,y=p*g,x=d*g,b=v,_=-p*v,w=-d*v,M=g,A=this.computedEye,k=this.computedMatrix;for(a=0;a<3;++a){var T=y*r[a]+x*u[a]+b*e[a];k[4*a+1]=_*r[a]+w*u[a]+M*e[a],k[4*a+2]=T,k[4*a+3]=0}var S=k[1],E=k[5],C=k[9],L=k[2],z=k[6],P=k[10],I=E*P-C*z,D=C*L-S*P,O=S*z-E*L,R=hP(I,D,O);I/=R,D/=R,O/=R,k[0]=I,k[4]=D,k[8]=O;for(a=0;a<3;++a)A[a]=m[a]+k[2+4*a]*c;for(a=0;a<3;++a){s=0;for(var F=0;F<3;++F)s+=k[a+4*F]*A[F];k[12+a]=-s}k[15]=1},gP.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 vP=[0,0,0];gP.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;vP[0]=i[2],vP[1]=i[6],vP[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l<3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];uP(i,i,n,vP);for(l=0;l<3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},gP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=hP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=hP(u-=a*f,c-=o*f,h-=s*f),d=(u/=p)*e+a*r,g=(c/=p)*e+o*r,v=(h/=p)*e+s*r;this.center.move(t,d,g,v);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},gP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},gP.setMatrix=function(t,e,r,n){var i=1;\\\"number\\\"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var a=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var o=e[i],s=e[i+4],l=e[i+8];if(n){var u=Math.abs(o),c=Math.abs(s),h=Math.abs(l),f=Math.max(u,c,h);u===f?(o=o<0?-1:1,s=l=0):h===f?(l=l<0?-1:1,o=s=0):(s=s<0?-1:1,o=l=0)}else{var p=hP(o,s,l);o/=p,s/=p,l/=p}var d,g,v=e[a],m=e[a+4],y=e[a+8],x=v*o+m*s+y*l,b=hP(v-=o*x,m-=s*x,y-=l*x),_=s*(y/=b)-l*(m/=b),w=l*(v/=b)-o*y,M=o*m-s*v,A=hP(_,w,M);if(_/=A,w/=A,M/=A,this.center.jump(t,V,U,q),this.radius.idle(t),this.up.jump(t,o,s,l),this.right.jump(t,v,m,y),2===i){var k=e[1],T=e[5],S=e[9],E=k*v+T*m+S*y,C=k*_+T*w+S*M;d=I<0?-Math.PI/2:Math.PI/2,g=Math.atan2(C,E)}else{var L=e[2],z=e[6],P=e[10],I=L*o+z*s+P*l,D=L*v+z*m+P*y,O=L*_+z*w+P*M;d=Math.asin(fP(I)),g=Math.atan2(O,D)}this.angle.jump(t,g,d),this.recalcMatrix(t);var R=e[2],F=e[6],B=e[10],N=this.computedMatrix;cz(N,e);var j=N[15],V=N[12]/j,U=N[13]/j,q=N[14]/j,H=Math.exp(this.computedRadius[0]);this.center.jump(t,V-R*H,U-F*H,q-B*H)},gP.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},gP.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},gP.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},gP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},gP.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=hP(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],u=e[1]-r[1],c=e[2]-r[2],h=hP(l,u,c);if(!(h<1e-6)){l/=h,u/=h,c/=h;var f=this.computedRight,p=f[0],d=f[1],g=f[2],v=i*p+a*d+o*g,m=hP(p-=v*i,d-=v*a,g-=v*o);if(!(m<.01&&(m=hP(p=a*c-o*u,d=o*l-i*c,g=i*u-a*l))<1e-6)){p/=m,d/=m,g/=m,this.up.set(t,i,a,o),this.right.set(t,p,d,g),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(h));var y=a*g-o*d,x=o*p-i*g,b=i*d-a*p,_=hP(y,x,b),w=i*l+a*u+o*c,M=p*l+d*u+g*c,A=(y/=_)*l+(x/=_)*u+(b/=_)*c,k=Math.asin(fP(w)),T=Math.atan2(A,M),S=this.angle._state,E=S[S.length-1],C=S[S.length-2];E%=2*Math.PI;var L=Math.abs(E+2*Math.PI-T),z=Math.abs(E-T),P=Math.abs(E-2*Math.PI-T);L<z&&(E+=2*Math.PI),P<z&&(E-=2*Math.PI),this.angle.jump(this.angle.lastT(),E,C),this.angle.set(t,T,k)}}}};var mP=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],n=t.up||[0,1,0],i=t.distanceLimits||[0,1/0],a=t.mode||\\\"turntable\\\",o=cP(),s=nP(),l=Wz();return o.setDistanceLimits(i[0],i[1]),o.lookAt(0,e,r,n),s.setDistanceLimits(i[0],i[1]),s.lookAt(0,e,r,n),l.setDistanceLimits(i[0],i[1]),l.lookAt(0,e,r,n),new yP({turntable:o,orbit:s,matrix:l},a)};function yP(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 xP=yP.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 i=\\\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\\\"+t[0]+\\\"(\\\"+r.join()+\\\")}\\\";xP[e]=Function.apply(null,r.concat(i))}),xP.recalcMatrix=function(t){this._active.recalcMatrix(t)},xP.getDistance=function(t){return this._active.getDistance(t)},xP.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},xP.lastT=function(){return this._active.lastT()},xP.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,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}}},xP.getMode=function(){return this._mode};var bP={};(function(t){bP=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:{});var _P=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 n=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={view:n,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:n.modes,tick:function(){var e=bP(),r=this.delay;n.idle(e-r),n.flush(e-(100+2*r));var l=e-2*r;n.recalcMatrix(l);for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=Math.exp(n.computedRadius[0]),!0)},lookAt:function(t,e,r){n.lookAt(n.lastT(),t,e,r)},rotate:function(t,e,r){n.rotate(n.lastT(),t,e,r)},pan:function(t,e,r){n.pan(n.lastT(),t,e,r)},translate:function(t,e,r){n.translate(n.lastT(),t,e,r)}};Object.defineProperties(l,{matrix:{get:function(){return n.computedMatrix},set:function(t){return n.setMatrix(n.lastT(),t),n.computedMatrix},enumerable:!0},mode:{get:function(){return n.getMode()},set:function(t){return n.setMode(t),n.getMode()},enumerable:!0},center:{get:function(){return n.computedCenter},set:function(t){return n.lookAt(n.lastT(),t),n.computedCenter},enumerable:!0},eye:{get:function(){return n.computedEye},set:function(t){return n.lookAt(n.lastT(),null,t),n.computedEye},enumerable:!0},up:{get:function(){return n.computedUp},set:function(t){return n.lookAt(n.lastT(),null,null,t),n.computedUp},enumerable:!0},distance:{get:function(){return a},set:function(t){return n.setDistance(n.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return n.getDistanceLimits(r)},set:function(t){return n.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=1/t.clientHeight,f=s*(r-u),p=s*(i-c),d=l.flipX?1:-1,g=l.flipY?1:-1,v=Math.PI*l.rotateSpeed,m=bP();if(1&e)o.shift?n.rotate(m,0,0,-f*v):n.rotate(m,d*v*f,-g*v*p,0);else if(2&e)n.pan(m,-l.translateSpeed*f*a,l.translateSpeed*p*a,0);else if(4&e){var y=l.zoomSpeed*p/window.innerHeight*(m-n.lastT())*50;n.pan(m,0,0,a*(Math.exp(y)-1))}u=r,c=i,h=o}return CC(t,f),t.addEventListener(\\\"touchstart\\\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(e){La(e.changedTouches[0],t),f(0,u,c,h),e.preventDefault()},!!Ea&&{passive:!1}),OC(t,function(t,e,r){var i=l.flipX?1:-1,o=l.flipY?1:-1,s=bP();if(Math.abs(t)>Math.abs(e))n.rotate(s,0,0,-t*i*Math.PI*l.rotateSpeed/window.innerWidth);else{var u=l.zoomSpeed*o*e/window.innerHeight*(s-n.lastT())/100;n.pan(s,0,0,a*(Math.exp(u)-1))}},!0),l};var wP=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 i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,u=!!a.normalized,c=a.stride||0,h=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,u,c,h)}else{if(\\\"number\\\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\\\"gl-vao: Invalid vertex attribute\\\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)};function MP(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}MP.prototype.bind=function(){wP(this.gl,this._elements,this._attributes)},MP.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},MP.prototype.dispose=function(){},MP.prototype.unbind=function(){},MP.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)};var AP=function(t){return new MP(t)};function kP(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function TP(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}kP.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)}},TP.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},TP.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},TP.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},TP.prototype.update=function(t,e,r){if(this.bind(),wP(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var n=0;n<t.length;++n){var i=t[n];\\\"number\\\"==typeof i?this._attribs.push(new kP(n,1,i)):Array.isArray(i)&&this._attribs.push(new kP(n,i.length,i[0],i[1],i[2],i[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},TP.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)};var SP=function(t,e){return new TP(t,e,e.createVertexArrayOES())};var EP=function(t,e,r,n){var i,a=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(\\\"OES_vertex_array_object\\\");return(i=a?SP(t,a):AP(t)).update(e,r,n),i},CP={};!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 e=WeakMap;if(\\\"undefined\\\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var r=new e,n=Object.freeze({});if(r.set(n,1),1===r.get(n))return void(CP=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,a=Object.defineProperty,o=Object.isExtensible,s=\\\"weakmap:\\\",l=s+\\\"ident:\\\"+Math.random()+\\\"___\\\";if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto.getRandomValues&&\\\"function\\\"==typeof ArrayBuffer&&\\\"function\\\"==typeof Uint8Array){var u=new ArrayBuffer(25),c=new Uint8Array(u);crypto.getRandomValues(c),l=s+\\\"rand:\\\"+Array.prototype.map.call(c,function(t){return(t%36).toString(36)}).join(\\\"\\\")+\\\"___\\\"}if(a(Object,\\\"getOwnPropertyNames\\\",{value:function(t){return i(t).filter(v)}}),\\\"getPropertyNames\\\"in Object){var h=Object.getPropertyNames;a(Object,\\\"getPropertyNames\\\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;a(Object,\\\"freeze\\\",{value:function(e){return m(e),t(e)}});var e=Object.seal;a(Object,\\\"seal\\\",{value:function(t){return m(t),e(t)}});var r=Object.preventExtensions;a(Object,\\\"preventExtensions\\\",{value:function(t){return m(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,i){var a,o=m(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:y(function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:y(function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:y(function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,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 e?function(){function r(){this instanceof d||x();var r,n=new e,i=void 0,a=!1;return r=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:y(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:y(r)},delete___:{value:y(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:y(function(t){if(t!==g)throw new Error(\\\"bogus call to permitHostObjects___\\\");a=!0})}})}t&&\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),r.prototype=d.prototype,CP=r,Object.defineProperty(WeakMap.prototype,\\\"constructor\\\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),CP=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function v(t){return!(t.substr(0,s.length)==s&&\\\"___\\\"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError(\\\"Not an object: \\\"+t);var e=t[l];if(e&&e.key===t)return e;if(o(t)){e={key:t};try{return a(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.\\\"))}}();var LP=new(\\\"undefined\\\"==typeof WeakMap?CP:WeakMap);var zP=function(t){var e=LP.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=S_(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=EP(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,LP.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()},PP={},IP=E_([\\\"#define GLSLIFY 1\\\\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\\\"]),DP=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);PP.line=function(t){return Bw(t,IP,DP,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var OP=E_([\\\"#define GLSLIFY 1\\\\nattribute vec3 position;\\\\n\\\\nuniform mat4 model, view, projection;\\\\nuniform vec3 offset, axis;\\\\nuniform float scale, angle, pixelScale;\\\\nuniform vec2 resolution;\\\\n\\\\nvoid main() {  \\\\n  //Compute plane offset\\\\n  vec2 planeCoord = position.xy * pixelScale;\\\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\\\n                                -sin(angle), cos(angle));\\\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\\\n\\\\n  //Compute world offset\\\\n  float axisDistance = position.z;\\\\n  vec3 dataPosition = axisDistance * axis + offset;\\\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\\\n  \\\\n  //Compute clip position\\\\n  vec4 viewPosition = view * worldPosition;\\\\n  vec4 clipPosition = projection * viewPosition;\\\\n  clipPosition /= clipPosition.w;\\\\n\\\\n  //Apply text offset in clip coordinates\\\\n  clipPosition += vec4(viewOffset, 0, 0);\\\\n\\\\n  //Done\\\\n  gl_Position = clipPosition;\\\\n}\\\"]),RP=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);PP.text=function(t){return Bw(t,OP,RP,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var FP=E_([\\\"#define GLSLIFY 1\\\\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  if(dot(normal, enable) > 0.0) {\\\\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\\\\n}\\\"]),BP=E_([\\\"precision mediump 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}\\\"]);PP.bg=function(t){return Bw(t,FP,BP,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"}])};var NP=function(t){for(var e=[],r=[],n=0,i=0;i<3;++i)for(var a=(i+1)%3,o=(i+2)%3,s=[0,0,0],l=[0,0,0],u=-1;u<=1;u+=2){r.push(n,n+2,n+1,n+1,n+2,n+3),s[i]=u,l[i]=u;for(var c=-1;c<=1;c+=2){s[a]=c;for(var h=-1;h<=1;h+=2)s[o]=h,e.push(s[0],s[1],s[2],l[0],l[1],l[2]),n+=1}var f=a;a=o,o=f}var p=S_(t,new Float32Array(e)),d=S_(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),g=EP(t,[{buffer:p,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:p,type:t.FLOAT,size:3,offset:12,stride:24}],d),v=jP(t);return v.attributes.position.location=0,v.attributes.normal.location=1,new VP(t,p,g,v)},jP=PP.bg;function VP(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var UP=VP.prototype;UP.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[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:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},UP.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var qP=function(t,e){for(var r=cM(t[0],e[0]),n=1;n<t.length;++n)r=gM(r,cM(t[n],e[n]));return r};var HP={};function GP(t,e){var r=gM(qP(t,e),[e[e.length-1]]);return r[r.length-1]}function WP(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}(HP=function(t,e){for(var r=[],n=[],i=GP(t[t.length-1],e),a=t[t.length-1],o=t[0],s=0;s<t.length;++s,a=o){var l=GP(o=t[s],e);if(i<0&&l>0||i>0&&l<0){var u=WP(a,l,o,i);r.push(u),n.push(u.slice())}l<0?n.push(o.slice()):l>0?r.push(o.slice()):(r.push(o.slice()),n.push(o.slice())),i=l}return{positive:r,negative:n}}).positive=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s>=0&&r.push(a.slice()),n=s}return r},HP.negative=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s<=0&&r.push(a.slice()),n=s}return r};var YP=function(t,e,r,n){Dz(XP,e,t),Dz(XP,r,XP);for(var i=0,a=0;a<2;++a){KP[2]=n[a][2];for(var o=0;o<2;++o){KP[1]=n[o][1];for(var s=0;s<2;++s)KP[0]=n[s][0],$P(ZP[i],KP,XP),i+=1}}for(var l=-1,a=0;a<8;++a){for(var u=ZP[a][3],c=0;c<3;++c)JP[a][c]=ZP[a][c]/u;u<0&&(l<0?l=a:JP[a][2]<JP[l][2]&&(l=a))}if(l<0){l=0;for(var h=0;h<3;++h){for(var f=(h+2)%3,p=(h+1)%3,d=-1,g=-1,v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p);PM(JP[m],JP[y],JP[x],QP)<0||(v?d=1:g=1)}if(d<0||g<0)g>d&&(l|=1<<h);else{for(var v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p),b=eI([ZP[m],ZP[y],ZP[x],ZP[m+(1<<f)+(1<<p)]]);v?d=b:g=b}g>d&&(l|=1<<h)}}}for(var _=7^l,w=-1,a=0;a<8;++a)a!==l&&a!==_&&(w<0?w=a:JP[w][1]>JP[a][1]&&(w=a));for(var M=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_){M<0&&(M=A);var p=JP[A];p[0]<JP[M][0]&&(M=A)}}for(var k=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_&&A!==M){k<0&&(k=A);var p=JP[A];p[0]>JP[k][0]&&(k=A)}}var T=rI;T[0]=T[1]=T[2]=0,T[Mb.log2(M^w)]=w&M,T[Mb.log2(w^k)]=w&k;var S=7^k;S===l||S===_?(S=7^M,T[Mb.log2(k^S)]=S&k):T[Mb.log2(M^S)]=S&M;for(var E=nI,C=l,h=0;h<3;++h)E[h]=C&1<<h?-1:1;return iI},XP=new Array(16),ZP=(new Array(16),new Array(8)),JP=new Array(8),KP=new Array(3),QP=[0,0,0];function $P(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)ZP[t]=[1,1,1,1],JP[t]=[1,1,1]}();var tI=[[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 eI(t){for(var e=0;e<tI.length;++e)if((t=HP.positive(t,tI[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],l=o[0]/o[3]-n,u=o[1]/o[3]-i,c=s[0]/s[3]-n,h=s[1]/s[3]-i;a+=Math.abs(l*h-u*c)}return a}var rI=[1,1,1],nI=[0,0,0],iI={cubeEdges:rI,axis:nI};var aI=function(t,e,r){var n=[],i=[0,0,0],a=[0,0,0],o=[0,0,0],s=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var l=0;l<3;++l){for(var u=n.length/3|0,c=0;c<r[l].length;++c){var h=+r[l][c].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;i[l]=u,a[l]=f-u;for(var u=n.length/3|0,p=0;p<r[l].length;++p){var h=+r[l][p].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;o[l]=u,s[l]=f-u}var d=S_(t,new Float32Array(n)),g=EP(t,[{buffer:d,type:t.FLOAT,size:3,stride:0,offset:0}]),v=oI(t);return v.attributes.position.location=0,new dI(t,d,g,v,a,i,s,o)},oI=PP.line,sI=[0,0,0],lI=[0,0,0],uI=[0,0,0],cI=[0,0,0],hI=[1,1];function fI(t){return t[0]=t[1]=t[2]=0,t}function pI(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function dI(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var gI=dI.prototype;gI.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,hI[0]=this.gl.drawingBufferWidth,hI[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=hI,this.vao.bind()},gI.unbind=function(){this.vao.unbind()},gI.drawAxisLine=function(t,e,r,n,i){var a=fI(lI);this.shader.uniforms.majorAxis=lI,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,s=pI(cI,r);s[t]+=e[0][t],this.shader.uniforms.offset=s,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=fI(uI))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=fI(uI))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},gI.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=fI(sI);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var o=fI(uI);o[t]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},gI.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var o=fI(lI);o[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[e]+=r[0][e],this.shader.uniforms.offset=s;var l=fI(sI);l[t]=1,this.shader.uniforms.majorAxis=l;var u=fI(uI);u[t]=1,this.shader.uniforms.screenAxis=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},gI.drawZero=function(t,e,r,n,i,a){var o=fI(lI);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[t]+=r[0][t],this.shader.uniforms.offset=s;var l=fI(uI);l[e]=1,this.shader.uniforms.screenAxis=l,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},gI.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};var vI={};(function(t){\\\"use strict\\\";vI=function(t,r,n,a,o,s){var l=S_(t),u=EP(t,[{buffer:l,size:3}]),c=e(t);c.attributes.position.location=0;var h=new i(t,c,l,u);return h.update(r,n,a,o,s),h};var e=PP.text,r=window||t.global||{},n=r.__TEXT_CACHE||{};r.__TEXT_CACHE={};function i(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 a=i.prototype,o=[0,0];a.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,o[0]=this.gl.drawingBufferWidth,o[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=o},a.unbind=function(){this.vao.unbind()},a.update=function(t,e,r,i,a){this.gl;var o=[];function s(t,e,r,i){var a=n[r];a||(a=n[r]={});var s=a[e];s||(s=a[e]=function(t,e){try{return ME(t,e)}catch(t){return console.warn(\\\"error vectorizing text:\\\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\"}));for(var l=(i||12)/12,u=s.positions,c=s.cells,h=0,f=c.length;h<f;++h)for(var p=c[h],d=2;d>=0;--d){var g=u[p[d]];o.push(l*g[0],-l*g[1],t)}}for(var l=[0,0,0],u=[0,0,0],c=[0,0,0],h=[0,0,0],f=0;f<3;++f){c[f]=o.length/3|0,s(.5*(t[0][f]+t[1][f]),e[f],r),h[f]=(o.length/3|0)-c[f],l[f]=o.length/3|0;for(var p=0;p<i[f].length;++p)i[f][p].text&&s(i[f][p].x,i[f][p].text,i[f][p].font||a,i[f][p].fontSize||12);u[f]=(o.length/3|0)-l[f]}this.buffer.update(o),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=h};var s=[0,0,0];a.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=s;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var l=[0,0,0];a.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=l,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},a.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,Pp);var mI={};function yI(t,e){var r=t+\\\"\\\",n=r.indexOf(\\\".\\\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\\\"\\\";if(s.indexOf(\\\"e\\\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\\\"\\\"+l;if(o<0&&(c=\\\"-\\\"+c),i){for(var h=\\\"\\\"+u;h.length<i;)h=\\\"0\\\"+h;return c+\\\".\\\"+h}return c}mI.create=function(t,e){for(var r=[],n=0;n<3;++n){for(var i=[],a=(t[0][n],t[1][n],0);a*e[n]<=t[1][n];++a)i.push({x:a*e[n],text:yI(e[n],a)});for(var a=-1;a*e[n]>=t[0][n];--a)i.push({x:a*e[n],text:yI(e[n],a)});r.push(i)}return r},mI.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 i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0};var xI=function(t,e){var r=new wI(t);return r.update(e),r},bI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function _I(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function wI(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.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.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=NP(t)}var MI=wI.prototype;function AI(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}MI.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=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]}),s=!1,l=!1;if(\\\"bounds\\\"in t)for(var u=t.bounds,c=0;c<2;++c)for(var h=0;h<3;++h)u[c][h]!==this.bounds[c][h]&&(l=!0),this.bounds[c][h]=u[c][h];if(\\\"ticks\\\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(c=0;c<3;++c)this.tickSpacing[c]=0}else n(\\\"tickSpacing\\\")&&(this.autoTicks=!0,l=!0);if(this._firstInit&&(\\\"ticks\\\"in t||\\\"tickSpacing\\\"in t||(this.autoTicks=!0),l=!0,s=!0,this._firstInit=!1),l&&this.autoTicks&&(r=mI.create(this.bounds,this.tickSpacing),s=!0),s){for(c=0;c<3;++c)r[c].sort(function(t,e){return t.x-e.x});mI.equal(r,this.ticks)?s=!1:this.ticks=r}i(\\\"tickEnable\\\"),a(\\\"tickFont\\\")&&(s=!0),n(\\\"tickSize\\\"),n(\\\"tickAngle\\\"),n(\\\"tickPad\\\"),o(\\\"tickColor\\\");var f=a(\\\"labels\\\");a(\\\"labelFont\\\")&&(f=!0),i(\\\"labelEnable\\\"),n(\\\"labelSize\\\"),n(\\\"labelPad\\\"),o(\\\"labelColor\\\"),i(\\\"lineEnable\\\"),i(\\\"lineMirror\\\"),n(\\\"lineWidth\\\"),o(\\\"lineColor\\\"),i(\\\"lineTickEnable\\\"),i(\\\"lineTickMirror\\\"),n(\\\"lineTickLength\\\"),n(\\\"lineTickWidth\\\"),o(\\\"lineTickColor\\\"),i(\\\"gridEnable\\\"),n(\\\"gridWidth\\\"),o(\\\"gridColor\\\"),i(\\\"zeroEnable\\\"),o(\\\"zeroLineColor\\\"),n(\\\"zeroLineWidth\\\"),i(\\\"backgroundEnable\\\"),o(\\\"backgroundColor\\\"),this._text?this._text&&(f||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=vI(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&s&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=aI(this.gl,this.bounds,this.ticks))};var kI=[new AI,new AI,new AI];function TI(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var h=a,f=s,p=o,d=l;u&1<<c&&(h=s,f=a,p=l,d=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var SI=[0,0,0],EI={model:bI,view:bI,projection:bI};MI.isOpaque=function(){return!0},MI.isTransparent=function(){return!1},MI.drawTransparent=function(t){};var CI=[0,0,0],LI=[0,0,0],zI=[0,0,0];MI.draw=function(t){t=t||EI;for(var e=this.gl,r=t.model||bI,n=t.view||bI,i=t.projection||bI,a=this.bounds,o=YP(r,n,i,a),s=o.cubeEdges,l=o.axis,u=n[12],c=n[13],h=n[14],f=n[15],p=this.pixelRatio*(i[3]*u+i[7]*c+i[11]*h+i[15]*f)/e.drawingBufferHeight,d=0;d<3;++d)this.lastCubeProps.cubeEdges[d]=s[d],this.lastCubeProps.axis[d]=l[d];var g=kI;for(d=0;d<3;++d)TI(kI[d],d,this.bounds,s,l);e=this.gl;var v=SI;for(d=0;d<3;++d)this.backgroundEnable[d]?v[d]=l[d]:v[d]=0;this._background.draw(r,n,i,a,v,this.backgroundColor),this._lines.bind(r,n,i,this);for(d=0;d<3;++d){var m=[0,0,0];l[d]>0?m[d]=a[1][d]:m[d]=a[0][d];for(var y=0;y<2;++y){var x=(d+1+y)%3,b=(d+1+(1^y))%3;this.gridEnable[x]&&this._lines.drawGrid(x,b,this.bounds,m,this.gridColor[x],this.gridWidth[x]*this.pixelRatio)}for(y=0;y<2;++y){x=(d+1+y)%3,b=(d+1+(1^y))%3;this.zeroEnable[b]&&a[0][b]<=0&&a[1][b]>=0&&this._lines.drawZero(x,b,this.bounds,m,this.zeroLineColor[b],this.zeroLineWidth[b]*this.pixelRatio)}}for(d=0;d<3;++d){this.lineEnable[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].primalOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio),this.lineMirror[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].mirrorOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio);var _=_I(CI,g[d].primalMinor),w=_I(LI,g[d].mirrorMinor),M=this.lineTickLength;for(y=0;y<3;++y){var A=p/r[5*y];_[y]*=M[y]*A,w[y]*=M[y]*A}this.lineTickEnable[d]&&this._lines.drawAxisTicks(d,g[d].primalOffset,_,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio),this.lineTickMirror[d]&&this._lines.drawAxisTicks(d,g[d].mirrorOffset,w,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(d=0;d<3;++d){var k=g[d].primalMinor,T=_I(zI,g[d].primalOffset);for(y=0;y<3;++y)this.lineTickEnable[d]&&(T[y]+=p*k[y]*Math.max(this.lineTickLength[y],0)/r[5*y]);if(this.tickEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.tickPad[y]/r[5*y];this._text.drawTicks(d,this.tickSize[d],this.tickAngle[d],T,this.tickColor[d])}if(this.labelEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.labelPad[y]/r[5*y];T[d]+=.5*(a[0][d]+a[1][d]),this._text.drawLabel(d,this.labelSize[d],this.labelAngle[d],T,this.labelColor[d])}}this._text.unbind()},MI.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};var PI=function(t,e,r){var n=e||0,i=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]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]};var II=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t};var DI=function(t,e,r,n,i){var a=e.model||OI,o=e.view||OI,s=e.projection||OI,l=t.bounds,u=(i=i||YP(a,o,s,l)).axis;i.edges;Dz(RI,o,a),Dz(RI,s,RI);for(var c=VI,h=0;h<3;++h)c[h].lo=1/0,c[h].hi=-1/0,c[h].pixelsPerDataUnit=1/0;var f=PI(Mz(RI,RI));Mz(RI,RI);for(var p=0;p<3;++p){var d=(p+1)%3,g=(p+2)%3,v=UI;t:for(var h=0;h<2;++h){var m=[];if(u[p]<0!=!!h){v[p]=l[h][p];for(var y=0;y<2;++y){v[d]=l[y^h][d];for(var x=0;x<2;++x)v[g]=l[x^y^h][g],m.push(v.slice())}for(var y=0;y<f.length;++y){if(0===m.length)continue t;m=HP.positive(m,f[y])}for(var y=0;y<m.length;++y)for(var g=m[y],b=jI(UI,RI,g,r,n),x=0;x<3;++x)c[x].lo=Math.min(c[x].lo,g[x]),c[x].hi=Math.max(c[x].hi,g[x]),x!==p&&(c[x].pixelsPerDataUnit=Math.min(c[x].pixelsPerDataUnit,Math.abs(b[x])))}}}return c},OI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),RI=new Float32Array(16);function FI(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var BI=[0,0,0,1],NI=[0,0,0,1];function jI(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=BI,s=NI,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,II(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,II(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,c=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+c*c)}return t}var VI=[new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0)],UI=[0,0,0];var qI=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t};var HI=E_([\\\"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}\\\"]),GI=E_([\\\"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}\\\"]),WI=function(t){return Bw(t,HI,GI,null,[{name:\\\"position\\\",type:\\\"vec2\\\"}])},YI=E_([\\\"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\\\"]),XI=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = fragColor;\\\\n}\\\"]),ZI=function(t){return Bw(t,YI,XI,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec3\\\"},{name:\\\"weight\\\",type:\\\"float\\\"}])},JI=function(t,e){var r=[];function n(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}n(0,0,0,0,0,1),n(0,0,0,1,0,1),n(0,0,0,2,0,1),n(1,0,0,1,-1,1),n(1,0,0,2,-1,1),n(0,1,0,0,-1,1),n(0,1,0,2,-1,1),n(0,0,1,0,-1,1),n(0,0,1,1,-1,1);var i=S_(t,r),a=EP(t,[{type:t.FLOAT,buffer:i,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:i,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:i,size:1,offset:24,stride:28}]),o=ZI(t);o.attributes.position.location=0,o.attributes.color.location=1,o.attributes.weight.location=2;var s=new QI(t,i,a,o);return s.update(e),s},KI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function QI(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 $I=QI.prototype,tD=[0,0,0],eD=[0,0,0],rD=[0,0];$I.isTransparent=function(){return!1},$I.drawTransparent=function(t){},$I.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||KI,o=t.view||KI,s=t.projection||KI;this.axes&&(i=this.axes.lastCubeProps.axis);for(var l=tD,u=eD,c=0;c<3;++c)i&&i[c]<0?(l[c]=this.bounds[0][c],u[c]=this.bounds[1][c]):(l[c]=this.bounds[1][c],u[c]=this.bounds[0][c]);rD[0]=e.drawingBufferWidth,rD[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,l,u],n.uniforms.colors=this.colors,n.uniforms.screenShape=rD;for(c=0;c<3;++c)n.uniforms.lineWidth=this.lineWidth[c]*this.pixelRatio,this.enabled[c]&&(r.draw(e.TRIANGLES,6,6*c),this.drawSides[c]&&r.draw(e.TRIANGLES,12,18+12*c));r.unbind()},$I.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))},$I.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var nD=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\\\"canvas\\\"),t.container){var n=t.container;n.appendChild(r)}else document.body.appendChild(r);var i=t.gl;i||(i=function(t,e){var r=null;try{(r=t.getContext(\\\"webgl\\\",e))||(r=t.getContext(\\\"experimental-webgl\\\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!i)throw new Error(\\\"webgl not supported\\\");var a=t.bounds||[[-10,-10,-10],[10,10,10]],o=new function(){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},s=YE(i,[i.drawingBufferWidth,i.drawingBufferHeight],{preferFloat:!iD}),l=WI(i),u=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\\\"turntable\\\"},c=t.axes||{},h=xI(i,c);h.enable=!c.disable;var f=t.spikes||{},p=JI(i,f),d=[],g=[],v=[],m=[],y=!0,x=!0,b=new Array(16),_=new Array(16),w={view:null,projection:b,model:_},x=!0,M=[i.drawingBufferWidth,i.drawingBufferHeight],A={gl:i,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:o,camera:_P(r,u),axes:h,axesPixels:null,spikes:p,bounds:a,objects:d,shape:M,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:oD(t.autoResize),autoBounds:oD(t.autoBounds),autoScale:!!t.autoScale,autoCenter:oD(t.autoCenter),clipToBounds:oD(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:w,oncontextloss:null,mouseListener:null},k=[i.drawingBufferWidth/A.pixelRatio|0,i.drawingBufferHeight/A.pixelRatio|0];function T(){if(!e&&A.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*A.pixelRatio),o=0|Math.ceil(i*A.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\\\"absolute\\\",s.left=\\\"0px\\\",s.top=\\\"0px\\\",s.width=n+\\\"px\\\",s.height=i+\\\"px\\\",y=!0}}}A.autoResize&&T();function S(){for(var t=d.length,e=m.length,r=0;r<e;++r)v[r]=0;t:for(var r=0;r<t;++r){var n=d[r],a=n.pickSlots;if(a){for(var o=0;o<e;++o)if(v[o]+a<255){g[r]=o,n.setPickBase(v[o]+1),v[o]+=a;continue t}var s=nC(i,M);g[r]=e,m.push(s),v.push(a),n.setPickBase(1),e+=1}else g[r]=-1}for(;e>0&&0===v[e-1];)v.pop(),m.pop().dispose()}window.addEventListener(\\\"resize\\\",T),A.update=function(t){e||(t=t||{},y=!0,x=!0)},A.add=function(t){e||(t.axes=h,d.push(t),g.push(-1),y=!0,x=!0,S())},A.remove=function(t){if(!e){var r=d.indexOf(t);r<0||(d.splice(r,1),g.pop(),y=!0,x=!0,S())}},A.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\\\"resize\\\",T),r.removeEventListener(\\\"webglcontextlost\\\",L),A.mouseListener.enabled=!1,!A.contextLost)){h.dispose(),p.dispose();for(var t=0;t<d.length;++t)d[t].dispose();s.dispose();for(var t=0;t<m.length;++t)m[t].dispose();l.dispose(),i=null,h=null,p=null,d=[]}};var E=!1,C=0;function L(){if(A.contextLost)return!0;i.isContextLost()&&(A.contextLost=!0,A.mouseListener.enabled=!1,A.selection.object=null,A.oncontextloss&&A.oncontextloss())}A.mouseListener=CC(r,function(t,r,n){if(!e){var i=m.length,a=d.length,s=o.object;o.distance=1/0,o.mouse[0]=r,o.mouse[1]=n,o.object=null,o.screen=null,o.dataCoordinate=o.dataPosition=null;var l=!1;if(t&&C)E=!0;else{E&&(x=!0),E=!1;for(var u=0;u<i;++u){var c=m[u].query(r,k[1]-n-1,A.pickRadius);if(c){if(c.distance>o.distance)continue;for(var h=0;h<a;++h){var f=d[h];if(g[h]===u){var p=f.pick(c);p&&(o.buttons=t,o.screen=c.coord,o.distance=c.distance,o.object=f,o.index=p.distance,o.dataPosition=p.position,o.dataCoordinate=p.dataCoordinate,o.data=p,l=!0)}}}}}s&&s!==o.object&&(s.highlight&&s.highlight(null),y=!0),o.object&&(o.object.highlight&&o.object.highlight(o.data),y=!0),(l=l||o.object!==s)&&A.onselect&&A.onselect(o),1&t&&!(1&C)&&A.onclick&&A.onclick(o),C=t}}),r.addEventListener(\\\"webglcontextlost\\\",L);var z=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],P=[z[0].slice(),z[1].slice()];function I(){if(!L()){T();var t=A.camera.tick();w.view=A.camera.matrix,y=y||t,x=x||t,h.pixelRatio=A.pixelRatio,p.pixelRatio=A.pixelRatio;var e=d.length,r=z[0],n=z[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var a=0;a<e;++a){var u=d[a];u.pixelRatio=A.pixelRatio,u.axes=A.axes,y=y||!!u.dirty,x=x||!!u.dirty;var c=u.bounds;if(c)for(var f=c[0],v=c[1],S=0;S<3;++S)r[S]=Math.min(r[S],f[S]),n[S]=Math.max(n[S],v[S])}var E=A.bounds;if(A.autoBounds)for(var S=0;S<3;++S){if(n[S]<r[S])r[S]=-1,n[S]=1;else{r[S]===n[S]&&(r[S]-=1,n[S]+=1);var C=.05*(n[S]-r[S]);r[S]=r[S]-C,n[S]=n[S]+C}E[0][S]=r[S],E[1][S]=n[S]}for(var I=!1,S=0;S<3;++S)I=I||P[0][S]!==E[0][S]||P[1][S]!==E[1][S],P[0][S]=E[0][S],P[1][S]=E[1][S];if(x=x||I,y=y||I){if(I){for(var D=[0,0,0],a=0;a<3;++a)D[a]=aD((E[1][a]-E[0][a])/10);h.autoTicks?h.update({bounds:E,tickSpacing:D}):h.update({bounds:E})}var O=i.drawingBufferWidth,R=i.drawingBufferHeight;M[0]=O,M[1]=R,k[0]=0|Math.max(O/A.pixelRatio,1),k[1]=0|Math.max(R/A.pixelRatio,1),qI(b,A.fovy,O/R,A.zNear,A.zFar);for(var a=0;a<16;++a)_[a]=0;_[15]=1;for(var F=0,a=0;a<3;++a)F=Math.max(F,E[1][a]-E[0][a]);for(var a=0;a<3;++a)A.autoScale?_[5*a]=A.aspect[a]/(E[1][a]-E[0][a]):_[5*a]=1/F,A.autoCenter&&(_[12+a]=.5*-_[5*a]*(E[0][a]+E[1][a]));for(var a=0;a<e;++a){var u=d[a];u.axesBounds=E,A.clipToBounds&&(u.clipBounds=E)}o.object&&(A.snapToData?p.position=o.dataCoordinate:p.position=o.dataPosition,p.bounds=E),x&&(x=!1,function(){if(L())return;i.colorMask(!0,!0,!0,!0),i.depthMask(!0),i.disable(i.BLEND),i.enable(i.DEPTH_TEST);for(var t=d.length,e=m.length,r=0;r<e;++r){var n=m[r];n.shape=k,n.begin();for(var a=0;a<t;++a)if(g[a]===r){var o=d[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(w))}n.end()}}()),A.axesPixels=DI(A.axes,w,O,R),A.onrender&&A.onrender(),i.bindFramebuffer(i.FRAMEBUFFER,null),i.viewport(0,0,O,R);var B=A.clearColor;i.clearColor(B[0],B[1],B[2],B[3]),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),i.depthMask(!0),i.colorMask(!0,!0,!0,!0),i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),i.disable(i.BLEND),i.disable(i.CULL_FACE);var N=!1;h.enable&&(N=N||h.isTransparent(),h.draw(w)),p.axes=h,o.object&&p.draw(w),i.disable(i.CULL_FACE);for(var a=0;a<e;++a){var u=d[a];u.axes=h,u.pixelRatio=A.pixelRatio,u.isOpaque&&u.isOpaque()&&u.draw(w),u.isTransparent&&u.isTransparent()&&(N=!0)}if(N){s.shape=M,s.bind(),i.clear(i.DEPTH_BUFFER_BIT),i.colorMask(!1,!1,!1,!1),i.depthMask(!0),i.depthFunc(i.LESS),h.enable&&h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isOpaque&&u.isOpaque()&&u.draw(w)}i.enable(i.BLEND),i.blendEquation(i.FUNC_ADD),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.colorMask(!0,!0,!0,!0),i.depthMask(!1),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isTransparent&&u.isTransparent()&&u.drawTransparent(w)}i.bindFramebuffer(i.FRAMEBUFFER,null),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.disable(i.DEPTH_TEST),l.bind(),s.color[0].bind(0),l.uniforms.accumBuffer=0,zP(i),i.disable(i.BLEND)}y=!1;for(var a=0;a<e;++a)d[a].dirty=!1}}}return function t(){e||A.contextLost||(requestAnimationFrame(t),I())}(),A.redraw=function(){e||(y=!0,I())},A},iD=function(t){t||\\\"undefined\\\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\\\"string\\\"==typeof t.headers[\\\"user-agent\\\"]&&(t=t.headers[\\\"user-agent\\\"]);return\\\"string\\\"==typeof t&&(/(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(4|6)0|symbian|treo|up\\\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(t.substr(0,4)))}();function aD(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 oD(t){return\\\"boolean\\\"!=typeof t||t}var sD=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 n=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={keyBindingMode:\\\"rotate\\\",view:n,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:n.modes,tick:function(){var e=bP(),r=this.delay,l=e-2*r;n.idle(e-r),n.recalcMatrix(l),n.flush(e-(100+2*r));for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=Math.exp(n.computedRadius[0]),!0)},lookAt:function(t,e,r){n.lookAt(n.lastT(),t,e,r)},rotate:function(t,e,r){n.rotate(n.lastT(),t,e,r)},pan:function(t,e,r){n.pan(n.lastT(),t,e,r)},translate:function(t,e,r){n.translate(n.lastT(),t,e,r)}};Object.defineProperties(l,{matrix:{get:function(){return n.computedMatrix},set:function(t){return n.setMatrix(n.lastT(),t),n.computedMatrix},enumerable:!0},mode:{get:function(){return n.getMode()},set:function(t){var e=n.computedUp.slice(),r=n.computedEye.slice(),i=n.computedCenter.slice();if(n.setMode(t),\\\"turntable\\\"===t){var a=bP();n._active.lookAt(a,r,i,e),n._active.lookAt(a+500,r,i,[0,0,1]),n._active.flush(a)}return n.getMode()},enumerable:!0},center:{get:function(){return n.computedCenter},set:function(t){return n.lookAt(n.lastT(),null,t),n.computedCenter},enumerable:!0},eye:{get:function(){return n.computedEye},set:function(t){return n.lookAt(n.lastT(),t),n.computedEye},enumerable:!0},up:{get:function(){return n.computedUp},set:function(t){return n.lookAt(n.lastT(),null,null,t),n.computedUp},enumerable:!0},distance:{get:function(){return a},set:function(t){return n.setDistance(n.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return n.getDistanceLimits(r)},set:function(t){return n.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=l.keyBindingMode;if(!1!==s){var f=\\\"rotate\\\"===s,p=\\\"pan\\\"===s,d=\\\"zoom\\\"===s,g=!!o.control,v=!!o.alt,m=!!o.shift,y=!!(1&e),x=!!(2&e),b=!!(4&e),_=1/t.clientHeight,w=_*(r-u),M=_*(i-c),A=l.flipX?1:-1,k=l.flipY?1:-1,T=bP(),S=Math.PI*l.rotateSpeed;if((f&&y&&!g&&!v&&!m||y&&!g&&!v&&m)&&n.rotate(T,A*S*w,-k*S*M,0),(p&&y&&!g&&!v&&!m||x||y&&g&&!v&&!m)&&n.pan(T,-l.translateSpeed*w*a,l.translateSpeed*M*a,0),d&&y&&!g&&!v&&!m||b||y&&!g&&v&&!m){var E=-l.zoomSpeed*M/window.innerHeight*(T-n.lastT())*100;n.pan(T,0,0,a*(Math.exp(E)-1))}return u=r,c=i,h=o,!0}}return l.mouseListener=CC(t,f),t.addEventListener(\\\"touchstart\\\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(t){f(0,u,c,h),t.preventDefault()},!!Ea&&{passive:!1}),l.wheelListener=OC(t,function(t,e){if(!1!==l.keyBindingMode){var r=l.flipX?1:-1,i=l.flipY?1:-1,o=bP();if(Math.abs(t)>Math.abs(e))n.rotate(o,0,0,-t*r*Math.PI*l.rotateSpeed/window.innerWidth);else{var s=-l.zoomSpeed*i*e/window.innerHeight*(o-n.lastT())/20;n.pan(o,0,0,a*(Math.exp(s)-1))}}},!0),l};var lD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function uD(){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.labelAngle=[0,0,0],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()}uD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[lD[e]];r.visible?(this.labels[e]=AC(r.title),\\\"titlefont\\\"in r&&(r.titlefont.color&&(this.labelColor[e]=WC(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\\\"showline\\\"in r&&(this.lineEnable[e]=r.showline),\\\"linecolor\\\"in r&&(this.lineColor[e]=WC(r.linecolor)),\\\"linewidth\\\"in r&&(this.lineWidth[e]=r.linewidth),\\\"showgrid\\\"in r&&(this.gridEnable[e]=r.showgrid),\\\"gridcolor\\\"in r&&(this.gridColor[e]=WC(r.gridcolor)),\\\"gridwidth\\\"in r&&(this.gridWidth[e]=r.gridwidth),\\\"log\\\"===r.type?this.zeroEnable[e]=!1:\\\"zeroline\\\"in r&&(this.zeroEnable[e]=r.zeroline),\\\"zerolinecolor\\\"in r&&(this.zeroLineColor[e]=WC(r.zerolinecolor)),\\\"zerolinewidth\\\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\\\"ticks\\\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\\\"ticklen\\\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\\\"tickcolor\\\"in r&&(this.lineTickColor[e]=WC(r.tickcolor)),\\\"tickwidth\\\"in r&&(this.lineTickWidth[e]=r.tickwidth),\\\"tickangle\\\"in r&&(this.tickAngle[e]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180),\\\"showticklabels\\\"in r&&(this.tickEnable[e]=r.showticklabels),\\\"tickfont\\\"in r&&(r.tickfont.color&&(this.tickColor[e]=WC(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\\\"mirror\\\"in r?-1!==[\\\"ticks\\\",\\\"all\\\",\\\"allticks\\\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\\\"showbackground\\\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=WC(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}};var cD=function(t){var e=new uD;return e.merge(t),e},hD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function fD(){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]}fD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[hD[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=WC(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}};var pD,dD,gD=function(t){var e=new fD;return e.merge(t),e},vD=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,n=t.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[mD[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/t.dataScale[a],Math.abs(o._length)===1/0)i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/t.dataScale[a],o.range[1]=r[a].hi/t.dataScale[a],o._m=1/(t.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(\\\"auto\\\"===o.tickmode){o.tickmode=\\\"linear\\\";var l=o.nticks||ne.constrain(o._length/40,4,9);ri.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=ri.calcTicks(o),c=0;c<u.length;++c)u[c].x=u[c].x*t.dataScale[a],u[c].text=AC(u[c].text);i[a]=u,o.tickmode=s}}e.ticks=i;for(var a=0;a<3;++a){yD[a]=.5*(t.glplot.bounds[0][a]+t.glplot.bounds[1][a]);for(var c=0;c<2;++c)e.bounds[c][a]=t.glplot.bounds[c][a]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(i)},mD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],yD=[0,0,0];function xD(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(dD||(pD=document.createElement(\\\"canvas\\\"),dD=_C({canvas:pD,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"error creating static canvas/context for image server\\\");i.pixelRatio=t.pixelRatio,i.gl=dD,i.canvas=pD}try{t.glplot=nD(i)}catch(e){TC(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\\\".camera\\\"]=kD(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\\\"plotly_relayout\\\",e)}};if(t.glplot.canvas.addEventListener(\\\"mouseup\\\",a.bind(null,t)),t.glplot.canvas.addEventListener(\\\"wheel\\\",a.bind(null,t),!!Ea&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\\\"webglcontextlost\\\",function(t){ne.warn(\\\"Lost WebGL context.\\\"),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=sD(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:\\\"orbit\\\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 \\\"+i+\\\" \\\"+a),r.setAttributeNS(null,\\\"width\\\",i),r.setAttributeNS(null,\\\"height\\\",a),vD(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)\\\"skip\\\"!==(e=t.traces[s[c]]).data.hoverinfo&&e.handlePick(u)&&(l=e),e.setContourLevels&&e.setContourLevels();function h(e,r){var n=t.fullSceneLayout[e];return ri.tickText(n,n.d2l(r),\\\"hover\\\").text}if(null!==l){var f=gd(t.glplot.cameraParams,u.dataCoordinate);e=l.data;var p=u.index,d=yo.castHoverinfo(e,t.fullLayout,p),g=h(\\\"xaxis\\\",u.traceCoordinate[0]),v=h(\\\"yaxis\\\",u.traceCoordinate[1]),m=h(\\\"zaxis\\\",u.traceCoordinate[2]);if(\\\"all\\\"!==d){var y=d.split(\\\"+\\\");-1===y.indexOf(\\\"x\\\")&&(g=void 0),-1===y.indexOf(\\\"y\\\")&&(v=void 0),-1===y.indexOf(\\\"z\\\")&&(m=void 0),-1===y.indexOf(\\\"text\\\")&&(u.textLabel=void 0),-1===y.indexOf(\\\"name\\\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&yo.loneHover({x:(.5+.5*f[0]/f[3])*i,y:(.5-.5*f[1]/f[3])*a,xLabel:g,yLabel:v,zLabel:m,text:u.textLabel,name:l.name,color:yo.castHoverOption(e,p,\\\"bgcolor\\\")||l.color,borderColor:yo.castHoverOption(e,p,\\\"bordercolor\\\"),fontFamily:yo.castHoverOption(e,p,\\\"font.family\\\"),fontSize:yo.castHoverOption(e,p,\\\"font.size\\\"),fontColor:yo.castHoverOption(e,p,\\\"font.color\\\")},{container:r,gd:t.graphDiv});var x={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:p};yo.appendArrayPointValue(x,e,p);var b={points:[x]};u.buttons&&u.distance<5?t.graphDiv.emit(\\\"plotly_click\\\",b):t.graphDiv.emit(\\\"plotly_hover\\\",b),o=b}else yo.loneUnhover(r),t.graphDiv.emit(\\\"plotly_unhover\\\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function bD(t,e){var r=document.createElement(\\\"div\\\"),n=t.container;this.graphDiv=t.graphDiv;var i=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\\\",r.appendChild(i),this.svgContainer=i,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=cD(e[this.id]),this.spikeOptions=gD(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=P.getComponentMethod(\\\"annotations3d\\\",\\\"convert\\\"),this.drawAnnotations=P.getComponentMethod(\\\"annotations3d\\\",\\\"draw\\\"),xD(this)}var _D=bD.prototype;_D.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):xD(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):ne.error(\\\"Catastrophic and unrecoverable WebGL error. Context lost.\\\")})};var wD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function MD(t,e,r,n,i,a){var o;if(!ne.isArrayOrTypedArray(e))return i[0][n]=Math.min(i[0][n],0),void(i[1][n]=Math.max(i[1][n],r-1));for(var s=0;s<(r||e.length);++s)if(ne.isArrayOrTypedArray(e[s]))for(var l=0;l<e[s].length;++l)o=t.d2l(e[s][l],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o));else o=t.d2l(e[s],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o))}function AD(t,e,r){var n=t.fullSceneLayout;MD(n.xaxis,e.x,e._xlength,0,r,e.xcalendar),MD(n.yaxis,e.y,e._ylength,1,r,e.ycalendar),MD(n.zaxis,e.z,e._zlength,2,r,e.zcalendar)}function kD(t){return{up:{x:t.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]}}}_D.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,u=e[this.id],c=r[this.id];u.bgcolor?this.glplot.clearColor=WC(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),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(a=0;a<t.length;++a)!0===(n=t[a]).visible&&AD(this,n,h);var f=[1,1,1];for(o=0;o<3;++o)h[0][o]>h[1][o]?f[o]=1: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),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&!0===t[o].visible)continue t;(i=this.traces[p[a]]).dispose(),delete this.traces[p[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var d=[[0,0,0],[0,0,0]],g=[],v={};for(a=0;a<3;++a){if((l=(s=u[wD[a]]).type)in v?(v[l].acc*=f[a],v[l].count+=1):v[l]={acc:f[a],count:1},s.autorange){d[0][a]=1/0,d[1][a]=-1/0;var m=this.glplot.objects,y=this.fullSceneLayout.annotations||[],x=s._name.charAt(0);for(o=0;o<m.length;o++){var b=m[o].bounds;d[0][a]=Math.min(d[0][a],b[0][a]/f[a]),d[1][a]=Math.max(d[1][a],b[1][a]/f[a])}for(o=0;o<y.length;o++){var _=y[o];if(_.visible){var w=s.r2l(_[x]);d[0][a]=Math.min(d[0][a],w),d[1][a]=Math.max(d[1][a],w)}}if(\\\"rangemode\\\"in s&&\\\"tozero\\\"===s.rangemode&&(d[0][a]=Math.min(d[0][a],0),d[1][a]=Math.max(d[1][a],0)),d[0][a]>d[1][a])d[0][a]=-1,d[1][a]=1;else{var M=d[1][a]-d[0][a];d[0][a]-=M/32,d[1][a]+=M/32}}else{var A=s.range;d[0][a]=s.r2l(A[0]),d[1][a]=s.r2l(A[1])}d[0][a]===d[1][a]&&(d[0][a]-=1,d[1][a]+=1),g[a]=d[1][a]-d[0][a],this.glplot.bounds[0][a]=d[0][a]*f[a],this.glplot.bounds[1][a]=d[1][a]*f[a]}var k=[1,1,1];for(a=0;a<3;++a){var T=v[l=(s=u[wD[a]]).type];k[a]=Math.pow(T.acc,1/T.count)/f[a]}var S;if(\\\"auto\\\"===u.aspectmode)S=Math.max.apply(null,k)/Math.min.apply(null,k)<=4?k:[1,1,1];else if(\\\"cube\\\"===u.aspectmode)S=[1,1,1];else if(\\\"data\\\"===u.aspectmode)S=k;else{if(\\\"manual\\\"!==u.aspectmode)throw new Error(\\\"scene.js aspectRatio was not one of the enumerated types\\\");var E=u.aspectratio;S=[E.x,E.y,E.z]}u.aspectratio.x=c.aspectratio.x=S[0],u.aspectratio.y=c.aspectratio.y=S[1],u.aspectratio.z=c.aspectratio.z=S[2],this.glplot.aspect=S;var C=u.domain||null,L=e._size||null;if(C&&L){var z=this.container.style;z.position=\\\"absolute\\\",z.left=L.l+C.x[0]*L.w+\\\"px\\\",z.top=L.t+(1-C.y[1])*L.h+\\\"px\\\",z.width=L.w*(C.x[1]-C.x[0])+\\\"px\\\",z.height=L.h*(C.y[1]-C.y[0])+\\\"px\\\"}this.glplot.redraw()}},_D.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\\\"wheel\\\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_D.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),kD(this.glplot.camera)},_D.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).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]])},_D.saveCamera=function(t){var e=this.getCamera(),r=ne.nestedProperty(t,this.id+\\\".camera\\\"),n=r.get(),i=!1;function a(t,e,r,n){var i=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],a=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_D.updateFx=function(t,e){var r=this.camera;r&&(\\\"orbit\\\"===t?(r.mode=\\\"orbit\\\",r.keyBindingMode=\\\"rotate\\\"):\\\"turntable\\\"===t?(r.up=[0,0,1],r.mode=\\\"turntable\\\",r.keyBindingMode=\\\"rotate\\\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_D.toImage=function(t){t||(t=\\\"png\\\"),this.staticMode&&this.container.appendChild(pD),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var c=document.createElement(\\\"canvas\\\");c.width=r,c.height=n;var h,f=c.getContext(\\\"2d\\\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\\\"jpeg\\\":h=c.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=c.toDataURL(\\\"image/webp\\\");break;default:h=c.toDataURL(\\\"image/png\\\")}return this.staticMode&&this.container.removeChild(pD),h},_D.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[wD[t]];ri.setConvert(e,this.fullLayout),e.setScale=ne.noop}};var TD=bD,SD={},ED=ye.overrideAll,CD=sa.getSubplotData;SD.name=\\\"gl3d\\\",SD.attr=\\\"scene\\\",SD.idRoot=\\\"scene\\\",SD.idRegex=SD.attrRegex=ne.counterRegex(\\\"scene\\\"),SD.attributes={scene:{valType:\\\"subplotid\\\",dflt:\\\"scene\\\",editType:\\\"calc+clearAxisTypes\\\"}},SD.layoutAttributes=lz,SD.baseLayoutAttrOverrides=ED({hoverlabel:mo.hoverlabel},\\\"plot\\\",\\\"nested\\\"),SD.supplyLayoutDefaults=function(t,e,r){var n=e._basePlotModules.length>1;Jc(t,e,0,{type:\\\"gl3d\\\",attributes:lz,handleDefaults:uz,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!n)return ne.validate(t[e],lz[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})},SD.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var a=n[i],o=CD(r,\\\"gl3d\\\",a),s=e[a],l=s._scene;l||(l=new TD({id:a,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene=l),l.cameraInitial||(l.cameraInitial=ne.extendDeep({},s.camera)),l.plot(o,e,t.layout)}},SD.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\\\".annotation-\\\"+o).remove())}},SD.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,l=s.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":l,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()}},SD.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),\\\"scene\\\"+e}},SD.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r<e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}};var LD={},zD=m.extendFlat,PD=ye.overrideAll;function ID(t){return{show:{valType:\\\"boolean\\\",dflt:!1},project:{x:{valType:\\\"boolean\\\",dflt:!1},y:{valType:\\\"boolean\\\",dflt:!1},z:{valType:\\\"boolean\\\",dflt:!1}},color:{valType:\\\"color\\\",dflt:Oe.defaultLine},usecolormap:{valType:\\\"boolean\\\",dflt:!1},width:{valType:\\\"number\\\",min:1,max:16,dflt:2},highlight:{valType:\\\"boolean\\\",dflt:!0},highlightcolor:{valType:\\\"color\\\",dflt:Oe.defaultLine},highlightwidth:{valType:\\\"number\\\",min:1,max:16,dflt:2}}}var DD=LD=PD({z:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},surfacecolor:{valType:\\\"data_array\\\"},cauto:Pe.zauto,cmin:Pe.zmin,cmax:Pe.zmax,colorscale:Pe.colorscale,autocolorscale:zD({},Pe.autocolorscale,{dflt:!1}),reversescale:Pe.reversescale,showscale:Pe.showscale,colorbar:ze,contours:{x:ID(),y:ID(),z:ID()},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},_deprecated:{zauto:zD({},Pe.zauto,{}),zmin:zD({},Pe.zmin,{}),zmax:zD({},Pe.zmax,{})},hoverinfo:zD({},E.hoverinfo)},\\\"calc\\\",\\\"nested\\\");DD.x.editType=DD.y.editType=DD.z.editType=\\\"calc+clearAxisTypes\\\";var OD=m.extendFlat,RD=OD(De(0,\\\"calc\\\",!1),{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\\\"},delaunayaxis:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"z\\\"],dflt:\\\"z\\\",editType:\\\"calc\\\"},alphahull:{valType:\\\"number\\\",dflt:-1,editType:\\\"calc\\\"},intensity:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},color:{valType:\\\"color\\\",editType:\\\"calc\\\"},vertexcolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},facecolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},opacity:LD.opacity,flatshading:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},contour:{show:OD({},LD.contours.x.show,{}),color:LD.contours.x.color,width:LD.contours.x.width,editType:\\\"calc\\\"},showscale:Pe.showscale,colorbar:ze,lightposition:{x:OD({},LD.lightposition.x,{dflt:1e5}),y:OD({},LD.lightposition.y,{dflt:1e5}),z:OD({},LD.lightposition.z,{dflt:0}),editType:\\\"calc\\\"},lighting:OD({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\\\"},LD.lighting),hoverinfo:OD({},E.hoverinfo,{editType:\\\"calc\\\"})}),FD=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var u=0,i=n;i<e;++i){var a=t[i],o=r,s=(r=a+o)-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t};var BD={},ND=6;function jD(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function VD(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(\\\",VD(jD(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 UD(t){return new Function(\\\"sum\\\",\\\"scale\\\",\\\"prod\\\",\\\"compress\\\",[\\\"function robustDeterminant\\\",t,\\\"(m){return compress(\\\",VD(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[\\\",r,\\\"][\\\",n,\\\"]\\\"].join(\\\"\\\")}return e}(t)),\\\")};return robustDeterminant\\\",t].join(\\\"\\\"))(gM,pM,cM,FD)}var qD=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;qD.length<ND;)qD.push(UD(qD.length));for(var t=[],e=[\\\"function robustDeterminant(m){switch(m.length){\\\"],r=0;r<ND;++r)t.push(\\\"det\\\"+r),e.push(\\\"case \\\",r,\\\":return det\\\",r,\\\"(m);\\\");e.push(\\\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\\\"),t.push(\\\"CACHE\\\",\\\"gen\\\",e.join(\\\"\\\"));var n=Function.apply(void 0,t);for(BD=n.apply(void 0,qD.concat([qD,UD])),r=0;r<qD.length;++r)BD[r]=qD[r]}();var HD={},GD=6;function WD(t){for(var e=\\\"robustLinearSolve\\\"+t+\\\"d\\\",r=[\\\"function \\\",e,\\\"(A,b){return [\\\"],n=0;n<t;++n){r.push(\\\"det([\\\");for(var i=0;i<t;++i){i>0&&r.push(\\\",\\\"),r.push(\\\"[\\\");for(var a=0;a<t;++a)a>0&&r.push(\\\",\\\"),a===n?r.push(\\\"+b[\\\",i,\\\"]\\\"):r.push(\\\"+A[\\\",i,\\\"][\\\",a,\\\"]\\\");r.push(\\\"]\\\")}r.push(\\\"]),\\\")}r.push(\\\"det(A)]}return \\\",e);var o=new Function(\\\"det\\\",r.join(\\\"\\\"));return o(t<6?BD[t]:BD)}var YD=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];function XD(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function ZD(t){var e=t.length;if(0===e)return[];t[0].length;var r=b_([t.length+1,t.length+1],1),n=b_([t.length+1],1);r[e][e]=0;for(var i=0;i<e;++i){for(var a=0;a<=i;++a)r[a][i]=r[i][a]=2*XD(t[i],t[a]);n[i]=XD(t[i],t[i])}var o=HD(r,n),s=0,l=o[e+1];for(i=0;i<l.length;++i)s+=l[i];var u=new Array(e);for(i=0;i<e;++i){l=o[i];var c=0;for(a=0;a<l.length;++a)c+=l[a];u[i]=c/s}return u}function JD(t){if(0===t.length)return[];for(var e=t[0].length,r=b_([e]),n=ZD(t),i=0;i<t.length;++i)for(var a=0;a<e;++a)r[a]+=t[i][a]*n[i];return r}!function(){for(;YD.length<GD;)YD.push(WD(YD.length));for(var t=[],e=[\\\"function dispatchLinearSolve(A,b){switch(A.length){\\\"],r=0;r<GD;++r)t.push(\\\"s\\\"+r),e.push(\\\"case \\\",r,\\\":return s\\\",r,\\\"(A,b);\\\");e.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\\\",e.join(\\\"\\\"));var n=Function.apply(void 0,t);for(HD=n.apply(void 0,YD.concat([YD,WD])),r=0;r<GD;++r)HD[r]=YD[r]}(),JD.barycenetric=ZD;var KD=JD,QD=function(t){for(var e=KD(t),r=0,n=0;n<t.length;++n)for(var i=t[n],a=0;a<e.length;++a)r+=Math.pow(i[a]-e[a],2);return Math.sqrt(r/t.length)};var $D=function(t,e){var r=t.length;if(0===r)throw new Error(\\\"Must have at least d+1 points\\\");var n=t[0].length;if(r<=n)throw new Error(\\\"Must input at least d+1 points\\\");var i=t.slice(0,n+1),a=PM.apply(void 0,i);if(0===a)throw new Error(\\\"Input not in general position\\\");for(var o=new Array(n+1),s=0;s<=n;++s)o[s]=s;a<0&&(o[0]=1,o[1]=0);for(var l=new eO(o,new Array(n+1),!1),u=l.adjacent,c=new Array(n+2),s=0;s<=n;++s){for(var h=o.slice(),f=0;f<=n;++f)f===s&&(h[f]=-1);var p=h[0];h[0]=h[1],h[1]=p;var d=new eO(h,new Array(n+1),!0);u[s]=d,c[s]=d}c[n+1]=l;for(var s=0;s<=n;++s)for(var h=u[s].vertices,g=u[s].adjacent,f=0;f<=n;++f){var v=h[f];if(v<0)g[f]=l;else for(var m=0;m<=n;++m)u[m].vertices.indexOf(v)<0&&(g[f]=u[m])}for(var y=new aO(n,i,c),x=!!e,s=n+1;s<r;++s)y.insert(t[s],x);return y.boundary()},tO=gS.compareCells;function eO(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function rO(t,e,r){this.vertices=t,this.cell=e,this.index=r}function nO(t,e){return tO(t.vertices,e.vertices)}eO.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 iO=[];function aO(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 n=0;n<=t;++n)this.tuple[n]=this.vertices[n];var i=iO[t];i||(i=iO[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 n=new Function(\\\"test\\\",e.join(\\\"\\\")),i=PM[t+1];return i||(i=PM),n(i)}(t)),this.orient=i}var oO=aO.prototype;oO.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=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 u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,h=0;h<=r;++h){var f=c[h];i[h]=f<0?e:a[f]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}}return null},oO.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=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,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];s.lastVisited=r;for(c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var p=this.orient();if(a[c]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},oO.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=this.interior,s=this.simplices,l=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,o.push(e);for(var u=[];l.length>0;){var c=(e=l.pop()).vertices,h=e.adjacent,f=c.indexOf(r);if(!(f<0))for(var p=0;p<=n;++p)if(p!==f){var d=h[p];if(d.boundary&&!(d.lastVisited>=r)){var g=d.vertices;if(d.lastVisited!==-r){for(var v=0,m=0;m<=n;++m)g[m]<0?(v=m,a[m]=t):a[m]=i[g[m]];if(this.orient()>0){g[v]=r,d.boundary=!1,o.push(d),l.push(d),d.lastVisited=r;continue}d.lastVisited=-r}var y=d.adjacent,x=c.slice(),b=h.slice(),_=new eO(x,b,!0);s.push(_);var w=y.indexOf(e);if(!(w<0)){y[w]=_,b[f]=d,x[p]=-1,b[p]=e,h[p]=_,_.flip();for(m=0;m<=n;++m){var M=x[m];if(!(M<0||M===r)){for(var A=new Array(n-1),k=0,T=0;T<=n;++T){var S=x[T];S<0||T===m||(A[k++]=S)}u.push(new rO(A,_,m))}}}}}}u.sort(nO);for(p=0;p+1<u.length;p+=2){var E=u[p],C=u[p+1],L=E.index,z=C.index;L<0||z<0||(E.cell.adjacent[E.index]=C.cell,C.cell.adjacent[C.index]=E.cell)}},oO.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},oO.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,u=0,c=0;c<=t;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e};var sO=function(t,e){var r=t.length;if(0===r)return[];var n=t[0].length;if(n<1)return[];if(1===n)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 i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var i=new Array(r),a=1,o=0;o<r;++o){for(var s=t[o],l=new Array(n+1),u=0,c=0;c<n;++c){var h=s[c];l[c]=h,u+=h*h}l[n]=u,i[o]=new lO(l,o),a=Math.max(u,a)}Qx(i,uO),r=i.length;for(var f=new Array(r+n+1),p=new Array(r+n+1),d=(n+1)*(n+1)*a,g=new Array(n+1),o=0;o<=n;++o)g[o]=0;g[n]=d,f[0]=g.slice(),p[0]=-1;for(var o=0;o<=n;++o){var l=g.slice();l[o]=1,f[o+1]=l,p[o+1]=-1}for(var o=0;o<r;++o){var v=i[o];f[o+n+1]=v.point,p[o+n+1]=v.index}var m=$D(f,!1);m=e?m.filter(function(t){for(var e=0,r=0;r<=n;++r){var i=p[t[r]];if(i<0&&++e>=2)return!1;t[r]=i}return!0}):m.filter(function(t){for(var e=0;e<=n;++e){var r=p[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&n)for(var o=0;o<m.length;++o){var v=m[o],l=v[0];v[0]=v[1],v[1]=l}return m};function lO(t,e){this.point=t,this.index=e}function uO(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}var cO=function(t,e){return sO(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return QD(n)*t<1})};var hO=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),h=0;for(n=0;n<u;++n)n!==r&&(c[h++]=l[n]);if(1&r){var f=c[1];c[1]=c[0],c[0]=f}}}return o};var fO=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};var pO=function(t,e){var r=t.length,n=t.length-e.length;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||dO(t[0],t[1])-dO(e[0],e[1]);case 3:var i=t[0]+t[1],a=e[0]+e[1];if(n=i+t[2]-(a+e[2]))return n;var o=dO(t[0],t[1]),s=dO(e[0],e[1]);return dO(o,t[2])-dO(s,e[2])||dO(o+t[2],i)-dO(s+e[2],a);case 4:var l=t[0],u=t[1],c=t[2],h=t[3],f=e[0],p=e[1],d=e[2],g=e[3];return l+u+c+h-(f+p+d+g)||dO(l,u,c,h)-dO(f,p,d,g,f)||dO(l+u,l+c,l+h,u+c,u+h,c+h)-dO(f+p,f+d,f+g,p+d,p+g,d+g)||dO(l+u+c,l+u+h,l+c+h,u+c+h)-dO(f+p+d,f+p+g,f+d+g,p+d+g);default:for(var v=t.slice().sort(gO),m=e.slice().sort(gO),y=0;y<r;++y)if(n=v[y]-m[y])return n;return 0}},dO=Math.min;function gO(t,e){return t-e}var vO=function(t,e){return pO(t,e)||fO(t)-fO(e)};var mO=function(t){t.sort(vO);for(var e=t.length,r=0,n=0;n<e;++n){var i=t[n],a=fO(i);if(0!==a){if(r>0){var o=t[r-1];if(0===pO(i,o)&&fO(o)!==a){r-=1;continue}}t[r++]=i}}return t.length=r,t};var yO=function(t){return mO(hO(t))};var xO=function(t,e){return yO(cO(t,e))};var bO=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]]};var _O=function(t){var e=t.length;if(e<3){for(var r=new Array(e),n=0;n<e;++n)r[n]=n;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var i=new Array(e),n=0;n<e;++n)i[n]=n;i.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var a=[i[0],i[1]],o=[i[0],i[1]],n=2;n<e;++n){for(var s=i[n],l=t[s],u=a.length;u>1&&wO(t[a[u-2]],t[a[u-1]],l)<=0;)u-=1,a.pop();for(a.push(s),u=o.length;u>1&&wO(t[o[u-2]],t[o[u-1]],l)>=0;)u-=1,o.pop();o.push(s)}for(var r=new Array(o.length+a.length-2),c=0,n=0,h=a.length;n<h;++n)r[c++]=a[n];for(var f=o.length-2;f>0;--f)r[c++]=o[f];return r},wO=PM[3];var MO=function(t){var e=_O(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),i=e[r-1],a=0;a<r;++a){var o=e[a];n[a]=[i,o],i=o}return n};var AO=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],a=1;a<e;++a)if(n.push(t[a]),kO(n,r)){if(i.push(a),i.length===r+1)return i}else n.pop();return i};function kO(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(n=0;n<=t.length;++n){for(var i=t.length;i<=e;++i){for(var a=new Array(e),o=0;o<e;++o)a[o]=Math.pow(i+1-n,o);r[i]=a}if(PM.apply(void 0,r))return!0}return!1}var TO=function(t,e){try{return $D(t,!0)}catch(a){var r=AO(t);if(r.length<=e)return[];var n=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r),i=$D(n,!0);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(i,r)}};var SO=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 bO(t);if(2===r)return MO(t);return TO(t,r)};var EO={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]}]};var CO=function(t,e,r){return t*(1-r)+e*r},LO=function(t){var e,r,n,i,a,o,s,l,u,c;t||(t={});l=(t.nshades||72)-1,s=t.format||\\\"hex\\\",(o=t.colormap)||(o=\\\"jet\\\");if(\\\"string\\\"==typeof o){if(o=o.toLowerCase(),!EO[o])throw Error(o+\\\" not a supported colorscale\\\");a=EO[o]}else{if(!Array.isArray(o))throw Error(\\\"unsupported colormap option\\\",o);a=o.slice()}if(a.length>l)throw new Error(o+\\\" map requires nshades to be at least size \\\"+a.length);u=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\\\"number\\\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=a.map(function(t){return Math.round(t.index*l)}),u[0]=Math.min(Math.max(u[0],0),1),u[1]=Math.min(Math.max(u[1],0),1);var h=a.map(function(t,e){var r=a[e].index,n=a[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=u[0]+(u[1]-u[0])*r,n)}),f=[];for(c=0;c<e.length-1;++c){i=e[c+1]-e[c],r=h[c],n=h[c+1];for(var p=0;p<i;p++){var d=p/i;f.push([Math.round(CO(r[0],n[0],d)),Math.round(CO(r[1],n[1],d)),Math.round(CO(r[2],n[2],d)),CO(r[3],n[3],d)])}}f.push(a[a.length-1].rgb.concat(u[1])),\\\"hex\\\"===s?f=f.map(PO):\\\"rgbaString\\\"===s?f=f.map(IO):\\\"float\\\"===s&&(f=f.map(zO));return f};function zO(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function PO(t){for(var e,r=\\\"#\\\",n=0;n<3;++n)r+=(\\\"00\\\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function IO(t){return\\\"rgba(\\\"+t.join(\\\",\\\")+\\\")\\\"}var DO=function(t,e){for(var r=e.length,n=new Array(r+1),i=0;i<r;++i){for(var a=new Array(r+1),o=0;o<=r;++o)a[o]=t[o][i];n[i]=a}n[r]=new Array(r+1);for(var i=0;i<=r;++i)n[r][i]=1;for(var s=new Array(r+1),i=0;i<r;++i)s[i]=e[i];s[r]=1;var l=HD(n,s),u=OO(l[r+1]);0===u&&(u=1);for(var c=new Array(r+1),i=0;i<=r;++i)c[i]=OO(l[i])/u;return c};function OO(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}var RO=new Float64Array(4),FO=new Float64Array(4),BO=new Float64Array(4);var NO=function(t,e,r,n,i){RO.length<n.length&&(RO=new Float64Array(n.length),FO=new Float64Array(n.length),BO=new Float64Array(n.length));for(var a=0;a<n.length;++a)RO[a]=t[a]-n[a],FO[a]=e[a]-t[a],BO[a]=r[a]-t[a];var o=0,s=0,l=0,u=0,c=0,h=0;for(a=0;a<n.length;++a){var f=FO[a],p=BO[a],d=RO[a];o+=f*f,s+=f*p,l+=p*p,u+=d*f,c+=d*p,h+=d*d}var g,v,m,y,x,b=Math.abs(o*l-s*s),_=s*c-l*u,w=s*u-o*c;if(_+w<=b)if(_<0)w<0&&u<0?(w=0,-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h):(_=0,c>=0?(w=0,g=h):-c>=l?(w=1,g=l+2*c+h):g=c*(w=-c/l)+h);else if(w<0)w=0,u>=0?(_=0,g=h):-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h;else{var M=1/b;g=(_*=M)*(o*_+s*(w*=M)+2*u)+w*(s*_+l*w+2*c)+h}else _<0?(m=l+c)>(v=s+u)?(y=m-v)>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h:(_=0,m<=0?(w=1,g=l+2*c+h):c>=0?(w=0,g=h):g=c*(w=-c/l)+h):w<0?(m=o+u)>(v=s+c)?(y=m-v)>=(x=o-2*s+l)?(w=1,_=0,g=l+2*c+h):g=(_=1-(w=y/x))*(o*_+s*w+2*u)+w*(s*_+l*w+2*c)+h:(w=0,m<=0?(_=1,g=o+2*u+h):u>=0?(_=0,g=h):g=u*(_=-u/o)+h):(y=l+c-s-u)<=0?(_=0,w=1,g=l+2*c+h):y>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h;var A=1-_-w;for(a=0;a<n.length;++a)i[a]=A*t[a]+_*e[a]+w*r[a];return g<0?0:g},jO=function(t,e,r,n,i,a){if(1===t.length)return[0,t[0].slice()];for(var o=new Array(t.length),s=0;s<t.length;++s)o[s]=UO(t[s],r,n,i,a);for(var l=0,u=1/0,s=0;s<o.length;++s){for(var c=0,h=0;h<2;++h)c+=Math.pow(o[s][h]-e[h],2);c<u&&(u=c,l=s)}for(var f=function(t,e){if(2===t.length){for(var r=0,n=0,i=0;i<2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n<1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var a=[0,0];return NO(t[0],t[1],t[2],e,a),DO(t,a)}return[]}(o,e),p=0,s=0;s<3;++s){if(f[s]<-.001||f[s]>1.0001)return null;p+=f[s]}if(Math.abs(p-1)>.001)return null;return[l,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,f),f]};function VO(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function UO(t,e,r,n,i){for(var a=VO(n,VO(r,VO(e,[t[0],t[1],t[2],1]))),o=0;o<3;++o)a[o]/=a[3];return[.5*i[0]*(1+a[0]),.5*i[1]*(1-a[1])]}var qO={},HO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec3 position, normal;\\\\nattribute vec4 color;\\\\nattribute vec2 uv;\\\\n\\\\nuniform mat4 model\\\\n           , view\\\\n           , projection;\\\\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\\\\nvoid main() {\\\\n  vec4 m_position  = model * vec4(position, 1.0);\\\\n  vec4 t_position  = view * m_position;\\\\n  gl_Position      = projection * t_position;\\\\n  f_color          = color;\\\\n  f_normal         = normal;\\\\n  f_data           = position;\\\\n  f_eyeDirection   = eyePosition   - position;\\\\n  f_lightDirection = lightPosition - position;\\\\n  f_uv             = uv;\\\\n}\\\"]),GO=E_([\\\"precision mediump 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\\\\nuniform vec3 clipBounds[2];\\\\nuniform float roughness\\\\n            , fresnel\\\\n            , kambient\\\\n            , kdiffuse\\\\n            , kspecular\\\\n            , opacity;\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = 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}\\\"]),WO=E_([\\\"precision mediump 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}\\\"]),YO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\\\n}\\\"]),XO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\"]),ZO=E_([\\\"precision mediump 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}\\\"]),JO=E_([\\\"precision mediump 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}\\\"]),KO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3  clipBounds[2];\\\\nuniform float pickId;\\\\n\\\\nvarying vec3 f_position;\\\\nvarying vec4 f_id;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(f_position, clipBounds[0])) || \\\\n     any(greaterThan(f_position, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\\\n}\\\"]),QO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\"]),$O=E_([\\\"precision mediump 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}\\\"]),tR=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 contourColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(contourColor,1);\\\\n}\\\\n\\\"]);qO.meshShader={vertex:HO,fragment:GO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},qO.wireShader={vertex:WO,fragment:YO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},qO.pointShader={vertex:XO,fragment:ZO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"}]},qO.pickShader={vertex:JO,fragment:KO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},qO.pointPickShader={vertex:QO,fragment:KO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},qO.contourShader={vertex:$O,fragment:tR,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"}]};var eR={};eR.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,u=s[s.length-1],c=s[0],h=0;h<s.length;++h){l=u,u=c,c=s[(h+1)%s.length];for(var f=e[l],p=e[u],d=e[c],g=new Array(3),v=0,m=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],v+=g[x]*g[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(v*y>a){var b=i[u],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(m[w]*g[M]-m[M]*g[w])}}}for(o=0;o<n;++o){b=i[o];var A=0;for(x=0;x<3;++x)A+=b[x]*b[x];if(A>a)for(_=1/Math.sqrt(A),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},eR.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),u=0;u<3;++u)l[u]=e[s[u]];var c=new Array(3),h=new Array(3);for(u=0;u<3;++u)c[u]=l[1][u]-l[0][u],h[u]=l[2][u]-l[0][u];var f=new Array(3),p=0;for(u=0;u<3;++u){var d=(u+1)%3,g=(u+2)%3;f[u]=c[d]*h[g]-c[g]*h[d],p+=f[u]*f[u]}p=p>a?1/Math.sqrt(p):0;for(u=0;u<3;++u)f[u]*=p;i[o]=f}return i};var rR=32;function nR(t){switch(t){case\\\"uint8\\\":return[__.mallocUint8,__.freeUint8];case\\\"uint16\\\":return[__.mallocUint16,__.freeUint16];case\\\"uint32\\\":return[__.mallocUint32,__.freeUint32];case\\\"int8\\\":return[__.mallocInt8,__.freeInt8];case\\\"int16\\\":return[__.mallocInt16,__.freeInt16];case\\\"int32\\\":return[__.mallocInt32,__.freeInt32];case\\\"float32\\\":return[__.mallocFloat,__.freeFloat];case\\\"float64\\\":return[__.mallocDouble,__.freeDouble];default:return null}}function iR(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}var aR=function(t,e){var r=[\\\"'use strict'\\\"],n=[\\\"ndarraySortWrapper\\\",t.join(\\\"d\\\"),e].join(\\\"\\\");r.push([\\\"function \\\",n,\\\"(\\\",[\\\"array\\\"].join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var i=[\\\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\\\"],a=0;a<t.length;++a)i.push([\\\"s\\\",a,\\\"=stride[\\\",a,\\\"]|0,n\\\",a,\\\"=shape[\\\",a,\\\"]|0\\\"].join(\\\"\\\"));var o=new Array(t.length),s=[];for(a=0;a<t.length;++a)0!==(c=t[a])&&(0===s.length?o[c]=\\\"1\\\":o[c]=s.join(\\\"*\\\"),s.push(\\\"n\\\"+c));var l=-1,u=-1;for(a=0;a<t.length;++a){var c,h=t[a];0!==h&&(l>0?i.push([\\\"d\\\",h,\\\"=s\\\",h,\\\"-d\\\",l,\\\"*n\\\",l].join(\\\"\\\")):i.push([\\\"d\\\",h,\\\"=s\\\",h].join(\\\"\\\")),l=h),0!=(c=t.length-1-a)&&(u>0?i.push([\\\"e\\\",c,\\\"=s\\\",c,\\\"-e\\\",u,\\\"*n\\\",u,\\\",f\\\",c,\\\"=\\\",o[c],\\\"-f\\\",u,\\\"*n\\\",u].join(\\\"\\\")):i.push([\\\"e\\\",c,\\\"=s\\\",c,\\\",f\\\",c,\\\"=\\\",o[c]].join(\\\"\\\")),u=c)}r.push(\\\"var \\\"+i.join(\\\",\\\"));var f=[\\\"0\\\",\\\"n0-1\\\",\\\"data\\\",\\\"offset\\\"].concat(iR(t.length));r.push([\\\"if(n0<=\\\",rR,\\\"){\\\",\\\"insertionSort(\\\",f.join(\\\",\\\"),\\\")}else{\\\",\\\"quickSort(\\\",f.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),r.push(\\\"}return \\\"+n);var p=new Function(\\\"insertionSort\\\",\\\"quickSort\\\",r.join(\\\"\\\\n\\\")),d=function(t,e){var r=[\\\"'use strict'\\\"],n=[\\\"ndarrayInsertionSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),i=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(iR(t.length)),a=nR(e),o=[\\\"i,j,cptr,ptr=left*s0+offset\\\"];if(t.length>1){for(var s=[],l=1;l<t.length;++l)o.push(\\\"i\\\"+l),s.push(\\\"n\\\"+l);a?o.push(\\\"scratch=malloc(\\\"+s.join(\\\"*\\\")+\\\")\\\"):o.push(\\\"scratch=new Array(\\\"+s.join(\\\"*\\\")+\\\")\\\"),o.push(\\\"dptr\\\",\\\"sptr\\\",\\\"a\\\",\\\"b\\\")}else o.push(\\\"scratch\\\");function u(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function c(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}if(r.push([\\\"function \\\",n,\\\"(\\\",i.join(\\\",\\\"),\\\"){var \\\",o.join(\\\",\\\")].join(\\\"\\\"),\\\"for(i=left+1;i<=right;++i){\\\",\\\"j=i;ptr+=s0\\\",\\\"cptr=ptr\\\"),t.length>1){for(r.push(\\\"dptr=0;sptr=ptr\\\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\\\"for(i\\\",h,\\\"=0;i\\\",h,\\\"<n\\\",h,\\\";++i\\\",h,\\\"){\\\"].join(\\\"\\\"));for(r.push(\\\"scratch[dptr++]=\\\",u(\\\"sptr\\\")),l=0;l<t.length;++l)0!==(h=t[l])&&r.push(\\\"sptr+=d\\\"+h,\\\"}\\\");for(r.push(\\\"__g:while(j--\\\\x3eleft){\\\",\\\"dptr=0\\\",\\\"sptr=cptr-s0\\\"),l=1;l<t.length;++l)1===l&&r.push(\\\"__l:\\\"),r.push([\\\"for(i\\\",l,\\\"=0;i\\\",l,\\\"<n\\\",l,\\\";++i\\\",l,\\\"){\\\"].join(\\\"\\\"));for(r.push([\\\"a=\\\",u(\\\"sptr\\\"),\\\"\\\\nb=scratch[dptr]\\\\nif(a<b){break __g}\\\\nif(a>b){break __l}\\\"].join(\\\"\\\")),l=t.length-1;l>=1;--l)r.push(\\\"sptr+=e\\\"+l,\\\"dptr+=f\\\"+l,\\\"}\\\");for(r.push(\\\"dptr=cptr;sptr=cptr-s0\\\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\\\"for(i\\\",h,\\\"=0;i\\\",h,\\\"<n\\\",h,\\\";++i\\\",h,\\\"){\\\"].join(\\\"\\\"));for(r.push(c(\\\"dptr\\\",u(\\\"sptr\\\"))),l=0;l<t.length;++l)0!==(h=t[l])&&r.push([\\\"dptr+=d\\\",h,\\\";sptr+=d\\\",h].join(\\\"\\\"),\\\"}\\\");for(r.push(\\\"cptr-=s0\\\\n}\\\"),r.push(\\\"dptr=cptr;sptr=0\\\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\\\"for(i\\\",h,\\\"=0;i\\\",h,\\\"<n\\\",h,\\\";++i\\\",h,\\\"){\\\"].join(\\\"\\\"));for(r.push(c(\\\"dptr\\\",\\\"scratch[sptr++]\\\")),l=0;l<t.length;++l){var h;0!==(h=t[l])&&r.push(\\\"dptr+=d\\\"+h,\\\"}\\\")}}else r.push(\\\"scratch=\\\"+u(\\\"ptr\\\"),\\\"while((j--\\\\x3eleft)&&(\\\"+u(\\\"cptr-s0\\\")+\\\">scratch)){\\\",c(\\\"cptr\\\",u(\\\"cptr-s0\\\")),\\\"cptr-=s0\\\",\\\"}\\\",c(\\\"cptr\\\",\\\"scratch\\\"));return r.push(\\\"}\\\"),t.length>1&&a&&r.push(\\\"free(scratch)\\\"),r.push(\\\"} return \\\"+n),a?new Function(\\\"malloc\\\",\\\"free\\\",r.join(\\\"\\\\n\\\"))(a[0],a[1]):new Function(r.join(\\\"\\\\n\\\"))()}(t,e);return p(d,function(t,e,r){var n=[\\\"'use strict'\\\"],i=[\\\"ndarrayQuickSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),a=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(iR(t.length)),o=nR(e),s=0;n.push([\\\"function \\\",i,\\\"(\\\",a.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));var l=[\\\"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 u=[],c=1;c<t.length;++c)u.push(\\\"n\\\"+c),l.push(\\\"i\\\"+c);for(c=0;c<8;++c)l.push(\\\"b_ptr\\\"+c);l.push(\\\"ptr3\\\",\\\"ptr4\\\",\\\"ptr5\\\",\\\"ptr6\\\",\\\"ptr7\\\",\\\"pivot_ptr\\\",\\\"ptr_shift\\\",\\\"elementSize=\\\"+u.join(\\\"*\\\")),o?l.push(\\\"pivot1=malloc(elementSize)\\\",\\\"pivot2=malloc(elementSize)\\\"):l.push(\\\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\\\")}else l.push(\\\"pivot1\\\",\\\"pivot2\\\");function h(t){return[\\\"(offset+\\\",t,\\\"*s0)\\\"].join(\\\"\\\")}function f(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function p(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}function d(e,r,i){if(1===e.length)n.push(\\\"ptr0=\\\"+h(e[0]));else for(var a=0;a<e.length;++a)n.push([\\\"b_ptr\\\",a,\\\"=s0*\\\",e[a]].join(\\\"\\\"));for(r&&n.push(\\\"pivot_ptr=0\\\"),n.push(\\\"ptr_shift=offset\\\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\\\"ptr\\\",a,\\\"=b_ptr\\\",a,\\\"+ptr_shift\\\"].join(\\\"\\\"));for(n.push(i),r&&n.push(\\\"++pivot_ptr\\\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\\\"ptr_shift+=d\\\"+o):n.push(\\\"ptr0+=d\\\"+o),n.push(\\\"}\\\"))}}function g(e,r,i,a){if(1===r.length)n.push(\\\"ptr0=\\\"+h(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\\\")}for(i&&n.push(\\\"pivot_ptr=0\\\"),e&&n.push(e+\\\":\\\"),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(\\\"\\\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&n.push(\\\"pivot_ptr+=f\\\"+o),r.length>1?n.push(\\\"ptr_shift+=e\\\"+o):n.push(\\\"ptr0+=e\\\"+o),n.push(\\\"}\\\")}function v(){t.length>1&&o&&n.push(\\\"free(pivot1)\\\",\\\"free(pivot2)\\\")}function m(e,r){var i=\\\"el\\\"+e,a=\\\"el\\\"+r;if(t.length>1){var o=\\\"__l\\\"+ ++s;g(o,[i,a],!1,[\\\"comp=\\\",f(\\\"ptr0\\\"),\\\"-\\\",f(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"if(comp>0){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=tmp0;break \\\",o,\\\"}\\\\n\\\",\\\"if(comp<0){break \\\",o,\\\"}\\\"].join(\\\"\\\"))}else n.push([\\\"if(\\\",f(h(i)),\\\">\\\",f(h(a)),\\\"){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=tmp0}\\\"].join(\\\"\\\"))}function y(e,r){t.length>1?d([e,r],!1,p(\\\"ptr0\\\",f(\\\"ptr1\\\"))):n.push(p(h(e),f(h(r))))}function x(e,r,i){if(t.length>1){var a=\\\"__l\\\"+ ++s;g(a,[r],!0,[e,\\\"=\\\",f(\\\"ptr0\\\"),\\\"-pivot\\\",i,\\\"[pivot_ptr]\\\\n\\\",\\\"if(\\\",e,\\\"!==0){break \\\",a,\\\"}\\\"].join(\\\"\\\"))}else n.push([e,\\\"=\\\",f(h(r)),\\\"-pivot\\\",i].join(\\\"\\\"))}function b(e,r){t.length>1?d([e,r],!1,[\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\")):n.push([\\\"ptr0=\\\",h(e),\\\"\\\\n\\\",\\\"ptr1=\\\",h(r),\\\"\\\\n\\\",\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\"))}function _(e,r,i){t.length>1?(d([e,r,i],!1,[\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",f(\\\"ptr2\\\")),\\\"\\\\n\\\",p(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\")),n.push(\\\"++\\\"+r,\\\"--\\\"+i)):n.push([\\\"ptr0=\\\",h(e),\\\"\\\\n\\\",\\\"ptr1=\\\",h(r),\\\"\\\\n\\\",\\\"ptr2=\\\",h(i),\\\"\\\\n\\\",\\\"++\\\",r,\\\"\\\\n\\\",\\\"--\\\",i,\\\"\\\\n\\\",\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",f(\\\"ptr2\\\")),\\\"\\\\n\\\",p(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\"))}function w(t,e){b(t,e),n.push(\\\"--\\\"+e)}function M(e,r,i){t.length>1?d([e,r],!0,[p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",[\\\"pivot\\\",i,\\\"[pivot_ptr]\\\"].join(\\\"\\\"))].join(\\\"\\\")):n.push(p(h(e),f(h(r))),p(h(r),\\\"pivot\\\"+i))}function A(e,r){n.push([\\\"if((\\\",r,\\\"-\\\",e,\\\")<=\\\",rR,\\\"){\\\\n\\\",\\\"insertionSort(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",iR(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}else{\\\\n\\\",i,\\\"(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",iR(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}\\\"].join(\\\"\\\"))}function k(e,r,i){t.length>1?(n.push([\\\"__l\\\",++s,\\\":while(true){\\\"].join(\\\"\\\")),d([e],!0,[\\\"if(\\\",f(\\\"ptr0\\\"),\\\"!==pivot\\\",r,\\\"[pivot_ptr]){break __l\\\",s,\\\"}\\\"].join(\\\"\\\")),n.push(i,\\\"}\\\")):n.push([\\\"while(\\\",f(h(e)),\\\"===pivot\\\",r,\\\"){\\\",i,\\\"}\\\"].join(\\\"\\\"))}return n.push(\\\"var \\\"+l.join(\\\",\\\")),m(1,2),m(4,5),m(1,3),m(2,3),m(1,4),m(3,4),m(2,5),m(2,3),m(4,5),t.length>1?d([\\\"el1\\\",\\\"el2\\\",\\\"el3\\\",\\\"el4\\\",\\\"el5\\\",\\\"index1\\\",\\\"index3\\\",\\\"index5\\\"],!0,[\\\"pivot1[pivot_ptr]=\\\",f(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"pivot2[pivot_ptr]=\\\",f(\\\"ptr3\\\"),\\\"\\\\n\\\",\\\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\\\n\\\",\\\"x=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",\\\"y=\\\",f(\\\"ptr2\\\"),\\\"\\\\n\\\",\\\"z=\\\",f(\\\"ptr4\\\"),\\\"\\\\n\\\",p(\\\"ptr5\\\",\\\"x\\\"),\\\"\\\\n\\\",p(\\\"ptr6\\\",\\\"y\\\"),\\\"\\\\n\\\",p(\\\"ptr7\\\",\\\"z\\\")].join(\\\"\\\")):n.push([\\\"pivot1=\\\",f(h(\\\"el2\\\")),\\\"\\\\n\\\",\\\"pivot2=\\\",f(h(\\\"el4\\\")),\\\"\\\\n\\\",\\\"pivots_are_equal=pivot1===pivot2\\\\n\\\",\\\"x=\\\",f(h(\\\"el1\\\")),\\\"\\\\n\\\",\\\"y=\\\",f(h(\\\"el3\\\")),\\\"\\\\n\\\",\\\"z=\\\",f(h(\\\"el5\\\")),\\\"\\\\n\\\",p(h(\\\"index1\\\"),\\\"x\\\"),\\\"\\\\n\\\",p(h(\\\"index3\\\"),\\\"y\\\"),\\\"\\\\n\\\",p(h(\\\"index5\\\"),\\\"z\\\")].join(\\\"\\\")),y(\\\"index2\\\",\\\"left\\\"),y(\\\"index4\\\",\\\"right\\\"),n.push(\\\"if(pivots_are_equal){\\\"),n.push(\\\"for(k=less;k<=great;++k){\\\"),x(\\\"comp\\\",\\\"k\\\",1),n.push(\\\"if(comp===0){continue}\\\"),n.push(\\\"if(comp<0){\\\"),n.push(\\\"if(k!==less){\\\"),b(\\\"k\\\",\\\"less\\\"),n.push(\\\"}\\\"),n.push(\\\"++less\\\"),n.push(\\\"}else{\\\"),n.push(\\\"while(true){\\\"),x(\\\"comp\\\",\\\"great\\\",1),n.push(\\\"if(comp>0){\\\"),n.push(\\\"great--\\\"),n.push(\\\"}else if(comp<0){\\\"),_(\\\"k\\\",\\\"less\\\",\\\"great\\\"),n.push(\\\"break\\\"),n.push(\\\"}else{\\\"),w(\\\"k\\\",\\\"great\\\"),n.push(\\\"break\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}else{\\\"),n.push(\\\"for(k=less;k<=great;++k){\\\"),x(\\\"comp_pivot1\\\",\\\"k\\\",1),n.push(\\\"if(comp_pivot1<0){\\\"),n.push(\\\"if(k!==less){\\\"),b(\\\"k\\\",\\\"less\\\"),n.push(\\\"}\\\"),n.push(\\\"++less\\\"),n.push(\\\"}else{\\\"),x(\\\"comp_pivot2\\\",\\\"k\\\",2),n.push(\\\"if(comp_pivot2>0){\\\"),n.push(\\\"while(true){\\\"),x(\\\"comp\\\",\\\"great\\\",2),n.push(\\\"if(comp>0){\\\"),n.push(\\\"if(--great<k){break}\\\"),n.push(\\\"continue\\\"),n.push(\\\"}else{\\\"),x(\\\"comp\\\",\\\"great\\\",1),n.push(\\\"if(comp<0){\\\"),_(\\\"k\\\",\\\"less\\\",\\\"great\\\"),n.push(\\\"}else{\\\"),w(\\\"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),A(\\\"left\\\",\\\"(less-2)\\\"),A(\\\"(great+2)\\\",\\\"right\\\"),n.push(\\\"if(pivots_are_equal){\\\"),v(),n.push(\\\"return\\\"),n.push(\\\"}\\\"),n.push(\\\"if(less<index1&&great>index5){\\\"),k(\\\"less\\\",1,\\\"++less\\\"),k(\\\"great\\\",2,\\\"--great\\\"),n.push(\\\"for(k=less;k<=great;++k){\\\"),x(\\\"comp_pivot1\\\",\\\"k\\\",1),n.push(\\\"if(comp_pivot1===0){\\\"),n.push(\\\"if(k!==less){\\\"),b(\\\"k\\\",\\\"less\\\"),n.push(\\\"}\\\"),n.push(\\\"++less\\\"),n.push(\\\"}else{\\\"),x(\\\"comp_pivot2\\\",\\\"k\\\",2),n.push(\\\"if(comp_pivot2===0){\\\"),n.push(\\\"while(true){\\\"),x(\\\"comp\\\",\\\"great\\\",2),n.push(\\\"if(comp===0){\\\"),n.push(\\\"if(--great<k){break}\\\"),n.push(\\\"continue\\\"),n.push(\\\"}else{\\\"),x(\\\"comp\\\",\\\"great\\\",1),n.push(\\\"if(comp<0){\\\"),_(\\\"k\\\",\\\"less\\\",\\\"great\\\"),n.push(\\\"}else{\\\"),w(\\\"k\\\",\\\"great\\\"),n.push(\\\"}\\\"),n.push(\\\"break\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),v(),A(\\\"less\\\",\\\"great\\\"),n.push(\\\"}return \\\"+i),t.length>1&&o?new Function(\\\"insertionSort\\\",\\\"malloc\\\",\\\"free\\\",n.join(\\\"\\\\n\\\"))(r,o[0],o[1]):new Function(\\\"insertionSort\\\",n.join(\\\"\\\\n\\\"))(r)}(t,e,d))},oR={};var sR=function(t){var e=t.order,r=t.dtype,n=[e,r].join(\\\":\\\"),i=oR[n];return i||(oR[n]=i=aR(e,r)),i(t),t},lR=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=cR(t,n);return r};function uR(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function cR(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],n=[],i=0;i<=t;++i)if(e&1<<i){r.push(uR(t,i-1,i-1)),n.push(null);for(var a=0;a<=t;++a)~e&1<<a&&(r.push(uR(t,i-1,a-1)),n.push([i,a]))}var o=SO(r),s=[];t:for(i=0;i<o.length;++i){var l=o[i],u=[];for(a=0;a<l.length;++a){if(!n[l[a]])continue t;u.push(n[l[a]].slice())}s.push(u)}return s}var hR=function(t){var e=fR[t];e||(e=fR[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var n=1;n<=t;++n)for(var i=r[n]=lR(n),a=0;a<i.length;++a)e=Math.max(e,i[n].length);var o=[\\\"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 s(t){if(!(t.length<=0)){o.push(\\\"R.push(\\\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&o.push(\\\",\\\"),o.push(\\\"[\\\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&o.push(\\\",\\\"),o.push(\\\"B(C,E,c[\\\",i[0],\\\"],c[\\\",i[1],\\\"])\\\")}o.push(\\\"]\\\")}o.push(\\\");\\\")}}for(var n=t+1;n>1;--n){n<t+1&&o.push(\\\"else \\\"),o.push(\\\"if(l===\\\",n,\\\"){\\\");for(var l=[],a=0;a<n;++a)l.push(\\\"(S[c[\\\"+a+\\\"]]<<\\\"+a+\\\")\\\");o.push(\\\"var M=\\\",l.join(\\\"+\\\"),\\\";if(M===0||M===\\\",(1<<n)-1,\\\"){continue}switch(M){\\\");for(var i=r[n-1],a=0;a<i.length;++a)o.push(\\\"case \\\",a,\\\":\\\"),s(i[a]),o.push(\\\"break;\\\");o.push(\\\"}}\\\")}return o.push(\\\"}return R;};return getContour\\\",t,\\\"d\\\"),new Function(\\\"pool\\\",o.join(\\\"\\\"))(__)}(t));return e},fR={};var pR=function(t,e,r,n){r=r||0,void 0===n&&(n=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||n<1)return{cells:[],vertexIds:[],vertexWeights:[]};var i=function(t,e){for(var r=t.length,n=__.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),a=function(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=__.mallocUint32(2*n),a=0,o=0;o<r;++o)for(var s=t[o],e=s.length,l=0;l<e;++l)for(var u=0;u<l;++u){var c=s[u],h=s[l];i[a++]=0|Math.min(c,h),i[a++]=0|Math.max(c,h)}sR(wb(i,[a/2|0,2]));for(var f=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[f++]=i[o],i[f++]=i[o+1]);return wb(i,[f/2|0,2])}(t,n),o=function(t,e,r,n){for(var i=t.data,a=t.shape[0],o=__.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],c=i[2*l+1];if(r[u]!==r[c]){var h=e[u],f=e[c];i[2*s]=u,i[2*s+1]=c,o[s++]=(f-n)/(f-h)}}return t.shape[0]=s,wb(o,[s])}(a,e,i,+r),s=function(t,e){var r=__.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var a=0,o=0;o<n;++o){var s=i[2*o];if(s!==a){for(r[2*a+1]=o;++a<s;)r[2*a]=o,r[2*a+1]=o;r[2*a]=o}}r[2*a+1]=n;for(;++a<e;)r[2*a]=r[2*a+1]=n;return r}(a,0|e.length),l=hR(n)(t,a.data,s,i),u=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(a),c=[].slice.call(o.data,0,o.shape[0]);return __.free(i),__.free(a.data),__.free(o.data),__.free(s),{cells:l,vertexIds:u,vertexWeights:c}};var dR=qO.meshShader,gR=qO.wireShader,vR=qO.pointShader,mR=qO.pickShader,yR=qO.pointPickShader,xR=qO.contourShader,bR=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function _R(t,e,r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=w,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=k,this.contourVAO=T,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=bR,this._view=bR,this._projection=bR,this._resolution=[1,1]}var wR=_R.prototype;function MR(t){var e=Bw(t,vR.vertex,vR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function AR(t){var e=Bw(t,mR.vertex,mR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function kR(t){var e=Bw(t,yR.vertex,yR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function TR(t){var e=Bw(t,xR.vertex,xR.fragment);return e.attributes.position.location=0,e}wR.isOpaque=function(){return this.opacity>=1},wR.isTransparent=function(){return this.opacity<1},wR.pickSlots=1,wR.setPickBase=function(t){this.pickId=t},wR.highlight=function(t){if(t&&this.contourEnable){for(var e=pR(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=__.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var h=u[0];2===u.length&&(h=u[c]);for(var f=n[h][0],p=n[h][1],d=i[h],g=1-d,v=this.positions[f],m=this.positions[p],y=0;y<3;++y)o[s++]=d*v[y]+g*m[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),__.free(o)}else this.contourCount=0},wR.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),\\\"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),t.texture?(this.texture.dispose(),this.texture=zE(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){for(var e=LO({colormap:t,nshades:256,format:\\\"rgba\\\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return wb(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],o=[],s=[],l=[],u=[],c=[],h=[],f=[],p=[],d=[],g=[],v=[],m=[];this.cells=r,this.positions=n;var y=t.vertexNormals,x=t.cellNormals,b=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,_=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!x&&(x=eR.faceNormals(r,n,_)),x||y||(y=eR.vertexNormals(r,n,b));var w=t.vertexColors,M=t.cellColors,A=t.meshColor||[1,1,1,1],k=t.vertexUVs,T=t.vertexIntensity,S=t.cellUVs,E=t.cellIntensity,C=1/0,L=-1/0;if(!k&&!S)if(T)if(t.vertexIntensityBounds)C=+t.vertexIntensityBounds[0],L=+t.vertexIntensityBounds[1];else for(var z=0;z<T.length;++z){var P=T[z];C=Math.min(C,P),L=Math.max(L,P)}else if(E)for(z=0;z<E.length;++z){P=E[z];C=Math.min(C,P),L=Math.max(L,P)}else for(z=0;z<n.length;++z){P=n[z][2];C=Math.min(C,P),L=Math.max(L,P)}this.intensity=T||(E?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,E):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var I=t.pointSizes,D=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(z=0;z<n.length;++z)for(var O=n[z],R=0;R<3;++R)!isNaN(O[R])&&isFinite(O[R])&&(this.bounds[0][R]=Math.min(this.bounds[0][R],O[R]),this.bounds[1][R]=Math.max(this.bounds[1][R],O[R]));var F=0,B=0,N=0;t:for(z=0;z<r.length;++z){var j=r[z];switch(j.length){case 1:for(O=n[U=j[0]],R=0;R<3;++R)if(isNaN(O[R])||!isFinite(O[R]))continue t;p.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?d.push(q[0],q[1],q[2],1):d.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],g.push(H[0],H[1]),I?v.push(I[U]):v.push(D),m.push(z),N+=1;break;case 2:for(R=0;R<2;++R){O=n[U=j[R]];for(var V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t}for(R=0;R<2;++R){O=n[U=j[R]];u.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?c.push(q[0],q[1],q[2],1):c.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],h.push(H[0],H[1]),f.push(z)}B+=1;break;case 3:for(R=0;R<3;++R)for(O=n[U=j[R]],V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t;for(R=0;R<3;++R){var U,q,H,G;O=n[U=j[R]];i.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?a.push(q[0],q[1],q[2],1):a.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],s.push(H[0],H[1]),G=y?y[U]:x[z],o.push(G[0],G[1],G[2]),l.push(z)}F+=1}}this.pointCount=N,this.edgeCount=B,this.triangleCount=F,this.pointPositions.update(p),this.pointColors.update(d),this.pointUVs.update(g),this.pointSizes.update(v),this.pointIds.update(new Uint32Array(m)),this.edgePositions.update(u),this.edgeColors.update(c),this.edgeUVs.update(h),this.edgeIds.update(new Uint32Array(f)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(s),this.triangleNormals.update(o),this.triangleIds.update(new Uint32Array(l))}},wR.drawTransparent=wR.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);Dz(l,s.view,s.model),Dz(l,s.projection,l),cz(l,l);for(o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];var u,c=l[15];for(o=0;o<3;++o)c+=this.lightPosition[o]*l[4*o+3];for(o=0;o<3;++o){for(var h=l[12+o],f=0;f<3;++f)h+=l[4*f+o]*this.lightPosition[f];s.lightPosition[o]=h/c}this.triangleCount>0&&((u=this.triShader).bind(),u.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((u=this.lineShader).bind(),u.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((u=this.pointShader).bind(),u.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((u=this.contourShader).bind(),u.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},wR.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,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),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())},wR.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,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=jO(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},wR.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()};var SR=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=function(t){var e=Bw(t,dR.vertex,dR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),n=function(t){var e=Bw(t,gR.vertex,gR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),i=MR(t),a=AR(t),o=kR(t),s=TR(t),l=zE(t,wb(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var u=S_(t),c=S_(t),h=S_(t),f=S_(t),p=S_(t),d=EP(t,[{buffer:u,type:t.FLOAT,size:3},{buffer:p,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:c,type:t.FLOAT,size:4},{buffer:h,type:t.FLOAT,size:2},{buffer:f,type:t.FLOAT,size:3}]),g=S_(t),v=S_(t),m=S_(t),y=S_(t),x=EP(t,[{buffer:g,type:t.FLOAT,size:3},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2}]),b=S_(t),_=S_(t),w=S_(t),M=S_(t),A=S_(t),k=EP(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2},{buffer:M,type:t.FLOAT,size:1}]),T=S_(t),S=new _R(t,l,r,n,i,a,o,s,u,p,c,h,f,d,g,y,v,m,x,b,A,_,w,M,k,T,EP(t,[{buffer:T,type:t.FLOAT,size:3}]));return S.update(e),S};function ER(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\\\"\\\",this.color=\\\"#fff\\\",this.data=null,this.showContour=!1}var CR=ER.prototype;function LR(t){return t.map(WC)}function zR(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}CR.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},CR.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=t;var i,a=zR(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)i=zR(t.i,t.j,t.k);else if(0===t.alphahull)i=SO(a);else if(t.alphahull>0)i=xO(t.alphahull,a);else{var o=[\\\"x\\\",\\\"y\\\",\\\"z\\\"].indexOf(t.delaunayaxis);i=sO(a.map(function(t){return[t[(o+1)%3],t[(o+2)%3]]}))}var l={positions:a,cells:i,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:WC(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\\\"#fff\\\",l.vertexIntensity=t.intensity,l.vertexIntensityBounds=[t.cmin,t.cmax],l.colormap=t.colorscale.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],l.vertexColors=LR(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],l.cellColors=LR(t.facecolor)):(this.color=t.color,l.meshColor=WC(t.color)),this.mesh.update(l)},CR.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var PR=function(t,e){var r=t.glplot.gl,n=SR({gl:r}),i=new ER(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i},IR={};IR.attributes=RD,IR.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,RD,r,n)}function a(t){var e=t.map(function(t){var e=i(t);return e&&ne.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var o=a([\\\"x\\\",\\\"y\\\",\\\"z\\\"]),s=a([\\\"i\\\",\\\"j\\\",\\\"k\\\"]);o?(s&&s.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lighting.vertexnormalsepsilon\\\",\\\"lighting.facenormalsepsilon\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"contour.show\\\",\\\"contour.color\\\",\\\"contour.width\\\",\\\"colorscale\\\",\\\"reversescale\\\",\\\"flatshading\\\",\\\"alphahull\\\",\\\"delaunayaxis\\\",\\\"opacity\\\"].forEach(function(t){i(t)}),\\\"intensity\\\"in t?(i(\\\"intensity\\\"),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"c\\\"})):(e.showscale=!1,\\\"facecolor\\\"in t?i(\\\"facecolor\\\"):\\\"vertexcolor\\\"in t?i(\\\"vertexcolor\\\"):i(\\\"color\\\",r)),i(\\\"text\\\")):e.visible=!1},IR.calc=function(t,e){e.intensity&&Ve(e,e.intensity,\\\"\\\",\\\"c\\\")},IR.colorbar=function(t,e){var n=e[0].trace,i=\\\"cb\\\"+n.uid,a=n.cmin,o=n.cmax,s=n.intensity||[];if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\\\".\\\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},IR.plot=PR,IR.moduleType=\\\"trace\\\",IR.name=\\\"mesh3d\\\",IR.basePlotModule=SD,IR.categories=[\\\"gl3d\\\"],IR.meta={};var DR=IR;function OR(t,e,r,n){Kl(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".line.dash\\\",e.line.dash)}var RR={},FR=ne._;function BR(t,e,r){var n={type:\\\"scatter\\\",mode:\\\"lines\\\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(\\\"all\\\"===e)return\\\"x+text+name\\\";var r=e.split(\\\"+\\\"),n=r.indexOf(\\\"y\\\"),i=r.indexOf(\\\"text\\\");-1!==n&&(r.splice(n,1),-1===i&&r.push(\\\"text\\\"));return r.join(\\\"+\\\")}(t),transforms:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}RR.moduleType=\\\"transform\\\",RR.name=\\\"ohlc\\\",RR.attributes={},RR.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},RR.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\\\"ohlc\\\"===i.type?r.push(BR(i,e,\\\"increasing\\\"),BR(i,e,\\\"decreasing\\\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},RR.calcTransform=function(t,e,n){var i,a=n.direction,o=Ql.getFilterFn(a),s=gn.getFromTrace(t,e,\\\"x\\\"),l=gn.getFromTrace(t,e,\\\"y\\\"),u=function(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var o,s=t._fullData,l=[];for(a=1/0,o=0;o<s.length;o++){var u=s[o]._fullInput;if(\\\"ohlc\\\"===u.type&&!0===u.visible&&u.xaxis===e._id&&(l.push(u),u.x&&u.x.length>1)){var c=ne.simpleMap(u.x,e.d2c,0,r.xcalendar),h=ne.distinctVals(c).minDiff;a=Math.min(a,h)}}for(a===1/0&&(a=1),o=0;o<l.length;o++)l[o]._minDiff=a}return a*i}(t,s,e),c=e.open,h=e.high,f=e.low,p=e.close,d=e.text,g=FR(t,\\\"open:\\\")+\\\" \\\",v=FR(t,\\\"high:\\\")+\\\" \\\",m=FR(t,\\\"low:\\\")+\\\" \\\",y=FR(t,\\\"close:\\\")+\\\" \\\",x=c.length,b=[],_=[],w=[];i=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=s.d2c(r,0,n);b.push(s.c2d(i-u,0,n),r,r,r,r,s.c2d(i+u,0,n),null)}:function(t){b.push(t-u,t,t,t,t,t+u,null)};for(var M,A,k,T,S=function(t,e){return ri.tickText(t,t.c2l(e),\\\"hover\\\").text},E=e._fullInput.hoverinfo,C=E.split(\\\"+\\\"),L=\\\"all\\\"===E,z=L||-1!==C.indexOf(\\\"y\\\"),P=L||-1!==C.indexOf(\\\"text\\\"),I=Array.isArray(d)?function(t){return d[t]||\\\"\\\"}:function(){return d},D=function(t,e,r,n,i){var a=[];z&&(a.push(g+S(l,e)),a.push(v+S(l,r)),a.push(m+S(l,n)),a.push(y+S(l,i))),P&&a.push(I(t));var o=a.join(\\\"<br>\\\");w.push(o,o,o,o,o,o,null)},O=0;O<x;O++)o(c[O],p[O])&&r(h[O])&&r(f[O])&&(i(O),M=c[O],A=h[O],k=f[O],T=p[O],_.push(M,M,A,k,T,T,null),D(O,c[O],h[O],f[O],p[O]));e.x=b,e.y=_,e.text=w,e._length=b.length};var NR={moduleType:\\\"trace\\\",name:\\\"ohlc\\\",basePlotModule:ua,categories:[\\\"cartesian\\\",\\\"showLegend\\\"],meta:{},attributes:Yl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Yl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\\\"line.width\\\"),i(\\\"line.dash\\\"),OR(t,e,i,\\\"increasing\\\"),OR(t,e,i,\\\"decreasing\\\"),i(\\\"text\\\"),i(\\\"tickwidth\\\")):e.visible=!1}};P.register(zx),P.register(RR);var jR,VR,UR=NR,qR=qc.attributes,HR=m.extendDeepAll,GR=m.extendFlat,WR={domain:qR({name:\\\"parcoords\\\",trace:!0,editType:\\\"calc\\\"}),labelfont:T({editType:\\\"calc\\\"}),tickfont:T({editType:\\\"calc\\\"}),rangefont:T({editType:\\\"calc\\\"}),dimensions:{_isLinkedToArray:\\\"dimension\\\",label:{valType:\\\"string\\\",editType:\\\"calc\\\"},tickvals:GR({},Ce.tickvals,{editType:\\\"calc\\\"}),ticktext:GR({},Ce.ticktext,{editType:\\\"calc\\\"}),tickformat:{valType:\\\"string\\\",dflt:\\\"3s\\\",editType:\\\"calc\\\"},visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},constraintrange:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},values:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\"},line:GR(HR(De(0,\\\"calc\\\"),{colorscale:{dflt:l.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:ze,editType:\\\"calc\\\"})},YR={exports:{}};function XR(t){return[t]}jR=this,VR=function(){function t(t,e){this.id=V++,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 i(t){var e,i,a,o,s=t||{};t={};var l=[],u=[],c=\\\"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?a=(o=s).canvas:(\\\"gl\\\"in s?o=s.gl:\\\"canvas\\\"in s?a=n(s.canvas):\\\"container\\\"in s&&(i=n(s.container)),\\\"attributes\\\"in s&&(t=s.attributes),\\\"extensions\\\"in s&&(l=r(s.extensions)),\\\"optionalExtensions\\\"in s&&(u=r(s.optionalExtensions)),\\\"onDone\\\"in s&&(f=s.onDone),\\\"profile\\\"in s&&(h=!!s.profile),\\\"pixelRatio\\\"in s&&(c=+s.pixelRatio))),e&&(\\\"canvas\\\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){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,j(i.style,{width:e+\\\"px\\\",height:n+\\\"px\\\"})}var i=document.createElement(\\\"canvas\\\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\\\"absolute\\\",j(t.style,{margin:0,padding:0})),window.addEventListener(\\\"resize\\\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\\\"resize\\\",n),t.removeChild(i)}}}(i||document.body,0,c)))return null;a=e.canvas,p=e.onDestroy}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\\\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:u,pixelRatio:c,profile:h,onDone:f,onDestroy:p}:(p(),f(\\\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\\\"),null)}function a(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)||G(t.data))}function o(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function s(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 l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function u(t){Y[s(t.byteLength)>>2].push(t)}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var u=s[l],c=0;c<n;++c)i[a++]=u[c]}function h(t){return 0|J[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function p(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var u=0;u<n;++u)t[s++]=e[i*l+a*u+o]}function d(t,e,r){function n(e){this.id=l++,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,o,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){o=tt(e);for(var l=n=1;l<o.length;++l)n*=o[l];t.dimension=n,i(t,e=$(e,o,t.dtype),r),s?t.persistentData=e:X.freeType(e)}else\\\"number\\\"==typeof e[0]?(t.dimension=o,f(o=X.allocType(t.dtype,e.length),e),i(t,o,r),s?t.persistentData=o:X.freeType(o)):G(e[0])&&(t.dimension=e[0].length,t.dtype=n||h(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),s?t.persistentData=e:X.freeType(e))}else if(G(e))t.dtype=n||h(e),t.dimension=o,i(t,e,r),s&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(a(e)){o=e.shape;var u=e.stride,c=(l=e.offset,0),d=0,g=0,v=0;1===o.length?(c=o[0],d=1,g=u[0],v=0):2===o.length&&(c=o[0],d=o[1],g=u[0],v=u[1]),t.dtype=n||h(e.data)||5126,t.dimension=d,p(o=X.allocType(t.dtype,c*d),e.data,c,d,g,v,l),i(t,o,r),s?t.persistentData=o:X.freeType(o)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete u[r.id]}var l=0,u={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var c=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(i,l,c,d){function g(e){var n=35044,i=null,s=0,l=0,u=1;return Array.isArray(e)||G(e)||a(e)?i=e:\\\"number\\\"==typeof e?s=0|e:e&&(\\\"data\\\"in e&&(i=e.data),\\\"usage\\\"in e&&(n=Q[e.usage]),\\\"type\\\"in e&&(l=K[e.type]),\\\"dimension\\\"in e&&(u=0|e.dimension),\\\"length\\\"in e&&(s=0|e.length)),v.bind(),i?o(v,i,n,l,u,d):(t.bufferData(v.type,s,n),v.dtype=l||5121,v.usage=n,v.dimension=u,v.byteLength=s),r.profile&&(v.stats.size=v.byteLength*et[v.dtype]),g}e.bufferCount++;var v=new n(l);return u[v.id]=v,c||g(i),g._reglType=\\\"buffer\\\",g._buffer=v,g.subdata=function(e,r){var n,i=0|(r||0);if(v.bind(),G(e))t.bufferSubData(v.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\\\"number\\\"==typeof e[0]){var o=X.allocType(v.dtype,e.length);f(o,e),t.bufferSubData(v.type,i,o),X.freeType(o)}else(Array.isArray(e[0])||G(e[0]))&&(n=tt(e),o=$(e,n,v.dtype),t.bufferSubData(v.type,i,o),X.freeType(o))}else if(a(e)){n=e.shape;var s=e.stride,l=o=0,u=0,c=0;1===n.length?(o=n[0],l=1,u=s[0],c=0):2===n.length&&(o=n[0],l=n[1],u=s[0],c=s[1]),n=Array.isArray(e.data)?v.dtype:h(e.data),p(n=X.allocType(n,o*l),e.data,o,l,u,c,e.offset),t.bufferSubData(v.type,i,n),X.freeType(n)}return g},r.profile&&(g.stats=v.stats),g.destroy=function(){s(v)},g},createStream:function(t,e){var r=c.pop();return r||(r=new n(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){c.push(t)},clear:function(){W(u).forEach(s),c.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:function(){W(u).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 g(t,e,r,n){function i(t){this.id=u++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function o(n,i,o,s,l,u,c){if(n.buffer.bind(),i){var h=c;c||G(i)&&(!a(i)||G(i.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,o,h,3)}else t.bufferData(34963,u,o),n.buffer.dtype=h||5121,n.buffer.usage=o,n.buffer.dimension=3,n.buffer.byteLength=u;if(h=c,!c){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>(i=l)&&(i=n.buffer.byteLength,5123===h?i>>=1:5125===h&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},u=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function l(t){if(t)if(\\\"number\\\"==typeof t)u(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,f=0;Array.isArray(t)||G(t)||a(t)?e=t:(\\\"data\\\"in t&&(e=t.data),\\\"usage\\\"in t&&(r=Q[t.usage]),\\\"primitive\\\"in t&&(n=rt[t.primitive]),\\\"count\\\"in t&&(i=0|t.count),\\\"type\\\"in t&&(f=c[t.type]),\\\"length\\\"in t?s=0|t.length:(s=i,5123===f||5122===f?s*=2:5125!==f&&5124!==f||(s*=4))),o(h,e,r,n,i,s,f)}else u(),h.primType=4,h.vertCount=0,h.type=5121;return l}var u=r.create(null,34963,!0),h=new i(u._buffer);return n.elementsCount++,l(t),l._reglType=\\\"elements\\\",l._elements=h,l.subdata=function(t,e){return u.subdata(t,e),l},l.destroy=function(){s(h)},l},createStream:function(t){var e=h.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return\\\"function\\\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function v(t){for(var e=X.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{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||G(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<=lt.indexOf(e)||(y(t)||x(t)||a(t))}function w(t,e){36193===t.type?(t.data=v(e),X.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==ct[t]?ct[t]:st[t]*ut[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function A(t,e,r,n,i,o,s){function l(){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 u(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 c(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=U[e.colorSpace]),\\\"type\\\"in e&&(t.type=q[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\\\"shape\\\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\\\"radius\\\"in e&&(r=n=e.radius),\\\"width\\\"in e&&(r=e.width),\\\"height\\\"in e&&(n=e.height),\\\"channels\\\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\\\"format\\\"in e&&(r=e.format,n=t.internalformat=H[r],t.format=it[n],r in q&&!(\\\"type\\\"in e)&&(t.type=q[r]),r in Y&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[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(){l.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&&(c(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=i.viewportWidth,o=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0}else if(r){if(G(r))t.channels=t.channels||4,t.data=r,\\\"type\\\"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,o=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(o=X.allocType(t.type,o)).set(n),t.data=o;break;case 36193:t.data=v(n)}t.alignment=1,t.needsFree=!0}else if(a(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);o=r.shape;var s,l,u,h,f=r.stride;3===o.length?(u=o[2],h=f[2]):h=u=1,s=o[0],l=o[1],o=f[0],f=f[1],t.alignment=1,t.width=s,t.height=l,t.channels=u,t.format=t.internalformat=ot[u],t.needsFree=!0,s=h,r=r.offset,u=t.width,h=t.height,l=t.channels;for(var p=X.allocType(36193===t.type?5126:t.type,u*h*l),d=0,g=0;g<h;++g)for(var M=0;M<u;++M)for(var A=0;A<l;++A)p[d++]=n[o*M+f*g+s*A+r];w(t,p)}else if(\\\"[object HTMLCanvasElement]\\\"===b(r)||\\\"[object CanvasRenderingContext2D]\\\"===b(r))\\\"[object HTMLCanvasElement]\\\"===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(\\\"[object HTMLImageElement]\\\"===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(\\\"[object HTMLVideoElement]\\\"===b(r))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,o=t.height||r.length,f=t.channels,f=m(r[0][0])?f||r[0][0].length:f||1,s=Z.shape(r),u=1,h=0;h<s.length;++h)u*=s[h];u=X.allocType(36193===t.type?5126:t.type,u),Z.flatten(r,s,\\\"\\\",u),w(t,u),t.alignment=1,t.width=n,t.height=o,t.channels=f,t.format=t.internalformat=ot[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,c=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,i,a,c,f,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,c,f,l)}function g(){return lt.pop()||new f}function A(t){t.needsFree&&X.freeType(t.data),f.call(t),lt.push(t)}function k(t,e,r){var n=t.images[0]=g();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;else if(c(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)u(r=t.images[i]=g(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;u(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,u=o.element,c=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,v=o.height;h(o),u?t.texImage2D(s,l,p,p,d,u):o.compressed?t.compressedTexImage2D(s,l,f,g,v,0,c):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,v,0)):t.texImage2D(s,l,p,g,v,0,p,d,c)}}function E(){var t=ut.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&A(e[r]),e[r]=null;ut.push(t)}function L(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){\\\"min\\\"in e&&(t.minFilter=V[e.min],0<=at.indexOf(t.minFilter)&&(t.genMipmaps=!0)),\\\"mag\\\"in e&&(t.magFilter=N[e.mag]);var r=t.wrapS,n=t.wrapT;if(\\\"wrap\\\"in e){var i=e.wrap;\\\"string\\\"==typeof i?r=n=B[i]:Array.isArray(i)&&(r=B[i[0]],n=B[i[1]])}else\\\"wrapS\\\"in e&&(r=B[e.wrapS]),\\\"wrapT\\\"in e&&(n=B[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=F[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 P(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 I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ct++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new L,s.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=pt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function R(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),pt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ht[e.id],o.textureCount--}var F={\\\"don't care\\\":4352,\\\"dont care\\\":4352,nice:4354,fast:4353},B={repeat:10497,clamp:33071,mirror:33648},N={nearest:9728,linear:9729},V=j({mipmap:9987,\\\"nearest mipmap nearest\\\":9984,\\\"linear mipmap nearest\\\":9985,\\\"nearest mipmap linear\\\":9986,\\\"linear mipmap linear\\\":9987},N),U={none:0,browser:37444},q={uint8:5121,rgba4:32819,rgb565:33635,\\\"rgb5 a1\\\":32820},H={alpha:6406,luminance:6409,\\\"luminance alpha\\\":6410,rgb:6407,rgba:6408,rgba4:32854,\\\"rgb5 a1\\\":32855,rgb565:36194},Y={};e.ext_srgb&&(H.srgb=35904,H.srgba=35906),e.oes_texture_float&&(q.float32=q.float=5126),e.oes_texture_half_float&&(q.float16=q[\\\"half float\\\"]=36193),e.webgl_depth_texture&&(j(H,{depth:6402,\\\"depth stencil\\\":34041}),j(q,{uint16:5123,uint32:5125,\\\"depth stencil\\\":34042})),e.webgl_compressed_texture_s3tc&&j(Y,{\\\"rgb s3tc dxt1\\\":33776,\\\"rgba s3tc dxt1\\\":33777,\\\"rgba s3tc dxt3\\\":33778,\\\"rgba s3tc dxt5\\\":33779}),e.webgl_compressed_texture_atc&&j(Y,{\\\"rgb atc\\\":35986,\\\"rgba atc explicit alpha\\\":35987,\\\"rgba atc interpolated alpha\\\":34798}),e.webgl_compressed_texture_pvrtc&&j(Y,{\\\"rgb pvrtc 4bppv1\\\":35840,\\\"rgb pvrtc 2bppv1\\\":35841,\\\"rgba pvrtc 4bppv1\\\":35842,\\\"rgba pvrtc 2bppv1\\\":35843}),e.webgl_compressed_texture_etc1&&(Y[\\\"rgb etc1\\\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Y).forEach(function(t){var e=Y[t];0<=K.indexOf(e)&&(H[t]=e)});var Q=Object.keys(H);r.textureFormats=Q;var $=[];Object.keys(H).forEach(function(t){$[H[t]]=t});var tt=[];Object.keys(q).forEach(function(t){tt[q[t]]=t});var et=[];Object.keys(N).forEach(function(t){et[N[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(B).forEach(function(t){nt[B[t]]=t});var it=Q.reduce(function(t,e){var r=H[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\\\"rgba\\\")?t[r]=6408:t[r]=6407,t},{}),lt=[],ut=[],ct=0,ht={},ft=r.maxTextureUnits,pt=Array(ft).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<ft;++r){var n=pt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}pt[r]=this,e=r;break}s.profile&&o.maxTextureUnits<e+1&&(o.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&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ht).forEach(function(e){t+=ht[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=E();return\\\"number\\\"==typeof t?k(a,0|t,\\\"number\\\"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):k(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,u(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),S(a,3553),P(r,3553),O(),C(a),s.profile&&(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new I(3553);return ht[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return u(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),O(),A(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,D(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return O(),s.profile&&(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=\\\"texture2d\\\",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function h(t,e,r,n,i,a){var o,l=f.texInfo;for(L.call(l),o=0;6>o;++o)v[o]=E();if(\\\"number\\\"!=typeof t&&t){if(\\\"object\\\"==typeof t)if(e)T(v[0],t),T(v[1],e),T(v[2],r),T(v[3],n),T(v[4],i),T(v[5],a);else if(z(l,t),c(f,t),\\\"faces\\\"in t)for(t=t.faces,o=0;6>o;++o)u(v[o],f),T(v[o],t[o]);else for(o=0;6>o;++o)T(v[o],t)}else for(t=0|t||1,o=0;6>o;++o)k(v[o],t,t);for(u(f,v[0]),f.mipmask=l.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,f.internalformat=v[0].internalformat,h.width=v[0].width,h.height=v[0].height,D(f),o=0;6>o;++o)S(v[o],34069+o);for(P(l,34067),O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=$[f.internalformat],h.type=tt[f.type],h.mag=et[l.magFilter],h.min=rt[l.minFilter],h.wrapS=nt[l.wrapS],h.wrapT=nt[l.wrapT],o=0;6>o;++o)C(v[o]);return h}var f=new I(34067);ht[f.id]=f,o.cubeCount++;var v=Array(6);return h(e,r,n,i,a,l),h.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return u(a,f),a.width=0,a.height=0,p(a,e),a.width=a.width||(f.width>>i)-r,a.height=a.height||(f.height>>i)-n,D(f),d(a,34069+t,r,n,i),O(),A(a),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 O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType=\\\"textureCube\\\",h._texture=f,s.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<ft;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),pt[e]=null;W(ht).forEach(R),o.cubeCount=0,o.textureCount=0},getTexture:function(t){return null},restore:function(){W(ht).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);P(e.texInfo,e.target)})}}}function k(t,e,r,n,i,a){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 u(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 c(t){var e=3553,r=null,n=null,i=t;return\\\"object\\\"==typeof t&&(i=t.data,\\\"target\\\"in t&&(e=0|t.target)),\\\"texture2d\\\"===(t=i._reglType)?r=i:\\\"textureCube\\\"===t?r=i:\\\"renderbuffer\\\"===t&&(n=i,e=36161),new o(e,r,n)}function h(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._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))}function d(){this.id=M++,A[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 v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete A[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(36064+n,i[n]);for(n=i.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),u(36096,e.depthAttachment),u(36128,e.stencilAttachment),u(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,x.next),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,u=!0;i=null;var p=!0,d=\\\"rgba\\\",v=\\\"uint8\\\",y=1,x=null,w=null,M=null,A=!1;\\\"number\\\"==typeof t?(a=0|t,o=0|e||a):t?(\\\"shape\\\"in t?(a=(o=t.shape)[0],o=o[1]):(\\\"radius\\\"in t&&(a=o=t.radius),\\\"width\\\"in t&&(a=t.width),\\\"height\\\"in t&&(o=t.height)),(\\\"color\\\"in t||\\\"colors\\\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\\\"colorCount\\\"in t&&(y=0|t.colorCount),\\\"colorTexture\\\"in t&&(p=!!t.colorTexture,d=\\\"rgba4\\\"),\\\"colorType\\\"in t&&(v=t.colorType,!p)&&(\\\"half float\\\"===v||\\\"float16\\\"===v?d=\\\"rgba16f\\\":\\\"float\\\"!==v&&\\\"float32\\\"!==v||(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)&&(A=!(!t.depthTexture&&!t.depthStencilTexture)),\\\"depth\\\"in t&&(\\\"boolean\\\"==typeof t.depth?s=t.depth:(x=t.depth,u=!1)),\\\"stencil\\\"in t&&(\\\"boolean\\\"==typeof t.stencil?u=t.stencil:(w=t.stencil,s=!1)),\\\"depthStencil\\\"in t&&(\\\"boolean\\\"==typeof t.depthStencil?s=u=t.depthStencil:(M=t.depthStencil,u=s=!1))):a=o=1;var k=null,T=null,S=null,E=null;if(Array.isArray(i))k=i.map(c);else if(i)k=[c(i)];else for(k=Array(y),i=0;i<y;++i)k[i]=h(a,o,p,d,v);for(a=a||k[0].width,o=o||k[0].height,x?T=c(x):s&&!u&&(T=h(a,o,A,\\\"depth\\\",\\\"uint32\\\")),w?S=c(w):u&&!s&&(S=h(a,o,!1,\\\"stencil\\\",\\\"uint8\\\")),M?E=c(M):!x&&!w&&u&&s&&(E=h(a,o,A,\\\"depth stencil\\\",\\\"depth stencil\\\")),s=null,i=0;i<k.length;++i)l(k[i]),k[i]&&k[i].texture&&(u=pt[k[i].texture._texture.format]*dt[k[i].texture._texture.type],null===s&&(s=u));return l(T),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=k,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=k.map(f),r.depth=f(T),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,m(n),r},_reglType:\\\"framebuffer\\\",_framebuffer:n,destroy:function(){v(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 M=0,A={};return j(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 i,a={color:null},o=0,s=null;i=\\\"rgba\\\";var l=\\\"uint8\\\",u=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&&(u=0|t.colorCount),\\\"colorType\\\"in t&&(l=t.colorType),\\\"colorFormat\\\"in t&&(i=t.colorFormat)),\\\"depth\\\"in t&&(a.depth=t.depth),\\\"stencil\\\"in t&&(a.stencil=t.stencil),\\\"depthStencil\\\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(u),s={radius:o,format:i,type:l},i=0;i<u;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)u=t[i],o=o||u.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(u=0;u<t.length;++u)a.color[u].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[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(){W(A).forEach(v)},restore:function(){W(A).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function T(){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){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(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,i){if(!(o=(i=35632===r?u:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[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){var l,u;l=o(35632,r.fragId),u=o(35633,r.vertId);var c=r.program=t.createProgram();t.attachShader(c,l),t.attachShader(c,u),t.linkProgram(c);var h=t.getProgramParameter(c,35718);n.profile&&(r.stats.uniformsCount=h);var f=r.uniforms;for(l=0;l<h;++l)if(u=t.getActiveUniform(c,l))if(1<u.size)for(var p=0;p<u.size;++p){var d=u.name.replace(\\\"[0]\\\",\\\"[\\\"+p+\\\"]\\\");a(f,new i(d,e.id(d),t.getUniformLocation(c,d),u))}else a(f,new i(u.name,e.id(u.name),t.getUniformLocation(c,u.name),u));for(h=t.getProgramParameter(c,35721),n.profile&&(r.stats.attributesCount=h),f=r.attributes,l=0;l<h;++l)(u=t.getActiveAttrib(c,l))&&a(f,new i(u.name,e.id(u.name),t.getAttribLocation(c,u.name),u))}var u={},c={},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);W(u).forEach(e),u={},W(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var i=h[e];i||(i=h[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,f.push(a)),a},restore:function(){u={},c={};for(var t=0;t<f.length;++t)l(f[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,i,a){function o(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,u=n.framebufferHeight,c=null;return G(i)?c=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),u=0|(i.height||n.framebufferHeight-s),c=i.data||null),r(),i=l*u*4,c||(5121===a?c=new Uint8Array(i):5126===a&&(c=c||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,u,6408,a,c),c}return function(t){return t&&\\\"framebuffer\\\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function C(t){return Array.prototype.slice.call(t)}function L(t){return C(t).join(\\\"\\\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,C(arguments))},{def:function(){var n=\\\"v\\\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\\\"=\\\"),t.push.apply(t,C(arguments)),t.push(\\\";\\\")),n},toString:function(){return L([0<e.length?\\\"var \\\"+e+\\\";\\\":\\\"\\\",L(t)])}})}function e(){function e(t,e){n(t,e,\\\"=\\\",r.def(t,e),\\\";\\\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,C(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\\\"=\\\",i,\\\";\\\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\\\"g\\\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\\\"a\\\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\\\"function(\\\",i.join(),\\\"){\\\",s(),\\\"}\\\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,C(arguments)),this},else:function(){return n.apply(n,C(arguments)),this},toString:function(){var e=a();return e&&(e=\\\"else{\\\"+e+\\\"}\\\"),L([\\\"if(\\\",t,\\\"){\\\",i(),\\\"}\\\",e])}})},compile:function(){var t=['\\\"use strict\\\";',a,\\\"return {\\\"];Object.keys(o).forEach(function(e){t.push('\\\"',e,'\\\":',o[e].toString(),\\\",\\\")}),t.push(\\\"}\\\");var e=L(t).replace(/;/g,\\\";\\\\n\\\").replace(/}/g,\\\"}\\\\n\\\").replace(/{/g,\\\"{\\\\n\\\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||G(t)||a(t)}function I(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 O(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new D(!1,!1,!1,t)}function F(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 B(t,e,r,n,i,a,s,l,u,c,h,f,p,d,g){function v(t){return t.replace(\\\".\\\",\\\"_\\\")}function y(t,e,r){var n=v(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\\\"0\\\";var i=r(ot),a=t.shared={props:\\\"a0\\\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\\\".\\\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\\\".\\\",t),s[t]=n.def(a.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 i=[\\\"this\\\",a.context,a.props,t.batchId];return e.def(r(n.data),\\\".call(\\\",i.slice(0,Math.max(n.data.length+1,4)),\\\")\\\");case 1:return e.def(a.props,n.data);case 2:return e.def(a.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 u={};return t.scopeAttrib=function(t){if((t=e.id(t))in u)return u[t];var n=c.scope[t];return n||(n=c.scope[t]=new Z),u[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\\\"framebuffer\\\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),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})):R(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 a=n.framebuffer;return F(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\\\".getFramebuffer(\\\",r,\\\")\\\");return e.set(i,\\\".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){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return F(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\\\".id(\\\",r,\\\")\\\")})}return null}var n=t.static,i=t.dynamic,a=r(\\\"frag\\\"),o=r(\\\"vert\\\"),s=null;return O(a)&&O(o)?(s=h.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new D(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\\\".\\\",\\\"frag\\\"),n=o?o.append(t,e):e.def(i,\\\".\\\",\\\"vert\\\"),e.def(i+\\\".program(\\\"+n+\\\",\\\"+r+\\\")\\\")}),{frag:a,vert:o,progVar:t,program:s}}function M(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var a=i[t];return F(a,function(t,r){var n=t.invoke(r,a);return e&&(t.OFFSET=n),n})}return e&&o?R(function(t,e){return t.OFFSET=\\\"0\\\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(\\\"elements\\\"in n){var t=n.elements;P(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t));var e=R(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 i){var r=i.elements;return F(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\\\"null\\\");n=e.def(n,\\\"(\\\",a,\\\")\\\"),a=t.cond(n).then(o,\\\"=\\\",i,\\\".createStream(\\\",a,\\\");\\\").else(o,\\\"=\\\",i,\\\".getElements(\\\",a,\\\");\\\");return e.entry(a),e.exit(t.cond(n).then(i,\\\".destroyStream(\\\",o,\\\");\\\")),t.ELEMENTS=o})}return null}(),s=r(\\\"offset\\\",!0);return{elements:o,primitive:function(){if(\\\"primitive\\\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\\\"primitive\\\"in i){var e=i.primitive;return F(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\\\"[\\\",i,\\\"]\\\")})}return o?O(o)?o.value?R(function(t,e){return e.def(t.ELEMENTS,\\\".primType\\\")}):R(function(){return 4}):new D(o.thisDep,o.contextDep,o.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 R(function(){return t})}if(\\\"count\\\"in i){var e=i.count;return F(e,function(t,r){return t.invoke(r,e)})}return o?O(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\\\".vertCount-\\\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\\\".vertCount\\\")}):R(function(){return-1}):new D(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.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 A(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(u=i.getBuffer(r))s.state=1,s.buffer=u,s.type=0;else if(r.constant){var l=r.constant;s.buffer=\\\"null\\\",s.state=2,\\\"number\\\"==typeof l?s.x=l:gt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var u=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),c=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;\\\"type\\\"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=u,s.state=1,s.size=f,s.normalized=p,s.type=d||u.dtype,s.offset=c,s.stride=h,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];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[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=F(e,function(t,r){function n(t){r(l[t],\\\"=\\\",i,\\\".\\\",t,\\\"|0;\\\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},u=new Z;u.state=1,Object.keys(u).forEach(function(t){l[t]=r.def(\\\"\\\"+u[t])});var c=l.buffer,h=l.type;return r(\\\"if(\\\",o,\\\"(\\\",i,\\\")){\\\",l.isStream,\\\"=true;\\\",c,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\");\\\",h,\\\"=\\\",c,\\\".dtype;\\\",\\\"}else{\\\",c,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\");\\\",\\\"if(\\\",c,\\\"){\\\",h,\\\"=\\\",c,\\\".dtype;\\\",'}else if(\\\"constant\\\" in ',i,\\\"){\\\",l.state,\\\"=\\\",2,\\\";\\\",\\\"if(typeof \\\"+i+'.constant === \\\"number\\\"){',l[gt[0]],\\\"=\\\",i,\\\".constant;\\\",gt.slice(1).map(function(t){return l[t]}).join(\\\"=\\\"),\\\"=0;\\\",\\\"}else{\\\",gt.map(function(t,e){return l[t]+\\\"=\\\"+i+\\\".constant.length>=\\\"+e+\\\"?\\\"+i+\\\".constant[\\\"+e+\\\"]:0;\\\"}).join(\\\"\\\"),\\\"}}else{\\\",\\\"if(\\\",o,\\\"(\\\",i,\\\".buffer)){\\\",c,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\".buffer);\\\",\\\"}else{\\\",c,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\".buffer);\\\",\\\"}\\\",h,'=\\\"type\\\" in ',i,\\\"?\\\",a.glTypes,\\\"[\\\",i,\\\".type]:\\\",c,\\\".dtype;\\\",l.normalized,\\\"=!!\\\",i,\\\".normalized;\\\"),n(\\\"size\\\"),n(\\\"offset\\\"),n(\\\"stride\\\"),n(\\\"divisor\\\"),r(\\\"}}\\\"),r.exit(\\\"if(\\\",l.isStream,\\\"){\\\",s,\\\".destroyStream(\\\",c,\\\");\\\",\\\"}\\\"),l})}),o}function k(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[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 i=t.shared.context,a=n;\\\"width\\\"in r||(a=e.def(i,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",s));var u=o;return\\\"height\\\"in r||(u=e.def(i,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",l)),[s,l,a,u]})}if(t in a){var u=a[t];return t=F(u,function(t,e){var r=t.invoke(e,u),n=t.shared.context,i=e.def(r,\\\".x|0\\\"),a=e.def(r,\\\".y|0\\\");return[i,a,e.def('\\\"width\\\" in ',r,\\\"?\\\",r,\\\".width|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",i,\\\")\\\"),r=e.def('\\\"height\\\" in ',r,\\\"?\\\",r,\\\".height|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",a,\\\")\\\")]}),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 i=t.static,a=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,a),l=M(t),u=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=F(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=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 yt[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[mt[\\\"srcRGB\\\"in t?t.srcRGB:t.src],mt[\\\"dstRGB\\\"in t?t.dstRGB:t.dst],mt[\\\"srcAlpha\\\"in t?t.srcAlpha:t.src],mt[\\\"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 i=n(\\\"src\\\",\\\"RGB\\\"),a=n(\\\"dst\\\",\\\"RGB\\\"),o=(i=e.def(t,\\\"[\\\",i,\\\"]\\\"),e.def(t,\\\"[\\\",n(\\\"src\\\",\\\"Alpha\\\"),\\\"]\\\"));return[i,a=e.def(t,\\\"[\\\",a,\\\"]\\\"),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,i=e.def(),a=e.def();return(t=t.cond(\\\"typeof \\\",r,'===\\\"string\\\"')).then(i,\\\"=\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\"];\\\"),t.else(i,\\\"=\\\",n,\\\"[\\\",r,\\\".rgb];\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\".alpha];\\\"),e(t),[i,a]});case\\\"blend.color\\\":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(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[yt[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,xt[e.fail||\\\"keep\\\"],xt[e.zfail||\\\"keep\\\"],xt[e.zpass||\\\"keep\\\"]]},function(e,r,n){function i(t){return r.def('\\\"',t,'\\\" in ',n,\\\"?\\\",a,\\\"[\\\",n,\\\".\\\",t,\\\"]:\\\",7680)}var a=e.constants.stencilOps;return[\\\"stencil.opBack\\\"===t?1029:1028,i(\\\"fail\\\"),i(\\\"zfail\\\"),i(\\\"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 bt[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 o(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\\\")]})}}),i}(t),c=w(t),h=s.viewport;return h&&(u.viewport=h),(s=s[h=v(\\\"scissor.box\\\")])&&(u[h]=s),(a={framebuffer:a,draw:l,shader:c,state:u,dirty:s=0<Object.keys(u).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\\\"profile\\\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\\\"profile\\\"in t){var i=t.profile;e=F(i,function(t,e){return t.invoke(e,i)})}return e}(t),a.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\\\"number\\\"==typeof n||\\\"boolean\\\"==typeof n)e=R(function(){return n});else if(\\\"function\\\"==typeof n){var a=n._reglType;\\\"texture2d\\\"===a||\\\"textureCube\\\"===a?e=R(function(t){return t.link(n)}):\\\"framebuffer\\\"!==a&&\\\"framebufferCube\\\"!==a||(e=R(function(t){return t.link(n.color[0])}))}else m(n)&&(e=R(function(t){return t.global.def(\\\"[\\\",o(n.length,function(t){return n[t]}),\\\"]\\\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=F(e,function(t,r){return t.invoke(r,e)})}),i}(r),a.attributes=A(e),a.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(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]=F(e,function(t,r){return t.invoke(r,e)})}),n}(n),a}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\\\".\\\"+a),i(n,\\\".\\\",a,\\\"=\\\",r[a].append(t,e),\\\";\\\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=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,\\\"){\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",\\\",t,\\\".framebuffer);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",s,\\\"[\\\",t,\\\".colorAttachments.length]);\\\"),e(\\\"}else{\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",null);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",l,\\\");\\\"),e(\\\"}\\\",o,\\\".cur=\\\",t,\\\";\\\"),n||e(\\\"}\\\")}function E(t,e,r){var n=t.shared,i=n.gl,a=t.current,s=t.next,l=n.current,u=n.next,c=t.cond(l,\\\".dirty\\\");nt.forEach(function(e){var n,h;if(!((e=v(e))in r.state))if(e in s){n=s[e],h=a[e];var f=o(tt[e].length,function(t){return c.def(n,\\\"[\\\",t,\\\"]\\\")});c(t.cond(f.map(function(t,e){return t+\\\"!==\\\"+h+\\\"[\\\"+e+\\\"]\\\"}).join(\\\"||\\\")).then(i,\\\".\\\",at[e],\\\"(\\\",f,\\\");\\\",f.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\"))}else n=c.def(u,\\\".\\\",e),f=t.cond(n,\\\"!==\\\",l,\\\".\\\",e),c(f),e in it?f(t.cond(n).then(i,\\\".enable(\\\",it[e],\\\");\\\").else(i,\\\".disable(\\\",it[e],\\\");\\\"),l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\"):f(i,\\\".\\\",at[e],\\\"(\\\",n,\\\");\\\",l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\")}),0===Object.keys(r.state).length&&c(l,\\\".dirty=false;\\\"),e(c)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;I(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var u=l.append(t,e);if(it[i]){var c=it[i];O(l)?e(s,u?\\\".enable(\\\":\\\".disable(\\\",c,\\\");\\\"):e(t.cond(u).then(s,\\\".enable(\\\",c,\\\");\\\").else(s,\\\".disable(\\\",c,\\\");\\\")),e(o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}else if(m(u)){var h=a[i];e(s,\\\".\\\",at[i],\\\"(\\\",u,\\\");\\\",u.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\")}else e(s,\\\".\\\",at[i],\\\"(\\\",u,\\\");\\\",o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}})}function L(t,e){Q&&(t.instancing=e.def(t.shared.extensions,\\\".angle_instanced_arrays\\\"))}function B(t,e,r,n,i){function a(){return\\\"undefined\\\"==typeof performance?\\\"Date.now()\\\":\\\"performance.now()\\\"}function o(t){t(u=e.def(),\\\"=\\\",a(),\\\";\\\"),\\\"string\\\"==typeof i?t(f,\\\".count+=\\\",i,\\\";\\\"):t(f,\\\".count++;\\\"),d&&(n?t(c=e.def(),\\\"=\\\",g,\\\".getNumPendingQueries();\\\"):t(g,\\\".beginQuery(\\\",f,\\\");\\\"))}function s(t){t(f,\\\".cpuTime+=\\\",a(),\\\"-\\\",u,\\\";\\\"),d&&(n?t(g,\\\".pushScopeStats(\\\",c,\\\",\\\",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 u,c,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(O(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,i){function a(r,n,i){function a(){e(\\\"if(!\\\",c,\\\".buffer){\\\",l,\\\".enableVertexAttribArray(\\\",u,\\\");}\\\");var r,a=i.type;r=i.size?e.def(i.size,\\\"||\\\",n):n,e(\\\"if(\\\",c,\\\".type!==\\\",a,\\\"||\\\",c,\\\".size!==\\\",r,\\\"||\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"!==\\\"+i[t]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",h,\\\".buffer);\\\",l,\\\".vertexAttribPointer(\\\",[u,r,a,i.normalized,i.stride,i.offset],\\\");\\\",c,\\\".type=\\\",a,\\\";\\\",c,\\\".size=\\\",r,\\\";\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"=\\\"+i[t]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\"),Q&&(a=i.divisor,e(\\\"if(\\\",c,\\\".divisor!==\\\",a,\\\"){\\\",t.instancing,\\\".vertexAttribDivisorANGLE(\\\",[u,a],\\\");\\\",c,\\\".divisor=\\\",a,\\\";}\\\"))}function s(){e(\\\"if(\\\",c,\\\".buffer){\\\",l,\\\".disableVertexAttribArray(\\\",u,\\\");\\\",\\\"}if(\\\",gt.map(function(t,e){return c+\\\".\\\"+t+\\\"!==\\\"+f[e]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".vertexAttrib4f(\\\",u,\\\",\\\",f,\\\");\\\",gt.map(function(t,e){return c+\\\".\\\"+t+\\\"=\\\"+f[e]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\")}var l=o.gl,u=e.def(r,\\\".location\\\"),c=e.def(o.attributes,\\\"[\\\",u,\\\"]\\\");r=i.state;var h=i.buffer,f=[i.x,i.y,i.z,i.w],p=[\\\"buffer\\\",\\\"normalized\\\",\\\"offset\\\",\\\"stride\\\"];1===r?a():2===r?s():(e(\\\"if(\\\",r,\\\"===\\\",1,\\\"){\\\"),a(),e(\\\"}else{\\\"),s(),e(\\\"}\\\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(_t))return;var u=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(u,\\\".\\\",t)})}a(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,i,a){for(var s,l=t.shared,u=l.gl,c=0;c<i.length;++c){var h,f=(g=i[c]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+\\\".location\\\";if(d){if(!a(d))continue;if(O(d)){if(f=d.value,35678===p||35680===p)r(u,\\\".uniform1i(\\\",g,\\\",\\\",(p=t.link(f._texture||f.color[0]._texture))+\\\".bind());\\\"),r.exit(p,\\\".unbind();\\\");else if(35674===p||35675===p||35676===p)f=t.global.def(\\\"new Float32Array([\\\"+Array.prototype.slice.call(f)+\\\"])\\\"),d=2,35675===p?d=3:35676===p&&(d=4),r(u,\\\".uniformMatrix\\\",d,\\\"fv(\\\",g,\\\",false,\\\",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(u,\\\".uniform\\\",s,\\\"(\\\",g,\\\",\\\",m(f)?Array.prototype.slice.call(f):f,\\\");\\\")}continue}h=d.append(t,r)}else{if(!a(_t))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:r(u,\\\".uniform1i(\\\",g,\\\",\\\",p=r.def(h,\\\"._texture\\\"),\\\".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(u,\\\".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,\\\":(\\\",o(g,function(t){return v+\\\"[\\\"+t+\\\"]=\\\"+h+\\\"[\\\"+t+\\\"]\\\"}),\\\",\\\",v,\\\")\\\")}else r(1<f?o(f,function(t){return h+\\\"[\\\"+t+\\\"]\\\"}):h);r(\\\");\\\")}}function V(t,e,r,n){function i(i){var a=f[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(h,\\\".\\\",i)}function a(){function t(){r(l,\\\".drawElementsInstancedANGLE(\\\",[d,v,m,g+\\\"<<((\\\"+m+\\\"-5121)>>1)\\\",s],\\\");\\\")}function e(){r(l,\\\".drawArraysInstancedANGLE(\\\",[d,g,v,s],\\\");\\\")}p?y?t():(r(\\\"if(\\\",p,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}function o(){function t(){r(c+\\\".drawElements(\\\"+[d,v,m,g+\\\"<<((\\\"+m+\\\"-5121)>>1)\\\"]+\\\");\\\")}function e(){r(c+\\\".drawArrays(\\\"+[d,g,v]+\\\");\\\")}p?y?t():(r(\\\"if(\\\",p,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}var s,l,u=t.shared,c=u.gl,h=u.draw,f=n.draw,p=function(){var i=f.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\\\".\\\",\\\"elements\\\"),i&&a(\\\"if(\\\"+i+\\\")\\\"+c+\\\".bindBuffer(34963,\\\"+i+\\\".buffer.buffer);\\\"),i}(),d=i(\\\"primitive\\\"),g=i(\\\"offset\\\"),v=function(){var i=f.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\\\".\\\",\\\"count\\\"),i}();if(\\\"number\\\"==typeof v){if(0===v)return}else r(\\\"if(\\\",v,\\\"){\\\"),r.exit(\\\"}\\\");Q&&(s=i(\\\"instances\\\"),l=t.instancing);var m=p+\\\".type\\\",y=f.elements&&O(f.elements);Q&&(\\\"number\\\"!=typeof s||0<=s)?\\\"string\\\"==typeof s?(r(\\\"if(\\\",s,\\\">0){\\\"),a(),r(\\\"}else if(\\\",s,\\\"<0){\\\"),o(),r(\\\"}\\\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\\\"body\\\",i),Q&&(e.instancing=i.def(e.shared.extensions,\\\".angle_instanced_arrays\\\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),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 i(){return!0}t.batchId=\\\"a1\\\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,\\\"for(\\\",s,\\\"=0;\\\",s,\\\"<\\\",\\\"a1\\\",\\\";++\\\",s,\\\"){\\\",l,\\\"=\\\",\\\"a0\\\",\\\"[\\\",s,\\\"];\\\",c,\\\"}\\\",u.exit),r.needsContext&&T(t,c,r.context),r.needsFramebuffer&&S(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&B(t,c,r,!1,!0),n?(N(t,u,r,n.attributes,a),N(t,c,r,n.attributes,i),j(t,u,r,n.uniforms,a),j(t,c,r,n.uniforms,i),V(t,u,c,r)):(e=t.global.def(\\\"{}\\\"),n=r.shader.progVar.append(t,c),l=c.def(n,\\\".id\\\"),u=c.def(e,\\\"[\\\",l,\\\"]\\\"),c(t.shared.gl,\\\".useProgram(\\\",n,\\\".program);\\\",\\\"if(!\\\",u,\\\"){\\\",u,\\\"=\\\",e,\\\"[\\\",l,\\\"]=\\\",t.link(function(e){return q(G,t,r,e,2)}),\\\"(\\\",n,\\\");}\\\",u,\\\".call(this,a0[\\\",s,\\\"],\\\",s,\\\");\\\"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\\\".\\\"+e,n.append(t,i))}var i=t.proc(\\\"scope\\\",3);t.batchId=\\\"a2\\\";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),I(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);m(n)?n.forEach(function(r,n){i.set(t.next[e],\\\"[\\\"+n+\\\"]\\\",r)}):i.set(a.next,\\\".\\\"+e,n)}),B(t,i,r,!0,!0),[\\\"elements\\\",\\\"offset\\\",\\\"count\\\",\\\"instances\\\",\\\"primitive\\\"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\\\".\\\"+e,\\\"\\\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\\\"[\\\"+e.id(n)+\\\"]\\\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,\\\".\\\"+t,n[t])})}),n(\\\"vert\\\"),n(\\\"frag\\\"),0<Object.keys(r.state).length&&(i(o,\\\".dirty=true;\\\"),i.exit(o,\\\".dirty=true;\\\")),i(\\\"a1(\\\",t.shared.context,\\\",a0,\\\",t.batchId,\\\");\\\")}function X(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(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,u=t.global.def(\\\"{}\\\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\\\"function\\\"==typeof r&&(r=n[e]=U.unbox(r)),e=F(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(u,\\\".\\\",e,\\\"=\\\"),typeof r){case\\\"number\\\":i(r);break;case\\\"string\\\":i('\\\"',r,'\\\"');break;case\\\"object\\\":Array.isArray(r)&&i(\\\"[\\\",r.join(),\\\"]\\\");break;default:i(t.link(r))}i(\\\";\\\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:u,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(u,\\\".\\\",r,\\\"=\\\",i,\\\";\\\"))})}}),delete e.static[r]}}var Z=c.Record,J={add:32774,subtract:32778,\\\"reverse subtract\\\":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};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:a,buffer:i,shader:h,attributes:c.state,uniforms:u,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:yt,blendFuncs:mt,blendEquations:J,stencilOps:xt,glTypes:K,orientationType:bt};$&&(st.backBuffer=[1029],st.drawBuffer=o(n.maxDrawbuffers,function(t){return 0===t?[0]:o(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var e=b(),r=e.proc(\\\"poll\\\"),i=e.proc(\\\"refresh\\\"),a=e.block();r(a),i(a);var s=e.shared,l=s.gl,u=s.next,c=s.current;a(c,\\\".dirty=false;\\\"),S(e,r),S(e,i,null,!0);var h,f=t.getExtension(\\\"angle_instanced_arrays\\\");f&&(h=e.link(f));for(var p=0;p<n.maxAttributes;++p){var d=i.def(s.attributes,\\\"[\\\",p,\\\"]\\\"),g=e.cond(d,\\\".buffer\\\");g.then(l,\\\".enableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",d,\\\".buffer.buffer);\\\",l,\\\".vertexAttribPointer(\\\",p,\\\",\\\",d,\\\".size,\\\",d,\\\".type,\\\",d,\\\".normalized,\\\",d,\\\".stride,\\\",d,\\\".offset);\\\").else(l,\\\".disableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".vertexAttrib4f(\\\",p,\\\",\\\",d,\\\".x,\\\",d,\\\".y,\\\",d,\\\".z,\\\",d,\\\".w);\\\",d,\\\".buffer=null;\\\"),i(g),f&&i(h,\\\".vertexAttribDivisorANGLE(\\\",p,\\\",\\\",d,\\\".divisor);\\\")}return Object.keys(it).forEach(function(t){var n=it[t],o=a.def(u,\\\".\\\",t),s=e.block();s(\\\"if(\\\",o,\\\"){\\\",l,\\\".enable(\\\",n,\\\")}else{\\\",l,\\\".disable(\\\",n,\\\")}\\\",c,\\\".\\\",t,\\\"=\\\",o,\\\";\\\"),i(s),r(\\\"if(\\\",o,\\\"!==\\\",c,\\\".\\\",t,\\\"){\\\",s,\\\"}\\\")}),Object.keys(at).forEach(function(t){var n,s,h=at[t],f=tt[t],p=e.block();p(l,\\\".\\\",h,\\\"(\\\"),m(f)?(h=f.length,n=e.global.def(u,\\\".\\\",t),s=e.global.def(c,\\\".\\\",t),p(o(h,function(t){return n+\\\"[\\\"+t+\\\"]\\\"}),\\\");\\\",o(h,function(t){return s+\\\"[\\\"+t+\\\"]=\\\"+n+\\\"[\\\"+t+\\\"];\\\"}).join(\\\"\\\")),r(\\\"if(\\\",o(h,function(t){return n+\\\"[\\\"+t+\\\"]!==\\\"+s+\\\"[\\\"+t+\\\"]\\\"}).join(\\\"||\\\"),\\\"){\\\",p,\\\"}\\\")):(n=a.def(u,\\\".\\\",t),s=a.def(c,\\\".\\\",t),p(n,\\\");\\\",c,\\\".\\\",t,\\\"=\\\",n,\\\";\\\"),r(\\\"if(\\\",n,\\\"!==\\\",s,\\\"){\\\",p,\\\"}\\\")),i(p)}),e.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),vt.forEach(function(e){X(a,t,e)}),r=k(t,e,r,n),function(t,e){var r=t.proc(\\\"draw\\\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),B(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{var i=t.global.def(\\\"{}\\\"),a=r.def(n,\\\".id\\\"),o=r.def(i,\\\"[\\\",a,\\\"]\\\");r(t.cond(o).then(o,\\\".call(this,a0);\\\").else(o,\\\"=\\\",i,\\\"[\\\",a,\\\"]=\\\",t.link(function(r){return q(H,t,e,r,1)}),\\\"(\\\",n,\\\");\\\",o,\\\".call(this,a0);\\\"))}0<Object.keys(e.state).length&&r(t.shared.current,\\\".dirty=true;\\\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\\\"batch\\\",2);t.batchId=\\\"0\\\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||B(t,n,e,!1,\\\"a1\\\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\\\".useProgram(\\\",a,\\\".program);\\\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\\\"{}\\\"),l=(o=n.def(a,\\\".id\\\"),n.def(s,\\\"[\\\",o,\\\"]\\\"));n(t.cond(l).then(l,\\\".call(this,a0,a1);\\\").else(l,\\\"=\\\",s,\\\"[\\\",o,\\\"]=\\\",t.link(function(r){return q(W,t,e,r,2)}),\\\"(\\\",a,\\\");\\\",l,\\\".call(this,a0,a1);\\\"))}0<Object.keys(e.state).length&&n(t.shared.current,\\\".dirty=true;\\\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={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},q={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},H=\\\"undefined\\\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=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},W=function(t){return Object.keys(t).map(function(e){return t[e]})},Y=o(8,function(){return[]}),X={alloc:l,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(l(e),0,e);break;case 5121:r=new Uint8Array(l(e),0,e);break;case 5122:r=new Int16Array(l(2*e),0,e);break;case 5123:r=new Uint16Array(l(2*e),0,e);break;case 5124:r=new Int32Array(l(4*e),0,e);break;case 5125:r=new Uint32Array(l(4*e),0,e);break;case 5126:r=new Float32Array(l(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||X.allocType(r,i),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],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){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,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},J={\\\"[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},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\\\"line loop\\\":2,\\\"line strip\\\":3,\\\"triangle strip\\\":5,\\\"triangle fan\\\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=Object.keys(J).concat([\\\"[object HTMLCanvasElement]\\\",\\\"[object CanvasRenderingContext2D]\\\",\\\"[object HTMLImageElement]\\\",\\\"[object HTMLVideoElement]\\\"]),ut=[];ut[5121]=1,ut[5126]=4,ut[36193]=2,ut[5123]=2,ut[5125]=4;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[34041]=4,ct[33776]=.5,ct[33777]=.5,ct[33778]=1,ct[33779]=1,ct[35986]=.5,ct[35987]=1,ct[34798]=1,ct[35840]=.5,ct[35841]=.25,ct[35842]=.5,ct[35843]=.25,ct[36196]=.5;var ht=[];ht[32854]=2,ht[32855]=2,ht[36194]=2,ht[33189]=2,ht[36168]=1,ht[34041]=4,ht[35907]=4,ht[34836]=16,ht[34842]=8,ht[34843]=6;var ft=function(t,e,r,n,i){function a(t){this.id=u++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.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 c[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 u=0,c={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if(\\\"object\\\"==typeof e&&e?(\\\"shape\\\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\\\"radius\\\"in e&&(n=a=0|e.radius),\\\"width\\\"in e&&(n=0|e.width),\\\"height\\\"in e&&(a=0|e.height)),\\\"format\\\"in e&&(c=s[e.format])):\\\"number\\\"==typeof e?(n=0|e,a=\\\"number\\\"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height?o:(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o)},o._reglType=\\\"renderbuffer\\\",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){W(c).forEach(o)},restore:function(){W(c).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)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=[\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"w\\\"],vt=\\\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\\\".split(\\\" \\\"),mt={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},yt={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},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\\\"increment wrap\\\":34055,\\\"decrement wrap\\\":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),h();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}v.flush(),w&&w.update()}}function r(){!Q&&0<X.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),Z.forEach(function(t){t()})}function o(t){v.getError(),y.restore(),O.restore(),I.restore(),R.restore(),F.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=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=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,\\\"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\\\"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,u=[];return j(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(;u.length<t;)u.push(null);return u}(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;G.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\\\"depth\\\"in e&&(v.clearDepth(+e.depth),r|=256),\\\"stencil\\\"in e&&(v.clearStencil(0|e.stencil),r|=1024),v.clear(r)}function u(t){return X.push(t),r(),{cancel:function(){var e=N(X,t);X[e]=function t(){var e=N(X,t);X[e]=X[X.length-1],--X.length,0>=X.length&&n()}}}}function c(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){z.tick+=1,z.time=p(),c(),G.procs.poll()}function f(){c(),G.procs.refresh(),w&&w.update()}function p(){return(H()-M)/1e3}if(!(t=i(t)))return null;var v=t.gl,m=v.getContextAttributes();v.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={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\\\"'+a+'\\\" 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(!r(t))throw Error(\\\"(regl): error restoring extension \\\"+t)})}}}(v,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={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],u=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;if(0!==(t=a.length)){u.length=Math.max(u.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var r=u[0]=0;for(e=t=0;e<a.length;++e){var c=a[e];n.getQueryObjectEXT(c,34919)?(r+=n.getQueryObjectEXT(c,34918),i.push(c)):a[t++]=c,l[e+1]=r,u[e+1]=t}for(a.length=t,e=t=0;e<s.length;++e){var h=(r=s[e]).startQueryIndex;c=r.endQueryIndex,r.sum+=l[c]-l[h],h=u[h],(c=u[c])===h?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=h,r.endQueryIndex=c,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),M=H(),C=v.drawingBufferWidth,L=v.drawingBufferHeight,z={tick:0,time:0,viewportWidth:C,viewportHeight:L,framebufferWidth:C,framebufferHeight:L,drawingBufferWidth:C,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063)),{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:i,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)}}(v,_),I=d(v,b,t),D=g(v,_,I,b),O=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(v,_,P),S(v,x,b,t)),R=A(v,_,P,function(){G.procs.poll()},z,b,t),F=ft(v,_,0,b,t),V=k(v,_,P,R,F,b),G=B(v,x,_,P,I,D,0,V,{},C,O,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),W=(x=E(v,V,G.procs.poll,z),G.next),Y=v.canvas,X=[],Z=[],J=[],K=[t.onDestroy],Q=null;Y&&(Y.addEventListener(\\\"webglcontextlost\\\",a,!1),Y.addEventListener(\\\"webglcontextrestored\\\",o,!1));var $=V.setFBO=s({framebuffer:U.define.call(null,1,\\\"framebuffer\\\")});return f(),m=j(s,{clear:function(t){if(\\\"framebuffer\\\"in t)if(t.framebuffer&&\\\"framebufferCube\\\"===t.framebuffer_reglType)for(var e=0;6>e;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return I.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:u,on:function(t,e){var r;switch(t){case\\\"frame\\\":return u(e);case\\\"lost\\\":r=Z;break;case\\\"restore\\\":r=J;break;case\\\"destroy\\\":r=K}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:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){X.length=0,n(),Y&&(Y.removeEventListener(\\\"webglcontextlost\\\",a),Y.removeEventListener(\\\"webglcontextrestored\\\",o)),O.clear(),V.clear(),F.clear(),R.clear(),D.clear(),I.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:v,_refresh:f,poll:function(){h(),w&&w.update()},now:p,stats:b}),t.onDone(null,m),m}},\\\"object\\\"==typeof YR.exports?YR.exports=VR():jR.createREGL=VR(),YR=YR.exports;var ZR={keyFun:function(t){return t.key},repeat:XR,descend:Nt,wrap:XR,unwrap:function(t){return t[0]}},JR={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[\\\"contextLineLayer\\\",\\\"focusLineLayer\\\",\\\"pickLineLayer\\\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:\\\"magenta\\\",fillopacity:1,strokecolor:\\\"white\\\",strokeopacity:1,strokewidth:1,handleheight:16,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\\\"}},KR=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // visible coloring\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\"]),QR=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // pick coloring\\\\n    fragColor = vec4(pf.rgb, 1.0);\\\\n}\\\\n\\\"]),$R=E_([\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = fragColor;\\\\n}\\\\n\\\"]),tF=1e-6,eF=64,rF=2,nF=4,iF=[119,119,119],aF=new Uint8Array(4),oF=new Uint8Array(4);function sF(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function lF(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:aF})}(t),r.drawCompleted=!0),function s(l){var u;u=Math.min(n,i-l*n),a.offset=rF*l*n,a.count=rF*u,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sF(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function uF(t,e){return(t>>>8*e)%256/255}function cF(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<rF;a++)for(n=0;n<nF;n++)o.push(e[i*eF+r*nF+n]),r*nF+n===eF-1&&a%2==0&&(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[\\\"p\\\"+e.toString(16)]=t}),r}function hF(t,e,r){return t+e<=r}var fF=function(t,e,r){var n=e.model,i=e.viewModel,a=n.domain,o=n.lines,s=n.canvasWidth,l=n.canvasHeight,u=i.dimensions,c=i.panels,h=n.unitToColor,f=e.context,p=e.pick,d={currentRafs:{},drawCompleted:!0,clearOnly:!1},g=u.slice(),v=g.length,m=g[0]?g[0].values.length:0,y=f,x=p?o.color.map(function(t,e){return e/o.color.length}):o.color,b=Math.max(1/255,Math.pow(1/x.length,1/3)),_=o.canvasOverdrag,w=c.length,M=function(t,e,r,n){for(var i,a=[],o=0;o<t;o++)for(var s=0;s<eF;s++)a.push(s<e?r[s].paddedUnitValues[o]:s===eF-1?(i=n[o],Math.max(tF,Math.min(1-tF,i))):s>=eF-4?uF(o,eF-2-s):.5);return a}(m,v,g,x),A=cF(m,M),k=e.regl,T=k.texture({shape:[256,1],format:\\\"rgba\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\",data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?iF:a).concat(r))}return n}(h,f,Math.round(255*(f?b:1)))}),S=k({profile:!1,blend:{enable:y,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:!y,mask:!0,func:\\\"less\\\",range:[0,1]},cull:{enable:!0,face:\\\"back\\\"},scissor:{enable:!0,box:{x:k.prop(\\\"scissorX\\\"),y:k.prop(\\\"scissorY\\\"),width:k.prop(\\\"scissorWidth\\\"),height:k.prop(\\\"scissorHeight\\\")}},viewport:{x:k.prop(\\\"viewportX\\\"),y:k.prop(\\\"viewportY\\\"),width:k.prop(\\\"viewportWidth\\\"),height:k.prop(\\\"viewportHeight\\\")},dither:!1,vert:p?QR:KR,frag:$R,primitive:\\\"lines\\\",lineWidth:1,attributes:A,uniforms:{resolution:k.prop(\\\"resolution\\\"),viewBoxPosition:k.prop(\\\"viewBoxPosition\\\"),viewBoxSize:k.prop(\\\"viewBoxSize\\\"),dim1A:k.prop(\\\"dim1A\\\"),dim2A:k.prop(\\\"dim2A\\\"),dim1B:k.prop(\\\"dim1B\\\"),dim2B:k.prop(\\\"dim2B\\\"),dim1C:k.prop(\\\"dim1C\\\"),dim2C:k.prop(\\\"dim2C\\\"),dim1D:k.prop(\\\"dim1D\\\"),dim2D:k.prop(\\\"dim2D\\\"),loA:k.prop(\\\"loA\\\"),hiA:k.prop(\\\"hiA\\\"),loB:k.prop(\\\"loB\\\"),hiB:k.prop(\\\"hiB\\\"),loC:k.prop(\\\"loC\\\"),hiC:k.prop(\\\"hiC\\\"),loD:k.prop(\\\"loD\\\"),hiD:k.prop(\\\"hiD\\\"),palette:T,colorClamp:k.prop(\\\"colorClamp\\\"),scatter:k.prop(\\\"scatter\\\")},offset:k.prop(\\\"offset\\\"),count:k.prop(\\\"count\\\")}),E=[0,1];var C=[];function L(t,e,r,i,o,u,c,h,p,d,v){var m,y,x,b,M=[t,e],A=JR.verticalPadding/u,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),T=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(m=0;m<2;m++)for(b=M[m],y=0;y<4;y++)for(x=0;x<16;x++){var S=x+16*y;k[m][y][x]=x+16*y===b?1:0,T[m][y][x]=(!f&&hF(x,16*y,w)?g[0===S?0:1+(S-1)%(g.length-1)].filter[m]:m)+(2*m-1)*A}return{key:c,resolution:[s,l],viewBoxPosition:[r+_,i],viewBoxSize:[o,u],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:T[0][0],loB:T[0][1],loC:T[0][2],loD:T[0][3],hiA:T[1][0],hiB:T[1][1],hiC:T[1][2],hiD:T[1][3],colorClamp:E,scatter:h||0,scissorX:(p===d?0:r+_)+(n.pad.l-_)+n.layoutWidth*a.x[0],scissorWidth:(p===v?s-r+_:o+.5)+(p===d?r+_:0),scissorY:i+n.pad.b+n.layoutHeight*a.y[0],scissorHeight:u,viewportX:n.pad.l-_+n.layoutWidth*a.x[0],viewportY:n.pad.b+n.layoutHeight*a.y[0],viewportWidth:s,viewportHeight:l}}return{setColorDomain:function(t){E[0]=t[0],E[1]=t[1]},render:function(t,e,n){var i,a,u,c=1/0,h=-1/0;for(i=0;i<w;i++)t[i].dim2.canvasX>h&&(h=t[i].dim2.canvasX,u=i),t[i].dim1.canvasX<c&&(c=t[i].dim1.canvasX,a=i);for(0===w&&sF(k,0,0,s,l),i=0;i<w;i++){var f=t[i],p=f.dim1,g=p.crossfilterDimensionIndex,v=f.canvasX,y=f.canvasY,x=f.dim2.crossfilterDimensionIndex,b=f.panelSizeX,_=f.panelSizeY,M=v+b;if(e||!C[g]||C[g][0]!==v||C[g][1]!==M){C[g]=[v,M];var A=L(g,x,v,y,b,_,p.crossfilterDimensionIndex,r||p.scatter?1:0,i,a,u);d.clearOnly=n,lF(k,S,d,e?o.blockLineCount:m,m,A)}}},readPixel:function(t,e){return k.read({x:t,y:e,width:1,height:1,data:oF}),oF},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return k.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[\\\"pointer-events\\\"]=\\\"none\\\",T.destroy()}}},pF=ZR.keyFun,dF=ZR.repeat,gF=ZR.unwrap;function vF(t){return!(\\\"visible\\\"in t)||t.visible}function mF(t){var e=t.range?t.range[0]:ne.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:ne.aggNums(Math.max,null,t.values,t._length);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function yF(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];r<n.length;r++){if((o=Math.abs(n[r]-e))>i)return a;i=o,a=n[r]}return n[n.length-1]}function xF(t){return e.scale.linear().domain(mF(t))}function bF(t,r,n){var i=gF(r),a=i.trace,o=i.lineColor,s=i.cscale,l=a.line,u=a.domain,c=a.dimensions,h=t.width,f=a.labelfont,p=a.tickfont,d=a.rangefont,g=ne.extendDeep({},l,{color:o.map(xF({values:o,range:[l.cmin,l.cmax],_length:a._commonLength})),blockLineCount:JR.blockLineCount,canvasOverdrag:JR.overdrag*JR.canvasPixelRatio}),v=Math.floor(h*(u.x[1]-u.x[0])),m=Math.floor(t.height*(u.y[1]-u.y[0])),y=t.margin||{l:80,r:80,t:100,b:80},x=v,b=m;return{key:n,colCount:c.filter(vF).length,dimensions:c,tickDistance:JR.tickDistance,unitToColor:function(t){var r=t.map(function(t){return t[0]}),n=t.map(function(t){return t[1]}).map(function(t){return e.rgb(t)}),i=\\\"rgb\\\".split(\\\"\\\").map(function(t){return e.scale.linear().clamp(!0).domain(r).range(n.map((i=t,function(t){return t[i]})));var i});return function(t){return i.map(function(e){return e(t)})}}(s),lines:g,labelFont:f,tickFont:p,rangeFont:d,layoutWidth:h,layoutHeight:t.height,domain:u,translateX:u.x[0]*h,translateY:t.height-u.y[1]*t.height,pad:y,canvasWidth:x*JR.canvasPixelRatio+2*g.canvasOverdrag,canvasHeight:b*JR.canvasPixelRatio,width:x,height:b,canvasPixelRatio:JR.canvasPixelRatio}}function _F(t){var r=t.width,n=t.height,i=t.dimensions,a=t.canvasPixelRatio,o=function(e){return r*e/Math.max(1,t.colCount-1)},s=JR.verticalPadding/(n*a),l=1-2*s,u=function(t){return s+l*t},c={key:t.key,xScale:o,model:t},h={};return c.dimensions=i.filter(vF).map(function(r,i){var s=xF(r),l=h[r.label];h[r.label]=(l||0)+1;var f=r.label+(l?\\\"__\\\"+l:\\\"\\\"),p=r.values;return p.length>r._length&&(p=p.slice(0,r._length)),{key:f,label:r.label,tickFormat:r.tickformat,tickvals:r.tickvals,ticktext:r.ticktext,ordinal:!!r.tickvals,scatter:JR.scatter||r.scatter,xIndex:i,crossfilterDimensionIndex:i,visibleIndex:r._index,height:n,values:p,paddedUnitValues:p.map(s).map(u),xScale:o,x:o(i),canvasX:o(i)*a,unitScale:function(t,r){return e.scale.linear().range([t-r,r])}(n,JR.verticalPadding),domainScale:function(t,r,n){var i=mF(n),a=n.ticktext;return n.tickvals?e.scale.ordinal().domain(n.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(e.format(n.tickformat),a))).range(n.tickvals.map(function(t){return(t-i[0])/(i[1]-i[0])}).map(function(e){return t-r+e*(r-(t-r))})):e.scale.linear().domain(i).range([t-r,r])}(n,JR.verticalPadding,r),ordinalScale:function(t){var r=mF(t);return t.tickvals&&e.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-r[0])/(r[1]-r[0])}))}(r),domainToUnitScale:s,filter:r.constraintrange?r.constraintrange.map(s):[0,1],parent:c,model:t}}),c}function wF(t){t.classed(JR.cn.axisExtentText,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"user-select\\\",\\\"none\\\")}var MF={};(function(t){\\\"use strict\\\";MF=function(r,n){var i=r._fullLayout,a=i._toppaper,o=(i._paperdiv,i._glcontainer);i._glcanvas.each(function(e){e.regl||(e.regl=YR({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:r._context.plotGlPixelRatio||t.devicePixelRatio}))});var s={},l={},u=i._size;n.forEach(function(t,e){s[e]=r.data[e].dimensions,l[e]=r.data[e].dimensions.slice()});!function(t,r,n,i,a,o){var s=!1,l=!0;var u=i.filter(function(t){return gF(t).trace.visible}).map(bF.bind(0,a)).map(_F);n.each(function(t,e){return ne.extendFlat(t,u[e])});var c=n.selectAll(\\\".gl-canvas\\\").each(function(t){t.viewModel=u[0],t.model=t.viewModel?t.viewModel.model:null}),h={renderers:[],dimensions:[]},f=null;c.filter(function(t){return t.pick}).style(\\\"pointer-events\\\",\\\"auto\\\").on(\\\"mousemove\\\",function(t){if(l&&t.lineLayer&&o&&o.hover){var r=e.event,n=this.width,i=this.height,a=e.mouse(this),s=a[0],u=a[1];if(s<0||u<0||s>=n||u>=i)return;var c=t.lineLayer.readPixel(s,i-1-u),h=0!==c[3],p=h?c[2]+256*(c[1]+256*c[0]):null,d={x:s,y:u,clientX:r.clientX,clientY:r.clientY,dataIndex:t.model.key,curveNumber:p};p!==f&&(h?o.hover(d):o.unhover&&o.unhover(d),f=p)}}),c.style(\\\"opacity\\\",function(t){return t.pick?.01:1}),r.style(\\\"background\\\",\\\"rgba(255, 255, 255, 0)\\\");var p=r.selectAll(\\\".\\\"+JR.cn.parcoords).data(u,pF);p.exit().remove(),p.enter().append(\\\"g\\\").classed(JR.cn.parcoords,!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\\\",\\\"none\\\").call(function(t){var e=t.selectAll(\\\"defs\\\").data(dF,pF);e.enter().append(\\\"defs\\\");var r=e.selectAll(\\\"#\\\"+JR.id.filterBarPattern).data(dF,pF);r.enter().append(\\\"pattern\\\").attr(\\\"id\\\",JR.id.filterBarPattern).attr(\\\"patternUnits\\\",\\\"userSpaceOnUse\\\"),r.attr(\\\"x\\\",-JR.bar.width).attr(\\\"width\\\",JR.bar.capturewidth).attr(\\\"height\\\",function(t){return t.model.height});var n=r.selectAll(\\\"rect\\\").data(dF,pF);n.enter().append(\\\"rect\\\").attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),n.attr(\\\"height\\\",function(t){return t.model.height}).attr(\\\"width\\\",JR.bar.width).attr(\\\"x\\\",JR.bar.width/2).attr(\\\"fill\\\",JR.bar.fillcolor).attr(\\\"fill-opacity\\\",JR.bar.fillopacity).attr(\\\"stroke\\\",JR.bar.strokecolor).attr(\\\"stroke-opacity\\\",JR.bar.strokeopacity).attr(\\\"stroke-width\\\",JR.bar.strokewidth)}),p.attr(\\\"width\\\",function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(\\\"height\\\",function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.translateX+\\\",\\\"+t.model.translateY+\\\")\\\"});var d=p.selectAll(\\\".\\\"+JR.cn.parcoordsControlView).data(dF,pF);d.enter().append(\\\"g\\\").classed(JR.cn.parcoordsControlView,!0).style(\\\"box-sizing\\\",\\\"content-box\\\"),d.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.pad.l+\\\",\\\"+t.model.pad.t+\\\")\\\"});var g=d.selectAll(\\\".\\\"+JR.cn.yAxis).data(function(t){return t.dimensions},pF);function v(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function m(t,e){return(JR.scatter?function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o<i;o++)for(var s=0;s<i;s++){var l=r[s+o*i]||(r[s+o*i]={}),u=n[s],c=n[s+1];l.dim1=n[o+1],l.dim2=c,l.canvasX=u.canvasX,l.panelSizeX=c.canvasX-u.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}:function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a<1;a++)for(var o=0;o<i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],u=n[o+1];s.dim1=l,s.dim2=u,s.canvasX=l.canvasX,s.panelSizeX=u.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}})(t,e)}g.enter().append(\\\"g\\\").classed(JR.cn.yAxis,!0).each(function(t){h.dimensions.push(t)}),d.each(function(t){m(g,t)}),c.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=fF(this,t,JR.scatter),t.viewModel[t.key]=t.lineLayer,h.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),g.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),g.call(e.behavior.drag().origin(function(t){return t}).on(\\\"drag\\\",function(t){var r=t.parent;l=!1,s||(t.x=Math.max(-JR.overdrag,Math.min(t.model.width+JR.overdrag,e.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,g.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}),m(g,r),g.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),e.select(this).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\", 0)\\\"),g.each(function(e,n,i){i===t.parent.key&&(r.dimensions[n]=e)}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer.render&&r.focusLayer.render(r.panels))}).on(\\\"dragend\\\",function(t){var r=t.parent;s?\\\"ending\\\"===s&&(s=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,m(g,r),e.select(this).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\", 0)\\\"}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer&&r.focusLayer.render(r.panels),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,o&&o.axesMoved&&o.axesMoved(r.key,r.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),g.exit().remove();var y=g.selectAll(\\\".\\\"+JR.cn.axisOverlays).data(dF,pF);y.enter().append(\\\"g\\\").classed(JR.cn.axisOverlays,!0),y.selectAll(\\\".\\\"+JR.cn.axis).remove();var x=y.selectAll(\\\".\\\"+JR.cn.axis).data(dF,pF);x.enter().append(\\\"g\\\").classed(JR.cn.axis,!0),x.each(function(t){var r=t.model.height/t.model.tickDistance,n=t.domainScale,i=n.domain();e.select(this).call(e.svg.axis().orient(\\\"left\\\").tickSize(4).outerTickSize(2).ticks(r,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat(t.ordinal?function(t){return t}:null).scale(n)),Sr.font(x.selectAll(\\\"text\\\"),t.model.tickFont)}),x.selectAll(\\\".domain, .tick>line\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-opacity\\\",.25).attr(\\\"stroke-width\\\",\\\"1px\\\"),x.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 b=y.selectAll(\\\".\\\"+JR.cn.axisHeading).data(dF,pF);b.enter().append(\\\"g\\\").classed(JR.cn.axisHeading,!0);var _=b.selectAll(\\\".\\\"+JR.cn.axisTitle).data(dF,pF);_.enter().append(\\\"text\\\").classed(JR.cn.axisTitle,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"ew-resize\\\").style(\\\"user-select\\\",\\\"none\\\").style(\\\"pointer-events\\\",\\\"auto\\\"),_.attr(\\\"transform\\\",\\\"translate(0,\\\"+-JR.axisTitleOffset+\\\")\\\").text(function(t){return t.label}).each(function(t){Sr.font(_,t.model.labelFont)});var w=y.selectAll(\\\".\\\"+JR.cn.axisExtent).data(dF,pF);w.enter().append(\\\"g\\\").classed(JR.cn.axisExtent,!0);var M=w.selectAll(\\\".\\\"+JR.cn.axisExtentTop).data(dF,pF);M.enter().append(\\\"g\\\").classed(JR.cn.axisExtentTop,!0),M.attr(\\\"transform\\\",\\\"translate(0,\\\"+-JR.axisExtentOffset+\\\")\\\");var A=M.selectAll(\\\".\\\"+JR.cn.axisExtentTopText).data(dF,pF);function k(t){return t.ordinal?function(){return\\\"\\\"}:e.format(t.tickFormat)}A.enter().append(\\\"text\\\").classed(JR.cn.axisExtentTopText,!0).call(wF),A.text(function(t){return k(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){Sr.font(A,t.model.rangeFont)});var T=w.selectAll(\\\".\\\"+JR.cn.axisExtentBottom).data(dF,pF);T.enter().append(\\\"g\\\").classed(JR.cn.axisExtentBottom,!0),T.attr(\\\"transform\\\",function(t){return\\\"translate(0,\\\"+(t.model.height+JR.axisExtentOffset)+\\\")\\\"});var S=T.selectAll(\\\".\\\"+JR.cn.axisExtentBottomText).data(dF,pF);S.enter().append(\\\"text\\\").classed(JR.cn.axisExtentBottomText,!0).attr(\\\"dy\\\",\\\"0.75em\\\").call(wF),S.text(function(t){return k(t)(t.domainScale.domain()[0])}).each(function(t){Sr.font(S,t.model.rangeFont)});var E=y.selectAll(\\\".\\\"+JR.cn.axisBrush).data(dF,pF),C=E.enter().append(\\\"g\\\").classed(JR.cn.axisBrush,!0);E.each(function(t){t.brush||(t.brush=e.svg.brush().y(t.unitScale).on(\\\"brushstart\\\",P).on(\\\"brush\\\",I).on(\\\"brushend\\\",D),0===t.filter[0]&&1===t.filter[1]||t.brush.extent(t.filter),e.select(this).call(t.brush))}),C.selectAll(\\\"rect\\\").attr(\\\"x\\\",-JR.bar.capturewidth/2).attr(\\\"width\\\",JR.bar.capturewidth),C.selectAll(\\\"rect.extent\\\").attr(\\\"fill\\\",\\\"url(#\\\"+JR.id.filterBarPattern+\\\")\\\").style(\\\"cursor\\\",\\\"ns-resize\\\").filter(function(t){return 0===t.filter[0]&&1===t.filter[1]}).attr(\\\"y\\\",-100),C.selectAll(\\\".resize rect\\\").attr(\\\"height\\\",JR.bar.handleheight).attr(\\\"opacity\\\",0).style(\\\"visibility\\\",\\\"visible\\\"),C.selectAll(\\\".resize.n rect\\\").style(\\\"cursor\\\",\\\"n-resize\\\").attr(\\\"y\\\",JR.bar.handleoverlap-JR.bar.handleheight),C.selectAll(\\\".resize.s rect\\\").style(\\\"cursor\\\",\\\"s-resize\\\").attr(\\\"y\\\",JR.bar.handleoverlap);var L=!1,z=!1;function P(){L=!0,s=!0}function I(t){l=!1;var r=t.parent,n=t.brush.extent(),i=r.dimensions,a=i[t.xIndex].filter,o=L&&n[0]===n[1];o&&(t.brush.clear(),e.select(this).select(\\\"rect.extent\\\").attr(\\\"y\\\",-100));var s=o?[0,1]:n.slice();if(s[0]!==a[0]||s[1]!==a[1]){i[t.xIndex].filter=s,r.focusLayer&&r.focusLayer.render(r.panels,!0);var u=v(r);!z&&u?(r.contextLayer&&r.contextLayer.render(r.panels,!0),z=!0):z&&!u&&(r.contextLayer&&r.contextLayer.render(r.panels,!0,!0),z=!1)}L=!1}function D(t){var r=t.parent,n=t.brush.extent(),i=n[0]===n[1],a=r.dimensions[t.xIndex].filter;if(!i&&t.ordinal&&(a[0]=yF(t.ordinalScale,a[0]),a[1]=yF(t.ordinalScale,a[1]),a[0]===a[1]&&(a[0]=Math.max(0,a[0]-.05),a[1]=Math.min(1,a[1]+.05)),e.select(this).transition().duration(150).call(t.brush.extent(a)),r.focusLayer.render(r.panels,!0)),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,s=\\\"ending\\\",o&&o.filterChanged){var u=t.domainToUnitScale.invert,c=a.map(u);o.filterChanged(r.key,t.visibleIndex,c)}}}(0,a,o,n,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(t,e,n){var i=l[t][e],a=i.constraintrange;a&&2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],r.emit(\\\"plotly_restyle\\\")},hover:function(t){r.emit(\\\"plotly_hover\\\",t)},unhover:function(t){r.emit(\\\"plotly_unhover\\\",t)},axesMoved:function(t,e){function n(t){return!(\\\"visible\\\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(r,n){return i(e,t,r)-i(e,t,n)}}(l[t].filter(n));s[t].sort(a),l[t].filter(function(t){return!n(t)}).sort(function(e){return l[t].indexOf(e)}).forEach(function(e){s[t].splice(s[t].indexOf(e),1),s[t].splice(l[t].indexOf(e),0,e)}),r.emit(\\\"plotly_restyle\\\")}})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var AF={},kF=sa.getModuleCalcData;AF.name=\\\"parcoords\\\",AF.plot=function(t){var e=kF(t.calcdata,\\\"parcoords\\\");e.length&&MF(t,e)},AF.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"parcoords\\\"),a=e._has&&e._has(\\\"parcoords\\\");i&&!a&&(n._paperdiv.selectAll(\\\".parcoords\\\").remove(),n._glimages.selectAll(\\\"*\\\").remove())},AF.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\\\".svg-container\\\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\\\".gl-canvas-context, .gl-canvas-focus\\\").each(function(){var t=this.toDataURL(\\\"image/png\\\");r.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":t,preserveAspectRatio:\\\"none\\\",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){e.selectAll(\\\"#filterBarPattern\\\").attr(\\\"id\\\",\\\"filterBarPattern\\\")},60)};var TF=ZR.wrap;var SF=JR.maxDimensionCount,EF=qc.defaults;var CF={};CF.attributes=WR,CF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,WR,r,n)}var a=function(t,e){var r,n,i,a=t.dimensions||[],o=e.dimensions=[],s=1/0;function l(t,e){return ne.coerce(r,n,WR.dimensions,t,e)}for(a.length>SF&&(ne.log(\\\"parcoords traces support up to \\\"+SF+\\\" dimensions at the moment\\\"),a.splice(SF)),i=0;i<a.length;i++)if(r=a[i],n={},ne.isPlainObject(r)){var u=l(\\\"values\\\"),c=l(\\\"visible\\\");u&&u.length||(c=n.visible=!1),c&&(l(\\\"label\\\"),l(\\\"tickvals\\\"),l(\\\"ticktext\\\"),l(\\\"tickformat\\\"),l(\\\"range\\\"),l(\\\"constraintrange\\\"),s=Math.min(s,u.length)),n._index=i,o.push(n)}return e._commonLength=s,o}(t,e);!function(t,e,r,n,i){var a=i(\\\"line.color\\\",r);Xe(t,\\\"line\\\")&&ne.isArrayOrTypedArray(a)&&(a.length?(i(\\\"line.colorscale\\\"),Ye(t,e,n,i,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"}),e._commonLength=Math.min(e._commonLength,a.length)):e.line.color=r)}(t,e,r,n,i),EF(e,n,i),Array.isArray(a)&&a.length||(e.visible=!1);for(var o=0;o<a.length;o++)a[o].visible&&(a[o]._length=e._commonLength);var s={family:n.font.family,size:Math.round(n.font.size/1.2),color:n.font.color};ne.coerceFont(i,\\\"labelfont\\\",s),ne.coerceFont(i,\\\"tickfont\\\",s),ne.coerceFont(i,\\\"rangefont\\\",s)},CF.calc=function(t,e){var r=!!e.line.colorscale&&ne.isArrayOrTypedArray(e.line.color),n=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._commonLength),i=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return Xe(e,\\\"line\\\")&&Ve(e,n,\\\"line\\\",\\\"c\\\"),TF({lineColor:n,cscale:i})},CF.plot=MF,CF.colorbar=function(t,e){var n=e[0].trace,i=n.line,a=\\\"cb\\\"+n.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},CF.moduleType=\\\"trace\\\",CF.name=\\\"parcoords\\\",CF.basePlotModule=AF,CF.categories=[\\\"gl\\\",\\\"regl\\\",\\\"noOpacity\\\"],CF.meta={};var LF=CF,zF=qc.attributes,PF=m.extendFlat,IF=T({editType:\\\"calc\\\",colorEditType:\\\"style\\\"}),DF={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:C.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:\\\"calc\\\"},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:PF({},E.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"auto\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:PF({},IF,{}),insidetextfont:PF({},IF,{}),outsidetextfont:PF({},IF,{}),domain:zF({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\\\"}},OF={};OF.name=\\\"pie\\\",OF.plot=function(t){var e=P.getModule(\\\"pie\\\"),r=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&!0===a.visible&&r.push(i)}return r}(t.calcdata,e);r.length&&e.plot(t,r)},OF.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"pie\\\"),a=e._has&&e._has(\\\"pie\\\");i&&!a&&n._pielayer.selectAll(\\\"g.trace\\\").remove()};var RF,FF=ne.isArrayOrTypedArray;function BF(t,e){if(!RF){var r=Oe.defaults;RF=NF(r)}var n=e||RF;return n[t%n.length]}function NF(t){var e,r=t.slice();for(e=0;e<t.length;e++)r.push(s(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)r.push(s(t[e]).darken(20).toHexString());return r}var jF=qc.defaults,VF={hiddenlabels:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}},UF=Ya.appendArrayMultiPointValues,qF=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,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),UF(r,e,t.pts),r};function HF(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function GF(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}var WF={};WF.attributes=DF,WF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,DF,r,n)}var a=ne.coerceFont,o=i(\\\"values\\\"),s=i(\\\"labels\\\");if(!Array.isArray(s)){if(!ne.isArrayOrTypedArray(o)||!o.length)return void(e.visible=!1);i(\\\"label0\\\"),i(\\\"dlabel\\\")}i(\\\"marker.line.width\\\")&&i(\\\"marker.line.color\\\"),i(\\\"marker.colors\\\"),i(\\\"scalegroup\\\");var l=i(\\\"text\\\"),u=i(\\\"textinfo\\\",Array.isArray(l)?\\\"text+percent\\\":\\\"percent\\\");if(i(\\\"hovertext\\\"),u&&\\\"none\\\"!==u){var c=i(\\\"textposition\\\"),h=Array.isArray(c)||\\\"auto\\\"===c,f=h||\\\"inside\\\"===c,p=h||\\\"outside\\\"===c;if(f||p){var d=a(i,\\\"textfont\\\",n.font);f&&a(i,\\\"insidetextfont\\\",d),p&&a(i,\\\"outsidetextfont\\\",d)}}jF(e,n,i),i(\\\"hole\\\"),i(\\\"sort\\\"),i(\\\"direction\\\"),i(\\\"rotation\\\"),i(\\\"pull\\\")},WF.supplyLayoutDefaults=function(t,e){var r,n;r=\\\"hiddenlabels\\\",ne.coerce(t,e,VF,r,n)},WF.layoutAttributes=VF,WF.calc=function(t,e){var n,i,a,o,l,u=e.values,c=FF(u)&&u.length,h=e.labels,f=e.marker.colors||[],p=[],d=t._fullLayout,g=d.colorway,v=d._piecolormap,m={},y=0,x=d.hiddenlabels||[];if(d._piecolorway||g===Oe.defaults||(d._piecolorway=NF(g)),e.dlabel)for(h=new Array(u.length),n=0;n<u.length;n++)h[n]=String(e.label0+n*e.dlabel);function b(t,e){return!!t&&!!(t=s(t)).isValid()&&(t=Oe.addOpacity(t,t.getAlpha()),v[e]||(v[e]=t),t)}var _=(c?u:h).length;for(n=0;n<_;n++){if(c){if(i=u[n],!r(i))continue;if((i=+i)<0)continue}else i=1;void 0!==(a=h[n])&&\\\"\\\"!==a||(a=n);var w=m[a=String(a)];void 0===w?(m[a]=p.length,(o=-1!==x.indexOf(a))||(y+=i),p.push({v:i,label:a,color:b(f[n]),i:n,pts:[n],hidden:o})):((l=p[w]).v+=i,l.pts.push(n),l.hidden||(y+=i),!1===l.color&&f[n]&&(l.color=b(f[n],a)))}for(e.sort&&p.sort(function(t,e){return e.v-t.v}),n=0;n<p.length;n++)!1===(l=p[n]).color&&(v[l.label]?l.color=v[l.label]:(v[l.label]=l.color=BF(d._piedefaultcolorcount,d._piecolorway),d._piedefaultcolorcount++));if(p[0]&&(p[0].vTotal=y),e.textinfo&&\\\"none\\\"!==e.textinfo){var M,A=-1!==e.textinfo.indexOf(\\\"label\\\"),k=-1!==e.textinfo.indexOf(\\\"text\\\"),T=-1!==e.textinfo.indexOf(\\\"value\\\"),S=-1!==e.textinfo.indexOf(\\\"percent\\\"),E=d.separators;for(n=0;n<p.length;n++){if(l=p[n],M=A?[l.label]:[],k){var C=Gd.getFirstFilled(e.text,l.pts);C&&M.push(C)}T&&M.push(Gd.formatPieValue(l.v,E)),S&&M.push(Gd.formatPiePercent(l.v/y,E)),l.text=M.join(\\\"<br>\\\")}}return p},WF.plot=function(t,r){var n=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,u,c,h=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===h.indexOf(s.scalegroup)&&h.push(s.scalegroup)}for(a=0;a<h.length;a++){for(c=1/0,u=h[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(c=Math.min(c,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(o.r=Math.sqrt(c*o.vTotal))}}(r,n._size);var i=n._pielayer.selectAll(\\\"g.trace\\\").data(r);i.enter().append(\\\"g\\\").attr({\\\"stroke-linejoin\\\":\\\"round\\\",class:\\\"trace\\\"}),i.exit().remove(),i.order(),i.each(function(r){var i=e.select(this),a=r[0],o=a.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\\\"px0\\\",u=\\\"px1\\\";if(\\\"counterclockwise\\\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\\\"px1\\\",u=\\\"px0\\\"}function c(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=c(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=c(o),r.midangle=o,o+=s*r.v/2,n=c(o),r[u]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(r),i.each(function(){var i=e.select(this).selectAll(\\\"g.slice\\\").data(r);i.enter().append(\\\"g\\\").classed(\\\"slice\\\",!0),i.exit().remove();var s=[[[],[]],[[],[]]],l=!1;i.each(function(r){if(r.hidden)e.select(this).selectAll(\\\"path,g\\\").remove();else{r.pointNumber=r.i,r.curveNumber=o.index,s[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var i=a.cx,u=a.cy,c=e.select(this),h=c.selectAll(\\\"path.surface\\\").data([r]),f=!1,p=!1;if(h.enter().append(\\\"path\\\").classed(\\\"surface\\\",!0).style({\\\"pointer-events\\\":\\\"all\\\"}),c.select(\\\"path.textline\\\").remove(),c.on(\\\"mouseover\\\",function(){var s=t._fullLayout,l=t._fullData[o.index];if(!t._dragging&&!1!==s.hovermode){var c=l.hoverinfo;if(Array.isArray(c)&&(c=yo.castHoverinfo({hoverinfo:[Gd.castOption(c,r.pts)],_module:o._module},s,0)),\\\"all\\\"===c&&(c=\\\"label+text+value+percent+name\\\"),\\\"none\\\"!==c&&\\\"skip\\\"!==c&&c){var h=HF(r,a),d=i+r.pxmid[0]*(1-h),g=u+r.pxmid[1]*(1-h),v=n.separators,m=[];if(-1!==c.indexOf(\\\"label\\\")&&m.push(r.label),-1!==c.indexOf(\\\"text\\\")){var y=Gd.castOption(l.hovertext||l.text,r.pts);y&&m.push(y)}-1!==c.indexOf(\\\"value\\\")&&m.push(Gd.formatPieValue(r.v,v)),-1!==c.indexOf(\\\"percent\\\")&&m.push(Gd.formatPiePercent(r.v/a.vTotal,v));var x=o.hoverlabel,b=x.font;yo.loneHover({x0:d-h*a.r,x1:d+h*a.r,y:g,text:m.join(\\\"<br>\\\"),name:-1!==c.indexOf(\\\"name\\\")?l.name:void 0,idealAlign:r.pxmid[0]<0?\\\"left\\\":\\\"right\\\",color:Gd.castOption(x.bgcolor,r.pts)||r.color,borderColor:Gd.castOption(x.bordercolor,r.pts),fontFamily:Gd.castOption(b.family,r.pts),fontSize:Gd.castOption(b.size,r.pts),fontColor:Gd.castOption(b.color,r.pts)},{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:t}),f=!0}t.emit(\\\"plotly_hover\\\",{points:[qF(r,l)],event:e.event}),p=!0}}).on(\\\"mouseout\\\",function(n){var i=t._fullLayout,a=t._fullData[o.index];p&&(n.originalEvent=e.event,t.emit(\\\"plotly_unhover\\\",{points:[qF(r,a)],event:e.event}),p=!1),f&&(yo.loneUnhover(i._hoverlayer.node()),f=!1)}).on(\\\"click\\\",function(){var n=t._fullLayout,i=t._fullData[o.index];t._dragging||!1===n.hovermode||(t._hoverdata=[qF(r,i)],yo.click(t,e.event))}),o.pull){var d=+Gd.castOption(o.pull,r.pts)||0;d>0&&(i+=d*r.pxmid[0],u+=d*r.pxmid[1])}r.cxFinal=i,r.cyFinal=u;var g=o.hole;if(r.v===a.vTotal){var v=\\\"M\\\"+(i+r.px0[0])+\\\",\\\"+(u+r.px0[1])+_(r.px0,r.pxmid,!0,1)+_(r.pxmid,r.px0,!0,1)+\\\"Z\\\";g?h.attr(\\\"d\\\",\\\"M\\\"+(i+g*r.px0[0])+\\\",\\\"+(u+g*r.px0[1])+_(r.px0,r.pxmid,!1,g)+_(r.pxmid,r.px0,!1,g)+\\\"Z\\\"+v):h.attr(\\\"d\\\",v)}else{var m=_(r.px0,r.px1,!0,1);if(g){var y=1-g;h.attr(\\\"d\\\",\\\"M\\\"+(i+g*r.px1[0])+\\\",\\\"+(u+g*r.px1[1])+_(r.px1,r.px0,!1,g)+\\\"l\\\"+y*r.px0[0]+\\\",\\\"+y*r.px0[1]+m+\\\"Z\\\")}else h.attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+u+\\\"l\\\"+r.px0[0]+\\\",\\\"+r.px0[1]+m+\\\"Z\\\")}var x=Gd.castOption(o.textposition,r.pts),b=c.selectAll(\\\"g.slicetext\\\").data(r.text&&\\\"none\\\"!==x?[0]:[]);b.enter().append(\\\"g\\\").classed(\\\"slicetext\\\",!0),b.exit().remove(),b.each(function(){var n=e.select(this).selectAll(\\\"text\\\").data([0]);n.enter().append(\\\"text\\\").attr(\\\"data-notex\\\",1),n.exit().remove(),n.text(r.text).attr({class:\\\"slicetext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\"}).call(Sr.font,\\\"outside\\\"===x?o.outsidetextfont:o.insidetextfont).call(er.convertToTspans,t);var s,c=Sr.bBox(n.node());\\\"outside\\\"===x?s=GF(c,r):(s=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=HF(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var u=i+1/(2*Math.tan(a)),c=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*c/t.height,rCenter:Math.cos(c/r.r)-c*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},f=1/i,p=f+1/(2*Math.tan(a)),d=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),o/(Math.sqrt(f*f+o/2)+f)),g={scale:2*d/t.width,rCenter:Math.cos(d/r.r)-d/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale>h.scale?g:h;return l.scale<1&&v.scale>l.scale?v:l}(c,r,a),\\\"auto\\\"===x&&s.scale<1&&(n.call(Sr.font,o.outsidetextfont),o.outsidetextfont.family===o.insidetextfont.family&&o.outsidetextfont.size===o.insidetextfont.size||(c=Sr.bBox(n.node())),s=GF(c,r)));var h=i+r.pxmid[0]*s.rCenter+(s.x||0),f=u+r.pxmid[1]*s.rCenter+(s.y||0);s.outside&&(r.yLabelMin=f-c.height/2,r.yLabelMid=f,r.yLabelMax=f+c.height/2,r.labelExtraX=0,r.labelExtraY=0,l=!0),n.attr(\\\"transform\\\",\\\"translate(\\\"+h+\\\",\\\"+f+\\\")\\\"+(s.scale<1?\\\"scale(\\\"+s.scale+\\\")\\\":\\\"\\\")+(s.rotate?\\\"rotate(\\\"+s.rotate+\\\")\\\":\\\"\\\")+\\\"translate(\\\"+-(c.left+c.right)/2+\\\",\\\"+-(c.top+c.bottom)/2+\\\")\\\")})}function _(t,e,n,i){return\\\"a\\\"+i*a.r+\\\",\\\"+i*a.r+\\\" 0 \\\"+r.largeArc+(n?\\\" 1 \\\":\\\" 0 \\\")+i*(e[0]-t[0])+\\\",\\\"+i*(e[1]-t[1])}}),l&&function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d;function g(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,f,p,d,g=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),x=g-v;if(x*l>0&&(t.labelExtraY=x),Array.isArray(e.pull))for(u=0;u<h.length;u++)(c=h[u])===t||(Gd.castOption(e.pull,t.pts)||0)>=(Gd.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(f=c.cyFinal+o(c.px0[1],c.px1[1]),(x=f-v-t.labelExtraY)*l>0&&(t.labelExtraY+=x)):(m+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),p=c.cxFinal+a(c.px0[0],c.px1[0]),(d=p+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=d)))}for(n=0;n<2;n++)for(i=n?g:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),c=t[1-n][r],h=c.concat(u),p=[],f=0;f<u.length;f++)void 0!==u[f].yLabelMid&&p.push(u[f]);for(d=!1,f=0;n&&f<c.length;f++)if(void 0!==c[f].yLabelMid){d=c[f];break}for(f=0;f<p.length;f++){var y=f&&p[f-1];d&&!f&&(y=d),m(p[f],y)}}}(s,o),i.each(function(t){if(t.labelExtraX||t.labelExtraY){var r=e.select(this),n=r.select(\\\"g.slicetext text\\\");n.attr(\\\"transform\\\",\\\"translate(\\\"+t.labelExtraX+\\\",\\\"+t.labelExtraY+\\\")\\\"+n.attr(\\\"transform\\\"));var i=t.cxFinal+t.pxmid[0],a=\\\"M\\\"+i+\\\",\\\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],u=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(u)?a+=\\\"l\\\"+u*t.pxmid[0]/t.pxmid[1]+\\\",\\\"+u+\\\"H\\\"+(i+t.labelExtraX+s):a+=\\\"l\\\"+t.labelExtraX+\\\",\\\"+l+\\\"v\\\"+(u-l)+\\\"h\\\"+s}else a+=\\\"V\\\"+(t.yLabelMid+t.labelExtraY)+\\\"h\\\"+s;r.append(\\\"path\\\").classed(\\\"textline\\\",!0).call(Oe.stroke,o.outsidetextfont.color).attr({\\\"stroke-width\\\":Math.min(2,o.outsidetextfont.size/8),d:a,fill:\\\"none\\\"})}})})}),setTimeout(function(){i.selectAll(\\\"tspan\\\").each(function(){var t=e.select(this);t.attr(\\\"dy\\\")&&t.attr(\\\"dy\\\",t.attr(\\\"dy\\\"))})},0)},WF.style=function(t){t._fullLayout._pielayer.selectAll(\\\".trace\\\").each(function(t){var r=t[0].trace,n=e.select(this);n.style({opacity:r.opacity}),n.selectAll(\\\"path.surface\\\").each(function(t){e.select(this).call(Yd,t,r)})})},WF.styleOne=Yd,WF.moduleType=\\\"trace\\\",WF.name=\\\"pie\\\",WF.basePlotModule=OF,WF.categories=[\\\"pie\\\",\\\"showLegend\\\"],WF.meta={};var YF=WF,XF={x:Zr.x,y:Zr.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:Zr.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\\\"}},ZF={};ZF.pointVertex=E_([\\\"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}\\\"]),ZF.pointFragment=E_([\\\"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\\\"]),ZF.pickVertex=E_([\\\"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\\\"]),ZF.pickFragment=E_([\\\"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\\\"]);var JF=function(t,e){var r=t.gl,n=S_(r),i=S_(r),a=Bw(r,ZF.pointVertex,ZF.pointFragment),o=Bw(r,ZF.pickVertex,ZF.pickFragment),s=new KF(t,n,i,a,o);return s.update(e),t.addObject(s),s};function KF(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,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}var QF=KF.prototype;QF.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},QF.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,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,o=t.positions,s=i?o:__.mallocFloat32(o.length),l=a?t.idToIndex:__.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),e=0;e<n;e++)l[e]=e;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(l),i||__.free(s),a||__.free(l),this.pointCount=n,this.pickOffset=0},QF.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],u=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,o),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(u,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=c<5,i.uniforms.pointSize=c,i.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&&(e[0]=255&r,e[1]=r>>8&255,e[2]=r>>16&255,e[3]=r>>24&255,this.pickBuffer.bind(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var h=a.getParameter(a.BLEND),f=a.getParameter(a.DITHER);return h&&!this.blend&&a.disable(a.BLEND),f&&a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),h&&!this.blend&&a.enable(a.BLEND),f&&a.enable(a.DITHER),r+this.pointCount}}(),QF.draw=QF.unifiedDraw,QF.drawPick=QF.unifiedDraw,QF.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}};var $F=jn;function tB(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=JF(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var eB=tB.prototype;eB.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}},eB.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=mx(t,{})},eB.updateFast=function(t){var e,r,n,i,a,o,s=this.xData=this.pickXData=t.x,l=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,c=t.xbounds&&t.ybounds,h=t.indices,f=this.bounds;if(u){if(n=u,e=u.length>>>1,c)f[0]=t.xbounds[0],f[2]=t.xbounds[1],f[1]=t.ybounds[0],f[3]=t.ybounds[1];else for(o=0;o<e;o++)i=n[2*o],a=n[2*o+1],i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);if(h)r=h;else for(r=new Int32Array(e),o=0;o<e;o++)r[o]=o}else for(e=s.length,n=new Float32Array(2*e),r=new Int32Array(e),o=0;o<e;o++)i=s[o],a=l[o],r[o]=o,n[2*o]=i,n[2*o+1]=a,i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=WC(t.marker.color),d=WC(t.marker.border.color),g=t.opacity*t.marker.opacity;p[3]*=g,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){v=s.length<100||l.length<100}this.pointcloudOptions.blend=v,d[3]*=g,this.pointcloudOptions.borderColor=d;var m=t.marker.sizemin,y=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=m,this.pointcloudOptions.sizeMax=y,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(f,y/2)},eB.expandAxesFast=function(t,e){var r=e||.5;$F(this.scene.xaxis,[t[0],t[2]],{ppad:r}),$F(this.scene.yaxis,[t[1],t[3]],{ppad:r})},eB.dispose=function(){this.pointcloud.dispose()};var rB=function(t,e){var r=new tB(t,e.uid);return r.update(e),r},nB=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return dh(r,e),ex(e),r},iB={};iB.attributes=XF,iB.supplyDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,XF,r,n)}n(\\\"x\\\"),n(\\\"y\\\"),n(\\\"xbounds\\\"),n(\\\"ybounds\\\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),n(\\\"text\\\"),n(\\\"marker.color\\\",r),n(\\\"marker.opacity\\\"),n(\\\"marker.blend\\\"),n(\\\"marker.sizemin\\\"),n(\\\"marker.sizemax\\\"),n(\\\"marker.border.color\\\",r),n(\\\"marker.border.arearatio\\\")},iB.calc=nB,iB.plot=rB,iB.moduleType=\\\"trace\\\",iB.name=\\\"pointcloud\\\",iB.basePlotModule=sL,iB.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"showLegend\\\"],iB.meta={};var aB=iB,oB=qc.attributes,sB=m.extendFlat,lB=(0,ye.overrideAll)({hoverinfo:sB({},E.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),hoverlabel:S.hoverlabel,domain:oB({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:T({}),node:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:C.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}},link:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:C.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:[]}}},\\\"calc\\\",\\\"nested\\\"),uB={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\\\"cubic-in-out\\\",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\\\"}},cB={exports:{}};!function(t,e){\\\"object\\\"==typeof cB.exports?e(cB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,u=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(u+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(u+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return u/(a-1)},u=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},c=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},h=Array.prototype,f=h.slice,p=h.map,d=function(t){return function(){return t}},g=function(t){return t},v=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=m?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=m?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=m?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},M=function(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,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},k=function(t){if(!(i=t.length))return[];for(var e=-1,r=A(t,T),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,u=e.length,c=new Array(l*u);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<u;++i,++a)c[a]=r(s,e[i]);return c},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=u,t.extent=c,t.histogram=function(){var t=g,e=c,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var u=e(l),c=u[0],h=u[1],f=r(l,c,h);Array.isArray(f)||(f=_(c,h,f),f=v(Math.ceil(c/f)*f,Math.floor(h/f)*f,f));for(var p=f.length;f[0]<=c;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?f[a-1]:c,d.x1=a<p?f[a]:h;for(a=0;a<s;++a)c<=(o=l[a])&&o<=h&&g[i(f,o,0,p)].push(n[a]);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*(M(t,.75)-M(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*u(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return M(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=M,t.range=v,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=k,t.variance=l,t.zip=function(){return k(arguments)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),cB=cB.exports;var hB={exports:{}};!function(t,e){\\\"object\\\"==typeof hB.exports?e(hB.exports):e(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 i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}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)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function u(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=u.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=[],u=[];function c(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,u,h,f=-1,p=n.length,d=l[i++],g=r(),v=a();++f<p;)(h=g.get(s=d(u=n[f])+\\\"\\\"))?h.push(u):g.set(s,[u]);return g.each(function(t,e){o(v,e,c(t,i,a,o))}),v}return s={object:function(t){return c(t,0,n,i)},map:function(t){return c(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=u[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(c(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return u[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=u,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})}),hB=hB.exports;var fB={exports:{}};!function(t,e){\\\"object\\\"==typeof fB.exports?e(fB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e=function(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 i=\\\"\\\\\\\\s*([+-]?\\\\\\\\d+)\\\\\\\\s*\\\",a=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)\\\\\\\\s*\\\",o=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)%\\\\\\\\s*\\\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,u=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[i,i,i]+\\\"\\\\\\\\)$\\\"),c=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[o,o,o]+\\\"\\\\\\\\)$\\\"),h=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[i,i,i,a]+\\\"\\\\\\\\)$\\\"),f=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[o,o,o,a]+\\\"\\\\\\\\)$\\\"),p=new RegExp(\\\"^hsl\\\\\\\\(\\\"+[a,o,o]+\\\"\\\\\\\\)$\\\"),d=new RegExp(\\\"^hsla\\\\\\\\(\\\"+[a,o,o,a]+\\\"\\\\\\\\)$\\\"),g={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 v(t){var e;return t=(t+\\\"\\\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=u.exec(t))?new _(e[1],e[2],e[3],1):(e=c.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):\\\"transparent\\\"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function M(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,u=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=u<.5?o+a:2-o-a,s*=60):l=u>0&&u<1?0:s,new A(s,l,u,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function k(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,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\\\"\\\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){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+\\\")\\\")}})),e(A,M,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(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,i=2*r-n;return new _(k(t>=240?t-240:t+120,i,n),k(t,i,n),k(t<120?t+240:t-120,i,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}}));var T=Math.PI/180,S=180/Math.PI,E=.95047,C=1,L=1.08883,z=4/29,P=6/29,I=3*P*P,D=P*P*P;function O(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=B((.4124564*r+.3575761*n+.1804375*i)/E),o=B((.2126729*r+.7151522*n+.072175*i)/C);return new F(116*o-16,500*(a-o),200*(o-B((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?O(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>D?Math.pow(t,1/3):t/I+z}function N(t){return t>P?t*t*t:I*(t-z)}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,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof F||(t=O(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}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 t=C*N(t),new _(j(3.2404542*(e=E*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return O(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=M,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),fB=fB.exports;var pB={exports:{}};!function(t,e){\\\"object\\\"==typeof pB.exports?e(pB.exports,fB):e(t.d3=t.d3||{},t.d3)}(this,function(t,e){\\\"use strict\\\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(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):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?u: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):a(isNaN(e)?r:e)}}function u(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var c=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=u(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\\\"\\\"}}return i.gamma=t,i}(1);function h(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\\\"\\\"}}}var f=h(n),p=h(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=k(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},v=function(t,e){return e-=t=+t,function(r){return t+e*r}},m=function(t,e){var r,n={},i={};for(r in null!==t&&\\\"object\\\"==typeof t||(t={}),null!==e&&\\\"object\\\"==typeof e||(e={}),e)r in t?n[r]=k(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,x=new RegExp(y.source,\\\"g\\\");var b,_,w,M,A=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=y.exec(t))&&(n=x.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:v(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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(\\\"\\\")})},k=function(t,r){var n,i=typeof r;return null==r||\\\"boolean\\\"===i?a(r):(\\\"number\\\"===i?v:\\\"string\\\"===i?(n=e.color(r))?(r=n,c):A:r instanceof e.color?c:r instanceof Date?g:Array.isArray(r)?d:\\\"function\\\"!=typeof r.valueOf&&\\\"function\\\"!=typeof r.toString||isNaN(r)?m:v)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},E=function(t,e,r,n,i,a){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:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function C(t,e,r,n){function i(t){return t.length?t.pop()+\\\" \\\":\\\"\\\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\\\"translate(\\\",null,e,null,r);s.push({i:l-4,x:v(t,i)},{i:l-2,x:v(n,a)})}else(i||a)&&o.push(\\\"translate(\\\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\\\"rotate(\\\",null,n)-2,x:v(t,e)})):e&&r.push(i(r)+\\\"rotate(\\\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\\\"skewX(\\\",null,n)-2,x:v(t,e)}):e&&r.push(i(r)+\\\"skewX(\\\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||a.push(i(a)+\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=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 L=C(function(t){return\\\"none\\\"===t?S:(b||(b=document.createElement(\\\"DIV\\\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\\\"transform\\\"),_.removeChild(b),t=t.slice(7,-1).split(\\\",\\\"),E(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\\\"px, \\\",\\\"px)\\\",\\\"deg)\\\"),z=C(function(t){return null==t?S:(M||(M=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),M.setAttribute(\\\"transform\\\",t),(t=M.transform.baseVal.consolidate())?(t=t.matrix,E(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\\\", \\\",\\\")\\\",\\\")\\\"),P=Math.SQRT2;function I(t){return((t=Math.exp(t))+1/t)/2}function D(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=u(r.s,n.s),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var O=D(s),R=D(u);function F(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=u(r.c,n.c),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var B=F(s),N=F(u);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=u(r.s,i.s),s=u(r.l,i.l),l=u(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\\\"\\\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(u);t.interpolate=k,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=v,t.interpolateObject=m,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=A,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<1e-12)n=Math.log(u/o)/P,r=function(t){return[i+t*c,a+t*h,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/P,r=function(t){var e,r=t*n,s=I(v),l=o/(2*p)*(s*(e=P*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/I(P*r+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=c,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateHsl=O,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=u((t=e.lab(t)).l,(r=e.lab(r)).l),i=u(t.a,r.a),a=u(t.b,r.b),o=u(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\\\"\\\"}},t.interpolateHcl=B,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,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})}),pB=pB.exports;var dB={exports:{}};!function(t,e){\\\"object\\\"==typeof dB.exports?e(dB.exports,cB,hB,pB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3)}(this,function(t,e,r,n){\\\"use strict\\\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function u(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function c(t){return t.y+t.dy/2}function h(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\\\"number\\\"==typeof r&&(r=t.source=s[t.source]),\\\"number\\\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,h)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var u=1;t>0;--t)p(u*=.99),d(),f(u),d();function f(t){function r(t){return c(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,h);n.y+=(i-c(n))*t}})})}function p(t){function r(t){return c(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,h);n.y+=(i-c(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),u(),t},t.relayout=function(){return u(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,u=l+e.dy,c=e.target.y+e.ty,h=c+e.dy;return\\\"M\\\"+r+\\\",\\\"+l+\\\"C\\\"+o+\\\",\\\"+l+\\\" \\\"+s+\\\",\\\"+c+\\\" \\\"+i+\\\",\\\"+c+\\\"L\\\"+i+\\\",\\\"+h+\\\"C\\\"+s+\\\",\\\"+h+\\\" \\\"+o+\\\",\\\"+u+\\\" \\\"+r+\\\",\\\"+u+\\\"Z\\\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),dB=dB.exports;var gB={exports:{}};!function(t,e){\\\"object\\\"==typeof gB.exports?e(gB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\\\"\\\")||t in i)throw new Error(\\\"illegal type: \\\"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+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,o=this._,s=(n=o,(t+\\\"\\\").trim().split(/^|\\\\s+/).map(function(t){var e=\\\"\\\",r=t.indexOf(\\\".\\\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);return{type:t,name:e}})),l=-1,u=s.length;if(!(arguments.length<2)){if(null!=e&&\\\"function\\\"!=typeof e)throw new Error(\\\"invalid callback: \\\"+e);for(;++l<u;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<u;)if((r=(t=s[l]).type)&&(r=i(o[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,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),gB=gB.exports;var vB={exports:{}};!function(t,e){\\\"object\\\"==typeof vB.exports?e(vB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,u,c,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o,i=p,!(p=p[h=c<<1|u]))return i[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,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o}while((h=c<<1|u)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,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=a.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 i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=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,i,a,o=t.length,s=new Array(o),l=new Array(o),u=1/0,c=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<u&&(u=i),i>h&&(h=i),a<c&&(c=a),a>f&&(f=a));for(h<u&&(u=this._x0,h=this._x1),f<c&&(c=this._y0,f=this._y1),this.cover(u,c).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,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,u=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,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 i,a,o,s,l,u,c,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);u=g.pop();)if(!(!(v=u.node)||(a=u.x0)>p||(o=u.y0)>d||(s=u.x1)<h||(l=u.y1)<f))if(v.length){var m=(a+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],a,y,m,l),new r(v[1],m,o,s,y),new r(v[0],a,o,m,y)),(c=(e>=y)<<1|t>=m)&&(u=g[g.length-1],g[g.length-1]=g[g.length-1-c],g[g.length-1-c]=u)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,i=v.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,u,c,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((u=a>=(s=(d+v)/2))?d=s:v=s,(c=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=c<<1|u]))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(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i: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=i,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,i,a,o,s,l=[],u=this._root;for(u&&l.push(new r(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&u.length){var c=(i+o)/2,h=(a+s)/2;(n=u[3])&&l.push(new r(n,c,h,o,s)),(n=u[2])&&l.push(new r(n,i,h,c,s)),(n=u[1])&&l.push(new r(n,c,a,o,h)),(n=u[0])&&l.push(new r(n,i,a,c,h))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,u=e.x1,c=e.y1,h=(s+u)/2,f=(l+c)/2;(o=a[0])&&n.push(new r(o,s,l,h,f)),(o=a[1])&&n.push(new r(o,h,l,u,f)),(o=a[2])&&n.push(new r(o,s,f,h,c)),(o=a[3])&&n.push(new r(o,h,f,u,c))}i.push(e)}for(;e=i.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=a,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),vB=vB.exports;var mB={exports:{}};!function(t,e){\\\"object\\\"==typeof mB.exports?e(mB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,u=0,c=\\\"object\\\"==typeof performance&&performance.now?performance:Date,h=\\\"object\\\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=c.now()+u)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=c.now())+u,n=i=0;try{v()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=c.now(),e=t-s;e>o&&(u-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(m,t-c.now()-u)),a&&(a=clearInterval(a))):(a||(s=c.now(),a=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\\\"function\\\"!=typeof t)throw new TypeError(\\\"callback is not a function\\\");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),mB=mB.exports;var yB={exports:{}};!function(t,e){\\\"object\\\"==typeof yB.exports?e(yB.exports,vB,hB,gB,mB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3)}(this,function(t,e,r,n,i){\\\"use strict\\\";var a=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function u(t){return t.index}function c(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=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.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,i=1,u=1;function c(){for(var t,a,c,f,p,d,g,v=r.length,m=0;m<u;++m)for(a=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)c=r[t],d=n[c.index],g=d*d,f=c.x+c.vx,p=c.y+c.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,u=d+l;if(!s)return e>f+u||n<f-u||r>p+u||a<p-u;if(s.index>c.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<u*u&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(u-(m=Math.sqrt(m)))/m*i,c.vx+=(h*=m)*(u=(l*=l)/(g+l)),c.vy+=(v*=m)*u,s.vx-=h*(u=1-u),s.vy-=v*u)}}}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,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?1:+t)),c.initialize=function(t){r=t,f()},c.iterations=function(t){return arguments.length?(u=+t,c):u},c.strength=function(t){return arguments.length?(i=+t,c):i},c.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),f(),c):t},c},t.forceLink=function(t){var e,n,i,s,l,h=u,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,u,c,h,f,p,g,v=0;v<a;++v)u=(s=t[v]).source,h=(c=s.target).x+c.vx-u.x-u.vx||o(),f=c.y+c.vy-u.y-u.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,c.vx-=h*(g=l[v]),c.vy-=f*g,u.vx+=h*(g=1-g),u.vy+=f*g}function v(){if(i){var a,o,u=i.length,f=t.length,p=r.map(i,h);for(a=0,s=new Array(u);a<f;++a)(o=t[a]).index=a,\\\"object\\\"!=typeof o.source&&(o.source=c(p,o.source)),\\\"object\\\"!=typeof o.target&&(o.target=c(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(f);a<f;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(i)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){i=t,v()},g.links=function(e){return arguments.length?(t=e,v(),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:a(+t),m(),g):f},g.distance=function(t){return arguments.length?(p=\\\"function\\\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,u=1/0,c=.81;function p(i){var a,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,a,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/c<d)return d<u&&(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>=u)){(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=i[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:a(+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?(u=t*t,p):Math.sqrt(u)},p.theta=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],u=l.x-e||1e-6,c=l.y-r||1e-6,h=Math.sqrt(u*u+c*c),f=(o[a]-h)*i[a]*t/h;l.vx+=u*f,l.vy+=c*f}}function u(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\\\"function\\\"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,u()},l.strength=function(t){return arguments.length?(s=\\\"function\\\"==typeof t?t:a(+t),u(),l):s},l.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),u(),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,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,u=.6,c=r.map(),h=i.timer(g),f=n.dispatch(\\\"tick\\\",\\\"end\\\");function g(){v(),f.call(\\\"tick\\\",e),a<o&&(h.stop(),f.call(\\\"end\\\",e))}function v(){var e,r,n=t.length;for(a+=(l-a)*s,c.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=u:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=u:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),c.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},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?(u=1-t,e):1-u},force:function(t,r){return arguments.length>1?(null==r?c.remove(t):c.set(t,y(r)),e):c.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)(o=(i=e-(s=t[u]).x)*i+(a=r-s.y)*a)<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,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),yB=yB.exports;var xB=dB.sankey,bB=ZR.keyFun,_B=ZR.repeat,wB=ZR.unwrap;function MB(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function AB(t){return function(e){return e.node.originalX===t.node.originalX}}function kB(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function TB(t){t.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.node.x.toFixed(3)+\\\", \\\"+(t.node.y-t.node.dy/2).toFixed(3)+\\\")\\\"})}function SB(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return kB(e),r}function EB(t){t.call(TB)}function CB(t,e){t.call(EB),e.attr(\\\"d\\\",SB)}function LB(t){t.attr(\\\"width\\\",function(t){return t.visibleWidth}).attr(\\\"height\\\",function(t){return t.visibleHeight})}function zB(t){return t.link.dy>1||t.linkLineWidth>0}function PB(t){return\\\"translate(\\\"+t.translateX+\\\",\\\"+t.translateY+\\\")\\\"+(t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\")}function IB(t){return\\\"translate(\\\"+(t.horizontal?0:t.labelY)+\\\" \\\"+(t.horizontal?t.labelY:0)+\\\")\\\"}function DB(t){return e.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+uB.nodeTextOffsetHorizontal:uB.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-uB.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-uB.nodeTextOffsetHorizontal,0]])}function OB(t){return t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\"}function RB(t){return t.horizontal?\\\"scale(1 1)\\\":\\\"scale(-1 1)\\\"}function FB(t){return t.darkBackground&&!t.horizontal?\\\"rgb(255,255,255)\\\":\\\"rgb(0,0,0)\\\"}function BB(t){return t.horizontal&&t.left?\\\"100%\\\":\\\"0%\\\"}function NB(t,e,r){t.on(\\\".basic\\\",null).on(\\\"mouseover.basic\\\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\\\"mousemove.basic\\\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\\\"mouseout.basic\\\",function(t){t.interactionState.dragInProgress||(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||r.select(this,t,e)})}function jB(t,r,n){var i=e.behavior.drag().origin(function(t){return t.node}).on(\\\"dragstart\\\",function(e){if(\\\"fixed\\\"!==e.arrangement&&(ne.raiseToTop(this),e.interactionState.dragInProgress=e.node,MB(e.node),e.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,e.interactionState.hovered),e.interactionState.hovered=!1),\\\"snap\\\"===e.arrangement)){var i=e.traceId+\\\"|\\\"+Math.floor(e.node.originalX);e.forceLayouts[i]?e.forceLayouts[i].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=yB.forceSimulation(n).alphaDecay(0).force(\\\"collide\\\",yB.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(uB.forceIterations)).force(\\\"constrain\\\",function(t,e,r,n){return function(){for(var t=0,i=0;i<r.length;i++){var a=r[i];a===n.interactionState.dragInProgress?(a.x=a.lastDraggedX,a.y=a.lastDraggedY):(a.vx=(a.originalX-a.x)/uB.forceTicksPerFrame,a.y=Math.min(n.size-a.dy/2,Math.max(a.dy/2,a.y))),t=Math.max(t,Math.abs(a.vx),Math.abs(a.vy))}!n.interactionState.dragInProgress&&t<.1&&n.forceLayouts[e].alpha()>0&&n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,i,e),function(t,e,r,n){window.requestAnimationFrame(function i(){for(var a=0;a<uB.forceTicksPerFrame;a++)r.forceLayouts[n].tick();r.sankey.relayout(),CB(t.filter(AB(r)),e),r.forceLayouts[n].alpha()>0&&window.requestAnimationFrame(i)})}(t,r,e,i)}}).on(\\\"drag\\\",function(n){if(\\\"fixed\\\"!==n.arrangement){var i=e.event.x,a=e.event.y;\\\"snap\\\"===n.arrangement?(n.node.x=i,n.node.y=a):(\\\"freeform\\\"===n.arrangement&&(n.node.x=i),n.node.y=Math.max(n.node.dy/2,Math.min(n.size-n.node.dy/2,a))),MB(n.node),\\\"snap\\\"!==n.arrangement&&(n.sankey.relayout(),CB(t.filter(AB(n)),r))}}).on(\\\"dragend\\\",function(t){t.interactionState.dragInProgress=!1});t.on(\\\".drag\\\",null).call(i)}var VB=function(t,e,r,n){var i=t.selectAll(\\\".\\\"+uB.cn.sankey).data(e.filter(function(t){return wB(t).trace.visible}).map(function(t,e,r){for(var n,i=wB(e).trace,a=i.domain,o=i.node,s=i.link,l=i.arrangement,u=\\\"h\\\"===i.orientation,c=i.node.pad,h=i.node.thickness,f=i.node.line.color,p=i.node.line.width,d=i.link.line.color,g=i.link.line.width,v=i.valueformat,m=i.valuesuffix,y=i.textfont,x=t.width*(a.x[1]-a.x[0]),b=t.height*(a.y[1]-a.y[0]),_=o.label.map(function(t,e){return{pointNumber:e,label:t,color:ne.isArrayOrTypedArray(o.color)?o.color[e]:o.color}}),w=s.value.map(function(t,e){return{pointNumber:e,label:s.label[e],color:ne.isArrayOrTypedArray(s.color)?s.color[e]:s.color,source:s.source[e],target:s.target[e],value:t}}),M=xB().size(u?[x,b]:[b,x]).nodeWidth(h).nodePadding(c).nodes(_).links(w).layout(uB.sankeyIterations),A=M.nodes(),k=0;k<A.length;k++)(n=A[k]).width=x,n.height=b;return kB(_),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:x,height:b,nodePad:c,nodeLineColor:f,nodeLineWidth:p,linkLineColor:d,linkLineWidth:g,valueFormat:v,valueSuffix:m,textFont:y,translateX:a.x[0]*x+t.margin.l,translateY:t.height-a.y[1]*t.height+t.margin.t,dragParallel:u?b:x,dragPerpendicular:u?x:b,nodes:_,links:w,arrangement:l,sankey:M,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),bB);i.exit().remove(),i.enter().append(\\\"g\\\").classed(uB.cn.sankey,!0).style(\\\"box-sizing\\\",\\\"content-box\\\").style(\\\"position\\\",\\\"absolute\\\").style(\\\"left\\\",0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\").style(\\\"pointer-events\\\",\\\"auto\\\").style(\\\"box-sizing\\\",\\\"content-box\\\").attr(\\\"transform\\\",PB),i.transition().ease(uB.ease).duration(uB.duration).attr(\\\"transform\\\",PB);var a=i.selectAll(\\\".\\\"+uB.cn.sankeyLinks).data(_B,bB);a.enter().append(\\\"g\\\").classed(uB.cn.sankeyLinks,!0).style(\\\"fill\\\",\\\"none\\\");var o=a.selectAll(\\\".\\\"+uB.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=r.source.label+\\\"|\\\"+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+\\\"__\\\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},bB);o.enter().append(\\\"path\\\").classed(uB.cn.sankeyLink,!0).attr(\\\"d\\\",SB).call(NB,i,n.linkEvents),o.style(\\\"stroke\\\",function(t){return zB(t)?Oe.tinyRGB(s(t.linkLineColor)):t.tinyColorHue}).style(\\\"stroke-opacity\\\",function(t){return zB(t)?Oe.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\\\"stroke-width\\\",function(t){return zB(t)?t.linkLineWidth:1}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),o.transition().ease(uB.ease).duration(uB.duration).attr(\\\"d\\\",SB),o.exit().transition().ease(uB.ease).duration(uB.duration).style(\\\"opacity\\\",0).remove();var l=i.selectAll(\\\".\\\"+uB.cn.sankeyNodeSet).data(_B,bB);l.enter().append(\\\"g\\\").classed(uB.cn.sankeyNodeSet,!0),l.style(\\\"cursor\\\",function(t){switch(t.arrangement){case\\\"fixed\\\":return\\\"default\\\";case\\\"perpendicular\\\":return\\\"ns-resize\\\";default:return\\\"move\\\"}});var u=l.selectAll(\\\".\\\"+uB.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);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.filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=uB.nodePadAcross,a=e.nodePad/2,o=r.dx,l=Math.max(.5,r.dy),u=r.label,c=t[u];t[u]=(c||0)+1;var h=u+\\\"__\\\"+t[u];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:h,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:l,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:l+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()<=128,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,h].join(\\\" \\\"),interactionState:e.interactionState}}.bind(null,{},t))},bB);u.enter().append(\\\"g\\\").classed(uB.cn.sankeyNode,!0).call(TB).call(NB,i,n.nodeEvents),u.call(jB,o,n),u.transition().ease(uB.ease).duration(uB.duration).call(TB),u.exit().transition().ease(uB.ease).duration(uB.duration).style(\\\"opacity\\\",0).remove();var c=u.selectAll(\\\".\\\"+uB.cn.nodeRect).data(_B);c.enter().append(\\\"rect\\\").classed(uB.cn.nodeRect,!0).call(LB),c.style(\\\"stroke-width\\\",function(t){return t.nodeLineWidth}).style(\\\"stroke\\\",function(t){return Oe.tinyRGB(s(t.nodeLineColor))}).style(\\\"stroke-opacity\\\",function(t){return Oe.opacity(t.nodeLineColor)}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),c.transition().ease(uB.ease).duration(uB.duration).call(LB);var h=u.selectAll(\\\".\\\"+uB.cn.nodeCapture).data(_B);h.enter().append(\\\"rect\\\").classed(uB.cn.nodeCapture,!0).style(\\\"fill-opacity\\\",0),h.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 f=u.selectAll(\\\".\\\"+uB.cn.nodeCentered).data(_B);f.enter().append(\\\"g\\\").classed(uB.cn.nodeCentered,!0).attr(\\\"transform\\\",IB),f.transition().ease(uB.ease).duration(uB.duration).attr(\\\"transform\\\",IB);var p=f.selectAll(\\\".\\\"+uB.cn.nodeLabelGuide).data(_B);p.enter().append(\\\"path\\\").classed(uB.cn.nodeLabelGuide,!0).attr(\\\"id\\\",function(t){return t.uniqueNodeLabelPathId}).attr(\\\"d\\\",DB).attr(\\\"transform\\\",OB),p.transition().ease(uB.ease).duration(uB.duration).attr(\\\"d\\\",DB).attr(\\\"transform\\\",OB);var d=f.selectAll(\\\".\\\"+uB.cn.nodeLabel).data(_B);d.enter().append(\\\"text\\\").classed(uB.cn.nodeLabel,!0).attr(\\\"transform\\\",RB).style(\\\"user-select\\\",\\\"none\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"fill\\\",\\\"black\\\"),d.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){Sr.font(d,t.textFont)}),d.transition().ease(uB.ease).duration(uB.duration).attr(\\\"transform\\\",RB);var g=d.selectAll(\\\".\\\"+uB.cn.nodeLabelTextPath).data(_B);g.enter().append(\\\"textPath\\\").classed(uB.cn.nodeLabelTextPath,!0).attr(\\\"alignment-baseline\\\",\\\"middle\\\").attr(\\\"xlink:href\\\",function(t){return\\\"#\\\"+t.uniqueNodeLabelPathId}).attr(\\\"startOffset\\\",BB).style(\\\"fill\\\",FB),g.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\\\"}),g.transition().ease(uB.ease).duration(uB.duration).attr(\\\"startOffset\\\",BB).style(\\\"fill\\\",FB)},UB=uB.cn,qB=ne._;function HB(t){return\\\"\\\"!==t}function GB(t,e){return t.filter(function(t){return t.key===e.traceId})}function WB(t,r){e.select(t).select(\\\"path\\\").style(\\\"fill-opacity\\\",r),e.select(t).select(\\\"rect\\\").style(\\\"fill-opacity\\\",r)}function YB(t){e.select(t).select(\\\"text.name\\\").style(\\\"fill\\\",\\\"black\\\")}function XB(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function ZB(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function JB(t,e,r){e&&r&&GB(r,e).selectAll(\\\".\\\"+UB.sankeyLink).filter(XB(e)).call(QB.bind(0,e,r,!1))}function KB(t,e,r){e&&r&&GB(r,e).selectAll(\\\".\\\"+UB.sankeyLink).filter(XB(e)).call($B.bind(0,e,r,!1))}function QB(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",.4),i&&GB(e,t).selectAll(\\\".\\\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",.4),r&&GB(e,t).selectAll(\\\".\\\"+UB.sankeyNode).filter(ZB(t)).call(JB)}function $B(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),i&&GB(e,t).selectAll(\\\".\\\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),r&&GB(e,t).selectAll(UB.sankeyNode).filter(ZB(t)).call(KB)}function tN(t,e){var r=t.hoverlabel||{},n=ne.nestedProperty(r,e).get();return!Array.isArray(n)&&n}var eN=function(t,r){var n=t._fullLayout,i=n._paper,a=n._size,o=qB(t,\\\"source:\\\")+\\\" \\\",s=qB(t,\\\"target:\\\")+\\\" \\\",l=qB(t,\\\"incoming flow count:\\\")+\\\" \\\",u=qB(t,\\\"outgoing flow count:\\\")+\\\" \\\";VB(i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:function(r,n,i){e.select(r).call(QB.bind(0,n,i,!0)),t.emit(\\\"plotly_hover\\\",{event:e.event,points:[n.link]})},follow:function(r,i){var a=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=r.getBoundingClientRect(),c=u.left+u.width/2,h=u.top+u.height/2,f=yo.loneHover({x:c-l.left,y:h-l.top,name:e.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\\\"\\\",o+i.link.source.label,s+i.link.target.label].filter(HB).join(\\\"<br>\\\"),color:tN(a,\\\"bgcolor\\\")||Oe.addOpacity(i.tinyColorHue,1),borderColor:tN(a,\\\"bordercolor\\\"),fontFamily:tN(a,\\\"font.family\\\"),fontSize:tN(a,\\\"font.size\\\"),fontColor:tN(a,\\\"font.color\\\"),idealAlign:e.event.x<c?\\\"right\\\":\\\"left\\\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(f,.65),YB(f)},unhover:function(r,i,a){e.select(r).call($B.bind(0,i,a,!0)),t.emit(\\\"plotly_unhover\\\",{event:e.event,points:[i.link]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n){var i=n.link;i.originalEvent=e.event,t._hoverdata=[i],yo.click(t,{target:!0})}},nodeEvents:{hover:function(r,n,i){e.select(r).call(JB,n,i),t.emit(\\\"plotly_hover\\\",{event:e.event,points:[n.node]})},follow:function(r,i){var a=i.node.trace,o=e.select(r).select(\\\".\\\"+UB.nodeRect),s=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=o.node().getBoundingClientRect(),h=c.left-2-s.left,f=c.right+2-s.left,p=c.top+c.height/4-s.top,d=yo.loneHover({x0:h,x1:f,y:p,name:e.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,l+i.node.targetLinks.length,u+i.node.sourceLinks.length].filter(HB).join(\\\"<br>\\\"),color:tN(a,\\\"bgcolor\\\")||i.tinyColorHue,borderColor:tN(a,\\\"bordercolor\\\"),fontFamily:tN(a,\\\"font.family\\\"),fontSize:tN(a,\\\"font.size\\\"),fontColor:tN(a,\\\"font.color\\\"),idealAlign:\\\"left\\\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(d,.85),YB(d)},unhover:function(r,i,a){e.select(r).call(KB,i,a),t.emit(\\\"plotly_unhover\\\",{event:e.event,points:[i.node]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n,i){var a=n.node;a.originalEvent=e.event,t._hoverdata=[a],e.select(r).call(KB,n,i),yo.click(t,{target:!0})}}})},rN={},nN=ye.overrideAll,iN=sa.getModuleCalcData;rN.name=\\\"sankey\\\",rN.baseLayoutAttrOverrides=nN({hoverlabel:mo.hoverlabel},\\\"plot\\\",\\\"nested\\\"),rN.plot=function(t){var e=iN(t.calcdata,\\\"sankey\\\");eN(t,e)},rN.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"sankey\\\"),a=e._has&&e._has(\\\"sankey\\\");i&&!a&&n._paperdiv.selectAll(\\\".sankey\\\").remove()};var aN=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u,c=0,h=[],f=[];function p(e){var l=[e],u=[e];for(r[e]=n[e]=c,i[e]=!0,c+=1;u.length>0;){e=u[u.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=c,i[g]=!0,c+=1,l.push(g),u.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];f.push(b)}u.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort(function(t,e){return t-e}),u=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&u.push(d[g]);f[l]=u}}return{components:h,adjacencyList:f}};var oN=ZR.wrap;var sN=qc.defaults,lN={};lN.attributes=lB,lN.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lB,r,n)}i(\\\"node.label\\\"),i(\\\"node.pad\\\"),i(\\\"node.thickness\\\"),i(\\\"node.line.color\\\"),i(\\\"node.line.width\\\");var a=n.colorway;i(\\\"node.color\\\",e.node.label.map(function(t,e){return Oe.addOpacity(function(t){return a[t%a.length]}(e),.8)})),i(\\\"link.label\\\"),i(\\\"link.source\\\"),i(\\\"link.target\\\"),i(\\\"link.value\\\"),i(\\\"link.line.color\\\"),i(\\\"link.line.width\\\"),i(\\\"link.color\\\",e.link.value.map(function(){return s(n.paper_bgcolor).getLuminance()<.333?\\\"rgba(255, 255, 255, 0.6)\\\":\\\"rgba(0, 0, 0, 0.2)\\\"})),sN(e,n,i),i(\\\"orientation\\\"),i(\\\"valueformat\\\"),i(\\\"valuesuffix\\\"),i(\\\"arrangement\\\"),ne.coerceFont(i,\\\"textfont\\\",ne.extendFlat({},n.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&ne.warn(\\\"Some of the nodes are neither sources nor targets, they will not be displayed.\\\")},lN.calc=function(t,e){return function(t,e,r){for(var n=t.map(function(){return[]}),i=0;i<Math.min(e.length,r.length);i++){if(e[i]===r[i])return!0;n[e[i]].push(r[i])}return aN(n).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(ne.error(\\\"Circularity is present in the Sankey data. Removing all nodes and links.\\\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),oN({link:e.link,node:e.node})},lN.plot=eN,lN.moduleType=\\\"trace\\\",lN.name=\\\"sankey\\\",lN.basePlotModule=rN,lN.categories=[\\\"noOpacity\\\"],lN.meta={};var uN=lN,cN={circle:\\\"\\\\u25cf\\\",\\\"circle-open\\\":\\\"\\\\u25cb\\\",square:\\\"\\\\u25a0\\\",\\\"square-open\\\":\\\"\\\\u25a1\\\",diamond:\\\"\\\\u25c6\\\",\\\"diamond-open\\\":\\\"\\\\u25c7\\\",cross:\\\"+\\\",x:\\\"\\\\u274c\\\"},hN={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]},fN={},pN=m.extendFlat,dN=ye.overrideAll,gN=Zr.line,vN=Zr.marker,mN=vN.line;var yN=fN=dN({x:Zr.x,y:Zr.y,z:{valType:\\\"data_array\\\"},text:pN({},Zr.text,{}),hovertext:pN({},Zr.hovertext,{}),mode:pN({},Zr.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:Zr.connectgaps,line:pN({width:gN.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(hN),dflt:\\\"solid\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1}},De()),marker:pN({symbol:{valType:\\\"enumerated\\\",values:Object.keys(cN),dflt:\\\"circle\\\",arrayOk:!0},size:pN({},vN.size,{dflt:8}),sizeref:vN.sizeref,sizemin:vN.sizemin,sizemode:vN.sizemode,opacity:pN({},vN.opacity,{arrayOk:!1}),showscale:vN.showscale,colorbar:vN.colorbar,line:pN({width:pN({},mN.width,{arrayOk:!1})},De())},De()),textposition:pN({},Zr.textposition,{dflt:\\\"top center\\\"}),textfont:Zr.textfont,hoverinfo:pN({},E.hoverinfo)},\\\"calc\\\",\\\"nested\\\");yN.x.editType=yN.y.editType=yN.z.editType=\\\"calc+clearAxisTypes\\\";var xN=E_([\\\"precision mediump 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}\\\"]),bN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec3 clipBounds[2];\\\\nuniform float opacity;\\\\nvarying vec3 fragPosition;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = opacity * fragColor;\\\\n}\\\"]),_N=function(t){return Bw(t,xN,bN,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"offset\\\",type:\\\"vec3\\\"}])},wN=function(t){var e=t.gl,r=S_(e),n=EP(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}]),i=_N(e);i.attributes.position.location=0,i.attributes.color.location=1,i.attributes.offset.location=2;var a=new AN(e,r,n,i);return a.update(t),a},MN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function AN(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}var kN=AN.prototype;function TN(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])}kN.isOpaque=function(){return this.opacity>=1},kN.isTransparent=function(){return this.opacity<1},kN.drawTransparent=kN.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||MN,i=r.projection=t.projection||MN;r.model=t.model||MN,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var c=0;c<3;++c)e.lineWidth(this.lineWidth[c]),r.capSize=this.capSize[c]*u,this.lineCount[c]&&e.drawArrays(e.LINES,this.lineOffset[c],this.lineCount[c]);this.vao.unbind()};var SN=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function EN(t,e,r,n){for(var i=SN[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}kN.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])),\\\"opacity\\\"in t&&(this.opacity=t.opacity);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 i=[],a=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<a;++l){for(var u=r[l],c=0;c<3;++c)if(isNaN(u[c])||!isFinite(u[c]))continue t;var h=n[l],f=e[s];if(Array.isArray(f[0])&&(f=e[l]),3===f.length&&(f=[f[0],f[1],f[2],1]),!isNaN(h[0][s])&&!isNaN(h[1][s])){var p;if(h[0][s]<0)(p=u.slice())[s]+=h[0][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s);if(h[1][s]>0)(p=u.slice())[s]+=h[1][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},kN.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};var CN={},LN=E_([\\\"precision mediump 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\\\\nvoid main() {\\\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\\\n\\\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\\\n\\\\n  worldPosition = position;\\\\n  pixelArcLength = arcLength;\\\\n  fragColor = color;\\\\n}\\\\n\\\"]),zN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\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\\\"]),PN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\n#define FLOAT_MAX  1.70141184e38\\\\n#define FLOAT_MIN  1.17549435e-38\\\\n\\\\nlowp vec4 encode_float_1540259130(highp float v) {\\\\n  highp 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  highp vec4 c = vec4(0,0,0,0);\\\\n\\\\n  //Compute exponent and mantissa\\\\n  highp float e = floor(log2(av));\\\\n  highp 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  highp 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\\\\nuniform float pickId;\\\\nuniform vec3 clipBounds[2];\\\\n\\\\nvarying vec3 worldPosition;\\\\nvarying float pixelArcLength;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\\\\n}\\\"]),IN=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"nextPosition\\\",type:\\\"vec3\\\"},{name:\\\"arcLength\\\",type:\\\"float\\\"},{name:\\\"lineWidth\\\",type:\\\"float\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"}];CN.createShader=function(t){return Bw(t,LN,zN,null,IN)},CN.createPickShader=function(t){return Bw(t,LN,PN,null,IN)};var DN=function(t,e,r,n){return ON[0]=n,ON[1]=r,ON[2]=e,ON[3]=t,RN[0]},ON=new Uint8Array(4),RN=new Float32Array(ON.buffer);var FN=function(t){var e=t.gl||t.scene&&t.scene.gl,r=BN(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 n=NN(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=S_(e),a=EP(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),o=wb(new Array(1024),[256,1,4]),s=0;s<1024;++s)o.data[s]=255;var l=zE(e,o);l.wrap=e.REPEAT;var u=new HN(e,r,n,i,a,l);return u.update(t),u},BN=CN.createShader,NN=CN.createPickShader,jN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function VN(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function UN(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 qN(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function HN(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var GN=HN.prototype;GN.isTransparent=function(){return this.opacity<1},GN.isOpaque=function(){return this.opacity>=1},GN.pickSlots=1,GN.setPickBase=function(t){this.pickId=t},GN.drawTransparent=GN.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,clipBounds:UN(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()},GN.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,pickId:this.pickId,clipBounds:UN(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},GN.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\\\"dashScale\\\"in t&&(this.dashScale=t.dashScale),\\\"opacity\\\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,s=[],l=[],u=[],c=0,h=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],p=!1;t:for(e=1;e<i.length;++e){var d,g,v,m=i[e-1],y=i[e];for(l.push(c),u.push(m.slice()),r=0;r<3;++r){if(isNaN(m[r])||isNaN(y[r])||!isFinite(m[r])||!isFinite(y[r])){if(!n&&s.length>0){for(var x=0;x<24;++x)s.push(s[s.length-12]);h+=2,p=!0}continue t}f[0][r]=Math.min(f[0][r],m[r],y[r]),f[1][r]=Math.max(f[1][r],m[r],y[r])}Array.isArray(a[0])?(d=a[e-1],g=a[e]):d=g=a,3===d.length&&(d=[d[0],d[1],d[2],1]),3===g.length&&(g=[g[0],g[1],g[2],1]),v=Array.isArray(o)?o[e-1]:o;var b=c;if(c+=VN(m,y),p){for(r=0;r<2;++r)s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3]);h+=2,p=!1}s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3],m[0],m[1],m[2],y[0],y[1],y[2],b,-v,d[0],d[1],d[2],d[3],y[0],y[1],y[2],m[0],m[1],m[2],c,-v,g[0],g[1],g[2],g[3],y[0],y[1],y[2],m[0],m[1],m[2],c,v,g[0],g[1],g[2],g[3]),h+=4}if(this.buffer.update(s),l.push(c),u.push(i[i.length-1].slice()),this.bounds=f,this.vertexCount=h,this.points=u,this.arcLength=l,\\\"dashes\\\"in t){var _=t.dashes.slice();for(_.unshift(0),e=1;e<_.length;++e)_[e]=_[e-1]+_[e];var w=wb(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)w.set(e,0,r,0);1&wT.le(_,_[_.length-1]*e/255)?w.set(e,0,0,0):w.set(e,0,0,255)}this.texture.setPixels(w)}}},GN.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},GN.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=DN(t.value[0],t.value[1],t.value[2],0),r=wT.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new qN(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),o=1-a,s=[0,0,0],l=0;l<3;++l)s[l]=o*n[l]+a*i[l];var u=Math.min(a<.5?r:r+1,this.points.length-1);return new qN(e,s,u,this.points[u])};var WN=function(t,e){var r=YN[e];r||(r=YN[e]={});if(t in r)return r[t];for(var n=ME(t,{textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),i=ME(t,{triangles:!0,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),a=[[1/0,1/0],[-1/0,-1/0]],o=0;o<n.positions.length;++o)for(var s=n.positions[o],l=0;l<2;++l)a[0][l]=Math.min(a[0][l],s[l]),a[1][l]=Math.max(a[1][l],s[l]);return r[t]=[i,n,a]},YN={};var XN={},ZN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   || \\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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}\\\"]),JN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\\\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}\\\"]),KN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   ||\\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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\\\"]),QN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 interpColor;\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = interpColor * opacity;\\\\n  }\\\\n}\\\\n\\\"]),$N=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float pickGroup;\\\\n\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\\\n  }\\\\n}\\\"]),tj=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"glyph\\\",type:\\\"vec2\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}],ej={vertex:ZN,fragment:QN,attributes:tj},rj={vertex:JN,fragment:QN,attributes:tj},nj={vertex:KN,fragment:QN,attributes:tj},ij={vertex:ZN,fragment:$N,attributes:tj},aj={vertex:JN,fragment:$N,attributes:tj},oj={vertex:KN,fragment:$N,attributes:tj};function sj(t,e){var r=Bw(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}XN.createPerspective=function(t){return sj(t,ej)},XN.createOrtho=function(t){return sj(t,rj)},XN.createProject=function(t){return sj(t,nj)},XN.createPickPerspective=function(t){return sj(t,ij)},XN.createPickOrtho=function(t){return sj(t,aj)},XN.createPickProject=function(t){return sj(t,oj)};var lj=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uj=function(t){var e=t.gl,r=XN.createPerspective(e),n=XN.createOrtho(e),i=XN.createProject(e),a=XN.createPickPerspective(e),o=XN.createPickOrtho(e),s=XN.createPickProject(e),l=S_(e),u=S_(e),c=S_(e),h=S_(e),f=EP(e,[{buffer:l,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:c,size:2,type:e.FLOAT},{buffer:h,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),p=new fj(e,r,n,i,l,u,c,h,f,a,o,s);return p.update(t),p};function cj(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function hj(t,e,r,n){return cj(n,n),cj(n,n),cj(n,n)}function fj(t,e,r,n,i,a,o,s,l,u,c,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=h,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}var pj=fj.prototype;pj.pickSlots=1,pj.setPickBase=function(t){this.pickId=t},pj.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},pj.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var dj=[0,0],gj=[0,0,0],vj=[0,0,0],mj=[0,0,0,1],yj=[0,0,0,1],xj=lj.slice(),bj=[0,0,0],_j=[[0,0,0],[0,0,0]];function wj(t){return t[0]=t[1]=t[2]=0,t}function Mj(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function Aj(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function kj(t,e,r,n,i){var a,o=e.axesProject,s=e.gl,l=t.uniforms,u=r.model||lj,c=r.view||lj,h=r.projection||lj,f=e.axesBounds,p=function(t){for(var e=_j,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],dj[0]=2/s.drawingBufferWidth,dj[1]=2/s.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=dj,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=p,l.pickGroup=e.pickId/255,l.pixelRatio=e.pixelRatio;for(var d=0;d<3;++d)if(o[d]&&e.projectOpacity[d]<1===n){l.scale=e.projectScale[d],l.opacity=e.projectOpacity[d];for(var g=xj,v=0;v<16;++v)g[v]=0;for(v=0;v<4;++v)g[5*v]=1;g[5*d]=0,a[d]<0?g[12+d]=f[0][d]:g[12+d]=f[1][d],Dz(g,u,g),l.model=g;var m=(d+1)%3,y=(d+2)%3,x=wj(gj),b=wj(vj);x[m]=1,b[y]=1;var _=hj(0,0,0,Mj(mj,x)),w=hj(0,0,0,Mj(yj,b));if(Math.abs(_[1])>Math.abs(w[1])){var M=_;_=w,w=M,M=x,x=b,b=M;var A=m;m=y,y=A}_[0]<0&&(x[m]=-1),w[1]>0&&(b[y]=-1);var k=0,T=0;for(v=0;v<4;++v)k+=Math.pow(u[4*m+v],2),T+=Math.pow(u[4*y+v],2);x[m]/=Math.sqrt(k),b[y]/=Math.sqrt(T),l.axes[0]=x,l.axes[1]=b,l.fragClipBounds[0]=Aj(bj,p[0],d,-1e8),l.fragClipBounds[1]=Aj(bj,p[1],d,1e8),e.vao.draw(s.TRIANGLES,e.vertexCount),e.lineWidth>0&&(s.lineWidth(e.lineWidth),e.vao.draw(s.LINES,e.lineVertexCount,e.vertexCount))}}var Tj=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function Sj(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||lj,s.view=n.view||lj,s.projection=n.projection||lj,dj[0]=2/o.drawingBufferWidth,dj[1]=2/o.drawingBufferHeight,s.screenSize=dj,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=Tj,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}kj(e,r,n,i),r.vao.unbind()}pj.draw=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},pj.drawTransparent=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},pj.drawPick=function(t){Sj(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},pj.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 i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},pj.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},pj.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(\\\"projectOpacity\\\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\\\"opacity\\\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\\\"normal\\\",a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,u=t.color,c=t.size,h=t.angle,f=t.lineColor,p=0,d=0,g=0,v=n.length;t:for(var m=0;m<v;++m){for(var y=n[m],x=0;x<3;++x)if(isNaN(y[x])||!isFinite(y[x]))continue t;var b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\\\"\\\\u25cf\\\",i))[0],_=O[1],w=O[2];d+=3*b.cells.length,g+=2*_.edges.length}var M=d+g,A=__.mallocFloat(3*M),k=__.mallocFloat(4*M),T=__.mallocFloat(2*M),S=__.mallocUint32(M),E=[0,a[1]],C=0,L=d,z=[0,0,0,1],P=[0,0,0,1],I=Array.isArray(u)&&Array.isArray(u[0]),D=Array.isArray(f)&&Array.isArray(f[0]);t:for(m=0;m<v;++m){var O;for(y=n[m],x=0;x<3;++x){if(isNaN(y[x])||!isFinite(y[x])){p+=1;continue t}s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x])}var R;b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\\\"\\\\u25cf\\\",i))[0],_=O[1],w=O[2];if(Array.isArray(u)){if(3===(R=I?u[m]:u).length){for(x=0;x<3;++x)z[x]=R[x];z[3]=1}else if(4===R.length)for(x=0;x<4;++x)z[x]=R[x]}else z[0]=z[1]=z[2]=0,z[3]=1;if(Array.isArray(f)){if(3===(R=D?f[m]:f).length){for(x=0;x<3;++x)P[x]=R[x];P[x]=1}else if(4===R.length)for(x=0;x<4;++x)P[x]=R[x]}else P[0]=P[1]=P[2]=0,P[3]=1;var F=.5;Array.isArray(c)?F=+c[m]:c?F=+c:this.useOrtho&&(F=12);var B=0;Array.isArray(h)?B=+h[m]:h&&(B=+h);var N=Math.cos(B),j=Math.sin(B);for(y=n[m],x=0;x<3;++x)s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x]);a[0]<0?E[0]=a[0]*(1+w[1][0]):a[0]>0&&(E[0]=-a[0]*(1+w[0][0]));var V=b.cells,U=b.positions;for(x=0;x<V.length;++x)for(var q=V[x],H=0;H<3;++H){for(var G=0;G<3;++G)A[3*C+G]=y[G];for(G=0;G<4;++G)k[4*C+G]=z[G];S[C]=p;var W=U[q[H]];T[2*C]=F*(N*W[0]-j*W[1]+E[0]),T[2*C+1]=F*(j*W[0]+N*W[1]+E[1]),C+=1}for(V=_.edges,U=_.positions,x=0;x<V.length;++x)for(q=V[x],H=0;H<2;++H){for(G=0;G<3;++G)A[3*L+G]=y[G];for(G=0;G<4;++G)k[4*L+G]=P[G];S[L]=p;W=U[q[H]];T[2*L]=F*(N*W[0]-j*W[1]+E[0]),T[2*L+1]=F*(j*W[0]+N*W[1]+E[1]),L+=1}p+=1}this.vertexCount=d,this.lineVertexCount=g,this.pointBuffer.update(A),this.colorBuffer.update(k),this.glyphBuffer.update(T),this.idBuffer.update(new Uint32Array(S)),__.free(A),__.free(k),__.free(T),__.free(S),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},pj.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()};var Ej=C.defaultLine,Cj=GC(Ej),Lj=1;function zj(t,e){var r=t;return r[3]*=e,r}function Pj(t){if(r(t))return Cj;var e=GC(t);return e.length?e:Cj}function Ij(t){return r(t)?t:Lj}var Dj=function(t,e,r){var n,i,a,o,s,l=t.color,u=Array.isArray(l),c=Array.isArray(e),h=[];if(n=void 0!==t.colorscale?Je.makeColorScaleFunc(Je.extractScale(t.colorscale,t.cmin,t.cmax)):Pj,i=u?function(t,e){return void 0===t[e]?Cj:GC(n(t[e]))}:Pj,a=c?function(t,e){return void 0===t[e]?Lj:Ij(t[e])}:Ij,u||c)for(var f=0;f<r;f++)o=i(l,f),s=a(e,f),h[f]=zj(o,s);else h=zj(GC(l),e);return h};function Oj(t,e,r){if(!e||!e.visible)return null;for(var n=bd(e),i=new Array(t.length),a=0;a<t.length;a++){var o=n(+t[a],a);i[a]=[-o[0]*r,o[1]*r]}return i}var Rj=function(t,e){var r=[Oj(t.x,t.error_x,e[0]),Oj(t.y,t.error_y,e[1]),Oj(t.z,t.error_z,e[2])],n=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===n)return null;for(var i=new Array(n),a=0;a<n;a++){for(var o=[[0,0,0],[0,0,0]],s=0;s<3;s++)if(r[s])for(var l=0;l<2;l++)o[l][s]=r[s][a][l];i[a]=o}return i};function Fj(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 Bj=Fj.prototype;function Nj(t,e){return e(4*t)}function jj(t){return cN[t]}function Vj(t,e,r,n,i){var a=null;if(ne.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,ne.identity);return a}function Uj(t,e){var r,n,i,a,o,s,l,u,c=[],h=t.fullSceneLayout,f=t.dataScale,p=h.xaxis,d=h.yaxis,g=h.zaxis,v=e.marker,m=e.line,y=e.x||[],x=e.y||[],b=e.z||[],_=y.length,w=e.xcalendar,M=e.ycalendar,A=e.zcalendar;for(n=0;n<_;n++)i=p.d2l(y[n],0,w)*f[0],a=d.d2l(x[n],0,M)*f[1],o=g.d2l(b[n],0,A)*f[2],c[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(_),n=0;n<_;n++)s[n]=e.text;if(r={position:c,mode:e.mode,text:s},\\\"line\\\"in e&&(r.lineColor=Dj(m,1,_),r.lineWidth=m.width,r.lineDashes=m.dash),\\\"marker\\\"in e){var k=kr(e);r.scatterColor=Dj(v,1,_),r.scatterSize=Vj(v.size,_,Nj,20,k),r.scatterMarker=Vj(v.symbol,_,jj,\\\"\\\\u25cf\\\"),r.scatterLineWidth=v.line.width,r.scatterLineColor=Dj(v.line,1,_),r.scatterAngle=0}\\\"textposition\\\"in e&&(r.textOffset=(l=e.textposition,u=[0,0],Array.isArray(l)?[0,-1]:(l.indexOf(\\\"bottom\\\")>=0&&(u[1]+=1),l.indexOf(\\\"top\\\")>=0&&(u[1]-=1),l.indexOf(\\\"left\\\")>=0&&(u[0]-=1),l.indexOf(\\\"right\\\")>=0&&(u[0]+=1),u)),r.textColor=Dj(e.textfont,1,_),r.textSize=Vj(e.textfont.size,_,ne.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var T=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var S=e.projection[T[n]];(r.project[n]=S.show)&&(r.projectOpacity[n]=S.opacity,r.projectScale[n]=S.scale)}r.errorBounds=Rj(e,f);var E=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=WC(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=E.color,r.errorLineWidth=E.lineWidth,r.errorCapSize=E.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=WC(e.surfacecolor),r}function qj(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}Bj.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=\\\"\\\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},Bj.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=hN.solid;this.data=t;var s=Uj(this.scene,t);\\\"mode\\\"in s&&(this.mode=s.mode),\\\"lineDashes\\\"in s&&s.lineDashes in hN&&(o=hN[s.lineDashes]),this.color=qj(s.scatterColor)||qj(s.lineColor),this.dataPoints=s.position,e={gl:a,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\\\"lines\\\")?this.linePlot?this.linePlot.update(e):(this.linePlot=FN(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 l=t.opacity;if(t.marker&&t.marker.opacity&&(l*=t.marker.opacity),r={gl:a,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},-1!==this.mode.indexOf(\\\"markers\\\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=uj(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),i={gl:a,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.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(i):(this.textMarkers=uj(i),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),n={gl:a,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:t.opacity},this.errorBars?s.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=wN(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n<t.length;++n){var l=t[n];!isNaN(l[i])&&isFinite(l[i])&&!isNaN(l[a])&&isFinite(l[a])&&(o.push([l[i],l[a]]),s.push(n))}var u=sO(o);for(n=0;n<u.length;++n)for(var c=u[n],h=0;h<c.length;++h)c[h]=s[c[h]];return{positions:t,cells:u,meshColor:e}}(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=a,this.delaunayMesh=SR(u),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)},Bj.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())};var Hj=function(t,e){var r=new Fj(t,e.uid);return r.update(e),r};var Gj={};Gj.plot=Hj,Gj.attributes=fN,Gj.markerSymbols=cN,Gj.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,fN,r,n)}if(function(t,e,r,n){var i=0,a=r(\\\"x\\\"),o=r(\\\"y\\\"),s=r(\\\"z\\\");return P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),e._xlength=e._ylength=e._zlength=i),i}(t,e,i,n)){i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\"),Tr.hasLines(e)&&(i(\\\"connectgaps\\\"),px(t,e,r,n,i)),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{noSelect:!0}),Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0});var a=(e.line||{}).color,o=(e.marker||{}).color;i(\\\"surfaceaxis\\\")>=0&&i(\\\"surfacecolor\\\",a||o);for(var s=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],l=0;l<3;++l){var u=\\\"projection.\\\"+s[l];i(u+\\\".show\\\")&&(i(u+\\\".opacity\\\"),i(u+\\\".scale\\\"))}var c=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");c(t,e,r,{axis:\\\"z\\\"}),c(t,e,r,{axis:\\\"y\\\",inherit:\\\"z\\\"}),c(t,e,r,{axis:\\\"x\\\",inherit:\\\"z\\\"})}else e.visible=!1},Gj.colorbar=is,Gj.calc=nB,Gj.moduleType=\\\"trace\\\",Gj.name=\\\"scatter3d\\\",Gj.basePlotModule=SD,Gj.categories=[\\\"gl3d\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],Gj.meta={};var Wj=Gj,Yj=m.extendFlat,Xj=Zr.marker,Zj=Zr.line,Jj=Xj.line,Kj={carpet:{valType:\\\"string\\\",editType:\\\"calc\\\"},a:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},b:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},mode:Yj({},Zr.mode,{dflt:\\\"markers\\\"}),text:Yj({},Zr.text,{}),line:{color:Zj.color,width:Zj.width,dash:Zj.dash,shape:Yj({},Zj.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:Zj.smoothing,editType:\\\"calc\\\"},connectgaps:Zr.connectgaps,fill:Yj({},Zr.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:Zr.fillcolor,marker:Yj({symbol:Xj.symbol,opacity:Xj.opacity,maxdisplayed:Xj.maxdisplayed,size:Xj.size,sizeref:Xj.sizeref,sizemin:Xj.sizemin,sizemode:Xj.sizemode,line:Yj({width:Jj.width,editType:\\\"calc\\\"},De()),gradient:Xj.gradient,editType:\\\"calc\\\"},De(),{showscale:Xj.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:Yj({},E.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:Zr.hoveron},Qj=sx,$j={};$j.attributes=Kj,$j.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Kj,r,n)}i(\\\"carpet\\\"),e.xaxis=\\\"x\\\",e.yaxis=\\\"y\\\";var a,o=i(\\\"a\\\"),s=i(\\\"b\\\");if(a=Math.min(o.length,s.length)){o&&a<o.length&&(e.a=o.slice(0,a)),s&&a<s.length&&(e.b=s.slice(0,a)),i(\\\"text\\\"),i(\\\"mode\\\",a<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"marker.maxdisplayed\\\"),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},$j.colorbar=is,$j.calc=function(t,e){var n=e.carpetTrace=mp(t,e);if(n&&n.visible&&\\\"legendonly\\\"!==n.visible){var i;e.xaxis=n.xaxis,e.yaxis=n.yaxis;var a,o,s=e.a.length,l=new Array(s),u=!1;for(i=0;i<s;i++)if(a=e.a[i],o=e.b[i],r(a)&&r(o)){var c=n.ab2xy(+a,+o,!0),h=n.isVisible(+a,+o);h||(u=!0),l[i]={x:c[0],y:c[1],a:a,b:o,vis:h}}else l[i]={x:!1,y:!1};return e._needsCull=u,l[0].carpet=n,l[0].trace=e,Qj(e,s),ex(e),dh(l,e),Ma(l,e),l}},$j.plot=function(t,e,r){var n,i,a,o=r[0][0].carpet,s={xaxis:ri.getFromId(t,o.xaxis||\\\"x\\\"),yaxis:ri.getFromId(t,o.yaxis||\\\"y\\\"),plot:e.plot};for(kx(t,s,r),n=0;n<r.length;n++)i=r[n][0].trace,a=s.plot.selectAll(\\\"g.trace\\\"+i.uid+\\\" .js-line\\\"),Sr.setClipUrl(a,o._clipPathId)},$j.style=Cx.style,$j.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=h._carpet,p=(c.hi||h.hoverinfo).split(\\\"+\\\"),d=[];-1!==p.indexOf(\\\"all\\\")&&(p=[\\\"a\\\",\\\"b\\\"]),-1!==p.indexOf(\\\"a\\\")&&_(f.aaxis,c.a),-1!==p.indexOf(\\\"b\\\")&&_(f.baxis,c.b);var g=f.ab2ij([c.a,c.b]),v=Math.floor(g[0]),m=g[0]-v,y=Math.floor(g[1]),x=g[1]-y,b=f.evalxy([],v,y,m,x);return d.push(\\\"y: \\\"+b[1].toFixed(3)),a.extraText=d.join(\\\"<br>\\\"),i}function _(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\\\"\\\"):t._hovertitle,d.push(r+\\\": \\\"+e.toFixed(3)+t.labelsuffix)}},$j.selectPoints=Sx,$j.eventData=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t},$j.moduleType=\\\"trace\\\",$j.name=\\\"scattercarpet\\\",$j.basePlotModule=ua,$j.categories=[\\\"carpet\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"carpetDependent\\\"],$j.meta={};var tV=$j,eV=t.BADNUM,rV=ne._,nV=function(t,e){for(var n=Array.isArray(e.locations),i=n?e.locations.length:e._length,a=new Array(i),o=0;o<i;o++){var s=a[o]={};if(n){var l=e.locations[o];s.loc=\\\"string\\\"==typeof l?l:null}else{var u=e.lon[o],c=e.lat[o];r(u)&&r(c)?s.lonlat=[+u,+c]:s.lonlat=[eV,eV]}}return dh(a,e),ex(e),Ma(a,e),i&&(a[0].t={labels:{lat:rV(t,\\\"lat:\\\")+\\\" \\\",lon:rV(t,\\\"lon:\\\")+\\\" \\\"}}),a};var iV=t.BADNUM;var aV={},oV=t.BADNUM;aV.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],n=[],i=0;i<t.length;i++){var a=t[i].lonlat;a[0]!==oV?n.push(a):!e&&n.length>0&&(r.push(n),n=[])}return n.length>0&&r.push(n),r},aV.makeLine=function(t){return 1===t.length?{type:\\\"LineString\\\",coordinates:t[0]}:{type:\\\"MultiLineString\\\",coordinates:t}},aV.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}},aV.makeBlank=function(){return{type:\\\"Point\\\",coordinates:[]}};var sV=Cx.stylePoints,lV=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3;i.style(\\\"opacity\\\",r[0].trace.opacity),sV(i,n,t),i.selectAll(\\\"path.js-line\\\").style(\\\"fill\\\",\\\"none\\\").each(function(t){var r=e.select(this),n=t.trace,i=n.line||{};r.call(Oe.stroke,i.color).call(Sr.dashLine,i.dash||\\\"\\\",i.width||0),\\\"none\\\"!==n.fill&&r.call(Oe.fill,n.fillcolor)})}(t,r)};var uV=t.BADNUM,cV=Xu.getTopojsonFeatures,hV=mh.locationToFeature;function fV(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=cV(r,e),i=r.locationmode,a=0;a<t.length;a++){var o=t[a],s=hV(i,o.loc,n);o.lonlat=s?s.properties.ct:[uV,uV]}}var pV={};pV.attributes=uh,pV.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,uh,r,n)}!function(t,e,r){var n,i,a=0,o=r(\\\"locations\\\");return o?(r(\\\"locationmode\\\"),a=o.length):(n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length),e._length=a,a)}(0,e,i)?e.visible=!1:(i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i))},pV.colorbar=is,pV.calc=nV,pV.plot=function(t,r,n){for(var i=0;i<n.length;i++)fV(n[i],r.topojson);function a(t,r){t.lonlat[0]===uV&&e.select(r).remove()}var o=r.layers.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\"g.trace.scattergeo\\\").data(n,function(t){return t[0].trace.uid});o.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace scattergeo\\\"),o.exit().remove(),o.selectAll(\\\"*\\\").remove(),o.each(function(r){var n=r[0].node3=e.select(this),i=r[0].trace;if(Tr.hasLines(i)||\\\"none\\\"!==i.fill){var o=aV.calcTraceToLineCoords(r),s=\\\"none\\\"!==i.fill?aV.makePolygon(o):aV.makeLine(o);n.selectAll(\\\"path.js-line\\\").data([{geojson:s,trace:i}]).enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"stroke-miterlimit\\\",2)}Tr.hasMarkers(i)&&n.selectAll(\\\"path.point\\\").data(ne.identity).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).each(function(t){a(t,this)}),Tr.hasText(i)&&n.selectAll(\\\"g\\\").data(ne.identity).enter().append(\\\"g\\\").append(\\\"text\\\").each(function(t){a(t,this)}),lV(t,r)})},pV.style=lV,pV.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=s.projection.isLonLatOverEdges,u=s.project;if(yo.getClosest(n,function(t){var n=t.lonlat;if(n[0]===iV)return 1/0;if(l(n))return 1/0;var i=u(n),a=u([e,r]),o=Math.abs(i[0]-a[0]),s=Math.abs(i[1]-a[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(o*o+s*s)-c,1-3/c)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[a.c2p(h),o.c2p(h)],p=c.mrc||1;return t.x0=f[0]-p,t.x1=f[0]+p,t.y0=f[1]-p,t.y1=f[1]+p,t.loc=c.loc,t.lon=h[0],t.lat=h[1],t.color=mx(i,c),t.extraText=function(t,e,r,n){var i=e.hi||t.hoverinfo,a=\\\"all\\\"===i?uh.hoverinfo.flags:i.split(\\\"+\\\"),o=-1!==a.indexOf(\\\"location\\\")&&Array.isArray(t.locations),s=-1!==a.indexOf(\\\"lon\\\"),l=-1!==a.indexOf(\\\"lat\\\"),u=-1!==a.indexOf(\\\"text\\\"),c=[];function h(t){return ri.tickText(r,r.c2l(t),\\\"hover\\\").text+\\\"\\\\xb0\\\"}return o?c.push(e.loc):s&&l?c.push(\\\"(\\\"+h(e.lonlat[0])+\\\", \\\"+h(e.lonlat[1])+\\\")\\\"):s?c.push(n.lon+h(e.lonlat[0])):l&&c.push(n.lat+h(e.lonlat[1])),u&&xo(e,t,c),c.join(\\\"<br>\\\")}(i,c,s.mockAxis,n[0].t.labels),[t]}},pV.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t},pV.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],h=s[0].trace;if(!Tr.hasMarkers(h)&&!Tr.hasText(h))return[];if(!1===e)for(o=0;o<s.length;o++)s[o].selected=0;else for(o=0;o<s.length;o++)n=(r=s[o]).lonlat,i=l.c2p(n),a=u.c2p(n),e.contains([i,a])?(c.push({pointNumber:o,lon:n[0],lat:n[1]}),r.selected=1):r.selected=0;return c},pV.moduleType=\\\"trace\\\",pV.name=\\\"scattergeo\\\",pV.basePlotModule=$c,pV.categories=[\\\"geo\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],pV.meta={};var dV=pV,gV=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 i=(e|=0)-(t|=0);if(i<0)throw new Error(\\\"array length must be positive\\\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a},vV=mV;function mV(t,e){if(!(this instanceof mV))return new mV(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var n=0;n<r;n++)this.ids[n]=n;!function t(e,r,n,i,a,o){if(a-i<=n)return;var s=Math.floor((i+a)/2);!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,u=Math.log(s),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(s-c)/s)*(l-s/2<0?-1:1),f=Math.max(i,Math.floor(n-l*c/s+h)),p=Math.min(a,Math.floor(n+(s-l)*c/s+h));t(e,r,n,f,p,o)}var d=r[2*n+o],g=i,v=a;for(xV(e,r,i,n),r[2*a+o]>d&&xV(e,r,i,a);g<v;){for(xV(e,r,g,v),g++,v--;r[2*g+o]<d;)g++;for(;r[2*v+o]>d;)v--}r[2*i+o]===d?xV(e,r,i,v):xV(e,r,++v,a),v<=n&&(i=v+1),n<=v&&(a=v-1)}}(e,r,s,i,a,o%2);t(e,r,n,i,s-1,o+1);t(e,r,n,s+1,a,o+1)}(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function yV(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function xV(t,e,r,n){bV(t,r,n),bV(e,2*r,2*n),bV(e,2*r+1,2*n+1)}function bV(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}mV.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,u=[0,o.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),p=u.pop();if(f-p<=l)for(var d=p;d<=f;d++)i=s[2*d],a=s[2*d+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[d]);else{var g=Math.floor((p+f)/2);i=s[2*g],a=s[2*g+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[g]);var v=(h+1)%2;(0===h?t<=i:e<=a)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?r>=i:n>=a)&&(u.push(g+1),u.push(f),u.push(v))}}return c},mV.prototype.within=function(t,e,r){for(var n=this.ids,i=this.coords,a=this.nodeSize,o=[0,n.length-1,0],s=[],l=r*r;o.length;){var u=o.pop(),c=o.pop(),h=o.pop();if(c-h<=a)for(var f=h;f<=c;f++)yV(i[2*f],i[2*f+1],t,e)<=l&&s.push(n[f]);else{var p=Math.floor((h+c)/2),d=i[2*p],g=i[2*p+1];yV(d,g,t,e)<=l&&s.push(n[p]);var v=(u+1)%2;(0===u?t-r<=d:e-r<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===u?t+r>=d:e+r>=g)&&(o.push(p+1),o.push(c),o.push(v))}}return s};var _V=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 i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r};var wV=function(t,e,r){if(!t)throw new TypeError(\\\"must specify data as first parameter\\\");if(r=0|+(r||0),Array.isArray(t)&&Array.isArray(t[0])){var n=t[0].length,i=t.length*n;e&&\\\"string\\\"!=typeof e||(e=new(HC(e||\\\"float32\\\"))(i+r));var a=e.length-r;if(i!==a)throw new Error(\\\"source length \\\"+i+\\\" (\\\"+n+\\\"x\\\"+t.length+\\\") does not match destination length \\\"+a);for(var o=0,s=r;o<t.length;o++)for(var l=0;l<n;l++)e[s++]=t[o][l]}else if(e&&\\\"string\\\"!=typeof e)e.set(t,r);else{var u=HC(e||\\\"float32\\\");0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e};var MV=function(t,e,r){var n,i,a={};if(\\\"string\\\"==typeof e&&(e=kV(e)),Array.isArray(e)){var o={};for(i=0;i<e.length;i++)o[e[i]]=!0;e=o}for(n in e)e[n]=kV(e[n]);var s={};for(n in e){var l=e[n];if(Array.isArray(l))for(i=0;i<l.length;i++){var u=l[i];if(r&&(s[u]=!0),u in t){if(a[n]=t[u],r)for(var c=i;c<l.length;c++)s[l[c]]=!0;break}}else n in t&&(e[n]&&(a[n]=t[n]),r&&(s[n]=!0))}if(r)for(n in t)s[n]||(a[n]=t[n]);return a},AV={};function kV(t){return AV[t]?AV[t]:(\\\"string\\\"==typeof t&&(t=AV[t]=t.split(/\\\\s*,\\\\s*|\\\\s+/)),t)}var TV={};function SV(t){if(t instanceof Float32Array)return t;if(\\\"number\\\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}(TV=SV).float32=TV.float=SV,TV.fract32=TV.fract=function(t){if(\\\"number\\\"==typeof t)return SV(t-SV(t));for(var e=SV(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e};var EV=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\\\"function\\\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t},CV=TV.float32,LV=TV.fract32,zV=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,n,i,a,o,s,l=t._gl,u={color:\\\"black\\\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return a=t.buffer({usage:\\\"dynamic\\\",type:\\\"uint8\\\",data:null}),n=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),i=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),o=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),s=t.buffer({usage:\\\"static\\\",type:\\\"float\\\",data:PV}),d(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 mediump 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:a,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:n,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:i,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:o,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:s,stride:24,offset:0},lineOffset:{buffer:s,stride:24,offset:8},capOffset:{buffer:s,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:PV.length}),Us(h,{update:d,draw:f,destroy:g,regl:t,gl:l,canvas:l.canvas,groups:c}),h;function h(t){t?d(t):null===t&&g(),f()}function f(e){if(\\\"number\\\"==typeof e)return p(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),c.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?p(r):t.draw=!0)})}function p(t){\\\"number\\\"==typeof t&&(t=c[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 d(t){if(t){null!=t.length?\\\"number\\\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(c=t.map(function(t,n){var i=c[n];return t?(\\\"function\\\"==typeof t?t={after:t}:\\\"number\\\"==typeof t[0]&&(t={positions:t}),t=MV(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\\\"}),i||(c[n]=i={id:n,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=Us({},u,t)),EV(i,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=wV(t),r+=t.length,t},positions:function(t,r){return t=wV(t,\\\"float64\\\"),r.count=Math.floor(t.length/2),r.bounds=_V(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 a=new Uint8Array(4*r),o=0;o<r;o++){var s=GC(t[o],\\\"uint8\\\");a.set(s,4*o)}return a},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=LV(e.scale),e.translateFract=LV(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:l.drawingBufferWidth,height:l.drawingBufferHeight},e}}]),i):i}),e||r){var s=c.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*s),f=new Uint8Array(4*s),p=new Float32Array(4*s);c.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(f.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),n(CV(h)),i(LV(h)),a(f),o(p)}}}function g(){n.destroy(),i.destroy(),a.destroy(),o.destroy(),s.destroy()}},PV=[[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]];var IV=function(t,e,r){if(!t||null==t.length)throw Error(\\\"Argument should be an array\\\");null==e&&(e=1);null==r&&(r=_V(t,e));for(var n=0;n<e;n++){var i=r[e+n],a=r[n],o=n,s=t.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:t[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=e)t[o]=0===l?.5:(t[o]-a)/l}}return t};var DV={};function OV(t,e,r){r=r||2;var n,i,a,o,s,l,u,c=e&&e.length,h=c?e[0]*r:t.length,f=RV(t,0,h,r,!0),p=[];if(!f)return p;if(c&&(f=function(t,e,r,n){var i,a,o,s,l,u=[];for(i=0,a=e.length;i<a;i++)o=e[i]*n,s=i<a-1?e[i+1]*n:t.length,(l=RV(t,o,s,n,!1))===l.next&&(l.steiner=!0),u.push(WV(l));for(u.sort(qV),i=0;i<u.length;i++)HV(u[i],r),r=FV(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<h;d+=r)s=t[d],l=t[d+1],s<n&&(n=s),l<i&&(i=l),s>a&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return BV(f,p,r,n,i,u),p}function RV(t,e,r,n,i){var a,o;if(i===nU(t,e,r,n)>0)for(a=e;a<r;a+=n)o=tU(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=tU(a,t[a],t[a+1],o);return o&&JV(o,o.next)&&(eU(o),o=o.next),o}function FV(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!JV(n,n.next)&&0!==ZV(n.prev,n,n.next))n=n.next;else{if(eU(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function BV(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=GV(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?jV(t,n,i,a):NV(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),eU(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?BV(t=VV(t,e,r),e,r,n,i,a,2):2===o&&UV(t,e,r,n,i,a):BV(FV(t),e,r,n,i,a,1);break}}}function NV(t){var e=t.prev,r=t,n=t.next;if(ZV(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(YV(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ZV(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function jV(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ZV(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=GV(s,l,e,r,n),f=GV(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function VV(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!JV(i,a)&&KV(i,n,n.next,a)&&QV(i,a)&&QV(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),eU(n),eU(n.next),n=t=a),n=n.next}while(n!==t);return n}function UV(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&XV(o,s)){var l=$V(o,s);return o=FV(o,o.next),l=FV(l,l.next),BV(o,e,r,n,i,a),void BV(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function qV(t,e){return t.x-e.x}function HV(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;n=r.next;for(;n!==u;)i>=n.x&&n.x>=c&&i!==n.x&&YV(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<f||l===f&&n.x>r.x)&&QV(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=$V(e,t);FV(r,r.next)}}function GV(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function WV(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function YV(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function XV(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&&KV(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&QV(t,e)&&QV(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function ZV(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function JV(t,e){return t.x===e.x&&t.y===e.y}function KV(t,e,r,n){return!!(JV(t,e)&&JV(r,n)||JV(t,n)&&JV(r,e))||ZV(t,e,r)>0!=ZV(t,e,n)>0&&ZV(r,n,t)>0!=ZV(r,n,e)>0}function QV(t,e){return ZV(t.prev,t,t.next)<0?ZV(t,e,t.next)>=0&&ZV(t,t.prev,e)>=0:ZV(t,e,t.prev)<0||ZV(t,t.next,e)<0}function $V(t,e){var r=new rU(t.i,t.x,t.y),n=new rU(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function tU(t,e,r,n){var i=new rU(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function eU(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 rU(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 nU(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}(DV=OV).default=OV,OV.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(nU(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(nU(t,u,c,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)},OV.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r};var iU=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,n,i,a,o,s,l,u,c=t._gl,h={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:\\\"square\\\",color:\\\"black\\\",opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},f=[],p=2,d=3e6,g=1e4;a=t.buffer({usage:\\\"dynamic\\\",type:\\\"uint8\\\",data:null}),o=t.buffer({usage:\\\"static\\\",type:\\\"float\\\",data:[0,1,0,0,1,1,1,0]}),s=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),l=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),u=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:\\\"linear\\\",min:\\\"linear\\\"}),b(e);var v={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:u,dashLength:t.prop(\\\"dashLength\\\"),dashShape:[256,2048],opacity:t.prop(\\\"opacity\\\"),pixelRatio:t.context(\\\"pixelRatio\\\"),id:t.prop(\\\"id\\\"),scaleRatio:t.prop(\\\"scaleRatio\\\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},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}},scissor:{enable:!0,box:t.prop(\\\"viewport\\\")},stencil:!1,viewport:t.prop(\\\"viewport\\\")};function m(t){t?b(t):null===t&&_(),y()}function y(t){if(\\\"number\\\"==typeof t)return x(t);t&&!Array.isArray(t)&&(t=[t]),f.forEach(function(t,e){x(e)})}function x(e){\\\"number\\\"==typeof e&&(e=f[e]),e&&e.count&&e.opacity&&e.positions&&e.positions.length>2&&(t._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&i(e),e.thickness&&e.color&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]>d||e.scaleRatio[1]>d?n(e):\\\"rect\\\"===e.join||!e.join&&(e.thickness<=2||e.positions.length>=g)?n(e):r(e),e.after&&e.after(e)))}function b(t){if(t){null!=t.length?\\\"number\\\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(m.lines=f=t.map(function(t,r){var n=f[r];return void 0===t?n:(null===t?t={positions:null}:\\\"function\\\"==typeof t?t={after:t}:\\\"number\\\"==typeof t[0]&&(t={positions:t}),null===(t=MV(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 stroke colors 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\\\",after:\\\"after callback done pass\\\"})).positions&&(t.positions=[]),n||(f[r]=n={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=Us({},h,t)),EV(n,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=wV(t,\\\"float64\\\");var i=Math.floor(t.length/2),a=_V(t,2);return r.range||n.range||(n.range=a),r.count=i,r.bounds=a,e+=i,t},fill:function(t){return t?GC(t,\\\"uint8\\\"):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length<2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a<t.length;++a)i+=t[a];n=new Uint8Array(i*p);for(var o=0,s=255,l=0;l<2;l++)for(var c=0;c<t.length;++c){for(var h=0,f=t[c]*p*.5;h<f;++h)n[o++]=s;s^=255}}return u.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length>=4&&e.positions[0]===e.positions[e.positions.length-2]&&e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&&t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o<l;o++){var u=e.positions[2*o],c=e.positions[2*o+1];Number.isNaN(u)||Number.isNaN(c)?(u=e.positions[2*a],c=e.positions[2*a+1],i[o]=a):a=o,n[s++]=u,n[s++]=c}for(var h=DV(n,e.hole),f=0,p=h.length;f<p;f++)null!=i[h[f]]&&(h[f]=i[h[f]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=\\\"transparent\\\"),!Array.isArray(t)||\\\"number\\\"==typeof t[0]){var i=t;t=Array(n);for(var a=0;a<n;a++)t[a]=i}if(t.length<n)throw Error(\\\"Not enough colors\\\");for(var o=new Uint8Array(4*n+4),s=0;s<n;s++){var l=GC(t[s],\\\"uint8\\\");o.set(l,4*s)}return o},range:function(t,e,r){if(!e.count)return null;var n=e.bounds;t||(t=n);var i=n[2]-n[0],a=n[3]-n[1],o=t[2]-t[0],s=t[3]-t[1];return e.scale=[i/o,a/s],e.translate=[-t[0]/o+n[0]/o||0,-t[1]/s+n[1]/s||0],e.scaleFract=aU(e.scale),e.translateFract=aU(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:c.drawingBufferWidth,height:c.drawingBufferHeight},e}}]),n)}),e){var r=2*e+6*f.length,n=new Float64Array(r),i=0,o=new Uint8Array(2*r);f.forEach(function(t,e){if(t){var r=t.positions,a=t.count,s=t.color;if(t.offset=i,a){var l=new Float64Array(r.length);l.set(r),IV(l,2,t.bounds),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+0]=l[2*a-4],n[2*i+1]=l[2*a-3]):(n[2*i+0]=l[2*a-2],n[2*i+1]=l[2*a-1]):(n[2*i+0]=l[0],n[2*i+1]=l[1]),o[4*i+0]=s[0],o[4*i+1]=s[1],o[4*i+2]=s[2],o[4*i+3]=s[3],n.set(l,2*i+2),o.set(s,4*i+4),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+2*a+2]=l[2],n[2*i+2*a+3]=l[3],i+=a+2,t.count-=1):(n[2*i+2*a+2]=l[0],n[2*i+2*a+3]=l[1],n[2*i+2*a+4]=l[2],n[2*i+2*a+5]=l[3],i+=a+3):(n[2*i+2*a+2]=l[2*a-2],n[2*i+2*a+3]=l[2*a-1],n[2*i+2*a+4]=l[2*a-2],n[2*i+2*a+5]=l[2*a-1],i+=a+3)}}}),a(o),s(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(n)),l(aU(n))}return m}}function _(){f.length=0,a.destroy(),o.destroy(),s.destroy(),u.destroy()}return r=t(Us({cull:{enable:!0,face:\\\"back\\\"},vert:E_([\\\"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, scaleRatio;\\\\nuniform float thickness, pixelRatio, id;\\\\nuniform vec4 viewport;\\\\nuniform float miterLimit, dashLength, miterMode;\\\\n\\\\nvarying vec4 fragColor;\\\\nvarying vec4 startCutoff, endCutoff;\\\\nvarying vec2 tangent;\\\\nvarying vec2 startCoord, endCoord;\\\\nvarying float enableStartMiter, enableEndMiter;\\\\n\\\\nconst float MAX_LINES = 256.;\\\\nconst float REVERSE_THRESHOLD = -.875;\\\\nconst float MIN_DIST = 1.;\\\\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\\\\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\\\\tvec2 normalWidth = thickness / scaleRatio;\\\\n\\\\n\\\\tfloat lineStart = 1. - lineEnd;\\\\n\\\\tfloat lineBot = 1. - lineTop;\\\\n\\\\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\\\\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 prevDirection = normalize(prevDiff);\\\\n\\\\tvec2 currDirection = normalize(currDiff);\\\\n\\\\tvec2 nextDirection = normalize(nextDiff);\\\\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\\\\tif (prevDirection == currDirection) {\\\\n\\\\t\\\\tstartJoinDirection = currNormal;\\\\n\\\\t}\\\\n\\\\tif (nextDirection == currDirection) {\\\\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) * scale + translate;\\\\n\\\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\\\n\\\\n\\\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\\\n\\\\tvec2 bBotPosition = (bBotCoord) * scale + 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:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform sampler2D dashPattern;\\\\nuniform vec2 dashShape;\\\\nuniform float dashLength, 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) / dashLength) * .5 + .25;\\\\n\\\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\\\n\\\\n\\\\tgl_FragColor = fragColor * dash;\\\\n\\\\tgl_FragColor.a *= alpha * opacity * dash;\\\\n}\\\\n\\\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:s,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:s,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},v)),n=t(Us({vert:E_([\\\"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, scaleRatio;\\\\nuniform float thickness, pixelRatio, id;\\\\nuniform vec4 viewport;\\\\n\\\\nvarying vec4 fragColor;\\\\nvarying vec2 tangent;\\\\n\\\\nconst float MAX_LINES = 256.;\\\\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\\\\t// vec2 scaleRatio = scale * viewport.zw;\\\\n\\\\tvec2 normalWidth = thickness / scaleRatio;\\\\n\\\\n\\\\tfloat lineStart = 1. - lineEnd;\\\\n\\\\tfloat lineOffset = lineTop * 2. - 1.;\\\\n\\\\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\\\\n\\\\n\\\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\\\n\\\\ttangent = normalize(diff * scaleRatio);\\\\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:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform sampler2D dashPattern;\\\\nuniform vec2 dashShape;\\\\nuniform float dashLength, 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) / dashLength) * .5 + .25;\\\\n\\\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\\\n\\\\n\\\\tgl_FragColor = fragColor * dash;\\\\n\\\\tgl_FragColor.a *= alpha * opacity * dash;\\\\n}\\\\n\\\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:l,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},v)),i=t({primitive:\\\"triangle\\\",elements:function(t,e){return e.triangles},offset:0,vert:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\n\\\\nuniform vec4 color;\\\\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\\\\nuniform float pixelRatio, id;\\\\nuniform vec4 viewport;\\\\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}\\\\n\\\"]),frag:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n\\\\tgl_FragColor = fragColor;\\\\n\\\\tgl_FragColor.a *= opacity;\\\\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:s,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:v.blend,depth:{enable:!1},scissor:v.scissor,stencil:v.stencil,viewport:v.viewport}),Us(m,{update:b,draw:y,destroy:_,regl:t,gl:c,canvas:c.canvas,lines:f}),m};function aU(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}var oU={};function sU(t,e){null==e&&(e=!0);var r=t[0],n=t[1],i=t[2],a=t[3];return null==a&&(a=e?1:255),e&&(r*=255,n*=255,i*=255,a*=255),16777216*(r=255&FC(r,0,255))+((n=255&FC(n,0,255))<<16)+((i=255&FC(i,0,255))<<8)+(a=255&FC(a,0,255))}(oU=sU).to=sU,oU.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]};var lU=\\\"undefined\\\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\\\//.test(navigator.appVersion)),uU=function(t){var e;arguments.length>1&&(t=arguments);\\\"string\\\"==typeof t&&(t=t.split(/\\\\s/).map(parseFloat));t.length&&\\\"number\\\"==typeof t[0]?e=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=MV(t,{left:\\\"x l left Left\\\",top:\\\"y t top Top\\\",width:\\\"w width\\\",height:\\\"h height\\\",bottom:\\\"b bottom\\\",right:\\\"r 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};function cU(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function hU(t,e,r,n){return new Function([cU(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),cU(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}var fU={ge:hU(\\\">=\\\",!1,\\\"GE\\\"),gt:hU(\\\">\\\",!1,\\\"GT\\\"),lt:hU(\\\"<\\\",!0,\\\"LT\\\"),le:hU(\\\"<=\\\",!0,\\\"LE\\\"),eq:hU(\\\"-\\\",!0,\\\"EQ\\\",!0)},pU=function(t,e,r,n,i){i<=4*dU?gU(0,i-1,t,e,r,n):function t(e,r,n,i,a,o){var s=(r-e+1)/6|0,l=e+s,u=r-s,c=e+r>>1,h=c-s,f=c+s,p=l,d=h,g=c,v=f,m=u,y=e+1,x=r-1,b=0;bU(p,d,n,i,a)&&(b=p,p=d,d=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);bU(p,g,n,i,a)&&(b=p,p=g,g=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(p,v,n,i,a)&&(b=p,p=v,v=b);bU(g,v,n,i,a)&&(b=g,g=v,v=b);bU(d,m,n,i,a)&&(b=d,d=m,m=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);var _=n[d];var w=i[2*d];var M=i[2*d+1];var A=a[d];var k=o[d];var T=n[v];var S=i[2*v];var E=i[2*v+1];var C=a[v];var L=o[v];var z=p;var P=g;var I=m;var D=l;var O=c;var R=u;var F=n[z];var B=n[P];var N=n[I];n[D]=F;n[O]=B;n[R]=N;for(var j=0;j<2;++j){var V=i[2*z+j],U=i[2*P+j],q=i[2*I+j];i[2*D+j]=V,i[2*O+j]=U,i[2*R+j]=q}var H=a[z];var G=a[P];var W=a[I];a[D]=H;a[O]=G;a[R]=W;var Y=o[z];var X=o[P];var Z=o[I];o[D]=Y;o[O]=X;o[R]=Z;mU(h,e,n,i,a,o);mU(f,r,n,i,a,o);for(var J=y;J<=x;++J)if(_U(J,_,w,M,A,n,i,a))J!==y&&vU(J,y,n,i,a,o),++y;else if(!_U(J,T,S,E,C,n,i,a))for(;;){if(_U(x,T,S,E,C,n,i,a)){_U(x,_,w,M,A,n,i,a)?(yU(J,y,x,n,i,a,o),++y,--x):(vU(J,x,n,i,a,o),--x);break}if(--x<J)break}xU(e,y-1,_,w,M,A,k,n,i,a,o);xU(r,x+1,T,S,E,C,L,n,i,a,o);y-2-e<=dU?gU(e,y-2,n,i,a,o):t(e,y-2,n,i,a,o);r-(x+2)<=dU?gU(x+2,r,n,i,a,o):t(x+2,r,n,i,a,o);x-y<=dU?gU(y,x,n,i,a,o):t(y,x,n,i,a,o)}(0,i-1,t,e,r,n)},dU=32;function gU(t,e,r,n,i,a){for(var o=t+1;o<=e;++o){for(var s=r[o],l=n[2*o],u=n[2*o+1],c=i[o],h=a[o],f=o;f>t;){var p=r[f-1],d=n[2*(f-1)];if((p-s||l-d)>=0)break;r[f]=p,n[2*f]=d,n[2*f+1]=n[2*f-1],i[f]=i[f-1],a[f]=a[f-1],f-=1}r[f]=s,n[2*f]=l,n[2*f+1]=u,i[f]=c,a[f]=h}}function vU(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],u=i[t],c=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=u,a[e]=c}function mU(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function yU(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],u=i[2*t+1],c=a[t],h=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=u,a[r]=c,o[r]=h}function xU(t,e,r,n,i,a,o,s,l,u,c){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],u[t]=u[e],c[t]=c[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,u[e]=a,c[e]=o}function bU(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function _U(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}var wU=function(t,e,r,n){var i=t.length>>>1;if(i<1)return[];e||(e=Array(i));r||(r=Array(i));n||(n=[]);for(var a=0;a<i;++a)e[a]=a;if(!n.length||n.length<4||n[0]>=n[2]||n[1]>=n[3]){var o=_V(t,2);o[0]===o[2]&&(o[2]+=1),o[1]===o[3]&&(o[3]+=1),n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3]}var s=n[0],l=n[1],u=n[2],c=n[3],h=1/(u-s),f=1/(c-l),p=Math.max(u-s,c-l),d=new Int32Array(i),g=0;(function n(i,a,o,s,l,u){var c=.5*o;var h=s+1;var f=l-s;r[g]=f;d[g++]=u;for(var p=0;p<2;++p)for(var v=0;v<2;++v){var m=i+p*c,y=a+v*c,x=MU(t,e,h,l,m,y,m+c,y+c);if(x!==h){if(x-h>=Math.max(.9*f,32)){var b=l+s>>>1;n(m,y,c,h,b,u+1),h=b}n(m,y,c,h,x,u+1),h=x}}})(s,l,p,0,i,0),pU(d,t,e,r,i);for(var v=[],m=0,y=i,g=i-1;g>=0;--g){t[2*g]=(t[2*g]-s)*h,t[2*g+1]=(t[2*g+1]-l)*f;var x=d[g];x!==m&&(v.push(new AU(p*Math.pow(.5,x),g+1,y-(g+1))),y=g+1,m=x)}return v.push(new AU(p*Math.pow(.5,x+1),0,y)),v};function MU(t,e,r,n,i,a,o,s){for(var l=r,u=r;u<n;++u){var c=t[2*u],h=t[2*u+1],f=e[u];i<=c&&c<=o&&a<=h&&h<=s&&(u===l?l+=1:(t[2*u]=t[2*l],t[2*u+1]=t[2*l+1],e[u]=e[l],t[2*l]=c,t[2*l+1]=h,e[l]=f,l+=1))}return l}function AU(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var kU=TV.float32,TU=TV.fract32,SU=function(t,e){\\\"function\\\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null);e&&e.length&&(e.positions=e);var r,n,i,a,o,s,l,u=(t=e.regl)._gl,c=[],h={},f={color:\\\"black\\\",borderColor:\\\"transparent\\\",borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},p=[],d=[null],g=[null],v=4096,m=100;l=t.texture({data:new Uint8Array(4*v),width:v,height:1,type:\\\"uint8\\\",format:\\\"rgba\\\",wrapS:\\\"clamp\\\",wrapT:\\\"clamp\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\"}),i=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),s=t.buffer({usage:\\\"dynamic\\\",type:\\\"uint16\\\",data:null}),a=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),o=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),e.clone?(p=e.clone.groups.map(function(e){return(e=Us({},e)).markerIds&&(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:\\\"points\\\",type:\\\"uint32\\\",data:e.data}),r})),e}),e.clone.markers.forEach(function(t){S(t)}),C(e.clone.palette),T({point:!0,color:!0,size:!0})):k(e);var y={uniforms:{pixelRatio:t.context(\\\"pixelRatio\\\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\\\"scale\\\"),scaleFract:t.prop(\\\"scaleFract\\\"),translate:t.prop(\\\"translate\\\"),translateFract:t.prop(\\\"translateFract\\\"),opacity:t.prop(\\\"opacity\\\"),marker:t.prop(\\\"marker\\\")},attributes:{position:a,positionFract:o,size:function(t,e){return e.size.length?{buffer:i,stride:2,offset:0}:{constant:[Math.round(255*e.size/m)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:i,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/m)]}},colorId:function(t,e){return e.color.length?{buffer:s,stride:8,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:s,stride:8,offset:4}:{constant:[e.borderColor]}}},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\\\"};if(lU)n=t(Us({},y,{frag:E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color, borderColor;\\\\nuniform float opacity;\\\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\\\n\\\\nfloat smoothStep(float x, float y) {\\\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\\\n}\\\\n\\\\nvoid main() {\\\\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\\\\n  if(radius > 1.0) {\\\\n    discard;\\\\n  }\\\\n\\\\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\\\\n\\\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\\\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\\\n}\\\\n\\\"]),vert:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\nattribute float size, borderSize;\\\\n\\\\nuniform vec2 scale, scaleFract, translate, translateFract;\\\\nuniform float pixelRatio;\\\\n\\\\nconst float maxSize = 100.;\\\\n\\\\nvarying vec4 fragColor, fragBorderColor;\\\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\\\n\\\\nvoid main() {\\\\n  float size = size * maxSize / 255.;\\\\n  float borderSize = borderSize * maxSize / 255.;\\\\n  fragBorderSize = borderSize;\\\\n  fragSize = size;\\\\n\\\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\\\n\\\\n  vec2 pos = (position + translate) * scale\\\\n\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scale\\\\n\\\\t\\\\t\\\\t+ (position + translate) * scaleFract\\\\n\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scaleFract;\\\\n\\\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\\\n\\\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\\\n  fragWidth = 1. / gl_PointSize;\\\\n}\\\\n\\\"]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return c.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return c.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(\\\"pixelRatio\\\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\\\"scale\\\"),scaleFract:t.prop(\\\"scaleFract\\\"),translate:t.prop(\\\"translate\\\"),translateFract:t.prop(\\\"translateFract\\\"),opacity:t.prop(\\\"opacity\\\"),marker:t.prop(\\\"marker\\\")},attributes:{position:a,positionFract:o,size:y.attributes.size,borderSize:y.attributes.borderSize}}));else{var x=Us({},y);x.frag=E_([\\\"precision mediump 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);\\\\n    return;\\\\n  }\\\\n\\\\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\\\"]),x.vert=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\nattribute float size, borderSize;\\\\nattribute vec2 colorId, borderColorId;\\\\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,\\\\n\\\\t\\\\tfragWidth, fragBorderColorLevel, fragColorLevel;\\\\n\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\\\n  vec4 borderColor = texture2D(palette, paletteCoord(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}\\\\n\\\"]),r=t(x);var b=Us({},y);b.frag=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor, fragBorderColor;\\\\n\\\\nuniform float opacity;\\\\nvarying float fragBorderRadius, fragWidth;\\\\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\\\\treturn;\\\\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\\\"]),b.vert=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\nattribute float size, borderSize;\\\\nattribute vec2 colorId, borderColorId;\\\\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\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\\\n  vec4 borderColor = texture2D(palette, paletteCoord(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\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scale\\\\n\\\\t\\\\t\\\\t+ (position + translate) * scaleFract\\\\n\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scaleFract;\\\\n\\\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\\\n\\\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\\\n  fragColor = color;\\\\n  fragBorderColor = borderColor;\\\\n  fragWidth = 1. / gl_PointSize;\\\\n}\\\\n\\\"]),n=t(b)}function _(t){t?k(t):null===t&&L(),w()}function w(t){if(\\\"number\\\"==typeof t)return M(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?M(t,e):M(t)}):p.forEach(function(t,e){t&&M(e)})}function M(e,i){var a;if(\\\"number\\\"==typeof e&&(e=p[e]),Array.isArray(e)&&(a=e,e=p[i]),e&&e.count&&e.opacity){var o;if(a){o=Array(e.count);for(var s=0;s<a.length;s++)o[a[s]]=!0}if(e.markerIds[0]){t._refresh();var l=A(e.markerIds[0],e,o);n(l)}for(var u=[],c=1;c<e.markerIds.length;c++){var h=e.markerIds[c];h&&h.length&&[].push.apply(u,A(h,e,o))}u.length&&(t._refresh(),r(u))}}function A(t,e,r){var n=e.range,i=e.offset;if(!t.snap){var a=r?x(t.data,r):t.elements;return[Us({},e,{elements:a,offset:0,count:r?a.length:t.length,marker:d[t.id]})]}for(var o=[],s=t.lod,l=t.x,u=t.id,c=Math.min((n[2]-n[0])/e.viewport.width,(n[3]-n[1])/e.viewport.height),h=s.length;h--;){var f=s[h];if(!(f.pixelSize&&f.pixelSize<c&&h>1)){var p=f.offset,g=f.count+p,v=fU.ge(l,n[0],p,g-1),m=fU.lt(l,n[2],v,g-1)+1;if(!(m<=v))if(r){var y=x(t.data.subarray(v,m),r);o.push(Us({},e,{elements:y,marker:d[u],offset:0,count:y.length}))}else o.push(Us({},e,{elements:t.elements,marker:d[u],offset:v,count:m-v}))}}function x(t,e){for(var r=[],n=0,a=t.length;n<a;n++){var o=t[n],s=o-i;e[s]&&r.push(o)}return r}return o}function k(e){if(e){null!=e.length?\\\"number\\\"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,i=0;_.groups=p=e.map(function(e,a){var o=p[a];return void 0===e?o:(null===e?e={positions:null}:\\\"function\\\"==typeof e?e={after:e}:\\\"number\\\"==typeof e[0]&&(e={positions:e}),null===(e=MV(e,{positions:\\\"positions data points\\\",snap:\\\"snap cluster\\\",size:\\\"sizes size radius\\\",borderSize:\\\"borderSizes borderSize stroke-width strokeWidth outline\\\",color:\\\"colors color fill fill-color fillColor\\\",borderColor:\\\"borderColors borderColor stroke stroke-color strokeColor\\\",palette:\\\"palette swatch\\\",marker:\\\"markers marker shape\\\",range:\\\"range dataBox\\\",viewport:\\\"viewport viewBox\\\",opacity:\\\"opacity alpha\\\"})).positions&&(e.positions=[]),o||(p[a]=o={id:a,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=Us({},f,e)),!e.positions||\\\"marker\\\"in e||(e.marker=o.marker,delete o.marker),!e.marker||\\\"positions\\\"in e||(e.positions=o.positions,delete o.positions),EV(o,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=E(t),i++,t},borderColor:function(t){return t=E(t),i++,t},positions:function(t,e,n){t=wV(t,\\\"float64\\\");var i=e.count=Math.floor(t.length/2),a=e.bounds=i?_V(t,2):null;return n.range||e.range||(delete e.range,n.range=a),e.offset=r,r+=i,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&&\\\"number\\\"!=typeof t[0])for(var n=0,i=t.length;n<i;n++){var a=S(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{var o=S(t),s=gV(e.count);e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,o=r.offset,s=0;s<n.length;s++){var l=n[s];if(l&&l.length){var u=l.length,c=void 0;if(l.id=s,i&&(!0===i||u>i)){l.snap=!0;var h=l.x=Array(u),f=l.w=Array(u),p=void 0;if(n.length>1){p=Array(2*u);for(var d=0;d<u;d++){var g=l[d];p[2*d]=e[2*g],p[2*d+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);l.lod=wU(p,v,f,a),c=new Uint32Array(u);for(var m=0;m<u;m++){var y=v[m],x=l[y];c[m]=x+o,h[m]=e[2*x]}}else{c=new Uint32Array(u);for(var b=0;b<u;b++)c[b]=l[b]+o}l.data=c,l.elements=t.elements({primitive:\\\"points\\\",type:\\\"uint32\\\",data:c})}}},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=TU(e.scale),e.translateFract=TU(e.translate),t},viewport:function(t){return uU(t||[u.drawingBufferWidth,u.drawingBufferHeight])}}]),o)}),T({point:r,size:n,color:i})}}function T(t){var e=t.point,r=t.size,n=t.color,l=p.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var u=new Float32Array(2*l),c=new Float32Array(2*l);p.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&&(u.set(kU(r),2*i),c.set(TU(r),2*i))}}),a(u),o(c)}if(r){var h=new Uint8Array(2*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&&(i.length||a.length)){for(var o=new Uint8Array(2*r),s=0;s<r;s++)o[2*s]=Math.round(255*(null==i[s]?i:i[s])/m),o[2*s+1]=Math.round(255*(null==a[s]?a:a[s])/m);h.set(o,2*n)}}}),i(h)}if(n){var f=new Uint16Array(4*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&&(i.length||a.length)){for(var o=new Uint16Array(4*r),s=0;s<r;s++)null!=i[s]&&(o[4*s]=i[s]%v,o[4*s+1]=Math.floor(i[s]/v)),null!=a[s]&&(o[4*s+2]=a[s]%v,o[4*s+3]=Math.floor(a[s]/v));f.set(o,4*n)}}}),s(f)}}function S(e){var r,n=null==e?0:g.indexOf(e);if(n>=0)return n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)r=e;else{r=new Uint8Array(e.length);for(var i=0,a=e.length;i<a;i++)r[i]=255*e[i]}var o=Math.floor(Math.sqrt(r.length));return n=d.length,g.push(e),d.push(t.texture({channels:1,data:r,radius:o,mag:\\\"linear\\\",min:\\\"linear\\\"})),n}function E(t){Array.isArray(t)||(t=[t]);for(var e=[],r=0;r<t.length;r++){var n=t[r];if(\\\"number\\\"!=typeof n){n=GC(n,\\\"uint8\\\");var i=oU(n,!1);if(null==h[i]){var a=c.length;h[i]=Math.floor(a/4),c[a]=n[0],c[a+1]=n[1],c[a+2]=n[2],c[a+3]=n[3]}e[r]=h[i]}else e[r]=n}return C(c),1===e.length?e[0]:e}function C(t){var e=Math.ceil(.25*t.length/v);if(e>1)for(var r=.25*(t=t.slice()).length%v;r<e*v;r++)t.push(0,0,0,0);l.height<e&&l.resize(v,e),l.subimage({width:Math.min(.25*t.length,v),height:e,data:t},0,0)}function L(){p.length=0,i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}return Us(_,{update:k,draw:w,destroy:L,regl:t,gl:u,canvas:u.canvas,groups:p,markers:g,palette:c}),_};var EU=function(t,e){e||(e={});var r,n,i,a,o,s,l,u,c,h,f,p=null==e.cutoff?.25:e.cutoff,d=null==e.radius?8:e.radius,g=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,n=e.height,a=t,s=e.stride?e.stride:Math.floor(t.length/r/n)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(l=(u=t).getContext(\\\"2d\\\"),r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(u=t.canvas,l=t,r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.ImageData&&t instanceof window.ImageData&&(c=t,r=t.width,n=t.height,a=c.data,s=4);if(i=Math.max(r,n),window.Uint8ClampedArray&&a instanceof window.Uint8ClampedArray||window.Uint8Array&&a instanceof window.Uint8Array)for(o=a,a=Array(r*n),h=0,f=o.length;h<f;h++)a[h]=o[h*s+g]/255;else if(1!==s)throw Error(\\\"Raw data can have only 1 value per pixel\\\");var v=Array(r*n),m=Array(r*n),y=Array(i),x=Array(i),b=Array(i+1),_=Array(i);for(h=0,f=r*n;h<f;h++){var w=a[h];v[h]=1===w?0:0===w?CU:Math.pow(Math.max(0,.5-w),2),m[h]=1===w?CU:0===w?0:Math.pow(Math.max(0,w-.5),2)}LU(v,r,n,y,x,_,b),LU(m,r,n,y,x,_,b);var M=window.Float32Array?new Float32Array(r*n):new Array(r*n);for(h=0,f=r*n;h<f;h++)M[h]=FC(1-((v[h]-m[h])/d+p),0,1);return M},CU=1e20;function LU(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(zU(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(zU(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function zU(t,e,r,n,i){r[0]=0,n[0]=-CU,n[1]=+CU;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+CU}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}var PU=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\\\"a\\\":t[6]+=n,t[7]+=i;break;case\\\"v\\\":t[1]+=i;break;case\\\"h\\\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\\\"Z\\\":n=e,i=r;break;case\\\"H\\\":n=t[1];break;case\\\"V\\\":i=t[1];break;case\\\"M\\\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})};var IU=Math.PI,DU=jU(120),OU=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\\\"M\\\":a=p[1],o=p[2];break;case\\\"A\\\":(p=BU(u,c,p[1],p[2],jU(p[3]),p[4],p[5],p[6],p[7])).unshift(\\\"C\\\"),p.length>7&&(r.push(p.splice(0,7)),p.unshift(\\\"C\\\"));break;case\\\"S\\\":var g=u,v=c;\\\"C\\\"!=e&&\\\"S\\\"!=e||(g+=g-n,v+=v-i),p=[\\\"C\\\",g,v,p[1],p[2],p[3],p[4]];break;case\\\"T\\\":\\\"Q\\\"==e||\\\"T\\\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=FU(u,c,s,l,p[1],p[2]);break;case\\\"Q\\\":s=p[1],l=p[2],p=FU(u,c,p[1],p[2],p[3],p[4]);break;case\\\"L\\\":p=RU(u,c,p[1],p[2]);break;case\\\"H\\\":p=RU(u,c,p[1],c);break;case\\\"V\\\":p=RU(u,c,u,p[1]);break;case\\\"Z\\\":p=RU(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function RU(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function FU(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function BU(t,e,r,n,i,a,o,s,l,u){if(u)x=u[0],b=u[1],m=u[2],y=u[3];else{var c=NU(t,e,-i);t=c.x,e=c.y;var h=(t-(s=(c=NU(s,l,-i)).x))/2,f=(e-(l=c.y))/2,p=h*h/(r*r)+f*f/(n*n);p>1&&(r*=p=Math.sqrt(p),n*=p);var d=r*r,g=n*n,v=(a==o?-1:1)*Math.sqrt(Math.abs((d*g-d*f*f-g*h*h)/(d*f*f+g*h*h)));v==1/0&&(v=1);var m=v*r*f/n+(t+s)/2,y=v*-n*h/r+(e+l)/2,x=Math.asin(((e-y)/n).toFixed(9)),b=Math.asin(((l-y)/n).toFixed(9));x=t<m?IU-x:x,b=s<m?IU-b:b,x<0&&(x=2*IU+x),b<0&&(b=2*IU+b),o&&x>b&&(x-=2*IU),!o&&b>x&&(b-=2*IU)}if(Math.abs(b-x)>DU){var _=b,w=s,M=l;b=x+DU*(o&&b>x?1:-1);var A=BU(s=m+r*Math.cos(b),l=y+n*Math.sin(b),r,n,i,0,o,w,M,[b,_,m,y])}var k=Math.tan((b-x)/4),T=4/3*r*k,S=4/3*n*k,E=[2*t-(t+T*Math.sin(x)),2*e-(e-S*Math.cos(x)),s+T*Math.sin(b),l-S*Math.cos(b),s,l];if(u)return E;A&&(E=E.concat(A));for(var C=0;C<E.length;){var L=NU(E[C],E[C+1],i);E[C++]=L.x,E[C++]=L.y}return E}function NU(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function jU(t){return t*(IU/180)}var VU={M:\\\"moveTo\\\",C:\\\"bezierCurveTo\\\"},UU=function(t,e){t.beginPath(),OU(PU(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[VU[r]].apply(t,n)}),t.closePath()},qU=function(t){return\\\"string\\\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\\\dz]$/i.test(t)&&t.length>4))},HU=function(t){var e=[];return t.replace(WU,function(t,r,n){var i=r.toLowerCase();for(n=function(t){var e=t.match(YU);return e?e.map(Number):[]}(n),\\\"m\\\"==i&&n.length>2&&(e.push([r].concat(n.splice(0,2))),i=\\\"l\\\",r=\\\"m\\\"==r?\\\"l\\\":\\\"L\\\");;){if(n.length==GU[i])return n.unshift(r),e.push(n);if(n.length<GU[i])throw new Error(\\\"malformed path data\\\");e.push([r].concat(n.splice(0,GU[i])))}}),e},GU={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},WU=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var YU=/-?[0-9]*\\\\.?[0-9]+(?:e[-+]?\\\\d+)?/gi;var XU={};XU=\\\"function\\\"==typeof Object.create?function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t};var ZU=function(t){return t&&\\\"object\\\"==typeof t&&\\\"function\\\"==typeof t.copy&&\\\"function\\\"==typeof t.fill&&\\\"function\\\"==typeof t.readUInt8},JU={};(function(t,e){var r=/%[sdj%]/g;JU.format=function(t){if(!g(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(a(arguments[n]));return e.join(\\\" \\\")}n=1;for(var i=arguments,o=i.length,s=String(t).replace(r,function(t){if(\\\"%%\\\"===t)return\\\"%\\\";if(n>=o)return t;switch(t){case\\\"%s\\\":return String(i[n++]);case\\\"%d\\\":return Number(i[n++]);case\\\"%j\\\":try{return JSON.stringify(i[n++])}catch(t){return\\\"[Circular]\\\"}default:return t}}),l=i[n];n<o;l=i[++n])p(l)||!y(l)?s+=\\\" \\\"+l:s+=\\\" \\\"+a(l);return s},JU.deprecate=function(r,n){if(v(e.process))return function(){return JU.deprecate(r,n).apply(this,arguments)};if(!0===t.noDeprecation)return r;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(n);t.traceDeprecation?console.trace(n):console.error(n),i=!0}return r.apply(this,arguments)}};var n,i={};function a(t,e){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(e)?r.showHidden=e:e&&JU._extend(r,e),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),l(r,t,r.depth)}function o(t,e){var r=a.styles[e];return r?\\\"\\\\x1b[\\\"+a.colors[r][0]+\\\"m\\\"+t+\\\"\\\\x1b[\\\"+a.colors[r][1]+\\\"m\\\":t}function s(t,e){return t}function l(t,e,r){if(t.customInspect&&e&&_(e.inspect)&&e.inspect!==JU.inspect&&(!e.constructor||e.constructor.prototype!==e)){var n=e.inspect(r,t);return g(n)||(n=l(t,n,r)),n}var i=function(t,e){if(v(e))return t.stylize(\\\"undefined\\\",\\\"undefined\\\");if(g(e)){var r=\\\"'\\\"+JSON.stringify(e).replace(/^\\\"|\\\"$/g,\\\"\\\").replace(/'/g,\\\"\\\\\\\\'\\\").replace(/\\\\\\\\\\\"/g,'\\\"')+\\\"'\\\";return t.stylize(r,\\\"string\\\")}if(d(e))return t.stylize(\\\"\\\"+e,\\\"number\\\");if(f(e))return t.stylize(\\\"\\\"+e,\\\"boolean\\\");if(p(e))return t.stylize(\\\"null\\\",\\\"null\\\")}(t,e);if(i)return i;var a=Object.keys(e),o=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(e)),b(e)&&(a.indexOf(\\\"message\\\")>=0||a.indexOf(\\\"description\\\")>=0))return u(e);if(0===a.length){if(_(e)){var s=e.name?\\\": \\\"+e.name:\\\"\\\";return t.stylize(\\\"[Function\\\"+s+\\\"]\\\",\\\"special\\\")}if(m(e))return t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\");if(x(e))return t.stylize(Date.prototype.toString.call(e),\\\"date\\\");if(b(e))return u(e)}var y,w=\\\"\\\",M=!1,A=[\\\"{\\\",\\\"}\\\"];(h(e)&&(M=!0,A=[\\\"[\\\",\\\"]\\\"]),_(e))&&(w=\\\" [Function\\\"+(e.name?\\\": \\\"+e.name:\\\"\\\")+\\\"]\\\");return m(e)&&(w=\\\" \\\"+RegExp.prototype.toString.call(e)),x(e)&&(w=\\\" \\\"+Date.prototype.toUTCString.call(e)),b(e)&&(w=\\\" \\\"+u(e)),0!==a.length||M&&0!=e.length?r<0?m(e)?t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\"):t.stylize(\\\"[Object]\\\",\\\"special\\\"):(t.seen.push(e),y=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)k(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(\\\"\\\");return i.forEach(function(i){i.match(/^\\\\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,r,o,a):a.map(function(n){return c(t,e,r,o,n,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,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]}(y,w,A)):A[0]+w+A[1]}function u(t){return\\\"[\\\"+Error.prototype.toString.call(t)+\\\"]\\\"}function c(t,e,r,n,i,a){var o,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize(\\\"[Getter/Setter]\\\",\\\"special\\\"):t.stylize(\\\"[Getter]\\\",\\\"special\\\"):u.set&&(s=t.stylize(\\\"[Setter]\\\",\\\"special\\\")),k(n,i)||(o=\\\"[\\\"+i+\\\"]\\\"),s||(t.seen.indexOf(u.value)<0?(s=p(r)?l(t,u.value,null):l(t,u.value,r-1)).indexOf(\\\"\\\\n\\\")>-1&&(s=a?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\\\")),v(o)){if(a&&i.match(/^\\\\d+$/))return s;(o=JSON.stringify(\\\"\\\"+i)).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 h(t){return Array.isArray(t)}function f(t){return\\\"boolean\\\"==typeof t}function p(t){return null===t}function d(t){return\\\"number\\\"==typeof t}function g(t){return\\\"string\\\"==typeof t}function v(t){return void 0===t}function m(t){return y(t)&&\\\"[object RegExp]\\\"===w(t)}function y(t){return\\\"object\\\"==typeof t&&null!==t}function x(t){return y(t)&&\\\"[object Date]\\\"===w(t)}function b(t){return y(t)&&(\\\"[object Error]\\\"===w(t)||t instanceof Error)}function _(t){return\\\"function\\\"==typeof t}function w(t){return Object.prototype.toString.call(t)}function M(t){return t<10?\\\"0\\\"+t.toString(10):t.toString(10)}JU.debuglog=function(e){if(v(n)&&(n=t.env.NODE_DEBUG||\\\"\\\"),e=e.toUpperCase(),!i[e])if(new RegExp(\\\"\\\\\\\\b\\\"+e+\\\"\\\\\\\\b\\\",\\\"i\\\").test(n)){var r=t.pid;i[e]=function(){var t=JU.format.apply(JU,arguments);console.error(\\\"%s %d: %s\\\",e,r,t)}}else i[e]=function(){};return i[e]},JU.inspect=a,a.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]},a.styles={special:\\\"cyan\\\",number:\\\"yellow\\\",boolean:\\\"yellow\\\",undefined:\\\"grey\\\",null:\\\"bold\\\",string:\\\"green\\\",date:\\\"magenta\\\",regexp:\\\"red\\\"},JU.isArray=h,JU.isBoolean=f,JU.isNull=p,JU.isNullOrUndefined=function(t){return null==t},JU.isNumber=d,JU.isString=g,JU.isSymbol=function(t){return\\\"symbol\\\"==typeof t},JU.isUndefined=v,JU.isRegExp=m,JU.isObject=y,JU.isDate=x,JU.isError=b,JU.isFunction=_,JU.isPrimitive=function(t){return null===t||\\\"boolean\\\"==typeof t||\\\"number\\\"==typeof t||\\\"string\\\"==typeof t||\\\"symbol\\\"==typeof t||void 0===t},JU.isBuffer=ZU;var A=[\\\"Jan\\\",\\\"Feb\\\",\\\"Mar\\\",\\\"Apr\\\",\\\"May\\\",\\\"Jun\\\",\\\"Jul\\\",\\\"Aug\\\",\\\"Sep\\\",\\\"Oct\\\",\\\"Nov\\\",\\\"Dec\\\"];function k(t,e){return Object.prototype.hasOwnProperty.call(t,e)}JU.log=function(){var t,e;console.log(\\\"%s - %s\\\",(t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(\\\":\\\"),[t.getDate(),A[t.getMonth()],e].join(\\\" \\\")),JU.format.apply(JU,arguments))},JU.inherits=XU,JU._extend=function(t,e){if(!e||!y(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,Pp,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var KU={};(function(t){\\\"use strict\\\";function e(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function r(e){return t.Buffer&&\\\"function\\\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var n=Object.prototype.hasOwnProperty,i=Array.prototype.slice,a=\\\"foo\\\"===function(){}.name;function o(t){return Object.prototype.toString.call(t)}function s(e){return!r(e)&&(\\\"function\\\"==typeof t.ArrayBuffer&&(\\\"function\\\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var l=KU=d,u=/\\\\s*function\\\\s+([^\\\\(\\\\s]*)\\\\s*/;function c(t){if(JU.isFunction(t)){if(a)return t.name;var e=t.toString().match(u);return e&&e[1]}}function h(t,e){return\\\"string\\\"==typeof t?t.length<e?t:t.slice(0,e):t}function f(t){if(a||!JU.isFunction(t))return JU.inspect(t);var e=c(t);return\\\"[Function\\\"+(e?\\\": \\\"+e:\\\"\\\")+\\\"]\\\"}function p(t,e,r,n,i){throw new l.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function d(t,e){t||p(t,!0,e,\\\"==\\\",l.ok)}function g(t,n,a,l){if(t===n)return!0;if(r(t)&&r(n))return 0===e(t,n);if(JU.isDate(t)&&JU.isDate(n))return t.getTime()===n.getTime();if(JU.isRegExp(t)&&JU.isRegExp(n))return t.source===n.source&&t.global===n.global&&t.multiline===n.multiline&&t.lastIndex===n.lastIndex&&t.ignoreCase===n.ignoreCase;if(null!==t&&\\\"object\\\"==typeof t||null!==n&&\\\"object\\\"==typeof n){if(s(t)&&s(n)&&o(t)===o(n)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===e(new Uint8Array(t.buffer),new Uint8Array(n.buffer));if(r(t)!==r(n))return!1;var u=(l=l||{actual:[],expected:[]}).actual.indexOf(t);return-1!==u&&u===l.expected.indexOf(n)||(l.actual.push(t),l.expected.push(n),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(JU.isPrimitive(t)||JU.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=v(t),o=v(e);if(a&&!o||!a&&o)return!1;if(a)return t=i.call(t),e=i.call(e),g(t,e,r);var s,l,u=x(t),c=x(e);if(u.length!==c.length)return!1;for(u.sort(),c.sort(),l=u.length-1;l>=0;l--)if(u[l]!==c[l])return!1;for(l=u.length-1;l>=0;l--)if(s=u[l],!g(t[s],e[s],r,n))return!1;return!0}(t,n,a,l))}return a?t===n:t==n}function v(t){return\\\"[object Arguments]\\\"==Object.prototype.toString.call(t)}function m(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 y(t,e,r,n){var i;if(\\\"function\\\"!=typeof e)throw new TypeError('\\\"block\\\" argument must be a function');\\\"string\\\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\\\" (\\\"+r.name+\\\").\\\":\\\".\\\")+(n?\\\" \\\"+n:\\\".\\\"),t&&!i&&p(i,r,\\\"Missing expected exception\\\"+n);var a=\\\"string\\\"==typeof n,o=!t&&JU.isError(i),s=!t&&i&&!r;if((o&&a&&m(i,r)||s)&&p(i,r,\\\"Got unwanted exception\\\"+n),t&&i&&r&&!m(i,r)||!t&&i)throw i}l.AssertionError=function(t){var e;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=h(f((e=this).actual),128)+\\\" \\\"+e.operator+\\\" \\\"+h(f(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||p;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=c(r),o=i.indexOf(\\\"\\\\n\\\"+a);if(o>=0){var s=i.indexOf(\\\"\\\\n\\\",o+1);i=i.substring(s+1)}this.stack=i}}},JU.inherits(l.AssertionError,Error),l.fail=p,l.ok=d,l.equal=function(t,e,r){t!=e&&p(t,e,r,\\\"==\\\",l.equal)},l.notEqual=function(t,e,r){t==e&&p(t,e,r,\\\"!=\\\",l.notEqual)},l.deepEqual=function(t,e,r){g(t,e,!1)||p(t,e,r,\\\"deepEqual\\\",l.deepEqual)},l.deepStrictEqual=function(t,e,r){g(t,e,!0)||p(t,e,r,\\\"deepStrictEqual\\\",l.deepStrictEqual)},l.notDeepEqual=function(t,e,r){g(t,e,!1)&&p(t,e,r,\\\"notDeepEqual\\\",l.notDeepEqual)},l.notDeepStrictEqual=function t(e,r,n){g(e,r,!0)&&p(e,r,n,\\\"notDeepStrictEqual\\\",t)},l.strictEqual=function(t,e,r){t!==e&&p(t,e,r,\\\"===\\\",l.strictEqual)},l.notStrictEqual=function(t,e,r){t===e&&p(t,e,r,\\\"!==\\\",l.notStrictEqual)},l.throws=function(t,e,r){y(!0,t,e,r)},l.doesNotThrow=function(t,e,r){y(!1,t,e,r)},l.ifError=function(t){if(t)throw t};var x=Object.keys||function(t){var e=[];for(var r in t)n.call(t,r)&&e.push(r);return e}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var QU={};Object.defineProperty(QU,\\\"__esModule\\\",{value:!0});var $U=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=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){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\")}}(),tq=2*Math.PI,eq=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},rq=function(t,e){var r=4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},nq=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};QU.default=function(t){var e=t.px,r=t.py,n=t.cx,i=t.cy,a=t.rx,o=t.ry,s=t.xAxisRotation,l=void 0===s?0:s,u=t.largeArcFlag,c=void 0===u?0:u,h=t.sweepFlag,f=void 0===h?0:h,p=[];if(0===a||0===o)return[];var d=Math.sin(l*tq/360),g=Math.cos(l*tq/360),v=g*(e-n)/2+d*(r-i)/2,m=-d*(e-n)/2+g*(r-i)/2;if(0===v&&0===m)return[];a=Math.abs(a),o=Math.abs(o);var y=Math.pow(v,2)/Math.pow(a,2)+Math.pow(m,2)/Math.pow(o,2);y>1&&(a*=Math.sqrt(y),o*=Math.sqrt(y));var x=function(t,e,r,n,i,a,o,s,l,u,c,h){var f=Math.pow(i,2),p=Math.pow(a,2),d=Math.pow(c,2),g=Math.pow(h,2),v=f*p-f*g-p*d;v<0&&(v=0),v/=f*g+p*d;var m=(v=Math.sqrt(v)*(o===s?-1:1))*i/a*h,y=v*-a/i*c,x=u*m-l*y+(t+r)/2,b=l*m+u*y+(e+n)/2,_=(c-m)/i,w=(h-y)/a,M=(-c-m)/i,A=(-h-y)/a,k=nq(1,0,_,w),T=nq(_,w,M,A);return 0===s&&T>0&&(T-=tq),1===s&&T<0&&(T+=tq),[x,b,k,T]}(e,r,n,i,a,o,c,f,d,g,v,m),b=$U(x,4),_=b[0],w=b[1],M=b[2],A=b[3],k=Math.max(Math.ceil(Math.abs(A)/(tq/4)),1);A/=k;for(var T=0;T<k;T++)p.push(rq(M,A)),M+=A;return p.map(function(t){var e=eq(t[0],a,o,g,d,_,w),r=e.x,n=e.y,i=eq(t[1],a,o,g,d,_,w),s=i.x,l=i.y,u=eq(t[2],a,o,g,d,_,w);return{x1:r,y1:n,x2:s,y2:l,x:u.x,y:u.y}})},QU=QU.default;var iq=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\\\"M\\\":a=p[1],o=p[2];break;case\\\"A\\\":var g=QU({px:u,py:c,cx:p[6],cy:p[7],rx:p[1],ry:p[2],xAxisRotation:p[3],largeArcFlag:p[4],sweepFlag:p[5]});if(!g.length)continue;for(var v,m=0;m<g.length;m++)v=g[m],p=[\\\"C\\\",v.x1,v.y1,v.x2,v.y2,v.x,v.y],m<g.length-1&&r.push(p);break;case\\\"S\\\":var y=u,x=c;\\\"C\\\"!=e&&\\\"S\\\"!=e||(y+=y-n,x+=x-i),p=[\\\"C\\\",y,x,p[1],p[2],p[3],p[4]];break;case\\\"T\\\":\\\"Q\\\"==e||\\\"T\\\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=oq(u,c,s,l,p[1],p[2]);break;case\\\"Q\\\":s=p[1],l=p[2],p=oq(u,c,p[1],p[2],p[3],p[4]);break;case\\\"L\\\":p=aq(u,c,p[1],p[2]);break;case\\\"H\\\":p=aq(u,c,p[1],c);break;case\\\"V\\\":p=aq(u,c,u,p[1]);break;case\\\"Z\\\":p=aq(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function aq(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function oq(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}var sq=function(t){Array.isArray(t)&&1===t.length&&\\\"string\\\"==typeof t[0]&&(t=t[0]);\\\"string\\\"==typeof t&&(KU(qU(t),\\\"String is not an SVG path.\\\"),t=HU(t));if(KU(Array.isArray(t),\\\"Argument should be a string or an array of path segments.\\\"),t=PU(t),!(t=iq(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,n=t.length;r<n;r++)for(var i=t[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<e[0]&&(e[0]=i[a+0]),i[a+1]<e[1]&&(e[1]=i[a+1]),i[a+0]>e[2]&&(e[2]=i[a+0]),i[a+1]>e[3]&&(e[3]=i[a+1]);return e};var lq={};(function(t){\\\"use strict\\\";var e=document.createElement(\\\"canvas\\\"),r=e.getContext(\\\"2d\\\");lq=function(n,i){if(!qU(n))throw Error(\\\"Argument should be valid svg path string\\\");i||(i={});var a,o;i.shape?(a=i.shape[0],o=i.shape[1]):(a=e.width=i.w||i.width||200,o=e.height=i.h||i.height||200);var s=Math.min(a,o),l=i.stroke||0,u=i.viewbox||i.viewBox||sq(n),c=[a/(u[2]-u[0]),o/(u[3]-u[1])],h=Math.min(c[0]||0,c[1]||0)/2;r.fillStyle=\\\"black\\\",r.fillRect(0,0,a,o),r.fillStyle=\\\"white\\\",l&&(\\\"number\\\"!=typeof l&&(l=1),r.strokeStyle=l>0?\\\"white\\\":\\\"black\\\",r.lineWidth=Math.abs(l));if(r.translate(.5*a,.5*o),r.scale(h,h),t.Path2D){var f=new Path2D(n);r.fill(f),l&&r.stroke(f)}else{var p=HU(n);UU(r,p),r.fill(),l&&r.stroke()}return r.setTransform(1,0,0,1,0,0),EU(r,{cutoff:null!=i.cutoff?i.cutoff:.5,radius:null!=i.radius?i.radius:.5*s})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var uq={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]},cq={},hq=m.extendFlat,fq=ye.overrideAll,pq=Zr.line,dq=Zr.marker,gq=dq.line,vq=cq=fq({x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:hq({},Zr.text,{}),mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\"],extras:[\\\"none\\\"]},line:{color:pq.color,width:pq.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(uq),dflt:\\\"solid\\\"}},marker:hq({},De(),{symbol:dq.symbol,size:dq.size,sizeref:dq.sizeref,sizemin:dq.sizemin,sizemode:dq.sizemode,opacity:dq.opacity,showscale:dq.showscale,colorbar:dq.colorbar,line:hq({},De(),{width:gq.width})}),connectgaps:Zr.connectgaps,fill:Zr.fill,fillcolor:Zr.fillcolor,hoveron:Zr.hoveron,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},opacity:E.opacity},\\\"calc\\\",\\\"nested\\\");vq.x.editType=vq.y.editType=vq.x0.editType=vq.y0.editType=\\\"calc+clearAxisTypes\\\";var mq=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cq,r,n)}var a=!!t.marker&&/-open/.test(t.marker.symbol),o=Tr.isBubble(t),s=Ta(t,e,n,i);if(s){i(\\\"text\\\"),i(\\\"mode\\\",s<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),Tr.hasLines(e)&&(i(\\\"connectgaps\\\"),px(t,e,r,n,i));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),i(\\\"marker.line.width\\\",a||o?1:0),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\");var u=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");u(t,e,r,{axis:\\\"y\\\"}),u(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},yq={};(function(e){\\\"use strict\\\";var r=sx,n=lx,i=t.BADNUM,a=200,o=20,s=o/20,l={},u=Sr.symbolFuncs[0](.05*o),c=1e5,h=/-dot/,f=/-open/;function p(t,e,r,n){var i,a,o,s,l,u,h,p,d,v,m,y,x,b,_=t._fullLayout,w=n.length/2,M=r.marker;if(!0!==r.visible?(a=!1,o=!1,s=!1,l=!1,u=!1):(a=Tr.hasLines(r)&&n.length>1,o=r.error_x&&!0===r.error_x.visible,s=r.error_y&&!0===r.error_y.visible,l=Tr.hasMarkers(r),u=!!r.fill&&\\\"none\\\"!==r.fill),o||s){var A=P.getComponentMethod(\\\"errorbars\\\",\\\"calcFromTrace\\\")(r,_);o&&(v=C(\\\"x\\\",r.error_x,A)),s&&(m=C(\\\"y\\\",r.error_y,A))}if(a){(h={}).thickness=r.line.width,h.color=r.line.color,h.opacity=r.opacity,h.overlay=!0;var k=(uq[r.line.dash]||[1]).slice();for(i=0;i<k.length;++i)k[i]*=h.thickness;if(h.dashes=k,\\\"hv\\\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i+2]),b.push(n[2*i+1]));b.push(n[n.length-2]),b.push(n[n.length-1])}else if(\\\"vh\\\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i]),b.push(n[2*i+3]));b.push(n[n.length-2]),b.push(n[n.length-1])}else b=n;var T=!1;for(i=0;i<b.length;i++)if(isNaN(b[i])){T=!0;break}if(h.join=T||b.length>c?\\\"rect\\\":l?\\\"rect\\\":\\\"round\\\",T&&r.connectgaps){var S=b[0],E=b[1];for(i=0;i<b.length;i+=2)isNaN(b[i])||isNaN(b[i+1])?(b[i]=S,b[i+1]=E):(S=b[i],E=b[i+1])}h.positions=b}function C(e,i,a){var o={};o.positions=n;for(var s=gn.getFromId(t,r[e+\\\"axis\\\"]),l=o.errors=new Float64Array(4*w),u={x:0,y:1}[e],c={x:[0,1,2,3],y:[2,3,0,1]}[e],h=0,f=0;h<w;h++,f+=4)l[f+c[0]]=n[2*h+u]-s.d2l(a[h][e+\\\"s\\\"])||0,l[f+c[1]]=s.d2l(a[h][e+\\\"h\\\"])-n[2*h+u]||0,l[f+c[2]]=0,l[f+c[3]]=0;return i.copy_ystyle&&(i=r.error_y),o.capSize=2*i.width,o.lineWidth=i.thickness,o.color=i.color,o}function L(t,e){var r={};return t?(t.marker&&t.marker.symbol?r=z(ne.extendFlat({},e,t.marker)):(r={},t.marker.size&&(r.sizes=t.marker.size),t.marker.color&&(r.colors=t.marker.color),void 0!==t.marker.opacity&&(r.opacity=t.marker.opacity)),r):r}function z(t){var e,n,i={},a=Array.isArray(t.symbol),o=ne.isArrayOrTypedArray(t.color),s=ne.isArrayOrTypedArray(t.line.color),l=ne.isArrayOrTypedArray(t.opacity),u=ne.isArrayOrTypedArray(t.size),c=ne.isArrayOrTypedArray(t.line.width);if(a||(n=f.test(t.symbol)),a||o||s||l){i.colors=new Array(w),i.borderColors=new Array(w);var h=Dj(t,t.opacity,w),p=Dj(t.line,t.opacity,w);if(!Array.isArray(p[0])){var d=p;for(p=Array(w),e=0;e<w;e++)p[e]=d}if(!Array.isArray(h[0])){var v=h;for(h=Array(w),e=0;e<w;e++)h[e]=v}for(i.colors=h,i.borderColors=p,e=0;e<w;e++){if(a){var m=t.symbol[e];n=f.test(m)}n&&(p[e]=h[e].slice(),h[e]=h[e].slice(),h[e][3]=0)}i.opacity=r.opacity}else n?(i.color=GC(t.color,\\\"uint8\\\"),i.color[3]=0,i.borderColor=GC(t.color,\\\"uint8\\\")):(i.color=GC(t.color,\\\"uint8\\\"),i.borderColor=GC(t.line.color,\\\"uint8\\\")),i.opacity=r.opacity*t.opacity;if(a)for(i.markers=new Array(w),e=0;e<w;e++)i.markers[e]=g(t.symbol[e]);else i.marker=g(t.symbol);var y,x=kr(r);if(u||c){var b,_=i.sizes=new Array(w),M=i.borderSizes=new Array(w),A=0;if(u){for(e=0;e<w;e++)_[e]=x(t.size[e]),A+=_[e];b=A/w}else for(y=x(t.size),e=0;e<w;e++)_[e]=y;if(c)for(e=0;e<w;e++)M[e]=x(t.line.width[e]);else for(y=x(t.line.width),e=0;e<w;e++)M[e]=y;i.sizeAvg=b}else i.size=x(t&&t.size||10),i.borderSizes=x(t.line.width);return i}return u&&((d={}).fill=r.fillcolor,d.thickness=0,d.closed=!0),l&&(p=z(M),y=L(r.selected,M),x=L(r.unselected,M),p.positions=n),{line:h,marker:p,errorX:v,errorY:m,fill:d,selected:y,unselected:x}}function d(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=ne.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n<r.count;n++)e[n]=t;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.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,u=e.yaxis;t=l&&l.domain&&u&&u.domain?[a.l+l.domain[0]*a.w,a.b+u.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-u.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&&((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&&((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&&(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||ne.extendFlat(r,i),r}function g(t){if(\\\"circle\\\"===t)return null;var e,r,n=Sr.symbolNumber(t),i=Sr.symbolFuncs[n%100],c=!!Sr.symbolNoDot[n%100],f=!!Sr.symbolNoFill[n%100],p=h.test(t);return l[t]?l[t]:(e=p&&!c?i(1.1*o)+u:i(o),r=lq(e,{w:a,h:a,viewBox:[-o,-o,o,o],stroke:f?s:-s}),l[t]=r,r||null)}yq={moduleType:\\\"trace\\\",name:\\\"scattergl\\\",basePlotModule:ua,categories:[\\\"gl\\\",\\\"regl\\\",\\\"cartesian\\\",\\\"symbols\\\",\\\"errorBarsOK\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:cq,supplyDefaults:mq,cleanData:ux,colorbar:is,calc:function(t,e){var a,o,s,l=t._fullLayout,u=gn.getFromId(t,e.xaxis),h=gn.getFromId(t,e.yaxis),f=l._plots[e.xaxis+e.yaxis],g=e._length,v=2*g,m={},y=u.makeCalcdata(e,\\\"x\\\"),x=h.makeCalcdata(e,\\\"y\\\"),b=new Array(v);for(a=0;a<g;a++)o=y[a],s=x[a],b[2*a]=o===i?NaN:o,b[2*a+1]=s===i?NaN:s;if(\\\"log\\\"===u.type)for(a=0;a<v;a+=2)b[a]=u.c2l(b[a]);if(\\\"log\\\"===h.type)for(a=1;a<v;a+=2)b[a]=h.c2l(b[a]);if(\\\"log\\\"!==u.type&&\\\"log\\\"!==h.type)m.tree=vV(b,512);else{var _=m.ids=new Array(g);for(a=0;a<g;a++)_[a]=a}ex(e);var w,M=p(t,0,e,b),A=M.marker,k=d(t,f);return g<c?w=r(e,g):A&&(w=2*(A.sizeAvg||Math.max(A.size,3))),n(t,e,u,h,y,x,w),M.fill&&!k.fill2d&&(k.fill2d=!0),M.marker&&!k.scatter2d&&(k.scatter2d=!0),M.line&&!k.line2d&&(k.line2d=!0),!M.errorX&&!M.errorY||k.error2d||(k.error2d=!0),k.lineOptions.push(M.line),k.errorXOptions.push(M.errorX),k.errorYOptions.push(M.errorY),k.fillOptions.push(M.fill),k.markerOptions.push(M.marker),k.selectedOptions.push(M.selected),k.unselectedOptions.push(M.unselected),k.count++,m.scene=k,m.index=k.count-1,m.x=y,m.y=x,m.positions=b,m.count=g,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,r,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene,o=i.dragmode;if(a){var s=i._size,l=i.width,u=i.height;i._glcanvas.each(function(r){r.regl||r.pick||(r.regl=YR({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},extensions:[\\\"ANGLE_instanced_arrays\\\",\\\"OES_element_index_uint\\\"],pixelRatio:t._context.plotGlPixelRatio||e.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(Mx(t,r,n),a.dirty){if(!0===a.error2d&&(a.error2d=zV(c)),!0===a.line2d&&(a.line2d=iU(c)),!0===a.scatter2d&&(a.scatter2d=SU(c)),!0===a.fill2d&&(a.fill2d=iU(c)),a.line2d&&a.line2d.update(a.lineOptions),a.error2d){var h=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(h)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(t,e){var r=n[e];if(!(t&&r&&r[0]&&r[0].trace))return null;var i,o,s=r[0],l=s.trace,u=s.t,c=a.lineOptions[e],h=[],f=c&&c.positions||u.positions;if(\\\"tozeroy\\\"===l.fill)(h=(h=[f[0],0]).concat(f)).push(f[f.length-2]),h.push(0);else if(\\\"tozerox\\\"===l.fill)(h=(h=[0,f[1]]).concat(f)).push(0),h.push(f[f.length-1]);else if(\\\"toself\\\"===l.fill||\\\"tonext\\\"===l.fill){for(h=[],i=0,o=0;o<f.length;o+=2)(isNaN(f[o])||isNaN(f[o+1]))&&((h=h.concat(f.slice(i,o))).push(f[i],f[i+1]),i=o+2);h=h.concat(f.slice(i)),i&&h.push(f[i],f[i+1])}else{var p=l._nexttrace;if(p){var d=a.lineOptions[e+1];if(d){var g=d.positions;if(\\\"tonexty\\\"===l.fill){for(h=f.slice(),e=Math.floor(g.length/2);e--;){var v=g[2*e],m=g[2*e+1];isNaN(v)||isNaN(m)||(h.push(v),h.push(m))}t.fill=p.fillcolor}}}}if(l._prevtrace&&\\\"tonext\\\"===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=h.length/2,b=[i=x];for(o=0;o<y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&&(b.push(o/2+x+1),i=o+2);h=h.concat(y),t.hole=b}return t.opacity=l.opacity,t.positions=h,t}),a.fill2d.update(a.fillOptions))}var f=\\\"lasso\\\"===o||\\\"select\\\"===o,p=n.map(function(e){if(e&&e[0]&&e[0].trace){var n,i=e[0],o=i.trace,c=i.t,h=c.index,p=c.x,d=c.y,g=r.xaxis||gn.getFromId(t,o.xaxis||\\\"x\\\"),v=r.yaxis||gn.getFromId(t,o.yaxis||\\\"y\\\"),m=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],y=[s.l+g.domain[0]*s.w,s.b+v.domain[0]*s.h,l-s.r-(1-g.domain[1])*s.w,u-s.t-(1-v.domain[1])*s.h];if(o.selectedpoints||f){if(f||(f=!0),a.selectBatch||(a.selectBatch=[]),a.unselectBatch||(a.unselectBatch=[]),o.selectedpoints){a.selectBatch[h]=o.selectedpoints;var x=o.selectedpoints,b={};for(n=0;n<x.length;n++)b[x[n]]=!0;var _=[];for(n=0;n<c.count;n++)b[n]||_.push(n);a.unselectBatch[h]=_}var w=new Array(c.count),M=new Array(c.count);for(n=0;n<c.count;n++)w[n]=g.c2p(p[n]),M[n]=v.c2p(d[n]);c.xpx=w,c.ypx=M}else c.xpx=c.ypx=null;return o.visible?{viewport:y,range:m}:null}});f&&(a.select2d||(a.select2d=SU(i._glcanvas.data()[1].regl,{clone:a.scatter2d})),a.scatter2d&&a.selectBatch&&a.selectBatch.length&&a.scatter2d.update(a.unselectedOptions.map(function(t,e){return a.selectBatch[e]?t:null})),a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.selectedOptions))),a.fill2d&&a.fill2d.update(p),a.line2d&&a.line2d.update(p),a.error2d&&a.error2d.update(p.concat(p)),a.scatter2d&&a.scatter2d.update(p),a.select2d&&a.select2d.update(p),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,o=a[0].t,s=a[0].trace,l=t.xa,u=t.ya,c=o.x,h=o.y,f=l.c2p(e),p=u.c2p(r),d=t.distance;if(o.tree){var g=l.p2c(f-d),v=l.p2c(f+d),m=u.p2c(p-d),y=u.p2c(p+d);i=\\\"x\\\"===n?o.tree.range(Math.min(g,v),Math.min(u._rl[0],u._rl[1]),Math.max(g,v),Math.max(u._rl[0],u._rl[1])):o.tree.range(Math.min(g,v),Math.min(m,y),Math.max(g,v),Math.max(m,y))}else{if(!o.ids)return[t];i=o.ids}var x,b,_,w,M,A,k,T,S=d;if(\\\"x\\\"===n)for(w=0;w<i.length;w++)b=c[i[w]],(M=Math.abs(l.c2p(b)-f))<S&&(S=M,A=u.c2p(h[i[w]])-p,T=Math.sqrt(M*M+A*A),x=i[w]);else for(w=0;w<i.length;w++)b=c[i[w]],_=h[i[w]],M=l.c2p(b)-f,A=u.c2p(_)-p,(k=Math.sqrt(M*M+A*A))<S&&(S=T=k,x=i[w]);if(t.index=x,void 0===x)return[t];var E={pointNumber:x,x:c[x],y:h[x]};E.tx=Array.isArray(s.text)?s.text[x]:s.text,E.htx=Array.isArray(s.hovertext)?s.hovertext[x]:s.hovertext,E.data=Array.isArray(s.customdata)?s.customdata[x]:s.customdata,E.tp=Array.isArray(s.textposition)?s.textposition[x]:s.textposition;var C=s.textfont;C&&(E.ts=Array.isArray(C.size)?C.size[x]:C.size,E.tc=Array.isArray(C.color)?C.color[x]:C.color,E.tf=Array.isArray(C.family)?C.family[x]:C.family);var L=s.marker;L&&(E.ms=ne.isArrayOrTypedArray(L.size)?L.size[x]:L.size,E.mo=ne.isArrayOrTypedArray(L.opacity)?L.opacity[x]:L.opacity,E.mx=Array.isArray(L.symbol)?L.symbol[x]:L.symbol,E.mc=ne.isArrayOrTypedArray(L.color)?L.color[x]:L.color);var z=L&&L.line;z&&(E.mlc=Array.isArray(z.color)?z.color[x]:z.color,E.mlw=ne.isArrayOrTypedArray(z.width)?z.width[x]:z.width);var I=L&&L.gradient;I&&\\\"none\\\"!==I.type&&(E.mgt=Array.isArray(I.type)?I.type[x]:I.type,E.mgc=Array.isArray(I.color)?I.color[x]:I.color);var D=l.c2p(E.x,!0),O=u.c2p(E.y,!0),R=E.mrc||1,F=s.hoverlabel;F&&(E.hbg=Array.isArray(F.bgcolor)?F.bgcolor[x]:F.bgcolor,E.hbc=Array.isArray(F.bordercolor)?F.bordercolor[x]:F.bordercolor,E.hts=Array.isArray(F.font.size)?F.font.size[x]:F.font.size,E.htc=Array.isArray(F.font.color)?F.font.color[x]:F.font.color,E.htf=Array.isArray(F.font.family)?F.font.family[x]:F.font.family,E.hnl=Array.isArray(F.namelength)?F.namelength[x]:F.namelength);var B=s.hoverinfo;B&&(E.hi=Array.isArray(B)?B[x]:B);var N={};return N[t.index]=E,ne.extendFlat(t,{color:mx(s,E),x0:D-R,x1:D+R,xLabelVal:E.x,y0:O-R,y1:O+R,yLabelVal:E.y,cd:N,distance:S,spikeDistance:T}),E.htx?t.text=E.htx:E.tx?t.text=E.tx:s.text&&(t.text=s.text),xo(E,s,t),P.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(E,s,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.scene;if(!l)return n;var u=!Tr.hasMarkers(i)&&!Tr.hasText(i);if(!0!==i.visible||u)return n;var c,h=null,f=null;if(!1===e||e.degenerate)f=gV(a.count);else for(h=[],f=[],c=0;c<a.count;c++)e.contains([a.xpx[c],a.ypx[c]])?(h.push(c),n.push({pointNumber:c,x:o[c],y:s[c]})):f.push(c);if(l.selectBatch||(l.selectBatch=[],l.unselectBatch=[]),!l.selectBatch[a.index]){for(c=0;c<l.count;c++)l.selectBatch[c]=[],l.unselectBatch[c]=[];l.scatter2d.update(l.unselectedOptions)}return l.selectBatch[a.index]=h,l.unselectBatch[a.index]=f,n},sceneOptions:p,sceneUpdate:d,meta:{}}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var xq=yq,bq={exports:{}};(function(t){\\\"use strict\\\";!function(e){\\\"object\\\"==typeof bq.exports?bq.exports=e():(\\\"undefined\\\"!=typeof window?window:void 0!==t?t:\\\"undefined\\\"!=typeof self?self:this).mapboxgl=e()}(function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\\\"function\\\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error(\\\"Cannot find module '\\\"+o+\\\"'\\\");throw u.code=\\\"MODULE_NOT_FOUND\\\",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,function(t){var r=e[o][1][t];return i(r||t)},c,c.exports,t,e,r,n)}return r[o].exports}for(var a=\\\"function\\\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){function n(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,i,s,l,u=0,c=t.length;if(c>2){for(l=0;l<c;l++)l===c-2?(n=c-2,i=c-1,s=0):l===c-1?(n=c-1,i=0,s=1):(n=l,i=l+1,s=l+2),e=t[n],r=t[i],u+=(a(t[s][0])-a(e[0]))*Math.sin(a(r[1]));u=u*o.RADIUS*o.RADIUS/2}return u}function a(t){return t*Math.PI/180}var o=t(\\\"wgs84\\\");e.exports.geometry=function t(e){var r,i=0;switch(e.type){case\\\"Polygon\\\":return n(e.coordinates);case\\\"MultiPolygon\\\":for(r=0;r<e.coordinates.length;r++)i+=n(e.coordinates[r]);return i;case\\\"Point\\\":case\\\"MultiPoint\\\":case\\\"LineString\\\":case\\\"MultiLineString\\\":return 0;case\\\"GeometryCollection\\\":for(r=0;r<e.geometries.length;r++)i+=t(e.geometries[r]);return i}},e.exports.ring=i},{wgs84:37}],2:[function(t,e,r){var n,i;n=this,i=function(){return function(){var t=new Float32Array(3);t[0]=0,t[1]=0,t[2]=0}(),function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{transformMat3:function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},rotate:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,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}},mat4:{create: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},identity: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},translate:function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]),t},scale:function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=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*i+b*l+_*f+w*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},rotateX:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},rotateZ:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},invert:function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*g-h*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;return L?(L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t):null},ortho:function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-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*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}}}},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.glMatrix=i()},{}],3:[function(t,e,r){function n(t){return!!(\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document&&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))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&&function(t){return void 0===i[t]&&(i[t]=function(t){var e=document.createElement(\\\"canvas\\\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\\\"webgl\\\",r)||e.probablySupportsContext(\\\"experimental-webgl\\\",r):e.supportsContext?e.supportsContext(\\\"webgl\\\",r)||e.supportsContext(\\\"experimental-webgl\\\",r):e.getContext(\\\"webgl\\\",r)||e.getContext(\\\"experimental-webgl\\\",r)}(t)),i[t]}(t&&t.failIfMajorPerformanceCaveat))}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],4:[function(t,e,r){function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(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[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,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=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],5:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a,o=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,u,c,h,f={freebin:-1,shelf:-1,waste:1/0},p=0;if(\\\"string\\\"==typeof n||\\\"number\\\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\\\"number\\\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<f.waste&&(f.waste=o,f.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<f.waste&&(f.freebin=-1,f.waste=o,f.shelf=s)}return-1!==f.freebin?this.allocFreebin(f.freebin,t,r,n):-1!==f.shelf?this.allocShelf(f.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=u=this.h,((c=h=this.w)<=l||t>c)&&(h=2*Math.max(t,c)),(l<c||r>l)&&(u=2*Math.max(r,l)),this.resize(h,u),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\\\"sans-serif\\\",this.fontWeight=a||\\\"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 i(t,e,r,n,i,o,s){for(var l=0;l<e;l++){for(var u=0;u<r;u++)n[u]=t[u*e+l];for(a(n,i,o,s,r),u=0;u<r;u++)t[u*e+l]=i[u]}for(u=0;u<r;u++){for(l=0;l<e;l++)n[l]=t[u*e+l];for(a(n,i,o,s,e),l=0;l<e;l++)t[u*e+l]=Math.sqrt(i[l])}}function a(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a<i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l<=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a<i;a++){for(;n[s+1]<a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}e.exports=n;var o=1e20;n.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?o:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?o:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(i(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),i(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var s=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))))}return r}},{}],7:[function(t,e,r){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}e.exports=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,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(n=1,(i=t)<(r=0))return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],8:[function(t,e,r){e.exports.VectorTile=t(\\\"./lib/vectortile.js\\\"),e.exports.VectorTileFeature=t(\\\"./lib/vectortilefeature.js\\\"),e.exports.VectorTileLayer=t(\\\"./lib/vectortilelayer.js\\\")},{\\\"./lib/vectortile.js\\\":9,\\\"./lib/vectortilefeature.js\\\":10,\\\"./lib/vectortilelayer.js\\\":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t(\\\"./vectortilelayer\\\");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{\\\"./vectortilelayer\\\":11}],10:[function(t,e,r){function n(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(i,this,e)}function i(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()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}var o=t(\\\"@mapbox/point-geometry\\\");e.exports=n,n.types=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,s=0,l=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error(\\\"unknown command \\\"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos<e;){if(!n){var c=t.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error(\\\"unknown command \\\"+r)}return[o,l,s,u]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+c)/l;t[e]=[360*(r.x+u)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var o,s,l=this.extent*Math.pow(2,r),u=this.extent*t,c=this.extent*e,h=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var p=[];for(o=0;o<h.length;o++)p[o]=h[o][0];i(h=p);break;case 2:for(o=0;o<h.length;o++)i(h[o]);break;case 3:for(h=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],o=0;o<e;o++){var s=a(t[o]);0!==s&&(void 0===n&&(n=s<0),n===s<0?(r&&i.push(r),r=[t[o]]):r.push(t[o]))}return r&&i.push(r),i}(h),o=0;o<h.length;o++)for(s=0;s<h[o].length;s++)i(h[o][s])}1===h.length?h=h[0]:f=\\\"Multi\\\"+f;var d={type:\\\"Feature\\\",geometry:{type:f,coordinates:h},properties:this.properties};return\\\"id\\\"in this&&(d.id=this.id),d}},{\\\"@mapbox/point-geometry\\\":4}],11:[function(t,e,r){function n(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(i,this,e),this.length=this._features.length}function i(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))}var a=t(\\\"./vectortilefeature.js\\\");e.exports=n,n.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 a(this._pbf,e,this.extent,this._keys,this._values)}},{\\\"./vectortilefeature.js\\\":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\\\",\\\"+i[1]+\\\",\\\"+a[0]+\\\",\\\"+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+\\\"?\\\"+[\\\"bbox=\\\"+e(n,i,a),\\\"format=\\\"+(o.format||\\\"image/png\\\"),\\\"service=\\\"+(o.service||\\\"WMS\\\"),\\\"version=\\\"+(o.version||\\\"1.1.1\\\"),\\\"request=\\\"+(o.request||\\\"GetMap\\\"),\\\"srs=\\\"+(o.srs||\\\"EPSG:3857\\\"),\\\"width=\\\"+(o.width||256),\\\"height=\\\"+(o.height||256),\\\"layers=\\\"+r].join(\\\"&\\\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}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}var s={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]};try{r.parseCSSColor=function(t){var e,r=t.replace(/ /g,\\\"\\\").toLowerCase();if(r in s)return s[r].slice();if(\\\"#\\\"===r[0])return 4===r.length?(e=parseInt(r.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===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf(\\\"(\\\"),u=r.indexOf(\\\")\\\");if(-1!==l&&u+1===r.length){var c=r.substr(0,l),h=r.substr(l+1,u-(l+1)).split(\\\",\\\"),f=1;switch(c){case\\\"rgba\\\":if(4!==h.length)return null;f=a(h.pop());case\\\"rgb\\\":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case\\\"hsla\\\":if(4!==h.length)return null;f=a(h.pop());case\\\"hsl\\\":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=a(h[1]),g=a(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*o(m,v,p+1/3)),n(255*o(m,v,p)),n(255*o(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,u,c,p,g,v=e&&e.length,m=v?e[0]*r:t.length,y=i(t,0,m,r,!0),x=[];if(!y)return x;if(v&&(y=function(t,e,r,n){var o,s,l,u,c,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,u=o<s-1?e[o+1]*n:t.length,(c=i(t,l,u,n,!1))===c.next&&(c.steiner=!0),p.push(d(c));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=u=t[1];for(var b=r;b<m;b+=r)c=t[b],p=t[b+1],c<n&&(n=c),p<s&&(s=p),c>l&&(l=c),p>u&&(u=p);g=0!==(g=Math.max(l-n,u-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===k(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(M(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==m(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,i,h,f){if(t){!f&&h&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,h);for(var d,g,v=t;t.prev!==t.next;)if(d=t.prev,g=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=u(t,e,r),e,r,n,i,h,2):2===f&&c(t,e,r,n,i,h):o(a(t),e,r,n,i,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(m(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&m(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(m(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=p(s,l,e,r,n),f=p(u,c,e,r,n),d=t.prevZ,v=t.nextZ;d&&d.z>=h&&v&&v.z<=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;v&&v.z<=f;){if(v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),M(n),M(n.next),n=t=a),n=n.next}while(n!==t);return n}function c(t,e,r,n,i,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=_(l,u);return l=a(l,l.next),c=a(c,c.next),o(l,e,r,n,i,s),void o(c,e,r,n,i,s)}u=u.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,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;for(n=r.next;n!==u;)i>=n.x&&n.x>=c&&i!==n.x&&g(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<f||l===f&&n.x>r.x)&&b(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function m(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||m(t,e,r)>0!=m(t,e,n)>0&&m(r,n,t)>0!=m(r,n,e)>0}function b(t,e){return m(t.prev,t,t.next)<0?m(t,e,t.next)>=0&&m(t,t.prev,e)>=0:m(t,e,t.prev)<0||m(t,t.next,e)<0}function _(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}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 A(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 k(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(k(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(k(t,u,c,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,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r<t.length;r++)t[r]=a(t[r],!e);return t}function a(t,e){return function(t){return o.ring(t)>=0}(t)===e?t:t.reverse()}var o=t(\\\"@mapbox/geojson-area\\\");e.exports=function t(e,r){switch(e&&e.type||null){case\\\"FeatureCollection\\\":return e.features=e.features.map(n(t,r)),e;case\\\"Feature\\\":return e.geometry=t(e.geometry,r),e;case\\\"Polygon\\\":case\\\"MultiPolygon\\\":return function(t,e){return\\\"Polygon\\\"===t.type?t.coordinates=i(t.coordinates,e):\\\"MultiPolygon\\\"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{\\\"@mapbox/geojson-area\\\":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var u=[],c=0===i?s:l,h=0;h<t.length-3;h+=3){var f=t[h],p=t[h+1],d=t[h+2],g=t[h+3],v=t[h+4],m=0===i?f:p,y=0===i?g:v,x=!1;m<r?y>=r&&c(u,f,p,g,v,r):m>n?y<=n&&c(u,f,p,g,v,n):o(u,f,p,d),y<r&&m>=r&&(c(u,f,p,g,v,r),x=!0),y>n&&m<=n&&(c(u,f,p,g,v,n),x=!0),!a&&x&&(u.size=t.size,e.push(u),u=[])}var b=t.length-3;f=t[b],p=t[b+1],d=t[b+2],(m=0===i?f:p)>=r&&m<=n&&o(u,f,p,d),b=u.length-3,a&&b>=3&&(u[b]!==u[0]||u[b+1]!==u[1])&&o(u,u[0],u[1],u[2]),u.length&&(u.size=t.size,e.push(u))}function a(t,e,r,n,a,o){for(var s=0;s<t.length;s++)i(t[s],e,r,n,a,o)}function o(t,e,r,n){t.push(e),t.push(r),t.push(n)}function s(t,e,r,n,i,a){t.push(a),t.push(r+(a-e)*(i-r)/(n-e)),t.push(1)}function l(t,e,r,n,i,a){t.push(e+(a-r)*(n-e)/(i-r)),t.push(a),t.push(1)}e.exports=function(t,e,r,o,s,l,c){if(o/=e,l>=(r/=e)&&c<=o)return t;if(l>o||c<r)return null;for(var h=[],f=0;f<t.length;f++){var p=t[f],d=p.geometry,g=p.type,v=0===s?p.minX:p.minY,m=0===s?p.maxX:p.maxY;if(v>=r&&m<=o)h.push(p);else if(!(v>o||m<r)){var y=[];if(\\\"Point\\\"===g||\\\"MultiPoint\\\"===g)n(d,y,r,o,s);else if(\\\"LineString\\\"===g)i(d,y,r,o,s,!1);else if(\\\"MultiLineString\\\"===g)a(d,y,r,o,s,!1);else if(\\\"Polygon\\\"===g)a(d,y,r,o,s,!0);else if(\\\"MultiPolygon\\\"===g)for(var x=0;x<d.length;x++){var b=[];a(d[x],b,r,o,s,!0),b.length&&y.push(b)}y.length&&(\\\"LineString\\\"!==g&&\\\"MultiLineString\\\"!==g||(1===y.length?(g=\\\"LineString\\\",y=y[0]):g=\\\"MultiLineString\\\"),\\\"Point\\\"!==g&&\\\"MultiPoint\\\"!==g||(g=3===y.length?\\\"Point\\\":\\\"MultiPoint\\\"),h.push(u(p.id,g,y,p.tags)))}}return h.length?h:null};var u=t(\\\"./feature\\\")},{\\\"./feature\\\":18}],17:[function(t,e,r){function n(t,e,r){if(e.geometry){var s=e.geometry.coordinates,l=e.geometry.type,u=r*r,h=[];if(\\\"Point\\\"===l)i(s,h);else if(\\\"MultiPoint\\\"===l)for(var f=0;f<s.length;f++)i(s[f],h);else if(\\\"LineString\\\"===l)a(s,h,u,!1);else if(\\\"MultiLineString\\\"===l)o(s,h,u,!1);else if(\\\"Polygon\\\"===l)o(s,h,u,!0);else{if(\\\"MultiPolygon\\\"!==l){if(\\\"GeometryCollection\\\"===l){for(f=0;f<e.geometry.geometries.length;f++)n(t,{geometry:e.geometry.geometries[f],properties:e.properties},r);return}throw new Error(\\\"Input data is not a valid GeoJSON object.\\\")}for(f=0;f<s.length;f++){var p=[];o(s[f],p,u,!0),h.push(p)}}t.push(c(e.id,l,h,e.properties))}}function i(t,e){e.push(s(t[0])),e.push(l(t[1])),e.push(0)}function a(t,e,r,n){for(var i,a,o=0,c=0;c<t.length;c++){var h=s(t[c][0]),f=l(t[c][1]);e.push(h),e.push(f),e.push(0),c>0&&(o+=n?(i*f-h*a)/2:Math.sqrt(Math.pow(h-i,2)+Math.pow(f-a,2))),i=h,a=f}var p=e.length-3;e[2]=1,u(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i<t.length;i++){var o=[];a(t[i],o,r,n),e.push(o)}}function s(t){return t/360+.5}function l(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}e.exports=function(t,e){var r=[];if(\\\"FeatureCollection\\\"===t.type)for(var i=0;i<t.features.length;i++)n(r,t.features[i],e);else\\\"Feature\\\"===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var u=t(\\\"./simplify\\\"),c=t(\\\"./feature\\\")},{\\\"./feature\\\":18,\\\"./simplify\\\":20}],18:[function(t,e,r){function n(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])}e.exports=function(t,e,r,i){var a={id:t||null,type:e,geometry:r,tags:i,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)n(t,e);else if(\\\"Polygon\\\"===r||\\\"MultiLineString\\\"===r)for(var i=0;i<e.length;i++)n(t,e[i]);else if(\\\"MultiPolygon\\\"===r)for(i=0;i<e.length;i++)for(var a=0;a<e[i].length;a++)n(t,e[i][a])}(a),a}},{}],19:[function(t,e,r){function n(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\\\");var n=1<<e.maxZoom,i=a(t,e.tolerance/(n*e.extent));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),(i=l(i,e.buffer/e.extent)).length&&this.splitTile(i,0,0,0),r&&(i.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 i(t,e,r){return 32*((1<<t)*r+e)+t}e.exports=function(t,e){return new n(t,e)};var a=t(\\\"./convert\\\"),o=t(\\\"./transform\\\"),s=t(\\\"./clip\\\"),l=t(\\\"./wrap\\\"),u=t(\\\"./tile\\\");n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,a,o,l){for(var c=[t,e,r,n],h=this.options,f=h.debug;c.length;){n=c.pop(),r=c.pop(),e=c.pop(),t=c.pop();var p=1<<e,d=i(e,r,n),g=this.tiles[d],v=e===h.maxZoom?0:h.tolerance/(p*h.extent);if(!g&&(f>1&&console.time(\\\"creation\\\"),g=this.tiles[d]=u(t,p,r,n,v,e===h.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),f)){f>1&&(console.log(\\\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\\\",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd(\\\"creation\\\"));var m=\\\"z\\\"+e;this.stats[m]=(this.stats[m]||0)+1,this.total++}if(g.source=t,a){if(e===h.maxZoom||e===a)continue;var y=1<<a-e;if(r!==Math.floor(o/y)||n!==Math.floor(l/y))continue}else if(e===h.indexMaxZoom||g.numPoints<=h.indexMaxPoints)continue;if(g.source=null,0!==t.length){f>1&&console.time(\\\"clipping\\\");var x,b,_,w,M,A,k=.5*h.buffer/h.extent,T=.5-k,S=.5+k,E=1+k;x=b=_=w=null,M=s(t,p,r-k,r+S,0,g.minX,g.maxX),A=s(t,p,r+T,r+E,0,g.minX,g.maxX),t=null,M&&(x=s(M,p,n-k,n+S,1,g.minY,g.maxY),b=s(M,p,n+T,n+E,1,g.minY,g.maxY),M=null),A&&(_=s(A,p,n-k,n+S,1,g.minY,g.maxY),w=s(A,p,n+T,n+E,1,g.minY,g.maxY),A=null),f>1&&console.timeEnd(\\\"clipping\\\"),c.push(x||[],e+1,2*r,2*n),c.push(b||[],e+1,2*r,2*n+1),c.push(_||[],e+1,2*r+1,2*n),c.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<<t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return o.tile(this.tiles[u],a);s>1&&console.log(\\\"drilling down to z%d-%d-%d\\\",t,e,r);for(var c,h=t,f=e,p=r;!c&&h>0;)h--,f=Math.floor(f/2),p=Math.floor(p/2),c=this.tiles[i(h,f,p)];return c&&c.source?(s>1&&console.log(\\\"found parent tile z%d-%d-%d\\\",h,f,p),s>1&&console.time(\\\"drilling down\\\"),this.splitTile(c.source,h,f,p,t,e,r),s>1&&console.timeEnd(\\\"drilling down\\\"),this.tiles[u]?o.tile(this.tiles[u],a):null):null}},{\\\"./clip\\\":16,\\\"./convert\\\":17,\\\"./tile\\\":21,\\\"./transform\\\":22,\\\"./wrap\\\":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],u=e[r+1],c=e[i],h=e[i+1],f=r+3;f<i;f+=3){var p=n(e[f],e[f+1],l,u,c,h);p>s&&(o=f,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if(\\\"Point\\\"===o||\\\"MultiPoint\\\"===o)for(var l=0;l<a.length;l+=3)s.push(a[l]),s.push(a[l+1]),t.numPoints++,t.numSimplified++;else if(\\\"LineString\\\"===o)i(s,a,t,r,n,!1,!1);else if(\\\"MultiLineString\\\"===o||\\\"Polygon\\\"===o)for(l=0;l<a.length;l++)i(s,a[l],t,r,n,\\\"Polygon\\\"===o,0===l);else if(\\\"MultiPolygon\\\"===o)for(var u=0;u<a.length;u++){var c=a[u];for(l=0;l<c.length;l++)i(s,c[l],t,r,n,!0,0===l)}if(s.length){var h={geometry:s,type:\\\"Polygon\\\"===o||\\\"MultiPolygon\\\"===o?3:\\\"LineString\\\"===o||\\\"MultiLineString\\\"===o?2:1,tags:e.tags||null};null!==e.id&&(h.id=e.id),t.features.push(h)}}function i(t,e,r,n,i,a,o){var s=n*n;if(!i&&e.size<(a?s:n))r.numPoints+=e.length/3;else{for(var l=[],u=0;u<e.length;u+=3)(i||e[u+2]>s)&&(r.numSimplified++,l.push(e[u]),l.push(e[u+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(l,o),t.push(l)}}e.exports=function(t,e,r,i,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},l=0;l<t.length;l++){s.numFeatures++,n(s,t[l],a,o);var u=t[l].minX,c=t[l].minY,h=t[l].maxX,f=t[l].maxY;u<s.minX&&(s.minX=u),c<s.minY&&(s.minY=c),h>s.maxX&&(s.maxX=h),f>s.maxY&&(s.maxY=f)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var u=t.features[r],c=u.geometry,h=u.type;if(u.geometry=[],1===h)for(i=0;i<c.length;i+=2)u.geometry.push(n(c[i],c[i+1],e,o,s,l));else for(i=0;i<c.length;i++){var f=[];for(a=0;a<c[i].length;a+=2)f.push(n(c[i][a],c[i][a+1],e,o,s,l));u.geometry.push(f)}}return t.transformed=!0,t},r.point=n},{}],23:[function(t,e,r){function n(t,e){for(var r=[],n=0;n<t.length;n++){var a,s=t[n],l=s.type;if(\\\"Point\\\"===l||\\\"MultiPoint\\\"===l||\\\"LineString\\\"===l)a=i(s.geometry,e);else if(\\\"MultiLineString\\\"===l||\\\"Polygon\\\"===l){a=[];for(var u=0;u<s.geometry.length;u++)a.push(i(s.geometry[u],e))}else if(\\\"MultiPolygon\\\"===l)for(a=[],u=0;u<s.geometry.length;u++){for(var c=[],h=0;h<s.geometry[u].length;h++)c.push(i(s.geometry[u][h],e));a.push(c)}r.push(o(s.id,l,a,s.tags))}return r}function i(t,e){var r=[];r.size=t.size;for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}var a=t(\\\"./clip\\\"),o=t(\\\"./feature\\\");e.exports=function(t,e){var r=t,i=a(t,1,-1-e,e,0,-1,2),o=a(t,1,1-e,2+e,0,-1,2);return(i||o)&&(r=a(t,1,-e,1+e,0,-1,2)||[],i&&(r=n(i,1).concat(r)),o&&(r=r.concat(n(o,-1)))),r}},{\\\"./clip\\\":16,\\\"./feature\\\":18}],24:[function(t,e,r){function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var u=a[i+n.length],c=a[i+n.length+1];this.keys=a.subarray(u,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var h=0;h<this.d*this.d;h++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\\\"Cannot insert into a GridIndex created from an ArrayBuffer.\\\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,u=this.bboxes,c=0;c<s.length;c++){var h=s[c];if(void 0===o[h]){var f=4*h;t<=u[f+2]&&e<=u[f+3]&&r>=u[f+0]&&n>=u[f+1]?(o[h]=!0,a.push(l[h])):o[h]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),u=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var p=this.d*f+h;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+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 o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],25:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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=c):(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>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);o(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t){return t[0]}function a(t){return t[1]}var o=t(\\\"./sort\\\"),s=t(\\\"./range\\\"),l=t(\\\"./within\\\");e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return s(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return l(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\\\"./range\\\":27,\\\"./sort\\\":28,\\\"./within\\\":29}],27:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){for(var s,l,u=[0,t.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),p=u.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?i>=s:a>=l)&&(u.push(g+1),u.push(f),u.push(v))}}return c}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,u=i-a+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);t(e,r,i,Math.max(a,Math.floor(i-u*h/l+f)),Math.min(o,Math.floor(i+(l-u)*h/l+f)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);d<g;){for(n(e,r,d,g),d++,g--;r[2*d+s]<p;)d++;for(;r[2*g+s]>p;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],u=a*a;s.length;){var c=s.pop(),h=s.pop(),f=s.pop();if(h-f<=o)for(var p=f;p<=h;p++)n(e[2*p],e[2*p+1],r,i)<=u&&l.push(t[p]);else{var d=Math.floor((f+h)/2),g=e[2*d],v=e[2*d+1];n(g,v,r,i)<=u&&l.push(t[d]);var m=(c+1)%2;(0===c?r-a<=g:i-a<=v)&&(s.push(f),s.push(d-1),s.push(m)),(0===c?r+a>=g:i+a>=v)&&(s.push(d+1),s.push(h),s.push(m))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function g(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function v(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function m(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t(\\\"ieee754\\\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=v(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=v(this.buf,this.pos)+4294967296*v(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=v(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(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,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(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=function(t,e,r){for(var n=\\\"\\\",i=e;i<r;){var a,o,s,l=t[i],u=null,c=l>239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.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),m(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),m(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(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,t>>>=7,r.buf[r.pos]=127&t}(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,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=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&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(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&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,h,e)},writePackedFloat:function(t,e){this.writeMessage(t,u,e)},writePackedDouble:function(t,e){this.writeMessage(t,c,e)},writePackedFixed32:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return t<e?-1:t>e?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,u=r-a+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);t(e,r,Math.max(a,Math.floor(r-u*h/l+f)),Math.min(o,Math.floor(r+(l-u)*h/l+f)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d<g;){for(n(e,d,g),d++,g--;s(e[d],p)<0;)d++;for(;s(e[g],p)>0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:u(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:\\\"Feature\\\",properties:s(t),geometry:{type:\\\"Point\\\",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\\\"k\\\":e>=1e3?Math.round(e/100)/10+\\\"k\\\":e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function u(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 c(t,e){for(var r in e)t[r]=e[r];return t}function h(t){return t.x}function f(t){return t.y}var p=t(\\\"kdbush\\\");e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\\\"total time\\\");var r=\\\"prepare \\\"+t.length+\\\" points\\\";e&&console.time(r),this.points=t;var n=t.map(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,h,f,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\\\"z%d: %d clusters in %dms\\\",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,h,f,this.options.nodeSize,Float32Array),e&&console.timeEnd(\\\"total time\\\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(l(t[0]),u(t[3]),l(t[2]),u(t[1])),i=[],a=0;a<n.length;a++){var s=r.points[n[a]];i.push(s.numPoints?o(s):this.points[s.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],s=0;s<i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&&a.push(l.numPoints?o(l):this.points[l.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,u={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,u),u.features.length?u:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var l=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?s(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),a=0;a<t.length;a++){var o=t[a];if(!(o.zoom<=e)){o.zoom=e;var s=this.trees[e+1],l=s.within(o.x,o.y,n),u=o.numPoints||1,c=o.x*u,h=o.y*u,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,o));for(var p=0;p<l.length;p++){var d=s.points[l[p]];if(e<d.zoom){var g=d.numPoints||1;d.zoom=e,c+=d.x*g,h+=d.y*g,u+=g,d.parentId=a,this.options.reduce&&this._accumulate(f,d)}}1===u?r.push(o):(o.parentId=a,r.push(i(c/u,h/u,u,a,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:26}],33:[function(t,e,r){function n(t,e){if(!(this instanceof n))return new n(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||i,this.length>0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return t<e?-1:t>e?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t<i;){var o=1+(t<<1),s=o+1,l=e[o];if(s<n&&r(e[s],l)<0&&(o=s,l=e[s]),r(l,a)>=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new h;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\\\"\\\"),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,a,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var o=n.values;for(r=0;r<o.length;r++)e.writeMessage(4,c,o[r])}function a(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,o,t),e.writeVarintField(3,r.type),e.writeMessage(4,u,r)}function o(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var u=r.properties[s],c=typeof u;\\\"string\\\"!==c&&\\\"boolean\\\"!==c&&\\\"number\\\"!==c&&(u=JSON.stringify(u));var h=c+\\\":\\\"+u,f=o[h];void 0===f&&(i.push(u),f=i.length-1,o[h]=f),e.writeVarint(f)}}function s(t,e){return(e<<3)+(7&t)}function l(t){return t<<1^t>>31}function u(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,u=0;u<o;u++){var c=r[u],h=1;1===n&&(h=c.length),e.writeVarint(s(1,h));for(var f=0;f<c.length;f++){1===f&&1!==n&&e.writeVarint(s(2,c.length-1));var p=c[f].x-i,d=c[f].y-a;e.writeVarint(l(p)),e.writeVarint(l(d)),i+=p,a+=d}}}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))}var h=t(\\\"pbf\\\"),f=t(\\\"./lib/geojson_wrapper\\\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=f},{\\\"./lib/geojson_wrapper\\\":35,pbf:30}],35:[function(t,e,r){function n(t){this.features=t,this.length=t.length}function i(t){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=4096}var a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],36:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),l=0,u=s.length;l<u;l++){var c=s[l],h=a[c].exports;if(h===t||h&&h.default===t){r=c;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var f={};for(l=0,u=s.length;l<u;l++){f[c=s[l]]=c}i[r]=[\\\"function(require,module,exports){\\\"+t+\\\"(self); }\\\",f]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[p]=[\\\"function(require,module,exports){var f = require(\\\"+o(r)+\\\");(f.default ? f.default : f)(self);}\\\",d];var g={};!function t(e){for(var r in g[e]=!0,i[e][1]){var n=i[e][1][r];g[n]||t(n)}}(p);var v=\\\"(\\\"+n+\\\")({\\\"+Object.keys(g).map(function(t){return o(t)+\\\":[\\\"+i[t][0]+\\\",\\\"+o(i[t][1])+\\\"]\\\"}).join(\\\",\\\")+\\\"},{},[\\\"+o(p)+\\\"])\\\",m=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:\\\"text/javascript\\\"});if(e&&e.bare)return y;var x=m.createObjectURL(y),b=new Worker(x);return b.objectURL=x,b}},{}],37:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],38:[function(t,e,r){e.exports={version:\\\"0.44.1\\\"}},{}],39:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").StructArray,i=t(\\\"../util/struct_array\\\").Struct,a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"@mapbox/point-geometry\\\"),s=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(n);s.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2i4\\\",s);var l=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(n);l.prototype.bytesPerElement=8,a(\\\"StructArrayLayout4i8\\\",l);var u=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);u.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i4i12\\\",u);var c=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var u=6*l,c=12*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint8[c+8]=i,this.uint8[c+9]=a,this.uint8[c+10]=o,this.uint8[c+11]=s,l},e}(n);c.prototype.bytesPerElement=12,a(\\\"StructArrayLayout4i4ub12\\\",c);var h=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var u=8*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint16[u+4]=i,this.uint16[u+5]=a,this.uint16[u+6]=o,this.uint16[u+7]=s,l},e}(n);h.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4i4ui16\\\",h);var f=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(n);f.prototype.bytesPerElement=12,a(\\\"StructArrayLayout3f12\\\",f);var p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(n);p.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1ul4\\\",p);var d=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,u,c){var h=this.length;this.resize(h+1);var f=12*h,p=6*h;return this.int16[f+0]=t,this.int16[f+1]=e,this.int16[f+2]=r,this.int16[f+3]=n,this.int16[f+4]=i,this.int16[f+5]=a,this.uint32[p+3]=o,this.uint16[f+8]=s,this.uint16[f+9]=l,this.int16[f+10]=u,this.int16[f+11]=c,h},e}(n);d.prototype.bytesPerElement=24,a(\\\"StructArrayLayout6i1ul2ui2i24\\\",d);var g=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);g.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i2i2i12\\\",g);var v=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(n);v.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ub4\\\",v);var m=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,u,c,h,f,p){var d=this.length;this.resize(d+1);var g=20*d,v=10*d,m=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[v+2]=i,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=u,this.float32[v+7]=c,this.float32[v+8]=h,this.uint8[m+36]=f,this.uint8[m+37]=p,d},e}(n);m.prototype.bytesPerElement=40,a(\\\"StructArrayLayout2i2ui3ul3ui2f2ub40\\\",m);var y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(n);y.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1f4\\\",y);var x=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(n);x.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3i6\\\",x);var b=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(n);b.prototype.bytesPerElement=8,a(\\\"StructArrayLayout1ul2ui8\\\",b);var _=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(n);_.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3ui6\\\",_);var w=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(n);w.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ui4\\\",w);var M=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(n);M.prototype.bytesPerElement=8,a(\\\"StructArrayLayout2f8\\\",M);var A=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(n);A.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4f16\\\",A);var k=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{},anchorPointY:{},x1:{},y1:{},x2:{},y2:{},featureIndex:{},sourceLayerIndex:{},bucketIndex:{},radius:{},signedDistanceFromAnchor:{},anchorPoint:{}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new o(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(i);k.prototype.size=24;var T=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new k(this,t)},e}(d);a(\\\"CollisionBoxArray\\\",T);var S=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{},anchorY:{},glyphStartIndex:{},numGlyphs:{},vertexStartIndex:{},lineStartIndex:{},lineLength:{},segment:{},lowerSize:{},upperSize:{},lineOffsetX:{},lineOffsetY:{},writingMode:{},hidden:{}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(i);S.prototype.size=40;var E=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new S(this,t)},e}(m);a(\\\"PlacedSymbolArray\\\",E);var C=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(i);C.prototype.size=4;var L=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new C(this,t)},e}(y);a(\\\"GlyphOffsetArray\\\",L);var z=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{},y:{},tileUnitDistanceFromAnchor:{}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(i);z.prototype.size=6;var P=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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.prototype.get=function(t){return new z(this,t)},e}(x);a(\\\"SymbolLineVertexArray\\\",P);var I=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{},sourceLayerIndex:{},bucketIndex:{}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(i);I.prototype.size=8;var D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new I(this,t)},e}(b);a(\\\"FeatureIndexArray\\\",D),e.exports={StructArrayLayout2i4:s,StructArrayLayout4i8:l,StructArrayLayout2i4i12:u,StructArrayLayout4i4ub12:c,StructArrayLayout4i4ui16:h,StructArrayLayout3f12:f,StructArrayLayout1ul4:p,StructArrayLayout6i1ul2ui2i24:d,StructArrayLayout2i2i2i12:g,StructArrayLayout2ub4:v,StructArrayLayout2i2ui3ul3ui2f2ub40:m,StructArrayLayout1f4:y,StructArrayLayout3i6:x,StructArrayLayout1ul2ui8:b,StructArrayLayout3ui6:_,StructArrayLayout2ui4:w,StructArrayLayout2f8:M,StructArrayLayout4f16:A,PosArray:s,RasterBoundsArray:l,CircleLayoutArray:s,FillLayoutArray:s,FillExtrusionLayoutArray:u,HeatmapLayoutArray:s,LineLayoutArray:c,SymbolLayoutArray:h,SymbolDynamicLayoutArray:f,SymbolOpacityArray:p,CollisionBoxLayoutArray:g,CollisionCircleLayoutArray:g,CollisionVertexArray:v,TriangleIndexArray:_,LineIndexArray:w,CollisionBoxArray:T,PlacedSymbolArray:E,GlyphOffsetArray:L,SymbolLineVertexArray:P,FeatureIndexArray:D}},{\\\"../util/struct_array\\\":271,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],40:[function(t,e,r){e.exports={deserialize:function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}}},{}],41:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],42:[function(t,e,r){function n(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var i=t(\\\"../array_types\\\").CircleLayoutArray,a=t(\\\"./circle_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,u=t(\\\"../load_geometry\\\"),c=t(\\\"../extent\\\"),h=t(\\\"../../util/web_worker_transfer\\\").register,f=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.layoutVertexArray=new i,this.indexArray=new l,this.segments=new o,this.programConfigurations=new s(a,t.layers,t.zoom)};f.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},f.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},f.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},f.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},f.prototype.addFeature=function(t,e){for(var r=this,i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],u=l.x,h=l.y;if(!(u<0||u>=c||h<0||h>=c)){var f=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=f.vertexLength;n(r.layoutVertexArray,u,h,-1,-1),n(r.layoutVertexArray,u,h,1,-1),n(r.layoutVertexArray,u,h,1,1),n(r.layoutVertexArray,u,h,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},h(\\\"CircleBucket\\\",f,{omit:[\\\"layers\\\"]}),e.exports=f},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./circle_attributes\\\":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{\\\"../../util/struct_array\\\":271,dup:41}],44:[function(t,e,r){var n=t(\\\"../array_types\\\").FillLayoutArray,i=t(\\\"./fill_attributes\\\").members,a=t(\\\"../segment\\\").SegmentVector,o=t(\\\"../program_configuration\\\").ProgramConfigurationSet,s=t(\\\"../index_array_type\\\"),l=s.LineIndexArray,u=s.TriangleIndexArray,c=t(\\\"../load_geometry\\\"),h=t(\\\"earcut\\\"),f=t(\\\"../../util/classify_rings\\\"),p=t(\\\"../../util/web_worker_transfer\\\").register,d=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.layoutVertexArray=new n,this.indexArray=new u,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},d.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},d.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,i),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},d.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},d.prototype.addFeature=function(t,e){for(var r=this,n=0,i=f(e,500);n<i.length;n+=1){for(var a=i[n],o=0,s=0,l=a;s<l.length;s+=1)o+=l[s].length;for(var u=r.segments.prepareSegment(o,r.layoutVertexArray,r.indexArray),c=u.vertexLength,p=[],d=[],g=0,v=a;g<v.length;g+=1){var m=v[g];if(0!==m.length){m!==a[0]&&d.push(p.length/2);var y=r.segments2.prepareSegment(m.length,r.layoutVertexArray,r.indexArray2),x=y.vertexLength;r.layoutVertexArray.emplaceBack(m[0].x,m[0].y),r.indexArray2.emplaceBack(x+m.length-1,x),p.push(m[0].x),p.push(m[0].y);for(var b=1;b<m.length;b++)r.layoutVertexArray.emplaceBack(m[b].x,m[b].y),r.indexArray2.emplaceBack(x+b-1,x+b),p.push(m[b].x),p.push(m[b].y);y.vertexLength+=m.length,y.primitiveLength+=m.length}}for(var _=h(p,d),w=0;w<_.length;w+=3)r.indexArray.emplaceBack(c+_[w],c+_[w+1],c+_[w+2]);u.vertexLength+=o,u.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},p(\\\"FillBucket\\\",d,{omit:[\\\"layers\\\"]}),e.exports=d},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_attributes\\\":43,earcut:14}],45:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_normal_ed\\\",components:4,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],46:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*y)+o,i*y*2,a*y*2,Math.round(s))}function i(t,e){return t.x===e.x&&(t.x<0||t.x>d)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t(\\\"../array_types\\\").FillExtrusionLayoutArray,s=t(\\\"./fill_extrusion_attributes\\\").members,l=t(\\\"../segment\\\"),u=l.SegmentVector,c=l.MAX_VERTEX_ARRAY_LENGTH,h=t(\\\"../program_configuration\\\").ProgramConfigurationSet,f=t(\\\"../index_array_type\\\").TriangleIndexArray,p=t(\\\"../load_geometry\\\"),d=t(\\\"../extent\\\"),g=t(\\\"earcut\\\"),v=t(\\\"../../util/classify_rings\\\"),m=t(\\\"../../util/web_worker_transfer\\\").register,y=Math.pow(2,13),x=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.layoutVertexArray=new o,this.indexArray=new f,this.programConfigurations=new h(s,t.layers,t.zoom),this.segments=new u};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=p(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},x.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},x.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,s),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},x.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},x.prototype.addFeature=function(t,e){for(var r=this,o=0,s=v(e,500);o<s.length;o+=1){for(var l=s[o],u=0,h=0,f=l;h<f.length;h+=1)u+=f[h].length;for(var p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),d=0,m=l;d<m.length;d+=1){var y=m[d];if(0!==y.length&&!a(y))for(var x=0,b=0;b<y.length;b++){var _=y[b];if(b>=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>c&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var M=_.sub(w)._perp()._unit(),A=w.dist(_);x+A>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,1,x),x+=A,n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,1,x);var k=p.vertexLength;r.indexArray.emplaceBack(k,k+1,k+2),r.indexArray.emplaceBack(k+1,k+2,k+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+u>c&&(p=r.segments.prepareSegment(u,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],E=p.vertexLength,C=0,L=l;C<L.length;C+=1){var z=L[C];if(0!==z.length){z!==l[0]&&S.push(T.length/2);for(var P=0;P<z.length;P++){var I=z[P];n(r.layoutVertexArray,I.x,I.y,0,0,1,1,0),T.push(I.x),T.push(I.y)}}}for(var D=g(T,S),O=0;O<D.length;O+=3)r.indexArray.emplaceBack(E+D[O],E+D[O+1],E+D[O+2]);p.primitiveLength+=D.length/3,p.vertexLength+=u}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},m(\\\"FillExtrusionBucket\\\",x,{omit:[\\\"layers\\\"]}),e.exports=x},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_extrusion_attributes\\\":45,earcut:14}],47:[function(t,e,r){var n=t(\\\"./circle_bucket\\\"),i=t(\\\"../../util/web_worker_transfer\\\").register,a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n);i(\\\"HeatmapBucket\\\",a,{omit:[\\\"layers\\\"]}),e.exports=a},{\\\"../../util/web_worker_transfer\\\":278,\\\"./circle_bucket\\\":42}],48:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos_normal\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}],4)},{\\\"../../util/struct_array\\\":271}],49:[function(t,e,r){function n(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(p*r.x)+128,Math.round(p*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*g&63)<<2,o*g>>6)}var i=t(\\\"../array_types\\\").LineLayoutArray,a=t(\\\"./line_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,u=t(\\\"../load_geometry\\\"),c=t(\\\"../extent\\\"),h=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,f=t(\\\"../../util/web_worker_transfer\\\").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,v=Math.pow(2,14)/g,m=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.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};m.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},m.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},m.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},m.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},m.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\\\"line-join\\\").evaluate(t),i=r.get(\\\"line-cap\\\"),a=r.get(\\\"line-miter-limit\\\"),o=r.get(\\\"line-round-limit\\\"),s=0,l=e;s<l.length;s+=1){var u=l[s];this.addLine(u,t,n,i,a,o)}},m.prototype.addLine=function(t,e,r,n,i,a){for(var o=this,s=\\\"Polygon\\\"===h[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u<l-1&&t[u].equals(t[u+1]);)u++;if(!(l<(s?3:2))){\\\"bevel\\\"===r&&(i=1.05);var f=c/(512*this.overscaling)*15,p=t[u],g=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var v,m,y,x=n,b=s?\\\"butt\\\":n,_=!0,w=void 0,M=void 0,A=void 0,k=void 0;this.e1=this.e2=this.e3=-1,s&&(v=t[l-2],k=p.sub(v)._unit()._perp());for(var T=u;T<l;T++)if(!(M=s&&T===l-1?t[u+1]:t[T+1])||!t[T].equals(M)){k&&(A=k),v&&(w=v),v=t[T],k=M?M.sub(v)._unit()._perp():A;var S=(A=A||k).add(k);0===S.x&&0===S.y||S._unit();var E=S.x*k.x+S.y*k.y,C=0!==E?1/E:1/0,L=E<d&&w&&M;if(L&&T>u){var z=v.dist(w);if(z>2*f){var P=v.sub(v.sub(w)._mult(f/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,A.mult(1),0,0,!1,g),w=P}}var I=w&&M,D=I?r:M?x:b;if(I&&\\\"round\\\"===D&&(C<a?D=\\\"miter\\\":C<=2&&(D=\\\"fakeround\\\")),\\\"miter\\\"===D&&C>i&&(D=\\\"bevel\\\"),\\\"bevel\\\"===D&&(C>2&&(D=\\\"flipbevel\\\"),C<i&&(D=\\\"miter\\\")),w&&(o.distance+=v.dist(w)),\\\"miter\\\"===D)S._mult(C),o.addCurrentVertex(v,o.distance,S,0,0,!1,g);else if(\\\"flipbevel\\\"===D){if(C>100)S=k.clone().mult(-1);else{var O=A.x*k.y-A.y*k.x>0?-1:1,R=C*A.add(k).mag()/A.sub(k).mag();S._perp()._mult(R*O)}o.addCurrentVertex(v,o.distance,S,0,0,!1,g),o.addCurrentVertex(v,o.distance,S.mult(-1),0,0,!1,g)}else if(\\\"bevel\\\"===D||\\\"fakeround\\\"===D){var F=A.x*k.y-A.y*k.x>0,B=-Math.sqrt(C*C-1);if(F?(y=0,m=B):(m=0,y=B),_||o.addCurrentVertex(v,o.distance,A,m,y,!1,g),\\\"fakeround\\\"===D){for(var N=Math.floor(8*(.5-(E-.5))),j=void 0,V=0;V<N;V++)j=k.mult((V+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g);o.addPieSliceVertex(v,o.distance,S,F,g);for(var U=N-1;U>=0;U--)j=A.mult((U+1)/(N+1))._add(k)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g)}M&&o.addCurrentVertex(v,o.distance,k,-m,-y,!1,g)}else\\\"butt\\\"===D?(_||o.addCurrentVertex(v,o.distance,A,0,0,!1,g),M&&o.addCurrentVertex(v,o.distance,k,0,0,!1,g)):\\\"square\\\"===D?(_||(o.addCurrentVertex(v,o.distance,A,1,1,!1,g),o.e1=o.e2=-1),M&&o.addCurrentVertex(v,o.distance,k,-1,-1,!1,g)):\\\"round\\\"===D&&(_||(o.addCurrentVertex(v,o.distance,A,0,0,!1,g),o.addCurrentVertex(v,o.distance,A,1,1,!0,g),o.e1=o.e2=-1),M&&(o.addCurrentVertex(v,o.distance,k,-1,-1,!0,g),o.addCurrentVertex(v,o.distance,k,0,0,!1,g)));if(L&&T<l-1){var q=v.dist(M);if(q>2*f){var H=v.add(M.sub(v)._mult(f/q)._round());o.distance+=H.dist(v),o.addCurrentVertex(H,o.distance,k.mult(1),0,0,!1,g),v=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},m.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,u=this.layoutVertexArray,c=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(u,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(u,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>v/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},m.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},f(\\\"LineBucket\\\",m,{omit:[\\\"layers\\\"]}),e.exports=m},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./line_attributes\\\":48,\\\"@mapbox/vector-tile\\\":8}],50:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout,i={symbolLayoutAttributes:n([{name:\\\"a_pos_offset\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint16\\\"}]),dynamicLayoutAttributes:n([{name:\\\"a_projected_pos\\\",components:3,type:\\\"Float32\\\"}],4),placementOpacityAttributes:n([{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint32\\\"}],4),collisionVertexAttributes:n([{name:\\\"a_placed\\\",components:2,type:\\\"Uint8\\\"}],4),collisionBox:n([{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\\\"},{type:\\\"Int16\\\",name:\\\"radius\\\"},{type:\\\"Int16\\\",name:\\\"signedDistanceFromAnchor\\\"}]),collisionBoxLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),collisionCircleLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),placement:n([{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:\\\"hidden\\\"}]),glyphOffset:n([{type:\\\"Float32\\\",name:\\\"offsetX\\\"}]),lineVertex:n([{type:\\\"Int16\\\",name:\\\"x\\\"},{type:\\\"Int16\\\",name:\\\"y\\\"},{type:\\\"Int16\\\",name:\\\"tileUnitDistanceFromAnchor\\\"}])};e.exports=i},{\\\"../../util/struct_array\\\":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(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)}var a=t(\\\"./symbol_attributes\\\"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,u=a.collisionCircleLayout,c=a.dynamicLayoutAttributes,h=t(\\\"../array_types\\\"),f=h.SymbolLayoutArray,p=h.SymbolDynamicLayoutArray,d=h.SymbolOpacityArray,g=h.CollisionBoxLayoutArray,v=h.CollisionCircleLayoutArray,m=h.CollisionVertexArray,y=h.PlacedSymbolArray,x=h.GlyphOffsetArray,b=h.SymbolLineVertexArray,_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"../segment\\\").SegmentVector,M=t(\\\"../program_configuration\\\").ProgramConfigurationSet,A=t(\\\"../index_array_type\\\"),k=A.TriangleIndexArray,T=A.LineIndexArray,S=t(\\\"../../symbol/transform_text\\\"),E=t(\\\"../../symbol/mergelines\\\"),C=t(\\\"../../util/script_detection\\\"),L=t(\\\"../load_geometry\\\"),z=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,P=t(\\\"../../util/verticalize_punctuation\\\"),I=(t(\\\"../../symbol/anchor\\\"),t(\\\"../../symbol/symbol_size\\\").getSizeData),D=t(\\\"../../util/web_worker_transfer\\\").register,O=[{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint8\\\",offset:0}],R=function(t){this.layoutVertexArray=new f,this.indexArray=new k,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,c.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,O,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},D(\\\"SymbolBuffers\\\",R);var F=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new m};F.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},F.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},D(\\\"CollisionBuffers\\\",F);var B=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;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=I(this.zoom,e[\\\"text-size\\\"]),this.iconSizeData=I(this.zoom,e[\\\"icon-size\\\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\\\"text-allow-overlap\\\")||r.get(\\\"icon-allow-overlap\\\")||r.get(\\\"text-ignore-placement\\\")||r.get(\\\"icon-ignore-placement\\\")};B.prototype.createArrays=function(){this.text=new R(new M(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new M(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new F(g,l.members,T),this.collisionCircle=new F(v,u.members,k),this.glyphOffsetArray=new x,this.lineVertexArray=new b},B.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\\\"text-font\\\"),a=n.get(\\\"text-field\\\"),o=n.get(\\\"icon-image\\\"),s=(\\\"constant\\\"!==a.value.kind||a.value.value.length>0)&&(\\\"constant\\\"!==i.value.kind||i.value.value.length>0),l=\\\"constant\\\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var u=e.iconDependencies,c=e.glyphDependencies,h={zoom:this.zoom},f=0,p=t;f<p.length;f+=1){var d=p[f],g=d.feature,v=d.index,m=d.sourceLayerIndex;if(r._featureFilter(h,g)){var y=void 0;s&&(y=r.getValueAndResolveTokens(\\\"text-field\\\",g),y=S(y,r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\\\"icon-image\\\",g)),y||x){var b={text:y,icon:x,index:v,sourceLayerIndex:m,geometry:L(g),properties:g.properties,type:z[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(u[x]=!0),y)for(var _=i.evaluate(g).join(\\\",\\\"),w=c[_]=c[_]||{},M=\\\"map\\\"===n.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===n.get(\\\"symbol-placement\\\"),A=C.allowsVerticalWritingMode(y),k=0;k<y.length;k++)if(w[y.charCodeAt(k)]=!0,M&&A){var T=P.lookup[y.charAt(k)];T&&(w[T.charCodeAt(0)]=!0)}}}}\\\"line\\\"===n.get(\\\"symbol-placement\\\")&&(this.features=E(this.features))}},B.prototype.isEmpty=function(){return 0===this.symbolInstances.length},B.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},B.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},B.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[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--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var u=a[l];this.lineVertexArray.emplaceBack(u.x,u.y,u.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},B.prototype.addSymbols=function(t,e,r,a,o,s,l,u,c,h){for(var f=t.indexArray,p=t.layoutVertexArray,d=t.dynamicLayoutVertexArray,g=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),v=this.glyphOffsetArray.length,m=g.vertexLength,y=0,x=e;y<x.length;y+=1){var b=x[y],_=b.tl,w=b.tr,M=b.bl,A=b.br,k=b.tex,T=g.vertexLength,S=b.glyphOffset[1];n(p,u.x,u.y,_.x,S+_.y,k.x,k.y,r),n(p,u.x,u.y,w.x,S+w.y,k.x+k.w,k.y,r),n(p,u.x,u.y,M.x,S+M.y,k.x,k.y+k.h,r),n(p,u.x,u.y,A.x,S+A.y,k.x+k.w,k.y+k.h,r),i(d,u,0),f.emplaceBack(T,T+1,T+2),f.emplaceBack(T+1,T+2,T+3),g.vertexLength+=4,g.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])}t.placedSymbolArray.emplaceBack(u.x,u.y,v,this.glyphOffsetArray.length-v,m,c,h,u.segment,r?r[0]:0,r?r[1]:0,a[0],a[1],l,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,s)},B.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},B.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=l.vertexLength,c=i.layoutVertexArray,h=i.collisionVertexArray;if(this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,n)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,n)),l.vertexLength+=4,s){var f=i.indexArray;f.emplaceBack(u,u+1,u+2),f.emplaceBack(u,u+2,u+3),l.primitiveLength+=2}else{var p=i.indexArray;p.emplaceBack(u,u+1),p.emplaceBack(u+1,u+2),p.emplaceBack(u+2,u+3),p.emplaceBack(u+3,u),l.primitiveLength+=4}},B.prototype.generateCollisionDebugBuffers=function(){for(var t=this,e=0,r=t.symbolInstances;e<r.length;e+=1){var n=r[e];n.textCollisionFeature={boxStartIndex:n.textBoxStartIndex,boxEndIndex:n.textBoxEndIndex},n.iconCollisionFeature={boxStartIndex:n.iconBoxStartIndex,boxEndIndex:n.iconBoxEndIndex};for(var i=0;i<2;i++){var a=n[0===i?\\\"textCollisionFeature\\\":\\\"iconCollisionFeature\\\"];if(a)for(var o=a.boxStartIndex;o<a.boxEndIndex;o++){var s=t.collisionBoxArray.get(o),l=s.x1,u=s.y1,c=s.x2,h=s.y2,f=s.radius>0;t.addCollisionDebugVertices(l,u,c,h,f?t.collisionCircle:t.collisionBox,s.anchorPoint,n,f)}}}},B.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY};break}a.textCircles||(a.textCircles=[]),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var u=t.get(l);if(0===u.radius){a.iconBox={x1:u.x1,y1:u.y1,x2:u.x2,y2:u.y2,anchorPointX:u.anchorPointX,anchorPointY:u.anchorPointY};break}}return a},B.prototype.hasTextData=function(){return this.text.segments.get().length>0},B.prototype.hasIconData=function(){return this.icon.segments.get().length>0},B.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},B.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},B.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear();for(var o=0,s=r;o<s.length;o+=1){for(var l=s[o],u=0,c=e.symbolInstances[l].placedTextSymbolIndices;u<c.length;u+=1)for(var h=c[u],f=e.text.placedSymbolArray.get(h),p=f.vertexStartIndex+4*f.numGlyphs,d=f.vertexStartIndex;d<p;d+=4)e.text.indexArray.emplaceBack(d,d+1,d+2),e.text.indexArray.emplaceBack(d+1,d+2,d+3);var g=e.icon.placedSymbolArray.get(l);if(g.numGlyphs){var v=g.vertexStartIndex;e.icon.indexArray.emplaceBack(v,v+1,v+2),e.icon.indexArray.emplaceBack(v+1,v+2,v+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},D(\\\"SymbolBucket\\\",B,{omit:[\\\"layers\\\",\\\"collisionBoxArray\\\",\\\"features\\\",\\\"compareText\\\"],shallow:[\\\"symbolInstances\\\"]}),B.MAX_GLYPHS=65535,B.addDynamicAttributes=i,e.exports=B},{\\\"../../symbol/anchor\\\":213,\\\"../../symbol/mergelines\\\":221,\\\"../../symbol/symbol_size\\\":228,\\\"../../symbol/transform_text\\\":229,\\\"../../util/script_detection\\\":269,\\\"../../util/verticalize_punctuation\\\":277,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./symbol_attributes\\\":50,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],52:[function(t,e,r){var n=t(\\\"../util/image\\\").RGBAImage,i=t(\\\"../util/util\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=function(t,e,r){if(t<=0)throw new RangeError(\\\"Level must have positive dimension\\\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};o.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},o.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},o.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\\\"out of range source coordinates for DEM data\\\");return(e+this.border)*this.stride+(t+this.border)},a(\\\"Level\\\",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError(\\\"DEM tiles must be square\\\");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;n<e.dim;n++)for(var i=0;i<e.dim;i++){var a=4*(n*e.dim+i);e.set(i,n,this.scale*((256*r[a]*256+256*r[a+1]+r[a+2])/10-1e4))}for(var s=0;s<e.dim;s++)e.set(-1,s,e.get(0,s)),e.set(e.dim,s,e.get(e.dim-1,s)),e.set(s,-1,e.get(s,0)),e.set(s,e.dim,e.get(s,e.dim-1));e.set(-1,-1,e.get(0,0)),e.set(e.dim,-1,e.get(e.dim-1,0)),e.set(-1,e.dim,e.get(0,e.dim-1)),e.set(e.dim,e.dim,e.get(e.dim-1,e.dim-1)),this.loaded=!0},s.prototype.getPixels=function(){return new n({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},s.prototype.backfillBorder=function(t,e,r){var n=this.level,a=t.level;if(n.dim!==a.dim)throw new Error(\\\"level mismatch (dem dimension)\\\");var o=e*n.dim,s=e*n.dim+n.dim,l=r*n.dim,u=r*n.dim+n.dim;switch(e){case-1:o=s-1;break;case 1:s=o+1}switch(r){case-1:l=u-1;break;case 1:u=l+1}for(var c=i.clamp(o,-n.border,n.dim+n.border),h=i.clamp(s,-n.border,n.dim+n.border),f=i.clamp(l,-n.border,n.dim+n.border),p=i.clamp(u,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,v=f;v<p;v++)for(var m=c;m<h;m++)n.set(m,v,a.get(m+d,v+g))},a(\\\"DEMData\\\",s),e.exports={DEMData:s,Level:o}},{\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],53:[function(t,e,r){e.exports=8192},{}],54:[function(t,e,r){function n(t,e){return e-t}t(\\\"@mapbox/point-geometry\\\");var i=t(\\\"./load_geometry\\\"),a=t(\\\"./extent\\\"),o=t(\\\"../style-spec/feature_filter\\\"),s=t(\\\"grid-index\\\"),l=t(\\\"../util/dictionary_coder\\\"),u=t(\\\"@mapbox/vector-tile\\\"),c=t(\\\"pbf\\\"),h=t(\\\"../util/vectortile_to_geojson\\\"),f=t(\\\"../util/util\\\").arraysIntersect,p=(t(\\\"../source/tile_id\\\").OverscaledTileID,t(\\\"../util/web_worker_transfer\\\").register),d=t(\\\"./array_types\\\").FeatureIndexArray,g=function(t,e,r,n){this.tileID=t,this.overscaling=e,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=r||new s(a,16,0),this.featureIndexArray=n||new d};g.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],u=0;u<s.length;u++){var c=s[u];l[0]=Math.min(l[0],c.x),l[1]=Math.min(l[1],c.y),l[2]=Math.max(l[2],c.x),l[3]=Math.max(l[3],c.y)}this.grid.insert(a,l[0],l[1],l[2],l[3])}},g.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new u.VectorTile(new c(this.rawTileData)).layers,this.sourceLayerCoder=new l(this.vtLayers?Object.keys(this.vtLayers).sort():[\\\"_geojsonTileLayer\\\"]));for(var r={},i=t.params||{},s=a/t.tileSize/t.scale,h=o(i.filter),f=t.queryGeometry,p=t.additionalRadius*s,d=1/0,g=1/0,v=-1/0,m=-1/0,y=0;y<f.length;y++)for(var x=f[y],b=0;b<x.length;b++){var _=x[b];d=Math.min(d,_.x),g=Math.min(g,_.y),v=Math.max(v,_.x),m=Math.max(m,_.y)}var w=this.grid.query(d-p,g-p,v+p,m+p);w.sort(n),this.filterMatching(r,w,this.featureIndexArray,f,h,i.layers,e,t.bearing,s);var M=t.collisionIndex?t.collisionIndex.queryRenderedSymbols(f,this.tileID,a/t.tileSize,t.collisionBoxArray,t.sourceID,t.bucketInstanceIds):[];return M.sort(),this.filterMatching(r,M,t.collisionBoxArray,f,h,i.layers,e,t.bearing,s),r},g.prototype.filterMatching=function(t,e,r,n,a,o,s,l,u){for(var c,p=this,d=0;d<e.length;d++){var g=e[d];if(g!==c){c=g;var v=r.get(g),m=p.bucketLayerIDs[v.bucketIndex];if(!o||f(o,m)){var y=p.sourceLayerCoder.decode(v.sourceLayerIndex),x=p.vtLayers[y].feature(v.featureIndex);if(a({zoom:p.tileID.overscaledZ},x))for(var b=null,_=0;_<m.length;_++){var w=m[_];if(!(o&&o.indexOf(w)<0)){var M=s[w];if(M&&(\\\"symbol\\\"===M.type||(b||(b=i(x)),M.queryIntersectsFeature(n,x,b,p.z,l,u)))){var A=new h(x,p.z,p.x,p.y);A.layer=M.serialize();var k=t[w];void 0===k&&(k=t[w]=[]),k.push({featureIndex:g,feature:A})}}}}}}},g.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1){if(t===i[n])return!0}return!1},p(\\\"FeatureIndex\\\",g,{omit:[\\\"rawTileData\\\",\\\"sourceLayerCoder\\\"]}),e.exports=g},{\\\"../source/tile_id\\\":114,\\\"../style-spec/feature_filter\\\":148,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39,\\\"./extent\\\":53,\\\"./load_geometry\\\":56,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,\\\"grid-index\\\":24,pbf:30}],55:[function(t,e,r){e.exports={LineIndexArray:t(\\\"./array_types\\\").LineIndexArray,TriangleIndexArray:t(\\\"./array_types\\\").TriangleIndexArray}},{\\\"./array_types\\\":39}],56:[function(t,e,r){var n,i=t(\\\"../util/util\\\"),a=t(\\\"./extent\\\"),o=(n=16,{min:-1*Math.pow(2,n-1),max:Math.pow(2,n-1)-1});e.exports=function(t){for(var e=a/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var s=r[n],l=0;l<s.length;l++){var u=s[l];u.x=Math.round(u.x*e),u.y=Math.round(u.y*e),(u.x<o.min||u.x>o.max||u.y<o.min||u.y>o.max)&&i.warnOnce(\\\"Geometry exceeds allowed extent, reduce your vector tile buffer size\\\")}return r}},{\\\"../util/util\\\":275,\\\"./extent\\\":53}],57:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(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\\\"}[t]||t.replace(e+\\\"-\\\",\\\"\\\").replace(/-/g,\\\"_\\\")}var a=t(\\\"../shaders/encode_attribute\\\").packUint8ToFloat,o=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),s=t(\\\"../style/properties\\\").PossiblyEvaluatedPropertyValue,l=t(\\\"./array_types\\\"),u=l.StructArrayLayout1f4,c=l.StructArrayLayout2f8,h=l.StructArrayLayout4f16,f=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};f.prototype.defines=function(){return[\\\"#define HAS_UNIFORM_u_\\\"+this.name]},f.prototype.populatePaintArray=function(){},f.prototype.upload=function(){},f.prototype.destroy=function(){},f.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\\\"color\\\"===this.type?a.uniform4f(e.uniforms[\\\"u_\\\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\\\"u_\\\"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\\\"color\\\"===r?c:u;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if(\\\"color\\\"===this.type)for(var o=n(a),s=i;s<t;s++)r.emplaceBack(o[0],o[1]);else{for(var l=i;l<t;l++)r.emplaceBack(a);this.statistics.max=Math.max(this.statistics.max,a)}},p.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},p.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},p.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],0)};var d=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\\\"color\\\"===r?h:c;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?4:2,offset:0}],this.paintVertexArray=new a};d.prototype.defines=function(){return[]},d.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:this.zoom},e),o=this.expression.evaluate({zoom:this.zoom+1},e);if(\\\"color\\\"===this.type)for(var s=n(a),l=n(o),u=i;u<t;u++)r.emplaceBack(s[0],s[1],l[0],l[1]);else{for(var c=i;c<t;c++)r.emplaceBack(a,o);this.statistics.max=Math.max(this.statistics.max,a,o)}},d.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},d.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},d.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},d.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],this.interpolationFactor(r.zoom))};var g=function(){this.binders={},this.cacheKey=\\\"\\\",this._buffers=[]};g.createDynamic=function(t,e,r){var n=new g,a=[];for(var o in t.paint._values)if(r(o)){var l=t.paint.get(o);if(l instanceof s&&l.property.specification[\\\"property-function\\\"]){var u=i(o,t.type),c=l.property.specification.type,h=l.property.useIntegerZoom;\\\"constant\\\"===l.value.kind?(n.binders[o]=new f(l.value,u,c),a.push(\\\"/u_\\\"+u)):\\\"source\\\"===l.value.kind?(n.binders[o]=new p(l.value,u,c),a.push(\\\"/a_\\\"+u)):(n.binders[o]=new d(l.value,u,c,h,e),a.push(\\\"/z_\\\"+u))}}return n.cacheKey=a.sort().join(\\\"\\\"),n},g.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},g.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},g.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},g.prototype.getPaintVertexBuffers=function(){return this._buffers},g.prototype.upload=function(t){var e=this;for(var r in e.binders)e.binders[r].upload(t);var n=[];for(var i in e.binders){var a=e.binders[i];(a instanceof p||a instanceof d)&&a.paintVertexBuffer&&n.push(a.paintVertexBuffer)}this._buffers=n},g.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var v=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=g.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};v.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},v.prototype.get=function(t){return this.programConfigurations[t]},v.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},v.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},o(\\\"ConstantBinder\\\",f),o(\\\"SourceExpressionBinder\\\",p),o(\\\"CompositeExpressionBinder\\\",d),o(\\\"ProgramConfiguration\\\",g,{omit:[\\\"_buffers\\\"]}),o(\\\"ProgramConfigurationSet\\\",v),e.exports={ProgramConfiguration:g,ProgramConfigurationSet:v}},{\\\"../shaders/encode_attribute\\\":96,\\\"../style-spec/util/color\\\":153,\\\"../style/properties\\\":188,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39}],59:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2},{name:\\\"a_texture_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],60:[function(t,e,r){var n=t(\\\"../util/util\\\").warnOnce,i=t(\\\"../util/web_worker_transfer\\\").register,a=Math.pow(2,16)-1,o=function(t){void 0===t&&(t=[]),this.segments=t};o.prototype.prepareSegment=function(t,r,i){var o=this.segments[this.segments.length-1];return t>a&&n(\\\"Max vertices per segment is \\\"+a+\\\": bucket requested \\\"+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.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()}},i(\\\"SegmentVector\\\",o),e.exports={SegmentVector:o,MAX_VERTEX_ARRAY_LENGTH:a}},{\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],61:[function(t,e,r){var n=function(t,e,r){this.column=t,this.row=e,this.zoom=r};n.prototype.clone=function(){return new n(this.column,this.row,this.zoom)},n.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},n.prototype.sub=function(t){return this.clone()._sub(t)},n.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},n.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this},e.exports=n},{}],62:[function(t,e,r){var n=t(\\\"../util/util\\\").wrap,i=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\\\")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return\\\"LngLat(\\\"+this.lng+\\\", \\\"+this.lat+\\\")\\\"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t(\\\"./lng_lat_bounds\\\"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\\\"object\\\"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error(\\\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\\\")},e.exports=i},{\\\"../util/util\\\":275,\\\"./lng_lat_bounds\\\":63}],63:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=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]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return\\\"LngLatBounds(\\\"+this._sw.toString()+\\\", \\\"+this._ne.toString()+\\\")\\\"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{\\\"./lng_lat\\\":62}],64:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./coordinate\\\"),o=t(\\\"../util/util\\\"),s=t(\\\"../style-spec/util/interpolate\\\").number,l=t(\\\"../util/tile_cover\\\"),u=t(\\\"../source/tile_id\\\"),c=(u.CanonicalTileID,u.UnwrappedTileID),h=t(\\\"../data/extent\\\"),f=t(\\\"@mapbox/gl-matrix\\\"),p=f.vec4,d=f.mat4,g=f.mat2,v=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},m={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};v.prototype.clone=function(){var t=new v(this._minZoom,this._maxZoom,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._calcMatrices(),t},m.minZoom.get=function(){return this._minZoom},m.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},m.maxZoom.get=function(){return this._maxZoom},m.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},m.renderWorldCopies.get=function(){return this._renderWorldCopies},m.worldSize.get=function(){return this.tileSize*this.scale},m.centerPoint.get=function(){return this.size._div(2)},m.size.get=function(){return new i(this.width,this.height)},m.bearing.get=function(){return-this.angle/Math.PI*180},m.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},m.pitch.get=function(){return this._pitch/Math.PI*180},m.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},m.fov.get=function(){return this._fov/Math.PI*180},m.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())},m.zoom.get=function(){return this._zoom},m.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())},m.center.get=function(){return this._center},m.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},v.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},v.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new c(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new c(s,t));return o},v.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&e<t.minzoom)return[];void 0!==t.maxzoom&&e>t.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},v.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},m.unmodified.get=function(){return this._unmodified},v.prototype.zoomScale=function(t){return Math.pow(2,t)},v.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},v.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},v.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},m.x.get=function(){return this.lngX(this.center.lng)},m.y.get=function(){return this.latY(this.center.lat)},m.point.get=function(){return new i(this.x,this.y)},v.prototype.lngX=function(t){return(180+t)*this.worldSize/360},v.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},v.prototype.xLng=function(t){return 360*t/this.worldSize-180},v.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},v.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},v.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},v.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},v.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},v.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},v.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,u=n[1]/o,c=r[2]/i,h=n[2]/o,f=c===h?0:(0-c)/(h-c);return new a(s(r[0]/i,n[0]/o,f)/this.tileSize,s(l,u,f)/this.tileSize,this.zoom)._zoomTo(e)},v.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},v.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/h,a/h,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},v.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var h=this.latRange;a=this.latY(h[1]),t=(o=this.latY(h[0]))-a<u.y?u.y/(o-a):0}if(this.lngRange){var f=this.lngRange;s=this.lngX(f[0]),e=(l=this.lngX(f[1]))-s<u.x?u.x/(l-s):0}var p=Math.max(e||0,t||0);if(p)return this.center=this.unproject(new i(e?(l+s)/2:this.x,t?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var d=this.y,g=u.y/2;d-g<a&&(n=a+g),d+g>o&&(n=o-g)}if(this.lngRange){var v=this.x,m=u.x/2;v-m<s&&(r=s+m),v+m>l&&(r=l-m)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=c,this._constraining=!1}},v.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,u=this.height%2/2,c=Math.cos(this.angle),h=Math.sin(this.angle),f=n-Math.round(n)+c*l+h*u,p=i-Math.round(i)+c*u+h*l,g=new Float64Array(o);if(d.translate(g,g,[f>.5?f-1:f,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\\\"failed to invert matrix\\\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(v.prototype,m),e.exports=v},{\\\"../data/extent\\\":53,\\\"../source/tile_id\\\":114,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/tile_cover\\\":273,\\\"../util/util\\\":275,\\\"./coordinate\\\":61,\\\"./lng_lat\\\":62,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],65:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{\\\"../style-spec/util/color\\\":153}],66:[function(t,e,r){var n=t(\\\"./index_buffer\\\"),i=t(\\\"./vertex_buffer\\\"),a=t(\\\"./framebuffer\\\"),o=(t(\\\"./depth_mode\\\"),t(\\\"./stencil_mode\\\"),t(\\\"./color_mode\\\")),s=t(\\\"../util/util\\\"),l=t(\\\"./value\\\"),u=l.ClearColor,c=l.ClearDepth,h=l.ClearStencil,f=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,v=l.StencilOp,m=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,M=l.BlendColor,A=l.Program,k=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,E=l.BindFramebuffer,C=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,I=l.BindVertexArrayOES,D=l.PixelStoreUnpack,O=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\\\"OES_vertex_array_object\\\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new u(this),this.clearDepth=new c(this),this.clearStencil=new h(this),this.colorMask=new f(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new v(this),this.stencilTest=new m(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new M(this),this.program=new A(this),this.lineWidth=new k(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new E(this),this.bindRenderbuffer=new C(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new I(this),this.pixelStoreUnpack=new D(this),this.pixelStoreUnpackPremultiplyAlpha=new O(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\\\")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.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)},R.prototype.setStencilMode=function(t){t.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)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{\\\"../util/util\\\":275,\\\"./color_mode\\\":65,\\\"./depth_mode\\\":67,\\\"./framebuffer\\\":68,\\\"./index_buffer\\\":69,\\\"./stencil_mode\\\":70,\\\"./value\\\":71,\\\"./vertex_buffer\\\":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t(\\\"./value\\\"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{\\\"./value\\\":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.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};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=t(\\\"../util/util\\\"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.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.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.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.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var u=function(t){this.context=t,this.current=!0};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var c=function(t){this.context=t,this.current=255};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var h=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var f=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var v=function(t){this.context=t,this.current=t.gl.LESS};v.prototype.get=function(){return this.current},v.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var m=function(t){this.context=t,this.current=!1};m.prototype.get=function(){return this.current},m.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.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.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var M=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};M.prototype.get=function(){return this.current},M.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.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var k=function(t){this.context=t,this.current=null};k.prototype.get=function(){return this.current},k.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var I=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:u,StencilMask:c,StencilFunc:h,StencilOp:f,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:v,Blend:m,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:M,BindFramebuffer:A,BindRenderbuffer:k,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:E,BindVertexArrayOES:C,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:I,DepthAttachment:D}},{\\\"../style-spec/util/color\\\":153,\\\"../util/util\\\":275}],72:[function(t,e,r){var n={Int8:\\\"BYTE\\\",Uint8:\\\"UNSIGNED_BYTE\\\",Int16:\\\"SHORT\\\",Uint16:\\\"UNSIGNED_SHORT\\\",Int32:\\\"INT\\\",Uint32:\\\"UNSIGNED_INT\\\",Float32:\\\"FLOAT\\\"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},i.prototype.setVertexAttribPointers=function(t,e,r){for(var i=this,a=0;a<this.attributes.length;a++){var o=i.attributes[a],s=e.attributes[o.name];void 0!==s&&t.vertexAttribPointer(s,o.components,t[n[o.type]],!1,i.itemSize,o.offset+i.itemSize*(r||0))}},i.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=i},{}],73:[function(t,e,r){var n=t(\\\"@mapbox/mapbox-gl-supported\\\"),i=t(\\\"./util/browser\\\"),a=t(\\\"../package.json\\\").version,o=t(\\\"./ui/map\\\"),s=t(\\\"./ui/control/navigation_control\\\"),l=t(\\\"./ui/control/geolocate_control\\\"),u=t(\\\"./ui/control/attribution_control\\\"),c=t(\\\"./ui/control/scale_control\\\"),h=t(\\\"./ui/control/fullscreen_control\\\"),f=t(\\\"./ui/popup\\\"),p=t(\\\"./ui/marker\\\"),d=t(\\\"./style/style\\\"),g=t(\\\"./geo/lng_lat\\\"),v=t(\\\"./geo/lng_lat_bounds\\\"),m=t(\\\"@mapbox/point-geometry\\\"),y=t(\\\"./util/evented\\\"),x=t(\\\"./util/config\\\"),b=t(\\\"./source/rtl_text_plugin\\\");e.exports={version:a,supported:n,workerCount:Math.max(Math.floor(i.hardwareConcurrency/2),1),setRTLTextPlugin:b.setRTLTextPlugin,Map:o,NavigationControl:s,GeolocateControl:l,AttributionControl:u,ScaleControl:c,FullscreenControl:h,Popup:f,Marker:p,Style:d,LngLat:g,LngLatBounds:v,Point:m,Evented:y,config:x,get accessToken(){return x.ACCESS_TOKEN},set accessToken(t){x.ACCESS_TOKEN=t}}},{\\\"../package.json\\\":38,\\\"./geo/lng_lat\\\":62,\\\"./geo/lng_lat_bounds\\\":63,\\\"./source/rtl_text_plugin\\\":109,\\\"./style/style\\\":190,\\\"./ui/control/attribution_control\\\":232,\\\"./ui/control/fullscreen_control\\\":233,\\\"./ui/control/geolocate_control\\\":234,\\\"./ui/control/navigation_control\\\":236,\\\"./ui/control/scale_control\\\":237,\\\"./ui/map\\\":247,\\\"./ui/marker\\\":248,\\\"./ui/popup\\\":249,\\\"./util/browser\\\":252,\\\"./util/config\\\":256,\\\"./util/evented\\\":260,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],74:[function(t,e,r){var n=t(\\\"./pattern\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r){var o=r.paint.get(\\\"background-color\\\"),s=r.paint.get(\\\"background-opacity\\\");if(0!==s){var l=t.context,u=l.gl,c=t.transform,h=c.tileSize,f=r.paint.get(\\\"background-pattern\\\"),p=f||1!==o.a||1!==s?\\\"translucent\\\":\\\"opaque\\\";if(t.renderPass===p){var d;if(l.setStencilMode(i.disabled),l.setDepthMode(t.depthModeForSublayer(0,\\\"opaque\\\"===p?a.ReadWrite:a.ReadOnly)),l.setColorMode(t.colorModeForRenderPass()),f){if(n.isPatternMissing(f,t))return;d=t.useProgram(\\\"backgroundPattern\\\"),n.prepare(f,t,d),t.tileExtentPatternVAO.bind(l,d,t.tileExtentBuffer,[])}else d=t.useProgram(\\\"background\\\"),u.uniform4fv(d.uniforms.u_color,[o.r,o.g,o.b,o.a]),t.tileExtentVAO.bind(l,d,t.tileExtentBuffer,[]);u.uniform1f(d.uniforms.u_opacity,s);for(var g=0,v=c.coveringTiles({tileSize:h});g<v.length;g+=1){var m=v[g];f&&n.setTile({tileID:m,tileSize:h},t,d),u.uniformMatrix4fv(d.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(m.toUnwrapped())),u.drawArrays(u.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./pattern\\\":91}],75:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){if(\\\"translucent\\\"===t.renderPass){var s=r.paint.get(\\\"circle-opacity\\\"),l=r.paint.get(\\\"circle-stroke-width\\\"),u=r.paint.get(\\\"circle-stroke-opacity\\\");if(0!==s.constantOr(1)||0!==l.constantOr(1)&&0!==u.constantOr(1)){var c=t.context,h=c.gl;c.setDepthMode(t.depthModeForSublayer(0,a.ReadOnly)),c.setStencilMode(i.disabled),c.setColorMode(t.colorModeForRenderPass());for(var f=!0,p=0;p<o.length;p++){var d=o[p],g=e.getTile(d),v=g.getBucket(r);if(v){var m=t.context.program.get(),y=v.programConfigurations.get(r.id),x=t.useProgram(\\\"circle\\\",y);if((f||x.program!==m)&&(y.setUniforms(c,x,r.paint,{zoom:t.transform.zoom}),f=!1),h.uniform1f(x.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),h.uniform1i(x.uniforms.u_scale_with_map,\\\"map\\\"===r.paint.get(\\\"circle-pitch-scale\\\")?1:0),\\\"map\\\"===r.paint.get(\\\"circle-pitch-alignment\\\")){h.uniform1i(x.uniforms.u_pitch_with_map,1);var b=n(g,1,t.transform.zoom);h.uniform2f(x.uniforms.u_extrude_scale,b,b)}else h.uniform1i(x.uniforms.u_pitch_with_map,0),h.uniform2fv(x.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);h.uniformMatrix4fv(x.uniforms.u_matrix,!1,t.translatePosMatrix(d.posMatrix,g,r.paint.get(\\\"circle-translate\\\"),r.paint.get(\\\"circle-translate-anchor\\\"))),x.draw(c,h.TRIANGLES,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,y)}}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],76:[function(t,e,r){function n(t,e,r,n,s){var l=t.context,u=l.gl,c=s?t.useProgram(\\\"collisionCircle\\\"):t.useProgram(\\\"collisionBox\\\");l.setDepthMode(a.disabled),l.setStencilMode(o.disabled),l.setColorMode(t.colorModeForRenderPass());for(var h=0;h<n.length;h++){var f=n[h],p=e.getTile(f),d=p.getBucket(r);if(d){var g=s?d.collisionCircle:d.collisionBox;if(g){u.uniformMatrix4fv(c.uniforms.u_matrix,!1,f.posMatrix),s||l.lineWidth.set(1),u.uniform1f(c.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var v=i(p,1,t.transform.zoom),m=Math.pow(2,t.transform.zoom-p.tileID.overscaledZ);u.uniform1f(c.uniforms.u_pixels_to_tile_units,v),u.uniform2f(c.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(v*m),t.transform.pixelsToGLUnits[1]/(v*m)),c.draw(l,s?u.TRIANGLES:u.LINES,r.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,g.collisionVertexBuffer,null)}}}}var i=t(\\\"../source/pixels_to_tile_units\\\"),a=t(\\\"../gl/depth_mode\\\"),o=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){n(t,e,r,i,!1),n(t,e,r,i,!0)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],77:[function(t,e,r){function n(t,e,r){var n=t.context,p=n.gl;n.lineWidth.set(1*i.devicePixelRatio);var d=r.posMatrix,g=t.useProgram(\\\"debug\\\");n.setDepthMode(c.disabled),n.setStencilMode(h.disabled),n.setColorMode(t.colorModeForRenderPass()),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.uniform4f(g.uniforms.u_color,1,0,0,1),t.debugVAO.bind(n,g,t.debugBuffer,[]),p.drawArrays(p.LINE_STRIP,0,t.debugBuffer.length);for(var v=function(t,e,r,n){n=n||1;var i,a,o,s,l,u,c,h,p=[];for(i=0,a=t.length;i<a;i++)if(l=f[t[i]]){for(h=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?h=null:(u=e+l[1][o]*n,c=r-l[1][o+1]*n,h&&p.push(h.x,h.y,u,c),h={x:u,y:c});e+=l[0]*n}return p}(r.toString(),50,200,5),m=new l,y=0;y<v.length;y+=2)m.emplaceBack(v[y],v[y+1]);var x=n.createVertexBuffer(m,u.members);(new s).bind(n,g,x,[]),p.uniform4f(g.uniforms.u_color,1,1,1,1);for(var b=e.getTile(r).tileSize,_=o/(Math.pow(2,t.transform.zoom-r.overscaledZ)*b),w=[[-1,-1],[-1,1],[1,-1],[1,1]],M=0;M<w.length;M++){var A=w[M];p.uniformMatrix4fv(g.uniforms.u_matrix,!1,a.translate([],d,[_*A[0],_*A[1],0])),p.drawArrays(p.LINES,0,x.length)}p.uniform4f(g.uniforms.u_color,0,0,0,1),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.drawArrays(p.LINES,0,x.length)}var i=t(\\\"../util/browser\\\"),a=t(\\\"@mapbox/gl-matrix\\\").mat4,o=t(\\\"../data/extent\\\"),s=t(\\\"./vertex_array_object\\\"),l=t(\\\"../data/array_types\\\").PosArray,u=t(\\\"../data/pos_attributes\\\"),c=t(\\\"../gl/depth_mode\\\"),h=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])};var f={\\\" \\\":[16,[]],\\\"!\\\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\\\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\\\"#\\\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\\\"%\\\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\\\"&\\\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\\\"'\\\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\\\"(\\\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\\\")\\\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\\\"*\\\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\\\"+\\\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\\\",\\\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"-\\\":[26,[4,9,22,9]],\\\".\\\":[10,[5,2,4,1,5,0,6,1,5,2]],\\\"/\\\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\\\":\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\\\";\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"<\\\":[24,[20,18,4,9,20,0]],\\\"=\\\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\\\">\\\":[24,[4,18,20,9,4,0]],\\\"?\\\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\\\"@\\\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\\\"[\\\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\\\"\\\\\\\\\\\":[14,[0,21,14,-3]],\\\"]\\\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\\\"^\\\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\\\"`\\\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\\\"{\\\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\\\"|\\\":[8,[4,25,4,-7]],\\\"}\\\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\\\"~\\\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get(\\\"fill-pattern\\\"),t))for(var a=!0,o=0,l=n;o<l.length;o+=1){var u=l[o],c=e.getTile(u),h=c.getBucket(r);h&&(t.context.setStencilMode(t.stencilModeForClipping(u)),i(t,e,r,c,u,h,a),a=!1)}}function i(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id);o(\\\"fill\\\",r.paint.get(\\\"fill-pattern\\\"),t,u,r,n,i,s).draw(t.context,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,u)}function a(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id),c=o(\\\"fillOutline\\\",r.getPaintProperty(\\\"fill-outline-color\\\")?null:r.paint.get(\\\"fill-pattern\\\"),t,u,r,n,i,s);l.uniform2f(c.uniforms.u_world,l.drawingBufferWidth,l.drawingBufferHeight),c.draw(t.context,l.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,u)}function o(t,e,r,n,i,a,o,l){var u,c=r.context.program.get();return e?(u=r.useProgram(t+\\\"Pattern\\\",n),(l||u.program!==c)&&(n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom}),s.prepare(e,r,u)),s.setTile(a,r,u)):(u=r.useProgram(t,n),(l||u.program!==c)&&n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(u.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\\\"fill-translate\\\"),i.paint.get(\\\"fill-translate-anchor\\\"))),u}var s=t(\\\"./pattern\\\"),l=t(\\\"../style-spec/util/color\\\"),u=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){var s=r.paint.get(\\\"fill-color\\\"),c=r.paint.get(\\\"fill-opacity\\\");if(0!==c.constantOr(1)){var h=t.context;h.setColorMode(t.colorModeForRenderPass());var f=r.paint.get(\\\"fill-pattern\\\")||1!==s.constantOr(l.transparent).a||1!==c.constantOr(0)?\\\"translucent\\\":\\\"opaque\\\";t.renderPass===f&&(h.setDepthMode(t.depthModeForSublayer(1,\\\"opaque\\\"===t.renderPass?u.ReadWrite:u.ReadOnly)),n(t,e,r,o,i)),\\\"translucent\\\"===t.renderPass&&r.paint.get(\\\"fill-antialias\\\")&&(h.lineWidth.set(2),h.setDepthMode(t.depthModeForSublayer(r.getPaintProperty(\\\"fill-outline-color\\\")?2:0,u.ReadOnly)),n(t,e,r,o,a))}}},{\\\"../gl/depth_mode\\\":67,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91}],79:[function(t,e,r){function n(t,e,r,n,i,o,s){var l=t.context,c=l.gl,f=r.paint.get(\\\"fill-extrusion-pattern\\\"),p=t.context.program.get(),d=o.programConfigurations.get(r.id),g=t.useProgram(f?\\\"fillExtrusionPattern\\\":\\\"fillExtrusion\\\",d);if((s||g.program!==p)&&d.setUniforms(l,g,r.paint,{zoom:t.transform.zoom}),f){if(a.isPatternMissing(f,t))return;a.prepare(f,t,g),a.setTile(n,t,g),c.uniform1f(g.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(g.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\\\"fill-extrusion-translate\\\"),r.paint.get(\\\"fill-extrusion-translate-anchor\\\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\\\"position\\\"),a=[i.x,i.y,i.z],o=u.create();\\\"viewport\\\"===n.properties.get(\\\"anchor\\\")&&u.fromRotation(o,-e.transform.angle),h.transformMat3(a,a,o);var s=n.properties.get(\\\"color\\\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\\\"intensity\\\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(g,t),g.draw(l,c.TRIANGLES,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,d)}var i=t(\\\"@mapbox/gl-matrix\\\"),a=t(\\\"./pattern\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../style-spec/util/color\\\"),l=t(\\\"../gl/depth_mode\\\"),u=i.mat3,c=i.mat4,h=i.vec3,f=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){if(0!==r.paint.get(\\\"fill-extrusion-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){!function(t,e){var r=t.context,n=r.gl,i=e.viewportFrame;if(t.depthRboNeedsClear&&t.setupOffscreenDepthRenderbuffer(),!i){var a=new o(r,{width:t.width,height:t.height,data:null},n.RGBA);a.bind(n.LINEAR,n.CLAMP_TO_EDGE),(i=e.viewportFrame=r.createFramebuffer(t.width,t.height)).colorAttachment.set(a.texture)}r.bindFramebuffer.set(i.framebuffer),i.depthAttachment.set(t.depthRbo),t.depthRboNeedsClear&&(r.clear({depth:1}),t.depthRboNeedsClear=!1),r.clear({color:s.transparent}),r.setStencilMode(f.disabled),r.setDepthMode(new l(n.LEQUAL,l.ReadWrite,[0,1])),r.setColorMode(t.colorModeForRenderPass())}(t,r);for(var a=!0,u=0,h=i;u<h.length;u+=1){var p=h[u],d=e.getTile(p),g=d.getBucket(r);g&&(n(t,0,r,d,p,g,a),a=!1)}}else\\\"translucent\\\"===t.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\\\"extrusionTexture\\\");n.setStencilMode(f.disabled),n.setDepthMode(l.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\\\"fill-extrusion-opacity\\\")),i.uniform1i(a.uniforms.u_image,0);var o=c.create();c.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(t,r)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],80:[function(t,e,r){var n=t(\\\"@mapbox/gl-matrix\\\").mat4,i=t(\\\"./texture\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../style-spec/util/color\\\"),s=t(\\\"../gl/depth_mode\\\"),l=t(\\\"../gl/stencil_mode\\\"),u=t(\\\"../gl/color_mode\\\");e.exports=function(t,e,r,c){if(0!==r.paint.get(\\\"heatmap-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){var h=t.context,f=h.gl;h.setDepthMode(t.depthModeForSublayer(0,s.ReadOnly)),h.setStencilMode(l.disabled),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 i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),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),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(h,t,r),h.clear({color:o.transparent}),h.setColorMode(new u([f.ONE,f.ONE],o.transparent,[!0,!0,!0,!0]));for(var p=!0,d=0;d<c.length;d++){var g=c[d];if(!e.hasRenderableParent(g)){var v=e.getTile(g),m=v.getBucket(r);if(m){var y=t.context.program.get(),x=m.programConfigurations.get(r.id),b=t.useProgram(\\\"heatmap\\\",x),_=t.transform.zoom;(p||b.program!==y)&&(x.setUniforms(t.context,b,r.paint,{zoom:_}),p=!1),f.uniform1f(b.uniforms.u_extrude_scale,a(v,1,_)),f.uniform1f(b.uniforms.u_intensity,r.paint.get(\\\"heatmap-intensity\\\")),f.uniformMatrix4fv(b.uniforms.u_matrix,!1,g.posMatrix),b.draw(h,f.TRIANGLES,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,x)}}}h.viewport.set([0,0,t.width,t.height])}else\\\"translucent\\\"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,e){var r=t.context,a=r.gl,o=e.heatmapFbo;if(o){r.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),r.activeTexture.set(a.TEXTURE1);var l=e.colorRampTexture;l||(l=e.colorRampTexture=new i(r,e.colorRamp,a.RGBA)),l.bind(a.LINEAR,a.CLAMP_TO_EDGE),r.setDepthMode(s.disabled);var u=t.useProgram(\\\"heatmapTexture\\\"),c=e.paint.get(\\\"heatmap-opacity\\\");a.uniform1f(u.uniforms.u_opacity,c),a.uniform1i(u.uniforms.u_image,0),a.uniform1i(u.uniforms.u_color_ramp,1);var h=n.create();n.ortho(h,0,t.width,t.height,0,0,1),a.uniformMatrix4fv(u.uniforms.u_matrix,!1,h),a.uniform2f(u.uniforms.u_world,a.drawingBufferWidth,a.drawingBufferHeight),t.viewportVAO.bind(t.context,u,t.viewportBuffer,[]),a.drawArrays(a.TRIANGLE_STRIP,0,4)}}(t,r))}},{\\\"../gl/color_mode\\\":65,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style-spec/util/color\\\":153,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],81:[function(t,e,r){function n(t,e,r){var n=t.context,i=n.gl,o=e.fbo;if(o){var s=t.useProgram(\\\"hillshade\\\"),l=t.transform.calculatePosMatrix(e.tileID.toUnwrapped());!function(t,e,r){var n=r.paint.get(\\\"hillshade-illumination-direction\\\")*(Math.PI/180);\\\"viewport\\\"===r.paint.get(\\\"hillshade-illumination-anchor\\\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\\\"hillshade-exaggeration\\\"),n)}(s,t,r);var u=function(t,e){var r=e.toCoordinate(),n=new a(r.column,r.row+1,r.zoom);return[t.transform.coordinateLocation(r).lat,t.transform.coordinateLocation(n).lat]}(t,e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,o.colorAttachment.get()),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),i.uniform2fv(s.uniforms.u_latrange,u),i.uniform1i(s.uniforms.u_image,0);var c=r.paint.get(\\\"hillshade-shadow-color\\\");i.uniform4f(s.uniforms.u_shadow,c.r,c.g,c.b,c.a);var h=r.paint.get(\\\"hillshade-highlight-color\\\");i.uniform4f(s.uniforms.u_highlight,h.r,h.g,h.b,h.a);var f=r.paint.get(\\\"hillshade-accent-color\\\");if(i.uniform4f(s.uniforms.u_accent,f.r,f.g,f.b,f.a),e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments)s.draw(n,i.TRIANGLES,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments);else{var p=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(n,s,p,[]),i.drawArrays(i.TRIANGLE_STRIP,0,p.length)}}}function i(t,e){var r=t.context,n=r.gl;if(e.dem&&e.dem.level){var i=e.dem.level.dim,a=e.dem.getPixels();if(r.activeTexture.set(n.TEXTURE1),r.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||t.getTileTexture(e.tileSize),e.demTexture){var u=e.demTexture;u.update(a,!1),u.bind(n.NEAREST,n.CLAMP_TO_EDGE)}else e.demTexture=new o(r,a,n.RGBA,!1),e.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE);r.activeTexture.set(n.TEXTURE0);var c=e.fbo;if(!c){var h=new o(r,{width:i,height:i,data:null},n.RGBA);h.bind(n.LINEAR,n.CLAMP_TO_EDGE),(c=e.fbo=r.createFramebuffer(i,i)).colorAttachment.set(h.texture)}r.bindFramebuffer.set(c.framebuffer),r.viewport.set([0,0,i,i]);var f=l.create();l.ortho(f,0,s,-s,0,0,1),l.translate(f,f,[0,-s,0]);var p=t.useProgram(\\\"hillshadePrepare\\\");n.uniformMatrix4fv(p.uniforms.u_matrix,!1,f),n.uniform1f(p.uniforms.u_zoom,e.tileID.overscaledZ),n.uniform2fv(p.uniforms.u_dimension,[2*i,2*i]),n.uniform1i(p.uniforms.u_image,1);var d=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(r,p,d,[]),n.drawArrays(n.TRIANGLE_STRIP,0,d.length),e.needsHillshadePrepare=!1}}var a=t(\\\"../geo/coordinate\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../data/extent\\\"),l=t(\\\"@mapbox/gl-matrix\\\").mat4,u=t(\\\"../gl/stencil_mode\\\"),c=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,a){if(\\\"offscreen\\\"===t.renderPass||\\\"translucent\\\"===t.renderPass){var o=t.context;o.setDepthMode(t.depthModeForSublayer(0,c.ReadOnly)),o.setStencilMode(u.disabled),o.setColorMode(t.colorModeForRenderPass());for(var s=0,l=a;s<l.length;s+=1){var h=l[s],f=e.getTile(h);f.needsHillshadePrepare&&\\\"offscreen\\\"===t.renderPass?i(t,f):\\\"translucent\\\"===t.renderPass&&n(t,f,r)}o.viewport.set([0,0,t.width,t.height])}}},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],82:[function(t,e,r){function n(t,e,r,n,o,s,l,u,c){var h,f,p,d,g=e.context,v=g.gl,m=o.paint.get(\\\"line-dasharray\\\"),y=o.paint.get(\\\"line-pattern\\\");if(u||c){var x=1/a(r,1,e.transform.tileZoom);if(m){h=e.lineAtlas.getDash(m.from,\\\"round\\\"===o.layout.get(\\\"line-cap\\\")),f=e.lineAtlas.getDash(m.to,\\\"round\\\"===o.layout.get(\\\"line-cap\\\"));var b=h.width*m.fromScale,_=f.width*m.toScale;v.uniform2f(t.uniforms.u_patternscale_a,x/b,-h.height/2),v.uniform2f(t.uniforms.u_patternscale_b,x/_,-f.height/2),v.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(b,_)*i.devicePixelRatio)/2)}else if(y){if(p=e.imageManager.getPattern(y.from),d=e.imageManager.getPattern(y.to),!p||!d)return;v.uniform2f(t.uniforms.u_pattern_size_a,p.displaySize[0]*y.fromScale/x,d.displaySize[1]),v.uniform2f(t.uniforms.u_pattern_size_b,d.displaySize[0]*y.toScale/x,d.displaySize[1]);var w=e.imageManager.getPixelSize(),M=w.width,A=w.height;v.uniform2fv(t.uniforms.u_texsize,[M,A])}v.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}u&&(m?(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.lineAtlas.bind(g),v.uniform1f(t.uniforms.u_tex_y_a,h.y),v.uniform1f(t.uniforms.u_tex_y_b,f.y),v.uniform1f(t.uniforms.u_mix,m.t)):y&&(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.imageManager.bind(g),v.uniform2fv(t.uniforms.u_pattern_tl_a,p.tl),v.uniform2fv(t.uniforms.u_pattern_br_a,p.br),v.uniform2fv(t.uniforms.u_pattern_tl_b,d.tl),v.uniform2fv(t.uniforms.u_pattern_br_b,d.br),v.uniform1f(t.uniforms.u_fade,y.t))),g.setStencilMode(e.stencilModeForClipping(s));var k=e.translatePosMatrix(s.posMatrix,r,o.paint.get(\\\"line-translate\\\"),o.paint.get(\\\"line-translate-anchor\\\"));v.uniformMatrix4fv(t.uniforms.u_matrix,!1,k),v.uniform1f(t.uniforms.u_ratio,1/a(r,1,e.transform.zoom)),t.draw(g,v.TRIANGLES,o.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,l)}var i=t(\\\"../util/browser\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"line-opacity\\\").constantOr(1)){var a=t.context;a.setDepthMode(t.depthModeForSublayer(0,o.ReadOnly)),a.setColorMode(t.colorModeForRenderPass());for(var s,l=r.paint.get(\\\"line-dasharray\\\")?\\\"lineSDF\\\":r.paint.get(\\\"line-pattern\\\")?\\\"linePattern\\\":\\\"line\\\",u=!0,c=0,h=i;c<h.length;c+=1){var f=h[c],p=e.getTile(f),d=p.getBucket(r);if(d){var g=d.programConfigurations.get(r.id),v=t.context.program.get(),m=t.useProgram(l,g),y=u||m.program!==v,x=s!==p.tileID.overscaledZ;y&&g.setUniforms(t.context,m,r.paint,{zoom:t.transform.zoom}),n(m,t,p,d,r,f,g,y,x),s=p.tileID.overscaledZ,u=!1}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../source/pixels_to_tile_units\\\":104,\\\"../util/browser\\\":252}],83:[function(t,e,r){function n(t,e,r,n,a){var s=n.paint.get(\\\"raster-fade-duration\\\");if(s>0){var l=o.now(),u=(l-t.timeAdded)/s,c=e?(l-e.timeAdded)/s:-1,h=r.getSource(),f=a.coveringZoomLevel({tileSize:h.tileSize,roundZoom:h.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-f)>Math.abs(t.tileID.overscaledZ-f),d=p&&t.refreshedUponExpiration?1:i.clamp(p?u:1-c,0,1);return t.refreshedUponExpiration&&u>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t(\\\"../util/util\\\"),a=t(\\\"../source/image_source\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"../gl/stencil_mode\\\"),l=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"raster-opacity\\\")){var o=t.context,u=o.gl,c=e.getSource(),h=t.useProgram(\\\"raster\\\");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),u.uniform1f(h.uniforms.u_brightness_low,r.paint.get(\\\"raster-brightness-min\\\")),u.uniform1f(h.uniforms.u_brightness_high,r.paint.get(\\\"raster-brightness-max\\\")),u.uniform1f(h.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get(\\\"raster-saturation\\\"))),u.uniform1f(h.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get(\\\"raster-contrast\\\"))),u.uniform3fv(h.uniforms.u_spin_weights,function(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]}(r.paint.get(\\\"raster-hue-rotate\\\"))),u.uniform1f(h.uniforms.u_buffer_scale,1),u.uniform1i(h.uniforms.u_image0,0),u.uniform1i(h.uniforms.u_image1,1);for(var f=i.length&&i[0].overscaledZ,p=0,d=i;p<d.length;p+=1){var g=d[p];o.setDepthMode(t.depthModeForSublayer(g.overscaledZ-f,1===r.paint.get(\\\"raster-opacity\\\")?l.ReadWrite:l.ReadOnly,u.LESS));var v=e.getTile(g),m=t.transform.calculatePosMatrix(g.toUnwrapped(),!0);v.registerFadeDuration(r.paint.get(\\\"raster-fade-duration\\\")),u.uniformMatrix4fv(h.uniforms.u_matrix,!1,m);var y=e.findLoadedParent(g,0,{}),x=n(v,y,e,r,t.transform),b=void 0,_=void 0;if(o.activeTexture.set(u.TEXTURE0),v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(u.TEXTURE1),y?(y.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),_=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),u.uniform2fv(h.uniforms.u_tl_parent,_||[0,0]),u.uniform1f(h.uniforms.u_scale_parent,b||1),u.uniform1f(h.uniforms.u_fade_t,x.mix),u.uniform1f(h.uniforms.u_opacity,x.opacity*r.paint.get(\\\"raster-opacity\\\")),c instanceof a){var w=c.boundsBuffer;c.boundsVAO.bind(o,h,w,[]),u.drawArrays(u.TRIANGLE_STRIP,0,w.length)}else if(v.maskedBoundsBuffer&&v.maskedIndexBuffer&&v.segments)h.draw(o,u.TRIANGLES,r.id,v.maskedBoundsBuffer,v.maskedIndexBuffer,v.segments);else{var M=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,h,M,[]),u.drawArrays(u.TRIANGLE_STRIP,0,M.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/image_source\\\":102,\\\"../util/browser\\\":252,\\\"../util/util\\\":275}],84:[function(t,e,r){function n(t,e,r,n,o,s,c,f,p,g){var v=t.context,m=v.gl,y=t.transform,x=\\\"map\\\"===f,b=\\\"map\\\"===p,_=x&&\\\"line\\\"===r.layout.get(\\\"symbol-placement\\\"),w=x&&!b&&!_,M=b;v.setDepthMode(M?t.depthModeForSublayer(0,d.ReadOnly):d.disabled);for(var A,k=0,T=n;k<T.length;k+=1){var S=T[k],E=e.getTile(S),C=E.getBucket(r);if(C){var L=o?C.text:C.icon;if(L&&L.segments.get().length){var z=L.programConfigurations.get(r.id),P=o||C.sdfIcons,I=o?C.textSizeData:C.iconSizeData;if(A||(A=t.useProgram(P?\\\"symbolSDF\\\":\\\"symbolIcon\\\",z),z.setUniforms(t.context,A,r.paint,{zoom:t.transform.zoom}),i(A,t,r,o,w,b,I)),v.activeTexture.set(m.TEXTURE0),m.uniform1i(A.uniforms.u_texture,0),o)E.glyphAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.glyphAtlasTexture.size);else{var D=1!==r.layout.get(\\\"icon-size\\\").constantOr(0)||C.iconsNeedLinear,O=b||0!==y.pitch;E.iconAtlasTexture.bind(P||t.options.rotating||t.options.zooming||D||O?m.LINEAR:m.NEAREST,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.iconAtlasTexture.size)}m.uniformMatrix4fv(A.uniforms.u_matrix,!1,t.translatePosMatrix(S.posMatrix,E,s,c));var R=l(E,1,t.transform.zoom),F=u.getLabelPlaneMatrix(S.posMatrix,b,x,t.transform,R),B=u.getGlCoordMatrix(S.posMatrix,b,x,t.transform,R);m.uniformMatrix4fv(A.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(B,E,s,c,!0)),_?(m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,h),u.updateLineLabels(C,S.posMatrix,t,o,F,B,b,g)):m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,F),m.uniform1f(A.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),a(A,z,t,r,E,L,o,P,b)}}}}function i(t,e,r,n,i,a,o){var s=e.context.gl,l=e.transform;s.uniform1i(t.uniforms.u_pitch_with_map,a?1:0),s.uniform1f(t.uniforms.u_is_text,n?1:0),s.uniform1f(t.uniforms.u_pitch,l.pitch/360*2*Math.PI);var u=\\\"constant\\\"===o.functionType||\\\"source\\\"===o.functionType,h=\\\"constant\\\"===o.functionType||\\\"camera\\\"===o.functionType;s.uniform1i(t.uniforms.u_is_size_zoom_constant,u?1:0),s.uniform1i(t.uniforms.u_is_size_feature_constant,h?1:0),s.uniform1f(t.uniforms.u_camera_to_center_distance,l.cameraToCenterDistance);var p=c.evaluateSizeForZoom(o,l.zoom,f.properties[n?\\\"text-size\\\":\\\"icon-size\\\"]);void 0!==p.uSizeT&&s.uniform1f(t.uniforms.u_size_t,p.uSizeT),void 0!==p.uSize&&s.uniform1f(t.uniforms.u_size,p.uSize),s.uniform1f(t.uniforms.u_aspect_ratio,l.width/l.height),s.uniform1i(t.uniforms.u_rotate_symbol,i?1:0)}function a(t,e,r,n,i,a,s,l,u){var c=r.context,h=c.gl,f=r.transform;if(l){var p=0!==n.paint.get(s?\\\"text-halo-width\\\":\\\"icon-halo-width\\\").constantOr(1),d=u?Math.cos(f._pitch)*f.cameraToCenterDistance:1;h.uniform1f(t.uniforms.u_gamma_scale,d),p&&(h.uniform1f(t.uniforms.u_is_halo,1),o(a,n,c,t)),h.uniform1f(t.uniforms.u_is_halo,0)}o(a,n,c,t)}function o(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}var s=t(\\\"./draw_collision_debug\\\"),l=t(\\\"../source/pixels_to_tile_units\\\"),u=t(\\\"../symbol/projection\\\"),c=t(\\\"../symbol/symbol_size\\\"),h=t(\\\"@mapbox/gl-matrix\\\").mat4.identity(new Float32Array(16)),f=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,p=t(\\\"../gl/stencil_mode\\\"),d=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass){var a=t.context;a.setStencilMode(p.disabled),a.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\\\"icon-opacity\\\").constantOr(1)&&n(t,e,r,i,!1,r.paint.get(\\\"icon-translate\\\"),r.paint.get(\\\"icon-translate-anchor\\\"),r.layout.get(\\\"icon-rotation-alignment\\\"),r.layout.get(\\\"icon-pitch-alignment\\\"),r.layout.get(\\\"icon-keep-upright\\\")),0!==r.paint.get(\\\"text-opacity\\\").constantOr(1)&&n(t,e,r,i,!0,r.paint.get(\\\"text-translate\\\"),r.paint.get(\\\"text-translate-anchor\\\"),r.layout.get(\\\"text-rotation-alignment\\\"),r.layout.get(\\\"text-pitch-alignment\\\"),r.layout.get(\\\"text-keep-upright\\\")),e.map.showCollisionBoxes&&s(t,e,r,i)}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/projection\\\":224,\\\"../symbol/symbol_size\\\":228,\\\"./draw_collision_debug\\\":76,\\\"@mapbox/gl-matrix\\\":2}],85:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").AlphaImage,a=1;e.exports={makeGlyphAtlas:function(t){var e=new i({width:0,height:0}),r={},o=new n(0,0,{autoResize:!0});for(var s in t){var l=t[s],u=r[s]={};for(var c in l){var h=l[+c];if(h&&0!==h.bitmap.width&&0!==h.bitmap.height){var f=o.packOne(h.bitmap.width+2*a,h.bitmap.height+2*a);e.resize({width:o.w,height:o.h}),i.copy(h.bitmap,e,{x:0,y:0},{x:f.x+a,y:f.y+a},h.bitmap),u[c]={rect:f,metrics:h.metrics}}}}return o.shrink(),e.resize({width:o.w,height:o.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],86:[function(t,e,r){var n=t(\\\"../style/load_glyph_range\\\"),i=t(\\\"@mapbox/tiny-sdf\\\"),a=t(\\\"../util/is_char_in_unicode_block\\\"),o=t(\\\"../util/util\\\").asyncAll,s=t(\\\"../util/image\\\").AlphaImage,l=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};l.prototype.setURL=function(t){this.url=t},l.prototype.getGlyphs=function(t,e){var r=this,i=[];for(var a in t)for(var s=0,l=t[a];s<l.length;s+=1){var u=l[s];i.push({stack:a,id:u})}o(i,function(t,e){var i=t.stack,a=t.id,o=r.entries[i];o||(o=r.entries[i]={glyphs:{},requests:{}});var s=o.glyphs[a];if(void 0===s)if(s=r._tinySDF(o,i,a))e(null,{stack:i,id:a,glyph:s});else{var l=Math.floor(a/256);if(256*l>65535)e(new Error(\\\"glyphs > 65535 not supported\\\"));else{var u=o.requests[l];u||(u=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=u;n<i.length;n+=1)(0,i[n])(t,e);delete o.requests[l]})),u.push(function(t,r){t?e(t):r&&e(null,{stack:i,id:a,glyph:r[a]||null})})}}else e(null,{stack:i,id:a,glyph:s})},function(t,r){if(t)e(t);else if(r){for(var n={},i=0,a=r;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,u=o.glyph;(n[s]||(n[s]={}))[l]=u&&{id:u.id,bitmap:u.bitmap.clone(),metrics:u.metrics}}e(null,n)}})},l.prototype._tinySDF=function(t,e,r){var n=this.localIdeographFontFamily;if(n&&(a[\\\"CJK Unified Ideographs\\\"](r)||a[\\\"Hangul Syllables\\\"](r))){var o=t.tinySDF;if(!o){var l=\\\"400\\\";/bold/i.test(e)?l=\\\"900\\\":/medium/i.test(e)?l=\\\"500\\\":/light/i.test(e)&&(l=\\\"200\\\"),o=t.tinySDF=new i(24,3,8,.25,n,l)}return{id:r,bitmap:new s({width:30,height:30},o.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},e.exports=l},{\\\"../style/load_glyph_range\\\":184,\\\"../util/image\\\":263,\\\"../util/is_char_in_unicode_block\\\":265,\\\"../util/util\\\":275,\\\"@mapbox/tiny-sdf\\\":6}],87:[function(t,e,r){function n(t,e){var r=e.pixelRatio,n={x:t.x+o,y:t.y+o,w:t.w-2*o,h:t.h-2*o};return{pixelRatio:r,textureRect:n,tl:[n.x,n.y],br:[n.x+n.w,n.y+n.h],displaySize:[n.w/r,n.h/r]}}var i=t(\\\"@mapbox/shelf-pack\\\"),a=t(\\\"../util/image\\\").RGBAImage,o=1;e.exports={imagePosition:n,makeImageAtlas:function(t){var e=new a({width:0,height:0}),r={},s=new i(0,0,{autoResize:!0});for(var l in t){var u=t[l],c=s.packOne(u.data.width+2*o,u.data.height+2*o);e.resize({width:s.w,height:s.h}),a.copy(u.data,e,{x:0,y:0},{x:c.x+o,y:c.y+o},u.data),r[l]=n(c,u)}return s.shrink(),e.resize({width:s.w,height:s.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],88:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").RGBAImage,a=t(\\\"./image_atlas\\\").imagePosition,o=t(\\\"./texture\\\"),s=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new n(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new i({width:64,height:64}),this.dirty=!0};s.prototype.isLoaded=function(){return this.loaded},s.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],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},s.prototype.getImage=function(t){return this.images[t]},s.prototype.addImage=function(t,e){this.images[t]=e},s.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},s.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},s.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},s.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},s.prototype.getPattern=function(t){var e=this.patterns[t];if(e)return e.position;var r=this.getImage(t);if(!r)return null;var n=r.data.width+2,o=r.data.height+2,s=this.shelfPack.packOne(n,o);if(!s)return null;this.atlasImage.resize(this.getPixelSize());var l=r.data,u=this.atlasImage,c=s.x+1,h=s.y+1,f=l.width,p=l.height;i.copy(l,u,{x:0,y:0},{x:c,y:h},{width:f,height:p}),i.copy(l,u,{x:0,y:p-1},{x:c,y:h-1},{width:f,height:1}),i.copy(l,u,{x:0,y:0},{x:c,y:h+p},{width:f,height:1}),i.copy(l,u,{x:f-1,y:0},{x:c-1,y:h},{width:1,height:p}),i.copy(l,u,{x:0,y:0},{x:c+f,y:h},{width:1,height:p}),this.dirty=!0;var d=a(s,r);return this.patterns[t]={bin:s,position:d},d},s.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new o(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)},e.exports=s},{\\\"../util/image\\\":263,\\\"./image_atlas\\\":87,\\\"./texture\\\":93,\\\"@mapbox/shelf-pack\\\":5}],89:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};i.prototype.getDash=function(t,e){var r=t.join(\\\",\\\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},i.prototype.addDash=function(t,e){var r=this,i=e?7:0,a=2*i+1;if(this.nextRow+a>this.height)return n.warnOnce(\\\"LineAtlas out of space\\\"),null;for(var o=0,s=0;s<t.length;s++)o+=t[s];for(var l=this.width/o,u=l/2,c=t.length%2==1,h=-i;h<=i;h++)for(var f=r.nextRow+i+h,p=r.width*f,d=c?-t[t.length-1]:0,g=t[0],v=1,m=0;m<this.width;m++){for(;g<m/l;)d=g,g+=t[v],c&&v===t.length-1&&(g+=t[0]),v++;var y=Math.abs(m-d*l),x=Math.abs(m-g*l),b=Math.min(y,x),_=v%2==1,w=void 0;if(e){var M=i?h/i*(u+1):0;if(_){var A=u-Math.abs(M);w=Math.sqrt(b*b+A*A)}else w=u-Math.sqrt(b*b+M*M)}else w=(_?1:-1)*b;r.data[3+4*(p+m)]=Math.max(0,Math.min(255,w+128))}var k={y:(this.nextRow+i+.5)/this.height,height:2*i/this.height,width:o};return this.nextRow+=a,this.dirty=!0,k},i.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.RGBA,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.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))},e.exports=i},{\\\"../util/util\\\":275}],90:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"@mapbox/gl-matrix\\\").mat4,a=t(\\\"../source/source_cache\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../source/pixels_to_tile_units\\\"),l=t(\\\"../util/util\\\"),u=t(\\\"./vertex_array_object\\\"),c=t(\\\"../data/array_types\\\"),h=c.RasterBoundsArray,f=c.PosArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/pos_attributes\\\"),g=t(\\\"../data/program_configuration\\\").ProgramConfiguration,v=t(\\\"../symbol/cross_tile_symbol_index\\\"),m=t(\\\"../shaders\\\"),y=t(\\\"./program\\\"),x=t(\\\"../gl/context\\\"),b=t(\\\"../gl/depth_mode\\\"),_=t(\\\"../gl/stencil_mode\\\"),w=t(\\\"../gl/color_mode\\\"),M=(t(\\\"./texture\\\"),t(\\\"./tile_mask\\\")),A=t(\\\"../style-spec/util/color\\\"),k={symbol:t(\\\"./draw_symbol\\\"),circle:t(\\\"./draw_circle\\\"),heatmap:t(\\\"./draw_heatmap\\\"),line:t(\\\"./draw_line\\\"),fill:t(\\\"./draw_fill\\\"),\\\"fill-extrusion\\\":t(\\\"./draw_fill_extrusion\\\"),hillshade:t(\\\"./draw_hillshade\\\"),raster:t(\\\"./draw_raster\\\"),background:t(\\\"./draw_background\\\"),debug:t(\\\"./draw_debug\\\")},T=function(t,e){this.context=new x(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=a.maxUnderzooming+a.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new g,this.crossTileSymbolIndex=new v};T.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*n.devicePixelRatio,this.height=e*n.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var i=0,a=this.style._order;i<a.length;i+=1){var o=a[i];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},T.prototype.setup=function(){var t=this.context,e=new f;e.emplaceBack(0,0),e.emplaceBack(o,0),e.emplaceBack(0,o),e.emplaceBack(o,o),this.tileExtentBuffer=t.createVertexBuffer(e,d.members),this.tileExtentVAO=new u,this.tileExtentPatternVAO=new u;var r=new f;r.emplaceBack(0,0),r.emplaceBack(o,0),r.emplaceBack(o,o),r.emplaceBack(0,o),r.emplaceBack(0,0),this.debugBuffer=t.createVertexBuffer(r,d.members),this.debugVAO=new u;var n=new h;n.emplaceBack(0,0,0,0),n.emplaceBack(o,0,o,0),n.emplaceBack(0,o,0,o),n.emplaceBack(o,o,o,o),this.rasterBoundsBuffer=t.createVertexBuffer(n,p.members),this.rasterBoundsVAO=new u;var i=new f;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(i,d.members),this.viewportVAO=new u},T.prototype.clearStencil=function(){var t=this.context,e=t.gl;t.setColorMode(w.disabled),t.setDepthMode(b.disabled),t.setStencilMode(new _({func:e.ALWAYS,mask:0},0,255,e.ZERO,e.ZERO,e.ZERO));var r=i.create();i.ortho(r,0,this.width,this.height,0,0,1),i.scale(r,r,[e.drawingBufferWidth,e.drawingBufferHeight,0]);var n=this.useProgram(\\\"clippingMask\\\");e.uniformMatrix4fv(n.uniforms.u_matrix,!1,r),this.viewportVAO.bind(t,n,this.viewportBuffer,[]),e.drawArrays(e.TRIANGLE_STRIP,0,4)},T.prototype._renderTileClippingMasks=function(t){var e=this,r=this.context,n=r.gl;r.setColorMode(w.disabled),r.setDepthMode(b.disabled);var i=1;this._tileClippingMaskIDs={};for(var a=0,o=t;a<o.length;a+=1){var s=o[a],l=e._tileClippingMaskIDs[s.key]=i++;r.setStencilMode(new _({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE));var u=e.useProgram(\\\"clippingMask\\\");n.uniformMatrix4fv(u.uniforms.u_matrix,!1,s.posMatrix),e.tileExtentVAO.bind(e.context,u,e.tileExtentBuffer,[]),n.drawArrays(n.TRIANGLE_STRIP,0,e.tileExtentBuffer.length)}},T.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new _({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},T.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new w([t.CONSTANT_COLOR,t.ONE],new A(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\\\"opaque\\\"===this.renderPass?w.unblended:w.alphaBlended},T.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new b(r||this.context.gl.LEQUAL,e,[i,n])},T.prototype.render=function(t,e){var r=this;for(var i in this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(n.now()),t.sourceCaches){var a=r.style.sourceCaches[i];a.used&&a.prepare(r.context)}var o=this.style._order,s=l.filterObject(this.style.sourceCaches,function(t){return\\\"raster\\\"===t.getSource().type||\\\"raster-dem\\\"===t.getSource().type});for(var u in s)!function(t){var e=s[u],n=e.getVisibleCoordinates().map(function(t){return e.getTile(t)});M(n,r.context)}();this.renderPass=\\\"offscreen\\\";var c,h=[];this.depthRboNeedsClear=!0;for(var f=0;f<o.length;f++){var p=r.style._layers[o[f]];p.hasOffscreenPass()&&!p.isHidden(r.transform.zoom)&&(p.source!==(c&&c.id)&&(h=[],(c=r.style.sourceCaches[p.source])&&(h=c.getVisibleCoordinates()).reverse()),h.length&&r.renderLayer(r,c,p,h))}this.context.bindFramebuffer.set(null),this.context.clear({color:e.showOverdrawInspector?A.black:A.transparent,depth:1}),this._showOverdrawInspector=e.showOverdrawInspector,this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\\\"opaque\\\";var d,g=[];for(this.currentLayer=o.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var v=r.style._layers[o[r.currentLayer]];v.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[v.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,v,g)}this.renderPass=\\\"translucent\\\";var m,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<o.length;this.currentLayer++){var x=r.style._layers[o[r.currentLayer]];x.source!==(m&&m.id)&&(y=[],(m=r.style.sourceCaches[x.source])&&(r.clearStencil(),y=m.getVisibleCoordinates(),m.getSource().isTileClipped&&r._renderTileClippingMasks(y)),y.reverse()),r.renderLayer(r,m,x,y)}if(this.options.showTileBoundaries){var b=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];b&&k.debug(this,b,b.getVisibleCoordinates())}},T.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},T.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\\\"background\\\"===r.type||n.length)&&(this.id=r.id,k[r.type](t,e,r,n))},T.prototype.translatePosMatrix=function(t,e,r,n,a){if(!r[0]&&!r[1])return t;var o=a?\\\"map\\\"===n?this.transform.angle:0:\\\"viewport\\\"===n?-this.transform.angle:0;if(o){var l=Math.sin(o),u=Math.cos(o);r=[r[0]*u-r[1]*l,r[0]*l+r[1]*u]}var c=[a?r[0]:s(e,r[0],this.transform.zoom),a?r[1]:s(e,r[1],this.transform.zoom),0],h=new Float32Array(16);return i.translate(h,t,c),h},T.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},T.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\\\"\\\"+t+(e.cacheKey||\\\"\\\")+(this._showOverdrawInspector?\\\"/overdraw\\\":\\\"\\\");return this.cache[r]||(this.cache[r]=new y(this.context,m[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../data/program_configuration\\\":58,\\\"../data/raster_bounds_attributes\\\":59,\\\"../gl/color_mode\\\":65,\\\"../gl/context\\\":66,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../shaders\\\":97,\\\"../source/pixels_to_tile_units\\\":104,\\\"../source/source_cache\\\":111,\\\"../style-spec/util/color\\\":153,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"./draw_background\\\":74,\\\"./draw_circle\\\":75,\\\"./draw_debug\\\":77,\\\"./draw_fill\\\":78,\\\"./draw_fill_extrusion\\\":79,\\\"./draw_heatmap\\\":80,\\\"./draw_hillshade\\\":81,\\\"./draw_line\\\":82,\\\"./draw_raster\\\":83,\\\"./draw_symbol\\\":84,\\\"./program\\\":92,\\\"./texture\\\":93,\\\"./tile_mask\\\":94,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],91:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,u=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,u]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{\\\"../source/pixels_to_tile_units\\\":104}],92:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../shaders\\\"),a=(t(\\\"../data/program_configuration\\\").ProgramConfiguration,t(\\\"./vertex_array_object\\\")),o=(t(\\\"../gl/context\\\"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat(\\\"#define DEVICE_PIXEL_RATIO \\\"+n.devicePixelRatio.toFixed(1));a&&l.push(\\\"#define OVERDRAW_INSPECTOR;\\\");var u=l.concat(i.prelude.fragmentSource,e.fragmentSource).join(\\\"\\\\n\\\"),c=l.concat(i.prelude.vertexSource,e.vertexSource).join(\\\"\\\\n\\\"),h=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);var f=s.createShader(s.VERTEX_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);for(var p=r.layoutAttributes||[],d=0;d<p.length;d++)s.bindAttribLocation(o.program,d,p[d].name);s.linkProgram(this.program),this.numAttributes=s.getProgramParameter(this.program,s.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var g=0;g<this.numAttributes;g++){var v=s.getActiveAttrib(o.program,g);v&&(o.attributes[v.name]=s.getAttribLocation(o.program,v.name))}for(var m=s.getProgramParameter(this.program,s.ACTIVE_UNIFORMS),y=0;y<m;y++){var x=s.getActiveUniform(o.program,y);x&&(o.uniforms[x.name]=s.getUniformLocation(o.program,x.name))}});o.prototype.draw=function(t,e,r,n,i,o,s,l,u){for(var c,h=t.gl,f=(c={},c[h.LINES]=2,c[h.TRIANGLES]=3,c)[e],p=0,d=o.get();p<d.length;p+=1){var g=d[p],v=g.vaos||(g.vaos={});(v[r]||(v[r]=new a)).bind(t,this,n,s?s.getPaintVertexBuffers():[],i,g.vertexOffset,l,u),h.drawElements(e,g.primitiveLength*f,h.UNSIGNED_SHORT,g.primitiveOffset*f*2)}},e.exports=o},{\\\"../data/program_configuration\\\":58,\\\"../gl/context\\\":66,\\\"../shaders\\\":97,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95}],93:[function(t,e,r){var n=t(\\\"../util/window\\\"),i=n.HTMLImageElement,a=n.HTMLCanvasElement,o=n.HTMLVideoElement,s=n.ImageData,l=function(t,e,r,n){this.context=t;var i=e.width,a=e.height;this.size=[i,a],this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};l.prototype.update=function(t,e){var r=t.width,n=t.height;this.size=[r,n];var l=this.context,u=l.gl;u.bindTexture(u.TEXTURE_2D,this.texture),l.pixelStoreUnpack.set(1),this.format===u.RGBA&&!1!==e&&l.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof i||t instanceof a||t instanceof o||t instanceof s?u.texImage2D(u.TEXTURE_2D,0,this.format,this.format,u.UNSIGNED_BYTE,t):u.texImage2D(u.TEXTURE_2D,0,this.format,r,n,0,this.format,u.UNSIGNED_BYTE,t.data)},l.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),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)},l.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null},e.exports=l},{\\\"../util/window\\\":254}],94:[function(t,e,r){function n(t,e,r,i,a){for(var s=0;s<r.length;s++){var l=r[s];if(i.isLessThan(l.tileID))break;if(e.key===l.tileID.key)return;if(l.tileID.isChildOf(e)){for(var u=e.children(1/0),c=0;c<u.length;c++)n(t,u[c],r.slice(s),i,a);return}}var h=e.overscaledZ-t.overscaledZ,f=new o(h,e.canonical.x-(t.canonical.x<<h),e.canonical.y-(t.canonical.y<<h));a[f.key]=a[f.key]||f}var i=t(\\\"../source/tile_id\\\"),a=i.OverscaledTileID,o=i.CanonicalTileID;e.exports=function(t,e){for(var r=t.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<r.length;i++){var o={},s=r[i],l=r.slice(i+1);n(s.tileID.wrapped(),s.tileID,l,new a(0,s.tileID.wrap+1,0,0,0),o),s.setMask(o,e)}}},{\\\"../source/tile_id\\\":114}],95:[function(t,e,r){var n=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};n.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,u=0;!l&&u<n.length;u++)this.boundPaintVertexBuffers[u]!==n[u]&&(l=!0);var c=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||c?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},n.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,u=this.context,c=u.gl;if(u.extVertexArrayObject)this.vao&&this.destroy(),this.vao=u.extVertexArrayObject.createVertexArrayOES(),u.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=u.currentNumAttributes||0;for(var h=l;h<s;h++)c.disableVertexAttribArray(h)}e.enableAttributes(c,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(c,t);a&&a.enableAttributes(c,t),o&&o.enableAttributes(c,t),e.bind(),e.setVertexAttribPointers(c,t,i);for(var d=0,g=r;d<g.length;d+=1){var v=g[d];v.bind(),v.setVertexAttribPointers(c,t,i)}a&&(a.bind(),a.setVertexAttribPointers(c,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(c,t,i)),u.currentNumAttributes=l},n.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)},e.exports=n},{}],96:[function(t,e,r){var n=t(\\\"../util/util\\\");r.packUint8ToFloat=function(t,e){return 256*(t=n.clamp(Math.floor(t),0,255))+(e=n.clamp(Math.floor(e),0,255))}},{\\\"../util/util\\\":275}],97:[function(t,e,r){var n={prelude:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\\n// Unpack a pair of values that have been packed into a single float.\\\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\\\n// packed like so:\\\\n// packedValue = floor(input[0]) * 256 + input[1],\\\\nvec2 unpack_float(const float packedValue) {\\\\n    int packedIntValue = int(packedValue);\\\\n    int v0 = packedIntValue / 256;\\\\n    return vec2(v0, packedIntValue - v0 * 256);\\\\n}\\\\n\\\\nvec2 unpack_opacity(const float packedOpacity) {\\\\n    int intOpacity = int(packedOpacity) / 2;\\\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\\\n}\\\\n\\\\n// To minimize the number of attributes needed, we encode a 4-component\\\\n// color into a pair of floats (i.e. a vec2) as follows:\\\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\\\nvec4 decode_color(const vec2 encodedColor) {\\\\n    return vec4(\\\\n        unpack_float(encodedColor[0]) / 255.0,\\\\n        unpack_float(encodedColor[1]) / 255.0\\\\n    );\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\\\n    return mix(packedValue[0], packedValue[1], t);\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\\\n    return mix(minColor, maxColor, t);\\\\n}\\\\n\\\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\\\n// vec2 offset = mod(pixel_coord, size)\\\\n//\\\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\\\n//\\\\n// The pixel_coord is passed in as two 16 bit values:\\\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n//\\\\n// The offset is calculated in a series of steps that should preserve this precision:\\\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\\\n\\\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\\\n}\\\\n\\\"},background:{fragmentSource:\\\"uniform vec4 u_color;\\\\nuniform float u_opacity;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},backgroundPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\nuniform float u_opacity;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},circle:{fragmentSource:\\\"#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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    vec2 extrude = v_data.xy;\\\\n    float extrude_length = length(extrude);\\\\n\\\\n    lowp float antialiasblur = v_data.z;\\\\n    float antialiased_blur = -max(blur, antialiasblur);\\\\n\\\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\\\n\\\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\\\n        antialiased_blur,\\\\n        0.0,\\\\n        extrude_length - radius / (radius + stroke_width)\\\\n    );\\\\n\\\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform bool u_scale_with_map;\\\\nuniform bool u_pitch_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform highp float u_camera_to_center_distance;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec2 circle_center = floor(a_pos * 0.5);\\\\n    if (u_pitch_with_map) {\\\\n        vec2 corner_position = circle_center;\\\\n        if (u_scale_with_map) {\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\\\n        } else {\\\\n            // Pitching the circle with the map effectively scales it with the map\\\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\\\n            // whole circle based on the pitch scaling effect at its central point\\\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\\\n        }\\\\n\\\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\\\n    } else {\\\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\\\n\\\\n        if (u_scale_with_map) {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\\\n        } else {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\\\n        }\\\\n    }\\\\n\\\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\\\n    // to keep the blur at roughly 1px, the two are inversely related.\\\\n    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\\\n\\\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\\\n}\\\\n\\\"},clippingMask:{fragmentSource:\\\"void main() {\\\\n    gl_FragColor = vec4(1.0);\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},heatmap:{fragmentSource:\\\"#pragma mapbox: define highp float weight\\\\n\\\\nuniform highp float u_intensity;\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp float weight\\\\n\\\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\\\n\\\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#pragma mapbox: define highp float weight\\\\n#pragma mapbox: define mediump float radius\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform float u_extrude_scale;\\\\nuniform float u_opacity;\\\\nuniform float u_intensity;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Effective \\\\\\\"0\\\\\\\" in the kernel density texture to adjust the kernel size to;\\\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\\\n// for typical heatmap cases (assuming clustered source)\\\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main(void) {\\\\n    #pragma mapbox: initialize highp float weight\\\\n    #pragma mapbox: initialize mediump float radius\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\\\n    // it to produce the vertices of a square mesh framing the point feature\\\\n    // we're adding to the kernel density texture.  We'll also pass it as\\\\n    // a varying, so that the fragment shader can determine the distance of\\\\n    // each fragment from the point feature.\\\\n    // Before we do so, we need to scale it up sufficiently so that the\\\\n    // kernel falls effectively to zero at the edge of the mesh.\\\\n    // That is, we want to know S such that\\\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\\\n    // Which solves to:\\\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\\\n\\\\n    // Pass the varying in units of radius\\\\n    v_extrude = S * unscaled_extrude;\\\\n\\\\n    // Scale by radius and the zoom-based scale factor to produce actual\\\\n    // mesh position\\\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\\\n\\\\n    gl_Position = u_matrix * pos;\\\\n}\\\\n\\\"},heatmapTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform sampler2D u_color_ramp;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    float t = texture2D(u_image, v_pos).r;\\\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\\\n    gl_FragColor = color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},collisionBox:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        gl_FragColor *= .1;\\\\n    }\\\\n}\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n}\\\\n\\\"},collisionCircle:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        color *= .2;\\\\n    }\\\\n\\\\n    float extrude_scale_length = length(v_extrude_scale);\\\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\\\n    float stroke_width = 15.0 * extrude_scale_length;\\\\n    float radius = v_radius * extrude_scale_length;\\\\n\\\\n    float distance_to_edge = abs(extrude_length - radius);\\\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\\\n\\\\n    gl_FragColor = opacity_t * color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n\\\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\\\n\\\\n    v_extrude = a_extrude * padding_factor;\\\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\\\n}\\\\n\\\"},debug:{fragmentSource:\\\"uniform highp vec4 u_color;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fill:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_FragColor = color * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fillOutline:{fragmentSource:\\\"#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n    gl_FragColor = outline_color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillOutlinePattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    // find distance to outline for alpha interpolation\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},fillExtrusion:{fragmentSource:\\\"varying vec4 v_color;\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    gl_FragColor = v_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec4 v_color;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\\\n\\\\n    // Relative luminance (how dark/bright is the surface color?)\\\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\\\n\\\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\\\n\\\\n    // Add slight ambient lighting so no extrusions are totally black\\\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\\\n    color += ambientlight;\\\\n\\\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\\\n\\\\n    // Adjust directional so that\\\\n    // the range of values for highlight/shading is narrower\\\\n    // with lower light intensity\\\\n    // and with lighter/brighter surface colors\\\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\\\n\\\\n    // Add gradient along z axis of side surfaces\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\\\n    // with lower bounds adjusted to hue of light\\\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\\\n}\\\\n\\\"},fillExtrusionPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\\\n\\\\n    gl_FragColor = mixedColor * v_lighting;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\nuniform float u_height_factor;\\\\n\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\nvarying float v_directional;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n    float edgedistance = a_normal_ed.w;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n    float z = t > 0.0 ? height : base;\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\\\n\\\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\\\n        ? a_pos // extrusion top\\\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\\\n\\\\n    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, pos);\\\\n    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, pos);\\\\n\\\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\\\n\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\\\n}\\\\n\\\"},extrusionTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},hillshadePrepare:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#endif\\\\n\\\\nuniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\nuniform vec2 u_dimension;\\\\nuniform float u_zoom;\\\\n\\\\nfloat getElevation(vec2 coord, float bias) {\\\\n    // Convert encoded elevation value to meters\\\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\\\n}\\\\n\\\\nvoid main() {\\\\n    vec2 epsilon = 1.0 / u_dimension;\\\\n\\\\n    // queried pixels:\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | a | b | c |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | d | e | f |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | g | h | i |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n\\\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\\\n    float e = getElevation(v_pos, 0.0);\\\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\\\n\\\\n    // here we divide the x and y slopes by 8 * pixel size\\\\n    // where pixel size (aka meters/pixel) is:\\\\n    // circumference of the world / (pixels per tile * number of tiles)\\\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\\\n    // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\\\\n    // maxzoom of the tile source. here we use a=0.3 which works out to the\\\\n    // expression below. see nickidlugash's awesome breakdown for more info\\\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\\\n\\\\n    vec2 deriv = vec2(\\\\n        (c + f + f + i) - (a + d + d + g),\\\\n        (g + h + h + i) - (a + b + b + c)\\\\n    ) /  pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\\\\n\\\\n    gl_FragColor = clamp(vec4(\\\\n        deriv.x / 2.0 + 0.5,\\\\n        deriv.y / 2.0 + 0.5,\\\\n        1.0,\\\\n        1.0), 0.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\\\n}\\\\n\\\"},hillshade:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\n\\\\nuniform vec2 u_latrange;\\\\nuniform vec2 u_light;\\\\nuniform vec4 u_shadow;\\\\nuniform vec4 u_highlight;\\\\nuniform vec4 u_accent;\\\\n\\\\n#define PI 3.141592653589793\\\\n\\\\nvoid main() {\\\\n    vec4 pixel = texture2D(u_image, v_pos);\\\\n\\\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\\\n\\\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\\\n    // to account for mercator projection distortion. see #4807 for details\\\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\\\n\\\\n    float intensity = u_light.x;\\\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\\\n    float azimuth = u_light.y + PI;\\\\n\\\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\\\n    // the exponential interpolation function in the style spec:\\\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\\\n    // so that higher intensity values create more opaque hillshading.\\\\n    float base = 1.875 - intensity * 1.75;\\\\n    float maxValue = 0.5 * PI;\\\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\\\n\\\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\\\n    float accent = cos(scaledSlope);\\\\n    // We multiply both the accent and shade color by a clamped intensity value\\\\n    // so that intensities >= 0.5 do not additionally affect the color values\\\\n    // while intensity values < 0.5 make the overall color more transparent.\\\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = a_texture_pos / 8192.0;\\\\n}\\\\n\\\"},line:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_normal;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},linePattern:{fragmentSource:\\\"uniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_fade;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\\\n    float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\\\n    float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\\\n\\\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\\\n\\\\n    gl_FragColor = color * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_linesofar = a_linesofar;\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},lineSDF:{fragmentSource:\\\"\\\\nuniform sampler2D u_image;\\\\nuniform float u_sdfgamma;\\\\nuniform float u_mix;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\\\n    alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_patternscale_a;\\\\nuniform float u_tex_y_a;\\\\nuniform vec2 u_patternscale_b;\\\\nuniform float u_tex_y_b;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist =outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},raster:{fragmentSource:\\\"uniform float u_fade_t;\\\\nuniform float u_opacity;\\\\nuniform sampler2D u_image0;\\\\nuniform sampler2D u_image1;\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nuniform float u_brightness_low;\\\\nuniform float u_brightness_high;\\\\n\\\\nuniform float u_saturation_factor;\\\\nuniform float u_contrast_factor;\\\\nuniform vec3 u_spin_weights;\\\\n\\\\nvoid main() {\\\\n\\\\n    // read and cross-fade colors from the main and parent tiles\\\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\\\n    if (color0.a > 0.0) {\\\\n        color0.rgb = color0.rgb / color0.a;\\\\n    }\\\\n    if (color1.a > 0.0) {\\\\n        color1.rgb = color1.rgb / color1.a;\\\\n    }\\\\n    vec4 color = mix(color0, color1, u_fade_t);\\\\n    color.a *= u_opacity;\\\\n    vec3 rgb = color.rgb;\\\\n\\\\n    // spin\\\\n    rgb = vec3(\\\\n        dot(rgb, u_spin_weights.xyz),\\\\n        dot(rgb, u_spin_weights.zxy),\\\\n        dot(rgb, u_spin_weights.yzx));\\\\n\\\\n    // saturation\\\\n    float average = (color.r + color.g + color.b) / 3.0;\\\\n    rgb += (average - rgb) * u_saturation_factor;\\\\n\\\\n    // contrast\\\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\\\n\\\\n    // brightness\\\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\\\n\\\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_tl_parent;\\\\nuniform float u_scale_parent;\\\\nuniform float u_buffer_scale;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    // We are using Int16 for texture position coordinates to give us enough precision for\\\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\\\n    // so math for modifying either is consistent.\\\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\\\n}\\\\n\\\"},symbolIcon:{fragmentSource:\\\"uniform sampler2D u_texture;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    lowp float alpha = opacity * v_fade_opacity;\\\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform float u_fade_change;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n\\\\n    float size;\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // See comments in symbol_sdf.vertex\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // See comments in symbol_sdf.vertex\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n}\\\\n\\\"},symbolSDF:{fragmentSource:\\\"#define SDF_PX 8.0\\\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\\\n\\\\nuniform bool u_is_halo;\\\\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\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform highp float u_gamma_scale;\\\\nuniform bool u_is_text;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 tex = v_data0.xy;\\\\n    float gamma_scale = v_data1.x;\\\\n    float size = v_data1.y;\\\\n    float fade_opacity = v_data1[2];\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    lowp vec4 color = fill_color;\\\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\\\n    if (u_is_halo) {\\\\n        color = halo_color;\\\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\\\n    }\\\\n\\\\n    lowp float dist = texture2D(u_texture, tex).a;\\\\n    highp float gamma_scaled = gamma * gamma_scale;\\\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\n// contents of a_size vary based on the type of property value\\\\n// used for {text,icon}-size.\\\\n// For constants, a_size is disabled.\\\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\\\n// For composite functions:\\\\n// [ text-size(lowerZoomStop, feature),\\\\n//   text-size(upperZoomStop, feature) ]\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\n\\\\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\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform float u_fade_change;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n    float size;\\\\n\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // If the label is pitched with the map, layout is done in pitched space,\\\\n    // which makes labels in the distance smaller relative to viewport space.\\\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\\\n    // which makes labels in the distance larger relative to the features around\\\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\\\n        // space, project it, and measure its angle in projected space.\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n    float gamma_scale = gl_Position.w;\\\\n\\\\n    vec2 tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n\\\\n    v_data0 = vec2(tex.x, tex.y);\\\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\\\n}\\\\n\\\"}},i=/#pragma mapbox: ([\\\\w]+) ([\\\\w]+) ([\\\\w]+) ([\\\\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifdef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o=\\\"float\\\"===i?\\\"vec2\\\":\\\"vec4\\\";return r[a]?\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t(\\\"./image_source\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(\\\"error\\\",new Error(\\\"Canvas dimensions cannot be less than or equal to zero.\\\")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,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 i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];\\\"loaded\\\"!==l.state&&(l.state=\\\"loaded\\\",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"canvas\\\",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.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},e}(n);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/window\\\":254,\\\"./image_source\\\":102}],99:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/window\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../util/ajax\\\").ResourceType,l=t(\\\"../util/browser\\\"),u=function(t){function e(e,r,n,a){t.call(this),this.id=e,this.type=\\\"geojson\\\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this.dispatcher=n,this.setEventedParent(a),this._data=r.data,this._options=i.extend({},r),this._collectResourceTiming=r.collectResourceTiming,this._resourceTiming=[],void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type);var s=o/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*s,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*s,extent:o,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?Math.min(r.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:o,radius:(r.clusterRadius||50)*s,log:!1}},r.workerOptions)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(e){if(e)t.fire(\\\"error\\\",{error:e});else{var r={dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(\\\"data\\\",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(t){if(t)return e.fire(\\\"error\\\",{error:t});var r={dataType:\\\"source\\\",sourceDataType:\\\"content\\\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(\\\"data\\\",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;\\\"string\\\"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+\\\".loadData\\\",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||\\\"expired\\\"===t.state?\\\"loadTile\\\":\\\"reloadTile\\\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\\\"reloadTile\\\"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\\\"removeSource\\\",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=u},{\\\"../data/extent\\\":53,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/performance\\\"),o=t(\\\"geojson-rewind\\\"),s=t(\\\"./geojson_wrapper\\\"),l=t(\\\"vt-pbf\\\"),u=t(\\\"supercluster\\\"),c=t(\\\"geojson-vt\\\"),h=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if(\\\"object\\\"!=typeof i)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?u(t.superclusterOptions).load(i.features):c(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,e);else{if(\\\"string\\\"!=typeof t.data)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t(\\\"./vector_tile_worker_source\\\"));e.exports=h},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"./geojson_wrapper\\\":101,\\\"./vector_tile_worker_source\\\":116,\\\"geojson-rewind\\\":15,\\\"geojson-vt\\\":19,supercluster:32,\\\"vt-pbf\\\":34}],101:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.prototype.toGeoJSON,a=t(\\\"../data/extent\\\"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,\\\"id\\\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e<r.length;e+=1){var i=r[e];t.push([new n(i[0],i[1])])}return t}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],u=0,c=s[o];u<c.length;u+=1){var h=c[u];l.push(new n(h[0],h[1]))}a.push(l)}return a},o.prototype.toGeoJSON=function(t,e,r){return i.call(this,t,e,r)};var s=function(t){this.layers={_geojsonTileLayer:this},this.name=\\\"_geojsonTileLayer\\\",this.extent=a,this.length=t.length,this._features=t};s.prototype.feature=function(t){return new o(this._features[t])},e.exports=s},{\\\"../data/extent\\\":53,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],102:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"./tile_id\\\").CanonicalTileID,a=t(\\\"../geo/lng_lat\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/ajax\\\"),u=t(\\\"../util/browser\\\"),c=t(\\\"../data/extent\\\"),h=t(\\\"../data/array_types\\\").RasterBoundsArray,f=t(\\\"../data/raster_bounds_attributes\\\"),p=t(\\\"../render/vertex_array_object\\\"),d=t(\\\"../render/texture\\\"),g=function(t){function e(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\\\"image\\\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this.url=this.options.url,l.getImage(this.map._transformRequest(this.url,l.ResourceType.Image),function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.image=u.getImageData(r),t._finishLoading())})},e.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}))},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setCoordinates=function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(a.convert(t)).zoomTo(0)}),s=this.centerCoord=n.getCoordinatesCenter(r);s.column=Math.floor(s.column),s.row=Math.floor(s.row),this.tileID=new i(s.zoom,s.column,s.row),this.minzoom=this.maxzoom=s.zoom;var l=r.map(function(t){var e=t.zoomTo(s.zoom);return new o(Math.round((e.column-s.column)*c),Math.round((e.row-s.row)*c))});return this._boundsArray=new h,this._boundsArray.emplaceBack(l[0].x,l[0].y,0,0),this._boundsArray.emplaceBack(l[1].x,l[1].y,c,0),this._boundsArray.emplaceBack(l[3].x,l[3].y,0,c),this._boundsArray.emplaceBack(l[2].x,l[2].y,c,c),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}),this},e.prototype.prepare=function(){var t=this;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,f.members)),this.boundsVAO||(this.boundsVAO=new p),this.texture||(this.texture=new d(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.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))},e.prototype.serialize=function(){return{type:\\\"image\\\",url:this.options.url,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return!1},e}(s);e.exports=g},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/raster_bounds_attributes\\\":59,\\\"../geo/lng_lat\\\":62,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],103:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/mapbox\\\").normalizeSourceURL;e.exports=function(t,e,r){var s=function(t,e){if(t)return r(t);if(e){var i=n.pick(e,[\\\"tiles\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"attribution\\\",\\\"mapbox_logo\\\",\\\"bounds\\\"]);e.vector_layers&&(i.vectorLayers=e.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),r(null,i)}};t.url?i.getJSON(e(o(t.url),i.ResourceType.Source),s):a.frame(function(){return s(null,t)})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275}],104:[function(t,e,r){var n=t(\\\"../data/extent\\\");e.exports=function(t,e,r){return e*(n/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}},{\\\"../data/extent\\\":53}],105:[function(t,e,r){function n(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}r.rendered=function(t,e,r,i,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0,h=l;c<h.length;c+=1){var f=h[c];u.push({wrappedTileID:f.tileID.wrapped().key,queryResults:f.tile.queryRenderedFeatures(e,f.queryGeometry,f.scale,i,o,t.id,s)})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var u in o)for(var c=o[u],h=l[u]=l[u]||{},f=e[u]=e[u]||[],p=0,d=c;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g.feature))}}return e}(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}},{}],106:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/util\\\"),a=(t(\\\"../util/evented\\\"),t(\\\"../util/mapbox\\\").normalizeTileURL),o=t(\\\"../util/browser\\\"),s=t(\\\"./tile_id\\\").OverscaledTileID,l=function(t){function e(e,r,n,a){t.call(this,e,r,n,a),this.type=\\\"raster-dem\\\",this.maxzoom=22,this._options=i.extend({},r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.serialize=function(){return{type:\\\"raster-dem\\\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds}},e.prototype.loadTile=function(t,e){var r=a(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._transformRequest(r,n.ResourceType.Tile),function(r,n){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(r)t.state=\\\"errored\\\",e(r);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=o.getImageData(n),a={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:i};t.workerID&&\\\"expired\\\"!==t.state||(t.workerID=this.dispatcher.send(\\\"loadDEMTile\\\",a,function(r,n){r&&(t.state=\\\"errored\\\",e(r)),n&&(t.dem=n,t.needsHillshadePrepare=!0,t.state=\\\"loaded\\\",e(null))}.bind(this)))}}.bind(this)),t.neighboringTiles=this._getNeighboringTiles(t.tileID)},e.prototype._getNeighboringTiles=function(t){var e=t.canonical,r=Math.pow(2,e.z),n=(e.x-1+r)%r,i=0===e.x?t.wrap-1:t.wrap,a=(e.x+1+r)%r,o=e.x+1===r?t.wrap+1:t.wrap,l={};return l[new s(t.overscaledZ,i,e.z,n,e.y).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y).key]={backfilled:!1},e.y>0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+1<r&&(l[new s(t.overscaledZ,i,e.z,n,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y+1).key]={backfilled:!1}),l},e.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\\\",this.dispatcher.send(\\\"removeDEMTile\\\",{uid:t.uid,source:this.id},void 0,t.workerID)},e}(t(\\\"./raster_tile_source\\\"));e.exports=l},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./raster_tile_source\\\":108,\\\"./tile_id\\\":114}],107:[function(t,e,r){var n=t(\\\"../data/dem_data\\\").DEMData,i=function(){this.loading={},this.loaded={}};i.prototype.loadTile=function(t,e){var r=t.source,i=t.uid;this.loading[r]||(this.loading[r]={});var a=new n(i);this.loading[r][i]=a,a.loadFromImage(t.rawImageData),delete this.loading[r][i],this.loaded[r]=this.loaded[r]||{},this.loaded[r][i]=a,e(null,a)},i.prototype.removeTile=function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},e.exports=i},{\\\"../data/dem_data\\\":52}],108:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./load_tilejson\\\"),s=t(\\\"../util/mapbox\\\").normalizeTileURL,l=t(\\\"./tile_bounds\\\"),u=t(\\\"../render/texture\\\"),c=function(t){function e(e,r,i,a){t.call(this),this.id=e,this.dispatcher=i,this.setEventedParent(a),this.type=\\\"raster\\\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\\\"xyz\\\",this.tileSize=512,this._loaded=!1,this._options=n.extend({},r),n.extend(this,n.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"]))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),o(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new l(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return n.extend({},this._options)},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.loadTile=function(t,e){var r=this,n=s(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=i.getImage(this.map._transformRequest(n,i.ResourceType.Tile),function(n,i){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(n)t.state=\\\"errored\\\",e(n);else if(i){r.map._refreshExpiredTiles&&t.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=r.map.painter.context,o=a.gl;t.texture=r.map.painter.getTileTexture(i.width),t.texture?(t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,i)):(t.texture=new u(a,i,o.RGBA),t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),o.generateMipmap(o.TEXTURE_2D),t.state=\\\"loaded\\\",e(null)}})},e.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},e.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},e.prototype.hasTransition=function(){return!1},e}(a);e.exports=c},{\\\"../render/texture\\\":93,\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],109:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/window\\\"),o=!1,s=null;e.exports.evented=new i,e.exports.registerForPluginAvailability=function(t){return s?t({pluginBlobURL:s,errorCallback:e.exports.errorCallback}):e.exports.evented.once(\\\"pluginAvailable\\\",t),t},e.exports.createBlobURL=function(t){return a.URL.createObjectURL(new a.Blob([t.data],{type:\\\"text/javascript\\\"}))},e.exports.clearRTLTextPlugin=function(){o=!1,s=null},e.exports.setRTLTextPlugin=function(t,r){if(o)throw new Error(\\\"setRTLTextPlugin cannot be called multiple times.\\\");o=!0,e.exports.errorCallback=r,n.getArrayBuffer({url:t},function(t,n){t?r(t):n&&(s=e.exports.createBlobURL(n),e.exports.evented.fire(\\\"pluginAvailable\\\",{pluginBlobURL:s,errorCallback:r}))})},e.exports.applyArabicShaping=null,e.exports.processBidirectionalText=null},{\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/window\\\":254}],110:[function(t,e,r){var n=t(\\\"../util/util\\\"),i={vector:t(\\\"../source/vector_tile_source\\\"),raster:t(\\\"../source/raster_tile_source\\\"),\\\"raster-dem\\\":t(\\\"../source/raster_dem_tile_source\\\"),geojson:t(\\\"../source/geojson_source\\\"),video:t(\\\"../source/video_source\\\"),image:t(\\\"../source/image_source\\\"),canvas:t(\\\"../source/canvas_source\\\")};r.create=function(t,e,r,a){var o=new i[e.type](t,e,r,a);if(o.id!==t)throw new Error(\\\"Expected Source id to be \\\"+t+\\\" instead of \\\"+o.id);return n.bindAll([\\\"load\\\",\\\"abort\\\",\\\"unload\\\",\\\"serialize\\\",\\\"prepare\\\"],o),o},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\\\"../source/canvas_source\\\":98,\\\"../source/geojson_source\\\":99,\\\"../source/image_source\\\":102,\\\"../source/raster_dem_tile_source\\\":106,\\\"../source/raster_tile_source\\\":108,\\\"../source/vector_tile_source\\\":115,\\\"../source/video_source\\\":117,\\\"../util/util\\\":275}],111:[function(t,e,r){function n(t,e){var r=e.zoomTo(t.canonical.z);return new f((r.column-(t.canonical.x+t.wrap*Math.pow(2,t.canonical.z)))*h,(r.row-t.canonical.y)*h)}function i(t){return\\\"raster\\\"===t||\\\"image\\\"===t||\\\"video\\\"===t}var a=t(\\\"./source\\\").create,o=t(\\\"./tile\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/lru_cache\\\"),u=t(\\\"../geo/coordinate\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../data/extent\\\"),f=(t(\\\"../gl/context\\\"),t(\\\"@mapbox/point-geometry\\\")),p=t(\\\"../util/browser\\\"),d=t(\\\"./tile_id\\\").OverscaledTileID,g=function(t){function e(e,r,n){var i=this;t.call(this),this.id=e,this.dispatcher=n,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=a(e,r,n,this),this._tiles={},this._cache=new l(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},e.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},e.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\\\"loaded\\\"!==e.state&&\\\"errored\\\"!==e.state)return!1}return!0},e.prototype.getSource=function(){return this._source},e.prototype.pause=function(){this._paused=!0},e.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)}},e.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},e.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},e.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},e.prototype.serialize=function(){return this._source.serialize()},e.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},e.prototype.getIds=function(){var t=this;return Object.keys(this._tiles).map(Number).sort(function(e,r){var n=t._tiles[e].tileID,i=t._tiles[r].tileID,a=new f(n.canonical.x,n.canonical.y).rotate(t.transform.angle),o=new f(i.canonical.x,i.canonical.y).rotate(t.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})},e.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},e.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},e.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},e.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._resetCache(),this._tiles)this._reloadTile(t,\\\"reloading\\\")},e.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)))},e.prototype._tileLoaded=function(t,e,r,n){if(n)return t.state=\\\"errored\\\",void(404!==n.status?this._source.fire(\\\"error\\\",{tile:t,error:n}):this.update(this.transform));t.timeAdded=p.now(),\\\"expired\\\"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),\\\"raster-dem\\\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._source.fire(\\\"data\\\",{dataType:\\\"source\\\",tile:t,coord:t.tileID}),this.map&&(this.map.painter.tileExtentVAO.vao=null)},e.prototype._backfillDEM=function(t){function e(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;n<r.length;n++){var i=r[n];if(t.neighboringTiles&&t.neighboringTiles[i]){var a=this.getTileByID(i);e(t,a),e(a,t)}}},e.prototype.getTile=function(t){return this.getTileByID(t.key)},e.prototype.getTileByID=function(t){return this._tiles[t]},e.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},e.prototype._findLoadedChildren=function(t,e,r){var n=this,i=!1;for(var a in n._tiles){var o=n._tiles[a];if(!(r[a]||!o.hasData()||o.tileID.overscaledZ<=t.overscaledZ||o.tileID.overscaledZ>e)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\\\"number\\\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(n,o),h={};if(i(this._source.type))for(var f=Object.keys(u),g=0;g<f.length;g++){var v=f[g],m=u[v],y=r._tiles[v];if(y&&(void 0===y.fadeEndTime||y.fadeEndTime>=p.now())){r._findLoadedChildren(m,l,u)&&(u[v]=m);var x=r.findLoadedParent(m,s,h);x&&r._addTile(x.tileID)}}for(a in h)u[a]||(r._coveredTiles[a]=!0);for(a in h)u[a]=h[a];for(var b=c.keysDifference(this._tiles,u),_=0;_<b.length;_++)r._removeTile(b[_])}},e.prototype._updateRetainedTiles=function(t,r){for(var n=this,i={},a={},o=Math.max(r-e.maxOverzooming,this._source.minzoom),s=Math.max(r+e.maxUnderzooming,this._source.minzoom),l=0;l<t.length;l++){var u=t[l],c=n._addTile(u),h=!1;if(c.hasData())i[u.key]=u;else{h=c.wasRequested(),i[u.key]=u;var f=!0;if(r+1>n._source.maxzoom){var p=u.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:f=!1}else{n._findLoadedChildren(u,s,i);for(var g=u.children(n._source.maxzoom),v=0;v<g.length;v++)if(!i[g[v].key]){f=!1;break}}if(!f)for(var m=u.overscaledZ-1;m>=o;--m){var y=u.scaledTo(m);if(a[y.key])break;if(a[y.key]=!0,!(c=n.getTile(y))&&h&&(c=n._addTile(y)),c&&(i[y.key]=y,h=c.wasRequested(),c.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(\\\"dataloading\\\",{tile:e,coord:e.tileID,dataType:\\\"source\\\"}),e):null},e.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))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,c=0;c<t.length;c++){var f=t[c];i=Math.min(i,f.column),a=Math.min(a,f.row),o=Math.max(o,f.column),s=Math.max(s,f.row)}for(var p=0;p<r.length;p++){var d=this._tiles[r[p]],g=d.tileID,v=[n(g,new u(i,a,l)),n(g,new u(o,s,l))];if(v[0].x<h&&v[0].y<h&&v[1].x>=0&&v[1].y>=0){for(var m=[],y=0;y<t.length;y++)m.push(n(g,t[y]));e.push({tile:d,tileID:g,queryGeometry:[m],scale:Math.pow(2,this.transform.zoom-d.tileID.overscaledZ)})}}return e},e.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},e.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(i(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/context\\\":66,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/lru_cache\\\":266,\\\"../util/util\\\":275,\\\"./source\\\":110,\\\"./tile\\\":112,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],112:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../data/bucket\\\").deserialize,a=(t(\\\"../data/feature_index\\\"),t(\\\"@mapbox/vector-tile\\\")),o=t(\\\"pbf\\\"),s=t(\\\"../util/vectortile_to_geojson\\\"),l=t(\\\"../style-spec/feature_filter\\\"),u=(t(\\\"../symbol/collision_index\\\"),t(\\\"../data/bucket/symbol_bucket\\\")),c=t(\\\"../data/array_types\\\"),h=c.RasterBoundsArray,f=c.CollisionBoxArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/extent\\\"),g=t(\\\"@mapbox/point-geometry\\\"),v=t(\\\"../render/texture\\\"),m=t(\\\"../data/segment\\\").SegmentVector,y=t(\\\"../data/index_array_type\\\").TriangleIndexArray,x=t(\\\"../util/browser\\\"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state=\\\"loading\\\"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<x.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},b.prototype.wasRequested=function(){return\\\"errored\\\"===this.state||\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state},b.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\\\"loaded\\\",t){if(t.rawTileData&&(this.rawTileData=t.rawTileData),this.collisionBoxArray=t.collisionBoxArray,this.featureIndex=t.featureIndex,this.featureIndex.rawTileData=this.rawTileData,this.buckets=i(t.buckets,e.style),r)for(var n in this.buckets){var a=this.buckets[n];a instanceof u&&(a.justReloaded=!0)}t.iconAtlasImage&&(this.iconAtlasImage=t.iconAtlasImage),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new f},b.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.collisionBoxArray=null,this.featureIndex=null,this.state=\\\"unloaded\\\"},b.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\\\"unloaded\\\"},b.prototype.getBucket=function(t){return this.buckets[t.id]},b.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new v(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new v(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},b.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){if(!this.featureIndex||!this.collisionBoxArray)return{};var s=0,l={};for(var c in t){var h=this.getBucket(t[c]);h&&(s=Math.max(s,t[c].queryRadius(h)),h instanceof u&&void 0!==h.bucketInstanceId&&(l[h.bucketInstanceId]=!0))}return this.featureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,bearing:i,params:n,additionalRadius:s,collisionBoxArray:this.collisionBoxArray,sourceID:a,collisionIndex:o,bucketInstanceIds:l},t)},b.prototype.querySourceFeatures=function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new a.VectorTile(new o(this.rawTileData)).layers);var r=e?e.sourceLayer:\\\"\\\",n=this.vtLayers._geojsonTileLayer||this.vtLayers[r];if(n)for(var i=l(e&&e.filter),u={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},c=0;c<n.length;c++){var h=n.feature(c);if(i({zoom:this.tileID.overscaledZ},h)){var f=new s(h,u.z,u.x,u.y);f.tile=u,t.push(f)}}}},b.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},b.prototype.setMask=function(t,e){if(!n.deepEqual(this.mask,t)&&(this.mask=t,this.clearMask(),!n.deepEqual(t,{0:!0}))){var r=new h,i=new y;this.segments=new m,this.segments.prepareSegment(0,r,i);for(var a=Object.keys(t),o=0;o<a.length;o++){var s=t[a[o]],l=d>>s.z,u=new g(s.x*l,s.y*l),c=new g(u.x+l,u.y+l),f=this.segments.prepareSegment(4,r,i);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,c.y,c.x,c.y);var v=f.vertexLength;i.emplaceBack(v,v+1,v+2),i.emplaceBack(v+1,v+2,v+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state||\\\"expired\\\"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(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 i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var o=this.expirationTime-e;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\\\"expired\\\"):this.expiredRequestCount=0}},b.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)},e.exports=b},{\\\"../data/array_types\\\":39,\\\"../data/bucket\\\":40,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../data/feature_index\\\":54,\\\"../data/index_array_type\\\":55,\\\"../data/raster_bounds_attributes\\\":59,\\\"../data/segment\\\":60,\\\"../render/texture\\\":93,\\\"../style-spec/feature_filter\\\":148,\\\"../symbol/collision_index\\\":217,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,pbf:30}],113:[function(t,e,r){var n=t(\\\"../geo/lng_lat_bounds\\\"),i=t(\\\"../util/util\\\").clamp,a=function(t,e,r){this.bounds=n.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};a.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]},a.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},a.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},a.prototype.latY=function(t,e){var r=i(Math.sin(Math.PI/180*t),-.9999,.9999),n=Math.pow(2,e)/(2*Math.PI);return Math.pow(2,e-1)+.5*Math.log((1+r)/(1-r))*-n},e.exports=a},{\\\"../geo/lng_lat_bounds\\\":63,\\\"../util/util\\\":275}],114:[function(t,e,r){function n(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}var i=t(\\\"@mapbox/whoots-js\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"../geo/coordinate\\\"),s=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=n(0,t,e,r)};s.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},s.prototype.url=function(t,e){var r=i.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\\\"\\\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(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}\\\",n).replace(\\\"{bbox-epsg-3857}\\\",r)};var l=function(t,e){this.wrap=t,this.canonical=e,this.key=n(t,e.z,e.x,e.y)},u=function(t,e,r,i,a){this.overscaledZ=t,this.wrap=e,this.canonical=new s(r,+i,+a),this.key=n(e,t,i,a)};u.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new u(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new u(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},u.prototype.isChildOf=function(t){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},u.prototype.children=function(t){if(this.overscaledZ>=t)return[new u(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 u(e,this.wrap,e,r,n),new u(e,this.wrap,e,r+1,n),new u(e,this.wrap,e,r,n+1),new u(e,this.wrap,e,r+1,n+1)]},u.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))},u.prototype.wrapped=function(){return new u(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},u.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},u.prototype.toUnwrapped=function(){return new l(this.wrap,this.canonical)},u.prototype.toString=function(){return this.overscaledZ+\\\"/\\\"+this.canonical.x+\\\"/\\\"+this.canonical.y},u.prototype.toCoordinate=function(){return new o(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},a(\\\"CanonicalTileID\\\",s),a(\\\"OverscaledTileID\\\",u,{omit:[\\\"posMatrix\\\"]}),e.exports={CanonicalTileID:s,OverscaledTileID:u,UnwrappedTileID:l}},{\\\"../geo/coordinate\\\":61,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/whoots-js\\\":12}],115:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"./load_tilejson\\\"),o=t(\\\"../util/mapbox\\\").normalizeTileURL,s=t(\\\"./tile_bounds\\\"),l=t(\\\"../util/ajax\\\").ResourceType,u=t(\\\"../util/browser\\\"),c=function(t){function e(e,r,n,a){if(t.call(this),this.id=e,this.dispatcher=n,this.type=\\\"vector\\\",this.minzoom=0,this.maxzoom=22,this.scheme=\\\"xyz\\\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,i.extend(this,i.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),this._options=i.extend({type:\\\"vector\\\"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error(\\\"vector tile sources must have a tileSize of 512\\\");this.setEventedParent(a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),a(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(i.extend(t,r),r.bounds&&(t.tileBounds=new s(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return i.extend({},this._options)},e.prototype.loadTile=function(t,e){function r(r,n){return t.aborted?e(null):r?e(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var n=t.tileID.overscaleFactor(),i=o(t.tileID.canonical.url(this.tiles,this.scheme),this.url),a={request:this.map._transformRequest(i,l.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*n,type:this.type,source:this.id,pixelRatio:u.devicePixelRatio,overscaling:n,showCollisionBoxes:this.map.showCollisionBoxes};a.request.collectResourceTiming=this._collectResourceTiming,void 0===t.workerID||\\\"expired\\\"===t.state?t.workerID=this.dispatcher.send(\\\"loadTile\\\",a,r.bind(this)):\\\"loading\\\"===t.state?t.reloadCallback=e:this.dispatcher.send(\\\"reloadTile\\\",a,r.bind(this),t.workerID)},e.prototype.abortTile=function(t){this.dispatcher.send(\\\"abortTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],116:[function(t,e,r){function n(t,e){var r=i.getArrayBuffer(t.request,function(t,r){t?e(t):r&&e(null,{vectorTile:new a.VectorTile(new o(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires})});return function(){r.abort(),e()}}var i=t(\\\"../util/ajax\\\"),a=t(\\\"@mapbox/vector-tile\\\"),o=t(\\\"pbf\\\"),s=t(\\\"./worker_tile\\\"),l=t(\\\"../util/util\\\"),u=t(\\\"../util/performance\\\"),c=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||n,this.loading={},this.loaded={}};c.prototype.loadTile=function(t,e){var r=this,n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,function(o,s){if(delete r.loading[n][i],o||!s)return e(o);var c=s.rawData,h={};s.expires&&(h.expires=s.expires),s.cacheControl&&(h.cacheControl=s.cacheControl);var f={};if(t.request&&t.request.collectResourceTiming){var p=u.getEntriesByName(t.request.url);p&&(f.resourceTiming=JSON.parse(JSON.stringify(p)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,r.layerIndex,r.actor,function(t,r){if(t||!r)return e(t);e(null,l.extend({rawTileData:c.slice(0)},r,h,f))}),r.loaded[n]=r.loaded[n]||{},r.loaded[n][i]=a})},c.prototype.reloadTile=function(t,e){var r=this.loaded[t.source],n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes,\\\"parsing\\\"===a.status?a.reloadCallback=e:\\\"done\\\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,function(t,r){if(this.reloadCallback){var n=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,n)}e(t,r)}.bind(a))}},c.prototype.abortTile=function(t,e){var r=this.loading[t.source],n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},c.prototype.removeTile=function(t,e){var r=this.loaded[t.source],n=t.uid;r&&r[n]&&delete r[n],e()},e.exports=c},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"../util/util\\\":275,\\\"./worker_tile\\\":119,\\\"@mapbox/vector-tile\\\":8,pbf:30}],117:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"./image_source\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.roundZoom=!0,this.type=\\\"video\\\",this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,n.getVideo(e.urls,function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener(\\\"playing\\\",function(){t.map._rerender()}),t.map&&t.video.play(),t._finishLoading())})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){var t=this;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,a.members)),this.boundsVAO||(this.boundsVAO=new o),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 s(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"video\\\",urls:this.urls,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this.video&&!this.video.paused},e}(i);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"./image_source\\\":102}],118:[function(t,e,r){var n=t(\\\"../util/actor\\\"),i=t(\\\"../style/style_layer_index\\\"),a=t(\\\"./vector_tile_worker_source\\\"),o=t(\\\"./raster_dem_tile_worker_source\\\"),s=t(\\\"./geojson_worker_source\\\"),l=t(\\\"./rtl_text_plugin\\\"),u=function(t){var e=this;this.self=t,this.actor=new n(t,this),this.layerIndexes={},this.workerSourceTypes={vector:a,geojson:s},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,r){if(e.workerSourceTypes[t])throw new Error('Worker source with name \\\"'+t+'\\\" already registered.');e.workerSourceTypes[t]=r},this.self.registerRTLTextPlugin=function(t){if(l.applyArabicShaping||l.processBidirectionalText)throw new Error(\\\"RTL text plugin already registered.\\\");l.applyArabicShaping=t.applyArabicShaping,l.processBidirectionalText=t.processBidirectionalText}};u.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},u.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},u.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type).loadTile(e,r)},u.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t).loadTile(e,r)},u.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type).reloadTile(e,r)},u.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type).abortTile(e,r)},u.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type).removeTile(e,r)},u.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t).removeTile(e)},u.prototype.removeSource=function(t,e,r){var n=this.getWorkerSource(t,e.type);void 0!==n.removeSource?n.removeSource(e,r):r()},u.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t)}},u.prototype.loadRTLTextPlugin=function(t,e,r){try{l.applyArabicShaping||l.processBidirectionalText||(this.self.importScripts(e),l.applyArabicShaping&&l.processBidirectionalText||r(new Error(\\\"RTL Text Plugin failed to import scripts from \\\"+e)))}catch(t){r(t)}},u.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new i),e},u.prototype.getWorkerSource=function(t,e){var r=this;if(this.workerSources[t]||(this.workerSources[t]={}),!this.workerSources[t][e]){var n={send:function(e,n,i){r.actor.send(e,n,i,t)}};this.workerSources[t][e]=new this.workerSourceTypes[e](n,this.getLayerIndex(t))}return this.workerSources[t][e]},u.prototype.getDEMWorkerSource=function(t){return this.demWorkerSources[t]||(this.demWorkerSources[t]=new o),this.demWorkerSources[t]},e.exports=function(t){return new u(t)}},{\\\"../style/style_layer_index\\\":210,\\\"../util/actor\\\":250,\\\"./geojson_worker_source\\\":100,\\\"./raster_dem_tile_worker_source\\\":107,\\\"./rtl_text_plugin\\\":109,\\\"./vector_tile_worker_source\\\":116}],119:[function(t,e,r){function n(t,e){for(var r=new f(e),n=0,i=t;n<i.length;n+=1)i[n].recalculate(r)}var i=t(\\\"../data/feature_index\\\"),a=t(\\\"../symbol/symbol_layout\\\").performSymbolLayout,o=t(\\\"../data/array_types\\\").CollisionBoxArray,s=t(\\\"../util/dictionary_coder\\\"),l=t(\\\"../data/bucket/symbol_bucket\\\"),u=t(\\\"../util/util\\\"),c=t(\\\"../render/image_atlas\\\").makeImageAtlas,h=t(\\\"../render/glyph_atlas\\\").makeGlyphAtlas,f=t(\\\"../style/evaluation_parameters\\\"),p=t(\\\"./tile_id\\\").OverscaledTileID,d=function(t){this.tileID=new p(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming};d.prototype.parse=function(t,e,r,f){function p(){if(L)return f(L);if(z&&P){var t=h(z),e=c(P);for(var r in m){var i=m[r];i instanceof l&&(n(i.layers,this.zoom),a(i,z,t.positions,P,e.positions,this.showCollisionBoxes))}this.status=\\\"done\\\",f(null,{buckets:u.values(m).filter(function(t){return!t.isEmpty()}),featureIndex:v,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,iconAtlasImage:e.image})}}var d=this;this.status=\\\"parsing\\\",this.data=t,this.collisionBoxArray=new o;var g=new s(Object.keys(t.layers).sort()),v=new i(this.tileID,this.overscaling);v.bucketLayerIDs=[];var m={},y={featureIndex:v,iconDependencies:{},glyphDependencies:{}},x=e.familiesBySource[this.source];for(var b in x){var _=t.layers[b];if(_){1===_.version&&u.warnOnce('Vector tile source \\\"'+d.source+'\\\" layer \\\"'+b+'\\\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=g.encode(b),M=[],A=0;A<_.length;A++){var k=_.feature(A);M.push({feature:k,index:A,sourceLayerIndex:w})}for(var T=0,S=x[b];T<S.length;T+=1){var E=S[T],C=E[0];C.minzoom&&d.zoom<Math.floor(C.minzoom)||C.maxzoom&&d.zoom>=C.maxzoom||\\\"none\\\"===C.visibility||(n(E,d.zoom),(m[C.id]=C.createBucket({index:v.bucketLayerIDs.length,layers:E,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(M,y),v.bucketLayerIDs.push(E.map(function(t){return t.id})))}}}var L,z,P,I=u.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(I).length?r.send(\\\"getGlyphs\\\",{uid:this.uid,stacks:I},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var D=Object.keys(y.iconDependencies);D.length?r.send(\\\"getImages\\\",{icons:D},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{\\\"../data/array_types\\\":39,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/feature_index\\\":54,\\\"../render/glyph_atlas\\\":85,\\\"../render/image_atlas\\\":87,\\\"../style/evaluation_parameters\\\":182,\\\"../symbol/symbol_layout\\\":227,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"./tile_id\\\":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)\\\"ref\\\"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t(\\\"./util/ref_properties\\\");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var i=0;i<t.length;i++)\\\"ref\\\"in t[i]&&(t[i]=n(t[i],e[t[i].ref]));return t}},{\\\"./util/ref_properties\\\":159}],121:[function(t,e,r){function n(t,e,r){r.push({command:h.addSource,args:[t,e[t]]})}function i(t,e,r){e.push({command:h.removeSource,args:[t]}),r[t]=!0}function a(t,e,r,a){i(t,r,a),n(t,e,r)}function o(t,e,r){var n;for(n in t[r])if(t[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!c(t[r][n],e[r][n]))return!1;for(n in e[r])if(e[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!c(t[r][n],e[r][n]))return!1;return!0}function s(t,e,r,n,i,a){var o;for(o in t=t||{},e=e||{},t)t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}));for(o in e)e.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}))}function l(t){return t.id}function u(t,e){return t[e.id]=e,t}var c=t(\\\"./util/deep_equal\\\"),h={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\\\"};e.exports=function(t,e){if(!t)return[{command:h.setStyle,args:[e]}];var r=[];try{if(!c(t.version,e.version))return[{command:h.setStyle,args:[e]}];c(t.center,e.center)||r.push({command:h.setCenter,args:[e.center]}),c(t.zoom,e.zoom)||r.push({command:h.setZoom,args:[e.zoom]}),c(t.bearing,e.bearing)||r.push({command:h.setBearing,args:[e.bearing]}),c(t.pitch,e.pitch)||r.push({command:h.setPitch,args:[e.pitch]}),c(t.sprite,e.sprite)||r.push({command:h.setSprite,args:[e.sprite]}),c(t.glyphs,e.glyphs)||r.push({command:h.setGlyphs,args:[e.glyphs]}),c(t.transition,e.transition)||r.push({command:h.setTransition,args:[e.transition]}),c(t.light,e.light)||r.push({command:h.setLight,args:[e.light]});var f={},p=[];!function(t,e,r,s){var l;for(l in t=t||{},e=e||{},t)t.hasOwnProperty(l)&&(e.hasOwnProperty(l)||i(l,r,s));for(l in e)e.hasOwnProperty(l)&&(t.hasOwnProperty(l)?c(t[l],e[l])||(\\\"geojson\\\"===t[l].type&&\\\"geojson\\\"===e[l].type&&o(t,e,l)?r.push({command:h.setGeoJSONSourceData,args:[l,e[l].data]}):a(l,e,r,s)):n(l,e,r))}(t.sources,e.sources,p,f);var d=[];t.layers&&t.layers.forEach(function(t){f[t.source]?r.push({command:h.removeLayer,args:[t.id]}):d.push(t)}),r=r.concat(p),function(t,e,r){t=t||[],e=e||[];var n,i,a,o,f,p,d,g=t.map(l),v=e.map(l),m=t.reduce(u,{}),y=e.reduce(u,{}),x=g.slice(),b=Object.create(null);for(n=0,i=0;n<g.length;n++)a=g[n],y.hasOwnProperty(a)?i++:(r.push({command:h.removeLayer,args:[a]}),x.splice(x.indexOf(a,i),1));for(n=0,i=0;n<v.length;n++)a=v[v.length-1-n],x[x.length-1-n]!==a&&(m.hasOwnProperty(a)?(r.push({command:h.removeLayer,args:[a]}),x.splice(x.lastIndexOf(a,x.length-i),1)):i++,p=x[x.length-n],r.push({command:h.addLayer,args:[y[a],p]}),x.splice(x.length-n,0,a),b[a]=!0);for(n=0;n<v.length;n++)if(o=m[a=v[n]],f=y[a],!b[a]&&!c(o,f))if(c(o.source,f.source)&&c(o[\\\"source-layer\\\"],f[\\\"source-layer\\\"])&&c(o.type,f.type)){for(d in s(o.layout,f.layout,r,a,null,h.setLayoutProperty),s(o.paint,f.paint,r,a,null,h.setPaintProperty),c(o.filter,f.filter)||r.push({command:h.setFilter,args:[a,f.filter]}),c(o.minzoom,f.minzoom)&&c(o.maxzoom,f.maxzoom)||r.push({command:h.setLayerZoomRange,args:[a,f.minzoom,f.maxzoom]}),o)o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}));for(d in f)f.hasOwnProperty(d)&&!o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}))}else r.push({command:h.removeLayer,args:[a]}),p=x[x.lastIndexOf(a)+1],r.push({command:h.addLayer,args:[f,p]})}(d,e.layers,r)}catch(t){console.warn(\\\"Unable to compute style diff:\\\",t),r=[{command:h.setStyle,args:[e]}]}return r},e.exports.operations=h},{\\\"./util/deep_equal\\\":155}],122:[function(t,e,r){e.exports=function(t,e,r){this.message=(t?t+\\\": \\\":\\\"\\\")+r,null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}},{}],123:[function(t,e,r){var n=t(\\\"./types\\\").toString,i=t(\\\"./parsing_context\\\"),a=(t(\\\"./evaluation_context\\\"),function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n});a.prototype.evaluate=function(t){return this._evaluate(t,this.args)},a.prototype.eachChild=function(t){this.args.forEach(t)},a.prototype.possibleOutputs=function(){return[void 0]},a.parse=function(t,e){var r=t[0],o=a.definitions[r];if(!o)return e.error('Unknown expression \\\"'+r+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0);for(var s=Array.isArray(o)?o[0]:o.type,l=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,u=l.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),c=[],h=1;h<t.length;h++){var f=t[h],p=void 0;if(1===u.length){var d=u[0][0];p=Array.isArray(d)?d[h-1]:d.type}var g=e.parse(f,1+c.length,p);if(!g)return null;c.push(g)}for(var v=null,m=0,y=u;m<y.length;m+=1){var x=y[m],b=x[0],_=x[1];if(v=new i(e.registry,e.path,null,e.scope),Array.isArray(b)&&b.length!==c.length)v.error(\\\"Expected \\\"+b.length+\\\" arguments, but found \\\"+c.length+\\\" instead.\\\");else{for(var w=0;w<c.length;w++){var M=Array.isArray(b)?b[w]:b.type,A=c[w];v.concat(w+1).checkSubtype(M,A.type)}if(0===v.errors.length)return new a(r,s,_,c)}}if(1===u.length)e.errors.push.apply(e.errors,v.errors);else{var k=(u.length?u:l).map(function(t){return function(t){return Array.isArray(t)?\\\"(\\\"+t.map(n).join(\\\", \\\")+\\\")\\\":\\\"(\\\"+n(t.type)+\\\"...)\\\"}(t[0])}).join(\\\" | \\\"),T=c.map(function(t){return n(t.type)}).join(\\\", \\\");e.error(\\\"Expected arguments of type \\\"+k+\\\", but found (\\\"+T+\\\") instead.\\\")}return null},a.register=function(t,e){for(var r in a.definitions=e,e)t[r]=a},e.exports={CompoundExpression:a,varargs:function(t){return{type:t}}}},{\\\"./evaluation_context\\\":138,\\\"./parsing_context\\\":141,\\\"./types\\\":146}],124:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.toString,a=n.array,o=n.ValueType,s=n.StringType,l=n.NumberType,u=n.BooleanType,c=n.checkSubtype,h=t(\\\"../values\\\").typeOf,f=t(\\\"../runtime_error\\\"),p={string:s,number:l,boolean:u},d=function(t,e){this.type=t,this.input=e};d.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\\\"Expected 1, 2, or 3 arguments, but found \\\"+(t.length-1)+\\\" instead.\\\");var r,n;if(t.length>2){var i=t[1];if(\\\"string\\\"!=typeof i||!(i in p))return e.error('The item type argument of \\\"array\\\" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if(\\\"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);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(c(this.type,h(e)))throw new f(\\\"Expected value to be of type \\\"+i(this.type)+\\\", but found \\\"+i(h(e))+\\\" instead.\\\");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],125:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,u=t(\\\"../runtime_error\\\"),c=t(\\\"../types\\\"),h=c.checkSubtype,f=c.toString,p=t(\\\"../values\\\").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=d[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new g(n,i)},g.prototype.evaluate=function(t){for(var e=this,r=0;r<this.args.length;r++){var n=e.args[r].evaluate(t);if(!h(e.type,p(n)))return n;if(r===e.args.length-1)throw new u(\\\"Expected value to be of type \\\"+f(e.type)+\\\", but found \\\"+f(p(n))+\\\" instead.\\\")}return null},g.prototype.eachChild=function(t){this.args.forEach(t)},g.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=g},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],126:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.array,a=n.ValueType,o=n.NumberType,s=t(\\\"../runtime_error\\\"),l=function(t,e,r){this.type=t,this.index=e,this.input=r};l.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,o),n=e.parse(t[2],2,i(e.expectedType||a));if(!r||!n)return null;var s=n.type;return new l(s.itemType,r,n)},l.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0||e>=r.length)throw new s(\\\"Array index out of bounds: \\\"+e+\\\" > \\\"+r.length+\\\".\\\");if(e!==Math.floor(e))throw new s(\\\"Array index must be an integer, but found \\\"+e+\\\" instead.\\\");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{\\\"../runtime_error\\\":143,\\\"../types\\\":146}],127:[function(t,e,r){var n=t(\\\"../types\\\").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.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 a=[],o=1;o<t.length-1;o+=2){var s=e.parse(t[o],o,n);if(!s)return null;var l=e.parse(t[o+1],o+1,r);if(!l)return null;a.push([s,l]),r=r||l.type}var u=e.parse(t[t.length-1],t.length-1,r);return u?new i(r,a,u):null},i.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},i.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../types\\\":146}],128:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.checkSubtype,a=n.ValueType,o=function(t,e){this.type=t,this.args=e};o.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 s=[],l=0,u=t.slice(1);l<u.length;l+=1){var c=u[l],h=e.parse(c,1+s.length,r,void 0,{omitTypeAnnotations:!0});if(!h)return null;r=r||h.type,s.push(h)}return n&&s.some(function(t){return i(n,t.type)})?new o(a,s):new o(r,s)},o.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},o.prototype.eachChild=function(t){this.args.forEach(t)},o.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=o},{\\\"../types\\\":146}],129:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ColorType,a=n.ValueType,o=n.NumberType,s=t(\\\"../values\\\"),l=s.Color,u=s.validateRGBA,c=t(\\\"../runtime_error\\\"),h={\\\"to-number\\\":o,\\\"to-color\\\":i},f=function(t,e){this.type=t,this.args=e};f.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=h[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new f(n,i)},f.prototype.evaluate=function(t){if(\\\"color\\\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\\\"string\\\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}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.\\\":u(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new c(r||\\\"Could not parse color from value '\\\"+(\\\"string\\\"==typeof e?e:JSON.stringify(e))+\\\"'\\\")}for(var o=null,s=0,h=this.args;s<h.length;s+=1)if(null!==(o=h[s].evaluate(t))){var f=Number(o);if(!isNaN(f))return f}throw new c(\\\"Could not convert \\\"+JSON.stringify(o)+\\\" to number.\\\")},f.prototype.eachChild=function(t){this.args.forEach(t)},f.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=f},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],130:[function(t,e,r){function n(t){return\\\"string\\\"===t.kind||\\\"number\\\"===t.kind||\\\"boolean\\\"===t.kind||\\\"null\\\"===t.kind}function i(t){return function(){function e(t,e){this.type=s,this.lhs=t,this.rhs=e}return e.parse=function(t,r){if(3!==t.length)return r.error(\\\"Expected two arguments.\\\");var i=r.parse(t[1],1,o);if(!i)return null;var a=r.parse(t[2],2,o);return a?n(i.type)||n(a.type)?i.type.kind!==a.type.kind&&\\\"value\\\"!==i.type.kind&&\\\"value\\\"!==a.type.kind?r.error(\\\"Cannot compare \\\"+l(i.type)+\\\" and \\\"+l(a.type)+\\\".\\\"):new e(i,a):r.error(\\\"Expected at least one argument to be a string, number, boolean, or null, but found (\\\"+l(i.type)+\\\", \\\"+l(a.type)+\\\") instead.\\\"):null},e.prototype.evaluate=function(e){return t(this.lhs.evaluate(e),this.rhs.evaluate(e))},e.prototype.eachChild=function(t){t(this.lhs),t(this.rhs)},e.prototype.possibleOutputs=function(){return[!0,!1]},e}()}var a=t(\\\"../types\\\"),o=a.ValueType,s=a.BooleanType,l=t(\\\"../types\\\").toString;e.exports={Equals:i(function(t,e){return t===e}),NotEquals:i(function(t,e){return t!==e})}},{\\\"../types\\\":146}],131:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=A(r,n,i,o);if(s)throw new E(s);return new M(r/255*o,n/255*o,i/255*o,o)}function i(t,e){return t in e}function a(t,e){var r=e[t];return void 0===r?null:r}function o(t,e){return e[0].evaluate(t).length}function s(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function l(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var h=t(\\\"../types\\\"),f=h.NumberType,p=h.StringType,d=h.BooleanType,g=h.ColorType,v=h.ObjectType,m=h.ValueType,y=h.ErrorType,x=h.array,b=h.toString,_=t(\\\"../values\\\"),w=_.typeOf,M=_.Color,A=_.validateRGBA,k=t(\\\"../compound_expression\\\"),T=k.CompoundExpression,S=k.varargs,E=t(\\\"../runtime_error\\\"),C=t(\\\"./let\\\"),L=t(\\\"./var\\\"),z=t(\\\"./literal\\\"),P=t(\\\"./assertion\\\"),I=t(\\\"./array\\\"),D=t(\\\"./coercion\\\"),O=t(\\\"./at\\\"),R=t(\\\"./match\\\"),F=t(\\\"./case\\\"),B=t(\\\"./step\\\"),N=t(\\\"./interpolate\\\"),j=t(\\\"./coalesce\\\"),V=t(\\\"./equals\\\"),U={\\\"==\\\":V.Equals,\\\"!=\\\":V.NotEquals,array:I,at:O,boolean:P,case:F,coalesce:j,interpolate:N,let:C,literal:z,match:R,number:P,object:P,step:B,string:P,\\\"to-color\\\":D,\\\"to-number\\\":D,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new E(r.evaluate(t))}],typeof:[p,[m],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],\\\"to-string\\\":[p,[m],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||\\\"string\\\"===n||\\\"number\\\"===n||\\\"boolean\\\"===n?String(r):r instanceof M?r.toString():JSON.stringify(r)}],\\\"to-boolean\\\":[d,[m],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\\\"to-rgba\\\":[x(f,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[f,f,f],n],rgba:[g,[f,f,f,f],n],length:{type:f,overloads:[[[p],o],[[x(m)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:m,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[v,[],function(t){return t.properties()}],\\\"geometry-type\\\":[p,[],function(t){return t.geometryType()}],id:[m,[],function(t){return t.id()}],zoom:[f,[],function(t){return t.globals.zoom}],\\\"heatmap-density\\\":[f,[],function(t){return t.globals.heatmapDensity||0}],\\\"+\\\":[f,S(f),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\\\"*\\\":[f,S(f),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\\\"-\\\":{type:f,overloads:[[[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[f],function(t,e){return-e[0].evaluate(t)}]]},\\\"/\\\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\\\"%\\\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[f,[],function(){return Math.LN2}],pi:[f,[],function(){return Math.PI}],e:[f,[],function(){return Math.E}],\\\"^\\\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[f,[f],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[f,[f],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[f,[f],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[f,[f],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[f,[f],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[f,[f],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[f,[f],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[f,[f],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[f,[f],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[f,[f],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[f,S(f),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[f,S(f),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],\\\"filter-==\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\\\"filter-id-==\\\":[d,[m],function(t,e){var r=e[0];return t.id()===r.value}],\\\"filter-type-==\\\":[d,[p],function(t,e){var r=e[0];return t.geometryType()===r.value}],\\\"filter-<\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\\\"filter-id-<\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\\\"filter->\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\\\"filter-id->\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\\\"filter-<=\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\\\"filter-id-<=\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\\\"filter->=\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\\\"filter-id->=\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\\\"filter-has\\\":[d,[m],function(t,e){return e[0].value in t.properties()}],\\\"filter-has-id\\\":[d,[],function(t){return null!==t.id()}],\\\"filter-type-in\\\":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\\\"filter-id-in\\\":[d,[x(m)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\\\"filter-in-small\\\":[d,[p,x(m)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\\\"filter-in-large\\\":[d,[p,x(m)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\\\">\\\":{type:d,overloads:[[[f,f],l],[[p,p],l]]},\\\"<\\\":{type:d,overloads:[[[f,f],s],[[p,p],s]]},\\\">=\\\":{type:d,overloads:[[[f,f],c],[[p,p],c]]},\\\"<=\\\":{type:d,overloads:[[[f,f],u],[[p,p],u]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),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:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\\\"!\\\":[d,[d],function(t,e){return!e[0].evaluate(t)}],upcase:[p,[p],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[p,[p],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[p,S(p),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\\\"\\\")}]}),e.exports=U},{\\\"../compound_expression\\\":123,\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147,\\\"./array\\\":124,\\\"./assertion\\\":125,\\\"./at\\\":126,\\\"./case\\\":127,\\\"./coalesce\\\":128,\\\"./coercion\\\":129,\\\"./equals\\\":130,\\\"./interpolate\\\":132,\\\"./let\\\":133,\\\"./literal\\\":134,\\\"./match\\\":135,\\\"./step\\\":136,\\\"./var\\\":137}],132:[function(t,e,r){function n(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}var i=t(\\\"@mapbox/unitbezier\\\"),a=t(\\\"../../util/interpolate\\\"),o=t(\\\"../types\\\"),s=o.toString,l=o.NumberType,u=t(\\\"../stops\\\").findStopLessThanOrEqualTo,c=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};c.interpolationFactor=function(t,e,r,a){var o=0;if(\\\"exponential\\\"===t.name)o=n(e,t.base,r,a);else if(\\\"linear\\\"===t.name)o=n(e,1,r,a);else if(\\\"cubic-bezier\\\"===t.name){var s=t.controlPoints;o=new i(s[0],s[1],s[2],s[3]).solve(n(e,1,r,a))}return o},c.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\\\"Expected an interpolation type expression.\\\",1);if(\\\"linear\\\"===r[0])r={name:\\\"linear\\\"};else if(\\\"exponential\\\"===r[0]){var a=r[1];if(\\\"number\\\"!=typeof a)return e.error(\\\"Exponential interpolation requires a numeric base.\\\",1,1);r={name:\\\"exponential\\\",base:a}}else{if(\\\"cubic-bezier\\\"!==r[0])return e.error(\\\"Unknown interpolation type \\\"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.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);r={name:\\\"cubic-bezier\\\",controlPoints:o}}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(!(n=e.parse(n,2,l)))return null;var u=[],h=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(h=e.expectedType);for(var f=0;f<i.length;f+=2){var p=i[f],d=i[f+1],g=f+3,v=f+4;if(\\\"number\\\"!=typeof p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(u.length&&u[u.length-1][0]>=p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be arranged with input values in strictly ascending order.',g);var m=e.parse(d,v,h);if(!m)return null;h=h||m.type,u.push([p,m])}return\\\"number\\\"===h.kind||\\\"color\\\"===h.kind||\\\"array\\\"===h.kind&&\\\"number\\\"===h.itemType.kind&&\\\"number\\\"==typeof h.N?new c(h,r,n,u):e.error(\\\"Type \\\"+s(h)+\\\" is not interpolatable.\\\")},c.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 i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=u(e,n),s=e[o],l=e[o+1],h=c.interpolationFactor(this.interpolation,n,s,l),f=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](f,p,h)},c.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},c.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=c},{\\\"../../util/interpolate\\\":158,\\\"../stops\\\":145,\\\"../types\\\":146,\\\"@mapbox/unitbezier\\\":7}],133:[function(t,e,r){var n=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};n.prototype.evaluate=function(t){t.pushScope(this.bindings);var e=this.result.evaluate(t);return t.popScope(),e},n.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},n.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=[],i=1;i<t.length-1;i+=2){var a=t[i];if(\\\"string\\\"!=typeof a)return e.error(\\\"Expected string, but found \\\"+typeof a+\\\" instead.\\\",i);if(/[^a-zA-Z0-9_]/.test(a))return e.error(\\\"Variable names must contain only alphanumeric characters or '_'.\\\",i);var o=e.parse(t[i+1],i+1);if(!o)return null;r.push([a,o])}var s=e.parse(t[t.length-1],t.length-1,void 0,r);return s?new n(r,s):null},n.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},e.exports=n},{}],134:[function(t,e,r){var n=t(\\\"../values\\\"),i=n.isValue,a=n.typeOf,o=function(t,e){this.type=t,this.value=e};o.parse=function(t,e){if(2!==t.length)return e.error(\\\"'literal' expression requires exactly one argument, but found \\\"+(t.length-1)+\\\" instead.\\\");if(!i(t[1]))return e.error(\\\"invalid value\\\");var r=t[1],n=a(r),s=e.expectedType;return\\\"array\\\"!==n.kind||0!==n.N||!s||\\\"array\\\"!==s.kind||\\\"number\\\"==typeof s.N&&0!==s.N||(n=s),new o(n,r)},o.prototype.evaluate=function(){return this.value},o.prototype.eachChild=function(){},o.prototype.possibleOutputs=function(){return[this.value]},e.exports=o},{\\\"../values\\\":147}],135:[function(t,e,r){var n=t(\\\"../values\\\").typeOf,i=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};i.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,a;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(a=e.expectedType);for(var o={},s=[],l=2;l<t.length-1;l+=2){var u=t[l],c=t[l+1];Array.isArray(u)||(u=[u]);var h=e.concat(l);if(0===u.length)return h.error(\\\"Expected at least one branch label.\\\");for(var f=0,p=u;f<p.length;f+=1){var d=p[f];if(\\\"number\\\"!=typeof d&&\\\"string\\\"!=typeof d)return h.error(\\\"Branch labels must be numbers or strings.\\\");if(\\\"number\\\"==typeof d&&Math.abs(d)>Number.MAX_SAFE_INTEGER)return h.error(\\\"Branch labels must be integers no larger than \\\"+Number.MAX_SAFE_INTEGER+\\\".\\\");if(\\\"number\\\"==typeof d&&Math.floor(d)!==d)return h.error(\\\"Numeric branch labels must be integer values.\\\");if(r){if(h.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return h.error(\\\"Branch labels must be unique.\\\");o[String(d)]=s.length}var g=e.parse(c,l,a);if(!g)return null;a=a||g.type,s.push(g)}var v=e.parse(t[1],1,r);if(!v)return null;var m=e.parse(t[t.length-1],t.length-1,a);return m?new i(r,a,v,o,s,m):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../values\\\":147}],136:[function(t,e,r){var n=t(\\\"../types\\\").NumberType,i=t(\\\"../stops\\\").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};a.parse=function(t,e){var r=t[1],i=t.slice(2);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(!(r=e.parse(r,1,n)))return null;var o=[],s=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(s=e.expectedType),i.unshift(-1/0);for(var l=0;l<i.length;l+=2){var u=i[l],c=i[l+1],h=l+1,f=l+2;if(\\\"number\\\"!=typeof u)return e.error('Input/output pairs for \\\"step\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(o.length&&o[o.length-1][0]>=u)return e.error('Input/output pairs for \\\"step\\\" expressions must be arranged with input values in strictly ascending order.',h);var p=e.parse(c,f,s);if(!p)return null;s=s||p.type,o.push([u,p])}return new a(s,r,o)},a.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[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},a.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=a},{\\\"../stops\\\":145,\\\"../types\\\":146}],137:[function(t,e,r){var n=function(t,e){this.type=e,this.name=t};n.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 n(r,e.scope.get(r).type):e.error('Unknown variable \\\"'+r+'\\\". Make sure \\\"'+r+'\\\" has been bound in an enclosing \\\"let\\\" expression before using it.',1)},n.prototype.evaluate=function(t){return t.scope.get(this.name).evaluate(t)},n.prototype.eachChild=function(){},n.prototype.possibleOutputs=function(){return[void 0]},e.exports=n},{}],138:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./values\\\").Color,a=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],o=function(){this.scope=new n,this._parseColorCache={}};o.prototype.id=function(){return this.feature&&\\\"id\\\"in this.feature?this.feature.id:null},o.prototype.geometryType=function(){return this.feature?\\\"number\\\"==typeof this.feature.type?a[this.feature.type]:this.feature.type:null},o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},o.prototype.pushScope=function(t){this.scope=this.scope.concat(t)},o.prototype.popScope=function(){this.scope=this.scope.parent},o.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=i.parse(t)),e},e.exports=o},{\\\"./scope\\\":144,\\\"./values\\\":147}],139:[function(t,e,r){function n(t){return Array.isArray(t)&&t.length>0&&\\\"string\\\"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:I,enum:P,boolean:D};return\\\"array\\\"===t.type?R(e[t.value]||O,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),\\\"error\\\"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=v.isFeatureConstant(n);if(!a&&!e[\\\"property-function\\\"])return b([new s(\\\"\\\",\\\"property expressions not supported\\\")]);var o=v.isGlobalPropertyConstant(n,[\\\"zoom\\\"]);if(!o&&!1===e[\\\"zoom-function\\\"])return b([new s(\\\"\\\",\\\"zoom expressions not supported\\\")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof h||e instanceof f)&&e.input instanceof c&&\\\"zoom\\\"===e.input.name&&(r=e);return r instanceof s?r:(e.eachChild(function(e){var n=t(e);n instanceof s?r=n:!r&&n?r=new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.'):r&&n&&r!==n&&(r=new s(\\\"\\\",'Only one zoom-based \\\"step\\\" or \\\"interpolate\\\" subexpression may be used in an expression.'))}),r)}(n);return l||o?l instanceof s?b([l]):l instanceof f&&\\\"piecewise-constant\\\"===e.function?b([new s(\\\"\\\",'\\\"interpolate\\\" expressions cannot be used with this property')]):x(l?new A(a?\\\"camera\\\":\\\"composite\\\",t.value,l):new M(a?\\\"constant\\\":\\\"source\\\",t.value)):b([new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.')])}var o=t(\\\"../util/extend\\\"),s=t(\\\"./parsing_error\\\"),l=t(\\\"./parsing_context\\\"),u=t(\\\"./evaluation_context\\\"),c=t(\\\"./compound_expression\\\").CompoundExpression,h=t(\\\"./definitions/step\\\"),f=t(\\\"./definitions/interpolate\\\"),p=t(\\\"./definitions/coalesce\\\"),d=t(\\\"./definitions/let\\\"),g=t(\\\"./definitions\\\"),v=t(\\\"./is_constant\\\"),m=t(\\\"./runtime_error\\\"),y=t(\\\"../util/result\\\"),x=y.success,b=y.error,_=function(t){this.expression=t};_.prototype.evaluate=function(t,e){return this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)};var w=function(t){function e(e,r){t.call(this,e),this._warningHistory={},this._defaultValue=function(t){return\\\"color\\\"===t.type&&T(t.default)?new E(0,0,0,0):\\\"color\\\"===t.type?E.parse(t.default)||null:void 0===t.default?null:t.default}(r),\\\"enum\\\"===r.type&&(this._enumValues=r.values)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null===r||void 0===r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new m(\\\"Expected value to be one of \\\"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\\\", \\\")+\\\", but found \\\"+JSON.stringify(r)+\\\" instead.\\\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\\\"undefined\\\"!=typeof console&&console.warn(t.message)),this._defaultValue}},e}(_),M=function(t,e){this.kind=t,this._styleExpression=e};M.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var A=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof f&&(this._interpolationType=r.interpolation)};A.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},A.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?f.interpolationFactor(this._interpolationType,t,e,r):0};var k=t(\\\"../function\\\"),T=k.isFunction,S=k.createFunction,E=t(\\\"./values\\\").Color,C=function(t,e){this._parameters=t,this._specification=e,o(this,S(this._parameters,this._specification))};C.deserialize=function(t){return new C(t._parameters,t._specification)},C.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}},e.exports={StyleExpression:_,StyleExpressionWithErrorHandling:w,isExpression:n,createExpression:i,createPropertyExpression:a,normalizePropertyExpression:function(t,e){if(T(t))return new C(t,e);if(n(t)){var r=a(t,e);if(\\\"error\\\"===r.result)throw new Error(r.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return r.value}var i=t;return\\\"string\\\"==typeof t&&\\\"color\\\"===e.type&&(i=E.parse(t)),{kind:\\\"constant\\\",evaluate:function(){return i}}},ZoomConstantExpression:M,ZoomDependentExpression:A,StylePropertyFunction:C};var L=t(\\\"./types\\\"),z=L.ColorType,P=L.StringType,I=L.NumberType,D=L.BooleanType,O=L.ValueType,R=L.array},{\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/result\\\":160,\\\"./compound_expression\\\":123,\\\"./definitions\\\":131,\\\"./definitions/coalesce\\\":128,\\\"./definitions/interpolate\\\":132,\\\"./definitions/let\\\":133,\\\"./definitions/step\\\":136,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_context\\\":141,\\\"./parsing_error\\\":142,\\\"./runtime_error\\\":143,\\\"./types\\\":146,\\\"./values\\\":147}],140:[function(t,e,r){var n=t(\\\"./compound_expression\\\").CompoundExpression;e.exports={isFeatureConstant:function t(e){if(e instanceof n){if(\\\"get\\\"===e.name&&1===e.args.length)return!1;if(\\\"has\\\"===e.name&&1===e.args.length)return!1;if(\\\"properties\\\"===e.name||\\\"geometry-type\\\"===e.name||\\\"id\\\"===e.name)return!1;if(/^filter-/.test(e.name))return!1}var r=!0;return e.eachChild(function(e){r&&!t(e)&&(r=!1)}),r},isGlobalPropertyConstant:function t(e,r){if(e instanceof n&&r.indexOf(e.name)>=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{\\\"./compound_expression\\\":123}],141:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./types\\\").checkSubtype,a=t(\\\"./parsing_error\\\"),o=t(\\\"./definitions/literal\\\"),s=t(\\\"./definitions/assertion\\\"),l=t(\\\"./definitions/array\\\"),u=t(\\\"./definitions/coercion\\\"),c=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\"),this.scope=i,this.errors=a,this.expectedType=r};c.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var c=this;if(r&&(c=c.concat(r,n,i)),null!==e&&\\\"string\\\"!=typeof e&&\\\"boolean\\\"!=typeof e&&\\\"number\\\"!=typeof e||(e=[\\\"literal\\\",e]),Array.isArray(e)){if(0===e.length)return c.error('Expected an array with at least one element. If you wanted a literal array, use [\\\"literal\\\", []].');var h=e[0];if(\\\"string\\\"!=typeof h)return c.error(\\\"Expression name must be a string, but found \\\"+typeof h+' instead. If you wanted a literal array, use [\\\"literal\\\", [...]].',0),null;var f=c.registry[h];if(f){var p=f.parse(e,c);if(!p)return null;if(c.expectedType){var d=c.expectedType,g=p.type;if(\\\"string\\\"!==d.kind&&\\\"number\\\"!==d.kind&&\\\"boolean\\\"!==d.kind||\\\"value\\\"!==g.kind)if(\\\"array\\\"===d.kind&&\\\"value\\\"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if(\\\"color\\\"!==d.kind||\\\"value\\\"!==g.kind&&\\\"string\\\"!==g.kind){if(c.checkSubtype(c.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new u(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t(\\\"./compound_expression\\\").CompoundExpression,n=t(\\\"./is_constant\\\"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t(\\\"./definitions/var\\\"))return!1;if(e instanceof r&&\\\"error\\\"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,[\\\"zoom\\\",\\\"heatmap-density\\\"])}(p)){var v=new(t(\\\"./evaluation_context\\\"));try{p=new o(p.type,p.evaluate(v))}catch(e){return c.error(e.message),null}}return p}return c.error('Unknown expression \\\"'+h+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0)}return void 0===e?c.error(\\\"'undefined' value invalid. Use null instead.\\\"):\\\"object\\\"==typeof e?c.error('Bare objects invalid. Use [\\\"literal\\\", {...}] instead.'):c.error(\\\"Expected an array, but found \\\"+typeof e+\\\" instead.\\\")},c.prototype.concat=function(t,e,r){var n=\\\"number\\\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new c(this.registry,n,e||null,i,this.errors)},c.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=\\\"\\\"+this.key+r.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\");this.errors.push(new a(i,t))},c.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=c},{\\\"./compound_expression\\\":123,\\\"./definitions/array\\\":124,\\\"./definitions/assertion\\\":125,\\\"./definitions/coercion\\\":129,\\\"./definitions/literal\\\":134,\\\"./definitions/var\\\":137,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_error\\\":142,\\\"./scope\\\":144,\\\"./types\\\":146}],142:[function(t,e,r){var n=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),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name=\\\"ExpressionEvaluationError\\\",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};n.prototype.concat=function(t){return new n(this,t)},n.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.\\\")},n.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)},e.exports=n},{}],145:[function(t,e,r){var n=t(\\\"./runtime_error\\\");e.exports={findStopLessThanOrEqualTo:function(t,e){for(var r,i,a=0,o=t.length-1,s=0;a<=o;){if(r=t[s=Math.floor((a+o)/2)],i=t[s+1],e===r||e>r&&e<i)return s;if(r<e)a=s+1;else{if(!(r>e))throw new n(\\\"Input is not a number.\\\");o=s-1}}return Math.max(s-1,0)}}},{\\\"./runtime_error\\\":143}],146:[function(t,e,r){function n(t,e){return{kind:\\\"array\\\",itemType:t,N:e}}function i(t){if(\\\"array\\\"===t.kind){var e=i(t.itemType);return\\\"number\\\"==typeof t.N?\\\"array<\\\"+e+\\\", \\\"+t.N+\\\">\\\":\\\"value\\\"===t.itemType.kind?\\\"array\\\":\\\"array<\\\"+e+\\\">\\\"}return t.kind}var a={kind:\\\"null\\\"},o={kind:\\\"number\\\"},s={kind:\\\"string\\\"},l={kind:\\\"boolean\\\"},u={kind:\\\"color\\\"},c={kind:\\\"object\\\"},h={kind:\\\"value\\\"},f=[a,o,s,l,u,c,n(h)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:u,ObjectType:c,ValueType:h,array:n,ErrorType:{kind:\\\"error\\\"},toString:i,checkSubtype:function t(e,r){if(\\\"error\\\"===r.kind)return null;if(\\\"array\\\"===e.kind){if(\\\"array\\\"===r.kind&&!t(e.itemType,r.itemType)&&(\\\"number\\\"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if(\\\"value\\\"===e.kind)for(var n=0,a=f;n<a.length;n+=1)if(!t(a[n],r))return null}return\\\"Expected \\\"+i(e)+\\\" but found \\\"+i(r)+\\\" instead.\\\"}}},{}],147:[function(t,e,r){var n=t(\\\"../util/color\\\"),i=t(\\\"./types\\\"),a=i.NullType,o=i.NumberType,s=i.StringType,l=i.BooleanType,u=i.ColorType,c=i.ObjectType,h=i.ValueType,f=i.array;e.exports={Color:n,validateRGBA:function(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.\\\"},isValue:function t(e){if(null===e)return!0;if(\\\"string\\\"==typeof e)return!0;if(\\\"boolean\\\"==typeof e)return!0;if(\\\"number\\\"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r<i.length;r+=1)if(!t(i[r]))return!1;return!0}if(\\\"object\\\"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1},typeOf:function t(e){if(null===e)return a;if(\\\"string\\\"==typeof e)return s;if(\\\"boolean\\\"==typeof e)return l;if(\\\"number\\\"==typeof e)return o;if(e instanceof n)return u;if(Array.isArray(e)){for(var r,i=e.length,p=0,d=e;p<d.length;p+=1){var g=t(d[p]);if(r){if(r===g)continue;r=h;break}r=g}return f(r||h,i)}return c}}},{\\\"../util/color\\\":153,\\\"./types\\\":146}],148:[function(t,e,r){function n(t){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\\\":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 i=r[e];if(!n(i)&&\\\"boolean\\\"!=typeof i)return!1}return!0;default:return!0}}function i(t,e){return t<e?-1:t>e?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?\\\"any\\\"!==e:\\\"==\\\"===e?o(t[1],t[2],\\\"==\\\"):\\\"!=\\\"===e?u(o(t[1],t[2],\\\"==\\\")):\\\"<\\\"===e||\\\">\\\"===e||\\\"<=\\\"===e||\\\">=\\\"===e?o(t[1],t[2],e):\\\"any\\\"===e?function(t){return[\\\"any\\\"].concat(t.map(a))}(t.slice(1)):\\\"all\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a)):\\\"none\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a).map(u)):\\\"in\\\"===e?s(t[1],t.slice(2)):\\\"!in\\\"===e?u(s(t[1],t.slice(2))):\\\"has\\\"===e?l(t[1]):\\\"!has\\\"!==e||u(l(t[1]))}function o(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 s(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(i)]]:[\\\"filter-in-small\\\",t,[\\\"literal\\\",e]]}}function l(t){switch(t){case\\\"$type\\\":return!0;case\\\"$id\\\":return[\\\"filter-has-id\\\"];default:return[\\\"filter-has\\\",t]}}function u(t){return[\\\"!\\\",t]}var c=t(\\\"../expression\\\").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=c(t,h);if(\\\"error\\\"===e.result)throw new Error(e.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var h={type:\\\"boolean\\\",default:!1,function:!0,\\\"property-function\\\":!0,\\\"zoom-function\\\":!0}},{\\\"../expression\\\":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if(\\\"number\\\"!==p(r))return i(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=u(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if(\\\"number\\\"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=u(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),h=t.stops[s][1],f=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&\\\"rgb\\\"!==t.colorSpace){var v=c[t.colorSpace];g=function(t,e){return v.reverse(v.interpolate(v.forward(t),v.forward(e),l))}}return\\\"function\\\"==typeof h.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=h.evaluate.apply(void 0,e),i=f.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(h,f,l)}function l(t,e,r){return\\\"color\\\"===e.type?r=h.parse(r):p(r)===e.type||\\\"enum\\\"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function u(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var c=t(\\\"../util/color_spaces\\\"),h=t(\\\"../util/color\\\"),f=t(\\\"../util/extend\\\"),p=t(\\\"../util/get_type\\\"),d=t(\\\"../util/interpolate\\\"),g=t(\\\"../expression/definitions/interpolate\\\");e.exports={createFunction:function t(e,r){var n,u,p,d=\\\"color\\\"===r.type,v=e.stops&&\\\"object\\\"==typeof e.stops[0][0],m=v||void 0!==e.property,y=v||!m,x=e.type||(\\\"interpolated\\\"===r.function?\\\"exponential\\\":\\\"interval\\\");if(d&&((e=f({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],h.parse(t[1])]})),e.default?e.default=h.parse(e.default):e.default=h.parse(r.default)),e.colorSpace&&\\\"rgb\\\"!==e.colorSpace&&!c[e.colorSpace])throw new Error(\\\"Unknown color space: \\\"+e.colorSpace);if(\\\"exponential\\\"===x)n=s;else if(\\\"interval\\\"===x)n=o;else if(\\\"categorical\\\"===x){n=a,u=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];u[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if(\\\"identity\\\"!==x)throw new Error('Unknown function type \\\"'+x+'\\\"');n=l}if(v){for(var M={},A=[],k=0;k<e.stops.length;k++){var T=e.stops[k],S=T[0].zoom;void 0===M[S]&&(M[S]={zoom:S,type:e.type,property:e.property,default:e.default,stops:[]},A.push(S)),M[S].stops.push([T[0].value,T[1]])}for(var E=[],C=0,L=A;C<L.length;C+=1){var z=L[C];E.push([M[z].zoom,t(M[z],r)])}return{kind:\\\"composite\\\",interpolationFactor:g.interpolationFactor.bind(void 0,{name:\\\"linear\\\"}),zoomStops:E.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return s({stops:E,base:e.base},r,i).evaluate(i,n)}}}return y?{kind:\\\"camera\\\",interpolationFactor:\\\"exponential\\\"===x?g.interpolationFactor.bind(void 0,{name:\\\"exponential\\\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var i=t.zoom;return n(e,r,i,u,p)}}:{kind:\\\"source\\\",evaluate:function(t,a){var o=a&&a.properties?a.properties[e.property]:void 0;return void 0===o?i(e.default,r.default):n(e,r,o,u,p)}}},isFunction:function(t){return\\\"object\\\"==typeof t&&null!==t&&!Array.isArray(t)}}},{\\\"../expression/definitions/interpolate\\\":132,\\\"../util/color\\\":153,\\\"../util/color_spaces\\\":154,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/interpolate\\\":158}],150:[function(t,e,r){function n(t){var e=typeof t;if(\\\"number\\\"===e||\\\"boolean\\\"===e||\\\"string\\\"===e||void 0===t||null===t)return JSON.stringify(t);if(Array.isArray(t)){for(var r=\\\"[\\\",i=0,a=t;i<a.length;i+=1)r+=n(a[i])+\\\",\\\";return r+\\\"]\\\"}for(var o=Object.keys(t).sort(),s=\\\"{\\\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\\\":\\\"+n(t[o[l]])+\\\",\\\";return s+\\\"}\\\"}function i(t){for(var e=\\\"\\\",r=0,i=a;r<i.length;r+=1)e+=\\\"/\\\"+n(t[i[r]]);return e}var a=t(\\\"./util/ref_properties\\\");e.exports=function(t){for(var e={},r=0;r<t.length;r++){var n=i(t[r]),a=e[n];a||(a=e[n]=[]),a.push(t[r])}var o=[];for(var s in e)o.push(e[s]);return o}},{\\\"./util/ref_properties\\\":159}],151:[function(t,e,r){e.exports=t(\\\"./v8.json\\\")},{\\\"./v8.json\\\":152}],152:[function(t,e,r){e.exports={$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_canvas\\\"],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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},attribution:{type:\\\"string\\\"},\\\"*\\\":{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.0511,180,85.0511]},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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},tileSize:{type:\\\"number\\\",default:512,units:\\\"pixels\\\"},attribution:{type:\\\"string\\\"},\\\"*\\\":{type:\\\"*\\\"}},source_geojson:{type:{required:!0,type:\\\"enum\\\",values:{geojson:{}}},data:{type:\\\"*\\\"},maxzoom:{type:\\\"number\\\",default:18},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\\\"}},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\\\"}}},source_canvas:{type:{required:!0,type:\\\"enum\\\",values:{canvas:{}}},coordinates:{required:!0,type:\\\"array\\\",length:4,value:{type:\\\"array\\\",length:2,value:\\\"number\\\"}},animate:{type:\\\"boolean\\\",default:\\\"true\\\"},canvas:{type:\\\"string\\\",required:!0}},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\\\"}},layout_fill:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_circle:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_heatmap:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},\\\"layout_fill-extrusion\\\":{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_line:{\\\"line-cap\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{butt:{},round:{},square:{}},default:\\\"butt\\\"},\\\"line-join\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{bevel:{},round:{},miter:{}},default:\\\"miter\\\"},\\\"line-miter-limit\\\":{type:\\\"number\\\",default:2,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"miter\\\"}]},\\\"line-round-limit\\\":{type:\\\"number\\\",default:1.05,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"round\\\"}]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_symbol:{\\\"symbol-placement\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{point:{},line:{}},default:\\\"point\\\"},\\\"symbol-spacing\\\":{type:\\\"number\\\",default:250,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"symbol-avoid-edges\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1},\\\"icon-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"icon-size\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"factor of the original icon size\\\",requires:[\\\"icon-image\\\"]},\\\"icon-text-fit\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{none:{},width:{},height:{},both:{}},default:\\\"none\\\",requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-text-fit-padding\\\":{type:\\\"array\\\",value:\\\"number\\\",length:4,default:[0,0,0,0],units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"icon-image\\\",\\\"text-field\\\",{\\\"icon-text-fit\\\":[\\\"both\\\",\\\"width\\\",\\\"height\\\"]}]},\\\"icon-image\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,tokens:!0},\\\"icon-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"degrees\\\",requires:[\\\"icon-image\\\"]},\\\"icon-padding\\\":{type:\\\"number\\\",default:2,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",{\\\"icon-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"icon-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"icon-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"icon-image\\\"]},\\\"icon-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"text-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-field\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:\\\"\\\",tokens:!0},\\\"text-font\\\":{type:\\\"array\\\",value:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:[\\\"Open Sans Regular\\\",\\\"Arial Unicode MS Regular\\\"],requires:[\\\"text-field\\\"]},\\\"text-size\\\":{type:\\\"number\\\",default:16,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-max-width\\\":{type:\\\"number\\\",default:10,minimum:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-line-height\\\":{type:\\\"number\\\",default:1.2,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-letter-spacing\\\":{type:\\\"number\\\",default:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-justify\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{left:{},center:{},right:{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-max-angle\\\":{type:\\\"number\\\",default:45,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\",{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-rotate\\\":{type:\\\"number\\\",default:0,period:360,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-padding\\\":{type:\\\"number\\\",default:2,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0,requires:[\\\"text-field\\\",{\\\"text-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-transform\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{none:{},uppercase:{},lowercase:{}},default:\\\"none\\\",requires:[\\\"text-field\\\"]},\\\"text-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,length:2,default:[0,0],requires:[\\\"text-field\\\"]},\\\"text-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\",\\\"icon-image\\\"]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_raster:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_hillshade:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},filter:{type:\\\"array\\\",value:\\\"*\\\"},filter_operator:{type:\\\"enum\\\",values:{\\\"==\\\":{},\\\"!=\\\":{},\\\">\\\":{},\\\">=\\\":{},\\\"<\\\":{},\\\"<=\\\":{},in:{},\\\"!in\\\":{},all:{},any:{},none:{},has:{},\\\"!has\\\":{}}},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:22,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\\\"},case:{group:\\\"Decision\\\"},match:{group:\\\"Decision\\\"},coalesce:{group:\\\"Decision\\\"},step:{group:\\\"Ramps, scales, curves\\\"},interpolate:{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\\\"},\\\"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\\\"},\\\"geometry-type\\\":{group:\\\"Feature data\\\"},id:{group:\\\"Feature data\\\"},zoom:{group:\\\"Zoom\\\"},\\\"heatmap-density\\\":{group:\\\"Heatmap\\\"},\\\"+\\\":{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\\\"},\\\"==\\\":{group:\\\"Decision\\\"},\\\"!=\\\":{group:\\\"Decision\\\"},\\\">\\\":{group:\\\"Decision\\\"},\\\"<\\\":{group:\\\"Decision\\\"},\\\">=\\\":{group:\\\"Decision\\\"},\\\"<=\\\":{group:\\\"Decision\\\"},all:{group:\\\"Decision\\\"},any:{group:\\\"Decision\\\"},\\\"!\\\":{group:\\\"Decision\\\"},upcase:{group:\\\"String\\\"},downcase:{group:\\\"String\\\"},concat:{group:\\\"String\\\"}}},light:{anchor:{type:\\\"enum\\\",default:\\\"viewport\\\",values:{map:{},viewport:{}},transition:!1,\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,function:\\\"piecewise-constant\\\"},position:{type:\\\"array\\\",default:[1.15,210,30],length:3,value:\\\"number\\\",transition:!0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1},color:{type:\\\"color\\\",default:\\\"#ffffff\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},intensity:{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,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\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0},\\\"fill-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"}]},\\\"fill-outline-color\\\":{type:\\\"color\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"},{\\\"fill-antialias\\\":!0}]},\\\"fill-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-translate\\\"]},\\\"fill-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},\\\"paint_fill-extrusion\\\":{\\\"fill-extrusion-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-extrusion-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-extrusion-pattern\\\"}]},\\\"fill-extrusion-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-extrusion-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-extrusion-translate\\\"]},\\\"fill-extrusion-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"fill-extrusion-height\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0},\\\"fill-extrusion-base\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0,requires:[\\\"fill-extrusion-height\\\"]}},paint_line:{\\\"line-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"line-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"line-translate\\\"]},\\\"line-width\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-gap-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-offset\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-dasharray\\\":{type:\\\"array\\\",value:\\\"number\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,minimum:0,transition:!0,units:\\\"line widths\\\",requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_circle:{\\\"circle-radius\\\":{type:\\\"number\\\",default:5,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-blur\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"circle-translate\\\"]},\\\"circle-pitch-scale\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\"},\\\"circle-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"circle-stroke-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-stroke-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-stroke-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_heatmap:{\\\"heatmap-radius\\\":{type:\\\"number\\\",default:30,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"heatmap-weight\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!1},\\\"heatmap-intensity\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},\\\"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\\\"],function:\\\"interpolated\\\",\\\"zoom-function\\\":!1,\\\"property-function\\\":!1,transition:!1},\\\"heatmap-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0}},paint_symbol:{\\\"icon-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"icon-image\\\",\\\"icon-translate\\\"]},\\\"text-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"text-field\\\",\\\"text-translate\\\"]}},paint_raster:{\\\"raster-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-hue-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"degrees\\\"},\\\"raster-brightness-min\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:0,minimum:0,maximum:1,transition:!0},\\\"raster-brightness-max\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"raster-saturation\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-contrast\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-fade-duration\\\":{type:\\\"number\\\",default:300,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1,units:\\\"milliseconds\\\"}},paint_hillshade:{\\\"hillshade-illumination-direction\\\":{type:\\\"number\\\",default:335,minimum:0,maximum:359,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1},\\\"hillshade-illumination-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"hillshade-exaggeration\\\":{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-shadow-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-highlight-color\\\":{type:\\\"color\\\",default:\\\"#FFFFFF\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-accent-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_background:{\\\"background-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"background-pattern\\\"}]},\\\"background-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"background-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},transition:{duration:{type:\\\"number\\\",default:300,minimum:0,units:\\\"milliseconds\\\"},delay:{type:\\\"number\\\",default:0,minimum:0,units:\\\"milliseconds\\\"}}}},{}],153:[function(t,e,r){var n=t(\\\"csscolorparser\\\").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if(\\\"string\\\"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return\\\"rgba(\\\"+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(\\\",\\\")+\\\")\\\"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>m?Math.pow(t,1/3):t/v+d}function i(t){return t>g?t*t*t:v*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/h),s=n((.2126729*e+.7151522*r+.072175*i)/f);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(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=f*i(e),r=h*i(r),n=p*i(n),new u(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var u=t(\\\"./color\\\"),c=t(\\\"./interpolate\\\").number,h=.95047,f=1,p=1.08883,d=4/29,g=6/29,v=3*g*g,m=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:c(t.l,e.l,r),a:c(t.a,e.a,r),b:c(t.b,e.b,r),alpha:c(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:c(t.c,e.c,r),l:c(t.l,e.l,r),alpha:c(t.alpha,e.alpha,r)}}}}},{\\\"./color\\\":153,\\\"./interpolate\\\":158}],155:[function(t,e,r){e.exports=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 i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r}},{}],156:[function(t,e,r){e.exports=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t}},{}],157:[function(t,e,r){e.exports=function(t){return t instanceof Number?\\\"number\\\":t instanceof String?\\\"string\\\":t instanceof Boolean?\\\"boolean\\\":Array.isArray(t)?\\\"array\\\":null===t?\\\"null\\\":typeof t}},{}],158:[function(t,e,r){function n(t,e,r){return t*(1-r)+e*r}var i=t(\\\"./color\\\");e.exports={number:n,color:function(t,e,r){return new i(n(t.r,e.r,r),n(t.g,e.g,r),n(t.b,e.b,r),n(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}}},{\\\"./color\\\":153}],159:[function(t,e,r){e.exports=[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"filter\\\",\\\"layout\\\"]},{}],160:[function(t,e,r){e.exports={success:function(t){return{result:\\\"success\\\",value:t}},error:function(t){return{result:\\\"error\\\",value:t}}}},{}],161:[function(t,e,r){function n(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}e.exports=n,e.exports.deep=function t(e){return Array.isArray(e)?e.map(t):n(e)}},{}],162:[function(t,e,r){var n=t(\\\"../util/extend\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"../expression\\\").isExpression,o=t(\\\"../function\\\").isFunction;e.exports=function(e){var r=t(\\\"./validate_function\\\"),s=t(\\\"./validate_expression\\\"),l=t(\\\"./validate_object\\\"),u={\\\"*\\\":function(){return[]},array:t(\\\"./validate_array\\\"),boolean:t(\\\"./validate_boolean\\\"),number:t(\\\"./validate_number\\\"),color:t(\\\"./validate_color\\\"),constants:t(\\\"./validate_constants\\\"),enum:t(\\\"./validate_enum\\\"),filter:t(\\\"./validate_filter\\\"),function:t(\\\"./validate_function\\\"),layer:t(\\\"./validate_layer\\\"),object:t(\\\"./validate_object\\\"),source:t(\\\"./validate_source\\\"),light:t(\\\"./validate_light\\\"),string:t(\\\"./validate_string\\\")},c=e.value,h=e.valueSpec,f=e.styleSpec;return h.function&&o(i(c))?r(e):h.function&&a(i.deep(c))?s(e):h.type&&u[h.type]?u[h.type](e):l(n({},e,{valueSpec:h.type?f[h.type]:h}))}},{\\\"../expression\\\":139,\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_array\\\":163,\\\"./validate_boolean\\\":164,\\\"./validate_color\\\":165,\\\"./validate_constants\\\":166,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168,\\\"./validate_filter\\\":169,\\\"./validate_function\\\":170,\\\"./validate_layer\\\":172,\\\"./validate_light\\\":174,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176,\\\"./validate_source\\\":179,\\\"./validate_string\\\":180}],163:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"./validate\\\"),a=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,u=t.arrayElementValidator||i;if(\\\"array\\\"!==n(e))return[new a(l,e,\\\"array expected, \\\"+n(e)+\\\" found\\\")];if(r.length&&e.length!==r.length)return[new a(l,e,\\\"array length \\\"+r.length+\\\" expected, length \\\"+e.length+\\\" found\\\")];if(r[\\\"min-length\\\"]&&e.length<r[\\\"min-length\\\"])return[new a(l,e,\\\"array length at least \\\"+r[\\\"min-length\\\"]+\\\" expected, length \\\"+e.length+\\\" found\\\")];var c={type:r.value};s.$version<7&&(c.function=r.function),\\\"object\\\"===n(r.value)&&(c=r.value);for(var h=[],f=0;f<e.length;f++)h=h.concat(u({array:e,arrayIndex:f,value:e[f],valueSpec:c,style:o,styleSpec:s,key:l+\\\"[\\\"+f+\\\"]\\\"}));return h}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],164:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"boolean\\\"!==a?[new i(r,e,\\\"boolean expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],165:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"csscolorparser\\\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\\\"string\\\"!==o?[new n(e,r,\\\"color expected, \\\"+o+\\\" found\\\")]:null===a(r)?[new n(e,r,'color expected, \\\"'+r+'\\\" found')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,csscolorparser:13}],166:[function(t,e,r){var n=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value;return r?[new n(e,r,\\\"constants have been deprecated as of v8\\\")]:[]}},{\\\"../error/validation_error\\\":122}],167:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return Array.isArray(a.values)?-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+a.values.join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")):-1===Object.keys(a.values).indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+Object.keys(a.values).join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")),o}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161}],168:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../expression\\\"),a=i.createExpression,o=i.createPropertyExpression,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=(\\\"property\\\"===t.expressionContext?o:a)(s.deep(t.value),t.valueSpec);return\\\"error\\\"===e.result?e.value.map(function(e){return new n(\\\"\\\"+t.key+e.key,t.value,e.message)}):\\\"property\\\"===t.expressionContext&&\\\"text-font\\\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new n(t.key,t.value,'Invalid data expression for \\\"text-font\\\". Output values must be contained as literals within the expression.')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../expression\\\":139,\\\"../util/unbundle_jsonlint\\\":161}],169:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_expression\\\"),a=t(\\\"./validate_enum\\\"),o=t(\\\"../util/get_type\\\"),s=t(\\\"../util/unbundle_jsonlint\\\"),l=t(\\\"../util/extend\\\"),u=t(\\\"../feature_filter\\\").isExpressionFilter;e.exports=function(t){return u(s.deep(t.value))?i(l({},t,{expressionContext:\\\"filter\\\",valueSpec:{value:\\\"boolean\\\"}})):function t(e){var r=e.value,i=e.key;if(\\\"array\\\"!==o(r))return[new n(i,r,\\\"array expected, \\\"+o(r)+\\\" found\\\")];var l,u=e.styleSpec,c=[];if(r.length<1)return[new n(i,r,\\\"filter array must have at least 1 element\\\")];switch(c=c.concat(a({key:i+\\\"[0]\\\",value:r[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),s(r[0])){case\\\"<\\\":case\\\"<=\\\":case\\\">\\\":case\\\">=\\\":r.length>=2&&\\\"$type\\\"===s(r[1])&&c.push(new n(i,r,'\\\"$type\\\" cannot be use with operator \\\"'+r[0]+'\\\"'));case\\\"==\\\":case\\\"!=\\\":3!==r.length&&c.push(new n(i,r,'filter array for operator \\\"'+r[0]+'\\\" must have 3 elements'));case\\\"in\\\":case\\\"!in\\\":r.length>=2&&\\\"string\\\"!==(l=o(r[1]))&&c.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"));for(var h=2;h<r.length;h++)l=o(r[h]),\\\"$type\\\"===s(r[1])?c=c.concat(a({key:i+\\\"[\\\"+h+\\\"]\\\",value:r[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\\\"string\\\"!==l&&\\\"number\\\"!==l&&\\\"boolean\\\"!==l&&c.push(new n(i+\\\"[\\\"+h+\\\"]\\\",r[h],\\\"string, number, or boolean expected, \\\"+l+\\\" found\\\"));break;case\\\"any\\\":case\\\"all\\\":case\\\"none\\\":for(var f=1;f<r.length;f++)c=c.concat(t({key:i+\\\"[\\\"+f+\\\"]\\\",value:r[f],style:e.style,styleSpec:e.styleSpec}));break;case\\\"has\\\":case\\\"!has\\\":l=o(r[1]),2!==r.length?c.push(new n(i,r,'filter array for \\\"'+r[0]+'\\\" operator must have 2 elements')):\\\"string\\\"!==l&&c.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"))}return c}(t)}},{\\\"../error/validation_error\\\":122,\\\"../feature_filter\\\":148,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168}],170:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\"),o=t(\\\"./validate_object\\\"),s=t(\\\"./validate_array\\\"),l=t(\\\"./validate_number\\\"),u=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){function e(t){var e=[],s=t.value,c=t.key;if(\\\"array\\\"!==i(s))return[new n(c,s,\\\"array expected, \\\"+i(s)+\\\" found\\\")];if(2!==s.length)return[new n(c,s,\\\"array length 2 expected, length \\\"+s.length+\\\" found\\\")];if(y){if(\\\"object\\\"!==i(s[0]))return[new n(c,s,\\\"object expected, \\\"+i(s[0])+\\\" found\\\")];if(void 0===s[0].zoom)return[new n(c,s,\\\"object stop key must have zoom\\\")];if(void 0===s[0].value)return[new n(c,s,\\\"object stop key must have value\\\")];if(f&&f>u(s[0].zoom))return[new n(c,s[0].zoom,\\\"stop zoom values must appear in ascending order\\\")];u(s[0].zoom)!==f&&(f=u(s[0].zoom),h=void 0,g={}),e=e.concat(o({key:c+\\\"[0]\\\",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:c+\\\"[0]\\\",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:c+\\\"[1]\\\",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=u(t.value),o=null!==t.value?t.value:e;if(c){if(r!==c)return[new n(t.key,o,r+\\\" stop domain type must match previous stop domain type \\\"+c)]}else c=r;if(\\\"number\\\"!==r&&\\\"string\\\"!==r&&\\\"boolean\\\"!==r)return[new n(t.key,o,\\\"stop domain value must be a number, string, or boolean\\\")];if(\\\"number\\\"!==r&&\\\"categorical\\\"!==d){var s=\\\"number expected, \\\"+r+\\\" found\\\";return p[\\\"property-function\\\"]&&void 0===d&&(s+='\\\\nIf you intended to use a categorical function, specify `\\\"type\\\": \\\"categorical\\\"`.'),[new n(t.key,o,s)]}return\\\"categorical\\\"!==d||\\\"number\\\"!==r||isFinite(a)&&Math.floor(a)===a?\\\"categorical\\\"!==d&&\\\"number\\\"===r&&void 0!==h&&a<h?[new n(t.key,o,\\\"stop domain values must appear in ascending order\\\")]:(h=a,\\\"categorical\\\"===d&&a in g?[new n(t.key,o,\\\"stop domain values must be unique\\\")]:(g[a]=!0,[])):[new n(t.key,o,\\\"integer expected, found \\\"+a)]}var c,h,f,p=t.valueSpec,d=u(t.value.type),g={},v=\\\"categorical\\\"!==d&&void 0===t.value.property,m=!v,y=\\\"array\\\"===i(t.value.stops)&&\\\"array\\\"===i(t.value.stops[0])&&\\\"object\\\"===i(t.value.stops[0][0]),x=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\\\"identity\\\"===d)return[new n(t.key,t.value,'identity function may not have a \\\"stops\\\" property')];var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),\\\"array\\\"===i(a)&&0===a.length&&r.push(new n(t.key,a,\\\"array must have at least one stop\\\")),r},default:function(t){return a({key:t.key,value:t.value,valueSpec:p,style:t.style,styleSpec:t.styleSpec})}}});return\\\"identity\\\"===d&&v&&x.push(new n(t.key,t.value,'missing required property \\\"property\\\"')),\\\"identity\\\"===d||t.value.stops||x.push(new n(t.key,t.value,'missing required property \\\"stops\\\"')),\\\"exponential\\\"===d&&\\\"piecewise-constant\\\"===t.valueSpec.function&&x.push(new n(t.key,t.value,\\\"exponential functions not supported\\\")),t.styleSpec.$version>=8&&(m&&!t.valueSpec[\\\"property-function\\\"]?x.push(new n(t.key,t.value,\\\"property functions not supported\\\")):v&&!t.valueSpec[\\\"zoom-function\\\"]&&\\\"heatmap-color\\\"!==t.objectKey&&x.push(new n(t.key,t.value,\\\"zoom functions not supported\\\"))),\\\"categorical\\\"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'\\\"property\\\" property is required')),x}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_array\\\":163,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176}],171:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_string\\\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(\\\"{fontstack}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{fontstack}\\\" token')),-1===e.indexOf(\\\"{range}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{range}\\\" token')),a)}},{\\\"../error/validation_error\\\":122,\\\"./validate_string\\\":180}],172:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_filter\\\"),s=t(\\\"./validate_paint_property\\\"),l=t(\\\"./validate_layout_property\\\"),u=t(\\\"./validate\\\"),c=t(\\\"../util/extend\\\");e.exports=function(t){var e=[],r=t.value,h=t.key,f=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(h,r,'either \\\"type\\\" or \\\"ref\\\" is required'));var d,g=i(r.type),v=i(r.ref);if(r.id)for(var m=i(r.id),y=0;y<t.arrayIndex;y++){var x=f.layers[y];i(x.id)===m&&e.push(new n(h,r.id,'duplicate layer id \\\"'+r.id+'\\\", previously used at line '+x.id.__line__))}if(\\\"ref\\\"in r)[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"filter\\\",\\\"layout\\\"].forEach(function(t){t in r&&e.push(new n(h,r[t],'\\\"'+t+'\\\" is prohibited for ref layers'))}),f.layers.forEach(function(t){i(t.id)===v&&(d=t)}),d?d.ref?e.push(new n(h,r.ref,\\\"ref cannot reference another ref layer\\\")):g=i(d.type):e.push(new n(h,r.ref,'ref layer \\\"'+v+'\\\" not found'));else if(\\\"background\\\"!==g)if(r.source){var b=f.sources&&f.sources[r.source],_=b&&i(b.type);b?\\\"vector\\\"===_&&\\\"raster\\\"===g?e.push(new n(h,r.source,'layer \\\"'+r.id+'\\\" requires a raster source')):\\\"raster\\\"===_&&\\\"raster\\\"!==g?e.push(new n(h,r.source,'layer \\\"'+r.id+'\\\" requires a vector source')):\\\"vector\\\"!==_||r[\\\"source-layer\\\"]?\\\"raster-dem\\\"===_&&\\\"hillshade\\\"!==g&&e.push(new n(h,r.source,\\\"raster-dem source can only be used with layer type 'hillshade'.\\\")):e.push(new n(h,r,'layer \\\"'+r.id+'\\\" must specify a \\\"source-layer\\\"')):e.push(new n(h,r.source,'source \\\"'+r.source+'\\\" not found'))}else e.push(new n(h,r,'missing required property \\\"source\\\"'));return e=e.concat(a({key:h,value:r,valueSpec:p.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(){return[]},type:function(){return u({key:h+\\\".type\\\",value:r.type,valueSpec:p.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\\\"type\\\"})},filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return l(c({layerType:g},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return s(c({layerType:g},t))}}})}}}))}},{\\\"../error/validation_error\\\":122,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_filter\\\":169,\\\"./validate_layout_property\\\":173,\\\"./validate_object\\\":176,\\\"./validate_paint_property\\\":177}],173:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"layout\\\")}},{\\\"./validate_property\\\":178}],174:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.value,r=t.styleSpec,o=r.light,s=t.style,l=[],u=i(e);if(void 0===e)return l;if(\\\"object\\\"!==u)return l.concat([new n(\\\"light\\\",e,\\\"object expected, \\\"+u+\\\" found\\\")]);for(var c in e){var h=c.match(/^(.*)-transition$/);l=h&&o[h[1]]&&o[h[1]].transition?l.concat(a({key:c,value:e[c],valueSpec:r.transition,style:s,styleSpec:r})):o[c]?l.concat(a({key:c,value:e[c],valueSpec:o[c],style:s,styleSpec:r})):l.concat([new n(c,e[c],'unknown property \\\"'+c+'\\\"')])}return l}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],175:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\\\"number\\\"!==o?[new i(e,r,\\\"number expected, \\\"+o+\\\" found\\\")]:\\\"minimum\\\"in a&&r<a.minimum?[new i(e,r,r+\\\" is less than the minimum value \\\"+a.minimum)]:\\\"maximum\\\"in a&&r>a.maximum?[new i(e,r,r+\\\" is greater than the maximum value \\\"+a.maximum)]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],176:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec||{},s=t.objectElementValidators||{},l=t.style,u=t.styleSpec,c=[],h=i(r);if(\\\"object\\\"!==h)return[new n(e,r,\\\"object expected, \\\"+h+\\\" found\\\")];for(var f in r){var p=f.split(\\\".\\\")[0],d=o[p]||o[\\\"*\\\"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s[\\\"*\\\"])g=s[\\\"*\\\"];else{if(!o[\\\"*\\\"]){c.push(new n(e,r[f],'unknown property \\\"'+f+'\\\"'));continue}g=a}c=c.concat(g({key:(e?e+\\\".\\\":e)+f,value:r[f],valueSpec:d,style:l,styleSpec:u,object:r,objectKey:f},r))}for(var v in o)s[v]||o[v].required&&void 0===o[v].default&&void 0===r[v]&&c.push(new n(e,r,'missing required property \\\"'+v+'\\\"'));return c}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],177:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"paint\\\")}},{\\\"./validate_property\\\":178}],178:[function(t,e,r){var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\"),a=t(\\\"../util/get_type\\\"),o=t(\\\"../function\\\").isFunction,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t,e){var r=t.key,l=t.style,u=t.styleSpec,c=t.value,h=t.objectKey,f=u[e+\\\"_\\\"+t.layerType];if(!f)return[];var p=h.match(/^(.*)-transition$/);if(\\\"paint\\\"===e&&p&&f[p[1]]&&f[p[1]].transition)return n({key:r,value:c,valueSpec:u.transition,style:l,styleSpec:u});var d,g=t.valueSpec||f[h];if(!g)return[new i(r,c,'unknown property \\\"'+h+'\\\"')];if(\\\"string\\\"===a(c)&&g[\\\"property-function\\\"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(c)))return[new i(r,c,'\\\"'+h+'\\\" does not support interpolation syntax\\\\nUse an identity property function instead: `{ \\\"type\\\": \\\"identity\\\", \\\"property\\\": '+JSON.stringify(d[1])+\\\" }`.\\\")];var v=[];return\\\"symbol\\\"===t.layerType&&(\\\"text-field\\\"===h&&l&&!l.glyphs&&v.push(new i(r,c,'use of \\\"text-field\\\" requires a style \\\"glyphs\\\" property')),\\\"text-font\\\"===h&&o(s.deep(c))&&\\\"identity\\\"===s(c.type)&&v.push(new i(r,c,'\\\"text-font\\\" does not support identity functions'))),v.concat(n({key:t.key,value:c,valueSpec:g,style:l,styleSpec:u,expressionContext:\\\"property\\\",propertyKey:h}))}},{\\\"../error/validation_error\\\":122,\\\"../function\\\":149,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162}],179:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_enum\\\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\\\"type\\\" is required')];var u=i(e.type),c=[];switch(u){case\\\"vector\\\":case\\\"raster\\\":case\\\"raster-dem\\\":if(c=c.concat(a({key:r,value:e,valueSpec:s[\\\"source_\\\"+u.replace(\\\"-\\\",\\\"_\\\")],style:t.style,styleSpec:s})),\\\"url\\\"in e)for(var h in e)[\\\"type\\\",\\\"url\\\",\\\"tileSize\\\"].indexOf(h)<0&&c.push(new n(r+\\\".\\\"+h,e[h],'a source with a \\\"url\\\" property may not include a \\\"'+h+'\\\" property'));return c;case\\\"geojson\\\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\\\"video\\\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\\\"image\\\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});case\\\"canvas\\\":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+\\\".type\\\",value:e.type,valueSpec:{values:[\\\"vector\\\",\\\"raster\\\",\\\"raster-dem\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"]},style:l,styleSpec:s})}}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_object\\\":176}],180:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"string\\\"!==a?[new i(r,e,\\\"string expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],181:[function(t,e,r){function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\\\"\\\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:u,\\\"*\\\":function(){return[]}}})),t.constants&&(r=r.concat(o({key:\\\"constants\\\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\\\"./validate/validate_constants\\\"),s=t(\\\"./validate/validate\\\"),l=t(\\\"./reference/latest\\\"),u=t(\\\"./validate/validate_glyphs_url\\\");n.source=a(t(\\\"./validate/validate_source\\\")),n.light=a(t(\\\"./validate/validate_light\\\")),n.layer=a(t(\\\"./validate/validate_layer\\\")),n.filter=a(t(\\\"./validate/validate_filter\\\")),n.paintProperty=a(t(\\\"./validate/validate_paint_property\\\")),n.layoutProperty=a(t(\\\"./validate/validate_layout_property\\\")),e.exports=n},{\\\"./reference/latest\\\":151,\\\"./validate/validate\\\":162,\\\"./validate/validate_constants\\\":166,\\\"./validate/validate_filter\\\":169,\\\"./validate/validate_glyphs_url\\\":171,\\\"./validate/validate_layer\\\":172,\\\"./validate/validate_layout_property\\\":173,\\\"./validate/validate_light\\\":174,\\\"./validate/validate_paint_property\\\":177,\\\"./validate/validate_source\\\":179}],182:[function(t,e,r){var n=t(\\\"./zoom_history\\\"),i=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 n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{\\\"./zoom_history\\\":212}],183:[function(t,e,r){var n=t(\\\"../style-spec/reference/latest\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./validate_style\\\"),s=t(\\\"../util/util\\\").sphericalToCartesian,l=(t(\\\"../style-spec/util/color\\\"),t(\\\"../style-spec/util/interpolate\\\")),u=t(\\\"./properties\\\"),c=u.Properties,h=u.Transitionable,f=(u.Transitioning,u.PossiblyEvaluated,u.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new c({anchor:new f(n.light.anchor),position:new p,color:new f(n.light.color),intensity:new f(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new h(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,\\\"-transition\\\")?this._transitionable.setTransition(e.slice(0,-\\\"-transition\\\".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{\\\"../style-spec/reference/latest\\\":151,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./validate_style\\\":211}],184:[function(t,e,r){var n=t(\\\"../util/mapbox\\\").normalizeGlyphsURL,i=t(\\\"../util/ajax\\\"),a=t(\\\"./parse_glyph_pbf\\\");e.exports=function(t,e,r,o,s){var l=256*e,u=l+255,c=o(n(r).replace(\\\"{fontstack}\\\",t).replace(\\\"{range}\\\",l+\\\"-\\\"+u),i.ResourceType.Glyphs);i.getArrayBuffer(c,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n<i.length;n+=1){var o=i[n];r[o.id]=o}s(null,r)}})}},{\\\"../util/ajax\\\":251,\\\"../util/mapbox\\\":267,\\\"./parse_glyph_pbf\\\":186}],185:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/browser\\\"),a=t(\\\"../util/mapbox\\\").normalizeSpriteURL,o=t(\\\"../util/image\\\").RGBAImage;e.exports=function(t,e,r){function s(){if(c)r(c);else if(l&&u){var t=i.getImageData(u),e={};for(var n in l){var a=l[n],s=a.width,h=a.height,f=a.x,p=a.y,d=a.sdf,g=a.pixelRatio,v=new o({width:s,height:h});o.copy(t,v,{x:f,y:p},{x:0,y:0},{width:s,height:h}),e[n]={data:v,pixelRatio:g,sdf:d}}r(null,e)}}var l,u,c,h=i.devicePixelRatio>1?\\\"@2x\\\":\\\"\\\";n.getJSON(e(a(t,h,\\\".json\\\"),n.ResourceType.SpriteJSON),function(t,e){c||(c=t,l=e,s())}),n.getImage(e(a(t,h,\\\".png\\\"),n.ResourceType.SpriteImage),function(t,e){c||(c=t,u=e,s())})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/image\\\":263,\\\"../util/mapbox\\\":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,u=n.width,c=n.height,h=n.left,f=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:u+2*l,height:c+2*l},s),metrics:{width:u,height:c,left:h,top:f,advance:p}})}}function a(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())}var o=t(\\\"../util/image\\\").AlphaImage,s=t(\\\"pbf\\\"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{\\\"../util/image\\\":263,pbf:30}],187:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../symbol/placement\\\"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex<t.length;){var o=t[a._currentTileIndex];if(e.placeLayerTile(n,o,r,a._seenCrossTileIDs),a._currentTileIndex++,i())return!0}};var o=function(t,e,r,n,a){this.placement=new i(t,a),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};o.prototype.isDone=function(){return this._done},o.prototype.continuePlacement=function(t,e,r){for(var i=this,o=n.now(),s=function(){var t=n.now()-o;return!i._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],u=i.placement.collisionIndex.transform.zoom;if(\\\"symbol\\\"===l.type&&(!l.minzoom||l.minzoom<=u)&&(!l.maxzoom||l.maxzoom>u)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{\\\"../symbol/placement\\\":223,\\\"../util/browser\\\":252}],188:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t(\\\"../style-spec/util/interpolate\\\"),l=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,u=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),c=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};c.prototype.isDataDriven=function(){return\\\"source\\\"===this.expression.kind||\\\"composite\\\"===this.expression.kind},c.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var h=function(t){this.property=t,this.value=new c(t,void 0)};h.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},h.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var f=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};f.prototype.getValue=function(t){return i(this._values[t].value.value)},f.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].value=new c(this._values[t].property,null===e?void 0:i(e))},f.prototype.getTransition=function(t){return i(this._values[t].transition)},f.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].transition=i(e)||void 0},f.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);r<n.length;r+=1){var i=n[r],a=t.getValue(i);void 0!==a&&(e[i]=a);var o=t.getTransition(i);void 0!==o&&(e[i+\\\"-transition\\\"]=o)}return e},f.prototype.transitioned=function(t,e){for(var r=new d(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},f.prototype.untransitioned=function(){for(var t=new d(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 p=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};p.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,o(i))}return r};var d=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};d.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},d.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var g=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};g.prototype.getValue=function(t){return i(this._values[t].value)},g.prototype.setValue=function(t,e){this._values[t]=new c(this._values[t].property,null===e?void 0:i(e))},g.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},g.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var v=function(t,e,r){this.property=t,this.value=e,this.globals=r};v.prototype.isConstant=function(){return\\\"constant\\\"===this.value.kind},v.prototype.constantOr=function(t){return\\\"constant\\\"===this.value.kind?this.value.value:t},v.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var m=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};m.prototype.get=function(t){return this._values[t]};var y=function(t){this.specification=t};y.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},y.prototype.interpolate=function(t,e,r){var n=s[this.specification.type];return n?n(t,e,r):t};var x=function(t){this.specification=t};x.prototype.possiblyEvaluate=function(t,e){return\\\"constant\\\"===t.expression.kind||\\\"camera\\\"===t.expression.kind?new v(this,{kind:\\\"constant\\\",value:t.expression.evaluate(e)},e):new v(this,t.expression,e)},x.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){var n=s[this.specification.type];return n?new v(this,{kind:\\\"constant\\\",value:n(t.value.value,e.value.value,r)},t.globals):t}},x.prototype.evaluate=function(t,e,r){return\\\"constant\\\"===t.kind?t.value:t.evaluate(e,r)};var b=function(t){this.specification=t};b.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\\\"constant\\\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e)}},b.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};u(\\\"DataDrivenProperty\\\",x),u(\\\"DataConstantProperty\\\",y),u(\\\"CrossFadedProperty\\\",b),u(\\\"HeatmapColorProperty\\\",_),e.exports={PropertyValue:c,Transitionable:f,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:v,PossiblyEvaluated:m,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new c(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new h(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],189:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return\\\"constant\\\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);\\\"viewport\\\"===r&&o._rotate(-i);for(var s=[],l=0;l<t.length;l++){for(var u=t[l],c=[],h=0;h<u.length;h++)c.push(u[h].sub(o._mult(a)));s.push(c)}return s}}},{\\\"@mapbox/point-geometry\\\":4}],190:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"./style_layer\\\"),a=t(\\\"./load_sprite\\\"),o=t(\\\"../render/image_manager\\\"),s=t(\\\"../render/glyph_manager\\\"),l=t(\\\"./light\\\"),u=t(\\\"../render/line_atlas\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/ajax\\\"),f=t(\\\"../util/mapbox\\\"),p=t(\\\"../util/browser\\\"),d=t(\\\"../util/dispatcher\\\"),g=t(\\\"./validate_style\\\"),v=t(\\\"../source/source\\\").getType,m=t(\\\"../source/source\\\").setType,y=t(\\\"../source/query_features\\\"),x=t(\\\"../source/source_cache\\\"),b=(t(\\\"../source/geojson_source\\\"),t(\\\"../style-spec/reference/latest\\\")),_=t(\\\"../util/global_worker_pool\\\"),w=t(\\\"../style-spec/deref\\\"),M=t(\\\"../style-spec/diff\\\"),A=t(\\\"../source/rtl_text_plugin\\\"),k=t(\\\"./pauseable_placement\\\"),T=t(\\\"./zoom_history\\\"),S=t(\\\"../symbol/cross_tile_symbol_index\\\"),E=c.pick(M.operations,[\\\"addLayer\\\",\\\"removeLayer\\\",\\\"setPaintProperty\\\",\\\"setLayoutProperty\\\",\\\"setFilter\\\",\\\"addSource\\\",\\\"removeSource\\\",\\\"setLayerZoomRange\\\",\\\"setLight\\\",\\\"setTransition\\\",\\\"setGeoJSONSourceData\\\"]),C=c.pick(M.operations,[\\\"setCenter\\\",\\\"setZoom\\\",\\\"setBearing\\\",\\\"setPitch\\\"]),L=function(t){function e(e,r){var n=this;void 0===r&&(r={}),t.call(this),this.map=e,this.dispatcher=new d(_(),this),this.imageManager=new o,this.glyphManager=new s(e._transformRequest,r.localIdeographFontFamily),this.lineAtlas=new u(256,512),this.crossTileSymbolIndex=new S,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new T,this._loaded=!1,this._resetUpdates();var i=this;this._rtlTextPluginCallback=A.registerForPluginAvailability(function(t){for(var e in i.dispatcher.broadcast(\\\"loadRTLTextPlugin\\\",t.pluginBlobURL,t.errorCallback),i.sourceCaches)i.sourceCaches[e].reload()}),this.on(\\\"data\\\",function(t){if(\\\"source\\\"===t.dataType&&\\\"metadata\\\"===t.sourceDataType){var e=n.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var i in n._layers){var a=n._layers[i];a.source===r.id&&n._validateLayer(a)}}}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadURL=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"});var n=\\\"boolean\\\"==typeof e.validate?e.validate:!f.isMapboxURL(t);t=f.normalizeStyleURL(t,e.accessToken);var i=this.map._transformRequest(t,h.ResourceType.Style);h.getJSON(i,function(t,e){t?r.fire(\\\"error\\\",{error:t}):e&&r._load(e,n)})},e.prototype.loadJSON=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"}),p.frame(function(){r._load(t,!1!==e.validate)})},e.prototype._load=function(t,e){var r=this;if(!e||!g.emitErrors(this,g(t))){for(var n in this._loaded=!0,this.stylesheet=t,t.sources)r.addSource(n,t.sources[n],{validate:!1});t.sprite?a(t.sprite,this.map._transformRequest,function(t,e){if(t)r.fire(\\\"error\\\",t);else if(e)for(var n in e)r.imageManager.addImage(n,e[n]);r.imageManager.setLoaded(!0),r.fire(\\\"data\\\",{dataType:\\\"style\\\"})}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs);var o=w(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,u=o;s<u.length;s+=1){var c=u[s];(c=i.create(c)).setEventedParent(r,{layer:{id:c.id}}),r._layers[c.id]=c}this.dispatcher.broadcast(\\\"setLayers\\\",this._serializeLayers(this._order)),this.light=new l(this.stylesheet.light),this.fire(\\\"data\\\",{dataType:\\\"style\\\"}),this.fire(\\\"style.load\\\")}},e.prototype._validateLayer=function(t){var e=this.sourceCaches[t.source];if(e){var r=t.sourceLayer;if(r){var n=e.getSource();(\\\"geojson\\\"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(\\\"error\\\",{error:new Error('Source layer \\\"'+r+'\\\" does not exist on source \\\"'+n.id+'\\\" as specified by style layer \\\"'+t.id+'\\\"')})}}},e.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()},e.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},e.prototype.hasTransitions=function(){var t=this;if(this.light&&this.light.hasTransition())return!0;for(var e in t.sourceCaches)if(t.sourceCaches[e].hasTransition())return!0;for(var r in t._layers)if(t._layers[r].hasTransition())return!0;return!1},e.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\\\"Style is not done loading\\\")},e.prototype.update=function(t){var e=this;if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),e._updatedSources){var a=e._updatedSources[i];\\\"reload\\\"===a?e._reloadSource(i):\\\"clear\\\"===a&&e._clearSource(i)}for(var o in e._updatedPaintProps)e._layers[o].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates(),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})}for(var s in e.sourceCaches)e.sourceCaches[s].used=!1;for(var l=0,u=e._order;l<u.length;l+=1){var c=u[l],h=e._layers[c];h.recalculate(t),!h.isHidden(t.zoom)&&h.source&&(e.sourceCaches[h.source].used=!0)}this.light.recalculate(t),this.z=t.zoom}},e.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\\\"updateLayers\\\",{layers:this._serializeLayers(t),removedIds:e})},e.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},e.prototype.setState=function(t){var e=this;if(this._checkLoaded(),g.emitErrors(this,g(t)))return!1;(t=c.clone(t)).layers=w(t.layers);var r=M(this.serialize(),t).filter(function(t){return!(t.command in C)});if(0===r.length)return!1;var n=r.filter(function(t){return!(t.command in E)});if(n.length>0)throw new Error(\\\"Unimplemented: \\\"+n.map(function(t){return t.command}).join(\\\", \\\")+\\\".\\\");return r.forEach(function(t){\\\"setTransition\\\"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"An image with this name already exists.\\\")});this.imageManager.addImage(t,e),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"No image with this name exists.\\\")});this.imageManager.removeImage(t),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(\\\"There is already a source with this ID\\\");if(!e.type)throw new Error(\\\"The type property must be defined, but the only the following properties were given: \\\"+Object.keys(e).join(\\\", \\\")+\\\".\\\");if(!([\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"].indexOf(e.type)>=0&&this._validate(g.source,\\\"sources.\\\"+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\\\"There is no source with this ID\\\");for(var r in e._layers)if(e._layers[r].source===t)return e.fire(\\\"error\\\",{error:new Error('Source \\\"'+t+'\\\" cannot be removed while layer \\\"'+r+'\\\" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(\\\"data\\\",{sourceDataType:\\\"metadata\\\",dataType:\\\"source\\\",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if(\\\"object\\\"==typeof t.source&&(this.addSource(n,t.source),t=c.clone(t),t=c.extend(t,{source:n})),!this._validate(g.layer,\\\"layers.\\\"+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]=\\\"clear\\\":(this._updatedSources[a.source]=\\\"reload\\\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be moved.\\\")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be removed.\\\")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot have zoom extent.\\\")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return c.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,\\\"layers.\\\"+r.id+\\\".filter\\\",e)||(r.filter=c.clone(e),this._updateLayer(r)));this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be filtered.\\\")})},e.prototype.getFilter=function(t){return c.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?c.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!c.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return c.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return c.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:c.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\\\"reload\\\",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var u=l[s];e.push(u)}}return e},e.prototype.queryRenderedFeatures=function(t,e,r,n){var i=this;e&&e.filter&&this._validate(g.filter,\\\"queryRenderedFeatures.filter\\\",e.filter);var a={};if(e&&e.layers){if(!Array.isArray(e.layers))return this.fire(\\\"error\\\",{error:\\\"parameters.layers must be an Array.\\\"}),[];for(var o=0,s=e.layers;o<s.length;o+=1){var l=s[o],u=i._layers[l];if(!u)return i.fire(\\\"error\\\",{error:\\\"The layer '\\\"+l+\\\"' does not exist in the map's style and cannot be queried for features.\\\"}),[];a[u.source]=!0}}var c=[];for(var h in i.sourceCaches)if(!e.layers||a[h]){var f=y.rendered(i.sourceCaches[h],i._layers,t,e,r,n,i.placement?i.placement.collisionIndex:null);c.push(f)}return this._flattenRenderedFeatures(c)},e.prototype.querySourceFeatures=function(t,e){e&&e.filter&&this._validate(g.filter,\\\"querySourceFeatures.filter\\\",e.filter);var r=this.sourceCaches[t];return r?y.source(r,e):[]},e.prototype.addSourceType=function(t,e,r){return v(t)?r(new Error('A source type called \\\"'+t+'\\\" already exists.')):(m(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\\\"loadWorkerSource\\\",{name:t,url:e.workerSourceURL},r):r(null,null))},e.prototype.getLight=function(){return this.light.getLight()},e.prototype.setLight=function(t){this._checkLoaded();var e=this.light.getLight(),r=!1;for(var n in t)if(!c.deepEqual(t[n],e[n])){r=!0;break}if(r){var i={now:p.now(),transition:c.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t),this.light.updateTransitions(i)}},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&g.emitErrors(this,t.call(g,c.extend({key:e,style:this.serialize(),value:r,styleSpec:b},n)))},e.prototype._remove=function(){for(var t in A.evented.off(\\\"pluginAvailable\\\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[t].clearTiles();this.dispatcher.remove()},e.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},e.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},e.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},e.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},e.prototype._updatePlacement=function(t,e,r){for(var n=this,i=!1,a=!1,o={},s=0,l=n._order;s<l.length;s+=1){var u=l[s],c=n._layers[u];if(\\\"symbol\\\"===c.type){if(!o[c.source]){var h=n.sourceCaches[c.source];o[c.source]=h.getRenderableIds().map(function(t){return h.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var f=n.crossTileSymbolIndex.addLayer(c,o[c.source]);i=i||f}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(p.now()))&&(this.pauseablePlacement=new k(t,this._order,d,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,p.now()),a=!0),i&&this.pauseablePlacement.placement.setStale()),a||i)for(var g=0,v=n._order;g<v.length;g+=1){var m=v[g],y=n._layers[m];\\\"symbol\\\"===y.type&&n.placement.updateLayerOpacities(y,o[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(p.now())},e.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},e.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},e}(n);e.exports=L},{\\\"../render/glyph_manager\\\":86,\\\"../render/image_manager\\\":88,\\\"../render/line_atlas\\\":89,\\\"../source/geojson_source\\\":99,\\\"../source/query_features\\\":105,\\\"../source/rtl_text_plugin\\\":109,\\\"../source/source\\\":110,\\\"../source/source_cache\\\":111,\\\"../style-spec/deref\\\":120,\\\"../style-spec/diff\\\":121,\\\"../style-spec/reference/latest\\\":151,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dispatcher\\\":258,\\\"../util/evented\\\":260,\\\"../util/global_worker_pool\\\":262,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./light\\\":183,\\\"./load_sprite\\\":185,\\\"./pauseable_placement\\\":187,\\\"./style_layer\\\":191,\\\"./validate_style\\\":211,\\\"./zoom_history\\\":212}],191:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/reference/latest\\\"),a=t(\\\"./validate_style\\\"),o=t(\\\"../util/evented\\\"),s=t(\\\"./properties\\\"),l=s.Layout,u=s.Transitionable,c=(s.Transitioning,s.Properties,function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\\\"visible\\\",\\\"background\\\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\\\"source-layer\\\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new l(r.layout)),this._transitionablePaint=new u(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\\\"visibility\\\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!==e&&void 0!==e){var n=\\\"layers.\\\"+this.id+\\\".layout.\\\"+t;if(this._validate(a.layoutProperty,n,t,e,r))return}\\\"visibility\\\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\\\"none\\\"===e?e:\\\"visible\\\"},e.prototype.getPaintProperty=function(t){return n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.getTransition(t.slice(0,-\\\"-transition\\\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!==e&&void 0!==e){var i=\\\"layers.\\\"+this.id+\\\".paint.\\\"+t;if(this._validate(a.paintProperty,i,t,e,r))return}n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.setTransition(t.slice(0,-\\\"-transition\\\".length),e||void 0):this._transitionablePaint.setValue(t,e)},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){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},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\\\"none\\\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\\\"none\\\"),n.filterObject(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,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=c;var h={circle:t(\\\"./style_layer/circle_style_layer\\\"),heatmap:t(\\\"./style_layer/heatmap_style_layer\\\"),hillshade:t(\\\"./style_layer/hillshade_style_layer\\\"),fill:t(\\\"./style_layer/fill_style_layer\\\"),\\\"fill-extrusion\\\":t(\\\"./style_layer/fill_extrusion_style_layer\\\"),line:t(\\\"./style_layer/line_style_layer\\\"),symbol:t(\\\"./style_layer/symbol_style_layer\\\"),background:t(\\\"./style_layer/background_style_layer\\\"),raster:t(\\\"./style_layer/raster_style_layer\\\")};c.create=function(t){return new h[t.type](t)}},{\\\"../style-spec/reference/latest\\\":151,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./style_layer/background_style_layer\\\":192,\\\"./style_layer/circle_style_layer\\\":194,\\\"./style_layer/fill_extrusion_style_layer\\\":196,\\\"./style_layer/fill_style_layer\\\":198,\\\"./style_layer/heatmap_style_layer\\\":200,\\\"./style_layer/hillshade_style_layer\\\":202,\\\"./style_layer/line_style_layer\\\":204,\\\"./style_layer/raster_style_layer\\\":206,\\\"./style_layer/symbol_style_layer\\\":208,\\\"./validate_style\\\":211}],192:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./background_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./background_style_layer_properties\\\":193}],193:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({\\\"background-color\\\":new o(n.paint_background[\\\"background-color\\\"]),\\\"background-pattern\\\":new s(n.paint_background[\\\"background-pattern\\\"]),\\\"background-opacity\\\":new o(n.paint_background[\\\"background-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],194:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/circle_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiPoint,o=t(\\\"../query_utils\\\"),s=o.getMaximumPaintValue,l=o.translateDistance,u=o.translate,c=t(\\\"./circle_style_layer_properties\\\"),h=t(\\\"../properties\\\"),f=(h.Transitionable,h.Transitioning,h.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s(\\\"circle-radius\\\",this,e)+s(\\\"circle-stroke-width\\\",this,e)+l(this.paint.get(\\\"circle-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=u(t,this.paint.get(\\\"circle-translate\\\"),this.paint.get(\\\"circle-translate-anchor\\\"),i,o),l=this.paint.get(\\\"circle-radius\\\").evaluate(e)*o,c=this.paint.get(\\\"circle-stroke-width\\\").evaluate(e)*o;return a(s,r,l+c)},e}(n));e.exports=f},{\\\"../../data/bucket/circle_bucket\\\":42,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./circle_style_layer_properties\\\":195}],195:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"circle-radius\\\":new s(n.paint_circle[\\\"circle-radius\\\"]),\\\"circle-color\\\":new s(n.paint_circle[\\\"circle-color\\\"]),\\\"circle-blur\\\":new s(n.paint_circle[\\\"circle-blur\\\"]),\\\"circle-opacity\\\":new s(n.paint_circle[\\\"circle-opacity\\\"]),\\\"circle-translate\\\":new o(n.paint_circle[\\\"circle-translate\\\"]),\\\"circle-translate-anchor\\\":new o(n.paint_circle[\\\"circle-translate-anchor\\\"]),\\\"circle-pitch-scale\\\":new o(n.paint_circle[\\\"circle-pitch-scale\\\"]),\\\"circle-pitch-alignment\\\":new o(n.paint_circle[\\\"circle-pitch-alignment\\\"]),\\\"circle-stroke-width\\\":new s(n.paint_circle[\\\"circle-stroke-width\\\"]),\\\"circle-stroke-color\\\":new s(n.paint_circle[\\\"circle-stroke-color\\\"]),\\\"circle-stroke-opacity\\\":new s(n.paint_circle[\\\"circle-stroke-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],196:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_extrusion_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,u=t(\\\"./fill_extrusion_style_layer_properties\\\"),c=t(\\\"../properties\\\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-extrusion-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-extrusion-translate\\\"),this.paint.get(\\\"fill-extrusion-translate-anchor\\\"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"fill-extrusion-opacity\\\")&&\\\"none\\\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=h},{\\\"../../data/bucket/fill_extrusion_bucket\\\":46,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_extrusion_style_layer_properties\\\":197}],197:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\\\"fill-extrusion-opacity\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-opacity\\\"]),\\\"fill-extrusion-color\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-color\\\"]),\\\"fill-extrusion-translate\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate\\\"]),\\\"fill-extrusion-translate-anchor\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate-anchor\\\"]),\\\"fill-extrusion-pattern\\\":new l(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-pattern\\\"]),\\\"fill-extrusion-height\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-height\\\"]),\\\"fill-extrusion-base\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-base\\\"])}));e.exports={paint:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],198:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,u=t(\\\"./fill_style_layer_properties\\\"),c=t(\\\"../properties\\\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue(\\\"fill-outline-color\\\")&&(this.paint._values[\\\"fill-outline-color\\\"]=this.paint._values[\\\"fill-color\\\"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-translate\\\"),this.paint.get(\\\"fill-translate-anchor\\\"),i,o);return a(s,r)},e}(n));e.exports=h},{\\\"../../data/bucket/fill_bucket\\\":44,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_style_layer_properties\\\":199}],199:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\\\"fill-antialias\\\":new o(n.paint_fill[\\\"fill-antialias\\\"]),\\\"fill-opacity\\\":new s(n.paint_fill[\\\"fill-opacity\\\"]),\\\"fill-color\\\":new s(n.paint_fill[\\\"fill-color\\\"]),\\\"fill-outline-color\\\":new s(n.paint_fill[\\\"fill-outline-color\\\"]),\\\"fill-translate\\\":new o(n.paint_fill[\\\"fill-translate\\\"]),\\\"fill-translate-anchor\\\":new o(n.paint_fill[\\\"fill-translate-anchor\\\"]),\\\"fill-pattern\\\":new l(n.paint_fill[\\\"fill-pattern\\\"])}));e.exports={paint:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],200:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/heatmap_bucket\\\"),a=t(\\\"../../util/image\\\").RGBAImage,o=t(\\\"./heatmap_style_layer_properties\\\"),s=t(\\\"../properties\\\"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\\\"heatmap-color\\\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values[\\\"heatmap-color\\\"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n<r;n+=4){var i=t.evaluate({heatmapDensity:n/r});e[n+0]=Math.floor(255*i.r/i.a),e[n+1]=Math.floor(255*i.g/i.a),e[n+2]=Math.floor(255*i.b/i.a),e[n+3]=Math.floor(255*i.a)}this.colorRamp=new a({width:256,height:1},e),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}(n));e.exports=l},{\\\"../../data/bucket/heatmap_bucket\\\":47,\\\"../../util/image\\\":263,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./heatmap_style_layer_properties\\\":201}],201:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty),u=new a({\\\"heatmap-radius\\\":new s(n.paint_heatmap[\\\"heatmap-radius\\\"]),\\\"heatmap-weight\\\":new s(n.paint_heatmap[\\\"heatmap-weight\\\"]),\\\"heatmap-intensity\\\":new o(n.paint_heatmap[\\\"heatmap-intensity\\\"]),\\\"heatmap-color\\\":new l(n.paint_heatmap[\\\"heatmap-color\\\"]),\\\"heatmap-opacity\\\":new o(n.paint_heatmap[\\\"heatmap-opacity\\\"])});e.exports={paint:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],202:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./hillshade_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"hillshade-exaggeration\\\")&&\\\"none\\\"!==this.visibility},e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./hillshade_style_layer_properties\\\":203}],203:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"hillshade-illumination-direction\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-direction\\\"]),\\\"hillshade-illumination-anchor\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-anchor\\\"]),\\\"hillshade-exaggeration\\\":new o(n.paint_hillshade[\\\"hillshade-exaggeration\\\"]),\\\"hillshade-shadow-color\\\":new o(n.paint_hillshade[\\\"hillshade-shadow-color\\\"]),\\\"hillshade-highlight-color\\\":new o(n.paint_hillshade[\\\"hillshade-highlight-color\\\"]),\\\"hillshade-accent-color\\\":new o(n.paint_hillshade[\\\"hillshade-accent-color\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],204:[function(t,e,r){function n(t,e){return e>0?e+2*t:t}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../style_layer\\\"),o=t(\\\"../../data/bucket/line_bucket\\\"),s=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiLine,l=t(\\\"../query_utils\\\"),u=l.getMaximumPaintValue,c=l.translateDistance,h=l.translate,f=t(\\\"./line_style_layer_properties\\\"),p=t(\\\"../../util/util\\\").extend,d=t(\\\"../evaluation_parameters\\\"),g=t(\\\"../properties\\\"),v=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(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){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(f.paint.properties[\\\"line-width\\\"].specification));v.useIntegerZoom=!0;var m=function(t){function e(e){t.call(this,e,f)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\\\"line-floorwidth\\\"]=v.possiblyEvaluate(this._transitioningPaint._values[\\\"line-width\\\"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(u(\\\"line-width\\\",this,e),u(\\\"line-gap-width\\\",this,e)),i=u(\\\"line-offset\\\",this,e);return r/2+Math.abs(i)+c(this.paint.get(\\\"line-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var u=h(t,this.paint.get(\\\"line-translate\\\"),this.paint.get(\\\"line-translate-anchor\\\"),o,l),c=l/2*n(this.paint.get(\\\"line-width\\\").evaluate(e),this.paint.get(\\\"line-gap-width\\\").evaluate(e)),f=this.paint.get(\\\"line-offset\\\").evaluate(e);return f&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var u=o[l-1],c=o[l],h=o[l+1],f=0===l?n:c.sub(u)._unit()._perp(),p=l===o.length-1?n:h.sub(c)._unit()._perp(),d=f._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(c))}r.push(s)}return r}(r,f*l)),s(u,r,c)},e}(a);e.exports=m},{\\\"../../data/bucket/line_bucket\\\":49,\\\"../../util/intersection_tests\\\":264,\\\"../../util/util\\\":275,\\\"../evaluation_parameters\\\":182,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./line_style_layer_properties\\\":205,\\\"@mapbox/point-geometry\\\":4}],205:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\\\"line-cap\\\":new o(n.layout_line[\\\"line-cap\\\"]),\\\"line-join\\\":new s(n.layout_line[\\\"line-join\\\"]),\\\"line-miter-limit\\\":new o(n.layout_line[\\\"line-miter-limit\\\"]),\\\"line-round-limit\\\":new o(n.layout_line[\\\"line-round-limit\\\"])})),c=new a({\\\"line-opacity\\\":new s(n.paint_line[\\\"line-opacity\\\"]),\\\"line-color\\\":new s(n.paint_line[\\\"line-color\\\"]),\\\"line-translate\\\":new o(n.paint_line[\\\"line-translate\\\"]),\\\"line-translate-anchor\\\":new o(n.paint_line[\\\"line-translate-anchor\\\"]),\\\"line-width\\\":new s(n.paint_line[\\\"line-width\\\"]),\\\"line-gap-width\\\":new s(n.paint_line[\\\"line-gap-width\\\"]),\\\"line-offset\\\":new s(n.paint_line[\\\"line-offset\\\"]),\\\"line-blur\\\":new s(n.paint_line[\\\"line-blur\\\"]),\\\"line-dasharray\\\":new l(n.paint_line[\\\"line-dasharray\\\"]),\\\"line-pattern\\\":new l(n.paint_line[\\\"line-pattern\\\"])});e.exports={paint:c,layout:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],206:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./raster_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./raster_style_layer_properties\\\":207}],207:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"raster-opacity\\\":new o(n.paint_raster[\\\"raster-opacity\\\"]),\\\"raster-hue-rotate\\\":new o(n.paint_raster[\\\"raster-hue-rotate\\\"]),\\\"raster-brightness-min\\\":new o(n.paint_raster[\\\"raster-brightness-min\\\"]),\\\"raster-brightness-max\\\":new o(n.paint_raster[\\\"raster-brightness-max\\\"]),\\\"raster-saturation\\\":new o(n.paint_raster[\\\"raster-saturation\\\"]),\\\"raster-contrast\\\":new o(n.paint_raster[\\\"raster-contrast\\\"]),\\\"raster-fade-duration\\\":new o(n.paint_raster[\\\"raster-fade-duration\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],208:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/symbol_bucket\\\"),a=t(\\\"../../util/token\\\"),o=t(\\\"../../style-spec/expression\\\").isExpression,s=t(\\\"./symbol_style_layer_properties\\\"),l=t(\\\"../properties\\\"),u=(l.Transitionable,l.Transitioning,l.Layout,l.PossiblyEvaluated,function(t){function e(e){t.call(this,e,s)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\\\"auto\\\"===this.layout.get(\\\"icon-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"viewport\\\"),\\\"auto\\\"===this.layout.get(\\\"text-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"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\\\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||o(n.value)?r:a(e.properties,r)},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(n));e.exports=u},{\\\"../../data/bucket/symbol_bucket\\\":51,\\\"../../style-spec/expression\\\":139,\\\"../../util/token\\\":274,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./symbol_style_layer_properties\\\":209}],209:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"symbol-placement\\\":new o(n.layout_symbol[\\\"symbol-placement\\\"]),\\\"symbol-spacing\\\":new o(n.layout_symbol[\\\"symbol-spacing\\\"]),\\\"symbol-avoid-edges\\\":new o(n.layout_symbol[\\\"symbol-avoid-edges\\\"]),\\\"icon-allow-overlap\\\":new o(n.layout_symbol[\\\"icon-allow-overlap\\\"]),\\\"icon-ignore-placement\\\":new o(n.layout_symbol[\\\"icon-ignore-placement\\\"]),\\\"icon-optional\\\":new o(n.layout_symbol[\\\"icon-optional\\\"]),\\\"icon-rotation-alignment\\\":new o(n.layout_symbol[\\\"icon-rotation-alignment\\\"]),\\\"icon-size\\\":new s(n.layout_symbol[\\\"icon-size\\\"]),\\\"icon-text-fit\\\":new o(n.layout_symbol[\\\"icon-text-fit\\\"]),\\\"icon-text-fit-padding\\\":new o(n.layout_symbol[\\\"icon-text-fit-padding\\\"]),\\\"icon-image\\\":new s(n.layout_symbol[\\\"icon-image\\\"]),\\\"icon-rotate\\\":new s(n.layout_symbol[\\\"icon-rotate\\\"]),\\\"icon-padding\\\":new o(n.layout_symbol[\\\"icon-padding\\\"]),\\\"icon-keep-upright\\\":new o(n.layout_symbol[\\\"icon-keep-upright\\\"]),\\\"icon-offset\\\":new s(n.layout_symbol[\\\"icon-offset\\\"]),\\\"icon-anchor\\\":new s(n.layout_symbol[\\\"icon-anchor\\\"]),\\\"icon-pitch-alignment\\\":new o(n.layout_symbol[\\\"icon-pitch-alignment\\\"]),\\\"text-pitch-alignment\\\":new o(n.layout_symbol[\\\"text-pitch-alignment\\\"]),\\\"text-rotation-alignment\\\":new o(n.layout_symbol[\\\"text-rotation-alignment\\\"]),\\\"text-field\\\":new s(n.layout_symbol[\\\"text-field\\\"]),\\\"text-font\\\":new s(n.layout_symbol[\\\"text-font\\\"]),\\\"text-size\\\":new s(n.layout_symbol[\\\"text-size\\\"]),\\\"text-max-width\\\":new s(n.layout_symbol[\\\"text-max-width\\\"]),\\\"text-line-height\\\":new o(n.layout_symbol[\\\"text-line-height\\\"]),\\\"text-letter-spacing\\\":new s(n.layout_symbol[\\\"text-letter-spacing\\\"]),\\\"text-justify\\\":new s(n.layout_symbol[\\\"text-justify\\\"]),\\\"text-anchor\\\":new s(n.layout_symbol[\\\"text-anchor\\\"]),\\\"text-max-angle\\\":new o(n.layout_symbol[\\\"text-max-angle\\\"]),\\\"text-rotate\\\":new s(n.layout_symbol[\\\"text-rotate\\\"]),\\\"text-padding\\\":new o(n.layout_symbol[\\\"text-padding\\\"]),\\\"text-keep-upright\\\":new o(n.layout_symbol[\\\"text-keep-upright\\\"]),\\\"text-transform\\\":new s(n.layout_symbol[\\\"text-transform\\\"]),\\\"text-offset\\\":new s(n.layout_symbol[\\\"text-offset\\\"]),\\\"text-allow-overlap\\\":new o(n.layout_symbol[\\\"text-allow-overlap\\\"]),\\\"text-ignore-placement\\\":new o(n.layout_symbol[\\\"text-ignore-placement\\\"]),\\\"text-optional\\\":new o(n.layout_symbol[\\\"text-optional\\\"])})),u=new a({\\\"icon-opacity\\\":new s(n.paint_symbol[\\\"icon-opacity\\\"]),\\\"icon-color\\\":new s(n.paint_symbol[\\\"icon-color\\\"]),\\\"icon-halo-color\\\":new s(n.paint_symbol[\\\"icon-halo-color\\\"]),\\\"icon-halo-width\\\":new s(n.paint_symbol[\\\"icon-halo-width\\\"]),\\\"icon-halo-blur\\\":new s(n.paint_symbol[\\\"icon-halo-blur\\\"]),\\\"icon-translate\\\":new o(n.paint_symbol[\\\"icon-translate\\\"]),\\\"icon-translate-anchor\\\":new o(n.paint_symbol[\\\"icon-translate-anchor\\\"]),\\\"text-opacity\\\":new s(n.paint_symbol[\\\"text-opacity\\\"]),\\\"text-color\\\":new s(n.paint_symbol[\\\"text-color\\\"]),\\\"text-halo-color\\\":new s(n.paint_symbol[\\\"text-halo-color\\\"]),\\\"text-halo-width\\\":new s(n.paint_symbol[\\\"text-halo-width\\\"]),\\\"text-halo-blur\\\":new s(n.paint_symbol[\\\"text-halo-blur\\\"]),\\\"text-translate\\\":new o(n.paint_symbol[\\\"text-translate\\\"]),\\\"text-translate-anchor\\\":new o(n.paint_symbol[\\\"text-translate-anchor\\\"])});e.exports={paint:u,layout:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],210:[function(t,e,r){var n=t(\\\"./style_layer\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../style-spec/feature_filter\\\"),o=t(\\\"../style-spec/group_by_layout\\\"),s=function(t){t&&this.replace(t)};s.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},s.prototype.update=function(t,e){for(var r=this,s=0,l=t;s<l.length;s+=1){var u=l[s];r._layerConfigs[u.id]=u;var c=r._layers[u.id]=n.create(u);c._featureFilter=a(c.filter)}for(var h=0,f=e;h<f.length;h+=1){var p=f[h];delete r._layerConfigs[p],delete r._layers[p]}this.familiesBySource={};for(var d=0,g=o(i.values(this._layerConfigs));d<g.length;d+=1){var v=g[d].map(function(t){return r._layers[t.id]}),m=v[0];if(\\\"none\\\"!==m.visibility){var y=m.source||\\\"\\\",x=r.familiesBySource[y];x||(x=r.familiesBySource[y]={});var b=m.sourceLayer||\\\"_geojsonTileLayer\\\",_=x[b];_||(_=x[b]=[]),_.push(v)}}},e.exports=s},{\\\"../style-spec/feature_filter\\\":148,\\\"../style-spec/group_by_layout\\\":150,\\\"../util/util\\\":275,\\\"./style_layer\\\":191}],211:[function(t,e,r){e.exports=t(\\\"../style-spec/validate_style.min\\\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0,n=e;r<n.length;r+=1){var i=n[r].message;t.fire(\\\"error\\\",{error:new Error(i)})}return!0}return!1}},{\\\"../style-spec/validate_style.min\\\":181}],212:[function(t,e,r){var n=function(){this.first=!0};n.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))},e.exports=n},{}],213:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../util/web_worker_transfer\\\").register,a=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(n);i(\\\"Anchor\\\",a),e.exports=a},{\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],214:[function(t,e,r){e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var p=c.angleTo(h)-h.angleTo(f);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),u+=p;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}},{}],215:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports=function(t,e,r,i,a){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],u=void 0,c=0;c<l.length-1;c++){var h=l[c],f=l[c+1];h.x<e&&f.x<e||(h.x<e?h=new n(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new n(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round()),h.y<r&&f.y<r||(h.y<r?h=new n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=i&&f.x>=i||(h.x>=i?h=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round():f.x>=i&&(f=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),u&&h.equals(u[u.length-1])||(u=[h],o.push(u)),u.push(f)))))}return o}},{\\\"@mapbox/point-geometry\\\":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,u){var g=f-h,v=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,v,g,n,i,a,c))}else t.emplaceBack(r.x,r.y,p,h,d,f,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,u){var c=a/2,h=Math.floor(i/c),f=1+.4*Math.log(u)/Math.LN2,p=Math.floor(h*f/2),d=-a/2,g=r,v=n+1,m=d,y=-i/2,x=y-i/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_<h+p;_++){var w=_*c,M=y+w;if(w<0&&(M+=w),w>i&&(M+=w-i),!(M<m)){for(;m+b<M;){if(m+=b,++v+1>=e.length)return;b=e[v].dist(e[v+1])}var A=M-m,k=e[v],T=e[v+1].sub(k)._unit()._mult(A)._add(k)._round(),S=Math.abs(M-d)<c?0:.8*(M-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}},e.exports=n},{}],217:[function(t,e,r){function n(t,e,r){t[e+4]=r?1:0}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../util/intersection_tests\\\"),o=t(\\\"./grid_index\\\"),s=(t(\\\"@mapbox/gl-matrix\\\").mat4,t(\\\"../symbol/projection\\\")),l=function(t,e,r){void 0===e&&(e=new o(t.width+200,t.height+200,25)),void 0===r&&(r=new o(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};l.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,u=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,u)?{box:[],offscreen:!1}:{box:[o,s,l,u],offscreen:this.isOffscreen(o,s,l,u)}},l.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},l.prototype.placeCollisionCircles=function(t,e,r,a,o,l,u,c,h,f,p,d,g){var v=this,m=[],y=this.projectAnchor(f,l.anchorX,l.anchorY),x=h/24,b=l.lineOffsetX*h,_=l.lineOffsetY*h,w=new i(l.anchorX,l.anchorY),M=s.project(w,p).point,A=s.placeFirstAndLastGlyph(x,c,b,_,!1,M,w,l,u,p,{},!0),k=!1,T=!0,S=y.perspectiveRatio*a,E=1/(a*r),C=0,L=0;A&&(C=this.approximateTileDistance(A.first.tileDistance,A.first.angle,E,y.cameraDistance,g),L=this.approximateTileDistance(A.last.tileDistance,A.last.angle,E,y.cameraDistance,g));for(var z=0;z<t.length;z+=5){var P=t[z],I=t[z+1],D=t[z+2],O=t[z+3];if(!A||O<-C||O>L)n(t,z,!1);else{var R=v.projectPoint(f,P,I),F=D*S;if(m.length>0){var B=R.x-m[m.length-4],N=R.y-m[m.length-3];if(F*F*2>B*B+N*N&&z+8<t.length){var j=t[z+8];if(j>-C&&j<L){n(t,z,!1);continue}}}var V=z/5;if(m.push(R.x,R.y,F,V),n(t,z,!0),T=T&&v.isOffscreen(R.x-F,R.y-F,R.x+F,R.y+F),!e&&v.grid.hitTestCircle(R.x,R.y,F)){if(!d)return{circles:[],offscreen:!1};k=!0}}}return{circles:k?[]:m,offscreen:T}},l.prototype.queryRenderedSymbols=function(t,e,r,n,o,s){var l={},u=[];if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return u;for(var c=this.transform.calculatePosMatrix(e.toUnwrapped()),h=[],f=1/0,p=1/0,d=-1/0,g=-1/0,v=0;v<t.length;v++)for(var m=t[v],y=0;y<m.length;y++){var x=this.projectPoint(c,m[y].x,m[y].y);f=Math.min(f,x.x),p=Math.min(p,x.y),d=Math.max(d,x.x),g=Math.max(g,x.y),h.push(x)}for(var b=e.key,_=[],w=this.grid.query(f,p,d,g),M=0;M<w.length;M++)w[M].sourceID===o&&w[M].tileID===b&&s[w[M].bucketInstanceId]&&_.push(w[M].boxIndex);for(var A=this.ignoredGrid.query(f,p,d,g),k=0;k<A.length;k++)A[k].sourceID===o&&A[k].tileID===b&&s[A[k].bucketInstanceId]&&_.push(A[k].boxIndex);for(var T=0;T<_.length;T++){var S=n.get(_[T]),E=S.sourceLayerIndex,C=S.featureIndex,L=S.bucketIndex;if(void 0===l[E]&&(l[E]={}),void 0===l[E][C]&&(l[E][C]={}),!l[E][C][L]){var z=this.projectAndGetPerspectiveRatio(c,S.anchorPointX,S.anchorPointY),P=r*z.perspectiveRatio,I=S.x1*P+z.point.x,D=S.y1*P+z.point.y,O=S.x2*P+z.point.x,R=S.y2*P+z.point.y,F=[new i(I,D),new i(O,D),new i(O,R),new i(I,R)];a.polygonIntersectsPolygon(h,F)&&(l[E][C][L]=!0,u.push(_[T]))}}return u},l.prototype.insertCollisionBox=function(t,e,r,n,i,a){var o={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a};(e?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])},l.prototype.insertCollisionCircles=function(t,e,r,n,i,a){for(var o=e?this.ignoredGrid:this.grid,s=0;s<t.length;s+=4){var l={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a+t[s+3]};o.insertCircle(l,t[s],t[s+1],t[s+2])}},l.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},l.prototype.projectPoint=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100)},l.prototype.projectAndGetPerspectiveRatio=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{point:new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5}},l.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{\\\"../symbol/projection\\\":224,\\\"../util/intersection_tests\\\":264,\\\"./grid_index\\\":220,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],218:[function(t,e,r){var n=t(\\\"../data/extent\\\"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.key;n.indexedSymbolInstances[s]||(n.indexedSymbolInstances[s]=[]),n.indexedSymbolInstances[s].push({crossTileID:o.crossTileID,coord:n.getScaledCoordinates(o,t)})}};a.prototype.getScaledCoordinates=function(t,e){var r=e.canonical.z-this.tileID.canonical.z,a=i/Math.pow(2,r),o=t.anchor;return{x:Math.floor((e.canonical.x*n+o.x)*a),y:Math.floor((e.canonical.y*n+o.y)*a)}},a.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),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),u=0,c=s;u<c.length;u+=1){var h=c[u];if(Math.abs(h.coord.x-l.x)<=n&&Math.abs(h.coord.y-l.y)<=n&&!r[h.crossTileID]){r[h.crossTileID]=!0,o.crossTileID=h.crossTileID;break}}}}};var o=function(){this.maxCrossTileID=0};o.prototype.generate=function(){return++this.maxCrossTileID};var s=function(){this.indexes={},this.usedCrossTileIDs={}};s.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,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var o=this.usedCrossTileIDs[t.overscaledZ];for(var s in this.indexes){var l=this.indexes[s];if(Number(s)>t.overscaledZ)for(var u in l){var c=l[u];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,o)}else{var h=l[t.scaledTo(Number(s)).key];h&&h.findMatches(e.symbolInstances,t,o)}}for(var f=0,p=e.symbolInstances;f<p.length;f+=1){var d=p[f];d.crossTileID||(d.crossTileID=r.generate(),o[d.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new a(t,e.symbolInstances,e.bucketInstanceId),!0},s.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},s.prototype.removeStaleBuckets=function(t){var e=this,r=!1;for(var n in e.indexes){var i=e.indexes[n];for(var a in i)t[i[a].bucketInstanceId]||(e.removeBucketCrossTileIDs(n,i[a]),delete i[a],r=!0)}return r};var l=function(){this.layerIndexes={},this.crossTileIDs=new o,this.maxBucketInstanceId=0};l.prototype.addLayer=function(t,e){var r=this.layerIndexes[t.id];void 0===r&&(r=this.layerIndexes[t.id]=new s);for(var n=!1,i={},a=0,o=e;a<o.length;a+=1){var l=o[a],u=l.getBucket(t);u&&(u.bucketInstanceId||(u.bucketInstanceId=++this.maxBucketInstanceId),r.addBucket(l.tileID,u,this.crossTileIDs)&&(n=!0),i[u.bucketInstanceId]=!0)}return r.removeStaleBuckets(i)&&(n=!0),n},l.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]},e.exports=l},{\\\"../data/extent\\\":53}],219:[function(t,e,r){var n=t(\\\"../style-spec/util/interpolate\\\").number,i=t(\\\"../symbol/anchor\\\"),a=t(\\\"./check_max_angle\\\");e.exports=function(t,e,r,o,s,l,u,c,h){var f=o?.6*l*u:0,p=Math.max(o?o.right-o.left:0,s?s.right-s.left:0),d=0===t[0].x||t[0].x===h||0===t[0].y||t[0].y===h;return e-p*u<e/4&&(e=p*u+e/4),function t(e,r,o,s,l,u,c,h,f){for(var p=u/2,d=0,g=0;g<e.length-1;g++)d+=e[g].dist(e[g+1]);for(var v=0,m=r-o,y=[],x=0;x<e.length-1;x++){for(var b=e[x],_=e[x+1],w=b.dist(_),M=_.angleTo(b);m+o<v+w;){var A=((m+=o)-v)/w,k=n(b.x,_.x,A),T=n(b.y,_.y,A);if(k>=0&&k<f&&T>=0&&T<f&&m-p>=0&&m+p<=d){var S=new i(k,T,M,x);S._round(),s&&!a(e,S,u,s,l)||y.push(S)}}v+=w}return h||y.length||c||(y=t(e,v/2,o,s,l,u,c,!0,f)),y}(t,d?e/2*c%e:(p/2+2*l)*u*c%e,e,f,r,p*u,d,!1,h)}},{\\\"../style-spec/util/interpolate\\\":158,\\\"../symbol/anchor\\\":213,\\\"./check_max_angle\\\":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.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};n.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.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)},n.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},n.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},n.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,u),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=c[d+2]&&e<=c[d+3]&&r>=c[d+0]&&n>=c[d+1]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(s._circleAndRectCollide(v[b],v[b+1],v[b+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;a.push(s.circleKeys[x])}}}},n.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,c[d+0],c[d+1],c[d+2],c[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circlesCollide(v[b],v[b+1],v[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),c=this._convertToYCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var p=this.xCellCount*f+h;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},n.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},n.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var h=l-s,f=c-u;return h*h+f*f<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\\\":\\\"+n.x+\\\":\\\"+n.y}for(var a={},o={},s=[],l=0,u=0;u<t.length;u++){var c=t[u],h=c.geometry,f=c.text;if(f){var p=i(f,h),d=i(f,h,!0);if(p in o&&d in a&&o[p]!==a[d]){var g=n(p,d,h),v=r(p,d,s[g].geometry);delete a[p],delete o[d],o[i(f,s[v].geometry,!0)]=v,s[g].geometry=null}else p in o?r(p,d,h):d in a?n(p,d,h):(e(u),a[p]=l-1,o[d]=l-1)}else e(u)}return s.filter(function(t){return t.geometry})}},{}],222:[function(t,e,r){var n=t(\\\"../util/web_worker_transfer\\\").register,i=function(){this.opacity=0,this.targetOpacity=0,this.time=0};i.prototype.clone=function(){var t=new i;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},n(\\\"OpacityState\\\",i),e.exports=i},{\\\"../util/web_worker_transfer\\\":278}],223:[function(t,e,r){function n(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}function i(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*g+e*v+r*m+e*y+r*x+e*b+r*_+e}var a=t(\\\"./collision_index\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"./symbol_size\\\"),l=t(\\\"./projection\\\"),u=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,c=t(\\\"../source/pixels_to_tile_units\\\"),h=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};h.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var f=function(t,e,r,n,i){this.text=new h(t?t.text:null,e,r,i),this.icon=new h(t?t.icon:null,e,n,i)};f.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var p=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},d=function(t,e){this.transform=t.clone(),this.collisionIndex=new a(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e};d.prototype.placeLayerTile=function(t,e,r,n){var i=e.getBucket(t);if(i){var a=i.layers[0].layout,s=Math.pow(2,this.transform.zoom-e.tileID.overscaledZ),u=e.tileSize/o,h=this.transform.calculatePosMatrix(e.tileID.toUnwrapped()),f=l.getLabelPlaneMatrix(h,\\\"map\\\"===a.get(\\\"text-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"text-rotation-alignment\\\"),this.transform,c(e,1,this.transform.zoom)),p=l.getLabelPlaneMatrix(h,\\\"map\\\"===a.get(\\\"icon-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"icon-rotation-alignment\\\"),this.transform,c(e,1,this.transform.zoom));this.placeLayerBucket(i,h,f,p,s,u,r,n,e.collisionBoxArray,e.tileID.key,t.source)}},d.prototype.placeLayerBucket=function(t,e,r,n,i,a,o,l,c,h,f){for(var d=this,g=t.layers[0].layout,v=s.evaluateSizeForZoom(t.textSizeData,this.transform.zoom,u.properties[\\\"text-size\\\"]),m=!t.hasTextData()||g.get(\\\"text-optional\\\"),y=!t.hasIconData()||g.get(\\\"icon-optional\\\"),x=0,b=t.symbolInstances;x<b.length;x+=1){var _=b[x];if(!l[_.crossTileID]){var w=!1,M=!1,A=!0,k=null,T=null,S=null;_.collisionArrays||(_.collisionArrays=t.deserializeCollisionBoxes(c,_.textBoxStartIndex,_.textBoxEndIndex,_.iconBoxStartIndex,_.iconBoxEndIndex)),_.collisionArrays.textBox&&(w=(k=d.collisionIndex.placeCollisionBox(_.collisionArrays.textBox,g.get(\\\"text-allow-overlap\\\"),a,e)).box.length>0,A=A&&k.offscreen);var E=_.collisionArrays.textCircles;if(E){var C=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,v,C);T=d.collisionIndex.placeCollisionCircles(E,g.get(\\\"text-allow-overlap\\\"),i,a,_.key,C,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,\\\"map\\\"===g.get(\\\"text-pitch-alignment\\\")),w=g.get(\\\"text-allow-overlap\\\")||T.circles.length>0,A=A&&T.offscreen}_.collisionArrays.iconBox&&(M=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get(\\\"icon-allow-overlap\\\"),a,e)).box.length>0,A=A&&S.offscreen),m||y?y?m||(M=M&&w):w=M&&w:M=w=M&&w,w&&k&&d.collisionIndex.insertCollisionBox(k.box,g.get(\\\"text-ignore-placement\\\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),M&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get(\\\"icon-ignore-placement\\\"),h,f,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get(\\\"text-ignore-placement\\\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,M,A||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new f(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new f(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var u in a){var c=a[u];if(!r.opacities[u]){var h=new f(c,i,!1,!1);h.isHidden()||(r.opacities[u]=h,n=n||c.text.placed||c.icon.placed)}}n?this.lastPlacementChangeTime=e:\\\"number\\\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},d.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var a=t.layers[0].layout,o=new f(null,0,a.get(\\\"text-allow-overlap\\\"),a.get(\\\"icon-allow-overlap\\\"),!0),s=0;s<t.symbolInstances.length;s++){var l=t.symbolInstances[s],u=e[l.crossTileID],c=this.opacities[l.crossTileID];c?u&&(c=o):(c=o,this.opacities[l.crossTileID]=c),e[l.crossTileID]=!0;var h=l.numGlyphVertices>0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(h){for(var d=i(c.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,v=0;v<g;v++)t.text.opacityVertexArray.emplaceBack(d);for(var m=0,y=l.placedTextSymbolIndices;m<y.length;m+=1){var x=y[m];t.text.placedSymbolArray.get(x).hidden=c.text.isHidden()}}if(p){for(var b=i(c.icon),_=0;_<l.numIconVertices/4;_++)t.icon.opacityVertexArray.emplaceBack(b);t.icon.placedSymbolArray.get(s).hidden=c.icon.isHidden()}l.collisionArrays||(l.collisionArrays=t.deserializeCollisionBoxes(r,l.textBoxStartIndex,l.textBoxEndIndex,l.iconBoxStartIndex,l.iconBoxEndIndex));var w=l.collisionArrays;if(w){w.textBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.text.placed,!1),w.iconBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.icon.placed,!1);var M=w.textCircles;if(M&&t.hasCollisionCircleData())for(var A=0;A<M.length;A+=5){var k=u||0===M[A+4];n(t.collisionCircle.collisionVertexArray,c.text.placed,k)}}}t.sortFeatures(this.transform.angle),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},d.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},d.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},d.prototype.stillRecent=function(t){return\\\"undefined\\\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),v=Math.pow(2,24),m=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{\\\"../data/extent\\\":53,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"./collision_index\\\":217,\\\"./projection\\\":224,\\\"./symbol_size\\\":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];h(r,r,e);var n=r[3];return{point:new f(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(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 a(t,e,r,n,i,a,o,s,l,c,h,f){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,v=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(p-1),y=u(t*v,r,n,i,a,o,s.segment,d,g,l,c,h,f);if(!y)return null;var x=u(t*m,r,n,i,a,o,s.segment,d,g,l,c,h,f);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.y<r.y:e.x>r.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,c,h,p,d,g,v,y,x,b){var _,w=e/24,M=t.lineOffsetX*e,A=t.lineOffsetY*e;if(t.numGlyphs>1){var k=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,E=a(w,p,M,A,r,v,y,t,d,c,x,!1);if(!E)return{notEnoughRoom:!0};var C=n(E.first.point,h).point,L=n(E.last.point,h).point;if(i&&!r){var z=o(t.writingMode,C,L,b);if(z)return z}_=[E.first];for(var P=t.glyphStartIndex+1;P<k-1;P++)_.push(u(w*p.getoffsetX(P),M,A,r,v,y,t.segment,T,S,d,c,x,!1));_.push(E.last)}else{if(i&&!r){var I=n(y,s).point,D=t.lineStartIndex+t.segment+1,O=new f(d.getx(D),d.gety(D)),R=n(O,s),F=R.signedDistanceFromCamera>0?R.point:l(y,O,I,1,s),B=o(t.writingMode,I,F,b);if(B)return B}var N=u(w*p.getoffsetX(t.glyphStartIndex),M,A,r,v,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,c,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j<V.length;j+=1){var U=V[j];m(g,U.point,U.angle)}return{}}function l(t,e,r,i,a){var o=n(t.add(t.sub(e)._unit()),a).point,s=r.sub(o);return r.add(s._mult(i/s.mag()))}function u(t,e,r,i,a,o,s,u,c,h,p,d,g){var v=i?t-e:t+e,m=v>0?1:-1,y=0;i&&(m*=-1,y=Math.PI),m<0&&(y+=Math.PI);for(var x=m>0?u+s:u+s+1,b=x,_=a,w=a,M=0,A=0,k=Math.abs(v);M+A<=k;){if((x+=m)<u||x>=c)return null;if(w=_,void 0===(_=d[x])){var T=new f(h.getx(x),h.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var E=x-m;_=l(0===M?o:new f(h.getx(E),h.gety(E)),T,w,k-M+1,p)}}M+=A,A=w.dist(_)}var C=(k-M)/A,L=_.sub(w),z=L.mult(C)._add(w);return z._add(L._unit()._perp()._mult(r*m)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-m===b?0:h.gettileUnitDistanceFromAnchor(x-m),lastSegmentViewportDistance:k-M}:null}}function c(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(b,3*n)}}function h(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}var f=t(\\\"@mapbox/point-geometry\\\"),p=t(\\\"@mapbox/gl-matrix\\\"),d=p.mat4,g=p.vec4,v=t(\\\"./symbol_size\\\"),m=t(\\\"../data/bucket/symbol_bucket\\\").addDynamicAttributes,y=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,x=t(\\\"../symbol/shaping\\\").WritingMode;e.exports={updateLineLabels:function(t,e,r,a,o,l,u,h){var p=a?t.textSizeData:t.iconSizeData,d=v.evaluateSizeForZoom(p,r.transform.zoom,y.properties[a?\\\"text-size\\\":\\\"icon-size\\\"]),m=[256/r.width*2+1,256/r.height*2+1],b=a?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;b.clear();for(var _=t.lineVertexArray,w=a?t.text.placedSymbolArray:t.icon.placedSymbolArray,M=r.transform.width/r.transform.height,A=!1,k=0;k<w.length;k++){var T=w.get(k);if(T.hidden||T.writingMode===x.vertical&&!A)c(T.numGlyphs,b);else{A=!1;var S=[T.anchorX,T.anchorY,0,1];if(g.transformMat4(S,S,e),i(S,m)){var E=.5+S[3]/r.transform.cameraToCenterDistance*.5,C=v.evaluateSizeForFeature(p,d,T),L=u?C*E:C/E,z=new f(T.anchorX,T.anchorY),P=n(z,o).point,I={},D=s(T,L,!1,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M);A=D.useVertical,(D.notEnoughRoom||A||D.needsFlipping&&s(T,L,!0,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M).notEnoughRoom)&&c(T.numGlyphs,b)}else c(T.numGlyphs,b)}}a?t.text.dynamicLayoutVertexBuffer.updateData(b):t.icon.dynamicLayoutVertexBuffer.updateData(b)},getLabelPlaneMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.identity(a),d.scale(a,a,[1/i,1/i,1]),r||d.rotateZ(a,a,n.angle)):(d.scale(a,a,[n.width/2,-n.height/2,1]),d.translate(a,a,[1,-1,0]),d.multiply(a,a,t)),a},getGlCoordMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.multiply(a,a,t),d.scale(a,a,[i,i,1]),r||d.rotateZ(a,a,-n.angle)):(d.scale(a,a,[1,-1,1]),d.translate(a,a,[-1,-1,0]),d.scale(a,a,[2/n.width,2/n.height,1])),a},project:n,placeFirstAndLastGlyph:a,xyTransformMat4:h};var b=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0])},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/shaping\\\":226,\\\"./symbol_size\\\":228,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],225:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../style/parse_glyph_pbf\\\").GLYPH_PBF_BORDER;e.exports={getIconQuads:function(t,e,r,i,a,o,s){var l,u,c,h,f=e.image,p=r.layout,d=e.top-1/f.pixelRatio,g=e.left-1/f.pixelRatio,v=e.bottom+1/f.pixelRatio,m=e.right+1/f.pixelRatio;if(\\\"none\\\"!==p.get(\\\"icon-text-fit\\\")&&a){var y=m-g,x=v-d,b=p.get(\\\"text-size\\\").evaluate(s)/24,_=a.left*b,w=a.right*b,M=a.top*b,A=w-_,k=a.bottom*b-M,T=p.get(\\\"icon-text-fit-padding\\\")[0],S=p.get(\\\"icon-text-fit-padding\\\")[1],E=p.get(\\\"icon-text-fit-padding\\\")[2],C=p.get(\\\"icon-text-fit-padding\\\")[3],L=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")?.5*(k-x):0,z=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")?.5*(A-y):0,P=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?A:y,I=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?k:x;l=new n(_+z-C,M+L-T),u=new n(_+z+S+P,M+L-T),c=new n(_+z+S+P,M+L+E+I),h=new n(_+z-C,M+L+E+I)}else l=new n(g,d),u=new n(m,d),c=new n(m,v),h=new n(g,v);var D=r.layout.get(\\\"icon-rotate\\\").evaluate(s)*Math.PI/180;if(D){var O=Math.sin(D),R=Math.cos(D),F=[R,-O,O,R];l._matMult(F),u._matMult(F),h._matMult(F),c._matMult(F)}return[{tl:l,tr:u,bl:h,br:c,tex:{x:f.textureRect.x-1,y:f.textureRect.y-1,w:f.textureRect.w+2,h:f.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,r,a,o,s,l){for(var u=r.layout.get(\\\"text-rotate\\\").evaluate(s)*Math.PI/180,c=r.layout.get(\\\"text-offset\\\").evaluate(s).map(function(t){return 24*t}),h=e.positionedGlyphs,f=[],p=0;p<h.length;p++){var d=h[p],g=l[d.glyph];if(g){var v=g.rect;if(v){var m=i+1,y=g.metrics.advance/2,x=a?[d.x+y,d.y]:[0,0],b=a?[0,0]:[d.x+y+c[0],d.y+c[1]],_=g.metrics.left-m-y+b[0],w=-g.metrics.top-m+b[1],M=_+v.w,A=w+v.h,k=new n(_,w),T=new n(M,w),S=new n(_,A),E=new n(M,A);if(a&&d.vertical){var C=new n(-y,y),L=-Math.PI/2,z=new n(5,0);k._rotateAround(L,C)._add(z),T._rotateAround(L,C)._add(z),S._rotateAround(L,C)._add(z),E._rotateAround(L,C)._add(z)}if(u){var P=Math.sin(u),I=Math.cos(u),D=[I,-P,P,I];k._matMult(D),T._matMult(D),S._matMult(D),E._matMult(D)}f.push({tl:k,tr:T,bl:S,br:E,tex:v,writingMode:e.writingMode,glyphOffset:x})}}}return f}}},{\\\"../style/parse_glyph_pbf\\\":186,\\\"@mapbox/point-geometry\\\":4}],226:[function(t,e,r){function n(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function i(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function a(t,e,r,i,a,o){for(var s=null,l=n(e,r,a,o),u=0,c=i;u<c.length;u+=1){var h=c[u],f=n(e-h.x,r,a,o)+h.badness;f<=l&&(s=h,l=f)}return{index:t,x:e,priorBreak:s,badness:l}}function o(t,e,r,n){if(!r)return[];if(!t)return[];for(var o=[],s=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),l=0,c=0;c<t.length;c++){var h=t.charCodeAt(c),f=n[h];f&&!p[h]&&(l+=f.metrics.advance+e),c<t.length-1&&(d[h]||u.charAllowsIdeographicBreaking(h))&&o.push(a(c+1,l,s,o,i(h,t.charCodeAt(c+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(a(t.length,l,s,o,0,!0))}function s(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 l(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}var u=t(\\\"../util/script_detection\\\"),c=t(\\\"../util/verticalize_punctuation\\\"),h=t(\\\"../source/rtl_text_plugin\\\"),f={horizontal:1,vertical:2,horizontalOnly:3};e.exports={shapeText:function(t,e,r,n,i,a,p,d,g,v){var m=t.trim();v===f.vertical&&(m=c(m));var y=[],x={positionedGlyphs:y,text:m,top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:v},b=h.processBidirectionalText;return function(t,e,r,n,i,a,o,c,h){for(var p=0,d=-17,g=0,v=t.positionedGlyphs,m=\\\"right\\\"===a?1:\\\"left\\\"===a?0:.5,y=0,x=r;y<x.length;y+=1){var b=x[y];if((b=b.trim()).length){for(var _=v.length,w=0;w<b.length;w++){var M=b.charCodeAt(w),A=e[M];A&&(u.charHasUprightVerticalOrientation(M)&&o!==f.horizontal?(v.push({glyph:M,x:p,y:0,vertical:!0}),p+=h+c):(v.push({glyph:M,x:p,y:d,vertical:!1}),p+=A.metrics.advance+c))}if(v.length!==_){var k=p-c;g=Math.max(k,g),l(v,e,_,v.length-1,m)}p=0,d+=n}else d+=n}var T=s(i),S=T.horizontalAlign,E=T.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,u=0;u<t.length;u++)t[u].x+=s,t[u].y+=l}(v,m,S,E,g,n,r.length);var C=r.length*n;t.top+=-E*C,t.bottom=t.top+C,t.left+=-S*g,t.right=t.left+g}(x,e,b?b(m,o(m,p,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(m,o(m,p,r,e)),n,i,a,v,p,g),!!y.length&&x},shapeIcon:function(t,e,r){var n=s(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],l=e[1],u=o-t.displaySize[0]*i,c=u+t.displaySize[0],h=l-t.displaySize[1]*a;return{image:t,top:h,bottom:h+t.displaySize[1],left:u,right:c}},WritingMode:f};var p={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},d={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0}},{\\\"../source/rtl_text_plugin\\\":109,\\\"../util/script_detection\\\":269,\\\"../util/verticalize_punctuation\\\":277}],227:[function(t,e,r){function n(t,e,r,n,c,h){var f=h.layoutTextSize.evaluate(e),d=h.layoutIconSize.evaluate(e),g=h.textMaxSize.evaluate(e);void 0===g&&(g=f);var x=t.layers[0].layout,A=x.get(\\\"text-offset\\\").evaluate(e),k=x.get(\\\"icon-offset\\\").evaluate(e),T=f/24,S=t.tilePixelRatio*T,E=t.tilePixelRatio*g/24,C=t.tilePixelRatio*d,L=t.tilePixelRatio*x.get(\\\"symbol-spacing\\\"),z=x.get(\\\"text-padding\\\")*t.tilePixelRatio,P=x.get(\\\"icon-padding\\\")*t.tilePixelRatio,I=x.get(\\\"text-max-angle\\\")/180*Math.PI,D=\\\"map\\\"===x.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),O=\\\"map\\\"===x.get(\\\"icon-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),R=L/2,F=function(a,o){o.x<0||o.x>=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,c,h,f,d,g,x,b,_,w,A,k,T,S,E){var C,L,z=t.addToLineVertexArray(e,r),P=0,I=0,D=0,O=n.horizontal?n.horizontal.text:\\\"\\\",R=[];n.horizontal&&(C=new m(s,r,e,l,c,h,n.horizontal,f,d,g,t.overscaling),I+=i(t,e,n.horizontal,o,g,k,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,E),n.vertical&&(D+=i(t,e,n.vertical,o,g,k,T,x,z,p.vertical,R,S,E)));var F=C?C.boxStartIndex:t.collisionBoxArray.length,B=C?C.boxEndIndex:t.collisionBoxArray.length;if(a){var N=v(e,a,o,w,n.horizontal,k,T);L=new m(s,r,e,l,c,h,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;\\\"source\\\"===j.functionType?V=[10*o.layout.get(\\\"icon-size\\\").evaluate(T)]:\\\"composite\\\"===j.functionType&&(V=[10*E.compositeIconSizes[0].evaluate(T),10*E.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,A,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=M.MAX_GLYPHS&&y.warnOnce(\\\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),{key:O,textBoxStartIndex:F,textBoxEndIndex:B,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:A,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:I,numVerticalGlyphVertices:D,numIconVertices:P,textOpacityState:new u,iconOpacityState:new u,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,D,A,C,P,O,k,{zoom:t.zoom},e,c,h))};if(\\\"line\\\"===x.get(\\\"symbol-placement\\\"))for(var B=0,N=l(e.geometry,0,0,w,w);B<N.length;B+=1)for(var j=N[B],V=0,U=s(j,L,I,r.vertical||r.horizontal,n,24,E,t.overscaling,w);V<U.length;V+=1){var q=U[V],H=r.horizontal;H&&a(t,H.text,R,q)||F(j,q)}else if(\\\"Polygon\\\"===e.type)for(var G=0,W=_(e.geometry,0);G<W.length;G+=1){var Y=W[G],X=b(Y,16);F(Y[0],new o(X.x,X.y,0))}else if(\\\"LineString\\\"===e.type)for(var Z=0,J=e.geometry;Z<J.length;Z+=1){var K=J[Z];F(K,new o(K[0].x,K[0].y,0))}else if(\\\"Point\\\"===e.type)for(var Q=0,$=e.geometry;Q<$.length;Q+=1)for(var tt=0,et=$[Q];tt<et.length;tt+=1){var rt=et[tt];F([rt],new o(rt.x,rt.y,0))}}function i(t,e,r,n,i,a,o,s,l,u,c,h,f){var p=g(e,r,n,i,a,o,h),d=t.textSizeData,v=null;return\\\"source\\\"===d.functionType?v=[10*n.layout.get(\\\"text-size\\\").evaluate(o)]:\\\"composite\\\"===d.functionType&&(v=[10*f.compositeTextSizes[0].evaluate(o),10*f.compositeTextSizes[1].evaluate(o)]),t.addSymbols(t.text,p,v,s,i,o,u,e,l.lineStartIndex,l.lineLength),c.push(t.text.placedSymbolArray.length-1),4*p.length}function a(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var o=t(\\\"./anchor\\\"),s=t(\\\"./get_anchors\\\"),l=t(\\\"./clip_line\\\"),u=t(\\\"./opacity_state\\\"),c=t(\\\"./shaping\\\"),h=c.shapeText,f=c.shapeIcon,p=c.WritingMode,d=t(\\\"./quads\\\"),g=d.getGlyphQuads,v=d.getIconQuads,m=t(\\\"./collision_feature\\\"),y=t(\\\"../util/util\\\"),x=t(\\\"../util/script_detection\\\"),b=t(\\\"../util/find_pole_of_inaccessibility\\\"),_=t(\\\"../util/classify_rings\\\"),w=t(\\\"../data/extent\\\"),M=t(\\\"../data/bucket/symbol_bucket\\\"),A=t(\\\"../style/evaluation_parameters\\\");t(\\\"@mapbox/point-geometry\\\");e.exports={performSymbolLayout:function(t,e,r,i,a,o){t.createArrays(),t.symbolInstances=[];var s=512*t.overscaling;t.tilePixelRatio=w/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if(\\\"composite\\\"===t.textSizeData.functionType){var d=t.textSizeData.zoomRange,g=d.min,v=d.max;c.compositeTextSizes=[u[\\\"text-size\\\"].possiblyEvaluate(new A(g)),u[\\\"text-size\\\"].possiblyEvaluate(new A(v))]}if(\\\"composite\\\"===t.iconSizeData.functionType){var m=t.iconSizeData.zoomRange,b=m.min,_=m.max;c.compositeIconSizes=[u[\\\"icon-size\\\"].possiblyEvaluate(new A(b)),u[\\\"icon-size\\\"].possiblyEvaluate(new A(_))]}c.layoutTextSize=u[\\\"text-size\\\"].possiblyEvaluate(new A(t.zoom+1)),c.layoutIconSize=u[\\\"icon-size\\\"].possiblyEvaluate(new A(t.zoom+1)),c.textMaxSize=u[\\\"text-size\\\"].possiblyEvaluate(new A(18));for(var M=24*l.get(\\\"text-line-height\\\"),k=\\\"map\\\"===l.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===l.get(\\\"symbol-placement\\\"),T=l.get(\\\"text-keep-upright\\\"),S=0,E=t.features;S<E.length;S+=1){var C=E[S],L=l.get(\\\"text-font\\\").evaluate(C).join(\\\",\\\"),z=e[L]||{},P=r[L]||{},I={},D=C.text;if(D){var O=x.allowsVerticalWritingMode(D),R=l.get(\\\"text-offset\\\").evaluate(C).map(function(t){return 24*t}),F=24*l.get(\\\"text-letter-spacing\\\").evaluate(C),B=x.allowsLetterSpacing(D)?F:0,N=l.get(\\\"text-anchor\\\").evaluate(C),j=l.get(\\\"text-justify\\\").evaluate(C),V=\\\"line\\\"!==l.get(\\\"symbol-placement\\\")?24*l.get(\\\"text-max-width\\\").evaluate(C):0;I.horizontal=h(D,z,V,M,N,j,B,R,24,p.horizontal),O&&k&&T&&(I.vertical=h(D,z,V,M,N,j,B,R,24,p.vertical))}var U=void 0;if(C.icon){var q=i[C.icon];q&&(U=f(a[C.icon],l.get(\\\"icon-offset\\\").evaluate(C),l.get(\\\"icon-anchor\\\").evaluate(C)),void 0===t.sdfIcons?t.sdfIcons=q.sdf:t.sdfIcons!==q.sdf&&y.warnOnce(\\\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\\\"),q.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get(\\\"icon-rotate\\\").constantOr(1)&&(t.iconsNeedLinear=!0))}(I.horizontal||U)&&n(t,C,I,U,P,c)}o&&t.generateCollisionDebugBuffers()}}},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../style/evaluation_parameters\\\":182,\\\"../util/classify_rings\\\":255,\\\"../util/find_pole_of_inaccessibility\\\":261,\\\"../util/script_detection\\\":269,\\\"../util/util\\\":275,\\\"./anchor\\\":213,\\\"./clip_line\\\":215,\\\"./collision_feature\\\":216,\\\"./get_anchors\\\":219,\\\"./opacity_state\\\":222,\\\"./quads\\\":225,\\\"./shaping\\\":226,\\\"@mapbox/point-geometry\\\":4}],228:[function(t,e,r){var n=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,i=t(\\\"../style-spec/util/interpolate\\\"),a=t(\\\"../util/util\\\");e.exports={getSizeData:function(t,e){var r=e.expression;if(\\\"constant\\\"===r.kind)return{functionType:\\\"constant\\\",layoutSize:r.evaluate({zoom:t+1})};if(\\\"source\\\"===r.kind)return{functionType:\\\"source\\\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\\\"composite\\\"===r.kind?{functionType:\\\"composite\\\",zoomRange:o,propertyValue:e.value}:{functionType:\\\"camera\\\",layoutSize:r.evaluate({zoom:t+1}),zoomRange:o,sizeRange:{min:r.evaluate({zoom:o.min}),max:r.evaluate({zoom:o.max})},propertyValue:e.value}},evaluateSizeForFeature:function(t,e,r){var n=e;return\\\"source\\\"===t.functionType?r.lowerSize/10:\\\"composite\\\"===t.functionType?i.number(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},evaluateSizeForZoom:function(t,e,r){if(\\\"constant\\\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\\\"source\\\"===t.functionType)return{uSizeT:0,uSize:0};if(\\\"camera\\\"===t.functionType){var i=t.propertyValue,o=t.zoomRange,s=t.sizeRange,l=n(i,r.specification),u=a.clamp(l.interpolationFactor(e,o.min,o.max),0,1);return{uSizeT:0,uSize:s.min+u*(s.max-s.min)}}var c=t.propertyValue,h=t.zoomRange,f=n(c,r.specification);return{uSizeT:a.clamp(f.interpolationFactor(e,h.min,h.max),0,1),uSize:0}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275}],229:[function(t,e,r){var n=t(\\\"../source/rtl_text_plugin\\\");e.exports=function(t,e,r){var i=e.layout.get(\\\"text-transform\\\").evaluate(r);return\\\"uppercase\\\"===i?t=t.toLocaleUpperCase():\\\"lowercase\\\"===i&&(t=t.toLocaleLowerCase()),n.applyArabicShaping&&(t=n.applyArabicShaping(t)),t}},{\\\"../source/rtl_text_plugin\\\":109}],230:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a={scrollZoom:t(\\\"./handler/scroll_zoom\\\"),boxZoom:t(\\\"./handler/box_zoom\\\"),dragRotate:t(\\\"./handler/drag_rotate\\\"),dragPan:t(\\\"./handler/drag_pan\\\"),keyboard:t(\\\"./handler/keyboard\\\"),doubleClickZoom:t(\\\"./handler/dblclick_zoom\\\"),touchZoomRotate:t(\\\"./handler/touch_zoom_rotate\\\")};e.exports=function(t,e){function r(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),u=null,c=!1,h=null,f=null;for(var p in a)t[p]=new a[p](t,e),e.interactive&&e[p]&&t[p].enable(e[p]);l.addEventListener(\\\"mouseout\\\",function(t){o(\\\"mouseout\\\",t)},!1),l.addEventListener(\\\"mousedown\\\",function(e){t.doubleClickZoom.isActive()||t.stop(),h=n.mousePos(l,e),o(\\\"mousedown\\\",e),c=!0},!1),l.addEventListener(\\\"mouseup\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u&&!r&&o(\\\"contextmenu\\\",u),u=null,c=!1,o(\\\"mouseup\\\",e)},!1),l.addEventListener(\\\"mousemove\\\",function(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==l;)r=r.parentNode;r===l&&o(\\\"mousemove\\\",e)}},!1),l.addEventListener(\\\"mouseover\\\",function(t){for(var e=t.toElement||t.target;e&&e!==l;)e=e.parentNode;e===l&&o(\\\"mouseover\\\",t)},!1),l.addEventListener(\\\"touchstart\\\",function(e){t.stop(),s(\\\"touchstart\\\",e),!e.touches||e.touches.length>1||(f?(clearTimeout(f),f=null,o(\\\"dblclick\\\",e)):f=setTimeout(r,300))},!1),l.addEventListener(\\\"touchend\\\",function(t){s(\\\"touchend\\\",t)},!1),l.addEventListener(\\\"touchmove\\\",function(t){s(\\\"touchmove\\\",t)},!1),l.addEventListener(\\\"touchcancel\\\",function(t){s(\\\"touchcancel\\\",t)},!1),l.addEventListener(\\\"click\\\",function(t){n.mousePos(l,t).equals(h)&&o(\\\"click\\\",t)},!1),l.addEventListener(\\\"dblclick\\\",function(t){o(\\\"dblclick\\\",t),t.preventDefault()},!1),l.addEventListener(\\\"contextmenu\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();c||r?c&&(u=e):o(\\\"contextmenu\\\",e),e.preventDefault()},!1)}},{\\\"../util/dom\\\":259,\\\"./handler/box_zoom\\\":239,\\\"./handler/dblclick_zoom\\\":240,\\\"./handler/drag_pan\\\":241,\\\"./handler/drag_rotate\\\":242,\\\"./handler/keyboard\\\":243,\\\"./handler/scroll_zoom\\\":244,\\\"./handler/touch_zoom_rotate\\\":245,\\\"@mapbox/point-geometry\\\":4}],231:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/util/interpolate\\\").number,a=t(\\\"../util/browser\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"../geo/lng_lat_bounds\\\"),l=t(\\\"@mapbox/point-geometry\\\"),u=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},e.prototype.getPitch=function(){return this.transform.pitch},e.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},e.prototype.fitBounds=function(t,e,r){if(\\\"number\\\"==typeof(e=n.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},e)).padding){var i=e.padding;e.padding={top:i,bottom:i,right:i,left:i}}if(!n.deepEqual(Object.keys(e.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\\\"bottom\\\",\\\"left\\\",\\\"right\\\",\\\"top\\\"]))return n.warnOnce(\\\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\\\"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),u=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var c=l.convert(e.offset),h=this.transform,f=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),d=p.sub(f),g=(h.width-2*o-2*Math.abs(c.x))/d.x,v=(h.height-2*u-2*Math.abs(c.y))/d.y;return v<0||g<0?(n.warnOnce(\\\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\\\"),this):(e.center=h.unproject(f.add(p).div(2)),e.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,v)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.jumpTo=function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\\\"zoom\\\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=o.convert(t.center)),\\\"bearing\\\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\\\"pitch\\\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\\\"movestart\\\",e).fire(\\\"move\\\",e),n&&this.fire(\\\"zoomstart\\\",e).fire(\\\"zoom\\\",e).fire(\\\"zoomend\\\",e),i&&this.fire(\\\"rotate\\\",e),a&&this.fire(\\\"pitchstart\\\",e).fire(\\\"pitch\\\",e).fire(\\\"pitchend\\\",e),this.fire(\\\"moveend\\\",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),u=this.getBearing(),c=this.getPitch(),h=\\\"zoom\\\"in t?+t.zoom:s,f=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,u):u,p=\\\"pitch\\\"in t?+t.pitch:c,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),v=o.convert(t.center||g);this._normalizeCenter(v);var m,y,x=a.project(g),b=a.project(v).sub(x),_=a.zoomScale(h-s);return t.around&&(m=o.convert(t.around),y=a.locationPoint(m)),this.zooming=h!==s,this.rotating=u!==f,this.pitching=p!==c,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,h,t)),r.rotating&&(a.bearing=i(u,f,t)),r.pitching&&(a.pitch=i(c,p,t)),m)a.setLocationAtPoint(m,y);else{var n=a.zoomScale(a.zoom-s),o=h>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire(\\\"movestart\\\",t),this.zooming&&this.fire(\\\"zoomstart\\\",t),this.pitching&&this.fire(\\\"pitchstart\\\",t)},e.prototype._fireMoveEvents=function(t){this.fire(\\\"move\\\",t),this.zooming&&this.fire(\\\"zoom\\\",t),this.rotating&&this.fire(\\\"rotate\\\",t),this.pitching&&this.fire(\\\"pitch\\\",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\\\"zoomend\\\",t),r&&this.fire(\\\"pitchend\\\",t),this.fire(\\\"moveend\\\",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(k*k-A*A+(t?-1:1)*C*C*T*T)/(2*(t?k:A)*C*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}var u=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=this.getZoom(),f=this.getBearing(),p=this.getPitch(),d=\\\"zoom\\\"in t?n.clamp(+t.zoom,c.minZoom,c.maxZoom):h,g=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,f):f,v=\\\"pitch\\\"in t?+t.pitch:p,m=c.zoomScale(d-h),y=c.centerPoint.add(l.convert(t.offset)),x=c.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=c.project(x),w=c.project(b).sub(_),M=t.curve,A=Math.max(c.width,c.height),k=A/m,T=w.mag();if(\\\"minZoom\\\"in t){var S=n.clamp(Math.min(t.minZoom,h,d),c.minZoom,c.maxZoom),E=A/c.zoomScale(S-h);M=Math.sqrt(E/T*2)}var C=M*M,L=r(0),z=function(t){return s(L)/s(L+M*t)},P=function(t){return A*((s(L)*function(t){return a(t)/s(t)}(L+M*t)-a(L))/C)/T},I=(r(1)-L)/M;if(Math.abs(T)<1e-6||!isFinite(I)){if(Math.abs(A-k)<1e-6)return this.easeTo(t,e);var D=k<A?-1:1;I=Math.abs(Math.log(k/A))/M,P=function(){return 0},z=function(t){return Math.exp(D*M*t)}}if(\\\"duration\\\"in t)t.duration=+t.duration;else{var O=\\\"screenSpeed\\\"in t?+t.screenSpeed/M:+t.speed;t.duration=1e3*I/O}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=f!==g,this.pitching=v!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*I,n=1/z(r);c.zoom=h+c.scaleZoom(n),u.rotating&&(c.bearing=i(f,g,t)),u.pitching&&(c.pitch=i(p,v,t));var a=c.unproject(_.add(w.mult(P(r))).mult(n));c.setLocationAtPoint(c.renderWorldCopies?a.wrap():a,y),u._fireMoveEvents(e)},function(){return u._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._normalizeBearing=function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},e.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}},e}(t(\\\"../util/evented\\\"));e.exports=u},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],232:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/config\\\"),o=function(t){this.options=t,i.bindAll([\\\"_updateEditLink\\\",\\\"_updateData\\\",\\\"_updateCompact\\\"],this)};o.prototype.getDefaultPosition=function(){return\\\"bottom-right\\\"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-attrib\\\"),e&&this._container.classList.add(\\\"mapboxgl-compact\\\"),this._updateAttributions(),this._updateEditLink(),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},o.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateData),this._map.off(\\\"moveend\\\",this._updateEditLink),this._map.off(\\\"resize\\\",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\\\".mapbox-improve-map\\\"));var e=[{key:\\\"owner\\\",value:this.styleOwner},{key:\\\"id\\\",value:this.styleId},{key:\\\"access_token\\\",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\\\"=\\\"+r.value+(n<e.length-1?\\\"&\\\":\\\"\\\")),t},\\\"?\\\");t.href=\\\"https://www.mapbox.com/feedback/\\\"+r+(this._map._hash?this._map._hash.getHashString(!0):\\\"\\\")}},o.prototype._updateData=function(t){t&&\\\"metadata\\\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},o.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(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 i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(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})).length?(this._container.innerHTML=t.join(\\\" | \\\"),this._container.classList.remove(\\\"mapboxgl-attrib-empty\\\")):this._container.classList.add(\\\"mapboxgl-attrib-empty\\\"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\\\"mapboxgl-compact\\\"):this._container.classList.remove(\\\"mapboxgl-compact\\\")},e.exports=o},{\\\"../../util/config\\\":256,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],233:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=function(){this._fullscreen=!1,i.bindAll([\\\"_onClickFullscreen\\\",\\\"_changeIcon\\\"],this),\\\"onfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"fullscreenchange\\\":\\\"onmozfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"mozfullscreenchange\\\":\\\"onwebkitfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"webkitfullscreenchange\\\":\\\"onmsfullscreenchange\\\"in a.document&&(this._fullscreenchange=\\\"MSFullscreenChange\\\"),this._className=\\\"mapboxgl-ctrl\\\"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create(\\\"div\\\",this._className+\\\" mapboxgl-ctrl-group\\\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\\\"none\\\",i.warnOnce(\\\"This device does not support fullscreen mode.\\\")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create(\\\"button\\\",this._className+\\\"-icon \\\"+this._className+\\\"-fullscreen\\\",this._container);t.setAttribute(\\\"aria-label\\\",\\\"Toggle fullscreen\\\"),t.type=\\\"button\\\",this._fullscreenButton.addEventListener(\\\"click\\\",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\\\"-shrink\\\"),this._fullscreenButton.classList.toggle(this._className+\\\"-fullscreen\\\"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],234:[function(t,e,r){var n,i=t(\\\"../../util/evented\\\"),a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../util/util\\\"),l=t(\\\"../../geo/lng_lat\\\"),u=t(\\\"../marker\\\"),c={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},h=function(t){function e(e){t.call(this),this.options=s.extend({},c,e),s.bindAll([\\\"_onSuccess\\\",\\\"_onError\\\",\\\"_finish\\\",\\\"_setupUI\\\",\\\"_updateCamera\\\",\\\"_updateMarker\\\",\\\"_onClickGeolocate\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:\\\"geolocation\\\"}).then(function(e){n=\\\"denied\\\"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,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(t),this.options.trackUserLocation&&\\\"ACTIVE_LOCK\\\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"geolocate\\\",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.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\\\"),void 0!==this._geolocationWatchID&&this._clearWatch();else 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\\\")}\\\"OFF\\\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"error\\\",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this._geolocateButton=a.create(\\\"button\\\",\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\\\",this._container),this._geolocateButton.type=\\\"button\\\",this._geolocateButton.setAttribute(\\\"aria-label\\\",\\\"Geolocate\\\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"false\\\"),this._watchState=\\\"OFF\\\"),this.options.showUserLocation&&(this._dotElement=a.create(\\\"div\\\",\\\"mapboxgl-user-location-dot\\\"),this._userLocationDotMarker=new u(this._dotElement),this.options.trackUserLocation&&(this._watchState=\\\"OFF\\\")),this._geolocateButton.addEventListener(\\\"click\\\",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on(\\\"movestart\\\",function(t){t.geolocateSource||\\\"ACTIVE_LOCK\\\"!==e._watchState||(e._watchState=\\\"BACKGROUND\\\",e._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-background\\\"),e._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-active\\\"),e.fire(\\\"trackuserlocationend\\\"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case\\\"OFF\\\":this._watchState=\\\"WAITING_ACTIVE\\\",this.fire(\\\"trackuserlocationstart\\\");break;case\\\"WAITING_ACTIVE\\\":case\\\"ACTIVE_LOCK\\\":case\\\"ACTIVE_ERROR\\\":case\\\"BACKGROUND_ERROR\\\":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(\\\"trackuserlocationend\\\");break;case\\\"BACKGROUND\\\":this._watchState=\\\"ACTIVE_LOCK\\\",this._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-background\\\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(\\\"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\\\")}\\\"OFF\\\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-waiting\\\"),this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"true\\\"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.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)},e}(i);e.exports=h},{\\\"../../geo/lng_lat\\\":62,\\\"../../util/dom\\\":259,\\\"../../util/evented\\\":260,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254,\\\"../marker\\\":248}],235:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=function(){i.bindAll([\\\"_updateLogo\\\"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl\\\");var e=n.create(\\\"a\\\",\\\"mapboxgl-ctrl-logo\\\");return e.target=\\\"_blank\\\",e.href=\\\"https://www.mapbox.com/\\\",e.setAttribute(\\\"aria-label\\\",\\\"Mapbox logo\\\"),this._container.appendChild(e),this._container.style.display=\\\"none\\\",this._map.on(\\\"sourcedata\\\",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateLogo)},a.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},a.prototype._updateLogo=function(t){t&&\\\"metadata\\\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\\\"block\\\":\\\"none\\\")},a.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}},e.exports=a},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],236:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../handler/drag_rotate\\\"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\\\",\\\"Zoom In\\\",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\\\",\\\"Zoom Out\\\",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll([\\\"_rotateCompassArrow\\\"],this),this._compass=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\\\",\\\"Reset North\\\",function(){return e._map.resetNorth()}),this._compassArrow=n.create(\\\"span\\\",\\\"mapboxgl-ctrl-compass-arrow\\\",this._compass))};s.prototype._rotateCompassArrow=function(){var t=\\\"rotate(\\\"+this._map.transform.angle*(180/Math.PI)+\\\"deg)\\\";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\\\"rotate\\\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:\\\"left\\\",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off(\\\"rotate\\\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create(\\\"button\\\",t,this._container);return i.type=\\\"button\\\",i.setAttribute(\\\"aria-label\\\",e),i.addEventListener(\\\"click\\\",r),i},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../handler/drag_rotate\\\":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&\\\"imperial\\\"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,\\\"mi\\\"):i(e,n,s,\\\"ft\\\")}else if(r&&\\\"nautical\\\"===r.unit){i(e,n,o/1852,\\\"nm\\\")}else i(e,n,o,\\\"m\\\")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(\\\"\\\"+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;\\\"m\\\"===n&&i>=1e3&&(i/=1e3,n=\\\"km\\\"),t.style.width=e*a+\\\"px\\\",t.innerHTML=i+n}var a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/util\\\"),s=function(t){this.options=t,o.bindAll([\\\"_onMove\\\"],this)};s.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-scale\\\",t.getContainer()),this._map.on(\\\"move\\\",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off(\\\"move\\\",this._onMove),this._map=void 0},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../geo/lng_lat_bounds\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../../util/window\\\"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll([\\\"_onMouseDown\\\",\\\"_onMouseMove\\\",\\\"_onMouseUp\\\",\\\"_onKeyDown\\\"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\\\"mousedown\\\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.addEventListener(\\\"mouseup\\\",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create(\\\"div\\\",\\\"mapboxgl-boxzoom\\\",this._container),this._container.classList.add(\\\"mapboxgl-crosshair\\\"),this._fireEvent(\\\"boxzoomstart\\\",t));var i=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);n.setTransform(this._box,\\\"translate(\\\"+i+\\\"px,\\\"+o+\\\"px)\\\"),this._box.style.width=a-i+\\\"px\\\",this._box.style.height=s-o+\\\"px\\\"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\\\"boxzoomcancel\\\",t):this._map.fitBounds(a,{linear:!0}).fire(\\\"boxzoomend\\\",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\\\"boxzoomcancel\\\",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.removeEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp,!1),this._container.classList.remove(\\\"mapboxgl-crosshair\\\"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{\\\"../../geo/lng_lat_bounds\\\":63,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],240:[function(t,e,r){var n=t(\\\"../../util/util\\\"),i=function(t){this._map=t,n.bindAll([\\\"_onDblClick\\\",\\\"_onZoomEnd\\\"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on(\\\"dblclick\\\",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off(\\\"dblclick\\\",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on(\\\"zoomend\\\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\\\"zoomend\\\",this._onZoomEnd)},e.exports=i},{\\\"../../util/util\\\":275}],241:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onTouchEnd\\\",\\\"_onMouseUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-drag-pan\\\"),this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._el.addEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-drag-pan\\\"),this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._el.removeEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener(\\\"touchmove\\\",this._onMove),a.document.addEventListener(\\\"touchend\\\",this._onTouchEnd)):(a.document.addEventListener(\\\"mousemove\\\",this._onMove),a.document.addEventListener(\\\"mouseup\\\",this._onMouseUp)),a.addEventListener(\\\"blur\\\",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"dragstart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent(\\\"drag\\\",e),this._fireEvent(\\\"move\\\",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent(\\\"dragend\\\",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var u=o.mult(.3/l),c=u.mag();c>1400&&(c=1400,u._unit()._mult(c));var h=c/750,f=u.mult(-h/2);this._map.panBy(f,{duration:1e3*h,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"mousemove\\\",this._onMove),a.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp),a.removeEventListener(\\\"blur\\\",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||\\\"mousemove\\\"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],242:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||\\\"right\\\",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if(\\\"right\\\"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf(\\\"MAC\\\")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.addEventListener(\\\"mouseup\\\",this._onUp),a.addEventListener(\\\"blur\\\",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"rotatestart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._pitchWithRotate&&this._fireEvent(\\\"pitchstart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.removeEventListener(\\\"mouseup\\\",this._onUp),a.removeEventListener(\\\"blur\\\",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,u=this._inertia,c=u[u.length-1];this._drainInertiaBuffer(),u.push([o.now(),this._map._normalizeBearing(s,c[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent(\\\"pitch\\\",e),t.pitch=l),this._fireEvent(\\\"rotate\\\",e),this._fireEvent(\\\"move\\\",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent(\\\"rotateend\\\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):(e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)),e._pitchWithRotate&&e._fireEvent(\\\"pitchend\\\",t)};if(i.length<2)return void a();var o=i[0],l=i[i.length-1],u=i[i.length-2],c=r._normalizeBearing(n,u[1]),h=l[1]-o[1],f=h<0?-1:1,p=(l[0]-o[0])/1e3;if(0===h||0===p)return void a();var d=Math.abs(h*(.25/p));d>180&&(d=180);var g=d/180;c+=f*d*(g/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*g,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t(\\\"../../util/util\\\"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onKeyDown\\\"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"keydown\\\",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),u={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(u,{originalEvent:t})}},e.exports=a},{\\\"../../util/util\\\":275}],244:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../style-spec/util/interpolate\\\").number,l=t(\\\"../../geo/lng_lat\\\"),u=o.navigator.userAgent.toLowerCase(),c=-1!==u.indexOf(\\\"firefox\\\"),h=-1!==u.indexOf(\\\"safari\\\")&&-1===u.indexOf(\\\"chrom\\\"),f=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll([\\\"_onWheel\\\",\\\"_onTimeout\\\",\\\"_onScrollFrame\\\",\\\"_onScrollFinished\\\"],this)};f.prototype.isEnabled=function(){return!!this._enabled},f.prototype.isActive=function(){return!!this._active},f.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\\\"wheel\\\",this._onWheel,!1),this._el.addEventListener(\\\"mousewheel\\\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},f.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"wheel\\\",this._onWheel),this._el.removeEventListener(\\\"mousewheel\\\",this._onWheel),this._enabled=!1)},f.prototype._onWheel=function(t){var e=0;\\\"wheel\\\"===t.type?(e=t.deltaY,c&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\\\"mousewheel\\\"===t.type&&(e=-t.wheelDeltaY,h&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type=\\\"wheel\\\":0!==e&&Math.abs(e)<4?this._type=\\\"trackpad\\\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?\\\"trackpad\\\":\\\"wheel\\\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},f.prototype._onTimeout=function(t){this._type=\\\"wheel\\\",this._delta-=this._lastValue,this.isActive()||this._start(t)},f.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire(\\\"movestart\\\",{originalEvent:t}),this._map.fire(\\\"zoomstart\\\",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},f.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e=\\\"wheel\\\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n=\\\"number\\\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),\\\"wheel\\\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if(\\\"wheel\\\"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(\\\"move\\\",{originalEvent:this._lastWheelEvent}),this._map.fire(\\\"zoom\\\",{originalEvent:this._lastWheelEvent})}},f.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire(\\\"zoomend\\\"),t._map.fire(\\\"moveend\\\"),delete t._targetZoom},200))},f.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=f},{\\\"../../geo/lng_lat\\\":62,\\\"../../style-spec/util/interpolate\\\":158,\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],245:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onStart\\\",\\\"_onMove\\\",\\\"_onEnd\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.addEventListener(\\\"touchstart\\\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.removeEventListener(\\\"touchstart\\\",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],a.document.addEventListener(\\\"touchmove\\\",this._onMove,!1),a.document.addEventListener(\\\"touchend\\\",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,u=this._map;if(this._gestureIntent){var c={duration:0,around:u.unproject(i)};\\\"rotate\\\"===this._gestureIntent&&(c.bearing=this._startBearing+l),\\\"zoom\\\"!==this._gestureIntent&&\\\"rotate\\\"!==this._gestureIntent||(c.zoom=u.transform.scaleZoom(this._startScale*s)),u.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),u.easeTo(c,{originalEvent:t})}else{var h=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent=\\\"rotate\\\":h&&(this._gestureIntent=\\\"zoom\\\"),this._gestureIntent&&(this._startVec=a,this._startScale=u.transform.scale,this._startBearing=u.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),u=o-l,c=(n[0]-i[0])/1e3,h=n[2];if(0!==c&&o!==l){var f=.15*u/c;Math.abs(f)>2.5&&(f=f>0?2.5:-2.5);var p=1e3*Math.abs(f/(12*.15)),d=o+f*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(h)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],246:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../util/throttle\\\"),o=function(){n.bindAll([\\\"_onHashChange\\\",\\\"_updateHash\\\"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.on(\\\"moveend\\\",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.off(\\\"moveend\\\",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),u=\\\"\\\";return u+=t?\\\"#/\\\"+a+\\\"/\\\"+o+\\\"/\\\"+r:\\\"#\\\"+r+\\\"/\\\"+o+\\\"/\\\"+a,(s||l)&&(u+=\\\"/\\\"+Math.round(10*s)/10),l&&(u+=\\\"/\\\"+Math.round(l)),u},o.prototype._onHashChange=function(){var t=i.location.hash.replace(\\\"#\\\",\\\"\\\").split(\\\"/\\\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState(\\\"\\\",\\\"\\\",t)},e.exports=o},{\\\"../util/throttle\\\":272,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/window\\\"),s=t(\\\"../util/window\\\"),l=s.HTMLImageElement,u=s.HTMLElement,c=t(\\\"../util/dom\\\"),h=t(\\\"../util/ajax\\\"),f=t(\\\"../style/style\\\"),p=t(\\\"../style/evaluation_parameters\\\"),d=t(\\\"../render/painter\\\"),g=t(\\\"../geo/transform\\\"),v=t(\\\"./hash\\\"),m=t(\\\"./bind_handlers\\\"),y=t(\\\"./camera\\\"),x=t(\\\"../geo/lng_lat\\\"),b=t(\\\"../geo/lng_lat_bounds\\\"),_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"./control/attribution_control\\\"),M=t(\\\"./control/logo_control\\\"),A=t(\\\"@mapbox/mapbox-gl-supported\\\"),k=t(\\\"../util/image\\\").RGBAImage;t(\\\"./events\\\");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\\\"maxZoom must be greater than minZoom\\\");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},\\\"string\\\"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error(\\\"Container '\\\"+e.container+\\\"' not found.\\\");this._container=a}else{if(!(e.container instanceof u))throw new Error(\\\"Invalid type: 'container' must be a String or HTMLElement.\\\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll([\\\"_onWindowOnline\\\",\\\"_onWindowResize\\\",\\\"_contextLost\\\",\\\"_contextRestored\\\",\\\"_update\\\",\\\"_render\\\",\\\"_onData\\\",\\\"_onDataLoading\\\"],this),this._setupContainer(),this._setupPainter(),this.on(\\\"move\\\",this._update.bind(this,!1)),this.on(\\\"zoom\\\",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener(\\\"online\\\",this._onWindowOnline,!1),o.addEventListener(\\\"resize\\\",this._onWindowResize,!1)),m(this,e),this._hash=e.hash&&(new v).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new M,e.logoPosition),this.on(\\\"style.load\\\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\\\"data\\\",this._onData),this.on(\\\"dataloading\\\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\\\"top-right\\\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\\\"bottom\\\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire(\\\"movestart\\\").fire(\\\"move\\\").fire(\\\"resize\\\").fire(\\\"moveend\\\")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&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 0 and the current maxZoom, inclusive\\\")},e.prototype.getMinZoom=function(){return this.transform.minZoom},e.prototype.setMaxZoom=function(t){if((t=null===t||void 0===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\\\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if(\\\"mouseenter\\\"===e||\\\"mouseover\\\"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if(\\\"mouseleave\\\"===e||\\\"mouseout\\\"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;a<i.length;a++){var o=i[a];if(o.layer===r&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},e.prototype.queryRenderedFeatures=function(t,e){return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof _||Array.isArray(t)}(arguments[0])?(t=arguments[0],e={}):1===arguments.length?(t=void 0,e=arguments[0]):(t=void 0,e={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle):[]},e.prototype._makeQueryGeometry=function(t){var e,r=this;if(void 0===t&&(t=[_.convert([0,0]),_.convert([this.transform.width,this.transform.height])]),t instanceof _||\\\"number\\\"==typeof t[0])e=[_.convert(t)];else{var n=[_.convert(t[0]),_.convert(t[1])];e=[n[0],new _(n[1].x,n[0].y),n[1],new _(n[0].x,n[1].y),n[0]]}return e.map(function(t){return r.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){if((!e||!1!==e.diff&&!e.localIdeographFontFamily)&&this.style&&t&&\\\"object\\\"==typeof t)try{return this.style.setState(t)&&this._update(!0),this}catch(t){i.warnOnce(\\\"Unable to perform style diff: \\\"+(t.message||t.error||t)+\\\".  Rebuilding the style from scratch.\\\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new f(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)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\\\"There is no style added to the map.\\\")},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\\\"error\\\",{error:new Error(\\\"There is no source with ID '\\\"+t+\\\"'\\\")}):e.loaded()},e.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 i=r[n];if(\\\"loaded\\\"!==i.state&&\\\"errored\\\"!==i.state)return!1}}return!0},e.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,r){void 0===r&&(r={});var n=r.pixelRatio;void 0===n&&(n=1);var i=r.sdf;if(void 0===i&&(i=!1),e instanceof l){var o=a.getImageData(e),s=o.width,u=o.height,c=o.data;this.style.addImage(t,{data:new k({width:s,height:u},c),pixelRatio:n,sdf:i})}else{if(void 0===e.width||void 0===e.height)return this.fire(\\\"error\\\",{error:new Error(\\\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\\\")});var h=e.width,f=e.height,p=e.data;this.style.addImage(t,{data:new k({width:h,height:f},p.slice(0)),pixelRatio:n,sdf:i})}},e.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(\\\"error\\\",{error:new Error(\\\"Missing required image id\\\")}),!1)},e.prototype.removeImage=function(t){this.style.removeImage(t)},e.prototype.loadImage=function(t,e){h.getImage(this._transformRequest(t,h.ResourceType.Image),e)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},e.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},e.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\\\"mapboxgl-map\\\"),(this._missingCSSContainer=c.create(\\\"div\\\",\\\"mapboxgl-missing-css\\\",t)).innerHTML=\\\"Missing Mapbox GL JS CSS\\\";var e=this._canvasContainer=c.create(\\\"div\\\",\\\"mapboxgl-canvas-container\\\",t);this._interactive&&e.classList.add(\\\"mapboxgl-interactive\\\"),this._canvas=c.create(\\\"canvas\\\",\\\"mapboxgl-canvas\\\",e),this._canvas.style.position=\\\"absolute\\\",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 r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=c.create(\\\"div\\\",\\\"mapboxgl-control-container\\\",t),i=this._controlPositions={};[\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"].forEach(function(t){i[t]=c.create(\\\"div\\\",\\\"mapboxgl-ctrl-\\\"+t,n)})},e.prototype._resizeCanvas=function(t,e){var r=o.devicePixelRatio||1;this._canvas.width=r*t,this._canvas.height=r*e,this._canvas.style.width=t+\\\"px\\\",this._canvas.style.height=e+\\\"px\\\"},e.prototype._setupPainter=function(){var t=i.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},A.webGLContextAttributes),e=this._canvas.getContext(\\\"webgl\\\",t)||this._canvas.getContext(\\\"experimental-webgl\\\",t);e?this.painter=new d(e,this.transform):this.fire(\\\"error\\\",{error:new Error(\\\"Failed to initialize WebGL\\\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(\\\"webglcontextlost\\\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\\\"webglcontextrestored\\\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},e.prototype._render=function(){this._updateCamera();var t=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var e=this.transform.zoom,r=a.now();this.style.zoomHistory.update(e,r);var n=new p(e,{now:r,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=n.crossFadingFactor();1===i&&i===this._crossFadingFactor||(t=!0,this._crossFadingFactor=i),this.style.update(n)}return 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.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming,fadeDuration:this._fadeDuration}),this.fire(\\\"render\\\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\\\"load\\\")),this.style&&(this.style.hasTransitions()||t)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._frameId=null,this.setStyle(null),void 0!==o&&(o.removeEventListener(\\\"resize\\\",this._onWindowResize,!1),o.removeEventListener(\\\"online\\\",this._onWindowOnline,!1));var t=this.painter.context.gl.getExtension(\\\"WEBGL_lose_context\\\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),n(this._missingCSSContainer),this._container.classList.remove(\\\"mapboxgl-map\\\"),this.fire(\\\"remove\\\")},e.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},r.showTileBoundaries.get=function(){return!!this._showTileBoundaries},r.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},r.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},r.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},r.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},r.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},r.repaint.get=function(){return!!this._repaint},r.repaint.set=function(t){this._repaint=t,this._update()},r.vertices.get=function(){return!!this._vertices},r.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\\\"style\\\"===t.dataType),this.fire(t.dataType+\\\"data\\\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\\\"dataloading\\\",t)},Object.defineProperties(e.prototype,r),e}(y);e.exports=S},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../geo/transform\\\":64,\\\"../render/painter\\\":90,\\\"../style/evaluation_parameters\\\":182,\\\"../style/style\\\":190,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dom\\\":259,\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"./bind_handlers\\\":230,\\\"./camera\\\":231,\\\"./control/attribution_control\\\":232,\\\"./control/logo_control\\\":235,\\\"./events\\\":238,\\\"./hash\\\":246,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],248:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"../geo/lng_lat\\\"),a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"../util/smart_wrap\\\"),s=t(\\\"../util/util\\\").bindAll,l=function(t,e){if(s([\\\"_update\\\",\\\"_onMapClick\\\"],this),!t){t=n.create(\\\"div\\\");var r=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");r.setAttributeNS(null,\\\"height\\\",\\\"41px\\\"),r.setAttributeNS(null,\\\"width\\\",\\\"27px\\\"),r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 27 41\\\");var i=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");i.setAttributeNS(null,\\\"stroke\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"stroke-width\\\",\\\"1\\\"),i.setAttributeNS(null,\\\"fill\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"fill-rule\\\",\\\"evenodd\\\");var o=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");o.setAttributeNS(null,\\\"fill-rule\\\",\\\"nonzero\\\");var l=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");l.setAttributeNS(null,\\\"transform\\\",\\\"translate(3.0, 29.0)\\\"),l.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");for(var u=0,c=[{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<c.length;u+=1){var h=c[u],f=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"ellipse\\\");f.setAttributeNS(null,\\\"opacity\\\",\\\"0.04\\\"),f.setAttributeNS(null,\\\"cx\\\",\\\"10.5\\\"),f.setAttributeNS(null,\\\"cy\\\",\\\"5.80029008\\\"),f.setAttributeNS(null,\\\"rx\\\",h.rx),f.setAttributeNS(null,\\\"ry\\\",h.ry),l.appendChild(f)}var p=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");p.setAttributeNS(null,\\\"fill\\\",\\\"#3FB1CE\\\");var d=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");d.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\\\"),p.appendChild(d);var g=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");g.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),g.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");var v=n.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\\\"),g.appendChild(v);var m=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");m.setAttributeNS(null,\\\"transform\\\",\\\"translate(6.0, 7.0)\\\"),m.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\");var y=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");y.setAttributeNS(null,\\\"transform\\\",\\\"translate(8.0, 8.0)\\\");var x=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");x.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\"),x.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),x.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\");var b=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");b.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\"),b.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\"),y.appendChild(x),y.appendChild(b),o.appendChild(l),o.appendChild(p),o.appendChild(g),o.appendChild(m),o.appendChild(y),r.appendChild(o),t.appendChild(r);var _=[0,-14];e&&e.offset||(e?e.offset=_:e={offset:_})}this._offset=a.convert(e&&e.offset||[0,0]),t.classList.add(\\\"mapboxgl-marker\\\"),this._element=t,this._popup=null};l.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._update(),this._map.on(\\\"click\\\",this._onMapClick),this},l.prototype.remove=function(){return this._map&&(this._map.off(\\\"click\\\",this._onMapClick),this._map.off(\\\"move\\\",this._update),this._map.off(\\\"moveend\\\",this._update),delete this._map),n.remove(this._element),this._popup&&this._popup.remove(),this},l.prototype.getLngLat=function(){return this._lngLat},l.prototype.setLngLat=function(t){return this._lngLat=i.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},l.prototype.getElement=function(){return this._element},l.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(\\\"offset\\\"in t.options||(t.options.offset=this._offset),this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)),this},l.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},l.prototype.getPopup=function(){return this._popup},l.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},l.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=o(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\\\"moveend\\\"!==t.type||(this._pos=this._pos.round()),n.setTransform(this._element,\\\"translate(-50%, -50%) translate(\\\"+this._pos.x+\\\"px, \\\"+this._pos.y+\\\"px)\\\"))},l.prototype.getOffset=function(){return this._offset},l.prototype.setOffset=function(t){return this._offset=a.convert(t),this._update(),this},e.exports=l},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],249:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/dom\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"@mapbox/point-geometry\\\"),l=t(\\\"../util/window\\\"),u=t(\\\"../util/smart_wrap\\\"),c={closeButton:!0,closeOnClick:!0},h=function(t){function e(e){t.call(this),this.options=n.extend(Object.create(c),e),n.bindAll([\\\"_update\\\",\\\"_onClickClose\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.addTo=function(t){return this._map=t,this._map.on(\\\"move\\\",this._update),this.options.closeOnClick&&this._map.on(\\\"click\\\",this._onClickClose),this._update(),this},e.prototype.isOpen=function(){return!!this._map},e.prototype.remove=function(){return this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off(\\\"move\\\",this._update),this._map.off(\\\"click\\\",this._onClickClose),delete this._map),this.fire(\\\"close\\\"),this},e.prototype.getLngLat=function(){return this._lngLat},e.prototype.setLngLat=function(t){return this._lngLat=o.convert(t),this._pos=null,this._update(),this},e.prototype.setText=function(t){return this.setDOMContent(l.document.createTextNode(t))},e.prototype.setHTML=function(t){var e,r=l.document.createDocumentFragment(),n=l.document.createElement(\\\"body\\\");for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},e.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},e.prototype._createContent=function(){this._content&&a.remove(this._content),this._content=a.create(\\\"div\\\",\\\"mapboxgl-popup-content\\\",this._container),this.options.closeButton&&(this._closeButton=a.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._onClickClose))},e.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=a.create(\\\"div\\\",\\\"mapboxgl-popup\\\",this._map.getContainer()),this._tip=a.create(\\\"div\\\",\\\"mapboxgl-popup-tip\\\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=u(this._lngLat,this._pos,this._map.transform));var t=this._pos=this._map.project(this._lngLat),e=this.options.anchor,r=function t(e){if(e){if(\\\"number\\\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{top:new s(0,e),\\\"top-left\\\":new s(r,r),\\\"top-right\\\":new s(-r,r),bottom:new s(0,-e),\\\"bottom-left\\\":new s(r,-r),\\\"bottom-right\\\":new s(-r,-r),left:new s(e,0),right:new s(-e,0)}}if(e instanceof s||Array.isArray(e)){var n=s.convert(e);return{top:n,\\\"top-left\\\":n,\\\"top-right\\\":n,bottom:n,\\\"bottom-left\\\":n,\\\"bottom-right\\\":n,left:n,right:n}}return{top:s.convert(e.top||[0,0]),\\\"top-left\\\":s.convert(e[\\\"top-left\\\"]||[0,0]),\\\"top-right\\\":s.convert(e[\\\"top-right\\\"]||[0,0]),bottom:s.convert(e.bottom||[0,0]),\\\"bottom-left\\\":s.convert(e[\\\"bottom-left\\\"]||[0,0]),\\\"bottom-right\\\":s.convert(e[\\\"bottom-right\\\"]||[0,0]),left:s.convert(e.left||[0,0]),right:s.convert(e.right||[0,0])}}return t(new s(0,0))}(this.options.offset);if(!e){var n=this._container.offsetWidth,i=this._container.offsetHeight;e=t.y+r.bottom.y<i?[\\\"top\\\"]:t.y>this._map.transform.height-i?[\\\"bottom\\\"]:[],t.x<n/2?e.push(\\\"left\\\"):t.x>this._map.transform.width-n/2&&e.push(\\\"right\\\"),e=0===e.length?\\\"bottom\\\":e.join(\\\"-\\\")}var o=t.add(r[e]).round(),l={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%)\\\"},c=this._container.classList;for(var h in l)c.remove(\\\"mapboxgl-popup-anchor-\\\"+h);c.add(\\\"mapboxgl-popup-anchor-\\\"+e),a.setTransform(this._container,l[e]+\\\" translate(\\\"+o.x+\\\"px,\\\"+o.y+\\\"px)\\\")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=h},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/evented\\\":260,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"@mapbox/point-geometry\\\":4}],250:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./web_worker_transfer\\\"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll([\\\"receive\\\"],this),this.target.addEventListener(\\\"message\\\",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+\\\":\\\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\\\"<response>\\\",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(\\\"<response>\\\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(\\\".\\\");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener(\\\"message\\\",this.receive,!1)},e.exports=s},{\\\"./util\\\":275,\\\"./web_worker_transfer\\\":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open(\\\"GET\\\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\\\"include\\\"===t.credentials,e}function i(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t(\\\"./window\\\"),o={Unknown:\\\"Unknown\\\",Style:\\\"Style\\\",Source:\\\"Source\\\",Tile:\\\"Tile\\\",Glyphs:\\\"Glyphs\\\",SpriteImage:\\\"SpriteImage\\\",SpriteJSON:\\\"SpriteJSON\\\",Image:\\\"Image\\\"};r.ResourceType=o,\\\"function\\\"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader(\\\"Accept\\\",\\\"application/json\\\"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType=\\\"arraybuffer\\\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error(\\\"http status 200 returned without content.\\\"));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader(\\\"Cache-Control\\\"),expires:r.getResponseHeader(\\\"Expires\\\")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:\\\"image/png\\\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\\\"}})},r.getVideo=function(t,e){var r=a.document.createElement(\\\"video\\\");r.onloadstart=function(){e(null,r)};for(var n=0;n<t.length;n++){var o=a.document.createElement(\\\"source\\\");i(t[n])||(r.crossOrigin=\\\"Anonymous\\\"),o.src=t[n],r.appendChild(o)}return r}},{\\\"./window\\\":254}],252:[function(t,e,r){var n=t(\\\"./window\\\"),i=n.performance&&n.performance.now?n.performance.now.bind(n.performance):Date.now.bind(Date),a=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame,o=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.msCancelAnimationFrame;e.exports={now:i,frame:function(t){return a(t)},cancelFrame:function(t){return o(t)},getImageData:function(t){var e=n.document.createElement(\\\"canvas\\\"),r=e.getContext(\\\"2d\\\");if(!r)throw new Error(\\\"failed to create canvas 2d context\\\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},hardwareConcurrency:n.navigator.hardwareConcurrency||4,get devicePixelRatio(){return n.devicePixelRatio},supportsWebp:!1};var s=n.document.createElement(\\\"img\\\");s.onload=function(){e.exports.supportsWebp=!0},s.src=\\\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\\\"},{\\\"./window\\\":254}],253:[function(t,e,r){var n=t(\\\"webworkify\\\"),i=t(\\\"../window\\\"),a=i.URL.createObjectURL(new n(t(\\\"../../source/worker\\\"),{bare:!0}));e.exports=function(){return new i.Worker(a)}},{\\\"../../source/worker\\\":118,\\\"../window\\\":254,webworkify:36}],254:[function(t,e,r){e.exports=self},{}],255:[function(t,e,r){function n(t,e){return e.area-t.area}var i=t(\\\"quickselect\\\"),a=t(\\\"./util\\\").calculateSignedArea;e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],u=0;u<r;u++){var c=a(t[u]);0!==c&&(t[u].area=Math.abs(c),void 0===s&&(s=c<0),s===c<0?(o&&l.push(o),o=[t[u]]):o.push(t[u]))}if(o&&l.push(o),e>1)for(var h=0;h<l.length;h++)l[h].length<=e||(i(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{\\\"./util\\\":275,quickselect:31}],256:[function(t,e,r){e.exports={API_URL:\\\"https://api.mapbox.com\\\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null}},{}],257:[function(t,e,r){var n=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}};n.prototype.encode=function(t){return this._stringToNumber[t]},n.prototype.decode=function(t){return this._numberToString[t]},e.exports=n},{}],258:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./actor\\\"),a=function(t,e){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var o=r[a],s=new i(o,e,this.id);s.name=\\\"Worker \\\"+a,this.actors.push(s)}};a.prototype.broadcast=function(t,e,r){r=r||function(){},n.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},a.prototype.send=function(t,e,r,n){return(\\\"number\\\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},a.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},e.exports=a},{\\\"./actor\\\":250,\\\"./util\\\":275}],259:[function(t,e,r){function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e];return t[0]}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./window\\\");r.create=function(t,e,r){var n=a.document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n},r.createNS=function(t,e){return a.document.createElementNS(t,e)};var o,s=a.document.documentElement.style,l=n([\\\"userSelect\\\",\\\"MozUserSelect\\\",\\\"WebkitUserSelect\\\",\\\"msUserSelect\\\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\\\"none\\\")},r.enableDrag=function(){l&&(s[l]=o)};var u=n([\\\"transform\\\",\\\"WebkitTransform\\\"]);r.setTransform=function(t,e){t.style[u]=e};var c=function(t){t.preventDefault(),t.stopPropagation(),a.removeEventListener(\\\"click\\\",c,!0)};r.suppressClick=function(){a.addEventListener(\\\"click\\\",c,!0),a.setTimeout(function(){a.removeEventListener(\\\"click\\\",c,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new i(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],a=\\\"touchend\\\"===e.type?e.changedTouches:e.touches,o=0;o<a.length;o++)n.push(new i(a[o].clientX-r.left-t.clientLeft,a[o].clientY-r.top-t.clientTop));return n},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)}},{\\\"./window\\\":254,\\\"@mapbox/point-geometry\\\":4}],260:[function(t,e,r){function n(t,e,r){r[t]=r[t]||[],r[t].push(e)}function i(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var a=t(\\\"./util\\\"),o=function(){};o.prototype.on=function(t,e){return this._listeners=this._listeners||{},n(t,e,this._listeners),this},o.prototype.off=function(t,e){return i(t,e,this._listeners),i(t,e,this._oneTimeListeners),this},o.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},n(t,e,this._oneTimeListeners),this},o.prototype.fire=function(t,e){var r=this;if(this.listens(t)){e=a.extend({},e,{type:t,target:this});for(var n=0,o=this._listeners&&this._listeners[t]?this._listeners[t].slice():[];n<o.length;n+=1)o[n].call(r,e);for(var s=0,l=this._oneTimeListeners&&this._oneTimeListeners[t]?this._oneTimeListeners[t].slice():[];s<l.length;s+=1){var u=l[s];i(t,u,r._oneTimeListeners),u.call(r,e)}this._eventedParent&&this._eventedParent.fire(t,a.extend({},e,\\\"function\\\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData))}else a.endsWith(t,\\\"error\\\")&&console.error(e&&e.error||e||\\\"Empty error event\\\");return this},o.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)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{\\\"./util\\\":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,l=a.length,u=l-1;o<l;u=o++){var c=a[o],h=a[u];c.y>t.y!=h.y>t.y&&t.x<(h.x-c.x)*(t.y-c.y)/(h.y-c.y)+c.x&&(r=!r),n=Math.min(n,s(t,c,h))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t(\\\"tinyqueue\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"./intersection_tests\\\").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,u=-1/0,c=-1/0,h=t[0],f=0;f<h.length;f++){var p=h[f];(!f||p.x<s)&&(s=p.x),(!f||p.y<l)&&(l=p.y),(!f||p.x>u)&&(u=p.x),(!f||p.y>c)&&(c=p.y)}var d=u-s,g=c-l,v=Math.min(d,g),m=v/2,y=new a(null,n);if(0===v)return new o(s,l);for(var x=s;x<u;x+=v)for(var b=l;b<c;b+=v)y.push(new i(x+m,b+m,m,t));for(var _=function(t){for(var e=0,r=0,n=0,a=t[0],o=0,s=a.length,l=s-1;o<s;l=o++){var u=a[o],c=a[l],h=u.x*c.y-c.x*u.y;r+=(u.x+c.x)*h,n+=(u.y+c.y)*h,e+=3*h}return new i(r/e,n/e,0,t)}(t),w=y.length;y.length;){var M=y.pop();(M.d>_.d||!_.d)&&(_=M,r&&console.log(\\\"found best %d after %d probes\\\",Math.round(1e4*M.d)/1e4,w)),M.max-_.d<=e||(m=M.h/2,y.push(new i(M.p.x-m,M.p.y-m,m,t)),y.push(new i(M.p.x+m,M.p.y-m,m,t)),y.push(new i(M.p.x-m,M.p.y+m,m,t)),y.push(new i(M.p.x+m,M.p.y+m,m,t)),w+=4)}return r&&(console.log(\\\"num probes: \\\"+w),console.log(\\\"best distance: \\\"+_.d)),_.p}},{\\\"./intersection_tests\\\":264,\\\"@mapbox/point-geometry\\\":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t(\\\"./worker_pool\\\");e.exports=function(){return n||(n=new i),n}},{\\\"./worker_pool\\\":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\\\"mismatched image size\\\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\\\"out of range source coordinates for image copy\\\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\\\"out of range destination coordinates for image copy\\\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var u=((r.y+l)*t.width+r.x)*a,c=((n.y+l)*e.width+n.x)*a,h=0;h<i.width*a;h++)s[c+h]=o[u+h];return e}var o=t(\\\"./web_worker_transfer\\\").register,s=function(t,e){n(this,t,1,e)};s.prototype.resize=function(t){i(this,t,1)},s.prototype.clone=function(){return new s({width:this.width,height:this.height},new Uint8Array(this.data))},s.copy=function(t,e,r,n,i){a(t,e,r,n,i,1)};var l=function(t,e){n(this,t,4,e)};l.prototype.resize=function(t){i(this,t,4)},l.prototype.clone=function(){return new l({width:this.width,height:this.height},new Uint8Array(this.data))},l.copy=function(t,e,r,n,i){a(t,e,r,n,i,4)},o(\\\"AlphaImage\\\",s),o(\\\"RGBAImage\\\",l),e.exports={AlphaImage:s,RGBAImage:l}},{\\\"./web_worker_transfer\\\":278}],264:[function(t,e,r){function n(t,e,r){if(t.length>1){if(i(t,e))return!0;for(var n=0;n<e.length;n++)if(o(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(o(t[a],e,r))return!0;return!1}function i(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],i=t[r+1],o=0;o<e.length-1;o++){if(a(n,i,e[o],e[o+1]))return!0}return!1}function a(t,e,r,n){return c(t,r,n)!==c(e,r,n)&&c(t,e,r)!==c(t,e,n)}function o(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(s(t,e[i-1],e[i])<n)return!0;return!1}function s(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function l(t,e){for(var r,n,i,a=!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],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function u(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}var c=t(\\\"./util\\\").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var s=e[a],l=0;l<s.length;l++){var c=s[l];if(u(i,c))return!0;if(o(c,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&&1===t[0].length)return l(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(l(t,n[a]))return!0;for(var o=0;o<t.length;o++){for(var s=t[o],u=0;u<s.length;u++)if(l(e,s[u]))return!0;for(var c=0;c<e.length;c++)if(i(s,e[c]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i<e.length;i++)for(var a=e[i],o=0;o<t.length;o++){var s=t[o];if(s.length>=3)for(var l=0;l<a.length;l++)if(u(s,a[l]))return!0;if(n(s,a,r))return!0}return!1},polygonIntersectsPolygon:function(t,e){for(var r=0;r<t.length;r++)if(u(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(u(t,e[n]))return!0;return!!i(t,e)},distToSegmentSquared:s}},{\\\"./util\\\":275}],265:[function(t,e,r){e.exports={\\\"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},\\\"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}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.getAndRemove(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.getAndRemove=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\\\"/\\\"!==r.path&&(t.path=\\\"\\\"+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error(\\\"An API access token is required to use Mapbox GL. \\\"+u);if(\\\"s\\\"===e[0])throw new Error(\\\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \\\"+u);return t.params.push(\\\"access_token=\\\"+e),o(t)}function i(t){return 0===t.indexOf(\\\"mapbox:\\\")}function a(t){var e=t.match(h);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 o(t){var e=t.params.length?\\\"?\\\"+t.params.join(\\\"&\\\"):\\\"\\\";return t.protocol+\\\"://\\\"+t.authority+t.path+e}var s=t(\\\"./config\\\"),l=t(\\\"./browser\\\"),u=\\\"See https://www.mapbox.com/api-documentation/#access-tokens\\\";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/styles/v1\\\"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/fonts/v1\\\"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/v4/\\\"+r.authority+\\\".json\\\",r.params.push(\\\"secure\\\"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path=\\\"/styles/v1\\\"+l.path+\\\"/sprite\\\"+e+r,n(l,s)):(l.path+=\\\"\\\"+e+r,o(l))};var c=/(\\\\.(png|jpg)\\\\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),u=l.devicePixelRatio>=2||512===r?\\\"@2x\\\":\\\"\\\",h=l.supportsWebp?\\\".webp\\\":\\\"$1\\\";return n.path=n.path.replace(c,\\\"\\\"+u+h),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\\\"access_token=tk.\\\")&&(t[e]=\\\"access_token=\\\"+(s.ACCESS_TOKEN||\\\"\\\"))}(n.params),o(n)};var h=/^(\\\\w+):\\\\/\\\\/([^\\\\/?]*)(\\\\/[^?]+)?\\\\??(.+)?/},{\\\"./browser\\\":252,\\\"./config\\\":256}],268:[function(t,e,r){e.exports={getEntriesByName:function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)}}},{}],269:[function(t,e,r){var n=t(\\\"./is_char_in_unicode_block\\\");e.exports.allowsIdeographicBreaking=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsIdeographicBreaking(i.charCodeAt(0)))return!1}return!0},e.exports.allowsVerticalWritingMode=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(r.charHasUprightVerticalOrientation(i.charCodeAt(0)))return!0}return!1},e.exports.allowsLetterSpacing=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsLetterSpacing(i.charCodeAt(0)))return!1}return!0},e.exports.charAllowsLetterSpacing=function(t){return!(n.Arabic(t)||n[\\\"Arabic Supplement\\\"](t)||n[\\\"Arabic Extended-A\\\"](t)||n[\\\"Arabic Presentation Forms-A\\\"](t)||n[\\\"Arabic Presentation Forms-B\\\"](t))},e.exports.charAllowsIdeographicBreaking=function(t){return!!(!(t<11904)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yi Radicals\\\"](t)||n[\\\"Yi Syllables\\\"](t)))},r.charHasUprightVerticalOrientation=function(t){return!!(746===t||747===t||!(t<4352)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)&&!(t>=65097&&t<=65103)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||!(!n[\\\"CJK Symbols and Punctuation\\\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Hangul Compatibility Jamo\\\"](t)||n[\\\"Hangul Jamo Extended-A\\\"](t)||n[\\\"Hangul Jamo Extended-B\\\"](t)||n[\\\"Hangul Jamo\\\"](t)||n[\\\"Hangul Syllables\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n.Kanbun(t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)&&12540!==t||!(!n[\\\"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)||!(!n[\\\"Small Form Variants\\\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n[\\\"Unified Canadian Aboriginal Syllabics\\\"](t)||n[\\\"Unified Canadian Aboriginal Syllabics Extended\\\"](t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yijing Hexagram Symbols\\\"](t)||n[\\\"Yi Syllables\\\"](t)||n[\\\"Yi Radicals\\\"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n[\\\"Latin-1 Supplement\\\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n[\\\"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)||n[\\\"Letterlike Symbols\\\"](t)||n[\\\"Number Forms\\\"](t)||n[\\\"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)||n[\\\"Control Pictures\\\"](t)&&9251!==t||n[\\\"Optical Character Recognition\\\"](t)||n[\\\"Enclosed Alphanumerics\\\"](t)||n[\\\"Geometric Shapes\\\"](t)||n[\\\"Miscellaneous Symbols\\\"](t)&&!(t>=9754&&t<=9759)||n[\\\"Miscellaneous Symbols and Arrows\\\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n.Katakana(t)||n[\\\"Private Use Area\\\"](t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"Small Form Variants\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{\\\"./is_char_in_unicode_block\\\":265}],270:[function(t,e,r){var n=t(\\\"../geo/lng_lat\\\");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)<o?t=i:r.locationPoint(a).distSqr(e)<o&&(t=a)}for(;Math.abs(t.lng-r.center.lng)>180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{\\\"../geo/lng_lat\\\":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.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},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.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)}},a.prototype._refreshViews=function(){throw new Error(\\\"_refreshViews() must be implemented by each concrete StructArray layout\\\")},e.exports.StructArray=a,e.exports.Struct=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},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function i(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,u=e.dx/e.dy,c=t.dx>0,h=e.dx<0,f=a;f<o;f++){var p=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,d=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),f)}}function a(t,e,r,a,o,s){var l,u=n(t,e),c=n(e,r),h=n(r,t);u.dy>c.dy&&(l=u,u=c,c=l),u.dy>h.dy&&(l=u,u=h,h=l),c.dy>h.dy&&(l=c,c=h,h=l),u.dy&&i(h,u,a,o,s),c.dy&&i(h,c,a,o,s)}t(\\\"../geo/coordinate\\\");var o=t(\\\"../source/tile_id\\\").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var u,c,h;if(a>=0&&a<=s)for(u=e;u<i;u++)0!==(c=Math.floor(u/s))&&!0!==n||(h=new o(r,c,t,(u%s+s)%s,a),l[h.key]=h)}void 0===n&&(n=!0);var s=1<<t,l={};return a(e[0],e[1],e[2],0,s,i),a(e[2],e[3],e[0],0,s,i),Object.keys(l).map(function(t){return l[t]})}},{\\\"../geo/coordinate\\\":61,\\\"../source/tile_id\\\":114}],274:[function(t,e,r){e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):\\\"\\\"})}},{}],275:[function(t,e,r){var n=t(\\\"@mapbox/unitbezier\\\"),i=t(\\\"../geo/coordinate\\\");t(\\\"@mapbox/point-geometry\\\");r.easeCubicInOut=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)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,u=Math.max(s,l),c=Math.max(0,Math.floor(-Math.log(u)/Math.LN2));return new i((e+n)/2,(r+a)/2,0).zoomTo(c)},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.deepEqual=t(\\\"../style-spec/util/deep_equal\\\"),r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\\\"object\\\"==typeof t&&t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\\\"undefined\\\"!=typeof console&&console.warn(t),o[t]=!0)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e},r.isClosedPolygon=function(t){if(t.length<4)return!1;var e=t[0],n=t[t.length-1];return!(Math.abs(e.x-n.x)>0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.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)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\\\s*\\\\,\\\\s*))([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)(?:\\\\=(?:([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)|(?:\\\\\\\"((?:[^\\\"\\\\\\\\]|\\\\\\\\.)*)\\\\\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\\\"\\\"}),e[\\\"max-age\\\"]){var r=parseInt(e[\\\"max-age\\\"],10);isNaN(r)?delete e[\\\"max-age\\\"]:e[\\\"max-age\\\"]=r}return e}},{\\\"../geo/coordinate\\\":61,\\\"../style-spec/util/deep_equal\\\":155,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/unitbezier\\\":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type=\\\"Feature\\\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.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},i.geometry.set=function(t){this._geometry=t},n.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(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t(\\\"./script_detection\\\");e.exports=function(t){for(var r=\\\"\\\",i=0;i<t.length;i++){var a=t.charCodeAt(i+1)||null,o=t.charCodeAt(i-1)||null;a&&n.charHasRotatedVerticalOrientation(a)&&!e.exports.lookup[t[i+1]]||o&&n.charHasRotatedVerticalOrientation(o)&&!e.exports.lookup[t[i-1]]||!e.exports.lookup[t[i]]?r+=t[i]:r+=e.exports.lookup[t[i]]}return r},e.exports.lookup={\\\"!\\\":\\\"\\\\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\\\"}},{\\\"./script_detection\\\":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\\\"_classRegistryKey\\\",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t(\\\"grid-index\\\"),a=t(\\\"../style-spec/util/color\\\"),o=t(\\\"../style-spec/expression\\\"),s=o.StylePropertyFunction,l=o.StyleExpression,u=o.StyleExpressionWithErrorHandling,c=o.ZoomDependentExpression,h=o.ZoomConstantExpression,f=t(\\\"../style-spec/expression/compound_expression\\\").CompoundExpression,p=t(\\\"../style-spec/expression/definitions\\\"),d=t(\\\"./window\\\").ImageData,g={};for(var v in n(\\\"Object\\\",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n(\\\"Grid\\\",i),n(\\\"Color\\\",a),n(\\\"StylePropertyFunction\\\",s),n(\\\"StyleExpression\\\",l,{omit:[\\\"_evaluator\\\"]}),n(\\\"StyleExpressionWithErrorHandling\\\",u,{omit:[\\\"_evaluator\\\"]}),n(\\\"ZoomDependentExpression\\\",c),n(\\\"ZoomConstantExpression\\\",h),n(\\\"CompoundExpression\\\",f,{omit:[\\\"_evaluate\\\"]}),p)p[v]._classRegistryKey||n(\\\"Expression_\\\"+v,p[v]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a<o.length;a+=1){var s=o[a];i.push(t(s,r))}return i}if(\\\"object\\\"==typeof e){var l=e.constructor,u=l._classRegistryKey;if(!u)throw new Error(\\\"can't serialize object of unregistered class\\\");var c={};if(l.serialize)c._serialized=l.serialize(e,r);else for(var h in e)if(e.hasOwnProperty(h)&&!(g[u].omit.indexOf(h)>=0)){var f=e[h];c[h]=g[u].shallow.indexOf(h)>=0?f:t(f,r)}return{name:u,properties:c}}throw new Error(\\\"can't serialize object of type \\\"+typeof e)},deserialize:function t(e){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if(\\\"object\\\"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error(\\\"can't deserialize object of anonymous class\\\");var a=g[n].klass;if(!a)throw new Error(\\\"can't deserialize unregistered class \\\"+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s<l.length;s+=1){var u=l[s];o[u]=g[n].shallow.indexOf(u)>=0?i[u]:t(i[u])}return o}throw new Error(\\\"can't deserialize object of type \\\"+typeof e)}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/expression/compound_expression\\\":123,\\\"../style-spec/expression/definitions\\\":131,\\\"../style-spec/util/color\\\":153,\\\"./window\\\":254,\\\"grid-index\\\":24}],279:[function(t,e,r){var n=t(\\\"./web_worker\\\"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t(\\\"../\\\").workerCount;for(this.workers=[];this.workers.length<r;)this.workers.push(new n)}return this.active[e]=!0,this.workers.slice()},i.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)},e.exports=i},{\\\"../\\\":73,\\\"./web_worker\\\":253}]},{},[73])(73)})}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{}),bq=bq.exports;var _q={requiredVersion:\\\"0.44.1\\\",styleUrlPrefix:\\\"mapbox://styles/mapbox/\\\",styleUrlSuffix:\\\"v9\\\",controlContainerClassName:\\\"mapboxgl-control-container\\\",wrongVersionErrorMsg:[\\\"Your custom plotly.js bundle is not using the correct mapbox-gl version\\\",\\\"Please install mapbox-gl@0.44.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\\\"),mapOnErrorMsg:\\\"Mapbox error.\\\",styleRules:{map:\\\"overflow:hidden;position:relative;\\\",\\\"missing-css\\\":\\\"display:none\\\"}},wq=Oe.defaultLine,Mq=qc.attributes,Aq=Zr.textposition,kq=ye.overrideAll,Tq=T({});Tq.family.dflt=\\\"Open Sans Regular, Arial Unicode MS Regular\\\";var Sq=kq({_arrayAttrRegexps:[ne.counterRegex(\\\"mapbox\\\",\\\".layers\\\",!0)],domain:Mq({name:\\\"mapbox\\\"}),accesstoken:{valType:\\\"string\\\",noBlank:!0,strict:!0},style:{valType:\\\"any\\\",values:[\\\"basic\\\",\\\"streets\\\",\\\"outdoors\\\",\\\"light\\\",\\\"dark\\\",\\\"satellite\\\",\\\"satellite-streets\\\"],dflt:\\\"basic\\\"},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:{_isLinkedToArray:\\\"layer\\\",sourcetype:{valType:\\\"enumerated\\\",values:[\\\"geojson\\\",\\\"vector\\\"],dflt:\\\"geojson\\\"},source:{valType:\\\"any\\\"},sourcelayer:{valType:\\\"string\\\",dflt:\\\"\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"line\\\",\\\"fill\\\",\\\"symbol\\\"],dflt:\\\"circle\\\"},below:{valType:\\\"string\\\",dflt:\\\"\\\"},color:{valType:\\\"color\\\",dflt:wq},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},circle:{radius:{valType:\\\"number\\\",dflt:15}},line:{width:{valType:\\\"number\\\",dflt:2}},fill:{outlinecolor:{valType:\\\"color\\\",dflt:wq}},symbol:{icon:{valType:\\\"string\\\",dflt:\\\"marker\\\"},iconsize:{valType:\\\"number\\\",dflt:10},text:{valType:\\\"string\\\",dflt:\\\"\\\"},textfont:Tq,textposition:ne.extendFlat({},Aq,{arrayOk:!1})}}},\\\"plot\\\",\\\"from-root\\\");function Eq(t,e,r,n){r(\\\"accesstoken\\\",n.accessToken),r(\\\"style\\\"),r(\\\"center.lon\\\"),r(\\\"center.lat\\\"),r(\\\"zoom\\\"),r(\\\"bearing\\\"),r(\\\"pitch\\\"),function(t,e){var r,n,i=t.layers||[],a=e.layers=[];function o(t,e){return ne.coerce(r,n,Sq.layers,t,e)}for(var s=0;s<i.length;s++)if(r=i[s],n={},ne.isPlainObject(r)){var l=o(\\\"sourcetype\\\");o(\\\"source\\\"),\\\"vector\\\"===l&&o(\\\"sourcelayer\\\");var u=o(\\\"type\\\");o(\\\"below\\\"),o(\\\"color\\\"),o(\\\"opacity\\\"),\\\"circle\\\"===u&&o(\\\"circle.radius\\\"),\\\"line\\\"===u&&o(\\\"line.width\\\"),\\\"fill\\\"===u&&o(\\\"fill.outlinecolor\\\"),\\\"symbol\\\"===u&&(o(\\\"symbol.icon\\\"),o(\\\"symbol.iconsize\\\"),o(\\\"symbol.text\\\"),ne.coerceFont(o,\\\"symbol.textfont\\\"),o(\\\"symbol.textposition\\\")),n._index=s,a.push(n)}}(t,e),e._input=t}var Cq=function(t,e){var r=t.split(\\\" \\\"),n=r[0],i=r[1],a=ne.isArrayOrTypedArray(e)?ne.mean(e):e,o=.5+a/100,s=1.5+a/100,l=[\\\"\\\",\\\"\\\"],u=[0,0];switch(n){case\\\"top\\\":l[0]=\\\"top\\\",u[1]=-s;break;case\\\"bottom\\\":l[0]=\\\"bottom\\\",u[1]=s}switch(i){case\\\"left\\\":l[1]=\\\"right\\\",u[0]=-o;break;case\\\"right\\\":l[1]=\\\"left\\\",u[0]=o}return{anchor:l[0]&&l[1]?l.join(\\\"-\\\"):l[0]?l[0]:l[1]?l[1]:\\\"center\\\",offset:u}};function Lq(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\\\"-layer\\\"+e,this.idSource=this.uid+\\\"-source\\\",this.idLayer=this.uid+\\\"-layer\\\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var zq=Lq.prototype;function Pq(t){var e=t.source;return ne.isPlainObject(e)||\\\"string\\\"==typeof e&&e.length>0}function Iq(t){var e={},r={};switch(t.type){case\\\"circle\\\":ne.extendFlat(r,{\\\"circle-radius\\\":t.circle.radius,\\\"circle-color\\\":t.color,\\\"circle-opacity\\\":t.opacity});break;case\\\"line\\\":ne.extendFlat(r,{\\\"line-width\\\":t.line.width,\\\"line-color\\\":t.color,\\\"line-opacity\\\":t.opacity});break;case\\\"fill\\\":ne.extendFlat(r,{\\\"fill-color\\\":t.color,\\\"fill-outline-color\\\":t.fill.outlinecolor,\\\"fill-opacity\\\":t.opacity});break;case\\\"symbol\\\":var n=t.symbol,i=Cq(n.textposition,n.iconsize);ne.extendFlat(e,{\\\"icon-image\\\":n.icon+\\\"-15\\\",\\\"icon-size\\\":n.iconsize/10,\\\"text-field\\\":n.text,\\\"text-size\\\":n.textfont.size,\\\"text-anchor\\\":i.anchor,\\\"text-offset\\\":i.offset}),ne.extendFlat(r,{\\\"icon-color\\\":t.color,\\\"text-color\\\":n.textfont.color,\\\"text-opacity\\\":t.opacity})}return{layout:e,paint:r}}zq.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=Pq(t)},zq.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},zq.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},zq.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,Pq(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\\\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},zq.updateLayer=function(t){var e=this.map,r=Iq(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,Pq(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\\\"source-layer\\\":t.sourcelayer||\\\"\\\",type:t.type,layout:r.layout,paint:r.paint},t.below)},zq.updateStyle=function(t){if(Pq(t)){var e=Iq(t);this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",e.layout),this.mapbox.setOptions(this.idLayer,\\\"setPaintProperty\\\",e.paint)}},zq.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)};var Dq=function(t,e,r){var n=new Lq(t,e);return n.update(r),n};function Oq(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\\\"-\\\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var Rq=Oq.prototype,Fq=function(t){return new Oq(t)};function Bq(t){var e=Sq.style.values,r=Sq.style.dflt,n={};return ne.isPlainObject(t)?(n.id=t.id,n.style=t):\\\"string\\\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?Nq(t):t):(n.id=r,n.style=Nq(r)),n.transition={duration:0,delay:0},n}function Nq(t){return _q.styleUrlPrefix+t+\\\"-\\\"+_q.styleUrlSuffix}function jq(t){return[t.lon,t.lat]}Rq.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},Rq.createMap=function(t,e,r,n){var i=this,a=i.gd,o=i.opts,s=i.styleObj=Bq(o.style);i.accessToken=o.accesstoken;var l=i.map=new bq.Map({container:i.div,style:s.style,center:jq(o.center),zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1}),u=_q.controlContainerClassName,c=i.div.getElementsByClassName(u)[0];function h(){yo.loneUnhover(e._toppaper)}i.div.removeChild(c),l._canvas.style.left=\\\"0px\\\",l._canvas.style.top=\\\"0px\\\",i.rejectOnError(n),l.once(\\\"load\\\",function(){i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)}),i.isStatic||(l.on(\\\"moveend\\\",function(t){if(i.map){var e=i.getView();if(o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,t.originalEvent){var r={};r[i.id]=ne.extendFlat({},e),a.emit(\\\"plotly_relayout\\\",r)}}}),l.on(\\\"mousemove\\\",function(t){var e=i.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},i.xaxis.p2c=function(){return t.lngLat.lng},i.yaxis.p2c=function(){return t.lngLat.lat},yo.hover(a,t,i.id)}),l.on(\\\"click\\\",function(t){yo.click(a,t.originalEvent)}),l.on(\\\"dragstart\\\",h),l.on(\\\"zoomstart\\\",h),l.on(\\\"dblclick\\\",function(){var t=i.viewInitial;l.setCenter(jq(t.center)),l.setZoom(t.zoom),l.setBearing(t.bearing),l.setPitch(t.pitch);var e=i.getView();o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,a.emit(\\\"plotly_doubleclick\\\",null)}),i.clearSelect=function(){a._fullLayout._zoomlayer.selectAll(\\\".select-outline\\\").remove()})},Rq.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=Bq(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\\\"styledata\\\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},Rq.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},Rq.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(jq(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},Rq.resolveOnRender=function(t){var e=this.map;e.on(\\\"render\\\",function r(){e.loaded()&&(e.off(\\\"render\\\",r),setTimeout(t,0))})},Rq.rejectOnError=function(t){var e=this.map;function r(){t(new Error(_q.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)},Rq.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)},Rq.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,a=t.dragmode;if(i=\\\"select\\\"===a?function(t,r){(t.range={})[e.id]=[s([r.xmin,r.ymin]),s([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(s)},\\\"select\\\"===a||\\\"lasso\\\"===a){r.dragPan.disable(),r.on(\\\"zoomstart\\\",e.clearSelect);var o={element:e.div,gd:n,plotinfo:{xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id,prepFn:function(t,e,r){_c(t,e,r,o,a)}};Ua.init(o)}else r.dragPan.enable(),r.off(\\\"zoomstart\\\",e.clearSelect),e.div.onmousedown=null}function s(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},Rq.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])},Rq.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(Dq(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},Rq.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},Rq.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},Rq.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},Rq.project=function(t){return this.map.project(new bq.LngLat(t[0],t[1]))},Rq.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}};var Vq={},Uq=sa.getSubplotCalcData;for(var qq in _q.styleRules)ne.addStyleRule(\\\".mapboxgl-\\\"+qq,_q.styleRules[qq]);Vq.name=\\\"mapbox\\\",Vq.attr=\\\"subplot\\\",Vq.idRoot=\\\"mapbox\\\",Vq.idRegex=Vq.attrRegex=ne.counterRegex(\\\"mapbox\\\"),Vq.attributes={subplot:{valType:\\\"subplotid\\\",dflt:\\\"mapbox\\\",editType:\\\"calc\\\"}},Vq.layoutAttributes=Sq,Vq.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\\\"mapbox\\\",attributes:Sq,handleDefaults:Eq,partition:\\\"y\\\",accessToken:e._mapboxAccessToken})},Vq.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.mapbox;if(bq.version!==_q.requiredVersion)throw new Error(_q.wrongVersionErrorMsg);var i=function(t,e){var r=t._fullLayout;if(\\\"\\\"===t._context.mapboxAccessToken)return\\\"\\\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(_q.noAccessTokenErrorMsg)}(t,n);bq.accessToken=i;for(var a=0;a<n.length;a++){var o=n[a],s=Uq(r,\\\"mapbox\\\",o),l=e[o],u=l._subplot;u||(u=Fq({gd:t,container:e._glcontainer.node(),id:o,fullLayout:e,staticPlot:t._context.staticPlot}),e[o]._subplot=u),u.viewInitial||(u.viewInitial={center:ne.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,e,t._promises)}},Vq.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},Vq.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":l,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()}},Vq.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r<e.length;r++){t[e[r]]._subplot.updateFx(t)}};var Hq=m.extendFlat,Gq=ye.overrideAll,Wq=uh.line,Yq=uh.marker,Xq=Gq({lon:uh.lon,lat:uh.lat,mode:Hq({},Zr.mode,{dflt:\\\"markers\\\"}),text:Hq({},Zr.text,{}),hovertext:Hq({},Zr.hovertext,{}),line:{color:Wq.color,width:Wq.width},connectgaps:Zr.connectgaps,marker:{symbol:{valType:\\\"string\\\",dflt:\\\"circle\\\",arrayOk:!0},opacity:Yq.opacity,size:Yq.size,sizeref:Yq.sizeref,sizemin:Yq.sizemin,sizemode:Yq.sizemode,color:Yq.color,colorscale:Yq.colorscale,cauto:Yq.cauto,cmax:Yq.cmax,cmin:Yq.cmin,autocolorscale:Yq.autocolorscale,reversescale:Yq.reversescale,showscale:Yq.showscale,colorbar:ze},fill:uh.fill,fillcolor:Zr.fillcolor,textfont:Sq.layers.symbol.textfont,textposition:Sq.layers.symbol.textposition,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},hoverinfo:Hq({},E.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\");var Zq=t.BADNUM;var Jq=t.BADNUM,Kq=function(t){var e,n=t[0].trace,i=!0===n.visible,a=\\\"none\\\"!==n.fill,o=Tr.hasLines(n),s=Tr.hasMarkers(n),l=Tr.hasText(n),u=s&&\\\"circle\\\"===n.marker.symbol,c=s&&\\\"circle\\\"!==n.marker.symbol,h=Qq(),f=Qq(),p=Qq(),d=Qq(),g={fill:h,line:f,circle:p,symbol:d};if(!i)return g;if((a||o)&&(e=aV.calcTraceToLineCoords(t)),a&&(h.geojson=aV.makePolygon(e),h.layout.visibility=\\\"visible\\\",ne.extendFlat(h.paint,{\\\"fill-color\\\":n.fillcolor})),o&&(f.geojson=aV.makeLine(e),f.layout.visibility=\\\"visible\\\",ne.extendFlat(f.paint,{\\\"line-width\\\":n.line.width,\\\"line-color\\\":n.line.color,\\\"line-opacity\\\":n.opacity})),u){var v=function(t){var e,n,i,a,o=t[0].trace,s=o.marker,l=o.selectedpoints,u=ne.isArrayOrTypedArray(s.color),c=ne.isArrayOrTypedArray(s.size),h=ne.isArrayOrTypedArray(s.opacity);function f(t){return o.opacity*t}function p(t){return t/2}u&&(n=Je.hasColorscale(o,\\\"marker\\\")?Je.makeColorScaleFunc(Je.extractScale(s.colorscale,s.cmin,s.cmax)):ne.identity);c&&(i=kr(o));h&&(a=function(t){var e=r(t)?+ne.constrain(t,0,1):0;return f(e)});var d,g=[];for(e=0;e<t.length;e++){var v=t[e],m=v.lonlat;if(!eH(m)){var y={};n&&(y.mcc=v.mcc=n(v.mc)),i&&(y.mrc=v.mrc=i(v.ms)),a&&(y.mo=a(v.mo)),l&&(y.selected=v.selected||0),g.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:m},properties:y})}}if(l)for(d=Sr.makeSelectedPointStyleFns(o),e=0;e<g.length;e++){var x=g[e].properties,b=d.opacityFn(x);if(void 0!==b?x.mo=f(b):void 0===x.mo&&(x.mo=f(s.opacity)),d.colorFn){var _=d.colorFn(x);_?x.mcc=_:x.mcc||(x.mcc=s.color)}if(d.sizeFn){var w=d.sizeFn(x);void 0!==w?x.mrc=w:void 0===x.mrc&&(x.mrc=p(s.size))}}return{geojson:{type:\\\"FeatureCollection\\\",features:g},mcc:u||d&&d.colorFn?{type:\\\"identity\\\",property:\\\"mcc\\\"}:s.color,mrc:c||d&&d.sizeFn?{type:\\\"identity\\\",property:\\\"mrc\\\"}:p(s.size),mo:h||l?{type:\\\"identity\\\",property:\\\"mo\\\"}:f(s.opacity)}}(t);p.geojson=v.geojson,p.layout.visibility=\\\"visible\\\",ne.extendFlat(p.paint,{\\\"circle-color\\\":v.mcc,\\\"circle-radius\\\":v.mrc,\\\"circle-opacity\\\":v.mo})}if((c||l)&&(d.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\\\"circle\\\"!==r?$q(r):tH,a=Tr.hasText(e)?$q(n):tH,o=[],s=0;s<t.length;s++){var l=t[s];eH(l.lonlat)||o.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\\\"FeatureCollection\\\",features:o}}(t),ne.extendFlat(d.layout,{visibility:\\\"visible\\\",\\\"icon-image\\\":\\\"{symbol}-15\\\",\\\"text-field\\\":\\\"{text}\\\"}),c&&(ne.extendFlat(d.layout,{\\\"icon-size\\\":n.marker.size/10}),ne.extendFlat(d.paint,{\\\"icon-opacity\\\":n.opacity*n.marker.opacity,\\\"icon-color\\\":n.marker.color})),l)){var m=(n.marker||{}).size,y=Cq(n.textposition,m);ne.extendFlat(d.layout,{\\\"text-size\\\":n.textfont.size,\\\"text-anchor\\\":y.anchor,\\\"text-offset\\\":y.offset}),ne.extendFlat(d.paint,{\\\"text-color\\\":n.textfont.color,\\\"text-opacity\\\":n.opacity})}return g};function Qq(){return{geojson:aV.makeBlank(),layout:{visibility:\\\"none\\\"},paint:{}}}function $q(t){return ne.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:tH}function tH(){return\\\"\\\"}function eH(t){return t[0]===Jq}function rH(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\\\"-source-fill\\\",line:e+\\\"-source-line\\\",circle:e+\\\"-source-circle\\\",symbol:e+\\\"-source-symbol\\\"},this.layerIds={fill:e+\\\"-layer-fill\\\",line:e+\\\"-layer-line\\\",circle:e+\\\"-layer-circle\\\",symbol:e+\\\"-layer-symbol\\\"},this.order=[\\\"fill\\\",\\\"line\\\",\\\"circle\\\",\\\"symbol\\\"]}var nH=rH.prototype;nH.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\\\"geojson\\\",data:e.geojson})},nH.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},nH.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},nH.update=function(t){for(var e=this.subplot,r=Kq(t),n=0;n<this.order.length;n++){var i=this.order[n],a=r[i];e.setOptions(this.layerIds[i],\\\"setLayoutProperty\\\",a.layout),\\\"visible\\\"===a.layout.visibility&&(this.setSourceData(i,a),e.setOptions(this.layerIds[i],\\\"setPaintProperty\\\",a.paint))}t[0].trace._glTrace=this},nH.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}};var iH={};iH.attributes=Xq,iH.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Xq,r,n)}if(function(t,e,r){var n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,i)){if(i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i,{noDash:!0}),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)){gx(t,e,r,n,i,{noLine:!0});var a=e.marker;a.line={width:0},\\\"circle\\\"!==a.symbol&&(ne.isArrayOrTypedArray(a.size)&&(a.size=a.size[0]),ne.isArrayOrTypedArray(a.color)&&(a.color=a.color[0]))}Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0}),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},iH.colorbar=is,iH.calc=nV,iH.plot=function(t,e){for(var r=new rH(t,e[0].trace.uid),n=Kq(e),i=0;i<r.order.length;i++){var a=r.order[i],o=n[a];r.addSource(a,o),r.addLayer(a,o)}return e[0].trace._glTrace=r,r},iH.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),u=e-l;if(yo.getClosest(n,function(t){var e=t.lonlat;if(e[0]===Zq)return 1/0;var n=ne.wrap180(e[0]),i=e[1],l=s.project([n,i]),c=l.x-a.c2p([u,i]),h=l.y-o.c2p([n,r]),f=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(c*c+h*h)-f,1-3/f)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[ne.wrap180(h[0])+l,h[1]],p=a.c2p(f),d=o.c2p(f),g=c.mrc||1;return t.x0=p-g,t.x1=p+g,t.y0=d-g,t.y1=d+g,t.color=mx(i,c),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\\\"+\\\"),i=-1!==n.indexOf(\\\"all\\\"),a=-1!==n.indexOf(\\\"lon\\\"),o=-1!==n.indexOf(\\\"lat\\\"),s=e.lonlat,l=[];function u(t){return t+\\\"\\\\xb0\\\"}return i||a&&o?l.push(\\\"(\\\"+u(s[0])+\\\", \\\"+u(s[1])+\\\")\\\"):a?l.push(r.lon+u(s[0])):o&&l.push(r.lat+u(s[1])),(i||-1!==n.indexOf(\\\"text\\\"))&&xo(e,t,l),l.join(\\\"<br>\\\")}(i,c,n[0].t.labels),[t]}},iH.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t},iH.selectPoints=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace;if(!Tr.hasMarkers(s))return[];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],u=l.lonlat,c=[ne.wrap180(u[0]),u[1]],h=[i.c2p(c),a.c2p(c)];e.contains(h)?(o.push({pointNumber:r,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0}return o},iH.style=function(t,e){e&&e[0].trace._glTrace.update(e)},iH.moduleType=\\\"trace\\\",iH.name=\\\"scattermapbox\\\",iH.basePlotModule=Vq,iH.categories=[\\\"mapbox\\\",\\\"gl\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatterlike\\\"],iH.meta={};var aH=iH,oH={attr:\\\"subplot\\\",name:\\\"polar\\\",axisNames:[\\\"angularaxis\\\",\\\"radialaxis\\\"],axisName2dataArray:{angularaxis:\\\"theta\\\",radialaxis:\\\"r\\\"},layerNames:[\\\"draglayer\\\",\\\"plotbg\\\",\\\"backplot\\\",\\\"angular-grid\\\",\\\"radial-grid\\\",\\\"frontplot\\\",\\\"angular-axis\\\",\\\"radial-axis\\\",\\\"angular-line\\\",\\\"radial-line\\\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20},sH=qc.attributes,lH=ne.extendFlat,uH=ye.overrideAll,cH=uH({color:Ce.color,showline:lH({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:lH({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth},\\\"plot\\\",\\\"from-root\\\"),hH=uH({tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,layer:Ce.layer},\\\"plot\\\",\\\"from-root\\\"),fH={visible:lH({},Ce.visible,{dflt:!0}),type:Ce.type,autorange:Ce.autorange,rangemode:{valType:\\\"enumerated\\\",values:[\\\"tozero\\\",\\\"nonnegative\\\",\\\"normal\\\"],dflt:\\\"tozero\\\",editType:\\\"calc\\\"},range:Ce.range,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,angle:{valType:\\\"angle\\\",editType:\\\"plot\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"],dflt:\\\"clockwise\\\",editType:\\\"plot\\\"},title:lH({},Ce.title,{editType:\\\"plot\\\",dflt:\\\"\\\"}),titlefont:uH(Ce.titlefont,\\\"plot\\\",\\\"from-root\\\"),hoverformat:Ce.hoverformat,editType:\\\"calc\\\"};lH(fH,cH,hH);var pH={visible:lH({},Ce.visible,{dflt:!0}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},categoryorder:Ce.categoryorder,categoryarray:Ce.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:Ce.hoverformat,editType:\\\"calc\\\"};lH(pH,cH,hH);var dH={domain:sH({name:\\\"polar\\\",editType:\\\"plot\\\"}),sector:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"plot\\\"},{valType:\\\"number\\\",editType:\\\"plot\\\"}],dflt:[0,360],editType:\\\"plot\\\"},bgcolor:{valType:\\\"color\\\",editType:\\\"plot\\\",dflt:C.background},radialaxis:fH,angularaxis:pH,editType:\\\"calc\\\"},gH={};gH.setConvertAngular=function(t){var e,r,n={clockwise:-1,counterclockwise:1}[t.direction],i=ne.deg2rad(t.rotation);function a(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function o(t){return(t-i)/n}\\\"linear\\\"===t.type?(e=function(t,e){return\\\"degrees\\\"===e?ne.deg2rad(t):t},r=function(t,e){return\\\"degrees\\\"===e?ne.rad2deg(t):t}):\\\"category\\\"===t.type&&(e=function(t){var e=a();return 2*t*Math.PI/e},r=function(t){return t*a()/Math.PI/2}),t.unTransformRad=o,t._c2rad=e,t.c2rad=function(t,r){return function(t){return n*t+i}(e(t,r))},t.rad2c=function(t,e){return r(o(t),e)},t.c2deg=function(e,r){return ne.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(ne.deg2rad(e),r)}};var vH=sa.getSubplotData,mH=gH.setConvertAngular,yH=oH.axisNames;function xH(t,e,r,n){var i=r(\\\"bgcolor\\\");n.bgColor=Oe.combine(i,n.paper_bgcolor);var a,o=r(\\\"sector\\\"),s=vH(n.fullData,oH.name,n.id),l=n.layoutOut;function u(t,e){return r(a+\\\".\\\"+t,e)}for(var c=0;c<yH.length;c++){a=yH[c],ne.isPlainObject(t[a])||(t[a]={});var h=t[a],f=e[a]={};f._id=f._name=a;var p=oH.axisName2dataArray[a],d=bH(h,f,u,s,p);Wi(h,f,u),f._initialCategories=\\\"category\\\"===d?Ki(p,f.categoryorder,f.categoryarray,s):[];var g,v,m=u(\\\"visible\\\");switch(ei(f,l),m&&(v=(g=u(\\\"color\\\"))===h.color?g:n.font.color),f._m=1,a){case\\\"radialaxis\\\":var y=u(\\\"autorange\\\",!f.isValidRange(h.range));h.autorange=y,y&&u(\\\"rangemode\\\"),\\\"reversed\\\"===y&&(f._m=-1),u(\\\"range\\\"),f.cleanRange(\\\"range\\\",{dfltRange:[0,1]}),m&&(u(\\\"side\\\"),u(\\\"angle\\\",o[0]),u(\\\"title\\\"),ne.coerceFont(u,\\\"titlefont\\\",{family:n.font.family,size:Math.round(1.2*n.font.size),color:v}));break;case\\\"angularaxis\\\":if(\\\"date\\\"===d){ne.log(\\\"Polar plots do not support date angular axes yet.\\\");for(var x=0;x<s.length;x++)s[x].visible=!1;d=h.type=f.type=\\\"linear\\\"}u(\\\"linear\\\"===d?\\\"thetaunit\\\":\\\"period\\\"),u(\\\"rotation\\\",{counterclockwise:0,clockwise:90}[u(\\\"direction\\\")]),mH(f)}if(m)Ge(h,f,u,f.type),Ue(h,f,u,f.type,{tickSuffixDflt:\\\"degrees\\\"===f.thetaunit?\\\"\\\\xb0\\\":void 0}),qe(h,f,u,{outerTicks:!0}),u(\\\"showticklabels\\\")&&(ne.coerceFont(u,\\\"tickfont\\\",{family:n.font.family,size:n.font.size,color:v}),u(\\\"tickangle\\\"),u(\\\"tickformat\\\")),Zi(h,f,u,{dfltColor:g,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:dH[a]}),u(\\\"layer\\\");\\\"category\\\"!==d&&u(\\\"hoverformat\\\"),f._input=h}}function bH(t,e,r,n,i){if(\\\"-\\\"===r(\\\"type\\\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&(e.type=Yn(a[i],\\\"gregorian\\\")),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type}return e.type}var _H=Nn,wH=Qe.MID_SHIFT,MH=ne._,AH=ne.deg2rad,kH=ne.rad2deg,TH=ne.wrap360,SH=ne.wrap180,EH=gH.setConvertAngular;function CH(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\\\"clip\\\"+r._uid+e;this.clipIds.circle=n+\\\"-circle\\\",this.clipPaths.circle=r._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",this.clipIds.circle),this.clipPaths.circle.append(\\\"path\\\"),this.framework=r._polarlayer.append(\\\"g\\\").attr(\\\"class\\\",e),this.radialTickLayout=null,this.angularTickLayout=null}var LH=CH.prototype,zH=function(t,e){return new CH(t,e)};function PH(t,e,r){ri.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function IH(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\\\"side\\\"in t&&(e+=t.side),e}function DH(t,e){if(RH(e))return Sr.symbolFuncs[0](t);var r=t*Math.cos(AH(e[0])),n=-t*Math.sin(AH(e[0])),i=t*Math.cos(AH(e[1])),a=-t*Math.sin(AH(e[1]));return\\\"M\\\"+[r,n]+\\\"A\\\"+[t,t]+\\\" \\\"+(Math.abs(e[1]-e[0])<=180?[0,0,0]:[0,1,0])+\\\" \\\"+[i,a]}function OH(t,e){return DH(t,e)+(RH(e)?\\\"\\\":\\\"L0,0Z\\\")}function RH(t){return 360===Math.abs(t[1]-t[0])}function FH(t,e,r){return e?(t.attr(\\\"display\\\",null),t.attr(r)):t&&t.attr(\\\"display\\\",\\\"none\\\"),t}function BH(t,e){return\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"}function NH(t){return\\\"rotate(\\\"+t+\\\")\\\"}function jH(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function VH(t){return jH(Math.cos(t))}function UH(t){return jH(Math.sin(t))}LH.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),_n.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},LH.updateLayers=function(t,r){var n=this.layers,i=r.radialaxis,a=r.angularaxis,o=oH.layerNames,s=o.indexOf(\\\"frontplot\\\"),l=o.slice(0,s),u=\\\"below traces\\\"===a.layer,c=\\\"below traces\\\"===i.layer;u&&l.push(\\\"angular-axis\\\"),c&&l.push(\\\"radial-axis\\\"),u&&l.push(\\\"angular-line\\\"),c&&l.push(\\\"radial-line\\\"),l.push(\\\"frontplot\\\"),u||l.push(\\\"angular-axis\\\"),c||l.push(\\\"radial-axis\\\"),u||l.push(\\\"angular-line\\\"),c||l.push(\\\"radial-line\\\");var h=this.framework.selectAll(\\\".polarsublayer\\\").data(l,String);h.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"polarsublayer \\\"+t}).each(function(t){var r=n[t]=e.select(this);switch(t){case\\\"frontplot\\\":r.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0);break;case\\\"backplot\\\":r.append(\\\"g\\\").classed(\\\"maplayer\\\",!0);break;case\\\"plotbg\\\":n.bgcircle=r.append(\\\"path\\\");break;case\\\"radial-grid\\\":r.style(\\\"fill\\\",\\\"none\\\"),r.append(\\\"g\\\").classed(\\\"x\\\",1);break;case\\\"angular-grid\\\":r.style(\\\"fill\\\",\\\"none\\\"),r.append(\\\"g\\\").classed(\\\"angular\\\",1);break;case\\\"radial-line\\\":r.append(\\\"line\\\").style(\\\"fill\\\",\\\"none\\\");break;case\\\"angular-line\\\":r.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\")}}),h.order()},LH.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var s,l,u,c,h,f=r.xLength=i.w*(a[1]-a[0]),p=r.yLength=i.h*(o[1]-o[0]),d=r.sector=e.sector,g=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=TH(a),l=s+o,u=Math.cos(AH(s)),c=Math.sin(AH(s)),h=Math.cos(AH(l)),f=Math.sin(AH(l));i=s<=90&&l>=90||s>90&&l>=450?1:c<=0&&f<=0?0:Math.max(c,f);e=s<=180&&l>=180||s>180&&l>=540?-1:u>=0&&h>=0?0:Math.min(u,h);r=s<=270&&l>=270||s>270&&l>=630?-1:c>=0&&f>=0?0:Math.min(c,f);n=l>=360?1:u<=0&&h<=0?0:Math.max(u,h);return[e,r,n,i]}(d),v=g[2]-g[0],m=g[3]-g[1],y=p/f,x=Math.abs(m/v);y>x?(s=f,h=(p-(l=f*x))/i.h/2,u=[a[0],a[1]],c=[o[0]+h,o[1]-h]):(l=p,h=(f-(s=p/x))/i.w/2,u=[a[0]+h,a[1]-h],c=[o[0],o[1]]),r.xLength2=s,r.yLength2=l,r.xDomain2=u,r.yDomain2=c;var b=r.xOffset2=i.l+i.w*u[0],_=r.yOffset2=i.t+i.h*(1-c[1]),w=r.radius=s/v,M=r.cx=b-w*g[0],A=r.cy=_+w*g[3],k=r.cxx=M-b,T=r.cyy=A-_;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var S=r.radialAxis.range,E=S[1]-S[0],C=r.xaxis={type:\\\"linear\\\",_id:\\\"x\\\",range:[g[0]*E,g[2]*E],domain:u};ri.setConvert(C,t),C.setScale();var L=r.yaxis={type:\\\"linear\\\",_id:\\\"y\\\",range:[g[1]*E,g[3]*E],domain:c};ri.setConvert(L,t),L.setScale(),C.isPtWithinRange=function(t){return r.isPtWithinSector(t)},L.isPtWithinRange=function(){return!0},n.frontplot.attr(\\\"transform\\\",BH(b,_)).call(Sr.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:OH(w,d),transform:BH(M,A)}).call(Oe.fill,e.bgcolor),r.clipPaths.circle.select(\\\"path\\\").attr(\\\"d\\\",OH(w,d)).attr(\\\"transform\\\",BH(k,T)),r.framework.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",0)},LH.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,o=this.cy,s=t._size,l=e.radialaxis,u=e.sector,c=TH(u[0]);this.fillViewInitialKey(\\\"radialaxis.angle\\\",l.angle);var h=this.radialAxis=ne.extendFlat({},l,{_axislayer:n[\\\"radial-axis\\\"],_gridlayer:n[\\\"radial-grid\\\"],_id:\\\"x\\\",_pos:0,side:{counterclockwise:\\\"top\\\",clockwise:\\\"bottom\\\"}[l.side],domain:[0,i/s.w],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1});PH(h,l,t),_H(h),l.range=h.range.slice(),l._input.range=h.range.slice(),this.fillViewInitialKey(\\\"radialaxis.range\\\",h.range.slice()),\\\"auto\\\"===h.tickangle&&c>90&&c<=270&&(h.tickangle=180),h._transfn=function(t){return\\\"translate(\\\"+h.l2p(t.x)+\\\",0)\\\"},h._gridpath=function(t){return DH(h.r2p(t.x),u)};var f=IH(l);this.radialTickLayout!==f&&(n[\\\"radial-axis\\\"].selectAll(\\\".xtick\\\").remove(),this.radialTickLayout=f),ri.doTicks(r,h,!0),FH(n[\\\"radial-axis\\\"],l.showticklabels||l.ticks,{transform:BH(a,o)+NH(-l.angle)}),FH(n[\\\"radial-grid\\\"],l.showgrid,{transform:BH(a,o)}).selectAll(\\\"path\\\").attr(\\\"transform\\\",null),FH(n[\\\"radial-line\\\"].select(\\\"line\\\"),l.showline,{x1:0,y1:0,x2:i,y2:0,transform:BH(a,o)+NH(-l.angle)}).attr(\\\"stroke-width\\\",l.linewidth).call(Oe.stroke,l.linecolor)},LH.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+\\\"title\\\",u=void 0!==r?r:s.angle,c=AH(u),h=Math.cos(c),f=Math.sin(c),p=0;if(s.title){var d=Sr.bBox(this.layers[\\\"radial-axis\\\"].node()).height,g=s.titlefont.size;p=\\\"counterclockwise\\\"===s.side?-d-.4*g:d+.8*g}this.layers[\\\"radial-axis-title\\\"]=Dn.draw(n,l,{propContainer:s,propName:this.id+\\\".radialaxis.title\\\",placeholder:MH(n,\\\"Click to enter radial axis title\\\"),attributes:{x:a+i/2*h+p*f,y:o-i/2*f+p*h,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:-u}})},LH.updateAngularAxis=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=r.angularaxis,c=r.sector,h=c.map(AH);n.fillViewInitialKey(\\\"angularaxis.rotation\\\",u.rotation);var f=n.angularAxis=ne.extendFlat({},u,{_axislayer:a[\\\"angular-axis\\\"],_gridlayer:a[\\\"angular-grid\\\"],_id:\\\"angular\\\",_pos:0,side:\\\"right\\\",domain:[0,Math.PI],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if(\\\"linear\\\"===f.type)RH(c)?f.range=c.slice():f.range=h.map(f.unTransformRad).map(kH),\\\"radians\\\"===f.thetaunit&&(f.tick0=kH(f.tick0),f.dtick=kH(f.dtick));else if(\\\"category\\\"===f.type){var p=u.period?Math.max(u.period,u._categories.length):u._categories.length;f.range=[0,p],f._tickFilter=function(t){return n.isPtWithinSector({r:n.radialAxis.range[1],rad:f.c2rad(t.x)})}}function d(t){return f.c2rad(t.x,\\\"degrees\\\")}function g(t){return[o*Math.cos(t),o*Math.sin(t)]}PH(f,u,t),f._transfn=function(t){var r=d(t),n=g(r),i=BH(s+n[0],l-n[1]),a=e.select(this);return a&&a.node()&&a.classed(\\\"ticks\\\")&&(i+=NH(-kH(r))),i},f._gridpath=function(t){var e=g(d(t));return\\\"M0,0L\\\"+-e[0]+\\\",\\\"+e[1]};var v=\\\"outside\\\"!==u.ticks?.7:.5;f._labelx=function(t){var e=d(t),r=f._labelStandoff,n=f._pad;return(0===UH(e)?0:Math.cos(e)*(r+n+v*t.fontSize))+VH(e)*(t.dx+r+n)},f._labely=function(t){var e=d(t),r=f._labelStandoff,n=f._labelShift,i=f._pad;return t.dy+t.fontSize*wH-n+-Math.sin(e)*(r+i+v*t.fontSize)},f._labelanchor=function(t,e){var r=d(e);return 0===UH(r)?VH(r)>0?\\\"start\\\":\\\"end\\\":\\\"middle\\\"};var m=IH(u);n.angularTickLayout!==m&&(a[\\\"angular-axis\\\"].selectAll(\\\".angulartick\\\").remove(),n.angularTickLayout=m),ri.doTicks(i,f,!0),FH(a[\\\"angular-line\\\"].select(\\\"path\\\"),u.showline,{d:OH(o,c),transform:BH(s,l)}).attr(\\\"stroke-width\\\",u.linewidth).call(Oe.stroke,u.linecolor)},LH.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},LH.updateMainDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=t._zoomlayer,l=oH.MINZOOM,u=oH.OFFEDGE,c=n.radius,h=n.cx,f=n.cy,p=n.cxx,d=n.cyy,g=r.sector,v=Bm.makeDragger(a,\\\"path\\\",\\\"maindrag\\\",\\\"crosshair\\\");e.select(v).attr(\\\"d\\\",OH(c,g)).attr(\\\"transform\\\",BH(h,f));var m,y,x,b,_,w,M,A,k,T={element:v,gd:i,subplot:n.id,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis},xaxes:[n.xaxis],yaxes:[n.yaxis]};function S(t,e){var r=t-p,n=e-d;return Math.sqrt(r*r+n*n)}function E(t,e){return Math.atan2(d-e,t-p)}function C(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function L(t,e){var r=oH.cornerLen,n=oH.cornerHalfWidth;if(0===t)return OH(2*n,g);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,c)),l=s-n,u=s+n;return\\\"M\\\"+C(l,a)+\\\"A\\\"+[l,l]+\\\" 0,0,0 \\\"+C(l,o)+\\\"L\\\"+C(u,o)+\\\"A\\\"+[u,u]+\\\" 0,0,1 \\\"+C(u,a)+\\\"Z\\\"}function z(t,e){var r,n,i=m+t,a=y+e,o=S(m,y),s=Math.min(S(i,a),c),h=E(m,y),f=E(i,a);o<u?o=0:c-o<u?o=c:s<u?s=0:c-s<u&&(s=c),Math.abs(s-o)>l?(o<s?(x=o,b=s):(x=s,b=o,f=[h,h=f][0]),r=_+OH(b,g)+OH(x,g),n=L(x,h)+L(b,f)):(x=null,b=null,r=_,n=\\\"M0,0Z\\\"),A.attr(\\\"d\\\",r),k.attr(\\\"d\\\",n),Bm.transitionZoombox(A,k,w,M),w=!0}function I(){if(Bm.removeZoombox(i),null!==x&&null!==b){Bm.showDoubleClickNotifier(i);var t=n.radialAxis.range,e=t[1]-t[0],r={};r[n.id+\\\".radialaxis.range\\\"]=[t[0]+x*e/c,t[0]+b*e/c],P.call(\\\"relayout\\\",i,r)}}T.prepFn=function(t,e,r){var a=i._fullLayout.dragmode,l=v.getBoundingClientRect();switch(m=e-l.left,y=r-l.top,a){case\\\"zoom\\\":T.moveFn=z,T.doneFn=I,function(){x=null,b=null,_=OH(c,g),w=!1;var t=i._fullLayout[n.id];M=s(t.bgcolor).getLuminance(),(A=Bm.makeZoombox(o,M,h,f,_)).attr(\\\"fill-rule\\\",\\\"evenodd\\\"),k=Bm.makeCorners(o,h,f),Bm.clearSelect(o)}();break;case\\\"select\\\":case\\\"lasso\\\":_c(t,e,r,T,a)}},T.clickFn=function(t,e){if(Bm.removeZoombox(i),2===t){var r={};for(var a in n.viewInitial)r[n.id+\\\".\\\"+a]=n.viewInitial[a];i.emit(\\\"plotly_doubleclick\\\",null),P.call(\\\"relayout\\\",i,r)}yo.click(i,e,n.id)},v.onmousemove=function(t){yo.hover(i,t,n.id),i._fullLayout._lasthover=v,i._fullLayout._hoversubplot=n.id},v.onmouseout=function(t){i._dragging||Ua.unhover(i,t)},Ua.init(T)},LH.updateRadialDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.radialAxis,c=r.radialaxis,h=AH(c.angle),f=u.range.slice(),p=f[1]-f[0],d=oH.radialDragBoxSize,g=d/2;if(c.visible){var v,m,y,x=Bm.makeRectDragger(a,\\\"radialdrag\\\",\\\"crosshair\\\",-g,-g,d,d),b={element:x,gd:i},_=s+(o+g)*Math.cos(h),w=l-(o+g)*Math.sin(h);e.select(x).attr(\\\"transform\\\",BH(_,w)),b.prepFn=function(){v=null,m=null,y=null,b.moveFn=M,b.doneFn=A,Bm.clearSelect(t._zoomlayer)},b.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<oH.MINDRAG&&(t=0,e=0),[t,e]},Ua.init(b)}function M(t,e){if(v)v(t,e);else{var r=[t,-e],n=[Math.cos(h),Math.sin(h)],i=Math.abs(ne.dot(r,n)/Math.sqrt(ne.dot(r,r)));isNaN(i)||(v=i<.5?k:T)}}function A(){null!==m?P.call(\\\"relayout\\\",i,n.id+\\\".radialaxis.angle\\\",m):null!==y&&P.call(\\\"relayout\\\",i,n.id+\\\".radialaxis.range[1]\\\",y)}function k(t,e){var r=_+t,i=w+e;m=kH(Math.atan2(l-i,r-s));var o=BH(s,l)+NH(-m);a[\\\"radial-axis\\\"].attr(\\\"transform\\\",o),a[\\\"radial-line\\\"].select(\\\"line\\\").attr(\\\"transform\\\",o);var u=n.gd._fullLayout,c=u[n.id];n.updateRadialAxisTitle(u,c,m)}function T(t,e){var r=ne.dot([t,-e],[Math.cos(h),Math.sin(h)]),c=f[1]-p*r/o*.75;if(p>0==c>f[0]){y=u.range[1]=c,ri.doTicks(i,n.radialAxis,!0),a[\\\"radial-grid\\\"].attr(\\\"transform\\\",BH(s,l)).selectAll(\\\"path\\\").attr(\\\"transform\\\",null);var d=y-f[0],g=n.sectorBBox;for(var v in n.xaxis.range=[g[0]*d,g[2]*d],n.yaxis.range=[g[1]*d,g[3]*d],n.xaxis.setScale(),n.yaxis.setScale(),n.traceHash){var m=n.traceHash[v],x=ne.filterVisible(m),b=m[0][0].trace._module,_=i._fullLayout[n.id];if(b.plot(i,n,x,_),!P.traceIs(v,\\\"gl\\\"))for(var w=0;w<x.length;w++)b.style(i,x[w])}}}},LH.updateAngularDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.cxx,c=n.cyy,h=r.sector,f=oH.angularDragBoxSize,p=Bm.makeDragger(a,\\\"path\\\",\\\"angulardrag\\\",\\\"move\\\"),d={element:p,gd:i};function g(t,e){return Math.atan2(c+f-e,t-u-f)}e.select(p).attr(\\\"d\\\",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return\\\"A\\\"+[t,t]+\\\" \\\"+[0,o,r]+\\\" \\\"+s(t,e)}return RH(r)?(n=0,a=2*Math.PI,i=Math.PI,\\\"M\\\"+s(t,n)+l(t,i,0)+l(t,a,0)+\\\"ZM\\\"+s(e,n)+l(e,i,1)+l(e,a,1)+\\\"Z\\\"):(n=AH(r[0]),a=AH(r[1]),\\\"M\\\"+s(t,n)+\\\"L\\\"+s(e,n)+l(e,a,0)+\\\"L\\\"+s(t,a)+l(t,n,1)+\\\"Z\\\")}(o,o+f,h)).attr(\\\"transform\\\",BH(s,l)).call(Ka,\\\"move\\\");var v,m,y,x,b,_,w=a.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\"),M=w.selectAll(\\\".point\\\"),A=w.selectAll(\\\".textpoint\\\");function k(t,r){var o=g(v+t,m+r),s=kH(o-_);x=y+s,a.frontplot.attr(\\\"transform\\\",BH(n.xOffset2,n.yOffset2)+NH([-s,u,c])),n.clipPaths.circle.select(\\\"path\\\").attr(\\\"transform\\\",BH(u,c)+NH(s)),M.each(function(){var t=e.select(this),r=Sr.getTranslate(t);t.attr(\\\"transform\\\",BH(r.x,r.y)+NH([s]))}),A.each(function(){var t=e.select(this),r=t.select(\\\"text\\\"),n=Sr.getTranslate(t);t.attr(\\\"transform\\\",NH([s,r.attr(\\\"x\\\"),r.attr(\\\"y\\\")])+BH(n.x,n.y))});var l=n.angularAxis;for(var f in l.rotation=SH(x),\\\"linear\\\"!==l.type||RH(h)||(l.range=b.map(AH).map(l.unTransformRad).map(kH)),EH(l),ri.doTicks(i,l,!0),n._hasClipOnAxisFalse&&!RH(h)&&(n.sector=[b[0]-s,b[1]-s],w.call(Sr.hideOutsideRangePoints,n)),n.traceHash)if(P.traceIs(f,\\\"gl\\\")){var p=n.traceHash[f],d=ne.filterVisible(p),k=p[0][0].trace._module,T=i._fullLayout[n.id];k.plot(i,n,d,T)}}function T(){A.select(\\\"text\\\").attr(\\\"transform\\\",null);var t={};t[n.id+\\\".angularaxis.rotation\\\"]=x,P.call(\\\"relayout\\\",i,t)}d.prepFn=function(e,r,i){var a=t[n.id];b=a.sector.slice(),y=a.angularaxis.rotation;var o=p.getBoundingClientRect();v=r-o.left,m=i-o.top,_=g(v,m),d.moveFn=k,d.doneFn=T,Bm.clearSelect(t._zoomlayer)},Ua.init(d)},LH.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=TH(e[0]),o=TH(e[1]);a>o&&(o+=360);var s,l,u=TH(kH(t.rad)),c=u+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(RH(e)||u>=a&&u<=o||c>=a&&c<=o)},LH.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)};var qH=sa.getSubplotCalcData,HH=ne.counterRegex,GH=oH.attr,WH=oH.name,YH=HH(WH),XH={};XH[GH]={valType:\\\"subplotid\\\",dflt:WH,editType:\\\"calc\\\"};var ZH={attr:GH,name:WH,idRoot:WH,idRegex:YH,attrRegex:YH,attributes:XH,layoutAttributes:dH,supplyLayoutDefaults:function(t,e,r){Jc(t,e,0,{type:oH.name,attributes:dH,handleDefaults:xH,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})},plot:function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots[WH],i=0;i<n.length;i++){var a=n[i],o=qH(r,WH,a),s=e[a]._subplot;s||(s=zH(t,a),e[a]._subplot=s),s.plot(o,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[WH]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var l in s.framework.remove(),s.layers[\\\"radial-axis-title\\\"].remove(),s.clipPaths)s.clipPaths[l].remove()}},toSVG:ua.toSVG},JH=m.extendFlat,KH=Zr.line,QH={mode:Zr.mode,r:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},theta:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},thetaunit:{valType:\\\"enumerated\\\",values:[\\\"radians\\\",\\\"degrees\\\",\\\"gradians\\\"],dflt:\\\"degrees\\\",editType:\\\"calc+clearAxisTypes\\\"},text:Zr.text,hovertext:Zr.hovertext,line:{color:KH.color,width:KH.width,dash:KH.dash,shape:JH({},KH.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:KH.smoothing,editType:\\\"calc\\\"},connectgaps:Zr.connectgaps,marker:Zr.marker,cliponaxis:JH({},Zr.cliponaxis,{dflt:!1}),textposition:Zr.textposition,textfont:Zr.textfont,fill:JH({},Zr.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:Zr.fillcolor,hoverinfo:JH({},E.hoverinfo,{flags:[\\\"r\\\",\\\"theta\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:Zr.hoveron,selected:Zr.selected,unselected:Zr.unselected},$H=t.BADNUM,tG=sx,eG=Wr.PTS_LINESONLY;function rG(t,e,r){var n=r.radialAxis,i=r.angularAxis,a=(t.hi||e.hoverinfo).split(\\\"+\\\"),o=[];n._hovertitle=\\\"r\\\",i._hovertitle=\\\"\\\\u03b8\\\";var s,l=i._c2rad(t.theta,e.thetaunit);function u(t,e){o.push(t._hovertitle+\\\": \\\"+ri.tickText(t,e,\\\"hover\\\").text)}return s=\\\"linear\\\"===i.type&&e.thetaunit!==i.thetaunit?\\\"degrees\\\"===i.thetaunit?ne.rad2deg(l):l:t.theta,-1!==a.indexOf(\\\"all\\\")&&(a=[\\\"r\\\",\\\"theta\\\"]),-1!==a.indexOf(\\\"r\\\")&&u(n,n.c2r(t.r)),-1!==a.indexOf(\\\"theta\\\")&&u(i,s),o.join(\\\"<br>\\\")}var nG={hoverPoints:function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index)return i;var o=t.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtWithinSector(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,a.extraText=rG(s,l,o),i}},makeHoverPointText:rG},iG=t.BADNUM,aG={moduleType:\\\"trace\\\",name:\\\"scatterpolar\\\",basePlotModule:ZH,categories:[\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:QH,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,QH,r,n)}var a=i(\\\"r\\\"),o=i(\\\"theta\\\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\\\"thetaunit\\\"),i(\\\"mode\\\",s<eG?\\\"lines+markers\\\":\\\"lines\\\"),i(\\\"text\\\"),i(\\\"hovertext\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"cliponaxis\\\"),i(\\\"marker.maxdisplayed\\\"),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var n,i=t._fullLayout,a=e.subplot,o=i[a].radialaxis,s=i[a].angularaxis,l=o.makeCalcdata(e,\\\"r\\\"),u=s.makeCalcdata(e,\\\"theta\\\"),c=e._length,h=new Array(c);for(var f=0;f<c;f++){var p=l[f],d=u[f],g=h[f]={};r(p)&&r(d)?(g.r=p,g.theta=d,g.rad=(n=d,s.c2rad(n,e.thetaunit))):g.r=$H}var v=tG(e,c);return ri.expand(o,l,{ppad:v}),ex(e),dh(h,e),Ma(h,e),h},plot:function(t,e,r){var n,i,a,o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},s=e.radialAxis,l=s.range;for(a=l[0]>l[1]?function(t){return t<=0}:function(t){return t>=0},n=0;n<r.length;n++)for(i=0;i<r[n].length;i++){var u=r[n][i],c=u.r;if(c!==iG){var h=s.c2r(c)-l[0];if(a(h)){var f=u.rad;u.x=h*Math.cos(f),u.y=h*Math.sin(f);continue}u.intoCenter=[e.cxx,e.cyy]}u.x=iG,u.y=iG}kx(t,o,r)},style:Cx.style,hoverPoints:nG.hoverPoints,selectPoints:Sx,meta:{}},oG={mode:QH.mode,r:QH.r,theta:QH.theta,thetaunit:QH.thetaunit,text:QH.text,line:cq.line,connectgaps:cq.connectgaps,marker:cq.marker,fill:cq.fill,fillcolor:cq.fillcolor,hoverinfo:QH.hoverinfo,hoveron:QH.hoveron,selected:QH.selected,unselected:QH.unselected},sG=Wr.PTS_LINESONLY,lG=nG.makeHoverPointText;var uG={moduleType:\\\"trace\\\",name:\\\"scatterpolargl\\\",basePlotModule:ZH,categories:[\\\"gl\\\",\\\"regl\\\",\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:oG,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,oG,r,n)}var a=i(\\\"r\\\"),o=i(\\\"theta\\\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\\\"thetaunit\\\"),i(\\\"mode\\\",s<sG?\\\"lines+markers\\\":\\\"lines\\\"),i(\\\"text\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\\\"connectgaps\\\"));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(e,\\\"r\\\"),s=a.makeCalcdata(e,\\\"theta\\\"),l={};return e._length<o.length&&(o=o.slice(0,e._length)),e._length<s.length&&(s=s.slice(0,e._length)),ex(e),l.r=o,l.theta=s,ri.expand(i,o,{tozero:!0}),\\\"linear\\\"!==a.type&&(a.autorange=!0,ri.expand(a,s),delete a.autorange),[{x:!1,y:!1,t:l,trace:e}]},plot:function(t,e,n){var i=e.radialAxis,a=e.angularAxis,o=i.range,s=yq.sceneUpdate(t,e);return s.clear(),n.forEach(function(l,u){if(l&&l[0]&&l[0].trace){var c,h,f,p,d,g=l[0],v=g.trace,m=g.t,y=m.r,x=m.theta,b=y.slice(),_=x.slice();for(c=0;c<y.length;c++)h=y[c],p=x[c],d=a.c2rad(p,v.thetaunit),e.isPtWithinSector({r:h,rad:d})||(b[c]=NaN,_[c]=NaN);var w,M=y.length,A=new Array(2*M),k=Array(M),T=Array(M);for(c=0;c<M;c++)h=b[c],p=_[c],r(h)&&r(p)&&h>=0?(f=i.c2r(h)-o[0],w=p,d=a.c2rad(w,v.thetaunit),k[c]=A[2*c]=f*Math.cos(d),T[c]=A[2*c+1]=f*Math.sin(d)):k[c]=T[c]=A[2*c]=A[2*c+1]=NaN;var S=yq.sceneOptions(t,e,v,A);S.fill&&!s.fill2d&&(s.fill2d=!0),S.marker&&!s.scatter2d&&(s.scatter2d=!0),S.line&&!s.line2d&&(s.line2d=!0),!S.errorX&&!S.errorY||s.error2d||(s.error2d=!0),Tr.hasMarkers(v)&&(S.selected.positions=S.unselected.positions=S.marker.positions),s.lineOptions.push(S.line),s.errorXOptions.push(S.errorX),s.errorYOptions.push(S.errorY),s.fillOptions.push(S.fill),s.markerOptions.push(S.marker),s.selectedOptions.push(S.selected),s.unselectedOptions.push(S.unselected),s.count=n.length,m.scene=s,m.index=u,m.x=k,m.y=T,m.rawx=k,m.rawy=T,m.r=y,m.theta=x,m.positions=A,m.count=M,m.tree=vV(A,512)}}),yq.plot(t,e,n)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,a=i.r,o=i.theta,s=yq.hoverPoints(t,e,r,n);if(s&&!1!==s[0].index){var l=s[0];if(void 0===l.index)return s;var u=t.subplot,c=u.angularAxis,h=l.cd[l.index],f=l.trace;if(h.r=a[l.index],h.theta=o[l.index],h.rad=c.c2rad(h.theta,f.thetaunit),u.isPtWithinSector(h))return l.xLabelVal=void 0,l.yLabelVal=void 0,l.extraText=lG(h,f,u),s}},style:yq.style,selectPoints:yq.selectPoints,meta:{}},cG=m.extendFlat,hG={title:Ce.title,titlefont:Ce.titlefont,color:Ce.color,tickmode:Ce.tickmode,nticks:cG({},Ce.nticks,{dflt:6,min:1}),tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:cG({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:cG({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth,layer:Ce.layer,min:{valType:\\\"number\\\",dflt:0,min:0}},fG=function(t,e,r){function n(r,n){return ne.coerce(t,e,hG,r,n)}e.type=\\\"linear\\\";var i=n(\\\"color\\\"),a=i===t.color?i:r.font.color,o=e._name.charAt(0).toUpperCase(),s=\\\"Component \\\"+o,l=n(\\\"title\\\",s);e._hovertitle=l===s?l:o,ne.coerceFont(n,\\\"titlefont\\\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:a}),n(\\\"min\\\"),Ge(t,e,n,\\\"linear\\\"),Ue(t,e,n,\\\"linear\\\",{}),qe(t,e,n,{outerTicks:!0}),n(\\\"showticklabels\\\")&&(ne.coerceFont(n,\\\"tickfont\\\",{family:r.font.family,size:r.font.size,color:a}),n(\\\"tickangle\\\"),n(\\\"tickformat\\\")),Zi(t,e,n,{dfltColor:i,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:hG}),n(\\\"hoverformat\\\"),n(\\\"layer\\\")},pG=qc.attributes,dG=(0,ye.overrideAll)({domain:pG({name:\\\"ternary\\\"}),bgcolor:{valType:\\\"color\\\",dflt:C.background},sum:{valType:\\\"number\\\",dflt:1,min:0},aaxis:hG,baxis:hG,caxis:hG},\\\"plot\\\",\\\"from-root\\\"),gG=[\\\"aaxis\\\",\\\"baxis\\\",\\\"caxis\\\"];function vG(t,e,r,n){var i,a,o,s=r(\\\"bgcolor\\\"),l=r(\\\"sum\\\");n.bgColor=Oe.combine(s,n.paper_bgcolor);for(var u=0;u<gG.length;u++)a=t[i=gG[u]]||{},o=e[i]={_name:i,type:\\\"linear\\\"},fG(a,o,n);var c=e.aaxis,h=e.baxis,f=e.caxis;c.min+h.min+f.min>=l&&(c.min=0,h.min=0,f.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var mG=ne._,yG=m.extendFlat;function xG(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}var bG=xG,_G=xG.prototype;_G.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_G.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\\\"path\\\").call(Oe.fill,r.bgcolor)},_G.makeFramework=function(t){var e=t[this.id],r=this.clipId=\\\"clip\\\"+this.layoutId+this.id;this.clipDef=t._clips.selectAll(\\\"#\\\"+r).data([0]),this.clipDef.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",r).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\");var n=this.clipIdRelative=\\\"clip-relative\\\"+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(\\\"#\\\"+n).data([0]),this.clipDefRelative.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),this.plotContainer=this.container.selectAll(\\\"g.\\\"+this.id).data([0]),this.plotContainer.enter().append(\\\"g\\\").classed(this.id,!0),this.updateLayers(e),Sr.setClipUrl(this.layers.backplot,r),Sr.setClipUrl(this.layers.grids,r)},_G.updateLayers=function(t){var r=this.layers,n=[\\\"draglayer\\\",\\\"plotbg\\\",\\\"backplot\\\",\\\"grids\\\"];\\\"below traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"below traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"below traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\"),n.push(\\\"frontplot\\\"),\\\"above traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"above traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"above traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\");var i=this.plotContainer.selectAll(\\\"g.toplevel\\\").data(n,String),a=[\\\"agrid\\\",\\\"bgrid\\\",\\\"cgrid\\\"];i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"toplevel \\\"+t}).each(function(t){var n=e.select(this);r[t]=n,\\\"frontplot\\\"===t?n.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0):\\\"backplot\\\"===t?n.append(\\\"g\\\").classed(\\\"maplayer\\\",!0):\\\"plotbg\\\"===t?n.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"):\\\"aline\\\"===t||\\\"bline\\\"===t||\\\"cline\\\"===t?n.append(\\\"path\\\"):\\\"grids\\\"===t&&a.forEach(function(t){r[t]=n.append(\\\"g\\\").classed(\\\"grid \\\"+t,!0);var e=\\\"bgrid\\\"===t?\\\"x\\\":\\\"y\\\";r[t].append(\\\"g\\\").classed(e,!0)})}),i.order()};var wG=Math.sqrt(4/3);_G.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,u=t.domain,c=(u.x[0]+u.x[1])/2,h=(u.y[0]+u.y[1])/2,f=u.x[1]-u.x[0],p=u.y[1]-u.y[0],d=f*e.w,g=p*e.h,v=t.sum,m=t.aaxis.min,y=t.baxis.min,x=t.caxis.min;d>wG*g?i=(a=g)*wG:a=(i=d)/wG,o=f*i/d,s=p*a/g,r=e.l+e.w*c-i/2,n=e.t+e.h*(1-h)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=v,l.xaxis={type:\\\"linear\\\",range:[m+2*x-v,v-m-2*y],domain:[c-o/2,c+o/2],_id:\\\"x\\\"},ei(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a>=l.aaxis.range[0]&&t.a<=l.aaxis.range[1]&&t.b>=l.baxis.range[1]&&t.b<=l.baxis.range[0]&&t.c>=l.caxis.range[1]&&t.c<=l.caxis.range[0]},l.yaxis={type:\\\"linear\\\",range:[m,v-y-x],domain:[h-s/2,h+s/2],_id:\\\"y\\\"},ei(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var b=l.yaxis.domain[0],_=l.aaxis=yG({},t.aaxis,{visible:!0,range:[m,v-y-x],side:\\\"left\\\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[b,b+s*wG],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l\\\"+a+\\\",-\\\"+i/2,automargin:!1});ei(_,l.graphDiv._fullLayout),_.setScale();var w=l.baxis=yG({},t.baxis,{visible:!0,range:[v-m-x,y],side:\\\"bottom\\\",_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:\\\"x\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+i/2+\\\",-\\\"+a,automargin:!1});ei(w,l.graphDiv._fullLayout),w.setScale(),_._counteraxis=w;var M=l.caxis=yG({},t.caxis,{visible:!0,range:[v-m-y,x],side:\\\"right\\\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[b,b+s*wG],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+a+\\\",\\\"+i/2,automargin:!1});ei(M,l.graphDiv._fullLayout),M.setScale();var A=\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDef.select(\\\"path\\\").attr(\\\"d\\\",A),l.layers.plotbg.select(\\\"path\\\").attr(\\\"d\\\",A);var k=\\\"M0,\\\"+a+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDefRelative.select(\\\"path\\\").attr(\\\"d\\\",k);var T=\\\"translate(\\\"+r+\\\",\\\"+n+\\\")\\\";l.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",T),l.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",null);var S=\\\"translate(\\\"+(r-w._offset)+\\\",\\\"+(n+a)+\\\")\\\";l.layers.baxis.attr(\\\"transform\\\",S),l.layers.bgrid.attr(\\\"transform\\\",S);var E=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(30)translate(0,\\\"+-_._offset+\\\")\\\";l.layers.aaxis.attr(\\\"transform\\\",E),l.layers.agrid.attr(\\\"transform\\\",E);var C=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(-30)translate(0,\\\"+-M._offset+\\\")\\\";l.layers.caxis.attr(\\\"transform\\\",C),l.layers.cgrid.attr(\\\"transform\\\",C),l.drawAxes(!0),l.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),l.layers.aline.select(\\\"path\\\").attr(\\\"d\\\",_.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"l\\\"+i/2+\\\",-\\\"+a:\\\"M0,0\\\").call(Oe.stroke,_.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(_.linewidth||0)+\\\"px\\\"),l.layers.bline.select(\\\"path\\\").attr(\\\"d\\\",w.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i:\\\"M0,0\\\").call(Oe.stroke,w.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(w.linewidth||0)+\\\"px\\\"),l.layers.cline.select(\\\"path\\\").attr(\\\"d\\\",M.showline?\\\"M\\\"+(r+i/2)+\\\",\\\"+n+\\\"l\\\"+i/2+\\\",\\\"+a:\\\"M0,0\\\").call(Oe.stroke,M.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(M.linewidth||0)+\\\"px\\\"),l.graphDiv._context.staticPlot||l.initInteractions(),Sr.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_G.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\\\"title\\\",n=this.aaxis,i=this.baxis,a=this.caxis;if(ri.doTicks(e,n,!0),ri.doTicks(e,i,!0),ri.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(\\\"outside\\\"===a.ticks?.87*a.ticklen:0));this.layers[\\\"a-title\\\"]=Dn.draw(e,\\\"a\\\"+r,{propContainer:n,propName:this.id+\\\".aaxis.title\\\",placeholder:mG(e,\\\"Click to enter Component A title\\\"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,\\\"text-anchor\\\":\\\"middle\\\"}});var s=(i.showticklabels?i.tickfont.size:0)+(\\\"outside\\\"===i.ticks?i.ticklen:0)+3;this.layers[\\\"b-title\\\"]=Dn.draw(e,\\\"b\\\"+r,{propContainer:i,propName:this.id+\\\".baxis.title\\\",placeholder:mG(e,\\\"Click to enter Component B title\\\"),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,\\\"text-anchor\\\":\\\"middle\\\"}}),this.layers[\\\"c-title\\\"]=Dn.draw(e,\\\"c\\\"+r,{propContainer:a,propName:this.id+\\\".caxis.title\\\",placeholder:mG(e,\\\"Click to enter Component C title\\\"),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,\\\"text-anchor\\\":\\\"middle\\\"}})}};var MG=Te.MINZOOM/2+.87,AG=\\\"m-0.87,.5h\\\"+MG+\\\"v3h-\\\"+(MG+5.2)+\\\"l\\\"+(MG/2+2.6)+\\\",-\\\"+(.87*MG+4.5)+\\\"l2.6,1.5l-\\\"+MG/2+\\\",\\\"+.87*MG+\\\"Z\\\",kG=\\\"m0.87,.5h-\\\"+MG+\\\"v3h\\\"+(MG+5.2)+\\\"l-\\\"+(MG/2+2.6)+\\\",-\\\"+(.87*MG+4.5)+\\\"l-2.6,1.5l\\\"+MG/2+\\\",\\\"+.87*MG+\\\"Z\\\",TG=\\\"m0,1l\\\"+MG/2+\\\",\\\"+.87*MG+\\\"l2.6,-1.5l-\\\"+(MG/2+2.6)+\\\",-\\\"+(.87*MG+4.5)+\\\"l-\\\"+(MG/2+2.6)+\\\",\\\"+(.87*MG+4.5)+\\\"l2.6,1.5l\\\"+MG/2+\\\",-\\\"+.87*MG+\\\"Z\\\",SG=\\\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\\\",EG=!0;function CG(t){e.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}_G.initInteractions=function(){var t,e,r,n,i,a,o,l,u,c,h=this,f=h.layers.plotbg.select(\\\"path\\\").node(),p=h.graphDiv,d=p._fullLayout._zoomlayer,g={element:f,gd:p,plotinfo:{xaxis:h.xaxis,yaxis:h.yaxis},subplot:h.id,prepFn:function(v,m,y){g.xaxes=[h.xaxis],g.yaxes=[h.yaxis];var A=p._fullLayout.dragmode;v.shiftKey&&(A=\\\"pan\\\"===A?\\\"zoom\\\":\\\"pan\\\"),g.minDrag=\\\"lasso\\\"===A?1:void 0,\\\"zoom\\\"===A?(g.moveFn=x,g.doneFn=b,function(p,g,v){var m=f.getBoundingClientRect();t=g-m.left,e=v-m.top,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,n=h.aaxis.range[1]-r.a,a=s(h.graphDiv._fullLayout[h.id].bgcolor).getLuminance(),o=\\\"M0,\\\"+h.h+\\\"L\\\"+h.w/2+\\\", 0L\\\"+h.w+\\\",\\\"+h.h+\\\"Z\\\",l=!1,u=d.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox\\\").attr(\\\"transform\\\",\\\"translate(\\\"+h.x0+\\\", \\\"+h.y0+\\\")\\\").style({fill:a>.2?\\\"rgba(0,0,0,0)\\\":\\\"rgba(255,255,255,0)\\\",\\\"stroke-width\\\":0}).attr(\\\"d\\\",o),c=d.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").attr(\\\"transform\\\",\\\"translate(\\\"+h.x0+\\\", \\\"+h.y0+\\\")\\\").style({fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"d\\\",\\\"M0,0Z\\\"),M()}(0,m,y)):\\\"pan\\\"===A?(g.moveFn=_,g.doneFn=w,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,M()):\\\"select\\\"!==A&&\\\"lasso\\\"!==A||_c(v,m,y,g,A)},clickFn:function(t,e){if(CG(p),2===t){var r={};r[h.id+\\\".aaxis.min\\\"]=0,r[h.id+\\\".baxis.min\\\"]=0,r[h.id+\\\".caxis.min\\\"]=0,p.emit(\\\"plotly_doubleclick\\\",null),P.call(\\\"relayout\\\",p,r)}yo.click(p,e,h.id)}};function v(t,e){return 1-e/h.h}function m(t,e){return 1-(t+(h.h-e)/Math.sqrt(3))/h.w}function y(t,e){return(t-(h.h-e)/Math.sqrt(3))/h.w}function x(s,f){var p=t+s,d=e+f,g=Math.max(0,Math.min(1,v(0,e),v(0,d))),x=Math.max(0,Math.min(1,m(t,e),m(p,d))),b=Math.max(0,Math.min(1,y(t,e),y(p,d))),_=(g/2+b)*h.w,w=(1-g/2-x)*h.w,M=(_+w)/2,A=w-_,k=(1-g)*h.h,T=k-A/wG;A<Te.MINZOOM?(i=r,u.attr(\\\"d\\\",o),c.attr(\\\"d\\\",\\\"M0,0Z\\\")):(i={a:r.a+g*n,b:r.b+x*n,c:r.c+b*n},u.attr(\\\"d\\\",o+\\\"M\\\"+_+\\\",\\\"+k+\\\"H\\\"+w+\\\"L\\\"+M+\\\",\\\"+T+\\\"L\\\"+_+\\\",\\\"+k+\\\"Z\\\"),c.attr(\\\"d\\\",\\\"M\\\"+t+\\\",\\\"+e+SG+\\\"M\\\"+_+\\\",\\\"+k+AG+\\\"M\\\"+w+\\\",\\\"+k+kG+\\\"M\\\"+M+\\\",\\\"+T+TG)),l||(u.transition().style(\\\"fill\\\",a>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),c.transition().style(\\\"opacity\\\",1).duration(200),l=!0)}function b(){if(CG(p),i!==r){var t={};t[h.id+\\\".aaxis.min\\\"]=i.a,t[h.id+\\\".baxis.min\\\"]=i.b,t[h.id+\\\".caxis.min\\\"]=i.c,P.call(\\\"relayout\\\",p,t),EG&&p.data&&p._context.showTips&&(ne.notifier(mG(p,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),EG=!1)}}function _(t,e){var n=t/h.xaxis._m,a=e/h.yaxis._m,o=[(i={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,i.b,i.c].sort(),s=o.indexOf(i.a),l=o.indexOf(i.b),u=o.indexOf(i.c);o[0]<0&&(o[1]+o[0]/2<0?(o[2]+=o[0]+o[1],o[0]=o[1]=0):(o[2]+=o[0]/2,o[1]+=o[0]/2,o[0]=0),i={a:o[s],b:o[l],c:o[u]},e=(r.a-i.a)*h.yaxis._m,t=(r.c-i.c-r.b+i.b)*h.xaxis._m);var c=\\\"translate(\\\"+(h.x0+t)+\\\",\\\"+(h.y0+e)+\\\")\\\";h.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",c);var f=\\\"translate(\\\"+-t+\\\",\\\"+-e+\\\")\\\";h.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",f),h.aaxis.range=[i.a,h.sum-i.b-i.c],h.baxis.range=[h.sum-i.a-i.c,i.b],h.caxis.range=[h.sum-i.a-i.b,i.c],h.drawAxes(!1),h.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),h._hasClipOnAxisFalse&&h.plotContainer.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\").call(Sr.hideOutsideRangePoints,h)}function w(){var t={};t[h.id+\\\".aaxis.min\\\"]=i.a,t[h.id+\\\".baxis.min\\\"]=i.b,t[h.id+\\\".caxis.min\\\"]=i.c,P.call(\\\"relayout\\\",p,t)}function M(){d.selectAll(\\\".select-outline\\\").remove()}f.onmousemove=function(t){yo.hover(p,t,h.id),p._fullLayout._lasthover=f,p._fullLayout._hoversubplot=h.id},f.onmouseout=function(t){p._dragging||Ua.unhover(p,t)},Ua.init(g)};var LG={},zG=sa.getSubplotCalcData,PG=ne.counterRegex;LG.name=\\\"ternary\\\",LG.attr=\\\"subplot\\\",LG.idRoot=\\\"ternary\\\",LG.idRegex=LG.attrRegex=PG(\\\"ternary\\\"),LG.attributes={subplot:{valType:\\\"subplotid\\\",dflt:\\\"ternary\\\",editType:\\\"calc\\\"}},LG.layoutAttributes=dG,LG.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\\\"ternary\\\",attributes:dG,handleDefaults:vG,font:e.font,paper_bgcolor:e.paper_bgcolor})},LG.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots.ternary,i=0;i<n.length;i++){var a=n[i],o=zG(r,\\\"ternary\\\",a),s=e[a]._subplot;s||(s=new bG({id:a,graphDiv:t,container:e._ternarylayer.node()},e),e[a]._subplot=s),s.plot(o,e,t._promises)}},LG.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],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())}};var IG=Ae.dash,DG=m.extendFlat,OG=Zr.marker,RG=Zr.line,FG=OG.line,BG={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:DG({},Zr.mode,{dflt:\\\"markers\\\"}),text:DG({},Zr.text,{}),hovertext:DG({},Zr.hovertext,{}),line:{color:RG.color,width:RG.width,dash:IG,shape:DG({},RG.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:RG.smoothing,editType:\\\"calc\\\"},connectgaps:Zr.connectgaps,cliponaxis:Zr.cliponaxis,fill:DG({},Zr.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:Zr.fillcolor,marker:DG({symbol:OG.symbol,opacity:OG.opacity,maxdisplayed:OG.maxdisplayed,size:OG.size,sizeref:OG.sizeref,sizemin:OG.sizemin,sizemode:OG.sizemode,line:DG({width:FG.width,editType:\\\"calc\\\"},De()),gradient:OG.gradient,editType:\\\"calc\\\"},De(),{showscale:OG.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:DG({},E.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:Zr.hoveron},NG=sx,jG=[\\\"a\\\",\\\"b\\\",\\\"c\\\"],VG={a:[\\\"b\\\",\\\"c\\\"],b:[\\\"a\\\",\\\"c\\\"],c:[\\\"a\\\",\\\"b\\\"]},UG={};UG.attributes=BG,UG.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,BG,r,n)}var a,o=i(\\\"a\\\"),s=i(\\\"b\\\"),l=i(\\\"c\\\");if(o?(a=o.length,s?(a=Math.min(a,s.length),l&&(a=Math.min(a,l.length))):a=l?Math.min(a,l.length):0):s&&l&&(a=Math.min(s.length,l.length)),a){e._length=a,i(\\\"sum\\\"),i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\",a<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var u=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"cliponaxis\\\"),i(\\\"marker.maxdisplayed\\\"),u.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||u.push(\\\"fills\\\"),i(\\\"hoveron\\\",u.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UG.colorbar=is,UG.calc=function(t,e){var n,i,a,o,s,l,u=t._fullLayout[e.subplot].sum,c=e.sum||u,h={a:e.a,b:e.b,c:e.c};for(n=0;n<jG.length;n++)if(!h[a=jG[n]]){for(s=h[VG[a][0]],l=h[VG[a][1]],o=new Array(s.length),i=0;i<s.length;i++)o[i]=c-s[i]-l[i];h[a]=o}var f,p,d,g,v,m,y=e._length,x=new Array(y);for(n=0;n<y;n++)f=h.a[n],p=h.b[n],d=h.c[n],r(f)&&r(p)&&r(d)?(1!=(g=u/((f=+f)+(p=+p)+(d=+d)))&&(f*=g,p*=g,d*=g),m=f,v=d-p,x[n]={x:v,y:m,a:f,b:p,c:d}):x[n]={x:!1,y:!1};return NG(e,y),ex(e),dh(x,e),Ma(x,e),x},UG.plot=function(t,e,r){var n=e.plotContainer;n.select(\\\".scatterlayer\\\").selectAll(\\\"*\\\").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:n,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};kx(t,i,r)},UG.style=Cx.style,UG.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.c=c.c,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=a.subplot,p=(c.hi||h.hoverinfo).split(\\\"+\\\"),d=[];return-1!==p.indexOf(\\\"all\\\")&&(p=[\\\"a\\\",\\\"b\\\",\\\"c\\\"]),-1!==p.indexOf(\\\"a\\\")&&g(f.aaxis,c.a),-1!==p.indexOf(\\\"b\\\")&&g(f.baxis,c.b),-1!==p.indexOf(\\\"c\\\")&&g(f.caxis,c.c),a.extraText=d.join(\\\"<br>\\\"),i}function g(t,e){d.push(t._hovertitle+\\\": \\\"+ri.tickText(t,e,\\\"hover\\\").text)}},UG.selectPoints=Sx,UG.eventData=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t},UG.moduleType=\\\"trace\\\",UG.name=\\\"scatterternary\\\",UG.basePlotModule=LG,UG.categories=[\\\"ternary\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],UG.meta={};var qG=UG,HG={},GG=Di.pointsAccessorFunction;HG.moduleType=\\\"transform\\\",HG.name=\\\"sort\\\",HG.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\\\"},HG.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,HG.attributes,r,n)}return r(\\\"enabled\\\")&&(r(\\\"target\\\"),r(\\\"order\\\")),e},HG.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i,a,o=r.target,s=n.length,l=e._arrayAttrs,u=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case\\\"ascending\\\":return function(t,r){return e(t)-e(r)};case\\\"descending\\\":return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o<n;o++)for(var s=e[o],l=0;l<n;l++){var u=a[l];if(s===u){i[l]=o,a[l]=null;break}}return i}(r,n,ri.getDataToCoordFunc(t,e,o,n)),c=GG(e.transforms,r),h={};for(i=0;i<l.length;i++){var f=ne.nestedProperty(e,l[i]),p=f.get(),d=new Array(s);for(a=0;a<s;a++)d[a]=p[u[a]];f.set(d)}for(a=0;a<s;a++)h[a]=c(u[a]);r._indexToPoints=h}}};var WG=HG,YG={},XG=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute vec3 f;\\\\nattribute vec3 normal;\\\\n\\\\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  worldCoordinate = vec3(uv.zw, f.x);\\\\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\\\"]),ZG=E_([\\\"precision mediump 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\\\\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 (kill > 0.0 ||\\\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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\\\"]),JG=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute float f;\\\\n\\\\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\\\n\\\\n  vec4 clipPosition = projection * view * worldPosition;\\\\n  clipPosition.z = clipPosition.z + zOffset;\\\\n\\\\n  gl_Position = clipPosition;\\\\n  value = f;\\\\n  kill = -1.0;\\\\n  worldCoordinate = dataCoordinate;\\\\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\\\"]),KG=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    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\\\"]);YG.createShader=function(t){var e=Bw(t,XG,ZG,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},YG.createPickShader=function(t){var e=Bw(t,XG,KG,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},YG.createContourShader=function(t){var e=Bw(t,JG,ZG,null,[{name:\\\"uv\\\",type:\\\"vec4\\\"},{name:\\\"f\\\",type:\\\"float\\\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},YG.createPickContourShader=function(t){var e=Bw(t,JG,KG,null,[{name:\\\"uv\\\",type:\\\"vec4\\\"},{name:\\\"f\\\",type:\\\"float\\\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e};var QG=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\\\"ndarray-gradient: invalid boundary conditions\\\")}else r=b_(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 n=0;n<e.dimension;++n)if(t.shape[n]!==e.shape[n])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(f=tW[e])return f;var r=t.length,n=[\\\"function gradient(dst,src){var s=src.shape.slice();\\\"];function i(e){for(var i=r-e.length,a=[],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\\\"),a.push(\\\"1\\\"),o.push(\\\"s[\\\"+l+\\\"]-2\\\"));var u=\\\".lo(\\\"+a.join()+\\\").hi(\\\"+o.join()+\\\")\\\";if(0===a.length&&(u=\\\"\\\"),i>0){n.push(\\\"if(1\\\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\\\"&&s[\\\",l,\\\"]>2\\\");n.push(\\\"){grad\\\",i,\\\"(src.pick(\\\",s.join(),\\\")\\\",u);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\\\",dst.pick(\\\",s.join(),\\\",\\\",l,\\\")\\\",u);n.push(\\\");\\\")}for(var l=0;l<e.length;++l){var c=Math.abs(e[l])-1,h=\\\"dst.pick(\\\"+s.join()+\\\",\\\"+c+\\\")\\\"+u;switch(t[c]){case\\\"clamp\\\":var f=s.slice(),p=s.slice();e[l]<0?f[c]=\\\"s[\\\"+c+\\\"]-2\\\":p[c]=\\\"1\\\",0===i?n.push(\\\"if(s[\\\",c,\\\"]>1){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",f.join(),\\\")-src.get(\\\",p.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):n.push(\\\"if(s[\\\",c,\\\"]>1){diff(\\\",h,\\\",src.pick(\\\",f.join(),\\\")\\\",u,\\\",src.pick(\\\",p.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;case\\\"mirror\\\":0===i?n.push(\\\"dst.set(\\\",s.join(),\\\",\\\",c,\\\",0);\\\"):n.push(\\\"zero(\\\",h,\\\");\\\");break;case\\\"wrap\\\":var d=s.slice(),g=s.slice();e[l]<0?(d[c]=\\\"s[\\\"+c+\\\"]-2\\\",g[c]=\\\"0\\\"):(d[c]=\\\"s[\\\"+c+\\\"]-1\\\",g[c]=\\\"1\\\"),0===i?n.push(\\\"if(s[\\\",c,\\\"]>2){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",d.join(),\\\")-src.get(\\\",g.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):n.push(\\\"if(s[\\\",c,\\\"]>2){diff(\\\",h,\\\",src.pick(\\\",d.join(),\\\")\\\",u,\\\",src.pick(\\\",g.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;default:throw new Error(\\\"ndarray-gradient: Invalid boundary condition\\\")}}i>0&&n.push(\\\"};\\\")}for(var a=0;a<1<<r;++a){for(var o=[],s=0;s<r;++s)a&1<<s&&o.push(s+1);for(var l=0;l<1<<o.length;++l){for(var u=o.slice(),s=0;s<o.length;++s)l&1<<s&&(u[s]=-u[s]);i(u)}}n.push(\\\"return dst;};return gradient\\\");for(var c=[\\\"diff\\\",\\\"zero\\\"],h=[rW,nW],a=1;a<=r;++a)c.push(\\\"grad\\\"+a),h.push(iW(a));c.push(n.join(\\\"\\\"));var f=Function.apply(void 0,c).apply(void 0,h);return $G[e]=f,f}(r)(t,e)},$G={},tW={},eW={body:\\\"\\\",args:[],thisVars:[],localVars:[]},rW=nb({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],pre:eW,post:eW,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\\\"}),nW=nb({args:[\\\"array\\\"],pre:eW,post:eW,body:{args:[{name:\\\"out\\\",lvalue:!0,rvalue:!1,count:1}],body:\\\"out=0\\\",thisVars:[],localVars:[]},funcName:\\\"zero\\\"});function iW(t){if(t in $G)return $G[t];for(var e=[],r=0;r<t;++r)e.push(\\\"out\\\",r,\\\"s=0.5*(inp\\\",r,\\\"l-inp\\\",r,\\\"r);\\\");var n=[\\\"array\\\"],i=[\\\"junk\\\"];for(r=0;r<t;++r){n.push(\\\"array\\\"),i.push(\\\"out\\\"+r+\\\"s\\\");var a=b_(t);a[r]=-1,n.push({array:0,offset:a.slice()}),a[r]=1,n.push({array:0,offset:a.slice()}),i.push(\\\"inp\\\"+r+\\\"l\\\",\\\"inp\\\"+r+\\\"r\\\")}return $G[t]=nb({args:n,pre:eW,post:eW,body:{body:e.join(\\\"\\\"),args:i.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})}var aW=nb({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}),oW=function(t,e){for(var r=[],n=t,i=1;Array.isArray(n);)r.push(n.length),i*=n.length,n=n[0];return 0===r.length?wb():(e||(e=wb(new Float64Array(i),r)),aW(e,t),e)},sW=function(t){var e=t.gl,r=lW(e),n=cW(e),i=uW(e),a=hW(e),o=S_(e),s=EP(e,[{buffer:o,size:4,stride:fW,offset:0},{buffer:o,size:3,stride:fW,offset:16},{buffer:o,size:3,stride:fW,offset:28}]),l=S_(e),u=EP(e,[{buffer:l,size:4,stride:20,offset:0},{buffer:l,size:1,stride:20,offset:16}]),c=S_(e),h=EP(e,[{buffer:c,size:2,type:e.FLOAT}]),f=zE(e,1,vW,e.RGBA,e.UNSIGNED_BYTE);f.minFilter=e.LINEAR,f.magFilter=e.LINEAR;var p=new mW(e,[0,0],[[0,0,0],[0,0,0]],r,n,o,s,f,i,a,l,u,c,h),d={levels:[[],[],[]]};for(var g in t)d[g]=t[g];return d.colormap=d.colormap||\\\"jet\\\",p.update(d),p},lW=YG.createShader,uW=YG.createContourShader,cW=YG.createPickShader,hW=YG.createPickContourShader,fW=40,pW=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],dW=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],gW=[[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(){for(var t=0;t<3;++t){var e=gW[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var vW=256;function mW(t,e,r,n,i,a,o,s,l,u,c,h,f,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=u,this._contourBuffer=c,this._contourVAO=h,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=f,this._dynamicVAO=p,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=[wb(__.mallocFloat(1024),[0,0]),wb(__.mallocFloat(1024),[0,0]),wb(__.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.opacity=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 yW=mW.prototype;yW.isTransparent=function(){return this.opacity<1},yW.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},yW.pickSlots=1,yW.setPickBase=function(t){this.pickId=t};var xW=[0,0,0],bW={showSurface:!1,showContour:!1,projections:[pW.slice(),pW.slice(),pW.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function _W(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||xW,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=bW.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[+(a[r]>0)][r],Dz(l,t.model,l);var u=bW.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return bW.showSurface=o,bW.showContour=s,bW}var wW={model:pW,view:pW,projection:pW,inverseModel:pW.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},MW=pW.slice(),AW=[1,0,0,0,1,0,0,0,1];function kW(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=wW;n.model=t.model||pW,n.view=t.view||pW,n.projection=t.projection||pW,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.contourColor=this.contourColor[0],n.inverseModel=cz(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][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=AW,n.vertexColor=this.vertexColor;var s=MW;for(Dz(s,n.view,n.model),Dz(s,n.projection,s),cz(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=_W(n,this);if(c.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour&&!e){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(),i=0;i<3;++i)for(h.uniforms.permutation=gW[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)this._contourCounts[i][o]&&(o===this.highlightLevel[i]?(h.uniforms.contourColor=this.highlightColor[i],h.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(h.uniforms.contourColor=this.contourColor[i],h.uniforms.contourTint=this.contourTint[i]),h.uniforms.height=this.contourLevels[i][o],f.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(h.uniforms.model=c.projections[i],h.uniforms.clipBounds=c.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){h.uniforms.permutation=gW[o],r.lineWidth(this.contourWidth[o]);for(var p=0;p<this.contourLevels[o].length;++p)p===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==p&&p-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),h.uniforms.height=this.contourLevels[o][p],f.draw(r.LINES,this._contourCounts[o][p],this._contourOffsets[o][p])}for(f.unbind(),(f=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=gW[i],r.lineWidth(this.dynamicWidth[i]),h.uniforms.contourColor=this.dynamicColor[i],h.uniforms.contourTint=this.dynamicTint[i],h.uniforms.height=this.dynamicLevel[i],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(h.uniforms.model=c.projections[o],h.uniforms.clipBounds=c.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));f.unbind()}}yW.draw=function(t){return kW.call(this,t,!1)},yW.drawTransparent=function(t){return kW.call(this,t,!0)};var TW={model:pW,view:pW,projection:pW,inverseModel:pW,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function SW(t,e){var r=e.shape.slice(),n=t.shape.slice();ib.assign(t.lo(1,1).hi(r[0],r[1]),e),ib.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),ib.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),ib.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),ib.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))}function EW(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function CW(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 LW(t){if(Array.isArray(t)){if(Array.isArray(t))return[CW(t[0]),CW(t[1]),CW(t[2])];var e=CW(t);return[e.slice(),e.slice(),e.slice()]}}yW.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=TW;r.model=t.model||pW,r.view=t.view||pW,r.projection=t.projection||pW,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=AW;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=_W(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(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=gW[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=gW[a],e.lineWidth(this.contourWidth[a]);for(var u=0;u<this.contourLevels[a].length;++u)this._contourCounts[a][u]&&(s.uniforms.height=this.contourLevels[a][u],l.draw(e.LINES,this._contourCounts[a][u],this._contourOffsets[a][u]))}l.unbind()}},yW.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,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var h=c?a:1-a,f=0;f<2;++f)for(var p=i+c,d=s+f,g=h*(f?l:1-l),v=0;v<3;++v)u[v]+=this._field[v].get(p,d)*g;for(var m=this._pickResult.level,y=0;y<3;++y)if(m[y]=wT.le(this.contourLevels[y],u[y]),m[y]<0)this.contourLevels[y].length>0&&(m[y]=0);else if(m[y]<this.contourLevels[y].length-1){var x=this.contourLevels[y][m[y]],b=this.contourLevels[y][m[y]+1];Math.abs(x-u[y])>Math.abs(b-u[y])&&(m[y]+=1)}for(r.index[0]=a<.5?i:i+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},yW.update=function(t){t=t||{},this.dirty=!0,\\\"contourWidth\\\"in t&&(this.contourWidth=EW(t.contourWidth,Number)),\\\"showContour\\\"in t&&(this.showContour=EW(t.showContour,Boolean)),\\\"showSurface\\\"in t&&(this.showSurface=!!t.showSurface),\\\"contourTint\\\"in t&&(this.contourTint=EW(t.contourTint,Boolean)),\\\"contourColor\\\"in t&&(this.contourColor=LW(t.contourColor)),\\\"contourProject\\\"in t&&(this.contourProject=EW(t.contourProject,function(t){return EW(t,Boolean)})),\\\"surfaceProject\\\"in t&&(this.surfaceProject=t.surfaceProject),\\\"dynamicColor\\\"in t&&(this.dynamicColor=LW(t.dynamicColor)),\\\"dynamicTint\\\"in t&&(this.dynamicTint=EW(t.dynamicTint,Number)),\\\"dynamicWidth\\\"in t&&(this.dynamicWidth=EW(t.dynamicWidth,Number)),\\\"opacity\\\"in t&&(this.opacity=t.opacity),\\\"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 n=(e.shape[0]+2)*(e.shape[1]+2);n>this._field[2].data.length&&(__.freeFloat(this._field[2].data),this._field[2].data=__.mallocFloat(Mb.nextPow2(n))),this._field[2]=wb(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),SW(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a<2;++a)this._field[2].size>this._field[a].data.length&&(__.freeFloat(this._field[a].data),this._field[a].data=__.mallocFloat(this._field[2].size)),this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var o=t.coords;if(!Array.isArray(o)||3!==o.length)throw new Error(\\\"gl-surface: invalid coordinates for x/y\\\");for(a=0;a<2;++a){var s=o[a];for(f=0;f<2;++f)if(s.shape[f]!==i[f])throw new Error(\\\"gl-surface: coords have incorrect shape\\\");SW(this._field[a],s)}}else if(t.ticks){var l=t.ticks;if(!Array.isArray(l)||2!==l.length)throw new Error(\\\"gl-surface: invalid ticks\\\");for(a=0;a<2;++a){var u=l[a];if((Array.isArray(u)||u.length)&&(u=wb(u)),u.shape[0]!==i[a])throw new Error(\\\"gl-surface: invalid tick length\\\");var c=wb(u.data,i);c.stride[a]=u.stride[0],c.stride[1^a]=0,SW(this._field[a],c)}}else{for(a=0;a<2;++a){var h=[0,0];h[a]=1,this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2],h,0)}this._field[0].set(0,0,0);for(var f=0;f<i[0];++f)this._field[0].set(f+1,0,f);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),f=0;f<i[1];++f)this._field[1].set(0,f+1,f);this._field[1].set(0,i[1]+1,i[1]-1)}var p=this._field,d=wb(__.mallocFloat(3*p[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a<3;++a)QG(d.pick(a),p[a],\\\"mirror\\\");var g=wb(__.mallocFloat(3*p[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a<i[0]+2;++a)for(f=0;f<i[1]+2;++f){var v=d.get(0,a,f,0),m=d.get(0,a,f,1),y=d.get(1,a,f,0),x=d.get(1,a,f,1),b=d.get(2,a,f,0),_=d.get(2,a,f,1),w=y*_-x*b,M=b*m-_*v,A=v*x-m*y,k=Math.sqrt(w*w+M*M+A*A);k<1e-8?(k=Math.max(Math.abs(w),Math.abs(M),Math.abs(A)))<1e-8?(A=1,M=w=0,k=1):k=1/k:k=1/Math.sqrt(k),g.set(a,f,0,w*k),g.set(a,f,1,M*k),g.set(a,f,2,A*k)}__.free(d.data);var T=[1/0,1/0,1/0],S=[-1/0,-1/0,-1/0],E=1/0,C=-1/0,L=(i[0]-1)*(i[1]-1)*6,z=__.mallocFloat(Mb.nextPow2(10*L)),P=0,I=0;for(a=0;a<i[0]-1;++a)t:for(f=0;f<i[1]-1;++f){for(var D=0;D<2;++D)for(var O=0;O<2;++O)for(var R=0;R<3;++R){var F=this._field[R].get(1+a+D,1+f+O);if(isNaN(F)||!isFinite(F))continue t}for(R=0;R<6;++R){var B=a+dW[R][0],N=f+dW[R][1],j=this._field[0].get(B+1,N+1),V=this._field[1].get(B+1,N+1),U=F=this._field[2].get(B+1,N+1);w=g.get(B+1,N+1,0),M=g.get(B+1,N+1,1),A=g.get(B+1,N+1,2),t.intensity&&(U=t.intensity.get(B,N)),z[P++]=B,z[P++]=N,z[P++]=j,z[P++]=V,z[P++]=F,z[P++]=0,z[P++]=U,z[P++]=w,z[P++]=M,z[P++]=A,T[0]=Math.min(T[0],j),T[1]=Math.min(T[1],V),T[2]=Math.min(T[2],F),E=Math.min(E,U),S[0]=Math.max(S[0],j),S[1]=Math.max(S[1],V),S[2]=Math.max(S[2],F),C=Math.max(C,U),I+=1}}for(t.intensityBounds&&(E=+t.intensityBounds[0],C=+t.intensityBounds[1]),a=6;a<P;a+=10)z[a]=(z[a]-E)/(C-E);this._vertexCount=I,this._coordinateBuffer.update(z.subarray(0,P)),__.freeFloat(z),__.free(g.data),this.bounds=[T,S],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===E&&this.intensityBounds[1]===C||(r=!0),this.intensityBounds=[E,C]}if(\\\"levels\\\"in t){var q=t.levels;for(q=Array.isArray(q[0])?q.slice():[[],[],q],a=0;a<3;++a)q[a]=q[a].slice(),q.sort(function(t,e){return t-e});t:for(a=0;a<3;++a){if(q[a].length!==this.contourLevels[a].length){r=!0;break}for(f=0;f<q[a].length;++f)if(q[a][f]!==this.contourLevels[a][f]){r=!0;break t}}this.contourLevels=q}if(r){p=this._field,i=this.shape;for(var H=[],G=0;G<3;++G){q=this.contourLevels[G];var W=[],Y=[],X=[0,0,0];for(a=0;a<q.length;++a){var Z=yE(this._field[G],q[a]);W.push(H.length/5|0),I=0;t:for(f=0;f<Z.cells.length;++f){var J=Z.cells[f];for(R=0;R<2;++R){var K=Z.positions[J[R]],Q=K[0],$=0|Math.floor(Q),tt=Q-$,et=K[1],rt=0|Math.floor(et),nt=et-rt,it=!1;e:for(var at=0;at<3;++at){X[at]=0;var ot=(G+at+1)%3;for(D=0;D<2;++D){var st=D?tt:1-tt;for(B=0|Math.min(Math.max($+D,0),i[0]),O=0;O<2;++O){var lt=O?nt:1-nt;if(N=0|Math.min(Math.max(rt+O,0),i[1]),F=at<2?this._field[ot].get(B,N):(this.intensity.get(B,N)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(F)||isNaN(F)){it=!0;break e}var ut=st*lt;X[at]+=ut*F}}}if(it){if(R>0){for(var ct=0;ct<5;++ct)H.pop();I-=1}continue t}H.push(X[0],X[1],K[0],K[1],X[2]),I+=1}}Y.push(I)}this._contourOffsets[G]=W,this._contourCounts[G]=Y}var ht=__.mallocFloat(H.length);for(a=0;a<H.length;++a)ht[a]=H[a];this._contourBuffer.update(ht),__.freeFloat(ht)}t.colormap&&this._colorMap.setPixels(function(t){var e=oW([LO({colormap:t,nshades:vW,format:\\\"rgba\\\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return ib.divseq(e,255),e}(t.colormap))},yW.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)__.freeFloat(this._field[t].data)},yW.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,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,i=this.shape,a=__.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,u=this._field[o],c=this._field[s],h=this._field[l],f=(this.intensity,yE(u,r[o])),p=f.cells,d=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<p.length;++e)for(var g=p[e],v=0;v<2;++v){var m=d[g[v]],y=+m[0],x=0|y,b=0|Math.min(x+1,i[0]),_=y-x,w=1-_,M=+m[1],A=0|M,k=0|Math.min(A+1,i[1]),T=M-A,S=1-T,E=w*S,C=w*T,L=_*S,z=_*T,P=E*c.get(x,A)+C*c.get(x,k)+L*c.get(b,A)+z*c.get(b,k),I=E*h.get(x,A)+C*h.get(x,k)+L*h.get(b,A)+z*h.get(b,k);if(isNaN(P)||isNaN(I)){v&&(n-=1);break}a[2*n+0]=P,a[2*n+1]=I,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),__.freeFloat(a)}};var zW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\"],pre:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},body:{body:\\\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\\\",args:[{name:\\\"_inline_1_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_1_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_1_arg2_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64}),PW=function(t,e){return zW(t,e),t},IW=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null};var DW=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,p=u*a-o*l,d=r*h+n*f+i*p;return d?(d=1/d,t[0]=h*d,t[1]=(-c*n+i*u)*d,t[2]=(s*n-i*o)*d,t[3]=f*d,t[4]=(c*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-u*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null};var OW=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:IW(t,e);break;case 9:DW(t,e);break;case 16:cz(t,e);break;default:throw new Error(\\\"currently supports matrices up to 4x4\\\")}return t};var RW={};function FW(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function BW(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<t.shape[1],c=0<=s+1&&s+1<t.shape[1],h=a&&u?t.get(n,s):0,f=a&&c?t.get(n,s+1):0;return(1-l)*((1-i)*h+i*(o&&u?t.get(n+1,s):0))+l*((1-i)*f+i*(o&&c?t.get(n+1,s+1):0))}function NW(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),u=r-l,c=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],v=o&&c&&d?t.get(i,l,f):0,m=o&&h&&d?t.get(i,l+1,f):0,y=s&&c&&d?t.get(i+1,l,f):0,x=s&&h&&d?t.get(i+1,l+1,f):0,b=o&&c&&g?t.get(i,l,f+1):0,_=o&&h&&g?t.get(i,l+1,f+1):0;return(1-p)*((1-u)*((1-a)*v+a*y)+u*((1-a)*m+a*x))+p*((1-u)*((1-a)*b+a*(s&&c&&g?t.get(i+1,l,f+1):0))+u*((1-a)*_+a*(s&&h&&g?t.get(i+1,l+1,f+1):0)))}(RW=function(t,e,r,n){switch(t.shape.length){case 0:return 0;case 1:return FW(t,e);case 2:return BW(t,e,r);case 3:return NW(t,e,r,n);default:return function(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,u,c,h=0;t:for(e=0;e<1<<n;++e){for(u=1,c=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;u*=a[l],c+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;u*=1-a[l],c+=t.stride[l]*i[l]}h+=u*t.data[c]}return h}.apply(void 0,arguments)}}).d1=FW,RW.d2=BW,RW.d3=NW;var jW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=new Array(_inline_3_arg4_)}\\\",args:[{name:\\\"_inline_3_arg0_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg1_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg2_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg3_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\\\",args:[{name:\\\"_inline_4_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_4_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg4_\\\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warpND\\\",blockSize:64}),VW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\\\",args:[{name:\\\"_inline_7_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_7_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp1D\\\",blockSize:64}),UW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\\\",args:[{name:\\\"_inline_10_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_10_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp2D\\\",blockSize:64}),qW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}\\\",args:[{name:\\\"_inline_13_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_13_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp3D\\\",blockSize:64}),HW=function(t,e,r){switch(e.shape.length){case 1:VW(t,r,RW.d1,e);break;case 2:UW(t,r,RW.d2,e);break;case 3:qW(t,r,RW.d3,e);break;default:jW(t,r,RW.bind(void 0,e),e.shape.length)}return t},GW=function(t,e,r){var n=e.dimension,i=OW([],r);return HW(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=i[(n+1)*n+r];for(var a=0;a<n;++a)t[r]+=i[(n+1)*a+r]*e[a]}var o=i[(n+1)*(n+1)-1];for(a=0;a<n;++a)o+=i[(n+1)*a+n]*e[a];var s=1/o;for(r=0;r<n;++r)t[r]*=s;return t}),t};var WW=ne.isArrayOrTypedArray,YW=128;function XW(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var ZW=XW.prototype;function JW(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=wb(new Float32Array(r[0]*r[1]),r);return ib.assign(n.lo(1,1).hi(e[0],e[1]),t),ib.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),ib.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),ib.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),ib.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}ZW.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];WW(this.data.x)?WW(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],WW(this.data.y)?WW(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=e[1],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\\\"\\\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},ZW.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},ZW.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,i=this.surface,a=t.opacity,o=function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=s(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,a),l=t.z,u=t.x,c=t.y,h=n.xaxis,f=n.yaxis,p=n.zaxis,d=r.dataScale,g=l[0].length,v=t._ylength,m=[wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v])],y=m[0],x=m[1],b=r.contourLevels;this.data=t;var _=t.xcalendar,w=t.ycalendar,M=t.zcalendar;PW(m[2],function(t,e){return p.d2l(l[e][t],0,M)*d[2]}),WW(u)?WW(u[0])?PW(y,function(t,e){return h.d2l(u[e][t],0,_)*d[0]}):PW(y,function(t){return h.d2l(u[t],0,_)*d[0]}):PW(y,function(t){return h.d2l(t,0,_)*d[0]}),WW(u)?WW(c[0])?PW(x,function(t,e){return f.d2l(c[e][t],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(c[e],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(e,0,_)*d[1]});var A={colormap:o,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],opacity:t.opacity};if(A.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var k=wb(new Float32Array(g*v),[g,v]);PW(k,function(e,r){return t.surfacecolor[r][e]}),m.push(k)}else A.intensityBounds[0]*=d[2],A.intensityBounds[1]*=d[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<YW){for(var r=YW/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],i=n[0]*n[1],a=0;a<t.length;++a){var o=JW(t[a]),s=wb(new Float32Array(i),n);GW(s,o,[r,0,0,0,r,0,0,0,1]),t[a]=s}return r}return 1}(m),t.surfacecolor&&(A.intensity=m.pop());var T=[!0,!0,!0],S=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(e=0;e<3;++e){var E=t.contours[S[e]];T[e]=E.highlight,A.showContour[e]=E.show||E.highlight,A.showContour[e]&&(A.contourProject[e]=[E.project.x,E.project.y,E.project.z],E.show?(this.showContour[e]=!0,A.levels[e]=b[e],i.highlightColor[e]=A.contourColor[e]=WC(E.color),E.usecolormap?i.highlightTint[e]=A.contourTint[e]=0:i.highlightTint[e]=A.contourTint[e]=1,A.contourWidth[e]=E.width):this.showContour[e]=!1,E.highlight&&(A.dynamicColor[e]=WC(E.highlightcolor),A.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]})(o)&&(A.vertexColor=!0),A.coords=m,i.update(A),i.visible=t.visible,i.enableDynamic=T,i.snapToData=!0,\\\"lighting\\\"in t&&(i.ambientLight=t.lighting.ambient,i.diffuseLight=t.lighting.diffuse,i.specularLight=t.lighting.specular,i.roughness=t.lighting.roughness,i.fresnel=t.lighting.fresnel),\\\"lightposition\\\"in t&&(i.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),a&&a<1&&(i.supportsTransparency=!0)},ZW.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};var KW=function(t,e){var r=t.glplot.gl,n=sW({gl:r}),i=new XW(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i};function QW(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var $W={};$W.attributes=LD,$W.supplyDefaults=function(t,e,r,n){var i,a;function o(r,n){return ne.coerce(t,e,LD,r,n)}var s=o(\\\"z\\\");if(s){var l=o(\\\"x\\\");o(\\\"y\\\"),e._xlength=Array.isArray(l)&&ne.isArrayOrTypedArray(l[0])?s.length:s[0].length,e._ylength=s.length,P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),o(\\\"text\\\"),[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"hidesurface\\\",\\\"opacity\\\"].forEach(function(t){o(t)});var u=o(\\\"surfacecolor\\\");o(\\\"colorscale\\\");var c=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(i=0;i<3;++i){var h=\\\"contours.\\\"+c[i],f=o(h+\\\".show\\\"),p=o(h+\\\".highlight\\\");if(f||p)for(a=0;a<3;++a)o(h+\\\".project.\\\"+c[a]);f&&(o(h+\\\".color\\\"),o(h+\\\".width\\\"),o(h+\\\".usecolormap\\\")),p&&(o(h+\\\".highlightcolor\\\"),o(h+\\\".highlightwidth\\\"))}u||(QW(t,\\\"zmin\\\",\\\"cmin\\\"),QW(t,\\\"zmax\\\",\\\"cmax\\\"),QW(t,\\\"zauto\\\",\\\"cauto\\\")),Ye(t,e,n,o,{prefix:\\\"\\\",cLetter:\\\"c\\\"})}else e.visible=!1},$W.colorbar=function(t,e){var n=e[0].trace,i=\\\"cb\\\"+n.uid,a=n.cmin,o=n.cmax,s=n.surfacecolor||n.z;if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\\\".\\\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},$W.calc=function(t,e){e.surfacecolor?Ve(e,e.surfacecolor,\\\"\\\",\\\"c\\\"):Ve(e,e.z,\\\"\\\",\\\"c\\\")},$W.plot=KW,$W.moduleType=\\\"trace\\\",$W.name=\\\"surface\\\",$W.basePlotModule=SD,$W.categories=[\\\"gl3d\\\",\\\"2dMap\\\",\\\"noOpacity\\\"],$W.meta={};var tY=$W,eY=m.extendFlat,rY=(0,ye.overrideAll)({domain:(0,qc.attributes)({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:eY({},Jp.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:eY({},T({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:eY({},Jp.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:eY({},T({arrayOk:!0}))}},\\\"calc\\\",\\\"from-root\\\"),nY={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\\\"}},iY=m.extendFlat;function aY(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function oY(t,e){return Object.keys(t).map(function(r){return iY({},t[r],{auxiliaryBlocks:e})})}function sY(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,u=0;u<t.length;u++)r=t[u],o.rows.push({rowIndex:u,rowHeight:r}),((a+=r)>=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}var lY={},uY=m.extendFlat;lY.splitToPanels=function(t){var e=[0,0],r=uY({},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:uY({},t.calcdata,{cells:t.calcdata.headerCells})});return[uY({},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}),uY({},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]},lY.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}})};var cY=ne.raiseToTop,hY=ne.cancelTransition,fY=function(t,n){var i=t._fullLayout._paper.selectAll(\\\".\\\"+nY.cn.table).data(n.map(function(e){var n=ZR.unwrap(e).trace;return function(t,e){var n=e.cells.values,i=function(t){return t.slice(e.header.values.length,t.length)},a=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}).concat(i(n).map(function(){return[\\\"\\\"]})),o=e.domain,s=Math.floor(t._fullLayout._size.w*(o.x[1]-o.x[0])),l=Math.floor(t._fullLayout._size.h*(o.y[1]-o.y[0])),u=e.header.values.length?a[0].map(function(){return e.header.height}):[nY.emptyHeaderHeight],c=n.length?n[0].map(function(){return e.cells.height}):[],h=u.reduce(function(t,e){return t+e},0),f=sY(c,l-h+nY.uplift),p=oY(sY(u,h),[]),d=oY(f,p),g={},v=e._fullInput.columnorder.concat(i(n.map(function(t,e){return e}))),m=a.map(function(t,n){var i=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(n,e.columnwidth.length-1)]:e.columnwidth;return r(i)?Number(i):1}),y=m.reduce(function(t,e){return t+e},0);m=m.map(function(t){return t/y*s});var x={key:e.index,translateX:o.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-o.y[1]),size:t._fullLayout._size,width:s,height:l,columnOrder:v,groupHeight:l,rowBlocks:d,headerRowBlocks:p,scrollY:0,cells:e.cells,headerCells:iY({},e.header,{values:a}),gdColumns:a.map(function(t){return t[0]}),gdColumnsOriginalOrder:a.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:a.map(function(t,e){var r=g[t];return g[t]=(r||0)+1,{key:t+\\\"__\\\"+g[t],label:t,specIndex:e,xIndex:v[e],xScale:aY,x:void 0,calcdata:void 0,columnWidth:m[e]}})};return x.columns.forEach(function(t){t.calcdata=x,t.x=aY(t)}),x}(t,n)}),ZR.keyFun);i.exit().remove(),i.enter().append(\\\"g\\\").classed(nY.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\\\"),i.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 a=i.selectAll(\\\".\\\"+nY.cn.tableControlView).data(ZR.repeat,ZR.keyFun);a.enter().append(\\\"g\\\").classed(nY.cn.tableControlView,!0).style(\\\"box-sizing\\\",\\\"content-box\\\").on(\\\"mousemove\\\",function(e){a.filter(function(t){return e===t}).call(vY,t)}).on(\\\"mousewheel\\\",function(r){r.scrollbarState.wheeling||(r.scrollbarState.wheeling=!0,e.event.stopPropagation(),e.event.preventDefault(),TY(t,a,null,r.scrollY+e.event.deltaY)(r),r.scrollbarState.wheeling=!1)}).call(vY,t,!0),a.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.size.l+\\\" \\\"+t.size.t+\\\")\\\"});var o=a.selectAll(\\\".\\\"+nY.cn.scrollBackground).data(ZR.repeat,ZR.keyFun);o.enter().append(\\\"rect\\\").classed(nY.cn.scrollBackground,!0).attr(\\\"fill\\\",\\\"none\\\"),o.attr(\\\"width\\\",function(t){return t.width}).attr(\\\"height\\\",function(t){return t.height}),a.each(function(r){Sr.setClipUrl(e.select(this),pY(t,r))});var s=a.selectAll(\\\".\\\"+nY.cn.yColumn).data(function(t){return t.columns},ZR.keyFun);s.enter().append(\\\"g\\\").classed(nY.cn.yColumn,!0),s.exit().remove(),s.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\" 0)\\\"}).call(e.behavior.drag().origin(function(r){return _Y(e.select(this),r,-nY.uplift),cY(this),r.calcdata.columnDragInProgress=!0,vY(a.filter(function(t){return r.calcdata.key===t.key}),t),r}).on(\\\"drag\\\",function(t){var r=e.select(this),n=function(r){return(t===r?e.event.x:r.x)+r.columnWidth/2};t.x=Math.max(-nY.overdrag,Math.min(t.calcdata.width+nY.overdrag-t.columnWidth,e.event.x)),gY(s).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return n(t)-n(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),s.filter(function(e){return t!==e}).transition().ease(nY.transitionEase).duration(nY.transitionDuration).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\" 0)\\\"}),r.call(hY).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\" -\\\"+nY.uplift+\\\" )\\\")}).on(\\\"dragend\\\",function(r){var n=e.select(this),i=r.calcdata;r.x=r.xScale(r),r.calcdata.columnDragInProgress=!1,_Y(n,r,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,i,i.columns.map(function(t){return t.xIndex}))})),s.each(function(r){Sr.setClipUrl(e.select(this),dY(t,r))});var l=s.selectAll(\\\".\\\"+nY.cn.columnBlock).data(lY.splitToPanels,ZR.keyFun);l.enter().append(\\\"g\\\").classed(nY.cn.columnBlock,!0).attr(\\\"id\\\",function(t){return t.key}),l.style(\\\"cursor\\\",function(t){return t.dragHandle?\\\"ew-resize\\\":t.calcdata.scrollbarState.barWiggleRoom?\\\"ns-resize\\\":\\\"default\\\"});var u=l.filter(MY),c=l.filter(wY);c.call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t}).on(\\\"drag\\\",TY(t,a,-1)).on(\\\"dragend\\\",function(){})),mY(t,a,u,l),mY(t,a,c,l);var h=a.selectAll(\\\".\\\"+nY.cn.scrollAreaClip).data(ZR.repeat,ZR.keyFun);h.enter().append(\\\"clipPath\\\").classed(nY.cn.scrollAreaClip,!0).attr(\\\"id\\\",function(e){return pY(t,e)});var f=h.selectAll(\\\".\\\"+nY.cn.scrollAreaClipRect).data(ZR.repeat,ZR.keyFun);f.enter().append(\\\"rect\\\").classed(nY.cn.scrollAreaClipRect,!0).attr(\\\"x\\\",-nY.overdrag).attr(\\\"y\\\",-nY.uplift).attr(\\\"fill\\\",\\\"none\\\"),f.attr(\\\"width\\\",function(t){return t.width+2*nY.overdrag}).attr(\\\"height\\\",function(t){return t.height+nY.uplift}),s.selectAll(\\\".\\\"+nY.cn.columnBoundary).data(ZR.repeat,ZR.keyFun).enter().append(\\\"g\\\").classed(nY.cn.columnBoundary,!0);var p=s.selectAll(\\\".\\\"+nY.cn.columnBoundaryClippath).data(ZR.repeat,ZR.keyFun);p.enter().append(\\\"clipPath\\\").classed(nY.cn.columnBoundaryClippath,!0),p.attr(\\\"id\\\",function(e){return dY(t,e)});var d=p.selectAll(\\\".\\\"+nY.cn.columnBoundaryRect).data(ZR.repeat,ZR.keyFun);d.enter().append(\\\"rect\\\").classed(nY.cn.columnBoundaryRect,!0).attr(\\\"fill\\\",\\\"none\\\"),d.attr(\\\"width\\\",function(t){return t.columnWidth}).attr(\\\"height\\\",function(t){return t.calcdata.height+nY.uplift}),kY(null,c,a)};function pY(t,e){return\\\"clip\\\"+t._fullLayout._uid+\\\"_scrollAreaBottomClip_\\\"+e.key}function dY(t,e){return\\\"clip\\\"+t._fullLayout._uid+\\\"_columnBoundaryClippath_\\\"+e.calcdata.key+\\\"_\\\"+e.specIndex}function gY(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function vY(t,r,n){var i=t.selectAll(\\\".\\\"+nY.cn.scrollbarKit).data(ZR.repeat,ZR.keyFun);i.enter().append(\\\"g\\\").classed(nY.cn.scrollbarKit,!0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\"),i.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return PY(e,e.length-1)+(e.length?IY(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-AY(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,nY.goldenRatio*nY.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+nY.scrollbarWidth/2+nY.scrollbarOffset)+\\\" \\\"+AY(t)+\\\")\\\"});var a=i.selectAll(\\\".\\\"+nY.cn.scrollbar).data(ZR.repeat,ZR.keyFun);a.enter().append(\\\"g\\\").classed(nY.cn.scrollbar,!0);var o=a.selectAll(\\\".\\\"+nY.cn.scrollbarSlider).data(ZR.repeat,ZR.keyFun);o.enter().append(\\\"g\\\").classed(nY.cn.scrollbarSlider,!0),o.attr(\\\"transform\\\",function(t){return\\\"translate(0 \\\"+(t.scrollbarState.topY||0)+\\\")\\\"});var s=o.selectAll(\\\".\\\"+nY.cn.scrollbarGlyph).data(ZR.repeat,ZR.keyFun);s.enter().append(\\\"line\\\").classed(nY.cn.scrollbarGlyph,!0).attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-width\\\",nY.scrollbarWidth).attr(\\\"stroke-linecap\\\",\\\"round\\\").attr(\\\"y1\\\",nY.scrollbarWidth/2),s.attr(\\\"y2\\\",function(t){return t.scrollbarState.barLength-nY.scrollbarWidth/2}).attr(\\\"stroke-opacity\\\",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||n?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(nY.scrollbarHideDelay).duration(nY.scrollbarHideDuration).attr(\\\"stroke-opacity\\\",0);var l=a.selectAll(\\\".\\\"+nY.cn.scrollbarCaptureZone).data(ZR.repeat,ZR.keyFun);l.enter().append(\\\"line\\\").classed(nY.cn.scrollbarCaptureZone,!0).attr(\\\"stroke\\\",\\\"white\\\").attr(\\\"stroke-opacity\\\",.01).attr(\\\"stroke-width\\\",nY.scrollbarCaptureWidth).attr(\\\"stroke-linecap\\\",\\\"butt\\\").attr(\\\"y1\\\",0).on(\\\"mousedown\\\",function(n){var i=e.event.y,a=this.getBoundingClientRect(),o=n.scrollbarState,s=i-a.top,l=e.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||TY(r,t,null,l(s-o.barLength/2))(n)}).call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\\\"drag\\\",TY(r,t)).on(\\\"dragend\\\",function(){})),l.attr(\\\"y2\\\",function(t){return t.scrollbarState.scrollableAreaHeight})}function mY(t,r,n,i){var a=function(t){var e=t.selectAll(\\\".\\\"+nY.cn.columnCell).data(lY.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(\\\"g\\\").classed(nY.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\\\".\\\"+nY.cn.columnCells).data(ZR.repeat,ZR.keyFun);return e.enter().append(\\\"g\\\").classed(nY.cn.columnCells,!0),e.exit().remove(),e}(n));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:bY(r.size,n,e),color:bY(r.color,n,e),family:bY(r.family,n,e)};t.rowNumber=t.key,t.align=bY(t.calcdata.cells.align,n,e),t.cellBorderWidth=bY(t.calcdata.cells.line.width,n,e),t.font=i})}(a),function(t){t.attr(\\\"width\\\",function(t){return t.column.columnWidth}).attr(\\\"stroke-width\\\",function(t){return t.cellBorderWidth}).each(function(t){var r=e.select(this);Oe.stroke(r,bY(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),Oe.fill(r,bY(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\\\".\\\"+nY.cn.cellRect).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\\\"rect\\\").classed(nY.cn.cellRect,!0),e}(a));var o=function(t){var r=t.selectAll(\\\".\\\"+nY.cn.cellText).data(ZR.repeat,function(t){return t.keyWithinBlock});return r.enter().append(\\\"text\\\").classed(nY.cn.cellText,!0).style(\\\"cursor\\\",function(){return\\\"auto\\\"}).on(\\\"mousedown\\\",function(){e.event.stopPropagation()}),r}(function(t){var e=t.selectAll(\\\".\\\"+nY.cn.cellTextHolder).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\\\"g\\\").classed(nY.cn.cellTextHolder,!0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\"),e}(a));!function(t){t.each(function(t){Sr.font(e.select(this),t.font)})}(o),yY(o,r,i,t),zY(a)}function yY(t,r,n,i){t.text(function(t){var r=t.column.specIndex,n=t.rowNumber,i=t.value,a=\\\"string\\\"==typeof i,o=a&&i.match(/<br>/i),s=!a||o;t.mayHaveMarkup=a&&i.match(/[<&>]/);var l,u=\\\"string\\\"==typeof(l=i)&&l.match(nY.latexCheck);t.latex=u;var c,h,f=u?\\\"\\\":bY(t.calcdata.cells.prefix,r,n)||\\\"\\\",p=u?\\\"\\\":bY(t.calcdata.cells.suffix,r,n)||\\\"\\\",d=u?null:bY(t.calcdata.cells.format,r,n)||null,g=f+(d?e.format(d)(t.value):t.value)+p;if(t.wrappingNeeded=!t.wrapped&&!s&&!u&&(c=xY(g)),t.cellHeightMayIncrease=o||u||t.mayHaveMarkup||(void 0===c?xY(g):c),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\\\" \\\"===nY.wrapSplitCharacter?g.replace(/<a href=/gi,\\\"<a_href=\\\"):g).split(nY.wrapSplitCharacter),m=\\\" \\\"===nY.wrapSplitCharacter?v.map(function(t){return t.replace(/<a_href=/gi,\\\"<a href=\\\")}):v;t.fragments=m.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:nY.wrapSpacer,width:null}),h=m.join(nY.lineBreaker)+nY.lineBreaker+nY.wrapSpacer}else delete t.fragments,h=g;return h}).attr(\\\"dy\\\",function(t){return t.needsConvertToTspans?0:\\\"0.75em\\\"}).each(function(t){var a=e.select(this),o=t.wrappingNeeded?EY:CY;t.needsConvertToTspans?er.convertToTspans(a,i,o(n,this,r,i,t)):e.select(this.parentNode).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+LY(t)+\\\" \\\"+nY.cellPad+\\\")\\\"}).attr(\\\"text-anchor\\\",function(t){return{left:\\\"start\\\",center:\\\"middle\\\",right:\\\"end\\\"}[t.align]})})}function xY(t){return-1!==t.indexOf(nY.wrapSplitCharacter)}function bY(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 _Y(t,e,r){t.transition().ease(nY.releaseTransitionEase).duration(nY.releaseTransitionDuration).attr(\\\"transform\\\",\\\"translate(\\\"+e.x+\\\" \\\"+r+\\\")\\\")}function wY(t){return\\\"cells\\\"===t.type}function MY(t){return\\\"header\\\"===t.type}function AY(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+IY(e,1/0)},0)}function kY(t,e,r){var n=gY(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=PY(i,i.length),s=n.calcdata.groupHeight-AY(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each(function(t,e){t.page=u[e],t.scrollY=l}),e.attr(\\\"transform\\\",function(t){return\\\"translate(0 \\\"+(PY(t.rowBlocks,t.page)-t.scrollY)+\\\")\\\"}),t&&(SY(t,r,e,u,n.prevPages,n,0),SY(t,r,e,u,n.prevPages,n,1),vY(r,t))}}function TY(t,r,n,i){return function(a){var o=a.calcdata?a.calcdata:a,s=r.filter(function(t){return o.key===t.key}),l=n||o.scrollbarState.dragMultiplier;o.scrollY=void 0===i?o.scrollY+l*e.event.dy:i;var u=s.selectAll(\\\".\\\"+nY.cn.yColumn).selectAll(\\\".\\\"+nY.cn.columnBlock).filter(wY);kY(t,u,s)}}function SY(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});mY(t,e,a,r),i[o]=n[o]}))}function EY(t,r,n){return function(){var i=e.select(r.parentNode);i.each(function(t){var e=t.fragments;i.selectAll(\\\"tspan.line\\\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,n,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,u=t.column.columnWidth-2*nY.cellPad;for(t.value=\\\"\\\";o.length;)l+(n=(r=o.shift()).width+a)>u&&(t.value+=s.join(nY.wrapSpacer)+nY.lineBreaker,s=[],l=0),s.push(r.text),l+=n;l&&(t.value+=s.join(nY.wrapSpacer)),t.wrapped=!0}),i.selectAll(\\\"tspan.line\\\").remove(),yY(i.select(\\\".\\\"+nY.cn.cellText),n,t),e.select(r.parentNode.parentNode).call(zY)}}function CY(t,r,n,i,a){return function(){if(!a.settledY){var o=e.select(r.parentNode),s=OY(a),l=a.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=a.cellHeightMayIncrease?r.parentNode.getBoundingClientRect().height+2*nY.cellPad:u,h=Math.max(c,u);h-s.rows[l].rowHeight&&(s.rows[l].rowHeight=h,t.selectAll(\\\".\\\"+nY.cn.columnCell).call(zY),kY(null,t.filter(wY),0),vY(n,i,!0)),o.attr(\\\"transform\\\",function(){var t=this.parentNode.getBoundingClientRect(),r=e.select(this.parentNode).select(\\\".\\\"+nY.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),i=r.top-t.top+(n?n.matrix.f:nY.cellPad);return\\\"translate(\\\"+LY(a,e.select(this.parentNode).select(\\\".\\\"+nY.cn.cellTextHolder).node().getBoundingClientRect().width)+\\\" \\\"+i+\\\")\\\"}),a.settledY=!0}}}function LY(t,e){switch(t.align){case\\\"left\\\":return nY.cellPad;case\\\"right\\\":return t.column.columnWidth-(e||0)-nY.cellPad;case\\\"center\\\":return(t.column.columnWidth-(e||0))/2;default:return nY.cellPad}}function zY(t){t.attr(\\\"transform\\\",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+IY(e,1/0)},0);return\\\"translate(0 \\\"+(IY(OY(t),t.key)+e)+\\\")\\\"}).selectAll(\\\".\\\"+nY.cn.cellRect).attr(\\\"height\\\",function(t){return(e=OY(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function PY(t,e){for(var r=0,n=e-1;n>=0;n--)r+=DY(t[n]);return r}function IY(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 DY(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 OY(t){return t.rowBlocks[t.page]}var RY={},FY=sa.getModuleCalcData;RY.name=\\\"table\\\",RY.plot=function(t){var e=FY(t.calcdata,\\\"table\\\");e.length&&fY(t,e)},RY.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"table\\\"),a=e._has&&e._has(\\\"table\\\");i&&!a&&n._paperdiv.selectAll(\\\".table\\\").remove()};var BY=ZR.wrap,NY=qc.defaults;var jY={};jY.attributes=rY,jY.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,rY,r,n)}NY(e,n,i),i(\\\"columnwidth\\\"),i(\\\"header.values\\\"),i(\\\"header.format\\\"),i(\\\"header.align\\\"),i(\\\"header.prefix\\\"),i(\\\"header.suffix\\\"),i(\\\"header.height\\\"),i(\\\"header.line.width\\\"),i(\\\"header.line.color\\\"),i(\\\"header.fill.color\\\"),ne.coerceFont(i,\\\"header.font\\\",ne.extendFlat({},n.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e(\\\"columnorder\\\",o)}(e,i),i(\\\"cells.values\\\"),i(\\\"cells.format\\\"),i(\\\"cells.align\\\"),i(\\\"cells.prefix\\\"),i(\\\"cells.suffix\\\"),i(\\\"cells.height\\\"),i(\\\"cells.line.width\\\"),i(\\\"cells.line.color\\\"),i(\\\"cells.fill.color\\\"),ne.coerceFont(i,\\\"cells.font\\\",ne.extendFlat({},n.font))},jY.calc=function(t,e){return BY(e)},jY.plot=fY,jY.moduleType=\\\"trace\\\",jY.name=\\\"table\\\",jY.basePlotModule=RY,jY.categories=[\\\"noOpacity\\\"],jY.meta={};var VY=jY,UY=m.extendFlat,qY={y:cs.y,x:cs.x,x0:cs.x0,y0:cs.y0,name:cs.name,orientation:UY({},cs.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:cs.fillcolor,points:UY({},cs.boxpoints,{}),jitter:UY({},cs.jitter,{}),pointpos:UY({},cs.pointpos,{}),marker:cs.marker,text:cs.text,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:\\\"plot\\\"},selected:cs.selected,unselected:cs.unselected,hoveron:{valType:\\\"flaglist\\\",flags:[\\\"violins\\\",\\\"points\\\",\\\"kde\\\"],dflt:\\\"violins+points+kde\\\",extras:[\\\"all\\\"],editType:\\\"style\\\"}},HY={},GY=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};HY.makeKDE=function(t,e,r){var n=r.length,i=GY,a=t.bandwidth,o=1/(n*a);return function(t){for(var e=0,s=0;s<n;s++)e+=i((t-r[s])/a);return o*e}},HY.getPositionOnKdePath=function(t,e,r){var n,i;\\\"h\\\"===e.orientation?(n=\\\"y\\\",i=\\\"x\\\"):(n=\\\"x\\\",i=\\\"y\\\");var a=ne.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),o=t.posCenterPx,s=a[n];return[s,\\\"both\\\"===e.side?2*o-s:o]},HY.getKdeValue=function(t,e,r){var n=t.pts.map(HY.extractVal);return HY.makeKDE(t,e,n)(r)/t.posDensityScale},HY.extractVal=function(t){return t.v};var WY=t.BADNUM;function YY(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}function XY(t,e,r,n){var i,a=t.spanmode,o=t.span||[],s=[e.min,e.max],l=[e.min-2*n,e.max+2*n];function u(n){var i=o[n],a=r.d2c(i,0,t[e.valLetter+\\\"calendar\\\"]);return a===WY?l[n]:a}var c={type:\\\"linear\\\",range:i=\\\"soft\\\"===a?l:\\\"hard\\\"===a?s:[u(0),u(1)]};return ri.setConvert(c),c.cleanRange(),i}var ZY=ne.extendFlat,JY={violinmode:ZY({},ws.boxmode,{}),violingap:ZY({},ws.boxgap,{}),violingroupgap:ZY({},ws.boxgroupgap,{})},KY=Os,QY=[\\\"v\\\",\\\"h\\\"],$Y=Cx.stylePoints,tX={attributes:qY,layoutAttributes:JY,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,qY,r,n)}function a(r,n){return ne.coerce2(t,e,qY,r,n)}if(ys.handleSampleDefaults(t,e,i,n),!1!==e.visible){i(\\\"bandwidth\\\"),i(\\\"scalegroup\\\",e.name),i(\\\"scalemode\\\"),i(\\\"side\\\");var o,s=i(\\\"span\\\");Array.isArray(s)&&(o=\\\"manual\\\"),i(\\\"spanmode\\\",o);var l=i(\\\"line.color\\\",(t.marker||{}).color||r),u=i(\\\"line.width\\\"),c=i(\\\"fillcolor\\\",Oe.addOpacity(e.line.color,.5));ys.handlePointsDefaults(t,e,i,{prefix:\\\"\\\"});var h=a(\\\"box.width\\\"),f=a(\\\"box.fillcolor\\\",c),p=a(\\\"box.line.color\\\",l),d=a(\\\"box.line.width\\\",u);i(\\\"box.visible\\\",Boolean(h||f||p||d))||delete e.box;var g=a(\\\"meanline.color\\\",l),v=a(\\\"meanline.width\\\",u);i(\\\"meanline.visible\\\",Boolean(g||v))||delete e.meanline}},supplyLayoutDefaults:function(t,e,r){As._supply(t,e,r,function(r,n){return ne.coerce(t,e,JY,r,n)},\\\"violin\\\")},calc:function(t,e){var r=fs(t,e);if(r[0].t.empty)return r;var n=t._fullLayout,i=ri.getFromId(t,e[\\\"h\\\"===e.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]),a=n._violinScaleGroupStats,o=e.scalegroup,s=a[o];s||(s=a[o]={maxWidth:0,maxCount:0});for(var l=0;l<r.length;l++){var u=r[l],c=u.pts.map(HY.extractVal),h=c.length,f=YY(c,ne.stdev(c,h-1,u.mean),u.q3-u.q1),p=u.bandwidth=e.bandwidth||f,d=u.span=XY(e,u,i,p),g=d[1]-d[0],v=Math.ceil(g/(Math.min(f,p)/3)),m=g/v;if(!isFinite(m)||!isFinite(v))return ne.error(\\\"Something went wrong with computing the violin span\\\"),r[0].t.empty=!0,r;var y=HY.makeKDE(u,e,c);u.density=new Array(v);for(var x=0,b=d[0];b<d[1]+m/2;x++,b+=m){var _=y(b);s.maxWidth=Math.max(s.maxWidth,_),u.density[x]={v:_,t:b}}ri.expand(i,d,{padded:!0}),s.maxCount=Math.max(s.maxCount,c.length)}return r[0].t.labels.kde=ne._(t,\\\"kde:\\\"),r},setPositions:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<QY.length;a++){for(var o=QY[a],s=\\\"h\\\"===o?i:n,l=[],u=0,c=0,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!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.points&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}KY(\\\"violin\\\",t,l,s,[u,c])}},plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;function s(t){var e=wx(t,{xaxis:a,yaxis:o,connectGaps:!0,baseTolerance:.75,shape:\\\"spline\\\",simplify:!0});return Sr.smoothopen(e[0],1)}r.plot.select(\\\".violinlayer\\\").selectAll(\\\"g.trace.violins\\\").data(n).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace violins\\\").each(function(t){var n=t[0],l=n.t,u=n.trace,c=n.node3=e.select(this),h=i._numViolins,f=\\\"group\\\"===i.violinmode&&h>1,p=l.bdPos=l.dPos*(1-i.violingap)*(1-i.violingroupgap)/(f?h:1),d=l.bPos=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.violingap):0;if(!0!==u.visible||l.empty)e.select(this).remove();else{var g=r[l.valLetter+\\\"axis\\\"],v=r[l.posLetter+\\\"axis\\\"],m=\\\"both\\\"===u.side,y=m||\\\"positive\\\"===u.side,x=m||\\\"negative\\\"===u.side,b=u.box&&u.box.visible,_=u.meanline&&u.meanline.visible,w=i._violinScaleGroupStats[u.scalegroup];if(c.selectAll(\\\"path.violin\\\").data(ne.identity).enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"violin\\\").each(function(t){var r,n,i,a,o,c,h,f,b=e.select(this),_=t.density,M=_.length,A=t.pos+d,k=v.c2p(A);switch(u.scalemode){case\\\"width\\\":r=w.maxWidth/p;break;case\\\"count\\\":r=w.maxWidth/p*(w.maxCount/t.pts.length)}if(y){for(h=new Array(M),o=0;o<M;o++)(f=h[o]={})[l.posLetter]=A+_[o].v/r,f[l.valLetter]=_[o].t;n=s(h)}if(x){for(h=new Array(M),c=0,o=M-1;c<M;c++,o--)(f=h[c]={})[l.posLetter]=A-_[o].v/r,f[l.valLetter]=_[o].t;i=s(h)}if(m)a=n+\\\"L\\\"+i.substr(1)+\\\"Z\\\";else{var T=[k,g.c2p(_[0].t)],S=[k,g.c2p(_[M-1].t)];\\\"h\\\"===u.orientation&&(T.reverse(),S.reverse()),a=y?\\\"M\\\"+T+\\\"L\\\"+n.substr(1)+\\\"L\\\"+S:\\\"M\\\"+S+\\\"L\\\"+i.substr(1)+\\\"L\\\"+T}b.attr(\\\"d\\\",a),t.posCenterPx=k,t.posDensityScale=r*p,t.path=b.node(),t.pathLength=t.path.getTotalLength()/(m?2:1)}),b){var M,A,k=u.box.width,T=u.box.line.width;m?(M=p*k,A=0):y?(M=[0,p*k/2],A=-T):(M=[p*k/2,0],A=T),u.whiskerwidth=0,Ls.plotBoxAndWhiskers(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A}),_&&Ls.plotBoxMean(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A})}else _&&c.selectAll(\\\"path.mean\\\").data(ne.identity).enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}).each(function(t){var r=g.c2p(t.mean,!0),n=HY.getPositionOnKdePath(t,u,r);e.select(this).attr(\\\"d\\\",\\\"h\\\"===u.orientation?\\\"M\\\"+r+\\\",\\\"+n[0]+\\\"V\\\"+n[1]:\\\"M\\\"+n[0]+\\\",\\\"+r+\\\"H\\\"+n[1])});u.points&&Ls.plotPoints(c,{x:a,y:o},u,l)}})},style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.violins\\\");n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=r[0].trace,i=e.select(this),a=n.box||{},o=a.line||{},s=n.meanline||{},l=s.width;i.selectAll(\\\"path.violin\\\").style(\\\"stroke-width\\\",n.line.width+\\\"px\\\").call(Oe.stroke,n.line.color).call(Oe.fill,n.fillcolor),i.selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",o.width+\\\"px\\\").call(Oe.stroke,o.color).call(Oe.fill,a.fillcolor),i.selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":l+\\\"px\\\",\\\"stroke-dasharray\\\":2*l+\\\"px,\\\"+l+\\\"px\\\"}).call(Oe.stroke,s.color),$Y(i,n,t)})},hoverPoints:function(t,e,r,n,i){var a,o,s=t.cd,l=s[0].trace,u=l.hoveron,c=-1!==u.indexOf(\\\"violins\\\"),h=-1!==u.indexOf(\\\"kde\\\"),f=[];if(c||h){var p=_s.hoverOnBoxes(t,e,r,n);if(c&&(f=f.concat(p)),h&&p.length>0){var d,g,v,m,y,x=t.xa,b=t.ya;\\\"h\\\"===l.orientation?(y=e,d=\\\"y\\\",v=b,g=\\\"x\\\",m=x):(y=r,d=\\\"x\\\",v=x,g=\\\"y\\\",m=b);var _=s[t.index];if(y>=_.span[0]&&y<=_.span[1]){var w=ne.extendFlat({},t),M=m.c2p(y,!0),A=HY.getKdeValue(_,l,y),k=HY.getPositionOnKdePath(_,l,M),T=v._offset,S=v._length;w[d+\\\"0\\\"]=k[0],w[d+\\\"1\\\"]=k[1],w[g+\\\"0\\\"]=w[g+\\\"1\\\"]=M,w[g+\\\"Label\\\"]=g+\\\": \\\"+ri.hoverLabelText(m,y)+\\\", \\\"+s[0].t.labels.kde+\\\" \\\"+A.toFixed(3),w.spikeDistance=p[0].spikeDistance;var E=d+\\\"Spike\\\";w[E]=p[0][E],p[0].spikeDistance=void 0,p[0][E]=void 0,f.push(w),(o={stroke:t.color})[d+\\\"1\\\"]=ne.constrain(T+k[0],T,T+S),o[d+\\\"2\\\"]=ne.constrain(T+k[1],T,T+S),o[g+\\\"1\\\"]=o[g+\\\"2\\\"]=m._offset+M}}}-1!==u.indexOf(\\\"points\\\")&&(a=_s.hoverOnPoints(t,e,r));var C=i.selectAll(\\\".violinline-\\\"+l.uid).data(o?[0]:[]);return C.enter().append(\\\"line\\\").classed(\\\"violinline-\\\"+l.uid,!0).attr(\\\"stroke-width\\\",1.5),C.exit().remove(),C.attr(o),\\\"closest\\\"===n?a?[a]:f:a?(f.push(a),f):f},selectPoints:zs,moduleType:\\\"trace\\\",name:\\\"violin\\\",basePlotModule:ua,categories:[\\\"cartesian\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box-violin\\\",\\\"showLegend\\\"],meta:{}};return Fx.register([os,Bs,Kx,qL,ZL,$L,YF,fp,qG,tX,Wj,tY,DR,dV,Sh,xq,aB,LL,LF,aH,uN,VY,Gu,tV,Ep,UR,iu,aG,uG]),Fx.register([Hi,qx,Yx,WG]),Fx.register([Ul]),Fx});\\n\",\n       \"});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>\"\n      ],\n      \"text/vnd.plotly.v1+html\": [\n       \"<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\\n\",\n       \"* plotly.js v1.35.2\\n\",\n       \"* Copyright 2012-2018, Plotly, Inc.\\n\",\n       \"* All rights reserved.\\n\",\n       \"* Licensed under the MIT license\\n\",\n       \"*/\\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(){var t={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:1-1e-6,MINUS_SIGN:\\\"\\\\u2212\\\"},e={exports:{}};!function(){var t={version:\\\"3.5.17\\\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(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(i)try{n(i.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}),i)try{i.createElement(\\\"DIV\\\").style.setProperty(\\\"opacity\\\",0,\\\"\\\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,u=s.setAttributeNS,c=this.CSSStyleDeclaration.prototype,h=c.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\\\"\\\")},s.setAttributeNS=function(t,e,r){u.call(this,t,e,r+\\\"\\\")},c.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,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+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,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(f),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=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 v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.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){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+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],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,m),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},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,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){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,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _=\\\"__proto__\\\",w=\\\"\\\\0\\\";function M(t){return(t+=\\\"\\\")===_||t[0]===w?w+t:t}function A(t){return(t+=\\\"\\\")[0]===w?t.slice(1):t}function k(t){return M(t)in this._}function T(t){return(t=M(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(A(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function C(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(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=D.length;r<n;++r){var i=D[r]+e;if(i in t)return i}}x(b,{has:k,get:function(t){return this._[M(t)]},set:function(t,e){return this._[M(t)]=e},remove:T,keys:S,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:A(e),value:this._[e]});return t},size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,u,c,h,f=-1,p=a.length,d=i[s++],g=new b;++f<p;)(h=g.get(l=d(u=a[f])))?h.push(u):g.set(l,[u]);return t?(u=t(),c=function(e,r){u.set(e,o(t,r,s))}):(u={},c=function(e,r){u[e]=o(t,r,s)}),g.forEach(c),u}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,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 i.push(t),n},n.sortKeys=function(t){return a[i.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 L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:k,add:function(t){return this._[M(t+=\\\"\\\")]=!0,t},remove:T,values:S,size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var D=[\\\"webkit\\\",\\\"ms\\\",\\\"moz\\\",\\\"Moz\\\",\\\"o\\\",\\\"O\\\"];function O(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=F(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.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(V,\\\"\\\\\\\\$&\\\")};var V=/[\\\\\\\\\\\\^\\\\$\\\\*\\\\+\\\\?\\\\|\\\\[\\\\]\\\\(\\\\)\\\\.\\\\{\\\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[I(t,\\\"matchesSelector\\\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\\\"function\\\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\\\"function\\\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\\\"function\\\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\\\"__data__\\\"in i&&(r.__data__=i.__data__)):e.push(null)}return q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,u=s.length;++l<u;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var J=\\\"http://www.w3.org/1999/xhtml\\\",K={svg:\\\"http://www.w3.org/2000/svg\\\",xhtml:J,xlink:\\\"http://www.w3.org/1999/xlink\\\",xml:\\\"http://www.w3.org/XML/1998/namespace\\\",xmlns:\\\"http://www.w3.org/2000/xmlns/\\\"};function Q(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 $(t){return t.trim().replace(/\\\\s+/g,\\\" \\\")}function tt(e){return new RegExp(\\\"(?:^|\\\\\\\\s+)\\\"+t.requote(e)+\\\"(?:\\\\\\\\s+|$)\\\",\\\"g\\\")}function et(t){return(t+\\\"\\\").trim().split(/^|\\\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\\\"function\\\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\\\"class\\\")||\\\"\\\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\\\"class\\\",$(i+\\\" \\\"+t))):r.setAttribute(\\\"class\\\",$(i.replace(e,\\\" \\\")))}}function it(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 ot(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===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ut(t){return function(){return W(this,t)}}function ct(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(\\\":\\\"),r=t;return e>=0&&\\\"xmlns\\\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[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(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\\\"string\\\"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\\\"class\\\");++i<n;)if(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(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(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\\\"\\\"}return this.each(it(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=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,c=r.length,h=Math.min(o,c),f=new Array(c),p=new Array(c),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(v.has(g=e.call(i,i.__data__,n))?d[n]=i:v.set(g,i),m[n]=g);for(n=-1;++n<c;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&&(f[n]=i,i.__data__=a):p[n]=lt(a),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)i=t[n],a=r[n],i?(i.__data__=a,f[n]=i):p[n]=lt(a);for(;n<c;++n)p[n]=lt(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),u.push(d)}var s=ht([]),l=q([]),u=q([]);if(\\\"function\\\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return u},l},Y.datum=function(t){return arguments.length?this.property(\\\"__data__\\\",t):this.property(\\\"__data__\\\")},Y.filter=function(t){var e,r,n,i=[];\\\"function\\\"!=typeof t&&(t=ut(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return q(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ct(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,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ct(this,function(){++t}),t};var ft=[];function pt(e,r,i){var a=\\\"__on\\\"+e,o=e.indexOf(\\\".\\\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function u(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));u.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:u:r?O:function(){var r,n=new RegExp(\\\"^__on([^.]+)\\\"+t.requote(e)+\\\"$\\\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}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,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(e.push(n[u]=r=t.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):e.push(null)}return q(o)},ft.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\\\"string\\\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\\\"string\\\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([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(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\\\"__on\\\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\\\"mouseover\\\",mouseleave:\\\"mouseout\\\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\\\"on\\\"+t in i&&dt.remove(t)});var mt,yt=0;function xt(e){var r=\\\".dragsuppress-\\\"+ ++yt,n=\\\"click\\\"+r,i=t.select(o(e)).on(\\\"touchmove\\\"+r,B).on(\\\"dragstart\\\"+r,B).on(\\\"selectstart\\\"+r,B);if(null==mt&&(mt=!(\\\"onselectstart\\\"in e)&&I(e.style,\\\"userSelect\\\")),mt){var s=a(e).style,l=s[mt];s[mt]=\\\"none\\\"}return function(t){if(i.on(r,null),mt&&(s[mt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.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();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\\\"drag\\\",\\\"dragstart\\\",\\\"dragend\\\"),r=null,n=s(O,t.mouse,o,\\\"mousemove\\\",\\\"mouseup\\\"),i=s(wt,t.touch,z,\\\"touchmove\\\",\\\"touchend\\\");function a(){this.on(\\\"mousedown.drag\\\",n).on(\\\"touchstart.drag\\\",i)}function s(n,i,a,o,s){return function(){var l,u=t.event.target.correspondingElement||t.event.target,c=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=\\\".drag\\\"+(null==p?\\\"\\\":\\\"-\\\"+p),g=t.select(a(u)).on(o+d,function(){var t,e,r=i(c,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:\\\"drag\\\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(c,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:\\\"dragend\\\"})}),v=xt(u),m=i(c,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:\\\"dragstart\\\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\\\"on\\\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var Mt=1e-6,At=Mt*Mt,kt=Math.PI,Tt=2*kt,St=Tt-Mt,Et=kt/2,Ct=kt/180,Lt=180/kt;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function It(t){return t>1?0:t<-1?kt:Math.acos(t)}function Dt(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Ot(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<At)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Ot(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/Ot(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,u,c,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m=\\\"mousedown.zoom\\\",y=\\\"mousemove.zoom\\\",x=\\\"mouseup.zoom\\\",b=\\\"touchstart.zoom\\\",_=j(w,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\");function w(t){t.on(m,z).on(Nt+\\\".zoom\\\",I).on(\\\"dblclick.zoom\\\",D).on(b,P)}function M(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function A(t){f.k=Math.max(d[0],Math.min(d[1],t))}function k(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 T(e,n,i,a){e.__chart__={x:f.x,y:f.y,k:f.k},A(Math.pow(2,a)),k(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){u&&u.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(c.range().map(function(t){return(t-f.y)/f.k}).map(c.invert))}function E(t){v++||t({type:\\\"zoomstart\\\"})}function C(t){S(),t({type:\\\"zoom\\\",scale:f.k,translate:[f.x,f.y]})}function L(t){--v||(t({type:\\\"zoomend\\\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,k(t.mouse(e),a),C(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=M(t.mouse(e)),s=xt(e);ss.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\\\".zoom-\\\"+t.event.changedTouches[0].identifier,l=\\\"touchmove\\\"+o,u=\\\"touchend\\\"+o,c=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=M(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(u,y),c.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];T(r,m,i[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];a=b*b+_*_}}function v(){var o,l,u,c,h=t.touches(r);ss.call(r);for(var f=0,p=h.length;f<p;++f,c=null)if(u=h[f],c=i[u.identifier]){if(l)break;o=u,l=c}if(c){var d=(d=u[0]-o[0])*d+(d=u[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+u[0])/2,(o[1]+u[1])/2],l=[(l[0]+c[0])/2,(l[1]+c[1])/2],A(g*e)}s=null,k(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(c).on(o,null),h.on(m,z).on(b,P),p(),L(n)}g(),E(n),h.on(m,null).on(b,g)}function I(){var i=_.of(this,arguments);a?clearTimeout(a):(ss.call(this),e=M(r=n||t.mouse(this)),E(i)),a=setTimeout(function(){a=null,L(i)},50),B(),A(Math.pow(2,.002*Bt())*f.k),k(r,e),C(i)}function D(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;T(this,e,M(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\\\"onwheel\\\"in i?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\\\"wheel\\\"):\\\"onmousewheel\\\"in i?(Bt=function(){return t.event.wheelDelta},\\\"mousewheel\\\"):(Bt=function(){return-t.event.detail},\\\"MozMousePixelScroll\\\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;cs?t.select(this).transition().each(\\\"start.zoom\\\",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween(\\\"zoom:zoom\\\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,i/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/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},A(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+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?(u=t,l=t.copy(),f={x:0,y:0,k:1},w):u},w.y=function(t){return arguments.length?(h=t,c=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,\\\"on\\\")};var Bt,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ce(\\\"\\\"+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\\\"\\\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*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 Gt?Yt(t.h,t.c,t.l):fe((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(\\\"\\\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\\\"\\\"}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?\\\"0\\\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\\\((.*)\\\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\\\",\\\"),n[1]){case\\\"hsl\\\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\\\"rgb\\\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||\\\"#\\\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function he(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Ut(n,i,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\\\"%\\\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return\\\"#\\\"+ue(this.r)+ue(this.g)+ue(this.b)};var ge=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 ve(t){return\\\"function\\\"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&\\\"function\\\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\\\"beforesend\\\",\\\"progress\\\",\\\"load\\\",\\\"error\\\"),l={},u=new XMLHttpRequest,c=null;function h(){var t,e=u.status;if(!e&&function(t){var e=t.responseType;return e&&\\\"text\\\"!==e?t.response:t.responseText}(u)||e>=200&&e<300||304===e){try{t=i.call(o,u)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,u)}return!this.XDomainRequest||\\\"withCredentials\\\"in u||!/^(http(s)?:)?\\\\/\\\\//.test(e)||(u=new XDomainRequest),\\\"onload\\\"in u?u.onload=u.onerror=h:u.onreadystatechange=function(){u.readyState>3&&h()},u.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,u)}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?(c=t,o):c},o.response=function(t){return i=t,o},[\\\"get\\\",\\\"post\\\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\\\"function\\\"==typeof n&&(i=n,n=null),u.open(t,e,!0),null==r||\\\"accept\\\"in l||(l.accept=r+\\\",*/*\\\"),u.setRequestHeader)for(var a in l)u.setRequestHeader(a,l[a]);return null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=c&&(u.responseType=c),null!=i&&o.on(\\\"error\\\",i).on(\\\"load\\\",function(t){i(null,t)}),s.beforesend.call(o,u),u.send(null==n?null:n),o},o.abort=function(){return u.abort(),o},t.rebind(o,s,\\\"on\\\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(z),t.dsv=function(t,e){var r=new RegExp('[\\\"'+t+\\\"\\\\n]\\\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.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 i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\\\"d\\\",\\\"return {\\\"+t.map(function(t,e){return JSON.stringify(t)+\\\": d[\\\"+e+\\\"]\\\"}).join(\\\",\\\")+\\\"}\\\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,u=0,c=0;function h(){if(u>=l)return o;if(i)return i=!1,a;var e=u;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 u=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++u):10===s&&(i=!0),t.slice(e+1,r).replace(/\\\"\\\"/g,'\\\"')}for(;u<l;){var s,c=1;if(10===(s=t.charCodeAt(u++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(u)&&(++u,++c);else if(s!==n)continue;return t.slice(e,u-c)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==a&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,c++))||s.push(f)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,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\\\")},i.formatRows=function(t){return t.map(s).join(\\\"\\\\n\\\")},i},t.csv=t.dsv(\\\",\\\",\\\"text/csv\\\"),t.tsv=t.dsv(\\\"\\\\t\\\",\\\"text/tab-separated-values\\\");var xe,be,_e,we,Me=this[I(this,\\\"requestAnimationFrame\\\")]||function(t){setTimeout(t,17)};function Ae(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,Me(ke)),i}function ke(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(ke,e)),_e=0):(_e=1,Me(ke))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Ae.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ce=[\\\"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}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(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)))),Ce[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\\\- ])?([$#])?(0)?(\\\\d+)?(,)?(\\\\.-?\\\\d+)?([a-z%])?/i,ze=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,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Pe(t){return t+\\\"\\\"}var Ie=t.time={},De=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(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new De(r-1)),1),r}function a(t,r){return e(t=new De(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||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=i,t.offset=a,t.range=o;var s=t.utc=Be(t);return s.floor=s,s.round=Be(n),s.ceil=Be(i),s.offset=Be(a),s.range=function(t,e,r){try{De=Oe;var n=new Oe;return n._=t,o(n,e,r)}finally{De=Date}},t}function Be(t){return function(e,r){try{De=Oe;var n=new Oe;return n._=e,t(n,r)._}finally{De=Date}}}Ie.year=Fe(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=Fe(function(t){var e=new De(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]=Fe(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?\\\"-\\\":\\\"\\\",i=(n?-t:t)+\\\"\\\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp(\\\"^(?:\\\"+e.map(t.requote).join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function He(t){for(var e=new b,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 We(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 Ye(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 Xe(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 Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[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 ir(t){var e=t.getTimezoneOffset(),r=e>0?\\\"-\\\":\\\"+\\\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\\\"0\\\",2)+Ue(i,\\\"0\\\",2)}function ar(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(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\\\" \\\",s=n[2]||\\\">\\\",l=n[3]||\\\"-\\\",u=n[4]||\\\"\\\",c=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v=\\\"\\\",m=\\\"\\\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(c||\\\"0\\\"===i&&\\\"=\\\"===s)&&(c=i=\\\"0\\\",s=\\\"=\\\"),d){case\\\"n\\\":f=!0,d=\\\"g\\\";break;case\\\"%\\\":g=100,m=\\\"%\\\",d=\\\"f\\\";break;case\\\"p\\\":g=100,m=\\\"%\\\",d=\\\"r\\\";break;case\\\"b\\\":case\\\"o\\\":case\\\"x\\\":case\\\"X\\\":\\\"#\\\"===u&&(v=\\\"0\\\"+d.toLowerCase());case\\\"c\\\":x=!1;case\\\"d\\\":y=!0,p=0;break;case\\\"s\\\":g=-1,d=\\\"r\\\"}\\\"$\\\"===u&&(v=a[0],m=a[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=ze.get(d)||Pe;var b=c&&f;return function(e){var n=m;if(y&&e%1)return\\\"\\\";var a=e<0||0===e&&1/e<0?(e=-e,\\\"-\\\"):\\\"-\\\"===l?\\\"\\\":l;if(g<0){var u=t.formatPrefix(e,p);e=u.scale(e),n=u.symbol+m}else e*=g;var _,w,M=(e=d(e,p)).lastIndexOf(\\\".\\\");if(M<0){var A=x?e.lastIndexOf(\\\"e\\\"):-1;A<0?(_=e,w=\\\"\\\"):(_=e.substring(0,A),w=e.substring(A))}else _=e.substring(0,M),w=r+e.substring(M+1);!c&&f&&(_=o(_,1/0));var k=v.length+_.length+w.length+(b?0:a.length),T=k<h?new Array(k=h-k+1).join(i):\\\"\\\";return b&&(_=o(T+_,T.length?h-w.length:1/0)),a+=v,e=_+w,(\\\"<\\\"===s?a+e+T:\\\">\\\"===s?T+a+e:\\\"^\\\"===s?T.substring(0,k>>=1)+a+e+T.substring(k):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,u=e.shortMonths;function c(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\\\"e\\\"===n?\\\" \\\":\\\"0\\\":i)),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&&De!==Oe,i=new(n?Oe:De);return\\\"j\\\"in r?i.setFullYear(r.y,0,r.j):\\\"W\\\"in r||\\\"U\\\"in r?(\\\"w\\\"in r||(r.w=\\\"W\\\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\\\"W\\\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function h(t,e,r,n){for(var i,a,o,s=0,l=e.length,u=r.length;s<l;){if(n>=u)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}c.utc=function(t){var e=c(t);function r(t){try{var r=new(De=Oe);return r._=t,e(r)}finally{De=Date}}return r.parse=function(t){try{De=Oe;var r=e.parse(t);return r&&r._}finally{De=Date}},r.toString=e.toString,r},c.multi=c.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(u),b=He(u);a.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 u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:c(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 a[+(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:c(n),X:c(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\\\"%\\\":function(){return\\\"%\\\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.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){m.lastIndex=0;var n=m.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:We,w:Ge,W:Ye,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:Ze,Y:Xe,Z:Je,\\\"%\\\":ar};return c}(e)}};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){cr(t,this.t,ur),cr(ur.s,this.s,this),this.s?this.t+=ur.t:this.s=ur.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ur=new lr;function cr(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}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,i=r.length;++n<i;)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,i=r.length;++n<i;)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,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)hr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],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 vr=0,t.geo.stream(e,Cr),vr};var vr,mr,yr,xr,br,_r,wr,Mr,Ar,kr,Tr,Sr,Er=new lr,Cr={sphere:function(){vr+=4*kt},point:O,lineStart:O,lineEnd:O,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;vr+=t<0?4*kt+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=O}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Ct/2+kt/4;var a=(t*=Ct)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),u=Math.sin(e),c=i*u,h=n*l+c*Math.cos(s),f=c*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,i=u}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+kt/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function zr(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ir(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 Dr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Or(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])<Mt&&y(t[1]-e[1])<Mt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,u,c,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,u=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Er<0?(e=-(n=180),r=-(i=90)):u>Mt?i=90:u<-Mt&&(r=-90),h[0]=e,h[1]=n}};function p(t,a){c.push(h=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Ct,o*Ct]);if(l){var u=Ir(l,s),c=Ir([u[1],-u[0],0],u);Rr(c),c=Fr(c);var h=t-a,f=h>0?1:-1,d=c[0]*Lt*f,g=y(h)>180;if(g^(f*a<d&&d<f*t))(v=c[1]*Lt)>i&&(i=v);else if(g^(f*a<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-c[1]*Lt)<r&&(r=v)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-a;u+=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(){m(o,s),Cr.lineEnd(),y(u)>Mt&&(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 M(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),c=[],t.geo.stream(a,f),u=c.length){c.sort(w);for(var o=1,s=[g=c[0]];o<u;++o)M((p=c[o])[0],g)||M(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,u,p,d=-1/0,g=(o=0,s[u=s.length-1]);o<=u;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return c=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,Nr);var r=kr,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<At&&(r=wr,n=Mr,i=Ar,yr<Mt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<At)?[NaN,NaN]:[Math.atan2(n,r)*Lt,Dt(i/Math.sqrt(a))*Lt]};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*=Ct;var r=Math.cos(e*=Ct);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++mr,br+=(e-br)/mr,_r+=(r-_r)/mr}function Ur(){var t,e,r;function n(n,i){n*=Ct;var a=Math.cos(i*=Ct),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=e*l-r*s)*u+(u=r*o-t*l)*u+(u=t*s-e*o)*u),t*o+e*s+r*l);yr+=u,wr+=u*(t+(t=o)),Mr+=u*(e+(e=s)),Ar+=u*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Ct;var o=Math.cos(a*=Ct);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Ct;var a=Math.cos(e*=Ct),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),u=n*l-i*s,c=i*o-r*l,h=r*s-n*o,f=Math.sqrt(u*u+c*c+h*h),p=r*o+n*s+i*l,d=f&&-It(p)/f,g=Math.atan2(f,p);kr+=d*u,Tr+=d*c,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),Mr+=g*(n+(n=s)),Ar+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Ct;var l=Math.cos(s*=Ct);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(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 Wr(){return!0}function Yr(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),u=new Zr(r,null,l,!1);l.o=u,a.push(l),o.push(u),u=new Zr(n,null,l=new Zr(n,t,null,!1),!0),l.o=u,a.push(l),o.push(u)}}}),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,u=o.length;s<u;++s)o[s].e=l=!l;for(var c,h,f=a[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(c=p.p.z).length-1;s>=0;--s)i.point((h=c[s])[0],h[1]);else n(p.x,p.p.x,-1,i);p=p.p}c=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(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,i){return function(a,o){var s,l=r(o),u=a.invert(i[0],i[1]),c={point:h,lineStart:p,lineEnd:d,polygonStart:function(){c.point=b,c.lineStart=_,c.lineEnd=w,s=[],g=[]},polygonEnd:function(){c.point=h,c.lineStart=p,c.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var u=e[s],c=u.length;if(c)for(var h=u[0],f=h[0],p=h[1]/2+kt/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===c&&(v=0);var m=(t=u[v])[0],y=t[1]/2+kt/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,M=w*_,A=M>kt,k=d*x;if(Er.add(Math.atan2(k*w*Math.sin(M),g*b+k*Math.cos(M))),a+=A?_+w*Tt:_,A^f>=r^m>=r){var T=Ir(zr(h),zr(t));Rr(T);var S=Ir(i,T);Rr(S);var E=(A^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=A^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(a<-Mt||a<Mt&&Er<-Mt)^1&o}(u,g);s.length?(x||(o.polygonStart(),x=!0),Yr(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=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){c.point=f,l.lineStart()}function d(){c.point=h,l.lineEnd()}var g,v,m=Qr(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return c}}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]-Et-Mt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-Mt:Et-e[1])}var tn=Jr(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?kt:-kt,l=y(a-r);y(l-kt)<Mt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=kt&&(y(r-i)<Mt&&(r-=i*Mt),y(a-s)<Mt&&(a-=s*Mt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>Mt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Et,n.point(-kt,i),n.point(0,i),n.point(kt,i),n.point(kt,0),n.point(kt,-i),n.point(0,-i),n.point(-kt,-i),n.point(-kt,0),n.point(-kt,i);else if(y(t[0]-e[0])>Mt){var a=t[0]<e[0]?kt:-kt;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-kt,-kt/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=0,h=1,f=s.x-l,p=s.y-u;if(a=t-l,f||!(a>0)){if(a/=f,f<0){if(a<c)return;a<h&&(h=a)}else if(f>0){if(a>h)return;a>c&&(c=a)}if(a=r-l,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>c&&(c=a)}else if(f>0){if(a<c)return;a<h&&(h=a)}if(a=e-u,p||!(a>0)){if(a/=p,p<0){if(a<c)return;a<h&&(h=a)}else if(p>0){if(a>h)return;a>c&&(c=a)}if(a=n-u,p||!(a<0)){if(a/=p,p<0){if(a>h)return;a>c&&(c=a)}else if(p>0){if(a<c)return;a<h&&(h=a)}return c>0&&(i.a={x:l+c*f,y:u+c*p}),h<1&&(i.b={x:l+h*f,y:u+h*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var u,c,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,i),M={point:T,lineStart:function(){M.point=S,c&&c.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){u&&(S(f,p),d&&m&&_.rejoin(),u.push(_.buffer()));M.point=T,m&&l.lineEnd()},polygonStart:function(){l=_,u=[],c=[],x=!0},polygonEnd:function(){l=b,u=t.merge(u);var r=function(t){for(var e=0,r=c.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=c[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&Pt(u,a,t)>0&&++e:a[1]<=n&&Pt(u,a,t)<0&&--e,u=a;return 0!==e}([e,i]),n=x&&r,a=u.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),A(null,null,1,l),l.lineEnd()),a&&Yr(u,o,r,A,l),l.polygonEnd()),u=c=h=null}};function A(t,o,l,u){var c=0,h=0;if(null==t||(c=a(t,l))!==(h=a(o,l))||s(t,o)<0^l>0)do{u.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+l+4)%4)!==h);else u.point(o[0],o[1])}function k(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){k(t,e)&&l.point(t,e)}function S(t,e){var r=k(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(c&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(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,v=e,m=r}return M};function a(t,i){return y(t[0]-e)<Mt?i>0?0:3:y(t[0]-n)<Mt?i>0?2:1:y(t[1]-r)<Mt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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=kt/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*kt/180,r=t[1]*kt/180):[e/kt*180,r/kt*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Dt((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=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,i,a=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 u(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return u.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},u.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},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()}}},u.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),u):a.precision()},u.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),u.translate(a.translate())):a.scale()},u.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),c=+t[0],h=+t[1];return r=a.translate(t).clipExtent([[c-.455*e,h-.238*e],[c+.455*e,h+.238*e]]).stream(l).point,n=o.translate([c-.307*e,h+.201*e]).clipExtent([[c-.425*e+Mt,h+.12*e+Mt],[c-.214*e-Mt,h+.234*e-Mt]]).stream(l).point,i=s.translate([c-.205*e,h+.212*e]).clipExtent([[c-.214*e+Mt,h+.166*e+Mt],[c-.115*e-Mt,h+.234*e-Mt]]).stream(l).point,u},u.scale(1070)};var sn,ln,un,cn,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 i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<un&&(un=t);t>hn&&(hn=t);e<cn&&(cn=e);e>fn&&(fn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};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 mn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,Mr+=o*(e+n)/2,Ar+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,Mr+=o*(n+e)/2,Ar+=o,kr+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function Mn(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(e){return(n?function(e){var r,i,o,s,l,u,c,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(h,f,c,p,d,g,h=s[0],f=s[1],c=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=M}function w(t,e){x(r=t,e),i=h,o=f,s=p,l=d,u=g,v.point=x}function M(){a(h,f,c,p,d,g,i,o,r,s,l,u,n,e),v.lineEnd=b,b()}return v}:function(e){return kn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,u,c,h,f,p,d,g,v,m){var x=c-n,b=h-i,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,M=l+d,A=u+g,k=Math.sqrt(w*w+M*M+A*A),T=Math.asin(A/=k),S=y(y(A)-1)<Mt||y(o-f)<Mt?(o+f)/2:Math.atan2(M,w),E=t(S,T),C=E[0],L=E[1],z=C-n,P=L-i,I=b*z-x*P;(I*I/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+u*g<r)&&(a(n,i,o,s,l,u,C,L,S,w/=k,M/=k,A,v,m),m.point(C,L),a(C,L,S,w,M,A,c,h,f,p,d,g,v,m))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function An(t){this.stream=t}function kn(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 Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=Mn(function(t,e){return[(t=r(t,e))[0]*u+a,o-t[1]*u]}),u=150,c=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*u+a,o-t[1]*u]}function M(t){return(t=i.invert((t[0]-a)/u,(o-t[1])/u))&&[t[0]*Lt,t[1]*Lt]}function A(){i=Gr(n=zn(d,g,v),r);var t=r(f,p);return a=c-t[0]*u,o=h+t[1]*u,k()}function k(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=En(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>Mt;return Jr(i,function(t){var e,s,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var p,d=[h,f],g=i(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?kt:-kt),f):0;if(!e&&(u=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=Mt,d[1]+=Mt,g=i(d[0],d[1]))),g!==l)c=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=a(d,e,!0))||(c=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return c|(u&&l)<<1}}},On(t,6*Ct),r?[0,-t]:[-kt,t-kt]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Ir(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var u=e*o/l,c=-e*s/l,h=Ir(i,a),f=Or(i,u);Dr(f,Or(a,c));var p=h,d=Pr(f,p),g=Pr(p,p),v=d*d-g*(Pr(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Or(p,(-d-m)/g);if(Dr(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],M=t[1],A=r[1];w<_&&(b=_,_=w,w=b);var k=w-_,T=y(k-kt)<Mt;if(!T&&A<M&&(b=M,M=A,A=b),T||k<Mt?T?M+A>0^x[1]<(y(x[0]-_)<Mt?M:A):M<=x[1]&&x[1]<=A:k>kt^(_<=x[0]&&x[0]<=w)){var S=Or(p,(-d+m)/g);return Dr(S,f),[x,Fr(S)]}}}function o(e,n){var i=r?t:kt-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Ct),k()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,k()):_},w.scale=function(t){return arguments.length?(u=+t,A()):u},w.translate=function(t){return arguments.length?(c=+t[0],h=+t[1],A()):[c,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Ct,p=t[1]%360*Ct,A()):[f*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Ct,g=t[1]%360*Ct,v=t.length>2?t[2]%360*Ct:0,A()):[d*Lt,g*Lt,v*Lt]},t.rebind(w,l,\\\"precision\\\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&M,A()}}function En(t){return kn(t,function(e,r){t.point(e*Ct,r*Ct)})}function Cn(t,e){return[t,e]}function Ln(t,e){return[t>kt?t-Tt:t<-kt?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(In(t),Dn(e,r)):In(t):e||r?Dn(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>kt?e-Tt:e<-kt?e+Tt:e,r]}}function In(t){var e=Pn(t);return e.invert=Pn(-t),e}function Dn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*r+s*n;return[Math.atan2(l*i-c*a,s*r-u*n),Dt(c*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*i-l*a;return[Math.atan2(l*i+u*a,s*r+c*n),Dt(c*r-s*n)]},o}function On(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Fr([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function Rn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=It(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Mt)%(2*Math.PI)}function Fn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function Bn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Nn(t){return t.source}function jn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\\\"function\\\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=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=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,n(yn)),Sr?[kr/Sr,Tr/Sr]:Ar?[wr/Ar,Mr/Ar]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(un=cn=1/0),t.geo.stream(e,n(gn)),[[un,cn],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=Mn(function(t,e){return r([t*Lt,e*Lt])}),function(t){return En(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new function(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},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 i(t,n){e.push(\\\"M\\\",t,\\\",\\\",n),r.point=a}function a(t,r){e.push(\\\"L\\\",t,\\\",\\\",r)}function o(){r.point=n}function s(){e.push(\\\"Z\\\")}return r}:new function(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},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,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}(t),\\\"function\\\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\\\"function\\\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new An(e);for(var n in t)r[n]=t[n];return r}}},An.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=Tn,t.geo.projectionMutator=Sn,(t.geo.equirectangular=function(){return Tn(Cn)}).raw=Cn.invert=Cn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e}return t=zn(t[0]%360*Ct,t[1]*Ct,t.length>2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=Cn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\\\"function\\\"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\\\"Polygon\\\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=On((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=On(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),u=Math.cos(i),c=Math.sin(a),h=Math.cos(a);return Math.atan2(Math.sqrt((r=h*o)*r+(r=u*c-l*h*s)*r),l*c+u*h*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,u,c,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:\\\"MultiLineString\\\",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>Mt}).map(u)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%v)>Mt}).map(c))}return x.lines=function(){return b().map(function(t){return{type:\\\"LineString\\\",coordinates:t}})},x.outline=function(){return{type:\\\"Polygon\\\",coordinates:[h(i).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?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(m)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,u=Fn(o,a,90),c=Bn(r,e,m),h=Fn(l,s,90),f=Bn(i,n,m),x):m},x.majorExtent([[-180,-90+Mt],[180,90-Mt]]).minorExtent([[-180,-80-Mt],[180,80+Mt]])},t.geo.greatArc=function(){var e,r,n=Nn,i=jn;function a(){return{type:\\\"LineString\\\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\\\"function\\\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\\\"function\\\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),u=Math.sin(a),c=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*c+e*f,i=r*h+e*p,a=r*s+e*u;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,v;var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v},t.geo.length=function(e){return mn=0,t.geo.stream(e,Vn),mn};var Vn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);mn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Un(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(kt/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Et+Mt&&(e=-Et+Mt):e>Et-Mt&&(e=Et-Mt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Et]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<Mt)return Cn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Tn(Hn)}).raw=Hn,(t.geo.conicConformal=function(){return an(Gn)}).raw=Gn,(t.geo.conicEquidistant=function(){return an(Wn)}).raw=Wn;var Yn=Un(function(t){return 1/t},Math.atan);function Xn(t,e){return[t,Math.log(Math.tan(kt/4+e/2))]}function Zn(t){var e,r=Tn(t),n=r.scale,i=r.translate,a=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=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=kt*n(),l=i();a([[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 Tn(Yn)}).raw=Yn,Xn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Zn(Xn)}).raw=Xn;var Jn=Un(function(){return 1},Math.asin);(t.geo.orthographic=function(){return Tn(Jn)}).raw=Jn;var Kn=Un(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function Qn(t,e){return[Math.log(Math.tan(kt/4+e/2)),-t]}function $n(t){return t[0]}function ti(t){return t[1]}function ei(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Zn(Qn),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=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ve(e),a=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ri),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var u=ei(s),c=ei(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],p=[];for(n=u.length-1;n>=0;--n)p.push(t[s[u[n]][2]]);for(n=+h;n<c.length-f;++n)p.push(t[s[c[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 U(t,ni),t};var ni=t.geom.polygon.prototype=[];function ii(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function ai(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],u=r[1],c=e[1]-l,h=n[1]-u,f=(s*(l-u)-h*(i-a))/(h*o-s*c);return[i+f*o,l+f*c]}function oi(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ni.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},ni.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},ni.clip=function(t){for(var e,r,n,i,a,o,s=oi(t),l=-1,u=this.length-oi(this),c=this[u-1];++l<u;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)ii(o=e[r],c,i)?(ii(a,c,i)||t.push(ai(a,o,c,i)),t.push(o)):ii(a,c,i)&&t.push(ai(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var si,li,ui,ci,hi,fi=[],pi=[];function di(t){var e=fi.pop()||new function(){Li(this),this.edge=this.site=this.circle=null};return e.site=t,e}function gi(t){Mi(t),ui.remove(t),fi.push(t),Li(t)}function vi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];gi(t);for(var l=a;l.circle&&y(r-l.circle.x)<Mt&&y(n-l.circle.cy)<Mt;)a=l.P,s.unshift(l),gi(l),l=a;s.unshift(l),Mi(l);for(var u=o;u.circle&&y(r-u.circle.x)<Mt&&y(n-u.circle.cy)<Mt;)o=u.N,s.push(u),gi(u),u=o;s.push(u),Mi(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],Si(u.edge,l.site,u.site,i);l=s[0],(u=s[h-1]).edge=Ti(l.site,u.site,null,i),wi(l),wi(u)}function mi(t){for(var e,r,n,i,a=t.x,o=t.y,s=ui._;s;)if((n=yi(s,o)-a)>Mt)s=s.L;else{if(!((i=a-xi(s,o))>Mt)){n>-Mt?(e=s.P,r=s):i>-Mt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ui.insert(e,l),e||r){if(e===r)return Mi(e),r=di(e.site),ui.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){Mi(e),Mi(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,p=t.y-h,d=r.site,g=d.x-c,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+c,y:(f*x-g*y)/m+h};Si(r.edge,u,d,b),l.edge=Ti(u,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,h=1/a-1/u,f=c/u;return h?(-f+Math.sqrt(f*f-2*h*(c*c/(-2*u)-l+u/2+i-a/2)))/h+n:(n+s)/2}function xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,h=2*(l*(v=a.y-s)-u*c);if(!(h>=-At)){var f=l*l+u*u,p=c*c+v*v,d=(v*f-u*p)/h,g=(l*p-c*f)/h,v=g+s,m=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};m.arc=t,m.site=i,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=hi._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}hi.insert(y,m),y||(ci=m)}}}}function Mi(t){var e=t.circle;e&&(e.P||(ci=e.N),hi.remove(e),pi.push(e),Li(e),t.circle=null)}function Ai(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],u=e[1][1],c=t.l,h=t.r,f=c.x,p=c.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(a){if(a.y>=u)return}else a={x:v,y:l};r={x:v,y:u}}else{if(a){if(a.y<l)return}else a={x:v,y:u};r={x:v,y:l}}}else if(i=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function ki(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ti(t,e,r,n){var i=new ki(t,e);return si.push(i),r&&Si(i,t,e,r),n&&Si(i,e,t,n),li[t.i].edges.push(new Ei(i,t,e)),li[e.i].edges.push(new Ei(i,e,t)),i}function Si(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 Ei(t,e,r){var n=t.a,i=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(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function Ci(){this._=null}function Li(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function zi(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Pi(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Ii(t){for(;t.L;)t=t.L;return t}function Di(t,e){var r,n,i,a=t.sort(Oi).pop();for(si=[],li=new Array(t.length),ui=new Ci,hi=new Ci;;)if(i=ci,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(li[a.i]=new bi(a),mi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;vi(i.arc)}e&&(function(t){for(var e,r=si,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ai(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<Mt&&y(e.a.y-e.b.y)<Mt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=li,v=g.length;v--;)if((a=g[v])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(c=s[o].end()).x,i=c.y,e=(u=s[++o%l].start()).x,r=u.y,(y(n-e)>Mt||y(i-r)>Mt)&&(s.splice(o,0,new Ei((m=a.site,x=c,b=y(n-h)<Mt&&d-i>Mt?{x:h,y:y(e-h)<Mt?r:d}:y(i-d)<Mt&&f-n>Mt?{x:y(r-d)<Mt?e:f,y:d}:y(n-f)<Mt&&i-p>Mt?{x:f,y:y(e-f)<Mt?r:p}:y(i-p)<Mt&&n-h>Mt?{x:y(r-p)<Mt?e:h,y:p}:null,_=void 0,_=new ki(m,null),_.a=x,_.b=b,si.push(_),_),a.site,null)),++l);var m,x,b,_}(e));var o={cells:li,edges:si};return ui=hi=si=li=null,o}function Oi(t,e){return e.y-t.y||e.x-t.x}bi.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(_i),e.length},Ei.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}},Ci.prototype={insert:function(t,e){var r,n,i;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=Ii(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?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(zi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Pi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Pi(this,r),r=(t=r).U),r.C=!1,n.C=!0,zi(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,i=t.U,a=t.L,o=t.R;if(r=a?o?Ii(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,zi(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Pi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,zi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Pi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,zi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Pi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=$n,r=ti,n=e,i=r,a=Ri;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Di(s(t),a).cells.forEach(function(a,s){var l=a.edges,u=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/Mt)*Mt,y:Math.round(i(t,e)/Mt)*Mt,i:e}})}return o.links=function(t){return Di(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 Di(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(_i),c=-1,h=u.length,f=u[h-1].edge,p=f.l===l?f.r:f.l;++c<h;)f,i=p,p=(f=u[c].edge).l===l?f.r:f.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(i=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Ri:t,o):a===Ri?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Ri?null:a&&a[1]},o};var Ri=[[-1e6,-1e6],[1e6,1e6]];function Fi(t){return t.x}function Bi(t){return t.y}function Ni(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\\\"#\\\"+ue(Math.round(n+o*t))+ue(Math.round(i+s*t))+ue(Math.round(a+l*t))}}function ji(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Gi(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function Vi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ui(t,e){var r,n,i,a=qi.lastIndex=Hi.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=qi.exec(t))&&(n=Hi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Vi(r,n)})),a=Hi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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,i){var a,o=$n,s=ti;if(a=arguments.length)return o=Fi,s=Bi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,u,c,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=i;else if(g=v=-(p=d=1/0),u=[],c=[],f=t.length,a)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>v&&(v=l.y),u.push(l.x),c.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),u.push(b),c.push(_)}var w=g-p,M=v-d;function A(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(y(l-r)+y(u-n)<.01)k(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,k(t,c,l,u,i,a,o,s),k(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else k(t,e,r,n,i,a,o,s)}function k(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,h=n>=u,f=h<<1|c;t.leaf=!1,t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}}),c?i=l:o=l,h?a=u:s=u,A(t,e,r,n,i,a,o,s)}w>M?v=d+w:g=p+M;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),u=r.nodes;u[0]&&t(e,u[0],n,i,s,l),u[1]&&t(e,u[1],s,i,a,l),u[2]&&t(e,u[2],n,l,s,o),u[3]&&t(e,u[3],s,l,a,o)}}(t,T,p,d,g,v)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,p){if(!(c>a||h>o||f<n||p<i)){if(d=u.point){var d,g=e-u.x,v=r-u.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=u.nodes,b=.5*(c+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,M=w+4;w<M;++w)if(u=x[3&w])switch(3&w){case 0:t(u,c,h,b,_);break;case 1:t(u,b,h,f,_);break;case 2:t(u,c,_,b,p);break;case 3:t(u,b,_,f,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)A(T,t[h],u[h],c[h],p,d,g,v);--h}else t.forEach(T.add);return u=c=t=l=null,T}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=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Ni,t.interpolateObject=ji,t.interpolateNumber=Vi,t.interpolateString=Ui;var qi=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,Hi=new RegExp(qi.source,\\\"g\\\");function Gi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Gi(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=Gi,t.interpolators=[function(t,e){var r=typeof e;return(\\\"string\\\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\\\(|hsl\\\\()/i.test(e)?Ni:Ui:e instanceof Vt?Ni:Array.isArray(e)?Wi:\\\"object\\\"===r&&isNaN(e)?ji:Vi)(t,e)}],t.interpolateArray=Wi;var Yi=function(){return z},Xi=t.map({linear:Yi,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Qi},cubic:function(){return $i},sin:function(){return ea},exp:function(){return ra},circle:function(){return na},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return ia}}),Zi=t.map({in:z,out:Ji,\\\"in-out\\\":Ki,\\\"out-in\\\":function(t){return Ki(Ji(t))}});function Ji(t){return function(e){return 1-t(1-e)}}function Ki(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Qi(t){return t*t}function $i(t){return t*t*t}function ta(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 ea(t){return 1-Math.cos(t*Et)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(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 aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function sa(t,e){return t[0]*e[0]+t[1]*e[1]}function la(t){var e=Math.sqrt(sa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\\\"-\\\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\\\"in\\\";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\\\"\\\"}},t.interpolateRound=aa,t.transform=function(e){var r=i.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 oa(e?e.matrix:ua)})(e)},oa.prototype.toString=function(){return\\\"translate(\\\"+this.translate+\\\")rotate(\\\"+this.rotate+\\\")skewX(\\\"+this.skew+\\\")scale(\\\"+this.scale+\\\")\\\"};var ua={a:1,b:0,c:0,d:1,e:0,f:0};function ca(t){return t.length?t.pop()+\\\",\\\":\\\"\\\"}function ha(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\\\"translate(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\\\"translate(\\\"+e+\\\")\\\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ca(r)+\\\"rotate(\\\",null,\\\")\\\")-2,x:Vi(t,e)})):e&&r.push(ca(r)+\\\"rotate(\\\"+e+\\\")\\\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ca(r)+\\\"skewX(\\\",null,\\\")\\\")-2,x:Vi(t,e)}):e&&r.push(ca(r)+\\\"skewX(\\\"+e+\\\")\\\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ca(r)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ca(r)+\\\"scale(\\\"+e+\\\")\\\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\\\"\\\")}}function fa(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function pa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function da(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ga(t),n=ga(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function ga(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function va(t){t.fixed|=2}function ma(t){t.fixed&=-7}function ya(t){t.fixed|=4,t.px=t.x,t.py=t.y}function xa(t){t.fixed&=-5}t.interpolateTransform=ha,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(da(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},u=0;function c(){var l,c,f,p,d,g={},v=[],m=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(c=0,d=-1;++d<i;)c+=n[p][d];v.push(c),y.push(t.range(i)),l+=c}for(a&&m.sort(function(t,e){return a(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-u*i)/l,c=0,p=-1;++p<i;){for(f=c,d=-1;++d<i;){var x=m[p],b=y[x][d],_=n[x][b],w=c,M=c+=_*l;g[x+\\\"-\\\"+b]={index:x,subindex:b,startAngle:w,endAngle:M,value:_}}r[x]={index:x,startAngle:f,endAngle:c,value:v[x]},c+=u}for(p=-1;++p<i;)for(d=p-1;++d<i;){var A=g[p+\\\"-\\\"+d],k=g[d+\\\"-\\\"+p];(A.value||k.value)&&e.push(A.value<k.value?{source:k,target:A}:{source:A,target:k})}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?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(u=t,e=r=null,l):u},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},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||c(),e},l.groups=function(){return r||c(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch(\\\"start\\\",\\\"tick\\\",\\\"end\\\"),u=[1,1],c=.9,h=ba,f=_a,p=-30,d=wa,g=.1,v=.64,m=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/v<l){if(l<d){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<d){u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}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,v,b,_,w,M=m.length,A=y.length;for(s=0;s<A;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*a[s]*((v=Math.sqrt(v))-i[s])/v,w*=v,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)&&(_=u[0]/2,w=u[1]/2,s=-1,b))for(;++s<M;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,u=-1;++u<l;)null!=(o=s[u])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var c=r*n[e.point.index];e.charge+=e.pointCharge=c,i+=c*e.point.x,a+=c*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<M;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<M;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*c,h.y-=(h.py-(h.py=h.y))*c);l.tick({type:\\\"tick\\\",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(u=t,s):u},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?(c=+t,s):c},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?(v=t*t,s):Math.sqrt(v)},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=Ae(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,c=u[0],d=u[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)\\\"number\\\"==typeof(r=y[t]).source&&(r.source=m[r.source]),\\\"number\\\"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g(\\\"x\\\",c)),isNaN(r.y)&&(r.y=g(\\\"y\\\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\\\"function\\\"==typeof h)for(t=0;t<l;++t)i[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=h;if(a=[],\\\"function\\\"==typeof f)for(t=0;t<l;++t)a[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=f;if(o=[],\\\"function\\\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),u=0;u<n;++u)e[u]=[];for(u=0;u<l;++u){var a=y[u];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],u=-1,c=s.length;++u<c;)if(!isNaN(o=s[u][r]))return o;return Math.random()*i}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(z).on(\\\"dragstart.force\\\",va).on(\\\"drag.force\\\",b).on(\\\"dragend.force\\\",ma)),!arguments.length)return r;this.on(\\\"mouseover.force\\\",ya).on(\\\"mouseout.force\\\",xa).call(r)},t.rebind(s,l,\\\"on\\\")};var ba=20,_a=1,wa=1/0;function Ma(e,r){return t.rebind(e,r,\\\"sort\\\",\\\"children\\\",\\\"value\\\"),e.nodes=e,e.links=Ca,e}function Aa(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function ka(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function Ta(t){return t.children}function Sa(t){return t.value}function Ea(t,e){return e.value-t.value}function Ca(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=Ea,e=Ta,r=Sa;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=e.call(n,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return ka(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.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&&(Aa(t,function(t){t.children&&(t.value=0)}),ka(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 i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++u<o;)t(s=a[u],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Ma(n,e)},t.layout.pie=function(){var e=Number,r=La,n=0,i=Tt,a=0;function o(s){var l,u=s.length,c=s.map(function(t,r){return+e.call(o,t,r)}),h=+(\\\"function\\\"==typeof n?n.apply(this,arguments):n),f=(\\\"function\\\"==typeof i?i.apply(this,arguments):i)-h,p=Math.min(Math.abs(f)/u,+(\\\"function\\\"==typeof a?a.apply(this,arguments):a)),d=p*(f<0?-1:1),g=t.sum(c),v=g?(f-u*d)/g:0,m=t.range(u),y=[];return null!=r&&m.sort(r===La?function(t,e){return c[e]-c[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=c[t],startAngle:h,endAngle:h+=l*v+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?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var La={};function za(t){return t.x}function Pa(t){return t.y}function Ia(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=Ra,n=Fa,i=Ia,a=za,o=Pa;function s(l,u){if(!(p=l.length))return l;var c=l.map(function(t,r){return e.call(s,t,r)}),h=c.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,u);c=t.permute(c,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,u),y=c[0].length;for(g=0;g<y;++g)for(i.call(s,c[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)i.call(s,c[d][g],v+=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:Da.get(t)||Ra,s):r},s.offset=function(t){return arguments.length?(n=\\\"function\\\"==typeof t?t:Oa.get(t)||Fa,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Da=t.map({\\\"inside-out\\\":function(e){var r,n,i=e.length,a=e.map(Ba),o=e.map(Na),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,u=0,c=[],h=[];for(r=0;r<i;++r)n=s[r],l<u?(l+=o[n],c.push(n)):(u+=o[n],h.push(n));return h.reverse().concat(c)},reverse:function(e){return t.range(e.length).reverse()},default:Ra}),Oa=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,u,c=t.length,h=t[0],f=h.length,p=[];for(p[0]=l=u=0,r=1;r<f;++r){for(e=0,i=0;e<c;++e)i+=t[e][r][1];for(e=0,a=0,s=h[r][0]-h[r-1][0];e<c;++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;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)p[r]-=u;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Fa});function Ra(e){return t.range(e.length)}function Fa(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ba(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,h=1/0,f=-1/0;if(e.forEach(Za),(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(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a<l;a++){Ka(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ya(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ya(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Wa(r,n=o):Wa(r=s,n),a--):(Ga(r,i),n=i,x(i))}var v=(u+c)/2,m=(h+f)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=v,i.y-=m,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(Ja)}function x(t){u=Math.min(t.x-t.r,u),c=Math.max(t.x+t.r,c),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function Za(t){t._pack_next=t._pack_prev=t}function Ja(t){delete t._pack_next,delete t._pack_prev}function Ka(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+u*a,r.y=t.y+l*a-u*i}else r.x=t.x+n,r.y=t.y}function Qa(t,e){return t.parent==e.parent?1:2}function $a(t){var e=t.children;return e.length?e[0]:t.t}function to(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function eo(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 ro(t,e,r){return t.a.parent===e.parent?t.a:r}function no(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function io(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function ao(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function oo(t){return t.rangeExtent?t.rangeExtent():ao(t.range())}function so(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function lo(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function uo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:co}t.layout.histogram=function(){var e=!0,r=Number,n=qa,i=Va;function a(a,o){for(var s,l,u=[],c=a.map(r,this),h=n.call(this,c,o),f=i.call(this,h,c,o),p=(o=-1,c.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=u[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=c[o])>=h[0]&&l<=h[1]&&((s=u[t.bisect(f,l,1,d)-1]).y+=g,s.push(a[o]));return u}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=ve(t),a):n},a.bins=function(t){return arguments.length?(i=\\\"number\\\"==typeof t?function(e){return Ua(e,t)}:ve(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],u=i[1],c=null==e?Math.sqrt:\\\"function\\\"==typeof e?e:function(){return e};if(s.x=s.y=0,ka(s,function(t){t.r=+c(t.value)}),ka(s,Xa),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;ka(s,function(t){t.r+=h}),ka(s,Xa),ka(s,function(t){t.r-=h})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\\\"function\\\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Ma(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=null;function a(t,a){var u=e.call(this,t,a),c=u[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(c);if(ka(h,o),h.parent.m=-h.z,Aa(h,s),i)Aa(c,l);else{var f=c,p=c,d=c;Aa(c,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,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Aa(c,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return u}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],u=a.m,c=o.m,h=s.m,f=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+h-a.z-u+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),u+=i,c+=i),h+=s.m,u+=a.m,f+=l.m,c+=o.m;s&&!to(o)&&(o.t=s,o.m+=h-c),a&&!$a(l)&&(l.t=a,l.m+=u-f,n=t)}return n}(t,i,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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Ma(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),u=l[0],c=0;ka(u,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?c+=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}(u),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(u),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return ka(u,i?function(t){t.x=(t.x-u.x)*n[0],t.y=(u.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(u.y?t.y/u.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Ma(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l=\\\"squarify\\\",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).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,i,a=o(t),s=[],u=e.slice(),f=1/0,g=\\\"slice\\\"===l?a.dx:\\\"dice\\\"===l?a.dy:\\\"slice-dice\\\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(c(u,a.dx*a.dy/t.value),s.area=0;(i=u.length)>0;)s.push(r=u[i-1]),s.area+=r.area,\\\"squarify\\\"!==l||(n=p(s,g))<=f?(u.pop(),f=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,a,!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),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,u=r.y,c=e?n(t.area/e):0;if(e==r.dx){for((i||c>r.dy)&&(c=r.dy);++o<s;)(a=t[o]).x=l,a.y=u,a.dy=c,l+=a.dx=Math.min(r.x+r.dx-l,c?n(a.area/c):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=c,r.dy-=c}else{for((i||c>r.dx)&&(c=r.dx);++o<s;)(a=t[o]).x=l,a.y=u,a.dx=c,u+=a.dy=Math.min(r.y+r.dy-u,c?n(a.area/c):0);a.z=!1,a.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),c([a],a.dx*a.dy/a.value),(e?f:h)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return io(e,t)}var r;return o=null==(a=t)?no:\\\"function\\\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?no(e):io(e,\\\"number\\\"==typeof r?[r,r,r,r]:r)}:\\\"number\\\"===r?(t=[t,t,t,t],e):e,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?(u=t,g):u},g.mode=function(t){return arguments.length?(l=t+\\\"\\\",g):l},Ma(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,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},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 co={floor:z,ceil:z};function ho(e,r,n,i){var a=[],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;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function fo(e,r){return t.rebind(e,r,\\\"range\\\",\\\"rangeRound\\\",\\\"interpolate\\\",\\\"clamp\\\")}function po(t,e){return lo(t,uo(go(t,e)[2])),lo(t,uo(go(t,e)[2])),t}function go(t,e){null==e&&(e=10);var r=ao(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function vo(e,r){return t.range.apply(t,go(e,r))}function mo(e,r,n){var i=go(e,r);if(n){var a=Le.exec(n);if(a.shift(),\\\"s\\\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\\\".\\\"+xo(o.scale(i[2]))),a[8]=\\\"f\\\",n=t.format(a.join(\\\"\\\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\\\".\\\"+function(t,e){var r=xo(e[2]);return t in yo?Math.abs(r-xo(Math.max(y(e[0]),y(e[1]))))+ +(\\\"e\\\"!==t):r-2*(\\\"%\\\"===t)}(a[8],i)),n=a.join(\\\"\\\")}else n=\\\",.\\\"+xo(i[2])+\\\"f\\\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?ho:so,s=i?pa:fa;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}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(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return vo(e,t)};l.tickFormat=function(t,r){return mo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],u=Math.floor(o(r)),c=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(c-u)){if(i){for(;u<c;u++)for(var f=1;f<h;f++)e.push(s(u)*f);e.push(s(u))}else for(e.push(s(u));u++<c;)for(var f=h-1;f>0;f--)e.push(s(u)*f);for(u=0;e[u]<r;u++);for(c=e.length;e[c-1]>l;c--);e=e.slice(u,c)}return e};l.tickFormat=function(e,r){if(!arguments.length)return bo;arguments.length<2?r=bo:\\\"function\\\"!=typeof r&&(r=t.format(r));var i=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<=i?r(t):\\\"\\\"}};l.copy=function(){return e(r.copy(),n,i,a)};return fo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var bo=t.format(\\\".0e\\\"),_o={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function wo(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 i=wo(r),a=wo(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return vo(n,t)};o.tickFormat=function(t,e){return mo(n,t,e)};o.nice=function(t){return o.domain(po(n,t))};o.exponent=function(t){return arguments.length?(i=wo(r=t),a=wo(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return fo(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 i,a,o;function s(t){return a[((i.get(t)||(\\\"range\\\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\\\"range\\\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=(i+u)/2,0):(u-i)/(r.length-1+e);return a=l(i+c*e/2,c),o=0,n={t:\\\"rangePoints\\\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=u=Math.round((i+u)/2),0):(u-i)/(r.length-1+e)|0;return a=l(i+Math.round(c*e/2+(u-i-(r.length-1+e)*c)/2),c),o=0,n={t:\\\"rangeRoundPoints\\\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=(h-c)/(r.length-e+2*i);return a=l(c+f*i,f),u&&a.reverse(),o=f*(1-e),n={t:\\\"rangeBands\\\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=Math.floor((h-c)/(r.length-e+2*i));return a=l(c+Math.round((h-c-(r.length-e)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-e)),n={t:\\\"rangeRoundBands\\\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return ao(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\\\"range\\\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Mo)},t.scale.category20=function(){return t.scale.ordinal().range(Ao)},t.scale.category20b=function(){return t.scale.ordinal().range(ko)},t.scale.category20c=function(){return t.scale.ordinal().range(To)};var Mo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Ao=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),ko=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),To=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function So(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}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/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return vo(e,t)};r.tickFormat=function(t,r){return mo(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Co,e=Lo,r=So,n=Eo,i=zo,a=Po,o=Io;function s(){var s=Math.max(0,+t.apply(this,arguments)),u=Math.max(0,+e.apply(this,arguments)),c=i.apply(this,arguments)-Et,h=a.apply(this,arguments)-Et,f=Math.abs(h-c),p=c>h?0:1;if(u<s&&(d=u,u=s,s=d),f>=St)return l(u,p)+(s?l(s,1-p):\\\"\\\")+\\\"Z\\\";var d,g,v,m,y,x,b,_,w,M,A,k,T=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Eo?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Dt(v/u*Math.sin(m))),s&&(T=Dt(v/s*Math.sin(m)))),u){y=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(h-S),_=u*Math.sin(h-S);var C=Math.abs(h-c-2*S)<=kt?0:1;if(S&&Do(y,x,b,_)===p^C){var L=(c+h)/2;y=u*Math.cos(L),x=u*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-T),M=s*Math.sin(h-T),A=s*Math.cos(c+T),k=s*Math.sin(c+T);var z=Math.abs(c-h+2*T)<=kt?0:1;if(T&&Do(w,M,A,k)===1-p^z){var P=(c+h)/2;w=s*Math.cos(P),M=s*Math.sin(P),A=k=null}}else w=M=0;if(f>Mt&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){g=s<u^p?0:1;var I=d,D=d;if(f<kt){var O=null==A?[w,M]:null==b?[y,x]:ai([y,x],[A,k],[b,_],[w,M]),R=y-O[0],F=x-O[1],B=b-O[0],N=_-O[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(O[0]*O[0]+O[1]*O[1]);D=Math.min(d,(s-V)/(j-1)),I=Math.min(d,(u-V)/(j+1))}if(null!=b){var U=Oo(null==A?[w,M]:[A,k],[y,x],u,I,p),q=Oo([b,_],[w,M],u,I,p);d===I?E.push(\\\"M\\\",U[0],\\\"A\\\",I,\\\",\\\",I,\\\" 0 0,\\\",g,\\\" \\\",U[1],\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",1-p^Do(U[1][0],U[1][1],q[1][0],q[1][1]),\\\",\\\",p,\\\" \\\",q[1],\\\"A\\\",I,\\\",\\\",I,\\\" 0 0,\\\",g,\\\" \\\",q[0]):E.push(\\\"M\\\",U[0],\\\"A\\\",I,\\\",\\\",I,\\\" 0 1,\\\",g,\\\" \\\",q[0])}else E.push(\\\"M\\\",y,\\\",\\\",x);if(null!=A){var H=Oo([y,x],[A,k],s,-D,p),G=Oo([w,M],null==b?[y,x]:[b,_],s,-D,p);d===D?E.push(\\\"L\\\",G[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",G[1],\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",p^Do(G[1][0],G[1][1],H[1][0],H[1][1]),\\\",\\\",1-p,\\\" \\\",H[1],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",H[0]):E.push(\\\"L\\\",G[0],\\\"A\\\",D,\\\",\\\",D,\\\" 0 0,\\\",g,\\\" \\\",H[0])}else E.push(\\\"L\\\",w,\\\",\\\",M)}else E.push(\\\"M\\\",y,\\\",\\\",x),null!=b&&E.push(\\\"A\\\",u,\\\",\\\",u,\\\" 0 \\\",C,\\\",\\\",p,\\\" \\\",b,\\\",\\\",_),E.push(\\\"L\\\",w,\\\",\\\",M),null!=A&&E.push(\\\"A\\\",s,\\\",\\\",s,\\\" 0 \\\",z,\\\",\\\",1-p,\\\" \\\",A,\\\",\\\",k);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=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Eo?Eo:ve(t),s):n},s.startAngle=function(t){return arguments.length?(i=ve(t),s):i},s.endAngle=function(t){return arguments.length?(a=ve(t),s):a},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Eo=\\\"auto\\\";function Co(t){return t.innerRadius}function Lo(t){return t.outerRadius}function zo(t){return t.startAngle}function Po(t){return t.endAngle}function Io(t){return t&&t.padAngle}function Do(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Oo(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,h=t[1]+u,f=e[0]+l,p=e[1]+u,d=(c+f)/2,g=(h+p)/2,v=f-c,m=p-h,y=v*v+m*m,x=r-n,b=c*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,M=(-b*v-m*_)/y,A=(b*m+v*_)/y,k=(-b*v+m*_)/y,T=w-d,S=M-g,E=A-d,C=k-g;return T*T+S*S>E*E+C*C&&(w=A,M=k),[[w-l,M-u],[w*r/x,M*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Bo,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,h=a.length,f=ve(e),p=ve(r);function d(){l.push(\\\"M\\\",i(t(u),o))}for(;++c<h;)n.call(this,s=a[c],c)?u.push([+f.call(this,s,c),+p.call(this,s,c)]):u.length&&(d(),u=[]);return u.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?(a=\\\"function\\\"==typeof t?i=t:(i=Fo.get(t)||Bo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Ro(z)};var Fo=t.map({linear:Bo,\\\"linear-closed\\\":No,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];for(;++e<r;)i.push(\\\"H\\\",(n[0]+(n=t[e])[0])/2,\\\"V\\\",n[1]);r>1&&i.push(\\\"H\\\",n[0]);return i.join(\\\"\\\")},\\\"step-before\\\":jo,\\\"step-after\\\":Vo,basis:Ho,\\\"basis-open\\\":function(t){if(t.length<4)return Bo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+\\\",\\\"+Go(Xo,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Zo(r,a,o);return r.join(\\\"\\\")},\\\"basis-closed\\\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Go(Xo,o),\\\",\\\",Go(Xo,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Zo(e,o,s);return e.join(\\\"\\\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,u=-1;++u<=r;)n=t[u],i=u/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Ho(t)},cardinal:function(t,e){return t.length<3?Bo(t):t[0]+Uo(t,qo(t,e))},\\\"cardinal-open\\\":function(t,e){return t.length<4?Bo(t):t[1]+Uo(t.slice(1,-1),qo(t,e))},\\\"cardinal-closed\\\":function(t,e){return t.length<3?No(t):t[0]+Uo((t.push(t[0]),t),qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Bo(t):t[0]+Uo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Jo(i,a);for(;++e<r;)n[e]=(o+(o=Jo(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=Jo(t[s],t[s+1]),y(e)<Mt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Bo(t){return t.length>1?t.join(\\\"L\\\"):t+\\\"Z\\\"}function No(t){return t.join(\\\"L\\\")+\\\"Z\\\"}function jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"V\\\",(n=t[e])[1],\\\"H\\\",n[0]);return i.join(\\\"\\\")}function Vo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\\\",\\\",n[1]];++e<r;)i.push(\\\"H\\\",(n=t[e])[0],\\\"V\\\",n[1]);return i.join(\\\"\\\")}function Uo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Bo(t);var r=t.length!=e.length,n=\\\"\\\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\\\"Q\\\"+(a[0]-2*o[0]/3)+\\\",\\\"+(a[1]-2*o[1]/3)+\\\",\\\"+a[0]+\\\",\\\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\\\"C\\\"+(i[0]+o[0])+\\\",\\\"+(i[1]+o[1])+\\\",\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1];for(var u=2;u<e.length;u++,l++)a=t[l],s=e[u],n+=\\\"S\\\"+(a[0]-s[0])+\\\",\\\"+(a[1]-s[1])+\\\",\\\"+a[0]+\\\",\\\"+a[1]}if(r){var c=t[l];n+=\\\"Q\\\"+(a[0]+2*s[0]/3)+\\\",\\\"+(a[1]+2*s[1]/3)+\\\",\\\"+c[0]+\\\",\\\"+c[1]}return n}function qo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Ho(t){if(t.length<3)return Bo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\\\",\\\",a,\\\"L\\\",Go(Xo,o),\\\",\\\",Go(Xo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Zo(l,o,s);return t.pop(),l.push(\\\"L\\\",n),l.join(\\\"\\\")}function Go(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Fo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Wo=[0,2/3,1/3,0],Yo=[0,1/3,2/3,0],Xo=[0,1/6,2/3,1/6];function Zo(t,e,r){t.push(\\\"C\\\",Go(Wo,e),\\\",\\\",Go(Wo,r),\\\",\\\",Go(Yo,e),\\\",\\\",Go(Yo,r),\\\",\\\",Go(Xo,e),\\\",\\\",Go(Xo,r))}function Jo(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ko(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Qo(t){var e=$n,r=$n,n=0,i=ti,a=Wr,o=Bo,s=o.key,l=o,u=\\\"L\\\",c=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===i?function(){return p}:ve(i);function M(){d.push(\\\"M\\\",o(t(v),c),u,l(t(g.reverse()),c),\\\"Z\\\")}for(;++m<y;)a.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(M(),g=[],v=[]);return g.length&&M(),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=i=t,h):i},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(i=t,h):i},h.defined=function(t){return arguments.length?(a=t,h):a},h.interpolate=function(t){return arguments.length?(s=\\\"function\\\"==typeof t?o=t:(o=Fo.get(t)||Bo).key,l=o.reverse||o,u=o.closed?\\\"M\\\":\\\"L\\\",h):s},h.tension=function(t){return arguments.length?(c=t,h):c},h}function $o(t){return t.radius}function ts(t){return[t.x,t.y]}function es(){return 64}function rs(){return\\\"circle\\\"}function ns(t){var e=Math.sqrt(t/kt);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=Ro(Ko);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},jo.reverse=Vo,Vo.reverse=jo,t.svg.area=function(){return Qo(z)},t.svg.area.radial=function(){var t=Qo(Ko);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=Nn,e=jn,r=$o,n=zo,i=Po;function a(r,n){var i,a,u=o(this,t,r,n),c=o(this,e,r,n);return\\\"M\\\"+u.p0+s(u.r,u.p1,u.a1-u.a0)+(a=c,(i=u).a0==a.a0&&i.a1==a.a1?l(u.r,u.p1,u.r,u.p0):l(u.r,u.p1,c.r,c.p0)+s(c.r,c.p1,c.a1-c.a0)+l(c.r,c.p1,u.r,u.p0))+\\\"Z\\\"}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),u=n.call(t,s,o)-Et,c=i.call(t,s,o)-Et;return{r:l,a0:u,a1:c,p0:[l*Math.cos(u),l*Math.sin(u)],p1:[l*Math.cos(c),l*Math.sin(c)]}}function s(t,e,r){return\\\"A\\\"+t+\\\",\\\"+t+\\\" 0 \\\"+ +(r>kt)+\\\",1 \\\"+e}function l(t,e,r,n){return\\\"Q 0,0 \\\"+n}return a.radius=function(t){return arguments.length?(r=ve(t),a):r},a.source=function(e){return arguments.length?(t=ve(e),a):t},a.target=function(t){return arguments.length?(e=ve(t),a):e},a.startAngle=function(t){return arguments.length?(n=ve(t),a):n},a.endAngle=function(t){return arguments.length?(i=ve(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.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=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(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=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var is=t.map({circle:ns,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*os)),r=e*os;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/as),r=e*as/2;return\\\"M0,\\\"+r+\\\"L\\\"+e+\\\",\\\"+-r+\\\" \\\"+-e+\\\",\\\"+-r+\\\"Z\\\"},\\\"triangle-up\\\":function(t){var e=Math.sqrt(t/as),r=e*as/2;return\\\"M0,\\\"+-r+\\\"L\\\"+e+\\\",\\\"+r+\\\" \\\"+-e+\\\",\\\"+r+\\\"Z\\\"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Ct);Y.transition=function(t){for(var e,r,n=cs||++ps,i=vs(t),a=[],o=hs||{time:Date.now(),ease:ta,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(r=u[c])&&ms(r,c,i,n,o),e.push(r)}return us(a,i,n)},Y.interrupt=function(t){return this.each(null==t?ss:ls(vs(t)))};var ss=ls(vs());function ls(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 us(t,e,r){return U(t,fs),t.namespace=e,t.id=r,t}var cs,hs,fs=[],ps=0;function ds(t,e,r,n){var i=t.id,a=t.namespace;return ct(t,\\\"function\\\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function gs(t){return null==t&&(t=\\\"\\\"),function(){this.textContent=t}}function vs(t){return null==t?\\\"__transition__\\\":\\\"__transition_\\\"+t+\\\"__\\\"}function ms(t,e,r,n,i){var a,o,s,l,u,c=t[r]||(t[r]={active:0,count:0}),h=c[n];function f(r){var i=c.active,f=c[i];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--c.count,delete c[i],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),c)if(+d<n){var g=c[d];g.timer.c=null,g.timer.t=NaN,--c.count,delete c[d]}o.c=p,Ae(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),c.active=n,h.event&&h.event.start.call(t,t.__data__,e),u=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&u.push(n)}),l=h.ease,s=h.duration}function p(i){for(var a=i/s,o=l(a),f=u.length;f>0;)u[--f].call(t,o);if(a>=1)return h.event&&h.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}h||(a=i.time,o=Ae(function(t){var e=h.delay;if(o.t=e+a,e<=t)return f(t-e);o.c=f},0,a),h=c[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}fs.call=Y.call,fs.empty=Y.empty,fs.node=Y.node,fs.size=Y.size,t.transition=function(e,r){return e&&e.transition?cs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=fs,fs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var u=this[s],c=-1,h=u.length;++c<h;)(n=u[c])&&(r=t.call(n,n.__data__,c,s))?(\\\"__data__\\\"in n&&(r.__data__=n.__data__),ms(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return us(o,a,i)},fs.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,p=h.length;++f<p;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&ms(i,d,s,o,a),e.push(i)}return us(l,s,o)},fs.filter=function(t){var e,r,n=[];\\\"function\\\"!=typeof t&&(t=ut(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return us(n,this.namespace,this.id)},fs.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ct(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},fs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\\\"transform\\\"==e?ha:Gi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ds(this,\\\"attr.\\\"+e,r,i.local?function(t){return null==t?o:(t+=\\\"\\\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\\\"\\\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},fs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\\\"attr.\\\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},fs.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 i(){this.style.removeProperty(t)}return ds(this,\\\"style.\\\"+t,e,function(e){return null==e?i:(e+=\\\"\\\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Gi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},fs.styleTween=function(t,e,r){return arguments.length<3&&(r=\\\"\\\"),this.tween(\\\"style.\\\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},fs.text=function(t){return ds(this,\\\"text\\\",t,gs)},fs.remove=function(){var t=this.namespace;return this.each(\\\"end.transition\\\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},fs.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)),ct(this,function(t){t[n][r].ease=e}))},fs.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ct(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},fs.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ct(this,\\\"function\\\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},fs.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=hs,o=cs;try{cs=n,ct(this,function(t,r,a){hs=t[i][n],e.call(t,t.__data__,r,a)})}finally{hs=a,cs=o}}else ct(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\\\"start\\\",\\\"end\\\",\\\"interrupt\\\"))).on(e,r)});return this},fs.transition=function(){for(var t,e,r,n=this.id,i=++ps,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var u,c=0,h=(u=this[s]).length;c<h;c++)(e=u[c])&&ms(e,c,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return us(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ys,a=6,o=6,s=3,l=[10],u=null;function c(n){n.each(function(){var n,c=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==u?f.ticks?f.ticks.apply(f,l):f.domain():u,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):z:e,g=c.selectAll(\\\".tick\\\").data(p,f),v=g.enter().insert(\\\"g\\\",\\\".domain\\\").attr(\\\"class\\\",\\\"tick\\\").style(\\\"opacity\\\",Mt),m=t.transition(g.exit()).style(\\\"opacity\\\",Mt).remove(),y=t.transition(g.order()).style(\\\"opacity\\\",1),x=Math.max(a,0)+s,b=oo(f),_=c.selectAll(\\\".domain\\\").data([0]),w=(_.enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"domain\\\"),t.transition(_));v.append(\\\"line\\\"),v.append(\\\"text\\\");var M,A,k,T,S=v.select(\\\"line\\\"),E=y.select(\\\"line\\\"),C=g.select(\\\"text\\\").text(d),L=v.select(\\\"text\\\"),P=y.select(\\\"text\\\"),I=\\\"top\\\"===i||\\\"left\\\"===i?-1:1;if(\\\"bottom\\\"===i||\\\"top\\\"===i?(n=bs,M=\\\"x\\\",k=\\\"y\\\",A=\\\"x2\\\",T=\\\"y2\\\",C.attr(\\\"dy\\\",I<0?\\\"0em\\\":\\\".71em\\\").style(\\\"text-anchor\\\",\\\"middle\\\"),w.attr(\\\"d\\\",\\\"M\\\"+b[0]+\\\",\\\"+I*o+\\\"V0H\\\"+b[1]+\\\"V\\\"+I*o)):(n=_s,M=\\\"y\\\",k=\\\"x\\\",A=\\\"y2\\\",T=\\\"x2\\\",C.attr(\\\"dy\\\",\\\".32em\\\").style(\\\"text-anchor\\\",I<0?\\\"end\\\":\\\"start\\\"),w.attr(\\\"d\\\",\\\"M\\\"+I*o+\\\",\\\"+b[0]+\\\"H0V\\\"+b[1]+\\\"H\\\"+I*o)),S.attr(T,I*a),L.attr(k,I*x),E.attr(A,0).attr(T,I*a),P.attr(M,0).attr(k,I*x),f.rangeBand){var D=f,O=D.rangeBand()/2;h=f=function(t){return D(t)+O}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return c.scale=function(t){return arguments.length?(r=t,c):r},c.orient=function(t){return arguments.length?(i=t in xs?t+\\\"\\\":ys,c):i},c.ticks=function(){return arguments.length?(l=n(arguments),c):l},c.tickValues=function(t){return arguments.length?(u=t,c):u},c.tickFormat=function(t){return arguments.length?(e=t,c):e},c.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],c):a},c.innerTickSize=function(t){return arguments.length?(a=+t,c):a},c.outerTickSize=function(t){return arguments.length?(o=+t,c):o},c.tickPadding=function(t){return arguments.length?(s=+t,c):s},c.tickSubdivide=function(){return arguments.length&&c},c};var ys=\\\"bottom\\\",xs={top:1,right:1,bottom:1,left:1};function bs(t,e,r){t.attr(\\\"transform\\\",function(t){var n=e(t);return\\\"translate(\\\"+(isFinite(n)?n:r(t))+\\\",0)\\\"})}function _s(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=j(f,\\\"brushstart\\\",\\\"brush\\\",\\\"brushend\\\"),i=null,a=null,s=[0,0],l=[0,0],u=!0,c=!0,h=Ms[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\\\",v).on(\\\"touchstart.brush\\\",v),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,z);n.exit().remove(),n.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"resize \\\"+t}).style(\\\"cursor\\\",function(t){return ws[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);i&&(o=oo(i),l.attr(\\\"x\\\",o[0]).attr(\\\"width\\\",o[1]-o[0]),d(s)),a&&(o=oo(a),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 v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,M=!/^(e|w)$/.test(_)&&a,A=y.classed(\\\"extent\\\"),k=xt(m),T=t.mouse(m),S=t.select(o(m)).on(\\\"keydown.brush\\\",function(){32==t.event.keyCode&&(A||(h=null,T[0]-=s[1],T[1]-=l[1],A=2),B())}).on(\\\"keyup.brush\\\",function(){32==t.event.keyCode&&2==A&&(T[0]+=s[1],T[1]+=l[1],A=0,B())});if(t.event.changedTouches?S.on(\\\"touchmove.brush\\\",L).on(\\\"touchend.brush\\\",P):S.on(\\\"mousemove.brush\\\",L).on(\\\"mouseup.brush\\\",P),b.interrupt().selectAll(\\\"*\\\").interrupt(),A)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);v=[s[1-E]-T[0],l[1-C]-T[1]],T[0]=s[E],T[1]=l[C]}else t.event.altKey&&(h=T.slice());function L(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),A||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<h[0])],T[1]=l[+(e[1]<h[1])]):h=null),w&&z(e,i,0)&&(d(b),r=!0),M&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\\\"brush\\\",mode:A?\\\"move\\\":\\\"resize\\\"}))}function z(t,n,i){var a,o,f=oo(n),p=f[0],d=f[1],g=T[i],v=i?l:s,m=v[1]-v[0];if(A&&(p-=g,d-=m+g),a=(i?c:u)?Math.max(p,Math.min(d,t[i])):t[i],A?o=(a+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[i]-a))),g<a?(o=a,a=g):o=g),v[0]!=a||v[1]!=o)return i?r=null:e=null,v[0]=a,v[1]=o,!0}function P(){L(),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),k(),x({type:\\\"brushend\\\"})}b.style(\\\"pointer-events\\\",\\\"none\\\").selectAll(\\\".resize\\\").style(\\\"display\\\",null),t.select(\\\"body\\\").style(\\\"cursor\\\",y.style(\\\"cursor\\\")),x({type:\\\"brushstart\\\"}),L()}return f.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,cs?t.select(this).transition().each(\\\"start.brush\\\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\\\"brushstart\\\"})}).tween(\\\"brush:brush\\\",function(){var t=Wi(s,a.x),n=Wi(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\\\"brush\\\",mode:\\\"resize\\\"})}}).each(\\\"end.brush\\\",function(){e=a.i,r=a.j,i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"})}):(i({type:\\\"brushstart\\\"}),i({type:\\\"brush\\\",mode:\\\"resize\\\"}),i({type:\\\"brushend\\\"}))})},f.x=function(t){return arguments.length?(h=Ms[!(i=t)<<1|!a],f):i},f.y=function(t){return arguments.length?(h=Ms[!i<<1|!(a=t)],f):a},f.clamp=function(t){return arguments.length?(i&&a?(u=!!t[0],c=!!t[1]):i?u=!!t:a&&(c=!!t),f):i&&a?[u,c]:i?u:a?c:null},f.extent=function(t){var n,o,u,c,h;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),a&&(u=t[0],c=t[1],i&&(u=u[1],c=c[1]),r=[u,c],a.invert&&(u=a(u),c=a(c)),c<u&&(h=u,u=c,c=h),u==l[0]&&c==l[1]||(l=[u,c])),f):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(h=n,n=o,o=h))),a&&(r?(u=r[0],c=r[1]):(u=l[0],c=l[1],a.invert&&(u=a.invert(u),c=a.invert(c)),c<u&&(h=u,u=c,c=h))),i&&a?[[n,u],[o,c]]:i?[n,o]:a&&[u,c])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(f,n,\\\"on\\\")};var ws={n:\\\"ns-resize\\\",e:\\\"ew-resize\\\",s:\\\"ns-resize\\\",w:\\\"ew-resize\\\",nw:\\\"nwse-resize\\\",ne:\\\"nesw-resize\\\",se:\\\"nwse-resize\\\",sw:\\\"nesw-resize\\\"},Ms=[[\\\"n\\\",\\\"e\\\",\\\"s\\\",\\\"w\\\",\\\"nw\\\",\\\"ne\\\",\\\"se\\\",\\\"sw\\\"],[\\\"e\\\",\\\"w\\\"],[\\\"n\\\",\\\"s\\\"],[]],As=Ie.format=sr.timeFormat,ks=As.utc,Ts=ks(\\\"%Y-%m-%dT%H:%M:%S.%LZ\\\");function Ss(t){return t.toISOString()}function Es(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Ls,i);return a==Ls.length?[r.year,go(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Ls[a-1]<Ls[a]/i?a-1:a]:[Is,go(e,n)[2]]}return i.invert=function(t){return Cs(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Cs)},i.nice=function(t,e){var r=i.domain(),n=ao(r),o=null==t?a(n,10):\\\"number\\\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Cs(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(lo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Cs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Cs(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):\\\"number\\\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Cs(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Es(e.copy(),r,n)},fo(i,e)}function Cs(t){return new Date(t)}As.iso=Date.prototype.toISOString&&+new Date(\\\"2000-01-01T00:00:00.000Z\\\")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,Ie.second=Fe(function(t){return new De(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=Fe(function(t){return new De(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=Fe(function(t){var e=t.getTimezoneOffset()/60;return new De(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=Fe(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 Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[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]],Ps=As.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\\\",Wr]]),Is={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Cs)},floor:z,ceil:z};zs.year=Ie.year,Ie.scale=function(){return Es(t.scale.linear(),zs,Ps)};var Ds=zs.map(function(t){return[t[0].utc,t[1]]}),Os=ks.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\\\",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Fs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Ds.year=Ie.year.utc,Ie.scale.utc=function(){return Es(t.scale.linear(),Ds,Os)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\\\"application/json\\\",Rs,e)},t.html=function(t,e){return ye(t,\\\"text/html\\\",Fs,e)},t.xml=me(function(t){return t.responseXML}),e.exports?e.exports=t:this.d3=t}(),e=e.exports;var r=function(t){var e=typeof t;if(\\\"string\\\"===e){var r=t;if(0===(t=+t)&&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}(r))return!1}else if(\\\"number\\\"!==e)return!1;return t-t<1},n={},i=Math.PI;n.deg2rad=function(t){return t/180*i},n.rad2deg=function(t){return t/i*180},n.wrap360=function(t){var e=t%360;return e<0?e+360:e},n.wrap180=function(t){return Math.abs(t)>180&&(t-=360*Math.round(t/360)),t};var a=t.BADNUM,o=/^['\\\"%,$#\\\\s']+|[, ]|['\\\"%,$#\\\\s']+$/g,s={exports:{}};!function(t){var e=/^\\\\s+/,r=/\\\\s+$/,n=0,i=t.round,a=t.min,o=t.max,l=t.random;function u(s,l){if(s=s||\\\"\\\",l=l||{},s instanceof u)return s;if(!(this instanceof u))return new u(s,l);var c=function(n){var i={r:0,g:0,b:0},s=1,l=null,u=null,c=null,h=!1,f=!1;\\\"string\\\"==typeof n&&(n=function(t){t=t.replace(e,\\\"\\\").replace(r,\\\"\\\").toLowerCase();var n,i=!1;if(S[t])t=S[t],i=!0;else if(\\\"transparent\\\"==t)return{r:0,g:0,b:0,a:0,format:\\\"name\\\"};if(n=j.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=j.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=j.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=j.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=j.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=j.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=j.hex8.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),a:R(n[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(n=j.hex6.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),format:i?\\\"name\\\":\\\"hex\\\"};if(n=j.hex4.exec(t))return{r:P(n[1]+\\\"\\\"+n[1]),g:P(n[2]+\\\"\\\"+n[2]),b:P(n[3]+\\\"\\\"+n[3]),a:R(n[4]+\\\"\\\"+n[4]),format:i?\\\"name\\\":\\\"hex8\\\"};if(n=j.hex3.exec(t))return{r:P(n[1]+\\\"\\\"+n[1]),g:P(n[2]+\\\"\\\"+n[2]),b:P(n[3]+\\\"\\\"+n[3]),format:i?\\\"name\\\":\\\"hex\\\"};return!1}(n));\\\"object\\\"==typeof n&&(V(n.r)&&V(n.g)&&V(n.b)?(p=n.r,d=n.g,g=n.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},h=!0,f=\\\"%\\\"===String(n.r).substr(-1)?\\\"prgb\\\":\\\"rgb\\\"):V(n.h)&&V(n.s)&&V(n.v)?(l=D(n.s),u=D(n.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),u=i%6;return{r:255*[n,s,o,o,l,n][u],g:255*[l,n,n,s,o,o][u],b:255*[o,o,l,n,n,s][u]}}(n.h,l,u),h=!0,f=\\\"hsv\\\"):V(n.h)&&V(n.s)&&V(n.l)&&(l=D(n.s),c=D(n.l),i=function(t,e,r){var n,i,a;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=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(n.h,l,c),h=!0,f=\\\"hsl\\\"),n.hasOwnProperty(\\\"a\\\")&&(s=n.a));var p,d,g;return s=C(s),{ok:h,format:n.format||f,r:a(255,o(i.r,0)),g:a(255,o(i.g,0)),b:a(255,o(i.b,0)),a:s}}(s);this._originalInput=s,this._r=c.r,this._g=c.g,this._b=c.b,this._a=c.a,this._roundA=i(100*this._a)/100,this._format=l.format||c.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=c.ok,this._tc_id=n++}function c(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=(s+l)/2;if(s==l)n=i=0;else{var c=s-l;switch(i=u>.5?c/(2-s-l):c/(s+l),s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,l:u}}function h(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=s,c=s-l;if(i=0===s?0:c/s,s==l)n=0;else{switch(s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,v:u}}function f(t,e,r,n){var a=[I(i(t).toString(16)),I(i(e).toString(16)),I(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[I(O(n)),I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16))].join(\\\"\\\")}function d(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s-=e/100,r.s=z(r.s),u(r)}function g(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s+=e/100,r.s=z(r.s),u(r)}function v(t){return u(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l+=e/100,r.l=z(r.l),u(r)}function y(t,e){e=0===e?0:e||10;var r=u(t).toRgb();return r.r=o(0,a(255,r.r-i(-e/100*255))),r.g=o(0,a(255,r.g-i(-e/100*255))),r.b=o(0,a(255,r.b-i(-e/100*255))),u(r)}function x(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l-=e/100,r.l=z(r.l),u(r)}function b(t,e){var r=u(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,u(r)}function _(t){var e=u(t).toHsl();return e.h=(e.h+180)%360,u(e)}function w(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+120)%360,s:e.s,l:e.l}),u({h:(r+240)%360,s:e.s,l:e.l})]}function M(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+90)%360,s:e.s,l:e.l}),u({h:(r+180)%360,s:e.s,l:e.l}),u({h:(r+270)%360,s:e.s,l:e.l})]}function A(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+72)%360,s:e.s,l:e.l}),u({h:(r+216)%360,s:e.s,l:e.l})]}function k(t,e,r){e=e||6,r=r||30;var n=u(t).toHsl(),i=360/r,a=[u(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(u(n));return a}function T(t,e){e=e||6;for(var r=u(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(u({h:n,s:i,v:a})),a=(a+s)%1;return o}u.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,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.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=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(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=[I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16)),I(O(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 i=u(t);r=\\\"#\\\"+p(i._r,i._g,i._b,i._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 u(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(m,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(v,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(k,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(A,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},u.fromRatio=function(t,e){if(\\\"object\\\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\\\"a\\\"===n?t[n]:D(t[n]));t=r}return u(t,e)},u.equals=function(t,e){return!(!t||!e)&&u(t).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:l(),g:l(),b:l()})},u.mix=function(t,e,r){r=0===r?0:r||50;var n=u(t).toRgb(),i=u(e).toRgb(),a=r/100;return u({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},u.readability=function(e,r){var n=u(e),i=u(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},u.isReadable=function(t,e,r){var n,i,a=u.readability(t,e);switch(i=!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\\\":i=a>=4.5;break;case\\\"AAlarge\\\":i=a>=3;break;case\\\"AAAsmall\\\":i=a>=7}return i},u.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;c<e.length;c++)(n=u.readability(t,e[c]))>l&&(l=n,s=u(e[c]));return u.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,u.mostReadable(t,[\\\"#fff\\\",\\\"#000\\\"],r))};var S=u.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=u.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=a(r,o(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return a(1,o(0,t))}function P(t){return parseInt(t,16)}function I(t){return 1==t.length?\\\"0\\\"+t:\\\"\\\"+t}function D(t){return t<=1&&(t=100*t+\\\"%\\\"),t}function O(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(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)}s.exports?s.exports=u:window.tinycolor=u}(Math),s=s.exports;var l={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)\\\"]]},u=l.RdBu,c=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||!s(n[1]).isValid())return!1;e=+n[0]}return!0},h=function(t,e){if(e||(e=u),!t)return e;function r(){try{t=l[t]||JSON.parse(t)}catch(r){t=e}}return\\\"string\\\"==typeof t&&(r(),\\\"string\\\"==typeof t&&r()),c(t)?t:e},f={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2},p={},d=\\\"undefined\\\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},g=\\\"undefined\\\"==typeof DataView?function(){}:DataView;p.isTypedArray=function(t){return d.isView(t)&&!(t instanceof g)},p.isArrayOrTypedArray=function(t){return Array.isArray(t)||p.isTypedArray(t)};var v=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},m={},y=Array.isArray;function x(t,e,r,n){var i,a,o,s,l,u,c=t[0],h=t.length;if(2===h&&y(c)&&y(t[1])&&0===c.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],c))return c;c.splice(0,c.length)}for(var f=1;f<h;f++)for(a in i=t[f])o=c[a],s=i[a],n&&y(s)?c[a]=s:e&&s&&(v(s)||(l=y(s)))?(l?(l=!1,u=o&&y(o)?o:[]):u=o&&v(o)?o:{},c[a]=x([u,s],e,r,n)):(void 0!==s||r)&&(c[a]=s);return c}m.extendFlat=function(){return x(arguments,!1,!1,!1)},m.extendDeep=function(){return x(arguments,!0,!1,!1)},m.extendDeepAll=function(){return x(arguments,!0,!0,!1)},m.extendDeepNoArrays=function(){return x(arguments,!0,!1,!0)};var b={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\\\"reset+autosize\\\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\\\"Edit chart\\\",showSources:!1,displayModeBar:\\\"hover\\\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:\\\"transparent\\\",topojsonURL:\\\"https://cdn.plot.ly/\\\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\\\"en-US\\\",locales:{}},_={},w=_={};function M(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}w.log=function(){if(b.logging>1){for(var t=[\\\"LOG:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.warn=function(){if(b.logging>0){for(var t=[\\\"WARN:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.error=function(){if(b.logging>0){for(var t=[\\\"ERROR:\\\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.error,t)}};var A=function(){},k=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t},T=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},S={hoverlabel:{bgcolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},bordercolor:{valType:\\\"color\\\",arrayOk:!0,editType:\\\"none\\\"},font:T({arrayOk:!0,editType:\\\"none\\\"}),namelength:{valType:\\\"integer\\\",min:-1,arrayOk:!0,editType:\\\"none\\\"},editType:\\\"calc\\\"}},E={type:{valType:\\\"enumerated\\\",values:[],dflt:\\\"scatter\\\",editType:\\\"calc+clearAxisTypes\\\"},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\\\",dflt:\\\"\\\",editType:\\\"calc\\\"},ids:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},customdata:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},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:S.hoverlabel,stream:{token:{valType:\\\"string\\\",noBlank:!0,strict:!0,editType:\\\"calc\\\"},maxpoints:{valType:\\\"number\\\",min:0,max:1e4,dflt:500,editType:\\\"calc\\\"},editType:\\\"calc\\\"}},C={defaults:[\\\"#1f77b4\\\",\\\"#ff7f0e\\\",\\\"#2ca02c\\\",\\\"#d62728\\\",\\\"#9467bd\\\",\\\"#8c564b\\\",\\\"#e377c2\\\",\\\"#7f7f7f\\\",\\\"#bcbd22\\\",\\\"#17becf\\\"],defaultLine:\\\"#444\\\",lightLine:\\\"#eee\\\",background:\\\"#fff\\\",borderLine:\\\"#BEC8D9\\\",lightFraction:1e3/11},L=T({editType:\\\"calc\\\"});L.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',L.size.dflt=12,L.color.dflt=C.defaultLine;var z={font:L,title:{valType:\\\"string\\\",editType:\\\"layoutstyle\\\"},titlefont:T({editType:\\\"layoutstyle\\\"}),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:C.background,editType:\\\"plot\\\"},plot_bgcolor:{valType:\\\"color\\\",dflt:C.background,editType:\\\"layoutstyle\\\"},separators:{valType:\\\"string\\\",editType:\\\"plot\\\"},hidesources:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"plot\\\"},showlegend:{valType:\\\"boolean\\\",editType:\\\"legend\\\"},colorway:{valType:\\\"colorlist\\\",dflt:C.defaults,editType:\\\"calc\\\"},datarevision:{valType:\\\"any\\\",editType:\\\"calc\\\"}},P={},I=m.extendFlat,D=m.extendDeepAll;function O(t){var e=t.name,r=t.categories,n=t.meta;if(P.modules[e])_.log(\\\"Type \\\"+e+\\\" already registered\\\");else{P.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(P.subplotsRegistry[e])return void _.log(\\\"Plot type \\\"+e+\\\" already registered.\\\");for(var r in N(t),P.subplotsRegistry[e]=t,P.componentsRegistry)U(r,t.name)}(t.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,P.allCategories[r[a]]=!0;for(var o in P.modules[e]={_module:t,categories:i},n&&Object.keys(n).length&&(P.modules[e].meta=n),P.allTypes.push(e),P.componentsRegistry)j(o,e);t.layoutAttributes&&I(P.traceLayoutAttributes,t.layoutAttributes)}}function R(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Component module *name* must be a string.\\\");var e=t.name;for(var r in P.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&k(P.layoutArrayContainers,e),N(t)),P.modules)j(e,r);for(var n in P.subplotsRegistry)U(e,n);for(var i in P.transformsRegistry)V(e,i);t.schema&&t.schema.layout&&D(z,t.schema.layout)}function F(t){if(\\\"string\\\"!=typeof t.name)throw new Error(\\\"Transform module *name* must be a string.\\\");var e=\\\"Transform module \\\"+t.name,r=\\\"function\\\"==typeof t.transform,n=\\\"function\\\"==typeof t.calcTransform;if(!r&&!n)throw new Error(e+\\\" is missing a *transform* or *calcTransform* method.\\\");for(var i in r&&n&&_.log([e+\\\" has both a *transform* and *calcTransform* methods.\\\",\\\"Please note that all *transform* methods are executed\\\",\\\"before all *calcTransform* methods.\\\"].join(\\\" \\\")),v(t.attributes)||_.log(e+\\\" registered without an *attributes* object.\\\"),\\\"function\\\"!=typeof t.supplyDefaults&&_.log(e+\\\" registered without a *supplyDefaults* method.\\\"),P.transformsRegistry[t.name]=t,P.componentsRegistry)V(i,t.name)}function B(t){var e=t.name,r=e.split(\\\"-\\\")[0],n=t.dictionary,i=t.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=P.localeRegistry,l=s[e];if(l||(s[e]=l={}),r!==e){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function N(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var r=0;r<e.length;r++)k(P.layoutArrayRegexes,e[r])}}function j(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.traces){var n=r.traces[e];n&&D(P.modules[e]._module.attributes,n)}}function V(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.transforms){var n=r.transforms[e];n&&D(P.transformsRegistry[e].attributes,n)}}function U(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.subplots){var n=P.subplotsRegistry[e],i=n.layoutAttributes,a=\\\"subplot\\\"===n.attr?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&D(i,o)}}function q(t){return\\\"object\\\"==typeof t&&(t=t.type),t}P.modules={},P.allCategories={},P.allTypes=[],P.subplotsRegistry={},P.transformsRegistry={},P.componentsRegistry={},P.layoutArrayContainers=[],P.layoutArrayRegexes=[],P.traceLayoutAttributes={},P.localeRegistry={},P.apiMethodRegistry={},P.register=function(t){if(!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 r=t[e];if(!r)throw new Error(\\\"Invalid module was attempted to be registered!\\\");switch(r.moduleType){case\\\"trace\\\":O(r);break;case\\\"transform\\\":F(r);break;case\\\"component\\\":R(r);break;case\\\"locale\\\":B(r);break;case\\\"apiMethod\\\":var n=r.name;P.apiMethodRegistry[n]=r.fn;break;default:throw new Error(\\\"Invalid module was attempted to be registered!\\\")}}},P.getModule=function(t){var e=P.modules[q(t)];return!!e&&e._module},P.traceIs=function(t,e){if(\\\"various\\\"===(t=q(t)))return!1;var r=P.modules[t];return r||(t&&\\\"area\\\"!==t&&_.log(\\\"Unrecognized trace type \\\"+t+\\\".\\\"),r=P.modules[E.type.dflt]),!!r.categories[e]},P.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},P.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},P.getComponentMethod=function(t,e){var r=P.componentsRegistry[t];return r&&r[e]||A},P.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return P.apiMethodRegistry[t].apply(null,e)};var H=function(t){for(var e,r,n=P.layoutArrayContainers,i=P.layoutArrayRegexes,a=t.split(\\\"[\\\")[0],o=0;o<i.length;o++)if((r=t.match(i[o]))&&0===r.index){e=r[0];break}if(e||(e=n[n.indexOf(a)]),!e)return!1;var s=t.substr(e.length);return s?!!(r=s.match(/^\\\\[(0|[1-9][0-9]*)\\\\](\\\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\\\"\\\"}:{array:e,index:\\\"\\\",property:\\\"\\\"}},G=p.isArrayOrTypedArray,W=function(t,e){if(r(e))e=String(e);else if(\\\"string\\\"!=typeof e||\\\"[-1]\\\"===e.substr(e.length-4))throw\\\"bad property string\\\";for(var n,i,a,o=0,s=e.split(\\\".\\\");o<s.length;){if(n=String(s[o]).match(/^([^\\\\[\\\\]]*)((\\\\[\\\\-?[0-9]*\\\\])+)$/)){if(n[1])s[o]=n[1];else{if(0!==o)throw\\\"bad property string\\\";s.splice(0,1)}for(i=n[2].substr(1,n[2].length-2).split(\\\"][\\\"),a=0;a<i.length;a++)o++,s.splice(o,0,Number(i[a]))}o++}return\\\"object\\\"!=typeof t?function(t,e,r){return{set:function(){throw\\\"bad container\\\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,s):{set:J(t,s,e),get:function t(e,r){return function(){var n,i,a,o,s,l=e;for(o=0;o<r.length-1;o++){if(-1===(n=r[o])){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=t(l[s],r.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\\\"number\\\"==typeof n&&!G(l))return;if(\\\"object\\\"!=typeof(l=l[n])||null===l)return}if(\\\"object\\\"==typeof l&&null!==l&&null!==(a=l[r[o]]))return a}}(t,s),astr:e,parts:s,obj:t}};var Y=/(^|\\\\.)((domain|range)(\\\\.[xy])?|args|parallels)$/,X=/(^|\\\\.)args\\\\[/;function Z(t,e){if(void 0!==(r=t)&&null!==r&&(\\\"object\\\"!=typeof r||(G(r)?r.length:Object.keys(r).length))||v(t)&&\\\"]\\\"===e.charAt(e.length-1)||e.match(X)&&void 0!==t)return!1;var r;if(!G(t))return!0;if(e.match(Y))return!0;var n=H(e);return n&&\\\"\\\"===n.index}function J(t,e,r){return function(n){var i,a,o=t,s=\\\"\\\",l=[[t,s]],u=Z(n,r);for(a=0;a<e.length-1;a++){if(\\\"number\\\"==typeof(i=e[a])&&!G(o))throw\\\"array index but container is not an array\\\";if(-1===i){if(u=!Q(o,e.slice(a+1),n,r))break;return}if(!$(o,i,e[a+1],u))break;if(\\\"object\\\"!=typeof(o=o[i])||null===o)throw\\\"container is not an object\\\";s=K(s,i),l.push([o,s])}u?(a===e.length-1&&delete o[e[a]],function(t){var e,r,n,i,a,o;for(e=t.length-1;e>=0;e--){if(n=t[e][0],i=t[e][1],o=!1,G(n))for(r=n.length-1;r>=0;r--)Z(n[r],K(i,r))?o?n[r]=void 0:n.pop():o=!0;else if(\\\"object\\\"==typeof n&&null!==n)for(a=Object.keys(n),o=!1,r=a.length-1;r>=0;r--)Z(n[a[r]],K(i,a[r]))?delete n[a[r]]:o=!0;if(o)return}}(l)):o[e[a]]=n}}function K(t,e){var n=e;return r(e)?n=\\\"[\\\"+e+\\\"]\\\":t&&(n=\\\".\\\"+e),t+n}function Q(t,e,r,n){var i,a=G(r),o=!0,s=r,l=n.replace(\\\"-1\\\",0),u=!a&&Z(r,l),c=e[0];for(i=0;i<t.length;i++)l=n.replace(\\\"-1\\\",i),a&&(u=Z(s=r[i%r.length],l)),u&&(o=!1),$(t,i,c,u)&&J(t[i],e,n.replace(\\\"-1\\\",i))(s);return o}function $(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\\\"number\\\"==typeof r?[]:{}}return!0}var tt={counter:function(t,e,r){var n=(e||\\\"\\\")+(r?\\\"\\\":\\\"$\\\");return\\\"xy\\\"===t?new RegExp(\\\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\\\"+n):new RegExp(\\\"^\\\"+t+\\\"([2-9]|[1-9][0-9]+)?\\\"+n)}},et={},rt=(Object.keys(l),tt.counter),nt=f.DESELECTDIM,it=n.wrap180,at=p.isArrayOrTypedArray;et.valObjectMeta={data_array:{coerceFunction:function(t,e,r){at(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 i=String(r[n]);if(\\\"/\\\"===i.charAt(0)&&\\\"/\\\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.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,n,i){!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},integer:{coerceFunction:function(t,e,n,i){t%1||!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"!=typeof t){var i=\\\"number\\\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){s(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return s(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(h(t,r))}},angle:{coerceFunction:function(t,e,n){\\\"auto\\\"===t?e.set(\\\"auto\\\"):r(t)?e.set(it(+t)):e.set(n)}},subplotid:{coerceFunction:function(t,e,r){\\\"string\\\"==typeof t&&rt(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\\\"string\\\"==typeof t&&!!rt(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\\\"string\\\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\\\"+\\\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.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,r,n){function i(t,e,r){var n,i={set:function(t){n=t}};return void 0===r&&(r=e.dflt),et.valObjectMeta[e.valType].coerceFunction(t,i,r,e),n}var a=2===n.dimensions;if(Array.isArray(t)){var o,s,l,u,c=n.items,h=[],f=Array.isArray(c),p=f?c.length:t.length;if(r=Array.isArray(r)?r:[],a)for(o=0;o<p;o++){h[o]=[];var d=Array.isArray(t[o])?t[o]:[];for(l=f?c[o].length:d.length,s=0;s<l;s++)void 0!==(u=i(d[s],f?c[o][s]:c,(r[o]||[])[s]))&&(h[o][s]=u)}else for(o=0;o<p;o++)void 0!==(u=i(t[o],f?c[o]:c,r[o]))&&(h[o]=u);e.set(h)}else e.set(r)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!et.validate(t[a][o],n?r[a][o]:r))return!1}else if(!et.validate(t[a],n?r[a]:r))return!1;return!0}}},et.coerce=function(t,e,r,n,i){var a=W(r,n).get(),o=W(t,n),s=W(e,n),l=o.get();return void 0===i&&(i=a.dflt),a.arrayOk&&at(l)?(s.set(l),l):(et.valObjectMeta[a.valType].coerceFunction(l,s,i,a),s.get())},et.coerce2=function(t,e,r,n,i){var a=W(t,n),o=et.coerce(t,e,r,n,i),s=a.get();return void 0!==s&&null!==s&&o},et.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},et.coerceHoverinfo=function(t,e,r){var n,i=e._module.attributes,a=i.hoverinfo?{hoverinfo:i.hoverinfo}:E,o=a.hoverinfo;if(1===r._dataLength){var s=\\\"all\\\"===o.dflt?o.flags.slice():o.dflt.split(\\\"+\\\");s.splice(s.indexOf(\\\"name\\\"),1),n=s.join(\\\"+\\\")}return et.coerce(t,e,a,\\\"hoverinfo\\\",n)},et.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)at(i)||t.selected||t.unselected||(r=i,n=nt*i),e(\\\"selected.marker.opacity\\\",r),e(\\\"unselected.marker.opacity\\\",n)}},et.validate=function(t,e){var r=et.valObjectMeta[e.valType];if(e.arrayOk&&at(t))return!0;if(r.validateFunction)return r.validateFunction(t,e);var n={},i=n,a={set:function(t){i=t}};return r.coerceFunction(t,a,n,e),i!==n};var ot,st,lt=function(t,e){var r=t%e;return r<0?r+e:r},ut={},ct=t.BADNUM,ht=t.ONEDAY,ft=t.ONEHOUR,pt=t.ONEMIN,dt=t.ONESEC,gt=t.EPOCHJD,vt=e.time.format.utc,mt=/^\\\\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,yt=/^\\\\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,xt=(new Date).getFullYear()-70;function bt(t){return t&&P.componentsRegistry.calendars&&\\\"string\\\"==typeof t&&\\\"gregorian\\\"!==t}function _t(t,e){return String(t+Math.pow(10,e)).substr(1)}ut.dateTick0=function(t,e){return bt(t)?e?P.getComponentMethod(\\\"calendars\\\",\\\"CANONICAL_SUNDAY\\\")[t]:P.getComponentMethod(\\\"calendars\\\",\\\"CANONICAL_TICK\\\")[t]:e?\\\"2000-01-02\\\":\\\"2000-01-01\\\"},ut.dfltRange=function(t){return bt(t)?P.getComponentMethod(\\\"calendars\\\",\\\"DFLTRANGE\\\")[t]:[\\\"2000-01-01\\\",\\\"2001-01-01\\\"]},ut.isJSDate=function(t){return\\\"object\\\"==typeof t&&null!==t&&\\\"function\\\"==typeof t.getTime},ut.dateTime2ms=function(t,e){if(ut.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*pt)>=ot&&t<=st?t:ct;if(\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t)return ct;t=String(t);var r=bt(e),n=t.charAt(0);!r||\\\"G\\\"!==n&&\\\"g\\\"!==n||(t=t.substr(1),e=\\\"\\\");var i=r&&\\\"chinese\\\"===e.substr(0,7),a=t.match(i?yt:mt);if(!a)return ct;var o=a[1],s=a[3]||\\\"1\\\",l=Number(a[5]||1),u=Number(a[7]||0),c=Number(a[9]||0),h=Number(a[11]||0);if(r){if(2===o.length)return ct;var f;o=Number(o);try{var p=P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e);if(i){var d=\\\"i\\\"===s.charAt(s.length-1);s=parseInt(s,10),f=p.newDate(o,p.toMonthIndex(o,s,d),l)}else f=p.newDate(o,Number(s),l)}catch(t){return ct}return f?(f.toJD()-gt)*ht+u*ft+c*pt+h*dt:ct}o=2===o.length?(Number(o)+2e3-xt)%100+xt:Number(o),s-=1;var g=new Date(Date.UTC(2e3,s,l,u,c));return g.setUTCFullYear(o),g.getUTCMonth()!==s?ct:g.getUTCDate()!==l?ct:g.getTime()+h*dt},ot=ut.MIN_MS=ut.dateTime2ms(\\\"-9999\\\"),st=ut.MAX_MS=ut.dateTime2ms(\\\"9999-12-31 23:59:59.9999\\\"),ut.isDateTime=function(t,e){return ut.dateTime2ms(t,e)!==ct};var wt=90*ht,Mt=3*ft,At=5*pt;function kt(t,e,r,n,i){if((e||r||n||i)&&(t+=\\\" \\\"+_t(e,2)+\\\":\\\"+_t(r,2),(n||i)&&(t+=\\\":\\\"+_t(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\\\".\\\"+_t(i,a)}return t}ut.ms2DateTime=function(t,e,r){if(\\\"number\\\"!=typeof t||!(t>=ot&&t<=st))return ct;e||(e=0);var n,i,a,o,s,l,u=Math.floor(10*lt(t+.05,1)),c=Math.round(t-u/10);if(bt(r)){var h=Math.floor(c/ht)+gt,f=Math.floor(lt(t,ht));try{n=P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r).fromJD(h).formatDate(\\\"yyyy-mm-dd\\\")}catch(t){n=vt(\\\"G%Y-%m-%d\\\")(new Date(c))}if(\\\"-\\\"===n.charAt(0))for(;n.length<11;)n=\\\"-0\\\"+n.substr(1);else for(;n.length<10;)n=\\\"0\\\"+n;i=e<wt?Math.floor(f/ft):0,a=e<wt?Math.floor(f%ft/pt):0,o=e<Mt?Math.floor(f%pt/dt):0,s=e<At?f%dt*10+u:0}else l=new Date(c),n=vt(\\\"%Y-%m-%d\\\")(l),i=e<wt?l.getUTCHours():0,a=e<wt?l.getUTCMinutes():0,o=e<Mt?l.getUTCSeconds():0,s=e<At?10*l.getUTCMilliseconds()+u:0;return kt(n,i,a,o,s)},ut.ms2DateTimeLocal=function(t){if(!(t>=ot+ht&&t<=st-ht))return ct;var r=Math.floor(10*lt(t+.05,1)),n=new Date(Math.round(t-r/10));return kt(e.time.format(\\\"%Y-%m-%d\\\")(n),n.getHours(),n.getMinutes(),n.getSeconds(),10*n.getUTCMilliseconds()+r)},ut.cleanDate=function(t,e,r){if(ut.isJSDate(t)||\\\"number\\\"==typeof t){if(bt(r))return _.error(\\\"JS Dates and milliseconds are incompatible with world calendars\\\",t),e;if(!(t=ut.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!ut.isDateTime(t,r))return _.error(\\\"unrecognized date\\\",t),e;return t};var Tt=/%\\\\d?f/g;function St(t,e,r,n){t=t.replace(Tt,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\\\"\\\")||\\\"0\\\"});var i=new Date(Math.floor(e+.05));if(bt(n))try{t=P.getComponentMethod(\\\"calendars\\\",\\\"worldCalFmt\\\")(t,e,n)}catch(t){return\\\"Invalid\\\"}return r(t)(i)}var Et=[59,59.9,59.99,59.999,59.9999];ut.formatDate=function(t,e,n,i,a,o){if(a=bt(a)&&a,!e)if(\\\"y\\\"===n)e=o.year;else if(\\\"m\\\"===n)e=o.month;else{if(\\\"d\\\"!==n)return function(t,e){var n=lt(t+.05,ht),i=_t(Math.floor(n/ft),2)+\\\":\\\"+_t(lt(Math.floor(n/pt),60),2);if(\\\"M\\\"!==e){r(e)||(e=0);var a=(100+Math.min(lt(t/dt,60),Et[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,\\\"\\\").replace(/[\\\\.]$/,\\\"\\\")),i+=\\\":\\\"+a}return i}(t,n)+\\\"\\\\n\\\"+St(o.dayMonthYear,t,i,a);e=o.dayMonth+\\\"\\\\n\\\"+o.year}return St(e,t,i,a)};var Ct=3*ht;ut.incrementMonth=function(t,e,r){r=bt(r)&&r;var n=lt(t,ht);if(t=Math.round(t-n),r)try{var i=Math.round(t/ht)+gt,a=P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\\\"m\\\"):a.add(o,e/12,\\\"y\\\"),(o.toJD()-gt)*ht+n}catch(e){_.error(\\\"invalid ms \\\"+t+\\\" in calendar \\\"+r)}var s=new Date(t+Ct);return s.setUTCMonth(s.getUTCMonth()+e)+n-Ct},ut.findExactDates=function(t,e){for(var n,i,a=0,o=0,s=0,l=0,u=bt(e)&&P.getComponentMethod(\\\"calendars\\\",\\\"getCal\\\")(e),c=0;c<t.length;c++)if(i=t[c],r(i)){if(!(i%ht))if(u)try{1===(n=u.fromJD(i/ht+gt)).day()?1===n.month()?a++:o++:s++}catch(t){}else 1===(n=new Date(i)).getUTCDate()?0===n.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}};function Lt(t){return!0===t.visible}function zt(t){return!0===t[0].trace.visible}var Pt,It,Dt,Ot={};function Rt(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,p=s-a,d=l*p-c*h;if(0===d)return null;var g=(u*p-c*f)/d,v=(u*h-l*f)/d;return v<0||v>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function Ft(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}Ot.segmentsIntersect=Rt,Ot.segmentDistance=function(t,e,r,n,i,a,o,s){if(Rt(t,e,r,n,i,a,o,s))return 0;var l=r-t,u=n-e,c=o-i,h=s-a,f=l*l+u*u,p=c*c+h*h,d=Math.min(Ft(l,u,f,i-t,a-e),Ft(l,u,f,o-t,s-e),Ft(c,h,p,t-i,e-a),Ft(c,h,p,r-i,n-a));return Math.sqrt(d)},Ot.getTextLocation=function(t,e,r,n){if(t===It&&n===Dt||(Pt={},It=t,Dt=n),Pt[r])return Pt[r];var i=t.getPointAtLength(lt(r-n/2,e)),a=t.getPointAtLength(lt(r+n/2,e)),o=Math.atan((a.y-i.y)/(a.x-i.x)),s=t.getPointAtLength(lt(r,e)),l={x:(4*s.x+i.x+a.x)/6,y:(4*s.y+i.y+a.y)/6,theta:o};return Pt[r]=l,l},Ot.clearLocationCache=function(){It=null},Ot.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),h=c;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.x<a?a-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(u*u+h*h)}for(var p=f(u);p;){if((u+=p+r)>h)return;p=f(u)}for(p=f(h);p;){if(u>(h-=p+r))return;p=f(h)}return{min:u,max:h,len:h-u,total:c,isClosed:0===u&&h===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},Ot.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<u;){if(i=(f+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;c*o>0?p=i:f=i,h++}return a};var Bt=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||void 0===t)throw new Error(\\\"DOM element provided is null or undefined\\\");return t},Nt=function(t){return t},jt=/^\\\\w*$/,Vt={init2dArray:function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},transposeRagged:function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},dot:function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var r,n,i=t.length;if(t[0].length)for(r=new Array(i),n=0;n<i;n++)r[n]=Vt.dot(t[n],e);else if(e[0].length){var a=Vt.transposeRagged(e);for(r=new Array(a.length),n=0;n<a.length;n++)r[n]=Vt.dot(t,a[n])}else for(r=0,n=0;n<i;n++)r+=t[n]*e[n];return r},translationMatrix:function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},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]]},rotationXYMatrix:function(t,e,r){return Vt.dot(Vt.dot(Vt.translationMatrix(e,r),Vt.rotationMatrix(t)),Vt.translationMatrix(-e,-r))},apply2DTransform:function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var r=1===arguments.length?e[0]:[e[0],e[1]];return Vt.dot(t,[r[0],r[1],1]).slice(0,2)}},apply2DTransform2:function(t){var e=Vt.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},Ut=[],qt=/^(.*)(\\\\.[^\\\\.\\\\[\\\\]]+|\\\\[\\\\d\\\\])$/,Ht=/^[^\\\\.\\\\[\\\\]]+$/,Gt=p.isArrayOrTypedArray,Wt={};function Yt(t,e){return t<e}function Xt(t,e){return t<=e}function Zt(t,e){return t>e}function Jt(t,e){return t>=e}Wt.findBin=function(t,e,n){if(r(e.start))return n?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,a,o=0,s=e.length,l=0,u=s>1?(e[s-1]-e[0])/(s-1):1;for(a=u>=0?n?Yt:Xt:n?Jt:Zt,t+=1e-9*u*(n?-1:1)*(u>=0?1:-1);o<s&&l++<100;)a(e[i=Math.floor((o+s)/2)],t)?o=i+1:s=i;return l>90&&_.log(\\\"Long binary search...\\\"),o-1},Wt.sorterAsc=function(t,e){return t-e},Wt.sorterDes=function(t,e){return e-t},Wt.distinctVals=function(t){var e=t.slice();e.sort(Wt.sorterAsc);for(var r=e.length-1,n=e[r]-e[0]||1,i=n/(r||1)/1e4,a=[e[0]],o=0;o<r;o++)e[o+1]>e[o]+i&&(n=Math.min(n,e[o+1]-e[o]),a.push(e[o+1]));return{vals:a,minDiff:n}},Wt.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=u((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]};var Kt={},Qt=p.isArrayOrTypedArray;Kt.aggNums=function(t,e,n,i){var a,o;if((!i||i>n.length)&&(i=n.length),r(e)||(e=!1),Qt(n[0])){for(o=new Array(i),a=0;a<i;a++)o[a]=Kt.aggNums(t,e,n[a]);n=o}for(a=0;a<i;a++)r(e)?r(n[a])&&(e=t(+e,+n[a])):e=n[a];return e},Kt.len=function(t){return Kt.aggNums(function(t){return t+1},0,t)},Kt.mean=function(t,e){return e||(e=Kt.len(t)),Kt.aggNums(function(t,e){return t+e},0,t)/e},Kt.variance=function(t,e,n){return e||(e=Kt.len(t)),r(n)||(n=Kt.mean(t,e)),Kt.aggNums(function(t,e){return t+Math.pow(e-n,2)},0,t)/e},Kt.stdev=function(t,e,r){return Math.sqrt(Kt.variance(t,e,r))},Kt.interp=function(t,e){if(!r(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 n=e%1;return n*t[Math.ceil(e)]+(1-n)*t[Math.floor(e)]};var $t={},te={};function ee(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}$t.throttle=function(t,e,r){var n=te[t],i=Date.now();if(!n){for(var a in te)te[a].ts<i-6e4&&delete te[a];n=te[t]={ts:0,timer:null}}function o(){r(),n.ts=Date.now(),n.onDone&&(n.onDone(),n.onDone=null)}ee(n),i>n.ts+e?o():n.timer=setTimeout(function(){o(),n.timer=null},e)},$t.done=function(t){var e=te[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},$t.clear=function(t){if(t)ee(te[t]),delete te[t];else for(var e in te)$t.clear(e)};var re=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(e[0],e[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),n},ne={},ie=t.FP_SAFE,ae=t.BADNUM,oe=ne={};oe.nestedProperty=W,oe.keyedContainer=function(t,e,r,n){var i,a;r=r||\\\"name\\\",n=n||\\\"value\\\";var o={};a=e&&e.length?W(t,e).get():t,e=e||\\\"\\\",a=a||[];var s={};for(i=0;i<a.length;i++)s[a[i][r]]=i;var l=jt.test(n),u={set:function(t,e){var i=null===e?4:0,c=s[t];void 0===c?(i|=3,c=a.length,s[t]=c):e!==(l?a[c][n]:W(a[c],n).get())&&(i|=2);var h=a[c]=a[c]||{};return h[r]=t,l?h[n]=e:W(h,n).set(e),null!==e&&(i&=-5),o[c]=o[c]|i,u},get:function(t){var e=s[t];return void 0===e?void 0:l?a[e][n]:W(a[e],n).get()},rename:function(t,e){var n=s[t];return void 0===n?u:(o[n]=1|o[n],s[e]=n,delete s[t],a[n][r]=e,u)},remove:function(t){var e=s[t];if(void 0===e)return u;var c=a[e];if(Object.keys(c).length>2)return o[e]=2|o[e],u.set(t,null);if(l){for(i=e;i<a.length;i++)o[i]=3|o[i];for(i=e;i<a.length;i++)s[a[i][r]]--;a.splice(e,1),delete s[t]}else W(c,n).set(null),o[e]=6|o[e];return u},constructUpdate:function(){for(var t,i,s={},u=Object.keys(o),c=0;c<u.length;c++)i=u[c],t=e+\\\"[\\\"+i+\\\"]\\\",a[i]?(1&o[i]&&(s[t+\\\".\\\"+r]=a[i][r]),2&o[i]&&(s[t+\\\".\\\"+n]=l?4&o[i]?null:a[i][n]:4&o[i]?null:W(a[i],n).get())):s[t]=null;return s}};return u},oe.relativeAttr=function(t,e){for(;e;){var r=t.match(qt);if(r)t=r[1];else{if(!t.match(Ht))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},oe.isPlainObject=v,oe.mod=lt,oe.toLogRange=re,oe.relinkPrivateKeys=function t(e,r){for(var n in r){var i=r[n],a=e[n];if(a!==i)if(\\\"_\\\"===n.charAt(0)||\\\"function\\\"==typeof i){if(n in e)continue;e[n]=i}else if(Gt(i)&&Gt(a)&&v(i[0])){if(\\\"customdata\\\"===n||\\\"ids\\\"===n)continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&v(i[s])&&v(a[s])&&t(a[s],i[s])}else v(i)&&v(a)&&(t(a,i),Object.keys(a).length||delete e[n])}},oe.ensureArray=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t},oe.isTypedArray=p.isTypedArray,oe.isArrayOrTypedArray=p.isArrayOrTypedArray,oe.valObjectMeta=et.valObjectMeta,oe.coerce=et.coerce,oe.coerce2=et.coerce2,oe.coerceFont=et.coerceFont,oe.coerceHoverinfo=et.coerceHoverinfo,oe.coerceSelectionMarkerOpacity=et.coerceSelectionMarkerOpacity,oe.validate=et.validate,oe.dateTime2ms=ut.dateTime2ms,oe.isDateTime=ut.isDateTime,oe.ms2DateTime=ut.ms2DateTime,oe.ms2DateTimeLocal=ut.ms2DateTimeLocal,oe.cleanDate=ut.cleanDate,oe.isJSDate=ut.isJSDate,oe.formatDate=ut.formatDate,oe.incrementMonth=ut.incrementMonth,oe.dateTick0=ut.dateTick0,oe.dfltRange=ut.dfltRange,oe.findExactDates=ut.findExactDates,oe.MIN_MS=ut.MIN_MS,oe.MAX_MS=ut.MAX_MS,oe.findBin=Wt.findBin,oe.sorterAsc=Wt.sorterAsc,oe.sorterDes=Wt.sorterDes,oe.distinctVals=Wt.distinctVals,oe.roundUp=Wt.roundUp,oe.aggNums=Kt.aggNums,oe.len=Kt.len,oe.mean=Kt.mean,oe.variance=Kt.variance,oe.stdev=Kt.stdev,oe.interp=Kt.interp,oe.init2dArray=Vt.init2dArray,oe.transposeRagged=Vt.transposeRagged,oe.dot=Vt.dot,oe.translationMatrix=Vt.translationMatrix,oe.rotationMatrix=Vt.rotationMatrix,oe.rotationXYMatrix=Vt.rotationXYMatrix,oe.apply2DTransform=Vt.apply2DTransform,oe.apply2DTransform2=Vt.apply2DTransform2,oe.deg2rad=n.deg2rad,oe.rad2deg=n.rad2deg,oe.wrap360=n.wrap360,oe.wrap180=n.wrap180,oe.segmentsIntersect=Ot.segmentsIntersect,oe.segmentDistance=Ot.segmentDistance,oe.getTextLocation=Ot.getTextLocation,oe.clearLocationCache=Ot.clearLocationCache,oe.getVisibleSegment=Ot.getVisibleSegment,oe.findPointOnPath=Ot.findPointOnPath,oe.extendFlat=m.extendFlat,oe.extendDeep=m.extendDeep,oe.extendDeepAll=m.extendDeepAll,oe.extendDeepNoArrays=m.extendDeepNoArrays,oe.log=_.log,oe.warn=_.warn,oe.error=_.error,oe.counterRegex=tt.counter,oe.throttle=$t.throttle,oe.throttleDone=$t.done,oe.clearThrottle=$t.clear,oe.getGraphDiv=Bt,oe._=function(t,e){for(var r=t._context.locale,n=0;n<2;n++){for(var i=t._context.locales,a=0;a<2;a++){var o=(i[r]||{}).dictionary;if(o){var s=o[e];if(s)return s}i=P.localeRegistry}var l=r.split(\\\"-\\\")[0];if(l===r)break;r=l}return e},oe.notifier=function(t,n){if(-1===Ut.indexOf(t)){Ut.push(t);var i=1e3;r(n)?i=n:\\\"long\\\"===n&&(i=3e3);var a=e.select(\\\"body\\\").selectAll(\\\".plotly-notifier\\\").data([0]);a.enter().append(\\\"div\\\").classed(\\\"plotly-notifier\\\",!0),a.selectAll(\\\".notifier-note\\\").data(Ut).enter().append(\\\"div\\\").classed(\\\"notifier-note\\\",!0).style(\\\"opacity\\\",0).each(function(t){var r=e.select(this);r.append(\\\"button\\\").classed(\\\"notifier-close\\\",!0).html(\\\"&times;\\\").on(\\\"click\\\",function(){r.transition().call(o)});for(var n=r.append(\\\"p\\\"),a=t.split(/<br\\\\s*\\\\/?>/g),s=0;s<a.length;s++)s&&n.append(\\\"br\\\"),n.append(\\\"span\\\").text(a[s]);r.transition().duration(700).style(\\\"opacity\\\",1).transition().delay(i).call(o)})}function o(t){t.duration(700).style(\\\"opacity\\\",0).each(\\\"end\\\",function(t){var r=Ut.indexOf(t);-1!==r&&Ut.splice(r,1),e.select(this).remove()})}},oe.filterUnique=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r},oe.filterVisible=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?zt:Lt),n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n},oe.pushUnique=k,oe.cleanNumber=function(t){return\\\"string\\\"==typeof t&&(t=t.replace(o,\\\"\\\")),r(t)?Number(t):a},oe.ensureNumber=function(t){return r(t)?(t=Number(t))<-ie||t>ie?ae:r(t)?Number(t):ae:ae},oe.noop=A,oe.identity=Nt,oe.swapAttrs=function(t,e,r,n){r||(r=\\\"x\\\"),n||(n=\\\"y\\\");for(var i=0;i<e.length;i++){var a=e[i],o=oe.nestedProperty(t,a.replace(\\\"?\\\",r)),s=oe.nestedProperty(t,a.replace(\\\"?\\\",n)),l=o.get();o.set(s.get()),s.set(l)}},oe.raiseToTop=function(t){t.parentNode.appendChild(t)},oe.cancelTransition=function(t){return t.transition().duration(0)},oe.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},oe.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},oe.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},oe.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\\\"0\\\";var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=\\\"\\\";for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i<Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&&(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var u=parseInt(s,n);return e&&e.indexOf(s)>-1||u!==1/0&&u>=Math.pow(2,r)?t(e,r,n):s},oe.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},oe.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},oe.syncOrAsync=function(t,e,r){var n;function i(){return oe.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,oe.promiseError);return r&&r(e)},oe.stripTrailingSlash=function(t){return\\\"/\\\"===t.substr(-1)?t.substr(0,t.length-1):t},oe.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n<r.length;n++)void 0!==(i=t[r[n]])&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},oe.mergeArray=function(t,e,r){if(oe.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},oe.fillArray=function(t,e,r,n){if(n=n||oe.identity,oe.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},oe.castOption=function(t,e,r,n){n=n||oe.identity;var i=oe.nestedProperty(t,r).get();return oe.isArrayOrTypedArray(i)?Array.isArray(e)&&oe.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},oe.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=oe.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},oe.tagSelected=function(t,e,n){var i,a,o=e.selectedpoints,s=e._indexToPoints;if(s)for(var l in i={},s)for(var u=s[l],c=0;c<u.length;c++)i[u[c]]=l;function h(e){return void 0!==e&&e<t.length}for(var f=0;f<o.length;f++){var p=o[f];if(r(a=p)&&a>=0&&a%1==0){var d=i?i[p]:p,g=n?n[d]:d;h(g)&&(t[g].selected=1)}}},oe.getTargetArray=function(t,e){var r=e.target;if(\\\"string\\\"==typeof r&&r){var n=oe.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},oe.minExtend=function(t,e){var r={};\\\"object\\\"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\\\"_\\\"!==i.charAt(0)&&\\\"function\\\"!=typeof a&&(\\\"module\\\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\\\"object\\\"==typeof a?oe.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\\\"object\\\"==typeof(a=e[i=o[n]])&&i in r&&\\\"object\\\"==typeof r[i]||(r[i]=a);return r},oe.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},oe.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},oe.isPlotDiv=function(t){var r=e.select(t);return r.node()instanceof HTMLElement&&r.size()&&r.classed(\\\"js-plotly-plot\\\")},oe.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},oe.addStyleRule=function(t,e){if(!oe.styleSheet){var r=document.createElement(\\\"style\\\");r.appendChild(document.createTextNode(\\\"\\\")),document.head.appendChild(r),oe.styleSheet=r.sheet}var n=oe.styleSheet;n.insertRule?n.insertRule(t+\\\"{\\\"+e+\\\"}\\\",0):n.addRule?n.addRule(t,e,0):oe.warn(\\\"addStyleRule failed\\\")},oe.isIE=function(){return void 0!==window.navigator.msSaveBlob},oe.isD3Selection=function(t){return t&&\\\"function\\\"==typeof t.classed},oe.objectFromPath=function(t,e){for(var r,n=t.split(\\\".\\\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\\\[([0-9]+)\\\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var se=/^([^\\\\[\\\\.]+)\\\\.(.+)?/,le=/^([^\\\\.]+)\\\\[([0-9]+)\\\\](\\\\.)?(.+)?/;oe.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\\\"object\\\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(se))?(i=t[r],n=e[1],delete t[r],t[n]=oe.extendDeepNoArrays(t[n]||{},oe.objectFromPath(r,oe.expandObjectPaths(i))[n])):(e=r.match(le))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\\\".\\\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},oe.extendDeepNoArrays(o,oe.objectFromPath(s,oe.expandObjectPaths(i)))):t[n][a]=oe.expandObjectPaths(i)):t[r]=oe.expandObjectPaths(t[r]));return t},oe.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})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\\\".\\\"),s=o[0],l=o.length>1?i+o[1]:\\\"\\\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\\\"$1\\\"+a+\\\"$2\\\");return s+l};var ue=/%{([^\\\\s%{}]*)}/g,ce=/^\\\\w*$/;oe.templateString=function(t,e){var r={};return t.replace(ue,function(t,n){return ce.test(n)?e[n]||\\\"\\\":(r[n]=r[n]||oe.nestedProperty(e,n).get,r[n]()||\\\"\\\")})};oe.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var he=2e9;oe.seedPseudoRandom=function(){he=2e9},oe.pseudoRandom=function(){var t=he;return he=(69069*he+1)%4294967296,Math.abs(he-t)<429496729?oe.pseudoRandom():he/4294967296};var fe=ne.extendFlat,pe=ne.isPlainObject,de={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"clearAxisTypes\\\",\\\"plot\\\",\\\"style\\\",\\\"colorbars\\\"]},ge={valType:\\\"flaglist\\\",extras:[\\\"none\\\"],flags:[\\\"calc\\\",\\\"calcIfAutorange\\\",\\\"plot\\\",\\\"legend\\\",\\\"ticks\\\",\\\"margins\\\",\\\"layoutstyle\\\",\\\"modebar\\\",\\\"camera\\\",\\\"arraydraw\\\"]},ve=de.flags.slice().concat([\\\"clearCalc\\\",\\\"fullReplot\\\"]),me=ge.flags.slice().concat(\\\"layoutReplot\\\"),ye={traces:de,layout:ge,traceFlags:function(){return xe(ve)},layoutFlags:function(){return xe(me)},update:function(t,e){var r=e.editType;if(r&&\\\"none\\\"!==r)for(var n=r.split(\\\"+\\\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:be};function xe(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function be(t,e,r){var n=fe({},t);for(var i in n){var a=n[i];pe(a)&&(n[i]=_e(a,e,r,i))}return\\\"from-root\\\"===r&&(n.editType=e),n}function _e(t,e,r,n){if(t.valType){var i=fe({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var a=0;a<t.items.length;a++)i.items[a]=_e(t.items[a],e,\\\"from-root\\\")}return i}return be(t,e,\\\"_\\\"===n.charAt(0)?\\\"nested\\\":\\\"from-root\\\")}var we={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},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\\\"]}}},Me={_isLinkedToArray:\\\"frames_entry\\\",group:{valType:\\\"string\\\"},name:{valType:\\\"string\\\"},traces:{valType:\\\"any\\\"},baseframe:{valType:\\\"string\\\"},data:{valType:\\\"any\\\"},layout:{valType:\\\"any\\\"}},Ae={dash:{valType:\\\"string\\\",values:[\\\"solid\\\",\\\"dot\\\",\\\"dash\\\",\\\"longdash\\\",\\\"dashdot\\\",\\\"longdashdot\\\"],dflt:\\\"solid\\\",editType:\\\"style\\\"}},ke=tt.counter,Te={idRegex:{x:ke(\\\"x\\\"),y:ke(\\\"y\\\")},attrRegex:ke(\\\"[xy]axis\\\"),xAxisMatch:ke(\\\"xaxis\\\"),yAxisMatch:ke(\\\"yaxis\\\"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,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\\\",\\\"maplayer\\\",\\\"barlayer\\\",\\\"carpetlayer\\\",\\\"violinlayer\\\",\\\"boxlayer\\\",\\\"scatterlayer\\\"],layerValue2layerClass:{\\\"above traces\\\":\\\"above\\\",\\\"below traces\\\":\\\"below\\\"}},Se=Ae.dash,Ee=m.extendFlat,Ce={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},color:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"ticks\\\"},title:{valType:\\\"string\\\",editType:\\\"ticks+margins\\\"},titlefont:T({editType:\\\"ticks+margins\\\"}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"log\\\",\\\"date\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},autorange:{valType:\\\"enumerated\\\",values:[!0,!1,\\\"reversed\\\"],dflt:!0,editType:\\\"calc\\\",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:\\\"plot+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}},{valType:\\\"any\\\",editType:\\\"plot+margins\\\",impliedEdits:{\\\"^autorange\\\":!1}}],editType:\\\"plot+margins\\\",impliedEdits:{autorange:!1}},fixedrange:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},scaleanchor:{valType:\\\"enumerated\\\",values:[Te.idRegex.x.toString(),Te.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\\\"},tickmode:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"linear\\\",\\\"array\\\"],editType:\\\"ticks+margins\\\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"ticks+margins\\\"},tick0:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},dtick:{valType:\\\"any\\\",editType:\\\"ticks+margins\\\",impliedEdits:{tickmode:\\\"linear\\\"}},tickvals:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticktext:{valType:\\\"data_array\\\",editType:\\\"ticks+margins\\\"},ticks:{valType:\\\"enumerated\\\",values:[\\\"outside\\\",\\\"inside\\\",\\\"\\\"],editType:\\\"ticks+margins\\\"},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:C.defaultLine,editType:\\\"ticks\\\"},showticklabels:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"ticks+margins\\\"},automargin:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},showspikes:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"modebar\\\"},spikecolor:{valType:\\\"color\\\",dflt:null,editType:\\\"none\\\"},spikethickness:{valType:\\\"number\\\",dflt:3,editType:\\\"none\\\"},spikedash:Ee({},Se,{dflt:\\\"dash\\\",editType:\\\"none\\\"}),spikemode:{valType:\\\"flaglist\\\",flags:[\\\"toaxis\\\",\\\"across\\\",\\\"marker\\\"],dflt:\\\"toaxis\\\",editType:\\\"none\\\"},spikesnap:{valType:\\\"enumerated\\\",values:[\\\"data\\\",\\\"cursor\\\"],dflt:\\\"data\\\",editType:\\\"none\\\"},tickfont:T({editType:\\\"ticks+margins\\\"}),tickangle:{valType:\\\"angle\\\",dflt:\\\"auto\\\",editType:\\\"ticks+margins\\\"},tickprefix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showtickprefix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},ticksuffix:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},showticksuffix:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},showexponent:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"first\\\",\\\"last\\\",\\\"none\\\"],dflt:\\\"all\\\",editType:\\\"ticks+margins\\\"},exponentformat:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"e\\\",\\\"E\\\",\\\"power\\\",\\\"SI\\\",\\\"B\\\"],dflt:\\\"B\\\",editType:\\\"ticks+margins\\\"},separatethousands:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"ticks+margins\\\"},tickformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},tickformatstops:{_isLinkedToArray:\\\"tickformatstop\\\",dtickrange:{valType:\\\"info_array\\\",items:[{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"},{valType:\\\"any\\\",editType:\\\"ticks+margins\\\"}],editType:\\\"ticks+margins\\\"},value:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"ticks+margins\\\"},editType:\\\"ticks+margins\\\"},hoverformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"none\\\"},showline:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"layoutstyle\\\"},linecolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"layoutstyle\\\"},linewidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks+layoutstyle\\\"},showgrid:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},gridcolor:{valType:\\\"color\\\",dflt:C.lightLine,editType:\\\"ticks\\\"},gridwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"ticks\\\"},zeroline:{valType:\\\"boolean\\\",editType:\\\"ticks\\\"},zerolinecolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"ticks\\\"},zerolinewidth:{valType:\\\"number\\\",dflt:1,editType:\\\"ticks\\\"},anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\",Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\\\"plot+margins\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"],editType:\\\"plot+margins\\\"},overlaying:{valType:\\\"enumerated\\\",values:[\\\"free\\\",Te.idRegex.x.toString(),Te.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+margins\\\"},{valType:\\\"number\\\",min:0,max:1,editType:\\\"plot+margins\\\"}],dflt:[0,1],editType:\\\"plot+margins\\\"},position:{valType:\\\"number\\\",min:0,max:1,dflt:0,editType:\\\"plot+margins\\\"},categoryorder:{valType:\\\"enumerated\\\",values:[\\\"trace\\\",\\\"category ascending\\\",\\\"category descending\\\",\\\"array\\\"],dflt:\\\"trace\\\",editType:\\\"calc\\\"},categoryarray:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\",_deprecated:{autotick:{valType:\\\"boolean\\\",editType:\\\"ticks+margins\\\"}}},Le=m.extendFlat,ze=(0,ye.overrideAll)({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:Ce.linecolor,outlinewidth:Ce.linewidth,bordercolor:Ce.linecolor,borderwidth:{valType:\\\"number\\\",min:0,dflt:0},bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\"},tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Le({},Ce.ticks,{dflt:\\\"\\\"}),ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:T({}),tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,separatethousands:Ce.separatethousands,exponentformat:Ce.exponentformat,showexponent:Ce.showexponent,title:{valType:\\\"string\\\"},titlefont:T({}),titleside:{valType:\\\"enumerated\\\",values:[\\\"right\\\",\\\"top\\\",\\\"bottom\\\"],dflt:\\\"top\\\"}},\\\"colorbars\\\",\\\"from-root\\\"),Pe={zauto:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},zmax:{valType:\\\"number\\\",dflt:null,editType:\\\"plot\\\",impliedEdits:{zauto:!1}},colorscale:{valType:\\\"colorscale\\\",editType:\\\"calc\\\",impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\",impliedEdits:{colorscale:void 0}},reversescale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},showscale:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"}},Ie=m.extendFlat,De=function(t,e,r){return{color:{valType:\\\"color\\\",arrayOk:!0,editType:e||\\\"style\\\"},colorscale:Ie({},Pe.colorscale,{}),cauto:Ie({},Pe.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:Ie({},Pe.zmax,{editType:e||Pe.zmax.editType,impliedEdits:{cauto:!1}}),cmin:Ie({},Pe.zmin,{editType:e||Pe.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:Ie({},Pe.autocolorscale,{dflt:!1===r?r:Pe.autocolorscale.dflt}),reversescale:Ie({},Pe.reversescale,{})}},Oe={},Re=Oe={};Re.defaults=C.defaults;var Fe=Re.defaultLine=C.defaultLine;Re.lightLine=C.lightLine;var Be=Re.background=C.background;function Ne(t){if(r(t)||\\\"string\\\"!=typeof t)return t;var e=t.trim();if(\\\"rgb\\\"!==e.substr(0,3))return t;var n=e.match(/^rgba?\\\\s*\\\\(([^()]*)\\\\)$/);if(!n)return t;var i=n[1].trim().split(/\\\\s*[\\\\s,]\\\\s*/),a=\\\"a\\\"===e.charAt(3)&&4===i.length;if(!a&&3!==i.length)return t;for(var o=0;o<i.length;o++){if(!i[o].length)return t;if(i[o]=Number(i[o]),!(i[o]>=0))return t;if(3===o)i[o]>1&&(i[o]=1);else if(i[o]>=1)return t}var s=Math.round(255*i[0])+\\\", \\\"+Math.round(255*i[1])+\\\", \\\"+Math.round(255*i[2]);return a?\\\"rgba(\\\"+s+\\\", \\\"+i[3]+\\\")\\\":\\\"rgb(\\\"+s+\\\")\\\"}Re.tinyRGB=function(t){var e=t.toRgb();return\\\"rgb(\\\"+Math.round(e.r)+\\\", \\\"+Math.round(e.g)+\\\", \\\"+Math.round(e.b)+\\\")\\\"},Re.rgb=function(t){return Re.tinyRGB(s(t))},Re.opacity=function(t){return t?s(t).getAlpha():0},Re.addOpacity=function(t,e){var r=s(t).toRgb();return\\\"rgba(\\\"+Math.round(r.r)+\\\", \\\"+Math.round(r.g)+\\\", \\\"+Math.round(r.b)+\\\", \\\"+e+\\\")\\\"},Re.combine=function(t,e){var r=s(t).toRgb();if(1===r.a)return s(t).toRgbString();var n=s(e||Be).toRgb(),i=1===n.a?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={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 s(a).toRgbString()},Re.contrast=function(t,e,r){var n=s(t);return 1!==n.getAlpha()&&(n=s(Re.combine(t,Be))),(n.isDark()?e?n.lighten(e):Be:r?n.darken(r):Fe).toString()},Re.stroke=function(t,e){var r=s(e);t.style({stroke:Re.tinyRGB(r),\\\"stroke-opacity\\\":r.getAlpha()})},Re.fill=function(t,e){var r=s(e);t.style({fill:Re.tinyRGB(r),\\\"fill-opacity\\\":r.getAlpha()})},Re.clean=function(t){if(t&&\\\"object\\\"==typeof t){var e,r,n,i,a=Object.keys(t);for(e=0;e<a.length;e++)if(i=t[n=a[e]],\\\"color\\\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=Ne(i[r]);else t[n]=Ne(i);else if(\\\"colorscale\\\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=Ne(i[r][1]));else if(Array.isArray(i)){var o=i[0];if(!Array.isArray(o)&&o&&\\\"object\\\"==typeof o)for(r=0;r<i.length;r++)Re.clean(i[r])}else i&&\\\"object\\\"==typeof i&&Re.clean(i)}};var je=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n},Ve=function(t,e,r,n){var i,a;r?(i=ne.nestedProperty(t,r).get(),a=ne.nestedProperty(t._input,r).get()):(i=t,a=t._input);var o=n+\\\"auto\\\",s=n+\\\"min\\\",u=n+\\\"max\\\",c=i[o],h=i[s],f=i[u],p=i.colorscale;!1===c&&void 0!==h||(h=ne.aggNums(Math.min,null,e)),!1===c&&void 0!==f||(f=ne.aggNums(Math.max,null,e)),h===f&&(h-=.5,f+=.5),i[s]=h,i[u]=f,a[s]=h,a[u]=f,a[o]=!1!==c||void 0===h&&void 0===f,i.autocolorscale&&(p=h*f<0?l.RdBu:h>=0?l.Reds:l.Blues,a.colorscale=p,i.reversescale&&(p=je(p)),i.colorscale=p)},Ue=function(t,e,r,n,i){var a=function(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]]}(t);if(r(\\\"tickprefix\\\")&&r(\\\"showtickprefix\\\",a),r(\\\"ticksuffix\\\",i.tickSuffixDflt)&&r(\\\"showticksuffix\\\",a),r(\\\"showticklabels\\\")){var o=i.font||{},s=e.color===t.color?e.color:o.color;if(ne.coerceFont(r,\\\"tickfont\\\",{family:o.family,size:o.size,color:s}),r(\\\"tickangle\\\"),\\\"category\\\"!==n){var l=r(\\\"tickformat\\\");!function(t,e){var r,n,i=t.tickformatstops,a=e.tickformatstops=[];if(!Array.isArray(i))return;function o(t,e){return ne.coerce(r,n,Ce.tickformatstops,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\\\"dtickrange\\\"),o(\\\"value\\\"),a.push(n)}(t,e),l||\\\"date\\\"===n||(r(\\\"showexponent\\\",a),r(\\\"exponentformat\\\"),r(\\\"separatethousands\\\"))}}};var qe=function(t,e,r,n){var i=ne.coerce2(t,e,Ce,\\\"ticklen\\\"),a=ne.coerce2(t,e,Ce,\\\"tickwidth\\\"),o=ne.coerce2(t,e,Ce,\\\"tickcolor\\\",e.color);r(\\\"ticks\\\",n.outerTicks||i||a||o?\\\"outside\\\":\\\"\\\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)},He=t.ONEDAY,Ge=function(t,e,n,i){var a=\\\"auto\\\";\\\"array\\\"!==t.tickmode||\\\"log\\\"!==i&&\\\"date\\\"!==i||(t.tickmode=\\\"auto\\\"),Array.isArray(t.tickvals)?a=\\\"array\\\":t.dtick&&(a=\\\"linear\\\");var o=n(\\\"tickmode\\\",a);if(\\\"auto\\\"===o)n(\\\"nticks\\\");else if(\\\"linear\\\"===o){var s=\\\"date\\\"===i?He:1,l=n(\\\"dtick\\\",s);if(r(l))e.dtick=l>0?Number(l):s;else if(\\\"string\\\"!=typeof l)e.dtick=s;else{var u=l.charAt(0),c=l.substr(1);((c=r(c)?Number(c):0)<=0||!(\\\"date\\\"===i&&\\\"M\\\"===u&&c===Math.round(c)||\\\"log\\\"===i&&\\\"L\\\"===u||\\\"log\\\"===i&&\\\"D\\\"===u&&(1===c||2===c)))&&(e.dtick=s)}var h=\\\"date\\\"===i?ne.dateTick0(e.calendar):0,f=n(\\\"tick0\\\",h);\\\"date\\\"===i?e.tick0=ne.cleanDate(f,h):r(f)&&\\\"D1\\\"!==l&&\\\"D2\\\"!==l?e.tick0=Number(f):e.tick0=h}else{void 0===n(\\\"tickvals\\\")?e.tickmode=\\\"auto\\\":n(\\\"ticktext\\\")}},We=function(t){return void 0!==l[t]||c(t)},Ye=function(t,e,n,i,a){var o,s=a.prefix,l=a.cLetter,u=s.slice(0,s.length-1),c=s?ne.nestedProperty(t,u).get()||{}:t,h=s?ne.nestedProperty(e,u).get()||{}:e,f=c[l+\\\"min\\\"],p=c[l+\\\"max\\\"],d=c.colorscale;i(s+l+\\\"auto\\\",!(r(f)&&r(p)&&f<p)),i(s+l+\\\"min\\\"),i(s+l+\\\"max\\\"),void 0!==d&&(o=!We(d)),i(s+\\\"autocolorscale\\\",o);var g,v,m=i(s+\\\"colorscale\\\");(i(s+\\\"reversescale\\\")&&(h.colorscale=je(m)),\\\"marker.line.\\\"!==s)&&(s&&(v=c,g=ne.isPlainObject(v.colorbar)),i(s+\\\"showscale\\\",g)&&function(t,e,r){var n=e.colorbar={},i=t.colorbar||{};function a(t,e){return ne.coerce(i,n,ze,t,e)}a(\\\"thickness\\\",\\\"fraction\\\"===a(\\\"thicknessmode\\\")?30/(r.width-r.margin.l-r.margin.r):30),a(\\\"len\\\",\\\"fraction\\\"===a(\\\"lenmode\\\")?1:r.height-r.margin.t-r.margin.b),a(\\\"x\\\"),a(\\\"xanchor\\\"),a(\\\"xpad\\\"),a(\\\"y\\\"),a(\\\"yanchor\\\"),a(\\\"ypad\\\"),ne.noneOrAll(i,n,[\\\"x\\\",\\\"y\\\"]),a(\\\"outlinecolor\\\"),a(\\\"outlinewidth\\\"),a(\\\"bordercolor\\\"),a(\\\"borderwidth\\\"),a(\\\"bgcolor\\\"),Ge(i,n,a,\\\"linear\\\");var o={outerTicks:!1,font:r.font};Ue(i,n,a,\\\"linear\\\",o),qe(i,n,a,\\\"linear\\\",o),a(\\\"title\\\",r._dfltTitle.colorbar),ne.coerceFont(a,\\\"titlefont\\\",r.font),a(\\\"titleside\\\")}(c,h,n))},Xe=function(t,e){var n=e?ne.nestedProperty(t,e).get()||{}:t,i=n.color,a=!1;if(ne.isArrayOrTypedArray(i))for(var o=0;o<i.length;o++)if(r(i[o])){a=!0;break}return ne.isPlainObject(n)&&(a||!0===n.showscale||r(n.cmin)&&r(n.cmax)||We(n.colorscale)||ne.isPlainObject(n.colorbar))};function Ze(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return s(e).toRgbString()}var Je={};Je.scales=l,Je.defaultScale=u,Je.attributes=Pe,Je.handleDefaults=Ye,Je.calc=Ve,Je.hasColorscale=Xe,Je.isValidScale=We,Je.getScale=h,Je.flipScale=je,Je.extractScale=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}},Je.makeColorScaleFunc=function(t,n){n=n||{};for(var i=t.domain,a=t.range,o=a.length,l=new Array(o),u=0;u<o;u++){var c=s(a[u]).toRgb();l[u]=[c.r,c.g,c.b,c.a]}var h,f=e.scale.linear().domain(i).range(l).clamp(!0),p=n.noNumericCheck,d=n.returnArray;return(h=p&&d?f:p?function(t){return Ze(f(t))}:d?function(t){return r(t)?f(t):s(t).isValid()?t:Oe.defaultLine}:function(t){return r(t)?Ze(f(t)):s(t).isValid()?t:Oe.defaultLine}).domain=f.domain,h.range=function(){return a},h};var Ke={circle:{n:0,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",0A\\\"+r+\\\",\\\"+r+\\\" 0 1,1 0,-\\\"+r+\\\"A\\\"+r+\\\",\\\"+r+\\\" 0 0,1 \\\"+r+\\\",0Z\\\"}},square:{n:1,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+r+\\\"Z\\\"}},diamond:{n:2,f:function(t){var r=e.round(1.3*t,2);return\\\"M\\\"+r+\\\",0L0,\\\"+r+\\\"L-\\\"+r+\\\",0L0,-\\\"+r+\\\"Z\\\"}},cross:{n:3,f:function(t){var r=e.round(.4*t,2),n=e.round(1.2*t,2);return\\\"M\\\"+n+\\\",\\\"+r+\\\"H\\\"+r+\\\"V\\\"+n+\\\"H-\\\"+r+\\\"V\\\"+r+\\\"H-\\\"+n+\\\"V-\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+n+\\\"H\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+n+\\\"Z\\\"}},x:{n:4,f:function(t){var r=e.round(.8*t/Math.sqrt(2),2),n=\\\"l\\\"+r+\\\",\\\"+r,i=\\\"l\\\"+r+\\\",-\\\"+r,a=\\\"l-\\\"+r+\\\",-\\\"+r,o=\\\"l-\\\"+r+\\\",\\\"+r;return\\\"M0,\\\"+r+n+i+a+i+a+o+a+o+n+o+n+\\\"Z\\\"}},\\\"triangle-up\\\":{n:5,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M-\\\"+r+\\\",\\\"+e.round(t/2,2)+\\\"H\\\"+r+\\\"L0,-\\\"+e.round(t,2)+\\\"Z\\\"}},\\\"triangle-down\\\":{n:6,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M-\\\"+r+\\\",-\\\"+e.round(t/2,2)+\\\"H\\\"+r+\\\"L0,\\\"+e.round(t,2)+\\\"Z\\\"}},\\\"triangle-left\\\":{n:7,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M\\\"+e.round(t/2,2)+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L-\\\"+e.round(t,2)+\\\",0Z\\\"}},\\\"triangle-right\\\":{n:8,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\\\"M-\\\"+e.round(t/2,2)+\\\",-\\\"+r+\\\"V\\\"+r+\\\"L\\\"+e.round(t,2)+\\\",0Z\\\"}},\\\"triangle-ne\\\":{n:9,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M-\\\"+n+\\\",-\\\"+r+\\\"H\\\"+r+\\\"V\\\"+n+\\\"Z\\\"}},\\\"triangle-se\\\":{n:10,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M\\\"+r+\\\",-\\\"+n+\\\"V\\\"+r+\\\"H-\\\"+n+\\\"Z\\\"}},\\\"triangle-sw\\\":{n:11,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M\\\"+n+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+n+\\\"Z\\\"}},\\\"triangle-nw\\\":{n:12,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\\\"M-\\\"+r+\\\",\\\"+n+\\\"V-\\\"+r+\\\"H\\\"+n+\\\"Z\\\"}},pentagon:{n:13,f:function(t){var r=e.round(.951*t,2),n=e.round(.588*t,2),i=e.round(-t,2),a=e.round(-.309*t,2);return\\\"M\\\"+r+\\\",\\\"+a+\\\"L\\\"+n+\\\",\\\"+e.round(.809*t,2)+\\\"H-\\\"+n+\\\"L-\\\"+r+\\\",\\\"+a+\\\"L0,\\\"+i+\\\"Z\\\"}},hexagon:{n:14,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\\\"M\\\"+i+\\\",-\\\"+n+\\\"V\\\"+n+\\\"L0,\\\"+r+\\\"L-\\\"+i+\\\",\\\"+n+\\\"V-\\\"+n+\\\"L0,-\\\"+r+\\\"Z\\\"}},hexagon2:{n:15,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\\\"M-\\\"+n+\\\",\\\"+i+\\\"H\\\"+n+\\\"L\\\"+r+\\\",0L\\\"+n+\\\",-\\\"+i+\\\"H-\\\"+n+\\\"L-\\\"+r+\\\",0Z\\\"}},octagon:{n:16,f:function(t){var r=e.round(.924*t,2),n=e.round(.383*t,2);return\\\"M-\\\"+n+\\\",-\\\"+r+\\\"H\\\"+n+\\\"L\\\"+r+\\\",-\\\"+n+\\\"V\\\"+n+\\\"L\\\"+n+\\\",\\\"+r+\\\"H-\\\"+n+\\\"L-\\\"+r+\\\",\\\"+n+\\\"V-\\\"+n+\\\"Z\\\"}},star:{n:17,f:function(t){var r=1.4*t,n=e.round(.225*r,2),i=e.round(.951*r,2),a=e.round(.363*r,2),o=e.round(.588*r,2),s=e.round(-r,2),l=e.round(-.309*r,2),u=e.round(.118*r,2),c=e.round(.809*r,2);return\\\"M\\\"+n+\\\",\\\"+l+\\\"H\\\"+i+\\\"L\\\"+a+\\\",\\\"+u+\\\"L\\\"+o+\\\",\\\"+c+\\\"L0,\\\"+e.round(.382*r,2)+\\\"L-\\\"+o+\\\",\\\"+c+\\\"L-\\\"+a+\\\",\\\"+u+\\\"L-\\\"+i+\\\",\\\"+l+\\\"H-\\\"+n+\\\"L0,\\\"+s+\\\"Z\\\"}},hexagram:{n:18,f:function(t){var r=e.round(.66*t,2),n=e.round(.38*t,2),i=e.round(.76*t,2);return\\\"M-\\\"+i+\\\",0l-\\\"+n+\\\",-\\\"+r+\\\"h\\\"+i+\\\"l\\\"+n+\\\",-\\\"+r+\\\"l\\\"+n+\\\",\\\"+r+\\\"h\\\"+i+\\\"l-\\\"+n+\\\",\\\"+r+\\\"l\\\"+n+\\\",\\\"+r+\\\"h-\\\"+i+\\\"l-\\\"+n+\\\",\\\"+r+\\\"l-\\\"+n+\\\",-\\\"+r+\\\"h-\\\"+i+\\\"Z\\\"}},\\\"star-triangle-up\\\":{n:19,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M-\\\"+r+\\\",\\\"+n+o+r+\\\",\\\"+n+o+\\\"0,-\\\"+i+o+\\\"-\\\"+r+\\\",\\\"+n+\\\"Z\\\"}},\\\"star-triangle-down\\\":{n:20,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\\\"A \\\"+a+\\\",\\\"+a+\\\" 0 0 1 \\\";return\\\"M\\\"+r+\\\",-\\\"+n+o+\\\"-\\\"+r+\\\",-\\\"+n+o+\\\"0,\\\"+i+o+r+\\\",-\\\"+n+\\\"Z\\\"}},\\\"star-square\\\":{n:21,f:function(t){var r=e.round(1.1*t,2),n=e.round(2*t,2),i=\\\"A \\\"+n+\\\",\\\"+n+\\\" 0 0 1 \\\";return\\\"M-\\\"+r+\\\",-\\\"+r+i+\\\"-\\\"+r+\\\",\\\"+r+i+r+\\\",\\\"+r+i+r+\\\",-\\\"+r+i+\\\"-\\\"+r+\\\",-\\\"+r+\\\"Z\\\"}},\\\"star-diamond\\\":{n:22,f:function(t){var r=e.round(1.4*t,2),n=e.round(1.9*t,2),i=\\\"A \\\"+n+\\\",\\\"+n+\\\" 0 0 1 \\\";return\\\"M-\\\"+r+\\\",0\\\"+i+\\\"0,\\\"+r+i+r+\\\",0\\\"+i+\\\"0,-\\\"+r+i+\\\"-\\\"+r+\\\",0Z\\\"}},\\\"diamond-tall\\\":{n:23,f:function(t){var r=e.round(.7*t,2),n=e.round(1.4*t,2);return\\\"M0,\\\"+n+\\\"L\\\"+r+\\\",0L0,-\\\"+n+\\\"L-\\\"+r+\\\",0Z\\\"}},\\\"diamond-wide\\\":{n:24,f:function(t){var r=e.round(1.4*t,2),n=e.round(.7*t,2);return\\\"M0,\\\"+n+\\\"L\\\"+r+\\\",0L0,-\\\"+n+\\\"L-\\\"+r+\\\",0Z\\\"}},hourglass:{n:25,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"L\\\"+r+\\\",-\\\"+r+\\\"H-\\\"+r+\\\"Z\\\"},noDot:!0},bowtie:{n:26,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"V-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r+\\\"V-\\\"+r+\\\"Z\\\"},noDot:!0},\\\"circle-cross\\\":{n:27,f:function(t){var r=e.round(t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r+\\\"M\\\"+r+\\\",0A\\\"+r+\\\",\\\"+r+\\\" 0 1,1 0,-\\\"+r+\\\"A\\\"+r+\\\",\\\"+r+\\\" 0 0,1 \\\"+r+\\\",0Z\\\"},needLine:!0,noDot:!0},\\\"circle-x\\\":{n:28,f:function(t){var r=e.round(t,2),n=e.round(t/Math.sqrt(2),2);return\\\"M\\\"+n+\\\",\\\"+n+\\\"L-\\\"+n+\\\",-\\\"+n+\\\"M\\\"+n+\\\",-\\\"+n+\\\"L-\\\"+n+\\\",\\\"+n+\\\"M\\\"+r+\\\",0A\\\"+r+\\\",\\\"+r+\\\" 0 1,1 0,-\\\"+r+\\\"A\\\"+r+\\\",\\\"+r+\\\" 0 0,1 \\\"+r+\\\",0Z\\\"},needLine:!0,noDot:!0},\\\"square-cross\\\":{n:29,f:function(t){var r=e.round(t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r+\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+r+\\\"Z\\\"},needLine:!0,noDot:!0},\\\"square-x\\\":{n:30,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"L-\\\"+r+\\\",-\\\"+r+\\\"M\\\"+r+\\\",-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r+\\\"M\\\"+r+\\\",\\\"+r+\\\"H-\\\"+r+\\\"V-\\\"+r+\\\"H\\\"+r+\\\"Z\\\"},needLine:!0,noDot:!0},\\\"diamond-cross\\\":{n:31,f:function(t){var r=e.round(1.3*t,2);return\\\"M\\\"+r+\\\",0L0,\\\"+r+\\\"L-\\\"+r+\\\",0L0,-\\\"+r+\\\"ZM0,-\\\"+r+\\\"V\\\"+r+\\\"M-\\\"+r+\\\",0H\\\"+r},needLine:!0,noDot:!0},\\\"diamond-x\\\":{n:32,f:function(t){var r=e.round(1.3*t,2),n=e.round(.65*t,2);return\\\"M\\\"+r+\\\",0L0,\\\"+r+\\\"L-\\\"+r+\\\",0L0,-\\\"+r+\\\"ZM-\\\"+n+\\\",-\\\"+n+\\\"L\\\"+n+\\\",\\\"+n+\\\"M-\\\"+n+\\\",\\\"+n+\\\"L\\\"+n+\\\",-\\\"+n},needLine:!0,noDot:!0},\\\"cross-thin\\\":{n:33,f:function(t){var r=e.round(1.4*t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"x-thin\\\":{n:34,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"L-\\\"+r+\\\",-\\\"+r+\\\"M\\\"+r+\\\",-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var r=e.round(1.2*t,2),n=e.round(.85*t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r+\\\"M\\\"+r+\\\",0H-\\\"+r+\\\"M\\\"+n+\\\",\\\"+n+\\\"L-\\\"+n+\\\",-\\\"+n+\\\"M\\\"+n+\\\",-\\\"+n+\\\"L-\\\"+n+\\\",\\\"+n},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var r=e.round(t/2,2),n=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+n+\\\"V-\\\"+n+\\\"m-\\\"+n+\\\",0V\\\"+n+\\\"M\\\"+n+\\\",\\\"+r+\\\"H-\\\"+n+\\\"m0,-\\\"+n+\\\"H\\\"+n},needLine:!0,noFill:!0},\\\"y-up\\\":{n:37,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M-\\\"+r+\\\",\\\"+i+\\\"L0,0M\\\"+r+\\\",\\\"+i+\\\"L0,0M0,-\\\"+n+\\\"L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"y-down\\\":{n:38,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M-\\\"+r+\\\",-\\\"+i+\\\"L0,0M\\\"+r+\\\",-\\\"+i+\\\"L0,0M0,\\\"+n+\\\"L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"y-left\\\":{n:39,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M\\\"+i+\\\",\\\"+r+\\\"L0,0M\\\"+i+\\\",-\\\"+r+\\\"L0,0M-\\\"+n+\\\",0L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"y-right\\\":{n:40,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\\\"M-\\\"+i+\\\",\\\"+r+\\\"L0,0M-\\\"+i+\\\",-\\\"+r+\\\"L0,0M\\\"+n+\\\",0L0,0\\\"},needLine:!0,noDot:!0,noFill:!0},\\\"line-ew\\\":{n:41,f:function(t){var r=e.round(1.4*t,2);return\\\"M\\\"+r+\\\",0H-\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"line-ns\\\":{n:42,f:function(t){var r=e.round(1.4*t,2);return\\\"M0,\\\"+r+\\\"V-\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"line-ne\\\":{n:43,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",-\\\"+r+\\\"L-\\\"+r+\\\",\\\"+r},needLine:!0,noDot:!0,noFill:!0},\\\"line-nw\\\":{n:44,f:function(t){var r=e.round(t,2);return\\\"M\\\"+r+\\\",\\\"+r+\\\"L-\\\"+r+\\\",-\\\"+r},needLine:!0,noDot:!0,noFill:!0}},Qe={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,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}},$e={xmlns:\\\"http://www.w3.org/2000/xmlns/\\\",svg:\\\"http://www.w3.org/2000/svg\\\",xlink:\\\"http://www.w3.org/1999/xlink\\\"};$e.svgAttrs={xmlns:$e.svg,\\\"xmlns:xlink\\\":$e.xlink};var tr={entityToUnicode:{mu:\\\"\\\\u03bc\\\",\\\"#956\\\":\\\"\\\\u03bc\\\",amp:\\\"&\\\",\\\"#28\\\":\\\"&\\\",lt:\\\"<\\\",\\\"#60\\\":\\\"<\\\",gt:\\\">\\\",\\\"#62\\\":\\\">\\\",nbsp:\\\"\\\\xa0\\\",\\\"#160\\\":\\\"\\\\xa0\\\",times:\\\"\\\\xd7\\\",\\\"#215\\\":\\\"\\\\xd7\\\",plusmn:\\\"\\\\xb1\\\",\\\"#177\\\":\\\"\\\\xb1\\\",deg:\\\"\\\\xb0\\\",\\\"#176\\\":\\\"\\\\xb0\\\"}},er={},rr=Qe.LINE_SPACING;function nr(t,e){return t.node().getBoundingClientRect()[e]}var ir=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;er.convertToTspans=function(t,r,n){var i=t.text(),a=!t.attr(\\\"data-notex\\\")&&\\\"undefined\\\"!=typeof MathJax&&i.match(ir),o=e.select(t.node().parentNode);if(!o.empty()){var s=t.attr(\\\"class\\\")?t.attr(\\\"class\\\").split(\\\" \\\")[0]:\\\"text\\\";return s+=\\\"-math\\\",o.selectAll(\\\"svg.\\\"+s).remove(),o.selectAll(\\\"g.\\\"+s+\\\"-group\\\").remove(),t.style(\\\"display\\\",null).attr({\\\"data-unformatted\\\":i,\\\"data-math\\\":\\\"N\\\"}),a?(r&&r._promises||[]).push(new Promise(function(r){t.style(\\\"display\\\",\\\"none\\\");var u=parseInt(t.node().style.fontSize,10),c={fontSize:u};!function(t,r,n){var i=\\\"math-output-\\\"+ne.randstr([],64),a=e.select(\\\"body\\\").append(\\\"div\\\").attr({id:i}).style({visibility:\\\"hidden\\\",position:\\\"absolute\\\"}).style({\\\"font-size\\\":r.fontSize+\\\"px\\\"}).text((o=t,o.replace(ar,\\\"\\\\\\\\lt \\\").replace(or,\\\"\\\\\\\\gt \\\")));var o;MathJax.Hub.Queue([\\\"Typeset\\\",MathJax.Hub,a.node()],function(){var r=e.select(\\\"body\\\").select(\\\"#MathJax_SVG_glyphs\\\");if(a.select(\\\".MathJax_SVG\\\").empty()||!a.select(\\\"svg\\\").node())ne.log(\\\"There was an error in the tex syntax.\\\",t),n();else{var i=a.select(\\\"svg\\\").node().getBoundingClientRect();n(a.select(\\\".MathJax_SVG\\\"),r,i)}a.remove()})}(a[2],c,function(e,a,c){o.selectAll(\\\"svg.\\\"+s).remove(),o.selectAll(\\\"g.\\\"+s+\\\"-group\\\").remove();var h=e&&e.select(\\\"svg\\\");if(!h||!h.node())return l(),void r();var f=o.append(\\\"g\\\").classed(s+\\\"-group\\\",!0).attr({\\\"pointer-events\\\":\\\"none\\\",\\\"data-unformatted\\\":i,\\\"data-math\\\":\\\"Y\\\"});f.node().appendChild(h.node()),a&&a.node()&&h.node().insertBefore(a.node().cloneNode(!0),h.node().firstChild),h.attr({class:s,height:c.height,preserveAspectRatio:\\\"xMinYMin meet\\\"}).style({overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"});var p=t.node().style.fill||\\\"black\\\";h.select(\\\"g\\\").attr({fill:p,stroke:p});var d=nr(h,\\\"width\\\"),g=nr(h,\\\"height\\\"),v=+t.attr(\\\"x\\\")-d*{start:0,middle:.5,end:1}[t.attr(\\\"text-anchor\\\")||\\\"start\\\"],m=-(u||nr(t,\\\"height\\\"))/4;\\\"y\\\"===s[0]?(f.attr({transform:\\\"rotate(\\\"+[-90,+t.attr(\\\"x\\\"),+t.attr(\\\"y\\\")]+\\\") translate(\\\"+[-d/2,m-g/2]+\\\")\\\"}),h.attr({x:+t.attr(\\\"x\\\"),y:+t.attr(\\\"y\\\")})):\\\"l\\\"===s[0]?h.attr({x:t.attr(\\\"x\\\"),y:m-g/2}):\\\"a\\\"===s[0]?h.attr({x:0,y:m}):h.attr({x:v,y:+t.attr(\\\"y\\\")+m-g/2}),n&&n.call(t,f),r(f)})})):l(),t}function l(){o.empty()||(s=t.attr(\\\"class\\\")+\\\"-math\\\",o.select(\\\"svg.\\\"+s).remove()),t.text(\\\"\\\").style(\\\"white-space\\\",\\\"pre\\\"),function(t,r){r=(n=r,function(t,e){if(!t)return\\\"\\\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(n,pr)).replace(dr,\\\" \\\");var n;var i,a=!1,o=[],s=-1;function l(){s++;var r=document.createElementNS($e.svg,\\\"tspan\\\");e.select(r).attr({class:\\\"line\\\",dy:s*rr+\\\"em\\\"}),t.appendChild(r),i=r;var n=o;if(o=[{node:r}],n.length>1)for(var a=1;a<n.length;a++)u(n[a])}function u(t){var r,n=t.type,a={};if(\\\"a\\\"===n){r=\\\"a\\\";var s=t.target,l=t.href,u=t.popup;l&&(a={\\\"xlink:xlink:show\\\":\\\"_blank\\\"===s||\\\"_\\\"!==s.charAt(0)?\\\"new\\\":\\\"replace\\\",target:s,\\\"xlink:xlink:href\\\":l},u&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,\\\"'+u+'\\\");return false;'))}else r=\\\"tspan\\\";t.style&&(a.style=t.style);var h=document.createElementNS($e.svg,r);if(\\\"sup\\\"===n||\\\"sub\\\"===n){c(i,cr),i.appendChild(h);var f=document.createElementNS($e.svg,\\\"tspan\\\");c(f,cr),e.select(f).attr(\\\"dy\\\",ur[n]),a.dy=lr[n],i.appendChild(h),i.appendChild(f)}else i.appendChild(h);e.select(h).attr(a),i=t.node=h,o.push(t)}function c(t,e){t.appendChild(document.createTextNode(e))}function h(t){if(1!==o.length){var e=o.pop();t!==e.type&&ne.log(\\\"Start tag <\\\"+e.type+\\\"> doesnt match end tag <\\\"+t+\\\">. Pretending it did match.\\\",r),i=o[o.length-1].node}else ne.log(\\\"Ignoring unexpected end tag </\\\"+t+\\\">.\\\",r)}mr.test(r)?l():(i=t,o=[{node:t}]);for(var f=r.split(gr),p=0;p<f.length;p++){var d=f[p],g=d.match(vr),v=g&&g[2].toLowerCase(),m=sr[v];if(\\\"br\\\"===v)l();else if(void 0===m)c(i,d);else if(g[1])h(v);else{var y=g[4],x={type:v},b=wr(y,yr);if(b?(b=b.replace(Mr,\\\"$1 fill:\\\"),m&&(b+=\\\";\\\"+m)):m&&(b=m),b&&(x.style=b),\\\"a\\\"===v){a=!0;var _=wr(y,xr);if(_){var w=document.createElement(\\\"a\\\");w.href=_,-1!==hr.indexOf(w.protocol)&&(x.href=encodeURI(_),x.target=wr(y,br)||\\\"_blank\\\",x.popup=wr(y,_r))}}u(x)}}return a}(t.node(),i)&&t.style(\\\"pointer-events\\\",\\\"all\\\"),er.positionText(t),n&&n.call(t)}};var ar=/(<|&lt;|&#60;)/g,or=/(>|&gt;|&#62;)/g;var sr={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\\\"},lr={sub:\\\"0.3em\\\",sup:\\\"-0.6em\\\"},ur={sub:\\\"-0.21em\\\",sup:\\\"0.42em\\\"},cr=\\\"\\\\u200b\\\",hr=[\\\"http:\\\",\\\"https:\\\",\\\"mailto:\\\",\\\"\\\",void 0,\\\":\\\"],fr=new RegExp(\\\"</?(\\\"+Object.keys(sr).join(\\\"|\\\")+\\\")( [^>]*)?/?>\\\",\\\"g\\\"),pr=Object.keys(tr.entityToUnicode).map(function(t){return{regExp:new RegExp(\\\"&\\\"+t+\\\";\\\",\\\"g\\\"),sub:tr.entityToUnicode[t]}}),dr=/(\\\\r\\\\n?|\\\\n)/g,gr=/(<[^<>]*>)/,vr=/<(\\\\/?)([^ >]*)(\\\\s+(.*))?>/i,mr=/<br(\\\\s+.*)?>/i,yr=/(^|[\\\\s\\\"'])style\\\\s*=\\\\s*(\\\"([^\\\"]*);?\\\"|'([^']*);?')/i,xr=/(^|[\\\\s\\\"'])href\\\\s*=\\\\s*(\\\"([^\\\"]*)\\\"|'([^']*)')/i,br=/(^|[\\\\s\\\"'])target\\\\s*=\\\\s*(\\\"([^\\\"\\\\s]*)\\\"|'([^'\\\\s]*)')/i,_r=/(^|[\\\\s\\\"'])popup\\\\s*=\\\\s*(\\\"([\\\\w=,]*)\\\"|'([\\\\w=,]*)')/i;function wr(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var Mr=/(^|;)\\\\s*color:/;function Ar(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\\\"top\\\",l=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return i=\\\"bottom\\\"===s?function(){return l.bottom-n.height}:\\\"middle\\\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\\\"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:i()-u.top+\\\"px\\\",left:a()-u.left+\\\"px\\\",\\\"z-index\\\":1e3}),this}}er.plainText=function(t){return(t||\\\"\\\").replace(fr,\\\" \\\")},er.lineCount=function(t){return t.selectAll(\\\"tspan.line\\\").size()||1},er.positionText=function(t,r,n){return t.each(function(){var t=e.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\\\"x\\\",r),o=i(\\\"y\\\",n);\\\"text\\\"===this.nodeName&&t.selectAll(\\\"tspan.line\\\").attr({x:a,y:o})})},er.makeEditable=function(t,r){var n=r.gd,i=r.delegate,a=e.dispatch(\\\"edit\\\",\\\"input\\\",\\\"cancel\\\"),o=i||t;if(t.style({\\\"pointer-events\\\":i?\\\"none\\\":\\\"all\\\"}),1!==t.size())throw new Error(\\\"boo\\\");function s(){var i,s,u,c;i=e.select(n).select(\\\".svg-container\\\"),s=i.append(\\\"div\\\"),u=t.node().style,c=parseFloat(u.fontSize||12),s.classed(\\\"plugin-editable editable\\\",!0).style({position:\\\"absolute\\\",\\\"font-family\\\":u.fontFamily||\\\"Arial\\\",\\\"font-size\\\":c,color:r.fill||u.fill||\\\"black\\\",opacity:1,\\\"background-color\\\":r.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(r.text||t.attr(\\\"data-unformatted\\\")).call(Ar(t,i,r)).on(\\\"blur\\\",function(){n._editing=!1,t.text(this.textContent).style({opacity:1});var r,i=e.select(this).attr(\\\"class\\\");(r=i?\\\".\\\"+i.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&e.select(t.node().parentNode).select(r).style({opacity:0});var o=this.textContent;e.select(this).transition().duration(0).remove(),e.select(document).on(\\\"mouseup\\\",null),a.edit.call(t,o)}).on(\\\"focus\\\",function(){var t=this;n._editing=!0,e.select(document).on(\\\"mouseup\\\",function(){if(e.event.target===t)return!1;document.activeElement===s.node()&&s.node().blur()})}).on(\\\"keyup\\\",function(){27===e.event.which?(n._editing=!1,t.style({opacity:1}),e.select(this).style({opacity:0}).on(\\\"blur\\\",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),e.select(this).call(Ar(t,i,r)))}).on(\\\"keydown\\\",function(){13===e.event.which&&this.blur()}).call(l),t.style({opacity:0});var h,f=o.attr(\\\"class\\\");(h=f?\\\".\\\"+f.split(\\\" \\\")[0]+\\\"-math-group\\\":\\\"[class*=-math-group]\\\")&&e.select(t.node().parentNode).select(h).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 r.immediate?s():o.on(\\\"click\\\",s),e.rebind(t,a,\\\"on\\\")};var kr=function(t){var e=t.marker,n=e.sizeref||1,i=e.sizemin||0,a=\\\"area\\\"===e.sizemode?function(t){return Math.sqrt(t/n)}:function(t){return t/n};return function(t){var e=a(t/2);return r(e)&&e>0?Math.max(e,i):0}},Tr={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\\\")},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\\\"text\\\")},isBubble:function(t){return ne.isPlainObject(t.marker)&&ne.isArrayOrTypedArray(t.marker.size)}},Sr={},Er=Qe.LINE_SPACING,Cr=f.DESELECTDIM,Lr=Sr={};Lr.font=function(t,e,r,n){ne.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(Oe.fill,n)},Lr.setPosition=function(t,e,r){t.attr(\\\"x\\\",e).attr(\\\"y\\\",r)},Lr.setSize=function(t,e,r){t.attr(\\\"width\\\",e).attr(\\\"height\\\",r)},Lr.setRect=function(t,e,r,n,i){t.call(Lr.setPosition,e,r).call(Lr.setSize,n,i)},Lr.translatePoint=function(t,e,n,i){var a=n.c2p(t.x),o=i.c2p(t.y);return!!(r(a)&&r(o)&&e.node())&&(\\\"text\\\"===e.node().nodeName?e.attr(\\\"x\\\",a).attr(\\\"y\\\",o):e.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\",\\\"+o+\\\")\\\"),!0)},Lr.translatePoints=function(t,r,n){t.each(function(t){var i=e.select(this);Lr.translatePoint(t,i,r,n)})},Lr.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\\\"display\\\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\\\"none\\\")},Lr.hideOutsideRangePoints=function(t,r,n){if(r._hasClipOnAxisFalse){n=n||\\\".point,.textpoint\\\";var i=r.xaxis,a=r.yaxis;t.each(function(r){var o=r[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(n).each(function(t){Lr.hideOutsideRangePoint(t,e.select(this),i,a,s,l)})})}},Lr.crispRound=function(t,e,n){return e&&r(e)?t._context.staticPlot?e:e<1?1:Math.round(e):n||0},Lr.singleLineStyle=function(t,e,r,n,i){e.style(\\\"fill\\\",\\\"none\\\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\\\"\\\";Oe.stroke(e,n||a.color),Lr.dashLine(e,s,o)},Lr.lineGroupStyle=function(t,r,n,i){t.style(\\\"fill\\\",\\\"none\\\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\\\"\\\";e.select(this).call(Oe.stroke,n||a.color).call(Lr.dashLine,s,o)})},Lr.dashLine=function(t,e,r){r=+r||0,e=Lr.dashStyle(e,r),t.style({\\\"stroke-dasharray\\\":e,\\\"stroke-width\\\":r+\\\"px\\\"})},Lr.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},Lr.singleFillStyle=function(t){var r=(((e.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;r&&t.call(Oe.fill,r)},Lr.fillGroupStyle=function(t){t.style(\\\"stroke-width\\\",0).each(function(r){var n=e.select(this);try{n.call(Oe.fill,r[0].trace.fillcolor)}catch(e){ne.error(e,t),n.remove()}})},Lr.symbolNames=[],Lr.symbolFuncs=[],Lr.symbolNeedLines={},Lr.symbolNoDot={},Lr.symbolNoFill={},Lr.symbolList=[],Object.keys(Ke).forEach(function(t){var e=Ke[t];Lr.symbolList=Lr.symbolList.concat([e.n,t,e.n+100,t+\\\"-open\\\"]),Lr.symbolNames[e.n]=t,Lr.symbolFuncs[e.n]=e.f,e.needLine&&(Lr.symbolNeedLines[e.n]=!0),e.noDot?Lr.symbolNoDot[e.n]=!0:Lr.symbolList=Lr.symbolList.concat([e.n+200,t+\\\"-dot\\\",e.n+300,t+\\\"-open-dot\\\"]),e.noFill&&(Lr.symbolNoFill[e.n]=!0)});var zr=Lr.symbolNames.length,Pr=\\\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\\\";function Ir(t,e){var r=t%100;return Lr.symbolFuncs[r](e)+(t>=200?Pr:\\\"\\\")}Lr.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=Lr.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=zr||t>=400?0:Math.floor(Math.max(t,0))};var Dr={x1:1,x2:0,y1:0,y2:0},Or={x1:0,x2:0,y1:1,y2:0};Lr.gradient=function(t,r,n,i,a,o){var l=r._fullLayout._defs.select(\\\".gradients\\\").selectAll(\\\"#\\\"+n).data([i+a+o],ne.identity);l.exit().remove(),l.enter().append(\\\"radial\\\"===i?\\\"radialGradient\\\":\\\"linearGradient\\\").each(function(){var t=e.select(this);\\\"horizontal\\\"===i?t.attr(Dr):\\\"vertical\\\"===i&&t.attr(Or),t.attr(\\\"id\\\",n);var r=s(a),l=s(o);t.append(\\\"stop\\\").attr({offset:\\\"0%\\\",\\\"stop-color\\\":Oe.tinyRGB(l),\\\"stop-opacity\\\":l.getAlpha()}),t.append(\\\"stop\\\").attr({offset:\\\"100%\\\",\\\"stop-color\\\":Oe.tinyRGB(r),\\\"stop-opacity\\\":r.getAlpha()})}),t.style({fill:\\\"url(#\\\"+n+\\\")\\\",\\\"fill-opacity\\\":null})},Lr.initGradients=function(t){var e=t._fullLayout._defs.selectAll(\\\".gradients\\\").data([0]);e.enter().append(\\\"g\\\").classed(\\\"gradients\\\",!0),e.selectAll(\\\"linearGradient,radialGradient\\\").remove()},Lr.singlePointStyle=function(t,e,r,n,i,a){var o=r.marker;!function(t,e,r,n,i,a,o,s){if(P.traceIs(r,\\\"symbols\\\")){var l=kr(r);e.attr(\\\"d\\\",function(t){var e;e=\\\"various\\\"===t.ms||\\\"various\\\"===a.size?3:Tr.isBubble(r)?l(t.ms):(a.size||6)/2,t.mrc=e;var n=Lr.symbolNumber(t.mx||a.symbol)||0;return t.om=n%200>=100,Ir(n,e)})}e.style(\\\"opacity\\\",function(t){return(t.mo+1||a.opacity+1)-1});var u,c,h,f=!1;if(t.so?(h=o.outlierwidth,c=o.outliercolor,u=a.outliercolor):(h=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,c=\\\"mlc\\\"in t?t.mlcc=i(t.mlc):ne.isArrayOrTypedArray(o.color)?Oe.defaultLine:o.color,ne.isArrayOrTypedArray(a.color)&&(u=Oe.defaultLine,f=!0),u=\\\"mc\\\"in t?t.mcc=n(t.mc):a.color||\\\"rgba(0,0,0,0)\\\"),t.om)e.call(Oe.stroke,u).style({\\\"stroke-width\\\":(h||1)+\\\"px\\\",fill:\\\"none\\\"});else{e.style(\\\"stroke-width\\\",h+\\\"px\\\");var p=a.gradient,d=t.mgt;if(d?f=!0:d=p&&p.type,d&&\\\"none\\\"!==d){var g=t.mgc;g?f=!0:g=p.color;var v=\\\"g\\\"+s._fullLayout._uid+\\\"-\\\"+r.uid;f&&(v+=\\\"-\\\"+t.i),e.call(Lr.gradient,s,v,d,u,g)}else e.call(Oe.fill,u);h&&e.call(Oe.stroke,c)}}(t,e,r,n,i,o,o.line,a)},Lr.pointStyle=function(t,r,n){if(t.size()){var i=r.marker,a=Lr.tryColorscale(i,\\\"\\\"),o=Lr.tryColorscale(i,\\\"line\\\");t.each(function(t){Lr.singlePointStyle(t,e.select(this),r,a,o,n)})}},Lr.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=void 0!==l,h=void 0!==u;e.opacityFn=function(t){var e=t.mo,r=void 0!==e;if(r||c||h){if(!t.selected)return h?u:Cr*(r?e:s);if(c)return l}};var f=a.color,p=o.color;(f||p)&&(e.colorFn=function(t){if(t.selected){if(f)return f}else if(p)return p});var d=a.size,g=o.size,v=void 0!==d,m=void 0!==g;return(v||m)&&(e.sizeFn=function(t){var e=t.mrc;return t.selected?v?d/2:e:m?g/2:e}),e},Lr.selectedPointStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=Lr.makeSelectedPointStyleFns(r),i=r.marker||{};t.each(function(t){var r=e.select(this),i=n.opacityFn(t);void 0!==i&&r.style(\\\"opacity\\\",i)}),n.colorFn&&t.each(function(t){var r=e.select(this),i=n.colorFn(t);i&&Oe.fill(r,i)}),P.traceIs(r,\\\"symbols\\\")&&n.sizeFn&&t.each(function(t){var r=e.select(this),a=t.mx||i.symbol||0,o=n.sizeFn(t);r.attr(\\\"d\\\",Ir(Lr.symbolNumber(a),o)),t.mrc2=o})}},Lr.tryColorscale=function(t,e){var r=e?ne.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&ne.isArrayOrTypedArray(i)?Je.makeColorScaleFunc(Je.extractScale(n,r.cmin,r.cmax)):ne.identity};var Rr={start:1,end:-1,middle:0,bottom:1,top:-1};function Fr(t,r,n,i){var a=e.select(t.node().parentNode),o=-1!==r.indexOf(\\\"top\\\")?\\\"top\\\":-1!==r.indexOf(\\\"bottom\\\")?\\\"bottom\\\":\\\"middle\\\",s=-1!==r.indexOf(\\\"left\\\")?\\\"end\\\":-1!==r.indexOf(\\\"right\\\")?\\\"start\\\":\\\"middle\\\",l=i?i/.8+1:0,u=(er.lineCount(t)-1)*Er+1,c=Rr[s]*l,h=.75*n+Rr[o]*l+(Rr[o]-1)*u*n/2;t.attr(\\\"text-anchor\\\",s),a.attr(\\\"transform\\\",\\\"translate(\\\"+c+\\\",\\\"+h+\\\")\\\")}function Br(t,e){var n=t.ts||e.textfont.size;return r(n)&&n>0?n:0}Lr.textPointStyle=function(t,r,n){t.each(function(t){var i=e.select(this),a=ne.extractOption(t,r,\\\"tx\\\",\\\"text\\\");if(a){var o=t.tp||r.textposition,s=Br(t,r);i.call(Lr.font,t.tf||r.textfont.family,s,t.tc||r.textfont.color).text(a).call(er.convertToTspans,n).call(Fr,o,s,t.mrc)}else i.remove()})},Lr.selectedTextStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=r.selected||{},i=r.unselected||{};t.each(function(t){var a,o=e.select(this),s=t.tc||r.textfont.color,l=t.tp||r.textposition,u=Br(t,r),c=(n.textfont||{}).color,h=(i.textfont||{}).color;t.selected?c&&(a=c):h?a=h:c||(a=Oe.addOpacity(s,Cr)),a&&Oe.fill(o,a),Fr(o,l,u,t.mrc2||t.mrc)})}};var Nr=.5;function jr(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,Nr/2),c=Math.pow(s*s+l*l,Nr/2),h=(c*c*a-u*u*s)*i,f=(c*c*o-u*u*l)*i,p=3*c*(u+c),d=3*u*(u+c);return[[e.round(r[0]+(p&&h/p),2),e.round(r[1]+(p&&f/p),2)],[e.round(r[0]-(d&&h/d),2),e.round(r[1]-(d&&f/d),2)]]}Lr.smoothopen=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\");var r,n=\\\"M\\\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(jr(t[r-1],t[r],t[r+1],e));for(n+=\\\"Q\\\"+i[0][0]+\\\" \\\"+t[1],r=2;r<t.length-1;r++)n+=\\\"C\\\"+i[r-2][1]+\\\" \\\"+i[r-1][0]+\\\" \\\"+t[r];return n+=\\\"Q\\\"+i[t.length-3][1]+\\\" \\\"+t[t.length-1]},Lr.smoothclosed=function(t,e){if(t.length<3)return\\\"M\\\"+t.join(\\\"L\\\")+\\\"Z\\\";var r,n=\\\"M\\\"+t[0],i=t.length-1,a=[jr(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(jr(t[r-1],t[r],t[r+1],e));for(a.push(jr(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\\\"C\\\"+a[r-1][1]+\\\" \\\"+a[r][0]+\\\" \\\"+t[r];return n+=\\\"C\\\"+a[i][1]+\\\" \\\"+a[0][0]+\\\" \\\"+t[0]+\\\"Z\\\"};var Vr={hv:function(t,r){return\\\"H\\\"+e.round(r[0],2)+\\\"V\\\"+e.round(r[1],2)},vh:function(t,r){return\\\"V\\\"+e.round(r[1],2)+\\\"H\\\"+e.round(r[0],2)},hvh:function(t,r){return\\\"H\\\"+e.round((t[0]+r[0])/2,2)+\\\"V\\\"+e.round(r[1],2)+\\\"H\\\"+e.round(r[0],2)},vhv:function(t,r){return\\\"V\\\"+e.round((t[1]+r[1])/2,2)+\\\"H\\\"+e.round(r[0],2)+\\\"V\\\"+e.round(r[1],2)}},Ur=function(t,r){return\\\"L\\\"+e.round(r[0],2)+\\\",\\\"+e.round(r[1],2)};Lr.steps=function(t){var r=Vr[t]||Ur;return function(t){for(var n=\\\"M\\\"+e.round(t[0][0],2)+\\\",\\\"+e.round(t[0][1],2),i=1;i<t.length;i++)n+=r(t[i-1],t[i]);return n}},Lr.makeTester=function(){var t=e.select(\\\"body\\\").selectAll(\\\"#js-plotly-tester\\\").data([0]);t.enter().append(\\\"svg\\\").attr(\\\"id\\\",\\\"js-plotly-tester\\\").attr($e.svgAttrs).style({position:\\\"absolute\\\",left:\\\"-10000px\\\",top:\\\"-10000px\\\",width:\\\"9000px\\\",height:\\\"9000px\\\",\\\"z-index\\\":\\\"1\\\"});var r=t.selectAll(\\\".js-reference-point\\\").data([0]);r.enter().append(\\\"path\\\").classed(\\\"js-reference-point\\\",!0).attr(\\\"d\\\",\\\"M0,0H1V1H0Z\\\").style({\\\"stroke-width\\\":0,fill:\\\"black\\\"}),Lr.tester=t,Lr.testref=r},Lr.savedBBoxes={};var qr=0;function Hr(t){var e=t.getAttribute(\\\"data-unformatted\\\");if(null!==e)return e+t.getAttribute(\\\"data-math\\\")+t.getAttribute(\\\"text-anchor\\\")+t.getAttribute(\\\"style\\\")}Lr.bBox=function(t,r,n){var i,a,o;if(n||(n=Hr(t)),n){if(i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(n=Hr(s)){var l=+s.getAttribute(\\\"x\\\")||0,u=+s.getAttribute(\\\"y\\\")||0,c=s.getAttribute(\\\"transform\\\");if(!c){var h=Lr.bBox(s,!1,n);return l&&(h.left+=l,h.right+=l),u&&(h.top+=u,h.bottom+=u),h}if(n+=\\\"~\\\"+l+\\\"~\\\"+u+\\\"~\\\"+c,i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}}r?a=t:(o=Lr.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),e.select(a).attr(\\\"transform\\\",null).call(er.positionText,0,0);var f=a.getBoundingClientRect(),p=Lr.testref.node().getBoundingClientRect();r||o.removeChild(a);var d={height:f.height,width:f.width,left:f.left-p.left,top:f.top-p.top,right:f.right-p.left,bottom:f.bottom-p.top};return qr>=1e4&&(Lr.savedBBoxes={},qr=0),n&&(Lr.savedBBoxes[n]=d),qr++,ne.extendFlat({},d)},Lr.setClipUrl=function(t,r){if(r){var n=\\\"#\\\"+r,i=e.select(\\\"base\\\");i.size()&&i.attr(\\\"href\\\")&&(n=window.location.href.split(\\\"#\\\")[0]+n),t.attr(\\\"clip-path\\\",\\\"url(\\\"+n+\\\")\\\")}else t.attr(\\\"clip-path\\\",null)},Lr.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}},Lr.setTranslate=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||0,r=r||0,a=a.replace(/(\\\\btranslate\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" translate(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},Lr.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}},Lr.setScale=function(t,e,r){var n=t.attr?\\\"attr\\\":\\\"getAttribute\\\",i=t.attr?\\\"attr\\\":\\\"setAttribute\\\",a=t[n](\\\"transform\\\")||\\\"\\\";return e=e||1,r=r||1,a=a.replace(/(\\\\bscale\\\\(.*?\\\\);?)/,\\\"\\\").trim(),a=(a+=\\\" scale(\\\"+e+\\\", \\\"+r+\\\")\\\").trim(),t[i](\\\"transform\\\",a),a},Lr.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?\\\"\\\":\\\" scale(\\\"+e+\\\",\\\"+r+\\\")\\\",a=/\\\\s*sc.*/,t.each(function(){n=(this.getAttribute(\\\"transform\\\")||\\\"\\\").replace(a,\\\"\\\"),n=(n+=i).trim(),this.setAttribute(\\\"transform\\\",n)}),i};var Gr=/translate\\\\([^)]*\\\\)\\\\s*$/;Lr.setTextPointsScale=function(t,r,n){t.each(function(){var t,i=e.select(this),a=i.select(\\\"text\\\");if(a.node()){var o=parseFloat(a.attr(\\\"x\\\")||0),s=parseFloat(a.attr(\\\"y\\\")||0),l=(i.attr(\\\"transform\\\")||\\\"\\\").match(Gr);t=1===r&&1===n?[]:[\\\"translate(\\\"+o+\\\",\\\"+s+\\\")\\\",\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\",\\\"translate(\\\"+-o+\\\",\\\"+-s+\\\")\\\"],l&&t.push(l),i.attr(\\\"transform\\\",t.join(\\\" \\\"))}})};var Wr={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20},Yr=Ae.dash,Xr=m.extendFlat,Zr={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},x0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dx:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y0:{valType:\\\"any\\\",dflt:0,editType:\\\"calc+clearAxisTypes\\\"},dy:{valType:\\\"number\\\",dflt:1,editType:\\\"calc\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},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\\\"},line:{color:{valType:\\\"color\\\",editType:\\\"style\\\"},width:{valType:\\\"number\\\",min:0,dflt:2,editType:\\\"style\\\"},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:Xr({},Yr,{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\\\"],dflt:\\\"none\\\",editType:\\\"calc\\\"},fillcolor:{valType:\\\"color\\\",editType:\\\"style\\\"},marker:Xr({symbol:{valType:\\\"enumerated\\\",values:Sr.symbolList,dflt:\\\"circle\\\",arrayOk:!0,editType:\\\"style\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,arrayOk:!0,editType:\\\"style\\\"},size:{valType:\\\"number\\\",min:0,dflt:6,arrayOk:!0,editType:\\\"calcIfAutorange\\\"},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\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:ze,line:Xr({width:{valType:\\\"number\\\",min:0,arrayOk:!0,editType:\\\"style\\\"},editType:\\\"calc\\\"},De()),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\\\"},De()),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:T({editType:\\\"calc\\\",colorEditType:\\\"style\\\",arrayOk:!0}),r:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},t:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}},Jr=Zr.marker,Kr={r:Zr.r,t:Zr.t,marker:{color:Jr.color,size:Jr.size,symbol:Jr.symbol,opacity:Jr.opacity,editType:\\\"calc\\\"}},Qr=m.extendFlat,$r=ye.overrideAll,tn=Qr({},Ce.domain,{});function en(t,e){return Qr({},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\\\"},visible:{valType:\\\"boolean\\\"}})}var rn=$r({radialaxis:en(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},domain:tn,orientation:{valType:\\\"number\\\"}}),angularaxis:en(0,{range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",dflt:0},{valType:\\\"number\\\",dflt:360}]},domain:tn}),layout:{direction:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"]},orientation:{valType:\\\"angle\\\"}}},\\\"plot\\\",\\\"nested\\\"),nn={},an=ne.extendFlat,on=ne.extendDeepAll,sn=\\\"_isSubplotObj\\\",ln=\\\"_isLinkedToArray\\\",un=[sn,ln,\\\"_arrayAttrRegexps\\\",\\\"_deprecated\\\"];function cn(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(hn(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!ne.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!hn(e[++r]))return!1}else if(\\\"info_array\\\"===t.valType){var i=e[++r];if(!hn(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!hn(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function hn(t){return t===Math.round(t)&&t>=0}function fn(t){return function(t){nn.crawl(t,function(t,e,r){nn.isValObject(t)?\\\"data_array\\\"===t.valType?(t.role=\\\"data\\\",r[e+\\\"src\\\"]={valType:\\\"string\\\",editType:\\\"none\\\"}):!0===t.arrayOk&&(r[e+\\\"src\\\"]={valType:\\\"string\\\",editType:\\\"none\\\"}):ne.isPlainObject(t)&&(t.role=\\\"object\\\")})}(t),function(t){nn.crawl(t,function(t,e,r){if(!t)return;var n=t[ln];if(!n)return;delete t[ln],r[e]={items:{}},r[e].items[n]=t,r[e].role=\\\"object\\\"})}(t),t}function pn(t,e,r){var n=ne.nestedProperty(t,r),i=on({},e.layoutAttributes);i[sn]=!0,n.set(i)}function dn(t,e,r){var n=ne.nestedProperty(t,r);n.set(on(n.get()||{},e))}nn.IS_SUBPLOT_OBJ=sn,nn.IS_LINKED_TO_ARRAY=ln,nn.DEPRECATED=\\\"_deprecated\\\",nn.UNDERSCORE_ATTRS=un,nn.get=function(){var t={};P.allTypes.concat(\\\"area\\\").forEach(function(e){t[e]=function(t){var e,r;\\\"area\\\"===t?(e={attributes:Kr},r={}):(e=P.modules[t]._module,r=e.basePlotModule);var n={type:null};on(n,E),on(n,e.attributes),r.attributes&&on(n,r.attributes);n.type=t;var i={meta:e.meta||{},attributes:fn(n)};if(e.layoutAttributes){var a={};on(a,e.layoutAttributes),i.layoutAttributes=fn(a)}return i}(e)});var e,r={};return Object.keys(P.transformsRegistry).forEach(function(t){r[t]=function(t){var e=P.transformsRegistry[t],r=on({},e.attributes);return Object.keys(P.componentsRegistry).forEach(function(e){var n=P.componentsRegistry[e];n.schema&&n.schema.transforms&&n.schema.transforms[t]&&Object.keys(n.schema.transforms[t]).forEach(function(e){dn(r,n.schema.transforms[t][e],e)})}),{attributes:fn(r)}}(t)}),{defs:{valObjects:ne.valObjectMeta,metaKeys:un.concat([\\\"description\\\",\\\"role\\\",\\\"editType\\\",\\\"impliedEdits\\\"]),editType:{traces:ye.traces,layout:ye.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in on(r,z),P.subplotsRegistry)if((e=P.subplotsRegistry[t]).layoutAttributes)if(\\\"cartesian\\\"===e.name)pn(r,e,\\\"xaxis\\\"),pn(r,e,\\\"yaxis\\\");else{var n=\\\"subplot\\\"===e.attr?e.name:e.attr;pn(r,e,n)}for(t in r=function(t){return an(t,{radialaxis:rn.radialaxis,angularaxis:rn.angularaxis}),an(t,rn.layout),t}(r),P.componentsRegistry){var i=(e=P.componentsRegistry[t]).schema;if(i&&(i.subplots||i.layout)){var a=i.subplots;if(a&&a.xaxis&&!a.yaxis)for(var o in a.xaxis)delete r.yaxis[o]}else e.layoutAttributes&&dn(r,e.layoutAttributes,e.name)}return{layoutAttributes:fn(r)}}(),transforms:r,frames:(e={frames:ne.extendDeepAll({},Me)},fn(e),e.frames),animation:fn(we)}},nn.crawl=function(t,e,r,n){var i=r||0;n=n||\\\"\\\",Object.keys(t).forEach(function(r){var a=t[r];if(-1===un.indexOf(r)){var o=(n?n+\\\".\\\":\\\"\\\")+r;e(a,r,t,i,o),nn.isValObject(a)||ne.isPlainObject(a)&&\\\"impliedEdits\\\"!==r&&nn.crawl(a,e,i+1,o)}})},nn.isValObject=function(t){return t&&void 0!==t.valType},nn.findArrayAttributes=function(t){var e=[],r=[];function n(n,i,a,o){if(r=r.slice(0,o).concat([i]),n&&(\\\"data_array\\\"===n.valType||!0===n.arrayOk)&&!(\\\"colorbar\\\"===r[o-1]&&(\\\"ticktext\\\"===i||\\\"tickvals\\\"===i))){var s=function(t){return t.join(\\\".\\\")}(r),l=ne.nestedProperty(t,s).get();ne.isArrayOrTypedArray(l)&&e.push(s)}}if(nn.crawl(E,n),t._module&&t._module.attributes&&nn.crawl(t._module.attributes,n),t.transforms)for(var i=t.transforms,a=0;a<i.length;a++){var o=i[a]._module;o&&(r=[\\\"transforms[\\\"+a+\\\"]\\\"],nn.crawl(o.attributes,n,1))}return t._fullInput&&t._fullInput._module&&t._fullInput._module.attributes&&(nn.crawl(t._fullInput._module.attributes,n),e=ne.filterUnique(e)),e},nn.getTraceValObject=function(t,e){var r,n,i=e[0],a=1;if(\\\"transforms\\\"===i){if(!Array.isArray(t.transforms))return!1;var o=e[1];if(!hn(o)||o>=t.transforms.length)return!1;n=(r=(P.transformsRegistry[t.transforms[o].type]||{}).attributes)&&r[e[2]],a=3}else if(\\\"area\\\"===t.type)n=Kr[i];else{var s=t._module;if(s||(s=(P.modules[t.type||E.type.dflt]||{})._module),!s)return!1;if(!(n=(r=s.attributes)&&r[i])){var l=s.basePlotModule;l&&l.attributes&&(n=l.attributes[i])}n||(n=E[i])}return cn(n,e,a)},nn.getLayoutValObject=function(t,e){return cn(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if((i=o[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r<u.length;r++)if((a=u[r].layoutAttributes)&&e in a)return a[e];for(n in P.componentsRegistry)if(!(i=P.componentsRegistry[n]).schema&&e===i.name)return i.layoutAttributes;if(e in z)return z[e];if(\\\"radialaxis\\\"===e||\\\"angularaxis\\\"===e)return rn[e];return rn.layout[e]||!1}(t,e[0]),e,1)};var gn={id2name:function(t){if(\\\"string\\\"==typeof t&&t.match(Te.AX_ID_PATTERN)){var e=t.substr(1);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+\\\"axis\\\"+e}},name2id:function(t){if(t.match(Te.AX_NAME_PATTERN)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),t.charAt(0)+e}},cleanId:function(t,e){if(t.match(Te.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\\\"\\\");return\\\"1\\\"===r&&(r=\\\"\\\"),t.charAt(0)+r}},list:function(t,e,r){var n=t._fullLayout;if(!n)return[];var i,a=gn.listIds(t,e),o=new Array(a.length);for(i=0;i<a.length;i++){var s=a[i];o[i]=n[s.charAt(0)+\\\"axis\\\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(i=0;i<l.length;i++){var u=n[l[i]];e?o.push(u[e+\\\"axis\\\"]):o.push(u.xaxis,u.yaxis,u.zaxis)}}return o},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)},getFromId:function(t,e,r){var n=t._fullLayout;return\\\"x\\\"===r?e=e.replace(/y[0-9]*/,\\\"\\\"):\\\"y\\\"===r&&(e=e.replace(/x[0-9]*/,\\\"\\\")),n[gn.id2name(e)]},getFromTrace:function(t,e,r){var n=t._fullLayout,i=null;if(P.traceIs(e,\\\"gl3d\\\")){var a=e.scene;\\\"scene\\\"===a.substr(0,5)&&(i=n[a][r+\\\"axis\\\"])}else i=gn.getFromId(t,e[r+\\\"axis\\\"]||r);return i},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)}},vn={};function mn(t,e,r){var n,i,a,o=!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=ne.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function yn(t,e){var r=[],n=e[0],i={};if(\\\"string\\\"==typeof n)i[n]=e[1];else{if(!ne.isPlainObject(n))return r;i=n}return bn(i,function(t,e,n){r.push({type:\\\"layout\\\",prop:t,value:n})},\\\"\\\",0),r}function xn(t,e){var r,n,i,a,o=[];if(n=e[0],i=e[1],r=e[2],a={},\\\"string\\\"==typeof n)a[n]=i;else{if(!ne.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),bn(a,function(e,n,i){var a;if(Array.isArray(i)){var s=Math.min(i.length,t.data.length);r&&(s=Math.min(s,r.length)),a=[];for(var l=0;l<s;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var u=i;i=[];for(var c=0;c<a.length;c++)i[c]=u}i.length=Math.min(a.length,i.length)}o.push({type:\\\"data\\\",prop:e,traces:a,value:i})},\\\"\\\",0),o}function bn(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\\\"_\\\"!==i[0]){var o=r+(n>0?\\\".\\\":\\\"\\\")+i;ne.isPlainObject(a)?bn(a,e,o,n+1):e(o,i,a)}})}vn.manageCommandObserver=function(t,e,r,n){var i={},a=!0;e&&e._commandObserver&&(i=e._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=vn.hasSimpleAPICommandBindings(t,r,i.lookupTable);if(e&&e._commandObserver){if(o)return i;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,i}if(o){mn(t,o,i.cache),i.check=function(){if(a){var e=mn(t,o,i.cache);return e.changed&&n&&void 0!==i.lookupTable[e.value]&&(i.disable(),Promise.resolve(n({value:e.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[e.value]})).then(i.enable,i.enable)),e.changed}};for(var s=[\\\"plotly_relayout\\\",\\\"plotly_redraw\\\",\\\"plotly_restyle\\\",\\\"plotly_update\\\",\\\"plotly_animatingframe\\\",\\\"plotly_afterplot\\\"],l=0;l<s.length;l++)t._internalOn(s[l],i.check);i.remove=function(){for(var e=0;e<s.length;e++)t._removeInternalListener(s[e],i.check)}}else ne.log(\\\"Unable to automatically bind plot updates to API command\\\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},e&&(e._commandObserver=i),i},vn.hasSimpleAPICommandBindings=function(t,e,r){var n,i,a=e.length;for(n=0;n<a;n++){var o,s=e[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=vn.computeAPICommandBindings(t,l,u);if(1!==c.length)return!1;if(i){if((o=c[0]).type!==i.type)return!1;if(o.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(o.traces))return!1;o.traces.sort();for(var h=0;h<i.traces.length;h++)if(i.traces[h]!==o.traces[h])return!1}else if(o.prop!==i.prop)return!1}else i=c[0],Array.isArray(i.traces)&&i.traces.sort();var f=(o=c[0]).value;if(Array.isArray(f)){if(1!==f.length)return!1;f=f[0]}r&&(r[f]=n)}return i},vn.executeAPICommand=function(t,e,r){if(\\\"skip\\\"===e)return Promise.resolve();var n=P.apiMethodRegistry[e],i=[t];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(t){return ne.warn(\\\"API call to Plotly.\\\"+e+\\\" rejected.\\\",t),Promise.reject(t)})},vn.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\\\"restyle\\\":n=xn(t,r);break;case\\\"relayout\\\":n=yn(t,r);break;case\\\"update\\\":n=xn(t,[r[0],r[2]]).concat(yn(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};var _n={},wn=ne._,Mn=t.BADNUM,An=_n={},kn=ne.relinkPrivateKeys;ne.extendFlat(An,P),An.attributes=E,An.attributes.type.values=An.allTypes,An.fontAttrs=T,An.layoutAttributes=z,An.fontWeight=\\\"normal\\\";var Tn=An.transformsRegistry;An.executeAPICommand=vn.executeAPICommand,An.computeAPICommandBindings=vn.computeAPICommandBindings,An.manageCommandObserver=vn.manageCommandObserver,An.hasSimpleAPICommandBindings=vn.hasSimpleAPICommandBindings,An.redrawText=function(t){if(!((t=ne.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){P.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(An.previousPromises(t))},300)})},An.resize=function(t){return t=ne.getGraphDiv(t),new Promise(function(e,r){t&&!function(t){var e=window.getComputedStyle(t).display;return!e||\\\"none\\\"===e}(t)||r(new Error(\\\"Resize must be passed a displayed plot div element.\\\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,P.call(\\\"relayout\\\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},An.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},An.addLinks=function(t){if(t._context.showLink||t._context.showSources){var r=t._fullLayout,n=r._paper.selectAll(\\\"text.js-plot-link-container\\\").data([0]);n.enter().append(\\\"text\\\").classed(\\\"js-plot-link-container\\\",!0).style({\\\"font-family\\\":'\\\"Open Sans\\\", Arial, sans-serif',\\\"font-size\\\":\\\"12px\\\",fill:Oe.defaultLine,\\\"pointer-events\\\":\\\"all\\\"}).each(function(){var t=e.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)});var i=n.node(),a={y:r._paper.attr(\\\"height\\\")-9};document.body.contains(i)&&i.getComputedTextLength()>=r.width-20?(a[\\\"text-anchor\\\"]=\\\"start\\\",a.x=5):(a[\\\"text-anchor\\\"]=\\\"end\\\",a.x=r._paper.attr(\\\"width\\\")-7),n.attr(a);var o=n.select(\\\".js-link-to-tool\\\"),s=n.select(\\\".js-link-spacer\\\"),l=n.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(){An.sendDataToCloud(t)});else{var n=window.location.pathname.split(\\\"/\\\"),i=window.location.search;r.attr({\\\"xlink:xlink:show\\\":\\\"new\\\",\\\"xlink:xlink:href\\\":\\\"/\\\"+n[2].split(\\\".\\\")[0]+\\\"/\\\"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?\\\" - \\\":\\\"\\\")}},An.sendDataToCloud=function(t){t.emit(\\\"plotly_beforeexport\\\");var r=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\\\"https://plot.ly\\\",n=e.select(t).append(\\\"div\\\").attr(\\\"id\\\",\\\"hiddenform\\\").style(\\\"display\\\",\\\"none\\\"),i=n.append(\\\"form\\\").attr({action:r+\\\"/external\\\",method:\\\"post\\\",target:\\\"_blank\\\"});return i.append(\\\"input\\\").attr({type:\\\"text\\\",name:\\\"data\\\"}).node().value=An.graphJson(t,!1,\\\"keepdata\\\"),i.node().submit(),n.remove(),t.emit(\\\"plotly_afterexport\\\"),!1};var Sn,En=[\\\"days\\\",\\\"shortDays\\\",\\\"months\\\",\\\"shortMonths\\\",\\\"periods\\\",\\\"dateTime\\\",\\\"date\\\",\\\"time\\\",\\\"decimal\\\",\\\"thousands\\\",\\\"grouping\\\",\\\"currency\\\"],Cn=[\\\"year\\\",\\\"month\\\",\\\"dayMonth\\\",\\\"dayMonthYear\\\"];function Ln(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r<a.length;r++)o[n=a[r]]=ne.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r<a.length;r++)n=a[r],ne.nestedProperty(t.trace,n).set(o[n])}function zn(t,e){var r=t._context.locale,n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var o=0;o<2;o++){for(var s=t._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=P.localeRegistry}var c=r.split(\\\"-\\\")[0];if(n||c===r)break;r=c}return n||a(P.localeRegistry.en.format),i}function Pn(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=Tn[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function In(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}An.supplyDefaults=function(t){var r=t._fullLayout||{};if(r._skipDefaults)delete r._skipDefaults;else{var n,i=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],l=t.data||[],u=t._context||{};t._transitionData||An.createTransitionData(t),i._dfltTitle={plot:wn(t,\\\"Click to enter Plot title\\\"),x:wn(t,\\\"Click to enter X axis title\\\"),y:wn(t,\\\"Click to enter Y axis title\\\"),colorbar:wn(t,\\\"Click to enter Colorscale title\\\"),annotation:wn(t,\\\"new text\\\")},i._traceWord=wn(t,\\\"trace\\\");var c=zn(t,En);if(i._mapboxAccessToken=u.mapboxAccessToken,r._initialAutoSizeIsDone){var h=r.width,f=r.height;An.supplyLayoutGlobalDefaults(a,i,c),a.width||(i.width=h),a.height||(i.height=f)}else{An.supplyLayoutGlobalDefaults(a,i,c);var p=!a.width||!a.height,d=i.autosize,g=u.autosizable;p&&(d||g)?An.plotAutoSize(t,a,i):p&&An.sanitizeMargins(t),!d&&p&&(a.width=i.width,a.height=i.height)}i._d3locale=function(t,r){return t.decimal=r.charAt(0),t.thousands=r.charAt(1),e.locale(t)}(c,i.separators),i._extraFormat=zn(t,Cn),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._basePlotModules=[],i._subplots=function(){var t,e,r={};if(!Sn){Sn=[];var n=P.subplotsRegistry;for(var i in n){var a=n[i],o=a.attr;if(o&&(Sn.push(i),Array.isArray(o)))for(e=0;e<o.length;e++)ne.pushUnique(Sn,o[e])}}for(t=0;t<Sn.length;t++)r[Sn[t]]=[];return r}(),i._globalTransforms=(t._context||{}).globalTransforms,An.supplyDataDefaults(l,s,a,i),i._has=An._hasPlotType.bind(i);var v=i._modules;for(n=0;n<v.length;n++){var m=v[n];m.cleanData&&m.cleanData(s)}if(o.length===l.length)for(n=0;n<s.length;n++)kn(s[n],o[n]);An.supplyLayoutModuleDefaults(a,i,s,t._transitionData),i._hasCartesian=i._has(\\\"cartesian\\\"),i._hasGeo=i._has(\\\"geo\\\"),i._hasGL3D=i._has(\\\"gl3d\\\"),i._hasGL2D=i._has(\\\"gl2d\\\"),i._hasTernary=i._has(\\\"ternary\\\"),i._hasPie=i._has(\\\"pie\\\"),An.cleanPlot(s,i,o,r),An.linkSubplots(s,i,o,r),kn(i,r),An.doAutoMargin(t);var y=gn.list(t);for(n=0;n<y.length;n++){y[n].setScale()}if((t.calcdata||[]).length===s.length)for(n=0;n<s.length;n++){var x=s[n],b=t.calcdata[n][0];b&&b.trace&&(b.trace._hasCalcTransform?Ln(b,x):b.trace=x)}}},An.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=[])},An._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 i=n[e];if(i.categories&&i.categories.indexOf(t)>=0)return!0}return!1},An.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=!!n._paper,u=!!n._infolayer,c=n._has&&n._has(\\\"gl\\\"),h=e._has&&e._has(\\\"gl\\\");c&&!h&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),n._glcanvas=null);t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++){if(f===t[a].uid)continue t}var p=\\\".hm\\\"+f+\\\",.contour\\\"+f+\\\",.carpet\\\"+f+\\\",#clip\\\"+f+\\\",.trace\\\"+f;l&&n._paper.selectAll(p).remove(),u&&(n._infolayer.selectAll(\\\".cb\\\"+f).remove(),n._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(p).remove())}n._zoomlayer&&n._zoomlayer.selectAll(\\\".select-outline\\\").remove()},An.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},u=e._plots={},c=e._subplots,h={_fullData:t,_fullLayout:e},f=c.cartesian.concat(c.gl2d||[]);for(i=0;i<f.length;i++){var p,d=l[o=f[i]],g=gn.getFromId(h,o,\\\"x\\\"),v=gn.getFromId(h,o,\\\"y\\\");for(d?((p=u[o]=d).xaxis.layer!==g.layer&&(p.xlines.attr(\\\"d\\\",null),p.xaxislayer.selectAll(\\\"*\\\").remove()),p.yaxis.layer!==v.layer&&(p.ylines.attr(\\\"d\\\",null),p.yaxislayer.selectAll(\\\"*\\\").remove())):(p=u[o]={}).id=o,p.xaxis=g,p.yaxis=v,p._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var m=t[a];if(m.xaxis===p.xaxis._id&&m.yaxis===p.yaxis._id&&!1===m.cliponaxis){p._hasClipOnAxisFalse=!0;break}}}var y=gn.list(h,null,!0);for(i=0;i<y.length;i++){var x=null;(s=y[i]).overlaying&&(x=gn.getFromId(h,s.overlaying))&&x.overlaying&&(s.overlaying=!1,x=null),s._mainAxis=x||s,x&&(s.domain=x.domain.slice()),s._anchorAxis=\\\"free\\\"===s.anchor?null:gn.getFromId(h,s.anchor)}for(i=0;i<y.length;i++){var b=\\\"x\\\"===(s=y[i])._id.charAt(0),_=s._mainAxis._anchorAxis,w=\\\"\\\",M=\\\"\\\",A=\\\"\\\";if(_&&(A=_._mainAxis._id,w=b?s._id+A:A+s._id),!w||-1===f.indexOf(w))for(w=\\\"\\\",a=0;a<f.length;a++){var k=(o=f[a]).indexOf(\\\"y\\\"),T=b?o.substr(0,k):o.substr(k),S=b?o.substr(k):o.substr(0,k);if(T===s._id){M||(M=o);var E=gn.getFromId(h,S);if(A&&E.overlaying===A){w=o;break}}}s._mainSubplot=w||M}},An.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],nn.crawl(t._module.attributes,function(t,n,i,a){r[a]=n,r.length=a+1,\\\"color\\\"===t.valType&&void 0===t.dflt&&e.push(r.join(\\\".\\\"))})),n=0;n<e.length;n++){ne.nestedProperty(t,\\\"_input.\\\"+e[n]).get()||ne.nestedProperty(t,e[n]).set(null)}},An.supplyDataDefaults=function(t,e,r,n){var i,a,o,s=n._modules,l=n._basePlotModules,u=0,c=0;function h(t){e.push(t);var r=t._module;r&&(!0===t.visible&&ne.pushUnique(s,r),ne.pushUnique(l,t._module.basePlotModule),u++,!1!==t._input.visible&&c++)}n._transformModules=[];var f={},p=[];for(i=0;i<t.length;i++){if(o=t[i],(a=An.supplyTraceDefaults(o,c,n,i)).index=i,a._input=o,a._expandedIndex=u,a.transforms&&a.transforms.length)for(var d=Pn(a,e,r,n),g=0;g<d.length;g++){var v=d[g],m=An.supplyTraceDefaults(v,u,n,i);kn(m,v),v.uid=m.uid=a.uid+g,m.index=i,m._input=o,m._fullInput=a,m._expandedIndex=u,m._expandedInput=v,h(m)}else a._fullInput=a,a._expandedInput=a,h(a);P.traceIs(a,\\\"carpetAxis\\\")&&(f[a.carpet]=a),P.traceIs(a,\\\"carpetDependent\\\")&&p.push(i)}for(i=0;i<p.length;i++)if((a=e[p[i]]).visible){var y=f[a.carpet];a._carpet=y,y&&y.visible?(a.xaxis=y.xaxis,a.yaxis=y.yaxis):a.visible=!1}},An.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return ne.coerce(t||{},r,we,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]=An.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=An.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=An.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=An.supplyAnimationTransitionDefaults(t.transition||{});return r},An.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.frame,r,n)}return r(\\\"duration\\\"),r(\\\"redraw\\\"),e},An.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.transition,r,n)}return r(\\\"duration\\\"),r(\\\"easing\\\"),e},An.supplyFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Me,r,n)}return r(\\\"group\\\"),r(\\\"name\\\"),r(\\\"traces\\\"),r(\\\"baseframe\\\"),r(\\\"data\\\"),r(\\\"layout\\\"),e},An.supplyTraceDefaults=function(t,e,r,n){var i,a=r.colorway||Oe.defaults,o={},s=a[e%a.length];function l(e,r){return ne.coerce(t,o,An.attributes,e,r)}var u=l(\\\"visible\\\");l(\\\"type\\\"),l(\\\"uid\\\"),l(\\\"name\\\",r._traceWord+\\\" \\\"+n);var c=An.getModule(o);if(o._module=c,c){var h=c.basePlotModule,f=h.attr;if(f){var p=r._subplots,d=h.attributes,g=\\\"\\\";if(\\\"gl2d\\\"!==h.name||u){if(Array.isArray(f))for(i=0;i<f.length;i++){var v=f[i],m=ne.coerce(t,o,d,v);p[v]&&ne.pushUnique(p[v],m),g+=m}else g=ne.coerce(t,o,d,f);p[h.name]&&ne.pushUnique(p[h.name],g)}}}return u&&(l(\\\"customdata\\\"),l(\\\"ids\\\"),P.traceIs(o,\\\"showLegend\\\")&&(l(\\\"showlegend\\\"),l(\\\"legendgroup\\\")),P.getComponentMethod(\\\"fx\\\",\\\"supplyDefaults\\\")(t,o,s,r),c&&(c.supplyDefaults(t,o,s,r),ne.coerceHoverinfo(t,o,r)),P.traceIs(o,\\\"noOpacity\\\")||l(\\\"opacity\\\"),P.traceIs(o,\\\"notLegendIsolatable\\\")&&(o.visible=!!o.visible),c&&c.selectPoints&&l(\\\"selectedpoints\\\"),An.supplyTransformDefaults(t,o,r)),o},An.supplyTransformDefaults=function(t,e,r){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,c=o[l],h=c.type,f=Tn[h],p=!(c._module&&c._module===f),d=f&&\\\"function\\\"==typeof f.transform;f||ne.warn(\\\"Unrecognized transform type \\\"+h+\\\".\\\"),f&&f.supplyDefaults&&(p||d)?((u=f.supplyDefaults(c,e,r,t)).type=h,u._module=f,ne.pushUnique(i,f)):u=ne.extendFlat({},c),s.push(u)}},An.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,An.layoutAttributes,r,n)}var i=ne.coerceFont(n,\\\"font\\\");n(\\\"title\\\",e._dfltTitle.plot),ne.coerceFont(n,\\\"titlefont\\\",{family:i.family,size:Math.round(1.4*i.size),color:i.color}),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&&An.sanitizeMargins(e),P.getComponentMethod(\\\"grid\\\",\\\"sizeDefaults\\\")(t,e),n(\\\"paper_bgcolor\\\"),n(\\\"separators\\\",r.decimal+r.thousands),n(\\\"hidesources\\\"),n(\\\"colorway\\\"),n(\\\"datarevision\\\"),P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\"),P.getComponentMethod(\\\"fx\\\",\\\"supplyLayoutGlobalDefaults\\\")(t,e,n)},An.plotAutoSize=function(t,e,n){var i,a,o=t._context||{},s=o.frameMargins,l=ne.isPlotDiv(t);if(l&&t.emit(\\\"plotly_autosize\\\"),o.fillFrame)i=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\\\"hidden\\\";else if(r(s)&&s>0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),c=u.left+u.right,h=u.bottom+u.top,f=1-2*s,p=n._container&&n._container.node?n._container.node().getBoundingClientRect():{width:n.width,height:n.height};i=Math.round(f*(p.width-c)),a=Math.round(f*(p.height-h))}else{var d=l?window.getComputedStyle(t):{};i=parseFloat(d.width)||n.width,a=parseFloat(d.height)||n.height}var g=An.layoutAttributes.width.min,v=An.layoutAttributes.height.min;i<g&&(i=g),a<v&&(a=v);var m=!e.width&&Math.abs(n.width-i)>1,y=!e.height&&Math.abs(n.height-a)>1;(y||m)&&(m&&(n.width=i),y&&(n.height=a)),t._initialAutoSize||(t._initialAutoSize={width:i,height:a}),An.sanitizeMargins(n)},An.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=P.componentsRegistry,l=e._basePlotModules,u=P.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var c in l.length||l.push(u),e._has(\\\"cartesian\\\")&&(P.getComponentMethod(\\\"grid\\\",\\\"contentDefaults\\\")(t,e),u.finalizeSubplots(t,e)),e._subplots)e._subplots[c].sort(ne.subplotSort);for(a=0;a<l.length;a++)(o=l[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var h=e._modules;for(a=0;a<h.length;a++)(o=h[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var f=e._transformModules;for(a=0;a<f.length;a++)(o=f[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r)},An.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\\\".gl-canvas\\\").remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),ne.clearThrottle(),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.firstscatter,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._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},An.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&ne.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},An.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},An.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){if(r){var i=void 0===r.pad?12:r.pad;r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||An.doAutoMargin(t)}},An.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var n=e._size,i=JSON.stringify(n),a=Math.max(e.margin.l||0,0),o=Math.max(e.margin.r||0,0),s=Math.max(e.margin.t||0,0),l=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var c in u.base={l:{val:0,size:a},r:{val:1,size:o},t:{val:1,size:s},b:{val:0,size:l}},u){var h=u[c].l||{},f=u[c].b||{},p=h.val,d=h.size,g=f.val,v=f.size;for(var m in u){if(r(d)&&u[m].r){var y=u[m].r.val,x=u[m].r.size;if(y>p){var b=(d*y+(x-e.width)*p)/(y-p),_=(x*(1-p)+(d-e.width)*(1-y))/(y-p);b>=0&&_>=0&&b+_>a+o&&(a=b,o=_)}}if(r(v)&&u[m].t){var w=u[m].t.val,M=u[m].t.size;if(w>g){var A=(v*w+(M-e.height)*g)/(w-g),k=(M*(1-g)+(v-e.height)*(1-w))/(w-g);A>=0&&k>=0&&A+k>l+s&&(l=A,s=k)}}}}if(n.l=Math.round(a),n.r=Math.round(o),n.t=Math.round(s),n.b=Math.round(l),n.p=Math.round(e.margin.pad),n.w=Math.round(e.width)-n.l-n.r,n.h=Math.round(e.height)-n.t-n.b,!e._replotting&&\\\"{}\\\"!==i&&i!==JSON.stringify(e._size))return P.call(\\\"plot\\\",t)},An.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&An.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function l(t){if(\\\"function\\\"==typeof t)return null;if(ne.isPlainObject(t)){var e,n,i={};for(e in t)if(\\\"function\\\"!=typeof t[e]&&-1===[\\\"_\\\",\\\"[\\\"].indexOf(e.charAt(0))){if(\\\"keepdata\\\"===r){if(\\\"src\\\"===e.substr(e.length-3))continue}else if(\\\"keepstream\\\"===r){if(\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0&&!ne.isPlainObject(t.stream))continue}else if(\\\"keepall\\\"!==r&&\\\"string\\\"==typeof(n=t[e+\\\"src\\\"])&&n.indexOf(\\\":\\\")>0)continue;i[e]=l(t[e])}return i}return Array.isArray(t)?t.map(l):ne.isJSDate(t)?ne.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=l(t);return e&&delete r.fit,r})};return e||(u.layout=l(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=l(s)),\\\"object\\\"===n?u:JSON.stringify(u)},An.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\\\"replace\\\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\\\"insert\\\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\\\"delete\\\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},An.computeFrame=function(t,e){var r,n,i,a,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],u=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=An.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)void 0!==(i=n[r])&&null!==i&&(-1===(a=c.traces.indexOf(i))&&(a=c.data.length,c.traces[a]=i),c.data[a]=An.extendTrace(c.data[a],s.data[r]))}return c},An.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},An.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c=ne.extendDeepNoArrays({},e||{}),h=ne.expandObjectPaths(c),f={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=ne.nestedProperty(h,r[a])).get())?ne.nestedProperty(f,r[a]).set(null):(n.set(null),ne.nestedProperty(f,r[a]).set(i));if(t=ne.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=ne.nestedProperty(f,r[a]).get()){for(u=(s=ne.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var p=l[o];u[o]=null===p?null:An.extendObjectWithContainers(u[o],p)}s.set(u)}return t},An.dataArrayContainers=[\\\"transforms\\\",\\\"dimensions\\\"],An.layoutArrayContainers=P.layoutArrayContainers,An.extendTrace=function(t,e){return An.extendObjectWithContainers(t,e,An.dataArrayContainers)},An.extendLayout=function(t,e){return An.extendObjectWithContainers(t,e,An.layoutArrayContainers)},An.transition=function(t,e,r,n,i,a){var o,s,l=Array.isArray(e)?e.length:0,u=n.slice(0,l),c=[];var h=!1;for(o=0;o<u.length;o++){s=u[o];t._fullData[s]._module}var f=[An.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)},function(){var n;for(n=0;n<u.length;n++){var i=u[n],a=t._fullData[i]._module;a&&(a.animatable&&c.push(i),t.data[u[n]]=An.extendTrace(t.data[u[n]],e[n]))}var o=ne.expandObjectPaths(ne.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&&delete o[l].range;return An.extendLayout(t.layout,o),delete t.calcdata,An.supplyDefaults(t),An.doCalcdata(t),P.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),Promise.resolve()},An.rehover,function(){return t.emit(\\\"plotly_transitioning\\\",[]),new Promise(function(e){t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){h=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return P.call(\\\"redraw\\\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\\\"plotly_transitioninterrupted\\\",[])});var n,o,s=0,l=0;function u(){return s++,function(){var r;h||++l!==s||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return P.call(\\\"redraw\\\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\\\"plotly_transitioned\\\",[])}).then(r)))}}var f=t._fullLayout._basePlotModules,p=!1;if(r)for(o=0;o<f.length;o++)if(f[o].transitionAxes){var d=ne.expandObjectPaths(r);p=f[o].transitionAxes(t,d,a,u)||p}for(p?(n=ne.extendFlat({},a)).duration=0:n=a,o=0;o<f.length;o++)f[o].plot(t,c,n,u);setTimeout(u())})}],p=ne.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then(function(){return t})},An.doCalcdata=function(t,e){var r,n,i,a,o=gn.list(t),s=t._fullData,l=t._fullLayout,u=new Array(s.length),c=(t.calcdata||[]).slice(0);for(t.calcdata=u,t.firstscatter=!0,l._numBoxes=0,l._numViolins=0,l._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,l._piecolormap={},l._piecolorway=null,l._piedefaultcolorcount=0,i=0;i<s.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(u[i]=c[i]);for(i=0;i<s.length;i++)(r=s[i])._arrayAttrs=nn.findArrayAttributes(r);var h=l._subplots.polar||[];for(i=0;i<h.length;i++)o.push(l[h[i]].radialaxis,l[h[i]].angularaxis);In(o);var f=!1;for(i=0;i<s.length;i++)if(!0===(r=s[i]).visible&&r.transforms)for((n=r._module)&&n.calc&&n.calc(t,r),a=0;a<r.transforms.length;a++){var p=r.transforms[a];(n=Tn[p.type])&&n.calcTransform&&(r._hasCalcTransform=!0,f=!0,n.calcTransform(t,r,p))}for(f&&In(o),i=0;i<s.length;i++){var d=[];if(!0===(r=s[i]).visible){n=r._module;var g=r.transforms||[];for(a=g.length-1;a>=0;a--)if(g[a].enabled){r._indexToPoints=g[a]._indexToPoints;break}n&&n.calc&&(d=n.calc(t,r))}Array.isArray(d)&&d[0]||(d=[{x:Mn,y:Mn}]),d[0].t||(d[0].t={}),d[0].trace=r,u[i]=d}P.getComponentMethod(\\\"fx\\\",\\\"calc\\\")(t)},An.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},An.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var c=a[u][0];c[0].trace.visible=!1,o[u]=[c]}for(var h in o){var f=o[h];f[0][0].trace._module.plot(t,e,ne.filterVisible(f),n)}e.traceHash=o};var Dn={draw:function(t,n,i){var a,o=i.propContainer,s=i.propName,l=i.placeholder,u=i.traceIndex,c=i.avoid||{},h=i.attributes,p=i.transform,d=i.containerGroup,g=t._fullLayout,v=o.titlefont||{},m=v.family,y=v.size,x=v.color,b=1,_=!1,w=(o.title||\\\"\\\").trim();\\\"title\\\"===s?a=\\\"titleText\\\":-1!==s.indexOf(\\\"axis\\\")?a=\\\"axisTitleText\\\":s.indexOf(!0)&&(a=\\\"colorbarTitleText\\\");var M=t._context.edits[a];\\\"\\\"===w?b=0:w.replace(On,\\\" % \\\")===l.replace(On,\\\" % \\\")&&(b=.2,_=!0,M||(w=\\\"\\\"));var A=w||M;d||(d=g._infolayer.selectAll(\\\".g-\\\"+n).data([0])).enter().append(\\\"g\\\").classed(\\\"g-\\\"+n,!0);var k=d.selectAll(\\\"text\\\").data(A?[0]:[]);if(k.enter().append(\\\"text\\\"),k.text(w).attr(\\\"class\\\",n),k.exit().remove(),!A)return d;function T(t){ne.syncOrAsync([S,E],t)}function S(r){var n;return p?(n=\\\"\\\",p.rotate&&(n+=\\\"rotate(\\\"+[p.rotate,h.x,h.y]+\\\")\\\"),p.offset&&(n+=\\\"translate(0, \\\"+p.offset+\\\")\\\")):n=null,r.attr(\\\"transform\\\",n),r.style({\\\"font-family\\\":m,\\\"font-size\\\":e.round(y,2)+\\\"px\\\",fill:Oe.rgb(x),opacity:b*Oe.opacity(x),\\\"font-weight\\\":_n.fontWeight}).attr(h).call(er.convertToTspans,t),_n.previousPromises(t)}function E(t){var n=e.select(t.node().parentNode);if(c&&c.selection&&c.side&&w){n.attr(\\\"transform\\\",null);var i=0,a={left:\\\"right\\\",right:\\\"left\\\",top:\\\"bottom\\\",bottom:\\\"top\\\"}[c.side],o=-1!==[\\\"left\\\",\\\"top\\\"].indexOf(c.side)?-1:1,s=r(c.pad)?c.pad:2,l=Sr.bBox(n.node()),u={left:0,top:0,right:g.width,bottom:g.height},h=c.maxShift||(u[c.side]-l[c.side])*(\\\"left\\\"===c.side||\\\"top\\\"===c.side?-1:1);if(h<0)i=h;else{var f=c.offsetLeft||0,p=c.offsetTop||0;l.left-=f,l.right-=f,l.top-=p,l.bottom-=p,c.selection.each(function(){var t=Sr.bBox(this);ne.bBoxIntersect(l,t,s)&&(i=Math.max(i,o*(t[c.side]-l[a])+s))}),i=Math.min(h,i)}if(i>0||h<0){var d={left:[-i,0],right:[i,0],top:[0,-i],bottom:[0,i]}[c.side];n.attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\")\\\")}}}k.call(T),M&&(w?k.on(\\\".opacity\\\",null):(b=0,_=!0,k.text(l).on(\\\"mouseover.opacity\\\",function(){e.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){e.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\\\"opacity\\\",0)})),k.call(er.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){void 0!==u?P.call(\\\"restyle\\\",t,s,e,u):P.call(\\\"relayout\\\",t,s,e)}).on(\\\"cancel\\\",function(){this.text(this.attr(\\\"data-unformatted\\\")).call(T)}).on(\\\"input\\\",function(t){this.text(t||\\\" \\\").call(er.positionText,h.x,h.y)}));return k.classed(\\\"js-placeholder\\\",_),d}},On=/ [XY][0-9]* /;var Rn=t.FP_SAFE,Fn=Vn,Bn=Un,Nn=function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=Vn(t),t._r=t.range.slice(),t._rl=ne.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&\\\"auto\\\"===n.rangemode&&(n.range=r?Vn(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=ne.extendFlat({},n)}},jn=function(t,e,n){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);n||(n={});t._m||t.setScale();var i,a,o,s,l,u,c,h,f,p,d,g,v=e.length,m=n.padded||!1,y=n.tozero&&(\\\"linear\\\"===t.type||\\\"-\\\"===t.type),x=\\\"log\\\"===t.type,b=!1;function _(t){if(Array.isArray(t))return b=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var w=_((t._m>0?n.ppadplus:n.ppadminus)||n.ppad||0),M=_((t._m>0?n.ppadminus:n.ppadplus)||n.ppad||0),A=_(n.vpadplus||n.vpad),k=_(n.vpadminus||n.vpad);if(!b){if(d=1/0,g=-1/0,x)for(i=0;i<v;i++)(s=e[i])<d&&s>0&&(d=s),s>g&&s<Rn&&(g=s);else for(i=0;i<v;i++)(s=e[i])<d&&s>-Rn&&(d=s),s>g&&s<Rn&&(g=s);e=[d,g],v=2}function T(n){if(l=e[n],r(l))for(h=w(n),f=M(n),d=l-k(n),g=l+A(n),x&&d<g/10&&(d=g/10),u=t.c2l(d),c=t.c2l(g),y&&(u=Math.min(0,u),c=Math.max(0,c)),o=0;o<2;o++){var i=o?c:u;if(qn(i)){var v=o?t._max:t._min,b=o?h:f,_=o?Gn:Hn;for(p=!0,a=0;a<v.length&&p;a++){if(s=v[a],_(s.val,i)&&s.pad>=b&&(s.extrapad||!m)){p=!1;break}_(i,s.val)&&s.pad<=b&&(m||!s.extrapad)&&(v.splice(a,1),a--)}if(p){var T=y&&0===i;v.push({val:i,pad:T?0:b,extrapad:!T&&m})}}}}var S=Math.min(6,v);for(i=0;i<S;i++)T(i);for(i=v-1;i>=S;i--)T(i)};function Vn(t){var e,r,n,i,a,o,s,l,u=[],c=t._min[0].val,h=t._max[0].val,f=0,p=!1,d=Un(t);for(e=1;e<t._min.length&&c===h;e++)c=Math.min(c,t._min[e].val);for(e=1;e<t._max.length&&c===h;e++)h=Math.max(h,t._max[e].val);if(t.range){var g=ne.simpleMap(t.range,t.r2l);p=g[1]<g[0]}for(\\\"reversed\\\"===t.autorange&&(p=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(n=t._min[e],r=0;r<t._max.length;r++)l=(i=t._max[r]).val-n.val,s=t._length-d(n)-d(i),l>0&&s>0&&l/s>f&&(a=n,o=i,f=l/s);if(c===h){var v=c-1,m=c+1;u=\\\"tozero\\\"===t.rangemode?c<0?[v,0]:[0,m]:\\\"nonnegative\\\"===t.rangemode?[Math.max(0,v),Math.max(0,m)]:[v,m]}else f&&(\\\"linear\\\"!==t.type&&\\\"-\\\"!==t.type||(\\\"tozero\\\"===t.rangemode?(a.val>=0&&(a={val:0,pad:0}),o.val<=0&&(o={val:0,pad:0})):\\\"nonnegative\\\"===t.rangemode&&(a.val-f*d(a)<0&&(a={val:0,pad:0}),o.val<0&&(o={val:1,pad:0})),f=(o.val-a.val)/(t._length-d(a)-d(o))),u=[a.val-f*d(a),o.val+f*d(o)]);return u[0]===u[1]&&(\\\"tozero\\\"===t.rangemode?u=u[0]<0?[u[0],0]:u[0]>0?[0,u[0]]:[0,1]:(u=[u[0]-1,u[0]+1],\\\"nonnegative\\\"===t.rangemode&&(u[0]=Math.max(0,u[0])))),p&&u.reverse(),ne.simpleMap(u,t.l2r||Number)}function Un(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 qn(t){return r(t)&&Math.abs(t)<Rn}function Hn(t,e){return t<=e}function Gn(t,e){return t>=e}var Wn=t.BADNUM,Yn=function(t,e){return function(t,e){for(var n,i=0,a=0,o=Math.max(1,(t.length-1)/1e3),s=0;s<t.length;s+=o)n=t[Math.round(s)],ne.isDateTime(n,e)&&(i+=1),r(n)&&(a+=1);return i>2*a}(t,e)?\\\"date\\\":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,i=0,a=0;a<t.length;a+=r)e=t[Math.round(a)],ne.cleanNumber(e)!==Wn?n++:\\\"string\\\"==typeof e&&\\\"\\\"!==e&&\\\"None\\\"!==e&&i++;return i>2*n}(t)?\\\"category\\\":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(r(t[e]))return!0;return!1}(t)?\\\"linear\\\":\\\"-\\\"};var Xn=ne.cleanNumber,Zn=ne.ms2DateTime,Jn=ne.dateTime2ms,Kn=ne.ensureNumber,Qn=t.FP_SAFE,$n=t.BADNUM;function ti(t){return Math.pow(10,t)}var ei=function(t,n){n=n||{};var i=(t._id||\\\"x\\\").charAt(0),a=10;function o(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],i=t.range[1];return.5*(n+i-3*a*Math.abs(n-i))}return $n}function s(e,n,i){var a=Jn(e,i||t.calendar);if(a===$n){if(!r(e))return $n;a=Jn(new Date(+e))}return a}function l(e,r,n){return Zn(e,r,n||t.calendar)}function u(e){return t._categories[Math.round(e)]}function c(e){if(t._categoriesMap){var n=t._categoriesMap[e];if(void 0!==n)return n}if(r(e))return+e}function h(n){return r(n)?e.round(t._b+t._m*n,2):$n}function f(e){return(e-t._b)/t._m}t.c2l=\\\"log\\\"===t.type?o:Kn,t.l2c=\\\"log\\\"===t.type?ti:Kn,t.l2p=h,t.p2l=f,t.c2p=\\\"log\\\"===t.type?function(t,e){return h(o(t,e))}:h,t.p2c=\\\"log\\\"===t.type?function(t){return ti(f(t))}:f,-1!==[\\\"linear\\\",\\\"-\\\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=Xn,t.c2d=t.c2r=t.l2d=t.l2r=Kn,t.d2p=t.r2p=function(e){return t.l2p(Xn(e))},t.p2d=t.p2r=f,t.cleanPos=Kn):\\\"log\\\"===t.type?(t.d2r=t.d2l=function(t,e){return o(Xn(t),e)},t.r2d=t.r2c=function(t){return ti(Xn(t))},t.d2c=t.r2l=Xn,t.c2d=t.l2r=Kn,t.c2r=o,t.l2d=ti,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return ti(f(t))},t.r2p=function(e){return t.l2p(Xn(e))},t.p2r=f,t.cleanPos=Kn):\\\"date\\\"===t.type?(t.d2r=t.r2d=ne.identity,t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=l,t.d2p=t.r2p=function(e,r,n){return t.l2p(s(e,0,n))},t.p2d=t.p2r=function(t,e,r){return l(f(t),e,r)},t.cleanPos=function(e){return ne.cleanDate(e,$n,t.calendar)}):\\\"category\\\"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return $n},t.r2d=t.c2d=t.l2d=u,t.d2r=t.d2l_noadd=c,t.r2c=function(e){var r=c(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=Kn,t.r2l=c,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return u(f(t))},t.r2p=t.d2p,t.p2r=f,t.cleanPos=function(t){return\\\"string\\\"==typeof t&&\\\"\\\"!==t?t:Kn(t)}),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,n){n||(n={}),e||(e=\\\"range\\\");var a,o,s=ne.nestedProperty(t,e).get();if(o=(o=\\\"date\\\"===t.type?ne.dfltRange(t.calendar):\\\"y\\\"===i?Te.DFLTRANGEY:n.dfltRange||Te.DFLTRANGEX).slice(),s&&2===s.length)for(\\\"date\\\"===t.type&&(s[0]=ne.cleanDate(s[0],$n,t.calendar),s[1]=ne.cleanDate(s[1],$n,t.calendar)),a=0;a<2;a++)if(\\\"date\\\"===t.type){if(!ne.isDateTime(s[a],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=ne.constrain(t.r2l(s[0]),ne.MIN_MS+1e3,ne.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!r(s[a])){if(!r(s[1-a])){t[e]=o;break}s[a]=s[1-a]*(a?10:.1)}if(s[a]<-Qn?s[a]=-Qn:s[a]>Qn&&(s[a]=Qn),s[0]===s[1]){var u=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=u,s[1]+=u}}else ne.nestedProperty(t,e).set(o)},t.setScale=function(e){var r=n._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=gn.getFromId({_fullLayout:n},t.overlaying);t.domain=a.domain}var o=e&&t._r?\\\"_r\\\":\\\"range\\\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),u=t.r2l(t[o][1],s);if(\\\"y\\\"===i?(t._offset=r.t+(1-t.domain[1])*r.h,t._length=r.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-u),t._b=-t._m*u):(t._offset=r.l+t.domain[0]*r.w,t._length=r.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw n._replotting=!1,new Error(\\\"Something went wrong with axis scaling\\\")},t.makeCalcdata=function(e,r){var n,i,a,o,s=t.type,l=\\\"date\\\"===s&&e[r+\\\"calendar\\\"];if(r in e){if(n=e[r],o=e._length||n.length,ne.isTypedArray(n)&&(\\\"linear\\\"===s||\\\"log\\\"===s)){if(o===n.length)return n;if(n.subarray)return n.subarray(0,o)}for(i=new Array(o),a=0;a<o;a++)i[a]=t.d2c(n[a],0,l)}else{var u=r+\\\"0\\\"in e?t.d2c(e[r+\\\"0\\\"],0,l):0,c=e[\\\"d\\\"+r]?Number(e[\\\"d\\\"+r]):1;for(n=e[{x:\\\"y\\\",y:\\\"x\\\"}[r]],o=e._length||n.length,i=new Array(o),a=0;a<o;a++)i[a]=u+a*c}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&r(t.r2l(e[0]))&&r(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[i],null,r);return n>=t.r2l(t.range[0])&&n<=t.r2l(t.range[1])},t.clearCalc=function(){t._min=[],t._max=[],t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var p=n._d3locale;\\\"date\\\"===t.type&&(t._dateFormat=p?p.timeFormat.utc:e.time.format.utc,t._extraFormat=n._extraFormat),t._separators=n.separators,t._numFormat=p?p.numberFormat:e.format,delete t._minDtick,delete t._forceTick0},ri={},ni=t.ONEAVGYEAR,ii=t.ONEAVGMONTH,ai=t.ONEDAY,oi=t.ONEHOUR,si=t.ONEMIN,li=t.ONESEC,ui=t.MINUS_SIGN,ci=t.BADNUM,hi=Qe.MID_SHIFT,fi=Qe.LINE_SPACING,pi=ri={};pi.setConvert=ei,pi.id2name=gn.id2name,pi.name2id=gn.name2id,pi.cleanId=gn.cleanId,pi.list=gn.list,pi.listIds=gn.listIds,pi.getFromId=gn.getFromId,pi.getFromTrace=gn.getFromTrace,pi.expand=jn,pi.getAutoRange=Fn,pi.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\\\"axis\\\"],l=n+\\\"ref\\\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\\\"enumerated\\\",values:s.concat(a?[a]:[]),dflt:i},ne.coerce(t,e,u,l)},pi.coercePosition=function(t,e,r,n,i,a){var o,s;if(\\\"paper\\\"===n||\\\"pixel\\\"===n)o=ne.ensureNumber,s=r(i,a);else{var l=pi.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},pi.cleanPosition=function(t,e,r){return(\\\"paper\\\"===r||\\\"pixel\\\"===r?ne.ensureNumber:pi.getFromId(e,r).cleanPos)(t)};var di=pi.getDataConversions=function(t,e,r,n){var i,a=\\\"x\\\"===r||\\\"y\\\"===r||\\\"z\\\"===r?r:n;if(Array.isArray(a)){if(i={type:Yn(n),_categories:[]},pi.setConvert(i),\\\"category\\\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=pi.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\\\"ids\\\"===a?{d2c:vi,c2d:vi}:{d2c:gi,c2d:gi}};function gi(t){return+t}function vi(t){return String(t)}pi.getDataToCoordFunc=function(t,e,r,n){return di(t,e,r,n).d2c},pi.counterLetter=function(t){var e=t.charAt(0);return\\\"x\\\"===e?\\\"y\\\":\\\"y\\\"===e?\\\"x\\\":void 0},pi.minDtick=function(t,e,r,n){-1===[\\\"log\\\",\\\"category\\\"].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},pi.saveRangeInitial=function(t,e){for(var r=pi.list(t,\\\"\\\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},pi.saveShowSpikeInitial=function(t,e){for(var r=pi.list(t,\\\"\\\",!0),n=!1,i=\\\"on\\\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\\\"on\\\"!==i||o.showspikes||(i=\\\"off\\\")}return t._fullLayout._cartesianSpikesEnabled=i,n},pi.autoBin=function(t,e,n,i,a){var o,s,l=ne.aggNums(Math.min,null,t),u=ne.aggNums(Math.max,null,t);if(a||(a=e.calendar),\\\"category\\\"===e.type)return{start:l-.5,end:u+.5,size:1,_dataSpan:u-l};if(n)o=(u-l)/n;else{var c=ne.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),f=h*ne.roundUp(c.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(f,2*ne.stdev(t)/Math.pow(t.length,i?.25:.4)),r(o)||(o=1)}s=\\\"log\\\"===e.type?{type:\\\"linear\\\",range:[l,u]}:{type:e.type,range:ne.simpleMap([l,u],e.c2r,0,a),calendar:a},pi.setConvert(s),pi.autoTicks(s,o);var p,d=pi.tickIncrement(pi.tickFirst(s),s.dtick,\\\"reverse\\\",a);if(\\\"number\\\"==typeof s.dtick)p=(d=function(t,e,n,i,a){var o=0,s=0,l=0,u=0;function c(e){return(1+100*(e-t)/n.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:r(e[h])||u++,c(e[h])&&o++,c(e[h]+n.dtick/2)&&s++;var f=e.length-u;if(l===f&&\\\"date\\\"!==n.type)n.dtick<1?t=i-.5*n.dtick:(t-=.5)+n.dtick<i&&(t+=n.dtick);else if(s<.1*f&&(o>.3*f||c(i)||c(a))){var p=n.dtick/2;t+=t+p<i?p:-p}return t}(d,t,s,l,u))+(1+Math.floor((u-d)/s.dtick))*s.dtick;else for(\\\"M\\\"===s.dtick.charAt(0)&&(d=function(t,e,r,n,i){var a=ne.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=pi.tickIncrement(t,\\\"M6\\\",\\\"reverse\\\")+1.5*ai:a.exactMonths>.8?t=pi.tickIncrement(t,\\\"M1\\\",\\\"reverse\\\")+15.5*ai:t-=ai/2;var s=pi.tickIncrement(t,r);if(s<=n)return s}return t}(d,t,s.dtick,l,a)),p=d,0;p<=u;)p=pi.tickIncrement(p,s.dtick,!1,a),0;return{start:e.c2r(d,0,a),end:e.c2r(p,0,a),size:s.dtick,_dataSpan:u-l}},pi.prepTicks=function(t){var e=ne.simpleMap(t.range,t.r2l);if(\\\"auto\\\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\\\"category\\\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\\\"y\\\"===t._id.charAt(0)?40:80,n=ne.constrain(t._length/r,4,9)+1),\\\"radialaxis\\\"===t._name&&(n*=2)),\\\"array\\\"===t.tickmode&&(n*=100),pi.autoTicks(t,Math.abs(e[1]-e[0])/n),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),ki(t)},pi.calcTicks=function(t){pi.prepTicks(t);var e=ne.simpleMap(t.range,t.r2l);if(\\\"array\\\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=ne.simpleMap(t.range,t.r2l),s=1.0001*o[0]-1e-4*o[1],l=1.0001*o[1]-1e-4*o[0],u=Math.min(s,l),c=Math.max(s,l),h=0;Array.isArray(i)||(i=[]);var f=\\\"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(r=0;r<n.length;r++)(e=f(n[r]))>u&&e<c&&(void 0===i[r]?a[h]=pi.tickText(t,e):a[h]=Ti(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=pi.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\\\"category\\\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,s=Math.max(1e3,t._length||0),l=t._tmin;(i?l>=n:l<=n)&&!(a.length>s||l===o);l=pi.tickIncrement(l,t.dtick,i,t.calendar))o=l,a.push(l);\\\"angular\\\"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\\\"\\\",t._inCalcTicks=!0;for(var u=new Array(a.length),c=0;c<a.length;c++)u[c]=pi.tickText(t,a[c]);return t._inCalcTicks=!1,u};var mi=[2,5,10],yi=[1,2,3,6,12],xi=[1,2,5,10,15,30],bi=[1,2,3,7,14],_i=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],wi=[-.301,0,.301,.699,1],Mi=[15,30,45,90,180];function Ai(t,e,r){return e*ne.roundUp(t/e,r)}function ki(t){var e=t.dtick;if(t._tickexponent=0,r(e)||\\\"string\\\"==typeof e||(e=1),\\\"category\\\"===t.type&&(t._tickround=null),\\\"date\\\"===t.type){var n=t.r2l(t.tick0),i=t.l2r(n).replace(/(^-|i)/g,\\\"\\\"),a=i.length;if(\\\"M\\\"===String(e).charAt(0))a>10||\\\"01-01\\\"!==i.substr(5)?t._tickround=\\\"d\\\":t._tickround=+e.substr(1)%12==0?\\\"y\\\":\\\"m\\\";else if(e>=ai&&a<=10||e>=15*ai)t._tickround=\\\"d\\\";else if(e>=si&&a<=16||e>=oi)t._tickround=\\\"M\\\";else if(e>=li&&a<=19||e>=si)t._tickround=\\\"S\\\";else{var o=t.l2r(n+e).replace(/^-/,\\\"\\\").length;t._tickround=Math.max(a,o)-20}}else if(r(e)||\\\"L\\\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);r(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])),u=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(u)>3&&(Ei(t.exponentformat)&&!Ci(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function Ti(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}}pi.autoTicks=function(t,e){var n;function i(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\\\"date\\\"===t.type){t.tick0=ne.dateTick0(t.calendar);var a=2*e;a>ni?(e/=ni,n=i(10),t.dtick=\\\"M\\\"+12*Ai(e,n,mi)):a>ii?(e/=ii,t.dtick=\\\"M\\\"+Ai(e,1,yi)):a>ai?(t.dtick=Ai(e,ai,bi),t.tick0=ne.dateTick0(t.calendar,!0)):a>oi?t.dtick=Ai(e,oi,yi):a>si?t.dtick=Ai(e,si,xi):a>li?t.dtick=Ai(e,li,xi):(n=i(10),t.dtick=Ai(e,n,mi))}else if(\\\"log\\\"===t.type){t.tick0=0;var o=ne.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=i(10),t.dtick=\\\"L\\\"+Ai(e,n,mi)}else t.dtick=e>.3?\\\"D2\\\":\\\"D1\\\"}else\\\"category\\\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):\\\"angular\\\"===t._id?(t.tick0=0,n=1,t.dtick=Ai(e,n,Mi)):(t.tick0=0,n=i(10),t.dtick=Ai(e,n,mi));if(0===t.dtick&&(t.dtick=1),!r(t.dtick)&&\\\"string\\\"!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,\\\"ax.dtick error: \\\"+String(l)}},pi.tickIncrement=function(t,n,i,a){var o=i?-1:1;if(r(n))return t+o*n;var s=n.charAt(0),l=o*Number(n.substr(1));if(\\\"M\\\"===s)return ne.incrementMonth(t,l,a);if(\\\"L\\\"===s)return Math.log(Math.pow(10,t)+l)/Math.LN10;if(\\\"D\\\"===s){var u=\\\"D2\\\"===n?wi:_i,c=t+.01*o,h=ne.roundUp(ne.mod(c,1),u,i);return Math.floor(c)+Math.log(e.round(Math.pow(10,h),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(n)},pi.tickFirst=function(t){var n=t.r2l||Number,i=ne.simpleMap(t.range,n),a=i[1]<i[0],o=a?Math.floor:Math.ceil,s=1.0001*i[0]-1e-4*i[1],l=t.dtick,u=n(t.tick0);if(r(l)){var c=o((s-u)/l)*l+u;return\\\"category\\\"===t.type&&(c=ne.constrain(c,0,t._categories.length-1)),c}var h=l.charAt(0),f=Number(l.substr(1));if(\\\"M\\\"===h){for(var p,d,g,v=0,m=u;v<10;){if(((p=pi.tickIncrement(m,l,a,t.calendar))-s)*(m-s)<=0)return a?Math.min(m,p):Math.max(m,p);d=(s-(m+p)/2)/(p-m),g=h+(Math.abs(Math.round(d))||1)*f,m=pi.tickIncrement(m,g,d<0?!a:a,t.calendar),v++}return ne.error(\\\"tickFirst did not converge\\\",t),m}if(\\\"L\\\"===h)return Math.log(o((Math.pow(10,s)-u)/f)*f+u)/Math.LN10;if(\\\"D\\\"===h){var y=\\\"D2\\\"===l?wi:_i,x=ne.roundUp(ne.mod(s,1),y,a);return Math.floor(s)+Math.log(e.round(Math.pow(10,x),1))/Math.LN10}throw\\\"unrecognized dtick \\\"+String(l)},pi.tickText=function(t,e,n){var i,a,o=Ti(t,e),s=\\\"array\\\"===t.tickmode,l=n||s,u=\\\"category\\\"===t.type?t.d2l_noadd:t.d2l;if(s&&Array.isArray(t.ticktext)){var c=ne.simpleMap(t.range,t.r2l),h=Math.abs(c[1]-c[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function f(r){var i;return void 0===r||(n?\\\"none\\\"===r:(i={first:t._tmin,last:t._tmax}[r],\\\"all\\\"!==r&&e!==i))}return i=n?\\\"never\\\":\\\"none\\\"!==t.exponentformat&&f(t.showexponent)?\\\"hide\\\":\\\"\\\",\\\"date\\\"===t.type?function(t,e,n,i){var a=t._tickround,o=n&&t.hoverformat||pi.getTickFormat(t);i&&(a=r(a)?4:{y:\\\"m\\\",m:\\\"d\\\",d:\\\"M\\\",M:\\\"S\\\",S:4}[a]);var s,l=ne.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=l.indexOf(\\\"\\\\n\\\");-1!==u&&(s=l.substr(u+1),l=l.substr(0,u));i&&(\\\"00:00:00\\\"===l||\\\"00:00\\\"===l?(l=s,s=\\\"\\\"):8===l.length&&(l=l.replace(/:00$/,\\\"\\\")));s&&(n?\\\"d\\\"===a?l+=\\\", \\\"+s:l=s+(l?\\\", \\\"+l:\\\"\\\"):t._inCalcTicks&&s===t._prevDateHead||(l+=\\\"<br>\\\"+s,t._prevDateHead=s));e.text=l}(t,o,n,l):\\\"log\\\"===t.type?function(t,e,n,i,a){var o=t.dtick,s=e.x,l=t.tickformat;\\\"never\\\"===a&&(a=\\\"\\\");!i||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0)||(o=\\\"L3\\\");if(l||\\\"string\\\"==typeof o&&\\\"L\\\"===o.charAt(0))e.text=Li(Math.pow(10,s),t,a,i);else if(r(o)||\\\"D\\\"===o.charAt(0)&&ne.mod(s+.01,1)<.1){var u=Math.round(s);-1!==[\\\"e\\\",\\\"E\\\",\\\"power\\\"].indexOf(t.exponentformat)||Ei(t.exponentformat)&&Ci(u)?(e.text=0===u?1:1===u?\\\"10\\\":u>1?\\\"10<sup>\\\"+u+\\\"</sup>\\\":\\\"10<sup>\\\"+ui+-u+\\\"</sup>\\\",e.fontSize*=1.25):(e.text=Li(Math.pow(10,s),t,\\\"\\\",\\\"fakehover\\\"),\\\"D1\\\"===o&&\\\"y\\\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\\\"D\\\"!==o.charAt(0))throw\\\"unrecognized dtick \\\"+String(o);e.text=String(Math.round(Math.pow(10,ne.mod(s,1)))),e.fontSize*=.75}if(\\\"D1\\\"===t.dtick){var c=String(e.text).charAt(0);\\\"0\\\"!==c&&\\\"1\\\"!==c||(\\\"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*(s<0?.5:.25)))}}(t,o,0,l,i):\\\"category\\\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\\\"\\\");e.text=String(r)}(t,o):\\\"angular\\\"===t._id?function(t,e,r,n,i){if(\\\"radians\\\"!==t.thetaunit||r)e.text=Li(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\\\"0\\\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=Li(ne.deg2rad(e.x),t,i,n);else{var s=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(\\\"\\\"),s&&(e.text=ui+e.text)}}}}(t,o,n,l,i):function(t,e,r,n,i){\\\"never\\\"===i?i=\\\"\\\":\\\"all\\\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\\\"hide\\\");e.text=Li(e.x,t,i,n)}(t,o,0,l,i),t.tickprefix&&!f(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!f(t.showticksuffix)&&(o.text+=t.ticksuffix),o},pi.hoverLabelText=function(t,e,r){if(r!==ci&&r!==e)return pi.hoverLabelText(t,e)+\\\" - \\\"+pi.hoverLabelText(t,r);var n=\\\"log\\\"===t.type&&e<=0,i=pi.tickText(t,t.c2l(n?-e:e),\\\"hover\\\").text;return n?0===e?\\\"0\\\":ui+i:i};var Si=[\\\"f\\\",\\\"p\\\",\\\"n\\\",\\\"\\\\u03bc\\\",\\\"m\\\",\\\"\\\",\\\"k\\\",\\\"M\\\",\\\"G\\\",\\\"T\\\"];function Ei(t){return\\\"SI\\\"===t||\\\"B\\\"===t}function Ci(t){return t>14||t<-15}function Li(t,e,n,i){var a=t<0,o=e._tickround,s=n||e.exponentformat||\\\"B\\\",l=e._tickexponent,u=pi.getTickFormat(e),c=e.separatethousands;if(i){var h={exponentformat:s,dtick:\\\"none\\\"===e.showexponent?e.dtick:r(t)&&Math.abs(t)||1,range:\\\"none\\\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};ki(h),o=(Number(h._tickround)||0)+4,l=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,ui);var f,p=Math.pow(10,-o)/2;if(\\\"none\\\"===s&&(l=0),(t=Math.abs(t))<p)t=\\\"0\\\",a=!1;else{if(t+=p,l&&(t*=Math.pow(10,-l),o+=l),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var d=o;d<0;d++)t+=\\\"0\\\"}else{var g=(t=String(t)).indexOf(\\\".\\\")+1;g&&(t=t.substr(0,g+o).replace(/\\\\.?0+$/,\\\"\\\"))}t=ne.numSeparate(t,e._separators,c)}l&&\\\"hide\\\"!==s&&(Ei(s)&&Ci(l)&&(s=\\\"power\\\"),f=l<0?ui+-l:\\\"power\\\"!==s?\\\"+\\\"+l:String(l),\\\"e\\\"===s?t+=\\\"e\\\"+f:\\\"E\\\"===s?t+=\\\"E\\\"+f:\\\"power\\\"===s?t+=\\\"\\\\xd710<sup>\\\"+f+\\\"</sup>\\\":\\\"B\\\"===s&&9===l?t+=\\\"B\\\":Ei(s)&&(t+=Si[l/3+5]));return a?ui+t:t}function zi(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Pi(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(pi.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(pi.getFromId(t,r[n]));var l=Object.keys(a[0]),u=[\\\"anchor\\\",\\\"domain\\\",\\\"overlaying\\\",\\\"position\\\",\\\"side\\\",\\\"tickangle\\\"],c=[\\\"linear\\\",\\\"log\\\"];for(n=0;n<l.length;n++){var h=l[n],f=a[0][h],p=o[0][h],d=!0,g=!1,v=!1;if(\\\"_\\\"!==h.charAt(0)&&\\\"function\\\"!=typeof f&&-1===u.indexOf(h)){for(i=1;i<a.length&&d;i++){var m=a[i][h];\\\"type\\\"===h&&-1!==c.indexOf(f)&&-1!==c.indexOf(m)&&f!==m?g=!0:m!==f&&(d=!1)}for(i=1;i<o.length&&d;i++){var y=o[i][h];\\\"type\\\"===h&&-1!==c.indexOf(p)&&-1!==c.indexOf(y)&&p!==y?v=!0:o[i][h]!==p&&(d=!1)}d&&(g&&(s[a[0]._name].type=\\\"linear\\\"),v&&(s[o[0]._name].type=\\\"linear\\\"),Ii(s,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var x=t._fullLayout.annotations[n];-1!==e.indexOf(x.xref)&&-1!==r.indexOf(x.yref)&&ne.swapAttrs(s.annotations[n],[\\\"?\\\"])}}function Ii(t,e,r,n,i){var a,o=ne.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();for(\\\"title\\\"===e&&(s===i.x&&(s=i.y),l===i.y&&(l=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\\\".\\\"+e).set(l);for(a=0;a<n.length;a++)o(t,n[a]._name+\\\".\\\"+e).set(s)}pi.getTickFormat=function(t){var e,r,n,i,a,o,s;function l(t){return\\\"string\\\"!=typeof t?t:Number(t.replace(\\\"M\\\",\\\"\\\"))*ii}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)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\\\"\\\"))-Number(e.replace(/(L|D)/g,\\\"\\\")):n-i}return\\\"number\\\"==typeof t?1:-1}function c(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}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.dtick,i=t.tickformatstops[e].dtickrange,a=void 0,void 0,void 0,a=l||function(t){return t},o=i[0],s=i[1],(!o&&\\\"number\\\"!=typeof o||a(o)<=a(n))&&(!s&&\\\"number\\\"!=typeof s||a(s)>=a(n))){r=t.tickformatstops[e];break}break;case\\\"log\\\":for(e=0;e<t.tickformatstops.length;e++)if(c(t.dtick,t.tickformatstops[e].dtickrange)){r=t.tickformatstops[e];break}}return r?r.value:t.tickformat},pi.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?pi.findSubplotsWithAxis(n,e):n;return i.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]}),i},pi.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\\\"x\\\"===e._id.charAt(0)?\\\"^\\\"+e._id+\\\"y\\\":e._id+\\\"$\\\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},pi.makeClipPaths=function(t){var r,n,i=t._fullLayout,a={_offset:0,_length:i.width,_id:\\\"\\\"},o={_offset:0,_length:i.height,_id:\\\"\\\"},s=pi.list(t,\\\"x\\\",!0),l=pi.list(t,\\\"y\\\",!0),u=[];for(r=0;r<s.length;r++)for(u.push({x:s[r],y:o}),n=0;n<l.length;n++)0===r&&u.push({x:a,y:l[n]}),u.push({x:s[r],y:l[n]});var c=i._clips.selectAll(\\\".axesclip\\\").data(u,function(t){return t.x._id+t.y._id});c.enter().append(\\\"clipPath\\\").classed(\\\"axesclip\\\",!0).attr(\\\"id\\\",function(t){return\\\"clip\\\"+i._uid+t.x._id+t.y._id}).append(\\\"rect\\\"),c.exit().remove(),c.each(function(t){e.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})})},pi.doTicks=function(t,n,i){var a,o=t._fullLayout,s=!1;if(\\\"object\\\"==typeof n)n=(a=n)._id,s=!0;else if(a=pi.getFromId(t,n),\\\"redraw\\\"===n&&o._paper.selectAll(\\\"g.subplot\\\").each(function(t){var e=o._plots[t],r=e.xaxis,n=e.yaxis;e.xaxislayer.selectAll(\\\".\\\"+r._id+\\\"tick\\\").remove(),e.yaxislayer.selectAll(\\\".\\\"+n._id+\\\"tick\\\").remove(),e.gridlayer.selectAll(\\\"path\\\").remove(),e.zerolinelayer.selectAll(\\\"path\\\").remove(),o._infolayer.select(\\\".g-\\\"+r._id+\\\"title\\\").remove(),o._infolayer.select(\\\".g-\\\"+n._id+\\\"title\\\").remove()}),!n||\\\"redraw\\\"===n)return ne.syncOrAsync(pi.list(t,\\\"\\\",!0).map(function(e){return function(){if(e._id){var r=pi.doTicks(t,e._id);return\\\"redraw\\\"===n&&(e._r=e.range.slice(),e._rl=ne.simpleMap(e._r,e.r2l)),r}}}));a.setScale();var l,u,c,h,f,p=n.charAt(0),d=pi.counterLetter(n),g=pi.calcTicks(a),v=function(t){return[t.text,t.x,a.mirror,t.font,t.fontSize,t.fontColor].join(\\\"_\\\")},m=n+\\\"tick\\\",y=n+\\\"grid\\\",x=n+\\\"zl\\\",b=(a.linewidth||1)/2,_=\\\"outside\\\"===a.ticks?a.ticklen:0,w=0,M=Sr.crispRound(t,a.gridwidth,1),A=Sr.crispRound(t,a.zerolinewidth,M),k=Sr.crispRound(t,a.tickwidth,1);if(a._counterangle&&\\\"outside\\\"===a.ticks){var T=a._counterangle*Math.PI/180;_=a.ticklen*Math.cos(T)+1,w=a.ticklen*Math.sin(T)}if(a.showticklabels&&(\\\"outside\\\"===a.ticks||a.showline)&&(_+=.2*a.tickfont.size),\\\"x\\\"===p)l=[\\\"bottom\\\",\\\"top\\\"],u=a._transfn||function(t){return\\\"translate(\\\"+(a._offset+a.l2p(t.x))+\\\",0)\\\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\\\"M0,\\\"+t+\\\"l\\\"+Math.sin(r)*e+\\\",\\\"+Math.cos(r)*e}return\\\"M0,\\\"+t+\\\"v\\\"+e};else if(\\\"y\\\"===p)l=[\\\"left\\\",\\\"right\\\"],u=a._transfn||function(t){return\\\"translate(0,\\\"+(a._offset+a.l2p(t.x))+\\\")\\\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\\\"M\\\"+t+\\\",0l\\\"+Math.cos(r)*e+\\\",\\\"+-Math.sin(r)*e}return\\\"M\\\"+t+\\\",0h\\\"+e};else{if(\\\"angular\\\"!==n)return void ne.warn(\\\"Unrecognized doTicks axis:\\\",n);l=[\\\"left\\\",\\\"right\\\"],u=a._transfn,c=function(t,e){return\\\"M\\\"+t+\\\",0h\\\"+e}}var S=a.side||l[0],E=[-1,1,S===l[1]?1:-1];if(\\\"inside\\\"!==a.ticks==(\\\"x\\\"===p)&&(E=E.map(function(t){return-t})),a.visible){a._tickFilter&&(g=g.filter(a._tickFilter));var C=g.filter(F);if(\\\"angular\\\"===a._id&&(C=g),s){if(B(a._axislayer,c(a._pos+b*E[2],E[2]*a.ticklen)),a._counteraxis)U({gridlayer:a._gridlayer,zerolinelayer:a._zerolinelayer},a._counteraxis);return N(a._axislayer,a._pos)}if(o._has(\\\"cartesian\\\")){var L={};(h=pi.getSubplots(t,a)).map(function(t){var e=o._plots[t],r=e[d+\\\"axis\\\"],n=r._mainAxis._id;L[n]||(L[n]=1,U(e,r,t))});var z=a._mainSubplot,I=o._plots[z],D=[];if(a.ticks){var O=E[2],R=c(a._mainLinePosition+b*O,O*a.ticklen);a._anchorAxis&&a.mirror&&!0!==a.mirror&&(R+=c(a._mainMirrorPosition-b*O,-O*a.ticklen)),B(I[p+\\\"axislayer\\\"],R),D=Object.keys(a._linepositions)}return D.map(function(t){var e=o._plots[t][p+\\\"axislayer\\\"],r=a._linepositions[t]||[];function n(t){var e=E[t];return c(r[t]+b*e,e*a.ticklen)}B(e,n(0)+n(1))}),N(I[p+\\\"axislayer\\\"],a._mainLinePosition)}}function F(t){var e=a.l2p(t.x);return e>1&&e<a._length-1}function B(t,e){var r=t.selectAll(\\\"path.\\\"+m).data(\\\"inside\\\"===a.ticks?C:g,v);e&&a.ticks?(r.enter().append(\\\"path\\\").classed(m,1).classed(\\\"ticks\\\",1).classed(\\\"crisp\\\",1).call(Oe.stroke,a.tickcolor).style(\\\"stroke-width\\\",k+\\\"px\\\").attr(\\\"d\\\",e),r.attr(\\\"transform\\\",u),r.exit().remove()):r.remove()}function N(i,s){var l,c,d,y,x,M=i.selectAll(\\\"g.\\\"+m).data(g,v);if(!r(s))return M.remove(),void j();if(!a.showticklabels)return M.remove(),j(),void C();\\\"x\\\"===p?(l=function(t){return t.dx+w*x},y=s+(_+b)*(x=\\\"bottom\\\"===S?1:-1),c=function(t){return t.dy+y+t.fontSize*(\\\"bottom\\\"===S?1:-.2)},d=function(t){return r(t)&&0!==t&&180!==t?t*x<0?\\\"end\\\":\\\"start\\\":\\\"middle\\\"}):\\\"y\\\"===p?(x=\\\"right\\\"===S?1:-1,c=function(t){return t.dy+t.fontSize*hi-w*x},l=function(t){return t.dx+s+(_+b+(90===Math.abs(a.tickangle)?t.fontSize/2:0))*x},d=function(t){return r(t)&&90===Math.abs(t)?\\\"middle\\\":\\\"right\\\"===S?\\\"start\\\":\\\"end\\\"}):\\\"angular\\\"===n&&(a._labelShift=w,a._labelStandoff=_,a._pad=b,l=a._labelx,c=a._labely,d=a._labelanchor);var A=0,k=0,T=[];function E(t,n){t.each(function(t){var i=d(n,t),a=e.select(this),o=a.select(\\\".text-math-group\\\"),s=u.call(a.node(),t)+(r(n)&&0!=+n?\\\" rotate(\\\"+n+\\\",\\\"+l(t)+\\\",\\\"+(c(t)-t.fontSize/2)+\\\")\\\":\\\"\\\"),h=function(t,e,r){var n=(t-1)*e;if(\\\"x\\\"===p){if(r<-60||60<r)return-.5*n;if(\\\"top\\\"===S)return-n}else{if((r*=\\\"left\\\"===S?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(er.lineCount(a),fi*t.fontSize,r(n)?+n:0);if(h&&(s+=\\\" translate(0, \\\"+h+\\\")\\\"),o.empty())a.select(\\\"text\\\").attr({transform:s,\\\"text-anchor\\\":i});else{var f=Sr.bBox(o.node()).width*{end:-.5,start:.5}[i];o.attr(\\\"transform\\\",s+(f?\\\"translate(\\\"+f+\\\",0)\\\":\\\"\\\"))}})}function C(){if(a.showticklabels){var e=t.getBoundingClientRect(),r=i.node().getBoundingClientRect();a._boundingBox={width:r.width,height:r.height,left:r.left-e.left,right:r.right-e.left,top:r.top-e.top,bottom:r.bottom-e.top}}else{var n,s=o._size;\\\"x\\\"===p?(n=\\\"free\\\"===a.anchor?s.t+s.h*(1-a.position):s.t+s.h*(1-a._anchorAxis.domain[{bottom:0,top:1}[a.side]]),a._boundingBox={top:n,bottom:n,left:a._offset,right:a._offset+a._length,width:a._length,height:0}):(n=\\\"free\\\"===a.anchor?s.l+s.w*a.position:s.l+s.w*a._anchorAxis.domain[{left:0,right:1}[a.side]],a._boundingBox={left:n,right:n,bottom:a._offset+a._length,top:a._offset,height:a._length,width:0})}if(h){var l=a._counterSpan=[1/0,-1/0];for(f=0;f<h.length;f++){var u=o._plots[h[f]][\\\"x\\\"===p?\\\"yaxis\\\":\\\"xaxis\\\"];c(l,[u._offset,u._offset+u._length])}\\\"free\\\"===a.anchor&&c(l,\\\"x\\\"===p?[a._boundingBox.bottom,a._boundingBox.top]:[a._boundingBox.right,a._boundingBox.left])}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}M.enter().append(\\\"g\\\").classed(m,1).append(\\\"text\\\").attr(\\\"text-anchor\\\",\\\"middle\\\").each(function(r){var n=e.select(this),i=t._promises.length;n.call(er.positionText,l(r),c(r)).call(Sr.font,r.font,r.fontSize,r.fontColor).text(r.text).call(er.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){E(n,a.tickangle)})):E(n,a.tickangle)}),M.exit().remove(),M.each(function(t){A=Math.max(A,t.fontSize)}),\\\"angular\\\"===n&&M.each(function(t){e.select(this).select(\\\"text\\\").call(er.positionText,l(t),c(t))}),E(M,a._lastangle||a.tickangle);var L=ne.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(E(M,a.tickangle),\\\"x\\\"===p&&!r(a.tickangle)&&(\\\"log\\\"!==a.type||\\\"D\\\"!==String(a.dtick).charAt(0))){var t=[];for(M.each(function(r){var n=e.select(this),i=n.select(\\\".text-math-group\\\"),o=a.l2p(r.x);i.empty()&&(i=n.select(\\\"text\\\"));var s=Sr.bBox(i.node());t.push({top:0,bottom:10,height:10,left:o-s.width/2,right:o+s.width/2+2,width:s.width+2})}),f=0;f<t.length-1;f++)if(ne.bBoxIntersect(t[f],t[f+1])){k=30;break}k&&(Math.abs((g[g.length-1].x-g[0].x)*a._m)/(g.length-1)<2.5*A&&(k=90),E(M,k)),a._lastangle=k}return j(),n+\\\" done\\\"},C,function(){if(a.automargin&&(\\\"x\\\"===p||\\\"y\\\"===p)){var e=a.side[0],r={x:0,y:0,r:0,l:0,t:0,b:0};\\\"x\\\"===p?(r.y=\\\"free\\\"===a.anchor?a.position:a._anchorAxis.domain[\\\"t\\\"===e?1:0],r[e]+=a._boundingBox.height):(r.x=\\\"free\\\"===a.anchor?a.position:a._anchorAxis.domain[\\\"r\\\"===e?1:0],r[e]+=a._boundingBox.width),a.title!==o._dfltTitle[p]&&(r[e]+=a.titlefont.size);var n=a._name+\\\".automargin\\\",i=o._pushmargin[n];(!i||i[e].size<r[e])&&_n.autoMargin(t,n,r)}}]);return L&&L.then&&t._promises.push(L),L}function j(){if(!i){var r=gn.getFromId(t,n);if(!(r.rangeslider&&r.rangeslider.visible&&r._boundingBox&&\\\"bottom\\\"===r.side)){var a,s,l,u,c=e.select(t).selectAll(\\\"g.\\\"+n+\\\"tick\\\"),h={selection:c,side:r.side},f=n.charAt(0),p=t._fullLayout._size,d=r.titlefont.size;if(c.size()){var g=Sr.getTranslate(c.node().parentNode);h.offsetLeft=g.x,h.offsetTop=g.y}var v=10+1.5*d+(r.linewidth?r.linewidth-1:0);\\\"x\\\"===f?(s=\\\"free\\\"===r.anchor?{_offset:p.t+(1-(r.position||0))*p.h,_length:0}:gn.getFromId(t,r.anchor),l=r._offset+r._length/2,u=\\\"top\\\"===r.side?-v-d*(r.showticklabels?1:0):s._length+v+d*(r.showticklabels?1.5:.5),u+=s._offset,h.side||(h.side=\\\"bottom\\\")):(s=\\\"free\\\"===r.anchor?{_offset:p.l+(r.position||0)*p.w,_length:0}:gn.getFromId(t,r.anchor),u=r._offset+r._length/2,l=\\\"right\\\"===r.side?s._length+v+d*(r.showticklabels?1:.5):-v-d*(r.showticklabels?.5:0),l+=s._offset,a={rotate:\\\"-90\\\",offset:0},h.side||(h.side=\\\"left\\\")),Dn.draw(t,n+\\\"title\\\",{propContainer:r,propName:r._name+\\\".title\\\",placeholder:o._dfltTitle[f],avoid:h,transform:a,attributes:{x:l,y:u,\\\"text-anchor\\\":\\\"middle\\\"}})}}}function V(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!P.traceIs(t,\\\"bar\\\")||t.orientation!=={x:\\\"h\\\",y:\\\"v\\\"}[p])||t.fill&&t.fill.charAt(t.fill.length-1)===p)}function U(r,i,o){var s=r.gridlayer.selectAll(\\\".\\\"+n),l=r.zerolinelayer,c=r[\\\"hidegrid\\\"+p]?[]:C,h=a._gridpath||(\\\"x\\\"===p?\\\"M0,\\\"+i._offset+\\\"v\\\":\\\"M\\\"+i._offset+\\\",0h\\\")+i._length,f=s.selectAll(\\\"path.\\\"+y).data(!1===a.showgrid?[]:c,v);if(f.enter().append(\\\"path\\\").classed(y,1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",h).each(function(t){a.zeroline&&(\\\"linear\\\"===a.type||\\\"-\\\"===a.type)&&Math.abs(t.x)<a.dtick/100&&e.select(this).remove()}),f.attr(\\\"transform\\\",u).call(Oe.stroke,a.gridcolor||\\\"#ddd\\\").style(\\\"stroke-width\\\",M+\\\"px\\\"),\\\"function\\\"==typeof h&&f.attr(\\\"d\\\",h),f.exit().remove(),l){for(var d=!1,g=0;g<t._fullData.length;g++)if(V(t._fullData[g],o)){d=!0;break}var m=ne.simpleMap(a.range,a.r2l),b=m[0]*m[1]<=0&&a.zeroline&&(\\\"linear\\\"===a.type||\\\"-\\\"===a.type)&&c.length&&(d||F({x:0})||!a.showline),_=l.selectAll(\\\"path.\\\"+x).data(b?[{x:0,id:n}]:[]);_.enter().append(\\\"path\\\").classed(x,1).classed(\\\"zl\\\",1).classed(\\\"crisp\\\",1).attr(\\\"d\\\",h).each(function(){l.selectAll(\\\"path\\\").sort(function(t,e){return gn.idSort(t.id,e.id)})}),_.attr(\\\"transform\\\",u).call(Oe.stroke,a.zerolinecolor||Oe.defaultLine).style(\\\"stroke-width\\\",A+\\\"px\\\"),_.exit().remove()}}},pi.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],zi(u.x,l.x),zi(u.y,l.y);zi(u.x,[o]),zi(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Pi(t,r[n].x,r[n].y)};var Di={pointsAccessorFunction:function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},Oi={},Ri=Di.pointsAccessorFunction,Fi=t.BADNUM;Oi.moduleType=\\\"transform\\\",Oi.name=\\\"aggregate\\\";var Bi=Oi.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\\\"],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\\\"},Ni=Bi.aggregations;function ji(t,e,r,n){if(n.enabled){for(var i=n.target,a=ne.nestedProperty(e,i),o=a.get(),s=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\\\"count\\\":return Vi;case\\\"first\\\":return Ui;case\\\"last\\\":return qi;case\\\"sum\\\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r+=o)}return i(r)};case\\\"avg\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s,a++)}return a?i(r/a):Fi};case\\\"min\\\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r=Math.min(r,o))}return r===1/0?Fi: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!==Fi&&(r=Math.max(r,o))}return r===-1/0?Fi:i(r)};case\\\"median\\\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&r.push(o)}if(!r.length)return Fi;r.sort();var s=(r.length-1)/2;return i((r[Math.floor(s)]+r[Math.ceil(s)])/2)};case\\\"mode\\\":return function(t,e){for(var r={},a=0,o=Fi,s=0;s<e.length;s++){var l=n(t[e[s]]);if(l!==Fi){var u=r[l]=(r[l]||0)+1;u>a&&(a=u,o=l)}}return a?i(o):Fi};case\\\"rms\\\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s*s,a++)}return a?i(Math.sqrt(r/a)):Fi};case\\\"stddev\\\":return function(e,r){var i,a=0,o=0,s=1,l=Fi;for(i=0;i<r.length&&l===Fi;i++)l=n(e[r[i]]);if(l===Fi)return Fi;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==Fi){var c=u-l;a+=c,o+=c*c,s++}}var h=\\\"sample\\\"===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,ri.getDataConversions(t,e,i,o)),l=new Array(r.length),u=0;u<r.length;u++)l[u]=s(o,r[u]);a.set(l)}}function Vi(t,e){return e.length}function Ui(t,e){return t[e[0]]}function qi(t,e){return t[e[e.length-1]]}Oi.supplyDefaults=function(t,e){var r,n={};function i(e,r){return ne.coerce(t,n,Bi,e,r)}if(!i(\\\"enabled\\\"))return n;var a=nn.findArrayAttributes(e),o={};for(r=0;r<a.length;r++)o[a[r]]=1;var s=i(\\\"groups\\\");if(!Array.isArray(s)){if(!o[s])return void(n.enabled=!1);o[s]=0}var l,u=t.aggregations||[],c=n.aggregations=new Array(u.length);function h(t,e){return ne.coerce(u[r],l,Ni,t,e)}for(r=0;r<u.length;r++){l={_index:r};var f=h(\\\"target\\\"),p=h(\\\"func\\\");h(\\\"enabled\\\")&&f&&(o[f]||\\\"count\\\"===p&&void 0===o[f])?(\\\"stddev\\\"===p&&h(\\\"funcmode\\\"),o[f]=0,c[r]=l):c[r]={enabled:!1,_index:r}}for(r=0;r<a.length;r++)o[a[r]]&&c.push({target:a[r],func:Ni.func.dflt,enabled:!0,_index:-1});return n},Oi.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=ne.getTargetArray(e,{target:n});if(i){var a,o,s,l,u={},c={},h=[],f=Ri(e.transforms,r);for(a=0;a<i.length;a++)void 0===(s=u[o=i[a]])?(u[o]=h.length,l=[a],h.push(l),c[u[o]]=f(a)):(h[s].push(a),c[u[o]]=(c[u[o]]||[]).concat(f(a)));r._indexToPoints=c;var p=r.aggregations;for(a=0;a<p.length;a++)ji(t,e,h,p[a]);\\\"string\\\"==typeof n&&ji(t,e,h,{target:n,func:\\\"first\\\",enabled:!0})}}};var Hi=Oi,Gi={xaxis:{valType:\\\"subplotid\\\",dflt:\\\"x\\\",editType:\\\"calc+clearAxisTypes\\\"},yaxis:{valType:\\\"subplotid\\\",dflt:\\\"y\\\",editType:\\\"calc+clearAxisTypes\\\"}},Wi=function(t,e,r){if(\\\"category\\\"===e.type){var n,i=t.categoryarray,a=Array.isArray(i)&&i.length>0;a&&(n=\\\"array\\\");var o=r(\\\"categoryorder\\\",n);\\\"array\\\"===o&&r(\\\"categoryarray\\\"),a||\\\"array\\\"!==o||(e.categoryorder=\\\"trace\\\")}},Yi=s.mix,Xi=C.lightFraction,Zi=function(t,e,r,n){var i=(n=n||{}).dfltColor;function a(r,i){return ne.coerce2(t,e,n.attributes,r,i)}var o=a(\\\"linecolor\\\",i),s=a(\\\"linewidth\\\");r(\\\"showline\\\",n.showLine||!!o||!!s)||(delete e.linecolor,delete e.linewidth);var l=a(\\\"gridcolor\\\",Yi(i,n.bgColor,n.blend||Xi).toRgbString()),u=a(\\\"gridwidth\\\");if(r(\\\"showgrid\\\",n.showGrid||!!l||!!u)||(delete e.gridcolor,delete e.gridwidth),!n.noZeroLine){var c=a(\\\"zerolinecolor\\\",i),h=a(\\\"zerolinewidth\\\");r(\\\"zeroline\\\",n.showGrid||!!c||!!h)||(delete e.zerolinecolor,delete e.zerolinewidth)}};function Ji(t,r,n){var i,a,o,s,l,u=[],c=n.map(function(e){return e[t]}),h=e.bisector(r).left;for(i=0;i<c.length;i++)for(o=c[i],a=0;a<o.length;a++)null!==(s=o[a])&&void 0!==s&&((l=h(u,s))<u.length&&u[l]===s||u.splice(l,0,s));return u}var Ki=function(t,r,n,i){switch(r){case\\\"array\\\":return Array.isArray(n)?n.slice():[];case\\\"category ascending\\\":return Ji(t,e.ascending,i);case\\\"category descending\\\":return Ji(t,e.descending,i);case\\\"trace\\\":default:return[]}},Qi=function(t,e,r,n,i){var a=n.letter,o=n.font||{},s=r(\\\"visible\\\",!n.cheateronly),l=e.type;\\\"date\\\"===l&&P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",n.calendar);ei(e,i);var u=r(\\\"autorange\\\",!e.isValidRange(t.range));if(e._rangesliderAutorange=!1,u&&r(\\\"rangemode\\\"),r(\\\"range\\\"),e.cleanRange(),Wi(t,e,r),e._initialCategories=\\\"category\\\"===l?Ki(a,e.categoryorder,e.categoryarray,n.data):[],\\\"category\\\"===l||n.noHover||r(\\\"hoverformat\\\"),!s)return e;var c=r(\\\"color\\\"),h=c===t.color?c:o.color;return r(\\\"title\\\",i._dfltTitle[a]),ne.coerceFont(r,\\\"titlefont\\\",{family:o.family,size:Math.round(1.2*o.size),color:h}),Ge(t,e,r,l),Ue(t,e,r,l,n),qe(t,e,r,n),Zi(t,e,r,{dfltColor:c,bgColor:n.bgColor,showGrid:n.showGrid,attributes:Ce}),(e.showline||e.ticks)&&r(\\\"mirror\\\"),n.automargin&&r(\\\"automargin\\\"),e},$i=gn.id2name,ta=function(t,e,r,n,i){var a=i._axisConstraintGroups,o=e._id,s=o.charAt(0);if(!e.fixedrange&&(r(\\\"constrain\\\"),ne.coerce(t,e,{constraintoward:{valType:\\\"enumerated\\\",values:\\\"x\\\"===s?[\\\"left\\\",\\\"center\\\",\\\"right\\\"]:[\\\"bottom\\\",\\\"middle\\\",\\\"top\\\"],dflt:\\\"x\\\"===s?\\\"center\\\":\\\"middle\\\"}},\\\"constraintoward\\\"),t.scaleanchor)){var l=function(t,e,r,n){var i,a,o,s,l=n[$i(e)].type,u=[];for(a=0;a<r.length;a++)(o=r[a])!==e&&((s=n[$i(o)]).type!==l||s.fixedrange||u.push(o));for(i=0;i<t.length;i++)if(t[i][e]){var c=t[i],h=[];for(a=0;a<u.length;a++)o=u[a],c[o]||h.push(o);return{linkableAxes:h,thisGroup:c}}return{linkableAxes:u,thisGroup:null}}(a,o,n,i),u=ne.coerce(t,e,{scaleanchor:{valType:\\\"enumerated\\\",values:l.linkableAxes}},\\\"scaleanchor\\\");if(u){var c=r(\\\"scaleratio\\\");c||(c=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,u;null===e?((e={})[r]=1,u=t.length,t.push(e)):u=t.indexOf(e);var c=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==u&&s[n]){var h=s[n];for(o=0;o<c.length;o++)l=c[o],s[l]=h*i*e[l];return void t.splice(u,1)}if(1!==i)for(o=0;o<c.length;o++)e[c[o]]*=i;e[n]=1}(a,l.thisGroup,o,u,c)}else-1!==n.indexOf(t.scaleanchor)&&ne.warn(\\\"ignored \\\"+e._name+'.scaleanchor: \\\"'+t.scaleanchor+'\\\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}};var ea=function(t,e,n,i){var a,o,s,l,u=i.counterAxes||[],c=i.overlayableAxes||[],h=i.letter,f=i.grid;f&&(o=f._domains[h][f._axisMap[e._id]],a=f._anchors[e._id],o&&(s=f[h+\\\"side\\\"].split(\\\" \\\")[0],l=f.domain[h][\\\"right\\\"===s||\\\"top\\\"===s?1:0])),o=o||[0,1],a=a||(r(t.position)?\\\"free\\\":u[0]||\\\"free\\\"),s=s||(\\\"x\\\"===h?\\\"bottom\\\":\\\"left\\\"),l=l||0,\\\"free\\\"===ne.coerce(t,e,{anchor:{valType:\\\"enumerated\\\",values:[\\\"free\\\"].concat(u),dflt:a}},\\\"anchor\\\")&&n(\\\"position\\\",l),ne.coerce(t,e,{side:{valType:\\\"enumerated\\\",values:\\\"x\\\"===h?[\\\"bottom\\\",\\\"top\\\"]:[\\\"left\\\",\\\"right\\\"],dflt:s}},\\\"side\\\");var p=!1;if(c.length&&(p=ne.coerce(t,e,{overlaying:{valType:\\\"enumerated\\\",values:[!1].concat(c),dflt:!1}},\\\"overlaying\\\")),!p){var d=n(\\\"domain\\\",o);d[0]>d[1]-.01&&(e.domain=o),ne.noneOrAll(t.domain,e.domain,o)}return n(\\\"layer\\\"),e},ra=gn.name2id,na=function(t,e,r,n,i){i&&(e._name=i,e._id=ra(i)),\\\"-\\\"===r(\\\"type\\\")&&(!function(t,e){if(\\\"-\\\"!==t.type)return;var r=t._id,n=r.charAt(0);-1!==r.indexOf(\\\"scene\\\")&&(r=n);var i=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\\\"axis\\\"]||r)===e){if(aa(i,r))return i;if((i[r]||[]).length||i[r+\\\"0\\\"])return i}}}(e,r,n);if(!i)return;if(\\\"histogram\\\"===i.type&&n==={v:\\\"y\\\",h:\\\"x\\\"}[i.orientation||\\\"v\\\"])return void(t.type=\\\"linear\\\");var a=n+\\\"calendar\\\",o=i[a];if(aa(i,n)){for(var s,l=ia(i),u=[],c=0;c<e.length;c++)s=e[c],P.traceIs(s,\\\"box-violin\\\")&&(s[n+\\\"axis\\\"]||n)===r&&(void 0!==s[l]?u.push(s[l][0]):void 0!==s.name?u.push(s.name):u.push(\\\"text\\\"),s[a]!==o&&(o=void 0));t.type=Yn(u,o)}else t.type=Yn(i[n]||[i[n+\\\"0\\\"]],o)}(e,n),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type)};function ia(t){return{v:\\\"x\\\",h:\\\"y\\\"}[t.orientation||\\\"v\\\"]}function aa(t,e){var r=ia(t),n=P.traceIs(t,\\\"box-violin\\\"),i=P.traceIs(t._fullInput||{},\\\"candlestick\\\");return n&&!i&&e===r&&void 0===t[r]&&void 0===t[r+\\\"0\\\"]}var oa=Te.attrRegex,sa={},la=Te.SUBPLOT_PATTERN;sa.getSubplotCalcData=function(t,e,r){var n=P.subplotsRegistry[e];if(!n)return[];for(var i=n.attr,a=[],o=0;o<t.length;o++){var s=t[o];s[0].trace[i]===r&&a.push(s)}return a},sa.getModuleCalcData=function(t,e){var r=[],n=\\\"string\\\"==typeof e?P.getModule(e):e;if(!n)return r;for(var i=0;i<t.length;i++){var a=t[i],o=a[0].trace;o._module===n&&!0===o.visible&&r.push(a)}return r},sa.getSubplotData=function(t,e,r){if(!P.subplotsRegistry[e])return[];var n,i,a,o=P.subplotsRegistry[e].attr,s=[];if(\\\"gl2d\\\"===e){var l=r.match(la);i=\\\"x\\\"+l[1],a=\\\"y\\\"+l[2]}for(var u=0;u<t.length;u++)n=t[u],\\\"gl2d\\\"===e&&P.traceIs(n,\\\"gl2d\\\")?n[o[0]]===i&&n[o[1]]===a&&s.push(n):n[o]===r&&s.push(n);return s};var ua={},ca=sa.getModuleCalcData;function ha(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&&e.plot.selectAll(\\\"g:not(.scatterlayer)\\\").selectAll(\\\"g.trace\\\").remove();for(var o=0;o<a.length;o++){var s=a[o];if(\\\"cartesian\\\"===s.basePlotModule.name){var l=ca(r,s);s.plot&&s.plot(t,e,l,n,i)}}}function fa(t){var e=t.plotgroup,r=t.id,n=Te.layerValue2layerClass[t.xaxis.layer],i=Te.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,o=a.plotgroup,s=r+\\\"-x\\\",l=r+\\\"-y\\\";t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,ga(a.overlinesBelow,\\\"path\\\",s),ga(a.overlinesBelow,\\\"path\\\",l),ga(a.overaxesBelow,\\\"g\\\",s),ga(a.overaxesBelow,\\\"g\\\",l),t.plot=ga(a.overplot,\\\"g\\\",r),ga(a.overlinesAbove,\\\"path\\\",s),ga(a.overlinesAbove,\\\"path\\\",l),ga(a.overaxesAbove,\\\"g\\\",s),ga(a.overaxesAbove,\\\"g\\\",l),t.xlines=o.select(\\\".overlines-\\\"+n).select(\\\".\\\"+s),t.ylines=o.select(\\\".overlines-\\\"+i).select(\\\".\\\"+l),t.xaxislayer=o.select(\\\".overaxes-\\\"+n).select(\\\".\\\"+s),t.yaxislayer=o.select(\\\".overaxes-\\\"+i).select(\\\".\\\"+l)}else{var u=ga(e,\\\"g\\\",\\\"layer-subplot\\\");t.shapelayer=ga(u,\\\"g\\\",\\\"shapelayer\\\"),t.imagelayer=ga(u,\\\"g\\\",\\\"imagelayer\\\"),t.gridlayer=ga(e,\\\"g\\\",\\\"gridlayer\\\"),t.zerolinelayer=ga(e,\\\"g\\\",\\\"zerolinelayer\\\"),ga(e,\\\"path\\\",\\\"xlines-below\\\"),ga(e,\\\"path\\\",\\\"ylines-below\\\"),t.overlinesBelow=ga(e,\\\"g\\\",\\\"overlines-below\\\"),ga(e,\\\"g\\\",\\\"xaxislayer-below\\\"),ga(e,\\\"g\\\",\\\"yaxislayer-below\\\"),t.overaxesBelow=ga(e,\\\"g\\\",\\\"overaxes-below\\\"),t.plot=ga(e,\\\"g\\\",\\\"plot\\\"),t.overplot=ga(e,\\\"g\\\",\\\"overplot\\\"),ga(e,\\\"path\\\",\\\"xlines-above\\\"),ga(e,\\\"path\\\",\\\"ylines-above\\\"),t.overlinesAbove=ga(e,\\\"g\\\",\\\"overlines-above\\\"),ga(e,\\\"g\\\",\\\"xaxislayer-above\\\"),ga(e,\\\"g\\\",\\\"yaxislayer-above\\\"),t.overaxesAbove=ga(e,\\\"g\\\",\\\"overaxes-above\\\"),t.xlines=e.select(\\\".xlines-\\\"+n),t.ylines=e.select(\\\".ylines-\\\"+i),t.xaxislayer=e.select(\\\".xaxislayer-\\\"+n),t.yaxislayer=e.select(\\\".yaxislayer-\\\"+i)}ga(t.gridlayer,\\\"g\\\",t.xaxis._id,t.xaxis._id),ga(t.gridlayer,\\\"g\\\",t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(\\\"g\\\").sort(gn.idSort);for(var c=0;c<Te.traceLayerClasses.length;c++)ga(t.plot,\\\"g\\\",Te.traceLayerClasses[c]);t.xlines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0),t.ylines.style(\\\"fill\\\",\\\"none\\\").classed(\\\"crisp\\\",!0)}function pa(t,r){if(t){var n={};t.each(function(t){e.select(this).remove(),da(t,r),n[t]=!0});for(var i=r._plots,a=Object.keys(i),o=0;o<a.length;o++)for(var s=i[a[o]].overlays||[],l=0;l<s.length;l++){var u=s[l];n[u.id]&&u.plot.selectAll(\\\".trace\\\").remove()}}}function da(t,e){e._draggers.selectAll(\\\"g.\\\"+t).remove(),e._defs.select(\\\"#clip\\\"+e._uid+t+\\\"plot\\\").remove()}function ga(t,e,r,n){var i=t.selectAll(\\\".\\\"+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}ua.name=\\\"cartesian\\\",ua.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],ua.idRoot=[\\\"x\\\",\\\"y\\\"],ua.idRegex=Te.idRegex,ua.attrRegex=Te.attrRegex,ua.attributes=Gi,ua.layoutAttributes=Ce,ua.supplyLayoutDefaults=function(t,e,r){var n,i={},a={},o={},s={};for(n=0;n<r.length;n++){var l=r[n];if(P.traceIs(l,\\\"cartesian\\\")||P.traceIs(l,\\\"gl2d\\\")){var u=gn.id2name(l.xaxis),c=gn.id2name(l.yaxis);P.traceIs(l,\\\"carpet\\\")&&(\\\"carpet\\\"!==l.type||l._cheater)||u&&(a[u]=1),\\\"carpet\\\"===l.type&&l._cheater&&u&&(i[u]=1),P.traceIs(l,\\\"2dMap\\\")&&(o[u]=!0,o[c]=!0),P.traceIs(l,\\\"oriented\\\")&&(s[\\\"h\\\"===l.orientation?c:u]=!0)}}var h=e._subplots,f=h.xaxis,p=h.yaxis,d=ne.simpleMap(f,gn.id2name),g=ne.simpleMap(p,gn.id2name),v=d.concat(g),m=Oe.background;f.length&&p.length&&(m=ne.coerce(t,e,z,\\\"plot_bgcolor\\\"));var y,x,b,_,w=Oe.combine(m,e.paper_bgcolor);function M(t,e){return ne.coerce(b,_,Ce,t,e)}function A(t,e){return ne.coerce2(b,_,Ce,t,e)}function k(t){return\\\"x\\\"===t?p:f}var T={x:k(\\\"x\\\"),y:k(\\\"y\\\")};function S(e,r){for(var n=\\\"x\\\"===e?d:g,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(gn.name2id(o))}return i}for(n=0;n<v.length;n++){y=v[n],ne.isPlainObject(t[y])||(t[y]={}),b=t[y],_=e[y]={},na(b,_,M,r,y);var E=S(x=y.charAt(0),y),C={letter:x,font:e.font,outerTicks:o[y],showGrid:!s[y],data:r,bgColor:w,calendar:e.calendar,automargin:!0,cheateronly:\\\"x\\\"===x&&i[y]&&!a[y]};Qi(b,_,M,C,e);var L=A(\\\"spikecolor\\\"),I=A(\\\"spikethickness\\\"),D=A(\\\"spikedash\\\"),O=A(\\\"spikemode\\\"),R=A(\\\"spikesnap\\\");M(\\\"showspikes\\\",!!(L||I||D||O||R))||(delete _.spikecolor,delete _.spikethickness,delete _.spikedash,delete _.spikemode,delete _.spikesnap);var F={letter:x,counterAxes:T[x],overlayableAxes:E,grid:e.grid};ea(b,_,M,F),_._input=b}var B=P.getComponentMethod(\\\"rangeslider\\\",\\\"handleDefaults\\\"),N=P.getComponentMethod(\\\"rangeselector\\\",\\\"handleDefaults\\\");for(n=0;n<d.length;n++)y=d[n],b=t[y],_=e[y],B(t,e,y),\\\"date\\\"===_.type&&N(b,_,e,g,_.calendar),M(\\\"fixedrange\\\");for(n=0;n<g.length;n++){y=g[n],b=t[y],_=e[y];var j=e[gn.id2name(_.anchor)];M(\\\"fixedrange\\\",j&&j.rangeslider&&j.rangeslider.visible)}e._axisConstraintGroups=[];var V=T.x.concat(T.y);for(n=0;n<v.length;n++)x=(y=v[n]).charAt(0),b=t[y],_=e[y],ta(b,_,M,V,e)},ua.transitionAxes=function(t,r,n,i){var a=t._fullLayout,o=[];var s,l,u,c,h=function(t){var e,r,n,i,s={};for(e in t)if((r=e.split(\\\".\\\"))[0].match(oa)){var l=e.charAt(0),u=r[0];if(n=a[u],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=u,i.length=n._length,o.push(l),s[l]=i}return s}(r),f=Object.keys(h),p=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var u=l.xaxis._id,c=l.yaxis._id,h=l.xaxis.range,f=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[u]?r[u].to:h,a=r[c]?r[c].to:f,h[0]===i[0]&&h[1]===i[1]&&f[0]===a[0]&&f[1]===a[1]||-1===e.indexOf(u)&&-1===e.indexOf(c)||s.push(l)}}return s}(a,f,h);if(!p.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(a.annotations||[],P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),e(a.shapes||[],P.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),e(a.images||[],P.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(),!1;function d(t){var e=t.xaxis,r=t.yaxis;a._defs.select(\\\"#\\\"+t.clipId+\\\"> rect\\\").call(Sr.setTranslate,0,0).call(Sr.setScale,1,1),t.plot.call(Sr.setTranslate,e._offset,r._offset).call(Sr.setScale,1,1);var n=t.plot.selectAll(\\\".scatterlayer .trace\\\");n.selectAll(\\\".point\\\").call(Sr.setPointGroupScale,1,1),n.selectAll(\\\".textpoint\\\").call(Sr.setTextPointsScale,1,1),n.call(Sr.hideOutsideRangePoints,t)}function g(e,r){var n,i,o,s=h[e.xaxis._id],l=h[e.yaxis._id],u=[];if(s){i=(n=t._fullLayout[s.axisName])._r,o=s.to,u[0]=(i[0]*(1-r)+r*o[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var c=i[1]-i[0],f=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[2]=e.xaxis._length*(1-r+r*f/c)}else u[0]=0,u[2]=e.xaxis._length;if(l){i=(n=t._fullLayout[l.axisName])._r,o=l.to,u[1]=(i[1]*(1-r)+r*o[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var p=i[1]-i[0],d=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[3]=e.yaxis._length*(1-r+r*d/p)}else u[1]=0,u[3]=e.yaxis._length;!function(e,r){var n,i=[];for(i=[e._id,r._id],n=0;n<i.length;n++)ri.doTicks(t,i[n],!0);function o(e,r,a){for(n=0;n<e.length;n++){var o=e[n];if(-1===i.indexOf(o.xref)&&-1===i.indexOf(o.yref)||r(t,n),a)return}}o(a.annotations||[],P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),o(a.shapes||[],P.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),o(a.images||[],P.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}(e.xaxis,e.yaxis);var g=e.xaxis,v=e.yaxis,m=!!s,y=!!l,x=m?g._length/u[2]:1,b=y?v._length/u[3]:1,_=m?u[0]:0,w=y?u[1]:0,M=m?u[0]/u[2]*g._length:0,A=y?u[1]/u[3]*v._length:0,k=g._offset-M,T=v._offset-A;a._defs.select(\\\"#\\\"+e.clipId+\\\"> rect\\\").call(Sr.setTranslate,_,w).call(Sr.setScale,1/x,1/b),e.plot.call(Sr.setTranslate,k,T).call(Sr.setScale,x,b).selectAll(\\\".points\\\").selectAll(\\\".point\\\").call(Sr.setPointGroupScale,1/x,1/b),e.plot.selectAll(\\\".points\\\").selectAll(\\\".textpoint\\\").call(Sr.setTextPointsScale,1/x,1/b)}i&&(s=i());var v=e.ease(n.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(c),c=null,function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[f[r]+\\\"axis\\\"];e[n._name+\\\".range[0]\\\"]=n.range[0],e[n._name+\\\".range[1]\\\"]=n.range[1],n.range=n._r.slice()}return P.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}()}),l=Date.now(),c=window.requestAnimationFrame(function e(){u=Date.now();for(var r=Math.min(1,(u-l)/n.duration),i=v(r),a=0;a<p.length;a++)g(p[a],i);u-l>n.duration?(function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[h[f[r]].axisName],i=h[f[r]].to;e[n._name+\\\".range[0]\\\"]=i[0],e[n._name+\\\".range[1]\\\"]=i[1],n.range=i.slice()}s&&s(),P.call(\\\"relayout\\\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}(),c=window.cancelAnimationFrame(e)):c=window.requestAnimationFrame(e)}),Promise.resolve()},ua.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,l=a.cartesian,u=l.concat(a.gl2d||[]),c={},h={};for(r=0;r<u.length;r++){var f=u[r].split(\\\"y\\\");c[f[0]]=1,h[\\\"y\\\"+f[1]]=1}for(r=0;r<o.length;r++)c[n=o[r]]||(i=(t[gn.id2name(n)]||{}).anchor,Te.idRegex.y.test(i)||(i=\\\"y\\\"),l.push(n+i),u.push(n+i),h[i]||(h[i]=1,ne.pushUnique(s,i)));for(r=0;r<s.length;r++)h[i=s[r]]||(n=(t[gn.id2name(i)]||{}).anchor,Te.idRegex.x.test(n)||(n=\\\"x\\\"),l.push(n+i),u.push(n+i),c[n]||(c[n]=1,ne.pushUnique(o,n)));if(!u.length){for(var p in n=\\\"\\\",i=\\\"\\\",t){if(Te.attrRegex.test(p))\\\"x\\\"===p.charAt(0)?(!n||+p.substr(5)<+n.substr(5))&&(n=p):(!i||+p.substr(5)<+i.substr(5))&&(i=p)}n=n?gn.name2id(n):\\\"x\\\",i=i?gn.name2id(i):\\\"y\\\",o.push(n),s.push(i),l.push(n+i)}},ua.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(a._glcanvas&&a._glcanvas.size()&&a._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),i=0;i<o.length;i++){for(var l,u=o[i],c=a._plots[u],h=[],f=0;f<s.length;f++){var p=s[f],d=p[0].trace;d.xaxis+d.yaxis===u&&((-1!==e.indexOf(d.index)||d.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===u&&-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(d.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}ha(t,c,h,r,n)}},ua.clean=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p=n._modules||[],d=e._modules||[];for(l=0;l<p.length;l++)\\\"scatter\\\"===(f=p[l].name)?i=!0:\\\"scattergl\\\"===f&&(o=!0);for(l=0;l<d.length;l++)\\\"scatter\\\"===(f=d[l].name)?a=!0:\\\"scattergl\\\"===f&&(s=!0);if(i&&!a){for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]]).plot&&h.plot.select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove();n._infolayer.selectAll(\\\"g.rangeslider-container\\\").select(\\\"g.scatterlayer\\\").selectAll(\\\"g.trace\\\").remove()}if(o&&!s)for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]])._scene&&h._scene.destroy();var g=n._subplots||{},v=e._subplots||{xaxis:[],yaxis:[]};if(g.xaxis&&g.yaxis){var m=g.xaxis.concat(g.yaxis),y=v.xaxis.concat(v.yaxis);for(l=0;l<m.length;l++)-1===y.indexOf(m[l])&&n._infolayer.selectAll(\\\".g-\\\"+m[l]+\\\"title\\\").remove()}var x=n._has&&n._has(\\\"cartesian\\\"),b=e._has&&e._has(\\\"cartesian\\\");if(x&&!b)pa(n._cartesianlayer.selectAll(\\\".subplot\\\"),n),n._defs.selectAll(\\\".axesclip\\\").remove(),delete n._axisConstraintGroups;else if(g.cartesian)for(l=0;l<g.cartesian.length;l++){var _=g.cartesian[l];if(-1===v.cartesian.indexOf(_)){var w=\\\".\\\"+_+\\\",.\\\"+_+\\\"-x,.\\\"+_+\\\"-y\\\";n._cartesianlayer.selectAll(w).remove(),da(_,n)}}},ua.drawFramework=function(t){var r=t._fullLayout,n=function(t){for(var e=t._fullLayout,r=Object.keys(e._plots),n=[],i=[],a=0;a<r.length;a++){var o=r[a],s=e._plots[o],l=s.xaxis,u=s.yaxis,c=l._mainAxis,h=u._mainAxis,f=c._id+h._id;f!==o&&-1!==r.indexOf(f)?(s.mainplot=f,s.mainplotinfo=e._plots[f],i.push(o)):n.push(o)}return n=n.concat(i)}(t),i=r._cartesianlayer.selectAll(\\\".subplot\\\").data(n,ne.identity);i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"subplot \\\"+t}),i.order(),i.exit().call(pa,r),i.each(function(t){var n=r._plots[t];(n.plotgroup=e.select(this),n.overlays=[],fa(n),n.mainplot)&&r._plots[n.mainplot].overlays.push(n);n.draglayer=ga(r._draggers,\\\"g\\\",t)})},ua.rangePlot=function(t,e,r){fa(e),ha(t,e,r),_n.style(t)},ua.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\\\".svg-container\\\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\\\".gl-canvas-context, .gl-canvas-focus\\\").each(function(){var t=this.toDataURL(\\\"image/png\\\");r.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":t,preserveAspectRatio:\\\"none\\\",x:0,y:0,width:this.width,height:this.height})})};var va=ne.mergeArray,ma=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;va(e.text,t,\\\"tx\\\"),va(e.hovertext,t,\\\"htx\\\");var n=e.marker;if(n){va(n.opacity,t,\\\"mo\\\"),va(n.color,t,\\\"mc\\\");var i=n.line;i&&(va(i.color,t,\\\"mlc\\\"),va(i.width,t,\\\"mlw\\\"))}},ya=m.extendFlat,xa=T({editType:\\\"calc\\\",arrayOk:!0}),ba=Zr.marker,_a=ya({line:ya({width:ya({},ba.line.width,{dflt:0}),editType:\\\"calc\\\"},De()),editType:\\\"calc\\\"},De(),{showscale:ba.showscale,colorbar:ze,opacity:{valType:\\\"number\\\",arrayOk:!0,dflt:1,min:0,max:1,editType:\\\"style\\\"}}),wa={x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:Zr.text,hovertext:Zr.hovertext,textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"none\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:ya({},xa,{}),insidetextfont:ya({},xa,{}),outsidetextfont:ya({},xa,{}),constraintext:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"both\\\",\\\"none\\\"],dflt:\\\"both\\\",editType:\\\"calc\\\"},cliponaxis:ya({},Zr.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:_a,selected:{marker:{opacity:Zr.selected.marker.opacity,color:Zr.selected.marker.color,editType:\\\"style\\\"},textfont:Zr.selected.textfont,editType:\\\"style\\\"},unselected:{marker:{opacity:Zr.unselected.marker.opacity,color:Zr.unselected.marker.color,editType:\\\"style\\\"},textfont:Zr.unselected.textfont,editType:\\\"style\\\"},r:Zr.r,t:Zr.t,_deprecated:{bardir:{valType:\\\"enumerated\\\",editType:\\\"calc\\\",values:[\\\"v\\\",\\\"h\\\"]}}},Ma=function(t,e){ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(t,e)},Aa=ne.isArrayOrTypedArray,ka=function(t,e,r,n,i){r(\\\"marker.color\\\",n),Xe(t,\\\"marker\\\")&&Ye(t,e,i,r,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.color\\\",Oe.defaultLine),Xe(t,\\\"marker.line\\\")&&Ye(t,e,i,r,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),r(\\\"marker.line.width\\\"),r(\\\"marker.opacity\\\"),r(\\\"selected.marker.color\\\"),r(\\\"unselected.marker.color\\\")},Ta=function(t,e,r,n){var i,a=n(\\\"x\\\"),o=n(\\\"y\\\");if(P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],r),a)o?i=Math.min(a.length,o.length):(i=a.length,n(\\\"y0\\\"),n(\\\"dy\\\"));else{if(!o)return 0;i=e.y.length,n(\\\"x0\\\"),n(\\\"dx\\\")}return e._length=i,i},Sa={};(function(t){\\\"use strict\\\";var e;e=\\\"function\\\"!=typeof t.matchMedia||!t.matchMedia(\\\"(hover: none)\\\").matches,Sa=e}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var Ea=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}(),Ca={left:0,top:0},La=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n=t.clientX||0,i=t.clientY||0,a=(o=e,o===window||o===document||o===document.body?Ca:o.getBoundingClientRect());var o;return r[0]=n-a.left,r[1]=i-a.top,r};var za=[[\\\"sw-resize\\\",\\\"s-resize\\\",\\\"se-resize\\\"],[\\\"w-resize\\\",\\\"move\\\",\\\"e-resize\\\"],[\\\"nw-resize\\\",\\\"n-resize\\\",\\\"ne-resize\\\"]],Pa={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\\\"Arial, sans-serif\\\",HOVERMINTIME:50,HOVERID:\\\"-hover\\\"};function Ia(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}var Da=Ia;function Oa(t){return\\\"function\\\"==typeof t}function Ra(t){return\\\"object\\\"==typeof t&&null!==t}function Fa(t){return void 0===t}Ia.EventEmitter=Ia,Ia.prototype._events=void 0,Ia.prototype._maxListeners=void 0,Ia.defaultMaxListeners=10,Ia.prototype.setMaxListeners=function(t){if(\\\"number\\\"!=typeof t||t<0||isNaN(t))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=t,this},Ia.prototype.emit=function(t){var e,r,n,i,a,o;if(this._events||(this._events={}),\\\"error\\\"===t&&(!this._events.error||Ra(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var s=new Error('Uncaught, unspecified \\\"error\\\" event. ('+e+\\\")\\\");throw s.context=e,s}if(Fa(r=this._events[t]))return!1;if(Oa(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),r.apply(this,i)}else if(Ra(r))for(i=Array.prototype.slice.call(arguments,1),n=(o=r.slice()).length,a=0;a<n;a++)o[a].apply(this,i);return!0},Ia.prototype.addListener=function(t,e){var r;if(!Oa(e))throw TypeError(\\\"listener must be a function\\\");return this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",t,Oa(e.listener)?e.listener:e),this._events[t]?Ra(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,Ra(this._events[t])&&!this._events[t].warned&&(r=Fa(this._maxListeners)?Ia.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[t].length),\\\"function\\\"==typeof console.trace&&console.trace()),this},Ia.prototype.on=Ia.prototype.addListener,Ia.prototype.once=function(t,e){if(!Oa(e))throw TypeError(\\\"listener must be a function\\\");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},Ia.prototype.removeListener=function(t,e){var r,n,i,a;if(!Oa(e))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[t])return this;if(i=(r=this._events[t]).length,n=-1,r===e||Oa(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e);else if(Ra(r)){for(a=i;a-- >0;)if(r[a]===e||r[a].listener&&r[a].listener===e){n=a;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",t,e)}return this},Ia.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)\\\"removeListener\\\"!==e&&this.removeAllListeners(e);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this}if(Oa(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},Ia.prototype.listeners=function(t){return this._events&&this._events[t]?Oa(this._events[t])?[this._events[t]]:this._events[t].slice():[]},Ia.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(Oa(e))return 1;if(e)return e.length}return 0},Ia.listenerCount=function(t,e){return t.listenerCount(e)};var Ba,Na=Da.EventEmitter,ja={init:function(t){if(t._ev instanceof Na)return t;var e=new Na,r=new Na;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,i){\\\"undefined\\\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\\\"undefined\\\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o=a._events[e];if(!o)return n;\\\"function\\\"==typeof o&&(o=[o]);for(var s=o.pop(),l=0;l<o.length;l++)o[l](r);return i=s(r),void 0!==n?n:i},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}},Va=Ba={};Va.wrapped=function(t,e,r){(t=Bt(t))._fullLayout&&$t.clear(t._fullLayout._uid+Pa.HOVERID),Va.raw(t,e,r)},Va.raw=function(t,e){var r=t._fullLayout,n=t._hoverdata;e||(e={}),e.target&&!1===ja.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&&n&&t.emit(\\\"plotly_unhover\\\",{event:e,points:n}))};var Ua={},qa=Ua={};function Ha(){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 Ga(t){return La(t.changedTouches?t.changedTouches[0]:t,document.body)}qa.align=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\\\"left\\\"===i||\\\"bottom\\\"===i?a:\\\"center\\\"===i||\\\"middle\\\"===i?s:\\\"right\\\"===i||\\\"top\\\"===i?o:a<2/3-s?a:o>4/3-s?o:s},qa.getCursor=function(t,e,r,n){return t=\\\"left\\\"===r?0:\\\"center\\\"===r?1:\\\"right\\\"===r?2:ne.constrain(Math.floor(3*t),0,2),e=\\\"bottom\\\"===n?0:\\\"middle\\\"===n?1:\\\"top\\\"===n?2:ne.constrain(Math.floor(3*e),0,2),za[e][t]},qa.unhover=Ba.wrapped,qa.unhoverRaw=Ba.raw,qa.init=function(t){var e,r,n,i,a,o,s,l,u=t.gd,c=1,h=f.DBLCLICKDELAY,p=t.element;u._mouseDownTime||(u._mouseDownTime=0),p.style.pointerEvents=\\\"all\\\",p.onmousedown=g,Ea?(p._ontouchstart&&p.removeEventListener(\\\"touchstart\\\",p._ontouchstart),p._ontouchstart=g,p.addEventListener(\\\"touchstart\\\",g,{passive:!1})):p.ontouchstart=g;var d=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function g(f){f.preventDefault(),u._dragged=!1,u._dragging=!0;var d=Ga(f);e=d[0],r=d[1],s=f.target,o=f,l=2===f.buttons||f.ctrlKey,(n=(new Date).getTime())-u._mouseDownTime<h?c+=1:(c=1,u._mouseDownTime=n),t.prepFn&&t.prepFn(f,e,r),Sa&&!l?(a=Ha()).style.cursor=window.getComputedStyle(p).cursor:Sa||(a=document,i=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(p).cursor),document.addEventListener(\\\"mousemove\\\",v),document.addEventListener(\\\"mouseup\\\",m),document.addEventListener(\\\"touchmove\\\",v),document.addEventListener(\\\"touchend\\\",m)}function v(n){n.preventDefault();var i=Ga(n),a=t.minDrag||Te.MINDRAG,o=d(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(u._dragged=!0,qa.unhover(u)),u._dragged&&t.moveFn&&!l&&t.moveFn(s,c)}function m(e){if(document.removeEventListener(\\\"mousemove\\\",v),document.removeEventListener(\\\"mouseup\\\",m),document.removeEventListener(\\\"touchmove\\\",v),document.removeEventListener(\\\"touchend\\\",m),e.preventDefault(),Sa?ne.removeElement(a):i&&(a.documentElement.style.cursor=i,i=null),u._dragging){if(u._dragging=!1,(new Date).getTime()-u._mouseDownTime>h&&(c=Math.max(c-1,1)),u._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(c,o),!l){var r;try{r=new MouseEvent(\\\"click\\\",e)}catch(t){var n=Ga(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)}s.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&P.call(\\\"plot\\\",t)}(u),u._dragged=!1}else u._dragged=!1}},qa.coverSlip=Ha;function Wa(t,e,r,n){n=n||ne.identity,Array.isArray(t)&&(e[0][r]=n(t))}var Ya={getSubplot:function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},flat:function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return 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},getDistanceFunction:function(t,e,r,n){return\\\"closest\\\"===t?n||Ya.quadrature(e,r):\\\"x\\\"===t?e: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 i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},inbox:function(t,e,r){return t*e<0||0===t?r:1/0},quadrature:function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},makeEventData:function(t,e,r){var n=\\\"index\\\"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:n};if(e._indexToPoints){var a=e._indexToPoints[n];1===a.length?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return e._module.eventData?i=e._module.eventData(i,t,e,r,n):(\\\"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)),Ya.appendArrayPointValue(i,e,n),i},appendArrayPointValue:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){var s=Ja(ne.nestedProperty(e,a).get(),r);void 0!==s&&(t[o]=s)}}},appendArrayMultiPointValues:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){for(var s=ne.nestedProperty(e,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=Ja(s,r[u]);t[o]=l}}}},Xa={ids:\\\"id\\\",locations:\\\"location\\\",labels:\\\"label\\\",values:\\\"value\\\",\\\"marker.colors\\\":\\\"color\\\"};function Za(t){return Xa[t]||t}function Ja(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var Ka=function(t,e){(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\").forEach(function(e){0===e.indexOf(\\\"cursor-\\\")&&t.classed(e,!1)}),e&&t.classed(\\\"cursor-\\\"+e,!0)},Qa=\\\"data-savedcursor\\\",$a=function(t,e){var r=t.attr(Qa);if(e){if(!r){for(var n=(t.attr(\\\"class\\\")||\\\"\\\").split(\\\" \\\"),i=0;i<n.length;i++){var a=n[i];0===a.indexOf(\\\"cursor-\\\")&&t.attr(Qa,a.substr(7)).classed(a,!1)}t.attr(Qa)||t.attr(Qa,\\\"!!\\\")}Ka(t,e)}else r&&(t.attr(Qa,null),\\\"!!\\\"===r?Ka(t):Ka(t,r))},to={},eo=Pa.YANGLE,ro=Math.PI*eo/180,no=1/Math.sin(ro),io=Math.cos(ro),ao=Math.sin(ro),oo=Pa.HOVERARROWSIZE,so=Pa.HOVERTEXTPAD;function lo(t,r,n){var i=r.hovermode,a=r.rotateLabels,o=r.bgColor,s=r.container,l=r.outerContainer,u=r.commonLabelOpts||{},c=r.fontFamily||Pa.HOVERFONT,h=r.fontSize||Pa.HOVERFONTSIZE,f=t[0],p=f.xa,d=f.ya,g=\\\"y\\\"===i?\\\"yLabel\\\":\\\"xLabel\\\",v=f[g],m=(String(v)||\\\"\\\").split(\\\" \\\")[0],y=l.node().getBoundingClientRect(),x=y.top,b=y.width,_=y.height,w=void 0!==v&&f.distance<=r.hoverdistance&&(\\\"x\\\"===i||\\\"y\\\"===i);if(w){var M,A,k=!0;for(M=0;M<t.length;M++){k&&void 0===t[M].zLabel&&(k=!1),A=t[M].hoverinfo||t[M].trace.hoverinfo;var T=Array.isArray(A)?A:A.split(\\\"+\\\");if(-1===T.indexOf(\\\"all\\\")&&-1===T.indexOf(i)){w=!1;break}}k&&(w=!1)}var S=s.selectAll(\\\"g.axistext\\\").data(w?[0]:[]);S.enter().append(\\\"g\\\").classed(\\\"axistext\\\",!0),S.exit().remove(),S.each(function(){var r=e.select(this),a=r.selectAll(\\\"path\\\").data([0]),o=r.selectAll(\\\"text\\\").data([0]);a.enter().append(\\\"path\\\").style({\\\"stroke-width\\\":\\\"1px\\\"}),a.style({fill:u.bgcolor||Oe.defaultLine,stroke:u.bordercolor||Oe.background}),o.enter().append(\\\"text\\\").attr(\\\"data-notex\\\",1),o.text(v).call(Sr.font,u.font.family||c,u.font.size||h,u.font.color||Oe.background).call(er.positionText,0,0).call(er.convertToTspans,n),r.attr(\\\"transform\\\",\\\"\\\");var s=o.node().getBoundingClientRect();if(\\\"x\\\"===i){o.attr(\\\"text-anchor\\\",\\\"middle\\\").call(er.positionText,0,\\\"top\\\"===p.side?x-s.bottom-oo-so:x-s.top+oo+so);var l=\\\"top\\\"===p.side?\\\"-\\\":\\\"\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+oo+\\\",\\\"+l+oo+\\\"H\\\"+(so+s.width/2)+\\\"v\\\"+l+(2*so+s.height)+\\\"H-\\\"+(so+s.width/2)+\\\"V\\\"+l+oo+\\\"H-\\\"+oo+\\\"Z\\\"),r.attr(\\\"transform\\\",\\\"translate(\\\"+(p._offset+(f.x0+f.x1)/2)+\\\",\\\"+(d._offset+(\\\"top\\\"===p.side?0:d._length))+\\\")\\\")}else{o.attr(\\\"text-anchor\\\",\\\"right\\\"===d.side?\\\"start\\\":\\\"end\\\").call(er.positionText,(\\\"right\\\"===d.side?1:-1)*(so+oo),x-s.top-s.height/2);var y=\\\"right\\\"===d.side?\\\"\\\":\\\"-\\\";a.attr(\\\"d\\\",\\\"M0,0L\\\"+y+oo+\\\",\\\"+oo+\\\"V\\\"+(so+s.height/2)+\\\"h\\\"+y+(2*so+s.width)+\\\"V-\\\"+(so+s.height/2)+\\\"H\\\"+y+oo+\\\"V-\\\"+oo+\\\"Z\\\"),r.attr(\\\"transform\\\",\\\"translate(\\\"+(p._offset+(\\\"right\\\"===d.side?p._length:0))+\\\",\\\"+(d._offset+(f.y0+f.y1)/2)+\\\")\\\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[g]||\\\"\\\").split(\\\" \\\")[0]===m})});var E=s.selectAll(\\\"g.hovertext\\\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\\\"\\\"].join(\\\",\\\")});return E.enter().append(\\\"g\\\").classed(\\\"hovertext\\\",!0).each(function(){var t=e.select(this);t.append(\\\"rect\\\").call(Oe.fill,Oe.addOpacity(o,.8)),t.append(\\\"text\\\").classed(\\\"name\\\",!0),t.append(\\\"path\\\").style(\\\"stroke-width\\\",\\\"1px\\\"),t.append(\\\"text\\\").classed(\\\"nums\\\",!0).call(Sr.font,c,h)}),E.exit().remove(),E.each(function(t){var r=e.select(this).attr(\\\"transform\\\",\\\"\\\"),s=\\\"\\\",l=\\\"\\\",u=Oe.opacity(t.color)?t.color:Oe.defaultLine,f=Oe.combine(u,o),p=t.borderColor||Oe.contrast(f);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){s=er.plainText(t.name||\\\"\\\");var d=Math.round(t.nameLength);d>-1&&s.length>d&&(s=d>3?s.substr(0,d-3)+\\\"...\\\":s.substr(0,d))}void 0!==t.extraText&&(l+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\\\"x: \\\"+t.xLabel+\\\"<br>\\\"),void 0!==t.yLabel&&(l+=\\\"y: \\\"+t.yLabel+\\\"<br>\\\"),l+=(l?\\\"z: \\\":\\\"\\\")+t.zLabel):w&&t[i+\\\"Label\\\"]===v?l=t[(\\\"x\\\"===i?\\\"y\\\":\\\"x\\\")+\\\"Label\\\"]||\\\"\\\":void 0===t.xLabel?void 0!==t.yLabel&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\\\"(\\\"+t.xLabel+\\\", \\\"+t.yLabel+\\\")\\\",t.text&&!Array.isArray(t.text)&&(l+=(l?\\\"<br>\\\":\\\"\\\")+t.text),\\\"\\\"===l&&(\\\"\\\"===s&&r.remove(),l=s);var g=r.select(\\\"text.nums\\\").call(Sr.font,t.fontFamily||c,t.fontSize||h,t.fontColor||p).text(l).attr(\\\"data-notex\\\",1).call(er.positionText,0,0).call(er.convertToTspans,n),m=r.select(\\\"text.name\\\"),y=0;s&&s!==l?(m.call(Sr.font,t.fontFamily||c,t.fontSize||h,f).text(s).attr(\\\"data-notex\\\",1).call(er.positionText,0,0).call(er.convertToTspans,n),y=m.node().getBoundingClientRect().width+2*so):(m.remove(),r.select(\\\"rect\\\").remove()),r.select(\\\"path\\\").style({fill:f,stroke:p});var M,A,k=g.node().getBoundingClientRect(),T=t.xa._offset+(t.x0+t.x1)/2,S=t.ya._offset+(t.y0+t.y1)/2,E=Math.abs(t.x1-t.x0),C=Math.abs(t.y1-t.y0),L=k.width+oo+so+y;t.ty0=x-k.top,t.bx=k.width+2*so,t.by=k.height+2*so,t.anchor=\\\"start\\\",t.txwidth=k.width,t.tx2width=y,t.offset=0,a?(t.pos=T,M=S+C/2+L<=_,A=S-C/2-L>=0,\\\"top\\\"!==t.idealAlign&&M||!A?M?(S+=C/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(S-=C/2,t.anchor=\\\"end\\\")):(t.pos=S,M=T+E/2+L<=b,A=T-E/2-L>=0,\\\"left\\\"!==t.idealAlign&&M||!A?M?(T+=E/2,t.anchor=\\\"start\\\"):t.anchor=\\\"middle\\\":(T-=E/2,t.anchor=\\\"end\\\")),g.attr(\\\"text-anchor\\\",t.anchor),y&&m.attr(\\\"text-anchor\\\",t.anchor),r.attr(\\\"transform\\\",\\\"translate(\\\"+T+\\\",\\\"+S+\\\")\\\"+(a?\\\"rotate(\\\"+eo+\\\")\\\":\\\"\\\"))}),E}function uo(t,r){t.each(function(t){var n=e.select(this);if(t.del)n.remove();else{var i=\\\"end\\\"===t.anchor?-1:1,a=n.select(\\\"text.nums\\\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(oo+so),l=s+o*(t.txwidth+so),u=0,c=t.offset;\\\"middle\\\"===t.anchor&&(s-=t.tx2width/2,l+=t.txwidth/2+so),r&&(c*=-ao,u=t.offset*io),n.select(\\\"path\\\").attr(\\\"d\\\",\\\"middle\\\"===t.anchor?\\\"M-\\\"+(t.bx/2+t.tx2width/2)+\\\",\\\"+(c-t.by/2)+\\\"h\\\"+t.bx+\\\"v\\\"+t.by+\\\"h-\\\"+t.bx+\\\"Z\\\":\\\"M0,0L\\\"+(i*oo+u)+\\\",\\\"+(oo+c)+\\\"v\\\"+(t.by/2-oo)+\\\"h\\\"+i*t.bx+\\\"v-\\\"+t.by+\\\"H\\\"+(i*oo+u)+\\\"V\\\"+(c-oo)+\\\"Z\\\"),a.call(er.positionText,s+u,c+t.ty0-t.by/2+so),t.tx2width&&(n.select(\\\"text.name\\\").call(er.positionText,l+o*so+u,c+t.ty0-t.by/2+so),n.select(\\\"rect\\\").call(Sr.setRect,l+(o-1)*t.tx2width/2+u,c-t.by/2-1,t.tx2width,t.by+2))}})}function co(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},o=Array.isArray(r)?function(t,e){return ne.castOption(i,r,t)||ne.extractOption({},n,\\\"\\\",e)}:function(t,e){return ne.extractOption(a,n,t,e)};function s(e,r,n){var i=o(r,n);i&&(t[e]=i)}if(s(\\\"hoverinfo\\\",\\\"hi\\\",\\\"hoverinfo\\\"),s(\\\"color\\\",\\\"hbg\\\",\\\"hoverlabel.bgcolor\\\"),s(\\\"borderColor\\\",\\\"hbc\\\",\\\"hoverlabel.bordercolor\\\"),s(\\\"fontFamily\\\",\\\"htf\\\",\\\"hoverlabel.font.family\\\"),s(\\\"fontSize\\\",\\\"hts\\\",\\\"hoverlabel.font.size\\\"),s(\\\"fontColor\\\",\\\"htc\\\",\\\"hoverlabel.font.color\\\"),s(\\\"nameLength\\\",\\\"hnl\\\",\\\"hoverlabel.namelength\\\"),t.posref=\\\"y\\\"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=ne.constrain(t.x0,0,t.xa._length),t.x1=ne.constrain(t.x1,0,t.xa._length),t.y0=ne.constrain(t.y0,0,t.ya._length),t.y1=ne.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\\\"xLabel\\\"in t?t.xLabel:ri.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\\\"yLabel\\\"in t?t.yLabel:ri.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 l=ri.tickText(t.xa,t.xa.c2l(t.xerr),\\\"hover\\\").text;void 0!==t.xerrneg?t.xLabel+=\\\" +\\\"+l+\\\" / -\\\"+ri.tickText(t.xa,t.xa.c2l(t.xerrneg),\\\"hover\\\").text:t.xLabel+=\\\" \\\\xb1 \\\"+l,\\\"x\\\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\\\"log\\\"===t.ya.type&&t.yerr<=0)){var u=ri.tickText(t.ya,t.ya.c2l(t.yerr),\\\"hover\\\").text;void 0!==t.yerrneg?t.yLabel+=\\\" +\\\"+u+\\\" / -\\\"+ri.tickText(t.ya,t.ya.c2l(t.yerrneg),\\\"hover\\\").text:t.yLabel+=\\\" \\\\xb1 \\\"+u,\\\"y\\\"===e&&(t.distance+=1)}var c=t.hoverinfo||t.trace.hoverinfo;return\\\"all\\\"!==c&&(-1===(c=Array.isArray(c)?c:c.split(\\\"+\\\")).indexOf(\\\"x\\\")&&(t.xLabel=void 0),-1===c.indexOf(\\\"y\\\")&&(t.yLabel=void 0),-1===c.indexOf(\\\"z\\\")&&(t.zLabel=void 0),-1===c.indexOf(\\\"text\\\")&&(t.text=void 0),-1===c.indexOf(\\\"name\\\")&&(t.name=void 0)),t}function ho(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,l=!!t.hLinePoint,u=!!t.vLinePoint;if(i.selectAll(\\\".spikeline\\\").remove(),u||l){var c=Oe.combine(a.plot_bgcolor,a.paper_bgcolor);if(l){var h,f,p=t.hLinePoint;r=p&&p.xa,\\\"cursor\\\"===(n=p&&p.ya).spikesnap?(h=o.pointerX,f=o.pointerY):(h=r._offset+p.x,f=n._offset+p.y);var d,g,v=s.readability(p.color,c)<1.5?Oe.contrast(c):p.color,m=n.spikemode,y=n.spikethickness,x=n.spikecolor||v,b=n._boundingBox,_=(b.left+b.right)/2<h?b.right:b.left;-1===m.indexOf(\\\"toaxis\\\")&&-1===m.indexOf(\\\"across\\\")||(-1!==m.indexOf(\\\"toaxis\\\")&&(d=_,g=h),-1!==m.indexOf(\\\"across\\\")&&(d=n._counterSpan[0],g=n._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:d,x2:g,y1:f,y2:f,\\\"stroke-width\\\":y,stroke:x,\\\"stroke-dasharray\\\":Sr.dashStyle(n.spikedash,y)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:d,x2:g,y1:f,y2:f,\\\"stroke-width\\\":y+2,stroke:c}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==m.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:_+(\\\"right\\\"!==n.side?y:-y),cy:f,r:y,fill:x}).classed(\\\"spikeline\\\",!0)}if(u){var w,M,A=t.vLinePoint;r=A&&A.xa,n=A&&A.ya,\\\"cursor\\\"===r.spikesnap?(w=o.pointerX,M=o.pointerY):(w=r._offset+A.x,M=n._offset+A.y);var k,T,S=s.readability(A.color,c)<1.5?Oe.contrast(c):A.color,E=r.spikemode,C=r.spikethickness,L=r.spikecolor||S,z=r._boundingBox,P=(z.top+z.bottom)/2<M?z.bottom:z.top;-1===E.indexOf(\\\"toaxis\\\")&&-1===E.indexOf(\\\"across\\\")||(-1!==E.indexOf(\\\"toaxis\\\")&&(k=P,T=M),-1!==E.indexOf(\\\"across\\\")&&(k=r._counterSpan[0],T=r._counterSpan[1]),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:w,x2:w,y1:k,y2:T,\\\"stroke-width\\\":C,stroke:L,\\\"stroke-dasharray\\\":Sr.dashStyle(r.spikedash,C)}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0),i.insert(\\\"line\\\",\\\":first-child\\\").attr({x1:w,x2:w,y1:k,y2:T,\\\"stroke-width\\\":C+2,stroke:c}).classed(\\\"spikeline\\\",!0).classed(\\\"crisp\\\",!0)),-1!==E.indexOf(\\\"marker\\\")&&i.insert(\\\"circle\\\",\\\":first-child\\\").attr({cx:w,cy:P-(\\\"top\\\"!==r.side?C:-C),r:C,fill:L}).classed(\\\"spikeline\\\",!0)}}}function fo(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}to.hover=function(t,n,i,a){t=ne.getGraphDiv(t),ne.throttle(t._fullLayout._uid+Pa.HOVERID,Pa.HOVERMINTIME,function(){!function(t,n,i,a){i||(i=\\\"xy\\\");var o=Array.isArray(i)?i:[i],s=t._fullLayout,l=s._plots||[],u=l[i],c=s._has(\\\"cartesian\\\");if(u){var h=u.overlays.map(function(t){return t.id});o=o.concat(h)}for(var f=o.length,p=new Array(f),d=new Array(f),g=!1,v=0;v<f;v++){var m=o[v],y=l[m];if(y)g=!0,p[v]=ri.getFromId(t,y.xaxis._id),d[v]=ri.getFromId(t,y.yaxis._id);else{var x=s[m]._subplot;p[v]=x.xaxis,d[v]=x.yaxis}}var b=n.hovermode||s.hovermode;b&&!g&&(b=\\\"closest\\\");if(-1===[\\\"x\\\",\\\"y\\\",\\\"closest\\\"].indexOf(b)||!t.calcdata||t.querySelector(\\\".zoombox\\\")||t._dragging)return Ua.unhoverRaw(t,n);var _,w,M,A,k,T,S,E,C,L,z,I,D,O=-1===s.hoverdistance?1/0:s.hoverdistance,R=-1===s.spikedistance?1/0:s.spikedistance,F=[],B=[],N={hLinePoint:null,vLinePoint:null};if(Array.isArray(n))for(b=\\\"array\\\",M=0;M<n.length;M++)\\\"skip\\\"!==(k=t.calcdata[n[M].curveNumber||0])[0].trace.hoverinfo&&B.push(k);else{for(A=0;A<t.calcdata.length;A++)k=t.calcdata[A],\\\"skip\\\"!==(T=k[0].trace).hoverinfo&&-1!==o.indexOf(Ya.getSubplot(T))&&B.push(k);var j,V,U=!n.target;if(U)j=\\\"xpx\\\"in n?n.xpx:p[0]._length/2,n.pointerX=j+p[0]._offset,V=\\\"ypx\\\"in n?n.ypx:d[0]._length/2,n.pointerY=V+d[0]._offset;else{if(!1===ja.triggerHandler(t,\\\"plotly_beforehover\\\",n))return;var q=n.target.getBoundingClientRect();if(j=n.clientX-q.left,V=n.clientY-q.top,j<0||j>q.width||V<0||V>q.height)return Ua.unhoverRaw(t,n);n.pointerX=n.offsetX,n.pointerY=n.offsetY}if(_=\\\"xval\\\"in n?Ya.flat(o,n.xval):Ya.p2c(p,j),w=\\\"yval\\\"in n?Ya.flat(o,n.yval):Ya.p2c(d,V),!r(_[0])||!r(w[0]))return ne.warn(\\\"Fx.hover failed\\\",n,t),Ua.unhoverRaw(t,n)}var H=1/0;for(A=0;A<B.length;A++)if((k=B[A])&&k[0]&&k[0].trace&&!0===k[0].trace.visible&&(T=k[0].trace,-1===[\\\"carpet\\\",\\\"contourcarpet\\\"].indexOf(T._module.name))){if(S=Ya.getSubplot(T),E=o.indexOf(S),C=b,I={cd:k,trace:T,xa:p[E],ya:d[E],maxHoverDistance:O,maxSpikeDistance:R,index:!1,distance:Math.min(H,O),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:Oe.defaultLine,name:T.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},s[S]&&(I.subplot=s[S]._subplot),D=F.length,\\\"array\\\"===C){var G=n[A];\\\"pointNumber\\\"in G?(I.index=G.pointNumber,C=\\\"closest\\\"):(C=\\\"\\\",\\\"xval\\\"in G&&(L=G.xval,C=\\\"x\\\"),\\\"yval\\\"in G&&(z=G.yval,C=C?\\\"closest\\\":\\\"y\\\"))}else L=_[E],z=w[E];if(0!==O)if(T._module&&T._module.hoverPoints){var W=T._module.hoverPoints(I,L,z,C,s._hoverlayer);if(W)for(var Y,X=0;X<W.length;X++)Y=W[X],r(Y.x0)&&r(Y.y0)&&F.push(co(Y,b))}else ne.log(\\\"Unrecognized trace type in hover:\\\",T);if(\\\"closest\\\"===b&&F.length>D&&(F.splice(0,D),H=F[0].distance),c&&0!==R&&0===F.length){I.distance=R,I.index=!1;var Z=T._module.hoverPoints(I,L,z,\\\"closest\\\",s._hoverlayer);if(Z&&(Z=Z.filter(function(t){return t.spikeDistance<=R})),Z&&Z.length){var J,K=Z.filter(function(t){return t.xa.showspikes});if(K.length){var Q=K[0];r(Q.x0)&&r(Q.y0)&&(J=rt(Q),(!N.vLinePoint||N.vLinePoint.spikeDistance>J.spikeDistance)&&(N.vLinePoint=J))}var $=Z.filter(function(t){return t.ya.showspikes});if($.length){var tt=$[0];r(tt.x0)&&r(tt.y0)&&(J=rt(tt),(!N.hLinePoint||N.hLinePoint.spikeDistance>J.spikeDistance)&&(N.hLinePoint=J))}}}}function et(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function rt(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}var nt={fullLayout:s,container:s._hoverlayer,outerContainer:s._paperdiv,event:n},it=t._spikepoints,at={vLinePoint:N.vLinePoint,hLinePoint:N.hLinePoint};if(t._spikepoints=at,c&&0!==R&&0!==F.length){var ot=F.filter(function(t){return t.ya.showspikes}),st=et(ot,R);N.hLinePoint=rt(st);var lt=F.filter(function(t){return t.xa.showspikes}),ut=et(lt,R);N.vLinePoint=rt(ut)}if(0===F.length){var ct=Ua.unhoverRaw(t,n);return!c||null===N.hLinePoint&&null===N.vLinePoint||fo(it)&&ho(N,nt),ct}c&&fo(it)&&ho(N,nt);F.sort(function(t,e){return t.distance-e.distance});var ht=t._hoverdata,ft=[];for(M=0;M<F.length;M++){var pt=F[M];ft.push(Ya.makeEventData(pt,pt.trace,pt.cd))}t._hoverdata=ft;var dt=\\\"y\\\"===b&&B.length>1,gt=Oe.combine(s.plot_bgcolor||Oe.background,s.paper_bgcolor),vt={hovermode:b,rotateLabels:dt,bgColor:gt,container:s._hoverlayer,outerContainer:s._paperdiv,commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance},mt=lo(F,vt,t);if(function(t,e,r){var n,i,a,o,s,l,u,c=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\\\"x\\\"===i._id.charAt(0)?no:1)/2,pmin:0,pmax:\\\"x\\\"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function f(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,u--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(;!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var p=h[o],d=h[o+1],g=p[p.length-1],v=d[0];if((i=g.pos+g.dp+g.size-v.pos-v.dp+v.size)>.01&&g.pmin===v.pmin&&g.pmax===v.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),h.splice(o+1,1),u=0,s=p.length-1;s>=0;s--)u+=p[s].dp;for(a=u/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}h.forEach(f)}for(o=h.length-1;o>=0;o--){var m=h[o];for(s=m.length-1;s>=0;s--){var y=m[s],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(F,dt?\\\"xa\\\":\\\"ya\\\",s),uo(mt,dt),n.target&&n.target.tagName){var yt=P.getComponentMethod(\\\"annotations\\\",\\\"hasClickToShow\\\")(t,ft);$a(e.select(n.target),yt?\\\"pointer\\\":\\\"\\\")}if(!n.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,ht))return;ht&&t.emit(\\\"plotly_unhover\\\",{event:n,points:ht});t.emit(\\\"plotly_hover\\\",{event:n,points:t._hoverdata,xaxes:p,yaxes:d,xvals:_,yvals:w})}(t,n,i,a)})},to.loneHover=function(t,r){var n={color:t.color||Oe.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,trace:{index:0,hoverinfo:\\\"\\\"},xa:{_offset:0},ya:{_offset:0},index:0},i=e.select(r.container),a=r.outerContainer?e.select(r.outerContainer):i,o={hovermode:\\\"closest\\\",rotateLabels:!1,bgColor:r.bgColor||Oe.background,container:i,outerContainer:a},s=lo([n],o,r.gd);return uo(s,o.rotateLabels),s.node()};var po=to.hover,go=function(t,e,r,n){r(\\\"hoverlabel.bgcolor\\\",(n=n||{}).bgcolor),r(\\\"hoverlabel.bordercolor\\\",n.bordercolor),r(\\\"hoverlabel.namelength\\\",n.namelength),ne.coerceFont(r,\\\"hoverlabel.font\\\",n.font)},vo=T({editType:\\\"none\\\"});vo.family.dflt=Pa.HOVERFONT,vo.size.dflt=Pa.HOVERFONTSIZE;var mo={dragmode:{valType:\\\"enumerated\\\",values:[\\\"zoom\\\",\\\"pan\\\",\\\"select\\\",\\\"lasso\\\",\\\"orbit\\\",\\\"turntable\\\"],dflt:\\\"zoom\\\",editType:\\\"modebar\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"closest\\\",!1],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:vo,namelength:{valType:\\\"integer\\\",min:-1,dflt:15,editType:\\\"none\\\"},editType:\\\"none\\\"}};var yo={moduleType:\\\"component\\\",name:\\\"fx\\\",constants:Pa,schema:{layout:mo},attributes:S,layoutAttributes:mo,supplyLayoutGlobalDefaults:function(t,e){go(0,0,function(r,n){return ne.coerce(t,e,mo,r,n)})},supplyDefaults:function(t,e,r,n){go(0,0,function(r,n){return ne.coerce(t,e,S,r,n)},n.hoverlabel)},supplyLayoutDefaults:function(t,e,r){function n(r,n){return ne.coerce(t,e,mo,r,n)}var i;n(\\\"dragmode\\\"),e._has(\\\"cartesian\\\")?(e._isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if(\\\"h\\\"!==n.orientation){e=!1;break}}return e}(r),i=e._isHoriz?\\\"y\\\":\\\"x\\\"):i=\\\"closest\\\",n(\\\"hovermode\\\",i)&&(n(\\\"hoverdistance\\\"),n(\\\"spikedistance\\\"));var a=e._has(\\\"mapbox\\\"),o=e._has(\\\"geo\\\"),s=e._basePlotModules.length;\\\"zoom\\\"===e.dragmode&&((a||o)&&1===s||a&&o&&2===s)&&(e.dragmode=\\\"pan\\\")},calc:function(t){var e=t.calcdata,r=t._fullLayout;function n(t){return function(e){return ne.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;if(!P.traceIs(o,\\\"pie\\\")){var s=P.traceIs(o,\\\"2dMap\\\")?Wa:ne.fillArray;s(o.hoverinfo,a,\\\"hi\\\",n(o)),o.hoverlabel&&(s(o.hoverlabel.bgcolor,a,\\\"hbg\\\"),s(o.hoverlabel.bordercolor,a,\\\"hbc\\\"),s(o.hoverlabel.font.size,a,\\\"hts\\\"),s(o.hoverlabel.font.color,a,\\\"htc\\\"),s(o.hoverlabel.font.family,a,\\\"htf\\\"),s(o.hoverlabel.namelength,a,\\\"hnl\\\"))}}},getDistanceFunction:Ya.getDistanceFunction,getClosest:Ya.getClosest,inbox:Ya.inbox,quadrature:Ya.quadrature,appendArrayPointValue:Ya.appendArrayPointValue,castHoverOption:function(t,e,r){return ne.castOption(t,e,\\\"hoverlabel.\\\"+r)},castHoverinfo:function(t,e,r){return ne.castOption(t,r,\\\"hoverinfo\\\",function(r){return ne.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:to.hover,unhover:Ua.unhover,loneHover:to.loneHover,loneUnhover:function(t){var r=ne.isD3Selection(t)?t:e.select(t);r.selectAll(\\\"g.hovertext\\\").remove(),r.selectAll(\\\".spikeline\\\").remove()},click:function(t,e,r){var n=P.getComponentMethod(\\\"annotations\\\",\\\"onClick\\\")(t,t._hoverdata);function i(){t.emit(\\\"plotly_click\\\",{points:t._hoverdata,event:e})}void 0!==r&&po(t,e,r,!0),t._hoverdata&&e&&e.target&&(n&&n.then?n.then(i):i(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}};var xo=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=ne.extractOption(t,e,\\\"htx\\\",\\\"hovertext\\\");if(bo(i))return n(i);var a=ne.extractOption(t,e,\\\"tx\\\",\\\"text\\\");return bo(a)?n(a):void 0};function bo(t){return t||0===t}var _o=function(t,e,r,n){var i,a,o,s,l,u,c,h=t.cd,f=h[0].trace,p=h[0].t,d=\\\"closest\\\"===n,g=t.maxHoverDistance,v=t.maxSpikeDistance;function m(t){return t[o]-t.w/2}function y(t){return t[o]+t.w/2}var x=d?m:function(t){return Math.min(m(t),t.p-p.bardelta/2)},b=d?y:function(t){return Math.max(y(t),t.p+p.bardelta/2)};function _(t,e){return yo.inbox(t-i,e-i,g+Math.min(1,Math.abs(e-t)/c)-1)}function w(t){return _(x(t),b(t))}function M(t){return yo.inbox(t.b-a,t[s]-a,g+(t[s]-a)/(t[s]-t.b)-1)}\\\"h\\\"===f.orientation?(i=r,a=e,o=\\\"y\\\",s=\\\"x\\\",l=M,u=w):(i=e,a=r,o=\\\"x\\\",s=\\\"y\\\",u=M,l=w);var A=t[o+\\\"a\\\"],k=t[s+\\\"a\\\"];c=Math.abs(A.r2c(A.range[1])-A.r2c(A.range[0]));var T=yo.getDistanceFunction(n,l,u,function(t){return(l(t)+u(t))/2});if(yo.getClosest(h,T,t),!1!==t.index){d||(x=function(t){return Math.min(m(t),t.p-p.bargroupwidth/2)},b=function(t){return Math.max(y(t),t.p+p.bargroupwidth/2)});var S=h[t.index],E=S.mcc||f.marker.color,C=S.mlcc||f.marker.line.color,L=S.mlw||f.marker.line.width;Oe.opacity(E)?t.color=E:Oe.opacity(C)&&L&&(t.color=C);var z=f.base?S.b+S.s:S.s;t[s+\\\"0\\\"]=t[s+\\\"1\\\"]=k.c2p(S[s],!0),t[s+\\\"LabelVal\\\"]=z;var I=p.extents[p.extents.round(S.p)];return t[o+\\\"0\\\"]=A.c2p(d?x(S):I[0],!0),t[o+\\\"1\\\"]=A.c2p(d?b(S):I[1],!0),t[o+\\\"LabelVal\\\"]=S.p,t.spikeDistance=(M(S)+function(t){return _(m(t),y(t))}(S))/2+v-g,t[o+\\\"Spike\\\"]=A.c2p(S.p,!0),xo(S,f,t),P.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(S,f,t),[t]}},wo={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\\\"}},Mo=function(t,e,r){function n(r,n){return ne.coerce(t,e,wo,r,n)}for(var i=!1,a=!1,o=!1,s={},l=0;l<r.length;l++){var u=r[l];if(P.traceIs(u,\\\"bar\\\")){if(i=!0,\\\"overlay\\\"!==t.barmode&&\\\"stack\\\"!==t.barmode){var c=u.xaxis+u.yaxis;s[c]&&(o=!0),s[c]=!0}if(u.visible&&\\\"histogram\\\"===u.type)\\\"category\\\"!==ri.getFromId({_fullLayout:e},u[\\\"v\\\"===u.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]).type&&(a=!0)}}i&&(\\\"overlay\\\"!==n(\\\"barmode\\\")&&n(\\\"barnorm\\\"),n(\\\"bargap\\\",a&&!o?0:.2),n(\\\"bargroupgap\\\"))},Ao=wa.text,ko=wa.textposition,To=wa.textfont,So=wa.insidetextfont,Eo=wa.outsidetextfont,Co=3,Lo=function(t,n,i){var a=n.xaxis,o=n.yaxis,s=t._fullLayout,l=n.plot.select(\\\".barlayer\\\").selectAll(\\\"g.trace.bars\\\").data(i);l.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace bars\\\"),l.each(function(t){t[0].node3=e.select(this)}),l.append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").each(function(i){var l=e.select(this),u=i[0].t,c=i[0].trace,h=u.poffset,f=Array.isArray(h);l.selectAll(\\\"g.point\\\").data(ne.identity).enter().append(\\\"g\\\").classed(\\\"point\\\",!0).each(function(l,u){var p,d,g,v,m=l.p+(f?h[u]:h),y=m+l.w,x=l.b,b=x+l.s;if(\\\"h\\\"===c.orientation?(g=o.c2p(m,!0),v=o.c2p(y,!0),p=a.c2p(x,!0),d=a.c2p(b,!0),l.ct=[d,(g+v)/2]):(p=a.c2p(m,!0),d=a.c2p(y,!0),g=o.c2p(x,!0),v=o.c2p(b,!0),l.ct=[(p+d)/2,v]),r(p)&&r(d)&&r(g)&&r(v)&&p!==d&&g!==v){var _=(l.mlw+1||c.marker.line.width+1||(l.trace?l.trace.marker.line.width:0)+1)-1,w=e.round(_/2%1,2);if(!t._context.staticPlot){var M=Oe.opacity(l.mc||c.marker.color)<1||_>.01?k:function(t,e){return Math.abs(t-e)>=2?k(t):t>e?Math.ceil(t):Math.floor(t)};d=M(d,p=M(p,d)),v=M(v,g=M(g,v))}var A=e.select(this);A.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"d\\\",\\\"M\\\"+p+\\\",\\\"+g+\\\"V\\\"+v+\\\"H\\\"+d+\\\"V\\\"+g+\\\"Z\\\").call(Sr.setClipUrl,n.layerClipId),function(t,e,r,n,i,a,o,s){var l;function u(e,r,n){var i=e.append(\\\"text\\\").text(r).attr({class:\\\"bartext bartext-\\\"+l,transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}).call(Sr.font,n).call(er.convertToTspans,t);return i}var c=r[0].trace,h=c.orientation,f=function(t,e){var r=Io(t.text,e);return Do(Ao,r)}(c,n);if(!f)return;if(\\\"none\\\"===(l=function(t,e){var r=Io(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(ko,r)}(c,n)))return;var p,d,g,v,m,y,x=function(t,e,r){return Po(To,t.textfont,e,r)}(c,n,t._fullLayout.font),b=function(t,e,r){return Po(So,t.insidetextfont,e,r)}(c,n,x),_=function(t,e,r){return Po(Eo,t.outsidetextfont,e,r)}(c,n,x),w=t._fullLayout.barmode,M=\\\"stack\\\"===w||\\\"relative\\\"===w,A=r[n],k=!M||A._outmost,T=Math.abs(a-i)-2*Co,S=Math.abs(s-o)-2*Co;\\\"outside\\\"===l&&(k||(l=\\\"inside\\\"));if(\\\"auto\\\"===l)if(k){l=\\\"inside\\\",p=u(e,f,b),d=Sr.bBox(p.node()),g=d.width,v=d.height;var E=g>0&&v>0,C=g<=T&&v<=S,L=g<=S&&v<=T,z=\\\"h\\\"===h?T>=g*(S/v):S>=v*(T/g);E&&(C||L||z)?l=\\\"inside\\\":(l=\\\"outside\\\",p.remove(),p=null)}else l=\\\"inside\\\";if(!p&&(p=u(e,f,\\\"outside\\\"===l?_:b),d=Sr.bBox(p.node()),g=d.width,v=d.height,g<=0||v<=0))return void p.remove();\\\"outside\\\"===l?(y=\\\"both\\\"===c.constraintext||\\\"outside\\\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l=\\\"h\\\"===a?Math.abs(n-r):Math.abs(e-t);l>2*Co&&(s=Co);var u=1;o&&(u=\\\"h\\\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var c,h,f,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;c=u*i.width,h=u*i.height,\\\"h\\\"===a?e<t?(f=e-s-c/2,p=(r+n)/2):(f=e+s+c/2,p=(r+n)/2):n>r?(f=(t+e)/2,p=n+s+h/2):(f=(t+e)/2,p=n-s-h/2);return zo(d,g,f,p,u,!1)}(i,a,o,s,d,h,y)):(y=\\\"both\\\"===c.constraintext||\\\"inside\\\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l,u,c,h,f,p,d=i.width,g=i.height,v=(i.left+i.right)/2,m=(i.top+i.bottom)/2,y=Math.abs(e-t),x=Math.abs(n-r);y>2*Co&&x>2*Co?(y-=2*(h=Co),x-=2*h):h=0;d<=y&&g<=x?(f=!1,p=1):d<=x&&g<=y?(f=!0,p=1):d<g==y<x?(f=!1,p=o?Math.min(y/d,x/g):1):(f=!0,p=o?Math.min(x/d,y/g):1);f&&(f=90);f?(s=p*g,l=p*d):(s=p*d,l=p*g);\\\"h\\\"===a?e<t?(u=e+h+s/2,c=(r+n)/2):(u=e-h-s/2,c=(r+n)/2):n>r?(u=(t+e)/2,c=n-h-l/2):(u=(t+e)/2,c=n+h+l/2);return zo(v,m,u,c,p,f)}(i,a,o,s,d,h,y));p.attr(\\\"transform\\\",m)}(t,A,i,u,p,d,g,v),n.layerClipId&&Sr.hideOutsideRangePoint(i[u],A.select(\\\"text\\\"),a,o,c.xcalendar,c.ycalendar)}else e.select(this).remove();function k(t){return 0===s.bargap&&0===s.bargroupgap?e.round(Math.round(t)-w,2):t}})}),P.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(l,n),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})};function zo(t,e,r,n,i,a){var o;return i<1?o=\\\"scale(\\\"+i+\\\") \\\":(i=1,o=\\\"\\\"),\\\"translate(\\\"+(r-i*t)+\\\" \\\"+(n-i*e)+\\\")\\\"+o+(a?\\\"rotate(\\\"+a+\\\" \\\"+t+\\\" \\\"+e+\\\") \\\":\\\"\\\")}function Po(t,e,n,i){var a=Io((e=e||{}).family,n),o=Io(e.size,n),l=Io(e.color,n);return{family:Do(t.family,a,i.family),size:function(t,e,n){if(r(e)){e=+e;var i=t.min,a=t.max,o=void 0!==i&&e<i||void 0!==a&&e>a;if(!o)return e}return void 0!==n?n:t.dflt}(t.size,o,i.size),color:function(t,e,r){return s(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,i.color)}}function Io(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function Do(t,e,r){if(\\\"string\\\"==typeof e){if(e||!t.noBlank)return e}else if(\\\"number\\\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}var Oo=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o},Ro=Bo,Fo=t.BADNUM;function Bo(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,i=[],a=0;a<t.length;a++){for(var o=t[a],s=0;s<o.length;s++){var l=o[s];l.p!==Fo&&i.push(l.p)}o[0]&&o[0].width1&&(n=Math.min(o[0].width1,n))}this.positions=i;var u=ne.distinctVals(i);this.distinctPositions=u.vals,1===u.vals.length&&n!==1/0?this.minDiff=n:this.minDiff=Math.min(u.minDiff,n),this.binWidth=this.minDiff,this.bins={}}Bo.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},Bo.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},Bo.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\\\"v\\\":\\\"^\\\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))};var No=ne.isArrayOrTypedArray,jo=t.BADNUM,Vo=function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,o=t.calcdata,s=[],l=[];for(r=0;r<a.length;r++){var u=a[r];!0===u.visible&&P.traceIs(u,\\\"bar\\\")&&u.xaxis===n._id&&u.yaxis===i._id&&(\\\"h\\\"===u.orientation?s.push(o[r]):l.push(o[r]))}Uo(t,n,i,l),Uo(t,i,n,s)};function Uo(t,e,n,i){if(i.length){var a,o,s,l,u=t._fullLayout.barmode,c=\\\"group\\\"===u;if(\\\"overlay\\\"===u)qo(t,e,n,i);else if(c){for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.offset?o.push(l):a.push(l);o.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new Ro(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,u=s.bargroupgap,c=r.positions,h=r.distinctPositions,f=r.minDiff,p=r.traces,d=c.length!==h.length,g=p.length,v=f*(1-l),m=d?v/g:v,y=m*(1-u);for(n=0;n<g;n++){i=p[n],a=i[0];var x=d?((2*n+1-g)*m-y)/2:-y/2;(o=a.t).barwidth=y,o.poffset=x,o.bargroupwidth=v,o.bardelta=f}r.binWidth=p[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r,d)})(t,e,a),i?(Jo(t,r,a),Ko(t,r,a)):Zo(t,r,a)}(t,e,n,o),a.length&&qo(t,e,n,a)}else{for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.base?o.push(l):a.push(l);o.length&&function(t,e,n,i){var a=t._fullLayout.barmode,o=\\\"stack\\\"===a,s=\\\"relative\\\"===a,l=t._fullLayout.barnorm,u=new Ro(i,s,!(l||o||s));Ho(t,e,u),function(t,e,n){var i,a,o,s,l=t._fullLayout.barnorm,u=Qo(e),c=n.traces,h=[null,null];for(i=0;i<c.length;i++)for(a=c[i],o=0;o<a.length;o++)if((s=a[o]).s!==jo){var f=n.put(s.p,s.b+s.s),p=f+s.b+s.s;s.b=f,s[u]=p,l||(r(e.c2l(p))&&Xo(h,p),s.hasB&&r(e.c2l(f))&&Xo(h,f))}l||ri.expand(e,h,{tozero:!0,padded:!0})}(t,n,u);for(var c=0;c<i.length;c++)for(var h=i[c],f=0;f<h.length;f++){var p=h[f];if(p.s!==jo){var d=p.b+p.s===u.get(p.p,p.s);d&&(p._outmost=!0)}}l&&Ko(t,n,u)}(t,e,n,o),a.length&&qo(t,e,n,a)}!function(t,e){var n,i,a,o=e._id.charAt(0),s={},l=1/0,u=-1/0;for(n=0;n<t.length;n++)for(a=t[n],i=0;i<a.length;i++){var c=a[i].p;r(c)&&(l=Math.min(l,c),u=Math.max(u,c))}var h=1e4/(u-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(n=0;n<t.length;n++)for((a=t[n])[0].t.extents=s,i=0;i<a.length;i++){var p=a[i],d=p[o]-p.w/2;if(r(d)){var g=p[o]+p.w/2,v=f(p.p);s[v]?s[v]=[Math.min(d,s[v][0]),Math.max(g,s[v][1])]:s[v]=[d,g]}}}(i,e)}}function qo(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],l=new Ro([s],!1,a);Ho(t,e,l),i?(Jo(t,r,l),Ko(t,r,l)):Zo(t,r,l)}}function Ho(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap,l=r.minDiff,u=r.traces,c=l*(1-o),h=c*(1-s),f=-h/2;for(n=0;n<u.length;n++)(i=u[n][0].t).barwidth=h,i.poffset=f,i.bargroupwidth=c,i.bardelta=l;r.binWidth=u[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r)}function Go(t){var e,n,i,a,o,s,l=t.traces;for(e=0;e<l.length;e++){a=(i=(n=l[e])[0]).trace,s=i.t;var u,c=a.offset,h=s.poffset;if(No(c)){for(u=c.slice(0,n.length),o=0;o<u.length;o++)r(u[o])||(u[o]=h);for(o=u.length;o<n.length;o++)u.push(h);s.poffset=u}else void 0!==c&&(s.poffset=c);var f=a.width,p=s.barwidth;if(No(f)){var d=f.slice(0,n.length);for(o=0;o<d.length;o++)r(d[o])||(d[o]=p);for(o=d.length;o<n.length;o++)d.push(p);if(s.barwidth=d,void 0===c){for(u=[],o=0;o<n.length;o++)u.push(h+(p-d[o])/2);s.poffset=u}}else void 0!==f&&(s.barwidth=f,void 0===c&&(s.poffset=h+(p-f)/2))}}function Wo(t,e,r){for(var n=r.traces,i=Qo(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,u=Array.isArray(l),c=s.barwidth,h=Array.isArray(c),f=0;f<o.length;f++){var p=o[f],d=p.w=h?c[f]:c;p[i]=p.p+(u?l[f]:l)+d/2}}function Yo(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;ri.minDtick(e,s,o,n);for(var u=Math.min.apply(Math,a)-l,c=Math.max.apply(Math,a)+l,h=0;h<i.length;h++){var f=i[h],p=f[0],d=p.trace;if(void 0!==d.width||void 0!==d.offset)for(var g=p.t,v=g.poffset,m=g.barwidth,y=Array.isArray(v),x=Array.isArray(m),b=0;b<f.length;b++){var _=f[b],w=y?v[b]:v,M=x?m[b]:m,A=_.p+w,k=A+M;u=Math.min(u,A),c=Math.max(c,k)}}ri.expand(e,[u,c],{padded:!1})}function Xo(t,e){r(t[0])?t[0]=Math.min(t[0],e):t[0]=e,r(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function Zo(t,e,n){for(var i=n.traces,a=Qo(e),o=[null,null],s=0;s<i.length;s++)for(var l=i[s],u=0;u<l.length;u++){var c=l[u],h=c.b,f=h+c.s;c[a]=f,r(e.c2l(f))&&Xo(o,f),c.hasB&&r(e.c2l(h))&&Xo(o,h)}ri.expand(e,o,{tozero:!0,padded:!0})}function Jo(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var a=n[i],o=0;o<a.length;o++){var s=a[o];s.s!==jo&&r.put(s.p,s.b+s.s)}}function Ko(t,e,n){var i=n.traces,a=Qo(e),o=\\\"fraction\\\"===t._fullLayout.barnorm?1:100,s=o/1e9,l=e.l2c(e.c2l(0)),u=\\\"stack\\\"===t._fullLayout.barmode?o:l,c=[l,u],h=!1;function f(t){r(e.c2l(t))&&(t<l-s||t>u+s||!r(l))&&(h=!0,Xo(c,t))}for(var p=0;p<i.length;p++)for(var d=i[p],g=0;g<d.length;g++){var v=d[g];if(v.s!==jo){var m=Math.abs(o/n.get(v.p,v.s));v.b*=m,v.s*=m;var y=v.b,x=y+v.s;v[a]=x,f(x),v.hasB&&f(y)}}ri.expand(e,c,{tozero:!0,padded:h})}function Qo(t){return t._id.charAt(0)}var $o=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.bars\\\"),i=n.size(),a=t._fullLayout;n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}).each(function(t){(\\\"stack\\\"===a.barmode&&i>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&e.select(this).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\")}),n.selectAll(\\\"g.points\\\").each(function(r){var n=e.select(this),i=n.selectAll(\\\"path\\\"),a=n.selectAll(\\\"text\\\"),o=r[0].trace;Sr.pointStyle(i,o,t),Sr.selectedPointStyle(i,o),a.each(function(t){var r,n=e.select(this);function i(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}n.classed(\\\"bartext-inside\\\")?r=o.insidetextfont:n.classed(\\\"bartext-outside\\\")&&(r=o.outsidetextfont),r||(r=o.textfont),Sr.font(n,i(\\\"family\\\"),i(\\\"size\\\"),i(\\\"color\\\"))}),Sr.selectedTextStyle(a,o)}),P.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(n)},ts=m.extendFlat,es=Qe.LINE_SPACING,rs={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\\\"},ns=function(t,r){var n={};function i(){var o=t._fullLayout,l=o._size;if(\\\"function\\\"==typeof n.fillcolor||\\\"function\\\"==typeof n.line.color){var u,c,h=e.extent((\\\"function\\\"==typeof n.fillcolor?n.fillcolor:n.line.color).domain()),f=[],p=[],d=\\\"function\\\"==typeof n.line.color?n.line.color:function(){return n.line.color},g=\\\"function\\\"==typeof n.fillcolor?n.fillcolor:function(){return n.fillcolor},v=n.levels.end+n.levels.size/100,m=n.levels.size,y=1.001*h[0]-.001*h[1],x=1.001*h[1]-.001*h[0];for(c=0;c<1e5&&(u=n.levels.start+c*m,!(m>0?u>=v:u<=v));c++)u>y&&u<x&&f.push(u);if(\\\"function\\\"==typeof n.fillcolor)if(n.filllevels)for(v=n.filllevels.end+n.filllevels.size/100,m=n.filllevels.size,c=0;c<1e5&&(u=n.filllevels.start+c*m,!(m>0?u>=v:u<=v));c++)u>h[0]&&u<h[1]&&p.push(u);else(p=f.map(function(t){return t-n.levels.size/2})).push(p[p.length-1]+n.levels.size);else n.fillcolor&&\\\"string\\\"==typeof n.fillcolor&&(p=[0]);n.levels.size<0&&(f.reverse(),p.reverse());var b,_=o.height-o.margin.t-o.margin.b,w=o.width-o.margin.l-o.margin.r,M=Math.round(n.thickness*(\\\"fraction\\\"===n.thicknessmode?w:1)),A=M/l.w,k=Math.round(n.len*(\\\"fraction\\\"===n.lenmode?_:1)),T=k/l.h,S=n.xpad/l.w,E=(n.borderwidth+n.outlinewidth)/2,C=n.ypad/l.h,L=Math.round(n.x*l.w+n.xpad),z=n.x-A*({middle:.5,right:1}[n.xanchor]||0),I=n.y+T*(({top:-.5,bottom:.5}[n.yanchor]||0)-.5),D=Math.round(l.h*(1-I)),O=D-k,R={type:\\\"linear\\\",range:h,tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,exponentformat:n.exponentformat,separatethousands:n.separatethousands,showexponent:n.showexponent,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,title:n.title,titlefont:n.titlefont,showline:!0,anchor:\\\"free\\\",position:1},F={type:\\\"linear\\\",_id:\\\"y\\\"+r},B={letter:\\\"y\\\",font:o.font,noHover:!0,calendar:o.calendar};if(Qi(R,F,$,B,o),ea(R,F,$,B),F.position=n.x+S+A,i.axis=F,-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)&&(F.titleside=n.titleside,F.titlex=n.x+S,F.titley=I+(\\\"top\\\"===n.titleside?T-C:C)),n.line.color&&\\\"auto\\\"===n.tickmode){F.tickmode=\\\"linear\\\",F.tick0=n.levels.start;var N=n.levels.size,j=ne.constrain((D-O)/50,4,15)+1,V=(h[1]-h[0])/((n.nticks||j)*N);if(V>1){var U=Math.pow(10,Math.floor(Math.log(V)/Math.LN10));N*=U*ne.roundUp(V/U,[2,5,10]),(Math.abs(n.levels.start)/n.levels.size+1e-6)%1<2e-6&&(F.tick0=0)}F.dtick=N}F.domain=[I+C,I+T-C],F.setScale();var q=o._infolayer.selectAll(\\\"g.\\\"+r).data([0]);q.enter().append(\\\"g\\\").classed(r,!0).classed(rs.colorbar,!0).each(function(){var t=e.select(this);t.append(\\\"rect\\\").classed(rs.cbbg,!0),t.append(\\\"g\\\").classed(rs.cbfills,!0),t.append(\\\"g\\\").classed(rs.cblines,!0),t.append(\\\"g\\\").classed(rs.cbaxis,!0).classed(rs.crisp,!0),t.append(\\\"g\\\").classed(rs.cbtitleunshift,!0).append(\\\"g\\\").classed(rs.cbtitle,!0),t.append(\\\"rect\\\").classed(rs.cboutline,!0),t.select(\\\".cbtitle\\\").datum(0)}),q.attr(\\\"transform\\\",\\\"translate(\\\"+Math.round(l.l)+\\\",\\\"+Math.round(l.t)+\\\")\\\");var H=q.select(\\\".cbtitleunshift\\\").attr(\\\"transform\\\",\\\"translate(-\\\"+Math.round(l.l)+\\\",-\\\"+Math.round(l.t)+\\\")\\\");F._axislayer=q.select(\\\".cbaxis\\\");var G=0;if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)){var W,Y=l.l+(n.x+S)*l.w,X=F.titlefont.size;W=\\\"top\\\"===n.titleside?(1-(I+T-C))*l.h+l.t+3+.75*X:(1-(I+C))*l.h+l.t-3-.25*X,tt(F._id+\\\"title\\\",{attributes:{x:Y,y:W,\\\"text-anchor\\\":\\\"start\\\"}})}var Z,J,K,Q=ne.syncOrAsync([_n.previousPromises,function(){if(-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)){var r=q.select(\\\".cbtitle\\\"),i=r.select(\\\"text\\\"),a=[-n.outlinewidth/2,n.outlinewidth/2],u=r.select(\\\".h\\\"+F._id+\\\"title-math-group\\\").node(),c=15.6;if(i.node()&&(c=parseInt(i.node().style.fontSize,10)*es),u?(G=Sr.bBox(u).height)>c&&(a[1]-=(G-c)/2):i.node()&&!i.classed(rs.jsPlaceholder)&&(G=Sr.bBox(i.node()).height),G){if(G+=5,\\\"top\\\"===n.titleside)F.domain[1]-=G/l.h,a[1]*=-1;else{F.domain[0]+=G/l.h;var v=er.lineCount(i);a[1]+=(1-v)*c}r.attr(\\\"transform\\\",\\\"translate(\\\"+a+\\\")\\\"),F.setScale()}}q.selectAll(\\\".cbfills,.cblines\\\").attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(l.h*(1-F.domain[1]))+\\\")\\\"),F._axislayer.attr(\\\"transform\\\",\\\"translate(0,\\\"+Math.round(-l.t)+\\\")\\\");var m=q.select(\\\".cbfills\\\").selectAll(\\\"rect.cbfill\\\").data(p);m.enter().append(\\\"rect\\\").classed(rs.cbfill,!0).style(\\\"stroke\\\",\\\"none\\\"),m.exit().remove(),m.each(function(t,r){var n=[0===r?h[0]:(p[r]+p[r-1])/2,r===p.length-1?h[1]:(p[r]+p[r+1])/2].map(F.c2p).map(Math.round);r!==p.length-1&&(n[1]+=n[1]>n[0]?1:-1);var i=g(t).replace(\\\"e-\\\",\\\"\\\"),a=s(i).toHexString();e.select(this).attr({x:L,width:Math.max(M,2),y:e.min(n),height:Math.max(e.max(n)-e.min(n),2),fill:a})});var y=q.select(\\\".cblines\\\").selectAll(\\\"path.cbline\\\").data(n.line.color&&n.line.width?f:[]);return y.enter().append(\\\"path\\\").classed(rs.cbline,!0),y.exit().remove(),y.each(function(t){e.select(this).attr(\\\"d\\\",\\\"M\\\"+L+\\\",\\\"+(Math.round(F.c2p(t))+n.line.width/2%1)+\\\"h\\\"+M).call(Sr.lineGroupStyle,n.line.width,d(t),n.line.dash)}),F._axislayer.selectAll(\\\"g.\\\"+F._id+\\\"tick,path\\\").remove(),F._pos=L+M+(n.outlinewidth||0)/2-(\\\"outside\\\"===n.ticks?1:0),F.side=\\\"right\\\",ne.syncOrAsync([function(){return ri.doTicks(t,F,!0)},function(){if(-1===[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)){var r=F.titlefont.size,i=F._offset+F._length/2,a=l.l+(F.position||0)*l.w+(\\\"right\\\"===F.side?10+r*(F.showticklabels?1:.5):-10-r*(F.showticklabels?.5:0));tt(\\\"h\\\"+F._id+\\\"title\\\",{avoid:{selection:e.select(t).selectAll(\\\"g.\\\"+F._id+\\\"tick\\\"),side:n.titleside,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:i,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:\\\"-90\\\",offset:0}})}}])},_n.previousPromises,function(){var e=M+n.outlinewidth/2+Sr.bBox(F._axislayer.node()).width;if((b=H.select(\\\"text\\\")).node()&&!b.classed(rs.jsPlaceholder)){var i,a=H.select(\\\".h\\\"+F._id+\\\"title-math-group\\\").node();i=a&&-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(n.titleside)?Sr.bBox(a).width:Sr.bBox(H.node()).right-L-l.l,e=Math.max(e,i)}var o=2*n.xpad+e+n.borderwidth+n.outlinewidth/2,s=D-O;q.select(\\\".cbbg\\\").attr({x:L-n.xpad-(n.borderwidth+n.outlinewidth)/2,y:O-E,width:Math.max(o,2),height:Math.max(s+2*E,2)}).call(Oe.fill,n.bgcolor).call(Oe.stroke,n.bordercolor).style({\\\"stroke-width\\\":n.borderwidth}),q.selectAll(\\\".cboutline\\\").attr({x:L,y:O+n.ypad+(\\\"top\\\"===n.titleside?G:0),width:Math.max(M,2),height:Math.max(s-2*n.ypad-G,2)}).call(Oe.stroke,n.outlinecolor).style({fill:\\\"None\\\",\\\"stroke-width\\\":n.outlinewidth});var u=({center:.5,right:1}[n.xanchor]||0)*o;q.attr(\\\"transform\\\",\\\"translate(\\\"+(l.l-u)+\\\",\\\"+l.t+\\\")\\\"),_n.autoMargin(t,r,{x:n.x,y:n.y,l:o*({right:1,center:.5}[n.xanchor]||0),r:o*({left:1,center:.5}[n.xanchor]||0),t:s*({bottom:1,middle:.5}[n.yanchor]||0),b:s*({top:1,middle:.5}[n.yanchor]||0)})}],t);if(Q&&Q.then&&(t._promises||[]).push(Q),t._context.edits.colorbarPosition)Ua.init({element:q.node(),gd:t,prepFn:function(){Z=q.attr(\\\"transform\\\"),Ka(q)},moveFn:function(t,e){q.attr(\\\"transform\\\",Z+\\\" translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),J=Ua.align(z+t/l.w,A,0,1,n.xanchor),K=Ua.align(I-e/l.h,T,0,1,n.yanchor);var r=Ua.getCursor(J,K,n.xanchor,n.yanchor);Ka(q,r)},doneFn:function(){Ka(q),void 0!==J&&void 0!==K&&P.call(\\\"restyle\\\",t,{\\\"colorbar.x\\\":J,\\\"colorbar.y\\\":K},a().index)}});return Q}function $(t,e){return ne.coerce(R,F,Ce,t,e)}function tt(e,r){var n,i=a();n=P.traceIs(i,\\\"markerColorscale\\\")?\\\"marker.colorbar.title\\\":\\\"colorbar.title\\\";var s={propContainer:F,propName:n,traceIndex:i.index,placeholder:o._dfltTitle.colorbar,containerGroup:q.select(\\\".cbtitle\\\")},l=\\\"h\\\"===e.charAt(0)?e.substr(1):\\\"h\\\"+e;q.selectAll(\\\".\\\"+l+\\\",.\\\"+l+\\\"-math-group\\\").remove(),Dn.draw(t,e,ts(s,r||{}))}o._infolayer.selectAll(\\\"g.\\\"+r).remove()}function a(){var e,n,i=r.substr(2);for(e=0;e<t._fullData.length;e++)if((n=t._fullData[e]).uid===i)return n}return Object.keys(ze).forEach(function(t){n[t]=null}),n.fillcolor=null,n.line={color:null,width:null,dash:null},n.levels={start:null,end:null,size:null},n.filllevels=null,Object.keys(n).forEach(function(t){i[t]=function(e){return arguments.length?(n[t]=ne.isPlainObject(n[t])?ne.extendFlat(n[t],e):e,i):n[t]}}),i.options=function(t){return Object.keys(t).forEach(function(e){\\\"function\\\"==typeof i[e]&&i[e](t[e])}),i},i._opts=n,i},is=function(t,e){var n=e[0].trace,i=n.marker,a=\\\"cb\\\"+n.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},as={};as.attributes=wa,as.layoutAttributes=wo,as.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,wa,r,n)}var a=ne.coerceFont;if(Ta(t,e,n,i)){i(\\\"orientation\\\",e.x&&!e.y?\\\"h\\\":\\\"v\\\"),i(\\\"base\\\"),i(\\\"offset\\\"),i(\\\"width\\\"),i(\\\"text\\\"),i(\\\"hovertext\\\");var o=i(\\\"textposition\\\"),s=Array.isArray(o)||\\\"auto\\\"===o,l=s||\\\"inside\\\"===o,u=s||\\\"outside\\\"===o;if(l||u){var c=a(i,\\\"textfont\\\",n.font);l&&a(i,\\\"insidetextfont\\\",c),u&&a(i,\\\"outsidetextfont\\\",c),i(\\\"constraintext\\\"),i(\\\"selected.textfont.color\\\"),i(\\\"unselected.textfont.color\\\"),i(\\\"cliponaxis\\\")}ka(t,e,i,r,n);var h=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");h(t,e,Oe.defaultLine,{axis:\\\"y\\\"}),h(t,e,Oe.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},as.supplyLayoutDefaults=Mo,as.calc=function(t,e){var n,i,a,o,s,l=ri.getFromId(t,e.xaxis||\\\"x\\\"),u=ri.getFromId(t,e.yaxis||\\\"y\\\");\\\"h\\\"===(e.orientation||(e.x&&!e.y?\\\"h\\\":\\\"v\\\"))?(n=l,a=l.makeCalcdata(e,\\\"x\\\"),i=u.makeCalcdata(e,\\\"y\\\"),s=e.xcalendar):(n=u,a=u.makeCalcdata(e,\\\"y\\\"),i=l.makeCalcdata(e,\\\"x\\\"),s=e.ycalendar);var c=Math.min(i.length,a.length),h=new Array(c);for(o=0;o<c;o++)h[o]={p:i[o],s:a[o]},e.ids&&(h[o].id=String(e.ids[o]));var f,p=e.base;if(Aa(p)){for(o=0;o<Math.min(p.length,h.length);o++)f=n.d2c(p[o],0,s),r(f)?(h[o].b=+f,h[o].hasB=1):h[o].b=0;for(;o<h.length;o++)h[o].b=0}else{f=n.d2c(p,0,s);var d=r(f);for(f=d?f:0,o=0;o<h.length;o++)h[o].b=f,d&&(h[o].hasB=1)}return Xe(e,\\\"marker\\\")&&Ve(e,e.marker.color,\\\"marker\\\",\\\"c\\\"),Xe(e,\\\"marker.line\\\")&&Ve(e,e.marker.line.color,\\\"marker.line\\\",\\\"c\\\"),ma(h,e),Ma(h,e),h},as.setPositions=Vo,as.colorbar=is,as.arraysToCalcdata=ma,as.plot=Lo,as.style=$o,as.hoverPoints=_o,as.selectPoints=Oo,as.moduleType=\\\"trace\\\",as.name=\\\"bar\\\",as.basePlotModule=ua,as.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"oriented\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],as.meta={};var os=as,ss=m.extendFlat,ls=Zr.marker,us=ls.line,cs={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\\\"},name:{valType:\\\"string\\\",editType:\\\"calc+clearAxisTypes\\\"},text:ss({},Zr.text,{}),whiskerwidth:{valType:\\\"number\\\",min:0,max:1,dflt:.5,editType:\\\"calcIfAutorange\\\"},notched:{valType:\\\"boolean\\\",editType:\\\"calcIfAutorange\\\"},notchwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.25,editType:\\\"calcIfAutorange\\\"},boxpoints:{valType:\\\"enumerated\\\",values:[\\\"all\\\",\\\"outliers\\\",\\\"suspectedoutliers\\\",!1],dflt:\\\"outliers\\\",editType:\\\"calcIfAutorange\\\"},boxmean:{valType:\\\"enumerated\\\",values:[!0,\\\"sd\\\",!1],dflt:!1,editType:\\\"calcIfAutorange\\\"},jitter:{valType:\\\"number\\\",min:0,max:1,editType:\\\"calcIfAutorange\\\"},pointpos:{valType:\\\"number\\\",min:-2,max:2,editType:\\\"calcIfAutorange\\\"},orientation:{valType:\\\"enumerated\\\",values:[\\\"v\\\",\\\"h\\\"],editType:\\\"calc+clearAxisTypes\\\"},marker:{outliercolor:{valType:\\\"color\\\",dflt:\\\"rgba(0, 0, 0, 0)\\\",editType:\\\"style\\\"},symbol:ss({},ls.symbol,{arrayOk:!1,editType:\\\"plot\\\"}),opacity:ss({},ls.opacity,{arrayOk:!1,dflt:1,editType:\\\"style\\\"}),size:ss({},ls.size,{arrayOk:!1,editType:\\\"calcIfAutorange\\\"}),color:ss({},ls.color,{arrayOk:!1,editType:\\\"style\\\"}),line:{color:ss({},us.color,{arrayOk:!1,dflt:C.defaultLine,editType:\\\"style\\\"}),width:ss({},us.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:Zr.fillcolor,selected:{marker:Zr.selected.marker,editType:\\\"style\\\"},unselected:{marker:Zr.unselected.marker,editType:\\\"style\\\"},hoveron:{valType:\\\"flaglist\\\",flags:[\\\"boxes\\\",\\\"points\\\"],dflt:\\\"boxes+points\\\",editType:\\\"style\\\"}},hs=ne._,fs=function(t,e){var n,i,a,o,s,l=t._fullLayout,u=ri.getFromId(t,e.xaxis||\\\"x\\\"),c=ri.getFromId(t,e.yaxis||\\\"y\\\"),h=[],f=\\\"violin\\\"===e.type?\\\"_numViolins\\\":\\\"_numBoxes\\\";\\\"h\\\"===e.orientation?(i=u,a=\\\"x\\\",o=c,s=\\\"y\\\"):(i=c,a=\\\"y\\\",o=u,s=\\\"x\\\");var p=i.makeCalcdata(e,a),d=function(t,e,n,i,a){if(e in t)return n.makeCalcdata(t,e);var o;o=e+\\\"0\\\"in t?t[e+\\\"0\\\"]:\\\"name\\\"in t&&(\\\"category\\\"===n.type||r(t.name)&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(n.type)||ne.isDateTime(t.name)&&\\\"date\\\"===n.type)?t.name:a;var s=n.d2c(o,0,t[e+\\\"calendar\\\"]);return i.map(function(){return s})}(e,s,o,p,l[f]),g=ne.distinctVals(d),v=g.vals,m=g.minDiff/2,y=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(v,m),x=p.length,b=v.length,_=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(b);for(n=0;n<x;n++){var w=p[n];if(r(w)){var M=ne.findBin(d[n],y);if(M>=0&&M<b){var A={v:w,i:n};ps(A,e,n),_[M].push(A)}}}for(n=0;n<b;n++)if(_[n].length>0){var k=_[n].sort(ds),T=k.map(gs),S=T.length,E={pos:v[n],pts:k};E.min=T[0],E.max=T[S-1],E.mean=ne.mean(T,S),E.sd=ne.stdev(T,S,E.mean),E.q1=ne.interp(T,.25),E.med=ne.interp(T,.5),E.q3=ne.interp(T,.75),E.lf=Math.min(E.q1,T[Math.min(ne.findBin(2.5*E.q1-1.5*E.q3,T,!0)+1,S-1)]),E.uf=Math.max(E.q3,T[Math.max(ne.findBin(2.5*E.q3-1.5*E.q1,T),0)]),E.lo=4*E.q1-3*E.q3,E.uo=4*E.q3-3*E.q1;var C=1.57*(E.q3-E.q1)/Math.sqrt(S);E.ln=E.med-C,E.un=E.med+C,h.push(E)}return function(t,e){if(ne.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;ne.tagSelected(n,e,i)}}(h,e),ri.expand(i,p,{padded:!0}),h.length>0?(h[0].t={num:l[f],dPos:m,posLetter:s,valLetter:a,labels:{med:hs(t,\\\"median:\\\"),min:hs(t,\\\"min:\\\"),q1:hs(t,\\\"q1:\\\"),q3:hs(t,\\\"q3:\\\"),max:hs(t,\\\"max:\\\"),mean:\\\"sd\\\"===e.boxmean?hs(t,\\\"mean \\\\xb1 \\\\u03c3:\\\"):hs(t,\\\"mean:\\\"),lf:hs(t,\\\"lower fence:\\\"),uf:hs(t,\\\"upper fence:\\\")}},e._fullInput&&\\\"candlestick\\\"===e._fullInput.type&&delete h[0].t.labels,l[f]++,h):[{t:{empty:!0}}]};function ps(t,e,r){var n={text:\\\"tx\\\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function ds(t,e){return t.v-e.v}function gs(t){return t.v}function vs(t,e,r,n){var i,a=r(\\\"y\\\"),o=r(\\\"x\\\");if(a&&a.length)i=\\\"v\\\",o||r(\\\"x0\\\");else{if(!o||!o.length)return void(e.visible=!1);i=\\\"h\\\",r(\\\"y0\\\")}P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),r(\\\"orientation\\\",i)}function ms(t,e,r,n){var i=n.prefix,a=ne.coerce2(t,e,cs,\\\"marker.outliercolor\\\"),o=r(\\\"marker.line.outliercolor\\\"),s=r(i+\\\"points\\\",a||o?\\\"suspectedoutliers\\\":void 0);s?(r(\\\"jitter\\\",\\\"all\\\"===s?.3:0),r(\\\"pointpos\\\",\\\"all\\\"===s?-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\\\"===s&&(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\\\")):delete e.marker,r(\\\"hoveron\\\"),ne.coerceSelectionMarkerOpacity(e,r)}var ys={supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cs,r,n)}vs(t,e,i,n),!1!==e.visible&&(i(\\\"line.color\\\",(t.marker||{}).color||r),i(\\\"line.width\\\"),i(\\\"fillcolor\\\",Oe.addOpacity(e.line.color,.5)),i(\\\"whiskerwidth\\\"),i(\\\"boxmean\\\"),i(\\\"notched\\\",void 0!==t.notchwidth)&&i(\\\"notchwidth\\\"),ms(t,e,i,{prefix:\\\"box\\\"}))},handleSampleDefaults:vs,handlePointsDefaults:ms};function xs(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v=t.cd,m=t.xa,y=t.ya,x=v[0].trace,b=v[0].t,_=\\\"violin\\\"===x.type,w=[],M=b.bdPos,A=function(t){return t.pos+b.bPos-u};_&&\\\"both\\\"!==x.side?(\\\"positive\\\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e,e+M,p)}),\\\"negative\\\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e-M,e,p)})):f=function(t){var e=A(t);return yo.inbox(e-M,e+M,p)},g=_?function(t){return yo.inbox(t.span[0]-l,t.span[1]-l,p)}:function(t){return yo.inbox(t.min-l,t.max-l,p)},\\\"h\\\"===x.orientation?(l=e,u=r,c=g,h=f,i=\\\"y\\\",o=y,a=\\\"x\\\",s=m):(l=r,u=e,c=f,h=g,i=\\\"x\\\",o=m,a=\\\"y\\\",s=y);var k=Math.min(1,M/Math.abs(o.r2c(o.range[1])-o.r2c(o.range[0])));function T(t){return(c(t)+h(t))/2}p=t.maxHoverDistance-k,d=t.maxSpikeDistance-k;var S=yo.getDistanceFunction(n,c,h,T);if(yo.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],C=x.line.color,L=(x.marker||{}).color;Oe.opacity(C)&&x.line.width?t.color=C:Oe.opacity(L)&&x.boxpoints?t.color=L:t.color=x.fillcolor,t[i+\\\"0\\\"]=o.c2p(E.pos+b.bPos-b.bdPos,!0),t[i+\\\"1\\\"]=o.c2p(E.pos+b.bPos+b.bdPos,!0),ri.tickText(o,o.c2l(E.pos),\\\"hover\\\").text,t[i+\\\"LabelVal\\\"]=E.pos;var z=i+\\\"Spike\\\";t.spikeDistance=T(E)*d/p,t[z]=o.c2p(E.pos,!0);var P={},I=[\\\"med\\\",\\\"min\\\",\\\"q1\\\",\\\"q3\\\",\\\"max\\\"];(x.boxmean||(x.meanline||{}).visible)&&I.push(\\\"mean\\\"),(x.boxpoints||x.points)&&I.push(\\\"lf\\\",\\\"uf\\\");for(var D=0;D<I.length;D++){var O=I[D];if(O in E&&!(E[O]in P)){P[E[O]]=!0;var R=E[O],F=s.c2p(R,!0),B=ne.extendFlat({},t);B[a+\\\"0\\\"]=B[a+\\\"1\\\"]=F,B[a+\\\"LabelVal\\\"]=R,B[a+\\\"Label\\\"]=(b.labels?b.labels[O]+\\\" \\\":\\\"\\\")+ri.hoverLabelText(s,R),\\\"mean\\\"===O&&\\\"sd\\\"in E&&\\\"sd\\\"===x.boxmean&&(B[a+\\\"err\\\"]=E.sd),t.name=\\\"\\\",t.spikeDistance=void 0,t[z]=void 0,w.push(B)}}return w}function bs(t,e,r){for(var n,i,a,o=t.cd,s=t.xa,l=t.ya,u=o[0].trace,c=s.c2p(e),h=l.c2p(r),f=yo.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(s.c2p(t.x)-c)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(l.c2p(t.y)-h)-e,1-3/e)}),p=!1,d=0;d<o.length;d++){i=o[d];for(var g=0;g<(i.pts||[]).length;g++){var v=f(a=i.pts[g]);v<=t.distance&&(t.distance=v,p=[d,g])}}if(!p)return!1;a=(i=o[p[0]]).pts[p[1]];var m=s.c2p(a.x,!0),y=l.c2p(a.y,!0),x=a.mrc||1;n=ne.extendFlat({},t,{index:a.i,color:(u.marker||{}).color,name:u.name,x0:m-x,x1:m+x,xLabelVal:a.x,y0:y-x,y1:y+x,yLabelVal:a.y,spikeDistance:t.distance});var b=\\\"h\\\"===u.orientation?\\\"y\\\":\\\"x\\\",_=\\\"h\\\"===u.orientation?l:s;return n[b+\\\"Spike\\\"]=_.c2p(i.pos,!0),xo(a,u,n),n}var _s={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\\\"boxes\\\")&&(o=o.concat(xs(t,e,r,n))),-1!==a.indexOf(\\\"points\\\")&&(i=bs(t,e,r)),\\\"closest\\\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:xs,hoverOnPoints:bs},ws={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\\\"}};function Ms(t,e,r,n,i){for(var a,o=0;o<r.length;o++)if(r[o].type===i){a=!0;break}a&&(n(i+\\\"mode\\\"),n(i+\\\"gap\\\"),n(i+\\\"groupgap\\\"))}var As={supplyLayoutDefaults:function(t,e,r){Ms(0,0,r,function(r,n){return ne.coerce(t,e,ws,r,n)},\\\"box\\\")},_supply:Ms},ks=5,Ts=.01;function Ss(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.wdPos||0,h=i.bPosPxOffset||0,f=n.whiskerwidth||0,p=n.notched||!1,d=p?1-2*n.notchwidth:1;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\\\"path.box\\\").data(ne.identity).enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"box\\\").each(function(t){var r=t.pos,i=s.c2p(r+u,!0)+h,g=s.c2p(r+u-a,!0)+h,v=s.c2p(r+u+o,!0)+h,m=s.c2p(r+u-c,!0)+h,y=s.c2p(r+u+c,!0)+h,x=s.c2p(r+u-a*d,!0)+h,b=s.c2p(r+u+o*d,!0)+h,_=l.c2p(t.q1,!0),w=l.c2p(t.q3,!0),M=ne.constrain(l.c2p(t.med,!0),Math.min(_,w)+1,Math.max(_,w)-1),A=l.c2p(!1===n.boxpoints?t.min:t.lf,!0),k=l.c2p(!1===n.boxpoints?t.max:t.uf,!0),T=l.c2p(t.ln,!0),S=l.c2p(t.un,!0);\\\"h\\\"===n.orientation?e.select(this).attr(\\\"d\\\",\\\"M\\\"+M+\\\",\\\"+x+\\\"V\\\"+b+\\\"M\\\"+_+\\\",\\\"+g+\\\"V\\\"+v+(p?\\\"H\\\"+T+\\\"L\\\"+M+\\\",\\\"+b+\\\"L\\\"+S+\\\",\\\"+v:\\\"\\\")+\\\"H\\\"+w+\\\"V\\\"+g+(p?\\\"H\\\"+S+\\\"L\\\"+M+\\\",\\\"+x+\\\"L\\\"+T+\\\",\\\"+g:\\\"\\\")+\\\"ZM\\\"+_+\\\",\\\"+i+\\\"H\\\"+A+\\\"M\\\"+w+\\\",\\\"+i+\\\"H\\\"+k+(0===f?\\\"\\\":\\\"M\\\"+A+\\\",\\\"+m+\\\"V\\\"+y+\\\"M\\\"+k+\\\",\\\"+m+\\\"V\\\"+y)):e.select(this).attr(\\\"d\\\",\\\"M\\\"+x+\\\",\\\"+M+\\\"H\\\"+b+\\\"M\\\"+g+\\\",\\\"+_+\\\"H\\\"+v+(p?\\\"V\\\"+T+\\\"L\\\"+b+\\\",\\\"+M+\\\"L\\\"+v+\\\",\\\"+S:\\\"\\\")+\\\"V\\\"+w+\\\"H\\\"+g+(p?\\\"V\\\"+S+\\\"L\\\"+x+\\\",\\\"+M+\\\"L\\\"+g+\\\",\\\"+T:\\\"\\\")+\\\"ZM\\\"+i+\\\",\\\"+_+\\\"V\\\"+A+\\\"M\\\"+i+\\\",\\\"+w+\\\"V\\\"+k+(0===f?\\\"\\\":\\\"M\\\"+m+\\\",\\\"+A+\\\"H\\\"+y+\\\"M\\\"+m+\\\",\\\"+k+\\\"H\\\"+y))})}function Es(t,e,r,n){var i=e.x,a=e.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;ne.seedPseudoRandom(),t.selectAll(\\\"g.points\\\").data(function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"points\\\").selectAll(\\\"path\\\").data(function(t){var e,n,i=\\\"all\\\"===l?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),a=Math.max((t.max-t.min)/10,t.q3-t.q1),u=1e-9*a,c=a*Ts,h=[],f=0;if(r.jitter){if(0===a)for(f=1,h=new Array(i.length),e=0;e<i.length;e++)h[e]=1;else for(e=0;e<i.length;e++){var p=Math.max(0,e-ks),d=i[p].v,g=Math.min(i.length-1,e+ks),v=i[g].v;\\\"all\\\"!==l&&(i[e].v<t.lf?v=Math.min(v,t.lf):d=Math.max(d,t.uf));var m=Math.sqrt(c*(g-p)/(v-d+u))||0;m=ne.constrain(Math.abs(m),0,1),h.push(m),f=Math.max(m,f)}n=2*r.jitter/f}for(e=0;e<i.length;e++){var y=i[e],x=y.v,b=r.jitter?n*h[e]*(ne.pseudoRandom()-.5):0,_=t.pos+s+o*(r.pointpos+b);\\\"h\\\"===r.orientation?(y.y=_,y.x=x):(y.x=_,y.y=x),\\\"suspectedoutliers\\\"===l&&x<t.uo&&x>t.lo&&(y.so=!0)}return i}).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).call(Sr.translatePoints,i,a)}function Cs(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.bPosPxOffset||0;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\\\"path.mean\\\").data(ne.identity).enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}).each(function(t){var r=s.c2p(t.pos+u,!0)+c,i=s.c2p(t.pos+u-a,!0)+c,h=s.c2p(t.pos+u+o,!0)+c,f=l.c2p(t.mean,!0),p=l.c2p(t.mean-t.sd,!0),d=l.c2p(t.mean+t.sd,!0);\\\"h\\\"===n.orientation?e.select(this).attr(\\\"d\\\",\\\"M\\\"+f+\\\",\\\"+i+\\\"V\\\"+h+(\\\"sd\\\"===n.boxmean?\\\"m0,0L\\\"+p+\\\",\\\"+r+\\\"L\\\"+f+\\\",\\\"+i+\\\"L\\\"+d+\\\",\\\"+r+\\\"Z\\\":\\\"\\\")):e.select(this).attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+f+\\\"H\\\"+h+(\\\"sd\\\"===n.boxmean?\\\"m0,0L\\\"+r+\\\",\\\"+p+\\\"L\\\"+i+\\\",\\\"+f+\\\"L\\\"+r+\\\",\\\"+d+\\\"Z\\\":\\\"\\\"))})}var Ls={plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;r.plot.select(\\\".boxlayer\\\").selectAll(\\\"g.trace.boxes\\\").data(n).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace boxes\\\").each(function(t){var r,n,s=t[0],l=s.t,u=s.trace,c=s.node3=e.select(this),h=i._numBoxes,f=\\\"group\\\"===i.boxmode&&h>1,p=l.dPos*(1-i.boxgap)*(1-i.boxgroupgap)/(f?h:1),d=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.boxgap):0,g=p*u.whiskerwidth;!0!==u.visible||l.empty?e.select(this).remove():(\\\"h\\\"===u.orientation?(r=o,n=a):(r=a,n=o),l.bPos=d,l.bdPos=p,l.wdPos=g,Ss(c,{pos:r,val:n},u,l),u.boxpoints&&Es(c,{x:a,y:o},u,l),u.boxmean&&Cs(c,{pos:r,val:n},u,l))})},plotBoxAndWhiskers:Ss,plotPoints:Es,plotBoxMean:Cs},zs=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],u=a.c2p(l.x),c=o.c2p(l.y);e.contains([u,c])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s},Ps=[\\\"v\\\",\\\"h\\\"];function Is(t,e,r,n,i){var a,o,s,l=e.calcdata,u=e._fullLayout,c=[],h=\\\"violin\\\"===t?\\\"_numViolins\\\":\\\"_numBoxes\\\";for(a=0;a<r.length;a++)for(s=l[r[a]],o=0;o<s.length;o++)c.push(s[o].pos);if(c.length){var f=ne.distinctVals(c),p=f.minDiff/2;for(c.length===f.vals.length&&(u[h]=1),ri.minDtick(n,f.minDiff,f.vals[0],!0),a=0;a<r.length;a++)(s=l[r[a]])[0].t.dPos=p;var d=(1-u[t+\\\"gap\\\"])*(1-u[t+\\\"groupgap\\\"])*p/u[h];ri.expand(n,f.vals,{vpadminus:p+i[0]*d,vpadplus:p+i[1]*d})}}var Ds=function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<Ps.length;a++){for(var o=Ps[a],s=\\\"h\\\"===o?i:n,l=[],u=0,c=0,h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\\\"box\\\"!==d.type||p.empty||d.orientation!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.boxpoints&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}Is(\\\"box\\\",t,l,s,[u,c])}},Os=Is,Rs={};Rs.attributes=cs,Rs.layoutAttributes=ws,Rs.supplyDefaults=ys.supplyDefaults,Rs.supplyLayoutDefaults=As.supplyLayoutDefaults,Rs.calc=fs,Rs.setPositions=Ds,Rs.plot=Ls.plot,Rs.style=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.boxes\\\");n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=e.select(this),i=r[0].trace,a=i.line.width;n.selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",a+\\\"px\\\").call(Oe.stroke,i.line.color).call(Oe.fill,i.fillcolor),n.selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":a,\\\"stroke-dasharray\\\":2*a+\\\"px,\\\"+a+\\\"px\\\"}).call(Oe.stroke,i.line.color);var o=n.selectAll(\\\"path.point\\\");Sr.pointStyle(o,i,t),Sr.selectedPointStyle(o,i)})},Rs.hoverPoints=_s.hoverPoints,Rs.selectPoints=zs,Rs.moduleType=\\\"trace\\\",Rs.name=\\\"box\\\",Rs.basePlotModule=ua,Rs.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box-violin\\\",\\\"showLegend\\\"],Rs.meta={};var Fs=Rs,Bs=Fs,Ns=Object.getOwnPropertySymbols,js=Object.prototype.hasOwnProperty,Vs=Object.prototype.propertyIsEnumerable;var Us=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,n,i=function(t){if(null===t||void 0===t)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(t)}(t),a=1;a<arguments.length;a++){for(var o in r=Object(arguments[a]))js.call(r,o)&&(i[o]=r[o]);if(Ns){n=Ns(r);for(var s=0;s<n.length;s++)Vs.call(r,n[s])&&(i[n[s]]=r[n[s]])}}return i},qs={};function Hs(){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 Gs(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(Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate).replace(/\\\\{0\\\\}/,this._calendar.local.name)}function Ws(t,e){return\\\"000000\\\".substring(0,e-(t=\\\"\\\"+t).length)+t}function Ys(){this.shortYearCutoff=\\\"+10\\\"}function Xs(t){this.local=this.regionalOptions[t]||this.regionalOptions[\\\"\\\"]}Us(Hs.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,i){return(n=(null!=t&&t.year?t.calendar():\\\"string\\\"==typeof n?this.instance(n,i):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=\\\"\\\",i=0;r>0;){var a=r%10;n=(0===a?\\\"\\\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),Us(Gs.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(Zs.local.invalidDate||Zs.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(Zs.local.differentCalendars||Zs.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?\\\"-\\\":\\\"\\\")+Ws(Math.abs(this.year()),4)+\\\"-\\\"+Ws(this.month(),2)+\\\"-\\\"+Ws(this.day(),2)}}),Us(Ys.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new Gs(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear);return(e.year()<0?\\\"-\\\":\\\"\\\")+Ws(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,Zs.local.invalidMonth||Zs.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,Zs.local.invalidMonth||Zs.regionalOptions[\\\"\\\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\\\"\\\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidDate||Zs.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),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\\\"y\\\"===r?e:0),o=t.monthOfYear()+(\\\"m\\\"===r?e:0);i=t.day();\\\"y\\\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\\\"m\\\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];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 i={y:[1,1,\\\"y\\\"],m:[1,this.monthsInYear(-1),\\\"m\\\"],w:[this.daysInWeek(),this.daysInYear(-1),\\\"d\\\"],d:[1,this.daysInYear(-1),\\\"d\\\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);var n=\\\"y\\\"===r?e:t.year(),i=\\\"m\\\"===r?e:t.month(),a=\\\"d\\\"===r?e:t.day();return\\\"y\\\"!==r&&\\\"m\\\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);return Zs.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(Zs.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(Zs.local.differentCalendars||Zs.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 i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),Xs.prototype=new Ys,Us(Xs.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,Zs.local.invalidYear||Zs.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,Zs.local.invalidMonth||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-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,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\\\"\\\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var Zs=qs=new Hs;Zs.cdate=Gs,Zs.baseCalendar=Ys,Zs.calendars.gregorian=Xs;var Js=qs.instance();function Ks(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}Ks.prototype=new qs.baseCalendar,Us(Ks.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($s);return r?r[0]:\\\"\\\"}var n=this._validateYear(t),i=t.month(),a=\\\"\\\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\\\"0\\\"+a),this.isIntercalaryMonth(n,i)&&(a+=\\\"i\\\"),a},monthNames:function(t){if(\\\"string\\\"==typeof t){var e=t.match(tl);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\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)&&(i=\\\"\\\\u95f0\\\"+i),i},monthNamesShort:function(t){if(\\\"string\\\"==typeof t){var e=t.match(el);return e?e[0]:\\\"\\\"}var r=this._validateYear(t),n=t.month(),i=[\\\"\\\\u4e00\\\",\\\"\\\\u4e8c\\\",\\\"\\\\u4e09\\\",\\\"\\\\u56db\\\",\\\"\\\\u4e94\\\",\\\"\\\\u516d\\\",\\\"\\\\u4e03\\\",\\\"\\\\u516b\\\",\\\"\\\\u4e5d\\\",\\\"\\\\u5341\\\",\\\"\\\\u5341\\\\u4e00\\\",\\\"\\\\u5341\\\\u4e8c\\\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\\\"\\\\u95f0\\\"+i),i},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 i=e[e.length-1];r=\\\"i\\\"===i||\\\"I\\\"===i}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 n=this.intercalaryMonth(t);if(r&&e!==n||e<1||e>12)throw qs.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return n?!r&&e<=n?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 qs.local.invalidMonth.replace(/\\\\{0\\\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),rl[t-rl[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 n,i=this._validateYear(t,qs.local.invalidyear),a=nl[i-nl[0]],o=a>>9&4095,s=a>>5&15,l=31&a;(n=Js.newDate(o,s,l)).add(4-(n.dayOfWeek()||7),\\\"d\\\");var u=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(u/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=rl[t-rl[0]];if(e>(r>>13?12:11))throw qs.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 n=this._validate(t,a,r,qs.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var i=this.isIntercalaryMonth(t,e),a=this.toChineseMonth(t,e),o=function(t,e,r,n,i){var a,o,s;if(\\\"object\\\"==typeof t)o=t,a=e||{};else{var l=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\\\"Lunar year outside range 1888-2111\\\");var u=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!u)throw new Error(\\\"Lunar month outside range 1 - 12\\\");var c,h=\\\"number\\\"==typeof r&&r>=1&&r<=30;if(!h)throw new Error(\\\"Lunar day outside range 1 - 30\\\");\\\"object\\\"==typeof n?(c=!1,a=n):(c=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:c}}s=o.day-1;var f,p=rl[o.year-rl[0]],d=p>>13;f=d?o.month>d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var g=0;g<f;g++){var v=p&1<<12-g?30:29;s+=v}var m=nl[o.year-nl[0]],y=new Date(m>>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=y.getFullYear(),a.month=1+y.getMonth(),a.day=y.getDate(),a}(t,a,r,i);return Js.toJD(o.year,o.month,o.day)},fromJD:function(t){var e=Js.fromJD(t),r=function(t,e,r,n){var i,a;if(\\\"object\\\"==typeof t)i=t,a=e||{};else{var o=\\\"number\\\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\\\"Solar year outside range 1888-2111\\\");var s=\\\"number\\\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\\\"Solar month outside range 1 - 12\\\");var l=\\\"number\\\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\\\"Solar day outside range 1 - 31\\\");i={year:t,month:e,day:r},a=n||{}}var u=nl[i.year-nl[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=nl[a.year-nl[0]];var h,f=new Date(u>>9&4095,(u>>5&15)-1,31&u),p=new Date(i.year,i.month-1,i.day);h=Math.round((p-f)/864e5);var d,g=rl[a.year-rl[0]];for(d=0;d<13;d++){var v=g&1<<12-d?30:29;if(h<v)break;h-=v}var m=g>>13;!m||d<m?(a.isIntercalary=!1,a.month=1+d):d===m?(a.isIntercalary=!0,a.month=d):(a.isIntercalary=!1,a.month=d);return a.day=1+h,a}(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(Qs),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(Ks.prototype).add.call(this,t,e,r);if(\\\"y\\\"===r){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),h=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);h!==u&&s.month(h)}return s}});var Qs=/^\\\\s*(-?\\\\d\\\\d\\\\d\\\\d|\\\\d\\\\d)[-/](\\\\d?\\\\d)([iI]?)[-/](\\\\d?\\\\d)/m,$s=/^\\\\d?\\\\d[iI]?/m,tl=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?\\\\u6708/m,el=/^\\\\u95f0?\\\\u5341?[\\\\u4e00\\\\u4e8c\\\\u4e09\\\\u56db\\\\u4e94\\\\u516d\\\\u4e03\\\\u516b\\\\u4e5d]?/m;qs.calendars.chinese=Ks;var rl=[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],nl=[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];function il(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}il.prototype=new qs.baseCalendar,Us(il.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,qs.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,qs.local.invalidYear||qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return(t=n.year())<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),qs.calendars.coptic=il;function al(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}al.prototype=new qs.baseCalendar,Us(al.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,qs.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return{century:ol[Math.floor((n.year()-1)/100)+1]||\\\"\\\"}},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate);return t=n.year()+(n.year()<0?1:0),e=n.month(),(r=n.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 ol={20:\\\"Fruitbat\\\",21:\\\"Anchovy\\\"};qs.calendars.discworld=al;function sl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}sl.prototype=new qs.baseCalendar,Us(sl.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,qs.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,qs.local.invalidYear||qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return(t=n.year())<0&&t++,n.day()+30*(n.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,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),qs.calendars.ethiopian=sl;function ll(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function ul(t,e){return t-e*Math.floor(t/e)}ll.prototype=new qs.baseCalendar,Us(ll.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,qs.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return ul(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.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,qs.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===ul(this.daysInYear(t),10)?30:9===e&&3===ul(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 n=this._validate(t,e,r,qs.local.invalidDate);return{yearType:(this.leapYear(n)?\\\"embolismic\\\":\\\"common\\\")+\\\" \\\"+[\\\"deficient\\\",\\\"regular\\\",\\\"complete\\\"][this.daysInYear(n)%10-3]}},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t<=0?t+1:t,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var o=7;o<=this.monthsInYear(t);o++)a+=this.daysInMonth(t,o);for(o=1;o<e;o++)a+=this.daysInMonth(t,o)}else for(o=7;o<e;o++)a+=this.daysInMonth(t,o);return a},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return ul(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)}}),qs.calendars.hebrew=ll;function cl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}cl.prototype=new qs.baseCalendar,Us(cl.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,qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return t=n.year(),e=n.month(),r=n.day(),t=t<=0?t+1:t,r+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)}}),qs.calendars.islamic=cl;function hl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}hl.prototype=new qs.baseCalendar,Us(hl.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,qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);return t=n.year(),e=n.month(),r=n.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),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),qs.calendars.julian=hl;function fl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function pl(t,e){return t-e*Math.floor(t/e)}function dl(t,e){return pl(t-1,e)+1}fl.prototype=new qs.baseCalendar,Us(fl.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,qs.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,qs.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=pl((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,pl(e,20)]},_toTzolkin:function(t){return[dl((t-=this.jdEpoch)+20,20),dl(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate);return n.day()+20*n.month()+360*n.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)}}),qs.calendars.mayan=fl;function vl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}vl.prototype=new qs.baseCalendar;var ml=qs.instance(\\\"gregorian\\\");Us(vl.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,qs.local.invalidYear||qs.regionalOptions[\\\"\\\"].invalidYear);return ml.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,qs.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 n=this._validate(t,e,r,qs.local.invalidMonth);(t=n.year())<0&&t++;for(var i=n.day(),a=1;a<n.month();a++)i+=this.daysPerMonth[a-1];return i+ml.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)}}),qs.calendars.nanakshahi=vl;function yl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}yl.prototype=new qs.baseCalendar,Us(yl.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,qs.local.invalidYear).year(),void 0===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,qs.local.invalidMonth),void 0===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 n=this._validate(t,e,r,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=qs.instance(),a=0,o=e,s=t;this._createMissingCalendarData(t);var l=t-(o>9||9===o&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(9!==e&&(a=r,o--);9!==o;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return 9===e?(a+=r-this.NEPALI_CALENDAR_DATA[s][0])<0&&(a+=i.daysInYear(l)):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\\\"d\\\").toJD()},fromJD:function(t){var e=qs.instance().fromJD(t),r=e.year(),n=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var a=9,o=this.NEPALI_CALENDAR_DATA[i][0],s=this.NEPALI_CALENDAR_DATA[i][a]-o+1;n>s;)++a>12&&(a=1,i++),s+=this.NEPALI_CALENDAR_DATA[i][a];var l=this.NEPALI_CALENDAR_DATA[i][a]-(s-n);return this.newDate(i,a,l)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===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],2000:[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]}}),qs.calendars.nepali=yl;function xl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}function bl(t,e){return t-e*Math.floor(t/e)}xl.prototype=new qs.baseCalendar,Us(xl.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,qs.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,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t-(t>=0?474:473),a=474+bl(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*a-110)/2816)+365*(a-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=bl(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),o=bl(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=t-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=t-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}}),qs.calendars.persian=xl,qs.calendars.jalali=xl;var _l=qs.instance();function wl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}wl.prototype=new qs.baseCalendar,Us(wl.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,qs.local.invalidYear);t=this._t2gYear(e.year());return _l.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return _l.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);t=this._t2gYear(n.year());return _l.toJD(t,n.month(),n.day())},fromJD:function(t){var e=_l.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)}}),qs.calendars.taiwan=wl;var Ml=qs.instance();function Al(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}Al.prototype=new qs.baseCalendar,Us(Al.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,qs.local.invalidYear);t=this._t2gYear(e.year());return Ml.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return Ml.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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 n=this._validate(t,e,r,qs.local.invalidDate);t=this._t2gYear(n.year());return Ml.toJD(t,n.month(),n.day())},fromJD:function(t){var e=Ml.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)}}),qs.calendars.thai=Al;function kl(t){this.local=this.regionalOptions[t||\\\"\\\"]||this.regionalOptions[\\\"\\\"]}kl.prototype=new qs.baseCalendar,Us(kl.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,qs.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,qs.local.invalidMonth).toJD()-24e5+.5,n=0,i=0;i<Tl.length;i++){if(Tl[i]>r)return Tl[n]-Tl[n-1];n++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate),i=12*(n.year()-1)+n.month()-15292;return n.day()+Tl[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<Tl.length&&!(Tl[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=e-Tl[r-1]+1;return this.newDate(o,s,l)},isValid:function(t,e,r){var n=qs.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(n=(t=null!=t.year?t.year:t)>=1276&&t<=1500),n},_validate:function(t,e,r,n){var i=qs.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\\\{0\\\\}/,this.local.name);return i}}),qs.calendars.ummalqura=kl;var Tl=[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];Us(qs.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\\\"}),qs.local=qs.regionalOptions[\\\"\\\"],Us(qs.cdate.prototype,{formatDate:function(t,e){return\\\"string\\\"!=typeof t&&(e=t,t=\\\"\\\"),this._calendar.formatDate(t||\\\"\\\",this,e)}}),Us(qs.baseCalendar.prototype,{UNIX_EPOCH:qs.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:qs.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 qs.local.invalidFormat||qs.regionalOptions[\\\"\\\"].invalidFormat;t=t||this.local.dateFormat;for(var n,i,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,f=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n<t.length&&t.charAt(_+n)===e;)n++;return _+=n-1,Math.floor(n/(r||1))>1}),p=function(t,e,r,n){var i=\\\"\\\"+e;if(f(t,n))for(;i.length<r;)i=\\\"0\\\"+i;return i},d=this,g=function(t){return\\\"function\\\"==typeof u?u.call(d,t,f(\\\"m\\\")):y(p(\\\"m\\\",t.month(),2))},v=function(t,e){return e?\\\"function\\\"==typeof h?h.call(d,t):h[t.month()-d.minMonth]:\\\"function\\\"==typeof c?c.call(d,t):c[t.month()-d.minMonth]},m=this.local.digits,y=function(t){return r.localNumbers&&m?m(t):t},x=\\\"\\\",b=!1,_=0;_<t.length;_++)if(b)\\\"'\\\"!==t.charAt(_)||f(\\\"'\\\")?x+=t.charAt(_):b=!1;else switch(t.charAt(_)){case\\\"d\\\":x+=y(p(\\\"d\\\",e.day(),2));break;case\\\"D\\\":x+=(n=\\\"D\\\",i=e.dayOfWeek(),a=s,o=l,f(n)?o[i]:a[i]);break;case\\\"o\\\":x+=p(\\\"o\\\",e.dayOfYear(),3);break;case\\\"w\\\":x+=p(\\\"w\\\",e.weekOfYear(),2);break;case\\\"m\\\":x+=g(e);break;case\\\"M\\\":x+=v(e,f(\\\"M\\\"));break;case\\\"y\\\":x+=f(\\\"y\\\",2)?e.year():(e.year()%100<10?\\\"0\\\":\\\"\\\")+e.year()%100;break;case\\\"Y\\\":f(\\\"Y\\\",2),x+=e.formatYear();break;case\\\"J\\\":x+=e.toJD();break;case\\\"@\\\":x+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\\\"!\\\":x+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\\\"'\\\":f(\\\"'\\\")?x+=\\\"'\\\":b=!0;break;default:x+=t.charAt(_)}return x},parseDate:function(t,e,r){if(null==e)throw qs.local.invalidArguments||qs.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,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,h=-1,f=-1,p=-1,d=-1,g=!1,v=!1,m=function(e,r){for(var n=1;k+n<t.length&&t.charAt(k+n)===e;)n++;return k+=n-1,Math.floor(n/(r||1))>1},y=function(t,r){var n=m(t,r),i=[2,3,n?4:2,n?4:2,10,11,20][\\\"oyYJ@!\\\".indexOf(t)+1],a=new RegExp(\\\"^-?\\\\\\\\d{1,\\\"+i+\\\"}\\\"),o=e.substring(A).match(a);if(!o)throw(qs.local.missingNumberAt||qs.regionalOptions[\\\"\\\"].missingNumberAt).replace(/\\\\{0\\\\}/,A);return A+=o[0].length,parseInt(o[0],10)},x=this,b=function(){if(\\\"function\\\"==typeof s){m(\\\"m\\\");var t=s.call(x,e.substring(A));return A+=t.length,t}return y(\\\"m\\\")},_=function(t,r,n,i){for(var a=m(t,i)?n:r,o=0;o<a.length;o++)if(e.substr(A,a[o].length).toLowerCase()===a[o].toLowerCase())return A+=a[o].length,o+x.minMonth;throw(qs.local.unknownNameAt||qs.regionalOptions[\\\"\\\"].unknownNameAt).replace(/\\\\{0\\\\}/,A)},w=function(){if(\\\"function\\\"==typeof u){var t=m(\\\"M\\\")?u.call(x,e.substring(A)):l.call(x,e.substring(A));return A+=t.length,t}return _(\\\"M\\\",l,u)},M=function(){if(e.charAt(A)!==t.charAt(k))throw(qs.local.unexpectedLiteralAt||qs.regionalOptions[\\\"\\\"].unexpectedLiteralAt).replace(/\\\\{0\\\\}/,A);A++},A=0,k=0;k<t.length;k++)if(v)\\\"'\\\"!==t.charAt(k)||m(\\\"'\\\")?M():v=!1;else switch(t.charAt(k)){case\\\"d\\\":p=y(\\\"d\\\");break;case\\\"D\\\":_(\\\"D\\\",i,a);break;case\\\"o\\\":d=y(\\\"o\\\");break;case\\\"w\\\":y(\\\"w\\\");break;case\\\"m\\\":f=b();break;case\\\"M\\\":f=w();break;case\\\"y\\\":var T=k;g=!m(\\\"y\\\",2),k=T,h=y(\\\"y\\\",2);break;case\\\"Y\\\":h=y(\\\"Y\\\",2);break;case\\\"J\\\":c=y(\\\"J\\\")+.5,\\\".\\\"===e.charAt(A)&&(A++,y(\\\"J\\\"));break;case\\\"@\\\":c=y(\\\"@\\\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\\\"!\\\":c=y(\\\"!\\\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\\\"*\\\":A=e.length;break;case\\\"'\\\":m(\\\"'\\\")?M():v=!0;break;default:M()}if(A<e.length)throw qs.local.unexpectedText||qs.regionalOptions[\\\"\\\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&g&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\\\"string\\\"==typeof f&&(f=o.call(this,h,f)),d>-1){f=1,p=d;for(var S=this.daysInMonth(h,f);p>S;S=this.daysInMonth(h,f))f++,p-=S}return c>-1?this.fromJD(c):this.newDate(h,f,p)},determineDate:function(t,e,r,n,i){r&&\\\"object\\\"!=typeof r&&(i=n,n=r,r=null),\\\"string\\\"!=typeof n&&(i=n,n=\\\"\\\");var a=this;return e=e?e.newDate():null,t=null==t?e:\\\"string\\\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.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:a.today().add(t,\\\"d\\\"):a.newDate(t)}});var Sl=qs,El=t.EPOCHJD,Cl=t.ONEDAY,Ll={valType:\\\"enumerated\\\",values:Object.keys(Sl.calendars),editType:\\\"calc\\\",dflt:\\\"gregorian\\\"},zl=function(t,e,r,n){var i={};return i[r]=Ll,ne.coerce(t,e,i,r,n)},Pl=\\\"##\\\",Il={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:Pl,w:Pl,c:{0:\\\"D M d %X yyyy\\\",\\\"-\\\":\\\"D M d %X yyyy\\\"},x:{0:\\\"mm/dd/yyyy\\\",\\\"-\\\":\\\"mm/dd/yyyy\\\"}};var Dl={};function Ol(t){var e=Dl[t];return e||(e=Dl[t]=Sl.instance(t))}function Rl(t){return ne.extendFlat({},Ll,{description:t})}function Fl(t){return\\\"Sets the calendar system to use with `\\\"+t+\\\"` date data.\\\"}var Bl={xcalendar:Rl(Fl(\\\"x\\\"))},Nl=ne.extendFlat({},Bl,{ycalendar:Rl(Fl(\\\"y\\\"))}),jl=ne.extendFlat({},Nl,{zcalendar:Rl(Fl(\\\"z\\\"))}),Vl=Rl([\\\"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(\\\" \\\")),Ul={moduleType:\\\"component\\\",name:\\\"calendars\\\",schema:{traces:{scatter:Nl,bar:Nl,box:Nl,heatmap:Nl,contour:Nl,histogram:Nl,histogram2d:Nl,histogram2dcontour:Nl,scatter3d:jl,surface:jl,mesh3d:jl,scattergl:Nl,ohlc:Bl,candlestick:Bl},layout:{calendar:Rl([\\\"Sets the default calendar system to use for interpreting and\\\",\\\"displaying dates throughout the plot.\\\"].join(\\\" \\\"))},subplots:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},scene:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},zaxis:{calendar:Vl}},polar:{radialaxis:{calendar:Vl}}},transforms:{filter:{valuecalendar:Rl([\\\"Sets the calendar system to use for `value`, if it is a date.\\\"].join(\\\" \\\")),targetcalendar:Rl([\\\"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:Ll,handleDefaults:zl,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)zl(t,e,r[i]+\\\"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:Ol,worldCalFmt:function(t,e,r){for(var n,i,a,o,s,l=Math.floor((e+.05)/Cl)+El,u=Ol(r).fromJD(l),c=0;-1!==(c=t.indexOf(\\\"%\\\",c));)\\\"0\\\"===(n=t.charAt(c+1))||\\\"-\\\"===n||\\\"_\\\"===n?(a=3,i=t.charAt(c+2),\\\"_\\\"===n&&(n=\\\"-\\\")):(i=n,n=\\\"0\\\",a=2),(o=Il[i])?(s=o===Pl?Pl:u.formatDate(o[n]),t=t.substr(0,c)+s+t.substr(c+a),c+=s.length):c+=a;return t}},ql=ne.extendFlat,Hl=Ae.dash,Gl=Zr.line;function Wl(t){return{name:{valType:\\\"string\\\",editType:\\\"style\\\"},showlegend:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"style\\\"},line:{color:ql({},Gl.color,{dflt:t}),width:Gl.width,dash:Hl,editType:\\\"style\\\"},editType:\\\"style\\\"}}var Yl={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},open:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},high:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},low:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},close:{valType:\\\"data_array\\\",dflt:[],editType:\\\"calc\\\"},line:{width:ql({},Gl.width,{}),dash:ql({},Hl,{}),editType:\\\"style\\\"},increasing:Wl(\\\"#3D9970\\\"),decreasing:Wl(\\\"#FF4136\\\"),text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0,editType:\\\"calc\\\"},tickwidth:{valType:\\\"number\\\",min:0,max:.5,dflt:.3,editType:\\\"calcIfAutorange\\\"}},Xl=ne.extendFlat;function Zl(t){return{name:Yl.increasing.name,showlegend:Yl.increasing.showlegend,line:{color:Xl({},cs.line.color,{dflt:t}),width:cs.line.width,editType:\\\"style\\\"},fillcolor:cs.fillcolor,editType:\\\"style\\\"}}var Jl={x:Yl.x,open:Yl.open,high:Yl.high,low:Yl.low,close:Yl.close,line:{width:Xl({},cs.line.width,{}),editType:\\\"style\\\"},increasing:Zl(Yl.increasing.line.color.dflt),decreasing:Zl(Yl.decreasing.line.color.dflt),text:Yl.text,whiskerwidth:Xl({},cs.whiskerwidth,{dflt:0})},Kl=function(t,e,r,n){r(n+\\\".showlegend\\\"),!1===t.showlegend&&(e[n].showlegend=!1),r(n+\\\".name\\\",e.name+\\\" - \\\"+n)},Ql={};Ql.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},Ql.clearEphemeralTransformOpts=function(t){var e=t.transforms;if(Array.isArray(e)){for(var r=0;r<e.length;r++)e[r]._ephemeral&&e.splice(r,1);0===e.length&&delete t.transforms}},Ql.copyOHLC=function(t,e){t.open&&(e.open=t.open),t.high&&(e.high=t.high),t.low&&(e.low=t.low),t.close&&(e.close=t.close)},Ql.makeTransform=function(t,e,r){var n=ne.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},Ql.getFilterFn=function(t){return new function(t){var e=!0,n=null;function i(t,r){return t===r?r>n?e=!0:r<n&&(e=!1):e=t<r,n=r,e}return\\\"increasing\\\"===t?function(t,e){return r(t)&&r(e)&&i(+t,+e)}:function(t,e){return r(t)&&r(e)&&!i(+t,+e)}}(t)},Ql.addRangeSlider=function(t,e){for(var r=!1,n=0;n<t.length;n++)if(!0===t[n].visible){r=!0;break}r&&(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))};var $l=function(t,e,r,n){var i,a=r(\\\"x\\\"),o=r(\\\"open\\\"),s=r(\\\"high\\\"),l=r(\\\"low\\\"),u=r(\\\"close\\\");return P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\"],n),i=Math.min(o.length,s.length,l.length,u.length),a&&(i=Math.min(i,a.length))<a.length&&(e.x=a.slice(0,i)),i<o.length&&(e.open=o.slice(0,i)),i<s.length&&(e.high=s.slice(0,i)),i<l.length&&(e.low=l.slice(0,i)),i<u.length&&(e.close=u.slice(0,i)),i};function tu(t,e,r,n){Kl(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".fillcolor\\\")}var eu={};function ru(t,e,r){var n={type:\\\"box\\\",boxpoints:!1,visible:t.visible,hoverinfo:t.hoverinfo,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,transforms:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}eu.moduleType=\\\"transform\\\",eu.name=\\\"candlestick\\\",eu.attributes={},eu.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},eu.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\\\"candlestick\\\"===i.type?r.push(ru(i,e,\\\"increasing\\\"),ru(i,e,\\\"decreasing\\\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},eu.calcTransform=function(t,e,n){for(var i,a,o,s,l=n.direction,u=Ql.getFilterFn(l),c=e.open,h=e.high,f=e.low,p=e.close,d=c.length,g=[],v=[],m=e._fullInput.x?function(t){var r=e.x[t];g.push(r,r,r,r,r,r)}:function(t){g.push(t,t,t,t,t,t)},y=0;y<d;y++)u(c[y],p[y])&&r(h[y])&&r(f[y])&&(m(y),i=c[y],a=h[y],o=f[y],s=p[y],v.push(o,i,s,s,s,a));e.x=g,e.y=v};var nu={moduleType:\\\"trace\\\",name:\\\"candlestick\\\",basePlotModule:ua,categories:[\\\"cartesian\\\",\\\"showLegend\\\",\\\"candlestick\\\"],meta:{},attributes:Jl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Jl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\\\"line.width\\\"),tu(t,e,i,\\\"increasing\\\"),tu(t,e,i,\\\"decreasing\\\"),i(\\\"text\\\"),i(\\\"whiskerwidth\\\")):e.visible=!1}};P.register(Fs),P.register(eu);var iu=nu,au=ye.overrideAll,ou={color:{valType:\\\"color\\\",editType:\\\"calc\\\"},smoothing:{valType:\\\"number\\\",dflt:1,min:0,max:1.3,editType:\\\"calc\\\"},title:{valType:\\\"string\\\",editType:\\\"calc\\\"},titlefont:T({editType:\\\"calc\\\"}),titleoffset:{valType:\\\"number\\\",dflt:10,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:T({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:au(Ce.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:C.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:C.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\\\"},editType:\\\"calc\\\"},su=T({editType:\\\"calc\\\"});su.family.dflt='\\\"Open Sans\\\", verdana, arial, sans-serif',su.size.dflt=12,su.color.dflt=C.defaultLine;var lu={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:ou,baxis:ou,font:su,color:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"plot\\\"}},uu=ne.isArrayOrTypedArray,cu=function(t){return function t(e,r){if(!uu(e)||r>=10)return null;var n=1/0;var i=-1/0;var a=e.length;for(var o=0;o<a;o++){var s=e[o];if(uu(s)){var l=t(s,r+1);l&&(n=Math.min(l[0],n),i=Math.max(l[1],i))}else n=Math.min(s,n),i=Math.max(s,i)}return[n,i]}(t,0)};var hu=m.extendFlat,fu=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=t[r],x=t[r+\\\"axis\\\"],b=x._gridlines=[],_=x._minorgridlines=[],w=x._boundarylines=[],M=t[n],A=t[n+\\\"axis\\\"];\\\"array\\\"===x.tickmode&&(x.tickvals=y.slice());var k=t.xctrl,T=t.yctrl,S=k[0].length,E=k.length,C=t.a.length,L=t.b.length;ri.prepTicks(x),\\\"array\\\"===x.tickmode&&delete x.tickvals;var z=x.smoothing?3:1;function P(e){var i,a,o,s,l,u,c,f,p,d,g,v,m=[],y=[],b={};if(\\\"b\\\"===r)for(a=t.b2j(e),o=Math.floor(Math.max(0,Math.min(L-2,a))),s=a-o,b.length=L,b.crossLength=C,b.xy=function(e){return t.evalxy([],e,a)},b.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<C;i++)u=Math.min(C-2,i),c=i-u,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),m.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),m.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(e),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,b.length=C,b.crossLength=L,b.xy=function(e){return t.evalxy([],i,e)},b.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a<L;a++)o=Math.min(L-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],u,a-1,c,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],u,a-1,c,1),m.push(f[0]-v[0]/3),y.push(f[1]-v[1]/3)),m.push(f[0]),y.push(f[1]),l=f;return b.axisLetter=r,b.axis=x,b.crossAxis=A,b.value=e,b.constvar=n,b.index=h,b.x=m,b.y=y,b.smoothing=A.smoothing,b}function I(e){var i,a,o,s,l,u=[],c=[],h={};if(h.length=y.length,h.crossLength=M.length,\\\"b\\\"===r)for(o=Math.max(0,Math.min(L-2,e)),l=Math.min(1,Math.max(0,e-o)),h.xy=function(r){return t.evalxy([],r,e)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<S;i++)u[i]=k[e*z][i],c[i]=T[e*z][i];else for(a=Math.max(0,Math.min(C-2,e)),s=Math.min(1,Math.max(0,e-a)),h.xy=function(r){return t.evalxy([],e,r)},h.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<E;i++)u[i]=k[i][e*z],c[i]=T[i][e*z];return h.axisLetter=r,h.axis=x,h.crossAxis=A,h.value=y[e],h.constvar=n,h.index=e,h.x=u,h.y=c,h.smoothing=A.smoothing,h}if(\\\"array\\\"===x.tickmode){for(s=5e-15,u=(l=[Math.floor((y.length-1-x.arraytick0)/x.arraydtick*(1+s)),Math.ceil(-x.arraytick0/x.arraydtick/(1+s))].sort(function(t,e){return t-e}))[0]-1,c=l[1]+1,h=u;h<c;h++)(a=x.arraytick0+x.arraydtick*h)<0||a>y.length-1||b.push(hu(I(a),{color:x.gridcolor,width:x.gridwidth}));for(h=u;h<c;h++)if(o=x.arraytick0+x.arraydtick*h,d=Math.min(o+x.arraydtick,y.length-1),!(o<0||o>y.length-1||d<0||d>y.length-1))for(g=y[o],v=y[d],i=0;i<x.minorgridcount;i++)(m=d-o)<=0||(p=g+(v-g)*(i+1)/(x.minorgridcount+1)*(x.arraydtick/m))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(I(0),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(I(y.length-1),{color:x.endlinecolor,width:x.endlinewidth}))}else{for(s=5e-15,u=(l=[Math.floor((y[y.length-1]-x.tick0)/x.dtick*(1+s)),Math.ceil((y[0]-x.tick0)/x.dtick/(1+s))].sort(function(t,e){return t-e}))[0],c=l[1],h=u;h<=c;h++)f=x.tick0+x.dtick*h,b.push(hu(P(f),{color:x.gridcolor,width:x.gridwidth}));for(h=u-1;h<c+1;h++)for(f=x.tick0+x.dtick*h,i=0;i<x.minorgridcount;i++)(p=f+x.dtick*(i+1)/(x.minorgridcount+1))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(P(y[0]),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(P(y[y.length-1]),{color:x.endlinecolor,width:x.endlinewidth}))}},pu=m.extendFlat,du=function(t,e){var r,n,i,a=e._labels=[],o=e._gridlines;for(r=0;r<o.length;r++)i=o[r],-1!==[\\\"start\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:i.xy(0),dxy:i.dxy(0,0),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n)),-1!==[\\\"end\\\",\\\"both\\\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{endAnchor:!1,xy:i.xy(i.crossLength-1),dxy:i.dxy(i.crossLength-2,1),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n))},gu=ne.isArrayOrTypedArray,vu=ne.isArrayOrTypedArray,mu=function(t,e,r){var n,i;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)for(vu(t[n])?t[n].length>e.length&&(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i<e[0].length;i++)t[n][i]=r(e[n][i]);return t},yu=function(t,e,r){var n,i,a,o=[],s=[],l=t[0].length,u=t.length;function c(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<l-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,f,p,d,g,v,m,y,x,b,_,w=0;for(n=0;n<l;n++)for(i=0;i<u;i++)void 0===t[i][n]&&(o.push(n),s.push(i),t[i][n]=c(n,i)),w=Math.max(w,Math.abs(t[i][n]));if(!o.length)return t;var M=0,A=0,k=o.length;do{for(M=0,a=0;a<k;a++){n=o[a],i=s[a];var T,S,E,C,L,z,P=0,I=0;0===n?(E=e[L=Math.min(l-1,2)],C=e[1],T=t[i][L],I+=(S=t[i][1])+(S-T)*(e[0]-C)/(C-E),P++):n===l-1&&(E=e[L=Math.max(0,l-3)],C=e[l-2],T=t[i][L],I+=(S=t[i][l-2])+(S-T)*(e[l-1]-C)/(C-E),P++),(0===n||n===l-1)&&i>0&&i<u-1&&(h=r[i+1]-r[i],I+=((f=r[i]-r[i-1])*t[i+1][n]+h*t[i-1][n])/(f+h),P++),0===i?(E=r[z=Math.min(u-1,2)],C=r[1],T=t[z][n],I+=(S=t[1][n])+(S-T)*(r[0]-C)/(C-E),P++):i===u-1&&(E=r[z=Math.max(0,u-3)],C=r[u-2],T=t[z][n],I+=(S=t[u-2][n])+(S-T)*(r[u-1]-C)/(C-E),P++),(0===i||i===u-1)&&n>0&&n<l-1&&(h=e[n+1]-e[n],I+=((f=e[n]-e[n-1])*t[i][n+1]+h*t[i][n-1])/(f+h),P++),P?I/=P:(p=e[n+1]-e[n],d=e[n]-e[n-1],y=(g=r[i+1]-r[i])*(v=r[i]-r[i-1])*(g+v),I=((m=p*d*(p+d))*(v*t[i+1][n]+g*t[i-1][n])+y*(d*t[i][n+1]+p*t[i][n-1]))/(y*(d+p)+m*(v+g))),M+=(b=(x=I-t[i][n])/w)*b,_=P?0:.85,t[i][n]+=x*(1+_)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return ne.log(\\\"Smoother converged to\\\",M,\\\"after\\\",A,\\\"iterations\\\"),t},xu=function(t,e){var n,i,a,o,s,l;function u(t){if(r(t))return+t}if(e){for(n=0,s=0;s<t.length;s++)n=Math.max(n,t[s].length);if(0===n)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else n=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var c=new Array(n);for(s=0;s<n;s++)for(i=a(t,s),c[s]=new Array(i),l=0;l<i;l++)c[s][l]=u(o(t,s,l));return c},bu=Oe.addOpacity,_u=function(t,e,r){var n=r.letter,i=r.font||{},a=lu[n+\\\"axis\\\"];function o(r,n){return ne.coerce(t,e,a,r,n)}function s(r,n){return ne.coerce2(t,e,a,r,n)}r.name&&(e._name=r.name,e._id=r.name);var l=o(\\\"type\\\");(\\\"-\\\"===l&&(r.data&&function(t,e){if(\\\"-\\\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\\\"calendar\\\"];t.type=Yn(e,n)}(e,r.data),\\\"-\\\"===e.type?e.type=\\\"linear\\\":l=t.type=e.type),o(\\\"smoothing\\\"),o(\\\"cheatertype\\\"),o(\\\"showticklabels\\\"),o(\\\"labelprefix\\\",n+\\\" = \\\"),o(\\\"labelsuffix\\\"),o(\\\"showtickprefix\\\"),o(\\\"showticksuffix\\\"),o(\\\"separatethousands\\\"),o(\\\"tickformat\\\"),o(\\\"exponentformat\\\"),o(\\\"showexponent\\\"),o(\\\"categoryorder\\\"),o(\\\"tickmode\\\"),o(\\\"tickvals\\\"),o(\\\"ticktext\\\"),o(\\\"tick0\\\"),o(\\\"dtick\\\"),\\\"array\\\"===e.tickmode&&(o(\\\"arraytick0\\\"),o(\\\"arraydtick\\\")),o(\\\"labelpadding\\\"),e._hovertitle=n,\\\"date\\\"===l)&&P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\")(t,e,\\\"calendar\\\",r.calendar);ei(e,r.fullLayout);var u=o(\\\"color\\\",r.dfltColor),c=u===t.color?u:i.color;o(\\\"title\\\"),ne.coerceFont(o,\\\"titlefont\\\",{family:i.family,size:Math.round(1.2*i.size),color:c}),o(\\\"titleoffset\\\"),o(\\\"tickangle\\\"),o(\\\"autorange\\\",!e.isValidRange(t.range))&&o(\\\"rangemode\\\"),o(\\\"range\\\"),e.cleanRange(),o(\\\"fixedrange\\\"),Ge(t,e,o,l),Ue(t,e,o,l,r),Wi(t,e,o);var h=s(\\\"gridcolor\\\",bu(u,.3)),f=s(\\\"gridwidth\\\"),p=o(\\\"showgrid\\\");p||(delete e.gridcolor,delete e.gridwidth);var d=s(\\\"startlinecolor\\\",u),g=s(\\\"startlinewidth\\\",f);o(\\\"startline\\\",e.showgrid||!!d||!!g)||(delete e.startlinecolor,delete e.startlinewidth);var v=s(\\\"endlinecolor\\\",u),m=s(\\\"endlinewidth\\\",f);return o(\\\"endline\\\",e.showgrid||!!v||!!m)||(delete e.endlinecolor,delete e.endlinewidth),p?(o(\\\"minorgridcount\\\"),o(\\\"minorgridwidth\\\",f),o(\\\"minorgridcolor\\\",bu(h,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=\\\"category\\\"===l?Ki(n,e.categoryorder,e.categoryarray,r.data):[],\\\"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,o(\\\"tickmode\\\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e};var wu=function(t,e,r,n,i){n(\\\"a\\\")||(n(\\\"da\\\"),n(\\\"a0\\\")),n(\\\"b\\\")||(n(\\\"db\\\"),n(\\\"b0\\\")),function(t,e,r,n){[\\\"aaxis\\\",\\\"baxis\\\"].forEach(function(i){var a=i.charAt(0),o=t[i]||{},s={},l={tickfont:\\\"x\\\",id:a+\\\"axis\\\",letter:a,font:e.font,name:i,data:t[a],calendar:e.calendar,dfltColor:n,bgColor:r.paper_bgcolor,fullLayout:r};_u(o,s,l),s._categories=s._categories||[],e[i]=s,t[i]||\\\"-\\\"===o.type||(t[i]={type:o.type})})}(t,e,r,i)};var Mu=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,h=(u*u*a-l*l*s)*n,f=u*(l+u)*3,p=l*(l+u)*3;return[[e[0]+(f&&c/f),e[1]+(f&&h/f)],[e[0]-(p&&c/p),e[1]-(p&&h/p)]]},Au=ne.ensureArray;function ku(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}var Tu=1e-6,Su=Wt.findBin,Eu=function(t){var e=t.a,r=t.b,n=t.a.length,i=t.b.length,a=t.aaxis,o=t.baxis,s=e[0],l=e[n-1],u=r[0],c=r[i-1],h=e[e.length-1]-e[0],f=r[r.length-1]-r[0],p=h*Tu,d=f*Tu;s-=p,l+=p,u-=d,c+=d,t.isVisible=function(t,e){return t>s&&t<l&&e>u&&e<c},t.isOccluded=function(t,e){return t<s||t>l||e<u||e>c},a.c2p=function(t){return t},o.c2p=function(t){return t},t.setScale=function(){var e,r,s,l=t._x,u=t._y,c=function(t,e,r,n,i,a){var o,s,l,u,c,h,f,p,d,g,v=r[0].length,m=r.length,y=i?3*v-2:v,x=a?3*m-2:m;for(t=Au(t,x),e=Au(e,x),l=0;l<x;l++)t[l]=Au(t[l],y),e[l]=Au(e[l],y);for(s=0,u=0;s<m;s++,u+=a?3:1)for(c=t[u],h=e[u],f=r[s],p=n[s],o=0,l=0;o<v;o++,l+=i?3:1)c[l]=f[o],h[l]=p[o];if(i)for(s=0,u=0;s<m;s++,u+=a?3:1){for(o=1,l=3;o<v-1;o++,l+=3)d=Mu([r[s][o-1],n[s][o-1]],[r[s][o],n[s][o]],[r[s][o+1],n[s][o+1]],i),t[u][l-1]=d[0][0],e[u][l-1]=d[0][1],t[u][l+1]=d[1][0],e[u][l+1]=d[1][1];g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=g[0],e[u][1]=g[1],g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=g[0],e[u][y-2]=g[1]}if(a)for(l=0;l<y;l++){for(u=3;u<x-3;u+=3)d=Mu([t[u-3][l],e[u-3][l]],[t[u][l],e[u][l]],[t[u+3][l],e[u+3][l]],a),t[u-1][l]=d[0][0],e[u-1][l]=d[0][1],t[u+1][l]=d[1][0],e[u+1][l]=d[1][1];g=ku([t[0][l],e[0][l]],[t[2][l],e[2][l]],[t[3][l],e[3][l]]),t[1][l]=g[0],e[1][l]=g[1],g=ku([t[x-1][l],e[x-1][l]],[t[x-3][l],e[x-3][l]],[t[x-4][l],e[x-4][l]]),t[x-2][l]=g[0],e[x-2][l]=g[1]}if(i&&a)for(u=1;u<x;u+=(u+1)%3==0?2:1){for(l=3;l<y-3;l+=3)d=Mu([t[u][l-3],e[u][l-3]],[t[u][l],e[u][l]],[t[u][l+3],e[u][l+3]],i),t[u][l-1]=.5*(t[u][l-1]+d[0][0]),e[u][l-1]=.5*(e[u][l-1]+d[0][1]),t[u][l+1]=.5*(t[u][l+1]+d[1][0]),e[u][l+1]=.5*(e[u][l+1]+d[1][1]);g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=.5*(t[u][1]+g[0]),e[u][1]=.5*(e[u][1]+g[1]),g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=.5*(t[u][y-2]+g[0]),e[u][y-2]=.5*(e[u][y-2]+g[1])}return[t,e]}(t.xctrl,t.yctrl,l,u,a.smoothing,o.smoothing);t.xctrl=c[0],t.yctrl=c[1],t.evalxy=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,u,c,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),a)),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 v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,M=1-g,A=M*M,k=A*M;for(h=0;h<t.length;h++)i=b*(c=t[h])[p][f]+3*(x*d*c[p][f+1]+y*v*c[p][f+2])+m*c[p][f+3],s=b*c[p+1][f]+3*(x*d*c[p+1][f+1]+y*v*c[p+1][f+2])+m*c[p+1][f+3],l=b*c[p+2][f]+3*(x*d*c[p+2][f+1]+y*v*c[p+2][f+2])+m*c[p+2][f+3],u=b*c[p+3][f]+3*(x*d*c[p+3][f+1]+y*v*c[p+3][f+2])+m*c[p+3][f+3],e[h]=k*i+3*(A*g*s+M*_*l)+w*u;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),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 v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=1-g;for(c=0;c<t.length;c++)i=_*(h=t[c])[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],u=_*h[p][f+3]+g*h[p+1][f+1],e[c]=b*i+3*(x*d*s+y*v*l)+m*u;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),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 v=g*g,m=v*g,y=1-g,x=y*y,b=x*y,_=1-d;for(c=0;c<t.length;c++)i=_*(h=t[c])[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],u=_*h[p+3][f]+d*h[p+3][f+1],e[c]=b*i+3*(x*g*s+y*v*l)+m*u;return e}:function(e,r,n){e||(e=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-c)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)i=g*(u=t[l])[h][c]+f*u[h][c+1],s=g*u[h+1][c]+f*u[h+1][c+1],e[l]=d*i+p*s;return e}}([t.xctrl,t.yctrl],n,i,a.smoothing,o.smoothing),t.dxydi=(e=[t.xctrl,t.yctrl],r=a.smoothing,s=o.smoothing,r&&s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),r*=3,n*=3;var f=i*i,p=1-i,d=p*p,g=p*i*2,v=-3*d,m=3*(d-g),y=3*(g-f),x=3*f,b=a*a,_=b*a,w=1-a,M=w*w,A=M*w;for(h=0;h<e.length;h++)o=v*(c=e[h])[n][r]+m*c[n][r+1]+y*c[n][r+2]+x*c[n][r+3],s=v*c[n+1][r]+m*c[n+1][r+1]+y*c[n+1][r+2]+x*c[n+1][r+3],l=v*c[n+2][r]+m*c[n+2][r+1]+y*c[n+2][r+2]+x*c[n+2][r+3],u=v*c[n+3][r]+m*c[n+3][r+1]+y*c[n+3][r+2]+x*c[n+3][r+3],t[h]=A*o+3*(M*a*s+w*b*l)+_*u;return t}:r?function(t,r,n,i,a){var o,s,l,u;t||(t=[]),r*=3;var c=i*i,h=1-i,f=h*h,p=h*i*2,d=-3*f,g=3*(f-p),v=3*(p-c),m=3*c,y=1-a;for(l=0;l<e.length;l++)o=d*(u=e[l])[n][r]+g*u[n][r+1]+v*u[n][r+2]+m*u[n][r+3],s=d*u[n+1][r]+g*u[n+1][r+1]+v*u[n+1][r+2]+m*u[n+1][r+3],t[l]=y*o+a*s;return t}:s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<e.length;c++)o=(h=e[c])[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],u=h[n+3][r+1]-h[n+3][r],t[c]=v*o+3*(g*a*s+d*f*l)+p*u;return t}:function(t,r,n,i,a){var o,s,l,u;t||(t=[]);var c=1-a;for(l=0;l<e.length;l++)o=(u=e[l])[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],t[l]=c*o+a*s;return t}),t.dxydj=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3,n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d,m=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-m),A=3*m;for(h=0;h<t.length;h++)o=_*(c=t[h])[n][r]+w*c[n+1][r]+M*c[n+2][r]+A*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+M*c[n+2][r+1]+A*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+M*c[n+2][r+2]+A*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+M*c[n+2][r+3]+A*c[n+3][r+3],e[h]=v*o+3*(g*i*s+d*f*l)+p*u;return e}:e?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<t.length;c++)o=(h=t[c])[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],u=h[n+1][r+3]-h[n][r+3],e[c]=v*o+3*(g*a*s+d*f*l)+p*u;return e}:r?function(e,r,n,i,a){var o,s,l,u;e||(e=[]),n*=3;var c=1-i,h=a*a,f=1-a,p=f*f,d=f*a*2,g=-3*p,v=3*(p-d),m=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(u=t[l])[n][r]+v*u[n+1][r]+m*u[n+2][r]+y*u[n+3][r],s=g*u[n][r+1]+v*u[n+1][r+1]+m*u[n+2][r+1]+y*u[n+3][r+1],e[l]=c*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,u;e||(e=[]);var c=1-i;for(l=0;l<t.length;l++)o=(u=t[l])[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],e[l]=c*o+i*s;return e}}([t.xctrl,t.yctrl],a.smoothing,o.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),n-2),i=t[0]-r;return(1-i)*e[r]+i*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),n-2),i=t[1]-e;return(1-i)*r[e]+i*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(Su(t,e),n-2)),i=e[r],a=e[r+1];return Math.max(0,Math.min(n-1,r+(t-i)/(a-i)))},t.b2j=function(t){var e=Math.max(0,Math.min(Su(t,r),i-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(i-1,e+(t-n)/(a-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(a,o,s){if(!s&&(a<e[0]||a>e[n-1]|o<r[0]||o>r[i-1]))return[!1,!1];var l=t.a2i(a),u=t.b2j(o),c=t.evalxy([],l,u);if(s){var h,f,p,d,g=0,v=0,m=[];a<e[0]?(h=0,f=0,g=(a-e[0])/(e[1]-e[0])):a>e[n-1]?(h=n-2,f=1,g=(a-e[n-1])/(e[n-1]-e[n-2])):f=l-(h=Math.max(0,Math.min(n-2,Math.floor(l)))),o<r[0]?(p=0,d=0,v=(o-r[0])/(r[1]-r[0])):o>r[i-1]?(p=i-2,d=1,v=(o-r[i-1])/(r[i-1]-r[i-2])):d=u-(p=Math.max(0,Math.min(i-2,Math.floor(u)))),g&&(t.dxydi(m,h,p,f,d),c[0]+=m[0]*g,c[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),c[0]+=m[0]*v,c[1]+=m[1]*v)}return c},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,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=h*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=f*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}},Cu=ne.isArrayOrTypedArray,Lu=function(t){return Cu(t[0])},zu=t.BADNUM,Pu=function(t,e,r,n,i,a){n=n||\\\"x\\\",i=i||\\\"y\\\",a=a||[\\\"z\\\"];var o,s,l,u=t[n].slice(),c=t[i].slice(),h=t.text,f=Math.min(u.length,c.length),p=void 0!==h&&!Array.isArray(h[0]),d=t[n+\\\"calendar\\\"],g=t[i+\\\"calendar\\\"];for(o=0;o<a.length;o++)(l=t[a[o]])&&(f=Math.min(f,l.length));for(f<u.length&&(u=u.slice(0,f)),f<c.length&&(c=c.slice(0,f)),o=0;o<f;o++)u[o]=e.d2c(u[o],0,d),c[o]=r.d2c(c[o],0,g);var v,m,y,x=ne.distinctVals(u),b=x.vals,_=ne.distinctVals(c),w=_.vals,M=[];for(o=0;o<a.length;o++)M[o]=ne.init2dArray(w.length,b.length);for(p&&(y=ne.init2dArray(w.length,b.length)),o=0;o<f;o++)if(u[o]!==zu&&c[o]!==zu){for(v=ne.findBin(u[o]+x.minDiff/2,b),m=ne.findBin(c[o]+_.minDiff/2,w),s=0;s<a.length;s++)l=t[a[s]],M[s][m][v]=l[o];p&&(y[m][v]=h[o])}for(t[\\\"_input_\\\"+n]=t[n],t[\\\"_input_\\\"+i]=t[i],t[n]=b,t[i]=w,s=0;s<a.length;s++)t[\\\"_input_\\\"+a[s]]=t[a[s]],t[a[s]]=M[s];p&&(t.text=y)},Iu=function(t,e,r){if(0===t.length)return\\\"\\\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\\\",\\\"+e[n]),r&&n<t.length-a&&(i.push(\\\"C\\\"),i.push([t[n+1]+\\\",\\\"+e[n+1],t[n+2]+\\\",\\\"+e[n+2]+\\\" \\\"].join(\\\" \\\")));return i.join(r?\\\"\\\":\\\"L\\\")},Du=ne.isArrayOrTypedArray,Ou=function(t,e,r){var n;for(Du(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)t[n]=r(e[n]);return t},Ru=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),h=Math.sqrt(a[0]*a[0]+a[1]*a[1]),f=(i[0]*a[0]+i[1]*a[1])/c/h;u=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:u}};function Fu(t,e,r){var n=t.selectAll(e+\\\".\\\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}function Bu(t,e,r){var n=r[0],i=r[0].trace,a=e.xaxis,o=e.yaxis,s=i.aaxis,l=i.baxis,u=t._fullLayout,c=e.plot.selectAll(\\\".carpetlayer\\\"),h=u._clips,f=Fu(c,\\\"g\\\",\\\"carpet\\\"+i.uid).classed(\\\"trace\\\",!0),p=Fu(f,\\\"g\\\",\\\"minorlayer\\\"),d=Fu(f,\\\"g\\\",\\\"majorlayer\\\"),g=Fu(f,\\\"g\\\",\\\"boundarylayer\\\"),v=Fu(f,\\\"g\\\",\\\"labellayer\\\");f.style(\\\"opacity\\\",i.opacity),Nu(a,o,d,s,\\\"a\\\",s._gridlines),Nu(a,o,d,l,\\\"b\\\",l._gridlines),Nu(a,o,p,s,\\\"a\\\",s._minorgridlines),Nu(a,o,p,l,\\\"b\\\",l._minorgridlines),Nu(a,o,g,s,\\\"a-boundary\\\",s._boundarylines),Nu(a,o,g,l,\\\"b-boundary\\\",l._boundarylines),function(t,e,r,n,i,a,o,s){var l,u,c,h;l=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],c=r.ab2xy(l,u,!0),h=r.dxyda_rough(l,u),void 0===o.angle&&ne.extendFlat(o,Ru(r,i,a,c,r.dxydb_rough(l,u)));qu(t,e,r,n,c,h,r.aaxis,i,a,o,\\\"a-title\\\"),l=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),c=r.ab2xy(l,u,!0),h=r.dxydb_rough(l,u),void 0===s.angle&&ne.extendFlat(s,Ru(r,i,a,c,r.dxyda_rough(l,u)));qu(t,e,r,n,c,h,r.baxis,i,a,s,\\\"b-title\\\")}(t,v,i,n,a,o,ju(t,a,o,i,n,v,s._labels,\\\"a-label\\\"),ju(t,a,o,i,n,v,l._labels,\\\"b-label\\\")),function(t,e,r,n,i){var a,o,s,l,u=r.select(\\\"#\\\"+t._clipPathId);u.size()||(u=r.append(\\\"clipPath\\\").classed(\\\"carpetclip\\\",!0));var c=Fu(u,\\\"path\\\",\\\"carpetboundary\\\"),h=e.clipsegments,f=[];for(l=0;l<h.length;l++)a=h[l],o=Ou([],a.x,n.c2p),s=Ou([],a.y,i.c2p),f.push(Iu(o,s,a.bicubic));var p=\\\"M\\\"+f.join(\\\"L\\\")+\\\"Z\\\";u.attr(\\\"id\\\",t._clipPathId),c.attr(\\\"d\\\",p)}(i,n,h,a,o)}function Nu(t,r,n,i,a,o){var s=\\\"const-\\\"+a+\\\"-lines\\\",l=n.selectAll(\\\".\\\"+s).data(o);l.enter().append(\\\"path\\\").classed(s,!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\"),l.each(function(n){var i=n,a=i.x,o=i.y,s=Ou([],a,t.c2p),l=Ou([],o,r.c2p),u=\\\"M\\\"+Iu(s,l,i.smoothing);e.select(this).attr(\\\"d\\\",u).style(\\\"stroke-width\\\",i.width).style(\\\"stroke\\\",i.color).style(\\\"fill\\\",\\\"none\\\")}),l.exit().remove()}function ju(t,r,n,i,a,o,s,l){var u=o.selectAll(\\\"text.\\\"+l).data(s);u.enter().append(\\\"text\\\").classed(l,!0);var c=0,h={};return u.each(function(a,o){var s;if(\\\"auto\\\"===a.axis.tickangle)s=Ru(i,r,n,a.xy,a.dxy);else{var l=(a.axis.tickangle+180)*Math.PI/180;s=Ru(i,r,n,a.xy,[Math.cos(l),Math.sin(l)])}o||(h={angle:s.angle,flip:s.flip});var u=(a.endAnchor?-1:1)*s.flip,f=e.select(this).attr({\\\"text-anchor\\\":u>0?\\\"start\\\":\\\"end\\\",\\\"data-notex\\\":1}).call(Sr.font,a.font).text(a.text).call(er.convertToTspans,t),p=Sr.bBox(this);f.attr(\\\"transform\\\",\\\"translate(\\\"+s.p[0]+\\\",\\\"+s.p[1]+\\\") rotate(\\\"+s.angle+\\\")translate(\\\"+a.axis.labelpadding*u+\\\",\\\"+.3*p.height+\\\")\\\"),c=Math.max(c,p.width+a.axis.labelpadding)}),u.exit().remove(),h.maxExtent=c,h}var Vu=Qe.LINE_SPACING,Uu=(1-Qe.MID_SHIFT)/Vu+1;function qu(t,r,n,i,a,o,s,l,u,c,h){var f=[];s.title&&f.push(s.title);var p=r.selectAll(\\\"text.\\\"+h).data(f),d=c.maxExtent;p.enter().append(\\\"text\\\").classed(h,!0),p.each(function(){var r=Ru(n,l,u,a,o);-1===[\\\"start\\\",\\\"both\\\"].indexOf(s.showticklabels)&&(d=0);var i=s.titlefont.size;d+=i+s.titleoffset;var h=(c.angle+(c.flip<0?180:0)-r.angle+450)%360,f=h>90&&h<270,p=e.select(this);p.text(s.title||\\\"\\\").call(er.convertToTspans,t),f&&(d=(-er.lineCount(p)+Uu)*Vu*i-d),p.attr(\\\"transform\\\",\\\"translate(\\\"+r.p[0]+\\\",\\\"+r.p[1]+\\\") rotate(\\\"+r.angle+\\\") translate(0,\\\"+d+\\\")\\\").classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"middle\\\").call(Sr.font,s.titlefont)}),p.exit().remove()}var Hu={};Hu.attributes=lu,Hu.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lu,r,n)}e._clipPathId=\\\"clip\\\"+e.uid+\\\"carpet\\\";var a=i(\\\"color\\\",C.defaultLine);if(ne.coerceFont(i,\\\"font\\\"),i(\\\"carpet\\\"),wu(t,e,n,i,a),e.a&&e.b){e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0);var o=function(t,e,r){var n=[],i=r(\\\"x\\\");i&&!Lu(i)&&n.push(\\\"x\\\"),e._cheater=!i;var a=r(\\\"y\\\");if(a&&!Lu(a)&&n.push(\\\"y\\\"),i||a)return n.length&&Pu(e,e.aaxis,e.baxis,\\\"a\\\",\\\"b\\\",n),!0}(0,e,i);Eu(e),e._cheater&&i(\\\"cheaterslope\\\"),o||(e.visible=!1)}else e.visible=!1},Hu.plot=function(t,e,r){for(var n=0;n<r.length;n++)Bu(t,e,r[n])},Hu.calc=function(t,e){var r,n=ri.getFromId(t,e.xaxis||\\\"x\\\"),i=ri.getFromId(t,e.yaxis||\\\"y\\\"),a=e.aaxis,o=e.baxis,s=e._a=e.a,l=e._b=e.b,u={},c=e.y;r=e._cheater?function(t,e,r){var n,i,a,o,s,l,u=[],c=gu(t)?t.length:t,h=gu(e)?e.length:e,f=gu(t)?t:null,p=gu(e)?e:null;f&&(a=(f.length-1)/(f[f.length-1]-f[0])/(c-1)),p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1));var d=1/0,g=-1/0;for(i=0;i<h;i++)for(u[i]=[],s=p?(p[i]-p[0])*o:i/(h-1),n=0;n<c;n++)l=(f?(f[n]-f[0])*a:n/(c-1))-s*r,d=Math.min(l,d),g=Math.max(l,g),u[i][n]=l;var v=1/(g-d),m=-d*v;for(i=0;i<h;i++)for(n=0;n<c;n++)u[i][n]=v*u[i][n]+m;return u}(\\\"index\\\"===a.cheatertype?s.length:s,\\\"index\\\"===o.cheatertype?l.length:l,e.cheaterslope):e.x;e._x=r=xu(r),e._y=c=xu(c),yu(r,s,l),yu(c,s,l),e.setScale(),u.xp=e.xp=mu(e.xp,r,n.c2p),u.yp=e.yp=mu(e.yp,c,i.c2p);var h=cu(r),f=cu(c),p=.5*(h[1]-h[0]),d=.5*(h[1]+h[0]),g=.5*(f[1]-f[0]),v=.5*(f[1]+f[0]);return h=[d-1.3*p,d+1.3*p],f=[v-1.3*g,v+1.3*g],ri.expand(n,h,{padded:!0}),ri.expand(i,f,{padded:!0}),fu(e,0,\\\"a\\\",\\\"b\\\"),fu(e,0,\\\"b\\\",\\\"a\\\"),du(0,a),du(0,o),u.clipsegments=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=t[0].length-1,h=t.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=h;i++)a[i]=t[i][c],o[i]=e[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=t[h][i],o[c-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}(e.xctrl,e.yctrl,a,o),u.x=r,u.y=c,u.a=s,u.b=l,[u]},Hu.animatable=!0,Hu.moduleType=\\\"trace\\\",Hu.name=\\\"carpet\\\",Hu.basePlotModule=ua,Hu.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"carpetAxis\\\",\\\"notLegendIsolatable\\\"],Hu.meta={};var Gu=Hu,Wu={exports:{}};!function(t,e){\\\"object\\\"==typeof Wu.exports?e(Wu.exports):e(t.topojson=t.topojson||{})}(this,function(t){\\\"use strict\\\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}function i(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(i);break;case\\\"Point\\\":n(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),u=1/0,c=u,h=-u,f=-u;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[u,c,h,f]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\\\"Feature\\\",properties:i,geometry:a}:null==n?{type:\\\"Feature\\\",id:r,properties:i,geometry:a}:{type:\\\"Feature\\\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function u(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function c(t){return t.map(u)}return function t(e){var r,n=e.type;switch(n){case\\\"GeometryCollection\\\":return{type:n,geometries:e.geometries.map(t)};case\\\"Point\\\":r=s(e.coordinates);break;case\\\"MultiPoint\\\":r=e.coordinates.map(s);break;case\\\"LineString\\\":r=l(e.arcs);break;case\\\"MultiLineString\\\":r=e.arcs.map(l);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)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=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,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var u=a===r?r:r.concat(a);n[u.start=r.start]=i[u.end=a.end]=u}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var c=a===r?r:a.concat(r);n[c.start=a.start]=i[c.end=r.end]=c}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[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\\\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\\\"MultiLineString\\\",arcs:s(t,n)}}function u(t,e){var r={},n=[],i=[];function a(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,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(o(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\\\":a(e.arcs);break;case\\\"MultiPolygon\\\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.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:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,u=1,c=l(i[0]);u<n;++u)(a=l(i[u]))>c&&(o=i[0],i[0]=i[u],i[u]=o,c=a);return i})}}var c=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r};t.bbox=n,t.feature=function(t,e){return\\\"GeometryCollection\\\"===e.type?{type:\\\"FeatureCollection\\\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,u.apply(this,arguments))},t.mergeArcs=u,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 i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(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 a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,u=0;u<l;++u)for(var h=u+1;h<l;++h){var f,p=s[u],d=s[h];(f=r[p])[o=c(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=c(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\\\"n must be \\\\u22652\\\");if(t.transform)throw new Error(\\\"already quantized\\\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function u(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function c(t){switch(t.type){case\\\"GeometryCollection\\\":t.geometries.forEach(c);break;case\\\"Point\\\":u(t.coordinates);break;case\\\"MultiPoint\\\":t.coordinates.forEach(u)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,u=1,c=t.length,h=t[0],f=h[0]=Math.round((h[0]-a)/o),p=h[1]=Math.round((h[1]-s)/l);i<c;++i)h=t[i],r=Math.round((h[0]-a)/o),n=Math.round((h[1]-s)/l),r===f&&n===p||((e=t[u++])[0]=r-f,f=r,e[1]=n-p,p=n);u<2&&((e=t[u++])[0]=0,e[1]=0),t.length=u}),t.objects)c(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),u=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=u-i,i=u,t}},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),Wu=Wu.exports;var Yu={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\\\"},axesNames:[\\\"lonaxis\\\",\\\"lataxis\\\"],lonaxisSpan:{orthographic:180,\\\"azimuthal equal area\\\":360,\\\"azimuthal equidistant\\\":360,\\\"conic conformal\\\":180,gnomonic:160,stereographic:180,\\\"transverse mercator\\\":180,\\\"*\\\":360},lataxisSpan:{\\\"conic conformal\\\":150,stereographic:179.5,\\\"*\\\":180},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]}},clipPad:.001,precision:.1,landColor:\\\"#F0DC82\\\",waterColor:\\\"#3399FF\\\",locationmodeToLayer:{\\\"ISO-3\\\":\\\"countries\\\",\\\"USA-states\\\":\\\"subunits\\\",\\\"country names\\\":\\\"countries\\\"},sphereSVG:{type:\\\"Sphere\\\"},fillLayers:{ocean:1,land:1,lakes:1},lineLayers:{subunits:1,countries:1,coastlines:1,rivers:1,frame:1},layers:[\\\"bg\\\",\\\"ocean\\\",\\\"land\\\",\\\"lakes\\\",\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"rivers\\\",\\\"lataxis\\\",\\\"lonaxis\\\",\\\"frame\\\",\\\"backplot\\\",\\\"frontplot\\\"],layersForChoropleth:[\\\"bg\\\",\\\"ocean\\\",\\\"land\\\",\\\"subunits\\\",\\\"countries\\\",\\\"coastlines\\\",\\\"lataxis\\\",\\\"lonaxis\\\",\\\"frame\\\",\\\"backplot\\\",\\\"rivers\\\",\\\"lakes\\\",\\\"frontplot\\\"],layerNameToAdjective:{ocean:\\\"ocean\\\",land:\\\"land\\\",lakes:\\\"lake\\\",subunits:\\\"subunit\\\",countries:\\\"country\\\",coastlines:\\\"coastline\\\",rivers:\\\"river\\\",frame:\\\"frame\\\"}},Xu={},Zu=Xu={},Ju=Yu.locationmodeToLayer,Ku=Wu.feature;Zu.getTopojsonName=function(t){return[t.scope.replace(/ /g,\\\"-\\\"),\\\"_\\\",t.resolution.toString(),\\\"m\\\"].join(\\\"\\\")},Zu.getTopojsonPath=function(t,e){return t+e+\\\".json\\\"},Zu.getTopojsonFeatures=function(t,e){var r=Ju[t.locationmode],n=e.objects[r];return Ku(e,n).features};var Qu=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\\\")}}};var $u={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]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\\\"Polygon\\\"===e.type)return t.polygon(r(e.coordinates));if(\\\"MultiPolygon\\\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));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 i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(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 a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var c=[];function h(t){var e=[u(t.region,!1)];c.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 u(t.region,!0)}for(s=0;s<a.children.length;s++)h(a.children[s]);return c.length<=0?{type:\\\"Polygon\\\",coordinates:[]}:1==c.length?{type:\\\"Polygon\\\",coordinates:c[0]}:{type:\\\"MultiPolygon\\\",coordinates:c}}},tc={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,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.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}};var ec=function(t,e,r){function n(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=tc.create();function a(t,r){i.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function o(t,e){var r=function(t,e){var r=tc.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return a(r,t.end),r}(t,e);return function(t,e,r){var n=tc.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=n,a(n,t.pt)}(r,t,e),r}function s(t,e){var i=n(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,a(t.other,t.pt)}(t,e),o(i,t.primary)}function l(n,a){var o=tc.create();function l(t){return o.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,l=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var h=e.linesIntersect(o,l,u,c);if(!1===h){if(!e.pointsCollinear(o,l,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(l,u))return!1;var f=e.pointsSame(o,u),p=e.pointsSame(l,c);if(f&&p)return n;var d=!f&&e.pointBetween(o,u,c),g=!p&&e.pointBetween(l,u,c);if(f)return g?s(n,l):s(t,c),n;d&&(p||(g?s(n,l):s(t,c)),s(n,o))}else 0===h.alongA&&(-1===h.alongB?s(t,u):0===h.alongB?s(t,h.pt):1===h.alongB&&s(t,c)),0===h.alongB&&(-1===h.alongA?s(n,o):0===h.alongA?s(n,h.pt):1===h.alongA&&s(n,l));return!1}for(var c=[];!i.isEmpty();){var h=i.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var f=l(h),p=f.before?f.before.ev:null,d=f.after?f.after.ev:null;function g(){if(p){var t=u(h,p);if(t)return t}return!!d&&u(h,d)}r&&r.tempStatus(h.seg,!!p&&p.seg,!!d&&d.seg);var v,m,y=g();if(y)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove();if(i.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=d?d.seg.myFill.above:n,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=d?h.primary===d.primary?d.seg.otherFill.above:d.seg.myFill.above:h.primary?a:n,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!p&&p.seg,!!d&&d.seg),h.other.status=f.insert(tc.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(\\\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\\\");if(o.exists(x.prev)&&o.exists(x.next)&&u(x.prev.ev,x.next.ev),r&&r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}c.push(h.seg)}i.getHead().remove()}return r&&r.done(),c}return t?{addRegion:function(t){for(var n,i,a,s=t[t.length-1],l=0;l<t.length;l++){n=s,s=t[l];var u=e.pointsCompare(n,s);0!==u&&o((i=u<0?n:s,a=u<0?s:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return l(t,!1)}}:{calculate:function(t,e,r,i){return t.forEach(function(t){o(n(t.start,t.end,t),!0)}),r.forEach(function(t){o(n(t.start,t.end,t),!1)}),l(e,i)}}};var rc=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,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},u=s,c=0;c<n.length;c++){var h=(v=n[c])[0],f=(v[1],v[v.length-1]);if(v[v.length-2],e.pointsSame(h,a)){if(A(c,!0,!0))break}else if(e.pointsSame(h,o)){if(A(c,!0,!1))break}else if(e.pointsSame(f,a)){if(A(c,!1,!0))break}else if(e.pointsSame(f,o)&&A(c,!1,!1))break}if(u===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(u===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,v=n[p],m=g?v[0]:v[v.length-1],y=g?v[1]:v[v.length-2],x=g?v[v.length-1]:v[0],b=g?v[v.length-2]:v[1];return e.pointsCollinear(y,m,d)&&(g?(r&&r.chainRemoveHead(s.index,d),v.shift()):(r&&r.chainRemoveTail(s.index,d),v.pop()),m=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,m)&&(g?(r&&r.chainRemoveTail(s.index,m),v.pop()):(r&&r.chainRemoveHead(s.index,m),v.shift())),r&&r.chainClose(s.index),void i.push(v)):void(g?(r&&r.chainAddHead(s.index,d),v.unshift(d)):(r&&r.chainAddTail(s.index,d),v.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var M=n[_].length<n[w].length;s.matches_head?l.matches_head?M?(k(_),T(_,w)):(k(w),T(w,_)):T(w,_):l.matches_head?T(_,w):M?(k(_),T(w,_)):(k(w),T(_,w))}function A(t,e,r){return u.index=t,u.matches_head=e,u.matches_pt1=r,u===s?(u=l,!1):(u=null,!0)}function k(t){r&&r.chainReverse(t),n[t].reverse()}function T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],u=o[0],c=o[1];e.pointsCollinear(l,s,u)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,u,c)&&(r&&r.chainRemoveHead(i,u),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i};function nc(t,e,r){var n=[];return t.forEach(function(t){var i=(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[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var ic,ac={union:function(t,e){return nc(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return nc(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return nc(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return nc(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return nc(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}},oc=!1,sc=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 i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+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 i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],u=a*l-o*s;if(Math.abs(u)<t)return!1;var c=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*c)/u,p=(a*h-o*c)/u,d={alongA:0,alongB:0,pt:[e[0]+f*a,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],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var u=r[l][0],c=r[l][1];c-i>t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}();function lc(t,e,r){var n=ic.segments(t),i=ic.segments(e),a=r(ic.combine(n,i));return ic.polygon(a)}ic={buildLog:function(t){return!0===t?oc=Qu():!1===t&&(oc=!1),!1!==oc&&oc.list},epsilon:function(t){return sc.epsilon(t)},segments:function(t){var e=ec(!0,sc,oc);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:ec(!1,sc,oc).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:ac.union(t.combined,oc),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:ac.intersect(t.combined,oc),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:ac.difference(t.combined,oc),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:ac.differenceRev(t.combined,oc),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:ac.xor(t.combined,oc),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:rc(t.segments,sc,oc),inverted:t.inverted}},polygonFromGeoJSON:function(t){return $u.toPolygon(ic,t)},polygonToGeoJSON:function(t){return $u.fromPolygon(ic,sc,t)},union:function(t,e){return lc(t,e,ic.selectUnion)},intersect:function(t,e){return lc(t,e,ic.selectIntersect)},difference:function(t,e){return lc(t,e,ic.selectDifference)},differenceRev:function(t,e){return lc(t,e,ic.selectDifferenceRev)},xor:function(t,e){return lc(t,e,ic.selectXor)}},\\\"object\\\"==typeof window&&(window.PolyBool=ic);var uc=ic,cc={},hc=Vt.dot,fc=t.BADNUM,pc=cc={};pc.tester=function(t){if(Array.isArray(t[0][0]))return pc.multitester(t);var e,r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a;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]),a=Math.min(a,r[e][1]),o=Math.max(o,r[e][1]);var s,l=!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]&&(l=!0,s=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]&&(l=!0,s=function(t){return t[1]===r[0][1]}));var u=!0,c=r[0];for(e=1;e<r.length;e++)if(c[0]!==r[e][0]||c[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?function(t,e){var r=t[0],l=t[1];return!(r===fc||r<n||r>i||l===fc||l<a||l>o||e&&s(t))}:function(t,e){var s=t[0],l=t[1];if(s===fc||s<n||s>i||l===fc||l<a||l>o)return!1;var u,c,h,f,p,d=r.length,g=r[0][0],v=r[0][1],m=0;for(u=1;u<d;u++)if(c=g,h=v,g=r[u][0],v=r[u][1],!(s<(f=Math.min(c,g))||s>Math.max(c,g)||l>Math.max(h,v)))if(l<Math.min(h,v))s!==f&&m++;else{if(l===(p=g===c?l:h+(s-c)*(v-h)/(g-c)))return 1!==u||!e;l<=p&&s!==f&&m++}return m%2==1},isRect:l,degenerate:u}},pc.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],a=i,o=0;o<t.length;o++){var s=pc.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r){for(var n=!1,i=0;i<e.length;i++)e[i].contains(t,r)&&(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var dc=pc.isSegmentBent=function(t,e,r,n){var i,a,o,s=t[e],l=[t[r][0]-s[0],t[r][1]-s[1]],u=hc(l,l),c=Math.sqrt(u),h=[-l[1]/c,l[0]/c];for(i=e+1;i<r;i++)if(a=[t[i][0]-s[0],t[i][1]-s[1]],(o=hc(a,l))<0||o>u||Math.abs(hc(a,h))>n)return!0;return!1};pc.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var o=r.length,s=n;r.splice(i+1);for(var l=s+1;l<t.length;l++)(l===t.length-1||dc(t,s,l+1,e))&&(r.push(t[l]),r.length<o-2&&(n=l,i=r.length-1),s=l)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}};var gc=Ya.makeEventData,vc=cc.filter,mc=cc.tester,yc=cc.multitester,xc=Te.MINSELECT;function bc(t){return t._id}var _c=function(t,e,r,n,i){var a,o,s,l,u=n.gd,c=u._fullLayout,h=c._zoomlayer,f=n.element.getBoundingClientRect(),p=n.plotinfo,d=p.xaxis._offset,g=p.yaxis._offset,v=e-f.left,m=r-f.top,y=v,x=m,b=\\\"M\\\"+v+\\\",\\\"+m,_=n.xaxes[0]._length,w=n.yaxes[0]._length,M=n.xaxes.map(bc),A=n.yaxes.map(bc),k=n.xaxes.concat(n.yaxes),T=t.altKey;(t.shiftKey||t.altKey)&&p.selection&&p.selection.polygons&&!n.polygons?(n.polygons=p.selection.polygons,n.mergedPolygons=p.selection.mergedPolygons):(!t.shiftKey&&!t.altKey||(t.shiftKey||t.altKey)&&!p.selection)&&(p.selection={},p.selection.polygons=n.polygons=[],p.selection.mergedPolygons=n.mergedPolygons=[]),\\\"lasso\\\"===i&&(a=vc([[v,m]],Te.BENDPX));var S=h.selectAll(\\\"path.select-outline-\\\"+p.id).data([1,2]);S.enter().append(\\\"path\\\").attr(\\\"class\\\",function(t){return\\\"select-outline select-outline-\\\"+t+\\\" select-outline-\\\"+p.id}).attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\", \\\"+g+\\\")\\\").attr(\\\"d\\\",b+\\\"Z\\\");var E,C,L,z,P,I,D=h.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":1}).attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\", \\\"+g+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),O=[],R=c._uid+Te.SELECTID,F=[];for(E=0;E<u.calcdata.length;E++)if(!0===(L=(C=u.calcdata[E])[0].trace).visible&&L._module&&L._module.selectPoints)if(n.subplot)L.subplot!==n.subplot&&L.geo!==n.subplot||O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:n.xaxes[0],yaxis:n.yaxes[0]});else{if(-1===M.indexOf(L.xaxis))continue;if(-1===A.indexOf(L.yaxis))continue;O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:ri.getFromId(u,L.xaxis),yaxis:ri.getFromId(u,L.yaxis)})}function B(t){var e=\\\"y\\\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function N(t,e){return t-e}I=p.fillRangeItems?p.fillRangeItems:\\\"select\\\"===i?function(t,e){var r=t.range={};for(E=0;E<k.length;E++){var n=k[E],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\\\"min\\\"]),n.p2d(e[i+\\\"max\\\"])].sort(N)}}:function(t,e,r){var n=t.lassoPoints={};for(E=0;E<k.length;E++){var i=k[E];n[i._id]=r.filtered.map(B(i))}},n.moveFn=function(t,e){y=Math.max(0,Math.min(_,t+v)),x=Math.max(0,Math.min(w,e+m));var r=Math.abs(y-v),c=Math.abs(x-m);\\\"select\\\"===i?c<Math.min(.6*r,xc)?((l=[[v,0],[v,w],[y,w],[y,0]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(0,w),l.ymax=Math.max(0,w),D.attr(\\\"d\\\",\\\"M\\\"+l.xmin+\\\",\\\"+(m-xc)+\\\"h-4v\\\"+2*xc+\\\"h4ZM\\\"+(l.xmax-1)+\\\",\\\"+(m-xc)+\\\"h4v\\\"+2*xc+\\\"h-4Z\\\")):r<Math.min(.6*c,xc)?((l=[[0,m],[0,x],[_,x],[_,m]]).xmin=Math.min(0,_),l.xmax=Math.max(0,_),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\\\"d\\\",\\\"M\\\"+(v-xc)+\\\",\\\"+l.ymin+\\\"v-4h\\\"+2*xc+\\\"v4ZM\\\"+(v-xc)+\\\",\\\"+(l.ymax-1)+\\\"v4h\\\"+2*xc+\\\"v-4Z\\\")):((l=[[v,m],[v,x],[y,x],[y,m]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\\\"d\\\",\\\"M0,0Z\\\")):\\\"lasso\\\"===i&&(a.addPt([y,x]),l=a.filtered),n.polygons&&n.polygons.length?(s=function(t,e,r){if(r)return uc.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return uc.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(n.mergedPolygons,l,T),l.subtract=T,o=yc(n.polygons.concat([l]))):(s=[l],o=mc(l));var h=[];for(E=0;E<s.length;E++){var f=s[E];h.push(f.join(\\\"L\\\")+\\\"L\\\"+f[0])}S.attr(\\\"d\\\",\\\"M\\\"+h.join(\\\"M\\\")+\\\"Z\\\"),$t.throttle(R,Te.SELECTDELAY,function(){F=[];var t,e,r=[];for(E=0;E<O.length;E++)if(e=(z=O[E]).selectPoints(z,o),r.push(e),t=Mc(e,z),F.length)for(var i=0;i<t.length;i++)F.push(t[i]);else F=t;wc(u,O,P={points:F}),I(P,l,a),n.gd.emit(\\\"plotly_selecting\\\",P)})},n.clickFn=function(t,e){D.remove(),$t.done(R).then(function(){if($t.clear(R),2===t){for(S.remove(),E=0;E<O.length;E++)(z=O[E]).selectPoints(z,!1);wc(u,O),u.emit(\\\"plotly_deselect\\\",null)}else u.emit(\\\"plotly_selected\\\",void 0);yo.click(u,e)})},n.doneFn=function(){D.remove(),$t.done(R).then(function(){$t.clear(R),n.gd.emit(\\\"plotly_selected\\\",P),l&&n.polygons&&(l.subtract=T,n.polygons.push(l),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,s))})}};function wc(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n<e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n<o.length;n++){var s=o[n],l=s.data,u=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(u.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),u.selectedpoints.push(s.pointIndex))}}else for(n=0;n<e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&&e[n].cd[0].t.scene&&e[n].cd[0].t.scene.clearSelect();for(n=0;n<e.length;n++)(i=e[n]).style&&i.style(t,i.cd)}function Mc(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=gc(t[i],n,r);return t}var Ac=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(!u.hasOwnProperty(e.type))return null;var i=u[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\\\"not yet supported\\\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\\\"FeatureCollection\\\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\\\"Point\\\",coordinates:i[0]}:{type:\\\"MultiPoint\\\",coordinates:i}:null;return i=[],t}},s={lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\\\"LineString\\\",coordinates:a[0]}:{type:\\\"MultiLineString\\\",coordinates:a}:null;return a=[],t}},l={polygonStart:c,lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:c,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++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],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],u=l[0],c=l[1],h=t[s],f=h[0],p=h[1];c>n^p>n&&r<(f-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],t.length?t.length>1?{type:\\\"MultiPolygon\\\",coordinates:t}:{type:\\\"Polygon\\\",coordinates:t[0]}:null}},u={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function c(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>h;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],u=0,c=o.length;u<c;++u){var h=o[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=a&&a<h[1][1]){var f=e.invert(t-e(s[u][1][0],0)[0],a);return f[0]+=s[u][1][0],l(i(f[0],f[1]),[t,a])?f:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var u=0;u<e;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[l+e,u+e],[l+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,c+e],[l+e,c+e],[l+e,u-e]],30))}return{type:\\\"Polygon\\\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),m((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function M(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return A;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function A(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--i>0);return e/2}}A.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=b(M),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=M,k.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(k)}).raw=k,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var E=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=m(i/e);return[n/(t*Math.cos(a)),m((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function C(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 x(E)}).raw=E,C.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(C)}).raw=C;var L=[[.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 z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],u=r[1],c=(r=L[Math.min(19,++i)])[0],h=r[1];return[t*(l+a*(c-o)/2+a*a*(c-2*l+o)/2),(e>0?d:-d)*(u+a*(h-s)/2+a*a*(h-2*u+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function I(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function D(t,e){var r=I(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,p=c/u,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===a){n=(e>=0?5:-5)*(m+i);var y,x=50;do{m=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,I.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),u=Math.sin(n),c=Math.cos(n),f=Math.sin(2*n),d=u*u,g=c*c,v=s*s,m=1-g*l*l,x=m?y(c*l)*Math.sqrt(a=1/m):a=0,b=2*x*c*s-t,_=x*u-e,w=a*(g*v+x*c*l*d),M=a*(.5*o*f-2*x*u*s),A=.25*a*(f*s-x*u*g*o),k=a*(d*l+x*v*c),T=M*A-k*w;if(!T)break;var S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(I)}).raw=I,D.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),u=s*s,c=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-c*p*p,x=m?y(o*p)*Math.sqrt(a=1/m):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(c*v+x*o*p*u)+.5/d,M=a*(f*l/4-x*s*g),A=.125*a*(l*g-x*s*c*f),k=.5*a*(u*p+x*v*o)+.5,T=M*A-k*w,S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(D)}).raw=D},kc=Math.PI/180,Tc=180/Math.PI,Sc={cursor:\\\"pointer\\\"},Ec={cursor:\\\"auto\\\"};var Cc=function(t,e){var r=t.projection;return(e._isScoped?Pc:e._isClipped?Dc:Ic)(t,r)};function Lc(t,r){return e.behavior.zoom().translate(r.translate()).scale(r.scale())}function zc(t,e,r){var n=t.id,i=t.graphDiv,a=i.layout[n],o=i._fullLayout[n],s={};function l(t,e){var r=ne.nestedProperty(o,t);r.get()!==e&&(r.set(e),ne.nestedProperty(a,t).set(e),s[n+\\\".\\\"+t]=e)}r(l),l(\\\"projection.scale\\\",e.scale()/t.fitScale),i.emit(\\\"plotly_relayout\\\",s)}function Pc(t,r){var n=Lc(0,r);function i(e){var n=r.invert(t.midPt);e(\\\"center.lon\\\",n[0]),e(\\\"center.lat\\\",n[1])}return n.on(\\\"zoomstart\\\",function(){e.select(this).style(Sc)}).on(\\\"zoom\\\",function(){r.scale(e.event.scale).translate(e.event.translate),t.render()}).on(\\\"zoomend\\\",function(){e.select(this).style(Ec),zc(t,r,i)}),n}function Ic(t,r){var n,i,a,o,s,l,u,c,h=Lc(0,r),f=2;function p(t){return r.invert(t)}function d(e){var n=r.rotate(),i=r.invert(t.midPt);e(\\\"projection.rotation.lon\\\",-n[0]),e(\\\"center.lon\\\",i[0]),e(\\\"center.lat\\\",i[1])}return h.on(\\\"zoomstart\\\",function(){e.select(this).style(Sc),n=e.mouse(this),i=r.rotate(),a=r.translate(),o=i,s=p(n)}).on(\\\"zoom\\\",function(){if(l=e.mouse(this),g=r(p(d=n)),Math.abs(g[0]-d[0])>f||Math.abs(g[1]-d[1])>f)return h.scale(r.scale()),void h.translate(r.translate());var d,g;r.scale(e.event.scale),r.translate([a[0],e.event.translate[1]]),s?p(l)&&(c=p(l),u=[o[0]+(c[0]-s[0]),i[1],i[2]],r.rotate(u),o=u):s=p(n=l),t.render()}).on(\\\"zoomend\\\",function(){e.select(this).style(Ec),zc(t,r,d)}),h}function Dc(t,r){var n,i={r:r.rotate(),k:r.scale()},a=Lc(0,r),o=function(t){var r=0,n=arguments.length,i=[];for(;++r<n;)i.push(arguments[r]);var a=e.dispatch.apply(null,i);return a.of=function(r,n){return function(i){var o;try{o=i.sourceEvent=e.event,i.target=t,e.event=i,a[i.type].apply(r,n)}finally{e.event=o}}},a}(a,\\\"zoomstart\\\",\\\"zoom\\\",\\\"zoomend\\\"),s=0,l=a.on;function u(t){var e=r.rotate();t(\\\"projection.rotation.lon\\\",-e[0]),t(\\\"projection.rotation.lat\\\",-e[1])}return a.on(\\\"zoomstart\\\",function(){e.select(this).style(Sc);var t,u,c,h,f,p,d,g,v,m,y,x=e.mouse(this),b=r.rotate(),_=b,w=r.translate(),M=(u=.5*(t=b)[0]*kc,c=.5*t[1]*kc,h=.5*t[2]*kc,f=Math.sin(u),p=Math.cos(u),d=Math.sin(c),g=Math.cos(c),v=Math.sin(h),m=Math.cos(h),[p*g*m+f*d*v,f*g*m-p*d*v,p*d*m+f*g*v,p*g*v-f*d*m]);n=Oc(r,x),l.call(a,\\\"zoom\\\",function(){var t,a,s,l,u,c,h,f,p,d,g=e.mouse(this);if(r.scale(i.k=e.event.scale),n){if(Oc(r,g)){r.rotate(b).translate(w);var v=Oc(r,g),m=function(t,e){if(!t||!e)return;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(Nc(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,Nc(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(n,v),y=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*Tc,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*Tc,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*Tc]}((a=m,s=(t=M)[0],l=t[1],u=t[2],c=t[3],h=a[0],f=a[1],p=a[2],d=a[3],[s*h-l*f-u*p-c*d,s*f+l*h+u*d-c*p,s*p-l*d+u*h+c*f,s*d+l*p-u*f+c*h])),A=i.r=function(t,e,r){var n=Bc(e,2,t[0]);n=Bc(n=Bc(n,1,t[1]),0,t[2]-r[2]);var i,a,o=e[0],s=e[1],l=e[2],u=n[0],c=n[1],h=n[2],f=Math.atan2(s,o)*Tc,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*Tc-f,i=Math.sqrt(p*p-c*c));var d=180-a-2*f,g=(Math.atan2(h,u)-Math.atan2(l,i))*Tc,v=(Math.atan2(h,u)-Math.atan2(l,-i))*Tc,m=Rc(r[0],r[1],a,g),y=Rc(r[0],r[1],d,v);return m<=y?[a,g,r[2]]:[d,v,r[2]]}(y,n,_);isFinite(A[0])&&isFinite(A[1])&&isFinite(A[2])||(A=_),r.rotate(A),_=A}}else n=Oc(r,x=g);o.of(this,arguments)({type:\\\"zoom\\\"})}),y=o.of(this,arguments),s++||y({type:\\\"zoomstart\\\"})}).on(\\\"zoomend\\\",function(){var n;e.select(this).style(Ec),l.call(a,\\\"zoom\\\",null),n=o.of(this,arguments),--s||n({type:\\\"zoomend\\\"}),zc(t,r,u)}).on(\\\"zoom.redraw\\\",function(){t.render()}),e.rebind(a,o,\\\"on\\\")}function Oc(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*kc,r=t[1]*kc,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function Rc(t,e,r,n){var i=Fc(r-t),a=Fc(n-e);return Math.sqrt(i*i+a*a)}function Fc(t){return(t%360+540)%360-180}function Bc(t,e,r){var n=r*kc,i=t.slice(),a=0===e?1:0,o=2===e?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=t[a]*s-t[o]*l,i[o]=t[o]*s+t[a]*l,i}function Nc(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}var jc=Wu.feature;function Vc(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.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()}Ac(e);var Uc=Vc.prototype;Uc.plot=function(t,e,r){var n=this,i=e[this.id],a=Xu.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},Uc.fetchTopojson=function(){var t=Xu.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(r,n){e.json(t,function(e,i){if(e)return 404===e.status?n(new Error([\\\"plotly.js could not find topojson file at\\\",t,\\\".\\\",\\\"Make sure the *topojsonURL* plot config option\\\",\\\"is set properly.\\\"].join(\\\" \\\"))):n(new Error([\\\"unexpected error while fetching topojson file at\\\",t].join(\\\" \\\")));r(i)})})},Uc.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\\\"choropleth\\\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\\\".scatterlayer\\\");this.dataPoints.point=i.selectAll(\\\".point\\\"),this.dataPoints.text=i.selectAll(\\\"text\\\"),this.dataPaths.line=i.selectAll(\\\".js-line\\\");var a=this.layers.backplot.select(\\\".choroplethlayer\\\");this.dataPaths.choropleth=a.selectAll(\\\"path\\\"),this.render()}},Uc.updateProjection=function(t,r){var n=t._size,i=r.domain,a=r.projection,o=a.rotation||{},s=r.center||{},l=this.projection=function(t){for(var r=t.projection.type,n=e.geo[Yu.projNames[r]](),i=t._isClipped?Yu.lonaxisSpan[r]/2:null,a=[\\\"center\\\",\\\"rotate\\\",\\\"parallels\\\",\\\"clipExtent\\\"],o=function(t){return t?n:[]},s=0;s<a.length;s++){var l=a[s];\\\"function\\\"!=typeof n[l]&&(n[l]=o)}n.isLonLatOverEdges=function(t){if(null===n(t))return!0;if(i){var r=n.rotate();return e.geo.distance(t,[-r[0],-r[1]])>i*Math.PI/180}return!1},n.getPath=function(){return e.geo.path().projection(n)},n.getBounds=function(t){return n.getPath().bounds(t)},n.fitExtent=function(t,e){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),a&&n.clipExtent(null);var o=n.getBounds(e),s=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(r-s*(o[1][0]+o[0][0]))/2,u=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&n.clipExtent(a),n.scale(150*s).translate([l,u])},n.precision(Yu.precision),i&&n.clipAngle(i-Yu.clipPad);return n}(r);l.center([s.lon-o.lon,s.lat-o.lat]).rotate([-o.lon,-o.lat,o.roll]).parallels(a.parallels);var u=[[n.l+n.w*i.x[0],n.t+n.h*(1-i.y[1])],[n.l+n.w*i.x[1],n.t+n.h*(1-i.y[0])]],c=r.lonaxis,h=r.lataxis,f=function(t,e){var r=Yu.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\\\"Polygon\\\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(c.range,h.range);l.fitExtent(u,f);var p=this.bounds=l.getBounds(f),d=this.fitScale=l.scale(),g=l.translate();if(!isFinite(p[0][0])||!isFinite(p[0][1])||!isFinite(p[1][0])||!isFinite(p[1][1])||isNaN(g[0])||isNaN(g[0])){for(var v=this.graphDiv,m=[\\\"projection.rotation\\\",\\\"center\\\",\\\"lonaxis.range\\\",\\\"lataxis.range\\\"],y=\\\"Invalid geo settings, relayout'ing to default view.\\\",x={},b=0;b<m.length;b++)x[this.id+\\\".\\\"+m[b]]=null;return this.viewInitial=null,ne.warn(y),v._promises.push(P.call(\\\"relayout\\\",v,x)),y}var _=this.midPt=[(p[0][0]+p[1][0])/2,(p[0][1]+p[1][1])/2];if(l.scale(a.scale*d).translate([g[0]+(_[0]-g[0]),g[1]+(_[1]-g[1])]).clipExtent(p),r._isAlbersUsa){var w=l([s.lon,s.lat]),M=l.translate();l.translate([M[0]-(w[0]-M[0]),M[1]-(w[1]-M[1])])}},Uc.updateBaseLayers=function(t,r){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(t){return\\\"lonaxis\\\"===t||\\\"lataxis\\\"===t}function l(t){return Boolean(Yu.lineLayers[t])}function u(t){return Boolean(Yu.fillLayers[t])}var c=(this.hasChoropleth?Yu.layersForChoropleth:Yu.layers).filter(function(t){return l(t)||u(t)?r[\\\"show\\\"+t]:!s(t)||r[t].showgrid}),h=n.framework.selectAll(\\\".layer\\\").data(c,String);h.exit().each(function(t){delete a[t],delete o[t],e.select(this).remove()}),h.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"layer \\\"+t}).each(function(t){var r=a[t]=e.select(this);\\\"bg\\\"===t?n.bgRect=r.append(\\\"rect\\\").style(\\\"pointer-events\\\",\\\"all\\\"):s(t)?o[t]=r.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\"):\\\"backplot\\\"===t?r.append(\\\"g\\\").classed(\\\"choroplethlayer\\\",!0):\\\"frontplot\\\"===t?r.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0):l(t)?o[t]=r.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\").style(\\\"stroke-miterlimit\\\",2):u(t)&&(o[t]=r.append(\\\"path\\\").style(\\\"stroke\\\",\\\"none\\\"))}),h.order(),h.each(function(t){var n=o[t],a=Yu.layerNameToAdjective[t];\\\"frame\\\"===t?n.datum(Yu.sphereSVG):l(t)||u(t)?n.datum(jc(i,i.objects[t])):s(t)&&n.datum(function(t,r){var n=r[t].dtick,i=Yu.scopeDefaults[r.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\\\"lonaxis\\\"===t?[n]:[0,n];return e.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,r)).call(Oe.stroke,r[t].gridcolor).call(Sr.dashLine,\\\"\\\",r[t].gridwidth),l(t)?n.call(Oe.stroke,r[a+\\\"color\\\"]).call(Sr.dashLine,\\\"\\\",r[a+\\\"width\\\"]):u(t)&&n.call(Oe.fill,r[a+\\\"color\\\"])})},Uc.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;Sr.setRect(this.clipRect,i,a,o,s),this.bgRect.call(Sr.setRect,i,a,o,s).call(Oe.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s},Uc.updateFx=function(t,r){var n=this,i=n.graphDiv,a=n.bgRect,o=t.dragmode;if(!n.isStatic){if(\\\"pan\\\"===o)a.node().onmousedown=null,a.call(Cc(n,r)),a.on(\\\"dblclick.zoom\\\",function(){var t=n.viewInitial,e={};for(var r in t)e[n.id+\\\".\\\"+r]=t[r];P.call(\\\"relayout\\\",i,e),i.emit(\\\"plotly_doubleclick\\\",null)});else if(\\\"select\\\"===o||\\\"lasso\\\"===o){var s;a.on(\\\".zoom\\\",null),\\\"select\\\"===o?s=function(t,e){(t.range={})[n.id]=[u([e.xmin,e.ymin]),u([e.xmax,e.ymax])]}:\\\"lasso\\\"===o&&(s=function(t,e,r){(t.lassoPoints={})[n.id]=r.filtered.map(u)});var l={element:n.bgRect.node(),gd:i,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis,fillRangeItems:s},xaxes:[n.xaxis],yaxes:[n.yaxis],subplot:n.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\\\".select-outline\\\").remove()},prepFn:function(t,e,r){_c(t,e,r,l,o)}};Ua.init(l)}a.on(\\\"mousemove\\\",function(){var t=n.projection.invert(e.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return Ua.unhover(i,e.event);n.xaxis.p2c=function(){return t[0]},n.yaxis.p2c=function(){return t[1]},yo.hover(i,e.event,n.id)}),a.on(\\\"mouseout\\\",function(){Ua.unhover(i,e.event)}),a.on(\\\"click\\\",function(){yo.click(i,e.event)})}function u(t){return n.projection.invert([t[0]+n.xaxis._offset,t[1]+n.yaxis._offset])}},Uc.makeFramework=function(){var t=this,r=t.graphDiv._fullLayout,n=\\\"clip\\\"+r._uid+t.id;t.clipDef=r._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",n),t.clipRect=t.clipDef.append(\\\"rect\\\"),t.framework=e.select(t.container).append(\\\"g\\\").attr(\\\"class\\\",\\\"geo \\\"+t.id).call(Sr.setClipUrl,n),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\\\"},ri.setConvert(t.mockAxis,r)},Uc.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale}:t._isClipped?this.viewInitial={\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon,\\\"projection.rotation.lat\\\":n.lat}:this.viewInitial={\\\"center.lon\\\":e.lon,\\\"center.lat\\\":e.lat,\\\"projection.scale\\\":r.scale,\\\"projection.rotation.lon\\\":n.lon}},Uc.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 i(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\\\",i).attr(\\\"transform\\\",n)};var qc={},Hc=m.extendFlat;qc.attributes=function(t,e){t=t||{},e=e||{};var r={valType:\\\"info_array\\\",editType:t.editType,items:[{valType:\\\"number\\\",min:0,max:1,editType:t.editType},{valType:\\\"number\\\",min:0,max:1,editType:t.editType}],dflt:[0,1]},n=(t.name&&t.name,t.trace,e.description&&e.description,{x:Hc({},r,{}),y:Hc({},r,{}),editType:t.editType});return t.noGridCell||(n.row={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType},n.column={valType:\\\"integer\\\",min:0,dflt:0,editType:t.editType}),n},qc.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\\\"domain.column\\\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\\\"domain.row\\\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\\\"domain.x\\\",i),r(\\\"domain.y\\\",a)};var Gc=qc.attributes,Wc=ye.overrideAll,Yc={range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\"},{valType:\\\"number\\\"}]},showgrid:{valType:\\\"boolean\\\",dflt:!1},tick0:{valType:\\\"number\\\"},dtick:{valType:\\\"number\\\"},gridcolor:{valType:\\\"color\\\",dflt:C.lightLine},gridwidth:{valType:\\\"number\\\",min:0,dflt:1}},Xc=Wc({domain:Gc({name:\\\"geo\\\"},{}),resolution:{valType:\\\"enumerated\\\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\\\"enumerated\\\",values:Object.keys(Yu.scopeDefaults),dflt:\\\"world\\\"},projection:{type:{valType:\\\"enumerated\\\",values:Object.keys(Yu.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\\\"}},showcoastlines:{valType:\\\"boolean\\\"},coastlinecolor:{valType:\\\"color\\\",dflt:C.defaultLine},coastlinewidth:{valType:\\\"number\\\",min:0,dflt:1},showland:{valType:\\\"boolean\\\",dflt:!1},landcolor:{valType:\\\"color\\\",dflt:Yu.landColor},showocean:{valType:\\\"boolean\\\",dflt:!1},oceancolor:{valType:\\\"color\\\",dflt:Yu.waterColor},showlakes:{valType:\\\"boolean\\\",dflt:!1},lakecolor:{valType:\\\"color\\\",dflt:Yu.waterColor},showrivers:{valType:\\\"boolean\\\",dflt:!1},rivercolor:{valType:\\\"color\\\",dflt:Yu.waterColor},riverwidth:{valType:\\\"number\\\",min:0,dflt:1},showcountries:{valType:\\\"boolean\\\"},countrycolor:{valType:\\\"color\\\",dflt:C.defaultLine},countrywidth:{valType:\\\"number\\\",min:0,dflt:1},showsubunits:{valType:\\\"boolean\\\"},subunitcolor:{valType:\\\"color\\\",dflt:C.defaultLine},subunitwidth:{valType:\\\"number\\\",min:0,dflt:1},showframe:{valType:\\\"boolean\\\"},framecolor:{valType:\\\"color\\\",dflt:C.defaultLine},framewidth:{valType:\\\"number\\\",min:0,dflt:1},bgcolor:{valType:\\\"color\\\",dflt:C.background},lonaxis:Yc,lataxis:Yc},\\\"plot\\\",\\\"from-root\\\"),Zc=qc.defaults,Jc=function(t,e,r,n){var i,a,o=n.type,s=n.attributes,l=n.handleDefaults,u=n.partition||\\\"x\\\",c=e._subplots[o],h=c.length;function f(t,e){return ne.coerce(i,a,s,t,e)}for(var p=0;p<h;p++){var d=c[p];i=t[d]?t[d]:t[d]={},e[d]=a={};var g={};g[u]=[p/h,(p+1)/h],Zc(a,e,f,g),n.id=d,l(i,a,f,n)}},Kc=Yu.axesNames;function Qc(t,e,r){var n=r(\\\"resolution\\\"),i=r(\\\"scope\\\"),a=Yu.scopeDefaults[i],o=r(\\\"projection.type\\\",a.projType),s=e._isAlbersUsa=\\\"albers usa\\\"===o;s&&(i=e.scope=\\\"usa\\\");var l=e._isScoped=\\\"world\\\"!==i,u=e._isConic=-1!==o.indexOf(\\\"conic\\\");e._isClipped=!!Yu.lonaxisSpan[o];for(var c=0;c<Kc.length;c++){var h,f=Kc[c],p=[30,10][c];if(l)h=a[f+\\\"Range\\\"];else{var d=Yu[f+\\\"Span\\\"],g=(d[o]||d[\\\"*\\\"])/2,v=r(\\\"projection.rotation.\\\"+f.substr(0,3),a.projRotate[c]);h=[v-g,v+g]}r(f+\\\".tick0\\\",r(f+\\\".range\\\",h)[0]),r(f+\\\".dtick\\\",p),r(f+\\\".showgrid\\\")&&(r(f+\\\".gridcolor\\\"),r(f+\\\".gridwidth\\\"))}var m=e.lonaxis.range,y=e.lataxis.range,x=m[0],b=m[1];x>0&&b<0&&(b+=360);var _,w,M,A=(x+b)/2;if(!s){var k=l?a.projRotate:[A,0,0];_=r(\\\"projection.rotation.lon\\\",k[0]),r(\\\"projection.rotation.lat\\\",k[1]),r(\\\"projection.rotation.roll\\\",k[2]),r(\\\"showcoastlines\\\",!l)&&(r(\\\"coastlinecolor\\\"),r(\\\"coastlinewidth\\\")),r(\\\"showocean\\\")&&r(\\\"oceancolor\\\")}(s?(w=-96.6,M=38.7):(w=l?A:_,M=(y[0]+y[1])/2),r(\\\"center.lon\\\",w),r(\\\"center.lat\\\",M),u)&&r(\\\"projection.parallels\\\",a.projParallels||[0,60]);r(\\\"projection.scale\\\"),r(\\\"showland\\\")&&r(\\\"landcolor\\\"),r(\\\"showlakes\\\")&&r(\\\"lakecolor\\\"),r(\\\"showrivers\\\")&&(r(\\\"rivercolor\\\"),r(\\\"riverwidth\\\")),r(\\\"showcountries\\\",l&&\\\"usa\\\"!==i)&&(r(\\\"countrycolor\\\"),r(\\\"countrywidth\\\")),(\\\"usa\\\"===i||\\\"north america\\\"===i&&50===n)&&(r(\\\"showsubunits\\\",!0),r(\\\"subunitcolor\\\"),r(\\\"subunitwidth\\\")),l||r(\\\"showframe\\\",!0)&&(r(\\\"framecolor\\\"),r(\\\"framewidth\\\")),r(\\\"bgcolor\\\")}var $c={},th=sa.getSubplotCalcData,eh=ne.counterRegex,rh=\\\"geo\\\";$c.name=rh,$c.attr=rh,$c.idRoot=rh,$c.idRegex=$c.attrRegex=eh(rh),$c.attributes={geo:{valType:\\\"subplotid\\\",dflt:\\\"geo\\\",editType:\\\"calc\\\"}},$c.layoutAttributes=Xc,$c.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\\\"geo\\\",attributes:Xc,handleDefaults:Qc,partition:\\\"y\\\"})},$c.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var i=0;i<n.length;i++){var a=n[i],o=th(r,rh,a),s=e[a]._subplot;s||(s=new Vc({id:a,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[a]._subplot=s),s.plot(o,e,t._promises)}},$c.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},$c.updateFx=function(t){for(var e=t._subplots.geo,r=0;r<e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}};var nh=Ae.dash,ih=m.extendFlat,ah=ye.overrideAll,oh=Zr.marker,sh=Zr.line,lh=oh.line,uh=ah({lon:{valType:\\\"data_array\\\"},lat:{valType:\\\"data_array\\\"},locations:{valType:\\\"data_array\\\"},locationmode:{valType:\\\"enumerated\\\",values:[\\\"ISO-3\\\",\\\"USA-states\\\",\\\"country names\\\"],dflt:\\\"ISO-3\\\"},mode:ih({},Zr.mode,{dflt:\\\"markers\\\"}),text:ih({},Zr.text,{}),hovertext:ih({},Zr.hovertext,{}),textfont:Zr.textfont,textposition:Zr.textposition,line:{color:sh.color,width:sh.width,dash:nh},connectgaps:Zr.connectgaps,marker:ih({symbol:oh.symbol,opacity:oh.opacity,size:oh.size,sizeref:oh.sizeref,sizemin:oh.sizemin,sizemode:oh.sizemode,showscale:oh.showscale,colorbar:oh.colorbar,line:ih({width:lh.width},De()),gradient:oh.gradient},De()),fill:{valType:\\\"enumerated\\\",values:[\\\"none\\\",\\\"toself\\\"],dflt:\\\"none\\\"},fillcolor:Zr.fillcolor,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:ih({},E.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"location\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\"),ch=m.extendFlat,hh=m.extendDeepAll,fh=uh.marker.line,ph=ch({locations:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},locationmode:uh.locationmode,z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},text:ch({},uh.text,{}),marker:{line:{color:fh.color,width:ch({},fh.width,{dflt:1}),editType:\\\"calc\\\"},opacity:{valType:\\\"number\\\",arrayOk:!0,min:0,max:1,dflt:1,editType:\\\"style\\\"},editType:\\\"calc\\\"},selected:{marker:{opacity:uh.selected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},unselected:{marker:{opacity:uh.unselected.marker.opacity,editType:\\\"plot\\\"},editType:\\\"plot\\\"},hoverinfo:ch({},E.hoverinfo,{editType:\\\"calc\\\",flags:[\\\"location\\\",\\\"z\\\",\\\"text\\\",\\\"name\\\"]})},hh({},Pe,{zmax:{editType:\\\"calc\\\"},zmin:{editType:\\\"calc\\\"}}),{colorbar:ze}),dh=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;ne.mergeArray(e.text,t,\\\"tx\\\"),ne.mergeArray(e.hovertext,t,\\\"htx\\\"),ne.mergeArray(e.customdata,t,\\\"data\\\"),ne.mergeArray(e.textposition,t,\\\"tp\\\"),e.textfont&&(ne.mergeArray(e.textfont.size,t,\\\"ts\\\"),ne.mergeArray(e.textfont.color,t,\\\"tc\\\"),ne.mergeArray(e.textfont.family,t,\\\"tf\\\"));var n=e.marker;if(n){ne.mergeArray(n.size,t,\\\"ms\\\"),ne.mergeArray(n.opacity,t,\\\"mo\\\"),ne.mergeArray(n.symbol,t,\\\"mx\\\"),ne.mergeArray(n.color,t,\\\"mc\\\");var i=n.line;n.line&&(ne.mergeArray(i.color,t,\\\"mlc\\\"),ne.mergeArray(i.width,t,\\\"mlw\\\"));var a=n.gradient;a&&\\\"none\\\"!==a.type&&(ne.mergeArray(a.type,t,\\\"mgt\\\"),ne.mergeArray(a.color,t,\\\"mgc\\\"))}},gh=t.BADNUM;var vh={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\\\"},mh={},yh=Object.keys(vh),xh={\\\"ISO-3\\\":ne.identity,\\\"USA-states\\\":ne.identity,\\\"country names\\\":function(t){for(var e=0;e<yh.length;e++){var r=yh[e],n=new RegExp(vh[r]);if(n.test(t.trim().toLowerCase()))return r}return ne.log(\\\"Unrecognized country name: \\\"+t+\\\".\\\"),!1}};mh.locationToFeature=function(t,e,r){if(!e||\\\"string\\\"!=typeof e)return!1;var n=function(t,e){return(0,xh[t])(e)}(t,e);if(n){for(var i=0;i<r.length;i++){var a=r[i];if(a.id===n)return a}ne.log([\\\"Location with id\\\",n,\\\"does not have a matching topojson feature at this resolution.\\\"].join(\\\" \\\"))}return!1};var bh=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3.selectAll(\\\".choroplethlocation\\\"),a=n.marker||{},o=a.line||{},s=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,n.zmin,n.zmax));i.each(function(t){e.select(this).attr(\\\"fill\\\",s(t.z)).call(Oe.stroke,t.mlc||o.color).call(Sr.dashLine,\\\"\\\",t.mlw||o.width||0).style(\\\"opacity\\\",a.opacity)}),Sr.selectedPointStyle(i,n)}(0,r)};var _h=Xu.getTopojsonFeatures,wh=mh.locationToFeature;function Mh(t,e){for(var r=t[0].trace,n=t.length,i=_h(r,e),a=0;a<n;a++){var o=t[a],s=wh(r.locationmode,o.loc,i);s?(o.geojson=s,o.ct=s.properties.ct,o.index=a,o._polygons=Ah(s)):o.geojson=null}}function Ah(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function u(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===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(cc.tester(e))}:\\\"ATA\\\"===s?function(t){var e=u(t);if(null===e)return l.push(cc.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=cc.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(cc.tester(t))},a.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}var kh=function(t,e){var n=e[0].trace,i=\\\"cb\\\"+n.uid,a=n.zmin,o=n.zmax;if(r(a)||(a=ne.aggNums(Math.min,null,n.z)),r(o)||(o=ne.aggNums(Math.max,null,n.z)),t._fullLayout._infolayer.selectAll(\\\".\\\"+i).remove(),n.showscale){var s=e[0].t.cb=ns(t,i),l=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});s.fillcolor(l).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},Th={};Th.attributes=ph,Th.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,ph,r,n)}var a,o=i(\\\"locations\\\");if(o&&(a=o.length),o&&a){var s=i(\\\"z\\\");ne.isArrayOrTypedArray(s)?(s.length>a&&(e.z=s.slice(0,a)),i(\\\"locationmode\\\"),i(\\\"text\\\"),i(\\\"marker.line.color\\\"),i(\\\"marker.line.width\\\"),i(\\\"marker.opacity\\\"),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),ne.coerceSelectionMarkerOpacity(e,i)):e.visible=!1}else e.visible=!1},Th.colorbar=kh,Th.calc=function(t,e){for(var n=e.locations.length,i=new Array(n),a=0;a<n;a++){var o=i[a]={},s=e.locations[a],l=e.z[a];o.loc=\\\"string\\\"==typeof s?s:null,o.z=r(l)?l:gh}return dh(i,e),Ve(e,e.z,\\\"\\\",\\\"z\\\"),Ma(i,e),i},Th.plot=function(t,r,n){for(var i=0;i<n.length;i++)Mh(n[i],r.topojson);var a=r.layers.backplot.select(\\\".choroplethlayer\\\").selectAll(\\\"g.trace.choropleth\\\").data(n,function(t){return t[0].trace.uid});a.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace choropleth\\\"),a.exit().remove(),a.each(function(t){var r=(t[0].node3=e.select(this)).selectAll(\\\"path.choroplethlocation\\\").data(ne.identity);r.enter().append(\\\"path\\\").classed(\\\"choroplethlocation\\\",!0),r.exit().remove(),bh(0,t)})},Th.style=bh,Th.hoverPoints=function(t,e,r){var n,i,a,o,s=t.cd,l=s[0].trace,u=t.subplot;for(i=0;i<s.length;i++)if(o=!1,(n=s[i])._polygons){for(a=0;a<n._polygons.length;a++)n._polygons[a].contains([e,r])&&(o=!o),n._polygons[a].contains([e+360,r])&&(o=!o);if(o)break}if(o&&n)return t.x0=t.x1=t.xa.c2p(n.ct),t.y0=t.y1=t.ya.c2p(n.ct),t.index=n.index,t.location=n.loc,t.z=n.z,function(t,e,r,n){var i,a=r.hi||e.hoverinfo,o=\\\"all\\\"===a?ph.hoverinfo.flags:a.split(\\\"+\\\"),s=-1!==o.indexOf(\\\"name\\\"),l=-1!==o.indexOf(\\\"location\\\"),u=-1!==o.indexOf(\\\"z\\\"),c=-1!==o.indexOf(\\\"text\\\"),h=[];!s&&l?t.nameOverride=r.loc:(s&&(t.nameOverride=e.name),l&&h.push(r.loc)),u&&h.push((i=r.z,ri.tickText(n,n.c2l(i),\\\"hover\\\").text)),c&&xo(r,e,h),t.extraText=h.join(\\\"<br>\\\")}(t,l,n,u.mockAxis),[t]},Th.eventData=function(t,e){return t.location=e.location,t.z=e.z,t},Th.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=u.c2p(i),e.contains([a,o])?(c.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return c},Th.moduleType=\\\"trace\\\",Th.name=\\\"choropleth\\\",Th.basePlotModule=$c,Th.categories=[\\\"geo\\\",\\\"noOpacity\\\"],Th.meta={};var Sh=Th,Eh={COMPARISON_OPS:[\\\"=\\\",\\\"!=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],COMPARISON_OPS2:[\\\"=\\\",\\\"<\\\",\\\">=\\\",\\\">\\\",\\\"<=\\\"],INTERVAL_OPS:[\\\"[]\\\",\\\"()\\\",\\\"[)\\\",\\\"(]\\\",\\\"][\\\",\\\")(\\\",\\\"](\\\",\\\")[\\\"],SET_OPS:[\\\"{}\\\",\\\"}{\\\"],CONSTRAINT_REDUCTION:{\\\"=\\\":\\\"=\\\",\\\"<\\\":\\\"<\\\",\\\"<=\\\":\\\"<\\\",\\\">\\\":\\\">\\\",\\\">=\\\":\\\">\\\",\\\"[]\\\":\\\"[]\\\",\\\"()\\\":\\\"[]\\\",\\\"[)\\\":\\\"[]\\\",\\\"(]\\\":\\\"[]\\\",\\\"][\\\":\\\"][\\\",\\\")(\\\":\\\"][\\\",\\\"](\\\":\\\"][\\\",\\\")[\\\":\\\"][\\\"}},Ch=m.extendFlat,Lh=Ch({},{z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},x:Ch({},Zr.x,{impliedEdits:{xtype:\\\"array\\\"}}),x0:Ch({},Zr.x0,{impliedEdits:{xtype:\\\"scaled\\\"}}),dx:Ch({},Zr.dx,{impliedEdits:{xtype:\\\"scaled\\\"}}),y:Ch({},Zr.y,{impliedEdits:{ytype:\\\"array\\\"}}),y0:Ch({},Zr.y0,{impliedEdits:{ytype:\\\"scaled\\\"}}),dy:Ch({},Zr.dy,{impliedEdits:{ytype:\\\"scaled\\\"}}),text:{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\\\"},connectgaps:{valType:\\\"boolean\\\",dflt:!1,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\\\"}},Pe,{autocolorscale:Ch({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),zh=Ae.dash,Ph=m.extendFlat,Ih=Eh.COMPARISON_OPS2,Dh=Eh.INTERVAL_OPS,Oh=Zr.line,Rh=Ph({z:Lh.z,x:Lh.x,x0:Lh.x0,dx:Lh.dx,y:Lh.y,y0:Lh.y0,dy:Lh.dy,text:Lh.text,transpose:Lh.transpose,xtype:Lh.xtype,ytype:Lh.ytype,zhoverformat:Lh.zhoverformat,connectgaps:Lh.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:T({editType:\\\"plot\\\",colorEditType:\\\"style\\\"}),labelformat:{valType:\\\"string\\\",dflt:\\\"\\\",editType:\\\"plot\\\"},operation:{valType:\\\"enumerated\\\",values:[].concat(Ih).concat(Dh),dflt:\\\"=\\\",editType:\\\"calc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"calc\\\"},editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:Ph({},Oh.color,{editType:\\\"style+colorbars\\\"}),width:Ph({},Oh.width,{editType:\\\"style+colorbars\\\"}),dash:zh,smoothing:Ph({},Oh.smoothing,{}),editType:\\\"plot\\\"}},Pe,{autocolorscale:Ph({},Pe.autocolorscale,{dflt:!1}),zmin:Ph({},Pe.zmin,{editType:\\\"calc\\\"}),zmax:Ph({},Pe.zmax,{editType:\\\"calc\\\"})},{colorbar:ze}),Fh=ne.extendFlat,Bh=function(t){var e=t.contours;if(t.autocontour){var r=Nh(t.zmin,t.zmax,t.ncontours);e.size=r.dtick,e.start=ri.tickFirst(r),r.range.reverse(),e.end=ri.tickFirst(r),e.start===t.zmin&&(e.start+=e.size),e.end===t.zmax&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),Fh(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\\\"constraint\\\"!==e.type){var n,i=e.start,a=e.end,o=t._input.contours;if(i>a&&(e.start=o.start=a,a=e.end=o.end=i,i=e.start),!(e.size>0))n=i===a?1:Nh(i,a,t.ncontours).dtick,o.size=e.size=n}};function Nh(t,e,r){var n={type:\\\"linear\\\",range:[t,e]};return ri.autoTicks(n,(e-t)/(r||15)),n}var jh=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e},Vh=function(t){var e,r,n,i,a,o,s,l,u=[],c={},h=[],f=t[0],p=[],d=[0,0,0],g=jh(t);for(r=0;r<t.length;r++)for(e=p,p=f,f=t[r+1]||[],n=0;n<g;n++)void 0===p[n]&&((o=(void 0!==p[n-1]?1:0)+(void 0!==p[n+1]?1:0)+(void 0!==e[n]?1:0)+(void 0!==f[n]?1:0))?(0===r&&o++,0===n&&o++,r===t.length-1&&o++,n===p.length-1&&o++,o<4&&(c[[r,n]]=[r,n,o]),u.push([r,n,o])):h.push([r,n]));for(;h.length;){for(s={},l=!1,a=h.length-1;a>=0;a--)(o=((c[[(r=(i=h[a])[0])-1,n=i[1]]]||d)[2]+(c[[r+1,n]]||d)[2]+(c[[r,n-1]]||d)[2]+(c[[r,n+1]]||d)[2])/20)&&(s[i]=[r,n,o],h.splice(a,1),l=!0);if(!l)throw\\\"findEmpties iterated with no new neighbors\\\";for(i in s)c[i]=s[i],u.push(s[i])}return u.sort(function(t,e){return e[2]-t[2]})},Uh=ne.isArrayOrTypedArray,qh=function(t){return!Uh(t.z[0])},Hh=[[-1,0],[1,0],[0,-1],[0,1]];function Gh(t){return.5-.25*Math.min(1,.5*t)}var Wh=function(t,e,r){var n,i,a=1;if(Array.isArray(r))for(n=0;n<e.length;n++)t[(i=e[n])[0]][i[1]]=r[i[0]][i[1]];else Yh(t,e);for(n=0;n<e.length&&!(e[n][2]<4);n++);for(e=e.slice(n),n=0;n<100&&a>.01;n++)a=Yh(t,e,Gh(a));return a>.01&&ne.log(\\\"interp2d didn't converge quickly\\\",a),t};function Yh(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g,v=0;for(o=0;o<e.length;o++){for(i=(n=e[o])[0],a=n[1],p=t[i][a],f=0,h=0,s=0;s<4;s++)(u=t[i+(l=Hh[s])[0]])&&void 0!==(c=u[a+l[1]])&&(0===f?d=g=c:(d=Math.min(d,c),g=Math.max(g,c)),h++,f+=c);if(0===h)throw\\\"iterateInterp2d order is wrong: no defined neighbors\\\";t[i][a]=f/h,void 0===p?h<4&&(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g>d&&(v=Math.max(v,Math.abs(t[i][a]-p)/(g-d))))}return v}var Xh=ne.isArrayOrTypedArray,Zh=function(t,e,r,n,i,a){var o,s,l,u=[],c=P.traceIs(t,\\\"contour\\\"),h=P.traceIs(t,\\\"histogram\\\"),f=P.traceIs(t,\\\"gl2d\\\");if(Xh(e)&&e.length>1&&!h&&\\\"category\\\"!==a.type){var p=e.length;if(!(p<=i))return c?e.slice(0,i):e.slice(0,i+1);if(c||f)u=e.slice(0,i);else if(1===i)u=[e[0]-.5,e[0]+.5];else{for(u=[1.5*e[0]-.5*e[1]],l=1;l<p;l++)u.push(.5*(e[l-1]+e[l]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p<i){var d=u[u.length-1],g=d-u[u.length-2];for(l=p;l<i;l++)d+=g,u.push(d)}}else{s=n||1;var v=t[a._id.charAt(0)+\\\"calendar\\\"];for(o=h||\\\"category\\\"===a.type?a.r2c(r,0,v)||0:Xh(e)&&1===e.length?e[0]:void 0===r?0:a.d2c(r,0,v),l=c||f?0:-.5;l<i;l++)u.push(o+s*l)}return u},Jh=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n},Kh={count:function(t,e,r){return r[t]++,1},sum:function(t,e,n,i){var a=i[e];return r(a)?(a=Number(a),n[t]+=a,a):0},avg:function(t,e,n,i,a){var o=i[e];return r(o)&&(o=Number(o),n[t]+=o,a[t]++),0},min:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]>a){var o=a-n[t];return n[t]=a,o}}return 0},max:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]<a){var o=a-n[t];return n[t]=a,o}}return 0}},Qh=t.ONEAVGYEAR,$h=t.ONEAVGMONTH,tf=t.ONEDAY,ef=t.ONEHOUR,rf=t.ONEMIN,nf=t.ONESEC,af=ri.tickIncrement,of=function(t,e,r,n,i){var a,o,s=-1.1*e,l=-.1*e,u=t-l,c=r[0],h=r[1],f=Math.min(sf(c+l,c+u,n,i),sf(h+l,h+u,n,i)),p=Math.min(sf(c+s,c+l,n,i),sf(h+s,h+l,n,i));if(f>p&&p<Math.abs(h-c)/4e3?(a=f,o=!1):(a=Math.min(f,p),o=!0),\\\"date\\\"===n.type&&a>tf){var d=a===Qh?1:6,g=a===Qh?\\\"M12\\\":\\\"M1\\\";return function(e,r){var a=n.c2d(e,Qh,i),s=a.indexOf(\\\"-\\\",d);s>0&&(a=a.substr(0,s));var l=n.d2c(a,0,i);if(l<e){var u=af(l,g,!1,i);(l+u)/2<e+t&&(l=u)}return r&&o?af(l,g,!0,i):l}}return function(e,r){var n=a*Math.round(e/a);return n+a/10<e&&n+.9*a<e+t&&(n+=a),r&&o&&(n-=a),n}};function sf(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\\\"date\\\"===r.type,o=lf(i,a),s=0;s<10;s++){var l=lf(80*o,a);if(o===l)break;if(!uf(l,t,e,a,r,n))break;o=l}return o}function lf(t,e){return e&&t>nf?t>tf?t>1.1*Qh?Qh:t>1.1*$h?$h:tf:t>ef?ef:t>rf?rf:nf:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function uf(t,e,r,n,i,a){if(n&&t>tf){var o=cf(e,i,a),s=cf(r,i,a),l=t===Qh?0:1;return o[l]!==s[l]}return Math.floor(r/t)-Math.floor(e/t)>.1}function cf(t,e,r){var n=e.c2d(t,Qh,r).split(\\\"-\\\");return\\\"\\\"===n[0]&&(n.unshift(),n[0]=\\\"-\\\"+n[0]),n}var hf=ne.cleanDate,ff=t.ONEDAY,pf=t.BADNUM,df=function(t,e,n){var i=e.type,a=n+\\\"bins\\\",o=t[a];o||(o=t[a]={});var s=\\\"date\\\"===i?function(t){return t||0===t?hf(t,pf,o.calendar):null}:function(t){return r(t)?Number(t):null};o.start=s(o.start),o.end=s(o.end);var l=\\\"date\\\"===i?ff:1,u=o.size;if(r(u))o.size=u>0?Number(u):l;else if(\\\"string\\\"!=typeof u)o.size=l;else{var c=u.charAt(0),h=u.substr(1);((h=r(h)?Number(h):0)<=0||\\\"date\\\"!==i||\\\"M\\\"!==c||h!==Math.round(h))&&(o.size=l)}var f=\\\"autobin\\\"+n;\\\"boolean\\\"!=typeof t[f]&&(t[f]=t._fullInput[f]=t._input[f]=!((o.start||0===o.start)&&(o.end||0===o.end))),t[f]||(delete t[\\\"nbins\\\"+n],delete t._fullInput[\\\"nbins\\\"+n])},gf={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=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 i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\\\"probability density\\\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}};function vf(t,e,r,n,i,a,o){var s=e+\\\"bins\\\",l=\\\"autobin\\\"+e,u=t[s];df(t,n,e),!t[l]&&u&&null!==u.start&&null!==u.end||(u=ri.autoBin(r,n,t[\\\"nbins\\\"+e],\\\"2d\\\",o),\\\"histogram2dcontour\\\"===t.type&&(u.start=a(ri.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(ri.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[l]=t[l])}function mf(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function yf(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function xf(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=of(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}var bf=function(t,e){var r,n,i,a,o,s,l,u,c,h=ri.getFromId(t,e.xaxis||\\\"x\\\"),f=ri.getFromId(t,e.yaxis||\\\"y\\\"),p=P.traceIs(e,\\\"contour\\\"),d=P.traceIs(e,\\\"histogram\\\"),g=P.traceIs(e,\\\"gl2d\\\"),v=p?\\\"best\\\":e.zsmooth;function m(t){v=e._input.zsmooth=e.zsmooth=!1,ne.warn('cannot use zsmooth: \\\"fast\\\": '+t)}if(h._minDtick=0,f._minDtick=0,d?(r=(c=function(t,e){var r,n,i,a,o=ri.getFromId(t,e.xaxis||\\\"x\\\"),s=e.x?o.makeCalcdata(e,\\\"x\\\"):[],l=ri.getFromId(t,e.yaxis||\\\"y\\\"),u=e.y?l.makeCalcdata(e,\\\"y\\\"):[],c=e.xcalendar,h=e.ycalendar,f=function(t){return o.r2c(t,0,c)},p=function(t){return l.r2c(t,0,h)},d=function(t){return o.c2r(t,0,c)},g=function(t){return l.c2r(t,0,h)},v=Math.min(s.length,u.length);s.length>v&&s.splice(v,s.length-v),u.length>v&&u.splice(v,u.length-v),vf(e,\\\"x\\\",s,o,f,d,c),vf(e,\\\"y\\\",u,l,p,g,h);var m=[],y=[],x=[],b=\\\"string\\\"==typeof e.xbins.size,_=\\\"string\\\"==typeof e.ybins.size,w=[],M=[],A=b?w:e.xbins,k=_?M:e.ybins,T=0,S=[],E=[],C=e.histnorm,L=e.histfunc,z=-1!==C.indexOf(\\\"density\\\"),P=\\\"max\\\"===L||\\\"min\\\"===L?null:0,I=Kh.count,D=gf[C],O=!1,R=[],F=[],B=\\\"z\\\"in e?e.z:\\\"marker\\\"in e&&Array.isArray(e.marker.color)?e.marker.color:\\\"\\\";B&&\\\"count\\\"!==L&&(O=\\\"avg\\\"===L,I=Kh[L]);var N=e.xbins,j=f(N.start),V=f(N.end)+(j-ri.tickIncrement(j,N.size,!1,c))/1e6;for(r=j;r<V;r=ri.tickIncrement(r,N.size,!1,c))y.push(P),w.push(r),O&&x.push(0);w.push(r);var U=y.length,q=f(e.xbins.start),H=(r-q)/U,G=d(q+H/2);for(j=p((N=e.ybins).start),V=p(N.end)+(j-ri.tickIncrement(j,N.size,!1,h))/1e6,r=j;r<V;r=ri.tickIncrement(r,N.size,!1,h)){m.push(y.slice()),M.push(r);var W=new Array(U);for(n=0;n<U;n++)W[n]=[];E.push(W),O&&S.push(x.slice())}M.push(r);var Y=m.length,X=p(e.ybins.start),Z=(r-X)/Y,J=g(X+Z/2);z&&(R=mf(y.length,A,H,b),F=mf(m.length,k,Z,_)),b||\\\"date\\\"!==o.type||(A=yf(f,A)),_||\\\"date\\\"!==l.type||(k=yf(p,k));var K=!0,Q=!0,$=new Array(U),tt=new Array(Y),et=1/0,rt=1/0,nt=1/0,it=1/0;for(r=0;r<v;r++){var at=s[r],ot=u[r];i=ne.findBin(at,A),a=ne.findBin(ot,k),i>=0&&i<U&&a>=0&&a<Y&&(T+=I(i,r,m[a],B,S[a]),E[a][i].push(r),K&&(void 0===$[i]?$[i]=at:$[i]!==at&&(K=!1)),Q&&(void 0===tt[i]?tt[i]=ot:tt[i]!==ot&&(Q=!1)),et=Math.min(et,at-w[i]),rt=Math.min(rt,w[i+1]-at),nt=Math.min(nt,ot-M[a]),it=Math.min(it,M[a+1]-ot))}if(O)for(a=0;a<Y;a++)T+=Jh(m[a],S[a]);if(D)for(a=0;a<Y;a++)D(m[a],T,R,F[a]);return{x:s,xRanges:xf(w,K&&$,et,rt,o,c),x0:G,dx:H,y:u,yRanges:xf(M,Q&&tt,nt,it,l,h),y0:J,dy:Z,z:m,pts:E}}(t,e)).x,n=c.x0,i=c.dx,a=c.y,o=c.y0,s=c.dy,l=c.z):(qh(e)?(Pu(e,h,f,\\\"x\\\",\\\"y\\\",[\\\"z\\\"]),r=e.x,a=e.y):(r=e.x?h.makeCalcdata(e,\\\"x\\\"):[],a=e.y?f.makeCalcdata(e,\\\"y\\\"):[]),n=e.x0||0,i=e.dx||1,o=e.y0||0,s=e.dy||1,l=xu(e.z,e.transpose),(p||e.connectgaps)&&(e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz))),\\\"fast\\\"===v)if(\\\"log\\\"===h.type||\\\"log\\\"===f.type)m(\\\"log axis found\\\");else if(!d){if(r.length){var y=(r[r.length-1]-r[0])/(r.length-1),x=Math.abs(y/100);for(u=0;u<r.length-1;u++)if(Math.abs(r[u+1]-r[u]-y)>x){m(\\\"x scale is not linear\\\");break}}if(a.length&&\\\"fast\\\"===v){var b=(a[a.length-1]-a[0])/(a.length-1),_=Math.abs(b/100);for(u=0;u<a.length-1;u++)if(Math.abs(a[u+1]-a[u]-b)>_){m(\\\"y scale is not linear\\\");break}}}var w=jh(l),M=\\\"scaled\\\"===e.xtype?\\\"\\\":r,A=Zh(e,M,n,i,w,h),k=\\\"scaled\\\"===e.ytype?\\\"\\\":a,T=Zh(e,k,o,s,l.length,f);g||(ri.expand(h,A),ri.expand(f,T));var S={x:A,y:T,z:l,text:e.text};if(M&&M.length===A.length-1&&(S.xCenter=M),k&&k.length===T.length-1&&(S.yCenter=k),d&&(S.xRanges=c.xRanges,S.yRanges=c.yRanges,S.pts=c.pts),p&&\\\"constraint\\\"===e.contours.type||Ve(e,l,\\\"\\\",\\\"z\\\"),p&&e.contours&&\\\"heatmap\\\"===e.contours.coloring){var E={type:\\\"contour\\\"===e.type?\\\"heatmap\\\":\\\"histogram2d\\\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};S.xfill=Zh(E,M,n,i,w,h),S.yfill=Zh(E,k,o,s,l.length,f)}return[S]},_f=function(t,e){var r=bf(t,e);return Bh(e),r},wf=function(t){return t.end+t.size/1e6},Mf=function(t){var r=t.contours,n=r.start,i=wf(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=\\\"lines\\\"===r.coloring?0:1;isFinite(a)||(a=1,o=1);var l,u,c=t.colorscale,h=c.length,f=new Array(h),p=new Array(h);if(\\\"heatmap\\\"===r.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=n-a/2,t.zmax=t.zmin+o*a),u=0;u<h;u++)l=c[u],f[u]=l[0]*(t.zmax-t.zmin)+t.zmin,p[u]=l[1];var d=e.extent([t.zmin,t.zmax,r.start,r.start+a*(o-1)]),g=d[t.zmin<t.zmax?0:1],v=d[t.zmin<t.zmax?1:0];g!==t.zmin&&(f.splice(0,0,g),p.splice(0,0,Range[0])),v!==t.zmax&&(f.push(v),p.push(p[p.length-1]))}else for(u=0;u<h;u++)l=c[u],f[u]=(l[0]*(o+s-1)-s/2)*a+n,p[u]=l[1];return Je.makeColorScaleFunc({domain:f,range:p},{noNumericCheck:!0})},Af=function(t,e){var r=e[0].trace,n=\\\"cb\\\"+r.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+n).remove(),r.showscale){var i=ns(t,n);e[0].t.cb=i;var a=r.contours,o=r.line,s=a.size||1,l=a.coloring,u=Mf(r);\\\"heatmap\\\"===l&&i.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),i.fillcolor(\\\"fill\\\"===l||\\\"heatmap\\\"===l?u:\\\"\\\").line({color:\\\"lines\\\"===l?u:o.color,width:!1!==a.showlines?o.width:0,dash:o.dash}).levels({start:a.start,end:wf(a),size:s}).options(r.colorbar)()}else _n.autoMargin(t,n)},kf=function(t,e,r,n){if(n||(n={}),t(\\\"contours.showlabels\\\")){var i=e.font;ne.coerceFont(t,\\\"contours.labelfont\\\",{family:i.family,size:i.size,color:r}),t(\\\"contours.labelformat\\\")}!1!==n.hasHover&&t(\\\"zhoverformat\\\")},Tf=Oe.addOpacity,Sf=Oe.opacity,Ef=Eh.CONSTRAINT_REDUCTION,Cf=Eh.COMPARISON_OPS2,Lf=function(t,e,n,i,a,o){var s,l,u,c=e.contours,h=n(\\\"contours.operation\\\");(c._operation=Ef[h],function(t,e){var n;-1===Cf.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?(n=parseFloat(e.value[0]),e.value=[n,n+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:r(e.value)&&(n=parseFloat(e.value),e.value=[n,n+1])):(t(\\\"contours.value\\\",0),r(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(n,c),\\\"=\\\"===h?s=c.showlines=!0:(s=n(\\\"contours.showlines\\\"),u=n(\\\"fillcolor\\\",Tf((t.line||{}).color||a,.5))),s)&&(l=n(\\\"line.color\\\",u&&Sf(u)?Tf(e.fillcolor,1):a),n(\\\"line.width\\\",2),n(\\\"line.dash\\\"));n(\\\"line.smoothing\\\"),kf(n,i,l,o)};var zf=function(t,e,r,n){var i=n(\\\"contours.start\\\"),a=n(\\\"contours.end\\\"),o=!1===i||!1===a,s=r(\\\"contours.size\\\");!(o?e.autocontour=!0:r(\\\"autocontour\\\",!1))&&s||r(\\\"ncontours\\\")},Pf=function(t,e,r,n,i){var a,o=r(\\\"contours.coloring\\\"),s=\\\"\\\";\\\"fill\\\"===o&&(a=r(\\\"contours.showlines\\\")),!1!==a&&(\\\"lines\\\"!==o&&(s=r(\\\"line.color\\\",\\\"#000\\\")),r(\\\"line.width\\\",.5),r(\\\"line.dash\\\")),\\\"none\\\"!==o&&Ye(t,e,n,r,{prefix:\\\"\\\",cLetter:\\\"z\\\"}),r(\\\"line.smoothing\\\"),kf(r,n,s,i)},If=ne.isArrayOrTypedArray,Df=function(t,e,n,i,a,o){var s,l,u=n(\\\"z\\\");if(a=a||\\\"x\\\",o=o||\\\"y\\\",void 0===u||!u.length)return 0;if(qh(t)){if(s=n(a),l=n(o),!s||!l)return 0}else{if(s=Of(a,n),l=Of(o,n),!function(t){for(var e,n=!0,i=!1,a=!1,o=0;o<t.length;o++){if(e=t[o],!If(e)){n=!1;break}e.length>0&&(i=!0);for(var s=0;s<e.length;s++)if(r(e[s])){a=!0;break}}return n&&i&&a}(u))return 0;n(\\\"transpose\\\")}return P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[a,o],i),e.z.length};function Of(t,e){var r=e(t);return\\\"scaled\\\"===(r?e(t+\\\"type\\\",\\\"array\\\"):\\\"scaled\\\")&&(e(t+\\\"0\\\"),e(\\\"d\\\"+t)),r}var Rf=function(t,e,r,n,i,a){var o,s,l,u,c=t.cd[0],h=c.trace,f=t.xa,p=t.ya,d=c.x,g=c.y,v=c.z,m=c.xCenter,y=c.yCenter,x=c.zmask,b=[h.zmin,h.zmax],_=h.zhoverformat,w=d,M=g;if(!1!==t.index){try{l=Math.round(t.index[1]),u=Math.round(t.index[0])}catch(e){return void ne.error(\\\"Error hovering on heatmap, pointNumber must be [row,col], found:\\\",t.index)}if(l<0||l>=v[0].length||u<0||u>v.length)return}else{if(yo.inbox(e-d[0],e-d[d.length-1],0)>0||yo.inbox(r-g[0],r-g[g.length-1],0)>0)return;if(a){var A;for(w=[2*d[0]-d[1]],A=1;A<d.length;A++)w.push((d[A]+d[A-1])/2);for(w.push([2*d[d.length-1]-d[d.length-2]]),M=[2*g[0]-g[1]],A=1;A<g.length;A++)M.push((g[A]+g[A-1])/2);M.push([2*g[g.length-1]-g[g.length-2]])}l=Math.max(0,Math.min(w.length-2,ne.findBin(e,w))),u=Math.max(0,Math.min(M.length-2,ne.findBin(r,M)))}var k=f.c2p(d[l]),T=f.c2p(d[l+1]),S=p.c2p(g[u]),E=p.c2p(g[u+1]);a?(T=k,o=d[l],E=S,s=g[u]):(o=m?m[l]:(d[l]+d[l+1])/2,s=y?y[u]:(g[u]+g[u+1])/2,h.zsmooth&&(k=T=f.c2p(o),S=E=p.c2p(s)));var C,L,z=v[u][l];x&&!x[u][l]&&(z=void 0),Array.isArray(c.text)&&Array.isArray(c.text[u])&&(C=c.text[u][l]);var P={type:\\\"linear\\\",range:b,hoverformat:_,_separators:f._separators,_numFormat:f._numFormat};return L=ri.tickText(P,z,\\\"hover\\\").text,[ne.extendFlat(t,{index:[u,l],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:k,x1:T,y0:S,y1:E,xLabelVal:o,yLabelVal:s,zLabelVal:z,zLabel:L,text:C})]},Ff=function(t,e,r,n,i){var a=Rf(t,e,r,0,0,!0);return a&&a.forEach(function(t){var e=t.trace;\\\"constraint\\\"===e.contours.type&&(e.fillcolor&&Oe.opacity(e.fillcolor)?t.color=Oe.addOpacity(e.fillcolor,1):e.contours.showlines&&Oe.opacity(e.line.color)&&(t.color=Oe.addOpacity(e.line.color,1)))}),a},Bf=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,u=s.y.length,c=s.z,h=n.contours,f=-1/0,p=1/0;for(i=0;i<u;i++)p=Math.min(p,c[i][0]),p=Math.min(p,c[i][l-1]),f=Math.max(f,c[i][0]),f=Math.max(f,c[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,c[0][i]),p=Math.min(p,c[u-1][i]),f=Math.max(f,c[0][i]),f=Math.max(f,c[u-1][i]);switch(s.prefixBoundary=!1,e){case\\\">\\\":h.value>f&&(s.prefixBoundary=!0);break;case\\\"<\\\":h.value<p&&(s.prefixBoundary=!0);break;case\\\"[]\\\":a=Math.min.apply(null,h.value),((o=Math.max.apply(null,h.value))<p||a>f)&&(s.prefixBoundary=!0);break;case\\\"][\\\":a=Math.min.apply(null,h.value),o=Math.max.apply(null,h.value),a<p&&o>f&&(s.prefixBoundary=!0)}},Nf={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}},jf=function(t,e){var r,n,i,a=function(t){return t.reverse()},o=function(t){return t};switch(e){case\\\"=\\\":case\\\"<\\\":return t;case\\\">\\\":for(1!==t.length&&ne.warn(\\\"Contour data invalid for the specified inequality operation.\\\"),n=t[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);return t;case\\\"][\\\":var s=a;a=o,o=s;case\\\"[]\\\":for(2!==t.length&&ne.warn(\\\"Contour data invalid for the specified inequality range operation.\\\"),n=Vf(t[0]),i=Vf(t[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));return[n]}};function Vf(t){return ne.extendFlat({},t,{edgepaths:ne.extendDeep([],t.edgepaths),paths:ne.extendDeep([],t.paths)})}var Uf={\\\"[]\\\":Hf(\\\"[]\\\"),\\\"][\\\":Hf(\\\"][\\\"),\\\">\\\":Gf(\\\">\\\"),\\\"<\\\":Gf(\\\"<\\\"),\\\"=\\\":Gf(\\\"=\\\")};function qf(t,e){var n,i=Array.isArray(e);function a(t){return r(t)?+t:null}return-1!==Eh.COMPARISON_OPS2.indexOf(t)?n=a(i?e[0]:e):-1!==Eh.INTERVAL_OPS.indexOf(t)?n=i?[a(e[0]),a(e[1])]:[a(e),a(e)]:-1!==Eh.SET_OPS.indexOf(t)&&(n=i?e.map(a):[a(e)]),n}function Hf(t){return function(e){e=qf(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 Gf(t){return function(e){return{start:e=qf(t,e),end:1/0,size:1/0}}}var Wf=function(t,e,r){for(var n=\\\"constraint\\\"===t.type?Uf[t._operation](t.value):t,i=n.size,a=[],o=wf(n),s=r.trace.carpetTrace,l=s?{xaxis:s.aaxis,yaxis:s.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},u=n.start;u<o;u+=i)if(a.push(ne.extendFlat({level:u,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},l)),a.length>1e3){ne.warn(\\\"Too many contours, clipping at 1000\\\",t);break}return a},Yf=function(t,e,r){var n,i,a,o;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(a=t[i],o=0;o<a.starts.length;o++)Zf(a,a.starts[o],\\\"edge\\\",e,r);for(n=0;Object.keys(a.crossings).length&&n<1e4;)n++,Zf(a,Object.keys(a.crossings)[0].split(\\\",\\\").map(Number),void 0,e,r);1e4===n&&ne.log(\\\"Infinite loop in contour?\\\")}};function Xf(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function Zf(t,e,r,n,i){var a,o=e.join(\\\",\\\"),s=o,l=t.crossings[s],u=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!==Nf.BOTTOMSTART.indexOf(t)?i=1:-1!==Nf.LEFTSTART.indexOf(t)?n=1:-1!==Nf.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(l,r,e),c=[Jf(t,e,[-u[0],-u[1]])],h=u.join(\\\",\\\"),f=t.z.length,p=t.z[0].length;for(a=0;a<1e4;a++){if(l>20?(l=Nf.CHOOSESADDLE[l][(u[0]||u[1])<0?0:1],t.crossings[s]=Nf.SADDLEREMAINDER[l]):delete t.crossings[s],!(u=Nf.NEWDELTA[l])){ne.log(\\\"Found bad marching index:\\\",l,e,t.level);break}c.push(Jf(t,e,u)),e[0]+=u[0],e[1]+=u[1],Xf(c[c.length-1],c[c.length-2],n,i)&&c.pop(),s=e.join(\\\",\\\");var d=u[0]&&(e[0]<0||e[0]>p-2)||u[1]&&(e[1]<0||e[1]>f-2);if(s===o&&u.join(\\\",\\\")===h||r&&d)break;l=t.crossings[s]}1e4===a&&ne.log(\\\"Infinite loop in contour?\\\");var g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L=Xf(c[0],c[c.length-1],n,i),z=0,P=.2*t.smoothing,I=[],D=0;for(a=1;a<c.length;a++)T=c[a],S=c[a-1],void 0,void 0,E=T[2]-S[2],C=T[3]-S[3],z+=_=Math.sqrt(E*E+C*C),I.push(_);var O=z/I.length*P;function R(t){return c[t%c.length]}for(a=c.length-2;a>=D;a--)if((g=I[a])<O){for(m=0,v=a-1;v>=D&&g+I[v]<O;v--)g+=I[v];if(L&&a===c.length-2)for(m=0;m<v&&g+I[m]<O;m++)g+=I[m];x=a-v+m+1,b=Math.floor((a+v+m+2)/2),y=L||a!==c.length-2?L||-1!==v?x%2?R(b):[(R(b)[0]+R(b+1)[0])/2,(R(b)[1]+R(b+1)[1])/2]:c[0]:c[c.length-1],c.splice(v+1,a-v+1,y),a=v+1,m&&(D=m),L&&(a===c.length-2?c[m]=c[c.length-1]:0===a&&(c[c.length-1]=c[0]))}for(c.splice(0,D),a=0;a<c.length;a++)c[a].length=2;if(!(c.length<2))if(L)c.pop(),t.paths.push(c);else{r||ne.log(\\\"Unclosed interior contour?\\\",t.level,o,c.join(\\\"L\\\"));var F=!1;for(w=0;w<t.edgepaths.length;w++)if(A=t.edgepaths[w],!F&&Xf(A[0],c[c.length-1],n,i)){c.pop(),F=!0;var B=!1;for(M=0;M<t.edgepaths.length;M++)if(Xf((k=t.edgepaths[M])[k.length-1],c[0],n,i)){B=!0,c.shift(),t.edgepaths.splice(w,1),M===w?t.paths.push(c.concat(k)):(M>w&&M--,t.edgepaths[M]=k.concat(c,A));break}B||(t.edgepaths[w]=c.concat(A))}for(w=0;w<t.edgepaths.length&&!F;w++)Xf((A=t.edgepaths[w])[A.length-1],c[0],n,i)&&(c.shift(),t.edgepaths[w]=A.concat(c),F=!0);F||t.edgepaths.push(c)}}function Jf(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var u=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-u)*t.y[i]+u*t.y[i+1],!0),n,i+u]}var Kf=function(t){var e,r,n,i,a,o,s,l,u,c=t[0].z,h=c.length,f=c[0].length,p=2===h||2===f;for(r=0;r<h-1;r++)for(i=[],0===r&&(i=i.concat(Nf.BOTTOMSTART)),r===h-2&&(i=i.concat(Nf.TOPSTART)),e=0;e<f-1;e++)for(n=i.slice(),0===e&&(n=n.concat(Nf.LEFTSTART)),e===f-2&&(n=n.concat(Nf.RIGHTSTART)),a=e+\\\",\\\"+r,o=[[c[r][e],c[r][e+1]],[c[r+1][e],c[r+1][e+1]]],u=0;u<t.length;u++)(s=Qf((l=t[u]).level,o))&&(l.crossings[a]=s,-1!==n.indexOf(s)&&(l.starts.push([e,r]),p&&-1!==n.indexOf(s,n.indexOf(s)+1)&&l.starts.push([e,r])))};function Qf(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}var $f=function(t,e,r){for(var n=0;n<r.length;n++)tp(t,e,r[n])};function tp(t,e,r){var n=r[0],i=n.trace,a=i.uid,o=e.xaxis,l=e.yaxis,u=t._fullLayout,c=\\\"hm\\\"+a;if(u._paper.selectAll(\\\".contour\\\"+a).remove(),u._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".contour\\\"+a).remove(),!0!==i.visible)return u._paper.selectAll(\\\".\\\"+c).remove(),void u._infolayer.selectAll(\\\".cb\\\"+a).remove();var h,f,p,d,g,v,m=n.z,y=n.x,x=n.y,b=n.xCenter,_=n.yCenter,w=P.traceIs(i,\\\"contour\\\"),M=w?\\\"best\\\":i.zsmooth,A=m.length,k=jh(m),T=!1,S=!1;for(v=0;void 0===h&&v<y.length-1;)h=o.c2p(y[v]),v++;for(v=y.length-1;void 0===f&&v>0;)f=o.c2p(y[v]),v--;for(f<h&&(p=f,f=h,h=p,T=!0),v=0;void 0===d&&v<x.length-1;)d=l.c2p(x[v]),v++;for(v=x.length-1;void 0===g&&v>0;)g=l.c2p(x[v]),v--;if(g<d&&(p=d,d=g,g=p,S=!0),w&&(b=y,_=x,y=n.xfill,x=n.yfill),\\\"fast\\\"!==M){var E=\\\"best\\\"===M?0:.5;h=Math.max(-E*o._length,h),f=Math.min((1+E)*o._length,f),d=Math.max(-E*l._length,d),g=Math.min((1+E)*l._length,g)}var C=Math.round(f-h),L=Math.round(g-d),z=C<=0||L<=0,I=e.plot.select(\\\".imagelayer\\\").selectAll(\\\"g.hm.\\\"+c).data(z?[]:[0]);if(I.enter().append(\\\"g\\\").classed(\\\"hm\\\",!0).classed(c,!0),I.exit().remove(),!z){var D,O;\\\"fast\\\"===M?(D=k,O=A):(D=C,O=L);var R=document.createElement(\\\"canvas\\\");R.width=D,R.height=O;var F,B,N=R.getContext(\\\"2d\\\"),j=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,i.zmin,i.zmax),{noNumericCheck:!0,returnArray:!0});\\\"fast\\\"===M?(F=T?function(t){return k-1-t}:ne.identity,B=S?function(t){return A-1-t}:ne.identity):(F=function(t){return ne.constrain(Math.round(o.c2p(y[t])-h),0,C)},B=function(t){return ne.constrain(Math.round(l.c2p(x[t])-d),0,L)});var V,U,q,H,G,W=B(0),Y=[W,W],X=T?0:1,Z=S?0:1,J=0,K=0,Q=0,$=0;if(M){var tt,et=0;try{tt=new Uint8Array(C*L*4)}catch(t){tt=new Array(C*L*4)}if(\\\"best\\\"===M){var rt,nt,it,at=b||y,ot=_||x,st=new Array(at.length),lt=new Array(ot.length),ut=new Array(C),ct=b?rp:ep,ht=_?rp:ep;for(v=0;v<at.length;v++)st[v]=Math.round(o.c2p(at[v])-h);for(v=0;v<ot.length;v++)lt[v]=Math.round(l.c2p(ot[v])-d);for(v=0;v<C;v++)ut[v]=ct(v,st);for(U=0;U<L;U++)for(nt=m[(rt=ht(U,lt)).bin0],it=m[rt.bin1],v=0;v<C;v++,et+=4)np(tt,et,G=wt(nt,it,ut[v],rt))}else for(U=0;U<A;U++)for(H=m[U],Y=B(U),v=0;v<C;v++)G=_t(H[v],1),np(tt,et=4*(Y*C+F(v)),G);var ft=N.createImageData(C,L);try{ft.data.set(tt)}catch(t){var pt=ft.data,dt=pt.length;for(U=0;U<dt;U++)pt[U]=tt[U]}N.putImageData(ft,0,0)}else{var gt=i.xgap,vt=i.ygap,mt=Math.floor(gt/2),yt=Math.floor(vt/2);for(U=0;U<A;U++)if(H=m[U],Y.reverse(),Y[Z]=B(U+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1])for(V=[q=F(0),q],v=0;v<k;v++)V.reverse(),V[X]=F(v+1),V[0]!==V[1]&&void 0!==V[0]&&void 0!==V[1]&&(G=_t(H[v],(V[1]-V[0])*(Y[1]-Y[0])),N.fillStyle=\\\"rgba(\\\"+G.join(\\\",\\\")+\\\")\\\",N.fillRect(V[0]+mt,Y[0]+yt,V[1]-V[0]-gt,Y[1]-Y[0]-vt))}K=Math.round(K/J),Q=Math.round(Q/J),$=Math.round($/J);var xt=s(\\\"rgb(\\\"+K+\\\",\\\"+Q+\\\",\\\"+$+\\\")\\\");t._hmpixcount=(t._hmpixcount||0)+J,t._hmlumcount=(t._hmlumcount||0)+J*xt.getLuminance();var bt=I.selectAll(\\\"image\\\").data(r);bt.enter().append(\\\"svg:image\\\").attr({xmlns:$e.svg,preserveAspectRatio:\\\"none\\\"}),bt.attr({height:L,width:C,x:h,y:d,\\\"xlink:href\\\":R.toDataURL(\\\"image/png\\\")}),bt.exit().remove()}function _t(t,e){if(void 0!==t){var r=j(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),J+=e,K+=r[0]*e,Q+=r[1]*e,$+=r[2]*e,r}return[0,0,0,0]}function wt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return _t(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,_t(i+r.frac*u+n.frac*(c+r.frac*a))}}function ep(t,e){var r=e.length-2,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=e[n+1],o=ne.constrain(n+(t-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return o&&o!==r&&l?{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}:{bin0:s,bin1:s,frac:0}}function rp(t,e){var r=e.length-1,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function np(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])}var ip={},ap=Nf.LABELOPTIMIZER;function op(t,r,n){var i=n[0].trace,a=n[0].x,o=n[0].y,s=i.contours,l=i.uid,u=r.xaxis,c=r.yaxis,h=t._fullLayout,f=\\\"contour\\\"+l,p=Wf(s,r,n[0]);if(!0!==i.visible)return h._paper.selectAll(\\\".\\\"+f+\\\",.hm\\\"+l).remove(),void h._infolayer.selectAll(\\\".cb\\\"+l).remove();\\\"heatmap\\\"===s.coloring?(i.zauto&&!1===i.autocontour&&(i._input.zmin=i.zmin=s.start-s.size/2,i._input.zmax=i.zmax=i.zmin+p.length*s.size),$f(t,r,[n])):(h._paper.selectAll(\\\".hm\\\"+l).remove(),h._infolayer.selectAll(\\\"g.rangeslider-container\\\").selectAll(\\\".hm\\\"+l).remove()),Kf(p),Yf(p);var d=u.c2p(a[0],!0),g=u.c2p(a[a.length-1],!0),v=c.c2p(o[0],!0),m=c.c2p(o[o.length-1],!0),y=[[d,m],[g,m],[g,v],[d,v]],x=p;\\\"constraint\\\"===s.type&&(x=jf(p,s._operation),Bf(x,s._operation,y,i));var b=ip.makeContourGroup(r,n,f);!function(t,e,r){var n=t.selectAll(\\\"g.contourbg\\\").data([0]);n.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var i=n.selectAll(\\\"path\\\").data(\\\"fill\\\"===r.coloring?[0]:[]);i.enter().append(\\\"path\\\"),i.exit().remove(),i.attr(\\\"d\\\",\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}(b,y,s),function(t,r,n,i){var a=t.selectAll(\\\"g.contourfill\\\").data([0]);a.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var o=a.selectAll(\\\"path\\\").data(\\\"fill\\\"===i.coloring||\\\"constraint\\\"===i.type&&\\\"=\\\"!==i._operation?r:[]);o.enter().append(\\\"path\\\"),o.exit().remove(),o.each(function(t){var r=sp(t,n);r?e.select(this).attr(\\\"d\\\",r).style(\\\"stroke\\\",\\\"none\\\"):e.select(this).remove()})}(b,x,y,s),function(t,r,n,i,a,o){var s=t.selectAll(\\\"g.contourlines\\\").data([0]);s.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var l=!1!==a.showlines,u=a.showlabels,c=l&&u,h=ip.createLines(s,l||u,r),f=ip.createLineClip(s,c,n._fullLayout._clips,i.trace.uid),p=t.selectAll(\\\"g.contourlabels\\\").data(u?[0]:[]);if(p.exit().remove(),p.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),u){var d=[o],g=[];ne.clearLocationCache();var v=ip.labelFormatter(a,i.t.cb,n._fullLayout),m=Sr.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(Sr.font,a.labelfont),y=r[0].xaxis._length,x=r[0].yaxis._length,b={left:Math.max(o[0][0],0),right:Math.min(o[2][0],y),top:Math.max(o[0][1],0),bottom:Math.min(o[2][1],x)};b.middle=(b.top+b.bottom)/2,b.center=(b.left+b.right)/2;var _=Math.sqrt(y*y+x*x),w=Nf.LABELDISTANCE*_/Math.max(1,r.length/Nf.LABELINCREASE);h.each(function(t){var r=ip.calcTextOpts(t.level,v,m,n);e.select(this).selectAll(\\\"path\\\").each(function(){var t=ne.getVisibleSegment(this,b,r.height/2);if(t&&!(t.len<(r.width+r.height)*Nf.LABELMIN))for(var e=Math.min(Math.ceil(t.len/w),Nf.LABELMAX),n=0;n<e;n++){var i=ip.findBestTextLocation(this,t,r,g,b);if(!i)break;ip.addLabelData(i,r,g,d)}})}),m.remove(),ip.drawLabels(p,g,n,f,c?d:null)}u&&!l&&h.remove()}(b,p,t,n[0],s,y),function(t,e,r,n,i){var a=\\\"clip\\\"+n.trace.uid,o=r.selectAll(\\\"#\\\"+a).data(n.trace.connectgaps?[]:[0]);if(o.enter().append(\\\"clipPath\\\").classed(\\\"contourclip\\\",!0).attr(\\\"id\\\",a),o.exit().remove(),!1===n.trace.connectgaps){var s={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};Kf([s]),Yf([s]);var l=sp(s,i),u=o.selectAll(\\\"path\\\").data([0]);u.enter().append(\\\"path\\\"),u.attr(\\\"d\\\",l)}else a=null;t.call(Sr.setClipUrl,a),e.plot.selectAll(\\\".hm\\\"+n.trace.uid).call(Sr.setClipUrl,a)}(b,r,h._clips,n[0],y)}function sp(t,e){var r,n,i,a,o,s,l,u=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\\\"M\\\"+e.join(\\\"L\\\")+\\\"Z\\\":\\\"\\\"}(t,e),c=0,h=t.edgepaths.map(function(t,e){return e}),f=!0;function p(t){return Math.abs(t[1]-e[2][1])<.01}function d(t){return Math.abs(t[0]-e[0][0])<.01}function g(t){return Math.abs(t[0]-e[2][0])<.01}for(;h.length;){for(s=Sr.smoothopen(t.edgepaths[c],t.smoothing),u+=f?s:s.replace(/^M/,\\\"L\\\"),h.splice(h.indexOf(c),1),r=t.edgepaths[c][t.edgepaths[c].length-1],a=-1,i=0;i<4;i++){if(!r){ne.log(\\\"Missing end?\\\",c,t);break}for(l=r,Math.abs(l[1]-e[0][1])<.01&&!g(r)?n=e[1]:d(r)?n=e[0]:p(r)?n=e[3]:g(r)&&(n=e[2]),o=0;o<t.edgepaths.length;o++){var v=t.edgepaths[o][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-v[0])<.01&&(v[1]-r[1])*(n[1]-v[1])>=0&&(n=v,a=o):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-v[1])<.01&&(v[0]-r[0])*(n[0]-v[0])>=0&&(n=v,a=o):ne.log(\\\"endpt to newendpt is not vert. or horz.\\\",r,n,v)}if(r=n,a>=0)break;u+=\\\"L\\\"+n}if(a===t.edgepaths.length){ne.log(\\\"unclosed perimeter path\\\");break}c=a,(f=-1===h.indexOf(c))&&(c=h[0],u+=\\\"Z\\\")}for(c=0;c<t.paths.length;c++)u+=Sr.smoothclosed(t.paths[c],t.smoothing);return u}function lp(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,h=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),f=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(h<1||f<1)return 1/0;var p=ap.EDGECOST*(1/(h-1)+1/(f-1));p+=ap.ANGLECOST*l*l;for(var d=o-u,g=s-c,v=o+u,m=s+c,y=0;y<r.length;y++){var x=r[y],b=Math.cos(x.theta)*x.width/2,_=Math.sin(x.theta)*x.width/2,w=2*ne.segmentDistance(d,g,v,m,x.x-b,x.y-_,x.x+b,x.y+_)/(e.height+x.height),M=x.level===e.level,A=M?ap.SAMELEVELDISTANCE:1;if(w<=A)return 1/0;p+=ap.NEIGHBORCOST*(M?ap.SAMELEVELFACTOR:1)/(w-A)}return p}ip.plot=function(t,e,r){for(var n=0;n<r.length;n++)op(t,e,r[n])},ip.makeContourGroup=function(t,e,r){var n=t.plot.select(\\\".maplayer\\\").selectAll(\\\"g.contour.\\\"+r).data(e);return n.enter().append(\\\"g\\\").classed(\\\"contour\\\",!0).classed(r,!0),n.exit().remove(),n},ip.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\\\"g.contourlevel\\\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\\\"g\\\").classed(\\\"contourlevel\\\",!0),e){var a=i.selectAll(\\\"path.openline\\\").data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(\\\"path\\\").classed(\\\"openline\\\",!0),a.attr(\\\"d\\\",function(t){return Sr.smoothopen(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\");var o=i.selectAll(\\\"path.closedline\\\").data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(\\\"path\\\").classed(\\\"closedline\\\",!0),o.attr(\\\"d\\\",function(t){return Sr.smoothclosed(t,n)}).style(\\\"stroke-miterlimit\\\",1).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\")}return i},ip.createLineClip=function(t,e,r,n){var i=e?\\\"clipline\\\"+n:null,a=r.selectAll(\\\"#\\\"+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(\\\"clipPath\\\").classed(\\\"contourlineclip\\\",!0).attr(\\\"id\\\",i),Sr.setClipUrl(t,i),a},ip.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\\\"linear\\\",_id:\\\"ycontour\\\",showexponent:\\\"all\\\"},\\\"constraint\\\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),ei(n,r),ri.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return ri.tickText(n,t).text}},ip.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(er.convertToTspans,n);var a=Sr.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},ip.findBestTextLocation=function(t,e,r,n,i){var a,o,s,l,u,c=r.width;e.isClosed?(o=e.len/ap.INITIALSEARCHPOINTS,a=e.min+o/2,s=e.max):(o=(e.len-c)/(ap.INITIALSEARCHPOINTS+1),a=e.min+o+c/2,s=e.max-(o+c)/2);for(var h=1/0,f=0;f<ap.ITERATIONS;f++){for(var p=a;p<s;p+=o){var d=ne.getTextLocation(t,e.total,p,c),g=lp(d,r,n,i);g<h&&(h=g,u=d,l=p)}if(h>2*ap.MAXCOST)break;f&&(o/=2),s=(a=l-o/2)+1.5*o}if(h<=ap.MAXCOST)return u},ip.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.sin(l),c=Math.cos(l),h=i*c,f=a*u,p=i*u,d=-a*c,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},ip.drawLabels=function(t,r,n,i,a){var o=t.selectAll(\\\"text\\\").data(r,function(t){return t.text+\\\",\\\"+t.x+\\\",\\\"+t.y+\\\",\\\"+t.theta});if(o.exit().remove(),o.enter().append(\\\"text\\\").attr({\\\"data-notex\\\":1,\\\"text-anchor\\\":\\\"middle\\\"}).each(function(t){var r=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;e.select(this).text(t.text).attr({x:r,y:i,transform:\\\"rotate(\\\"+180*t.theta/Math.PI+\\\" \\\"+r+\\\" \\\"+i+\\\")\\\"}).call(er.convertToTspans,n)}),a){for(var s=\\\"\\\",l=0;l<a.length;l++)s+=\\\"M\\\"+a[l].join(\\\"L\\\")+\\\"Z\\\";var u=i.selectAll(\\\"path\\\").data([0]);u.enter().append(\\\"path\\\"),u.attr(\\\"d\\\",s)}};var up=function(t){e.select(t).selectAll(\\\".hm image\\\").style(\\\"opacity\\\",function(t){return t.trace.opacity})},cp=function(t){var r=e.select(t).selectAll(\\\"g.contour\\\");r.style(\\\"opacity\\\",function(t){return t.trace.opacity}),r.each(function(t){var r=e.select(this),n=t.trace,i=n.contours,a=n.line,o=i.size||1,s=i.start,l=\\\"constraint\\\"===i.type,u=!l&&\\\"lines\\\"===i.coloring,c=!l&&\\\"fill\\\"===i.coloring,h=u||c?Mf(n):null;r.selectAll(\\\"g.contourlevel\\\").each(function(t){e.select(this).selectAll(\\\"path\\\").call(Sr.lineGroupStyle,a.width,u?h(t.level):a.color,a.dash)});var f=i.labelfont;if(r.selectAll(\\\"g.contourlabels text\\\").each(function(t){Sr.font(e.select(this),{family:f.family,size:f.size,color:f.color||(u?h(t.level):a.color)})}),l)r.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",n.fillcolor);else if(c){var p;r.selectAll(\\\"g.contourfill path\\\").style(\\\"fill\\\",function(t){return void 0===p&&(p=t.level),h(t.level+.5*o)}),void 0===p&&(p=s),r.selectAll(\\\"g.contourbg path\\\").style(\\\"fill\\\",h(p-.5*o))}}),up(t)},hp={};hp.attributes=Rh,hp.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Rh,r,n)}if(Df(t,e,i,n)){i(\\\"text\\\");var a=\\\"constraint\\\"===i(\\\"contours.type\\\");i(\\\"connectgaps\\\",qh(e)),a||delete e.showlegend,a?Lf(t,e,i,n,r):(zf(0,e,i,function(r){return ne.coerce2(t,e,Rh,r)}),Pf(t,e,i,n))}else e.visible=!1},hp.calc=_f,hp.plot=ip.plot,hp.style=cp,hp.colorbar=Af,hp.hoverPoints=Ff,hp.moduleType=\\\"trace\\\",hp.name=\\\"contour\\\",hp.basePlotModule=ua,hp.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"showLegend\\\"],hp.meta={};var fp=hp,pp=Rh.contours,dp=m.extendFlat,gp=Zr.line,vp=dp({},{carpet:{valType:\\\"string\\\",editType:\\\"calc\\\"},z:Lh.z,a:Lh.x,a0:Lh.x0,da:Lh.dx,b:Lh.y,b0:Lh.y0,db:Lh.dy,text:Lh.text,transpose:Lh.transpose,atype:Lh.xtype,btype:Lh.ytype,fillcolor:Rh.fillcolor,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:{type:pp.type,start:pp.start,end:pp.end,size:pp.size,coloring:{valType:\\\"enumerated\\\",values:[\\\"fill\\\",\\\"lines\\\",\\\"none\\\"],dflt:\\\"fill\\\",editType:\\\"calc\\\"},showlines:pp.showlines,showlabels:pp.showlabels,labelfont:pp.labelfont,labelformat:pp.labelformat,operation:pp.operation,value:pp.value,editType:\\\"calc\\\",impliedEdits:{autocontour:!1}},line:{color:dp({},gp.color,{}),width:gp.width,dash:gp.dash,smoothing:dp({},gp.smoothing,{}),editType:\\\"plot\\\"}},Pe,{autocolorscale:dp({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),mp=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\\\"carpet\\\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r},yp=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,vp,r,n)}if(i(\\\"carpet\\\"),t.a&&t.b){if(!Df(t,e,i,n,\\\"a\\\",\\\"b\\\"))return void(e.visible=!1);i(\\\"text\\\");var a=\\\"constraint\\\"===i(\\\"contours.type\\\");a||delete e.showlegend,a?Lf(t,e,i,n,r,{hasHover:!1}):(zf(0,e,i,function(r){return ne.coerce2(t,e,vp,r)}),Pf(t,e,i,n,{hasHover:!1}))}else e._defaultColor=r};var xp=ne.isArrayOrTypedArray,bp=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m=xp(r)?\\\"a\\\":\\\"b\\\",y=(\\\"a\\\"===m?t.aaxis:t.baxis).smoothing,x=\\\"a\\\"===m?t.a2i:t.b2j,b=\\\"a\\\"===m?r:n,_=\\\"a\\\"===m?n:r,w=\\\"a\\\"===m?e.a.length:e.b.length,M=\\\"a\\\"===m?e.b.length:e.a.length,A=Math.floor(\\\"a\\\"===m?t.b2j(_):t.a2i(_)),k=\\\"a\\\"===m?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};y&&(o=Math.max(0,Math.min(M-2,A)),s=A-o,a=\\\"a\\\"===m?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T<S?1:-1,C=1e-8*(S-T),L=E>0?Math.floor:Math.ceil,z=E>0?Math.ceil:Math.floor,P=E>0?Math.min:Math.max,I=E>0?Math.max:Math.min,D=L(T+C),O=z(S-C),R=[[c=k(T)]];for(i=D;i*E<O*E;i+=E)l=[],d=I(T,i),v=(g=P(S,i+E))-d,u=Math.max(0,Math.min(w-2,Math.floor(.5*(d+g)))),h=k(g),y&&(f=a(u,d-u),p=a(u,g-u),l.push([c[0]+f[0]/3*v,c[1]+f[1]/3*v]),l.push([h[0]-p[0]/3*v,h[1]-p[1]/3*v])),l.push(h),R.push(l),c=h;return R},_p=function(t,e,r,n,i,a,o,s){var l,u,c,h,f,p,d,g=\\\"\\\",v=e.edgepaths.map(function(t,e){return e}),m=!0,y=1e-4*Math.abs(r[0][0]-r[2][0]),x=1e-4*Math.abs(r[0][1]-r[2][1]);function b(t){return Math.abs(t[1]-r[0][1])<x}function _(t){return Math.abs(t[1]-r[2][1])<x}function w(t){return Math.abs(t[0]-r[0][0])<y}function M(t){return Math.abs(t[0]-r[2][0])<y}function A(t,e){var r,n,l,u,c=\\\"\\\";for(b(t)&&!M(t)||_(t)&&!w(t)?(u=i.aaxis,l=bp(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(u=i.baxis,l=bp(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<l.length;r++)for(c+=u.smoothing?\\\"C\\\":\\\"L\\\",n=0;n<l[r].length;n++){var h=l[r][n];c+=[o.c2p(h[0]),s.c2p(h[1])]+\\\" \\\"}return c}for(l=0,u=null;v.length;){var k=e.edgepaths[l][0];for(u&&(g+=A(u,k)),d=Sr.smoothopen(e.edgepaths[l].map(n),e.smoothing),g+=m?d:d.replace(/^M/,\\\"L\\\"),v.splice(v.indexOf(l),1),u=e.edgepaths[l][e.edgepaths[l].length-1],f=-1,h=0;h<4;h++){if(!u){ne.log(\\\"Missing end?\\\",l,e);break}for(b(u)&&!M(u)?c=r[1]:w(u)?c=r[0]:_(u)?c=r[3]:M(u)&&(c=r[2]),p=0;p<e.edgepaths.length;p++){var T=e.edgepaths[p][0];Math.abs(u[0]-c[0])<y?Math.abs(u[0]-T[0])<y&&(T[1]-u[1])*(c[1]-T[1])>=0&&(c=T,f=p):Math.abs(u[1]-c[1])<x?Math.abs(u[1]-T[1])<x&&(T[0]-u[0])*(c[0]-T[0])>=0&&(c=T,f=p):ne.log(\\\"endpt to newendpt is not vert. or horz.\\\",u,c,T)}if(f>=0)break;g+=A(u,c),u=c}if(f===e.edgepaths.length){ne.log(\\\"unclosed perimeter path\\\");break}l=f,(m=-1===v.indexOf(l))&&(l=v[0],g+=A(u,c)+\\\"Z\\\",u=null)}for(l=0;l<e.paths.length;l++)g+=Sr.smoothclosed(e.paths[l].map(n),e.smoothing);return g},wp=function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=e(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=e(c[i]);s.push(u)}}};function Mp(t,r,n){var i=n[0].trace,a=i.carpetTrace=mp(t,i),o=t.calcdata[a.index][0];if(a.visible&&\\\"legendonly\\\"!==a.visible){var s=n[0].a,l=n[0].b,u=i.contours,c=i.uid,h=r.xaxis,f=r.yaxis,p=t._fullLayout,d=\\\"contour\\\"+c,g=Wf(u,r,n[0]),v=\\\"constraint\\\"===u.type,m=u._operation,y=v?\\\"=\\\"===m?\\\"lines\\\":\\\"fill\\\":u.coloring;if(!0===i.visible){var x=[[s[0],l[l.length-1]],[s[s.length-1],l[l.length-1]],[s[s.length-1],l[0]],[s[0],l[0]]];Kf(g);var b=1e-8*(s[s.length-1]-s[0]),_=1e-8*(l[l.length-1]-l[0]);Yf(g,b,_);var w=g;\\\"constraint\\\"===u.type&&(w=jf(g,m),Bf(w,m,x,i)),wp(g,L);var M,A,k,T,S=ip.makeContourGroup(r,n,d),E=[];for(T=o.clipsegments.length-1;T>=0;T--)M=o.clipsegments[T],A=Ou([],M.x,h.c2p),k=Ou([],M.y,f.c2p),A.reverse(),k.reverse(),E.push(Iu(A,k,M.bicubic));var C=\\\"M\\\"+E.join(\\\"L\\\")+\\\"Z\\\";!function(t,e,r,n,i,a){var o,s,l,u,c=t.selectAll(\\\"g.contourbg\\\").data([0]);c.enter().append(\\\"g\\\").classed(\\\"contourbg\\\",!0);var h=c.selectAll(\\\"path\\\").data(\\\"fill\\\"!==a||i?[]:[0]);h.enter().append(\\\"path\\\"),h.exit().remove();var f=[];for(u=0;u<e.length;u++)o=e[u],s=Ou([],o.x,r.c2p),l=Ou([],o.y,n.c2p),f.push(Iu(s,l,o.bicubic));h.attr(\\\"d\\\",\\\"M\\\"+f.join(\\\"L\\\")+\\\"Z\\\").style(\\\"stroke\\\",\\\"none\\\")}(S,o.clipsegments,h,f,v,y),function(t,r,n,i,a,o,s,l,u,c,h){var f=r.selectAll(\\\"g.contourfill\\\").data([0]);f.enter().append(\\\"g\\\").classed(\\\"contourfill\\\",!0);var p=f.selectAll(\\\"path\\\").data(\\\"fill\\\"===c?a:[]);p.enter().append(\\\"path\\\"),p.exit().remove(),p.each(function(r){var a=_p(t,r,o,s,l,u,n,i);r.prefixBoundary&&(a=h+a),a?e.select(this).attr(\\\"d\\\",a).style(\\\"stroke\\\",\\\"none\\\"):e.select(this).remove()})}(i,S,h,f,w,x,L,a,o,y,C),function(t,r,n,i,a,o,s){var l=t.selectAll(\\\"g.contourlines\\\").data([0]);l.enter().append(\\\"g\\\").classed(\\\"contourlines\\\",!0);var u=!1!==a.showlines,c=a.showlabels,h=u&&c,f=ip.createLines(l,u||c,r),p=ip.createLineClip(l,h,n._fullLayout._defs,i.trace.uid),d=t.selectAll(\\\"g.contourlabels\\\").data(c?[0]:[]);if(d.exit().remove(),d.enter().append(\\\"g\\\").classed(\\\"contourlabels\\\",!0),c){var g=o.xaxis,v=o.yaxis,m=g._length,y=v._length,x=[[[0,0],[m,0],[m,y],[0,y]]],b=[];ne.clearLocationCache();var _=ip.labelFormatter(a,i.t.cb,n._fullLayout),w=Sr.tester.append(\\\"text\\\").attr(\\\"data-notex\\\",1).call(Sr.font,a.labelfont),M={left:0,right:m,center:m/2,top:0,bottom:y,middle:y/2},A=Math.sqrt(m*m+y*y),k=Nf.LABELDISTANCE*A/Math.max(1,r.length/Nf.LABELINCREASE);f.each(function(t){var r=ip.calcTextOpts(t.level,_,w,n);e.select(this).selectAll(\\\"path\\\").each(function(e){var n=ne.getVisibleSegment(this,M,r.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],h=i.b[i.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-u)<.1)&&(r=kp(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),(Math.abs(t[1]-c)<.1||Math.abs(t[1]-h)<.1)&&(r=kp(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),n}var p=Ap(t,0,1),d=Ap(t,n.total,n.total-1),g=f(o[0],p),v=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>v&&(n.max=v);n.len=n.max-n.min}(this,e,t,n,s,r.height),!(n.len<(r.width+r.height)*Nf.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/k),Nf.LABELMAX),a=0;a<i;a++){var o=ip.findBestTextLocation(this,n,r,b,M);if(!o)break;ip.addLabelData(o,r,b,x)}})}),w.remove(),ip.drawLabels(d,b,n,p,h?x:null)}c&&!u&&f.remove()}(S,g,t,n[0],u,r,a),Sr.setClipUrl(S,a._clipPathId)}else p._infolayer.selectAll(\\\".cb\\\"+c).remove()}function L(t){var e=a.ab2xy(t[0],t[1],!0);return[h.c2p(e[0]),f.c2p(e[1])]}}function Ap(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function kp(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function Tp(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var Sp={};Sp.attributes=vp,Sp.supplyDefaults=yp,Sp.colorbar=Af,Sp.calc=function(t,e){var r=e.carpetTrace=mp(t,e);if(r&&r.visible&&\\\"legendonly\\\"!==r.visible){if(!e.a||!e.b){var n=t.data[r.index],i=t.data[e.index];i.a||(i.a=n.a),i.b||(i.b=n.b),yp(i,e,e._defaultColor,t._fullLayout)}var a=function(t,e){var r,n,i,a,o,s,l,u=e.carpetTrace,c=u.aaxis,h=u.baxis;c._minDtick=0,h._minDtick=0,qh(e)&&Pu(e,c,h,\\\"a\\\",\\\"b\\\",[\\\"z\\\"]),r=e.a?c.makeCalcdata(e,\\\"a\\\"):[],a=e.b?h.makeCalcdata(e,\\\"b\\\"):[],n=e.a0||0,i=e.da||1,o=e.b0||0,s=e.db||1,l=xu(e.z,e.transpose),e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz);var f=jh(l),p=\\\"scaled\\\"===e.xtype?\\\"\\\":r,d=Zh(e,p,n,i,f,c),g=\\\"scaled\\\"===e.ytype?\\\"\\\":a,v=Zh(e,g,o,s,l.length,h),m={a:d,b:v,z:l};return\\\"levels\\\"===e.contours.type&&Ve(e,l,\\\"\\\",\\\"z\\\"),[m]}(0,e);return Bh(e),a}},Sp.plot=function(t,e,r){for(var n=0;n<r.length;n++)Mp(t,e,r[n])},Sp.style=cp,Sp.moduleType=\\\"trace\\\",Sp.name=\\\"contourcarpet\\\",Sp.basePlotModule=ua,Sp.categories=[\\\"cartesian\\\",\\\"carpet\\\",\\\"contour\\\",\\\"symbols\\\",\\\"showLegend\\\",\\\"hasLines\\\",\\\"carpetDependent\\\"],Sp.meta={};var Ep=Sp,Cp={\\\"X,X div\\\":\\\"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 .modebar\\\":\\\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\\\",\\\"X .modebar--hover\\\":\\\"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\\\":\\\"opacity:1;\\\",\\\"X .modebar-group\\\":\\\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\\\",\\\"X .modebar-group:first-child\\\":\\\"margin-left:0px;\\\",\\\"X .modebar-btn\\\":\\\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\\\",\\\"X .modebar-btn svg\\\":\\\"position:relative;top:2px;\\\",\\\"X .modebar-btn path\\\":\\\"fill:rgba(0,31,95,0.3);\\\",\\\"X .modebar-btn.active path,X .modebar-btn:hover path\\\":\\\"fill:rgba(0,22,72,0.5);\\\",\\\"X .modebar-btn.modebar-btn--logo\\\":\\\"padding:3px 1px;\\\",\\\"X .modebar-btn.modebar-btn--logo path\\\":\\\"fill:#447adb !important;\\\",\\\"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 .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';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 Lp in Cp){var zp=Lp.replace(/^,/,\\\" ,\\\").replace(/X/g,\\\".js-plotly-plot .plotly\\\").replace(/Y/g,\\\".plotly-notifier\\\");ne.addStyleRule(zp,Cp[Lp])}var Pp,Ip,Dp,Op={undo:{width:857.1,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\\\",ascent:850,descent:-150},home:{width:928.6,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\\\",ascent:850,descent:-150},\\\"camera-retro\\\":{width: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\\\",ascent:850,descent:-150},zoombox:{width: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\\\",ascent:850,descent:-150},pan:{width: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\\\",ascent:850,descent:-150},zoom_plus:{width: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\\\",ascent:850,descent:-150},zoom_minus:{width:1e3,path:\\\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\\\",ascent:850,descent:-150},autoscale:{width: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\\\",ascent:850,descent:-150},tooltip_basic:{width:1500,path:\\\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\\\",ascent:850,descent:-150},tooltip_compare:{width:1125,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\\\",ascent:850,descent:-150},plotlylogo:{width:1542,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\\\",ascent:850,descent:-150},\\\"z-axis\\\":{width: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\\\",ascent:850,descent:-150},\\\"3d_rotate\\\":{width: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\\\",ascent:850,descent:-150},camera:{width: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\\\",ascent:850,descent:-150},movie:{width: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\\\",ascent:850,descent:-150},question:{width:857.1,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\\\",ascent:850,descent:-150},disk:{width:857.1,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\\\",ascent:850,descent:-150},lasso:{width:1031,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\\\",ascent:850,descent:-150},selectbox:{width: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\\\",ascent:850,descent:-150},spikeline:{width: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\\\",ascent:850,descent:-150}},Rp=Pp={};function Fp(){throw new Error(\\\"setTimeout has not been defined\\\")}function Bp(){throw new Error(\\\"clearTimeout has not been defined\\\")}function Np(t){if(Ip===setTimeout)return setTimeout(t,0);if((Ip===Fp||!Ip)&&setTimeout)return Ip=setTimeout,setTimeout(t,0);try{return Ip(t,0)}catch(e){try{return Ip.call(null,t,0)}catch(e){return Ip.call(this,t,0)}}}!function(){try{Ip=\\\"function\\\"==typeof setTimeout?setTimeout:Fp}catch(t){Ip=Fp}try{Dp=\\\"function\\\"==typeof clearTimeout?clearTimeout:Bp}catch(t){Dp=Bp}}();var jp,Vp=[],Up=!1,qp=-1;function Hp(){Up&&jp&&(Up=!1,jp.length?Vp=jp.concat(Vp):qp=-1,Vp.length&&Gp())}function Gp(){if(!Up){var t=Np(Hp);Up=!0;for(var e=Vp.length;e;){for(jp=Vp,Vp=[];++qp<e;)jp&&jp[qp].run();qp=-1,e=Vp.length}jp=null,Up=!1,function(t){if(Dp===clearTimeout)return clearTimeout(t);if((Dp===Bp||!Dp)&&clearTimeout)return Dp=clearTimeout,clearTimeout(t);try{Dp(t)}catch(e){try{return Dp.call(null,t)}catch(e){return Dp.call(this,t)}}}(t)}}function Wp(t,e){this.fun=t,this.array=e}function Yp(){}Rp.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];Vp.push(new Wp(t,e)),1!==Vp.length||Up||Np(Gp)},Wp.prototype.run=function(){this.fun.apply(null,this.array)},Rp.title=\\\"browser\\\",Rp.browser=!0,Rp.env={},Rp.argv=[],Rp.version=\\\"\\\",Rp.versions={},Rp.on=Yp,Rp.addListener=Yp,Rp.once=Yp,Rp.off=Yp,Rp.removeListener=Yp,Rp.removeAllListeners=Yp,Rp.emit=Yp,Rp.prependListener=Yp,Rp.prependOnceListener=Yp,Rp.listeners=function(t){return[]},Rp.binding=function(t){throw new Error(\\\"process.binding is not supported\\\")},Rp.cwd=function(){return\\\"/\\\"},Rp.chdir=function(t){throw new Error(\\\"process.chdir is not supported\\\")},Rp.umask=function(){return 0};var Xp={exports:{}};(function(t,e){!function(t,e){\\\"object\\\"==typeof Xp.exports?Xp.exports=e():t.ES6Promise=e()}(this,function(){\\\"use strict\\\";function r(t){return\\\"function\\\"==typeof t}var n=Array.isArray?Array.isArray:function(t){return\\\"[object Array]\\\"===Object.prototype.toString.call(t)},i=0,a=void 0,o=void 0,s=function(t,e){d[i]=t,d[i+1]=e,2===(i+=2)&&(o?o(g):b())};var l=\\\"undefined\\\"!=typeof window?window:void 0,u=l||{},c=u.MutationObserver||u.WebKitMutationObserver,h=\\\"undefined\\\"==typeof self&&void 0!==t&&\\\"[object process]\\\"==={}.toString.call(t),f=\\\"undefined\\\"!=typeof Uint8ClampedArray&&\\\"undefined\\\"!=typeof importScripts&&\\\"undefined\\\"!=typeof MessageChannel;function p(){var t=setTimeout;return function(){return t(g,1)}}var d=new Array(1e3);function g(){for(var t=0;t<i;t+=2){(0,d[t])(d[t+1]),d[t]=void 0,d[t+1]=void 0}i=0}var v,m,y,x,b=void 0;function _(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&V(i);var a,o=n._state;return o?(a=r[o-1],s(function(){return N(o,i,a,n._result)})):O(n,i,t,e),i}function w(t){if(t&&\\\"object\\\"==typeof t&&t.constructor===this)return t;var e=new this(A);return z(e,t),e}h?b=function(){return t.nextTick(g)}:c?(m=0,y=new c(g),x=document.createTextNode(\\\"\\\"),y.observe(x,{characterData:!0}),b=function(){x.data=m=++m%2}):f?((v=new MessageChannel).port1.onmessage=g,b=function(){return v.port2.postMessage(0)}):b=void 0===l&&\\\"function\\\"==typeof require?function(){try{var t=require(\\\"vertx\\\");return a=t.runOnLoop||t.runOnContext,function(){a(g)}}catch(t){return p()}}():p();var M=Math.random().toString(36).substring(16);function A(){}var k=void 0,T=1,S=2,E=new F;function C(t){try{return t.then}catch(t){return E.error=t,E}}function L(t,e,n){e.constructor===t.constructor&&n===_&&e.constructor.resolve===w?function(t,e){e._state===T?I(t,e._result):e._state===S?D(t,e._result):O(e,void 0,function(e){return z(t,e)},function(e){return D(t,e)})}(t,e):n===E?D(t,E.error):void 0===n?I(t,e):r(n)?function(t,e,r){s(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?z(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&i&&(n=!0,D(t,i))},t)}(t,e,n):I(t,e)}function z(t,e){var r;t===e?D(t,new TypeError(\\\"You cannot resolve a promise with itself\\\")):\\\"function\\\"==typeof(r=e)||\\\"object\\\"==typeof r&&null!==r?L(t,e,C(e)):I(t,e)}function P(t){t._onerror&&t._onerror(t._result),R(t)}function I(t,e){t._state===k&&(t._result=e,t._state=T,0!==t._subscribers.length&&s(R,t))}function D(t,e){t._state===k&&(t._state=S,t._result=e,s(P,t))}function O(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+T]=r,i[a+S]=n,0===a&&t._state&&s(R,t)}function R(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?N(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var B=new F;function N(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return B.error=t,B}}(n,i))===B?(u=!0,s=o.error,o=null):l=!0,e===o)return void D(e,new TypeError(\\\"A promises callback cannot return that same promise.\\\"))}else o=i,l=!0;e._state!==k||(a&&l?z(e,o):u?D(e,s):t===T?I(e,o):t===S&&D(e,o))}var j=0;function V(t){t[M]=j++,t._state=void 0,t._result=void 0,t._subscribers=[]}function U(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||V(this.promise),n(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error(\\\"Array Methods must be provided an Array\\\"))}function q(t){this[M]=j++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\\\"function\\\"!=typeof t&&function(){throw new TypeError(\\\"You must pass a resolver function as the first argument to the promise constructor\\\")}(),this instanceof q?function(t,e){try{e(function(e){z(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError(\\\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\\\")}())}function H(){var t=void 0;if(void 0!==e)t=e;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 r=t.Promise;if(r){var n=null;try{n=Object.prototype.toString.call(r.resolve())}catch(t){}if(\\\"[object Promise]\\\"===n&&!r.cast)return}t.Promise=q}return U.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===k&&r<t;r++)this._eachEntry(e[r],r)},U.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===w){var i=C(t);if(i===_&&t._state!==k)this._settledAt(t._state,e,t._result);else if(\\\"function\\\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===q){var a=new r(A);L(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},U.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===k&&(this._remaining--,t===S?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},U.prototype._willSettleAt=function(t,e){var r=this;O(t,void 0,function(t){return r._settledAt(T,e,t)},function(t){return r._settledAt(S,e,t)})},q.all=function(t){return new U(this,t).promise},q.race=function(t){var e=this;return n(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\\\"You must pass an array to race.\\\"))})},q.resolve=w,q.reject=function(t){var e=new this(A);return D(e,t),e},q._setScheduler=function(t){o=t},q._setAsap=function(t){s=t},q._asap=s,q.prototype={constructor:q,then:_,catch:function(t){return this.then(null,t)}},H(),q.polyfill=H,q.Promise=q,q})}).call(this,Pp,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{}),Xp=Xp.exports;var Zp=[{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}],Jp={_isLinkedToArray:\\\"annotation\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},text:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},textangle:{valType:\\\"angle\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},font:T({editType:\\\"calcIfAutorange+arraydraw\\\",colorEditType:\\\"arraydraw\\\"}),width:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+arraydraw\\\"},height:{valType:\\\"number\\\",min:1,dflt:null,editType:\\\"calcIfAutorange+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:\\\"calcIfAutorange+arraydraw\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},showarrow:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},arrowcolor:{valType:\\\"color\\\",editType:\\\"arraydraw\\\"},arrowhead:{valType:\\\"integer\\\",min:0,max:Zp.length,dflt:1,editType:\\\"arraydraw\\\"},startarrowhead:{valType:\\\"integer\\\",min:0,max:Zp.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:\\\"calcIfAutorange+arraydraw\\\"},startarrowsize:{valType:\\\"number\\\",min:.3,dflt:1,editType:\\\"calcIfAutorange+arraydraw\\\"},arrowwidth:{valType:\\\"number\\\",min:.1,editType:\\\"calcIfAutorange+arraydraw\\\"},standoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},startstandoff:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},ax:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},ay:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},axref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",Te.idRegex.x.toString()],editType:\\\"calc\\\"},ayref:{valType:\\\"enumerated\\\",dflt:\\\"pixel\\\",values:[\\\"pixel\\\",Te.idRegex.y.toString()],editType:\\\"calc\\\"},xref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",Te.idRegex.x.toString()],editType:\\\"calc\\\"},x:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},xshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+arraydraw\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",Te.idRegex.y.toString()],editType:\\\"calc\\\"},y:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yshift:{valType:\\\"number\\\",dflt:0,editType:\\\"calcIfAutorange+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:T({editType:\\\"arraydraw\\\"}),editType:\\\"arraydraw\\\"},captureevents:{valType:\\\"boolean\\\",editType:\\\"arraydraw\\\"},editType:\\\"calc\\\",_deprecated:{ref:{valType:\\\"string\\\",editType:\\\"calc\\\"}}},Kp=function(t,r,n){var i,a,o,s,l=t.node(),u=Zp[n.arrowhead||0],c=Zp[n.startarrowhead||0],h=(n.arrowwidth||1)*(n.arrowsize||1),f=(n.arrowwidth||1)*(n.startarrowsize||1),p=r.indexOf(\\\"start\\\")>=0,d=r.indexOf(\\\"end\\\")>=0,g=u.backoff*h+n.standoff,v=c.backoff*f+n.startstandoff;if(\\\"line\\\"===l.nodeName){i={x:+t.attr(\\\"x1\\\"),y:+t.attr(\\\"y1\\\")},a={x:+t.attr(\\\"x2\\\"),y:+t.attr(\\\"y2\\\")};var m=i.x-a.x,y=i.y-a.y;if(s=(o=Math.atan2(y,m))+Math.PI,g&&v&&g+v>Math.sqrt(m*m+y*y))return void C();if(g){if(g*g>m*m+y*y)return void C();var x=g*Math.cos(o),b=g*Math.sin(o);a.x+=x,a.y+=b,t.attr({x2:a.x,y2:a.y})}if(v){if(v*v>m*m+y*y)return void C();var _=v*Math.cos(o),w=v*Math.sin(o);i.x-=_,i.y-=w,t.attr({x1:i.x,y1:i.y})}}else if(\\\"path\\\"===l.nodeName){var M=l.getTotalLength(),A=\\\"\\\";if(M<g+v)return void C();var k=l.getPointAtLength(0),T=l.getPointAtLength(.1);o=Math.atan2(k.y-T.y,k.x-T.x),i=l.getPointAtLength(Math.min(v,M)),A=\\\"0px,\\\"+v+\\\"px,\\\";var S=l.getPointAtLength(M),E=l.getPointAtLength(M-.1);s=Math.atan2(S.y-E.y,S.x-E.x),a=l.getPointAtLength(Math.max(0,M-g)),A+=M-(A?v+g:g)+\\\"px,\\\"+M+\\\"px\\\",t.style(\\\"stroke-dasharray\\\",A)}function C(){t.style(\\\"stroke-dasharray\\\",\\\"0px,100px\\\")}function L(r,i,a,o){r.path&&(r.noRotate&&(a=0),e.select(l.parentNode).append(\\\"path\\\").attr({class:t.attr(\\\"class\\\"),d:r.path,transform:\\\"translate(\\\"+i.x+\\\",\\\"+i.y+\\\")\\\"+(a?\\\"rotate(\\\"+180*a/Math.PI+\\\")\\\":\\\"\\\")+\\\"scale(\\\"+o+\\\")\\\"}).style({fill:Oe.rgb(n.arrowcolor),\\\"stroke-width\\\":0}))}p&&L(c,i,o,f),d&&L(u,a,s,h)},Qp={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&&$p(t,r);return _n.previousPromises(t)},drawOne:$p,drawRaw:td};function $p(t,e){var r=t._fullLayout.annotations[e]||{};td(t,r,e,!1,ri.getFromId(t,r.xref),ri.getFromId(t,r.yref))}function td(t,r,n,i,a,o){var s,l,u=t._fullLayout,c=t._fullLayout._size,h=t._context.edits;i?(s=\\\"annotation-\\\"+i,l=i+\\\".annotations[\\\"+n+\\\"]\\\"):(s=\\\"annotation\\\",l=\\\"annotations[\\\"+n+\\\"]\\\"),u._infolayer.selectAll(\\\".\\\"+s+'[data-index=\\\"'+n+'\\\"]').remove();var f=\\\"clip\\\"+u._uid+\\\"_ann\\\"+n;if(r._input&&!1!==r.visible){var p={x:{},y:{}},d=+r.textangle||0,g=u._infolayer.append(\\\"g\\\").classed(s,!0).attr(\\\"data-index\\\",String(n)).style(\\\"opacity\\\",r.opacity),v=g.append(\\\"g\\\").classed(\\\"annotation-text-g\\\",!0),m=h[r.showarrow?\\\"annotationTail\\\":\\\"annotationPosition\\\"],y=r.captureevents||h.annotationText||m,x=v.append(\\\"g\\\").style(\\\"pointer-events\\\",y?\\\"all\\\":null).call(Ka,\\\"default\\\").on(\\\"click\\\",function(){t._dragging=!1;var a={index:n,annotation:r._input,fullAnnotation:r,event:e.event};i&&(a.subplotId=i),t.emit(\\\"plotly_clickannotation\\\",a)});r.hovertext&&x.on(\\\"mouseover\\\",function(){var e=r.hoverlabel,n=e.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();yo.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:r.hovertext,color:e.bgcolor,borderColor:e.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t})}).on(\\\"mouseout\\\",function(){yo.loneUnhover(u._hoverlayer.node())});var b=r.borderwidth,_=r.borderpad,w=b+_,M=x.append(\\\"rect\\\").attr(\\\"class\\\",\\\"bg\\\").style(\\\"stroke-width\\\",b+\\\"px\\\").call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor),A=r.width||r.height,k=u._topclips.selectAll(\\\"#\\\"+f).data(A?[0]:[]);k.enter().append(\\\"clipPath\\\").classed(\\\"annclip\\\",!0).attr(\\\"id\\\",f).append(\\\"rect\\\"),k.exit().remove();var T=r.font,S=x.append(\\\"text\\\").classed(\\\"annotation-text\\\",!0).text(r.text);h.annotationText?S.call(er.makeEditable,{delegate:x,gd:t}).call(E).on(\\\"edit\\\",function(e){r.text=e,this.call(E);var n={};n[l+\\\".text\\\"]=r.text,a&&a.autorange&&(n[a._name+\\\".autorange\\\"]=!0),o&&o.autorange&&(n[o._name+\\\".autorange\\\"]=!0),P.call(\\\"relayout\\\",t,n)}):S.call(E)}else e.selectAll(\\\"#\\\"+f).remove();function E(e){return e.call(Sr.font,T).attr({\\\"text-anchor\\\":{left:\\\"start\\\",right:\\\"end\\\"}[r.align]||\\\"middle\\\"}),er.convertToTspans(e,t,C),e}function C(){var e=S.selectAll(\\\"a\\\");1===e.size()&&e.text()===S.text()&&x.insert(\\\"a\\\",\\\":first-child\\\").attr({\\\"xlink:xlink:href\\\":e.attr(\\\"xlink:href\\\"),\\\"xlink:xlink:show\\\":e.attr(\\\"xlink:show\\\")}).style({cursor:\\\"pointer\\\"}).node().appendChild(M.node());var n=x.select(\\\".annotation-text-math-group\\\"),s=!n.empty(),y=Sr.bBox((s?n:S).node()),_=y.width,T=y.height,E=r.width||_,C=r.height||T,L=Math.round(E+2*w),z=Math.round(C+2*w);function I(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]}r._w=E,r._h=C;for(var D=!1,O=[\\\"x\\\",\\\"y\\\"],R=0;R<O.length;R++){var F,B,N,j,V,U=O[R],q=r[U+\\\"ref\\\"]||U,H=r[\\\"a\\\"+U+\\\"ref\\\"],G={x:a,y:o}[U],W=(d+(\\\"x\\\"===U?0:-90))*Math.PI/180,Y=L*Math.cos(W),X=z*Math.sin(W),Z=Math.abs(Y)+Math.abs(X),J=r[U+\\\"anchor\\\"],K=r[U+\\\"shift\\\"]*(\\\"x\\\"===U?1:-1),Q=p[U];if(G){var $=G.r2fraction(r[U]);if((t._dragging||!G.autorange)&&($<0||$>1)&&(H===q?(($=G.r2fraction(r[\\\"a\\\"+U]))<0||$>1)&&(D=!0):D=!0,D))continue;F=G._offset+G.r2p(r[U]),j=.5}else\\\"x\\\"===U?(N=r[U],F=c.l+c.w*N):(N=1-r[U],F=c.t+c.h*N),j=r.showarrow?.5:N;if(r.showarrow){Q.head=F;var tt=r[\\\"a\\\"+U];V=Y*I(.5,r.xanchor)-X*I(.5,r.yanchor),H===q?(Q.tail=G._offset+G.r2p(tt),B=V):(Q.tail=F+tt,B=V+tt),Q.text=Q.tail+V;var et=u[\\\"x\\\"===U?\\\"width\\\":\\\"height\\\"];if(\\\"paper\\\"===q&&(Q.head=ne.constrain(Q.head,1,et-1)),\\\"pixel\\\"===H){var rt=-Math.max(Q.tail-3,Q.text),nt=Math.min(Q.tail+3,Q.text)-et;rt>0?(Q.tail+=rt,Q.text+=rt):nt>0&&(Q.tail-=nt,Q.text-=nt)}Q.tail+=K,Q.head+=K}else B=V=Z*I(j,J),Q.text=F+V;Q.text+=K,V+=K,B+=K,r[\\\"_\\\"+U+\\\"padplus\\\"]=Z/2+B,r[\\\"_\\\"+U+\\\"padminus\\\"]=Z/2-B,r[\\\"_\\\"+U+\\\"size\\\"]=Z,r[\\\"_\\\"+U+\\\"shift\\\"]=V}if(D)x.remove();else{var it=0,at=0;if(\\\"left\\\"!==r.align&&(it=(E-_)*(\\\"center\\\"===r.align?.5:1)),\\\"top\\\"!==r.valign&&(at=(C-T)*(\\\"middle\\\"===r.valign?.5:1)),s)n.select(\\\"svg\\\").attr({x:w+it-1,y:w+at}).call(Sr.setClipUrl,A?f:null);else{var ot=w+at-y.top,st=w+it-y.left;S.call(er.positionText,st,ot).call(Sr.setClipUrl,A?f:null)}k.select(\\\"rect\\\").call(Sr.setRect,w,w,E,C),M.call(Sr.setRect,b/2,b/2,L-b,z-b),x.call(Sr.setTranslate,Math.round(p.x.text-L/2),Math.round(p.y.text-z/2)),v.attr({transform:\\\"rotate(\\\"+d+\\\",\\\"+p.x.text+\\\",\\\"+p.y.text+\\\")\\\"});var lt,ut,ct=function(e,n){g.selectAll(\\\".annotation-arrow-g\\\").remove();var s=p.x.head,u=p.y.head,f=p.x.tail+e,m=p.y.tail+n,y=p.x.text+e,b=p.y.text+n,_=ne.rotationXYMatrix(d,y,b),w=ne.apply2DTransform(_),A=ne.apply2DTransform2(_),k=+M.attr(\\\"width\\\"),T=+M.attr(\\\"height\\\"),S=y-.5*k,E=S+k,C=b-.5*T,L=C+T,z=[[S,C,S,L],[S,L,E,L],[E,L,E,C],[E,C,S,C]].map(A);if(!z.reduce(function(t,e){return t^!!ne.segmentsIntersect(s,u,s+1e6,u+1e6,e[0],e[1],e[2],e[3])},!1)){z.forEach(function(t){var e=ne.segmentsIntersect(f,m,s,u,t[0],t[1],t[2],t[3]);e&&(f=e.x,m=e.y)});var I=r.arrowwidth,D=r.arrowcolor,O=r.arrowside,R=g.append(\\\"g\\\").style({opacity:Oe.opacity(D)}).classed(\\\"annotation-arrow-g\\\",!0),F=R.append(\\\"path\\\").attr(\\\"d\\\",\\\"M\\\"+f+\\\",\\\"+m+\\\"L\\\"+s+\\\",\\\"+u).style(\\\"stroke-width\\\",I+\\\"px\\\").call(Oe.stroke,Oe.rgb(D));if(Kp(F,O,r),h.annotationPosition&&F.node().parentNode&&!i){var B=s,N=u;if(r.standoff){var j=Math.sqrt(Math.pow(s-f,2)+Math.pow(u-m,2));B+=r.standoff*(f-s)/j,N+=r.standoff*(m-u)/j}var V,U,q,H=R.append(\\\"path\\\").classed(\\\"annotation-arrow\\\",!0).classed(\\\"anndrag\\\",!0).attr({d:\\\"M3,3H-3V-3H3ZM0,0L\\\"+(f-B)+\\\",\\\"+(m-N),transform:\\\"translate(\\\"+B+\\\",\\\"+N+\\\")\\\"}).style(\\\"stroke-width\\\",I+6+\\\"px\\\").call(Oe.stroke,\\\"rgba(0,0,0,0)\\\").call(Oe.fill,\\\"rgba(0,0,0,0)\\\");Ua.init({element:H.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(x);U=t.x,q=t.y,V={},a&&a.autorange&&(V[a._name+\\\".autorange\\\"]=!0),o&&o.autorange&&(V[o._name+\\\".autorange\\\"]=!0)},moveFn:function(t,e){var n=w(U,q),i=n[0]+t,s=n[1]+e;x.call(Sr.setTranslate,i,s),V[l+\\\".x\\\"]=a?a.p2r(a.r2p(r.x)+t):r.x+t/c.w,V[l+\\\".y\\\"]=o?o.p2r(o.r2p(r.y)+e):r.y-e/c.h,r.axref===r.xref&&(V[l+\\\".ax\\\"]=a.p2r(a.r2p(r.ax)+t)),r.ayref===r.yref&&(V[l+\\\".ay\\\"]=o.p2r(o.r2p(r.ay)+e)),R.attr(\\\"transform\\\",\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"),v.attr({transform:\\\"rotate(\\\"+d+\\\",\\\"+i+\\\",\\\"+s+\\\")\\\"})},doneFn:function(){P.call(\\\"relayout\\\",t,V);var e=document.querySelector(\\\".js-notes-box-panel\\\");e&&e.redraw(e.selectedObj)}})}}};if(r.showarrow&&ct(0,0),m)Ua.init({element:x.node(),gd:t,prepFn:function(){ut=v.attr(\\\"transform\\\"),lt={}},moveFn:function(t,e){var n=\\\"pointer\\\";if(r.showarrow)r.axref===r.xref?lt[l+\\\".ax\\\"]=a.p2r(a.r2p(r.ax)+t):lt[l+\\\".ax\\\"]=r.ax+t,r.ayref===r.yref?lt[l+\\\".ay\\\"]=o.p2r(o.r2p(r.ay)+e):lt[l+\\\".ay\\\"]=r.ay+e,ct(t,e);else{if(i)return;if(a)lt[l+\\\".x\\\"]=a.p2r(a.r2p(r.x)+t);else{var s=r._xsize/c.w,u=r.x+(r._xshift-r.xshift)/c.w-s/2;lt[l+\\\".x\\\"]=Ua.align(u+t/c.w,s,0,1,r.xanchor)}if(o)lt[l+\\\".y\\\"]=o.p2r(o.r2p(r.y)+e);else{var h=r._ysize/c.h,f=r.y-(r._yshift+r.yshift)/c.h-h/2;lt[l+\\\".y\\\"]=Ua.align(f-e/c.h,h,0,1,r.yanchor)}a&&o||(n=Ua.getCursor(a?.5:lt[l+\\\".x\\\"],o?.5:lt[l+\\\".y\\\"],r.xanchor,r.yanchor))}v.attr({transform:\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"+ut}),Ka(x,n)},doneFn:function(){Ka(x),P.call(\\\"relayout\\\",t,lt);var e=document.querySelector(\\\".js-notes-box-panel\\\");e&&e.redraw(e.selectedObj)}})}}}var ed=Qp.draw;function rd(t){var e=t._fullLayout;ne.filterVisible(e.annotations).forEach(function(e){var r,n,i,a,o=ri.getFromId(t,e.xref),s=ri.getFromId(t,e.yref),l=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;o&&o.autorange&&(r=l+e.xshift,n=l-e.xshift,i=u+e.xshift,a=u-e.xshift,e.axref===e.xref?(ri.expand(o,[o.r2c(e.x)],{ppadplus:r,ppadminus:n}),ri.expand(o,[o.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,a)})):(i=e.ax?i+e.ax:i,a=e.ax?a-e.ax:a,ri.expand(o,[o.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,a)}))),s&&s.autorange&&(r=l-e.yshift,n=l+e.yshift,i=u-e.yshift,a=u+e.yshift,e.ayref===e.yref?(ri.expand(s,[s.r2c(e.y)],{ppadplus:r,ppadminus:n}),ri.expand(s,[s.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,a)})):(i=e.ay?i+e.ay:i,a=e.ay?a-e.ay:a,ri.expand(s,[s.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,a)})))})}var nd={hasClickToShow:function(t,e){var r=id(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,n=id(t,e),i=n.on,a=n.off.concat(n.explicitOff),o={};if(!i.length&&!a.length)return;for(r=0;r<i.length;r++)o[\\\"annotations[\\\"+i[r]+\\\"].visible\\\"]=!0;for(r=0;r<a.length;r++)o[\\\"annotations[\\\"+a[r]+\\\"].visible\\\"]=!1;return P.call(\\\"update\\\",t,{},o)}};function id(t,e){var r,n,i,a,o,s,l,u=t._fullLayout.annotations,c=[],h=[],f=[],p=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<p;n++)if(s=(o=e[n]).xaxis,l=o.yaxis,s._id===i.xref&&l._id===i.yref&&s.d2r(o.x)===ad(i._xclick,s)&&l.d2r(o.y)===ad(i._yclick,l)){(i.visible?\\\"onout\\\"===a?h:f:c).push(r);break}n===p&&i.visible&&\\\"onout\\\"===a&&h.push(r)}return{on:c,off:h,explicitOff:f}}function ad(t,e){return\\\"log\\\"===e.type?e.l2r(t):e.d2r(t)}var od=function(t,e,r,n){n(\\\"opacity\\\");var i=n(\\\"bgcolor\\\"),a=n(\\\"bordercolor\\\"),o=Oe.opacity(a);n(\\\"borderpad\\\");var s=n(\\\"borderwidth\\\"),l=n(\\\"showarrow\\\");if(n(\\\"text\\\",l?\\\" \\\":r._dfltTitle.annotation),n(\\\"textangle\\\"),ne.coerceFont(n,\\\"font\\\",r.font),n(\\\"width\\\"),n(\\\"align\\\"),n(\\\"height\\\")&&n(\\\"valign\\\"),l){var u,c,h=n(\\\"arrowside\\\");-1!==h.indexOf(\\\"end\\\")&&(u=n(\\\"arrowhead\\\"),c=n(\\\"arrowsize\\\")),-1!==h.indexOf(\\\"start\\\")&&(n(\\\"startarrowhead\\\",u),n(\\\"startarrowsize\\\",c)),n(\\\"arrowcolor\\\",o?e.bordercolor:Oe.defaultLine),n(\\\"arrowwidth\\\",2*(o&&s||1)),n(\\\"standoff\\\"),n(\\\"startstandoff\\\")}var f=n(\\\"hovertext\\\"),p=r.hoverlabel||{};if(f){var d=n(\\\"hoverlabel.bgcolor\\\",p.bgcolor||(Oe.opacity(i)?Oe.rgb(i):Oe.defaultLine)),g=n(\\\"hoverlabel.bordercolor\\\",p.bordercolor||Oe.contrast(d));ne.coerceFont(n,\\\"hoverlabel.font\\\",{family:p.font.family,size:p.font.size,color:p.font.color||g})}n(\\\"captureevents\\\",!!f)},sd=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,Jp,r,n)}n=n||{};var o=a(\\\"visible\\\",!(i=i||{}).itemIsNotPlainObject),s=a(\\\"clicktoshow\\\");if(!o&&!s)return e;od(t,e,r,a);for(var l=e.showarrow,u=[\\\"x\\\",\\\"y\\\"],c=[-10,-30],h={_fullLayout:r},f=0;f<2;f++){var p=u[f],d=ri.coerceRef(t,e,h,p,\\\"\\\",\\\"paper\\\");if(ri.coercePosition(e,h,a,d,p,.5),l){var g=\\\"a\\\"+p,v=ri.coerceRef(t,e,h,g,\\\"pixel\\\");\\\"pixel\\\"!==v&&v!==d&&(v=e[g]=\\\"pixel\\\");var m=\\\"pixel\\\"===v?c[f]:.4;ri.coercePosition(e,h,a,v,g,m)}a(p+\\\"anchor\\\"),a(p+\\\"shift\\\")}if(ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),l&&ne.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"]),s){var y=a(\\\"xclick\\\"),x=a(\\\"yclick\\\");e._xclick=void 0===y?e.x:ri.cleanPosition(y,h,e.xref),e._yclick=void 0===x?e.y:ri.cleanPosition(x,h,e.yref)}return e},ld=function(t,e,r){var n,i=r.name,a=e[i],o=ne.isArrayOrTypedArray(t[i])?t[i]:[],s=e[i]=[];for(n=0;n<o.length;n++){var l=o[n],u={},c={};ne.isPlainObject(l)||(c.itemIsNotPlainObject=!0,l={}),r.handleItemDefaults(l,u,e,r,c),u._input=l,u._index=n,s.push(u)}if(ne.isArrayOrTypedArray(a)){var h=Math.min(a.length,s.length);for(n=0;n<h;n++)ne.relinkPrivateKeys(s[n],a[n])}},ud=function(t){return function(e,r){var n=e[t];if(Array.isArray(n))for(var i=P.subplotsRegistry.cartesian,a=i.idRegex,o=r._subplots,s=o.xaxis,l=o.yaxis,u=o.cartesian,c=r._has(\\\"cartesian\\\")||r._has(\\\"gl2d\\\"),h=0;h<n.length;h++){var f=n[h];if(ne.isPlainObject(f)){var p=f.xref,d=f.yref,g=a.x.test(p),v=a.y.test(d);if(g||v){c||ne.pushUnique(r._basePlotModules,i);var m=!1;g&&-1===s.indexOf(p)&&(s.push(p),m=!0),v&&-1===l.indexOf(d)&&(l.push(d),m=!0),m&&g&&v&&u.push(p+d)}}}}},cd={moduleType:\\\"component\\\",name:\\\"annotations\\\",layoutAttributes:Jp,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\\\"annotations\\\",handleItemDefaults:sd})},includeBasePlot:ud(\\\"annotations\\\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.annotations);if(r.length&&t._fullData.length){var n={};for(var i in r.forEach(function(t){n[t.xref]=1,n[t.yref]=1}),n){var a=ri.getFromId(t,i);if(a&&a.autorange)return ne.syncOrAsync([ed,rd],t)}}},draw:Qp.draw,drawOne:Qp.drawOne,drawRaw:Qp.drawRaw,hasClickToShow:nd.hasClickToShow,onClick:nd.onClick,convertCoords:function(t,e,n,i){e=e||{};var a=\\\"log\\\"===n&&\\\"linear\\\"===e.type,o=\\\"linear\\\"===n&&\\\"log\\\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.annotations,c=e._id.charAt(0),h=0;h<u.length;h++)s=u[h],l=\\\"annotations[\\\"+h+\\\"].\\\",s[c+\\\"ref\\\"]===e._id&&f(c),s[\\\"a\\\"+c+\\\"ref\\\"]===e._id&&f(\\\"a\\\"+c);function f(t){var n=s[t],o=null;o=a?re(n,e.range):Math.pow(10,n),r(o)||(o=null),i(l+t,o)}}},hd=(0,ye.overrideAll)({_isLinkedToArray:\\\"annotation\\\",visible:Jp.visible,x:{valType:\\\"any\\\"},y:{valType:\\\"any\\\"},z:{valType:\\\"any\\\"},ax:{valType:\\\"number\\\"},ay:{valType:\\\"number\\\"},xanchor:Jp.xanchor,xshift:Jp.xshift,yanchor:Jp.yanchor,yshift:Jp.yshift,text:Jp.text,textangle:Jp.textangle,font:Jp.font,width:Jp.width,height:Jp.height,opacity:Jp.opacity,align:Jp.align,valign:Jp.valign,bgcolor:Jp.bgcolor,bordercolor:Jp.bordercolor,borderpad:Jp.borderpad,borderwidth:Jp.borderwidth,showarrow:Jp.showarrow,arrowcolor:Jp.arrowcolor,arrowhead:Jp.arrowhead,startarrowhead:Jp.startarrowhead,arrowside:Jp.arrowside,arrowsize:Jp.arrowsize,startarrowsize:Jp.startarrowsize,arrowwidth:Jp.arrowwidth,standoff:Jp.standoff,startstandoff:Jp.startstandoff,hovertext:Jp.hovertext,hoverlabel:Jp.hoverlabel,captureevents:Jp.captureevents},\\\"calc\\\",\\\"from-root\\\");function fd(t,e){var r=e.fullSceneLayout.domain,n=e.fullLayout._size,i={pdata:null,type:\\\"linear\\\",autorange:!1,range:[-1/0,1/0]};t._xa={},ne.extendFlat(t._xa,i),ri.setConvert(t._xa),t._xa._offset=n.l+r.x[0]*n.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*n.w*(r.x[1]-r.x[0])},t._ya={},ne.extendFlat(t._ya,i),ri.setConvert(t._ya),t._ya._offset=n.t+(1-r.y[1])*n.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*n.h*(r.y[1]-r.y[0])}}function pd(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,hd,r,n)}function o(t){var n=t+\\\"axis\\\",i={_fullLayout:{}};return i._fullLayout[n]=r[n],ri.coercePosition(e,i,a,t,t,.5)}return a(\\\"visible\\\",!i.itemIsNotPlainObject)?(od(t,e,n.fullLayout,a),o(\\\"x\\\"),o(\\\"y\\\"),o(\\\"z\\\"),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"]),e.xref=\\\"x\\\",e.yref=\\\"y\\\",e.zref=\\\"z\\\",a(\\\"xanchor\\\"),a(\\\"yanchor\\\"),a(\\\"xshift\\\"),a(\\\"yshift\\\"),e.showarrow&&(e.axref=\\\"pixel\\\",e.ayref=\\\"pixel\\\",a(\\\"ax\\\",-10),a(\\\"ay\\\",-30),ne.noneOrAll(t,e,[\\\"ax\\\",\\\"ay\\\"])),e):e}function dd(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}var gd=function(t,e){return dd(t.projection,dd(t.view,dd(t.model,[e[0],e[1],e[2],1])))},vd=Qp.drawRaw,md=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],yd={moduleType:\\\"component\\\",name:\\\"annotations3d\\\",schema:{subplots:{scene:{annotations:hd}}},layoutAttributes:hd,handleDefaults:function(t,e,r){ld(t,e,{name:\\\"annotations\\\",handleItemDefaults:pd,fullLayout:r.fullLayout})},includeBasePlot:function(t,e){var r=P.subplotsRegistry.gl3d;if(!r)return;for(var n=r.attrRegex,i=Object.keys(t),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(t[o].annotations||[]).length&&(ne.pushUnique(e._basePlotModules,r),ne.pushUnique(e._subplots.gl3d,o))}},convert:function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)fd(e[r],t);t.fullLayout._infolayer.selectAll(\\\".annotation-\\\"+t.id).remove()},draw:function(t){for(var e=t.fullSceneLayout,r=t.dataScale,n=e.annotations,i=0;i<n.length;i++){for(var a=n[i],o=!1,s=0;s<3;s++){var l=md[s],u=a[l],c=e[l+\\\"axis\\\"].r2fraction(u);if(c<0||c>1){o=!0;break}}o?t.fullLayout._infolayer.select(\\\".annotation-\\\"+t.id+'[data-index=\\\"'+i+'\\\"]').remove():(a._pdata=gd(t.glplot.cameraParams,[e.xaxis.r2l(a.x)*r[0],e.yaxis.r2l(a.y)*r[1],e.zaxis.r2l(a.z)*r[2]]),vd(t.graphDiv,a,i,t.id,a._xa,a._ya))}}};var xd={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\\\"}}},bd=function(t){var e=t.type,r=t.symmetric;if(\\\"data\\\"===e){var n=t.array||[];if(r)return function(t,e){var r=+n[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+n[e],a=+i[e];return isNaN(r)&&isNaN(a)?[NaN,NaN]:[a||0,r||0]}}var a=_d(e,t.value),o=_d(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=a(t);return[e,e]}:function(t){return[o(t),a(t)]}};function _d(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}var wd=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],i=n[0].trace;if(P.traceIs(i,\\\"errorBarsOK\\\")){var a=ri.getFromId(t,i.xaxis),o=ri.getFromId(t,i.yaxis);Md(n,i,a,\\\"x\\\"),Md(n,i,o,\\\"y\\\")}}};function Md(t,e,n,i){var a=e[\\\"error_\\\"+i]||{},o=[];if(a.visible&&-1!==[\\\"linear\\\",\\\"log\\\"].indexOf(n.type)){for(var s=bd(a),l=0;l<t.length;l++){var u=t[l],c=u[i];if(r(n.c2l(c))){var h=s(c,l);if(r(h[0])&&r(h[1])){var f=u[i+\\\"s\\\"]=c-h[0],p=u[i+\\\"h\\\"]=c+h[1];o.push(f,p)}}}ri.expand(n,o,{padded:!0})}}var Ad=ye.overrideAll,kd={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd)};delete kd.error_x.copy_zstyle,delete kd.error_y.copy_zstyle,delete kd.error_y.copy_ystyle;var Td={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd),error_z:ne.extendFlat({},xd)};delete Td.error_x.copy_ystyle,delete Td.error_y.copy_ystyle,delete Td.error_z.copy_ystyle,delete Td.error_z.copy_zstyle;var Sd={moduleType:\\\"component\\\",name:\\\"errorbars\\\",schema:{traces:{scatter:kd,bar:kd,histogram:kd,scatter3d:Ad(Td,\\\"calc\\\",\\\"nested\\\"),scattergl:Ad(kd,\\\"calc\\\",\\\"nested\\\")}},supplyDefaults:function(t,e,n,i){var a=\\\"error_\\\"+i.axis,o=e[a]={},s=t[a]||{};function l(t,e){return ne.coerce(s,o,xd,t,e)}if(!1!==l(\\\"visible\\\",void 0!==s.array||void 0!==s.value||\\\"sqrt\\\"===s.type)){var u=l(\\\"type\\\",\\\"array\\\"in s?\\\"data\\\":\\\"percent\\\"),c=!0;\\\"sqrt\\\"!==u&&(c=l(\\\"symmetric\\\",!((\\\"data\\\"===u?\\\"arrayminus\\\":\\\"valueminus\\\")in s))),\\\"data\\\"===u?(l(\\\"array\\\"),l(\\\"traceref\\\"),c||(l(\\\"arrayminus\\\"),l(\\\"tracerefminus\\\"))):\\\"percent\\\"!==u&&\\\"constant\\\"!==u||(l(\\\"value\\\"),c||l(\\\"valueminus\\\"));var h=\\\"copy_\\\"+i.inherit+\\\"style\\\";i.inherit&&(e[\\\"error_\\\"+i.inherit]||{}).visible&&l(h,!(s.color||r(s.thickness)||r(s.width))),i.inherit&&o[h]||(l(\\\"color\\\",n),l(\\\"thickness\\\"),l(\\\"width\\\",P.traceIs(e,\\\"gl3d\\\")?0:4))}},calc:wd,calcFromTrace:function(t,e){for(var r=t.x||[],n=t.y||[],i=r.length||n.length,a=new Array(i),o=0;o<i;o++)a[o]={x:r[o],y:n[o]};return a[0].trace=t,wd({calcdata:[a],_fullLayout:e}),a},plot:function(t,n,i){var a=n.xaxis,o=n.yaxis,s=i&&i.duration>0;t.each(function(t){var l,u=t[0].trace,c=u.error_x||{},h=u.error_y||{};u.ids&&(l=function(t){return t.id});var f=Tr.hasMarkers(u)&&u.marker.maxdisplayed>0;h.visible||c.visible||(t=[]);var p=e.select(this).selectAll(\\\"g.errorbar\\\").data(t,l);if(p.exit().remove(),t.length){c.visible||p.selectAll(\\\"path.xerror\\\").remove(),h.visible||p.selectAll(\\\"path.yerror\\\").remove(),p.style(\\\"opacity\\\",1);var d=p.enter().append(\\\"g\\\").classed(\\\"errorbar\\\",!0);s&&d.style(\\\"opacity\\\",0).transition().duration(i.duration).style(\\\"opacity\\\",1),Sr.setClipUrl(p,n.layerClipId),p.each(function(t){var n=e.select(this),l=function(t,e,n){var i={x:e.c2p(t.x),y:n.c2p(t.y)};return void 0!==t.yh&&(i.yh=n.c2p(t.yh),i.ys=n.c2p(t.ys),r(i.ys)||(i.noYS=!0,i.ys=n.c2p(t.ys,!0))),void 0!==t.xh&&(i.xh=e.c2p(t.xh),i.xs=e.c2p(t.xs),r(i.xs)||(i.noXS=!0,i.xs=e.c2p(t.xs,!0))),i}(t,a,o);if(!f||t.vis){var u,p=n.select(\\\"path.yerror\\\");if(h.visible&&r(l.x)&&r(l.yh)&&r(l.ys)){var d=h.width;u=\\\"M\\\"+(l.x-d)+\\\",\\\"+l.yh+\\\"h\\\"+2*d+\\\"m-\\\"+d+\\\",0V\\\"+l.ys,l.noYS||(u+=\\\"m-\\\"+d+\\\",0h\\\"+2*d),p.size()?s&&(p=p.transition().duration(i.duration).ease(i.easing)):p=n.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"yerror\\\",!0),p.attr(\\\"d\\\",u)}else p.remove();var g=n.select(\\\"path.xerror\\\");if(c.visible&&r(l.y)&&r(l.xh)&&r(l.xs)){var v=(c.copy_ystyle?h:c).width;u=\\\"M\\\"+l.xh+\\\",\\\"+(l.y-v)+\\\"v\\\"+2*v+\\\"m0,-\\\"+v+\\\"H\\\"+l.xs,l.noXS||(u+=\\\"m0,-\\\"+v+\\\"v\\\"+2*v),g.size()?s&&(g=g.transition().duration(i.duration).ease(i.easing)):g=n.append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").classed(\\\"xerror\\\",!0),g.attr(\\\"d\\\",u)}else g.remove()}})}})},style:function(t){t.each(function(t){var r=t[0].trace,n=r.error_y||{},i=r.error_x||{},a=e.select(this);a.selectAll(\\\"path.yerror\\\").style(\\\"stroke-width\\\",n.thickness+\\\"px\\\").call(Oe.stroke,n.color),i.copy_ystyle&&(i=n),a.selectAll(\\\"path.xerror\\\").style(\\\"stroke-width\\\",i.thickness+\\\"px\\\").call(Oe.stroke,i.color)})},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))}};var Ed=tt.counter,Cd=qc.attributes,Ld=Te.idRegex,zd={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:[Ed(\\\"xy\\\").toString(),\\\"\\\"],editType:\\\"plot\\\"},editType:\\\"plot\\\"},xaxes:{valType:\\\"info_array\\\",freeLength:!0,items:{valType:\\\"enumerated\\\",values:[Ld.x.toString(),\\\"\\\"],editType:\\\"plot\\\"},editType:\\\"plot\\\"},yaxes:{valType:\\\"info_array\\\",freeLength:!0,items:{valType:\\\"enumerated\\\",values:[Ld.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:Cd({name:\\\"grid\\\",editType:\\\"plot\\\",noGridCell:!0},{}),xside:{valType:\\\"enumerated\\\",values:[\\\"bottom\\\",\\\"bottom plot\\\",\\\"top plot\\\",\\\"top\\\"],dflt:\\\"bottom plot\\\",editType:\\\"ticks\\\"},yside:{valType:\\\"enumerated\\\",values:[\\\"left\\\",\\\"left plot\\\",\\\"right plot\\\",\\\"right\\\"],dflt:\\\"left plot\\\",editType:\\\"ticks\\\"},editType:\\\"plot\\\"};function Pd(t,e,r,n,i){var a=e(t+\\\"gap\\\",r),o=e(\\\"domain.\\\"+t);e(t+\\\"side\\\");for(var s=new Array(n),l=o[0],u=(o[1]-l)/(n-a),c=u*(1-a),h=0;h<n;h++){var f=l+u*h;s[i?n-1-h:h]=[f,f+c]}return s}function Id(t,e,r,n,i){var a,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(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}var Dd={moduleType:\\\"component\\\",name:\\\"grid\\\",schema:{layout:{grid:zd}},layoutAttributes:zd,sizeDefaults:function(t,e){var r=t.grid;if(r){var n,i,a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(r.xaxes),s=Array.isArray(r.yaxes);a?(n=r.subplots.length,i=r.subplots[0].length):(s&&(n=r.yaxes.length),o&&(i=r.xaxes.length));var l=e.grid={},u=f(\\\"rows\\\",n),c=f(\\\"columns\\\",i);if(u*c>1){a||o||s||\\\"independent\\\"===f(\\\"pattern\\\")&&(a=!0),l._hasSubplotGrid=a;var h=\\\"top to bottom\\\"===f(\\\"roworder\\\");l._domains={x:Pd(\\\"x\\\",f,a?.2:.1,c),y:Pd(\\\"y\\\",f,a?.3:.1,u,h)}}}function f(t,e){return ne.coerce(r,l,zd,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,c=t.grid,h=e._subplots,f=r._hasSubplotGrid,p=r.rows,d=r.columns,g=\\\"independent\\\"===r.pattern,v=r._axisMap={};if(f){var m=c.subplots||[];l=r.subplots=new Array(p);var y=1;for(n=0;n<p;n++){var x=l[n]=new Array(d),b=m[n]||[];for(i=0;i<d;i++)if(g?(s=1===y?\\\"xy\\\":\\\"x\\\"+y+\\\"y\\\"+y,y++):s=b[i],x[i]=\\\"\\\",-1!==h.cartesian.indexOf(s)){if(u=s.indexOf(\\\"y\\\"),a=s.slice(0,u),o=s.slice(u),void 0!==v[a]&&v[a]!==i||void 0!==v[o]&&v[o]!==n)continue;x[i]=s,v[a]=i,v[o]=n}}}else r.xaxes=Id(c.xaxes,h.xaxis,d,v,\\\"x\\\"),r.yaxes=Id(c.yaxes,h.yaxis,p,v,\\\"y\\\");var _=r._anchors={},w=\\\"top to bottom\\\"===r.roworder;for(var M in v){var A,k,T,S=M.charAt(0),E=r[S+\\\"side\\\"];if(E.length<8)_[M]=\\\"free\\\";else if(\\\"x\\\"===S){if(\\\"t\\\"===E.charAt(0)===w?(A=0,k=1,T=p):(A=p-1,k=-1,T=-1),f){var C=v[M];for(n=A;n!==T;n+=k)if((s=l[n][C])&&(u=s.indexOf(\\\"y\\\"),s.slice(0,u)===M)){_[M]=s.slice(u);break}}else for(n=A;n!==T;n+=k)if(o=r.yaxes[n],-1!==h.cartesian.indexOf(M+o)){_[M]=o;break}}else if(\\\"l\\\"===E.charAt(0)?(A=0,k=1,T=d):(A=d-1,k=-1,T=-1),f){var L=v[M];for(n=A;n!==T;n+=k)if((s=l[L][n])&&(u=s.indexOf(\\\"y\\\"),s.slice(u)===M)){_[M]=s.slice(0,u);break}}else for(n=A;n!==T;n+=k)if(a=r.xaxes[n],-1!==h.cartesian.indexOf(a+M)){_[M]=a;break}}}}},Od={_isLinkedToArray:\\\"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\\\",Te.idRegex.x.toString()],dflt:\\\"paper\\\",editType:\\\"arraydraw\\\"},yref:{valType:\\\"enumerated\\\",values:[\\\"paper\\\",Te.idRegex.y.toString()],dflt:\\\"paper\\\",editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"},Rd=\\\"images\\\";function Fd(t,e,r){function n(r,n){return ne.coerce(t,e,Od,r,n)}if(!n(\\\"visible\\\",!!n(\\\"source\\\")))return e;n(\\\"layer\\\"),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"sizex\\\"),n(\\\"sizey\\\"),n(\\\"sizing\\\"),n(\\\"opacity\\\");for(var i={_fullLayout:r},a=[\\\"x\\\",\\\"y\\\"],o=0;o<2;o++){var s=a[o],l=ri.coerceRef(t,e,i,s,\\\"paper\\\");ri.coercePosition(e,i,n,l,s,0)}return e}var Bd={moduleType:\\\"component\\\",name:\\\"images\\\",layoutAttributes:Od,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Rd,handleItemDefaults:Fd})},includeBasePlot:ud(\\\"images\\\"),draw:function(t){var r,n,i=t._fullLayout,a=[],o={},s=[];for(n=0;n<i.images.length;n++){var l=i.images[n];if(l.visible)if(\\\"below\\\"===l.layer&&\\\"paper\\\"!==l.xref&&\\\"paper\\\"!==l.yref){r=l.xref+l.yref;var u=i._plots[r];if(!u){s.push(l);continue}u.mainplot&&(r=u.mainplot.id),o[r]||(o[r]=[]),o[r].push(l)}else\\\"above\\\"===l.layer?a.push(l):s.push(l)}var c={x:{left:{sizing:\\\"xMin\\\",offset:0},center:{sizing:\\\"xMid\\\",offset:-.5},right:{sizing:\\\"xMax\\\",offset:-1}},y:{top:{sizing:\\\"YMin\\\",offset:0},middle:{sizing:\\\"YMid\\\",offset:-.5},bottom:{sizing:\\\"YMax\\\",offset:-1}}};function h(r){var n=e.select(this);if(!this.img||this.img.src!==r.source){n.attr(\\\"xmlns\\\",$e.svg);var i=new Promise(function(t){var e=new Image;function i(){n.remove(),t()}this.img=e,e.setAttribute(\\\"crossOrigin\\\",\\\"anonymous\\\"),e.onerror=i,e.onload=function(){var e=document.createElement(\\\"canvas\\\");e.width=this.width,e.height=this.height,e.getContext(\\\"2d\\\").drawImage(this,0,0);var r=e.toDataURL(\\\"image/png\\\");n.attr(\\\"xlink:href\\\",r),t()},n.on(\\\"error\\\",i),e.src=r.source}.bind(this));t._promises.push(i)}}function f(r){var n=e.select(this),a=ri.getFromId(t,r.xref),o=ri.getFromId(t,r.yref),s=i._size,l=a?Math.abs(a.l2p(r.sizex)-a.l2p(0)):r.sizex*s.w,u=o?Math.abs(o.l2p(r.sizey)-o.l2p(0)):r.sizey*s.h,h=l*c.x[r.xanchor].offset,f=u*c.y[r.yanchor].offset,p=c.x[r.xanchor].sizing+c.y[r.yanchor].sizing,d=(a?a.r2p(r.x)+a._offset:r.x*s.w+s.l)+h,g=(o?o.r2p(r.y)+o._offset:s.h-r.y*s.h+s.t)+f;switch(r.sizing){case\\\"fill\\\":p+=\\\" slice\\\";break;case\\\"stretch\\\":p=\\\"none\\\"}n.attr({x:d,y:g,width:l,height:u,preserveAspectRatio:p,opacity:r.opacity});var v=(a?a._id:\\\"\\\")+(o?o._id:\\\"\\\");n.call(Sr.setClipUrl,v?\\\"clip\\\"+i._uid+v:null)}var p=i._imageLowerLayer.selectAll(\\\"image\\\").data(s),d=i._imageUpperLayer.selectAll(\\\"image\\\").data(a);p.enter().append(\\\"image\\\"),d.enter().append(\\\"image\\\"),p.exit().remove(),d.exit().remove(),p.each(function(t){h.bind(this)(t),f.bind(this)(t)}),d.each(function(t){h.bind(this)(t),f.bind(this)(t)});var g=Object.keys(i._plots);for(n=0;n<g.length;n++){r=g[n];var v=i._plots[r];if(v.imagelayer){var m=v.imagelayer.selectAll(\\\"image\\\").data(o[r]||[]);m.enter().append(\\\"image\\\"),m.exit().remove(),m.each(function(t){h.bind(this)(t),f.bind(this)(t)})}}},convertCoords:function(t,e,n,i){e=e||{};var a=\\\"log\\\"===n&&\\\"linear\\\"===e.type,o=\\\"linear\\\"===n&&\\\"log\\\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.images,c=e._id.charAt(0),h=0;h<u.length;h++)if(l=\\\"images[\\\"+h+\\\"].\\\",(s=u[h])[c+\\\"ref\\\"]===e._id){var f=s[c],p=s[\\\"size\\\"+c],d=null,g=null;if(a){d=re(f,e.range);var v=p/Math.pow(10,d)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(d=Math.pow(10,f))*(Math.pow(10,p/2)-Math.pow(10,-p/2));r(d)?r(g)||(g=null):(d=null,g=null),i(l+c,d),i(l+\\\"size\\\"+c,g)}}},Nd={bgcolor:{valType:\\\"color\\\",editType:\\\"legend\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"legend\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"legend\\\"},font:T({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\\\"},x:{valType:\\\"number\\\",min:-2,max:3,dflt:1.02,editType:\\\"legend\\\"},xanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"left\\\",\\\"center\\\",\\\"right\\\"],dflt:\\\"left\\\",editType:\\\"legend\\\"},y:{valType:\\\"number\\\",min:-2,max:3,dflt:1,editType:\\\"legend\\\"},yanchor:{valType:\\\"enumerated\\\",values:[\\\"auto\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\"],dflt:\\\"auto\\\",editType:\\\"legend\\\"},editType:\\\"legend\\\"},jd={legendGetsTrace:function(t){return t.visible&&void 0!==t.showlegend},isGrouped:function(t){return-1!==(t.traceorder||\\\"\\\").indexOf(\\\"grouped\\\")},isVertical:function(t){return\\\"h\\\"!==t.orientation},isReversed:function(t){return-1!==(t.traceorder||\\\"\\\").indexOf(\\\"reversed\\\")}},Vd={isRightAnchor:function(t){return\\\"right\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>=2/3},isCenterAnchor:function(t){return\\\"center\\\"===t.xanchor||\\\"auto\\\"===t.xanchor&&t.x>1/3&&t.x<2/3},isBottomAnchor:function(t){return\\\"bottom\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y<=1/3},isMiddleAnchor:function(t){return\\\"middle\\\"===t.yanchor||\\\"auto\\\"===t.yanchor&&t.y>1/3&&t.y<2/3}},Ud={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\\\"#808BA4\\\",scrollBarMargin:4},qd=!0,Hd=function(t,e,r){if(!e._dragged&&!e._editing){var n,i,a,o,s,l=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],u=t.data()[0][0],c=e._fullData,h=u.trace,f=h.legendgroup,p={},d=[],g=[],v=[];if(1===r&&qd&&e.data&&e._context.showTips?(ne.notifier(ne._(e,\\\"Double-click on legend to isolate one trace\\\"),\\\"long\\\"),qd=!1):qd=!1,P.traceIs(h,\\\"pie\\\")){var m=u.label,y=l.indexOf(m);1===r?-1===y?l.push(m):l.splice(y,1):2===r&&(l=[],e.calcdata[0].forEach(function(t){m!==t.label&&l.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===l.length&&-1===y&&(l=[])),P.call(\\\"relayout\\\",e,\\\"hiddenlabels\\\",l)}else{var x,b=f&&f.length,_=[];if(b)for(n=0;n<c.length;n++)(x=c[n]).visible&&x.legendgroup===f&&_.push(n);if(1===r){var w;switch(h.visible){case!0:w=\\\"legendonly\\\";break;case!1:w=!1;break;case\\\"legendonly\\\":w=!0}if(b)for(n=0;n<c.length;n++)!1!==c[n].visible&&c[n].legendgroup===f&&C(c[n],w);else C(h,w)}else if(2===r){var M,A,k=!0;for(n=0;n<c.length;n++)if(!(c[n]===h)&&!(M=b&&c[n].legendgroup===f)&&!0===c[n].visible&&!P.traceIs(c[n],\\\"notLegendIsolatable\\\")){k=!1;break}for(n=0;n<c.length;n++)if(!1!==c[n].visible&&!P.traceIs(c[n],\\\"notLegendIsolatable\\\"))switch(h.visible){case\\\"legendonly\\\":C(c[n],!0);break;case!0:A=!!k||\\\"legendonly\\\",M=c[n]===h||b&&c[n].legendgroup===f,C(c[n],!!M||A)}}for(n=0;n<g.length;n++)if(a=g[n]){var T=a.constructUpdate(),S=Object.keys(T);for(i=0;i<S.length;i++)o=S[i],(p[o]=p[o]||[])[v[n]]=T[o]}for(s=Object.keys(p),n=0;n<s.length;n++)for(o=s[n],i=0;i<d.length;i++)p[o].hasOwnProperty(i)||(p[o][i]=void 0);P.call(\\\"restyle\\\",e,p,d)}}function E(t,e,r){var n=d.indexOf(t),i=p[e];return i||(i=p[e]=[]),-1===d.indexOf(t)&&(d.push(t),n=d.length-1),i[n]=r,n}function C(t,e){var r=t._fullInput;if(P.hasTransform(r,\\\"groupby\\\")){var n=g[r.index];if(!n){var i=P.getTransformIndices(r,\\\"groupby\\\"),a=i[i.length-1];n=ne.keyedContainer(r,\\\"transforms[\\\"+a+\\\"].styles\\\",\\\"target\\\",\\\"value.visible\\\"),g[r.index]=n}var o=n.get(t._group);void 0===o&&(o=!0),!1!==o&&n.set(t._group,e),v[r.index]=E(r.index,\\\"visible\\\",!1!==r.visible)}else{var s=!1!==r.visible&&e;E(r.index,\\\"visible\\\",s)}}},Gd={formatPiePercent:function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(\\\".\\\")&&(r=r.replace(/[.]?0+$/,\\\"\\\")),ne.numSeparate(r,e)+\\\"%\\\"},formatPieValue:function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(\\\".\\\")&&(r=r.replace(/[.]?0+$/,\\\"\\\")),ne.numSeparate(r,e)},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)return n}},castOption:function(t,e){return Array.isArray(t)?Gd.getFirstFilled(t,e):t||void 0}},Wd=Gd.castOption,Yd=function(t,e,r){var n=r.marker.line,i=Wd(n.color,e.pts)||Oe.defaultLine,a=Wd(n.width,e.pts)||0;t.style({\\\"stroke-width\\\":a}).call(Oe.fill,e.color).call(Oe.stroke,i)},Xd=function(t,r){t.each(function(t){var r=e.select(this).selectAll(\\\"g.layers\\\").data([0]);r.enter().append(\\\"g\\\").classed(\\\"layers\\\",!0),r.style(\\\"opacity\\\",t[0].trace.opacity),r.selectAll(\\\"g.legendfill\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendfill\\\",!0),r.selectAll(\\\"g.legendlines\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendlines\\\",!0);var n=r.selectAll(\\\"g.legendsymbols\\\").data([t]);n.enter().append(\\\"g\\\").classed(\\\"legendsymbols\\\",!0),n.selectAll(\\\"g.legendpoints\\\").data([t]).enter().append(\\\"g\\\").classed(\\\"legendpoints\\\",!0)}).each(function(t){var r=t[0].trace,n=r.marker||{},i=n.line||{},a=e.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbar\\\").data(P.traceIs(r,\\\"bar\\\")?[t]:[]);a.enter().append(\\\"path\\\").classed(\\\"legendbar\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),a.exit().remove(),a.each(function(t){var r=e.select(this),a=t[0],o=(a.mlw+1||i.width+1)-1;r.style(\\\"stroke-width\\\",o+\\\"px\\\").call(Oe.fill,a.mc||n.color),o&&r.call(Oe.stroke,a.mlc||i.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendbox\\\").data(P.traceIs(r,\\\"box-violin\\\")&&r.visible?[t]:[]);n.enter().append(\\\"path\\\").classed(\\\"legendbox\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),n.exit().remove(),n.each(function(){var t=r.line.width,n=e.select(this);n.style(\\\"stroke-width\\\",t+\\\"px\\\").call(Oe.fill,r.fillcolor),t&&n.call(Oe.stroke,r.line.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\\\"g.legendpoints\\\").selectAll(\\\"path.legendpie\\\").data(P.traceIs(r,\\\"pie\\\")&&r.visible?[t]:[]);n.enter().append(\\\"path\\\").classed(\\\"legendpie\\\",!0).attr(\\\"d\\\",\\\"M6,6H-6V-6H6Z\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),n.exit().remove(),n.size()&&n.call(Yd,t[0],r)}).each(function(t){var r=t[0].trace,n=r.visible&&r.fill&&\\\"none\\\"!==r.fill,i=Tr.hasLines(r),a=r.contours;a&&\\\"constraint\\\"===a.type&&(i=a.showlines,n=\\\"=\\\"!==a._operation);var o=e.select(this).select(\\\".legendfill\\\").selectAll(\\\"path\\\").data(n?[t]:[]);o.enter().append(\\\"path\\\").classed(\\\"js-fill\\\",!0),o.exit().remove(),o.attr(\\\"d\\\",\\\"M5,0h30v6h-30z\\\").call(Sr.fillGroupStyle);var s=e.select(this).select(\\\".legendlines\\\").selectAll(\\\"path\\\").data(i?[t]:[]);s.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).attr(\\\"d\\\",\\\"M5,0h30\\\"),s.exit().remove(),s.call(Sr.lineGroupStyle)}).each(function(t){var n,i,a=t[0],o=a.trace,s=Tr.hasMarkers(o),l=Tr.hasText(o),u=Tr.hasLines(o);function c(t,e,r){var n=ne.nestedProperty(o,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function h(t){return t[0]}if(s||l||u){var f={},p={};s&&(f.mc=c(\\\"marker.color\\\",h),f.mo=c(\\\"marker.opacity\\\",ne.mean,[.2,1]),f.ms=c(\\\"marker.size\\\",ne.mean,[2,16]),f.mlc=c(\\\"marker.line.color\\\",h),f.mlw=c(\\\"marker.line.width\\\",ne.mean,[0,5]),p.marker={sizeref:1,sizemin:1,sizemode:\\\"diameter\\\"}),u&&(p.line={width:c(\\\"line.width\\\",h,[0,10])}),l&&(f.tx=\\\"Aa\\\",f.tp=c(\\\"textposition\\\",h),f.ts=10,f.tc=c(\\\"textfont.color\\\",h),f.tf=c(\\\"textfont.family\\\",h)),n=[ne.minExtend(a,f)],i=ne.minExtend(o,p)}var d=e.select(this).select(\\\"g.legendpoints\\\"),g=d.selectAll(\\\"path.scatterpts\\\").data(s?n:[]);g.enter().append(\\\"path\\\").classed(\\\"scatterpts\\\",!0).attr(\\\"transform\\\",\\\"translate(20,0)\\\"),g.exit().remove(),g.call(Sr.pointStyle,i,r),s&&(n[0].mrc=3);var v=d.selectAll(\\\"g.pointtext\\\").data(l?n:[]);v.enter().append(\\\"g\\\").classed(\\\"pointtext\\\",!0).append(\\\"text\\\").attr(\\\"transform\\\",\\\"translate(20,0)\\\"),v.exit().remove(),v.selectAll(\\\"text\\\").call(Sr.textPointStyle,i,r)})},Zd=Qe.LINE_SPACING,Jd=Qe.FROM_TL,Kd=Qe.FROM_BR,Qd=f.DBLCLICKDELAY;function $d(t,e){var r=t.data()[0][0],n=e._fullLayout,i=r.trace,a=P.traceIs(i,\\\"pie\\\"),o=i.index,s=a?r.label:i.name,l=t.selectAll(\\\"text.legendtext\\\").data([0]);function u(r){er.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\\\"g[class*=math-group]\\\"),o=a.node(),s=e._fullLayout.legend.font.size*Zd;if(o){var l=Sr.bBox(o);n=l.height,i=l.width,Sr.setTranslate(a,0,n/4)}else{var u=t.select(\\\".legendtext\\\"),c=er.lineCount(u),h=u.node();n=s*c,i=h?Sr.bBox(h).width:0;var f=s*(.3+(1-c)/2);er.positionText(u,40,f)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}l.enter().append(\\\"text\\\").classed(\\\"legendtext\\\",!0),l.attr(\\\"text-anchor\\\",\\\"start\\\").classed(\\\"user-select-none\\\",!0).call(Sr.font,n.legend.font).text(s),e._context.edits.legendText&&!a?l.call(er.makeEditable,{gd:e}).call(u).on(\\\"edit\\\",function(t){this.text(t).call(u);var n,i=t;this.text()||(t=\\\"    \\\");var a=r.trace._fullInput||{},s={};if(-1!==[\\\"ohlc\\\",\\\"candlestick\\\"].indexOf(a.type))s[(n=r.trace.transforms)[n.length-1].direction+\\\".name\\\"]=t;else if(P.hasTransform(a,\\\"groupby\\\")){var l=P.getTransformIndices(a,\\\"groupby\\\"),c=l[l.length-1],h=ne.keyedContainer(a,\\\"transforms[\\\"+c+\\\"].styles\\\",\\\"target\\\",\\\"value.name\\\");\\\"\\\"===i?h.remove(r.trace._group):h.set(r.trace._group,t),s=h.constructUpdate()}else s.name=t;return P.call(\\\"restyle\\\",e,s,o)}):u(l)}function tg(t,e){var r,n=1,i=t.selectAll(\\\"rect\\\").data([0]);i.enter().append(\\\"rect\\\").classed(\\\"legendtoggle\\\",!0).style(\\\"cursor\\\",\\\"pointer\\\").attr(\\\"pointer-events\\\",\\\"all\\\").call(Oe.fill,\\\"rgba(0,0,0,0)\\\"),i.on(\\\"mousedown\\\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<Qd?n+=1:(n=1,e._legendMouseDownTime=r)}),i.on(\\\"mouseup\\\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>Qd&&(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){Hd(t,e,n)},Qd):2===n&&(r._clickTimeout&&clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,Hd(t,e,n))}})}function eg(t,r,n){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=jd.isGrouped(a),l=0;if(a._width=0,a._height=0,jd.isVertical(a))s&&r.each(function(t,e){Sr.setTranslate(this,0,e*a.tracegroupgap)}),n.each(function(t){var e=t[0],r=e.height,n=e.width;Sr.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],c=r.data(),h=0,f=c.length;h<f;h++){var p=c[h].map(function(t){return t[0].width}),d=40+Math.max.apply(null,p);a._width+=a.tracegroupgap+d,u.push(a._width)}r.each(function(t,e){Sr.setTranslate(this,u[e],0)}),r.each(function(){var t=0;e.select(this).selectAll(\\\"g.traces\\\").each(function(e){var r=e[0].height;Sr.setTranslate(this,0,5+o+t+r/2),t+=r}),a._height=Math.max(a._height,t)}),a._height+=10+2*o,a._width+=2*o}else{var g,v=0,m=0,y=0,x=0,b=0,_=a.tracegroupgap||5;n.each(function(t){y=Math.max(40+t[0].width,y),b+=40+t[0].width+_}),g=i.width-(i.margin.r+i.margin.l)>o+b-_,n.each(function(t){var e=t[0],r=g?40+t[0].width:y;o+x+_+r>i.width-(i.margin.r+i.margin.l)&&(x=0,v+=m,a._height=a._height+m,m=0),Sr.setTranslate(this,o+x,5+o+e.height/2+v),a._width+=_+r,a._height=Math.max(a._height,e.height),x+=_+r,m=Math.max(e.height,m)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),n.each(function(r){var n=r[0],i=e.select(this).select(\\\".legendtoggle\\\");Sr.setRect(i,0,-n.height/2,(t._context.edits.legendText?0:a._width)+l,n.height)})}function rg(t){var e=t._fullLayout.legend,r=\\\"left\\\";Vd.isRightAnchor(e)?r=\\\"right\\\":Vd.isCenterAnchor(e)&&(r=\\\"center\\\");var n=\\\"top\\\";Vd.isBottomAnchor(e)?n=\\\"bottom\\\":Vd.isMiddleAnchor(e)&&(n=\\\"middle\\\"),_n.autoMargin(t,\\\"legend\\\",{x:e.x,y:e.y,l:e._width*Jd[r],r:e._width*Kd[r],b:e._height*Kd[n],t:e._height*Jd[n]})}var ng={moduleType:\\\"component\\\",name:\\\"legend\\\",layoutAttributes:Nd,supplyLayoutDefaults:function(t,e,r){for(var n,i,a,o,s=t.legend||{},l={},u=0,c=\\\"normal\\\",h=0;h<r.length;h++){var f=r[h];jd.legendGetsTrace(f)&&(u++,P.traceIs(f,\\\"pie\\\")&&u++),(P.traceIs(f,\\\"bar\\\")&&\\\"stack\\\"===e.barmode||-1!==[\\\"tonextx\\\",\\\"tonexty\\\"].indexOf(f.fill))&&(c=jd.isGrouped({traceorder:c})?\\\"grouped+reversed\\\":\\\"reversed\\\"),void 0!==f.legendgroup&&\\\"\\\"!==f.legendgroup&&(c=jd.isReversed({traceorder:c})?\\\"reversed+grouped\\\":\\\"grouped\\\")}function p(t,e){return ne.coerce(s,l,Nd,t,e)}if(!1!==ne.coerce(t,e,z,\\\"showlegend\\\",u>1)){if(e.legend=l,p(\\\"bgcolor\\\",e.paper_bgcolor),p(\\\"bordercolor\\\"),p(\\\"borderwidth\\\"),ne.coerceFont(p,\\\"font\\\",e.font),p(\\\"orientation\\\"),\\\"h\\\"===l.orientation){var d=t.xaxis;d&&d.rangeslider&&d.rangeslider.visible?(n=0,a=\\\"left\\\",i=1.1,o=\\\"bottom\\\"):(n=0,a=\\\"left\\\",i=-.1,o=\\\"top\\\")}p(\\\"traceorder\\\",c),jd.isGrouped(e.legend)&&p(\\\"tracegroupgap\\\"),p(\\\"x\\\",n),p(\\\"xanchor\\\",a),p(\\\"y\\\",i),p(\\\"yanchor\\\",o),ne.noneOrAll(s,l,[\\\"x\\\",\\\"y\\\"])}},draw:function(t){var r=t._fullLayout,n=\\\"legend\\\"+r._uid;if(r._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var i=r.legend,a=r.showlegend&&function(t,e){var r,n,i={},a=[],o=!1,s={},l=0;function u(t,r){if(\\\"\\\"!==t&&jd.isGrouped(e))-1===a.indexOf(t)?(a.push(t),o=!0,i[t]=[[r]]):i[t].push([r]);else{var n=\\\"~~i\\\"+l;a.push(n),i[n]=[[r]],l++}}for(r=0;r<t.length;r++){var c=t[r],h=c[0],f=h.trace,p=f.legendgroup;if(jd.legendGetsTrace(f)&&f.showlegend)if(P.traceIs(f,\\\"pie\\\"))for(s[p]||(s[p]={}),n=0;n<c.length;n++){var d=c[n].label;s[p][d]||(u(p,{label:d,color:c[n].color,i:c[n].i,trace:f}),s[p][d]=!0)}else u(p,h)}if(!a.length)return[];var g,v,m=a.length;if(o&&jd.isGrouped(e))for(v=new Array(m),r=0;r<m;r++)g=i[a[r]],v[r]=jd.isReversed(e)?g.reverse():g;else{for(v=[new Array(m)],r=0;r<m;r++)g=i[a[r]][0],v[0][jd.isReversed(e)?m-r-1:r]=g;m=1}return e._lgroupsLength=m,v}(t.calcdata,i),o=r.hiddenlabels||[];if(!r.showlegend||!a.length)return r._infolayer.selectAll(\\\".legend\\\").remove(),r._topdefs.select(\\\"#\\\"+n).remove(),void _n.autoMargin(t,\\\"legend\\\");var s=r._infolayer.selectAll(\\\"g.legend\\\").data([0]);s.enter().append(\\\"g\\\").attr({class:\\\"legend\\\",\\\"pointer-events\\\":\\\"all\\\"});var l=r._topdefs.selectAll(\\\"#\\\"+n).data([0]);l.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n).append(\\\"rect\\\");var u=s.selectAll(\\\"rect.bg\\\").data([0]);u.enter().append(\\\"rect\\\").attr({class:\\\"bg\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),u.call(Oe.stroke,i.bordercolor).call(Oe.fill,i.bgcolor).style(\\\"stroke-width\\\",i.borderwidth+\\\"px\\\");var c=s.selectAll(\\\"g.scrollbox\\\").data([0]);c.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"scrollbox\\\");var h=s.selectAll(\\\"rect.scrollbar\\\").data([0]);h.enter().append(\\\"rect\\\").attr({class:\\\"scrollbar\\\",rx:20,ry:3,width:0,height:0}).call(Oe.fill,\\\"#808BA4\\\");var f=c.selectAll(\\\"g.groups\\\").data(a);f.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"groups\\\"),f.exit().remove();var p=f.selectAll(\\\"g.traces\\\").data(ne.identity);p.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"traces\\\"),p.exit().remove(),p.call(Xd,t).style(\\\"opacity\\\",function(t){var e=t[0].trace;return P.traceIs(e,\\\"pie\\\")?-1!==o.indexOf(t[0].label)?.5:1:\\\"legendonly\\\"===e.visible?.5:1}).each(function(){e.select(this).call($d,t).call(tg,t)}),0!==s.enter().size()&&(eg(t,f,p),rg(t));var d=r.width,g=r.height;eg(t,f,p),i._height>g?function(t){var e=t._fullLayout.legend,r=\\\"left\\\";Vd.isRightAnchor(e)?r=\\\"right\\\":Vd.isCenterAnchor(e)&&(r=\\\"center\\\"),_n.autoMargin(t,\\\"legend\\\",{x:e.x,y:.5,l:e._width*Jd[r],r:e._width*Kd[r],b:0,t:0})}(t):rg(t);var v=r._size,m=v.l+v.w*i.x,y=v.t+v.h*(1-i.y);Vd.isRightAnchor(i)?m-=i._width:Vd.isCenterAnchor(i)&&(m-=i._width/2),Vd.isBottomAnchor(i)?y-=i._height:Vd.isMiddleAnchor(i)&&(y-=i._height/2);var x=i._width,b=v.w;x>b?(m=v.l,x=b):(m+x>d&&(m=d-x),m<0&&(m=0),x=Math.min(d-m,i._width));var _,w,M,A,k=i._height,T=v.h;if(k>T?(y=v.t,k=T):(y+k>g&&(y=g-k),y<0&&(y=0),k=Math.min(g-y,i._height)),Sr.setTranslate(s,m,y),h.on(\\\".drag\\\",null),s.on(\\\"wheel\\\",null),i._height<=k||t._context.staticPlot)u.attr({width:x-i.borderwidth,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),Sr.setTranslate(c,0,0),l.select(\\\"rect\\\").attr({width:x-2*i.borderwidth,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth}),Sr.setClipUrl(c,n),Sr.setRect(h,0,0,0,0),delete i._scrollY;else{var S,E,C=Math.max(Ud.scrollBarMinHeight,k*k/i._height),L=k-C-2*Ud.scrollBarMargin,z=i._height-k,I=L/z,D=Math.min(i._scrollY||0,z);u.attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),l.select(\\\"rect\\\").attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth+D}),Sr.setClipUrl(c,n),R(D,C,I),s.on(\\\"wheel\\\",function(){R(D=ne.constrain(i._scrollY+e.event.deltaY/L*z,0,z),C,I),0!==D&&D!==z&&e.event.preventDefault()});var O=e.behavior.drag().on(\\\"dragstart\\\",function(){S=e.event.sourceEvent.clientY,E=D}).on(\\\"drag\\\",function(){var t=e.event.sourceEvent;2===t.buttons||t.ctrlKey||R(D=ne.constrain((t.clientY-S)/I+E,0,z),C,I)});h.call(O)}t._context.edits.legendPosition&&(s.classed(\\\"cursor-move\\\",!0),Ua.init({element:s.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(s);M=t.x,A=t.y},moveFn:function(t,e){var r=M+t,n=A+e;Sr.setTranslate(s,r,n),_=Ua.align(r,0,v.l,v.l+v.w,i.xanchor),w=Ua.align(n,0,v.t+v.h,v.t,i.yanchor)},doneFn:function(){void 0!==_&&void 0!==w&&P.call(\\\"relayout\\\",t,{\\\"legend.x\\\":_,\\\"legend.y\\\":w})},clickFn:function(e,n){var i=r._infolayer.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});i.size()>0&&(1===e?s._clickTimeout=setTimeout(function(){Hd(i,t,e)},Qd):2===e&&(s._clickTimeout&&clearTimeout(s._clickTimeout),Hd(i,t,e)))}}))}function R(e,r,n){i._scrollY=t._fullLayout.legend._scrollY=e,Sr.setTranslate(c,0,-e),Sr.setRect(h,x,Ud.scrollBarMargin+e*n,Ud.scrollBarWidth,r),l.select(\\\"rect\\\").attr({y:i.borderwidth+e})}},style:Xd},ig={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\\\"},ag=m.extendFlat,og={visible:{valType:\\\"boolean\\\",editType:\\\"plot\\\"},buttons:ig=ag(ig,{_isLinkedToArray:\\\"button\\\"}),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:T({editType:\\\"plot\\\"}),bgcolor:{valType:\\\"color\\\",dflt:C.lightLine,editType:\\\"plot\\\"},activecolor:{valType:\\\"color\\\",editType:\\\"plot\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.defaultLine,editType:\\\"plot\\\"},borderwidth:{valType:\\\"number\\\",min:0,dflt:0,editType:\\\"plot\\\"},editType:\\\"plot\\\"},sg={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10};var lg=function(t,r){var n=t._name,i={};if(\\\"all\\\"===r.step)i[n+\\\".autorange\\\"]=!0;else{var a=function(t,r){var n,i=t.range,a=new Date(t.r2l(i[1])),o=r.step,s=r.count;switch(r.stepmode){case\\\"backward\\\":n=t.l2r(+e.time[o].utc.offset(a,-s));break;case\\\"todate\\\":var l=e.time[o].utc.offset(a,-s);n=t.l2r(+e.time[o].utc.ceil(l))}var u=i[1];return[n,u]}(t,r);i[n+\\\".range[0]\\\"]=a[0],i[n+\\\".range[1]\\\"]=a[1]}return i};var ug=Qe.LINE_SPACING,cg=Qe.FROM_TL,hg=Qe.FROM_BR;function fg(t){return t._id}function pg(t,e,r){var n=t.selectAll(\\\"rect\\\").data([0]);n.enter().append(\\\"rect\\\").classed(\\\"selector-rect\\\",!0),n.attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),n.attr({rx:sg.rx,ry:sg.ry}),n.call(Oe.stroke,e.bordercolor).call(Oe.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function dg(t,e,r,n){var i,a=t.selectAll(\\\"text\\\").data([0]);a.enter().append(\\\"text\\\").classed(\\\"selector-text\\\",!0).classed(\\\"user-select-none\\\",!0),a.attr(\\\"text-anchor\\\",\\\"middle\\\"),a.call(Sr.font,e.font).text((i=r,i.label?i.label:\\\"all\\\"===i.step?\\\"all\\\":i.count+i.step.charAt(0))).call(function(t){er.convertToTspans(t,n)})}var gg={moduleType:\\\"component\\\",name:\\\"rangeselector\\\",schema:{subplots:{xaxis:{rangeselector:og}}},layoutAttributes:og,handleDefaults:function(t,e,r,n,i){var a=t.rangeselector||{},o=e.rangeselector={};function s(t,e){return ne.coerce(a,o,og,t,e)}if(s(\\\"visible\\\",function(t,e,r){var n,i,a=t.buttons||[],o=e.buttons=[];function s(t,e){return ne.coerce(n,i,ig,t,e)}for(var l=0;l<a.length;l++)if(n=a[l],i={},ne.isPlainObject(n)){var u=s(\\\"step\\\");\\\"all\\\"!==u&&(!r||\\\"gregorian\\\"===r||\\\"month\\\"!==u&&\\\"year\\\"!==u?s(\\\"stepmode\\\"):i.stepmode=\\\"backward\\\",s(\\\"count\\\")),s(\\\"label\\\"),i._index=l,o.push(i)}return o}(a,o,i).length>0)){var l=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+sg.yPad]}(e,r,n);s(\\\"x\\\",l[0]),s(\\\"y\\\",l[1]),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),s(\\\"xanchor\\\"),s(\\\"yanchor\\\"),ne.coerceFont(s,\\\"font\\\",r.font);var u=s(\\\"bgcolor\\\");s(\\\"activecolor\\\",Oe.contrast(u,sg.lightAmount,sg.darkAmount)),s(\\\"bordercolor\\\"),s(\\\"borderwidth\\\")}},draw:function(t){var r=t._fullLayout._infolayer.selectAll(\\\".rangeselector\\\").data(function(t){for(var e=gn.list(t,\\\"x\\\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),fg);r.enter().append(\\\"g\\\").classed(\\\"rangeselector\\\",!0),r.exit().remove(),r.style({cursor:\\\"pointer\\\",\\\"pointer-events\\\":\\\"all\\\"}),r.each(function(r){var n=e.select(this),i=r,a=i.rangeselector,o=n.selectAll(\\\"g.button\\\").data(a.buttons);o.enter().append(\\\"g\\\").classed(\\\"button\\\",!0),o.exit().remove(),o.each(function(r){var n=e.select(this),o=lg(i,r);r._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]]}(i,r,o),n.call(pg,a,r),n.call(dg,a,r,t),n.on(\\\"click\\\",function(){t._dragged||P.call(\\\"relayout\\\",t,o)}),n.on(\\\"mouseover\\\",function(){r._isHovered=!0,n.call(pg,a,r)}),n.on(\\\"mouseout\\\",function(){r._isHovered=!1,n.call(pg,a,r)})}),function(t,r,n,i,a){var o=0,s=0,l=n.borderwidth;r.each(function(){var t=e.select(this),r=t.select(\\\".selector-text\\\"),i=n.font.size*ug,a=Math.max(i*er.lineCount(r),16)+3;s=Math.max(s,a)}),r.each(function(){var t=e.select(this),r=t.select(\\\".selector-rect\\\"),i=t.select(\\\".selector-text\\\"),a=i.node()&&Sr.bBox(i.node()).width,u=n.font.size*ug,c=er.lineCount(i),h=Math.max(a+10,sg.minButtonWidth);t.attr(\\\"transform\\\",\\\"translate(\\\"+(l+o)+\\\",\\\"+l+\\\")\\\"),r.attr({x:0,y:0,width:h,height:s}),er.positionText(i,h/2,s/2-(c-1)*u/2+3),o+=h+5});var u=t._fullLayout._size,c=u.l+u.w*n.x,h=u.t+u.h*(1-n.y),f=\\\"left\\\";Vd.isRightAnchor(n)&&(c-=o,f=\\\"right\\\"),Vd.isCenterAnchor(n)&&(c-=o/2,f=\\\"center\\\");var p=\\\"top\\\";Vd.isBottomAnchor(n)&&(h-=s,p=\\\"bottom\\\"),Vd.isMiddleAnchor(n)&&(h-=s/2,p=\\\"middle\\\"),o=Math.ceil(o),s=Math.ceil(s),c=Math.round(c),h=Math.round(h),_n.autoMargin(t,i+\\\"-range-selector\\\",{x:n.x,y:n.y,l:o*cg[f],r:o*hg[f],b:s*hg[p],t:s*cg[p]}),a.attr(\\\"transform\\\",\\\"translate(\\\"+c+\\\",\\\"+h+\\\")\\\")}(t,o,a,i._name,n)})}},vg={bgcolor:{valType:\\\"color\\\",dflt:C.background,editType:\\\"plot\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.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\\\"},mg={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},yg=gn.list,xg=Fn,bg={_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\\\"};function _g(t,e,r,n){var i=t.selectAll(\\\"rect.\\\"+mg.bgClassName).data([0]);i.enter().append(\\\"rect\\\").classed(mg.bgClassName,!0).attr({x:0,y:0,\\\"shape-rendering\\\":\\\"crispEdges\\\"});var a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=Sr.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\\\"translate(\\\"+o+\\\",\\\"+o+\\\")\\\",fill:n.bgcolor,stroke:n.bordercolor,\\\"stroke-width\\\":s})}function wg(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(\\\"#\\\"+n._clipId).data([0]);i.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n._clipId).append(\\\"rect\\\").attr({x:0,y:0}),i.select(\\\"rect\\\").attr({width:n._width,height:n._height})}function Mg(t,r,n,i){var a,o=ri.getSubplots(r,n),s=r.calcdata,l=t.selectAll(\\\"g.\\\"+mg.rangePlotClassName).data(o,ne.identity);l.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return mg.rangePlotClassName+\\\" \\\"+t}).call(Sr.setClipUrl,i._clipId),l.order(),l.exit().remove(),l.each(function(t,o){var l=e.select(this),u=0===o,c=ri.getFromId(r,t,\\\"y\\\"),h=c._name,f=i[h],p={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:i.range.slice(),calendar:n.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:r._context};p.layout[h]={type:c.type,domain:[0,1],range:\\\"match\\\"!==f.rangemode?f.range.slice():c.range.slice(),calendar:c.calendar},_n.supplyDefaults(p);var d={id:t,plotgroup:l,xaxis:p._fullLayout.xaxis,yaxis:p._fullLayout[h]};u?a=d:(d.mainplot=\\\"xy\\\",d.mainplotinfo=a),ua.rangePlot(r,d,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(s,t))})}function Ag(t,e,r,n,i){var a=t.selectAll(\\\"rect.\\\"+mg.maskMinClassName).data([0]);a.enter().append(\\\"rect\\\").classed(mg.maskMinClassName,!0).attr({x:0,y:0}).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),a.attr(\\\"height\\\",n._height).call(Oe.fill,mg.maskColor);var o=t.selectAll(\\\"rect.\\\"+mg.maskMaxClassName).data([0]);if(o.enter().append(\\\"rect\\\").classed(mg.maskMaxClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),o.attr(\\\"height\\\",n._height).call(Oe.fill,mg.maskColor),\\\"match\\\"!==i.rangemode){var s=t.selectAll(\\\"rect.\\\"+mg.maskMinOppAxisClassName).data([0]);s.enter().append(\\\"rect\\\").classed(mg.maskMinOppAxisClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),s.attr(\\\"width\\\",n._width).call(Oe.fill,mg.maskOppAxisColor);var l=t.selectAll(\\\"rect.\\\"+mg.maskMaxOppAxisClassName).data([0]);l.enter().append(\\\"rect\\\").classed(mg.maskMaxOppAxisClassName,!0).attr(\\\"y\\\",0).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),l.attr(\\\"width\\\",n._width).style(\\\"border-top\\\",mg.maskOppBorder).call(Oe.fill,mg.maskOppAxisColor)}}function kg(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(\\\"rect.\\\"+mg.slideBoxClassName).data([0]);i.enter().append(\\\"rect\\\").classed(mg.slideBoxClassName,!0).attr(\\\"y\\\",0).attr(\\\"cursor\\\",mg.slideBoxCursor).attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),i.attr({height:n._height,fill:mg.slideBoxFill})}}function Tg(t,e,r,n){var i=t.selectAll(\\\"g.\\\"+mg.grabberMinClassName).data([0]);i.enter().append(\\\"g\\\").classed(mg.grabberMinClassName,!0);var a=t.selectAll(\\\"g.\\\"+mg.grabberMaxClassName).data([0]);a.enter().append(\\\"g\\\").classed(mg.grabberMaxClassName,!0);var o={x:0,width:mg.handleWidth,rx:mg.handleRadius,fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":mg.handleStrokeWidth,\\\"shape-rendering\\\":\\\"crispEdges\\\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(\\\"rect.\\\"+mg.handleMinClassName).data([0]);l.enter().append(\\\"rect\\\").classed(mg.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\\\"rect.\\\"+mg.handleMaxClassName).data([0]);if(u.enter().append(\\\"rect\\\").classed(mg.handleMaxClassName,!0).attr(o),u.attr(s),!e._context.staticPlot){var c={width:mg.grabAreaWidth,x:0,y:0,fill:mg.grabAreaFill,cursor:mg.grabAreaCursor},h=i.selectAll(\\\"rect.\\\"+mg.grabAreaMinClassName).data([0]);h.enter().append(\\\"rect\\\").classed(mg.grabAreaMinClassName,!0).attr(c),h.attr(\\\"height\\\",n._height);var f=a.selectAll(\\\"rect.\\\"+mg.grabAreaMaxClassName).data([0]);f.enter().append(\\\"rect\\\").classed(mg.grabAreaMaxClassName,!0).attr(c),f.attr(\\\"height\\\",n._height)}}var Sg={moduleType:\\\"component\\\",name:\\\"rangeslider\\\",schema:{subplots:{xaxis:{rangeslider:ne.extendFlat({},vg,{yaxis:bg})}}},layoutAttributes:vg,handleDefaults:function(t,e,r){if(t[r].rangeslider){ne.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var n=t[r].rangeslider,i=e[r],a=i.rangeslider={};if(v(\\\"visible\\\")){v(\\\"bgcolor\\\",e.plot_bgcolor),v(\\\"bordercolor\\\"),v(\\\"borderwidth\\\"),v(\\\"thickness\\\"),i._rangesliderAutorange=v(\\\"autorange\\\",!i.isValidRange(n.range)),v(\\\"range\\\");var o=e._subplots;if(o)for(var s=o.cartesian.filter(function(t){return t.substr(0,t.indexOf(\\\"y\\\"))===gn.name2id(r)}).map(function(t){return t.substr(t.indexOf(\\\"y\\\"),t.length)}),l=ne.simpleMap(s,gn.id2name),u=0;u<l.length;u++){var c,h=l[u],f=n[h]||{},p=a[h]={},d=e[h];f.range&&d.isValidRange(f.range)&&(c=\\\"fixed\\\");var g=m(f,p,\\\"rangemode\\\",c);\\\"match\\\"!==g&&m(f,p,\\\"range\\\",d.range.slice()),d._rangesliderAutorange=\\\"auto\\\"===g}a._input=n}}function v(t,e){return ne.coerce(n,a,vg,t,e)}function m(t,e,r,n){return ne.coerce(t,e,bg,r,n)}},calcAutorange:function(t){for(var e=yg(t,\\\"x\\\",!0),r=0;r<e.length;r++){var n=e[r],i=n[mg.name];i&&i.visible&&i.autorange&&n._min.length&&n._max.length&&(i._input.autorange=!0,i._input.range=i.range=xg(n))}},draw:function(t){var r=t._fullLayout,n=function(t){var e=ri.list({_fullLayout:t},\\\"x\\\",!0),r=mg.name,n=[];if(t._has(\\\"gl2d\\\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}(r);var i=r._infolayer.selectAll(\\\"g.\\\"+mg.containerClassName).data(n,function(t){return t._name});i.enter().append(\\\"g\\\").classed(mg.containerClassName,!0).attr(\\\"pointer-events\\\",\\\"all\\\"),i.exit().each(function(t){var n=e.select(this),i=t[mg.name];n.remove(),r._topdefs.select(\\\"#\\\"+i._clipId).remove()}),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(mg.name)&&_n.autoMargin(t,i)}}(t),0!==n.length&&i.each(function(n){var i=e.select(this),a=n[mg.name],o=r[ri.id2name(n.anchor)],s=a[ri.id2name(n.anchor)];if(a.range){var l=a.range,u=n.range;l[0]=n.l2r(Math.min(n.r2l(l[0]),n.r2l(u[0]))),l[1]=n.l2r(Math.max(n.r2l(l[1]),n.r2l(u[1]))),a._input.range=l.slice()}n.cleanRange(\\\"rangeslider.range\\\");for(var c=r.margin,h=r._size,f=n.domain,p=(n._boundingBox||{}).height||0,d=1/0,g=ri.getSubplots(t,n),v=0;v<g.length;v++){var m=ri.getFromId(t,g[v].substr(g[v].indexOf(\\\"y\\\")));d=Math.min(d,m.domain[0])}a._id=mg.name+n._id,a._clipId=a._id+\\\"-\\\"+r._uid,a._width=h.w*(f[1]-f[0]),a._height=(r.height-c.b-c.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var y=Math.round(c.l+h.w*f[0]),x=Math.round(h.t+h.h*(1-d)+p+a._offsetShift+mg.extraPad);i.attr(\\\"transform\\\",\\\"translate(\\\"+y+\\\",\\\"+x+\\\")\\\");var b=n.r2l(a.range[0]),_=n.r2l(a.range[1]),w=_-b;if(a.p2d=function(t){return t/a._width*w+b},a.d2p=function(t){return(t-b)/w*a._width},a._rl=[b,_],\\\"match\\\"!==s.rangemode){var M=o.r2l(s.range[0]),A=o.r2l(s.range[1])-M;a.d2pOppAxis=function(t){return(t-M)/A*a._height}}i.call(_g,t,n,a).call(wg,t,n,a).call(Mg,t,n,a).call(Ag,t,n,a,s).call(kg,t,n,a).call(Tg,t,n,a),function(t,r,n,i){var a=t.select(\\\"rect.\\\"+mg.slideBoxClassName).node(),o=t.select(\\\"rect.\\\"+mg.grabAreaMinClassName).node(),s=t.select(\\\"rect.\\\"+mg.grabAreaMaxClassName).node();t.on(\\\"mousedown\\\",function(){var l=e.event,u=l.target,c=l.clientX,h=c-t.node().getBoundingClientRect().left,f=i.d2p(n._rl[0]),p=i.d2p(n._rl[1]),d=Ua.coverSlip();function g(t){var l,g,v,m=+t.clientX-c;switch(u){case a:v=\\\"ew-resize\\\",l=f+m,g=p+m;break;case o:v=\\\"col-resize\\\",l=f+m,g=p;break;case s:v=\\\"col-resize\\\",l=f,g=p+m;break;default:v=\\\"ew-resize\\\",l=h,g=h+m}if(g<l){var y=g;g=l,l=y}i._pixelMin=l,i._pixelMax=g,Ka(e.select(d),v),function(t,e,r,n){function i(t){return r.l2r(ne.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){P.call(\\\"relayout\\\",e,r._name+\\\".range\\\",[a,o])})}(0,r,n,i)}d.addEventListener(\\\"mousemove\\\",g),d.addEventListener(\\\"mouseup\\\",function t(){d.removeEventListener(\\\"mousemove\\\",g),d.removeEventListener(\\\"mouseup\\\",t),ne.removeElement(d)})})}(i,t,n,a),function(t,e,r,n,i,a){var o=mg.handleWidth/2;function s(t){return ne.constrain(t,0,n._width)}function l(t){return ne.constrain(t,0,n._height)}function u(t){return ne.constrain(t,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),h=s(n.d2p(r._rl[1]));if(t.select(\\\"rect.\\\"+mg.slideBoxClassName).attr(\\\"x\\\",c).attr(\\\"width\\\",h-c),t.select(\\\"rect.\\\"+mg.maskMinClassName).attr(\\\"width\\\",c),t.select(\\\"rect.\\\"+mg.maskMaxClassName).attr(\\\"x\\\",h).attr(\\\"width\\\",n._width-h),\\\"match\\\"!==a.rangemode){var f=n._height-l(n.d2pOppAxis(i._rl[1])),p=n._height-l(n.d2pOppAxis(i._rl[0]));t.select(\\\"rect.\\\"+mg.maskMinOppAxisClassName).attr(\\\"x\\\",c).attr(\\\"height\\\",f).attr(\\\"width\\\",h-c),t.select(\\\"rect.\\\"+mg.maskMaxOppAxisClassName).attr(\\\"x\\\",c).attr(\\\"y\\\",p).attr(\\\"height\\\",n._height-p).attr(\\\"width\\\",h-c),t.select(\\\"rect.\\\"+mg.slideBoxClassName).attr(\\\"y\\\",f).attr(\\\"height\\\",p-f)}var d=Math.round(u(c-o))-.5,g=Math.round(u(h-o))+.5;t.select(\\\"g.\\\"+mg.grabberMinClassName).attr(\\\"transform\\\",\\\"translate(\\\"+d+\\\",0.5)\\\"),t.select(\\\"g.\\\"+mg.grabberMaxClassName).attr(\\\"transform\\\",\\\"translate(\\\"+g+\\\",0.5)\\\")}(i,0,n,a,o,s),\\\"bottom\\\"===n.side&&Dn.draw(t,n._id+\\\"title\\\",{propContainer:n,propName:n._name+\\\".title\\\",placeholder:r._dfltTitle.x,attributes:{x:n._offset+n._length/2,y:x+a._height+a._offsetShift+10+1.5*n.titlefont.size,\\\"text-anchor\\\":\\\"middle\\\"}}),_n.autoMargin(t,a._id,{x:f[0],y:d,l:0,r:0,t:0,b:a._height+c.b+p,pad:mg.extraPad+2*a._offsetShift})})}},Eg=Zr.line,Cg=Ae.dash,Lg=m.extendFlat,zg={_isLinkedToArray:\\\"shape\\\",visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calcIfAutorange+arraydraw\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"rect\\\",\\\"path\\\",\\\"line\\\"],editType:\\\"calcIfAutorange+arraydraw\\\"},layer:{valType:\\\"enumerated\\\",values:[\\\"below\\\",\\\"above\\\"],dflt:\\\"above\\\",editType:\\\"arraydraw\\\"},xref:Lg({},Jp.xref,{}),x0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},x1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},yref:Lg({},Jp.yref,{}),y0:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},y1:{valType:\\\"any\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},path:{valType:\\\"string\\\",editType:\\\"calcIfAutorange+arraydraw\\\"},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1,editType:\\\"arraydraw\\\"},line:{color:Lg({},Eg.color,{editType:\\\"arraydraw\\\"}),width:Lg({},Eg.width,{editType:\\\"calcIfAutorange+arraydraw\\\"}),dash:Lg({},Cg,{editType:\\\"arraydraw\\\"}),editType:\\\"calcIfAutorange+arraydraw\\\"},fillcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\",editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"},Pg={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}},Ig={rangeToShapePosition:function(t){return\\\"log\\\"===t.type?t.r2d:function(t){return t}},shapePositionToRange:function(t){return\\\"log\\\"===t.type?t.d2r:function(t){return t}},decodeDate:function(t){return function(e){return e.replace&&(e=e.replace(\\\"_\\\",\\\" \\\")),t(e)}},encodeDate:function(t){return function(e){return t(e).replace(\\\" \\\",\\\"_\\\")}},getDataToPixel:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.shapePositionToRange(e);n=function(t){return e._offset+e.r2p(a(t,!0))},\\\"date\\\"===e.type&&(n=Ig.decodeDate(n))}else n=r?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return n},getPixelToData:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.rangeToShapePosition(e);n=function(t){return a(e.p2r(t-e._offset))}}else n=r?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return n}};function Dg(t,e,r,n,i){var a=\\\"category\\\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var o,s,l,u,c=1/0,h=-1/0,f=n.match(Pg.segmentRE);for(\\\"date\\\"===t.type&&(a=Ig.decodeDate(a)),o=0;o<f.length;o++)void 0!==(s=i[f[o].charAt(0)].drawn)&&(!(l=f[o].substr(1).match(Pg.paramRE))||l.length<s||((u=a(l[s]))<c&&(c=u),u>h&&(h=u)));return h>=c?[c,h]:void 0}}var Og=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,zg,r,n)}if(n=n||{},!a(\\\"visible\\\",!(i=i||{}).itemIsNotPlainObject))return e;a(\\\"layer\\\"),a(\\\"opacity\\\"),a(\\\"fillcolor\\\"),a(\\\"line.color\\\"),a(\\\"line.width\\\"),a(\\\"line.dash\\\");for(var o=a(\\\"type\\\",t.path?\\\"path\\\":\\\"rect\\\"),s=[\\\"x\\\",\\\"y\\\"],l=0;l<2;l++){var u=s[l],c={_fullLayout:r},h=ri.coerceRef(t,e,c,u,\\\"\\\",\\\"paper\\\");if(\\\"path\\\"!==o){var f,p,d;\\\"paper\\\"!==h?(f=ri.getFromId(c,h),d=Ig.rangeToShapePosition(f),p=Ig.shapePositionToRange(f)):p=d=ne.identity;var g=u+\\\"0\\\",v=u+\\\"1\\\",m=t[g],y=t[v];t[g]=p(t[g],!0),t[v]=p(t[v],!0),ri.coercePosition(e,c,a,h,g,.25),ri.coercePosition(e,c,a,h,v,.75),e[g]=d(e[g]),e[v]=d(e[v]),t[g]=m,t[v]=y}}return\\\"path\\\"===o?a(\\\"path\\\"):ne.noneOrAll(t,e,[\\\"x0\\\",\\\"x1\\\",\\\"y0\\\",\\\"y1\\\"]),e},Rg={draw:function(t){var e=t._fullLayout;e._shapeUpperLayer.selectAll(\\\"path\\\").remove(),e._shapeLowerLayer.selectAll(\\\"path\\\").remove(),e._shapeSubplotLayers.selectAll(\\\"path\\\").remove();for(var r=0;r<e.shapes.length;r++)e.shapes[r].visible&&Fg(t,r)},drawOne:Fg};function Fg(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\\\"'+e+'\\\"]').remove();var r=(t.layout.shapes||[])[e],n=t._fullLayout.shapes[e];if(r&&!1!==n.visible)if(\\\"below\\\"!==n.layer)a(t._fullLayout._shapeUpperLayer);else if(\\\"paper\\\"===n.xref||\\\"paper\\\"===n.yref)a(t._fullLayout._shapeLowerLayer);else{var i=t._fullLayout._plots[n.xref+n.yref];if(i)a((i.mainplotinfo||i).shapelayer);else a(t._fullLayout._shapeLowerLayer)}function a(r){var i={\\\"data-index\\\":e,\\\"fill-rule\\\":\\\"evenodd\\\",d:Bg(t,n)},a=n.line.width?n.line.color:\\\"rgba(0,0,0,0)\\\",o=r.append(\\\"path\\\").attr(i).style(\\\"opacity\\\",n.opacity).call(Oe.stroke,a).call(Oe.fill,n.fillcolor).call(Sr.dashLine,n.line.dash,n.line.width),s=(n.xref+n.yref).replace(/paper/g,\\\"\\\");o.call(Sr.setClipUrl,s?\\\"clip\\\"+t._fullLayout._uid+s:null),t._context.edits.shapePosition&&function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L,z,I,D,O=10,R=10,F={element:e.node(),gd:t,prepFn:function(e){S=ri.getFromId(t,r.xref),E=ri.getFromId(t,r.yref),C=Ig.getDataToPixel(t,S),L=Ig.getDataToPixel(t,E,!0),z=Ig.getPixelToData(t,S),I=Ig.getPixelToData(t,E,!0);var P=\\\"shapes[\\\"+n+\\\"]\\\";\\\"path\\\"===r.type?(k=r.path,T=P+\\\".path\\\"):(a=C(r.x0),o=L(r.y0),s=C(r.x1),l=L(r.y1),u=P+\\\".x0\\\",c=P+\\\".y0\\\",h=P+\\\".x1\\\",f=P+\\\".y1\\\");a<s?(g=a,x=P+\\\".x0\\\",M=\\\"x0\\\",v=s,b=P+\\\".x1\\\",A=\\\"x1\\\"):(g=s,x=P+\\\".x1\\\",M=\\\"x1\\\",v=a,b=P+\\\".x0\\\",A=\\\"x0\\\");o<l?(p=o,m=P+\\\".y0\\\",_=\\\"y0\\\",d=l,y=P+\\\".y1\\\",w=\\\"y1\\\"):(p=l,m=P+\\\".y1\\\",_=\\\"y1\\\",d=o,y=P+\\\".y0\\\",w=\\\"y0\\\");i={},N(e),F.moveFn=\\\"move\\\"===D?j:V},doneFn:function(){Ka(e),P.call(\\\"relayout\\\",t,i)}},B=F.element.getBoundingClientRect();function N(t){var r=B.right-B.left,n=B.bottom-B.top,i=t.clientX-B.left,a=t.clientY-B.top,o=r>O&&n>R&&!t.shiftKey?Ua.getCursor(i/r,1-a/n):\\\"move\\\";Ka(e,o),D=o.split(\\\"-\\\")[0]}function j(n,p){if(\\\"path\\\"===r.type){var d=function(t){return z(C(t)+n)};S&&\\\"date\\\"===S.type&&(d=Ig.encodeDate(d));var g=function(t){return I(L(t)+p)};E&&\\\"date\\\"===E.type&&(g=Ig.encodeDate(g)),r.path=Ng(k,d,g),i[T]=r.path}else i[u]=r.x0=z(a+n),i[c]=r.y0=I(o+p),i[h]=r.x1=z(s+n),i[f]=r.y1=I(l+p);e.attr(\\\"d\\\",Bg(t,r))}function V(n,a){if(\\\"path\\\"===r.type){var o=function(t){return z(C(t)+n)};S&&\\\"date\\\"===S.type&&(o=Ig.encodeDate(o));var s=function(t){return I(L(t)+a)};E&&\\\"date\\\"===E.type&&(s=Ig.encodeDate(s)),r.path=Ng(k,o,s),i[T]=r.path}else{var l=~D.indexOf(\\\"n\\\")?p+a:p,u=~D.indexOf(\\\"s\\\")?d+a:d,c=~D.indexOf(\\\"w\\\")?g+n:g,h=~D.indexOf(\\\"e\\\")?v+n:v;u-l>R&&(i[m]=r[_]=I(l),i[y]=r[w]=I(u)),h-c>O&&(i[x]=r[M]=z(c),i[b]=r[A]=z(h))}e.attr(\\\"d\\\",Bg(t,r))}Ua.init(F),e.node().onmousemove=N}(t,o,n,e)}}function Bg(t,e){var r,n,i,a,o=e.type,s=ri.getFromId(t,e.xref),l=ri.getFromId(t,e.yref),u=t._fullLayout._size;if(s?(r=Ig.shapePositionToRange(s),n=function(t){return s._offset+s.r2p(r(t,!0))}):n=function(t){return u.l+u.w*t},l?(i=Ig.shapePositionToRange(l),a=function(t){return l._offset+l.r2p(i(t,!0))}):a=function(t){return u.t+u.h*(1-t)},\\\"path\\\"===o)return s&&\\\"date\\\"===s.type&&(n=Ig.decodeDate(n)),l&&\\\"date\\\"===l.type&&(a=Ig.decodeDate(a)),function(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i],l=t.substr(1).replace(Pg.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),++n>s&&(t=\\\"X\\\"),t});return n>s&&(l=l.replace(/[\\\\s,]*X.*/,\\\"\\\"),ne.log(\\\"Ignoring extra params in segment \\\"+t)),i+l})}(e.path,n,a);var c=n(e.x0),h=n(e.x1),f=a(e.y0),p=a(e.y1);if(\\\"line\\\"===o)return\\\"M\\\"+c+\\\",\\\"+f+\\\"L\\\"+h+\\\",\\\"+p;if(\\\"rect\\\"===o)return\\\"M\\\"+c+\\\",\\\"+f+\\\"H\\\"+h+\\\"V\\\"+p+\\\"H\\\"+c+\\\"Z\\\";var d=(c+h)/2,g=(f+p)/2,v=Math.abs(d-c),m=Math.abs(g-f),y=\\\"A\\\"+v+\\\",\\\"+m,x=d+v+\\\",\\\"+g;return\\\"M\\\"+x+y+\\\" 0 1,1 \\\"+(d+\\\",\\\"+(g-m))+y+\\\" 0 0,1 \\\"+x+\\\"Z\\\"}function Ng(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i];return i+t.substr(1).replace(Pg.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}var jg={moduleType:\\\"component\\\",name:\\\"shapes\\\",layoutAttributes:zg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\\\"shapes\\\",handleItemDefaults:Og})},includeBasePlot:ud(\\\"shapes\\\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var n=0;n<r.length;n++){var i,a,o=r[n],s=o.line.width/2;\\\"paper\\\"!==o.xref&&(a=Dg(i=ri.getFromId(t,o.xref),o.x0,o.x1,o.path,Pg.paramIsX))&&ri.expand(i,a,{ppad:s}),\\\"paper\\\"!==o.yref&&(a=Dg(i=ri.getFromId(t,o.yref),o.y0,o.y1,o.path,Pg.paramIsY))&&ri.expand(i,a,{ppad:s})}},draw:Rg.draw,drawOne:Rg.drawOne},Vg={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},Ug={t:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},r:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},b:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},l:{valType:\\\"number\\\",dflt:0,editType:\\\"arraydraw\\\"},editType:\\\"arraydraw\\\"},qg=m.extendDeepAll,Hg=(0,ye.overrideAll)({_isLinkedToArray:\\\"slider\\\",visible:{valType:\\\"boolean\\\",dflt:!0},active:{valType:\\\"number\\\",min:0,dflt:0},steps:{_isLinkedToArray:\\\"step\\\",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}},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:qg({},Ug,{},{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:we.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:T({})},font:T({}),activebgcolor:{valType:\\\"color\\\",dflt:Vg.gripBgActiveColor},bgcolor:{valType:\\\"color\\\",dflt:Vg.railBgColor},bordercolor:{valType:\\\"color\\\",dflt:Vg.railBorderColor},borderwidth:{valType:\\\"number\\\",min:0,dflt:Vg.railBorderWidth},ticklen:{valType:\\\"number\\\",min:0,dflt:Vg.tickLength},tickcolor:{valType:\\\"color\\\",dflt:Vg.tickColor},tickwidth:{valType:\\\"number\\\",min:0,dflt:1},minorticklen:{valType:\\\"number\\\",min:0,dflt:Vg.minorTickLength}},\\\"arraydraw\\\",\\\"from-root\\\"),Gg=Vg.name,Wg=Hg.steps;function Yg(t,e,r){function n(r,n){return ne.coerce(t,e,Hg,r,n)}n(\\\"visible\\\",function(t,e){var r,n,i=t.steps||[],a=e.steps=[];function o(t,e){return ne.coerce(r,n,Wg,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\\\"method\\\"),ne.isPlainObject(r)&&(\\\"skip\\\"===n.method||Array.isArray(r.args))&&(o(\\\"args\\\"),o(\\\"label\\\",\\\"step-\\\"+s),o(\\\"value\\\",n.label),o(\\\"execute\\\"),a.push(n));return a}(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"x\\\"),n(\\\"y\\\"),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"len\\\"),n(\\\"lenmode\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),ne.coerceFont(n,\\\"font\\\",r.font),n(\\\"currentvalue.visible\\\")&&(n(\\\"currentvalue.xanchor\\\"),n(\\\"currentvalue.prefix\\\"),n(\\\"currentvalue.suffix\\\"),n(\\\"currentvalue.offset\\\"),ne.coerceFont(n,\\\"currentvalue.font\\\",e.font)),n(\\\"transition.duration\\\"),n(\\\"transition.easing\\\"),n(\\\"bgcolor\\\"),n(\\\"activebgcolor\\\"),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"),n(\\\"ticklen\\\"),n(\\\"tickwidth\\\"),n(\\\"tickcolor\\\"),n(\\\"minorticklen\\\"))}var Xg=Qe.LINE_SPACING,Zg=Qe.FROM_TL,Jg=Qe.FROM_BR;function Kg(t){return t._index}function Qg(t,r){var n=Sr.tester.selectAll(\\\"g.\\\"+Vg.labelGroupClass).data(r.steps);n.enter().append(\\\"g\\\").classed(Vg.labelGroupClass,!0);var i=0,a=0;n.each(function(t){var n=ev(e.select(this),{step:t},r).node();if(n){var o=Sr.bBox(n);a=Math.max(a,o.height),i=Math.max(i,o.width)}}),n.remove();var o=r._dims={};o.inputAreaWidth=Math.max(Vg.railWidth,Vg.gripHeight);var s=t._fullLayout._size;o.lx=s.l+s.w*r.x,o.ly=s.t+s.h*(1-r.y),\\\"fraction\\\"===r.lenmode?o.outerLength=Math.round(s.w*r.len):o.outerLength=r.len,o.inputAreaStart=0,o.inputAreaLength=Math.round(o.outerLength-r.pad.l-r.pad.r);var l=(o.inputAreaLength-2*Vg.stepInset)/(r.steps.length-1),u=i+Vg.labelPadding;if(o.labelStride=Math.max(1,Math.ceil(u/l)),o.labelHeight=a,o.currentValueMaxWidth=0,o.currentValueHeight=0,o.currentValueTotalHeight=0,o.currentValueMaxLines=1,r.currentvalue.visible){var c=Sr.tester.append(\\\"g\\\");n.each(function(t){var e=$g(c,r,t.label),n=e.node()&&Sr.bBox(e.node())||{width:0,height:0},i=er.lineCount(e);o.currentValueMaxWidth=Math.max(o.currentValueMaxWidth,Math.ceil(n.width)),o.currentValueHeight=Math.max(o.currentValueHeight,Math.ceil(n.height)),o.currentValueMaxLines=Math.max(o.currentValueMaxLines,i)}),o.currentValueTotalHeight=o.currentValueHeight+r.currentvalue.offset,c.remove()}o.height=o.currentValueTotalHeight+Vg.tickOffset+r.ticklen+Vg.labelOffset+o.labelHeight+r.pad.t+r.pad.b;var h=\\\"left\\\";Vd.isRightAnchor(r)&&(o.lx-=o.outerLength,h=\\\"right\\\"),Vd.isCenterAnchor(r)&&(o.lx-=o.outerLength/2,h=\\\"center\\\");var f=\\\"top\\\";Vd.isBottomAnchor(r)&&(o.ly-=o.height,f=\\\"bottom\\\"),Vd.isMiddleAnchor(r)&&(o.ly-=o.height/2,f=\\\"middle\\\"),o.outerLength=Math.ceil(o.outerLength),o.height=Math.ceil(o.height),o.lx=Math.round(o.lx),o.ly=Math.round(o.ly),_n.autoMargin(t,Vg.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o.outerLength*Zg[h],r:o.outerLength*Jg[h],b:o.height*Jg[f],t:o.height*Zg[f]})}function $g(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\\\"text\\\").data([0]),o=e._dims;switch(e.currentvalue.xanchor){case\\\"right\\\":n=o.inputAreaLength-Vg.currentValueInset-o.currentValueMaxWidth,i=\\\"left\\\";break;case\\\"center\\\":n=.5*o.inputAreaLength,i=\\\"middle\\\";break;default:n=Vg.currentValueInset,i=\\\"left\\\"}a.enter().append(\\\"text\\\").classed(Vg.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":i,\\\"data-notex\\\":1});var s=e.currentvalue.prefix?e.currentvalue.prefix:\\\"\\\";if(\\\"string\\\"==typeof r)s+=r;else s+=e.steps[e.active].label;e.currentvalue.suffix&&(s+=e.currentvalue.suffix),a.call(Sr.font,e.currentvalue.font).text(s).call(er.convertToTspans,e._gd);var l=er.lineCount(a),u=(o.currentValueMaxLines+1-l)*e.currentvalue.font.size*Xg;return er.positionText(a,n,u),a}}function tv(t,e,r){var n=t.selectAll(\\\"rect.\\\"+Vg.gripRectClass).data([0]);n.enter().append(\\\"rect\\\").classed(Vg.gripRectClass,!0).call(av,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:Vg.gripWidth,height:Vg.gripHeight,rx:Vg.gripRadius,ry:Vg.gripRadius}).call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor).style(\\\"stroke-width\\\",r.borderwidth+\\\"px\\\")}function ev(t,e,r){var n=t.selectAll(\\\"text\\\").data([0]);return n.enter().append(\\\"text\\\").classed(Vg.labelClass,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"middle\\\",\\\"data-notex\\\":1}),n.call(Sr.font,r.font).text(e.step.label).call(er.convertToTspans,r._gd),n}function rv(t,r){var n=t.selectAll(\\\"g.\\\"+Vg.labelsClass).data([0]),i=r._dims;n.enter().append(\\\"g\\\").classed(Vg.labelsClass,!0);var a=n.selectAll(\\\"g.\\\"+Vg.labelGroupClass).data(i.labelSteps);a.enter().append(\\\"g\\\").classed(Vg.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var n=e.select(this);n.call(ev,t,r),Sr.setTranslate(n,lv(r,t.fraction),Vg.tickOffset+r.ticklen+r.font.size*Xg+Vg.labelOffset+i.currentValueTotalHeight)})}function nv(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&iv(t,e,r,a,!0,i)}function iv(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var s=r.steps[r.active];e.call(sv,r,r.active/(r.steps.length-1),a),e.call($g,r),t.emit(\\\"plotly_sliderchange\\\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(e._nextMethod?(e._nextMethod.step=s,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:s,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&_n.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function av(t,r,n){var i=n.node(),a=e.select(r);function o(){return n.data()[0]}t.on(\\\"mousedown\\\",function(){var t=o();r.emit(\\\"plotly_sliderstart\\\",{slider:t});var s=n.select(\\\".\\\"+Vg.gripRectClass);e.event.stopPropagation(),e.event.preventDefault(),s.call(Oe.fill,t.activebgcolor);var l=uv(t,e.mouse(i)[0]);nv(r,n,t,l,!0),t._dragging=!0,a.on(\\\"mousemove\\\",function(){var t=o(),a=uv(t,e.mouse(i)[0]);nv(r,n,t,a,!1)}),a.on(\\\"mouseup\\\",function(){var t=o();t._dragging=!1,s.call(Oe.fill,t.bgcolor),a.on(\\\"mouseup\\\",null),a.on(\\\"mousemove\\\",null),r.emit(\\\"plotly_sliderend\\\",{slider:t,step:t.steps[t.active]})})})}function ov(t,r){var n=t.selectAll(\\\"rect.\\\"+Vg.tickRectClass).data(r.steps),i=r._dims;n.enter().append(\\\"rect\\\").classed(Vg.tickRectClass,!0),n.exit().remove(),n.attr({width:r.tickwidth+\\\"px\\\",\\\"shape-rendering\\\":\\\"crispEdges\\\"}),n.each(function(t,n){var a=n%i.labelStride==0,o=e.select(this);o.attr({height:a?r.ticklen:r.minorticklen}).call(Oe.fill,r.tickcolor),Sr.setTranslate(o,lv(r,n/(r.steps.length-1))-.5*r.tickwidth,(a?Vg.tickOffset:Vg.minorTickOffset)+i.currentValueTotalHeight)})}function sv(t,e,r,n){var i=t.select(\\\"rect.\\\"+Vg.gripRectClass),a=lv(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr(\\\"transform\\\",\\\"translate(\\\"+(a-.5*Vg.gripWidth)+\\\",\\\"+e._dims.currentValueTotalHeight+\\\")\\\")}}function lv(t,e){var r=t._dims;return r.inputAreaStart+Vg.stepInset+(r.inputAreaLength-2*Vg.stepInset)*Math.min(1,Math.max(0,e))}function uv(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-Vg.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*Vg.stepInset-2*r.inputAreaStart)))}function cv(t,e,r){var n=t.selectAll(\\\"rect.\\\"+Vg.railTouchRectClass).data([0]),i=r._dims;n.enter().append(\\\"rect\\\").classed(Vg.railTouchRectClass,!0).call(av,e,t,r).style(\\\"pointer-events\\\",\\\"all\\\"),n.attr({width:i.inputAreaLength,height:Math.max(i.inputAreaWidth,Vg.tickOffset+r.ticklen+i.labelHeight)}).call(Oe.fill,r.bgcolor).attr(\\\"opacity\\\",0),Sr.setTranslate(n,0,i.currentValueTotalHeight)}function hv(t,e){var r=t.selectAll(\\\"rect.\\\"+Vg.railRectClass).data([0]),n=e._dims;r.enter().append(\\\"rect\\\").classed(Vg.railRectClass,!0);var i=n.inputAreaLength-2*Vg.railInset;r.attr({width:i,height:Vg.railWidth,rx:Vg.railRadius,ry:Vg.railRadius,\\\"shape-rendering\\\":\\\"crispEdges\\\"}).call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\"),Sr.setTranslate(r,Vg.railInset,.5*(n.inputAreaWidth-Vg.railWidth)+n.currentValueTotalHeight)}var fv={moduleType:\\\"component\\\",name:Vg.name,layoutAttributes:Hg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Gg,handleItemDefaults:Yg})},draw:function(t){var r=t._fullLayout,n=function(t,e){for(var r=t[Vg.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a._gd=e,n.push(a))}return n}(r,t),i=r._infolayer.selectAll(\\\"g.\\\"+Vg.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\\\"g\\\").classed(Vg.containerClassName,!0).style(\\\"cursor\\\",\\\"ew-resize\\\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(Vg.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\\\"g.\\\"+Vg.groupClassName).data(n,Kg);a.enter().append(\\\"g\\\").classed(Vg.groupClassName,!0),a.exit().each(function(r){e.select(this).remove(),r._commandObserver.remove(),delete r._commandObserver,_n.autoMargin(t,Vg.autoMarginIdRoot+r._index)});for(var o=0;o<n.length;o++){var s=n[o];Qg(t,s)}a.each(function(r){if(!(r.steps.length<2)){var n=e.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t.steps.length,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t.steps[n]})}(r),_n.manageCommandObserver(t,r,r.steps,function(e){var r=n.data()[0];r.active!==e.index&&(r._dragging||iv(t,n,r,e.index,!1,!0))}),function(t,e,r){r.active>=r.steps.length&&(r.active=0),e.call($g,r).call(hv,r).call(rv,r).call(ov,r).call(cv,t,r).call(tv,t,r);var n=r._dims;Sr.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(sv,r,r.active/(r.steps.length-1),!1),e.call($g,r)}(t,e.select(this),r)}})}}},pv=m.extendFlat,dv=(0,ye.overrideAll)({_isLinkedToArray:\\\"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:{_isLinkedToArray:\\\"button\\\",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\\\",dflt:\\\"\\\"},execute:{valType:\\\"boolean\\\",dflt:!0}},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:pv({},Ug,{}),font:T({}),bgcolor:{valType:\\\"color\\\"},bordercolor:{valType:\\\"color\\\",dflt:C.borderLine},borderwidth:{valType:\\\"number\\\",min:0,dflt:1,editType:\\\"arraydraw\\\"}},\\\"arraydraw\\\",\\\"from-root\\\"),gv={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\\\"}},vv=gv.name,mv=dv.buttons;function yv(t,e,r){function n(r,n){return ne.coerce(t,e,dv,r,n)}n(\\\"visible\\\",function(t,e){var r,n,i=t.buttons||[],a=e.buttons=[];function o(t,e){return ne.coerce(r,n,mv,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\\\"method\\\"),ne.isPlainObject(r)&&(\\\"skip\\\"===n.method||Array.isArray(r.args))&&(o(\\\"args\\\"),o(\\\"label\\\"),o(\\\"execute\\\"),n._index=s,a.push(n));return a}(t,e).length>0)&&(n(\\\"active\\\"),n(\\\"direction\\\"),n(\\\"type\\\"),n(\\\"showactive\\\"),n(\\\"x\\\"),n(\\\"y\\\"),ne.noneOrAll(t,e,[\\\"x\\\",\\\"y\\\"]),n(\\\"xanchor\\\"),n(\\\"yanchor\\\"),n(\\\"pad.t\\\"),n(\\\"pad.r\\\"),n(\\\"pad.b\\\"),n(\\\"pad.l\\\"),ne.coerceFont(n,\\\"font\\\",r.font),n(\\\"bgcolor\\\",r.paper_bgcolor),n(\\\"bordercolor\\\"),n(\\\"borderwidth\\\"))}var xv=bv;function bv(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})}bv.barWidth=2,bv.barLength=20,bv.barRadius=2,bv.barPad=1,bv.barColor=\\\"#808BA4\\\",bv.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s,l,u,c,h=this.position.l,f=this.position.w,p=this.position.t,d=this.position.h,g=this.position.direction,v=\\\"down\\\"===g,m=\\\"left\\\"===g,y=\\\"up\\\"===g,x=f,b=d;v||m||\\\"right\\\"===g||y||(this.position.direction=\\\"down\\\",v=!0),v||y?(l=(s=h)+x,v?(u=p,b=(c=Math.min(u+b,o))-u):b=(c=p+b)-(u=Math.max(c-b,0))):(c=(u=p)+b,m?x=(l=h+x)-(s=Math.max(l-x,0)):(s=h,x=(l=Math.min(s+x,a))-s)),this._box={l:s,t:u,w:x,h:b};var _=f>x,w=bv.barLength+2*bv.barPad,M=bv.barWidth+2*bv.barPad,A=h,k=p+d;k+M>o&&(k=o-M);var T=this.container.selectAll(\\\"rect.scrollbar-horizontal\\\").data(_?[0]:[]);T.exit().on(\\\".drag\\\",null).remove(),T.enter().append(\\\"rect\\\").classed(\\\"scrollbar-horizontal\\\",!0).call(Oe.fill,bv.barColor),_?(this.hbar=T.attr({rx:bv.barRadius,ry:bv.barRadius,x:A,y:k,width:w,height:M}),this._hbarXMin=A+w/2,this._hbarTranslateMax=x-w):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var S=d>b,E=bv.barWidth+2*bv.barPad,C=bv.barLength+2*bv.barPad,L=h+f,z=p;L+E>a&&(L=a-E);var P=this.container.selectAll(\\\"rect.scrollbar-vertical\\\").data(S?[0]:[]);P.exit().on(\\\".drag\\\",null).remove(),P.enter().append(\\\"rect\\\").classed(\\\"scrollbar-vertical\\\",!0).call(Oe.fill,bv.barColor),S?(this.vbar=P.attr({rx:bv.barRadius,ry:bv.barRadius,x:L,y:z,width:E,height:C}),this._vbarYMin=z+C/2,this._vbarTranslateMax=b-C):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var I=this.id,D=s-.5,O=S?l+E+.5:l+.5,R=u-.5,F=_?c+M+.5:c+.5,B=i._topdefs.selectAll(\\\"#\\\"+I).data(_||S?[0]:[]);if(B.exit().remove(),B.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",I).append(\\\"rect\\\"),_||S?(this._clipRect=B.select(\\\"rect\\\").attr({x:Math.floor(D),y:Math.floor(R),width:Math.ceil(O)-Math.floor(D),height:Math.ceil(F)-Math.floor(R)}),this.container.call(Sr.setClipUrl,I),this.bg.attr({x:h,y:p,width:f,height:d})):(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(Sr.setClipUrl,null),delete this._clipRect),_||S){var N=e.behavior.drag().on(\\\"dragstart\\\",function(){e.event.sourceEvent.preventDefault()}).on(\\\"drag\\\",this._onBoxDrag.bind(this));this.container.on(\\\"wheel\\\",null).on(\\\"wheel\\\",this._onBoxWheel.bind(this)).on(\\\".drag\\\",null).call(N);var j=e.behavior.drag().on(\\\"dragstart\\\",function(){e.event.sourceEvent.preventDefault(),e.event.sourceEvent.stopPropagation()}).on(\\\"drag\\\",this._onBarDrag.bind(this));_&&this.hbar.on(\\\".drag\\\",null).call(j),S&&this.vbar.on(\\\".drag\\\",null).call(j)}this.setTranslate(r,n)},bv.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\\\"wheel\\\",null).on(\\\".drag\\\",null).call(Sr.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)},bv.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=e.event.dx),this.vbar&&(r-=e.event.dy),this.setTranslate(t,r)},bv.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=e.event.deltaY),this.vbar&&(r+=e.event.deltaY),this.setTranslate(t,r)},bv.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax;t=(ne.constrain(e.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var a=r+this._vbarYMin,o=a+this._vbarTranslateMax;r=(ne.constrain(e.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,r)},bv.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=ne.constrain(t||0,0,r),e=ne.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(Sr.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 i=t/r;this.hbar.call(Sr.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(Sr.setTranslate,t,e+a*this._vbarTranslateMax)}};var _v=Qe.LINE_SPACING;function wv(t){return t._index}function Mv(t,e){return+t.attr(gv.menuIndexAttrName)===e._index}function Av(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\\\"buttons\\\"===e.type?Tv(t,n,null,null,e):\\\"dropdown\\\"===e.type&&(i.attr(gv.menuIndexAttrName,\\\"-1\\\"),kv(t,n,i,a,e),s||Tv(t,n,i,a,e))}function kv(t,e,r,n,i){var a=e.selectAll(\\\"g.\\\"+gv.headerClassName).data([0]),o=i._dims;a.enter().append(\\\"g\\\").classed(gv.headerClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");var s=i.active,l=i.buttons[s]||gv.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(Sv,i,l,t).call(Dv,i,u,c);var h=e.selectAll(\\\"text.\\\"+gv.headerArrowClassName).data([0]);h.enter().append(\\\"text\\\").classed(gv.headerArrowClassName,!0).classed(\\\"user-select-none\\\",!0).attr(\\\"text-anchor\\\",\\\"end\\\").call(Sr.font,i.font).text(gv.arrowSymbol[i.direction]),h.attr({x:o.headerWidth-gv.arrowOffsetX+i.pad.l,y:o.headerHeight/2+gv.textOffsetY+i.pad.t}),a.on(\\\"click\\\",function(){r.call(Ov),r.attr(gv.menuIndexAttrName,Mv(r,i)?-1:String(i._index)),Tv(t,e,r,n,i)}),a.on(\\\"mouseover\\\",function(){a.call(zv)}),a.on(\\\"mouseout\\\",function(){a.call(Pv,i)}),Sr.setTranslate(e,o.lx,o.ly)}function Tv(t,r,n,i,a){n||(n=r).attr(\\\"pointer-events\\\",\\\"all\\\");var o=function(t){return-1==+t.attr(gv.menuIndexAttrName)}(n)&&\\\"buttons\\\"!==a.type?[]:a.buttons,s=\\\"dropdown\\\"===a.type?gv.dropdownButtonClassName:gv.buttonClassName,l=n.selectAll(\\\"g.\\\"+s).data(o),u=l.enter().append(\\\"g\\\").classed(s,!0),c=l.exit();\\\"dropdown\\\"===a.type?(u.attr(\\\"opacity\\\",\\\"0\\\").transition().attr(\\\"opacity\\\",\\\"1\\\"),c.transition().attr(\\\"opacity\\\",\\\"0\\\").remove()):c.remove();var h=0,f=0,p=a._dims,d=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(a.direction);\\\"dropdown\\\"===a.type&&(d?f=p.headerHeight+gv.gapButtonHeader:h=p.headerWidth+gv.gapButtonHeader),\\\"dropdown\\\"===a.type&&\\\"up\\\"===a.direction&&(f=-gv.gapButtonHeader+gv.gapButton-p.openHeight),\\\"dropdown\\\"===a.type&&\\\"left\\\"===a.direction&&(h=-gv.gapButtonHeader+gv.gapButton-p.openWidth);var g={x:p.lx+h+a.pad.l,y:p.ly+f+a.pad.t,yPad:gv.gapButton,xPad:gv.gapButton,index:0},v={l:g.x+a.borderwidth,t:g.y+a.borderwidth};l.each(function(o,s){var u=e.select(this);u.call(Sv,a,o,t).call(Dv,a,g),u.on(\\\"click\\\",function(){e.event.defaultPrevented||(Av(t,a,0,r,n,i,s),o.execute&&_n.executeAPICommand(t,o.method,o.args),t.emit(\\\"plotly_buttonclicked\\\",{menu:a,button:o,active:a.active}))}),u.on(\\\"mouseover\\\",function(){u.call(zv)}),u.on(\\\"mouseout\\\",function(){u.call(Pv,a),l.call(Lv,a)})}),l.call(Lv,a),d?(v.w=Math.max(p.openWidth,p.headerWidth),v.h=g.y-v.t):(v.w=g.x-v.l,v.h=Math.max(p.openHeight,p.headerHeight)),v.direction=a.direction,i&&(l.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\\\"up\\\"===u||\\\"down\\\"===u,h=i._dims,f=i.active;if(c)for(s=0,l=0;l<f;l++)s+=h.heights[l]+gv.gapButton;else for(o=0,l=0;l<f;l++)o+=h.widths[l]+gv.gapButton;n.enable(a,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,a,v):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 Sv(t,e,r,n){t.call(Ev,e).call(Cv,e,r,n)}function Ev(t,e){var r=t.selectAll(\\\"rect\\\").data([0]);r.enter().append(\\\"rect\\\").classed(gv.itemRectClassName,!0).attr({rx:gv.rx,ry:gv.ry,\\\"shape-rendering\\\":\\\"crispEdges\\\"}),r.call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\\\"stroke-width\\\",e.borderwidth+\\\"px\\\")}function Cv(t,e,r,n){var i=t.selectAll(\\\"text\\\").data([0]);i.enter().append(\\\"text\\\").classed(gv.itemTextClassName,!0).classed(\\\"user-select-none\\\",!0).attr({\\\"text-anchor\\\":\\\"start\\\",\\\"data-notex\\\":1}),i.call(Sr.font,e.font).text(r.label).call(er.convertToTspans,n)}function Lv(t,r){var n=r.active;t.each(function(t,i){var a=e.select(this);i===n&&r.showactive&&a.select(\\\"rect.\\\"+gv.itemRectClassName).call(Oe.fill,gv.activeColor)})}function zv(t){t.select(\\\"rect.\\\"+gv.itemRectClassName).call(Oe.fill,gv.hoverColor)}function Pv(t,e){t.select(\\\"rect.\\\"+gv.itemRectClassName).call(Oe.fill,e.bgcolor)}function Iv(t,r){var n=r._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=Sr.tester.selectAll(\\\"g.\\\"+gv.dropdownButtonClassName).data(r.buttons);i.enter().append(\\\"g\\\").classed(gv.dropdownButtonClassName,!0);var a=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(r.direction);i.each(function(i,o){var s=e.select(this);s.call(Sv,r,i,t);var l=s.select(\\\".\\\"+gv.itemTextClassName),u=l.node()&&Sr.bBox(l.node()).width,c=Math.max(u+gv.textPadX,gv.minWidth),h=r.font.size*_v,f=er.lineCount(l),p=Math.max(h*f,gv.minHeight)+gv.textOffsetY;p=Math.ceil(p),c=Math.ceil(c),n.widths[o]=c,n.heights[o]=p,n.height1=Math.max(n.height1,p),n.width1=Math.max(n.width1,c),a?(n.totalWidth=Math.max(n.totalWidth,c),n.openWidth=n.totalWidth,n.totalHeight+=p+gv.gapButton,n.openHeight+=p+gv.gapButton):(n.totalWidth+=c+gv.gapButton,n.openWidth+=c+gv.gapButton,n.totalHeight=Math.max(n.totalHeight,p),n.openHeight=n.totalHeight)}),a?n.totalHeight-=gv.gapButton:n.totalWidth-=gv.gapButton,n.headerWidth=n.width1+gv.arrowPadX,n.headerHeight=n.height1,\\\"dropdown\\\"===r.type&&(a?(n.width1+=gv.arrowPadX,n.totalHeight=n.height1):n.totalWidth=n.width1,n.totalWidth+=gv.arrowPadX),i.remove();var o=n.totalWidth+r.pad.l+r.pad.r,s=n.totalHeight+r.pad.t+r.pad.b,l=t._fullLayout._size;n.lx=l.l+l.w*r.x,n.ly=l.t+l.h*(1-r.y);var u=\\\"left\\\";Vd.isRightAnchor(r)&&(n.lx-=o,u=\\\"right\\\"),Vd.isCenterAnchor(r)&&(n.lx-=o/2,u=\\\"center\\\");var c=\\\"top\\\";Vd.isBottomAnchor(r)&&(n.ly-=s,c=\\\"bottom\\\"),Vd.isMiddleAnchor(r)&&(n.ly-=s/2,c=\\\"middle\\\"),n.totalWidth=Math.ceil(n.totalWidth),n.totalHeight=Math.ceil(n.totalHeight),n.lx=Math.round(n.lx),n.ly=Math.round(n.ly),_n.autoMargin(t,gv.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o*({right:1,center:.5}[u]||0),r:o*({left:1,center:.5}[u]||0),b:s*({top:1,middle:.5}[c]||0),t:s*({bottom:1,middle:.5}[c]||0)})}function Dv(t,e,r,n){n=n||{};var i=t.select(\\\".\\\"+gv.itemRectClassName),a=t.select(\\\".\\\"+gv.itemTextClassName),o=e.borderwidth,s=r.index,l=e._dims;Sr.setTranslate(t,o+r.x,o+r.y);var u=-1!==[\\\"up\\\",\\\"down\\\"].indexOf(e.direction),c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var h=e.font.size*_v,f=(er.lineCount(a)-1)*h/2;er.positionText(a,gv.textOffsetX,c/2-f+gv.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function Ov(t){t.selectAll(\\\"g.\\\"+gv.dropdownButtonClassName).remove()}var Rv={moduleType:\\\"component\\\",name:gv.name,layoutAttributes:dv,supplyLayoutDefaults:function(t,e){ld(t,e,{name:vv,handleItemDefaults:yv})},draw:function(t){var r=t._fullLayout,n=function(t){for(var e=t[gv.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}(r),i=r._menulayer.selectAll(\\\"g.\\\"+gv.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\\\"g\\\").classed(gv.containerClassName,!0).style(\\\"cursor\\\",\\\"pointer\\\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(gv.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\\\"g.\\\"+gv.headerGroupClassName).data(n,wv);a.enter().append(\\\"g\\\").classed(gv.headerGroupClassName,!0);var o=i.selectAll(\\\"g.\\\"+gv.dropdownButtonGroupClassName).data([0]);o.enter().append(\\\"g\\\").classed(gv.dropdownButtonGroupClassName,!0).style(\\\"pointer-events\\\",\\\"all\\\");for(var s=0;s<n.length;s++){var l=n[s];Iv(t,l)}var u=\\\"updatemenus\\\"+r._uid,c=new xv(t,o,u);a.enter().size()&&(o.node().parentNode.appendChild(o.node()),o.call(Ov).attr(gv.menuIndexAttrName,\\\"-1\\\")),a.exit().each(function(r){e.select(this).remove(),o.call(Ov).attr(gv.menuIndexAttrName,\\\"-1\\\"),_n.autoMargin(t,gv.autoMarginIdRoot+r._index)}),a.each(function(r){var n=e.select(this),i=\\\"dropdown\\\"===r.type?o:null;_n.manageCommandObserver(t,r,r.buttons,function(e){Av(t,r,r.buttons[e.index],n,i,c,e.index,!0)}),\\\"dropdown\\\"===r.type?(kv(t,n,o,c,r),Mv(o,r)&&Tv(t,n,o,c,r)):Tv(t,n,null,null,r)})}}},Fv={};\\\"undefined\\\"!=typeof MathJax?(Fv.MathJax=!0,MathJax.Hub.Config({messageStyle:\\\"none\\\",skipStartupTypeset:!0,displayAlign:\\\"left\\\",tex2jax:{inlineMath:[[\\\"$\\\",\\\"$\\\"],[\\\"\\\\\\\\(\\\",\\\"\\\\\\\\)\\\"]]}}),MathJax.Hub.Configured()):Fv.MathJax=!1;var Bv={add:function(t,e,r,n,i){var a,o;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},o=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(o,t.undoQueue.queue.length-o,a),t.undoQueue.index+=1):a=t.undoQueue.queue[o-1],t.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(e),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),t.undoQueue.queue.length>b.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++)Bv.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++)Bv.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};Bv.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,n=[],i=0;i<e.length;i++)r=e[i],n[i]=r===t?r:\\\"object\\\"==typeof r?Array.isArray(r)?ne.extendDeep([],r):ne.extendDeepAll({},r):r;return n}(t,r),e.apply(null,r)};var Nv=Bv,jv=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,h=n*s,f=i*o,p=i*s,d=i*l,g=a*o,v=a*s,m=a*l;return t[0]=1-h-d,t[1]=c+m,t[2]=f-v,t[3]=0,t[4]=c-m,t[5]=1-u-d,t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var Vv={},Uv=gn.cleanId,qv=gn.getFromTrace;function Hv(t,e){var r=t[e],n=e.charAt(0);r&&\\\"paper\\\"!==r&&(t[e]=Uv(r,n))}function Gv(t){var e=\\\"middle\\\",r=\\\"center\\\";return-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 Wv(t,e){return e in t&&\\\"object\\\"==typeof t[e]&&0===Object.keys(t[e]).length}Vv.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&ne.log(\\\"Clearing previous rejected promises from queue.\\\"),t._promises=[]},Vv.cleanLayout=function(t){var e,r;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 n=(_n.subplotsRegistry.cartesian||{}).attrRegex,i=(_n.subplotsRegistry.gl3d||{}).attrRegex,a=Object.keys(t);for(e=0;e<a.length;e++){var o=a[e];if(n&&n.test(o)){var s=t[o];s.anchor&&\\\"free\\\"!==s.anchor&&(s.anchor=Uv(s.anchor)),s.overlaying&&(s.overlaying=Uv(s.overlaying)),s.type||(s.isdate?s.type=\\\"date\\\":s.islog?s.type=\\\"log\\\":!1===s.isdate&&!1===s.islog&&(s.type=\\\"linear\\\")),\\\"withzero\\\"!==s.autorange&&\\\"tozero\\\"!==s.autorange||(s.autorange=!0,s.rangemode=\\\"tozero\\\"),delete s.islog,delete s.isdate,delete s.categories,Wv(s,\\\"domain\\\")&&delete s.domain,void 0!==s.autotick&&(void 0===s.tickmode&&(s.tickmode=s.autotick?\\\"auto\\\":\\\"linear\\\"),delete s.autotick)}else if(i&&i.test(o)){var l=t[o],u=l.cameraposition;if(Array.isArray(u)&&4===u[0].length){var c=u[0],h=u[1],f=u[2],p=jv([],c),d=[];for(r=0;r<3;++r)d[r]=h[r]+f*p[2+4*r];l.camera={eye:{x:d[0],y:d[1],z:d[2]},center:{x:h[0],y:h[1],z:h[2]},up:{x:p[1],y:p[5],z:p[9]}},delete l.cameraposition}}}var g=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<g;e++){var v=t.annotations[e];ne.isPlainObject(v)&&(v.ref&&(\\\"paper\\\"===v.ref?(v.xref=\\\"paper\\\",v.yref=\\\"paper\\\"):\\\"data\\\"===v.ref&&(v.xref=\\\"x\\\",v.yref=\\\"y\\\"),delete v.ref),Hv(v,\\\"xref\\\"),Hv(v,\\\"yref\\\"))}var m=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<m;e++){var y=t.shapes[e];ne.isPlainObject(y)&&(Hv(y,\\\"xref\\\"),Hv(y,\\\"yref\\\"))}var x=t.legend;return x&&(x.x>3?(x.x=1.02,x.xanchor=\\\"left\\\"):x.x<-2&&(x.x=-.02,x.xanchor=\\\"right\\\"),x.y>3?(x.y=1.02,x.yanchor=\\\"bottom\\\"):x.y<-2&&(x.y=-.02,x.yanchor=\\\"top\\\")),\\\"rotate\\\"===t.dragmode&&(t.dragmode=\\\"orbit\\\"),Oe.clean(t),t},Vv.cleanData=function(t,e){for(var r=[],n=t.concat(Array.isArray(e)?e:[]).filter(function(t){return\\\"uid\\\"in t}).map(function(t){return t.uid}),i=0;i<t.length;i++){var a,o=t[i];if(!(\\\"uid\\\"in o)||-1!==r.indexOf(o.uid)){var s;for(a=0;a<100&&(s=ne.randstr(n),-1!==r.indexOf(s));a++);o.uid=ne.randstr(n),n.push(o.uid)}if(r.push(o.uid),\\\"histogramy\\\"===o.type&&\\\"xbins\\\"in o&&!(\\\"ybins\\\"in o)&&(o.ybins=o.xbins,delete o.xbins),o.error_y&&\\\"opacity\\\"in o.error_y){var l=Oe.defaults,u=o.error_y.color||(P.traceIs(o,\\\"bar\\\")?Oe.defaultLine:l[i%l.length]);o.error_y.color=Oe.addOpacity(Oe.rgb(u),Oe.opacity(u)*o.error_y.opacity),delete o.error_y.opacity}if(\\\"bardir\\\"in o&&(\\\"h\\\"!==o.bardir||!P.traceIs(o,\\\"bar\\\")&&\\\"histogram\\\"!==o.type.substr(0,9)||(o.orientation=\\\"h\\\",Vv.swapXYData(o)),delete o.bardir),\\\"histogramy\\\"===o.type&&Vv.swapXYData(o),\\\"histogramx\\\"!==o.type&&\\\"histogramy\\\"!==o.type||(o.type=\\\"histogram\\\"),\\\"scl\\\"in o&&(o.colorscale=o.scl,delete o.scl),\\\"reversescl\\\"in o&&(o.reversescale=o.reversescl,delete o.reversescl),o.xaxis&&(o.xaxis=Uv(o.xaxis,\\\"x\\\")),o.yaxis&&(o.yaxis=Uv(o.yaxis,\\\"y\\\")),P.traceIs(o,\\\"gl3d\\\")&&o.scene&&(o.scene=_n.subplotsRegistry.gl3d.cleanId(o.scene)),!P.traceIs(o,\\\"pie\\\")&&!P.traceIs(o,\\\"bar\\\"))if(Array.isArray(o.textposition))for(a=0;a<o.textposition.length;a++)o.textposition[a]=Gv(o.textposition[a]);else o.textposition&&(o.textposition=Gv(o.textposition));if(P.traceIs(o,\\\"2dMap\\\")&&(\\\"YIGnBu\\\"===o.colorscale&&(o.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===o.colorscale&&(o.colorscale=\\\"YlOrRd\\\")),P.traceIs(o,\\\"markerColorscale\\\")&&o.marker){var c=o.marker;\\\"YIGnBu\\\"===c.colorscale&&(c.colorscale=\\\"YlGnBu\\\"),\\\"YIOrRd\\\"===c.colorscale&&(c.colorscale=\\\"YlOrRd\\\")}if(\\\"surface\\\"===o.type&&ne.isPlainObject(o.contours)){var h=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(a=0;a<h.length;a++){var f=o.contours[h[a]];ne.isPlainObject(f)&&(f.highlightColor&&(f.highlightcolor=f.highlightColor,delete f.highlightColor),f.highlightWidth&&(f.highlightwidth=f.highlightWidth,delete f.highlightWidth))}}if(Array.isArray(o.transforms)){var p=o.transforms;for(a=0;a<p.length;a++){var d=p[a];if(ne.isPlainObject(d))switch(d.type){case\\\"filter\\\":d.filtersrc&&(d.target=d.filtersrc,delete d.filtersrc),d.calendar&&(d.valuecalendar||(d.valuecalendar=d.calendar),delete d.calendar);break;case\\\"groupby\\\":if(d.styles=d.styles||d.style,d.styles&&!Array.isArray(d.styles)){var g=d.styles,v=Object.keys(g);d.styles=[];for(var m=0;m<v.length;m++)d.styles.push({target:v[m],value:g[v[m]]})}}}}Wv(o,\\\"line\\\")&&delete o.line,\\\"marker\\\"in o&&(Wv(o.marker,\\\"line\\\")&&delete o.marker.line,Wv(o,\\\"marker\\\")&&delete o.marker),Oe.clean(o)}},Vv.swapXYData=function(t){var e;if(ne.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);ne.swapAttrs(t,[\\\"error_?.copy_ystyle\\\"]),n&&ne.swapAttrs(t,[\\\"error_?.color\\\",\\\"error_?.thickness\\\",\\\"error_?.width\\\"])}if(\\\"string\\\"==typeof t.hoverinfo){var i=t.hoverinfo.split(\\\"+\\\");for(e=0;e<i.length;e++)\\\"x\\\"===i[e]?i[e]=\\\"y\\\":\\\"y\\\"===i[e]&&(i[e]=\\\"x\\\");t.hoverinfo=i.join(\\\"+\\\")}},Vv.coerceTraceIndices=function(t,e){return r(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},Vv.manageArrayContainers=function(t,e,n){var i=t.obj,a=t.parts,o=a.length,s=a[o-1],l=r(s);if(l&&null===e){var u=a.slice(0,o-1).join(\\\".\\\");ne.nestedProperty(i,u).get().splice(s,1)}else l&&void 0===t.get()?(void 0===t.get()&&(n[t.astr]=null),t.set(e)):t.set(e)};var Yv=/(\\\\.[^\\\\[\\\\]\\\\.]+|\\\\[[^\\\\[\\\\]\\\\.]+\\\\])$/;function Xv(t){var e=t.search(Yv);if(e>0)return t.substr(0,e)}Vv.hasParent=function(t,e){for(var r=Xv(e);r;){if(r in t)return!0;r=Xv(r)}return!1};var Zv=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];Vv.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var o=qv(t,i,Zv[a]);if(o&&\\\"log\\\"!==o.type){var s=o._name,l=o._id.substr(1);if(\\\"scene\\\"===l.substr(0,5)){if(void 0!==r[l])continue;s=l+\\\".\\\"+s}var u=s+\\\".type\\\";void 0===r[s]&&void 0===r[u]&&ne.nestedProperty(t.layout,u).set(null)}}},Vv.clearAxisAutomargins=function(t){for(var e=Object.keys(t._fullLayout._pushmargin),r=0;r<e.length;r++)-1!==e[r].indexOf(\\\"automargin\\\")&&delete t._fullLayout._pushmargin[e[r]]};var Jv={},Kv=Wt.sorterAsc;Jv.containerArrayMatch=H;var Qv=Jv.isAddVal=function(t){return\\\"add\\\"===t||v(t)},$v=Jv.isRemoveVal=function(t){return null===t||\\\"remove\\\"===t};Jv.applyContainerArrayChanges=function(t,e,r,n){var i=e.astr,a=P.getComponentMethod(i,\\\"supplyLayoutDefaults\\\"),o=P.getComponentMethod(i,\\\"draw\\\"),s=P.getComponentMethod(i,\\\"drawOne\\\"),l=n.replot||n.recalc||a===A||o===A,u=t.layout,c=t._fullLayout;if(r[\\\"\\\"]){Object.keys(r).length>1&&_.warn(\\\"Full array edits are incompatible with other edits\\\",i);var h=r[\\\"\\\"][\\\"\\\"];if($v(h))e.set(null);else{if(!Array.isArray(h))return _.warn(\\\"Unrecognized full array edit value\\\",i,h),!0;e.set(h)}return!l&&(a(u,c),o(t),!0)}var f,p,d,g,v,m,y,x=Object.keys(r).map(Number).sort(Kv),b=e.get(),w=b||[],M=W(c,i).get(),k=[],T=-1,S=w.length;for(f=0;f<x.length;f++)if(g=r[d=x[f]],v=Object.keys(g),m=g[\\\"\\\"],y=Qv(m),d<0||d>w.length-(y?0:1))_.warn(\\\"index out of range\\\",i,d);else if(void 0!==m)v.length>1&&_.warn(\\\"Insertion & removal are incompatible with edits to the same index.\\\",i,d),$v(m)?k.push(d):y?(\\\"add\\\"===m&&(m={}),w.splice(d,0,m),M&&M.splice(d,0,{})):_.warn(\\\"Unrecognized full object edit value\\\",i,d,m),-1===T&&(T=d);else for(p=0;p<v.length;p++)W(w[d],v[p]).set(g[v[p]]);for(f=k.length-1;f>=0;f--)w.splice(k[f],1),M&&M.splice(k[f],1);if(w.length?b||e.set(w):e.set(null),l)return!1;if(a(u,c),s!==A){var E;if(-1===T)E=x;else{for(S=Math.max(w.length,S),E=[],f=0;f<x.length&&!((d=x[f])>=T);f++)E.push(d);for(f=T;f<S;f++)E.push(f)}for(f=0;f<E.length;f++)s(t,E[f])}else o(t);return!0};var tm={},em=ne._,rm=tm={};function nm(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(\\\"data-attr\\\"),o=i.getAttribute(\\\"data-val\\\")||!0,s=t._fullLayout,l={},u=gn.list(t,null,!0),c=\\\"on\\\";if(\\\"zoom\\\"===a){var h,f=\\\"in\\\"===o?.5:2,p=(1+f)/2,d=(1-f)/2;for(n=0;n<u.length;n++)if(!(r=u[n]).fixedrange)if(h=r._name,\\\"auto\\\"===o)l[h+\\\".autorange\\\"]=!0;else if(\\\"reset\\\"===o){if(void 0===r._rangeInitial)l[h+\\\".autorange\\\"]=!0;else{var g=r._rangeInitial.slice();l[h+\\\".range[0]\\\"]=g[0],l[h+\\\".range[1]\\\"]=g[1]}void 0!==r._showSpikeInitial&&(l[h+\\\".showspikes\\\"]=r._showSpikeInitial,\\\"on\\\"!==c||r._showSpikeInitial||(c=\\\"off\\\"))}else{var v=[r.r2l(r.range[0]),r.r2l(r.range[1])],m=[p*v[0]+d*v[1],p*v[1]+d*v[0]];l[h+\\\".range[0]\\\"]=r.l2r(m[0]),l[h+\\\".range[1]\\\"]=r.l2r(m[1])}s._cartesianSpikesEnabled=c}else{if(\\\"hovermode\\\"!==a||\\\"x\\\"!==o&&\\\"y\\\"!==o){if(\\\"hovermode\\\"===a&&\\\"closest\\\"===o){for(n=0;n<u.length;n++)r=u[n],\\\"on\\\"!==c||r.showspikes||(c=\\\"off\\\");s._cartesianSpikesEnabled=c}}else o=s._isHoriz?\\\"y\\\":\\\"x\\\",i.setAttribute(\\\"data-val\\\",o);l[a]=o}P.call(\\\"relayout\\\",t,l)}function im(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(\\\".\\\"),l=0;l<a.length;l++)o[a[l]+\\\".\\\"+s[1]]=i;var u=\\\"pan\\\"===i?i:\\\"zoom\\\";o.dragmode=u,P.call(\\\"relayout\\\",t,o)}function am(t,e){for(var r=e.currentTarget.getAttribute(\\\"data-attr\\\"),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o<i.length;o++){var s=i[o],l=s+\\\".camera\\\",u=n[s]._scene;\\\"resetDefault\\\"===r?a[l]=null:\\\"resetLastSave\\\"===r&&(a[l]=ne.extendDeep({},u.cameraInitial))}P.call(\\\"relayout\\\",t,a)}function om(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],l=[\\\"showspikes\\\",\\\"spikesides\\\",\\\"spikethickness\\\",\\\"spikecolor\\\"],u={},c={},h={};if(n)h=ne.extendDeep(i,n),r._previousVal=null;else{h={\\\"allaxes.showspikes\\\":!1};for(var f=0;f<o.length;f++){var p=o[f],d=a[p],g=u[p]={};g.hovermode=d.hovermode,h[p+\\\".hovermode\\\"]=!1;for(var v=0;v<3;v++){var m=s[v];c=g[m]={};for(var y=0;y<l.length;y++){var x=l[y];c[x]=d[m][x]}}}r._previousVal=ne.extendDeep({},u)}P.call(\\\"relayout\\\",t,h)}function sm(t,e){for(var r=e.currentTarget,n=r.getAttribute(\\\"data-attr\\\"),i=r.getAttribute(\\\"data-val\\\")||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s<o.length;s++){var l=o[s],u=a[l];if(\\\"zoom\\\"===n){var c=u.projection.scale,h=\\\"in\\\"===i?2*c:.5*c;P.call(\\\"relayout\\\",t,l+\\\".projection.scale\\\",h)}else\\\"reset\\\"===n&&um(t,\\\"geo\\\")}}function lm(t){var e,r=t._fullLayout;e=r._has(\\\"cartesian\\\")?r._isHoriz?\\\"y\\\":\\\"x\\\":\\\"closest\\\";var n=!t._fullLayout.hovermode&&e;P.call(\\\"relayout\\\",t,\\\"hovermode\\\",n)}function um(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),u=0;u<l.length;u++){var c=l[u];i[o+\\\".\\\"+c]=s[c]}P.call(\\\"relayout\\\",t,i)}function cm(t){this.container=t.container,this.element=document.createElement(\\\"div\\\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}rm.toImage={name:\\\"toImage\\\",title:function(t){return em(t,\\\"Download plot as a png\\\")},icon:Op.camera,click:function(t){var e=\\\"png\\\";ne.notifier(em(t,\\\"Taking snapshot - this may take a few seconds\\\"),\\\"long\\\"),ne.isIE()&&(ne.notifier(em(t,\\\"IE only supports svg.  Changing format to svg.\\\"),\\\"long\\\"),e=\\\"svg\\\"),P.call(\\\"downloadImage\\\",t,{format:e}).then(function(e){ne.notifier(em(t,\\\"Snapshot succeeded\\\")+\\\" - \\\"+e,\\\"long\\\")}).catch(function(){ne.notifier(em(t,\\\"Sorry, there was a problem downloading your snapshot!\\\"),\\\"long\\\")})}},rm.sendDataToCloud={name:\\\"sendDataToCloud\\\",title:function(t){return em(t,\\\"Edit in Chart Studio\\\")},icon:Op.disk,click:function(t){_n.sendDataToCloud(t)}},rm.zoom2d={name:\\\"zoom2d\\\",title:function(t){return em(t,\\\"Zoom\\\")},attr:\\\"dragmode\\\",val:\\\"zoom\\\",icon:Op.zoombox,click:nm},rm.pan2d={name:\\\"pan2d\\\",title:function(t){return em(t,\\\"Pan\\\")},attr:\\\"dragmode\\\",val:\\\"pan\\\",icon:Op.pan,click:nm},rm.select2d={name:\\\"select2d\\\",title:function(t){return em(t,\\\"Box Select\\\")},attr:\\\"dragmode\\\",val:\\\"select\\\",icon:Op.selectbox,click:nm},rm.lasso2d={name:\\\"lasso2d\\\",title:function(t){return em(t,\\\"Lasso Select\\\")},attr:\\\"dragmode\\\",val:\\\"lasso\\\",icon:Op.lasso,click:nm},rm.zoomIn2d={name:\\\"zoomIn2d\\\",title:function(t){return em(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:Op.zoom_plus,click:nm},rm.zoomOut2d={name:\\\"zoomOut2d\\\",title:function(t){return em(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:Op.zoom_minus,click:nm},rm.autoScale2d={name:\\\"autoScale2d\\\",title:function(t){return em(t,\\\"Autoscale\\\")},attr:\\\"zoom\\\",val:\\\"auto\\\",icon:Op.autoscale,click:nm},rm.resetScale2d={name:\\\"resetScale2d\\\",title:function(t){return em(t,\\\"Reset axes\\\")},attr:\\\"zoom\\\",val:\\\"reset\\\",icon:Op.home,click:nm},rm.hoverClosestCartesian={name:\\\"hoverClosestCartesian\\\",title:function(t){return em(t,\\\"Show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:nm},rm.hoverCompareCartesian={name:\\\"hoverCompareCartesian\\\",title:function(t){return em(t,\\\"Compare data on hover\\\")},attr:\\\"hovermode\\\",val:function(t){return t._fullLayout._isHoriz?\\\"y\\\":\\\"x\\\"},icon:Op.tooltip_compare,gravity:\\\"ne\\\",click:nm},rm.zoom3d={name:\\\"zoom3d\\\",title:function(t){return em(t,\\\"Zoom\\\")},attr:\\\"scene.dragmode\\\",val:\\\"zoom\\\",icon:Op.zoombox,click:im},rm.pan3d={name:\\\"pan3d\\\",title:function(t){return em(t,\\\"Pan\\\")},attr:\\\"scene.dragmode\\\",val:\\\"pan\\\",icon:Op.pan,click:im},rm.orbitRotation={name:\\\"orbitRotation\\\",title:function(t){return em(t,\\\"Orbital rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"orbit\\\",icon:Op[\\\"3d_rotate\\\"],click:im},rm.tableRotation={name:\\\"tableRotation\\\",title:function(t){return em(t,\\\"Turntable rotation\\\")},attr:\\\"scene.dragmode\\\",val:\\\"turntable\\\",icon:Op[\\\"z-axis\\\"],click:im},rm.resetCameraDefault3d={name:\\\"resetCameraDefault3d\\\",title:function(t){return em(t,\\\"Reset camera to default\\\")},attr:\\\"resetDefault\\\",icon:Op.home,click:am},rm.resetCameraLastSave3d={name:\\\"resetCameraLastSave3d\\\",title:function(t){return em(t,\\\"Reset camera to last save\\\")},attr:\\\"resetLastSave\\\",icon:Op.movie,click:am},rm.hoverClosest3d={name:\\\"hoverClosest3d\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:om},rm.zoomInGeo={name:\\\"zoomInGeo\\\",title:function(t){return em(t,\\\"Zoom in\\\")},attr:\\\"zoom\\\",val:\\\"in\\\",icon:Op.zoom_plus,click:sm},rm.zoomOutGeo={name:\\\"zoomOutGeo\\\",title:function(t){return em(t,\\\"Zoom out\\\")},attr:\\\"zoom\\\",val:\\\"out\\\",icon:Op.zoom_minus,click:sm},rm.resetGeo={name:\\\"resetGeo\\\",title:function(t){return em(t,\\\"Reset\\\")},attr:\\\"reset\\\",val:null,icon:Op.autoscale,click:sm},rm.hoverClosestGeo={name:\\\"hoverClosestGeo\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:lm},rm.hoverClosestGl2d={name:\\\"hoverClosestGl2d\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:lm},rm.hoverClosestPie={name:\\\"hoverClosestPie\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:\\\"closest\\\",icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:lm},rm.toggleHover={name:\\\"toggleHover\\\",title:function(t){return em(t,\\\"Toggle show closest data on hover\\\")},attr:\\\"hovermode\\\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\\\"ne\\\",click:function(t,e){lm(t),om(t,e)}},rm.resetViews={name:\\\"resetViews\\\",title:function(t){return em(t,\\\"Reset views\\\")},icon:Op.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\\\"data-attr\\\",\\\"zoom\\\"),r.setAttribute(\\\"data-val\\\",\\\"reset\\\"),nm(t,e),r.setAttribute(\\\"data-attr\\\",\\\"resetLastSave\\\"),am(t,e),um(t,\\\"geo\\\"),um(t,\\\"mapbox\\\")}},rm.toggleSpikelines={name:\\\"toggleSpikelines\\\",title:function(t){return em(t,\\\"Toggle Spike Lines\\\")},icon:Op.spikeline,attr:\\\"_cartesianSpikesEnabled\\\",val:\\\"on\\\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\\\"on\\\"===e._cartesianSpikesEnabled?\\\"off\\\":\\\"on\\\";var r=function(t){for(var e,r,n=t._fullLayout,i=gn.list(t,null,!0),a={},o=0;o<i.length;o++)e=i[o],r=e._name,a[r+\\\".showspikes\\\"]=\\\"on\\\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return a}(t);P.call(\\\"relayout\\\",t,r)}},rm.resetViewMapbox={name:\\\"resetViewMapbox\\\",title:function(t){return em(t,\\\"Reset view\\\")},attr:\\\"reset\\\",icon:Op.home,click:function(t){um(t,\\\"mapbox\\\")}};var hm=cm.prototype;hm.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\\\"hover\\\"===r.displayModeBar?this.element.className=\\\"modebar modebar--hover\\\":this.element.className=\\\"modebar\\\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo;(n||i)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},hm.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 i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},hm.createGroup=function(){var t=document.createElement(\\\"div\\\");return t.className=\\\"modebar-group\\\",t},hm.createButton=function(t){var r=this,n=document.createElement(\\\"a\\\");n.setAttribute(\\\"rel\\\",\\\"tooltip\\\"),n.className=\\\"modebar-btn\\\";var i=t.title;void 0===i?i=t.name:\\\"function\\\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&n.setAttribute(\\\"data-title\\\",i),void 0!==t.attr&&n.setAttribute(\\\"data-attr\\\",t.attr);var a=t.val;if(void 0!==a&&(\\\"function\\\"==typeof a&&(a=a(this.graphInfo)),n.setAttribute(\\\"data-val\\\",a)),\\\"function\\\"!=typeof t.click)throw new Error(\\\"must provide button 'click' function in button config\\\");return n.addEventListener(\\\"click\\\",function(e){t.click(r.graphInfo,e),r.updateActiveButton(e.currentTarget)}),n.setAttribute(\\\"data-toggle\\\",t.toggle||!1),t.toggle&&e.select(n).classed(\\\"active\\\",!0),n.appendChild(this.createIcon(t.icon||Op.question,t.name)),n.setAttribute(\\\"data-gravity\\\",t.gravity||\\\"n\\\"),n},hm.createIcon=function(t,e){var r=t.ascent-t.descent,n=\\\"http://www.w3.org/2000/svg\\\",i=document.createElementNS(n,\\\"svg\\\"),a=document.createElementNS(n,\\\"path\\\");i.setAttribute(\\\"height\\\",\\\"1em\\\"),i.setAttribute(\\\"width\\\",t.width/r+\\\"em\\\"),i.setAttribute(\\\"viewBox\\\",[0,0,t.width,r].join(\\\" \\\"));var o=\\\"toggleSpikelines\\\"===e?\\\"matrix(1.5 0 0 -1.5 0 \\\"+t.ascent+\\\")\\\":\\\"matrix(1 0 0 -1 0 \\\"+t.ascent+\\\")\\\";return a.setAttribute(\\\"d\\\",t.path),a.setAttribute(\\\"transform\\\",o),i.appendChild(a),i},hm.updateActiveButton=function(t){var r=this.graphInfo._fullLayout,n=void 0!==t?t.getAttribute(\\\"data-attr\\\"):null;this.buttonElements.forEach(function(t){var i=t.getAttribute(\\\"data-val\\\")||!0,a=t.getAttribute(\\\"data-attr\\\"),o=\\\"true\\\"===t.getAttribute(\\\"data-toggle\\\"),s=e.select(t);if(o)a===n&&s.classed(\\\"active\\\",!s.classed(\\\"active\\\"));else{var l=null===a?a:ne.nestedProperty(r,a).get();s.classed(\\\"active\\\",l===i)}})},hm.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},hm.getLogo=function(){var t=this.createGroup(),e=document.createElement(\\\"a\\\");return e.href=\\\"https://plot.ly/\\\",e.target=\\\"_blank\\\",e.setAttribute(\\\"data-title\\\",ne._(this.graphInfo,\\\"Produced with Plotly\\\")),e.className=\\\"modebar-btn plotlyjsicon modebar-btn--logo\\\",e.appendChild(this.createIcon(Op.plotlylogo)),t.appendChild(e),t},hm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},hm.destroy=function(){ne.removeElement(this.container.querySelector(\\\".modebar\\\"))};var fm=function(t,r){var n=t._fullLayout,i=new cm({graphInfo:t,container:n._paperdiv.node(),buttons:r});return n._privateplot&&e.select(i.element).append(\\\"span\\\").classed(\\\"badge-private float--left\\\",!0).text(\\\"PRIVATE\\\"),i};var pm={};pm.manage=function(t){var e=t._fullLayout,r=t._context,n=e._modeBar;if(r.displayModeBar){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 i,a=r.modeBarButtons;i=Array.isArray(a)&&a.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\\\"string\\\"==typeof i){if(void 0===tm[i])throw new Error([\\\"*modeBarButtons* configuration options\\\",\\\"invalid button name\\\"].join(\\\" \\\"));t[e][n]=tm[i]}}return t}(a):function(t,e,r){var n=t._fullLayout,i=t._fullData,a=n._has(\\\"cartesian\\\"),o=n._has(\\\"gl3d\\\"),s=n._has(\\\"geo\\\"),l=n._has(\\\"pie\\\"),u=n._has(\\\"gl2d\\\"),c=n._has(\\\"ternary\\\"),h=n._has(\\\"mapbox\\\"),f=n._has(\\\"polar\\\"),p=function(t){for(var e=gn.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(n),d=[];function g(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(tm[i])}d.push(r)}}g([\\\"toImage\\\",\\\"sendDataToCloud\\\"]);var v=[],m=[],y=[],x=[];return(a||u||l||c)+s+o+h+f>1?(m=[\\\"toggleHover\\\"],y=[\\\"resetViews\\\"]):s?(v=[\\\"zoomInGeo\\\",\\\"zoomOutGeo\\\"],m=[\\\"hoverClosestGeo\\\"],y=[\\\"resetGeo\\\"]):o?(m=[\\\"hoverClosest3d\\\"],y=[\\\"resetCameraDefault3d\\\",\\\"resetCameraLastSave3d\\\"]):h?(m=[\\\"toggleHover\\\"],y=[\\\"resetViewMapbox\\\"]):m=u?[\\\"hoverClosestGl2d\\\"]:l?[\\\"hoverClosestPie\\\"]:[\\\"toggleHover\\\"],a&&(m=[\\\"toggleSpikelines\\\",\\\"hoverClosestCartesian\\\",\\\"hoverCompareCartesian\\\"]),!a&&!u||p||(v=[\\\"zoomIn2d\\\",\\\"zoomOut2d\\\",\\\"autoScale2d\\\"],\\\"resetViews\\\"!==y[0]&&(y=[\\\"resetScale2d\\\"])),o?x=[\\\"zoom3d\\\",\\\"pan3d\\\",\\\"orbitRotation\\\",\\\"tableRotation\\\"]:(a||u)&&!p||c?x=[\\\"zoom2d\\\",\\\"pan2d\\\"]:h||s?x=[\\\"pan2d\\\"]:f&&(x=[\\\"zoom2d\\\"]),function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(P.traceIs(n,\\\"scatter-like\\\")?(Tr.hasMarkers(n)||Tr.hasText(n))&&(e=!0):P.traceIs(n,\\\"box-violin\\\")&&\\\"all\\\"!==n.boxpoints&&\\\"all\\\"!==n.points||(e=!0))}return e}(i)&&x.push(\\\"select2d\\\",\\\"lasso2d\\\"),g(x),g(v.concat(y)),g(m),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}(d,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),n?n.update(t,i):e._modeBar=fm(t,i)}else n&&(n.destroy(),delete e._modeBar)};var dm=Qe.FROM_BL,gm=function(t,e,r){void 0===r&&(r=dm[t.constraintoward||\\\"center\\\"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*r;t.range=t._input.range=[t.l2r(i+(n[0]-i)*e),t.l2r(i+(n[1]-i)*e)]},vm=Qe.FROM_TL,mm=ri.doTicks,ym=gn.getFromId,xm=Te.MINDRAG,bm=Te.MINZOOM,_m=!0;function wm(t,e,r,n){var i=t.draglayer.selectAll(\\\".\\\"+r).data([0]);return i.enter().append(e).classed(\\\"drag\\\",!0).classed(r,!0).style({fill:\\\"transparent\\\",\\\"stroke-width\\\":0}).attr(\\\"data-subplot\\\",t.id),i.call(Ka,n),i.node()}function Mm(t,r,n,i,a,o,s){var l=wm(t,\\\"rect\\\",r,n);return e.select(l).call(Sr.setRect,i,a,o,s),l}function Am(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\\\"\\\"}function km(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\\\".range[0]\\\"]=o.range[0],n[o._name+\\\".range[1]\\\"]=o.range[1]);if(i&&i.length){var u=(e+(1-r))/2;km(i,u,1-u,n)}}function Tm(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function Sm(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function Em(t,e,r,n,i){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\\\",i+\\\"Z\\\")}function Cm(t,e,r){return t.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").style({fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"transform\\\",\\\"translate(\\\"+e+\\\", \\\"+r+\\\")\\\").attr(\\\"d\\\",\\\"M0,0Z\\\")}function Lm(t){t.selectAll(\\\".select-outline\\\").remove()}function zm(t,e,r,n,i,a){t.attr(\\\"d\\\",n+\\\"M\\\"+r.l+\\\",\\\"+r.t+\\\"v\\\"+r.h+\\\"h\\\"+r.w+\\\"v-\\\"+r.h+\\\"h-\\\"+r.w+\\\"Z\\\"),Pm(t,e,i,a)}function Pm(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 Im(t){e.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}function Dm(t){_m&&t.data&&t._context.showTips&&(ne.notifier(ne._(t,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),_m=!1)}function Om(t){return\\\"lasso\\\"===t||\\\"select\\\"===t}function Rm(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,bm)/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 Fm(t,e){if(Ea){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)}var Bm={makeDragBox:function(t,r,n,i,a,o,l,u){var c,h,f,p,d,g,v,m,y,x,b,_,w,M=t._fullLayout,A=t._fullLayout._zoomlayer,k=l+u===\\\"nsew\\\",T=1===(l+u).length;function S(){h=[r.xaxis],f=[r.yaxis];var e=h[0],n=f[0];g=e._length,v=n._length;var i,a,o=M._axisConstraintGroups,s=[e._id],A=[n._id];c=[r].concat(l&&u?r.overlays:[]);for(var k=1;k<c.length;k++){var T=c[k].xaxis,S=c[k].yaxis;-1===h.indexOf(T)&&(h.push(T),s.push(T._id)),-1===f.indexOf(S)&&(f.push(S),A.push(S._id))}m=Am(h,u),y=Am(f,l),i=y+m,a=M.dragmode,x=i?\\\"nsew\\\"===i?\\\"pan\\\"===a?\\\"move\\\":\\\"crosshair\\\":i.toLowerCase()+\\\"-resize\\\":\\\"pointer\\\",p=e._offset,d=n._offset;var E=function(t,e,r){var n,i,a,o,s,l,u=!1,c={},h={};for(n=0;n<t.length;n++){for(o=t[n],i=0;i<e.length;i++)if(o[e[i]]){for(s in o)-1===(\\\"x\\\"===s.charAt(0)?e:r).indexOf(s)&&(c[s]=1);for(a=0;a<r.length;a++)o[r[a]]&&(u=!0)}for(i=0;i<r.length;i++)if(o[r[i]])for(l in o)-1===(\\\"x\\\"===l.charAt(0)?e:r).indexOf(l)&&(h[l]=1)}return u&&(ne.extendFlat(c,h),h={}),{x:c,y:h,xy:u}}(o,s,A);for(var C in b=E.xy,_=[],E.x)_.push(ym(t,C));for(var L in w=[],E.y)w.push(ym(t,L))}S();var E=Mm(r,l+u+\\\"drag\\\",x,n,i,a,o),C=!y&&!m;if(C&&!k)return E.onmousedown=null,E.style.pointerEvents=\\\"none\\\",E;var L,z,I,D,O,R,F,B,N,j={element:E,gd:t,plotinfo:r,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;C||(k?e.shiftKey?\\\"pan\\\"===i?i=\\\"zoom\\\":Om(i)||(i=\\\"pan\\\"):e.ctrlKey&&(i=\\\"pan\\\"):i=\\\"pan\\\"),j.minDrag=\\\"lasso\\\"===i?1:void 0,Om(i)?(j.xaxes=h,j.yaxes=f,_c(e,r,n,j,i)):C?Lm(A):\\\"zoom\\\"===i?(j.moveFn=U,j.doneFn=q,j.minDrag=1,function(e,r,n){var i=E.getBoundingClientRect();L=r-i.left,z=n-i.top,I={l:L,r:L,w:0,t:z,b:z,h:0},D=t._hmpixcount?t._hmlumcount/t._hmpixcount:s(t._fullLayout.plot_bgcolor).getLuminance(),R=!1,F=\\\"xy\\\",B=Em(A,D,p,d,O=\\\"M0,0H\\\"+g+\\\"V\\\"+v+\\\"H0V0\\\"),N=Cm(A,p,d),Lm(A)}(0,r,n)):\\\"pan\\\"===i&&(j.moveFn=X,j.doneFn=J,Lm(A))},clickFn:function(n,i){if(Im(t),2!==n||T||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(m?h:[]).concat(y?f:[]),o={};if(\\\"reset+autosize\\\"===i)for(i=\\\"autosize\\\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\\\"reset\\\";break}if(\\\"autosize\\\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(o[e._name+\\\".autorange\\\"]=!0);else if(\\\"reset\\\"===i)for((m||b)&&(a=a.concat(_)),y&&!b&&(a=a.concat(w)),b&&(m?y||(a=a.concat(f)):a=a.concat(h)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+\\\".range[0]\\\"]=n[0],o[e._name+\\\".range[1]\\\"]=n[1]):o[e._name+\\\".autorange\\\"]=!0;t.emit(\\\"plotly_doubleclick\\\",null),P.call(\\\"relayout\\\",t,o)}}(),k)yo.click(t,i,r.id);else if(1===n&&T){var a=l?f[0]:h[0],o=\\\"s\\\"===l||\\\"w\\\"===u?0:1,s=a._name+\\\".range[\\\"+o+\\\"]\\\",c=function(t,r){var n,i=t.range[r],a=Math.abs(i-t.range[1-r]);return\\\"date\\\"===t.type?i:\\\"log\\\"===t.type?(n=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,e.format(\\\".\\\"+n+\\\"g\\\")(Math.pow(10,i))):(n=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,e.format(\\\".\\\"+String(n)+\\\"g\\\")(i))}(a,o),p=\\\"left\\\",d=\\\"middle\\\";if(a.fixedrange)return;l?(d=\\\"n\\\"===l?\\\"top\\\":\\\"bottom\\\",\\\"right\\\"===a.side&&(p=\\\"right\\\")):\\\"e\\\"===u&&(p=\\\"right\\\"),t._context.showAxisRangeEntryBoxes&&e.select(E).call(er.makeEditable,{gd:t,immediate:!0,background:M.paper_bgcolor,text:String(c),fill:a.tickfont?a.tickfont.color:\\\"#444\\\",horizontalAlign:p,verticalAlign:d}).on(\\\"edit\\\",function(e){var r=a.d2r(e);void 0!==r&&P.call(\\\"relayout\\\",t,s,r)})}}};Ua.init(j);var V={};function U(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(g,e+L)),i=Math.max(0,Math.min(v,r+z)),a=Math.abs(n-L),o=Math.abs(i-z);function s(){F=\\\"\\\",I.r=I.l,I.t=I.b,N.attr(\\\"d\\\",\\\"M0,0Z\\\")}I.l=Math.min(L,n),I.r=Math.max(L,n),I.t=Math.min(z,i),I.b=Math.max(z,i),b?a>bm||o>bm?(F=\\\"xy\\\",a/g>o/v?(o=a*v/g,z>i?I.t=z-o:I.b=z+o):(a=o*g/v,L>n?I.l=L-a:I.r=L+a),N.attr(\\\"d\\\",Rm(I))):s():!y||o<Math.min(Math.max(.6*a,xm),bm)?a<xm?s():(I.t=0,I.b=v,F=\\\"x\\\",N.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(t.l-.5)+\\\",\\\"+(e-bm-.5)+\\\"h-3v\\\"+(2*bm+1)+\\\"h3ZM\\\"+(t.r+.5)+\\\",\\\"+(e-bm-.5)+\\\"h3v\\\"+(2*bm+1)+\\\"h-3Z\\\"}(I,z))):!m||a<Math.min(.6*o,bm)?(I.l=0,I.r=g,F=\\\"y\\\",N.attr(\\\"d\\\",function(t,e){return\\\"M\\\"+(e-bm-.5)+\\\",\\\"+(t.t-.5)+\\\"v-3h\\\"+(2*bm+1)+\\\"v3ZM\\\"+(e-bm-.5)+\\\",\\\"+(t.b+.5)+\\\"v3h\\\"+(2*bm+1)+\\\"v-3Z\\\"}(I,L))):(F=\\\"xy\\\",N.attr(\\\"d\\\",Rm(I))),I.w=I.r-I.l,I.h=I.b-I.t,zm(B,N,I,O,R,D),R=!0}function q(){if(Math.min(I.h,I.w)<2*xm)return Im(t);\\\"xy\\\"!==F&&\\\"x\\\"!==F||km(h,I.l/g,I.r/g,V,_),\\\"xy\\\"!==F&&\\\"y\\\"!==F||km(f,(v-I.b)/v,(v-I.t)/v,V,w),Im(t),J(),Dm(t)}var H=[0,0,g,v],G=null,W=Te.REDRAWDELAY,Y=r.mainplot?M._plots[r.mainplot]:r;function X(e,r){if(!t._transitioningWithDuration){if(S(),\\\"ew\\\"===m||\\\"ns\\\"===y)return m&&Tm(h,e),y&&Tm(f,r),K([m?-e:0,y?-r:0,g,v]),void Z(y,m);if(b&&m&&y){var n=\\\"w\\\"===m==(\\\"n\\\"===y)?1:-1,i=(e/g+n*r/v)/2;e=i*g,r=n*i*v}\\\"w\\\"===m?e=l(h,0,e):\\\"e\\\"===m?e=l(h,1,-e):m||(e=0),\\\"n\\\"===y?r=l(f,1,r):\\\"s\\\"===y?r=l(f,0,-r):y||(r=0);var a=\\\"w\\\"===m?e:0,o=\\\"n\\\"===y?r:0;if(b){var s;if(!m&&1===y.length){for(s=0;s<h.length;s++)h[s].range=h[s]._r.slice(),gm(h[s],1-r/v);a=(e=r*g/v)/2}if(!y&&1===m.length){for(s=0;s<f.length;s++)f[s].range=f[s]._r.slice(),gm(f[s],1-e/g);o=(r=e*v/g)/2}}K([a,o,g-e,v-r]),Z(y,m)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/Sm(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Z(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for((r||b)&&(a(h),a(_)),(e||b)&&(a(f),a(w)),V={},n=0;n<i.length;n++){var o=i[n];mm(t,o,!0);var s=ym(t,o);V[s._name+\\\".range[0]\\\"]=s.range[0],V[s._name+\\\".range[1]\\\"]=s.range[1]}function l(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}l(M.annotations||[],P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")),l(M.shapes||[],P.getComponentMethod(\\\"shapes\\\",\\\"drawOne\\\")),l(M.images||[],P.getComponentMethod(\\\"images\\\",\\\"draw\\\"),!0)}function J(){K([0,0,g,v]),ne.syncOrAsync([_n.previousPromises,function(){P.call(\\\"relayout\\\",t,V)}],t)}function K(t){var e,r,n,i,a,o=M._plots,s=Object.keys(o),c=t[2]/h[0]._length,p=t[3]/f[0]._length,d=u||b,g=l||b;function v(t){return t.fixedrange?0:d&&-1!==_.indexOf(t)?c:g&&-1!==(b?_:w).indexOf(t)?p:0}function m(t,e){return e?(t.range=t._r.slice(),gm(t,e),y(t,e)):0}function y(t,e){return t._length*(1-e)*vm[t.constraintoward||\\\"middle\\\"]}for(M._glcanvas&&M._glcanvas.size()&&M._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),e=0;e<s.length;e++){var x=o[s[e]],A=x.xaxis,k=x.yaxis,T=d&&!A.fixedrange&&-1!==h.indexOf(A),S=g&&!k.fixedrange&&-1!==f.indexOf(k);if(x._scene&&x._scene.update){var E=ne.simpleMap(A.range,A.r2l),C=ne.simpleMap(k.range,k.r2l);x._scene.update({range:[E[0],C[0],E[1],C[1]]})}if(T?(r=c,i=u?t[0]:y(A,r)):i=m(A,r=v(A)),S?(n=p,a=l?t[1]:y(k,n)):a=m(k,n=v(k)),r||n){r||(r=1),n||(n=1);var L=A._offset-i/r,z=k._offset-a/n;M._defs.select(\\\"#\\\"+x.clipId+\\\"> rect\\\").call(Sr.setTranslate,i,a).call(Sr.setScale,r,n);var P=x.plot.selectAll(\\\".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace\\\");x.plot.call(Sr.setTranslate,L,z).call(Sr.setScale,1/r,1/n),P.selectAll(\\\".point\\\").call(Sr.setPointGroupScale,r,n),P.selectAll(\\\".textpoint\\\").call(Sr.setTextPointsScale,r,n),P.call(Sr.hideOutsideRangePoints,x),x.plot.selectAll(\\\".barlayer .trace\\\").call(Sr.hideOutsideRangePoints,x,\\\".bartext\\\")}}}return l.length*u.length!=1&&Fm(E,function(e){if(t._context.scrollZoom||M._enablescrollzoom){if(null===G&&Lm(A),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\\\".plotly\\\");if(S(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(G);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Y.draglayer.select(\\\".nsewdrag\\\").node().getBoundingClientRect(),s=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(u||b){for(u||(s=.5),i=0;i<h.length;i++)p(h[i],s,a);H[2]*=a,H[0]+=H[2]*s*(1/a-1)}if(l||b){for(l||(c=.5),i=0;i<f.length;i++)p(f[i],c,a);H[3]*=a,H[1]+=H[3]*(1-c)*(1/a-1)}K(H),Z(l,u),G=setTimeout(function(){H=[0,0,g,v],J()},W),e.preventDefault()}else ne.log(\\\"Did not find wheel motion attributes: \\\",e)}}function p(t,e,r){if(!t.fixedrange){var n=ne.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),E},makeDragger:wm,makeRectDragger:Mm,makeZoombox:Em,makeCorners:Cm,updateZoombox:zm,xyCorners:Rm,transitionZoombox:Pm,removeZoombox:Im,clearSelect:Lm,showDoubleClickNotifier:Dm,attachWheelEventHandler:Fm},Nm=Bm.makeDragBox,jm=function(t){var r=t._fullLayout;if(t._context.staticPlot)e.select(t).selectAll(\\\".drag\\\").remove();else if(r._has(\\\"cartesian\\\")||r._has(\\\"gl2d\\\")){Object.keys(r._plots||{}).sort(function(t,e){if((r._plots[t].mainplot&&!0)===(r._plots[e].mainplot&&!0)){var n=t.split(\\\"y\\\"),i=e.split(\\\"y\\\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return r._plots[t].mainplot?1:-1}).forEach(function(e){var n=r._plots[e],i=n.xaxis,a=n.yaxis,o=Te.DRAGGERSIZE;if(!n.mainplot){var s=Nm(t,n,i._offset,a._offset,i._length,a._length,\\\"ns\\\",\\\"ew\\\");s.onmousemove=function(r){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===e&&yo.hover(t,r,e)},yo.hover(t,r,e),t._fullLayout._lasthover=s,t._fullLayout._hoversubplot=e},s.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,Ua.unhover(t,e))},t._context.showAxisDragHandles&&(Nm(t,n,i._offset-o,a._offset-o,o,o,\\\"n\\\",\\\"w\\\"),Nm(t,n,i._offset+i._length,a._offset-o,o,o,\\\"n\\\",\\\"e\\\"),Nm(t,n,i._offset-o,a._offset+a._length,o,o,\\\"s\\\",\\\"w\\\"),Nm(t,n,i._offset+i._length,a._offset+a._length,o,o,\\\"s\\\",\\\"e\\\"))}if(t._context.showAxisDragHandles){if(e===i._mainSubplot){var l=i._mainLinePosition;\\\"top\\\"===i.side&&(l-=o),Nm(t,n,i._offset+.1*i._length,l,.8*i._length,o,\\\"\\\",\\\"ew\\\"),Nm(t,n,i._offset,l,.1*i._length,o,\\\"\\\",\\\"w\\\"),Nm(t,n,i._offset+.9*i._length,l,.1*i._length,o,\\\"\\\",\\\"e\\\")}if(e===a._mainSubplot){var u=a._mainLinePosition;\\\"right\\\"!==a.side&&(u-=o),Nm(t,n,u,a._offset+.1*a._length,o,.8*a._length,\\\"ns\\\",\\\"\\\"),Nm(t,n,u,a._offset+.9*a._length,o,.1*a._length,\\\"s\\\",\\\"\\\"),Nm(t,n,u,a._offset,o,.1*a._length,\\\"n\\\",\\\"\\\")}}});var n=r._hoverlayer.node();n.onmousemove=function(e){e.target=r._lasthover,yo.hover(t,e,r._hoversubplot)},n.onclick=function(e){e.target=r._lasthover,yo.click(t,e)},n.onmousedown=function(t){r._lasthover.onmousedown(t)}}},Vm={};function Um(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\\\"all\\\"===t.mirror||\\\"allticks\\\"===t.mirror)}function qm(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 i=Qe.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function Hm(t,e,r,n){if(qm(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&qm(t,e,a))return a._lw}return 0}Vm.layoutStyles=function(t){return ne.syncOrAsync([_n.doAutoMargin,Vm.lsInner],t)},Vm.lsInner=function(t){var r,n=t._fullLayout,i=n._size,a=i.p,o=ri.list(t),s=n._has(\\\"cartesian\\\");function l(t,e,r){var n=t._lw/2;return\\\"x\\\"===t._id.charAt(0)?e?\\\"top\\\"===r?e._offset-a-n:e._offset+e._length+a+n:i.t+i.h*(1-(t.position||0))+n%1:e?\\\"right\\\"===r?e._offset+e._length+a+n:e._offset-a-n:i.l+i.w*(t.position||0)+n%1}for(r=0;r<o.length;r++){var u=o[r];u.setScale();var c=u._anchorAxis;u._linepositions={},u._lw=Sr.crispRound(t,u.linewidth,1),u._mainLinePosition=l(u,c,u.side),u._mainMirrorPosition=u.mirror&&c?l(u,c,Qe.OPPOSITE_SIDE[u.side]):null}n._paperdiv.style({width:n.width+\\\"px\\\",height:n.height+\\\"px\\\"}).selectAll(\\\".main-svg\\\").call(Sr.setSize,n.width,n.height),t._context.setBackground(t,n.paper_bgcolor);var h=n._paper.selectAll(\\\"g.subplot\\\"),f=[],p=[];h.each(function(t){var e=n._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,i=e.yaxis.domain,a=[];!function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}(r,i,p)?(f.push(t),p.push([r,i])):a=[0];var o=e.plotgroup.selectAll(\\\".bg\\\").data(a);o.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),o.exit().remove(),o.each(function(){e.bg=o;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var d=n._bgLayer.selectAll(\\\".bg\\\").data(f);return d.enter().append(\\\"rect\\\").classed(\\\"bg\\\",!0),d.exit().remove(),d.each(function(t){n._plots[t].bg=e.select(this)}),h.each(function(t){var e=n._plots[t],i=e.xaxis,u=e.yaxis;e.bg&&s&&e.bg.call(Sr.setRect,i._offset-a,u._offset-a,i._length+2*a,u._length+2*a).call(Oe.fill,n.plot_bgcolor).style(\\\"stroke-width\\\",0),e.clipId=\\\"clip\\\"+n._uid+t+\\\"plot\\\";var c,h,f=n._clips.selectAll(\\\"#\\\"+e.clipId).data([0]);for(f.enter().append(\\\"clipPath\\\").attr({class:\\\"plotclip\\\",id:e.clipId}).append(\\\"rect\\\"),f.selectAll(\\\"rect\\\").attr({width:i._length,height:u._length}),Sr.setTranslate(e.plot,i._offset,u._offset),e._hasClipOnAxisFalse?(c=null,h=e.clipId):(c=e.clipId,h=null),Sr.setClipUrl(e.plot,c),r=0;r<Te.traceLayerClasses.length;r++){var p=Te.traceLayerClasses[r];\\\"scatterlayer\\\"!==p&&\\\"barlayer\\\"!==p&&e.plot.selectAll(\\\"g.\\\"+p).call(Sr.setClipUrl,h)}if(e.layerClipId=h,s){var d,g,v,m,y,x,b,_,w,M,A,k,T,S=\\\"M0,0\\\";Um(i,t)&&(y=Hm(i,\\\"left\\\",u,o),d=i._offset-(y?a+y:0),x=Hm(i,\\\"right\\\",u,o),g=i._offset+i._length+(x?a+x:0),v=l(i,u,\\\"bottom\\\"),m=l(i,u,\\\"top\\\"),(T=!i._anchorAxis||t!==i._mainSubplot)&&i.ticks&&\\\"allticks\\\"===i.mirror&&(i._linepositions[t]=[v,m]),S=z(i,C,function(t){return\\\"M\\\"+i._offset+\\\",\\\"+t+\\\"h\\\"+i._length}),T&&i.showline&&(\\\"all\\\"===i.mirror||\\\"allticks\\\"===i.mirror)&&(S+=C(v)+C(m)),e.xlines.style(\\\"stroke-width\\\",i._lw+\\\"px\\\").call(Oe.stroke,i.showline?i.linecolor:\\\"rgba(0,0,0,0)\\\")),e.xlines.attr(\\\"d\\\",S);var E=\\\"M0,0\\\";Um(u,t)&&(A=Hm(u,\\\"bottom\\\",i,o),b=u._offset+u._length+(A?a:0),k=Hm(u,\\\"top\\\",i,o),_=u._offset-(k?a:0),w=l(u,i,\\\"left\\\"),M=l(u,i,\\\"right\\\"),(T=!u._anchorAxis||t!==i._mainSubplot)&&u.ticks&&\\\"allticks\\\"===u.mirror&&(u._linepositions[t]=[w,M]),E=z(u,L,function(t){return\\\"M\\\"+t+\\\",\\\"+u._offset+\\\"v\\\"+u._length}),T&&u.showline&&(\\\"all\\\"===u.mirror||\\\"allticks\\\"===u.mirror)&&(E+=L(w)+L(M)),e.ylines.style(\\\"stroke-width\\\",u._lw+\\\"px\\\").call(Oe.stroke,u.showline?u.linecolor:\\\"rgba(0,0,0,0)\\\")),e.ylines.attr(\\\"d\\\",E)}function C(t){return\\\"M\\\"+d+\\\",\\\"+t+\\\"H\\\"+g}function L(t){return\\\"M\\\"+t+\\\",\\\"+_+\\\"V\\\"+b}function z(e,r,n){if(!e.showline||t!==e._mainSubplot)return\\\"\\\";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),ri.makeClipPaths(t),Vm.drawMainTitle(t),pm.manage(t),t._promises.length&&Promise.all(t._promises)},Vm.drawMainTitle=function(t){var e=t._fullLayout;Dn.draw(t,\\\"gtitle\\\",{propContainer:e,propName:\\\"title\\\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\\\"text-anchor\\\":\\\"middle\\\"}})},Vm.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return _n.style(t),P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),_n.previousPromises(t)},Vm.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,i=r.t.cb;P.traceIs(n,\\\"contour\\\")&&i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\\\"line\\\"===n.contours.coloring?i._opts.line.color:n.line.color}),P.traceIs(n,\\\"markerColorscale\\\")?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return _n.previousPromises(t)},Vm.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,P.call(\\\"plot\\\",t,\\\"\\\",e)},Vm.doLegend=function(t){return P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),_n.previousPromises(t)},Vm.doTicksRelayout=function(t){return ri.doTicks(t,\\\"redraw\\\"),Vm.drawMainTitle(t),_n.previousPromises(t)},Vm.doModeBar=function(t){var e=t._fullLayout;pm.manage(t),jm(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(e)}return _n.previousPromises(t)},Vm.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}};var Gm={},Wm=gn.id2name,Ym=Bn,Xm=t.ALMOST_EQUAL,Zm=Qe.FROM_BL;function Jm(t,e){var r=t._inputDomain,n=Zm[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}Gm.enforce=function(t){var e,r,n,i,a,o,s,l=t._fullLayout,u=l._axisConstraintGroups||[];for(e=0;e<u.length;e++){var c=u[e],h=Object.keys(c),f=1/0,p=0,d=1/0,g={},v={},m=!1;for(r=0;r<h.length;r++)v[n=h[r]]=i=l[Wm(n)],i._inputDomain?i.domain=i._inputDomain.slice():i._inputDomain=i.domain.slice(),i._inputRange||(i._inputRange=i.range.slice()),i.setScale(),g[n]=a=Math.abs(i._m)/c[n],f=Math.min(f,a),\\\"domain\\\"!==i.constrain&&i._constraintShrinkable||(d=Math.min(d,a)),delete i._constraintShrinkable,p=Math.max(p,a),\\\"domain\\\"===i.constrain&&(m=!0);if(!(f>Xm*p)||m)for(r=0;r<h.length;r++)if(a=g[n=h[r]],o=(i=v[n]).constrain,a!==d||\\\"domain\\\"===o)if(s=a/d,\\\"range\\\"===o)gm(i,s);else{var y=i._inputDomain,x=(i.domain[1]-i.domain[0])/(y[1]-y[0]),b=(i.r2l(i.range[1])-i.r2l(i.range[0]))/(i.r2l(i._inputRange[1])-i.r2l(i._inputRange[0]));if((s/=x)*b<1){i.domain=i._input.domain=y.slice(),gm(i,s);continue}if(b<1&&(i.range=i._input.range=i._inputRange.slice(),s*=b),i.autorange&&i._min.length&&i._max.length){var _=i.r2l(i.range[0]),w=i.r2l(i.range[1]),M=(_+w)/2,A=M,k=M,T=Math.abs(w-M),S=M-T*s*1.0001,E=M+T*s*1.0001,C=Ym(i);Jm(i,s),i.setScale();var L,z,P=Math.abs(i._m);for(z=0;z<i._min.length;z++)(L=i._min[z].val-C(i._min[z])/P)>S&&L<A&&(A=L);for(z=0;z<i._max.length;z++)(L=i._max[z].val+C(i._max[z])/P)<E&&L>k&&(k=L);s/=(k-A)/(2*T),A=i.l2r(A),k=i.l2r(k),i.range=i._input.range=_<w?[A,k]:[k,A]}Jm(i,s)}}},Gm.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\\\"domain\\\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}};var Km={},Qm=ne.extendDeepAll,$m=Qe.MID_SHIFT,ty=Km={version:\\\"0.2.2\\\"};ty.Axis=function(){var t,r,n,i,a={data:[],layout:{}},o={},s={},l=e.dispatch(\\\"hover\\\"),u={};return u.render=function(o){return function(o){r=o||r;var l=a.data,u=a.layout;(\\\"string\\\"==typeof r||r.nodeName)&&(r=e.select(r)),r.datum(l).each(function(r,a){var o=r.slice();s={data:ty.util.cloneJson(o),layout:ty.util.cloneJson(u)};var l=0;o.forEach(function(t,r){t.color||(t.color=u.defaultColorRange[l],l=(l+1)%u.defaultColorRange.length),t.strokeColor||(t.strokeColor=\\\"LinePlot\\\"===t.geometry?t.color:e.rgb(t.color).darker().toString()),s.data[r].color=t.color,s.data[r].strokeColor=t.strokeColor,s.data[r].strokeDash=t.strokeDash,s.data[r].strokeSize=t.strokeSize});var c=o.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),h=!1,f=c.map(function(t,e){return h=h||void 0!==t.groupId,t});if(h){var p=[],d=e.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\\\"unstacked\\\"}).entries(f).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],p.push(r),r=ty.util.sumArrays(t.r,r)}),t.values});c=e.merge(d)}c.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 g=Math.min(u.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2;g=Math.max(10,g);var v,m=[u.margin.left+g,u.margin.top+g];v=h?[0,e.max(ty.util.sumArrays(ty.util.arrayLast(c).r[0],ty.util.arrayLast(p)))]:e.extent(ty.util.flattenArray(c.map(function(t,e){return t.r}))),u.radialAxis.domain!=ty.DATAEXTENT&&(v[0]=0),n=e.scale.linear().domain(u.radialAxis.domain!=ty.DATAEXTENT&&u.radialAxis.domain?u.radialAxis.domain:v).range([0,g]),s.layout.radialAxis.domain=n.domain();var y,x=ty.util.flattenArray(c.map(function(t,e){return t.t})),b=\\\"string\\\"==typeof x[0];b&&(x=ty.util.deduplicate(x),y=x.slice(),x=e.range(x.length),c=c.map(function(t,e){var r=t;return t.t=[x],h&&(r.yStack=t.yStack),r}));var _=c.filter(function(t,e){return\\\"LinePlot\\\"===t.geometry||\\\"DotPlot\\\"===t.geometry}).length===c.length,w=null===u.needsEndSpacing?b||!_:u.needsEndSpacing,M=u.angularAxis.domain&&u.angularAxis.domain!=ty.DATAEXTENT&&!b&&u.angularAxis.domain[0]>=0?u.angularAxis.domain:e.extent(x),A=Math.abs(x[1]-x[0]);_&&!b&&(A=0);var k=M.slice();w&&b&&(k[1]+=A);var T=u.angularAxis.ticksCount||4;T>8&&(T=T/(T/8)+T%8),u.angularAxis.ticksStep&&(T=(k[1]-k[0])/T);var S=u.angularAxis.ticksStep||(k[1]-k[0])/(T*(u.minorTicks+1));y&&(S=Math.max(Math.round(S),1)),k[2]||(k[2]=S);var E=e.range.apply(this,k);if(E=E.map(function(t,e){return parseFloat(t.toPrecision(12))}),i=e.scale.linear().domain(k.slice(0,2)).range(\\\"clockwise\\\"===u.direction?[0,360]:[360,0]),s.layout.angularAxis.domain=i.domain(),s.layout.angularAxis.endPadding=w?A:0,void 0===(t=e.select(this).select(\\\"svg.chart-root\\\"))||t.empty()){var C=(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\\\"),L=this.appendChild(this.ownerDocument.importNode(C.documentElement,!0));t=e.select(L)}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 z,P=t.select(\\\".chart-group\\\"),I={fill:\\\"none\\\",stroke:u.tickColor},D={\\\"font-size\\\":u.font.size,\\\"font-family\\\":u.font.family,fill:u.font.color,\\\"text-shadow\\\":[\\\"-1px 0px\\\",\\\"1px -1px\\\",\\\"-1px 1px\\\",\\\"1px 1px\\\"].map(function(t,e){return\\\" \\\"+t+\\\" 0 \\\"+u.font.outlineColor}).join(\\\",\\\")};if(u.showLegend){z=t.select(\\\".legend-group\\\").attr({transform:\\\"translate(\\\"+[g,u.margin.top]+\\\")\\\"}).style({display:\\\"block\\\"});var O=c.map(function(t,e){var r=ty.util.cloneJson(t);return r.symbol=\\\"DotPlot\\\"===t.geometry?t.dotType||\\\"circle\\\":\\\"LinePlot\\\"!=t.geometry?\\\"square\\\":\\\"line\\\",r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color=\\\"LinePlot\\\"===t.geometry?t.strokeColor:t.color,r});ty.Legend().config({data:c.map(function(t,e){return t.name||\\\"Element\\\"+e}),legendConfig:Qm({},ty.Legend.defaultConfig().legendConfig,{container:z,elements:O,reverseOrder:u.legend.reverseOrder})})();var R=z.node().getBBox();g=Math.min(u.width-R.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2,g=Math.max(10,g),m=[u.margin.left+g,u.margin.top+g],n.range([0,g]),s.layout.radialAxis.domain=n.domain(),z.attr(\\\"transform\\\",\\\"translate(\\\"+[m[0]+g,m[1]-g]+\\\")\\\")}else z=t.select(\\\".legend-group\\\").style({display:\\\"none\\\"});t.attr({width:u.width,height:u.height}).style({opacity:u.opacity}),P.attr(\\\"transform\\\",\\\"translate(\\\"+m+\\\")\\\").style({cursor:\\\"crosshair\\\"});var F=[(u.width-(u.margin.left+u.margin.right+2*g+(R?R.width:0)))/2,(u.height-(u.margin.top+u.margin.bottom+2*g))/2];if(F[0]=Math.max(0,F[0]),F[1]=Math.max(0,F[1]),t.select(\\\".outer-group\\\").attr(\\\"transform\\\",\\\"translate(\\\"+F+\\\")\\\"),u.title){var B=t.select(\\\"g.title-group text\\\").style(D).text(u.title),N=B.node().getBBox();B.attr({x:m[0]-N.width/2,y:m[1]-g-20})}var j=t.select(\\\".radial.axis-group\\\");if(u.radialAxis.gridLinesVisible){var V=j.selectAll(\\\"circle.grid-circle\\\").data(n.ticks(5));V.enter().append(\\\"circle\\\").attr({class:\\\"grid-circle\\\"}).style(I),V.attr(\\\"r\\\",n),V.exit().remove()}j.select(\\\"circle.outside-circle\\\").attr({r:g}).style(I);var U=t.select(\\\"circle.background-circle\\\").attr({r:g}).style({fill:u.backgroundColor,stroke:u.stroke});function q(t,e){return i(t)%360+u.orientation}if(u.radialAxis.visible){var H=e.svg.axis().scale(n).ticks(5).tickSize(5);j.call(H).attr({transform:\\\"rotate(\\\"+u.radialAxis.orientation+\\\")\\\"}),j.selectAll(\\\".domain\\\").style(I),j.selectAll(\\\"g>text\\\").text(function(t,e){return this.textContent+u.radialAxis.ticksSuffix}).style(D).style({\\\"text-anchor\\\":\\\"start\\\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\\\"horizontal\\\"===u.radialAxis.tickOrientation?\\\"rotate(\\\"+-u.radialAxis.orientation+\\\") translate(\\\"+[0,D[\\\"font-size\\\"]]+\\\")\\\":\\\"translate(\\\"+[0,D[\\\"font-size\\\"]]+\\\")\\\"}}),j.selectAll(\\\"g>line\\\").style({stroke:\\\"black\\\"})}var G=t.select(\\\".angular.axis-group\\\").selectAll(\\\"g.angular-tick\\\").data(E),W=G.enter().append(\\\"g\\\").classed(\\\"angular-tick\\\",!0);G.attr({transform:function(t,e){return\\\"rotate(\\\"+q(t)+\\\")\\\"}}).style({display:u.angularAxis.visible?\\\"block\\\":\\\"none\\\"}),G.exit().remove(),W.append(\\\"line\\\").classed(\\\"grid-line\\\",!0).classed(\\\"major\\\",function(t,e){return e%(u.minorTicks+1)==0}).classed(\\\"minor\\\",function(t,e){return!(e%(u.minorTicks+1)==0)}).style(I),W.selectAll(\\\".minor\\\").style({stroke:u.minorTickColor}),G.select(\\\"line.grid-line\\\").attr({x1:u.tickLength?g-u.tickLength:0,x2:g}).style({display:u.angularAxis.gridLinesVisible?\\\"block\\\":\\\"none\\\"}),W.append(\\\"text\\\").classed(\\\"axis-text\\\",!0).style(D);var Y=G.select(\\\"text.axis-text\\\").attr({x:g+u.labelOffset,dy:$m+\\\"em\\\",transform:function(t,e){var r=q(t),n=g+u.labelOffset,i=u.angularAxis.tickOrientation;return\\\"horizontal\\\"==i?\\\"rotate(\\\"+-r+\\\" \\\"+n+\\\" 0)\\\":\\\"radial\\\"==i?r<270&&r>90?\\\"rotate(180 \\\"+n+\\\" 0)\\\":null:\\\"rotate(\\\"+(r<=180&&r>0?-90:90)+\\\" \\\"+n+\\\" 0)\\\"}}).style({\\\"text-anchor\\\":\\\"middle\\\",display:u.angularAxis.labelsVisible?\\\"block\\\":\\\"none\\\"}).text(function(t,e){return e%(u.minorTicks+1)!=0?\\\"\\\":y?y[t]+u.angularAxis.ticksSuffix:t+u.angularAxis.ticksSuffix}).style(D);u.angularAxis.rewriteTicks&&Y.text(function(t,e){return e%(u.minorTicks+1)!=0?\\\"\\\":u.angularAxis.rewriteTicks(this.textContent,e)});var X=e.max(P.selectAll(\\\".angular-tick text\\\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));z.attr({transform:\\\"translate(\\\"+[g+X,u.margin.top]+\\\")\\\"});var Z=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g\\\").size()>0,J=t.select(\\\"g.geometry-group\\\").selectAll(\\\"g.geometry\\\").data(c);if(J.enter().append(\\\"g\\\").attr({class:function(t,e){return\\\"geometry geometry\\\"+e}}),J.exit().remove(),c[0]||Z){var K=[];c.forEach(function(t,e){var r={};r.radialScale=n,r.angularScale=i,r.container=J.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=u.orientation,r.direction=u.direction,r.index=e,K.push({data:t,geometryConfig:r})});var Q=[];e.nest().key(function(t,e){return void 0!==t.data.groupId||\\\"unstacked\\\"}).entries(K).forEach(function(t,e){\\\"unstacked\\\"===t.key?Q=Q.concat(t.values.map(function(t,e){return[t]})):Q.push(t.values)}),Q.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 Qm(ty[r].defaultConfig(),t)});ty[r]().config(n)()})}var $,tt,et=t.select(\\\".guides-group\\\"),rt=t.select(\\\".tooltips-group\\\"),nt=ty.tooltipPanel().config({container:rt,fontSize:8})(),it=ty.tooltipPanel().config({container:rt,fontSize:8})(),at=ty.tooltipPanel().config({container:rt,hasTick:!0})();if(!b){var ot=et.select(\\\"line\\\").attr({x1:0,y1:0,y2:0}).style({stroke:\\\"grey\\\",\\\"pointer-events\\\":\\\"none\\\"});P.on(\\\"mousemove.angular-guide\\\",function(t,e){var r=ty.util.getMousePos(U).angle;ot.attr({x2:-g,transform:\\\"rotate(\\\"+r+\\\")\\\"}).style({opacity:.5});var n=(r+180+360-u.orientation)%360;$=i.invert(n);var a=ty.util.convertToCartesian(g+12,r+180);nt.text(ty.util.round($)).move([a[0]+m[0],a[1]+m[1]])}).on(\\\"mouseout.angular-guide\\\",function(t,e){et.select(\\\"line\\\").style({opacity:0})})}var st=et.select(\\\"circle\\\").style({stroke:\\\"grey\\\",fill:\\\"none\\\"});P.on(\\\"mousemove.radial-guide\\\",function(t,e){var r=ty.util.getMousePos(U).radius;st.attr({r:r}).style({opacity:.5}),tt=n.invert(ty.util.getMousePos(U).radius);var i=ty.util.convertToCartesian(r,u.radialAxis.orientation);it.text(ty.util.round(tt)).move([i[0]+m[0],i[1]+m[1]])}).on(\\\"mouseout.radial-guide\\\",function(t,e){st.style({opacity:0}),at.hide(),nt.hide(),it.hide()}),t.selectAll(\\\".geometry-group .mark\\\").on(\\\"mouseover.tooltip\\\",function(r,n){var i=e.select(this),a=this.style.fill,o=\\\"black\\\",s=this.style.opacity||1;if(i.attr({\\\"data-opacity\\\":s}),a&&\\\"none\\\"!==a){i.attr({\\\"data-fill\\\":a}),o=e.hsl(a).darker().toString(),i.style({fill:o,opacity:1});var l={t:ty.util.round(r[0]),r:ty.util.round(r[1])};b&&(l.t=y[r[0]]);var u=\\\"t: \\\"+l.t+\\\", r: \\\"+l.r,c=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),f=[c.left+c.width/2-F[0]-h.left,c.top+c.height/2-F[1]-h.top];at.config({color:o}).text(u),at.move(f)}else a=this.style.stroke||\\\"black\\\",i.attr({\\\"data-stroke\\\":a}),o=e.hsl(a).darker().toString(),i.style({stroke:o,opacity:1})}).on(\\\"mousemove.tooltip\\\",function(t,r){if(0!=e.event.which)return!1;e.select(this).attr(\\\"data-fill\\\")&&at.show()}).on(\\\"mouseout.tooltip\\\",function(t,r){at.hide();var n=e.select(this),i=n.attr(\\\"data-fill\\\");i?n.style({fill:i,opacity:n.attr(\\\"data-opacity\\\")}):n.style({stroke:n.attr(\\\"data-stroke\\\"),opacity:n.attr(\\\"data-opacity\\\")})})})}(o),this},u.config=function(t){if(!arguments.length)return a;var e=ty.util.cloneJson(t);return e.data.forEach(function(t,e){a.data[e]||(a.data[e]={}),Qm(a.data[e],ty.Axis.defaultConfig().data[0]),Qm(a.data[e],t)}),Qm(a.layout,ty.Axis.defaultConfig().layout),Qm(a.layout,e.layout),this},u.getLiveConfig=function(){return s},u.getinputConfig=function(){return o},u.radialScale=function(t){return n},u.angularScale=function(t){return i},u.svg=function(){return t},e.rebind(u,l,\\\"on\\\"),u},ty.Axis.defaultConfig=function(t,r){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:e.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}}},ty.util={},ty.DATAEXTENT=\\\"dataExtent\\\",ty.AREA=\\\"AreaChart\\\",ty.LINE=\\\"LinePlot\\\",ty.DOT=\\\"DotPlot\\\",ty.BAR=\\\"BarChart\\\",ty.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},ty.util._extend=function(t,e){for(var r in t)e[r]=t[r]},ty.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},ty.util.dataFromEquation2=function(t,r){var n=r||6;return e.range(0,360+n,n).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},ty.util.dataFromEquation=function(t,r,n){var i=r||6,a=[],o=[];e.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return n&&(s.name=n),s},ty.util.ensureArray=function(t,r){if(void 0===t)return null;var n=[].concat(t);return e.range(r).map(function(t,e){return n[e]||n[0]})},ty.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=ty.util.ensureArray(t[e],r)}),t},ty.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},ty.util.validateKeys=function(t,e){\\\"string\\\"==typeof e&&(e=e.split(\\\".\\\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},ty.util.sumArrays=function(t,r){return e.zip(t,r).map(function(t,r){return e.sum(t)})},ty.util.arrayLast=function(t){return t[t.length-1]},ty.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},ty.util.flattenArray=function(t){for(var e=[];!ty.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},ty.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},ty.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},ty.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},ty.util.getMousePos=function(t){var r=e.mouse(t.node()),n=r[0],i=r[1],a={};return a.x=n,a.y=i,a.pos=r,a.angle=180*(Math.atan2(i,n)+Math.PI)/Math.PI,a.radius=Math.sqrt(n*n+i*i),a},ty.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},ty.util.duplicates=function(t){return Object.keys(ty.util.duplicatesCount(t))},ty.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(void 0!==t)return t[e]},t);void 0!==a&&(e.reduce(function(t,r,n){if(void 0!==t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return void 0===t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},ty.PolyChart=function(){var t=[ty.PolyChart.defaultConfig()],r=e.dispatch(\\\"hover\\\"),n={solid:\\\"none\\\",dash:[5,2],dot:[2,5]};function i(){var r=t[0].geometryConfig,i=r.container;\\\"string\\\"==typeof i&&(i=e.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,r){return a?e.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):e.zip(t.data.t[0],t.data.r[0])}),s=r.angularScale,l=r.radialScale.domain()[0],u={bar:function(n,i,a){var o=t[a].data,l=r.radialScale(n[1])-r.radialScale(0),u=r.radialScale(n[2]||0),c=o.barWidth;e.select(this).attr({class:\\\"mark bar\\\",d:\\\"M\\\"+[[l+u,-c/2],[l+u,c/2],[u,c/2],[u,-c/2]].join(\\\"L\\\")+\\\"Z\\\",transform:function(t,e){return\\\"rotate(\\\"+(r.orientation+s(t[0]))+\\\")\\\"}})}};u.dot=function(n,i,a){var o=n[2]?[n[0],n[1]+n[2]]:n,s=e.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(n,i);e.select(this).attr({class:\\\"mark dot\\\",d:s,transform:function(t,e){var n,i,a,s=(n=function(t,e){var n=r.radialScale(t[1]),i=(r.angularScale(t[0])+r.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return\\\"translate(\\\"+[s.x,s.y]+\\\")\\\"}})};var c=e.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return r.radialScale(t[1])}).angle(function(t){return r.angularScale(t[0])*Math.PI/180});u.line=function(n,i,a){var s=n[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(e.select(this).each(u.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(n,i,a)}).attr({class:\\\"mark dot\\\"}),!(i>0)){var l=e.select(this.parentNode).selectAll(\\\"path.line\\\").data([0]);l.enter().insert(\\\"path\\\"),l.attr({class:\\\"line\\\",d:c(s),transform:function(t,e){return\\\"rotate(\\\"+(r.orientation+90)+\\\")\\\"},\\\"pointer-events\\\":\\\"none\\\"}).style({fill:function(t,e){return d.fill(n,i,a)},\\\"fill-opacity\\\":0,stroke:function(t,e){return d.stroke(n,i,a)},\\\"stroke-width\\\":function(t,e){return d[\\\"stroke-width\\\"](n,i,a)},\\\"stroke-dasharray\\\":function(t,e){return d[\\\"stroke-dasharray\\\"](n,i,a)},opacity:function(t,e){return d.opacity(n,i,a)},display:function(t,e){return d.display(n,i,a)}})}};var h=r.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=e.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return r.radialScale(l+(t[2]||0))}).outerRadius(function(t){return r.radialScale(l+(t[2]||0))+r.radialScale(t[1])});u.arc=function(t,n,i){e.select(this).attr({class:\\\"mark arc\\\",d:p,transform:function(t,e){return\\\"rotate(\\\"+(r.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,r,i){return n[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===t[n].data.visible||t[n].data.visible?\\\"block\\\":\\\"none\\\"}},g=e.select(this).selectAll(\\\"g.layer\\\").data(o);g.enter().append(\\\"g\\\").attr({class:\\\"layer\\\"});var v=g.selectAll(\\\"path.mark\\\").data(function(t,e){return t});v.enter().append(\\\"path\\\").attr({class:\\\"mark\\\"}),v.style(d).each(u[r.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),Qm(t[r],ty.PolyChart.defaultConfig()),Qm(t[r],e)}),this):t},i.getColorScale=function(){},e.rebind(i,r,\\\"on\\\"),i},ty.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:e.scale.category20()}}},ty.BarChart=function(){return ty.PolyChart()},ty.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"bar\\\"}}},ty.AreaChart=function(){return ty.PolyChart()},ty.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"arc\\\"}}},ty.DotPlot=function(){return ty.PolyChart()},ty.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"dot\\\",dotType:\\\"circle\\\"}}},ty.LinePlot=function(){return ty.PolyChart()},ty.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\\\"line\\\"}}},ty.Legend=function(){var t=ty.Legend.defaultConfig(),r=e.dispatch(\\\"hover\\\");function n(){var r=t.legendConfig,i=t.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=Qm({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),a=e.merge(i);a=a.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&&(a=a.reverse());var o=r.container;(\\\"string\\\"==typeof o||o.nodeName)&&(o=e.select(o));var s=a.map(function(t,e){return t.color}),l=r.fontSize,u=null==r.isContinuous?\\\"number\\\"==typeof a[0]:r.isContinuous,c=u?r.height:l*a.length,h=o.classed(\\\"legend-group\\\",!0).selectAll(\\\"svg\\\").data([0]),f=h.enter().append(\\\"svg\\\").attr({width:300,height:c+l,xmlns:\\\"http://www.w3.org/2000/svg\\\",\\\"xmlns:xlink\\\":\\\"http://www.w3.org/1999/xlink\\\",version:\\\"1.1\\\"});f.append(\\\"g\\\").classed(\\\"legend-axis\\\",!0),f.append(\\\"g\\\").classed(\\\"legend-marks\\\",!0);var p=e.range(a.length),d=e.scale[u?\\\"linear\\\":\\\"ordinal\\\"]().domain(p).range(s),g=e.scale[u?\\\"linear\\\":\\\"ordinal\\\"]().domain(p)[u?\\\"range\\\":\\\"rangePoints\\\"]([0,c]);if(u){var v=h.select(\\\".legend-marks\\\").append(\\\"defs\\\").append(\\\"linearGradient\\\").attr({id:\\\"grad1\\\",x1:\\\"0%\\\",y1:\\\"0%\\\",x2:\\\"0%\\\",y2:\\\"100%\\\"}).selectAll(\\\"stop\\\").data(s);v.enter().append(\\\"stop\\\"),v.attr({offset:function(t,e){return e/(s.length-1)*100+\\\"%\\\"}}).style({\\\"stop-color\\\":function(t,e){return t}}),h.append(\\\"rect\\\").classed(\\\"legend-mark\\\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\\\"url(#grad1)\\\"})}else{var m=h.select(\\\".legend-marks\\\").selectAll(\\\"path.legend-mark\\\").data(a);m.enter().append(\\\"path\\\").classed(\\\"legend-mark\\\",!0),m.attr({transform:function(t,e){return\\\"translate(\\\"+[l/2,g(e)+l/2]+\\\")\\\"},d:function(t,r){var n,i,a,o=t.symbol;return a=3*(i=l),\\\"line\\\"===(n=o)?\\\"M\\\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\\\"Z\\\":-1!=e.svg.symbolTypes.indexOf(n)?e.svg.symbol().type(n).size(a)():e.svg.symbol().type(\\\"square\\\").size(a)()},fill:function(t,e){return d(e)}}),m.exit().remove()}var y=e.svg.axis().scale(g).orient(\\\"right\\\"),x=h.select(\\\"g.legend-axis\\\").attr({transform:\\\"translate(\\\"+[u?r.colorBandWidth:l,l/2]+\\\")\\\"}).call(y);return x.selectAll(\\\".domain\\\").style({fill:\\\"none\\\",stroke:\\\"none\\\"}),x.selectAll(\\\"line\\\").style({fill:\\\"none\\\",stroke:u?r.textColor:\\\"none\\\"}),x.selectAll(\\\"text\\\").style({fill:r.textColor,\\\"font-size\\\":r.fontSize}).text(function(t,e){return a[e].name}),n}return n.config=function(e){return arguments.length?(Qm(t,e),this):t},e.rebind(n,r,\\\"on\\\"),n},ty.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}}},ty.tooltipPanel=function(){var t,r,n,i={container:null,hasTick:!1,fontSize:12,color:\\\"white\\\",padding:5},a=\\\"tooltip-\\\"+ty.tooltipPanel.uid++,o=10,s=function(){var e=(t=i.container.selectAll(\\\"g.\\\"+a).data([0])).enter().append(\\\"g\\\").classed(a,!0).style({\\\"pointer-events\\\":\\\"none\\\",display:\\\"none\\\"});return n=e.append(\\\"path\\\").style({fill:\\\"white\\\",\\\"fill-opacity\\\":.9}).attr({d:\\\"M0 0\\\"}),r=e.append(\\\"text\\\").attr({dx:i.padding+o,dy:.3*+i.fontSize}),s};return s.text=function(a){var l=e.hsl(i.color).l,u=l>=.5?\\\"#aaa\\\":\\\"white\\\",c=l>=.5?\\\"black\\\":\\\"white\\\",h=a||\\\"\\\";r.style({fill:c,\\\"font-size\\\":i.fontSize+\\\"px\\\"}).text(h);var f=i.padding,p=r.node().getBBox(),d={fill:i.color,stroke:u,\\\"stroke-width\\\":\\\"2px\\\"},g=p.width+2*f+o,v=p.height+2*f;return n.attr({d:\\\"M\\\"+[[o,-v/2],[o,-v/4],[i.hasTick?0:o,0],[o,v/4],[o,v/2],[g,v/2],[g,-v/2]].join(\\\"L\\\")+\\\"Z\\\"}).style(d),t.attr({transform:\\\"translate(\\\"+[o,-v/2+2*f]+\\\")\\\"}),t.style({display:\\\"block\\\"}),s},s.move=function(e){if(t)return t.attr({transform:\\\"translate(\\\"+[e[0],e[1]]+\\\")\\\"}).style({display:\\\"block\\\"}),s},s.hide=function(){if(t)return t.style({display:\\\"none\\\"}),s},s.show=function(){if(t)return t.style({display:\\\"block\\\"}),s},s.config=function(t){return Qm(i,t),s},s},ty.tooltipPanel.uid=1,ty.adapter={},ty.adapter.plotly=function(){var t={convert:function(t,r){var n={};if(t.data&&(n.data=t.data.map(function(t,e){var n=Qm({},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,e){ty.util.translator.apply(null,t.concat(r))}),r||delete n.marker,r&&delete n.groupId,r?(\\\"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}),!r&&t.layout&&\\\"stack\\\"===t.layout.barmode)){var i=ty.util.duplicates(n.data.map(function(t,e){return t.geometry}));n.data.forEach(function(t,e){var r=i.indexOf(t.geometry);-1!=r&&(n.data[e].groupId=r)})}if(t.layout){var a=Qm({},t.layout);if([[a,[\\\"plot_bgcolor\\\"],[\\\"backgroundColor\\\"]],[a,[\\\"showlegend\\\"],[\\\"showLegend\\\"]],[a,[\\\"radialaxis\\\"],[\\\"radialAxis\\\"]],[a,[\\\"angularaxis\\\"],[\\\"angularAxis\\\"]],[a.angularaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.angularaxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[a.angularaxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[a.angularaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.angularaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.angularaxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.angularaxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[a.radialaxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.radialaxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.radialaxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.radialaxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.angularAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.angularAxis,[\\\"showticklabels\\\"],[\\\"labelsVisible\\\"]],[a.angularAxis,[\\\"nticks\\\"],[\\\"ticksCount\\\"]],[a.angularAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.angularAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.angularAxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.angularAxis,[\\\"endpadding\\\"],[\\\"endPadding\\\"]],[a.radialAxis,[\\\"showline\\\"],[\\\"gridLinesVisible\\\"]],[a.radialAxis,[\\\"tickorientation\\\"],[\\\"tickOrientation\\\"]],[a.radialAxis,[\\\"ticksuffix\\\"],[\\\"ticksSuffix\\\"]],[a.radialAxis,[\\\"range\\\"],[\\\"domain\\\"]],[a.font,[\\\"outlinecolor\\\"],[\\\"outlineColor\\\"]],[a.legend,[\\\"traceorder\\\"],[\\\"reverseOrder\\\"]],[a,[\\\"labeloffset\\\"],[\\\"labelOffset\\\"]],[a,[\\\"defaultcolorrange\\\"],[\\\"defaultColorRange\\\"]]].forEach(function(t,e){ty.util.translator.apply(null,t.concat(r))}),r?(void 0!==a.tickLength&&(a.angularaxis.ticklen=a.tickLength,delete a.tickLength),a.tickColor&&(a.angularaxis.tickcolor=a.tickColor,delete a.tickColor)):(a.angularAxis&&void 0!==a.angularAxis.ticklen&&(a.tickLength=a.angularAxis.ticklen),a.angularAxis&&void 0!==a.angularAxis.tickcolor&&(a.tickColor=a.angularAxis.tickcolor)),a.legend&&\\\"boolean\\\"!=typeof a.legend.reverseOrder&&(a.legend.reverseOrder=\\\"normal\\\"!=a.legend.reverseOrder),a.legend&&\\\"boolean\\\"==typeof a.legend.traceorder&&(a.legend.traceorder=a.legend.traceorder?\\\"reversed\\\":\\\"normal\\\",delete a.legend.reverseOrder),a.margin&&void 0!==a.margin.t){var o=[\\\"t\\\",\\\"r\\\",\\\"b\\\",\\\"l\\\",\\\"pad\\\"],s=[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\",\\\"pad\\\"],l={};e.entries(a.margin).forEach(function(t,e){l[s[o.indexOf(t.key)]]=t.value}),a.margin=l}r&&(delete a.needsEndSpacing,delete a.minorTickColor,delete a.minorTicks,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksStep,delete a.angularaxis.rewriteTicks,delete a.angularaxis.nticks,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksStep,delete a.radialaxis.rewriteTicks,delete a.radialaxis.nticks),n.layout=a}return n}};return t};var ey,ry=ne.extendDeepAll,ny=ey={};ny.framework=function(t){var r,n,i,a,o,s=new function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(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?(i(n,\\\"undo\\\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(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}}};function l(n,s){return s&&(o=s),e.select(e.select(o).node().parentNode).selectAll(\\\".svg-container>*:not(.chart-root)\\\").remove(),r=r?ry(r,n):n,i||(i=Km.Axis()),a=Km.adapter.plotly().convert(r),i.config(a).render(o),t.data=r.data,t.layout=r.layout,ny.fillLayout(t),r}return l.isPolar=!0,l.svg=function(){return i.svg()},l.getConfig=function(){return r},l.getLiveConfig=function(){return Km.adapter.plotly().convert(i.getLiveConfig(),!0)},l.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},l.setUndoPoint=function(){var t,e,i=this,a=Km.util.cloneJson(r);t=a,e=n,s.add({undo:function(){e&&i(e)},redo:function(){i(t)}}),n=Km.util.cloneJson(a)},l.undo=function(){s.undo()},l.redo=function(){s.redo()},l},ny.fillLayout=function(t){var r=e.select(t).selectAll(\\\".plot-container\\\"),n=r.selectAll(\\\".svg-container\\\"),i=t.framework&&t.framework.svg&&t.framework.svg(),a={width:800,height:600,paper_bgcolor:Oe.background,_container:r,_paperdiv:n,_paper:i};t._fullLayout=ry(a,t.layout)};var iy={};(iy=Km).manager=ey;var ay={},oy=Gm.enforce,sy=Gm.clean,ly=Nn,uy=0;function cy(t,e){try{t._fullLayout._paper.style(\\\"background\\\",e)}catch(t){ne.error(t)}}function hy(t,e){cy(t,Oe.combine(e,\\\"white\\\"))}function fy(t,e){t._context||(t._context=ne.extendDeep({},b));var r,n,i,a=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\\\"editable\\\"!==(i=n[r])&&\\\"edits\\\"!==i&&i in a&&(\\\"setBackground\\\"===i&&\\\"opaque\\\"===e[i]?a[i]=hy:a[i]=e[i]);e.plot3dPixelRatio&&!a.plotGlPixelRatio&&(a.plotGlPixelRatio=a.plot3dPixelRatio);var o=e.editable;if(void 0!==o)for(a.editable=o,n=Object.keys(a.edits),r=0;r<n.length;r++)a.edits[n[r]]=o;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in a.edits&&(a.edits[i]=e.edits[i])}a.staticPlot&&(a.editable=!1,a.edits={},a.autosizable=!1,a.scrollZoom=!1,a.doubleClick=!1,a.showTips=!1,a.showLink=!1,a.displayModeBar=!1),\\\"hover\\\"!==a.displayModeBar||Sa||(a.displayModeBar=!0),\\\"transparent\\\"!==a.setBackground&&\\\"function\\\"==typeof a.setBackground||(a.setBackground=cy)}function py(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function dy(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\\\"all values in \\\"+r+\\\" must be integers\\\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\\\" must be valid indices for gd.data.\\\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\\\"each index in \\\"+r+\\\" must be unique.\\\")}}function gy(t,e,r){if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"currentIndices is a required argument.\\\");if(Array.isArray(e)||(e=[e]),dy(t,e,\\\"currentIndices\\\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&dy(t,r,\\\"newIndices\\\"),void 0!==r&&e.length!==r.length)throw new Error(\\\"current and new indices must be of equal length.\\\")}function vy(t,e,n,i,a){!function(t,e,r,n){var i=ne.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array\\\");if(!ne.isPlainObject(e))throw new Error(\\\"update must be a key:value object\\\");if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers\\\");for(var a in dy(t,r,\\\"indices\\\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\\\"attribute \\\"+a+\\\" must be an array of length equal to indices array length\\\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].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,n,i);for(var o=function(t,e,n,i){var a,o,s,l,u,c=ne.isPlainObject(i),h=[];for(var f in Array.isArray(n)||(n=[n]),n=py(n,t.data.length-1),e)for(var p=0;p<n.length;p++){if(a=t.data[n[p]],o=(s=ne.nestedProperty(a,f)).get(),l=e[f][p],!ne.isArrayOrTypedArray(l))throw new Error(\\\"attribute: \\\"+f+\\\" index: \\\"+p+\\\" must be an array\\\");if(!ne.isArrayOrTypedArray(o))throw new Error(\\\"cannot extend missing or non-array attribute: \\\"+f);if(o.constructor!==l.constructor)throw new Error(\\\"cannot extend array with an array of a different type: \\\"+f);u=c?i[f][p]:i,r(u)||(u=-1),h.push({prop:s,target:o,insert:l,maxp:Math.floor(u)})}return h}(t,e,n,i),s={},l={},u=0;u<o.length;u++){var c=o[u].prop,h=o[u].maxp,f=a(o[u].target,o[u].insert,h);c.set(f[0]),Array.isArray(s[c.astr])||(s[c.astr]=[]),s[c.astr].push(f[1]),Array.isArray(l[c.astr])||(l[c.astr]=[]),l[c.astr].push(o[u].target.length)}return{update:s,maxPoints:l}}function my(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function yy(t){return void 0===t?null:t}function xy(t,e,r){var n,i,a=t._fullLayout,o=t._fullData,s=t.data,l=ye.traceFlags(),u={},c={};function h(){return r.map(function(){})}function f(t){var e=ri.id2name(t);-1===i.indexOf(e)&&i.push(e)}function p(t){return\\\"LAYOUT\\\"+t+\\\".autorange\\\"}function d(t){return\\\"LAYOUT\\\"+t+\\\".range\\\"}function g(n,i,a){var o;Array.isArray(n)?n.forEach(function(t){g(t,i,a)}):n in e||Vv.hasParent(e,n)||(o=\\\"LAYOUT\\\"===n.substr(0,6)?ne.nestedProperty(t.layout,n.replace(\\\"LAYOUT\\\",\\\"\\\")):ne.nestedProperty(s[r[a]],n),n in c||(c[n]=h()),void 0===c[n][a]&&(c[n][a]=yy(o.get())),void 0!==i&&o.set(i))}for(var v in e){if(Vv.hasParent(e,v))throw new Error(\\\"cannot set \\\"+v+\\\"and a parent attribute simultaneously\\\");var m,y,x,b,_,w,M=e[v];if(u[v]=M,\\\"LAYOUT\\\"!==v.substr(0,6)){for(c[v]=h(),n=0;n<r.length;n++)if(m=s[r[n]],y=o[r[n]],b=(x=ne.nestedProperty(m,v)).get(),void 0!==(_=Array.isArray(M)?M[n%M.length]:M)){if((w=nn.getTraceValObject(y,x.parts))&&w.impliedEdits&&null!==_)for(var A in w.impliedEdits)g(ne.relativeAttr(v,A),w.impliedEdits[A],n);else if(\\\"colorbar.thicknessmode\\\"===v&&x.get()!==_&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(_)&&y.colorbar){var k=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(y.colorbar.orient)?a.height-a.margin.t-a.margin.b:a.width-a.margin.l-a.margin.r;g(\\\"colorbar.thickness\\\",y.colorbar.thickness*(\\\"fraction\\\"===_?1/k:k),n)}else if(\\\"colorbar.lenmode\\\"===v&&x.get()!==_&&-1!==[\\\"fraction\\\",\\\"pixels\\\"].indexOf(_)&&y.colorbar){var T=-1!==[\\\"top\\\",\\\"bottom\\\"].indexOf(y.colorbar.orient)?a.width-a.margin.l-a.margin.r:a.height-a.margin.t-a.margin.b;g(\\\"colorbar.len\\\",y.colorbar.len*(\\\"fraction\\\"===_?1/T:T),n)}else\\\"colorbar.tick0\\\"!==v&&\\\"colorbar.dtick\\\"!==v||g(\\\"colorbar.tickmode\\\",\\\"linear\\\",n);if(\\\"type\\\"===v&&\\\"pie\\\"===_!=(\\\"pie\\\"===b)){var S=\\\"x\\\",E=\\\"y\\\";\\\"bar\\\"!==_&&\\\"bar\\\"!==b||\\\"h\\\"!==m.orientation||(S=\\\"y\\\",E=\\\"x\\\"),ne.swapAttrs(m,[\\\"?\\\",\\\"?src\\\"],\\\"labels\\\",S),ne.swapAttrs(m,[\\\"d?\\\",\\\"?0\\\"],\\\"label\\\",S),ne.swapAttrs(m,[\\\"?\\\",\\\"?src\\\"],\\\"values\\\",E),\\\"pie\\\"===b?(ne.nestedProperty(m,\\\"marker.color\\\").set(ne.nestedProperty(m,\\\"marker.colors\\\").get()),a._pielayer.selectAll(\\\"g.trace\\\").remove()):P.traceIs(m,\\\"cartesian\\\")&&ne.nestedProperty(m,\\\"marker.colors\\\").set(ne.nestedProperty(m,\\\"marker.color\\\").get())}c[v][n]=yy(b);if(-1!==[\\\"swapxy\\\",\\\"swapxyaxes\\\",\\\"orientation\\\",\\\"orientationaxes\\\"].indexOf(v)){if(\\\"orientation\\\"===v){x.set(_);var C=m.x&&!m.y?\\\"h\\\":\\\"v\\\";if((x.get()||C)===y.orientation)continue}else\\\"orientationaxes\\\"===v&&(m.orientation={v:\\\"h\\\",h:\\\"v\\\"}[y.orientation]);Vv.swapXYData(m),l.calc=l.clearAxisTypes=!0}else-1!==_n.dataArrayContainers.indexOf(x.parts[0])?(Vv.manageArrayContainers(x,_,c),l.calc=!0):(w?w.arrayOk&&(ne.isArrayOrTypedArray(_)||ne.isArrayOrTypedArray(b))?l.calc=!0:ye.update(l,w):l.calc=!0,x.set(_))}if(-1!==[\\\"swapxyaxes\\\",\\\"orientationaxes\\\"].indexOf(v)&&ri.swap(t,r),\\\"orientationaxes\\\"===v){var L=ne.nestedProperty(t.layout,\\\"hovermode\\\");\\\"x\\\"===L.get()?L.set(\\\"y\\\"):\\\"y\\\"===L.get()&&L.set(\\\"x\\\")}if(-1!==[\\\"orientation\\\",\\\"type\\\"].indexOf(v)){for(i=[],n=0;n<r.length;n++){var z=s[r[n]];P.traceIs(z,\\\"cartesian\\\")&&(f(z.xaxis||\\\"x\\\"),f(z.yaxis||\\\"y\\\"),\\\"type\\\"===v&&g([\\\"autobinx\\\",\\\"autobiny\\\"],!0,n))}g(i.map(p),!0,0),g(i.map(d),[0,1],0)}}else x=ne.nestedProperty(t.layout,v.replace(\\\"LAYOUT\\\",\\\"\\\")),c[v]=[yy(x.get())],x.set(Array.isArray(M)?M[0]:M),l.calc=!0}var I=!1,D=ri.list(t);for(n=0;n<D.length;n++)if(D[n].autorange){I=!0;break}return(l.calc||l.calcIfAutorange&&I)&&(l.clearCalc=!0),(l.calc||l.plot||l.calcIfAutorange)&&(l.fullReplot=!0),{flags:l,undoit:c,redoit:u,traces:r,eventData:ne.extendDeepNoArrays([],[u,r])}}function by(t,e){var r,n,i,a=t.layout,o=t._fullLayout,s=Object.keys(e),l=ri.list(t),u={};for(n=0;n<s.length;n++)if(0===s[n].indexOf(\\\"allaxes\\\")){for(i=0;i<l.length;i++){var c=l[i]._id.substr(1),h=-1!==c.indexOf(\\\"scene\\\")?c+\\\".\\\":\\\"\\\",f=s[n].replace(\\\"allaxes\\\",h+l[i]._name);e[f]||(e[f]=e[s[n]])}delete e[s[n]]}var p=ye.layoutFlags(),d={},g={};function v(t,r){if(Array.isArray(t))t.forEach(function(t){v(t,r)});else if(!(t in e||Vv.hasParent(e,t))){var n=ne.nestedProperty(a,t);t in g||(g[t]=yy(n.get())),void 0!==r&&n.set(r)}}var m,y={};function x(t){var e=ri.name2id(t.split(\\\".\\\")[0]);return y[e]=1,e}for(var b in e){if(Vv.hasParent(e,b))throw new Error(\\\"cannot set \\\"+b+\\\"and a parent attribute simultaneously\\\");for(var _=ne.nestedProperty(a,b),w=e[b],M=_.parts.length,A=M-1;A>0&&\\\"string\\\"!=typeof _.parts[M-1];)A--;var k=_.parts[A],T=_.parts[A-1]+\\\".\\\"+k,S=_.parts.slice(0,A).join(\\\".\\\"),E=ne.nestedProperty(t.layout,S).get(),C=ne.nestedProperty(o,S).get(),L=_.get();if(void 0!==w){d[b]=w,g[b]=\\\"reverse\\\"===k?w:yy(L);var z=nn.getLayoutValObject(o,_.parts);if(z&&z.impliedEdits&&null!==w)for(var I in z.impliedEdits)v(ne.relativeAttr(b,I),z.impliedEdits[I]);if(-1!==[\\\"width\\\",\\\"height\\\"].indexOf(b)&&null===w)o[b]=t._initialAutoSize[b];else if(T.match(/^[xyz]axis[0-9]*\\\\.range(\\\\[[0|1]\\\\])?$/))x(T),ne.nestedProperty(o,S+\\\"._inputRange\\\").set(null);else if(T.match(/^[xyz]axis[0-9]*\\\\.autorange$/)){x(T),ne.nestedProperty(o,S+\\\"._inputRange\\\").set(null);var D=ne.nestedProperty(o,S).get();D._inputDomain&&(D._input.domain=D._inputDomain.slice())}else T.match(/^[xyz]axis[0-9]*\\\\.domain(\\\\[[0|1]\\\\])?$/)&&ne.nestedProperty(o,S+\\\"._inputDomain\\\").set(null);if(\\\"type\\\"===k){var O=E,R=\\\"linear\\\"===C.type&&\\\"log\\\"===w,F=\\\"log\\\"===C.type&&\\\"linear\\\"===w;if(R||F){if(O&&O.range)if(C.autorange)R&&(O.range=O.range[1]>O.range[0]?[1,2]:[2,1]);else{var B=O.range[0],N=O.range[1];R?(B<=0&&N<=0&&v(S+\\\".autorange\\\",!0),B<=0?B=N/1e6:N<=0&&(N=B/1e6),v(S+\\\".range[0]\\\",Math.log(B)/Math.LN10),v(S+\\\".range[1]\\\",Math.log(N)/Math.LN10)):(v(S+\\\".range[0]\\\",Math.pow(10,B)),v(S+\\\".range[1]\\\",Math.pow(10,N)))}else v(S+\\\".autorange\\\",!0);Array.isArray(o._subplots.polar)&&o._subplots.polar.length&&o[_.parts[0]]&&\\\"radialaxis\\\"===_.parts[1]&&delete o[_.parts[0]]._subplot.viewInitial[\\\"radialaxis.range\\\"],P.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,C,w,v),P.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,C,w,v)}else v(S+\\\".autorange\\\",!0),v(S+\\\".range\\\",null);ne.nestedProperty(o,S+\\\"._inputRange\\\").set(null)}else if(k.match(Te.AX_NAME_PATTERN)){var j=ne.nestedProperty(o,b).get(),V=(w||{}).type;V&&\\\"-\\\"!==V||(V=\\\"linear\\\"),P.getComponentMethod(\\\"annotations\\\",\\\"convertCoords\\\")(t,j,V,v),P.getComponentMethod(\\\"images\\\",\\\"convertCoords\\\")(t,j,V,v)}var U=Jv.containerArrayMatch(b);if(U){r=U.array,n=U.index;var q=U.property,H=(ne.nestedProperty(a,r)||[])[n]||{},G=H,W=z||{editType:\\\"calc\\\"},Y=-1!==W.editType.indexOf(\\\"calcIfAutorange\\\");\\\"\\\"===n?(Y?p.calc=!0:ye.update(p,W),Y=!1):\\\"\\\"===q&&(G=w,Jv.isAddVal(w)?g[b]=null:Jv.isRemoveVal(w)?(g[b]=H,G=H):ne.warn(\\\"unrecognized full object value\\\",e)),Y&&(wy(t,G,\\\"x\\\")||wy(t,G,\\\"y\\\"))?p.calc=!0:ye.update(p,W),u[r]||(u[r]={});var X=u[r][n];X||(X=u[r][n]={}),X[q]=w,delete e[b]}else\\\"reverse\\\"===k?(E.range?E.range.reverse():(v(S+\\\".autorange\\\",!0),E.range=[1,0]),C.autorange?p.calc=!0:p.plot=!0):(o._has(\\\"scatter-like\\\")&&o._has(\\\"regl\\\")&&\\\"dragmode\\\"===b&&(\\\"lasso\\\"===w||\\\"select\\\"===w)&&\\\"lasso\\\"!==L&&\\\"select\\\"!==L?p.plot=!0:z?ye.update(p,z):p.calc=!0,_.set(w))}}for(r in u){Jv.applyContainerArrayChanges(t,ne.nestedProperty(a,r),u[r],p)||(p.plot=!0)}var Z=o._axisConstraintGroups||[];for(m in y)for(n=0;n<Z.length;n++){var J=Z[n];if(J[m])for(var K in p.calc=!0,J)y[K]||(ri.getFromId(t,K)._constraintShrinkable=!0)}return(_y(t)||e.height||e.width)&&(p.plot=!0),(p.plot||p.calc)&&(p.layoutReplot=!0),{flags:p,undoit:g,redoit:d,eventData:ne.extendDeep({},d)}}function _y(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&_n.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function wy(t,e,r){if(!ne.isPlainObject(e))return!1;var n=e[r+\\\"ref\\\"]||r,i=ri.getFromId(t,n);return i||n.charAt(0)!==r||(i=ri.getFromId(t,r)),(i||{}).autorange}function My(t,e,r,n){var i,a,o=n.getValObject,s=n.flags,l=n.immutable,u=n.inArray,c=n.arrayIndex,h=n.gd,f=n.autoranged;function p(){var t=i.editType;-1!==t.indexOf(\\\"calcIfAutorange\\\")&&(f||void 0===f&&(wy(h,e,\\\"x\\\")||wy(h,e,\\\"y\\\")))?s.calc=!0:u&&-1!==t.indexOf(\\\"arraydraw\\\")?ne.pushUnique(s.arrays[u],c):ye.update(s,i)}function d(t){return\\\"data_array\\\"===t.valType||t.arrayOk}var g=e._fullInput,v=t._fullInput;for(a in g&&g!==e&&(e=g),v&&v!==t&&(t=v),t){if(s.calc)return;var m=t[a],y=e[a];if(\\\"_\\\"!==a.charAt(0)&&\\\"function\\\"!=typeof m&&m!==y){if(\\\"tick0\\\"===a||\\\"dtick\\\"===a){var x=e.tickmode;if(\\\"auto\\\"===x||\\\"array\\\"===x||!x)continue}if((\\\"range\\\"!==a||!e.autorange)&&(\\\"zmin\\\"!==a&&\\\"zmax\\\"!==a||\\\"contourcarpet\\\"!==e.type)){var b=r.concat(a);if(i=o(b)){var _,w=i.valType,M=d(i),A=Array.isArray(m),k=Array.isArray(y);if(A&&k){var T=\\\"_input_\\\"+a,S=t[T],E=e[T];if(Array.isArray(S)&&S===E)continue}if(void 0===y)M&&A?s.calc=!0:p();else if(i._isLinkedToArray){var C=[],L=!1;u||(s.arrays[a]=C);var z=Math.min(m.length,y.length),P=Math.max(m.length,y.length);if(z!==P){if(\\\"arraydraw\\\"!==i.editType){p();continue}L=!0}for(_=0;_<z;_++)My(m[_],y[_],b.concat(_),ne.extendFlat({inArray:a,arrayIndex:_},n));if(L)for(_=z;_<P;_++)C.push(_)}else!w&&ne.isPlainObject(m)?My(m,y,b,n):M?A&&k?l&&(s.calc=!0):A!==k?s.calc=!0:p():A&&k&&m.length===y.length&&String(m)===String(y)||p()}}}}for(a in e)if(!(a in t||\\\"_\\\"===a.charAt(0)||\\\"function\\\"==typeof e[a])){if(d(i=o(r.concat(a)))&&Array.isArray(e[a]))return void(s.calc=!0);p()}}function Ay(t){var r=e.select(t),n=t._fullLayout;if(n._container=r.selectAll(\\\".plot-container\\\").data([0]),n._container.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container\\\",!0).classed(\\\"plotly\\\",!0),n._paperdiv=n._container.selectAll(\\\".svg-container\\\").data([0]),n._paperdiv.enter().append(\\\"div\\\").classed(\\\"svg-container\\\",!0).style(\\\"position\\\",\\\"relative\\\"),n._glcontainer=n._paperdiv.selectAll(\\\".gl-container\\\").data([{}]),n._glcontainer.enter().append(\\\"div\\\").classed(\\\"gl-container\\\",!0),n._glcanvas=null,n._paperdiv.selectAll(\\\".main-svg\\\").remove(),n._paper=n._paperdiv.insert(\\\"svg\\\",\\\":first-child\\\").classed(\\\"main-svg\\\",!0),n._toppaper=n._paperdiv.append(\\\"svg\\\").classed(\\\"main-svg\\\",!0),!n._uid){var i=[];e.selectAll(\\\"defs\\\").each(function(){this.id&&i.push(this.id.split(\\\"-\\\")[1])}),n._uid=ne.randstr(i)}n._paperdiv.selectAll(\\\".main-svg\\\").attr($e.svgAttrs),n._defs=n._paper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"defs-\\\"+n._uid),n._clips=n._defs.append(\\\"g\\\").classed(\\\"clips\\\",!0),n._topdefs=n._toppaper.append(\\\"defs\\\").attr(\\\"id\\\",\\\"topdefs-\\\"+n._uid),n._topclips=n._topdefs.append(\\\"g\\\").classed(\\\"clips\\\",!0),n._bgLayer=n._paper.append(\\\"g\\\").classed(\\\"bglayer\\\",!0),n._draggers=n._paper.append(\\\"g\\\").classed(\\\"draglayer\\\",!0);var a=n._paper.append(\\\"g\\\").classed(\\\"layer-below\\\",!0);n._imageLowerLayer=a.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),n._shapeLowerLayer=a.append(\\\"g\\\").classed(\\\"shapelayer\\\",!0),n._cartesianlayer=n._paper.append(\\\"g\\\").classed(\\\"cartesianlayer\\\",!0),n._polarlayer=n._paper.append(\\\"g\\\").classed(\\\"polarlayer\\\",!0),n._ternarylayer=n._paper.append(\\\"g\\\").classed(\\\"ternarylayer\\\",!0),n._geolayer=n._paper.append(\\\"g\\\").classed(\\\"geolayer\\\",!0),n._pielayer=n._paper.append(\\\"g\\\").classed(\\\"pielayer\\\",!0),n._glimages=n._paper.append(\\\"g\\\").classed(\\\"glimages\\\",!0);var o=n._toppaper.append(\\\"g\\\").classed(\\\"layer-above\\\",!0);n._imageUpperLayer=o.append(\\\"g\\\").classed(\\\"imagelayer\\\",!0),n._shapeUpperLayer=o.append(\\\"g\\\").classed(\\\"shapelayer\\\",!0),n._infolayer=n._toppaper.append(\\\"g\\\").classed(\\\"infolayer\\\",!0),n._menulayer=n._toppaper.append(\\\"g\\\").classed(\\\"menulayer\\\",!0),n._zoomlayer=n._toppaper.append(\\\"g\\\").classed(\\\"zoomlayer\\\",!0),n._hoverlayer=n._toppaper.append(\\\"g\\\").classed(\\\"hoverlayer\\\",!0),t.emit(\\\"plotly_framework\\\")}ay.plot=function(t,r,n,i){var a;if(t=ne.getGraphDiv(t),ja.init(t),ne.isPlainObject(r)){var o=r;r=o.data,n=o.layout,i=o.config,a=o.frames}if(!1===ja.triggerHandler(t,\\\"plotly_beforeplot\\\",[r,n,i]))return Promise.reject();r||n||ne.isPlotDiv(t)||ne.warn(\\\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\\\",t),fy(t,i),n||(n={}),e.select(t).classed(\\\"js-plotly-plot\\\",!0),Sr.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var s=0===(t.data||[]).length&&Array.isArray(r);if(Array.isArray(r)&&(Vv.cleanData(r,t.data),s?t.data=r:t.data.push.apply(t.data,r),t.empty=!1),t.layout&&!s||(t.layout=Vv.cleanLayout(n)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,_n.supplyDefaults(t);var l=t._fullLayout,u=l._has(\\\"cartesian\\\");if(!l._has(\\\"polar\\\")&&r&&r[0]&&r[0].r)return ne.log(\\\"Legacy polar charts are deprecated!\\\"),function(t,r,n){var i=e.select(t).selectAll(\\\".plot-container\\\").data([0]);i.enter().insert(\\\"div\\\",\\\":first-child\\\").classed(\\\"plot-container plotly\\\",!0);var a=i.selectAll(\\\".svg-container\\\").data([0]);a.enter().append(\\\"div\\\").classed(\\\"svg-container\\\",!0).style(\\\"position\\\",\\\"relative\\\"),a.html(\\\"\\\"),r&&(t.data=r);n&&(t.layout=n);iy.manager.fillLayout(t),a.style({width:t._fullLayout.width+\\\"px\\\",height:t._fullLayout.height+\\\"px\\\"}),t.framework=iy.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var o=t.framework.svg(),s=1,l=t._fullLayout.title;\\\"\\\"!==l&&l||(s=0);var u=function(){this.call(er.convertToTspans,t)},c=o.select(\\\".title-group text\\\").call(u);if(t._context.edits.titleText){var h=ne._(t,\\\"Click to enter Plot title\\\");l&&l!==h||(s=.2,c.attr({\\\"data-unformatted\\\":h}).text(h).style({opacity:s}).on(\\\"mouseover.opacity\\\",function(){e.select(this).transition().duration(100).style(\\\"opacity\\\",1)}).on(\\\"mouseout.opacity\\\",function(){e.select(this).transition().duration(1e3).style(\\\"opacity\\\",0)}));var f=function(){this.call(er.makeEditable,{gd:t}).on(\\\"edit\\\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(f)}).on(\\\"cancel\\\",function(){var t=this.attr(\\\"data-unformatted\\\");this.text(t).call(u)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),_n.addLinks(t),Promise.resolve()}(t,r,n);l._replotting=!0,s&&Ay(t),t.framework!==Ay&&(t.framework=Ay,Ay(t)),Sr.initGradients(t),s&&ri.saveShowSpikeInitial(t);var c=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;c&&_n.doCalcdata(t);for(var h=0;h<t.calcdata.length;h++)t.calcdata[h][0].trace=t._fullData[h];var f=JSON.stringify(l._size);function p(){var e,r,n,i=t.calcdata;for(P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t),e=0;e<i.length;e++)!0===(n=(r=i[e])[0].trace).visible&&n._module.colorbar?n._module.colorbar(t,r):_n.autoMargin(t,\\\"cb\\\"+n.uid);return _n.doAutoMargin(t),_n.previousPromises(t)}function d(){if(!t._transitioning){for(var e=ri.list(t,\\\"\\\",!0),r=0;r<e.length;r++){var n=e[r];sy(t,n),ly(n)}oy(t),s&&ri.saveRangeInitial(t)}}var g=[_n.previousPromises,function(){if(a)return ay.addFrames(t,a)},function(){for(var e=l._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return!l._glcanvas&&l._has(\\\"gl\\\")&&(l._glcanvas=l._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}),l._glcanvas.enter().append(\\\"canvas\\\").attr(\\\"class\\\",function(t){return\\\"gl-canvas gl-canvas-\\\"+t.key.replace(\\\"Layer\\\",\\\"\\\")}).style({position:\\\"absolute\\\",top:0,left:0,width:\\\"100%\\\",height:\\\"100%\\\",overflow:\\\"visible\\\",\\\"pointer-events\\\":\\\"none\\\"})),l._glcanvas&&l._glcanvas.attr(\\\"width\\\",l.width).attr(\\\"height\\\",l.height),ne.syncOrAsync([Vm.layoutStyles],t)},p,function(){if(JSON.stringify(l._size)!==f)return ne.syncOrAsync([p,Vm.layoutStyles],t)}];u&&g.push(function(){if(c){var e,r,n,i=l._subplots.cartesian,a=l._modules,o=[];for(n=0;n<a.length;n++)ne.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r<i.length;r++)for(e=l._plots[i[r]],n=0;n<o.length;n++)o[n](t,e);return P.getComponentMethod(\\\"errorbars\\\",\\\"calc\\\")(t),ne.syncOrAsync([P.getComponentMethod(\\\"shapes\\\",\\\"calcAutorange\\\"),P.getComponentMethod(\\\"annotations\\\",\\\"calcAutorange\\\"),d,P.getComponentMethod(\\\"rangeslider\\\",\\\"calcAutorange\\\")],t)}d()}),g.push(Vm.layoutStyles),u&&g.push(function(){return ri.doTicks(t,\\\"redraw\\\")}),g.push(function(){var e,r=t.calcdata,n=l._infolayer.selectAll(\\\"g.rangeslider-container\\\");for(e=0;e<r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!P.traceIs(i,\\\"2dMap\\\")){var s=\\\".hm\\\"+o+\\\",.contour\\\"+o+\\\",#clip\\\"+o;l._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&&i._module.colorbar||l._infolayer.selectAll(\\\".cb\\\"+o).remove()}var u=l._basePlotModules;for(e=0;e<u.length;e++)u[e].plot(t);var c=l._paper.selectAll(\\\".layer-subplot\\\");return l._shapeSubplotLayers=c.selectAll(\\\".shapelayer\\\"),_n.style(t),P.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),_n.addLinks(t),l._replotting=!1,_n.previousPromises(t)},function(){P.getComponentMethod(\\\"shapes\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"images\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"annotations\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"legend\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"rangeslider\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"rangeselector\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"sliders\\\",\\\"draw\\\")(t),P.getComponentMethod(\\\"updatemenus\\\",\\\"draw\\\")(t)},jm,_n.rehover,_n.previousPromises);var v=ne.syncOrAsync(g,t);return v&&v.then||(v=Promise.resolve()),v.then(function(){return t.emit(\\\"plotly_afterplot\\\"),t})},ay.setPlotConfig=function(t){return ne.extendFlat(b,t)},ay.redraw=function(t){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);return Vv.cleanData(t.data,t.data),Vv.cleanLayout(t.layout),t.calcdata=void 0,ay.plot(t).then(function(){return t.emit(\\\"plotly_redraw\\\"),t})},ay.newPlot=function(t,e,r,n){return t=ne.getGraphDiv(t),_n.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),_n.purge(t),ay.plot(t,e,r,n)},ay.extendTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<0){var a=new t.constructor(0),o=my(t,e);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(s)),i.set(t),i.set(e.subarray(0,s),t.length)}else{var l=r-e.length,u=t.length-l;n.set(t.subarray(u)),n.set(e,l),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.prependTraces,s,t,arguments),o},ay.prependTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<=0){var a=new t.constructor(0),o=my(e,t);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(0,s)),i.set(e.subarray(s)),i.set(t,s)}else{var l=r-e.length;n.set(e),n.set(t.subarray(0,l),e.length),i.set(t.subarray(l))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.extendTraces,s,t,arguments),o},ay.addTraces=function t(e,r,n){e=ne.getGraphDiv(e);var i,a,o=[],s=ay.deleteTraces,l=t,u=[e,o],c=[e,r];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\\\"gd.data must be an array.\\\");if(void 0===e)throw new Error(\\\"traces must be defined.\\\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\\\"object\\\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\\\"all values in traces array must be non-array objects\\\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\\\"if indices is specified, traces.length must equal indices.length\\\")}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return ne.extendFlat({},t)}),Vv.cleanData(r,e.data),i=0;i<r.length;i++)e.data.push(r[i]);for(i=0;i<r.length;i++)o.push(-r.length+i);if(void 0===n)return a=ay.redraw(e),Nv.add(e,s,u,l,c),a;Array.isArray(n)||(n=[n]);try{gy(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return Nv.startSequence(e),Nv.add(e,s,u,l,c),a=ay.moveTraces(e,o,n),Nv.stopSequence(e),a},ay.deleteTraces=function t(e,r){e=ne.getGraphDiv(e);var n,i,a=[],o=ay.addTraces,s=t,l=[e,a,r],u=[e,r];if(void 0===r)throw new Error(\\\"indices must be an integer or array of integers.\\\");for(Array.isArray(r)||(r=[r]),dy(e,r,\\\"indices\\\"),(r=py(r,e.data.length-1)).sort(ne.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var c=ay.redraw(e);return Nv.add(e,o,l,s,u),c},ay.moveTraces=function t(e,r,n){var i,a=[],o=[],s=t,l=t,u=[e=ne.getGraphDiv(e),n,r],c=[e,r,n];if(gy(e,r,n),r=Array.isArray(r)?r:[r],void 0===n)for(n=[],i=0;i<r.length;i++)n.push(-r.length+i);for(n=Array.isArray(n)?n:[n],r=py(r,e.data.length-1),n=py(n,e.data.length-1),i=0;i<e.data.length;i++)-1===r.indexOf(i)&&a.push(e.data[i]);for(i=0;i<r.length;i++)o.push({newIndex:n[i],trace:e.data[r[i]]});for(o.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<o.length;i+=1)a.splice(o[i].newIndex,0,o[i].trace);e.data=a;var h=ay.redraw(e);return Nv.add(e,s,u,l,c),h},ay.restyle=function t(e,r,n,i){e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e);var a={};if(\\\"string\\\"==typeof r)a[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\\\"Restyle fail.\\\",r,n,i),Promise.reject();a=ne.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=Vv.coerceTraceIndices(e,i),s=xy(e,a,o),l=s.flags;l.clearCalc&&(e.calcdata=void 0),l.clearAxisTypes&&Vv.clearAxisTypes(e,o,{});var u=[];l.fullReplot?u.push(ay.plot):(u.push(_n.previousPromises),_n.supplyDefaults(e),l.style&&u.push(Vm.doTraceStyle),l.colorbars&&u.push(Vm.doColorBars)),u.push(_n.rehover),Nv.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var c=ne.syncOrAsync(u,e);return c&&c.then||(c=Promise.resolve()),c.then(function(){return e.emit(\\\"plotly_restyle\\\",s.eventData),e})},ay.relayout=function t(e,r,n){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\\\"string\\\"==typeof r)i[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\\\"Relayout fail.\\\",r,n),Promise.reject();i=ne.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=by(e,i),o=a.flags;o.calc&&(e.calcdata=void 0),o.margins&&Vv.clearAxisAutomargins(e);var s=[_n.previousPromises];o.layoutReplot?s.push(Vm.layoutReplot):Object.keys(i).length&&(_n.supplyDefaults(e),o.legend&&s.push(Vm.doLegend),o.layoutstyle&&s.push(Vm.layoutStyles),o.ticks&&s.push(Vm.doTicksRelayout),o.modebar&&s.push(Vm.doModeBar),o.camera&&s.push(Vm.doCamera)),s.push(_n.rehover),Nv.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=ne.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\\\"plotly_relayout\\\",a.eventData),e})},ay.update=function t(e,r,n,i){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);ne.isPlainObject(r)||(r={}),ne.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=Vv.coerceTraceIndices(e,i),o=xy(e,ne.extendFlat({},r),a),s=o.flags,l=by(e,ne.extendFlat({},n)),u=l.flags;(s.clearCalc||u.calc)&&(e.calcdata=void 0),s.clearAxisTypes&&Vv.clearAxisTypes(e,a,n),u.margins&&Vv.clearAxisAutomargins(e);var c=[];if(s.fullReplot&&u.layoutReplot){var h=e.data,f=e.layout;e.data=void 0,e.layout=void 0,c.push(function(){return ay.plot(e,h,f)})}else s.fullReplot?c.push(ay.plot):u.layoutReplot?c.push(Vm.layoutReplot):(c.push(_n.previousPromises),_n.supplyDefaults(e),s.style&&c.push(Vm.doTraceStyle),s.colorbars&&c.push(Vm.doColorBars),u.legend&&c.push(Vm.doLegend),u.layoutstyle&&c.push(Vm.layoutStyles),u.ticks&&c.push(Vm.doTicksRelayout),u.modebar&&c.push(Vm.doModeBar),u.camera&&c.push(Vm.doCamera));c.push(_n.rehover),Nv.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var p=ne.syncOrAsync(c,e);return p&&p.then||(p=Promise.resolve(e)),p.then(function(){return e.emit(\\\"plotly_update\\\",{data:o.eventData,layout:l.eventData}),e})},ay.react=function(t,e,r,n){var i,a;var o=(t=ne.getGraphDiv(t))._fullData,s=t._fullLayout;if(ne.isPlotDiv(t)&&o&&s){if(ne.isPlainObject(e)){var l=e;e=l.data,r=l.layout,n=l.config,i=l.frames}var u=!1;if(n){var c=ne.extendDeep({},t._context);t._context=void 0,fy(t,n),u=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(ne.isPlainObject(i)&&ne.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var o=0;o<i.length;o++)if(i[o]!==a[o]){if(!ne.isPlainObject(i[o])||!ne.isPlainObject(a[o]))return!0;if(t(i[o],a[o]))return!0}}}}(c,t._context)}t.data=e||[],Vv.cleanData(t.data,[]),t.layout=r||{},Vv.cleanLayout(t.layout),_n.supplyDefaults(t);var h=t._fullData,f=t._fullLayout,p=void 0===f.datarevision,d=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,clearCalc:!0};var i,a,o=ye.traceFlags();o.arrays={};var s={getValObject:function(t){return nn.getTraceValObject(a,t)},flags:o,immutable:n,gd:t};for(i=0;i<e.length;i++)a=r[i],s.autoranged=!!a.xaxis&&(ri.getFromId(t,a.xaxis).autorange||ri.getFromId(t,a.yaxis).autorange),My(e[i],a,[],s);(o.calc||o.plot||o.calcIfAutorange)&&(o.fullReplot=!0);return o}(t,o,h,p),g=function(t,e,r,n){var i=ye.layoutFlags();i.arrays={},My(e,r,[],{getValObject:function(t){return nn.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,s,f,p);_y(t)&&(g.layoutReplot=!0),(d.calc||g.calc)&&(t.calcdata=void 0),g.margins&&Vv.clearAxisAutomargins(t);var v=[];if(i&&(t._transitionData={},_n.createTransitionData(t),v.push(function(){return ay.addFrames(t,i)})),d.fullReplot||g.layoutReplot||u)t._fullLayout._skipDefaults=!0,v.push(ay.plot);else{for(var m in g.arrays){var y=g.arrays[m];if(y.length){var x=P.getComponentMethod(m,\\\"drawOne\\\");if(x!==ne.noop)for(var b=0;b<y.length;b++)x(t,y[b]);else{var _=P.getComponentMethod(m,\\\"draw\\\");if(_===ne.noop)throw new Error(\\\"cannot draw components: \\\"+m);_(t)}}}v.push(_n.previousPromises),d.style&&v.push(Vm.doTraceStyle),d.colorbars&&v.push(Vm.doColorBars),g.legend&&v.push(Vm.doLegend),g.layoutstyle&&v.push(Vm.layoutStyles),g.ticks&&v.push(Vm.doTicksRelayout),g.modebar&&v.push(Vm.doModeBar),g.camera&&v.push(Vm.doCamera)}v.push(_n.rehover),(a=ne.syncOrAsync(v,t))&&a.then||(a=Promise.resolve(t))}else a=ay.newPlot(t,e,r,n);return a.then(function(){return t.emit(\\\"plotly_react\\\",{data:e,layout:r}),t})},ay.animate=function(t,e,r){if(t=ne.getGraphDiv(t),!ne.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://plot.ly/javascript/animations/\\\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=_n.supplyAnimationDefaults(r)).transition,a=r.frame;function o(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function c(){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,_n.transition(t,e.frame.data,e.frame.layout,Vv.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 h(){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&&c()};e()}var f,p,d=0;function g(t){return Array.isArray(i)?d>=i.length?t.transitionOpts=i[d]:t.transitionOpts=i[0]:t.transitionOpts=i,d++,t}var v=[],m=void 0===e||null===e,y=Array.isArray(e);if(!m&&!y&&ne.isPlainObject(e))v.push({type:\\\"object\\\",data:g(ne.extendFlat({},e))});else if(m||-1!==[\\\"string\\\",\\\"number\\\"].indexOf(typeof e))for(f=0;f<n._frames.length;f++)(p=n._frames[f])&&(m||String(p.group)===String(e))&&v.push({type:\\\"byname\\\",name:String(p.name),data:g({name:p.name})});else if(y)for(f=0;f<e.length;f++){var x=e[f];-1!==[\\\"number\\\",\\\"string\\\"].indexOf(typeof x)?(x=String(x),v.push({type:\\\"byname\\\",name:x,data:g({name:x})})):ne.isPlainObject(x)&&v.push({type:\\\"object\\\",data:g(ne.extendFlat({},x))})}for(f=0;f<v.length;f++)if(\\\"byname\\\"===(p=v[f]).type&&!n._frameHash[p.data.name])return ne.warn('animate failure: frame not found: \\\"'+p.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&&v.reverse();var b=t._fullLayout._currentFrame;if(b&&r.fromcurrent){var _=-1;for(f=0;f<v.length;f++)if(\\\"byname\\\"===(p=v[f]).type&&p.name===b){_=f;break}if(_>0&&_<v.length-1){var w=[];for(f=0;f<v.length;f++)p=v[f],(\\\"byname\\\"!==v[f].type||f>_)&&w.push(p);v=w}}v.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var c;c=\\\"byname\\\"===e[i].type?_n.computeFrame(t,e[i].name):e[i].data;var f=s(i),p=o(i);p.duration=Math.min(p.duration,f.duration);var d={frame:c,name:e[i].name,frameOpts:f,transitionOpts:p};i===e.length-1&&(d.onComplete=l(a,2),d.onInterrupt=u),n._frameQueue.push(d)}\\\"immediate\\\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||h()}}(v):(t.emit(\\\"plotly_animated\\\"),a())})},ay.addFrames=function(t,e,r){if(t=ne.getGraphDiv(t),null===e||void 0===e)return Promise.resolve();if(!ne.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://plot.ly/javascript/animations/\\\");var n,i,a,o,s=t._transitionData._frames,l=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\\\"addFrames failure: frameList must be an Array of frame definitions\\\"+e);var u=s.length+2*e.length,c=[],h={};for(n=e.length-1;n>=0;n--)if(ne.isPlainObject(e[n])){var f=e[n].name,p=(l[f]||h[f]||{}).name,d=e[n].name,g=l[p]||h[p];p&&d&&\\\"number\\\"==typeof d&&g&&uy<5&&(uy++,ne.warn('addFrames: overwriting frame \\\"'+(l[p]||h[p]).name+'\\\" with a frame whose name of type \\\"number\\\" also equates to \\\"'+p+'\\\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===uy&&ne.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.\\\")),h[f]={name:f},c.push({frame:_n.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:u+n})}c.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var v=[],m=[],y=s.length;for(n=c.length-1;n>=0;n--){if(\\\"number\\\"==typeof(i=c[n].frame).name&&ne.warn(\\\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\\\"),!i.name)for(;l[i.name=\\\"frame \\\"+t._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);v.push({type:\\\"replace\\\",index:a,value:i}),m.unshift({type:\\\"replace\\\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,y)),v.push({type:\\\"insert\\\",index:o,value:i}),m.unshift({type:\\\"delete\\\",index:o}),y++}var x=_n.modifyFrames,b=_n.modifyFrames,_=[t,m],w=[t,v];return Nv&&Nv.add(t,x,_,b,w),_n.modifyFrames(t,v)},ay.deleteFrames=function(t,e){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\\\"This element is not a Plotly plot: \\\"+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\\\"delete\\\",index:n}),o.unshift({type:\\\"insert\\\",index:n,value:i[n]});var s=_n.modifyFrames,l=_n.modifyFrames,u=[t,o],c=[t,a];return Nv&&Nv.add(t,s,u,l,c),_n.modifyFrames(t,a)},ay.purge=function(t){var e=(t=ne.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return _n.cleanPlot([],{},r,e),_n.purge(t),ja.purge(t),e._container&&e._container.remove(),delete t._context,t};var ky={getDelay:function(t){return t._has&&(t._has(\\\"gl3d\\\")||t._has(\\\"gl2d\\\")||t._has(\\\"mapbox\\\"))?500:0},getRedrawFunc:function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\\\"polar\\\"))&&t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},Ty=Da.EventEmitter;var Sy=function(t){var e=t.emitter||new Ty,r=new Promise(function(n,i){var a=window.Image,o=t.svg,s=t.format||\\\"png\\\";if(ne.isIE()&&\\\"svg\\\"!==s){var l=new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\");return i(l),t.promise?r:e.emit(\\\"error\\\",l)}var u=t.canvas,c=t.scale||1,h=c*(t.width||300),f=c*(t.height||150),p=u.getContext(\\\"2d\\\"),d=new a,g=\\\"data:image/svg+xml,\\\"+encodeURIComponent(o);u.width=h,u.height=f,d.onload=function(){var r;switch(\\\"svg\\\"!==s&&p.drawImage(d,0,0,h,f),s){case\\\"jpeg\\\":r=u.toDataURL(\\\"image/jpeg\\\");break;case\\\"png\\\":r=u.toDataURL(\\\"image/png\\\");break;case\\\"webp\\\":r=u.toDataURL(\\\"image/webp\\\");break;case\\\"svg\\\":r=g;break;default:var a=\\\"Image format is not jpeg, png, svg or webp.\\\";if(i(new Error(a)),!t.promise)return e.emit(\\\"error\\\",a)}n(r),t.promise||e.emit(\\\"success\\\",r)},d.onerror=function(r){if(i(r),!t.promise)return e.emit(\\\"error\\\",r)},d.src=g});return t.promise?r:e},Ey=/\\\"/g,Cy=new RegExp('(\\\"TOBESTRIPPED)|(TOBESTRIPPED\\\")',\\\"g\\\");var Ly=function(t,r,n){var i,a=t._fullLayout,o=a._paper,s=a._toppaper,l=a.width,u=a.height;o.insert(\\\"rect\\\",\\\":first-child\\\").call(Sr.setRect,0,0,l,u).call(Oe.fill,a.paper_bgcolor);var c=a._basePlotModules||[];for(i=0;i<c.length;i++){var h=c[i];h.toSVG&&h.toSVG(t)}if(s){var f=s.node().childNodes,p=Array.prototype.slice.call(f);for(i=0;i<p.length;i++){var d=p[i];d.childNodes.length&&o.node().appendChild(d)}}a._draggers&&a._draggers.remove(),o.node().style.background=\\\"\\\",o.selectAll(\\\"text\\\").attr({\\\"data-unformatted\\\":null,\\\"data-math\\\":null}).each(function(){var t=e.select(this);if(\\\"hidden\\\"!==this.style.visibility&&\\\"none\\\"!==this.style.display){t.style({visibility:null,display:null});var r=this.style.fontFamily;r&&-1!==r.indexOf('\\\"')&&t.style(\\\"font-family\\\",r.replace(Ey,\\\"TOBESTRIPPED\\\"))}else t.remove()}),o.selectAll(\\\".point,.scatterpts\\\").each(function(){var t=e.select(this),r=this.style.fill;r&&-1!==r.indexOf(\\\"url(\\\")&&t.style(\\\"fill\\\",r.replace(Ey,\\\"TOBESTRIPPED\\\"))}),\\\"pdf\\\"!==r&&\\\"eps\\\"!==r||o.selectAll(\\\"#MathJax_SVG_glyphs path\\\").attr(\\\"stroke-width\\\",0),o.node().setAttributeNS($e.xmlns,\\\"xmlns\\\",$e.svg),o.node().setAttributeNS($e.xmlns,\\\"xmlns:xlink\\\",$e.xlink),\\\"svg\\\"===r&&n&&(o.attr(\\\"width\\\",n*l),o.attr(\\\"height\\\",n*u),o.attr(\\\"viewBox\\\",\\\"0 0 \\\"+l+\\\" \\\"+u));var g=(new window.XMLSerializer).serializeToString(o.node());return g=function(t){var r=e.select(\\\"body\\\").append(\\\"div\\\").style({display:\\\"none\\\"}).html(\\\"\\\"),n=t.replace(/(&[^;]*;)/gi,function(t){return\\\"&lt;\\\"===t?\\\"&#60;\\\":\\\"&rt;\\\"===t?\\\"&#62;\\\":-1!==t.indexOf(\\\"<\\\")||-1!==t.indexOf(\\\">\\\")?\\\"\\\":r.html(t).text()});return r.remove(),n}(g),g=(g=g.replace(/&(?!\\\\w+;|\\\\#[0-9]+;| \\\\#x[0-9A-F]+;)/g,\\\"&amp;\\\")).replace(Cy,\\\"'\\\"),ne.isIE()&&(g=(g=(g=g.replace(/\\\"/gi,\\\"'\\\")).replace(/(\\\\('#)([^']*)('\\\\))/gi,'(\\\"#$2\\\")')).replace(/(\\\\\\\\')/gi,'\\\"')),g},zy={format:{valType:\\\"enumerated\\\",values:[\\\"png\\\",\\\"jpeg\\\",\\\"webp\\\",\\\"svg\\\"],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}},Py=/^data:image\\\\/\\\\w+;base64,/;var Iy=function(t,e){var r,n,i;function a(t){return!(t in e)||ne.validate(e[t],zy[t])}if(e=e||{},ne.isPlainObject(t)?(r=t.data||[],n=t.layout||{},i=t.config||{}):(t=ne.getGraphDiv(t),r=ne.extendDeep([],t.data),n=ne.extendDeep({},t.layout),i=t._context),!a(\\\"width\\\")||!a(\\\"height\\\"))throw new Error(\\\"Height and width should be pixel values.\\\");if(!a(\\\"format\\\"))throw new Error(\\\"Image format is not jpeg, png, svg or webp.\\\");var o={};function s(t,r){return ne.coerce(e,o,zy,t,r)}var l=s(\\\"format\\\"),u=s(\\\"width\\\"),c=s(\\\"height\\\"),h=s(\\\"scale\\\"),f=s(\\\"setBackground\\\"),p=s(\\\"imageDataOnly\\\"),d=document.createElement(\\\"div\\\");d.style.position=\\\"absolute\\\",d.style.left=\\\"-5000px\\\",document.body.appendChild(d);var g=ne.extendFlat({},n);u&&(g.width=u),c&&(g.height=c);var v=ne.extendFlat({},i,{staticPlot:!0,setBackground:f}),m=ky.getRedrawFunc(d);function y(){return new Promise(function(t){setTimeout(t,ky.getDelay(d._fullLayout))})}function x(){return new Promise(function(t,e){var r=Ly(d,l,h),n=d._fullLayout.width,i=d._fullLayout.height;if(ay.purge(d),document.body.removeChild(d),\\\"svg\\\"===l)return t(p?r:\\\"data:image/svg+xml,\\\"+encodeURIComponent(r));var a=document.createElement(\\\"canvas\\\");a.id=ne.randstr(),Sy({format:l,width:n,height:i,scale:h,canvas:a,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){ay.plot(d,r,g,v).then(m).then(y).then(x).then(function(e){t(function(t){return p?t.replace(Py,\\\"\\\"):t}(e))}).catch(function(t){e(t)})})},Dy=ne.isPlainObject,Oy=Array.isArray,Ry=ne.isArrayOrTypedArray;function Fy(t,e,r,n,i,a){a=a||[];for(var o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];if(\\\"transforms\\\"!==l){var u=a.slice();u.push(l);var c=t[l],h=e[l],f=Uy(r,l),p=\\\"info_array\\\"===(f||{}).valType,d=\\\"colorscale\\\"===(f||{}).valType,g=(f||{}).items;if(Vy(r,l))if(Dy(c)&&Dy(h))Fy(c,h,f,n,i,u);else if(p&&Oy(c)){c.length>h.length&&n.push(jy(\\\"unused\\\",i,u.concat(h.length)));var v,m,y,x,b,_=h.length,w=Array.isArray(g);if(w&&(_=Math.min(_,g.length)),2===f.dimensions)for(m=0;m<_;m++)if(Oy(c[m])){c[m].length>h[m].length&&n.push(jy(\\\"unused\\\",i,u.concat(m,h[m].length)));var M=h[m].length;for(v=0;v<(w?Math.min(M,g[m].length):M);v++)y=w?g[m][v]:g,x=c[m][v],b=h[m][v],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\\\"dynamic\\\",i,u.concat(m,v),x,b)):n.push(jy(\\\"value\\\",i,u.concat(m,v),x))}else n.push(jy(\\\"array\\\",i,u.concat(m),c[m]));else for(m=0;m<_;m++)y=w?g[m]:g,x=c[m],b=h[m],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\\\"dynamic\\\",i,u.concat(m),x,b)):n.push(jy(\\\"value\\\",i,u.concat(m),x))}else if(f.items&&!p&&Oy(c)){var A,k,T=g[Object.keys(g)[0]],S=[];for(A=0;A<h.length;A++){var E=h[A]._index||A;(k=u.slice()).push(E),Dy(c[E])&&Dy(h[A])&&(S.push(E),Fy(c[E],h[A],T,n,i,k))}for(A=0;A<c.length;A++)(k=u.slice()).push(A),Dy(c[A])?-1===S.indexOf(A)&&n.push(jy(\\\"unused\\\",i,k)):n.push(jy(\\\"object\\\",i,k,c[A]))}else!Dy(c)&&Dy(h)?n.push(jy(\\\"object\\\",i,u,c)):Ry(c)||!Ry(h)||p||d?l in e?ne.validate(c,f)?\\\"enumerated\\\"===f.valType&&(f.coerceNumber&&c!==+h||c!==h)&&n.push(jy(\\\"dynamic\\\",i,u,c,h)):n.push(jy(\\\"value\\\",i,u,c)):n.push(jy(\\\"unused\\\",i,u,c)):n.push(jy(\\\"array\\\",i,u,c));else n.push(jy(\\\"schema\\\",i,u))}}return n}var By={object:function(t,e){return(\\\"layout\\\"===t&&\\\"\\\"===e?\\\"The layout argument\\\":\\\"data\\\"===t[0]&&\\\"\\\"===e?\\\"Trace \\\"+t[1]+\\\" in the data argument\\\":Ny(t)+\\\"key \\\"+e)+\\\" must be linked to an object container\\\"},array:function(t,e){return(\\\"data\\\"===t?\\\"The data argument\\\":Ny(t)+\\\"key \\\"+e)+\\\" must be linked to an array container\\\"},schema:function(t,e){return Ny(t)+\\\"key \\\"+e+\\\" is not part of the schema\\\"},unused:function(t,e,r){var n=Dy(r)?\\\"container\\\":\\\"key\\\";return Ny(t)+n+\\\" \\\"+e+\\\" did not get coerced\\\"},dynamic:function(t,e,r,n){return[Ny(t)+\\\"key\\\",e,\\\"(set to '\\\"+r+\\\"')\\\",\\\"got reset to\\\",\\\"'\\\"+n+\\\"'\\\",\\\"during defaults.\\\"].join(\\\" \\\")},invisible:function(t){return\\\"Trace \\\"+t[1]+\\\" got defaulted to be not visible\\\"},value:function(t,e,r){return[Ny(t)+\\\"key \\\"+e,\\\"is set to an invalid value (\\\"+r+\\\")\\\"].join(\\\" \\\")}};function Ny(t){return Oy(t)?\\\"In data trace \\\"+t[1]+\\\", \\\":\\\"In \\\"+t+\\\", \\\"}function jy(t,e,r,n,i){var a,o;r=r||\\\"\\\",Oy(e)?(a=e[0],o=e[1]):(a=e,o=null);var s=function(t){if(!Oy(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),l=By[t](e,s,n,i);return ne.log(l),{code:t,container:a,trace:o,path:r,astr:s,msg:l}}function Vy(t,e){var r=Hy(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function Uy(t,e){return t[Hy(e).keyMinusId]}var qy=ne.counterRegex(\\\"([a-z]+)\\\");function Hy(t){var e=t.match(qy);return{keyMinusId:e&&e[1],id:e&&e[2]}}var Gy=function(t,e){var r=document.createElement(\\\"a\\\"),n=\\\"download\\\"in r,i=/Version\\\\/[\\\\d\\\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(\\\"undefined\\\"!=typeof navigator&&/MSIE [1-9]\\\\./.test(navigator.userAgent)&&o(new Error(\\\"IE < 10 unsupported\\\")),i&&(document.location.href=\\\"data:application/octet-stream\\\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\\\"download\\\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\\\"undefined\\\"!=typeof navigator&&navigator.msSaveBlob){var s=t.split(/^data:image\\\\/svg\\\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\\\"download error\\\"))})};var Wy=function(t,e){return(e=e||{}).format=e.format||\\\"png\\\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\\\"Snapshotting already in progress.\\\")),ne.isIE()&&\\\"svg\\\"!==e.format&&n(new Error(\\\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\\\")),t._snapshotInProgress=!0;var i=Iy(t,e),a=e.filename||t.fn||\\\"newplot\\\";a+=\\\".\\\"+e.format,i.then(function(e){return t._snapshotInProgress=!1,Gy(e,a)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})},Yy={};Yy.plot=ay.plot,Yy.newPlot=ay.newPlot,Yy.restyle=ay.restyle,Yy.relayout=ay.relayout,Yy.redraw=ay.redraw,Yy.update=ay.update,Yy.react=ay.react,Yy.extendTraces=ay.extendTraces,Yy.prependTraces=ay.prependTraces,Yy.addTraces=ay.addTraces,Yy.deleteTraces=ay.deleteTraces,Yy.moveTraces=ay.moveTraces,Yy.purge=ay.purge,Yy.addFrames=ay.addFrames,Yy.deleteFrames=ay.deleteFrames,Yy.animate=ay.animate,Yy.setPlotConfig=ay.setPlotConfig,Yy.toImage=Iy,Yy.validate=function(t,e){var r,n,i=nn.get(),a=[],o={_context:ne.extendFlat({},b)};Oy(t)?(o.data=ne.extendDeep([],t),r=t):(o.data=[],r=[],a.push(jy(\\\"array\\\",\\\"data\\\"))),Dy(e)?(o.layout=ne.extendDeep({},e),n=e):(o.layout={},n={},arguments.length>1&&a.push(jy(\\\"object\\\",\\\"layout\\\"))),_n.supplyDefaults(o);for(var s=o._fullData,l=r.length,u=0;u<l;u++){var c=r[u],h=[\\\"data\\\",u];if(Dy(c)){var f=s[u],p=f.type,d=i.traces[p].attributes;d.type={valType:\\\"enumerated\\\",values:[p]},!1===f.visible&&!1!==c.visible&&a.push(jy(\\\"invisible\\\",h)),Fy(c,f,d,a,h);var g=c.transforms,v=f.transforms;if(g){Oy(g)||a.push(jy(\\\"array\\\",h,[\\\"transforms\\\"])),h.push(\\\"transforms\\\");for(var m=0;m<g.length;m++){var y=[\\\"transforms\\\",m],x=g[m].type;if(Dy(g[m])){var _=i.transforms[x]?i.transforms[x].attributes:{};_.type={valType:\\\"enumerated\\\",values:Object.keys(i.transforms)},Fy(g[m],v[m],_,a,h,y)}else a.push(jy(\\\"object\\\",h,y))}}}else a.push(jy(\\\"object\\\",h))}return Fy(n,o._fullLayout,function(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&ne.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(i,s),a,\\\"layout\\\"),0===a.length?void 0:a},Yy.downloadImage=Wy;var Xy=ne.extendFlat,Zy=ne.extendDeep;function Jy(t){var e;switch(t){case\\\"themes__thumb\\\":e={autosize:!0,width:150,height:150,title:\\\"\\\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\\\"thumbnail\\\":e={title:\\\"\\\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\\\"\\\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}var Ky=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var n,i=t.data,a=t.layout,o=Zy([],i),s=Zy({},a,Jy(e.tileClass)),l=t._context||{};if(e.width&&(s.width=e.width),e.height&&(s.height=e.height),\\\"thumbnail\\\"===e.tileClass||\\\"themes__thumb\\\"===e.tileClass){s.annotations=[];var u=Object.keys(s);for(r=0;r<u.length;r++)n=u[r],[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"].indexOf(n.slice(0,5))>-1&&(s[u[r]].title=\\\"\\\");for(r=0;r<o.length;r++){var c=o[r];c.showscale=!1,c.marker&&(c.marker.showscale=!1),\\\"pie\\\"===c.type&&(c.textposition=\\\"none\\\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)s.annotations.push(e.annotations[r]);var h=Object.keys(s).filter(function(t){return t.match(/^scene\\\\d*$/)});if(h.length){var f={};for(\\\"thumbnail\\\"===e.tileClass&&(f={title:\\\"\\\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<h.length;r++){var p=s[h[r]];p.xaxis||(p.xaxis={}),p.yaxis||(p.yaxis={}),p.zaxis||(p.zaxis={}),Xy(p.xaxis,f),Xy(p.yaxis,f),Xy(p.zaxis,f),p._scene=null}}var d=document.createElement(\\\"div\\\");e.tileClass&&(d.className=e.tileClass);var g={gd:d,td:d,layout:s,data:o,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:l.mapboxAccessToken}};return\\\"transparent\\\"!==e.setBackground&&(g.config.setBackground=e.setBackground||\\\"opaque\\\"),g.gd.defaultLayout=Jy(e.tileClass),g},Qy=Da.EventEmitter;var $y=function(t,e){var r=new Qy,n=Ky(t,{format:\\\"png\\\"}),i=n.gd;i.style.position=\\\"absolute\\\",i.style.left=\\\"-5000px\\\",document.body.appendChild(i);var a=ky.getRedrawFunc(i);return P.call(\\\"plot\\\",i,n.data,n.layout,n.config).then(a).then(function(){var t=ky.getDelay(i._fullLayout);setTimeout(function(){var t=Ly(i),n=document.createElement(\\\"canvas\\\");n.id=ne.randstr(),(r=Sy({format:e.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){i&&document.body.removeChild(i)}},t)}).catch(function(t){r.emit(\\\"error\\\",t)}),r},tx={getDelay:ky.getDelay,getRedrawFunc:ky.getRedrawFunc,clone:Ky,toSVG:Ly,svgToImg:Sy,toImage:$y,downloadImage:Wy},ex=function(t){Tr.hasLines(t)&&Xe(t,\\\"line\\\")&&Ve(t,t.line.color,\\\"line\\\",\\\"c\\\"),Tr.hasMarkers(t)&&(Xe(t,\\\"marker\\\")&&Ve(t,t.marker.color,\\\"marker\\\",\\\"c\\\"),Xe(t,\\\"marker.line\\\")&&Ve(t,t.marker.line.color,\\\"marker.line\\\",\\\"c\\\"))},rx=ne.isArrayOrTypedArray,nx=t.BADNUM;function ix(t,e,r,n,i,a,o){var s=e._length;r._minDtick=0,n._minDtick=0;var l={padded:!0},u={padded:!0};o&&(l.ppad=u.ppad=o),!(\\\"tozerox\\\"===e.fill||\\\"tonextx\\\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?e.error_y.visible||-1===[\\\"tonexty\\\",\\\"tozeroy\\\"].indexOf(e.fill)&&(Tr.hasMarkers(e)||Tr.hasText(e))||(l.padded=!1,l.ppad=0):l.tozero=!0,!(\\\"tozeroy\\\"===e.fill||\\\"tonexty\\\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?-1!==[\\\"tonextx\\\",\\\"tozerox\\\"].indexOf(e.fill)&&(u.padded=!1):u.tozero=!0,ri.expand(r,i,l),ri.expand(n,a,u)}function ax(t,e){if(Tr.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=\\\"area\\\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},rx(n.size)){var a={type:\\\"linear\\\"};ri.setConvert(a);for(var o=a.makeCalcdata(t.marker,\\\"size\\\"),s=new Array(e),l=0;l<e;l++)s[l]=r(o[l]);return s}return r(n.size)}}var ox=function(t,e){var n=ri.getFromId(t,e.xaxis||\\\"x\\\"),i=ri.getFromId(t,e.yaxis||\\\"y\\\"),a=n.makeCalcdata(e,\\\"x\\\"),o=i.makeCalcdata(e,\\\"y\\\"),s=e._length,l=new Array(s);ix(t,e,n,i,a,o,ax(e,s));for(var u=0;u<s;u++)l[u]=r(a[u])&&r(o[u])?{x:a[u],y:o[u]}:{x:nx,y:nx},e.ids&&(l[u].id=String(e.ids[u]));return dh(l,e),ex(e),Ma(l,e),t.firstscatter=!1,l},sx=ax,lx=ix,ux=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 i=e-1;i>=0;i--){var a=t[i];if(\\\"scatter\\\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}},cx=ne.isArrayOrTypedArray,hx=function(t,e,r,n){var i=!1;if(e.marker){var a=e.marker.color,o=(e.marker.line||{}).color;a&&!cx(a)?i=a:o&&!cx(o)&&(i=o)}n(\\\"fillcolor\\\",Oe.addOpacity((e.line||{}).color||i||r,.5))},fx=ne.isArrayOrTypedArray,px=function(t,e,r,n,i,a){var o=(t.marker||{}).color;(i(\\\"line.color\\\",r),Xe(t,\\\"line\\\"))?Ye(t,e,n,i,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"}):i(\\\"line.color\\\",!fx(o)&&o||r);i(\\\"line.width\\\"),(a||{}).noDash||i(\\\"line.dash\\\")},dx=function(t,e,r){\\\"spline\\\"===r(\\\"line.shape\\\")&&r(\\\"line.smoothing\\\")},gx=function(t,e,r,n,i,a){var o=Tr.isBubble(t),s=(t.line||{}).color;(a=a||{},s&&(r=s),i(\\\"marker.symbol\\\"),i(\\\"marker.opacity\\\",o?.7:1),i(\\\"marker.size\\\"),i(\\\"marker.color\\\",r),Xe(t,\\\"marker\\\")&&Ye(t,e,n,i,{prefix:\\\"marker.\\\",cLetter:\\\"c\\\"}),a.noSelect||(i(\\\"selected.marker.color\\\"),i(\\\"unselected.marker.color\\\"),i(\\\"selected.marker.size\\\"),i(\\\"unselected.marker.size\\\")),a.noLine||(i(\\\"marker.line.color\\\",s&&!Array.isArray(s)&&e.marker.color!==s?s:o?Oe.background:Oe.defaultLine),Xe(t,\\\"marker.line\\\")&&Ye(t,e,n,i,{prefix:\\\"marker.line.\\\",cLetter:\\\"c\\\"}),i(\\\"marker.line.width\\\",o?1:0)),o&&(i(\\\"marker.sizeref\\\"),i(\\\"marker.sizemin\\\"),i(\\\"marker.sizemode\\\")),a.gradient)&&(\\\"none\\\"!==i(\\\"marker.gradient.type\\\")&&i(\\\"marker.gradient.color\\\"))},vx=function(t,e,r,n,i){i=i||{},n(\\\"textposition\\\"),ne.coerceFont(n,\\\"textfont\\\",r.font),i.noSelect||(n(\\\"selected.textfont.color\\\"),n(\\\"unselected.textfont.color\\\"))},mx=function(t,e){var r,n;if(\\\"lines\\\"===t.mode)return(r=t.line.color)&&Oe.opacity(r)?r:t.fillcolor;if(\\\"none\\\"===t.mode)return t.fill?t.fillcolor:\\\"\\\";var i=e.mcc||(t.marker||{}).color,a=e.mlcc||((t.marker||{}).line||{}).color;return(n=i&&Oe.opacity(i)?i:a&&Oe.opacity(a)&&(e.mlw||((t.marker||{}).line||{}).width)?a:\\\"\\\")?Oe.opacity(n)<.3?Oe.addOpacity(n,.3):n:(r=(t.line||{}).color)&&Oe.opacity(r)&&Tr.hasLines(t)&&t.line.width?r:t.fillcolor},yx=function(t,e,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=o.c2p(e),u=s.c2p(r),c=[l,u],h=a.hoveron||\\\"\\\",f=-1!==a.mode.indexOf(\\\"markers\\\")?3:.5;if(-1!==h.indexOf(\\\"points\\\")){var p=function(t){var e=Math.max(f,t.mrc||0),r=o.c2p(t.x)-l,n=s.c2p(t.y)-u;return Math.max(Math.sqrt(r*r+n*n)-e,1-f/e)},d=yo.getDistanceFunction(n,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(o.c2p(t.x)-l);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(s.c2p(t.y)-u);return n<e?r*n/e:n-e+r},p);if(yo.getClosest(i,d,t),!1!==t.index){var g=i[t.index],v=o.c2p(g.x,!0),m=s.c2p(g.y,!0),y=g.mrc||1;return ne.extendFlat(t,{color:mx(a,g),x0:v-y,x1:v+y,xLabelVal:g.x,y0:m-y,y1:m+y,yLabelVal:g.y,spikeDistance:p(g)}),xo(g,a,t),P.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(g,a,t),[t]}}if(-1!==h.indexOf(\\\"fills\\\")&&a._polygons){var x,b,_,w,M,A,k,T,S,E=a._polygons,C=[],L=!1,z=1/0,I=-1/0,D=1/0,O=-1/0;for(x=0;x<E.length;x++)(_=E[x]).contains(c)&&(L=!L,C.push(_),D=Math.min(D,_.ymin),O=Math.max(O,_.ymax));if(L){var R=((D=Math.max(D,0))+(O=Math.min(O,s._length)))/2;for(x=0;x<C.length;x++)for(w=C[x].pts,b=1;b<w.length;b++)(T=w[b-1][1])>R!=(S=w[b][1])>=R&&(A=w[b-1][0],k=w[b][0],S-T&&(M=A+(k-A)*(R-T)/(S-T),z=Math.min(z,M),I=Math.max(I,M)));z=Math.max(z,0),I=Math.min(I,o._length);var F=Oe.defaultLine;return Oe.opacity(a.fillcolor)?F=a.fillcolor:Oe.opacity((a.line||{}).color)&&(F=a.line.color),ne.extendFlat(t,{distance:t.maxHoverDistance,x0:z,x1:I,y0:R,y1:R,color:F}),delete t.index,a.text&&!Array.isArray(a.text)?t.text=String(a.text):t.text=a.name,[t]}}},xx=t.BADNUM,bx=ne.segmentsIntersect,_x=ne.constrain,wx=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=e.xaxis,x=e.yaxis,b=e.simplify,_=e.connectGaps,w=e.baseTolerance,M=e.shape,A=\\\"linear\\\"===M,k=[],T=Wr.minTolerance,S=new Array(t.length),E=0;function C(e){var r=t[e],n=y.c2p(r.x),i=x.c2p(r.y);return n===xx||i===xx?r.intoCenter||!1:[n,i]}function L(t){var e=t[0]/y._length,r=t[1]/x._length;return(1+Wr.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*w}function z(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}b||(w=T=-1);var P,I,D,O,R,F,B,N=Wr.maxScreensAway,j=-y._length*N,V=y._length*(1+N),U=-x._length*N,q=x._length*(1+N),H=[[j,U,V,U],[V,U,V,q],[V,q,j,q],[j,q,j,U]];function G(t){if(t[0]<j||t[0]>V||t[1]<U||t[1]>q)return[_x(t[0],j,V),_x(t[1],U,q)]}function W(t,e){return t[0]===e[0]&&(t[0]===j||t[0]===V)||(t[1]===e[1]&&(t[1]===U||t[1]===q)||void 0)}function Y(t,e,r){return function(n,i){var a=G(n),o=G(i),s=[];if(a&&o&&W(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*ne.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l);return s}}function X(t){var e=t[0],r=t[1],n=e===S[E-1][0],i=r===S[E-1][1];if(!n||!i)if(E>1){var a=e===S[E-2][0],o=r===S[E-2][1];n&&(e===j||e===V)&&a?o?E--:S[E-1]=t:i&&(r===U||r===q)&&o?a?E--:S[E-1]=t:S[E++]=t}else S[E++]=t}function Z(t){S[E-1][0]!==t[0]&&S[E-1][1]!==t[1]&&X([D,O]),X(t),R=null,D=O=0}function J(t){if(P=t[0]<j?j:t[0]>V?V:0,I=t[1]<U?U:t[1]>q?q:0,P||I){if(E)if(R){var e=B(R,t);e.length>1&&(Z(e[0]),S[E++]=e[1])}else F=B(S[E-1],t)[0],S[E++]=F;else S[E++]=[P||t[0],I||t[1]];var r=S[E-1];P&&I&&(r[0]!==P||r[1]!==I)?(R&&(D!==P&&O!==I?X(D&&O?(n=R,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?j:V,q]:[o>0?V:j,U]):[D||P,O||I]):D&&O&&X([D,O])),X([P,I])):D-P&&O-I&&X([P||D,I||O]),R=t,D=P,O=I}else R&&Z(B(R,t)[0]),S[E++]=t;var n,i,a,o}for(\\\"linear\\\"===M||\\\"spline\\\"===M?B=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=H[i],o=bx(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[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&&z(o,t)<z(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\\\"hv\\\"===M||\\\"vh\\\"===M?B=function(t,e){var r=[],n=G(t),i=G(e);return n&&i&&W(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\\\"hvh\\\"===M?B=Y(0,j,V):\\\"vhv\\\"===M&&(B=Y(1,U,q)),r=0;r<t.length;r++)if(n=C(r)){for(E=0,R=null,J(n),r++;r<t.length;r++){if(!(a=C(r))){if(_)continue;break}if(A){if(!((h=z(a,n))<L(a)*T)){for(u=[(a[0]-n[0])/h,(a[1]-n[1])/h],o=n,f=h,p=g=v=0,l=!1,i=a,r++;r<t.length;r++){if(!(s=C(r))){if(_)continue;break}if(m=(c=[s[0]-n[0],s[1]-n[1]])[0]*u[1]-c[1]*u[0],g=Math.min(g,m),(v=Math.max(v,m))-g>L(s))break;i=s,(d=c[0]*u[0]+c[1]*u[1])>f?(f=d,a=s,l=!1):d<p&&(p=d,o=s,l=!0)}if(l?(J(a),i!==o&&J(o)):(o!==n&&J(o),i!==a&&J(a)),J(i),r>=t.length||!s)break;J(s),n=s}}else J(a)}R&&X([D||R[0],O||R[1]]),k.push(S.slice(0,E))}return k},Mx=function(t,e,r){var n,i,a=null;for(i=0;i<r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[\\\"tonextx\\\",\\\"tonexty\\\",\\\"tonext\\\"].indexOf(n.fill)&&(n._prevtrace=a,a&&(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null},Ax=cc.tester,kx=function(t,r,n,i,a){var o,s,l,u,c=r.plot.select(\\\"g.scatterlayer\\\"),h=!i,f=!!i&&i.duration>0;for((l=c.selectAll(\\\"g.trace\\\").data(n,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),Mx(t,r,n),function(t,r,n){var i;r.selectAll(\\\"g.trace\\\").each(function(t){var r=e.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=r.select(\\\".js-fill.js-tonext\\\"),!i._nextFill.size()){var a=\\\":first-child\\\";r.select(\\\".js-fill.js-tozero\\\").size()&&(a+=\\\" + *\\\"),i._nextFill=r.insert(\\\"path\\\",a).attr(\\\"class\\\",\\\"js-fill js-tonext\\\")}}else r.selectAll(\\\".js-fill.js-tonext\\\").remove(),i._nextFill=null;i.fill&&(\\\"tozero\\\"===i.fill.substr(0,6)||\\\"toself\\\"===i.fill||\\\"to\\\"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=r.select(\\\".js-fill.js-tozero\\\"),i._ownFill.size()||(i._ownFill=r.insert(\\\"path\\\",\\\":first-child\\\").attr(\\\"class\\\",\\\"js-fill js-tozero\\\"))):(r.selectAll(\\\".js-fill.js-tozero\\\").remove(),i._ownFill=null),r.selectAll(\\\".js-fill\\\").call(Sr.setClipUrl,n.layerClipId)})}(0,c,r),o=0,s={};o<n.length;o++)s[n[o][0].trace.uid]=o;(c.selectAll(\\\"g.trace\\\").sort(function(t,e){return s[t[0].trace.uid]>s[e[0].trace.uid]?1:-1}),f)?(a&&(u=a()),e.transition().duration(i.duration).ease(i.easing).each(\\\"end\\\",function(){u&&u()}).each(\\\"interrupt\\\",function(){u&&u()}).each(function(){c.selectAll(\\\"g.trace\\\").each(function(e,a){Tx(t,a,r,e,n,this,i)})})):c.selectAll(\\\"g.trace\\\").each(function(e,a){Tx(t,a,r,e,n,this,i)});h&&l.exit().remove(),c.selectAll(\\\"path:not([d])\\\").remove()};function Tx(t,r,n,i,a,o,s){var l,u;!function(t,r,n,i,a){var o=n.xaxis,s=n.yaxis,l=e.extent(ne.simpleMap(o.range,o.r2c)),u=e.extent(ne.simpleMap(s.range,s.r2c)),c=i[0].trace;if(!Tr.hasMarkers(c))return;var h=c.marker.maxdisplayed;if(0===h)return;var f=i.filter(function(t){return t.x>=l[0]&&t.x<=l[1]&&t.y>=u[0]&&t.y<=u[1]}),p=Math.ceil(f.length/h),d=0;a.forEach(function(t,e){var n=t[0].trace;Tr.hasMarkers(n)&&n.marker.maxdisplayed>0&&e<r&&d++});var g=Math.round(d*p/3+Math.floor(d/3)*p/7.1);i.forEach(function(t){delete t.vis}),f.forEach(function(t,e){0===Math.round((e+g)%p)&&(t.vis=!0)})}(0,r,n,i,a);var c=!!s&&s.duration>0;function h(t){return c?t.transition():t}var f=n.xaxis,p=n.yaxis,d=i[0].trace,g=d.line,v=e.select(o);if(P.getComponentMethod(\\\"errorbars\\\",\\\"plot\\\")(v,n,s),!0===d.visible){var m,y;h(v).style(\\\"opacity\\\",d.opacity);var x=d.fill.charAt(d.fill.length-1);\\\"x\\\"!==x&&\\\"y\\\"!==x&&(x=\\\"\\\"),i[0].node3=v;var b=\\\"\\\",_=[],w=d._prevtrace;w&&(b=w._prevRevpath||\\\"\\\",y=w._nextFill,_=w._polygons);var M,A,k,T,S,E,C,L,z,I=\\\"\\\",D=\\\"\\\",O=[],R=ne.noop;if(m=d._ownFill,Tr.hasLines(d)||\\\"none\\\"!==d.fill){for(y&&y.datum(i),-1!==[\\\"hv\\\",\\\"vh\\\",\\\"hvh\\\",\\\"vhv\\\"].indexOf(g.shape)?(k=Sr.steps(g.shape),T=Sr.steps(g.shape.split(\\\"\\\").reverse().join(\\\"\\\"))):k=T=\\\"spline\\\"===g.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?Sr.smoothclosed(t.slice(1),g.smoothing):Sr.smoothopen(t,g.smoothing)}:function(t){return\\\"M\\\"+t.join(\\\"L\\\")},S=function(t){return T(t.reverse())},O=wx(i,{xaxis:f,yaxis:p,connectGaps:d.connectgaps,baseTolerance:Math.max(g.width||1,3)/4,shape:g.shape,simplify:g.simplify}),z=d._polygons=new Array(O.length),u=0;u<O.length;u++)d._polygons[u]=Ax(O[u]);O.length&&(E=O[0][0],L=(C=O[O.length-1])[C.length-1]),R=function(t){return function(r){if(M=k(r),A=S(r),I?x?(I+=\\\"L\\\"+M.substr(1),D=A+\\\"L\\\"+D.substr(1)):(I+=\\\"Z\\\"+M,D=A+\\\"Z\\\"+D):(I=M,D=A),Tr.hasLines(d)&&r.length>1){var n=e.select(this);if(n.datum(i),t)h(n.style(\\\"opacity\\\",0).attr(\\\"d\\\",M).call(Sr.lineGroupStyle)).style(\\\"opacity\\\",1);else{var a=h(n);a.attr(\\\"d\\\",M),Sr.singleLineStyle(i,a)}}}}}var F=v.selectAll(\\\".js-line\\\").data(O);h(F.exit()).style(\\\"opacity\\\",0).remove(),F.each(R(!1)),F.enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").call(Sr.lineGroupStyle).each(R(!0)),Sr.setClipUrl(F,n.layerClipId),O.length?(m?E&&L&&(x?(\\\"y\\\"===x?E[1]=L[1]=p.c2p(0,!0):\\\"x\\\"===x&&(E[0]=L[0]=f.c2p(0,!0)),h(m).attr(\\\"d\\\",\\\"M\\\"+L+\\\"L\\\"+E+\\\"L\\\"+I.substr(1)).call(Sr.singleFillStyle)):h(m).attr(\\\"d\\\",I+\\\"Z\\\").call(Sr.singleFillStyle)):y&&(\\\"tonext\\\"===d.fill.substr(0,6)&&I&&b?(\\\"tonext\\\"===d.fill?h(y).attr(\\\"d\\\",I+\\\"Z\\\"+b+\\\"Z\\\").call(Sr.singleFillStyle):h(y).attr(\\\"d\\\",I+\\\"L\\\"+b.substr(1)+\\\"Z\\\").call(Sr.singleFillStyle),d._polygons=d._polygons.concat(_)):(N(y),d._polygons=null)),d._prevRevpath=D,d._prevPolygons=z):(m?N(m):y&&N(y),d._polygons=d._prevRevpath=d._prevPolygons=null);var B=v.selectAll(\\\".points\\\");l=B.data([i]),B.each(H),l.enter().append(\\\"g\\\").classed(\\\"points\\\",!0).each(H),l.exit().remove(),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})}function N(t){h(t).attr(\\\"d\\\",\\\"M0,0Z\\\")}function j(t){return t.filter(function(t){return t.vis})}function V(t){return t.id}function U(t){if(t.ids)return V}function q(){return!1}function H(r){var i,a=r[0].trace,o=e.select(this),s=Tr.hasMarkers(a),l=Tr.hasText(a),u=U(a),d=q,g=q;s&&(d=a.marker.maxdisplayed||a._needsCull?j:ne.identity),l&&(g=a.marker.maxdisplayed||a._needsCull?j:ne.identity);var v=(i=o.selectAll(\\\"path.point\\\").data(d,u)).enter().append(\\\"path\\\").classed(\\\"point\\\",!0);c&&v.call(Sr.pointStyle,a,t).call(Sr.translatePoints,f,p).style(\\\"opacity\\\",0).transition().style(\\\"opacity\\\",1);var m=s&&Sr.tryColorscale(a.marker,\\\"\\\"),y=s&&Sr.tryColorscale(a.marker,\\\"line\\\");i.order(),i.each(function(r){var i=e.select(this),o=h(i);Sr.translatePoint(r,o,f,p)?(Sr.singlePointStyle(r,o,a,m,y,t),n.layerClipId&&Sr.hideOutsideRangePoint(r,o,f,p,a.xcalendar,a.ycalendar),a.customdata&&i.classed(\\\"plotly-customdata\\\",null!==r.data&&void 0!==r.data)):o.remove()}),c?i.exit().transition().style(\\\"opacity\\\",0).remove():i.exit().remove(),(i=o.selectAll(\\\"g\\\").data(g,u)).enter().append(\\\"g\\\").classed(\\\"textpoint\\\",!0).append(\\\"text\\\"),i.order(),i.each(function(t){var r=e.select(this),i=h(r.select(\\\"text\\\"));Sr.translatePoint(t,i,f,p)?n.layerClipId&&Sr.hideOutsideRangePoint(t,r,f,p,a.xcalendar,a.ycalendar):r.remove()}),i.selectAll(\\\"text\\\").call(Sr.textPointStyle,a,t).each(function(t){var r=f.c2p(t.x),n=p.c2p(t.y);e.select(this).selectAll(\\\"tspan.line\\\").each(function(){h(e.select(this)).attr({x:r,y:n})})}),i.exit().remove()}}var Sx=function(t,e){var r,n,i,a,o=t.cd,s=t.xaxis,l=t.yaxis,u=[],c=o[0].trace;if(!Tr.hasMarkers(c)&&!Tr.hasText(c))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++)n=o[r],i=s.c2p(n.x),a=l.c2p(n.y),e.contains([i,a])?(u.push({pointNumber:r,x:s.c2d(n.x),y:l.c2d(n.y)}),n.selected=1):n.selected=0;return u};function Ex(t,e,r){var n=t.selectAll(\\\"path.point\\\"),i=t.selectAll(\\\"text\\\");Sr.pointStyle(n,e,r),Sr.textPointStyle(i,e,r),Sr.selectedPointStyle(n,e),Sr.selectedTextStyle(i,e)}var Cx={style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.scatter\\\");n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),n.selectAll(\\\"g.points\\\").each(function(r){Ex(e.select(this),r.trace||r[0].trace,t)}),n.selectAll(\\\"g.trace path.js-line\\\").call(Sr.lineGroupStyle),n.selectAll(\\\"g.trace path.js-fill\\\").call(Sr.fillGroupStyle),P.getComponentMethod(\\\"errorbars\\\",\\\"style\\\")(n)},stylePoints:Ex},Lx={};Lx.hasLines=Tr.hasLines,Lx.hasMarkers=Tr.hasMarkers,Lx.hasText=Tr.hasText,Lx.isBubble=Tr.isBubble,Lx.attributes=Zr,Lx.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Zr,r,n)}var a=Ta(t,e,n,i),o=a<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\";if(a){i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\",o),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\"),i(\\\"line.simplify\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var s=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"cliponaxis\\\"),i(\\\"marker.maxdisplayed\\\"),s.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||s.push(\\\"fills\\\"),i(\\\"hoveron\\\",s.join(\\\"+\\\")||\\\"points\\\");var l=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");l(t,e,r,{axis:\\\"y\\\"}),l(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},Lx.cleanData=ux,Lx.calc=ox,Lx.arraysToCalcdata=dh,Lx.plot=kx,Lx.colorbar=is,Lx.style=Cx.style,Lx.hoverPoints=yx,Lx.selectPoints=Sx,Lx.animatable=!0,Lx.moduleType=\\\"trace\\\",Lx.name=\\\"scatter\\\",Lx.basePlotModule=ua,Lx.categories=[\\\"cartesian\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],Lx.meta={};var zx=Lx,Px={version:\\\"1.35.2\\\"};Xp.polyfill();for(var Ix=Px.register=P.register,Dx=Object.keys(Yy),Ox=0;Ox<Dx.length;Ox++){var Rx=Dx[Ox];Px[Rx]=Yy[Rx],Ix({moduleType:\\\"apiMethod\\\",name:Rx,fn:Yy[Rx]})}Ix(zx),Ix([yo,ng,cd,yd,jg,Bd,Rv,fv,Sg,gg,Dd,Sd]),Ix([{moduleType:\\\"locale\\\",name:\\\"en\\\",dictionary:{\\\"Click to enter Colorscale title\\\":\\\"Click to enter Colourscale title\\\"},format:{days:[\\\"Sunday\\\",\\\"Monday\\\",\\\"Tuesday\\\",\\\"Wednesday\\\",\\\"Thursday\\\",\\\"Friday\\\"],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\\\"}},{moduleType:\\\"locale\\\",name:\\\"en-US\\\",dictionary:{\\\"Click to enter Colorscale title\\\":\\\"Click to enter Colorscale title\\\"},format:{date:\\\"%m/%d/%Y\\\"}}]),Px.Icons=Op,Px.Plots=_n,Px.Fx=yo,Px.Snapshot=tx,Px.PlotSchema=nn,Px.Queue=Nv,Px.d3=e;var Fx=Px,Bx={},Nx=Di.pointsAccessorFunction,jx=Eh.COMPARISON_OPS,Vx=Eh.INTERVAL_OPS,Ux=Eh.SET_OPS;Bx.moduleType=\\\"transform\\\",Bx.name=\\\"filter\\\",Bx.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(jx).concat(Vx).concat(Ux),dflt:\\\"=\\\",editType:\\\"calc\\\"},value:{valType:\\\"any\\\",dflt:0,editType:\\\"calc\\\"},preservegaps:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},editType:\\\"calc\\\"},Bx.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Bx.attributes,r,n)}if(r(\\\"enabled\\\")){r(\\\"preservegaps\\\"),r(\\\"operation\\\"),r(\\\"value\\\"),r(\\\"target\\\");var n=P.getComponentMethod(\\\"calendars\\\",\\\"handleDefaults\\\");n(t,e,\\\"valuecalendar\\\",null),n(t,e,\\\"targetcalendar\\\",null)}return e},Bx.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i=r.target,a=n.length,o=r.targetcalendar,s=e._arrayAttrs;if(\\\"string\\\"==typeof i){var l=ne.nestedProperty(e,i+\\\"calendar\\\").get();l&&(o=l)}var u,c,h=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,l=function(r){return e(r,0,t.valuecalendar)},u=function(t){return e(t,0,r)};o(jx)?s=l(a?i[0]:i):o(Vx)?s=a?[l(i[0]),l(i[1])]:[l(i),l(i)]:o(Ux)&&(s=a?i.map(l):[l(i)]);switch(n){case\\\"=\\\":return function(t){return u(t)===s};case\\\"!=\\\":return function(t){return u(t)!==s};case\\\"<\\\":return function(t){return u(t)<s};case\\\"<=\\\":return function(t){return u(t)<=s};case\\\">\\\":return function(t){return u(t)>s};case\\\">=\\\":return function(t){return u(t)>=s};case\\\"[]\\\":return function(t){var e=u(t);return e>=s[0]&&e<=s[1]};case\\\"()\\\":return function(t){var e=u(t);return e>s[0]&&e<s[1]};case\\\"[)\\\":return function(t){var e=u(t);return e>=s[0]&&e<s[1]};case\\\"(]\\\":return function(t){var e=u(t);return e>s[0]&&e<=s[1]};case\\\"][\\\":return function(t){var e=u(t);return e<=s[0]||e>=s[1]};case\\\")(\\\":return function(t){var e=u(t);return e<s[0]||e>s[1]};case\\\"](\\\":return function(t){var e=u(t);return e<=s[0]||e>s[1]};case\\\")[\\\":return function(t){var e=u(t);return e<s[0]||e>=s[1]};case\\\"{}\\\":return function(t){return-1!==s.indexOf(u(t))};case\\\"}{\\\":return function(t){return-1===s.indexOf(u(t))}}}(r,ri.getDataToCoordFunc(t,e,i,n),o),f={},p={},d=0;r.preservegaps?(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set(new Array(a))},c=function(t,e){var r=f[t.astr][e];t.get()[e]=r}):(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set([])},c=function(t,e){var r=f[t.astr][e];t.get().push(r)}),m(u);for(var g=Nx(e.transforms,r),v=0;v<a;v++){h(n[v])&&(m(c,v),p[d++]=g(v))}r._indexToPoints=p,e._length=d}}function m(t,r){for(var n=0;n<s.length;n++){t(ne.nestedProperty(e,s[n]),r)}}};var qx=Bx,Hx={},Gx=Di.pointsAccessorFunction;function Wx(t,e){var r,n,i,a,o,s,l,u,c,h,f=e.transform,p=t.transforms[e.transformIndex].groups,d=Gx(t.transforms,f);if(!Array.isArray(p)||0===p.length)return[t];var g=ne.filterUnique(p),v=new Array(g.length),m=p.length,y=nn.findArrayAttributes(t),x=f.styles||[],b={};for(r=0;r<x.length;r++)b[x[r].target]=x[r].value;f.styles&&(h=ne.keyedContainer(f,\\\"styles\\\",\\\"target\\\",\\\"value.name\\\"));var _={},w={};for(r=0;r<g.length;r++){_[s=g[r]]=r,w[s]=0,(l=v[r]=ne.extendDeepNoArrays({},t))._group=s,l.transforms[e.transformIndex]._indexToPoints={};var M=null;for(h&&(M=h.get(s)),l.name=M||ne.templateString(f.nameformat,{trace:t.name,group:s}),u=l.transforms,l.transforms=[],n=0;n<u.length;n++)l.transforms[n]=ne.extendDeepNoArrays({},u[n]);for(n=0;n<y.length;n++)ne.nestedProperty(l,y[n]).set([])}for(i=0;i<y.length;i++){for(a=y[i],n=0,c=[];n<g.length;n++)c[n]=ne.nestedProperty(v[n],a).get();for(o=ne.nestedProperty(t,a).get(),n=0;n<m;n++)c[_[p[n]]].push(o[n])}for(n=0;n<m;n++){(l=v[_[p[n]]]).transforms[e.transformIndex]._indexToPoints[w[p[n]]]=d(n),w[p[n]]++}for(r=0;r<g.length;r++)s=g[r],l=v[r],_n.clearExpandedTraceDefaultColors(l),l=ne.extendDeepNoArrays(l,b[s]||{});return v}Hx.moduleType=\\\"transform\\\",Hx.name=\\\"groupby\\\",Hx.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\\\"},editType:\\\"calc\\\"},editType:\\\"calc\\\"},Hx.supplyDefaults=function(t,e,r){var n,i={};function a(e,r){return ne.coerce(t,i,Hx.attributes,e,r)}if(!a(\\\"enabled\\\"))return i;a(\\\"groups\\\"),a(\\\"nameformat\\\",r._dataLength>1?\\\"%{group} (%{trace})\\\":\\\"%{group}\\\");var o=t.styles,s=i.styles=[];if(o)for(n=0;n<o.length;n++)s[n]={},ne.coerce(o[n],s[n],Hx.attributes.styles,\\\"target\\\"),ne.coerce(o[n],s[n],Hx.attributes.styles,\\\"value\\\");return i},Hx.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=Wx(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a};var Yx=Hx,Xx=function(t,e,r){!1===r(\\\"zsmooth\\\")&&(r(\\\"xgap\\\"),r(\\\"ygap\\\")),r(\\\"zhoverformat\\\")},Zx=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Lh,r,n)}Df(t,e,i,n)?(i(\\\"text\\\"),Xx(0,0,i),i(\\\"connectgaps\\\",qh(e)&&!1!==e.zsmooth),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"z\\\"})):e.visible=!1},Jx={};Jx.attributes=Lh,Jx.supplyDefaults=Zx,Jx.calc=bf,Jx.plot=$f,Jx.colorbar=kh,Jx.style=up,Jx.hoverPoints=Rf,Jx.moduleType=\\\"trace\\\",Jx.name=\\\"heatmap\\\",Jx.basePlotModule=ua,Jx.categories=[\\\"cartesian\\\",\\\"2dMap\\\"],Jx.meta={};var Kx=Jx;var Qx=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))};function $x(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,h=0;for(n=0;n<a;++n)u.push([\\\"i\\\",n,\\\"=0\\\"].join(\\\"\\\"));for(i=0;i<o;++i)for(n=0;n<a;++n)h=c,c=t[n],0===n?u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=t\\\",i,\\\"p\\\",c].join(\\\"\\\")):u.push([\\\"d\\\",i,\\\"s\\\",n,\\\"=(t\\\",i,\\\"p\\\",c,\\\"-s\\\",h,\\\"*t\\\",i,\\\"p\\\",h,\\\")\\\"].join(\\\"\\\"));for(u.length>0&&l.push(\\\"var \\\"+u.join(\\\",\\\")),n=a-1;n>=0;--n)c=t[n],l.push([\\\"for(i\\\",n,\\\"=0;i\\\",n,\\\"<s\\\",c,\\\";++i\\\",n,\\\"){\\\"].join(\\\"\\\"));for(l.push(r),n=0;n<a;++n){for(h=c,c=t[n],i=0;i<o;++i)l.push([\\\"p\\\",i,\\\"+=d\\\",i,\\\"s\\\",n].join(\\\"\\\"));s&&(n>0&&l.push([\\\"index[\\\",h,\\\"]-=s\\\",h].join(\\\"\\\")),l.push([\\\"++index[\\\",c,\\\"]\\\"].join(\\\"\\\"))),l.push(\\\"}\\\")}return l.join(\\\"\\\\n\\\")}function tb(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\\\"g\\\"),u=\\\"\\\",c=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\\\"offset\\\":var h=e.offsetArgIndex.indexOf(o);c=e.offsetArgs[h].array,u=\\\"+q\\\"+h;case\\\"array\\\":u=\\\"p\\\"+c+u;var f=\\\"l\\\"+o,p=\\\"a\\\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\\\"generic\\\"===r[c]?s.lvalue?(i.push([\\\"var \\\",f,\\\"=\\\",p,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),a.push([p,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):n=n.replace(l,[p,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")):n=n.replace(l,[p,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")):\\\"generic\\\"===r[c]?(i.push([\\\"var \\\",f,\\\"=\\\",p,\\\".get(\\\",u,\\\")\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([p,\\\".set(\\\",u,\\\",\\\",f,\\\")\\\"].join(\\\"\\\"))):(i.push([\\\"var \\\",f,\\\"=\\\",p,\\\"[\\\",u,\\\"]\\\"].join(\\\"\\\")),n=n.replace(l,f),s.lvalue&&a.push([p,\\\"[\\\",u,\\\"]=\\\",f].join(\\\"\\\")));else{for(var d=[s.name],g=[u],v=0;v<Math.abs(e.arrayBlockIndices[c]);v++)d.push(\\\"\\\\\\\\s*\\\\\\\\[([^\\\\\\\\]]+)\\\\\\\\]\\\"),g.push(\\\"$\\\"+(v+1)+\\\"*t\\\"+c+\\\"b\\\"+v);if(l=new RegExp(d.join(\\\"\\\"),\\\"g\\\"),u=g.join(\\\"+\\\"),\\\"generic\\\"===r[c])throw new Error(\\\"cwise: Generic arrays not supported in combination with blocks!\\\");n=n.replace(l,[p,\\\"[\\\",u,\\\"]\\\"].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[i.join(\\\"\\\\n\\\"),n,a.join(\\\"\\\\n\\\")].join(\\\"\\\\n\\\").trim()}var eb=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,n=new Array(t.arrayArgs.length),i=new Array(t.arrayArgs.length),a=0;a<t.arrayArgs.length;++a)i[a]=e[2*a],n[a]=e[2*a+1];var o=[],s=[],l=[],u=[],c=[];for(a=0;a<t.arrayArgs.length;++a){t.arrayBlockIndices[a]<0?(l.push(0),u.push(r),o.push(r),s.push(r+t.arrayBlockIndices[a])):(l.push(t.arrayBlockIndices[a]),u.push(t.arrayBlockIndices[a]+r),o.push(0),s.push(t.arrayBlockIndices[a]));for(var h=[],f=0;f<n[a].length;f++)l[a]<=n[a][f]&&n[a][f]<u[a]&&h.push(n[a][f]-l[a]);c.push(h)}var p=[\\\"SS\\\"],d=[\\\"'use strict'\\\"],g=[];for(f=0;f<r;++f)g.push([\\\"s\\\",f,\\\"=SS[\\\",f,\\\"]\\\"].join(\\\"\\\"));for(a=0;a<t.arrayArgs.length;++a){for(p.push(\\\"a\\\"+a),p.push(\\\"t\\\"+a),p.push(\\\"p\\\"+a),f=0;f<r;++f)g.push([\\\"t\\\",a,\\\"p\\\",f,\\\"=t\\\",a,\\\"[\\\",l[a]+f,\\\"]\\\"].join(\\\"\\\"));for(f=0;f<Math.abs(t.arrayBlockIndices[a]);++f)g.push([\\\"t\\\",a,\\\"b\\\",f,\\\"=t\\\",a,\\\"[\\\",o[a]+f,\\\"]\\\"].join(\\\"\\\"))}for(a=0;a<t.scalarArgs.length;++a)p.push(\\\"Y\\\"+a);if(t.shapeArgs.length>0&&g.push(\\\"shape=SS.slice(0)\\\"),t.indexArgs.length>0){var v=new Array(r);for(a=0;a<r;++a)v[a]=\\\"0\\\";g.push([\\\"index=[\\\",v.join(\\\",\\\"),\\\"]\\\"].join(\\\"\\\"))}for(a=0;a<t.offsetArgs.length;++a){var m=t.offsetArgs[a],y=[];for(f=0;f<m.offset.length;++f)0!==m.offset[f]&&(1===m.offset[f]?y.push([\\\"t\\\",m.array,\\\"p\\\",f].join(\\\"\\\")):y.push([m.offset[f],\\\"*t\\\",m.array,\\\"p\\\",f].join(\\\"\\\")));0===y.length?g.push(\\\"q\\\"+a+\\\"=0\\\"):g.push([\\\"q\\\",a,\\\"=\\\",y.join(\\\"+\\\")].join(\\\"\\\"))}var x=Qx([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((g=g.concat(x)).length>0&&d.push(\\\"var \\\"+g.join(\\\",\\\")),a=0;a<t.arrayArgs.length;++a)d.push(\\\"p\\\"+a+\\\"|=0\\\");t.pre.body.length>3&&d.push(tb(t.pre,t,i));var b=tb(t.body,t,i),_=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}(c);_<r?d.push(function(t,e,r,n){for(var i=e.length,a=r.arrayArgs.length,o=r.blockSize,s=r.indexArgs.length>0,l=[],u=0;u<a;++u)l.push([\\\"var offset\\\",u,\\\"=p\\\",u].join(\\\"\\\"));for(u=t;u<i;++u)l.push([\\\"for(var j\\\"+u+\\\"=SS[\\\",e[u],\\\"]|0;j\\\",u,\\\">0;){\\\"].join(\\\"\\\")),l.push([\\\"if(j\\\",u,\\\"<\\\",o,\\\"){\\\"].join(\\\"\\\")),l.push([\\\"s\\\",e[u],\\\"=j\\\",u].join(\\\"\\\")),l.push([\\\"j\\\",u,\\\"=0\\\"].join(\\\"\\\")),l.push([\\\"}else{s\\\",e[u],\\\"=\\\",o].join(\\\"\\\")),l.push([\\\"j\\\",u,\\\"-=\\\",o,\\\"}\\\"].join(\\\"\\\")),s&&l.push([\\\"index[\\\",e[u],\\\"]=j\\\",u].join(\\\"\\\"));for(u=0;u<a;++u){for(var c=[\\\"offset\\\"+u],h=t;h<i;++h)c.push([\\\"j\\\",h,\\\"*t\\\",u,\\\"p\\\",e[h]].join(\\\"\\\"));l.push([\\\"p\\\",u,\\\"=(\\\",c.join(\\\"+\\\"),\\\")\\\"].join(\\\"\\\"))}for(l.push($x(e,r,n)),u=t;u<i;++u)l.push(\\\"}\\\");return l.join(\\\"\\\\n\\\")}(_,c[0],t,b)):d.push($x(c[0],t,b)),t.post.body.length>3&&d.push(tb(t.post,t,i)),t.debug&&console.log(\\\"-----Generated cwise routine for \\\",e,\\\":\\\\n\\\"+d.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\");var w=[t.funcName||\\\"unnamed\\\",\\\"_cwise_loop_\\\",n[0].join(\\\"s\\\"),\\\"m\\\",_,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\\\d+/);a=a?a[0]:\\\"\\\",0===i.charAt(0)?e[n]=\\\"u\\\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\\\"\\\")}(i)].join(\\\"\\\");return new Function([\\\"function \\\",w,\\\"(\\\",p.join(\\\",\\\"),\\\"){\\\",d.join(\\\"\\\\n\\\"),\\\"} return \\\",w].join(\\\"\\\"))()};var rb=function(t){var e=[\\\"'use strict'\\\",\\\"var CACHED={}\\\"],r=[],n=t.funcName+\\\"_cwise_thunk\\\";e.push([\\\"return function \\\",n,\\\"(\\\",t.shimArgs.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var i=[],a=[],o=[[\\\"array\\\",t.arrayArgs[0],\\\".shape.slice(\\\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\\\",\\\"+t.arrayBlockIndices[0]+\\\")\\\":\\\")\\\"].join(\\\"\\\")],s=[],l=[],u=0;u<t.arrayArgs.length;++u){var c=t.arrayArgs[u];r.push([\\\"t\\\",c,\\\"=array\\\",c,\\\".dtype,\\\",\\\"r\\\",c,\\\"=array\\\",c,\\\".order\\\"].join(\\\"\\\")),i.push(\\\"t\\\"+c),i.push(\\\"r\\\"+c),a.push(\\\"t\\\"+c),a.push(\\\"r\\\"+c+\\\".join()\\\"),o.push(\\\"array\\\"+c+\\\".data\\\"),o.push(\\\"array\\\"+c+\\\".stride\\\"),o.push(\\\"array\\\"+c+\\\".offset|0\\\"),u>0&&(s.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape.length===array\\\"+c+\\\".shape.length+\\\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),l.push(\\\"array\\\"+t.arrayArgs[0]+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[0])+\\\"]===array\\\"+c+\\\".shape[shapeIndex+\\\"+Math.max(0,t.arrayBlockIndices[u])+\\\"]\\\"))}for(t.arrayArgs.length>1&&(e.push(\\\"if (!(\\\"+s.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 (!(\\\"+l.join(\\\" && \\\")+\\\")) throw new Error('cwise: Arrays do not all have the same shape!')\\\"),e.push(\\\"}\\\")),u=0;u<t.scalarArgs.length;++u)o.push(\\\"scalar\\\"+t.scalarArgs[u]);return r.push([\\\"type=[\\\",a.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(\\\",o.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),t.debug&&console.log(\\\"-----Generated thunk:\\\\n\\\"+e.join(\\\"\\\\n\\\")+\\\"\\\\n----------\\\"),new Function(\\\"compile\\\",e.join(\\\"\\\\n\\\"))(eb.bind(void 0,t))};var nb=function(t){var e=new function(){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.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var n=0;n<r.length;++n){var i=r[n];if(\\\"array\\\"===i||\\\"object\\\"==typeof i&&i.blockIndices){if(e.argTypes[n]=\\\"array\\\",e.arrayArgs.push(n),e.arrayBlockIndices.push(i.blockIndices?i.blockIndices:0),e.shimArgs.push(\\\"array\\\"+n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\\\"cwise: pre() block may not reference array args\\\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\\\"cwise: post() block may not reference array args\\\")}else if(\\\"scalar\\\"===i)e.scalarArgs.push(n),e.shimArgs.push(\\\"scalar\\\"+n);else if(\\\"index\\\"===i){if(e.indexArgs.push(n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\\\"cwise: pre() block may not reference array index\\\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\\\"cwise: body() block may not write to array index\\\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\\\"cwise: post() block may not reference array index\\\")}else if(\\\"shape\\\"===i){if(e.shapeArgs.push(n),n<e.pre.args.length&&e.pre.args[n].lvalue)throw new Error(\\\"cwise: pre() block may not write to array shape\\\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\\\"cwise: body() block may not write to array shape\\\");if(n<e.post.args.length&&e.post.args[n].lvalue)throw new Error(\\\"cwise: post() block may not write to array shape\\\")}else{if(\\\"object\\\"!=typeof i||!i.offset)throw new Error(\\\"cwise: Unknown argument type \\\"+r[n]);e.argTypes[n]=\\\"offset\\\",e.offsetArgs.push({array:i.array,offset:i.offset}),e.offsetArgIndex.push(n)}}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,rb(e)},ib={},ab={body:\\\"\\\",args:[],thisVars:[],localVars:[]};function ob(t){if(!t)return ab;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 sb(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 nb({args:t.args,pre:ob(t.pre),body:ob(t.body),post:ob(t.proc),funcName:t.funcName})}(t))}var lb={add:\\\"+\\\",sub:\\\"-\\\",mul:\\\"*\\\",div:\\\"/\\\",mod:\\\"%\\\",band:\\\"&\\\",bor:\\\"|\\\",bxor:\\\"^\\\",lshift:\\\"<<\\\",rshift:\\\">>\\\",rrshift:\\\">>>\\\"};!function(){for(var t in lb){var e=lb[t];ib[t]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),ib[t+\\\"eq\\\"]=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a\\\"+e+\\\"=b\\\"},rvalue:!0,funcName:t+\\\"eq\\\"}),ib[t+\\\"s\\\"]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),ib[t+\\\"seq\\\"]=sb({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a\\\"+e+\\\"=s\\\"},rvalue:!0,funcName:t+\\\"seq\\\"})}}();var ub={not:\\\"!\\\",bnot:\\\"~\\\",neg:\\\"-\\\",recip:\\\"1.0/\\\"};!function(){for(var t in ub){var e=ub[t];ib[t]=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=\\\"+e+\\\"b\\\"},funcName:t}),ib[t+\\\"eq\\\"]=sb({args:[\\\"array\\\"],body:{args:[\\\"a\\\"],body:\\\"a=\\\"+e+\\\"a\\\"},rvalue:!0,count:2,funcName:t+\\\"eq\\\"})}}();var cb={and:\\\"&&\\\",or:\\\"||\\\",eq:\\\"===\\\",neq:\\\"!==\\\",lt:\\\"<\\\",gt:\\\">\\\",leq:\\\"<=\\\",geq:\\\">=\\\"};!function(){for(var t in cb){var e=cb[t];ib[t]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"c\\\"],body:\\\"a=b\\\"+e+\\\"c\\\"},funcName:t}),ib[t+\\\"s\\\"]=sb({args:[\\\"array\\\",\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\",\\\"s\\\"],body:\\\"a=b\\\"+e+\\\"s\\\"},funcName:t+\\\"s\\\"}),ib[t+\\\"eq\\\"]=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=a\\\"+e+\\\"b\\\"},rvalue:!0,count:2,funcName:t+\\\"eq\\\"}),ib[t+\\\"seq\\\"]=sb({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"s\\\"],body:\\\"a=a\\\"+e+\\\"s\\\"},rvalue:!0,count:2,funcName:t+\\\"seq\\\"})}}();var hb=[\\\"abs\\\",\\\"acos\\\",\\\"asin\\\",\\\"atan\\\",\\\"ceil\\\",\\\"cos\\\",\\\"exp\\\",\\\"floor\\\",\\\"log\\\",\\\"round\\\",\\\"sin\\\",\\\"sqrt\\\",\\\"tan\\\"];!function(){for(var t=0;t<hb.length;++t){var e=hb[t];ib[e]=sb({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}),ib[e+\\\"eq\\\"]=sb({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 fb=[\\\"max\\\",\\\"min\\\",\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<fb.length;++t){var e=fb[t];ib[e]=sb({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}),ib[e+\\\"s\\\"]=sb({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\\\"}),ib[e+\\\"eq\\\"]=sb({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\\\"}),ib[e+\\\"seq\\\"]=sb({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 pb=[\\\"atan2\\\",\\\"pow\\\"];!function(){for(var t=0;t<pb.length;++t){var e=pb[t];ib[e+\\\"op\\\"]=sb({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\\\"}),ib[e+\\\"ops\\\"]=sb({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\\\"}),ib[e+\\\"opeq\\\"]=sb({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\\\"}),ib[e+\\\"opseq\\\"]=sb({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\\\"})}}(),ib.any=nb({args:[\\\"array\\\"],pre:ab,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\\\"}),ib.all=nb({args:[\\\"array\\\"],pre:ab,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\\\"}),ib.sum=nb({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\\\"}),ib.prod=nb({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\\\"}),ib.norm2squared=nb({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\\\"}),ib.norm2=nb({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\\\"}),ib.norminf=nb({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\\\"}),ib.norm1=nb({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\\\"}),ib.sup=nb({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:[]}}),ib.inf=nb({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:[]}}),ib.argmin=nb({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:[]}}),ib.argmax=nb({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:[]}}),ib.random=sb({args:[\\\"array\\\"],pre:{args:[],body:\\\"this_f=Math.random\\\",thisVars:[\\\"this_f\\\"]},body:{args:[\\\"a\\\"],body:\\\"a=this_f()\\\",thisVars:[\\\"this_f\\\"]},funcName:\\\"random\\\"}),ib.assign=sb({args:[\\\"array\\\",\\\"array\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assign\\\"}),ib.assigns=sb({args:[\\\"array\\\",\\\"scalar\\\"],body:{args:[\\\"a\\\",\\\"b\\\"],body:\\\"a=b\\\"},funcName:\\\"assigns\\\"}),ib.equals=nb({args:[\\\"array\\\",\\\"array\\\"],pre:ab,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\\\"});var db=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e},gb=function(t){return null!=t&&(vb(t)||function(t){return\\\"function\\\"==typeof t.readFloatLE&&\\\"function\\\"==typeof t.slice&&vb(t.slice(0,0))}(t)||!!t._isBuffer)};function vb(t){return!!t.constructor&&\\\"function\\\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var mb=\\\"undefined\\\"!=typeof Float64Array;function yb(t,e){return t[0]-e[0]}function xb(){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(yb);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function bb(t,e){var r=[\\\"View\\\",e,\\\"d\\\",t].join(\\\"\\\");e<0&&(r=\\\"View_Nil\\\"+t);var n=\\\"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 \\\"+(n?\\\"this.data.get(this.offset)\\\":\\\"this.data[this.offset]\\\")+\\\"};proto.set=function \\\"+r+\\\"_set(v){return \\\"+(n?\\\"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)(_b[t][0])}i=[\\\"'use strict'\\\"];var a=db(e),o=a.map(function(t){return\\\"i\\\"+t}),s=\\\"this.offset+\\\"+a.map(function(t){return\\\"this.stride[\\\"+t+\\\"]*i\\\"+t}).join(\\\"+\\\"),l=a.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\"),u=a.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\");i.push(\\\"function \\\"+r+\\\"(a,\\\"+l+\\\",\\\"+u+\\\",d){this.data=a\\\",\\\"this.shape=[\\\"+l+\\\"]\\\",\\\"this.stride=[\\\"+u+\\\"]\\\",\\\"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 \\\"+a.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(\\\"+o.join(\\\",\\\")+\\\",v){\\\"),n?i.push(\\\"return this.data.set(\\\"+s+\\\",v)}\\\"):i.push(\\\"return this.data[\\\"+s+\\\"]=v}\\\"),i.push(\\\"proto.get=function \\\"+r+\\\"_get(\\\"+o.join(\\\",\\\")+\\\"){\\\"),n?i.push(\\\"return this.data.get(\\\"+s+\\\")}\\\"):i.push(\\\"return this.data[\\\"+s+\\\"]}\\\"),i.push(\\\"proto.index=function \\\"+r+\\\"_index(\\\",o.join(),\\\"){return \\\"+s+\\\"}\\\"),i.push(\\\"proto.hi=function \\\"+r+\\\"_hi(\\\"+o.join(\\\",\\\")+\\\"){return new \\\"+r+\\\"(this.data,\\\"+a.map(function(t){return[\\\"(typeof i\\\",t,\\\"!=='number'||i\\\",t,\\\"<0)?this.shape[\\\",t,\\\"]:i\\\",t,\\\"|0\\\"].join(\\\"\\\")}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",this.offset)}\\\");var c=a.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}),h=a.map(function(t){return\\\"c\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"});i.push(\\\"proto.lo=function \\\"+r+\\\"_lo(\\\"+o.join(\\\",\\\")+\\\"){var b=this.offset,d=0,\\\"+c.join(\\\",\\\")+\\\",\\\"+h.join(\\\",\\\"));for(var f=0;f<e;++f)i.push(\\\"if(typeof i\\\"+f+\\\"==='number'&&i\\\"+f+\\\">=0){d=i\\\"+f+\\\"|0;b+=c\\\"+f+\\\"*d;a\\\"+f+\\\"-=d}\\\");i.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+a.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"c\\\"+t}).join(\\\",\\\")+\\\",b)}\\\"),i.push(\\\"proto.step=function \\\"+r+\\\"_step(\\\"+o.join(\\\",\\\")+\\\"){var \\\"+a.map(function(t){return\\\"a\\\"+t+\\\"=this.shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"b\\\"+t+\\\"=this.stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",c=this.offset,d=0,ceil=Math.ceil\\\");for(f=0;f<e;++f)i.push(\\\"if(typeof i\\\"+f+\\\"==='number'){d=i\\\"+f+\\\"|0;if(d<0){c+=b\\\"+f+\\\"*(a\\\"+f+\\\"-1);a\\\"+f+\\\"=ceil(-a\\\"+f+\\\"/d)}else{a\\\"+f+\\\"=ceil(a\\\"+f+\\\"/d)}b\\\"+f+\\\"*=d}\\\");i.push(\\\"return new \\\"+r+\\\"(this.data,\\\"+a.map(function(t){return\\\"a\\\"+t}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"b\\\"+t}).join(\\\",\\\")+\\\",c)}\\\");var p=new Array(e),d=new Array(e);for(f=0;f<e;++f)p[f]=\\\"a[i\\\"+f+\\\"]\\\",d[f]=\\\"b[i\\\"+f+\\\"]\\\";i.push(\\\"proto.transpose=function \\\"+r+\\\"_transpose(\\\"+o+\\\"){\\\"+o.map(function(t,e){return t+\\\"=(\\\"+t+\\\"===undefined?\\\"+e+\\\":\\\"+t+\\\"|0)\\\"}).join(\\\";\\\"),\\\"var a=this.shape,b=this.stride;return new \\\"+r+\\\"(this.data,\\\"+p.join(\\\",\\\")+\\\",\\\"+d.join(\\\",\\\")+\\\",this.offset)}\\\"),i.push(\\\"proto.pick=function \\\"+r+\\\"_pick(\\\"+o+\\\"){var a=[],b=[],c=this.offset\\\");for(f=0;f<e;++f)i.push(\\\"if(typeof i\\\"+f+\\\"==='number'&&i\\\"+f+\\\">=0){c=(c+this.stride[\\\"+f+\\\"]*i\\\"+f+\\\")|0}else{a.push(this.shape[\\\"+f+\\\"]);b.push(this.stride[\\\"+f+\\\"])}\\\");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,\\\"+a.map(function(t){return\\\"shape[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",\\\"+a.map(function(t){return\\\"stride[\\\"+t+\\\"]\\\"}).join(\\\",\\\")+\\\",offset)}\\\"),new Function(\\\"CTOR_LIST\\\",\\\"ORDER\\\",i.join(\\\"\\\\n\\\"))(_b[t],xb)}var _b={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};var wb=function(t,e,r,n){if(void 0===t)return(0,_b.array[0])([]);\\\"number\\\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var a=i-1,o=1;a>=0;--a)r[a]=o,o*=e[a]}if(void 0===n)for(n=0,a=0;a<i;++a)r[a]<0&&(n-=(e[a]-1)*r[a]);for(var s=function(t){if(gb(t))return\\\"buffer\\\";if(mb)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\\\"}return Array.isArray(t)?\\\"array\\\":\\\"generic\\\"}(t),l=_b[s];l.length<=i+1;)l.push(bb(s,l.length-1));return(0,l[i+1])(t,e,r,n)},Mb={};function Ab(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}Mb.INT_BITS=32,Mb.INT_MAX=2147483647,Mb.INT_MIN=-1<<31,Mb.sign=function(t){return(t>0)-(t<0)},Mb.abs=function(t){var e=t>>31;return(t^e)-e},Mb.min=function(t,e){return e^(t^e)&-(t<e)},Mb.max=function(t,e){return t^(t^e)&-(t<e)},Mb.isPow2=function(t){return!(t&t-1||!t)},Mb.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},Mb.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},Mb.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},Mb.countTrailingZeros=Ab,Mb.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},Mb.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},Mb.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kb=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(kb),Mb.reverse=function(t){return kb[255&t]<<24|kb[t>>>8&255]<<16|kb[t>>>16&255]<<8|kb[t>>>24&255]},Mb.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},Mb.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},Mb.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},Mb.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},Mb.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>Ab(t)+1};for(var Tb={byteLength:function(t){return 3*t.length/4-Ib(t)},toByteArray:function(t){var e,r,n,i,a,o=t.length;i=Ib(t),a=new Cb(3*o/4-i),r=i>0?o-4:o;var s=0;for(e=0;e<r;e+=4)n=Eb[t.charCodeAt(e)]<<18|Eb[t.charCodeAt(e+1)]<<12|Eb[t.charCodeAt(e+2)]<<6|Eb[t.charCodeAt(e+3)],a[s++]=n>>16&255,a[s++]=n>>8&255,a[s++]=255&n;2===i?(n=Eb[t.charCodeAt(e)]<<2|Eb[t.charCodeAt(e+1)]>>4,a[s++]=255&n):1===i&&(n=Eb[t.charCodeAt(e)]<<10|Eb[t.charCodeAt(e+1)]<<4|Eb[t.charCodeAt(e+2)]>>2,a[s++]=n>>8&255,a[s++]=255&n);return a},fromByteArray:function(t){for(var e,r=t.length,n=r%3,i=\\\"\\\",a=[],o=0,s=r-n;o<s;o+=16383)a.push(Db(t,o,o+16383>s?s:o+16383));1===n?(e=t[r-1],i+=Sb[e>>2],i+=Sb[e<<4&63],i+=\\\"==\\\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=Sb[e>>10],i+=Sb[e>>4&63],i+=Sb[e<<2&63],i+=\\\"=\\\");return a.push(i),a.join(\\\"\\\")}},Sb=[],Eb=[],Cb=\\\"undefined\\\"!=typeof Uint8Array?Uint8Array:Array,Lb=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\\",zb=0,Pb=Lb.length;zb<Pb;++zb)Sb[zb]=Lb[zb],Eb[Lb.charCodeAt(zb)]=zb;function Ib(t){var e=t.length;if(e%4>0)throw new Error(\\\"Invalid string. Length must be a multiple of 4\\\");return\\\"=\\\"===t[e-2]?2:\\\"=\\\"===t[e-1]?1:0}function Db(t,e,r){for(var n,i,a=[],o=e;o<r;o+=3)n=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),a.push(Sb[(i=n)>>18&63]+Sb[i>>12&63]+Sb[i>>6&63]+Sb[63&i]);return a.join(\\\"\\\")}Eb[\\\"-\\\".charCodeAt(0)]=62,Eb[\\\"_\\\".charCodeAt(0)]=63;var Ob={read:function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},write:function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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=c):(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>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},Rb={};Rb.Buffer=Nb,Rb.SlowBuffer=function(t){+t!=t&&(t=0);return Nb.alloc(+t)},Rb.INSPECT_MAX_BYTES=50;var Fb=2147483647;function Bb(t){if(t>Fb)throw new RangeError(\\\"Invalid typed array length\\\");var e=new Uint8Array(t);return e.__proto__=Nb.prototype,e}function Nb(t,e,r){if(\\\"number\\\"==typeof t){if(\\\"string\\\"==typeof e)throw new Error(\\\"If encoding is specified then the first argument must be a string\\\");return Ub(t)}return jb(t,e,r)}function jb(t,e,r){if(\\\"number\\\"==typeof t)throw new TypeError('\\\"value\\\" argument must not be a number');return y_(t)||t&&y_(t.buffer)?function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\\\"offset\\\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\\\"length\\\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=Nb.prototype,n}(t,e,r):\\\"string\\\"==typeof t?function(t,e){\\\"string\\\"==typeof e&&\\\"\\\"!==e||(e=\\\"utf8\\\");if(!Nb.isEncoding(e))throw new TypeError(\\\"Unknown encoding: \\\"+e);var r=0|Gb(t,e),n=Bb(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e):function(t){if(Nb.isBuffer(t)){var e=0|Hb(t.length),r=Bb(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(ArrayBuffer.isView(t)||\\\"length\\\"in t)return\\\"number\\\"!=typeof t.length||x_(t.length)?Bb(0):qb(t);if(\\\"Buffer\\\"===t.type&&Array.isArray(t.data))return qb(t.data)}throw new TypeError(\\\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\\\")}(t)}function Vb(t){if(\\\"number\\\"!=typeof t)throw new TypeError('\\\"size\\\" argument must be of type number');if(t<0)throw new RangeError('\\\"size\\\" argument must not be negative')}function Ub(t){return Vb(t),Bb(t<0?0:0|Hb(t))}function qb(t){for(var e=t.length<0?0:0|Hb(t.length),r=Bb(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function Hb(t){if(t>=Fb)throw new RangeError(\\\"Attempt to allocate Buffer larger than maximum size: 0x\\\"+Fb.toString(16)+\\\" bytes\\\");return 0|t}function Gb(t,e){if(Nb.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||y_(t))return t.byteLength;\\\"string\\\"!=typeof t&&(t=\\\"\\\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\\\"ascii\\\":case\\\"latin1\\\":case\\\"binary\\\":return r;case\\\"utf8\\\":case\\\"utf-8\\\":case void 0:return g_(t).length;case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return 2*r;case\\\"hex\\\":return r>>>1;case\\\"base64\\\":return v_(t).length;default:if(n)return g_(t).length;e=(\\\"\\\"+e).toLowerCase(),n=!0}}function Wb(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Yb(t,e,r,n,i){if(0===t.length)return-1;if(\\\"string\\\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),x_(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\\\"string\\\"==typeof e&&(e=Nb.from(e,n)),Nb.isBuffer(e))return 0===e.length?-1:Xb(t,e,r,n,i);if(\\\"number\\\"==typeof e)return e&=255,\\\"function\\\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Xb(t,[e],r,n,i);throw new TypeError(\\\"val must be string, number or Buffer\\\")}function Xb(t,e,r,n,i){var a,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 u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(t,a)===u(e,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;f<l;f++)if(u(t,a+f)!==u(e,f)){h=!1;break}if(h)return a}return-1}function Zb(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(x_(s))return o;t[r+o]=s}return o}function Jb(t,e,r,n){return m_(g_(e,t.length-r),t,r,n)}function Kb(t,e,r,n){return m_(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function Qb(t,e,r,n){return Kb(t,e,r,n)}function $b(t,e,r,n){return m_(v_(e),t,r,n)}function t_(t,e,r,n){return m_(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function e_(t,e,r){return 0===e&&r===t.length?Tb.fromByteArray(t):Tb.fromByteArray(t.slice(e,r))}function r_(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,u=t[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)>127&&(c=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&u)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=n_)return String.fromCharCode.apply(String,t);var r=\\\"\\\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=n_));return r}(n)}Rb.kMaxLength=Fb,Nb.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}}(),Nb.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(Nb.prototype,\\\"parent\\\",{get:function(){if(this instanceof Nb)return this.buffer}}),Object.defineProperty(Nb.prototype,\\\"offset\\\",{get:function(){if(this instanceof Nb)return this.byteOffset}}),\\\"undefined\\\"!=typeof Symbol&&Symbol.species&&Nb[Symbol.species]===Nb&&Object.defineProperty(Nb,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Nb.poolSize=8192,Nb.from=function(t,e,r){return jb(t,e,r)},Nb.prototype.__proto__=Uint8Array.prototype,Nb.__proto__=Uint8Array,Nb.alloc=function(t,e,r){return function(t,e,r){return Vb(t),t<=0?Bb(t):void 0!==e?\\\"string\\\"==typeof r?Bb(t).fill(e,r):Bb(t).fill(e):Bb(t)}(t,e,r)},Nb.allocUnsafe=function(t){return Ub(t)},Nb.allocUnsafeSlow=function(t){return Ub(t)},Nb.isBuffer=function(t){return null!=t&&!0===t._isBuffer},Nb.compare=function(t,e){if(!Nb.isBuffer(t)||!Nb.isBuffer(e))throw new TypeError(\\\"Arguments must be Buffers\\\");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},Nb.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}},Nb.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');if(0===t.length)return Nb.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=Nb.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(ArrayBuffer.isView(a)&&(a=Nb.from(a)),!Nb.isBuffer(a))throw new TypeError('\\\"list\\\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},Nb.byteLength=Gb,Nb.prototype._isBuffer=!0,Nb.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)Wb(this,e,e+1);return this},Nb.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)Wb(this,e,e+3),Wb(this,e+1,e+2);return this},Nb.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)Wb(this,e,e+7),Wb(this,e+1,e+6),Wb(this,e+2,e+5),Wb(this,e+3,e+4);return this},Nb.prototype.toString=function(){var t=this.length;return 0===t?\\\"\\\":0===arguments.length?r_(this,0,t):function(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 o_(this,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return r_(this,e,r);case\\\"ascii\\\":return i_(this,e,r);case\\\"latin1\\\":case\\\"binary\\\":return a_(this,e,r);case\\\"base64\\\":return e_(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}}.apply(this,arguments)},Nb.prototype.toLocaleString=Nb.prototype.toString,Nb.prototype.equals=function(t){if(!Nb.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");return this===t||0===Nb.compare(this,t)},Nb.prototype.inspect=function(){var t=\\\"\\\",e=Rb.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\\\"hex\\\",0,e).match(/.{2}/g).join(\\\" \\\"),this.length>e&&(t+=\\\" ... \\\")),\\\"<Buffer \\\"+t+\\\">\\\"},Nb.prototype.compare=function(t,e,r,n,i){if(!Nb.isBuffer(t))throw new TypeError(\\\"Argument must be a Buffer\\\");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\\\"out of range index\\\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,o=r-e,s=Math.min(a,o),l=this.slice(n,i),u=t.slice(e,r),c=0;c<s;++c)if(l[c]!==u[c]){a=l[c],o=u[c];break}return a<o?-1:o<a?1:0},Nb.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},Nb.prototype.indexOf=function(t,e,r){return Yb(this,t,e,r,!0)},Nb.prototype.lastIndexOf=function(t,e,r){return Yb(this,t,e,r,!1)},Nb.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 i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\\\"Attempt to write outside buffer bounds\\\");n||(n=\\\"utf8\\\");for(var a=!1;;)switch(n){case\\\"hex\\\":return Zb(this,t,e,r);case\\\"utf8\\\":case\\\"utf-8\\\":return Jb(this,t,e,r);case\\\"ascii\\\":return Kb(this,t,e,r);case\\\"latin1\\\":case\\\"binary\\\":return Qb(this,t,e,r);case\\\"base64\\\":return $b(this,t,e,r);case\\\"ucs2\\\":case\\\"ucs-2\\\":case\\\"utf16le\\\":case\\\"utf-16le\\\":return t_(this,t,e,r);default:if(a)throw new TypeError(\\\"Unknown encoding: \\\"+n);n=(\\\"\\\"+n).toLowerCase(),a=!0}},Nb.prototype.toJSON=function(){return{type:\\\"Buffer\\\",data:Array.prototype.slice.call(this._arr||this,0)}};var n_=4096;function i_(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function a_(t,e,r){var n=\\\"\\\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function o_(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\\\"\\\",a=e;a<r;++a)i+=d_(t[a]);return i}function s_(t,e,r){for(var n=t.slice(e,r),i=\\\"\\\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function l_(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 u_(t,e,r,n,i,a){if(!Nb.isBuffer(t))throw new TypeError('\\\"buffer\\\" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('\\\"value\\\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\")}function c_(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\\\"Index out of range\\\");if(r<0)throw new RangeError(\\\"Index out of range\\\")}function h_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,4),Ob.write(t,e,r,n,23,4),r+4}function f_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,8),Ob.write(t,e,r,n,52,8),r+8}Nb.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=Nb.prototype,n},Nb.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},Nb.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},Nb.prototype.readUInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),this[t]},Nb.prototype.readUInt16LE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]|this[t+1]<<8},Nb.prototype.readUInt16BE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]<<8|this[t+1]},Nb.prototype.readUInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Nb.prototype.readUInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Nb.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},Nb.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},Nb.prototype.readInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Nb.prototype.readInt16LE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt16BE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Nb.prototype.readInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Nb.prototype.readFloatLE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!0,23,4)},Nb.prototype.readFloatBE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!1,23,4)},Nb.prototype.readDoubleLE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!0,52,8)},Nb.prototype.readDoubleBE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!1,52,8)},Nb.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},Nb.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},Nb.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,255,0),this[e]=255&t,e+1},Nb.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},Nb.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},Nb.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},Nb.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeFloatLE=function(t,e,r){return h_(this,t,e,!0,r)},Nb.prototype.writeFloatBE=function(t,e,r){return h_(this,t,e,!1,r)},Nb.prototype.writeDoubleLE=function(t,e,r){return f_(this,t,e,!0,r)},Nb.prototype.writeDoubleBE=function(t,e,r){return f_(this,t,e,!1,r)},Nb.prototype.copy=function(t,e,r,n){if(!Nb.isBuffer(t))throw new TypeError(\\\"argument should be a Buffer\\\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\\\"targetStart out of bounds\\\");if(r<0||r>=this.length)throw new RangeError(\\\"Index out of range\\\");if(n<0)throw new RangeError(\\\"sourceEnd out of bounds\\\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\\\"function\\\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},Nb.prototype.fill=function(t,e,r,n){if(\\\"string\\\"==typeof t){if(\\\"string\\\"==typeof e?(n=e,e=0,r=this.length):\\\"string\\\"==typeof r&&(n=r,r=this.length),void 0!==n&&\\\"string\\\"!=typeof n)throw new TypeError(\\\"encoding must be a string\\\");if(\\\"string\\\"==typeof n&&!Nb.isEncoding(n))throw new TypeError(\\\"Unknown encoding: \\\"+n);if(1===t.length){var i=t.charCodeAt(0);(\\\"utf8\\\"===n&&i<128||\\\"latin1\\\"===n)&&(t=i)}}else\\\"number\\\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\\\"Out of range index\\\");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\\\"number\\\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=Nb.isBuffer(t)?t:new Nb(t,n),s=o.length;if(0===s)throw new TypeError('The value \\\"'+t+'\\\" is invalid for argument \\\"value\\\"');for(a=0;a<r-e;++a)this[a+e]=o[a%s]}return this};var p_=/[^+/0-9A-Za-z-_]/g;function d_(t){return t<16?\\\"0\\\"+t.toString(16):t.toString(16)}function g_(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.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;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function v_(t){return Tb.toByteArray(function(t){if((t=(t=t.split(\\\"=\\\")[0]).trim().replace(p_,\\\"\\\")).length<2)return\\\"\\\";for(;t.length%4!=0;)t+=\\\"=\\\";return t}(t))}function m_(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function y_(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&\\\"ArrayBuffer\\\"===t.constructor.name&&\\\"number\\\"==typeof t.byteLength}function x_(t){return t!=t}var b_=function(t,e){switch(void 0===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 i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]},__={};(function(t,e){\\\"use strict\\\";t.__TYPEDARRAY_POOL||(t.__TYPEDARRAY_POOL={UINT8:b_([32,0]),UINT16:b_([32,0]),UINT32:b_([32,0]),INT8:b_([32,0]),INT16:b_([32,0]),INT32:b_([32,0]),FLOAT:b_([32,0]),DOUBLE:b_([32,0]),DATA:b_([32,0]),UINT8C:b_([32,0]),BUFFER:b_([32,0])});var r=\\\"undefined\\\"!=typeof Uint8ClampedArray,n=t.__TYPEDARRAY_POOL;n.UINT8C||(n.UINT8C=b_([32,0])),n.BUFFER||(n.BUFFER=b_([32,0]));var i=n.DATA,a=n.BUFFER;function o(t){if(t){var e=t.length||t.byteLength,r=Mb.log2(e);i[r].push(t)}}function s(t){t=Mb.nextPow2(t);var e=Mb.log2(t),r=i[e];return r.length>0?r.pop():new ArrayBuffer(t)}function l(t){return new Uint8Array(s(t),0,t)}function u(t){return new Uint16Array(s(2*t),0,t)}function c(t){return new Uint32Array(s(4*t),0,t)}function h(t){return new Int8Array(s(t),0,t)}function f(t){return new Int16Array(s(2*t),0,t)}function p(t){return new Int32Array(s(4*t),0,t)}function d(t){return new Float32Array(s(4*t),0,t)}function g(t){return new Float64Array(s(8*t),0,t)}function v(t){return r?new Uint8ClampedArray(s(t),0,t):l(t)}function m(t){return new DataView(s(t),0,t)}function y(t){t=Mb.nextPow2(t);var r=Mb.log2(t),n=a[r];return n.length>0?n.pop():new e(t)}__.free=function(t){if(e.isBuffer(t))a[Mb.log2(t.length)].push(t);else{if(\\\"[object ArrayBuffer]\\\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=0|Mb.log2(r);i[n].push(t)}},__.freeUint8=__.freeUint16=__.freeUint32=__.freeInt8=__.freeInt16=__.freeInt32=__.freeFloat32=__.freeFloat=__.freeFloat64=__.freeDouble=__.freeUint8Clamped=__.freeDataView=function(t){o(t.buffer)},__.freeArrayBuffer=o,__.freeBuffer=function(t){a[Mb.log2(t.length)].push(t)},__.malloc=function(t,e){if(void 0===e||\\\"arraybuffer\\\"===e)return s(t);switch(e){case\\\"uint8\\\":return l(t);case\\\"uint16\\\":return u(t);case\\\"uint32\\\":return c(t);case\\\"int8\\\":return h(t);case\\\"int16\\\":return f(t);case\\\"int32\\\":return p(t);case\\\"float\\\":case\\\"float32\\\":return d(t);case\\\"double\\\":case\\\"float64\\\":return g(t);case\\\"uint8_clamped\\\":return v(t);case\\\"buffer\\\":return y(t);case\\\"data\\\":case\\\"dataview\\\":return m(t);default:return null}return null},__.mallocArrayBuffer=s,__.mallocUint8=l,__.mallocUint16=u,__.mallocUint32=c,__.mallocInt8=h,__.mallocInt16=f,__.mallocInt32=p,__.mallocFloat32=__.mallocFloat=d,__.mallocFloat64=__.mallocDouble=g,__.mallocUint8Clamped=v,__.mallocDataView=m,__.mallocBuffer=y,__.clearCache=function(){for(var t=0;t<32;++t)n.UINT8[t].length=0,n.UINT16[t].length=0,n.UINT32[t].length=0,n.INT8[t].length=0,n.INT16[t].length=0,n.INT32[t].length=0,n.FLOAT[t].length=0,n.DOUBLE[t].length=0,n.UINT8C[t].length=0,i[t].length=0,a[t].length=0}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{},Rb.Buffer);var w_=[\\\"uint8\\\",\\\"uint8_clamped\\\",\\\"uint16\\\",\\\"uint32\\\",\\\"int8\\\",\\\"int16\\\",\\\"int32\\\",\\\"float32\\\"];function M_(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var A_=M_.prototype;function k_(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\\\"gl-buffer: If resizing buffer, must not specify offset\\\");return t.bufferSubData(e,a,i),r}function T_(t,e){for(var r=__.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}A_.bind=function(){this.gl.bindBuffer(this.type,this.handle)},A_.unbind=function(){this.gl.bindBuffer(this.type,null)},A_.dispose=function(){this.gl.deleteBuffer(this.handle)},A_.update=function(t,e){if(\\\"number\\\"!=typeof e&&(e=-1),this.bind(),\\\"object\\\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(w_.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=k_(this.gl,this.type,this.length,this.usage,t.data,e):this.length=k_(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=__.malloc(t.size,r),i=wb(n,t.shape);ib.assign(i,t),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?n:n.subarray(0,t.size),e),__.free(n)}}else if(Array.isArray(t)){var a;a=this.type===this.gl.ELEMENT_ARRAY_BUFFER?T_(t,\\\"uint16\\\"):T_(t,\\\"float32\\\"),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?a:a.subarray(0,t.length),e),__.free(a)}else if(\\\"object\\\"==typeof t&&\\\"number\\\"==typeof t.length)this.length=k_(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}};var S_=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 i=new M_(t,r,t.createBuffer(),0,n);return i.update(e),i},E_=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(\\\"\\\")},C_=E_([\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\\\n}\\\\n\\\"]),L_={lineVert:E_([\\\"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:C_,textVert:E_([\\\"#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:C_,gridVert:E_([\\\"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:C_,boxVert:E_([\\\"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:E_([\\\"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\\\"])};function z_(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}z_.prototype=new Error,z_.prototype.name=\\\"GLError\\\",z_.prototype.constructor=z_;var P_=z_,I_=function(t,e,r,n){for(var i={},a=0,o=r.length;a<o;++a){var s=r[a],l=s.name,u=s.type,c=s.locations;switch(u){case\\\"bool\\\":case\\\"int\\\":case\\\"float\\\":R_(t,e,c[0],n,1,i,l);break;default:if(u.indexOf(\\\"vec\\\")>=0){var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\\\"\\\",\\\"Invalid data type for attribute \\\"+l+\\\": \\\"+u);R_(t,e,c[0],n,h,i,l)}else{if(!(u.indexOf(\\\"mat\\\")>=0))throw new P_(\\\"\\\",\\\"Unknown data type for attribute \\\"+l+\\\": \\\"+u);var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\\\"\\\",\\\"Invalid data type for attribute \\\"+l+\\\": \\\"+u);F_(t,e,c,n,h,i,l)}}}return i};function D_(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var O_=D_.prototype;function R_(t,e,r,n,i,a,o){for(var s=[\\\"gl\\\",\\\"v\\\"],l=[],u=0;u<i;++u)s.push(\\\"x\\\"+u),l.push(\\\"x\\\"+u);s.push(\\\"if(x0.length===void 0){return gl.vertexAttrib\\\"+i+\\\"f(v,\\\"+l.join()+\\\")}else{return gl.vertexAttrib\\\"+i+\\\"fv(v,x0)}\\\");var c=Function.apply(null,s),h=new D_(t,e,r,n,i,c);Object.defineProperty(a,o,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return h},enumerable:!0})}function F_(t,e,r,n,i,a,o){for(var s=new Array(i),l=new Array(i),u=0;u<i;++u)R_(t,e,r[u],n,i,s,u),l[u]=s[u];Object.defineProperty(s,\\\"location\\\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)l[e].location=t[e];else for(e=0;e<i;++e)l[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),s.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var u=n[r[l]];t.vertexAttribPointer(u,i,e,a,o,s+l*i),t.enableVertexAttribArray(u)}};var c=new Array(i),h=t[\\\"vertexAttrib\\\"+i+\\\"fv\\\"];Object.defineProperty(a,o,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)c[s]=e[i*a+s];h.call(t,o,c)}}return e},get:function(){return s},enumerable:!0})}O_.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},O_.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(O_,\\\"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}});var B_=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\\\".\\\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\\\"[\\\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var u=1;u<l.length;++u){var c=parseInt(l[u]);u<l.length-1||s<a.length-1?(c in o||(u<l.length-1?o[c]=[]:o[c]={}),o=o[c]):o[c]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r};var N_=function(t,e,r,n){function i(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=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new P_(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+Rd+\\\": \\\"+r);return\\\"gl.uniformMatrix\\\"+i+\\\"fv(locations[\\\"+e+\\\"],false,obj\\\"+t+\\\")\\\"}throw new P_(\\\"\\\",\\\"Unknown uniform data type for \\\"+Rd+\\\": \\\"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new P_(\\\"\\\",\\\"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 P_(\\\"\\\",\\\"Unrecognized data type for vector \\\"+Rd+\\\": \\\"+r)}}}function a(e){for(var a=[\\\"return function updateProperty(obj){\\\"],o=function t(e,r){if(\\\"object\\\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\\\"\\\"===i?o+=\\\"[\\\"+i+\\\"]\\\":o+=\\\".\\\"+i,\\\"object\\\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\\\"\\\",e),s=0;s<o.length;++s){var l=o[s],u=l[0],c=l[1];n[c]&&a.push(i(u,c,r[c].type))}a.push(\\\"return obj}\\\");var h=new Function(\\\"gl\\\",\\\"locations\\\",a.join(\\\"\\\\n\\\"));return h(t,n)}function o(i,o,l){if(\\\"object\\\"==typeof l){var u=s(l);Object.defineProperty(i,o,{get:j_(u),set:a(l),enumerable:!0,configurable:!1})}else n[l]?Object.defineProperty(i,o,{get:(c=l,new Function(\\\"gl\\\",\\\"wrapper\\\",\\\"locations\\\",\\\"return function(){return gl.getUniform(wrapper.program,locations[\\\"+c+\\\"])}\\\")(t,e,n)),set:a(l),enumerable:!0,configurable:!1}):i[o]=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){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new P_(\\\"\\\",\\\"Invalid data type\\\");return\\\"b\\\"===t.charAt(0)?V_(r,!1):V_(r,0)}if(0===t.indexOf(\\\"mat\\\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new P_(\\\"\\\",\\\"Invalid uniform dimension type for matrix \\\"+Rd+\\\": \\\"+t);return V_(r*r,0)}throw new P_(\\\"\\\",\\\"Unknown uniform data type for \\\"+Rd+\\\": \\\"+t)}}(r[l].type);var c}function s(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)o(e,r,t[r])}else for(var n in e={},t)o(e,n,t[n]);return e}var l=B_(r,!0);return{get:j_(s(l)),set:a(l),enumerable:!0,configurable:!0}};function j_(t){return new Function(\\\"y\\\",\\\"return function(){return y}\\\")(t)}function V_(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var U_={uniforms:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var a=t.getActiveUniform(e,i);if(a){var o=G_(t,a.type);if(a.size>1)for(var s=0;s<a.size;++s)n.push({name:a.name.replace(\\\"[0]\\\",\\\"[\\\"+s+\\\"]\\\"),type:o});else n.push({name:a.name,type:o})}}return n},attributes:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var a=t.getActiveAttrib(e,i);a&&n.push({name:a.name,type:G_(t,a.type)})}return n}},q_={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\\\"},H_=null;function G_(t,e){if(!H_){var r=Object.keys(q_);H_={};for(var n=0;n<r.length;++n){var i=r[n];H_[t[i]]=q_[i]}}return H_[e]}var W_,Y_=\\\"\\\",X_=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(W_!==t||void 0===W_)W_=t,Y_=\\\"\\\";else if(Y_.length>=r)return Y_.substr(0,r);for(;r>Y_.length&&e>1;)1&e&&(Y_+=t),e>>=1,t+=t;return Y_=(Y_+=t).substr(0,r)};var Z_=function(t,e,r){return X_(r=void 0!==r?r+\\\"\\\":\\\" \\\",e)+t},J_=function(t,e,r){e=\\\"number\\\"==typeof e?e:1,r=r||\\\": \\\";var n=t.split(/\\\\r?\\\\n/),i=String(n.length+e-1).length;return n.map(function(t,n){var a=n+e,o=String(a).length,s=Z_(a,i-o);return s+r+t}).join(\\\"\\\\n\\\")};var K_={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\\\",34000:\\\"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\\\"},Q_=function(t){return K_[t]},$_=function(t){return atob(t)},tw=[\\\"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\\\"],ew=(tw=tw.slice().filter(function(t){return!/^(gl\\\\_|texture)/.test(t)})).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\\\"]),rw=[\\\"precision\\\",\\\"highp\\\",\\\"mediump\\\",\\\"lowp\\\",\\\"attribute\\\",\\\"const\\\",\\\"uniform\\\",\\\"varying\\\",\\\"break\\\",\\\"continue\\\",\\\"do\\\",\\\"for\\\",\\\"while\\\",\\\"if\\\",\\\"else\\\",\\\"in\\\",\\\"out\\\",\\\"inout\\\",\\\"float\\\",\\\"int\\\",\\\"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\\\"],nw=rw.slice().concat([\\\"layout\\\",\\\"centroid\\\",\\\"smooth\\\",\\\"case\\\",\\\"mat2x2\\\",\\\"mat2x3\\\",\\\"mat2x4\\\",\\\"mat3x2\\\",\\\"mat3x3\\\",\\\"mat3x4\\\",\\\"mat4x2\\\",\\\"mat4x3\\\",\\\"mat4x4\\\",\\\"uint\\\",\\\"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\\\"]),iw=[\\\"<<=\\\",\\\">>=\\\",\\\"++\\\",\\\"--\\\",\\\"<<\\\",\\\">>\\\",\\\"<=\\\",\\\">=\\\",\\\"==\\\",\\\"!=\\\",\\\"&&\\\",\\\"||\\\",\\\"+=\\\",\\\"-=\\\",\\\"*=\\\",\\\"/=\\\",\\\"%=\\\",\\\"&=\\\",\\\"^^\\\",\\\"^=\\\",\\\"|=\\\",\\\"(\\\",\\\")\\\",\\\"[\\\",\\\"]\\\",\\\".\\\",\\\"!\\\",\\\"~\\\",\\\"*\\\",\\\"/\\\",\\\"%\\\",\\\"+\\\",\\\"-\\\",\\\"<\\\",\\\">\\\",\\\"&\\\",\\\"^\\\",\\\"|\\\",\\\"?\\\",\\\":\\\",\\\"=\\\",\\\",\\\",\\\";\\\",\\\"{\\\",\\\"}\\\"],aw=function(t){var e,r,n,i=0,a=0,o=ow,s=[],l=[],u=1,c=0,h=0,f=!1,p=!1,d=\\\"\\\",g=tw,v=rw;\\\"300 es\\\"===(t=t||{}).version&&(g=ew,v=nw);return function(t){return l=[],null!==t?function(t){var r;i=0,n=(d+=t).length;for(;e=d[i],i<n;){switch(r=i,o){case lw:i=_();break;case uw:case cw:i=b();break;case hw:i=w();break;case fw:i=k();break;case xw:i=A();break;case pw:i=T();break;case sw:i=S();break;case mw:i=x();break;case ow:i=y()}if(r!==i)switch(d[r]){case\\\"\\\\n\\\":c=0,++u;break;default:++c}}return a+=i,d=d.slice(i),l}(t.replace?t.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\"):t):function(t){s.length&&m(s.join(\\\"\\\"));return o=yw,m(\\\"(eof)\\\"),l}()};function m(t){t.length&&l.push({type:bw[o],data:t,position:h,line:u,column:c})}function y(){return s=s.length?[]:s,\\\"/\\\"===r&&\\\"*\\\"===e?(h=a+i-1,o=lw,r=e,i+1):\\\"/\\\"===r&&\\\"/\\\"===e?(h=a+i-1,o=uw,r=e,i+1):\\\"#\\\"===e?(o=cw,h=a+i,i):/\\\\s/.test(e)?(o=mw,h=a+i,i):(f=/\\\\d/.test(e),p=/[^\\\\w_]/.test(e),h=a+i,o=f?fw:p?hw:sw,i)}function x(){return/[^\\\\s]/g.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function b(){return\\\"\\\\r\\\"!==e&&\\\"\\\\n\\\"!==e||\\\"\\\\\\\\\\\"===r?(s.push(e),r=e,i+1):(m(s.join(\\\"\\\")),o=ow,i)}function _(){return\\\"/\\\"===e&&\\\"*\\\"===r?(s.push(e),m(s.join(\\\"\\\")),o=ow,i+1):(s.push(e),r=e,i+1)}function w(){if(\\\".\\\"===r&&/\\\\d/.test(e))return o=pw,i;if(\\\"/\\\"===r&&\\\"*\\\"===e)return o=lw,i;if(\\\"/\\\"===r&&\\\"/\\\"===e)return o=uw,i;if(\\\".\\\"===e&&s.length){for(;M(s););return o=pw,i}if(\\\";\\\"===e||\\\")\\\"===e||\\\"(\\\"===e){if(s.length)for(;M(s););return m(e),o=ow,i+1}var t=2===s.length&&\\\"=\\\"!==e;if(/[\\\\w_\\\\d\\\\s]/.test(e)||t){for(;M(s););return o=ow,i}return s.push(e),r=e,i+1}function M(t){for(var e,r,n=0;;){if(e=iw.indexOf(t.slice(0,t.length+n).join(\\\"\\\")),r=iw[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\\\"\\\")}return m(r),h+=r.length,(s=s.slice(r.length)).length}}function A(){return/[^a-fA-F0-9]/.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function k(){return\\\".\\\"===e?(s.push(e),o=pw,r=e,i+1):/[eE]/.test(e)?(s.push(e),o=pw,r=e,i+1):\\\"x\\\"===e&&1===s.length&&\\\"0\\\"===s[0]?(o=xw,s.push(e),r=e,i+1):/[^\\\\d]/.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function T(){return\\\"f\\\"===e&&(s.push(e),r=e,i+=1),/[eE]/.test(e)?(s.push(e),r=e,i+1):\\\"-\\\"===e&&/[eE]/.test(r)?(s.push(e),r=e,i+1):/[^\\\\d]/.test(e)?(m(s.join(\\\"\\\")),o=ow,i):(s.push(e),r=e,i+1)}function S(){if(/[^\\\\d\\\\w_]/.test(e)){var t=s.join(\\\"\\\");return o=v.indexOf(t)>-1?vw:g.indexOf(t)>-1?gw:dw,m(s.join(\\\"\\\")),o=ow,i}return s.push(e),r=e,i+1}},ow=999,sw=9999,lw=0,uw=1,cw=2,hw=3,fw=4,pw=5,dw=6,gw=7,vw=8,mw=9,yw=10,xw=11,bw=[\\\"block-comment\\\",\\\"line-comment\\\",\\\"preprocessor\\\",\\\"operator\\\",\\\"integer\\\",\\\"float\\\",\\\"ident\\\",\\\"builtin\\\",\\\"keyword\\\",\\\"whitespace\\\",\\\"eof\\\",\\\"integer\\\"];var _w=function(t,e){var r=aw(e),n=[];return n=(n=n.concat(r(t))).concat(r(null))};var ww=function(t){for(var e=Array.isArray(t)?t:_w(t),r=0;r<e.length;r++){var n=e[r];if(\\\"preprocessor\\\"===n.type){var i=n.data.match(/\\\\#define\\\\s+SHADER_NAME(_B64)?\\\\s+(.+)$/);if(i&&i[2]){var a=i[1],o=i[2];return(a?$_(o):o).trim()}}}};var Mw={};!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(r){return function(r,n){var i,a,o,s,l,u,c,h,f,p=1,d=r.length,g=\\\"\\\";for(a=0;a<d;a++)if(\\\"string\\\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \\\"%s\\\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\\\"number\\\"!=typeof i&&isNaN(i))throw new TypeError(e(\\\"[sprintf] expecting number but found %T\\\",i));switch(t.number.test(s[8])&&(h=i>=0),s[8]){case\\\"b\\\":i=parseInt(i,10).toString(2);break;case\\\"c\\\":i=String.fromCharCode(parseInt(i,10));break;case\\\"d\\\":case\\\"i\\\":i=parseInt(i,10);break;case\\\"j\\\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\\\"e\\\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\\\"f\\\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\\\"g\\\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\\\"o\\\":i=(parseInt(i,10)>>>0).toString(8);break;case\\\"s\\\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"t\\\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\\\"T\\\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"u\\\":i=parseInt(i,10)>>>0;break;case\\\"v\\\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\\\"x\\\":i=(parseInt(i,10)>>>0).toString(16);break;case\\\"X\\\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||h&&!s[3]?f=\\\"\\\":(f=h?\\\"+\\\":\\\"-\\\",i=i.toString().replace(t.sign,\\\"\\\")),u=s[4]?\\\"0\\\"===s[4]?\\\"0\\\":s[4].charAt(1):\\\" \\\",c=s[6]-(f+i).length,l=s[6]&&c>0?u.repeat(c):\\\"\\\",g+=s[5]?f+i+l:\\\"0\\\"===u?f+l+i:l+f+i)}return g}(function(e){if(n[e])return n[e];var r,i=e,a=[],o=0;for(;i;){if(null!==(r=t.text.exec(i)))a.push(r[0]);else if(null!==(r=t.modulo.exec(i)))a.push(\\\"%\\\");else{if(null===(r=t.placeholder.exec(i)))throw new SyntaxError(\\\"[sprintf] unexpected placeholder\\\");if(r[2]){o|=1;var s=[],l=r[2],u=[];if(null===(u=t.key.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");for(s.push(u[1]);\\\"\\\"!==(l=l.substring(u[0].length));)if(null!==(u=t.key_access.exec(l)))s.push(u[1]);else{if(null===(u=t.index_access.exec(l)))throw new SyntaxError(\\\"[sprintf] failed to parse named argument key\\\");s.push(u[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(r)}i=i.substring(r[0].length)}return n[e]=a}(r),arguments)}function r(t,r){return e.apply(null,[t].concat(r||[]))}var n=Object.create(null);void 0!==Mw&&(Mw.sprintf=e,Mw.vsprintf=r),\\\"undefined\\\"!=typeof window&&(window.sprintf=e,window.vsprintf=r)}();var Aw=Mw.sprintf,kw=function(t,e,r){\\\"use strict\\\";var n=ww(e)||\\\"of unknown name (see npm glsl-shader-name)\\\",i=\\\"unknown type\\\";void 0!==r&&(i=r===Q_.FRAGMENT_SHADER?\\\"fragment\\\":\\\"vertex\\\");for(var a=Aw(\\\"Error compiling %s shader %s:\\\\n\\\",i,n),o=Aw(\\\"%s%s\\\",a,t),s=t.split(\\\"\\\\n\\\"),l={},u=0;u<s.length;u++){var c=s[u];if(\\\"\\\"!==c&&\\\"\\\\0\\\"!==c){var h=parseInt(c.split(\\\":\\\")[2]);if(isNaN(h))throw new Error(Aw(\\\"Could not parse error: %s\\\",c));l[h]=c}}for(var f=J_(e).split(\\\"\\\\n\\\"),u=0;u<f.length;u++)if(l[u+3]||l[u+2]||l[u+1]){var p=f[u];if(a+=p+\\\"\\\\n\\\",l[u+1]){var d=l[u+1];d=d.substr(d.split(\\\":\\\",3).join(\\\":\\\").length+1).trim(),a+=Aw(\\\"^^^ %s\\\\n\\\\n\\\",d)}}return{long:a.trim(),short:o.trim()}};var Tw=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};var Sw=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:Tw(e,t)}};var Ew={shader:function(t,e,r){return Dw(t).getShaderReference(e,r)},program:function(t,e,r,n,i){return Dw(t).getProgram(e,r,n,i)}},Cw=new(\\\"undefined\\\"==typeof WeakMap?function(){var t=Sw();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}}}:WeakMap),Lw=0;function zw(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function Pw(t){this.gl=t,this.shaders=[{},{}],this.programs={}}zw.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var Iw=Pw.prototype;function Dw(t){var e=Cw.get(t);return e||(e=new Pw(t),Cw.set(t,e)),e}function Ow(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}Iw.getShaderReference=function(t,e){var r=this.gl,n=this.shaders[t===r.FRAGMENT_SHADER|0],i=n[e];if(i&&r.isShader(i.shader))i.count+=1;else{var a=function(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var i=t.getShaderInfoLog(n);try{var a=kw(i,r,e)}catch(t){throw console.warn(\\\"Failed to format compiler error: \\\"+t),new P_(i,\\\"Error compiling shader:\\\\n\\\"+i)}throw new P_(i,a.short,a.long)}return n}(r,t,e);i=n[e]=new zw(Lw++,e,t,a,[],1,this)}return i},Iw.getProgram=function(t,e,r,n){var i=[t.id,e.id,r.join(\\\":\\\"),n.join(\\\":\\\")].join(\\\"@\\\"),a=this.programs[i];return a&&this.gl.isProgram(a)||(this.programs[i]=a=function(t,e,r,n,i){var a=t.createProgram();t.attachShader(a,e),t.attachShader(a,r);for(var o=0;o<n.length;++o)t.bindAttribLocation(a,i[o],n[o]);if(t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var s=t.getProgramInfoLog(a);throw new P_(s,\\\"Error linking program: \\\"+s)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a};var Rw=Ow.prototype;function Fw(t,e){return t.name<e.name?-1:1}Rw.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)},Rw.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},Rw.update=function(t,e,r,n){if(!e||1===arguments.length){var i=t;t=i.vertex,e=i.fragment,r=i.uniforms,n=i.attributes}var a=this,o=a.gl,s=a._vref;a._vref=Ew.shader(o,o.VERTEX_SHADER,t),s&&s.dispose(),a.vertShader=a._vref.shader;var l=this._fref;if(a._fref=Ew.shader(o,o.FRAGMENT_SHADER,e),l&&l.dispose(),a.fragShader=a._fref.shader,!r||!n){var u=o.createProgram();if(o.attachShader(u,a.fragShader),o.attachShader(u,a.vertShader),o.linkProgram(u),!o.getProgramParameter(u,o.LINK_STATUS)){var c=o.getProgramInfoLog(u);throw new P_(c,\\\"Error linking program:\\\"+c)}r=r||U_.uniforms(o,u),n=n||U_.attributes(o,u),o.deleteProgram(u)}(n=n.slice()).sort(Fw);var h,f=[],p=[],d=[];for(h=0;h<n.length;++h){var g=n[h];if(g.type.indexOf(\\\"mat\\\")>=0){for(var v=0|g.type.charAt(g.type.length-1),m=new Array(v),y=0;y<v;++y)m[y]=d.length,p.push(g.name+\\\"[\\\"+y+\\\"]\\\"),\\\"number\\\"==typeof g.location?d.push(g.location+y):Array.isArray(g.location)&&g.location.length===v&&\\\"number\\\"==typeof g.location[y]?d.push(0|g.location[y]):d.push(-1);f.push({name:g.name,type:g.type,locations:m})}else f.push({name:g.name,type:g.type,locations:[d.length]}),p.push(g.name),\\\"number\\\"==typeof g.location?d.push(0|g.location):d.push(-1)}var x=0;for(h=0;h<d.length;++h)if(d[h]<0){for(;d.indexOf(x)>=0;)x+=1;d[h]=x}var b=new Array(r.length);function _(){a.program=Ew.program(o,a._vref,a._fref,p,d);for(var t=0;t<r.length;++t)b[t]=o.getUniformLocation(a.program,r[t].name)}_(),a._relink=_,a.types={uniforms:B_(r),attributes:B_(n)},a.attributes=I_(o,a,f,d),Object.defineProperty(a,\\\"uniforms\\\",N_(o,a,r,b))};var Bw=function(t,e,r,n,i){var a=new Ow(t);return a.update(e,r,n,i),a},Nw=function(t){var e=t.gl,r=S_(e,[0,0,0,1,1,0,1,1]),n=Bw(e,L_.boxVert,L_.lineFrag);return new jw(t,r,n)};function jw(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var Vw,Uw,qw=jw.prototype;function Hw(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function Gw(t,e,r,n){return new Function([Hw(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),Hw(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}qw.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},qw.drawBox=(Vw=[0,0],Uw=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,s=a.gl;Vw[0]=t,Vw[1]=e,Uw[0]=r,Uw[1]=n,o.uniforms.lo=Vw,o.uniforms.hi=Uw,o.uniforms.color=i,s.drawArrays(s.TRIANGLE_STRIP,0,4)}),qw.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var Ww={ge:Gw(\\\">=\\\",!1,\\\"GE\\\"),gt:Gw(\\\">\\\",!1,\\\"GT\\\"),lt:Gw(\\\"<\\\",!0,\\\"LT\\\"),le:Gw(\\\"<=\\\",!0,\\\"LE\\\"),eq:Gw(\\\"-\\\",!0,\\\"EQ\\\",!0)};function Yw(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function Xw(t,e,r,n){return new Function([Yw(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),Yw(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}var Zw={ge:Xw(\\\">=\\\",!1,\\\"GE\\\"),gt:Xw(\\\">\\\",!1,\\\"GT\\\"),lt:Xw(\\\"<\\\",!0,\\\"LT\\\"),le:Xw(\\\"<=\\\",!0,\\\"LE\\\"),eq:Xw(\\\"-\\\",!0,\\\"EQ\\\",!0)},Jw=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.gridVert,L_.gridFrag),i=Bw(e,L_.tickVert,L_.gridFrag);return new Kw(t,r,n,i)};function Kw(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function Qw(t,e){return t-e}var $w,tM,eM,rM,nM,iM=Kw.prototype;iM.draw=($w=[0,0],tM=[0,0],eM=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,u=t.gridLineColor,c=t.gridLineEnable,h=t.pixelRatio,f=0;f<2;++f){var p=a[f],d=a[f+2]-p,g=.5*(o[f+2]+o[f]),v=o[f+2]-o[f];tM[f]=2*d/v,$w[f]=2*(p-g)/v}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=$w,r.uniforms.dataScale=tM;var m=0;for(f=0;f<2;++f){eM[0]=eM[1]=0,eM[f]=1,r.uniforms.dataAxis=eM,r.uniforms.lineWidth=l[f]/(s[f+2]-s[f])*h,r.uniforms.color=u[f];var y=6*n[f].length;c[f]&&y&&i.drawArrays(i.TRIANGLES,m,y),m+=y}}),iM.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],a=[0,0];return function(){for(var o=this.plot,s=this.vbo,l=this.tickShader,u=this.ticks,c=o.gl,h=o._tickBounds,f=o.dataBox,p=o.viewBox,d=o.pixelRatio,g=o.screenBox,v=g[2]-g[0],m=g[3]-g[1],y=p[2]-p[0],x=p[3]-p[1],b=0;b<2;++b){var _=h[b],w=h[b+2]-_,M=.5*(f[b+2]+f[b]),A=f[b+2]-f[b];e[b]=2*w/A,t[b]=2*(_-M)/A}e[0]*=y/v,t[0]*=y/v,e[1]*=x/m,t[1]*=x/m,l.bind(),s.bind(),l.attributes.dataCoord.pointer();var k=l.uniforms;k.dataShift=t,k.dataScale=e;var T=o.tickMarkLength,S=o.tickMarkWidth,E=o.tickMarkColor,C=6*u[0].length,L=Math.min(Zw.ge(u[0],(f[0]-h[0])/(h[2]-h[0]),Qw),u[0].length),z=Math.min(Zw.gt(u[0],(f[2]-h[0])/(h[2]-h[0]),Qw),u[0].length),P=0+6*L,I=6*Math.max(0,z-L),D=Math.min(Zw.ge(u[1],(f[1]-h[1])/(h[3]-h[1]),Qw),u[1].length),O=Math.min(Zw.gt(u[1],(f[3]-h[1])/(h[3]-h[1]),Qw),u[1].length),R=C+6*D,F=6*Math.max(0,O-D);i[0]=2*(p[0]-T[1])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[1]*d/v,a[1]=S[1]*d/m,F&&(k.color=E[1],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[1]-T[0])/m-1,a[0]=S[0]*d/v,a[1]=T[0]*d/m,I&&(k.color=E[0],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I)),i[0]=2*(p[2]+T[3])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[3]*d/v,a[1]=S[3]*d/m,F&&(k.color=E[3],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[3]+T[2])/m-1,a[0]=S[2]*d/v,a[1]=T[2]*d/m,I&&(k.color=E[2],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I))}}(),iM.update=(rM=[1,1,-1,-1,1,-1],nM=[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)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],u=r[o],c=r[o+2],h=0;h<l.length;++h){var f=(l[h].x-u)/(c-u);s.push(f);for(var p=0;p<6;++p)n[i++]=f,n[i++]=rM[p],n[i++]=nM[p]}this.ticks=a,this.vbo.update(n)}),iM.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()};var aM=function(t){var e=t.gl,r=S_(e,[-1,-1,-1,1,1,-1,1,1]),n=Bw(e,L_.lineVert,L_.lineFrag);return new oM(t,r,n)};function oM(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var sM,lM,uM=oM.prototype;uM.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},uM.drawLine=(sM=[0,0],lM=[0,0],function(t,e,r,n,i,a){var o=this.plot,s=this.shader,l=o.gl;sM[0]=t,sM[1]=e,lM[0]=r,lM[1]=n,s.uniforms.start=sM,s.uniforms.end=lM,s.uniforms.width=i*o.pixelRatio,s.uniforms.color=a,l.drawArrays(l.TRIANGLE_STRIP,0,4)}),uM.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var cM=function(t,e,r){var n=t*e,i=hM*t,a=i-(i-t),o=t-a,s=hM*e,l=s-(s-e),u=e-l,c=o*u-(n-a*l-o*l-a*u);if(r)return r[0]=c,r[1]=n,r;return[c,n]},hM=+(Math.pow(2,27)+1);var fM=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]};var pM=function(t,e){var r=t.length;if(1===r){var n=cM(t[0],e);return n[0]?n:[n[1]]}var i=new Array(2*r),a=[.1,.1],o=[.1,.1],s=0;cM(t[0],e,a),a[0]&&(i[s++]=a[0]);for(var l=1;l<r;++l){cM(t[l],e,o);var u=a[1];fM(u,o[0],a),a[0]&&(i[s++]=a[0]);var c=o[1],h=a[1],f=c+h,p=f-c,d=h-p;a[1]=f,d&&(i[s++]=d)}a[1]&&(i[s++]=a[1]);0===s&&(i[s++]=0);return i.length=s,i};var dM=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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=-e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=-e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=-e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var gM=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,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var vM={},mM=6;function yM(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function xM(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(\\\",xM(t.slice(0,e)),\\\",\\\",xM(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function bM(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 bM(e,t)}function _M(t){if(2===t.length)return[[\\\"diff(\\\",bM(t[0][0],t[1][1]),\\\",\\\",bM(t[1][0],t[0][1]),\\\")\\\"].join(\\\"\\\")];for(var e=[],r=0;r<t.length;++r)e.push([\\\"scale(\\\",xM(_M(yM(t,r))),\\\",\\\",(n=r,!0&n?\\\"-\\\":\\\"\\\"),t[0][r],\\\")\\\"].join(\\\"\\\"));return e;var n}function wM(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\\\"prod(m\\\",t,\\\"[\\\",n,\\\"],m\\\",t,\\\"[\\\",n,\\\"])\\\"].join(\\\"\\\"));return xM(r)}function MM(t){for(var e=[],r=[],n=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),i=0;i<t;++i)n[0][i]=\\\"1\\\",n[t-1][i]=\\\"w\\\"+i;for(i=0;i<t;++i)0==(1&i)?e.push.apply(e,_M(yM(n,i))):r.push.apply(r,_M(yM(n,i)));var a=xM(e),o=xM(r),s=\\\"exactInSphere\\\"+t,l=[];for(i=0;i<t;++i)l.push(\\\"m\\\"+i);var u=[\\\"function \\\",s,\\\"(\\\",l.join(),\\\"){\\\"];for(i=0;i<t;++i){u.push(\\\"var w\\\",i,\\\"=\\\",wM(i,t),\\\";\\\");for(var c=0;c<t;++c)c!==i&&u.push(\\\"var w\\\",i,\\\"m\\\",c,\\\"=scale(w\\\",i,\\\",m\\\",c,\\\"[0]);\\\")}return u.push(\\\"var p=\\\",a,\\\",n=\\\",o,\\\",d=diff(p,n);return d[d.length-1];}return \\\",s),new Function(\\\"sum\\\",\\\"diff\\\",\\\"prod\\\",\\\"scale\\\",u.join(\\\"\\\"))(gM,dM,cM,pM)}var AM=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;AM.length<=mM;)AM.push(MM(AM.length));for(var t=[],e=[\\\"slow\\\"],r=0;r<=mM;++r)t.push(\\\"a\\\"+r),e.push(\\\"o\\\"+r);var n=[\\\"function testInSphere(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(r=2;r<=mM;++r)n.push(\\\"case \\\",r,\\\":return o\\\",r,\\\"(\\\",t.slice(0,r).join(),\\\");\\\");n.push(\\\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\\\"),e.push(n.join(\\\"\\\"));var i=Function.apply(void 0,e);for(vM=i.apply(void 0,[function(t){var e=AM[t.length];return e||(e=AM[t.length]=MM(t.length)),e.apply(void 0,t)}].concat(AM)),r=0;r<=mM;++r)vM[r]=AM[r]}();var kM=vM[4],TM=function(t,e){for(var r=[],n=t.length,i=e.stars,a=0;a<n;++a)for(var o=i[a],s=1;s<o.length;s+=2){var l=o[s];if(!(l<a)&&!e.isConstraint(a,l)){for(var u=o[s-1],c=-1,h=1;h<o.length;h+=2)if(o[h-1]===l){c=o[h];break}c<0||kM(t[a],t[l],t[u],t[c])<0&&r.push(a,l)}}for(;r.length>0;){for(var l=r.pop(),a=r.pop(),u=-1,c=-1,o=i[a],f=1;f<o.length;f+=2){var p=o[f-1],d=o[f];p===l?c=d:d===l&&(u=p)}u<0||c<0||(kM(t[a],t[l],t[u],t[c])>=0||(e.flip(a,l),SM(t,e,r,u,a,c),SM(t,e,r,a,c,u),SM(t,e,r,c,l,u),SM(t,e,r,l,u,c)))}};function SM(t,e,r,n,i,a){var o=e.opposite(n,i);if(!(o<0)){if(i<n){var s=n;n=i,i=s,s=a,a=o,o=s}e.isConstraint(n,i)||kM(t[n],t[i],t[a],t[o])<0&&r.push(n,i)}}var EM,CM=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var a=r[i],o=a[0],s=a[1],l=a[2];s<l?s<o&&(a[0]=s,a[1]=l,a[2]=o):l<o&&(a[0]=l,a[1]=o,a[2]=s)}r.sort(zM);for(var u=new Array(n),i=0;i<u.length;++i)u[i]=0;var c=[],h=[],f=new Array(3*n),p=new Array(3*n),d=null;e&&(d=[]);for(var g=new LM(r,f,p,u,c,h,d),i=0;i<n;++i)for(var a=r[i],v=0;v<3;++v){var o=a[v],s=a[(v+1)%3],m=f[3*i+v]=g.locate(s,o,t.opposite(s,o)),y=p[3*i+v]=t.isConstraint(o,s);m<0&&(y?h.push(i):(c.push(i),u[i]=1),e&&d.push([s,o,-1]))}return g}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,a=n.active,o=n.next,s=n.flags,l=n.cells,u=n.constraint,c=n.neighbor;for(;a.length>0||o.length>0;){for(;a.length>0;){var h=a.pop();if(s[h]!==-i){s[h]=i;l[h];for(var f=0;f<3;++f){var p=c[3*h+f];p>=0&&0===s[p]&&(u[3*h+f]?o.push(p):(a.push(p),s[p]=i))}}}var d=o;o=a,a=d,o.length=0,i=-i}var g=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(l,s,e);if(r)return g.concat(n.boundary);return g};function LM(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function zM(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}LM.prototype.locate=(EM=[0,0,0],function(t,e,r){var n=t,i=e,a=r;return e<r?e<t&&(n=e,i=r,a=t):r<t&&(n=r,i=t,a=e),n<0?-1:(EM[0]=n,EM[1]=i,EM[2]=a,Ww.eq(this.cells,EM,zM))});var PM={},IM=5;function DM(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function OM(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(\\\",OM(t.slice(0,e)),\\\",\\\",OM(t.slice(e)),\\\")\\\"].join(\\\"\\\")}function RM(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(\\\",OM(RM(DM(t,r))),\\\",\\\",(n=r,1&n?\\\"-\\\":\\\"\\\"),t[0][r],\\\")\\\"].join(\\\"\\\"));return e;var n}function FM(t){for(var e=[],r=[],n=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),i=[],a=0;a<t;++a)0==(1&a)?e.push.apply(e,RM(DM(n,a))):r.push.apply(r,RM(DM(n,a))),i.push(\\\"m\\\"+a);var o=OM(e),s=OM(r),l=\\\"orientation\\\"+t+\\\"Exact\\\",u=[\\\"function \\\",l,\\\"(\\\",i.join(),\\\"){var p=\\\",o,\\\",n=\\\",s,\\\",d=sub(p,n);return d[d.length-1];};return \\\",l].join(\\\"\\\");return new Function(\\\"sum\\\",\\\"prod\\\",\\\"scale\\\",\\\"sub\\\",u)(gM,cM,pM,dM)}var BM=FM(3),NM=FM(4),jM=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:BM(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],p=a*u,d=o*l,g=o*s,v=i*u,m=i*l,y=a*s,x=c*(p-d)+h*(g-v)+f*(m-y),b=7.771561172376103e-16*((Math.abs(p)+Math.abs(d))*Math.abs(c)+(Math.abs(g)+Math.abs(v))*Math.abs(h)+(Math.abs(m)+Math.abs(y))*Math.abs(f));return x>b||-x>b?x:NM(t,e,r,n)}];!function(){for(;jM.length<=IM;)jM.push(FM(jM.length));for(var t=[],e=[\\\"slow\\\"],r=0;r<=IM;++r)t.push(\\\"a\\\"+r),e.push(\\\"o\\\"+r);var n=[\\\"function getOrientation(\\\",t.join(),\\\"){switch(arguments.length){case 0:case 1:return 0;\\\"];for(r=2;r<=IM;++r)n.push(\\\"case \\\",r,\\\":return o\\\",r,\\\"(\\\",t.slice(0,r).join(),\\\");\\\");n.push(\\\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\\\"),e.push(n.join(\\\"\\\"));var i=Function.apply(void 0,e);for(PM=i.apply(void 0,[function(t){var e=jM[t.length];return e||(e=jM[t.length]=FM(t.length)),e.apply(void 0,t)}].concat(jM)),r=0;r<=IM;++r)PM[r]=jM[r]}();var VM=PM[3],UM=0,qM=1,HM=2,GM=function(t,e){for(var r=t.length,n=e.length,i=[],a=0;a<r;++a)i.push(new YM(t[a],null,UM,a));for(var a=0;a<n;++a){var o=e[a],s=t[o[0]],l=t[o[1]];s[0]<l[0]?i.push(new YM(s,l,HM,a),new YM(l,s,qM,a)):s[0]>l[0]&&i.push(new YM(l,s,HM,a),new YM(s,l,qM,a))}i.sort(XM);for(var u=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),c=[new WM([u,1],[u,0],-1,[],[],[],[])],h=[],a=0,f=i.length;a<f;++a){var p=i[a],d=p.type;d===UM?JM(h,c,t,p.a,p.idx):d===HM?QM(c,t,p):$M(c,t,p)}return h};function WM(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function YM(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function XM(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==UM&&(r=VM(t.a,t.b,e.b))?r:t.idx-e.idx)}function ZM(t,e){return VM(t.a,t.b,e)}function JM(t,e,r,n,i){for(var a=Ww.lt(e,n,ZM),o=Ww.gt(e,n,ZM),s=a;s<o;++s){for(var l=e[s],u=l.lowerIds,c=u.length;c>1&&VM(r[u[c-2]],r[u[c-1]],n)>0;)t.push([u[c-1],u[c-2],i]),c-=1;u.length=c,u.push(i);var h=l.upperIds;for(c=h.length;c>1&&VM(r[h[c-2]],r[h[c-1]],n)<0;)t.push([h[c-2],h[c-1],i]),c-=1;h.length=c,h.push(i)}}function KM(t,e){var r;return(r=t.a[0]<e.a[0]?VM(t.a,t.b,e.a):VM(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?VM(t.a,t.b,e.b):VM(e.b,e.a,t.b))||t.idx-e.idx}function QM(t,e,r){var n=Ww.le(t,r,KM),i=t[n],a=i.upperIds,o=a[a.length-1];i.upperIds=[o],t.splice(n+1,0,new WM(r.a,r.b,r.idx,[o],a))}function $M(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=Ww.eq(t,r,KM),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var tA=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new eA(r,e)};function eA(t,e){this.stars=t,this.edges=e}var rA=eA.prototype;function nA(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}rA.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,n){return t[0]=Math.min(r,n),t[1]=Math.max(r,n),Ww.eq(this.edges,t,e)>=0}}(),rA.removeTriangle=function(t,e,r){var n=this.stars;nA(n[t],e,r),nA(n[e],r,t),nA(n[r],t,e)},rA.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},rA.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},rA.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)},rA.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},rA.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e};var iA=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!sA(r,\\\"delaunay\\\",!0),i=!!sA(r,\\\"interior\\\",!0),a=!!sA(r,\\\"exterior\\\",!0),o=!!sA(r,\\\"infinity\\\",!1);if(!i&&!a||0===t.length)return[];var s=GM(t,e);if(n||i!==a||o){for(var l=tA(t.length,function(t){return t.map(aA).sort(oA)}(e)),u=0;u<s.length;++u){var c=s[u];l.addTriangle(c[0],c[1],c[2])}return n&&TM(t,l),a?i?o?CM(l,0,o):l.cells():CM(l,1,o):CM(l,-1)}return s};function aA(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function oA(t,e){return t[0]-e[0]||t[1]-e[1]}function sA(t,e,r){return e in t?t[e]:r}var lA=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))};var uA={},cA={exports:{}};!function(t,e){\\\"use strict\\\";function r(t,e){if(!t)throw new Error(e||\\\"Assertion failed\\\")}function n(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 a;\\\"object\\\"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{a=uA.Buffer}catch(t){}function o(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function s(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}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,n){if(\\\"number\\\"==typeof t)return this._initNumber(t,e,n);if(\\\"object\\\"==typeof t)return this._initArray(t,e,n);\\\"hex\\\"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;\\\"-\\\"===(t=t.toString().replace(/\\\\s+/g,\\\"\\\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\\\"-\\\"===t[0]&&(this.negative=1),this.strip(),\\\"le\\\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){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):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\\\"le\\\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r(\\\"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 i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\\\"be\\\"===n)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\\\"le\\\"===n)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);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,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=o(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=o(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,l=Math.min(a,a-o)+r,u=0,c=r;c<l;c+=n)u=s(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==o){var h=1;for(u=s(t,c,t.length,e),c=0;c<o;c++)h*=e;this.imuln(h),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},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 l=[\\\"\\\",\\\"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],c=[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 h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,h=67108863&l,f=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=f;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[u]=0|h,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(t=t||10,e=0|e||1,16===t||\\\"hex\\\"===t){n=\\\"\\\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],h=(16777215&(s<<i|a)).toString(16);n=0!==(a=s>>>24-i&16777215)||o!==this.length-1?l[6-h.length]+h+n:h+n,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(n=a.toString(16)+n);n.length%e!=0;)n=\\\"0\\\"+n;return 0!==this.negative&&(n=\\\"-\\\"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=c[t];n=\\\"\\\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);n=(d=d.idivn(p)).isZero()?g+n:l[f-g.length]+g+n}for(this.isZero()&&(n=\\\"0\\\"+n);n.length%e!=0;)n=\\\"0\\\"+n;return 0!==this.negative&&(n=\\\"-\\\"+n),n}r(!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&&r(!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 r(void 0!==a),this.toArrayLike(a,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),a=n||Math.max(1,i);r(i<=a,\\\"byte array longer than desired length\\\"),r(a>0,\\\"Requested array length <= 0\\\"),this.strip();var o,s,l=\\\"le\\\"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},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 r(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 r(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 r(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){r(\\\"number\\\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r(\\\"number\\\"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),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 i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];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,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&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 f=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,u=0,c=0|o[0],h=8191&c,f=c>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],M=8191&w,A=w>>>13,k=0|o[5],T=8191&k,S=k>>>13,E=0|o[6],C=8191&E,L=E>>>13,z=0|o[7],P=8191&z,I=z>>>13,D=0|o[8],O=8191&D,R=D>>>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,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,ft=ct>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(h,V))|0)+((8191&(i=(i=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;u=((a=Math.imul(f,U))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var mt=(u+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;u=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),i=(i=Math.imul(m,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(u+(n=n+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(f,Y)|0))<<13)|0;u=((a=a+Math.imul(f,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(m,H)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(u+(n=n+Math.imul(h,J)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;u=((a=a+Math.imul(f,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(M,V),i=(i=Math.imul(M,U))+Math.imul(A,V)|0,a=Math.imul(A,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(m,Y)|0,i=(i=i+Math.imul(m,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(u+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;u=((a=a+Math.imul(f,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(A,H)|0,a=a+Math.imul(A,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(u+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((a=a+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(u+(n=n+Math.imul(h,at)|0)|0)+((8191&(i=(i=i+Math.imul(h,ot)|0)+Math.imul(f,at)|0))<<13)|0;u=((a=a+Math.imul(f,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(I,V)|0,a=Math.imul(I,U),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,J)|0,a=a+Math.imul(A,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var Mt=(u+(n=n+Math.imul(h,lt)|0)|0)+((8191&(i=(i=i+Math.imul(h,ut)|0)+Math.imul(f,lt)|0))<<13)|0;u=((a=a+Math.imul(f,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,V),i=(i=Math.imul(O,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(A,$)|0,a=a+Math.imul(A,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(m,at)|0,i=(i=i+Math.imul(m,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ut)|0;var At=(u+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;u=((a=a+Math.imul(f,ft)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,V),i=(i=Math.imul(B,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(A,rt)|0,a=a+Math.imul(A,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,i=(i=i+Math.imul(m,ut)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ut)|0,n=n+Math.imul(d,ht)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,a=a+Math.imul(g,ft)|0;var kt=(u+(n=n+Math.imul(h,dt)|0)|0)+((8191&(i=(i=i+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;u=((a=a+Math.imul(f,gt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(A,at)|0,a=a+Math.imul(A,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(m,ht)|0,i=(i=i+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,a=a+Math.imul(y,ft)|0;var Tt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;u=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(A,lt)|0,a=a+Math.imul(A,ut)|0,n=n+Math.imul(b,ht)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,a=a+Math.imul(_,ft)|0;var St=(u+(n=n+Math.imul(m,dt)|0)|0)+((8191&(i=(i=i+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;u=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(A,ht)|0,a=a+Math.imul(A,ft)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ut)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,gt)|0)+Math.imul(A,dt)|0))<<13)|0;u=((a=a+Math.imul(A,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,a=a+Math.imul(L,ft)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(I,ht)|0,a=a+Math.imul(I,ft)|0;var zt=(u+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;u=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(O,ht)|0,i=(i=i+Math.imul(O,ft)|0)+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ht),i=(i=Math.imul(B,ft))+Math.imul(N,ht)|0,a=Math.imul(N,ft);var It=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,gt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,gt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=At,l[9]=kt,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function p(t,e,r){return(new d).mulp(t,e,r)}function d(t,e){this.x=t,this.y=e}Math.imul||(f=h),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):r<63?h(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,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),u=Math.max(0,a-t.length+1);u<=l;u++){var c=a-u,h=(0|t.words[c])*(0|e.words[u]),f=67108863&h;s=67108863&(f=f+s|0),i+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},d.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},d.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},d.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},d.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=l,f=u,p=0;p<o;p++){var d=r[c+p],g=n[c+p],v=r[c+p+o],m=n[c+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[c+p]=d+v,n[c+p]=g+m,r[c+p+o]=d-v,n[c+p+o]=g-m,p!==s&&(y=l*h-u*f,f=l*f+u*h,h=y)}},d.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},d.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},d.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},d.prototype.convert13b=function(t,e,n,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],n[2*o]=8191&a,a>>>=13,n[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)n[o]=0;r(0===a),r(0==(-8192&a))},d.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},d.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=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,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,h,n,i);for(var p=0;p<n;p++){var d=s[p]*c[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*c[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,a,n,i),this.conjugate(f,a,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),p(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){r(\\\"number\\\"==typeof t),r(t<67108864);for(var e=0,n=0;n<this.length;n++){var i=(0|this.words[n])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[n]=67108863&a}return 0!==e&&(this.words[n]=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,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}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){r(\\\"number\\\"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<n;this.words[e]=l|o,o=s>>>26-n}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r(\\\"number\\\"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=n;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|this.words[u];this.words[u]=c<<26-a|h>>>a,c=h&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},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){r(\\\"number\\\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n)&&!!(this.words[n]&i)},i.prototype.imaskn=function(t){r(\\\"number\\\"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,\\\"imaskn works only with positive numbers\\\"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r(\\\"number\\\"==typeof t),r(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(r(\\\"number\\\"==typeof t),r(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,n){var i,a,o=t.length+n;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+n])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+n]=67108863&a}for(;i<this.length-n;i++)s=(a=(0|this.words[i+n])+s)>>26,this.words[i+n]=67108863&a;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;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 u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(a,1,l);0===c.negative&&(n=c,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,n){return r(!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(),n&&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(),n&&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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=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),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var c=n.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(c),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(n.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(n.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s),o.isub(l)):(n.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(n.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(n.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s)):(n.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||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){r(\\\"number\\\"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var a=i,o=n;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,\\\"Number is too big\\\");var i=0|this.words[0];e=i===t?0:i<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],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(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 _(t)},i.prototype.toRed=function(t){return r(!this.red,\\\"Already a number in reduction context\\\"),r(0===this.negative,\\\"red works only with positives\\\"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(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 r(!this.red,\\\"Already a number in reduction context\\\"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,\\\"redAdd works only with red numbers\\\"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,\\\"redIAdd works only with red numbers\\\"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,\\\"redSub works only with red numbers\\\"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,\\\"redISub works only with red numbers\\\"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,\\\"redShl works only with red numbers\\\"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,\\\"redMul works only with red numbers\\\"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,\\\"redSqr works only with red numbers\\\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,\\\"redISqr works only with red numbers\\\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,\\\"redSqrt works only with red numbers\\\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,\\\"redInvm works only with red numbers\\\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,\\\"redNeg works only with red numbers\\\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,\\\"redPow(normalNum)\\\"),this.red._verify1(this),this.red.pow(this,t)};var g={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 m(){v.call(this,\\\"k256\\\",\\\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\\\")}function y(){v.call(this,\\\"p224\\\",\\\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\\\")}function x(){v.call(this,\\\"p192\\\",\\\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\\\")}function b(){v.call(this,\\\"25519\\\",\\\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\\\")}function _(t){if(\\\"string\\\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),\\\"modulus must be greater than 1\\\"),this.m=t,this.prime=null}function w(t){_.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)},n(m,v),m.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 i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},m.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},n(y,v),n(x,v),n(b,v),b.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(g[t])return g[t];var e;if(\\\"k256\\\"===t)e=new m;else if(\\\"p224\\\"===t)e=new y;else if(\\\"p192\\\"===t)e=new x;else{if(\\\"p25519\\\"!==t)throw new Error(\\\"Unknown prime \\\"+t);e=new b}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,\\\"red works only with positives\\\"),r(t.red,\\\"red works only with red numbers\\\")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),\\\"red works only with positives\\\"),r(t.red&&t.red===e.red,\\\"red works only with red numbers\\\")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.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)},_.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},_.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)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);r(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var h=this.pow(c,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,v=0;0!==g.cmp(s);v++)g=g.redSqr();r(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.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 u=e.words[n],c=l-1;c>=0;c--){var h=u>>c&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new w(t)},n(w,_),w.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},w.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},w.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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},w.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)},w.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(cA,this),cA=cA.exports;var hA=function(t){return t.cmp(new cA(0))};var fA={};(function(t){var e=!1;if(\\\"undefined\\\"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);if(r[0]=1,e=!0,1072693248===n[1]){(fA=function(t){return r[0]=t,[n[0],n[1]]}).pack=function(t,e){return n[0]=t,n[1]=e,r[0]},fA.lo=function(t){return r[0]=t,n[0]},fA.hi=function(t){return r[0]=t,n[1]}}else if(1072693248===n[0]){(fA=function(t){return r[0]=t,[n[1],n[0]]}).pack=function(t,e){return n[1]=t,n[0]=e,r[0]},fA.lo=function(t){return r[0]=t,n[1]},fA.hi=function(t){return r[0]=t,n[0]}}else e=!1}if(!e){var i=new t(8);(fA=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]}).pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},fA.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},fA.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}fA.sign=function(t){return fA.hi(t)>>>31},fA.exponent=function(t){return(fA.hi(t)<<1>>>21)-1023},fA.fraction=function(t){var e=fA.lo(t),r=fA.hi(t),n=1048575&r;return 2146435072&r&&(n+=1<<20),[e,n]},fA.denormalized=function(t){return!(2146435072&fA.hi(t))}}).call(this,Rb.Buffer);var pA=function(t){var e=fA.exponent(t);return e<52?new cA(t):new cA(t*Math.pow(2,52-e)).ushln(e-52)};var dA=function(t,e){var r=hA(t),n=hA(e);if(0===r)return[pA(0),pA(1)];if(0===n)return[pA(0),pA(0)];n<0&&(t=t.neg(),e=e.neg());var i=t.gcd(e);if(i.cmpn(1))return[t.div(i),e.div(i)];return[t,e]};var gA=function(t,e){return dA(t[0].mul(e[1]),t[1].mul(e[0]))};var vA=function(t){return t&&\\\"object\\\"==typeof t&&Boolean(t.words)};var mA=function(t){return Array.isArray(t)&&2===t.length&&vA(t[0])&&vA(t[1])};var yA=function(t){return new cA(t)};var xA=function t(e,r){if(mA(e))return r?gA(e,t(r)):[e[0].clone(),e[1].clone()];var n=0;var i,a;if(vA(e))i=e.clone();else if(\\\"string\\\"==typeof e)i=yA(e);else{if(0===e)return[pA(0),pA(1)];if(e===Math.floor(e))i=pA(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),n-=256;i=pA(e)}}if(mA(r))i.mul(r[1]),a=r[0].clone();else if(vA(r))a=r.clone();else if(\\\"string\\\"==typeof r)a=yA(r);else if(r)if(r===Math.floor(r))a=pA(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),n+=256;a=pA(r)}else a=pA(1);n>0?i=i.ushln(n):n<0&&(a=a.ushln(-n));return dA(i,a)};var bA=function(t){var e=t.length,r=t.words,n=0;if(1===e)n=r[0];else if(2===e)n=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var a=r[i];n+=a*Math.pow(67108864,i)}return hA(t)*n};var _A=Mb.countTrailingZeros,wA=function(t){var e=_A(fA.lo(t));if(e<32)return e;var r=_A(fA.hi(t));if(r>20)return 52;return r+32};var MA=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.abs().divmod(r.abs()),i=n.div,a=bA(i),o=n.mod,s=e.negative!==r.negative?-1:1;if(0===o.cmpn(0))return s*a;if(a){var l=wA(a)+4,u=bA(o.ushln(l).divRound(r));return s*(a+u*Math.pow(2,-l))}var c=r.bitLength()-o.bitLength()+53,u=bA(o.ushln(c).divRound(r));return c<1023?s*u*Math.pow(2,-c):(u*=Math.pow(2,-1023),s*u*Math.pow(2,1023-c))};var AA={},kA=\\\"d\\\",TA=\\\"ax\\\",SA=\\\"vv\\\",EA=\\\"fp\\\",CA=\\\"es\\\",LA=\\\"rs\\\",zA=\\\"re\\\",PA=\\\"rb\\\",IA=\\\"ri\\\",DA=\\\"rp\\\",OA=\\\"bs\\\",RA=\\\"be\\\",FA=\\\"bb\\\",BA=\\\"bi\\\",NA=\\\"bp\\\",jA=\\\"rv\\\",VA=\\\"Q\\\",UA=[kA,TA,SA,LA,zA,PA,IA,OA,RA,FA,BA];function qA(t){var e=\\\"bruteForce\\\"+(t?\\\"Full\\\":\\\"Partial\\\"),r=[],n=UA.slice();t||n.splice(3,0,EA);var i=[\\\"function \\\"+e+\\\"(\\\"+n.join()+\\\"){\\\"];function a(e,n){var a=function(t,e,r){var n=\\\"bruteForce\\\"+(t?\\\"Red\\\":\\\"Blue\\\")+(e?\\\"Flip\\\":\\\"\\\")+(r?\\\"Full\\\":\\\"\\\"),i=[\\\"function \\\",n,\\\"(\\\",UA.join(),\\\"){\\\",\\\"var \\\",CA,\\\"=2*\\\",kA,\\\";\\\"],a=\\\"for(var i=\\\"+LA+\\\",\\\"+DA+\\\"=\\\"+CA+\\\"*\\\"+LA+\\\";i<\\\"+zA+\\\";++i,\\\"+DA+\\\"+=\\\"+CA+\\\"){var x0=\\\"+PA+\\\"[\\\"+TA+\\\"+\\\"+DA+\\\"],x1=\\\"+PA+\\\"[\\\"+TA+\\\"+\\\"+DA+\\\"+\\\"+kA+\\\"],xi=\\\"+IA+\\\"[i];\\\",o=\\\"for(var j=\\\"+OA+\\\",\\\"+NA+\\\"=\\\"+CA+\\\"*\\\"+OA+\\\";j<\\\"+RA+\\\";++j,\\\"+NA+\\\"+=\\\"+CA+\\\"){var y0=\\\"+FA+\\\"[\\\"+TA+\\\"+\\\"+NA+\\\"],\\\"+(r?\\\"y1=\\\"+FA+\\\"[\\\"+TA+\\\"+\\\"+NA+\\\"+\\\"+kA+\\\"],\\\":\\\"\\\")+\\\"yi=\\\"+BA+\\\"[j];\\\";return t?i.push(a,VA,\\\":\\\",o):i.push(o,VA,\\\":\\\",a),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=\\\"+TA+\\\"+1;k<\\\"+kA+\\\";++k){var r0=\\\"+PA+\\\"[k+\\\"+DA+\\\"],r1=\\\"+PA+\\\"[k+\\\"+kA+\\\"+\\\"+DA+\\\"],b0=\\\"+FA+\\\"[k+\\\"+NA+\\\"],b1=\\\"+FA+\\\"[k+\\\"+kA+\\\"+\\\"+NA+\\\"];if(r1<b0||b1<r0)continue \\\"+VA+\\\";}var \\\"+jA+\\\"=\\\"+SA+\\\"(\\\"),e?i.push(\\\"yi,xi\\\"):i.push(\\\"xi,yi\\\"),i.push(\\\");if(\\\"+jA+\\\"!==void 0)return \\\"+jA+\\\";}}}\\\"),{name:n,code:i.join(\\\"\\\")}}(e,n,t);r.push(a.code),i.push(\\\"return \\\"+a.name+\\\"(\\\"+UA.join()+\\\");\\\")}i.push(\\\"if(\\\"+zA+\\\"-\\\"+LA+\\\">\\\"+RA+\\\"-\\\"+OA+\\\"){\\\"),t?(a(!0,!1),i.push(\\\"}else{\\\"),a(!1,!1)):(i.push(\\\"if(\\\"+EA+\\\"){\\\"),a(!0,!0),i.push(\\\"}else{\\\"),a(!0,!1),i.push(\\\"}}else{if(\\\"+EA+\\\"){\\\"),a(!1,!0),i.push(\\\"}else{\\\"),a(!1,!1),i.push(\\\"}\\\")),i.push(\\\"}}return \\\"+e);var o=r.join(\\\"\\\")+i.join(\\\"\\\");return new Function(o)()}AA.partial=qA(!1),AA.full=qA(!0);var HA=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(GA.replace(\\\"_\\\",n.join()).replace(\\\"$\\\",t)),Function.apply(void 0,r)},GA=\\\"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\\\";var WA=function(t,e,r,n,i,a){if(n<=r+1)return r;var o=r,s=n,l=n+r>>>1,u=2*t,c=l,h=i[u*l+e];for(;o<s;){if(s-o<XA){ZA(t,e,o,s,i,a),h=i[u*l+e];break}var f=s-o,p=Math.random()*f+o|0,d=i[u*p+e],g=Math.random()*f+o|0,v=i[u*g+e],m=Math.random()*f+o|0,y=i[u*m+e];d<=v?y>=v?(c=g,h=v):d>=y?(c=p,h=d):(c=m,h=y):v>=y?(c=g,h=v):y>=d?(c=p,h=d):(c=m,h=y);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];a[s-1]=a[c],a[c]=M,c=YA(t,e,o,s-1,i,a,h);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];if(a[s-1]=a[c],a[c]=M,l<c){for(s=c-1;o<s&&i[u*(s-1)+e]===h;)s-=1;s+=1}else{if(!(c<l))break;for(o=c+1;o<s&&i[u*o+e]===h;)o+=1}}return YA(t,e,r,l,i,a,i[u*l+e])},YA=HA(\\\"lo<p0\\\",[\\\"p0\\\"]),XA=8;function ZA(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,h=o*(l-1);c>r&&i[h+e]>u;--c,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=i[f];i[f]=i[p],i[p]=g}var v=a[c];a[c]=a[c-1],a[c-1]=v}}var JA=function(t,e){e<=4*KA?QA(0,e-1,t):function t(e,r,n){var i=(r-e+1)/6|0,a=e+i,o=r-i,s=e+r>>1,l=s-i,u=s+i,c=a,h=l,f=s,p=u,d=o,g=e+1,v=r-1,m=0;nk(c,h,n)&&(m=c,c=h,h=m);nk(p,d,n)&&(m=p,p=d,d=m);nk(c,f,n)&&(m=c,c=f,f=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(c,p,n)&&(m=c,c=p,p=m);nk(f,p,n)&&(m=f,f=p,p=m);nk(h,d,n)&&(m=h,h=d,d=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(p,d,n)&&(m=p,p=d,d=m);var y=n[2*h];var x=n[2*h+1];var b=n[2*p];var _=n[2*p+1];var w=2*c;var M=2*f;var A=2*d;var k=2*a;var T=2*s;var S=2*o;for(var E=0;E<2;++E){var C=n[w+E],L=n[M+E],z=n[A+E];n[k+E]=C,n[T+E]=L,n[S+E]=z}tk(l,e,n);tk(u,r,n);for(var P=g;P<=v;++P)if(ik(P,y,x,n))P!==g&&$A(P,g,n),++g;else if(!ik(P,b,_,n))for(;;){if(ik(v,b,_,n)){ik(v,y,x,n)?(ek(P,g,v,n),++g,--v):($A(P,v,n),--v);break}if(--v<P)break}rk(e,g-1,y,x,n);rk(r,v+1,b,_,n);g-2-e<=KA?QA(e,g-2,n):t(e,g-2,n);r-(v+2)<=KA?QA(v+2,r,n):t(v+2,r,n);v-g<=KA?QA(g,v,n):t(g,v,n)}(0,e-1,t)},KA=32;function QA(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function $A(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function tk(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function ek(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=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]=i,n[r+1]=a}function rk(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function nk(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function ik(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}var ak={init:function(t){var e=Mb.nextPow2(t);sk.length<e&&(__.free(sk),sk=__.mallocInt32(e));lk.length<e&&(__.free(lk),lk=__.mallocInt32(e));uk.length<e&&(__.free(uk),uk=__.mallocInt32(e));ck.length<e&&(__.free(ck),ck=__.mallocInt32(e));hk.length<e&&(__.free(hk),hk=__.mallocInt32(e));fk.length<e&&(__.free(fk),fk=__.mallocInt32(e));var r=8*e;pk.length<r&&(__.free(pk),pk=__.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d],v=h*d;pk[c++]=i[v+f],pk[c++]=-(g+1),pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+ok,m=h*d;pk[c++]=l[m+f],pk[c++]=-g,pk[c++]=l[m+p],pk[c++]=g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,d=0;d<y;++d){var _=0|pk[2*d+1];if(_>=ok)dk(uk,ck,b--,_=_-ok|0);else if(_>=0)dk(sk,lk,x--,_);else if(_<=-ok){_=-_-ok|0;for(var w=0;w<x;++w){var M=e(sk[w],_);if(void 0!==M)return M}gk(uk,ck,b++,_)}else{_=-_-1|0;for(var w=0;w<b;++w){var M=e(_,uk[w]);if(void 0!==M)return M}gk(sk,lk,x++,_)}}},sweepComplete:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d]+1<<1,v=h*d;pk[c++]=i[v+f],pk[c++]=-g,pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+1<<1,m=h*d;pk[c++]=l[m+f],pk[c++]=1|-g,pk[c++]=l[m+p],pk[c++]=1|g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,_=0,d=0;d<y;++d){var w=0|pk[2*d+1],M=1&w;if(d<y-1&&w>>1==pk[2*d+3]>>1&&(M=2,d+=1),w<0){for(var A=-(w>>1)-1,k=0;k<_;++k){var T=e(hk[k],A);if(void 0!==T)return T}if(0!==M)for(var k=0;k<x;++k){var T=e(sk[k],A);if(void 0!==T)return T}if(1!==M)for(var k=0;k<b;++k){var T=e(uk[k],A);if(void 0!==T)return T}0===M?gk(sk,lk,x++,A):1===M?gk(uk,ck,b++,A):2===M&&gk(hk,fk,_++,A)}else{var A=(w>>1)-1;0===M?dk(sk,lk,x--,A):1===M?dk(uk,ck,b--,A):2===M&&dk(hk,fk,_--,A)}}},scanBipartite:function(t,e,r,n,i,a,o,s,l,u,c,h){var f=0,p=2*t,d=e,g=e+t,v=1,m=1;n?m=ok:v=ok;for(var y=i;y<a;++y){var x=y+v,b=p*y;pk[f++]=o[b+d],pk[f++]=-x,pk[f++]=o[b+g],pk[f++]=x}for(var y=l;y<u;++y){var x=y+m,_=p*y;pk[f++]=c[_+d],pk[f++]=-x}var w=f>>>1;JA(pk,w);for(var M=0,y=0;y<w;++y){var A=0|pk[2*y+1];if(A<0){var x=-A,k=!1;if(x>=ok?(k=!n,x-=ok):(k=!!n,x-=1),k)gk(sk,lk,M++,x);else{var T=h[x],S=p*x,E=c[S+e+1],C=c[S+e+1+t];t:for(var L=0;L<M;++L){var z=sk[L],P=p*z;if(!(C<o[P+e+1]||o[P+e+1+t]<E)){for(var I=e+2;I<t;++I)if(c[S+I+t]<o[P+I]||o[P+I+t]<c[S+I])continue t;var D,O=s[z];if(void 0!==(D=n?r(T,O):r(O,T)))return D}}}}else dk(sk,lk,M--,A-v)}},scanComplete:function(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,f=2*t,p=e,d=e+t,g=n;g<i;++g){var v=g+ok,m=f*g;pk[h++]=a[m+p],pk[h++]=-v,pk[h++]=a[m+d],pk[h++]=v}for(var g=s;g<l;++g){var v=g+1,y=f*g;pk[h++]=u[y+p],pk[h++]=-v}var x=h>>>1;JA(pk,x);for(var b=0,g=0;g<x;++g){var _=0|pk[2*g+1];if(_<0){var v=-_;if(v>=ok)sk[b++]=v-ok;else{var w=c[v-=1],M=f*v,A=u[M+e+1],k=u[M+e+1+t];t:for(var T=0;T<b;++T){var S=sk[T],E=o[S];if(E===w)break;var C=f*S;if(!(k<a[C+e+1]||a[C+e+1+t]<A)){for(var L=e+2;L<t;++L)if(u[M+L+t]<a[C+L]||a[C+L+t]<u[M+L])continue t;var z=r(E,w);if(void 0!==z)return z}}}}else{for(var v=_-ok,T=b-1;T>=0;--T)if(sk[T]===v){for(var L=T+1;L<b;++L)sk[L-1]=sk[L];break}--b}}}},ok=1<<28,sk=__.mallocInt32(1024),lk=__.mallocInt32(1024),uk=__.mallocInt32(1024),ck=__.mallocInt32(1024),hk=__.mallocInt32(1024),fk=__.mallocInt32(1024),pk=__.mallocDouble(8192);function dk(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function gk(t,e,r,n){t[r]=n,e[n]=r}var vk=function(t,e,r,n,i,a,o,s,l){!function(t,e){var r=8*Mb.log2(e+1)*(t+1)|0,n=Mb.nextPow2(Ek*r);Lk.length<n&&(__.free(Lk),Lk=__.mallocInt32(n));var i=Mb.nextPow2(Ck*r);zk<i&&(__.free(zk),zk=__.mallocDouble(i))}(t,n+o);var u,c=0,h=2*t;Pk(c++,0,0,n,0,o,r?16:0,-1/0,1/0),r||Pk(c++,0,0,o,0,n,1,-1/0,1/0);for(;c>0;){var f=(c-=1)*Ek,p=Lk[f],d=Lk[f+1],g=Lk[f+2],v=Lk[f+3],m=Lk[f+4],y=Lk[f+5],x=c*Ck,b=zk[x],_=zk[x+1],w=1&y,M=!!(16&y),A=i,k=a,T=s,S=l;if(w&&(A=s,k=l,T=i,S=a),!(2&y&&(g=Ak(t,p,d,g,A,k,_),d>=g)||4&y&&(d=kk(t,p,d,g,A,k,b))>=g)){var E=g-d,C=m-v;if(M){if(t*E*(E+C)<_k){if(void 0!==(u=ak.scanComplete(t,p,e,d,g,A,k,v,m,T,S)))return u;continue}}else{if(t*Math.min(E,C)<xk){if(void 0!==(u=mk(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}if(t*E*C<bk){if(void 0!==(u=ak.scanBipartite(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}}var L=wk(t,p,d,g,A,k,b,_);if(d<L)if(t*(L-d)<xk){if(void 0!==(u=yk(t,p+1,e,d,L,A,k,v,m,T,S)))return u}else if(p===t-2){if(void 0!==(u=w?ak.sweepBipartite(t,e,v,m,T,S,d,L,A,k):ak.sweepBipartite(t,e,d,L,A,k,v,m,T,S)))return u}else Pk(c++,p+1,d,L,v,m,w,-1/0,1/0),Pk(c++,p+1,v,m,d,L,1^w,-1/0,1/0);if(L<g){var z=WA(t,p,v,m,T,S),P=T[h*z+p],I=Mk(t,p,z,m,T,S,P);if(I<m&&Pk(c++,p,L,g,I,m,(4|w)+(M?16:0),P,_),v<z&&Pk(c++,p,L,g,v,z,(2|w)+(M?16:0),b,P),z+1===I){if(void 0!==(u=M?Dk(t,p,e,L,g,A,k,z,T,S[z]):Ik(t,p,e,w,L,g,A,k,z,T,S[z])))return u}else if(z<I){var D;if(M){if(D=Tk(t,p,L,g,A,k,P),L<D){var O=Mk(t,p,L,D,A,k,P);if(p===t-2){if(L<O&&void 0!==(u=ak.sweepComplete(t,e,L,O,A,k,z,I,T,S)))return u;if(O<D&&void 0!==(u=ak.sweepBipartite(t,e,O,D,A,k,z,I,T,S)))return u}else L<O&&Pk(c++,p+1,L,O,z,I,16,-1/0,1/0),O<D&&(Pk(c++,p+1,O,D,z,I,0,-1/0,1/0),Pk(c++,p+1,z,I,O,D,1,-1/0,1/0))}}else D=w?Sk(t,p,L,g,A,k,P):Tk(t,p,L,g,A,k,P),L<D&&(p===t-2?u=w?ak.sweepBipartite(t,e,z,I,T,S,L,D,A,k):ak.sweepBipartite(t,e,L,D,A,k,z,I,T,S):(Pk(c++,p+1,L,D,z,I,w,-1/0,1/0),Pk(c++,p+1,z,I,L,D,1^w,-1/0,1/0)))}}}}},mk=AA.partial,yk=AA.full,xk=128,bk=1<<22,_k=1<<22,wk=HA(\\\"!(lo>=p0)&&!(p1>=hi)\\\",[\\\"p0\\\",\\\"p1\\\"]),Mk=HA(\\\"lo===p0\\\",[\\\"p0\\\"]),Ak=HA(\\\"lo<p0\\\",[\\\"p0\\\"]),kk=HA(\\\"hi<=p0\\\",[\\\"p0\\\"]),Tk=HA(\\\"lo<=p0&&p0<=hi\\\",[\\\"p0\\\"]),Sk=HA(\\\"lo<p0&&p0<=hi\\\",[\\\"p0\\\"]),Ek=6,Ck=2,Lk=__.mallocInt32(1024),zk=__.mallocDouble(1024);function Pk(t,e,r,n,i,a,o,s,l){var u=Ek*t;Lk[u]=e,Lk[u+1]=r,Lk[u+2]=n,Lk[u+3]=i,Lk[u+4]=a,Lk[u+5]=o;var c=Ck*t;zk[c]=s,zk[c+1]=l}function Ik(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,p=u[f+e];t:for(var d=i,g=i*h;d<a;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=u[f+b],w=u[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(c,x):r(x,c)))return y}}}function Dk(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var p=n,d=n*c;p<i;++p,d+=c){var g=o[p];if(g!==u){var v=a[d+e],m=a[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=a[d+y],m=a[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,u);if(void 0!==_)return _}}}}var Ok,Rk=function(t,e,r){switch(arguments.length){case 1:return Ok=[],Nk(n=t,n,jk,!0),Ok;case 2:return\\\"function\\\"==typeof e?Nk(t,t,e,!0):function(t,e){return Ok=[],Nk(t,e,jk,!1),Ok}(t,e);case 3:return Nk(t,e,r,!1);default:throw new Error(\\\"box-intersect: Invalid arguments\\\")}var n};function Fk(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function Bk(t,e,r,n){for(var i=0,a=0,o=0,s=t.length;o<s;++o){var l=t[o];if(!Fk(e,l)){for(var u=0;u<2*e;++u)r[i++]=l[u];n[a++]=o}}return a}function Nk(t,e,r,n){var i=t.length,a=e.length;if(!(i<=0||a<=0)){var o=t[0].length>>>1;if(!(o<=0)){var s,l=__.mallocDouble(2*o*i),u=__.mallocInt32(i);if((i=Bk(t,o,l,u))>0){if(1===o&&n)ak.init(i),s=ak.sweepComplete(o,r,0,i,l,u,0,i,l,u);else{var c=__.mallocDouble(2*o*a),h=__.mallocInt32(a);(a=Bk(e,o,c,h))>0&&(ak.init(i+a),s=1===o?ak.sweepBipartite(o,r,0,i,l,u,0,a,c,h):vk(o,r,n,i,l,u,a,c,h),__.free(c),__.free(h))}__.free(l),__.free(u)}return s}}}function jk(t,e){Ok.push([t,e])}var Vk=function(t,e){return dA(t[0].mul(e[0]),t[1].mul(e[1]))};var Uk=function(t){return hA(t[0])*hA(t[1])};var qk=function(t,e){return dA(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))};var Hk=function(t,e){return dA(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))};var Gk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=Hk(t[i],e[i]);return n};var Wk=function(t,e){for(var r=xA(e),n=t.length,i=new Array(n),a=0;a<n;++a)i[a]=Vk(t[a],r);return i};var Yk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=qk(t[i],e[i]);return n};var Xk=function(t,e,r,n){var i=Yk(e,t),a=Yk(n,r),o=Zk(i,a);if(0===Uk(o))return null;var s=Yk(t,r),l=Zk(a,s),u=gA(l,o),c=Wk(i,u);return Gk(t,c)};function Zk(t,e){return qk(Vk(t[0],e[1]),Vk(t[1],e[0]))}var Jk=Math.pow(2,-1074),Kk=-1>>>0,Qk=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-Jk:Jk;var r=fA.hi(t),n=fA.lo(t);e>t==t>0?n===Kk?(r+=1,n=0):n+=1:0===n?(n=Kk,r-=1):n-=1;return fA.pack(n,r)};var $k=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=xA(t[r]);return e};var tT=function(t,e,r,n){var i=eT(t,r,n),a=eT(e,r,n);if(i>0&&a>0||i<0&&a<0)return!1;var o=eT(r,t,e),s=eT(n,t,e);if(o>0&&s>0||o<0&&s<0)return!1;if(0===i&&0===a&&0===o&&0===s)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],h=Math.min(u,c),f=Math.max(u,c);if(f<s||l<h)return!1}return!0}(t,e,r,n);return!0},eT=PM[3];var rT=nT;function nT(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}var iT=nT.prototype;Object.defineProperty(iT,\\\"length\\\",{get:function(){return this.roots.length}}),iT.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},iT.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},iT.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}};var aT=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=lT(t,[],sT(t));return hT(e,n,r),!!n}(t,e,!!r);for(;fT(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};function oT(t){var e=MA(t);return[Qk(e,-1/0),Qk(e,1/0)]}function sT(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[Qk(n[0],-1/0),Qk(n[1],-1/0),Qk(n[0],1/0),Qk(n[1],1/0)]}return e}function lT(t,e,r){for(var n=e.length,i=new rT(n),a=[],o=0;o<e.length;++o){var s=e[o],l=oT(s[0]),u=oT(s[1]);a.push([Qk(l[0],-1/0),Qk(u[0],-1/0),Qk(l[1],1/0),Qk(u[1],1/0)])}Rk(a,function(t,e){i.link(t,e)});var c=!0,h=new Array(n);for(o=0;o<n;++o){(p=i.find(o))!==o&&(c=!1,t[p]=[Math.min(t[o][0],t[p][0]),Math.min(t[o][1],t[p][1])])}if(c)return null;var f=0;for(o=0;o<n;++o){var p;(p=i.find(o))===o?(h[o]=f,t[f++]=t[o]):h[o]=-1}t.length=f;for(o=0;o<n;++o)h[o]<0&&(h[o]=h[i.find(o)]);return h}function uT(t,e){return t[0]-e[0]||t[1]-e[1]}function cT(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 hT(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(cT):t.sort(uT);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],u=t[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(t[s++]=u)}t.length=s}}function fT(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[Qk(Math.min(a[0],o[0]),-1/0),Qk(Math.min(a[1],o[1]),-1/0),Qk(Math.max(a[0],o[0]),1/0),Qk(Math.max(a[1],o[1]),1/0)]}return r}(t,e),i=function(t,e,r){var n=[];return Rk(r,function(r,i){var a=e[r],o=e[i];if(a[0]!==o[0]&&a[0]!==o[1]&&a[1]!==o[0]&&a[1]!==o[1]){var s=t[a[0]],l=t[a[1]],u=t[o[0]],c=t[o[1]];tT(s,l,u,c)&&n.push([r,i])}}),n}(t,e,n),a=sT(t),o=function(t,e,r,n){var i=[];return Rk(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var o=t[n],s=t[a[0]],l=t[a[1]];tT(s,l,o,o)&&i.push([r,n])}}),i}(t,e,n,a),s=lT(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[xA(t[0]),xA(t[1])]});for(a=0;a<r.length;++a){var l=r[a];o=l[0];var u=l[1],c=e[o],h=e[u],f=Xk($k(t[c[0]]),$k(t[c[1]]),$k(t[h[0]]),$k(t[h[1]]));if(f){var p=t.length;t.push([MA(f[0]),MA(f[1])]),s.push(f),n.push([o,p],[u,p])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return lA(r[0],n[0])||lA(r[1],n[1])}),a=n.length-1;a>=0;--a){var d=e[o=(w=n[a])[0]],g=d[0],v=d[1],m=t[g],y=t[v];if((m[0]-y[0]||m[1]-y[1])<0){var x=g;g=v,v=x}d[0]=g;var b,_=d[1]=w[1];for(i&&(b=d[2]);a>0&&n[a-1][0]===o;){var w,M=(w=n[--a])[1];i?e.push([_,M,b]):e.push([_,M]),_=M}i?e.push([_,v,b]):e.push([_,v])}return s}(t,e,i,o,r));return hT(e,s,r),!!s||(i.length>0||o.length>0)}var pT=function(t,e){var r=t.length;if(\\\"number\\\"!=typeof e){e=0;for(var n=0;n<r;++n){var i=t[n];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var a=new Array(e),n=0;n<e;++n)a[n]=[];for(var n=0;n<r;++n){var i=t[n];a[i[0]].push(i[1]),a[i[1]].push(i[0])}for(var o=0;o<e;++o)Qx(a[o],function(t,e){return t-e});return a};var dT=function(t,e){if(1===t.length)return pM(e,t[0]);if(1===e.length)return pM(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var n=0;n<t.length;++n)r=gM(r,pM(e,t[n]));else for(var n=0;n<e.length;++n)r=gM(r,pM(t,e[n]));return r};var gT=function(t){return t<0?-1:t>0?1:0},vT=function(t,e,r,n){var i=PM(e,r,n);if(0===i){var a=gT(PM(t,e,r)),o=gT(PM(t,e,n));if(a===o){if(0===a){var s=mT(t,e,r),l=mT(t,e,n);return s===l?0:s?1:-1}return 0}return 0===o?a>0?-1:mT(t,e,n)?-1:1:0===a?o>0?1:mT(t,e,r)?1:-1:gT(o-a)}var u=PM(t,e,r);if(u>0)return i>0&&PM(t,e,n)>0?1:-1;if(u<0)return i>0||PM(t,e,n)>0?1:-1;var c=PM(t,e,n);return c>0?1:mT(t,e,r)?1:-1};function mT(t,e,r){var n=fM(t[0],-e[0]),i=fM(t[1],-e[1]),a=fM(r[0],-e[0]),o=fM(r[1],-e[1]),s=gM(dT(n,a),dT(i,o));return s[s.length-1]>=0}var yT=function(t,e){for(var r=0|e.length,n=t.length,i=[new Array(r),new Array(r)],a=0;a<r;++a)i[0][a]=[],i[1][a]=[];for(var a=0;a<n;++a){var o=t[a];i[0][o[0]].push(o),i[1][o[1]].push(o)}for(var s=[],a=0;a<r;++a)i[0][a].length+i[1][a].length===0&&s.push([a]);function l(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,n){for(var a,o,s,u=0;u<2;++u)if(i[u][r].length>0){a=i[u][r][0],s=u;break}o=a[1^s];for(var c=0;c<2;++c)for(var h=i[c][r],f=0;f<h.length;++f){var p=h[f],d=p[1^c],g=vT(e[t],e[r],e[o],e[d]);g>0&&(a=p,o=d,s=c)}return n?o:(a&&l(a,s),o)}function c(t,r){var n=i[r][t][0],a=[t];l(n,r);for(var o=n[1^r];;){for(;o!==t;)a.push(o),o=u(a[a.length-2],o,!1);if(i[0][t].length+i[1][t].length===0)break;var s=a[a.length-1],c=t,h=a[1],f=u(s,c,!0);if(vT(e[s],e[c],e[h],e[f])<0)break;a.push(t),o=u(s,c)}return a}function h(t,e){return e[1]===e[e.length-1]}for(var a=0;a<r;++a)for(var f=0;f<2;++f){for(var p=[];i[f][a].length>0;){i[0][a].length;var d=c(a,f);h(p,d)?p.push.apply(p,d):(p.length>0&&s.push(p),p=d)}p.length>0&&s.push(p)}return s};var xT=function(t,e){for(var r=pT(t,e.length),n=new Array(e.length),i=new Array(e.length),a=[],o=0;o<e.length;++o){var s=r[o].length;i[o]=s,n[o]=!0,s<=1&&a.push(o)}for(;a.length>0;){var l=a.pop();n[l]=!1;for(var u=r[l],o=0;o<u.length;++o){var c=u[o];0==--i[c]&&a.push(c)}}for(var h=new Array(e.length),f=[],o=0;o<e.length;++o)if(n[o]){var l=f.length;h[o]=l,f.push(e[o])}else h[o]=-1;for(var p=[],o=0;o<t.length;++o){var d=t[o];n[d[0]]&&n[d[1]]&&p.push([h[d[0]],h[d[1]]])}return[p,f]};function bT(t,e,r,n,i,a){var o=[\\\"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\\\",i?\\\".get(m)\\\":\\\"[m]\\\"];return a?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(\\\"}\\\"),a?o.push(\\\"return -1};\\\"):o.push(\\\"return i};\\\"),o.join(\\\"\\\")}function _T(t,e,r,n){return new Function([bT(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!1,n),bT(\\\"B\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],!0,n),bT(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!1,n),bT(\\\"Q\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],!0,n),\\\"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(\\\"\\\"))()}var wT={ge:_T(\\\">=\\\",!1,\\\"GE\\\"),gt:_T(\\\">\\\",!1,\\\"GT\\\"),lt:_T(\\\"<\\\",!0,\\\"LT\\\"),le:_T(\\\"<=\\\",!0,\\\"LE\\\"),eq:_T(\\\"-\\\",!0,\\\"EQ\\\",!0)},MT=0,AT=1,kT=function(t){if(!t||0===t.length)return new NT(null);return new NT(BT(t))};function TT(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}var ST=TT.prototype;function ET(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 CT(t,e){var r=BT(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 LT(t,e){var r=t.intervals([]);r.push(e),CT(t,r)}function zT(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?MT:(r.splice(n,1),CT(t,r),AT)}function PT(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function IT(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function DT(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function OT(t,e){return t-e}function RT(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function FT(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function BT(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(OT);var n=e[e.length>>1],i=[],a=[],o=[];for(r=0;r<t.length;++r){var s=t[r];s[1]<n?i.push(s):n<s[0]?a.push(s):o.push(s)}var l=o,u=o.slice();return l.sort(RT),u.sort(FT),new TT(n,BT(i),BT(a),l,u)}function NT(t){this.root=t}ST.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},ST.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)?LT(this,t):this.left.insert(t):this.left=BT([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?LT(this,t):this.right.insert(t):this.right=BT([t]);else{var r=wT.ge(this.leftPoints,t,RT),n=wT.ge(this.rightPoints,t,FT);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},ST.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)?zT(this,t):2===(a=this.left.remove(t))?(this.left=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:MT;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var i=this.left;a=this.right;r.count-=n.count,r.right=n.left,n.left=i,n.right=a}ET(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?ET(this,this.left):ET(this,this.right);return AT}for(i=wT.ge(this.leftPoints,t,RT);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(a=wT.ge(this.rightPoints,t,FT);a<this.rightPoints.length&&this.rightPoints[a][1]===t[1];++a)if(this.rightPoints[a]===t)return this.rightPoints.splice(a,1),AT}return MT}return this.right?4*(this.left?this.left.count:0)>3*(e-1)?zT(this,t):2===(a=this.right.remove(t))?(this.right=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT;var a}},ST.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return PT(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return IT(this.rightPoints,t,e)}return DT(this.leftPoints,e)},ST.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?PT(this.leftPoints,e,r):t>this.mid?IT(this.rightPoints,t,r):DT(this.leftPoints,r)};var jT=NT.prototype;jT.insert=function(t){this.root?this.root.insert(t):this.root=new TT(t[0],null,null,[t],[t])},jT.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==MT}return!1},jT.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},jT.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(jT,\\\"count\\\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(jT,\\\"intervals\\\",{get:function(){return this.root?this.root.intervals([]):[]}});var VT=function(t){return new XT(t||$T,null)},UT=0,qT=1;function HT(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function GT(t){return new HT(t._color,t.key,t.value,t.left,t.right,t._count)}function WT(t,e){return new HT(t,e.key,e.value,e.left,e.right,e._count)}function YT(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function XT(t,e){this._compare=t,this.root=e}var ZT=XT.prototype;function JT(t,e){this.tree=t,this._stack=e}Object.defineProperty(ZT,\\\"keys\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(ZT,\\\"values\\\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(ZT,\\\"length\\\",{get:function(){return this.root?this.root._count:0}}),ZT.insert=function(t,e){for(var r=this._compare,n=this.root,i=[],a=[];n;){var o=r(t,n.key);i.push(n),a.push(o),n=o<=0?n.left:n.right}i.push(new HT(UT,t,e,null,null,1));for(var s=i.length-2;s>=0;--s){n=i[s];a[s]<=0?i[s]=new HT(n._color,n.key,n.value,i[s+1],n.right,n._count+1):i[s]=new HT(n._color,n.key,n.value,n.left,i[s+1],n._count+1)}for(s=i.length-1;s>1;--s){var l=i[s-1];n=i[s];if(l._color===qT||n._color===qT)break;var u=i[s-2];if(u.left===l)if(l.left===n){if(!(c=u.right)||c._color!==UT){if(u._color=UT,u.left=l.right,l._color=qT,l.right=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).left===u?h.left=l:h.right=l;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else{if(!(c=u.right)||c._color!==UT){if(l.right=n.left,u._color=UT,u.left=n.right,n._color=qT,n.left=l,n.right=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).left===u?h.left=n:h.right=n;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else if(l.right===n){if(!(c=u.left)||c._color!==UT){if(u._color=UT,u.right=l.left,l._color=qT,l.left=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).right===u?h.right=l:h.left=l;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}else{var c;if(!(c=u.left)||c._color!==UT){var h;if(l.left=n.right,u._color=UT,u.right=n.left,n._color=qT,n.right=l,n.left=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).right===u?h.right=n:h.left=n;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}}return i[0]._color=qT,new XT(r,i[0])},ZT.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(ZT,\\\"begin\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new JT(this,t)}}),Object.defineProperty(ZT,\\\"end\\\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new JT(this,t)}}),ZT.at=function(t){if(t<0)return new JT(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 JT(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new JT(this,[])},ZT.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new JT(this,n)},ZT.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new JT(this,n);r=i<=0?r.left:r.right}return new JT(this,[])},ZT.remove=function(t){var e=this.find(t);return e?e.remove():this},ZT.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 KT=JT.prototype;function QT(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 $T(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(KT,\\\"valid\\\",{get:function(){return this._stack.length>0}}),Object.defineProperty(KT,\\\"node\\\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),KT.clone=function(){return new JT(this.tree,this._stack.slice())},KT.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 HT(r._color,r.key,r.value,r.left,r.right,r._count);for(var n=t.length-2;n>=0;--n){(r=t[n]).left===t[n+1]?e[n]=new HT(r._color,r.key,r.value,e[n+1],r.right,r._count):e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count)}if((r=e[e.length-1]).left&&r.right){var i=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var a=e[i-1];e.push(new HT(r._color,a.key,a.value,r.left,r.right,r._count)),e[i-1].key=r.key,e[i-1].value=r.value;for(n=e.length-2;n>=i;--n)r=e[n],e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count);e[i-1].left=e[i]}if((r=e[e.length-1])._color===UT){var o=e[e.length-2];o.left===r?o.left=null:o.right===r&&(o.right=null),e.pop();for(n=0;n<e.length;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(r.left||r.right){r.left?QT(r,r.left):r.right&&QT(r,r.right),r._color=qT;for(n=0;n<e.length-1;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(1===e.length)return new XT(this.tree._compare,null);for(n=0;n<e.length;++n)e[n]._count--;var s=e[e.length-2];return function(t){for(var e,r,n,i,a=t.length-1;a>=0;--a){if(e=t[a],0===a)return void(e._color=qT);if((r=t[a-1]).left===e){if((n=r.right).right&&n.right._color===UT)return i=(n=r.right=GT(n)).right=GT(n.right),r.right=n.left,n.left=r,n.right=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),void(t[a-1]=n);if(n.left&&n.left._color===UT)return i=(n=r.right=GT(n)).left=GT(n.left),r.right=i.left,n.left=i.right,i.left=r,i.right=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).left===r?o.left=i:o.right=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.right=WT(UT,n));r.right=WT(UT,n);continue}n=GT(n),r.right=n.left,n.left=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}else{if((n=r.left).left&&n.left._color===UT)return i=(n=r.left=GT(n)).left=GT(n.left),r.left=n.right,n.right=r,n.left=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),void(t[a-1]=n);if(n.right&&n.right._color===UT)return i=(n=r.left=GT(n)).right=GT(n.right),r.left=i.right,n.right=i.left,i.right=r,i.left=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).right===r?o.right=i:o.left=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.left=WT(UT,n));r.left=WT(UT,n);continue}var o;n=GT(n),r.left=n.right,n.right=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}}}(e),s.left===r?s.left=null:s.right=null,new XT(this.tree._compare,e[0])},Object.defineProperty(KT,\\\"key\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(KT,\\\"value\\\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(KT,\\\"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}),KT.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(KT,\\\"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}}),KT.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),n=e[e.length-1];r[r.length-1]=new HT(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new HT(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new HT(n._color,n.key,n.value,n.left,r[i+1],n._count);return new XT(this.tree._compare,r[0])},KT.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(KT,\\\"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}});var tS=function(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0]))return eS(e,t);r=e[1],n=e[0]}if(t[0][0]<t[1][0])i=t[0],a=t[1];else{if(!(t[0][0]>t[1][0]))return-eS(t,e);i=t[1],a=t[0]}var o=PM(r,n,a),s=PM(r,n,i);if(o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;if(o=PM(a,i,n),s=PM(a,i,r),o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;return n[0]-a[0]};function eS(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var o=Math.min(t[0][1],t[1][1]),s=Math.max(t[0][1],t[1][1]),l=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return s<l?s-l:o>u?o-u:s-u}r=e[1],n=e[0]}t[0][1]<t[1][1]?(i=t[0],a=t[1]):(i=t[1],a=t[0]);var c=PM(n,r,i);return c||((c=PM(n,r,a))||a-n)}var rS=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var a=t[i],o=a[0][0]<a[1][0];n[2*i]=new sS(a[0][0],a,o,i),n[2*i+1]=new sS(a[1][0],a,!o,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]))});for(var s=VT(tS),l=[],u=[],c=[],i=0;i<r;){for(var h=n[i].x,f=[];i<r;){var p=n[i];if(p.x!==h)break;i+=1,p.segment[0][0]===p.x&&p.segment[1][0]===p.x?p.create&&(p.segment[0][1]<p.segment[1][1]?(f.push(new oS(p.segment[0][1],p.index,!0,!0)),f.push(new oS(p.segment[1][1],p.index,!1,!1))):(f.push(new oS(p.segment[1][1],p.index,!0,!1)),f.push(new oS(p.segment[0][1],p.index,!1,!0)))):s=p.create?s.insert(p.segment,p.index):s.remove(p.segment)}l.push(s.root),u.push(h),c.push(f)}return new nS(l,u,c)};function nS(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function iS(t,e){return t.y-e}function aS(t,e){for(var r=null;t;){var n,i,a=t.key;a[0][0]<a[1][0]?(n=a[0],i=a[1]):(n=a[1],i=a[0]);var o=PM(n,i,e);if(o<0)t=t.left;else if(o>0)if(e[0]!==a[1][0])r=t,t=t.right;else{if(s=aS(t.right,e))return s;t=t.left}else{if(e[0]!==a[1][0])return t;var s;if(s=aS(t.right,e))return s;t=t.left}}return r}function oS(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function sS(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}nS.prototype.castUp=function(t){var e=wT.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=aS(this.slabs[e],t),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var i=null;if(r&&(i=r.key),e>0){var a=aS(this.slabs[e-1],t);a&&(i?tS(a.key,i)>0&&(i=a.key,n=a.value):(n=a.value,i=a.key))}var o=this.horizontal[e];if(o.length>0){var s=wT.ge(o,t[1],iS);if(s<o.length){var l=o[s];if(t[1]===l.y){if(l.closed)return l.index;for(;s<o.length-1&&o[s+1].y===t[1];)if((l=o[s+=1]).closed)return l.index;if(l.y===t[1]&&!l.start){if((s+=1)>=o.length)return n;l=o[s]}}if(l.start)if(i){var u=PM(i[0],i[1],[t[0],l.y]);i[0][0]>i[1][0]&&(u=-u),u>0&&(n=l.index)}else n=l.index;else l.y!==t[1]&&(n=l.index)}}}return n};var lS=function(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var a=t[i],o=a.length,s=o-1,l=0;l<o;s=l++){var u=a[s],c=a[l];u[0]===c[0]?n.push([u,c]):r.push([u,c])}if(0===r.length)return 0===n.length?fS:(h=hS(n),function(t){return h(t[0],t[1])?0:1});var h;var f=rS(r),p=function(t,e){return function(r){var n=wT.le(e,r[0]);if(n<0)return 1;var i=t[n];if(!i){if(!(n>0&&e[n]===r[0]))return 1;i=t[n-1]}for(var a=1;i;){var o=i.key,s=uS(r,o[0],o[1]);if(o[0][0]<o[1][0])if(s<0)i=i.left;else{if(!(s>0))return 0;a=-1,i=i.right}else if(s>0)i=i.left;else{if(!(s<0))return 0;a=1,i=i.right}}return a}}(f.slabs,f.coordinates);return 0===n.length?p:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(hS(n),p)},uS=PM[3];function cS(){return!0}function hS(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],a=n[0][1],o=n[1][1],s=[Math.min(a,o),Math.max(a,o)];i in e?e[i].push(s):e[i]=[s]}var l={},u=Object.keys(e);for(r=0;r<u.length;++r){var c=e[u[r]];l[u[r]]=kT(c)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,cS)}}(l)}function fS(t){return 1}var pS=function(t,e){var r=xT(t,e);t=r[0];for(var n=(e=r[1]).length,i=(t.length,pT(t,e.length)),a=0;a<n;++a)if(i[a].length%2==1)throw new Error(\\\"planar-graph-to-polyline: graph must be manifold\\\");var o=yT(t,e);for(var s=(o=o.filter(function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],o=e[t[(i+1)%r]],s=cM(-a[0],a[1]),l=cM(-a[0],o[1]),u=cM(o[0],a[1]),c=cM(o[0],o[1]);n=gM(n,gM(gM(s,l),gM(u,c)))}return n[n.length-1]>0})).length,l=new Array(s),u=new Array(s),a=0;a<s;++a){l[a]=a;var c=new Array(s),h=o[a].map(function(t){return e[t]}),f=lS([h]),p=0;t:for(var d=0;d<s;++d)if(c[d]=0,a!==d){for(var g=o[d],v=g.length,m=0;m<v;++m){var y=f(e[g[m]]);if(0!==y){y<0&&(c[d]=1,p+=1);continue t}}c[d]=1,p+=1}u[a]=[p,a,c]}u.sort(function(t,e){return e[0]-t[0]});for(var a=0;a<s;++a)for(var c=u[a],x=c[1],b=c[2],d=0;d<s;++d)b[d]&&(l[d]=x);for(var _=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(s),a=0;a<s;++a)_[a].push(l[a]),_[l[a]].push(a);for(var w={},M=dS(n,!1),a=0;a<s;++a)for(var g=o[a],v=g.length,d=0;d<v;++d){var A=g[d],k=g[(d+1)%v],T=Math.min(A,k)+\\\":\\\"+Math.max(A,k);if(T in w){var S=w[T];_[S].push(a),_[a].push(S),M[A]=M[k]=!0}else w[T]=a}function E(t){for(var e=t.length,r=0;r<e;++r)if(!M[t[r]])return!1;return!0}for(var C=[],L=dS(s,-1),a=0;a<s;++a)l[a]!==a||E(o[a])?L[a]=-1:(C.push(a),L[a]=0);var r=[];for(;C.length>0;){var z=C.pop(),P=_[z];Qx(P,function(t,e){return t-e});var I,D=P.length,O=L[z];if(0===O){var g=o[z];I=[g]}for(var a=0;a<D;++a){var R=P[a];if(!(L[R]>=0)&&(L[R]=1^O,C.push(R),0===O)){var g=o[R];E(g)||(g.reverse(),I.push(g))}}0===O&&r.push(I)}return r};function dS(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var gS={};function vS(t,e){var r=t.length,n=t.length-e.length,i=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])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function mS(t,e){return vS(t[0],e[0])}function yS(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(mS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(vS),t}function xS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(vS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function bS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=vS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function _S(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=Mb.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=bS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==vS(t[p],a)););}return r}function wS(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=Mb.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return yS(r)}gS.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},gS.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},gS.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},gS.compareCells=vS,gS.normalize=yS,gS.unique=xS,gS.findCell=bS,gS.incidence=_S,gS.dual=function(t,e){if(!e)return _S(xS(wS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},gS.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return yS(e)},gS.skeleton=wS,gS.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return yS(e)},gS.connectedComponents=function(t,e){return e?function(t,e){for(var r=new rT(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=xS(yS(wS(t,0))),r=new rT(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=bS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,bS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(bS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var MS={};function AS(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}MS.INT_BITS=32,MS.INT_MAX=2147483647,MS.INT_MIN=-1<<31,MS.sign=function(t){return(t>0)-(t<0)},MS.abs=function(t){var e=t>>31;return(t^e)-e},MS.min=function(t,e){return e^(t^e)&-(t<e)},MS.max=function(t,e){return t^(t^e)&-(t<e)},MS.isPow2=function(t){return!(t&t-1||!t)},MS.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},MS.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},MS.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},MS.countTrailingZeros=AS,MS.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},MS.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},MS.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kS=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(kS),MS.reverse=function(t){return kS[255&t]<<24|kS[t>>>8&255]<<16|kS[t>>>16&255]<<8|kS[t>>>24&255]},MS.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},MS.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},MS.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},MS.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},MS.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>AS(t)+1};var TS=SS;function SS(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}SS.prototype.length=function(){return this.roots.length},SS.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},SS.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},SS.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}};var ES={};function CS(t,e){var r=t.length,n=t.length-e.length,i=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])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=c[f]-h[f])return n;return 0}}function LS(t,e){return CS(t[0],e[0])}function zS(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(LS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(CS),t}function PS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(CS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function IS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=CS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function DS(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=MS.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=IS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==CS(t[p],a)););}return r}function OS(t,e){if(e<0)return[];for(var r=[],n=(1<<e+1)-1,i=0;i<t.length;++i)for(var a=t[i],o=n;o<1<<a.length;o=MS.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return zS(r)}ES.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},ES.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},ES.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},ES.compareCells=CS,ES.normalize=zS,ES.unique=PS,ES.findCell=IS,ES.incidence=DS,ES.dual=function(t,e){if(!e)return DS(PS(OS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},ES.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,s=1<<a;o<s;++o){for(var l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return zS(e)},ES.skeleton=OS,ES.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var s=new Array(i.length-1),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return zS(e)},ES.connectedComponents=function(t,e){return e?function(t,e){for(var r=new TS(e),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=a+1;o<i.length;++o)r.link(i[a],i[o]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);l[u]<0?(l[u]=s.length,s.push([t[n].slice(0)])):s[l[u]].push(t[n].slice(0))}return s}(t,e):function(t){for(var e=PS(zS(OS(t,0))),r=new TS(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=IS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,IS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(IS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var RS=function(t,e,r){for(var n=e.length,i=t.length,a=new Array(n),o=new Array(n),s=new Array(n),l=new Array(n),u=0;u<n;++u)a[u]=o[u]=-1,s[u]=1/0,l[u]=!1;for(var u=0;u<i;++u){var c=t[u];if(2!==c.length)throw new Error(\\\"Input must be a graph\\\");var h=c[1],f=c[0];-1!==o[f]?o[f]=-2:o[f]=h,-1!==a[h]?a[h]=-2:a[h]=f}function p(t){if(l[t])return 1/0;var r,n,i,s,u,c=a[t],h=o[t];return c<0||h<0?1/0:(r=e[t],n=e[c],i=e[h],s=Math.abs(PM(r,n,i)),u=Math.sqrt(Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)),s/u)}function d(t,e){var r=w[t],n=w[e];w[t]=n,w[e]=r,M[r]=e,M[n]=t}function g(t){return s[w[t]]}function v(t){return 1&t?t-1>>1:(t>>1)-1}function m(t){for(var e=g(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<k){var o=g(n);o<r&&(a=n,r=o)}if(i<k){var s=g(i);s<r&&(a=i)}if(a===t)return t;d(t,a),t=a}}function y(t){for(var e=g(t);t>0;){var r=v(t);if(r>=0){var n=g(r);if(e<n){d(t,r),t=r;continue}}return t}}function x(){if(k>0){var t=w[0];return d(0,k-1),k-=1,m(0),t}return-1}function b(t,e){var r=w[t];return s[r]===e?t:(s[r]=-1/0,y(t),x(),s[r]=e,y((k+=1)-1))}function _(t){if(!l[t]){l[t]=!0;var e=a[t],r=o[t];a[r]>=0&&(a[r]=e),o[e]>=0&&(o[e]=r),M[e]>=0&&b(M[e],p(e)),M[r]>=0&&b(M[r],p(r))}}for(var w=[],M=new Array(n),u=0;u<n;++u){var A=s[u]=p(u);A<1/0?(M[u]=w.length,w.push(u)):M[u]=-1}for(var k=w.length,u=k>>1;u>=0;--u)m(u);for(;;){var T=x();if(T<0||s[T]>r)break;_(T)}for(var S=[],u=0;u<n;++u)l[u]||(M[u]=S.length,S.push(e[u].slice()));S.length;function E(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!l[n]||i<0||i===n)break;if(i=t[n=i],!l[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var C=[];return t.forEach(function(t){var e=E(a,t[0]),r=E(o,t[1]);if(e>=0&&r>=0&&e!==r){var n=M[e],i=M[r];n!==i&&C.push([n,i])}}),ES.unique(ES.normalize(C)),{positions:S,edges:C}};var FS=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 n=t.arrayArguments||1;n<1&&e(\\\"Must have at least one array argument\\\");var i=t.scalarArguments||0;i<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 a=t.getters||[],o=new Array(n),s=0;s<n;++s)a.indexOf(s)>=0?o[s]=!0:o[s]=!1;return function(t,e,r,n,i,a){var o=a.length,s=i.length;if(s<2)throw new Error(\\\"ndarray-extract-contour: Dimension must be at least 2\\\");for(var l=\\\"extractContour\\\"+i.join(\\\"_\\\"),u=[],c=[],h=[],f=0;f<o;++f)h.push(BS(f));for(var f=0;f<n;++f)h.push(HS(f));for(var f=0;f<s;++f)c.push(VS(f)+\\\"=\\\"+BS(0)+\\\".shape[\\\"+f+\\\"]|0\\\");for(var f=0;f<o;++f){c.push(NS(f)+\\\"=\\\"+BS(f)+\\\".data\\\",qS(f)+\\\"=\\\"+BS(f)+\\\".offset|0\\\");for(var p=0;p<s;++p)c.push(US(f,p)+\\\"=\\\"+BS(f)+\\\".stride[\\\"+p+\\\"]|0\\\")}for(var f=0;f<o;++f){c.push(GS(f)+\\\"=\\\"+qS(f)),c.push(jS(f,0));for(var p=1;p<1<<s;++p){for(var d=[],g=0;g<s;++g)p&1<<g&&d.push(\\\"-\\\"+US(f,g));c.push(WS(f,p)+\\\"=(\\\"+d.join(\\\"\\\")+\\\")|0\\\"),c.push(jS(f,p)+\\\"=0\\\")}}for(var f=0;f<o;++f)for(var p=0;p<s;++p){var v=[US(f,i[p])];p>0&&v.push(US(f,i[p-1])+\\\"*\\\"+VS(i[p-1])),c.push(XS(f,i[p])+\\\"=(\\\"+v.join(\\\"-\\\")+\\\")|0\\\")}for(var f=0;f<s;++f)c.push(YS(f)+\\\"=0\\\");c.push(eE+\\\"=0\\\");for(var m=[\\\"2\\\"],f=s-2;f>=0;--f)m.push(VS(i[f]));c.push(rE+\\\"=(\\\"+m.join(\\\"*\\\")+\\\")|0\\\",tE+\\\"=mallocUint32(\\\"+rE+\\\")\\\",$S+\\\"=mallocUint32(\\\"+rE+\\\")\\\",nE+\\\"=0\\\"),c.push(ZS(0)+\\\"=0\\\");for(var p=1;p<1<<s;++p){for(var y=[],x=[],g=0;g<s;++g)p&1<<g&&(0===x.length?y.push(\\\"1\\\"):y.unshift(x.join(\\\"*\\\"))),x.push(VS(i[g]));var b=\\\"\\\";y[0].indexOf(VS(i[s-2]))<0&&(b=\\\"-\\\");var _=aE(s,p,i);c.push(KS(_)+\\\"=(-\\\"+y.join(\\\"-\\\")+\\\")|0\\\",JS(_)+\\\"=(\\\"+b+y.join(\\\"-\\\")+\\\")|0\\\",ZS(_)+\\\"=0\\\")}function w(t,e){u.push(\\\"for(\\\",YS(i[t]),\\\"=\\\",e,\\\";\\\",YS(i[t]),\\\"<\\\",VS(i[t]),\\\";\\\",\\\"++\\\",YS(i[t]),\\\"){\\\")}function M(t){for(var e=0;e<o;++e)u.push(GS(e),\\\"+=\\\",XS(e,i[t]),\\\";\\\");u.push(\\\"}\\\")}function A(){for(var t=1;t<1<<s;++t)u.push(iE,\\\"=\\\",KS(t),\\\";\\\",KS(t),\\\"=\\\",JS(t),\\\";\\\",JS(t),\\\"=\\\",iE,\\\";\\\")}c.push(QS(0)+\\\"=0\\\",iE+\\\"=0\\\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<o;++e)a[e]?u.push(jS(e,0),\\\"=\\\",NS(e),\\\".get(\\\",GS(e),\\\");\\\"):u.push(jS(e,0),\\\"=\\\",NS(e),\\\"[\\\",GS(e),\\\"];\\\");for(var r=[],e=0;e<o;++e)r.push(jS(e,0));for(var e=0;e<n;++e)r.push(HS(e));u.push(ZS(0),\\\"=\\\",tE,\\\"[\\\",nE,\\\"]=phase(\\\",r.join(),\\\");\\\");for(var i=1;i<1<<s;++i)u.push(ZS(i),\\\"=\\\",tE,\\\"[\\\",nE,\\\"+\\\",KS(i),\\\"];\\\");for(var l=[],i=1;i<1<<s;++i)l.push(\\\"(\\\"+ZS(0)+\\\"!==\\\"+ZS(i)+\\\")\\\");u.push(\\\"if(\\\",l.join(\\\"||\\\"),\\\"){\\\");for(var c=[],e=0;e<s;++e)c.push(YS(e));for(var e=0;e<o;++e){c.push(jS(e,0));for(var i=1;i<1<<s;++i)a[e]?u.push(jS(e,i),\\\"=\\\",NS(e),\\\".get(\\\",GS(e),\\\"+\\\",WS(e,i),\\\");\\\"):u.push(jS(e,i),\\\"=\\\",NS(e),\\\"[\\\",GS(e),\\\"+\\\",WS(e,i),\\\"];\\\"),c.push(jS(e,i))}for(var e=0;e<1<<s;++e)c.push(ZS(e));for(var e=0;e<n;++e)c.push(HS(e));u.push(\\\"vertex(\\\",c.join(),\\\");\\\",QS(0),\\\"=\\\",$S,\\\"[\\\",nE,\\\"]=\\\",eE,\\\"++;\\\");for(var h=(1<<s)-1,f=ZS(h),i=0;i<s;++i)if(0==(t&~(1<<i))){for(var p=h^1<<i,d=ZS(p),g=[],v=p;v>0;v=v-1&p)g.push($S+\\\"[\\\"+nE+\\\"+\\\"+KS(v)+\\\"]\\\");g.push(QS(0));for(var v=0;v<o;++v)1&i?g.push(jS(v,h),jS(v,p)):g.push(jS(v,p),jS(v,h));1&i?g.push(f,d):g.push(d,f);for(var v=0;v<n;++v)g.push(HS(v));u.push(\\\"if(\\\",f,\\\"!==\\\",d,\\\"){\\\",\\\"face(\\\",g.join(),\\\")}\\\")}u.push(\\\"}\\\",nE,\\\"+=1;\\\")}(r);!function(t){for(var e=t-1;e>=0;--e)w(e,0);for(var r=[],e=0;e<o;++e)a[e]?r.push(NS(e)+\\\".get(\\\"+GS(e)+\\\")\\\"):r.push(NS(e)+\\\"[\\\"+GS(e)+\\\"]\\\");for(var e=0;e<n;++e)r.push(HS(e));u.push(tE,\\\"[\\\",nE,\\\"++]=phase(\\\",r.join(),\\\");\\\");for(var e=0;e<t;++e)M(e);for(var s=0;s<o;++s)u.push(GS(s),\\\"+=\\\",XS(s,i[t]),\\\";\\\")}(e);u.push(\\\"if(\\\",VS(i[e]),\\\">0){\\\",YS(i[e]),\\\"=1;\\\");t(e-1,r|1<<i[e]);for(var l=0;l<o;++l)u.push(GS(l),\\\"+=\\\",XS(l,i[e]),\\\";\\\");e===s-1&&(u.push(nE,\\\"=0;\\\"),A());w(e,2);t(e-1,r);e===s-1&&(u.push(\\\"if(\\\",YS(i[s-1]),\\\"&1){\\\",nE,\\\"=0;}\\\"),A());M(e);u.push(\\\"}\\\")}(s-1,0),u.push(\\\"freeUint32(\\\",$S,\\\");freeUint32(\\\",tE,\\\");\\\");var k=[\\\"'use strict';\\\",\\\"function \\\",l,\\\"(\\\",h.join(),\\\"){\\\",\\\"var \\\",c.join(),\\\";\\\",u.join(\\\"\\\"),\\\"}\\\",\\\"return \\\",l].join(\\\"\\\");return new Function(\\\"vertex\\\",\\\"face\\\",\\\"phase\\\",\\\"mallocUint32\\\",\\\"freeUint32\\\",k)(t,e,r,__.mallocUint32,__.freeUint32)}(t.vertex,t.cell,t.phase,i,r,o)};function BS(t){return\\\"a\\\"+t}function NS(t){return\\\"d\\\"+t}function jS(t,e){return\\\"c\\\"+t+\\\"_\\\"+e}function VS(t){return\\\"s\\\"+t}function US(t,e){return\\\"t\\\"+t+\\\"_\\\"+e}function qS(t){return\\\"o\\\"+t}function HS(t){return\\\"x\\\"+t}function GS(t){return\\\"p\\\"+t}function WS(t,e){return\\\"d\\\"+t+\\\"_\\\"+e}function YS(t){return\\\"i\\\"+t}function XS(t,e){return\\\"u\\\"+t+\\\"_\\\"+e}function ZS(t){return\\\"b\\\"+t}function JS(t){return\\\"y\\\"+t}function KS(t){return\\\"e\\\"+t}function QS(t){return\\\"v\\\"+t}var $S=\\\"V\\\",tE=\\\"P\\\",eE=\\\"N\\\",rE=\\\"Q\\\",nE=\\\"X\\\",iE=\\\"T\\\";function aE(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}var oE={},sE=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],lE=607/128,uE=[.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 cE(t){if(t<0)return Number(\\\"0/0\\\");for(var e=uE[0],r=uE.length-1;r>0;--r)e+=uE[r]/(t+r);var n=t+lE+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}(oE=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(cE(e));e-=1;for(var r=sE[0],n=1;n<9;n++)r+=sE[n]/(e+n);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r}).log=cE;var hE=function(t){var e=t.length;if(e<fE){for(var r=1,n=0;n<e;++n)for(var i=0;i<n;++i)if(t[n]<t[i])r=-r;else if(t[n]===t[i])return 0;return r}for(var a=__.mallocUint8(e),n=0;n<e;++n)a[n]=0;for(var r=1,n=0;n<e;++n)if(!a[n]){var o=1;a[n]=1;for(var i=t[n];i!==n;i=t[i]){if(a[i])return __.freeUint8(a),0;o+=1,a[i]=1}1&o||(r=-r)}return __.freeUint8(a),r},fE=32;var pE=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e},dE={};dE.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,a=__.mallocUint32(e),o=__.mallocUint32(e),s=0;for(pE(t,o),i=0;i<e;++i)a[i]=t[i];for(i=e-1;i>0;--i)n=o[i],r=a[i],a[i]=a[n],a[n]=r,o[i]=o[r],o[r]=n,s=(s+r)*i;return __.freeUint32(o),__.freeUint32(a),s},dE.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,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r};var gE=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(oE(t+1)),r=[],n=0;n<e;++n){for(var i=dE.unrank(t,n),a=[0],o=0,s=0;s<i.length;++s)o+=1<<i[s],a.push(o);hE(i)<1&&(a[0]=o,a[t]=0),r.push(a)}return r};var vE=nb({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\\\"}),mE=function(t,e){var r=[];return e=+e||0,vE(t.hi(t.shape[0]-1),r,e),r};var yE=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=mE(t,e),n=r.length,i=new Array(n),a=new Array(n),o=0;o<n;++o)i[o]=[r[o]],a[o]=[o];return{positions:i,cells:a}}(t,e);var r=t.order.join()+\\\"-\\\"+t.dtype,n=xE[r],e=+e||0;n||(n=xE[r]=function(t,e){var r=t.length,n=[\\\"'use strict';\\\"],i=\\\"surfaceNets\\\"+t.join(\\\"_\\\")+\\\"d\\\"+e;n.push(\\\"var contour=genContour({\\\",\\\"order:[\\\",t.join(),\\\"],\\\",\\\"scalarArguments: 3,\\\",\\\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\\\"),\\\"generic\\\"===e&&n.push(\\\"getters:[0],\\\");for(var a=[],o=[],s=0;s<r;++s)a.push(\\\"d\\\"+s),o.push(\\\"d\\\"+s);for(var s=0;s<1<<r;++s)a.push(\\\"v\\\"+s),o.push(\\\"v\\\"+s);for(var s=0;s<1<<r;++s)a.push(\\\"p\\\"+s),o.push(\\\"p\\\"+s);a.push(\\\"a\\\",\\\"b\\\",\\\"c\\\"),o.push(\\\"a\\\",\\\"c\\\"),n.push(\\\"vertex:function vertexFunc(\\\",a.join(),\\\"){\\\");for(var l=[],s=0;s<1<<r;++s)l.push(\\\"(p\\\"+s+\\\"<<\\\"+s+\\\")\\\");n.push(\\\"var m=(\\\",l.join(\\\"+\\\"),\\\")|0;if(m===0||m===\\\",(1<<(1<<r))-1,\\\"){return}\\\");var u=[],c=[];1<<(1<<r)<=128?(n.push(\\\"switch(m){\\\"),c=n):n.push(\\\"switch(m>>>7){\\\");for(var s=0;s<1<<(1<<r);++s){if(1<<(1<<r)>128&&s%128==0){u.length>0&&c.push(\\\"}}\\\");var h=\\\"vExtra\\\"+u.length;n.push(\\\"case \\\",s>>>7,\\\":\\\",h,\\\"(m&0x7f,\\\",o.join(),\\\");break;\\\"),c=[\\\"function \\\",h,\\\"(m,\\\",o.join(),\\\"){switch(m){\\\"],u.push(c)}c.push(\\\"case \\\",127&s,\\\":\\\");for(var f=new Array(r),p=new Array(r),d=new Array(r),g=new Array(r),v=0,m=0;m<r;++m)f[m]=[],p[m]=[],d[m]=0,g[m]=0;for(var m=0;m<1<<r;++m)for(var y=0;y<r;++y){var x=m^1<<y;if(!(x>m)&&!(s&1<<x)!=!(s&1<<m)){var b=1;s&1<<x?p[y].push(\\\"v\\\"+x+\\\"-v\\\"+m):(p[y].push(\\\"v\\\"+m+\\\"-v\\\"+x),b=-b),b<0?(f[y].push(\\\"-v\\\"+m+\\\"-v\\\"+x),d[y]+=2):(f[y].push(\\\"v\\\"+m+\\\"+v\\\"+x),d[y]-=2),v+=1;for(var _=0;_<r;++_)_!==y&&(x&1<<_?g[_]+=1:g[_]-=1)}}for(var w=[],y=0;y<r;++y)if(0===f[y].length)w.push(\\\"d\\\"+y+\\\"-0.5\\\");else{var M=\\\"\\\";d[y]<0?M=d[y]+\\\"*c\\\":d[y]>0&&(M=\\\"+\\\"+d[y]+\\\"*c\\\");var A=f[y].length/v*.5,k=.5+g[y]/v*.5;w.push(\\\"d\\\"+y+\\\"-\\\"+k+\\\"-\\\"+A+\\\"*(\\\"+f[y].join(\\\"+\\\")+M+\\\")/(\\\"+p[y].join(\\\"+\\\")+\\\")\\\")}c.push(\\\"a.push([\\\",w.join(),\\\"]);\\\",\\\"break;\\\")}n.push(\\\"}},\\\"),u.length>0&&c.push(\\\"}}\\\");for(var T=[],s=0;s<1<<r-1;++s)T.push(\\\"v\\\"+s);T.push(\\\"c0\\\",\\\"c1\\\",\\\"p0\\\",\\\"p1\\\",\\\"a\\\",\\\"b\\\",\\\"c\\\"),n.push(\\\"cell:function cellFunc(\\\",T.join(),\\\"){\\\");var S=gE(r-1);n.push(\\\"if(p0){b.push(\\\",S.map(function(t){return\\\"[\\\"+t.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}else{b.push(\\\",S.map(function(t){var e=t.slice();return e.reverse(),\\\"[\\\"+e.map(function(t){return\\\"v\\\"+t})+\\\"]\\\"}).join(),\\\")}}});function \\\",i,\\\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \\\",i,\\\";\\\");for(var s=0;s<u.length;++s)n.push(u[s].join(\\\"\\\"));return new Function(\\\"genContour\\\",n.join(\\\"\\\"))(FS)}(t.order,t.dtype));return n(t,e)};var xE={};var bE={};function _E(t,e,r,n){var i=function(t,e){var r=yE(t,128);return e?RS(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),a=function(t,e,r){for(var n=e.textAlign||\\\"start\\\",i=e.textBaseline||\\\"alphabetic\\\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var u=t[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var h=0;switch(n){case\\\"center\\\":h=-.5*(a[0]+o[0]);break;case\\\"right\\\":case\\\"end\\\":h=-o[0];break;case\\\"left\\\":case\\\"start\\\":h=-a[0];break;default:throw new Error(\\\"vectorize-text: Unrecognized textAlign: '\\\"+n+\\\"'\\\")}var f=0;switch(i){case\\\"hanging\\\":case\\\"top\\\":f=-a[1];break;case\\\"middle\\\":f=-.5*(a[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: '\\\"+i+\\\"'\\\")}var p=1/r;return\\\"lineHeight\\\"in e?p*=+e.lineHeight:\\\"width\\\"in e?p=e.width/(o[0]-a[0]):\\\"height\\\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+h),p*(t[1]+f)]})}(i.positions,e,r),o=i.edges,s=\\\"ccw\\\"===e.orientation;if(aT(a,o),e.polygons||e.polygon||e.polyline){for(var l=pS(o,a),u=new Array(l.length),c=0;c<l.length;++c){for(var h=l[c],f=new Array(h.length),p=0;p<h.length;++p){for(var d=h[p],g=new Array(d.length),v=0;v<d.length;++v)g[v]=a[d[v]].slice();s&&g.reverse(),f[p]=g}u[c]=f}return u}return e.triangles||e.triangulate||e.triangle?{cells:iA(a,o,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:o,positions:a}}function wE(t,e,r){try{return _E(t,e,r,!0)}catch(t){}try{return _E(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}(bE=function(t,e,r,n){var i=n.size||64,a=n.font||\\\"normal\\\";return r.font=i+\\\"px \\\"+a,r.textAlign=\\\"start\\\",r.textBaseline=\\\"alphabetic\\\",r.direction=\\\"ltr\\\",wE(function(t,e,r,n){var i=0|Math.ceil(e.measureText(r).width+2*n);if(i>8192)throw new Error(\\\"vectorize-text: String too long (sorry, this will get fixed later)\\\");var a=3*n;t.height<a&&(t.height=a),e.fillStyle=\\\"#000\\\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\\\"#fff\\\",e.fillText(r,n,2*n);var o=e.getImageData(0,0,i,a);return wb(o.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i),n,i)}).processPixels=wE;var ME=function(t,e){\\\"object\\\"==typeof e&&null!==e||(e={});return bE(t,e.canvas||AE,e.context||kE,e)},AE=null,kE=null;\\\"undefined\\\"!=typeof document&&((AE=document.createElement(\\\"canvas\\\")).width=8192,AE.height=1024,kE=AE.getContext(\\\"2d\\\"));var TE={};(function(t){\\\"use strict\\\";TE=function t(e,n,i){var i=i||{};var a=r[e];a||(a=r[e]={\\\" \\\":{data:new Float32Array(0),shape:.2}});var o=a[n];if(!o)if(n.length<=1||!/\\\\d/.test(n))o=a[n]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}(ME(n,{triangles:!0,font:e,textAlign:i.textAlign||\\\"left\\\",textBaseline:\\\"alphabetic\\\"}));else{for(var s=n.split(/(\\\\d|\\\\s)/),l=new Array(s.length),u=0,c=0,h=0;h<s.length;++h)l[h]=t(e,s[h]),u+=l[h].data.length,c+=l[h].shape,h>0&&(c+=.02);for(var f=new Float32Array(u),p=0,d=-.5*c,h=0;h<l.length;++h){for(var g=l[h].data,v=0;v<g.length;v+=2)f[p++]=g[v]+d,f[p++]=g[v+1];d+=l[h].shape+.02}o=a[n]={data:f,shape:c}}return o};var e=window||t.global||{},r=e.__TEXT_CACHE||{};e.__TEXT_CACHE={}}).call(this,Pp);var SE=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.textVert,L_.textFrag);return new EE(t,r,n)};function EE(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 CE=EE.prototype;CE.drawTicks=function(){var t=[0,0],e=[0,0],r=[0,0];return function(n){var i=this.plot,a=this.shader,o=this.tickX[n],s=this.tickOffset[n],l=i.gl,u=i.viewBox,c=i.dataBox,h=i.screenBox,f=i.pixelRatio,p=i.tickEnable,d=i.tickPad,g=i.tickColor,v=i.tickAngle,m=i.labelEnable,y=i.labelPad,x=i.labelColor,b=i.labelAngle,_=this.labelOffset[n],w=this.labelCount[n],M=Zw.lt(o,c[n]),A=Zw.le(o,c[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var k=2/h[2+(1^n)]-h[1^n];e[1^n]=k*u[1^n]-1,p[n]&&(e[1^n]-=k*f*d[n],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n]&&w&&(e[1^n]-=k*f*y[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n],a.uniforms.angle=b[n],l.drawArrays(l.TRIANGLES,_,w)),e[1^n]=k*u[2+(1^n)]-1,p[n+2]&&(e[1^n]+=k*f*d[n+2],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n+2]&&w&&(e[1^n]+=k*f*y[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n+2],a.uniforms.angle=b[n+2],l.drawArrays(l.TRIANGLES,_,w))}}(),CE.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),CE.bind=function(){var t=[0,0],e=[0,0],r=[0,0];return function(){var n=this.plot,i=this.shader,a=n._tickBounds,o=n.dataBox,s=n.screenBox,l=n.viewBox;i.bind();for(var u=0;u<2;++u){var c=a[u],h=a[u+2]-c,f=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],d=l[u],g=l[u+2]-d,v=s[u],m=s[u+2]-v;e[u]=2*h/p*g/m,t[u]=2*(c-f)/p*g/m}r[1]=2*n.pixelRatio/(s[3]-s[1]),r[0]=r[1]*(s[3]-s[1])/(s[2]-s[0]),i.uniforms.dataScale=e,i.uniforms.dataShift=t,i.uniforms.textScale=r,this.vbo.bind(),i.attributes.textCoordinate.pointer()}}(),CE.update=function(t){var e,r,n,i,a,o=[],s=t.ticks,l=t.bounds;for(a=0;a<2;++a){var u=[Math.floor(o.length/3)],c=[-1/0],h=s[a];for(e=0;e<h.length;++e){var f=h[e],p=f.x,d=f.text,g=f.font||\\\"sans-serif\\\";i=f.fontSize||12;for(var v=1/(l[a+2]-l[a]),m=l[a],y=d.split(\\\"\\\\n\\\"),x=0;x<y.length;x++)for(n=TE(g,y[x]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-x*i*1.2,(p-m)*v);u.push(Math.floor(o.length/3)),c.push(p)}this.tickOffset[a]=u,this.tickX[a]=c}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=TE(t.labelFont[a],t.labels[a],{textAlign:\\\"center\\\"}).data,i=t.labelSize[a],e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.labelCount[a]=Math.floor(o.length/3)-this.labelOffset[a]}for(this.titleOffset=Math.floor(o.length/3),n=TE(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)o.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(o.length/3)-this.titleOffset,this.vbo.update(o)},CE.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var LE=nb,zE=function(t){if(arguments.length<=1)throw new Error(\\\"gl-texture2d: Missing arguments for texture2d constructor\\\");PE||function(t){PE=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],IE=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],DE=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if(\\\"number\\\"==typeof arguments[1])return UE(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return UE(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=OE(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new BE(t,o,r,n,i,a)}(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 function(t,e){var r=e.dtype,n=e.shape.slice(),i=t.getParameter(t.MAX_TEXTURE_SIZE);if(n[0]<0||n[0]>i||n[1]<0||n[1]>i)throw new Error(\\\"gl-texture2d: Invalid texture size\\\");var a=jE(n,e.stride.slice()),o=0;\\\"float32\\\"===r?o=t.FLOAT:\\\"float64\\\"===r?(o=t.FLOAT,a=!1,r=\\\"float32\\\"):\\\"uint8\\\"===r?o=t.UNSIGNED_BYTE:(o=t.UNSIGNED_BYTE,a=!1,r=\\\"uint8\\\");var s,l,u=0;if(2===n.length)u=t.LUMINANCE,n=[n[0],n[1],1],e=wb(e.data,n,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==n.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===n[2])u=t.ALPHA;else if(2===n[2])u=t.LUMINANCE_ALPHA;else if(3===n[2])u=t.RGB;else{if(4!==n[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");u=t.RGBA}}o!==t.FLOAT||t.getExtension(\\\"OES_texture_float\\\")||(o=t.UNSIGNED_BYTE,a=!1);var c=e.size;if(a)s=0===e.offset&&e.data.length===c?e.data:e.data.subarray(e.offset,e.offset+c);else{var h=[n[2],n[2]*n[0],1];l=__.malloc(c,r);var f=wb(l,n,h,0);\\\"float32\\\"!==r&&\\\"float64\\\"!==r||o!==t.UNSIGNED_BYTE?ib.assign(f,e):RE(f,e),s=l.subarray(0,c)}var p=VE(t);t.texImage2D(t.TEXTURE_2D,0,u,n[0],n[1],0,u,o,s),a||__.free(l);return new BE(t,p,n[0],n[1],u,o)}(t,e)}throw new Error(\\\"gl-texture2d: Invalid arguments for texture2d constructor\\\")},PE=null,IE=null,DE=null;function OE(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 RE=function(t,e){ib.muls(t,e,255)};function FE(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)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 BE(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,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 NE=BE.prototype;function jE(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 VE(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 UE(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-texture2d: Invalid texture shape\\\");if(i===t.FLOAT&&!t.getExtension(\\\"OES_texture_float\\\"))throw new Error(\\\"gl-texture2d: Floating point textures not supported on this platform\\\");var o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new BE(t,o,e,r,n,i)}Object.defineProperties(NE,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&PE.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),IE.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&&PE.indexOf(t)>=0&&(e.getExtension(\\\"OES_texture_float_linear\\\")||(t=e.NEAREST)),IE.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(),DE.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(),DE.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(DE.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 FE(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return FE(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,FE(this,this._shape[0],t),t}}}),NE.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},NE.dispose=function(){this.gl.deleteTexture(this.handle)},NE.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)},NE.setPixels=function(t,e,r,n){var i=this.gl;this.bind(),Array.isArray(e)?(n=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),n=n||0;var a=OE(t)?t:t.raw;if(a){this._mipLevels.indexOf(n)<0?(i.texImage2D(i.TEXTURE_2D,0,this.format,this.format,this.type,a),this._mipLevels.push(n)):i.texSubImage2D(i.TEXTURE_2D,n,e,r,this.format,this.type,a)}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]>>>n||r+t.shape[0]>this._shape[0]>>>n||e<0||r<0)throw new Error(\\\"gl-texture2d: Texture dimensions are out of bounds\\\");!function(t,e,r,n,i,a,o,s){var l=s.dtype,u=s.shape.slice();if(u.length<2||u.length>3)throw new Error(\\\"gl-texture2d: Invalid ndarray, must be 2d or 3d\\\");var c=0,h=0,f=jE(u,s.stride.slice());\\\"float32\\\"===l?c=t.FLOAT:\\\"float64\\\"===l?(c=t.FLOAT,f=!1,l=\\\"float32\\\"):\\\"uint8\\\"===l?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,f=!1,l=\\\"uint8\\\");if(2===u.length)h=t.LUMINANCE,u=[u[0],u[1],1],s=wb(s.data,u,[s.stride[0],s.stride[1],1],s.offset);else{if(3!==u.length)throw new Error(\\\"gl-texture2d: Invalid shape for texture\\\");if(1===u[2])h=t.ALPHA;else if(2===u[2])h=t.LUMINANCE_ALPHA;else if(3===u[2])h=t.RGB;else{if(4!==u[2])throw new Error(\\\"gl-texture2d: Invalid shape for pixel coords\\\");h=t.RGBA}u[2]}h!==t.LUMINANCE&&h!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(h=i);if(h!==i)throw new Error(\\\"gl-texture2d: Incompatible texture format for setPixels\\\");var p=s.size,d=o.indexOf(n)<0;d&&o.push(n);if(c===a&&f)0===s.offset&&s.data.length===p?d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data):d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data.subarray(s.offset,s.offset+p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data.subarray(s.offset,s.offset+p));else{var g;g=a===t.FLOAT?__.mallocFloat32(p):__.mallocUint8(p);var v=wb(g,u,[u[2],u[2]*u[0],1]);c===t.FLOAT&&a===t.UNSIGNED_BYTE?RE(v,s):ib.assign(v,s),d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,g.subarray(0,p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,g.subarray(0,p)),a===t.FLOAT?__.freeFloat32(g):__.freeUint8(g)}}(i,e,r,n,this.format,this.type,this._mipLevels,t)}};var qE,HE,GE,WE,YE=function(t,e,r,n){qE||(qE=t.FRAMEBUFFER_UNSUPPORTED,HE=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,GE=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,WE=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\\\"WEBGL_draw_buffers\\\");!XE&&i&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);XE=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;XE[n]=i}}(t,i);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 a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\\\"gl-fbo: Parameters are too large for FBO\\\");var o=1;if(\\\"color\\\"in(n=n||{})){if((o=Math.max(0|n.color,0))<0)throw new Error(\\\"gl-fbo: Must specify a nonnegative number of colors\\\");if(o>1){if(!i)throw new Error(\\\"gl-fbo: Multiple draw buffer extension not supported\\\");if(o>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\\\"gl-fbo: Context does not support \\\"+o+\\\" draw buffers\\\")}}var s=t.UNSIGNED_BYTE,l=t.getExtension(\\\"OES_texture_float\\\");if(n.float&&o>0){if(!l)throw new Error(\\\"gl-fbo: Context does not support floating point textures\\\");s=t.FLOAT}else n.preferFloat&&o>0&&l&&(s=t.FLOAT);var u=!0;\\\"depth\\\"in n&&(u=!!n.depth);var c=!1;\\\"stencil\\\"in n&&(c=!!n.stencil);return new tC(t,e,r,s,o,u,c,i)},XE=null;function ZE(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function JE(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function KE(t){switch(t){case qE:throw new Error(\\\"gl-fbo: Framebuffer unsupported\\\");case HE:throw new Error(\\\"gl-fbo: Framebuffer incomplete attachment\\\");case GE:throw new Error(\\\"gl-fbo: Framebuffer incomplete dimensions\\\");case WE:throw new Error(\\\"gl-fbo: Framebuffer incomplete missing attachment\\\");default:throw new Error(\\\"gl-fbo: Framebuffer failed for unspecified reason\\\")}}function QE(t,e,r,n,i,a){if(!n)return null;var o=zE(t,e,r,i,n);return o.magFilter=t.NEAREST,o.minFilter=t.NEAREST,o.mipSamples=1,o.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,a,t.TEXTURE_2D,o.handle,0),o}function $E(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function tC(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var l=0;l<i;++l)this.color[l]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var u=this,c=[0|e,0|r];Object.defineProperties(c,{0:{get:function(){return u._shape[0]},set:function(t){return u.width=t}},1:{get:function(){return u._shape[1]},set:function(t){return u.height=t}}}),this._shapeVector=c,function(t){var e=ZE(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,l=t._useStencil,u=t._useDepth,c=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var h=0;h<o;++h)t.color[h]=QE(r,i,a,c,r.RGBA,r.COLOR_ATTACHMENT0+h);0===o?(t._color_rb=$E(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(XE[0])):o>1&&s.drawBuffersWEBGL(XE[o]);var f=r.getExtension(\\\"WEBGL_depth_texture\\\");f?l?t.depth=QE(r,i,a,f.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u&&(t.depth=QE(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):u&&l?t._depth_rb=$E(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u?t._depth_rb=$E(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):l&&(t._depth_rb=$E(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var p=r.checkFramebufferStatus(r.FRAMEBUFFER);if(p!==r.FRAMEBUFFER_COMPLETE){for(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),h=0;h<t.color.length;++h)t.color[h].dispose(),t.color[h]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),JE(r,e),KE(p)}JE(r,e)}(this)}var eC=tC.prototype;function rC(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,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\\\"gl-fbo: Can't resize FBO, invalid dimensions\\\");t._shape[0]=e,t._shape[1]=r;for(var a=ZE(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(),JE(n,a),KE(s)),JE(n,a)}}Object.defineProperties(eC,{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 rC(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return rC(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,rC(this,this._shape[0],t),t},enumerable:!1}}),eC.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])}},eC.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)}};var nC=function(t,e){var r=YE(t,e),n=__.mallocUint8(e[0]*e[1]*4);return new oC(t,r,n)},iC=Mb.nextPow2,aC=LE({args:[\\\"array\\\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\\\"scalar\\\",\\\"scalar\\\",\\\"index\\\"],pre:{body:\\\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},body:{body:\\\"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\\\",args:[{name:\\\"_inline_16_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg1_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg4_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg5_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_16_arg6_\\\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[\\\"_inline_16_a\\\",\\\"_inline_16_f\\\",\\\"_inline_16_l\\\"]},post:{body:\\\"{return[this_closestX,this_closestY,this_closestD2]}\\\",args:[],thisVars:[\\\"this_closestD2\\\",\\\"this_closestX\\\",\\\"this_closestY\\\"],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64});function oC(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 sC=oC.prototype;Object.defineProperty(sC,\\\"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){__.free(this.buffer);for(var n=this.buffer=__.mallocUint8(iC(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),sC.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))},sC.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},sC.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 i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),o=0|Math.min(Math.max(e-r,0),n[1]),s=0|Math.min(Math.max(e+r,0),n[1]);if(a<=i||s<=o)return null;var l=[a-i,s-o],u=wb(this.buffer,[l[0],l[1],4],[4,4*n[0],1],4*(i+n[0]*o)),c=aC(u.hi(l[0],l[1],1),r,r),h=c[0],f=c[1];return h<0||Math.pow(this.radius,2)<c[2]?null:new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(h+i|0,f+o|0,u.get(h,f,0),[u.get(h,f,1),u.get(h,f,2),u.get(h,f,3)],Math.sqrt(c[2]))},sC.dispose=function(){this.gl&&(this.fbo.dispose(),__.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};var lC=function(t){var e=t.gl,r=nC(e,[e.drawingBufferWidth,e.drawingBufferHeight]),n=new uC(e,r);return n.grid=Jw(n),n.text=SE(n),n.line=aM(n),n.box=Nw(n),n.update(t),n};function uC(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 cC=uC.prototype;function hC(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function fC(t,e){return t.x-e.x}cC.setDirty=function(){this.dirty=this.pickDirty=!0},cC.setOverlayDirty=function(){this.dirty=!0},cC.nextDepthValue=function(){return this._depthCounter++/65536},cC.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=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 u=this.borderColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[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 c=this.backgroundColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT),a.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 v=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(v[1]&&o.drawLine(r[0],r[1]-.5*m[1]*i,r[0],r[3]+.5*m[3]*i,m[1],y[1]),v[0]&&o.drawLine(r[0]-.5*m[0]*i,r[1],r[2]+.5*m[2]*i,r[1],m[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*m[1]*i,r[2],r[3]+.5*m[3]*i,m[3],y[3]),v[2]&&o.drawLine(r[0]-.5*m[0]*i,r[3],r[2]+.5*m[2]*i,r[3],m[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)}},cC.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()}},cC.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var h=u[c].pick(a,o,l);if(h)return h}return null}},cC.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()},cC.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())},cC.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()},cC.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,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),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=hC(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=hC(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=hC(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=hC(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=hC(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=hC(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=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=a[s].slice(0);0!==l.length&&(l.sort(fC),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:a}),this.text.update({bounds:o,ticks:a,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()},cC.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},cC.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},cC.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}},cC.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},cC.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}};var pC={};pC.boxVertex=E_([\\\"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\\\"]),pC.boxFragment=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\\n\\\"]);var dC=function(t,e){var r=t.gl,n=S_(r,[0,0,0,1,1,0,1,1]),i=Bw(r,pC.boxVertex,pC.boxFragment),a=new gC(t,n,i);return a.update(e),t.addOverlay(a),a};function gC(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}var vC=gC.prototype;vC.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,u=t.viewBox,c=t.pixelRatio,h=(e[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],f=(e[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],p=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],d=(e[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(h=Math.max(h,u[0]),f=Math.max(f,u[1]),p=Math.min(p,u[2]),d=Math.min(d,u[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,i),o.drawBox(0,f,h,d,i),o.drawBox(0,d,g,v,i),o.drawBox(p,f,g,d,i)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var m=r*c;o.drawBox(h-m,f-m,p+m,f+m,a),o.drawBox(h-m,d-m,p+m,d+m,a),o.drawBox(h-m,f-m,h+m,d+m,a),o.drawBox(p-m,f-m,p+m,d+m,a)}}}},vC.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()},vC.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)};var mC=function(t,e){var r=new yC(t);return r.update(e),t.addOverlay(r),r};function yC(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]}var xC=yC.prototype;xC.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()},xC.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.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]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,u,s[0],u,e[0],r[0]),t[1]&&a.drawLine(l,u,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,u,s[2],u,e[2],r[2]),t[3]&&a.drawLine(l,u,l,s[3],e[3],r[3])}},xC.dispose=function(){this.plot.removeOverlay(this)};var bC=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,i=e;try{var a=[t];0===t.indexOf(\\\"webgl\\\")&&a.push(\\\"experimental-\\\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null};var _C=function(t){return bC(\\\"webgl\\\",t)},wC=function(t){return t.split(\\\"\\\").map(function(t){return t in MC?MC[t]:\\\"\\\"}).join(\\\"\\\")},MC={\\\" \\\":\\\" \\\",0:\\\"\\\\u2070\\\",1:\\\"\\\\xb9\\\",2:\\\"\\\\xb2\\\",3:\\\"\\\\xb3\\\",4:\\\"\\\\u2074\\\",5:\\\"\\\\u2075\\\",6:\\\"\\\\u2076\\\",7:\\\"\\\\u2077\\\",8:\\\"\\\\u2078\\\",9:\\\"\\\\u2079\\\",\\\"+\\\":\\\"\\\\u207a\\\",\\\"-\\\":\\\"\\\\u207b\\\",a:\\\"\\\\u1d43\\\",b:\\\"\\\\u1d47\\\",c:\\\"\\\\u1d9c\\\",d:\\\"\\\\u1d48\\\",e:\\\"\\\\u1d49\\\",f:\\\"\\\\u1da0\\\",g:\\\"\\\\u1d4d\\\",h:\\\"\\\\u02b0\\\",i:\\\"\\\\u2071\\\",j:\\\"\\\\u02b2\\\",k:\\\"\\\\u1d4f\\\",l:\\\"\\\\u02e1\\\",m:\\\"\\\\u1d50\\\",n:\\\"\\\\u207f\\\",o:\\\"\\\\u1d52\\\",p:\\\"\\\\u1d56\\\",r:\\\"\\\\u02b3\\\",s:\\\"\\\\u02e2\\\",t:\\\"\\\\u1d57\\\",u:\\\"\\\\u1d58\\\",v:\\\"\\\\u1d5b\\\",w:\\\"\\\\u02b7\\\",x:\\\"\\\\u02e3\\\",y:\\\"\\\\u02b8\\\",z:\\\"\\\\u1dbb\\\"};var AC=function(t){return\\\"\\\"+function(t){for(var e=tr.entityToUnicode,r=0;(r=t.indexOf(\\\"&\\\",r))>=0;){var n=t.indexOf(\\\";\\\",r);if(n<r)r+=1;else{var i=e[t.slice(r+1,n)];t=i?t.slice(0,r)+i+t.slice(n+1):t.slice(0,r)+t.slice(n+1)}}return t}(function(t){return t.replace(/\\\\<.*\\\\>/g,\\\"\\\")}(function(t){for(var e=0;(e=t.indexOf(\\\"<sup>\\\",e))>=0;){var r=t.indexOf(\\\"</sup>\\\",e);if(r<e)break;t=t.slice(0,e)+wC(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\\\<br\\\\>/g,\\\"\\\\n\\\"))))},kC=function(){},TC=function(t){for(var e in t)\\\"function\\\"==typeof t[e]&&(t[e]=kC);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\\\"div\\\");return r.textContent=\\\"Webgl is not supported by your browser - visit http://get.webgl.org for more info\\\",r.style.cursor=\\\"pointer\\\",r.style.fontSize=\\\"24px\\\",r.style.color=Oe.defaults[0],t.container.appendChild(r),t.container.style.background=\\\"#FFFFFF\\\",t.container.onclick=function(){window.open(\\\"http://get.webgl.org\\\")},!1},SC={};function EC(t){return t.target||t.srcElement||window}SC.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},SC.element=EC,SC.x=function(t){if(\\\"object\\\"==typeof t){if(\\\"offsetX\\\"in t)return t.offsetX;var e=EC(t).getBoundingClientRect();return t.clientX-e.left}return 0},SC.y=function(t){if(\\\"object\\\"==typeof t){if(\\\"offsetY\\\"in t)return t.offsetY;var e=EC(t).getBoundingClientRect();return t.clientY-e.top}return 0};var CC=function(t,e){e||(e=t,t=window);var r=0,n=0,i=0,a={shift:!1,alt:!1,control:!1,meta:!1},o=!1;function s(t){var e=!1;return\\\"altKey\\\"in t&&(e=e||t.altKey!==a.alt,a.alt=!!t.altKey),\\\"shiftKey\\\"in t&&(e=e||t.shiftKey!==a.shift,a.shift=!!t.shiftKey),\\\"ctrlKey\\\"in t&&(e=e||t.ctrlKey!==a.control,a.control=!!t.ctrlKey),\\\"metaKey\\\"in t&&(e=e||t.metaKey!==a.meta,a.meta=!!t.metaKey),e}function l(t,o){var l=SC.x(o),u=SC.y(o);\\\"buttons\\\"in o&&(t=0|o.buttons),(t!==r||l!==n||u!==i||s(o))&&(r=0|t,n=l||0,i=u||0,e&&e(r,n,i,a))}function u(t){l(0,t)}function c(){(r||n||i||a.shift||a.alt||a.meta||a.control)&&(n=i=0,r=0,a.shift=a.alt=a.control=a.meta=!1,e&&e(0,0,0,a))}function h(t){s(t)&&e&&e(r,n,i,a)}function f(t){0===SC.buttons(t)?l(0,t):l(r,t)}function p(t){l(r|SC.buttons(t),t)}function d(t){l(r&~SC.buttons(t),t)}function g(){o||(o=!0,t.addEventListener(\\\"mousemove\\\",f),t.addEventListener(\\\"mousedown\\\",p),t.addEventListener(\\\"mouseup\\\",d),t.addEventListener(\\\"mouseleave\\\",u),t.addEventListener(\\\"mouseenter\\\",u),t.addEventListener(\\\"mouseout\\\",u),t.addEventListener(\\\"mouseover\\\",u),t.addEventListener(\\\"blur\\\",c),t.addEventListener(\\\"keyup\\\",h),t.addEventListener(\\\"keydown\\\",h),t.addEventListener(\\\"keypress\\\",h),t!==window&&(window.addEventListener(\\\"blur\\\",c),window.addEventListener(\\\"keyup\\\",h),window.addEventListener(\\\"keydown\\\",h),window.addEventListener(\\\"keypress\\\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return o},set:function(e){e?g():o&&(o=!1,t.removeEventListener(\\\"mousemove\\\",f),t.removeEventListener(\\\"mousedown\\\",p),t.removeEventListener(\\\"mouseup\\\",d),t.removeEventListener(\\\"mouseleave\\\",u),t.removeEventListener(\\\"mouseenter\\\",u),t.removeEventListener(\\\"mouseout\\\",u),t.removeEventListener(\\\"mouseover\\\",u),t.removeEventListener(\\\"blur\\\",c),t.removeEventListener(\\\"keyup\\\",h),t.removeEventListener(\\\"keydown\\\",h),t.removeEventListener(\\\"keypress\\\",h),t!==window&&(window.removeEventListener(\\\"blur\\\",c),window.removeEventListener(\\\"keyup\\\",h),window.removeEventListener(\\\"keydown\\\",h),window.removeEventListener(\\\"keypress\\\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return n},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return a},enumerable:!0}}),v};var LC=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},zC=DC,PC=96;function IC(t,e){var r=LC(getComputedStyle(t).getPropertyValue(e));return r[0]*DC(r[1],t)}function DC(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=IC(r,\\\"font-size\\\")/128;return e.removeChild(r),n}(t,e);case\\\"em\\\":return IC(e,\\\"font-size\\\");case\\\"rem\\\":return IC(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 PC;case\\\"cm\\\":return PC/2.54;case\\\"mm\\\":return PC/25.4;case\\\"pt\\\":return PC/72;case\\\"pc\\\":return PC/6}return 1}var OC=function(t,e,r){\\\"function\\\"==typeof t&&(r=!!e,e=t,t=window);var n=zC(\\\"ex\\\",t),i=function(t){r&&t.preventDefault();var i=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=n;break;case 2:l=window.innerHeight}if(a*=l,o*=l,(i*=l)||a||o)return e(i,a,o,t)};return t.addEventListener(\\\"wheel\\\",i),i};var RC=function(t){var e=t.mouseContainer,r=t.glplot,n=new function(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,r);function i(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function a(e,a,o){var s,l,u=t.calcDataBox(),c=r.viewBox,h=n.lastPos[0],f=n.lastPos[1],p=Te.MINDRAG*r.pixelRatio,d=Te.MINZOOM*r.pixelRatio;function g(e,r,i){var a=Math.min(r,i),o=Math.max(r,i);a!==o?(u[e]=a,u[e+2]=o,n.dataBox=u,t.setRanges(u)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(a*=r.pixelRatio,o*=r.pixelRatio,o=c[3]-c[1]-o,t.fullLayout.dragmode){case\\\"zoom\\\":if(e){var v=a/(c[2]-c[0])*(u[2]-u[0])+u[0],m=o/(c[3]-c[1])*(u[3]-u[1])+u[1];n.boxInited||(n.boxStart[0]=v,n.boxStart[1]=m,n.dragStart[0]=a,n.dragStart[1]=o),n.boxEnd[0]=v,n.boxEnd[1]=m,n.boxInited=!0,n.boxEnabled||n.boxStart[0]===n.boxEnd[0]&&n.boxStart[1]===n.boxEnd[1]||(n.boxEnabled=!0);var y=Math.abs(n.dragStart[0]-a)<d,x=Math.abs(n.dragStart[1]-o)<d;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||y&&x)y&&(n.boxEnd[0]=n.boxStart[0]),x&&(n.boxEnd[1]=n.boxStart[1]);else{s=n.boxEnd[0]-n.boxStart[0],l=n.boxEnd[1]-n.boxStart[1];var b=(u[3]-u[1])/(u[2]-u[0]);Math.abs(s*b)>Math.abs(l)?(n.boxEnd[1]=n.boxStart[1]+Math.abs(s)*b*(l>=0?1:-1),n.boxEnd[1]<u[1]?(n.boxEnd[1]=u[1],n.boxEnd[0]=n.boxStart[0]+(u[1]-n.boxStart[1])/Math.abs(b)):n.boxEnd[1]>u[3]&&(n.boxEnd[1]=u[3],n.boxEnd[0]=n.boxStart[0]+(u[3]-n.boxStart[1])/Math.abs(b))):(n.boxEnd[0]=n.boxStart[0]+Math.abs(l)/b*(s>=0?1:-1),n.boxEnd[0]<u[0]?(n.boxEnd[0]=u[0],n.boxEnd[1]=n.boxStart[1]+(u[0]-n.boxStart[0])*Math.abs(b)):n.boxEnd[0]>u[2]&&(n.boxEnd[0]=u[2],n.boxEnd[1]=n.boxStart[1]+(u[2]-n.boxStart[0])*Math.abs(b)))}}else n.boxEnabled?(s=n.boxStart[0]!==n.boxEnd[0],l=n.boxStart[1]!==n.boxEnd[1],s||l?(s&&(g(0,n.boxStart[0],n.boxEnd[0]),t.xaxis.autorange=!1),l&&(g(1,n.boxStart[1],n.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),n.boxEnabled=!1,n.boxInited=!1):n.boxInited&&(n.boxInited=!1);break;case\\\"pan\\\":n.boxEnabled=!1,n.boxInited=!1,e?(n.panning||(n.dragStart[0]=a,n.dragStart[1]=o),Math.abs(n.dragStart[0]-a)<p&&(a=n.dragStart[0]),Math.abs(n.dragStart[1]-o)<p&&(o=n.dragStart[1]),s=(h-a)*(u[2]-u[0])/(r.viewBox[2]-r.viewBox[0]),l=(f-o)*(u[3]-u[1])/(r.viewBox[3]-r.viewBox[1]),u[0]+=s,u[2]+=s,u[1]+=l,u[3]+=l,t.setRanges(u),n.panning=!0,n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations()):n.panning&&(n.panning=!1,t.relayoutCallback())}n.lastPos[0]=a,n.lastPos[1]=o}return n.mouseListener=CC(e,a),e.addEventListener(\\\"touchstart\\\",function(t){var r=La(t.changedTouches[0],e);a(0,r[0],r[1]),a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\\\"touchmove\\\",function(t){t.preventDefault();var r=La(t.changedTouches[0],e);a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\\\"touchend\\\",function(t){a(0,n.lastPos[0],n.lastPos[1]),t.preventDefault()},!!Ea&&{passive:!1}),n.wheelListener=OC(e,function(e,a){if(!t.scrollZoom)return!1;var o=t.calcDataBox(),s=r.viewBox,l=n.lastPos[0],u=n.lastPos[1],c=Math.exp(5*a/(s[3]-s[1])),h=l/(s[2]-s[0])*(o[2]-o[0])+o[0],f=u/(s[3]-s[1])*(o[3]-o[1])+o[1];return o[0]=(o[0]-h)*c+h,o[2]=(o[2]-h)*c+h,o[1]=(o[1]-f)*c+f,o[3]=(o[3]-f)*c+f,t.setRanges(o),n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),n};var FC=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t};var BC={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]},NC=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]},jC=Object.prototype.toString,VC=function(t){var e;return\\\"[object Object]\\\"===jC.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))},UC={};(function(t){\\\"use strict\\\";UC=function(r){var n,i,a=[],o=1;if(\\\"string\\\"==typeof r)if(BC[r])a=BC[r].slice(),i=\\\"rgb\\\";else if(\\\"transparent\\\"===r)o=0,i=\\\"rgb\\\",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(r)){var s=r.slice(1),l=s.length,u=l<=4;o=1,u?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i=\\\"rgb\\\"}else if(n=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\\\s*\\\\(([^\\\\)]*)\\\\)/.exec(r)){var c=n[1],s=c.replace(/a$/,\\\"\\\");i=s;var l=\\\"cmyk\\\"===s?4:\\\"gray\\\"===s?1:3;a=n[2].trim().split(/\\\\s*,\\\\s*/).map(function(t,r){if(/%$/.test(t))return r===l?parseFloat(t)/100:\\\"rgb\\\"===s?255*parseFloat(t)/100:parseFloat(t);if(\\\"h\\\"===s[r]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==e[t])return e[t]}return parseFloat(t)}),c===s&&a.push(1),o=void 0===a[l]?1:a[l],a=a.slice(0,l)}else r.length>10&&/[0-9](?:\\\\s|\\\\/)/.test(r)&&(a=r.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),i=r.match(/([a-z])/gi).join(\\\"\\\").toLowerCase());else if(\\\"number\\\"==typeof r)i=\\\"rgb\\\",a=[r>>>16,(65280&r)>>>8,255&r];else if(VC(r)){var h=NC(r.r,r.red,r.R,null);null!==h?(i=\\\"rgb\\\",a=[h,NC(r.g,r.green,r.G),NC(r.b,r.blue,r.B)]):(i=\\\"hsl\\\",a=[NC(r.h,r.hue,r.H),NC(r.s,r.saturation,r.S),NC(r.l,r.lightness,r.L,r.b,r.brightness)]),o=NC(r.a,r.alpha,r.opacity,1),null!=r.opacity&&(o/=100)}else(Array.isArray(r)||t.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(r))&&(a=[r[0],r[1],r[2]],i=\\\"rgb\\\",o=4===r.length?r[3]:1);return{space:i,values:a,alpha:o}};var e={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:{});var qC=function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i},HC=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}},GC=function(t,e){\\\"float\\\"!==e&&e||(e=\\\"array\\\"),\\\"uint\\\"===e&&(e=\\\"uint8\\\"),\\\"uint_clamped\\\"===e&&(e=\\\"uint8_clamped\\\");var r=HC(e),n=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(n.set(t),n);var i=\\\"uint8\\\"!==e&&\\\"uint8_clamped\\\"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:255,i&&(n[0]/=255,n[1]/=255,n[2]/=255,n[3]/=255),n):(t.length&&\\\"string\\\"!=typeof t||((t=function(t){var e;if(\\\"string\\\"!=typeof t)throw Error(\\\"Argument should be a string\\\");var r=UC(t);return r.space?((e=Array(3))[0]=FC(r.values[0],0,255),e[1]=FC(r.values[1],0,255),e[2]=FC(r.values[2],0,255),\\\"h\\\"===r.space[0]&&(e=qC(e)),e.push(FC(r.alpha,0,1)),e):[]}(t))[0]/=255,t[1]/=255,t[2]/=255),i?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:1):(n[0]=FC(Math.round(255*t[0]),0,255),n[1]=FC(Math.round(255*t[1]),0,255),n[2]=FC(Math.round(255*t[2]),0,255),n[3]=null==t[3]?255:FC(Math.floor(255*t[3]),0,255)),n)};var WC=function(t){return t?GC(t):[0,0,0,1]};function YC(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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var XC=YC.prototype,ZC=[\\\"xaxis\\\",\\\"yaxis\\\"];XC.merge=function(t){var e,r,n,i,a,o,s,l,u,c,h;for(this.titleEnable=!1,this.backgroundColor=WC(t.plot_bgcolor),c=0;c<2;++c){var f=(e=ZC[c]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[f]?\\\"\\\":r.title,h=0;h<=2;h+=2)this.labelEnable[c+h]=!1,this.labels[c+h]=AC(n),this.labelColor[c+h]=WC(r.titlefont.color),this.labelFont[c+h]=r.titlefont.family,this.labelSize[c+h]=r.titlefont.size,this.labelPad[c+h]=this.getLabelPad(e,r),this.tickEnable[c+h]=!1,this.tickColor[c+h]=WC((r.tickfont||{}).color),this.tickAngle[c+h]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[c+h]=this.getTickPad(r),this.tickMarkLength[c+h]=0,this.tickMarkWidth[c+h]=r.tickwidth||0,this.tickMarkColor[c+h]=WC(r.tickcolor),this.borderLineEnable[c+h]=!1,this.borderLineColor[c+h]=WC(r.linecolor),this.borderLineWidth[c+h]=r.linewidth||0;s=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!s,o=this.hasAxisInAltrPos(e,r)&&!s,i=r.mirror||!1,l=s?-1!==String(i).indexOf(\\\"all\\\"):!!i,u=s?\\\"allticks\\\"===i:-1!==String(i).indexOf(\\\"ticks\\\"),a?this.labelEnable[c]=!0:o&&(this.labelEnable[c+2]=!0),a?this.tickEnable[c]=r.showticklabels:o&&(this.tickEnable[c+2]=r.showticklabels),(a||l)&&(this.borderLineEnable[c]=r.showline),(o||l)&&(this.borderLineEnable[c+2]=r.showline),(a||u)&&(this.tickMarkLength[c]=this.getTickMarkLength(r)),(o||u)&&(this.tickMarkLength[c+2]=this.getTickMarkLength(r)),this.gridLineEnable[c]=r.showgrid,this.gridLineColor[c]=WC(r.gridcolor),this.gridLineWidth[c]=r.gridwidth,this.zeroLineEnable[c]=r.zeroline,this.zeroLineColor[c]=WC(r.zerolinecolor),this.zeroLineWidth[c]=r.zerolinewidth}},XC.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==ri.findSubplotsWithAxis(r,t).indexOf(e.id)},XC.hasAxisInDfltPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"bottom\\\"===r:\\\"yaxis\\\"===t?\\\"left\\\"===r:void 0},XC.hasAxisInAltrPos=function(t,e){var r=e.side;return\\\"xaxis\\\"===t?\\\"top\\\"===r:\\\"yaxis\\\"===t?\\\"right\\\"===r:void 0},XC.getLabelPad=function(t,e){var r=e.titlefont.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},XC.getTickPad=function(t){return\\\"outside\\\"===t.ticks?10+t.ticklen:15},XC.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\\\"inside\\\"===t.ticks?-e:e};var JC,KC,QC=function(t){return new YC(t)},$C=Gm.enforce,tL=Gm.clean,eL=Nn,rL=[\\\"xaxis\\\",\\\"yaxis\\\"],nL=Te.SUBPLOT_PATTERN;function iL(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,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=QC(this),this.glplotOptions.merge(e),this.glplot=lC(this.glplotOptions),this.camera=RC(this),this.traces={},this.spikes=mC(this.glplot),this.selectBox=dC(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()}var aL=iL,oL=iL.prototype;oL.makeFramework=function(){if(this.staticPlot){if(!(KC||(JC=document.createElement(\\\"canvas\\\"),KC=_C({canvas:JC,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"Error creating static canvas/context for image server\\\");this.canvas=JC,this.gl=KC}else{var t=this.container.querySelector(\\\".gl-canvas-focus\\\"),e=_C({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||TC(this),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 n=this.svgContainer=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");n.style.position=\\\"absolute\\\",n.style.top=n.style.left=\\\"0px\\\",n.style.width=n.style.height=\\\"100%\\\",n.style[\\\"z-index\\\"]=20,n.style[\\\"pointer-events\\\"]=\\\"none\\\";var i=this.mouseContainer=document.createElement(\\\"div\\\");i.style.position=\\\"absolute\\\",i.style[\\\"pointer-events\\\"]=\\\"auto\\\",this.pickCanvas=this.container.querySelector(\\\".gl-canvas-pick\\\");var a=this.container;a.appendChild(n),a.appendChild(i);var o=this;i.addEventListener(\\\"mouseout\\\",function(){o.isMouseOver=!1,o.unhover()}),i.addEventListener(\\\"mouseover\\\",function(){o.isMouseOver=!0})},oL.toImage=function(t){t||(t=\\\"png\\\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(JC),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=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*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var c=document.createElement(\\\"canvas\\\");c.width=r,c.height=n;var h,f=c.getContext(\\\"2d\\\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\\\"jpeg\\\":h=c.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=c.toDataURL(\\\"image/webp\\\");break;default:h=c.toDataURL(\\\"image/png\\\")}return this.staticPlot&&this.container.removeChild(JC),h},oL.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},oL.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[ri.calcTicks(this.xaxis),ri.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=AC(t[e][r].text+\\\"\\\");return t},oL.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(nL),r=\\\"xaxis\\\"+e[1],n=\\\"yaxis\\\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},oL.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\\\"plotly_relayout\\\",i)},oL.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],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].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())},oL.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&&P.getComponentMethod(\\\"annotations\\\",\\\"drawOne\\\")(t,r)}},oL.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}},oL.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 i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};tL(s,this.xaxis),tL(s,this.yaxis);var l,u,c=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[c.l+h[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-h[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(h[1]-h[0])+\\\"px\\\",this.mouseContainer.style.height=c.h*(f[1]-f[0])+\\\"px\\\",this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+h[0]*c.w+\\\"px\\\",this.mouseContainer.style.top=c.t+(1-f[1])*c.h+\\\"px\\\",u=0;u<2;++u)(l=this[rL[u]])._length=o.viewBox[u+2]-o.viewBox[u],eL(l),l.setScale();$C(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},oL.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},oL.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},oL.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},oL.updateFx=function(t){\\\"lasso\\\"===t||\\\"select\\\"===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},oL.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};yo.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},oL.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,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\\\"zoom\\\"===i.dragmode){this.selectBox.enabled=!0;for(var l=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]&&(l[u]=t.dataBox[u],l[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var c=i._size,h=this.xaxis.domain,f=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+c.l+h[0]*c.w,s/t.pixelRatio-(c.t+(1-f[1])*c.h)))&&a.object._trace.handlePick(a);if(p&&n&&this.emitPointAction(p,\\\"plotly_click\\\"),a&&\\\"skip\\\"!==a.object._trace.hoverinfo&&i.hovermode&&p&&(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var d=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),d.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(p,\\\"plotly_hover\\\");var g=this.fullData[d.trace.index]||{},v=d.pointIndex,m=yo.castHoverinfo(g,i,v);if(m&&\\\"all\\\"!==m){var y=m.split(\\\"+\\\");-1===y.indexOf(\\\"x\\\")&&(d.traceCoord[0]=void 0),-1===y.indexOf(\\\"y\\\")&&(d.traceCoord[1]=void 0),-1===y.indexOf(\\\"z\\\")&&(d.traceCoord[2]=void 0),-1===y.indexOf(\\\"text\\\")&&(d.textLabel=void 0),-1===y.indexOf(\\\"name\\\")&&(d.name=void 0)}yo.loneHover({x:d.screenCoord[0],y:d.screenCoord[1],xLabel:this.hoverFormatter(\\\"xaxis\\\",d.traceCoord[0]),yLabel:this.hoverFormatter(\\\"yaxis\\\",d.traceCoord[1]),zLabel:d.traceCoord[2],text:d.textLabel,name:d.name,color:yo.castHoverOption(g,v,\\\"bgcolor\\\")||d.color,borderColor:yo.castHoverOption(g,v,\\\"bordercolor\\\"),fontFamily:yo.castHoverOption(g,v,\\\"font.family\\\"),fontSize:yo.castHoverOption(g,v,\\\"font.size\\\"),fontColor:yo.castHoverOption(g,v,\\\"font.color\\\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},oL.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\\\"plotly_unhover\\\"),yo.loneUnhover(this.svgContainer))},oL.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return ri.tickText(r,r.c2l(e),\\\"hover\\\").text}};var sL={},lL=ye.overrideAll,uL=sa.getSubplotData;sL.name=\\\"gl2d\\\",sL.attr=[\\\"xaxis\\\",\\\"yaxis\\\"],sL.idRoot=[\\\"x\\\",\\\"y\\\"],sL.idRegex=Te.idRegex,sL.attrRegex=Te.attrRegex,sL.attributes=Gi,sL.supplyLayoutDefaults=function(t,e,r){e._has(\\\"cartesian\\\")||ua.supplyLayoutDefaults(t,e,r)},sL.layoutAttrOverrides=lL(ua.layoutAttributes,\\\"plot\\\",\\\"from-root\\\"),sL.baseLayoutAttrOverrides=lL({plot_bgcolor:z.plot_bgcolor,hoverlabel:mo.hoverlabel},\\\"plot\\\",\\\"nested\\\"),sL.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var a=n[i],o=e._plots[a],s=uL(r,\\\"gl2d\\\",a),l=o._scene2d;void 0===l&&(l=new aL({id:a,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),o._scene2d=l),l.plot(s,t.calcdata,e,t.layout)}},sL.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===uL(t,\\\"gl2d\\\",o).length&&(s._scene2d.destroy(),delete n._plots[o])}ua.clean.apply(this,arguments)},sL.drawFramework=function(t){t._context.staticPlot||ua.drawFramework(t)},sL.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":a,x:0,y:0,width:\\\"100%\\\",height:\\\"100%\\\",preserveAspectRatio:\\\"none\\\"}),i.destroy()}},sL.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r<e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}};for(var cL=m.extendFlat,hL=ye.overrideAll,fL=[\\\"z\\\",\\\"x\\\",\\\"x0\\\",\\\"dx\\\",\\\"y\\\",\\\"y0\\\",\\\"dy\\\",\\\"text\\\",\\\"transpose\\\",\\\"xtype\\\",\\\"ytype\\\"],pL={},dL=0;dL<fL.length;dL++){var gL=fL[dL];pL[gL]=Lh[gL]}cL(pL,Pe,{autocolorscale:cL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze});var vL=hL(pL,\\\"calc\\\",\\\"nested\\\"),mL={fragment:E_([\\\"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:E_([\\\"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:E_([\\\"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:E_([\\\"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\\\"])};function yL(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function xL(t,e,r,n){return new Function([yL(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),yL(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}var bL={ge:xL(\\\">=\\\",!1,\\\"GE\\\"),gt:xL(\\\">\\\",!1,\\\"GT\\\"),lt:xL(\\\"<\\\",!0,\\\"LT\\\"),le:xL(\\\"<=\\\",!0,\\\"LE\\\"),eq:xL(\\\"-\\\",!0,\\\"EQ\\\",!0)},_L=function(t,e){var r=t.gl,n=Bw(r,mL.vertex,mL.fragment),i=Bw(r,mL.pickVertex,mL.pickFragment),a=S_(r),o=S_(r),s=S_(r),l=S_(r),u=new wL(t,n,i,a,o,s,l);return u.update(e),t.addObject(u),u};function wL(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,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 ML,AL=wL.prototype,kL=[0,0,1,0,0,1,1,0,1,1,0,1];function TL(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=_L(t.glplot,this.options),this.heatmap._trace=this}AL.draw=(ML=[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 i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],u=a[3]-a[1];ML[0]=2*o/l,ML[4]=2*s/u,ML[6]=2*(r[0]-a[0])/l-1,ML[7]=2*(r[1]-a[1])/u-1,e.bind();var c=e.uniforms;c.viewTransform=ML,c.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),AL.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,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,u=a[2]-a[0],c=a[3]-a[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*u/h,t[4]=2*c/f,t[6]=2*(a[0]-l[0])/h-1,t[7]=2*(a[1]-l[1])/f-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.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]}}}(),AL.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},AL.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||db(e[0]),n=t.y||db(e[1]),i=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var a=t.colorLevels||[0],o=t.colorValues||[0,0,0,1],s=a.length,l=this.bounds,u=l[0]=r[0],c=l[1]=n[0],h=1/((l[2]=r[r.length-1])-u),f=1/((l[3]=n[n.length-1])-c),p=e[0],d=e[1];this.shape=[p,d];var g=(p-1)*(d-1)*(kL.length>>>1);this.numVertices=g;for(var v=__.mallocUint8(4*g),m=__.mallocFloat32(2*g),y=__.mallocUint8(2*g),x=__.mallocUint32(g),b=0,_=0;_<d-1;++_)for(var w=f*(n[_]-c),M=f*(n[_+1]-c),A=0;A<p-1;++A)for(var k=h*(r[A]-u),T=h*(r[A+1]-u),S=0;S<kL.length;S+=2){var E,C,L,z,P=kL[S],I=kL[S+1],D=i[(_+I)*p+(A+P)],O=bL.le(a,D);if(O<0)E=o[0],C=o[1],L=o[2],z=o[3];else if(O===s-1)E=o[4*s-4],C=o[4*s-3],L=o[4*s-2],z=o[4*s-1];else{var R=(D-a[O])/(a[O+1]-a[O]),F=1-R,B=4*O,N=4*(O+1);E=F*o[B]+R*o[N],C=F*o[B+1]+R*o[N+1],L=F*o[B+2]+R*o[N+2],z=F*o[B+3]+R*o[N+3]}v[4*b]=255*E,v[4*b+1]=255*C,v[4*b+2]=255*L,v[4*b+3]=255*z,m[2*b]=.5*k+.5*T,m[2*b+1]=.5*w+.5*M,y[2*b]=P,y[2*b+1]=I,x[b]=_*p+A,b+=1}this.positionBuffer.update(m),this.weightBuffer.update(y),this.colorBuffer.update(v),this.idBuffer.update(x),__.free(m),__.free(v),__.free(y),__.free(x)},AL.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)};var SL=TL.prototype;SL.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},SL.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 i=n[0].length,a=n.length;this.options.shape=[i,a],this.options.x=r.x,this.options.y=r.y;var o=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,a=new Array(i),o=new Array(4*i),s=0;s<i;s++){var l=e[s],u=WC(l[1]);a[s]=r+l[0]*(n-r);for(var c=0;c<4;c++)o[4*s+c]=u[c]}return{colorLevels:a,colorValues:o}}(t);this.options.colorLevels=o.colorLevels,this.options.colorValues=o.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),ri.expand(this.scene.xaxis,r.x),ri.expand(this.scene.yaxis,r.y)},SL.dispose=function(){this.heatmap.dispose()};var EL=function(t,e,r){var n=new TL(t,e.uid);return n.update(e,r),n},CL={};CL.attributes=vL,CL.supplyDefaults=Zx,CL.colorbar=kh,CL.calc=bf,CL.plot=EL,CL.moduleType=\\\"trace\\\",CL.name=\\\"heatmapgl\\\",CL.basePlotModule=sL,CL.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"2dMap\\\"],CL.meta={};var LL=CL,zL={x:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},y:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},text:wa.text,orientation:wa.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\\\"},autobinx:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"xbins.start\\\":void 0,\\\"xbins.end\\\":void 0,\\\"xbins.size\\\":void 0}},nbinsx:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},xbins:PL(\\\"x\\\"),autobiny:{valType:\\\"boolean\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:{\\\"ybins.start\\\":void 0,\\\"ybins.end\\\":void 0,\\\"ybins.size\\\":void 0}},nbinsy:{valType:\\\"integer\\\",min:0,dflt:0,editType:\\\"calc\\\"},ybins:PL(\\\"y\\\"),marker:wa.marker,selected:wa.selected,unselected:wa.unselected,_deprecated:{bardir:wa._deprecated.bardir}};function PL(t){var e={};e[\\\"autobin\\\"+t]=!1;var r={};return r[\\\"^autobin\\\"+t]=!1,{start:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},end:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},size:{valType:\\\"any\\\",dflt:null,editType:\\\"calc\\\",impliedEdits:r},editType:\\\"calc\\\",impliedEdits:e}}var IL=t.ONEAVGMONTH;function DL(t,e,n,i,a){var o,s,l,u,c,h=i+\\\"bins\\\",f=\\\"overlay\\\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var p=f?[e]:RL(t,e),d=[],g=1/0,v=1/0,m=-1/0,y=\\\"autobin\\\"+i;for(o=0;o<p.length;o++){c=(s=p[o])._pos0=n.makeCalcdata(s,i);var x=s[h];if(s[y]||!x||null===x.start||null===x.end){l=s[i+\\\"calendar\\\"];var b=s.cumulative;if(x=ri.autoBin(c,n,s[\\\"nbins\\\"+i],!1,l),f&&0===x._dataSpan&&\\\"category\\\"!==n.type){if(a)return[x,c,!0];x=OL(t,e,n,i,h)}b.enabled&&\\\"include\\\"!==b.currentbin&&(\\\"decreasing\\\"===b.direction?v=Math.min(v,n.r2c(x.start,0,l)-x.size):m=Math.max(m,n.r2c(x.end,0,l)+x.size)),d.push(s)}else u||(u={size:x.size,start:n.r2c(x.start,0,l),end:n.r2c(x.end,0,l)});g=FL(g,x.size),v=Math.min(v,n.r2c(x.start,0,l)),m=Math.max(m,n.r2c(x.end,0,l)),o&&(s._autoBinFinished=1)}if(u&&r(u.size)&&r(g)){g=g>u.size/1.9?u.size:u.size/Math.ceil(u.size/g);var _=u.start+(u.size-g)/2;v=_-g*Math.ceil((_-v)/g)}for(o=0;o<d.length;o++)l=(s=d[o])[i+\\\"calendar\\\"],s._input[h]=s[h]={start:n.c2r(v,0,l),end:n.c2r(m,0,l),size:g},s._input[y]=s[y]}return c=e._pos0,delete e._pos0,[e[h],c]}function OL(t,e,r,n,i){var a,o,s=RL(t,e),l=!1,u=1/0,c=[e];for(a=0;a<s.length;a++)if((o=s[a])===e)l=!0;else if(l){var h=DL(t,o,r,n,!0),f=h[0],p=h[2];o._autoBinFinished=1,o._pos0=h[1],p?c.push(o):u=Math.min(u,f.size)}else u=Math.min(u,o[i].size);var d=new Array(c.length);for(a=0;a<c.length;a++)for(var g=c[a]._pos0,v=0;v<g.length;v++)if(void 0!==g[v]){d[a]=g[v];break}for(isFinite(u)||(u=ne.distinctVals(d).minDiff),a=0;a<c.length;a++){var m=(o=c[a])[n+\\\"calendar\\\"];o._input[i]=o[i]={start:r.c2r(d[a]-u/2,0,m),end:r.c2r(d[a]+u/2,0,m),size:u}}return e[i]}function RL(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\\\"histogram\\\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function FL(t,e){if(t===1/0)return e;var r=BL(t);return BL(e)<r?e:t}function BL(t){return r(t)?t:\\\"string\\\"==typeof t&&\\\"M\\\"===t.charAt(0)?IL*+t.substr(1):1/0}var NL=function(t,e,r,n){return r(\\\"histnorm\\\"),n.forEach(function(t){r(t+\\\"bins.start\\\"),r(t+\\\"bins.end\\\"),r(t+\\\"bins.size\\\"),!1!==r(\\\"autobin\\\"+t)&&r(\\\"nbins\\\"+t)}),e},jL=function(t,e,r,n,i){if(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),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t},VL=ri.hoverLabelText,UL={};UL.attributes=zL,UL.layoutAttributes=wo,UL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,zL,r,n)}var a=i(\\\"x\\\"),o=i(\\\"y\\\");i(\\\"cumulative.enabled\\\")&&(i(\\\"cumulative.direction\\\"),i(\\\"cumulative.currentbin\\\")),i(\\\"text\\\");var s=i(\\\"orientation\\\",o&&!a?\\\"h\\\":\\\"v\\\"),l=e[\\\"v\\\"===s?\\\"x\\\":\\\"y\\\"];if(l&&l.length){P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),e[\\\"h\\\"===s?\\\"x\\\":\\\"y\\\"]&&i(\\\"histfunc\\\"),NL(0,e,i,\\\"h\\\"===s?[\\\"y\\\"]:[\\\"x\\\"]),ka(t,e,i,r,n);var u=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");u(t,e,Oe.defaultLine,{axis:\\\"y\\\"}),u(t,e,Oe.defaultLine,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UL.supplyLayoutDefaults=Mo,UL.calc=function(t,e){if(!0===e.visible){var n,i=[],a=[],o=ri.getFromId(t,\\\"h\\\"===e.orientation?e.yaxis||\\\"y\\\":e.xaxis||\\\"x\\\"),s=\\\"h\\\"===e.orientation?\\\"y\\\":\\\"x\\\",l={x:\\\"y\\\",y:\\\"x\\\"}[s],u=e[s+\\\"calendar\\\"],c=e.cumulative;df(e,o,s);var h,f,p,d=DL(t,e,o,s),g=d[0],v=d[1],m=\\\"string\\\"==typeof g.size,y=[],x=m?y:g,b=[],_=[],w=[],M=0,A=e.histnorm,k=e.histfunc,T=-1!==A.indexOf(\\\"density\\\");c.enabled&&T&&(A=A.replace(/ ?density$/,\\\"\\\"),T=!1);var S,E=\\\"max\\\"===k||\\\"min\\\"===k?null:0,C=Kh.count,L=gf[A],z=!1,P=function(t){return o.r2c(t,0,u)};for(ne.isArrayOrTypedArray(e[l])&&\\\"count\\\"!==k&&(S=e[l],z=\\\"avg\\\"===k,C=Kh[k]),n=P(g.start),f=P(g.end)+(n-ri.tickIncrement(n,g.size,!1,u))/1e6;n<f&&i.length<1e6&&(h=ri.tickIncrement(n,g.size,!1,u),i.push((n+h)/2),a.push(E),w.push([]),y.push(n),T&&b.push(1/(h-n)),z&&_.push(0),!(h<=n));)n=h;y.push(n),m||\\\"date\\\"!==o.type||(x={start:P(x.start),end:P(x.end),size:x.size});var I,D=a.length,O=!0,R=1/0,F=1/0,B={};for(n=0;n<v.length;n++){var N=v[n];(p=ne.findBin(N,x))>=0&&p<D&&(M+=C(p,n,a,S,_),O&&w[p].length&&N!==v[w[p][0]]&&(O=!1),w[p].push(n),B[n]=p,R=Math.min(R,N-y[p]),F=Math.min(F,y[p+1]-N))}O||(I=of(R,F,y,o,u)),z&&(M=Jh(a,_)),L&&L(a,M,b),c.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}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())}}(a,c.direction,c.currentbin);var j=Math.min(i.length,a.length),V=[],U=0,q=j-1;for(n=0;n<j;n++)if(a[n]){U=n;break}for(n=j-1;n>=U;n--)if(a[n]){q=n;break}for(n=U;n<=q;n++)if(r(i[n])&&r(a[n])){var H={p:i[n],s:a[n],b:0};c.enabled||(H.pts=w[n],O?H.p0=H.p1=w[n].length?v[w[n][0]]:i[n]:(H.p0=I(y[n]),H.p1=I(y[n+1],!0))),V.push(H)}return 1===V.length&&(V[0].width1=ri.tickIncrement(V[0].p,g.size,!1,u)-V[0].p),ma(V,e),ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(V,e,B),V}},UL.setPositions=Vo,UL.plot=Lo,UL.style=$o,UL.colorbar=is,UL.hoverPoints=function(t,e,r,n){var i=_o(t,e,r,n);if(i){var a=(t=i[0]).cd[t.index],o=t.cd[0].trace;if(!o.cumulative.enabled){var s=\\\"h\\\"===o.orientation?\\\"y\\\":\\\"x\\\";t[s+\\\"Label\\\"]=VL(t[s+\\\"a\\\"],a.p0,a.p1)}return i}},UL.selectPoints=Oo,UL.eventData=jL,UL.moduleType=\\\"trace\\\",UL.name=\\\"histogram\\\",UL.basePlotModule=ua,UL.categories=[\\\"cartesian\\\",\\\"bar\\\",\\\"histogram\\\",\\\"oriented\\\",\\\"errorBarsOK\\\",\\\"showLegend\\\"],UL.meta={};var qL=UL,HL=m.extendFlat,GL=HL({},{x:zL.x,y:zL.y,z:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},marker:{color:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\"},histnorm:zL.histnorm,histfunc:zL.histfunc,autobinx:zL.autobinx,nbinsx:zL.nbinsx,xbins:zL.xbins,autobiny:zL.autobiny,nbinsy:zL.nbinsy,ybins:zL.ybins,xgap:Lh.xgap,ygap:Lh.ygap,zsmooth:Lh.zsmooth,zhoverformat:Lh.zhoverformat},Pe,{autocolorscale:HL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),WL=function(t,e,r,n){var i=r(\\\"x\\\"),a=r(\\\"y\\\");if(i&&i.length&&a&&a.length){P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\"],n),(r(\\\"z\\\")||r(\\\"marker.color\\\"))&&r(\\\"histfunc\\\");NL(0,e,r,[\\\"x\\\",\\\"y\\\"])}else e.visible=!1},YL=ri.hoverLabelText,XL={};XL.attributes=GL,XL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,GL,r,n)}WL(t,e,i,n),!1!==e.visible&&(Xx(0,0,i),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"z\\\"}))},XL.calc=bf,XL.plot=$f,XL.colorbar=kh,XL.style=up,XL.hoverPoints=function(t,e,r,n,i,a){var o=Rf(t,e,r,0,0,a);if(o){var s=(t=o[0]).index,l=s[0],u=s[1],c=t.cd[0],h=c.xRanges[u],f=c.yRanges[l];return t.xLabel=YL(t.xa,h[0],h[1]),t.yLabel=YL(t.ya,f[0],f[1]),o}},XL.eventData=jL,XL.moduleType=\\\"trace\\\",XL.name=\\\"histogram2d\\\",XL.basePlotModule=ua,XL.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"histogram\\\"],XL.meta={};var ZL=XL,JL=m.extendFlat,KL=JL({x:GL.x,y:GL.y,z:GL.z,marker:GL.marker,histnorm:GL.histnorm,histfunc:GL.histfunc,autobinx:GL.autobinx,nbinsx:GL.nbinsx,xbins:GL.xbins,autobiny:GL.autobiny,nbinsy:GL.nbinsy,ybins:GL.ybins,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:Rh.contours,line:Rh.line,zhoverformat:GL.zhoverformat},Pe,{zmin:JL({},Pe.zmin,{editType:\\\"calc\\\"}),zmax:JL({},Pe.zmax,{editType:\\\"calc\\\"})},{colorbar:ze}),QL={};QL.attributes=KL,QL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,KL,r,n)}WL(t,e,i,n),!1!==e.visible&&(zf(0,e,i,function(r){return ne.coerce2(t,e,KL,r)}),Pf(t,e,i,n))},QL.calc=_f,QL.plot=ip.plot,QL.style=cp,QL.colorbar=Af,QL.hoverPoints=Ff,QL.moduleType=\\\"trace\\\",QL.name=\\\"histogram2dcontour\\\",QL.basePlotModule=ua,QL.categories=[\\\"cartesian\\\",\\\"2dMap\\\",\\\"contour\\\",\\\"histogram\\\"],QL.meta={};var $L=QL,tz=m.extendFlat,ez=(0,ye.overrideAll)({visible:Ce.visible,showspikes:{valType:\\\"boolean\\\",dflt:!0},spikesides:{valType:\\\"boolean\\\",dflt:!0},spikethickness:{valType:\\\"number\\\",min:0,dflt:2},spikecolor:{valType:\\\"color\\\",dflt:Oe.defaultLine},showbackground:{valType:\\\"boolean\\\",dflt:!1},backgroundcolor:{valType:\\\"color\\\",dflt:\\\"rgba(204, 204, 204, 0.5)\\\"},showaxeslabels:{valType:\\\"boolean\\\",dflt:!0},color:Ce.color,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,title:Ce.title,titlefont:Ce.titlefont,type:Ce.type,autorange:Ce.autorange,rangemode:Ce.rangemode,range:Ce.range,tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,mirror:Ce.mirror,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:Ce.showline,linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:Ce.showgrid,gridcolor:tz({},Ce.gridcolor,{dflt:\\\"rgb(204, 204, 204)\\\"}),gridwidth:Ce.gridwidth,zeroline:Ce.zeroline,zerolinecolor:Ce.zerolinecolor,zerolinewidth:Ce.zerolinewidth},\\\"plot\\\",\\\"from-root\\\"),rz=s.mix,nz=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],iz=function(t,e,r){var n,i;function a(t,e){return ne.coerce(n,i,ez,t,e)}for(var o=0;o<nz.length;o++){var s=nz[o];n=t[s]||{},i=e[s]={_id:s[0]+r.scene,_name:s},na(n,i,a,r.data),Qi(n,i,a,{font:r.font,letter:s[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),a(\\\"gridcolor\\\",rz(i.color,r.bgColor,13600/187).toRgbString()),a(\\\"title\\\",s[0]),i.setScale=ne.noop,a(\\\"showspikes\\\")&&(a(\\\"spikesides\\\"),a(\\\"spikethickness\\\"),a(\\\"spikecolor\\\",i.color)),a(\\\"showaxeslabels\\\"),a(\\\"showbackground\\\")&&a(\\\"backgroundcolor\\\")}},az=qc.attributes,oz=m.extendFlat;function sz(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\\\"}}var lz={_arrayAttrRegexps:[(0,ne.counterRegex)(\\\"scene\\\",\\\".annotations\\\",!0)],bgcolor:{valType:\\\"color\\\",dflt:\\\"rgba(0,0,0,0)\\\",editType:\\\"plot\\\"},camera:{up:oz(sz(0,0,1),{}),center:oz(sz(0,0,0),{}),eye:oz(sz(1.25,1.25,1.25),{}),editType:\\\"camera\\\"},domain:az({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:ez,yaxis:ez,zaxis:ez,dragmode:{valType:\\\"enumerated\\\",values:[\\\"orbit\\\",\\\"turntable\\\",\\\"zoom\\\",\\\"pan\\\",!1],dflt:\\\"turntable\\\",editType:\\\"plot\\\"},hovermode:{valType:\\\"enumerated\\\",values:[\\\"closest\\\",!1],dflt:\\\"closest\\\",editType:\\\"modebar\\\"},editType:\\\"plot\\\",_deprecated:{cameraposition:{valType:\\\"info_array\\\",editType:\\\"camera\\\"}}};function uz(t,e,r,n){for(var i=r(\\\"bgcolor\\\"),a=Oe.combine(i,n.paper_bgcolor),o=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],s=0;s<o.length;s++)r(\\\"camera.\\\"+o[s]+\\\".x\\\"),r(\\\"camera.\\\"+o[s]+\\\".y\\\"),r(\\\"camera.\\\"+o[s]+\\\".z\\\");var l=!!r(\\\"aspectratio.x\\\")&&!!r(\\\"aspectratio.y\\\")&&!!r(\\\"aspectratio.z\\\"),u=r(\\\"aspectmode\\\",l?\\\"manual\\\":\\\"auto\\\");l||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\\\"manual\\\"===u&&(e.aspectmode=\\\"auto\\\"),t.aspectmode=e.aspectmode),iz(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:a,calendar:n.calendar,fullLayout:n.fullLayout}),P.getComponentMethod(\\\"annotations3d\\\",\\\"handleDefaults\\\")(t,e,n),r(\\\"dragmode\\\",n.getDfltFromLayout(\\\"dragmode\\\")),r(\\\"hovermode\\\",n.getDfltFromLayout(\\\"hovermode\\\"))}var cz=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*g-h*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t};var hz=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};var fz=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d=e[0],g=e[1],v=e[2],m=n[0],y=n[1],x=n[2],b=r[0],_=r[1],w=r[2];if(Math.abs(d-b)<1e-6&&Math.abs(g-_)<1e-6&&Math.abs(v-w)<1e-6)return hz(t);c=d-b,h=g-_,f=v-w,p=1/Math.sqrt(c*c+h*h+f*f),i=y*(f*=p)-x*(h*=p),a=x*(c*=p)-m*f,o=m*h-y*c,(p=Math.sqrt(i*i+a*a+o*o))?(i*=p=1/p,a*=p,o*=p):(i=0,a=0,o=0);s=h*o-f*a,l=f*i-c*o,u=c*a-h*i,(p=Math.sqrt(s*s+l*l+u*u))?(s*=p=1/p,l*=p,u*=p):(s=0,l=0,u=0);return t[0]=i,t[1]=s,t[2]=c,t[3]=0,t[4]=a,t[5]=l,t[6]=h,t[7]=0,t[8]=o,t[9]=u,t[10]=f,t[11]=0,t[12]=-(i*d+a*g+o*v),t[13]=-(s*d+l*g+u*v),t[14]=-(c*d+h*g+f*v),t[15]=1,t};var pz=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t};var dz=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=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]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t};var gz=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t};var vz=function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t};var mz=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]);return t};var yz=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t};var xz=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],h=t[10],f=t[11],p=t[12],d=t[13],g=t[14],v=t[15];return(e*o-r*a)*(h*v-f*g)-(e*s-n*a)*(c*v-f*d)+(e*l-i*a)*(c*g-h*d)+(r*s-n*o)*(u*v-f*p)-(r*l-i*o)*(u*g-h*p)+(n*l-i*s)*(u*d-c*p)};var bz=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t};var _z=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};var wz=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};var Mz=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=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]=a,t[11]=e[14],t[12]=i,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};var Az=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t};var kz=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]};var Tz={length:function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},normalize:yz,dot:kz,cross:Az},Sz=wz(),Ez=wz(),Cz=[0,0,0,0],Lz=[[0,0,0],[0,0,0],[0,0,0]],zz=[0,0,0],Pz=function(t,e,r,n,i,a){if(e||(e=[0,0,0]),r||(r=[0,0,0]),n||(n=[0,0,0]),i||(i=[0,0,0,1]),a||(a=[0,0,0,1]),!function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}(Sz,t))return!1;if(_z(Ez,Sz),Ez[3]=0,Ez[7]=0,Ez[11]=0,Ez[15]=1,Math.abs(xz(Ez)<1e-8))return!1;var o,s,l,u,c,h,f,p=Sz[3],d=Sz[7],g=Sz[11],v=Sz[12],m=Sz[13],y=Sz[14],x=Sz[15];if(0!==p||0!==d||0!==g){if(Cz[0]=p,Cz[1]=d,Cz[2]=g,Cz[3]=x,!cz(Ez,Ez))return!1;Mz(Ez,Ez),o=i,l=Ez,u=(s=Cz)[0],c=s[1],h=s[2],f=s[3],o[0]=l[0]*u+l[4]*c+l[8]*h+l[12]*f,o[1]=l[1]*u+l[5]*c+l[9]*h+l[13]*f,o[2]=l[2]*u+l[6]*c+l[10]*h+l[14]*f,o[3]=l[3]*u+l[7]*c+l[11]*h+l[15]*f}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=v,e[1]=m,e[2]=y,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]}(Lz,Sz),r[0]=Tz.length(Lz[0]),Tz.normalize(Lz[0],Lz[0]),n[0]=Tz.dot(Lz[0],Lz[1]),Iz(Lz[1],Lz[1],Lz[0],1,-n[0]),r[1]=Tz.length(Lz[1]),Tz.normalize(Lz[1],Lz[1]),n[0]/=r[1],n[1]=Tz.dot(Lz[0],Lz[2]),Iz(Lz[2],Lz[2],Lz[0],1,-n[1]),n[2]=Tz.dot(Lz[1],Lz[2]),Iz(Lz[2],Lz[2],Lz[1],1,-n[2]),r[2]=Tz.length(Lz[2]),Tz.normalize(Lz[2],Lz[2]),n[1]/=r[2],n[2]/=r[2],Tz.cross(zz,Lz[1],Lz[2]),Tz.dot(Lz[0],zz)<0)for(var b=0;b<3;b++)r[b]*=-1,Lz[b][0]*=-1,Lz[b][1]*=-1,Lz[b][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Lz[0][0]-Lz[1][1]-Lz[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Lz[0][0]+Lz[1][1]-Lz[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Lz[0][0]-Lz[1][1]+Lz[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Lz[0][0]+Lz[1][1]+Lz[2][2],0)),Lz[2][1]>Lz[1][2]&&(a[0]=-a[0]),Lz[0][2]>Lz[2][0]&&(a[1]=-a[1]),Lz[1][0]>Lz[0][1]&&(a[2]=-a[2]),!0};function Iz(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}var Dz=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=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*i+b*l+_*f+w*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t};var Oz={identity:hz,translate:mz,multiply:Dz,create:wz,scale:vz,fromRotationTranslation:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,h=n*l,f=n*u,p=i*l,d=i*u,g=a*u,v=o*s,m=o*l,y=o*u;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-m,t[3]=0,t[4]=h-y,t[5]=1-(c+g),t[6]=d+v,t[7]=0,t[8]=f+m,t[9]=d-v,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},Rz=(Oz.create(),Oz.create()),Fz=function(t,e,r,n,i,a){return Oz.identity(t),Oz.fromRotationTranslation(t,a,e),t[3]=i[0],t[7]=i[1],t[11]=i[2],t[15]=i[3],Oz.identity(Rz),0!==n[2]&&(Rz[9]=n[2],Oz.multiply(t,t,Rz)),0!==n[1]&&(Rz[9]=0,Rz[8]=n[1],Oz.multiply(t,t,Rz)),0!==n[0]&&(Rz[8]=0,Rz[4]=n[0],Oz.multiply(t,t,Rz)),Oz.scale(t,t,r),t};var Bz=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(a=u*p+c*d+h*g+f*v)<0&&(a=-a,p=-p,d=-d,g=-g,v=-v);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t},Nz=qz(),jz=qz(),Vz=qz(),Uz=function(t,e,r,n){if(0===xz(e)||0===xz(r))return!1;var i=Pz(e,Nz.translate,Nz.scale,Nz.skew,Nz.perspective,Nz.quaternion),a=Pz(r,jz.translate,jz.scale,jz.skew,jz.perspective,jz.quaternion);return!(!i||!a||(bz(Vz.translate,Nz.translate,jz.translate,n),bz(Vz.skew,Nz.skew,jz.skew,n),bz(Vz.scale,Nz.scale,jz.scale,n),bz(Vz.perspective,Nz.perspective,jz.perspective,n),Bz(Vz.quaternion,Nz.quaternion,jz.quaternion,n),Fz(t,Vz.translate,Vz.scale,Vz.skew,Vz.perspective,Vz.quaternion),0))};function qz(){return{translate:Hz(),scale:Hz(1),skew:Hz(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function Hz(t){return[t||0,t||0,t||0]}var Gz=[0,0,0],Wz=function(t){return new Yz((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};function Yz(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]}var Xz=Yz.prototype;Xz.recalcMatrix=function(t){var e=this._time,r=wT.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var a=16*r,o=0;o<16;++o)n[o]=i[a++];else{var s=e[r+1]-e[r],l=(a=16*r,this.prevMatrix),u=!0;for(o=0;o<16;++o)l[o]=i[a++];var c=this.nextMatrix;for(o=0;o<16;++o)c[o]=i[a++],u=u&&l[o]===c[o];if(s<1e-6||u)for(o=0;o<16;++o)n[o]=l[o];else Uz(n,l,c,(t-e[r])/s)}var h=this.computedUp;h[0]=n[1],h[1]=n[5],h[2]=n[9],yz(h,h);var f=this.computedInverse;cz(f,n);var p=this.computedEye,d=f[15];p[0]=f[12]/d,p[1]=f[13]/d,p[2]=f[14]/d;var g=this.computedCenter,v=Math.exp(this.computedRadius[0]);for(o=0;o<3;++o)g[o]=p[o]-n[2+4*o]*v}},Xz.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)}},Xz.flush=function(t){var e=wT.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},Xz.lastT=function(){return this._time[this._time.length-1]},Xz.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||Gz,n=n||this.computedUp,this.setMatrix(t,fz(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},Xz.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&dz(i,i,e),r&&pz(i,i,r),n&&gz(i,i,n),this.setMatrix(t,cz(this.computedMatrix,i))};var Zz=[0,0,0];Xz.pan=function(t,e,r,n){Zz[0]=-(e||0),Zz[1]=-(r||0),Zz[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;mz(i,i,Zz),this.setMatrix(t,cz(i,i))},Xz.translate=function(t,e,r,n){Zz[0]=e||0,Zz[1]=r||0,Zz[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;mz(i,i,Zz),this.setMatrix(t,i)},Xz.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},Xz.setDistance=function(t,e){this.computedRadius[0]=e},Xz.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},Xz.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e};var Jz={};(Jz=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+h*r[p]+f*n[p];return a}return u*t+c*e+h*r+f*n}).derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n};var Kz=function(t,e,r){switch(arguments.length){case 0:return new $z([0],[0],0);case 1:if(\\\"number\\\"==typeof t){var n=eP(t);return new $z(n,n,0)}return new $z(t,eP(t.length),0);case 2:if(\\\"number\\\"==typeof e){var n=eP(t.length);return new $z(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\\\"state and velocity lengths must match\\\");return new $z(t,e,r)}};function Qz(t,e,r){return Math.min(e,Math.max(t,r))}function $z(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 tP=$z.prototype;function eP(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}tP.flush=function(t){var e=wT.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))},tP.curve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension,l=this.bounds;if(n<0)for(var u=s-1,c=0;c<s;++c,--u)i[c]=a[u];else if(n>=r-1){u=a.length-1;var h=t-e[r-1];for(c=0;c<s;++c,--u)i[c]=a[u]+h*o[u]}else{u=s*(n+1)-1;var f=e[n],p=e[n+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(c=0;c<s;++c,--u)d[c]=a[u],v[c]=o[u]*p,g[c]=a[u+s],m[c]=o[u+s]*p,y=y&&d[c]===g[c]&&v[c]===m[c]&&0===v[c];if(y)for(c=0;c<s;++c)i[c]=d[c];else Jz(d,v,g,m,(t-f)/p,i)}var x=l[0],b=l[1];for(c=0;c<s;++c)i[c]=Qz(x[c],b[c],i[c]);return i},tP.dcurve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension;if(n>=r-1)for(var l=a.length-1,u=(e[r-1],0);u<s;++u,--l)i[u]=o[l];else{l=s*(n+1)-1;var c=e[n],h=e[n+1]-c||1,f=this._scratch[1],p=this._scratch[2],d=this._scratch[3],g=this._scratch[4],v=!0;for(u=0;u<s;++u,--l)f[u]=a[l],d[u]=o[l]*h,p[u]=a[l+s],g[u]=o[l+s]*h,v=v&&f[u]===p[u]&&d[u]===g[u]&&0===d[u];if(v)for(u=0;u<s;++u)i[u]=0;else{Jz.derivative(f,d,p,g,(t-c)/h,i);for(u=0;u<s;++u)i[u]/=h}}return i},tP.lastT=function(){var t=this._time;return t[t.length-1]},tP.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},tP.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var c=0;c<r;++c)n.push(n[a++]),i.push(0);this._time.push(t);for(c=r;c>0;--c)n.push(Qz(s[c-1],l[c-1],arguments[c])),i.push(0)}},tP.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=t-e,s=this.bounds,l=s[0],u=s[1],c=o>1e-6?1/o:0;this._time.push(t);for(var h=r;h>0;--h){var f=Qz(l[h-1],u[h-1],arguments[h]);n.push(f),i.push((f-n[a++])*c)}}},tP.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,a=i[0],o=i[1];this._time.push(t);for(var s=e;s>0;--s)r.push(Qz(a[s-1],o[s-1],arguments[s])),n.push(0)}},tP.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1],u=t-e,c=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var f=arguments[h];n.push(Qz(s[h-1],l[h-1],n[a++]+f)),i.push(f*c)}}},tP.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,a=n.length-r,o=this.bounds,s=o[0],l=o[1],u=t-e;this._time.push(t);for(var c=r-1;c>=0;--c)n.push(Qz(s[c],l[c],n[a]+u*i[a])),i.push(0),a+=1}};var rP=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(h>0){var h=Math.sqrt(c+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,u),h=Math.sqrt(2*f-c+1);e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/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-i)/h)}return t};var nP=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),oP(r=[].slice.call(r,0,4),r);var i=new sP(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\\\"eye\\\"in t||\\\"up\\\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};function iP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function aP(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function oP(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=aP(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function sP(t,e,r){this.radius=Kz([r]),this.center=Kz(e),this.rotation=Kz(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 lP=sP.prototype;lP.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},lP.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;oP(e,e);var r=this.computedMatrix;jv(r,e);var n=this.computedCenter,i=this.computedEye,a=this.computedUp,o=Math.exp(this.computedRadius[0]);i[0]=n[0]+o*r[2],i[1]=n[1]+o*r[6],i[2]=n[2]+o*r[10],a[0]=r[1],a[1]=r[5],a[2]=r[9];for(var s=0;s<3;++s){for(var l=0,u=0;u<3;++u)l+=r[s+4*u]*i[u];r[12+s]=-l}},lP.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},lP.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},lP.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},lP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],l=iP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=iP(u-=a*f,c-=o*f,h-=s*f);u/=p,c/=p,h/=p;var d=i[2],g=i[6],v=i[10],m=d*a+g*o+v*s,y=d*u+g*c+v*h,x=iP(d-=m*a+y*u,g-=m*o+y*c,v-=m*s+y*h);d/=x,g/=x,v/=x;var b=u*e+a*r,_=c*e+o*r,w=h*e+s*r;this.center.move(t,b,_,w);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},lP.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],l=i[1],u=i[5],c=i[9],h=i[2],f=i[6],p=i[10],d=e*a+r*l,g=e*o+r*u,v=e*s+r*c,m=-(f*v-p*g),y=-(p*d-h*v),x=-(h*g-f*d),b=Math.sqrt(Math.max(0,1-Math.pow(m,2)-Math.pow(y,2)-Math.pow(x,2))),_=aP(m,y,x,b);_>1e-6?(m/=_,y/=_,x/=_,b/=_):(m=y=x=0,b=1);var w=this.computedRotation,M=w[0],A=w[1],k=w[2],T=w[3],S=M*b+T*m+A*x-k*y,E=A*b+T*y+k*m-M*x,C=k*b+T*x+M*y-A*m,L=T*b-M*m-A*y-k*x;if(n){m=h,y=f,x=p;var z=Math.sin(n)/iP(m,y,x);m*=z,y*=z,x*=z,L=L*(b=Math.cos(e))-(S=S*b+L*m+E*x-C*y)*m-(E=E*b+L*y+C*m-S*x)*y-(C=C*b+L*x+S*y-E*m)*x}var P=aP(S,E,C,L);P>1e-6?(S/=P,E/=P,C/=P,L/=P):(S=E=C=0,L=1),this.rotation.set(t,S,E,C,L)},lP.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;fz(i,e,r,n);var a=this.computedRotation;rP(a,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),oP(a,a),this.rotation.set(t,a[0],a[1],a[2],a[3]);for(var o=0,s=0;s<3;++s)o+=Math.pow(r[s]-e[s],2);this.radius.set(t,.5*Math.log(Math.max(o,1e-6))),this.center.set(t,r[0],r[1],r[2])},lP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},lP.setMatrix=function(t,e){var r=this.computedRotation;rP(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),oP(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;cz(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,o=n[13]/i,s=n[14]/i;this.recalcMatrix(t);var l=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*l,o-n[6]*l,s-n[10]*l),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},lP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},lP.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},lP.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])]},lP.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]}},lP.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 i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)};var uP=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E=n[0],C=n[1],L=n[2],z=Math.sqrt(E*E+C*C+L*L);if(Math.abs(z)<1e-6)return null;E*=z=1/z,C*=z,L*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],u=e[2],c=e[3],h=e[4],f=e[5],p=e[6],d=e[7],g=e[8],v=e[9],m=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,M=C*C*o+a,A=L*C*o+E*i,k=E*L*o+C*i,T=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+v*_,t[2]=u*x+p*b+m*_,t[3]=c*x+d*b+y*_,t[4]=s*w+h*M+g*A,t[5]=l*w+f*M+v*A,t[6]=u*w+p*M+m*A,t[7]=c*w+d*M+y*A,t[8]=s*k+h*T+g*S,t[9]=l*k+f*T+v*S,t[10]=u*k+p*T+m*S,t[11]=c*k+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t};var cP=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||pP(r),i=t.radius||1,a=t.theta||0,o=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),yz(r,r),n=[].slice.call(n,0,3),yz(n,n),\\\"eye\\\"in t){var s=t.eye,l=[s[0]-e[0],s[1]-e[1],s[2]-e[2]];Az(n,l,r),hP(n[0],n[1],n[2])<1e-6?n=pP(r):yz(n,n),i=hP(l[0],l[1],l[2]);var u=kz(r,l)/i,c=kz(n,l)/i;o=Math.acos(u),a=Math.acos(c)}return i=Math.log(i),new dP(t.zoomMin,t.zoomMax,e,r,n,i,a,o)};function hP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function fP(t){return Math.min(1,Math.max(-1,t))}function pP(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,s=0;s<3;++s)a+=t[s]*t[s],o+=i[s]*t[s];for(s=0;s<3;++s)i[s]-=o/a*t[s];return yz(i,i),i}function dP(t,e,r,n,i,a,o,s){this.center=Kz(r),this.up=Kz(n),this.right=Kz(i),this.radius=Kz([a]),this.angle=Kz([o,s]),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 l=0;l<16;++l)this.computedMatrix[l]=.5;this.recalcMatrix(0)}var gP=dP.prototype;gP.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},gP.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])]},gP.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,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var o=Math.sqrt(n),s=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,s+=r[a]*r[a],e[a]/=o;var l=Math.sqrt(s);for(a=0;a<3;++a)r[a]/=l;var u=this.computedToward;Az(u,e,r),yz(u,u);var c=Math.exp(this.computedRadius[0]),h=this.computedAngle[0],f=this.computedAngle[1],p=Math.cos(h),d=Math.sin(h),g=Math.cos(f),v=Math.sin(f),m=this.computedCenter,y=p*g,x=d*g,b=v,_=-p*v,w=-d*v,M=g,A=this.computedEye,k=this.computedMatrix;for(a=0;a<3;++a){var T=y*r[a]+x*u[a]+b*e[a];k[4*a+1]=_*r[a]+w*u[a]+M*e[a],k[4*a+2]=T,k[4*a+3]=0}var S=k[1],E=k[5],C=k[9],L=k[2],z=k[6],P=k[10],I=E*P-C*z,D=C*L-S*P,O=S*z-E*L,R=hP(I,D,O);I/=R,D/=R,O/=R,k[0]=I,k[4]=D,k[8]=O;for(a=0;a<3;++a)A[a]=m[a]+k[2+4*a]*c;for(a=0;a<3;++a){s=0;for(var F=0;F<3;++F)s+=k[a+4*F]*A[F];k[12+a]=-s}k[15]=1},gP.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 vP=[0,0,0];gP.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;vP[0]=i[2],vP[1]=i[6],vP[2]=i[10];for(var a=this.computedUp,o=this.computedRight,s=this.computedToward,l=0;l<3;++l)i[4*l]=a[l],i[4*l+1]=o[l],i[4*l+2]=s[l];uP(i,i,n,vP);for(l=0;l<3;++l)a[l]=i[4*l],o[l]=i[4*l+1];this.up.set(t,a[0],a[1],a[2]),this.right.set(t,o[0],o[1],o[2])}},gP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=hP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=hP(u-=a*f,c-=o*f,h-=s*f),d=(u/=p)*e+a*r,g=(c/=p)*e+o*r,v=(h/=p)*e+s*r;this.center.move(t,d,g,v);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},gP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},gP.setMatrix=function(t,e,r,n){var i=1;\\\"number\\\"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var a=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var o=e[i],s=e[i+4],l=e[i+8];if(n){var u=Math.abs(o),c=Math.abs(s),h=Math.abs(l),f=Math.max(u,c,h);u===f?(o=o<0?-1:1,s=l=0):h===f?(l=l<0?-1:1,o=s=0):(s=s<0?-1:1,o=l=0)}else{var p=hP(o,s,l);o/=p,s/=p,l/=p}var d,g,v=e[a],m=e[a+4],y=e[a+8],x=v*o+m*s+y*l,b=hP(v-=o*x,m-=s*x,y-=l*x),_=s*(y/=b)-l*(m/=b),w=l*(v/=b)-o*y,M=o*m-s*v,A=hP(_,w,M);if(_/=A,w/=A,M/=A,this.center.jump(t,V,U,q),this.radius.idle(t),this.up.jump(t,o,s,l),this.right.jump(t,v,m,y),2===i){var k=e[1],T=e[5],S=e[9],E=k*v+T*m+S*y,C=k*_+T*w+S*M;d=I<0?-Math.PI/2:Math.PI/2,g=Math.atan2(C,E)}else{var L=e[2],z=e[6],P=e[10],I=L*o+z*s+P*l,D=L*v+z*m+P*y,O=L*_+z*w+P*M;d=Math.asin(fP(I)),g=Math.atan2(O,D)}this.angle.jump(t,g,d),this.recalcMatrix(t);var R=e[2],F=e[6],B=e[10],N=this.computedMatrix;cz(N,e);var j=N[15],V=N[12]/j,U=N[13]/j,q=N[14]/j,H=Math.exp(this.computedRadius[0]);this.center.jump(t,V-R*H,U-F*H,q-B*H)},gP.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},gP.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},gP.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},gP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},gP.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=hP(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],u=e[1]-r[1],c=e[2]-r[2],h=hP(l,u,c);if(!(h<1e-6)){l/=h,u/=h,c/=h;var f=this.computedRight,p=f[0],d=f[1],g=f[2],v=i*p+a*d+o*g,m=hP(p-=v*i,d-=v*a,g-=v*o);if(!(m<.01&&(m=hP(p=a*c-o*u,d=o*l-i*c,g=i*u-a*l))<1e-6)){p/=m,d/=m,g/=m,this.up.set(t,i,a,o),this.right.set(t,p,d,g),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(h));var y=a*g-o*d,x=o*p-i*g,b=i*d-a*p,_=hP(y,x,b),w=i*l+a*u+o*c,M=p*l+d*u+g*c,A=(y/=_)*l+(x/=_)*u+(b/=_)*c,k=Math.asin(fP(w)),T=Math.atan2(A,M),S=this.angle._state,E=S[S.length-1],C=S[S.length-2];E%=2*Math.PI;var L=Math.abs(E+2*Math.PI-T),z=Math.abs(E-T),P=Math.abs(E-2*Math.PI-T);L<z&&(E+=2*Math.PI),P<z&&(E-=2*Math.PI),this.angle.jump(this.angle.lastT(),E,C),this.angle.set(t,T,k)}}}};var mP=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],n=t.up||[0,1,0],i=t.distanceLimits||[0,1/0],a=t.mode||\\\"turntable\\\",o=cP(),s=nP(),l=Wz();return o.setDistanceLimits(i[0],i[1]),o.lookAt(0,e,r,n),s.setDistanceLimits(i[0],i[1]),s.lookAt(0,e,r,n),l.setDistanceLimits(i[0],i[1]),l.lookAt(0,e,r,n),new yP({turntable:o,orbit:s,matrix:l},a)};function yP(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 xP=yP.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 i=\\\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\\\"+t[0]+\\\"(\\\"+r.join()+\\\")}\\\";xP[e]=Function.apply(null,r.concat(i))}),xP.recalcMatrix=function(t){this._active.recalcMatrix(t)},xP.getDistance=function(t){return this._active.getDistance(t)},xP.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},xP.lastT=function(){return this._active.lastT()},xP.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,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}}},xP.getMode=function(){return this._mode};var bP={};(function(t){bP=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:{});var _P=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 n=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={view:n,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:n.modes,tick:function(){var e=bP(),r=this.delay;n.idle(e-r),n.flush(e-(100+2*r));var l=e-2*r;n.recalcMatrix(l);for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=Math.exp(n.computedRadius[0]),!0)},lookAt:function(t,e,r){n.lookAt(n.lastT(),t,e,r)},rotate:function(t,e,r){n.rotate(n.lastT(),t,e,r)},pan:function(t,e,r){n.pan(n.lastT(),t,e,r)},translate:function(t,e,r){n.translate(n.lastT(),t,e,r)}};Object.defineProperties(l,{matrix:{get:function(){return n.computedMatrix},set:function(t){return n.setMatrix(n.lastT(),t),n.computedMatrix},enumerable:!0},mode:{get:function(){return n.getMode()},set:function(t){return n.setMode(t),n.getMode()},enumerable:!0},center:{get:function(){return n.computedCenter},set:function(t){return n.lookAt(n.lastT(),t),n.computedCenter},enumerable:!0},eye:{get:function(){return n.computedEye},set:function(t){return n.lookAt(n.lastT(),null,t),n.computedEye},enumerable:!0},up:{get:function(){return n.computedUp},set:function(t){return n.lookAt(n.lastT(),null,null,t),n.computedUp},enumerable:!0},distance:{get:function(){return a},set:function(t){return n.setDistance(n.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return n.getDistanceLimits(r)},set:function(t){return n.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=1/t.clientHeight,f=s*(r-u),p=s*(i-c),d=l.flipX?1:-1,g=l.flipY?1:-1,v=Math.PI*l.rotateSpeed,m=bP();if(1&e)o.shift?n.rotate(m,0,0,-f*v):n.rotate(m,d*v*f,-g*v*p,0);else if(2&e)n.pan(m,-l.translateSpeed*f*a,l.translateSpeed*p*a,0);else if(4&e){var y=l.zoomSpeed*p/window.innerHeight*(m-n.lastT())*50;n.pan(m,0,0,a*(Math.exp(y)-1))}u=r,c=i,h=o}return CC(t,f),t.addEventListener(\\\"touchstart\\\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(e){La(e.changedTouches[0],t),f(0,u,c,h),e.preventDefault()},!!Ea&&{passive:!1}),OC(t,function(t,e,r){var i=l.flipX?1:-1,o=l.flipY?1:-1,s=bP();if(Math.abs(t)>Math.abs(e))n.rotate(s,0,0,-t*i*Math.PI*l.rotateSpeed/window.innerWidth);else{var u=l.zoomSpeed*o*e/window.innerHeight*(s-n.lastT())/100;n.pan(s,0,0,a*(Math.exp(u)-1))}},!0),l};var wP=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 i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,u=!!a.normalized,c=a.stride||0,h=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,u,c,h)}else{if(\\\"number\\\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\\\"gl-vao: Invalid vertex attribute\\\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)};function MP(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}MP.prototype.bind=function(){wP(this.gl,this._elements,this._attributes)},MP.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},MP.prototype.dispose=function(){},MP.prototype.unbind=function(){},MP.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)};var AP=function(t){return new MP(t)};function kP(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function TP(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}kP.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)}},TP.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},TP.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},TP.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},TP.prototype.update=function(t,e,r){if(this.bind(),wP(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var n=0;n<t.length;++n){var i=t[n];\\\"number\\\"==typeof i?this._attribs.push(new kP(n,1,i)):Array.isArray(i)&&this._attribs.push(new kP(n,i.length,i[0],i[1],i[2],i[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},TP.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)};var SP=function(t,e){return new TP(t,e,e.createVertexArrayOES())};var EP=function(t,e,r,n){var i,a=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(\\\"OES_vertex_array_object\\\");return(i=a?SP(t,a):AP(t)).update(e,r,n),i},CP={};!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 e=WeakMap;if(\\\"undefined\\\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var r=new e,n=Object.freeze({});if(r.set(n,1),1===r.get(n))return void(CP=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,a=Object.defineProperty,o=Object.isExtensible,s=\\\"weakmap:\\\",l=s+\\\"ident:\\\"+Math.random()+\\\"___\\\";if(\\\"undefined\\\"!=typeof crypto&&\\\"function\\\"==typeof crypto.getRandomValues&&\\\"function\\\"==typeof ArrayBuffer&&\\\"function\\\"==typeof Uint8Array){var u=new ArrayBuffer(25),c=new Uint8Array(u);crypto.getRandomValues(c),l=s+\\\"rand:\\\"+Array.prototype.map.call(c,function(t){return(t%36).toString(36)}).join(\\\"\\\")+\\\"___\\\"}if(a(Object,\\\"getOwnPropertyNames\\\",{value:function(t){return i(t).filter(v)}}),\\\"getPropertyNames\\\"in Object){var h=Object.getPropertyNames;a(Object,\\\"getPropertyNames\\\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;a(Object,\\\"freeze\\\",{value:function(e){return m(e),t(e)}});var e=Object.seal;a(Object,\\\"seal\\\",{value:function(t){return m(t),e(t)}});var r=Object.preventExtensions;a(Object,\\\"preventExtensions\\\",{value:function(t){return m(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,i){var a,o=m(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:y(function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:y(function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:y(function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,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 e?function(){function r(){this instanceof d||x();var r,n=new e,i=void 0,a=!1;return r=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:y(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:y(r)},delete___:{value:y(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:y(function(t){if(t!==g)throw new Error(\\\"bogus call to permitHostObjects___\\\");a=!0})}})}t&&\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),r.prototype=d.prototype,CP=r,Object.defineProperty(WeakMap.prototype,\\\"constructor\\\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\\\"undefined\\\"!=typeof Proxy&&(Proxy=void 0),CP=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function v(t){return!(t.substr(0,s.length)==s&&\\\"___\\\"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError(\\\"Not an object: \\\"+t);var e=t[l];if(e&&e.key===t)return e;if(o(t)){e={key:t};try{return a(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.\\\"))}}();var LP=new(\\\"undefined\\\"==typeof WeakMap?CP:WeakMap);var zP=function(t){var e=LP.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=S_(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=EP(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,LP.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()},PP={},IP=E_([\\\"#define GLSLIFY 1\\\\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\\\"]),DP=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);PP.line=function(t){return Bw(t,IP,DP,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var OP=E_([\\\"#define GLSLIFY 1\\\\nattribute vec3 position;\\\\n\\\\nuniform mat4 model, view, projection;\\\\nuniform vec3 offset, axis;\\\\nuniform float scale, angle, pixelScale;\\\\nuniform vec2 resolution;\\\\n\\\\nvoid main() {  \\\\n  //Compute plane offset\\\\n  vec2 planeCoord = position.xy * pixelScale;\\\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\\\n                                -sin(angle), cos(angle));\\\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\\\n\\\\n  //Compute world offset\\\\n  float axisDistance = position.z;\\\\n  vec3 dataPosition = axisDistance * axis + offset;\\\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\\\n  \\\\n  //Compute clip position\\\\n  vec4 viewPosition = view * worldPosition;\\\\n  vec4 clipPosition = projection * viewPosition;\\\\n  clipPosition /= clipPosition.w;\\\\n\\\\n  //Apply text offset in clip coordinates\\\\n  clipPosition += vec4(viewOffset, 0, 0);\\\\n\\\\n  //Done\\\\n  gl_Position = clipPosition;\\\\n}\\\"]),RP=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec4 color;\\\\nvoid main() {\\\\n  gl_FragColor = color;\\\\n}\\\"]);PP.text=function(t){return Bw(t,OP,RP,null,[{name:\\\"position\\\",type:\\\"vec3\\\"}])};var FP=E_([\\\"#define GLSLIFY 1\\\\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  if(dot(normal, enable) > 0.0) {\\\\n    vec3 nPosition = mix(bounds[0], bounds[1], 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  colorChannel = abs(normal);\\\\n}\\\"]),BP=E_([\\\"precision mediump 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}\\\"]);PP.bg=function(t){return Bw(t,FP,BP,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"}])};var NP=function(t){for(var e=[],r=[],n=0,i=0;i<3;++i)for(var a=(i+1)%3,o=(i+2)%3,s=[0,0,0],l=[0,0,0],u=-1;u<=1;u+=2){r.push(n,n+2,n+1,n+1,n+2,n+3),s[i]=u,l[i]=u;for(var c=-1;c<=1;c+=2){s[a]=c;for(var h=-1;h<=1;h+=2)s[o]=h,e.push(s[0],s[1],s[2],l[0],l[1],l[2]),n+=1}var f=a;a=o,o=f}var p=S_(t,new Float32Array(e)),d=S_(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),g=EP(t,[{buffer:p,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:p,type:t.FLOAT,size:3,offset:12,stride:24}],d),v=jP(t);return v.attributes.position.location=0,v.attributes.normal.location=1,new VP(t,p,g,v)},jP=PP.bg;function VP(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var UP=VP.prototype;UP.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[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:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},UP.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var qP=function(t,e){for(var r=cM(t[0],e[0]),n=1;n<t.length;++n)r=gM(r,cM(t[n],e[n]));return r};var HP={};function GP(t,e){var r=gM(qP(t,e),[e[e.length-1]]);return r[r.length-1]}function WP(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}(HP=function(t,e){for(var r=[],n=[],i=GP(t[t.length-1],e),a=t[t.length-1],o=t[0],s=0;s<t.length;++s,a=o){var l=GP(o=t[s],e);if(i<0&&l>0||i>0&&l<0){var u=WP(a,l,o,i);r.push(u),n.push(u.slice())}l<0?n.push(o.slice()):l>0?r.push(o.slice()):(r.push(o.slice()),n.push(o.slice())),i=l}return{positive:r,negative:n}}).positive=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s>=0&&r.push(a.slice()),n=s}return r},HP.negative=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s<=0&&r.push(a.slice()),n=s}return r};var YP=function(t,e,r,n){Dz(XP,e,t),Dz(XP,r,XP);for(var i=0,a=0;a<2;++a){KP[2]=n[a][2];for(var o=0;o<2;++o){KP[1]=n[o][1];for(var s=0;s<2;++s)KP[0]=n[s][0],$P(ZP[i],KP,XP),i+=1}}for(var l=-1,a=0;a<8;++a){for(var u=ZP[a][3],c=0;c<3;++c)JP[a][c]=ZP[a][c]/u;u<0&&(l<0?l=a:JP[a][2]<JP[l][2]&&(l=a))}if(l<0){l=0;for(var h=0;h<3;++h){for(var f=(h+2)%3,p=(h+1)%3,d=-1,g=-1,v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p);PM(JP[m],JP[y],JP[x],QP)<0||(v?d=1:g=1)}if(d<0||g<0)g>d&&(l|=1<<h);else{for(var v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p),b=eI([ZP[m],ZP[y],ZP[x],ZP[m+(1<<f)+(1<<p)]]);v?d=b:g=b}g>d&&(l|=1<<h)}}}for(var _=7^l,w=-1,a=0;a<8;++a)a!==l&&a!==_&&(w<0?w=a:JP[w][1]>JP[a][1]&&(w=a));for(var M=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_){M<0&&(M=A);var p=JP[A];p[0]<JP[M][0]&&(M=A)}}for(var k=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_&&A!==M){k<0&&(k=A);var p=JP[A];p[0]>JP[k][0]&&(k=A)}}var T=rI;T[0]=T[1]=T[2]=0,T[Mb.log2(M^w)]=w&M,T[Mb.log2(w^k)]=w&k;var S=7^k;S===l||S===_?(S=7^M,T[Mb.log2(k^S)]=S&k):T[Mb.log2(M^S)]=S&M;for(var E=nI,C=l,h=0;h<3;++h)E[h]=C&1<<h?-1:1;return iI},XP=new Array(16),ZP=(new Array(16),new Array(8)),JP=new Array(8),KP=new Array(3),QP=[0,0,0];function $P(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)ZP[t]=[1,1,1,1],JP[t]=[1,1,1]}();var tI=[[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 eI(t){for(var e=0;e<tI.length;++e)if((t=HP.positive(t,tI[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],l=o[0]/o[3]-n,u=o[1]/o[3]-i,c=s[0]/s[3]-n,h=s[1]/s[3]-i;a+=Math.abs(l*h-u*c)}return a}var rI=[1,1,1],nI=[0,0,0],iI={cubeEdges:rI,axis:nI};var aI=function(t,e,r){var n=[],i=[0,0,0],a=[0,0,0],o=[0,0,0],s=[0,0,0];n.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var l=0;l<3;++l){for(var u=n.length/3|0,c=0;c<r[l].length;++c){var h=+r[l][c].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;i[l]=u,a[l]=f-u;for(var u=n.length/3|0,p=0;p<r[l].length;++p){var h=+r[l][p].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;o[l]=u,s[l]=f-u}var d=S_(t,new Float32Array(n)),g=EP(t,[{buffer:d,type:t.FLOAT,size:3,stride:0,offset:0}]),v=oI(t);return v.attributes.position.location=0,new dI(t,d,g,v,a,i,s,o)},oI=PP.line,sI=[0,0,0],lI=[0,0,0],uI=[0,0,0],cI=[0,0,0],hI=[1,1];function fI(t){return t[0]=t[1]=t[2]=0,t}function pI(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function dI(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var gI=dI.prototype;gI.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,hI[0]=this.gl.drawingBufferWidth,hI[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=hI,this.vao.bind()},gI.unbind=function(){this.vao.unbind()},gI.drawAxisLine=function(t,e,r,n,i){var a=fI(lI);this.shader.uniforms.majorAxis=lI,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,s=pI(cI,r);s[t]+=e[0][t],this.shader.uniforms.offset=s,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=fI(uI))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=fI(uI))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},gI.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=fI(sI);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var o=fI(uI);o[t]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},gI.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var o=fI(lI);o[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[e]+=r[0][e],this.shader.uniforms.offset=s;var l=fI(sI);l[t]=1,this.shader.uniforms.majorAxis=l;var u=fI(uI);u[t]=1,this.shader.uniforms.screenAxis=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},gI.drawZero=function(t,e,r,n,i,a){var o=fI(lI);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[t]+=r[0][t],this.shader.uniforms.offset=s;var l=fI(uI);l[e]=1,this.shader.uniforms.screenAxis=l,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},gI.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};var vI={};(function(t){\\\"use strict\\\";vI=function(t,r,n,a,o,s){var l=S_(t),u=EP(t,[{buffer:l,size:3}]),c=e(t);c.attributes.position.location=0;var h=new i(t,c,l,u);return h.update(r,n,a,o,s),h};var e=PP.text,r=window||t.global||{},n=r.__TEXT_CACHE||{};r.__TEXT_CACHE={};function i(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 a=i.prototype,o=[0,0];a.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,o[0]=this.gl.drawingBufferWidth,o[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=o},a.unbind=function(){this.vao.unbind()},a.update=function(t,e,r,i,a){this.gl;var o=[];function s(t,e,r,i){var a=n[r];a||(a=n[r]={});var s=a[e];s||(s=a[e]=function(t,e){try{return ME(t,e)}catch(t){return console.warn(\\\"error vectorizing text:\\\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\"}));for(var l=(i||12)/12,u=s.positions,c=s.cells,h=0,f=c.length;h<f;++h)for(var p=c[h],d=2;d>=0;--d){var g=u[p[d]];o.push(l*g[0],-l*g[1],t)}}for(var l=[0,0,0],u=[0,0,0],c=[0,0,0],h=[0,0,0],f=0;f<3;++f){c[f]=o.length/3|0,s(.5*(t[0][f]+t[1][f]),e[f],r),h[f]=(o.length/3|0)-c[f],l[f]=o.length/3|0;for(var p=0;p<i[f].length;++p)i[f][p].text&&s(i[f][p].x,i[f][p].text,i[f][p].font||a,i[f][p].fontSize||12);u[f]=(o.length/3|0)-l[f]}this.buffer.update(o),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=h};var s=[0,0,0];a.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=s;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var l=[0,0,0];a.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=l,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},a.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,Pp);var mI={};function yI(t,e){var r=t+\\\"\\\",n=r.indexOf(\\\".\\\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\\\"\\\";if(s.indexOf(\\\"e\\\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\\\"\\\"+l;if(o<0&&(c=\\\"-\\\"+c),i){for(var h=\\\"\\\"+u;h.length<i;)h=\\\"0\\\"+h;return c+\\\".\\\"+h}return c}mI.create=function(t,e){for(var r=[],n=0;n<3;++n){for(var i=[],a=(t[0][n],t[1][n],0);a*e[n]<=t[1][n];++a)i.push({x:a*e[n],text:yI(e[n],a)});for(var a=-1;a*e[n]>=t[0][n];--a)i.push({x:a*e[n],text:yI(e[n],a)});r.push(i)}return r},mI.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 i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0};var xI=function(t,e){var r=new wI(t);return r.update(e),r},bI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function _I(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function wI(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.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.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=NP(t)}var MI=wI.prototype;function AI(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}MI.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,n=e.bind(this,!1,Number),i=e.bind(this,!1,Boolean),a=e.bind(this,!1,String),o=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]}),s=!1,l=!1;if(\\\"bounds\\\"in t)for(var u=t.bounds,c=0;c<2;++c)for(var h=0;h<3;++h)u[c][h]!==this.bounds[c][h]&&(l=!0),this.bounds[c][h]=u[c][h];if(\\\"ticks\\\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(c=0;c<3;++c)this.tickSpacing[c]=0}else n(\\\"tickSpacing\\\")&&(this.autoTicks=!0,l=!0);if(this._firstInit&&(\\\"ticks\\\"in t||\\\"tickSpacing\\\"in t||(this.autoTicks=!0),l=!0,s=!0,this._firstInit=!1),l&&this.autoTicks&&(r=mI.create(this.bounds,this.tickSpacing),s=!0),s){for(c=0;c<3;++c)r[c].sort(function(t,e){return t.x-e.x});mI.equal(r,this.ticks)?s=!1:this.ticks=r}i(\\\"tickEnable\\\"),a(\\\"tickFont\\\")&&(s=!0),n(\\\"tickSize\\\"),n(\\\"tickAngle\\\"),n(\\\"tickPad\\\"),o(\\\"tickColor\\\");var f=a(\\\"labels\\\");a(\\\"labelFont\\\")&&(f=!0),i(\\\"labelEnable\\\"),n(\\\"labelSize\\\"),n(\\\"labelPad\\\"),o(\\\"labelColor\\\"),i(\\\"lineEnable\\\"),i(\\\"lineMirror\\\"),n(\\\"lineWidth\\\"),o(\\\"lineColor\\\"),i(\\\"lineTickEnable\\\"),i(\\\"lineTickMirror\\\"),n(\\\"lineTickLength\\\"),n(\\\"lineTickWidth\\\"),o(\\\"lineTickColor\\\"),i(\\\"gridEnable\\\"),n(\\\"gridWidth\\\"),o(\\\"gridColor\\\"),i(\\\"zeroEnable\\\"),o(\\\"zeroLineColor\\\"),n(\\\"zeroLineWidth\\\"),i(\\\"backgroundEnable\\\"),o(\\\"backgroundColor\\\"),this._text?this._text&&(f||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=vI(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&s&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=aI(this.gl,this.bounds,this.ticks))};var kI=[new AI,new AI,new AI];function TI(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var h=a,f=s,p=o,d=l;u&1<<c&&(h=s,f=a,p=l,d=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var SI=[0,0,0],EI={model:bI,view:bI,projection:bI};MI.isOpaque=function(){return!0},MI.isTransparent=function(){return!1},MI.drawTransparent=function(t){};var CI=[0,0,0],LI=[0,0,0],zI=[0,0,0];MI.draw=function(t){t=t||EI;for(var e=this.gl,r=t.model||bI,n=t.view||bI,i=t.projection||bI,a=this.bounds,o=YP(r,n,i,a),s=o.cubeEdges,l=o.axis,u=n[12],c=n[13],h=n[14],f=n[15],p=this.pixelRatio*(i[3]*u+i[7]*c+i[11]*h+i[15]*f)/e.drawingBufferHeight,d=0;d<3;++d)this.lastCubeProps.cubeEdges[d]=s[d],this.lastCubeProps.axis[d]=l[d];var g=kI;for(d=0;d<3;++d)TI(kI[d],d,this.bounds,s,l);e=this.gl;var v=SI;for(d=0;d<3;++d)this.backgroundEnable[d]?v[d]=l[d]:v[d]=0;this._background.draw(r,n,i,a,v,this.backgroundColor),this._lines.bind(r,n,i,this);for(d=0;d<3;++d){var m=[0,0,0];l[d]>0?m[d]=a[1][d]:m[d]=a[0][d];for(var y=0;y<2;++y){var x=(d+1+y)%3,b=(d+1+(1^y))%3;this.gridEnable[x]&&this._lines.drawGrid(x,b,this.bounds,m,this.gridColor[x],this.gridWidth[x]*this.pixelRatio)}for(y=0;y<2;++y){x=(d+1+y)%3,b=(d+1+(1^y))%3;this.zeroEnable[b]&&a[0][b]<=0&&a[1][b]>=0&&this._lines.drawZero(x,b,this.bounds,m,this.zeroLineColor[b],this.zeroLineWidth[b]*this.pixelRatio)}}for(d=0;d<3;++d){this.lineEnable[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].primalOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio),this.lineMirror[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].mirrorOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio);var _=_I(CI,g[d].primalMinor),w=_I(LI,g[d].mirrorMinor),M=this.lineTickLength;for(y=0;y<3;++y){var A=p/r[5*y];_[y]*=M[y]*A,w[y]*=M[y]*A}this.lineTickEnable[d]&&this._lines.drawAxisTicks(d,g[d].primalOffset,_,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio),this.lineTickMirror[d]&&this._lines.drawAxisTicks(d,g[d].mirrorOffset,w,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(d=0;d<3;++d){var k=g[d].primalMinor,T=_I(zI,g[d].primalOffset);for(y=0;y<3;++y)this.lineTickEnable[d]&&(T[y]+=p*k[y]*Math.max(this.lineTickLength[y],0)/r[5*y]);if(this.tickEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.tickPad[y]/r[5*y];this._text.drawTicks(d,this.tickSize[d],this.tickAngle[d],T,this.tickColor[d])}if(this.labelEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.labelPad[y]/r[5*y];T[d]+=.5*(a[0][d]+a[1][d]),this._text.drawLabel(d,this.labelSize[d],this.labelAngle[d],T,this.labelColor[d])}}this._text.unbind()},MI.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};var PI=function(t,e,r){var n=e||0,i=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]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]};var II=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t};var DI=function(t,e,r,n,i){var a=e.model||OI,o=e.view||OI,s=e.projection||OI,l=t.bounds,u=(i=i||YP(a,o,s,l)).axis;i.edges;Dz(RI,o,a),Dz(RI,s,RI);for(var c=VI,h=0;h<3;++h)c[h].lo=1/0,c[h].hi=-1/0,c[h].pixelsPerDataUnit=1/0;var f=PI(Mz(RI,RI));Mz(RI,RI);for(var p=0;p<3;++p){var d=(p+1)%3,g=(p+2)%3,v=UI;t:for(var h=0;h<2;++h){var m=[];if(u[p]<0!=!!h){v[p]=l[h][p];for(var y=0;y<2;++y){v[d]=l[y^h][d];for(var x=0;x<2;++x)v[g]=l[x^y^h][g],m.push(v.slice())}for(var y=0;y<f.length;++y){if(0===m.length)continue t;m=HP.positive(m,f[y])}for(var y=0;y<m.length;++y)for(var g=m[y],b=jI(UI,RI,g,r,n),x=0;x<3;++x)c[x].lo=Math.min(c[x].lo,g[x]),c[x].hi=Math.max(c[x].hi,g[x]),x!==p&&(c[x].pixelsPerDataUnit=Math.min(c[x].pixelsPerDataUnit,Math.abs(b[x])))}}}return c},OI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),RI=new Float32Array(16);function FI(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var BI=[0,0,0,1],NI=[0,0,0,1];function jI(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=BI,s=NI,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,II(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,II(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,c=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+c*c)}return t}var VI=[new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0)],UI=[0,0,0];var qI=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t};var HI=E_([\\\"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}\\\"]),GI=E_([\\\"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}\\\"]),WI=function(t){return Bw(t,HI,GI,null,[{name:\\\"position\\\",type:\\\"vec2\\\"}])},YI=E_([\\\"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\\\"]),XI=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = fragColor;\\\\n}\\\"]),ZI=function(t){return Bw(t,YI,XI,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec3\\\"},{name:\\\"weight\\\",type:\\\"float\\\"}])},JI=function(t,e){var r=[];function n(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}n(0,0,0,0,0,1),n(0,0,0,1,0,1),n(0,0,0,2,0,1),n(1,0,0,1,-1,1),n(1,0,0,2,-1,1),n(0,1,0,0,-1,1),n(0,1,0,2,-1,1),n(0,0,1,0,-1,1),n(0,0,1,1,-1,1);var i=S_(t,r),a=EP(t,[{type:t.FLOAT,buffer:i,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:i,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:i,size:1,offset:24,stride:28}]),o=ZI(t);o.attributes.position.location=0,o.attributes.color.location=1,o.attributes.weight.location=2;var s=new QI(t,i,a,o);return s.update(e),s},KI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function QI(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 $I=QI.prototype,tD=[0,0,0],eD=[0,0,0],rD=[0,0];$I.isTransparent=function(){return!1},$I.drawTransparent=function(t){},$I.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||KI,o=t.view||KI,s=t.projection||KI;this.axes&&(i=this.axes.lastCubeProps.axis);for(var l=tD,u=eD,c=0;c<3;++c)i&&i[c]<0?(l[c]=this.bounds[0][c],u[c]=this.bounds[1][c]):(l[c]=this.bounds[1][c],u[c]=this.bounds[0][c]);rD[0]=e.drawingBufferWidth,rD[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,l,u],n.uniforms.colors=this.colors,n.uniforms.screenShape=rD;for(c=0;c<3;++c)n.uniforms.lineWidth=this.lineWidth[c]*this.pixelRatio,this.enabled[c]&&(r.draw(e.TRIANGLES,6,6*c),this.drawSides[c]&&r.draw(e.TRIANGLES,12,18+12*c));r.unbind()},$I.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))},$I.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var nD=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\\\"canvas\\\"),t.container){var n=t.container;n.appendChild(r)}else document.body.appendChild(r);var i=t.gl;i||(i=function(t,e){var r=null;try{(r=t.getContext(\\\"webgl\\\",e))||(r=t.getContext(\\\"experimental-webgl\\\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!i)throw new Error(\\\"webgl not supported\\\");var a=t.bounds||[[-10,-10,-10],[10,10,10]],o=new function(){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},s=YE(i,[i.drawingBufferWidth,i.drawingBufferHeight],{preferFloat:!iD}),l=WI(i),u=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\\\"turntable\\\"},c=t.axes||{},h=xI(i,c);h.enable=!c.disable;var f=t.spikes||{},p=JI(i,f),d=[],g=[],v=[],m=[],y=!0,x=!0,b=new Array(16),_=new Array(16),w={view:null,projection:b,model:_},x=!0,M=[i.drawingBufferWidth,i.drawingBufferHeight],A={gl:i,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:o,camera:_P(r,u),axes:h,axesPixels:null,spikes:p,bounds:a,objects:d,shape:M,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:oD(t.autoResize),autoBounds:oD(t.autoBounds),autoScale:!!t.autoScale,autoCenter:oD(t.autoCenter),clipToBounds:oD(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:w,oncontextloss:null,mouseListener:null},k=[i.drawingBufferWidth/A.pixelRatio|0,i.drawingBufferHeight/A.pixelRatio|0];function T(){if(!e&&A.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*A.pixelRatio),o=0|Math.ceil(i*A.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\\\"absolute\\\",s.left=\\\"0px\\\",s.top=\\\"0px\\\",s.width=n+\\\"px\\\",s.height=i+\\\"px\\\",y=!0}}}A.autoResize&&T();function S(){for(var t=d.length,e=m.length,r=0;r<e;++r)v[r]=0;t:for(var r=0;r<t;++r){var n=d[r],a=n.pickSlots;if(a){for(var o=0;o<e;++o)if(v[o]+a<255){g[r]=o,n.setPickBase(v[o]+1),v[o]+=a;continue t}var s=nC(i,M);g[r]=e,m.push(s),v.push(a),n.setPickBase(1),e+=1}else g[r]=-1}for(;e>0&&0===v[e-1];)v.pop(),m.pop().dispose()}window.addEventListener(\\\"resize\\\",T),A.update=function(t){e||(t=t||{},y=!0,x=!0)},A.add=function(t){e||(t.axes=h,d.push(t),g.push(-1),y=!0,x=!0,S())},A.remove=function(t){if(!e){var r=d.indexOf(t);r<0||(d.splice(r,1),g.pop(),y=!0,x=!0,S())}},A.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\\\"resize\\\",T),r.removeEventListener(\\\"webglcontextlost\\\",L),A.mouseListener.enabled=!1,!A.contextLost)){h.dispose(),p.dispose();for(var t=0;t<d.length;++t)d[t].dispose();s.dispose();for(var t=0;t<m.length;++t)m[t].dispose();l.dispose(),i=null,h=null,p=null,d=[]}};var E=!1,C=0;function L(){if(A.contextLost)return!0;i.isContextLost()&&(A.contextLost=!0,A.mouseListener.enabled=!1,A.selection.object=null,A.oncontextloss&&A.oncontextloss())}A.mouseListener=CC(r,function(t,r,n){if(!e){var i=m.length,a=d.length,s=o.object;o.distance=1/0,o.mouse[0]=r,o.mouse[1]=n,o.object=null,o.screen=null,o.dataCoordinate=o.dataPosition=null;var l=!1;if(t&&C)E=!0;else{E&&(x=!0),E=!1;for(var u=0;u<i;++u){var c=m[u].query(r,k[1]-n-1,A.pickRadius);if(c){if(c.distance>o.distance)continue;for(var h=0;h<a;++h){var f=d[h];if(g[h]===u){var p=f.pick(c);p&&(o.buttons=t,o.screen=c.coord,o.distance=c.distance,o.object=f,o.index=p.distance,o.dataPosition=p.position,o.dataCoordinate=p.dataCoordinate,o.data=p,l=!0)}}}}}s&&s!==o.object&&(s.highlight&&s.highlight(null),y=!0),o.object&&(o.object.highlight&&o.object.highlight(o.data),y=!0),(l=l||o.object!==s)&&A.onselect&&A.onselect(o),1&t&&!(1&C)&&A.onclick&&A.onclick(o),C=t}}),r.addEventListener(\\\"webglcontextlost\\\",L);var z=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],P=[z[0].slice(),z[1].slice()];function I(){if(!L()){T();var t=A.camera.tick();w.view=A.camera.matrix,y=y||t,x=x||t,h.pixelRatio=A.pixelRatio,p.pixelRatio=A.pixelRatio;var e=d.length,r=z[0],n=z[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var a=0;a<e;++a){var u=d[a];u.pixelRatio=A.pixelRatio,u.axes=A.axes,y=y||!!u.dirty,x=x||!!u.dirty;var c=u.bounds;if(c)for(var f=c[0],v=c[1],S=0;S<3;++S)r[S]=Math.min(r[S],f[S]),n[S]=Math.max(n[S],v[S])}var E=A.bounds;if(A.autoBounds)for(var S=0;S<3;++S){if(n[S]<r[S])r[S]=-1,n[S]=1;else{r[S]===n[S]&&(r[S]-=1,n[S]+=1);var C=.05*(n[S]-r[S]);r[S]=r[S]-C,n[S]=n[S]+C}E[0][S]=r[S],E[1][S]=n[S]}for(var I=!1,S=0;S<3;++S)I=I||P[0][S]!==E[0][S]||P[1][S]!==E[1][S],P[0][S]=E[0][S],P[1][S]=E[1][S];if(x=x||I,y=y||I){if(I){for(var D=[0,0,0],a=0;a<3;++a)D[a]=aD((E[1][a]-E[0][a])/10);h.autoTicks?h.update({bounds:E,tickSpacing:D}):h.update({bounds:E})}var O=i.drawingBufferWidth,R=i.drawingBufferHeight;M[0]=O,M[1]=R,k[0]=0|Math.max(O/A.pixelRatio,1),k[1]=0|Math.max(R/A.pixelRatio,1),qI(b,A.fovy,O/R,A.zNear,A.zFar);for(var a=0;a<16;++a)_[a]=0;_[15]=1;for(var F=0,a=0;a<3;++a)F=Math.max(F,E[1][a]-E[0][a]);for(var a=0;a<3;++a)A.autoScale?_[5*a]=A.aspect[a]/(E[1][a]-E[0][a]):_[5*a]=1/F,A.autoCenter&&(_[12+a]=.5*-_[5*a]*(E[0][a]+E[1][a]));for(var a=0;a<e;++a){var u=d[a];u.axesBounds=E,A.clipToBounds&&(u.clipBounds=E)}o.object&&(A.snapToData?p.position=o.dataCoordinate:p.position=o.dataPosition,p.bounds=E),x&&(x=!1,function(){if(L())return;i.colorMask(!0,!0,!0,!0),i.depthMask(!0),i.disable(i.BLEND),i.enable(i.DEPTH_TEST);for(var t=d.length,e=m.length,r=0;r<e;++r){var n=m[r];n.shape=k,n.begin();for(var a=0;a<t;++a)if(g[a]===r){var o=d[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(w))}n.end()}}()),A.axesPixels=DI(A.axes,w,O,R),A.onrender&&A.onrender(),i.bindFramebuffer(i.FRAMEBUFFER,null),i.viewport(0,0,O,R);var B=A.clearColor;i.clearColor(B[0],B[1],B[2],B[3]),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),i.depthMask(!0),i.colorMask(!0,!0,!0,!0),i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),i.disable(i.BLEND),i.disable(i.CULL_FACE);var N=!1;h.enable&&(N=N||h.isTransparent(),h.draw(w)),p.axes=h,o.object&&p.draw(w),i.disable(i.CULL_FACE);for(var a=0;a<e;++a){var u=d[a];u.axes=h,u.pixelRatio=A.pixelRatio,u.isOpaque&&u.isOpaque()&&u.draw(w),u.isTransparent&&u.isTransparent()&&(N=!0)}if(N){s.shape=M,s.bind(),i.clear(i.DEPTH_BUFFER_BIT),i.colorMask(!1,!1,!1,!1),i.depthMask(!0),i.depthFunc(i.LESS),h.enable&&h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isOpaque&&u.isOpaque()&&u.draw(w)}i.enable(i.BLEND),i.blendEquation(i.FUNC_ADD),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.colorMask(!0,!0,!0,!0),i.depthMask(!1),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isTransparent&&u.isTransparent()&&u.drawTransparent(w)}i.bindFramebuffer(i.FRAMEBUFFER,null),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.disable(i.DEPTH_TEST),l.bind(),s.color[0].bind(0),l.uniforms.accumBuffer=0,zP(i),i.disable(i.BLEND)}y=!1;for(var a=0;a<e;++a)d[a].dirty=!1}}}return function t(){e||A.contextLost||(requestAnimationFrame(t),I())}(),A.redraw=function(){e||(y=!0,I())},A},iD=function(t){t||\\\"undefined\\\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\\\"string\\\"==typeof t.headers[\\\"user-agent\\\"]&&(t=t.headers[\\\"user-agent\\\"]);return\\\"string\\\"==typeof t&&(/(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(4|6)0|symbian|treo|up\\\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\\\-(n|u)|c55\\\\/|capi|ccwa|cdm\\\\-|cell|chtm|cldc|cmd\\\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\\\-|_)|g1 u|g560|gene|gf\\\\-5|g\\\\-mo|go(\\\\.w|od)|gr(ad|un)|haie|hcit|hd\\\\-(m|p|t)|hei\\\\-|hi(pt|ta)|hp( i|ip)|hs\\\\-c|ht(c(\\\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\\\-(20|go|ma)|i230|iac( |\\\\-|\\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\\/)|klon|kpt |kwc\\\\-|kyo(c|k)|le(no|xi)|lg( g|\\\\/(k|l|u)|50|54|\\\\-[a-w])|libw|lynx|m1\\\\-w|m3ga|m50\\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\\\-2|po(ck|rt|se)|prox|psio|pt\\\\-g|qa\\\\-a|qc(07|12|21|32|60|\\\\-[2-7]|i\\\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\\\-|oo|p\\\\-)|sdk\\\\/|se(c(\\\\-|0|1)|47|mc|nd|ri)|sgh\\\\-|shar|sie(\\\\-|m)|sk\\\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\\\-|v\\\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\\\-|tdg\\\\-|tel(i|m)|tim\\\\-|t\\\\-mo|to(pl|sh)|ts(70|m\\\\-|m3|m5)|tx\\\\-9|up(\\\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\\\-|your|zeto|zte\\\\-/i.test(t.substr(0,4)))}();function aD(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 oD(t){return\\\"boolean\\\"!=typeof t||t}var sD=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 n=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\\\"orbit\\\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={keyBindingMode:\\\"rotate\\\",view:n,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:n.modes,tick:function(){var e=bP(),r=this.delay,l=e-2*r;n.idle(e-r),n.recalcMatrix(l),n.flush(e-(100+2*r));for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=Math.exp(n.computedRadius[0]),!0)},lookAt:function(t,e,r){n.lookAt(n.lastT(),t,e,r)},rotate:function(t,e,r){n.rotate(n.lastT(),t,e,r)},pan:function(t,e,r){n.pan(n.lastT(),t,e,r)},translate:function(t,e,r){n.translate(n.lastT(),t,e,r)}};Object.defineProperties(l,{matrix:{get:function(){return n.computedMatrix},set:function(t){return n.setMatrix(n.lastT(),t),n.computedMatrix},enumerable:!0},mode:{get:function(){return n.getMode()},set:function(t){var e=n.computedUp.slice(),r=n.computedEye.slice(),i=n.computedCenter.slice();if(n.setMode(t),\\\"turntable\\\"===t){var a=bP();n._active.lookAt(a,r,i,e),n._active.lookAt(a+500,r,i,[0,0,1]),n._active.flush(a)}return n.getMode()},enumerable:!0},center:{get:function(){return n.computedCenter},set:function(t){return n.lookAt(n.lastT(),null,t),n.computedCenter},enumerable:!0},eye:{get:function(){return n.computedEye},set:function(t){return n.lookAt(n.lastT(),t),n.computedEye},enumerable:!0},up:{get:function(){return n.computedUp},set:function(t){return n.lookAt(n.lastT(),null,null,t),n.computedUp},enumerable:!0},distance:{get:function(){return a},set:function(t){return n.setDistance(n.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return n.getDistanceLimits(r)},set:function(t){return n.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault(),!1});var u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=l.keyBindingMode;if(!1!==s){var f=\\\"rotate\\\"===s,p=\\\"pan\\\"===s,d=\\\"zoom\\\"===s,g=!!o.control,v=!!o.alt,m=!!o.shift,y=!!(1&e),x=!!(2&e),b=!!(4&e),_=1/t.clientHeight,w=_*(r-u),M=_*(i-c),A=l.flipX?1:-1,k=l.flipY?1:-1,T=bP(),S=Math.PI*l.rotateSpeed;if((f&&y&&!g&&!v&&!m||y&&!g&&!v&&m)&&n.rotate(T,A*S*w,-k*S*M,0),(p&&y&&!g&&!v&&!m||x||y&&g&&!v&&!m)&&n.pan(T,-l.translateSpeed*w*a,l.translateSpeed*M*a,0),d&&y&&!g&&!v&&!m||b||y&&!g&&v&&!m){var E=-l.zoomSpeed*M/window.innerHeight*(T-n.lastT())*100;n.pan(T,0,0,a*(Math.exp(E)-1))}return u=r,c=i,h=o,!0}}return l.mouseListener=CC(t,f),t.addEventListener(\\\"touchstart\\\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchmove\\\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\\\"touchend\\\",function(t){f(0,u,c,h),t.preventDefault()},!!Ea&&{passive:!1}),l.wheelListener=OC(t,function(t,e){if(!1!==l.keyBindingMode){var r=l.flipX?1:-1,i=l.flipY?1:-1,o=bP();if(Math.abs(t)>Math.abs(e))n.rotate(o,0,0,-t*r*Math.PI*l.rotateSpeed/window.innerWidth);else{var s=-l.zoomSpeed*i*e/window.innerHeight*(o-n.lastT())/20;n.pan(o,0,0,a*(Math.exp(s)-1))}}},!0),l};var lD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function uD(){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.labelAngle=[0,0,0],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()}uD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[lD[e]];r.visible?(this.labels[e]=AC(r.title),\\\"titlefont\\\"in r&&(r.titlefont.color&&(this.labelColor[e]=WC(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\\\"showline\\\"in r&&(this.lineEnable[e]=r.showline),\\\"linecolor\\\"in r&&(this.lineColor[e]=WC(r.linecolor)),\\\"linewidth\\\"in r&&(this.lineWidth[e]=r.linewidth),\\\"showgrid\\\"in r&&(this.gridEnable[e]=r.showgrid),\\\"gridcolor\\\"in r&&(this.gridColor[e]=WC(r.gridcolor)),\\\"gridwidth\\\"in r&&(this.gridWidth[e]=r.gridwidth),\\\"log\\\"===r.type?this.zeroEnable[e]=!1:\\\"zeroline\\\"in r&&(this.zeroEnable[e]=r.zeroline),\\\"zerolinecolor\\\"in r&&(this.zeroLineColor[e]=WC(r.zerolinecolor)),\\\"zerolinewidth\\\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\\\"ticks\\\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\\\"ticklen\\\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\\\"tickcolor\\\"in r&&(this.lineTickColor[e]=WC(r.tickcolor)),\\\"tickwidth\\\"in r&&(this.lineTickWidth[e]=r.tickwidth),\\\"tickangle\\\"in r&&(this.tickAngle[e]=\\\"auto\\\"===r.tickangle?0:Math.PI*-r.tickangle/180),\\\"showticklabels\\\"in r&&(this.tickEnable[e]=r.showticklabels),\\\"tickfont\\\"in r&&(r.tickfont.color&&(this.tickColor[e]=WC(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\\\"mirror\\\"in r?-1!==[\\\"ticks\\\",\\\"all\\\",\\\"allticks\\\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\\\"showbackground\\\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=WC(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}};var cD=function(t){var e=new uD;return e.merge(t),e},hD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function fD(){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]}fD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[hD[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=WC(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}};var pD,dD,gD=function(t){var e=new fD;return e.merge(t),e},vD=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,n=t.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[mD[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/t.dataScale[a],Math.abs(o._length)===1/0)i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/t.dataScale[a],o.range[1]=r[a].hi/t.dataScale[a],o._m=1/(t.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(\\\"auto\\\"===o.tickmode){o.tickmode=\\\"linear\\\";var l=o.nticks||ne.constrain(o._length/40,4,9);ri.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=ri.calcTicks(o),c=0;c<u.length;++c)u[c].x=u[c].x*t.dataScale[a],u[c].text=AC(u[c].text);i[a]=u,o.tickmode=s}}e.ticks=i;for(var a=0;a<3;++a){yD[a]=.5*(t.glplot.bounds[0][a]+t.glplot.bounds[1][a]);for(var c=0;c<2;++c)e.bounds[c][a]=t.glplot.bounds[c][a]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(i)},mD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"],yD=[0,0,0];function xD(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(dD||(pD=document.createElement(\\\"canvas\\\"),dD=_C({canvas:pD,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\\\"error creating static canvas/context for image server\\\");i.pixelRatio=t.pixelRatio,i.gl=dD,i.canvas=pD}try{t.glplot=nD(i)}catch(e){TC(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\\\".camera\\\"]=kD(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\\\"plotly_relayout\\\",e)}};if(t.glplot.canvas.addEventListener(\\\"mouseup\\\",a.bind(null,t)),t.glplot.canvas.addEventListener(\\\"wheel\\\",a.bind(null,t),!!Ea&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\\\"webglcontextlost\\\",function(t){ne.warn(\\\"Lost WebGL context.\\\"),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=sD(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:\\\"orbit\\\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 \\\"+i+\\\" \\\"+a),r.setAttributeNS(null,\\\"width\\\",i),r.setAttributeNS(null,\\\"height\\\",a),vD(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)\\\"skip\\\"!==(e=t.traces[s[c]]).data.hoverinfo&&e.handlePick(u)&&(l=e),e.setContourLevels&&e.setContourLevels();function h(e,r){var n=t.fullSceneLayout[e];return ri.tickText(n,n.d2l(r),\\\"hover\\\").text}if(null!==l){var f=gd(t.glplot.cameraParams,u.dataCoordinate);e=l.data;var p=u.index,d=yo.castHoverinfo(e,t.fullLayout,p),g=h(\\\"xaxis\\\",u.traceCoordinate[0]),v=h(\\\"yaxis\\\",u.traceCoordinate[1]),m=h(\\\"zaxis\\\",u.traceCoordinate[2]);if(\\\"all\\\"!==d){var y=d.split(\\\"+\\\");-1===y.indexOf(\\\"x\\\")&&(g=void 0),-1===y.indexOf(\\\"y\\\")&&(v=void 0),-1===y.indexOf(\\\"z\\\")&&(m=void 0),-1===y.indexOf(\\\"text\\\")&&(u.textLabel=void 0),-1===y.indexOf(\\\"name\\\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&yo.loneHover({x:(.5+.5*f[0]/f[3])*i,y:(.5-.5*f[1]/f[3])*a,xLabel:g,yLabel:v,zLabel:m,text:u.textLabel,name:l.name,color:yo.castHoverOption(e,p,\\\"bgcolor\\\")||l.color,borderColor:yo.castHoverOption(e,p,\\\"bordercolor\\\"),fontFamily:yo.castHoverOption(e,p,\\\"font.family\\\"),fontSize:yo.castHoverOption(e,p,\\\"font.size\\\"),fontColor:yo.castHoverOption(e,p,\\\"font.color\\\")},{container:r,gd:t.graphDiv});var x={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:p};yo.appendArrayPointValue(x,e,p);var b={points:[x]};u.buttons&&u.distance<5?t.graphDiv.emit(\\\"plotly_click\\\",b):t.graphDiv.emit(\\\"plotly_hover\\\",b),o=b}else yo.loneUnhover(r),t.graphDiv.emit(\\\"plotly_unhover\\\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function bD(t,e){var r=document.createElement(\\\"div\\\"),n=t.container;this.graphDiv=t.graphDiv;var i=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\\\",r.appendChild(i),this.svgContainer=i,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=cD(e[this.id]),this.spikeOptions=gD(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=P.getComponentMethod(\\\"annotations3d\\\",\\\"convert\\\"),this.drawAnnotations=P.getComponentMethod(\\\"annotations3d\\\",\\\"draw\\\"),xD(this)}var _D=bD.prototype;_D.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):xD(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):ne.error(\\\"Catastrophic and unrecoverable WebGL error. Context lost.\\\")})};var wD=[\\\"xaxis\\\",\\\"yaxis\\\",\\\"zaxis\\\"];function MD(t,e,r,n,i,a){var o;if(!ne.isArrayOrTypedArray(e))return i[0][n]=Math.min(i[0][n],0),void(i[1][n]=Math.max(i[1][n],r-1));for(var s=0;s<(r||e.length);++s)if(ne.isArrayOrTypedArray(e[s]))for(var l=0;l<e[s].length;++l)o=t.d2l(e[s][l],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o));else o=t.d2l(e[s],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o))}function AD(t,e,r){var n=t.fullSceneLayout;MD(n.xaxis,e.x,e._xlength,0,r,e.xcalendar),MD(n.yaxis,e.y,e._ylength,1,r,e.ycalendar),MD(n.zaxis,e.z,e._zlength,2,r,e.zcalendar)}function kD(t){return{up:{x:t.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]}}}_D.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,u=e[this.id],c=r[this.id];u.bgcolor?this.glplot.clearColor=WC(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),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(a=0;a<t.length;++a)!0===(n=t[a]).visible&&AD(this,n,h);var f=[1,1,1];for(o=0;o<3;++o)h[0][o]>h[1][o]?f[o]=1: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),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?i.update(n):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&!0===t[o].visible)continue t;(i=this.traces[p[a]]).dispose(),delete this.traces[p[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var d=[[0,0,0],[0,0,0]],g=[],v={};for(a=0;a<3;++a){if((l=(s=u[wD[a]]).type)in v?(v[l].acc*=f[a],v[l].count+=1):v[l]={acc:f[a],count:1},s.autorange){d[0][a]=1/0,d[1][a]=-1/0;var m=this.glplot.objects,y=this.fullSceneLayout.annotations||[],x=s._name.charAt(0);for(o=0;o<m.length;o++){var b=m[o].bounds;d[0][a]=Math.min(d[0][a],b[0][a]/f[a]),d[1][a]=Math.max(d[1][a],b[1][a]/f[a])}for(o=0;o<y.length;o++){var _=y[o];if(_.visible){var w=s.r2l(_[x]);d[0][a]=Math.min(d[0][a],w),d[1][a]=Math.max(d[1][a],w)}}if(\\\"rangemode\\\"in s&&\\\"tozero\\\"===s.rangemode&&(d[0][a]=Math.min(d[0][a],0),d[1][a]=Math.max(d[1][a],0)),d[0][a]>d[1][a])d[0][a]=-1,d[1][a]=1;else{var M=d[1][a]-d[0][a];d[0][a]-=M/32,d[1][a]+=M/32}}else{var A=s.range;d[0][a]=s.r2l(A[0]),d[1][a]=s.r2l(A[1])}d[0][a]===d[1][a]&&(d[0][a]-=1,d[1][a]+=1),g[a]=d[1][a]-d[0][a],this.glplot.bounds[0][a]=d[0][a]*f[a],this.glplot.bounds[1][a]=d[1][a]*f[a]}var k=[1,1,1];for(a=0;a<3;++a){var T=v[l=(s=u[wD[a]]).type];k[a]=Math.pow(T.acc,1/T.count)/f[a]}var S;if(\\\"auto\\\"===u.aspectmode)S=Math.max.apply(null,k)/Math.min.apply(null,k)<=4?k:[1,1,1];else if(\\\"cube\\\"===u.aspectmode)S=[1,1,1];else if(\\\"data\\\"===u.aspectmode)S=k;else{if(\\\"manual\\\"!==u.aspectmode)throw new Error(\\\"scene.js aspectRatio was not one of the enumerated types\\\");var E=u.aspectratio;S=[E.x,E.y,E.z]}u.aspectratio.x=c.aspectratio.x=S[0],u.aspectratio.y=c.aspectratio.y=S[1],u.aspectratio.z=c.aspectratio.z=S[2],this.glplot.aspect=S;var C=u.domain||null,L=e._size||null;if(C&&L){var z=this.container.style;z.position=\\\"absolute\\\",z.left=L.l+C.x[0]*L.w+\\\"px\\\",z.top=L.t+(1-C.y[1])*L.h+\\\"px\\\",z.width=L.w*(C.x[1]-C.x[0])+\\\"px\\\",z.height=L.h*(C.y[1]-C.y[0])+\\\"px\\\"}this.glplot.redraw()}},_D.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\\\"wheel\\\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_D.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),kD(this.glplot.camera)},_D.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).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]])},_D.saveCamera=function(t){var e=this.getCamera(),r=ne.nestedProperty(t,this.id+\\\".camera\\\"),n=r.get(),i=!1;function a(t,e,r,n){var i=[\\\"up\\\",\\\"center\\\",\\\"eye\\\"],a=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_D.updateFx=function(t,e){var r=this.camera;r&&(\\\"orbit\\\"===t?(r.mode=\\\"orbit\\\",r.keyBindingMode=\\\"rotate\\\"):\\\"turntable\\\"===t?(r.up=[0,0,1],r.mode=\\\"turntable\\\",r.keyBindingMode=\\\"rotate\\\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_D.toImage=function(t){t||(t=\\\"png\\\"),this.staticMode&&this.container.appendChild(pD),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*n*4);e.readPixels(0,0,r,n,e.RGBA,e.UNSIGNED_BYTE,i);for(var a=0,o=n-1;a<o;++a,--o)for(var s=0;s<r;++s)for(var l=0;l<4;++l){var u=i[4*(r*a+s)+l];i[4*(r*a+s)+l]=i[4*(r*o+s)+l],i[4*(r*o+s)+l]=u}var c=document.createElement(\\\"canvas\\\");c.width=r,c.height=n;var h,f=c.getContext(\\\"2d\\\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\\\"jpeg\\\":h=c.toDataURL(\\\"image/jpeg\\\");break;case\\\"webp\\\":h=c.toDataURL(\\\"image/webp\\\");break;default:h=c.toDataURL(\\\"image/png\\\")}return this.staticMode&&this.container.removeChild(pD),h},_D.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[wD[t]];ri.setConvert(e,this.fullLayout),e.setScale=ne.noop}};var TD=bD,SD={},ED=ye.overrideAll,CD=sa.getSubplotData;SD.name=\\\"gl3d\\\",SD.attr=\\\"scene\\\",SD.idRoot=\\\"scene\\\",SD.idRegex=SD.attrRegex=ne.counterRegex(\\\"scene\\\"),SD.attributes={scene:{valType:\\\"subplotid\\\",dflt:\\\"scene\\\",editType:\\\"calc+clearAxisTypes\\\"}},SD.layoutAttributes=lz,SD.baseLayoutAttrOverrides=ED({hoverlabel:mo.hoverlabel},\\\"plot\\\",\\\"nested\\\"),SD.supplyLayoutDefaults=function(t,e,r){var n=e._basePlotModules.length>1;Jc(t,e,0,{type:\\\"gl3d\\\",attributes:lz,handleDefaults:uz,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!n)return ne.validate(t[e],lz[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})},SD.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var a=n[i],o=CD(r,\\\"gl3d\\\",a),s=e[a],l=s._scene;l||(l=new TD({id:a,graphDiv:t,container:t.querySelector(\\\".gl-container\\\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene=l),l.cameraInitial||(l.cameraInitial=ne.extendDeep({},s.camera)),l.plot(o,e,t.layout)}},SD.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\\\".annotation-\\\"+o).remove())}},SD.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,l=s.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":l,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()}},SD.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\\\"1\\\"===e&&(e=\\\"\\\"),\\\"scene\\\"+e}},SD.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r<e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}};var LD={},zD=m.extendFlat,PD=ye.overrideAll;function ID(t){return{show:{valType:\\\"boolean\\\",dflt:!1},project:{x:{valType:\\\"boolean\\\",dflt:!1},y:{valType:\\\"boolean\\\",dflt:!1},z:{valType:\\\"boolean\\\",dflt:!1}},color:{valType:\\\"color\\\",dflt:Oe.defaultLine},usecolormap:{valType:\\\"boolean\\\",dflt:!1},width:{valType:\\\"number\\\",min:1,max:16,dflt:2},highlight:{valType:\\\"boolean\\\",dflt:!0},highlightcolor:{valType:\\\"color\\\",dflt:Oe.defaultLine},highlightwidth:{valType:\\\"number\\\",min:1,max:16,dflt:2}}}var DD=LD=PD({z:{valType:\\\"data_array\\\"},x:{valType:\\\"data_array\\\"},y:{valType:\\\"data_array\\\"},text:{valType:\\\"string\\\",dflt:\\\"\\\",arrayOk:!0},surfacecolor:{valType:\\\"data_array\\\"},cauto:Pe.zauto,cmin:Pe.zmin,cmax:Pe.zmax,colorscale:Pe.colorscale,autocolorscale:zD({},Pe.autocolorscale,{dflt:!1}),reversescale:Pe.reversescale,showscale:Pe.showscale,colorbar:ze,contours:{x:ID(),y:ID(),z:ID()},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},_deprecated:{zauto:zD({},Pe.zauto,{}),zmin:zD({},Pe.zmin,{}),zmax:zD({},Pe.zmax,{})},hoverinfo:zD({},E.hoverinfo)},\\\"calc\\\",\\\"nested\\\");DD.x.editType=DD.y.editType=DD.z.editType=\\\"calc+clearAxisTypes\\\";var OD=m.extendFlat,RD=OD(De(0,\\\"calc\\\",!1),{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\\\"},delaunayaxis:{valType:\\\"enumerated\\\",values:[\\\"x\\\",\\\"y\\\",\\\"z\\\"],dflt:\\\"z\\\",editType:\\\"calc\\\"},alphahull:{valType:\\\"number\\\",dflt:-1,editType:\\\"calc\\\"},intensity:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},color:{valType:\\\"color\\\",editType:\\\"calc\\\"},vertexcolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},facecolor:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},opacity:LD.opacity,flatshading:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},contour:{show:OD({},LD.contours.x.show,{}),color:LD.contours.x.color,width:LD.contours.x.width,editType:\\\"calc\\\"},showscale:Pe.showscale,colorbar:ze,lightposition:{x:OD({},LD.lightposition.x,{dflt:1e5}),y:OD({},LD.lightposition.y,{dflt:1e5}),z:OD({},LD.lightposition.z,{dflt:0}),editType:\\\"calc\\\"},lighting:OD({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\\\"},LD.lighting),hoverinfo:OD({},E.hoverinfo,{editType:\\\"calc\\\"})}),FD=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var u=0,i=n;i<e;++i){var a=t[i],o=r,s=(r=a+o)-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t};var BD={},ND=6;function jD(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function VD(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(\\\",VD(jD(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 UD(t){return new Function(\\\"sum\\\",\\\"scale\\\",\\\"prod\\\",\\\"compress\\\",[\\\"function robustDeterminant\\\",t,\\\"(m){return compress(\\\",VD(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[\\\",r,\\\"][\\\",n,\\\"]\\\"].join(\\\"\\\")}return e}(t)),\\\")};return robustDeterminant\\\",t].join(\\\"\\\"))(gM,pM,cM,FD)}var qD=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;qD.length<ND;)qD.push(UD(qD.length));for(var t=[],e=[\\\"function robustDeterminant(m){switch(m.length){\\\"],r=0;r<ND;++r)t.push(\\\"det\\\"+r),e.push(\\\"case \\\",r,\\\":return det\\\",r,\\\"(m);\\\");e.push(\\\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\\\"),t.push(\\\"CACHE\\\",\\\"gen\\\",e.join(\\\"\\\"));var n=Function.apply(void 0,t);for(BD=n.apply(void 0,qD.concat([qD,UD])),r=0;r<qD.length;++r)BD[r]=qD[r]}();var HD={},GD=6;function WD(t){for(var e=\\\"robustLinearSolve\\\"+t+\\\"d\\\",r=[\\\"function \\\",e,\\\"(A,b){return [\\\"],n=0;n<t;++n){r.push(\\\"det([\\\");for(var i=0;i<t;++i){i>0&&r.push(\\\",\\\"),r.push(\\\"[\\\");for(var a=0;a<t;++a)a>0&&r.push(\\\",\\\"),a===n?r.push(\\\"+b[\\\",i,\\\"]\\\"):r.push(\\\"+A[\\\",i,\\\"][\\\",a,\\\"]\\\");r.push(\\\"]\\\")}r.push(\\\"]),\\\")}r.push(\\\"det(A)]}return \\\",e);var o=new Function(\\\"det\\\",r.join(\\\"\\\"));return o(t<6?BD[t]:BD)}var YD=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];function XD(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function ZD(t){var e=t.length;if(0===e)return[];t[0].length;var r=b_([t.length+1,t.length+1],1),n=b_([t.length+1],1);r[e][e]=0;for(var i=0;i<e;++i){for(var a=0;a<=i;++a)r[a][i]=r[i][a]=2*XD(t[i],t[a]);n[i]=XD(t[i],t[i])}var o=HD(r,n),s=0,l=o[e+1];for(i=0;i<l.length;++i)s+=l[i];var u=new Array(e);for(i=0;i<e;++i){l=o[i];var c=0;for(a=0;a<l.length;++a)c+=l[a];u[i]=c/s}return u}function JD(t){if(0===t.length)return[];for(var e=t[0].length,r=b_([e]),n=ZD(t),i=0;i<t.length;++i)for(var a=0;a<e;++a)r[a]+=t[i][a]*n[i];return r}!function(){for(;YD.length<GD;)YD.push(WD(YD.length));for(var t=[],e=[\\\"function dispatchLinearSolve(A,b){switch(A.length){\\\"],r=0;r<GD;++r)t.push(\\\"s\\\"+r),e.push(\\\"case \\\",r,\\\":return s\\\",r,\\\"(A,b);\\\");e.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\\\",e.join(\\\"\\\"));var n=Function.apply(void 0,t);for(HD=n.apply(void 0,YD.concat([YD,WD])),r=0;r<GD;++r)HD[r]=YD[r]}(),JD.barycenetric=ZD;var KD=JD,QD=function(t){for(var e=KD(t),r=0,n=0;n<t.length;++n)for(var i=t[n],a=0;a<e.length;++a)r+=Math.pow(i[a]-e[a],2);return Math.sqrt(r/t.length)};var $D=function(t,e){var r=t.length;if(0===r)throw new Error(\\\"Must have at least d+1 points\\\");var n=t[0].length;if(r<=n)throw new Error(\\\"Must input at least d+1 points\\\");var i=t.slice(0,n+1),a=PM.apply(void 0,i);if(0===a)throw new Error(\\\"Input not in general position\\\");for(var o=new Array(n+1),s=0;s<=n;++s)o[s]=s;a<0&&(o[0]=1,o[1]=0);for(var l=new eO(o,new Array(n+1),!1),u=l.adjacent,c=new Array(n+2),s=0;s<=n;++s){for(var h=o.slice(),f=0;f<=n;++f)f===s&&(h[f]=-1);var p=h[0];h[0]=h[1],h[1]=p;var d=new eO(h,new Array(n+1),!0);u[s]=d,c[s]=d}c[n+1]=l;for(var s=0;s<=n;++s)for(var h=u[s].vertices,g=u[s].adjacent,f=0;f<=n;++f){var v=h[f];if(v<0)g[f]=l;else for(var m=0;m<=n;++m)u[m].vertices.indexOf(v)<0&&(g[f]=u[m])}for(var y=new aO(n,i,c),x=!!e,s=n+1;s<r;++s)y.insert(t[s],x);return y.boundary()},tO=gS.compareCells;function eO(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function rO(t,e,r){this.vertices=t,this.cell=e,this.index=r}function nO(t,e){return tO(t.vertices,e.vertices)}eO.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 iO=[];function aO(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 n=0;n<=t;++n)this.tuple[n]=this.vertices[n];var i=iO[t];i||(i=iO[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 n=new Function(\\\"test\\\",e.join(\\\"\\\")),i=PM[t+1];return i||(i=PM),n(i)}(t)),this.orient=i}var oO=aO.prototype;oO.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=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 u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,h=0;h<=r;++h){var f=c[h];i[h]=f<0?e:a[f]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}}return null},oO.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=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,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];s.lastVisited=r;for(c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var p=this.orient();if(a[c]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},oO.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=this.interior,s=this.simplices,l=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,o.push(e);for(var u=[];l.length>0;){var c=(e=l.pop()).vertices,h=e.adjacent,f=c.indexOf(r);if(!(f<0))for(var p=0;p<=n;++p)if(p!==f){var d=h[p];if(d.boundary&&!(d.lastVisited>=r)){var g=d.vertices;if(d.lastVisited!==-r){for(var v=0,m=0;m<=n;++m)g[m]<0?(v=m,a[m]=t):a[m]=i[g[m]];if(this.orient()>0){g[v]=r,d.boundary=!1,o.push(d),l.push(d),d.lastVisited=r;continue}d.lastVisited=-r}var y=d.adjacent,x=c.slice(),b=h.slice(),_=new eO(x,b,!0);s.push(_);var w=y.indexOf(e);if(!(w<0)){y[w]=_,b[f]=d,x[p]=-1,b[p]=e,h[p]=_,_.flip();for(m=0;m<=n;++m){var M=x[m];if(!(M<0||M===r)){for(var A=new Array(n-1),k=0,T=0;T<=n;++T){var S=x[T];S<0||T===m||(A[k++]=S)}u.push(new rO(A,_,m))}}}}}}u.sort(nO);for(p=0;p+1<u.length;p+=2){var E=u[p],C=u[p+1],L=E.index,z=C.index;L<0||z<0||(E.cell.adjacent[E.index]=C.cell,C.cell.adjacent[C.index]=E.cell)}},oO.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},oO.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,u=0,c=0;c<=t;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e};var sO=function(t,e){var r=t.length;if(0===r)return[];var n=t[0].length;if(n<1)return[];if(1===n)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 i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var i=new Array(r),a=1,o=0;o<r;++o){for(var s=t[o],l=new Array(n+1),u=0,c=0;c<n;++c){var h=s[c];l[c]=h,u+=h*h}l[n]=u,i[o]=new lO(l,o),a=Math.max(u,a)}Qx(i,uO),r=i.length;for(var f=new Array(r+n+1),p=new Array(r+n+1),d=(n+1)*(n+1)*a,g=new Array(n+1),o=0;o<=n;++o)g[o]=0;g[n]=d,f[0]=g.slice(),p[0]=-1;for(var o=0;o<=n;++o){var l=g.slice();l[o]=1,f[o+1]=l,p[o+1]=-1}for(var o=0;o<r;++o){var v=i[o];f[o+n+1]=v.point,p[o+n+1]=v.index}var m=$D(f,!1);m=e?m.filter(function(t){for(var e=0,r=0;r<=n;++r){var i=p[t[r]];if(i<0&&++e>=2)return!1;t[r]=i}return!0}):m.filter(function(t){for(var e=0;e<=n;++e){var r=p[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&n)for(var o=0;o<m.length;++o){var v=m[o],l=v[0];v[0]=v[1],v[1]=l}return m};function lO(t,e){this.point=t,this.index=e}function uO(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}var cO=function(t,e){return sO(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return QD(n)*t<1})};var hO=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),h=0;for(n=0;n<u;++n)n!==r&&(c[h++]=l[n]);if(1&r){var f=c[1];c[1]=c[0],c[0]=f}}}return o};var fO=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};var pO=function(t,e){var r=t.length,n=t.length-e.length;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||dO(t[0],t[1])-dO(e[0],e[1]);case 3:var i=t[0]+t[1],a=e[0]+e[1];if(n=i+t[2]-(a+e[2]))return n;var o=dO(t[0],t[1]),s=dO(e[0],e[1]);return dO(o,t[2])-dO(s,e[2])||dO(o+t[2],i)-dO(s+e[2],a);case 4:var l=t[0],u=t[1],c=t[2],h=t[3],f=e[0],p=e[1],d=e[2],g=e[3];return l+u+c+h-(f+p+d+g)||dO(l,u,c,h)-dO(f,p,d,g,f)||dO(l+u,l+c,l+h,u+c,u+h,c+h)-dO(f+p,f+d,f+g,p+d,p+g,d+g)||dO(l+u+c,l+u+h,l+c+h,u+c+h)-dO(f+p+d,f+p+g,f+d+g,p+d+g);default:for(var v=t.slice().sort(gO),m=e.slice().sort(gO),y=0;y<r;++y)if(n=v[y]-m[y])return n;return 0}},dO=Math.min;function gO(t,e){return t-e}var vO=function(t,e){return pO(t,e)||fO(t)-fO(e)};var mO=function(t){t.sort(vO);for(var e=t.length,r=0,n=0;n<e;++n){var i=t[n],a=fO(i);if(0!==a){if(r>0){var o=t[r-1];if(0===pO(i,o)&&fO(o)!==a){r-=1;continue}}t[r++]=i}}return t.length=r,t};var yO=function(t){return mO(hO(t))};var xO=function(t,e){return yO(cO(t,e))};var bO=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]]};var _O=function(t){var e=t.length;if(e<3){for(var r=new Array(e),n=0;n<e;++n)r[n]=n;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var i=new Array(e),n=0;n<e;++n)i[n]=n;i.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var a=[i[0],i[1]],o=[i[0],i[1]],n=2;n<e;++n){for(var s=i[n],l=t[s],u=a.length;u>1&&wO(t[a[u-2]],t[a[u-1]],l)<=0;)u-=1,a.pop();for(a.push(s),u=o.length;u>1&&wO(t[o[u-2]],t[o[u-1]],l)>=0;)u-=1,o.pop();o.push(s)}for(var r=new Array(o.length+a.length-2),c=0,n=0,h=a.length;n<h;++n)r[c++]=a[n];for(var f=o.length-2;f>0;--f)r[c++]=o[f];return r},wO=PM[3];var MO=function(t){var e=_O(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),i=e[r-1],a=0;a<r;++a){var o=e[a];n[a]=[i,o],i=o}return n};var AO=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],a=1;a<e;++a)if(n.push(t[a]),kO(n,r)){if(i.push(a),i.length===r+1)return i}else n.pop();return i};function kO(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(n=0;n<=t.length;++n){for(var i=t.length;i<=e;++i){for(var a=new Array(e),o=0;o<e;++o)a[o]=Math.pow(i+1-n,o);r[i]=a}if(PM.apply(void 0,r))return!0}return!1}var TO=function(t,e){try{return $D(t,!0)}catch(a){var r=AO(t);if(r.length<=e)return[];var n=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r),i=$D(n,!0);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(i,r)}};var SO=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 bO(t);if(2===r)return MO(t);return TO(t,r)};var EO={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]}]};var CO=function(t,e,r){return t*(1-r)+e*r},LO=function(t){var e,r,n,i,a,o,s,l,u,c;t||(t={});l=(t.nshades||72)-1,s=t.format||\\\"hex\\\",(o=t.colormap)||(o=\\\"jet\\\");if(\\\"string\\\"==typeof o){if(o=o.toLowerCase(),!EO[o])throw Error(o+\\\" not a supported colorscale\\\");a=EO[o]}else{if(!Array.isArray(o))throw Error(\\\"unsupported colormap option\\\",o);a=o.slice()}if(a.length>l)throw new Error(o+\\\" map requires nshades to be at least size \\\"+a.length);u=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\\\"number\\\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=a.map(function(t){return Math.round(t.index*l)}),u[0]=Math.min(Math.max(u[0],0),1),u[1]=Math.min(Math.max(u[1],0),1);var h=a.map(function(t,e){var r=a[e].index,n=a[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=u[0]+(u[1]-u[0])*r,n)}),f=[];for(c=0;c<e.length-1;++c){i=e[c+1]-e[c],r=h[c],n=h[c+1];for(var p=0;p<i;p++){var d=p/i;f.push([Math.round(CO(r[0],n[0],d)),Math.round(CO(r[1],n[1],d)),Math.round(CO(r[2],n[2],d)),CO(r[3],n[3],d)])}}f.push(a[a.length-1].rgb.concat(u[1])),\\\"hex\\\"===s?f=f.map(PO):\\\"rgbaString\\\"===s?f=f.map(IO):\\\"float\\\"===s&&(f=f.map(zO));return f};function zO(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function PO(t){for(var e,r=\\\"#\\\",n=0;n<3;++n)r+=(\\\"00\\\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function IO(t){return\\\"rgba(\\\"+t.join(\\\",\\\")+\\\")\\\"}var DO=function(t,e){for(var r=e.length,n=new Array(r+1),i=0;i<r;++i){for(var a=new Array(r+1),o=0;o<=r;++o)a[o]=t[o][i];n[i]=a}n[r]=new Array(r+1);for(var i=0;i<=r;++i)n[r][i]=1;for(var s=new Array(r+1),i=0;i<r;++i)s[i]=e[i];s[r]=1;var l=HD(n,s),u=OO(l[r+1]);0===u&&(u=1);for(var c=new Array(r+1),i=0;i<=r;++i)c[i]=OO(l[i])/u;return c};function OO(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}var RO=new Float64Array(4),FO=new Float64Array(4),BO=new Float64Array(4);var NO=function(t,e,r,n,i){RO.length<n.length&&(RO=new Float64Array(n.length),FO=new Float64Array(n.length),BO=new Float64Array(n.length));for(var a=0;a<n.length;++a)RO[a]=t[a]-n[a],FO[a]=e[a]-t[a],BO[a]=r[a]-t[a];var o=0,s=0,l=0,u=0,c=0,h=0;for(a=0;a<n.length;++a){var f=FO[a],p=BO[a],d=RO[a];o+=f*f,s+=f*p,l+=p*p,u+=d*f,c+=d*p,h+=d*d}var g,v,m,y,x,b=Math.abs(o*l-s*s),_=s*c-l*u,w=s*u-o*c;if(_+w<=b)if(_<0)w<0&&u<0?(w=0,-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h):(_=0,c>=0?(w=0,g=h):-c>=l?(w=1,g=l+2*c+h):g=c*(w=-c/l)+h);else if(w<0)w=0,u>=0?(_=0,g=h):-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h;else{var M=1/b;g=(_*=M)*(o*_+s*(w*=M)+2*u)+w*(s*_+l*w+2*c)+h}else _<0?(m=l+c)>(v=s+u)?(y=m-v)>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h:(_=0,m<=0?(w=1,g=l+2*c+h):c>=0?(w=0,g=h):g=c*(w=-c/l)+h):w<0?(m=o+u)>(v=s+c)?(y=m-v)>=(x=o-2*s+l)?(w=1,_=0,g=l+2*c+h):g=(_=1-(w=y/x))*(o*_+s*w+2*u)+w*(s*_+l*w+2*c)+h:(w=0,m<=0?(_=1,g=o+2*u+h):u>=0?(_=0,g=h):g=u*(_=-u/o)+h):(y=l+c-s-u)<=0?(_=0,w=1,g=l+2*c+h):y>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h;var A=1-_-w;for(a=0;a<n.length;++a)i[a]=A*t[a]+_*e[a]+w*r[a];return g<0?0:g},jO=function(t,e,r,n,i,a){if(1===t.length)return[0,t[0].slice()];for(var o=new Array(t.length),s=0;s<t.length;++s)o[s]=UO(t[s],r,n,i,a);for(var l=0,u=1/0,s=0;s<o.length;++s){for(var c=0,h=0;h<2;++h)c+=Math.pow(o[s][h]-e[h],2);c<u&&(u=c,l=s)}for(var f=function(t,e){if(2===t.length){for(var r=0,n=0,i=0;i<2;++i)r+=Math.pow(e[i]-t[0][i],2),n+=Math.pow(e[i]-t[1][i],2);return r=Math.sqrt(r),n=Math.sqrt(n),r+n<1e-6?[1,0]:[n/(r+n),r/(n+r)]}if(3===t.length){var a=[0,0];return NO(t[0],t[1],t[2],e,a),DO(t,a)}return[]}(o,e),p=0,s=0;s<3;++s){if(f[s]<-.001||f[s]>1.0001)return null;p+=f[s]}if(Math.abs(p-1)>.001)return null;return[l,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,f),f]};function VO(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function UO(t,e,r,n,i){for(var a=VO(n,VO(r,VO(e,[t[0],t[1],t[2],1]))),o=0;o<3;++o)a[o]/=a[3];return[.5*i[0]*(1+a[0]),.5*i[1]*(1-a[1])]}var qO={},HO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec3 position, normal;\\\\nattribute vec4 color;\\\\nattribute vec2 uv;\\\\n\\\\nuniform mat4 model\\\\n           , view\\\\n           , projection;\\\\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\\\\nvoid main() {\\\\n  vec4 m_position  = model * vec4(position, 1.0);\\\\n  vec4 t_position  = view * m_position;\\\\n  gl_Position      = projection * t_position;\\\\n  f_color          = color;\\\\n  f_normal         = normal;\\\\n  f_data           = position;\\\\n  f_eyeDirection   = eyePosition   - position;\\\\n  f_lightDirection = lightPosition - position;\\\\n  f_uv             = uv;\\\\n}\\\"]),GO=E_([\\\"precision mediump 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\\\\nuniform vec3 clipBounds[2];\\\\nuniform float roughness\\\\n            , fresnel\\\\n            , kambient\\\\n            , kdiffuse\\\\n            , kspecular\\\\n            , opacity;\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = 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}\\\"]),WO=E_([\\\"precision mediump 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}\\\"]),YO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(f_data, clipBounds[0])) || \\\\n     any(greaterThan(f_data, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n\\\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\\\n}\\\"]),XO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\"]),ZO=E_([\\\"precision mediump 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}\\\"]),JO=E_([\\\"precision mediump 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}\\\"]),KO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3  clipBounds[2];\\\\nuniform float pickId;\\\\n\\\\nvarying vec3 f_position;\\\\nvarying vec4 f_id;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(f_position, clipBounds[0])) || \\\\n     any(greaterThan(f_position, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\\\n}\\\"]),QO=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || \\\\n     any(greaterThan(position, clipBounds[1]))) {\\\\n    gl_Position = vec4(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}\\\"]),$O=E_([\\\"precision mediump 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}\\\"]),tR=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 contourColor;\\\\n\\\\nvoid main() {\\\\n  gl_FragColor = vec4(contourColor,1);\\\\n}\\\\n\\\"]);qO.meshShader={vertex:HO,fragment:GO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"normal\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},qO.wireShader={vertex:WO,fragment:YO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"}]},qO.pointShader={vertex:XO,fragment:ZO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"uv\\\",type:\\\"vec2\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"}]},qO.pickShader={vertex:JO,fragment:KO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},qO.pointPickShader={vertex:QO,fragment:KO,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"pointSize\\\",type:\\\"float\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}]},qO.contourShader={vertex:$O,fragment:tR,attributes:[{name:\\\"position\\\",type:\\\"vec3\\\"}]};var eR={};eR.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,u=s[s.length-1],c=s[0],h=0;h<s.length;++h){l=u,u=c,c=s[(h+1)%s.length];for(var f=e[l],p=e[u],d=e[c],g=new Array(3),v=0,m=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],v+=g[x]*g[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(v*y>a){var b=i[u],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(m[w]*g[M]-m[M]*g[w])}}}for(o=0;o<n;++o){b=i[o];var A=0;for(x=0;x<3;++x)A+=b[x]*b[x];if(A>a)for(_=1/Math.sqrt(A),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},eR.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),u=0;u<3;++u)l[u]=e[s[u]];var c=new Array(3),h=new Array(3);for(u=0;u<3;++u)c[u]=l[1][u]-l[0][u],h[u]=l[2][u]-l[0][u];var f=new Array(3),p=0;for(u=0;u<3;++u){var d=(u+1)%3,g=(u+2)%3;f[u]=c[d]*h[g]-c[g]*h[d],p+=f[u]*f[u]}p=p>a?1/Math.sqrt(p):0;for(u=0;u<3;++u)f[u]*=p;i[o]=f}return i};var rR=32;function nR(t){switch(t){case\\\"uint8\\\":return[__.mallocUint8,__.freeUint8];case\\\"uint16\\\":return[__.mallocUint16,__.freeUint16];case\\\"uint32\\\":return[__.mallocUint32,__.freeUint32];case\\\"int8\\\":return[__.mallocInt8,__.freeInt8];case\\\"int16\\\":return[__.mallocInt16,__.freeInt16];case\\\"int32\\\":return[__.mallocInt32,__.freeInt32];case\\\"float32\\\":return[__.mallocFloat,__.freeFloat];case\\\"float64\\\":return[__.mallocDouble,__.freeDouble];default:return null}}function iR(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}var aR=function(t,e){var r=[\\\"'use strict'\\\"],n=[\\\"ndarraySortWrapper\\\",t.join(\\\"d\\\"),e].join(\\\"\\\");r.push([\\\"function \\\",n,\\\"(\\\",[\\\"array\\\"].join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));for(var i=[\\\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\\\"],a=0;a<t.length;++a)i.push([\\\"s\\\",a,\\\"=stride[\\\",a,\\\"]|0,n\\\",a,\\\"=shape[\\\",a,\\\"]|0\\\"].join(\\\"\\\"));var o=new Array(t.length),s=[];for(a=0;a<t.length;++a)0!==(c=t[a])&&(0===s.length?o[c]=\\\"1\\\":o[c]=s.join(\\\"*\\\"),s.push(\\\"n\\\"+c));var l=-1,u=-1;for(a=0;a<t.length;++a){var c,h=t[a];0!==h&&(l>0?i.push([\\\"d\\\",h,\\\"=s\\\",h,\\\"-d\\\",l,\\\"*n\\\",l].join(\\\"\\\")):i.push([\\\"d\\\",h,\\\"=s\\\",h].join(\\\"\\\")),l=h),0!=(c=t.length-1-a)&&(u>0?i.push([\\\"e\\\",c,\\\"=s\\\",c,\\\"-e\\\",u,\\\"*n\\\",u,\\\",f\\\",c,\\\"=\\\",o[c],\\\"-f\\\",u,\\\"*n\\\",u].join(\\\"\\\")):i.push([\\\"e\\\",c,\\\"=s\\\",c,\\\",f\\\",c,\\\"=\\\",o[c]].join(\\\"\\\")),u=c)}r.push(\\\"var \\\"+i.join(\\\",\\\"));var f=[\\\"0\\\",\\\"n0-1\\\",\\\"data\\\",\\\"offset\\\"].concat(iR(t.length));r.push([\\\"if(n0<=\\\",rR,\\\"){\\\",\\\"insertionSort(\\\",f.join(\\\",\\\"),\\\")}else{\\\",\\\"quickSort(\\\",f.join(\\\",\\\"),\\\")}\\\"].join(\\\"\\\")),r.push(\\\"}return \\\"+n);var p=new Function(\\\"insertionSort\\\",\\\"quickSort\\\",r.join(\\\"\\\\n\\\")),d=function(t,e){var r=[\\\"'use strict'\\\"],n=[\\\"ndarrayInsertionSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),i=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(iR(t.length)),a=nR(e),o=[\\\"i,j,cptr,ptr=left*s0+offset\\\"];if(t.length>1){for(var s=[],l=1;l<t.length;++l)o.push(\\\"i\\\"+l),s.push(\\\"n\\\"+l);a?o.push(\\\"scratch=malloc(\\\"+s.join(\\\"*\\\")+\\\")\\\"):o.push(\\\"scratch=new Array(\\\"+s.join(\\\"*\\\")+\\\")\\\"),o.push(\\\"dptr\\\",\\\"sptr\\\",\\\"a\\\",\\\"b\\\")}else o.push(\\\"scratch\\\");function u(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function c(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}if(r.push([\\\"function \\\",n,\\\"(\\\",i.join(\\\",\\\"),\\\"){var \\\",o.join(\\\",\\\")].join(\\\"\\\"),\\\"for(i=left+1;i<=right;++i){\\\",\\\"j=i;ptr+=s0\\\",\\\"cptr=ptr\\\"),t.length>1){for(r.push(\\\"dptr=0;sptr=ptr\\\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\\\"for(i\\\",h,\\\"=0;i\\\",h,\\\"<n\\\",h,\\\";++i\\\",h,\\\"){\\\"].join(\\\"\\\"));for(r.push(\\\"scratch[dptr++]=\\\",u(\\\"sptr\\\")),l=0;l<t.length;++l)0!==(h=t[l])&&r.push(\\\"sptr+=d\\\"+h,\\\"}\\\");for(r.push(\\\"__g:while(j--\\\\x3eleft){\\\",\\\"dptr=0\\\",\\\"sptr=cptr-s0\\\"),l=1;l<t.length;++l)1===l&&r.push(\\\"__l:\\\"),r.push([\\\"for(i\\\",l,\\\"=0;i\\\",l,\\\"<n\\\",l,\\\";++i\\\",l,\\\"){\\\"].join(\\\"\\\"));for(r.push([\\\"a=\\\",u(\\\"sptr\\\"),\\\"\\\\nb=scratch[dptr]\\\\nif(a<b){break __g}\\\\nif(a>b){break __l}\\\"].join(\\\"\\\")),l=t.length-1;l>=1;--l)r.push(\\\"sptr+=e\\\"+l,\\\"dptr+=f\\\"+l,\\\"}\\\");for(r.push(\\\"dptr=cptr;sptr=cptr-s0\\\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\\\"for(i\\\",h,\\\"=0;i\\\",h,\\\"<n\\\",h,\\\";++i\\\",h,\\\"){\\\"].join(\\\"\\\"));for(r.push(c(\\\"dptr\\\",u(\\\"sptr\\\"))),l=0;l<t.length;++l)0!==(h=t[l])&&r.push([\\\"dptr+=d\\\",h,\\\";sptr+=d\\\",h].join(\\\"\\\"),\\\"}\\\");for(r.push(\\\"cptr-=s0\\\\n}\\\"),r.push(\\\"dptr=cptr;sptr=0\\\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\\\"for(i\\\",h,\\\"=0;i\\\",h,\\\"<n\\\",h,\\\";++i\\\",h,\\\"){\\\"].join(\\\"\\\"));for(r.push(c(\\\"dptr\\\",\\\"scratch[sptr++]\\\")),l=0;l<t.length;++l){var h;0!==(h=t[l])&&r.push(\\\"dptr+=d\\\"+h,\\\"}\\\")}}else r.push(\\\"scratch=\\\"+u(\\\"ptr\\\"),\\\"while((j--\\\\x3eleft)&&(\\\"+u(\\\"cptr-s0\\\")+\\\">scratch)){\\\",c(\\\"cptr\\\",u(\\\"cptr-s0\\\")),\\\"cptr-=s0\\\",\\\"}\\\",c(\\\"cptr\\\",\\\"scratch\\\"));return r.push(\\\"}\\\"),t.length>1&&a&&r.push(\\\"free(scratch)\\\"),r.push(\\\"} return \\\"+n),a?new Function(\\\"malloc\\\",\\\"free\\\",r.join(\\\"\\\\n\\\"))(a[0],a[1]):new Function(r.join(\\\"\\\\n\\\"))()}(t,e);return p(d,function(t,e,r){var n=[\\\"'use strict'\\\"],i=[\\\"ndarrayQuickSort\\\",t.join(\\\"d\\\"),e].join(\\\"\\\"),a=[\\\"left\\\",\\\"right\\\",\\\"data\\\",\\\"offset\\\"].concat(iR(t.length)),o=nR(e),s=0;n.push([\\\"function \\\",i,\\\"(\\\",a.join(\\\",\\\"),\\\"){\\\"].join(\\\"\\\"));var l=[\\\"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 u=[],c=1;c<t.length;++c)u.push(\\\"n\\\"+c),l.push(\\\"i\\\"+c);for(c=0;c<8;++c)l.push(\\\"b_ptr\\\"+c);l.push(\\\"ptr3\\\",\\\"ptr4\\\",\\\"ptr5\\\",\\\"ptr6\\\",\\\"ptr7\\\",\\\"pivot_ptr\\\",\\\"ptr_shift\\\",\\\"elementSize=\\\"+u.join(\\\"*\\\")),o?l.push(\\\"pivot1=malloc(elementSize)\\\",\\\"pivot2=malloc(elementSize)\\\"):l.push(\\\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\\\")}else l.push(\\\"pivot1\\\",\\\"pivot2\\\");function h(t){return[\\\"(offset+\\\",t,\\\"*s0)\\\"].join(\\\"\\\")}function f(t){return\\\"generic\\\"===e?[\\\"data.get(\\\",t,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]\\\"].join(\\\"\\\")}function p(t,r){return\\\"generic\\\"===e?[\\\"data.set(\\\",t,\\\",\\\",r,\\\")\\\"].join(\\\"\\\"):[\\\"data[\\\",t,\\\"]=\\\",r].join(\\\"\\\")}function d(e,r,i){if(1===e.length)n.push(\\\"ptr0=\\\"+h(e[0]));else for(var a=0;a<e.length;++a)n.push([\\\"b_ptr\\\",a,\\\"=s0*\\\",e[a]].join(\\\"\\\"));for(r&&n.push(\\\"pivot_ptr=0\\\"),n.push(\\\"ptr_shift=offset\\\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\\\"for(i\\\",o,\\\"=0;i\\\",o,\\\"<n\\\",o,\\\";++i\\\",o,\\\"){\\\"].join(\\\"\\\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\\\"ptr\\\",a,\\\"=b_ptr\\\",a,\\\"+ptr_shift\\\"].join(\\\"\\\"));for(n.push(i),r&&n.push(\\\"++pivot_ptr\\\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\\\"ptr_shift+=d\\\"+o):n.push(\\\"ptr0+=d\\\"+o),n.push(\\\"}\\\"))}}function g(e,r,i,a){if(1===r.length)n.push(\\\"ptr0=\\\"+h(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\\\")}for(i&&n.push(\\\"pivot_ptr=0\\\"),e&&n.push(e+\\\":\\\"),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(\\\"\\\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&n.push(\\\"pivot_ptr+=f\\\"+o),r.length>1?n.push(\\\"ptr_shift+=e\\\"+o):n.push(\\\"ptr0+=e\\\"+o),n.push(\\\"}\\\")}function v(){t.length>1&&o&&n.push(\\\"free(pivot1)\\\",\\\"free(pivot2)\\\")}function m(e,r){var i=\\\"el\\\"+e,a=\\\"el\\\"+r;if(t.length>1){var o=\\\"__l\\\"+ ++s;g(o,[i,a],!1,[\\\"comp=\\\",f(\\\"ptr0\\\"),\\\"-\\\",f(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"if(comp>0){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=tmp0;break \\\",o,\\\"}\\\\n\\\",\\\"if(comp<0){break \\\",o,\\\"}\\\"].join(\\\"\\\"))}else n.push([\\\"if(\\\",f(h(i)),\\\">\\\",f(h(a)),\\\"){tmp0=\\\",i,\\\";\\\",i,\\\"=\\\",a,\\\";\\\",a,\\\"=tmp0}\\\"].join(\\\"\\\"))}function y(e,r){t.length>1?d([e,r],!1,p(\\\"ptr0\\\",f(\\\"ptr1\\\"))):n.push(p(h(e),f(h(r))))}function x(e,r,i){if(t.length>1){var a=\\\"__l\\\"+ ++s;g(a,[r],!0,[e,\\\"=\\\",f(\\\"ptr0\\\"),\\\"-pivot\\\",i,\\\"[pivot_ptr]\\\\n\\\",\\\"if(\\\",e,\\\"!==0){break \\\",a,\\\"}\\\"].join(\\\"\\\"))}else n.push([e,\\\"=\\\",f(h(r)),\\\"-pivot\\\",i].join(\\\"\\\"))}function b(e,r){t.length>1?d([e,r],!1,[\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\")):n.push([\\\"ptr0=\\\",h(e),\\\"\\\\n\\\",\\\"ptr1=\\\",h(r),\\\"\\\\n\\\",\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",\\\"tmp\\\")].join(\\\"\\\"))}function _(e,r,i){t.length>1?(d([e,r,i],!1,[\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",f(\\\"ptr2\\\")),\\\"\\\\n\\\",p(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\")),n.push(\\\"++\\\"+r,\\\"--\\\"+i)):n.push([\\\"ptr0=\\\",h(e),\\\"\\\\n\\\",\\\"ptr1=\\\",h(r),\\\"\\\\n\\\",\\\"ptr2=\\\",h(i),\\\"\\\\n\\\",\\\"++\\\",r,\\\"\\\\n\\\",\\\"--\\\",i,\\\"\\\\n\\\",\\\"tmp=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",f(\\\"ptr2\\\")),\\\"\\\\n\\\",p(\\\"ptr2\\\",\\\"tmp\\\")].join(\\\"\\\"))}function w(t,e){b(t,e),n.push(\\\"--\\\"+e)}function M(e,r,i){t.length>1?d([e,r],!0,[p(\\\"ptr0\\\",f(\\\"ptr1\\\")),\\\"\\\\n\\\",p(\\\"ptr1\\\",[\\\"pivot\\\",i,\\\"[pivot_ptr]\\\"].join(\\\"\\\"))].join(\\\"\\\")):n.push(p(h(e),f(h(r))),p(h(r),\\\"pivot\\\"+i))}function A(e,r){n.push([\\\"if((\\\",r,\\\"-\\\",e,\\\")<=\\\",rR,\\\"){\\\\n\\\",\\\"insertionSort(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",iR(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}else{\\\\n\\\",i,\\\"(\\\",e,\\\",\\\",r,\\\",data,offset,\\\",iR(t.length).join(\\\",\\\"),\\\")\\\\n\\\",\\\"}\\\"].join(\\\"\\\"))}function k(e,r,i){t.length>1?(n.push([\\\"__l\\\",++s,\\\":while(true){\\\"].join(\\\"\\\")),d([e],!0,[\\\"if(\\\",f(\\\"ptr0\\\"),\\\"!==pivot\\\",r,\\\"[pivot_ptr]){break __l\\\",s,\\\"}\\\"].join(\\\"\\\")),n.push(i,\\\"}\\\")):n.push([\\\"while(\\\",f(h(e)),\\\"===pivot\\\",r,\\\"){\\\",i,\\\"}\\\"].join(\\\"\\\"))}return n.push(\\\"var \\\"+l.join(\\\",\\\")),m(1,2),m(4,5),m(1,3),m(2,3),m(1,4),m(3,4),m(2,5),m(2,3),m(4,5),t.length>1?d([\\\"el1\\\",\\\"el2\\\",\\\"el3\\\",\\\"el4\\\",\\\"el5\\\",\\\"index1\\\",\\\"index3\\\",\\\"index5\\\"],!0,[\\\"pivot1[pivot_ptr]=\\\",f(\\\"ptr1\\\"),\\\"\\\\n\\\",\\\"pivot2[pivot_ptr]=\\\",f(\\\"ptr3\\\"),\\\"\\\\n\\\",\\\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\\\n\\\",\\\"x=\\\",f(\\\"ptr0\\\"),\\\"\\\\n\\\",\\\"y=\\\",f(\\\"ptr2\\\"),\\\"\\\\n\\\",\\\"z=\\\",f(\\\"ptr4\\\"),\\\"\\\\n\\\",p(\\\"ptr5\\\",\\\"x\\\"),\\\"\\\\n\\\",p(\\\"ptr6\\\",\\\"y\\\"),\\\"\\\\n\\\",p(\\\"ptr7\\\",\\\"z\\\")].join(\\\"\\\")):n.push([\\\"pivot1=\\\",f(h(\\\"el2\\\")),\\\"\\\\n\\\",\\\"pivot2=\\\",f(h(\\\"el4\\\")),\\\"\\\\n\\\",\\\"pivots_are_equal=pivot1===pivot2\\\\n\\\",\\\"x=\\\",f(h(\\\"el1\\\")),\\\"\\\\n\\\",\\\"y=\\\",f(h(\\\"el3\\\")),\\\"\\\\n\\\",\\\"z=\\\",f(h(\\\"el5\\\")),\\\"\\\\n\\\",p(h(\\\"index1\\\"),\\\"x\\\"),\\\"\\\\n\\\",p(h(\\\"index3\\\"),\\\"y\\\"),\\\"\\\\n\\\",p(h(\\\"index5\\\"),\\\"z\\\")].join(\\\"\\\")),y(\\\"index2\\\",\\\"left\\\"),y(\\\"index4\\\",\\\"right\\\"),n.push(\\\"if(pivots_are_equal){\\\"),n.push(\\\"for(k=less;k<=great;++k){\\\"),x(\\\"comp\\\",\\\"k\\\",1),n.push(\\\"if(comp===0){continue}\\\"),n.push(\\\"if(comp<0){\\\"),n.push(\\\"if(k!==less){\\\"),b(\\\"k\\\",\\\"less\\\"),n.push(\\\"}\\\"),n.push(\\\"++less\\\"),n.push(\\\"}else{\\\"),n.push(\\\"while(true){\\\"),x(\\\"comp\\\",\\\"great\\\",1),n.push(\\\"if(comp>0){\\\"),n.push(\\\"great--\\\"),n.push(\\\"}else if(comp<0){\\\"),_(\\\"k\\\",\\\"less\\\",\\\"great\\\"),n.push(\\\"break\\\"),n.push(\\\"}else{\\\"),w(\\\"k\\\",\\\"great\\\"),n.push(\\\"break\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}else{\\\"),n.push(\\\"for(k=less;k<=great;++k){\\\"),x(\\\"comp_pivot1\\\",\\\"k\\\",1),n.push(\\\"if(comp_pivot1<0){\\\"),n.push(\\\"if(k!==less){\\\"),b(\\\"k\\\",\\\"less\\\"),n.push(\\\"}\\\"),n.push(\\\"++less\\\"),n.push(\\\"}else{\\\"),x(\\\"comp_pivot2\\\",\\\"k\\\",2),n.push(\\\"if(comp_pivot2>0){\\\"),n.push(\\\"while(true){\\\"),x(\\\"comp\\\",\\\"great\\\",2),n.push(\\\"if(comp>0){\\\"),n.push(\\\"if(--great<k){break}\\\"),n.push(\\\"continue\\\"),n.push(\\\"}else{\\\"),x(\\\"comp\\\",\\\"great\\\",1),n.push(\\\"if(comp<0){\\\"),_(\\\"k\\\",\\\"less\\\",\\\"great\\\"),n.push(\\\"}else{\\\"),w(\\\"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),A(\\\"left\\\",\\\"(less-2)\\\"),A(\\\"(great+2)\\\",\\\"right\\\"),n.push(\\\"if(pivots_are_equal){\\\"),v(),n.push(\\\"return\\\"),n.push(\\\"}\\\"),n.push(\\\"if(less<index1&&great>index5){\\\"),k(\\\"less\\\",1,\\\"++less\\\"),k(\\\"great\\\",2,\\\"--great\\\"),n.push(\\\"for(k=less;k<=great;++k){\\\"),x(\\\"comp_pivot1\\\",\\\"k\\\",1),n.push(\\\"if(comp_pivot1===0){\\\"),n.push(\\\"if(k!==less){\\\"),b(\\\"k\\\",\\\"less\\\"),n.push(\\\"}\\\"),n.push(\\\"++less\\\"),n.push(\\\"}else{\\\"),x(\\\"comp_pivot2\\\",\\\"k\\\",2),n.push(\\\"if(comp_pivot2===0){\\\"),n.push(\\\"while(true){\\\"),x(\\\"comp\\\",\\\"great\\\",2),n.push(\\\"if(comp===0){\\\"),n.push(\\\"if(--great<k){break}\\\"),n.push(\\\"continue\\\"),n.push(\\\"}else{\\\"),x(\\\"comp\\\",\\\"great\\\",1),n.push(\\\"if(comp<0){\\\"),_(\\\"k\\\",\\\"less\\\",\\\"great\\\"),n.push(\\\"}else{\\\"),w(\\\"k\\\",\\\"great\\\"),n.push(\\\"}\\\"),n.push(\\\"break\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),n.push(\\\"}\\\"),v(),A(\\\"less\\\",\\\"great\\\"),n.push(\\\"}return \\\"+i),t.length>1&&o?new Function(\\\"insertionSort\\\",\\\"malloc\\\",\\\"free\\\",n.join(\\\"\\\\n\\\"))(r,o[0],o[1]):new Function(\\\"insertionSort\\\",n.join(\\\"\\\\n\\\"))(r)}(t,e,d))},oR={};var sR=function(t){var e=t.order,r=t.dtype,n=[e,r].join(\\\":\\\"),i=oR[n];return i||(oR[n]=i=aR(e,r)),i(t),t},lR=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=cR(t,n);return r};function uR(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function cR(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],n=[],i=0;i<=t;++i)if(e&1<<i){r.push(uR(t,i-1,i-1)),n.push(null);for(var a=0;a<=t;++a)~e&1<<a&&(r.push(uR(t,i-1,a-1)),n.push([i,a]))}var o=SO(r),s=[];t:for(i=0;i<o.length;++i){var l=o[i],u=[];for(a=0;a<l.length;++a){if(!n[l[a]])continue t;u.push(n[l[a]].slice())}s.push(u)}return s}var hR=function(t){var e=fR[t];e||(e=fR[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var n=1;n<=t;++n)for(var i=r[n]=lR(n),a=0;a<i.length;++a)e=Math.max(e,i[n].length);var o=[\\\"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 s(t){if(!(t.length<=0)){o.push(\\\"R.push(\\\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&o.push(\\\",\\\"),o.push(\\\"[\\\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&o.push(\\\",\\\"),o.push(\\\"B(C,E,c[\\\",i[0],\\\"],c[\\\",i[1],\\\"])\\\")}o.push(\\\"]\\\")}o.push(\\\");\\\")}}for(var n=t+1;n>1;--n){n<t+1&&o.push(\\\"else \\\"),o.push(\\\"if(l===\\\",n,\\\"){\\\");for(var l=[],a=0;a<n;++a)l.push(\\\"(S[c[\\\"+a+\\\"]]<<\\\"+a+\\\")\\\");o.push(\\\"var M=\\\",l.join(\\\"+\\\"),\\\";if(M===0||M===\\\",(1<<n)-1,\\\"){continue}switch(M){\\\");for(var i=r[n-1],a=0;a<i.length;++a)o.push(\\\"case \\\",a,\\\":\\\"),s(i[a]),o.push(\\\"break;\\\");o.push(\\\"}}\\\")}return o.push(\\\"}return R;};return getContour\\\",t,\\\"d\\\"),new Function(\\\"pool\\\",o.join(\\\"\\\"))(__)}(t));return e},fR={};var pR=function(t,e,r,n){r=r||0,void 0===n&&(n=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||n<1)return{cells:[],vertexIds:[],vertexWeights:[]};var i=function(t,e){for(var r=t.length,n=__.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),a=function(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=__.mallocUint32(2*n),a=0,o=0;o<r;++o)for(var s=t[o],e=s.length,l=0;l<e;++l)for(var u=0;u<l;++u){var c=s[u],h=s[l];i[a++]=0|Math.min(c,h),i[a++]=0|Math.max(c,h)}sR(wb(i,[a/2|0,2]));for(var f=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[f++]=i[o],i[f++]=i[o+1]);return wb(i,[f/2|0,2])}(t,n),o=function(t,e,r,n){for(var i=t.data,a=t.shape[0],o=__.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],c=i[2*l+1];if(r[u]!==r[c]){var h=e[u],f=e[c];i[2*s]=u,i[2*s+1]=c,o[s++]=(f-n)/(f-h)}}return t.shape[0]=s,wb(o,[s])}(a,e,i,+r),s=function(t,e){var r=__.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var a=0,o=0;o<n;++o){var s=i[2*o];if(s!==a){for(r[2*a+1]=o;++a<s;)r[2*a]=o,r[2*a+1]=o;r[2*a]=o}}r[2*a+1]=n;for(;++a<e;)r[2*a]=r[2*a+1]=n;return r}(a,0|e.length),l=hR(n)(t,a.data,s,i),u=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(a),c=[].slice.call(o.data,0,o.shape[0]);return __.free(i),__.free(a.data),__.free(o.data),__.free(s),{cells:l,vertexIds:u,vertexWeights:c}};var dR=qO.meshShader,gR=qO.wireShader,vR=qO.pointShader,mR=qO.pickShader,yR=qO.pointPickShader,xR=qO.contourShader,bR=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function _R(t,e,r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=w,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=k,this.contourVAO=T,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!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._model=bR,this._view=bR,this._projection=bR,this._resolution=[1,1]}var wR=_R.prototype;function MR(t){var e=Bw(t,vR.vertex,vR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function AR(t){var e=Bw(t,mR.vertex,mR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function kR(t){var e=Bw(t,yR.vertex,yR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function TR(t){var e=Bw(t,xR.vertex,xR.fragment);return e.attributes.position.location=0,e}wR.isOpaque=function(){return this.opacity>=1},wR.isTransparent=function(){return this.opacity<1},wR.pickSlots=1,wR.setPickBase=function(t){this.pickId=t},wR.highlight=function(t){if(t&&this.contourEnable){for(var e=pR(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=__.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var h=u[0];2===u.length&&(h=u[c]);for(var f=n[h][0],p=n[h][1],d=i[h],g=1-d,v=this.positions[f],m=this.positions[p],y=0;y<3;++y)o[s++]=d*v[y]+g*m[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),__.free(o)}else this.contourCount=0},wR.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),\\\"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),t.texture?(this.texture.dispose(),this.texture=zE(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){for(var e=LO({colormap:t,nshades:256,format:\\\"rgba\\\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return wb(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],o=[],s=[],l=[],u=[],c=[],h=[],f=[],p=[],d=[],g=[],v=[],m=[];this.cells=r,this.positions=n;var y=t.vertexNormals,x=t.cellNormals,b=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,_=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!x&&(x=eR.faceNormals(r,n,_)),x||y||(y=eR.vertexNormals(r,n,b));var w=t.vertexColors,M=t.cellColors,A=t.meshColor||[1,1,1,1],k=t.vertexUVs,T=t.vertexIntensity,S=t.cellUVs,E=t.cellIntensity,C=1/0,L=-1/0;if(!k&&!S)if(T)if(t.vertexIntensityBounds)C=+t.vertexIntensityBounds[0],L=+t.vertexIntensityBounds[1];else for(var z=0;z<T.length;++z){var P=T[z];C=Math.min(C,P),L=Math.max(L,P)}else if(E)for(z=0;z<E.length;++z){P=E[z];C=Math.min(C,P),L=Math.max(L,P)}else for(z=0;z<n.length;++z){P=n[z][2];C=Math.min(C,P),L=Math.max(L,P)}this.intensity=T||(E?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,E):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var I=t.pointSizes,D=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(z=0;z<n.length;++z)for(var O=n[z],R=0;R<3;++R)!isNaN(O[R])&&isFinite(O[R])&&(this.bounds[0][R]=Math.min(this.bounds[0][R],O[R]),this.bounds[1][R]=Math.max(this.bounds[1][R],O[R]));var F=0,B=0,N=0;t:for(z=0;z<r.length;++z){var j=r[z];switch(j.length){case 1:for(O=n[U=j[0]],R=0;R<3;++R)if(isNaN(O[R])||!isFinite(O[R]))continue t;p.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?d.push(q[0],q[1],q[2],1):d.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],g.push(H[0],H[1]),I?v.push(I[U]):v.push(D),m.push(z),N+=1;break;case 2:for(R=0;R<2;++R){O=n[U=j[R]];for(var V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t}for(R=0;R<2;++R){O=n[U=j[R]];u.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?c.push(q[0],q[1],q[2],1):c.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],h.push(H[0],H[1]),f.push(z)}B+=1;break;case 3:for(R=0;R<3;++R)for(O=n[U=j[R]],V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t;for(R=0;R<3;++R){var U,q,H,G;O=n[U=j[R]];i.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?a.push(q[0],q[1],q[2],1):a.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],s.push(H[0],H[1]),G=y?y[U]:x[z],o.push(G[0],G[1],G[2]),l.push(z)}F+=1}}this.pointCount=N,this.edgeCount=B,this.triangleCount=F,this.pointPositions.update(p),this.pointColors.update(d),this.pointUVs.update(g),this.pointSizes.update(v),this.pointIds.update(new Uint32Array(m)),this.edgePositions.update(u),this.edgeColors.update(c),this.edgeUVs.update(h),this.edgeIds.update(new Uint32Array(f)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(s),this.triangleNormals.update(o),this.triangleIds.update(new Uint32Array(l))}},wR.drawTransparent=wR.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,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,contourColor:this.contourColor,texture:0};this.texture.bind(0);var l=new Array(16);Dz(l,s.view,s.model),Dz(l,s.projection,l),cz(l,l);for(o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];var u,c=l[15];for(o=0;o<3;++o)c+=this.lightPosition[o]*l[4*o+3];for(o=0;o<3;++o){for(var h=l[12+o],f=0;f<3;++f)h+=l[4*f+o]*this.lightPosition[f];s.lightPosition[o]=h/c}this.triangleCount>0&&((u=this.triShader).bind(),u.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((u=this.lineShader).bind(),u.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((u=this.pointShader).bind(),u.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((u=this.contourShader).bind(),u.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},wR.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,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),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())},wR.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,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=jO(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},wR.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()};var SR=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=function(t){var e=Bw(t,dR.vertex,dR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),n=function(t){var e=Bw(t,gR.vertex,gR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),i=MR(t),a=AR(t),o=kR(t),s=TR(t),l=zE(t,wb(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var u=S_(t),c=S_(t),h=S_(t),f=S_(t),p=S_(t),d=EP(t,[{buffer:u,type:t.FLOAT,size:3},{buffer:p,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:c,type:t.FLOAT,size:4},{buffer:h,type:t.FLOAT,size:2},{buffer:f,type:t.FLOAT,size:3}]),g=S_(t),v=S_(t),m=S_(t),y=S_(t),x=EP(t,[{buffer:g,type:t.FLOAT,size:3},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2}]),b=S_(t),_=S_(t),w=S_(t),M=S_(t),A=S_(t),k=EP(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2},{buffer:M,type:t.FLOAT,size:1}]),T=S_(t),S=new _R(t,l,r,n,i,a,o,s,u,p,c,h,f,d,g,y,v,m,x,b,A,_,w,M,k,T,EP(t,[{buffer:T,type:t.FLOAT,size:3}]));return S.update(e),S};function ER(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\\\"\\\",this.color=\\\"#fff\\\",this.data=null,this.showContour=!1}var CR=ER.prototype;function LR(t){return t.map(WC)}function zR(t,e,r){for(var n=new Array(t.length),i=0;i<t.length;++i)n[i]=[t[i],e[i],r[i]];return n}CR.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},CR.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=t;var i,a=zR(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)i=zR(t.i,t.j,t.k);else if(0===t.alphahull)i=SO(a);else if(t.alphahull>0)i=xO(t.alphahull,a);else{var o=[\\\"x\\\",\\\"y\\\",\\\"z\\\"].indexOf(t.delaunayaxis);i=sO(a.map(function(t){return[t[(o+1)%3],t[(o+2)%3]]}))}var l={positions:a,cells:i,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:WC(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\\\"#fff\\\",l.vertexIntensity=t.intensity,l.vertexIntensityBounds=[t.cmin,t.cmax],l.colormap=t.colorscale.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],l.vertexColors=LR(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],l.cellColors=LR(t.facecolor)):(this.color=t.color,l.meshColor=WC(t.color)),this.mesh.update(l)},CR.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var PR=function(t,e){var r=t.glplot.gl,n=SR({gl:r}),i=new ER(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i},IR={};IR.attributes=RD,IR.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,RD,r,n)}function a(t){var e=t.map(function(t){var e=i(t);return e&&ne.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var o=a([\\\"x\\\",\\\"y\\\",\\\"z\\\"]),s=a([\\\"i\\\",\\\"j\\\",\\\"k\\\"]);o?(s&&s.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lighting.vertexnormalsepsilon\\\",\\\"lighting.facenormalsepsilon\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"contour.show\\\",\\\"contour.color\\\",\\\"contour.width\\\",\\\"colorscale\\\",\\\"reversescale\\\",\\\"flatshading\\\",\\\"alphahull\\\",\\\"delaunayaxis\\\",\\\"opacity\\\"].forEach(function(t){i(t)}),\\\"intensity\\\"in t?(i(\\\"intensity\\\"),Ye(t,e,n,i,{prefix:\\\"\\\",cLetter:\\\"c\\\"})):(e.showscale=!1,\\\"facecolor\\\"in t?i(\\\"facecolor\\\"):\\\"vertexcolor\\\"in t?i(\\\"vertexcolor\\\"):i(\\\"color\\\",r)),i(\\\"text\\\")):e.visible=!1},IR.calc=function(t,e){e.intensity&&Ve(e,e.intensity,\\\"\\\",\\\"c\\\")},IR.colorbar=function(t,e){var n=e[0].trace,i=\\\"cb\\\"+n.uid,a=n.cmin,o=n.cmax,s=n.intensity||[];if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\\\".\\\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},IR.plot=PR,IR.moduleType=\\\"trace\\\",IR.name=\\\"mesh3d\\\",IR.basePlotModule=SD,IR.categories=[\\\"gl3d\\\"],IR.meta={};var DR=IR;function OR(t,e,r,n){Kl(t,e,r,n),r(n+\\\".line.color\\\"),r(n+\\\".line.width\\\",e.line.width),r(n+\\\".line.dash\\\",e.line.dash)}var RR={},FR=ne._;function BR(t,e,r){var n={type:\\\"scatter\\\",mode:\\\"lines\\\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(\\\"all\\\"===e)return\\\"x+text+name\\\";var r=e.split(\\\"+\\\"),n=r.indexOf(\\\"y\\\"),i=r.indexOf(\\\"text\\\");-1!==n&&(r.splice(n,1),-1===i&&r.push(\\\"text\\\"));return r.join(\\\"+\\\")}(t),transforms:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}RR.moduleType=\\\"transform\\\",RR.name=\\\"ohlc\\\",RR.attributes={},RR.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},RR.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\\\"ohlc\\\"===i.type?r.push(BR(i,e,\\\"increasing\\\"),BR(i,e,\\\"decreasing\\\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},RR.calcTransform=function(t,e,n){var i,a=n.direction,o=Ql.getFilterFn(a),s=gn.getFromTrace(t,e,\\\"x\\\"),l=gn.getFromTrace(t,e,\\\"y\\\"),u=function(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var o,s=t._fullData,l=[];for(a=1/0,o=0;o<s.length;o++){var u=s[o]._fullInput;if(\\\"ohlc\\\"===u.type&&!0===u.visible&&u.xaxis===e._id&&(l.push(u),u.x&&u.x.length>1)){var c=ne.simpleMap(u.x,e.d2c,0,r.xcalendar),h=ne.distinctVals(c).minDiff;a=Math.min(a,h)}}for(a===1/0&&(a=1),o=0;o<l.length;o++)l[o]._minDiff=a}return a*i}(t,s,e),c=e.open,h=e.high,f=e.low,p=e.close,d=e.text,g=FR(t,\\\"open:\\\")+\\\" \\\",v=FR(t,\\\"high:\\\")+\\\" \\\",m=FR(t,\\\"low:\\\")+\\\" \\\",y=FR(t,\\\"close:\\\")+\\\" \\\",x=c.length,b=[],_=[],w=[];i=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=s.d2c(r,0,n);b.push(s.c2d(i-u,0,n),r,r,r,r,s.c2d(i+u,0,n),null)}:function(t){b.push(t-u,t,t,t,t,t+u,null)};for(var M,A,k,T,S=function(t,e){return ri.tickText(t,t.c2l(e),\\\"hover\\\").text},E=e._fullInput.hoverinfo,C=E.split(\\\"+\\\"),L=\\\"all\\\"===E,z=L||-1!==C.indexOf(\\\"y\\\"),P=L||-1!==C.indexOf(\\\"text\\\"),I=Array.isArray(d)?function(t){return d[t]||\\\"\\\"}:function(){return d},D=function(t,e,r,n,i){var a=[];z&&(a.push(g+S(l,e)),a.push(v+S(l,r)),a.push(m+S(l,n)),a.push(y+S(l,i))),P&&a.push(I(t));var o=a.join(\\\"<br>\\\");w.push(o,o,o,o,o,o,null)},O=0;O<x;O++)o(c[O],p[O])&&r(h[O])&&r(f[O])&&(i(O),M=c[O],A=h[O],k=f[O],T=p[O],_.push(M,M,A,k,T,T,null),D(O,c[O],h[O],f[O],p[O]));e.x=b,e.y=_,e.text=w,e._length=b.length};var NR={moduleType:\\\"trace\\\",name:\\\"ohlc\\\",basePlotModule:ua,categories:[\\\"cartesian\\\",\\\"showLegend\\\"],meta:{},attributes:Yl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Yl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\\\"line.width\\\"),i(\\\"line.dash\\\"),OR(t,e,i,\\\"increasing\\\"),OR(t,e,i,\\\"decreasing\\\"),i(\\\"text\\\"),i(\\\"tickwidth\\\")):e.visible=!1}};P.register(zx),P.register(RR);var jR,VR,UR=NR,qR=qc.attributes,HR=m.extendDeepAll,GR=m.extendFlat,WR={domain:qR({name:\\\"parcoords\\\",trace:!0,editType:\\\"calc\\\"}),labelfont:T({editType:\\\"calc\\\"}),tickfont:T({editType:\\\"calc\\\"}),rangefont:T({editType:\\\"calc\\\"}),dimensions:{_isLinkedToArray:\\\"dimension\\\",label:{valType:\\\"string\\\",editType:\\\"calc\\\"},tickvals:GR({},Ce.tickvals,{editType:\\\"calc\\\"}),ticktext:GR({},Ce.ticktext,{editType:\\\"calc\\\"}),tickformat:{valType:\\\"string\\\",dflt:\\\"3s\\\",editType:\\\"calc\\\"},visible:{valType:\\\"boolean\\\",dflt:!0,editType:\\\"calc\\\"},range:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},constraintrange:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"calc\\\"},{valType:\\\"number\\\",editType:\\\"calc\\\"}],editType:\\\"calc\\\"},values:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},editType:\\\"calc\\\"},line:GR(HR(De(0,\\\"calc\\\"),{colorscale:{dflt:l.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:\\\"boolean\\\",dflt:!1,editType:\\\"calc\\\"},colorbar:ze,editType:\\\"calc\\\"})},YR={exports:{}};function XR(t){return[t]}jR=this,VR=function(){function t(t,e){this.id=V++,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 i(t){var e,i,a,o,s=t||{};t={};var l=[],u=[],c=\\\"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?a=(o=s).canvas:(\\\"gl\\\"in s?o=s.gl:\\\"canvas\\\"in s?a=n(s.canvas):\\\"container\\\"in s&&(i=n(s.container)),\\\"attributes\\\"in s&&(t=s.attributes),\\\"extensions\\\"in s&&(l=r(s.extensions)),\\\"optionalExtensions\\\"in s&&(u=r(s.optionalExtensions)),\\\"onDone\\\"in s&&(f=s.onDone),\\\"profile\\\"in s&&(h=!!s.profile),\\\"pixelRatio\\\"in s&&(c=+s.pixelRatio))),e&&(\\\"canvas\\\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){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,j(i.style,{width:e+\\\"px\\\",height:n+\\\"px\\\"})}var i=document.createElement(\\\"canvas\\\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\\\"absolute\\\",j(t.style,{margin:0,padding:0})),window.addEventListener(\\\"resize\\\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\\\"resize\\\",n),t.removeChild(i)}}}(i||document.body,0,c)))return null;a=e.canvas,p=e.onDestroy}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\\\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:u,pixelRatio:c,profile:h,onDone:f,onDestroy:p}:(p(),f(\\\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\\\"),null)}function a(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)||G(t.data))}function o(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function s(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 l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function u(t){Y[s(t.byteLength)>>2].push(t)}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var u=s[l],c=0;c<n;++c)i[a++]=u[c]}function h(t){return 0|J[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function p(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var u=0;u<n;++u)t[s++]=e[i*l+a*u+o]}function d(t,e,r){function n(e){this.id=l++,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,o,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){o=tt(e);for(var l=n=1;l<o.length;++l)n*=o[l];t.dimension=n,i(t,e=$(e,o,t.dtype),r),s?t.persistentData=e:X.freeType(e)}else\\\"number\\\"==typeof e[0]?(t.dimension=o,f(o=X.allocType(t.dtype,e.length),e),i(t,o,r),s?t.persistentData=o:X.freeType(o)):G(e[0])&&(t.dimension=e[0].length,t.dtype=n||h(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),s?t.persistentData=e:X.freeType(e))}else if(G(e))t.dtype=n||h(e),t.dimension=o,i(t,e,r),s&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(a(e)){o=e.shape;var u=e.stride,c=(l=e.offset,0),d=0,g=0,v=0;1===o.length?(c=o[0],d=1,g=u[0],v=0):2===o.length&&(c=o[0],d=o[1],g=u[0],v=u[1]),t.dtype=n||h(e.data)||5126,t.dimension=d,p(o=X.allocType(t.dtype,c*d),e.data,c,d,g,v,l),i(t,o,r),s?t.persistentData=o:X.freeType(o)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete u[r.id]}var l=0,u={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var c=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(i,l,c,d){function g(e){var n=35044,i=null,s=0,l=0,u=1;return Array.isArray(e)||G(e)||a(e)?i=e:\\\"number\\\"==typeof e?s=0|e:e&&(\\\"data\\\"in e&&(i=e.data),\\\"usage\\\"in e&&(n=Q[e.usage]),\\\"type\\\"in e&&(l=K[e.type]),\\\"dimension\\\"in e&&(u=0|e.dimension),\\\"length\\\"in e&&(s=0|e.length)),v.bind(),i?o(v,i,n,l,u,d):(t.bufferData(v.type,s,n),v.dtype=l||5121,v.usage=n,v.dimension=u,v.byteLength=s),r.profile&&(v.stats.size=v.byteLength*et[v.dtype]),g}e.bufferCount++;var v=new n(l);return u[v.id]=v,c||g(i),g._reglType=\\\"buffer\\\",g._buffer=v,g.subdata=function(e,r){var n,i=0|(r||0);if(v.bind(),G(e))t.bufferSubData(v.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\\\"number\\\"==typeof e[0]){var o=X.allocType(v.dtype,e.length);f(o,e),t.bufferSubData(v.type,i,o),X.freeType(o)}else(Array.isArray(e[0])||G(e[0]))&&(n=tt(e),o=$(e,n,v.dtype),t.bufferSubData(v.type,i,o),X.freeType(o))}else if(a(e)){n=e.shape;var s=e.stride,l=o=0,u=0,c=0;1===n.length?(o=n[0],l=1,u=s[0],c=0):2===n.length&&(o=n[0],l=n[1],u=s[0],c=s[1]),n=Array.isArray(e.data)?v.dtype:h(e.data),p(n=X.allocType(n,o*l),e.data,o,l,u,c,e.offset),t.bufferSubData(v.type,i,n),X.freeType(n)}return g},r.profile&&(g.stats=v.stats),g.destroy=function(){s(v)},g},createStream:function(t,e){var r=c.pop();return r||(r=new n(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){c.push(t)},clear:function(){W(u).forEach(s),c.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:function(){W(u).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 g(t,e,r,n){function i(t){this.id=u++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function o(n,i,o,s,l,u,c){if(n.buffer.bind(),i){var h=c;c||G(i)&&(!a(i)||G(i.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,o,h,3)}else t.bufferData(34963,u,o),n.buffer.dtype=h||5121,n.buffer.usage=o,n.buffer.dimension=3,n.buffer.byteLength=u;if(h=c,!c){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>(i=l)&&(i=n.buffer.byteLength,5123===h?i>>=1:5125===h&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},u=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function l(t){if(t)if(\\\"number\\\"==typeof t)u(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,f=0;Array.isArray(t)||G(t)||a(t)?e=t:(\\\"data\\\"in t&&(e=t.data),\\\"usage\\\"in t&&(r=Q[t.usage]),\\\"primitive\\\"in t&&(n=rt[t.primitive]),\\\"count\\\"in t&&(i=0|t.count),\\\"type\\\"in t&&(f=c[t.type]),\\\"length\\\"in t?s=0|t.length:(s=i,5123===f||5122===f?s*=2:5125!==f&&5124!==f||(s*=4))),o(h,e,r,n,i,s,f)}else u(),h.primType=4,h.vertCount=0,h.type=5121;return l}var u=r.create(null,34963,!0),h=new i(u._buffer);return n.elementsCount++,l(t),l._reglType=\\\"elements\\\",l._elements=h,l.subdata=function(t,e){return u.subdata(t,e),l},l.destroy=function(){s(h)},l},createStream:function(t){var e=h.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return\\\"function\\\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function v(t){for(var e=X.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{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||G(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<=lt.indexOf(e)||(y(t)||x(t)||a(t))}function w(t,e){36193===t.type?(t.data=v(e),X.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==ct[t]?ct[t]:st[t]*ut[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function A(t,e,r,n,i,o,s){function l(){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 u(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 c(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=U[e.colorSpace]),\\\"type\\\"in e&&(t.type=q[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\\\"shape\\\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\\\"radius\\\"in e&&(r=n=e.radius),\\\"width\\\"in e&&(r=e.width),\\\"height\\\"in e&&(n=e.height),\\\"channels\\\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\\\"format\\\"in e&&(r=e.format,n=t.internalformat=H[r],t.format=it[n],r in q&&!(\\\"type\\\"in e)&&(t.type=q[r]),r in Y&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[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(){l.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&&(c(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=i.viewportWidth,o=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0}else if(r){if(G(r))t.channels=t.channels||4,t.data=r,\\\"type\\\"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,o=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(o=X.allocType(t.type,o)).set(n),t.data=o;break;case 36193:t.data=v(n)}t.alignment=1,t.needsFree=!0}else if(a(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);o=r.shape;var s,l,u,h,f=r.stride;3===o.length?(u=o[2],h=f[2]):h=u=1,s=o[0],l=o[1],o=f[0],f=f[1],t.alignment=1,t.width=s,t.height=l,t.channels=u,t.format=t.internalformat=ot[u],t.needsFree=!0,s=h,r=r.offset,u=t.width,h=t.height,l=t.channels;for(var p=X.allocType(36193===t.type?5126:t.type,u*h*l),d=0,g=0;g<h;++g)for(var M=0;M<u;++M)for(var A=0;A<l;++A)p[d++]=n[o*M+f*g+s*A+r];w(t,p)}else if(\\\"[object HTMLCanvasElement]\\\"===b(r)||\\\"[object CanvasRenderingContext2D]\\\"===b(r))\\\"[object HTMLCanvasElement]\\\"===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(\\\"[object HTMLImageElement]\\\"===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(\\\"[object HTMLVideoElement]\\\"===b(r))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,o=t.height||r.length,f=t.channels,f=m(r[0][0])?f||r[0][0].length:f||1,s=Z.shape(r),u=1,h=0;h<s.length;++h)u*=s[h];u=X.allocType(36193===t.type?5126:t.type,u),Z.flatten(r,s,\\\"\\\",u),w(t,u),t.alignment=1,t.width=n,t.height=o,t.channels=f,t.format=t.internalformat=ot[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,c=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,i,a,c,f,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,c,f,l)}function g(){return lt.pop()||new f}function A(t){t.needsFree&&X.freeType(t.data),f.call(t),lt.push(t)}function k(t,e,r){var n=t.images[0]=g();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;else if(c(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)u(r=t.images[i]=g(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;u(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,u=o.element,c=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,v=o.height;h(o),u?t.texImage2D(s,l,p,p,d,u):o.compressed?t.compressedTexImage2D(s,l,f,g,v,0,c):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,v,0)):t.texImage2D(s,l,p,g,v,0,p,d,c)}}function E(){var t=ut.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&A(e[r]),e[r]=null;ut.push(t)}function L(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){\\\"min\\\"in e&&(t.minFilter=V[e.min],0<=at.indexOf(t.minFilter)&&(t.genMipmaps=!0)),\\\"mag\\\"in e&&(t.magFilter=N[e.mag]);var r=t.wrapS,n=t.wrapT;if(\\\"wrap\\\"in e){var i=e.wrap;\\\"string\\\"==typeof i?r=n=B[i]:Array.isArray(i)&&(r=B[i[0]],n=B[i[1]])}else\\\"wrapS\\\"in e&&(r=B[e.wrapS]),\\\"wrapT\\\"in e&&(n=B[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=F[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 P(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 I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ct++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new L,s.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=pt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function R(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),pt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ht[e.id],o.textureCount--}var F={\\\"don't care\\\":4352,\\\"dont care\\\":4352,nice:4354,fast:4353},B={repeat:10497,clamp:33071,mirror:33648},N={nearest:9728,linear:9729},V=j({mipmap:9987,\\\"nearest mipmap nearest\\\":9984,\\\"linear mipmap nearest\\\":9985,\\\"nearest mipmap linear\\\":9986,\\\"linear mipmap linear\\\":9987},N),U={none:0,browser:37444},q={uint8:5121,rgba4:32819,rgb565:33635,\\\"rgb5 a1\\\":32820},H={alpha:6406,luminance:6409,\\\"luminance alpha\\\":6410,rgb:6407,rgba:6408,rgba4:32854,\\\"rgb5 a1\\\":32855,rgb565:36194},Y={};e.ext_srgb&&(H.srgb=35904,H.srgba=35906),e.oes_texture_float&&(q.float32=q.float=5126),e.oes_texture_half_float&&(q.float16=q[\\\"half float\\\"]=36193),e.webgl_depth_texture&&(j(H,{depth:6402,\\\"depth stencil\\\":34041}),j(q,{uint16:5123,uint32:5125,\\\"depth stencil\\\":34042})),e.webgl_compressed_texture_s3tc&&j(Y,{\\\"rgb s3tc dxt1\\\":33776,\\\"rgba s3tc dxt1\\\":33777,\\\"rgba s3tc dxt3\\\":33778,\\\"rgba s3tc dxt5\\\":33779}),e.webgl_compressed_texture_atc&&j(Y,{\\\"rgb atc\\\":35986,\\\"rgba atc explicit alpha\\\":35987,\\\"rgba atc interpolated alpha\\\":34798}),e.webgl_compressed_texture_pvrtc&&j(Y,{\\\"rgb pvrtc 4bppv1\\\":35840,\\\"rgb pvrtc 2bppv1\\\":35841,\\\"rgba pvrtc 4bppv1\\\":35842,\\\"rgba pvrtc 2bppv1\\\":35843}),e.webgl_compressed_texture_etc1&&(Y[\\\"rgb etc1\\\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Y).forEach(function(t){var e=Y[t];0<=K.indexOf(e)&&(H[t]=e)});var Q=Object.keys(H);r.textureFormats=Q;var $=[];Object.keys(H).forEach(function(t){$[H[t]]=t});var tt=[];Object.keys(q).forEach(function(t){tt[q[t]]=t});var et=[];Object.keys(N).forEach(function(t){et[N[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(B).forEach(function(t){nt[B[t]]=t});var it=Q.reduce(function(t,e){var r=H[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\\\"rgba\\\")?t[r]=6408:t[r]=6407,t},{}),lt=[],ut=[],ct=0,ht={},ft=r.maxTextureUnits,pt=Array(ft).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<ft;++r){var n=pt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}pt[r]=this,e=r;break}s.profile&&o.maxTextureUnits<e+1&&(o.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&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ht).forEach(function(e){t+=ht[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=E();return\\\"number\\\"==typeof t?k(a,0|t,\\\"number\\\"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):k(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,u(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),S(a,3553),P(r,3553),O(),C(a),s.profile&&(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new I(3553);return ht[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return u(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),O(),A(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,D(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return O(),s.profile&&(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=\\\"texture2d\\\",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function h(t,e,r,n,i,a){var o,l=f.texInfo;for(L.call(l),o=0;6>o;++o)v[o]=E();if(\\\"number\\\"!=typeof t&&t){if(\\\"object\\\"==typeof t)if(e)T(v[0],t),T(v[1],e),T(v[2],r),T(v[3],n),T(v[4],i),T(v[5],a);else if(z(l,t),c(f,t),\\\"faces\\\"in t)for(t=t.faces,o=0;6>o;++o)u(v[o],f),T(v[o],t[o]);else for(o=0;6>o;++o)T(v[o],t)}else for(t=0|t||1,o=0;6>o;++o)k(v[o],t,t);for(u(f,v[0]),f.mipmask=l.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,f.internalformat=v[0].internalformat,h.width=v[0].width,h.height=v[0].height,D(f),o=0;6>o;++o)S(v[o],34069+o);for(P(l,34067),O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=$[f.internalformat],h.type=tt[f.type],h.mag=et[l.magFilter],h.min=rt[l.minFilter],h.wrapS=nt[l.wrapS],h.wrapT=nt[l.wrapT],o=0;6>o;++o)C(v[o]);return h}var f=new I(34067);ht[f.id]=f,o.cubeCount++;var v=Array(6);return h(e,r,n,i,a,l),h.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return u(a,f),a.width=0,a.height=0,p(a,e),a.width=a.width||(f.width>>i)-r,a.height=a.height||(f.height>>i)-n,D(f),d(a,34069+t,r,n,i),O(),A(a),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 O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType=\\\"textureCube\\\",h._texture=f,s.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<ft;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),pt[e]=null;W(ht).forEach(R),o.cubeCount=0,o.textureCount=0},getTexture:function(t){return null},restore:function(){W(ht).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);P(e.texInfo,e.target)})}}}function k(t,e,r,n,i,a){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 u(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 c(t){var e=3553,r=null,n=null,i=t;return\\\"object\\\"==typeof t&&(i=t.data,\\\"target\\\"in t&&(e=0|t.target)),\\\"texture2d\\\"===(t=i._reglType)?r=i:\\\"textureCube\\\"===t?r=i:\\\"renderbuffer\\\"===t&&(n=i,e=36161),new o(e,r,n)}function h(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._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))}function d(){this.id=M++,A[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 v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete A[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(36064+n,i[n]);for(n=i.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),u(36096,e.depthAttachment),u(36128,e.stencilAttachment),u(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,x.next),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,u=!0;i=null;var p=!0,d=\\\"rgba\\\",v=\\\"uint8\\\",y=1,x=null,w=null,M=null,A=!1;\\\"number\\\"==typeof t?(a=0|t,o=0|e||a):t?(\\\"shape\\\"in t?(a=(o=t.shape)[0],o=o[1]):(\\\"radius\\\"in t&&(a=o=t.radius),\\\"width\\\"in t&&(a=t.width),\\\"height\\\"in t&&(o=t.height)),(\\\"color\\\"in t||\\\"colors\\\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\\\"colorCount\\\"in t&&(y=0|t.colorCount),\\\"colorTexture\\\"in t&&(p=!!t.colorTexture,d=\\\"rgba4\\\"),\\\"colorType\\\"in t&&(v=t.colorType,!p)&&(\\\"half float\\\"===v||\\\"float16\\\"===v?d=\\\"rgba16f\\\":\\\"float\\\"!==v&&\\\"float32\\\"!==v||(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)&&(A=!(!t.depthTexture&&!t.depthStencilTexture)),\\\"depth\\\"in t&&(\\\"boolean\\\"==typeof t.depth?s=t.depth:(x=t.depth,u=!1)),\\\"stencil\\\"in t&&(\\\"boolean\\\"==typeof t.stencil?u=t.stencil:(w=t.stencil,s=!1)),\\\"depthStencil\\\"in t&&(\\\"boolean\\\"==typeof t.depthStencil?s=u=t.depthStencil:(M=t.depthStencil,u=s=!1))):a=o=1;var k=null,T=null,S=null,E=null;if(Array.isArray(i))k=i.map(c);else if(i)k=[c(i)];else for(k=Array(y),i=0;i<y;++i)k[i]=h(a,o,p,d,v);for(a=a||k[0].width,o=o||k[0].height,x?T=c(x):s&&!u&&(T=h(a,o,A,\\\"depth\\\",\\\"uint32\\\")),w?S=c(w):u&&!s&&(S=h(a,o,!1,\\\"stencil\\\",\\\"uint8\\\")),M?E=c(M):!x&&!w&&u&&s&&(E=h(a,o,A,\\\"depth stencil\\\",\\\"depth stencil\\\")),s=null,i=0;i<k.length;++i)l(k[i]),k[i]&&k[i].texture&&(u=pt[k[i].texture._texture.format]*dt[k[i].texture._texture.type],null===s&&(s=u));return l(T),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=k,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=k.map(f),r.depth=f(T),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,m(n),r},_reglType:\\\"framebuffer\\\",_framebuffer:n,destroy:function(){v(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 M=0,A={};return j(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 i,a={color:null},o=0,s=null;i=\\\"rgba\\\";var l=\\\"uint8\\\",u=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&&(u=0|t.colorCount),\\\"colorType\\\"in t&&(l=t.colorType),\\\"colorFormat\\\"in t&&(i=t.colorFormat)),\\\"depth\\\"in t&&(a.depth=t.depth),\\\"stencil\\\"in t&&(a.stencil=t.stencil),\\\"depthStencil\\\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(u),s={radius:o,format:i,type:l},i=0;i<u;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)u=t[i],o=o||u.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(u=0;u<t.length;++u)a.color[u].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[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(){W(A).forEach(v)},restore:function(){W(A).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function T(){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){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(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,i){if(!(o=(i=35632===r?u:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[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){var l,u;l=o(35632,r.fragId),u=o(35633,r.vertId);var c=r.program=t.createProgram();t.attachShader(c,l),t.attachShader(c,u),t.linkProgram(c);var h=t.getProgramParameter(c,35718);n.profile&&(r.stats.uniformsCount=h);var f=r.uniforms;for(l=0;l<h;++l)if(u=t.getActiveUniform(c,l))if(1<u.size)for(var p=0;p<u.size;++p){var d=u.name.replace(\\\"[0]\\\",\\\"[\\\"+p+\\\"]\\\");a(f,new i(d,e.id(d),t.getUniformLocation(c,d),u))}else a(f,new i(u.name,e.id(u.name),t.getUniformLocation(c,u.name),u));for(h=t.getProgramParameter(c,35721),n.profile&&(r.stats.attributesCount=h),f=r.attributes,l=0;l<h;++l)(u=t.getActiveAttrib(c,l))&&a(f,new i(u.name,e.id(u.name),t.getAttribLocation(c,u.name),u))}var u={},c={},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);W(u).forEach(e),u={},W(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var i=h[e];i||(i=h[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,f.push(a)),a},restore:function(){u={},c={};for(var t=0;t<f.length;++t)l(f[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,i,a){function o(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,u=n.framebufferHeight,c=null;return G(i)?c=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),u=0|(i.height||n.framebufferHeight-s),c=i.data||null),r(),i=l*u*4,c||(5121===a?c=new Uint8Array(i):5126===a&&(c=c||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,u,6408,a,c),c}return function(t){return t&&\\\"framebuffer\\\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function C(t){return Array.prototype.slice.call(t)}function L(t){return C(t).join(\\\"\\\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,C(arguments))},{def:function(){var n=\\\"v\\\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\\\"=\\\"),t.push.apply(t,C(arguments)),t.push(\\\";\\\")),n},toString:function(){return L([0<e.length?\\\"var \\\"+e+\\\";\\\":\\\"\\\",L(t)])}})}function e(){function e(t,e){n(t,e,\\\"=\\\",r.def(t,e),\\\";\\\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,C(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\\\"=\\\",i,\\\";\\\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\\\"g\\\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\\\"a\\\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\\\"function(\\\",i.join(),\\\"){\\\",s(),\\\"}\\\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,C(arguments)),this},else:function(){return n.apply(n,C(arguments)),this},toString:function(){var e=a();return e&&(e=\\\"else{\\\"+e+\\\"}\\\"),L([\\\"if(\\\",t,\\\"){\\\",i(),\\\"}\\\",e])}})},compile:function(){var t=['\\\"use strict\\\";',a,\\\"return {\\\"];Object.keys(o).forEach(function(e){t.push('\\\"',e,'\\\":',o[e].toString(),\\\",\\\")}),t.push(\\\"}\\\");var e=L(t).replace(/;/g,\\\";\\\\n\\\").replace(/}/g,\\\"}\\\\n\\\").replace(/{/g,\\\"{\\\\n\\\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||G(t)||a(t)}function I(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 O(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new D(!1,!1,!1,t)}function F(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 B(t,e,r,n,i,a,s,l,u,c,h,f,p,d,g){function v(t){return t.replace(\\\".\\\",\\\"_\\\")}function y(t,e,r){var n=v(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\\\"0\\\";var i=r(ot),a=t.shared={props:\\\"a0\\\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\\\".\\\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\\\".\\\",t),s[t]=n.def(a.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 i=[\\\"this\\\",a.context,a.props,t.batchId];return e.def(r(n.data),\\\".call(\\\",i.slice(0,Math.max(n.data.length+1,4)),\\\")\\\");case 1:return e.def(a.props,n.data);case 2:return e.def(a.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 u={};return t.scopeAttrib=function(t){if((t=e.id(t))in u)return u[t];var n=c.scope[t];return n||(n=c.scope[t]=new Z),u[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\\\"framebuffer\\\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),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})):R(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 a=n.framebuffer;return F(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\\\".getFramebuffer(\\\",r,\\\")\\\");return e.set(i,\\\".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){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return F(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\\\".id(\\\",r,\\\")\\\")})}return null}var n=t.static,i=t.dynamic,a=r(\\\"frag\\\"),o=r(\\\"vert\\\"),s=null;return O(a)&&O(o)?(s=h.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new D(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\\\".\\\",\\\"frag\\\"),n=o?o.append(t,e):e.def(i,\\\".\\\",\\\"vert\\\"),e.def(i+\\\".program(\\\"+n+\\\",\\\"+r+\\\")\\\")}),{frag:a,vert:o,progVar:t,program:s}}function M(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var a=i[t];return F(a,function(t,r){var n=t.invoke(r,a);return e&&(t.OFFSET=n),n})}return e&&o?R(function(t,e){return t.OFFSET=\\\"0\\\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(\\\"elements\\\"in n){var t=n.elements;P(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t));var e=R(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 i){var r=i.elements;return F(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\\\"null\\\");n=e.def(n,\\\"(\\\",a,\\\")\\\"),a=t.cond(n).then(o,\\\"=\\\",i,\\\".createStream(\\\",a,\\\");\\\").else(o,\\\"=\\\",i,\\\".getElements(\\\",a,\\\");\\\");return e.entry(a),e.exit(t.cond(n).then(i,\\\".destroyStream(\\\",o,\\\");\\\")),t.ELEMENTS=o})}return null}(),s=r(\\\"offset\\\",!0);return{elements:o,primitive:function(){if(\\\"primitive\\\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\\\"primitive\\\"in i){var e=i.primitive;return F(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\\\"[\\\",i,\\\"]\\\")})}return o?O(o)?o.value?R(function(t,e){return e.def(t.ELEMENTS,\\\".primType\\\")}):R(function(){return 4}):new D(o.thisDep,o.contextDep,o.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 R(function(){return t})}if(\\\"count\\\"in i){var e=i.count;return F(e,function(t,r){return t.invoke(r,e)})}return o?O(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\\\".vertCount-\\\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\\\".vertCount\\\")}):R(function(){return-1}):new D(o.thisDep||s.thisDep,o.contextDep||s.contextDep,o.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 A(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(u=i.getBuffer(r))s.state=1,s.buffer=u,s.type=0;else if(r.constant){var l=r.constant;s.buffer=\\\"null\\\",s.state=2,\\\"number\\\"==typeof l?s.x=l:gt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var u=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),c=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;\\\"type\\\"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=u,s.state=1,s.size=f,s.normalized=p,s.type=d||u.dtype,s.offset=c,s.stride=h,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];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[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=F(e,function(t,r){function n(t){r(l[t],\\\"=\\\",i,\\\".\\\",t,\\\"|0;\\\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},u=new Z;u.state=1,Object.keys(u).forEach(function(t){l[t]=r.def(\\\"\\\"+u[t])});var c=l.buffer,h=l.type;return r(\\\"if(\\\",o,\\\"(\\\",i,\\\")){\\\",l.isStream,\\\"=true;\\\",c,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\");\\\",h,\\\"=\\\",c,\\\".dtype;\\\",\\\"}else{\\\",c,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\");\\\",\\\"if(\\\",c,\\\"){\\\",h,\\\"=\\\",c,\\\".dtype;\\\",'}else if(\\\"constant\\\" in ',i,\\\"){\\\",l.state,\\\"=\\\",2,\\\";\\\",\\\"if(typeof \\\"+i+'.constant === \\\"number\\\"){',l[gt[0]],\\\"=\\\",i,\\\".constant;\\\",gt.slice(1).map(function(t){return l[t]}).join(\\\"=\\\"),\\\"=0;\\\",\\\"}else{\\\",gt.map(function(t,e){return l[t]+\\\"=\\\"+i+\\\".constant.length>=\\\"+e+\\\"?\\\"+i+\\\".constant[\\\"+e+\\\"]:0;\\\"}).join(\\\"\\\"),\\\"}}else{\\\",\\\"if(\\\",o,\\\"(\\\",i,\\\".buffer)){\\\",c,\\\"=\\\",s,\\\".createStream(\\\",34962,\\\",\\\",i,\\\".buffer);\\\",\\\"}else{\\\",c,\\\"=\\\",s,\\\".getBuffer(\\\",i,\\\".buffer);\\\",\\\"}\\\",h,'=\\\"type\\\" in ',i,\\\"?\\\",a.glTypes,\\\"[\\\",i,\\\".type]:\\\",c,\\\".dtype;\\\",l.normalized,\\\"=!!\\\",i,\\\".normalized;\\\"),n(\\\"size\\\"),n(\\\"offset\\\"),n(\\\"stride\\\"),n(\\\"divisor\\\"),r(\\\"}}\\\"),r.exit(\\\"if(\\\",l.isStream,\\\"){\\\",s,\\\".destroyStream(\\\",c,\\\");\\\",\\\"}\\\"),l})}),o}function k(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[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 i=t.shared.context,a=n;\\\"width\\\"in r||(a=e.def(i,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",s));var u=o;return\\\"height\\\"in r||(u=e.def(i,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",l)),[s,l,a,u]})}if(t in a){var u=a[t];return t=F(u,function(t,e){var r=t.invoke(e,u),n=t.shared.context,i=e.def(r,\\\".x|0\\\"),a=e.def(r,\\\".y|0\\\");return[i,a,e.def('\\\"width\\\" in ',r,\\\"?\\\",r,\\\".width|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferWidth\\\",\\\"-\\\",i,\\\")\\\"),r=e.def('\\\"height\\\" in ',r,\\\"?\\\",r,\\\".height|0:\\\",\\\"(\\\",n,\\\".\\\",\\\"framebufferHeight\\\",\\\"-\\\",a,\\\")\\\")]}),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 i=t.static,a=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,a),l=M(t),u=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=F(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=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 yt[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[mt[\\\"srcRGB\\\"in t?t.srcRGB:t.src],mt[\\\"dstRGB\\\"in t?t.dstRGB:t.dst],mt[\\\"srcAlpha\\\"in t?t.srcAlpha:t.src],mt[\\\"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 i=n(\\\"src\\\",\\\"RGB\\\"),a=n(\\\"dst\\\",\\\"RGB\\\"),o=(i=e.def(t,\\\"[\\\",i,\\\"]\\\"),e.def(t,\\\"[\\\",n(\\\"src\\\",\\\"Alpha\\\"),\\\"]\\\"));return[i,a=e.def(t,\\\"[\\\",a,\\\"]\\\"),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,i=e.def(),a=e.def();return(t=t.cond(\\\"typeof \\\",r,'===\\\"string\\\"')).then(i,\\\"=\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\"];\\\"),t.else(i,\\\"=\\\",n,\\\"[\\\",r,\\\".rgb];\\\",a,\\\"=\\\",n,\\\"[\\\",r,\\\".alpha];\\\"),e(t),[i,a]});case\\\"blend.color\\\":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(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[yt[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,xt[e.fail||\\\"keep\\\"],xt[e.zfail||\\\"keep\\\"],xt[e.zpass||\\\"keep\\\"]]},function(e,r,n){function i(t){return r.def('\\\"',t,'\\\" in ',n,\\\"?\\\",a,\\\"[\\\",n,\\\".\\\",t,\\\"]:\\\",7680)}var a=e.constants.stencilOps;return[\\\"stencil.opBack\\\"===t?1029:1028,i(\\\"fail\\\"),i(\\\"zfail\\\"),i(\\\"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 bt[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 o(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\\\")]})}}),i}(t),c=w(t),h=s.viewport;return h&&(u.viewport=h),(s=s[h=v(\\\"scissor.box\\\")])&&(u[h]=s),(a={framebuffer:a,draw:l,shader:c,state:u,dirty:s=0<Object.keys(u).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\\\"profile\\\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\\\"profile\\\"in t){var i=t.profile;e=F(i,function(t,e){return t.invoke(e,i)})}return e}(t),a.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\\\"number\\\"==typeof n||\\\"boolean\\\"==typeof n)e=R(function(){return n});else if(\\\"function\\\"==typeof n){var a=n._reglType;\\\"texture2d\\\"===a||\\\"textureCube\\\"===a?e=R(function(t){return t.link(n)}):\\\"framebuffer\\\"!==a&&\\\"framebufferCube\\\"!==a||(e=R(function(t){return t.link(n.color[0])}))}else m(n)&&(e=R(function(t){return t.global.def(\\\"[\\\",o(n.length,function(t){return n[t]}),\\\"]\\\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=F(e,function(t,r){return t.invoke(r,e)})}),i}(r),a.attributes=A(e),a.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(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]=F(e,function(t,r){return t.invoke(r,e)})}),n}(n),a}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\\\".\\\"+a),i(n,\\\".\\\",a,\\\"=\\\",r[a].append(t,e),\\\";\\\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=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,\\\"){\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",\\\",t,\\\".framebuffer);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",s,\\\"[\\\",t,\\\".colorAttachments.length]);\\\"),e(\\\"}else{\\\",a,\\\".bindFramebuffer(\\\",36160,\\\",null);\\\"),$&&e(i,\\\".drawBuffersWEBGL(\\\",l,\\\");\\\"),e(\\\"}\\\",o,\\\".cur=\\\",t,\\\";\\\"),n||e(\\\"}\\\")}function E(t,e,r){var n=t.shared,i=n.gl,a=t.current,s=t.next,l=n.current,u=n.next,c=t.cond(l,\\\".dirty\\\");nt.forEach(function(e){var n,h;if(!((e=v(e))in r.state))if(e in s){n=s[e],h=a[e];var f=o(tt[e].length,function(t){return c.def(n,\\\"[\\\",t,\\\"]\\\")});c(t.cond(f.map(function(t,e){return t+\\\"!==\\\"+h+\\\"[\\\"+e+\\\"]\\\"}).join(\\\"||\\\")).then(i,\\\".\\\",at[e],\\\"(\\\",f,\\\");\\\",f.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\"))}else n=c.def(u,\\\".\\\",e),f=t.cond(n,\\\"!==\\\",l,\\\".\\\",e),c(f),e in it?f(t.cond(n).then(i,\\\".enable(\\\",it[e],\\\");\\\").else(i,\\\".disable(\\\",it[e],\\\");\\\"),l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\"):f(i,\\\".\\\",at[e],\\\"(\\\",n,\\\");\\\",l,\\\".\\\",e,\\\"=\\\",n,\\\";\\\")}),0===Object.keys(r.state).length&&c(l,\\\".dirty=false;\\\"),e(c)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;I(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var u=l.append(t,e);if(it[i]){var c=it[i];O(l)?e(s,u?\\\".enable(\\\":\\\".disable(\\\",c,\\\");\\\"):e(t.cond(u).then(s,\\\".enable(\\\",c,\\\");\\\").else(s,\\\".disable(\\\",c,\\\");\\\")),e(o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}else if(m(u)){var h=a[i];e(s,\\\".\\\",at[i],\\\"(\\\",u,\\\");\\\",u.map(function(t,e){return h+\\\"[\\\"+e+\\\"]=\\\"+t}).join(\\\";\\\"),\\\";\\\")}else e(s,\\\".\\\",at[i],\\\"(\\\",u,\\\");\\\",o,\\\".\\\",i,\\\"=\\\",u,\\\";\\\")}})}function L(t,e){Q&&(t.instancing=e.def(t.shared.extensions,\\\".angle_instanced_arrays\\\"))}function B(t,e,r,n,i){function a(){return\\\"undefined\\\"==typeof performance?\\\"Date.now()\\\":\\\"performance.now()\\\"}function o(t){t(u=e.def(),\\\"=\\\",a(),\\\";\\\"),\\\"string\\\"==typeof i?t(f,\\\".count+=\\\",i,\\\";\\\"):t(f,\\\".count++;\\\"),d&&(n?t(c=e.def(),\\\"=\\\",g,\\\".getNumPendingQueries();\\\"):t(g,\\\".beginQuery(\\\",f,\\\");\\\"))}function s(t){t(f,\\\".cpuTime+=\\\",a(),\\\"-\\\",u,\\\";\\\"),d&&(n?t(g,\\\".pushScopeStats(\\\",c,\\\",\\\",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 u,c,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(O(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,i){function a(r,n,i){function a(){e(\\\"if(!\\\",c,\\\".buffer){\\\",l,\\\".enableVertexAttribArray(\\\",u,\\\");}\\\");var r,a=i.type;r=i.size?e.def(i.size,\\\"||\\\",n):n,e(\\\"if(\\\",c,\\\".type!==\\\",a,\\\"||\\\",c,\\\".size!==\\\",r,\\\"||\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"!==\\\"+i[t]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",h,\\\".buffer);\\\",l,\\\".vertexAttribPointer(\\\",[u,r,a,i.normalized,i.stride,i.offset],\\\");\\\",c,\\\".type=\\\",a,\\\";\\\",c,\\\".size=\\\",r,\\\";\\\",p.map(function(t){return c+\\\".\\\"+t+\\\"=\\\"+i[t]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\"),Q&&(a=i.divisor,e(\\\"if(\\\",c,\\\".divisor!==\\\",a,\\\"){\\\",t.instancing,\\\".vertexAttribDivisorANGLE(\\\",[u,a],\\\");\\\",c,\\\".divisor=\\\",a,\\\";}\\\"))}function s(){e(\\\"if(\\\",c,\\\".buffer){\\\",l,\\\".disableVertexAttribArray(\\\",u,\\\");\\\",\\\"}if(\\\",gt.map(function(t,e){return c+\\\".\\\"+t+\\\"!==\\\"+f[e]}).join(\\\"||\\\"),\\\"){\\\",l,\\\".vertexAttrib4f(\\\",u,\\\",\\\",f,\\\");\\\",gt.map(function(t,e){return c+\\\".\\\"+t+\\\"=\\\"+f[e]+\\\";\\\"}).join(\\\"\\\"),\\\"}\\\")}var l=o.gl,u=e.def(r,\\\".location\\\"),c=e.def(o.attributes,\\\"[\\\",u,\\\"]\\\");r=i.state;var h=i.buffer,f=[i.x,i.y,i.z,i.w],p=[\\\"buffer\\\",\\\"normalized\\\",\\\"offset\\\",\\\"stride\\\"];1===r?a():2===r?s():(e(\\\"if(\\\",r,\\\"===\\\",1,\\\"){\\\"),a(),e(\\\"}else{\\\"),s(),e(\\\"}\\\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(_t))return;var u=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(u,\\\".\\\",t)})}a(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,i,a){for(var s,l=t.shared,u=l.gl,c=0;c<i.length;++c){var h,f=(g=i[c]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+\\\".location\\\";if(d){if(!a(d))continue;if(O(d)){if(f=d.value,35678===p||35680===p)r(u,\\\".uniform1i(\\\",g,\\\",\\\",(p=t.link(f._texture||f.color[0]._texture))+\\\".bind());\\\"),r.exit(p,\\\".unbind();\\\");else if(35674===p||35675===p||35676===p)f=t.global.def(\\\"new Float32Array([\\\"+Array.prototype.slice.call(f)+\\\"])\\\"),d=2,35675===p?d=3:35676===p&&(d=4),r(u,\\\".uniformMatrix\\\",d,\\\"fv(\\\",g,\\\",false,\\\",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(u,\\\".uniform\\\",s,\\\"(\\\",g,\\\",\\\",m(f)?Array.prototype.slice.call(f):f,\\\");\\\")}continue}h=d.append(t,r)}else{if(!a(_t))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:r(u,\\\".uniform1i(\\\",g,\\\",\\\",p=r.def(h,\\\"._texture\\\"),\\\".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(u,\\\".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,\\\":(\\\",o(g,function(t){return v+\\\"[\\\"+t+\\\"]=\\\"+h+\\\"[\\\"+t+\\\"]\\\"}),\\\",\\\",v,\\\")\\\")}else r(1<f?o(f,function(t){return h+\\\"[\\\"+t+\\\"]\\\"}):h);r(\\\");\\\")}}function V(t,e,r,n){function i(i){var a=f[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(h,\\\".\\\",i)}function a(){function t(){r(l,\\\".drawElementsInstancedANGLE(\\\",[d,v,m,g+\\\"<<((\\\"+m+\\\"-5121)>>1)\\\",s],\\\");\\\")}function e(){r(l,\\\".drawArraysInstancedANGLE(\\\",[d,g,v,s],\\\");\\\")}p?y?t():(r(\\\"if(\\\",p,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}function o(){function t(){r(c+\\\".drawElements(\\\"+[d,v,m,g+\\\"<<((\\\"+m+\\\"-5121)>>1)\\\"]+\\\");\\\")}function e(){r(c+\\\".drawArrays(\\\"+[d,g,v]+\\\");\\\")}p?y?t():(r(\\\"if(\\\",p,\\\"){\\\"),t(),r(\\\"}else{\\\"),e(),r(\\\"}\\\")):e()}var s,l,u=t.shared,c=u.gl,h=u.draw,f=n.draw,p=function(){var i=f.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\\\".\\\",\\\"elements\\\"),i&&a(\\\"if(\\\"+i+\\\")\\\"+c+\\\".bindBuffer(34963,\\\"+i+\\\".buffer.buffer);\\\"),i}(),d=i(\\\"primitive\\\"),g=i(\\\"offset\\\"),v=function(){var i=f.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\\\".\\\",\\\"count\\\"),i}();if(\\\"number\\\"==typeof v){if(0===v)return}else r(\\\"if(\\\",v,\\\"){\\\"),r.exit(\\\"}\\\");Q&&(s=i(\\\"instances\\\"),l=t.instancing);var m=p+\\\".type\\\",y=f.elements&&O(f.elements);Q&&(\\\"number\\\"!=typeof s||0<=s)?\\\"string\\\"==typeof s?(r(\\\"if(\\\",s,\\\">0){\\\"),a(),r(\\\"}else if(\\\",s,\\\"<0){\\\"),o(),r(\\\"}\\\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\\\"body\\\",i),Q&&(e.instancing=i.def(e.shared.extensions,\\\".angle_instanced_arrays\\\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),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 i(){return!0}t.batchId=\\\"a1\\\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,\\\"for(\\\",s,\\\"=0;\\\",s,\\\"<\\\",\\\"a1\\\",\\\";++\\\",s,\\\"){\\\",l,\\\"=\\\",\\\"a0\\\",\\\"[\\\",s,\\\"];\\\",c,\\\"}\\\",u.exit),r.needsContext&&T(t,c,r.context),r.needsFramebuffer&&S(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&B(t,c,r,!1,!0),n?(N(t,u,r,n.attributes,a),N(t,c,r,n.attributes,i),j(t,u,r,n.uniforms,a),j(t,c,r,n.uniforms,i),V(t,u,c,r)):(e=t.global.def(\\\"{}\\\"),n=r.shader.progVar.append(t,c),l=c.def(n,\\\".id\\\"),u=c.def(e,\\\"[\\\",l,\\\"]\\\"),c(t.shared.gl,\\\".useProgram(\\\",n,\\\".program);\\\",\\\"if(!\\\",u,\\\"){\\\",u,\\\"=\\\",e,\\\"[\\\",l,\\\"]=\\\",t.link(function(e){return q(G,t,r,e,2)}),\\\"(\\\",n,\\\");}\\\",u,\\\".call(this,a0[\\\",s,\\\"],\\\",s,\\\");\\\"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\\\".\\\"+e,n.append(t,i))}var i=t.proc(\\\"scope\\\",3);t.batchId=\\\"a2\\\";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),I(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);m(n)?n.forEach(function(r,n){i.set(t.next[e],\\\"[\\\"+n+\\\"]\\\",r)}):i.set(a.next,\\\".\\\"+e,n)}),B(t,i,r,!0,!0),[\\\"elements\\\",\\\"offset\\\",\\\"count\\\",\\\"instances\\\",\\\"primitive\\\"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\\\".\\\"+e,\\\"\\\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\\\"[\\\"+e.id(n)+\\\"]\\\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,\\\".\\\"+t,n[t])})}),n(\\\"vert\\\"),n(\\\"frag\\\"),0<Object.keys(r.state).length&&(i(o,\\\".dirty=true;\\\"),i.exit(o,\\\".dirty=true;\\\")),i(\\\"a1(\\\",t.shared.context,\\\",a0,\\\",t.batchId,\\\");\\\")}function X(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(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,u=t.global.def(\\\"{}\\\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\\\"function\\\"==typeof r&&(r=n[e]=U.unbox(r)),e=F(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(u,\\\".\\\",e,\\\"=\\\"),typeof r){case\\\"number\\\":i(r);break;case\\\"string\\\":i('\\\"',r,'\\\"');break;case\\\"object\\\":Array.isArray(r)&&i(\\\"[\\\",r.join(),\\\"]\\\");break;default:i(t.link(r))}i(\\\";\\\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:u,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(u,\\\".\\\",r,\\\"=\\\",i,\\\";\\\"))})}}),delete e.static[r]}}var Z=c.Record,J={add:32774,subtract:32778,\\\"reverse subtract\\\":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};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:a,buffer:i,shader:h,attributes:c.state,uniforms:u,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:yt,blendFuncs:mt,blendEquations:J,stencilOps:xt,glTypes:K,orientationType:bt};$&&(st.backBuffer=[1029],st.drawBuffer=o(n.maxDrawbuffers,function(t){return 0===t?[0]:o(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var e=b(),r=e.proc(\\\"poll\\\"),i=e.proc(\\\"refresh\\\"),a=e.block();r(a),i(a);var s=e.shared,l=s.gl,u=s.next,c=s.current;a(c,\\\".dirty=false;\\\"),S(e,r),S(e,i,null,!0);var h,f=t.getExtension(\\\"angle_instanced_arrays\\\");f&&(h=e.link(f));for(var p=0;p<n.maxAttributes;++p){var d=i.def(s.attributes,\\\"[\\\",p,\\\"]\\\"),g=e.cond(d,\\\".buffer\\\");g.then(l,\\\".enableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".bindBuffer(\\\",34962,\\\",\\\",d,\\\".buffer.buffer);\\\",l,\\\".vertexAttribPointer(\\\",p,\\\",\\\",d,\\\".size,\\\",d,\\\".type,\\\",d,\\\".normalized,\\\",d,\\\".stride,\\\",d,\\\".offset);\\\").else(l,\\\".disableVertexAttribArray(\\\",p,\\\");\\\",l,\\\".vertexAttrib4f(\\\",p,\\\",\\\",d,\\\".x,\\\",d,\\\".y,\\\",d,\\\".z,\\\",d,\\\".w);\\\",d,\\\".buffer=null;\\\"),i(g),f&&i(h,\\\".vertexAttribDivisorANGLE(\\\",p,\\\",\\\",d,\\\".divisor);\\\")}return Object.keys(it).forEach(function(t){var n=it[t],o=a.def(u,\\\".\\\",t),s=e.block();s(\\\"if(\\\",o,\\\"){\\\",l,\\\".enable(\\\",n,\\\")}else{\\\",l,\\\".disable(\\\",n,\\\")}\\\",c,\\\".\\\",t,\\\"=\\\",o,\\\";\\\"),i(s),r(\\\"if(\\\",o,\\\"!==\\\",c,\\\".\\\",t,\\\"){\\\",s,\\\"}\\\")}),Object.keys(at).forEach(function(t){var n,s,h=at[t],f=tt[t],p=e.block();p(l,\\\".\\\",h,\\\"(\\\"),m(f)?(h=f.length,n=e.global.def(u,\\\".\\\",t),s=e.global.def(c,\\\".\\\",t),p(o(h,function(t){return n+\\\"[\\\"+t+\\\"]\\\"}),\\\");\\\",o(h,function(t){return s+\\\"[\\\"+t+\\\"]=\\\"+n+\\\"[\\\"+t+\\\"];\\\"}).join(\\\"\\\")),r(\\\"if(\\\",o(h,function(t){return n+\\\"[\\\"+t+\\\"]!==\\\"+s+\\\"[\\\"+t+\\\"]\\\"}).join(\\\"||\\\"),\\\"){\\\",p,\\\"}\\\")):(n=a.def(u,\\\".\\\",t),s=a.def(c,\\\".\\\",t),p(n,\\\");\\\",c,\\\".\\\",t,\\\"=\\\",n,\\\";\\\"),r(\\\"if(\\\",n,\\\"!==\\\",s,\\\"){\\\",p,\\\"}\\\")),i(p)}),e.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),vt.forEach(function(e){X(a,t,e)}),r=k(t,e,r,n),function(t,e){var r=t.proc(\\\"draw\\\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),B(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{var i=t.global.def(\\\"{}\\\"),a=r.def(n,\\\".id\\\"),o=r.def(i,\\\"[\\\",a,\\\"]\\\");r(t.cond(o).then(o,\\\".call(this,a0);\\\").else(o,\\\"=\\\",i,\\\"[\\\",a,\\\"]=\\\",t.link(function(r){return q(H,t,e,r,1)}),\\\"(\\\",n,\\\");\\\",o,\\\".call(this,a0);\\\"))}0<Object.keys(e.state).length&&r(t.shared.current,\\\".dirty=true;\\\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\\\"batch\\\",2);t.batchId=\\\"0\\\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||B(t,n,e,!1,\\\"a1\\\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\\\".useProgram(\\\",a,\\\".program);\\\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\\\"{}\\\"),l=(o=n.def(a,\\\".id\\\"),n.def(s,\\\"[\\\",o,\\\"]\\\"));n(t.cond(l).then(l,\\\".call(this,a0,a1);\\\").else(l,\\\"=\\\",s,\\\"[\\\",o,\\\"]=\\\",t.link(function(r){return q(W,t,e,r,2)}),\\\"(\\\",a,\\\");\\\",l,\\\".call(this,a0,a1);\\\"))}0<Object.keys(e.state).length&&n(t.shared.current,\\\".dirty=true;\\\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={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},q={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},H=\\\"undefined\\\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=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},W=function(t){return Object.keys(t).map(function(e){return t[e]})},Y=o(8,function(){return[]}),X={alloc:l,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(l(e),0,e);break;case 5121:r=new Uint8Array(l(e),0,e);break;case 5122:r=new Int16Array(l(2*e),0,e);break;case 5123:r=new Uint16Array(l(2*e),0,e);break;case 5124:r=new Int32Array(l(4*e),0,e);break;case 5125:r=new Uint32Array(l(4*e),0,e);break;case 5126:r=new Float32Array(l(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||X.allocType(r,i),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],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){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,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},J={\\\"[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},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\\\"line loop\\\":2,\\\"line strip\\\":3,\\\"triangle strip\\\":5,\\\"triangle fan\\\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=Object.keys(J).concat([\\\"[object HTMLCanvasElement]\\\",\\\"[object CanvasRenderingContext2D]\\\",\\\"[object HTMLImageElement]\\\",\\\"[object HTMLVideoElement]\\\"]),ut=[];ut[5121]=1,ut[5126]=4,ut[36193]=2,ut[5123]=2,ut[5125]=4;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[34041]=4,ct[33776]=.5,ct[33777]=.5,ct[33778]=1,ct[33779]=1,ct[35986]=.5,ct[35987]=1,ct[34798]=1,ct[35840]=.5,ct[35841]=.25,ct[35842]=.5,ct[35843]=.25,ct[36196]=.5;var ht=[];ht[32854]=2,ht[32855]=2,ht[36194]=2,ht[33189]=2,ht[36168]=1,ht[34041]=4,ht[35907]=4,ht[34836]=16,ht[34842]=8,ht[34843]=6;var ft=function(t,e,r,n,i){function a(t){this.id=u++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.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 c[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 u=0,c={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if(\\\"object\\\"==typeof e&&e?(\\\"shape\\\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\\\"radius\\\"in e&&(n=a=0|e.radius),\\\"width\\\"in e&&(n=0|e.width),\\\"height\\\"in e&&(a=0|e.height)),\\\"format\\\"in e&&(c=s[e.format])):\\\"number\\\"==typeof e?(n=0|e,a=\\\"number\\\"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height?o:(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o)},o._reglType=\\\"renderbuffer\\\",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){W(c).forEach(o)},restore:function(){W(c).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)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=[\\\"x\\\",\\\"y\\\",\\\"z\\\",\\\"w\\\"],vt=\\\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\\\".split(\\\" \\\"),mt={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},yt={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},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\\\"increment wrap\\\":34055,\\\"decrement wrap\\\":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),h();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}v.flush(),w&&w.update()}}function r(){!Q&&0<X.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),Z.forEach(function(t){t()})}function o(t){v.getError(),y.restore(),O.restore(),I.restore(),R.restore(),F.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=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=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,\\\"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\\\"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,u=[];return j(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(;u.length<t;)u.push(null);return u}(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;G.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\\\"depth\\\"in e&&(v.clearDepth(+e.depth),r|=256),\\\"stencil\\\"in e&&(v.clearStencil(0|e.stencil),r|=1024),v.clear(r)}function u(t){return X.push(t),r(),{cancel:function(){var e=N(X,t);X[e]=function t(){var e=N(X,t);X[e]=X[X.length-1],--X.length,0>=X.length&&n()}}}}function c(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){z.tick+=1,z.time=p(),c(),G.procs.poll()}function f(){c(),G.procs.refresh(),w&&w.update()}function p(){return(H()-M)/1e3}if(!(t=i(t)))return null;var v=t.gl,m=v.getContextAttributes();v.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={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\\\"'+a+'\\\" 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(!r(t))throw Error(\\\"(regl): error restoring extension \\\"+t)})}}}(v,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={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],u=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;if(0!==(t=a.length)){u.length=Math.max(u.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var r=u[0]=0;for(e=t=0;e<a.length;++e){var c=a[e];n.getQueryObjectEXT(c,34919)?(r+=n.getQueryObjectEXT(c,34918),i.push(c)):a[t++]=c,l[e+1]=r,u[e+1]=t}for(a.length=t,e=t=0;e<s.length;++e){var h=(r=s[e]).startQueryIndex;c=r.endQueryIndex,r.sum+=l[c]-l[h],h=u[h],(c=u[c])===h?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=h,r.endQueryIndex=c,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),M=H(),C=v.drawingBufferWidth,L=v.drawingBufferHeight,z={tick:0,time:0,viewportWidth:C,viewportHeight:L,framebufferWidth:C,framebufferHeight:L,drawingBufferWidth:C,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;return e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063)),{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:i,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)}}(v,_),I=d(v,b,t),D=g(v,_,I,b),O=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(v,_,P),S(v,x,b,t)),R=A(v,_,P,function(){G.procs.poll()},z,b,t),F=ft(v,_,0,b,t),V=k(v,_,P,R,F,b),G=B(v,x,_,P,I,D,0,V,{},C,O,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),W=(x=E(v,V,G.procs.poll,z),G.next),Y=v.canvas,X=[],Z=[],J=[],K=[t.onDestroy],Q=null;Y&&(Y.addEventListener(\\\"webglcontextlost\\\",a,!1),Y.addEventListener(\\\"webglcontextrestored\\\",o,!1));var $=V.setFBO=s({framebuffer:U.define.call(null,1,\\\"framebuffer\\\")});return f(),m=j(s,{clear:function(t){if(\\\"framebuffer\\\"in t)if(t.framebuffer&&\\\"framebufferCube\\\"===t.framebuffer_reglType)for(var e=0;6>e;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return I.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:u,on:function(t,e){var r;switch(t){case\\\"frame\\\":return u(e);case\\\"lost\\\":r=Z;break;case\\\"restore\\\":r=J;break;case\\\"destroy\\\":r=K}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:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){X.length=0,n(),Y&&(Y.removeEventListener(\\\"webglcontextlost\\\",a),Y.removeEventListener(\\\"webglcontextrestored\\\",o)),O.clear(),V.clear(),F.clear(),R.clear(),D.clear(),I.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:v,_refresh:f,poll:function(){h(),w&&w.update()},now:p,stats:b}),t.onDone(null,m),m}},\\\"object\\\"==typeof YR.exports?YR.exports=VR():jR.createREGL=VR(),YR=YR.exports;var ZR={keyFun:function(t){return t.key},repeat:XR,descend:Nt,wrap:XR,unwrap:function(t){return t[0]}},JR={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,scatter:!1,layers:[\\\"contextLineLayer\\\",\\\"focusLineLayer\\\",\\\"pickLineLayer\\\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,capturewidth:10,fillcolor:\\\"magenta\\\",fillopacity:1,strokecolor:\\\"white\\\",strokeopacity:1,strokewidth:1,handleheight:16,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\\\"}},KR=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // visible coloring\\\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\\\n}\\\\n\\\"]),QR=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 p0, p1, p2, p3,\\\\n               p4, p5, p6, p7,\\\\n               p8, p9, pa, pb,\\\\n               pc, pd, pe;\\\\n\\\\nattribute vec4 pf;\\\\n\\\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\\\n\\\\nuniform vec2 resolution,\\\\n             viewBoxPosition,\\\\n             viewBoxSize;\\\\n\\\\nuniform sampler2D palette;\\\\n\\\\nuniform vec2 colorClamp;\\\\n\\\\nuniform float scatter;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvec4 zero = vec4(0, 0, 0, 0);\\\\nvec4 unit = vec4(1, 1, 1, 1);\\\\nvec2 xyProjection = vec2(1, 1);\\\\n\\\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\\\n                clamp(m[1], lo[1], hi[1]),\\\\n                clamp(m[2], lo[2], hi[2]),\\\\n                clamp(m[3], lo[3], hi[3]));\\\\n}\\\\n\\\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\\\n    return mclamp(p, lo, hi) == p;\\\\n}\\\\n\\\\nfloat val(mat4 p, mat4 v) {\\\\n    return dot(matrixCompMult(p, v) * unit, unit);\\\\n}\\\\n\\\\nvoid main() {\\\\n\\\\n    float x = 0.5 * sign(pf[3]) + 0.5;\\\\n    float prominence = abs(pf[3]);\\\\n    float depth = 1.0 - prominence;\\\\n\\\\n    mat4 pA = mat4(p0, p1, p2, p3);\\\\n    mat4 pB = mat4(p4, p5, p6, p7);\\\\n    mat4 pC = mat4(p8, p9, pa, pb);\\\\n    mat4 pD = mat4(pc, pd, pe, abs(pf));\\\\n\\\\n    float show = float(mshow(pA, loA, hiA) &&\\\\n                       mshow(pB, loB, hiB) &&\\\\n                       mshow(pC, loC, hiC) &&\\\\n                       mshow(pD, loD, hiD));\\\\n\\\\n    vec2 yy = show * vec2(val(pA, dim2A) + val(pB, dim2B) + val(pC, dim2C) + val(pD, dim2D),\\\\n                          val(pA, dim1A) + val(pB, dim1B) + val(pC, dim1C) + val(pD, dim1D));\\\\n\\\\n    vec2 dimensionToggle = vec2(x, 1.0 - x);\\\\n\\\\n    vec2 scatterToggle = vec2(scatter, 1.0 - scatter);\\\\n\\\\n    float y = dot(yy, dimensionToggle);\\\\n    mat2 xy = mat2(viewBoxSize * yy + dimensionToggle, viewBoxSize * vec2(x, y));\\\\n\\\\n    vec2 viewBoxXY = viewBoxPosition + xy * scatterToggle;\\\\n\\\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\\\n\\\\n    gl_Position = vec4(\\\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\\\n        depthOrHide,\\\\n        1.0\\\\n    );\\\\n\\\\n    // pick coloring\\\\n    fragColor = vec4(pf.rgb, 1.0);\\\\n}\\\\n\\\"]),$R=E_([\\\"precision lowp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = fragColor;\\\\n}\\\\n\\\"]),tF=1e-6,eF=64,rF=2,nF=4,iF=[119,119,119],aF=new Uint8Array(4),oF=new Uint8Array(4);function sF(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function lF(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:aF})}(t),r.drawCompleted=!0),function s(l){var u;u=Math.min(n,i-l*n),a.offset=rF*l*n,a.count=rF*u,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sF(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function uF(t,e){return(t>>>8*e)%256/255}function cF(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<rF;a++)for(n=0;n<nF;n++)o.push(e[i*eF+r*nF+n]),r*nF+n===eF-1&&a%2==0&&(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[\\\"p\\\"+e.toString(16)]=t}),r}function hF(t,e,r){return t+e<=r}var fF=function(t,e,r){var n=e.model,i=e.viewModel,a=n.domain,o=n.lines,s=n.canvasWidth,l=n.canvasHeight,u=i.dimensions,c=i.panels,h=n.unitToColor,f=e.context,p=e.pick,d={currentRafs:{},drawCompleted:!0,clearOnly:!1},g=u.slice(),v=g.length,m=g[0]?g[0].values.length:0,y=f,x=p?o.color.map(function(t,e){return e/o.color.length}):o.color,b=Math.max(1/255,Math.pow(1/x.length,1/3)),_=o.canvasOverdrag,w=c.length,M=function(t,e,r,n){for(var i,a=[],o=0;o<t;o++)for(var s=0;s<eF;s++)a.push(s<e?r[s].paddedUnitValues[o]:s===eF-1?(i=n[o],Math.max(tF,Math.min(1-tF,i))):s>=eF-4?uF(o,eF-2-s):.5);return a}(m,v,g,x),A=cF(m,M),k=e.regl,T=k.texture({shape:[256,1],format:\\\"rgba\\\",type:\\\"uint8\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\",data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?iF:a).concat(r))}return n}(h,f,Math.round(255*(f?b:1)))}),S=k({profile:!1,blend:{enable:y,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:!y,mask:!0,func:\\\"less\\\",range:[0,1]},cull:{enable:!0,face:\\\"back\\\"},scissor:{enable:!0,box:{x:k.prop(\\\"scissorX\\\"),y:k.prop(\\\"scissorY\\\"),width:k.prop(\\\"scissorWidth\\\"),height:k.prop(\\\"scissorHeight\\\")}},viewport:{x:k.prop(\\\"viewportX\\\"),y:k.prop(\\\"viewportY\\\"),width:k.prop(\\\"viewportWidth\\\"),height:k.prop(\\\"viewportHeight\\\")},dither:!1,vert:p?QR:KR,frag:$R,primitive:\\\"lines\\\",lineWidth:1,attributes:A,uniforms:{resolution:k.prop(\\\"resolution\\\"),viewBoxPosition:k.prop(\\\"viewBoxPosition\\\"),viewBoxSize:k.prop(\\\"viewBoxSize\\\"),dim1A:k.prop(\\\"dim1A\\\"),dim2A:k.prop(\\\"dim2A\\\"),dim1B:k.prop(\\\"dim1B\\\"),dim2B:k.prop(\\\"dim2B\\\"),dim1C:k.prop(\\\"dim1C\\\"),dim2C:k.prop(\\\"dim2C\\\"),dim1D:k.prop(\\\"dim1D\\\"),dim2D:k.prop(\\\"dim2D\\\"),loA:k.prop(\\\"loA\\\"),hiA:k.prop(\\\"hiA\\\"),loB:k.prop(\\\"loB\\\"),hiB:k.prop(\\\"hiB\\\"),loC:k.prop(\\\"loC\\\"),hiC:k.prop(\\\"hiC\\\"),loD:k.prop(\\\"loD\\\"),hiD:k.prop(\\\"hiD\\\"),palette:T,colorClamp:k.prop(\\\"colorClamp\\\"),scatter:k.prop(\\\"scatter\\\")},offset:k.prop(\\\"offset\\\"),count:k.prop(\\\"count\\\")}),E=[0,1];var C=[];function L(t,e,r,i,o,u,c,h,p,d,v){var m,y,x,b,M=[t,e],A=JR.verticalPadding/u,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),T=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(m=0;m<2;m++)for(b=M[m],y=0;y<4;y++)for(x=0;x<16;x++){var S=x+16*y;k[m][y][x]=x+16*y===b?1:0,T[m][y][x]=(!f&&hF(x,16*y,w)?g[0===S?0:1+(S-1)%(g.length-1)].filter[m]:m)+(2*m-1)*A}return{key:c,resolution:[s,l],viewBoxPosition:[r+_,i],viewBoxSize:[o,u],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:T[0][0],loB:T[0][1],loC:T[0][2],loD:T[0][3],hiA:T[1][0],hiB:T[1][1],hiC:T[1][2],hiD:T[1][3],colorClamp:E,scatter:h||0,scissorX:(p===d?0:r+_)+(n.pad.l-_)+n.layoutWidth*a.x[0],scissorWidth:(p===v?s-r+_:o+.5)+(p===d?r+_:0),scissorY:i+n.pad.b+n.layoutHeight*a.y[0],scissorHeight:u,viewportX:n.pad.l-_+n.layoutWidth*a.x[0],viewportY:n.pad.b+n.layoutHeight*a.y[0],viewportWidth:s,viewportHeight:l}}return{setColorDomain:function(t){E[0]=t[0],E[1]=t[1]},render:function(t,e,n){var i,a,u,c=1/0,h=-1/0;for(i=0;i<w;i++)t[i].dim2.canvasX>h&&(h=t[i].dim2.canvasX,u=i),t[i].dim1.canvasX<c&&(c=t[i].dim1.canvasX,a=i);for(0===w&&sF(k,0,0,s,l),i=0;i<w;i++){var f=t[i],p=f.dim1,g=p.crossfilterDimensionIndex,v=f.canvasX,y=f.canvasY,x=f.dim2.crossfilterDimensionIndex,b=f.panelSizeX,_=f.panelSizeY,M=v+b;if(e||!C[g]||C[g][0]!==v||C[g][1]!==M){C[g]=[v,M];var A=L(g,x,v,y,b,_,p.crossfilterDimensionIndex,r||p.scatter?1:0,i,a,u);d.clearOnly=n,lF(k,S,d,e?o.blockLineCount:m,m,A)}}},readPixel:function(t,e){return k.read({x:t,y:e,width:1,height:1,data:oF}),oF},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return k.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[\\\"pointer-events\\\"]=\\\"none\\\",T.destroy()}}},pF=ZR.keyFun,dF=ZR.repeat,gF=ZR.unwrap;function vF(t){return!(\\\"visible\\\"in t)||t.visible}function mF(t){var e=t.range?t.range[0]:ne.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:ne.aggNums(Math.max,null,t.values,t._length);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(void 0===e?(e=0,r=1):0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function yF(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];r<n.length;r++){if((o=Math.abs(n[r]-e))>i)return a;i=o,a=n[r]}return n[n.length-1]}function xF(t){return e.scale.linear().domain(mF(t))}function bF(t,r,n){var i=gF(r),a=i.trace,o=i.lineColor,s=i.cscale,l=a.line,u=a.domain,c=a.dimensions,h=t.width,f=a.labelfont,p=a.tickfont,d=a.rangefont,g=ne.extendDeep({},l,{color:o.map(xF({values:o,range:[l.cmin,l.cmax],_length:a._commonLength})),blockLineCount:JR.blockLineCount,canvasOverdrag:JR.overdrag*JR.canvasPixelRatio}),v=Math.floor(h*(u.x[1]-u.x[0])),m=Math.floor(t.height*(u.y[1]-u.y[0])),y=t.margin||{l:80,r:80,t:100,b:80},x=v,b=m;return{key:n,colCount:c.filter(vF).length,dimensions:c,tickDistance:JR.tickDistance,unitToColor:function(t){var r=t.map(function(t){return t[0]}),n=t.map(function(t){return t[1]}).map(function(t){return e.rgb(t)}),i=\\\"rgb\\\".split(\\\"\\\").map(function(t){return e.scale.linear().clamp(!0).domain(r).range(n.map((i=t,function(t){return t[i]})));var i});return function(t){return i.map(function(e){return e(t)})}}(s),lines:g,labelFont:f,tickFont:p,rangeFont:d,layoutWidth:h,layoutHeight:t.height,domain:u,translateX:u.x[0]*h,translateY:t.height-u.y[1]*t.height,pad:y,canvasWidth:x*JR.canvasPixelRatio+2*g.canvasOverdrag,canvasHeight:b*JR.canvasPixelRatio,width:x,height:b,canvasPixelRatio:JR.canvasPixelRatio}}function _F(t){var r=t.width,n=t.height,i=t.dimensions,a=t.canvasPixelRatio,o=function(e){return r*e/Math.max(1,t.colCount-1)},s=JR.verticalPadding/(n*a),l=1-2*s,u=function(t){return s+l*t},c={key:t.key,xScale:o,model:t},h={};return c.dimensions=i.filter(vF).map(function(r,i){var s=xF(r),l=h[r.label];h[r.label]=(l||0)+1;var f=r.label+(l?\\\"__\\\"+l:\\\"\\\"),p=r.values;return p.length>r._length&&(p=p.slice(0,r._length)),{key:f,label:r.label,tickFormat:r.tickformat,tickvals:r.tickvals,ticktext:r.ticktext,ordinal:!!r.tickvals,scatter:JR.scatter||r.scatter,xIndex:i,crossfilterDimensionIndex:i,visibleIndex:r._index,height:n,values:p,paddedUnitValues:p.map(s).map(u),xScale:o,x:o(i),canvasX:o(i)*a,unitScale:function(t,r){return e.scale.linear().range([t-r,r])}(n,JR.verticalPadding),domainScale:function(t,r,n){var i=mF(n),a=n.ticktext;return n.tickvals?e.scale.ordinal().domain(n.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(e.format(n.tickformat),a))).range(n.tickvals.map(function(t){return(t-i[0])/(i[1]-i[0])}).map(function(e){return t-r+e*(r-(t-r))})):e.scale.linear().domain(i).range([t-r,r])}(n,JR.verticalPadding,r),ordinalScale:function(t){var r=mF(t);return t.tickvals&&e.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-r[0])/(r[1]-r[0])}))}(r),domainToUnitScale:s,filter:r.constraintrange?r.constraintrange.map(s):[0,1],parent:c,model:t}}),c}function wF(t){t.classed(JR.cn.axisExtentText,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"user-select\\\",\\\"none\\\")}var MF={};(function(t){\\\"use strict\\\";MF=function(r,n){var i=r._fullLayout,a=i._toppaper,o=(i._paperdiv,i._glcontainer);i._glcanvas.each(function(e){e.regl||(e.regl=YR({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:r._context.plotGlPixelRatio||t.devicePixelRatio}))});var s={},l={},u=i._size;n.forEach(function(t,e){s[e]=r.data[e].dimensions,l[e]=r.data[e].dimensions.slice()});!function(t,r,n,i,a,o){var s=!1,l=!0;var u=i.filter(function(t){return gF(t).trace.visible}).map(bF.bind(0,a)).map(_F);n.each(function(t,e){return ne.extendFlat(t,u[e])});var c=n.selectAll(\\\".gl-canvas\\\").each(function(t){t.viewModel=u[0],t.model=t.viewModel?t.viewModel.model:null}),h={renderers:[],dimensions:[]},f=null;c.filter(function(t){return t.pick}).style(\\\"pointer-events\\\",\\\"auto\\\").on(\\\"mousemove\\\",function(t){if(l&&t.lineLayer&&o&&o.hover){var r=e.event,n=this.width,i=this.height,a=e.mouse(this),s=a[0],u=a[1];if(s<0||u<0||s>=n||u>=i)return;var c=t.lineLayer.readPixel(s,i-1-u),h=0!==c[3],p=h?c[2]+256*(c[1]+256*c[0]):null,d={x:s,y:u,clientX:r.clientX,clientY:r.clientY,dataIndex:t.model.key,curveNumber:p};p!==f&&(h?o.hover(d):o.unhover&&o.unhover(d),f=p)}}),c.style(\\\"opacity\\\",function(t){return t.pick?.01:1}),r.style(\\\"background\\\",\\\"rgba(255, 255, 255, 0)\\\");var p=r.selectAll(\\\".\\\"+JR.cn.parcoords).data(u,pF);p.exit().remove(),p.enter().append(\\\"g\\\").classed(JR.cn.parcoords,!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\\\",\\\"none\\\").call(function(t){var e=t.selectAll(\\\"defs\\\").data(dF,pF);e.enter().append(\\\"defs\\\");var r=e.selectAll(\\\"#\\\"+JR.id.filterBarPattern).data(dF,pF);r.enter().append(\\\"pattern\\\").attr(\\\"id\\\",JR.id.filterBarPattern).attr(\\\"patternUnits\\\",\\\"userSpaceOnUse\\\"),r.attr(\\\"x\\\",-JR.bar.width).attr(\\\"width\\\",JR.bar.capturewidth).attr(\\\"height\\\",function(t){return t.model.height});var n=r.selectAll(\\\"rect\\\").data(dF,pF);n.enter().append(\\\"rect\\\").attr(\\\"shape-rendering\\\",\\\"crispEdges\\\"),n.attr(\\\"height\\\",function(t){return t.model.height}).attr(\\\"width\\\",JR.bar.width).attr(\\\"x\\\",JR.bar.width/2).attr(\\\"fill\\\",JR.bar.fillcolor).attr(\\\"fill-opacity\\\",JR.bar.fillopacity).attr(\\\"stroke\\\",JR.bar.strokecolor).attr(\\\"stroke-opacity\\\",JR.bar.strokeopacity).attr(\\\"stroke-width\\\",JR.bar.strokewidth)}),p.attr(\\\"width\\\",function(t){return t.model.width+t.model.pad.l+t.model.pad.r}).attr(\\\"height\\\",function(t){return t.model.height+t.model.pad.t+t.model.pad.b}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.translateX+\\\",\\\"+t.model.translateY+\\\")\\\"});var d=p.selectAll(\\\".\\\"+JR.cn.parcoordsControlView).data(dF,pF);d.enter().append(\\\"g\\\").classed(JR.cn.parcoordsControlView,!0).style(\\\"box-sizing\\\",\\\"content-box\\\"),d.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.model.pad.l+\\\",\\\"+t.model.pad.t+\\\")\\\"});var g=d.selectAll(\\\".\\\"+JR.cn.yAxis).data(function(t){return t.dimensions},pF);function v(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function m(t,e){return(JR.scatter?function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=i,o=0;o<i;o++)for(var s=0;s<i;s++){var l=r[s+o*i]||(r[s+o*i]={}),u=n[s],c=n[s+1];l.dim1=n[o+1],l.dim2=c,l.canvasX=u.canvasX,l.panelSizeX=c.canvasX-u.canvasX,l.panelSizeY=e.model.canvasHeight/a,l.y=o*l.panelSizeY,l.canvasY=e.model.canvasHeight-l.y-l.panelSizeY}}:function(t,e){for(var r=e.panels||(e.panels=[]),n=t.each(function(t){return t})[e.key].map(function(t){return t.__data__}),i=n.length-1,a=0;a<1;a++)for(var o=0;o<i;o++){var s=r[o+a*i]||(r[o+a*i]={}),l=n[o],u=n[o+1];s.dim1=l,s.dim2=u,s.canvasX=l.canvasX,s.panelSizeX=u.canvasX-l.canvasX,s.panelSizeY=e.model.canvasHeight/1,s.y=a*s.panelSizeY,s.canvasY=e.model.canvasHeight-s.y-s.panelSizeY}})(t,e)}g.enter().append(\\\"g\\\").classed(JR.cn.yAxis,!0).each(function(t){h.dimensions.push(t)}),d.each(function(t){m(g,t)}),c.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=fF(this,t,JR.scatter),t.viewModel[t.key]=t.lineLayer,h.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),g.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),g.call(e.behavior.drag().origin(function(t){return t}).on(\\\"drag\\\",function(t){var r=t.parent;l=!1,s||(t.x=Math.max(-JR.overdrag,Math.min(t.model.width+JR.overdrag,e.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,g.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}),m(g,r),g.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.xScale(t.xIndex)+\\\", 0)\\\"}),e.select(this).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\", 0)\\\"),g.each(function(e,n,i){i===t.parent.key&&(r.dimensions[n]=e)}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer.render&&r.focusLayer.render(r.panels))}).on(\\\"dragend\\\",function(t){var r=t.parent;s?\\\"ending\\\"===s&&(s=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,m(g,r),e.select(this).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\", 0)\\\"}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer&&r.focusLayer.render(r.panels),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,o&&o.axesMoved&&o.axesMoved(r.key,r.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),g.exit().remove();var y=g.selectAll(\\\".\\\"+JR.cn.axisOverlays).data(dF,pF);y.enter().append(\\\"g\\\").classed(JR.cn.axisOverlays,!0),y.selectAll(\\\".\\\"+JR.cn.axis).remove();var x=y.selectAll(\\\".\\\"+JR.cn.axis).data(dF,pF);x.enter().append(\\\"g\\\").classed(JR.cn.axis,!0),x.each(function(t){var r=t.model.height/t.model.tickDistance,n=t.domainScale,i=n.domain();e.select(this).call(e.svg.axis().orient(\\\"left\\\").tickSize(4).outerTickSize(2).ticks(r,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat(t.ordinal?function(t){return t}:null).scale(n)),Sr.font(x.selectAll(\\\"text\\\"),t.model.tickFont)}),x.selectAll(\\\".domain, .tick>line\\\").attr(\\\"fill\\\",\\\"none\\\").attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-opacity\\\",.25).attr(\\\"stroke-width\\\",\\\"1px\\\"),x.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 b=y.selectAll(\\\".\\\"+JR.cn.axisHeading).data(dF,pF);b.enter().append(\\\"g\\\").classed(JR.cn.axisHeading,!0);var _=b.selectAll(\\\".\\\"+JR.cn.axisTitle).data(dF,pF);_.enter().append(\\\"text\\\").classed(JR.cn.axisTitle,!0).attr(\\\"text-anchor\\\",\\\"middle\\\").style(\\\"cursor\\\",\\\"ew-resize\\\").style(\\\"user-select\\\",\\\"none\\\").style(\\\"pointer-events\\\",\\\"auto\\\"),_.attr(\\\"transform\\\",\\\"translate(0,\\\"+-JR.axisTitleOffset+\\\")\\\").text(function(t){return t.label}).each(function(t){Sr.font(_,t.model.labelFont)});var w=y.selectAll(\\\".\\\"+JR.cn.axisExtent).data(dF,pF);w.enter().append(\\\"g\\\").classed(JR.cn.axisExtent,!0);var M=w.selectAll(\\\".\\\"+JR.cn.axisExtentTop).data(dF,pF);M.enter().append(\\\"g\\\").classed(JR.cn.axisExtentTop,!0),M.attr(\\\"transform\\\",\\\"translate(0,\\\"+-JR.axisExtentOffset+\\\")\\\");var A=M.selectAll(\\\".\\\"+JR.cn.axisExtentTopText).data(dF,pF);function k(t){return t.ordinal?function(){return\\\"\\\"}:e.format(t.tickFormat)}A.enter().append(\\\"text\\\").classed(JR.cn.axisExtentTopText,!0).call(wF),A.text(function(t){return k(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){Sr.font(A,t.model.rangeFont)});var T=w.selectAll(\\\".\\\"+JR.cn.axisExtentBottom).data(dF,pF);T.enter().append(\\\"g\\\").classed(JR.cn.axisExtentBottom,!0),T.attr(\\\"transform\\\",function(t){return\\\"translate(0,\\\"+(t.model.height+JR.axisExtentOffset)+\\\")\\\"});var S=T.selectAll(\\\".\\\"+JR.cn.axisExtentBottomText).data(dF,pF);S.enter().append(\\\"text\\\").classed(JR.cn.axisExtentBottomText,!0).attr(\\\"dy\\\",\\\"0.75em\\\").call(wF),S.text(function(t){return k(t)(t.domainScale.domain()[0])}).each(function(t){Sr.font(S,t.model.rangeFont)});var E=y.selectAll(\\\".\\\"+JR.cn.axisBrush).data(dF,pF),C=E.enter().append(\\\"g\\\").classed(JR.cn.axisBrush,!0);E.each(function(t){t.brush||(t.brush=e.svg.brush().y(t.unitScale).on(\\\"brushstart\\\",P).on(\\\"brush\\\",I).on(\\\"brushend\\\",D),0===t.filter[0]&&1===t.filter[1]||t.brush.extent(t.filter),e.select(this).call(t.brush))}),C.selectAll(\\\"rect\\\").attr(\\\"x\\\",-JR.bar.capturewidth/2).attr(\\\"width\\\",JR.bar.capturewidth),C.selectAll(\\\"rect.extent\\\").attr(\\\"fill\\\",\\\"url(#\\\"+JR.id.filterBarPattern+\\\")\\\").style(\\\"cursor\\\",\\\"ns-resize\\\").filter(function(t){return 0===t.filter[0]&&1===t.filter[1]}).attr(\\\"y\\\",-100),C.selectAll(\\\".resize rect\\\").attr(\\\"height\\\",JR.bar.handleheight).attr(\\\"opacity\\\",0).style(\\\"visibility\\\",\\\"visible\\\"),C.selectAll(\\\".resize.n rect\\\").style(\\\"cursor\\\",\\\"n-resize\\\").attr(\\\"y\\\",JR.bar.handleoverlap-JR.bar.handleheight),C.selectAll(\\\".resize.s rect\\\").style(\\\"cursor\\\",\\\"s-resize\\\").attr(\\\"y\\\",JR.bar.handleoverlap);var L=!1,z=!1;function P(){L=!0,s=!0}function I(t){l=!1;var r=t.parent,n=t.brush.extent(),i=r.dimensions,a=i[t.xIndex].filter,o=L&&n[0]===n[1];o&&(t.brush.clear(),e.select(this).select(\\\"rect.extent\\\").attr(\\\"y\\\",-100));var s=o?[0,1]:n.slice();if(s[0]!==a[0]||s[1]!==a[1]){i[t.xIndex].filter=s,r.focusLayer&&r.focusLayer.render(r.panels,!0);var u=v(r);!z&&u?(r.contextLayer&&r.contextLayer.render(r.panels,!0),z=!0):z&&!u&&(r.contextLayer&&r.contextLayer.render(r.panels,!0,!0),z=!1)}L=!1}function D(t){var r=t.parent,n=t.brush.extent(),i=n[0]===n[1],a=r.dimensions[t.xIndex].filter;if(!i&&t.ordinal&&(a[0]=yF(t.ordinalScale,a[0]),a[1]=yF(t.ordinalScale,a[1]),a[0]===a[1]&&(a[0]=Math.max(0,a[0]-.05),a[1]=Math.min(1,a[1]+.05)),e.select(this).transition().duration(150).call(t.brush.extent(a)),r.focusLayer.render(r.panels,!0)),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,s=\\\"ending\\\",o&&o.filterChanged){var u=t.domainToUnitScale.invert,c=a.map(u);o.filterChanged(r.key,t.visibleIndex,c)}}}(0,a,o,n,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(t,e,n){var i=l[t][e],a=i.constraintrange;a&&2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],r.emit(\\\"plotly_restyle\\\")},hover:function(t){r.emit(\\\"plotly_hover\\\",t)},unhover:function(t){r.emit(\\\"plotly_unhover\\\",t)},axesMoved:function(t,e){function n(t){return!(\\\"visible\\\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(r,n){return i(e,t,r)-i(e,t,n)}}(l[t].filter(n));s[t].sort(a),l[t].filter(function(t){return!n(t)}).sort(function(e){return l[t].indexOf(e)}).forEach(function(e){s[t].splice(s[t].indexOf(e),1),s[t].splice(l[t].indexOf(e),0,e)}),r.emit(\\\"plotly_restyle\\\")}})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var AF={},kF=sa.getModuleCalcData;AF.name=\\\"parcoords\\\",AF.plot=function(t){var e=kF(t.calcdata,\\\"parcoords\\\");e.length&&MF(t,e)},AF.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"parcoords\\\"),a=e._has&&e._has(\\\"parcoords\\\");i&&!a&&(n._paperdiv.selectAll(\\\".parcoords\\\").remove(),n._glimages.selectAll(\\\"*\\\").remove())},AF.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\\\".svg-container\\\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\\\".gl-canvas-context, .gl-canvas-focus\\\").each(function(){var t=this.toDataURL(\\\"image/png\\\");r.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":t,preserveAspectRatio:\\\"none\\\",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){e.selectAll(\\\"#filterBarPattern\\\").attr(\\\"id\\\",\\\"filterBarPattern\\\")},60)};var TF=ZR.wrap;var SF=JR.maxDimensionCount,EF=qc.defaults;var CF={};CF.attributes=WR,CF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,WR,r,n)}var a=function(t,e){var r,n,i,a=t.dimensions||[],o=e.dimensions=[],s=1/0;function l(t,e){return ne.coerce(r,n,WR.dimensions,t,e)}for(a.length>SF&&(ne.log(\\\"parcoords traces support up to \\\"+SF+\\\" dimensions at the moment\\\"),a.splice(SF)),i=0;i<a.length;i++)if(r=a[i],n={},ne.isPlainObject(r)){var u=l(\\\"values\\\"),c=l(\\\"visible\\\");u&&u.length||(c=n.visible=!1),c&&(l(\\\"label\\\"),l(\\\"tickvals\\\"),l(\\\"ticktext\\\"),l(\\\"tickformat\\\"),l(\\\"range\\\"),l(\\\"constraintrange\\\"),s=Math.min(s,u.length)),n._index=i,o.push(n)}return e._commonLength=s,o}(t,e);!function(t,e,r,n,i){var a=i(\\\"line.color\\\",r);Xe(t,\\\"line\\\")&&ne.isArrayOrTypedArray(a)&&(a.length?(i(\\\"line.colorscale\\\"),Ye(t,e,n,i,{prefix:\\\"line.\\\",cLetter:\\\"c\\\"}),e._commonLength=Math.min(e._commonLength,a.length)):e.line.color=r)}(t,e,r,n,i),EF(e,n,i),Array.isArray(a)&&a.length||(e.visible=!1);for(var o=0;o<a.length;o++)a[o].visible&&(a[o]._length=e._commonLength);var s={family:n.font.family,size:Math.round(n.font.size/1.2),color:n.font.color};ne.coerceFont(i,\\\"labelfont\\\",s),ne.coerceFont(i,\\\"tickfont\\\",s),ne.coerceFont(i,\\\"rangefont\\\",s)},CF.calc=function(t,e){var r=!!e.line.colorscale&&ne.isArrayOrTypedArray(e.line.color),n=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._commonLength),i=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return Xe(e,\\\"line\\\")&&Ve(e,n,\\\"line\\\",\\\"c\\\"),TF({lineColor:n,cscale:i})},CF.plot=MF,CF.colorbar=function(t,e){var n=e[0].trace,i=n.line,a=\\\"cb\\\"+n.uid;if(t._fullLayout._infolayer.selectAll(\\\".\\\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},CF.moduleType=\\\"trace\\\",CF.name=\\\"parcoords\\\",CF.basePlotModule=AF,CF.categories=[\\\"gl\\\",\\\"regl\\\",\\\"noOpacity\\\"],CF.meta={};var LF=CF,zF=qc.attributes,PF=m.extendFlat,IF=T({editType:\\\"calc\\\",colorEditType:\\\"style\\\"}),DF={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:C.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:\\\"calc\\\"},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:PF({},E.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),textposition:{valType:\\\"enumerated\\\",values:[\\\"inside\\\",\\\"outside\\\",\\\"auto\\\",\\\"none\\\"],dflt:\\\"auto\\\",arrayOk:!0,editType:\\\"calc\\\"},textfont:PF({},IF,{}),insidetextfont:PF({},IF,{}),outsidetextfont:PF({},IF,{}),domain:zF({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\\\"}},OF={};OF.name=\\\"pie\\\",OF.plot=function(t){var e=P.getModule(\\\"pie\\\"),r=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&!0===a.visible&&r.push(i)}return r}(t.calcdata,e);r.length&&e.plot(t,r)},OF.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"pie\\\"),a=e._has&&e._has(\\\"pie\\\");i&&!a&&n._pielayer.selectAll(\\\"g.trace\\\").remove()};var RF,FF=ne.isArrayOrTypedArray;function BF(t,e){if(!RF){var r=Oe.defaults;RF=NF(r)}var n=e||RF;return n[t%n.length]}function NF(t){var e,r=t.slice();for(e=0;e<t.length;e++)r.push(s(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)r.push(s(t[e]).darken(20).toHexString());return r}var jF=qc.defaults,VF={hiddenlabels:{valType:\\\"data_array\\\",editType:\\\"calc\\\"}},UF=Ya.appendArrayMultiPointValues,qF=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,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),UF(r,e,t.pts),r};function HF(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function GF(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}var WF={};WF.attributes=DF,WF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,DF,r,n)}var a=ne.coerceFont,o=i(\\\"values\\\"),s=i(\\\"labels\\\");if(!Array.isArray(s)){if(!ne.isArrayOrTypedArray(o)||!o.length)return void(e.visible=!1);i(\\\"label0\\\"),i(\\\"dlabel\\\")}i(\\\"marker.line.width\\\")&&i(\\\"marker.line.color\\\"),i(\\\"marker.colors\\\"),i(\\\"scalegroup\\\");var l=i(\\\"text\\\"),u=i(\\\"textinfo\\\",Array.isArray(l)?\\\"text+percent\\\":\\\"percent\\\");if(i(\\\"hovertext\\\"),u&&\\\"none\\\"!==u){var c=i(\\\"textposition\\\"),h=Array.isArray(c)||\\\"auto\\\"===c,f=h||\\\"inside\\\"===c,p=h||\\\"outside\\\"===c;if(f||p){var d=a(i,\\\"textfont\\\",n.font);f&&a(i,\\\"insidetextfont\\\",d),p&&a(i,\\\"outsidetextfont\\\",d)}}jF(e,n,i),i(\\\"hole\\\"),i(\\\"sort\\\"),i(\\\"direction\\\"),i(\\\"rotation\\\"),i(\\\"pull\\\")},WF.supplyLayoutDefaults=function(t,e){var r,n;r=\\\"hiddenlabels\\\",ne.coerce(t,e,VF,r,n)},WF.layoutAttributes=VF,WF.calc=function(t,e){var n,i,a,o,l,u=e.values,c=FF(u)&&u.length,h=e.labels,f=e.marker.colors||[],p=[],d=t._fullLayout,g=d.colorway,v=d._piecolormap,m={},y=0,x=d.hiddenlabels||[];if(d._piecolorway||g===Oe.defaults||(d._piecolorway=NF(g)),e.dlabel)for(h=new Array(u.length),n=0;n<u.length;n++)h[n]=String(e.label0+n*e.dlabel);function b(t,e){return!!t&&!!(t=s(t)).isValid()&&(t=Oe.addOpacity(t,t.getAlpha()),v[e]||(v[e]=t),t)}var _=(c?u:h).length;for(n=0;n<_;n++){if(c){if(i=u[n],!r(i))continue;if((i=+i)<0)continue}else i=1;void 0!==(a=h[n])&&\\\"\\\"!==a||(a=n);var w=m[a=String(a)];void 0===w?(m[a]=p.length,(o=-1!==x.indexOf(a))||(y+=i),p.push({v:i,label:a,color:b(f[n]),i:n,pts:[n],hidden:o})):((l=p[w]).v+=i,l.pts.push(n),l.hidden||(y+=i),!1===l.color&&f[n]&&(l.color=b(f[n],a)))}for(e.sort&&p.sort(function(t,e){return e.v-t.v}),n=0;n<p.length;n++)!1===(l=p[n]).color&&(v[l.label]?l.color=v[l.label]:(v[l.label]=l.color=BF(d._piedefaultcolorcount,d._piecolorway),d._piedefaultcolorcount++));if(p[0]&&(p[0].vTotal=y),e.textinfo&&\\\"none\\\"!==e.textinfo){var M,A=-1!==e.textinfo.indexOf(\\\"label\\\"),k=-1!==e.textinfo.indexOf(\\\"text\\\"),T=-1!==e.textinfo.indexOf(\\\"value\\\"),S=-1!==e.textinfo.indexOf(\\\"percent\\\"),E=d.separators;for(n=0;n<p.length;n++){if(l=p[n],M=A?[l.label]:[],k){var C=Gd.getFirstFilled(e.text,l.pts);C&&M.push(C)}T&&M.push(Gd.formatPieValue(l.v,E)),S&&M.push(Gd.formatPiePercent(l.v/y,E)),l.text=M.join(\\\"<br>\\\")}}return p},WF.plot=function(t,r){var n=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,u,c,h=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===h.indexOf(s.scalegroup)&&h.push(s.scalegroup)}for(a=0;a<h.length;a++){for(c=1/0,u=h[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(c=Math.min(c,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(o.r=Math.sqrt(c*o.vTotal))}}(r,n._size);var i=n._pielayer.selectAll(\\\"g.trace\\\").data(r);i.enter().append(\\\"g\\\").attr({\\\"stroke-linejoin\\\":\\\"round\\\",class:\\\"trace\\\"}),i.exit().remove(),i.order(),i.each(function(r){var i=e.select(this),a=r[0],o=a.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\\\"px0\\\",u=\\\"px1\\\";if(\\\"counterclockwise\\\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\\\"px1\\\",u=\\\"px0\\\"}function c(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=c(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=c(o),r.midangle=o,o+=s*r.v/2,n=c(o),r[u]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(r),i.each(function(){var i=e.select(this).selectAll(\\\"g.slice\\\").data(r);i.enter().append(\\\"g\\\").classed(\\\"slice\\\",!0),i.exit().remove();var s=[[[],[]],[[],[]]],l=!1;i.each(function(r){if(r.hidden)e.select(this).selectAll(\\\"path,g\\\").remove();else{r.pointNumber=r.i,r.curveNumber=o.index,s[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var i=a.cx,u=a.cy,c=e.select(this),h=c.selectAll(\\\"path.surface\\\").data([r]),f=!1,p=!1;if(h.enter().append(\\\"path\\\").classed(\\\"surface\\\",!0).style({\\\"pointer-events\\\":\\\"all\\\"}),c.select(\\\"path.textline\\\").remove(),c.on(\\\"mouseover\\\",function(){var s=t._fullLayout,l=t._fullData[o.index];if(!t._dragging&&!1!==s.hovermode){var c=l.hoverinfo;if(Array.isArray(c)&&(c=yo.castHoverinfo({hoverinfo:[Gd.castOption(c,r.pts)],_module:o._module},s,0)),\\\"all\\\"===c&&(c=\\\"label+text+value+percent+name\\\"),\\\"none\\\"!==c&&\\\"skip\\\"!==c&&c){var h=HF(r,a),d=i+r.pxmid[0]*(1-h),g=u+r.pxmid[1]*(1-h),v=n.separators,m=[];if(-1!==c.indexOf(\\\"label\\\")&&m.push(r.label),-1!==c.indexOf(\\\"text\\\")){var y=Gd.castOption(l.hovertext||l.text,r.pts);y&&m.push(y)}-1!==c.indexOf(\\\"value\\\")&&m.push(Gd.formatPieValue(r.v,v)),-1!==c.indexOf(\\\"percent\\\")&&m.push(Gd.formatPiePercent(r.v/a.vTotal,v));var x=o.hoverlabel,b=x.font;yo.loneHover({x0:d-h*a.r,x1:d+h*a.r,y:g,text:m.join(\\\"<br>\\\"),name:-1!==c.indexOf(\\\"name\\\")?l.name:void 0,idealAlign:r.pxmid[0]<0?\\\"left\\\":\\\"right\\\",color:Gd.castOption(x.bgcolor,r.pts)||r.color,borderColor:Gd.castOption(x.bordercolor,r.pts),fontFamily:Gd.castOption(b.family,r.pts),fontSize:Gd.castOption(b.size,r.pts),fontColor:Gd.castOption(b.color,r.pts)},{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:t}),f=!0}t.emit(\\\"plotly_hover\\\",{points:[qF(r,l)],event:e.event}),p=!0}}).on(\\\"mouseout\\\",function(n){var i=t._fullLayout,a=t._fullData[o.index];p&&(n.originalEvent=e.event,t.emit(\\\"plotly_unhover\\\",{points:[qF(r,a)],event:e.event}),p=!1),f&&(yo.loneUnhover(i._hoverlayer.node()),f=!1)}).on(\\\"click\\\",function(){var n=t._fullLayout,i=t._fullData[o.index];t._dragging||!1===n.hovermode||(t._hoverdata=[qF(r,i)],yo.click(t,e.event))}),o.pull){var d=+Gd.castOption(o.pull,r.pts)||0;d>0&&(i+=d*r.pxmid[0],u+=d*r.pxmid[1])}r.cxFinal=i,r.cyFinal=u;var g=o.hole;if(r.v===a.vTotal){var v=\\\"M\\\"+(i+r.px0[0])+\\\",\\\"+(u+r.px0[1])+_(r.px0,r.pxmid,!0,1)+_(r.pxmid,r.px0,!0,1)+\\\"Z\\\";g?h.attr(\\\"d\\\",\\\"M\\\"+(i+g*r.px0[0])+\\\",\\\"+(u+g*r.px0[1])+_(r.px0,r.pxmid,!1,g)+_(r.pxmid,r.px0,!1,g)+\\\"Z\\\"+v):h.attr(\\\"d\\\",v)}else{var m=_(r.px0,r.px1,!0,1);if(g){var y=1-g;h.attr(\\\"d\\\",\\\"M\\\"+(i+g*r.px1[0])+\\\",\\\"+(u+g*r.px1[1])+_(r.px1,r.px0,!1,g)+\\\"l\\\"+y*r.px0[0]+\\\",\\\"+y*r.px0[1]+m+\\\"Z\\\")}else h.attr(\\\"d\\\",\\\"M\\\"+i+\\\",\\\"+u+\\\"l\\\"+r.px0[0]+\\\",\\\"+r.px0[1]+m+\\\"Z\\\")}var x=Gd.castOption(o.textposition,r.pts),b=c.selectAll(\\\"g.slicetext\\\").data(r.text&&\\\"none\\\"!==x?[0]:[]);b.enter().append(\\\"g\\\").classed(\\\"slicetext\\\",!0),b.exit().remove(),b.each(function(){var n=e.select(this).selectAll(\\\"text\\\").data([0]);n.enter().append(\\\"text\\\").attr(\\\"data-notex\\\",1),n.exit().remove(),n.text(r.text).attr({class:\\\"slicetext\\\",transform:\\\"\\\",\\\"text-anchor\\\":\\\"middle\\\"}).call(Sr.font,\\\"outside\\\"===x?o.outsidetextfont:o.insidetextfont).call(er.convertToTspans,t);var s,c=Sr.bBox(n.node());\\\"outside\\\"===x?s=GF(c,r):(s=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=HF(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var u=i+1/(2*Math.tan(a)),c=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*c/t.height,rCenter:Math.cos(c/r.r)-c*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},f=1/i,p=f+1/(2*Math.tan(a)),d=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),o/(Math.sqrt(f*f+o/2)+f)),g={scale:2*d/t.width,rCenter:Math.cos(d/r.r)-d/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale>h.scale?g:h;return l.scale<1&&v.scale>l.scale?v:l}(c,r,a),\\\"auto\\\"===x&&s.scale<1&&(n.call(Sr.font,o.outsidetextfont),o.outsidetextfont.family===o.insidetextfont.family&&o.outsidetextfont.size===o.insidetextfont.size||(c=Sr.bBox(n.node())),s=GF(c,r)));var h=i+r.pxmid[0]*s.rCenter+(s.x||0),f=u+r.pxmid[1]*s.rCenter+(s.y||0);s.outside&&(r.yLabelMin=f-c.height/2,r.yLabelMid=f,r.yLabelMax=f+c.height/2,r.labelExtraX=0,r.labelExtraY=0,l=!0),n.attr(\\\"transform\\\",\\\"translate(\\\"+h+\\\",\\\"+f+\\\")\\\"+(s.scale<1?\\\"scale(\\\"+s.scale+\\\")\\\":\\\"\\\")+(s.rotate?\\\"rotate(\\\"+s.rotate+\\\")\\\":\\\"\\\")+\\\"translate(\\\"+-(c.left+c.right)/2+\\\",\\\"+-(c.top+c.bottom)/2+\\\")\\\")})}function _(t,e,n,i){return\\\"a\\\"+i*a.r+\\\",\\\"+i*a.r+\\\" 0 \\\"+r.largeArc+(n?\\\" 1 \\\":\\\" 0 \\\")+i*(e[0]-t[0])+\\\",\\\"+i*(e[1]-t[1])}}),l&&function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d;function g(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,f,p,d,g=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),x=g-v;if(x*l>0&&(t.labelExtraY=x),Array.isArray(e.pull))for(u=0;u<h.length;u++)(c=h[u])===t||(Gd.castOption(e.pull,t.pts)||0)>=(Gd.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(f=c.cyFinal+o(c.px0[1],c.px1[1]),(x=f-v-t.labelExtraY)*l>0&&(t.labelExtraY+=x)):(m+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),p=c.cxFinal+a(c.px0[0],c.px1[0]),(d=p+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=d)))}for(n=0;n<2;n++)for(i=n?g:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),c=t[1-n][r],h=c.concat(u),p=[],f=0;f<u.length;f++)void 0!==u[f].yLabelMid&&p.push(u[f]);for(d=!1,f=0;n&&f<c.length;f++)if(void 0!==c[f].yLabelMid){d=c[f];break}for(f=0;f<p.length;f++){var y=f&&p[f-1];d&&!f&&(y=d),m(p[f],y)}}}(s,o),i.each(function(t){if(t.labelExtraX||t.labelExtraY){var r=e.select(this),n=r.select(\\\"g.slicetext text\\\");n.attr(\\\"transform\\\",\\\"translate(\\\"+t.labelExtraX+\\\",\\\"+t.labelExtraY+\\\")\\\"+n.attr(\\\"transform\\\"));var i=t.cxFinal+t.pxmid[0],a=\\\"M\\\"+i+\\\",\\\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],u=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(u)?a+=\\\"l\\\"+u*t.pxmid[0]/t.pxmid[1]+\\\",\\\"+u+\\\"H\\\"+(i+t.labelExtraX+s):a+=\\\"l\\\"+t.labelExtraX+\\\",\\\"+l+\\\"v\\\"+(u-l)+\\\"h\\\"+s}else a+=\\\"V\\\"+(t.yLabelMid+t.labelExtraY)+\\\"h\\\"+s;r.append(\\\"path\\\").classed(\\\"textline\\\",!0).call(Oe.stroke,o.outsidetextfont.color).attr({\\\"stroke-width\\\":Math.min(2,o.outsidetextfont.size/8),d:a,fill:\\\"none\\\"})}})})}),setTimeout(function(){i.selectAll(\\\"tspan\\\").each(function(){var t=e.select(this);t.attr(\\\"dy\\\")&&t.attr(\\\"dy\\\",t.attr(\\\"dy\\\"))})},0)},WF.style=function(t){t._fullLayout._pielayer.selectAll(\\\".trace\\\").each(function(t){var r=t[0].trace,n=e.select(this);n.style({opacity:r.opacity}),n.selectAll(\\\"path.surface\\\").each(function(t){e.select(this).call(Yd,t,r)})})},WF.styleOne=Yd,WF.moduleType=\\\"trace\\\",WF.name=\\\"pie\\\",WF.basePlotModule=OF,WF.categories=[\\\"pie\\\",\\\"showLegend\\\"],WF.meta={};var YF=WF,XF={x:Zr.x,y:Zr.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:Zr.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\\\"}},ZF={};ZF.pointVertex=E_([\\\"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}\\\"]),ZF.pointFragment=E_([\\\"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\\\"]),ZF.pickVertex=E_([\\\"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\\\"]),ZF.pickFragment=E_([\\\"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\\\"]);var JF=function(t,e){var r=t.gl,n=S_(r),i=S_(r),a=Bw(r,ZF.pointVertex,ZF.pointFragment),o=Bw(r,ZF.pickVertex,ZF.pickFragment),s=new KF(t,n,i,a,o);return s.update(e),t.addObject(s),s};function KF(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,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}var QF=KF.prototype;QF.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},QF.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,i=t.positions instanceof Float32Array,a=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,o=t.positions,s=i?o:__.mallocFloat32(o.length),l=a?t.idToIndex:__.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),e=0;e<n;e++)l[e]=e;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(l),i||__.free(s),a||__.free(l),this.pointCount=n,this.pickOffset=0},QF.unifiedDraw=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=void 0!==r,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],u=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,o),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(u,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=c<5,i.uniforms.pointSize=c,i.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),n&&(e[0]=255&r,e[1]=r>>8&255,e[2]=r>>16&255,e[3]=r>>24&255,this.pickBuffer.bind(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var h=a.getParameter(a.BLEND),f=a.getParameter(a.DITHER);return h&&!this.blend&&a.disable(a.BLEND),f&&a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),h&&!this.blend&&a.enable(a.BLEND),f&&a.enable(a.DITHER),r+this.pointCount}}(),QF.draw=QF.unifiedDraw,QF.drawPick=QF.unifiedDraw,QF.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}};var $F=jn;function tB(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=JF(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var eB=tB.prototype;eB.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}},eB.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=mx(t,{})},eB.updateFast=function(t){var e,r,n,i,a,o,s=this.xData=this.pickXData=t.x,l=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,c=t.xbounds&&t.ybounds,h=t.indices,f=this.bounds;if(u){if(n=u,e=u.length>>>1,c)f[0]=t.xbounds[0],f[2]=t.xbounds[1],f[1]=t.ybounds[0],f[3]=t.ybounds[1];else for(o=0;o<e;o++)i=n[2*o],a=n[2*o+1],i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);if(h)r=h;else for(r=new Int32Array(e),o=0;o<e;o++)r[o]=o}else for(e=s.length,n=new Float32Array(2*e),r=new Int32Array(e),o=0;o<e;o++)i=s[o],a=l[o],r[o]=o,n[2*o]=i,n[2*o+1]=a,i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=WC(t.marker.color),d=WC(t.marker.border.color),g=t.opacity*t.marker.opacity;p[3]*=g,this.pointcloudOptions.color=p;var v=t.marker.blend;if(null===v){v=s.length<100||l.length<100}this.pointcloudOptions.blend=v,d[3]*=g,this.pointcloudOptions.borderColor=d;var m=t.marker.sizemin,y=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=m,this.pointcloudOptions.sizeMax=y,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(f,y/2)},eB.expandAxesFast=function(t,e){var r=e||.5;$F(this.scene.xaxis,[t[0],t[2]],{ppad:r}),$F(this.scene.yaxis,[t[1],t[3]],{ppad:r})},eB.dispose=function(){this.pointcloud.dispose()};var rB=function(t,e){var r=new tB(t,e.uid);return r.update(e),r},nB=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return dh(r,e),ex(e),r},iB={};iB.attributes=XF,iB.supplyDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,XF,r,n)}n(\\\"x\\\"),n(\\\"y\\\"),n(\\\"xbounds\\\"),n(\\\"ybounds\\\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),n(\\\"text\\\"),n(\\\"marker.color\\\",r),n(\\\"marker.opacity\\\"),n(\\\"marker.blend\\\"),n(\\\"marker.sizemin\\\"),n(\\\"marker.sizemax\\\"),n(\\\"marker.border.color\\\",r),n(\\\"marker.border.arearatio\\\")},iB.calc=nB,iB.plot=rB,iB.moduleType=\\\"trace\\\",iB.name=\\\"pointcloud\\\",iB.basePlotModule=sL,iB.categories=[\\\"gl\\\",\\\"gl2d\\\",\\\"showLegend\\\"],iB.meta={};var aB=iB,oB=qc.attributes,sB=m.extendFlat,lB=(0,ye.overrideAll)({hoverinfo:sB({},E.hoverinfo,{flags:[\\\"label\\\",\\\"text\\\",\\\"value\\\",\\\"percent\\\",\\\"name\\\"]}),hoverlabel:S.hoverlabel,domain:oB({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:T({}),node:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:C.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}},link:{label:{valType:\\\"data_array\\\",dflt:[]},color:{valType:\\\"color\\\",arrayOk:!0},line:{color:{valType:\\\"color\\\",dflt:C.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:[]}}},\\\"calc\\\",\\\"nested\\\"),uB={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\\\"cubic-in-out\\\",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\\\"}},cB={exports:{}};!function(t,e){\\\"object\\\"==typeof cB.exports?e(cB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,u=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(u+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(u+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return u/(a-1)},u=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},c=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},h=Array.prototype,f=h.slice,p=h.map,d=function(t){return function(){return t}},g=function(t){return t},v=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=m?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=m?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=m?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},M=function(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,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},k=function(t){if(!(i=t.length))return[];for(var e=-1,r=A(t,T),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,u=e.length,c=new Array(l*u);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<u;++i,++a)c[a]=r(s,e[i]);return c},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=u,t.extent=c,t.histogram=function(){var t=g,e=c,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var u=e(l),c=u[0],h=u[1],f=r(l,c,h);Array.isArray(f)||(f=_(c,h,f),f=v(Math.ceil(c/f)*f,Math.floor(h/f)*f,f));for(var p=f.length;f[0]<=c;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?f[a-1]:c,d.x1=a<p?f[a]:h;for(a=0;a<s;++a)c<=(o=l[a])&&o<=h&&g[i(f,o,0,p)].push(n[a]);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*(M(t,.75)-M(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*u(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return M(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=M,t.range=v,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=k,t.variance=l,t.zip=function(){return k(arguments)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),cB=cB.exports;var hB={exports:{}};!function(t,e){\\\"object\\\"==typeof hB.exports?e(hB.exports):e(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 i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}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)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function u(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=u.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=[],u=[];function c(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,u,h,f=-1,p=n.length,d=l[i++],g=r(),v=a();++f<p;)(h=g.get(s=d(u=n[f])+\\\"\\\"))?h.push(u):g.set(s,[u]);return g.each(function(t,e){o(v,e,c(t,i,a,o))}),v}return s={object:function(t){return c(t,0,n,i)},map:function(t){return c(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=u[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(c(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return u[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=u,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})}),hB=hB.exports;var fB={exports:{}};!function(t,e){\\\"object\\\"==typeof fB.exports?e(fB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e=function(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 i=\\\"\\\\\\\\s*([+-]?\\\\\\\\d+)\\\\\\\\s*\\\",a=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)\\\\\\\\s*\\\",o=\\\"\\\\\\\\s*([+-]?\\\\\\\\d*\\\\\\\\.?\\\\\\\\d+(?:[eE][+-]?\\\\\\\\d+)?)%\\\\\\\\s*\\\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,u=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[i,i,i]+\\\"\\\\\\\\)$\\\"),c=new RegExp(\\\"^rgb\\\\\\\\(\\\"+[o,o,o]+\\\"\\\\\\\\)$\\\"),h=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[i,i,i,a]+\\\"\\\\\\\\)$\\\"),f=new RegExp(\\\"^rgba\\\\\\\\(\\\"+[o,o,o,a]+\\\"\\\\\\\\)$\\\"),p=new RegExp(\\\"^hsl\\\\\\\\(\\\"+[a,o,o]+\\\"\\\\\\\\)$\\\"),d=new RegExp(\\\"^hsla\\\\\\\\(\\\"+[a,o,o,a]+\\\"\\\\\\\\)$\\\"),g={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 v(t){var e;return t=(t+\\\"\\\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=u.exec(t))?new _(e[1],e[2],e[3],1):(e=c.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):\\\"transparent\\\"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function M(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,u=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=u<.5?o+a:2-o-a,s*=60):l=u>0&&u<1?0:s,new A(s,l,u,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function k(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,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\\\"\\\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){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+\\\")\\\")}})),e(A,M,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(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,i=2*r-n;return new _(k(t>=240?t-240:t+120,i,n),k(t,i,n),k(t<120?t+240:t-120,i,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}}));var T=Math.PI/180,S=180/Math.PI,E=.95047,C=1,L=1.08883,z=4/29,P=6/29,I=3*P*P,D=P*P*P;function O(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=B((.4124564*r+.3575761*n+.1804375*i)/E),o=B((.2126729*r+.7151522*n+.072175*i)/C);return new F(116*o-16,500*(a-o),200*(o-B((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?O(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>D?Math.pow(t,1/3):t/I+z}function N(t){return t>P?t*t*t:I*(t-z)}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,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof F||(t=O(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}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 t=C*N(t),new _(j(3.2404542*(e=E*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return O(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=M,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),fB=fB.exports;var pB={exports:{}};!function(t,e){\\\"object\\\"==typeof pB.exports?e(pB.exports,fB):e(t.d3=t.d3||{},t.d3)}(this,function(t,e){\\\"use strict\\\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(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):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?u: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):a(isNaN(e)?r:e)}}function u(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var c=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=u(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\\\"\\\"}}return i.gamma=t,i}(1);function h(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\\\"\\\"}}}var f=h(n),p=h(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=k(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},v=function(t,e){return e-=t=+t,function(r){return t+e*r}},m=function(t,e){var r,n={},i={};for(r in null!==t&&\\\"object\\\"==typeof t||(t={}),null!==e&&\\\"object\\\"==typeof e||(e={}),e)r in t?n[r]=k(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\\\d+\\\\.?\\\\d*|\\\\.?\\\\d+)(?:[eE][-+]?\\\\d+)?/g,x=new RegExp(y.source,\\\"g\\\");var b,_,w,M,A=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\\\"\\\",e+=\\\"\\\";(r=y.exec(t))&&(n=x.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:v(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),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(\\\"\\\")})},k=function(t,r){var n,i=typeof r;return null==r||\\\"boolean\\\"===i?a(r):(\\\"number\\\"===i?v:\\\"string\\\"===i?(n=e.color(r))?(r=n,c):A:r instanceof e.color?c:r instanceof Date?g:Array.isArray(r)?d:\\\"function\\\"!=typeof r.valueOf&&\\\"function\\\"!=typeof r.toString||isNaN(r)?m:v)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},E=function(t,e,r,n,i,a){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:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function C(t,e,r,n){function i(t){return t.length?t.pop()+\\\" \\\":\\\"\\\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\\\"translate(\\\",null,e,null,r);s.push({i:l-4,x:v(t,i)},{i:l-2,x:v(n,a)})}else(i||a)&&o.push(\\\"translate(\\\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\\\"rotate(\\\",null,n)-2,x:v(t,e)})):e&&r.push(i(r)+\\\"rotate(\\\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\\\"skewX(\\\",null,n)-2,x:v(t,e)}):e&&r.push(i(r)+\\\"skewX(\\\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\\\"scale(\\\",null,\\\",\\\",null,\\\")\\\");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||a.push(i(a)+\\\"scale(\\\"+r+\\\",\\\"+n+\\\")\\\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=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 L=C(function(t){return\\\"none\\\"===t?S:(b||(b=document.createElement(\\\"DIV\\\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\\\"transform\\\"),_.removeChild(b),t=t.slice(7,-1).split(\\\",\\\"),E(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\\\"px, \\\",\\\"px)\\\",\\\"deg)\\\"),z=C(function(t){return null==t?S:(M||(M=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),M.setAttribute(\\\"transform\\\",t),(t=M.transform.baseVal.consolidate())?(t=t.matrix,E(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\\\", \\\",\\\")\\\",\\\")\\\"),P=Math.SQRT2;function I(t){return((t=Math.exp(t))+1/t)/2}function D(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=u(r.s,n.s),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var O=D(s),R=D(u);function F(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=u(r.c,n.c),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\\\"\\\"}}}var B=F(s),N=F(u);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=u(r.s,i.s),s=u(r.l,i.l),l=u(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\\\"\\\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(u);t.interpolate=k,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=v,t.interpolateObject=m,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=A,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,h=l-a,f=c*c+h*h;if(f<1e-12)n=Math.log(u/o)/P,r=function(t){return[i+t*c,a+t*h,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/P,r=function(t){var e,r=t*n,s=I(v),l=o/(2*p)*(s*(e=P*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/I(P*r+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=c,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateHsl=O,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=u((t=e.lab(t)).l,(r=e.lab(r)).l),i=u(t.a,r.a),a=u(t.b,r.b),o=u(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\\\"\\\"}},t.interpolateHcl=B,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,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})}),pB=pB.exports;var dB={exports:{}};!function(t,e){\\\"object\\\"==typeof dB.exports?e(dB.exports,cB,hB,pB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3)}(this,function(t,e,r,n){\\\"use strict\\\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function u(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function c(t){return t.y+t.dy/2}function h(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\\\"number\\\"==typeof r&&(r=t.source=s[t.source]),\\\"number\\\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,h)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var u=1;t>0;--t)p(u*=.99),d(),f(u),d();function f(t){function r(t){return c(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,h);n.y+=(i-c(n))*t}})})}function p(t){function r(t){return c(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,h);n.y+=(i-c(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),u(),t},t.relayout=function(){return u(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,u=l+e.dy,c=e.target.y+e.ty,h=c+e.dy;return\\\"M\\\"+r+\\\",\\\"+l+\\\"C\\\"+o+\\\",\\\"+l+\\\" \\\"+s+\\\",\\\"+c+\\\" \\\"+i+\\\",\\\"+c+\\\"L\\\"+i+\\\",\\\"+h+\\\"C\\\"+s+\\\",\\\"+h+\\\" \\\"+o+\\\",\\\"+u+\\\" \\\"+r+\\\",\\\"+u+\\\"Z\\\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),dB=dB.exports;var gB={exports:{}};!function(t,e){\\\"object\\\"==typeof gB.exports?e(gB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\\\"\\\")||t in i)throw new Error(\\\"illegal type: \\\"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+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,o=this._,s=(n=o,(t+\\\"\\\").trim().split(/^|\\\\s+/).map(function(t){var e=\\\"\\\",r=t.indexOf(\\\".\\\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);return{type:t,name:e}})),l=-1,u=s.length;if(!(arguments.length<2)){if(null!=e&&\\\"function\\\"!=typeof e)throw new Error(\\\"invalid callback: \\\"+e);for(;++l<u;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<u;)if((r=(t=s[l]).type)&&(r=i(o[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,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\\\"unknown type: \\\"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),gB=gB.exports;var vB={exports:{}};!function(t,e){\\\"object\\\"==typeof vB.exports?e(vB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,u,c,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o,i=p,!(p=p[h=c<<1|u]))return i[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,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o}while((h=c<<1|u)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,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=a.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 i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=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,i,a,o=t.length,s=new Array(o),l=new Array(o),u=1/0,c=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<u&&(u=i),i>h&&(h=i),a<c&&(c=a),a>f&&(f=a));for(h<u&&(u=this._x0,h=this._x1),f<c&&(c=this._y0,f=this._y1),this.cover(u,c).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,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,u=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,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 i,a,o,s,l,u,c,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);u=g.pop();)if(!(!(v=u.node)||(a=u.x0)>p||(o=u.y0)>d||(s=u.x1)<h||(l=u.y1)<f))if(v.length){var m=(a+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],a,y,m,l),new r(v[1],m,o,s,y),new r(v[0],a,o,m,y)),(c=(e>=y)<<1|t>=m)&&(u=g[g.length-1],g[g.length-1]=g[g.length-1-c],g[g.length-1-c]=u)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,i=v.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,u,c,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((u=a>=(s=(d+v)/2))?d=s:v=s,(c=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=c<<1|u]))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(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i: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=i,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,i,a,o,s,l=[],u=this._root;for(u&&l.push(new r(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&u.length){var c=(i+o)/2,h=(a+s)/2;(n=u[3])&&l.push(new r(n,c,h,o,s)),(n=u[2])&&l.push(new r(n,i,h,c,s)),(n=u[1])&&l.push(new r(n,c,a,o,h)),(n=u[0])&&l.push(new r(n,i,a,c,h))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,u=e.x1,c=e.y1,h=(s+u)/2,f=(l+c)/2;(o=a[0])&&n.push(new r(o,s,l,h,f)),(o=a[1])&&n.push(new r(o,h,l,u,f)),(o=a[2])&&n.push(new r(o,s,f,h,c)),(o=a[3])&&n.push(new r(o,h,f,u,c))}i.push(e)}for(;e=i.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=a,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),vB=vB.exports;var mB={exports:{}};!function(t,e){\\\"object\\\"==typeof mB.exports?e(mB.exports):e(t.d3=t.d3||{})}(this,function(t){\\\"use strict\\\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,u=0,c=\\\"object\\\"==typeof performance&&performance.now?performance:Date,h=\\\"object\\\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=c.now()+u)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=c.now())+u,n=i=0;try{v()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=c.now(),e=t-s;e>o&&(u-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(m,t-c.now()-u)),a&&(a=clearInterval(a))):(a||(s=c.now(),a=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\\\"function\\\"!=typeof t)throw new TypeError(\\\"callback is not a function\\\");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),mB=mB.exports;var yB={exports:{}};!function(t,e){\\\"object\\\"==typeof yB.exports?e(yB.exports,vB,hB,gB,mB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3)}(this,function(t,e,r,n,i){\\\"use strict\\\";var a=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function u(t){return t.index}function c(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=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.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,i=1,u=1;function c(){for(var t,a,c,f,p,d,g,v=r.length,m=0;m<u;++m)for(a=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)c=r[t],d=n[c.index],g=d*d,f=c.x+c.vx,p=c.y+c.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,u=d+l;if(!s)return e>f+u||n<f-u||r>p+u||a<p-u;if(s.index>c.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<u*u&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(u-(m=Math.sqrt(m)))/m*i,c.vx+=(h*=m)*(u=(l*=l)/(g+l)),c.vy+=(v*=m)*u,s.vx-=h*(u=1-u),s.vy-=v*u)}}}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,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?1:+t)),c.initialize=function(t){r=t,f()},c.iterations=function(t){return arguments.length?(u=+t,c):u},c.strength=function(t){return arguments.length?(i=+t,c):i},c.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),f(),c):t},c},t.forceLink=function(t){var e,n,i,s,l,h=u,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,u,c,h,f,p,g,v=0;v<a;++v)u=(s=t[v]).source,h=(c=s.target).x+c.vx-u.x-u.vx||o(),f=c.y+c.vy-u.y-u.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,c.vx-=h*(g=l[v]),c.vy-=f*g,u.vx+=h*(g=1-g),u.vy+=f*g}function v(){if(i){var a,o,u=i.length,f=t.length,p=r.map(i,h);for(a=0,s=new Array(u);a<f;++a)(o=t[a]).index=a,\\\"object\\\"!=typeof o.source&&(o.source=c(p,o.source)),\\\"object\\\"!=typeof o.target&&(o.target=c(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(f);a<f;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(i)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){i=t,v()},g.links=function(e){return arguments.length?(t=e,v(),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:a(+t),m(),g):f},g.distance=function(t){return arguments.length?(p=\\\"function\\\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,u=1/0,c=.81;function p(i){var a,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,a,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/c<d)return d<u&&(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>=u)){(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=i[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:a(+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?(u=t*t,p):Math.sqrt(u)},p.theta=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],u=l.x-e||1e-6,c=l.y-r||1e-6,h=Math.sqrt(u*u+c*c),f=(o[a]-h)*i[a]*t/h;l.vx+=u*f,l.vy+=c*f}}function u(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\\\"function\\\"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,u()},l.strength=function(t){return arguments.length?(s=\\\"function\\\"==typeof t?t:a(+t),u(),l):s},l.radius=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),u(),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,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,u=.6,c=r.map(),h=i.timer(g),f=n.dispatch(\\\"tick\\\",\\\"end\\\");function g(){v(),f.call(\\\"tick\\\",e),a<o&&(h.stop(),f.call(\\\"end\\\",e))}function v(){var e,r,n=t.length;for(a+=(l-a)*s,c.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=u:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=u:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),c.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},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?(u=1-t,e):1-u},force:function(t,r){return arguments.length>1?(null==r?c.remove(t):c.set(t,y(r)),e):c.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)(o=(i=e-(s=t[u]).x)*i+(a=r-s.y)*a)<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,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\\\"function\\\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\\\"function\\\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\\\"function\\\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}),yB=yB.exports;var xB=dB.sankey,bB=ZR.keyFun,_B=ZR.repeat,wB=ZR.unwrap;function MB(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function AB(t){return function(e){return e.node.originalX===t.node.originalX}}function kB(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function TB(t){t.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.node.x.toFixed(3)+\\\", \\\"+(t.node.y-t.node.dy/2).toFixed(3)+\\\")\\\"})}function SB(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return kB(e),r}function EB(t){t.call(TB)}function CB(t,e){t.call(EB),e.attr(\\\"d\\\",SB)}function LB(t){t.attr(\\\"width\\\",function(t){return t.visibleWidth}).attr(\\\"height\\\",function(t){return t.visibleHeight})}function zB(t){return t.link.dy>1||t.linkLineWidth>0}function PB(t){return\\\"translate(\\\"+t.translateX+\\\",\\\"+t.translateY+\\\")\\\"+(t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\")}function IB(t){return\\\"translate(\\\"+(t.horizontal?0:t.labelY)+\\\" \\\"+(t.horizontal?t.labelY:0)+\\\")\\\"}function DB(t){return e.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+uB.nodeTextOffsetHorizontal:uB.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-uB.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-uB.nodeTextOffsetHorizontal,0]])}function OB(t){return t.horizontal?\\\"matrix(1 0 0 1 0 0)\\\":\\\"matrix(0 1 1 0 0 0)\\\"}function RB(t){return t.horizontal?\\\"scale(1 1)\\\":\\\"scale(-1 1)\\\"}function FB(t){return t.darkBackground&&!t.horizontal?\\\"rgb(255,255,255)\\\":\\\"rgb(0,0,0)\\\"}function BB(t){return t.horizontal&&t.left?\\\"100%\\\":\\\"0%\\\"}function NB(t,e,r){t.on(\\\".basic\\\",null).on(\\\"mouseover.basic\\\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\\\"mousemove.basic\\\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\\\"mouseout.basic\\\",function(t){t.interactionState.dragInProgress||(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||r.select(this,t,e)})}function jB(t,r,n){var i=e.behavior.drag().origin(function(t){return t.node}).on(\\\"dragstart\\\",function(e){if(\\\"fixed\\\"!==e.arrangement&&(ne.raiseToTop(this),e.interactionState.dragInProgress=e.node,MB(e.node),e.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,e.interactionState.hovered),e.interactionState.hovered=!1),\\\"snap\\\"===e.arrangement)){var i=e.traceId+\\\"|\\\"+Math.floor(e.node.originalX);e.forceLayouts[i]?e.forceLayouts[i].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=yB.forceSimulation(n).alphaDecay(0).force(\\\"collide\\\",yB.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(uB.forceIterations)).force(\\\"constrain\\\",function(t,e,r,n){return function(){for(var t=0,i=0;i<r.length;i++){var a=r[i];a===n.interactionState.dragInProgress?(a.x=a.lastDraggedX,a.y=a.lastDraggedY):(a.vx=(a.originalX-a.x)/uB.forceTicksPerFrame,a.y=Math.min(n.size-a.dy/2,Math.max(a.dy/2,a.y))),t=Math.max(t,Math.abs(a.vx),Math.abs(a.vy))}!n.interactionState.dragInProgress&&t<.1&&n.forceLayouts[e].alpha()>0&&n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,i,e),function(t,e,r,n){window.requestAnimationFrame(function i(){for(var a=0;a<uB.forceTicksPerFrame;a++)r.forceLayouts[n].tick();r.sankey.relayout(),CB(t.filter(AB(r)),e),r.forceLayouts[n].alpha()>0&&window.requestAnimationFrame(i)})}(t,r,e,i)}}).on(\\\"drag\\\",function(n){if(\\\"fixed\\\"!==n.arrangement){var i=e.event.x,a=e.event.y;\\\"snap\\\"===n.arrangement?(n.node.x=i,n.node.y=a):(\\\"freeform\\\"===n.arrangement&&(n.node.x=i),n.node.y=Math.max(n.node.dy/2,Math.min(n.size-n.node.dy/2,a))),MB(n.node),\\\"snap\\\"!==n.arrangement&&(n.sankey.relayout(),CB(t.filter(AB(n)),r))}}).on(\\\"dragend\\\",function(t){t.interactionState.dragInProgress=!1});t.on(\\\".drag\\\",null).call(i)}var VB=function(t,e,r,n){var i=t.selectAll(\\\".\\\"+uB.cn.sankey).data(e.filter(function(t){return wB(t).trace.visible}).map(function(t,e,r){for(var n,i=wB(e).trace,a=i.domain,o=i.node,s=i.link,l=i.arrangement,u=\\\"h\\\"===i.orientation,c=i.node.pad,h=i.node.thickness,f=i.node.line.color,p=i.node.line.width,d=i.link.line.color,g=i.link.line.width,v=i.valueformat,m=i.valuesuffix,y=i.textfont,x=t.width*(a.x[1]-a.x[0]),b=t.height*(a.y[1]-a.y[0]),_=o.label.map(function(t,e){return{pointNumber:e,label:t,color:ne.isArrayOrTypedArray(o.color)?o.color[e]:o.color}}),w=s.value.map(function(t,e){return{pointNumber:e,label:s.label[e],color:ne.isArrayOrTypedArray(s.color)?s.color[e]:s.color,source:s.source[e],target:s.target[e],value:t}}),M=xB().size(u?[x,b]:[b,x]).nodeWidth(h).nodePadding(c).nodes(_).links(w).layout(uB.sankeyIterations),A=M.nodes(),k=0;k<A.length;k++)(n=A[k]).width=x,n.height=b;return kB(_),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:x,height:b,nodePad:c,nodeLineColor:f,nodeLineWidth:p,linkLineColor:d,linkLineWidth:g,valueFormat:v,valueSuffix:m,textFont:y,translateX:a.x[0]*x+t.margin.l,translateY:t.height-a.y[1]*t.height+t.margin.t,dragParallel:u?b:x,dragPerpendicular:u?x:b,nodes:_,links:w,arrangement:l,sankey:M,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),bB);i.exit().remove(),i.enter().append(\\\"g\\\").classed(uB.cn.sankey,!0).style(\\\"box-sizing\\\",\\\"content-box\\\").style(\\\"position\\\",\\\"absolute\\\").style(\\\"left\\\",0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\").style(\\\"pointer-events\\\",\\\"auto\\\").style(\\\"box-sizing\\\",\\\"content-box\\\").attr(\\\"transform\\\",PB),i.transition().ease(uB.ease).duration(uB.duration).attr(\\\"transform\\\",PB);var a=i.selectAll(\\\".\\\"+uB.cn.sankeyLinks).data(_B,bB);a.enter().append(\\\"g\\\").classed(uB.cn.sankeyLinks,!0).style(\\\"fill\\\",\\\"none\\\");var o=a.selectAll(\\\".\\\"+uB.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=r.source.label+\\\"|\\\"+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+\\\"__\\\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},bB);o.enter().append(\\\"path\\\").classed(uB.cn.sankeyLink,!0).attr(\\\"d\\\",SB).call(NB,i,n.linkEvents),o.style(\\\"stroke\\\",function(t){return zB(t)?Oe.tinyRGB(s(t.linkLineColor)):t.tinyColorHue}).style(\\\"stroke-opacity\\\",function(t){return zB(t)?Oe.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\\\"stroke-width\\\",function(t){return zB(t)?t.linkLineWidth:1}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),o.transition().ease(uB.ease).duration(uB.duration).attr(\\\"d\\\",SB),o.exit().transition().ease(uB.ease).duration(uB.duration).style(\\\"opacity\\\",0).remove();var l=i.selectAll(\\\".\\\"+uB.cn.sankeyNodeSet).data(_B,bB);l.enter().append(\\\"g\\\").classed(uB.cn.sankeyNodeSet,!0),l.style(\\\"cursor\\\",function(t){switch(t.arrangement){case\\\"fixed\\\":return\\\"default\\\";case\\\"perpendicular\\\":return\\\"ns-resize\\\";default:return\\\"move\\\"}});var u=l.selectAll(\\\".\\\"+uB.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);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.filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=uB.nodePadAcross,a=e.nodePad/2,o=r.dx,l=Math.max(.5,r.dy),u=r.label,c=t[u];t[u]=(c||0)+1;var h=u+\\\"__\\\"+t[u];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:h,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:l,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:l+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()<=128,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,h].join(\\\" \\\"),interactionState:e.interactionState}}.bind(null,{},t))},bB);u.enter().append(\\\"g\\\").classed(uB.cn.sankeyNode,!0).call(TB).call(NB,i,n.nodeEvents),u.call(jB,o,n),u.transition().ease(uB.ease).duration(uB.duration).call(TB),u.exit().transition().ease(uB.ease).duration(uB.duration).style(\\\"opacity\\\",0).remove();var c=u.selectAll(\\\".\\\"+uB.cn.nodeRect).data(_B);c.enter().append(\\\"rect\\\").classed(uB.cn.nodeRect,!0).call(LB),c.style(\\\"stroke-width\\\",function(t){return t.nodeLineWidth}).style(\\\"stroke\\\",function(t){return Oe.tinyRGB(s(t.nodeLineColor))}).style(\\\"stroke-opacity\\\",function(t){return Oe.opacity(t.nodeLineColor)}).style(\\\"fill\\\",function(t){return t.tinyColorHue}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),c.transition().ease(uB.ease).duration(uB.duration).call(LB);var h=u.selectAll(\\\".\\\"+uB.cn.nodeCapture).data(_B);h.enter().append(\\\"rect\\\").classed(uB.cn.nodeCapture,!0).style(\\\"fill-opacity\\\",0),h.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 f=u.selectAll(\\\".\\\"+uB.cn.nodeCentered).data(_B);f.enter().append(\\\"g\\\").classed(uB.cn.nodeCentered,!0).attr(\\\"transform\\\",IB),f.transition().ease(uB.ease).duration(uB.duration).attr(\\\"transform\\\",IB);var p=f.selectAll(\\\".\\\"+uB.cn.nodeLabelGuide).data(_B);p.enter().append(\\\"path\\\").classed(uB.cn.nodeLabelGuide,!0).attr(\\\"id\\\",function(t){return t.uniqueNodeLabelPathId}).attr(\\\"d\\\",DB).attr(\\\"transform\\\",OB),p.transition().ease(uB.ease).duration(uB.duration).attr(\\\"d\\\",DB).attr(\\\"transform\\\",OB);var d=f.selectAll(\\\".\\\"+uB.cn.nodeLabel).data(_B);d.enter().append(\\\"text\\\").classed(uB.cn.nodeLabel,!0).attr(\\\"transform\\\",RB).style(\\\"user-select\\\",\\\"none\\\").style(\\\"cursor\\\",\\\"default\\\").style(\\\"fill\\\",\\\"black\\\"),d.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){Sr.font(d,t.textFont)}),d.transition().ease(uB.ease).duration(uB.duration).attr(\\\"transform\\\",RB);var g=d.selectAll(\\\".\\\"+uB.cn.nodeLabelTextPath).data(_B);g.enter().append(\\\"textPath\\\").classed(uB.cn.nodeLabelTextPath,!0).attr(\\\"alignment-baseline\\\",\\\"middle\\\").attr(\\\"xlink:href\\\",function(t){return\\\"#\\\"+t.uniqueNodeLabelPathId}).attr(\\\"startOffset\\\",BB).style(\\\"fill\\\",FB),g.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\\\"}),g.transition().ease(uB.ease).duration(uB.duration).attr(\\\"startOffset\\\",BB).style(\\\"fill\\\",FB)},UB=uB.cn,qB=ne._;function HB(t){return\\\"\\\"!==t}function GB(t,e){return t.filter(function(t){return t.key===e.traceId})}function WB(t,r){e.select(t).select(\\\"path\\\").style(\\\"fill-opacity\\\",r),e.select(t).select(\\\"rect\\\").style(\\\"fill-opacity\\\",r)}function YB(t){e.select(t).select(\\\"text.name\\\").style(\\\"fill\\\",\\\"black\\\")}function XB(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function ZB(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function JB(t,e,r){e&&r&&GB(r,e).selectAll(\\\".\\\"+UB.sankeyLink).filter(XB(e)).call(QB.bind(0,e,r,!1))}function KB(t,e,r){e&&r&&GB(r,e).selectAll(\\\".\\\"+UB.sankeyLink).filter(XB(e)).call($B.bind(0,e,r,!1))}function QB(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",.4),i&&GB(e,t).selectAll(\\\".\\\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",.4),r&&GB(e,t).selectAll(\\\".\\\"+UB.sankeyNode).filter(ZB(t)).call(JB)}function $B(t,e,r,n){var i=n.datum().link.label;n.style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),i&&GB(e,t).selectAll(\\\".\\\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\\\"fill-opacity\\\",function(t){return t.tinyColorAlpha}),r&&GB(e,t).selectAll(UB.sankeyNode).filter(ZB(t)).call(KB)}function tN(t,e){var r=t.hoverlabel||{},n=ne.nestedProperty(r,e).get();return!Array.isArray(n)&&n}var eN=function(t,r){var n=t._fullLayout,i=n._paper,a=n._size,o=qB(t,\\\"source:\\\")+\\\" \\\",s=qB(t,\\\"target:\\\")+\\\" \\\",l=qB(t,\\\"incoming flow count:\\\")+\\\" \\\",u=qB(t,\\\"outgoing flow count:\\\")+\\\" \\\";VB(i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:function(r,n,i){e.select(r).call(QB.bind(0,n,i,!0)),t.emit(\\\"plotly_hover\\\",{event:e.event,points:[n.link]})},follow:function(r,i){var a=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=r.getBoundingClientRect(),c=u.left+u.width/2,h=u.top+u.height/2,f=yo.loneHover({x:c-l.left,y:h-l.top,name:e.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\\\"\\\",o+i.link.source.label,s+i.link.target.label].filter(HB).join(\\\"<br>\\\"),color:tN(a,\\\"bgcolor\\\")||Oe.addOpacity(i.tinyColorHue,1),borderColor:tN(a,\\\"bordercolor\\\"),fontFamily:tN(a,\\\"font.family\\\"),fontSize:tN(a,\\\"font.size\\\"),fontColor:tN(a,\\\"font.color\\\"),idealAlign:e.event.x<c?\\\"right\\\":\\\"left\\\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(f,.65),YB(f)},unhover:function(r,i,a){e.select(r).call($B.bind(0,i,a,!0)),t.emit(\\\"plotly_unhover\\\",{event:e.event,points:[i.link]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n){var i=n.link;i.originalEvent=e.event,t._hoverdata=[i],yo.click(t,{target:!0})}},nodeEvents:{hover:function(r,n,i){e.select(r).call(JB,n,i),t.emit(\\\"plotly_hover\\\",{event:e.event,points:[n.node]})},follow:function(r,i){var a=i.node.trace,o=e.select(r).select(\\\".\\\"+UB.nodeRect),s=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=o.node().getBoundingClientRect(),h=c.left-2-s.left,f=c.right+2-s.left,p=c.top+c.height/4-s.top,d=yo.loneHover({x0:h,x1:f,y:p,name:e.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,l+i.node.targetLinks.length,u+i.node.sourceLinks.length].filter(HB).join(\\\"<br>\\\"),color:tN(a,\\\"bgcolor\\\")||i.tinyColorHue,borderColor:tN(a,\\\"bordercolor\\\"),fontFamily:tN(a,\\\"font.family\\\"),fontSize:tN(a,\\\"font.size\\\"),fontColor:tN(a,\\\"font.color\\\"),idealAlign:\\\"left\\\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(d,.85),YB(d)},unhover:function(r,i,a){e.select(r).call(KB,i,a),t.emit(\\\"plotly_unhover\\\",{event:e.event,points:[i.node]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n,i){var a=n.node;a.originalEvent=e.event,t._hoverdata=[a],e.select(r).call(KB,n,i),yo.click(t,{target:!0})}}})},rN={},nN=ye.overrideAll,iN=sa.getModuleCalcData;rN.name=\\\"sankey\\\",rN.baseLayoutAttrOverrides=nN({hoverlabel:mo.hoverlabel},\\\"plot\\\",\\\"nested\\\"),rN.plot=function(t){var e=iN(t.calcdata,\\\"sankey\\\");eN(t,e)},rN.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"sankey\\\"),a=e._has&&e._has(\\\"sankey\\\");i&&!a&&n._paperdiv.selectAll(\\\".sankey\\\").remove()};var aN=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u,c=0,h=[],f=[];function p(e){var l=[e],u=[e];for(r[e]=n[e]=c,i[e]=!0,c+=1;u.length>0;){e=u[u.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=c,i[g]=!0,c+=1,l.push(g),u.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];f.push(b)}u.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort(function(t,e){return t-e}),u=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&u.push(d[g]);f[l]=u}}return{components:h,adjacencyList:f}};var oN=ZR.wrap;var sN=qc.defaults,lN={};lN.attributes=lB,lN.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lB,r,n)}i(\\\"node.label\\\"),i(\\\"node.pad\\\"),i(\\\"node.thickness\\\"),i(\\\"node.line.color\\\"),i(\\\"node.line.width\\\");var a=n.colorway;i(\\\"node.color\\\",e.node.label.map(function(t,e){return Oe.addOpacity(function(t){return a[t%a.length]}(e),.8)})),i(\\\"link.label\\\"),i(\\\"link.source\\\"),i(\\\"link.target\\\"),i(\\\"link.value\\\"),i(\\\"link.line.color\\\"),i(\\\"link.line.width\\\"),i(\\\"link.color\\\",e.link.value.map(function(){return s(n.paper_bgcolor).getLuminance()<.333?\\\"rgba(255, 255, 255, 0.6)\\\":\\\"rgba(0, 0, 0, 0.2)\\\"})),sN(e,n,i),i(\\\"orientation\\\"),i(\\\"valueformat\\\"),i(\\\"valuesuffix\\\"),i(\\\"arrangement\\\"),ne.coerceFont(i,\\\"textfont\\\",ne.extendFlat({},n.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&ne.warn(\\\"Some of the nodes are neither sources nor targets, they will not be displayed.\\\")},lN.calc=function(t,e){return function(t,e,r){for(var n=t.map(function(){return[]}),i=0;i<Math.min(e.length,r.length);i++){if(e[i]===r[i])return!0;n[e[i]].push(r[i])}return aN(n).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(ne.error(\\\"Circularity is present in the Sankey data. Removing all nodes and links.\\\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),oN({link:e.link,node:e.node})},lN.plot=eN,lN.moduleType=\\\"trace\\\",lN.name=\\\"sankey\\\",lN.basePlotModule=rN,lN.categories=[\\\"noOpacity\\\"],lN.meta={};var uN=lN,cN={circle:\\\"\\\\u25cf\\\",\\\"circle-open\\\":\\\"\\\\u25cb\\\",square:\\\"\\\\u25a0\\\",\\\"square-open\\\":\\\"\\\\u25a1\\\",diamond:\\\"\\\\u25c6\\\",\\\"diamond-open\\\":\\\"\\\\u25c7\\\",cross:\\\"+\\\",x:\\\"\\\\u274c\\\"},hN={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]},fN={},pN=m.extendFlat,dN=ye.overrideAll,gN=Zr.line,vN=Zr.marker,mN=vN.line;var yN=fN=dN({x:Zr.x,y:Zr.y,z:{valType:\\\"data_array\\\"},text:pN({},Zr.text,{}),hovertext:pN({},Zr.hovertext,{}),mode:pN({},Zr.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:Zr.connectgaps,line:pN({width:gN.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(hN),dflt:\\\"solid\\\"},showscale:{valType:\\\"boolean\\\",dflt:!1}},De()),marker:pN({symbol:{valType:\\\"enumerated\\\",values:Object.keys(cN),dflt:\\\"circle\\\",arrayOk:!0},size:pN({},vN.size,{dflt:8}),sizeref:vN.sizeref,sizemin:vN.sizemin,sizemode:vN.sizemode,opacity:pN({},vN.opacity,{arrayOk:!1}),showscale:vN.showscale,colorbar:vN.colorbar,line:pN({width:pN({},mN.width,{arrayOk:!1})},De())},De()),textposition:pN({},Zr.textposition,{dflt:\\\"top center\\\"}),textfont:Zr.textfont,hoverinfo:pN({},E.hoverinfo)},\\\"calc\\\",\\\"nested\\\");yN.x.editType=yN.y.editType=yN.z.editType=\\\"calc+clearAxisTypes\\\";var xN=E_([\\\"precision mediump 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}\\\"]),bN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\nuniform vec3 clipBounds[2];\\\\nuniform float opacity;\\\\nvarying vec3 fragPosition;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = opacity * fragColor;\\\\n}\\\"]),_N=function(t){return Bw(t,xN,bN,null,[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"offset\\\",type:\\\"vec3\\\"}])},wN=function(t){var e=t.gl,r=S_(e),n=EP(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}]),i=_N(e);i.attributes.position.location=0,i.attributes.color.location=1,i.attributes.offset.location=2;var a=new AN(e,r,n,i);return a.update(t),a},MN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function AN(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}var kN=AN.prototype;function TN(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])}kN.isOpaque=function(){return this.opacity>=1},kN.isTransparent=function(){return this.opacity<1},kN.drawTransparent=kN.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||MN,i=r.projection=t.projection||MN;r.model=t.model||MN,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],o=n[13],s=n[14],l=n[15],u=this.pixelRatio*(i[3]*a+i[7]*o+i[11]*s+i[15]*l)/e.drawingBufferHeight;this.vao.bind();for(var c=0;c<3;++c)e.lineWidth(this.lineWidth[c]),r.capSize=this.capSize[c]*u,this.lineCount[c]&&e.drawArrays(e.LINES,this.lineOffset[c],this.lineCount[c]);this.vao.unbind()};var SN=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function EN(t,e,r,n){for(var i=SN[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}kN.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])),\\\"opacity\\\"in t&&(this.opacity=t.opacity);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 i=[],a=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<a;++l){for(var u=r[l],c=0;c<3;++c)if(isNaN(u[c])||!isFinite(u[c]))continue t;var h=n[l],f=e[s];if(Array.isArray(f[0])&&(f=e[l]),3===f.length&&(f=[f[0],f[1],f[2],1]),!isNaN(h[0][s])&&!isNaN(h[1][s])){var p;if(h[0][s]<0)(p=u.slice())[s]+=h[0][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s);if(h[1][s]>0)(p=u.slice())[s]+=h[1][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},kN.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};var CN={},LN=E_([\\\"precision mediump 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\\\\nvoid main() {\\\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\\\n\\\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\\\n\\\\n  worldPosition = position;\\\\n  pixelArcLength = arcLength;\\\\n  fragColor = color;\\\\n}\\\\n\\\"]),zN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\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\\\"]),PN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\n#define FLOAT_MAX  1.70141184e38\\\\n#define FLOAT_MIN  1.17549435e-38\\\\n\\\\nlowp vec4 encode_float_1540259130(highp float v) {\\\\n  highp 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  highp vec4 c = vec4(0,0,0,0);\\\\n\\\\n  //Compute exponent and mantissa\\\\n  highp float e = floor(log2(av));\\\\n  highp 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  highp 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\\\\nuniform float pickId;\\\\nuniform vec3 clipBounds[2];\\\\n\\\\nvarying vec3 worldPosition;\\\\nvarying float pixelArcLength;\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\\\\n}\\\"]),IN=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"nextPosition\\\",type:\\\"vec3\\\"},{name:\\\"arcLength\\\",type:\\\"float\\\"},{name:\\\"lineWidth\\\",type:\\\"float\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"}];CN.createShader=function(t){return Bw(t,LN,zN,null,IN)},CN.createPickShader=function(t){return Bw(t,LN,PN,null,IN)};var DN=function(t,e,r,n){return ON[0]=n,ON[1]=r,ON[2]=e,ON[3]=t,RN[0]},ON=new Uint8Array(4),RN=new Float32Array(ON.buffer);var FN=function(t){var e=t.gl||t.scene&&t.scene.gl,r=BN(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 n=NN(e);n.attributes.position.location=0,n.attributes.nextPosition.location=1,n.attributes.arcLength.location=2,n.attributes.lineWidth.location=3,n.attributes.color.location=4;for(var i=S_(e),a=EP(e,[{buffer:i,size:3,offset:0,stride:48},{buffer:i,size:3,offset:12,stride:48},{buffer:i,size:1,offset:24,stride:48},{buffer:i,size:1,offset:28,stride:48},{buffer:i,size:4,offset:32,stride:48}]),o=wb(new Array(1024),[256,1,4]),s=0;s<1024;++s)o.data[s]=255;var l=zE(e,o);l.wrap=e.REPEAT;var u=new HN(e,r,n,i,a,l);return u.update(t),u},BN=CN.createShader,NN=CN.createPickShader,jN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function VN(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function UN(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 qN(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function HN(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,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=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var GN=HN.prototype;GN.isTransparent=function(){return this.opacity<1},GN.isOpaque=function(){return this.opacity>=1},GN.pickSlots=1,GN.setPickBase=function(t){this.pickId=t},GN.drawTransparent=GN.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,clipBounds:UN(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()},GN.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,pickId:this.pickId,clipBounds:UN(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},GN.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\\\"dashScale\\\"in t&&(this.dashScale=t.dashScale),\\\"opacity\\\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,s=[],l=[],u=[],c=0,h=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],p=!1;t:for(e=1;e<i.length;++e){var d,g,v,m=i[e-1],y=i[e];for(l.push(c),u.push(m.slice()),r=0;r<3;++r){if(isNaN(m[r])||isNaN(y[r])||!isFinite(m[r])||!isFinite(y[r])){if(!n&&s.length>0){for(var x=0;x<24;++x)s.push(s[s.length-12]);h+=2,p=!0}continue t}f[0][r]=Math.min(f[0][r],m[r],y[r]),f[1][r]=Math.max(f[1][r],m[r],y[r])}Array.isArray(a[0])?(d=a[e-1],g=a[e]):d=g=a,3===d.length&&(d=[d[0],d[1],d[2],1]),3===g.length&&(g=[g[0],g[1],g[2],1]),v=Array.isArray(o)?o[e-1]:o;var b=c;if(c+=VN(m,y),p){for(r=0;r<2;++r)s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3]);h+=2,p=!1}s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3],m[0],m[1],m[2],y[0],y[1],y[2],b,-v,d[0],d[1],d[2],d[3],y[0],y[1],y[2],m[0],m[1],m[2],c,-v,g[0],g[1],g[2],g[3],y[0],y[1],y[2],m[0],m[1],m[2],c,v,g[0],g[1],g[2],g[3]),h+=4}if(this.buffer.update(s),l.push(c),u.push(i[i.length-1].slice()),this.bounds=f,this.vertexCount=h,this.points=u,this.arcLength=l,\\\"dashes\\\"in t){var _=t.dashes.slice();for(_.unshift(0),e=1;e<_.length;++e)_[e]=_[e-1]+_[e];var w=wb(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)w.set(e,0,r,0);1&wT.le(_,_[_.length-1]*e/255)?w.set(e,0,0,0):w.set(e,0,0,255)}this.texture.setPixels(w)}}},GN.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},GN.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=DN(t.value[0],t.value[1],t.value[2],0),r=wT.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new qN(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),o=1-a,s=[0,0,0],l=0;l<3;++l)s[l]=o*n[l]+a*i[l];var u=Math.min(a<.5?r:r+1,this.points.length-1);return new qN(e,s,u,this.points[u])};var WN=function(t,e){var r=YN[e];r||(r=YN[e]={});if(t in r)return r[t];for(var n=ME(t,{textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),i=ME(t,{triangles:!0,textAlign:\\\"center\\\",textBaseline:\\\"middle\\\",lineHeight:1,font:e}),a=[[1/0,1/0],[-1/0,-1/0]],o=0;o<n.positions.length;++o)for(var s=n.positions[o],l=0;l<2;++l)a[0][l]=Math.min(a[0][l],s[l]),a[1][l]=Math.max(a[1][l],s[l]);return r[t]=[i,n,a]},YN={};var XN={},ZN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   || \\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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}\\\"]),JN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\\\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}\\\"]),KN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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(any(lessThan(position, clipBounds[0]))   ||\\\\n     any(greaterThan(position, clipBounds[1])) ) {\\\\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\\\"]),QN=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 interpColor;\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = interpColor * opacity;\\\\n  }\\\\n}\\\\n\\\"]),$N=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec3 fragClipBounds[2];\\\\nuniform float pickGroup;\\\\n\\\\nvarying vec4 pickId;\\\\nvarying vec3 dataCoordinate;\\\\n\\\\nvoid main() {\\\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\\\n    discard;\\\\n  } else {\\\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\\\n  }\\\\n}\\\"]),tj=[{name:\\\"position\\\",type:\\\"vec3\\\"},{name:\\\"color\\\",type:\\\"vec4\\\"},{name:\\\"glyph\\\",type:\\\"vec2\\\"},{name:\\\"id\\\",type:\\\"vec4\\\"}],ej={vertex:ZN,fragment:QN,attributes:tj},rj={vertex:JN,fragment:QN,attributes:tj},nj={vertex:KN,fragment:QN,attributes:tj},ij={vertex:ZN,fragment:$N,attributes:tj},aj={vertex:JN,fragment:$N,attributes:tj},oj={vertex:KN,fragment:$N,attributes:tj};function sj(t,e){var r=Bw(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}XN.createPerspective=function(t){return sj(t,ej)},XN.createOrtho=function(t){return sj(t,rj)},XN.createProject=function(t){return sj(t,nj)},XN.createPickPerspective=function(t){return sj(t,ij)},XN.createPickOrtho=function(t){return sj(t,aj)},XN.createPickProject=function(t){return sj(t,oj)};var lj=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uj=function(t){var e=t.gl,r=XN.createPerspective(e),n=XN.createOrtho(e),i=XN.createProject(e),a=XN.createPickPerspective(e),o=XN.createPickOrtho(e),s=XN.createPickProject(e),l=S_(e),u=S_(e),c=S_(e),h=S_(e),f=EP(e,[{buffer:l,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:c,size:2,type:e.FLOAT},{buffer:h,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),p=new fj(e,r,n,i,l,u,c,h,f,a,o,s);return p.update(t),p};function cj(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function hj(t,e,r,n){return cj(n,n),cj(n,n),cj(n,n)}function fj(t,e,r,n,i,a,o,s,l,u,c,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=h,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}var pj=fj.prototype;pj.pickSlots=1,pj.setPickBase=function(t){this.pickId=t},pj.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},pj.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var dj=[0,0],gj=[0,0,0],vj=[0,0,0],mj=[0,0,0,1],yj=[0,0,0,1],xj=lj.slice(),bj=[0,0,0],_j=[[0,0,0],[0,0,0]];function wj(t){return t[0]=t[1]=t[2]=0,t}function Mj(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function Aj(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function kj(t,e,r,n,i){var a,o=e.axesProject,s=e.gl,l=t.uniforms,u=r.model||lj,c=r.view||lj,h=r.projection||lj,f=e.axesBounds,p=function(t){for(var e=_j,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],dj[0]=2/s.drawingBufferWidth,dj[1]=2/s.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=dj,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=p,l.pickGroup=e.pickId/255,l.pixelRatio=e.pixelRatio;for(var d=0;d<3;++d)if(o[d]&&e.projectOpacity[d]<1===n){l.scale=e.projectScale[d],l.opacity=e.projectOpacity[d];for(var g=xj,v=0;v<16;++v)g[v]=0;for(v=0;v<4;++v)g[5*v]=1;g[5*d]=0,a[d]<0?g[12+d]=f[0][d]:g[12+d]=f[1][d],Dz(g,u,g),l.model=g;var m=(d+1)%3,y=(d+2)%3,x=wj(gj),b=wj(vj);x[m]=1,b[y]=1;var _=hj(0,0,0,Mj(mj,x)),w=hj(0,0,0,Mj(yj,b));if(Math.abs(_[1])>Math.abs(w[1])){var M=_;_=w,w=M,M=x,x=b,b=M;var A=m;m=y,y=A}_[0]<0&&(x[m]=-1),w[1]>0&&(b[y]=-1);var k=0,T=0;for(v=0;v<4;++v)k+=Math.pow(u[4*m+v],2),T+=Math.pow(u[4*y+v],2);x[m]/=Math.sqrt(k),b[y]/=Math.sqrt(T),l.axes[0]=x,l.axes[1]=b,l.fragClipBounds[0]=Aj(bj,p[0],d,-1e8),l.fragClipBounds[1]=Aj(bj,p[1],d,1e8),e.vao.draw(s.TRIANGLES,e.vertexCount),e.lineWidth>0&&(s.lineWidth(e.lineWidth),e.vao.draw(s.LINES,e.lineVertexCount,e.vertexCount))}}var Tj=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function Sj(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||lj,s.view=n.view||lj,s.projection=n.projection||lj,dj[0]=2/o.drawingBufferWidth,dj[1]=2/o.drawingBufferHeight,s.screenSize=dj,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=Tj,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}kj(e,r,n,i),r.vao.unbind()}pj.draw=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},pj.drawTransparent=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},pj.drawPick=function(t){Sj(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},pj.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 i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},pj.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},pj.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(\\\"projectOpacity\\\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\\\"opacity\\\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\\\"normal\\\",a=t.alignment||[0,0],o=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0],l=t.glyph,u=t.color,c=t.size,h=t.angle,f=t.lineColor,p=0,d=0,g=0,v=n.length;t:for(var m=0;m<v;++m){for(var y=n[m],x=0;x<3;++x)if(isNaN(y[x])||!isFinite(y[x]))continue t;var b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\\\"\\\\u25cf\\\",i))[0],_=O[1],w=O[2];d+=3*b.cells.length,g+=2*_.edges.length}var M=d+g,A=__.mallocFloat(3*M),k=__.mallocFloat(4*M),T=__.mallocFloat(2*M),S=__.mallocUint32(M),E=[0,a[1]],C=0,L=d,z=[0,0,0,1],P=[0,0,0,1],I=Array.isArray(u)&&Array.isArray(u[0]),D=Array.isArray(f)&&Array.isArray(f[0]);t:for(m=0;m<v;++m){var O;for(y=n[m],x=0;x<3;++x){if(isNaN(y[x])||!isFinite(y[x])){p+=1;continue t}s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x])}var R;b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\\\"\\\\u25cf\\\",i))[0],_=O[1],w=O[2];if(Array.isArray(u)){if(3===(R=I?u[m]:u).length){for(x=0;x<3;++x)z[x]=R[x];z[3]=1}else if(4===R.length)for(x=0;x<4;++x)z[x]=R[x]}else z[0]=z[1]=z[2]=0,z[3]=1;if(Array.isArray(f)){if(3===(R=D?f[m]:f).length){for(x=0;x<3;++x)P[x]=R[x];P[x]=1}else if(4===R.length)for(x=0;x<4;++x)P[x]=R[x]}else P[0]=P[1]=P[2]=0,P[3]=1;var F=.5;Array.isArray(c)?F=+c[m]:c?F=+c:this.useOrtho&&(F=12);var B=0;Array.isArray(h)?B=+h[m]:h&&(B=+h);var N=Math.cos(B),j=Math.sin(B);for(y=n[m],x=0;x<3;++x)s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x]);a[0]<0?E[0]=a[0]*(1+w[1][0]):a[0]>0&&(E[0]=-a[0]*(1+w[0][0]));var V=b.cells,U=b.positions;for(x=0;x<V.length;++x)for(var q=V[x],H=0;H<3;++H){for(var G=0;G<3;++G)A[3*C+G]=y[G];for(G=0;G<4;++G)k[4*C+G]=z[G];S[C]=p;var W=U[q[H]];T[2*C]=F*(N*W[0]-j*W[1]+E[0]),T[2*C+1]=F*(j*W[0]+N*W[1]+E[1]),C+=1}for(V=_.edges,U=_.positions,x=0;x<V.length;++x)for(q=V[x],H=0;H<2;++H){for(G=0;G<3;++G)A[3*L+G]=y[G];for(G=0;G<4;++G)k[4*L+G]=P[G];S[L]=p;W=U[q[H]];T[2*L]=F*(N*W[0]-j*W[1]+E[0]),T[2*L+1]=F*(j*W[0]+N*W[1]+E[1]),L+=1}p+=1}this.vertexCount=d,this.lineVertexCount=g,this.pointBuffer.update(A),this.colorBuffer.update(k),this.glyphBuffer.update(T),this.idBuffer.update(new Uint32Array(S)),__.free(A),__.free(k),__.free(T),__.free(S),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},pj.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()};var Ej=C.defaultLine,Cj=GC(Ej),Lj=1;function zj(t,e){var r=t;return r[3]*=e,r}function Pj(t){if(r(t))return Cj;var e=GC(t);return e.length?e:Cj}function Ij(t){return r(t)?t:Lj}var Dj=function(t,e,r){var n,i,a,o,s,l=t.color,u=Array.isArray(l),c=Array.isArray(e),h=[];if(n=void 0!==t.colorscale?Je.makeColorScaleFunc(Je.extractScale(t.colorscale,t.cmin,t.cmax)):Pj,i=u?function(t,e){return void 0===t[e]?Cj:GC(n(t[e]))}:Pj,a=c?function(t,e){return void 0===t[e]?Lj:Ij(t[e])}:Ij,u||c)for(var f=0;f<r;f++)o=i(l,f),s=a(e,f),h[f]=zj(o,s);else h=zj(GC(l),e);return h};function Oj(t,e,r){if(!e||!e.visible)return null;for(var n=bd(e),i=new Array(t.length),a=0;a<t.length;a++){var o=n(+t[a],a);i[a]=[-o[0]*r,o[1]*r]}return i}var Rj=function(t,e){var r=[Oj(t.x,t.error_x,e[0]),Oj(t.y,t.error_y,e[1]),Oj(t.z,t.error_z,e[2])],n=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===n)return null;for(var i=new Array(n),a=0;a<n;a++){for(var o=[[0,0,0],[0,0,0]],s=0;s<3;s++)if(r[s])for(var l=0;l<2;l++)o[l][s]=r[s][a][l];i[a]=o}return i};function Fj(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 Bj=Fj.prototype;function Nj(t,e){return e(4*t)}function jj(t){return cN[t]}function Vj(t,e,r,n,i){var a=null;if(ne.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,ne.identity);return a}function Uj(t,e){var r,n,i,a,o,s,l,u,c=[],h=t.fullSceneLayout,f=t.dataScale,p=h.xaxis,d=h.yaxis,g=h.zaxis,v=e.marker,m=e.line,y=e.x||[],x=e.y||[],b=e.z||[],_=y.length,w=e.xcalendar,M=e.ycalendar,A=e.zcalendar;for(n=0;n<_;n++)i=p.d2l(y[n],0,w)*f[0],a=d.d2l(x[n],0,M)*f[1],o=g.d2l(b[n],0,A)*f[2],c[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(_),n=0;n<_;n++)s[n]=e.text;if(r={position:c,mode:e.mode,text:s},\\\"line\\\"in e&&(r.lineColor=Dj(m,1,_),r.lineWidth=m.width,r.lineDashes=m.dash),\\\"marker\\\"in e){var k=kr(e);r.scatterColor=Dj(v,1,_),r.scatterSize=Vj(v.size,_,Nj,20,k),r.scatterMarker=Vj(v.symbol,_,jj,\\\"\\\\u25cf\\\"),r.scatterLineWidth=v.line.width,r.scatterLineColor=Dj(v.line,1,_),r.scatterAngle=0}\\\"textposition\\\"in e&&(r.textOffset=(l=e.textposition,u=[0,0],Array.isArray(l)?[0,-1]:(l.indexOf(\\\"bottom\\\")>=0&&(u[1]+=1),l.indexOf(\\\"top\\\")>=0&&(u[1]-=1),l.indexOf(\\\"left\\\")>=0&&(u[0]-=1),l.indexOf(\\\"right\\\")>=0&&(u[0]+=1),u)),r.textColor=Dj(e.textfont,1,_),r.textSize=Vj(e.textfont.size,_,ne.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var T=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var S=e.projection[T[n]];(r.project[n]=S.show)&&(r.projectOpacity[n]=S.opacity,r.projectScale[n]=S.scale)}r.errorBounds=Rj(e,f);var E=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=WC(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=E.color,r.errorLineWidth=E.lineWidth,r.errorCapSize=E.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=WC(e.surfacecolor),r}function qj(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}Bj.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel=\\\"\\\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},Bj.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=hN.solid;this.data=t;var s=Uj(this.scene,t);\\\"mode\\\"in s&&(this.mode=s.mode),\\\"lineDashes\\\"in s&&s.lineDashes in hN&&(o=hN[s.lineDashes]),this.color=qj(s.scatterColor)||qj(s.lineColor),this.dataPoints=s.position,e={gl:a,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\\\"lines\\\")?this.linePlot?this.linePlot.update(e):(this.linePlot=FN(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 l=t.opacity;if(t.marker&&t.marker.opacity&&(l*=t.marker.opacity),r={gl:a,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},-1!==this.mode.indexOf(\\\"markers\\\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=uj(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),i={gl:a,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.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(i):(this.textMarkers=uj(i),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),n={gl:a,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:t.opacity},this.errorBars?s.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=wN(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],s=[];for(n=0;n<t.length;++n){var l=t[n];!isNaN(l[i])&&isFinite(l[i])&&!isNaN(l[a])&&isFinite(l[a])&&(o.push([l[i],l[a]]),s.push(n))}var u=sO(o);for(n=0;n<u.length;++n)for(var c=u[n],h=0;h<c.length;++h)c[h]=s[c[h]];return{positions:t,cells:u,meshColor:e}}(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=a,this.delaunayMesh=SR(u),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)},Bj.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())};var Hj=function(t,e){var r=new Fj(t,e.uid);return r.update(e),r};var Gj={};Gj.plot=Hj,Gj.attributes=fN,Gj.markerSymbols=cN,Gj.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,fN,r,n)}if(function(t,e,r,n){var i=0,a=r(\\\"x\\\"),o=r(\\\"y\\\"),s=r(\\\"z\\\");return P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),e._xlength=e._ylength=e._zlength=i),i}(t,e,i,n)){i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\"),Tr.hasLines(e)&&(i(\\\"connectgaps\\\"),px(t,e,r,n,i)),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{noSelect:!0}),Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0});var a=(e.line||{}).color,o=(e.marker||{}).color;i(\\\"surfaceaxis\\\")>=0&&i(\\\"surfacecolor\\\",a||o);for(var s=[\\\"x\\\",\\\"y\\\",\\\"z\\\"],l=0;l<3;++l){var u=\\\"projection.\\\"+s[l];i(u+\\\".show\\\")&&(i(u+\\\".opacity\\\"),i(u+\\\".scale\\\"))}var c=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");c(t,e,r,{axis:\\\"z\\\"}),c(t,e,r,{axis:\\\"y\\\",inherit:\\\"z\\\"}),c(t,e,r,{axis:\\\"x\\\",inherit:\\\"z\\\"})}else e.visible=!1},Gj.colorbar=is,Gj.calc=nB,Gj.moduleType=\\\"trace\\\",Gj.name=\\\"scatter3d\\\",Gj.basePlotModule=SD,Gj.categories=[\\\"gl3d\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\"],Gj.meta={};var Wj=Gj,Yj=m.extendFlat,Xj=Zr.marker,Zj=Zr.line,Jj=Xj.line,Kj={carpet:{valType:\\\"string\\\",editType:\\\"calc\\\"},a:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},b:{valType:\\\"data_array\\\",editType:\\\"calc\\\"},mode:Yj({},Zr.mode,{dflt:\\\"markers\\\"}),text:Yj({},Zr.text,{}),line:{color:Zj.color,width:Zj.width,dash:Zj.dash,shape:Yj({},Zj.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:Zj.smoothing,editType:\\\"calc\\\"},connectgaps:Zr.connectgaps,fill:Yj({},Zr.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:Zr.fillcolor,marker:Yj({symbol:Xj.symbol,opacity:Xj.opacity,maxdisplayed:Xj.maxdisplayed,size:Xj.size,sizeref:Xj.sizeref,sizemin:Xj.sizemin,sizemode:Xj.sizemode,line:Yj({width:Jj.width,editType:\\\"calc\\\"},De()),gradient:Xj.gradient,editType:\\\"calc\\\"},De(),{showscale:Xj.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:Yj({},E.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:Zr.hoveron},Qj=sx,$j={};$j.attributes=Kj,$j.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Kj,r,n)}i(\\\"carpet\\\"),e.xaxis=\\\"x\\\",e.yaxis=\\\"y\\\";var a,o=i(\\\"a\\\"),s=i(\\\"b\\\");if(a=Math.min(o.length,s.length)){o&&a<o.length&&(e.a=o.slice(0,a)),s&&a<s.length&&(e.b=s.slice(0,a)),i(\\\"text\\\"),i(\\\"mode\\\",a<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"marker.maxdisplayed\\\"),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},$j.colorbar=is,$j.calc=function(t,e){var n=e.carpetTrace=mp(t,e);if(n&&n.visible&&\\\"legendonly\\\"!==n.visible){var i;e.xaxis=n.xaxis,e.yaxis=n.yaxis;var a,o,s=e.a.length,l=new Array(s),u=!1;for(i=0;i<s;i++)if(a=e.a[i],o=e.b[i],r(a)&&r(o)){var c=n.ab2xy(+a,+o,!0),h=n.isVisible(+a,+o);h||(u=!0),l[i]={x:c[0],y:c[1],a:a,b:o,vis:h}}else l[i]={x:!1,y:!1};return e._needsCull=u,l[0].carpet=n,l[0].trace=e,Qj(e,s),ex(e),dh(l,e),Ma(l,e),l}},$j.plot=function(t,e,r){var n,i,a,o=r[0][0].carpet,s={xaxis:ri.getFromId(t,o.xaxis||\\\"x\\\"),yaxis:ri.getFromId(t,o.yaxis||\\\"y\\\"),plot:e.plot};for(kx(t,s,r),n=0;n<r.length;n++)i=r[n][0].trace,a=s.plot.selectAll(\\\"g.trace\\\"+i.uid+\\\" .js-line\\\"),Sr.setClipUrl(a,o._clipPathId)},$j.style=Cx.style,$j.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=h._carpet,p=(c.hi||h.hoverinfo).split(\\\"+\\\"),d=[];-1!==p.indexOf(\\\"all\\\")&&(p=[\\\"a\\\",\\\"b\\\"]),-1!==p.indexOf(\\\"a\\\")&&_(f.aaxis,c.a),-1!==p.indexOf(\\\"b\\\")&&_(f.baxis,c.b);var g=f.ab2ij([c.a,c.b]),v=Math.floor(g[0]),m=g[0]-v,y=Math.floor(g[1]),x=g[1]-y,b=f.evalxy([],v,y,m,x);return d.push(\\\"y: \\\"+b[1].toFixed(3)),a.extraText=d.join(\\\"<br>\\\"),i}function _(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\\\"\\\"):t._hovertitle,d.push(r+\\\": \\\"+e.toFixed(3)+t.labelsuffix)}},$j.selectPoints=Sx,$j.eventData=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t},$j.moduleType=\\\"trace\\\",$j.name=\\\"scattercarpet\\\",$j.basePlotModule=ua,$j.categories=[\\\"carpet\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"carpetDependent\\\"],$j.meta={};var tV=$j,eV=t.BADNUM,rV=ne._,nV=function(t,e){for(var n=Array.isArray(e.locations),i=n?e.locations.length:e._length,a=new Array(i),o=0;o<i;o++){var s=a[o]={};if(n){var l=e.locations[o];s.loc=\\\"string\\\"==typeof l?l:null}else{var u=e.lon[o],c=e.lat[o];r(u)&&r(c)?s.lonlat=[+u,+c]:s.lonlat=[eV,eV]}}return dh(a,e),ex(e),Ma(a,e),i&&(a[0].t={labels:{lat:rV(t,\\\"lat:\\\")+\\\" \\\",lon:rV(t,\\\"lon:\\\")+\\\" \\\"}}),a};var iV=t.BADNUM;var aV={},oV=t.BADNUM;aV.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],n=[],i=0;i<t.length;i++){var a=t[i].lonlat;a[0]!==oV?n.push(a):!e&&n.length>0&&(r.push(n),n=[])}return n.length>0&&r.push(n),r},aV.makeLine=function(t){return 1===t.length?{type:\\\"LineString\\\",coordinates:t[0]}:{type:\\\"MultiLineString\\\",coordinates:t}},aV.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}},aV.makeBlank=function(){return{type:\\\"Point\\\",coordinates:[]}};var sV=Cx.stylePoints,lV=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3;i.style(\\\"opacity\\\",r[0].trace.opacity),sV(i,n,t),i.selectAll(\\\"path.js-line\\\").style(\\\"fill\\\",\\\"none\\\").each(function(t){var r=e.select(this),n=t.trace,i=n.line||{};r.call(Oe.stroke,i.color).call(Sr.dashLine,i.dash||\\\"\\\",i.width||0),\\\"none\\\"!==n.fill&&r.call(Oe.fill,n.fillcolor)})}(t,r)};var uV=t.BADNUM,cV=Xu.getTopojsonFeatures,hV=mh.locationToFeature;function fV(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=cV(r,e),i=r.locationmode,a=0;a<t.length;a++){var o=t[a],s=hV(i,o.loc,n);o.lonlat=s?s.properties.ct:[uV,uV]}}var pV={};pV.attributes=uh,pV.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,uh,r,n)}!function(t,e,r){var n,i,a=0,o=r(\\\"locations\\\");return o?(r(\\\"locationmode\\\"),a=o.length):(n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length),e._length=a,a)}(0,e,i)?e.visible=!1:(i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i))},pV.colorbar=is,pV.calc=nV,pV.plot=function(t,r,n){for(var i=0;i<n.length;i++)fV(n[i],r.topojson);function a(t,r){t.lonlat[0]===uV&&e.select(r).remove()}var o=r.layers.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\"g.trace.scattergeo\\\").data(n,function(t){return t[0].trace.uid});o.enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace scattergeo\\\"),o.exit().remove(),o.selectAll(\\\"*\\\").remove(),o.each(function(r){var n=r[0].node3=e.select(this),i=r[0].trace;if(Tr.hasLines(i)||\\\"none\\\"!==i.fill){var o=aV.calcTraceToLineCoords(r),s=\\\"none\\\"!==i.fill?aV.makePolygon(o):aV.makeLine(o);n.selectAll(\\\"path.js-line\\\").data([{geojson:s,trace:i}]).enter().append(\\\"path\\\").classed(\\\"js-line\\\",!0).style(\\\"stroke-miterlimit\\\",2)}Tr.hasMarkers(i)&&n.selectAll(\\\"path.point\\\").data(ne.identity).enter().append(\\\"path\\\").classed(\\\"point\\\",!0).each(function(t){a(t,this)}),Tr.hasText(i)&&n.selectAll(\\\"g\\\").data(ne.identity).enter().append(\\\"g\\\").append(\\\"text\\\").each(function(t){a(t,this)}),lV(t,r)})},pV.style=lV,pV.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=s.projection.isLonLatOverEdges,u=s.project;if(yo.getClosest(n,function(t){var n=t.lonlat;if(n[0]===iV)return 1/0;if(l(n))return 1/0;var i=u(n),a=u([e,r]),o=Math.abs(i[0]-a[0]),s=Math.abs(i[1]-a[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(o*o+s*s)-c,1-3/c)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[a.c2p(h),o.c2p(h)],p=c.mrc||1;return t.x0=f[0]-p,t.x1=f[0]+p,t.y0=f[1]-p,t.y1=f[1]+p,t.loc=c.loc,t.lon=h[0],t.lat=h[1],t.color=mx(i,c),t.extraText=function(t,e,r,n){var i=e.hi||t.hoverinfo,a=\\\"all\\\"===i?uh.hoverinfo.flags:i.split(\\\"+\\\"),o=-1!==a.indexOf(\\\"location\\\")&&Array.isArray(t.locations),s=-1!==a.indexOf(\\\"lon\\\"),l=-1!==a.indexOf(\\\"lat\\\"),u=-1!==a.indexOf(\\\"text\\\"),c=[];function h(t){return ri.tickText(r,r.c2l(t),\\\"hover\\\").text+\\\"\\\\xb0\\\"}return o?c.push(e.loc):s&&l?c.push(\\\"(\\\"+h(e.lonlat[0])+\\\", \\\"+h(e.lonlat[1])+\\\")\\\"):s?c.push(n.lon+h(e.lonlat[0])):l&&c.push(n.lat+h(e.lonlat[1])),u&&xo(e,t,c),c.join(\\\"<br>\\\")}(i,c,s.mockAxis,n[0].t.labels),[t]}},pV.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t},pV.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],h=s[0].trace;if(!Tr.hasMarkers(h)&&!Tr.hasText(h))return[];if(!1===e)for(o=0;o<s.length;o++)s[o].selected=0;else for(o=0;o<s.length;o++)n=(r=s[o]).lonlat,i=l.c2p(n),a=u.c2p(n),e.contains([i,a])?(c.push({pointNumber:o,lon:n[0],lat:n[1]}),r.selected=1):r.selected=0;return c},pV.moduleType=\\\"trace\\\",pV.name=\\\"scattergeo\\\",pV.basePlotModule=$c,pV.categories=[\\\"geo\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],pV.meta={};var dV=pV,gV=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 i=(e|=0)-(t|=0);if(i<0)throw new Error(\\\"array length must be positive\\\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a},vV=mV;function mV(t,e){if(!(this instanceof mV))return new mV(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var n=0;n<r;n++)this.ids[n]=n;!function t(e,r,n,i,a,o){if(a-i<=n)return;var s=Math.floor((i+a)/2);!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,u=Math.log(s),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(s-c)/s)*(l-s/2<0?-1:1),f=Math.max(i,Math.floor(n-l*c/s+h)),p=Math.min(a,Math.floor(n+(s-l)*c/s+h));t(e,r,n,f,p,o)}var d=r[2*n+o],g=i,v=a;for(xV(e,r,i,n),r[2*a+o]>d&&xV(e,r,i,a);g<v;){for(xV(e,r,g,v),g++,v--;r[2*g+o]<d;)g++;for(;r[2*v+o]>d;)v--}r[2*i+o]===d?xV(e,r,i,v):xV(e,r,++v,a),v<=n&&(i=v+1),n<=v&&(a=v-1)}}(e,r,s,i,a,o%2);t(e,r,n,i,s-1,o+1);t(e,r,n,s+1,a,o+1)}(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function yV(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function xV(t,e,r,n){bV(t,r,n),bV(e,2*r,2*n),bV(e,2*r+1,2*n+1)}function bV(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}mV.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,u=[0,o.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),p=u.pop();if(f-p<=l)for(var d=p;d<=f;d++)i=s[2*d],a=s[2*d+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[d]);else{var g=Math.floor((p+f)/2);i=s[2*g],a=s[2*g+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[g]);var v=(h+1)%2;(0===h?t<=i:e<=a)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?r>=i:n>=a)&&(u.push(g+1),u.push(f),u.push(v))}}return c},mV.prototype.within=function(t,e,r){for(var n=this.ids,i=this.coords,a=this.nodeSize,o=[0,n.length-1,0],s=[],l=r*r;o.length;){var u=o.pop(),c=o.pop(),h=o.pop();if(c-h<=a)for(var f=h;f<=c;f++)yV(i[2*f],i[2*f+1],t,e)<=l&&s.push(n[f]);else{var p=Math.floor((h+c)/2),d=i[2*p],g=i[2*p+1];yV(d,g,t,e)<=l&&s.push(n[p]);var v=(u+1)%2;(0===u?t-r<=d:e-r<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===u?t+r>=d:e+r>=g)&&(o.push(p+1),o.push(c),o.push(v))}}return s};var _V=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 i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r};var wV=function(t,e,r){if(!t)throw new TypeError(\\\"must specify data as first parameter\\\");if(r=0|+(r||0),Array.isArray(t)&&Array.isArray(t[0])){var n=t[0].length,i=t.length*n;e&&\\\"string\\\"!=typeof e||(e=new(HC(e||\\\"float32\\\"))(i+r));var a=e.length-r;if(i!==a)throw new Error(\\\"source length \\\"+i+\\\" (\\\"+n+\\\"x\\\"+t.length+\\\") does not match destination length \\\"+a);for(var o=0,s=r;o<t.length;o++)for(var l=0;l<n;l++)e[s++]=t[o][l]}else if(e&&\\\"string\\\"!=typeof e)e.set(t,r);else{var u=HC(e||\\\"float32\\\");0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e};var MV=function(t,e,r){var n,i,a={};if(\\\"string\\\"==typeof e&&(e=kV(e)),Array.isArray(e)){var o={};for(i=0;i<e.length;i++)o[e[i]]=!0;e=o}for(n in e)e[n]=kV(e[n]);var s={};for(n in e){var l=e[n];if(Array.isArray(l))for(i=0;i<l.length;i++){var u=l[i];if(r&&(s[u]=!0),u in t){if(a[n]=t[u],r)for(var c=i;c<l.length;c++)s[l[c]]=!0;break}}else n in t&&(e[n]&&(a[n]=t[n]),r&&(s[n]=!0))}if(r)for(n in t)s[n]||(a[n]=t[n]);return a},AV={};function kV(t){return AV[t]?AV[t]:(\\\"string\\\"==typeof t&&(t=AV[t]=t.split(/\\\\s*,\\\\s*|\\\\s+/)),t)}var TV={};function SV(t){if(t instanceof Float32Array)return t;if(\\\"number\\\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}(TV=SV).float32=TV.float=SV,TV.fract32=TV.fract=function(t){if(\\\"number\\\"==typeof t)return SV(t-SV(t));for(var e=SV(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e};var EV=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\\\"function\\\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t},CV=TV.float32,LV=TV.fract32,zV=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,n,i,a,o,s,l=t._gl,u={color:\\\"black\\\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return a=t.buffer({usage:\\\"dynamic\\\",type:\\\"uint8\\\",data:null}),n=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),i=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),o=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),s=t.buffer({usage:\\\"static\\\",type:\\\"float\\\",data:PV}),d(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 mediump 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:a,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:n,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:i,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:o,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:s,stride:24,offset:0},lineOffset:{buffer:s,stride:24,offset:8},capOffset:{buffer:s,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:PV.length}),Us(h,{update:d,draw:f,destroy:g,regl:t,gl:l,canvas:l.canvas,groups:c}),h;function h(t){t?d(t):null===t&&g(),f()}function f(e){if(\\\"number\\\"==typeof e)return p(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),c.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?p(r):t.draw=!0)})}function p(t){\\\"number\\\"==typeof t&&(t=c[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 d(t){if(t){null!=t.length?\\\"number\\\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(c=t.map(function(t,n){var i=c[n];return t?(\\\"function\\\"==typeof t?t={after:t}:\\\"number\\\"==typeof t[0]&&(t={positions:t}),t=MV(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\\\"}),i||(c[n]=i={id:n,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=Us({},u,t)),EV(i,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=wV(t),r+=t.length,t},positions:function(t,r){return t=wV(t,\\\"float64\\\"),r.count=Math.floor(t.length/2),r.bounds=_V(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 a=new Uint8Array(4*r),o=0;o<r;o++){var s=GC(t[o],\\\"uint8\\\");a.set(s,4*o)}return a},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=LV(e.scale),e.translateFract=LV(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:l.drawingBufferWidth,height:l.drawingBufferHeight},e}}]),i):i}),e||r){var s=c.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*s),f=new Uint8Array(4*s),p=new Float32Array(4*s);c.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(f.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),n(CV(h)),i(LV(h)),a(f),o(p)}}}function g(){n.destroy(),i.destroy(),a.destroy(),o.destroy(),s.destroy()}},PV=[[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]];var IV=function(t,e,r){if(!t||null==t.length)throw Error(\\\"Argument should be an array\\\");null==e&&(e=1);null==r&&(r=_V(t,e));for(var n=0;n<e;n++){var i=r[e+n],a=r[n],o=n,s=t.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:t[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=e)t[o]=0===l?.5:(t[o]-a)/l}}return t};var DV={};function OV(t,e,r){r=r||2;var n,i,a,o,s,l,u,c=e&&e.length,h=c?e[0]*r:t.length,f=RV(t,0,h,r,!0),p=[];if(!f)return p;if(c&&(f=function(t,e,r,n){var i,a,o,s,l,u=[];for(i=0,a=e.length;i<a;i++)o=e[i]*n,s=i<a-1?e[i+1]*n:t.length,(l=RV(t,o,s,n,!1))===l.next&&(l.steiner=!0),u.push(WV(l));for(u.sort(qV),i=0;i<u.length;i++)HV(u[i],r),r=FV(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<h;d+=r)s=t[d],l=t[d+1],s<n&&(n=s),l<i&&(i=l),s>a&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return BV(f,p,r,n,i,u),p}function RV(t,e,r,n,i){var a,o;if(i===nU(t,e,r,n)>0)for(a=e;a<r;a+=n)o=tU(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=tU(a,t[a],t[a+1],o);return o&&JV(o,o.next)&&(eU(o),o=o.next),o}function FV(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!JV(n,n.next)&&0!==ZV(n.prev,n,n.next))n=n.next;else{if(eU(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function BV(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=GV(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?jV(t,n,i,a):NV(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),eU(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?BV(t=VV(t,e,r),e,r,n,i,a,2):2===o&&UV(t,e,r,n,i,a):BV(FV(t),e,r,n,i,a,1);break}}}function NV(t){var e=t.prev,r=t,n=t.next;if(ZV(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(YV(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ZV(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function jV(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ZV(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=GV(s,l,e,r,n),f=GV(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function VV(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!JV(i,a)&&KV(i,n,n.next,a)&&QV(i,a)&&QV(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),eU(n),eU(n.next),n=t=a),n=n.next}while(n!==t);return n}function UV(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&XV(o,s)){var l=$V(o,s);return o=FV(o,o.next),l=FV(l,l.next),BV(o,e,r,n,i,a),void BV(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function qV(t,e){return t.x-e.x}function HV(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;n=r.next;for(;n!==u;)i>=n.x&&n.x>=c&&i!==n.x&&YV(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<f||l===f&&n.x>r.x)&&QV(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=$V(e,t);FV(r,r.next)}}function GV(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function WV(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function YV(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function XV(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&&KV(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&QV(t,e)&&QV(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function ZV(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function JV(t,e){return t.x===e.x&&t.y===e.y}function KV(t,e,r,n){return!!(JV(t,e)&&JV(r,n)||JV(t,n)&&JV(r,e))||ZV(t,e,r)>0!=ZV(t,e,n)>0&&ZV(r,n,t)>0!=ZV(r,n,e)>0}function QV(t,e){return ZV(t.prev,t,t.next)<0?ZV(t,e,t.next)>=0&&ZV(t,t.prev,e)>=0:ZV(t,e,t.prev)<0||ZV(t,t.next,e)<0}function $V(t,e){var r=new rU(t.i,t.x,t.y),n=new rU(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function tU(t,e,r,n){var i=new rU(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function eU(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 rU(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 nU(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}(DV=OV).default=OV,OV.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(nU(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(nU(t,u,c,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)},OV.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r};var iU=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,n,i,a,o,s,l,u,c=t._gl,h={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:\\\"square\\\",color:\\\"black\\\",opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},f=[],p=2,d=3e6,g=1e4;a=t.buffer({usage:\\\"dynamic\\\",type:\\\"uint8\\\",data:null}),o=t.buffer({usage:\\\"static\\\",type:\\\"float\\\",data:[0,1,0,0,1,1,1,0]}),s=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),l=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),u=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:\\\"linear\\\",min:\\\"linear\\\"}),b(e);var v={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:u,dashLength:t.prop(\\\"dashLength\\\"),dashShape:[256,2048],opacity:t.prop(\\\"opacity\\\"),pixelRatio:t.context(\\\"pixelRatio\\\"),id:t.prop(\\\"id\\\"),scaleRatio:t.prop(\\\"scaleRatio\\\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},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}},scissor:{enable:!0,box:t.prop(\\\"viewport\\\")},stencil:!1,viewport:t.prop(\\\"viewport\\\")};function m(t){t?b(t):null===t&&_(),y()}function y(t){if(\\\"number\\\"==typeof t)return x(t);t&&!Array.isArray(t)&&(t=[t]),f.forEach(function(t,e){x(e)})}function x(e){\\\"number\\\"==typeof e&&(e=f[e]),e&&e.count&&e.opacity&&e.positions&&e.positions.length>2&&(t._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&i(e),e.thickness&&e.color&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]>d||e.scaleRatio[1]>d?n(e):\\\"rect\\\"===e.join||!e.join&&(e.thickness<=2||e.positions.length>=g)?n(e):r(e),e.after&&e.after(e)))}function b(t){if(t){null!=t.length?\\\"number\\\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(m.lines=f=t.map(function(t,r){var n=f[r];return void 0===t?n:(null===t?t={positions:null}:\\\"function\\\"==typeof t?t={after:t}:\\\"number\\\"==typeof t[0]&&(t={positions:t}),null===(t=MV(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 stroke colors 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\\\",after:\\\"after callback done pass\\\"})).positions&&(t.positions=[]),n||(f[r]=n={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=Us({},h,t)),EV(n,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=wV(t,\\\"float64\\\");var i=Math.floor(t.length/2),a=_V(t,2);return r.range||n.range||(n.range=a),r.count=i,r.bounds=a,e+=i,t},fill:function(t){return t?GC(t,\\\"uint8\\\"):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length<2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a<t.length;++a)i+=t[a];n=new Uint8Array(i*p);for(var o=0,s=255,l=0;l<2;l++)for(var c=0;c<t.length;++c){for(var h=0,f=t[c]*p*.5;h<f;++h)n[o++]=s;s^=255}}return u.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length>=4&&e.positions[0]===e.positions[e.positions.length-2]&&e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&&t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o<l;o++){var u=e.positions[2*o],c=e.positions[2*o+1];Number.isNaN(u)||Number.isNaN(c)?(u=e.positions[2*a],c=e.positions[2*a+1],i[o]=a):a=o,n[s++]=u,n[s++]=c}for(var h=DV(n,e.hole),f=0,p=h.length;f<p;f++)null!=i[h[f]]&&(h[f]=i[h[f]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=\\\"transparent\\\"),!Array.isArray(t)||\\\"number\\\"==typeof t[0]){var i=t;t=Array(n);for(var a=0;a<n;a++)t[a]=i}if(t.length<n)throw Error(\\\"Not enough colors\\\");for(var o=new Uint8Array(4*n+4),s=0;s<n;s++){var l=GC(t[s],\\\"uint8\\\");o.set(l,4*s)}return o},range:function(t,e,r){if(!e.count)return null;var n=e.bounds;t||(t=n);var i=n[2]-n[0],a=n[3]-n[1],o=t[2]-t[0],s=t[3]-t[1];return e.scale=[i/o,a/s],e.translate=[-t[0]/o+n[0]/o||0,-t[1]/s+n[1]/s||0],e.scaleFract=aU(e.scale),e.translateFract=aU(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:c.drawingBufferWidth,height:c.drawingBufferHeight},e}}]),n)}),e){var r=2*e+6*f.length,n=new Float64Array(r),i=0,o=new Uint8Array(2*r);f.forEach(function(t,e){if(t){var r=t.positions,a=t.count,s=t.color;if(t.offset=i,a){var l=new Float64Array(r.length);l.set(r),IV(l,2,t.bounds),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+0]=l[2*a-4],n[2*i+1]=l[2*a-3]):(n[2*i+0]=l[2*a-2],n[2*i+1]=l[2*a-1]):(n[2*i+0]=l[0],n[2*i+1]=l[1]),o[4*i+0]=s[0],o[4*i+1]=s[1],o[4*i+2]=s[2],o[4*i+3]=s[3],n.set(l,2*i+2),o.set(s,4*i+4),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+2*a+2]=l[2],n[2*i+2*a+3]=l[3],i+=a+2,t.count-=1):(n[2*i+2*a+2]=l[0],n[2*i+2*a+3]=l[1],n[2*i+2*a+4]=l[2],n[2*i+2*a+5]=l[3],i+=a+3):(n[2*i+2*a+2]=l[2*a-2],n[2*i+2*a+3]=l[2*a-1],n[2*i+2*a+4]=l[2*a-2],n[2*i+2*a+5]=l[2*a-1],i+=a+3)}}}),a(o),s(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(n)),l(aU(n))}return m}}function _(){f.length=0,a.destroy(),o.destroy(),s.destroy(),u.destroy()}return r=t(Us({cull:{enable:!0,face:\\\"back\\\"},vert:E_([\\\"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, scaleRatio;\\\\nuniform float thickness, pixelRatio, id;\\\\nuniform vec4 viewport;\\\\nuniform float miterLimit, dashLength, miterMode;\\\\n\\\\nvarying vec4 fragColor;\\\\nvarying vec4 startCutoff, endCutoff;\\\\nvarying vec2 tangent;\\\\nvarying vec2 startCoord, endCoord;\\\\nvarying float enableStartMiter, enableEndMiter;\\\\n\\\\nconst float MAX_LINES = 256.;\\\\nconst float REVERSE_THRESHOLD = -.875;\\\\nconst float MIN_DIST = 1.;\\\\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\\\\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\\\\tvec2 normalWidth = thickness / scaleRatio;\\\\n\\\\n\\\\tfloat lineStart = 1. - lineEnd;\\\\n\\\\tfloat lineBot = 1. - lineTop;\\\\n\\\\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\\\\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 prevDirection = normalize(prevDiff);\\\\n\\\\tvec2 currDirection = normalize(currDiff);\\\\n\\\\tvec2 nextDirection = normalize(nextDiff);\\\\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\\\\tif (prevDirection == currDirection) {\\\\n\\\\t\\\\tstartJoinDirection = currNormal;\\\\n\\\\t}\\\\n\\\\tif (nextDirection == currDirection) {\\\\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) * scale + translate;\\\\n\\\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\\\n\\\\n\\\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\\\n\\\\tvec2 bBotPosition = (bBotCoord) * scale + 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:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform sampler2D dashPattern;\\\\nuniform vec2 dashShape;\\\\nuniform float dashLength, 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) / dashLength) * .5 + .25;\\\\n\\\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\\\n\\\\n\\\\tgl_FragColor = fragColor * dash;\\\\n\\\\tgl_FragColor.a *= alpha * opacity * dash;\\\\n}\\\\n\\\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:s,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:s,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},v)),n=t(Us({vert:E_([\\\"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, scaleRatio;\\\\nuniform float thickness, pixelRatio, id;\\\\nuniform vec4 viewport;\\\\n\\\\nvarying vec4 fragColor;\\\\nvarying vec2 tangent;\\\\n\\\\nconst float MAX_LINES = 256.;\\\\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\\\\t// vec2 scaleRatio = scale * viewport.zw;\\\\n\\\\tvec2 normalWidth = thickness / scaleRatio;\\\\n\\\\n\\\\tfloat lineStart = 1. - lineEnd;\\\\n\\\\tfloat lineOffset = lineTop * 2. - 1.;\\\\n\\\\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\\\\n\\\\n\\\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\\\n\\\\ttangent = normalize(diff * scaleRatio);\\\\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:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform sampler2D dashPattern;\\\\nuniform vec2 dashShape;\\\\nuniform float dashLength, 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) / dashLength) * .5 + .25;\\\\n\\\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\\\n\\\\n\\\\tgl_FragColor = fragColor * dash;\\\\n\\\\tgl_FragColor.a *= alpha * opacity * dash;\\\\n}\\\\n\\\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:l,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},v)),i=t({primitive:\\\"triangle\\\",elements:function(t,e){return e.triangles},offset:0,vert:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\n\\\\nuniform vec4 color;\\\\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\\\\nuniform float pixelRatio, id;\\\\nuniform vec4 viewport;\\\\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}\\\\n\\\"]),frag:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform float opacity;\\\\n\\\\nvarying vec4 fragColor;\\\\n\\\\nvoid main() {\\\\n\\\\tgl_FragColor = fragColor;\\\\n\\\\tgl_FragColor.a *= opacity;\\\\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:s,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:v.blend,depth:{enable:!1},scissor:v.scissor,stencil:v.stencil,viewport:v.viewport}),Us(m,{update:b,draw:y,destroy:_,regl:t,gl:c,canvas:c.canvas,lines:f}),m};function aU(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}var oU={};function sU(t,e){null==e&&(e=!0);var r=t[0],n=t[1],i=t[2],a=t[3];return null==a&&(a=e?1:255),e&&(r*=255,n*=255,i*=255,a*=255),16777216*(r=255&FC(r,0,255))+((n=255&FC(n,0,255))<<16)+((i=255&FC(i,0,255))<<8)+(a=255&FC(a,0,255))}(oU=sU).to=sU,oU.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]};var lU=\\\"undefined\\\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\\\//.test(navigator.appVersion)),uU=function(t){var e;arguments.length>1&&(t=arguments);\\\"string\\\"==typeof t&&(t=t.split(/\\\\s/).map(parseFloat));t.length&&\\\"number\\\"==typeof t[0]?e=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=MV(t,{left:\\\"x l left Left\\\",top:\\\"y t top Top\\\",width:\\\"w width\\\",height:\\\"h height\\\",bottom:\\\"b bottom\\\",right:\\\"r 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};function cU(t,e,r,n,i){var a=[\\\"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[m]\\\"];return i?e.indexOf(\\\"c\\\")<0?a.push(\\\";if(x===y){return m}else if(x<=y){\\\"):a.push(\\\";var p=c(x,y);if(p===0){return m}else if(p<=0){\\\"):a.push(\\\";if(\\\",e,\\\"){i=m;\\\"),r?a.push(\\\"l=m+1}else{h=m-1}\\\"):a.push(\\\"h=m-1}else{l=m+1}\\\"),a.push(\\\"}\\\"),i?a.push(\\\"return -1};\\\"):a.push(\\\"return i};\\\"),a.join(\\\"\\\")}function hU(t,e,r,n){return new Function([cU(\\\"A\\\",\\\"x\\\"+t+\\\"y\\\",e,[\\\"y\\\"],n),cU(\\\"P\\\",\\\"c(x,y)\\\"+t+\\\"0\\\",e,[\\\"y\\\",\\\"c\\\"],n),\\\"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(\\\"\\\"))()}var fU={ge:hU(\\\">=\\\",!1,\\\"GE\\\"),gt:hU(\\\">\\\",!1,\\\"GT\\\"),lt:hU(\\\"<\\\",!0,\\\"LT\\\"),le:hU(\\\"<=\\\",!0,\\\"LE\\\"),eq:hU(\\\"-\\\",!0,\\\"EQ\\\",!0)},pU=function(t,e,r,n,i){i<=4*dU?gU(0,i-1,t,e,r,n):function t(e,r,n,i,a,o){var s=(r-e+1)/6|0,l=e+s,u=r-s,c=e+r>>1,h=c-s,f=c+s,p=l,d=h,g=c,v=f,m=u,y=e+1,x=r-1,b=0;bU(p,d,n,i,a)&&(b=p,p=d,d=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);bU(p,g,n,i,a)&&(b=p,p=g,g=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(p,v,n,i,a)&&(b=p,p=v,v=b);bU(g,v,n,i,a)&&(b=g,g=v,v=b);bU(d,m,n,i,a)&&(b=d,d=m,m=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);var _=n[d];var w=i[2*d];var M=i[2*d+1];var A=a[d];var k=o[d];var T=n[v];var S=i[2*v];var E=i[2*v+1];var C=a[v];var L=o[v];var z=p;var P=g;var I=m;var D=l;var O=c;var R=u;var F=n[z];var B=n[P];var N=n[I];n[D]=F;n[O]=B;n[R]=N;for(var j=0;j<2;++j){var V=i[2*z+j],U=i[2*P+j],q=i[2*I+j];i[2*D+j]=V,i[2*O+j]=U,i[2*R+j]=q}var H=a[z];var G=a[P];var W=a[I];a[D]=H;a[O]=G;a[R]=W;var Y=o[z];var X=o[P];var Z=o[I];o[D]=Y;o[O]=X;o[R]=Z;mU(h,e,n,i,a,o);mU(f,r,n,i,a,o);for(var J=y;J<=x;++J)if(_U(J,_,w,M,A,n,i,a))J!==y&&vU(J,y,n,i,a,o),++y;else if(!_U(J,T,S,E,C,n,i,a))for(;;){if(_U(x,T,S,E,C,n,i,a)){_U(x,_,w,M,A,n,i,a)?(yU(J,y,x,n,i,a,o),++y,--x):(vU(J,x,n,i,a,o),--x);break}if(--x<J)break}xU(e,y-1,_,w,M,A,k,n,i,a,o);xU(r,x+1,T,S,E,C,L,n,i,a,o);y-2-e<=dU?gU(e,y-2,n,i,a,o):t(e,y-2,n,i,a,o);r-(x+2)<=dU?gU(x+2,r,n,i,a,o):t(x+2,r,n,i,a,o);x-y<=dU?gU(y,x,n,i,a,o):t(y,x,n,i,a,o)}(0,i-1,t,e,r,n)},dU=32;function gU(t,e,r,n,i,a){for(var o=t+1;o<=e;++o){for(var s=r[o],l=n[2*o],u=n[2*o+1],c=i[o],h=a[o],f=o;f>t;){var p=r[f-1],d=n[2*(f-1)];if((p-s||l-d)>=0)break;r[f]=p,n[2*f]=d,n[2*f+1]=n[2*f-1],i[f]=i[f-1],a[f]=a[f-1],f-=1}r[f]=s,n[2*f]=l,n[2*f+1]=u,i[f]=c,a[f]=h}}function vU(t,e,r,n,i,a){var o=r[t],s=n[2*t],l=n[2*t+1],u=i[t],c=a[t];r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e],r[e]=o,n[2*e]=s,n[2*e+1]=l,i[e]=u,a[e]=c}function mU(t,e,r,n,i,a){r[t]=r[e],n[2*t]=n[2*e],n[2*t+1]=n[2*e+1],i[t]=i[e],a[t]=a[e]}function yU(t,e,r,n,i,a,o){var s=n[t],l=i[2*t],u=i[2*t+1],c=a[t],h=o[t];n[t]=n[e],i[2*t]=i[2*e],i[2*t+1]=i[2*e+1],a[t]=a[e],o[t]=o[e],n[e]=n[r],i[2*e]=i[2*r],i[2*e+1]=i[2*r+1],a[e]=a[r],o[e]=o[r],n[r]=s,i[2*r]=l,i[2*r+1]=u,a[r]=c,o[r]=h}function xU(t,e,r,n,i,a,o,s,l,u,c){s[t]=s[e],l[2*t]=l[2*e],l[2*t+1]=l[2*e+1],u[t]=u[e],c[t]=c[e],s[e]=r,l[2*e]=n,l[2*e+1]=i,u[e]=a,c[e]=o}function bU(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function _U(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}var wU=function(t,e,r,n){var i=t.length>>>1;if(i<1)return[];e||(e=Array(i));r||(r=Array(i));n||(n=[]);for(var a=0;a<i;++a)e[a]=a;if(!n.length||n.length<4||n[0]>=n[2]||n[1]>=n[3]){var o=_V(t,2);o[0]===o[2]&&(o[2]+=1),o[1]===o[3]&&(o[3]+=1),n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3]}var s=n[0],l=n[1],u=n[2],c=n[3],h=1/(u-s),f=1/(c-l),p=Math.max(u-s,c-l),d=new Int32Array(i),g=0;(function n(i,a,o,s,l,u){var c=.5*o;var h=s+1;var f=l-s;r[g]=f;d[g++]=u;for(var p=0;p<2;++p)for(var v=0;v<2;++v){var m=i+p*c,y=a+v*c,x=MU(t,e,h,l,m,y,m+c,y+c);if(x!==h){if(x-h>=Math.max(.9*f,32)){var b=l+s>>>1;n(m,y,c,h,b,u+1),h=b}n(m,y,c,h,x,u+1),h=x}}})(s,l,p,0,i,0),pU(d,t,e,r,i);for(var v=[],m=0,y=i,g=i-1;g>=0;--g){t[2*g]=(t[2*g]-s)*h,t[2*g+1]=(t[2*g+1]-l)*f;var x=d[g];x!==m&&(v.push(new AU(p*Math.pow(.5,x),g+1,y-(g+1))),y=g+1,m=x)}return v.push(new AU(p*Math.pow(.5,x+1),0,y)),v};function MU(t,e,r,n,i,a,o,s){for(var l=r,u=r;u<n;++u){var c=t[2*u],h=t[2*u+1],f=e[u];i<=c&&c<=o&&a<=h&&h<=s&&(u===l?l+=1:(t[2*u]=t[2*l],t[2*u+1]=t[2*l+1],e[u]=e[l],t[2*l]=c,t[2*l+1]=h,e[l]=f,l+=1))}return l}function AU(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var kU=TV.float32,TU=TV.fract32,SU=function(t,e){\\\"function\\\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null);e&&e.length&&(e.positions=e);var r,n,i,a,o,s,l,u=(t=e.regl)._gl,c=[],h={},f={color:\\\"black\\\",borderColor:\\\"transparent\\\",borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},p=[],d=[null],g=[null],v=4096,m=100;l=t.texture({data:new Uint8Array(4*v),width:v,height:1,type:\\\"uint8\\\",format:\\\"rgba\\\",wrapS:\\\"clamp\\\",wrapT:\\\"clamp\\\",mag:\\\"nearest\\\",min:\\\"nearest\\\"}),i=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),s=t.buffer({usage:\\\"dynamic\\\",type:\\\"uint16\\\",data:null}),a=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),o=t.buffer({usage:\\\"dynamic\\\",type:\\\"float\\\",data:null}),e.clone?(p=e.clone.groups.map(function(e){return(e=Us({},e)).markerIds&&(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:\\\"points\\\",type:\\\"uint32\\\",data:e.data}),r})),e}),e.clone.markers.forEach(function(t){S(t)}),C(e.clone.palette),T({point:!0,color:!0,size:!0})):k(e);var y={uniforms:{pixelRatio:t.context(\\\"pixelRatio\\\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\\\"scale\\\"),scaleFract:t.prop(\\\"scaleFract\\\"),translate:t.prop(\\\"translate\\\"),translateFract:t.prop(\\\"translateFract\\\"),opacity:t.prop(\\\"opacity\\\"),marker:t.prop(\\\"marker\\\")},attributes:{position:a,positionFract:o,size:function(t,e){return e.size.length?{buffer:i,stride:2,offset:0}:{constant:[Math.round(255*e.size/m)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:i,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/m)]}},colorId:function(t,e){return e.color.length?{buffer:s,stride:8,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:s,stride:8,offset:4}:{constant:[e.borderColor]}}},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\\\"};if(lU)n=t(Us({},y,{frag:E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nuniform vec4 color, borderColor;\\\\nuniform float opacity;\\\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\\\n\\\\nfloat smoothStep(float x, float y) {\\\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\\\n}\\\\n\\\\nvoid main() {\\\\n  float radius = length(2.0*gl_PointCoord.xy-1.0);\\\\n  if(radius > 1.0) {\\\\n    discard;\\\\n  }\\\\n\\\\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\\\\n\\\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\\\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\\\n}\\\\n\\\"]),vert:E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\nattribute float size, borderSize;\\\\n\\\\nuniform vec2 scale, scaleFract, translate, translateFract;\\\\nuniform float pixelRatio;\\\\n\\\\nconst float maxSize = 100.;\\\\n\\\\nvarying vec4 fragColor, fragBorderColor;\\\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\\\n\\\\nvoid main() {\\\\n  float size = size * maxSize / 255.;\\\\n  float borderSize = borderSize * maxSize / 255.;\\\\n  fragBorderSize = borderSize;\\\\n  fragSize = size;\\\\n\\\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\\\n\\\\n  vec2 pos = (position + translate) * scale\\\\n\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scale\\\\n\\\\t\\\\t\\\\t+ (position + translate) * scaleFract\\\\n\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scaleFract;\\\\n\\\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\\\n\\\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\\\n  fragWidth = 1. / gl_PointSize;\\\\n}\\\\n\\\"]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return c.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return c.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(\\\"pixelRatio\\\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\\\"scale\\\"),scaleFract:t.prop(\\\"scaleFract\\\"),translate:t.prop(\\\"translate\\\"),translateFract:t.prop(\\\"translateFract\\\"),opacity:t.prop(\\\"opacity\\\"),marker:t.prop(\\\"marker\\\")},attributes:{position:a,positionFract:o,size:y.attributes.size,borderSize:y.attributes.borderSize}}));else{var x=Us({},y);x.frag=E_([\\\"precision mediump 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);\\\\n    return;\\\\n  }\\\\n\\\\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\\\"]),x.vert=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\nattribute float size, borderSize;\\\\nattribute vec2 colorId, borderColorId;\\\\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,\\\\n\\\\t\\\\tfragWidth, fragBorderColorLevel, fragColorLevel;\\\\n\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\\\n  vec4 borderColor = texture2D(palette, paletteCoord(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}\\\\n\\\"]),r=t(x);var b=Us({},y);b.frag=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nvarying vec4 fragColor, fragBorderColor;\\\\n\\\\nuniform float opacity;\\\\nvarying float fragBorderRadius, fragWidth;\\\\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\\\\treturn;\\\\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\\\"]),b.vert=E_([\\\"precision highp float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec2 position, positionFract;\\\\nattribute float size, borderSize;\\\\nattribute vec2 colorId, borderColorId;\\\\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\\\\nvec2 paletteCoord(float id) {\\\\n  return vec2(\\\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\\\n  );\\\\n}\\\\nvec2 paletteCoord(vec2 id) {\\\\n  return vec2(\\\\n    (id.x + .5) / paletteSize.x,\\\\n    (id.y + .5) / paletteSize.y\\\\n  );\\\\n}\\\\n\\\\nvoid main() {\\\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\\\n  vec4 borderColor = texture2D(palette, paletteCoord(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\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scale\\\\n\\\\t\\\\t\\\\t+ (position + translate) * scaleFract\\\\n\\\\t\\\\t\\\\t+ (positionFract + translateFract) * scaleFract;\\\\n\\\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\\\n\\\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\\\n  fragColor = color;\\\\n  fragBorderColor = borderColor;\\\\n  fragWidth = 1. / gl_PointSize;\\\\n}\\\\n\\\"]),n=t(b)}function _(t){t?k(t):null===t&&L(),w()}function w(t){if(\\\"number\\\"==typeof t)return M(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?M(t,e):M(t)}):p.forEach(function(t,e){t&&M(e)})}function M(e,i){var a;if(\\\"number\\\"==typeof e&&(e=p[e]),Array.isArray(e)&&(a=e,e=p[i]),e&&e.count&&e.opacity){var o;if(a){o=Array(e.count);for(var s=0;s<a.length;s++)o[a[s]]=!0}if(e.markerIds[0]){t._refresh();var l=A(e.markerIds[0],e,o);n(l)}for(var u=[],c=1;c<e.markerIds.length;c++){var h=e.markerIds[c];h&&h.length&&[].push.apply(u,A(h,e,o))}u.length&&(t._refresh(),r(u))}}function A(t,e,r){var n=e.range,i=e.offset;if(!t.snap){var a=r?x(t.data,r):t.elements;return[Us({},e,{elements:a,offset:0,count:r?a.length:t.length,marker:d[t.id]})]}for(var o=[],s=t.lod,l=t.x,u=t.id,c=Math.min((n[2]-n[0])/e.viewport.width,(n[3]-n[1])/e.viewport.height),h=s.length;h--;){var f=s[h];if(!(f.pixelSize&&f.pixelSize<c&&h>1)){var p=f.offset,g=f.count+p,v=fU.ge(l,n[0],p,g-1),m=fU.lt(l,n[2],v,g-1)+1;if(!(m<=v))if(r){var y=x(t.data.subarray(v,m),r);o.push(Us({},e,{elements:y,marker:d[u],offset:0,count:y.length}))}else o.push(Us({},e,{elements:t.elements,marker:d[u],offset:v,count:m-v}))}}function x(t,e){for(var r=[],n=0,a=t.length;n<a;n++){var o=t[n],s=o-i;e[s]&&r.push(o)}return r}return o}function k(e){if(e){null!=e.length?\\\"number\\\"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,i=0;_.groups=p=e.map(function(e,a){var o=p[a];return void 0===e?o:(null===e?e={positions:null}:\\\"function\\\"==typeof e?e={after:e}:\\\"number\\\"==typeof e[0]&&(e={positions:e}),null===(e=MV(e,{positions:\\\"positions data points\\\",snap:\\\"snap cluster\\\",size:\\\"sizes size radius\\\",borderSize:\\\"borderSizes borderSize stroke-width strokeWidth outline\\\",color:\\\"colors color fill fill-color fillColor\\\",borderColor:\\\"borderColors borderColor stroke stroke-color strokeColor\\\",palette:\\\"palette swatch\\\",marker:\\\"markers marker shape\\\",range:\\\"range dataBox\\\",viewport:\\\"viewport viewBox\\\",opacity:\\\"opacity alpha\\\"})).positions&&(e.positions=[]),o||(p[a]=o={id:a,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=Us({},f,e)),!e.positions||\\\"marker\\\"in e||(e.marker=o.marker,delete o.marker),!e.marker||\\\"positions\\\"in e||(e.positions=o.positions,delete o.positions),EV(o,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=E(t),i++,t},borderColor:function(t){return t=E(t),i++,t},positions:function(t,e,n){t=wV(t,\\\"float64\\\");var i=e.count=Math.floor(t.length/2),a=e.bounds=i?_V(t,2):null;return n.range||e.range||(delete e.range,n.range=a),e.offset=r,r+=i,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&&\\\"number\\\"!=typeof t[0])for(var n=0,i=t.length;n<i;n++){var a=S(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{var o=S(t),s=gV(e.count);e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,o=r.offset,s=0;s<n.length;s++){var l=n[s];if(l&&l.length){var u=l.length,c=void 0;if(l.id=s,i&&(!0===i||u>i)){l.snap=!0;var h=l.x=Array(u),f=l.w=Array(u),p=void 0;if(n.length>1){p=Array(2*u);for(var d=0;d<u;d++){var g=l[d];p[2*d]=e[2*g],p[2*d+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);l.lod=wU(p,v,f,a),c=new Uint32Array(u);for(var m=0;m<u;m++){var y=v[m],x=l[y];c[m]=x+o,h[m]=e[2*x]}}else{c=new Uint32Array(u);for(var b=0;b<u;b++)c[b]=l[b]+o}l.data=c,l.elements=t.elements({primitive:\\\"points\\\",type:\\\"uint32\\\",data:c})}}},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=TU(e.scale),e.translateFract=TU(e.translate),t},viewport:function(t){return uU(t||[u.drawingBufferWidth,u.drawingBufferHeight])}}]),o)}),T({point:r,size:n,color:i})}}function T(t){var e=t.point,r=t.size,n=t.color,l=p.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var u=new Float32Array(2*l),c=new Float32Array(2*l);p.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&&(u.set(kU(r),2*i),c.set(TU(r),2*i))}}),a(u),o(c)}if(r){var h=new Uint8Array(2*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&&(i.length||a.length)){for(var o=new Uint8Array(2*r),s=0;s<r;s++)o[2*s]=Math.round(255*(null==i[s]?i:i[s])/m),o[2*s+1]=Math.round(255*(null==a[s]?a:a[s])/m);h.set(o,2*n)}}}),i(h)}if(n){var f=new Uint16Array(4*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&&(i.length||a.length)){for(var o=new Uint16Array(4*r),s=0;s<r;s++)null!=i[s]&&(o[4*s]=i[s]%v,o[4*s+1]=Math.floor(i[s]/v)),null!=a[s]&&(o[4*s+2]=a[s]%v,o[4*s+3]=Math.floor(a[s]/v));f.set(o,4*n)}}}),s(f)}}function S(e){var r,n=null==e?0:g.indexOf(e);if(n>=0)return n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)r=e;else{r=new Uint8Array(e.length);for(var i=0,a=e.length;i<a;i++)r[i]=255*e[i]}var o=Math.floor(Math.sqrt(r.length));return n=d.length,g.push(e),d.push(t.texture({channels:1,data:r,radius:o,mag:\\\"linear\\\",min:\\\"linear\\\"})),n}function E(t){Array.isArray(t)||(t=[t]);for(var e=[],r=0;r<t.length;r++){var n=t[r];if(\\\"number\\\"!=typeof n){n=GC(n,\\\"uint8\\\");var i=oU(n,!1);if(null==h[i]){var a=c.length;h[i]=Math.floor(a/4),c[a]=n[0],c[a+1]=n[1],c[a+2]=n[2],c[a+3]=n[3]}e[r]=h[i]}else e[r]=n}return C(c),1===e.length?e[0]:e}function C(t){var e=Math.ceil(.25*t.length/v);if(e>1)for(var r=.25*(t=t.slice()).length%v;r<e*v;r++)t.push(0,0,0,0);l.height<e&&l.resize(v,e),l.subimage({width:Math.min(.25*t.length,v),height:e,data:t},0,0)}function L(){p.length=0,i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}return Us(_,{update:k,draw:w,destroy:L,regl:t,gl:u,canvas:u.canvas,groups:p,markers:g,palette:c}),_};var EU=function(t,e){e||(e={});var r,n,i,a,o,s,l,u,c,h,f,p=null==e.cutoff?.25:e.cutoff,d=null==e.radius?8:e.radius,g=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,n=e.height,a=t,s=e.stride?e.stride:Math.floor(t.length/r/n)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(l=(u=t).getContext(\\\"2d\\\"),r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(u=t.canvas,l=t,r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.ImageData&&t instanceof window.ImageData&&(c=t,r=t.width,n=t.height,a=c.data,s=4);if(i=Math.max(r,n),window.Uint8ClampedArray&&a instanceof window.Uint8ClampedArray||window.Uint8Array&&a instanceof window.Uint8Array)for(o=a,a=Array(r*n),h=0,f=o.length;h<f;h++)a[h]=o[h*s+g]/255;else if(1!==s)throw Error(\\\"Raw data can have only 1 value per pixel\\\");var v=Array(r*n),m=Array(r*n),y=Array(i),x=Array(i),b=Array(i+1),_=Array(i);for(h=0,f=r*n;h<f;h++){var w=a[h];v[h]=1===w?0:0===w?CU:Math.pow(Math.max(0,.5-w),2),m[h]=1===w?CU:0===w?0:Math.pow(Math.max(0,w-.5),2)}LU(v,r,n,y,x,_,b),LU(m,r,n,y,x,_,b);var M=window.Float32Array?new Float32Array(r*n):new Array(r*n);for(h=0,f=r*n;h<f;h++)M[h]=FC(1-((v[h]-m[h])/d+p),0,1);return M},CU=1e20;function LU(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(zU(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(zU(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function zU(t,e,r,n,i){r[0]=0,n[0]=-CU,n[1]=+CU;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+CU}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}var PU=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\\\"a\\\":t[6]+=n,t[7]+=i;break;case\\\"v\\\":t[1]+=i;break;case\\\"h\\\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\\\"Z\\\":n=e,i=r;break;case\\\"H\\\":n=t[1];break;case\\\"V\\\":i=t[1];break;case\\\"M\\\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})};var IU=Math.PI,DU=jU(120),OU=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\\\"M\\\":a=p[1],o=p[2];break;case\\\"A\\\":(p=BU(u,c,p[1],p[2],jU(p[3]),p[4],p[5],p[6],p[7])).unshift(\\\"C\\\"),p.length>7&&(r.push(p.splice(0,7)),p.unshift(\\\"C\\\"));break;case\\\"S\\\":var g=u,v=c;\\\"C\\\"!=e&&\\\"S\\\"!=e||(g+=g-n,v+=v-i),p=[\\\"C\\\",g,v,p[1],p[2],p[3],p[4]];break;case\\\"T\\\":\\\"Q\\\"==e||\\\"T\\\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=FU(u,c,s,l,p[1],p[2]);break;case\\\"Q\\\":s=p[1],l=p[2],p=FU(u,c,p[1],p[2],p[3],p[4]);break;case\\\"L\\\":p=RU(u,c,p[1],p[2]);break;case\\\"H\\\":p=RU(u,c,p[1],c);break;case\\\"V\\\":p=RU(u,c,u,p[1]);break;case\\\"Z\\\":p=RU(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function RU(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function FU(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function BU(t,e,r,n,i,a,o,s,l,u){if(u)x=u[0],b=u[1],m=u[2],y=u[3];else{var c=NU(t,e,-i);t=c.x,e=c.y;var h=(t-(s=(c=NU(s,l,-i)).x))/2,f=(e-(l=c.y))/2,p=h*h/(r*r)+f*f/(n*n);p>1&&(r*=p=Math.sqrt(p),n*=p);var d=r*r,g=n*n,v=(a==o?-1:1)*Math.sqrt(Math.abs((d*g-d*f*f-g*h*h)/(d*f*f+g*h*h)));v==1/0&&(v=1);var m=v*r*f/n+(t+s)/2,y=v*-n*h/r+(e+l)/2,x=Math.asin(((e-y)/n).toFixed(9)),b=Math.asin(((l-y)/n).toFixed(9));x=t<m?IU-x:x,b=s<m?IU-b:b,x<0&&(x=2*IU+x),b<0&&(b=2*IU+b),o&&x>b&&(x-=2*IU),!o&&b>x&&(b-=2*IU)}if(Math.abs(b-x)>DU){var _=b,w=s,M=l;b=x+DU*(o&&b>x?1:-1);var A=BU(s=m+r*Math.cos(b),l=y+n*Math.sin(b),r,n,i,0,o,w,M,[b,_,m,y])}var k=Math.tan((b-x)/4),T=4/3*r*k,S=4/3*n*k,E=[2*t-(t+T*Math.sin(x)),2*e-(e-S*Math.cos(x)),s+T*Math.sin(b),l-S*Math.cos(b),s,l];if(u)return E;A&&(E=E.concat(A));for(var C=0;C<E.length;){var L=NU(E[C],E[C+1],i);E[C++]=L.x,E[C++]=L.y}return E}function NU(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function jU(t){return t*(IU/180)}var VU={M:\\\"moveTo\\\",C:\\\"bezierCurveTo\\\"},UU=function(t,e){t.beginPath(),OU(PU(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[VU[r]].apply(t,n)}),t.closePath()},qU=function(t){return\\\"string\\\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\\\dz]$/i.test(t)&&t.length>4))},HU=function(t){var e=[];return t.replace(WU,function(t,r,n){var i=r.toLowerCase();for(n=function(t){var e=t.match(YU);return e?e.map(Number):[]}(n),\\\"m\\\"==i&&n.length>2&&(e.push([r].concat(n.splice(0,2))),i=\\\"l\\\",r=\\\"m\\\"==r?\\\"l\\\":\\\"L\\\");;){if(n.length==GU[i])return n.unshift(r),e.push(n);if(n.length<GU[i])throw new Error(\\\"malformed path data\\\");e.push([r].concat(n.splice(0,GU[i])))}}),e},GU={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},WU=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var YU=/-?[0-9]*\\\\.?[0-9]+(?:e[-+]?\\\\d+)?/gi;var XU={};XU=\\\"function\\\"==typeof Object.create?function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t};var ZU=function(t){return t&&\\\"object\\\"==typeof t&&\\\"function\\\"==typeof t.copy&&\\\"function\\\"==typeof t.fill&&\\\"function\\\"==typeof t.readUInt8},JU={};(function(t,e){var r=/%[sdj%]/g;JU.format=function(t){if(!g(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(a(arguments[n]));return e.join(\\\" \\\")}n=1;for(var i=arguments,o=i.length,s=String(t).replace(r,function(t){if(\\\"%%\\\"===t)return\\\"%\\\";if(n>=o)return t;switch(t){case\\\"%s\\\":return String(i[n++]);case\\\"%d\\\":return Number(i[n++]);case\\\"%j\\\":try{return JSON.stringify(i[n++])}catch(t){return\\\"[Circular]\\\"}default:return t}}),l=i[n];n<o;l=i[++n])p(l)||!y(l)?s+=\\\" \\\"+l:s+=\\\" \\\"+a(l);return s},JU.deprecate=function(r,n){if(v(e.process))return function(){return JU.deprecate(r,n).apply(this,arguments)};if(!0===t.noDeprecation)return r;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(n);t.traceDeprecation?console.trace(n):console.error(n),i=!0}return r.apply(this,arguments)}};var n,i={};function a(t,e){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(e)?r.showHidden=e:e&&JU._extend(r,e),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),l(r,t,r.depth)}function o(t,e){var r=a.styles[e];return r?\\\"\\\\x1b[\\\"+a.colors[r][0]+\\\"m\\\"+t+\\\"\\\\x1b[\\\"+a.colors[r][1]+\\\"m\\\":t}function s(t,e){return t}function l(t,e,r){if(t.customInspect&&e&&_(e.inspect)&&e.inspect!==JU.inspect&&(!e.constructor||e.constructor.prototype!==e)){var n=e.inspect(r,t);return g(n)||(n=l(t,n,r)),n}var i=function(t,e){if(v(e))return t.stylize(\\\"undefined\\\",\\\"undefined\\\");if(g(e)){var r=\\\"'\\\"+JSON.stringify(e).replace(/^\\\"|\\\"$/g,\\\"\\\").replace(/'/g,\\\"\\\\\\\\'\\\").replace(/\\\\\\\\\\\"/g,'\\\"')+\\\"'\\\";return t.stylize(r,\\\"string\\\")}if(d(e))return t.stylize(\\\"\\\"+e,\\\"number\\\");if(f(e))return t.stylize(\\\"\\\"+e,\\\"boolean\\\");if(p(e))return t.stylize(\\\"null\\\",\\\"null\\\")}(t,e);if(i)return i;var a=Object.keys(e),o=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(e)),b(e)&&(a.indexOf(\\\"message\\\")>=0||a.indexOf(\\\"description\\\")>=0))return u(e);if(0===a.length){if(_(e)){var s=e.name?\\\": \\\"+e.name:\\\"\\\";return t.stylize(\\\"[Function\\\"+s+\\\"]\\\",\\\"special\\\")}if(m(e))return t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\");if(x(e))return t.stylize(Date.prototype.toString.call(e),\\\"date\\\");if(b(e))return u(e)}var y,w=\\\"\\\",M=!1,A=[\\\"{\\\",\\\"}\\\"];(h(e)&&(M=!0,A=[\\\"[\\\",\\\"]\\\"]),_(e))&&(w=\\\" [Function\\\"+(e.name?\\\": \\\"+e.name:\\\"\\\")+\\\"]\\\");return m(e)&&(w=\\\" \\\"+RegExp.prototype.toString.call(e)),x(e)&&(w=\\\" \\\"+Date.prototype.toUTCString.call(e)),b(e)&&(w=\\\" \\\"+u(e)),0!==a.length||M&&0!=e.length?r<0?m(e)?t.stylize(RegExp.prototype.toString.call(e),\\\"regexp\\\"):t.stylize(\\\"[Object]\\\",\\\"special\\\"):(t.seen.push(e),y=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)k(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(\\\"\\\");return i.forEach(function(i){i.match(/^\\\\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,r,o,a):a.map(function(n){return c(t,e,r,o,n,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,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]}(y,w,A)):A[0]+w+A[1]}function u(t){return\\\"[\\\"+Error.prototype.toString.call(t)+\\\"]\\\"}function c(t,e,r,n,i,a){var o,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize(\\\"[Getter/Setter]\\\",\\\"special\\\"):t.stylize(\\\"[Getter]\\\",\\\"special\\\"):u.set&&(s=t.stylize(\\\"[Setter]\\\",\\\"special\\\")),k(n,i)||(o=\\\"[\\\"+i+\\\"]\\\"),s||(t.seen.indexOf(u.value)<0?(s=p(r)?l(t,u.value,null):l(t,u.value,r-1)).indexOf(\\\"\\\\n\\\")>-1&&(s=a?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\\\")),v(o)){if(a&&i.match(/^\\\\d+$/))return s;(o=JSON.stringify(\\\"\\\"+i)).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 h(t){return Array.isArray(t)}function f(t){return\\\"boolean\\\"==typeof t}function p(t){return null===t}function d(t){return\\\"number\\\"==typeof t}function g(t){return\\\"string\\\"==typeof t}function v(t){return void 0===t}function m(t){return y(t)&&\\\"[object RegExp]\\\"===w(t)}function y(t){return\\\"object\\\"==typeof t&&null!==t}function x(t){return y(t)&&\\\"[object Date]\\\"===w(t)}function b(t){return y(t)&&(\\\"[object Error]\\\"===w(t)||t instanceof Error)}function _(t){return\\\"function\\\"==typeof t}function w(t){return Object.prototype.toString.call(t)}function M(t){return t<10?\\\"0\\\"+t.toString(10):t.toString(10)}JU.debuglog=function(e){if(v(n)&&(n=t.env.NODE_DEBUG||\\\"\\\"),e=e.toUpperCase(),!i[e])if(new RegExp(\\\"\\\\\\\\b\\\"+e+\\\"\\\\\\\\b\\\",\\\"i\\\").test(n)){var r=t.pid;i[e]=function(){var t=JU.format.apply(JU,arguments);console.error(\\\"%s %d: %s\\\",e,r,t)}}else i[e]=function(){};return i[e]},JU.inspect=a,a.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]},a.styles={special:\\\"cyan\\\",number:\\\"yellow\\\",boolean:\\\"yellow\\\",undefined:\\\"grey\\\",null:\\\"bold\\\",string:\\\"green\\\",date:\\\"magenta\\\",regexp:\\\"red\\\"},JU.isArray=h,JU.isBoolean=f,JU.isNull=p,JU.isNullOrUndefined=function(t){return null==t},JU.isNumber=d,JU.isString=g,JU.isSymbol=function(t){return\\\"symbol\\\"==typeof t},JU.isUndefined=v,JU.isRegExp=m,JU.isObject=y,JU.isDate=x,JU.isError=b,JU.isFunction=_,JU.isPrimitive=function(t){return null===t||\\\"boolean\\\"==typeof t||\\\"number\\\"==typeof t||\\\"string\\\"==typeof t||\\\"symbol\\\"==typeof t||void 0===t},JU.isBuffer=ZU;var A=[\\\"Jan\\\",\\\"Feb\\\",\\\"Mar\\\",\\\"Apr\\\",\\\"May\\\",\\\"Jun\\\",\\\"Jul\\\",\\\"Aug\\\",\\\"Sep\\\",\\\"Oct\\\",\\\"Nov\\\",\\\"Dec\\\"];function k(t,e){return Object.prototype.hasOwnProperty.call(t,e)}JU.log=function(){var t,e;console.log(\\\"%s - %s\\\",(t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(\\\":\\\"),[t.getDate(),A[t.getMonth()],e].join(\\\" \\\")),JU.format.apply(JU,arguments))},JU.inherits=XU,JU._extend=function(t,e){if(!e||!y(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,Pp,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var KU={};(function(t){\\\"use strict\\\";function e(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function r(e){return t.Buffer&&\\\"function\\\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var n=Object.prototype.hasOwnProperty,i=Array.prototype.slice,a=\\\"foo\\\"===function(){}.name;function o(t){return Object.prototype.toString.call(t)}function s(e){return!r(e)&&(\\\"function\\\"==typeof t.ArrayBuffer&&(\\\"function\\\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var l=KU=d,u=/\\\\s*function\\\\s+([^\\\\(\\\\s]*)\\\\s*/;function c(t){if(JU.isFunction(t)){if(a)return t.name;var e=t.toString().match(u);return e&&e[1]}}function h(t,e){return\\\"string\\\"==typeof t?t.length<e?t:t.slice(0,e):t}function f(t){if(a||!JU.isFunction(t))return JU.inspect(t);var e=c(t);return\\\"[Function\\\"+(e?\\\": \\\"+e:\\\"\\\")+\\\"]\\\"}function p(t,e,r,n,i){throw new l.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function d(t,e){t||p(t,!0,e,\\\"==\\\",l.ok)}function g(t,n,a,l){if(t===n)return!0;if(r(t)&&r(n))return 0===e(t,n);if(JU.isDate(t)&&JU.isDate(n))return t.getTime()===n.getTime();if(JU.isRegExp(t)&&JU.isRegExp(n))return t.source===n.source&&t.global===n.global&&t.multiline===n.multiline&&t.lastIndex===n.lastIndex&&t.ignoreCase===n.ignoreCase;if(null!==t&&\\\"object\\\"==typeof t||null!==n&&\\\"object\\\"==typeof n){if(s(t)&&s(n)&&o(t)===o(n)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===e(new Uint8Array(t.buffer),new Uint8Array(n.buffer));if(r(t)!==r(n))return!1;var u=(l=l||{actual:[],expected:[]}).actual.indexOf(t);return-1!==u&&u===l.expected.indexOf(n)||(l.actual.push(t),l.expected.push(n),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(JU.isPrimitive(t)||JU.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=v(t),o=v(e);if(a&&!o||!a&&o)return!1;if(a)return t=i.call(t),e=i.call(e),g(t,e,r);var s,l,u=x(t),c=x(e);if(u.length!==c.length)return!1;for(u.sort(),c.sort(),l=u.length-1;l>=0;l--)if(u[l]!==c[l])return!1;for(l=u.length-1;l>=0;l--)if(s=u[l],!g(t[s],e[s],r,n))return!1;return!0}(t,n,a,l))}return a?t===n:t==n}function v(t){return\\\"[object Arguments]\\\"==Object.prototype.toString.call(t)}function m(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 y(t,e,r,n){var i;if(\\\"function\\\"!=typeof e)throw new TypeError('\\\"block\\\" argument must be a function');\\\"string\\\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\\\" (\\\"+r.name+\\\").\\\":\\\".\\\")+(n?\\\" \\\"+n:\\\".\\\"),t&&!i&&p(i,r,\\\"Missing expected exception\\\"+n);var a=\\\"string\\\"==typeof n,o=!t&&JU.isError(i),s=!t&&i&&!r;if((o&&a&&m(i,r)||s)&&p(i,r,\\\"Got unwanted exception\\\"+n),t&&i&&r&&!m(i,r)||!t&&i)throw i}l.AssertionError=function(t){var e;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=h(f((e=this).actual),128)+\\\" \\\"+e.operator+\\\" \\\"+h(f(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||p;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=c(r),o=i.indexOf(\\\"\\\\n\\\"+a);if(o>=0){var s=i.indexOf(\\\"\\\\n\\\",o+1);i=i.substring(s+1)}this.stack=i}}},JU.inherits(l.AssertionError,Error),l.fail=p,l.ok=d,l.equal=function(t,e,r){t!=e&&p(t,e,r,\\\"==\\\",l.equal)},l.notEqual=function(t,e,r){t==e&&p(t,e,r,\\\"!=\\\",l.notEqual)},l.deepEqual=function(t,e,r){g(t,e,!1)||p(t,e,r,\\\"deepEqual\\\",l.deepEqual)},l.deepStrictEqual=function(t,e,r){g(t,e,!0)||p(t,e,r,\\\"deepStrictEqual\\\",l.deepStrictEqual)},l.notDeepEqual=function(t,e,r){g(t,e,!1)&&p(t,e,r,\\\"notDeepEqual\\\",l.notDeepEqual)},l.notDeepStrictEqual=function t(e,r,n){g(e,r,!0)&&p(e,r,n,\\\"notDeepStrictEqual\\\",t)},l.strictEqual=function(t,e,r){t!==e&&p(t,e,r,\\\"===\\\",l.strictEqual)},l.notStrictEqual=function(t,e,r){t===e&&p(t,e,r,\\\"!==\\\",l.notStrictEqual)},l.throws=function(t,e,r){y(!0,t,e,r)},l.doesNotThrow=function(t,e,r){y(!1,t,e,r)},l.ifError=function(t){if(t)throw t};var x=Object.keys||function(t){var e=[];for(var r in t)n.call(t,r)&&e.push(r);return e}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var QU={};Object.defineProperty(QU,\\\"__esModule\\\",{value:!0});var $U=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=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){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\")}}(),tq=2*Math.PI,eq=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},rq=function(t,e){var r=4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},nq=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};QU.default=function(t){var e=t.px,r=t.py,n=t.cx,i=t.cy,a=t.rx,o=t.ry,s=t.xAxisRotation,l=void 0===s?0:s,u=t.largeArcFlag,c=void 0===u?0:u,h=t.sweepFlag,f=void 0===h?0:h,p=[];if(0===a||0===o)return[];var d=Math.sin(l*tq/360),g=Math.cos(l*tq/360),v=g*(e-n)/2+d*(r-i)/2,m=-d*(e-n)/2+g*(r-i)/2;if(0===v&&0===m)return[];a=Math.abs(a),o=Math.abs(o);var y=Math.pow(v,2)/Math.pow(a,2)+Math.pow(m,2)/Math.pow(o,2);y>1&&(a*=Math.sqrt(y),o*=Math.sqrt(y));var x=function(t,e,r,n,i,a,o,s,l,u,c,h){var f=Math.pow(i,2),p=Math.pow(a,2),d=Math.pow(c,2),g=Math.pow(h,2),v=f*p-f*g-p*d;v<0&&(v=0),v/=f*g+p*d;var m=(v=Math.sqrt(v)*(o===s?-1:1))*i/a*h,y=v*-a/i*c,x=u*m-l*y+(t+r)/2,b=l*m+u*y+(e+n)/2,_=(c-m)/i,w=(h-y)/a,M=(-c-m)/i,A=(-h-y)/a,k=nq(1,0,_,w),T=nq(_,w,M,A);return 0===s&&T>0&&(T-=tq),1===s&&T<0&&(T+=tq),[x,b,k,T]}(e,r,n,i,a,o,c,f,d,g,v,m),b=$U(x,4),_=b[0],w=b[1],M=b[2],A=b[3],k=Math.max(Math.ceil(Math.abs(A)/(tq/4)),1);A/=k;for(var T=0;T<k;T++)p.push(rq(M,A)),M+=A;return p.map(function(t){var e=eq(t[0],a,o,g,d,_,w),r=e.x,n=e.y,i=eq(t[1],a,o,g,d,_,w),s=i.x,l=i.y,u=eq(t[2],a,o,g,d,_,w);return{x1:r,y1:n,x2:s,y2:l,x:u.x,y:u.y}})},QU=QU.default;var iq=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\\\"M\\\":a=p[1],o=p[2];break;case\\\"A\\\":var g=QU({px:u,py:c,cx:p[6],cy:p[7],rx:p[1],ry:p[2],xAxisRotation:p[3],largeArcFlag:p[4],sweepFlag:p[5]});if(!g.length)continue;for(var v,m=0;m<g.length;m++)v=g[m],p=[\\\"C\\\",v.x1,v.y1,v.x2,v.y2,v.x,v.y],m<g.length-1&&r.push(p);break;case\\\"S\\\":var y=u,x=c;\\\"C\\\"!=e&&\\\"S\\\"!=e||(y+=y-n,x+=x-i),p=[\\\"C\\\",y,x,p[1],p[2],p[3],p[4]];break;case\\\"T\\\":\\\"Q\\\"==e||\\\"T\\\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=oq(u,c,s,l,p[1],p[2]);break;case\\\"Q\\\":s=p[1],l=p[2],p=oq(u,c,p[1],p[2],p[3],p[4]);break;case\\\"L\\\":p=aq(u,c,p[1],p[2]);break;case\\\"H\\\":p=aq(u,c,p[1],c);break;case\\\"V\\\":p=aq(u,c,u,p[1]);break;case\\\"Z\\\":p=aq(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function aq(t,e,r,n){return[\\\"C\\\",t,e,r,n,r,n]}function oq(t,e,r,n,i,a){return[\\\"C\\\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}var sq=function(t){Array.isArray(t)&&1===t.length&&\\\"string\\\"==typeof t[0]&&(t=t[0]);\\\"string\\\"==typeof t&&(KU(qU(t),\\\"String is not an SVG path.\\\"),t=HU(t));if(KU(Array.isArray(t),\\\"Argument should be a string or an array of path segments.\\\"),t=PU(t),!(t=iq(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,n=t.length;r<n;r++)for(var i=t[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<e[0]&&(e[0]=i[a+0]),i[a+1]<e[1]&&(e[1]=i[a+1]),i[a+0]>e[2]&&(e[2]=i[a+0]),i[a+1]>e[3]&&(e[3]=i[a+1]);return e};var lq={};(function(t){\\\"use strict\\\";var e=document.createElement(\\\"canvas\\\"),r=e.getContext(\\\"2d\\\");lq=function(n,i){if(!qU(n))throw Error(\\\"Argument should be valid svg path string\\\");i||(i={});var a,o;i.shape?(a=i.shape[0],o=i.shape[1]):(a=e.width=i.w||i.width||200,o=e.height=i.h||i.height||200);var s=Math.min(a,o),l=i.stroke||0,u=i.viewbox||i.viewBox||sq(n),c=[a/(u[2]-u[0]),o/(u[3]-u[1])],h=Math.min(c[0]||0,c[1]||0)/2;r.fillStyle=\\\"black\\\",r.fillRect(0,0,a,o),r.fillStyle=\\\"white\\\",l&&(\\\"number\\\"!=typeof l&&(l=1),r.strokeStyle=l>0?\\\"white\\\":\\\"black\\\",r.lineWidth=Math.abs(l));if(r.translate(.5*a,.5*o),r.scale(h,h),t.Path2D){var f=new Path2D(n);r.fill(f),l&&r.stroke(f)}else{var p=HU(n);UU(r,p),r.fill(),l&&r.stroke()}return r.setTransform(1,0,0,1,0,0),EU(r,{cutoff:null!=i.cutoff?i.cutoff:.5,radius:null!=i.radius?i.radius:.5*s})}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var uq={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]},cq={},hq=m.extendFlat,fq=ye.overrideAll,pq=Zr.line,dq=Zr.marker,gq=dq.line,vq=cq=fq({x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:hq({},Zr.text,{}),mode:{valType:\\\"flaglist\\\",flags:[\\\"lines\\\",\\\"markers\\\"],extras:[\\\"none\\\"]},line:{color:pq.color,width:pq.width,dash:{valType:\\\"enumerated\\\",values:Object.keys(uq),dflt:\\\"solid\\\"}},marker:hq({},De(),{symbol:dq.symbol,size:dq.size,sizeref:dq.sizeref,sizemin:dq.sizemin,sizemode:dq.sizemode,opacity:dq.opacity,showscale:dq.showscale,colorbar:dq.colorbar,line:hq({},De(),{width:gq.width})}),connectgaps:Zr.connectgaps,fill:Zr.fill,fillcolor:Zr.fillcolor,hoveron:Zr.hoveron,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},opacity:E.opacity},\\\"calc\\\",\\\"nested\\\");vq.x.editType=vq.y.editType=vq.x0.editType=vq.y0.editType=\\\"calc+clearAxisTypes\\\";var mq=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cq,r,n)}var a=!!t.marker&&/-open/.test(t.marker.symbol),o=Tr.isBubble(t),s=Ta(t,e,n,i);if(s){i(\\\"text\\\"),i(\\\"mode\\\",s<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),Tr.hasLines(e)&&(i(\\\"connectgaps\\\"),px(t,e,r,n,i));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),i(\\\"marker.line.width\\\",a||o?1:0),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\");var u=P.getComponentMethod(\\\"errorbars\\\",\\\"supplyDefaults\\\");u(t,e,r,{axis:\\\"y\\\"}),u(t,e,r,{axis:\\\"x\\\",inherit:\\\"y\\\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},yq={};(function(e){\\\"use strict\\\";var r=sx,n=lx,i=t.BADNUM,a=200,o=20,s=o/20,l={},u=Sr.symbolFuncs[0](.05*o),c=1e5,h=/-dot/,f=/-open/;function p(t,e,r,n){var i,a,o,s,l,u,h,p,d,v,m,y,x,b,_=t._fullLayout,w=n.length/2,M=r.marker;if(!0!==r.visible?(a=!1,o=!1,s=!1,l=!1,u=!1):(a=Tr.hasLines(r)&&n.length>1,o=r.error_x&&!0===r.error_x.visible,s=r.error_y&&!0===r.error_y.visible,l=Tr.hasMarkers(r),u=!!r.fill&&\\\"none\\\"!==r.fill),o||s){var A=P.getComponentMethod(\\\"errorbars\\\",\\\"calcFromTrace\\\")(r,_);o&&(v=C(\\\"x\\\",r.error_x,A)),s&&(m=C(\\\"y\\\",r.error_y,A))}if(a){(h={}).thickness=r.line.width,h.color=r.line.color,h.opacity=r.opacity,h.overlay=!0;var k=(uq[r.line.dash]||[1]).slice();for(i=0;i<k.length;++i)k[i]*=h.thickness;if(h.dashes=k,\\\"hv\\\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i+2]),b.push(n[2*i+1]));b.push(n[n.length-2]),b.push(n[n.length-1])}else if(\\\"vh\\\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i]),b.push(n[2*i+3]));b.push(n[n.length-2]),b.push(n[n.length-1])}else b=n;var T=!1;for(i=0;i<b.length;i++)if(isNaN(b[i])){T=!0;break}if(h.join=T||b.length>c?\\\"rect\\\":l?\\\"rect\\\":\\\"round\\\",T&&r.connectgaps){var S=b[0],E=b[1];for(i=0;i<b.length;i+=2)isNaN(b[i])||isNaN(b[i+1])?(b[i]=S,b[i+1]=E):(S=b[i],E=b[i+1])}h.positions=b}function C(e,i,a){var o={};o.positions=n;for(var s=gn.getFromId(t,r[e+\\\"axis\\\"]),l=o.errors=new Float64Array(4*w),u={x:0,y:1}[e],c={x:[0,1,2,3],y:[2,3,0,1]}[e],h=0,f=0;h<w;h++,f+=4)l[f+c[0]]=n[2*h+u]-s.d2l(a[h][e+\\\"s\\\"])||0,l[f+c[1]]=s.d2l(a[h][e+\\\"h\\\"])-n[2*h+u]||0,l[f+c[2]]=0,l[f+c[3]]=0;return i.copy_ystyle&&(i=r.error_y),o.capSize=2*i.width,o.lineWidth=i.thickness,o.color=i.color,o}function L(t,e){var r={};return t?(t.marker&&t.marker.symbol?r=z(ne.extendFlat({},e,t.marker)):(r={},t.marker.size&&(r.sizes=t.marker.size),t.marker.color&&(r.colors=t.marker.color),void 0!==t.marker.opacity&&(r.opacity=t.marker.opacity)),r):r}function z(t){var e,n,i={},a=Array.isArray(t.symbol),o=ne.isArrayOrTypedArray(t.color),s=ne.isArrayOrTypedArray(t.line.color),l=ne.isArrayOrTypedArray(t.opacity),u=ne.isArrayOrTypedArray(t.size),c=ne.isArrayOrTypedArray(t.line.width);if(a||(n=f.test(t.symbol)),a||o||s||l){i.colors=new Array(w),i.borderColors=new Array(w);var h=Dj(t,t.opacity,w),p=Dj(t.line,t.opacity,w);if(!Array.isArray(p[0])){var d=p;for(p=Array(w),e=0;e<w;e++)p[e]=d}if(!Array.isArray(h[0])){var v=h;for(h=Array(w),e=0;e<w;e++)h[e]=v}for(i.colors=h,i.borderColors=p,e=0;e<w;e++){if(a){var m=t.symbol[e];n=f.test(m)}n&&(p[e]=h[e].slice(),h[e]=h[e].slice(),h[e][3]=0)}i.opacity=r.opacity}else n?(i.color=GC(t.color,\\\"uint8\\\"),i.color[3]=0,i.borderColor=GC(t.color,\\\"uint8\\\")):(i.color=GC(t.color,\\\"uint8\\\"),i.borderColor=GC(t.line.color,\\\"uint8\\\")),i.opacity=r.opacity*t.opacity;if(a)for(i.markers=new Array(w),e=0;e<w;e++)i.markers[e]=g(t.symbol[e]);else i.marker=g(t.symbol);var y,x=kr(r);if(u||c){var b,_=i.sizes=new Array(w),M=i.borderSizes=new Array(w),A=0;if(u){for(e=0;e<w;e++)_[e]=x(t.size[e]),A+=_[e];b=A/w}else for(y=x(t.size),e=0;e<w;e++)_[e]=y;if(c)for(e=0;e<w;e++)M[e]=x(t.line.width[e]);else for(y=x(t.line.width),e=0;e<w;e++)M[e]=y;i.sizeAvg=b}else i.size=x(t&&t.size||10),i.borderSizes=x(t.line.width);return i}return u&&((d={}).fill=r.fillcolor,d.thickness=0,d.closed=!0),l&&(p=z(M),y=L(r.selected,M),x=L(r.unselected,M),p.positions=n),{line:h,marker:p,errorX:v,errorY:m,fill:d,selected:y,unselected:x}}function d(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=ne.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n<r.count;n++)e[n]=t;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.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,u=e.yaxis;t=l&&l.domain&&u&&u.domain?[a.l+l.domain[0]*a.w,a.b+u.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-u.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&&((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&&((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&&(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||ne.extendFlat(r,i),r}function g(t){if(\\\"circle\\\"===t)return null;var e,r,n=Sr.symbolNumber(t),i=Sr.symbolFuncs[n%100],c=!!Sr.symbolNoDot[n%100],f=!!Sr.symbolNoFill[n%100],p=h.test(t);return l[t]?l[t]:(e=p&&!c?i(1.1*o)+u:i(o),r=lq(e,{w:a,h:a,viewBox:[-o,-o,o,o],stroke:f?s:-s}),l[t]=r,r||null)}yq={moduleType:\\\"trace\\\",name:\\\"scattergl\\\",basePlotModule:ua,categories:[\\\"gl\\\",\\\"regl\\\",\\\"cartesian\\\",\\\"symbols\\\",\\\"errorBarsOK\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:cq,supplyDefaults:mq,cleanData:ux,colorbar:is,calc:function(t,e){var a,o,s,l=t._fullLayout,u=gn.getFromId(t,e.xaxis),h=gn.getFromId(t,e.yaxis),f=l._plots[e.xaxis+e.yaxis],g=e._length,v=2*g,m={},y=u.makeCalcdata(e,\\\"x\\\"),x=h.makeCalcdata(e,\\\"y\\\"),b=new Array(v);for(a=0;a<g;a++)o=y[a],s=x[a],b[2*a]=o===i?NaN:o,b[2*a+1]=s===i?NaN:s;if(\\\"log\\\"===u.type)for(a=0;a<v;a+=2)b[a]=u.c2l(b[a]);if(\\\"log\\\"===h.type)for(a=1;a<v;a+=2)b[a]=h.c2l(b[a]);if(\\\"log\\\"!==u.type&&\\\"log\\\"!==h.type)m.tree=vV(b,512);else{var _=m.ids=new Array(g);for(a=0;a<g;a++)_[a]=a}ex(e);var w,M=p(t,0,e,b),A=M.marker,k=d(t,f);return g<c?w=r(e,g):A&&(w=2*(A.sizeAvg||Math.max(A.size,3))),n(t,e,u,h,y,x,w),M.fill&&!k.fill2d&&(k.fill2d=!0),M.marker&&!k.scatter2d&&(k.scatter2d=!0),M.line&&!k.line2d&&(k.line2d=!0),!M.errorX&&!M.errorY||k.error2d||(k.error2d=!0),k.lineOptions.push(M.line),k.errorXOptions.push(M.errorX),k.errorYOptions.push(M.errorY),k.fillOptions.push(M.fill),k.markerOptions.push(M.marker),k.selectedOptions.push(M.selected),k.unselectedOptions.push(M.unselected),k.count++,m.scene=k,m.index=k.count-1,m.x=y,m.y=x,m.positions=b,m.count=g,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,r,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene,o=i.dragmode;if(a){var s=i._size,l=i.width,u=i.height;i._glcanvas.each(function(r){r.regl||r.pick||(r.regl=YR({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},extensions:[\\\"ANGLE_instanced_arrays\\\",\\\"OES_element_index_uint\\\"],pixelRatio:t._context.plotGlPixelRatio||e.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(Mx(t,r,n),a.dirty){if(!0===a.error2d&&(a.error2d=zV(c)),!0===a.line2d&&(a.line2d=iU(c)),!0===a.scatter2d&&(a.scatter2d=SU(c)),!0===a.fill2d&&(a.fill2d=iU(c)),a.line2d&&a.line2d.update(a.lineOptions),a.error2d){var h=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(h)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(t,e){var r=n[e];if(!(t&&r&&r[0]&&r[0].trace))return null;var i,o,s=r[0],l=s.trace,u=s.t,c=a.lineOptions[e],h=[],f=c&&c.positions||u.positions;if(\\\"tozeroy\\\"===l.fill)(h=(h=[f[0],0]).concat(f)).push(f[f.length-2]),h.push(0);else if(\\\"tozerox\\\"===l.fill)(h=(h=[0,f[1]]).concat(f)).push(0),h.push(f[f.length-1]);else if(\\\"toself\\\"===l.fill||\\\"tonext\\\"===l.fill){for(h=[],i=0,o=0;o<f.length;o+=2)(isNaN(f[o])||isNaN(f[o+1]))&&((h=h.concat(f.slice(i,o))).push(f[i],f[i+1]),i=o+2);h=h.concat(f.slice(i)),i&&h.push(f[i],f[i+1])}else{var p=l._nexttrace;if(p){var d=a.lineOptions[e+1];if(d){var g=d.positions;if(\\\"tonexty\\\"===l.fill){for(h=f.slice(),e=Math.floor(g.length/2);e--;){var v=g[2*e],m=g[2*e+1];isNaN(v)||isNaN(m)||(h.push(v),h.push(m))}t.fill=p.fillcolor}}}}if(l._prevtrace&&\\\"tonext\\\"===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=h.length/2,b=[i=x];for(o=0;o<y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&&(b.push(o/2+x+1),i=o+2);h=h.concat(y),t.hole=b}return t.opacity=l.opacity,t.positions=h,t}),a.fill2d.update(a.fillOptions))}var f=\\\"lasso\\\"===o||\\\"select\\\"===o,p=n.map(function(e){if(e&&e[0]&&e[0].trace){var n,i=e[0],o=i.trace,c=i.t,h=c.index,p=c.x,d=c.y,g=r.xaxis||gn.getFromId(t,o.xaxis||\\\"x\\\"),v=r.yaxis||gn.getFromId(t,o.yaxis||\\\"y\\\"),m=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],y=[s.l+g.domain[0]*s.w,s.b+v.domain[0]*s.h,l-s.r-(1-g.domain[1])*s.w,u-s.t-(1-v.domain[1])*s.h];if(o.selectedpoints||f){if(f||(f=!0),a.selectBatch||(a.selectBatch=[]),a.unselectBatch||(a.unselectBatch=[]),o.selectedpoints){a.selectBatch[h]=o.selectedpoints;var x=o.selectedpoints,b={};for(n=0;n<x.length;n++)b[x[n]]=!0;var _=[];for(n=0;n<c.count;n++)b[n]||_.push(n);a.unselectBatch[h]=_}var w=new Array(c.count),M=new Array(c.count);for(n=0;n<c.count;n++)w[n]=g.c2p(p[n]),M[n]=v.c2p(d[n]);c.xpx=w,c.ypx=M}else c.xpx=c.ypx=null;return o.visible?{viewport:y,range:m}:null}});f&&(a.select2d||(a.select2d=SU(i._glcanvas.data()[1].regl,{clone:a.scatter2d})),a.scatter2d&&a.selectBatch&&a.selectBatch.length&&a.scatter2d.update(a.unselectedOptions.map(function(t,e){return a.selectBatch[e]?t:null})),a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.selectedOptions))),a.fill2d&&a.fill2d.update(p),a.line2d&&a.line2d.update(p),a.error2d&&a.error2d.update(p.concat(p)),a.scatter2d&&a.scatter2d.update(p),a.select2d&&a.select2d.update(p),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,o=a[0].t,s=a[0].trace,l=t.xa,u=t.ya,c=o.x,h=o.y,f=l.c2p(e),p=u.c2p(r),d=t.distance;if(o.tree){var g=l.p2c(f-d),v=l.p2c(f+d),m=u.p2c(p-d),y=u.p2c(p+d);i=\\\"x\\\"===n?o.tree.range(Math.min(g,v),Math.min(u._rl[0],u._rl[1]),Math.max(g,v),Math.max(u._rl[0],u._rl[1])):o.tree.range(Math.min(g,v),Math.min(m,y),Math.max(g,v),Math.max(m,y))}else{if(!o.ids)return[t];i=o.ids}var x,b,_,w,M,A,k,T,S=d;if(\\\"x\\\"===n)for(w=0;w<i.length;w++)b=c[i[w]],(M=Math.abs(l.c2p(b)-f))<S&&(S=M,A=u.c2p(h[i[w]])-p,T=Math.sqrt(M*M+A*A),x=i[w]);else for(w=0;w<i.length;w++)b=c[i[w]],_=h[i[w]],M=l.c2p(b)-f,A=u.c2p(_)-p,(k=Math.sqrt(M*M+A*A))<S&&(S=T=k,x=i[w]);if(t.index=x,void 0===x)return[t];var E={pointNumber:x,x:c[x],y:h[x]};E.tx=Array.isArray(s.text)?s.text[x]:s.text,E.htx=Array.isArray(s.hovertext)?s.hovertext[x]:s.hovertext,E.data=Array.isArray(s.customdata)?s.customdata[x]:s.customdata,E.tp=Array.isArray(s.textposition)?s.textposition[x]:s.textposition;var C=s.textfont;C&&(E.ts=Array.isArray(C.size)?C.size[x]:C.size,E.tc=Array.isArray(C.color)?C.color[x]:C.color,E.tf=Array.isArray(C.family)?C.family[x]:C.family);var L=s.marker;L&&(E.ms=ne.isArrayOrTypedArray(L.size)?L.size[x]:L.size,E.mo=ne.isArrayOrTypedArray(L.opacity)?L.opacity[x]:L.opacity,E.mx=Array.isArray(L.symbol)?L.symbol[x]:L.symbol,E.mc=ne.isArrayOrTypedArray(L.color)?L.color[x]:L.color);var z=L&&L.line;z&&(E.mlc=Array.isArray(z.color)?z.color[x]:z.color,E.mlw=ne.isArrayOrTypedArray(z.width)?z.width[x]:z.width);var I=L&&L.gradient;I&&\\\"none\\\"!==I.type&&(E.mgt=Array.isArray(I.type)?I.type[x]:I.type,E.mgc=Array.isArray(I.color)?I.color[x]:I.color);var D=l.c2p(E.x,!0),O=u.c2p(E.y,!0),R=E.mrc||1,F=s.hoverlabel;F&&(E.hbg=Array.isArray(F.bgcolor)?F.bgcolor[x]:F.bgcolor,E.hbc=Array.isArray(F.bordercolor)?F.bordercolor[x]:F.bordercolor,E.hts=Array.isArray(F.font.size)?F.font.size[x]:F.font.size,E.htc=Array.isArray(F.font.color)?F.font.color[x]:F.font.color,E.htf=Array.isArray(F.font.family)?F.font.family[x]:F.font.family,E.hnl=Array.isArray(F.namelength)?F.namelength[x]:F.namelength);var B=s.hoverinfo;B&&(E.hi=Array.isArray(B)?B[x]:B);var N={};return N[t.index]=E,ne.extendFlat(t,{color:mx(s,E),x0:D-R,x1:D+R,xLabelVal:E.x,y0:O-R,y1:O+R,yLabelVal:E.y,cd:N,distance:S,spikeDistance:T}),E.htx?t.text=E.htx:E.tx?t.text=E.tx:s.text&&(t.text=s.text),xo(E,s,t),P.getComponentMethod(\\\"errorbars\\\",\\\"hoverInfo\\\")(E,s,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.scene;if(!l)return n;var u=!Tr.hasMarkers(i)&&!Tr.hasText(i);if(!0!==i.visible||u)return n;var c,h=null,f=null;if(!1===e||e.degenerate)f=gV(a.count);else for(h=[],f=[],c=0;c<a.count;c++)e.contains([a.xpx[c],a.ypx[c]])?(h.push(c),n.push({pointNumber:c,x:o[c],y:s[c]})):f.push(c);if(l.selectBatch||(l.selectBatch=[],l.unselectBatch=[]),!l.selectBatch[a.index]){for(c=0;c<l.count;c++)l.selectBatch[c]=[],l.unselectBatch[c]=[];l.scatter2d.update(l.unselectedOptions)}return l.selectBatch[a.index]=h,l.unselectBatch[a.index]=f,n},sceneOptions:p,sceneUpdate:d,meta:{}}}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{});var xq=yq,bq={exports:{}};(function(t){\\\"use strict\\\";!function(e){\\\"object\\\"==typeof bq.exports?bq.exports=e():(\\\"undefined\\\"!=typeof window?window:void 0!==t?t:\\\"undefined\\\"!=typeof self?self:this).mapboxgl=e()}(function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\\\"function\\\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error(\\\"Cannot find module '\\\"+o+\\\"'\\\");throw u.code=\\\"MODULE_NOT_FOUND\\\",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,function(t){var r=e[o][1][t];return i(r||t)},c,c.exports,t,e,r,n)}return r[o].exports}for(var a=\\\"function\\\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){function n(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,i,s,l,u=0,c=t.length;if(c>2){for(l=0;l<c;l++)l===c-2?(n=c-2,i=c-1,s=0):l===c-1?(n=c-1,i=0,s=1):(n=l,i=l+1,s=l+2),e=t[n],r=t[i],u+=(a(t[s][0])-a(e[0]))*Math.sin(a(r[1]));u=u*o.RADIUS*o.RADIUS/2}return u}function a(t){return t*Math.PI/180}var o=t(\\\"wgs84\\\");e.exports.geometry=function t(e){var r,i=0;switch(e.type){case\\\"Polygon\\\":return n(e.coordinates);case\\\"MultiPolygon\\\":for(r=0;r<e.coordinates.length;r++)i+=n(e.coordinates[r]);return i;case\\\"Point\\\":case\\\"MultiPoint\\\":case\\\"LineString\\\":case\\\"MultiLineString\\\":return 0;case\\\"GeometryCollection\\\":for(r=0;r<e.geometries.length;r++)i+=t(e.geometries[r]);return i}},e.exports.ring=i},{wgs84:37}],2:[function(t,e,r){var n,i;n=this,i=function(){return function(){var t=new Float32Array(3);t[0]=0,t[1]=0,t[2]=0}(),function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{transformMat3:function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},rotate:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,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}},mat4:{create: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},identity: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},translate:function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]),t},scale:function(t,e,r){var n=r[0],i=r[1],a=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]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=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*i+b*l+_*f+w*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*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*i+b*l+_*f+w*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},rotateX:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=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]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},rotateZ:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=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]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},invert:function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,M=i*u-a*l,A=c*g-h*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;return L?(L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t):null},ortho:function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-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*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}}}},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.glMatrix=i()},{}],3:[function(t,e,r){function n(t){return!!(\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document&&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))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&&function(t){return void 0===i[t]&&(i[t]=function(t){var e=document.createElement(\\\"canvas\\\"),r=Object.create(n.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.probablySupportsContext?e.probablySupportsContext(\\\"webgl\\\",r)||e.probablySupportsContext(\\\"experimental-webgl\\\",r):e.supportsContext?e.supportsContext(\\\"webgl\\\",r)||e.supportsContext(\\\"experimental-webgl\\\",r):e.getContext(\\\"webgl\\\",r)||e.getContext(\\\"experimental-webgl\\\",r)}(t)),i[t]}(t&&t.failIfMajorPerformanceCaveat))}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],4:[function(t,e,r){function n(t,e){this.x=t,this.y=e}e.exports=n,n.prototype={clone:function(){return new n(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[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,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=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},n.convert=function(t){return t instanceof n?t:Array.isArray(t)?new n(t[0],t[1]):t}},{}],5:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a,o=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,u,c,h,f={freebin:-1,shelf:-1,waste:1/0},p=0;if(\\\"string\\\"==typeof n||\\\"number\\\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\\\"number\\\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<f.waste&&(f.waste=o,f.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<f.waste&&(f.freebin=-1,f.waste=o,f.shelf=s)}return-1!==f.freebin?this.allocFreebin(f.freebin,t,r,n):-1!==f.shelf?this.allocShelf(f.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=u=this.h,((c=h=this.w)<=l||t>c)&&(h=2*Math.max(t,c)),(l<c||r>l)&&(u=2*Math.max(r,l)),this.resize(h,u),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},\\\"object\\\"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\\\"sans-serif\\\",this.fontWeight=a||\\\"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 i(t,e,r,n,i,o,s){for(var l=0;l<e;l++){for(var u=0;u<r;u++)n[u]=t[u*e+l];for(a(n,i,o,s,r),u=0;u<r;u++)t[u*e+l]=i[u]}for(u=0;u<r;u++){for(l=0;l<e;l++)n[l]=t[u*e+l];for(a(n,i,o,s,e),l=0;l<e;l++)t[u*e+l]=Math.sqrt(i[l])}}function a(t,e,r,n,i){r[0]=0,n[0]=-o,n[1]=+o;for(var a=1,s=0;a<i;a++){for(var l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);l<=n[s];)s--,l=(t[a]+a*a-(t[r[s]]+r[s]*r[s]))/(2*a-2*r[s]);r[++s]=a,n[s]=l,n[s+1]=+o}for(a=0,s=0;a<i;a++){for(;n[s+1]<a;)s++;e[a]=(a-r[s])*(a-r[s])+t[r[s]]}}e.exports=n;var o=1e20;n.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?o:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?o:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(i(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),i(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var s=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))))}return r}},{}],7:[function(t,e,r){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}e.exports=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,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if(n=1,(i=t)<(r=0))return r;if(i>n)return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],8:[function(t,e,r){e.exports.VectorTile=t(\\\"./lib/vectortile.js\\\"),e.exports.VectorTileFeature=t(\\\"./lib/vectortilefeature.js\\\"),e.exports.VectorTileLayer=t(\\\"./lib/vectortilelayer.js\\\")},{\\\"./lib/vectortile.js\\\":9,\\\"./lib/vectortilefeature.js\\\":10,\\\"./lib/vectortilelayer.js\\\":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t(\\\"./vectortilelayer\\\");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{\\\"./vectortilelayer\\\":11}],10:[function(t,e,r){function n(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(i,this,e)}function i(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()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}var o=t(\\\"@mapbox/point-geometry\\\");e.exports=n,n.types=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],n.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,s=0,l=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error(\\\"unknown command \\\"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos<e;){if(!n){var c=t.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error(\\\"unknown command \\\"+r)}return[o,l,s,u]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+c)/l;t[e]=[360*(r.x+u)/l-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}var o,s,l=this.extent*Math.pow(2,r),u=this.extent*t,c=this.extent*e,h=this.loadGeometry(),f=n.types[this.type];switch(this.type){case 1:var p=[];for(o=0;o<h.length;o++)p[o]=h[o][0];i(h=p);break;case 2:for(o=0;o<h.length;o++)i(h[o]);break;case 3:for(h=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],o=0;o<e;o++){var s=a(t[o]);0!==s&&(void 0===n&&(n=s<0),n===s<0?(r&&i.push(r),r=[t[o]]):r.push(t[o]))}return r&&i.push(r),i}(h),o=0;o<h.length;o++)for(s=0;s<h[o].length;s++)i(h[o][s])}1===h.length?h=h[0]:f=\\\"Multi\\\"+f;var d={type:\\\"Feature\\\",geometry:{type:f,coordinates:h},properties:this.properties};return\\\"id\\\"in this&&(d.id=this.id),d}},{\\\"@mapbox/point-geometry\\\":4}],11:[function(t,e,r){function n(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(i,this,e),this.length=this._features.length}function i(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))}var a=t(\\\"./vectortilefeature.js\\\");e.exports=n,n.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 a(this._pbf,e,this.extent,this._keys,this._values)}},{\\\"./vectortilefeature.js\\\":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\\\",\\\"+i[1]+\\\",\\\"+a[0]+\\\",\\\"+a[1]}function r(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]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+\\\"?\\\"+[\\\"bbox=\\\"+e(n,i,a),\\\"format=\\\"+(o.format||\\\"image/png\\\"),\\\"service=\\\"+(o.service||\\\"WMS\\\"),\\\"version=\\\"+(o.version||\\\"1.1.1\\\"),\\\"request=\\\"+(o.request||\\\"GetMap\\\"),\\\"srs=\\\"+(o.srs||\\\"EPSG:3857\\\"),\\\"width=\\\"+(o.width||256),\\\"height=\\\"+(o.height||256),\\\"layers=\\\"+r].join(\\\"&\\\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\\\"__esModule\\\",{value:!0})}(\\\"object\\\"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}(\\\"%\\\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}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}var s={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]};try{r.parseCSSColor=function(t){var e,r=t.replace(/ /g,\\\"\\\").toLowerCase();if(r in s)return s[r].slice();if(\\\"#\\\"===r[0])return 4===r.length?(e=parseInt(r.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===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf(\\\"(\\\"),u=r.indexOf(\\\")\\\");if(-1!==l&&u+1===r.length){var c=r.substr(0,l),h=r.substr(l+1,u-(l+1)).split(\\\",\\\"),f=1;switch(c){case\\\"rgba\\\":if(4!==h.length)return null;f=a(h.pop());case\\\"rgb\\\":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case\\\"hsla\\\":if(4!==h.length)return null;f=a(h.pop());case\\\"hsl\\\":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=a(h[1]),g=a(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*o(m,v,p+1/3)),n(255*o(m,v,p)),n(255*o(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,u,c,p,g,v=e&&e.length,m=v?e[0]*r:t.length,y=i(t,0,m,r,!0),x=[];if(!y)return x;if(v&&(y=function(t,e,r,n){var o,s,l,u,c,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,u=o<s-1?e[o+1]*n:t.length,(c=i(t,l,u,n,!1))===c.next&&(c.steiner=!0),p.push(d(c));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=u=t[1];for(var b=r;b<m;b+=r)c=t[b],p=t[b+1],c<n&&(n=c),p<s&&(s=p),c>l&&(l=c),p>u&&(u=p);g=0!==(g=Math.max(l-n,u-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===k(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(M(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==m(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,i,h,f){if(t){!f&&h&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,h);for(var d,g,v=t;t.prev!==t.next;)if(d=t.prev,g=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=u(t,e,r),e,r,n,i,h,2):2===f&&c(t,e,r,n,i,h):o(a(t),e,r,n,i,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(m(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&m(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(m(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=p(s,l,e,r,n),f=p(u,c,e,r,n),d=t.prevZ,v=t.nextZ;d&&d.z>=h&&v&&v.z<=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;v&&v.z<=f;){if(v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),M(n),M(n.next),n=t=a),n=n.next}while(n!==t);return n}function c(t,e,r,n,i,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=_(l,u);return l=a(l,l.next),c=a(c,c.next),o(l,e,r,n,i,s),void o(c,e,r,n,i,s)}u=u.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,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===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(i===o)return r.prev;var l,u=r,c=r.x,h=r.y,f=1/0;for(n=r.next;n!==u;)i>=n.x&&n.x>=c&&i!==n.x&&g(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<f||l===f&&n.x>r.x)&&b(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function m(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||m(t,e,r)>0!=m(t,e,n)>0&&m(r,n,t)>0!=m(r,n,e)>0}function b(t,e){return m(t.prev,t,t.next)<0?m(t,e,t.next)>=0&&m(t,t.prev,e)>=0:m(t,e,t.prev)<0||m(t,t.next,e)<0}function _(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}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 A(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 k(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(k(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(k(t,u,c,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,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r<t.length;r++)t[r]=a(t[r],!e);return t}function a(t,e){return function(t){return o.ring(t)>=0}(t)===e?t:t.reverse()}var o=t(\\\"@mapbox/geojson-area\\\");e.exports=function t(e,r){switch(e&&e.type||null){case\\\"FeatureCollection\\\":return e.features=e.features.map(n(t,r)),e;case\\\"Feature\\\":return e.geometry=t(e.geometry,r),e;case\\\"Polygon\\\":case\\\"MultiPolygon\\\":return function(t,e){return\\\"Polygon\\\"===t.type?t.coordinates=i(t.coordinates,e):\\\"MultiPolygon\\\"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{\\\"@mapbox/geojson-area\\\":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var u=[],c=0===i?s:l,h=0;h<t.length-3;h+=3){var f=t[h],p=t[h+1],d=t[h+2],g=t[h+3],v=t[h+4],m=0===i?f:p,y=0===i?g:v,x=!1;m<r?y>=r&&c(u,f,p,g,v,r):m>n?y<=n&&c(u,f,p,g,v,n):o(u,f,p,d),y<r&&m>=r&&(c(u,f,p,g,v,r),x=!0),y>n&&m<=n&&(c(u,f,p,g,v,n),x=!0),!a&&x&&(u.size=t.size,e.push(u),u=[])}var b=t.length-3;f=t[b],p=t[b+1],d=t[b+2],(m=0===i?f:p)>=r&&m<=n&&o(u,f,p,d),b=u.length-3,a&&b>=3&&(u[b]!==u[0]||u[b+1]!==u[1])&&o(u,u[0],u[1],u[2]),u.length&&(u.size=t.size,e.push(u))}function a(t,e,r,n,a,o){for(var s=0;s<t.length;s++)i(t[s],e,r,n,a,o)}function o(t,e,r,n){t.push(e),t.push(r),t.push(n)}function s(t,e,r,n,i,a){t.push(a),t.push(r+(a-e)*(i-r)/(n-e)),t.push(1)}function l(t,e,r,n,i,a){t.push(e+(a-r)*(n-e)/(i-r)),t.push(a),t.push(1)}e.exports=function(t,e,r,o,s,l,c){if(o/=e,l>=(r/=e)&&c<=o)return t;if(l>o||c<r)return null;for(var h=[],f=0;f<t.length;f++){var p=t[f],d=p.geometry,g=p.type,v=0===s?p.minX:p.minY,m=0===s?p.maxX:p.maxY;if(v>=r&&m<=o)h.push(p);else if(!(v>o||m<r)){var y=[];if(\\\"Point\\\"===g||\\\"MultiPoint\\\"===g)n(d,y,r,o,s);else if(\\\"LineString\\\"===g)i(d,y,r,o,s,!1);else if(\\\"MultiLineString\\\"===g)a(d,y,r,o,s,!1);else if(\\\"Polygon\\\"===g)a(d,y,r,o,s,!0);else if(\\\"MultiPolygon\\\"===g)for(var x=0;x<d.length;x++){var b=[];a(d[x],b,r,o,s,!0),b.length&&y.push(b)}y.length&&(\\\"LineString\\\"!==g&&\\\"MultiLineString\\\"!==g||(1===y.length?(g=\\\"LineString\\\",y=y[0]):g=\\\"MultiLineString\\\"),\\\"Point\\\"!==g&&\\\"MultiPoint\\\"!==g||(g=3===y.length?\\\"Point\\\":\\\"MultiPoint\\\"),h.push(u(p.id,g,y,p.tags)))}}return h.length?h:null};var u=t(\\\"./feature\\\")},{\\\"./feature\\\":18}],17:[function(t,e,r){function n(t,e,r){if(e.geometry){var s=e.geometry.coordinates,l=e.geometry.type,u=r*r,h=[];if(\\\"Point\\\"===l)i(s,h);else if(\\\"MultiPoint\\\"===l)for(var f=0;f<s.length;f++)i(s[f],h);else if(\\\"LineString\\\"===l)a(s,h,u,!1);else if(\\\"MultiLineString\\\"===l)o(s,h,u,!1);else if(\\\"Polygon\\\"===l)o(s,h,u,!0);else{if(\\\"MultiPolygon\\\"!==l){if(\\\"GeometryCollection\\\"===l){for(f=0;f<e.geometry.geometries.length;f++)n(t,{geometry:e.geometry.geometries[f],properties:e.properties},r);return}throw new Error(\\\"Input data is not a valid GeoJSON object.\\\")}for(f=0;f<s.length;f++){var p=[];o(s[f],p,u,!0),h.push(p)}}t.push(c(e.id,l,h,e.properties))}}function i(t,e){e.push(s(t[0])),e.push(l(t[1])),e.push(0)}function a(t,e,r,n){for(var i,a,o=0,c=0;c<t.length;c++){var h=s(t[c][0]),f=l(t[c][1]);e.push(h),e.push(f),e.push(0),c>0&&(o+=n?(i*f-h*a)/2:Math.sqrt(Math.pow(h-i,2)+Math.pow(f-a,2))),i=h,a=f}var p=e.length-3;e[2]=1,u(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i<t.length;i++){var o=[];a(t[i],o,r,n),e.push(o)}}function s(t){return t/360+.5}function l(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}e.exports=function(t,e){var r=[];if(\\\"FeatureCollection\\\"===t.type)for(var i=0;i<t.features.length;i++)n(r,t.features[i],e);else\\\"Feature\\\"===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var u=t(\\\"./simplify\\\"),c=t(\\\"./feature\\\")},{\\\"./feature\\\":18,\\\"./simplify\\\":20}],18:[function(t,e,r){function n(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])}e.exports=function(t,e,r,i){var a={id:t||null,type:e,geometry:r,tags:i,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)n(t,e);else if(\\\"Polygon\\\"===r||\\\"MultiLineString\\\"===r)for(var i=0;i<e.length;i++)n(t,e[i]);else if(\\\"MultiPolygon\\\"===r)for(i=0;i<e.length;i++)for(var a=0;a<e[i].length;a++)n(t,e[i][a])}(a),a}},{}],19:[function(t,e,r){function n(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\\\");var n=1<<e.maxZoom,i=a(t,e.tolerance/(n*e.extent));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),(i=l(i,e.buffer/e.extent)).length&&this.splitTile(i,0,0,0),r&&(i.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 i(t,e,r){return 32*((1<<t)*r+e)+t}e.exports=function(t,e){return new n(t,e)};var a=t(\\\"./convert\\\"),o=t(\\\"./transform\\\"),s=t(\\\"./clip\\\"),l=t(\\\"./wrap\\\"),u=t(\\\"./tile\\\");n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,a,o,l){for(var c=[t,e,r,n],h=this.options,f=h.debug;c.length;){n=c.pop(),r=c.pop(),e=c.pop(),t=c.pop();var p=1<<e,d=i(e,r,n),g=this.tiles[d],v=e===h.maxZoom?0:h.tolerance/(p*h.extent);if(!g&&(f>1&&console.time(\\\"creation\\\"),g=this.tiles[d]=u(t,p,r,n,v,e===h.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),f)){f>1&&(console.log(\\\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\\\",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd(\\\"creation\\\"));var m=\\\"z\\\"+e;this.stats[m]=(this.stats[m]||0)+1,this.total++}if(g.source=t,a){if(e===h.maxZoom||e===a)continue;var y=1<<a-e;if(r!==Math.floor(o/y)||n!==Math.floor(l/y))continue}else if(e===h.indexMaxZoom||g.numPoints<=h.indexMaxPoints)continue;if(g.source=null,0!==t.length){f>1&&console.time(\\\"clipping\\\");var x,b,_,w,M,A,k=.5*h.buffer/h.extent,T=.5-k,S=.5+k,E=1+k;x=b=_=w=null,M=s(t,p,r-k,r+S,0,g.minX,g.maxX),A=s(t,p,r+T,r+E,0,g.minX,g.maxX),t=null,M&&(x=s(M,p,n-k,n+S,1,g.minY,g.maxY),b=s(M,p,n+T,n+E,1,g.minY,g.maxY),M=null),A&&(_=s(A,p,n-k,n+S,1,g.minY,g.maxY),w=s(A,p,n+T,n+E,1,g.minY,g.maxY),A=null),f>1&&console.timeEnd(\\\"clipping\\\"),c.push(x||[],e+1,2*r,2*n),c.push(b||[],e+1,2*r,2*n+1),c.push(_||[],e+1,2*r+1,2*n),c.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<<t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return o.tile(this.tiles[u],a);s>1&&console.log(\\\"drilling down to z%d-%d-%d\\\",t,e,r);for(var c,h=t,f=e,p=r;!c&&h>0;)h--,f=Math.floor(f/2),p=Math.floor(p/2),c=this.tiles[i(h,f,p)];return c&&c.source?(s>1&&console.log(\\\"found parent tile z%d-%d-%d\\\",h,f,p),s>1&&console.time(\\\"drilling down\\\"),this.splitTile(c.source,h,f,p,t,e,r),s>1&&console.timeEnd(\\\"drilling down\\\"),this.tiles[u]?o.tile(this.tiles[u],a):null):null}},{\\\"./clip\\\":16,\\\"./convert\\\":17,\\\"./tile\\\":21,\\\"./transform\\\":22,\\\"./wrap\\\":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],u=e[r+1],c=e[i],h=e[i+1],f=r+3;f<i;f+=3){var p=n(e[f],e[f+1],l,u,c,h);p>s&&(o=f,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if(\\\"Point\\\"===o||\\\"MultiPoint\\\"===o)for(var l=0;l<a.length;l+=3)s.push(a[l]),s.push(a[l+1]),t.numPoints++,t.numSimplified++;else if(\\\"LineString\\\"===o)i(s,a,t,r,n,!1,!1);else if(\\\"MultiLineString\\\"===o||\\\"Polygon\\\"===o)for(l=0;l<a.length;l++)i(s,a[l],t,r,n,\\\"Polygon\\\"===o,0===l);else if(\\\"MultiPolygon\\\"===o)for(var u=0;u<a.length;u++){var c=a[u];for(l=0;l<c.length;l++)i(s,c[l],t,r,n,!0,0===l)}if(s.length){var h={geometry:s,type:\\\"Polygon\\\"===o||\\\"MultiPolygon\\\"===o?3:\\\"LineString\\\"===o||\\\"MultiLineString\\\"===o?2:1,tags:e.tags||null};null!==e.id&&(h.id=e.id),t.features.push(h)}}function i(t,e,r,n,i,a,o){var s=n*n;if(!i&&e.size<(a?s:n))r.numPoints+=e.length/3;else{for(var l=[],u=0;u<e.length;u+=3)(i||e[u+2]>s)&&(r.numSimplified++,l.push(e[u]),l.push(e[u+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(l,o),t.push(l)}}e.exports=function(t,e,r,i,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},l=0;l<t.length;l++){s.numFeatures++,n(s,t[l],a,o);var u=t[l].minX,c=t[l].minY,h=t[l].maxX,f=t[l].maxY;u<s.minX&&(s.minX=u),c<s.minY&&(s.minY=c),h>s.maxX&&(s.maxX=h),f>s.maxY&&(s.maxY=f)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r<t.features.length;r++){var u=t.features[r],c=u.geometry,h=u.type;if(u.geometry=[],1===h)for(i=0;i<c.length;i+=2)u.geometry.push(n(c[i],c[i+1],e,o,s,l));else for(i=0;i<c.length;i++){var f=[];for(a=0;a<c[i].length;a+=2)f.push(n(c[i][a],c[i][a+1],e,o,s,l));u.geometry.push(f)}}return t.transformed=!0,t},r.point=n},{}],23:[function(t,e,r){function n(t,e){for(var r=[],n=0;n<t.length;n++){var a,s=t[n],l=s.type;if(\\\"Point\\\"===l||\\\"MultiPoint\\\"===l||\\\"LineString\\\"===l)a=i(s.geometry,e);else if(\\\"MultiLineString\\\"===l||\\\"Polygon\\\"===l){a=[];for(var u=0;u<s.geometry.length;u++)a.push(i(s.geometry[u],e))}else if(\\\"MultiPolygon\\\"===l)for(a=[],u=0;u<s.geometry.length;u++){for(var c=[],h=0;h<s.geometry[u].length;h++)c.push(i(s.geometry[u][h],e));a.push(c)}r.push(o(s.id,l,a,s.tags))}return r}function i(t,e){var r=[];r.size=t.size;for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}var a=t(\\\"./clip\\\"),o=t(\\\"./feature\\\");e.exports=function(t,e){var r=t,i=a(t,1,-1-e,e,0,-1,2),o=a(t,1,1-e,2+e,0,-1,2);return(i||o)&&(r=a(t,1,-e,1+e,0,-1,2)||[],i&&(r=n(i,1).concat(r)),o&&(r=r.concat(n(o,-1)))),r}},{\\\"./clip\\\":16,\\\"./feature\\\":18}],24:[function(t,e,r){function n(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var o=0;o<this.d*this.d;o++){var s=a[i+o],l=a[i+o+1];n.push(s===l?null:a.subarray(s,l))}var u=a[i+n.length],c=a[i+n.length+1];this.keys=a.subarray(u,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var h=0;h<this.d*this.d;h++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}e.exports=n;var i=3;n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype._insertReadonly=function(){throw\\\"Cannot insert into a GridIndex created from an ArrayBuffer.\\\"},n.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},n.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),o},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,u=this.bboxes,c=0;c<s.length;c++){var h=s[c];if(void 0===o[h]){var f=4*h;t<=u[f+2]&&e<=u[f+3]&&r>=u[f+0]&&n>=u[f+1]?(o[h]=!0,a.push(l[h])):o[h]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),u=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var p=this.d*f+h;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+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 o=e,s=0;s<t.length;s++){var l=t[s];a[i+s]=o,a.set(l,o),o+=l.length}return a[i+t.length]=o,a.set(this.keys,o),o+=this.keys.length,a[i+t.length+1]=o,a.set(this.bboxes,o),o+=this.bboxes.length,a.buffer}},{}],25:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-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=c):(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>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(2*t.length);for(var l=0;l<t.length;l++)this.ids[l]=l,this.coords[2*l]=e(t[l]),this.coords[2*l+1]=r(t[l]);o(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t){return t[0]}function a(t){return t[1]}var o=t(\\\"./sort\\\"),s=t(\\\"./range\\\"),l=t(\\\"./within\\\");e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return s(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return l(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\\\"./range\\\":27,\\\"./sort\\\":28,\\\"./within\\\":29}],27:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){for(var s,l,u=[0,t.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),p=u.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?i>=s:a>=l)&&(u.push(g+1),u.push(f),u.push(v))}}return c}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,u=i-a+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);t(e,r,i,Math.max(a,Math.floor(i-u*h/l+f)),Math.min(o,Math.floor(i+(l-u)*h/l+f)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);d<g;){for(n(e,r,d,g),d++,g--;r[2*d+s]<p;)d++;for(;r[2*g+s]>p;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],u=a*a;s.length;){var c=s.pop(),h=s.pop(),f=s.pop();if(h-f<=o)for(var p=f;p<=h;p++)n(e[2*p],e[2*p+1],r,i)<=u&&l.push(t[p]);else{var d=Math.floor((f+h)/2),g=e[2*d],v=e[2*d+1];n(g,v,r,i)<=u&&l.push(t[d]);var m=(c+1)%2;(0===c?r-a<=g:i-a<=v)&&(s.push(f),s.push(d-1),s.push(m)),(0===c?r+a>=g:i+a>=v)&&(s.push(d+1),s.push(h),s.push(m))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function l(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function u(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function c(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function h(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function f(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function p(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function d(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function g(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function v(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function m(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t(\\\"ieee754\\\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=v(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=v(this.buf,this.pos)+4294967296*v(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=v(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(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,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(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=function(t,e,r){for(var n=\\\"\\\",i=e;i<r;){var a,o,s,l=t[i],u=null,c=l>239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===n.Varint)for(;this.buf[this.pos++]>127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.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),m(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),m(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(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,t>>>=7,r.buf[r.pos]=127&t}(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,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=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&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(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&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,h,e)},writePackedFloat:function(t,e){this.writeMessage(t,u,e)},writePackedDouble:function(t,e){this.writeMessage(t,c,e)},writePackedFixed32:function(t,e){this.writeMessage(t,f,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return t<e?-1:t>e?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,u=r-a+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1);t(e,r,Math.max(a,Math.floor(r-u*h/l+f)),Math.min(o,Math.floor(r+(l-u)*h/l+f)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d<g;){for(n(e,d,g),d++,g--;s(e[d],p)<0;)d++;for(;s(e[g],p)>0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:u(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:\\\"Feature\\\",properties:s(t),geometry:{type:\\\"Point\\\",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\\\"k\\\":e>=1e3?Math.round(e/100)/10+\\\"k\\\":e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function u(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 c(t,e){for(var r in e)t[r]=e[r];return t}function h(t){return t.x}function f(t){return t.y}var p=t(\\\"kdbush\\\");e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\\\"total time\\\");var r=\\\"prepare \\\"+t.length+\\\" points\\\";e&&console.time(r),this.points=t;var n=t.map(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,h,f,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\\\"z%d: %d clusters in %dms\\\",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,h,f,this.options.nodeSize,Float32Array),e&&console.timeEnd(\\\"total time\\\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(l(t[0]),u(t[3]),l(t[2]),u(t[1])),i=[],a=0;a<n.length;a++){var s=r.points[n[a]];i.push(s.numPoints?o(s):this.points[s.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],s=0;s<i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&&a.push(l.numPoints?o(l):this.points[l.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,u={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,u),u.features.length?u:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var l=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?s(l):this.points[l.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),a=0;a<t.length;a++){var o=t[a];if(!(o.zoom<=e)){o.zoom=e;var s=this.trees[e+1],l=s.within(o.x,o.y,n),u=o.numPoints||1,c=o.x*u,h=o.y*u,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,o));for(var p=0;p<l.length;p++){var d=s.points[l[p]];if(e<d.zoom){var g=d.numPoints||1;d.zoom=e,c+=d.x*g,h+=d.y*g,u+=g,d.parentId=a,this.options.reduce&&this._accumulate(f,d)}}1===u?r.push(o):(o.parentId=a,r.push(i(c/u,h/u,u,a,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}}},{kdbush:26}],33:[function(t,e,r){function n(t,e){if(!(this instanceof n))return new n(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||i,this.length>0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return t<e?-1:t>e?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t<i;){var o=1+(t<<1),s=o+1,l=e[o];if(s<n&&r(e[s],l)<0&&(o=s,l=e[s]),r(l,a)>=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new h;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\\\"\\\"),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,a,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var o=n.values;for(r=0;r<o.length;r++)e.writeMessage(4,c,o[r])}function a(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,o,t),e.writeVarintField(3,r.type),e.writeMessage(4,u,r)}function o(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var u=r.properties[s],c=typeof u;\\\"string\\\"!==c&&\\\"boolean\\\"!==c&&\\\"number\\\"!==c&&(u=JSON.stringify(u));var h=c+\\\":\\\"+u,f=o[h];void 0===f&&(i.push(u),f=i.length-1,o[h]=f),e.writeVarint(f)}}function s(t,e){return(e<<3)+(7&t)}function l(t){return t<<1^t>>31}function u(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,u=0;u<o;u++){var c=r[u],h=1;1===n&&(h=c.length),e.writeVarint(s(1,h));for(var f=0;f<c.length;f++){1===f&&1!==n&&e.writeVarint(s(2,c.length-1));var p=c[f].x-i,d=c[f].y-a;e.writeVarint(l(p)),e.writeVarint(l(d)),i+=p,a+=d}}}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))}var h=t(\\\"pbf\\\"),f=t(\\\"./lib/geojson_wrapper\\\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=f},{\\\"./lib/geojson_wrapper\\\":35,pbf:30}],35:[function(t,e,r){function n(t){this.features=t,this.length=t.length}function i(t){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=4096}var a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature;e.exports=n,n.prototype.feature=function(t){return new i(this.features[t])},i.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e<t.length;e++){for(var r=t[e],n=[],i=0;i<r.length;i++)n.push(new a(r[i][0],r[i][1]));this.geometry.push(n)}return this.geometry},i.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],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),i=Math.max(i,l.y)}return[e,n,r,i]},i.prototype.toGeoJSON=o.prototype.toGeoJSON},{\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],36:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),l=0,u=s.length;l<u;l++){var c=s[l],h=a[c].exports;if(h===t||h&&h.default===t){r=c;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var f={};for(l=0,u=s.length;l<u;l++){f[c=s[l]]=c}i[r]=[\\\"function(require,module,exports){\\\"+t+\\\"(self); }\\\",f]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[p]=[\\\"function(require,module,exports){var f = require(\\\"+o(r)+\\\");(f.default ? f.default : f)(self);}\\\",d];var g={};!function t(e){for(var r in g[e]=!0,i[e][1]){var n=i[e][1][r];g[n]||t(n)}}(p);var v=\\\"(\\\"+n+\\\")({\\\"+Object.keys(g).map(function(t){return o(t)+\\\":[\\\"+i[t][0]+\\\",\\\"+o(i[t][1])+\\\"]\\\"}).join(\\\",\\\")+\\\"},{},[\\\"+o(p)+\\\"])\\\",m=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:\\\"text/javascript\\\"});if(e&&e.bare)return y;var x=m.createObjectURL(y),b=new Worker(x);return b.objectURL=x,b}},{}],37:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],38:[function(t,e,r){e.exports={version:\\\"0.44.1\\\"}},{}],39:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").StructArray,i=t(\\\"../util/struct_array\\\").Struct,a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"@mapbox/point-geometry\\\"),s=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(n);s.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2i4\\\",s);var l=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(n);l.prototype.bytesPerElement=8,a(\\\"StructArrayLayout4i8\\\",l);var u=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);u.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i4i12\\\",u);var c=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var u=6*l,c=12*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint8[c+8]=i,this.uint8[c+9]=a,this.uint8[c+10]=o,this.uint8[c+11]=s,l},e}(n);c.prototype.bytesPerElement=12,a(\\\"StructArrayLayout4i4ub12\\\",c);var h=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s){var l=this.length;this.resize(l+1);var u=8*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint16[u+4]=i,this.uint16[u+5]=a,this.uint16[u+6]=o,this.uint16[u+7]=s,l},e}(n);h.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4i4ui16\\\",h);var f=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(n);f.prototype.bytesPerElement=12,a(\\\"StructArrayLayout3f12\\\",f);var p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(n);p.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1ul4\\\",p);var d=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,u,c){var h=this.length;this.resize(h+1);var f=12*h,p=6*h;return this.int16[f+0]=t,this.int16[f+1]=e,this.int16[f+2]=r,this.int16[f+3]=n,this.int16[f+4]=i,this.int16[f+5]=a,this.uint32[p+3]=o,this.uint16[f+8]=s,this.uint16[f+9]=l,this.int16[f+10]=u,this.int16[f+11]=c,h},e}(n);d.prototype.bytesPerElement=24,a(\\\"StructArrayLayout6i1ul2ui2i24\\\",d);var g=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);g.prototype.bytesPerElement=12,a(\\\"StructArrayLayout2i2i2i12\\\",g);var v=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(n);v.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ub4\\\",v);var m=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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,i,a,o,s,l,u,c,h,f,p){var d=this.length;this.resize(d+1);var g=20*d,v=10*d,m=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[v+2]=i,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=u,this.float32[v+7]=c,this.float32[v+8]=h,this.uint8[m+36]=f,this.uint8[m+37]=p,d},e}(n);m.prototype.bytesPerElement=40,a(\\\"StructArrayLayout2i2ui3ul3ui2f2ub40\\\",m);var y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(n);y.prototype.bytesPerElement=4,a(\\\"StructArrayLayout1f4\\\",y);var x=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(n);x.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3i6\\\",x);var b=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(n);b.prototype.bytesPerElement=8,a(\\\"StructArrayLayout1ul2ui8\\\",b);var _=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(n);_.prototype.bytesPerElement=6,a(\\\"StructArrayLayout3ui6\\\",_);var w=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(n);w.prototype.bytesPerElement=4,a(\\\"StructArrayLayout2ui4\\\",w);var M=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(n);M.prototype.bytesPerElement=8,a(\\\"StructArrayLayout2f8\\\",M);var A=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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 i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(n);A.prototype.bytesPerElement=16,a(\\\"StructArrayLayout4f16\\\",A);var k=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{},anchorPointY:{},x1:{},y1:{},x2:{},y2:{},featureIndex:{},sourceLayerIndex:{},bucketIndex:{},radius:{},signedDistanceFromAnchor:{},anchorPoint:{}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new o(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(i);k.prototype.size=24;var T=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new k(this,t)},e}(d);a(\\\"CollisionBoxArray\\\",T);var S=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{},anchorY:{},glyphStartIndex:{},numGlyphs:{},vertexStartIndex:{},lineStartIndex:{},lineLength:{},segment:{},lowerSize:{},upperSize:{},lineOffsetX:{},lineOffsetY:{},writingMode:{},hidden:{}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(i);S.prototype.size=40;var E=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new S(this,t)},e}(m);a(\\\"PlacedSymbolArray\\\",E);var C=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(i);C.prototype.size=4;var L=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new C(this,t)},e}(y);a(\\\"GlyphOffsetArray\\\",L);var z=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{},y:{},tileUnitDistanceFromAnchor:{}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(i);z.prototype.size=6;var P=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.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.prototype.get=function(t){return new z(this,t)},e}(x);a(\\\"SymbolLineVertexArray\\\",P);var I=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{},sourceLayerIndex:{},bucketIndex:{}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(i);I.prototype.size=8;var D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new I(this,t)},e}(b);a(\\\"FeatureIndexArray\\\",D),e.exports={StructArrayLayout2i4:s,StructArrayLayout4i8:l,StructArrayLayout2i4i12:u,StructArrayLayout4i4ub12:c,StructArrayLayout4i4ui16:h,StructArrayLayout3f12:f,StructArrayLayout1ul4:p,StructArrayLayout6i1ul2ui2i24:d,StructArrayLayout2i2i2i12:g,StructArrayLayout2ub4:v,StructArrayLayout2i2ui3ul3ui2f2ub40:m,StructArrayLayout1f4:y,StructArrayLayout3i6:x,StructArrayLayout1ul2ui8:b,StructArrayLayout3ui6:_,StructArrayLayout2ui4:w,StructArrayLayout2f8:M,StructArrayLayout4f16:A,PosArray:s,RasterBoundsArray:l,CircleLayoutArray:s,FillLayoutArray:s,FillExtrusionLayoutArray:u,HeatmapLayoutArray:s,LineLayoutArray:c,SymbolLayoutArray:h,SymbolDynamicLayoutArray:f,SymbolOpacityArray:p,CollisionBoxLayoutArray:g,CollisionCircleLayoutArray:g,CollisionVertexArray:v,TriangleIndexArray:_,LineIndexArray:w,CollisionBoxArray:T,PlacedSymbolArray:E,GlyphOffsetArray:L,SymbolLineVertexArray:P,FeatureIndexArray:D}},{\\\"../util/struct_array\\\":271,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],40:[function(t,e,r){e.exports={deserialize:function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}}},{}],41:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],42:[function(t,e,r){function n(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var i=t(\\\"../array_types\\\").CircleLayoutArray,a=t(\\\"./circle_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,u=t(\\\"../load_geometry\\\"),c=t(\\\"../extent\\\"),h=t(\\\"../../util/web_worker_transfer\\\").register,f=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.layoutVertexArray=new i,this.indexArray=new l,this.segments=new o,this.programConfigurations=new s(a,t.layers,t.zoom)};f.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},f.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},f.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},f.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},f.prototype.addFeature=function(t,e){for(var r=this,i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],u=l.x,h=l.y;if(!(u<0||u>=c||h<0||h>=c)){var f=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=f.vertexLength;n(r.layoutVertexArray,u,h,-1,-1),n(r.layoutVertexArray,u,h,1,-1),n(r.layoutVertexArray,u,h,1,1),n(r.layoutVertexArray,u,h,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},h(\\\"CircleBucket\\\",f,{omit:[\\\"layers\\\"]}),e.exports=f},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./circle_attributes\\\":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{\\\"../../util/struct_array\\\":271,dup:41}],44:[function(t,e,r){var n=t(\\\"../array_types\\\").FillLayoutArray,i=t(\\\"./fill_attributes\\\").members,a=t(\\\"../segment\\\").SegmentVector,o=t(\\\"../program_configuration\\\").ProgramConfigurationSet,s=t(\\\"../index_array_type\\\"),l=s.LineIndexArray,u=s.TriangleIndexArray,c=t(\\\"../load_geometry\\\"),h=t(\\\"earcut\\\"),f=t(\\\"../../util/classify_rings\\\"),p=t(\\\"../../util/web_worker_transfer\\\").register,d=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.layoutVertexArray=new n,this.indexArray=new u,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},d.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},d.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,i),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},d.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},d.prototype.addFeature=function(t,e){for(var r=this,n=0,i=f(e,500);n<i.length;n+=1){for(var a=i[n],o=0,s=0,l=a;s<l.length;s+=1)o+=l[s].length;for(var u=r.segments.prepareSegment(o,r.layoutVertexArray,r.indexArray),c=u.vertexLength,p=[],d=[],g=0,v=a;g<v.length;g+=1){var m=v[g];if(0!==m.length){m!==a[0]&&d.push(p.length/2);var y=r.segments2.prepareSegment(m.length,r.layoutVertexArray,r.indexArray2),x=y.vertexLength;r.layoutVertexArray.emplaceBack(m[0].x,m[0].y),r.indexArray2.emplaceBack(x+m.length-1,x),p.push(m[0].x),p.push(m[0].y);for(var b=1;b<m.length;b++)r.layoutVertexArray.emplaceBack(m[b].x,m[b].y),r.indexArray2.emplaceBack(x+b-1,x+b),p.push(m[b].x),p.push(m[b].y);y.vertexLength+=m.length,y.primitiveLength+=m.length}}for(var _=h(p,d),w=0;w<_.length;w+=3)r.indexArray.emplaceBack(c+_[w],c+_[w+1],c+_[w+2]);u.vertexLength+=o,u.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},p(\\\"FillBucket\\\",d,{omit:[\\\"layers\\\"]}),e.exports=d},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_attributes\\\":43,earcut:14}],45:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_normal_ed\\\",components:4,type:\\\"Int16\\\"}],4)},{\\\"../../util/struct_array\\\":271}],46:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*y)+o,i*y*2,a*y*2,Math.round(s))}function i(t,e){return t.x===e.x&&(t.x<0||t.x>d)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t(\\\"../array_types\\\").FillExtrusionLayoutArray,s=t(\\\"./fill_extrusion_attributes\\\").members,l=t(\\\"../segment\\\"),u=l.SegmentVector,c=l.MAX_VERTEX_ARRAY_LENGTH,h=t(\\\"../program_configuration\\\").ProgramConfigurationSet,f=t(\\\"../index_array_type\\\").TriangleIndexArray,p=t(\\\"../load_geometry\\\"),d=t(\\\"../extent\\\"),g=t(\\\"earcut\\\"),v=t(\\\"../../util/classify_rings\\\"),m=t(\\\"../../util/web_worker_transfer\\\").register,y=Math.pow(2,13),x=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.layoutVertexArray=new o,this.indexArray=new f,this.programConfigurations=new h(s,t.layers,t.zoom),this.segments=new u};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=p(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},x.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},x.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,s),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},x.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},x.prototype.addFeature=function(t,e){for(var r=this,o=0,s=v(e,500);o<s.length;o+=1){for(var l=s[o],u=0,h=0,f=l;h<f.length;h+=1)u+=f[h].length;for(var p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),d=0,m=l;d<m.length;d+=1){var y=m[d];if(0!==y.length&&!a(y))for(var x=0,b=0;b<y.length;b++){var _=y[b];if(b>=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>c&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var M=_.sub(w)._perp()._unit(),A=w.dist(_);x+A>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,1,x),x+=A,n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,1,x);var k=p.vertexLength;r.indexArray.emplaceBack(k,k+1,k+2),r.indexArray.emplaceBack(k+1,k+2,k+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+u>c&&(p=r.segments.prepareSegment(u,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],E=p.vertexLength,C=0,L=l;C<L.length;C+=1){var z=L[C];if(0!==z.length){z!==l[0]&&S.push(T.length/2);for(var P=0;P<z.length;P++){var I=z[P];n(r.layoutVertexArray,I.x,I.y,0,0,1,1,0),T.push(I.x),T.push(I.y)}}}for(var D=g(T,S),O=0;O<D.length;O+=3)r.indexArray.emplaceBack(E+D[O],E+D[O+1],E+D[O+2]);p.primitiveLength+=D.length/3,p.vertexLength+=u}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},m(\\\"FillExtrusionBucket\\\",x,{omit:[\\\"layers\\\"]}),e.exports=x},{\\\"../../util/classify_rings\\\":255,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./fill_extrusion_attributes\\\":45,earcut:14}],47:[function(t,e,r){var n=t(\\\"./circle_bucket\\\"),i=t(\\\"../../util/web_worker_transfer\\\").register,a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n);i(\\\"HeatmapBucket\\\",a,{omit:[\\\"layers\\\"]}),e.exports=a},{\\\"../../util/web_worker_transfer\\\":278,\\\"./circle_bucket\\\":42}],48:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos_normal\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint8\\\"}],4)},{\\\"../../util/struct_array\\\":271}],49:[function(t,e,r){function n(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(p*r.x)+128,Math.round(p*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*g&63)<<2,o*g>>6)}var i=t(\\\"../array_types\\\").LineLayoutArray,a=t(\\\"./line_attributes\\\").members,o=t(\\\"../segment\\\").SegmentVector,s=t(\\\"../program_configuration\\\").ProgramConfigurationSet,l=t(\\\"../index_array_type\\\").TriangleIndexArray,u=t(\\\"../load_geometry\\\"),c=t(\\\"../extent\\\"),h=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,f=t(\\\"../../util/web_worker_transfer\\\").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,v=Math.pow(2,14)/g,m=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.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};m.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},m.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},m.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},m.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},m.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\\\"line-join\\\").evaluate(t),i=r.get(\\\"line-cap\\\"),a=r.get(\\\"line-miter-limit\\\"),o=r.get(\\\"line-round-limit\\\"),s=0,l=e;s<l.length;s+=1){var u=l[s];this.addLine(u,t,n,i,a,o)}},m.prototype.addLine=function(t,e,r,n,i,a){for(var o=this,s=\\\"Polygon\\\"===h[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u<l-1&&t[u].equals(t[u+1]);)u++;if(!(l<(s?3:2))){\\\"bevel\\\"===r&&(i=1.05);var f=c/(512*this.overscaling)*15,p=t[u],g=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var v,m,y,x=n,b=s?\\\"butt\\\":n,_=!0,w=void 0,M=void 0,A=void 0,k=void 0;this.e1=this.e2=this.e3=-1,s&&(v=t[l-2],k=p.sub(v)._unit()._perp());for(var T=u;T<l;T++)if(!(M=s&&T===l-1?t[u+1]:t[T+1])||!t[T].equals(M)){k&&(A=k),v&&(w=v),v=t[T],k=M?M.sub(v)._unit()._perp():A;var S=(A=A||k).add(k);0===S.x&&0===S.y||S._unit();var E=S.x*k.x+S.y*k.y,C=0!==E?1/E:1/0,L=E<d&&w&&M;if(L&&T>u){var z=v.dist(w);if(z>2*f){var P=v.sub(v.sub(w)._mult(f/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,A.mult(1),0,0,!1,g),w=P}}var I=w&&M,D=I?r:M?x:b;if(I&&\\\"round\\\"===D&&(C<a?D=\\\"miter\\\":C<=2&&(D=\\\"fakeround\\\")),\\\"miter\\\"===D&&C>i&&(D=\\\"bevel\\\"),\\\"bevel\\\"===D&&(C>2&&(D=\\\"flipbevel\\\"),C<i&&(D=\\\"miter\\\")),w&&(o.distance+=v.dist(w)),\\\"miter\\\"===D)S._mult(C),o.addCurrentVertex(v,o.distance,S,0,0,!1,g);else if(\\\"flipbevel\\\"===D){if(C>100)S=k.clone().mult(-1);else{var O=A.x*k.y-A.y*k.x>0?-1:1,R=C*A.add(k).mag()/A.sub(k).mag();S._perp()._mult(R*O)}o.addCurrentVertex(v,o.distance,S,0,0,!1,g),o.addCurrentVertex(v,o.distance,S.mult(-1),0,0,!1,g)}else if(\\\"bevel\\\"===D||\\\"fakeround\\\"===D){var F=A.x*k.y-A.y*k.x>0,B=-Math.sqrt(C*C-1);if(F?(y=0,m=B):(m=0,y=B),_||o.addCurrentVertex(v,o.distance,A,m,y,!1,g),\\\"fakeround\\\"===D){for(var N=Math.floor(8*(.5-(E-.5))),j=void 0,V=0;V<N;V++)j=k.mult((V+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g);o.addPieSliceVertex(v,o.distance,S,F,g);for(var U=N-1;U>=0;U--)j=A.mult((U+1)/(N+1))._add(k)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g)}M&&o.addCurrentVertex(v,o.distance,k,-m,-y,!1,g)}else\\\"butt\\\"===D?(_||o.addCurrentVertex(v,o.distance,A,0,0,!1,g),M&&o.addCurrentVertex(v,o.distance,k,0,0,!1,g)):\\\"square\\\"===D?(_||(o.addCurrentVertex(v,o.distance,A,1,1,!1,g),o.e1=o.e2=-1),M&&o.addCurrentVertex(v,o.distance,k,-1,-1,!1,g)):\\\"round\\\"===D&&(_||(o.addCurrentVertex(v,o.distance,A,0,0,!1,g),o.addCurrentVertex(v,o.distance,A,1,1,!0,g),o.e1=o.e2=-1),M&&(o.addCurrentVertex(v,o.distance,k,-1,-1,!0,g),o.addCurrentVertex(v,o.distance,k,0,0,!1,g)));if(L&&T<l-1){var q=v.dist(M);if(q>2*f){var H=v.add(M.sub(v)._mult(f/q)._round());o.distance+=H.dist(v),o.addCurrentVertex(H,o.distance,k.mult(1),0,0,!1,g),v=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},m.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,u=this.layoutVertexArray,c=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(u,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(u,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>v/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},m.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},f(\\\"LineBucket\\\",m,{omit:[\\\"layers\\\"]}),e.exports=m},{\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../extent\\\":53,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./line_attributes\\\":48,\\\"@mapbox/vector-tile\\\":8}],50:[function(t,e,r){var n=t(\\\"../../util/struct_array\\\").createLayout,i={symbolLayoutAttributes:n([{name:\\\"a_pos_offset\\\",components:4,type:\\\"Int16\\\"},{name:\\\"a_data\\\",components:4,type:\\\"Uint16\\\"}]),dynamicLayoutAttributes:n([{name:\\\"a_projected_pos\\\",components:3,type:\\\"Float32\\\"}],4),placementOpacityAttributes:n([{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint32\\\"}],4),collisionVertexAttributes:n([{name:\\\"a_placed\\\",components:2,type:\\\"Uint8\\\"}],4),collisionBox:n([{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\\\"},{type:\\\"Int16\\\",name:\\\"radius\\\"},{type:\\\"Int16\\\",name:\\\"signedDistanceFromAnchor\\\"}]),collisionBoxLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),collisionCircleLayout:n([{name:\\\"a_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_anchor_pos\\\",components:2,type:\\\"Int16\\\"},{name:\\\"a_extrude\\\",components:2,type:\\\"Int16\\\"}],4),placement:n([{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:\\\"hidden\\\"}]),glyphOffset:n([{type:\\\"Float32\\\",name:\\\"offsetX\\\"}]),lineVertex:n([{type:\\\"Int16\\\",name:\\\"x\\\"},{type:\\\"Int16\\\",name:\\\"y\\\"},{type:\\\"Int16\\\",name:\\\"tileUnitDistanceFromAnchor\\\"}])};e.exports=i},{\\\"../../util/struct_array\\\":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(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)}var a=t(\\\"./symbol_attributes\\\"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,u=a.collisionCircleLayout,c=a.dynamicLayoutAttributes,h=t(\\\"../array_types\\\"),f=h.SymbolLayoutArray,p=h.SymbolDynamicLayoutArray,d=h.SymbolOpacityArray,g=h.CollisionBoxLayoutArray,v=h.CollisionCircleLayoutArray,m=h.CollisionVertexArray,y=h.PlacedSymbolArray,x=h.GlyphOffsetArray,b=h.SymbolLineVertexArray,_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"../segment\\\").SegmentVector,M=t(\\\"../program_configuration\\\").ProgramConfigurationSet,A=t(\\\"../index_array_type\\\"),k=A.TriangleIndexArray,T=A.LineIndexArray,S=t(\\\"../../symbol/transform_text\\\"),E=t(\\\"../../symbol/mergelines\\\"),C=t(\\\"../../util/script_detection\\\"),L=t(\\\"../load_geometry\\\"),z=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.types,P=t(\\\"../../util/verticalize_punctuation\\\"),I=(t(\\\"../../symbol/anchor\\\"),t(\\\"../../symbol/symbol_size\\\").getSizeData),D=t(\\\"../../util/web_worker_transfer\\\").register,O=[{name:\\\"a_fade_opacity\\\",components:1,type:\\\"Uint8\\\",offset:0}],R=function(t){this.layoutVertexArray=new f,this.indexArray=new k,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,c.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,O,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},D(\\\"SymbolBuffers\\\",R);var F=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new m};F.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},F.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},D(\\\"CollisionBuffers\\\",F);var B=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;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=I(this.zoom,e[\\\"text-size\\\"]),this.iconSizeData=I(this.zoom,e[\\\"icon-size\\\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\\\"text-allow-overlap\\\")||r.get(\\\"icon-allow-overlap\\\")||r.get(\\\"text-ignore-placement\\\")||r.get(\\\"icon-ignore-placement\\\")};B.prototype.createArrays=function(){this.text=new R(new M(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new M(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new F(g,l.members,T),this.collisionCircle=new F(v,u.members,k),this.glyphOffsetArray=new x,this.lineVertexArray=new b},B.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\\\"text-font\\\"),a=n.get(\\\"text-field\\\"),o=n.get(\\\"icon-image\\\"),s=(\\\"constant\\\"!==a.value.kind||a.value.value.length>0)&&(\\\"constant\\\"!==i.value.kind||i.value.value.length>0),l=\\\"constant\\\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var u=e.iconDependencies,c=e.glyphDependencies,h={zoom:this.zoom},f=0,p=t;f<p.length;f+=1){var d=p[f],g=d.feature,v=d.index,m=d.sourceLayerIndex;if(r._featureFilter(h,g)){var y=void 0;s&&(y=r.getValueAndResolveTokens(\\\"text-field\\\",g),y=S(y,r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\\\"icon-image\\\",g)),y||x){var b={text:y,icon:x,index:v,sourceLayerIndex:m,geometry:L(g),properties:g.properties,type:z[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(u[x]=!0),y)for(var _=i.evaluate(g).join(\\\",\\\"),w=c[_]=c[_]||{},M=\\\"map\\\"===n.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===n.get(\\\"symbol-placement\\\"),A=C.allowsVerticalWritingMode(y),k=0;k<y.length;k++)if(w[y.charCodeAt(k)]=!0,M&&A){var T=P.lookup[y.charAt(k)];T&&(w[T.charCodeAt(0)]=!0)}}}}\\\"line\\\"===n.get(\\\"symbol-placement\\\")&&(this.features=E(this.features))}},B.prototype.isEmpty=function(){return 0===this.symbolInstances.length},B.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},B.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},B.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[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--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var u=a[l];this.lineVertexArray.emplaceBack(u.x,u.y,u.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},B.prototype.addSymbols=function(t,e,r,a,o,s,l,u,c,h){for(var f=t.indexArray,p=t.layoutVertexArray,d=t.dynamicLayoutVertexArray,g=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),v=this.glyphOffsetArray.length,m=g.vertexLength,y=0,x=e;y<x.length;y+=1){var b=x[y],_=b.tl,w=b.tr,M=b.bl,A=b.br,k=b.tex,T=g.vertexLength,S=b.glyphOffset[1];n(p,u.x,u.y,_.x,S+_.y,k.x,k.y,r),n(p,u.x,u.y,w.x,S+w.y,k.x+k.w,k.y,r),n(p,u.x,u.y,M.x,S+M.y,k.x,k.y+k.h,r),n(p,u.x,u.y,A.x,S+A.y,k.x+k.w,k.y+k.h,r),i(d,u,0),f.emplaceBack(T,T+1,T+2),f.emplaceBack(T+1,T+2,T+3),g.vertexLength+=4,g.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])}t.placedSymbolArray.emplaceBack(u.x,u.y,v,this.glyphOffsetArray.length-v,m,c,h,u.segment,r?r[0]:0,r?r[1]:0,a[0],a[1],l,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,s)},B.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},B.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=l.vertexLength,c=i.layoutVertexArray,h=i.collisionVertexArray;if(this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,n)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,n)),l.vertexLength+=4,s){var f=i.indexArray;f.emplaceBack(u,u+1,u+2),f.emplaceBack(u,u+2,u+3),l.primitiveLength+=2}else{var p=i.indexArray;p.emplaceBack(u,u+1),p.emplaceBack(u+1,u+2),p.emplaceBack(u+2,u+3),p.emplaceBack(u+3,u),l.primitiveLength+=4}},B.prototype.generateCollisionDebugBuffers=function(){for(var t=this,e=0,r=t.symbolInstances;e<r.length;e+=1){var n=r[e];n.textCollisionFeature={boxStartIndex:n.textBoxStartIndex,boxEndIndex:n.textBoxEndIndex},n.iconCollisionFeature={boxStartIndex:n.iconBoxStartIndex,boxEndIndex:n.iconBoxEndIndex};for(var i=0;i<2;i++){var a=n[0===i?\\\"textCollisionFeature\\\":\\\"iconCollisionFeature\\\"];if(a)for(var o=a.boxStartIndex;o<a.boxEndIndex;o++){var s=t.collisionBoxArray.get(o),l=s.x1,u=s.y1,c=s.x2,h=s.y2,f=s.radius>0;t.addCollisionDebugVertices(l,u,c,h,f?t.collisionCircle:t.collisionBox,s.anchorPoint,n,f)}}}},B.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY};break}a.textCircles||(a.textCircles=[]),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var u=t.get(l);if(0===u.radius){a.iconBox={x1:u.x1,y1:u.y1,x2:u.x2,y2:u.y2,anchorPointX:u.anchorPointX,anchorPointY:u.anchorPointY};break}}return a},B.prototype.hasTextData=function(){return this.text.segments.get().length>0},B.prototype.hasIconData=function(){return this.icon.segments.get().length>0},B.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},B.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},B.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear();for(var o=0,s=r;o<s.length;o+=1){for(var l=s[o],u=0,c=e.symbolInstances[l].placedTextSymbolIndices;u<c.length;u+=1)for(var h=c[u],f=e.text.placedSymbolArray.get(h),p=f.vertexStartIndex+4*f.numGlyphs,d=f.vertexStartIndex;d<p;d+=4)e.text.indexArray.emplaceBack(d,d+1,d+2),e.text.indexArray.emplaceBack(d+1,d+2,d+3);var g=e.icon.placedSymbolArray.get(l);if(g.numGlyphs){var v=g.vertexStartIndex;e.icon.indexArray.emplaceBack(v,v+1,v+2),e.icon.indexArray.emplaceBack(v+1,v+2,v+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},D(\\\"SymbolBucket\\\",B,{omit:[\\\"layers\\\",\\\"collisionBoxArray\\\",\\\"features\\\",\\\"compareText\\\"],shallow:[\\\"symbolInstances\\\"]}),B.MAX_GLYPHS=65535,B.addDynamicAttributes=i,e.exports=B},{\\\"../../symbol/anchor\\\":213,\\\"../../symbol/mergelines\\\":221,\\\"../../symbol/symbol_size\\\":228,\\\"../../symbol/transform_text\\\":229,\\\"../../util/script_detection\\\":269,\\\"../../util/verticalize_punctuation\\\":277,\\\"../../util/web_worker_transfer\\\":278,\\\"../array_types\\\":39,\\\"../index_array_type\\\":55,\\\"../load_geometry\\\":56,\\\"../program_configuration\\\":58,\\\"../segment\\\":60,\\\"./symbol_attributes\\\":50,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],52:[function(t,e,r){var n=t(\\\"../util/image\\\").RGBAImage,i=t(\\\"../util/util\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=function(t,e,r){if(t<=0)throw new RangeError(\\\"Level must have positive dimension\\\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};o.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},o.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},o.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\\\"out of range source coordinates for DEM data\\\");return(e+this.border)*this.stride+(t+this.border)},a(\\\"Level\\\",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError(\\\"DEM tiles must be square\\\");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;n<e.dim;n++)for(var i=0;i<e.dim;i++){var a=4*(n*e.dim+i);e.set(i,n,this.scale*((256*r[a]*256+256*r[a+1]+r[a+2])/10-1e4))}for(var s=0;s<e.dim;s++)e.set(-1,s,e.get(0,s)),e.set(e.dim,s,e.get(e.dim-1,s)),e.set(s,-1,e.get(s,0)),e.set(s,e.dim,e.get(s,e.dim-1));e.set(-1,-1,e.get(0,0)),e.set(e.dim,-1,e.get(e.dim-1,0)),e.set(-1,e.dim,e.get(0,e.dim-1)),e.set(e.dim,e.dim,e.get(e.dim-1,e.dim-1)),this.loaded=!0},s.prototype.getPixels=function(){return new n({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},s.prototype.backfillBorder=function(t,e,r){var n=this.level,a=t.level;if(n.dim!==a.dim)throw new Error(\\\"level mismatch (dem dimension)\\\");var o=e*n.dim,s=e*n.dim+n.dim,l=r*n.dim,u=r*n.dim+n.dim;switch(e){case-1:o=s-1;break;case 1:s=o+1}switch(r){case-1:l=u-1;break;case 1:u=l+1}for(var c=i.clamp(o,-n.border,n.dim+n.border),h=i.clamp(s,-n.border,n.dim+n.border),f=i.clamp(l,-n.border,n.dim+n.border),p=i.clamp(u,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,v=f;v<p;v++)for(var m=c;m<h;m++)n.set(m,v,a.get(m+d,v+g))},a(\\\"DEMData\\\",s),e.exports={DEMData:s,Level:o}},{\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],53:[function(t,e,r){e.exports=8192},{}],54:[function(t,e,r){function n(t,e){return e-t}t(\\\"@mapbox/point-geometry\\\");var i=t(\\\"./load_geometry\\\"),a=t(\\\"./extent\\\"),o=t(\\\"../style-spec/feature_filter\\\"),s=t(\\\"grid-index\\\"),l=t(\\\"../util/dictionary_coder\\\"),u=t(\\\"@mapbox/vector-tile\\\"),c=t(\\\"pbf\\\"),h=t(\\\"../util/vectortile_to_geojson\\\"),f=t(\\\"../util/util\\\").arraysIntersect,p=(t(\\\"../source/tile_id\\\").OverscaledTileID,t(\\\"../util/web_worker_transfer\\\").register),d=t(\\\"./array_types\\\").FeatureIndexArray,g=function(t,e,r,n){this.tileID=t,this.overscaling=e,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=r||new s(a,16,0),this.featureIndexArray=n||new d};g.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],u=0;u<s.length;u++){var c=s[u];l[0]=Math.min(l[0],c.x),l[1]=Math.min(l[1],c.y),l[2]=Math.max(l[2],c.x),l[3]=Math.max(l[3],c.y)}this.grid.insert(a,l[0],l[1],l[2],l[3])}},g.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new u.VectorTile(new c(this.rawTileData)).layers,this.sourceLayerCoder=new l(this.vtLayers?Object.keys(this.vtLayers).sort():[\\\"_geojsonTileLayer\\\"]));for(var r={},i=t.params||{},s=a/t.tileSize/t.scale,h=o(i.filter),f=t.queryGeometry,p=t.additionalRadius*s,d=1/0,g=1/0,v=-1/0,m=-1/0,y=0;y<f.length;y++)for(var x=f[y],b=0;b<x.length;b++){var _=x[b];d=Math.min(d,_.x),g=Math.min(g,_.y),v=Math.max(v,_.x),m=Math.max(m,_.y)}var w=this.grid.query(d-p,g-p,v+p,m+p);w.sort(n),this.filterMatching(r,w,this.featureIndexArray,f,h,i.layers,e,t.bearing,s);var M=t.collisionIndex?t.collisionIndex.queryRenderedSymbols(f,this.tileID,a/t.tileSize,t.collisionBoxArray,t.sourceID,t.bucketInstanceIds):[];return M.sort(),this.filterMatching(r,M,t.collisionBoxArray,f,h,i.layers,e,t.bearing,s),r},g.prototype.filterMatching=function(t,e,r,n,a,o,s,l,u){for(var c,p=this,d=0;d<e.length;d++){var g=e[d];if(g!==c){c=g;var v=r.get(g),m=p.bucketLayerIDs[v.bucketIndex];if(!o||f(o,m)){var y=p.sourceLayerCoder.decode(v.sourceLayerIndex),x=p.vtLayers[y].feature(v.featureIndex);if(a({zoom:p.tileID.overscaledZ},x))for(var b=null,_=0;_<m.length;_++){var w=m[_];if(!(o&&o.indexOf(w)<0)){var M=s[w];if(M&&(\\\"symbol\\\"===M.type||(b||(b=i(x)),M.queryIntersectsFeature(n,x,b,p.z,l,u)))){var A=new h(x,p.z,p.x,p.y);A.layer=M.serialize();var k=t[w];void 0===k&&(k=t[w]=[]),k.push({featureIndex:g,feature:A})}}}}}}},g.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1){if(t===i[n])return!0}return!1},p(\\\"FeatureIndex\\\",g,{omit:[\\\"rawTileData\\\",\\\"sourceLayerCoder\\\"]}),e.exports=g},{\\\"../source/tile_id\\\":114,\\\"../style-spec/feature_filter\\\":148,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39,\\\"./extent\\\":53,\\\"./load_geometry\\\":56,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,\\\"grid-index\\\":24,pbf:30}],55:[function(t,e,r){e.exports={LineIndexArray:t(\\\"./array_types\\\").LineIndexArray,TriangleIndexArray:t(\\\"./array_types\\\").TriangleIndexArray}},{\\\"./array_types\\\":39}],56:[function(t,e,r){var n,i=t(\\\"../util/util\\\"),a=t(\\\"./extent\\\"),o=(n=16,{min:-1*Math.pow(2,n-1),max:Math.pow(2,n-1)-1});e.exports=function(t){for(var e=a/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var s=r[n],l=0;l<s.length;l++){var u=s[l];u.x=Math.round(u.x*e),u.y=Math.round(u.y*e),(u.x<o.min||u.x>o.max||u.y<o.min||u.y>o.max)&&i.warnOnce(\\\"Geometry exceeds allowed extent, reduce your vector tile buffer size\\\")}return r}},{\\\"../util/util\\\":275,\\\"./extent\\\":53}],57:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(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\\\"}[t]||t.replace(e+\\\"-\\\",\\\"\\\").replace(/-/g,\\\"_\\\")}var a=t(\\\"../shaders/encode_attribute\\\").packUint8ToFloat,o=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),s=t(\\\"../style/properties\\\").PossiblyEvaluatedPropertyValue,l=t(\\\"./array_types\\\"),u=l.StructArrayLayout1f4,c=l.StructArrayLayout2f8,h=l.StructArrayLayout4f16,f=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};f.prototype.defines=function(){return[\\\"#define HAS_UNIFORM_u_\\\"+this.name]},f.prototype.populatePaintArray=function(){},f.prototype.upload=function(){},f.prototype.destroy=function(){},f.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\\\"color\\\"===this.type?a.uniform4f(e.uniforms[\\\"u_\\\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\\\"u_\\\"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\\\"color\\\"===r?c:u;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if(\\\"color\\\"===this.type)for(var o=n(a),s=i;s<t;s++)r.emplaceBack(o[0],o[1]);else{for(var l=i;l<t;l++)r.emplaceBack(a);this.statistics.max=Math.max(this.statistics.max,a)}},p.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},p.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},p.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],0)};var d=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\\\"color\\\"===r?h:c;this.paintVertexAttributes=[{name:\\\"a_\\\"+e,type:\\\"Float32\\\",components:\\\"color\\\"===r?4:2,offset:0}],this.paintVertexArray=new a};d.prototype.defines=function(){return[]},d.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:this.zoom},e),o=this.expression.evaluate({zoom:this.zoom+1},e);if(\\\"color\\\"===this.type)for(var s=n(a),l=n(o),u=i;u<t;u++)r.emplaceBack(s[0],s[1],l[0],l[1]);else{for(var c=i;c<t;c++)r.emplaceBack(a,o);this.statistics.max=Math.max(this.statistics.max,a,o)}},d.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},d.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},d.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},d.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\\\"a_\\\"+this.name+\\\"_t\\\"],this.interpolationFactor(r.zoom))};var g=function(){this.binders={},this.cacheKey=\\\"\\\",this._buffers=[]};g.createDynamic=function(t,e,r){var n=new g,a=[];for(var o in t.paint._values)if(r(o)){var l=t.paint.get(o);if(l instanceof s&&l.property.specification[\\\"property-function\\\"]){var u=i(o,t.type),c=l.property.specification.type,h=l.property.useIntegerZoom;\\\"constant\\\"===l.value.kind?(n.binders[o]=new f(l.value,u,c),a.push(\\\"/u_\\\"+u)):\\\"source\\\"===l.value.kind?(n.binders[o]=new p(l.value,u,c),a.push(\\\"/a_\\\"+u)):(n.binders[o]=new d(l.value,u,c,h,e),a.push(\\\"/z_\\\"+u))}}return n.cacheKey=a.sort().join(\\\"\\\"),n},g.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},g.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},g.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},g.prototype.getPaintVertexBuffers=function(){return this._buffers},g.prototype.upload=function(t){var e=this;for(var r in e.binders)e.binders[r].upload(t);var n=[];for(var i in e.binders){var a=e.binders[i];(a instanceof p||a instanceof d)&&a.paintVertexBuffer&&n.push(a.paintVertexBuffer)}this._buffers=n},g.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var v=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=g.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};v.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},v.prototype.get=function(t){return this.programConfigurations[t]},v.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},v.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},o(\\\"ConstantBinder\\\",f),o(\\\"SourceExpressionBinder\\\",p),o(\\\"CompositeExpressionBinder\\\",d),o(\\\"ProgramConfiguration\\\",g,{omit:[\\\"_buffers\\\"]}),o(\\\"ProgramConfigurationSet\\\",v),e.exports={ProgramConfiguration:g,ProgramConfigurationSet:v}},{\\\"../shaders/encode_attribute\\\":96,\\\"../style-spec/util/color\\\":153,\\\"../style/properties\\\":188,\\\"../util/web_worker_transfer\\\":278,\\\"./array_types\\\":39}],59:[function(t,e,r){var n=t(\\\"../util/struct_array\\\").createLayout;e.exports=n([{name:\\\"a_pos\\\",type:\\\"Int16\\\",components:2},{name:\\\"a_texture_pos\\\",type:\\\"Int16\\\",components:2}])},{\\\"../util/struct_array\\\":271}],60:[function(t,e,r){var n=t(\\\"../util/util\\\").warnOnce,i=t(\\\"../util/web_worker_transfer\\\").register,a=Math.pow(2,16)-1,o=function(t){void 0===t&&(t=[]),this.segments=t};o.prototype.prepareSegment=function(t,r,i){var o=this.segments[this.segments.length-1];return t>a&&n(\\\"Max vertices per segment is \\\"+a+\\\": bucket requested \\\"+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.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()}},i(\\\"SegmentVector\\\",o),e.exports={SegmentVector:o,MAX_VERTEX_ARRAY_LENGTH:a}},{\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],61:[function(t,e,r){var n=function(t,e,r){this.column=t,this.row=e,this.zoom=r};n.prototype.clone=function(){return new n(this.column,this.row,this.zoom)},n.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},n.prototype.sub=function(t){return this.clone()._sub(t)},n.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},n.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this},e.exports=n},{}],62:[function(t,e,r){var n=t(\\\"../util/util\\\").wrap,i=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\\\")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return\\\"LngLat(\\\"+this.lng+\\\", \\\"+this.lat+\\\")\\\"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t(\\\"./lng_lat_bounds\\\"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\\\"object\\\"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error(\\\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\\\")},e.exports=i},{\\\"../util/util\\\":275,\\\"./lng_lat_bounds\\\":63}],63:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=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]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return\\\"LngLatBounds(\\\"+this._sw.toString()+\\\", \\\"+this._ne.toString()+\\\")\\\"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{\\\"./lng_lat\\\":62}],64:[function(t,e,r){var n=t(\\\"./lng_lat\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./coordinate\\\"),o=t(\\\"../util/util\\\"),s=t(\\\"../style-spec/util/interpolate\\\").number,l=t(\\\"../util/tile_cover\\\"),u=t(\\\"../source/tile_id\\\"),c=(u.CanonicalTileID,u.UnwrappedTileID),h=t(\\\"../data/extent\\\"),f=t(\\\"@mapbox/gl-matrix\\\"),p=f.vec4,d=f.mat4,g=f.mat2,v=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},m={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};v.prototype.clone=function(){var t=new v(this._minZoom,this._maxZoom,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._calcMatrices(),t},m.minZoom.get=function(){return this._minZoom},m.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},m.maxZoom.get=function(){return this._maxZoom},m.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},m.renderWorldCopies.get=function(){return this._renderWorldCopies},m.worldSize.get=function(){return this.tileSize*this.scale},m.centerPoint.get=function(){return this.size._div(2)},m.size.get=function(){return new i(this.width,this.height)},m.bearing.get=function(){return-this.angle/Math.PI*180},m.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},m.pitch.get=function(){return this._pitch/Math.PI*180},m.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},m.fov.get=function(){return this._fov/Math.PI*180},m.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())},m.zoom.get=function(){return this._zoom},m.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())},m.center.get=function(){return this._center},m.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},v.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},v.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new c(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new c(s,t));return o},v.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&e<t.minzoom)return[];void 0!==t.maxzoom&&e>t.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},v.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},m.unmodified.get=function(){return this._unmodified},v.prototype.zoomScale=function(t){return Math.pow(2,t)},v.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},v.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},v.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},m.x.get=function(){return this.lngX(this.center.lng)},m.y.get=function(){return this.latY(this.center.lat)},m.point.get=function(){return new i(this.x,this.y)},v.prototype.lngX=function(t){return(180+t)*this.worldSize/360},v.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},v.prototype.xLng=function(t){return 360*t/this.worldSize-180},v.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},v.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},v.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},v.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},v.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},v.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},v.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,u=n[1]/o,c=r[2]/i,h=n[2]/o,f=c===h?0:(0-c)/(h-c);return new a(s(r[0]/i,n[0]/o,f)/this.tileSize,s(l,u,f)/this.tileSize,this.zoom)._zoomTo(e)},v.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},v.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/h,a/h,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},v.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var h=this.latRange;a=this.latY(h[1]),t=(o=this.latY(h[0]))-a<u.y?u.y/(o-a):0}if(this.lngRange){var f=this.lngRange;s=this.lngX(f[0]),e=(l=this.lngX(f[1]))-s<u.x?u.x/(l-s):0}var p=Math.max(e||0,t||0);if(p)return this.center=this.unproject(new i(e?(l+s)/2:this.x,t?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var d=this.y,g=u.y/2;d-g<a&&(n=a+g),d+g>o&&(n=o-g)}if(this.lngRange){var v=this.x,m=u.x/2;v-m<s&&(r=s+m),v+m>l&&(r=l-m)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=c,this._constraining=!1}},v.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,u=this.height%2/2,c=Math.cos(this.angle),h=Math.sin(this.angle),f=n-Math.round(n)+c*l+h*u,p=i-Math.round(i)+c*u+h*l,g=new Float64Array(o);if(d.translate(g,g,[f>.5?f-1:f,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\\\"failed to invert matrix\\\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(v.prototype,m),e.exports=v},{\\\"../data/extent\\\":53,\\\"../source/tile_id\\\":114,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/tile_cover\\\":273,\\\"../util/util\\\":275,\\\"./coordinate\\\":61,\\\"./lng_lat\\\":62,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],65:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{\\\"../style-spec/util/color\\\":153}],66:[function(t,e,r){var n=t(\\\"./index_buffer\\\"),i=t(\\\"./vertex_buffer\\\"),a=t(\\\"./framebuffer\\\"),o=(t(\\\"./depth_mode\\\"),t(\\\"./stencil_mode\\\"),t(\\\"./color_mode\\\")),s=t(\\\"../util/util\\\"),l=t(\\\"./value\\\"),u=l.ClearColor,c=l.ClearDepth,h=l.ClearStencil,f=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,v=l.StencilOp,m=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,M=l.BlendColor,A=l.Program,k=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,E=l.BindFramebuffer,C=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,I=l.BindVertexArrayOES,D=l.PixelStoreUnpack,O=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\\\"OES_vertex_array_object\\\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new u(this),this.clearDepth=new c(this),this.clearStencil=new h(this),this.colorMask=new f(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new v(this),this.stencilTest=new m(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new M(this),this.program=new A(this),this.lineWidth=new k(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new E(this),this.bindRenderbuffer=new C(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new I(this),this.pixelStoreUnpack=new D(this),this.pixelStoreUnpackPremultiplyAlpha=new O(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\\\")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.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)},R.prototype.setStencilMode=function(t){t.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)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{\\\"../util/util\\\":275,\\\"./color_mode\\\":65,\\\"./depth_mode\\\":67,\\\"./framebuffer\\\":68,\\\"./index_buffer\\\":69,\\\"./stencil_mode\\\":70,\\\"./value\\\":71,\\\"./vertex_buffer\\\":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t(\\\"./value\\\"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{\\\"./value\\\":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.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};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t(\\\"../style-spec/util/color\\\"),i=t(\\\"../util/util\\\"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.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.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.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.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var u=function(t){this.context=t,this.current=!0};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var c=function(t){this.context=t,this.current=255};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var h=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var f=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var v=function(t){this.context=t,this.current=t.gl.LESS};v.prototype.get=function(){return this.current},v.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var m=function(t){this.context=t,this.current=!1};m.prototype.get=function(){return this.current},m.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.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.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var M=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};M.prototype.get=function(){return this.current},M.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.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var k=function(t){this.context=t,this.current=null};k.prototype.get=function(){return this.current},k.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var I=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:u,StencilMask:c,StencilFunc:h,StencilOp:f,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:v,Blend:m,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:M,BindFramebuffer:A,BindRenderbuffer:k,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:E,BindVertexArrayOES:C,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:I,DepthAttachment:D}},{\\\"../style-spec/util/color\\\":153,\\\"../util/util\\\":275}],72:[function(t,e,r){var n={Int8:\\\"BYTE\\\",Uint8:\\\"UNSIGNED_BYTE\\\",Int16:\\\"SHORT\\\",Uint16:\\\"UNSIGNED_SHORT\\\",Int32:\\\"INT\\\",Uint32:\\\"UNSIGNED_INT\\\",Float32:\\\"FLOAT\\\"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},i.prototype.setVertexAttribPointers=function(t,e,r){for(var i=this,a=0;a<this.attributes.length;a++){var o=i.attributes[a],s=e.attributes[o.name];void 0!==s&&t.vertexAttribPointer(s,o.components,t[n[o.type]],!1,i.itemSize,o.offset+i.itemSize*(r||0))}},i.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=i},{}],73:[function(t,e,r){var n=t(\\\"@mapbox/mapbox-gl-supported\\\"),i=t(\\\"./util/browser\\\"),a=t(\\\"../package.json\\\").version,o=t(\\\"./ui/map\\\"),s=t(\\\"./ui/control/navigation_control\\\"),l=t(\\\"./ui/control/geolocate_control\\\"),u=t(\\\"./ui/control/attribution_control\\\"),c=t(\\\"./ui/control/scale_control\\\"),h=t(\\\"./ui/control/fullscreen_control\\\"),f=t(\\\"./ui/popup\\\"),p=t(\\\"./ui/marker\\\"),d=t(\\\"./style/style\\\"),g=t(\\\"./geo/lng_lat\\\"),v=t(\\\"./geo/lng_lat_bounds\\\"),m=t(\\\"@mapbox/point-geometry\\\"),y=t(\\\"./util/evented\\\"),x=t(\\\"./util/config\\\"),b=t(\\\"./source/rtl_text_plugin\\\");e.exports={version:a,supported:n,workerCount:Math.max(Math.floor(i.hardwareConcurrency/2),1),setRTLTextPlugin:b.setRTLTextPlugin,Map:o,NavigationControl:s,GeolocateControl:l,AttributionControl:u,ScaleControl:c,FullscreenControl:h,Popup:f,Marker:p,Style:d,LngLat:g,LngLatBounds:v,Point:m,Evented:y,config:x,get accessToken(){return x.ACCESS_TOKEN},set accessToken(t){x.ACCESS_TOKEN=t}}},{\\\"../package.json\\\":38,\\\"./geo/lng_lat\\\":62,\\\"./geo/lng_lat_bounds\\\":63,\\\"./source/rtl_text_plugin\\\":109,\\\"./style/style\\\":190,\\\"./ui/control/attribution_control\\\":232,\\\"./ui/control/fullscreen_control\\\":233,\\\"./ui/control/geolocate_control\\\":234,\\\"./ui/control/navigation_control\\\":236,\\\"./ui/control/scale_control\\\":237,\\\"./ui/map\\\":247,\\\"./ui/marker\\\":248,\\\"./ui/popup\\\":249,\\\"./util/browser\\\":252,\\\"./util/config\\\":256,\\\"./util/evented\\\":260,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],74:[function(t,e,r){var n=t(\\\"./pattern\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r){var o=r.paint.get(\\\"background-color\\\"),s=r.paint.get(\\\"background-opacity\\\");if(0!==s){var l=t.context,u=l.gl,c=t.transform,h=c.tileSize,f=r.paint.get(\\\"background-pattern\\\"),p=f||1!==o.a||1!==s?\\\"translucent\\\":\\\"opaque\\\";if(t.renderPass===p){var d;if(l.setStencilMode(i.disabled),l.setDepthMode(t.depthModeForSublayer(0,\\\"opaque\\\"===p?a.ReadWrite:a.ReadOnly)),l.setColorMode(t.colorModeForRenderPass()),f){if(n.isPatternMissing(f,t))return;d=t.useProgram(\\\"backgroundPattern\\\"),n.prepare(f,t,d),t.tileExtentPatternVAO.bind(l,d,t.tileExtentBuffer,[])}else d=t.useProgram(\\\"background\\\"),u.uniform4fv(d.uniforms.u_color,[o.r,o.g,o.b,o.a]),t.tileExtentVAO.bind(l,d,t.tileExtentBuffer,[]);u.uniform1f(d.uniforms.u_opacity,s);for(var g=0,v=c.coveringTiles({tileSize:h});g<v.length;g+=1){var m=v[g];f&&n.setTile({tileID:m,tileSize:h},t,d),u.uniformMatrix4fv(d.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(m.toUnwrapped())),u.drawArrays(u.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./pattern\\\":91}],75:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\"),i=t(\\\"../gl/stencil_mode\\\"),a=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){if(\\\"translucent\\\"===t.renderPass){var s=r.paint.get(\\\"circle-opacity\\\"),l=r.paint.get(\\\"circle-stroke-width\\\"),u=r.paint.get(\\\"circle-stroke-opacity\\\");if(0!==s.constantOr(1)||0!==l.constantOr(1)&&0!==u.constantOr(1)){var c=t.context,h=c.gl;c.setDepthMode(t.depthModeForSublayer(0,a.ReadOnly)),c.setStencilMode(i.disabled),c.setColorMode(t.colorModeForRenderPass());for(var f=!0,p=0;p<o.length;p++){var d=o[p],g=e.getTile(d),v=g.getBucket(r);if(v){var m=t.context.program.get(),y=v.programConfigurations.get(r.id),x=t.useProgram(\\\"circle\\\",y);if((f||x.program!==m)&&(y.setUniforms(c,x,r.paint,{zoom:t.transform.zoom}),f=!1),h.uniform1f(x.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),h.uniform1i(x.uniforms.u_scale_with_map,\\\"map\\\"===r.paint.get(\\\"circle-pitch-scale\\\")?1:0),\\\"map\\\"===r.paint.get(\\\"circle-pitch-alignment\\\")){h.uniform1i(x.uniforms.u_pitch_with_map,1);var b=n(g,1,t.transform.zoom);h.uniform2f(x.uniforms.u_extrude_scale,b,b)}else h.uniform1i(x.uniforms.u_pitch_with_map,0),h.uniform2fv(x.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);h.uniformMatrix4fv(x.uniforms.u_matrix,!1,t.translatePosMatrix(d.posMatrix,g,r.paint.get(\\\"circle-translate\\\"),r.paint.get(\\\"circle-translate-anchor\\\"))),x.draw(c,h.TRIANGLES,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,y)}}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],76:[function(t,e,r){function n(t,e,r,n,s){var l=t.context,u=l.gl,c=s?t.useProgram(\\\"collisionCircle\\\"):t.useProgram(\\\"collisionBox\\\");l.setDepthMode(a.disabled),l.setStencilMode(o.disabled),l.setColorMode(t.colorModeForRenderPass());for(var h=0;h<n.length;h++){var f=n[h],p=e.getTile(f),d=p.getBucket(r);if(d){var g=s?d.collisionCircle:d.collisionBox;if(g){u.uniformMatrix4fv(c.uniforms.u_matrix,!1,f.posMatrix),s||l.lineWidth.set(1),u.uniform1f(c.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var v=i(p,1,t.transform.zoom),m=Math.pow(2,t.transform.zoom-p.tileID.overscaledZ);u.uniform1f(c.uniforms.u_pixels_to_tile_units,v),u.uniform2f(c.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(v*m),t.transform.pixelsToGLUnits[1]/(v*m)),c.draw(l,s?u.TRIANGLES:u.LINES,r.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,g.collisionVertexBuffer,null)}}}}var i=t(\\\"../source/pixels_to_tile_units\\\"),a=t(\\\"../gl/depth_mode\\\"),o=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){n(t,e,r,i,!1),n(t,e,r,i,!0)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104}],77:[function(t,e,r){function n(t,e,r){var n=t.context,p=n.gl;n.lineWidth.set(1*i.devicePixelRatio);var d=r.posMatrix,g=t.useProgram(\\\"debug\\\");n.setDepthMode(c.disabled),n.setStencilMode(h.disabled),n.setColorMode(t.colorModeForRenderPass()),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.uniform4f(g.uniforms.u_color,1,0,0,1),t.debugVAO.bind(n,g,t.debugBuffer,[]),p.drawArrays(p.LINE_STRIP,0,t.debugBuffer.length);for(var v=function(t,e,r,n){n=n||1;var i,a,o,s,l,u,c,h,p=[];for(i=0,a=t.length;i<a;i++)if(l=f[t[i]]){for(h=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?h=null:(u=e+l[1][o]*n,c=r-l[1][o+1]*n,h&&p.push(h.x,h.y,u,c),h={x:u,y:c});e+=l[0]*n}return p}(r.toString(),50,200,5),m=new l,y=0;y<v.length;y+=2)m.emplaceBack(v[y],v[y+1]);var x=n.createVertexBuffer(m,u.members);(new s).bind(n,g,x,[]),p.uniform4f(g.uniforms.u_color,1,1,1,1);for(var b=e.getTile(r).tileSize,_=o/(Math.pow(2,t.transform.zoom-r.overscaledZ)*b),w=[[-1,-1],[-1,1],[1,-1],[1,1]],M=0;M<w.length;M++){var A=w[M];p.uniformMatrix4fv(g.uniforms.u_matrix,!1,a.translate([],d,[_*A[0],_*A[1],0])),p.drawArrays(p.LINES,0,x.length)}p.uniform4f(g.uniforms.u_color,0,0,0,1),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.drawArrays(p.LINES,0,x.length)}var i=t(\\\"../util/browser\\\"),a=t(\\\"@mapbox/gl-matrix\\\").mat4,o=t(\\\"../data/extent\\\"),s=t(\\\"./vertex_array_object\\\"),l=t(\\\"../data/array_types\\\").PosArray,u=t(\\\"../data/pos_attributes\\\"),c=t(\\\"../gl/depth_mode\\\"),h=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])};var f={\\\" \\\":[16,[]],\\\"!\\\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\\\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\\\"#\\\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\\\"%\\\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\\\"&\\\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\\\"'\\\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\\\"(\\\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\\\")\\\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\\\"*\\\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\\\"+\\\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\\\",\\\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"-\\\":[26,[4,9,22,9]],\\\".\\\":[10,[5,2,4,1,5,0,6,1,5,2]],\\\"/\\\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\\\":\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\\\";\\\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\\\"<\\\":[24,[20,18,4,9,20,0]],\\\"=\\\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\\\">\\\":[24,[4,18,20,9,4,0]],\\\"?\\\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\\\"@\\\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\\\"[\\\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\\\"\\\\\\\\\\\":[14,[0,21,14,-3]],\\\"]\\\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\\\"^\\\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\\\"`\\\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\\\"{\\\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\\\"|\\\":[8,[4,25,4,-7]],\\\"}\\\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\\\"~\\\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get(\\\"fill-pattern\\\"),t))for(var a=!0,o=0,l=n;o<l.length;o+=1){var u=l[o],c=e.getTile(u),h=c.getBucket(r);h&&(t.context.setStencilMode(t.stencilModeForClipping(u)),i(t,e,r,c,u,h,a),a=!1)}}function i(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id);o(\\\"fill\\\",r.paint.get(\\\"fill-pattern\\\"),t,u,r,n,i,s).draw(t.context,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,u)}function a(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id),c=o(\\\"fillOutline\\\",r.getPaintProperty(\\\"fill-outline-color\\\")?null:r.paint.get(\\\"fill-pattern\\\"),t,u,r,n,i,s);l.uniform2f(c.uniforms.u_world,l.drawingBufferWidth,l.drawingBufferHeight),c.draw(t.context,l.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,u)}function o(t,e,r,n,i,a,o,l){var u,c=r.context.program.get();return e?(u=r.useProgram(t+\\\"Pattern\\\",n),(l||u.program!==c)&&(n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom}),s.prepare(e,r,u)),s.setTile(a,r,u)):(u=r.useProgram(t,n),(l||u.program!==c)&&n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(u.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\\\"fill-translate\\\"),i.paint.get(\\\"fill-translate-anchor\\\"))),u}var s=t(\\\"./pattern\\\"),l=t(\\\"../style-spec/util/color\\\"),u=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,o){var s=r.paint.get(\\\"fill-color\\\"),c=r.paint.get(\\\"fill-opacity\\\");if(0!==c.constantOr(1)){var h=t.context;h.setColorMode(t.colorModeForRenderPass());var f=r.paint.get(\\\"fill-pattern\\\")||1!==s.constantOr(l.transparent).a||1!==c.constantOr(0)?\\\"translucent\\\":\\\"opaque\\\";t.renderPass===f&&(h.setDepthMode(t.depthModeForSublayer(1,\\\"opaque\\\"===t.renderPass?u.ReadWrite:u.ReadOnly)),n(t,e,r,o,i)),\\\"translucent\\\"===t.renderPass&&r.paint.get(\\\"fill-antialias\\\")&&(h.lineWidth.set(2),h.setDepthMode(t.depthModeForSublayer(r.getPaintProperty(\\\"fill-outline-color\\\")?2:0,u.ReadOnly)),n(t,e,r,o,a))}}},{\\\"../gl/depth_mode\\\":67,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91}],79:[function(t,e,r){function n(t,e,r,n,i,o,s){var l=t.context,c=l.gl,f=r.paint.get(\\\"fill-extrusion-pattern\\\"),p=t.context.program.get(),d=o.programConfigurations.get(r.id),g=t.useProgram(f?\\\"fillExtrusionPattern\\\":\\\"fillExtrusion\\\",d);if((s||g.program!==p)&&d.setUniforms(l,g,r.paint,{zoom:t.transform.zoom}),f){if(a.isPatternMissing(f,t))return;a.prepare(f,t,g),a.setTile(n,t,g),c.uniform1f(g.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(g.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\\\"fill-extrusion-translate\\\"),r.paint.get(\\\"fill-extrusion-translate-anchor\\\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\\\"position\\\"),a=[i.x,i.y,i.z],o=u.create();\\\"viewport\\\"===n.properties.get(\\\"anchor\\\")&&u.fromRotation(o,-e.transform.angle),h.transformMat3(a,a,o);var s=n.properties.get(\\\"color\\\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\\\"intensity\\\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(g,t),g.draw(l,c.TRIANGLES,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,d)}var i=t(\\\"@mapbox/gl-matrix\\\"),a=t(\\\"./pattern\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../style-spec/util/color\\\"),l=t(\\\"../gl/depth_mode\\\"),u=i.mat3,c=i.mat4,h=i.vec3,f=t(\\\"../gl/stencil_mode\\\");e.exports=function(t,e,r,i){if(0!==r.paint.get(\\\"fill-extrusion-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){!function(t,e){var r=t.context,n=r.gl,i=e.viewportFrame;if(t.depthRboNeedsClear&&t.setupOffscreenDepthRenderbuffer(),!i){var a=new o(r,{width:t.width,height:t.height,data:null},n.RGBA);a.bind(n.LINEAR,n.CLAMP_TO_EDGE),(i=e.viewportFrame=r.createFramebuffer(t.width,t.height)).colorAttachment.set(a.texture)}r.bindFramebuffer.set(i.framebuffer),i.depthAttachment.set(t.depthRbo),t.depthRboNeedsClear&&(r.clear({depth:1}),t.depthRboNeedsClear=!1),r.clear({color:s.transparent}),r.setStencilMode(f.disabled),r.setDepthMode(new l(n.LEQUAL,l.ReadWrite,[0,1])),r.setColorMode(t.colorModeForRenderPass())}(t,r);for(var a=!0,u=0,h=i;u<h.length;u+=1){var p=h[u],d=e.getTile(p),g=d.getBucket(r);g&&(n(t,0,r,d,p,g,a),a=!1)}}else\\\"translucent\\\"===t.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\\\"extrusionTexture\\\");n.setStencilMode(f.disabled),n.setDepthMode(l.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\\\"fill-extrusion-opacity\\\")),i.uniform1i(a.uniforms.u_image,0);var o=c.create();c.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(t,r)}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../style-spec/util/color\\\":153,\\\"./pattern\\\":91,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],80:[function(t,e,r){var n=t(\\\"@mapbox/gl-matrix\\\").mat4,i=t(\\\"./texture\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../style-spec/util/color\\\"),s=t(\\\"../gl/depth_mode\\\"),l=t(\\\"../gl/stencil_mode\\\"),u=t(\\\"../gl/color_mode\\\");e.exports=function(t,e,r,c){if(0!==r.paint.get(\\\"heatmap-opacity\\\"))if(\\\"offscreen\\\"===t.renderPass){var h=t.context,f=h.gl;h.setDepthMode(t.depthModeForSublayer(0,s.ReadOnly)),h.setStencilMode(l.disabled),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 i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),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),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(h,t,r),h.clear({color:o.transparent}),h.setColorMode(new u([f.ONE,f.ONE],o.transparent,[!0,!0,!0,!0]));for(var p=!0,d=0;d<c.length;d++){var g=c[d];if(!e.hasRenderableParent(g)){var v=e.getTile(g),m=v.getBucket(r);if(m){var y=t.context.program.get(),x=m.programConfigurations.get(r.id),b=t.useProgram(\\\"heatmap\\\",x),_=t.transform.zoom;(p||b.program!==y)&&(x.setUniforms(t.context,b,r.paint,{zoom:_}),p=!1),f.uniform1f(b.uniforms.u_extrude_scale,a(v,1,_)),f.uniform1f(b.uniforms.u_intensity,r.paint.get(\\\"heatmap-intensity\\\")),f.uniformMatrix4fv(b.uniforms.u_matrix,!1,g.posMatrix),b.draw(h,f.TRIANGLES,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,x)}}}h.viewport.set([0,0,t.width,t.height])}else\\\"translucent\\\"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,e){var r=t.context,a=r.gl,o=e.heatmapFbo;if(o){r.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),r.activeTexture.set(a.TEXTURE1);var l=e.colorRampTexture;l||(l=e.colorRampTexture=new i(r,e.colorRamp,a.RGBA)),l.bind(a.LINEAR,a.CLAMP_TO_EDGE),r.setDepthMode(s.disabled);var u=t.useProgram(\\\"heatmapTexture\\\"),c=e.paint.get(\\\"heatmap-opacity\\\");a.uniform1f(u.uniforms.u_opacity,c),a.uniform1i(u.uniforms.u_image,0),a.uniform1i(u.uniforms.u_color_ramp,1);var h=n.create();n.ortho(h,0,t.width,t.height,0,0,1),a.uniformMatrix4fv(u.uniforms.u_matrix,!1,h),a.uniform2f(u.uniforms.u_world,a.drawingBufferWidth,a.drawingBufferHeight),t.viewportVAO.bind(t.context,u,t.viewportBuffer,[]),a.drawArrays(a.TRIANGLE_STRIP,0,4)}}(t,r))}},{\\\"../gl/color_mode\\\":65,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style-spec/util/color\\\":153,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],81:[function(t,e,r){function n(t,e,r){var n=t.context,i=n.gl,o=e.fbo;if(o){var s=t.useProgram(\\\"hillshade\\\"),l=t.transform.calculatePosMatrix(e.tileID.toUnwrapped());!function(t,e,r){var n=r.paint.get(\\\"hillshade-illumination-direction\\\")*(Math.PI/180);\\\"viewport\\\"===r.paint.get(\\\"hillshade-illumination-anchor\\\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\\\"hillshade-exaggeration\\\"),n)}(s,t,r);var u=function(t,e){var r=e.toCoordinate(),n=new a(r.column,r.row+1,r.zoom);return[t.transform.coordinateLocation(r).lat,t.transform.coordinateLocation(n).lat]}(t,e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,o.colorAttachment.get()),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),i.uniform2fv(s.uniforms.u_latrange,u),i.uniform1i(s.uniforms.u_image,0);var c=r.paint.get(\\\"hillshade-shadow-color\\\");i.uniform4f(s.uniforms.u_shadow,c.r,c.g,c.b,c.a);var h=r.paint.get(\\\"hillshade-highlight-color\\\");i.uniform4f(s.uniforms.u_highlight,h.r,h.g,h.b,h.a);var f=r.paint.get(\\\"hillshade-accent-color\\\");if(i.uniform4f(s.uniforms.u_accent,f.r,f.g,f.b,f.a),e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments)s.draw(n,i.TRIANGLES,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments);else{var p=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(n,s,p,[]),i.drawArrays(i.TRIANGLE_STRIP,0,p.length)}}}function i(t,e){var r=t.context,n=r.gl;if(e.dem&&e.dem.level){var i=e.dem.level.dim,a=e.dem.getPixels();if(r.activeTexture.set(n.TEXTURE1),r.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||t.getTileTexture(e.tileSize),e.demTexture){var u=e.demTexture;u.update(a,!1),u.bind(n.NEAREST,n.CLAMP_TO_EDGE)}else e.demTexture=new o(r,a,n.RGBA,!1),e.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE);r.activeTexture.set(n.TEXTURE0);var c=e.fbo;if(!c){var h=new o(r,{width:i,height:i,data:null},n.RGBA);h.bind(n.LINEAR,n.CLAMP_TO_EDGE),(c=e.fbo=r.createFramebuffer(i,i)).colorAttachment.set(h.texture)}r.bindFramebuffer.set(c.framebuffer),r.viewport.set([0,0,i,i]);var f=l.create();l.ortho(f,0,s,-s,0,0,1),l.translate(f,f,[0,-s,0]);var p=t.useProgram(\\\"hillshadePrepare\\\");n.uniformMatrix4fv(p.uniforms.u_matrix,!1,f),n.uniform1f(p.uniforms.u_zoom,e.tileID.overscaledZ),n.uniform2fv(p.uniforms.u_dimension,[2*i,2*i]),n.uniform1i(p.uniforms.u_image,1);var d=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(r,p,d,[]),n.drawArrays(n.TRIANGLE_STRIP,0,d.length),e.needsHillshadePrepare=!1}}var a=t(\\\"../geo/coordinate\\\"),o=t(\\\"./texture\\\"),s=t(\\\"../data/extent\\\"),l=t(\\\"@mapbox/gl-matrix\\\").mat4,u=t(\\\"../gl/stencil_mode\\\"),c=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,a){if(\\\"offscreen\\\"===t.renderPass||\\\"translucent\\\"===t.renderPass){var o=t.context;o.setDepthMode(t.depthModeForSublayer(0,c.ReadOnly)),o.setStencilMode(u.disabled),o.setColorMode(t.colorModeForRenderPass());for(var s=0,l=a;s<l.length;s+=1){var h=l[s],f=e.getTile(h);f.needsHillshadePrepare&&\\\"offscreen\\\"===t.renderPass?i(t,f):\\\"translucent\\\"===t.renderPass&&n(t,f,r)}o.viewport.set([0,0,t.width,t.height])}}},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"./texture\\\":93,\\\"@mapbox/gl-matrix\\\":2}],82:[function(t,e,r){function n(t,e,r,n,o,s,l,u,c){var h,f,p,d,g=e.context,v=g.gl,m=o.paint.get(\\\"line-dasharray\\\"),y=o.paint.get(\\\"line-pattern\\\");if(u||c){var x=1/a(r,1,e.transform.tileZoom);if(m){h=e.lineAtlas.getDash(m.from,\\\"round\\\"===o.layout.get(\\\"line-cap\\\")),f=e.lineAtlas.getDash(m.to,\\\"round\\\"===o.layout.get(\\\"line-cap\\\"));var b=h.width*m.fromScale,_=f.width*m.toScale;v.uniform2f(t.uniforms.u_patternscale_a,x/b,-h.height/2),v.uniform2f(t.uniforms.u_patternscale_b,x/_,-f.height/2),v.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(b,_)*i.devicePixelRatio)/2)}else if(y){if(p=e.imageManager.getPattern(y.from),d=e.imageManager.getPattern(y.to),!p||!d)return;v.uniform2f(t.uniforms.u_pattern_size_a,p.displaySize[0]*y.fromScale/x,d.displaySize[1]),v.uniform2f(t.uniforms.u_pattern_size_b,d.displaySize[0]*y.toScale/x,d.displaySize[1]);var w=e.imageManager.getPixelSize(),M=w.width,A=w.height;v.uniform2fv(t.uniforms.u_texsize,[M,A])}v.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}u&&(m?(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.lineAtlas.bind(g),v.uniform1f(t.uniforms.u_tex_y_a,h.y),v.uniform1f(t.uniforms.u_tex_y_b,f.y),v.uniform1f(t.uniforms.u_mix,m.t)):y&&(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.imageManager.bind(g),v.uniform2fv(t.uniforms.u_pattern_tl_a,p.tl),v.uniform2fv(t.uniforms.u_pattern_br_a,p.br),v.uniform2fv(t.uniforms.u_pattern_tl_b,d.tl),v.uniform2fv(t.uniforms.u_pattern_br_b,d.br),v.uniform1f(t.uniforms.u_fade,y.t))),g.setStencilMode(e.stencilModeForClipping(s));var k=e.translatePosMatrix(s.posMatrix,r,o.paint.get(\\\"line-translate\\\"),o.paint.get(\\\"line-translate-anchor\\\"));v.uniformMatrix4fv(t.uniforms.u_matrix,!1,k),v.uniform1f(t.uniforms.u_ratio,1/a(r,1,e.transform.zoom)),t.draw(g,v.TRIANGLES,o.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,l)}var i=t(\\\"../util/browser\\\"),a=t(\\\"../source/pixels_to_tile_units\\\"),o=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"line-opacity\\\").constantOr(1)){var a=t.context;a.setDepthMode(t.depthModeForSublayer(0,o.ReadOnly)),a.setColorMode(t.colorModeForRenderPass());for(var s,l=r.paint.get(\\\"line-dasharray\\\")?\\\"lineSDF\\\":r.paint.get(\\\"line-pattern\\\")?\\\"linePattern\\\":\\\"line\\\",u=!0,c=0,h=i;c<h.length;c+=1){var f=h[c],p=e.getTile(f),d=p.getBucket(r);if(d){var g=d.programConfigurations.get(r.id),v=t.context.program.get(),m=t.useProgram(l,g),y=u||m.program!==v,x=s!==p.tileID.overscaledZ;y&&g.setUniforms(t.context,m,r.paint,{zoom:t.transform.zoom}),n(m,t,p,d,r,f,g,y,x),s=p.tileID.overscaledZ,u=!1}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../source/pixels_to_tile_units\\\":104,\\\"../util/browser\\\":252}],83:[function(t,e,r){function n(t,e,r,n,a){var s=n.paint.get(\\\"raster-fade-duration\\\");if(s>0){var l=o.now(),u=(l-t.timeAdded)/s,c=e?(l-e.timeAdded)/s:-1,h=r.getSource(),f=a.coveringZoomLevel({tileSize:h.tileSize,roundZoom:h.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-f)>Math.abs(t.tileID.overscaledZ-f),d=p&&t.refreshedUponExpiration?1:i.clamp(p?u:1-c,0,1);return t.refreshedUponExpiration&&u>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t(\\\"../util/util\\\"),a=t(\\\"../source/image_source\\\"),o=t(\\\"../util/browser\\\"),s=t(\\\"../gl/stencil_mode\\\"),l=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass&&0!==r.paint.get(\\\"raster-opacity\\\")){var o=t.context,u=o.gl,c=e.getSource(),h=t.useProgram(\\\"raster\\\");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),u.uniform1f(h.uniforms.u_brightness_low,r.paint.get(\\\"raster-brightness-min\\\")),u.uniform1f(h.uniforms.u_brightness_high,r.paint.get(\\\"raster-brightness-max\\\")),u.uniform1f(h.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get(\\\"raster-saturation\\\"))),u.uniform1f(h.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get(\\\"raster-contrast\\\"))),u.uniform3fv(h.uniforms.u_spin_weights,function(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]}(r.paint.get(\\\"raster-hue-rotate\\\"))),u.uniform1f(h.uniforms.u_buffer_scale,1),u.uniform1i(h.uniforms.u_image0,0),u.uniform1i(h.uniforms.u_image1,1);for(var f=i.length&&i[0].overscaledZ,p=0,d=i;p<d.length;p+=1){var g=d[p];o.setDepthMode(t.depthModeForSublayer(g.overscaledZ-f,1===r.paint.get(\\\"raster-opacity\\\")?l.ReadWrite:l.ReadOnly,u.LESS));var v=e.getTile(g),m=t.transform.calculatePosMatrix(g.toUnwrapped(),!0);v.registerFadeDuration(r.paint.get(\\\"raster-fade-duration\\\")),u.uniformMatrix4fv(h.uniforms.u_matrix,!1,m);var y=e.findLoadedParent(g,0,{}),x=n(v,y,e,r,t.transform),b=void 0,_=void 0;if(o.activeTexture.set(u.TEXTURE0),v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(u.TEXTURE1),y?(y.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),_=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),u.uniform2fv(h.uniforms.u_tl_parent,_||[0,0]),u.uniform1f(h.uniforms.u_scale_parent,b||1),u.uniform1f(h.uniforms.u_fade_t,x.mix),u.uniform1f(h.uniforms.u_opacity,x.opacity*r.paint.get(\\\"raster-opacity\\\")),c instanceof a){var w=c.boundsBuffer;c.boundsVAO.bind(o,h,w,[]),u.drawArrays(u.TRIANGLE_STRIP,0,w.length)}else if(v.maskedBoundsBuffer&&v.maskedIndexBuffer&&v.segments)h.draw(o,u.TRIANGLES,r.id,v.maskedBoundsBuffer,v.maskedIndexBuffer,v.segments);else{var M=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,h,M,[]),u.drawArrays(u.TRIANGLE_STRIP,0,M.length)}}}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/image_source\\\":102,\\\"../util/browser\\\":252,\\\"../util/util\\\":275}],84:[function(t,e,r){function n(t,e,r,n,o,s,c,f,p,g){var v=t.context,m=v.gl,y=t.transform,x=\\\"map\\\"===f,b=\\\"map\\\"===p,_=x&&\\\"line\\\"===r.layout.get(\\\"symbol-placement\\\"),w=x&&!b&&!_,M=b;v.setDepthMode(M?t.depthModeForSublayer(0,d.ReadOnly):d.disabled);for(var A,k=0,T=n;k<T.length;k+=1){var S=T[k],E=e.getTile(S),C=E.getBucket(r);if(C){var L=o?C.text:C.icon;if(L&&L.segments.get().length){var z=L.programConfigurations.get(r.id),P=o||C.sdfIcons,I=o?C.textSizeData:C.iconSizeData;if(A||(A=t.useProgram(P?\\\"symbolSDF\\\":\\\"symbolIcon\\\",z),z.setUniforms(t.context,A,r.paint,{zoom:t.transform.zoom}),i(A,t,r,o,w,b,I)),v.activeTexture.set(m.TEXTURE0),m.uniform1i(A.uniforms.u_texture,0),o)E.glyphAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.glyphAtlasTexture.size);else{var D=1!==r.layout.get(\\\"icon-size\\\").constantOr(0)||C.iconsNeedLinear,O=b||0!==y.pitch;E.iconAtlasTexture.bind(P||t.options.rotating||t.options.zooming||D||O?m.LINEAR:m.NEAREST,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.iconAtlasTexture.size)}m.uniformMatrix4fv(A.uniforms.u_matrix,!1,t.translatePosMatrix(S.posMatrix,E,s,c));var R=l(E,1,t.transform.zoom),F=u.getLabelPlaneMatrix(S.posMatrix,b,x,t.transform,R),B=u.getGlCoordMatrix(S.posMatrix,b,x,t.transform,R);m.uniformMatrix4fv(A.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(B,E,s,c,!0)),_?(m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,h),u.updateLineLabels(C,S.posMatrix,t,o,F,B,b,g)):m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,F),m.uniform1f(A.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),a(A,z,t,r,E,L,o,P,b)}}}}function i(t,e,r,n,i,a,o){var s=e.context.gl,l=e.transform;s.uniform1i(t.uniforms.u_pitch_with_map,a?1:0),s.uniform1f(t.uniforms.u_is_text,n?1:0),s.uniform1f(t.uniforms.u_pitch,l.pitch/360*2*Math.PI);var u=\\\"constant\\\"===o.functionType||\\\"source\\\"===o.functionType,h=\\\"constant\\\"===o.functionType||\\\"camera\\\"===o.functionType;s.uniform1i(t.uniforms.u_is_size_zoom_constant,u?1:0),s.uniform1i(t.uniforms.u_is_size_feature_constant,h?1:0),s.uniform1f(t.uniforms.u_camera_to_center_distance,l.cameraToCenterDistance);var p=c.evaluateSizeForZoom(o,l.zoom,f.properties[n?\\\"text-size\\\":\\\"icon-size\\\"]);void 0!==p.uSizeT&&s.uniform1f(t.uniforms.u_size_t,p.uSizeT),void 0!==p.uSize&&s.uniform1f(t.uniforms.u_size,p.uSize),s.uniform1f(t.uniforms.u_aspect_ratio,l.width/l.height),s.uniform1i(t.uniforms.u_rotate_symbol,i?1:0)}function a(t,e,r,n,i,a,s,l,u){var c=r.context,h=c.gl,f=r.transform;if(l){var p=0!==n.paint.get(s?\\\"text-halo-width\\\":\\\"icon-halo-width\\\").constantOr(1),d=u?Math.cos(f._pitch)*f.cameraToCenterDistance:1;h.uniform1f(t.uniforms.u_gamma_scale,d),p&&(h.uniform1f(t.uniforms.u_is_halo,1),o(a,n,c,t)),h.uniform1f(t.uniforms.u_is_halo,0)}o(a,n,c,t)}function o(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}var s=t(\\\"./draw_collision_debug\\\"),l=t(\\\"../source/pixels_to_tile_units\\\"),u=t(\\\"../symbol/projection\\\"),c=t(\\\"../symbol/symbol_size\\\"),h=t(\\\"@mapbox/gl-matrix\\\").mat4.identity(new Float32Array(16)),f=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,p=t(\\\"../gl/stencil_mode\\\"),d=t(\\\"../gl/depth_mode\\\");e.exports=function(t,e,r,i){if(\\\"translucent\\\"===t.renderPass){var a=t.context;a.setStencilMode(p.disabled),a.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\\\"icon-opacity\\\").constantOr(1)&&n(t,e,r,i,!1,r.paint.get(\\\"icon-translate\\\"),r.paint.get(\\\"icon-translate-anchor\\\"),r.layout.get(\\\"icon-rotation-alignment\\\"),r.layout.get(\\\"icon-pitch-alignment\\\"),r.layout.get(\\\"icon-keep-upright\\\")),0!==r.paint.get(\\\"text-opacity\\\").constantOr(1)&&n(t,e,r,i,!0,r.paint.get(\\\"text-translate\\\"),r.paint.get(\\\"text-translate-anchor\\\"),r.layout.get(\\\"text-rotation-alignment\\\"),r.layout.get(\\\"text-pitch-alignment\\\"),r.layout.get(\\\"text-keep-upright\\\")),e.map.showCollisionBoxes&&s(t,e,r,i)}}},{\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/projection\\\":224,\\\"../symbol/symbol_size\\\":228,\\\"./draw_collision_debug\\\":76,\\\"@mapbox/gl-matrix\\\":2}],85:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").AlphaImage,a=1;e.exports={makeGlyphAtlas:function(t){var e=new i({width:0,height:0}),r={},o=new n(0,0,{autoResize:!0});for(var s in t){var l=t[s],u=r[s]={};for(var c in l){var h=l[+c];if(h&&0!==h.bitmap.width&&0!==h.bitmap.height){var f=o.packOne(h.bitmap.width+2*a,h.bitmap.height+2*a);e.resize({width:o.w,height:o.h}),i.copy(h.bitmap,e,{x:0,y:0},{x:f.x+a,y:f.y+a},h.bitmap),u[c]={rect:f,metrics:h.metrics}}}}return o.shrink(),e.resize({width:o.w,height:o.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],86:[function(t,e,r){var n=t(\\\"../style/load_glyph_range\\\"),i=t(\\\"@mapbox/tiny-sdf\\\"),a=t(\\\"../util/is_char_in_unicode_block\\\"),o=t(\\\"../util/util\\\").asyncAll,s=t(\\\"../util/image\\\").AlphaImage,l=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};l.prototype.setURL=function(t){this.url=t},l.prototype.getGlyphs=function(t,e){var r=this,i=[];for(var a in t)for(var s=0,l=t[a];s<l.length;s+=1){var u=l[s];i.push({stack:a,id:u})}o(i,function(t,e){var i=t.stack,a=t.id,o=r.entries[i];o||(o=r.entries[i]={glyphs:{},requests:{}});var s=o.glyphs[a];if(void 0===s)if(s=r._tinySDF(o,i,a))e(null,{stack:i,id:a,glyph:s});else{var l=Math.floor(a/256);if(256*l>65535)e(new Error(\\\"glyphs > 65535 not supported\\\"));else{var u=o.requests[l];u||(u=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=u;n<i.length;n+=1)(0,i[n])(t,e);delete o.requests[l]})),u.push(function(t,r){t?e(t):r&&e(null,{stack:i,id:a,glyph:r[a]||null})})}}else e(null,{stack:i,id:a,glyph:s})},function(t,r){if(t)e(t);else if(r){for(var n={},i=0,a=r;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,u=o.glyph;(n[s]||(n[s]={}))[l]=u&&{id:u.id,bitmap:u.bitmap.clone(),metrics:u.metrics}}e(null,n)}})},l.prototype._tinySDF=function(t,e,r){var n=this.localIdeographFontFamily;if(n&&(a[\\\"CJK Unified Ideographs\\\"](r)||a[\\\"Hangul Syllables\\\"](r))){var o=t.tinySDF;if(!o){var l=\\\"400\\\";/bold/i.test(e)?l=\\\"900\\\":/medium/i.test(e)?l=\\\"500\\\":/light/i.test(e)&&(l=\\\"200\\\"),o=t.tinySDF=new i(24,3,8,.25,n,l)}return{id:r,bitmap:new s({width:30,height:30},o.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},e.exports=l},{\\\"../style/load_glyph_range\\\":184,\\\"../util/image\\\":263,\\\"../util/is_char_in_unicode_block\\\":265,\\\"../util/util\\\":275,\\\"@mapbox/tiny-sdf\\\":6}],87:[function(t,e,r){function n(t,e){var r=e.pixelRatio,n={x:t.x+o,y:t.y+o,w:t.w-2*o,h:t.h-2*o};return{pixelRatio:r,textureRect:n,tl:[n.x,n.y],br:[n.x+n.w,n.y+n.h],displaySize:[n.w/r,n.h/r]}}var i=t(\\\"@mapbox/shelf-pack\\\"),a=t(\\\"../util/image\\\").RGBAImage,o=1;e.exports={imagePosition:n,makeImageAtlas:function(t){var e=new a({width:0,height:0}),r={},s=new i(0,0,{autoResize:!0});for(var l in t){var u=t[l],c=s.packOne(u.data.width+2*o,u.data.height+2*o);e.resize({width:s.w,height:s.h}),a.copy(u.data,e,{x:0,y:0},{x:c.x+o,y:c.y+o},u.data),r[l]=n(c,u)}return s.shrink(),e.resize({width:s.w,height:s.h}),{image:e,positions:r}}}},{\\\"../util/image\\\":263,\\\"@mapbox/shelf-pack\\\":5}],88:[function(t,e,r){var n=t(\\\"@mapbox/shelf-pack\\\"),i=t(\\\"../util/image\\\").RGBAImage,a=t(\\\"./image_atlas\\\").imagePosition,o=t(\\\"./texture\\\"),s=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new n(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new i({width:64,height:64}),this.dirty=!0};s.prototype.isLoaded=function(){return this.loaded},s.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],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},s.prototype.getImage=function(t){return this.images[t]},s.prototype.addImage=function(t,e){this.images[t]=e},s.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},s.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},s.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},s.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},s.prototype.getPattern=function(t){var e=this.patterns[t];if(e)return e.position;var r=this.getImage(t);if(!r)return null;var n=r.data.width+2,o=r.data.height+2,s=this.shelfPack.packOne(n,o);if(!s)return null;this.atlasImage.resize(this.getPixelSize());var l=r.data,u=this.atlasImage,c=s.x+1,h=s.y+1,f=l.width,p=l.height;i.copy(l,u,{x:0,y:0},{x:c,y:h},{width:f,height:p}),i.copy(l,u,{x:0,y:p-1},{x:c,y:h-1},{width:f,height:1}),i.copy(l,u,{x:0,y:0},{x:c,y:h+p},{width:f,height:1}),i.copy(l,u,{x:f-1,y:0},{x:c-1,y:h},{width:1,height:p}),i.copy(l,u,{x:0,y:0},{x:c+f,y:h},{width:1,height:p}),this.dirty=!0;var d=a(s,r);return this.patterns[t]={bin:s,position:d},d},s.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new o(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)},e.exports=s},{\\\"../util/image\\\":263,\\\"./image_atlas\\\":87,\\\"./texture\\\":93,\\\"@mapbox/shelf-pack\\\":5}],89:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};i.prototype.getDash=function(t,e){var r=t.join(\\\",\\\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},i.prototype.addDash=function(t,e){var r=this,i=e?7:0,a=2*i+1;if(this.nextRow+a>this.height)return n.warnOnce(\\\"LineAtlas out of space\\\"),null;for(var o=0,s=0;s<t.length;s++)o+=t[s];for(var l=this.width/o,u=l/2,c=t.length%2==1,h=-i;h<=i;h++)for(var f=r.nextRow+i+h,p=r.width*f,d=c?-t[t.length-1]:0,g=t[0],v=1,m=0;m<this.width;m++){for(;g<m/l;)d=g,g+=t[v],c&&v===t.length-1&&(g+=t[0]),v++;var y=Math.abs(m-d*l),x=Math.abs(m-g*l),b=Math.min(y,x),_=v%2==1,w=void 0;if(e){var M=i?h/i*(u+1):0;if(_){var A=u-Math.abs(M);w=Math.sqrt(b*b+A*A)}else w=u-Math.sqrt(b*b+M*M)}else w=(_?1:-1)*b;r.data[3+4*(p+m)]=Math.max(0,Math.min(255,w+128))}var k={y:(this.nextRow+i+.5)/this.height,height:2*i/this.height,width:o};return this.nextRow+=a,this.dirty=!0,k},i.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.RGBA,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.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))},e.exports=i},{\\\"../util/util\\\":275}],90:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"@mapbox/gl-matrix\\\").mat4,a=t(\\\"../source/source_cache\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../source/pixels_to_tile_units\\\"),l=t(\\\"../util/util\\\"),u=t(\\\"./vertex_array_object\\\"),c=t(\\\"../data/array_types\\\"),h=c.RasterBoundsArray,f=c.PosArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/pos_attributes\\\"),g=t(\\\"../data/program_configuration\\\").ProgramConfiguration,v=t(\\\"../symbol/cross_tile_symbol_index\\\"),m=t(\\\"../shaders\\\"),y=t(\\\"./program\\\"),x=t(\\\"../gl/context\\\"),b=t(\\\"../gl/depth_mode\\\"),_=t(\\\"../gl/stencil_mode\\\"),w=t(\\\"../gl/color_mode\\\"),M=(t(\\\"./texture\\\"),t(\\\"./tile_mask\\\")),A=t(\\\"../style-spec/util/color\\\"),k={symbol:t(\\\"./draw_symbol\\\"),circle:t(\\\"./draw_circle\\\"),heatmap:t(\\\"./draw_heatmap\\\"),line:t(\\\"./draw_line\\\"),fill:t(\\\"./draw_fill\\\"),\\\"fill-extrusion\\\":t(\\\"./draw_fill_extrusion\\\"),hillshade:t(\\\"./draw_hillshade\\\"),raster:t(\\\"./draw_raster\\\"),background:t(\\\"./draw_background\\\"),debug:t(\\\"./draw_debug\\\")},T=function(t,e){this.context=new x(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=a.maxUnderzooming+a.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new g,this.crossTileSymbolIndex=new v};T.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*n.devicePixelRatio,this.height=e*n.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var i=0,a=this.style._order;i<a.length;i+=1){var o=a[i];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},T.prototype.setup=function(){var t=this.context,e=new f;e.emplaceBack(0,0),e.emplaceBack(o,0),e.emplaceBack(0,o),e.emplaceBack(o,o),this.tileExtentBuffer=t.createVertexBuffer(e,d.members),this.tileExtentVAO=new u,this.tileExtentPatternVAO=new u;var r=new f;r.emplaceBack(0,0),r.emplaceBack(o,0),r.emplaceBack(o,o),r.emplaceBack(0,o),r.emplaceBack(0,0),this.debugBuffer=t.createVertexBuffer(r,d.members),this.debugVAO=new u;var n=new h;n.emplaceBack(0,0,0,0),n.emplaceBack(o,0,o,0),n.emplaceBack(0,o,0,o),n.emplaceBack(o,o,o,o),this.rasterBoundsBuffer=t.createVertexBuffer(n,p.members),this.rasterBoundsVAO=new u;var i=new f;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(i,d.members),this.viewportVAO=new u},T.prototype.clearStencil=function(){var t=this.context,e=t.gl;t.setColorMode(w.disabled),t.setDepthMode(b.disabled),t.setStencilMode(new _({func:e.ALWAYS,mask:0},0,255,e.ZERO,e.ZERO,e.ZERO));var r=i.create();i.ortho(r,0,this.width,this.height,0,0,1),i.scale(r,r,[e.drawingBufferWidth,e.drawingBufferHeight,0]);var n=this.useProgram(\\\"clippingMask\\\");e.uniformMatrix4fv(n.uniforms.u_matrix,!1,r),this.viewportVAO.bind(t,n,this.viewportBuffer,[]),e.drawArrays(e.TRIANGLE_STRIP,0,4)},T.prototype._renderTileClippingMasks=function(t){var e=this,r=this.context,n=r.gl;r.setColorMode(w.disabled),r.setDepthMode(b.disabled);var i=1;this._tileClippingMaskIDs={};for(var a=0,o=t;a<o.length;a+=1){var s=o[a],l=e._tileClippingMaskIDs[s.key]=i++;r.setStencilMode(new _({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE));var u=e.useProgram(\\\"clippingMask\\\");n.uniformMatrix4fv(u.uniforms.u_matrix,!1,s.posMatrix),e.tileExtentVAO.bind(e.context,u,e.tileExtentBuffer,[]),n.drawArrays(n.TRIANGLE_STRIP,0,e.tileExtentBuffer.length)}},T.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new _({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},T.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new w([t.CONSTANT_COLOR,t.ONE],new A(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\\\"opaque\\\"===this.renderPass?w.unblended:w.alphaBlended},T.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new b(r||this.context.gl.LEQUAL,e,[i,n])},T.prototype.render=function(t,e){var r=this;for(var i in this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(n.now()),t.sourceCaches){var a=r.style.sourceCaches[i];a.used&&a.prepare(r.context)}var o=this.style._order,s=l.filterObject(this.style.sourceCaches,function(t){return\\\"raster\\\"===t.getSource().type||\\\"raster-dem\\\"===t.getSource().type});for(var u in s)!function(t){var e=s[u],n=e.getVisibleCoordinates().map(function(t){return e.getTile(t)});M(n,r.context)}();this.renderPass=\\\"offscreen\\\";var c,h=[];this.depthRboNeedsClear=!0;for(var f=0;f<o.length;f++){var p=r.style._layers[o[f]];p.hasOffscreenPass()&&!p.isHidden(r.transform.zoom)&&(p.source!==(c&&c.id)&&(h=[],(c=r.style.sourceCaches[p.source])&&(h=c.getVisibleCoordinates()).reverse()),h.length&&r.renderLayer(r,c,p,h))}this.context.bindFramebuffer.set(null),this.context.clear({color:e.showOverdrawInspector?A.black:A.transparent,depth:1}),this._showOverdrawInspector=e.showOverdrawInspector,this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\\\"opaque\\\";var d,g=[];for(this.currentLayer=o.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var v=r.style._layers[o[r.currentLayer]];v.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[v.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,v,g)}this.renderPass=\\\"translucent\\\";var m,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<o.length;this.currentLayer++){var x=r.style._layers[o[r.currentLayer]];x.source!==(m&&m.id)&&(y=[],(m=r.style.sourceCaches[x.source])&&(r.clearStencil(),y=m.getVisibleCoordinates(),m.getSource().isTileClipped&&r._renderTileClippingMasks(y)),y.reverse()),r.renderLayer(r,m,x,y)}if(this.options.showTileBoundaries){var b=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];b&&k.debug(this,b,b.getVisibleCoordinates())}},T.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},T.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\\\"background\\\"===r.type||n.length)&&(this.id=r.id,k[r.type](t,e,r,n))},T.prototype.translatePosMatrix=function(t,e,r,n,a){if(!r[0]&&!r[1])return t;var o=a?\\\"map\\\"===n?this.transform.angle:0:\\\"viewport\\\"===n?-this.transform.angle:0;if(o){var l=Math.sin(o),u=Math.cos(o);r=[r[0]*u-r[1]*l,r[0]*l+r[1]*u]}var c=[a?r[0]:s(e,r[0],this.transform.zoom),a?r[1]:s(e,r[1],this.transform.zoom),0],h=new Float32Array(16);return i.translate(h,t,c),h},T.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},T.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\\\"\\\"+t+(e.cacheKey||\\\"\\\")+(this._showOverdrawInspector?\\\"/overdraw\\\":\\\"\\\");return this.cache[r]||(this.cache[r]=new y(this.context,m[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/pos_attributes\\\":57,\\\"../data/program_configuration\\\":58,\\\"../data/raster_bounds_attributes\\\":59,\\\"../gl/color_mode\\\":65,\\\"../gl/context\\\":66,\\\"../gl/depth_mode\\\":67,\\\"../gl/stencil_mode\\\":70,\\\"../shaders\\\":97,\\\"../source/pixels_to_tile_units\\\":104,\\\"../source/source_cache\\\":111,\\\"../style-spec/util/color\\\":153,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"./draw_background\\\":74,\\\"./draw_circle\\\":75,\\\"./draw_debug\\\":77,\\\"./draw_fill\\\":78,\\\"./draw_fill_extrusion\\\":79,\\\"./draw_heatmap\\\":80,\\\"./draw_hillshade\\\":81,\\\"./draw_line\\\":82,\\\"./draw_raster\\\":83,\\\"./draw_symbol\\\":84,\\\"./program\\\":92,\\\"./texture\\\":93,\\\"./tile_mask\\\":94,\\\"./vertex_array_object\\\":95,\\\"@mapbox/gl-matrix\\\":2}],91:[function(t,e,r){var n=t(\\\"../source/pixels_to_tile_units\\\");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,u=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,u]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{\\\"../source/pixels_to_tile_units\\\":104}],92:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../shaders\\\"),a=(t(\\\"../data/program_configuration\\\").ProgramConfiguration,t(\\\"./vertex_array_object\\\")),o=(t(\\\"../gl/context\\\"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat(\\\"#define DEVICE_PIXEL_RATIO \\\"+n.devicePixelRatio.toFixed(1));a&&l.push(\\\"#define OVERDRAW_INSPECTOR;\\\");var u=l.concat(i.prelude.fragmentSource,e.fragmentSource).join(\\\"\\\\n\\\"),c=l.concat(i.prelude.vertexSource,e.vertexSource).join(\\\"\\\\n\\\"),h=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);var f=s.createShader(s.VERTEX_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);for(var p=r.layoutAttributes||[],d=0;d<p.length;d++)s.bindAttribLocation(o.program,d,p[d].name);s.linkProgram(this.program),this.numAttributes=s.getProgramParameter(this.program,s.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var g=0;g<this.numAttributes;g++){var v=s.getActiveAttrib(o.program,g);v&&(o.attributes[v.name]=s.getAttribLocation(o.program,v.name))}for(var m=s.getProgramParameter(this.program,s.ACTIVE_UNIFORMS),y=0;y<m;y++){var x=s.getActiveUniform(o.program,y);x&&(o.uniforms[x.name]=s.getUniformLocation(o.program,x.name))}});o.prototype.draw=function(t,e,r,n,i,o,s,l,u){for(var c,h=t.gl,f=(c={},c[h.LINES]=2,c[h.TRIANGLES]=3,c)[e],p=0,d=o.get();p<d.length;p+=1){var g=d[p],v=g.vaos||(g.vaos={});(v[r]||(v[r]=new a)).bind(t,this,n,s?s.getPaintVertexBuffers():[],i,g.vertexOffset,l,u),h.drawElements(e,g.primitiveLength*f,h.UNSIGNED_SHORT,g.primitiveOffset*f*2)}},e.exports=o},{\\\"../data/program_configuration\\\":58,\\\"../gl/context\\\":66,\\\"../shaders\\\":97,\\\"../util/browser\\\":252,\\\"./vertex_array_object\\\":95}],93:[function(t,e,r){var n=t(\\\"../util/window\\\"),i=n.HTMLImageElement,a=n.HTMLCanvasElement,o=n.HTMLVideoElement,s=n.ImageData,l=function(t,e,r,n){this.context=t;var i=e.width,a=e.height;this.size=[i,a],this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};l.prototype.update=function(t,e){var r=t.width,n=t.height;this.size=[r,n];var l=this.context,u=l.gl;u.bindTexture(u.TEXTURE_2D,this.texture),l.pixelStoreUnpack.set(1),this.format===u.RGBA&&!1!==e&&l.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof i||t instanceof a||t instanceof o||t instanceof s?u.texImage2D(u.TEXTURE_2D,0,this.format,this.format,u.UNSIGNED_BYTE,t):u.texImage2D(u.TEXTURE_2D,0,this.format,r,n,0,this.format,u.UNSIGNED_BYTE,t.data)},l.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),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)},l.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null},e.exports=l},{\\\"../util/window\\\":254}],94:[function(t,e,r){function n(t,e,r,i,a){for(var s=0;s<r.length;s++){var l=r[s];if(i.isLessThan(l.tileID))break;if(e.key===l.tileID.key)return;if(l.tileID.isChildOf(e)){for(var u=e.children(1/0),c=0;c<u.length;c++)n(t,u[c],r.slice(s),i,a);return}}var h=e.overscaledZ-t.overscaledZ,f=new o(h,e.canonical.x-(t.canonical.x<<h),e.canonical.y-(t.canonical.y<<h));a[f.key]=a[f.key]||f}var i=t(\\\"../source/tile_id\\\"),a=i.OverscaledTileID,o=i.CanonicalTileID;e.exports=function(t,e){for(var r=t.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<r.length;i++){var o={},s=r[i],l=r.slice(i+1);n(s.tileID.wrapped(),s.tileID,l,new a(0,s.tileID.wrap+1,0,0,0),o),s.setMask(o,e)}}},{\\\"../source/tile_id\\\":114}],95:[function(t,e,r){var n=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};n.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,u=0;!l&&u<n.length;u++)this.boundPaintVertexBuffers[u]!==n[u]&&(l=!0);var c=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||c?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},n.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,u=this.context,c=u.gl;if(u.extVertexArrayObject)this.vao&&this.destroy(),this.vao=u.extVertexArrayObject.createVertexArrayOES(),u.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=u.currentNumAttributes||0;for(var h=l;h<s;h++)c.disableVertexAttribArray(h)}e.enableAttributes(c,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(c,t);a&&a.enableAttributes(c,t),o&&o.enableAttributes(c,t),e.bind(),e.setVertexAttribPointers(c,t,i);for(var d=0,g=r;d<g.length;d+=1){var v=g[d];v.bind(),v.setVertexAttribPointers(c,t,i)}a&&(a.bind(),a.setVertexAttribPointers(c,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(c,t,i)),u.currentNumAttributes=l},n.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)},e.exports=n},{}],96:[function(t,e,r){var n=t(\\\"../util/util\\\");r.packUint8ToFloat=function(t,e){return 256*(t=n.clamp(Math.floor(t),0,255))+(e=n.clamp(Math.floor(e),0,255))}},{\\\"../util/util\\\":275}],97:[function(t,e,r){var n={prelude:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision mediump float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\",vertexSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#else\\\\n\\\\n#if !defined(lowp)\\\\n#define lowp\\\\n#endif\\\\n\\\\n#if !defined(mediump)\\\\n#define mediump\\\\n#endif\\\\n\\\\n#if !defined(highp)\\\\n#define highp\\\\n#endif\\\\n\\\\n#endif\\\\n\\\\n// Unpack a pair of values that have been packed into a single float.\\\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\\\n// packed like so:\\\\n// packedValue = floor(input[0]) * 256 + input[1],\\\\nvec2 unpack_float(const float packedValue) {\\\\n    int packedIntValue = int(packedValue);\\\\n    int v0 = packedIntValue / 256;\\\\n    return vec2(v0, packedIntValue - v0 * 256);\\\\n}\\\\n\\\\nvec2 unpack_opacity(const float packedOpacity) {\\\\n    int intOpacity = int(packedOpacity) / 2;\\\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\\\n}\\\\n\\\\n// To minimize the number of attributes needed, we encode a 4-component\\\\n// color into a pair of floats (i.e. a vec2) as follows:\\\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\\\nvec4 decode_color(const vec2 encodedColor) {\\\\n    return vec4(\\\\n        unpack_float(encodedColor[0]) / 255.0,\\\\n        unpack_float(encodedColor[1]) / 255.0\\\\n    );\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\\\n    return mix(packedValue[0], packedValue[1], t);\\\\n}\\\\n\\\\n// Unpack a pair of paint values and interpolate between them.\\\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\\\n    return mix(minColor, maxColor, t);\\\\n}\\\\n\\\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\\\n// vec2 offset = mod(pixel_coord, size)\\\\n//\\\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\\\n//\\\\n// The pixel_coord is passed in as two 16 bit values:\\\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\\\n//\\\\n// The offset is calculated in a series of steps that should preserve this precision:\\\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\\\n\\\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\\\n}\\\\n\\\"},background:{fragmentSource:\\\"uniform vec4 u_color;\\\\nuniform float u_opacity;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},backgroundPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\nuniform float u_opacity;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},circle:{fragmentSource:\\\"#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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    vec2 extrude = v_data.xy;\\\\n    float extrude_length = length(extrude);\\\\n\\\\n    lowp float antialiasblur = v_data.z;\\\\n    float antialiased_blur = -max(blur, antialiasblur);\\\\n\\\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\\\n\\\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\\\n        antialiased_blur,\\\\n        0.0,\\\\n        extrude_length - radius / (radius + stroke_width)\\\\n    );\\\\n\\\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform bool u_scale_with_map;\\\\nuniform bool u_pitch_with_map;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform highp float u_camera_to_center_distance;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\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\\\\n\\\\nvarying vec3 v_data;\\\\n\\\\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\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec2 circle_center = floor(a_pos * 0.5);\\\\n    if (u_pitch_with_map) {\\\\n        vec2 corner_position = circle_center;\\\\n        if (u_scale_with_map) {\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\\\n        } else {\\\\n            // Pitching the circle with the map effectively scales it with the map\\\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\\\n            // whole circle based on the pitch scaling effect at its central point\\\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\\\n        }\\\\n\\\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\\\n    } else {\\\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\\\n\\\\n        if (u_scale_with_map) {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\\\n        } else {\\\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\\\n        }\\\\n    }\\\\n\\\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\\\n    // to keep the blur at roughly 1px, the two are inversely related.\\\\n    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\\\n\\\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\\\n}\\\\n\\\"},clippingMask:{fragmentSource:\\\"void main() {\\\\n    gl_FragColor = vec4(1.0);\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},heatmap:{fragmentSource:\\\"#pragma mapbox: define highp float weight\\\\n\\\\nuniform highp float u_intensity;\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp float weight\\\\n\\\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\\\n\\\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"#pragma mapbox: define highp float weight\\\\n#pragma mapbox: define mediump float radius\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform float u_extrude_scale;\\\\nuniform float u_opacity;\\\\nuniform float u_intensity;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_extrude;\\\\n\\\\n// Effective \\\\\\\"0\\\\\\\" in the kernel density texture to adjust the kernel size to;\\\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\\\n// for typical heatmap cases (assuming clustered source)\\\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\\\n\\\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\\\n#define GAUSS_COEF 0.3989422804014327\\\\n\\\\nvoid main(void) {\\\\n    #pragma mapbox: initialize highp float weight\\\\n    #pragma mapbox: initialize mediump float radius\\\\n\\\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\\\n\\\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\\\n    // it to produce the vertices of a square mesh framing the point feature\\\\n    // we're adding to the kernel density texture.  We'll also pass it as\\\\n    // a varying, so that the fragment shader can determine the distance of\\\\n    // each fragment from the point feature.\\\\n    // Before we do so, we need to scale it up sufficiently so that the\\\\n    // kernel falls effectively to zero at the edge of the mesh.\\\\n    // That is, we want to know S such that\\\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\\\n    // Which solves to:\\\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\\\n\\\\n    // Pass the varying in units of radius\\\\n    v_extrude = S * unscaled_extrude;\\\\n\\\\n    // Scale by radius and the zoom-based scale factor to produce actual\\\\n    // mesh position\\\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\\\n\\\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\\\n    // in extrusion data\\\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\\\n\\\\n    gl_Position = u_matrix * pos;\\\\n}\\\\n\\\"},heatmapTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform sampler2D u_color_ramp;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    float t = texture2D(u_image, v_pos).r;\\\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\\\n    gl_FragColor = color * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},collisionBox:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        gl_FragColor *= .1;\\\\n    }\\\\n}\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n}\\\\n\\\"},collisionCircle:{fragmentSource:\\\"\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    float alpha = 0.5;\\\\n\\\\n    // Red = collision, hide label\\\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\\\n\\\\n    // Blue = no collision, label is showing\\\\n    if (v_placed > 0.5) {\\\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\\\n    }\\\\n\\\\n    if (v_notUsed > 0.5) {\\\\n        // This box not used, fade it out\\\\n        color *= .2;\\\\n    }\\\\n\\\\n    float extrude_scale_length = length(v_extrude_scale);\\\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\\\n    float stroke_width = 15.0 * extrude_scale_length;\\\\n    float radius = v_radius * extrude_scale_length;\\\\n\\\\n    float distance_to_edge = abs(extrude_length - radius);\\\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\\\n\\\\n    gl_FragColor = opacity_t * color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\nattribute vec2 a_anchor_pos;\\\\nattribute vec2 a_extrude;\\\\nattribute vec2 a_placed;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_extrude_scale;\\\\nuniform float u_camera_to_center_distance;\\\\n\\\\nvarying float v_placed;\\\\nvarying float v_notUsed;\\\\nvarying float v_radius;\\\\n\\\\nvarying vec2 v_extrude;\\\\nvarying vec2 v_extrude_scale;\\\\n\\\\nvoid main() {\\\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\\\n\\\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\\\n\\\\n    v_placed = a_placed.x;\\\\n    v_notUsed = a_placed.y;\\\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\\\n\\\\n    v_extrude = a_extrude * padding_factor;\\\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\\\n}\\\\n\\\"},debug:{fragmentSource:\\\"uniform highp vec4 u_color;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = u_color;\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fill:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_FragColor = color * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n}\\\\n\\\"},fillOutline:{fragmentSource:\\\"#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n    gl_FragColor = outline_color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"attribute vec2 a_pos;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define highp vec4 outline_color\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 outline_color\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillOutlinePattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    // find distance to outline for alpha interpolation\\\\n\\\\n    float dist = length(v_pos - gl_FragCoord.xy);\\\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\\\n\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec2 v_pos;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n\\\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\\\n}\\\\n\\\"},fillPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\n\\\\nattribute vec2 a_pos;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n\\\\n    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);\\\\n    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);\\\\n}\\\\n\\\"},fillExtrusion:{fragmentSource:\\\"varying vec4 v_color;\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    gl_FragColor = v_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec4 v_color;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\n#pragma mapbox: define highp vec4 color\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\\\n\\\\n    // Relative luminance (how dark/bright is the surface color?)\\\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\\\n\\\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\\\n\\\\n    // Add slight ambient lighting so no extrusions are totally black\\\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\\\n    color += ambientlight;\\\\n\\\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\\\n\\\\n    // Adjust directional so that\\\\n    // the range of values for highlight/shading is narrower\\\\n    // with lower light intensity\\\\n    // and with lighter/brighter surface colors\\\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\\\n\\\\n    // Add gradient along z axis of side surfaces\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\\\n    // with lower bounds adjusted to hue of light\\\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\\\n}\\\\n\\\"},fillExtrusionPattern:{fragmentSource:\\\"uniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_mix;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\\\n    vec4 color1 = texture2D(u_image, pos);\\\\n\\\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\\\n    vec4 color2 = texture2D(u_image, pos2);\\\\n\\\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\\\n\\\\n    gl_FragColor = mixedColor * v_lighting;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pixel_coord_upper;\\\\nuniform vec2 u_pixel_coord_lower;\\\\nuniform float u_scale_a;\\\\nuniform float u_scale_b;\\\\nuniform float u_tile_units_to_pixels;\\\\nuniform float u_height_factor;\\\\n\\\\nuniform vec3 u_lightcolor;\\\\nuniform lowp vec3 u_lightpos;\\\\nuniform lowp float u_lightintensity;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec4 a_normal_ed;\\\\n\\\\nvarying vec2 v_pos_a;\\\\nvarying vec2 v_pos_b;\\\\nvarying vec4 v_lighting;\\\\nvarying float v_directional;\\\\n\\\\n#pragma mapbox: define lowp float base\\\\n#pragma mapbox: define lowp float height\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float base\\\\n    #pragma mapbox: initialize lowp float height\\\\n\\\\n    vec3 normal = a_normal_ed.xyz;\\\\n    float edgedistance = a_normal_ed.w;\\\\n\\\\n    base = max(0.0, base);\\\\n    height = max(0.0, height);\\\\n\\\\n    float t = mod(normal.x, 2.0);\\\\n    float z = t > 0.0 ? height : base;\\\\n\\\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\\\n\\\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\\\n        ? a_pos // extrusion top\\\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\\\n\\\\n    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, pos);\\\\n    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, pos);\\\\n\\\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\\\n\\\\n    if (normal.y != 0.0) {\\\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\\\n    }\\\\n\\\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\\\n}\\\\n\\\"},extrusionTexture:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nuniform float u_opacity;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(0.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_world;\\\\nattribute vec2 a_pos;\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\\\n\\\\n    v_pos.x = a_pos.x;\\\\n    v_pos.y = 1.0 - a_pos.y;\\\\n}\\\\n\\\"},hillshadePrepare:{fragmentSource:\\\"#ifdef GL_ES\\\\nprecision highp float;\\\\n#endif\\\\n\\\\nuniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\nuniform vec2 u_dimension;\\\\nuniform float u_zoom;\\\\n\\\\nfloat getElevation(vec2 coord, float bias) {\\\\n    // Convert encoded elevation value to meters\\\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\\\n}\\\\n\\\\nvoid main() {\\\\n    vec2 epsilon = 1.0 / u_dimension;\\\\n\\\\n    // queried pixels:\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | a | b | c |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | d | e | f |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n    // |   |   |   |\\\\n    // | g | h | i |\\\\n    // |   |   |   |\\\\n    // +-----------+\\\\n\\\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\\\n    float e = getElevation(v_pos, 0.0);\\\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\\\n\\\\n    // here we divide the x and y slopes by 8 * pixel size\\\\n    // where pixel size (aka meters/pixel) is:\\\\n    // circumference of the world / (pixels per tile * number of tiles)\\\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\\\n    // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\\\\n    // maxzoom of the tile source. here we use a=0.3 which works out to the\\\\n    // expression below. see nickidlugash's awesome breakdown for more info\\\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\\\n\\\\n    vec2 deriv = vec2(\\\\n        (c + f + f + i) - (a + d + d + g),\\\\n        (g + h + h + i) - (a + b + b + c)\\\\n    ) /  pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\\\\n\\\\n    gl_FragColor = clamp(vec4(\\\\n        deriv.x / 2.0 + 0.5,\\\\n        deriv.y / 2.0 + 0.5,\\\\n        1.0,\\\\n        1.0), 0.0, 1.0);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\\\n}\\\\n\\\"},hillshade:{fragmentSource:\\\"uniform sampler2D u_image;\\\\nvarying vec2 v_pos;\\\\n\\\\nuniform vec2 u_latrange;\\\\nuniform vec2 u_light;\\\\nuniform vec4 u_shadow;\\\\nuniform vec4 u_highlight;\\\\nuniform vec4 u_accent;\\\\n\\\\n#define PI 3.141592653589793\\\\n\\\\nvoid main() {\\\\n    vec4 pixel = texture2D(u_image, v_pos);\\\\n\\\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\\\n\\\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\\\n    // to account for mercator projection distortion. see #4807 for details\\\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\\\n\\\\n    float intensity = u_light.x;\\\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\\\n    float azimuth = u_light.y + PI;\\\\n\\\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\\\n    // the exponential interpolation function in the style spec:\\\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\\\n    // so that higher intensity values create more opaque hillshading.\\\\n    float base = 1.875 - intensity * 1.75;\\\\n    float maxValue = 0.5 * PI;\\\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\\\n\\\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\\\n    float accent = cos(scaledSlope);\\\\n    // We multiply both the accent and shade color by a clamped intensity value\\\\n    // so that intensities >= 0.5 do not additionally affect the color values\\\\n    // while intensity values < 0.5 make the overall color more transparent.\\\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    v_pos = a_texture_pos / 8192.0;\\\\n}\\\\n\\\"},line:{fragmentSource:\\\"#pragma mapbox: define highp vec4 color\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_normal;\\\\nvarying float v_gamma_scale;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize highp vec4 color\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\n// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},linePattern:{fragmentSource:\\\"uniform vec2 u_pattern_size_a;\\\\nuniform vec2 u_pattern_size_b;\\\\nuniform vec2 u_pattern_tl_a;\\\\nuniform vec2 u_pattern_br_a;\\\\nuniform vec2 u_pattern_tl_b;\\\\nuniform vec2 u_pattern_br_b;\\\\nuniform vec2 u_texsize;\\\\nuniform float u_fade;\\\\n\\\\nuniform sampler2D u_image;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\n#pragma mapbox: define lowp float blur\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float blur\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\\\n    float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\\\n    float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\\\n\\\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\\\n\\\\n    gl_FragColor = color * alpha * opacity;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying float v_linesofar;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\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\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist = outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_linesofar = a_linesofar;\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},lineSDF:{fragmentSource:\\\"\\\\nuniform sampler2D u_image;\\\\nuniform float u_sdfgamma;\\\\nuniform float u_mix;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    // Calculate the distance of the pixel from the line in pixels.\\\\n    float dist = length(v_normal) * v_width2.s;\\\\n\\\\n    // Calculate the antialiasing fade factor. This is either when fading in\\\\n    // the line in case of an offset line (v_width2.t) or when fading out\\\\n    // (v_width2.s)\\\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\\\n\\\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\\\n    alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"// floor(127 / 2) == 63.0\\\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\\\n// there are also \\\\\\\"special\\\\\\\" normals that have a bigger length (of up to 126 in\\\\n// this case).\\\\n// #define scale 63.0\\\\n#define scale 0.015873016\\\\n\\\\n// We scale the distance before adding it to the buffers so that we can store\\\\n// long distances for long segments. Use this value to unscale the distance.\\\\n#define LINE_DISTANCE_SCALE 2.0\\\\n\\\\n// the distance over which the line edge fades out.\\\\n// Retina devices need a smaller distance to avoid aliasing.\\\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\\\n\\\\nattribute vec4 a_pos_normal;\\\\nattribute vec4 a_data;\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mediump float u_ratio;\\\\nuniform vec2 u_patternscale_a;\\\\nuniform float u_tex_y_a;\\\\nuniform vec2 u_patternscale_b;\\\\nuniform float u_tex_y_b;\\\\nuniform vec2 u_gl_units_to_pixels;\\\\n\\\\nvarying vec2 v_normal;\\\\nvarying vec2 v_width2;\\\\nvarying vec2 v_tex_a;\\\\nvarying vec2 v_tex_b;\\\\nvarying float v_gamma_scale;\\\\n\\\\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\\\\n\\\\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\\\\n\\\\n    vec2 a_extrude = a_data.xy - 128.0;\\\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\\\n\\\\n    vec2 pos = a_pos_normal.xy;\\\\n\\\\n    // x is 1 if it's a round cap, 0 otherwise\\\\n    // y is 1 if the normal points up, and -1 if it points down\\\\n    mediump vec2 normal = a_pos_normal.zw;\\\\n    v_normal = normal;\\\\n\\\\n    // these transformations used to be applied in the JS and native code bases.\\\\n    // moved them into the shader for clarity and simplicity.\\\\n    gapwidth = gapwidth / 2.0;\\\\n    float halfwidth = width / 2.0;\\\\n    offset = -1.0 * offset;\\\\n\\\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\\\n\\\\n    // Scale the extrusion vector down to a normal and then up by the line width\\\\n    // of this vertex.\\\\n    mediump vec2 dist =outset * a_extrude * scale;\\\\n\\\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\\\n    // We do this by creating a vector that points towards the extrude, but rotate\\\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\\\n    // extrude vector points in another direction.\\\\n    mediump float u = 0.5 * a_direction;\\\\n    mediump float t = 1.0 - abs(u);\\\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\\\n\\\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\\\n\\\\n    // calculate how much the perspective view squishes or stretches the extrude\\\\n    float extrude_length_without_perspective = length(dist);\\\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\\\n\\\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\\\n\\\\n    v_width2 = vec2(outset, inset);\\\\n}\\\\n\\\"},raster:{fragmentSource:\\\"uniform float u_fade_t;\\\\nuniform float u_opacity;\\\\nuniform sampler2D u_image0;\\\\nuniform sampler2D u_image1;\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nuniform float u_brightness_low;\\\\nuniform float u_brightness_high;\\\\n\\\\nuniform float u_saturation_factor;\\\\nuniform float u_contrast_factor;\\\\nuniform vec3 u_spin_weights;\\\\n\\\\nvoid main() {\\\\n\\\\n    // read and cross-fade colors from the main and parent tiles\\\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\\\n    if (color0.a > 0.0) {\\\\n        color0.rgb = color0.rgb / color0.a;\\\\n    }\\\\n    if (color1.a > 0.0) {\\\\n        color1.rgb = color1.rgb / color1.a;\\\\n    }\\\\n    vec4 color = mix(color0, color1, u_fade_t);\\\\n    color.a *= u_opacity;\\\\n    vec3 rgb = color.rgb;\\\\n\\\\n    // spin\\\\n    rgb = vec3(\\\\n        dot(rgb, u_spin_weights.xyz),\\\\n        dot(rgb, u_spin_weights.zxy),\\\\n        dot(rgb, u_spin_weights.yzx));\\\\n\\\\n    // saturation\\\\n    float average = (color.r + color.g + color.b) / 3.0;\\\\n    rgb += (average - rgb) * u_saturation_factor;\\\\n\\\\n    // contrast\\\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\\\n\\\\n    // brightness\\\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\\\n\\\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"uniform mat4 u_matrix;\\\\nuniform vec2 u_tl_parent;\\\\nuniform float u_scale_parent;\\\\nuniform float u_buffer_scale;\\\\n\\\\nattribute vec2 a_pos;\\\\nattribute vec2 a_texture_pos;\\\\n\\\\nvarying vec2 v_pos0;\\\\nvarying vec2 v_pos1;\\\\n\\\\nvoid main() {\\\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\\\n    // We are using Int16 for texture position coordinates to give us enough precision for\\\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\\\n    // so math for modifying either is consistent.\\\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\\\n}\\\\n\\\"},symbolIcon:{fragmentSource:\\\"uniform sampler2D u_texture;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    lowp float alpha = opacity * v_fade_opacity;\\\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform float u_fade_change;\\\\n\\\\n#pragma mapbox: define lowp float opacity\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_tex;\\\\nvarying float v_fade_opacity;\\\\n\\\\nvoid main() {\\\\n    #pragma mapbox: initialize lowp float opacity\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n\\\\n    float size;\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // See comments in symbol_sdf.vertex\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // See comments in symbol_sdf.vertex\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n\\\\n    v_tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n}\\\\n\\\"},symbolSDF:{fragmentSource:\\\"#define SDF_PX 8.0\\\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\\\n\\\\nuniform bool u_is_halo;\\\\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\\\\n\\\\nuniform sampler2D u_texture;\\\\nuniform highp float u_gamma_scale;\\\\nuniform bool u_is_text;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 tex = v_data0.xy;\\\\n    float gamma_scale = v_data1.x;\\\\n    float size = v_data1.y;\\\\n    float fade_opacity = v_data1[2];\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    lowp vec4 color = fill_color;\\\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\\\n    if (u_is_halo) {\\\\n        color = halo_color;\\\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\\\n    }\\\\n\\\\n    lowp float dist = texture2D(u_texture, tex).a;\\\\n    highp float gamma_scaled = gamma * gamma_scale;\\\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\\\n\\\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\\\n\\\\n#ifdef OVERDRAW_INSPECTOR\\\\n    gl_FragColor = vec4(1.0);\\\\n#endif\\\\n}\\\\n\\\",vertexSource:\\\"const float PI = 3.141592653589793;\\\\n\\\\nattribute vec4 a_pos_offset;\\\\nattribute vec4 a_data;\\\\nattribute vec3 a_projected_pos;\\\\nattribute float a_fade_opacity;\\\\n\\\\n// contents of a_size vary based on the type of property value\\\\n// used for {text,icon}-size.\\\\n// For constants, a_size is disabled.\\\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\\\n// For composite functions:\\\\n// [ text-size(lowerZoomStop, feature),\\\\n//   text-size(upperZoomStop, feature) ]\\\\nuniform bool u_is_size_zoom_constant;\\\\nuniform bool u_is_size_feature_constant;\\\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\\\nuniform highp float u_size; // used when size is both zoom and feature constant\\\\n\\\\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\\\\n\\\\nuniform mat4 u_matrix;\\\\nuniform mat4 u_label_plane_matrix;\\\\nuniform mat4 u_gl_coord_matrix;\\\\n\\\\nuniform bool u_is_text;\\\\nuniform bool u_pitch_with_map;\\\\nuniform highp float u_pitch;\\\\nuniform bool u_rotate_symbol;\\\\nuniform highp float u_aspect_ratio;\\\\nuniform highp float u_camera_to_center_distance;\\\\nuniform float u_fade_change;\\\\n\\\\nuniform vec2 u_texsize;\\\\n\\\\nvarying vec2 v_data0;\\\\nvarying vec3 v_data1;\\\\n\\\\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\\\\n\\\\n    vec2 a_pos = a_pos_offset.xy;\\\\n    vec2 a_offset = a_pos_offset.zw;\\\\n\\\\n    vec2 a_tex = a_data.xy;\\\\n    vec2 a_size = a_data.zw;\\\\n\\\\n    highp float segment_angle = -a_projected_pos[2];\\\\n    float size;\\\\n\\\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\\\n        size = a_size[0] / 10.0;\\\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\\\n        size = u_size;\\\\n    } else {\\\\n        size = u_size;\\\\n    }\\\\n\\\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\\\n    // If the label is pitched with the map, layout is done in pitched space,\\\\n    // which makes labels in the distance smaller relative to viewport space.\\\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\\\n    // which makes labels in the distance larger relative to the features around\\\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\\\n    highp float distance_ratio = u_pitch_with_map ?\\\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\\\n\\\\n    size *= perspective_ratio;\\\\n\\\\n    float fontScale = u_is_text ? size / 24.0 : size;\\\\n\\\\n    highp float symbol_rotation = 0.0;\\\\n    if (u_rotate_symbol) {\\\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\\\n        // space, project it, and measure its angle in projected space.\\\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\\\n\\\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\\\n\\\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\\\n    }\\\\n\\\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\\\n\\\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\\\n    float gamma_scale = gl_Position.w;\\\\n\\\\n    vec2 tex = a_tex / u_texsize;\\\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\\\n\\\\n    v_data0 = vec2(tex.x, tex.y);\\\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\\\n}\\\\n\\\"}},i=/#pragma mapbox: ([\\\\w]+) ([\\\\w]+) ([\\\\w]+) ([\\\\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifdef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o=\\\"float\\\"===i?\\\"vec2\\\":\\\"vec4\\\";return r[a]?\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\nvarying \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"define\\\"===e?\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\nuniform lowp float a_\\\"+a+\\\"_t;\\\\nattribute \\\"+n+\\\" \\\"+o+\\\" a_\\\"+a+\\\";\\\\n#else\\\\nuniform \\\"+n+\\\" \\\"+i+\\\" u_\\\"+a+\\\";\\\\n#endif\\\\n\\\":\\\"\\\\n#ifndef HAS_UNIFORM_u_\\\"+a+\\\"\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = unpack_mix_\\\"+o+\\\"(a_\\\"+a+\\\", a_\\\"+a+\\\"_t);\\\\n#else\\\\n    \\\"+n+\\\" \\\"+i+\\\" \\\"+a+\\\" = u_\\\"+a+\\\";\\\\n#endif\\\\n\\\"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t(\\\"./image_source\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(\\\"error\\\",new Error(\\\"Canvas dimensions cannot be less than or equal to zero.\\\")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,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 i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];\\\"loaded\\\"!==l.state&&(l.state=\\\"loaded\\\",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"canvas\\\",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.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},e}(n);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/window\\\":254,\\\"./image_source\\\":102}],99:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/window\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"../util/ajax\\\").ResourceType,l=t(\\\"../util/browser\\\"),u=function(t){function e(e,r,n,a){t.call(this),this.id=e,this.type=\\\"geojson\\\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this.dispatcher=n,this.setEventedParent(a),this._data=r.data,this._options=i.extend({},r),this._collectResourceTiming=r.collectResourceTiming,this._resourceTiming=[],void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type);var s=o/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*s,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*s,extent:o,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?Math.min(r.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:o,radius:(r.clusterRadius||50)*s,log:!1}},r.workerOptions)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(e){if(e)t.fire(\\\"error\\\",{error:e});else{var r={dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(\\\"data\\\",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this._updateWorkerData(function(t){if(t)return e.fire(\\\"error\\\",{error:t});var r={dataType:\\\"source\\\",sourceDataType:\\\"content\\\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(\\\"data\\\",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;\\\"string\\\"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+\\\".loadData\\\",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||\\\"expired\\\"===t.state?\\\"loadTile\\\":\\\"reloadTile\\\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\\\"reloadTile\\\"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\\\"removeSource\\\",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=u},{\\\"../data/extent\\\":53,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/performance\\\"),o=t(\\\"geojson-rewind\\\"),s=t(\\\"./geojson_wrapper\\\"),l=t(\\\"vt-pbf\\\"),u=t(\\\"supercluster\\\"),c=t(\\\"geojson-vt\\\"),h=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if(\\\"object\\\"!=typeof i)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?u(t.superclusterOptions).load(i.features):c(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,e);else{if(\\\"string\\\"!=typeof t.data)return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error(\\\"Input data is not a valid GeoJSON object.\\\"))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t(\\\"./vector_tile_worker_source\\\"));e.exports=h},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"./geojson_wrapper\\\":101,\\\"./vector_tile_worker_source\\\":116,\\\"geojson-rewind\\\":15,\\\"geojson-vt\\\":19,supercluster:32,\\\"vt-pbf\\\":34}],101:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"@mapbox/vector-tile\\\").VectorTileFeature.prototype.toGeoJSON,a=t(\\\"../data/extent\\\"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,\\\"id\\\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e<r.length;e+=1){var i=r[e];t.push([new n(i[0],i[1])])}return t}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],u=0,c=s[o];u<c.length;u+=1){var h=c[u];l.push(new n(h[0],h[1]))}a.push(l)}return a},o.prototype.toGeoJSON=function(t,e,r){return i.call(this,t,e,r)};var s=function(t){this.layers={_geojsonTileLayer:this},this.name=\\\"_geojsonTileLayer\\\",this.extent=a,this.length=t.length,this._features=t};s.prototype.feature=function(t){return new o(this._features[t])},e.exports=s},{\\\"../data/extent\\\":53,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8}],102:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"./tile_id\\\").CanonicalTileID,a=t(\\\"../geo/lng_lat\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/ajax\\\"),u=t(\\\"../util/browser\\\"),c=t(\\\"../data/extent\\\"),h=t(\\\"../data/array_types\\\").RasterBoundsArray,f=t(\\\"../data/raster_bounds_attributes\\\"),p=t(\\\"../render/vertex_array_object\\\"),d=t(\\\"../render/texture\\\"),g=function(t){function e(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\\\"image\\\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),this.url=this.options.url,l.getImage(this.map._transformRequest(this.url,l.ResourceType.Image),function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.image=u.getImageData(r),t._finishLoading())})},e.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}))},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setCoordinates=function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(a.convert(t)).zoomTo(0)}),s=this.centerCoord=n.getCoordinatesCenter(r);s.column=Math.floor(s.column),s.row=Math.floor(s.row),this.tileID=new i(s.zoom,s.column,s.row),this.minzoom=this.maxzoom=s.zoom;var l=r.map(function(t){var e=t.zoomTo(s.zoom);return new o(Math.round((e.column-s.column)*c),Math.round((e.row-s.row)*c))});return this._boundsArray=new h,this._boundsArray.emplaceBack(l[0].x,l[0].y,0,0),this._boundsArray.emplaceBack(l[1].x,l[1].y,c,0),this._boundsArray.emplaceBack(l[3].x,l[3].y,0,c),this._boundsArray.emplaceBack(l[2].x,l[2].y,c,c),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}),this},e.prototype.prepare=function(){var t=this;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,f.members)),this.boundsVAO||(this.boundsVAO=new p),this.texture||(this.texture=new d(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.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))},e.prototype.serialize=function(){return{type:\\\"image\\\",url:this.options.url,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return!1},e}(s);e.exports=g},{\\\"../data/array_types\\\":39,\\\"../data/extent\\\":53,\\\"../data/raster_bounds_attributes\\\":59,\\\"../geo/lng_lat\\\":62,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],103:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/mapbox\\\").normalizeSourceURL;e.exports=function(t,e,r){var s=function(t,e){if(t)return r(t);if(e){var i=n.pick(e,[\\\"tiles\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"attribution\\\",\\\"mapbox_logo\\\",\\\"bounds\\\"]);e.vector_layers&&(i.vectorLayers=e.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),r(null,i)}};t.url?i.getJSON(e(o(t.url),i.ResourceType.Source),s):a.frame(function(){return s(null,t)})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275}],104:[function(t,e,r){var n=t(\\\"../data/extent\\\");e.exports=function(t,e,r){return e*(n/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}},{\\\"../data/extent\\\":53}],105:[function(t,e,r){function n(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}r.rendered=function(t,e,r,i,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0,h=l;c<h.length;c+=1){var f=h[c];u.push({wrappedTileID:f.tileID.wrapped().key,queryResults:f.tile.queryRenderedFeatures(e,f.queryGeometry,f.scale,i,o,t.id,s)})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var u in o)for(var c=o[u],h=l[u]=l[u]||{},f=e[u]=e[u]||[],p=0,d=c;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g.feature))}}return e}(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}},{}],106:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/util\\\"),a=(t(\\\"../util/evented\\\"),t(\\\"../util/mapbox\\\").normalizeTileURL),o=t(\\\"../util/browser\\\"),s=t(\\\"./tile_id\\\").OverscaledTileID,l=function(t){function e(e,r,n,a){t.call(this,e,r,n,a),this.type=\\\"raster-dem\\\",this.maxzoom=22,this._options=i.extend({},r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.serialize=function(){return{type:\\\"raster-dem\\\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds}},e.prototype.loadTile=function(t,e){var r=a(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._transformRequest(r,n.ResourceType.Tile),function(r,n){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(r)t.state=\\\"errored\\\",e(r);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=o.getImageData(n),a={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:i};t.workerID&&\\\"expired\\\"!==t.state||(t.workerID=this.dispatcher.send(\\\"loadDEMTile\\\",a,function(r,n){r&&(t.state=\\\"errored\\\",e(r)),n&&(t.dem=n,t.needsHillshadePrepare=!0,t.state=\\\"loaded\\\",e(null))}.bind(this)))}}.bind(this)),t.neighboringTiles=this._getNeighboringTiles(t.tileID)},e.prototype._getNeighboringTiles=function(t){var e=t.canonical,r=Math.pow(2,e.z),n=(e.x-1+r)%r,i=0===e.x?t.wrap-1:t.wrap,a=(e.x+1+r)%r,o=e.x+1===r?t.wrap+1:t.wrap,l={};return l[new s(t.overscaledZ,i,e.z,n,e.y).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y).key]={backfilled:!1},e.y>0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+1<r&&(l[new s(t.overscaledZ,i,e.z,n,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y+1).key]={backfilled:!1}),l},e.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\\\",this.dispatcher.send(\\\"removeDEMTile\\\",{uid:t.uid,source:this.id},void 0,t.workerID)},e}(t(\\\"./raster_tile_source\\\"));e.exports=l},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./raster_tile_source\\\":108,\\\"./tile_id\\\":114}],107:[function(t,e,r){var n=t(\\\"../data/dem_data\\\").DEMData,i=function(){this.loading={},this.loaded={}};i.prototype.loadTile=function(t,e){var r=t.source,i=t.uid;this.loading[r]||(this.loading[r]={});var a=new n(i);this.loading[r][i]=a,a.loadFromImage(t.rawImageData),delete this.loading[r][i],this.loaded[r]=this.loaded[r]||{},this.loaded[r][i]=a,e(null,a)},i.prototype.removeTile=function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},e.exports=i},{\\\"../data/dem_data\\\":52}],108:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/ajax\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./load_tilejson\\\"),s=t(\\\"../util/mapbox\\\").normalizeTileURL,l=t(\\\"./tile_bounds\\\"),u=t(\\\"../render/texture\\\"),c=function(t){function e(e,r,i,a){t.call(this),this.id=e,this.dispatcher=i,this.setEventedParent(a),this.type=\\\"raster\\\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\\\"xyz\\\",this.tileSize=512,this._loaded=!1,this._options=n.extend({},r),n.extend(this,n.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"]))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),o(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new l(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return n.extend({},this._options)},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.loadTile=function(t,e){var r=this,n=s(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=i.getImage(this.map._transformRequest(n,i.ResourceType.Tile),function(n,i){if(delete t.request,t.aborted)t.state=\\\"unloaded\\\",e(null);else if(n)t.state=\\\"errored\\\",e(n);else if(i){r.map._refreshExpiredTiles&&t.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=r.map.painter.context,o=a.gl;t.texture=r.map.painter.getTileTexture(i.width),t.texture?(t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,i)):(t.texture=new u(a,i,o.RGBA),t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),o.generateMipmap(o.TEXTURE_2D),t.state=\\\"loaded\\\",e(null)}})},e.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},e.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},e.prototype.hasTransition=function(){return!1},e}(a);e.exports=c},{\\\"../render/texture\\\":93,\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],109:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/window\\\"),o=!1,s=null;e.exports.evented=new i,e.exports.registerForPluginAvailability=function(t){return s?t({pluginBlobURL:s,errorCallback:e.exports.errorCallback}):e.exports.evented.once(\\\"pluginAvailable\\\",t),t},e.exports.createBlobURL=function(t){return a.URL.createObjectURL(new a.Blob([t.data],{type:\\\"text/javascript\\\"}))},e.exports.clearRTLTextPlugin=function(){o=!1,s=null},e.exports.setRTLTextPlugin=function(t,r){if(o)throw new Error(\\\"setRTLTextPlugin cannot be called multiple times.\\\");o=!0,e.exports.errorCallback=r,n.getArrayBuffer({url:t},function(t,n){t?r(t):n&&(s=e.exports.createBlobURL(n),e.exports.evented.fire(\\\"pluginAvailable\\\",{pluginBlobURL:s,errorCallback:r}))})},e.exports.applyArabicShaping=null,e.exports.processBidirectionalText=null},{\\\"../util/ajax\\\":251,\\\"../util/evented\\\":260,\\\"../util/window\\\":254}],110:[function(t,e,r){var n=t(\\\"../util/util\\\"),i={vector:t(\\\"../source/vector_tile_source\\\"),raster:t(\\\"../source/raster_tile_source\\\"),\\\"raster-dem\\\":t(\\\"../source/raster_dem_tile_source\\\"),geojson:t(\\\"../source/geojson_source\\\"),video:t(\\\"../source/video_source\\\"),image:t(\\\"../source/image_source\\\"),canvas:t(\\\"../source/canvas_source\\\")};r.create=function(t,e,r,a){var o=new i[e.type](t,e,r,a);if(o.id!==t)throw new Error(\\\"Expected Source id to be \\\"+t+\\\" instead of \\\"+o.id);return n.bindAll([\\\"load\\\",\\\"abort\\\",\\\"unload\\\",\\\"serialize\\\",\\\"prepare\\\"],o),o},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\\\"../source/canvas_source\\\":98,\\\"../source/geojson_source\\\":99,\\\"../source/image_source\\\":102,\\\"../source/raster_dem_tile_source\\\":106,\\\"../source/raster_tile_source\\\":108,\\\"../source/vector_tile_source\\\":115,\\\"../source/video_source\\\":117,\\\"../util/util\\\":275}],111:[function(t,e,r){function n(t,e){var r=e.zoomTo(t.canonical.z);return new f((r.column-(t.canonical.x+t.wrap*Math.pow(2,t.canonical.z)))*h,(r.row-t.canonical.y)*h)}function i(t){return\\\"raster\\\"===t||\\\"image\\\"===t||\\\"video\\\"===t}var a=t(\\\"./source\\\").create,o=t(\\\"./tile\\\"),s=t(\\\"../util/evented\\\"),l=t(\\\"../util/lru_cache\\\"),u=t(\\\"../geo/coordinate\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../data/extent\\\"),f=(t(\\\"../gl/context\\\"),t(\\\"@mapbox/point-geometry\\\")),p=t(\\\"../util/browser\\\"),d=t(\\\"./tile_id\\\").OverscaledTileID,g=function(t){function e(e,r,n){var i=this;t.call(this),this.id=e,this.dispatcher=n,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=a(e,r,n,this),this._tiles={},this._cache=new l(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},e.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},e.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\\\"loaded\\\"!==e.state&&\\\"errored\\\"!==e.state)return!1}return!0},e.prototype.getSource=function(){return this._source},e.prototype.pause=function(){this._paused=!0},e.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)}},e.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},e.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},e.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},e.prototype.serialize=function(){return this._source.serialize()},e.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},e.prototype.getIds=function(){var t=this;return Object.keys(this._tiles).map(Number).sort(function(e,r){var n=t._tiles[e].tileID,i=t._tiles[r].tileID,a=new f(n.canonical.x,n.canonical.y).rotate(t.transform.angle),o=new f(i.canonical.x,i.canonical.y).rotate(t.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})},e.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},e.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},e.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},e.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._resetCache(),this._tiles)this._reloadTile(t,\\\"reloading\\\")},e.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)))},e.prototype._tileLoaded=function(t,e,r,n){if(n)return t.state=\\\"errored\\\",void(404!==n.status?this._source.fire(\\\"error\\\",{tile:t,error:n}):this.update(this.transform));t.timeAdded=p.now(),\\\"expired\\\"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),\\\"raster-dem\\\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._source.fire(\\\"data\\\",{dataType:\\\"source\\\",tile:t,coord:t.tileID}),this.map&&(this.map.painter.tileExtentVAO.vao=null)},e.prototype._backfillDEM=function(t){function e(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;n<r.length;n++){var i=r[n];if(t.neighboringTiles&&t.neighboringTiles[i]){var a=this.getTileByID(i);e(t,a),e(a,t)}}},e.prototype.getTile=function(t){return this.getTileByID(t.key)},e.prototype.getTileByID=function(t){return this._tiles[t]},e.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},e.prototype._findLoadedChildren=function(t,e,r){var n=this,i=!1;for(var a in n._tiles){var o=n._tiles[a];if(!(r[a]||!o.hasData()||o.tileID.overscaledZ<=t.overscaledZ||o.tileID.overscaledZ>e)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\\\"number\\\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(n,o),h={};if(i(this._source.type))for(var f=Object.keys(u),g=0;g<f.length;g++){var v=f[g],m=u[v],y=r._tiles[v];if(y&&(void 0===y.fadeEndTime||y.fadeEndTime>=p.now())){r._findLoadedChildren(m,l,u)&&(u[v]=m);var x=r.findLoadedParent(m,s,h);x&&r._addTile(x.tileID)}}for(a in h)u[a]||(r._coveredTiles[a]=!0);for(a in h)u[a]=h[a];for(var b=c.keysDifference(this._tiles,u),_=0;_<b.length;_++)r._removeTile(b[_])}},e.prototype._updateRetainedTiles=function(t,r){for(var n=this,i={},a={},o=Math.max(r-e.maxOverzooming,this._source.minzoom),s=Math.max(r+e.maxUnderzooming,this._source.minzoom),l=0;l<t.length;l++){var u=t[l],c=n._addTile(u),h=!1;if(c.hasData())i[u.key]=u;else{h=c.wasRequested(),i[u.key]=u;var f=!0;if(r+1>n._source.maxzoom){var p=u.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:f=!1}else{n._findLoadedChildren(u,s,i);for(var g=u.children(n._source.maxzoom),v=0;v<g.length;v++)if(!i[g[v].key]){f=!1;break}}if(!f)for(var m=u.overscaledZ-1;m>=o;--m){var y=u.scaledTo(m);if(a[y.key])break;if(a[y.key]=!0,!(c=n.getTile(y))&&h&&(c=n._addTile(y)),c&&(i[y.key]=y,h=c.wasRequested(),c.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(\\\"dataloading\\\",{tile:e,coord:e.tileID,dataType:\\\"source\\\"}),e):null},e.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))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,c=0;c<t.length;c++){var f=t[c];i=Math.min(i,f.column),a=Math.min(a,f.row),o=Math.max(o,f.column),s=Math.max(s,f.row)}for(var p=0;p<r.length;p++){var d=this._tiles[r[p]],g=d.tileID,v=[n(g,new u(i,a,l)),n(g,new u(o,s,l))];if(v[0].x<h&&v[0].y<h&&v[1].x>=0&&v[1].y>=0){for(var m=[],y=0;y<t.length;y++)m.push(n(g,t[y]));e.push({tile:d,tileID:g,queryGeometry:[m],scale:Math.pow(2,this.transform.zoom-d.tileID.overscaledZ)})}}return e},e.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},e.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(i(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{\\\"../data/extent\\\":53,\\\"../geo/coordinate\\\":61,\\\"../gl/context\\\":66,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/lru_cache\\\":266,\\\"../util/util\\\":275,\\\"./source\\\":110,\\\"./tile\\\":112,\\\"./tile_id\\\":114,\\\"@mapbox/point-geometry\\\":4}],112:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../data/bucket\\\").deserialize,a=(t(\\\"../data/feature_index\\\"),t(\\\"@mapbox/vector-tile\\\")),o=t(\\\"pbf\\\"),s=t(\\\"../util/vectortile_to_geojson\\\"),l=t(\\\"../style-spec/feature_filter\\\"),u=(t(\\\"../symbol/collision_index\\\"),t(\\\"../data/bucket/symbol_bucket\\\")),c=t(\\\"../data/array_types\\\"),h=c.RasterBoundsArray,f=c.CollisionBoxArray,p=t(\\\"../data/raster_bounds_attributes\\\"),d=t(\\\"../data/extent\\\"),g=t(\\\"@mapbox/point-geometry\\\"),v=t(\\\"../render/texture\\\"),m=t(\\\"../data/segment\\\").SegmentVector,y=t(\\\"../data/index_array_type\\\").TriangleIndexArray,x=t(\\\"../util/browser\\\"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state=\\\"loading\\\"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<x.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},b.prototype.wasRequested=function(){return\\\"errored\\\"===this.state||\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state},b.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\\\"loaded\\\",t){if(t.rawTileData&&(this.rawTileData=t.rawTileData),this.collisionBoxArray=t.collisionBoxArray,this.featureIndex=t.featureIndex,this.featureIndex.rawTileData=this.rawTileData,this.buckets=i(t.buckets,e.style),r)for(var n in this.buckets){var a=this.buckets[n];a instanceof u&&(a.justReloaded=!0)}t.iconAtlasImage&&(this.iconAtlasImage=t.iconAtlasImage),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new f},b.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.collisionBoxArray=null,this.featureIndex=null,this.state=\\\"unloaded\\\"},b.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\\\"unloaded\\\"},b.prototype.getBucket=function(t){return this.buckets[t.id]},b.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new v(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new v(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},b.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){if(!this.featureIndex||!this.collisionBoxArray)return{};var s=0,l={};for(var c in t){var h=this.getBucket(t[c]);h&&(s=Math.max(s,t[c].queryRadius(h)),h instanceof u&&void 0!==h.bucketInstanceId&&(l[h.bucketInstanceId]=!0))}return this.featureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,bearing:i,params:n,additionalRadius:s,collisionBoxArray:this.collisionBoxArray,sourceID:a,collisionIndex:o,bucketInstanceIds:l},t)},b.prototype.querySourceFeatures=function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new a.VectorTile(new o(this.rawTileData)).layers);var r=e?e.sourceLayer:\\\"\\\",n=this.vtLayers._geojsonTileLayer||this.vtLayers[r];if(n)for(var i=l(e&&e.filter),u={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},c=0;c<n.length;c++){var h=n.feature(c);if(i({zoom:this.tileID.overscaledZ},h)){var f=new s(h,u.z,u.x,u.y);f.tile=u,t.push(f)}}}},b.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},b.prototype.setMask=function(t,e){if(!n.deepEqual(this.mask,t)&&(this.mask=t,this.clearMask(),!n.deepEqual(t,{0:!0}))){var r=new h,i=new y;this.segments=new m,this.segments.prepareSegment(0,r,i);for(var a=Object.keys(t),o=0;o<a.length;o++){var s=t[a[o]],l=d>>s.z,u=new g(s.x*l,s.y*l),c=new g(u.x+l,u.y+l),f=this.segments.prepareSegment(4,r,i);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,c.y,c.x,c.y);var v=f.vertexLength;i.emplaceBack(v,v+1,v+2),i.emplaceBack(v+1,v+2,v+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return\\\"loaded\\\"===this.state||\\\"reloading\\\"===this.state||\\\"expired\\\"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(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 i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var o=this.expirationTime-e;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\\\"expired\\\"):this.expiredRequestCount=0}},b.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)},e.exports=b},{\\\"../data/array_types\\\":39,\\\"../data/bucket\\\":40,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../data/feature_index\\\":54,\\\"../data/index_array_type\\\":55,\\\"../data/raster_bounds_attributes\\\":59,\\\"../data/segment\\\":60,\\\"../render/texture\\\":93,\\\"../style-spec/feature_filter\\\":148,\\\"../symbol/collision_index\\\":217,\\\"../util/browser\\\":252,\\\"../util/util\\\":275,\\\"../util/vectortile_to_geojson\\\":276,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/vector-tile\\\":8,pbf:30}],113:[function(t,e,r){var n=t(\\\"../geo/lng_lat_bounds\\\"),i=t(\\\"../util/util\\\").clamp,a=function(t,e,r){this.bounds=n.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};a.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]},a.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},a.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},a.prototype.latY=function(t,e){var r=i(Math.sin(Math.PI/180*t),-.9999,.9999),n=Math.pow(2,e)/(2*Math.PI);return Math.pow(2,e-1)+.5*Math.log((1+r)/(1-r))*-n},e.exports=a},{\\\"../geo/lng_lat_bounds\\\":63,\\\"../util/util\\\":275}],114:[function(t,e,r){function n(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}var i=t(\\\"@mapbox/whoots-js\\\"),a=t(\\\"../util/web_worker_transfer\\\").register,o=t(\\\"../geo/coordinate\\\"),s=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=n(0,t,e,r)};s.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},s.prototype.url=function(t,e){var r=i.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\\\"\\\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(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}\\\",n).replace(\\\"{bbox-epsg-3857}\\\",r)};var l=function(t,e){this.wrap=t,this.canonical=e,this.key=n(t,e.z,e.x,e.y)},u=function(t,e,r,i,a){this.overscaledZ=t,this.wrap=e,this.canonical=new s(r,+i,+a),this.key=n(e,t,i,a)};u.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new u(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new u(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},u.prototype.isChildOf=function(t){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},u.prototype.children=function(t){if(this.overscaledZ>=t)return[new u(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 u(e,this.wrap,e,r,n),new u(e,this.wrap,e,r+1,n),new u(e,this.wrap,e,r,n+1),new u(e,this.wrap,e,r+1,n+1)]},u.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))},u.prototype.wrapped=function(){return new u(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},u.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},u.prototype.toUnwrapped=function(){return new l(this.wrap,this.canonical)},u.prototype.toString=function(){return this.overscaledZ+\\\"/\\\"+this.canonical.x+\\\"/\\\"+this.canonical.y},u.prototype.toCoordinate=function(){return new o(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},a(\\\"CanonicalTileID\\\",s),a(\\\"OverscaledTileID\\\",u,{omit:[\\\"posMatrix\\\"]}),e.exports={CanonicalTileID:s,OverscaledTileID:u,UnwrappedTileID:l}},{\\\"../geo/coordinate\\\":61,\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/whoots-js\\\":12}],115:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"./load_tilejson\\\"),o=t(\\\"../util/mapbox\\\").normalizeTileURL,s=t(\\\"./tile_bounds\\\"),l=t(\\\"../util/ajax\\\").ResourceType,u=t(\\\"../util/browser\\\"),c=function(t){function e(e,r,n,a){if(t.call(this),this.id=e,this.dispatcher=n,this.type=\\\"vector\\\",this.minzoom=0,this.maxzoom=22,this.scheme=\\\"xyz\\\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,i.extend(this,i.pick(r,[\\\"url\\\",\\\"scheme\\\",\\\"tileSize\\\"])),this._options=i.extend({type:\\\"vector\\\"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error(\\\"vector tile sources must have a tileSize of 512\\\");this.setEventedParent(a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\\\"dataloading\\\",{dataType:\\\"source\\\"}),a(this._options,this.map._transformRequest,function(e,r){e?t.fire(\\\"error\\\",e):r&&(i.extend(t,r),r.bounds&&(t.tileBounds=new s(r.bounds,t.minzoom,t.maxzoom)),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"metadata\\\"}),t.fire(\\\"data\\\",{dataType:\\\"source\\\",sourceDataType:\\\"content\\\"}))})},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return i.extend({},this._options)},e.prototype.loadTile=function(t,e){function r(r,n){return t.aborted?e(null):r?e(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var n=t.tileID.overscaleFactor(),i=o(t.tileID.canonical.url(this.tiles,this.scheme),this.url),a={request:this.map._transformRequest(i,l.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*n,type:this.type,source:this.id,pixelRatio:u.devicePixelRatio,overscaling:n,showCollisionBoxes:this.map.showCollisionBoxes};a.request.collectResourceTiming=this._collectResourceTiming,void 0===t.workerID||\\\"expired\\\"===t.state?t.workerID=this.dispatcher.send(\\\"loadTile\\\",a,r.bind(this)):\\\"loading\\\"===t.state?t.reloadCallback=e:this.dispatcher.send(\\\"reloadTile\\\",a,r.bind(this),t.workerID)},e.prototype.abortTile=function(t){this.dispatcher.send(\\\"abortTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\\\"removeTile\\\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./load_tilejson\\\":103,\\\"./tile_bounds\\\":113}],116:[function(t,e,r){function n(t,e){var r=i.getArrayBuffer(t.request,function(t,r){t?e(t):r&&e(null,{vectorTile:new a.VectorTile(new o(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires})});return function(){r.abort(),e()}}var i=t(\\\"../util/ajax\\\"),a=t(\\\"@mapbox/vector-tile\\\"),o=t(\\\"pbf\\\"),s=t(\\\"./worker_tile\\\"),l=t(\\\"../util/util\\\"),u=t(\\\"../util/performance\\\"),c=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||n,this.loading={},this.loaded={}};c.prototype.loadTile=function(t,e){var r=this,n=t.source,i=t.uid;this.loading[n]||(this.loading[n]={});var a=this.loading[n][i]=new s(t);a.abort=this.loadVectorData(t,function(o,s){if(delete r.loading[n][i],o||!s)return e(o);var c=s.rawData,h={};s.expires&&(h.expires=s.expires),s.cacheControl&&(h.cacheControl=s.cacheControl);var f={};if(t.request&&t.request.collectResourceTiming){var p=u.getEntriesByName(t.request.url);p&&(f.resourceTiming=JSON.parse(JSON.stringify(p)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,r.layerIndex,r.actor,function(t,r){if(t||!r)return e(t);e(null,l.extend({rawTileData:c.slice(0)},r,h,f))}),r.loaded[n]=r.loaded[n]||{},r.loaded[n][i]=a})},c.prototype.reloadTile=function(t,e){var r=this.loaded[t.source],n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes,\\\"parsing\\\"===a.status?a.reloadCallback=e:\\\"done\\\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,function(t,r){if(this.reloadCallback){var n=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,n)}e(t,r)}.bind(a))}},c.prototype.abortTile=function(t,e){var r=this.loading[t.source],n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},c.prototype.removeTile=function(t,e){var r=this.loaded[t.source],n=t.uid;r&&r[n]&&delete r[n],e()},e.exports=c},{\\\"../util/ajax\\\":251,\\\"../util/performance\\\":268,\\\"../util/util\\\":275,\\\"./worker_tile\\\":119,\\\"@mapbox/vector-tile\\\":8,pbf:30}],117:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"./image_source\\\"),a=t(\\\"../data/raster_bounds_attributes\\\"),o=t(\\\"../render/vertex_array_object\\\"),s=t(\\\"../render/texture\\\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.roundZoom=!0,this.type=\\\"video\\\",this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,n.getVideo(e.urls,function(e,r){e?t.fire(\\\"error\\\",{error:e}):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener(\\\"playing\\\",function(){t.map._rerender()}),t.map&&t.video.play(),t._finishLoading())})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){var t=this;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,a.members)),this.boundsVAO||(this.boundsVAO=new o),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 s(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\\\"loaded\\\"!==i.state&&(i.state=\\\"loaded\\\",i.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\\\"video\\\",urls:this.urls,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this.video&&!this.video.paused},e}(i);e.exports=l},{\\\"../data/raster_bounds_attributes\\\":59,\\\"../render/texture\\\":93,\\\"../render/vertex_array_object\\\":95,\\\"../util/ajax\\\":251,\\\"./image_source\\\":102}],118:[function(t,e,r){var n=t(\\\"../util/actor\\\"),i=t(\\\"../style/style_layer_index\\\"),a=t(\\\"./vector_tile_worker_source\\\"),o=t(\\\"./raster_dem_tile_worker_source\\\"),s=t(\\\"./geojson_worker_source\\\"),l=t(\\\"./rtl_text_plugin\\\"),u=function(t){var e=this;this.self=t,this.actor=new n(t,this),this.layerIndexes={},this.workerSourceTypes={vector:a,geojson:s},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,r){if(e.workerSourceTypes[t])throw new Error('Worker source with name \\\"'+t+'\\\" already registered.');e.workerSourceTypes[t]=r},this.self.registerRTLTextPlugin=function(t){if(l.applyArabicShaping||l.processBidirectionalText)throw new Error(\\\"RTL text plugin already registered.\\\");l.applyArabicShaping=t.applyArabicShaping,l.processBidirectionalText=t.processBidirectionalText}};u.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},u.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},u.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type).loadTile(e,r)},u.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t).loadTile(e,r)},u.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type).reloadTile(e,r)},u.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type).abortTile(e,r)},u.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type).removeTile(e,r)},u.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t).removeTile(e)},u.prototype.removeSource=function(t,e,r){var n=this.getWorkerSource(t,e.type);void 0!==n.removeSource?n.removeSource(e,r):r()},u.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t)}},u.prototype.loadRTLTextPlugin=function(t,e,r){try{l.applyArabicShaping||l.processBidirectionalText||(this.self.importScripts(e),l.applyArabicShaping&&l.processBidirectionalText||r(new Error(\\\"RTL Text Plugin failed to import scripts from \\\"+e)))}catch(t){r(t)}},u.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new i),e},u.prototype.getWorkerSource=function(t,e){var r=this;if(this.workerSources[t]||(this.workerSources[t]={}),!this.workerSources[t][e]){var n={send:function(e,n,i){r.actor.send(e,n,i,t)}};this.workerSources[t][e]=new this.workerSourceTypes[e](n,this.getLayerIndex(t))}return this.workerSources[t][e]},u.prototype.getDEMWorkerSource=function(t){return this.demWorkerSources[t]||(this.demWorkerSources[t]=new o),this.demWorkerSources[t]},e.exports=function(t){return new u(t)}},{\\\"../style/style_layer_index\\\":210,\\\"../util/actor\\\":250,\\\"./geojson_worker_source\\\":100,\\\"./raster_dem_tile_worker_source\\\":107,\\\"./rtl_text_plugin\\\":109,\\\"./vector_tile_worker_source\\\":116}],119:[function(t,e,r){function n(t,e){for(var r=new f(e),n=0,i=t;n<i.length;n+=1)i[n].recalculate(r)}var i=t(\\\"../data/feature_index\\\"),a=t(\\\"../symbol/symbol_layout\\\").performSymbolLayout,o=t(\\\"../data/array_types\\\").CollisionBoxArray,s=t(\\\"../util/dictionary_coder\\\"),l=t(\\\"../data/bucket/symbol_bucket\\\"),u=t(\\\"../util/util\\\"),c=t(\\\"../render/image_atlas\\\").makeImageAtlas,h=t(\\\"../render/glyph_atlas\\\").makeGlyphAtlas,f=t(\\\"../style/evaluation_parameters\\\"),p=t(\\\"./tile_id\\\").OverscaledTileID,d=function(t){this.tileID=new p(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming};d.prototype.parse=function(t,e,r,f){function p(){if(L)return f(L);if(z&&P){var t=h(z),e=c(P);for(var r in m){var i=m[r];i instanceof l&&(n(i.layers,this.zoom),a(i,z,t.positions,P,e.positions,this.showCollisionBoxes))}this.status=\\\"done\\\",f(null,{buckets:u.values(m).filter(function(t){return!t.isEmpty()}),featureIndex:v,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,iconAtlasImage:e.image})}}var d=this;this.status=\\\"parsing\\\",this.data=t,this.collisionBoxArray=new o;var g=new s(Object.keys(t.layers).sort()),v=new i(this.tileID,this.overscaling);v.bucketLayerIDs=[];var m={},y={featureIndex:v,iconDependencies:{},glyphDependencies:{}},x=e.familiesBySource[this.source];for(var b in x){var _=t.layers[b];if(_){1===_.version&&u.warnOnce('Vector tile source \\\"'+d.source+'\\\" layer \\\"'+b+'\\\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=g.encode(b),M=[],A=0;A<_.length;A++){var k=_.feature(A);M.push({feature:k,index:A,sourceLayerIndex:w})}for(var T=0,S=x[b];T<S.length;T+=1){var E=S[T],C=E[0];C.minzoom&&d.zoom<Math.floor(C.minzoom)||C.maxzoom&&d.zoom>=C.maxzoom||\\\"none\\\"===C.visibility||(n(E,d.zoom),(m[C.id]=C.createBucket({index:v.bucketLayerIDs.length,layers:E,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(M,y),v.bucketLayerIDs.push(E.map(function(t){return t.id})))}}}var L,z,P,I=u.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(I).length?r.send(\\\"getGlyphs\\\",{uid:this.uid,stacks:I},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var D=Object.keys(y.iconDependencies);D.length?r.send(\\\"getImages\\\",{icons:D},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{\\\"../data/array_types\\\":39,\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/feature_index\\\":54,\\\"../render/glyph_atlas\\\":85,\\\"../render/image_atlas\\\":87,\\\"../style/evaluation_parameters\\\":182,\\\"../symbol/symbol_layout\\\":227,\\\"../util/dictionary_coder\\\":257,\\\"../util/util\\\":275,\\\"./tile_id\\\":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)\\\"ref\\\"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t(\\\"./util/ref_properties\\\");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var i=0;i<t.length;i++)\\\"ref\\\"in t[i]&&(t[i]=n(t[i],e[t[i].ref]));return t}},{\\\"./util/ref_properties\\\":159}],121:[function(t,e,r){function n(t,e,r){r.push({command:h.addSource,args:[t,e[t]]})}function i(t,e,r){e.push({command:h.removeSource,args:[t]}),r[t]=!0}function a(t,e,r,a){i(t,r,a),n(t,e,r)}function o(t,e,r){var n;for(n in t[r])if(t[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!c(t[r][n],e[r][n]))return!1;for(n in e[r])if(e[r].hasOwnProperty(n)&&\\\"data\\\"!==n&&!c(t[r][n],e[r][n]))return!1;return!0}function s(t,e,r,n,i,a){var o;for(o in t=t||{},e=e||{},t)t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}));for(o in e)e.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}))}function l(t){return t.id}function u(t,e){return t[e.id]=e,t}var c=t(\\\"./util/deep_equal\\\"),h={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\\\"};e.exports=function(t,e){if(!t)return[{command:h.setStyle,args:[e]}];var r=[];try{if(!c(t.version,e.version))return[{command:h.setStyle,args:[e]}];c(t.center,e.center)||r.push({command:h.setCenter,args:[e.center]}),c(t.zoom,e.zoom)||r.push({command:h.setZoom,args:[e.zoom]}),c(t.bearing,e.bearing)||r.push({command:h.setBearing,args:[e.bearing]}),c(t.pitch,e.pitch)||r.push({command:h.setPitch,args:[e.pitch]}),c(t.sprite,e.sprite)||r.push({command:h.setSprite,args:[e.sprite]}),c(t.glyphs,e.glyphs)||r.push({command:h.setGlyphs,args:[e.glyphs]}),c(t.transition,e.transition)||r.push({command:h.setTransition,args:[e.transition]}),c(t.light,e.light)||r.push({command:h.setLight,args:[e.light]});var f={},p=[];!function(t,e,r,s){var l;for(l in t=t||{},e=e||{},t)t.hasOwnProperty(l)&&(e.hasOwnProperty(l)||i(l,r,s));for(l in e)e.hasOwnProperty(l)&&(t.hasOwnProperty(l)?c(t[l],e[l])||(\\\"geojson\\\"===t[l].type&&\\\"geojson\\\"===e[l].type&&o(t,e,l)?r.push({command:h.setGeoJSONSourceData,args:[l,e[l].data]}):a(l,e,r,s)):n(l,e,r))}(t.sources,e.sources,p,f);var d=[];t.layers&&t.layers.forEach(function(t){f[t.source]?r.push({command:h.removeLayer,args:[t.id]}):d.push(t)}),r=r.concat(p),function(t,e,r){t=t||[],e=e||[];var n,i,a,o,f,p,d,g=t.map(l),v=e.map(l),m=t.reduce(u,{}),y=e.reduce(u,{}),x=g.slice(),b=Object.create(null);for(n=0,i=0;n<g.length;n++)a=g[n],y.hasOwnProperty(a)?i++:(r.push({command:h.removeLayer,args:[a]}),x.splice(x.indexOf(a,i),1));for(n=0,i=0;n<v.length;n++)a=v[v.length-1-n],x[x.length-1-n]!==a&&(m.hasOwnProperty(a)?(r.push({command:h.removeLayer,args:[a]}),x.splice(x.lastIndexOf(a,x.length-i),1)):i++,p=x[x.length-n],r.push({command:h.addLayer,args:[y[a],p]}),x.splice(x.length-n,0,a),b[a]=!0);for(n=0;n<v.length;n++)if(o=m[a=v[n]],f=y[a],!b[a]&&!c(o,f))if(c(o.source,f.source)&&c(o[\\\"source-layer\\\"],f[\\\"source-layer\\\"])&&c(o.type,f.type)){for(d in s(o.layout,f.layout,r,a,null,h.setLayoutProperty),s(o.paint,f.paint,r,a,null,h.setPaintProperty),c(o.filter,f.filter)||r.push({command:h.setFilter,args:[a,f.filter]}),c(o.minzoom,f.minzoom)&&c(o.maxzoom,f.maxzoom)||r.push({command:h.setLayerZoomRange,args:[a,f.minzoom,f.maxzoom]}),o)o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}));for(d in f)f.hasOwnProperty(d)&&!o.hasOwnProperty(d)&&\\\"layout\\\"!==d&&\\\"paint\\\"!==d&&\\\"filter\\\"!==d&&\\\"metadata\\\"!==d&&\\\"minzoom\\\"!==d&&\\\"maxzoom\\\"!==d&&(0===d.indexOf(\\\"paint.\\\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}))}else r.push({command:h.removeLayer,args:[a]}),p=x[x.lastIndexOf(a)+1],r.push({command:h.addLayer,args:[f,p]})}(d,e.layers,r)}catch(t){console.warn(\\\"Unable to compute style diff:\\\",t),r=[{command:h.setStyle,args:[e]}]}return r},e.exports.operations=h},{\\\"./util/deep_equal\\\":155}],122:[function(t,e,r){e.exports=function(t,e,r){this.message=(t?t+\\\": \\\":\\\"\\\")+r,null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}},{}],123:[function(t,e,r){var n=t(\\\"./types\\\").toString,i=t(\\\"./parsing_context\\\"),a=(t(\\\"./evaluation_context\\\"),function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n});a.prototype.evaluate=function(t){return this._evaluate(t,this.args)},a.prototype.eachChild=function(t){this.args.forEach(t)},a.prototype.possibleOutputs=function(){return[void 0]},a.parse=function(t,e){var r=t[0],o=a.definitions[r];if(!o)return e.error('Unknown expression \\\"'+r+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0);for(var s=Array.isArray(o)?o[0]:o.type,l=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,u=l.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),c=[],h=1;h<t.length;h++){var f=t[h],p=void 0;if(1===u.length){var d=u[0][0];p=Array.isArray(d)?d[h-1]:d.type}var g=e.parse(f,1+c.length,p);if(!g)return null;c.push(g)}for(var v=null,m=0,y=u;m<y.length;m+=1){var x=y[m],b=x[0],_=x[1];if(v=new i(e.registry,e.path,null,e.scope),Array.isArray(b)&&b.length!==c.length)v.error(\\\"Expected \\\"+b.length+\\\" arguments, but found \\\"+c.length+\\\" instead.\\\");else{for(var w=0;w<c.length;w++){var M=Array.isArray(b)?b[w]:b.type,A=c[w];v.concat(w+1).checkSubtype(M,A.type)}if(0===v.errors.length)return new a(r,s,_,c)}}if(1===u.length)e.errors.push.apply(e.errors,v.errors);else{var k=(u.length?u:l).map(function(t){return function(t){return Array.isArray(t)?\\\"(\\\"+t.map(n).join(\\\", \\\")+\\\")\\\":\\\"(\\\"+n(t.type)+\\\"...)\\\"}(t[0])}).join(\\\" | \\\"),T=c.map(function(t){return n(t.type)}).join(\\\", \\\");e.error(\\\"Expected arguments of type \\\"+k+\\\", but found (\\\"+T+\\\") instead.\\\")}return null},a.register=function(t,e){for(var r in a.definitions=e,e)t[r]=a},e.exports={CompoundExpression:a,varargs:function(t){return{type:t}}}},{\\\"./evaluation_context\\\":138,\\\"./parsing_context\\\":141,\\\"./types\\\":146}],124:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.toString,a=n.array,o=n.ValueType,s=n.StringType,l=n.NumberType,u=n.BooleanType,c=n.checkSubtype,h=t(\\\"../values\\\").typeOf,f=t(\\\"../runtime_error\\\"),p={string:s,number:l,boolean:u},d=function(t,e){this.type=t,this.input=e};d.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\\\"Expected 1, 2, or 3 arguments, but found \\\"+(t.length-1)+\\\" instead.\\\");var r,n;if(t.length>2){var i=t[1];if(\\\"string\\\"!=typeof i||!(i in p))return e.error('The item type argument of \\\"array\\\" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if(\\\"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);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(c(this.type,h(e)))throw new f(\\\"Expected value to be of type \\\"+i(this.type)+\\\", but found \\\"+i(h(e))+\\\" instead.\\\");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],125:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,u=t(\\\"../runtime_error\\\"),c=t(\\\"../types\\\"),h=c.checkSubtype,f=c.toString,p=t(\\\"../values\\\").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=d[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new g(n,i)},g.prototype.evaluate=function(t){for(var e=this,r=0;r<this.args.length;r++){var n=e.args[r].evaluate(t);if(!h(e.type,p(n)))return n;if(r===e.args.length-1)throw new u(\\\"Expected value to be of type \\\"+f(e.type)+\\\", but found \\\"+f(p(n))+\\\" instead.\\\")}return null},g.prototype.eachChild=function(t){this.args.forEach(t)},g.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=g},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],126:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.array,a=n.ValueType,o=n.NumberType,s=t(\\\"../runtime_error\\\"),l=function(t,e,r){this.type=t,this.index=e,this.input=r};l.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,o),n=e.parse(t[2],2,i(e.expectedType||a));if(!r||!n)return null;var s=n.type;return new l(s.itemType,r,n)},l.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0||e>=r.length)throw new s(\\\"Array index out of bounds: \\\"+e+\\\" > \\\"+r.length+\\\".\\\");if(e!==Math.floor(e))throw new s(\\\"Array index must be an integer, but found \\\"+e+\\\" instead.\\\");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{\\\"../runtime_error\\\":143,\\\"../types\\\":146}],127:[function(t,e,r){var n=t(\\\"../types\\\").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.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 a=[],o=1;o<t.length-1;o+=2){var s=e.parse(t[o],o,n);if(!s)return null;var l=e.parse(t[o+1],o+1,r);if(!l)return null;a.push([s,l]),r=r||l.type}var u=e.parse(t[t.length-1],t.length-1,r);return u?new i(r,a,u):null},i.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},i.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../types\\\":146}],128:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.checkSubtype,a=n.ValueType,o=function(t,e){this.type=t,this.args=e};o.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 s=[],l=0,u=t.slice(1);l<u.length;l+=1){var c=u[l],h=e.parse(c,1+s.length,r,void 0,{omitTypeAnnotations:!0});if(!h)return null;r=r||h.type,s.push(h)}return n&&s.some(function(t){return i(n,t.type)})?new o(a,s):new o(r,s)},o.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},o.prototype.eachChild=function(t){this.args.forEach(t)},o.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=o},{\\\"../types\\\":146}],129:[function(t,e,r){var n=t(\\\"../types\\\"),i=n.ColorType,a=n.ValueType,o=n.NumberType,s=t(\\\"../values\\\"),l=s.Color,u=s.validateRGBA,c=t(\\\"../runtime_error\\\"),h={\\\"to-number\\\":o,\\\"to-color\\\":i},f=function(t,e){this.type=t,this.args=e};f.parse=function(t,e){if(t.length<2)return e.error(\\\"Expected at least one argument.\\\");for(var r=t[0],n=h[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new f(n,i)},f.prototype.evaluate=function(t){if(\\\"color\\\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\\\"string\\\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}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.\\\":u(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new c(r||\\\"Could not parse color from value '\\\"+(\\\"string\\\"==typeof e?e:JSON.stringify(e))+\\\"'\\\")}for(var o=null,s=0,h=this.args;s<h.length;s+=1)if(null!==(o=h[s].evaluate(t))){var f=Number(o);if(!isNaN(f))return f}throw new c(\\\"Could not convert \\\"+JSON.stringify(o)+\\\" to number.\\\")},f.prototype.eachChild=function(t){this.args.forEach(t)},f.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=f},{\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147}],130:[function(t,e,r){function n(t){return\\\"string\\\"===t.kind||\\\"number\\\"===t.kind||\\\"boolean\\\"===t.kind||\\\"null\\\"===t.kind}function i(t){return function(){function e(t,e){this.type=s,this.lhs=t,this.rhs=e}return e.parse=function(t,r){if(3!==t.length)return r.error(\\\"Expected two arguments.\\\");var i=r.parse(t[1],1,o);if(!i)return null;var a=r.parse(t[2],2,o);return a?n(i.type)||n(a.type)?i.type.kind!==a.type.kind&&\\\"value\\\"!==i.type.kind&&\\\"value\\\"!==a.type.kind?r.error(\\\"Cannot compare \\\"+l(i.type)+\\\" and \\\"+l(a.type)+\\\".\\\"):new e(i,a):r.error(\\\"Expected at least one argument to be a string, number, boolean, or null, but found (\\\"+l(i.type)+\\\", \\\"+l(a.type)+\\\") instead.\\\"):null},e.prototype.evaluate=function(e){return t(this.lhs.evaluate(e),this.rhs.evaluate(e))},e.prototype.eachChild=function(t){t(this.lhs),t(this.rhs)},e.prototype.possibleOutputs=function(){return[!0,!1]},e}()}var a=t(\\\"../types\\\"),o=a.ValueType,s=a.BooleanType,l=t(\\\"../types\\\").toString;e.exports={Equals:i(function(t,e){return t===e}),NotEquals:i(function(t,e){return t!==e})}},{\\\"../types\\\":146}],131:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=A(r,n,i,o);if(s)throw new E(s);return new M(r/255*o,n/255*o,i/255*o,o)}function i(t,e){return t in e}function a(t,e){var r=e[t];return void 0===r?null:r}function o(t,e){return e[0].evaluate(t).length}function s(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function l(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var h=t(\\\"../types\\\"),f=h.NumberType,p=h.StringType,d=h.BooleanType,g=h.ColorType,v=h.ObjectType,m=h.ValueType,y=h.ErrorType,x=h.array,b=h.toString,_=t(\\\"../values\\\"),w=_.typeOf,M=_.Color,A=_.validateRGBA,k=t(\\\"../compound_expression\\\"),T=k.CompoundExpression,S=k.varargs,E=t(\\\"../runtime_error\\\"),C=t(\\\"./let\\\"),L=t(\\\"./var\\\"),z=t(\\\"./literal\\\"),P=t(\\\"./assertion\\\"),I=t(\\\"./array\\\"),D=t(\\\"./coercion\\\"),O=t(\\\"./at\\\"),R=t(\\\"./match\\\"),F=t(\\\"./case\\\"),B=t(\\\"./step\\\"),N=t(\\\"./interpolate\\\"),j=t(\\\"./coalesce\\\"),V=t(\\\"./equals\\\"),U={\\\"==\\\":V.Equals,\\\"!=\\\":V.NotEquals,array:I,at:O,boolean:P,case:F,coalesce:j,interpolate:N,let:C,literal:z,match:R,number:P,object:P,step:B,string:P,\\\"to-color\\\":D,\\\"to-number\\\":D,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new E(r.evaluate(t))}],typeof:[p,[m],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],\\\"to-string\\\":[p,[m],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||\\\"string\\\"===n||\\\"number\\\"===n||\\\"boolean\\\"===n?String(r):r instanceof M?r.toString():JSON.stringify(r)}],\\\"to-boolean\\\":[d,[m],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\\\"to-rgba\\\":[x(f,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[f,f,f],n],rgba:[g,[f,f,f,f],n],length:{type:f,overloads:[[[p],o],[[x(m)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:m,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[v,[],function(t){return t.properties()}],\\\"geometry-type\\\":[p,[],function(t){return t.geometryType()}],id:[m,[],function(t){return t.id()}],zoom:[f,[],function(t){return t.globals.zoom}],\\\"heatmap-density\\\":[f,[],function(t){return t.globals.heatmapDensity||0}],\\\"+\\\":[f,S(f),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\\\"*\\\":[f,S(f),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\\\"-\\\":{type:f,overloads:[[[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[f],function(t,e){return-e[0].evaluate(t)}]]},\\\"/\\\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\\\"%\\\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[f,[],function(){return Math.LN2}],pi:[f,[],function(){return Math.PI}],e:[f,[],function(){return Math.E}],\\\"^\\\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[f,[f],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[f,[f],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[f,[f],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[f,[f],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[f,[f],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[f,[f],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[f,[f],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[f,[f],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[f,[f],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[f,[f],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[f,S(f),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[f,S(f),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],\\\"filter-==\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\\\"filter-id-==\\\":[d,[m],function(t,e){var r=e[0];return t.id()===r.value}],\\\"filter-type-==\\\":[d,[p],function(t,e){var r=e[0];return t.geometryType()===r.value}],\\\"filter-<\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\\\"filter-id-<\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\\\"filter->\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\\\"filter-id->\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\\\"filter-<=\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\\\"filter-id-<=\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\\\"filter->=\\\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\\\"filter-id->=\\\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\\\"filter-has\\\":[d,[m],function(t,e){return e[0].value in t.properties()}],\\\"filter-has-id\\\":[d,[],function(t){return null!==t.id()}],\\\"filter-type-in\\\":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\\\"filter-id-in\\\":[d,[x(m)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\\\"filter-in-small\\\":[d,[p,x(m)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\\\"filter-in-large\\\":[d,[p,x(m)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\\\">\\\":{type:d,overloads:[[[f,f],l],[[p,p],l]]},\\\"<\\\":{type:d,overloads:[[[f,f],s],[[p,p],s]]},\\\">=\\\":{type:d,overloads:[[[f,f],c],[[p,p],c]]},\\\"<=\\\":{type:d,overloads:[[[f,f],u],[[p,p],u]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),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:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\\\"!\\\":[d,[d],function(t,e){return!e[0].evaluate(t)}],upcase:[p,[p],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[p,[p],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[p,S(p),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\\\"\\\")}]}),e.exports=U},{\\\"../compound_expression\\\":123,\\\"../runtime_error\\\":143,\\\"../types\\\":146,\\\"../values\\\":147,\\\"./array\\\":124,\\\"./assertion\\\":125,\\\"./at\\\":126,\\\"./case\\\":127,\\\"./coalesce\\\":128,\\\"./coercion\\\":129,\\\"./equals\\\":130,\\\"./interpolate\\\":132,\\\"./let\\\":133,\\\"./literal\\\":134,\\\"./match\\\":135,\\\"./step\\\":136,\\\"./var\\\":137}],132:[function(t,e,r){function n(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}var i=t(\\\"@mapbox/unitbezier\\\"),a=t(\\\"../../util/interpolate\\\"),o=t(\\\"../types\\\"),s=o.toString,l=o.NumberType,u=t(\\\"../stops\\\").findStopLessThanOrEqualTo,c=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};c.interpolationFactor=function(t,e,r,a){var o=0;if(\\\"exponential\\\"===t.name)o=n(e,t.base,r,a);else if(\\\"linear\\\"===t.name)o=n(e,1,r,a);else if(\\\"cubic-bezier\\\"===t.name){var s=t.controlPoints;o=new i(s[0],s[1],s[2],s[3]).solve(n(e,1,r,a))}return o},c.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\\\"Expected an interpolation type expression.\\\",1);if(\\\"linear\\\"===r[0])r={name:\\\"linear\\\"};else if(\\\"exponential\\\"===r[0]){var a=r[1];if(\\\"number\\\"!=typeof a)return e.error(\\\"Exponential interpolation requires a numeric base.\\\",1,1);r={name:\\\"exponential\\\",base:a}}else{if(\\\"cubic-bezier\\\"!==r[0])return e.error(\\\"Unknown interpolation type \\\"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.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);r={name:\\\"cubic-bezier\\\",controlPoints:o}}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(!(n=e.parse(n,2,l)))return null;var u=[],h=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(h=e.expectedType);for(var f=0;f<i.length;f+=2){var p=i[f],d=i[f+1],g=f+3,v=f+4;if(\\\"number\\\"!=typeof p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(u.length&&u[u.length-1][0]>=p)return e.error('Input/output pairs for \\\"interpolate\\\" expressions must be arranged with input values in strictly ascending order.',g);var m=e.parse(d,v,h);if(!m)return null;h=h||m.type,u.push([p,m])}return\\\"number\\\"===h.kind||\\\"color\\\"===h.kind||\\\"array\\\"===h.kind&&\\\"number\\\"===h.itemType.kind&&\\\"number\\\"==typeof h.N?new c(h,r,n,u):e.error(\\\"Type \\\"+s(h)+\\\" is not interpolatable.\\\")},c.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 i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=u(e,n),s=e[o],l=e[o+1],h=c.interpolationFactor(this.interpolation,n,s,l),f=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](f,p,h)},c.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},c.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=c},{\\\"../../util/interpolate\\\":158,\\\"../stops\\\":145,\\\"../types\\\":146,\\\"@mapbox/unitbezier\\\":7}],133:[function(t,e,r){var n=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};n.prototype.evaluate=function(t){t.pushScope(this.bindings);var e=this.result.evaluate(t);return t.popScope(),e},n.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},n.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=[],i=1;i<t.length-1;i+=2){var a=t[i];if(\\\"string\\\"!=typeof a)return e.error(\\\"Expected string, but found \\\"+typeof a+\\\" instead.\\\",i);if(/[^a-zA-Z0-9_]/.test(a))return e.error(\\\"Variable names must contain only alphanumeric characters or '_'.\\\",i);var o=e.parse(t[i+1],i+1);if(!o)return null;r.push([a,o])}var s=e.parse(t[t.length-1],t.length-1,void 0,r);return s?new n(r,s):null},n.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},e.exports=n},{}],134:[function(t,e,r){var n=t(\\\"../values\\\"),i=n.isValue,a=n.typeOf,o=function(t,e){this.type=t,this.value=e};o.parse=function(t,e){if(2!==t.length)return e.error(\\\"'literal' expression requires exactly one argument, but found \\\"+(t.length-1)+\\\" instead.\\\");if(!i(t[1]))return e.error(\\\"invalid value\\\");var r=t[1],n=a(r),s=e.expectedType;return\\\"array\\\"!==n.kind||0!==n.N||!s||\\\"array\\\"!==s.kind||\\\"number\\\"==typeof s.N&&0!==s.N||(n=s),new o(n,r)},o.prototype.evaluate=function(){return this.value},o.prototype.eachChild=function(){},o.prototype.possibleOutputs=function(){return[this.value]},e.exports=o},{\\\"../values\\\":147}],135:[function(t,e,r){var n=t(\\\"../values\\\").typeOf,i=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};i.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,a;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(a=e.expectedType);for(var o={},s=[],l=2;l<t.length-1;l+=2){var u=t[l],c=t[l+1];Array.isArray(u)||(u=[u]);var h=e.concat(l);if(0===u.length)return h.error(\\\"Expected at least one branch label.\\\");for(var f=0,p=u;f<p.length;f+=1){var d=p[f];if(\\\"number\\\"!=typeof d&&\\\"string\\\"!=typeof d)return h.error(\\\"Branch labels must be numbers or strings.\\\");if(\\\"number\\\"==typeof d&&Math.abs(d)>Number.MAX_SAFE_INTEGER)return h.error(\\\"Branch labels must be integers no larger than \\\"+Number.MAX_SAFE_INTEGER+\\\".\\\");if(\\\"number\\\"==typeof d&&Math.floor(d)!==d)return h.error(\\\"Numeric branch labels must be integer values.\\\");if(r){if(h.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return h.error(\\\"Branch labels must be unique.\\\");o[String(d)]=s.length}var g=e.parse(c,l,a);if(!g)return null;a=a||g.type,s.push(g)}var v=e.parse(t[1],1,r);if(!v)return null;var m=e.parse(t[t.length-1],t.length-1,a);return m?new i(r,a,v,o,s,m):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\\\"../values\\\":147}],136:[function(t,e,r){var n=t(\\\"../types\\\").NumberType,i=t(\\\"../stops\\\").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};a.parse=function(t,e){var r=t[1],i=t.slice(2);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(!(r=e.parse(r,1,n)))return null;var o=[],s=null;e.expectedType&&\\\"value\\\"!==e.expectedType.kind&&(s=e.expectedType),i.unshift(-1/0);for(var l=0;l<i.length;l+=2){var u=i[l],c=i[l+1],h=l+1,f=l+2;if(\\\"number\\\"!=typeof u)return e.error('Input/output pairs for \\\"step\\\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(o.length&&o[o.length-1][0]>=u)return e.error('Input/output pairs for \\\"step\\\" expressions must be arranged with input values in strictly ascending order.',h);var p=e.parse(c,f,s);if(!p)return null;s=s||p.type,o.push([u,p])}return new a(s,r,o)},a.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[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},a.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=a},{\\\"../stops\\\":145,\\\"../types\\\":146}],137:[function(t,e,r){var n=function(t,e){this.type=e,this.name=t};n.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 n(r,e.scope.get(r).type):e.error('Unknown variable \\\"'+r+'\\\". Make sure \\\"'+r+'\\\" has been bound in an enclosing \\\"let\\\" expression before using it.',1)},n.prototype.evaluate=function(t){return t.scope.get(this.name).evaluate(t)},n.prototype.eachChild=function(){},n.prototype.possibleOutputs=function(){return[void 0]},e.exports=n},{}],138:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./values\\\").Color,a=[\\\"Unknown\\\",\\\"Point\\\",\\\"LineString\\\",\\\"Polygon\\\"],o=function(){this.scope=new n,this._parseColorCache={}};o.prototype.id=function(){return this.feature&&\\\"id\\\"in this.feature?this.feature.id:null},o.prototype.geometryType=function(){return this.feature?\\\"number\\\"==typeof this.feature.type?a[this.feature.type]:this.feature.type:null},o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},o.prototype.pushScope=function(t){this.scope=this.scope.concat(t)},o.prototype.popScope=function(){this.scope=this.scope.parent},o.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=i.parse(t)),e},e.exports=o},{\\\"./scope\\\":144,\\\"./values\\\":147}],139:[function(t,e,r){function n(t){return Array.isArray(t)&&t.length>0&&\\\"string\\\"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:I,enum:P,boolean:D};return\\\"array\\\"===t.type?R(e[t.value]||O,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),\\\"error\\\"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=v.isFeatureConstant(n);if(!a&&!e[\\\"property-function\\\"])return b([new s(\\\"\\\",\\\"property expressions not supported\\\")]);var o=v.isGlobalPropertyConstant(n,[\\\"zoom\\\"]);if(!o&&!1===e[\\\"zoom-function\\\"])return b([new s(\\\"\\\",\\\"zoom expressions not supported\\\")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof h||e instanceof f)&&e.input instanceof c&&\\\"zoom\\\"===e.input.name&&(r=e);return r instanceof s?r:(e.eachChild(function(e){var n=t(e);n instanceof s?r=n:!r&&n?r=new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.'):r&&n&&r!==n&&(r=new s(\\\"\\\",'Only one zoom-based \\\"step\\\" or \\\"interpolate\\\" subexpression may be used in an expression.'))}),r)}(n);return l||o?l instanceof s?b([l]):l instanceof f&&\\\"piecewise-constant\\\"===e.function?b([new s(\\\"\\\",'\\\"interpolate\\\" expressions cannot be used with this property')]):x(l?new A(a?\\\"camera\\\":\\\"composite\\\",t.value,l):new M(a?\\\"constant\\\":\\\"source\\\",t.value)):b([new s(\\\"\\\",'\\\"zoom\\\" expression may only be used as input to a top-level \\\"step\\\" or \\\"interpolate\\\" expression.')])}var o=t(\\\"../util/extend\\\"),s=t(\\\"./parsing_error\\\"),l=t(\\\"./parsing_context\\\"),u=t(\\\"./evaluation_context\\\"),c=t(\\\"./compound_expression\\\").CompoundExpression,h=t(\\\"./definitions/step\\\"),f=t(\\\"./definitions/interpolate\\\"),p=t(\\\"./definitions/coalesce\\\"),d=t(\\\"./definitions/let\\\"),g=t(\\\"./definitions\\\"),v=t(\\\"./is_constant\\\"),m=t(\\\"./runtime_error\\\"),y=t(\\\"../util/result\\\"),x=y.success,b=y.error,_=function(t){this.expression=t};_.prototype.evaluate=function(t,e){return this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)};var w=function(t){function e(e,r){t.call(this,e),this._warningHistory={},this._defaultValue=function(t){return\\\"color\\\"===t.type&&T(t.default)?new E(0,0,0,0):\\\"color\\\"===t.type?E.parse(t.default)||null:void 0===t.default?null:t.default}(r),\\\"enum\\\"===r.type&&(this._enumValues=r.values)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null===r||void 0===r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new m(\\\"Expected value to be one of \\\"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\\\", \\\")+\\\", but found \\\"+JSON.stringify(r)+\\\" instead.\\\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\\\"undefined\\\"!=typeof console&&console.warn(t.message)),this._defaultValue}},e}(_),M=function(t,e){this.kind=t,this._styleExpression=e};M.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var A=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof f&&(this._interpolationType=r.interpolation)};A.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},A.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?f.interpolationFactor(this._interpolationType,t,e,r):0};var k=t(\\\"../function\\\"),T=k.isFunction,S=k.createFunction,E=t(\\\"./values\\\").Color,C=function(t,e){this._parameters=t,this._specification=e,o(this,S(this._parameters,this._specification))};C.deserialize=function(t){return new C(t._parameters,t._specification)},C.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}},e.exports={StyleExpression:_,StyleExpressionWithErrorHandling:w,isExpression:n,createExpression:i,createPropertyExpression:a,normalizePropertyExpression:function(t,e){if(T(t))return new C(t,e);if(n(t)){var r=a(t,e);if(\\\"error\\\"===r.result)throw new Error(r.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return r.value}var i=t;return\\\"string\\\"==typeof t&&\\\"color\\\"===e.type&&(i=E.parse(t)),{kind:\\\"constant\\\",evaluate:function(){return i}}},ZoomConstantExpression:M,ZoomDependentExpression:A,StylePropertyFunction:C};var L=t(\\\"./types\\\"),z=L.ColorType,P=L.StringType,I=L.NumberType,D=L.BooleanType,O=L.ValueType,R=L.array},{\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/result\\\":160,\\\"./compound_expression\\\":123,\\\"./definitions\\\":131,\\\"./definitions/coalesce\\\":128,\\\"./definitions/interpolate\\\":132,\\\"./definitions/let\\\":133,\\\"./definitions/step\\\":136,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_context\\\":141,\\\"./parsing_error\\\":142,\\\"./runtime_error\\\":143,\\\"./types\\\":146,\\\"./values\\\":147}],140:[function(t,e,r){var n=t(\\\"./compound_expression\\\").CompoundExpression;e.exports={isFeatureConstant:function t(e){if(e instanceof n){if(\\\"get\\\"===e.name&&1===e.args.length)return!1;if(\\\"has\\\"===e.name&&1===e.args.length)return!1;if(\\\"properties\\\"===e.name||\\\"geometry-type\\\"===e.name||\\\"id\\\"===e.name)return!1;if(/^filter-/.test(e.name))return!1}var r=!0;return e.eachChild(function(e){r&&!t(e)&&(r=!1)}),r},isGlobalPropertyConstant:function t(e,r){if(e instanceof n&&r.indexOf(e.name)>=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{\\\"./compound_expression\\\":123}],141:[function(t,e,r){var n=t(\\\"./scope\\\"),i=t(\\\"./types\\\").checkSubtype,a=t(\\\"./parsing_error\\\"),o=t(\\\"./definitions/literal\\\"),s=t(\\\"./definitions/assertion\\\"),l=t(\\\"./definitions/array\\\"),u=t(\\\"./definitions/coercion\\\"),c=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\"),this.scope=i,this.errors=a,this.expectedType=r};c.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var c=this;if(r&&(c=c.concat(r,n,i)),null!==e&&\\\"string\\\"!=typeof e&&\\\"boolean\\\"!=typeof e&&\\\"number\\\"!=typeof e||(e=[\\\"literal\\\",e]),Array.isArray(e)){if(0===e.length)return c.error('Expected an array with at least one element. If you wanted a literal array, use [\\\"literal\\\", []].');var h=e[0];if(\\\"string\\\"!=typeof h)return c.error(\\\"Expression name must be a string, but found \\\"+typeof h+' instead. If you wanted a literal array, use [\\\"literal\\\", [...]].',0),null;var f=c.registry[h];if(f){var p=f.parse(e,c);if(!p)return null;if(c.expectedType){var d=c.expectedType,g=p.type;if(\\\"string\\\"!==d.kind&&\\\"number\\\"!==d.kind&&\\\"boolean\\\"!==d.kind||\\\"value\\\"!==g.kind)if(\\\"array\\\"===d.kind&&\\\"value\\\"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if(\\\"color\\\"!==d.kind||\\\"value\\\"!==g.kind&&\\\"string\\\"!==g.kind){if(c.checkSubtype(c.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new u(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t(\\\"./compound_expression\\\").CompoundExpression,n=t(\\\"./is_constant\\\"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t(\\\"./definitions/var\\\"))return!1;if(e instanceof r&&\\\"error\\\"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,[\\\"zoom\\\",\\\"heatmap-density\\\"])}(p)){var v=new(t(\\\"./evaluation_context\\\"));try{p=new o(p.type,p.evaluate(v))}catch(e){return c.error(e.message),null}}return p}return c.error('Unknown expression \\\"'+h+'\\\". If you wanted a literal array, use [\\\"literal\\\", [...]].',0)}return void 0===e?c.error(\\\"'undefined' value invalid. Use null instead.\\\"):\\\"object\\\"==typeof e?c.error('Bare objects invalid. Use [\\\"literal\\\", {...}] instead.'):c.error(\\\"Expected an array, but found \\\"+typeof e+\\\" instead.\\\")},c.prototype.concat=function(t,e,r){var n=\\\"number\\\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new c(this.registry,n,e||null,i,this.errors)},c.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=\\\"\\\"+this.key+r.map(function(t){return\\\"[\\\"+t+\\\"]\\\"}).join(\\\"\\\");this.errors.push(new a(i,t))},c.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=c},{\\\"./compound_expression\\\":123,\\\"./definitions/array\\\":124,\\\"./definitions/assertion\\\":125,\\\"./definitions/coercion\\\":129,\\\"./definitions/literal\\\":134,\\\"./definitions/var\\\":137,\\\"./evaluation_context\\\":138,\\\"./is_constant\\\":140,\\\"./parsing_error\\\":142,\\\"./scope\\\":144,\\\"./types\\\":146}],142:[function(t,e,r){var n=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),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name=\\\"ExpressionEvaluationError\\\",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};n.prototype.concat=function(t){return new n(this,t)},n.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.\\\")},n.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)},e.exports=n},{}],145:[function(t,e,r){var n=t(\\\"./runtime_error\\\");e.exports={findStopLessThanOrEqualTo:function(t,e){for(var r,i,a=0,o=t.length-1,s=0;a<=o;){if(r=t[s=Math.floor((a+o)/2)],i=t[s+1],e===r||e>r&&e<i)return s;if(r<e)a=s+1;else{if(!(r>e))throw new n(\\\"Input is not a number.\\\");o=s-1}}return Math.max(s-1,0)}}},{\\\"./runtime_error\\\":143}],146:[function(t,e,r){function n(t,e){return{kind:\\\"array\\\",itemType:t,N:e}}function i(t){if(\\\"array\\\"===t.kind){var e=i(t.itemType);return\\\"number\\\"==typeof t.N?\\\"array<\\\"+e+\\\", \\\"+t.N+\\\">\\\":\\\"value\\\"===t.itemType.kind?\\\"array\\\":\\\"array<\\\"+e+\\\">\\\"}return t.kind}var a={kind:\\\"null\\\"},o={kind:\\\"number\\\"},s={kind:\\\"string\\\"},l={kind:\\\"boolean\\\"},u={kind:\\\"color\\\"},c={kind:\\\"object\\\"},h={kind:\\\"value\\\"},f=[a,o,s,l,u,c,n(h)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:u,ObjectType:c,ValueType:h,array:n,ErrorType:{kind:\\\"error\\\"},toString:i,checkSubtype:function t(e,r){if(\\\"error\\\"===r.kind)return null;if(\\\"array\\\"===e.kind){if(\\\"array\\\"===r.kind&&!t(e.itemType,r.itemType)&&(\\\"number\\\"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if(\\\"value\\\"===e.kind)for(var n=0,a=f;n<a.length;n+=1)if(!t(a[n],r))return null}return\\\"Expected \\\"+i(e)+\\\" but found \\\"+i(r)+\\\" instead.\\\"}}},{}],147:[function(t,e,r){var n=t(\\\"../util/color\\\"),i=t(\\\"./types\\\"),a=i.NullType,o=i.NumberType,s=i.StringType,l=i.BooleanType,u=i.ColorType,c=i.ObjectType,h=i.ValueType,f=i.array;e.exports={Color:n,validateRGBA:function(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.\\\"},isValue:function t(e){if(null===e)return!0;if(\\\"string\\\"==typeof e)return!0;if(\\\"boolean\\\"==typeof e)return!0;if(\\\"number\\\"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r<i.length;r+=1)if(!t(i[r]))return!1;return!0}if(\\\"object\\\"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1},typeOf:function t(e){if(null===e)return a;if(\\\"string\\\"==typeof e)return s;if(\\\"boolean\\\"==typeof e)return l;if(\\\"number\\\"==typeof e)return o;if(e instanceof n)return u;if(Array.isArray(e)){for(var r,i=e.length,p=0,d=e;p<d.length;p+=1){var g=t(d[p]);if(r){if(r===g)continue;r=h;break}r=g}return f(r||h,i)}return c}}},{\\\"../util/color\\\":153,\\\"./types\\\":146}],148:[function(t,e,r){function n(t){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\\\":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 i=r[e];if(!n(i)&&\\\"boolean\\\"!=typeof i)return!1}return!0;default:return!0}}function i(t,e){return t<e?-1:t>e?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?\\\"any\\\"!==e:\\\"==\\\"===e?o(t[1],t[2],\\\"==\\\"):\\\"!=\\\"===e?u(o(t[1],t[2],\\\"==\\\")):\\\"<\\\"===e||\\\">\\\"===e||\\\"<=\\\"===e||\\\">=\\\"===e?o(t[1],t[2],e):\\\"any\\\"===e?function(t){return[\\\"any\\\"].concat(t.map(a))}(t.slice(1)):\\\"all\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a)):\\\"none\\\"===e?[\\\"all\\\"].concat(t.slice(1).map(a).map(u)):\\\"in\\\"===e?s(t[1],t.slice(2)):\\\"!in\\\"===e?u(s(t[1],t.slice(2))):\\\"has\\\"===e?l(t[1]):\\\"!has\\\"!==e||u(l(t[1]))}function o(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 s(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(i)]]:[\\\"filter-in-small\\\",t,[\\\"literal\\\",e]]}}function l(t){switch(t){case\\\"$type\\\":return!0;case\\\"$id\\\":return[\\\"filter-has-id\\\"];default:return[\\\"filter-has\\\",t]}}function u(t){return[\\\"!\\\",t]}var c=t(\\\"../expression\\\").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=c(t,h);if(\\\"error\\\"===e.result)throw new Error(e.value.map(function(t){return t.key+\\\": \\\"+t.message}).join(\\\", \\\"));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var h={type:\\\"boolean\\\",default:!1,function:!0,\\\"property-function\\\":!0,\\\"zoom-function\\\":!0}},{\\\"../expression\\\":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if(\\\"number\\\"!==p(r))return i(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=u(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if(\\\"number\\\"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=u(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),h=t.stops[s][1],f=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&\\\"rgb\\\"!==t.colorSpace){var v=c[t.colorSpace];g=function(t,e){return v.reverse(v.interpolate(v.forward(t),v.forward(e),l))}}return\\\"function\\\"==typeof h.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=h.evaluate.apply(void 0,e),i=f.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(h,f,l)}function l(t,e,r){return\\\"color\\\"===e.type?r=h.parse(r):p(r)===e.type||\\\"enum\\\"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function u(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var c=t(\\\"../util/color_spaces\\\"),h=t(\\\"../util/color\\\"),f=t(\\\"../util/extend\\\"),p=t(\\\"../util/get_type\\\"),d=t(\\\"../util/interpolate\\\"),g=t(\\\"../expression/definitions/interpolate\\\");e.exports={createFunction:function t(e,r){var n,u,p,d=\\\"color\\\"===r.type,v=e.stops&&\\\"object\\\"==typeof e.stops[0][0],m=v||void 0!==e.property,y=v||!m,x=e.type||(\\\"interpolated\\\"===r.function?\\\"exponential\\\":\\\"interval\\\");if(d&&((e=f({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],h.parse(t[1])]})),e.default?e.default=h.parse(e.default):e.default=h.parse(r.default)),e.colorSpace&&\\\"rgb\\\"!==e.colorSpace&&!c[e.colorSpace])throw new Error(\\\"Unknown color space: \\\"+e.colorSpace);if(\\\"exponential\\\"===x)n=s;else if(\\\"interval\\\"===x)n=o;else if(\\\"categorical\\\"===x){n=a,u=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];u[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if(\\\"identity\\\"!==x)throw new Error('Unknown function type \\\"'+x+'\\\"');n=l}if(v){for(var M={},A=[],k=0;k<e.stops.length;k++){var T=e.stops[k],S=T[0].zoom;void 0===M[S]&&(M[S]={zoom:S,type:e.type,property:e.property,default:e.default,stops:[]},A.push(S)),M[S].stops.push([T[0].value,T[1]])}for(var E=[],C=0,L=A;C<L.length;C+=1){var z=L[C];E.push([M[z].zoom,t(M[z],r)])}return{kind:\\\"composite\\\",interpolationFactor:g.interpolationFactor.bind(void 0,{name:\\\"linear\\\"}),zoomStops:E.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return s({stops:E,base:e.base},r,i).evaluate(i,n)}}}return y?{kind:\\\"camera\\\",interpolationFactor:\\\"exponential\\\"===x?g.interpolationFactor.bind(void 0,{name:\\\"exponential\\\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var i=t.zoom;return n(e,r,i,u,p)}}:{kind:\\\"source\\\",evaluate:function(t,a){var o=a&&a.properties?a.properties[e.property]:void 0;return void 0===o?i(e.default,r.default):n(e,r,o,u,p)}}},isFunction:function(t){return\\\"object\\\"==typeof t&&null!==t&&!Array.isArray(t)}}},{\\\"../expression/definitions/interpolate\\\":132,\\\"../util/color\\\":153,\\\"../util/color_spaces\\\":154,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/interpolate\\\":158}],150:[function(t,e,r){function n(t){var e=typeof t;if(\\\"number\\\"===e||\\\"boolean\\\"===e||\\\"string\\\"===e||void 0===t||null===t)return JSON.stringify(t);if(Array.isArray(t)){for(var r=\\\"[\\\",i=0,a=t;i<a.length;i+=1)r+=n(a[i])+\\\",\\\";return r+\\\"]\\\"}for(var o=Object.keys(t).sort(),s=\\\"{\\\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\\\":\\\"+n(t[o[l]])+\\\",\\\";return s+\\\"}\\\"}function i(t){for(var e=\\\"\\\",r=0,i=a;r<i.length;r+=1)e+=\\\"/\\\"+n(t[i[r]]);return e}var a=t(\\\"./util/ref_properties\\\");e.exports=function(t){for(var e={},r=0;r<t.length;r++){var n=i(t[r]),a=e[n];a||(a=e[n]=[]),a.push(t[r])}var o=[];for(var s in e)o.push(e[s]);return o}},{\\\"./util/ref_properties\\\":159}],151:[function(t,e,r){e.exports=t(\\\"./v8.json\\\")},{\\\"./v8.json\\\":152}],152:[function(t,e,r){e.exports={$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_canvas\\\"],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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},attribution:{type:\\\"string\\\"},\\\"*\\\":{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.0511,180,85.0511]},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.0511,180,85.0511]},minzoom:{type:\\\"number\\\",default:0},maxzoom:{type:\\\"number\\\",default:22},tileSize:{type:\\\"number\\\",default:512,units:\\\"pixels\\\"},attribution:{type:\\\"string\\\"},\\\"*\\\":{type:\\\"*\\\"}},source_geojson:{type:{required:!0,type:\\\"enum\\\",values:{geojson:{}}},data:{type:\\\"*\\\"},maxzoom:{type:\\\"number\\\",default:18},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\\\"}},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\\\"}}},source_canvas:{type:{required:!0,type:\\\"enum\\\",values:{canvas:{}}},coordinates:{required:!0,type:\\\"array\\\",length:4,value:{type:\\\"array\\\",length:2,value:\\\"number\\\"}},animate:{type:\\\"boolean\\\",default:\\\"true\\\"},canvas:{type:\\\"string\\\",required:!0}},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\\\"}},layout_fill:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_circle:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_heatmap:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},\\\"layout_fill-extrusion\\\":{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_line:{\\\"line-cap\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{butt:{},round:{},square:{}},default:\\\"butt\\\"},\\\"line-join\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{bevel:{},round:{},miter:{}},default:\\\"miter\\\"},\\\"line-miter-limit\\\":{type:\\\"number\\\",default:2,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"miter\\\"}]},\\\"line-round-limit\\\":{type:\\\"number\\\",default:1.05,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[{\\\"line-join\\\":\\\"round\\\"}]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_symbol:{\\\"symbol-placement\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{point:{},line:{}},default:\\\"point\\\"},\\\"symbol-spacing\\\":{type:\\\"number\\\",default:250,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"symbol-avoid-edges\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1},\\\"icon-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\"]},\\\"icon-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"icon-size\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"factor of the original icon size\\\",requires:[\\\"icon-image\\\"]},\\\"icon-text-fit\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{none:{},width:{},height:{},both:{}},default:\\\"none\\\",requires:[\\\"icon-image\\\",\\\"text-field\\\"]},\\\"icon-text-fit-padding\\\":{type:\\\"array\\\",value:\\\"number\\\",length:4,default:[0,0,0,0],units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"icon-image\\\",\\\"text-field\\\",{\\\"icon-text-fit\\\":[\\\"both\\\",\\\"width\\\",\\\"height\\\"]}]},\\\"icon-image\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,tokens:!0},\\\"icon-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,units:\\\"degrees\\\",requires:[\\\"icon-image\\\"]},\\\"icon-padding\\\":{type:\\\"number\\\",default:2,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"icon-image\\\",{\\\"icon-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"icon-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"icon-image\\\"]},\\\"icon-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"icon-image\\\"]},\\\"icon-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"icon-image\\\"]},\\\"text-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-rotation-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{},auto:{}},default:\\\"auto\\\",requires:[\\\"text-field\\\"]},\\\"text-field\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:\\\"\\\",tokens:!0},\\\"text-font\\\":{type:\\\"array\\\",value:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:[\\\"Open Sans Regular\\\",\\\"Arial Unicode MS Regular\\\"],requires:[\\\"text-field\\\"]},\\\"text-size\\\":{type:\\\"number\\\",default:16,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-max-width\\\":{type:\\\"number\\\",default:10,minimum:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-line-height\\\":{type:\\\"number\\\",default:1.2,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-letter-spacing\\\":{type:\\\"number\\\",default:0,units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-justify\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{left:{},center:{},right:{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\\\"top-left\\\":{},\\\"top-right\\\":{},\\\"bottom-left\\\":{},\\\"bottom-right\\\":{}},default:\\\"center\\\",requires:[\\\"text-field\\\"]},\\\"text-max-angle\\\":{type:\\\"number\\\",default:45,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\",{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-rotate\\\":{type:\\\"number\\\",default:0,period:360,units:\\\"degrees\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-padding\\\":{type:\\\"number\\\",default:2,minimum:0,units:\\\"pixels\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,requires:[\\\"text-field\\\"]},\\\"text-keep-upright\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0,requires:[\\\"text-field\\\",{\\\"text-rotation-alignment\\\":\\\"map\\\"},{\\\"symbol-placement\\\":\\\"line\\\"}]},\\\"text-transform\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,values:{none:{},uppercase:{},lowercase:{}},default:\\\"none\\\",requires:[\\\"text-field\\\"]},\\\"text-offset\\\":{type:\\\"array\\\",value:\\\"number\\\",units:\\\"ems\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,length:2,default:[0,0],requires:[\\\"text-field\\\"]},\\\"text-allow-overlap\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-ignore-placement\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\"]},\\\"text-optional\\\":{type:\\\"boolean\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!1,requires:[\\\"text-field\\\",\\\"icon-image\\\"]},visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_raster:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},layout_hillshade:{visibility:{type:\\\"enum\\\",values:{visible:{},none:{}},default:\\\"visible\\\"}},filter:{type:\\\"array\\\",value:\\\"*\\\"},filter_operator:{type:\\\"enum\\\",values:{\\\"==\\\":{},\\\"!=\\\":{},\\\">\\\":{},\\\">=\\\":{},\\\"<\\\":{},\\\"<=\\\":{},in:{},\\\"!in\\\":{},all:{},any:{},none:{},has:{},\\\"!has\\\":{}}},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:22,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\\\"},case:{group:\\\"Decision\\\"},match:{group:\\\"Decision\\\"},coalesce:{group:\\\"Decision\\\"},step:{group:\\\"Ramps, scales, curves\\\"},interpolate:{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\\\"},\\\"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\\\"},\\\"geometry-type\\\":{group:\\\"Feature data\\\"},id:{group:\\\"Feature data\\\"},zoom:{group:\\\"Zoom\\\"},\\\"heatmap-density\\\":{group:\\\"Heatmap\\\"},\\\"+\\\":{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\\\"},\\\"==\\\":{group:\\\"Decision\\\"},\\\"!=\\\":{group:\\\"Decision\\\"},\\\">\\\":{group:\\\"Decision\\\"},\\\"<\\\":{group:\\\"Decision\\\"},\\\">=\\\":{group:\\\"Decision\\\"},\\\"<=\\\":{group:\\\"Decision\\\"},all:{group:\\\"Decision\\\"},any:{group:\\\"Decision\\\"},\\\"!\\\":{group:\\\"Decision\\\"},upcase:{group:\\\"String\\\"},downcase:{group:\\\"String\\\"},concat:{group:\\\"String\\\"}}},light:{anchor:{type:\\\"enum\\\",default:\\\"viewport\\\",values:{map:{},viewport:{}},transition:!1,\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,function:\\\"piecewise-constant\\\"},position:{type:\\\"array\\\",default:[1.15,210,30],length:3,value:\\\"number\\\",transition:!0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1},color:{type:\\\"color\\\",default:\\\"#ffffff\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},intensity:{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,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\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,default:!0},\\\"fill-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"}]},\\\"fill-outline-color\\\":{type:\\\"color\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-pattern\\\"},{\\\"fill-antialias\\\":!0}]},\\\"fill-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-translate\\\"]},\\\"fill-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},\\\"paint_fill-extrusion\\\":{\\\"fill-extrusion-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,default:1,minimum:0,maximum:1,transition:!0},\\\"fill-extrusion-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"fill-extrusion-pattern\\\"}]},\\\"fill-extrusion-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"fill-extrusion-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"fill-extrusion-translate\\\"]},\\\"fill-extrusion-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"fill-extrusion-height\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0},\\\"fill-extrusion-base\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:0,minimum:0,units:\\\"meters\\\",transition:!0,requires:[\\\"fill-extrusion-height\\\"]}},paint_line:{\\\"line-opacity\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"line-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"line-translate\\\"]},\\\"line-width\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-gap-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-offset\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"line-dasharray\\\":{type:\\\"array\\\",value:\\\"number\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,minimum:0,transition:!0,units:\\\"line widths\\\",requires:[{\\\"!\\\":\\\"line-pattern\\\"}]},\\\"line-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_circle:{\\\"circle-radius\\\":{type:\\\"number\\\",default:5,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-blur\\\":{type:\\\"number\\\",default:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"circle-translate\\\"]},\\\"circle-pitch-scale\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\"},\\\"circle-pitch-alignment\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"circle-stroke-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"circle-stroke-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0},\\\"circle-stroke-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0}},paint_heatmap:{\\\"heatmap-radius\\\":{type:\\\"number\\\",default:30,minimum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\"},\\\"heatmap-weight\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!1},\\\"heatmap-intensity\\\":{type:\\\"number\\\",default:1,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0},\\\"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\\\"],function:\\\"interpolated\\\",\\\"zoom-function\\\":!1,\\\"property-function\\\":!1,transition:!1},\\\"heatmap-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!1,transition:!0}},paint_symbol:{\\\"icon-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"icon-image\\\"]},\\\"icon-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"icon-image\\\"]},\\\"icon-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"icon-image\\\",\\\"icon-translate\\\"]},\\\"text-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-color\\\":{type:\\\"color\\\",default:\\\"rgba(0, 0, 0, 0)\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,requires:[\\\"text-field\\\"]},\\\"text-halo-width\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-halo-blur\\\":{type:\\\"number\\\",default:0,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,\\\"property-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate\\\":{type:\\\"array\\\",value:\\\"number\\\",length:2,default:[0,0],function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"pixels\\\",requires:[\\\"text-field\\\"]},\\\"text-translate-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"map\\\",requires:[\\\"text-field\\\",\\\"text-translate\\\"]}},paint_raster:{\\\"raster-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-hue-rotate\\\":{type:\\\"number\\\",default:0,period:360,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,units:\\\"degrees\\\"},\\\"raster-brightness-min\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:0,minimum:0,maximum:1,transition:!0},\\\"raster-brightness-max\\\":{type:\\\"number\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,default:1,minimum:0,maximum:1,transition:!0},\\\"raster-saturation\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-contrast\\\":{type:\\\"number\\\",default:0,minimum:-1,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"raster-fade-duration\\\":{type:\\\"number\\\",default:300,minimum:0,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1,units:\\\"milliseconds\\\"}},paint_hillshade:{\\\"hillshade-illumination-direction\\\":{type:\\\"number\\\",default:335,minimum:0,maximum:359,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!1},\\\"hillshade-illumination-anchor\\\":{type:\\\"enum\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,values:{map:{},viewport:{}},default:\\\"viewport\\\"},\\\"hillshade-exaggeration\\\":{type:\\\"number\\\",default:.5,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-shadow-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-highlight-color\\\":{type:\\\"color\\\",default:\\\"#FFFFFF\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"hillshade-accent-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},paint_background:{\\\"background-color\\\":{type:\\\"color\\\",default:\\\"#000000\\\",function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0,requires:[{\\\"!\\\":\\\"background-pattern\\\"}]},\\\"background-pattern\\\":{type:\\\"string\\\",function:\\\"piecewise-constant\\\",\\\"zoom-function\\\":!0,transition:!0},\\\"background-opacity\\\":{type:\\\"number\\\",default:1,minimum:0,maximum:1,function:\\\"interpolated\\\",\\\"zoom-function\\\":!0,transition:!0}},transition:{duration:{type:\\\"number\\\",default:300,minimum:0,units:\\\"milliseconds\\\"},delay:{type:\\\"number\\\",default:0,minimum:0,units:\\\"milliseconds\\\"}}}},{}],153:[function(t,e,r){var n=t(\\\"csscolorparser\\\").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if(\\\"string\\\"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return\\\"rgba(\\\"+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(\\\",\\\")+\\\")\\\"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>m?Math.pow(t,1/3):t/v+d}function i(t){return t>g?t*t*t:v*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/h),s=n((.2126729*e+.7151522*r+.072175*i)/f);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(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=f*i(e),r=h*i(r),n=p*i(n),new u(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var u=t(\\\"./color\\\"),c=t(\\\"./interpolate\\\").number,h=.95047,f=1,p=1.08883,d=4/29,g=6/29,v=3*g*g,m=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:c(t.l,e.l,r),a:c(t.a,e.a,r),b:c(t.b,e.b,r),alpha:c(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:c(t.c,e.c,r),l:c(t.l,e.l,r),alpha:c(t.alpha,e.alpha,r)}}}}},{\\\"./color\\\":153,\\\"./interpolate\\\":158}],155:[function(t,e,r){e.exports=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 i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r}},{}],156:[function(t,e,r){e.exports=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t}},{}],157:[function(t,e,r){e.exports=function(t){return t instanceof Number?\\\"number\\\":t instanceof String?\\\"string\\\":t instanceof Boolean?\\\"boolean\\\":Array.isArray(t)?\\\"array\\\":null===t?\\\"null\\\":typeof t}},{}],158:[function(t,e,r){function n(t,e,r){return t*(1-r)+e*r}var i=t(\\\"./color\\\");e.exports={number:n,color:function(t,e,r){return new i(n(t.r,e.r,r),n(t.g,e.g,r),n(t.b,e.b,r),n(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}}},{\\\"./color\\\":153}],159:[function(t,e,r){e.exports=[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"minzoom\\\",\\\"maxzoom\\\",\\\"filter\\\",\\\"layout\\\"]},{}],160:[function(t,e,r){e.exports={success:function(t){return{result:\\\"success\\\",value:t}},error:function(t){return{result:\\\"error\\\",value:t}}}},{}],161:[function(t,e,r){function n(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}e.exports=n,e.exports.deep=function t(e){return Array.isArray(e)?e.map(t):n(e)}},{}],162:[function(t,e,r){var n=t(\\\"../util/extend\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"../expression\\\").isExpression,o=t(\\\"../function\\\").isFunction;e.exports=function(e){var r=t(\\\"./validate_function\\\"),s=t(\\\"./validate_expression\\\"),l=t(\\\"./validate_object\\\"),u={\\\"*\\\":function(){return[]},array:t(\\\"./validate_array\\\"),boolean:t(\\\"./validate_boolean\\\"),number:t(\\\"./validate_number\\\"),color:t(\\\"./validate_color\\\"),constants:t(\\\"./validate_constants\\\"),enum:t(\\\"./validate_enum\\\"),filter:t(\\\"./validate_filter\\\"),function:t(\\\"./validate_function\\\"),layer:t(\\\"./validate_layer\\\"),object:t(\\\"./validate_object\\\"),source:t(\\\"./validate_source\\\"),light:t(\\\"./validate_light\\\"),string:t(\\\"./validate_string\\\")},c=e.value,h=e.valueSpec,f=e.styleSpec;return h.function&&o(i(c))?r(e):h.function&&a(i.deep(c))?s(e):h.type&&u[h.type]?u[h.type](e):l(n({},e,{valueSpec:h.type?f[h.type]:h}))}},{\\\"../expression\\\":139,\\\"../function\\\":149,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_array\\\":163,\\\"./validate_boolean\\\":164,\\\"./validate_color\\\":165,\\\"./validate_constants\\\":166,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168,\\\"./validate_filter\\\":169,\\\"./validate_function\\\":170,\\\"./validate_layer\\\":172,\\\"./validate_light\\\":174,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176,\\\"./validate_source\\\":179,\\\"./validate_string\\\":180}],163:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"./validate\\\"),a=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.valueSpec,o=t.style,s=t.styleSpec,l=t.key,u=t.arrayElementValidator||i;if(\\\"array\\\"!==n(e))return[new a(l,e,\\\"array expected, \\\"+n(e)+\\\" found\\\")];if(r.length&&e.length!==r.length)return[new a(l,e,\\\"array length \\\"+r.length+\\\" expected, length \\\"+e.length+\\\" found\\\")];if(r[\\\"min-length\\\"]&&e.length<r[\\\"min-length\\\"])return[new a(l,e,\\\"array length at least \\\"+r[\\\"min-length\\\"]+\\\" expected, length \\\"+e.length+\\\" found\\\")];var c={type:r.value};s.$version<7&&(c.function=r.function),\\\"object\\\"===n(r.value)&&(c=r.value);for(var h=[],f=0;f<e.length;f++)h=h.concat(u({array:e,arrayIndex:f,value:e[f],valueSpec:c,style:o,styleSpec:s,key:l+\\\"[\\\"+f+\\\"]\\\"}));return h}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],164:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"boolean\\\"!==a?[new i(r,e,\\\"boolean expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],165:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"csscolorparser\\\").parseCSSColor;e.exports=function(t){var e=t.key,r=t.value,o=i(r);return\\\"string\\\"!==o?[new n(e,r,\\\"color expected, \\\"+o+\\\" found\\\")]:null===a(r)?[new n(e,r,'color expected, \\\"'+r+'\\\" found')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,csscolorparser:13}],166:[function(t,e,r){var n=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value;return r?[new n(e,r,\\\"constants have been deprecated as of v8\\\")]:[]}},{\\\"../error/validation_error\\\":122}],167:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=[];return Array.isArray(a.values)?-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+a.values.join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")):-1===Object.keys(a.values).indexOf(i(r))&&o.push(new n(e,r,\\\"expected one of [\\\"+Object.keys(a.values).join(\\\", \\\")+\\\"], \\\"+JSON.stringify(r)+\\\" found\\\")),o}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161}],168:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../expression\\\"),a=i.createExpression,o=i.createPropertyExpression,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){var e=(\\\"property\\\"===t.expressionContext?o:a)(s.deep(t.value),t.valueSpec);return\\\"error\\\"===e.result?e.value.map(function(e){return new n(\\\"\\\"+t.key+e.key,t.value,e.message)}):\\\"property\\\"===t.expressionContext&&\\\"text-font\\\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new n(t.key,t.value,'Invalid data expression for \\\"text-font\\\". Output values must be contained as literals within the expression.')]:[]}},{\\\"../error/validation_error\\\":122,\\\"../expression\\\":139,\\\"../util/unbundle_jsonlint\\\":161}],169:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_expression\\\"),a=t(\\\"./validate_enum\\\"),o=t(\\\"../util/get_type\\\"),s=t(\\\"../util/unbundle_jsonlint\\\"),l=t(\\\"../util/extend\\\"),u=t(\\\"../feature_filter\\\").isExpressionFilter;e.exports=function(t){return u(s.deep(t.value))?i(l({},t,{expressionContext:\\\"filter\\\",valueSpec:{value:\\\"boolean\\\"}})):function t(e){var r=e.value,i=e.key;if(\\\"array\\\"!==o(r))return[new n(i,r,\\\"array expected, \\\"+o(r)+\\\" found\\\")];var l,u=e.styleSpec,c=[];if(r.length<1)return[new n(i,r,\\\"filter array must have at least 1 element\\\")];switch(c=c.concat(a({key:i+\\\"[0]\\\",value:r[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),s(r[0])){case\\\"<\\\":case\\\"<=\\\":case\\\">\\\":case\\\">=\\\":r.length>=2&&\\\"$type\\\"===s(r[1])&&c.push(new n(i,r,'\\\"$type\\\" cannot be use with operator \\\"'+r[0]+'\\\"'));case\\\"==\\\":case\\\"!=\\\":3!==r.length&&c.push(new n(i,r,'filter array for operator \\\"'+r[0]+'\\\" must have 3 elements'));case\\\"in\\\":case\\\"!in\\\":r.length>=2&&\\\"string\\\"!==(l=o(r[1]))&&c.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"));for(var h=2;h<r.length;h++)l=o(r[h]),\\\"$type\\\"===s(r[1])?c=c.concat(a({key:i+\\\"[\\\"+h+\\\"]\\\",value:r[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\\\"string\\\"!==l&&\\\"number\\\"!==l&&\\\"boolean\\\"!==l&&c.push(new n(i+\\\"[\\\"+h+\\\"]\\\",r[h],\\\"string, number, or boolean expected, \\\"+l+\\\" found\\\"));break;case\\\"any\\\":case\\\"all\\\":case\\\"none\\\":for(var f=1;f<r.length;f++)c=c.concat(t({key:i+\\\"[\\\"+f+\\\"]\\\",value:r[f],style:e.style,styleSpec:e.styleSpec}));break;case\\\"has\\\":case\\\"!has\\\":l=o(r[1]),2!==r.length?c.push(new n(i,r,'filter array for \\\"'+r[0]+'\\\" operator must have 2 elements')):\\\"string\\\"!==l&&c.push(new n(i+\\\"[1]\\\",r[1],\\\"string expected, \\\"+l+\\\" found\\\"))}return c}(t)}},{\\\"../error/validation_error\\\":122,\\\"../feature_filter\\\":148,\\\"../util/extend\\\":156,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_expression\\\":168}],170:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\"),o=t(\\\"./validate_object\\\"),s=t(\\\"./validate_array\\\"),l=t(\\\"./validate_number\\\"),u=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t){function e(t){var e=[],s=t.value,c=t.key;if(\\\"array\\\"!==i(s))return[new n(c,s,\\\"array expected, \\\"+i(s)+\\\" found\\\")];if(2!==s.length)return[new n(c,s,\\\"array length 2 expected, length \\\"+s.length+\\\" found\\\")];if(y){if(\\\"object\\\"!==i(s[0]))return[new n(c,s,\\\"object expected, \\\"+i(s[0])+\\\" found\\\")];if(void 0===s[0].zoom)return[new n(c,s,\\\"object stop key must have zoom\\\")];if(void 0===s[0].value)return[new n(c,s,\\\"object stop key must have value\\\")];if(f&&f>u(s[0].zoom))return[new n(c,s[0].zoom,\\\"stop zoom values must appear in ascending order\\\")];u(s[0].zoom)!==f&&(f=u(s[0].zoom),h=void 0,g={}),e=e.concat(o({key:c+\\\"[0]\\\",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:c+\\\"[0]\\\",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:c+\\\"[1]\\\",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=u(t.value),o=null!==t.value?t.value:e;if(c){if(r!==c)return[new n(t.key,o,r+\\\" stop domain type must match previous stop domain type \\\"+c)]}else c=r;if(\\\"number\\\"!==r&&\\\"string\\\"!==r&&\\\"boolean\\\"!==r)return[new n(t.key,o,\\\"stop domain value must be a number, string, or boolean\\\")];if(\\\"number\\\"!==r&&\\\"categorical\\\"!==d){var s=\\\"number expected, \\\"+r+\\\" found\\\";return p[\\\"property-function\\\"]&&void 0===d&&(s+='\\\\nIf you intended to use a categorical function, specify `\\\"type\\\": \\\"categorical\\\"`.'),[new n(t.key,o,s)]}return\\\"categorical\\\"!==d||\\\"number\\\"!==r||isFinite(a)&&Math.floor(a)===a?\\\"categorical\\\"!==d&&\\\"number\\\"===r&&void 0!==h&&a<h?[new n(t.key,o,\\\"stop domain values must appear in ascending order\\\")]:(h=a,\\\"categorical\\\"===d&&a in g?[new n(t.key,o,\\\"stop domain values must be unique\\\")]:(g[a]=!0,[])):[new n(t.key,o,\\\"integer expected, found \\\"+a)]}var c,h,f,p=t.valueSpec,d=u(t.value.type),g={},v=\\\"categorical\\\"!==d&&void 0===t.value.property,m=!v,y=\\\"array\\\"===i(t.value.stops)&&\\\"array\\\"===i(t.value.stops[0])&&\\\"object\\\"===i(t.value.stops[0][0]),x=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\\\"identity\\\"===d)return[new n(t.key,t.value,'identity function may not have a \\\"stops\\\" property')];var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),\\\"array\\\"===i(a)&&0===a.length&&r.push(new n(t.key,a,\\\"array must have at least one stop\\\")),r},default:function(t){return a({key:t.key,value:t.value,valueSpec:p,style:t.style,styleSpec:t.styleSpec})}}});return\\\"identity\\\"===d&&v&&x.push(new n(t.key,t.value,'missing required property \\\"property\\\"')),\\\"identity\\\"===d||t.value.stops||x.push(new n(t.key,t.value,'missing required property \\\"stops\\\"')),\\\"exponential\\\"===d&&\\\"piecewise-constant\\\"===t.valueSpec.function&&x.push(new n(t.key,t.value,\\\"exponential functions not supported\\\")),t.styleSpec.$version>=8&&(m&&!t.valueSpec[\\\"property-function\\\"]?x.push(new n(t.key,t.value,\\\"property functions not supported\\\")):v&&!t.valueSpec[\\\"zoom-function\\\"]&&\\\"heatmap-color\\\"!==t.objectKey&&x.push(new n(t.key,t.value,\\\"zoom functions not supported\\\"))),\\\"categorical\\\"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'\\\"property\\\" property is required')),x}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_array\\\":163,\\\"./validate_number\\\":175,\\\"./validate_object\\\":176}],171:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"./validate_string\\\");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf(\\\"{fontstack}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{fontstack}\\\" token')),-1===e.indexOf(\\\"{range}\\\")&&a.push(new n(r,e,'\\\"glyphs\\\" url must include a \\\"{range}\\\" token')),a)}},{\\\"../error/validation_error\\\":122,\\\"./validate_string\\\":180}],172:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_filter\\\"),s=t(\\\"./validate_paint_property\\\"),l=t(\\\"./validate_layout_property\\\"),u=t(\\\"./validate\\\"),c=t(\\\"../util/extend\\\");e.exports=function(t){var e=[],r=t.value,h=t.key,f=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(h,r,'either \\\"type\\\" or \\\"ref\\\" is required'));var d,g=i(r.type),v=i(r.ref);if(r.id)for(var m=i(r.id),y=0;y<t.arrayIndex;y++){var x=f.layers[y];i(x.id)===m&&e.push(new n(h,r.id,'duplicate layer id \\\"'+r.id+'\\\", previously used at line '+x.id.__line__))}if(\\\"ref\\\"in r)[\\\"type\\\",\\\"source\\\",\\\"source-layer\\\",\\\"filter\\\",\\\"layout\\\"].forEach(function(t){t in r&&e.push(new n(h,r[t],'\\\"'+t+'\\\" is prohibited for ref layers'))}),f.layers.forEach(function(t){i(t.id)===v&&(d=t)}),d?d.ref?e.push(new n(h,r.ref,\\\"ref cannot reference another ref layer\\\")):g=i(d.type):e.push(new n(h,r.ref,'ref layer \\\"'+v+'\\\" not found'));else if(\\\"background\\\"!==g)if(r.source){var b=f.sources&&f.sources[r.source],_=b&&i(b.type);b?\\\"vector\\\"===_&&\\\"raster\\\"===g?e.push(new n(h,r.source,'layer \\\"'+r.id+'\\\" requires a raster source')):\\\"raster\\\"===_&&\\\"raster\\\"!==g?e.push(new n(h,r.source,'layer \\\"'+r.id+'\\\" requires a vector source')):\\\"vector\\\"!==_||r[\\\"source-layer\\\"]?\\\"raster-dem\\\"===_&&\\\"hillshade\\\"!==g&&e.push(new n(h,r.source,\\\"raster-dem source can only be used with layer type 'hillshade'.\\\")):e.push(new n(h,r,'layer \\\"'+r.id+'\\\" must specify a \\\"source-layer\\\"')):e.push(new n(h,r.source,'source \\\"'+r.source+'\\\" not found'))}else e.push(new n(h,r,'missing required property \\\"source\\\"'));return e=e.concat(a({key:h,value:r,valueSpec:p.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(){return[]},type:function(){return u({key:h+\\\".type\\\",value:r.type,valueSpec:p.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\\\"type\\\"})},filter:o,layout:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return l(c({layerType:g},t))}}})},paint:function(t){return a({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\\\"*\\\":function(t){return s(c({layerType:g},t))}}})}}}))}},{\\\"../error/validation_error\\\":122,\\\"../util/extend\\\":156,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162,\\\"./validate_filter\\\":169,\\\"./validate_layout_property\\\":173,\\\"./validate_object\\\":176,\\\"./validate_paint_property\\\":177}],173:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"layout\\\")}},{\\\"./validate_property\\\":178}],174:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.value,r=t.styleSpec,o=r.light,s=t.style,l=[],u=i(e);if(void 0===e)return l;if(\\\"object\\\"!==u)return l.concat([new n(\\\"light\\\",e,\\\"object expected, \\\"+u+\\\" found\\\")]);for(var c in e){var h=c.match(/^(.*)-transition$/);l=h&&o[h[1]]&&o[h[1]].transition?l.concat(a({key:c,value:e[c],valueSpec:r.transition,style:s,styleSpec:r})):o[c]?l.concat(a({key:c,value:e[c],valueSpec:o[c],style:s,styleSpec:r})):l.concat([new n(c,e[c],'unknown property \\\"'+c+'\\\"')])}return l}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],175:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.key,r=t.value,a=t.valueSpec,o=n(r);return\\\"number\\\"!==o?[new i(e,r,\\\"number expected, \\\"+o+\\\" found\\\")]:\\\"minimum\\\"in a&&r<a.minimum?[new i(e,r,r+\\\" is less than the minimum value \\\"+a.minimum)]:\\\"maximum\\\"in a&&r>a.maximum?[new i(e,r,r+\\\" is greater than the maximum value \\\"+a.maximum)]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],176:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/get_type\\\"),a=t(\\\"./validate\\\");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec||{},s=t.objectElementValidators||{},l=t.style,u=t.styleSpec,c=[],h=i(r);if(\\\"object\\\"!==h)return[new n(e,r,\\\"object expected, \\\"+h+\\\" found\\\")];for(var f in r){var p=f.split(\\\".\\\")[0],d=o[p]||o[\\\"*\\\"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s[\\\"*\\\"])g=s[\\\"*\\\"];else{if(!o[\\\"*\\\"]){c.push(new n(e,r[f],'unknown property \\\"'+f+'\\\"'));continue}g=a}c=c.concat(g({key:(e?e+\\\".\\\":e)+f,value:r[f],valueSpec:d,style:l,styleSpec:u,object:r,objectKey:f},r))}for(var v in o)s[v]||o[v].required&&void 0===o[v].default&&void 0===r[v]&&c.push(new n(e,r,'missing required property \\\"'+v+'\\\"'));return c}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157,\\\"./validate\\\":162}],177:[function(t,e,r){var n=t(\\\"./validate_property\\\");e.exports=function(t){return n(t,\\\"paint\\\")}},{\\\"./validate_property\\\":178}],178:[function(t,e,r){var n=t(\\\"./validate\\\"),i=t(\\\"../error/validation_error\\\"),a=t(\\\"../util/get_type\\\"),o=t(\\\"../function\\\").isFunction,s=t(\\\"../util/unbundle_jsonlint\\\");e.exports=function(t,e){var r=t.key,l=t.style,u=t.styleSpec,c=t.value,h=t.objectKey,f=u[e+\\\"_\\\"+t.layerType];if(!f)return[];var p=h.match(/^(.*)-transition$/);if(\\\"paint\\\"===e&&p&&f[p[1]]&&f[p[1]].transition)return n({key:r,value:c,valueSpec:u.transition,style:l,styleSpec:u});var d,g=t.valueSpec||f[h];if(!g)return[new i(r,c,'unknown property \\\"'+h+'\\\"')];if(\\\"string\\\"===a(c)&&g[\\\"property-function\\\"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(c)))return[new i(r,c,'\\\"'+h+'\\\" does not support interpolation syntax\\\\nUse an identity property function instead: `{ \\\"type\\\": \\\"identity\\\", \\\"property\\\": '+JSON.stringify(d[1])+\\\" }`.\\\")];var v=[];return\\\"symbol\\\"===t.layerType&&(\\\"text-field\\\"===h&&l&&!l.glyphs&&v.push(new i(r,c,'use of \\\"text-field\\\" requires a style \\\"glyphs\\\" property')),\\\"text-font\\\"===h&&o(s.deep(c))&&\\\"identity\\\"===s(c.type)&&v.push(new i(r,c,'\\\"text-font\\\" does not support identity functions'))),v.concat(n({key:t.key,value:c,valueSpec:g,style:l,styleSpec:u,expressionContext:\\\"property\\\",propertyKey:h}))}},{\\\"../error/validation_error\\\":122,\\\"../function\\\":149,\\\"../util/get_type\\\":157,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate\\\":162}],179:[function(t,e,r){var n=t(\\\"../error/validation_error\\\"),i=t(\\\"../util/unbundle_jsonlint\\\"),a=t(\\\"./validate_object\\\"),o=t(\\\"./validate_enum\\\");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'\\\"type\\\" is required')];var u=i(e.type),c=[];switch(u){case\\\"vector\\\":case\\\"raster\\\":case\\\"raster-dem\\\":if(c=c.concat(a({key:r,value:e,valueSpec:s[\\\"source_\\\"+u.replace(\\\"-\\\",\\\"_\\\")],style:t.style,styleSpec:s})),\\\"url\\\"in e)for(var h in e)[\\\"type\\\",\\\"url\\\",\\\"tileSize\\\"].indexOf(h)<0&&c.push(new n(r+\\\".\\\"+h,e[h],'a source with a \\\"url\\\" property may not include a \\\"'+h+'\\\" property'));return c;case\\\"geojson\\\":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case\\\"video\\\":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case\\\"image\\\":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});case\\\"canvas\\\":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+\\\".type\\\",value:e.type,valueSpec:{values:[\\\"vector\\\",\\\"raster\\\",\\\"raster-dem\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"]},style:l,styleSpec:s})}}},{\\\"../error/validation_error\\\":122,\\\"../util/unbundle_jsonlint\\\":161,\\\"./validate_enum\\\":167,\\\"./validate_object\\\":176}],180:[function(t,e,r){var n=t(\\\"../util/get_type\\\"),i=t(\\\"../error/validation_error\\\");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return\\\"string\\\"!==a?[new i(r,e,\\\"string expected, \\\"+a+\\\" found\\\")]:[]}},{\\\"../error/validation_error\\\":122,\\\"../util/get_type\\\":157}],181:[function(t,e,r){function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:\\\"\\\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:u,\\\"*\\\":function(){return[]}}})),t.constants&&(r=r.concat(o({key:\\\"constants\\\",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t(\\\"./validate/validate_constants\\\"),s=t(\\\"./validate/validate\\\"),l=t(\\\"./reference/latest\\\"),u=t(\\\"./validate/validate_glyphs_url\\\");n.source=a(t(\\\"./validate/validate_source\\\")),n.light=a(t(\\\"./validate/validate_light\\\")),n.layer=a(t(\\\"./validate/validate_layer\\\")),n.filter=a(t(\\\"./validate/validate_filter\\\")),n.paintProperty=a(t(\\\"./validate/validate_paint_property\\\")),n.layoutProperty=a(t(\\\"./validate/validate_layout_property\\\")),e.exports=n},{\\\"./reference/latest\\\":151,\\\"./validate/validate\\\":162,\\\"./validate/validate_constants\\\":166,\\\"./validate/validate_filter\\\":169,\\\"./validate/validate_glyphs_url\\\":171,\\\"./validate/validate_layer\\\":172,\\\"./validate/validate_layout_property\\\":173,\\\"./validate/validate_light\\\":174,\\\"./validate/validate_paint_property\\\":177,\\\"./validate/validate_source\\\":179}],182:[function(t,e,r){var n=t(\\\"./zoom_history\\\"),i=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 n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{\\\"./zoom_history\\\":212}],183:[function(t,e,r){var n=t(\\\"../style-spec/reference/latest\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../util/evented\\\"),o=t(\\\"./validate_style\\\"),s=t(\\\"../util/util\\\").sphericalToCartesian,l=(t(\\\"../style-spec/util/color\\\"),t(\\\"../style-spec/util/interpolate\\\")),u=t(\\\"./properties\\\"),c=u.Properties,h=u.Transitionable,f=(u.Transitioning,u.PossiblyEvaluated,u.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new c({anchor:new f(n.light.anchor),position:new p,color:new f(n.light.color),intensity:new f(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new h(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,\\\"-transition\\\")?this._transitionable.setTransition(e.slice(0,-\\\"-transition\\\".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{\\\"../style-spec/reference/latest\\\":151,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./validate_style\\\":211}],184:[function(t,e,r){var n=t(\\\"../util/mapbox\\\").normalizeGlyphsURL,i=t(\\\"../util/ajax\\\"),a=t(\\\"./parse_glyph_pbf\\\");e.exports=function(t,e,r,o,s){var l=256*e,u=l+255,c=o(n(r).replace(\\\"{fontstack}\\\",t).replace(\\\"{range}\\\",l+\\\"-\\\"+u),i.ResourceType.Glyphs);i.getArrayBuffer(c,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n<i.length;n+=1){var o=i[n];r[o.id]=o}s(null,r)}})}},{\\\"../util/ajax\\\":251,\\\"../util/mapbox\\\":267,\\\"./parse_glyph_pbf\\\":186}],185:[function(t,e,r){var n=t(\\\"../util/ajax\\\"),i=t(\\\"../util/browser\\\"),a=t(\\\"../util/mapbox\\\").normalizeSpriteURL,o=t(\\\"../util/image\\\").RGBAImage;e.exports=function(t,e,r){function s(){if(c)r(c);else if(l&&u){var t=i.getImageData(u),e={};for(var n in l){var a=l[n],s=a.width,h=a.height,f=a.x,p=a.y,d=a.sdf,g=a.pixelRatio,v=new o({width:s,height:h});o.copy(t,v,{x:f,y:p},{x:0,y:0},{width:s,height:h}),e[n]={data:v,pixelRatio:g,sdf:d}}r(null,e)}}var l,u,c,h=i.devicePixelRatio>1?\\\"@2x\\\":\\\"\\\";n.getJSON(e(a(t,h,\\\".json\\\"),n.ResourceType.SpriteJSON),function(t,e){c||(c=t,l=e,s())}),n.getImage(e(a(t,h,\\\".png\\\"),n.ResourceType.SpriteImage),function(t,e){c||(c=t,u=e,s())})}},{\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/image\\\":263,\\\"../util/mapbox\\\":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,u=n.width,c=n.height,h=n.left,f=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:u+2*l,height:c+2*l},s),metrics:{width:u,height:c,left:h,top:f,advance:p}})}}function a(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())}var o=t(\\\"../util/image\\\").AlphaImage,s=t(\\\"pbf\\\"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{\\\"../util/image\\\":263,pbf:30}],187:[function(t,e,r){var n=t(\\\"../util/browser\\\"),i=t(\\\"../symbol/placement\\\"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex<t.length;){var o=t[a._currentTileIndex];if(e.placeLayerTile(n,o,r,a._seenCrossTileIDs),a._currentTileIndex++,i())return!0}};var o=function(t,e,r,n,a){this.placement=new i(t,a),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};o.prototype.isDone=function(){return this._done},o.prototype.continuePlacement=function(t,e,r){for(var i=this,o=n.now(),s=function(){var t=n.now()-o;return!i._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],u=i.placement.collisionIndex.transform.zoom;if(\\\"symbol\\\"===l.type&&(!l.minzoom||l.minzoom<=u)&&(!l.maxzoom||l.maxzoom>u)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{\\\"../symbol/placement\\\":223,\\\"../util/browser\\\":252}],188:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t(\\\"../style-spec/util/interpolate\\\"),l=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,u=(t(\\\"../style-spec/util/color\\\"),t(\\\"../util/web_worker_transfer\\\").register),c=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};c.prototype.isDataDriven=function(){return\\\"source\\\"===this.expression.kind||\\\"composite\\\"===this.expression.kind},c.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var h=function(t){this.property=t,this.value=new c(t,void 0)};h.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},h.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var f=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};f.prototype.getValue=function(t){return i(this._values[t].value.value)},f.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].value=new c(this._values[t].property,null===e?void 0:i(e))},f.prototype.getTransition=function(t){return i(this._values[t].transition)},f.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].transition=i(e)||void 0},f.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);r<n.length;r+=1){var i=n[r],a=t.getValue(i);void 0!==a&&(e[i]=a);var o=t.getTransition(i);void 0!==o&&(e[i+\\\"-transition\\\"]=o)}return e},f.prototype.transitioned=function(t,e){for(var r=new d(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},f.prototype.untransitioned=function(){for(var t=new d(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 p=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};p.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,o(i))}return r};var d=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};d.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},d.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var g=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};g.prototype.getValue=function(t){return i(this._values[t].value)},g.prototype.setValue=function(t,e){this._values[t]=new c(this._values[t].property,null===e?void 0:i(e))},g.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},g.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var v=function(t,e,r){this.property=t,this.value=e,this.globals=r};v.prototype.isConstant=function(){return\\\"constant\\\"===this.value.kind},v.prototype.constantOr=function(t){return\\\"constant\\\"===this.value.kind?this.value.value:t},v.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var m=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};m.prototype.get=function(t){return this._values[t]};var y=function(t){this.specification=t};y.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},y.prototype.interpolate=function(t,e,r){var n=s[this.specification.type];return n?n(t,e,r):t};var x=function(t){this.specification=t};x.prototype.possiblyEvaluate=function(t,e){return\\\"constant\\\"===t.expression.kind||\\\"camera\\\"===t.expression.kind?new v(this,{kind:\\\"constant\\\",value:t.expression.evaluate(e)},e):new v(this,t.expression,e)},x.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){var n=s[this.specification.type];return n?new v(this,{kind:\\\"constant\\\",value:n(t.value.value,e.value.value,r)},t.globals):t}},x.prototype.evaluate=function(t,e,r){return\\\"constant\\\"===t.kind?t.value:t.evaluate(e,r)};var b=function(t){this.specification=t};b.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\\\"constant\\\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e)}},b.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};u(\\\"DataDrivenProperty\\\",x),u(\\\"DataConstantProperty\\\",y),u(\\\"CrossFadedProperty\\\",b),u(\\\"HeatmapColorProperty\\\",_),e.exports={PropertyValue:c,Transitionable:f,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:v,PossiblyEvaluated:m,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new c(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new h(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/color\\\":153,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275,\\\"../util/web_worker_transfer\\\":278}],189:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return\\\"constant\\\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);\\\"viewport\\\"===r&&o._rotate(-i);for(var s=[],l=0;l<t.length;l++){for(var u=t[l],c=[],h=0;h<u.length;h++)c.push(u[h].sub(o._mult(a)));s.push(c)}return s}}},{\\\"@mapbox/point-geometry\\\":4}],190:[function(t,e,r){var n=t(\\\"../util/evented\\\"),i=t(\\\"./style_layer\\\"),a=t(\\\"./load_sprite\\\"),o=t(\\\"../render/image_manager\\\"),s=t(\\\"../render/glyph_manager\\\"),l=t(\\\"./light\\\"),u=t(\\\"../render/line_atlas\\\"),c=t(\\\"../util/util\\\"),h=t(\\\"../util/ajax\\\"),f=t(\\\"../util/mapbox\\\"),p=t(\\\"../util/browser\\\"),d=t(\\\"../util/dispatcher\\\"),g=t(\\\"./validate_style\\\"),v=t(\\\"../source/source\\\").getType,m=t(\\\"../source/source\\\").setType,y=t(\\\"../source/query_features\\\"),x=t(\\\"../source/source_cache\\\"),b=(t(\\\"../source/geojson_source\\\"),t(\\\"../style-spec/reference/latest\\\")),_=t(\\\"../util/global_worker_pool\\\"),w=t(\\\"../style-spec/deref\\\"),M=t(\\\"../style-spec/diff\\\"),A=t(\\\"../source/rtl_text_plugin\\\"),k=t(\\\"./pauseable_placement\\\"),T=t(\\\"./zoom_history\\\"),S=t(\\\"../symbol/cross_tile_symbol_index\\\"),E=c.pick(M.operations,[\\\"addLayer\\\",\\\"removeLayer\\\",\\\"setPaintProperty\\\",\\\"setLayoutProperty\\\",\\\"setFilter\\\",\\\"addSource\\\",\\\"removeSource\\\",\\\"setLayerZoomRange\\\",\\\"setLight\\\",\\\"setTransition\\\",\\\"setGeoJSONSourceData\\\"]),C=c.pick(M.operations,[\\\"setCenter\\\",\\\"setZoom\\\",\\\"setBearing\\\",\\\"setPitch\\\"]),L=function(t){function e(e,r){var n=this;void 0===r&&(r={}),t.call(this),this.map=e,this.dispatcher=new d(_(),this),this.imageManager=new o,this.glyphManager=new s(e._transformRequest,r.localIdeographFontFamily),this.lineAtlas=new u(256,512),this.crossTileSymbolIndex=new S,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new T,this._loaded=!1,this._resetUpdates();var i=this;this._rtlTextPluginCallback=A.registerForPluginAvailability(function(t){for(var e in i.dispatcher.broadcast(\\\"loadRTLTextPlugin\\\",t.pluginBlobURL,t.errorCallback),i.sourceCaches)i.sourceCaches[e].reload()}),this.on(\\\"data\\\",function(t){if(\\\"source\\\"===t.dataType&&\\\"metadata\\\"===t.sourceDataType){var e=n.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var i in n._layers){var a=n._layers[i];a.source===r.id&&n._validateLayer(a)}}}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadURL=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"});var n=\\\"boolean\\\"==typeof e.validate?e.validate:!f.isMapboxURL(t);t=f.normalizeStyleURL(t,e.accessToken);var i=this.map._transformRequest(t,h.ResourceType.Style);h.getJSON(i,function(t,e){t?r.fire(\\\"error\\\",{error:t}):e&&r._load(e,n)})},e.prototype.loadJSON=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\\\"dataloading\\\",{dataType:\\\"style\\\"}),p.frame(function(){r._load(t,!1!==e.validate)})},e.prototype._load=function(t,e){var r=this;if(!e||!g.emitErrors(this,g(t))){for(var n in this._loaded=!0,this.stylesheet=t,t.sources)r.addSource(n,t.sources[n],{validate:!1});t.sprite?a(t.sprite,this.map._transformRequest,function(t,e){if(t)r.fire(\\\"error\\\",t);else if(e)for(var n in e)r.imageManager.addImage(n,e[n]);r.imageManager.setLoaded(!0),r.fire(\\\"data\\\",{dataType:\\\"style\\\"})}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs);var o=w(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,u=o;s<u.length;s+=1){var c=u[s];(c=i.create(c)).setEventedParent(r,{layer:{id:c.id}}),r._layers[c.id]=c}this.dispatcher.broadcast(\\\"setLayers\\\",this._serializeLayers(this._order)),this.light=new l(this.stylesheet.light),this.fire(\\\"data\\\",{dataType:\\\"style\\\"}),this.fire(\\\"style.load\\\")}},e.prototype._validateLayer=function(t){var e=this.sourceCaches[t.source];if(e){var r=t.sourceLayer;if(r){var n=e.getSource();(\\\"geojson\\\"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(\\\"error\\\",{error:new Error('Source layer \\\"'+r+'\\\" does not exist on source \\\"'+n.id+'\\\" as specified by style layer \\\"'+t.id+'\\\"')})}}},e.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()},e.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},e.prototype.hasTransitions=function(){var t=this;if(this.light&&this.light.hasTransition())return!0;for(var e in t.sourceCaches)if(t.sourceCaches[e].hasTransition())return!0;for(var r in t._layers)if(t._layers[r].hasTransition())return!0;return!1},e.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\\\"Style is not done loading\\\")},e.prototype.update=function(t){var e=this;if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),e._updatedSources){var a=e._updatedSources[i];\\\"reload\\\"===a?e._reloadSource(i):\\\"clear\\\"===a&&e._clearSource(i)}for(var o in e._updatedPaintProps)e._layers[o].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates(),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})}for(var s in e.sourceCaches)e.sourceCaches[s].used=!1;for(var l=0,u=e._order;l<u.length;l+=1){var c=u[l],h=e._layers[c];h.recalculate(t),!h.isHidden(t.zoom)&&h.source&&(e.sourceCaches[h.source].used=!0)}this.light.recalculate(t),this.z=t.zoom}},e.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\\\"updateLayers\\\",{layers:this._serializeLayers(t),removedIds:e})},e.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},e.prototype.setState=function(t){var e=this;if(this._checkLoaded(),g.emitErrors(this,g(t)))return!1;(t=c.clone(t)).layers=w(t.layers);var r=M(this.serialize(),t).filter(function(t){return!(t.command in C)});if(0===r.length)return!1;var n=r.filter(function(t){return!(t.command in E)});if(n.length>0)throw new Error(\\\"Unimplemented: \\\"+n.map(function(t){return t.command}).join(\\\", \\\")+\\\".\\\");return r.forEach(function(t){\\\"setTransition\\\"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"An image with this name already exists.\\\")});this.imageManager.addImage(t,e),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(\\\"error\\\",{error:new Error(\\\"No image with this name exists.\\\")});this.imageManager.removeImage(t),this.fire(\\\"data\\\",{dataType:\\\"style\\\"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(\\\"There is already a source with this ID\\\");if(!e.type)throw new Error(\\\"The type property must be defined, but the only the following properties were given: \\\"+Object.keys(e).join(\\\", \\\")+\\\".\\\");if(!([\\\"vector\\\",\\\"raster\\\",\\\"geojson\\\",\\\"video\\\",\\\"image\\\",\\\"canvas\\\"].indexOf(e.type)>=0&&this._validate(g.source,\\\"sources.\\\"+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\\\"There is no source with this ID\\\");for(var r in e._layers)if(e._layers[r].source===t)return e.fire(\\\"error\\\",{error:new Error('Source \\\"'+t+'\\\" cannot be removed while layer \\\"'+r+'\\\" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(\\\"data\\\",{sourceDataType:\\\"metadata\\\",dataType:\\\"source\\\",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if(\\\"object\\\"==typeof t.source&&(this.addSource(n,t.source),t=c.clone(t),t=c.extend(t,{source:n})),!this._validate(g.layer,\\\"layers.\\\"+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]=\\\"clear\\\":(this._updatedSources[a.source]=\\\"reload\\\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire(\\\"error\\\",{error:new Error('Layer with id \\\"'+e+'\\\" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be moved.\\\")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be removed.\\\")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot have zoom extent.\\\")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return c.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,\\\"layers.\\\"+r.id+\\\".filter\\\",e)||(r.filter=c.clone(e),this._updateLayer(r)));this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be filtered.\\\")})},e.prototype.getFilter=function(t){return c.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?c.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!c.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire(\\\"error\\\",{error:new Error(\\\"The layer '\\\"+t+\\\"' does not exist in the map's style and cannot be styled.\\\")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return c.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return c.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:c.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\\\"reload\\\",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var u=l[s];e.push(u)}}return e},e.prototype.queryRenderedFeatures=function(t,e,r,n){var i=this;e&&e.filter&&this._validate(g.filter,\\\"queryRenderedFeatures.filter\\\",e.filter);var a={};if(e&&e.layers){if(!Array.isArray(e.layers))return this.fire(\\\"error\\\",{error:\\\"parameters.layers must be an Array.\\\"}),[];for(var o=0,s=e.layers;o<s.length;o+=1){var l=s[o],u=i._layers[l];if(!u)return i.fire(\\\"error\\\",{error:\\\"The layer '\\\"+l+\\\"' does not exist in the map's style and cannot be queried for features.\\\"}),[];a[u.source]=!0}}var c=[];for(var h in i.sourceCaches)if(!e.layers||a[h]){var f=y.rendered(i.sourceCaches[h],i._layers,t,e,r,n,i.placement?i.placement.collisionIndex:null);c.push(f)}return this._flattenRenderedFeatures(c)},e.prototype.querySourceFeatures=function(t,e){e&&e.filter&&this._validate(g.filter,\\\"querySourceFeatures.filter\\\",e.filter);var r=this.sourceCaches[t];return r?y.source(r,e):[]},e.prototype.addSourceType=function(t,e,r){return v(t)?r(new Error('A source type called \\\"'+t+'\\\" already exists.')):(m(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\\\"loadWorkerSource\\\",{name:t,url:e.workerSourceURL},r):r(null,null))},e.prototype.getLight=function(){return this.light.getLight()},e.prototype.setLight=function(t){this._checkLoaded();var e=this.light.getLight(),r=!1;for(var n in t)if(!c.deepEqual(t[n],e[n])){r=!0;break}if(r){var i={now:p.now(),transition:c.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t),this.light.updateTransitions(i)}},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&g.emitErrors(this,t.call(g,c.extend({key:e,style:this.serialize(),value:r,styleSpec:b},n)))},e.prototype._remove=function(){for(var t in A.evented.off(\\\"pluginAvailable\\\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[t].clearTiles();this.dispatcher.remove()},e.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},e.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},e.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},e.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},e.prototype._updatePlacement=function(t,e,r){for(var n=this,i=!1,a=!1,o={},s=0,l=n._order;s<l.length;s+=1){var u=l[s],c=n._layers[u];if(\\\"symbol\\\"===c.type){if(!o[c.source]){var h=n.sourceCaches[c.source];o[c.source]=h.getRenderableIds().map(function(t){return h.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var f=n.crossTileSymbolIndex.addLayer(c,o[c.source]);i=i||f}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(p.now()))&&(this.pauseablePlacement=new k(t,this._order,d,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,p.now()),a=!0),i&&this.pauseablePlacement.placement.setStale()),a||i)for(var g=0,v=n._order;g<v.length;g+=1){var m=v[g],y=n._layers[m];\\\"symbol\\\"===y.type&&n.placement.updateLayerOpacities(y,o[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(p.now())},e.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},e.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},e}(n);e.exports=L},{\\\"../render/glyph_manager\\\":86,\\\"../render/image_manager\\\":88,\\\"../render/line_atlas\\\":89,\\\"../source/geojson_source\\\":99,\\\"../source/query_features\\\":105,\\\"../source/rtl_text_plugin\\\":109,\\\"../source/source\\\":110,\\\"../source/source_cache\\\":111,\\\"../style-spec/deref\\\":120,\\\"../style-spec/diff\\\":121,\\\"../style-spec/reference/latest\\\":151,\\\"../symbol/cross_tile_symbol_index\\\":218,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dispatcher\\\":258,\\\"../util/evented\\\":260,\\\"../util/global_worker_pool\\\":262,\\\"../util/mapbox\\\":267,\\\"../util/util\\\":275,\\\"./light\\\":183,\\\"./load_sprite\\\":185,\\\"./pauseable_placement\\\":187,\\\"./style_layer\\\":191,\\\"./validate_style\\\":211,\\\"./zoom_history\\\":212}],191:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/reference/latest\\\"),a=t(\\\"./validate_style\\\"),o=t(\\\"../util/evented\\\"),s=t(\\\"./properties\\\"),l=s.Layout,u=s.Transitionable,c=(s.Transitioning,s.Properties,function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\\\"visible\\\",\\\"background\\\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\\\"source-layer\\\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new l(r.layout)),this._transitionablePaint=new u(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\\\"visibility\\\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!==e&&void 0!==e){var n=\\\"layers.\\\"+this.id+\\\".layout.\\\"+t;if(this._validate(a.layoutProperty,n,t,e,r))return}\\\"visibility\\\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\\\"none\\\"===e?e:\\\"visible\\\"},e.prototype.getPaintProperty=function(t){return n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.getTransition(t.slice(0,-\\\"-transition\\\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!==e&&void 0!==e){var i=\\\"layers.\\\"+this.id+\\\".paint.\\\"+t;if(this._validate(a.paintProperty,i,t,e,r))return}n.endsWith(t,\\\"-transition\\\")?this._transitionablePaint.setTransition(t.slice(0,-\\\"-transition\\\".length),e||void 0):this._transitionablePaint.setValue(t,e)},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){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},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\\\"none\\\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\\\"none\\\"),n.filterObject(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,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=c;var h={circle:t(\\\"./style_layer/circle_style_layer\\\"),heatmap:t(\\\"./style_layer/heatmap_style_layer\\\"),hillshade:t(\\\"./style_layer/hillshade_style_layer\\\"),fill:t(\\\"./style_layer/fill_style_layer\\\"),\\\"fill-extrusion\\\":t(\\\"./style_layer/fill_extrusion_style_layer\\\"),line:t(\\\"./style_layer/line_style_layer\\\"),symbol:t(\\\"./style_layer/symbol_style_layer\\\"),background:t(\\\"./style_layer/background_style_layer\\\"),raster:t(\\\"./style_layer/raster_style_layer\\\")};c.create=function(t){return new h[t.type](t)}},{\\\"../style-spec/reference/latest\\\":151,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"./properties\\\":188,\\\"./style_layer/background_style_layer\\\":192,\\\"./style_layer/circle_style_layer\\\":194,\\\"./style_layer/fill_extrusion_style_layer\\\":196,\\\"./style_layer/fill_style_layer\\\":198,\\\"./style_layer/heatmap_style_layer\\\":200,\\\"./style_layer/hillshade_style_layer\\\":202,\\\"./style_layer/line_style_layer\\\":204,\\\"./style_layer/raster_style_layer\\\":206,\\\"./style_layer/symbol_style_layer\\\":208,\\\"./validate_style\\\":211}],192:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./background_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./background_style_layer_properties\\\":193}],193:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({\\\"background-color\\\":new o(n.paint_background[\\\"background-color\\\"]),\\\"background-pattern\\\":new s(n.paint_background[\\\"background-pattern\\\"]),\\\"background-opacity\\\":new o(n.paint_background[\\\"background-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],194:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/circle_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiPoint,o=t(\\\"../query_utils\\\"),s=o.getMaximumPaintValue,l=o.translateDistance,u=o.translate,c=t(\\\"./circle_style_layer_properties\\\"),h=t(\\\"../properties\\\"),f=(h.Transitionable,h.Transitioning,h.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s(\\\"circle-radius\\\",this,e)+s(\\\"circle-stroke-width\\\",this,e)+l(this.paint.get(\\\"circle-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=u(t,this.paint.get(\\\"circle-translate\\\"),this.paint.get(\\\"circle-translate-anchor\\\"),i,o),l=this.paint.get(\\\"circle-radius\\\").evaluate(e)*o,c=this.paint.get(\\\"circle-stroke-width\\\").evaluate(e)*o;return a(s,r,l+c)},e}(n));e.exports=f},{\\\"../../data/bucket/circle_bucket\\\":42,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./circle_style_layer_properties\\\":195}],195:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"circle-radius\\\":new s(n.paint_circle[\\\"circle-radius\\\"]),\\\"circle-color\\\":new s(n.paint_circle[\\\"circle-color\\\"]),\\\"circle-blur\\\":new s(n.paint_circle[\\\"circle-blur\\\"]),\\\"circle-opacity\\\":new s(n.paint_circle[\\\"circle-opacity\\\"]),\\\"circle-translate\\\":new o(n.paint_circle[\\\"circle-translate\\\"]),\\\"circle-translate-anchor\\\":new o(n.paint_circle[\\\"circle-translate-anchor\\\"]),\\\"circle-pitch-scale\\\":new o(n.paint_circle[\\\"circle-pitch-scale\\\"]),\\\"circle-pitch-alignment\\\":new o(n.paint_circle[\\\"circle-pitch-alignment\\\"]),\\\"circle-stroke-width\\\":new s(n.paint_circle[\\\"circle-stroke-width\\\"]),\\\"circle-stroke-color\\\":new s(n.paint_circle[\\\"circle-stroke-color\\\"]),\\\"circle-stroke-opacity\\\":new s(n.paint_circle[\\\"circle-stroke-opacity\\\"])}));e.exports={paint:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],196:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_extrusion_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,u=t(\\\"./fill_extrusion_style_layer_properties\\\"),c=t(\\\"../properties\\\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-extrusion-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-extrusion-translate\\\"),this.paint.get(\\\"fill-extrusion-translate-anchor\\\"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"fill-extrusion-opacity\\\")&&\\\"none\\\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=h},{\\\"../../data/bucket/fill_extrusion_bucket\\\":46,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_extrusion_style_layer_properties\\\":197}],197:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\\\"fill-extrusion-opacity\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-opacity\\\"]),\\\"fill-extrusion-color\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-color\\\"]),\\\"fill-extrusion-translate\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate\\\"]),\\\"fill-extrusion-translate-anchor\\\":new o(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-translate-anchor\\\"]),\\\"fill-extrusion-pattern\\\":new l(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-pattern\\\"]),\\\"fill-extrusion-height\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-height\\\"]),\\\"fill-extrusion-base\\\":new s(n[\\\"paint_fill-extrusion\\\"][\\\"fill-extrusion-base\\\"])}));e.exports={paint:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],198:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/fill_bucket\\\"),a=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsMultiPolygon,o=t(\\\"../query_utils\\\"),s=o.translateDistance,l=o.translate,u=t(\\\"./fill_style_layer_properties\\\"),c=t(\\\"../properties\\\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue(\\\"fill-outline-color\\\")&&(this.paint._values[\\\"fill-outline-color\\\"]=this.paint._values[\\\"fill-color\\\"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\\\"fill-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\\\"fill-translate\\\"),this.paint.get(\\\"fill-translate-anchor\\\"),i,o);return a(s,r)},e}(n));e.exports=h},{\\\"../../data/bucket/fill_bucket\\\":44,\\\"../../util/intersection_tests\\\":264,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./fill_style_layer_properties\\\":199}],199:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\\\"fill-antialias\\\":new o(n.paint_fill[\\\"fill-antialias\\\"]),\\\"fill-opacity\\\":new s(n.paint_fill[\\\"fill-opacity\\\"]),\\\"fill-color\\\":new s(n.paint_fill[\\\"fill-color\\\"]),\\\"fill-outline-color\\\":new s(n.paint_fill[\\\"fill-outline-color\\\"]),\\\"fill-translate\\\":new o(n.paint_fill[\\\"fill-translate\\\"]),\\\"fill-translate-anchor\\\":new o(n.paint_fill[\\\"fill-translate-anchor\\\"]),\\\"fill-pattern\\\":new l(n.paint_fill[\\\"fill-pattern\\\"])}));e.exports={paint:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],200:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/heatmap_bucket\\\"),a=t(\\\"../../util/image\\\").RGBAImage,o=t(\\\"./heatmap_style_layer_properties\\\"),s=t(\\\"../properties\\\"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\\\"heatmap-color\\\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values[\\\"heatmap-color\\\"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n<r;n+=4){var i=t.evaluate({heatmapDensity:n/r});e[n+0]=Math.floor(255*i.r/i.a),e[n+1]=Math.floor(255*i.g/i.a),e[n+2]=Math.floor(255*i.b/i.a),e[n+3]=Math.floor(255*i.a)}this.colorRamp=new a({width:256,height:1},e),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}(n));e.exports=l},{\\\"../../data/bucket/heatmap_bucket\\\":47,\\\"../../util/image\\\":263,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./heatmap_style_layer_properties\\\":201}],201:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty),u=new a({\\\"heatmap-radius\\\":new s(n.paint_heatmap[\\\"heatmap-radius\\\"]),\\\"heatmap-weight\\\":new s(n.paint_heatmap[\\\"heatmap-weight\\\"]),\\\"heatmap-intensity\\\":new o(n.paint_heatmap[\\\"heatmap-intensity\\\"]),\\\"heatmap-color\\\":new l(n.paint_heatmap[\\\"heatmap-color\\\"]),\\\"heatmap-opacity\\\":new o(n.paint_heatmap[\\\"heatmap-opacity\\\"])});e.exports={paint:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],202:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./hillshade_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\\\"hillshade-exaggeration\\\")&&\\\"none\\\"!==this.visibility},e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./hillshade_style_layer_properties\\\":203}],203:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"hillshade-illumination-direction\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-direction\\\"]),\\\"hillshade-illumination-anchor\\\":new o(n.paint_hillshade[\\\"hillshade-illumination-anchor\\\"]),\\\"hillshade-exaggeration\\\":new o(n.paint_hillshade[\\\"hillshade-exaggeration\\\"]),\\\"hillshade-shadow-color\\\":new o(n.paint_hillshade[\\\"hillshade-shadow-color\\\"]),\\\"hillshade-highlight-color\\\":new o(n.paint_hillshade[\\\"hillshade-highlight-color\\\"]),\\\"hillshade-accent-color\\\":new o(n.paint_hillshade[\\\"hillshade-accent-color\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],204:[function(t,e,r){function n(t,e){return e>0?e+2*t:t}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../style_layer\\\"),o=t(\\\"../../data/bucket/line_bucket\\\"),s=t(\\\"../../util/intersection_tests\\\").multiPolygonIntersectsBufferedMultiLine,l=t(\\\"../query_utils\\\"),u=l.getMaximumPaintValue,c=l.translateDistance,h=l.translate,f=t(\\\"./line_style_layer_properties\\\"),p=t(\\\"../../util/util\\\").extend,d=t(\\\"../evaluation_parameters\\\"),g=t(\\\"../properties\\\"),v=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(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){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(f.paint.properties[\\\"line-width\\\"].specification));v.useIntegerZoom=!0;var m=function(t){function e(e){t.call(this,e,f)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\\\"line-floorwidth\\\"]=v.possiblyEvaluate(this._transitioningPaint._values[\\\"line-width\\\"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(u(\\\"line-width\\\",this,e),u(\\\"line-gap-width\\\",this,e)),i=u(\\\"line-offset\\\",this,e);return r/2+Math.abs(i)+c(this.paint.get(\\\"line-translate\\\"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var u=h(t,this.paint.get(\\\"line-translate\\\"),this.paint.get(\\\"line-translate-anchor\\\"),o,l),c=l/2*n(this.paint.get(\\\"line-width\\\").evaluate(e),this.paint.get(\\\"line-gap-width\\\").evaluate(e)),f=this.paint.get(\\\"line-offset\\\").evaluate(e);return f&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var u=o[l-1],c=o[l],h=o[l+1],f=0===l?n:c.sub(u)._unit()._perp(),p=l===o.length-1?n:h.sub(c)._unit()._perp(),d=f._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(c))}r.push(s)}return r}(r,f*l)),s(u,r,c)},e}(a);e.exports=m},{\\\"../../data/bucket/line_bucket\\\":49,\\\"../../util/intersection_tests\\\":264,\\\"../../util/util\\\":275,\\\"../evaluation_parameters\\\":182,\\\"../properties\\\":188,\\\"../query_utils\\\":189,\\\"../style_layer\\\":191,\\\"./line_style_layer_properties\\\":205,\\\"@mapbox/point-geometry\\\":4}],205:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\\\"line-cap\\\":new o(n.layout_line[\\\"line-cap\\\"]),\\\"line-join\\\":new s(n.layout_line[\\\"line-join\\\"]),\\\"line-miter-limit\\\":new o(n.layout_line[\\\"line-miter-limit\\\"]),\\\"line-round-limit\\\":new o(n.layout_line[\\\"line-round-limit\\\"])})),c=new a({\\\"line-opacity\\\":new s(n.paint_line[\\\"line-opacity\\\"]),\\\"line-color\\\":new s(n.paint_line[\\\"line-color\\\"]),\\\"line-translate\\\":new o(n.paint_line[\\\"line-translate\\\"]),\\\"line-translate-anchor\\\":new o(n.paint_line[\\\"line-translate-anchor\\\"]),\\\"line-width\\\":new s(n.paint_line[\\\"line-width\\\"]),\\\"line-gap-width\\\":new s(n.paint_line[\\\"line-gap-width\\\"]),\\\"line-offset\\\":new s(n.paint_line[\\\"line-offset\\\"]),\\\"line-blur\\\":new s(n.paint_line[\\\"line-blur\\\"]),\\\"line-dasharray\\\":new l(n.paint_line[\\\"line-dasharray\\\"]),\\\"line-pattern\\\":new l(n.paint_line[\\\"line-pattern\\\"])});e.exports={paint:c,layout:u}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],206:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"./raster_style_layer_properties\\\"),a=t(\\\"../properties\\\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./raster_style_layer_properties\\\":207}],207:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"raster-opacity\\\":new o(n.paint_raster[\\\"raster-opacity\\\"]),\\\"raster-hue-rotate\\\":new o(n.paint_raster[\\\"raster-hue-rotate\\\"]),\\\"raster-brightness-min\\\":new o(n.paint_raster[\\\"raster-brightness-min\\\"]),\\\"raster-brightness-max\\\":new o(n.paint_raster[\\\"raster-brightness-max\\\"]),\\\"raster-saturation\\\":new o(n.paint_raster[\\\"raster-saturation\\\"]),\\\"raster-contrast\\\":new o(n.paint_raster[\\\"raster-contrast\\\"]),\\\"raster-fade-duration\\\":new o(n.paint_raster[\\\"raster-fade-duration\\\"])}));e.exports={paint:s}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],208:[function(t,e,r){var n=t(\\\"../style_layer\\\"),i=t(\\\"../../data/bucket/symbol_bucket\\\"),a=t(\\\"../../util/token\\\"),o=t(\\\"../../style-spec/expression\\\").isExpression,s=t(\\\"./symbol_style_layer_properties\\\"),l=t(\\\"../properties\\\"),u=(l.Transitionable,l.Transitioning,l.Layout,l.PossiblyEvaluated,function(t){function e(e){t.call(this,e,s)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\\\"auto\\\"===this.layout.get(\\\"icon-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"icon-rotation-alignment\\\"]=\\\"viewport\\\"),\\\"auto\\\"===this.layout.get(\\\"text-rotation-alignment\\\")&&(\\\"line\\\"===this.layout.get(\\\"symbol-placement\\\")?this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"map\\\":this.layout._values[\\\"text-rotation-alignment\\\"]=\\\"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\\\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||o(n.value)?r:a(e.properties,r)},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(n));e.exports=u},{\\\"../../data/bucket/symbol_bucket\\\":51,\\\"../../style-spec/expression\\\":139,\\\"../../util/token\\\":274,\\\"../properties\\\":188,\\\"../style_layer\\\":191,\\\"./symbol_style_layer_properties\\\":209}],209:[function(t,e,r){var n=t(\\\"../../style-spec/reference/latest\\\"),i=t(\\\"../properties\\\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\\\"symbol-placement\\\":new o(n.layout_symbol[\\\"symbol-placement\\\"]),\\\"symbol-spacing\\\":new o(n.layout_symbol[\\\"symbol-spacing\\\"]),\\\"symbol-avoid-edges\\\":new o(n.layout_symbol[\\\"symbol-avoid-edges\\\"]),\\\"icon-allow-overlap\\\":new o(n.layout_symbol[\\\"icon-allow-overlap\\\"]),\\\"icon-ignore-placement\\\":new o(n.layout_symbol[\\\"icon-ignore-placement\\\"]),\\\"icon-optional\\\":new o(n.layout_symbol[\\\"icon-optional\\\"]),\\\"icon-rotation-alignment\\\":new o(n.layout_symbol[\\\"icon-rotation-alignment\\\"]),\\\"icon-size\\\":new s(n.layout_symbol[\\\"icon-size\\\"]),\\\"icon-text-fit\\\":new o(n.layout_symbol[\\\"icon-text-fit\\\"]),\\\"icon-text-fit-padding\\\":new o(n.layout_symbol[\\\"icon-text-fit-padding\\\"]),\\\"icon-image\\\":new s(n.layout_symbol[\\\"icon-image\\\"]),\\\"icon-rotate\\\":new s(n.layout_symbol[\\\"icon-rotate\\\"]),\\\"icon-padding\\\":new o(n.layout_symbol[\\\"icon-padding\\\"]),\\\"icon-keep-upright\\\":new o(n.layout_symbol[\\\"icon-keep-upright\\\"]),\\\"icon-offset\\\":new s(n.layout_symbol[\\\"icon-offset\\\"]),\\\"icon-anchor\\\":new s(n.layout_symbol[\\\"icon-anchor\\\"]),\\\"icon-pitch-alignment\\\":new o(n.layout_symbol[\\\"icon-pitch-alignment\\\"]),\\\"text-pitch-alignment\\\":new o(n.layout_symbol[\\\"text-pitch-alignment\\\"]),\\\"text-rotation-alignment\\\":new o(n.layout_symbol[\\\"text-rotation-alignment\\\"]),\\\"text-field\\\":new s(n.layout_symbol[\\\"text-field\\\"]),\\\"text-font\\\":new s(n.layout_symbol[\\\"text-font\\\"]),\\\"text-size\\\":new s(n.layout_symbol[\\\"text-size\\\"]),\\\"text-max-width\\\":new s(n.layout_symbol[\\\"text-max-width\\\"]),\\\"text-line-height\\\":new o(n.layout_symbol[\\\"text-line-height\\\"]),\\\"text-letter-spacing\\\":new s(n.layout_symbol[\\\"text-letter-spacing\\\"]),\\\"text-justify\\\":new s(n.layout_symbol[\\\"text-justify\\\"]),\\\"text-anchor\\\":new s(n.layout_symbol[\\\"text-anchor\\\"]),\\\"text-max-angle\\\":new o(n.layout_symbol[\\\"text-max-angle\\\"]),\\\"text-rotate\\\":new s(n.layout_symbol[\\\"text-rotate\\\"]),\\\"text-padding\\\":new o(n.layout_symbol[\\\"text-padding\\\"]),\\\"text-keep-upright\\\":new o(n.layout_symbol[\\\"text-keep-upright\\\"]),\\\"text-transform\\\":new s(n.layout_symbol[\\\"text-transform\\\"]),\\\"text-offset\\\":new s(n.layout_symbol[\\\"text-offset\\\"]),\\\"text-allow-overlap\\\":new o(n.layout_symbol[\\\"text-allow-overlap\\\"]),\\\"text-ignore-placement\\\":new o(n.layout_symbol[\\\"text-ignore-placement\\\"]),\\\"text-optional\\\":new o(n.layout_symbol[\\\"text-optional\\\"])})),u=new a({\\\"icon-opacity\\\":new s(n.paint_symbol[\\\"icon-opacity\\\"]),\\\"icon-color\\\":new s(n.paint_symbol[\\\"icon-color\\\"]),\\\"icon-halo-color\\\":new s(n.paint_symbol[\\\"icon-halo-color\\\"]),\\\"icon-halo-width\\\":new s(n.paint_symbol[\\\"icon-halo-width\\\"]),\\\"icon-halo-blur\\\":new s(n.paint_symbol[\\\"icon-halo-blur\\\"]),\\\"icon-translate\\\":new o(n.paint_symbol[\\\"icon-translate\\\"]),\\\"icon-translate-anchor\\\":new o(n.paint_symbol[\\\"icon-translate-anchor\\\"]),\\\"text-opacity\\\":new s(n.paint_symbol[\\\"text-opacity\\\"]),\\\"text-color\\\":new s(n.paint_symbol[\\\"text-color\\\"]),\\\"text-halo-color\\\":new s(n.paint_symbol[\\\"text-halo-color\\\"]),\\\"text-halo-width\\\":new s(n.paint_symbol[\\\"text-halo-width\\\"]),\\\"text-halo-blur\\\":new s(n.paint_symbol[\\\"text-halo-blur\\\"]),\\\"text-translate\\\":new o(n.paint_symbol[\\\"text-translate\\\"]),\\\"text-translate-anchor\\\":new o(n.paint_symbol[\\\"text-translate-anchor\\\"])});e.exports={paint:u,layout:l}},{\\\"../../style-spec/reference/latest\\\":151,\\\"../properties\\\":188}],210:[function(t,e,r){var n=t(\\\"./style_layer\\\"),i=t(\\\"../util/util\\\"),a=t(\\\"../style-spec/feature_filter\\\"),o=t(\\\"../style-spec/group_by_layout\\\"),s=function(t){t&&this.replace(t)};s.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},s.prototype.update=function(t,e){for(var r=this,s=0,l=t;s<l.length;s+=1){var u=l[s];r._layerConfigs[u.id]=u;var c=r._layers[u.id]=n.create(u);c._featureFilter=a(c.filter)}for(var h=0,f=e;h<f.length;h+=1){var p=f[h];delete r._layerConfigs[p],delete r._layers[p]}this.familiesBySource={};for(var d=0,g=o(i.values(this._layerConfigs));d<g.length;d+=1){var v=g[d].map(function(t){return r._layers[t.id]}),m=v[0];if(\\\"none\\\"!==m.visibility){var y=m.source||\\\"\\\",x=r.familiesBySource[y];x||(x=r.familiesBySource[y]={});var b=m.sourceLayer||\\\"_geojsonTileLayer\\\",_=x[b];_||(_=x[b]=[]),_.push(v)}}},e.exports=s},{\\\"../style-spec/feature_filter\\\":148,\\\"../style-spec/group_by_layout\\\":150,\\\"../util/util\\\":275,\\\"./style_layer\\\":191}],211:[function(t,e,r){e.exports=t(\\\"../style-spec/validate_style.min\\\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0,n=e;r<n.length;r+=1){var i=n[r].message;t.fire(\\\"error\\\",{error:new Error(i)})}return!0}return!1}},{\\\"../style-spec/validate_style.min\\\":181}],212:[function(t,e,r){var n=function(){this.first=!0};n.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))},e.exports=n},{}],213:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../util/web_worker_transfer\\\").register,a=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(n);i(\\\"Anchor\\\",a),e.exports=a},{\\\"../util/web_worker_transfer\\\":278,\\\"@mapbox/point-geometry\\\":4}],214:[function(t,e,r){e.exports=function(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var p=c.angleTo(h)-h.angleTo(f);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),u+=p;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}},{}],215:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\");e.exports=function(t,e,r,i,a){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],u=void 0,c=0;c<l.length-1;c++){var h=l[c],f=l[c+1];h.x<e&&f.x<e||(h.x<e?h=new n(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new n(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round()),h.y<r&&f.y<r||(h.y<r?h=new n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=i&&f.x>=i||(h.x>=i?h=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round():f.x>=i&&(f=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),u&&h.equals(u[u.length-1])||(u=[h],o.push(u)),u.push(f)))))}return o}},{\\\"@mapbox/point-geometry\\\":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,u){var g=f-h,v=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,v,g,n,i,a,c))}else t.emplaceBack(r.x,r.y,p,h,d,f,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,u){var c=a/2,h=Math.floor(i/c),f=1+.4*Math.log(u)/Math.LN2,p=Math.floor(h*f/2),d=-a/2,g=r,v=n+1,m=d,y=-i/2,x=y-i/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_<h+p;_++){var w=_*c,M=y+w;if(w<0&&(M+=w),w>i&&(M+=w-i),!(M<m)){for(;m+b<M;){if(m+=b,++v+1>=e.length)return;b=e[v].dist(e[v+1])}var A=M-m,k=e[v],T=e[v+1].sub(k)._unit()._mult(A)._add(k)._round(),S=Math.abs(M-d)<c?0:.8*(M-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}},e.exports=n},{}],217:[function(t,e,r){function n(t,e,r){t[e+4]=r?1:0}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"../util/intersection_tests\\\"),o=t(\\\"./grid_index\\\"),s=(t(\\\"@mapbox/gl-matrix\\\").mat4,t(\\\"../symbol/projection\\\")),l=function(t,e,r){void 0===e&&(e=new o(t.width+200,t.height+200,25)),void 0===r&&(r=new o(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};l.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,u=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,u)?{box:[],offscreen:!1}:{box:[o,s,l,u],offscreen:this.isOffscreen(o,s,l,u)}},l.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},l.prototype.placeCollisionCircles=function(t,e,r,a,o,l,u,c,h,f,p,d,g){var v=this,m=[],y=this.projectAnchor(f,l.anchorX,l.anchorY),x=h/24,b=l.lineOffsetX*h,_=l.lineOffsetY*h,w=new i(l.anchorX,l.anchorY),M=s.project(w,p).point,A=s.placeFirstAndLastGlyph(x,c,b,_,!1,M,w,l,u,p,{},!0),k=!1,T=!0,S=y.perspectiveRatio*a,E=1/(a*r),C=0,L=0;A&&(C=this.approximateTileDistance(A.first.tileDistance,A.first.angle,E,y.cameraDistance,g),L=this.approximateTileDistance(A.last.tileDistance,A.last.angle,E,y.cameraDistance,g));for(var z=0;z<t.length;z+=5){var P=t[z],I=t[z+1],D=t[z+2],O=t[z+3];if(!A||O<-C||O>L)n(t,z,!1);else{var R=v.projectPoint(f,P,I),F=D*S;if(m.length>0){var B=R.x-m[m.length-4],N=R.y-m[m.length-3];if(F*F*2>B*B+N*N&&z+8<t.length){var j=t[z+8];if(j>-C&&j<L){n(t,z,!1);continue}}}var V=z/5;if(m.push(R.x,R.y,F,V),n(t,z,!0),T=T&&v.isOffscreen(R.x-F,R.y-F,R.x+F,R.y+F),!e&&v.grid.hitTestCircle(R.x,R.y,F)){if(!d)return{circles:[],offscreen:!1};k=!0}}}return{circles:k?[]:m,offscreen:T}},l.prototype.queryRenderedSymbols=function(t,e,r,n,o,s){var l={},u=[];if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return u;for(var c=this.transform.calculatePosMatrix(e.toUnwrapped()),h=[],f=1/0,p=1/0,d=-1/0,g=-1/0,v=0;v<t.length;v++)for(var m=t[v],y=0;y<m.length;y++){var x=this.projectPoint(c,m[y].x,m[y].y);f=Math.min(f,x.x),p=Math.min(p,x.y),d=Math.max(d,x.x),g=Math.max(g,x.y),h.push(x)}for(var b=e.key,_=[],w=this.grid.query(f,p,d,g),M=0;M<w.length;M++)w[M].sourceID===o&&w[M].tileID===b&&s[w[M].bucketInstanceId]&&_.push(w[M].boxIndex);for(var A=this.ignoredGrid.query(f,p,d,g),k=0;k<A.length;k++)A[k].sourceID===o&&A[k].tileID===b&&s[A[k].bucketInstanceId]&&_.push(A[k].boxIndex);for(var T=0;T<_.length;T++){var S=n.get(_[T]),E=S.sourceLayerIndex,C=S.featureIndex,L=S.bucketIndex;if(void 0===l[E]&&(l[E]={}),void 0===l[E][C]&&(l[E][C]={}),!l[E][C][L]){var z=this.projectAndGetPerspectiveRatio(c,S.anchorPointX,S.anchorPointY),P=r*z.perspectiveRatio,I=S.x1*P+z.point.x,D=S.y1*P+z.point.y,O=S.x2*P+z.point.x,R=S.y2*P+z.point.y,F=[new i(I,D),new i(O,D),new i(O,R),new i(I,R)];a.polygonIntersectsPolygon(h,F)&&(l[E][C][L]=!0,u.push(_[T]))}}return u},l.prototype.insertCollisionBox=function(t,e,r,n,i,a){var o={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a};(e?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])},l.prototype.insertCollisionCircles=function(t,e,r,n,i,a){for(var o=e?this.ignoredGrid:this.grid,s=0;s<t.length;s+=4){var l={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a+t[s+3]};o.insertCircle(l,t[s],t[s+1],t[s+2])}},l.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},l.prototype.projectPoint=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100)},l.prototype.projectAndGetPerspectiveRatio=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{point:new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5}},l.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{\\\"../symbol/projection\\\":224,\\\"../util/intersection_tests\\\":264,\\\"./grid_index\\\":220,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],218:[function(t,e,r){var n=t(\\\"../data/extent\\\"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.key;n.indexedSymbolInstances[s]||(n.indexedSymbolInstances[s]=[]),n.indexedSymbolInstances[s].push({crossTileID:o.crossTileID,coord:n.getScaledCoordinates(o,t)})}};a.prototype.getScaledCoordinates=function(t,e){var r=e.canonical.z-this.tileID.canonical.z,a=i/Math.pow(2,r),o=t.anchor;return{x:Math.floor((e.canonical.x*n+o.x)*a),y:Math.floor((e.canonical.y*n+o.y)*a)}},a.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),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),u=0,c=s;u<c.length;u+=1){var h=c[u];if(Math.abs(h.coord.x-l.x)<=n&&Math.abs(h.coord.y-l.y)<=n&&!r[h.crossTileID]){r[h.crossTileID]=!0,o.crossTileID=h.crossTileID;break}}}}};var o=function(){this.maxCrossTileID=0};o.prototype.generate=function(){return++this.maxCrossTileID};var s=function(){this.indexes={},this.usedCrossTileIDs={}};s.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,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var o=this.usedCrossTileIDs[t.overscaledZ];for(var s in this.indexes){var l=this.indexes[s];if(Number(s)>t.overscaledZ)for(var u in l){var c=l[u];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,o)}else{var h=l[t.scaledTo(Number(s)).key];h&&h.findMatches(e.symbolInstances,t,o)}}for(var f=0,p=e.symbolInstances;f<p.length;f+=1){var d=p[f];d.crossTileID||(d.crossTileID=r.generate(),o[d.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new a(t,e.symbolInstances,e.bucketInstanceId),!0},s.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},s.prototype.removeStaleBuckets=function(t){var e=this,r=!1;for(var n in e.indexes){var i=e.indexes[n];for(var a in i)t[i[a].bucketInstanceId]||(e.removeBucketCrossTileIDs(n,i[a]),delete i[a],r=!0)}return r};var l=function(){this.layerIndexes={},this.crossTileIDs=new o,this.maxBucketInstanceId=0};l.prototype.addLayer=function(t,e){var r=this.layerIndexes[t.id];void 0===r&&(r=this.layerIndexes[t.id]=new s);for(var n=!1,i={},a=0,o=e;a<o.length;a+=1){var l=o[a],u=l.getBucket(t);u&&(u.bucketInstanceId||(u.bucketInstanceId=++this.maxBucketInstanceId),r.addBucket(l.tileID,u,this.crossTileIDs)&&(n=!0),i[u.bucketInstanceId]=!0)}return r.removeStaleBuckets(i)&&(n=!0),n},l.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]},e.exports=l},{\\\"../data/extent\\\":53}],219:[function(t,e,r){var n=t(\\\"../style-spec/util/interpolate\\\").number,i=t(\\\"../symbol/anchor\\\"),a=t(\\\"./check_max_angle\\\");e.exports=function(t,e,r,o,s,l,u,c,h){var f=o?.6*l*u:0,p=Math.max(o?o.right-o.left:0,s?s.right-s.left:0),d=0===t[0].x||t[0].x===h||0===t[0].y||t[0].y===h;return e-p*u<e/4&&(e=p*u+e/4),function t(e,r,o,s,l,u,c,h,f){for(var p=u/2,d=0,g=0;g<e.length-1;g++)d+=e[g].dist(e[g+1]);for(var v=0,m=r-o,y=[],x=0;x<e.length-1;x++){for(var b=e[x],_=e[x+1],w=b.dist(_),M=_.angleTo(b);m+o<v+w;){var A=((m+=o)-v)/w,k=n(b.x,_.x,A),T=n(b.y,_.y,A);if(k>=0&&k<f&&T>=0&&T<f&&m-p>=0&&m+p<=d){var S=new i(k,T,M,x);S._round(),s&&!a(e,S,u,s,l)||y.push(S)}}v+=w}return h||y.length||c||(y=t(e,v/2,o,s,l,u,c,!0,f)),y}(t,d?e/2*c%e:(p/2+2*l)*u*c%e,e,f,r,p*u,d,!1,h)}},{\\\"../style-spec/util/interpolate\\\":158,\\\"../symbol/anchor\\\":213,\\\"./check_max_angle\\\":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.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};n.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.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)},n.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},n.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},n.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,u),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=c[d+2]&&e<=c[d+3]&&r>=c[d+0]&&n>=c[d+1]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(s._circleAndRectCollide(v[b],v[b+1],v[b+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;a.push(s.circleKeys[x])}}}},n.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,c[d+0],c[d+1],c[d+2],c[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circlesCollide(v[b],v[b+1],v[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),c=this._convertToYCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var p=this.xCellCount*f+h;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},n.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},n.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var h=l-s,f=c-u;return h*h+f*f<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\\\":\\\"+n.x+\\\":\\\"+n.y}for(var a={},o={},s=[],l=0,u=0;u<t.length;u++){var c=t[u],h=c.geometry,f=c.text;if(f){var p=i(f,h),d=i(f,h,!0);if(p in o&&d in a&&o[p]!==a[d]){var g=n(p,d,h),v=r(p,d,s[g].geometry);delete a[p],delete o[d],o[i(f,s[v].geometry,!0)]=v,s[g].geometry=null}else p in o?r(p,d,h):d in a?n(p,d,h):(e(u),a[p]=l-1,o[d]=l-1)}else e(u)}return s.filter(function(t){return t.geometry})}},{}],222:[function(t,e,r){var n=t(\\\"../util/web_worker_transfer\\\").register,i=function(){this.opacity=0,this.targetOpacity=0,this.time=0};i.prototype.clone=function(){var t=new i;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},n(\\\"OpacityState\\\",i),e.exports=i},{\\\"../util/web_worker_transfer\\\":278}],223:[function(t,e,r){function n(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}function i(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*g+e*v+r*m+e*y+r*x+e*b+r*_+e}var a=t(\\\"./collision_index\\\"),o=t(\\\"../data/extent\\\"),s=t(\\\"./symbol_size\\\"),l=t(\\\"./projection\\\"),u=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,c=t(\\\"../source/pixels_to_tile_units\\\"),h=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};h.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var f=function(t,e,r,n,i){this.text=new h(t?t.text:null,e,r,i),this.icon=new h(t?t.icon:null,e,n,i)};f.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var p=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},d=function(t,e){this.transform=t.clone(),this.collisionIndex=new a(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e};d.prototype.placeLayerTile=function(t,e,r,n){var i=e.getBucket(t);if(i){var a=i.layers[0].layout,s=Math.pow(2,this.transform.zoom-e.tileID.overscaledZ),u=e.tileSize/o,h=this.transform.calculatePosMatrix(e.tileID.toUnwrapped()),f=l.getLabelPlaneMatrix(h,\\\"map\\\"===a.get(\\\"text-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"text-rotation-alignment\\\"),this.transform,c(e,1,this.transform.zoom)),p=l.getLabelPlaneMatrix(h,\\\"map\\\"===a.get(\\\"icon-pitch-alignment\\\"),\\\"map\\\"===a.get(\\\"icon-rotation-alignment\\\"),this.transform,c(e,1,this.transform.zoom));this.placeLayerBucket(i,h,f,p,s,u,r,n,e.collisionBoxArray,e.tileID.key,t.source)}},d.prototype.placeLayerBucket=function(t,e,r,n,i,a,o,l,c,h,f){for(var d=this,g=t.layers[0].layout,v=s.evaluateSizeForZoom(t.textSizeData,this.transform.zoom,u.properties[\\\"text-size\\\"]),m=!t.hasTextData()||g.get(\\\"text-optional\\\"),y=!t.hasIconData()||g.get(\\\"icon-optional\\\"),x=0,b=t.symbolInstances;x<b.length;x+=1){var _=b[x];if(!l[_.crossTileID]){var w=!1,M=!1,A=!0,k=null,T=null,S=null;_.collisionArrays||(_.collisionArrays=t.deserializeCollisionBoxes(c,_.textBoxStartIndex,_.textBoxEndIndex,_.iconBoxStartIndex,_.iconBoxEndIndex)),_.collisionArrays.textBox&&(w=(k=d.collisionIndex.placeCollisionBox(_.collisionArrays.textBox,g.get(\\\"text-allow-overlap\\\"),a,e)).box.length>0,A=A&&k.offscreen);var E=_.collisionArrays.textCircles;if(E){var C=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,v,C);T=d.collisionIndex.placeCollisionCircles(E,g.get(\\\"text-allow-overlap\\\"),i,a,_.key,C,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,\\\"map\\\"===g.get(\\\"text-pitch-alignment\\\")),w=g.get(\\\"text-allow-overlap\\\")||T.circles.length>0,A=A&&T.offscreen}_.collisionArrays.iconBox&&(M=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get(\\\"icon-allow-overlap\\\"),a,e)).box.length>0,A=A&&S.offscreen),m||y?y?m||(M=M&&w):w=M&&w:M=w=M&&w,w&&k&&d.collisionIndex.insertCollisionBox(k.box,g.get(\\\"text-ignore-placement\\\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),M&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get(\\\"icon-ignore-placement\\\"),h,f,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get(\\\"text-ignore-placement\\\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,M,A||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new f(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new f(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var u in a){var c=a[u];if(!r.opacities[u]){var h=new f(c,i,!1,!1);h.isHidden()||(r.opacities[u]=h,n=n||c.text.placed||c.icon.placed)}}n?this.lastPlacementChangeTime=e:\\\"number\\\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},d.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var a=t.layers[0].layout,o=new f(null,0,a.get(\\\"text-allow-overlap\\\"),a.get(\\\"icon-allow-overlap\\\"),!0),s=0;s<t.symbolInstances.length;s++){var l=t.symbolInstances[s],u=e[l.crossTileID],c=this.opacities[l.crossTileID];c?u&&(c=o):(c=o,this.opacities[l.crossTileID]=c),e[l.crossTileID]=!0;var h=l.numGlyphVertices>0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(h){for(var d=i(c.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,v=0;v<g;v++)t.text.opacityVertexArray.emplaceBack(d);for(var m=0,y=l.placedTextSymbolIndices;m<y.length;m+=1){var x=y[m];t.text.placedSymbolArray.get(x).hidden=c.text.isHidden()}}if(p){for(var b=i(c.icon),_=0;_<l.numIconVertices/4;_++)t.icon.opacityVertexArray.emplaceBack(b);t.icon.placedSymbolArray.get(s).hidden=c.icon.isHidden()}l.collisionArrays||(l.collisionArrays=t.deserializeCollisionBoxes(r,l.textBoxStartIndex,l.textBoxEndIndex,l.iconBoxStartIndex,l.iconBoxEndIndex));var w=l.collisionArrays;if(w){w.textBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.text.placed,!1),w.iconBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.icon.placed,!1);var M=w.textCircles;if(M&&t.hasCollisionCircleData())for(var A=0;A<M.length;A+=5){var k=u||0===M[A+4];n(t.collisionCircle.collisionVertexArray,c.text.placed,k)}}}t.sortFeatures(this.transform.angle),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},d.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},d.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},d.prototype.stillRecent=function(t){return\\\"undefined\\\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),v=Math.pow(2,24),m=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{\\\"../data/extent\\\":53,\\\"../source/pixels_to_tile_units\\\":104,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"./collision_index\\\":217,\\\"./projection\\\":224,\\\"./symbol_size\\\":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];h(r,r,e);var n=r[3];return{point:new f(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(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 a(t,e,r,n,i,a,o,s,l,c,h,f){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,v=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(p-1),y=u(t*v,r,n,i,a,o,s.segment,d,g,l,c,h,f);if(!y)return null;var x=u(t*m,r,n,i,a,o,s.segment,d,g,l,c,h,f);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.y<r.y:e.x>r.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,c,h,p,d,g,v,y,x,b){var _,w=e/24,M=t.lineOffsetX*e,A=t.lineOffsetY*e;if(t.numGlyphs>1){var k=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,E=a(w,p,M,A,r,v,y,t,d,c,x,!1);if(!E)return{notEnoughRoom:!0};var C=n(E.first.point,h).point,L=n(E.last.point,h).point;if(i&&!r){var z=o(t.writingMode,C,L,b);if(z)return z}_=[E.first];for(var P=t.glyphStartIndex+1;P<k-1;P++)_.push(u(w*p.getoffsetX(P),M,A,r,v,y,t.segment,T,S,d,c,x,!1));_.push(E.last)}else{if(i&&!r){var I=n(y,s).point,D=t.lineStartIndex+t.segment+1,O=new f(d.getx(D),d.gety(D)),R=n(O,s),F=R.signedDistanceFromCamera>0?R.point:l(y,O,I,1,s),B=o(t.writingMode,I,F,b);if(B)return B}var N=u(w*p.getoffsetX(t.glyphStartIndex),M,A,r,v,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,c,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j<V.length;j+=1){var U=V[j];m(g,U.point,U.angle)}return{}}function l(t,e,r,i,a){var o=n(t.add(t.sub(e)._unit()),a).point,s=r.sub(o);return r.add(s._mult(i/s.mag()))}function u(t,e,r,i,a,o,s,u,c,h,p,d,g){var v=i?t-e:t+e,m=v>0?1:-1,y=0;i&&(m*=-1,y=Math.PI),m<0&&(y+=Math.PI);for(var x=m>0?u+s:u+s+1,b=x,_=a,w=a,M=0,A=0,k=Math.abs(v);M+A<=k;){if((x+=m)<u||x>=c)return null;if(w=_,void 0===(_=d[x])){var T=new f(h.getx(x),h.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var E=x-m;_=l(0===M?o:new f(h.getx(E),h.gety(E)),T,w,k-M+1,p)}}M+=A,A=w.dist(_)}var C=(k-M)/A,L=_.sub(w),z=L.mult(C)._add(w);return z._add(L._unit()._perp()._mult(r*m)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-m===b?0:h.gettileUnitDistanceFromAnchor(x-m),lastSegmentViewportDistance:k-M}:null}}function c(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(b,3*n)}}function h(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}var f=t(\\\"@mapbox/point-geometry\\\"),p=t(\\\"@mapbox/gl-matrix\\\"),d=p.mat4,g=p.vec4,v=t(\\\"./symbol_size\\\"),m=t(\\\"../data/bucket/symbol_bucket\\\").addDynamicAttributes,y=t(\\\"../style/style_layer/symbol_style_layer_properties\\\").layout,x=t(\\\"../symbol/shaping\\\").WritingMode;e.exports={updateLineLabels:function(t,e,r,a,o,l,u,h){var p=a?t.textSizeData:t.iconSizeData,d=v.evaluateSizeForZoom(p,r.transform.zoom,y.properties[a?\\\"text-size\\\":\\\"icon-size\\\"]),m=[256/r.width*2+1,256/r.height*2+1],b=a?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;b.clear();for(var _=t.lineVertexArray,w=a?t.text.placedSymbolArray:t.icon.placedSymbolArray,M=r.transform.width/r.transform.height,A=!1,k=0;k<w.length;k++){var T=w.get(k);if(T.hidden||T.writingMode===x.vertical&&!A)c(T.numGlyphs,b);else{A=!1;var S=[T.anchorX,T.anchorY,0,1];if(g.transformMat4(S,S,e),i(S,m)){var E=.5+S[3]/r.transform.cameraToCenterDistance*.5,C=v.evaluateSizeForFeature(p,d,T),L=u?C*E:C/E,z=new f(T.anchorX,T.anchorY),P=n(z,o).point,I={},D=s(T,L,!1,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M);A=D.useVertical,(D.notEnoughRoom||A||D.needsFlipping&&s(T,L,!0,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M).notEnoughRoom)&&c(T.numGlyphs,b)}else c(T.numGlyphs,b)}}a?t.text.dynamicLayoutVertexBuffer.updateData(b):t.icon.dynamicLayoutVertexBuffer.updateData(b)},getLabelPlaneMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.identity(a),d.scale(a,a,[1/i,1/i,1]),r||d.rotateZ(a,a,n.angle)):(d.scale(a,a,[n.width/2,-n.height/2,1]),d.translate(a,a,[1,-1,0]),d.multiply(a,a,t)),a},getGlCoordMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.multiply(a,a,t),d.scale(a,a,[i,i,1]),r||d.rotateZ(a,a,-n.angle)):(d.scale(a,a,[1,-1,1]),d.translate(a,a,[-1,-1,0]),d.scale(a,a,[2/n.width,2/n.height,1])),a},project:n,placeFirstAndLastGlyph:a,xyTransformMat4:h};var b=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0])},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../style/style_layer/symbol_style_layer_properties\\\":209,\\\"../symbol/shaping\\\":226,\\\"./symbol_size\\\":228,\\\"@mapbox/gl-matrix\\\":2,\\\"@mapbox/point-geometry\\\":4}],225:[function(t,e,r){var n=t(\\\"@mapbox/point-geometry\\\"),i=t(\\\"../style/parse_glyph_pbf\\\").GLYPH_PBF_BORDER;e.exports={getIconQuads:function(t,e,r,i,a,o,s){var l,u,c,h,f=e.image,p=r.layout,d=e.top-1/f.pixelRatio,g=e.left-1/f.pixelRatio,v=e.bottom+1/f.pixelRatio,m=e.right+1/f.pixelRatio;if(\\\"none\\\"!==p.get(\\\"icon-text-fit\\\")&&a){var y=m-g,x=v-d,b=p.get(\\\"text-size\\\").evaluate(s)/24,_=a.left*b,w=a.right*b,M=a.top*b,A=w-_,k=a.bottom*b-M,T=p.get(\\\"icon-text-fit-padding\\\")[0],S=p.get(\\\"icon-text-fit-padding\\\")[1],E=p.get(\\\"icon-text-fit-padding\\\")[2],C=p.get(\\\"icon-text-fit-padding\\\")[3],L=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")?.5*(k-x):0,z=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")?.5*(A-y):0,P=\\\"width\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?A:y,I=\\\"height\\\"===p.get(\\\"icon-text-fit\\\")||\\\"both\\\"===p.get(\\\"icon-text-fit\\\")?k:x;l=new n(_+z-C,M+L-T),u=new n(_+z+S+P,M+L-T),c=new n(_+z+S+P,M+L+E+I),h=new n(_+z-C,M+L+E+I)}else l=new n(g,d),u=new n(m,d),c=new n(m,v),h=new n(g,v);var D=r.layout.get(\\\"icon-rotate\\\").evaluate(s)*Math.PI/180;if(D){var O=Math.sin(D),R=Math.cos(D),F=[R,-O,O,R];l._matMult(F),u._matMult(F),h._matMult(F),c._matMult(F)}return[{tl:l,tr:u,bl:h,br:c,tex:{x:f.textureRect.x-1,y:f.textureRect.y-1,w:f.textureRect.w+2,h:f.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,r,a,o,s,l){for(var u=r.layout.get(\\\"text-rotate\\\").evaluate(s)*Math.PI/180,c=r.layout.get(\\\"text-offset\\\").evaluate(s).map(function(t){return 24*t}),h=e.positionedGlyphs,f=[],p=0;p<h.length;p++){var d=h[p],g=l[d.glyph];if(g){var v=g.rect;if(v){var m=i+1,y=g.metrics.advance/2,x=a?[d.x+y,d.y]:[0,0],b=a?[0,0]:[d.x+y+c[0],d.y+c[1]],_=g.metrics.left-m-y+b[0],w=-g.metrics.top-m+b[1],M=_+v.w,A=w+v.h,k=new n(_,w),T=new n(M,w),S=new n(_,A),E=new n(M,A);if(a&&d.vertical){var C=new n(-y,y),L=-Math.PI/2,z=new n(5,0);k._rotateAround(L,C)._add(z),T._rotateAround(L,C)._add(z),S._rotateAround(L,C)._add(z),E._rotateAround(L,C)._add(z)}if(u){var P=Math.sin(u),I=Math.cos(u),D=[I,-P,P,I];k._matMult(D),T._matMult(D),S._matMult(D),E._matMult(D)}f.push({tl:k,tr:T,bl:S,br:E,tex:v,writingMode:e.writingMode,glyphOffset:x})}}}return f}}},{\\\"../style/parse_glyph_pbf\\\":186,\\\"@mapbox/point-geometry\\\":4}],226:[function(t,e,r){function n(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function i(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function a(t,e,r,i,a,o){for(var s=null,l=n(e,r,a,o),u=0,c=i;u<c.length;u+=1){var h=c[u],f=n(e-h.x,r,a,o)+h.badness;f<=l&&(s=h,l=f)}return{index:t,x:e,priorBreak:s,badness:l}}function o(t,e,r,n){if(!r)return[];if(!t)return[];for(var o=[],s=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),l=0,c=0;c<t.length;c++){var h=t.charCodeAt(c),f=n[h];f&&!p[h]&&(l+=f.metrics.advance+e),c<t.length-1&&(d[h]||u.charAllowsIdeographicBreaking(h))&&o.push(a(c+1,l,s,o,i(h,t.charCodeAt(c+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(a(t.length,l,s,o,0,!0))}function s(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 l(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}var u=t(\\\"../util/script_detection\\\"),c=t(\\\"../util/verticalize_punctuation\\\"),h=t(\\\"../source/rtl_text_plugin\\\"),f={horizontal:1,vertical:2,horizontalOnly:3};e.exports={shapeText:function(t,e,r,n,i,a,p,d,g,v){var m=t.trim();v===f.vertical&&(m=c(m));var y=[],x={positionedGlyphs:y,text:m,top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:v},b=h.processBidirectionalText;return function(t,e,r,n,i,a,o,c,h){for(var p=0,d=-17,g=0,v=t.positionedGlyphs,m=\\\"right\\\"===a?1:\\\"left\\\"===a?0:.5,y=0,x=r;y<x.length;y+=1){var b=x[y];if((b=b.trim()).length){for(var _=v.length,w=0;w<b.length;w++){var M=b.charCodeAt(w),A=e[M];A&&(u.charHasUprightVerticalOrientation(M)&&o!==f.horizontal?(v.push({glyph:M,x:p,y:0,vertical:!0}),p+=h+c):(v.push({glyph:M,x:p,y:d,vertical:!1}),p+=A.metrics.advance+c))}if(v.length!==_){var k=p-c;g=Math.max(k,g),l(v,e,_,v.length-1,m)}p=0,d+=n}else d+=n}var T=s(i),S=T.horizontalAlign,E=T.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,u=0;u<t.length;u++)t[u].x+=s,t[u].y+=l}(v,m,S,E,g,n,r.length);var C=r.length*n;t.top+=-E*C,t.bottom=t.top+C,t.left+=-S*g,t.right=t.left+g}(x,e,b?b(m,o(m,p,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(m,o(m,p,r,e)),n,i,a,v,p,g),!!y.length&&x},shapeIcon:function(t,e,r){var n=s(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],l=e[1],u=o-t.displaySize[0]*i,c=u+t.displaySize[0],h=l-t.displaySize[1]*a;return{image:t,top:h,bottom:h+t.displaySize[1],left:u,right:c}},WritingMode:f};var p={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},d={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0}},{\\\"../source/rtl_text_plugin\\\":109,\\\"../util/script_detection\\\":269,\\\"../util/verticalize_punctuation\\\":277}],227:[function(t,e,r){function n(t,e,r,n,c,h){var f=h.layoutTextSize.evaluate(e),d=h.layoutIconSize.evaluate(e),g=h.textMaxSize.evaluate(e);void 0===g&&(g=f);var x=t.layers[0].layout,A=x.get(\\\"text-offset\\\").evaluate(e),k=x.get(\\\"icon-offset\\\").evaluate(e),T=f/24,S=t.tilePixelRatio*T,E=t.tilePixelRatio*g/24,C=t.tilePixelRatio*d,L=t.tilePixelRatio*x.get(\\\"symbol-spacing\\\"),z=x.get(\\\"text-padding\\\")*t.tilePixelRatio,P=x.get(\\\"icon-padding\\\")*t.tilePixelRatio,I=x.get(\\\"text-max-angle\\\")/180*Math.PI,D=\\\"map\\\"===x.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),O=\\\"map\\\"===x.get(\\\"icon-rotation-alignment\\\")&&\\\"line\\\"===x.get(\\\"symbol-placement\\\"),R=L/2,F=function(a,o){o.x<0||o.x>=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,c,h,f,d,g,x,b,_,w,A,k,T,S,E){var C,L,z=t.addToLineVertexArray(e,r),P=0,I=0,D=0,O=n.horizontal?n.horizontal.text:\\\"\\\",R=[];n.horizontal&&(C=new m(s,r,e,l,c,h,n.horizontal,f,d,g,t.overscaling),I+=i(t,e,n.horizontal,o,g,k,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,E),n.vertical&&(D+=i(t,e,n.vertical,o,g,k,T,x,z,p.vertical,R,S,E)));var F=C?C.boxStartIndex:t.collisionBoxArray.length,B=C?C.boxEndIndex:t.collisionBoxArray.length;if(a){var N=v(e,a,o,w,n.horizontal,k,T);L=new m(s,r,e,l,c,h,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;\\\"source\\\"===j.functionType?V=[10*o.layout.get(\\\"icon-size\\\").evaluate(T)]:\\\"composite\\\"===j.functionType&&(V=[10*E.compositeIconSizes[0].evaluate(T),10*E.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,A,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=M.MAX_GLYPHS&&y.warnOnce(\\\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\\\"),{key:O,textBoxStartIndex:F,textBoxEndIndex:B,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:A,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:I,numVerticalGlyphVertices:D,numIconVertices:P,textOpacityState:new u,iconOpacityState:new u,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,D,A,C,P,O,k,{zoom:t.zoom},e,c,h))};if(\\\"line\\\"===x.get(\\\"symbol-placement\\\"))for(var B=0,N=l(e.geometry,0,0,w,w);B<N.length;B+=1)for(var j=N[B],V=0,U=s(j,L,I,r.vertical||r.horizontal,n,24,E,t.overscaling,w);V<U.length;V+=1){var q=U[V],H=r.horizontal;H&&a(t,H.text,R,q)||F(j,q)}else if(\\\"Polygon\\\"===e.type)for(var G=0,W=_(e.geometry,0);G<W.length;G+=1){var Y=W[G],X=b(Y,16);F(Y[0],new o(X.x,X.y,0))}else if(\\\"LineString\\\"===e.type)for(var Z=0,J=e.geometry;Z<J.length;Z+=1){var K=J[Z];F(K,new o(K[0].x,K[0].y,0))}else if(\\\"Point\\\"===e.type)for(var Q=0,$=e.geometry;Q<$.length;Q+=1)for(var tt=0,et=$[Q];tt<et.length;tt+=1){var rt=et[tt];F([rt],new o(rt.x,rt.y,0))}}function i(t,e,r,n,i,a,o,s,l,u,c,h,f){var p=g(e,r,n,i,a,o,h),d=t.textSizeData,v=null;return\\\"source\\\"===d.functionType?v=[10*n.layout.get(\\\"text-size\\\").evaluate(o)]:\\\"composite\\\"===d.functionType&&(v=[10*f.compositeTextSizes[0].evaluate(o),10*f.compositeTextSizes[1].evaluate(o)]),t.addSymbols(t.text,p,v,s,i,o,u,e,l.lineStartIndex,l.lineLength),c.push(t.text.placedSymbolArray.length-1),4*p.length}function a(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var o=t(\\\"./anchor\\\"),s=t(\\\"./get_anchors\\\"),l=t(\\\"./clip_line\\\"),u=t(\\\"./opacity_state\\\"),c=t(\\\"./shaping\\\"),h=c.shapeText,f=c.shapeIcon,p=c.WritingMode,d=t(\\\"./quads\\\"),g=d.getGlyphQuads,v=d.getIconQuads,m=t(\\\"./collision_feature\\\"),y=t(\\\"../util/util\\\"),x=t(\\\"../util/script_detection\\\"),b=t(\\\"../util/find_pole_of_inaccessibility\\\"),_=t(\\\"../util/classify_rings\\\"),w=t(\\\"../data/extent\\\"),M=t(\\\"../data/bucket/symbol_bucket\\\"),A=t(\\\"../style/evaluation_parameters\\\");t(\\\"@mapbox/point-geometry\\\");e.exports={performSymbolLayout:function(t,e,r,i,a,o){t.createArrays(),t.symbolInstances=[];var s=512*t.overscaling;t.tilePixelRatio=w/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if(\\\"composite\\\"===t.textSizeData.functionType){var d=t.textSizeData.zoomRange,g=d.min,v=d.max;c.compositeTextSizes=[u[\\\"text-size\\\"].possiblyEvaluate(new A(g)),u[\\\"text-size\\\"].possiblyEvaluate(new A(v))]}if(\\\"composite\\\"===t.iconSizeData.functionType){var m=t.iconSizeData.zoomRange,b=m.min,_=m.max;c.compositeIconSizes=[u[\\\"icon-size\\\"].possiblyEvaluate(new A(b)),u[\\\"icon-size\\\"].possiblyEvaluate(new A(_))]}c.layoutTextSize=u[\\\"text-size\\\"].possiblyEvaluate(new A(t.zoom+1)),c.layoutIconSize=u[\\\"icon-size\\\"].possiblyEvaluate(new A(t.zoom+1)),c.textMaxSize=u[\\\"text-size\\\"].possiblyEvaluate(new A(18));for(var M=24*l.get(\\\"text-line-height\\\"),k=\\\"map\\\"===l.get(\\\"text-rotation-alignment\\\")&&\\\"line\\\"===l.get(\\\"symbol-placement\\\"),T=l.get(\\\"text-keep-upright\\\"),S=0,E=t.features;S<E.length;S+=1){var C=E[S],L=l.get(\\\"text-font\\\").evaluate(C).join(\\\",\\\"),z=e[L]||{},P=r[L]||{},I={},D=C.text;if(D){var O=x.allowsVerticalWritingMode(D),R=l.get(\\\"text-offset\\\").evaluate(C).map(function(t){return 24*t}),F=24*l.get(\\\"text-letter-spacing\\\").evaluate(C),B=x.allowsLetterSpacing(D)?F:0,N=l.get(\\\"text-anchor\\\").evaluate(C),j=l.get(\\\"text-justify\\\").evaluate(C),V=\\\"line\\\"!==l.get(\\\"symbol-placement\\\")?24*l.get(\\\"text-max-width\\\").evaluate(C):0;I.horizontal=h(D,z,V,M,N,j,B,R,24,p.horizontal),O&&k&&T&&(I.vertical=h(D,z,V,M,N,j,B,R,24,p.vertical))}var U=void 0;if(C.icon){var q=i[C.icon];q&&(U=f(a[C.icon],l.get(\\\"icon-offset\\\").evaluate(C),l.get(\\\"icon-anchor\\\").evaluate(C)),void 0===t.sdfIcons?t.sdfIcons=q.sdf:t.sdfIcons!==q.sdf&&y.warnOnce(\\\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\\\"),q.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get(\\\"icon-rotate\\\").constantOr(1)&&(t.iconsNeedLinear=!0))}(I.horizontal||U)&&n(t,C,I,U,P,c)}o&&t.generateCollisionDebugBuffers()}}},{\\\"../data/bucket/symbol_bucket\\\":51,\\\"../data/extent\\\":53,\\\"../style/evaluation_parameters\\\":182,\\\"../util/classify_rings\\\":255,\\\"../util/find_pole_of_inaccessibility\\\":261,\\\"../util/script_detection\\\":269,\\\"../util/util\\\":275,\\\"./anchor\\\":213,\\\"./clip_line\\\":215,\\\"./collision_feature\\\":216,\\\"./get_anchors\\\":219,\\\"./opacity_state\\\":222,\\\"./quads\\\":225,\\\"./shaping\\\":226,\\\"@mapbox/point-geometry\\\":4}],228:[function(t,e,r){var n=t(\\\"../style-spec/expression\\\").normalizePropertyExpression,i=t(\\\"../style-spec/util/interpolate\\\"),a=t(\\\"../util/util\\\");e.exports={getSizeData:function(t,e){var r=e.expression;if(\\\"constant\\\"===r.kind)return{functionType:\\\"constant\\\",layoutSize:r.evaluate({zoom:t+1})};if(\\\"source\\\"===r.kind)return{functionType:\\\"source\\\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\\\"composite\\\"===r.kind?{functionType:\\\"composite\\\",zoomRange:o,propertyValue:e.value}:{functionType:\\\"camera\\\",layoutSize:r.evaluate({zoom:t+1}),zoomRange:o,sizeRange:{min:r.evaluate({zoom:o.min}),max:r.evaluate({zoom:o.max})},propertyValue:e.value}},evaluateSizeForFeature:function(t,e,r){var n=e;return\\\"source\\\"===t.functionType?r.lowerSize/10:\\\"composite\\\"===t.functionType?i.number(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},evaluateSizeForZoom:function(t,e,r){if(\\\"constant\\\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\\\"source\\\"===t.functionType)return{uSizeT:0,uSize:0};if(\\\"camera\\\"===t.functionType){var i=t.propertyValue,o=t.zoomRange,s=t.sizeRange,l=n(i,r.specification),u=a.clamp(l.interpolationFactor(e,o.min,o.max),0,1);return{uSizeT:0,uSize:s.min+u*(s.max-s.min)}}var c=t.propertyValue,h=t.zoomRange,f=n(c,r.specification);return{uSizeT:a.clamp(f.interpolationFactor(e,h.min,h.max),0,1),uSize:0}}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/util\\\":275}],229:[function(t,e,r){var n=t(\\\"../source/rtl_text_plugin\\\");e.exports=function(t,e,r){var i=e.layout.get(\\\"text-transform\\\").evaluate(r);return\\\"uppercase\\\"===i?t=t.toLocaleUpperCase():\\\"lowercase\\\"===i&&(t=t.toLocaleLowerCase()),n.applyArabicShaping&&(t=n.applyArabicShaping(t)),t}},{\\\"../source/rtl_text_plugin\\\":109}],230:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"@mapbox/point-geometry\\\"),a={scrollZoom:t(\\\"./handler/scroll_zoom\\\"),boxZoom:t(\\\"./handler/box_zoom\\\"),dragRotate:t(\\\"./handler/drag_rotate\\\"),dragPan:t(\\\"./handler/drag_pan\\\"),keyboard:t(\\\"./handler/keyboard\\\"),doubleClickZoom:t(\\\"./handler/dblclick_zoom\\\"),touchZoomRotate:t(\\\"./handler/touch_zoom_rotate\\\")};e.exports=function(t,e){function r(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,r),o=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new i(0,0));return t.fire(e,{lngLat:t.unproject(o),point:o,lngLats:a.map(function(e){return t.unproject(e)},this),points:a,originalEvent:r})}var l=t.getCanvasContainer(),u=null,c=!1,h=null,f=null;for(var p in a)t[p]=new a[p](t,e),e.interactive&&e[p]&&t[p].enable(e[p]);l.addEventListener(\\\"mouseout\\\",function(t){o(\\\"mouseout\\\",t)},!1),l.addEventListener(\\\"mousedown\\\",function(e){t.doubleClickZoom.isActive()||t.stop(),h=n.mousePos(l,e),o(\\\"mousedown\\\",e),c=!0},!1),l.addEventListener(\\\"mouseup\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u&&!r&&o(\\\"contextmenu\\\",u),u=null,c=!1,o(\\\"mouseup\\\",e)},!1),l.addEventListener(\\\"mousemove\\\",function(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==l;)r=r.parentNode;r===l&&o(\\\"mousemove\\\",e)}},!1),l.addEventListener(\\\"mouseover\\\",function(t){for(var e=t.toElement||t.target;e&&e!==l;)e=e.parentNode;e===l&&o(\\\"mouseover\\\",t)},!1),l.addEventListener(\\\"touchstart\\\",function(e){t.stop(),s(\\\"touchstart\\\",e),!e.touches||e.touches.length>1||(f?(clearTimeout(f),f=null,o(\\\"dblclick\\\",e)):f=setTimeout(r,300))},!1),l.addEventListener(\\\"touchend\\\",function(t){s(\\\"touchend\\\",t)},!1),l.addEventListener(\\\"touchmove\\\",function(t){s(\\\"touchmove\\\",t)},!1),l.addEventListener(\\\"touchcancel\\\",function(t){s(\\\"touchcancel\\\",t)},!1),l.addEventListener(\\\"click\\\",function(t){n.mousePos(l,t).equals(h)&&o(\\\"click\\\",t)},!1),l.addEventListener(\\\"dblclick\\\",function(t){o(\\\"dblclick\\\",t),t.preventDefault()},!1),l.addEventListener(\\\"contextmenu\\\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();c||r?c&&(u=e):o(\\\"contextmenu\\\",e),e.preventDefault()},!1)}},{\\\"../util/dom\\\":259,\\\"./handler/box_zoom\\\":239,\\\"./handler/dblclick_zoom\\\":240,\\\"./handler/drag_pan\\\":241,\\\"./handler/drag_rotate\\\":242,\\\"./handler/keyboard\\\":243,\\\"./handler/scroll_zoom\\\":244,\\\"./handler/touch_zoom_rotate\\\":245,\\\"@mapbox/point-geometry\\\":4}],231:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../style-spec/util/interpolate\\\").number,a=t(\\\"../util/browser\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"../geo/lng_lat_bounds\\\"),l=t(\\\"@mapbox/point-geometry\\\"),u=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},e.prototype.getPitch=function(){return this.transform.pitch},e.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},e.prototype.fitBounds=function(t,e,r){if(\\\"number\\\"==typeof(e=n.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},e)).padding){var i=e.padding;e.padding={top:i,bottom:i,right:i,left:i}}if(!n.deepEqual(Object.keys(e.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\\\"bottom\\\",\\\"left\\\",\\\"right\\\",\\\"top\\\"]))return n.warnOnce(\\\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\\\"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),u=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var c=l.convert(e.offset),h=this.transform,f=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),d=p.sub(f),g=(h.width-2*o-2*Math.abs(c.x))/d.x,v=(h.height-2*u-2*Math.abs(c.y))/d.y;return v<0||g<0?(n.warnOnce(\\\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\\\"),this):(e.center=h.unproject(f.add(p).div(2)),e.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,v)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.jumpTo=function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return\\\"zoom\\\"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=o.convert(t.center)),\\\"bearing\\\"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),\\\"pitch\\\"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire(\\\"movestart\\\",e).fire(\\\"move\\\",e),n&&this.fire(\\\"zoomstart\\\",e).fire(\\\"zoom\\\",e).fire(\\\"zoomend\\\",e),i&&this.fire(\\\"rotate\\\",e),a&&this.fire(\\\"pitchstart\\\",e).fire(\\\"pitch\\\",e).fire(\\\"pitchend\\\",e),this.fire(\\\"moveend\\\",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),u=this.getBearing(),c=this.getPitch(),h=\\\"zoom\\\"in t?+t.zoom:s,f=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,u):u,p=\\\"pitch\\\"in t?+t.pitch:c,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),v=o.convert(t.center||g);this._normalizeCenter(v);var m,y,x=a.project(g),b=a.project(v).sub(x),_=a.zoomScale(h-s);return t.around&&(m=o.convert(t.around),y=a.locationPoint(m)),this.zooming=h!==s,this.rotating=u!==f,this.pitching=p!==c,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,h,t)),r.rotating&&(a.bearing=i(u,f,t)),r.pitching&&(a.pitch=i(c,p,t)),m)a.setLocationAtPoint(m,y);else{var n=a.zoomScale(a.zoom-s),o=h>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire(\\\"movestart\\\",t),this.zooming&&this.fire(\\\"zoomstart\\\",t),this.pitching&&this.fire(\\\"pitchstart\\\",t)},e.prototype._fireMoveEvents=function(t){this.fire(\\\"move\\\",t),this.zooming&&this.fire(\\\"zoom\\\",t),this.rotating&&this.fire(\\\"rotate\\\",t),this.pitching&&this.fire(\\\"pitch\\\",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\\\"zoomend\\\",t),r&&this.fire(\\\"pitchend\\\",t),this.fire(\\\"moveend\\\",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(k*k-A*A+(t?-1:1)*C*C*T*T)/(2*(t?k:A)*C*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}var u=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=this.getZoom(),f=this.getBearing(),p=this.getPitch(),d=\\\"zoom\\\"in t?n.clamp(+t.zoom,c.minZoom,c.maxZoom):h,g=\\\"bearing\\\"in t?this._normalizeBearing(t.bearing,f):f,v=\\\"pitch\\\"in t?+t.pitch:p,m=c.zoomScale(d-h),y=c.centerPoint.add(l.convert(t.offset)),x=c.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=c.project(x),w=c.project(b).sub(_),M=t.curve,A=Math.max(c.width,c.height),k=A/m,T=w.mag();if(\\\"minZoom\\\"in t){var S=n.clamp(Math.min(t.minZoom,h,d),c.minZoom,c.maxZoom),E=A/c.zoomScale(S-h);M=Math.sqrt(E/T*2)}var C=M*M,L=r(0),z=function(t){return s(L)/s(L+M*t)},P=function(t){return A*((s(L)*function(t){return a(t)/s(t)}(L+M*t)-a(L))/C)/T},I=(r(1)-L)/M;if(Math.abs(T)<1e-6||!isFinite(I)){if(Math.abs(A-k)<1e-6)return this.easeTo(t,e);var D=k<A?-1:1;I=Math.abs(Math.log(k/A))/M,P=function(){return 0},z=function(t){return Math.exp(D*M*t)}}if(\\\"duration\\\"in t)t.duration=+t.duration;else{var O=\\\"screenSpeed\\\"in t?+t.screenSpeed/M:+t.speed;t.duration=1e3*I/O}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=f!==g,this.pitching=v!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*I,n=1/z(r);c.zoom=h+c.scaleZoom(n),u.rotating&&(c.bearing=i(f,g,t)),u.pitching&&(c.pitch=i(p,v,t));var a=c.unproject(_.add(w.mult(P(r))).mult(n));c.setLocationAtPoint(c.renderWorldCopies?a.wrap():a,y),u._fireMoveEvents(e)},function(){return u._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._normalizeBearing=function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)<r&&(t-=360),Math.abs(t+360-e)<r&&(t+=360),t},e.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}},e}(t(\\\"../util/evented\\\"));e.exports=u},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../style-spec/util/interpolate\\\":158,\\\"../util/browser\\\":252,\\\"../util/evented\\\":260,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],232:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/config\\\"),o=function(t){this.options=t,i.bindAll([\\\"_updateEditLink\\\",\\\"_updateData\\\",\\\"_updateCompact\\\"],this)};o.prototype.getDefaultPosition=function(){return\\\"bottom-right\\\"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-attrib\\\"),e&&this._container.classList.add(\\\"mapboxgl-compact\\\"),this._updateAttributions(),this._updateEditLink(),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},o.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateData),this._map.off(\\\"moveend\\\",this._updateEditLink),this._map.off(\\\"resize\\\",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\\\".mapbox-improve-map\\\"));var e=[{key:\\\"owner\\\",value:this.styleOwner},{key:\\\"id\\\",value:this.styleId},{key:\\\"access_token\\\",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\\\"=\\\"+r.value+(n<e.length-1?\\\"&\\\":\\\"\\\")),t},\\\"?\\\");t.href=\\\"https://www.mapbox.com/feedback/\\\"+r+(this._map._hash?this._map._hash.getHashString(!0):\\\"\\\")}},o.prototype._updateData=function(t){t&&\\\"metadata\\\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},o.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(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 i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(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})).length?(this._container.innerHTML=t.join(\\\" | \\\"),this._container.classList.remove(\\\"mapboxgl-attrib-empty\\\")):this._container.classList.add(\\\"mapboxgl-attrib-empty\\\"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\\\"mapboxgl-compact\\\"):this._container.classList.remove(\\\"mapboxgl-compact\\\")},e.exports=o},{\\\"../../util/config\\\":256,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],233:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=function(){this._fullscreen=!1,i.bindAll([\\\"_onClickFullscreen\\\",\\\"_changeIcon\\\"],this),\\\"onfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"fullscreenchange\\\":\\\"onmozfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"mozfullscreenchange\\\":\\\"onwebkitfullscreenchange\\\"in a.document?this._fullscreenchange=\\\"webkitfullscreenchange\\\":\\\"onmsfullscreenchange\\\"in a.document&&(this._fullscreenchange=\\\"MSFullscreenChange\\\"),this._className=\\\"mapboxgl-ctrl\\\"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create(\\\"div\\\",this._className+\\\" mapboxgl-ctrl-group\\\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\\\"none\\\",i.warnOnce(\\\"This device does not support fullscreen mode.\\\")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create(\\\"button\\\",this._className+\\\"-icon \\\"+this._className+\\\"-fullscreen\\\",this._container);t.setAttribute(\\\"aria-label\\\",\\\"Toggle fullscreen\\\"),t.type=\\\"button\\\",this._fullscreenButton.addEventListener(\\\"click\\\",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\\\"-shrink\\\"),this._fullscreenButton.classList.toggle(this._className+\\\"-fullscreen\\\"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],234:[function(t,e,r){var n,i=t(\\\"../../util/evented\\\"),a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../util/util\\\"),l=t(\\\"../../geo/lng_lat\\\"),u=t(\\\"../marker\\\"),c={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},h=function(t){function e(e){t.call(this),this.options=s.extend({},c,e),s.bindAll([\\\"_onSuccess\\\",\\\"_onError\\\",\\\"_finish\\\",\\\"_setupUI\\\",\\\"_updateCamera\\\",\\\"_updateMarker\\\",\\\"_onClickGeolocate\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:\\\"geolocation\\\"}).then(function(e){n=\\\"denied\\\"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,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(t),this.options.trackUserLocation&&\\\"ACTIVE_LOCK\\\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"geolocate\\\",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.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\\\"),void 0!==this._geolocationWatchID&&this._clearWatch();else 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\\\")}\\\"OFF\\\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\\\"mapboxgl-user-location-dot-stale\\\"),this.fire(\\\"error\\\",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this._geolocateButton=a.create(\\\"button\\\",\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\\\",this._container),this._geolocateButton.type=\\\"button\\\",this._geolocateButton.setAttribute(\\\"aria-label\\\",\\\"Geolocate\\\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"false\\\"),this._watchState=\\\"OFF\\\"),this.options.showUserLocation&&(this._dotElement=a.create(\\\"div\\\",\\\"mapboxgl-user-location-dot\\\"),this._userLocationDotMarker=new u(this._dotElement),this.options.trackUserLocation&&(this._watchState=\\\"OFF\\\")),this._geolocateButton.addEventListener(\\\"click\\\",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on(\\\"movestart\\\",function(t){t.geolocateSource||\\\"ACTIVE_LOCK\\\"!==e._watchState||(e._watchState=\\\"BACKGROUND\\\",e._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-background\\\"),e._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-active\\\"),e.fire(\\\"trackuserlocationend\\\"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case\\\"OFF\\\":this._watchState=\\\"WAITING_ACTIVE\\\",this.fire(\\\"trackuserlocationstart\\\");break;case\\\"WAITING_ACTIVE\\\":case\\\"ACTIVE_LOCK\\\":case\\\"ACTIVE_ERROR\\\":case\\\"BACKGROUND_ERROR\\\":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(\\\"trackuserlocationend\\\");break;case\\\"BACKGROUND\\\":this._watchState=\\\"ACTIVE_LOCK\\\",this._geolocateButton.classList.remove(\\\"mapboxgl-ctrl-geolocate-background\\\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(\\\"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\\\")}\\\"OFF\\\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\\\"mapboxgl-ctrl-geolocate-waiting\\\"),this._geolocateButton.setAttribute(\\\"aria-pressed\\\",\\\"true\\\"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.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)},e}(i);e.exports=h},{\\\"../../geo/lng_lat\\\":62,\\\"../../util/dom\\\":259,\\\"../../util/evented\\\":260,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254,\\\"../marker\\\":248}],235:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=function(){i.bindAll([\\\"_updateLogo\\\"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl\\\");var e=n.create(\\\"a\\\",\\\"mapboxgl-ctrl-logo\\\");return e.target=\\\"_blank\\\",e.href=\\\"https://www.mapbox.com/\\\",e.setAttribute(\\\"aria-label\\\",\\\"Mapbox logo\\\"),this._container.appendChild(e),this._container.style.display=\\\"none\\\",this._map.on(\\\"sourcedata\\\",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off(\\\"sourcedata\\\",this._updateLogo)},a.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},a.prototype._updateLogo=function(t){t&&\\\"metadata\\\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\\\"block\\\":\\\"none\\\")},a.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}},e.exports=a},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],236:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../handler/drag_rotate\\\"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-group\\\"),this._container.addEventListener(\\\"contextmenu\\\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\\\",\\\"Zoom In\\\",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\\\",\\\"Zoom Out\\\",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll([\\\"_rotateCompassArrow\\\"],this),this._compass=this._createButton(\\\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\\\",\\\"Reset North\\\",function(){return e._map.resetNorth()}),this._compassArrow=n.create(\\\"span\\\",\\\"mapboxgl-ctrl-compass-arrow\\\",this._compass))};s.prototype._rotateCompassArrow=function(){var t=\\\"rotate(\\\"+this._map.transform.angle*(180/Math.PI)+\\\"deg)\\\";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\\\"rotate\\\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:\\\"left\\\",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off(\\\"rotate\\\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create(\\\"button\\\",t,this._container);return i.type=\\\"button\\\",i.setAttribute(\\\"aria-label\\\",e),i.addEventListener(\\\"click\\\",r),i},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../handler/drag_rotate\\\":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&\\\"imperial\\\"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,\\\"mi\\\"):i(e,n,s,\\\"ft\\\")}else if(r&&\\\"nautical\\\"===r.unit){i(e,n,o/1852,\\\"nm\\\")}else i(e,n,o,\\\"m\\\")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(\\\"\\\"+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;\\\"m\\\"===n&&i>=1e3&&(i/=1e3,n=\\\"km\\\"),t.style.width=e*a+\\\"px\\\",t.innerHTML=i+n}var a=t(\\\"../../util/dom\\\"),o=t(\\\"../../util/util\\\"),s=function(t){this.options=t,o.bindAll([\\\"_onMove\\\"],this)};s.prototype.getDefaultPosition=function(){return\\\"bottom-left\\\"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\\\"div\\\",\\\"mapboxgl-ctrl mapboxgl-ctrl-scale\\\",t.getContainer()),this._map.on(\\\"move\\\",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off(\\\"move\\\",this._onMove),this._map=void 0},e.exports=s},{\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../geo/lng_lat_bounds\\\"),a=t(\\\"../../util/util\\\"),o=t(\\\"../../util/window\\\"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll([\\\"_onMouseDown\\\",\\\"_onMouseMove\\\",\\\"_onMouseUp\\\",\\\"_onKeyDown\\\"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\\\"mousedown\\\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.addEventListener(\\\"mouseup\\\",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create(\\\"div\\\",\\\"mapboxgl-boxzoom\\\",this._container),this._container.classList.add(\\\"mapboxgl-crosshair\\\"),this._fireEvent(\\\"boxzoomstart\\\",t));var i=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);n.setTransform(this._box,\\\"translate(\\\"+i+\\\"px,\\\"+o+\\\"px)\\\"),this._box.style.width=a-i+\\\"px\\\",this._box.style.height=s-o+\\\"px\\\"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\\\"boxzoomcancel\\\",t):this._map.fitBounds(a,{linear:!0}).fire(\\\"boxzoomend\\\",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\\\"boxzoomcancel\\\",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener(\\\"mousemove\\\",this._onMouseMove,!1),o.document.removeEventListener(\\\"keydown\\\",this._onKeyDown,!1),o.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp,!1),this._container.classList.remove(\\\"mapboxgl-crosshair\\\"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{\\\"../../geo/lng_lat_bounds\\\":63,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],240:[function(t,e,r){var n=t(\\\"../../util/util\\\"),i=function(t){this._map=t,n.bindAll([\\\"_onDblClick\\\",\\\"_onZoomEnd\\\"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on(\\\"dblclick\\\",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off(\\\"dblclick\\\",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on(\\\"zoomend\\\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\\\"zoomend\\\",this._onZoomEnd)},e.exports=i},{\\\"../../util/util\\\":275}],241:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onTouchEnd\\\",\\\"_onMouseUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-drag-pan\\\"),this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._el.addEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-drag-pan\\\"),this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._el.removeEventListener(\\\"touchstart\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener(\\\"touchmove\\\",this._onMove),a.document.addEventListener(\\\"touchend\\\",this._onTouchEnd)):(a.document.addEventListener(\\\"mousemove\\\",this._onMove),a.document.addEventListener(\\\"mouseup\\\",this._onMouseUp)),a.addEventListener(\\\"blur\\\",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"dragstart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent(\\\"drag\\\",e),this._fireEvent(\\\"move\\\",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent(\\\"dragend\\\",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var u=o.mult(.3/l),c=u.mag();c>1400&&(c=1400,u._unit()._mult(c));var h=c/750,f=u.mult(-h/2);this._map.panBy(f,{duration:1e3*h,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"mousemove\\\",this._onMove),a.document.removeEventListener(\\\"mouseup\\\",this._onMouseUp),a.removeEventListener(\\\"blur\\\",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||\\\"mousemove\\\"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],242:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||\\\"right\\\",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll([\\\"_onDown\\\",\\\"_onMove\\\",\\\"_onUp\\\",\\\"_onDragFrame\\\",\\\"_onDragFinished\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"mousedown\\\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if(\\\"right\\\"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf(\\\"MAC\\\")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.addEventListener(\\\"mouseup\\\",this._onUp),a.addEventListener(\\\"blur\\\",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\\\"rotatestart\\\",t),this._fireEvent(\\\"movestart\\\",t),this._pitchWithRotate&&this._fireEvent(\\\"pitchstart\\\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener(\\\"mousemove\\\",this._onMove,{capture:!0}),a.document.removeEventListener(\\\"mouseup\\\",this._onUp),a.removeEventListener(\\\"blur\\\",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,u=this._inertia,c=u[u.length-1];this._drainInertiaBuffer(),u.push([o.now(),this._map._normalizeBearing(s,c[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent(\\\"pitch\\\",e),t.pitch=l),this._fireEvent(\\\"rotate\\\",e),this._fireEvent(\\\"move\\\",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent(\\\"rotateend\\\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):(e._map.moving=!1,e._fireEvent(\\\"moveend\\\",t)),e._pitchWithRotate&&e._fireEvent(\\\"pitchend\\\",t)};if(i.length<2)return void a();var o=i[0],l=i[i.length-1],u=i[i.length-2],c=r._normalizeBearing(n,u[1]),h=l[1]-o[1],f=h<0?-1:1,p=(l[0]-o[0])/1e3;if(0===h||0===p)return void a();var d=Math.abs(h*(.25/p));d>180&&(d=180);var g=d/180;c+=f*d*(g/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*g,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t(\\\"../../util/util\\\"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onKeyDown\\\"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\\\"keydown\\\",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"keydown\\\",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),u={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(u,{originalEvent:t})}},e.exports=a},{\\\"../../util/util\\\":275}],244:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/browser\\\"),o=t(\\\"../../util/window\\\"),s=t(\\\"../../style-spec/util/interpolate\\\").number,l=t(\\\"../../geo/lng_lat\\\"),u=o.navigator.userAgent.toLowerCase(),c=-1!==u.indexOf(\\\"firefox\\\"),h=-1!==u.indexOf(\\\"safari\\\")&&-1===u.indexOf(\\\"chrom\\\"),f=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll([\\\"_onWheel\\\",\\\"_onTimeout\\\",\\\"_onScrollFrame\\\",\\\"_onScrollFinished\\\"],this)};f.prototype.isEnabled=function(){return!!this._enabled},f.prototype.isActive=function(){return!!this._active},f.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\\\"wheel\\\",this._onWheel,!1),this._el.addEventListener(\\\"mousewheel\\\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},f.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\\\"wheel\\\",this._onWheel),this._el.removeEventListener(\\\"mousewheel\\\",this._onWheel),this._enabled=!1)},f.prototype._onWheel=function(t){var e=0;\\\"wheel\\\"===t.type?(e=t.deltaY,c&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\\\"mousewheel\\\"===t.type&&(e=-t.wheelDeltaY,h&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type=\\\"wheel\\\":0!==e&&Math.abs(e)<4?this._type=\\\"trackpad\\\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?\\\"trackpad\\\":\\\"wheel\\\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},f.prototype._onTimeout=function(t){this._type=\\\"wheel\\\",this._delta-=this._lastValue,this.isActive()||this._start(t)},f.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire(\\\"movestart\\\",{originalEvent:t}),this._map.fire(\\\"zoomstart\\\",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},f.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e=\\\"wheel\\\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n=\\\"number\\\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),\\\"wheel\\\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if(\\\"wheel\\\"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(\\\"move\\\",{originalEvent:this._lastWheelEvent}),this._map.fire(\\\"zoom\\\",{originalEvent:this._lastWheelEvent})}},f.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire(\\\"zoomend\\\"),t._map.fire(\\\"moveend\\\"),delete t._targetZoom},200))},f.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=f},{\\\"../../geo/lng_lat\\\":62,\\\"../../style-spec/util/interpolate\\\":158,\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],245:[function(t,e,r){var n=t(\\\"../../util/dom\\\"),i=t(\\\"../../util/util\\\"),a=t(\\\"../../util/window\\\"),o=t(\\\"../../util/browser\\\"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\\\"_onStart\\\",\\\"_onMove\\\",\\\"_onEnd\\\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.addEventListener(\\\"touchstart\\\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\\\"center\\\"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\\\"mapboxgl-touch-zoom-rotate\\\"),this._el.removeEventListener(\\\"touchstart\\\",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],a.document.addEventListener(\\\"touchmove\\\",this._onMove,!1),a.document.addEventListener(\\\"touchend\\\",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,u=this._map;if(this._gestureIntent){var c={duration:0,around:u.unproject(i)};\\\"rotate\\\"===this._gestureIntent&&(c.bearing=this._startBearing+l),\\\"zoom\\\"!==this._gestureIntent&&\\\"rotate\\\"!==this._gestureIntent||(c.zoom=u.transform.scaleZoom(this._startScale*s)),u.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),u.easeTo(c,{originalEvent:t})}else{var h=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent=\\\"rotate\\\":h&&(this._gestureIntent=\\\"zoom\\\"),this._gestureIntent&&(this._startVec=a,this._startScale=u.transform.scale,this._startBearing=u.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener(\\\"touchmove\\\",this._onMove),a.document.removeEventListener(\\\"touchend\\\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),u=o-l,c=(n[0]-i[0])/1e3,h=n[2];if(0!==c&&o!==l){var f=.15*u/c;Math.abs(f)>2.5&&(f=f>0?2.5:-2.5);var p=1e3*Math.abs(f/(12*.15)),d=o+f*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(h)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{\\\"../../util/browser\\\":252,\\\"../../util/dom\\\":259,\\\"../../util/util\\\":275,\\\"../../util/window\\\":254}],246:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/window\\\"),a=t(\\\"../util/throttle\\\"),o=function(){n.bindAll([\\\"_onHashChange\\\",\\\"_updateHash\\\"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.on(\\\"moveend\\\",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener(\\\"hashchange\\\",this._onHashChange,!1),this._map.off(\\\"moveend\\\",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),u=\\\"\\\";return u+=t?\\\"#/\\\"+a+\\\"/\\\"+o+\\\"/\\\"+r:\\\"#\\\"+r+\\\"/\\\"+o+\\\"/\\\"+a,(s||l)&&(u+=\\\"/\\\"+Math.round(10*s)/10),l&&(u+=\\\"/\\\"+Math.round(l)),u},o.prototype._onHashChange=function(){var t=i.location.hash.replace(\\\"#\\\",\\\"\\\").split(\\\"/\\\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState(\\\"\\\",\\\"\\\",t)},e.exports=o},{\\\"../util/throttle\\\":272,\\\"../util/util\\\":275,\\\"../util/window\\\":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\\\"../util/util\\\"),a=t(\\\"../util/browser\\\"),o=t(\\\"../util/window\\\"),s=t(\\\"../util/window\\\"),l=s.HTMLImageElement,u=s.HTMLElement,c=t(\\\"../util/dom\\\"),h=t(\\\"../util/ajax\\\"),f=t(\\\"../style/style\\\"),p=t(\\\"../style/evaluation_parameters\\\"),d=t(\\\"../render/painter\\\"),g=t(\\\"../geo/transform\\\"),v=t(\\\"./hash\\\"),m=t(\\\"./bind_handlers\\\"),y=t(\\\"./camera\\\"),x=t(\\\"../geo/lng_lat\\\"),b=t(\\\"../geo/lng_lat_bounds\\\"),_=t(\\\"@mapbox/point-geometry\\\"),w=t(\\\"./control/attribution_control\\\"),M=t(\\\"./control/logo_control\\\"),A=t(\\\"@mapbox/mapbox-gl-supported\\\"),k=t(\\\"../util/image\\\").RGBAImage;t(\\\"./events\\\");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\\\"maxZoom must be greater than minZoom\\\");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},\\\"string\\\"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error(\\\"Container '\\\"+e.container+\\\"' not found.\\\");this._container=a}else{if(!(e.container instanceof u))throw new Error(\\\"Invalid type: 'container' must be a String or HTMLElement.\\\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll([\\\"_onWindowOnline\\\",\\\"_onWindowResize\\\",\\\"_contextLost\\\",\\\"_contextRestored\\\",\\\"_update\\\",\\\"_render\\\",\\\"_onData\\\",\\\"_onDataLoading\\\"],this),this._setupContainer(),this._setupPainter(),this.on(\\\"move\\\",this._update.bind(this,!1)),this.on(\\\"zoom\\\",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener(\\\"online\\\",this._onWindowOnline,!1),o.addEventListener(\\\"resize\\\",this._onWindowResize,!1)),m(this,e),this._hash=e.hash&&(new v).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new M,e.logoPosition),this.on(\\\"style.load\\\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\\\"data\\\",this._onData),this.on(\\\"dataloading\\\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\\\"top-right\\\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\\\"bottom\\\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire(\\\"movestart\\\").fire(\\\"move\\\").fire(\\\"resize\\\").fire(\\\"moveend\\\")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&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 0 and the current maxZoom, inclusive\\\")},e.prototype.getMinZoom=function(){return this.transform.minZoom},e.prototype.setMaxZoom=function(t){if((t=null===t||void 0===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\\\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if(\\\"mouseenter\\\"===e||\\\"mouseover\\\"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if(\\\"mouseleave\\\"===e||\\\"mouseout\\\"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;a<i.length;a++){var o=i[a];if(o.layer===r&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},e.prototype.queryRenderedFeatures=function(t,e){return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof _||Array.isArray(t)}(arguments[0])?(t=arguments[0],e={}):1===arguments.length?(t=void 0,e=arguments[0]):(t=void 0,e={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle):[]},e.prototype._makeQueryGeometry=function(t){var e,r=this;if(void 0===t&&(t=[_.convert([0,0]),_.convert([this.transform.width,this.transform.height])]),t instanceof _||\\\"number\\\"==typeof t[0])e=[_.convert(t)];else{var n=[_.convert(t[0]),_.convert(t[1])];e=[n[0],new _(n[1].x,n[0].y),n[1],new _(n[0].x,n[1].y),n[0]]}return e.map(function(t){return r.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){if((!e||!1!==e.diff&&!e.localIdeographFontFamily)&&this.style&&t&&\\\"object\\\"==typeof t)try{return this.style.setState(t)&&this._update(!0),this}catch(t){i.warnOnce(\\\"Unable to perform style diff: \\\"+(t.message||t.error||t)+\\\".  Rebuilding the style from scratch.\\\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new f(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)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\\\"There is no style added to the map.\\\")},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\\\"error\\\",{error:new Error(\\\"There is no source with ID '\\\"+t+\\\"'\\\")}):e.loaded()},e.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 i=r[n];if(\\\"loaded\\\"!==i.state&&\\\"errored\\\"!==i.state)return!1}}return!0},e.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,r){void 0===r&&(r={});var n=r.pixelRatio;void 0===n&&(n=1);var i=r.sdf;if(void 0===i&&(i=!1),e instanceof l){var o=a.getImageData(e),s=o.width,u=o.height,c=o.data;this.style.addImage(t,{data:new k({width:s,height:u},c),pixelRatio:n,sdf:i})}else{if(void 0===e.width||void 0===e.height)return this.fire(\\\"error\\\",{error:new Error(\\\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\\\")});var h=e.width,f=e.height,p=e.data;this.style.addImage(t,{data:new k({width:h,height:f},p.slice(0)),pixelRatio:n,sdf:i})}},e.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(\\\"error\\\",{error:new Error(\\\"Missing required image id\\\")}),!1)},e.prototype.removeImage=function(t){this.style.removeImage(t)},e.prototype.loadImage=function(t,e){h.getImage(this._transformRequest(t,h.ResourceType.Image),e)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},e.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},e.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\\\"mapboxgl-map\\\"),(this._missingCSSContainer=c.create(\\\"div\\\",\\\"mapboxgl-missing-css\\\",t)).innerHTML=\\\"Missing Mapbox GL JS CSS\\\";var e=this._canvasContainer=c.create(\\\"div\\\",\\\"mapboxgl-canvas-container\\\",t);this._interactive&&e.classList.add(\\\"mapboxgl-interactive\\\"),this._canvas=c.create(\\\"canvas\\\",\\\"mapboxgl-canvas\\\",e),this._canvas.style.position=\\\"absolute\\\",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 r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=c.create(\\\"div\\\",\\\"mapboxgl-control-container\\\",t),i=this._controlPositions={};[\\\"top-left\\\",\\\"top-right\\\",\\\"bottom-left\\\",\\\"bottom-right\\\"].forEach(function(t){i[t]=c.create(\\\"div\\\",\\\"mapboxgl-ctrl-\\\"+t,n)})},e.prototype._resizeCanvas=function(t,e){var r=o.devicePixelRatio||1;this._canvas.width=r*t,this._canvas.height=r*e,this._canvas.style.width=t+\\\"px\\\",this._canvas.style.height=e+\\\"px\\\"},e.prototype._setupPainter=function(){var t=i.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},A.webGLContextAttributes),e=this._canvas.getContext(\\\"webgl\\\",t)||this._canvas.getContext(\\\"experimental-webgl\\\",t);e?this.painter=new d(e,this.transform):this.fire(\\\"error\\\",{error:new Error(\\\"Failed to initialize WebGL\\\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(\\\"webglcontextlost\\\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\\\"webglcontextrestored\\\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},e.prototype._render=function(){this._updateCamera();var t=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var e=this.transform.zoom,r=a.now();this.style.zoomHistory.update(e,r);var n=new p(e,{now:r,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=n.crossFadingFactor();1===i&&i===this._crossFadingFactor||(t=!0,this._crossFadingFactor=i),this.style.update(n)}return 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.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming,fadeDuration:this._fadeDuration}),this.fire(\\\"render\\\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\\\"load\\\")),this.style&&(this.style.hasTransitions()||t)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._frameId=null,this.setStyle(null),void 0!==o&&(o.removeEventListener(\\\"resize\\\",this._onWindowResize,!1),o.removeEventListener(\\\"online\\\",this._onWindowOnline,!1));var t=this.painter.context.gl.getExtension(\\\"WEBGL_lose_context\\\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),n(this._missingCSSContainer),this._container.classList.remove(\\\"mapboxgl-map\\\"),this.fire(\\\"remove\\\")},e.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},r.showTileBoundaries.get=function(){return!!this._showTileBoundaries},r.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},r.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},r.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},r.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},r.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},r.repaint.get=function(){return!!this._repaint},r.repaint.set=function(t){this._repaint=t,this._update()},r.vertices.get=function(){return!!this._vertices},r.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\\\"style\\\"===t.dataType),this.fire(t.dataType+\\\"data\\\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\\\"dataloading\\\",t)},Object.defineProperties(e.prototype,r),e}(y);e.exports=S},{\\\"../geo/lng_lat\\\":62,\\\"../geo/lng_lat_bounds\\\":63,\\\"../geo/transform\\\":64,\\\"../render/painter\\\":90,\\\"../style/evaluation_parameters\\\":182,\\\"../style/style\\\":190,\\\"../util/ajax\\\":251,\\\"../util/browser\\\":252,\\\"../util/dom\\\":259,\\\"../util/image\\\":263,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"./bind_handlers\\\":230,\\\"./camera\\\":231,\\\"./control/attribution_control\\\":232,\\\"./control/logo_control\\\":235,\\\"./events\\\":238,\\\"./hash\\\":246,\\\"@mapbox/mapbox-gl-supported\\\":3,\\\"@mapbox/point-geometry\\\":4}],248:[function(t,e,r){var n=t(\\\"../util/dom\\\"),i=t(\\\"../geo/lng_lat\\\"),a=t(\\\"@mapbox/point-geometry\\\"),o=t(\\\"../util/smart_wrap\\\"),s=t(\\\"../util/util\\\").bindAll,l=function(t,e){if(s([\\\"_update\\\",\\\"_onMapClick\\\"],this),!t){t=n.create(\\\"div\\\");var r=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");r.setAttributeNS(null,\\\"height\\\",\\\"41px\\\"),r.setAttributeNS(null,\\\"width\\\",\\\"27px\\\"),r.setAttributeNS(null,\\\"viewBox\\\",\\\"0 0 27 41\\\");var i=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");i.setAttributeNS(null,\\\"stroke\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"stroke-width\\\",\\\"1\\\"),i.setAttributeNS(null,\\\"fill\\\",\\\"none\\\"),i.setAttributeNS(null,\\\"fill-rule\\\",\\\"evenodd\\\");var o=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");o.setAttributeNS(null,\\\"fill-rule\\\",\\\"nonzero\\\");var l=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");l.setAttributeNS(null,\\\"transform\\\",\\\"translate(3.0, 29.0)\\\"),l.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");for(var u=0,c=[{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<c.length;u+=1){var h=c[u],f=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"ellipse\\\");f.setAttributeNS(null,\\\"opacity\\\",\\\"0.04\\\"),f.setAttributeNS(null,\\\"cx\\\",\\\"10.5\\\"),f.setAttributeNS(null,\\\"cy\\\",\\\"5.80029008\\\"),f.setAttributeNS(null,\\\"rx\\\",h.rx),f.setAttributeNS(null,\\\"ry\\\",h.ry),l.appendChild(f)}var p=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");p.setAttributeNS(null,\\\"fill\\\",\\\"#3FB1CE\\\");var d=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");d.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\\\"),p.appendChild(d);var g=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");g.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),g.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\");var v=n.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\\\"),g.appendChild(v);var m=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");m.setAttributeNS(null,\\\"transform\\\",\\\"translate(6.0, 7.0)\\\"),m.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\");var y=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");y.setAttributeNS(null,\\\"transform\\\",\\\"translate(8.0, 8.0)\\\");var x=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");x.setAttributeNS(null,\\\"fill\\\",\\\"#000000\\\"),x.setAttributeNS(null,\\\"opacity\\\",\\\"0.25\\\"),x.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),x.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\");var b=n.createNS(\\\"http://www.w3.org/2000/svg\\\",\\\"circle\\\");b.setAttributeNS(null,\\\"fill\\\",\\\"#FFFFFF\\\"),b.setAttributeNS(null,\\\"cx\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"cy\\\",\\\"5.5\\\"),b.setAttributeNS(null,\\\"r\\\",\\\"5.4999962\\\"),y.appendChild(x),y.appendChild(b),o.appendChild(l),o.appendChild(p),o.appendChild(g),o.appendChild(m),o.appendChild(y),r.appendChild(o),t.appendChild(r);var _=[0,-14];e&&e.offset||(e?e.offset=_:e={offset:_})}this._offset=a.convert(e&&e.offset||[0,0]),t.classList.add(\\\"mapboxgl-marker\\\"),this._element=t,this._popup=null};l.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._update(),this._map.on(\\\"click\\\",this._onMapClick),this},l.prototype.remove=function(){return this._map&&(this._map.off(\\\"click\\\",this._onMapClick),this._map.off(\\\"move\\\",this._update),this._map.off(\\\"moveend\\\",this._update),delete this._map),n.remove(this._element),this._popup&&this._popup.remove(),this},l.prototype.getLngLat=function(){return this._lngLat},l.prototype.setLngLat=function(t){return this._lngLat=i.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},l.prototype.getElement=function(){return this._element},l.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(\\\"offset\\\"in t.options||(t.options.offset=this._offset),this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)),this},l.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},l.prototype.getPopup=function(){return this._popup},l.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},l.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=o(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\\\"moveend\\\"!==t.type||(this._pos=this._pos.round()),n.setTransform(this._element,\\\"translate(-50%, -50%) translate(\\\"+this._pos.x+\\\"px, \\\"+this._pos.y+\\\"px)\\\"))},l.prototype.getOffset=function(){return this._offset},l.prototype.setOffset=function(t){return this._offset=a.convert(t),this._update(),this},e.exports=l},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"@mapbox/point-geometry\\\":4}],249:[function(t,e,r){var n=t(\\\"../util/util\\\"),i=t(\\\"../util/evented\\\"),a=t(\\\"../util/dom\\\"),o=t(\\\"../geo/lng_lat\\\"),s=t(\\\"@mapbox/point-geometry\\\"),l=t(\\\"../util/window\\\"),u=t(\\\"../util/smart_wrap\\\"),c={closeButton:!0,closeOnClick:!0},h=function(t){function e(e){t.call(this),this.options=n.extend(Object.create(c),e),n.bindAll([\\\"_update\\\",\\\"_onClickClose\\\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.addTo=function(t){return this._map=t,this._map.on(\\\"move\\\",this._update),this.options.closeOnClick&&this._map.on(\\\"click\\\",this._onClickClose),this._update(),this},e.prototype.isOpen=function(){return!!this._map},e.prototype.remove=function(){return this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off(\\\"move\\\",this._update),this._map.off(\\\"click\\\",this._onClickClose),delete this._map),this.fire(\\\"close\\\"),this},e.prototype.getLngLat=function(){return this._lngLat},e.prototype.setLngLat=function(t){return this._lngLat=o.convert(t),this._pos=null,this._update(),this},e.prototype.setText=function(t){return this.setDOMContent(l.document.createTextNode(t))},e.prototype.setHTML=function(t){var e,r=l.document.createDocumentFragment(),n=l.document.createElement(\\\"body\\\");for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},e.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},e.prototype._createContent=function(){this._content&&a.remove(this._content),this._content=a.create(\\\"div\\\",\\\"mapboxgl-popup-content\\\",this._container),this.options.closeButton&&(this._closeButton=a.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._onClickClose))},e.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=a.create(\\\"div\\\",\\\"mapboxgl-popup\\\",this._map.getContainer()),this._tip=a.create(\\\"div\\\",\\\"mapboxgl-popup-tip\\\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=u(this._lngLat,this._pos,this._map.transform));var t=this._pos=this._map.project(this._lngLat),e=this.options.anchor,r=function t(e){if(e){if(\\\"number\\\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{top:new s(0,e),\\\"top-left\\\":new s(r,r),\\\"top-right\\\":new s(-r,r),bottom:new s(0,-e),\\\"bottom-left\\\":new s(r,-r),\\\"bottom-right\\\":new s(-r,-r),left:new s(e,0),right:new s(-e,0)}}if(e instanceof s||Array.isArray(e)){var n=s.convert(e);return{top:n,\\\"top-left\\\":n,\\\"top-right\\\":n,bottom:n,\\\"bottom-left\\\":n,\\\"bottom-right\\\":n,left:n,right:n}}return{top:s.convert(e.top||[0,0]),\\\"top-left\\\":s.convert(e[\\\"top-left\\\"]||[0,0]),\\\"top-right\\\":s.convert(e[\\\"top-right\\\"]||[0,0]),bottom:s.convert(e.bottom||[0,0]),\\\"bottom-left\\\":s.convert(e[\\\"bottom-left\\\"]||[0,0]),\\\"bottom-right\\\":s.convert(e[\\\"bottom-right\\\"]||[0,0]),left:s.convert(e.left||[0,0]),right:s.convert(e.right||[0,0])}}return t(new s(0,0))}(this.options.offset);if(!e){var n=this._container.offsetWidth,i=this._container.offsetHeight;e=t.y+r.bottom.y<i?[\\\"top\\\"]:t.y>this._map.transform.height-i?[\\\"bottom\\\"]:[],t.x<n/2?e.push(\\\"left\\\"):t.x>this._map.transform.width-n/2&&e.push(\\\"right\\\"),e=0===e.length?\\\"bottom\\\":e.join(\\\"-\\\")}var o=t.add(r[e]).round(),l={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%)\\\"},c=this._container.classList;for(var h in l)c.remove(\\\"mapboxgl-popup-anchor-\\\"+h);c.add(\\\"mapboxgl-popup-anchor-\\\"+e),a.setTransform(this._container,l[e]+\\\" translate(\\\"+o.x+\\\"px,\\\"+o.y+\\\"px)\\\")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=h},{\\\"../geo/lng_lat\\\":62,\\\"../util/dom\\\":259,\\\"../util/evented\\\":260,\\\"../util/smart_wrap\\\":270,\\\"../util/util\\\":275,\\\"../util/window\\\":254,\\\"@mapbox/point-geometry\\\":4}],250:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./web_worker_transfer\\\"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll([\\\"receive\\\"],this),this.target.addEventListener(\\\"message\\\",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+\\\":\\\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\\\"<response>\\\",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(\\\"<response>\\\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(\\\".\\\");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener(\\\"message\\\",this.receive,!1)},e.exports=s},{\\\"./util\\\":275,\\\"./web_worker_transfer\\\":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open(\\\"GET\\\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\\\"include\\\"===t.credentials,e}function i(t){var e=a.document.createElement(\\\"a\\\");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t(\\\"./window\\\"),o={Unknown:\\\"Unknown\\\",Style:\\\"Style\\\",Source:\\\"Source\\\",Tile:\\\"Tile\\\",Glyphs:\\\"Glyphs\\\",SpriteImage:\\\"SpriteImage\\\",SpriteJSON:\\\"SpriteJSON\\\",Image:\\\"Image\\\"};r.ResourceType=o,\\\"function\\\"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader(\\\"Accept\\\",\\\"application/json\\\"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType=\\\"arraybuffer\\\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error(\\\"http status 200 returned without content.\\\"));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader(\\\"Cache-Control\\\"),expires:r.getResponseHeader(\\\"Expires\\\")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:\\\"image/png\\\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\\\"}})},r.getVideo=function(t,e){var r=a.document.createElement(\\\"video\\\");r.onloadstart=function(){e(null,r)};for(var n=0;n<t.length;n++){var o=a.document.createElement(\\\"source\\\");i(t[n])||(r.crossOrigin=\\\"Anonymous\\\"),o.src=t[n],r.appendChild(o)}return r}},{\\\"./window\\\":254}],252:[function(t,e,r){var n=t(\\\"./window\\\"),i=n.performance&&n.performance.now?n.performance.now.bind(n.performance):Date.now.bind(Date),a=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame,o=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.msCancelAnimationFrame;e.exports={now:i,frame:function(t){return a(t)},cancelFrame:function(t){return o(t)},getImageData:function(t){var e=n.document.createElement(\\\"canvas\\\"),r=e.getContext(\\\"2d\\\");if(!r)throw new Error(\\\"failed to create canvas 2d context\\\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},hardwareConcurrency:n.navigator.hardwareConcurrency||4,get devicePixelRatio(){return n.devicePixelRatio},supportsWebp:!1};var s=n.document.createElement(\\\"img\\\");s.onload=function(){e.exports.supportsWebp=!0},s.src=\\\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\\\"},{\\\"./window\\\":254}],253:[function(t,e,r){var n=t(\\\"webworkify\\\"),i=t(\\\"../window\\\"),a=i.URL.createObjectURL(new n(t(\\\"../../source/worker\\\"),{bare:!0}));e.exports=function(){return new i.Worker(a)}},{\\\"../../source/worker\\\":118,\\\"../window\\\":254,webworkify:36}],254:[function(t,e,r){e.exports=self},{}],255:[function(t,e,r){function n(t,e){return e.area-t.area}var i=t(\\\"quickselect\\\"),a=t(\\\"./util\\\").calculateSignedArea;e.exports=function(t,e){var r=t.length;if(r<=1)return[t];for(var o,s,l=[],u=0;u<r;u++){var c=a(t[u]);0!==c&&(t[u].area=Math.abs(c),void 0===s&&(s=c<0),s===c<0?(o&&l.push(o),o=[t[u]]):o.push(t[u]))}if(o&&l.push(o),e>1)for(var h=0;h<l.length;h++)l[h].length<=e||(i(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{\\\"./util\\\":275,quickselect:31}],256:[function(t,e,r){e.exports={API_URL:\\\"https://api.mapbox.com\\\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null}},{}],257:[function(t,e,r){var n=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}};n.prototype.encode=function(t){return this._stringToNumber[t]},n.prototype.decode=function(t){return this._numberToString[t]},e.exports=n},{}],258:[function(t,e,r){var n=t(\\\"./util\\\"),i=t(\\\"./actor\\\"),a=function(t,e){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var o=r[a],s=new i(o,e,this.id);s.name=\\\"Worker \\\"+a,this.actors.push(s)}};a.prototype.broadcast=function(t,e,r){r=r||function(){},n.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},a.prototype.send=function(t,e,r,n){return(\\\"number\\\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},a.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},e.exports=a},{\\\"./actor\\\":250,\\\"./util\\\":275}],259:[function(t,e,r){function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e];return t[0]}var i=t(\\\"@mapbox/point-geometry\\\"),a=t(\\\"./window\\\");r.create=function(t,e,r){var n=a.document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n},r.createNS=function(t,e){return a.document.createElementNS(t,e)};var o,s=a.document.documentElement.style,l=n([\\\"userSelect\\\",\\\"MozUserSelect\\\",\\\"WebkitUserSelect\\\",\\\"msUserSelect\\\"]);r.disableDrag=function(){l&&(o=s[l],s[l]=\\\"none\\\")},r.enableDrag=function(){l&&(s[l]=o)};var u=n([\\\"transform\\\",\\\"WebkitTransform\\\"]);r.setTransform=function(t,e){t.style[u]=e};var c=function(t){t.preventDefault(),t.stopPropagation(),a.removeEventListener(\\\"click\\\",c,!0)};r.suppressClick=function(){a.addEventListener(\\\"click\\\",c,!0),a.setTimeout(function(){a.removeEventListener(\\\"click\\\",c,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new i(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],a=\\\"touchend\\\"===e.type?e.changedTouches:e.touches,o=0;o<a.length;o++)n.push(new i(a[o].clientX-r.left-t.clientLeft,a[o].clientY-r.top-t.clientTop));return n},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)}},{\\\"./window\\\":254,\\\"@mapbox/point-geometry\\\":4}],260:[function(t,e,r){function n(t,e,r){r[t]=r[t]||[],r[t].push(e)}function i(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var a=t(\\\"./util\\\"),o=function(){};o.prototype.on=function(t,e){return this._listeners=this._listeners||{},n(t,e,this._listeners),this},o.prototype.off=function(t,e){return i(t,e,this._listeners),i(t,e,this._oneTimeListeners),this},o.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},n(t,e,this._oneTimeListeners),this},o.prototype.fire=function(t,e){var r=this;if(this.listens(t)){e=a.extend({},e,{type:t,target:this});for(var n=0,o=this._listeners&&this._listeners[t]?this._listeners[t].slice():[];n<o.length;n+=1)o[n].call(r,e);for(var s=0,l=this._oneTimeListeners&&this._oneTimeListeners[t]?this._oneTimeListeners[t].slice():[];s<l.length;s+=1){var u=l[s];i(t,u,r._oneTimeListeners),u.call(r,e)}this._eventedParent&&this._eventedParent.fire(t,a.extend({},e,\\\"function\\\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData))}else a.endsWith(t,\\\"error\\\")&&console.error(e&&e.error||e||\\\"Empty error event\\\");return this},o.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)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{\\\"./util\\\":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,l=a.length,u=l-1;o<l;u=o++){var c=a[o],h=a[u];c.y>t.y!=h.y>t.y&&t.x<(h.x-c.x)*(t.y-c.y)/(h.y-c.y)+c.x&&(r=!r),n=Math.min(n,s(t,c,h))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t(\\\"tinyqueue\\\"),o=t(\\\"@mapbox/point-geometry\\\"),s=t(\\\"./intersection_tests\\\").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,u=-1/0,c=-1/0,h=t[0],f=0;f<h.length;f++){var p=h[f];(!f||p.x<s)&&(s=p.x),(!f||p.y<l)&&(l=p.y),(!f||p.x>u)&&(u=p.x),(!f||p.y>c)&&(c=p.y)}var d=u-s,g=c-l,v=Math.min(d,g),m=v/2,y=new a(null,n);if(0===v)return new o(s,l);for(var x=s;x<u;x+=v)for(var b=l;b<c;b+=v)y.push(new i(x+m,b+m,m,t));for(var _=function(t){for(var e=0,r=0,n=0,a=t[0],o=0,s=a.length,l=s-1;o<s;l=o++){var u=a[o],c=a[l],h=u.x*c.y-c.x*u.y;r+=(u.x+c.x)*h,n+=(u.y+c.y)*h,e+=3*h}return new i(r/e,n/e,0,t)}(t),w=y.length;y.length;){var M=y.pop();(M.d>_.d||!_.d)&&(_=M,r&&console.log(\\\"found best %d after %d probes\\\",Math.round(1e4*M.d)/1e4,w)),M.max-_.d<=e||(m=M.h/2,y.push(new i(M.p.x-m,M.p.y-m,m,t)),y.push(new i(M.p.x+m,M.p.y-m,m,t)),y.push(new i(M.p.x-m,M.p.y+m,m,t)),y.push(new i(M.p.x+m,M.p.y+m,m,t)),w+=4)}return r&&(console.log(\\\"num probes: \\\"+w),console.log(\\\"best distance: \\\"+_.d)),_.p}},{\\\"./intersection_tests\\\":264,\\\"@mapbox/point-geometry\\\":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t(\\\"./worker_pool\\\");e.exports=function(){return n||(n=new i),n}},{\\\"./worker_pool\\\":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\\\"mismatched image size\\\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\\\"out of range source coordinates for image copy\\\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\\\"out of range destination coordinates for image copy\\\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var u=((r.y+l)*t.width+r.x)*a,c=((n.y+l)*e.width+n.x)*a,h=0;h<i.width*a;h++)s[c+h]=o[u+h];return e}var o=t(\\\"./web_worker_transfer\\\").register,s=function(t,e){n(this,t,1,e)};s.prototype.resize=function(t){i(this,t,1)},s.prototype.clone=function(){return new s({width:this.width,height:this.height},new Uint8Array(this.data))},s.copy=function(t,e,r,n,i){a(t,e,r,n,i,1)};var l=function(t,e){n(this,t,4,e)};l.prototype.resize=function(t){i(this,t,4)},l.prototype.clone=function(){return new l({width:this.width,height:this.height},new Uint8Array(this.data))},l.copy=function(t,e,r,n,i){a(t,e,r,n,i,4)},o(\\\"AlphaImage\\\",s),o(\\\"RGBAImage\\\",l),e.exports={AlphaImage:s,RGBAImage:l}},{\\\"./web_worker_transfer\\\":278}],264:[function(t,e,r){function n(t,e,r){if(t.length>1){if(i(t,e))return!0;for(var n=0;n<e.length;n++)if(o(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(o(t[a],e,r))return!0;return!1}function i(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],i=t[r+1],o=0;o<e.length-1;o++){if(a(n,i,e[o],e[o+1]))return!0}return!1}function a(t,e,r,n){return c(t,r,n)!==c(e,r,n)&&c(t,e,r)!==c(t,e,n)}function o(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(s(t,e[i-1],e[i])<n)return!0;return!1}function s(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function l(t,e){for(var r,n,i,a=!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],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function u(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}var c=t(\\\"./util\\\").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var s=e[a],l=0;l<s.length;l++){var c=s[l];if(u(i,c))return!0;if(o(c,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&&1===t[0].length)return l(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(l(t,n[a]))return!0;for(var o=0;o<t.length;o++){for(var s=t[o],u=0;u<s.length;u++)if(l(e,s[u]))return!0;for(var c=0;c<e.length;c++)if(i(s,e[c]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i<e.length;i++)for(var a=e[i],o=0;o<t.length;o++){var s=t[o];if(s.length>=3)for(var l=0;l<a.length;l++)if(u(s,a[l]))return!0;if(n(s,a,r))return!0}return!1},polygonIntersectsPolygon:function(t,e){for(var r=0;r<t.length;r++)if(u(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(u(t,e[n]))return!0;return!!i(t,e)},distToSegmentSquared:s}},{\\\"./util\\\":275}],265:[function(t,e,r){e.exports={\\\"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},\\\"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}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.getAndRemove(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.getAndRemove=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\\\"/\\\"!==r.path&&(t.path=\\\"\\\"+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error(\\\"An API access token is required to use Mapbox GL. \\\"+u);if(\\\"s\\\"===e[0])throw new Error(\\\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \\\"+u);return t.params.push(\\\"access_token=\\\"+e),o(t)}function i(t){return 0===t.indexOf(\\\"mapbox:\\\")}function a(t){var e=t.match(h);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 o(t){var e=t.params.length?\\\"?\\\"+t.params.join(\\\"&\\\"):\\\"\\\";return t.protocol+\\\"://\\\"+t.authority+t.path+e}var s=t(\\\"./config\\\"),l=t(\\\"./browser\\\"),u=\\\"See https://www.mapbox.com/api-documentation/#access-tokens\\\";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/styles/v1\\\"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/fonts/v1\\\"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\\\"/v4/\\\"+r.authority+\\\".json\\\",r.params.push(\\\"secure\\\"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path=\\\"/styles/v1\\\"+l.path+\\\"/sprite\\\"+e+r,n(l,s)):(l.path+=\\\"\\\"+e+r,o(l))};var c=/(\\\\.(png|jpg)\\\\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),u=l.devicePixelRatio>=2||512===r?\\\"@2x\\\":\\\"\\\",h=l.supportsWebp?\\\".webp\\\":\\\"$1\\\";return n.path=n.path.replace(c,\\\"\\\"+u+h),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\\\"access_token=tk.\\\")&&(t[e]=\\\"access_token=\\\"+(s.ACCESS_TOKEN||\\\"\\\"))}(n.params),o(n)};var h=/^(\\\\w+):\\\\/\\\\/([^\\\\/?]*)(\\\\/[^?]+)?\\\\??(.+)?/},{\\\"./browser\\\":252,\\\"./config\\\":256}],268:[function(t,e,r){e.exports={getEntriesByName:function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)}}},{}],269:[function(t,e,r){var n=t(\\\"./is_char_in_unicode_block\\\");e.exports.allowsIdeographicBreaking=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsIdeographicBreaking(i.charCodeAt(0)))return!1}return!0},e.exports.allowsVerticalWritingMode=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(r.charHasUprightVerticalOrientation(i.charCodeAt(0)))return!0}return!1},e.exports.allowsLetterSpacing=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsLetterSpacing(i.charCodeAt(0)))return!1}return!0},e.exports.charAllowsLetterSpacing=function(t){return!(n.Arabic(t)||n[\\\"Arabic Supplement\\\"](t)||n[\\\"Arabic Extended-A\\\"](t)||n[\\\"Arabic Presentation Forms-A\\\"](t)||n[\\\"Arabic Presentation Forms-B\\\"](t))},e.exports.charAllowsIdeographicBreaking=function(t){return!!(!(t<11904)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yi Radicals\\\"](t)||n[\\\"Yi Syllables\\\"](t)))},r.charHasUprightVerticalOrientation=function(t){return!!(746===t||747===t||!(t<4352)&&(n[\\\"Bopomofo Extended\\\"](t)||n.Bopomofo(t)||n[\\\"CJK Compatibility Forms\\\"](t)&&!(t>=65097&&t<=65103)||n[\\\"CJK Compatibility Ideographs\\\"](t)||n[\\\"CJK Compatibility\\\"](t)||n[\\\"CJK Radicals Supplement\\\"](t)||n[\\\"CJK Strokes\\\"](t)||!(!n[\\\"CJK Symbols and Punctuation\\\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n[\\\"CJK Unified Ideographs Extension A\\\"](t)||n[\\\"CJK Unified Ideographs\\\"](t)||n[\\\"Enclosed CJK Letters and Months\\\"](t)||n[\\\"Hangul Compatibility Jamo\\\"](t)||n[\\\"Hangul Jamo Extended-A\\\"](t)||n[\\\"Hangul Jamo Extended-B\\\"](t)||n[\\\"Hangul Jamo\\\"](t)||n[\\\"Hangul Syllables\\\"](t)||n.Hiragana(t)||n[\\\"Ideographic Description Characters\\\"](t)||n.Kanbun(t)||n[\\\"Kangxi Radicals\\\"](t)||n[\\\"Katakana Phonetic Extensions\\\"](t)||n.Katakana(t)&&12540!==t||!(!n[\\\"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)||!(!n[\\\"Small Form Variants\\\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n[\\\"Unified Canadian Aboriginal Syllabics\\\"](t)||n[\\\"Unified Canadian Aboriginal Syllabics Extended\\\"](t)||n[\\\"Vertical Forms\\\"](t)||n[\\\"Yijing Hexagram Symbols\\\"](t)||n[\\\"Yi Syllables\\\"](t)||n[\\\"Yi Radicals\\\"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n[\\\"Latin-1 Supplement\\\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n[\\\"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)||n[\\\"Letterlike Symbols\\\"](t)||n[\\\"Number Forms\\\"](t)||n[\\\"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)||n[\\\"Control Pictures\\\"](t)&&9251!==t||n[\\\"Optical Character Recognition\\\"](t)||n[\\\"Enclosed Alphanumerics\\\"](t)||n[\\\"Geometric Shapes\\\"](t)||n[\\\"Miscellaneous Symbols\\\"](t)&&!(t>=9754&&t<=9759)||n[\\\"Miscellaneous Symbols and Arrows\\\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n[\\\"CJK Symbols and Punctuation\\\"](t)||n.Katakana(t)||n[\\\"Private Use Area\\\"](t)||n[\\\"CJK Compatibility Forms\\\"](t)||n[\\\"Small Form Variants\\\"](t)||n[\\\"Halfwidth and Fullwidth Forms\\\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{\\\"./is_char_in_unicode_block\\\":265}],270:[function(t,e,r){var n=t(\\\"../geo/lng_lat\\\");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)<o?t=i:r.locationPoint(a).distSqr(e)<o&&(t=a)}for(;Math.abs(t.lng-r.center.lng)>180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{\\\"../geo/lng_lat\\\":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.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},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.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)}},a.prototype._refreshViews=function(){throw new Error(\\\"_refreshViews() must be implemented by each concrete StructArray layout\\\")},e.exports.StructArray=a,e.exports.Struct=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},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function i(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,u=e.dx/e.dy,c=t.dx>0,h=e.dx<0,f=a;f<o;f++){var p=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,d=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),f)}}function a(t,e,r,a,o,s){var l,u=n(t,e),c=n(e,r),h=n(r,t);u.dy>c.dy&&(l=u,u=c,c=l),u.dy>h.dy&&(l=u,u=h,h=l),c.dy>h.dy&&(l=c,c=h,h=l),u.dy&&i(h,u,a,o,s),c.dy&&i(h,c,a,o,s)}t(\\\"../geo/coordinate\\\");var o=t(\\\"../source/tile_id\\\").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var u,c,h;if(a>=0&&a<=s)for(u=e;u<i;u++)0!==(c=Math.floor(u/s))&&!0!==n||(h=new o(r,c,t,(u%s+s)%s,a),l[h.key]=h)}void 0===n&&(n=!0);var s=1<<t,l={};return a(e[0],e[1],e[2],0,s,i),a(e[2],e[3],e[0],0,s,i),Object.keys(l).map(function(t){return l[t]})}},{\\\"../geo/coordinate\\\":61,\\\"../source/tile_id\\\":114}],274:[function(t,e,r){e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):\\\"\\\"})}},{}],275:[function(t,e,r){var n=t(\\\"@mapbox/unitbezier\\\"),i=t(\\\"../geo/coordinate\\\");t(\\\"@mapbox/point-geometry\\\");r.easeCubicInOut=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)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t},r.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r};var a=1;r.uniqueId=function(){return a++},r.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},r.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,o=0;o<t.length;o++)e=Math.min(e,t[o].column),r=Math.min(r,t[o].row),n=Math.max(n,t[o].column),a=Math.max(a,t[o].row);var s=n-e,l=a-r,u=Math.max(s,l),c=Math.max(0,Math.floor(-Math.log(u)/Math.LN2));return new i((e+n)/2,(r+a)/2,0).zoomTo(c)},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},r.mapObject=function(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n},r.filterObject=function(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n},r.deepEqual=t(\\\"../style-spec/util/deep_equal\\\"),r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\\\"object\\\"==typeof t&&t?r.mapObject(t,r.clone):t},r.arraysIntersect=function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||(\\\"undefined\\\"!=typeof console&&console.warn(t),o[t]=!0)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e},r.isClosedPolygon=function(t){if(t.length<4)return!1;var e=t[0],n=t[t.length-1];return!(Math.abs(e.x-n.x)>0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.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)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\\\s*\\\\,\\\\s*))([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)(?:\\\\=(?:([^\\\\x00-\\\\x20\\\\(\\\\)<>@\\\\,;\\\\:\\\\\\\\\\\"\\\\/\\\\[\\\\]\\\\?\\\\=\\\\{\\\\}\\\\x7F]+)|(?:\\\\\\\"((?:[^\\\"\\\\\\\\]|\\\\\\\\.)*)\\\\\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\\\"\\\"}),e[\\\"max-age\\\"]){var r=parseInt(e[\\\"max-age\\\"],10);isNaN(r)?delete e[\\\"max-age\\\"]:e[\\\"max-age\\\"]=r}return e}},{\\\"../geo/coordinate\\\":61,\\\"../style-spec/util/deep_equal\\\":155,\\\"@mapbox/point-geometry\\\":4,\\\"@mapbox/unitbezier\\\":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type=\\\"Feature\\\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.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},i.geometry.set=function(t){this._geometry=t},n.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(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t(\\\"./script_detection\\\");e.exports=function(t){for(var r=\\\"\\\",i=0;i<t.length;i++){var a=t.charCodeAt(i+1)||null,o=t.charCodeAt(i-1)||null;a&&n.charHasRotatedVerticalOrientation(a)&&!e.exports.lookup[t[i+1]]||o&&n.charHasRotatedVerticalOrientation(o)&&!e.exports.lookup[t[i-1]]||!e.exports.lookup[t[i]]?r+=t[i]:r+=e.exports.lookup[t[i]]}return r},e.exports.lookup={\\\"!\\\":\\\"\\\\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\\\"}},{\\\"./script_detection\\\":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\\\"_classRegistryKey\\\",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t(\\\"grid-index\\\"),a=t(\\\"../style-spec/util/color\\\"),o=t(\\\"../style-spec/expression\\\"),s=o.StylePropertyFunction,l=o.StyleExpression,u=o.StyleExpressionWithErrorHandling,c=o.ZoomDependentExpression,h=o.ZoomConstantExpression,f=t(\\\"../style-spec/expression/compound_expression\\\").CompoundExpression,p=t(\\\"../style-spec/expression/definitions\\\"),d=t(\\\"./window\\\").ImageData,g={};for(var v in n(\\\"Object\\\",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n(\\\"Grid\\\",i),n(\\\"Color\\\",a),n(\\\"StylePropertyFunction\\\",s),n(\\\"StyleExpression\\\",l,{omit:[\\\"_evaluator\\\"]}),n(\\\"StyleExpressionWithErrorHandling\\\",u,{omit:[\\\"_evaluator\\\"]}),n(\\\"ZoomDependentExpression\\\",c),n(\\\"ZoomConstantExpression\\\",h),n(\\\"CompoundExpression\\\",f,{omit:[\\\"_evaluate\\\"]}),p)p[v]._classRegistryKey||n(\\\"Expression_\\\"+v,p[v]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a<o.length;a+=1){var s=o[a];i.push(t(s,r))}return i}if(\\\"object\\\"==typeof e){var l=e.constructor,u=l._classRegistryKey;if(!u)throw new Error(\\\"can't serialize object of unregistered class\\\");var c={};if(l.serialize)c._serialized=l.serialize(e,r);else for(var h in e)if(e.hasOwnProperty(h)&&!(g[u].omit.indexOf(h)>=0)){var f=e[h];c[h]=g[u].shallow.indexOf(h)>=0?f:t(f,r)}return{name:u,properties:c}}throw new Error(\\\"can't serialize object of type \\\"+typeof e)},deserialize:function t(e){if(null===e||void 0===e||\\\"boolean\\\"==typeof e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if(\\\"object\\\"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error(\\\"can't deserialize object of anonymous class\\\");var a=g[n].klass;if(!a)throw new Error(\\\"can't deserialize unregistered class \\\"+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s<l.length;s+=1){var u=l[s];o[u]=g[n].shallow.indexOf(u)>=0?i[u]:t(i[u])}return o}throw new Error(\\\"can't deserialize object of type \\\"+typeof e)}}},{\\\"../style-spec/expression\\\":139,\\\"../style-spec/expression/compound_expression\\\":123,\\\"../style-spec/expression/definitions\\\":131,\\\"../style-spec/util/color\\\":153,\\\"./window\\\":254,\\\"grid-index\\\":24}],279:[function(t,e,r){var n=t(\\\"./web_worker\\\"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t(\\\"../\\\").workerCount;for(this.workers=[];this.workers.length<r;)this.workers.push(new n)}return this.active[e]=!0,this.workers.slice()},i.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)},e.exports=i},{\\\"../\\\":73,\\\"./web_worker\\\":253}]},{},[73])(73)})}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{}),bq=bq.exports;var _q={requiredVersion:\\\"0.44.1\\\",styleUrlPrefix:\\\"mapbox://styles/mapbox/\\\",styleUrlSuffix:\\\"v9\\\",controlContainerClassName:\\\"mapboxgl-control-container\\\",wrongVersionErrorMsg:[\\\"Your custom plotly.js bundle is not using the correct mapbox-gl version\\\",\\\"Please install mapbox-gl@0.44.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\\\"),mapOnErrorMsg:\\\"Mapbox error.\\\",styleRules:{map:\\\"overflow:hidden;position:relative;\\\",\\\"missing-css\\\":\\\"display:none\\\"}},wq=Oe.defaultLine,Mq=qc.attributes,Aq=Zr.textposition,kq=ye.overrideAll,Tq=T({});Tq.family.dflt=\\\"Open Sans Regular, Arial Unicode MS Regular\\\";var Sq=kq({_arrayAttrRegexps:[ne.counterRegex(\\\"mapbox\\\",\\\".layers\\\",!0)],domain:Mq({name:\\\"mapbox\\\"}),accesstoken:{valType:\\\"string\\\",noBlank:!0,strict:!0},style:{valType:\\\"any\\\",values:[\\\"basic\\\",\\\"streets\\\",\\\"outdoors\\\",\\\"light\\\",\\\"dark\\\",\\\"satellite\\\",\\\"satellite-streets\\\"],dflt:\\\"basic\\\"},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:{_isLinkedToArray:\\\"layer\\\",sourcetype:{valType:\\\"enumerated\\\",values:[\\\"geojson\\\",\\\"vector\\\"],dflt:\\\"geojson\\\"},source:{valType:\\\"any\\\"},sourcelayer:{valType:\\\"string\\\",dflt:\\\"\\\"},type:{valType:\\\"enumerated\\\",values:[\\\"circle\\\",\\\"line\\\",\\\"fill\\\",\\\"symbol\\\"],dflt:\\\"circle\\\"},below:{valType:\\\"string\\\",dflt:\\\"\\\"},color:{valType:\\\"color\\\",dflt:wq},opacity:{valType:\\\"number\\\",min:0,max:1,dflt:1},circle:{radius:{valType:\\\"number\\\",dflt:15}},line:{width:{valType:\\\"number\\\",dflt:2}},fill:{outlinecolor:{valType:\\\"color\\\",dflt:wq}},symbol:{icon:{valType:\\\"string\\\",dflt:\\\"marker\\\"},iconsize:{valType:\\\"number\\\",dflt:10},text:{valType:\\\"string\\\",dflt:\\\"\\\"},textfont:Tq,textposition:ne.extendFlat({},Aq,{arrayOk:!1})}}},\\\"plot\\\",\\\"from-root\\\");function Eq(t,e,r,n){r(\\\"accesstoken\\\",n.accessToken),r(\\\"style\\\"),r(\\\"center.lon\\\"),r(\\\"center.lat\\\"),r(\\\"zoom\\\"),r(\\\"bearing\\\"),r(\\\"pitch\\\"),function(t,e){var r,n,i=t.layers||[],a=e.layers=[];function o(t,e){return ne.coerce(r,n,Sq.layers,t,e)}for(var s=0;s<i.length;s++)if(r=i[s],n={},ne.isPlainObject(r)){var l=o(\\\"sourcetype\\\");o(\\\"source\\\"),\\\"vector\\\"===l&&o(\\\"sourcelayer\\\");var u=o(\\\"type\\\");o(\\\"below\\\"),o(\\\"color\\\"),o(\\\"opacity\\\"),\\\"circle\\\"===u&&o(\\\"circle.radius\\\"),\\\"line\\\"===u&&o(\\\"line.width\\\"),\\\"fill\\\"===u&&o(\\\"fill.outlinecolor\\\"),\\\"symbol\\\"===u&&(o(\\\"symbol.icon\\\"),o(\\\"symbol.iconsize\\\"),o(\\\"symbol.text\\\"),ne.coerceFont(o,\\\"symbol.textfont\\\"),o(\\\"symbol.textposition\\\")),n._index=s,a.push(n)}}(t,e),e._input=t}var Cq=function(t,e){var r=t.split(\\\" \\\"),n=r[0],i=r[1],a=ne.isArrayOrTypedArray(e)?ne.mean(e):e,o=.5+a/100,s=1.5+a/100,l=[\\\"\\\",\\\"\\\"],u=[0,0];switch(n){case\\\"top\\\":l[0]=\\\"top\\\",u[1]=-s;break;case\\\"bottom\\\":l[0]=\\\"bottom\\\",u[1]=s}switch(i){case\\\"left\\\":l[1]=\\\"right\\\",u[0]=-o;break;case\\\"right\\\":l[1]=\\\"left\\\",u[0]=o}return{anchor:l[0]&&l[1]?l.join(\\\"-\\\"):l[0]?l[0]:l[1]?l[1]:\\\"center\\\",offset:u}};function Lq(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\\\"-layer\\\"+e,this.idSource=this.uid+\\\"-source\\\",this.idLayer=this.uid+\\\"-layer\\\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var zq=Lq.prototype;function Pq(t){var e=t.source;return ne.isPlainObject(e)||\\\"string\\\"==typeof e&&e.length>0}function Iq(t){var e={},r={};switch(t.type){case\\\"circle\\\":ne.extendFlat(r,{\\\"circle-radius\\\":t.circle.radius,\\\"circle-color\\\":t.color,\\\"circle-opacity\\\":t.opacity});break;case\\\"line\\\":ne.extendFlat(r,{\\\"line-width\\\":t.line.width,\\\"line-color\\\":t.color,\\\"line-opacity\\\":t.opacity});break;case\\\"fill\\\":ne.extendFlat(r,{\\\"fill-color\\\":t.color,\\\"fill-outline-color\\\":t.fill.outlinecolor,\\\"fill-opacity\\\":t.opacity});break;case\\\"symbol\\\":var n=t.symbol,i=Cq(n.textposition,n.iconsize);ne.extendFlat(e,{\\\"icon-image\\\":n.icon+\\\"-15\\\",\\\"icon-size\\\":n.iconsize/10,\\\"text-field\\\":n.text,\\\"text-size\\\":n.textfont.size,\\\"text-anchor\\\":i.anchor,\\\"text-offset\\\":i.offset}),ne.extendFlat(r,{\\\"icon-color\\\":t.color,\\\"text-color\\\":n.textfont.color,\\\"text-opacity\\\":t.opacity})}return{layout:e,paint:r}}zq.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=Pq(t)},zq.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},zq.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},zq.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,Pq(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\\\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},zq.updateLayer=function(t){var e=this.map,r=Iq(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,Pq(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\\\"source-layer\\\":t.sourcelayer||\\\"\\\",type:t.type,layout:r.layout,paint:r.paint},t.below)},zq.updateStyle=function(t){if(Pq(t)){var e=Iq(t);this.mapbox.setOptions(this.idLayer,\\\"setLayoutProperty\\\",e.layout),this.mapbox.setOptions(this.idLayer,\\\"setPaintProperty\\\",e.paint)}},zq.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)};var Dq=function(t,e,r){var n=new Lq(t,e);return n.update(r),n};function Oq(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\\\"-\\\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var Rq=Oq.prototype,Fq=function(t){return new Oq(t)};function Bq(t){var e=Sq.style.values,r=Sq.style.dflt,n={};return ne.isPlainObject(t)?(n.id=t.id,n.style=t):\\\"string\\\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?Nq(t):t):(n.id=r,n.style=Nq(r)),n.transition={duration:0,delay:0},n}function Nq(t){return _q.styleUrlPrefix+t+\\\"-\\\"+_q.styleUrlSuffix}function jq(t){return[t.lon,t.lat]}Rq.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},Rq.createMap=function(t,e,r,n){var i=this,a=i.gd,o=i.opts,s=i.styleObj=Bq(o.style);i.accessToken=o.accesstoken;var l=i.map=new bq.Map({container:i.div,style:s.style,center:jq(o.center),zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1}),u=_q.controlContainerClassName,c=i.div.getElementsByClassName(u)[0];function h(){yo.loneUnhover(e._toppaper)}i.div.removeChild(c),l._canvas.style.left=\\\"0px\\\",l._canvas.style.top=\\\"0px\\\",i.rejectOnError(n),l.once(\\\"load\\\",function(){i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)}),i.isStatic||(l.on(\\\"moveend\\\",function(t){if(i.map){var e=i.getView();if(o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,t.originalEvent){var r={};r[i.id]=ne.extendFlat({},e),a.emit(\\\"plotly_relayout\\\",r)}}}),l.on(\\\"mousemove\\\",function(t){var e=i.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},i.xaxis.p2c=function(){return t.lngLat.lng},i.yaxis.p2c=function(){return t.lngLat.lat},yo.hover(a,t,i.id)}),l.on(\\\"click\\\",function(t){yo.click(a,t.originalEvent)}),l.on(\\\"dragstart\\\",h),l.on(\\\"zoomstart\\\",h),l.on(\\\"dblclick\\\",function(){var t=i.viewInitial;l.setCenter(jq(t.center)),l.setZoom(t.zoom),l.setBearing(t.bearing),l.setPitch(t.pitch);var e=i.getView();o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,a.emit(\\\"plotly_doubleclick\\\",null)}),i.clearSelect=function(){a._fullLayout._zoomlayer.selectAll(\\\".select-outline\\\").remove()})},Rq.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=Bq(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\\\"styledata\\\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},Rq.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},Rq.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(jq(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},Rq.resolveOnRender=function(t){var e=this.map;e.on(\\\"render\\\",function r(){e.loaded()&&(e.off(\\\"render\\\",r),setTimeout(t,0))})},Rq.rejectOnError=function(t){var e=this.map;function r(){t(new Error(_q.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)},Rq.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)},Rq.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,a=t.dragmode;if(i=\\\"select\\\"===a?function(t,r){(t.range={})[e.id]=[s([r.xmin,r.ymin]),s([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(s)},\\\"select\\\"===a||\\\"lasso\\\"===a){r.dragPan.disable(),r.on(\\\"zoomstart\\\",e.clearSelect);var o={element:e.div,gd:n,plotinfo:{xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id,prepFn:function(t,e,r){_c(t,e,r,o,a)}};Ua.init(o)}else r.dragPan.enable(),r.off(\\\"zoomstart\\\",e.clearSelect),e.div.onmousedown=null}function s(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},Rq.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])},Rq.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(Dq(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},Rq.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},Rq.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},Rq.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},Rq.project=function(t){return this.map.project(new bq.LngLat(t[0],t[1]))},Rq.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}};var Vq={},Uq=sa.getSubplotCalcData;for(var qq in _q.styleRules)ne.addStyleRule(\\\".mapboxgl-\\\"+qq,_q.styleRules[qq]);Vq.name=\\\"mapbox\\\",Vq.attr=\\\"subplot\\\",Vq.idRoot=\\\"mapbox\\\",Vq.idRegex=Vq.attrRegex=ne.counterRegex(\\\"mapbox\\\"),Vq.attributes={subplot:{valType:\\\"subplotid\\\",dflt:\\\"mapbox\\\",editType:\\\"calc\\\"}},Vq.layoutAttributes=Sq,Vq.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\\\"mapbox\\\",attributes:Sq,handleDefaults:Eq,partition:\\\"y\\\",accessToken:e._mapboxAccessToken})},Vq.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.mapbox;if(bq.version!==_q.requiredVersion)throw new Error(_q.wrongVersionErrorMsg);var i=function(t,e){var r=t._fullLayout;if(\\\"\\\"===t._context.mapboxAccessToken)return\\\"\\\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(_q.noAccessTokenErrorMsg)}(t,n);bq.accessToken=i;for(var a=0;a<n.length;a++){var o=n[a],s=Uq(r,\\\"mapbox\\\",o),l=e[o],u=l._subplot;u||(u=Fq({gd:t,container:e._glcontainer.node(),id:o,fullLayout:e,staticPlot:t._context.staticPlot}),e[o]._subplot=u),u.viewInitial||(u.viewInitial={center:ne.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,e,t._promises)}},Vq.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},Vq.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\\\"png\\\");e._glimages.append(\\\"svg:image\\\").attr({xmlns:$e.svg,\\\"xlink:href\\\":l,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()}},Vq.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r<e.length;r++){t[e[r]]._subplot.updateFx(t)}};var Hq=m.extendFlat,Gq=ye.overrideAll,Wq=uh.line,Yq=uh.marker,Xq=Gq({lon:uh.lon,lat:uh.lat,mode:Hq({},Zr.mode,{dflt:\\\"markers\\\"}),text:Hq({},Zr.text,{}),hovertext:Hq({},Zr.hovertext,{}),line:{color:Wq.color,width:Wq.width},connectgaps:Zr.connectgaps,marker:{symbol:{valType:\\\"string\\\",dflt:\\\"circle\\\",arrayOk:!0},opacity:Yq.opacity,size:Yq.size,sizeref:Yq.sizeref,sizemin:Yq.sizemin,sizemode:Yq.sizemode,color:Yq.color,colorscale:Yq.colorscale,cauto:Yq.cauto,cmax:Yq.cmax,cmin:Yq.cmin,autocolorscale:Yq.autocolorscale,reversescale:Yq.reversescale,showscale:Yq.showscale,colorbar:ze},fill:uh.fill,fillcolor:Zr.fillcolor,textfont:Sq.layers.symbol.textfont,textposition:Sq.layers.symbol.textposition,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},hoverinfo:Hq({},E.hoverinfo,{flags:[\\\"lon\\\",\\\"lat\\\",\\\"text\\\",\\\"name\\\"]})},\\\"calc\\\",\\\"nested\\\");var Zq=t.BADNUM;var Jq=t.BADNUM,Kq=function(t){var e,n=t[0].trace,i=!0===n.visible,a=\\\"none\\\"!==n.fill,o=Tr.hasLines(n),s=Tr.hasMarkers(n),l=Tr.hasText(n),u=s&&\\\"circle\\\"===n.marker.symbol,c=s&&\\\"circle\\\"!==n.marker.symbol,h=Qq(),f=Qq(),p=Qq(),d=Qq(),g={fill:h,line:f,circle:p,symbol:d};if(!i)return g;if((a||o)&&(e=aV.calcTraceToLineCoords(t)),a&&(h.geojson=aV.makePolygon(e),h.layout.visibility=\\\"visible\\\",ne.extendFlat(h.paint,{\\\"fill-color\\\":n.fillcolor})),o&&(f.geojson=aV.makeLine(e),f.layout.visibility=\\\"visible\\\",ne.extendFlat(f.paint,{\\\"line-width\\\":n.line.width,\\\"line-color\\\":n.line.color,\\\"line-opacity\\\":n.opacity})),u){var v=function(t){var e,n,i,a,o=t[0].trace,s=o.marker,l=o.selectedpoints,u=ne.isArrayOrTypedArray(s.color),c=ne.isArrayOrTypedArray(s.size),h=ne.isArrayOrTypedArray(s.opacity);function f(t){return o.opacity*t}function p(t){return t/2}u&&(n=Je.hasColorscale(o,\\\"marker\\\")?Je.makeColorScaleFunc(Je.extractScale(s.colorscale,s.cmin,s.cmax)):ne.identity);c&&(i=kr(o));h&&(a=function(t){var e=r(t)?+ne.constrain(t,0,1):0;return f(e)});var d,g=[];for(e=0;e<t.length;e++){var v=t[e],m=v.lonlat;if(!eH(m)){var y={};n&&(y.mcc=v.mcc=n(v.mc)),i&&(y.mrc=v.mrc=i(v.ms)),a&&(y.mo=a(v.mo)),l&&(y.selected=v.selected||0),g.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:m},properties:y})}}if(l)for(d=Sr.makeSelectedPointStyleFns(o),e=0;e<g.length;e++){var x=g[e].properties,b=d.opacityFn(x);if(void 0!==b?x.mo=f(b):void 0===x.mo&&(x.mo=f(s.opacity)),d.colorFn){var _=d.colorFn(x);_?x.mcc=_:x.mcc||(x.mcc=s.color)}if(d.sizeFn){var w=d.sizeFn(x);void 0!==w?x.mrc=w:void 0===x.mrc&&(x.mrc=p(s.size))}}return{geojson:{type:\\\"FeatureCollection\\\",features:g},mcc:u||d&&d.colorFn?{type:\\\"identity\\\",property:\\\"mcc\\\"}:s.color,mrc:c||d&&d.sizeFn?{type:\\\"identity\\\",property:\\\"mrc\\\"}:p(s.size),mo:h||l?{type:\\\"identity\\\",property:\\\"mo\\\"}:f(s.opacity)}}(t);p.geojson=v.geojson,p.layout.visibility=\\\"visible\\\",ne.extendFlat(p.paint,{\\\"circle-color\\\":v.mcc,\\\"circle-radius\\\":v.mrc,\\\"circle-opacity\\\":v.mo})}if((c||l)&&(d.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\\\"circle\\\"!==r?$q(r):tH,a=Tr.hasText(e)?$q(n):tH,o=[],s=0;s<t.length;s++){var l=t[s];eH(l.lonlat)||o.push({type:\\\"Feature\\\",geometry:{type:\\\"Point\\\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\\\"FeatureCollection\\\",features:o}}(t),ne.extendFlat(d.layout,{visibility:\\\"visible\\\",\\\"icon-image\\\":\\\"{symbol}-15\\\",\\\"text-field\\\":\\\"{text}\\\"}),c&&(ne.extendFlat(d.layout,{\\\"icon-size\\\":n.marker.size/10}),ne.extendFlat(d.paint,{\\\"icon-opacity\\\":n.opacity*n.marker.opacity,\\\"icon-color\\\":n.marker.color})),l)){var m=(n.marker||{}).size,y=Cq(n.textposition,m);ne.extendFlat(d.layout,{\\\"text-size\\\":n.textfont.size,\\\"text-anchor\\\":y.anchor,\\\"text-offset\\\":y.offset}),ne.extendFlat(d.paint,{\\\"text-color\\\":n.textfont.color,\\\"text-opacity\\\":n.opacity})}return g};function Qq(){return{geojson:aV.makeBlank(),layout:{visibility:\\\"none\\\"},paint:{}}}function $q(t){return ne.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:tH}function tH(){return\\\"\\\"}function eH(t){return t[0]===Jq}function rH(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\\\"-source-fill\\\",line:e+\\\"-source-line\\\",circle:e+\\\"-source-circle\\\",symbol:e+\\\"-source-symbol\\\"},this.layerIds={fill:e+\\\"-layer-fill\\\",line:e+\\\"-layer-line\\\",circle:e+\\\"-layer-circle\\\",symbol:e+\\\"-layer-symbol\\\"},this.order=[\\\"fill\\\",\\\"line\\\",\\\"circle\\\",\\\"symbol\\\"]}var nH=rH.prototype;nH.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\\\"geojson\\\",data:e.geojson})},nH.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},nH.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},nH.update=function(t){for(var e=this.subplot,r=Kq(t),n=0;n<this.order.length;n++){var i=this.order[n],a=r[i];e.setOptions(this.layerIds[i],\\\"setLayoutProperty\\\",a.layout),\\\"visible\\\"===a.layout.visibility&&(this.setSourceData(i,a),e.setOptions(this.layerIds[i],\\\"setPaintProperty\\\",a.paint))}t[0].trace._glTrace=this},nH.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}};var iH={};iH.attributes=Xq,iH.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Xq,r,n)}if(function(t,e,r){var n=r(\\\"lon\\\")||[],i=r(\\\"lat\\\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,i)){if(i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i,{noDash:!0}),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)){gx(t,e,r,n,i,{noLine:!0});var a=e.marker;a.line={width:0},\\\"circle\\\"!==a.symbol&&(ne.isArrayOrTypedArray(a.size)&&(a.size=a.size[0]),ne.isArrayOrTypedArray(a.color)&&(a.color=a.color[0]))}Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0}),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},iH.colorbar=is,iH.calc=nV,iH.plot=function(t,e){for(var r=new rH(t,e[0].trace.uid),n=Kq(e),i=0;i<r.order.length;i++){var a=r.order[i],o=n[a];r.addSource(a,o),r.addLayer(a,o)}return e[0].trace._glTrace=r,r},iH.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),u=e-l;if(yo.getClosest(n,function(t){var e=t.lonlat;if(e[0]===Zq)return 1/0;var n=ne.wrap180(e[0]),i=e[1],l=s.project([n,i]),c=l.x-a.c2p([u,i]),h=l.y-o.c2p([n,r]),f=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(c*c+h*h)-f,1-3/f)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[ne.wrap180(h[0])+l,h[1]],p=a.c2p(f),d=o.c2p(f),g=c.mrc||1;return t.x0=p-g,t.x1=p+g,t.y0=d-g,t.y1=d+g,t.color=mx(i,c),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\\\"+\\\"),i=-1!==n.indexOf(\\\"all\\\"),a=-1!==n.indexOf(\\\"lon\\\"),o=-1!==n.indexOf(\\\"lat\\\"),s=e.lonlat,l=[];function u(t){return t+\\\"\\\\xb0\\\"}return i||a&&o?l.push(\\\"(\\\"+u(s[0])+\\\", \\\"+u(s[1])+\\\")\\\"):a?l.push(r.lon+u(s[0])):o&&l.push(r.lat+u(s[1])),(i||-1!==n.indexOf(\\\"text\\\"))&&xo(e,t,l),l.join(\\\"<br>\\\")}(i,c,n[0].t.labels),[t]}},iH.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t},iH.selectPoints=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace;if(!Tr.hasMarkers(s))return[];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],u=l.lonlat,c=[ne.wrap180(u[0]),u[1]],h=[i.c2p(c),a.c2p(c)];e.contains(h)?(o.push({pointNumber:r,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0}return o},iH.style=function(t,e){e&&e[0].trace._glTrace.update(e)},iH.moduleType=\\\"trace\\\",iH.name=\\\"scattermapbox\\\",iH.basePlotModule=Vq,iH.categories=[\\\"mapbox\\\",\\\"gl\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatterlike\\\"],iH.meta={};var aH=iH,oH={attr:\\\"subplot\\\",name:\\\"polar\\\",axisNames:[\\\"angularaxis\\\",\\\"radialaxis\\\"],axisName2dataArray:{angularaxis:\\\"theta\\\",radialaxis:\\\"r\\\"},layerNames:[\\\"draglayer\\\",\\\"plotbg\\\",\\\"backplot\\\",\\\"angular-grid\\\",\\\"radial-grid\\\",\\\"frontplot\\\",\\\"angular-axis\\\",\\\"radial-axis\\\",\\\"angular-line\\\",\\\"radial-line\\\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20},sH=qc.attributes,lH=ne.extendFlat,uH=ye.overrideAll,cH=uH({color:Ce.color,showline:lH({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:lH({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth},\\\"plot\\\",\\\"from-root\\\"),hH=uH({tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,layer:Ce.layer},\\\"plot\\\",\\\"from-root\\\"),fH={visible:lH({},Ce.visible,{dflt:!0}),type:Ce.type,autorange:Ce.autorange,rangemode:{valType:\\\"enumerated\\\",values:[\\\"tozero\\\",\\\"nonnegative\\\",\\\"normal\\\"],dflt:\\\"tozero\\\",editType:\\\"calc\\\"},range:Ce.range,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,angle:{valType:\\\"angle\\\",editType:\\\"plot\\\"},side:{valType:\\\"enumerated\\\",values:[\\\"clockwise\\\",\\\"counterclockwise\\\"],dflt:\\\"clockwise\\\",editType:\\\"plot\\\"},title:lH({},Ce.title,{editType:\\\"plot\\\",dflt:\\\"\\\"}),titlefont:uH(Ce.titlefont,\\\"plot\\\",\\\"from-root\\\"),hoverformat:Ce.hoverformat,editType:\\\"calc\\\"};lH(fH,cH,hH);var pH={visible:lH({},Ce.visible,{dflt:!0}),type:{valType:\\\"enumerated\\\",values:[\\\"-\\\",\\\"linear\\\",\\\"category\\\"],dflt:\\\"-\\\",editType:\\\"calc\\\"},categoryorder:Ce.categoryorder,categoryarray:Ce.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:Ce.hoverformat,editType:\\\"calc\\\"};lH(pH,cH,hH);var dH={domain:sH({name:\\\"polar\\\",editType:\\\"plot\\\"}),sector:{valType:\\\"info_array\\\",items:[{valType:\\\"number\\\",editType:\\\"plot\\\"},{valType:\\\"number\\\",editType:\\\"plot\\\"}],dflt:[0,360],editType:\\\"plot\\\"},bgcolor:{valType:\\\"color\\\",editType:\\\"plot\\\",dflt:C.background},radialaxis:fH,angularaxis:pH,editType:\\\"calc\\\"},gH={};gH.setConvertAngular=function(t){var e,r,n={clockwise:-1,counterclockwise:1}[t.direction],i=ne.deg2rad(t.rotation);function a(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function o(t){return(t-i)/n}\\\"linear\\\"===t.type?(e=function(t,e){return\\\"degrees\\\"===e?ne.deg2rad(t):t},r=function(t,e){return\\\"degrees\\\"===e?ne.rad2deg(t):t}):\\\"category\\\"===t.type&&(e=function(t){var e=a();return 2*t*Math.PI/e},r=function(t){return t*a()/Math.PI/2}),t.unTransformRad=o,t._c2rad=e,t.c2rad=function(t,r){return function(t){return n*t+i}(e(t,r))},t.rad2c=function(t,e){return r(o(t),e)},t.c2deg=function(e,r){return ne.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(ne.deg2rad(e),r)}};var vH=sa.getSubplotData,mH=gH.setConvertAngular,yH=oH.axisNames;function xH(t,e,r,n){var i=r(\\\"bgcolor\\\");n.bgColor=Oe.combine(i,n.paper_bgcolor);var a,o=r(\\\"sector\\\"),s=vH(n.fullData,oH.name,n.id),l=n.layoutOut;function u(t,e){return r(a+\\\".\\\"+t,e)}for(var c=0;c<yH.length;c++){a=yH[c],ne.isPlainObject(t[a])||(t[a]={});var h=t[a],f=e[a]={};f._id=f._name=a;var p=oH.axisName2dataArray[a],d=bH(h,f,u,s,p);Wi(h,f,u),f._initialCategories=\\\"category\\\"===d?Ki(p,f.categoryorder,f.categoryarray,s):[];var g,v,m=u(\\\"visible\\\");switch(ei(f,l),m&&(v=(g=u(\\\"color\\\"))===h.color?g:n.font.color),f._m=1,a){case\\\"radialaxis\\\":var y=u(\\\"autorange\\\",!f.isValidRange(h.range));h.autorange=y,y&&u(\\\"rangemode\\\"),\\\"reversed\\\"===y&&(f._m=-1),u(\\\"range\\\"),f.cleanRange(\\\"range\\\",{dfltRange:[0,1]}),m&&(u(\\\"side\\\"),u(\\\"angle\\\",o[0]),u(\\\"title\\\"),ne.coerceFont(u,\\\"titlefont\\\",{family:n.font.family,size:Math.round(1.2*n.font.size),color:v}));break;case\\\"angularaxis\\\":if(\\\"date\\\"===d){ne.log(\\\"Polar plots do not support date angular axes yet.\\\");for(var x=0;x<s.length;x++)s[x].visible=!1;d=h.type=f.type=\\\"linear\\\"}u(\\\"linear\\\"===d?\\\"thetaunit\\\":\\\"period\\\"),u(\\\"rotation\\\",{counterclockwise:0,clockwise:90}[u(\\\"direction\\\")]),mH(f)}if(m)Ge(h,f,u,f.type),Ue(h,f,u,f.type,{tickSuffixDflt:\\\"degrees\\\"===f.thetaunit?\\\"\\\\xb0\\\":void 0}),qe(h,f,u,{outerTicks:!0}),u(\\\"showticklabels\\\")&&(ne.coerceFont(u,\\\"tickfont\\\",{family:n.font.family,size:n.font.size,color:v}),u(\\\"tickangle\\\"),u(\\\"tickformat\\\")),Zi(h,f,u,{dfltColor:g,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:dH[a]}),u(\\\"layer\\\");\\\"category\\\"!==d&&u(\\\"hoverformat\\\"),f._input=h}}function bH(t,e,r,n,i){if(\\\"-\\\"===r(\\\"type\\\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&(e.type=Yn(a[i],\\\"gregorian\\\")),\\\"-\\\"===e.type?e.type=\\\"linear\\\":t.type=e.type}return e.type}var _H=Nn,wH=Qe.MID_SHIFT,MH=ne._,AH=ne.deg2rad,kH=ne.rad2deg,TH=ne.wrap360,SH=ne.wrap180,EH=gH.setConvertAngular;function CH(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\\\"clip\\\"+r._uid+e;this.clipIds.circle=n+\\\"-circle\\\",this.clipPaths.circle=r._clips.append(\\\"clipPath\\\").attr(\\\"id\\\",this.clipIds.circle),this.clipPaths.circle.append(\\\"path\\\"),this.framework=r._polarlayer.append(\\\"g\\\").attr(\\\"class\\\",e),this.radialTickLayout=null,this.angularTickLayout=null}var LH=CH.prototype,zH=function(t,e){return new CH(t,e)};function PH(t,e,r){ri.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function IH(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\\\"side\\\"in t&&(e+=t.side),e}function DH(t,e){if(RH(e))return Sr.symbolFuncs[0](t);var r=t*Math.cos(AH(e[0])),n=-t*Math.sin(AH(e[0])),i=t*Math.cos(AH(e[1])),a=-t*Math.sin(AH(e[1]));return\\\"M\\\"+[r,n]+\\\"A\\\"+[t,t]+\\\" \\\"+(Math.abs(e[1]-e[0])<=180?[0,0,0]:[0,1,0])+\\\" \\\"+[i,a]}function OH(t,e){return DH(t,e)+(RH(e)?\\\"\\\":\\\"L0,0Z\\\")}function RH(t){return 360===Math.abs(t[1]-t[0])}function FH(t,e,r){return e?(t.attr(\\\"display\\\",null),t.attr(r)):t&&t.attr(\\\"display\\\",\\\"none\\\"),t}function BH(t,e){return\\\"translate(\\\"+t+\\\",\\\"+e+\\\")\\\"}function NH(t){return\\\"rotate(\\\"+t+\\\")\\\"}function jH(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function VH(t){return jH(Math.cos(t))}function UH(t){return jH(Math.sin(t))}LH.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),_n.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},LH.updateLayers=function(t,r){var n=this.layers,i=r.radialaxis,a=r.angularaxis,o=oH.layerNames,s=o.indexOf(\\\"frontplot\\\"),l=o.slice(0,s),u=\\\"below traces\\\"===a.layer,c=\\\"below traces\\\"===i.layer;u&&l.push(\\\"angular-axis\\\"),c&&l.push(\\\"radial-axis\\\"),u&&l.push(\\\"angular-line\\\"),c&&l.push(\\\"radial-line\\\"),l.push(\\\"frontplot\\\"),u||l.push(\\\"angular-axis\\\"),c||l.push(\\\"radial-axis\\\"),u||l.push(\\\"angular-line\\\"),c||l.push(\\\"radial-line\\\");var h=this.framework.selectAll(\\\".polarsublayer\\\").data(l,String);h.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"polarsublayer \\\"+t}).each(function(t){var r=n[t]=e.select(this);switch(t){case\\\"frontplot\\\":r.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0);break;case\\\"backplot\\\":r.append(\\\"g\\\").classed(\\\"maplayer\\\",!0);break;case\\\"plotbg\\\":n.bgcircle=r.append(\\\"path\\\");break;case\\\"radial-grid\\\":r.style(\\\"fill\\\",\\\"none\\\"),r.append(\\\"g\\\").classed(\\\"x\\\",1);break;case\\\"angular-grid\\\":r.style(\\\"fill\\\",\\\"none\\\"),r.append(\\\"g\\\").classed(\\\"angular\\\",1);break;case\\\"radial-line\\\":r.append(\\\"line\\\").style(\\\"fill\\\",\\\"none\\\");break;case\\\"angular-line\\\":r.append(\\\"path\\\").style(\\\"fill\\\",\\\"none\\\")}}),h.order()},LH.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var s,l,u,c,h,f=r.xLength=i.w*(a[1]-a[0]),p=r.yLength=i.h*(o[1]-o[0]),d=r.sector=e.sector,g=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=TH(a),l=s+o,u=Math.cos(AH(s)),c=Math.sin(AH(s)),h=Math.cos(AH(l)),f=Math.sin(AH(l));i=s<=90&&l>=90||s>90&&l>=450?1:c<=0&&f<=0?0:Math.max(c,f);e=s<=180&&l>=180||s>180&&l>=540?-1:u>=0&&h>=0?0:Math.min(u,h);r=s<=270&&l>=270||s>270&&l>=630?-1:c>=0&&f>=0?0:Math.min(c,f);n=l>=360?1:u<=0&&h<=0?0:Math.max(u,h);return[e,r,n,i]}(d),v=g[2]-g[0],m=g[3]-g[1],y=p/f,x=Math.abs(m/v);y>x?(s=f,h=(p-(l=f*x))/i.h/2,u=[a[0],a[1]],c=[o[0]+h,o[1]-h]):(l=p,h=(f-(s=p/x))/i.w/2,u=[a[0]+h,a[1]-h],c=[o[0],o[1]]),r.xLength2=s,r.yLength2=l,r.xDomain2=u,r.yDomain2=c;var b=r.xOffset2=i.l+i.w*u[0],_=r.yOffset2=i.t+i.h*(1-c[1]),w=r.radius=s/v,M=r.cx=b-w*g[0],A=r.cy=_+w*g[3],k=r.cxx=M-b,T=r.cyy=A-_;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var S=r.radialAxis.range,E=S[1]-S[0],C=r.xaxis={type:\\\"linear\\\",_id:\\\"x\\\",range:[g[0]*E,g[2]*E],domain:u};ri.setConvert(C,t),C.setScale();var L=r.yaxis={type:\\\"linear\\\",_id:\\\"y\\\",range:[g[1]*E,g[3]*E],domain:c};ri.setConvert(L,t),L.setScale(),C.isPtWithinRange=function(t){return r.isPtWithinSector(t)},L.isPtWithinRange=function(){return!0},n.frontplot.attr(\\\"transform\\\",BH(b,_)).call(Sr.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:OH(w,d),transform:BH(M,A)}).call(Oe.fill,e.bgcolor),r.clipPaths.circle.select(\\\"path\\\").attr(\\\"d\\\",OH(w,d)).attr(\\\"transform\\\",BH(k,T)),r.framework.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",0)},LH.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,o=this.cy,s=t._size,l=e.radialaxis,u=e.sector,c=TH(u[0]);this.fillViewInitialKey(\\\"radialaxis.angle\\\",l.angle);var h=this.radialAxis=ne.extendFlat({},l,{_axislayer:n[\\\"radial-axis\\\"],_gridlayer:n[\\\"radial-grid\\\"],_id:\\\"x\\\",_pos:0,side:{counterclockwise:\\\"top\\\",clockwise:\\\"bottom\\\"}[l.side],domain:[0,i/s.w],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1});PH(h,l,t),_H(h),l.range=h.range.slice(),l._input.range=h.range.slice(),this.fillViewInitialKey(\\\"radialaxis.range\\\",h.range.slice()),\\\"auto\\\"===h.tickangle&&c>90&&c<=270&&(h.tickangle=180),h._transfn=function(t){return\\\"translate(\\\"+h.l2p(t.x)+\\\",0)\\\"},h._gridpath=function(t){return DH(h.r2p(t.x),u)};var f=IH(l);this.radialTickLayout!==f&&(n[\\\"radial-axis\\\"].selectAll(\\\".xtick\\\").remove(),this.radialTickLayout=f),ri.doTicks(r,h,!0),FH(n[\\\"radial-axis\\\"],l.showticklabels||l.ticks,{transform:BH(a,o)+NH(-l.angle)}),FH(n[\\\"radial-grid\\\"],l.showgrid,{transform:BH(a,o)}).selectAll(\\\"path\\\").attr(\\\"transform\\\",null),FH(n[\\\"radial-line\\\"].select(\\\"line\\\"),l.showline,{x1:0,y1:0,x2:i,y2:0,transform:BH(a,o)+NH(-l.angle)}).attr(\\\"stroke-width\\\",l.linewidth).call(Oe.stroke,l.linecolor)},LH.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+\\\"title\\\",u=void 0!==r?r:s.angle,c=AH(u),h=Math.cos(c),f=Math.sin(c),p=0;if(s.title){var d=Sr.bBox(this.layers[\\\"radial-axis\\\"].node()).height,g=s.titlefont.size;p=\\\"counterclockwise\\\"===s.side?-d-.4*g:d+.8*g}this.layers[\\\"radial-axis-title\\\"]=Dn.draw(n,l,{propContainer:s,propName:this.id+\\\".radialaxis.title\\\",placeholder:MH(n,\\\"Click to enter radial axis title\\\"),attributes:{x:a+i/2*h+p*f,y:o-i/2*f+p*h,\\\"text-anchor\\\":\\\"middle\\\"},transform:{rotate:-u}})},LH.updateAngularAxis=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=r.angularaxis,c=r.sector,h=c.map(AH);n.fillViewInitialKey(\\\"angularaxis.rotation\\\",u.rotation);var f=n.angularAxis=ne.extendFlat({},u,{_axislayer:a[\\\"angular-axis\\\"],_gridlayer:a[\\\"angular-grid\\\"],_id:\\\"angular\\\",_pos:0,side:\\\"right\\\",domain:[0,Math.PI],anchor:\\\"free\\\",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if(\\\"linear\\\"===f.type)RH(c)?f.range=c.slice():f.range=h.map(f.unTransformRad).map(kH),\\\"radians\\\"===f.thetaunit&&(f.tick0=kH(f.tick0),f.dtick=kH(f.dtick));else if(\\\"category\\\"===f.type){var p=u.period?Math.max(u.period,u._categories.length):u._categories.length;f.range=[0,p],f._tickFilter=function(t){return n.isPtWithinSector({r:n.radialAxis.range[1],rad:f.c2rad(t.x)})}}function d(t){return f.c2rad(t.x,\\\"degrees\\\")}function g(t){return[o*Math.cos(t),o*Math.sin(t)]}PH(f,u,t),f._transfn=function(t){var r=d(t),n=g(r),i=BH(s+n[0],l-n[1]),a=e.select(this);return a&&a.node()&&a.classed(\\\"ticks\\\")&&(i+=NH(-kH(r))),i},f._gridpath=function(t){var e=g(d(t));return\\\"M0,0L\\\"+-e[0]+\\\",\\\"+e[1]};var v=\\\"outside\\\"!==u.ticks?.7:.5;f._labelx=function(t){var e=d(t),r=f._labelStandoff,n=f._pad;return(0===UH(e)?0:Math.cos(e)*(r+n+v*t.fontSize))+VH(e)*(t.dx+r+n)},f._labely=function(t){var e=d(t),r=f._labelStandoff,n=f._labelShift,i=f._pad;return t.dy+t.fontSize*wH-n+-Math.sin(e)*(r+i+v*t.fontSize)},f._labelanchor=function(t,e){var r=d(e);return 0===UH(r)?VH(r)>0?\\\"start\\\":\\\"end\\\":\\\"middle\\\"};var m=IH(u);n.angularTickLayout!==m&&(a[\\\"angular-axis\\\"].selectAll(\\\".angulartick\\\").remove(),n.angularTickLayout=m),ri.doTicks(i,f,!0),FH(a[\\\"angular-line\\\"].select(\\\"path\\\"),u.showline,{d:OH(o,c),transform:BH(s,l)}).attr(\\\"stroke-width\\\",u.linewidth).call(Oe.stroke,u.linecolor)},LH.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},LH.updateMainDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=t._zoomlayer,l=oH.MINZOOM,u=oH.OFFEDGE,c=n.radius,h=n.cx,f=n.cy,p=n.cxx,d=n.cyy,g=r.sector,v=Bm.makeDragger(a,\\\"path\\\",\\\"maindrag\\\",\\\"crosshair\\\");e.select(v).attr(\\\"d\\\",OH(c,g)).attr(\\\"transform\\\",BH(h,f));var m,y,x,b,_,w,M,A,k,T={element:v,gd:i,subplot:n.id,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis},xaxes:[n.xaxis],yaxes:[n.yaxis]};function S(t,e){var r=t-p,n=e-d;return Math.sqrt(r*r+n*n)}function E(t,e){return Math.atan2(d-e,t-p)}function C(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function L(t,e){var r=oH.cornerLen,n=oH.cornerHalfWidth;if(0===t)return OH(2*n,g);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,c)),l=s-n,u=s+n;return\\\"M\\\"+C(l,a)+\\\"A\\\"+[l,l]+\\\" 0,0,0 \\\"+C(l,o)+\\\"L\\\"+C(u,o)+\\\"A\\\"+[u,u]+\\\" 0,0,1 \\\"+C(u,a)+\\\"Z\\\"}function z(t,e){var r,n,i=m+t,a=y+e,o=S(m,y),s=Math.min(S(i,a),c),h=E(m,y),f=E(i,a);o<u?o=0:c-o<u?o=c:s<u?s=0:c-s<u&&(s=c),Math.abs(s-o)>l?(o<s?(x=o,b=s):(x=s,b=o,f=[h,h=f][0]),r=_+OH(b,g)+OH(x,g),n=L(x,h)+L(b,f)):(x=null,b=null,r=_,n=\\\"M0,0Z\\\"),A.attr(\\\"d\\\",r),k.attr(\\\"d\\\",n),Bm.transitionZoombox(A,k,w,M),w=!0}function I(){if(Bm.removeZoombox(i),null!==x&&null!==b){Bm.showDoubleClickNotifier(i);var t=n.radialAxis.range,e=t[1]-t[0],r={};r[n.id+\\\".radialaxis.range\\\"]=[t[0]+x*e/c,t[0]+b*e/c],P.call(\\\"relayout\\\",i,r)}}T.prepFn=function(t,e,r){var a=i._fullLayout.dragmode,l=v.getBoundingClientRect();switch(m=e-l.left,y=r-l.top,a){case\\\"zoom\\\":T.moveFn=z,T.doneFn=I,function(){x=null,b=null,_=OH(c,g),w=!1;var t=i._fullLayout[n.id];M=s(t.bgcolor).getLuminance(),(A=Bm.makeZoombox(o,M,h,f,_)).attr(\\\"fill-rule\\\",\\\"evenodd\\\"),k=Bm.makeCorners(o,h,f),Bm.clearSelect(o)}();break;case\\\"select\\\":case\\\"lasso\\\":_c(t,e,r,T,a)}},T.clickFn=function(t,e){if(Bm.removeZoombox(i),2===t){var r={};for(var a in n.viewInitial)r[n.id+\\\".\\\"+a]=n.viewInitial[a];i.emit(\\\"plotly_doubleclick\\\",null),P.call(\\\"relayout\\\",i,r)}yo.click(i,e,n.id)},v.onmousemove=function(t){yo.hover(i,t,n.id),i._fullLayout._lasthover=v,i._fullLayout._hoversubplot=n.id},v.onmouseout=function(t){i._dragging||Ua.unhover(i,t)},Ua.init(T)},LH.updateRadialDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.radialAxis,c=r.radialaxis,h=AH(c.angle),f=u.range.slice(),p=f[1]-f[0],d=oH.radialDragBoxSize,g=d/2;if(c.visible){var v,m,y,x=Bm.makeRectDragger(a,\\\"radialdrag\\\",\\\"crosshair\\\",-g,-g,d,d),b={element:x,gd:i},_=s+(o+g)*Math.cos(h),w=l-(o+g)*Math.sin(h);e.select(x).attr(\\\"transform\\\",BH(_,w)),b.prepFn=function(){v=null,m=null,y=null,b.moveFn=M,b.doneFn=A,Bm.clearSelect(t._zoomlayer)},b.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<oH.MINDRAG&&(t=0,e=0),[t,e]},Ua.init(b)}function M(t,e){if(v)v(t,e);else{var r=[t,-e],n=[Math.cos(h),Math.sin(h)],i=Math.abs(ne.dot(r,n)/Math.sqrt(ne.dot(r,r)));isNaN(i)||(v=i<.5?k:T)}}function A(){null!==m?P.call(\\\"relayout\\\",i,n.id+\\\".radialaxis.angle\\\",m):null!==y&&P.call(\\\"relayout\\\",i,n.id+\\\".radialaxis.range[1]\\\",y)}function k(t,e){var r=_+t,i=w+e;m=kH(Math.atan2(l-i,r-s));var o=BH(s,l)+NH(-m);a[\\\"radial-axis\\\"].attr(\\\"transform\\\",o),a[\\\"radial-line\\\"].select(\\\"line\\\").attr(\\\"transform\\\",o);var u=n.gd._fullLayout,c=u[n.id];n.updateRadialAxisTitle(u,c,m)}function T(t,e){var r=ne.dot([t,-e],[Math.cos(h),Math.sin(h)]),c=f[1]-p*r/o*.75;if(p>0==c>f[0]){y=u.range[1]=c,ri.doTicks(i,n.radialAxis,!0),a[\\\"radial-grid\\\"].attr(\\\"transform\\\",BH(s,l)).selectAll(\\\"path\\\").attr(\\\"transform\\\",null);var d=y-f[0],g=n.sectorBBox;for(var v in n.xaxis.range=[g[0]*d,g[2]*d],n.yaxis.range=[g[1]*d,g[3]*d],n.xaxis.setScale(),n.yaxis.setScale(),n.traceHash){var m=n.traceHash[v],x=ne.filterVisible(m),b=m[0][0].trace._module,_=i._fullLayout[n.id];if(b.plot(i,n,x,_),!P.traceIs(v,\\\"gl\\\"))for(var w=0;w<x.length;w++)b.style(i,x[w])}}}},LH.updateAngularDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.cxx,c=n.cyy,h=r.sector,f=oH.angularDragBoxSize,p=Bm.makeDragger(a,\\\"path\\\",\\\"angulardrag\\\",\\\"move\\\"),d={element:p,gd:i};function g(t,e){return Math.atan2(c+f-e,t-u-f)}e.select(p).attr(\\\"d\\\",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return\\\"A\\\"+[t,t]+\\\" \\\"+[0,o,r]+\\\" \\\"+s(t,e)}return RH(r)?(n=0,a=2*Math.PI,i=Math.PI,\\\"M\\\"+s(t,n)+l(t,i,0)+l(t,a,0)+\\\"ZM\\\"+s(e,n)+l(e,i,1)+l(e,a,1)+\\\"Z\\\"):(n=AH(r[0]),a=AH(r[1]),\\\"M\\\"+s(t,n)+\\\"L\\\"+s(e,n)+l(e,a,0)+\\\"L\\\"+s(t,a)+l(t,n,1)+\\\"Z\\\")}(o,o+f,h)).attr(\\\"transform\\\",BH(s,l)).call(Ka,\\\"move\\\");var v,m,y,x,b,_,w=a.frontplot.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\"),M=w.selectAll(\\\".point\\\"),A=w.selectAll(\\\".textpoint\\\");function k(t,r){var o=g(v+t,m+r),s=kH(o-_);x=y+s,a.frontplot.attr(\\\"transform\\\",BH(n.xOffset2,n.yOffset2)+NH([-s,u,c])),n.clipPaths.circle.select(\\\"path\\\").attr(\\\"transform\\\",BH(u,c)+NH(s)),M.each(function(){var t=e.select(this),r=Sr.getTranslate(t);t.attr(\\\"transform\\\",BH(r.x,r.y)+NH([s]))}),A.each(function(){var t=e.select(this),r=t.select(\\\"text\\\"),n=Sr.getTranslate(t);t.attr(\\\"transform\\\",NH([s,r.attr(\\\"x\\\"),r.attr(\\\"y\\\")])+BH(n.x,n.y))});var l=n.angularAxis;for(var f in l.rotation=SH(x),\\\"linear\\\"!==l.type||RH(h)||(l.range=b.map(AH).map(l.unTransformRad).map(kH)),EH(l),ri.doTicks(i,l,!0),n._hasClipOnAxisFalse&&!RH(h)&&(n.sector=[b[0]-s,b[1]-s],w.call(Sr.hideOutsideRangePoints,n)),n.traceHash)if(P.traceIs(f,\\\"gl\\\")){var p=n.traceHash[f],d=ne.filterVisible(p),k=p[0][0].trace._module,T=i._fullLayout[n.id];k.plot(i,n,d,T)}}function T(){A.select(\\\"text\\\").attr(\\\"transform\\\",null);var t={};t[n.id+\\\".angularaxis.rotation\\\"]=x,P.call(\\\"relayout\\\",i,t)}d.prepFn=function(e,r,i){var a=t[n.id];b=a.sector.slice(),y=a.angularaxis.rotation;var o=p.getBoundingClientRect();v=r-o.left,m=i-o.top,_=g(v,m),d.moveFn=k,d.doneFn=T,Bm.clearSelect(t._zoomlayer)},Ua.init(d)},LH.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=TH(e[0]),o=TH(e[1]);a>o&&(o+=360);var s,l,u=TH(kH(t.rad)),c=u+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(RH(e)||u>=a&&u<=o||c>=a&&c<=o)},LH.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)};var qH=sa.getSubplotCalcData,HH=ne.counterRegex,GH=oH.attr,WH=oH.name,YH=HH(WH),XH={};XH[GH]={valType:\\\"subplotid\\\",dflt:WH,editType:\\\"calc\\\"};var ZH={attr:GH,name:WH,idRoot:WH,idRegex:YH,attrRegex:YH,attributes:XH,layoutAttributes:dH,supplyLayoutDefaults:function(t,e,r){Jc(t,e,0,{type:oH.name,attributes:dH,handleDefaults:xH,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})},plot:function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots[WH],i=0;i<n.length;i++){var a=n[i],o=qH(r,WH,a),s=e[a]._subplot;s||(s=zH(t,a),e[a]._subplot=s),s.plot(o,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[WH]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var l in s.framework.remove(),s.layers[\\\"radial-axis-title\\\"].remove(),s.clipPaths)s.clipPaths[l].remove()}},toSVG:ua.toSVG},JH=m.extendFlat,KH=Zr.line,QH={mode:Zr.mode,r:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},theta:{valType:\\\"data_array\\\",editType:\\\"calc+clearAxisTypes\\\"},thetaunit:{valType:\\\"enumerated\\\",values:[\\\"radians\\\",\\\"degrees\\\",\\\"gradians\\\"],dflt:\\\"degrees\\\",editType:\\\"calc+clearAxisTypes\\\"},text:Zr.text,hovertext:Zr.hovertext,line:{color:KH.color,width:KH.width,dash:KH.dash,shape:JH({},KH.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:KH.smoothing,editType:\\\"calc\\\"},connectgaps:Zr.connectgaps,marker:Zr.marker,cliponaxis:JH({},Zr.cliponaxis,{dflt:!1}),textposition:Zr.textposition,textfont:Zr.textfont,fill:JH({},Zr.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:Zr.fillcolor,hoverinfo:JH({},E.hoverinfo,{flags:[\\\"r\\\",\\\"theta\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:Zr.hoveron,selected:Zr.selected,unselected:Zr.unselected},$H=t.BADNUM,tG=sx,eG=Wr.PTS_LINESONLY;function rG(t,e,r){var n=r.radialAxis,i=r.angularAxis,a=(t.hi||e.hoverinfo).split(\\\"+\\\"),o=[];n._hovertitle=\\\"r\\\",i._hovertitle=\\\"\\\\u03b8\\\";var s,l=i._c2rad(t.theta,e.thetaunit);function u(t,e){o.push(t._hovertitle+\\\": \\\"+ri.tickText(t,e,\\\"hover\\\").text)}return s=\\\"linear\\\"===i.type&&e.thetaunit!==i.thetaunit?\\\"degrees\\\"===i.thetaunit?ne.rad2deg(l):l:t.theta,-1!==a.indexOf(\\\"all\\\")&&(a=[\\\"r\\\",\\\"theta\\\"]),-1!==a.indexOf(\\\"r\\\")&&u(n,n.c2r(t.r)),-1!==a.indexOf(\\\"theta\\\")&&u(i,s),o.join(\\\"<br>\\\")}var nG={hoverPoints:function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index)return i;var o=t.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtWithinSector(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,a.extraText=rG(s,l,o),i}},makeHoverPointText:rG},iG=t.BADNUM,aG={moduleType:\\\"trace\\\",name:\\\"scatterpolar\\\",basePlotModule:ZH,categories:[\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:QH,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,QH,r,n)}var a=i(\\\"r\\\"),o=i(\\\"theta\\\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\\\"thetaunit\\\"),i(\\\"mode\\\",s<eG?\\\"lines+markers\\\":\\\"lines\\\"),i(\\\"text\\\"),i(\\\"hovertext\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"cliponaxis\\\"),i(\\\"marker.maxdisplayed\\\"),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var n,i=t._fullLayout,a=e.subplot,o=i[a].radialaxis,s=i[a].angularaxis,l=o.makeCalcdata(e,\\\"r\\\"),u=s.makeCalcdata(e,\\\"theta\\\"),c=e._length,h=new Array(c);for(var f=0;f<c;f++){var p=l[f],d=u[f],g=h[f]={};r(p)&&r(d)?(g.r=p,g.theta=d,g.rad=(n=d,s.c2rad(n,e.thetaunit))):g.r=$H}var v=tG(e,c);return ri.expand(o,l,{ppad:v}),ex(e),dh(h,e),Ma(h,e),h},plot:function(t,e,r){var n,i,a,o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},s=e.radialAxis,l=s.range;for(a=l[0]>l[1]?function(t){return t<=0}:function(t){return t>=0},n=0;n<r.length;n++)for(i=0;i<r[n].length;i++){var u=r[n][i],c=u.r;if(c!==iG){var h=s.c2r(c)-l[0];if(a(h)){var f=u.rad;u.x=h*Math.cos(f),u.y=h*Math.sin(f);continue}u.intoCenter=[e.cxx,e.cyy]}u.x=iG,u.y=iG}kx(t,o,r)},style:Cx.style,hoverPoints:nG.hoverPoints,selectPoints:Sx,meta:{}},oG={mode:QH.mode,r:QH.r,theta:QH.theta,thetaunit:QH.thetaunit,text:QH.text,line:cq.line,connectgaps:cq.connectgaps,marker:cq.marker,fill:cq.fill,fillcolor:cq.fillcolor,hoverinfo:QH.hoverinfo,hoveron:QH.hoveron,selected:QH.selected,unselected:QH.unselected},sG=Wr.PTS_LINESONLY,lG=nG.makeHoverPointText;var uG={moduleType:\\\"trace\\\",name:\\\"scatterpolargl\\\",basePlotModule:ZH,categories:[\\\"gl\\\",\\\"regl\\\",\\\"polar\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],attributes:oG,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,oG,r,n)}var a=i(\\\"r\\\"),o=i(\\\"theta\\\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\\\"thetaunit\\\"),i(\\\"mode\\\",s<sG?\\\"lines+markers\\\":\\\"lines\\\"),i(\\\"text\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\\\"connectgaps\\\"));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),l.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&hx(0,e,r,i),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||l.push(\\\"fills\\\"),i(\\\"hoveron\\\",l.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(e,\\\"r\\\"),s=a.makeCalcdata(e,\\\"theta\\\"),l={};return e._length<o.length&&(o=o.slice(0,e._length)),e._length<s.length&&(s=s.slice(0,e._length)),ex(e),l.r=o,l.theta=s,ri.expand(i,o,{tozero:!0}),\\\"linear\\\"!==a.type&&(a.autorange=!0,ri.expand(a,s),delete a.autorange),[{x:!1,y:!1,t:l,trace:e}]},plot:function(t,e,n){var i=e.radialAxis,a=e.angularAxis,o=i.range,s=yq.sceneUpdate(t,e);return s.clear(),n.forEach(function(l,u){if(l&&l[0]&&l[0].trace){var c,h,f,p,d,g=l[0],v=g.trace,m=g.t,y=m.r,x=m.theta,b=y.slice(),_=x.slice();for(c=0;c<y.length;c++)h=y[c],p=x[c],d=a.c2rad(p,v.thetaunit),e.isPtWithinSector({r:h,rad:d})||(b[c]=NaN,_[c]=NaN);var w,M=y.length,A=new Array(2*M),k=Array(M),T=Array(M);for(c=0;c<M;c++)h=b[c],p=_[c],r(h)&&r(p)&&h>=0?(f=i.c2r(h)-o[0],w=p,d=a.c2rad(w,v.thetaunit),k[c]=A[2*c]=f*Math.cos(d),T[c]=A[2*c+1]=f*Math.sin(d)):k[c]=T[c]=A[2*c]=A[2*c+1]=NaN;var S=yq.sceneOptions(t,e,v,A);S.fill&&!s.fill2d&&(s.fill2d=!0),S.marker&&!s.scatter2d&&(s.scatter2d=!0),S.line&&!s.line2d&&(s.line2d=!0),!S.errorX&&!S.errorY||s.error2d||(s.error2d=!0),Tr.hasMarkers(v)&&(S.selected.positions=S.unselected.positions=S.marker.positions),s.lineOptions.push(S.line),s.errorXOptions.push(S.errorX),s.errorYOptions.push(S.errorY),s.fillOptions.push(S.fill),s.markerOptions.push(S.marker),s.selectedOptions.push(S.selected),s.unselectedOptions.push(S.unselected),s.count=n.length,m.scene=s,m.index=u,m.x=k,m.y=T,m.rawx=k,m.rawy=T,m.r=y,m.theta=x,m.positions=A,m.count=M,m.tree=vV(A,512)}}),yq.plot(t,e,n)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,a=i.r,o=i.theta,s=yq.hoverPoints(t,e,r,n);if(s&&!1!==s[0].index){var l=s[0];if(void 0===l.index)return s;var u=t.subplot,c=u.angularAxis,h=l.cd[l.index],f=l.trace;if(h.r=a[l.index],h.theta=o[l.index],h.rad=c.c2rad(h.theta,f.thetaunit),u.isPtWithinSector(h))return l.xLabelVal=void 0,l.yLabelVal=void 0,l.extraText=lG(h,f,u),s}},style:yq.style,selectPoints:yq.selectPoints,meta:{}},cG=m.extendFlat,hG={title:Ce.title,titlefont:Ce.titlefont,color:Ce.color,tickmode:Ce.tickmode,nticks:cG({},Ce.nticks,{dflt:6,min:1}),tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:cG({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:cG({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth,layer:Ce.layer,min:{valType:\\\"number\\\",dflt:0,min:0}},fG=function(t,e,r){function n(r,n){return ne.coerce(t,e,hG,r,n)}e.type=\\\"linear\\\";var i=n(\\\"color\\\"),a=i===t.color?i:r.font.color,o=e._name.charAt(0).toUpperCase(),s=\\\"Component \\\"+o,l=n(\\\"title\\\",s);e._hovertitle=l===s?l:o,ne.coerceFont(n,\\\"titlefont\\\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:a}),n(\\\"min\\\"),Ge(t,e,n,\\\"linear\\\"),Ue(t,e,n,\\\"linear\\\",{}),qe(t,e,n,{outerTicks:!0}),n(\\\"showticklabels\\\")&&(ne.coerceFont(n,\\\"tickfont\\\",{family:r.font.family,size:r.font.size,color:a}),n(\\\"tickangle\\\"),n(\\\"tickformat\\\")),Zi(t,e,n,{dfltColor:i,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:hG}),n(\\\"hoverformat\\\"),n(\\\"layer\\\")},pG=qc.attributes,dG=(0,ye.overrideAll)({domain:pG({name:\\\"ternary\\\"}),bgcolor:{valType:\\\"color\\\",dflt:C.background},sum:{valType:\\\"number\\\",dflt:1,min:0},aaxis:hG,baxis:hG,caxis:hG},\\\"plot\\\",\\\"from-root\\\"),gG=[\\\"aaxis\\\",\\\"baxis\\\",\\\"caxis\\\"];function vG(t,e,r,n){var i,a,o,s=r(\\\"bgcolor\\\"),l=r(\\\"sum\\\");n.bgColor=Oe.combine(s,n.paper_bgcolor);for(var u=0;u<gG.length;u++)a=t[i=gG[u]]||{},o=e[i]={_name:i,type:\\\"linear\\\"},fG(a,o,n);var c=e.aaxis,h=e.baxis,f=e.caxis;c.min+h.min+f.min>=l&&(c.min=0,h.min=0,f.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var mG=ne._,yG=m.extendFlat;function xG(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}var bG=xG,_G=xG.prototype;_G.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_G.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\\\"path\\\").call(Oe.fill,r.bgcolor)},_G.makeFramework=function(t){var e=t[this.id],r=this.clipId=\\\"clip\\\"+this.layoutId+this.id;this.clipDef=t._clips.selectAll(\\\"#\\\"+r).data([0]),this.clipDef.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",r).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\");var n=this.clipIdRelative=\\\"clip-relative\\\"+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(\\\"#\\\"+n).data([0]),this.clipDefRelative.enter().append(\\\"clipPath\\\").attr(\\\"id\\\",n).append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"),this.plotContainer=this.container.selectAll(\\\"g.\\\"+this.id).data([0]),this.plotContainer.enter().append(\\\"g\\\").classed(this.id,!0),this.updateLayers(e),Sr.setClipUrl(this.layers.backplot,r),Sr.setClipUrl(this.layers.grids,r)},_G.updateLayers=function(t){var r=this.layers,n=[\\\"draglayer\\\",\\\"plotbg\\\",\\\"backplot\\\",\\\"grids\\\"];\\\"below traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"below traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"below traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\"),n.push(\\\"frontplot\\\"),\\\"above traces\\\"===t.aaxis.layer&&n.push(\\\"aaxis\\\",\\\"aline\\\"),\\\"above traces\\\"===t.baxis.layer&&n.push(\\\"baxis\\\",\\\"bline\\\"),\\\"above traces\\\"===t.caxis.layer&&n.push(\\\"caxis\\\",\\\"cline\\\");var i=this.plotContainer.selectAll(\\\"g.toplevel\\\").data(n,String),a=[\\\"agrid\\\",\\\"bgrid\\\",\\\"cgrid\\\"];i.enter().append(\\\"g\\\").attr(\\\"class\\\",function(t){return\\\"toplevel \\\"+t}).each(function(t){var n=e.select(this);r[t]=n,\\\"frontplot\\\"===t?n.append(\\\"g\\\").classed(\\\"scatterlayer\\\",!0):\\\"backplot\\\"===t?n.append(\\\"g\\\").classed(\\\"maplayer\\\",!0):\\\"plotbg\\\"===t?n.append(\\\"path\\\").attr(\\\"d\\\",\\\"M0,0Z\\\"):\\\"aline\\\"===t||\\\"bline\\\"===t||\\\"cline\\\"===t?n.append(\\\"path\\\"):\\\"grids\\\"===t&&a.forEach(function(t){r[t]=n.append(\\\"g\\\").classed(\\\"grid \\\"+t,!0);var e=\\\"bgrid\\\"===t?\\\"x\\\":\\\"y\\\";r[t].append(\\\"g\\\").classed(e,!0)})}),i.order()};var wG=Math.sqrt(4/3);_G.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,u=t.domain,c=(u.x[0]+u.x[1])/2,h=(u.y[0]+u.y[1])/2,f=u.x[1]-u.x[0],p=u.y[1]-u.y[0],d=f*e.w,g=p*e.h,v=t.sum,m=t.aaxis.min,y=t.baxis.min,x=t.caxis.min;d>wG*g?i=(a=g)*wG:a=(i=d)/wG,o=f*i/d,s=p*a/g,r=e.l+e.w*c-i/2,n=e.t+e.h*(1-h)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=v,l.xaxis={type:\\\"linear\\\",range:[m+2*x-v,v-m-2*y],domain:[c-o/2,c+o/2],_id:\\\"x\\\"},ei(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a>=l.aaxis.range[0]&&t.a<=l.aaxis.range[1]&&t.b>=l.baxis.range[1]&&t.b<=l.baxis.range[0]&&t.c>=l.caxis.range[1]&&t.c<=l.caxis.range[0]},l.yaxis={type:\\\"linear\\\",range:[m,v-y-x],domain:[h-s/2,h+s/2],_id:\\\"y\\\"},ei(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var b=l.yaxis.domain[0],_=l.aaxis=yG({},t.aaxis,{visible:!0,range:[m,v-y-x],side:\\\"left\\\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[b,b+s*wG],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l\\\"+a+\\\",-\\\"+i/2,automargin:!1});ei(_,l.graphDiv._fullLayout),_.setScale();var w=l.baxis=yG({},t.baxis,{visible:!0,range:[v-m-x,y],side:\\\"bottom\\\",_counterangle:30,domain:l.xaxis.domain,_axislayer:l.layers.baxis,_gridlayer:l.layers.bgrid,_counteraxis:l.aaxis,_pos:0,_id:\\\"x\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+i/2+\\\",-\\\"+a,automargin:!1});ei(w,l.graphDiv._fullLayout),w.setScale(),_._counteraxis=w;var M=l.caxis=yG({},t.caxis,{visible:!0,range:[v-m-y,x],side:\\\"right\\\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[b,b+s*wG],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:\\\"y\\\",_length:i,_gridpath:\\\"M0,0l-\\\"+a+\\\",\\\"+i/2,automargin:!1});ei(M,l.graphDiv._fullLayout),M.setScale();var A=\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDef.select(\\\"path\\\").attr(\\\"d\\\",A),l.layers.plotbg.select(\\\"path\\\").attr(\\\"d\\\",A);var k=\\\"M0,\\\"+a+\\\"h\\\"+i+\\\"l-\\\"+i/2+\\\",-\\\"+a+\\\"Z\\\";l.clipDefRelative.select(\\\"path\\\").attr(\\\"d\\\",k);var T=\\\"translate(\\\"+r+\\\",\\\"+n+\\\")\\\";l.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",T),l.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",null);var S=\\\"translate(\\\"+(r-w._offset)+\\\",\\\"+(n+a)+\\\")\\\";l.layers.baxis.attr(\\\"transform\\\",S),l.layers.bgrid.attr(\\\"transform\\\",S);var E=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(30)translate(0,\\\"+-_._offset+\\\")\\\";l.layers.aaxis.attr(\\\"transform\\\",E),l.layers.agrid.attr(\\\"transform\\\",E);var C=\\\"translate(\\\"+(r+i/2)+\\\",\\\"+n+\\\")rotate(-30)translate(0,\\\"+-M._offset+\\\")\\\";l.layers.caxis.attr(\\\"transform\\\",C),l.layers.cgrid.attr(\\\"transform\\\",C),l.drawAxes(!0),l.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),l.layers.aline.select(\\\"path\\\").attr(\\\"d\\\",_.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"l\\\"+i/2+\\\",-\\\"+a:\\\"M0,0\\\").call(Oe.stroke,_.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(_.linewidth||0)+\\\"px\\\"),l.layers.bline.select(\\\"path\\\").attr(\\\"d\\\",w.showline?\\\"M\\\"+r+\\\",\\\"+(n+a)+\\\"h\\\"+i:\\\"M0,0\\\").call(Oe.stroke,w.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(w.linewidth||0)+\\\"px\\\"),l.layers.cline.select(\\\"path\\\").attr(\\\"d\\\",M.showline?\\\"M\\\"+(r+i/2)+\\\",\\\"+n+\\\"l\\\"+i/2+\\\",\\\"+a:\\\"M0,0\\\").call(Oe.stroke,M.linecolor||\\\"#000\\\").style(\\\"stroke-width\\\",(M.linewidth||0)+\\\"px\\\"),l.graphDiv._context.staticPlot||l.initInteractions(),Sr.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_G.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\\\"title\\\",n=this.aaxis,i=this.baxis,a=this.caxis;if(ri.doTicks(e,n,!0),ri.doTicks(e,i,!0),ri.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(\\\"outside\\\"===a.ticks?.87*a.ticklen:0));this.layers[\\\"a-title\\\"]=Dn.draw(e,\\\"a\\\"+r,{propContainer:n,propName:this.id+\\\".aaxis.title\\\",placeholder:mG(e,\\\"Click to enter Component A title\\\"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,\\\"text-anchor\\\":\\\"middle\\\"}});var s=(i.showticklabels?i.tickfont.size:0)+(\\\"outside\\\"===i.ticks?i.ticklen:0)+3;this.layers[\\\"b-title\\\"]=Dn.draw(e,\\\"b\\\"+r,{propContainer:i,propName:this.id+\\\".baxis.title\\\",placeholder:mG(e,\\\"Click to enter Component B title\\\"),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,\\\"text-anchor\\\":\\\"middle\\\"}}),this.layers[\\\"c-title\\\"]=Dn.draw(e,\\\"c\\\"+r,{propContainer:a,propName:this.id+\\\".caxis.title\\\",placeholder:mG(e,\\\"Click to enter Component C title\\\"),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,\\\"text-anchor\\\":\\\"middle\\\"}})}};var MG=Te.MINZOOM/2+.87,AG=\\\"m-0.87,.5h\\\"+MG+\\\"v3h-\\\"+(MG+5.2)+\\\"l\\\"+(MG/2+2.6)+\\\",-\\\"+(.87*MG+4.5)+\\\"l2.6,1.5l-\\\"+MG/2+\\\",\\\"+.87*MG+\\\"Z\\\",kG=\\\"m0.87,.5h-\\\"+MG+\\\"v3h\\\"+(MG+5.2)+\\\"l-\\\"+(MG/2+2.6)+\\\",-\\\"+(.87*MG+4.5)+\\\"l-2.6,1.5l\\\"+MG/2+\\\",\\\"+.87*MG+\\\"Z\\\",TG=\\\"m0,1l\\\"+MG/2+\\\",\\\"+.87*MG+\\\"l2.6,-1.5l-\\\"+(MG/2+2.6)+\\\",-\\\"+(.87*MG+4.5)+\\\"l-\\\"+(MG/2+2.6)+\\\",\\\"+(.87*MG+4.5)+\\\"l2.6,1.5l\\\"+MG/2+\\\",-\\\"+.87*MG+\\\"Z\\\",SG=\\\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\\\",EG=!0;function CG(t){e.select(t).selectAll(\\\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\\\").remove()}_G.initInteractions=function(){var t,e,r,n,i,a,o,l,u,c,h=this,f=h.layers.plotbg.select(\\\"path\\\").node(),p=h.graphDiv,d=p._fullLayout._zoomlayer,g={element:f,gd:p,plotinfo:{xaxis:h.xaxis,yaxis:h.yaxis},subplot:h.id,prepFn:function(v,m,y){g.xaxes=[h.xaxis],g.yaxes=[h.yaxis];var A=p._fullLayout.dragmode;v.shiftKey&&(A=\\\"pan\\\"===A?\\\"zoom\\\":\\\"pan\\\"),g.minDrag=\\\"lasso\\\"===A?1:void 0,\\\"zoom\\\"===A?(g.moveFn=x,g.doneFn=b,function(p,g,v){var m=f.getBoundingClientRect();t=g-m.left,e=v-m.top,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,n=h.aaxis.range[1]-r.a,a=s(h.graphDiv._fullLayout[h.id].bgcolor).getLuminance(),o=\\\"M0,\\\"+h.h+\\\"L\\\"+h.w/2+\\\", 0L\\\"+h.w+\\\",\\\"+h.h+\\\"Z\\\",l=!1,u=d.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox\\\").attr(\\\"transform\\\",\\\"translate(\\\"+h.x0+\\\", \\\"+h.y0+\\\")\\\").style({fill:a>.2?\\\"rgba(0,0,0,0)\\\":\\\"rgba(255,255,255,0)\\\",\\\"stroke-width\\\":0}).attr(\\\"d\\\",o),c=d.append(\\\"path\\\").attr(\\\"class\\\",\\\"zoombox-corners\\\").attr(\\\"transform\\\",\\\"translate(\\\"+h.x0+\\\", \\\"+h.y0+\\\")\\\").style({fill:Oe.background,stroke:Oe.defaultLine,\\\"stroke-width\\\":1,opacity:0}).attr(\\\"d\\\",\\\"M0,0Z\\\"),M()}(0,m,y)):\\\"pan\\\"===A?(g.moveFn=_,g.doneFn=w,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,M()):\\\"select\\\"!==A&&\\\"lasso\\\"!==A||_c(v,m,y,g,A)},clickFn:function(t,e){if(CG(p),2===t){var r={};r[h.id+\\\".aaxis.min\\\"]=0,r[h.id+\\\".baxis.min\\\"]=0,r[h.id+\\\".caxis.min\\\"]=0,p.emit(\\\"plotly_doubleclick\\\",null),P.call(\\\"relayout\\\",p,r)}yo.click(p,e,h.id)}};function v(t,e){return 1-e/h.h}function m(t,e){return 1-(t+(h.h-e)/Math.sqrt(3))/h.w}function y(t,e){return(t-(h.h-e)/Math.sqrt(3))/h.w}function x(s,f){var p=t+s,d=e+f,g=Math.max(0,Math.min(1,v(0,e),v(0,d))),x=Math.max(0,Math.min(1,m(t,e),m(p,d))),b=Math.max(0,Math.min(1,y(t,e),y(p,d))),_=(g/2+b)*h.w,w=(1-g/2-x)*h.w,M=(_+w)/2,A=w-_,k=(1-g)*h.h,T=k-A/wG;A<Te.MINZOOM?(i=r,u.attr(\\\"d\\\",o),c.attr(\\\"d\\\",\\\"M0,0Z\\\")):(i={a:r.a+g*n,b:r.b+x*n,c:r.c+b*n},u.attr(\\\"d\\\",o+\\\"M\\\"+_+\\\",\\\"+k+\\\"H\\\"+w+\\\"L\\\"+M+\\\",\\\"+T+\\\"L\\\"+_+\\\",\\\"+k+\\\"Z\\\"),c.attr(\\\"d\\\",\\\"M\\\"+t+\\\",\\\"+e+SG+\\\"M\\\"+_+\\\",\\\"+k+AG+\\\"M\\\"+w+\\\",\\\"+k+kG+\\\"M\\\"+M+\\\",\\\"+T+TG)),l||(u.transition().style(\\\"fill\\\",a>.2?\\\"rgba(0,0,0,0.4)\\\":\\\"rgba(255,255,255,0.3)\\\").duration(200),c.transition().style(\\\"opacity\\\",1).duration(200),l=!0)}function b(){if(CG(p),i!==r){var t={};t[h.id+\\\".aaxis.min\\\"]=i.a,t[h.id+\\\".baxis.min\\\"]=i.b,t[h.id+\\\".caxis.min\\\"]=i.c,P.call(\\\"relayout\\\",p,t),EG&&p.data&&p._context.showTips&&(ne.notifier(mG(p,\\\"Double-click to zoom back out\\\"),\\\"long\\\"),EG=!1)}}function _(t,e){var n=t/h.xaxis._m,a=e/h.yaxis._m,o=[(i={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,i.b,i.c].sort(),s=o.indexOf(i.a),l=o.indexOf(i.b),u=o.indexOf(i.c);o[0]<0&&(o[1]+o[0]/2<0?(o[2]+=o[0]+o[1],o[0]=o[1]=0):(o[2]+=o[0]/2,o[1]+=o[0]/2,o[0]=0),i={a:o[s],b:o[l],c:o[u]},e=(r.a-i.a)*h.yaxis._m,t=(r.c-i.c-r.b+i.b)*h.xaxis._m);var c=\\\"translate(\\\"+(h.x0+t)+\\\",\\\"+(h.y0+e)+\\\")\\\";h.plotContainer.selectAll(\\\".scatterlayer,.maplayer\\\").attr(\\\"transform\\\",c);var f=\\\"translate(\\\"+-t+\\\",\\\"+-e+\\\")\\\";h.clipDefRelative.select(\\\"path\\\").attr(\\\"transform\\\",f),h.aaxis.range=[i.a,h.sum-i.b-i.c],h.baxis.range=[h.sum-i.a-i.c,i.b],h.caxis.range=[h.sum-i.a-i.b,i.c],h.drawAxes(!1),h.plotContainer.selectAll(\\\".crisp\\\").classed(\\\"crisp\\\",!1),h._hasClipOnAxisFalse&&h.plotContainer.select(\\\".scatterlayer\\\").selectAll(\\\".trace\\\").call(Sr.hideOutsideRangePoints,h)}function w(){var t={};t[h.id+\\\".aaxis.min\\\"]=i.a,t[h.id+\\\".baxis.min\\\"]=i.b,t[h.id+\\\".caxis.min\\\"]=i.c,P.call(\\\"relayout\\\",p,t)}function M(){d.selectAll(\\\".select-outline\\\").remove()}f.onmousemove=function(t){yo.hover(p,t,h.id),p._fullLayout._lasthover=f,p._fullLayout._hoversubplot=h.id},f.onmouseout=function(t){p._dragging||Ua.unhover(p,t)},Ua.init(g)};var LG={},zG=sa.getSubplotCalcData,PG=ne.counterRegex;LG.name=\\\"ternary\\\",LG.attr=\\\"subplot\\\",LG.idRoot=\\\"ternary\\\",LG.idRegex=LG.attrRegex=PG(\\\"ternary\\\"),LG.attributes={subplot:{valType:\\\"subplotid\\\",dflt:\\\"ternary\\\",editType:\\\"calc\\\"}},LG.layoutAttributes=dG,LG.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\\\"ternary\\\",attributes:dG,handleDefaults:vG,font:e.font,paper_bgcolor:e.paper_bgcolor})},LG.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots.ternary,i=0;i<n.length;i++){var a=n[i],o=zG(r,\\\"ternary\\\",a),s=e[a]._subplot;s||(s=new bG({id:a,graphDiv:t,container:e._ternarylayer.node()},e),e[a]._subplot=s),s.plot(o,e,t._promises)}},LG.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],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())}};var IG=Ae.dash,DG=m.extendFlat,OG=Zr.marker,RG=Zr.line,FG=OG.line,BG={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:DG({},Zr.mode,{dflt:\\\"markers\\\"}),text:DG({},Zr.text,{}),hovertext:DG({},Zr.hovertext,{}),line:{color:RG.color,width:RG.width,dash:IG,shape:DG({},RG.shape,{values:[\\\"linear\\\",\\\"spline\\\"]}),smoothing:RG.smoothing,editType:\\\"calc\\\"},connectgaps:Zr.connectgaps,cliponaxis:Zr.cliponaxis,fill:DG({},Zr.fill,{values:[\\\"none\\\",\\\"toself\\\",\\\"tonext\\\"]}),fillcolor:Zr.fillcolor,marker:DG({symbol:OG.symbol,opacity:OG.opacity,maxdisplayed:OG.maxdisplayed,size:OG.size,sizeref:OG.sizeref,sizemin:OG.sizemin,sizemode:OG.sizemode,line:DG({width:FG.width,editType:\\\"calc\\\"},De()),gradient:OG.gradient,editType:\\\"calc\\\"},De(),{showscale:OG.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:DG({},E.hoverinfo,{flags:[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"text\\\",\\\"name\\\"]}),hoveron:Zr.hoveron},NG=sx,jG=[\\\"a\\\",\\\"b\\\",\\\"c\\\"],VG={a:[\\\"b\\\",\\\"c\\\"],b:[\\\"a\\\",\\\"c\\\"],c:[\\\"a\\\",\\\"b\\\"]},UG={};UG.attributes=BG,UG.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,BG,r,n)}var a,o=i(\\\"a\\\"),s=i(\\\"b\\\"),l=i(\\\"c\\\");if(o?(a=o.length,s?(a=Math.min(a,s.length),l&&(a=Math.min(a,l.length))):a=l?Math.min(a,l.length):0):s&&l&&(a=Math.min(s.length,l.length)),a){e._length=a,i(\\\"sum\\\"),i(\\\"text\\\"),i(\\\"hovertext\\\"),i(\\\"mode\\\",a<Wr.PTS_LINESONLY?\\\"lines+markers\\\":\\\"lines\\\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\\\"connectgaps\\\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var u=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\\\"cliponaxis\\\"),i(\\\"marker.maxdisplayed\\\"),u.push(\\\"points\\\")),i(\\\"fill\\\"),\\\"none\\\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\\\"tonext\\\"!==e.fill&&\\\"toself\\\"!==e.fill||u.push(\\\"fills\\\"),i(\\\"hoveron\\\",u.join(\\\"+\\\")||\\\"points\\\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UG.colorbar=is,UG.calc=function(t,e){var n,i,a,o,s,l,u=t._fullLayout[e.subplot].sum,c=e.sum||u,h={a:e.a,b:e.b,c:e.c};for(n=0;n<jG.length;n++)if(!h[a=jG[n]]){for(s=h[VG[a][0]],l=h[VG[a][1]],o=new Array(s.length),i=0;i<s.length;i++)o[i]=c-s[i]-l[i];h[a]=o}var f,p,d,g,v,m,y=e._length,x=new Array(y);for(n=0;n<y;n++)f=h.a[n],p=h.b[n],d=h.c[n],r(f)&&r(p)&&r(d)?(1!=(g=u/((f=+f)+(p=+p)+(d=+d)))&&(f*=g,p*=g,d*=g),m=f,v=d-p,x[n]={x:v,y:m,a:f,b:p,c:d}):x[n]={x:!1,y:!1};return NG(e,y),ex(e),dh(x,e),Ma(x,e),x},UG.plot=function(t,e,r){var n=e.plotContainer;n.select(\\\".scatterlayer\\\").selectAll(\\\"*\\\").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:n,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};kx(t,i,r)},UG.style=Cx.style,UG.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.c=c.c,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=a.subplot,p=(c.hi||h.hoverinfo).split(\\\"+\\\"),d=[];return-1!==p.indexOf(\\\"all\\\")&&(p=[\\\"a\\\",\\\"b\\\",\\\"c\\\"]),-1!==p.indexOf(\\\"a\\\")&&g(f.aaxis,c.a),-1!==p.indexOf(\\\"b\\\")&&g(f.baxis,c.b),-1!==p.indexOf(\\\"c\\\")&&g(f.caxis,c.c),a.extraText=d.join(\\\"<br>\\\"),i}function g(t,e){d.push(t._hovertitle+\\\": \\\"+ri.tickText(t,e,\\\"hover\\\").text)}},UG.selectPoints=Sx,UG.eventData=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t},UG.moduleType=\\\"trace\\\",UG.name=\\\"scatterternary\\\",UG.basePlotModule=LG,UG.categories=[\\\"ternary\\\",\\\"symbols\\\",\\\"markerColorscale\\\",\\\"showLegend\\\",\\\"scatter-like\\\"],UG.meta={};var qG=UG,HG={},GG=Di.pointsAccessorFunction;HG.moduleType=\\\"transform\\\",HG.name=\\\"sort\\\",HG.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\\\"},HG.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,HG.attributes,r,n)}return r(\\\"enabled\\\")&&(r(\\\"target\\\"),r(\\\"order\\\")),e},HG.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i,a,o=r.target,s=n.length,l=e._arrayAttrs,u=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case\\\"ascending\\\":return function(t,r){return e(t)-e(r)};case\\\"descending\\\":return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o<n;o++)for(var s=e[o],l=0;l<n;l++){var u=a[l];if(s===u){i[l]=o,a[l]=null;break}}return i}(r,n,ri.getDataToCoordFunc(t,e,o,n)),c=GG(e.transforms,r),h={};for(i=0;i<l.length;i++){var f=ne.nestedProperty(e,l[i]),p=f.get(),d=new Array(s);for(a=0;a<s;a++)d[a]=p[u[a]];f.set(d)}for(a=0;a<s;a++)h[a]=c(u[a]);r._indexToPoints=h}}};var WG=HG,YG={},XG=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute vec3 f;\\\\nattribute vec3 normal;\\\\n\\\\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  worldCoordinate = vec3(uv.zw, f.x);\\\\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\\\"]),ZG=E_([\\\"precision mediump 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\\\\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 (kill > 0.0 ||\\\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    discard;\\\\n  }\\\\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 = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + 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\\\"]),JG=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\n\\\\nattribute vec4 uv;\\\\nattribute float f;\\\\n\\\\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  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\\\n\\\\n  vec4 clipPosition = projection * view * worldPosition;\\\\n  clipPosition.z = clipPosition.z + zOffset;\\\\n\\\\n  gl_Position = clipPosition;\\\\n  value = f;\\\\n  kill = -1.0;\\\\n  worldCoordinate = dataCoordinate;\\\\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\\\"]),KG=E_([\\\"precision mediump float;\\\\n#define GLSLIFY 1\\\\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    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\\\n    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\\\"]);YG.createShader=function(t){var e=Bw(t,XG,ZG,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},YG.createPickShader=function(t){var e=Bw(t,XG,KG,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},YG.createContourShader=function(t){var e=Bw(t,JG,ZG,null,[{name:\\\"uv\\\",type:\\\"vec4\\\"},{name:\\\"f\\\",type:\\\"float\\\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},YG.createPickContourShader=function(t){var e=Bw(t,JG,KG,null,[{name:\\\"uv\\\",type:\\\"vec4\\\"},{name:\\\"f\\\",type:\\\"float\\\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e};var QG=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\\\"ndarray-gradient: invalid boundary conditions\\\")}else r=b_(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 n=0;n<e.dimension;++n)if(t.shape[n]!==e.shape[n])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(f=tW[e])return f;var r=t.length,n=[\\\"function gradient(dst,src){var s=src.shape.slice();\\\"];function i(e){for(var i=r-e.length,a=[],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\\\"),a.push(\\\"1\\\"),o.push(\\\"s[\\\"+l+\\\"]-2\\\"));var u=\\\".lo(\\\"+a.join()+\\\").hi(\\\"+o.join()+\\\")\\\";if(0===a.length&&(u=\\\"\\\"),i>0){n.push(\\\"if(1\\\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\\\"&&s[\\\",l,\\\"]>2\\\");n.push(\\\"){grad\\\",i,\\\"(src.pick(\\\",s.join(),\\\")\\\",u);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\\\",dst.pick(\\\",s.join(),\\\",\\\",l,\\\")\\\",u);n.push(\\\");\\\")}for(var l=0;l<e.length;++l){var c=Math.abs(e[l])-1,h=\\\"dst.pick(\\\"+s.join()+\\\",\\\"+c+\\\")\\\"+u;switch(t[c]){case\\\"clamp\\\":var f=s.slice(),p=s.slice();e[l]<0?f[c]=\\\"s[\\\"+c+\\\"]-2\\\":p[c]=\\\"1\\\",0===i?n.push(\\\"if(s[\\\",c,\\\"]>1){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",f.join(),\\\")-src.get(\\\",p.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):n.push(\\\"if(s[\\\",c,\\\"]>1){diff(\\\",h,\\\",src.pick(\\\",f.join(),\\\")\\\",u,\\\",src.pick(\\\",p.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;case\\\"mirror\\\":0===i?n.push(\\\"dst.set(\\\",s.join(),\\\",\\\",c,\\\",0);\\\"):n.push(\\\"zero(\\\",h,\\\");\\\");break;case\\\"wrap\\\":var d=s.slice(),g=s.slice();e[l]<0?(d[c]=\\\"s[\\\"+c+\\\"]-2\\\",g[c]=\\\"0\\\"):(d[c]=\\\"s[\\\"+c+\\\"]-1\\\",g[c]=\\\"1\\\"),0===i?n.push(\\\"if(s[\\\",c,\\\"]>2){dst.set(\\\",s.join(),\\\",\\\",c,\\\",0.5*(src.get(\\\",d.join(),\\\")-src.get(\\\",g.join(),\\\")))}else{dst.set(\\\",s.join(),\\\",\\\",c,\\\",0)};\\\"):n.push(\\\"if(s[\\\",c,\\\"]>2){diff(\\\",h,\\\",src.pick(\\\",d.join(),\\\")\\\",u,\\\",src.pick(\\\",g.join(),\\\")\\\",u,\\\");}else{zero(\\\",h,\\\");};\\\");break;default:throw new Error(\\\"ndarray-gradient: Invalid boundary condition\\\")}}i>0&&n.push(\\\"};\\\")}for(var a=0;a<1<<r;++a){for(var o=[],s=0;s<r;++s)a&1<<s&&o.push(s+1);for(var l=0;l<1<<o.length;++l){for(var u=o.slice(),s=0;s<o.length;++s)l&1<<s&&(u[s]=-u[s]);i(u)}}n.push(\\\"return dst;};return gradient\\\");for(var c=[\\\"diff\\\",\\\"zero\\\"],h=[rW,nW],a=1;a<=r;++a)c.push(\\\"grad\\\"+a),h.push(iW(a));c.push(n.join(\\\"\\\"));var f=Function.apply(void 0,c).apply(void 0,h);return $G[e]=f,f}(r)(t,e)},$G={},tW={},eW={body:\\\"\\\",args:[],thisVars:[],localVars:[]},rW=nb({args:[\\\"array\\\",\\\"array\\\",\\\"array\\\"],pre:eW,post:eW,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\\\"}),nW=nb({args:[\\\"array\\\"],pre:eW,post:eW,body:{args:[{name:\\\"out\\\",lvalue:!0,rvalue:!1,count:1}],body:\\\"out=0\\\",thisVars:[],localVars:[]},funcName:\\\"zero\\\"});function iW(t){if(t in $G)return $G[t];for(var e=[],r=0;r<t;++r)e.push(\\\"out\\\",r,\\\"s=0.5*(inp\\\",r,\\\"l-inp\\\",r,\\\"r);\\\");var n=[\\\"array\\\"],i=[\\\"junk\\\"];for(r=0;r<t;++r){n.push(\\\"array\\\"),i.push(\\\"out\\\"+r+\\\"s\\\");var a=b_(t);a[r]=-1,n.push({array:0,offset:a.slice()}),a[r]=1,n.push({array:0,offset:a.slice()}),i.push(\\\"inp\\\"+r+\\\"l\\\",\\\"inp\\\"+r+\\\"r\\\")}return $G[t]=nb({args:n,pre:eW,post:eW,body:{body:e.join(\\\"\\\"),args:i.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})}var aW=nb({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}),oW=function(t,e){for(var r=[],n=t,i=1;Array.isArray(n);)r.push(n.length),i*=n.length,n=n[0];return 0===r.length?wb():(e||(e=wb(new Float64Array(i),r)),aW(e,t),e)},sW=function(t){var e=t.gl,r=lW(e),n=cW(e),i=uW(e),a=hW(e),o=S_(e),s=EP(e,[{buffer:o,size:4,stride:fW,offset:0},{buffer:o,size:3,stride:fW,offset:16},{buffer:o,size:3,stride:fW,offset:28}]),l=S_(e),u=EP(e,[{buffer:l,size:4,stride:20,offset:0},{buffer:l,size:1,stride:20,offset:16}]),c=S_(e),h=EP(e,[{buffer:c,size:2,type:e.FLOAT}]),f=zE(e,1,vW,e.RGBA,e.UNSIGNED_BYTE);f.minFilter=e.LINEAR,f.magFilter=e.LINEAR;var p=new mW(e,[0,0],[[0,0,0],[0,0,0]],r,n,o,s,f,i,a,l,u,c,h),d={levels:[[],[],[]]};for(var g in t)d[g]=t[g];return d.colormap=d.colormap||\\\"jet\\\",p.update(d),p},lW=YG.createShader,uW=YG.createContourShader,cW=YG.createPickShader,hW=YG.createPickContourShader,fW=40,pW=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],dW=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],gW=[[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(){for(var t=0;t<3;++t){var e=gW[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var vW=256;function mW(t,e,r,n,i,a,o,s,l,u,c,h,f,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=u,this._contourBuffer=c,this._contourVAO=h,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=f,this._dynamicVAO=p,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=[wb(__.mallocFloat(1024),[0,0]),wb(__.mallocFloat(1024),[0,0]),wb(__.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.opacity=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 yW=mW.prototype;yW.isTransparent=function(){return this.opacity<1},yW.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},yW.pickSlots=1,yW.setPickBase=function(t){this.pickId=t};var xW=[0,0,0],bW={showSurface:!1,showContour:!1,projections:[pW.slice(),pW.slice(),pW.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function _W(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||xW,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=bW.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[+(a[r]>0)][r],Dz(l,t.model,l);var u=bW.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return bW.showSurface=o,bW.showContour=s,bW}var wW={model:pW,view:pW,projection:pW,inverseModel:pW.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,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},MW=pW.slice(),AW=[1,0,0,0,1,0,0,0,1];function kW(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=wW;n.model=t.model||pW,n.view=t.view||pW,n.projection=t.projection||pW,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.contourColor=this.contourColor[0],n.inverseModel=cz(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][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=AW,n.vertexColor=this.vertexColor;var s=MW;for(Dz(s,n.view,n.model),Dz(s,n.projection,s),cz(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=_W(n,this);if(c.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour&&!e){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(),i=0;i<3;++i)for(h.uniforms.permutation=gW[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)this._contourCounts[i][o]&&(o===this.highlightLevel[i]?(h.uniforms.contourColor=this.highlightColor[i],h.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(h.uniforms.contourColor=this.contourColor[i],h.uniforms.contourTint=this.contourTint[i]),h.uniforms.height=this.contourLevels[i][o],f.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(h.uniforms.model=c.projections[i],h.uniforms.clipBounds=c.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){h.uniforms.permutation=gW[o],r.lineWidth(this.contourWidth[o]);for(var p=0;p<this.contourLevels[o].length;++p)p===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==p&&p-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),h.uniforms.height=this.contourLevels[o][p],f.draw(r.LINES,this._contourCounts[o][p],this._contourOffsets[o][p])}for(f.unbind(),(f=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=gW[i],r.lineWidth(this.dynamicWidth[i]),h.uniforms.contourColor=this.dynamicColor[i],h.uniforms.contourTint=this.dynamicTint[i],h.uniforms.height=this.dynamicLevel[i],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(h.uniforms.model=c.projections[o],h.uniforms.clipBounds=c.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));f.unbind()}}yW.draw=function(t){return kW.call(this,t,!1)},yW.drawTransparent=function(t){return kW.call(this,t,!0)};var TW={model:pW,view:pW,projection:pW,inverseModel:pW,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function SW(t,e){var r=e.shape.slice(),n=t.shape.slice();ib.assign(t.lo(1,1).hi(r[0],r[1]),e),ib.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),ib.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),ib.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),ib.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))}function EW(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function CW(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 LW(t){if(Array.isArray(t)){if(Array.isArray(t))return[CW(t[0]),CW(t[1]),CW(t[2])];var e=CW(t);return[e.slice(),e.slice(),e.slice()]}}yW.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=TW;r.model=t.model||pW,r.view=t.view||pW,r.projection=t.projection||pW,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=AW;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=_W(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(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=gW[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=gW[a],e.lineWidth(this.contourWidth[a]);for(var u=0;u<this.contourLevels[a].length;++u)this._contourCounts[a][u]&&(s.uniforms.height=this.contourLevels[a][u],l.draw(e.LINES,this._contourCounts[a][u],this._contourOffsets[a][u]))}l.unbind()}},yW.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,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var h=c?a:1-a,f=0;f<2;++f)for(var p=i+c,d=s+f,g=h*(f?l:1-l),v=0;v<3;++v)u[v]+=this._field[v].get(p,d)*g;for(var m=this._pickResult.level,y=0;y<3;++y)if(m[y]=wT.le(this.contourLevels[y],u[y]),m[y]<0)this.contourLevels[y].length>0&&(m[y]=0);else if(m[y]<this.contourLevels[y].length-1){var x=this.contourLevels[y][m[y]],b=this.contourLevels[y][m[y]+1];Math.abs(x-u[y])>Math.abs(b-u[y])&&(m[y]+=1)}for(r.index[0]=a<.5?i:i+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},yW.update=function(t){t=t||{},this.dirty=!0,\\\"contourWidth\\\"in t&&(this.contourWidth=EW(t.contourWidth,Number)),\\\"showContour\\\"in t&&(this.showContour=EW(t.showContour,Boolean)),\\\"showSurface\\\"in t&&(this.showSurface=!!t.showSurface),\\\"contourTint\\\"in t&&(this.contourTint=EW(t.contourTint,Boolean)),\\\"contourColor\\\"in t&&(this.contourColor=LW(t.contourColor)),\\\"contourProject\\\"in t&&(this.contourProject=EW(t.contourProject,function(t){return EW(t,Boolean)})),\\\"surfaceProject\\\"in t&&(this.surfaceProject=t.surfaceProject),\\\"dynamicColor\\\"in t&&(this.dynamicColor=LW(t.dynamicColor)),\\\"dynamicTint\\\"in t&&(this.dynamicTint=EW(t.dynamicTint,Number)),\\\"dynamicWidth\\\"in t&&(this.dynamicWidth=EW(t.dynamicWidth,Number)),\\\"opacity\\\"in t&&(this.opacity=t.opacity),\\\"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 n=(e.shape[0]+2)*(e.shape[1]+2);n>this._field[2].data.length&&(__.freeFloat(this._field[2].data),this._field[2].data=__.mallocFloat(Mb.nextPow2(n))),this._field[2]=wb(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),SW(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a<2;++a)this._field[2].size>this._field[a].data.length&&(__.freeFloat(this._field[a].data),this._field[a].data=__.mallocFloat(this._field[2].size)),this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var o=t.coords;if(!Array.isArray(o)||3!==o.length)throw new Error(\\\"gl-surface: invalid coordinates for x/y\\\");for(a=0;a<2;++a){var s=o[a];for(f=0;f<2;++f)if(s.shape[f]!==i[f])throw new Error(\\\"gl-surface: coords have incorrect shape\\\");SW(this._field[a],s)}}else if(t.ticks){var l=t.ticks;if(!Array.isArray(l)||2!==l.length)throw new Error(\\\"gl-surface: invalid ticks\\\");for(a=0;a<2;++a){var u=l[a];if((Array.isArray(u)||u.length)&&(u=wb(u)),u.shape[0]!==i[a])throw new Error(\\\"gl-surface: invalid tick length\\\");var c=wb(u.data,i);c.stride[a]=u.stride[0],c.stride[1^a]=0,SW(this._field[a],c)}}else{for(a=0;a<2;++a){var h=[0,0];h[a]=1,this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2],h,0)}this._field[0].set(0,0,0);for(var f=0;f<i[0];++f)this._field[0].set(f+1,0,f);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),f=0;f<i[1];++f)this._field[1].set(0,f+1,f);this._field[1].set(0,i[1]+1,i[1]-1)}var p=this._field,d=wb(__.mallocFloat(3*p[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a<3;++a)QG(d.pick(a),p[a],\\\"mirror\\\");var g=wb(__.mallocFloat(3*p[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a<i[0]+2;++a)for(f=0;f<i[1]+2;++f){var v=d.get(0,a,f,0),m=d.get(0,a,f,1),y=d.get(1,a,f,0),x=d.get(1,a,f,1),b=d.get(2,a,f,0),_=d.get(2,a,f,1),w=y*_-x*b,M=b*m-_*v,A=v*x-m*y,k=Math.sqrt(w*w+M*M+A*A);k<1e-8?(k=Math.max(Math.abs(w),Math.abs(M),Math.abs(A)))<1e-8?(A=1,M=w=0,k=1):k=1/k:k=1/Math.sqrt(k),g.set(a,f,0,w*k),g.set(a,f,1,M*k),g.set(a,f,2,A*k)}__.free(d.data);var T=[1/0,1/0,1/0],S=[-1/0,-1/0,-1/0],E=1/0,C=-1/0,L=(i[0]-1)*(i[1]-1)*6,z=__.mallocFloat(Mb.nextPow2(10*L)),P=0,I=0;for(a=0;a<i[0]-1;++a)t:for(f=0;f<i[1]-1;++f){for(var D=0;D<2;++D)for(var O=0;O<2;++O)for(var R=0;R<3;++R){var F=this._field[R].get(1+a+D,1+f+O);if(isNaN(F)||!isFinite(F))continue t}for(R=0;R<6;++R){var B=a+dW[R][0],N=f+dW[R][1],j=this._field[0].get(B+1,N+1),V=this._field[1].get(B+1,N+1),U=F=this._field[2].get(B+1,N+1);w=g.get(B+1,N+1,0),M=g.get(B+1,N+1,1),A=g.get(B+1,N+1,2),t.intensity&&(U=t.intensity.get(B,N)),z[P++]=B,z[P++]=N,z[P++]=j,z[P++]=V,z[P++]=F,z[P++]=0,z[P++]=U,z[P++]=w,z[P++]=M,z[P++]=A,T[0]=Math.min(T[0],j),T[1]=Math.min(T[1],V),T[2]=Math.min(T[2],F),E=Math.min(E,U),S[0]=Math.max(S[0],j),S[1]=Math.max(S[1],V),S[2]=Math.max(S[2],F),C=Math.max(C,U),I+=1}}for(t.intensityBounds&&(E=+t.intensityBounds[0],C=+t.intensityBounds[1]),a=6;a<P;a+=10)z[a]=(z[a]-E)/(C-E);this._vertexCount=I,this._coordinateBuffer.update(z.subarray(0,P)),__.freeFloat(z),__.free(g.data),this.bounds=[T,S],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===E&&this.intensityBounds[1]===C||(r=!0),this.intensityBounds=[E,C]}if(\\\"levels\\\"in t){var q=t.levels;for(q=Array.isArray(q[0])?q.slice():[[],[],q],a=0;a<3;++a)q[a]=q[a].slice(),q.sort(function(t,e){return t-e});t:for(a=0;a<3;++a){if(q[a].length!==this.contourLevels[a].length){r=!0;break}for(f=0;f<q[a].length;++f)if(q[a][f]!==this.contourLevels[a][f]){r=!0;break t}}this.contourLevels=q}if(r){p=this._field,i=this.shape;for(var H=[],G=0;G<3;++G){q=this.contourLevels[G];var W=[],Y=[],X=[0,0,0];for(a=0;a<q.length;++a){var Z=yE(this._field[G],q[a]);W.push(H.length/5|0),I=0;t:for(f=0;f<Z.cells.length;++f){var J=Z.cells[f];for(R=0;R<2;++R){var K=Z.positions[J[R]],Q=K[0],$=0|Math.floor(Q),tt=Q-$,et=K[1],rt=0|Math.floor(et),nt=et-rt,it=!1;e:for(var at=0;at<3;++at){X[at]=0;var ot=(G+at+1)%3;for(D=0;D<2;++D){var st=D?tt:1-tt;for(B=0|Math.min(Math.max($+D,0),i[0]),O=0;O<2;++O){var lt=O?nt:1-nt;if(N=0|Math.min(Math.max(rt+O,0),i[1]),F=at<2?this._field[ot].get(B,N):(this.intensity.get(B,N)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(F)||isNaN(F)){it=!0;break e}var ut=st*lt;X[at]+=ut*F}}}if(it){if(R>0){for(var ct=0;ct<5;++ct)H.pop();I-=1}continue t}H.push(X[0],X[1],K[0],K[1],X[2]),I+=1}}Y.push(I)}this._contourOffsets[G]=W,this._contourCounts[G]=Y}var ht=__.mallocFloat(H.length);for(a=0;a<H.length;++a)ht[a]=H[a];this._contourBuffer.update(ht),__.freeFloat(ht)}t.colormap&&this._colorMap.setPixels(function(t){var e=oW([LO({colormap:t,nshades:vW,format:\\\"rgba\\\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return ib.divseq(e,255),e}(t.colormap))},yW.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)__.freeFloat(this._field[t].data)},yW.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,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,i=this.shape,a=__.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var s=(o+1)%3,l=(o+2)%3,u=this._field[o],c=this._field[s],h=this._field[l],f=(this.intensity,yE(u,r[o])),p=f.cells,d=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<p.length;++e)for(var g=p[e],v=0;v<2;++v){var m=d[g[v]],y=+m[0],x=0|y,b=0|Math.min(x+1,i[0]),_=y-x,w=1-_,M=+m[1],A=0|M,k=0|Math.min(A+1,i[1]),T=M-A,S=1-T,E=w*S,C=w*T,L=_*S,z=_*T,P=E*c.get(x,A)+C*c.get(x,k)+L*c.get(b,A)+z*c.get(b,k),I=E*h.get(x,A)+C*h.get(x,k)+L*h.get(b,A)+z*h.get(b,k);if(isNaN(P)||isNaN(I)){v&&(n-=1);break}a[2*n+0]=P,a[2*n+1]=I,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),__.freeFloat(a)}};var zW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\"],pre:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},body:{body:\\\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\\\",args:[{name:\\\"_inline_1_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_1_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_1_arg2_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"cwise\\\",blockSize:64}),PW=function(t,e){return zW(t,e),t},IW=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null};var DW=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],h=c*o-s*u,f=-c*a+s*l,p=u*a-o*l,d=r*h+n*f+i*p;return d?(d=1/d,t[0]=h*d,t[1]=(-c*n+i*u)*d,t[2]=(s*n-i*o)*d,t[3]=f*d,t[4]=(c*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-u*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null};var OW=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:IW(t,e);break;case 9:DW(t,e);break;case 16:cz(t,e);break;default:throw new Error(\\\"currently supports matrices up to 4x4\\\")}return t};var RW={};function FW(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function BW(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<t.shape[1],c=0<=s+1&&s+1<t.shape[1],h=a&&u?t.get(n,s):0,f=a&&c?t.get(n,s+1):0;return(1-l)*((1-i)*h+i*(o&&u?t.get(n+1,s):0))+l*((1-i)*f+i*(o&&c?t.get(n+1,s+1):0))}function NW(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),u=r-l,c=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],v=o&&c&&d?t.get(i,l,f):0,m=o&&h&&d?t.get(i,l+1,f):0,y=s&&c&&d?t.get(i+1,l,f):0,x=s&&h&&d?t.get(i+1,l+1,f):0,b=o&&c&&g?t.get(i,l,f+1):0,_=o&&h&&g?t.get(i,l+1,f+1):0;return(1-p)*((1-u)*((1-a)*v+a*y)+u*((1-a)*m+a*x))+p*((1-u)*((1-a)*b+a*(s&&c&&g?t.get(i+1,l,f+1):0))+u*((1-a)*_+a*(s&&h&&g?t.get(i+1,l+1,f+1):0)))}(RW=function(t,e,r,n){switch(t.shape.length){case 0:return 0;case 1:return FW(t,e);case 2:return BW(t,e,r);case 3:return NW(t,e,r,n);default:return function(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,u,c,h=0;t:for(e=0;e<1<<n;++e){for(u=1,c=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;u*=a[l],c+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;u*=1-a[l],c+=t.stride[l]*i[l]}h+=u*t.data[c]}return h}.apply(void 0,arguments)}}).d1=FW,RW.d2=BW,RW.d3=NW;var jW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=new Array(_inline_3_arg4_)}\\\",args:[{name:\\\"_inline_3_arg0_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg1_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg2_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg3_\\\",lvalue:!1,rvalue:!1,count:0},{name:\\\"_inline_3_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\\\",args:[{name:\\\"_inline_4_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_4_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_4_arg4_\\\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warpND\\\",blockSize:64}),VW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\\\",args:[{name:\\\"_inline_7_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_7_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_7_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp1D\\\",blockSize:64}),UW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\\\",args:[{name:\\\"_inline_10_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_10_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_10_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp2D\\\",blockSize:64}),qW=LE({args:[\\\"index\\\",\\\"array\\\",\\\"scalar\\\",\\\"scalar\\\",\\\"scalar\\\"],pre:{body:\\\"{this_warped=[0,0,0]}\\\",args:[],thisVars:[\\\"this_warped\\\"],localVars:[]},body:{body:\\\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}\\\",args:[{name:\\\"_inline_13_arg0_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg1_\\\",lvalue:!0,rvalue:!1,count:1},{name:\\\"_inline_13_arg2_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg3_\\\",lvalue:!1,rvalue:!0,count:1},{name:\\\"_inline_13_arg4_\\\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\\\"this_warped\\\"],localVars:[]},post:{body:\\\"{}\\\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\\\"warp3D\\\",blockSize:64}),HW=function(t,e,r){switch(e.shape.length){case 1:VW(t,r,RW.d1,e);break;case 2:UW(t,r,RW.d2,e);break;case 3:qW(t,r,RW.d3,e);break;default:jW(t,r,RW.bind(void 0,e),e.shape.length)}return t},GW=function(t,e,r){var n=e.dimension,i=OW([],r);return HW(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=i[(n+1)*n+r];for(var a=0;a<n;++a)t[r]+=i[(n+1)*a+r]*e[a]}var o=i[(n+1)*(n+1)-1];for(a=0;a<n;++a)o+=i[(n+1)*a+n]*e[a];var s=1/o;for(r=0;r<n;++r)t[r]*=s;return t}),t};var WW=ne.isArrayOrTypedArray,YW=128;function XW(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var ZW=XW.prototype;function JW(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=wb(new Float32Array(r[0]*r[1]),r);return ib.assign(n.lo(1,1).hi(e[0],e[1]),t),ib.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),ib.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),ib.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),ib.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}ZW.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];WW(this.data.x)?WW(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],WW(this.data.y)?WW(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=e[1],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\\\"\\\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},ZW.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},ZW.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,i=this.surface,a=t.opacity,o=function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=s(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,a),l=t.z,u=t.x,c=t.y,h=n.xaxis,f=n.yaxis,p=n.zaxis,d=r.dataScale,g=l[0].length,v=t._ylength,m=[wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v])],y=m[0],x=m[1],b=r.contourLevels;this.data=t;var _=t.xcalendar,w=t.ycalendar,M=t.zcalendar;PW(m[2],function(t,e){return p.d2l(l[e][t],0,M)*d[2]}),WW(u)?WW(u[0])?PW(y,function(t,e){return h.d2l(u[e][t],0,_)*d[0]}):PW(y,function(t){return h.d2l(u[t],0,_)*d[0]}):PW(y,function(t){return h.d2l(t,0,_)*d[0]}),WW(u)?WW(c[0])?PW(x,function(t,e){return f.d2l(c[e][t],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(c[e],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(e,0,_)*d[1]});var A={colormap:o,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],opacity:t.opacity};if(A.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var k=wb(new Float32Array(g*v),[g,v]);PW(k,function(e,r){return t.surfacecolor[r][e]}),m.push(k)}else A.intensityBounds[0]*=d[2],A.intensityBounds[1]*=d[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<YW){for(var r=YW/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],i=n[0]*n[1],a=0;a<t.length;++a){var o=JW(t[a]),s=wb(new Float32Array(i),n);GW(s,o,[r,0,0,0,r,0,0,0,1]),t[a]=s}return r}return 1}(m),t.surfacecolor&&(A.intensity=m.pop());var T=[!0,!0,!0],S=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(e=0;e<3;++e){var E=t.contours[S[e]];T[e]=E.highlight,A.showContour[e]=E.show||E.highlight,A.showContour[e]&&(A.contourProject[e]=[E.project.x,E.project.y,E.project.z],E.show?(this.showContour[e]=!0,A.levels[e]=b[e],i.highlightColor[e]=A.contourColor[e]=WC(E.color),E.usecolormap?i.highlightTint[e]=A.contourTint[e]=0:i.highlightTint[e]=A.contourTint[e]=1,A.contourWidth[e]=E.width):this.showContour[e]=!1,E.highlight&&(A.dynamicColor[e]=WC(E.highlightcolor),A.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]})(o)&&(A.vertexColor=!0),A.coords=m,i.update(A),i.visible=t.visible,i.enableDynamic=T,i.snapToData=!0,\\\"lighting\\\"in t&&(i.ambientLight=t.lighting.ambient,i.diffuseLight=t.lighting.diffuse,i.specularLight=t.lighting.specular,i.roughness=t.lighting.roughness,i.fresnel=t.lighting.fresnel),\\\"lightposition\\\"in t&&(i.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),a&&a<1&&(i.supportsTransparency=!0)},ZW.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};var KW=function(t,e){var r=t.glplot.gl,n=sW({gl:r}),i=new XW(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i};function QW(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var $W={};$W.attributes=LD,$W.supplyDefaults=function(t,e,r,n){var i,a;function o(r,n){return ne.coerce(t,e,LD,r,n)}var s=o(\\\"z\\\");if(s){var l=o(\\\"x\\\");o(\\\"y\\\"),e._xlength=Array.isArray(l)&&ne.isArrayOrTypedArray(l[0])?s.length:s[0].length,e._ylength=s.length,P.getComponentMethod(\\\"calendars\\\",\\\"handleTraceDefaults\\\")(t,e,[\\\"x\\\",\\\"y\\\",\\\"z\\\"],n),o(\\\"text\\\"),[\\\"lighting.ambient\\\",\\\"lighting.diffuse\\\",\\\"lighting.specular\\\",\\\"lighting.roughness\\\",\\\"lighting.fresnel\\\",\\\"lightposition.x\\\",\\\"lightposition.y\\\",\\\"lightposition.z\\\",\\\"hidesurface\\\",\\\"opacity\\\"].forEach(function(t){o(t)});var u=o(\\\"surfacecolor\\\");o(\\\"colorscale\\\");var c=[\\\"x\\\",\\\"y\\\",\\\"z\\\"];for(i=0;i<3;++i){var h=\\\"contours.\\\"+c[i],f=o(h+\\\".show\\\"),p=o(h+\\\".highlight\\\");if(f||p)for(a=0;a<3;++a)o(h+\\\".project.\\\"+c[a]);f&&(o(h+\\\".color\\\"),o(h+\\\".width\\\"),o(h+\\\".usecolormap\\\")),p&&(o(h+\\\".highlightcolor\\\"),o(h+\\\".highlightwidth\\\"))}u||(QW(t,\\\"zmin\\\",\\\"cmin\\\"),QW(t,\\\"zmax\\\",\\\"cmax\\\"),QW(t,\\\"zauto\\\",\\\"cauto\\\")),Ye(t,e,n,o,{prefix:\\\"\\\",cLetter:\\\"c\\\"})}else e.visible=!1},$W.colorbar=function(t,e){var n=e[0].trace,i=\\\"cb\\\"+n.uid,a=n.cmin,o=n.cmax,s=n.surfacecolor||n.z;if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\\\".\\\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},$W.calc=function(t,e){e.surfacecolor?Ve(e,e.surfacecolor,\\\"\\\",\\\"c\\\"):Ve(e,e.z,\\\"\\\",\\\"c\\\")},$W.plot=KW,$W.moduleType=\\\"trace\\\",$W.name=\\\"surface\\\",$W.basePlotModule=SD,$W.categories=[\\\"gl3d\\\",\\\"2dMap\\\",\\\"noOpacity\\\"],$W.meta={};var tY=$W,eY=m.extendFlat,rY=(0,ye.overrideAll)({domain:(0,qc.attributes)({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:eY({},Jp.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:eY({},T({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:eY({},Jp.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:eY({},T({arrayOk:!0}))}},\\\"calc\\\",\\\"from-root\\\"),nY={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\\\"}},iY=m.extendFlat;function aY(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function oY(t,e){return Object.keys(t).map(function(r){return iY({},t[r],{auxiliaryBlocks:e})})}function sY(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,u=0;u<t.length;u++)r=t[u],o.rows.push({rowIndex:u,rowHeight:r}),((a+=r)>=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}var lY={},uY=m.extendFlat;lY.splitToPanels=function(t){var e=[0,0],r=uY({},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:uY({},t.calcdata,{cells:t.calcdata.headerCells})});return[uY({},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}),uY({},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]},lY.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}})};var cY=ne.raiseToTop,hY=ne.cancelTransition,fY=function(t,n){var i=t._fullLayout._paper.selectAll(\\\".\\\"+nY.cn.table).data(n.map(function(e){var n=ZR.unwrap(e).trace;return function(t,e){var n=e.cells.values,i=function(t){return t.slice(e.header.values.length,t.length)},a=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}).concat(i(n).map(function(){return[\\\"\\\"]})),o=e.domain,s=Math.floor(t._fullLayout._size.w*(o.x[1]-o.x[0])),l=Math.floor(t._fullLayout._size.h*(o.y[1]-o.y[0])),u=e.header.values.length?a[0].map(function(){return e.header.height}):[nY.emptyHeaderHeight],c=n.length?n[0].map(function(){return e.cells.height}):[],h=u.reduce(function(t,e){return t+e},0),f=sY(c,l-h+nY.uplift),p=oY(sY(u,h),[]),d=oY(f,p),g={},v=e._fullInput.columnorder.concat(i(n.map(function(t,e){return e}))),m=a.map(function(t,n){var i=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(n,e.columnwidth.length-1)]:e.columnwidth;return r(i)?Number(i):1}),y=m.reduce(function(t,e){return t+e},0);m=m.map(function(t){return t/y*s});var x={key:e.index,translateX:o.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-o.y[1]),size:t._fullLayout._size,width:s,height:l,columnOrder:v,groupHeight:l,rowBlocks:d,headerRowBlocks:p,scrollY:0,cells:e.cells,headerCells:iY({},e.header,{values:a}),gdColumns:a.map(function(t){return t[0]}),gdColumnsOriginalOrder:a.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:a.map(function(t,e){var r=g[t];return g[t]=(r||0)+1,{key:t+\\\"__\\\"+g[t],label:t,specIndex:e,xIndex:v[e],xScale:aY,x:void 0,calcdata:void 0,columnWidth:m[e]}})};return x.columns.forEach(function(t){t.calcdata=x,t.x=aY(t)}),x}(t,n)}),ZR.keyFun);i.exit().remove(),i.enter().append(\\\"g\\\").classed(nY.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\\\"),i.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 a=i.selectAll(\\\".\\\"+nY.cn.tableControlView).data(ZR.repeat,ZR.keyFun);a.enter().append(\\\"g\\\").classed(nY.cn.tableControlView,!0).style(\\\"box-sizing\\\",\\\"content-box\\\").on(\\\"mousemove\\\",function(e){a.filter(function(t){return e===t}).call(vY,t)}).on(\\\"mousewheel\\\",function(r){r.scrollbarState.wheeling||(r.scrollbarState.wheeling=!0,e.event.stopPropagation(),e.event.preventDefault(),TY(t,a,null,r.scrollY+e.event.deltaY)(r),r.scrollbarState.wheeling=!1)}).call(vY,t,!0),a.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.size.l+\\\" \\\"+t.size.t+\\\")\\\"});var o=a.selectAll(\\\".\\\"+nY.cn.scrollBackground).data(ZR.repeat,ZR.keyFun);o.enter().append(\\\"rect\\\").classed(nY.cn.scrollBackground,!0).attr(\\\"fill\\\",\\\"none\\\"),o.attr(\\\"width\\\",function(t){return t.width}).attr(\\\"height\\\",function(t){return t.height}),a.each(function(r){Sr.setClipUrl(e.select(this),pY(t,r))});var s=a.selectAll(\\\".\\\"+nY.cn.yColumn).data(function(t){return t.columns},ZR.keyFun);s.enter().append(\\\"g\\\").classed(nY.cn.yColumn,!0),s.exit().remove(),s.attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\" 0)\\\"}).call(e.behavior.drag().origin(function(r){return _Y(e.select(this),r,-nY.uplift),cY(this),r.calcdata.columnDragInProgress=!0,vY(a.filter(function(t){return r.calcdata.key===t.key}),t),r}).on(\\\"drag\\\",function(t){var r=e.select(this),n=function(r){return(t===r?e.event.x:r.x)+r.columnWidth/2};t.x=Math.max(-nY.overdrag,Math.min(t.calcdata.width+nY.overdrag-t.columnWidth,e.event.x)),gY(s).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return n(t)-n(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),s.filter(function(e){return t!==e}).transition().ease(nY.transitionEase).duration(nY.transitionDuration).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+t.x+\\\" 0)\\\"}),r.call(hY).attr(\\\"transform\\\",\\\"translate(\\\"+t.x+\\\" -\\\"+nY.uplift+\\\" )\\\")}).on(\\\"dragend\\\",function(r){var n=e.select(this),i=r.calcdata;r.x=r.xScale(r),r.calcdata.columnDragInProgress=!1,_Y(n,r,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,i,i.columns.map(function(t){return t.xIndex}))})),s.each(function(r){Sr.setClipUrl(e.select(this),dY(t,r))});var l=s.selectAll(\\\".\\\"+nY.cn.columnBlock).data(lY.splitToPanels,ZR.keyFun);l.enter().append(\\\"g\\\").classed(nY.cn.columnBlock,!0).attr(\\\"id\\\",function(t){return t.key}),l.style(\\\"cursor\\\",function(t){return t.dragHandle?\\\"ew-resize\\\":t.calcdata.scrollbarState.barWiggleRoom?\\\"ns-resize\\\":\\\"default\\\"});var u=l.filter(MY),c=l.filter(wY);c.call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t}).on(\\\"drag\\\",TY(t,a,-1)).on(\\\"dragend\\\",function(){})),mY(t,a,u,l),mY(t,a,c,l);var h=a.selectAll(\\\".\\\"+nY.cn.scrollAreaClip).data(ZR.repeat,ZR.keyFun);h.enter().append(\\\"clipPath\\\").classed(nY.cn.scrollAreaClip,!0).attr(\\\"id\\\",function(e){return pY(t,e)});var f=h.selectAll(\\\".\\\"+nY.cn.scrollAreaClipRect).data(ZR.repeat,ZR.keyFun);f.enter().append(\\\"rect\\\").classed(nY.cn.scrollAreaClipRect,!0).attr(\\\"x\\\",-nY.overdrag).attr(\\\"y\\\",-nY.uplift).attr(\\\"fill\\\",\\\"none\\\"),f.attr(\\\"width\\\",function(t){return t.width+2*nY.overdrag}).attr(\\\"height\\\",function(t){return t.height+nY.uplift}),s.selectAll(\\\".\\\"+nY.cn.columnBoundary).data(ZR.repeat,ZR.keyFun).enter().append(\\\"g\\\").classed(nY.cn.columnBoundary,!0);var p=s.selectAll(\\\".\\\"+nY.cn.columnBoundaryClippath).data(ZR.repeat,ZR.keyFun);p.enter().append(\\\"clipPath\\\").classed(nY.cn.columnBoundaryClippath,!0),p.attr(\\\"id\\\",function(e){return dY(t,e)});var d=p.selectAll(\\\".\\\"+nY.cn.columnBoundaryRect).data(ZR.repeat,ZR.keyFun);d.enter().append(\\\"rect\\\").classed(nY.cn.columnBoundaryRect,!0).attr(\\\"fill\\\",\\\"none\\\"),d.attr(\\\"width\\\",function(t){return t.columnWidth}).attr(\\\"height\\\",function(t){return t.calcdata.height+nY.uplift}),kY(null,c,a)};function pY(t,e){return\\\"clip\\\"+t._fullLayout._uid+\\\"_scrollAreaBottomClip_\\\"+e.key}function dY(t,e){return\\\"clip\\\"+t._fullLayout._uid+\\\"_columnBoundaryClippath_\\\"+e.calcdata.key+\\\"_\\\"+e.specIndex}function gY(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function vY(t,r,n){var i=t.selectAll(\\\".\\\"+nY.cn.scrollbarKit).data(ZR.repeat,ZR.keyFun);i.enter().append(\\\"g\\\").classed(nY.cn.scrollbarKit,!0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\"),i.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return PY(e,e.length-1)+(e.length?IY(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-AY(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,nY.goldenRatio*nY.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+nY.scrollbarWidth/2+nY.scrollbarOffset)+\\\" \\\"+AY(t)+\\\")\\\"});var a=i.selectAll(\\\".\\\"+nY.cn.scrollbar).data(ZR.repeat,ZR.keyFun);a.enter().append(\\\"g\\\").classed(nY.cn.scrollbar,!0);var o=a.selectAll(\\\".\\\"+nY.cn.scrollbarSlider).data(ZR.repeat,ZR.keyFun);o.enter().append(\\\"g\\\").classed(nY.cn.scrollbarSlider,!0),o.attr(\\\"transform\\\",function(t){return\\\"translate(0 \\\"+(t.scrollbarState.topY||0)+\\\")\\\"});var s=o.selectAll(\\\".\\\"+nY.cn.scrollbarGlyph).data(ZR.repeat,ZR.keyFun);s.enter().append(\\\"line\\\").classed(nY.cn.scrollbarGlyph,!0).attr(\\\"stroke\\\",\\\"black\\\").attr(\\\"stroke-width\\\",nY.scrollbarWidth).attr(\\\"stroke-linecap\\\",\\\"round\\\").attr(\\\"y1\\\",nY.scrollbarWidth/2),s.attr(\\\"y2\\\",function(t){return t.scrollbarState.barLength-nY.scrollbarWidth/2}).attr(\\\"stroke-opacity\\\",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||n?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(nY.scrollbarHideDelay).duration(nY.scrollbarHideDuration).attr(\\\"stroke-opacity\\\",0);var l=a.selectAll(\\\".\\\"+nY.cn.scrollbarCaptureZone).data(ZR.repeat,ZR.keyFun);l.enter().append(\\\"line\\\").classed(nY.cn.scrollbarCaptureZone,!0).attr(\\\"stroke\\\",\\\"white\\\").attr(\\\"stroke-opacity\\\",.01).attr(\\\"stroke-width\\\",nY.scrollbarCaptureWidth).attr(\\\"stroke-linecap\\\",\\\"butt\\\").attr(\\\"y1\\\",0).on(\\\"mousedown\\\",function(n){var i=e.event.y,a=this.getBoundingClientRect(),o=n.scrollbarState,s=i-a.top,l=e.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||TY(r,t,null,l(s-o.barLength/2))(n)}).call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\\\"drag\\\",TY(r,t)).on(\\\"dragend\\\",function(){})),l.attr(\\\"y2\\\",function(t){return t.scrollbarState.scrollableAreaHeight})}function mY(t,r,n,i){var a=function(t){var e=t.selectAll(\\\".\\\"+nY.cn.columnCell).data(lY.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(\\\"g\\\").classed(nY.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\\\".\\\"+nY.cn.columnCells).data(ZR.repeat,ZR.keyFun);return e.enter().append(\\\"g\\\").classed(nY.cn.columnCells,!0),e.exit().remove(),e}(n));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:bY(r.size,n,e),color:bY(r.color,n,e),family:bY(r.family,n,e)};t.rowNumber=t.key,t.align=bY(t.calcdata.cells.align,n,e),t.cellBorderWidth=bY(t.calcdata.cells.line.width,n,e),t.font=i})}(a),function(t){t.attr(\\\"width\\\",function(t){return t.column.columnWidth}).attr(\\\"stroke-width\\\",function(t){return t.cellBorderWidth}).each(function(t){var r=e.select(this);Oe.stroke(r,bY(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),Oe.fill(r,bY(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\\\".\\\"+nY.cn.cellRect).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\\\"rect\\\").classed(nY.cn.cellRect,!0),e}(a));var o=function(t){var r=t.selectAll(\\\".\\\"+nY.cn.cellText).data(ZR.repeat,function(t){return t.keyWithinBlock});return r.enter().append(\\\"text\\\").classed(nY.cn.cellText,!0).style(\\\"cursor\\\",function(){return\\\"auto\\\"}).on(\\\"mousedown\\\",function(){e.event.stopPropagation()}),r}(function(t){var e=t.selectAll(\\\".\\\"+nY.cn.cellTextHolder).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\\\"g\\\").classed(nY.cn.cellTextHolder,!0).style(\\\"shape-rendering\\\",\\\"geometricPrecision\\\"),e}(a));!function(t){t.each(function(t){Sr.font(e.select(this),t.font)})}(o),yY(o,r,i,t),zY(a)}function yY(t,r,n,i){t.text(function(t){var r=t.column.specIndex,n=t.rowNumber,i=t.value,a=\\\"string\\\"==typeof i,o=a&&i.match(/<br>/i),s=!a||o;t.mayHaveMarkup=a&&i.match(/[<&>]/);var l,u=\\\"string\\\"==typeof(l=i)&&l.match(nY.latexCheck);t.latex=u;var c,h,f=u?\\\"\\\":bY(t.calcdata.cells.prefix,r,n)||\\\"\\\",p=u?\\\"\\\":bY(t.calcdata.cells.suffix,r,n)||\\\"\\\",d=u?null:bY(t.calcdata.cells.format,r,n)||null,g=f+(d?e.format(d)(t.value):t.value)+p;if(t.wrappingNeeded=!t.wrapped&&!s&&!u&&(c=xY(g)),t.cellHeightMayIncrease=o||u||t.mayHaveMarkup||(void 0===c?xY(g):c),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\\\" \\\"===nY.wrapSplitCharacter?g.replace(/<a href=/gi,\\\"<a_href=\\\"):g).split(nY.wrapSplitCharacter),m=\\\" \\\"===nY.wrapSplitCharacter?v.map(function(t){return t.replace(/<a_href=/gi,\\\"<a href=\\\")}):v;t.fragments=m.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:nY.wrapSpacer,width:null}),h=m.join(nY.lineBreaker)+nY.lineBreaker+nY.wrapSpacer}else delete t.fragments,h=g;return h}).attr(\\\"dy\\\",function(t){return t.needsConvertToTspans?0:\\\"0.75em\\\"}).each(function(t){var a=e.select(this),o=t.wrappingNeeded?EY:CY;t.needsConvertToTspans?er.convertToTspans(a,i,o(n,this,r,i,t)):e.select(this.parentNode).attr(\\\"transform\\\",function(t){return\\\"translate(\\\"+LY(t)+\\\" \\\"+nY.cellPad+\\\")\\\"}).attr(\\\"text-anchor\\\",function(t){return{left:\\\"start\\\",center:\\\"middle\\\",right:\\\"end\\\"}[t.align]})})}function xY(t){return-1!==t.indexOf(nY.wrapSplitCharacter)}function bY(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 _Y(t,e,r){t.transition().ease(nY.releaseTransitionEase).duration(nY.releaseTransitionDuration).attr(\\\"transform\\\",\\\"translate(\\\"+e.x+\\\" \\\"+r+\\\")\\\")}function wY(t){return\\\"cells\\\"===t.type}function MY(t){return\\\"header\\\"===t.type}function AY(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+IY(e,1/0)},0)}function kY(t,e,r){var n=gY(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=PY(i,i.length),s=n.calcdata.groupHeight-AY(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each(function(t,e){t.page=u[e],t.scrollY=l}),e.attr(\\\"transform\\\",function(t){return\\\"translate(0 \\\"+(PY(t.rowBlocks,t.page)-t.scrollY)+\\\")\\\"}),t&&(SY(t,r,e,u,n.prevPages,n,0),SY(t,r,e,u,n.prevPages,n,1),vY(r,t))}}function TY(t,r,n,i){return function(a){var o=a.calcdata?a.calcdata:a,s=r.filter(function(t){return o.key===t.key}),l=n||o.scrollbarState.dragMultiplier;o.scrollY=void 0===i?o.scrollY+l*e.event.dy:i;var u=s.selectAll(\\\".\\\"+nY.cn.yColumn).selectAll(\\\".\\\"+nY.cn.columnBlock).filter(wY);kY(t,u,s)}}function SY(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});mY(t,e,a,r),i[o]=n[o]}))}function EY(t,r,n){return function(){var i=e.select(r.parentNode);i.each(function(t){var e=t.fragments;i.selectAll(\\\"tspan.line\\\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,n,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,u=t.column.columnWidth-2*nY.cellPad;for(t.value=\\\"\\\";o.length;)l+(n=(r=o.shift()).width+a)>u&&(t.value+=s.join(nY.wrapSpacer)+nY.lineBreaker,s=[],l=0),s.push(r.text),l+=n;l&&(t.value+=s.join(nY.wrapSpacer)),t.wrapped=!0}),i.selectAll(\\\"tspan.line\\\").remove(),yY(i.select(\\\".\\\"+nY.cn.cellText),n,t),e.select(r.parentNode.parentNode).call(zY)}}function CY(t,r,n,i,a){return function(){if(!a.settledY){var o=e.select(r.parentNode),s=OY(a),l=a.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=a.cellHeightMayIncrease?r.parentNode.getBoundingClientRect().height+2*nY.cellPad:u,h=Math.max(c,u);h-s.rows[l].rowHeight&&(s.rows[l].rowHeight=h,t.selectAll(\\\".\\\"+nY.cn.columnCell).call(zY),kY(null,t.filter(wY),0),vY(n,i,!0)),o.attr(\\\"transform\\\",function(){var t=this.parentNode.getBoundingClientRect(),r=e.select(this.parentNode).select(\\\".\\\"+nY.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),i=r.top-t.top+(n?n.matrix.f:nY.cellPad);return\\\"translate(\\\"+LY(a,e.select(this.parentNode).select(\\\".\\\"+nY.cn.cellTextHolder).node().getBoundingClientRect().width)+\\\" \\\"+i+\\\")\\\"}),a.settledY=!0}}}function LY(t,e){switch(t.align){case\\\"left\\\":return nY.cellPad;case\\\"right\\\":return t.column.columnWidth-(e||0)-nY.cellPad;case\\\"center\\\":return(t.column.columnWidth-(e||0))/2;default:return nY.cellPad}}function zY(t){t.attr(\\\"transform\\\",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+IY(e,1/0)},0);return\\\"translate(0 \\\"+(IY(OY(t),t.key)+e)+\\\")\\\"}).selectAll(\\\".\\\"+nY.cn.cellRect).attr(\\\"height\\\",function(t){return(e=OY(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function PY(t,e){for(var r=0,n=e-1;n>=0;n--)r+=DY(t[n]);return r}function IY(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 DY(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 OY(t){return t.rowBlocks[t.page]}var RY={},FY=sa.getModuleCalcData;RY.name=\\\"table\\\",RY.plot=function(t){var e=FY(t.calcdata,\\\"table\\\");e.length&&fY(t,e)},RY.clean=function(t,e,r,n){var i=n._has&&n._has(\\\"table\\\"),a=e._has&&e._has(\\\"table\\\");i&&!a&&n._paperdiv.selectAll(\\\".table\\\").remove()};var BY=ZR.wrap,NY=qc.defaults;var jY={};jY.attributes=rY,jY.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,rY,r,n)}NY(e,n,i),i(\\\"columnwidth\\\"),i(\\\"header.values\\\"),i(\\\"header.format\\\"),i(\\\"header.align\\\"),i(\\\"header.prefix\\\"),i(\\\"header.suffix\\\"),i(\\\"header.height\\\"),i(\\\"header.line.width\\\"),i(\\\"header.line.color\\\"),i(\\\"header.fill.color\\\"),ne.coerceFont(i,\\\"header.font\\\",ne.extendFlat({},n.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e(\\\"columnorder\\\",o)}(e,i),i(\\\"cells.values\\\"),i(\\\"cells.format\\\"),i(\\\"cells.align\\\"),i(\\\"cells.prefix\\\"),i(\\\"cells.suffix\\\"),i(\\\"cells.height\\\"),i(\\\"cells.line.width\\\"),i(\\\"cells.line.color\\\"),i(\\\"cells.fill.color\\\"),ne.coerceFont(i,\\\"cells.font\\\",ne.extendFlat({},n.font))},jY.calc=function(t,e){return BY(e)},jY.plot=fY,jY.moduleType=\\\"trace\\\",jY.name=\\\"table\\\",jY.basePlotModule=RY,jY.categories=[\\\"noOpacity\\\"],jY.meta={};var VY=jY,UY=m.extendFlat,qY={y:cs.y,x:cs.x,x0:cs.x0,y0:cs.y0,name:cs.name,orientation:UY({},cs.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:cs.fillcolor,points:UY({},cs.boxpoints,{}),jitter:UY({},cs.jitter,{}),pointpos:UY({},cs.pointpos,{}),marker:cs.marker,text:cs.text,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:\\\"plot\\\"},selected:cs.selected,unselected:cs.unselected,hoveron:{valType:\\\"flaglist\\\",flags:[\\\"violins\\\",\\\"points\\\",\\\"kde\\\"],dflt:\\\"violins+points+kde\\\",extras:[\\\"all\\\"],editType:\\\"style\\\"}},HY={},GY=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};HY.makeKDE=function(t,e,r){var n=r.length,i=GY,a=t.bandwidth,o=1/(n*a);return function(t){for(var e=0,s=0;s<n;s++)e+=i((t-r[s])/a);return o*e}},HY.getPositionOnKdePath=function(t,e,r){var n,i;\\\"h\\\"===e.orientation?(n=\\\"y\\\",i=\\\"x\\\"):(n=\\\"x\\\",i=\\\"y\\\");var a=ne.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),o=t.posCenterPx,s=a[n];return[s,\\\"both\\\"===e.side?2*o-s:o]},HY.getKdeValue=function(t,e,r){var n=t.pts.map(HY.extractVal);return HY.makeKDE(t,e,n)(r)/t.posDensityScale},HY.extractVal=function(t){return t.v};var WY=t.BADNUM;function YY(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}function XY(t,e,r,n){var i,a=t.spanmode,o=t.span||[],s=[e.min,e.max],l=[e.min-2*n,e.max+2*n];function u(n){var i=o[n],a=r.d2c(i,0,t[e.valLetter+\\\"calendar\\\"]);return a===WY?l[n]:a}var c={type:\\\"linear\\\",range:i=\\\"soft\\\"===a?l:\\\"hard\\\"===a?s:[u(0),u(1)]};return ri.setConvert(c),c.cleanRange(),i}var ZY=ne.extendFlat,JY={violinmode:ZY({},ws.boxmode,{}),violingap:ZY({},ws.boxgap,{}),violingroupgap:ZY({},ws.boxgroupgap,{})},KY=Os,QY=[\\\"v\\\",\\\"h\\\"],$Y=Cx.stylePoints,tX={attributes:qY,layoutAttributes:JY,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,qY,r,n)}function a(r,n){return ne.coerce2(t,e,qY,r,n)}if(ys.handleSampleDefaults(t,e,i,n),!1!==e.visible){i(\\\"bandwidth\\\"),i(\\\"scalegroup\\\",e.name),i(\\\"scalemode\\\"),i(\\\"side\\\");var o,s=i(\\\"span\\\");Array.isArray(s)&&(o=\\\"manual\\\"),i(\\\"spanmode\\\",o);var l=i(\\\"line.color\\\",(t.marker||{}).color||r),u=i(\\\"line.width\\\"),c=i(\\\"fillcolor\\\",Oe.addOpacity(e.line.color,.5));ys.handlePointsDefaults(t,e,i,{prefix:\\\"\\\"});var h=a(\\\"box.width\\\"),f=a(\\\"box.fillcolor\\\",c),p=a(\\\"box.line.color\\\",l),d=a(\\\"box.line.width\\\",u);i(\\\"box.visible\\\",Boolean(h||f||p||d))||delete e.box;var g=a(\\\"meanline.color\\\",l),v=a(\\\"meanline.width\\\",u);i(\\\"meanline.visible\\\",Boolean(g||v))||delete e.meanline}},supplyLayoutDefaults:function(t,e,r){As._supply(t,e,r,function(r,n){return ne.coerce(t,e,JY,r,n)},\\\"violin\\\")},calc:function(t,e){var r=fs(t,e);if(r[0].t.empty)return r;var n=t._fullLayout,i=ri.getFromId(t,e[\\\"h\\\"===e.orientation?\\\"xaxis\\\":\\\"yaxis\\\"]),a=n._violinScaleGroupStats,o=e.scalegroup,s=a[o];s||(s=a[o]={maxWidth:0,maxCount:0});for(var l=0;l<r.length;l++){var u=r[l],c=u.pts.map(HY.extractVal),h=c.length,f=YY(c,ne.stdev(c,h-1,u.mean),u.q3-u.q1),p=u.bandwidth=e.bandwidth||f,d=u.span=XY(e,u,i,p),g=d[1]-d[0],v=Math.ceil(g/(Math.min(f,p)/3)),m=g/v;if(!isFinite(m)||!isFinite(v))return ne.error(\\\"Something went wrong with computing the violin span\\\"),r[0].t.empty=!0,r;var y=HY.makeKDE(u,e,c);u.density=new Array(v);for(var x=0,b=d[0];b<d[1]+m/2;x++,b+=m){var _=y(b);s.maxWidth=Math.max(s.maxWidth,_),u.density[x]={v:_,t:b}}ri.expand(i,d,{padded:!0}),s.maxCount=Math.max(s.maxCount,c.length)}return r[0].t.labels.kde=ne._(t,\\\"kde:\\\"),r},setPositions:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<QY.length;a++){for(var o=QY[a],s=\\\"h\\\"===o?i:n,l=[],u=0,c=0,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!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.points&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}KY(\\\"violin\\\",t,l,s,[u,c])}},plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;function s(t){var e=wx(t,{xaxis:a,yaxis:o,connectGaps:!0,baseTolerance:.75,shape:\\\"spline\\\",simplify:!0});return Sr.smoothopen(e[0],1)}r.plot.select(\\\".violinlayer\\\").selectAll(\\\"g.trace.violins\\\").data(n).enter().append(\\\"g\\\").attr(\\\"class\\\",\\\"trace violins\\\").each(function(t){var n=t[0],l=n.t,u=n.trace,c=n.node3=e.select(this),h=i._numViolins,f=\\\"group\\\"===i.violinmode&&h>1,p=l.bdPos=l.dPos*(1-i.violingap)*(1-i.violingroupgap)/(f?h:1),d=l.bPos=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.violingap):0;if(!0!==u.visible||l.empty)e.select(this).remove();else{var g=r[l.valLetter+\\\"axis\\\"],v=r[l.posLetter+\\\"axis\\\"],m=\\\"both\\\"===u.side,y=m||\\\"positive\\\"===u.side,x=m||\\\"negative\\\"===u.side,b=u.box&&u.box.visible,_=u.meanline&&u.meanline.visible,w=i._violinScaleGroupStats[u.scalegroup];if(c.selectAll(\\\"path.violin\\\").data(ne.identity).enter().append(\\\"path\\\").style(\\\"vector-effect\\\",\\\"non-scaling-stroke\\\").attr(\\\"class\\\",\\\"violin\\\").each(function(t){var r,n,i,a,o,c,h,f,b=e.select(this),_=t.density,M=_.length,A=t.pos+d,k=v.c2p(A);switch(u.scalemode){case\\\"width\\\":r=w.maxWidth/p;break;case\\\"count\\\":r=w.maxWidth/p*(w.maxCount/t.pts.length)}if(y){for(h=new Array(M),o=0;o<M;o++)(f=h[o]={})[l.posLetter]=A+_[o].v/r,f[l.valLetter]=_[o].t;n=s(h)}if(x){for(h=new Array(M),c=0,o=M-1;c<M;c++,o--)(f=h[c]={})[l.posLetter]=A-_[o].v/r,f[l.valLetter]=_[o].t;i=s(h)}if(m)a=n+\\\"L\\\"+i.substr(1)+\\\"Z\\\";else{var T=[k,g.c2p(_[0].t)],S=[k,g.c2p(_[M-1].t)];\\\"h\\\"===u.orientation&&(T.reverse(),S.reverse()),a=y?\\\"M\\\"+T+\\\"L\\\"+n.substr(1)+\\\"L\\\"+S:\\\"M\\\"+S+\\\"L\\\"+i.substr(1)+\\\"L\\\"+T}b.attr(\\\"d\\\",a),t.posCenterPx=k,t.posDensityScale=r*p,t.path=b.node(),t.pathLength=t.path.getTotalLength()/(m?2:1)}),b){var M,A,k=u.box.width,T=u.box.line.width;m?(M=p*k,A=0):y?(M=[0,p*k/2],A=-T):(M=[p*k/2,0],A=T),u.whiskerwidth=0,Ls.plotBoxAndWhiskers(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A}),_&&Ls.plotBoxMean(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A})}else _&&c.selectAll(\\\"path.mean\\\").data(ne.identity).enter().append(\\\"path\\\").attr(\\\"class\\\",\\\"mean\\\").style({fill:\\\"none\\\",\\\"vector-effect\\\":\\\"non-scaling-stroke\\\"}).each(function(t){var r=g.c2p(t.mean,!0),n=HY.getPositionOnKdePath(t,u,r);e.select(this).attr(\\\"d\\\",\\\"h\\\"===u.orientation?\\\"M\\\"+r+\\\",\\\"+n[0]+\\\"V\\\"+n[1]:\\\"M\\\"+n[0]+\\\",\\\"+r+\\\"H\\\"+n[1])});u.points&&Ls.plotPoints(c,{x:a,y:o},u,l)}})},style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\\\"g.trace.violins\\\");n.style(\\\"opacity\\\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=r[0].trace,i=e.select(this),a=n.box||{},o=a.line||{},s=n.meanline||{},l=s.width;i.selectAll(\\\"path.violin\\\").style(\\\"stroke-width\\\",n.line.width+\\\"px\\\").call(Oe.stroke,n.line.color).call(Oe.fill,n.fillcolor),i.selectAll(\\\"path.box\\\").style(\\\"stroke-width\\\",o.width+\\\"px\\\").call(Oe.stroke,o.color).call(Oe.fill,a.fillcolor),i.selectAll(\\\"path.mean\\\").style({\\\"stroke-width\\\":l+\\\"px\\\",\\\"stroke-dasharray\\\":2*l+\\\"px,\\\"+l+\\\"px\\\"}).call(Oe.stroke,s.color),$Y(i,n,t)})},hoverPoints:function(t,e,r,n,i){var a,o,s=t.cd,l=s[0].trace,u=l.hoveron,c=-1!==u.indexOf(\\\"violins\\\"),h=-1!==u.indexOf(\\\"kde\\\"),f=[];if(c||h){var p=_s.hoverOnBoxes(t,e,r,n);if(c&&(f=f.concat(p)),h&&p.length>0){var d,g,v,m,y,x=t.xa,b=t.ya;\\\"h\\\"===l.orientation?(y=e,d=\\\"y\\\",v=b,g=\\\"x\\\",m=x):(y=r,d=\\\"x\\\",v=x,g=\\\"y\\\",m=b);var _=s[t.index];if(y>=_.span[0]&&y<=_.span[1]){var w=ne.extendFlat({},t),M=m.c2p(y,!0),A=HY.getKdeValue(_,l,y),k=HY.getPositionOnKdePath(_,l,M),T=v._offset,S=v._length;w[d+\\\"0\\\"]=k[0],w[d+\\\"1\\\"]=k[1],w[g+\\\"0\\\"]=w[g+\\\"1\\\"]=M,w[g+\\\"Label\\\"]=g+\\\": \\\"+ri.hoverLabelText(m,y)+\\\", \\\"+s[0].t.labels.kde+\\\" \\\"+A.toFixed(3),w.spikeDistance=p[0].spikeDistance;var E=d+\\\"Spike\\\";w[E]=p[0][E],p[0].spikeDistance=void 0,p[0][E]=void 0,f.push(w),(o={stroke:t.color})[d+\\\"1\\\"]=ne.constrain(T+k[0],T,T+S),o[d+\\\"2\\\"]=ne.constrain(T+k[1],T,T+S),o[g+\\\"1\\\"]=o[g+\\\"2\\\"]=m._offset+M}}}-1!==u.indexOf(\\\"points\\\")&&(a=_s.hoverOnPoints(t,e,r));var C=i.selectAll(\\\".violinline-\\\"+l.uid).data(o?[0]:[]);return C.enter().append(\\\"line\\\").classed(\\\"violinline-\\\"+l.uid,!0).attr(\\\"stroke-width\\\",1.5),C.exit().remove(),C.attr(o),\\\"closest\\\"===n?a?[a]:f:a?(f.push(a),f):f},selectPoints:zs,moduleType:\\\"trace\\\",name:\\\"violin\\\",basePlotModule:ua,categories:[\\\"cartesian\\\",\\\"symbols\\\",\\\"oriented\\\",\\\"box-violin\\\",\\\"showLegend\\\"],meta:{}};return Fx.register([os,Bs,Kx,qL,ZL,$L,YF,fp,qG,tX,Wj,tY,DR,dV,Sh,xq,aB,LL,LF,aH,uN,VY,Gu,tV,Ep,UR,iu,aG,uG]),Fx.register([Hi,qx,Yx,WG]),Fx.register([Ul]),Fx});\\n\",\n       \"});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from plotly.offline import init_notebook_mode, iplot, offline\\n\",\n    \"\\n\",\n    \"import pandas as pd\\n\",\n    \"import cufflinks as cf\\n\",\n    \"\\n\",\n    \"init_notebook_mode()\\n\",\n    \"cf.set_config_file(offline=False, world_readable=True, theme='pearl')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"data available for months: ['2017-05', '2017-06', '2017-07', '2017-08', '2017-09', '2017-10', '2017-11', '2017-12', '2018-01', '2018-02', '2018-03', '2018-04']\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"from whotracksme.data.loader import DataSource\\n\",\n    \"data = DataSource()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Notable Changes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As customary, here below are the sites with the most notable changes this month. The\\n\",\n    \"largest increase in the average number of trackers per page load was measured in\\n\",\n    \"[markt.de](https://whotracks.me/websites/markt.de.html), and the largest decrease in\\n\",\n    \"[babbel.com](https://whotracks.me/websites/babbel.com.html).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>change</th>\\n\",\n       \"      <th>trackers</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>babbel.com</th>\\n\",\n       \"      <td>-8.111454</td>\\n\",\n       \"      <td>12.722951</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>bento.de</th>\\n\",\n       \"      <td>-3.611723</td>\\n\",\n       \"      <td>19.215815</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>klingel.de</th>\\n\",\n       \"      <td>-3.492893</td>\\n\",\n       \"      <td>26.706119</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>tvnow.de</th>\\n\",\n       \"      <td>-3.151073</td>\\n\",\n       \"      <td>25.500678</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>sheego.de</th>\\n\",\n       \"      <td>4.633526</td>\\n\",\n       \"      <td>11.616530</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>markt.de</th>\\n\",\n       \"      <td>10.795911</td>\\n\",\n       \"      <td>17.783326</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"               change   trackers\\n\",\n       \"babbel.com  -8.111454  12.722951\\n\",\n       \"bento.de    -3.611723  19.215815\\n\",\n       \"klingel.de  -3.492893  26.706119\\n\",\n       \"tvnow.de    -3.151073  25.500678\\n\",\n       \"sheego.de    4.633526  11.616530\\n\",\n       \"markt.de    10.795911  17.783326\"\n      ]\n     },\n     \"execution_count\": 3,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"apr_trackers = data.sites.get_snapshot('2018-04').set_index('site')['trackers']\\n\",\n    \"mar_trackers = data.sites.get_snapshot('2018-03').set_index('site')['trackers']\\n\",\n    \"site_diffs = pd.DataFrame({\\n\",\n    \"    'trackers': mar_trackers,\\n\",\n    \"    'change': (apr_trackers - mar_trackers)\\n\",\n    \"})\\n\",\n    \"site_diffs[(site_diffs.change > 3) | (site_diffs.change < -3)].sort_values('change')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Facebook's Tough Month\\n\",\n    \"\\n\",\n    \"[Facebook](../trackers/facebook.html) have been in the news a lot in the last month, and with\\n\",\n    \"the `#deletefacebook` trending, will there have been an effect on their operations and bottom\\n\",\n    \"line? We [already reported](https://www.ghostery.com/blog/ghostery-news/report-have-publishers-banned-facebook-trackers-from-their-pages-after-the-cambridge-analytica-scandal/)\\n\",\n    \"that despite strong criticism in the press, the same news sites did not stop using Facebook's\\n\",\n    \"tracking tools. The data we release this month shows that this continues to be the case, with no\\n\",\n    \"drop in tracking reach for the [Facebook tracker](../trackers/facebook.html).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"facebookDf = data.trackers.df[\\n\",\n    \"    (data.trackers.df.tracker == \\\"facebook\\\") \\n\",\n    \"#     & (data.trackers.df.month >= \\\"2018-01\\\")\\n\",\n    \"]\\n\",\n    \"facebookDf = facebookDf[['month','reach', 'site_reach']]\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"application/vnd.plotly.v1+json\": {\n       \"data\": [\n        {\n         \"fill\": \"tozeroy\",\n         \"fillcolor\": \"rgba(255, 153, 51, 0.3)\",\n         \"line\": {\n          \"color\": \"rgba(255, 153, 51, 1.0)\",\n          \"dash\": \"solid\",\n          \"width\": 1.3\n         },\n         \"mode\": \"lines\",\n         \"name\": \"reach\",\n         \"text\": \"\",\n         \"type\": \"scatter\",\n         \"x\": [\n          \"2017-05-01\",\n          \"2017-06-01\",\n          \"2017-07-01\",\n          \"2017-08-01\",\n          \"2017-09-01\",\n          \"2017-10-01\",\n          \"2017-11-01\",\n          \"2017-12-01\",\n          \"2018-01-01\",\n          \"2018-02-01\",\n          \"2018-03-01\",\n          \"2018-04-01\"\n         ],\n         \"xaxis\": \"x1\",\n         \"y\": [\n          0.31346037651773023,\n          0.3153770862904671,\n          0.30586649894717577,\n          0.30095937714542365,\n          0.2980006216898452,\n          0.2862098839766894,\n          0.28746809741487106,\n          0.2823794258106336,\n          0.2841597964515066,\n          0.2879803049264181,\n          0.2856411110740228,\n          0.28704290575311786\n         ],\n         \"yaxis\": \"y1\"\n        },\n        {\n         \"fill\": \"tozeroy\",\n         \"fillcolor\": \"rgba(55, 128, 191, 0.3)\",\n         \"line\": {\n          \"color\": \"rgba(55, 128, 191, 1.0)\",\n          \"dash\": \"solid\",\n          \"width\": 1.3\n         },\n         \"mode\": \"lines\",\n         \"name\": \"site_reach\",\n         \"text\": \"\",\n         \"type\": \"scatter\",\n         \"x\": [\n          \"2017-05-01\",\n          \"2017-06-01\",\n          \"2017-07-01\",\n          \"2017-08-01\",\n          \"2017-09-01\",\n          \"2017-10-01\",\n          \"2017-11-01\",\n          \"2017-12-01\",\n          \"2018-01-01\",\n          \"2018-02-01\",\n          \"2018-03-01\",\n          \"2018-04-01\"\n         ],\n         \"xaxis\": \"x1\",\n         \"y\": [\n          0.37418853060533264,\n          0.378439338380774,\n          0.3779495953148648,\n          0.3755754129434065,\n          0.3738063981206384,\n          0.3719620646574803,\n          0.3763100284130607,\n          0.3848586709051076,\n          0.3896124423089081,\n          0.40593970425354137,\n          0.4148203788481679,\n          0.4060915662353362\n         ],\n         \"yaxis\": \"y2\"\n        }\n       ],\n       \"layout\": {\n        \"legend\": {\n         \"bgcolor\": \"#F5F6F9\",\n         \"font\": {\n          \"color\": \"#4D5663\"\n         }\n        },\n        \"paper_bgcolor\": \"#F5F6F9\",\n        \"plot_bgcolor\": \"#F5F6F9\",\n        \"shapes\": [\n         {\n          \"line\": {\n           \"color\": \"#db4052\",\n           \"dash\": \"solid\",\n           \"width\": 1\n          },\n          \"type\": \"line\",\n          \"x0\": \"2018-03\",\n          \"x1\": \"2018-03\",\n          \"xref\": \"x\",\n          \"y0\": 0,\n          \"y1\": 1,\n          \"yref\": \"paper\"\n         }\n        ],\n        \"title\": \"Reach and Site Reach\",\n        \"titlefont\": {\n         \"color\": \"#4D5663\"\n        },\n        \"xaxis1\": {\n         \"anchor\": \"y2\",\n         \"domain\": [\n          0,\n          1\n         ],\n         \"gridcolor\": \"#E1E5ED\",\n         \"showgrid\": true,\n         \"tickfont\": {\n          \"color\": \"#4D5663\"\n         },\n         \"title\": \"\",\n         \"titlefont\": {\n          \"color\": \"#4D5663\"\n         },\n         \"zerolinecolor\": \"#E1E5ED\"\n        },\n        \"yaxis1\": {\n         \"anchor\": \"free\",\n         \"domain\": [\n          0.575,\n          1\n         ],\n         \"gridcolor\": \"#E1E5ED\",\n         \"position\": 0,\n         \"showgrid\": true,\n         \"tickfont\": {\n          \"color\": \"#4D5663\"\n         },\n         \"title\": \"\",\n         \"titlefont\": {\n          \"color\": \"#4D5663\"\n         },\n         \"zerolinecolor\": \"#E1E5ED\"\n        },\n        \"yaxis2\": {\n         \"anchor\": \"x1\",\n         \"domain\": [\n          0,\n          0.425\n         ]\n        }\n       }\n      },\n      \"text/html\": [\n       \"<div id=\\\"401f80ae-5de1-48cd-8fc8-e602a6edf3a1\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"401f80ae-5de1-48cd-8fc8-e602a6edf3a1\\\", [{\\\"type\\\": \\\"scatter\\\", \\\"x\\\": [\\\"2017-05-01\\\", \\\"2017-06-01\\\", \\\"2017-07-01\\\", \\\"2017-08-01\\\", \\\"2017-09-01\\\", \\\"2017-10-01\\\", \\\"2017-11-01\\\", \\\"2017-12-01\\\", \\\"2018-01-01\\\", \\\"2018-02-01\\\", \\\"2018-03-01\\\", \\\"2018-04-01\\\"], \\\"y\\\": [0.31346037651773023, 0.3153770862904671, 0.30586649894717577, 0.30095937714542365, 0.2980006216898452, 0.2862098839766894, 0.28746809741487106, 0.2823794258106336, 0.2841597964515066, 0.2879803049264181, 0.2856411110740228, 0.28704290575311786], \\\"name\\\": \\\"reach\\\", \\\"text\\\": \\\"\\\", \\\"line\\\": {\\\"color\\\": \\\"rgba(255, 153, 51, 1.0)\\\", \\\"width\\\": 1.3, \\\"dash\\\": \\\"solid\\\"}, \\\"mode\\\": \\\"lines\\\", \\\"fill\\\": \\\"tozeroy\\\", \\\"fillcolor\\\": \\\"rgba(255, 153, 51, 0.3)\\\", \\\"xaxis\\\": \\\"x1\\\", \\\"yaxis\\\": \\\"y1\\\"}, {\\\"type\\\": \\\"scatter\\\", \\\"x\\\": [\\\"2017-05-01\\\", \\\"2017-06-01\\\", \\\"2017-07-01\\\", \\\"2017-08-01\\\", \\\"2017-09-01\\\", \\\"2017-10-01\\\", \\\"2017-11-01\\\", \\\"2017-12-01\\\", \\\"2018-01-01\\\", \\\"2018-02-01\\\", \\\"2018-03-01\\\", \\\"2018-04-01\\\"], \\\"y\\\": [0.37418853060533264, 0.378439338380774, 0.3779495953148648, 0.3755754129434065, 0.3738063981206384, 0.3719620646574803, 0.3763100284130607, 0.3848586709051076, 0.3896124423089081, 0.40593970425354137, 0.4148203788481679, 0.4060915662353362], \\\"name\\\": \\\"site_reach\\\", \\\"text\\\": \\\"\\\", \\\"line\\\": {\\\"color\\\": \\\"rgba(55, 128, 191, 1.0)\\\", \\\"width\\\": 1.3, \\\"dash\\\": \\\"solid\\\"}, \\\"mode\\\": \\\"lines\\\", \\\"fill\\\": \\\"tozeroy\\\", \\\"fillcolor\\\": \\\"rgba(55, 128, 191, 0.3)\\\", \\\"xaxis\\\": \\\"x1\\\", \\\"yaxis\\\": \\\"y2\\\"}], {\\\"yaxis1\\\": {\\\"domain\\\": [0.575, 1.0], \\\"anchor\\\": \\\"free\\\", \\\"position\\\": 0.0, \\\"tickfont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"gridcolor\\\": \\\"#E1E5ED\\\", \\\"titlefont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"zerolinecolor\\\": \\\"#E1E5ED\\\", \\\"showgrid\\\": true, \\\"title\\\": \\\"\\\"}, \\\"xaxis1\\\": {\\\"domain\\\": [0.0, 1.0], \\\"anchor\\\": \\\"y2\\\", \\\"tickfont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"gridcolor\\\": \\\"#E1E5ED\\\", \\\"titlefont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"zerolinecolor\\\": \\\"#E1E5ED\\\", \\\"showgrid\\\": true, \\\"title\\\": \\\"\\\"}, \\\"yaxis2\\\": {\\\"domain\\\": [0.0, 0.425], \\\"anchor\\\": \\\"x1\\\"}, \\\"legend\\\": {\\\"bgcolor\\\": \\\"#F5F6F9\\\", \\\"font\\\": {\\\"color\\\": \\\"#4D5663\\\"}}, \\\"paper_bgcolor\\\": \\\"#F5F6F9\\\", \\\"plot_bgcolor\\\": \\\"#F5F6F9\\\", \\\"titlefont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"title\\\": \\\"Reach and Site Reach\\\", \\\"shapes\\\": [{\\\"x0\\\": \\\"2018-03\\\", \\\"y0\\\": 0, \\\"x1\\\": \\\"2018-03\\\", \\\"y1\\\": 1, \\\"line\\\": {\\\"color\\\": \\\"#db4052\\\", \\\"width\\\": 1, \\\"dash\\\": \\\"solid\\\"}, \\\"xref\\\": \\\"x\\\", \\\"yref\\\": \\\"paper\\\", \\\"type\\\": \\\"line\\\"}]}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ],\n      \"text/vnd.plotly.v1+html\": [\n       \"<div id=\\\"401f80ae-5de1-48cd-8fc8-e602a6edf3a1\\\" style=\\\"height: 525px; width: 100%;\\\" class=\\\"plotly-graph-div\\\"></div><script type=\\\"text/javascript\\\">require([\\\"plotly\\\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\\\"https://plot.ly\\\";Plotly.newPlot(\\\"401f80ae-5de1-48cd-8fc8-e602a6edf3a1\\\", [{\\\"type\\\": \\\"scatter\\\", \\\"x\\\": [\\\"2017-05-01\\\", \\\"2017-06-01\\\", \\\"2017-07-01\\\", \\\"2017-08-01\\\", \\\"2017-09-01\\\", \\\"2017-10-01\\\", \\\"2017-11-01\\\", \\\"2017-12-01\\\", \\\"2018-01-01\\\", \\\"2018-02-01\\\", \\\"2018-03-01\\\", \\\"2018-04-01\\\"], \\\"y\\\": [0.31346037651773023, 0.3153770862904671, 0.30586649894717577, 0.30095937714542365, 0.2980006216898452, 0.2862098839766894, 0.28746809741487106, 0.2823794258106336, 0.2841597964515066, 0.2879803049264181, 0.2856411110740228, 0.28704290575311786], \\\"name\\\": \\\"reach\\\", \\\"text\\\": \\\"\\\", \\\"line\\\": {\\\"color\\\": \\\"rgba(255, 153, 51, 1.0)\\\", \\\"width\\\": 1.3, \\\"dash\\\": \\\"solid\\\"}, \\\"mode\\\": \\\"lines\\\", \\\"fill\\\": \\\"tozeroy\\\", \\\"fillcolor\\\": \\\"rgba(255, 153, 51, 0.3)\\\", \\\"xaxis\\\": \\\"x1\\\", \\\"yaxis\\\": \\\"y1\\\"}, {\\\"type\\\": \\\"scatter\\\", \\\"x\\\": [\\\"2017-05-01\\\", \\\"2017-06-01\\\", \\\"2017-07-01\\\", \\\"2017-08-01\\\", \\\"2017-09-01\\\", \\\"2017-10-01\\\", \\\"2017-11-01\\\", \\\"2017-12-01\\\", \\\"2018-01-01\\\", \\\"2018-02-01\\\", \\\"2018-03-01\\\", \\\"2018-04-01\\\"], \\\"y\\\": [0.37418853060533264, 0.378439338380774, 0.3779495953148648, 0.3755754129434065, 0.3738063981206384, 0.3719620646574803, 0.3763100284130607, 0.3848586709051076, 0.3896124423089081, 0.40593970425354137, 0.4148203788481679, 0.4060915662353362], \\\"name\\\": \\\"site_reach\\\", \\\"text\\\": \\\"\\\", \\\"line\\\": {\\\"color\\\": \\\"rgba(55, 128, 191, 1.0)\\\", \\\"width\\\": 1.3, \\\"dash\\\": \\\"solid\\\"}, \\\"mode\\\": \\\"lines\\\", \\\"fill\\\": \\\"tozeroy\\\", \\\"fillcolor\\\": \\\"rgba(55, 128, 191, 0.3)\\\", \\\"xaxis\\\": \\\"x1\\\", \\\"yaxis\\\": \\\"y2\\\"}], {\\\"yaxis1\\\": {\\\"domain\\\": [0.575, 1.0], \\\"anchor\\\": \\\"free\\\", \\\"position\\\": 0.0, \\\"tickfont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"gridcolor\\\": \\\"#E1E5ED\\\", \\\"titlefont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"zerolinecolor\\\": \\\"#E1E5ED\\\", \\\"showgrid\\\": true, \\\"title\\\": \\\"\\\"}, \\\"xaxis1\\\": {\\\"domain\\\": [0.0, 1.0], \\\"anchor\\\": \\\"y2\\\", \\\"tickfont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"gridcolor\\\": \\\"#E1E5ED\\\", \\\"titlefont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"zerolinecolor\\\": \\\"#E1E5ED\\\", \\\"showgrid\\\": true, \\\"title\\\": \\\"\\\"}, \\\"yaxis2\\\": {\\\"domain\\\": [0.0, 0.425], \\\"anchor\\\": \\\"x1\\\"}, \\\"legend\\\": {\\\"bgcolor\\\": \\\"#F5F6F9\\\", \\\"font\\\": {\\\"color\\\": \\\"#4D5663\\\"}}, \\\"paper_bgcolor\\\": \\\"#F5F6F9\\\", \\\"plot_bgcolor\\\": \\\"#F5F6F9\\\", \\\"titlefont\\\": {\\\"color\\\": \\\"#4D5663\\\"}, \\\"title\\\": \\\"Reach and Site Reach\\\", \\\"shapes\\\": [{\\\"x0\\\": \\\"2018-03\\\", \\\"y0\\\": 0, \\\"x1\\\": \\\"2018-03\\\", \\\"y1\\\": 1, \\\"line\\\": {\\\"color\\\": \\\"#db4052\\\", \\\"width\\\": 1, \\\"dash\\\": \\\"solid\\\"}, \\\"xref\\\": \\\"x\\\", \\\"yref\\\": \\\"paper\\\", \\\"type\\\": \\\"line\\\"}]}, {\\\"showLink\\\": true, \\\"linkText\\\": \\\"Export to plot.ly\\\"})});</script>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<script>function downloadimage(format, height, width, filename) {var p = document.getElementById('401f80ae-5de1-48cd-8fc8-e602a6edf3a1');Plotly.downloadImage(p, {format: format, height: height, width: width, filename: filename});};if(document.readyState == 'complete') {{downloadimage('svg', 600, 800, 'plot_image');}}</script>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig = facebookDf.iplot(\\n\",\n    \"    subplots=True,\\n\",\n    \"    shape=(2, 1),\\n\",\n    \"    x='month',\\n\",\n    \"    shared_xaxes=True, \\n\",\n    \"    fill=True,\\n\",\n    \"    title=\\\"Reach and Site Reach\\\",\\n\",\n    \"    vline=[\\\"2018-03\\\"],\\n\",\n    \"    asFigure=True\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"# fig.iplot()\\n\",\n    \"\\n\",\n    \"# To save the image as svg\\n\",\n    \"offline.iplot(fig, image='svg')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that `reach` refers to the percentage of total page loads where the Facebook\\n\",\n    \"tracker was seen to be present, whereas `site reach` refers to the percentage of\\n\",\n    \"domains.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Google and the Countdown to GDPR\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With GDPR coming into effect on 25th May, we will soon see if it has an impact on the number of\\n\",\n    \"third-party trackers loaded on web pages. [Recent reports indicate](https://adexchanger.com/online-advertising/googles-gdpr-consent-tool-will-limit-publishers-to-12-ad-tech-vendors/)\\n\",\n    \"that Google will encourage publishers to reduce the number of AdTech vendors they use, in order to\\n\",\n    \"increase the chance of getting consent for tracking from users. If this is the case, we should\\n\",\n    \"expect this change to be visible in the WhoTracks.Me data.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"dc_sites = data.sites_trackers.df[\\n\",\n    \"    (data.sites_trackers.df.tracker == \\\"doubleclick\\\")\\n\",\n    \"    & (data.sites_trackers.df.month == \\\"2018-04\\\")\\n\",\n    \"    & (data.sites_trackers.df.country == \\\"global\\\")\\n\",\n    \"    & (data.sites_trackers.df.site_proportion > 0.5)\\n\",\n    \"].site\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"dc_sites_df = data.sites.df[\\n\",\n    \"    (data.sites.df.site.isin(dc_sites))\\n\",\n    \"    & (data.sites.df.month >= \\\"2018-02\\\")\\n\",\n    \"]\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"dcsitesDf = pd.DataFrame({\\n\",\n    \"    \\\"apr_trackers\\\": dc_sites_df[dc_sites_df.month == '2018-04'].trackers,\\n\",\n    \"    \\\"mar_trackers\\\": dc_sites_df[dc_sites_df.month == '2018-03'].trackers,\\n\",\n    \"})\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"fig = dcsitesDf.iplot(\\n\",\n    \"    kind=\\\"histogram\\\",\\n\",\n    \"    histnorm='percent',\\n\",\n    \"    title=\\\"Distribution of the average number of trackers per site\\\",\\n\",\n    \"    opacity=.6,\\n\",\n    \"    bins=20,\\n\",\n    \"    yTitle=\\\"Percentage of Sites\\\",\\n\",\n    \"    vline={\\n\",\n    \"        \\\"kind\\\": \\\"rect\\\",\\n\",\n    \"        \\\"x0\\\": 12,\\n\",\n    \"        \\\"x1\\\": 38,\\n\",\n    \"        \\\"width\\\": 2,\\n\",\n    \"        \\\"fillcolor\\\": \\\"red\\\",\\n\",\n    \"        \\\"opacity\\\": 0.1\\n\",\n    \"    },\\n\",\n    \"    barmode=\\\"overlay\\\",\\n\",\n    \"    bargap=0.2,\\n\",\n    \"    line_color=\\\"#00000000\\\",\\n\",\n    \"    width=0,\\n\",\n    \"    asFigure=True,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"fig.iplot()\\n\",\n    \"\\n\",\n    \"# To save the image as svg\\n\",\n    \"offline.plot(fig, image='svg')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we reported [last month](./update_apr_2018.html), we observe a gradual decline in the average\\n\",\n    \"number of trackers seen on websites. However, looking at sites which use Google's [Doubleclick](../trackers/doubleclick.html)\\n\",\n    \"Ad Network, a large proportion are still well-above this proposed 12 tracker limit. With only a few\\n\",\n    \"weeks to go, there will still be be a significant number of sites over the limit.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we were to consider the most extreme scenario, where Google compels all customers use their GDPR\\n\",\n    \"consent system for European users, and enforces a 12 vendor limit in the process, this could\\n\",\n    \"have a significant impact on the ecosystem. If we extrapolate from WhoTracks.Me data, capping all\\n\",\n    \"these sites to 12 trackers means that over **1,300 trackers** would disappear from sites. AdTech\\n\",\n    \"companies deeper in the supply chain may be completely cut out unless they have direct publisher\\n\",\n    \"relationships which enable them to make the vendor shortlist.\\n\",\n    \"\\n\",\n    \"Such a sharp change in the ecosystem is unlikely, but it demonstrates the power of Google's market\\n\",\n    \"dominance, that they would be able to unilaterally pull the plug on a lot of their competition. We\\n\",\n    \"will continue to monitor the ecosystem to quantify any changes to tracking, and look forward to\\n\",\n    \"reporting the changes, if any, caused by the new regulation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you want to delve deeper, the data is open and available on the [Whotracks.me Github Repository](https://github.com/ghostery/whotracks.me/tree/master/whotracksme/data), and as a [pip package](https://pypi.python.org/pypi/whotracksme/).\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.6.5\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "deploy_to_s3.py",
    "content": "\"\"\"\nModule to deploy WhoTracksMe site to an s3 bucket.\n\nUsage:\n    deploy_to_s3 <bucket_name> [<prefix>] [--production] [--no-overrides] [--skip-old-years] [--fast-website-update] [--update-api-only] [--list-outdated] [--verbose] [--dry-run] [--debug]\n\nOptions:\n    -h, --help                  Show help message.\n    --production                Production deployment (set cache-control metadata) [Default: true]\n    --no-overrides              Skip files that already exist on S3 [Default: false]\n    --skip-old-years            Do not upload data files of the previous years [Default: false]\n    --fast-website-update       Fast mode if you want to update static resources (e.g. blog post, updating privacy policy) without uploading all data files [Default: false]\n    --update-api-only           Skip all files except for the API files [Default: false]\n    --list-outdated             List all files which are present on S3, yet came from an older release [Default: false]\n    --verbose                   Enable debug logs [Default: false]\n    --dry-run                   Do not perform modifications [Default: false]\n    --debug                     Disable parallel workers to use a debugger [Default: false]\n\"\"\"\n\nimport os\nimport boto3\nimport re\nimport datetime\nfrom docopt import docopt\nfrom mimetypes import MimeTypes\nfrom concurrent.futures import ProcessPoolExecutor\n\ndef iterate_bucket(s3_client, bucket_name, bucket_prefix):\n    pageinator = s3_client.get_paginator('list_objects_v2')\n\n    for page in pageinator.paginate(Bucket=bucket_name, Prefix=bucket_prefix):\n        if page['KeyCount'] == 0:\n            continue\n\n        for item in page['Contents']:\n            yield item['Key']\n\ndef get_max_age(path, filename):\n    if path.startswith('static/'):\n        # font resources: one month cache\n        if 'font-awesome-4.7.0' in path or 'fonts' in path:\n            return 2592000\n        # minified JS: one week cache\n        if '.min.js' in filename or '.min.css' in filename:\n            return 604800\n        # one week cache\n        return 604800\n    elif path.startswith('data/'):\n        # trackerdb: 1day cache\n        if 'trackerdb.' in path:\n            return 86400\n        # rest of data directory: 1 week cache\n        return 604800\n    # default 1day cache for html pages\n    return 86400\n\ndef get_cache_control(path, filename, production=False):\n    if not production:\n        # one minute cache\n        return 'max-age=60'\n    return f'max-age={get_max_age(path, filename)}'\n\n\ndef get_content_type(local_path):\n    mime = MimeTypes()\n    guessed_type = mime.guess_type(local_path)[0]\n    if guessed_type is None:\n        if local_path.endswith('.css.map') or local_path.endswith('.js.map'):\n            return 'application/json'\n        elif local_path.endswith('.otf'):\n            return 'font/opentype'\n        elif local_path.endswith('.eot'):\n            return 'application/vnd.ms-fontobject'\n        elif local_path.endswith('.ttf'):\n            return 'application/font-sfnt'\n        elif local_path.endswith('.woff'):\n            return 'application/font-woff'\n        elif local_path.endswith('.woff2'):\n            return 'application/font-woff2'\n        elif local_path.endswith('.zip'):\n            return 'application/zip'\n        elif local_path.endswith('.pack'):\n            return 'application/octet-stream'\n        return 'text/html'\n    return guessed_type\n\nif __name__ == '__main__':\n    args = docopt(__doc__)\n    bucket_name = args['<bucket_name>']\n    bucket_prefix = args['<prefix>'] or '/'\n    production = args['--production']\n    no_overrides = args['--no-overrides'] or False\n    skip_old_years = args['--skip-old-years'] or False\n    fast_website_update = args['--fast-website-update'] or False\n    update_api_only = args['--update-api-only'] or False\n    list_outdated = args['--list-outdated'] or False\n    verbose = args['--verbose'] or False\n    dry_run = args['--dry-run'] or False\n    debug_mode = args['--debug'] or False\n    site_dir = './_site'\n\n    if fast_website_update and update_api_only:\n        print('--fast-website-update and --update-api-only cannot be used together')\n        exit(1)\n\n    if bucket_prefix[0] != '/':\n        bucket_prefix = '/' + bucket_prefix\n    print('Deploying site to ', f's3://{bucket_name}{bucket_prefix}')\n\n    # check site build exists\n    if not os.path.isdir(site_dir):\n        print('_site directory does not exist. You need to build the site before uploading')\n        exit(1)\n\n    # connect s3\n    s3_client = boto3.client('s3')\n\n    # list existing bucket contents\n    existing_keys = set(iterate_bucket(s3_client, bucket_name, bucket_prefix[1:]))\n    obsolete_files = set(existing_keys)\n    print('Bucket contains', len(existing_keys), 'pages')\n\n    uploaded = 0\n    redirected = 0\n\n    def upload_file_to_s3(path, filename):\n        # path to local file\n        local_path = os.path.join(path, filename)\n        # relative folder of file\n        s3_suffix = path[len(site_dir) + 1:]\n        # full path from root of bucket\n        s3_path = os.path.join(bucket_prefix, s3_suffix, filename)[1:]\n\n        # metadata to set on file\n        cache_control = get_cache_control(s3_suffix, filename, production=production)\n        content_type = get_content_type(local_path)\n\n        if s3_path in existing_keys and no_overrides:\n            if verbose:\n                print(f'Skipping file {s3_path} (already present)...')\n        else:\n            print('put', local_path, s3_path)\n            with open(local_path, 'rb') as fp:\n                should_update = True\n                if update_api_only and not local_path.startswith(f'{site_dir}/api/'):\n                    print(f'Skipping non api file {s3_path} (--update-api-only)')\n                    should_update = False\n                if fast_website_update:\n                    directories_to_skip = [\n                        f'{site_dir}/trackers/',\n                        f'{site_dir}/websites/',\n                        f'{site_dir}/companies/',\n                        f'{site_dir}/data/',\n                        f'{site_dir}/api/',\n                    ]\n                    for directory in directories_to_skip:\n                        if local_path.startswith(directory):\n                            print(f'Skipping data file {s3_path} (--fast-website-update)')\n                            should_update = False\n                            break\n                if skip_old_years:\n                    # Note: include last December, so the option doesn't break a December release (which happens on January)\n                    current_year = datetime.datetime.now().year\n                    if (re.match(fr\"^{site_dir}/data/\\d{{4}}-\\d{{2}}/\", local_path) and\n                        not local_path.startswith(f'{site_dir}/data/{current_year}') and\n                        not local_path.startswith(f'{site_dir}/data/{current_year - 1}-12')):\n                        print(f'Skipping data file {s3_path} (--skip_old_years)')\n                        should_update = False\n\n                if should_update and not dry_run:\n                    s3_client.put_object(Bucket=bucket_name, Key=s3_path, Body=fp,\n                                         CacheControl=cache_control,\n                                         ContentType=content_type,\n                                         ACL='public-read')\n        obsolete_files.discard(s3_path)\n\n        # setup redirects\n        html_path = f'{s3_path}.html'\n        if html_path in existing_keys:\n            print(f'redirect {html_path} to /{s3_path}')\n            if not dry_run:\n                s3_client.put_object(Bucket=bucket_name, Key=html_path,\n                                     WebsiteRedirectLocation=f'/{s3_path}',\n                                     ACL='public-read')\n            # upload + redirect\n            return True, True\n        else:\n            # upload, no redirect\n            return True, False\n\n    if debug_mode:\n        for (dirpath, dirnames, filenames) in os.walk(site_dir):\n            if verbose:\n                print('Enter', dirpath)\n            files_to_upload = [f for f in filenames if not f[0] == '.']\n            for filename in files_to_upload:\n                upload_file_to_s3(dirpath, filename)\n    else:\n        with ProcessPoolExecutor(max_workers=8) as executor:\n            uploads = []\n            for (dirpath, dirnames, filenames) in os.walk(site_dir):\n                if verbose:\n                    print('Enter', dirpath)\n                files_to_upload = [f for f in filenames if not f[0] == '.']\n                for filename in files_to_upload:\n                    uploads.append(executor.submit(upload_file_to_s3, dirpath, filename))\n\n            for future in uploads:\n                did_upload, did_redirect = future.result()\n                if did_upload:\n                    uploaded += 1\n                if did_redirect:\n                    redirected += 1\n\n\n    print(f'Complete: uploaded {uploaded}, redirected {redirected}')\n    if list_outdated:\n        if len(obsolete_files) == 0:\n            print('No obsolete files found.')\n        else:\n            print(f'{len(obsolete_files)} obsolete files found.')\n            if verbose:\n                for f in sorted(obsolete_files):\n                    print(f'- {f}')\n\n    if dry_run:\n        print('[dry-run]: no changes have been made.')\n"
  },
  {
    "path": "docs/local-build.md",
    "content": "# Local development\n\n## Building the website (the static HTML based version) and the internal API\n\nThe code to build the website on https://www.ghostery.com/whotracksme is not public;\nbut for local testing, you can still use the code for the [previous version](https://web.archive.org/web/20240501140903/https://whotracks.me/). If you have not done so, make sure that you have downloaded data (see [Data Readme](../whotracksme/data/Readme.md)).\n\nTo build the website:\n\n```\nuv sync --frozen\n. .venv/bin/activate\nwhotracksme website\n```\n\nor\n\n```\nuv run --frozen whotracksme\n```\n\n\nIt will generate static HTML files in the `_site` directory. Plus, it will also create a JSON files\nin the `_site/api/` directory. Use them at your own risk, since the format is expected to change over\ntime. If there is interest to stabilize the API files, let us know. Currently, it is only used internally\nwithin Ghostery to power the new website.\n\n> Hint: if you debug the website generator, the parallel execution can be\n> disabled by setting the environment variable DEBUG=1.\n\n## Tests\n\nTo run the unit tests:\n\n```sh\nuv run --frozen pytest\n```\n"
  },
  {
    "path": "pyproject.toml",
    "content": "[project]\nname = \"whotracks\"\nversion = \"2026.4.1\"\ndescription = \"Learn about tracking technologies, market structure and data-sharing on the web\"\nreadme = \"README.md\"\nlicense = \"MIT\"\nlicense-files = [\"LICENSE.md\"]\nrequires-python = \">=3.13\"\ndependencies = [\n  \"aiohttp==3.13.5\",\n  \"certifi==2025.11.12\",\n  \"chardet==3.0.4\",\n  \"colour==0.1.5\",\n  \"docopt-ng==0.9.0\",\n  \"feedgen==1.0.0\",\n  \"idna==2.10\",\n  \"jinja2==3.1.6\",\n  \"markdown==3.10.2\",\n  \"markupsafe==3.0.3\",\n  \"numpy==2.3.5\",\n  \"pandas==2.3.3\",\n  \"python-dateutil==2.9.0\",\n  \"pytz==2020.1\",\n  \"requests==2.31.0\",\n  \"sanic==25.12.0\",\n  \"six==1.17.0\",\n  \"squarify==0.4.4\",\n  \"urllib3==2.5.0\",\n  \"wheel==0.45.1\",\n  \"simplejson==3.19.2\",\n  \"plotly==6.5.0\",\n  \"async-timeout==5.0.1\",\n  \"boto3==1.42.0\",\n  \"watchdog==6.0.0\",\n  \"libsass==0.23.0\",\n]\n\n[project.scripts]\nwhotracksme = \"whotracksme.main:main\"\n\n[dependency-groups]\ndev = [\"pytest\"]\n\n[tool.uv]\npackage = true\n\n[tool.setuptools.packages.find]\nwhere = [\".\"]\ninclude = [\"whotracksme*\"]\nexclude = [\"_site\", \"blog\", \"contrib\", \"data\", \"static\", \"templates\", \"tests\"]\n"
  },
  {
    "path": "static/font-awesome-4.7.0/HELP-US-OUT.txt",
    "content": "I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,\nFort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,\ncomprehensive icon sets or copy and paste your own.\n\nPlease. Check it out.\n\n-Dave Gandy\n"
  },
  {
    "path": "static/font-awesome-4.7.0/css/font-awesome.css",
    "content": "/*!\n *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');\n  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.fa {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n  font-size: 1.33333333em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n.fa-2x {\n  font-size: 2em;\n}\n.fa-3x {\n  font-size: 3em;\n}\n.fa-4x {\n  font-size: 4em;\n}\n.fa-5x {\n  font-size: 5em;\n}\n.fa-fw {\n  width: 1.28571429em;\n  text-align: center;\n}\n.fa-ul {\n  padding-left: 0;\n  margin-left: 2.14285714em;\n  list-style-type: none;\n}\n.fa-ul > li {\n  position: relative;\n}\n.fa-li {\n  position: absolute;\n  left: -2.14285714em;\n  width: 2.14285714em;\n  top: 0.14285714em;\n  text-align: center;\n}\n.fa-li.fa-lg {\n  left: -1.85714286em;\n}\n.fa-border {\n  padding: .2em .25em .15em;\n  border: solid 0.08em #eeeeee;\n  border-radius: .1em;\n}\n.fa-pull-left {\n  float: left;\n}\n.fa-pull-right {\n  float: right;\n}\n.fa.fa-pull-left {\n  margin-right: .3em;\n}\n.fa.fa-pull-right {\n  margin-left: .3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.fa.pull-left {\n  margin-right: .3em;\n}\n.fa.pull-right {\n  margin-left: .3em;\n}\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n  animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n  animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n.fa-rotate-90 {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n.fa-rotate-180 {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n.fa-rotate-270 {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n  -webkit-transform: rotate(270deg);\n  -ms-transform: rotate(270deg);\n  transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n  filter: none;\n}\n.fa-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.fa-stack-1x {\n  line-height: inherit;\n}\n.fa-stack-2x {\n  font-size: 2em;\n}\n.fa-inverse {\n  color: #ffffff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n.fa-glass:before {\n  content: \"\\f000\";\n}\n.fa-music:before {\n  content: \"\\f001\";\n}\n.fa-search:before {\n  content: \"\\f002\";\n}\n.fa-envelope-o:before {\n  content: \"\\f003\";\n}\n.fa-heart:before {\n  content: \"\\f004\";\n}\n.fa-star:before {\n  content: \"\\f005\";\n}\n.fa-star-o:before {\n  content: \"\\f006\";\n}\n.fa-user:before {\n  content: \"\\f007\";\n}\n.fa-film:before {\n  content: \"\\f008\";\n}\n.fa-th-large:before {\n  content: \"\\f009\";\n}\n.fa-th:before {\n  content: \"\\f00a\";\n}\n.fa-th-list:before {\n  content: \"\\f00b\";\n}\n.fa-check:before {\n  content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n  content: \"\\f00d\";\n}\n.fa-search-plus:before {\n  content: \"\\f00e\";\n}\n.fa-search-minus:before {\n  content: \"\\f010\";\n}\n.fa-power-off:before {\n  content: \"\\f011\";\n}\n.fa-signal:before {\n  content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n  content: \"\\f013\";\n}\n.fa-trash-o:before {\n  content: \"\\f014\";\n}\n.fa-home:before {\n  content: \"\\f015\";\n}\n.fa-file-o:before {\n  content: \"\\f016\";\n}\n.fa-clock-o:before {\n  content: \"\\f017\";\n}\n.fa-road:before {\n  content: \"\\f018\";\n}\n.fa-download:before {\n  content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n  content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n  content: \"\\f01b\";\n}\n.fa-inbox:before {\n  content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n  content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n  content: \"\\f01e\";\n}\n.fa-refresh:before {\n  content: \"\\f021\";\n}\n.fa-list-alt:before {\n  content: \"\\f022\";\n}\n.fa-lock:before {\n  content: \"\\f023\";\n}\n.fa-flag:before {\n  content: \"\\f024\";\n}\n.fa-headphones:before {\n  content: \"\\f025\";\n}\n.fa-volume-off:before {\n  content: \"\\f026\";\n}\n.fa-volume-down:before {\n  content: \"\\f027\";\n}\n.fa-volume-up:before {\n  content: \"\\f028\";\n}\n.fa-qrcode:before {\n  content: \"\\f029\";\n}\n.fa-barcode:before {\n  content: \"\\f02a\";\n}\n.fa-tag:before {\n  content: \"\\f02b\";\n}\n.fa-tags:before {\n  content: \"\\f02c\";\n}\n.fa-book:before {\n  content: \"\\f02d\";\n}\n.fa-bookmark:before {\n  content: \"\\f02e\";\n}\n.fa-print:before {\n  content: \"\\f02f\";\n}\n.fa-camera:before {\n  content: \"\\f030\";\n}\n.fa-font:before {\n  content: \"\\f031\";\n}\n.fa-bold:before {\n  content: \"\\f032\";\n}\n.fa-italic:before {\n  content: \"\\f033\";\n}\n.fa-text-height:before {\n  content: \"\\f034\";\n}\n.fa-text-width:before {\n  content: \"\\f035\";\n}\n.fa-align-left:before {\n  content: \"\\f036\";\n}\n.fa-align-center:before {\n  content: \"\\f037\";\n}\n.fa-align-right:before {\n  content: \"\\f038\";\n}\n.fa-align-justify:before {\n  content: \"\\f039\";\n}\n.fa-list:before {\n  content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n  content: \"\\f03b\";\n}\n.fa-indent:before {\n  content: \"\\f03c\";\n}\n.fa-video-camera:before {\n  content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n  content: \"\\f03e\";\n}\n.fa-pencil:before {\n  content: \"\\f040\";\n}\n.fa-map-marker:before {\n  content: \"\\f041\";\n}\n.fa-adjust:before {\n  content: \"\\f042\";\n}\n.fa-tint:before {\n  content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n  content: \"\\f044\";\n}\n.fa-share-square-o:before {\n  content: \"\\f045\";\n}\n.fa-check-square-o:before {\n  content: \"\\f046\";\n}\n.fa-arrows:before {\n  content: \"\\f047\";\n}\n.fa-step-backward:before {\n  content: \"\\f048\";\n}\n.fa-fast-backward:before {\n  content: \"\\f049\";\n}\n.fa-backward:before {\n  content: \"\\f04a\";\n}\n.fa-play:before {\n  content: \"\\f04b\";\n}\n.fa-pause:before {\n  content: \"\\f04c\";\n}\n.fa-stop:before {\n  content: \"\\f04d\";\n}\n.fa-forward:before {\n  content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n  content: \"\\f050\";\n}\n.fa-step-forward:before {\n  content: \"\\f051\";\n}\n.fa-eject:before {\n  content: \"\\f052\";\n}\n.fa-chevron-left:before {\n  content: \"\\f053\";\n}\n.fa-chevron-right:before {\n  content: \"\\f054\";\n}\n.fa-plus-circle:before {\n  content: \"\\f055\";\n}\n.fa-minus-circle:before {\n  content: \"\\f056\";\n}\n.fa-times-circle:before {\n  content: \"\\f057\";\n}\n.fa-check-circle:before {\n  content: \"\\f058\";\n}\n.fa-question-circle:before {\n  content: \"\\f059\";\n}\n.fa-info-circle:before {\n  content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n  content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n  content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n  content: \"\\f05d\";\n}\n.fa-ban:before {\n  content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n  content: \"\\f060\";\n}\n.fa-arrow-right:before {\n  content: \"\\f061\";\n}\n.fa-arrow-up:before {\n  content: \"\\f062\";\n}\n.fa-arrow-down:before {\n  content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n  content: \"\\f064\";\n}\n.fa-expand:before {\n  content: \"\\f065\";\n}\n.fa-compress:before {\n  content: \"\\f066\";\n}\n.fa-plus:before {\n  content: \"\\f067\";\n}\n.fa-minus:before {\n  content: \"\\f068\";\n}\n.fa-asterisk:before {\n  content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n  content: \"\\f06a\";\n}\n.fa-gift:before {\n  content: \"\\f06b\";\n}\n.fa-leaf:before {\n  content: \"\\f06c\";\n}\n.fa-fire:before {\n  content: \"\\f06d\";\n}\n.fa-eye:before {\n  content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n  content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n  content: \"\\f071\";\n}\n.fa-plane:before {\n  content: \"\\f072\";\n}\n.fa-calendar:before {\n  content: \"\\f073\";\n}\n.fa-random:before {\n  content: \"\\f074\";\n}\n.fa-comment:before {\n  content: \"\\f075\";\n}\n.fa-magnet:before {\n  content: \"\\f076\";\n}\n.fa-chevron-up:before {\n  content: \"\\f077\";\n}\n.fa-chevron-down:before {\n  content: \"\\f078\";\n}\n.fa-retweet:before {\n  content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n  content: \"\\f07a\";\n}\n.fa-folder:before {\n  content: \"\\f07b\";\n}\n.fa-folder-open:before {\n  content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n  content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n  content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n  content: \"\\f080\";\n}\n.fa-twitter-square:before {\n  content: \"\\f081\";\n}\n.fa-facebook-square:before {\n  content: \"\\f082\";\n}\n.fa-camera-retro:before {\n  content: \"\\f083\";\n}\n.fa-key:before {\n  content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n  content: \"\\f085\";\n}\n.fa-comments:before {\n  content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n  content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n  content: \"\\f088\";\n}\n.fa-star-half:before {\n  content: \"\\f089\";\n}\n.fa-heart-o:before {\n  content: \"\\f08a\";\n}\n.fa-sign-out:before {\n  content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n  content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n  content: \"\\f08d\";\n}\n.fa-external-link:before {\n  content: \"\\f08e\";\n}\n.fa-sign-in:before {\n  content: \"\\f090\";\n}\n.fa-trophy:before {\n  content: \"\\f091\";\n}\n.fa-github-square:before {\n  content: \"\\f092\";\n}\n.fa-upload:before {\n  content: \"\\f093\";\n}\n.fa-lemon-o:before {\n  content: \"\\f094\";\n}\n.fa-phone:before {\n  content: \"\\f095\";\n}\n.fa-square-o:before {\n  content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n  content: \"\\f097\";\n}\n.fa-phone-square:before {\n  content: \"\\f098\";\n}\n.fa-twitter:before {\n  content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n  content: \"\\f09a\";\n}\n.fa-github:before {\n  content: \"\\f09b\";\n}\n.fa-unlock:before {\n  content: \"\\f09c\";\n}\n.fa-credit-card:before {\n  content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n  content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n  content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n  content: \"\\f0a1\";\n}\n.fa-bell:before {\n  content: \"\\f0f3\";\n}\n.fa-certificate:before {\n  content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n  content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n  content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n  content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n  content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n  content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n  content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n  content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n  content: \"\\f0ab\";\n}\n.fa-globe:before {\n  content: \"\\f0ac\";\n}\n.fa-wrench:before {\n  content: \"\\f0ad\";\n}\n.fa-tasks:before {\n  content: \"\\f0ae\";\n}\n.fa-filter:before {\n  content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n  content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n  content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n  content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n  content: \"\\f0c1\";\n}\n.fa-cloud:before {\n  content: \"\\f0c2\";\n}\n.fa-flask:before {\n  content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n  content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n  content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n  content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n  content: \"\\f0c7\";\n}\n.fa-square:before {\n  content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n  content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n  content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n  content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n  content: \"\\f0cc\";\n}\n.fa-underline:before {\n  content: \"\\f0cd\";\n}\n.fa-table:before {\n  content: \"\\f0ce\";\n}\n.fa-magic:before {\n  content: \"\\f0d0\";\n}\n.fa-truck:before {\n  content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n  content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n  content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n  content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n  content: \"\\f0d5\";\n}\n.fa-money:before {\n  content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n  content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n  content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n  content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n  content: \"\\f0da\";\n}\n.fa-columns:before {\n  content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n  content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n  content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n  content: \"\\f0de\";\n}\n.fa-envelope:before {\n  content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n  content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n  content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n  content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n  content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n  content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n  content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n  content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n  content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n  content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n  content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n  content: \"\\f0eb\";\n}\n.fa-exchange:before {\n  content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n  content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n  content: \"\\f0ee\";\n}\n.fa-user-md:before {\n  content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n  content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n  content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n  content: \"\\f0a2\";\n}\n.fa-coffee:before {\n  content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n  content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n  content: \"\\f0f6\";\n}\n.fa-building-o:before {\n  content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n  content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n  content: \"\\f0f9\";\n}\n.fa-medkit:before {\n  content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n  content: \"\\f0fb\";\n}\n.fa-beer:before {\n  content: \"\\f0fc\";\n}\n.fa-h-square:before {\n  content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n  content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n  content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n  content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n  content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n  content: \"\\f103\";\n}\n.fa-angle-left:before {\n  content: \"\\f104\";\n}\n.fa-angle-right:before {\n  content: \"\\f105\";\n}\n.fa-angle-up:before {\n  content: \"\\f106\";\n}\n.fa-angle-down:before {\n  content: \"\\f107\";\n}\n.fa-desktop:before {\n  content: \"\\f108\";\n}\n.fa-laptop:before {\n  content: \"\\f109\";\n}\n.fa-tablet:before {\n  content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n  content: \"\\f10b\";\n}\n.fa-circle-o:before {\n  content: \"\\f10c\";\n}\n.fa-quote-left:before {\n  content: \"\\f10d\";\n}\n.fa-quote-right:before {\n  content: \"\\f10e\";\n}\n.fa-spinner:before {\n  content: \"\\f110\";\n}\n.fa-circle:before {\n  content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n  content: \"\\f112\";\n}\n.fa-github-alt:before {\n  content: \"\\f113\";\n}\n.fa-folder-o:before {\n  content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n  content: \"\\f115\";\n}\n.fa-smile-o:before {\n  content: \"\\f118\";\n}\n.fa-frown-o:before {\n  content: \"\\f119\";\n}\n.fa-meh-o:before {\n  content: \"\\f11a\";\n}\n.fa-gamepad:before {\n  content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n  content: \"\\f11c\";\n}\n.fa-flag-o:before {\n  content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n  content: \"\\f11e\";\n}\n.fa-terminal:before {\n  content: \"\\f120\";\n}\n.fa-code:before {\n  content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n  content: \"\\f123\";\n}\n.fa-location-arrow:before {\n  content: \"\\f124\";\n}\n.fa-crop:before {\n  content: \"\\f125\";\n}\n.fa-code-fork:before {\n  content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n  content: \"\\f127\";\n}\n.fa-question:before {\n  content: \"\\f128\";\n}\n.fa-info:before {\n  content: \"\\f129\";\n}\n.fa-exclamation:before {\n  content: \"\\f12a\";\n}\n.fa-superscript:before {\n  content: \"\\f12b\";\n}\n.fa-subscript:before {\n  content: \"\\f12c\";\n}\n.fa-eraser:before {\n  content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n  content: \"\\f12e\";\n}\n.fa-microphone:before {\n  content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n  content: \"\\f131\";\n}\n.fa-shield:before {\n  content: \"\\f132\";\n}\n.fa-calendar-o:before {\n  content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n  content: \"\\f134\";\n}\n.fa-rocket:before {\n  content: \"\\f135\";\n}\n.fa-maxcdn:before {\n  content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n  content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n  content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n  content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n  content: \"\\f13a\";\n}\n.fa-html5:before {\n  content: \"\\f13b\";\n}\n.fa-css3:before {\n  content: \"\\f13c\";\n}\n.fa-anchor:before {\n  content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n  content: \"\\f13e\";\n}\n.fa-bullseye:before {\n  content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n  content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n  content: \"\\f142\";\n}\n.fa-rss-square:before {\n  content: \"\\f143\";\n}\n.fa-play-circle:before {\n  content: \"\\f144\";\n}\n.fa-ticket:before {\n  content: \"\\f145\";\n}\n.fa-minus-square:before {\n  content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n  content: \"\\f147\";\n}\n.fa-level-up:before {\n  content: \"\\f148\";\n}\n.fa-level-down:before {\n  content: \"\\f149\";\n}\n.fa-check-square:before {\n  content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n  content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n  content: \"\\f14c\";\n}\n.fa-share-square:before {\n  content: \"\\f14d\";\n}\n.fa-compass:before {\n  content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n  content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n  content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n  content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n  content: \"\\f153\";\n}\n.fa-gbp:before {\n  content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n  content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n  content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n  content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n  content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n  content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n  content: \"\\f15a\";\n}\n.fa-file:before {\n  content: \"\\f15b\";\n}\n.fa-file-text:before {\n  content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n  content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n  content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n  content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n  content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n  content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n  content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n  content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n  content: \"\\f165\";\n}\n.fa-youtube-square:before {\n  content: \"\\f166\";\n}\n.fa-youtube:before {\n  content: \"\\f167\";\n}\n.fa-xing:before {\n  content: \"\\f168\";\n}\n.fa-xing-square:before {\n  content: \"\\f169\";\n}\n.fa-youtube-play:before {\n  content: \"\\f16a\";\n}\n.fa-dropbox:before {\n  content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n  content: \"\\f16c\";\n}\n.fa-instagram:before {\n  content: \"\\f16d\";\n}\n.fa-flickr:before {\n  content: \"\\f16e\";\n}\n.fa-adn:before {\n  content: \"\\f170\";\n}\n.fa-bitbucket:before {\n  content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n  content: \"\\f172\";\n}\n.fa-tumblr:before {\n  content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n  content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n  content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n  content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n  content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n  content: \"\\f178\";\n}\n.fa-apple:before {\n  content: \"\\f179\";\n}\n.fa-windows:before {\n  content: \"\\f17a\";\n}\n.fa-android:before {\n  content: \"\\f17b\";\n}\n.fa-linux:before {\n  content: \"\\f17c\";\n}\n.fa-dribbble:before {\n  content: \"\\f17d\";\n}\n.fa-skype:before {\n  content: \"\\f17e\";\n}\n.fa-foursquare:before {\n  content: \"\\f180\";\n}\n.fa-trello:before {\n  content: \"\\f181\";\n}\n.fa-female:before {\n  content: \"\\f182\";\n}\n.fa-male:before {\n  content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n  content: \"\\f184\";\n}\n.fa-sun-o:before {\n  content: \"\\f185\";\n}\n.fa-moon-o:before {\n  content: \"\\f186\";\n}\n.fa-archive:before {\n  content: \"\\f187\";\n}\n.fa-bug:before {\n  content: \"\\f188\";\n}\n.fa-vk:before {\n  content: \"\\f189\";\n}\n.fa-weibo:before {\n  content: \"\\f18a\";\n}\n.fa-renren:before {\n  content: \"\\f18b\";\n}\n.fa-pagelines:before {\n  content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n  content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n  content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n  content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n  content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n  content: \"\\f192\";\n}\n.fa-wheelchair:before {\n  content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n  content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n  content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n  content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n  content: \"\\f197\";\n}\n.fa-slack:before {\n  content: \"\\f198\";\n}\n.fa-envelope-square:before {\n  content: \"\\f199\";\n}\n.fa-wordpress:before {\n  content: \"\\f19a\";\n}\n.fa-openid:before {\n  content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n  content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n  content: \"\\f19d\";\n}\n.fa-yahoo:before {\n  content: \"\\f19e\";\n}\n.fa-google:before {\n  content: \"\\f1a0\";\n}\n.fa-reddit:before {\n  content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n  content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n  content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n  content: \"\\f1a4\";\n}\n.fa-delicious:before {\n  content: \"\\f1a5\";\n}\n.fa-digg:before {\n  content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n  content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n  content: \"\\f1a8\";\n}\n.fa-drupal:before {\n  content: \"\\f1a9\";\n}\n.fa-joomla:before {\n  content: \"\\f1aa\";\n}\n.fa-language:before {\n  content: \"\\f1ab\";\n}\n.fa-fax:before {\n  content: \"\\f1ac\";\n}\n.fa-building:before {\n  content: \"\\f1ad\";\n}\n.fa-child:before {\n  content: \"\\f1ae\";\n}\n.fa-paw:before {\n  content: \"\\f1b0\";\n}\n.fa-spoon:before {\n  content: \"\\f1b1\";\n}\n.fa-cube:before {\n  content: \"\\f1b2\";\n}\n.fa-cubes:before {\n  content: \"\\f1b3\";\n}\n.fa-behance:before {\n  content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n  content: \"\\f1b5\";\n}\n.fa-steam:before {\n  content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n  content: \"\\f1b7\";\n}\n.fa-recycle:before {\n  content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n  content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n  content: \"\\f1ba\";\n}\n.fa-tree:before {\n  content: \"\\f1bb\";\n}\n.fa-spotify:before {\n  content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n  content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n  content: \"\\f1be\";\n}\n.fa-database:before {\n  content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n  content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n  content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n  content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n  content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n  content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n  content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n  content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n  content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n  content: \"\\f1c9\";\n}\n.fa-vine:before {\n  content: \"\\f1ca\";\n}\n.fa-codepen:before {\n  content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n  content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n  content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n  content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n  content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n  content: \"\\f1d1\";\n}\n.fa-git-square:before {\n  content: \"\\f1d2\";\n}\n.fa-git:before {\n  content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n  content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n  content: \"\\f1d5\";\n}\n.fa-qq:before {\n  content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n  content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n  content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n  content: \"\\f1d9\";\n}\n.fa-history:before {\n  content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n  content: \"\\f1db\";\n}\n.fa-header:before {\n  content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n  content: \"\\f1dd\";\n}\n.fa-sliders:before {\n  content: \"\\f1de\";\n}\n.fa-share-alt:before {\n  content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n  content: \"\\f1e1\";\n}\n.fa-bomb:before {\n  content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n  content: \"\\f1e3\";\n}\n.fa-tty:before {\n  content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n  content: \"\\f1e5\";\n}\n.fa-plug:before {\n  content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n  content: \"\\f1e7\";\n}\n.fa-twitch:before {\n  content: \"\\f1e8\";\n}\n.fa-yelp:before {\n  content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n  content: \"\\f1ea\";\n}\n.fa-wifi:before {\n  content: \"\\f1eb\";\n}\n.fa-calculator:before {\n  content: \"\\f1ec\";\n}\n.fa-paypal:before {\n  content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n  content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n  content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n  content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n  content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n  content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n  content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n  content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n  content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n  content: \"\\f1f7\";\n}\n.fa-trash:before {\n  content: \"\\f1f8\";\n}\n.fa-copyright:before {\n  content: \"\\f1f9\";\n}\n.fa-at:before {\n  content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n  content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n  content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n  content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n  content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n  content: \"\\f200\";\n}\n.fa-line-chart:before {\n  content: \"\\f201\";\n}\n.fa-lastfm:before {\n  content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n  content: \"\\f203\";\n}\n.fa-toggle-off:before {\n  content: \"\\f204\";\n}\n.fa-toggle-on:before {\n  content: \"\\f205\";\n}\n.fa-bicycle:before {\n  content: \"\\f206\";\n}\n.fa-bus:before {\n  content: \"\\f207\";\n}\n.fa-ioxhost:before {\n  content: \"\\f208\";\n}\n.fa-angellist:before {\n  content: \"\\f209\";\n}\n.fa-cc:before {\n  content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n  content: \"\\f20b\";\n}\n.fa-meanpath:before {\n  content: \"\\f20c\";\n}\n.fa-buysellads:before {\n  content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n  content: \"\\f20e\";\n}\n.fa-dashcube:before {\n  content: \"\\f210\";\n}\n.fa-forumbee:before {\n  content: \"\\f211\";\n}\n.fa-leanpub:before {\n  content: \"\\f212\";\n}\n.fa-sellsy:before {\n  content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n  content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n  content: \"\\f215\";\n}\n.fa-skyatlas:before {\n  content: \"\\f216\";\n}\n.fa-cart-plus:before {\n  content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n  content: \"\\f218\";\n}\n.fa-diamond:before {\n  content: \"\\f219\";\n}\n.fa-ship:before {\n  content: \"\\f21a\";\n}\n.fa-user-secret:before {\n  content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n  content: \"\\f21c\";\n}\n.fa-street-view:before {\n  content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n  content: \"\\f21e\";\n}\n.fa-venus:before {\n  content: \"\\f221\";\n}\n.fa-mars:before {\n  content: \"\\f222\";\n}\n.fa-mercury:before {\n  content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n  content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n  content: \"\\f225\";\n}\n.fa-venus-double:before {\n  content: \"\\f226\";\n}\n.fa-mars-double:before {\n  content: \"\\f227\";\n}\n.fa-venus-mars:before {\n  content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n  content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n  content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n  content: \"\\f22b\";\n}\n.fa-neuter:before {\n  content: \"\\f22c\";\n}\n.fa-genderless:before {\n  content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n  content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n  content: \"\\f231\";\n}\n.fa-whatsapp:before {\n  content: \"\\f232\";\n}\n.fa-server:before {\n  content: \"\\f233\";\n}\n.fa-user-plus:before {\n  content: \"\\f234\";\n}\n.fa-user-times:before {\n  content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n  content: \"\\f236\";\n}\n.fa-viacoin:before {\n  content: \"\\f237\";\n}\n.fa-train:before {\n  content: \"\\f238\";\n}\n.fa-subway:before {\n  content: \"\\f239\";\n}\n.fa-medium:before {\n  content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n  content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n  content: \"\\f23c\";\n}\n.fa-opencart:before {\n  content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n  content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n  content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n  content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n  content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n  content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n  content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n  content: \"\\f245\";\n}\n.fa-i-cursor:before {\n  content: \"\\f246\";\n}\n.fa-object-group:before {\n  content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n  content: \"\\f248\";\n}\n.fa-sticky-note:before {\n  content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n  content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n  content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n  content: \"\\f24c\";\n}\n.fa-clone:before {\n  content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n  content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n  content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n  content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n  content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n  content: \"\\f253\";\n}\n.fa-hourglass:before {\n  content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n  content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n  content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n  content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n  content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n  content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n  content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n  content: \"\\f25b\";\n}\n.fa-trademark:before {\n  content: \"\\f25c\";\n}\n.fa-registered:before {\n  content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n  content: \"\\f25e\";\n}\n.fa-gg:before {\n  content: \"\\f260\";\n}\n.fa-gg-circle:before {\n  content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n  content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n  content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n  content: \"\\f264\";\n}\n.fa-get-pocket:before {\n  content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n  content: \"\\f266\";\n}\n.fa-safari:before {\n  content: \"\\f267\";\n}\n.fa-chrome:before {\n  content: \"\\f268\";\n}\n.fa-firefox:before {\n  content: \"\\f269\";\n}\n.fa-opera:before {\n  content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n  content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n  content: \"\\f26c\";\n}\n.fa-contao:before {\n  content: \"\\f26d\";\n}\n.fa-500px:before {\n  content: \"\\f26e\";\n}\n.fa-amazon:before {\n  content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n  content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n  content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n  content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n  content: \"\\f274\";\n}\n.fa-industry:before {\n  content: \"\\f275\";\n}\n.fa-map-pin:before {\n  content: \"\\f276\";\n}\n.fa-map-signs:before {\n  content: \"\\f277\";\n}\n.fa-map-o:before {\n  content: \"\\f278\";\n}\n.fa-map:before {\n  content: \"\\f279\";\n}\n.fa-commenting:before {\n  content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n  content: \"\\f27b\";\n}\n.fa-houzz:before {\n  content: \"\\f27c\";\n}\n.fa-vimeo:before {\n  content: \"\\f27d\";\n}\n.fa-black-tie:before {\n  content: \"\\f27e\";\n}\n.fa-fonticons:before {\n  content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n  content: \"\\f281\";\n}\n.fa-edge:before {\n  content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n  content: \"\\f283\";\n}\n.fa-codiepie:before {\n  content: \"\\f284\";\n}\n.fa-modx:before {\n  content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n  content: \"\\f286\";\n}\n.fa-usb:before {\n  content: \"\\f287\";\n}\n.fa-product-hunt:before {\n  content: \"\\f288\";\n}\n.fa-mixcloud:before {\n  content: \"\\f289\";\n}\n.fa-scribd:before {\n  content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n  content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n  content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n  content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n  content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n  content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n  content: \"\\f291\";\n}\n.fa-hashtag:before {\n  content: \"\\f292\";\n}\n.fa-bluetooth:before {\n  content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n  content: \"\\f294\";\n}\n.fa-percent:before {\n  content: \"\\f295\";\n}\n.fa-gitlab:before {\n  content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n  content: \"\\f297\";\n}\n.fa-wpforms:before {\n  content: \"\\f298\";\n}\n.fa-envira:before {\n  content: \"\\f299\";\n}\n.fa-universal-access:before {\n  content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n  content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n  content: \"\\f29c\";\n}\n.fa-blind:before {\n  content: \"\\f29d\";\n}\n.fa-audio-description:before {\n  content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n  content: \"\\f2a0\";\n}\n.fa-braille:before {\n  content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n  content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n  content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n  content: \"\\f2a4\";\n}\n.fa-glide:before {\n  content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n  content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n  content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n  content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n  content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n  content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n  content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n  content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n  content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n  content: \"\\f2ae\";\n}\n.fa-first-order:before {\n  content: \"\\f2b0\";\n}\n.fa-yoast:before {\n  content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n  content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n  content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n  content: \"\\f2b4\";\n}\n.fa-handshake-o:before {\n  content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n  content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n  content: \"\\f2b7\";\n}\n.fa-linode:before {\n  content: \"\\f2b8\";\n}\n.fa-address-book:before {\n  content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n  content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n  content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n  content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n  content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n  content: \"\\f2be\";\n}\n.fa-user-o:before {\n  content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n  content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n  content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n  content: \"\\f2c3\";\n}\n.fa-quora:before {\n  content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n  content: \"\\f2c5\";\n}\n.fa-telegram:before {\n  content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n  content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n  content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n  content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n  content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n  content: \"\\f2cb\";\n}\n.fa-shower:before {\n  content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n  content: \"\\f2cd\";\n}\n.fa-podcast:before {\n  content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n  content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n  content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n  content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n  content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n  content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n  content: \"\\f2d5\";\n}\n.fa-grav:before {\n  content: \"\\f2d6\";\n}\n.fa-etsy:before {\n  content: \"\\f2d7\";\n}\n.fa-imdb:before {\n  content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n  content: \"\\f2d9\";\n}\n.fa-eercast:before {\n  content: \"\\f2da\";\n}\n.fa-microchip:before {\n  content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n  content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n  content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n  content: \"\\f2de\";\n}\n.fa-meetup:before {\n  content: \"\\f2e0\";\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/animated.less",
    "content": "// Animated Icons\n// --------------------------\n\n.@{fa-css-prefix}-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n          animation: fa-spin 2s infinite linear;\n}\n\n.@{fa-css-prefix}-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n          animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n            transform: rotate(359deg);\n  }\n}\n\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n            transform: rotate(359deg);\n  }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/bordered-pulled.less",
    "content": "// Bordered & Pulled\n// -------------------------\n\n.@{fa-css-prefix}-border {\n  padding: .2em .25em .15em;\n  border: solid .08em @fa-border-color;\n  border-radius: .1em;\n}\n\n.@{fa-css-prefix}-pull-left { float: left; }\n.@{fa-css-prefix}-pull-right { float: right; }\n\n.@{fa-css-prefix} {\n  &.@{fa-css-prefix}-pull-left { margin-right: .3em; }\n  &.@{fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right { float: right; }\n.pull-left { float: left; }\n\n.@{fa-css-prefix} {\n  &.pull-left { margin-right: .3em; }\n  &.pull-right { margin-left: .3em; }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/core.less",
    "content": "// Base Class Definition\n// -------------------------\n\n.@{fa-css-prefix} {\n  display: inline-block;\n  font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration\n  font-size: inherit; // can't have font-size inherit on line above, so need to override\n  text-rendering: auto; // optimizelegibility throws things off #1094\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/fixed-width.less",
    "content": "// Fixed Width Icons\n// -------------------------\n.@{fa-css-prefix}-fw {\n  width: (18em / 14);\n  text-align: center;\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/font-awesome.less",
    "content": "/*!\n *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n@import \"variables.less\";\n@import \"mixins.less\";\n@import \"path.less\";\n@import \"core.less\";\n@import \"larger.less\";\n@import \"fixed-width.less\";\n@import \"list.less\";\n@import \"bordered-pulled.less\";\n@import \"animated.less\";\n@import \"rotated-flipped.less\";\n@import \"stacked.less\";\n@import \"icons.less\";\n@import \"screen-reader.less\";\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/icons.less",
    "content": "/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n\n.@{fa-css-prefix}-glass:before { content: @fa-var-glass; }\n.@{fa-css-prefix}-music:before { content: @fa-var-music; }\n.@{fa-css-prefix}-search:before { content: @fa-var-search; }\n.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; }\n.@{fa-css-prefix}-heart:before { content: @fa-var-heart; }\n.@{fa-css-prefix}-star:before { content: @fa-var-star; }\n.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; }\n.@{fa-css-prefix}-user:before { content: @fa-var-user; }\n.@{fa-css-prefix}-film:before { content: @fa-var-film; }\n.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; }\n.@{fa-css-prefix}-th:before { content: @fa-var-th; }\n.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; }\n.@{fa-css-prefix}-check:before { content: @fa-var-check; }\n.@{fa-css-prefix}-remove:before,\n.@{fa-css-prefix}-close:before,\n.@{fa-css-prefix}-times:before { content: @fa-var-times; }\n.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; }\n.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; }\n.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; }\n.@{fa-css-prefix}-signal:before { content: @fa-var-signal; }\n.@{fa-css-prefix}-gear:before,\n.@{fa-css-prefix}-cog:before { content: @fa-var-cog; }\n.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; }\n.@{fa-css-prefix}-home:before { content: @fa-var-home; }\n.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; }\n.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; }\n.@{fa-css-prefix}-road:before { content: @fa-var-road; }\n.@{fa-css-prefix}-download:before { content: @fa-var-download; }\n.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; }\n.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; }\n.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; }\n.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; }\n.@{fa-css-prefix}-rotate-right:before,\n.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; }\n.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; }\n.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; }\n.@{fa-css-prefix}-lock:before { content: @fa-var-lock; }\n.@{fa-css-prefix}-flag:before { content: @fa-var-flag; }\n.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; }\n.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; }\n.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; }\n.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; }\n.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; }\n.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; }\n.@{fa-css-prefix}-tag:before { content: @fa-var-tag; }\n.@{fa-css-prefix}-tags:before { content: @fa-var-tags; }\n.@{fa-css-prefix}-book:before { content: @fa-var-book; }\n.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; }\n.@{fa-css-prefix}-print:before { content: @fa-var-print; }\n.@{fa-css-prefix}-camera:before { content: @fa-var-camera; }\n.@{fa-css-prefix}-font:before { content: @fa-var-font; }\n.@{fa-css-prefix}-bold:before { content: @fa-var-bold; }\n.@{fa-css-prefix}-italic:before { content: @fa-var-italic; }\n.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; }\n.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; }\n.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; }\n.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; }\n.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; }\n.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; }\n.@{fa-css-prefix}-list:before { content: @fa-var-list; }\n.@{fa-css-prefix}-dedent:before,\n.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; }\n.@{fa-css-prefix}-indent:before { content: @fa-var-indent; }\n.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; }\n.@{fa-css-prefix}-photo:before,\n.@{fa-css-prefix}-image:before,\n.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; }\n.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; }\n.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; }\n.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; }\n.@{fa-css-prefix}-tint:before { content: @fa-var-tint; }\n.@{fa-css-prefix}-edit:before,\n.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; }\n.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; }\n.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; }\n.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; }\n.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; }\n.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; }\n.@{fa-css-prefix}-backward:before { content: @fa-var-backward; }\n.@{fa-css-prefix}-play:before { content: @fa-var-play; }\n.@{fa-css-prefix}-pause:before { content: @fa-var-pause; }\n.@{fa-css-prefix}-stop:before { content: @fa-var-stop; }\n.@{fa-css-prefix}-forward:before { content: @fa-var-forward; }\n.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; }\n.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; }\n.@{fa-css-prefix}-eject:before { content: @fa-var-eject; }\n.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; }\n.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; }\n.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; }\n.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; }\n.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; }\n.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; }\n.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; }\n.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; }\n.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; }\n.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; }\n.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; }\n.@{fa-css-prefix}-ban:before { content: @fa-var-ban; }\n.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; }\n.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; }\n.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; }\n.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; }\n.@{fa-css-prefix}-mail-forward:before,\n.@{fa-css-prefix}-share:before { content: @fa-var-share; }\n.@{fa-css-prefix}-expand:before { content: @fa-var-expand; }\n.@{fa-css-prefix}-compress:before { content: @fa-var-compress; }\n.@{fa-css-prefix}-plus:before { content: @fa-var-plus; }\n.@{fa-css-prefix}-minus:before { content: @fa-var-minus; }\n.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; }\n.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; }\n.@{fa-css-prefix}-gift:before { content: @fa-var-gift; }\n.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; }\n.@{fa-css-prefix}-fire:before { content: @fa-var-fire; }\n.@{fa-css-prefix}-eye:before { content: @fa-var-eye; }\n.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; }\n.@{fa-css-prefix}-warning:before,\n.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; }\n.@{fa-css-prefix}-plane:before { content: @fa-var-plane; }\n.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; }\n.@{fa-css-prefix}-random:before { content: @fa-var-random; }\n.@{fa-css-prefix}-comment:before { content: @fa-var-comment; }\n.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; }\n.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; }\n.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; }\n.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; }\n.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; }\n.@{fa-css-prefix}-folder:before { content: @fa-var-folder; }\n.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; }\n.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; }\n.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; }\n.@{fa-css-prefix}-bar-chart-o:before,\n.@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; }\n.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; }\n.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; }\n.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; }\n.@{fa-css-prefix}-key:before { content: @fa-var-key; }\n.@{fa-css-prefix}-gears:before,\n.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; }\n.@{fa-css-prefix}-comments:before { content: @fa-var-comments; }\n.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; }\n.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; }\n.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; }\n.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; }\n.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; }\n.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; }\n.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; }\n.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; }\n.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; }\n.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; }\n.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; }\n.@{fa-css-prefix}-upload:before { content: @fa-var-upload; }\n.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; }\n.@{fa-css-prefix}-phone:before { content: @fa-var-phone; }\n.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; }\n.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; }\n.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; }\n.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; }\n.@{fa-css-prefix}-facebook-f:before,\n.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; }\n.@{fa-css-prefix}-github:before { content: @fa-var-github; }\n.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; }\n.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; }\n.@{fa-css-prefix}-feed:before,\n.@{fa-css-prefix}-rss:before { content: @fa-var-rss; }\n.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; }\n.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; }\n.@{fa-css-prefix}-bell:before { content: @fa-var-bell; }\n.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; }\n.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; }\n.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; }\n.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; }\n.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; }\n.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; }\n.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; }\n.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; }\n.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; }\n.@{fa-css-prefix}-globe:before { content: @fa-var-globe; }\n.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; }\n.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; }\n.@{fa-css-prefix}-filter:before { content: @fa-var-filter; }\n.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; }\n.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; }\n.@{fa-css-prefix}-group:before,\n.@{fa-css-prefix}-users:before { content: @fa-var-users; }\n.@{fa-css-prefix}-chain:before,\n.@{fa-css-prefix}-link:before { content: @fa-var-link; }\n.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; }\n.@{fa-css-prefix}-flask:before { content: @fa-var-flask; }\n.@{fa-css-prefix}-cut:before,\n.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; }\n.@{fa-css-prefix}-copy:before,\n.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; }\n.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; }\n.@{fa-css-prefix}-save:before,\n.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; }\n.@{fa-css-prefix}-square:before { content: @fa-var-square; }\n.@{fa-css-prefix}-navicon:before,\n.@{fa-css-prefix}-reorder:before,\n.@{fa-css-prefix}-bars:before { content: @fa-var-bars; }\n.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; }\n.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; }\n.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; }\n.@{fa-css-prefix}-underline:before { content: @fa-var-underline; }\n.@{fa-css-prefix}-table:before { content: @fa-var-table; }\n.@{fa-css-prefix}-magic:before { content: @fa-var-magic; }\n.@{fa-css-prefix}-truck:before { content: @fa-var-truck; }\n.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; }\n.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; }\n.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; }\n.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; }\n.@{fa-css-prefix}-money:before { content: @fa-var-money; }\n.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; }\n.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; }\n.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; }\n.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; }\n.@{fa-css-prefix}-columns:before { content: @fa-var-columns; }\n.@{fa-css-prefix}-unsorted:before,\n.@{fa-css-prefix}-sort:before { content: @fa-var-sort; }\n.@{fa-css-prefix}-sort-down:before,\n.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; }\n.@{fa-css-prefix}-sort-up:before,\n.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; }\n.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; }\n.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; }\n.@{fa-css-prefix}-rotate-left:before,\n.@{fa-css-prefix}-undo:before { content: @fa-var-undo; }\n.@{fa-css-prefix}-legal:before,\n.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; }\n.@{fa-css-prefix}-dashboard:before,\n.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; }\n.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; }\n.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; }\n.@{fa-css-prefix}-flash:before,\n.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; }\n.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; }\n.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; }\n.@{fa-css-prefix}-paste:before,\n.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; }\n.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; }\n.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; }\n.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; }\n.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; }\n.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; }\n.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; }\n.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; }\n.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; }\n.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; }\n.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; }\n.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; }\n.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; }\n.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; }\n.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; }\n.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; }\n.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; }\n.@{fa-css-prefix}-beer:before { content: @fa-var-beer; }\n.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; }\n.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; }\n.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; }\n.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; }\n.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; }\n.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; }\n.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; }\n.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; }\n.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; }\n.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; }\n.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; }\n.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; }\n.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; }\n.@{fa-css-prefix}-mobile-phone:before,\n.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; }\n.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; }\n.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; }\n.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; }\n.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; }\n.@{fa-css-prefix}-circle:before { content: @fa-var-circle; }\n.@{fa-css-prefix}-mail-reply:before,\n.@{fa-css-prefix}-reply:before { content: @fa-var-reply; }\n.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; }\n.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; }\n.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; }\n.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; }\n.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; }\n.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; }\n.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; }\n.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; }\n.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; }\n.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; }\n.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; }\n.@{fa-css-prefix}-code:before { content: @fa-var-code; }\n.@{fa-css-prefix}-mail-reply-all:before,\n.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; }\n.@{fa-css-prefix}-star-half-empty:before,\n.@{fa-css-prefix}-star-half-full:before,\n.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; }\n.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; }\n.@{fa-css-prefix}-crop:before { content: @fa-var-crop; }\n.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; }\n.@{fa-css-prefix}-unlink:before,\n.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; }\n.@{fa-css-prefix}-question:before { content: @fa-var-question; }\n.@{fa-css-prefix}-info:before { content: @fa-var-info; }\n.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; }\n.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; }\n.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; }\n.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; }\n.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; }\n.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; }\n.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; }\n.@{fa-css-prefix}-shield:before { content: @fa-var-shield; }\n.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; }\n.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; }\n.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; }\n.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; }\n.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; }\n.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; }\n.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; }\n.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; }\n.@{fa-css-prefix}-html5:before { content: @fa-var-html5; }\n.@{fa-css-prefix}-css3:before { content: @fa-var-css3; }\n.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; }\n.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; }\n.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; }\n.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; }\n.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; }\n.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; }\n.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; }\n.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; }\n.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; }\n.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; }\n.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; }\n.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; }\n.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; }\n.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; }\n.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; }\n.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; }\n.@{fa-css-prefix}-compass:before { content: @fa-var-compass; }\n.@{fa-css-prefix}-toggle-down:before,\n.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; }\n.@{fa-css-prefix}-toggle-up:before,\n.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; }\n.@{fa-css-prefix}-toggle-right:before,\n.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; }\n.@{fa-css-prefix}-euro:before,\n.@{fa-css-prefix}-eur:before { content: @fa-var-eur; }\n.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; }\n.@{fa-css-prefix}-dollar:before,\n.@{fa-css-prefix}-usd:before { content: @fa-var-usd; }\n.@{fa-css-prefix}-rupee:before,\n.@{fa-css-prefix}-inr:before { content: @fa-var-inr; }\n.@{fa-css-prefix}-cny:before,\n.@{fa-css-prefix}-rmb:before,\n.@{fa-css-prefix}-yen:before,\n.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; }\n.@{fa-css-prefix}-ruble:before,\n.@{fa-css-prefix}-rouble:before,\n.@{fa-css-prefix}-rub:before { content: @fa-var-rub; }\n.@{fa-css-prefix}-won:before,\n.@{fa-css-prefix}-krw:before { content: @fa-var-krw; }\n.@{fa-css-prefix}-bitcoin:before,\n.@{fa-css-prefix}-btc:before { content: @fa-var-btc; }\n.@{fa-css-prefix}-file:before { content: @fa-var-file; }\n.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; }\n.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; }\n.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; }\n.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; }\n.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; }\n.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; }\n.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; }\n.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; }\n.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; }\n.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; }\n.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; }\n.@{fa-css-prefix}-xing:before { content: @fa-var-xing; }\n.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; }\n.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; }\n.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; }\n.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; }\n.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; }\n.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; }\n.@{fa-css-prefix}-adn:before { content: @fa-var-adn; }\n.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; }\n.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; }\n.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; }\n.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; }\n.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; }\n.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; }\n.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; }\n.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; }\n.@{fa-css-prefix}-apple:before { content: @fa-var-apple; }\n.@{fa-css-prefix}-windows:before { content: @fa-var-windows; }\n.@{fa-css-prefix}-android:before { content: @fa-var-android; }\n.@{fa-css-prefix}-linux:before { content: @fa-var-linux; }\n.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; }\n.@{fa-css-prefix}-skype:before { content: @fa-var-skype; }\n.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; }\n.@{fa-css-prefix}-trello:before { content: @fa-var-trello; }\n.@{fa-css-prefix}-female:before { content: @fa-var-female; }\n.@{fa-css-prefix}-male:before { content: @fa-var-male; }\n.@{fa-css-prefix}-gittip:before,\n.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; }\n.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; }\n.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; }\n.@{fa-css-prefix}-archive:before { content: @fa-var-archive; }\n.@{fa-css-prefix}-bug:before { content: @fa-var-bug; }\n.@{fa-css-prefix}-vk:before { content: @fa-var-vk; }\n.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; }\n.@{fa-css-prefix}-renren:before { content: @fa-var-renren; }\n.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; }\n.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; }\n.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; }\n.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; }\n.@{fa-css-prefix}-toggle-left:before,\n.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; }\n.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; }\n.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; }\n.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; }\n.@{fa-css-prefix}-turkish-lira:before,\n.@{fa-css-prefix}-try:before { content: @fa-var-try; }\n.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; }\n.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; }\n.@{fa-css-prefix}-slack:before { content: @fa-var-slack; }\n.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; }\n.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; }\n.@{fa-css-prefix}-openid:before { content: @fa-var-openid; }\n.@{fa-css-prefix}-institution:before,\n.@{fa-css-prefix}-bank:before,\n.@{fa-css-prefix}-university:before { content: @fa-var-university; }\n.@{fa-css-prefix}-mortar-board:before,\n.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; }\n.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; }\n.@{fa-css-prefix}-google:before { content: @fa-var-google; }\n.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; }\n.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; }\n.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; }\n.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; }\n.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; }\n.@{fa-css-prefix}-digg:before { content: @fa-var-digg; }\n.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; }\n.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; }\n.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; }\n.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; }\n.@{fa-css-prefix}-language:before { content: @fa-var-language; }\n.@{fa-css-prefix}-fax:before { content: @fa-var-fax; }\n.@{fa-css-prefix}-building:before { content: @fa-var-building; }\n.@{fa-css-prefix}-child:before { content: @fa-var-child; }\n.@{fa-css-prefix}-paw:before { content: @fa-var-paw; }\n.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; }\n.@{fa-css-prefix}-cube:before { content: @fa-var-cube; }\n.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; }\n.@{fa-css-prefix}-behance:before { content: @fa-var-behance; }\n.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; }\n.@{fa-css-prefix}-steam:before { content: @fa-var-steam; }\n.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; }\n.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; }\n.@{fa-css-prefix}-automobile:before,\n.@{fa-css-prefix}-car:before { content: @fa-var-car; }\n.@{fa-css-prefix}-cab:before,\n.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; }\n.@{fa-css-prefix}-tree:before { content: @fa-var-tree; }\n.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; }\n.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; }\n.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; }\n.@{fa-css-prefix}-database:before { content: @fa-var-database; }\n.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; }\n.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; }\n.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; }\n.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; }\n.@{fa-css-prefix}-file-photo-o:before,\n.@{fa-css-prefix}-file-picture-o:before,\n.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; }\n.@{fa-css-prefix}-file-zip-o:before,\n.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; }\n.@{fa-css-prefix}-file-sound-o:before,\n.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; }\n.@{fa-css-prefix}-file-movie-o:before,\n.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; }\n.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; }\n.@{fa-css-prefix}-vine:before { content: @fa-var-vine; }\n.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; }\n.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; }\n.@{fa-css-prefix}-life-bouy:before,\n.@{fa-css-prefix}-life-buoy:before,\n.@{fa-css-prefix}-life-saver:before,\n.@{fa-css-prefix}-support:before,\n.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; }\n.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; }\n.@{fa-css-prefix}-ra:before,\n.@{fa-css-prefix}-resistance:before,\n.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; }\n.@{fa-css-prefix}-ge:before,\n.@{fa-css-prefix}-empire:before { content: @fa-var-empire; }\n.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; }\n.@{fa-css-prefix}-git:before { content: @fa-var-git; }\n.@{fa-css-prefix}-y-combinator-square:before,\n.@{fa-css-prefix}-yc-square:before,\n.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; }\n.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; }\n.@{fa-css-prefix}-qq:before { content: @fa-var-qq; }\n.@{fa-css-prefix}-wechat:before,\n.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; }\n.@{fa-css-prefix}-send:before,\n.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; }\n.@{fa-css-prefix}-send-o:before,\n.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; }\n.@{fa-css-prefix}-history:before { content: @fa-var-history; }\n.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; }\n.@{fa-css-prefix}-header:before { content: @fa-var-header; }\n.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; }\n.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; }\n.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; }\n.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; }\n.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; }\n.@{fa-css-prefix}-soccer-ball-o:before,\n.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; }\n.@{fa-css-prefix}-tty:before { content: @fa-var-tty; }\n.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; }\n.@{fa-css-prefix}-plug:before { content: @fa-var-plug; }\n.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; }\n.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; }\n.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; }\n.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; }\n.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; }\n.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; }\n.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; }\n.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; }\n.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; }\n.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; }\n.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; }\n.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; }\n.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; }\n.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; }\n.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; }\n.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; }\n.@{fa-css-prefix}-trash:before { content: @fa-var-trash; }\n.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; }\n.@{fa-css-prefix}-at:before { content: @fa-var-at; }\n.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; }\n.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; }\n.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; }\n.@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; }\n.@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; }\n.@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; }\n.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; }\n.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; }\n.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; }\n.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; }\n.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; }\n.@{fa-css-prefix}-bus:before { content: @fa-var-bus; }\n.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; }\n.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; }\n.@{fa-css-prefix}-cc:before { content: @fa-var-cc; }\n.@{fa-css-prefix}-shekel:before,\n.@{fa-css-prefix}-sheqel:before,\n.@{fa-css-prefix}-ils:before { content: @fa-var-ils; }\n.@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; }\n.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; }\n.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; }\n.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; }\n.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; }\n.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; }\n.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; }\n.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; }\n.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; }\n.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; }\n.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; }\n.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; }\n.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; }\n.@{fa-css-prefix}-ship:before { content: @fa-var-ship; }\n.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; }\n.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; }\n.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; }\n.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; }\n.@{fa-css-prefix}-venus:before { content: @fa-var-venus; }\n.@{fa-css-prefix}-mars:before { content: @fa-var-mars; }\n.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; }\n.@{fa-css-prefix}-intersex:before,\n.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; }\n.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; }\n.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; }\n.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; }\n.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; }\n.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; }\n.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; }\n.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; }\n.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; }\n.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; }\n.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; }\n.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; }\n.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; }\n.@{fa-css-prefix}-server:before { content: @fa-var-server; }\n.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; }\n.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; }\n.@{fa-css-prefix}-hotel:before,\n.@{fa-css-prefix}-bed:before { content: @fa-var-bed; }\n.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; }\n.@{fa-css-prefix}-train:before { content: @fa-var-train; }\n.@{fa-css-prefix}-subway:before { content: @fa-var-subway; }\n.@{fa-css-prefix}-medium:before { content: @fa-var-medium; }\n.@{fa-css-prefix}-yc:before,\n.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; }\n.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; }\n.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; }\n.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; }\n.@{fa-css-prefix}-battery-4:before,\n.@{fa-css-prefix}-battery:before,\n.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; }\n.@{fa-css-prefix}-battery-3:before,\n.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; }\n.@{fa-css-prefix}-battery-2:before,\n.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; }\n.@{fa-css-prefix}-battery-1:before,\n.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; }\n.@{fa-css-prefix}-battery-0:before,\n.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; }\n.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; }\n.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; }\n.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; }\n.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; }\n.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; }\n.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; }\n.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; }\n.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; }\n.@{fa-css-prefix}-clone:before { content: @fa-var-clone; }\n.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; }\n.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; }\n.@{fa-css-prefix}-hourglass-1:before,\n.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; }\n.@{fa-css-prefix}-hourglass-2:before,\n.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; }\n.@{fa-css-prefix}-hourglass-3:before,\n.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; }\n.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; }\n.@{fa-css-prefix}-hand-grab-o:before,\n.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; }\n.@{fa-css-prefix}-hand-stop-o:before,\n.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; }\n.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; }\n.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; }\n.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; }\n.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; }\n.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; }\n.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; }\n.@{fa-css-prefix}-registered:before { content: @fa-var-registered; }\n.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; }\n.@{fa-css-prefix}-gg:before { content: @fa-var-gg; }\n.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; }\n.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; }\n.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; }\n.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; }\n.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; }\n.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; }\n.@{fa-css-prefix}-safari:before { content: @fa-var-safari; }\n.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; }\n.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; }\n.@{fa-css-prefix}-opera:before { content: @fa-var-opera; }\n.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; }\n.@{fa-css-prefix}-tv:before,\n.@{fa-css-prefix}-television:before { content: @fa-var-television; }\n.@{fa-css-prefix}-contao:before { content: @fa-var-contao; }\n.@{fa-css-prefix}-500px:before { content: @fa-var-500px; }\n.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; }\n.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; }\n.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; }\n.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; }\n.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; }\n.@{fa-css-prefix}-industry:before { content: @fa-var-industry; }\n.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; }\n.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; }\n.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; }\n.@{fa-css-prefix}-map:before { content: @fa-var-map; }\n.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; }\n.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; }\n.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; }\n.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; }\n.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; }\n.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; }\n.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; }\n.@{fa-css-prefix}-edge:before { content: @fa-var-edge; }\n.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; }\n.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; }\n.@{fa-css-prefix}-modx:before { content: @fa-var-modx; }\n.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; }\n.@{fa-css-prefix}-usb:before { content: @fa-var-usb; }\n.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; }\n.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; }\n.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; }\n.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; }\n.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; }\n.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; }\n.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; }\n.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; }\n.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; }\n.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; }\n.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; }\n.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; }\n.@{fa-css-prefix}-percent:before { content: @fa-var-percent; }\n.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; }\n.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; }\n.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; }\n.@{fa-css-prefix}-envira:before { content: @fa-var-envira; }\n.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; }\n.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; }\n.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; }\n.@{fa-css-prefix}-blind:before { content: @fa-var-blind; }\n.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; }\n.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; }\n.@{fa-css-prefix}-braille:before { content: @fa-var-braille; }\n.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; }\n.@{fa-css-prefix}-asl-interpreting:before,\n.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; }\n.@{fa-css-prefix}-deafness:before,\n.@{fa-css-prefix}-hard-of-hearing:before,\n.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; }\n.@{fa-css-prefix}-glide:before { content: @fa-var-glide; }\n.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; }\n.@{fa-css-prefix}-signing:before,\n.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; }\n.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; }\n.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; }\n.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; }\n.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; }\n.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; }\n.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; }\n.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; }\n.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; }\n.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; }\n.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; }\n.@{fa-css-prefix}-google-plus-circle:before,\n.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; }\n.@{fa-css-prefix}-fa:before,\n.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; }\n.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; }\n.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; }\n.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; }\n.@{fa-css-prefix}-linode:before { content: @fa-var-linode; }\n.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; }\n.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; }\n.@{fa-css-prefix}-vcard:before,\n.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; }\n.@{fa-css-prefix}-vcard-o:before,\n.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; }\n.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; }\n.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; }\n.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; }\n.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; }\n.@{fa-css-prefix}-drivers-license:before,\n.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; }\n.@{fa-css-prefix}-drivers-license-o:before,\n.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; }\n.@{fa-css-prefix}-quora:before { content: @fa-var-quora; }\n.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; }\n.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; }\n.@{fa-css-prefix}-thermometer-4:before,\n.@{fa-css-prefix}-thermometer:before,\n.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; }\n.@{fa-css-prefix}-thermometer-3:before,\n.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; }\n.@{fa-css-prefix}-thermometer-2:before,\n.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; }\n.@{fa-css-prefix}-thermometer-1:before,\n.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; }\n.@{fa-css-prefix}-thermometer-0:before,\n.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; }\n.@{fa-css-prefix}-shower:before { content: @fa-var-shower; }\n.@{fa-css-prefix}-bathtub:before,\n.@{fa-css-prefix}-s15:before,\n.@{fa-css-prefix}-bath:before { content: @fa-var-bath; }\n.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; }\n.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; }\n.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; }\n.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; }\n.@{fa-css-prefix}-times-rectangle:before,\n.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; }\n.@{fa-css-prefix}-times-rectangle-o:before,\n.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; }\n.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; }\n.@{fa-css-prefix}-grav:before { content: @fa-var-grav; }\n.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; }\n.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; }\n.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; }\n.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; }\n.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; }\n.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; }\n.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; }\n.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; }\n.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/larger.less",
    "content": "// Icon Sizes\n// -------------------------\n\n/* makes the font 33% larger relative to the icon container */\n.@{fa-css-prefix}-lg {\n  font-size: (4em / 3);\n  line-height: (3em / 4);\n  vertical-align: -15%;\n}\n.@{fa-css-prefix}-2x { font-size: 2em; }\n.@{fa-css-prefix}-3x { font-size: 3em; }\n.@{fa-css-prefix}-4x { font-size: 4em; }\n.@{fa-css-prefix}-5x { font-size: 5em; }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/list.less",
    "content": "// List Icons\n// -------------------------\n\n.@{fa-css-prefix}-ul {\n  padding-left: 0;\n  margin-left: @fa-li-width;\n  list-style-type: none;\n  > li { position: relative; }\n}\n.@{fa-css-prefix}-li {\n  position: absolute;\n  left: -@fa-li-width;\n  width: @fa-li-width;\n  top: (2em / 14);\n  text-align: center;\n  &.@{fa-css-prefix}-lg {\n    left: (-@fa-li-width + (4em / 14));\n  }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/mixins.less",
    "content": "// Mixins\n// --------------------------\n\n.fa-icon() {\n  display: inline-block;\n  font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration\n  font-size: inherit; // can't have font-size inherit on line above, so need to override\n  text-rendering: auto; // optimizelegibility throws things off #1094\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n}\n\n.fa-icon-rotate(@degrees, @rotation) {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})\";\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n\n.fa-icon-flip(@horiz, @vert, @rotation) {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)\";\n  -webkit-transform: scale(@horiz, @vert);\n      -ms-transform: scale(@horiz, @vert);\n          transform: scale(@horiz, @vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n.sr-only() {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable() {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/path.less",
    "content": "/* FONT PATH\n * -------------------------- */\n\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');\n  src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),\n    url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),\n    url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),\n    url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),\n    url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');\n  // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts\n  font-weight: normal;\n  font-style: normal;\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/rotated-flipped.less",
    "content": "// Rotated & Flipped Icons\n// -------------------------\n\n.@{fa-css-prefix}-rotate-90  { .fa-icon-rotate(90deg, 1);  }\n.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }\n.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }\n\n.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }\n.@{fa-css-prefix}-flip-vertical   { .fa-icon-flip(1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root .@{fa-css-prefix}-rotate-90,\n:root .@{fa-css-prefix}-rotate-180,\n:root .@{fa-css-prefix}-rotate-270,\n:root .@{fa-css-prefix}-flip-horizontal,\n:root .@{fa-css-prefix}-flip-vertical {\n  filter: none;\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/screen-reader.less",
    "content": "// Screen Readers\n// -------------------------\n\n.sr-only { .sr-only(); }\n.sr-only-focusable { .sr-only-focusable(); }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/stacked.less",
    "content": "// Stacked Icons\n// -------------------------\n\n.@{fa-css-prefix}-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.@{fa-css-prefix}-stack-1x { line-height: inherit; }\n.@{fa-css-prefix}-stack-2x { font-size: 2em; }\n.@{fa-css-prefix}-inverse { color: @fa-inverse; }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/less/variables.less",
    "content": "// Variables\n// --------------------------\n\n@fa-font-path:        \"../fonts\";\n@fa-font-size-base:   14px;\n@fa-line-height-base: 1;\n//@fa-font-path:        \"//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts\"; // for referencing Bootstrap CDN font files directly\n@fa-css-prefix:       fa;\n@fa-version:          \"4.7.0\";\n@fa-border-color:     #eee;\n@fa-inverse:          #fff;\n@fa-li-width:         (30em / 14);\n\n@fa-var-500px: \"\\f26e\";\n@fa-var-address-book: \"\\f2b9\";\n@fa-var-address-book-o: \"\\f2ba\";\n@fa-var-address-card: \"\\f2bb\";\n@fa-var-address-card-o: \"\\f2bc\";\n@fa-var-adjust: \"\\f042\";\n@fa-var-adn: \"\\f170\";\n@fa-var-align-center: \"\\f037\";\n@fa-var-align-justify: \"\\f039\";\n@fa-var-align-left: \"\\f036\";\n@fa-var-align-right: \"\\f038\";\n@fa-var-amazon: \"\\f270\";\n@fa-var-ambulance: \"\\f0f9\";\n@fa-var-american-sign-language-interpreting: \"\\f2a3\";\n@fa-var-anchor: \"\\f13d\";\n@fa-var-android: \"\\f17b\";\n@fa-var-angellist: \"\\f209\";\n@fa-var-angle-double-down: \"\\f103\";\n@fa-var-angle-double-left: \"\\f100\";\n@fa-var-angle-double-right: \"\\f101\";\n@fa-var-angle-double-up: \"\\f102\";\n@fa-var-angle-down: \"\\f107\";\n@fa-var-angle-left: \"\\f104\";\n@fa-var-angle-right: \"\\f105\";\n@fa-var-angle-up: \"\\f106\";\n@fa-var-apple: \"\\f179\";\n@fa-var-archive: \"\\f187\";\n@fa-var-area-chart: \"\\f1fe\";\n@fa-var-arrow-circle-down: \"\\f0ab\";\n@fa-var-arrow-circle-left: \"\\f0a8\";\n@fa-var-arrow-circle-o-down: \"\\f01a\";\n@fa-var-arrow-circle-o-left: \"\\f190\";\n@fa-var-arrow-circle-o-right: \"\\f18e\";\n@fa-var-arrow-circle-o-up: \"\\f01b\";\n@fa-var-arrow-circle-right: \"\\f0a9\";\n@fa-var-arrow-circle-up: \"\\f0aa\";\n@fa-var-arrow-down: \"\\f063\";\n@fa-var-arrow-left: \"\\f060\";\n@fa-var-arrow-right: \"\\f061\";\n@fa-var-arrow-up: \"\\f062\";\n@fa-var-arrows: \"\\f047\";\n@fa-var-arrows-alt: \"\\f0b2\";\n@fa-var-arrows-h: \"\\f07e\";\n@fa-var-arrows-v: \"\\f07d\";\n@fa-var-asl-interpreting: \"\\f2a3\";\n@fa-var-assistive-listening-systems: \"\\f2a2\";\n@fa-var-asterisk: \"\\f069\";\n@fa-var-at: \"\\f1fa\";\n@fa-var-audio-description: \"\\f29e\";\n@fa-var-automobile: \"\\f1b9\";\n@fa-var-backward: \"\\f04a\";\n@fa-var-balance-scale: \"\\f24e\";\n@fa-var-ban: \"\\f05e\";\n@fa-var-bandcamp: \"\\f2d5\";\n@fa-var-bank: \"\\f19c\";\n@fa-var-bar-chart: \"\\f080\";\n@fa-var-bar-chart-o: \"\\f080\";\n@fa-var-barcode: \"\\f02a\";\n@fa-var-bars: \"\\f0c9\";\n@fa-var-bath: \"\\f2cd\";\n@fa-var-bathtub: \"\\f2cd\";\n@fa-var-battery: \"\\f240\";\n@fa-var-battery-0: \"\\f244\";\n@fa-var-battery-1: \"\\f243\";\n@fa-var-battery-2: \"\\f242\";\n@fa-var-battery-3: \"\\f241\";\n@fa-var-battery-4: \"\\f240\";\n@fa-var-battery-empty: \"\\f244\";\n@fa-var-battery-full: \"\\f240\";\n@fa-var-battery-half: \"\\f242\";\n@fa-var-battery-quarter: \"\\f243\";\n@fa-var-battery-three-quarters: \"\\f241\";\n@fa-var-bed: \"\\f236\";\n@fa-var-beer: \"\\f0fc\";\n@fa-var-behance: \"\\f1b4\";\n@fa-var-behance-square: \"\\f1b5\";\n@fa-var-bell: \"\\f0f3\";\n@fa-var-bell-o: \"\\f0a2\";\n@fa-var-bell-slash: \"\\f1f6\";\n@fa-var-bell-slash-o: \"\\f1f7\";\n@fa-var-bicycle: \"\\f206\";\n@fa-var-binoculars: \"\\f1e5\";\n@fa-var-birthday-cake: \"\\f1fd\";\n@fa-var-bitbucket: \"\\f171\";\n@fa-var-bitbucket-square: \"\\f172\";\n@fa-var-bitcoin: \"\\f15a\";\n@fa-var-black-tie: \"\\f27e\";\n@fa-var-blind: \"\\f29d\";\n@fa-var-bluetooth: \"\\f293\";\n@fa-var-bluetooth-b: \"\\f294\";\n@fa-var-bold: \"\\f032\";\n@fa-var-bolt: \"\\f0e7\";\n@fa-var-bomb: \"\\f1e2\";\n@fa-var-book: \"\\f02d\";\n@fa-var-bookmark: \"\\f02e\";\n@fa-var-bookmark-o: \"\\f097\";\n@fa-var-braille: \"\\f2a1\";\n@fa-var-briefcase: \"\\f0b1\";\n@fa-var-btc: \"\\f15a\";\n@fa-var-bug: \"\\f188\";\n@fa-var-building: \"\\f1ad\";\n@fa-var-building-o: \"\\f0f7\";\n@fa-var-bullhorn: \"\\f0a1\";\n@fa-var-bullseye: \"\\f140\";\n@fa-var-bus: \"\\f207\";\n@fa-var-buysellads: \"\\f20d\";\n@fa-var-cab: \"\\f1ba\";\n@fa-var-calculator: \"\\f1ec\";\n@fa-var-calendar: \"\\f073\";\n@fa-var-calendar-check-o: \"\\f274\";\n@fa-var-calendar-minus-o: \"\\f272\";\n@fa-var-calendar-o: \"\\f133\";\n@fa-var-calendar-plus-o: \"\\f271\";\n@fa-var-calendar-times-o: \"\\f273\";\n@fa-var-camera: \"\\f030\";\n@fa-var-camera-retro: \"\\f083\";\n@fa-var-car: \"\\f1b9\";\n@fa-var-caret-down: \"\\f0d7\";\n@fa-var-caret-left: \"\\f0d9\";\n@fa-var-caret-right: \"\\f0da\";\n@fa-var-caret-square-o-down: \"\\f150\";\n@fa-var-caret-square-o-left: \"\\f191\";\n@fa-var-caret-square-o-right: \"\\f152\";\n@fa-var-caret-square-o-up: \"\\f151\";\n@fa-var-caret-up: \"\\f0d8\";\n@fa-var-cart-arrow-down: \"\\f218\";\n@fa-var-cart-plus: \"\\f217\";\n@fa-var-cc: \"\\f20a\";\n@fa-var-cc-amex: \"\\f1f3\";\n@fa-var-cc-diners-club: \"\\f24c\";\n@fa-var-cc-discover: \"\\f1f2\";\n@fa-var-cc-jcb: \"\\f24b\";\n@fa-var-cc-mastercard: \"\\f1f1\";\n@fa-var-cc-paypal: \"\\f1f4\";\n@fa-var-cc-stripe: \"\\f1f5\";\n@fa-var-cc-visa: \"\\f1f0\";\n@fa-var-certificate: \"\\f0a3\";\n@fa-var-chain: \"\\f0c1\";\n@fa-var-chain-broken: \"\\f127\";\n@fa-var-check: \"\\f00c\";\n@fa-var-check-circle: \"\\f058\";\n@fa-var-check-circle-o: \"\\f05d\";\n@fa-var-check-square: \"\\f14a\";\n@fa-var-check-square-o: \"\\f046\";\n@fa-var-chevron-circle-down: \"\\f13a\";\n@fa-var-chevron-circle-left: \"\\f137\";\n@fa-var-chevron-circle-right: \"\\f138\";\n@fa-var-chevron-circle-up: \"\\f139\";\n@fa-var-chevron-down: \"\\f078\";\n@fa-var-chevron-left: \"\\f053\";\n@fa-var-chevron-right: \"\\f054\";\n@fa-var-chevron-up: \"\\f077\";\n@fa-var-child: \"\\f1ae\";\n@fa-var-chrome: \"\\f268\";\n@fa-var-circle: \"\\f111\";\n@fa-var-circle-o: \"\\f10c\";\n@fa-var-circle-o-notch: \"\\f1ce\";\n@fa-var-circle-thin: \"\\f1db\";\n@fa-var-clipboard: \"\\f0ea\";\n@fa-var-clock-o: \"\\f017\";\n@fa-var-clone: \"\\f24d\";\n@fa-var-close: \"\\f00d\";\n@fa-var-cloud: \"\\f0c2\";\n@fa-var-cloud-download: \"\\f0ed\";\n@fa-var-cloud-upload: \"\\f0ee\";\n@fa-var-cny: \"\\f157\";\n@fa-var-code: \"\\f121\";\n@fa-var-code-fork: \"\\f126\";\n@fa-var-codepen: \"\\f1cb\";\n@fa-var-codiepie: \"\\f284\";\n@fa-var-coffee: \"\\f0f4\";\n@fa-var-cog: \"\\f013\";\n@fa-var-cogs: \"\\f085\";\n@fa-var-columns: \"\\f0db\";\n@fa-var-comment: \"\\f075\";\n@fa-var-comment-o: \"\\f0e5\";\n@fa-var-commenting: \"\\f27a\";\n@fa-var-commenting-o: \"\\f27b\";\n@fa-var-comments: \"\\f086\";\n@fa-var-comments-o: \"\\f0e6\";\n@fa-var-compass: \"\\f14e\";\n@fa-var-compress: \"\\f066\";\n@fa-var-connectdevelop: \"\\f20e\";\n@fa-var-contao: \"\\f26d\";\n@fa-var-copy: \"\\f0c5\";\n@fa-var-copyright: \"\\f1f9\";\n@fa-var-creative-commons: \"\\f25e\";\n@fa-var-credit-card: \"\\f09d\";\n@fa-var-credit-card-alt: \"\\f283\";\n@fa-var-crop: \"\\f125\";\n@fa-var-crosshairs: \"\\f05b\";\n@fa-var-css3: \"\\f13c\";\n@fa-var-cube: \"\\f1b2\";\n@fa-var-cubes: \"\\f1b3\";\n@fa-var-cut: \"\\f0c4\";\n@fa-var-cutlery: \"\\f0f5\";\n@fa-var-dashboard: \"\\f0e4\";\n@fa-var-dashcube: \"\\f210\";\n@fa-var-database: \"\\f1c0\";\n@fa-var-deaf: \"\\f2a4\";\n@fa-var-deafness: \"\\f2a4\";\n@fa-var-dedent: \"\\f03b\";\n@fa-var-delicious: \"\\f1a5\";\n@fa-var-desktop: \"\\f108\";\n@fa-var-deviantart: \"\\f1bd\";\n@fa-var-diamond: \"\\f219\";\n@fa-var-digg: \"\\f1a6\";\n@fa-var-dollar: \"\\f155\";\n@fa-var-dot-circle-o: \"\\f192\";\n@fa-var-download: \"\\f019\";\n@fa-var-dribbble: \"\\f17d\";\n@fa-var-drivers-license: \"\\f2c2\";\n@fa-var-drivers-license-o: \"\\f2c3\";\n@fa-var-dropbox: \"\\f16b\";\n@fa-var-drupal: \"\\f1a9\";\n@fa-var-edge: \"\\f282\";\n@fa-var-edit: \"\\f044\";\n@fa-var-eercast: \"\\f2da\";\n@fa-var-eject: \"\\f052\";\n@fa-var-ellipsis-h: \"\\f141\";\n@fa-var-ellipsis-v: \"\\f142\";\n@fa-var-empire: \"\\f1d1\";\n@fa-var-envelope: \"\\f0e0\";\n@fa-var-envelope-o: \"\\f003\";\n@fa-var-envelope-open: \"\\f2b6\";\n@fa-var-envelope-open-o: \"\\f2b7\";\n@fa-var-envelope-square: \"\\f199\";\n@fa-var-envira: \"\\f299\";\n@fa-var-eraser: \"\\f12d\";\n@fa-var-etsy: \"\\f2d7\";\n@fa-var-eur: \"\\f153\";\n@fa-var-euro: \"\\f153\";\n@fa-var-exchange: \"\\f0ec\";\n@fa-var-exclamation: \"\\f12a\";\n@fa-var-exclamation-circle: \"\\f06a\";\n@fa-var-exclamation-triangle: \"\\f071\";\n@fa-var-expand: \"\\f065\";\n@fa-var-expeditedssl: \"\\f23e\";\n@fa-var-external-link: \"\\f08e\";\n@fa-var-external-link-square: \"\\f14c\";\n@fa-var-eye: \"\\f06e\";\n@fa-var-eye-slash: \"\\f070\";\n@fa-var-eyedropper: \"\\f1fb\";\n@fa-var-fa: \"\\f2b4\";\n@fa-var-facebook: \"\\f09a\";\n@fa-var-facebook-f: \"\\f09a\";\n@fa-var-facebook-official: \"\\f230\";\n@fa-var-facebook-square: \"\\f082\";\n@fa-var-fast-backward: \"\\f049\";\n@fa-var-fast-forward: \"\\f050\";\n@fa-var-fax: \"\\f1ac\";\n@fa-var-feed: \"\\f09e\";\n@fa-var-female: \"\\f182\";\n@fa-var-fighter-jet: \"\\f0fb\";\n@fa-var-file: \"\\f15b\";\n@fa-var-file-archive-o: \"\\f1c6\";\n@fa-var-file-audio-o: \"\\f1c7\";\n@fa-var-file-code-o: \"\\f1c9\";\n@fa-var-file-excel-o: \"\\f1c3\";\n@fa-var-file-image-o: \"\\f1c5\";\n@fa-var-file-movie-o: \"\\f1c8\";\n@fa-var-file-o: \"\\f016\";\n@fa-var-file-pdf-o: \"\\f1c1\";\n@fa-var-file-photo-o: \"\\f1c5\";\n@fa-var-file-picture-o: \"\\f1c5\";\n@fa-var-file-powerpoint-o: \"\\f1c4\";\n@fa-var-file-sound-o: \"\\f1c7\";\n@fa-var-file-text: \"\\f15c\";\n@fa-var-file-text-o: \"\\f0f6\";\n@fa-var-file-video-o: \"\\f1c8\";\n@fa-var-file-word-o: \"\\f1c2\";\n@fa-var-file-zip-o: \"\\f1c6\";\n@fa-var-files-o: \"\\f0c5\";\n@fa-var-film: \"\\f008\";\n@fa-var-filter: \"\\f0b0\";\n@fa-var-fire: \"\\f06d\";\n@fa-var-fire-extinguisher: \"\\f134\";\n@fa-var-firefox: \"\\f269\";\n@fa-var-first-order: \"\\f2b0\";\n@fa-var-flag: \"\\f024\";\n@fa-var-flag-checkered: \"\\f11e\";\n@fa-var-flag-o: \"\\f11d\";\n@fa-var-flash: \"\\f0e7\";\n@fa-var-flask: \"\\f0c3\";\n@fa-var-flickr: \"\\f16e\";\n@fa-var-floppy-o: \"\\f0c7\";\n@fa-var-folder: \"\\f07b\";\n@fa-var-folder-o: \"\\f114\";\n@fa-var-folder-open: \"\\f07c\";\n@fa-var-folder-open-o: \"\\f115\";\n@fa-var-font: \"\\f031\";\n@fa-var-font-awesome: \"\\f2b4\";\n@fa-var-fonticons: \"\\f280\";\n@fa-var-fort-awesome: \"\\f286\";\n@fa-var-forumbee: \"\\f211\";\n@fa-var-forward: \"\\f04e\";\n@fa-var-foursquare: \"\\f180\";\n@fa-var-free-code-camp: \"\\f2c5\";\n@fa-var-frown-o: \"\\f119\";\n@fa-var-futbol-o: \"\\f1e3\";\n@fa-var-gamepad: \"\\f11b\";\n@fa-var-gavel: \"\\f0e3\";\n@fa-var-gbp: \"\\f154\";\n@fa-var-ge: \"\\f1d1\";\n@fa-var-gear: \"\\f013\";\n@fa-var-gears: \"\\f085\";\n@fa-var-genderless: \"\\f22d\";\n@fa-var-get-pocket: \"\\f265\";\n@fa-var-gg: \"\\f260\";\n@fa-var-gg-circle: \"\\f261\";\n@fa-var-gift: \"\\f06b\";\n@fa-var-git: \"\\f1d3\";\n@fa-var-git-square: \"\\f1d2\";\n@fa-var-github: \"\\f09b\";\n@fa-var-github-alt: \"\\f113\";\n@fa-var-github-square: \"\\f092\";\n@fa-var-gitlab: \"\\f296\";\n@fa-var-gittip: \"\\f184\";\n@fa-var-glass: \"\\f000\";\n@fa-var-glide: \"\\f2a5\";\n@fa-var-glide-g: \"\\f2a6\";\n@fa-var-globe: \"\\f0ac\";\n@fa-var-google: \"\\f1a0\";\n@fa-var-google-plus: \"\\f0d5\";\n@fa-var-google-plus-circle: \"\\f2b3\";\n@fa-var-google-plus-official: \"\\f2b3\";\n@fa-var-google-plus-square: \"\\f0d4\";\n@fa-var-google-wallet: \"\\f1ee\";\n@fa-var-graduation-cap: \"\\f19d\";\n@fa-var-gratipay: \"\\f184\";\n@fa-var-grav: \"\\f2d6\";\n@fa-var-group: \"\\f0c0\";\n@fa-var-h-square: \"\\f0fd\";\n@fa-var-hacker-news: \"\\f1d4\";\n@fa-var-hand-grab-o: \"\\f255\";\n@fa-var-hand-lizard-o: \"\\f258\";\n@fa-var-hand-o-down: \"\\f0a7\";\n@fa-var-hand-o-left: \"\\f0a5\";\n@fa-var-hand-o-right: \"\\f0a4\";\n@fa-var-hand-o-up: \"\\f0a6\";\n@fa-var-hand-paper-o: \"\\f256\";\n@fa-var-hand-peace-o: \"\\f25b\";\n@fa-var-hand-pointer-o: \"\\f25a\";\n@fa-var-hand-rock-o: \"\\f255\";\n@fa-var-hand-scissors-o: \"\\f257\";\n@fa-var-hand-spock-o: \"\\f259\";\n@fa-var-hand-stop-o: \"\\f256\";\n@fa-var-handshake-o: \"\\f2b5\";\n@fa-var-hard-of-hearing: \"\\f2a4\";\n@fa-var-hashtag: \"\\f292\";\n@fa-var-hdd-o: \"\\f0a0\";\n@fa-var-header: \"\\f1dc\";\n@fa-var-headphones: \"\\f025\";\n@fa-var-heart: \"\\f004\";\n@fa-var-heart-o: \"\\f08a\";\n@fa-var-heartbeat: \"\\f21e\";\n@fa-var-history: \"\\f1da\";\n@fa-var-home: \"\\f015\";\n@fa-var-hospital-o: \"\\f0f8\";\n@fa-var-hotel: \"\\f236\";\n@fa-var-hourglass: \"\\f254\";\n@fa-var-hourglass-1: \"\\f251\";\n@fa-var-hourglass-2: \"\\f252\";\n@fa-var-hourglass-3: \"\\f253\";\n@fa-var-hourglass-end: \"\\f253\";\n@fa-var-hourglass-half: \"\\f252\";\n@fa-var-hourglass-o: \"\\f250\";\n@fa-var-hourglass-start: \"\\f251\";\n@fa-var-houzz: \"\\f27c\";\n@fa-var-html5: \"\\f13b\";\n@fa-var-i-cursor: \"\\f246\";\n@fa-var-id-badge: \"\\f2c1\";\n@fa-var-id-card: \"\\f2c2\";\n@fa-var-id-card-o: \"\\f2c3\";\n@fa-var-ils: \"\\f20b\";\n@fa-var-image: \"\\f03e\";\n@fa-var-imdb: \"\\f2d8\";\n@fa-var-inbox: \"\\f01c\";\n@fa-var-indent: \"\\f03c\";\n@fa-var-industry: \"\\f275\";\n@fa-var-info: \"\\f129\";\n@fa-var-info-circle: \"\\f05a\";\n@fa-var-inr: \"\\f156\";\n@fa-var-instagram: \"\\f16d\";\n@fa-var-institution: \"\\f19c\";\n@fa-var-internet-explorer: \"\\f26b\";\n@fa-var-intersex: \"\\f224\";\n@fa-var-ioxhost: \"\\f208\";\n@fa-var-italic: \"\\f033\";\n@fa-var-joomla: \"\\f1aa\";\n@fa-var-jpy: \"\\f157\";\n@fa-var-jsfiddle: \"\\f1cc\";\n@fa-var-key: \"\\f084\";\n@fa-var-keyboard-o: \"\\f11c\";\n@fa-var-krw: \"\\f159\";\n@fa-var-language: \"\\f1ab\";\n@fa-var-laptop: \"\\f109\";\n@fa-var-lastfm: \"\\f202\";\n@fa-var-lastfm-square: \"\\f203\";\n@fa-var-leaf: \"\\f06c\";\n@fa-var-leanpub: \"\\f212\";\n@fa-var-legal: \"\\f0e3\";\n@fa-var-lemon-o: \"\\f094\";\n@fa-var-level-down: \"\\f149\";\n@fa-var-level-up: \"\\f148\";\n@fa-var-life-bouy: \"\\f1cd\";\n@fa-var-life-buoy: \"\\f1cd\";\n@fa-var-life-ring: \"\\f1cd\";\n@fa-var-life-saver: \"\\f1cd\";\n@fa-var-lightbulb-o: \"\\f0eb\";\n@fa-var-line-chart: \"\\f201\";\n@fa-var-link: \"\\f0c1\";\n@fa-var-linkedin: \"\\f0e1\";\n@fa-var-linkedin-square: \"\\f08c\";\n@fa-var-linode: \"\\f2b8\";\n@fa-var-linux: \"\\f17c\";\n@fa-var-list: \"\\f03a\";\n@fa-var-list-alt: \"\\f022\";\n@fa-var-list-ol: \"\\f0cb\";\n@fa-var-list-ul: \"\\f0ca\";\n@fa-var-location-arrow: \"\\f124\";\n@fa-var-lock: \"\\f023\";\n@fa-var-long-arrow-down: \"\\f175\";\n@fa-var-long-arrow-left: \"\\f177\";\n@fa-var-long-arrow-right: \"\\f178\";\n@fa-var-long-arrow-up: \"\\f176\";\n@fa-var-low-vision: \"\\f2a8\";\n@fa-var-magic: \"\\f0d0\";\n@fa-var-magnet: \"\\f076\";\n@fa-var-mail-forward: \"\\f064\";\n@fa-var-mail-reply: \"\\f112\";\n@fa-var-mail-reply-all: \"\\f122\";\n@fa-var-male: \"\\f183\";\n@fa-var-map: \"\\f279\";\n@fa-var-map-marker: \"\\f041\";\n@fa-var-map-o: \"\\f278\";\n@fa-var-map-pin: \"\\f276\";\n@fa-var-map-signs: \"\\f277\";\n@fa-var-mars: \"\\f222\";\n@fa-var-mars-double: \"\\f227\";\n@fa-var-mars-stroke: \"\\f229\";\n@fa-var-mars-stroke-h: \"\\f22b\";\n@fa-var-mars-stroke-v: \"\\f22a\";\n@fa-var-maxcdn: \"\\f136\";\n@fa-var-meanpath: \"\\f20c\";\n@fa-var-medium: \"\\f23a\";\n@fa-var-medkit: \"\\f0fa\";\n@fa-var-meetup: \"\\f2e0\";\n@fa-var-meh-o: \"\\f11a\";\n@fa-var-mercury: \"\\f223\";\n@fa-var-microchip: \"\\f2db\";\n@fa-var-microphone: \"\\f130\";\n@fa-var-microphone-slash: \"\\f131\";\n@fa-var-minus: \"\\f068\";\n@fa-var-minus-circle: \"\\f056\";\n@fa-var-minus-square: \"\\f146\";\n@fa-var-minus-square-o: \"\\f147\";\n@fa-var-mixcloud: \"\\f289\";\n@fa-var-mobile: \"\\f10b\";\n@fa-var-mobile-phone: \"\\f10b\";\n@fa-var-modx: \"\\f285\";\n@fa-var-money: \"\\f0d6\";\n@fa-var-moon-o: \"\\f186\";\n@fa-var-mortar-board: \"\\f19d\";\n@fa-var-motorcycle: \"\\f21c\";\n@fa-var-mouse-pointer: \"\\f245\";\n@fa-var-music: \"\\f001\";\n@fa-var-navicon: \"\\f0c9\";\n@fa-var-neuter: \"\\f22c\";\n@fa-var-newspaper-o: \"\\f1ea\";\n@fa-var-object-group: \"\\f247\";\n@fa-var-object-ungroup: \"\\f248\";\n@fa-var-odnoklassniki: \"\\f263\";\n@fa-var-odnoklassniki-square: \"\\f264\";\n@fa-var-opencart: \"\\f23d\";\n@fa-var-openid: \"\\f19b\";\n@fa-var-opera: \"\\f26a\";\n@fa-var-optin-monster: \"\\f23c\";\n@fa-var-outdent: \"\\f03b\";\n@fa-var-pagelines: \"\\f18c\";\n@fa-var-paint-brush: \"\\f1fc\";\n@fa-var-paper-plane: \"\\f1d8\";\n@fa-var-paper-plane-o: \"\\f1d9\";\n@fa-var-paperclip: \"\\f0c6\";\n@fa-var-paragraph: \"\\f1dd\";\n@fa-var-paste: \"\\f0ea\";\n@fa-var-pause: \"\\f04c\";\n@fa-var-pause-circle: \"\\f28b\";\n@fa-var-pause-circle-o: \"\\f28c\";\n@fa-var-paw: \"\\f1b0\";\n@fa-var-paypal: \"\\f1ed\";\n@fa-var-pencil: \"\\f040\";\n@fa-var-pencil-square: \"\\f14b\";\n@fa-var-pencil-square-o: \"\\f044\";\n@fa-var-percent: \"\\f295\";\n@fa-var-phone: \"\\f095\";\n@fa-var-phone-square: \"\\f098\";\n@fa-var-photo: \"\\f03e\";\n@fa-var-picture-o: \"\\f03e\";\n@fa-var-pie-chart: \"\\f200\";\n@fa-var-pied-piper: \"\\f2ae\";\n@fa-var-pied-piper-alt: \"\\f1a8\";\n@fa-var-pied-piper-pp: \"\\f1a7\";\n@fa-var-pinterest: \"\\f0d2\";\n@fa-var-pinterest-p: \"\\f231\";\n@fa-var-pinterest-square: \"\\f0d3\";\n@fa-var-plane: \"\\f072\";\n@fa-var-play: \"\\f04b\";\n@fa-var-play-circle: \"\\f144\";\n@fa-var-play-circle-o: \"\\f01d\";\n@fa-var-plug: \"\\f1e6\";\n@fa-var-plus: \"\\f067\";\n@fa-var-plus-circle: \"\\f055\";\n@fa-var-plus-square: \"\\f0fe\";\n@fa-var-plus-square-o: \"\\f196\";\n@fa-var-podcast: \"\\f2ce\";\n@fa-var-power-off: \"\\f011\";\n@fa-var-print: \"\\f02f\";\n@fa-var-product-hunt: \"\\f288\";\n@fa-var-puzzle-piece: \"\\f12e\";\n@fa-var-qq: \"\\f1d6\";\n@fa-var-qrcode: \"\\f029\";\n@fa-var-question: \"\\f128\";\n@fa-var-question-circle: \"\\f059\";\n@fa-var-question-circle-o: \"\\f29c\";\n@fa-var-quora: \"\\f2c4\";\n@fa-var-quote-left: \"\\f10d\";\n@fa-var-quote-right: \"\\f10e\";\n@fa-var-ra: \"\\f1d0\";\n@fa-var-random: \"\\f074\";\n@fa-var-ravelry: \"\\f2d9\";\n@fa-var-rebel: \"\\f1d0\";\n@fa-var-recycle: \"\\f1b8\";\n@fa-var-reddit: \"\\f1a1\";\n@fa-var-reddit-alien: \"\\f281\";\n@fa-var-reddit-square: \"\\f1a2\";\n@fa-var-refresh: \"\\f021\";\n@fa-var-registered: \"\\f25d\";\n@fa-var-remove: \"\\f00d\";\n@fa-var-renren: \"\\f18b\";\n@fa-var-reorder: \"\\f0c9\";\n@fa-var-repeat: \"\\f01e\";\n@fa-var-reply: \"\\f112\";\n@fa-var-reply-all: \"\\f122\";\n@fa-var-resistance: \"\\f1d0\";\n@fa-var-retweet: \"\\f079\";\n@fa-var-rmb: \"\\f157\";\n@fa-var-road: \"\\f018\";\n@fa-var-rocket: \"\\f135\";\n@fa-var-rotate-left: \"\\f0e2\";\n@fa-var-rotate-right: \"\\f01e\";\n@fa-var-rouble: \"\\f158\";\n@fa-var-rss: \"\\f09e\";\n@fa-var-rss-square: \"\\f143\";\n@fa-var-rub: \"\\f158\";\n@fa-var-ruble: \"\\f158\";\n@fa-var-rupee: \"\\f156\";\n@fa-var-s15: \"\\f2cd\";\n@fa-var-safari: \"\\f267\";\n@fa-var-save: \"\\f0c7\";\n@fa-var-scissors: \"\\f0c4\";\n@fa-var-scribd: \"\\f28a\";\n@fa-var-search: \"\\f002\";\n@fa-var-search-minus: \"\\f010\";\n@fa-var-search-plus: \"\\f00e\";\n@fa-var-sellsy: \"\\f213\";\n@fa-var-send: \"\\f1d8\";\n@fa-var-send-o: \"\\f1d9\";\n@fa-var-server: \"\\f233\";\n@fa-var-share: \"\\f064\";\n@fa-var-share-alt: \"\\f1e0\";\n@fa-var-share-alt-square: \"\\f1e1\";\n@fa-var-share-square: \"\\f14d\";\n@fa-var-share-square-o: \"\\f045\";\n@fa-var-shekel: \"\\f20b\";\n@fa-var-sheqel: \"\\f20b\";\n@fa-var-shield: \"\\f132\";\n@fa-var-ship: \"\\f21a\";\n@fa-var-shirtsinbulk: \"\\f214\";\n@fa-var-shopping-bag: \"\\f290\";\n@fa-var-shopping-basket: \"\\f291\";\n@fa-var-shopping-cart: \"\\f07a\";\n@fa-var-shower: \"\\f2cc\";\n@fa-var-sign-in: \"\\f090\";\n@fa-var-sign-language: \"\\f2a7\";\n@fa-var-sign-out: \"\\f08b\";\n@fa-var-signal: \"\\f012\";\n@fa-var-signing: \"\\f2a7\";\n@fa-var-simplybuilt: \"\\f215\";\n@fa-var-sitemap: \"\\f0e8\";\n@fa-var-skyatlas: \"\\f216\";\n@fa-var-skype: \"\\f17e\";\n@fa-var-slack: \"\\f198\";\n@fa-var-sliders: \"\\f1de\";\n@fa-var-slideshare: \"\\f1e7\";\n@fa-var-smile-o: \"\\f118\";\n@fa-var-snapchat: \"\\f2ab\";\n@fa-var-snapchat-ghost: \"\\f2ac\";\n@fa-var-snapchat-square: \"\\f2ad\";\n@fa-var-snowflake-o: \"\\f2dc\";\n@fa-var-soccer-ball-o: \"\\f1e3\";\n@fa-var-sort: \"\\f0dc\";\n@fa-var-sort-alpha-asc: \"\\f15d\";\n@fa-var-sort-alpha-desc: \"\\f15e\";\n@fa-var-sort-amount-asc: \"\\f160\";\n@fa-var-sort-amount-desc: \"\\f161\";\n@fa-var-sort-asc: \"\\f0de\";\n@fa-var-sort-desc: \"\\f0dd\";\n@fa-var-sort-down: \"\\f0dd\";\n@fa-var-sort-numeric-asc: \"\\f162\";\n@fa-var-sort-numeric-desc: \"\\f163\";\n@fa-var-sort-up: \"\\f0de\";\n@fa-var-soundcloud: \"\\f1be\";\n@fa-var-space-shuttle: \"\\f197\";\n@fa-var-spinner: \"\\f110\";\n@fa-var-spoon: \"\\f1b1\";\n@fa-var-spotify: \"\\f1bc\";\n@fa-var-square: \"\\f0c8\";\n@fa-var-square-o: \"\\f096\";\n@fa-var-stack-exchange: \"\\f18d\";\n@fa-var-stack-overflow: \"\\f16c\";\n@fa-var-star: \"\\f005\";\n@fa-var-star-half: \"\\f089\";\n@fa-var-star-half-empty: \"\\f123\";\n@fa-var-star-half-full: \"\\f123\";\n@fa-var-star-half-o: \"\\f123\";\n@fa-var-star-o: \"\\f006\";\n@fa-var-steam: \"\\f1b6\";\n@fa-var-steam-square: \"\\f1b7\";\n@fa-var-step-backward: \"\\f048\";\n@fa-var-step-forward: \"\\f051\";\n@fa-var-stethoscope: \"\\f0f1\";\n@fa-var-sticky-note: \"\\f249\";\n@fa-var-sticky-note-o: \"\\f24a\";\n@fa-var-stop: \"\\f04d\";\n@fa-var-stop-circle: \"\\f28d\";\n@fa-var-stop-circle-o: \"\\f28e\";\n@fa-var-street-view: \"\\f21d\";\n@fa-var-strikethrough: \"\\f0cc\";\n@fa-var-stumbleupon: \"\\f1a4\";\n@fa-var-stumbleupon-circle: \"\\f1a3\";\n@fa-var-subscript: \"\\f12c\";\n@fa-var-subway: \"\\f239\";\n@fa-var-suitcase: \"\\f0f2\";\n@fa-var-sun-o: \"\\f185\";\n@fa-var-superpowers: \"\\f2dd\";\n@fa-var-superscript: \"\\f12b\";\n@fa-var-support: \"\\f1cd\";\n@fa-var-table: \"\\f0ce\";\n@fa-var-tablet: \"\\f10a\";\n@fa-var-tachometer: \"\\f0e4\";\n@fa-var-tag: \"\\f02b\";\n@fa-var-tags: \"\\f02c\";\n@fa-var-tasks: \"\\f0ae\";\n@fa-var-taxi: \"\\f1ba\";\n@fa-var-telegram: \"\\f2c6\";\n@fa-var-television: \"\\f26c\";\n@fa-var-tencent-weibo: \"\\f1d5\";\n@fa-var-terminal: \"\\f120\";\n@fa-var-text-height: \"\\f034\";\n@fa-var-text-width: \"\\f035\";\n@fa-var-th: \"\\f00a\";\n@fa-var-th-large: \"\\f009\";\n@fa-var-th-list: \"\\f00b\";\n@fa-var-themeisle: \"\\f2b2\";\n@fa-var-thermometer: \"\\f2c7\";\n@fa-var-thermometer-0: \"\\f2cb\";\n@fa-var-thermometer-1: \"\\f2ca\";\n@fa-var-thermometer-2: \"\\f2c9\";\n@fa-var-thermometer-3: \"\\f2c8\";\n@fa-var-thermometer-4: \"\\f2c7\";\n@fa-var-thermometer-empty: \"\\f2cb\";\n@fa-var-thermometer-full: \"\\f2c7\";\n@fa-var-thermometer-half: \"\\f2c9\";\n@fa-var-thermometer-quarter: \"\\f2ca\";\n@fa-var-thermometer-three-quarters: \"\\f2c8\";\n@fa-var-thumb-tack: \"\\f08d\";\n@fa-var-thumbs-down: \"\\f165\";\n@fa-var-thumbs-o-down: \"\\f088\";\n@fa-var-thumbs-o-up: \"\\f087\";\n@fa-var-thumbs-up: \"\\f164\";\n@fa-var-ticket: \"\\f145\";\n@fa-var-times: \"\\f00d\";\n@fa-var-times-circle: \"\\f057\";\n@fa-var-times-circle-o: \"\\f05c\";\n@fa-var-times-rectangle: \"\\f2d3\";\n@fa-var-times-rectangle-o: \"\\f2d4\";\n@fa-var-tint: \"\\f043\";\n@fa-var-toggle-down: \"\\f150\";\n@fa-var-toggle-left: \"\\f191\";\n@fa-var-toggle-off: \"\\f204\";\n@fa-var-toggle-on: \"\\f205\";\n@fa-var-toggle-right: \"\\f152\";\n@fa-var-toggle-up: \"\\f151\";\n@fa-var-trademark: \"\\f25c\";\n@fa-var-train: \"\\f238\";\n@fa-var-transgender: \"\\f224\";\n@fa-var-transgender-alt: \"\\f225\";\n@fa-var-trash: \"\\f1f8\";\n@fa-var-trash-o: \"\\f014\";\n@fa-var-tree: \"\\f1bb\";\n@fa-var-trello: \"\\f181\";\n@fa-var-tripadvisor: \"\\f262\";\n@fa-var-trophy: \"\\f091\";\n@fa-var-truck: \"\\f0d1\";\n@fa-var-try: \"\\f195\";\n@fa-var-tty: \"\\f1e4\";\n@fa-var-tumblr: \"\\f173\";\n@fa-var-tumblr-square: \"\\f174\";\n@fa-var-turkish-lira: \"\\f195\";\n@fa-var-tv: \"\\f26c\";\n@fa-var-twitch: \"\\f1e8\";\n@fa-var-twitter: \"\\f099\";\n@fa-var-twitter-square: \"\\f081\";\n@fa-var-umbrella: \"\\f0e9\";\n@fa-var-underline: \"\\f0cd\";\n@fa-var-undo: \"\\f0e2\";\n@fa-var-universal-access: \"\\f29a\";\n@fa-var-university: \"\\f19c\";\n@fa-var-unlink: \"\\f127\";\n@fa-var-unlock: \"\\f09c\";\n@fa-var-unlock-alt: \"\\f13e\";\n@fa-var-unsorted: \"\\f0dc\";\n@fa-var-upload: \"\\f093\";\n@fa-var-usb: \"\\f287\";\n@fa-var-usd: \"\\f155\";\n@fa-var-user: \"\\f007\";\n@fa-var-user-circle: \"\\f2bd\";\n@fa-var-user-circle-o: \"\\f2be\";\n@fa-var-user-md: \"\\f0f0\";\n@fa-var-user-o: \"\\f2c0\";\n@fa-var-user-plus: \"\\f234\";\n@fa-var-user-secret: \"\\f21b\";\n@fa-var-user-times: \"\\f235\";\n@fa-var-users: \"\\f0c0\";\n@fa-var-vcard: \"\\f2bb\";\n@fa-var-vcard-o: \"\\f2bc\";\n@fa-var-venus: \"\\f221\";\n@fa-var-venus-double: \"\\f226\";\n@fa-var-venus-mars: \"\\f228\";\n@fa-var-viacoin: \"\\f237\";\n@fa-var-viadeo: \"\\f2a9\";\n@fa-var-viadeo-square: \"\\f2aa\";\n@fa-var-video-camera: \"\\f03d\";\n@fa-var-vimeo: \"\\f27d\";\n@fa-var-vimeo-square: \"\\f194\";\n@fa-var-vine: \"\\f1ca\";\n@fa-var-vk: \"\\f189\";\n@fa-var-volume-control-phone: \"\\f2a0\";\n@fa-var-volume-down: \"\\f027\";\n@fa-var-volume-off: \"\\f026\";\n@fa-var-volume-up: \"\\f028\";\n@fa-var-warning: \"\\f071\";\n@fa-var-wechat: \"\\f1d7\";\n@fa-var-weibo: \"\\f18a\";\n@fa-var-weixin: \"\\f1d7\";\n@fa-var-whatsapp: \"\\f232\";\n@fa-var-wheelchair: \"\\f193\";\n@fa-var-wheelchair-alt: \"\\f29b\";\n@fa-var-wifi: \"\\f1eb\";\n@fa-var-wikipedia-w: \"\\f266\";\n@fa-var-window-close: \"\\f2d3\";\n@fa-var-window-close-o: \"\\f2d4\";\n@fa-var-window-maximize: \"\\f2d0\";\n@fa-var-window-minimize: \"\\f2d1\";\n@fa-var-window-restore: \"\\f2d2\";\n@fa-var-windows: \"\\f17a\";\n@fa-var-won: \"\\f159\";\n@fa-var-wordpress: \"\\f19a\";\n@fa-var-wpbeginner: \"\\f297\";\n@fa-var-wpexplorer: \"\\f2de\";\n@fa-var-wpforms: \"\\f298\";\n@fa-var-wrench: \"\\f0ad\";\n@fa-var-xing: \"\\f168\";\n@fa-var-xing-square: \"\\f169\";\n@fa-var-y-combinator: \"\\f23b\";\n@fa-var-y-combinator-square: \"\\f1d4\";\n@fa-var-yahoo: \"\\f19e\";\n@fa-var-yc: \"\\f23b\";\n@fa-var-yc-square: \"\\f1d4\";\n@fa-var-yelp: \"\\f1e9\";\n@fa-var-yen: \"\\f157\";\n@fa-var-yoast: \"\\f2b1\";\n@fa-var-youtube: \"\\f167\";\n@fa-var-youtube-play: \"\\f16a\";\n@fa-var-youtube-square: \"\\f166\";\n\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_animated.scss",
    "content": "// Spinning Icons\n// --------------------------\n\n.#{$fa-css-prefix}-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n          animation: fa-spin 2s infinite linear;\n}\n\n.#{$fa-css-prefix}-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n          animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n            transform: rotate(359deg);\n  }\n}\n\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n            transform: rotate(359deg);\n  }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_bordered-pulled.scss",
    "content": "// Bordered & Pulled\n// -------------------------\n\n.#{$fa-css-prefix}-border {\n  padding: .2em .25em .15em;\n  border: solid .08em $fa-border-color;\n  border-radius: .1em;\n}\n\n.#{$fa-css-prefix}-pull-left { float: left; }\n.#{$fa-css-prefix}-pull-right { float: right; }\n\n.#{$fa-css-prefix} {\n  &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\n  &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right { float: right; }\n.pull-left { float: left; }\n\n.#{$fa-css-prefix} {\n  &.pull-left { margin-right: .3em; }\n  &.pull-right { margin-left: .3em; }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_core.scss",
    "content": "// Base Class Definition\n// -------------------------\n\n.#{$fa-css-prefix} {\n  display: inline-block;\n  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n  font-size: inherit; // can't have font-size inherit on line above, so need to override\n  text-rendering: auto; // optimizelegibility throws things off #1094\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_fixed-width.scss",
    "content": "// Fixed Width Icons\n// -------------------------\n.#{$fa-css-prefix}-fw {\n  width: (18em / 14);\n  text-align: center;\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_icons.scss",
    "content": "/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n\n.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }\n.#{$fa-css-prefix}-music:before { content: $fa-var-music; }\n.#{$fa-css-prefix}-search:before { content: $fa-var-search; }\n.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }\n.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }\n.#{$fa-css-prefix}-star:before { content: $fa-var-star; }\n.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }\n.#{$fa-css-prefix}-user:before { content: $fa-var-user; }\n.#{$fa-css-prefix}-film:before { content: $fa-var-film; }\n.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }\n.#{$fa-css-prefix}-th:before { content: $fa-var-th; }\n.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }\n.#{$fa-css-prefix}-check:before { content: $fa-var-check; }\n.#{$fa-css-prefix}-remove:before,\n.#{$fa-css-prefix}-close:before,\n.#{$fa-css-prefix}-times:before { content: $fa-var-times; }\n.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }\n.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }\n.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }\n.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }\n.#{$fa-css-prefix}-gear:before,\n.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }\n.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }\n.#{$fa-css-prefix}-home:before { content: $fa-var-home; }\n.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }\n.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }\n.#{$fa-css-prefix}-road:before { content: $fa-var-road; }\n.#{$fa-css-prefix}-download:before { content: $fa-var-download; }\n.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }\n.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }\n.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }\n.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }\n.#{$fa-css-prefix}-rotate-right:before,\n.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }\n.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }\n.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }\n.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }\n.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }\n.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }\n.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }\n.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }\n.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }\n.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }\n.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }\n.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }\n.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }\n.#{$fa-css-prefix}-book:before { content: $fa-var-book; }\n.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }\n.#{$fa-css-prefix}-print:before { content: $fa-var-print; }\n.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }\n.#{$fa-css-prefix}-font:before { content: $fa-var-font; }\n.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }\n.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }\n.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }\n.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }\n.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }\n.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }\n.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }\n.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }\n.#{$fa-css-prefix}-list:before { content: $fa-var-list; }\n.#{$fa-css-prefix}-dedent:before,\n.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }\n.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }\n.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }\n.#{$fa-css-prefix}-photo:before,\n.#{$fa-css-prefix}-image:before,\n.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }\n.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }\n.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }\n.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }\n.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }\n.#{$fa-css-prefix}-edit:before,\n.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }\n.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }\n.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }\n.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }\n.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }\n.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }\n.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }\n.#{$fa-css-prefix}-play:before { content: $fa-var-play; }\n.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }\n.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }\n.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }\n.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }\n.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }\n.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }\n.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }\n.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }\n.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }\n.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }\n.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }\n.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }\n.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }\n.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }\n.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }\n.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }\n.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }\n.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }\n.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }\n.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }\n.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }\n.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }\n.#{$fa-css-prefix}-mail-forward:before,\n.#{$fa-css-prefix}-share:before { content: $fa-var-share; }\n.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }\n.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }\n.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }\n.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }\n.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }\n.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }\n.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }\n.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }\n.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }\n.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }\n.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }\n.#{$fa-css-prefix}-warning:before,\n.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }\n.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }\n.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }\n.#{$fa-css-prefix}-random:before { content: $fa-var-random; }\n.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }\n.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }\n.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }\n.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }\n.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }\n.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }\n.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }\n.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }\n.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }\n.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }\n.#{$fa-css-prefix}-bar-chart-o:before,\n.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }\n.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }\n.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }\n.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }\n.#{$fa-css-prefix}-key:before { content: $fa-var-key; }\n.#{$fa-css-prefix}-gears:before,\n.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }\n.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }\n.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }\n.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }\n.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }\n.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }\n.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }\n.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }\n.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }\n.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }\n.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }\n.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }\n.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }\n.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }\n.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }\n.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }\n.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }\n.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }\n.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }\n.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }\n.#{$fa-css-prefix}-facebook-f:before,\n.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }\n.#{$fa-css-prefix}-github:before { content: $fa-var-github; }\n.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }\n.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }\n.#{$fa-css-prefix}-feed:before,\n.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }\n.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }\n.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }\n.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }\n.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }\n.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }\n.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }\n.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }\n.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }\n.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }\n.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }\n.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }\n.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }\n.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }\n.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }\n.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }\n.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }\n.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }\n.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }\n.#{$fa-css-prefix}-group:before,\n.#{$fa-css-prefix}-users:before { content: $fa-var-users; }\n.#{$fa-css-prefix}-chain:before,\n.#{$fa-css-prefix}-link:before { content: $fa-var-link; }\n.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }\n.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }\n.#{$fa-css-prefix}-cut:before,\n.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }\n.#{$fa-css-prefix}-copy:before,\n.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }\n.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }\n.#{$fa-css-prefix}-save:before,\n.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }\n.#{$fa-css-prefix}-square:before { content: $fa-var-square; }\n.#{$fa-css-prefix}-navicon:before,\n.#{$fa-css-prefix}-reorder:before,\n.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }\n.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }\n.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }\n.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }\n.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }\n.#{$fa-css-prefix}-table:before { content: $fa-var-table; }\n.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }\n.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }\n.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }\n.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }\n.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }\n.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }\n.#{$fa-css-prefix}-money:before { content: $fa-var-money; }\n.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }\n.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }\n.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }\n.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }\n.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }\n.#{$fa-css-prefix}-unsorted:before,\n.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }\n.#{$fa-css-prefix}-sort-down:before,\n.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }\n.#{$fa-css-prefix}-sort-up:before,\n.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }\n.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }\n.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }\n.#{$fa-css-prefix}-rotate-left:before,\n.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }\n.#{$fa-css-prefix}-legal:before,\n.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }\n.#{$fa-css-prefix}-dashboard:before,\n.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }\n.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }\n.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }\n.#{$fa-css-prefix}-flash:before,\n.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }\n.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }\n.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }\n.#{$fa-css-prefix}-paste:before,\n.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }\n.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }\n.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }\n.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }\n.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }\n.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }\n.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }\n.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }\n.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }\n.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }\n.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }\n.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }\n.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }\n.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }\n.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }\n.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }\n.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }\n.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }\n.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }\n.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }\n.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }\n.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }\n.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }\n.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }\n.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }\n.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }\n.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }\n.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }\n.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }\n.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }\n.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }\n.#{$fa-css-prefix}-mobile-phone:before,\n.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }\n.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }\n.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }\n.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }\n.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }\n.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }\n.#{$fa-css-prefix}-mail-reply:before,\n.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }\n.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }\n.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }\n.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }\n.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }\n.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }\n.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }\n.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }\n.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }\n.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }\n.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }\n.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }\n.#{$fa-css-prefix}-code:before { content: $fa-var-code; }\n.#{$fa-css-prefix}-mail-reply-all:before,\n.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }\n.#{$fa-css-prefix}-star-half-empty:before,\n.#{$fa-css-prefix}-star-half-full:before,\n.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }\n.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }\n.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }\n.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }\n.#{$fa-css-prefix}-unlink:before,\n.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }\n.#{$fa-css-prefix}-question:before { content: $fa-var-question; }\n.#{$fa-css-prefix}-info:before { content: $fa-var-info; }\n.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }\n.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }\n.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }\n.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }\n.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }\n.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }\n.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }\n.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }\n.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }\n.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }\n.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }\n.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }\n.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }\n.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }\n.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }\n.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }\n.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }\n.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }\n.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }\n.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }\n.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }\n.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }\n.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }\n.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }\n.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }\n.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }\n.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }\n.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }\n.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }\n.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }\n.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }\n.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }\n.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }\n.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }\n.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }\n.#{$fa-css-prefix}-toggle-down:before,\n.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }\n.#{$fa-css-prefix}-toggle-up:before,\n.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }\n.#{$fa-css-prefix}-toggle-right:before,\n.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }\n.#{$fa-css-prefix}-euro:before,\n.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }\n.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }\n.#{$fa-css-prefix}-dollar:before,\n.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }\n.#{$fa-css-prefix}-rupee:before,\n.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }\n.#{$fa-css-prefix}-cny:before,\n.#{$fa-css-prefix}-rmb:before,\n.#{$fa-css-prefix}-yen:before,\n.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }\n.#{$fa-css-prefix}-ruble:before,\n.#{$fa-css-prefix}-rouble:before,\n.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }\n.#{$fa-css-prefix}-won:before,\n.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }\n.#{$fa-css-prefix}-bitcoin:before,\n.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }\n.#{$fa-css-prefix}-file:before { content: $fa-var-file; }\n.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }\n.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }\n.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }\n.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }\n.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }\n.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }\n.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }\n.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }\n.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }\n.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }\n.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }\n.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }\n.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }\n.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }\n.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }\n.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }\n.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }\n.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }\n.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }\n.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }\n.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }\n.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }\n.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }\n.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }\n.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }\n.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }\n.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }\n.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }\n.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }\n.#{$fa-css-prefix}-android:before { content: $fa-var-android; }\n.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }\n.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }\n.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }\n.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }\n.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }\n.#{$fa-css-prefix}-female:before { content: $fa-var-female; }\n.#{$fa-css-prefix}-male:before { content: $fa-var-male; }\n.#{$fa-css-prefix}-gittip:before,\n.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; }\n.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }\n.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }\n.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }\n.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }\n.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }\n.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }\n.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }\n.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }\n.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }\n.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }\n.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }\n.#{$fa-css-prefix}-toggle-left:before,\n.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }\n.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }\n.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }\n.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }\n.#{$fa-css-prefix}-turkish-lira:before,\n.#{$fa-css-prefix}-try:before { content: $fa-var-try; }\n.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }\n.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }\n.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }\n.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }\n.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }\n.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }\n.#{$fa-css-prefix}-institution:before,\n.#{$fa-css-prefix}-bank:before,\n.#{$fa-css-prefix}-university:before { content: $fa-var-university; }\n.#{$fa-css-prefix}-mortar-board:before,\n.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }\n.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }\n.#{$fa-css-prefix}-google:before { content: $fa-var-google; }\n.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }\n.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }\n.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }\n.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }\n.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }\n.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }\n.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }\n.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }\n.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }\n.#{$fa-css-prefix}-language:before { content: $fa-var-language; }\n.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }\n.#{$fa-css-prefix}-building:before { content: $fa-var-building; }\n.#{$fa-css-prefix}-child:before { content: $fa-var-child; }\n.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }\n.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }\n.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }\n.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }\n.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }\n.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }\n.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }\n.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }\n.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }\n.#{$fa-css-prefix}-automobile:before,\n.#{$fa-css-prefix}-car:before { content: $fa-var-car; }\n.#{$fa-css-prefix}-cab:before,\n.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }\n.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }\n.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }\n.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }\n.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }\n.#{$fa-css-prefix}-database:before { content: $fa-var-database; }\n.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }\n.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }\n.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }\n.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }\n.#{$fa-css-prefix}-file-photo-o:before,\n.#{$fa-css-prefix}-file-picture-o:before,\n.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }\n.#{$fa-css-prefix}-file-zip-o:before,\n.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }\n.#{$fa-css-prefix}-file-sound-o:before,\n.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }\n.#{$fa-css-prefix}-file-movie-o:before,\n.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }\n.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }\n.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }\n.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }\n.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }\n.#{$fa-css-prefix}-life-bouy:before,\n.#{$fa-css-prefix}-life-buoy:before,\n.#{$fa-css-prefix}-life-saver:before,\n.#{$fa-css-prefix}-support:before,\n.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }\n.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }\n.#{$fa-css-prefix}-ra:before,\n.#{$fa-css-prefix}-resistance:before,\n.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }\n.#{$fa-css-prefix}-ge:before,\n.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }\n.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }\n.#{$fa-css-prefix}-git:before { content: $fa-var-git; }\n.#{$fa-css-prefix}-y-combinator-square:before,\n.#{$fa-css-prefix}-yc-square:before,\n.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }\n.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }\n.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }\n.#{$fa-css-prefix}-wechat:before,\n.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }\n.#{$fa-css-prefix}-send:before,\n.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }\n.#{$fa-css-prefix}-send-o:before,\n.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }\n.#{$fa-css-prefix}-history:before { content: $fa-var-history; }\n.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }\n.#{$fa-css-prefix}-header:before { content: $fa-var-header; }\n.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }\n.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }\n.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }\n.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }\n.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }\n.#{$fa-css-prefix}-soccer-ball-o:before,\n.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }\n.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }\n.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }\n.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }\n.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }\n.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }\n.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }\n.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }\n.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }\n.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }\n.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }\n.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }\n.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }\n.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }\n.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }\n.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }\n.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }\n.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }\n.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }\n.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }\n.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }\n.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }\n.#{$fa-css-prefix}-at:before { content: $fa-var-at; }\n.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }\n.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }\n.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }\n.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }\n.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }\n.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }\n.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }\n.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }\n.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }\n.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }\n.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }\n.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }\n.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }\n.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }\n.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }\n.#{$fa-css-prefix}-shekel:before,\n.#{$fa-css-prefix}-sheqel:before,\n.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }\n.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }\n.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; }\n.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; }\n.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; }\n.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; }\n.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; }\n.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; }\n.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; }\n.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; }\n.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; }\n.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; }\n.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; }\n.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; }\n.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; }\n.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; }\n.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; }\n.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; }\n.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; }\n.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }\n.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }\n.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }\n.#{$fa-css-prefix}-intersex:before,\n.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }\n.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }\n.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }\n.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; }\n.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; }\n.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; }\n.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }\n.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }\n.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }\n.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }\n.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }\n.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }\n.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }\n.#{$fa-css-prefix}-server:before { content: $fa-var-server; }\n.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; }\n.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; }\n.#{$fa-css-prefix}-hotel:before,\n.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; }\n.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; }\n.#{$fa-css-prefix}-train:before { content: $fa-var-train; }\n.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }\n.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }\n.#{$fa-css-prefix}-yc:before,\n.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }\n.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }\n.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }\n.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }\n.#{$fa-css-prefix}-battery-4:before,\n.#{$fa-css-prefix}-battery:before,\n.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }\n.#{$fa-css-prefix}-battery-3:before,\n.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }\n.#{$fa-css-prefix}-battery-2:before,\n.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }\n.#{$fa-css-prefix}-battery-1:before,\n.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }\n.#{$fa-css-prefix}-battery-0:before,\n.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }\n.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }\n.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }\n.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }\n.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }\n.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }\n.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }\n.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }\n.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }\n.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }\n.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }\n.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }\n.#{$fa-css-prefix}-hourglass-1:before,\n.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }\n.#{$fa-css-prefix}-hourglass-2:before,\n.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }\n.#{$fa-css-prefix}-hourglass-3:before,\n.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }\n.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }\n.#{$fa-css-prefix}-hand-grab-o:before,\n.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }\n.#{$fa-css-prefix}-hand-stop-o:before,\n.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }\n.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }\n.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }\n.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }\n.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }\n.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }\n.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }\n.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }\n.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }\n.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }\n.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }\n.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }\n.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }\n.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }\n.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }\n.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }\n.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }\n.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }\n.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }\n.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }\n.#{$fa-css-prefix}-tv:before,\n.#{$fa-css-prefix}-television:before { content: $fa-var-television; }\n.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }\n.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }\n.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }\n.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }\n.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }\n.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }\n.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }\n.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }\n.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }\n.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }\n.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }\n.#{$fa-css-prefix}-map:before { content: $fa-var-map; }\n.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }\n.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }\n.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }\n.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }\n.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }\n.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }\n.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }\n.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }\n.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }\n.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }\n.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }\n.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }\n.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }\n.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }\n.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }\n.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }\n.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }\n.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }\n.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }\n.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }\n.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }\n.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }\n.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }\n.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }\n.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }\n.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }\n.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }\n.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }\n.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }\n.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }\n.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }\n.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }\n.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }\n.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }\n.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }\n.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }\n.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }\n.#{$fa-css-prefix}-asl-interpreting:before,\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }\n.#{$fa-css-prefix}-deafness:before,\n.#{$fa-css-prefix}-hard-of-hearing:before,\n.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }\n.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }\n.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }\n.#{$fa-css-prefix}-signing:before,\n.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }\n.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }\n.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }\n.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }\n.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }\n.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }\n.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }\n.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }\n.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }\n.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }\n.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }\n.#{$fa-css-prefix}-google-plus-circle:before,\n.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }\n.#{$fa-css-prefix}-fa:before,\n.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }\n.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; }\n.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; }\n.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; }\n.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; }\n.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; }\n.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; }\n.#{$fa-css-prefix}-vcard:before,\n.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; }\n.#{$fa-css-prefix}-vcard-o:before,\n.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; }\n.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; }\n.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; }\n.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; }\n.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; }\n.#{$fa-css-prefix}-drivers-license:before,\n.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; }\n.#{$fa-css-prefix}-drivers-license-o:before,\n.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; }\n.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; }\n.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; }\n.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; }\n.#{$fa-css-prefix}-thermometer-4:before,\n.#{$fa-css-prefix}-thermometer:before,\n.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; }\n.#{$fa-css-prefix}-thermometer-3:before,\n.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; }\n.#{$fa-css-prefix}-thermometer-2:before,\n.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; }\n.#{$fa-css-prefix}-thermometer-1:before,\n.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; }\n.#{$fa-css-prefix}-thermometer-0:before,\n.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; }\n.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; }\n.#{$fa-css-prefix}-bathtub:before,\n.#{$fa-css-prefix}-s15:before,\n.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; }\n.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; }\n.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; }\n.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; }\n.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; }\n.#{$fa-css-prefix}-times-rectangle:before,\n.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; }\n.#{$fa-css-prefix}-times-rectangle-o:before,\n.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; }\n.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; }\n.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; }\n.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; }\n.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; }\n.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; }\n.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; }\n.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; }\n.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; }\n.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; }\n.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; }\n.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_larger.scss",
    "content": "// Icon Sizes\n// -------------------------\n\n/* makes the font 33% larger relative to the icon container */\n.#{$fa-css-prefix}-lg {\n  font-size: (4em / 3);\n  line-height: (3em / 4);\n  vertical-align: -15%;\n}\n.#{$fa-css-prefix}-2x { font-size: 2em; }\n.#{$fa-css-prefix}-3x { font-size: 3em; }\n.#{$fa-css-prefix}-4x { font-size: 4em; }\n.#{$fa-css-prefix}-5x { font-size: 5em; }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_list.scss",
    "content": "// List Icons\n// -------------------------\n\n.#{$fa-css-prefix}-ul {\n  padding-left: 0;\n  margin-left: $fa-li-width;\n  list-style-type: none;\n  > li { position: relative; }\n}\n.#{$fa-css-prefix}-li {\n  position: absolute;\n  left: -$fa-li-width;\n  width: $fa-li-width;\n  top: (2em / 14);\n  text-align: center;\n  &.#{$fa-css-prefix}-lg {\n    left: -$fa-li-width + (4em / 14);\n  }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_mixins.scss",
    "content": "// Mixins\n// --------------------------\n\n@mixin fa-icon() {\n  display: inline-block;\n  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n  font-size: inherit; // can't have font-size inherit on line above, so need to override\n  text-rendering: auto; // optimizelegibility throws things off #1094\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n}\n\n@mixin fa-icon-rotate($degrees, $rotation) {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\n  -webkit-transform: rotate($degrees);\n      -ms-transform: rotate($degrees);\n          transform: rotate($degrees);\n}\n\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\n  -webkit-transform: scale($horiz, $vert);\n      -ms-transform: scale($horiz, $vert);\n          transform: scale($horiz, $vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n@mixin sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_path.scss",
    "content": "/* FONT PATH\n * -------------------------- */\n\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');\n  src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),\n    url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),\n    url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),\n    url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),\n    url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');\n//  src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts\n  font-weight: normal;\n  font-style: normal;\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_rotated-flipped.scss",
    "content": "// Rotated & Flipped Icons\n// -------------------------\n\n.#{$fa-css-prefix}-rotate-90  { @include fa-icon-rotate(90deg, 1);  }\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\n\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\n.#{$fa-css-prefix}-flip-vertical   { @include fa-icon-flip(1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root .#{$fa-css-prefix}-rotate-90,\n:root .#{$fa-css-prefix}-rotate-180,\n:root .#{$fa-css-prefix}-rotate-270,\n:root .#{$fa-css-prefix}-flip-horizontal,\n:root .#{$fa-css-prefix}-flip-vertical {\n  filter: none;\n}\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_screen-reader.scss",
    "content": "// Screen Readers\n// -------------------------\n\n.sr-only { @include sr-only(); }\n.sr-only-focusable { @include sr-only-focusable(); }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_stacked.scss",
    "content": "// Stacked Icons\n// -------------------------\n\n.#{$fa-css-prefix}-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.#{$fa-css-prefix}-stack-1x { line-height: inherit; }\n.#{$fa-css-prefix}-stack-2x { font-size: 2em; }\n.#{$fa-css-prefix}-inverse { color: $fa-inverse; }\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/_variables.scss",
    "content": "// Variables\n// --------------------------\n\n$fa-font-path:        \"../fonts\" !default;\n$fa-font-size-base:   14px !default;\n$fa-line-height-base: 1 !default;\n//$fa-font-path:        \"//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts\" !default; // for referencing Bootstrap CDN font files directly\n$fa-css-prefix:       fa !default;\n$fa-version:          \"4.7.0\" !default;\n$fa-border-color:     #eee !default;\n$fa-inverse:          #fff !default;\n$fa-li-width:         (30em / 14) !default;\n\n$fa-var-500px: \"\\f26e\";\n$fa-var-address-book: \"\\f2b9\";\n$fa-var-address-book-o: \"\\f2ba\";\n$fa-var-address-card: \"\\f2bb\";\n$fa-var-address-card-o: \"\\f2bc\";\n$fa-var-adjust: \"\\f042\";\n$fa-var-adn: \"\\f170\";\n$fa-var-align-center: \"\\f037\";\n$fa-var-align-justify: \"\\f039\";\n$fa-var-align-left: \"\\f036\";\n$fa-var-align-right: \"\\f038\";\n$fa-var-amazon: \"\\f270\";\n$fa-var-ambulance: \"\\f0f9\";\n$fa-var-american-sign-language-interpreting: \"\\f2a3\";\n$fa-var-anchor: \"\\f13d\";\n$fa-var-android: \"\\f17b\";\n$fa-var-angellist: \"\\f209\";\n$fa-var-angle-double-down: \"\\f103\";\n$fa-var-angle-double-left: \"\\f100\";\n$fa-var-angle-double-right: \"\\f101\";\n$fa-var-angle-double-up: \"\\f102\";\n$fa-var-angle-down: \"\\f107\";\n$fa-var-angle-left: \"\\f104\";\n$fa-var-angle-right: \"\\f105\";\n$fa-var-angle-up: \"\\f106\";\n$fa-var-apple: \"\\f179\";\n$fa-var-archive: \"\\f187\";\n$fa-var-area-chart: \"\\f1fe\";\n$fa-var-arrow-circle-down: \"\\f0ab\";\n$fa-var-arrow-circle-left: \"\\f0a8\";\n$fa-var-arrow-circle-o-down: \"\\f01a\";\n$fa-var-arrow-circle-o-left: \"\\f190\";\n$fa-var-arrow-circle-o-right: \"\\f18e\";\n$fa-var-arrow-circle-o-up: \"\\f01b\";\n$fa-var-arrow-circle-right: \"\\f0a9\";\n$fa-var-arrow-circle-up: \"\\f0aa\";\n$fa-var-arrow-down: \"\\f063\";\n$fa-var-arrow-left: \"\\f060\";\n$fa-var-arrow-right: \"\\f061\";\n$fa-var-arrow-up: \"\\f062\";\n$fa-var-arrows: \"\\f047\";\n$fa-var-arrows-alt: \"\\f0b2\";\n$fa-var-arrows-h: \"\\f07e\";\n$fa-var-arrows-v: \"\\f07d\";\n$fa-var-asl-interpreting: \"\\f2a3\";\n$fa-var-assistive-listening-systems: \"\\f2a2\";\n$fa-var-asterisk: \"\\f069\";\n$fa-var-at: \"\\f1fa\";\n$fa-var-audio-description: \"\\f29e\";\n$fa-var-automobile: \"\\f1b9\";\n$fa-var-backward: \"\\f04a\";\n$fa-var-balance-scale: \"\\f24e\";\n$fa-var-ban: \"\\f05e\";\n$fa-var-bandcamp: \"\\f2d5\";\n$fa-var-bank: \"\\f19c\";\n$fa-var-bar-chart: \"\\f080\";\n$fa-var-bar-chart-o: \"\\f080\";\n$fa-var-barcode: \"\\f02a\";\n$fa-var-bars: \"\\f0c9\";\n$fa-var-bath: \"\\f2cd\";\n$fa-var-bathtub: \"\\f2cd\";\n$fa-var-battery: \"\\f240\";\n$fa-var-battery-0: \"\\f244\";\n$fa-var-battery-1: \"\\f243\";\n$fa-var-battery-2: \"\\f242\";\n$fa-var-battery-3: \"\\f241\";\n$fa-var-battery-4: \"\\f240\";\n$fa-var-battery-empty: \"\\f244\";\n$fa-var-battery-full: \"\\f240\";\n$fa-var-battery-half: \"\\f242\";\n$fa-var-battery-quarter: \"\\f243\";\n$fa-var-battery-three-quarters: \"\\f241\";\n$fa-var-bed: \"\\f236\";\n$fa-var-beer: \"\\f0fc\";\n$fa-var-behance: \"\\f1b4\";\n$fa-var-behance-square: \"\\f1b5\";\n$fa-var-bell: \"\\f0f3\";\n$fa-var-bell-o: \"\\f0a2\";\n$fa-var-bell-slash: \"\\f1f6\";\n$fa-var-bell-slash-o: \"\\f1f7\";\n$fa-var-bicycle: \"\\f206\";\n$fa-var-binoculars: \"\\f1e5\";\n$fa-var-birthday-cake: \"\\f1fd\";\n$fa-var-bitbucket: \"\\f171\";\n$fa-var-bitbucket-square: \"\\f172\";\n$fa-var-bitcoin: \"\\f15a\";\n$fa-var-black-tie: \"\\f27e\";\n$fa-var-blind: \"\\f29d\";\n$fa-var-bluetooth: \"\\f293\";\n$fa-var-bluetooth-b: \"\\f294\";\n$fa-var-bold: \"\\f032\";\n$fa-var-bolt: \"\\f0e7\";\n$fa-var-bomb: \"\\f1e2\";\n$fa-var-book: \"\\f02d\";\n$fa-var-bookmark: \"\\f02e\";\n$fa-var-bookmark-o: \"\\f097\";\n$fa-var-braille: \"\\f2a1\";\n$fa-var-briefcase: \"\\f0b1\";\n$fa-var-btc: \"\\f15a\";\n$fa-var-bug: \"\\f188\";\n$fa-var-building: \"\\f1ad\";\n$fa-var-building-o: \"\\f0f7\";\n$fa-var-bullhorn: \"\\f0a1\";\n$fa-var-bullseye: \"\\f140\";\n$fa-var-bus: \"\\f207\";\n$fa-var-buysellads: \"\\f20d\";\n$fa-var-cab: \"\\f1ba\";\n$fa-var-calculator: \"\\f1ec\";\n$fa-var-calendar: \"\\f073\";\n$fa-var-calendar-check-o: \"\\f274\";\n$fa-var-calendar-minus-o: \"\\f272\";\n$fa-var-calendar-o: \"\\f133\";\n$fa-var-calendar-plus-o: \"\\f271\";\n$fa-var-calendar-times-o: \"\\f273\";\n$fa-var-camera: \"\\f030\";\n$fa-var-camera-retro: \"\\f083\";\n$fa-var-car: \"\\f1b9\";\n$fa-var-caret-down: \"\\f0d7\";\n$fa-var-caret-left: \"\\f0d9\";\n$fa-var-caret-right: \"\\f0da\";\n$fa-var-caret-square-o-down: \"\\f150\";\n$fa-var-caret-square-o-left: \"\\f191\";\n$fa-var-caret-square-o-right: \"\\f152\";\n$fa-var-caret-square-o-up: \"\\f151\";\n$fa-var-caret-up: \"\\f0d8\";\n$fa-var-cart-arrow-down: \"\\f218\";\n$fa-var-cart-plus: \"\\f217\";\n$fa-var-cc: \"\\f20a\";\n$fa-var-cc-amex: \"\\f1f3\";\n$fa-var-cc-diners-club: \"\\f24c\";\n$fa-var-cc-discover: \"\\f1f2\";\n$fa-var-cc-jcb: \"\\f24b\";\n$fa-var-cc-mastercard: \"\\f1f1\";\n$fa-var-cc-paypal: \"\\f1f4\";\n$fa-var-cc-stripe: \"\\f1f5\";\n$fa-var-cc-visa: \"\\f1f0\";\n$fa-var-certificate: \"\\f0a3\";\n$fa-var-chain: \"\\f0c1\";\n$fa-var-chain-broken: \"\\f127\";\n$fa-var-check: \"\\f00c\";\n$fa-var-check-circle: \"\\f058\";\n$fa-var-check-circle-o: \"\\f05d\";\n$fa-var-check-square: \"\\f14a\";\n$fa-var-check-square-o: \"\\f046\";\n$fa-var-chevron-circle-down: \"\\f13a\";\n$fa-var-chevron-circle-left: \"\\f137\";\n$fa-var-chevron-circle-right: \"\\f138\";\n$fa-var-chevron-circle-up: \"\\f139\";\n$fa-var-chevron-down: \"\\f078\";\n$fa-var-chevron-left: \"\\f053\";\n$fa-var-chevron-right: \"\\f054\";\n$fa-var-chevron-up: \"\\f077\";\n$fa-var-child: \"\\f1ae\";\n$fa-var-chrome: \"\\f268\";\n$fa-var-circle: \"\\f111\";\n$fa-var-circle-o: \"\\f10c\";\n$fa-var-circle-o-notch: \"\\f1ce\";\n$fa-var-circle-thin: \"\\f1db\";\n$fa-var-clipboard: \"\\f0ea\";\n$fa-var-clock-o: \"\\f017\";\n$fa-var-clone: \"\\f24d\";\n$fa-var-close: \"\\f00d\";\n$fa-var-cloud: \"\\f0c2\";\n$fa-var-cloud-download: \"\\f0ed\";\n$fa-var-cloud-upload: \"\\f0ee\";\n$fa-var-cny: \"\\f157\";\n$fa-var-code: \"\\f121\";\n$fa-var-code-fork: \"\\f126\";\n$fa-var-codepen: \"\\f1cb\";\n$fa-var-codiepie: \"\\f284\";\n$fa-var-coffee: \"\\f0f4\";\n$fa-var-cog: \"\\f013\";\n$fa-var-cogs: \"\\f085\";\n$fa-var-columns: \"\\f0db\";\n$fa-var-comment: \"\\f075\";\n$fa-var-comment-o: \"\\f0e5\";\n$fa-var-commenting: \"\\f27a\";\n$fa-var-commenting-o: \"\\f27b\";\n$fa-var-comments: \"\\f086\";\n$fa-var-comments-o: \"\\f0e6\";\n$fa-var-compass: \"\\f14e\";\n$fa-var-compress: \"\\f066\";\n$fa-var-connectdevelop: \"\\f20e\";\n$fa-var-contao: \"\\f26d\";\n$fa-var-copy: \"\\f0c5\";\n$fa-var-copyright: \"\\f1f9\";\n$fa-var-creative-commons: \"\\f25e\";\n$fa-var-credit-card: \"\\f09d\";\n$fa-var-credit-card-alt: \"\\f283\";\n$fa-var-crop: \"\\f125\";\n$fa-var-crosshairs: \"\\f05b\";\n$fa-var-css3: \"\\f13c\";\n$fa-var-cube: \"\\f1b2\";\n$fa-var-cubes: \"\\f1b3\";\n$fa-var-cut: \"\\f0c4\";\n$fa-var-cutlery: \"\\f0f5\";\n$fa-var-dashboard: \"\\f0e4\";\n$fa-var-dashcube: \"\\f210\";\n$fa-var-database: \"\\f1c0\";\n$fa-var-deaf: \"\\f2a4\";\n$fa-var-deafness: \"\\f2a4\";\n$fa-var-dedent: \"\\f03b\";\n$fa-var-delicious: \"\\f1a5\";\n$fa-var-desktop: \"\\f108\";\n$fa-var-deviantart: \"\\f1bd\";\n$fa-var-diamond: \"\\f219\";\n$fa-var-digg: \"\\f1a6\";\n$fa-var-dollar: \"\\f155\";\n$fa-var-dot-circle-o: \"\\f192\";\n$fa-var-download: \"\\f019\";\n$fa-var-dribbble: \"\\f17d\";\n$fa-var-drivers-license: \"\\f2c2\";\n$fa-var-drivers-license-o: \"\\f2c3\";\n$fa-var-dropbox: \"\\f16b\";\n$fa-var-drupal: \"\\f1a9\";\n$fa-var-edge: \"\\f282\";\n$fa-var-edit: \"\\f044\";\n$fa-var-eercast: \"\\f2da\";\n$fa-var-eject: \"\\f052\";\n$fa-var-ellipsis-h: \"\\f141\";\n$fa-var-ellipsis-v: \"\\f142\";\n$fa-var-empire: \"\\f1d1\";\n$fa-var-envelope: \"\\f0e0\";\n$fa-var-envelope-o: \"\\f003\";\n$fa-var-envelope-open: \"\\f2b6\";\n$fa-var-envelope-open-o: \"\\f2b7\";\n$fa-var-envelope-square: \"\\f199\";\n$fa-var-envira: \"\\f299\";\n$fa-var-eraser: \"\\f12d\";\n$fa-var-etsy: \"\\f2d7\";\n$fa-var-eur: \"\\f153\";\n$fa-var-euro: \"\\f153\";\n$fa-var-exchange: \"\\f0ec\";\n$fa-var-exclamation: \"\\f12a\";\n$fa-var-exclamation-circle: \"\\f06a\";\n$fa-var-exclamation-triangle: \"\\f071\";\n$fa-var-expand: \"\\f065\";\n$fa-var-expeditedssl: \"\\f23e\";\n$fa-var-external-link: \"\\f08e\";\n$fa-var-external-link-square: \"\\f14c\";\n$fa-var-eye: \"\\f06e\";\n$fa-var-eye-slash: \"\\f070\";\n$fa-var-eyedropper: \"\\f1fb\";\n$fa-var-fa: \"\\f2b4\";\n$fa-var-facebook: \"\\f09a\";\n$fa-var-facebook-f: \"\\f09a\";\n$fa-var-facebook-official: \"\\f230\";\n$fa-var-facebook-square: \"\\f082\";\n$fa-var-fast-backward: \"\\f049\";\n$fa-var-fast-forward: \"\\f050\";\n$fa-var-fax: \"\\f1ac\";\n$fa-var-feed: \"\\f09e\";\n$fa-var-female: \"\\f182\";\n$fa-var-fighter-jet: \"\\f0fb\";\n$fa-var-file: \"\\f15b\";\n$fa-var-file-archive-o: \"\\f1c6\";\n$fa-var-file-audio-o: \"\\f1c7\";\n$fa-var-file-code-o: \"\\f1c9\";\n$fa-var-file-excel-o: \"\\f1c3\";\n$fa-var-file-image-o: \"\\f1c5\";\n$fa-var-file-movie-o: \"\\f1c8\";\n$fa-var-file-o: \"\\f016\";\n$fa-var-file-pdf-o: \"\\f1c1\";\n$fa-var-file-photo-o: \"\\f1c5\";\n$fa-var-file-picture-o: \"\\f1c5\";\n$fa-var-file-powerpoint-o: \"\\f1c4\";\n$fa-var-file-sound-o: \"\\f1c7\";\n$fa-var-file-text: \"\\f15c\";\n$fa-var-file-text-o: \"\\f0f6\";\n$fa-var-file-video-o: \"\\f1c8\";\n$fa-var-file-word-o: \"\\f1c2\";\n$fa-var-file-zip-o: \"\\f1c6\";\n$fa-var-files-o: \"\\f0c5\";\n$fa-var-film: \"\\f008\";\n$fa-var-filter: \"\\f0b0\";\n$fa-var-fire: \"\\f06d\";\n$fa-var-fire-extinguisher: \"\\f134\";\n$fa-var-firefox: \"\\f269\";\n$fa-var-first-order: \"\\f2b0\";\n$fa-var-flag: \"\\f024\";\n$fa-var-flag-checkered: \"\\f11e\";\n$fa-var-flag-o: \"\\f11d\";\n$fa-var-flash: \"\\f0e7\";\n$fa-var-flask: \"\\f0c3\";\n$fa-var-flickr: \"\\f16e\";\n$fa-var-floppy-o: \"\\f0c7\";\n$fa-var-folder: \"\\f07b\";\n$fa-var-folder-o: \"\\f114\";\n$fa-var-folder-open: \"\\f07c\";\n$fa-var-folder-open-o: \"\\f115\";\n$fa-var-font: \"\\f031\";\n$fa-var-font-awesome: \"\\f2b4\";\n$fa-var-fonticons: \"\\f280\";\n$fa-var-fort-awesome: \"\\f286\";\n$fa-var-forumbee: \"\\f211\";\n$fa-var-forward: \"\\f04e\";\n$fa-var-foursquare: \"\\f180\";\n$fa-var-free-code-camp: \"\\f2c5\";\n$fa-var-frown-o: \"\\f119\";\n$fa-var-futbol-o: \"\\f1e3\";\n$fa-var-gamepad: \"\\f11b\";\n$fa-var-gavel: \"\\f0e3\";\n$fa-var-gbp: \"\\f154\";\n$fa-var-ge: \"\\f1d1\";\n$fa-var-gear: \"\\f013\";\n$fa-var-gears: \"\\f085\";\n$fa-var-genderless: \"\\f22d\";\n$fa-var-get-pocket: \"\\f265\";\n$fa-var-gg: \"\\f260\";\n$fa-var-gg-circle: \"\\f261\";\n$fa-var-gift: \"\\f06b\";\n$fa-var-git: \"\\f1d3\";\n$fa-var-git-square: \"\\f1d2\";\n$fa-var-github: \"\\f09b\";\n$fa-var-github-alt: \"\\f113\";\n$fa-var-github-square: \"\\f092\";\n$fa-var-gitlab: \"\\f296\";\n$fa-var-gittip: \"\\f184\";\n$fa-var-glass: \"\\f000\";\n$fa-var-glide: \"\\f2a5\";\n$fa-var-glide-g: \"\\f2a6\";\n$fa-var-globe: \"\\f0ac\";\n$fa-var-google: \"\\f1a0\";\n$fa-var-google-plus: \"\\f0d5\";\n$fa-var-google-plus-circle: \"\\f2b3\";\n$fa-var-google-plus-official: \"\\f2b3\";\n$fa-var-google-plus-square: \"\\f0d4\";\n$fa-var-google-wallet: \"\\f1ee\";\n$fa-var-graduation-cap: \"\\f19d\";\n$fa-var-gratipay: \"\\f184\";\n$fa-var-grav: \"\\f2d6\";\n$fa-var-group: \"\\f0c0\";\n$fa-var-h-square: \"\\f0fd\";\n$fa-var-hacker-news: \"\\f1d4\";\n$fa-var-hand-grab-o: \"\\f255\";\n$fa-var-hand-lizard-o: \"\\f258\";\n$fa-var-hand-o-down: \"\\f0a7\";\n$fa-var-hand-o-left: \"\\f0a5\";\n$fa-var-hand-o-right: \"\\f0a4\";\n$fa-var-hand-o-up: \"\\f0a6\";\n$fa-var-hand-paper-o: \"\\f256\";\n$fa-var-hand-peace-o: \"\\f25b\";\n$fa-var-hand-pointer-o: \"\\f25a\";\n$fa-var-hand-rock-o: \"\\f255\";\n$fa-var-hand-scissors-o: \"\\f257\";\n$fa-var-hand-spock-o: \"\\f259\";\n$fa-var-hand-stop-o: \"\\f256\";\n$fa-var-handshake-o: \"\\f2b5\";\n$fa-var-hard-of-hearing: \"\\f2a4\";\n$fa-var-hashtag: \"\\f292\";\n$fa-var-hdd-o: \"\\f0a0\";\n$fa-var-header: \"\\f1dc\";\n$fa-var-headphones: \"\\f025\";\n$fa-var-heart: \"\\f004\";\n$fa-var-heart-o: \"\\f08a\";\n$fa-var-heartbeat: \"\\f21e\";\n$fa-var-history: \"\\f1da\";\n$fa-var-home: \"\\f015\";\n$fa-var-hospital-o: \"\\f0f8\";\n$fa-var-hotel: \"\\f236\";\n$fa-var-hourglass: \"\\f254\";\n$fa-var-hourglass-1: \"\\f251\";\n$fa-var-hourglass-2: \"\\f252\";\n$fa-var-hourglass-3: \"\\f253\";\n$fa-var-hourglass-end: \"\\f253\";\n$fa-var-hourglass-half: \"\\f252\";\n$fa-var-hourglass-o: \"\\f250\";\n$fa-var-hourglass-start: \"\\f251\";\n$fa-var-houzz: \"\\f27c\";\n$fa-var-html5: \"\\f13b\";\n$fa-var-i-cursor: \"\\f246\";\n$fa-var-id-badge: \"\\f2c1\";\n$fa-var-id-card: \"\\f2c2\";\n$fa-var-id-card-o: \"\\f2c3\";\n$fa-var-ils: \"\\f20b\";\n$fa-var-image: \"\\f03e\";\n$fa-var-imdb: \"\\f2d8\";\n$fa-var-inbox: \"\\f01c\";\n$fa-var-indent: \"\\f03c\";\n$fa-var-industry: \"\\f275\";\n$fa-var-info: \"\\f129\";\n$fa-var-info-circle: \"\\f05a\";\n$fa-var-inr: \"\\f156\";\n$fa-var-instagram: \"\\f16d\";\n$fa-var-institution: \"\\f19c\";\n$fa-var-internet-explorer: \"\\f26b\";\n$fa-var-intersex: \"\\f224\";\n$fa-var-ioxhost: \"\\f208\";\n$fa-var-italic: \"\\f033\";\n$fa-var-joomla: \"\\f1aa\";\n$fa-var-jpy: \"\\f157\";\n$fa-var-jsfiddle: \"\\f1cc\";\n$fa-var-key: \"\\f084\";\n$fa-var-keyboard-o: \"\\f11c\";\n$fa-var-krw: \"\\f159\";\n$fa-var-language: \"\\f1ab\";\n$fa-var-laptop: \"\\f109\";\n$fa-var-lastfm: \"\\f202\";\n$fa-var-lastfm-square: \"\\f203\";\n$fa-var-leaf: \"\\f06c\";\n$fa-var-leanpub: \"\\f212\";\n$fa-var-legal: \"\\f0e3\";\n$fa-var-lemon-o: \"\\f094\";\n$fa-var-level-down: \"\\f149\";\n$fa-var-level-up: \"\\f148\";\n$fa-var-life-bouy: \"\\f1cd\";\n$fa-var-life-buoy: \"\\f1cd\";\n$fa-var-life-ring: \"\\f1cd\";\n$fa-var-life-saver: \"\\f1cd\";\n$fa-var-lightbulb-o: \"\\f0eb\";\n$fa-var-line-chart: \"\\f201\";\n$fa-var-link: \"\\f0c1\";\n$fa-var-linkedin: \"\\f0e1\";\n$fa-var-linkedin-square: \"\\f08c\";\n$fa-var-linode: \"\\f2b8\";\n$fa-var-linux: \"\\f17c\";\n$fa-var-list: \"\\f03a\";\n$fa-var-list-alt: \"\\f022\";\n$fa-var-list-ol: \"\\f0cb\";\n$fa-var-list-ul: \"\\f0ca\";\n$fa-var-location-arrow: \"\\f124\";\n$fa-var-lock: \"\\f023\";\n$fa-var-long-arrow-down: \"\\f175\";\n$fa-var-long-arrow-left: \"\\f177\";\n$fa-var-long-arrow-right: \"\\f178\";\n$fa-var-long-arrow-up: \"\\f176\";\n$fa-var-low-vision: \"\\f2a8\";\n$fa-var-magic: \"\\f0d0\";\n$fa-var-magnet: \"\\f076\";\n$fa-var-mail-forward: \"\\f064\";\n$fa-var-mail-reply: \"\\f112\";\n$fa-var-mail-reply-all: \"\\f122\";\n$fa-var-male: \"\\f183\";\n$fa-var-map: \"\\f279\";\n$fa-var-map-marker: \"\\f041\";\n$fa-var-map-o: \"\\f278\";\n$fa-var-map-pin: \"\\f276\";\n$fa-var-map-signs: \"\\f277\";\n$fa-var-mars: \"\\f222\";\n$fa-var-mars-double: \"\\f227\";\n$fa-var-mars-stroke: \"\\f229\";\n$fa-var-mars-stroke-h: \"\\f22b\";\n$fa-var-mars-stroke-v: \"\\f22a\";\n$fa-var-maxcdn: \"\\f136\";\n$fa-var-meanpath: \"\\f20c\";\n$fa-var-medium: \"\\f23a\";\n$fa-var-medkit: \"\\f0fa\";\n$fa-var-meetup: \"\\f2e0\";\n$fa-var-meh-o: \"\\f11a\";\n$fa-var-mercury: \"\\f223\";\n$fa-var-microchip: \"\\f2db\";\n$fa-var-microphone: \"\\f130\";\n$fa-var-microphone-slash: \"\\f131\";\n$fa-var-minus: \"\\f068\";\n$fa-var-minus-circle: \"\\f056\";\n$fa-var-minus-square: \"\\f146\";\n$fa-var-minus-square-o: \"\\f147\";\n$fa-var-mixcloud: \"\\f289\";\n$fa-var-mobile: \"\\f10b\";\n$fa-var-mobile-phone: \"\\f10b\";\n$fa-var-modx: \"\\f285\";\n$fa-var-money: \"\\f0d6\";\n$fa-var-moon-o: \"\\f186\";\n$fa-var-mortar-board: \"\\f19d\";\n$fa-var-motorcycle: \"\\f21c\";\n$fa-var-mouse-pointer: \"\\f245\";\n$fa-var-music: \"\\f001\";\n$fa-var-navicon: \"\\f0c9\";\n$fa-var-neuter: \"\\f22c\";\n$fa-var-newspaper-o: \"\\f1ea\";\n$fa-var-object-group: \"\\f247\";\n$fa-var-object-ungroup: \"\\f248\";\n$fa-var-odnoklassniki: \"\\f263\";\n$fa-var-odnoklassniki-square: \"\\f264\";\n$fa-var-opencart: \"\\f23d\";\n$fa-var-openid: \"\\f19b\";\n$fa-var-opera: \"\\f26a\";\n$fa-var-optin-monster: \"\\f23c\";\n$fa-var-outdent: \"\\f03b\";\n$fa-var-pagelines: \"\\f18c\";\n$fa-var-paint-brush: \"\\f1fc\";\n$fa-var-paper-plane: \"\\f1d8\";\n$fa-var-paper-plane-o: \"\\f1d9\";\n$fa-var-paperclip: \"\\f0c6\";\n$fa-var-paragraph: \"\\f1dd\";\n$fa-var-paste: \"\\f0ea\";\n$fa-var-pause: \"\\f04c\";\n$fa-var-pause-circle: \"\\f28b\";\n$fa-var-pause-circle-o: \"\\f28c\";\n$fa-var-paw: \"\\f1b0\";\n$fa-var-paypal: \"\\f1ed\";\n$fa-var-pencil: \"\\f040\";\n$fa-var-pencil-square: \"\\f14b\";\n$fa-var-pencil-square-o: \"\\f044\";\n$fa-var-percent: \"\\f295\";\n$fa-var-phone: \"\\f095\";\n$fa-var-phone-square: \"\\f098\";\n$fa-var-photo: \"\\f03e\";\n$fa-var-picture-o: \"\\f03e\";\n$fa-var-pie-chart: \"\\f200\";\n$fa-var-pied-piper: \"\\f2ae\";\n$fa-var-pied-piper-alt: \"\\f1a8\";\n$fa-var-pied-piper-pp: \"\\f1a7\";\n$fa-var-pinterest: \"\\f0d2\";\n$fa-var-pinterest-p: \"\\f231\";\n$fa-var-pinterest-square: \"\\f0d3\";\n$fa-var-plane: \"\\f072\";\n$fa-var-play: \"\\f04b\";\n$fa-var-play-circle: \"\\f144\";\n$fa-var-play-circle-o: \"\\f01d\";\n$fa-var-plug: \"\\f1e6\";\n$fa-var-plus: \"\\f067\";\n$fa-var-plus-circle: \"\\f055\";\n$fa-var-plus-square: \"\\f0fe\";\n$fa-var-plus-square-o: \"\\f196\";\n$fa-var-podcast: \"\\f2ce\";\n$fa-var-power-off: \"\\f011\";\n$fa-var-print: \"\\f02f\";\n$fa-var-product-hunt: \"\\f288\";\n$fa-var-puzzle-piece: \"\\f12e\";\n$fa-var-qq: \"\\f1d6\";\n$fa-var-qrcode: \"\\f029\";\n$fa-var-question: \"\\f128\";\n$fa-var-question-circle: \"\\f059\";\n$fa-var-question-circle-o: \"\\f29c\";\n$fa-var-quora: \"\\f2c4\";\n$fa-var-quote-left: \"\\f10d\";\n$fa-var-quote-right: \"\\f10e\";\n$fa-var-ra: \"\\f1d0\";\n$fa-var-random: \"\\f074\";\n$fa-var-ravelry: \"\\f2d9\";\n$fa-var-rebel: \"\\f1d0\";\n$fa-var-recycle: \"\\f1b8\";\n$fa-var-reddit: \"\\f1a1\";\n$fa-var-reddit-alien: \"\\f281\";\n$fa-var-reddit-square: \"\\f1a2\";\n$fa-var-refresh: \"\\f021\";\n$fa-var-registered: \"\\f25d\";\n$fa-var-remove: \"\\f00d\";\n$fa-var-renren: \"\\f18b\";\n$fa-var-reorder: \"\\f0c9\";\n$fa-var-repeat: \"\\f01e\";\n$fa-var-reply: \"\\f112\";\n$fa-var-reply-all: \"\\f122\";\n$fa-var-resistance: \"\\f1d0\";\n$fa-var-retweet: \"\\f079\";\n$fa-var-rmb: \"\\f157\";\n$fa-var-road: \"\\f018\";\n$fa-var-rocket: \"\\f135\";\n$fa-var-rotate-left: \"\\f0e2\";\n$fa-var-rotate-right: \"\\f01e\";\n$fa-var-rouble: \"\\f158\";\n$fa-var-rss: \"\\f09e\";\n$fa-var-rss-square: \"\\f143\";\n$fa-var-rub: \"\\f158\";\n$fa-var-ruble: \"\\f158\";\n$fa-var-rupee: \"\\f156\";\n$fa-var-s15: \"\\f2cd\";\n$fa-var-safari: \"\\f267\";\n$fa-var-save: \"\\f0c7\";\n$fa-var-scissors: \"\\f0c4\";\n$fa-var-scribd: \"\\f28a\";\n$fa-var-search: \"\\f002\";\n$fa-var-search-minus: \"\\f010\";\n$fa-var-search-plus: \"\\f00e\";\n$fa-var-sellsy: \"\\f213\";\n$fa-var-send: \"\\f1d8\";\n$fa-var-send-o: \"\\f1d9\";\n$fa-var-server: \"\\f233\";\n$fa-var-share: \"\\f064\";\n$fa-var-share-alt: \"\\f1e0\";\n$fa-var-share-alt-square: \"\\f1e1\";\n$fa-var-share-square: \"\\f14d\";\n$fa-var-share-square-o: \"\\f045\";\n$fa-var-shekel: \"\\f20b\";\n$fa-var-sheqel: \"\\f20b\";\n$fa-var-shield: \"\\f132\";\n$fa-var-ship: \"\\f21a\";\n$fa-var-shirtsinbulk: \"\\f214\";\n$fa-var-shopping-bag: \"\\f290\";\n$fa-var-shopping-basket: \"\\f291\";\n$fa-var-shopping-cart: \"\\f07a\";\n$fa-var-shower: \"\\f2cc\";\n$fa-var-sign-in: \"\\f090\";\n$fa-var-sign-language: \"\\f2a7\";\n$fa-var-sign-out: \"\\f08b\";\n$fa-var-signal: \"\\f012\";\n$fa-var-signing: \"\\f2a7\";\n$fa-var-simplybuilt: \"\\f215\";\n$fa-var-sitemap: \"\\f0e8\";\n$fa-var-skyatlas: \"\\f216\";\n$fa-var-skype: \"\\f17e\";\n$fa-var-slack: \"\\f198\";\n$fa-var-sliders: \"\\f1de\";\n$fa-var-slideshare: \"\\f1e7\";\n$fa-var-smile-o: \"\\f118\";\n$fa-var-snapchat: \"\\f2ab\";\n$fa-var-snapchat-ghost: \"\\f2ac\";\n$fa-var-snapchat-square: \"\\f2ad\";\n$fa-var-snowflake-o: \"\\f2dc\";\n$fa-var-soccer-ball-o: \"\\f1e3\";\n$fa-var-sort: \"\\f0dc\";\n$fa-var-sort-alpha-asc: \"\\f15d\";\n$fa-var-sort-alpha-desc: \"\\f15e\";\n$fa-var-sort-amount-asc: \"\\f160\";\n$fa-var-sort-amount-desc: \"\\f161\";\n$fa-var-sort-asc: \"\\f0de\";\n$fa-var-sort-desc: \"\\f0dd\";\n$fa-var-sort-down: \"\\f0dd\";\n$fa-var-sort-numeric-asc: \"\\f162\";\n$fa-var-sort-numeric-desc: \"\\f163\";\n$fa-var-sort-up: \"\\f0de\";\n$fa-var-soundcloud: \"\\f1be\";\n$fa-var-space-shuttle: \"\\f197\";\n$fa-var-spinner: \"\\f110\";\n$fa-var-spoon: \"\\f1b1\";\n$fa-var-spotify: \"\\f1bc\";\n$fa-var-square: \"\\f0c8\";\n$fa-var-square-o: \"\\f096\";\n$fa-var-stack-exchange: \"\\f18d\";\n$fa-var-stack-overflow: \"\\f16c\";\n$fa-var-star: \"\\f005\";\n$fa-var-star-half: \"\\f089\";\n$fa-var-star-half-empty: \"\\f123\";\n$fa-var-star-half-full: \"\\f123\";\n$fa-var-star-half-o: \"\\f123\";\n$fa-var-star-o: \"\\f006\";\n$fa-var-steam: \"\\f1b6\";\n$fa-var-steam-square: \"\\f1b7\";\n$fa-var-step-backward: \"\\f048\";\n$fa-var-step-forward: \"\\f051\";\n$fa-var-stethoscope: \"\\f0f1\";\n$fa-var-sticky-note: \"\\f249\";\n$fa-var-sticky-note-o: \"\\f24a\";\n$fa-var-stop: \"\\f04d\";\n$fa-var-stop-circle: \"\\f28d\";\n$fa-var-stop-circle-o: \"\\f28e\";\n$fa-var-street-view: \"\\f21d\";\n$fa-var-strikethrough: \"\\f0cc\";\n$fa-var-stumbleupon: \"\\f1a4\";\n$fa-var-stumbleupon-circle: \"\\f1a3\";\n$fa-var-subscript: \"\\f12c\";\n$fa-var-subway: \"\\f239\";\n$fa-var-suitcase: \"\\f0f2\";\n$fa-var-sun-o: \"\\f185\";\n$fa-var-superpowers: \"\\f2dd\";\n$fa-var-superscript: \"\\f12b\";\n$fa-var-support: \"\\f1cd\";\n$fa-var-table: \"\\f0ce\";\n$fa-var-tablet: \"\\f10a\";\n$fa-var-tachometer: \"\\f0e4\";\n$fa-var-tag: \"\\f02b\";\n$fa-var-tags: \"\\f02c\";\n$fa-var-tasks: \"\\f0ae\";\n$fa-var-taxi: \"\\f1ba\";\n$fa-var-telegram: \"\\f2c6\";\n$fa-var-television: \"\\f26c\";\n$fa-var-tencent-weibo: \"\\f1d5\";\n$fa-var-terminal: \"\\f120\";\n$fa-var-text-height: \"\\f034\";\n$fa-var-text-width: \"\\f035\";\n$fa-var-th: \"\\f00a\";\n$fa-var-th-large: \"\\f009\";\n$fa-var-th-list: \"\\f00b\";\n$fa-var-themeisle: \"\\f2b2\";\n$fa-var-thermometer: \"\\f2c7\";\n$fa-var-thermometer-0: \"\\f2cb\";\n$fa-var-thermometer-1: \"\\f2ca\";\n$fa-var-thermometer-2: \"\\f2c9\";\n$fa-var-thermometer-3: \"\\f2c8\";\n$fa-var-thermometer-4: \"\\f2c7\";\n$fa-var-thermometer-empty: \"\\f2cb\";\n$fa-var-thermometer-full: \"\\f2c7\";\n$fa-var-thermometer-half: \"\\f2c9\";\n$fa-var-thermometer-quarter: \"\\f2ca\";\n$fa-var-thermometer-three-quarters: \"\\f2c8\";\n$fa-var-thumb-tack: \"\\f08d\";\n$fa-var-thumbs-down: \"\\f165\";\n$fa-var-thumbs-o-down: \"\\f088\";\n$fa-var-thumbs-o-up: \"\\f087\";\n$fa-var-thumbs-up: \"\\f164\";\n$fa-var-ticket: \"\\f145\";\n$fa-var-times: \"\\f00d\";\n$fa-var-times-circle: \"\\f057\";\n$fa-var-times-circle-o: \"\\f05c\";\n$fa-var-times-rectangle: \"\\f2d3\";\n$fa-var-times-rectangle-o: \"\\f2d4\";\n$fa-var-tint: \"\\f043\";\n$fa-var-toggle-down: \"\\f150\";\n$fa-var-toggle-left: \"\\f191\";\n$fa-var-toggle-off: \"\\f204\";\n$fa-var-toggle-on: \"\\f205\";\n$fa-var-toggle-right: \"\\f152\";\n$fa-var-toggle-up: \"\\f151\";\n$fa-var-trademark: \"\\f25c\";\n$fa-var-train: \"\\f238\";\n$fa-var-transgender: \"\\f224\";\n$fa-var-transgender-alt: \"\\f225\";\n$fa-var-trash: \"\\f1f8\";\n$fa-var-trash-o: \"\\f014\";\n$fa-var-tree: \"\\f1bb\";\n$fa-var-trello: \"\\f181\";\n$fa-var-tripadvisor: \"\\f262\";\n$fa-var-trophy: \"\\f091\";\n$fa-var-truck: \"\\f0d1\";\n$fa-var-try: \"\\f195\";\n$fa-var-tty: \"\\f1e4\";\n$fa-var-tumblr: \"\\f173\";\n$fa-var-tumblr-square: \"\\f174\";\n$fa-var-turkish-lira: \"\\f195\";\n$fa-var-tv: \"\\f26c\";\n$fa-var-twitch: \"\\f1e8\";\n$fa-var-twitter: \"\\f099\";\n$fa-var-twitter-square: \"\\f081\";\n$fa-var-umbrella: \"\\f0e9\";\n$fa-var-underline: \"\\f0cd\";\n$fa-var-undo: \"\\f0e2\";\n$fa-var-universal-access: \"\\f29a\";\n$fa-var-university: \"\\f19c\";\n$fa-var-unlink: \"\\f127\";\n$fa-var-unlock: \"\\f09c\";\n$fa-var-unlock-alt: \"\\f13e\";\n$fa-var-unsorted: \"\\f0dc\";\n$fa-var-upload: \"\\f093\";\n$fa-var-usb: \"\\f287\";\n$fa-var-usd: \"\\f155\";\n$fa-var-user: \"\\f007\";\n$fa-var-user-circle: \"\\f2bd\";\n$fa-var-user-circle-o: \"\\f2be\";\n$fa-var-user-md: \"\\f0f0\";\n$fa-var-user-o: \"\\f2c0\";\n$fa-var-user-plus: \"\\f234\";\n$fa-var-user-secret: \"\\f21b\";\n$fa-var-user-times: \"\\f235\";\n$fa-var-users: \"\\f0c0\";\n$fa-var-vcard: \"\\f2bb\";\n$fa-var-vcard-o: \"\\f2bc\";\n$fa-var-venus: \"\\f221\";\n$fa-var-venus-double: \"\\f226\";\n$fa-var-venus-mars: \"\\f228\";\n$fa-var-viacoin: \"\\f237\";\n$fa-var-viadeo: \"\\f2a9\";\n$fa-var-viadeo-square: \"\\f2aa\";\n$fa-var-video-camera: \"\\f03d\";\n$fa-var-vimeo: \"\\f27d\";\n$fa-var-vimeo-square: \"\\f194\";\n$fa-var-vine: \"\\f1ca\";\n$fa-var-vk: \"\\f189\";\n$fa-var-volume-control-phone: \"\\f2a0\";\n$fa-var-volume-down: \"\\f027\";\n$fa-var-volume-off: \"\\f026\";\n$fa-var-volume-up: \"\\f028\";\n$fa-var-warning: \"\\f071\";\n$fa-var-wechat: \"\\f1d7\";\n$fa-var-weibo: \"\\f18a\";\n$fa-var-weixin: \"\\f1d7\";\n$fa-var-whatsapp: \"\\f232\";\n$fa-var-wheelchair: \"\\f193\";\n$fa-var-wheelchair-alt: \"\\f29b\";\n$fa-var-wifi: \"\\f1eb\";\n$fa-var-wikipedia-w: \"\\f266\";\n$fa-var-window-close: \"\\f2d3\";\n$fa-var-window-close-o: \"\\f2d4\";\n$fa-var-window-maximize: \"\\f2d0\";\n$fa-var-window-minimize: \"\\f2d1\";\n$fa-var-window-restore: \"\\f2d2\";\n$fa-var-windows: \"\\f17a\";\n$fa-var-won: \"\\f159\";\n$fa-var-wordpress: \"\\f19a\";\n$fa-var-wpbeginner: \"\\f297\";\n$fa-var-wpexplorer: \"\\f2de\";\n$fa-var-wpforms: \"\\f298\";\n$fa-var-wrench: \"\\f0ad\";\n$fa-var-xing: \"\\f168\";\n$fa-var-xing-square: \"\\f169\";\n$fa-var-y-combinator: \"\\f23b\";\n$fa-var-y-combinator-square: \"\\f1d4\";\n$fa-var-yahoo: \"\\f19e\";\n$fa-var-yc: \"\\f23b\";\n$fa-var-yc-square: \"\\f1d4\";\n$fa-var-yelp: \"\\f1e9\";\n$fa-var-yen: \"\\f157\";\n$fa-var-yoast: \"\\f2b1\";\n$fa-var-youtube: \"\\f167\";\n$fa-var-youtube-play: \"\\f16a\";\n$fa-var-youtube-square: \"\\f166\";\n\n"
  },
  {
    "path": "static/font-awesome-4.7.0/scss/font-awesome.scss",
    "content": "/*!\n *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n@import \"variables\";\n@import \"mixins\";\n@import \"path\";\n@import \"core\";\n@import \"larger\";\n@import \"fixed-width\";\n@import \"list\";\n@import \"bordered-pulled\";\n@import \"animated\";\n@import \"rotated-flipped\";\n@import \"stacked\";\n@import \"icons\";\n@import \"screen-reader\";\n"
  },
  {
    "path": "static/js/bootstrap.js",
    "content": "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under the MIT license\n */\n\nif (typeof jQuery === 'undefined') {\n  throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n  'use strict';\n  var version = $.fn.jquery.split(' ')[0].split('.')\n  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {\n    throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')\n  }\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: transition.js v3.3.7\n * http://getbootstrap.com/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n  // ============================================================\n\n  function transitionEnd() {\n    var el = document.createElement('bootstrap')\n\n    var transEndEventNames = {\n      WebkitTransition : 'webkitTransitionEnd',\n      MozTransition    : 'transitionend',\n      OTransition      : 'oTransitionEnd otransitionend',\n      transition       : 'transitionend'\n    }\n\n    for (var name in transEndEventNames) {\n      if (el.style[name] !== undefined) {\n        return { end: transEndEventNames[name] }\n      }\n    }\n\n    return false // explicit for ie8 (  ._.)\n  }\n\n  // http://blog.alexmaccaw.com/css-transitions\n  $.fn.emulateTransitionEnd = function (duration) {\n    var called = false\n    var $el = this\n    $(this).one('bsTransitionEnd', function () { called = true })\n    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n    setTimeout(callback, duration)\n    return this\n  }\n\n  $(function () {\n    $.support.transition = transitionEnd()\n\n    if (!$.support.transition) return\n\n    $.event.special.bsTransitionEnd = {\n      bindType: $.support.transition.end,\n      delegateType: $.support.transition.end,\n      handle: function (e) {\n        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\n      }\n    }\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: alert.js v3.3.7\n * http://getbootstrap.com/javascript/#alerts\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // ALERT CLASS DEFINITION\n  // ======================\n\n  var dismiss = '[data-dismiss=\"alert\"]'\n  var Alert   = function (el) {\n    $(el).on('click', dismiss, this.close)\n  }\n\n  Alert.VERSION = '3.3.7'\n\n  Alert.TRANSITION_DURATION = 150\n\n  Alert.prototype.close = function (e) {\n    var $this    = $(this)\n    var selector = $this.attr('data-target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    var $parent = $(selector === '#' ? [] : selector)\n\n    if (e) e.preventDefault()\n\n    if (!$parent.length) {\n      $parent = $this.closest('.alert')\n    }\n\n    $parent.trigger(e = $.Event('close.bs.alert'))\n\n    if (e.isDefaultPrevented()) return\n\n    $parent.removeClass('in')\n\n    function removeElement() {\n      // detach from parent, fire event then clean up data\n      $parent.detach().trigger('closed.bs.alert').remove()\n    }\n\n    $.support.transition && $parent.hasClass('fade') ?\n      $parent\n        .one('bsTransitionEnd', removeElement)\n        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :\n      removeElement()\n  }\n\n\n  // ALERT PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.alert')\n\n      if (!data) $this.data('bs.alert', (data = new Alert(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  var old = $.fn.alert\n\n  $.fn.alert             = Plugin\n  $.fn.alert.Constructor = Alert\n\n\n  // ALERT NO CONFLICT\n  // =================\n\n  $.fn.alert.noConflict = function () {\n    $.fn.alert = old\n    return this\n  }\n\n\n  // ALERT DATA-API\n  // ==============\n\n  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: button.js v3.3.7\n * http://getbootstrap.com/javascript/#buttons\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // BUTTON PUBLIC CLASS DEFINITION\n  // ==============================\n\n  var Button = function (element, options) {\n    this.$element  = $(element)\n    this.options   = $.extend({}, Button.DEFAULTS, options)\n    this.isLoading = false\n  }\n\n  Button.VERSION  = '3.3.7'\n\n  Button.DEFAULTS = {\n    loadingText: 'loading...'\n  }\n\n  Button.prototype.setState = function (state) {\n    var d    = 'disabled'\n    var $el  = this.$element\n    var val  = $el.is('input') ? 'val' : 'html'\n    var data = $el.data()\n\n    state += 'Text'\n\n    if (data.resetText == null) $el.data('resetText', $el[val]())\n\n    // push to event loop to allow forms to submit\n    setTimeout($.proxy(function () {\n      $el[val](data[state] == null ? this.options[state] : data[state])\n\n      if (state == 'loadingText') {\n        this.isLoading = true\n        $el.addClass(d).attr(d, d).prop(d, true)\n      } else if (this.isLoading) {\n        this.isLoading = false\n        $el.removeClass(d).removeAttr(d).prop(d, false)\n      }\n    }, this), 0)\n  }\n\n  Button.prototype.toggle = function () {\n    var changed = true\n    var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n    if ($parent.length) {\n      var $input = this.$element.find('input')\n      if ($input.prop('type') == 'radio') {\n        if ($input.prop('checked')) changed = false\n        $parent.find('.active').removeClass('active')\n        this.$element.addClass('active')\n      } else if ($input.prop('type') == 'checkbox') {\n        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false\n        this.$element.toggleClass('active')\n      }\n      $input.prop('checked', this.$element.hasClass('active'))\n      if (changed) $input.trigger('change')\n    } else {\n      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))\n      this.$element.toggleClass('active')\n    }\n  }\n\n\n  // BUTTON PLUGIN DEFINITION\n  // ========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.button')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.button', (data = new Button(this, options)))\n\n      if (option == 'toggle') data.toggle()\n      else if (option) data.setState(option)\n    })\n  }\n\n  var old = $.fn.button\n\n  $.fn.button             = Plugin\n  $.fn.button.Constructor = Button\n\n\n  // BUTTON NO CONFLICT\n  // ==================\n\n  $.fn.button.noConflict = function () {\n    $.fn.button = old\n    return this\n  }\n\n\n  // BUTTON DATA-API\n  // ===============\n\n  $(document)\n    .on('click.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n      var $btn = $(e.target).closest('.btn')\n      Plugin.call($btn, 'toggle')\n      if (!($(e.target).is('input[type=\"radio\"], input[type=\"checkbox\"]'))) {\n        // Prevent double click on radios, and the double selections (so cancellation) on checkboxes\n        e.preventDefault()\n        // The target component still receive the focus\n        if ($btn.is('input,button')) $btn.trigger('focus')\n        else $btn.find('input:visible,button:visible').first().trigger('focus')\n      }\n    })\n    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))\n    })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: carousel.js v3.3.7\n * http://getbootstrap.com/javascript/#carousel\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // CAROUSEL CLASS DEFINITION\n  // =========================\n\n  var Carousel = function (element, options) {\n    this.$element    = $(element)\n    this.$indicators = this.$element.find('.carousel-indicators')\n    this.options     = options\n    this.paused      = null\n    this.sliding     = null\n    this.interval    = null\n    this.$active     = null\n    this.$items      = null\n\n    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))\n\n    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element\n      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n  }\n\n  Carousel.VERSION  = '3.3.7'\n\n  Carousel.TRANSITION_DURATION = 600\n\n  Carousel.DEFAULTS = {\n    interval: 5000,\n    pause: 'hover',\n    wrap: true,\n    keyboard: true\n  }\n\n  Carousel.prototype.keydown = function (e) {\n    if (/input|textarea/i.test(e.target.tagName)) return\n    switch (e.which) {\n      case 37: this.prev(); break\n      case 39: this.next(); break\n      default: return\n    }\n\n    e.preventDefault()\n  }\n\n  Carousel.prototype.cycle = function (e) {\n    e || (this.paused = false)\n\n    this.interval && clearInterval(this.interval)\n\n    this.options.interval\n      && !this.paused\n      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n\n    return this\n  }\n\n  Carousel.prototype.getItemIndex = function (item) {\n    this.$items = item.parent().children('.item')\n    return this.$items.index(item || this.$active)\n  }\n\n  Carousel.prototype.getItemForDirection = function (direction, active) {\n    var activeIndex = this.getItemIndex(active)\n    var willWrap = (direction == 'prev' && activeIndex === 0)\n                || (direction == 'next' && activeIndex == (this.$items.length - 1))\n    if (willWrap && !this.options.wrap) return active\n    var delta = direction == 'prev' ? -1 : 1\n    var itemIndex = (activeIndex + delta) % this.$items.length\n    return this.$items.eq(itemIndex)\n  }\n\n  Carousel.prototype.to = function (pos) {\n    var that        = this\n    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))\n\n    if (pos > (this.$items.length - 1) || pos < 0) return\n\n    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, \"slid\"\n    if (activeIndex == pos) return this.pause().cycle()\n\n    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))\n  }\n\n  Carousel.prototype.pause = function (e) {\n    e || (this.paused = true)\n\n    if (this.$element.find('.next, .prev').length && $.support.transition) {\n      this.$element.trigger($.support.transition.end)\n      this.cycle(true)\n    }\n\n    this.interval = clearInterval(this.interval)\n\n    return this\n  }\n\n  Carousel.prototype.next = function () {\n    if (this.sliding) return\n    return this.slide('next')\n  }\n\n  Carousel.prototype.prev = function () {\n    if (this.sliding) return\n    return this.slide('prev')\n  }\n\n  Carousel.prototype.slide = function (type, next) {\n    var $active   = this.$element.find('.item.active')\n    var $next     = next || this.getItemForDirection(type, $active)\n    var isCycling = this.interval\n    var direction = type == 'next' ? 'left' : 'right'\n    var that      = this\n\n    if ($next.hasClass('active')) return (this.sliding = false)\n\n    var relatedTarget = $next[0]\n    var slideEvent = $.Event('slide.bs.carousel', {\n      relatedTarget: relatedTarget,\n      direction: direction\n    })\n    this.$element.trigger(slideEvent)\n    if (slideEvent.isDefaultPrevented()) return\n\n    this.sliding = true\n\n    isCycling && this.pause()\n\n    if (this.$indicators.length) {\n      this.$indicators.find('.active').removeClass('active')\n      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\n      $nextIndicator && $nextIndicator.addClass('active')\n    }\n\n    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, \"slid\"\n    if ($.support.transition && this.$element.hasClass('slide')) {\n      $next.addClass(type)\n      $next[0].offsetWidth // force reflow\n      $active.addClass(direction)\n      $next.addClass(direction)\n      $active\n        .one('bsTransitionEnd', function () {\n          $next.removeClass([type, direction].join(' ')).addClass('active')\n          $active.removeClass(['active', direction].join(' '))\n          that.sliding = false\n          setTimeout(function () {\n            that.$element.trigger(slidEvent)\n          }, 0)\n        })\n        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)\n    } else {\n      $active.removeClass('active')\n      $next.addClass('active')\n      this.sliding = false\n      this.$element.trigger(slidEvent)\n    }\n\n    isCycling && this.cycle()\n\n    return this\n  }\n\n\n  // CAROUSEL PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.carousel')\n      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n      var action  = typeof option == 'string' ? option : options.slide\n\n      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n      if (typeof option == 'number') data.to(option)\n      else if (action) data[action]()\n      else if (options.interval) data.pause().cycle()\n    })\n  }\n\n  var old = $.fn.carousel\n\n  $.fn.carousel             = Plugin\n  $.fn.carousel.Constructor = Carousel\n\n\n  // CAROUSEL NO CONFLICT\n  // ====================\n\n  $.fn.carousel.noConflict = function () {\n    $.fn.carousel = old\n    return this\n  }\n\n\n  // CAROUSEL DATA-API\n  // =================\n\n  var clickHandler = function (e) {\n    var href\n    var $this   = $(this)\n    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n    if (!$target.hasClass('carousel')) return\n    var options = $.extend({}, $target.data(), $this.data())\n    var slideIndex = $this.attr('data-slide-to')\n    if (slideIndex) options.interval = false\n\n    Plugin.call($target, options)\n\n    if (slideIndex) {\n      $target.data('bs.carousel').to(slideIndex)\n    }\n\n    e.preventDefault()\n  }\n\n  $(document)\n    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)\n    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)\n\n  $(window).on('load', function () {\n    $('[data-ride=\"carousel\"]').each(function () {\n      var $carousel = $(this)\n      Plugin.call($carousel, $carousel.data())\n    })\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: collapse.js v3.3.7\n * http://getbootstrap.com/javascript/#collapse\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n/* jshint latedef: false */\n\n+function ($) {\n  'use strict';\n\n  // COLLAPSE PUBLIC CLASS DEFINITION\n  // ================================\n\n  var Collapse = function (element, options) {\n    this.$element      = $(element)\n    this.options       = $.extend({}, Collapse.DEFAULTS, options)\n    this.$trigger      = $('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' +\n                           '[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')\n    this.transitioning = null\n\n    if (this.options.parent) {\n      this.$parent = this.getParent()\n    } else {\n      this.addAriaAndCollapsedClass(this.$element, this.$trigger)\n    }\n\n    if (this.options.toggle) this.toggle()\n  }\n\n  Collapse.VERSION  = '3.3.7'\n\n  Collapse.TRANSITION_DURATION = 350\n\n  Collapse.DEFAULTS = {\n    toggle: true\n  }\n\n  Collapse.prototype.dimension = function () {\n    var hasWidth = this.$element.hasClass('width')\n    return hasWidth ? 'width' : 'height'\n  }\n\n  Collapse.prototype.show = function () {\n    if (this.transitioning || this.$element.hasClass('in')) return\n\n    var activesData\n    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')\n\n    if (actives && actives.length) {\n      activesData = actives.data('bs.collapse')\n      if (activesData && activesData.transitioning) return\n    }\n\n    var startEvent = $.Event('show.bs.collapse')\n    this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) return\n\n    if (actives && actives.length) {\n      Plugin.call(actives, 'hide')\n      activesData || actives.data('bs.collapse', null)\n    }\n\n    var dimension = this.dimension()\n\n    this.$element\n      .removeClass('collapse')\n      .addClass('collapsing')[dimension](0)\n      .attr('aria-expanded', true)\n\n    this.$trigger\n      .removeClass('collapsed')\n      .attr('aria-expanded', true)\n\n    this.transitioning = 1\n\n    var complete = function () {\n      this.$element\n        .removeClass('collapsing')\n        .addClass('collapse in')[dimension]('')\n      this.transitioning = 0\n      this.$element\n        .trigger('shown.bs.collapse')\n    }\n\n    if (!$.support.transition) return complete.call(this)\n\n    var scrollSize = $.camelCase(['scroll', dimension].join('-'))\n\n    this.$element\n      .one('bsTransitionEnd', $.proxy(complete, this))\n      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])\n  }\n\n  Collapse.prototype.hide = function () {\n    if (this.transitioning || !this.$element.hasClass('in')) return\n\n    var startEvent = $.Event('hide.bs.collapse')\n    this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) return\n\n    var dimension = this.dimension()\n\n    this.$element[dimension](this.$element[dimension]())[0].offsetHeight\n\n    this.$element\n      .addClass('collapsing')\n      .removeClass('collapse in')\n      .attr('aria-expanded', false)\n\n    this.$trigger\n      .addClass('collapsed')\n      .attr('aria-expanded', false)\n\n    this.transitioning = 1\n\n    var complete = function () {\n      this.transitioning = 0\n      this.$element\n        .removeClass('collapsing')\n        .addClass('collapse')\n        .trigger('hidden.bs.collapse')\n    }\n\n    if (!$.support.transition) return complete.call(this)\n\n    this.$element\n      [dimension](0)\n      .one('bsTransitionEnd', $.proxy(complete, this))\n      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)\n  }\n\n  Collapse.prototype.toggle = function () {\n    this[this.$element.hasClass('in') ? 'hide' : 'show']()\n  }\n\n  Collapse.prototype.getParent = function () {\n    return $(this.options.parent)\n      .find('[data-toggle=\"collapse\"][data-parent=\"' + this.options.parent + '\"]')\n      .each($.proxy(function (i, element) {\n        var $element = $(element)\n        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)\n      }, this))\n      .end()\n  }\n\n  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {\n    var isOpen = $element.hasClass('in')\n\n    $element.attr('aria-expanded', isOpen)\n    $trigger\n      .toggleClass('collapsed', !isOpen)\n      .attr('aria-expanded', isOpen)\n  }\n\n  function getTargetFromTrigger($trigger) {\n    var href\n    var target = $trigger.attr('data-target')\n      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\n\n    return $(target)\n  }\n\n\n  // COLLAPSE PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.collapse')\n      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false\n      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.collapse\n\n  $.fn.collapse             = Plugin\n  $.fn.collapse.Constructor = Collapse\n\n\n  // COLLAPSE NO CONFLICT\n  // ====================\n\n  $.fn.collapse.noConflict = function () {\n    $.fn.collapse = old\n    return this\n  }\n\n\n  // COLLAPSE DATA-API\n  // =================\n\n  $(document).on('click.bs.collapse.data-api', '[data-toggle=\"collapse\"]', function (e) {\n    var $this   = $(this)\n\n    if (!$this.attr('data-target')) e.preventDefault()\n\n    var $target = getTargetFromTrigger($this)\n    var data    = $target.data('bs.collapse')\n    var option  = data ? 'toggle' : $this.data()\n\n    Plugin.call($target, option)\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: dropdown.js v3.3.7\n * http://getbootstrap.com/javascript/#dropdowns\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // DROPDOWN CLASS DEFINITION\n  // =========================\n\n  var backdrop = '.dropdown-backdrop'\n  var toggle   = '[data-toggle=\"dropdown\"]'\n  var Dropdown = function (element) {\n    $(element).on('click.bs.dropdown', this.toggle)\n  }\n\n  Dropdown.VERSION = '3.3.7'\n\n  function getParent($this) {\n    var selector = $this.attr('data-target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    var $parent = selector && $(selector)\n\n    return $parent && $parent.length ? $parent : $this.parent()\n  }\n\n  function clearMenus(e) {\n    if (e && e.which === 3) return\n    $(backdrop).remove()\n    $(toggle).each(function () {\n      var $this         = $(this)\n      var $parent       = getParent($this)\n      var relatedTarget = { relatedTarget: this }\n\n      if (!$parent.hasClass('open')) return\n\n      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\n\n      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\n\n      if (e.isDefaultPrevented()) return\n\n      $this.attr('aria-expanded', 'false')\n      $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\n    })\n  }\n\n  Dropdown.prototype.toggle = function (e) {\n    var $this = $(this)\n\n    if ($this.is('.disabled, :disabled')) return\n\n    var $parent  = getParent($this)\n    var isActive = $parent.hasClass('open')\n\n    clearMenus()\n\n    if (!isActive) {\n      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\n        // if mobile we use a backdrop because click events don't delegate\n        $(document.createElement('div'))\n          .addClass('dropdown-backdrop')\n          .insertAfter($(this))\n          .on('click', clearMenus)\n      }\n\n      var relatedTarget = { relatedTarget: this }\n      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\n\n      if (e.isDefaultPrevented()) return\n\n      $this\n        .trigger('focus')\n        .attr('aria-expanded', 'true')\n\n      $parent\n        .toggleClass('open')\n        .trigger($.Event('shown.bs.dropdown', relatedTarget))\n    }\n\n    return false\n  }\n\n  Dropdown.prototype.keydown = function (e) {\n    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\n\n    var $this = $(this)\n\n    e.preventDefault()\n    e.stopPropagation()\n\n    if ($this.is('.disabled, :disabled')) return\n\n    var $parent  = getParent($this)\n    var isActive = $parent.hasClass('open')\n\n    if (!isActive && e.which != 27 || isActive && e.which == 27) {\n      if (e.which == 27) $parent.find(toggle).trigger('focus')\n      return $this.trigger('click')\n    }\n\n    var desc = ' li:not(.disabled):visible a'\n    var $items = $parent.find('.dropdown-menu' + desc)\n\n    if (!$items.length) return\n\n    var index = $items.index(e.target)\n\n    if (e.which == 38 && index > 0)                 index--         // up\n    if (e.which == 40 && index < $items.length - 1) index++         // down\n    if (!~index)                                    index = 0\n\n    $items.eq(index).trigger('focus')\n  }\n\n\n  // DROPDOWN PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.dropdown')\n\n      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  var old = $.fn.dropdown\n\n  $.fn.dropdown             = Plugin\n  $.fn.dropdown.Constructor = Dropdown\n\n\n  // DROPDOWN NO CONFLICT\n  // ====================\n\n  $.fn.dropdown.noConflict = function () {\n    $.fn.dropdown = old\n    return this\n  }\n\n\n  // APPLY TO STANDARD DROPDOWN ELEMENTS\n  // ===================================\n\n  $(document)\n    .on('click.bs.dropdown.data-api', clearMenus)\n    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\n    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: modal.js v3.3.7\n * http://getbootstrap.com/javascript/#modals\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // MODAL CLASS DEFINITION\n  // ======================\n\n  var Modal = function (element, options) {\n    this.options             = options\n    this.$body               = $(document.body)\n    this.$element            = $(element)\n    this.$dialog             = this.$element.find('.modal-dialog')\n    this.$backdrop           = null\n    this.isShown             = null\n    this.originalBodyPad     = null\n    this.scrollbarWidth      = 0\n    this.ignoreBackdropClick = false\n\n    if (this.options.remote) {\n      this.$element\n        .find('.modal-content')\n        .load(this.options.remote, $.proxy(function () {\n          this.$element.trigger('loaded.bs.modal')\n        }, this))\n    }\n  }\n\n  Modal.VERSION  = '3.3.7'\n\n  Modal.TRANSITION_DURATION = 300\n  Modal.BACKDROP_TRANSITION_DURATION = 150\n\n  Modal.DEFAULTS = {\n    backdrop: true,\n    keyboard: true,\n    show: true\n  }\n\n  Modal.prototype.toggle = function (_relatedTarget) {\n    return this.isShown ? this.hide() : this.show(_relatedTarget)\n  }\n\n  Modal.prototype.show = function (_relatedTarget) {\n    var that = this\n    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })\n\n    this.$element.trigger(e)\n\n    if (this.isShown || e.isDefaultPrevented()) return\n\n    this.isShown = true\n\n    this.checkScrollbar()\n    this.setScrollbar()\n    this.$body.addClass('modal-open')\n\n    this.escape()\n    this.resize()\n\n    this.$element.on('click.dismiss.bs.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n\n    this.$dialog.on('mousedown.dismiss.bs.modal', function () {\n      that.$element.one('mouseup.dismiss.bs.modal', function (e) {\n        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true\n      })\n    })\n\n    this.backdrop(function () {\n      var transition = $.support.transition && that.$element.hasClass('fade')\n\n      if (!that.$element.parent().length) {\n        that.$element.appendTo(that.$body) // don't move modals dom position\n      }\n\n      that.$element\n        .show()\n        .scrollTop(0)\n\n      that.adjustDialog()\n\n      if (transition) {\n        that.$element[0].offsetWidth // force reflow\n      }\n\n      that.$element.addClass('in')\n\n      that.enforceFocus()\n\n      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })\n\n      transition ?\n        that.$dialog // wait for modal to slide in\n          .one('bsTransitionEnd', function () {\n            that.$element.trigger('focus').trigger(e)\n          })\n          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n        that.$element.trigger('focus').trigger(e)\n    })\n  }\n\n  Modal.prototype.hide = function (e) {\n    if (e) e.preventDefault()\n\n    e = $.Event('hide.bs.modal')\n\n    this.$element.trigger(e)\n\n    if (!this.isShown || e.isDefaultPrevented()) return\n\n    this.isShown = false\n\n    this.escape()\n    this.resize()\n\n    $(document).off('focusin.bs.modal')\n\n    this.$element\n      .removeClass('in')\n      .off('click.dismiss.bs.modal')\n      .off('mouseup.dismiss.bs.modal')\n\n    this.$dialog.off('mousedown.dismiss.bs.modal')\n\n    $.support.transition && this.$element.hasClass('fade') ?\n      this.$element\n        .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n      this.hideModal()\n  }\n\n  Modal.prototype.enforceFocus = function () {\n    $(document)\n      .off('focusin.bs.modal') // guard against infinite focus loop\n      .on('focusin.bs.modal', $.proxy(function (e) {\n        if (document !== e.target &&\n            this.$element[0] !== e.target &&\n            !this.$element.has(e.target).length) {\n          this.$element.trigger('focus')\n        }\n      }, this))\n  }\n\n  Modal.prototype.escape = function () {\n    if (this.isShown && this.options.keyboard) {\n      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {\n        e.which == 27 && this.hide()\n      }, this))\n    } else if (!this.isShown) {\n      this.$element.off('keydown.dismiss.bs.modal')\n    }\n  }\n\n  Modal.prototype.resize = function () {\n    if (this.isShown) {\n      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))\n    } else {\n      $(window).off('resize.bs.modal')\n    }\n  }\n\n  Modal.prototype.hideModal = function () {\n    var that = this\n    this.$element.hide()\n    this.backdrop(function () {\n      that.$body.removeClass('modal-open')\n      that.resetAdjustments()\n      that.resetScrollbar()\n      that.$element.trigger('hidden.bs.modal')\n    })\n  }\n\n  Modal.prototype.removeBackdrop = function () {\n    this.$backdrop && this.$backdrop.remove()\n    this.$backdrop = null\n  }\n\n  Modal.prototype.backdrop = function (callback) {\n    var that = this\n    var animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n    if (this.isShown && this.options.backdrop) {\n      var doAnimate = $.support.transition && animate\n\n      this.$backdrop = $(document.createElement('div'))\n        .addClass('modal-backdrop ' + animate)\n        .appendTo(this.$body)\n\n      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\n        if (this.ignoreBackdropClick) {\n          this.ignoreBackdropClick = false\n          return\n        }\n        if (e.target !== e.currentTarget) return\n        this.options.backdrop == 'static'\n          ? this.$element[0].focus()\n          : this.hide()\n      }, this))\n\n      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n      this.$backdrop.addClass('in')\n\n      if (!callback) return\n\n      doAnimate ?\n        this.$backdrop\n          .one('bsTransitionEnd', callback)\n          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n        callback()\n\n    } else if (!this.isShown && this.$backdrop) {\n      this.$backdrop.removeClass('in')\n\n      var callbackRemove = function () {\n        that.removeBackdrop()\n        callback && callback()\n      }\n      $.support.transition && this.$element.hasClass('fade') ?\n        this.$backdrop\n          .one('bsTransitionEnd', callbackRemove)\n          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n        callbackRemove()\n\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // these following methods are used to handle overflowing modals\n\n  Modal.prototype.handleUpdate = function () {\n    this.adjustDialog()\n  }\n\n  Modal.prototype.adjustDialog = function () {\n    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight\n\n    this.$element.css({\n      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',\n      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''\n    })\n  }\n\n  Modal.prototype.resetAdjustments = function () {\n    this.$element.css({\n      paddingLeft: '',\n      paddingRight: ''\n    })\n  }\n\n  Modal.prototype.checkScrollbar = function () {\n    var fullWindowWidth = window.innerWidth\n    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8\n      var documentElementRect = document.documentElement.getBoundingClientRect()\n      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)\n    }\n    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth\n    this.scrollbarWidth = this.measureScrollbar()\n  }\n\n  Modal.prototype.setScrollbar = function () {\n    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\n    this.originalBodyPad = document.body.style.paddingRight || ''\n    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)\n  }\n\n  Modal.prototype.resetScrollbar = function () {\n    this.$body.css('padding-right', this.originalBodyPad)\n  }\n\n  Modal.prototype.measureScrollbar = function () { // thx walsh\n    var scrollDiv = document.createElement('div')\n    scrollDiv.className = 'modal-scrollbar-measure'\n    this.$body.append(scrollDiv)\n    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n    this.$body[0].removeChild(scrollDiv)\n    return scrollbarWidth\n  }\n\n\n  // MODAL PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option, _relatedTarget) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.modal')\n      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\n      if (typeof option == 'string') data[option](_relatedTarget)\n      else if (options.show) data.show(_relatedTarget)\n    })\n  }\n\n  var old = $.fn.modal\n\n  $.fn.modal             = Plugin\n  $.fn.modal.Constructor = Modal\n\n\n  // MODAL NO CONFLICT\n  // =================\n\n  $.fn.modal.noConflict = function () {\n    $.fn.modal = old\n    return this\n  }\n\n\n  // MODAL DATA-API\n  // ==============\n\n  $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n    var $this   = $(this)\n    var href    = $this.attr('href')\n    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) // strip for ie7\n    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())\n\n    if ($this.is('a')) e.preventDefault()\n\n    $target.one('show.bs.modal', function (showEvent) {\n      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown\n      $target.one('hidden.bs.modal', function () {\n        $this.is(':visible') && $this.trigger('focus')\n      })\n    })\n    Plugin.call($target, option, this)\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tooltip.js v3.3.7\n * http://getbootstrap.com/javascript/#tooltip\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // TOOLTIP PUBLIC CLASS DEFINITION\n  // ===============================\n\n  var Tooltip = function (element, options) {\n    this.type       = null\n    this.options    = null\n    this.enabled    = null\n    this.timeout    = null\n    this.hoverState = null\n    this.$element   = null\n    this.inState    = null\n\n    this.init('tooltip', element, options)\n  }\n\n  Tooltip.VERSION  = '3.3.7'\n\n  Tooltip.TRANSITION_DURATION = 150\n\n  Tooltip.DEFAULTS = {\n    animation: true,\n    placement: 'top',\n    selector: false,\n    template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n    trigger: 'hover focus',\n    title: '',\n    delay: 0,\n    html: false,\n    container: false,\n    viewport: {\n      selector: 'body',\n      padding: 0\n    }\n  }\n\n  Tooltip.prototype.init = function (type, element, options) {\n    this.enabled   = true\n    this.type      = type\n    this.$element  = $(element)\n    this.options   = this.getOptions(options)\n    this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))\n    this.inState   = { click: false, hover: false, focus: false }\n\n    if (this.$element[0] instanceof document.constructor && !this.options.selector) {\n      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')\n    }\n\n    var triggers = this.options.trigger.split(' ')\n\n    for (var i = triggers.length; i--;) {\n      var trigger = triggers[i]\n\n      if (trigger == 'click') {\n        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n      } else if (trigger != 'manual') {\n        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'\n        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\n\n        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n      }\n    }\n\n    this.options.selector ?\n      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n      this.fixTitle()\n  }\n\n  Tooltip.prototype.getDefaults = function () {\n    return Tooltip.DEFAULTS\n  }\n\n  Tooltip.prototype.getOptions = function (options) {\n    options = $.extend({}, this.getDefaults(), this.$element.data(), options)\n\n    if (options.delay && typeof options.delay == 'number') {\n      options.delay = {\n        show: options.delay,\n        hide: options.delay\n      }\n    }\n\n    return options\n  }\n\n  Tooltip.prototype.getDelegateOptions = function () {\n    var options  = {}\n    var defaults = this.getDefaults()\n\n    this._options && $.each(this._options, function (key, value) {\n      if (defaults[key] != value) options[key] = value\n    })\n\n    return options\n  }\n\n  Tooltip.prototype.enter = function (obj) {\n    var self = obj instanceof this.constructor ?\n      obj : $(obj.currentTarget).data('bs.' + this.type)\n\n    if (!self) {\n      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n      $(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    if (obj instanceof $.Event) {\n      self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true\n    }\n\n    if (self.tip().hasClass('in') || self.hoverState == 'in') {\n      self.hoverState = 'in'\n      return\n    }\n\n    clearTimeout(self.timeout)\n\n    self.hoverState = 'in'\n\n    if (!self.options.delay || !self.options.delay.show) return self.show()\n\n    self.timeout = setTimeout(function () {\n      if (self.hoverState == 'in') self.show()\n    }, self.options.delay.show)\n  }\n\n  Tooltip.prototype.isInStateTrue = function () {\n    for (var key in this.inState) {\n      if (this.inState[key]) return true\n    }\n\n    return false\n  }\n\n  Tooltip.prototype.leave = function (obj) {\n    var self = obj instanceof this.constructor ?\n      obj : $(obj.currentTarget).data('bs.' + this.type)\n\n    if (!self) {\n      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n      $(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    if (obj instanceof $.Event) {\n      self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false\n    }\n\n    if (self.isInStateTrue()) return\n\n    clearTimeout(self.timeout)\n\n    self.hoverState = 'out'\n\n    if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n    self.timeout = setTimeout(function () {\n      if (self.hoverState == 'out') self.hide()\n    }, self.options.delay.hide)\n  }\n\n  Tooltip.prototype.show = function () {\n    var e = $.Event('show.bs.' + this.type)\n\n    if (this.hasContent() && this.enabled) {\n      this.$element.trigger(e)\n\n      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])\n      if (e.isDefaultPrevented() || !inDom) return\n      var that = this\n\n      var $tip = this.tip()\n\n      var tipId = this.getUID(this.type)\n\n      this.setContent()\n      $tip.attr('id', tipId)\n      this.$element.attr('aria-describedby', tipId)\n\n      if (this.options.animation) $tip.addClass('fade')\n\n      var placement = typeof this.options.placement == 'function' ?\n        this.options.placement.call(this, $tip[0], this.$element[0]) :\n        this.options.placement\n\n      var autoToken = /\\s?auto?\\s?/i\n      var autoPlace = autoToken.test(placement)\n      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\n\n      $tip\n        .detach()\n        .css({ top: 0, left: 0, display: 'block' })\n        .addClass(placement)\n        .data('bs.' + this.type, this)\n\n      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n      this.$element.trigger('inserted.bs.' + this.type)\n\n      var pos          = this.getPosition()\n      var actualWidth  = $tip[0].offsetWidth\n      var actualHeight = $tip[0].offsetHeight\n\n      if (autoPlace) {\n        var orgPlacement = placement\n        var viewportDim = this.getPosition(this.$viewport)\n\n        placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top'    :\n                    placement == 'top'    && pos.top    - actualHeight < viewportDim.top    ? 'bottom' :\n                    placement == 'right'  && pos.right  + actualWidth  > viewportDim.width  ? 'left'   :\n                    placement == 'left'   && pos.left   - actualWidth  < viewportDim.left   ? 'right'  :\n                    placement\n\n        $tip\n          .removeClass(orgPlacement)\n          .addClass(placement)\n      }\n\n      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)\n\n      this.applyPlacement(calculatedOffset, placement)\n\n      var complete = function () {\n        var prevHoverState = that.hoverState\n        that.$element.trigger('shown.bs.' + that.type)\n        that.hoverState = null\n\n        if (prevHoverState == 'out') that.leave(that)\n      }\n\n      $.support.transition && this.$tip.hasClass('fade') ?\n        $tip\n          .one('bsTransitionEnd', complete)\n          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n        complete()\n    }\n  }\n\n  Tooltip.prototype.applyPlacement = function (offset, placement) {\n    var $tip   = this.tip()\n    var width  = $tip[0].offsetWidth\n    var height = $tip[0].offsetHeight\n\n    // manually read margins because getBoundingClientRect includes difference\n    var marginTop = parseInt($tip.css('margin-top'), 10)\n    var marginLeft = parseInt($tip.css('margin-left'), 10)\n\n    // we must check for NaN for ie 8/9\n    if (isNaN(marginTop))  marginTop  = 0\n    if (isNaN(marginLeft)) marginLeft = 0\n\n    offset.top  += marginTop\n    offset.left += marginLeft\n\n    // $.fn.offset doesn't round pixel values\n    // so we use setOffset directly with our own function B-0\n    $.offset.setOffset($tip[0], $.extend({\n      using: function (props) {\n        $tip.css({\n          top: Math.round(props.top),\n          left: Math.round(props.left)\n        })\n      }\n    }, offset), 0)\n\n    $tip.addClass('in')\n\n    // check to see if placing tip in new offset caused the tip to resize itself\n    var actualWidth  = $tip[0].offsetWidth\n    var actualHeight = $tip[0].offsetHeight\n\n    if (placement == 'top' && actualHeight != height) {\n      offset.top = offset.top + height - actualHeight\n    }\n\n    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\n\n    if (delta.left) offset.left += delta.left\n    else offset.top += delta.top\n\n    var isVertical          = /top|bottom/.test(placement)\n    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight\n    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'\n\n    $tip.offset(offset)\n    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)\n  }\n\n  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {\n    this.arrow()\n      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')\n      .css(isVertical ? 'top' : 'left', '')\n  }\n\n  Tooltip.prototype.setContent = function () {\n    var $tip  = this.tip()\n    var title = this.getTitle()\n\n    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n    $tip.removeClass('fade in top bottom left right')\n  }\n\n  Tooltip.prototype.hide = function (callback) {\n    var that = this\n    var $tip = $(this.$tip)\n    var e    = $.Event('hide.bs.' + this.type)\n\n    function complete() {\n      if (that.hoverState != 'in') $tip.detach()\n      if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.\n        that.$element\n          .removeAttr('aria-describedby')\n          .trigger('hidden.bs.' + that.type)\n      }\n      callback && callback()\n    }\n\n    this.$element.trigger(e)\n\n    if (e.isDefaultPrevented()) return\n\n    $tip.removeClass('in')\n\n    $.support.transition && $tip.hasClass('fade') ?\n      $tip\n        .one('bsTransitionEnd', complete)\n        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n      complete()\n\n    this.hoverState = null\n\n    return this\n  }\n\n  Tooltip.prototype.fixTitle = function () {\n    var $e = this.$element\n    if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {\n      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n    }\n  }\n\n  Tooltip.prototype.hasContent = function () {\n    return this.getTitle()\n  }\n\n  Tooltip.prototype.getPosition = function ($element) {\n    $element   = $element || this.$element\n\n    var el     = $element[0]\n    var isBody = el.tagName == 'BODY'\n\n    var elRect    = el.getBoundingClientRect()\n    if (elRect.width == null) {\n      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093\n      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })\n    }\n    var isSvg = window.SVGElement && el instanceof window.SVGElement\n    // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.\n    // See https://github.com/twbs/bootstrap/issues/20280\n    var elOffset  = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())\n    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }\n    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null\n\n    return $.extend({}, elRect, scroll, outerDims, elOffset)\n  }\n\n  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {\n    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :\n           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\n\n  }\n\n  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {\n    var delta = { top: 0, left: 0 }\n    if (!this.$viewport) return delta\n\n    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0\n    var viewportDimensions = this.getPosition(this.$viewport)\n\n    if (/right|left/.test(placement)) {\n      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll\n      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\n      if (topEdgeOffset < viewportDimensions.top) { // top overflow\n        delta.top = viewportDimensions.top - topEdgeOffset\n      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow\n        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset\n      }\n    } else {\n      var leftEdgeOffset  = pos.left - viewportPadding\n      var rightEdgeOffset = pos.left + viewportPadding + actualWidth\n      if (leftEdgeOffset < viewportDimensions.left) { // left overflow\n        delta.left = viewportDimensions.left - leftEdgeOffset\n      } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow\n        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset\n      }\n    }\n\n    return delta\n  }\n\n  Tooltip.prototype.getTitle = function () {\n    var title\n    var $e = this.$element\n    var o  = this.options\n\n    title = $e.attr('data-original-title')\n      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)\n\n    return title\n  }\n\n  Tooltip.prototype.getUID = function (prefix) {\n    do prefix += ~~(Math.random() * 1000000)\n    while (document.getElementById(prefix))\n    return prefix\n  }\n\n  Tooltip.prototype.tip = function () {\n    if (!this.$tip) {\n      this.$tip = $(this.options.template)\n      if (this.$tip.length != 1) {\n        throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')\n      }\n    }\n    return this.$tip\n  }\n\n  Tooltip.prototype.arrow = function () {\n    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))\n  }\n\n  Tooltip.prototype.enable = function () {\n    this.enabled = true\n  }\n\n  Tooltip.prototype.disable = function () {\n    this.enabled = false\n  }\n\n  Tooltip.prototype.toggleEnabled = function () {\n    this.enabled = !this.enabled\n  }\n\n  Tooltip.prototype.toggle = function (e) {\n    var self = this\n    if (e) {\n      self = $(e.currentTarget).data('bs.' + this.type)\n      if (!self) {\n        self = new this.constructor(e.currentTarget, this.getDelegateOptions())\n        $(e.currentTarget).data('bs.' + this.type, self)\n      }\n    }\n\n    if (e) {\n      self.inState.click = !self.inState.click\n      if (self.isInStateTrue()) self.enter(self)\n      else self.leave(self)\n    } else {\n      self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n    }\n  }\n\n  Tooltip.prototype.destroy = function () {\n    var that = this\n    clearTimeout(this.timeout)\n    this.hide(function () {\n      that.$element.off('.' + that.type).removeData('bs.' + that.type)\n      if (that.$tip) {\n        that.$tip.detach()\n      }\n      that.$tip = null\n      that.$arrow = null\n      that.$viewport = null\n      that.$element = null\n    })\n  }\n\n\n  // TOOLTIP PLUGIN DEFINITION\n  // =========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.tooltip')\n      var options = typeof option == 'object' && option\n\n      if (!data && /destroy|hide/.test(option)) return\n      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.tooltip\n\n  $.fn.tooltip             = Plugin\n  $.fn.tooltip.Constructor = Tooltip\n\n\n  // TOOLTIP NO CONFLICT\n  // ===================\n\n  $.fn.tooltip.noConflict = function () {\n    $.fn.tooltip = old\n    return this\n  }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: popover.js v3.3.7\n * http://getbootstrap.com/javascript/#popovers\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // POPOVER PUBLIC CLASS DEFINITION\n  // ===============================\n\n  var Popover = function (element, options) {\n    this.init('popover', element, options)\n  }\n\n  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\n\n  Popover.VERSION  = '3.3.7'\n\n  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\n    placement: 'right',\n    trigger: 'click',\n    content: '',\n    template: '<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'\n  })\n\n\n  // NOTE: POPOVER EXTENDS tooltip.js\n  // ================================\n\n  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\n\n  Popover.prototype.constructor = Popover\n\n  Popover.prototype.getDefaults = function () {\n    return Popover.DEFAULTS\n  }\n\n  Popover.prototype.setContent = function () {\n    var $tip    = this.tip()\n    var title   = this.getTitle()\n    var content = this.getContent()\n\n    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\n    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events\n      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'\n    ](content)\n\n    $tip.removeClass('fade top bottom left right in')\n\n    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\n    // this manually by checking the contents.\n    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()\n  }\n\n  Popover.prototype.hasContent = function () {\n    return this.getTitle() || this.getContent()\n  }\n\n  Popover.prototype.getContent = function () {\n    var $e = this.$element\n    var o  = this.options\n\n    return $e.attr('data-content')\n      || (typeof o.content == 'function' ?\n            o.content.call($e[0]) :\n            o.content)\n  }\n\n  Popover.prototype.arrow = function () {\n    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))\n  }\n\n\n  // POPOVER PLUGIN DEFINITION\n  // =========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.popover')\n      var options = typeof option == 'object' && option\n\n      if (!data && /destroy|hide/.test(option)) return\n      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.popover\n\n  $.fn.popover             = Plugin\n  $.fn.popover.Constructor = Popover\n\n\n  // POPOVER NO CONFLICT\n  // ===================\n\n  $.fn.popover.noConflict = function () {\n    $.fn.popover = old\n    return this\n  }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: scrollspy.js v3.3.7\n * http://getbootstrap.com/javascript/#scrollspy\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // SCROLLSPY CLASS DEFINITION\n  // ==========================\n\n  function ScrollSpy(element, options) {\n    this.$body          = $(document.body)\n    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)\n    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)\n    this.selector       = (this.options.target || '') + ' .nav li > a'\n    this.offsets        = []\n    this.targets        = []\n    this.activeTarget   = null\n    this.scrollHeight   = 0\n\n    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))\n    this.refresh()\n    this.process()\n  }\n\n  ScrollSpy.VERSION  = '3.3.7'\n\n  ScrollSpy.DEFAULTS = {\n    offset: 10\n  }\n\n  ScrollSpy.prototype.getScrollHeight = function () {\n    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\n  }\n\n  ScrollSpy.prototype.refresh = function () {\n    var that          = this\n    var offsetMethod  = 'offset'\n    var offsetBase    = 0\n\n    this.offsets      = []\n    this.targets      = []\n    this.scrollHeight = this.getScrollHeight()\n\n    if (!$.isWindow(this.$scrollElement[0])) {\n      offsetMethod = 'position'\n      offsetBase   = this.$scrollElement.scrollTop()\n    }\n\n    this.$body\n      .find(this.selector)\n      .map(function () {\n        var $el   = $(this)\n        var href  = $el.data('target') || $el.attr('href')\n        var $href = /^#./.test(href) && $(href)\n\n        return ($href\n          && $href.length\n          && $href.is(':visible')\n          && [[$href[offsetMethod]().top + offsetBase, href]]) || null\n      })\n      .sort(function (a, b) { return a[0] - b[0] })\n      .each(function () {\n        that.offsets.push(this[0])\n        that.targets.push(this[1])\n      })\n  }\n\n  ScrollSpy.prototype.process = function () {\n    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset\n    var scrollHeight = this.getScrollHeight()\n    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()\n    var offsets      = this.offsets\n    var targets      = this.targets\n    var activeTarget = this.activeTarget\n    var i\n\n    if (this.scrollHeight != scrollHeight) {\n      this.refresh()\n    }\n\n    if (scrollTop >= maxScroll) {\n      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)\n    }\n\n    if (activeTarget && scrollTop < offsets[0]) {\n      this.activeTarget = null\n      return this.clear()\n    }\n\n    for (i = offsets.length; i--;) {\n      activeTarget != targets[i]\n        && scrollTop >= offsets[i]\n        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])\n        && this.activate(targets[i])\n    }\n  }\n\n  ScrollSpy.prototype.activate = function (target) {\n    this.activeTarget = target\n\n    this.clear()\n\n    var selector = this.selector +\n      '[data-target=\"' + target + '\"],' +\n      this.selector + '[href=\"' + target + '\"]'\n\n    var active = $(selector)\n      .parents('li')\n      .addClass('active')\n\n    if (active.parent('.dropdown-menu').length) {\n      active = active\n        .closest('li.dropdown')\n        .addClass('active')\n    }\n\n    active.trigger('activate.bs.scrollspy')\n  }\n\n  ScrollSpy.prototype.clear = function () {\n    $(this.selector)\n      .parentsUntil(this.options.target, '.active')\n      .removeClass('active')\n  }\n\n\n  // SCROLLSPY PLUGIN DEFINITION\n  // ===========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.scrollspy')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.scrollspy\n\n  $.fn.scrollspy             = Plugin\n  $.fn.scrollspy.Constructor = ScrollSpy\n\n\n  // SCROLLSPY NO CONFLICT\n  // =====================\n\n  $.fn.scrollspy.noConflict = function () {\n    $.fn.scrollspy = old\n    return this\n  }\n\n\n  // SCROLLSPY DATA-API\n  // ==================\n\n  $(window).on('load.bs.scrollspy.data-api', function () {\n    $('[data-spy=\"scroll\"]').each(function () {\n      var $spy = $(this)\n      Plugin.call($spy, $spy.data())\n    })\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tab.js v3.3.7\n * http://getbootstrap.com/javascript/#tabs\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // TAB CLASS DEFINITION\n  // ====================\n\n  var Tab = function (element) {\n    // jscs:disable requireDollarBeforejQueryAssignment\n    this.element = $(element)\n    // jscs:enable requireDollarBeforejQueryAssignment\n  }\n\n  Tab.VERSION = '3.3.7'\n\n  Tab.TRANSITION_DURATION = 150\n\n  Tab.prototype.show = function () {\n    var $this    = this.element\n    var $ul      = $this.closest('ul:not(.dropdown-menu)')\n    var selector = $this.data('target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    if ($this.parent('li').hasClass('active')) return\n\n    var $previous = $ul.find('.active:last a')\n    var hideEvent = $.Event('hide.bs.tab', {\n      relatedTarget: $this[0]\n    })\n    var showEvent = $.Event('show.bs.tab', {\n      relatedTarget: $previous[0]\n    })\n\n    $previous.trigger(hideEvent)\n    $this.trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return\n\n    var $target = $(selector)\n\n    this.activate($this.closest('li'), $ul)\n    this.activate($target, $target.parent(), function () {\n      $previous.trigger({\n        type: 'hidden.bs.tab',\n        relatedTarget: $this[0]\n      })\n      $this.trigger({\n        type: 'shown.bs.tab',\n        relatedTarget: $previous[0]\n      })\n    })\n  }\n\n  Tab.prototype.activate = function (element, container, callback) {\n    var $active    = container.find('> .active')\n    var transition = callback\n      && $.support.transition\n      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)\n\n    function next() {\n      $active\n        .removeClass('active')\n        .find('> .dropdown-menu > .active')\n          .removeClass('active')\n        .end()\n        .find('[data-toggle=\"tab\"]')\n          .attr('aria-expanded', false)\n\n      element\n        .addClass('active')\n        .find('[data-toggle=\"tab\"]')\n          .attr('aria-expanded', true)\n\n      if (transition) {\n        element[0].offsetWidth // reflow for transition\n        element.addClass('in')\n      } else {\n        element.removeClass('fade')\n      }\n\n      if (element.parent('.dropdown-menu').length) {\n        element\n          .closest('li.dropdown')\n            .addClass('active')\n          .end()\n          .find('[data-toggle=\"tab\"]')\n            .attr('aria-expanded', true)\n      }\n\n      callback && callback()\n    }\n\n    $active.length && transition ?\n      $active\n        .one('bsTransitionEnd', next)\n        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :\n      next()\n\n    $active.removeClass('in')\n  }\n\n\n  // TAB PLUGIN DEFINITION\n  // =====================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.tab')\n\n      if (!data) $this.data('bs.tab', (data = new Tab(this)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.tab\n\n  $.fn.tab             = Plugin\n  $.fn.tab.Constructor = Tab\n\n\n  // TAB NO CONFLICT\n  // ===============\n\n  $.fn.tab.noConflict = function () {\n    $.fn.tab = old\n    return this\n  }\n\n\n  // TAB DATA-API\n  // ============\n\n  var clickHandler = function (e) {\n    e.preventDefault()\n    Plugin.call($(this), 'show')\n  }\n\n  $(document)\n    .on('click.bs.tab.data-api', '[data-toggle=\"tab\"]', clickHandler)\n    .on('click.bs.tab.data-api', '[data-toggle=\"pill\"]', clickHandler)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: affix.js v3.3.7\n * http://getbootstrap.com/javascript/#affix\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // AFFIX CLASS DEFINITION\n  // ======================\n\n  var Affix = function (element, options) {\n    this.options = $.extend({}, Affix.DEFAULTS, options)\n\n    this.$target = $(this.options.target)\n      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\n      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))\n\n    this.$element     = $(element)\n    this.affixed      = null\n    this.unpin        = null\n    this.pinnedOffset = null\n\n    this.checkPosition()\n  }\n\n  Affix.VERSION  = '3.3.7'\n\n  Affix.RESET    = 'affix affix-top affix-bottom'\n\n  Affix.DEFAULTS = {\n    offset: 0,\n    target: window\n  }\n\n  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {\n    var scrollTop    = this.$target.scrollTop()\n    var position     = this.$element.offset()\n    var targetHeight = this.$target.height()\n\n    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false\n\n    if (this.affixed == 'bottom') {\n      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'\n      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'\n    }\n\n    var initializing   = this.affixed == null\n    var colliderTop    = initializing ? scrollTop : position.top\n    var colliderHeight = initializing ? targetHeight : height\n\n    if (offsetTop != null && scrollTop <= offsetTop) return 'top'\n    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'\n\n    return false\n  }\n\n  Affix.prototype.getPinnedOffset = function () {\n    if (this.pinnedOffset) return this.pinnedOffset\n    this.$element.removeClass(Affix.RESET).addClass('affix')\n    var scrollTop = this.$target.scrollTop()\n    var position  = this.$element.offset()\n    return (this.pinnedOffset = position.top - scrollTop)\n  }\n\n  Affix.prototype.checkPositionWithEventLoop = function () {\n    setTimeout($.proxy(this.checkPosition, this), 1)\n  }\n\n  Affix.prototype.checkPosition = function () {\n    if (!this.$element.is(':visible')) return\n\n    var height       = this.$element.height()\n    var offset       = this.options.offset\n    var offsetTop    = offset.top\n    var offsetBottom = offset.bottom\n    var scrollHeight = Math.max($(document).height(), $(document.body).height())\n\n    if (typeof offset != 'object')         offsetBottom = offsetTop = offset\n    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)\n    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\n\n    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)\n\n    if (this.affixed != affix) {\n      if (this.unpin != null) this.$element.css('top', '')\n\n      var affixType = 'affix' + (affix ? '-' + affix : '')\n      var e         = $.Event(affixType + '.bs.affix')\n\n      this.$element.trigger(e)\n\n      if (e.isDefaultPrevented()) return\n\n      this.affixed = affix\n      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null\n\n      this.$element\n        .removeClass(Affix.RESET)\n        .addClass(affixType)\n        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')\n    }\n\n    if (affix == 'bottom') {\n      this.$element.offset({\n        top: scrollHeight - height - offsetBottom\n      })\n    }\n  }\n\n\n  // AFFIX PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.affix')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.affix\n\n  $.fn.affix             = Plugin\n  $.fn.affix.Constructor = Affix\n\n\n  // AFFIX NO CONFLICT\n  // =================\n\n  $.fn.affix.noConflict = function () {\n    $.fn.affix = old\n    return this\n  }\n\n\n  // AFFIX DATA-API\n  // ==============\n\n  $(window).on('load', function () {\n    $('[data-spy=\"affix\"]').each(function () {\n      var $spy = $(this)\n      var data = $spy.data()\n\n      data.offset = data.offset || {}\n\n      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom\n      if (data.offsetTop    != null) data.offset.top    = data.offsetTop\n\n      Plugin.call($spy, data)\n    })\n  })\n\n}(jQuery);\n"
  },
  {
    "path": "static/js/d3.layout.cloud.js",
    "content": "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g=(g.d3||(g.d3 = {}));g=(g.layout||(g.layout = {}));g.cloud = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n// Word cloud layout by Jason Davies, https://www.jasondavies.com/wordcloud/\n// Algorithm due to Jonathan Feinberg, http://static.mrfeinberg.com/bv_ch03.pdf\n\nvar dispatch = require(\"d3-dispatch\").dispatch;\n\nvar cloudRadians = Math.PI / 180,\n    cw = 1 << 11 >> 5,\n    ch = 1 << 11;\n\nmodule.exports = function() {\n  var size = [256, 256],\n      text = cloudText,\n      font = cloudFont,\n      fontSize = cloudFontSize,\n      fontStyle = cloudFontNormal,\n      fontWeight = cloudFontNormal,\n      rotate = cloudRotate,\n      padding = cloudPadding,\n      spiral = archimedeanSpiral,\n      words = [],\n      timeInterval = Infinity,\n      event = dispatch(\"word\", \"end\"),\n      timer = null,\n      random = Math.random,\n      cloud = {},\n      canvas = cloudCanvas;\n\n  cloud.canvas = function(_) {\n    return arguments.length ? (canvas = functor(_), cloud) : canvas;\n  };\n\n  cloud.start = function() {\n    var contextAndRatio = getContext(canvas()),\n        board = zeroArray((size[0] >> 5) * size[1]),\n        bounds = null,\n        n = words.length,\n        i = -1,\n        tags = [],\n        data = words.map(function(d, i) {\n          d.text = text.call(this, d, i);\n          d.font = font.call(this, d, i);\n          d.style = fontStyle.call(this, d, i);\n          d.weight = fontWeight.call(this, d, i);\n          d.rotate = rotate.call(this, d, i);\n          d.size = ~~fontSize.call(this, d, i);\n          d.padding = padding.call(this, d, i);\n          return d;\n        }).sort(function(a, b) { return b.size - a.size; });\n\n    if (timer) clearInterval(timer);\n    timer = setInterval(step, 0);\n    step();\n\n    return cloud;\n\n    function step() {\n      var start = Date.now();\n      while (Date.now() - start < timeInterval && ++i < n && timer) {\n        var d = data[i];\n        d.x = (size[0] * (random() + .5)) >> 1;\n        d.y = (size[1] * (random() + .5)) >> 1;\n        cloudSprite(contextAndRatio, d, data, i);\n        if (d.hasText && place(board, d, bounds)) {\n          tags.push(d);\n          event.call(\"word\", cloud, d);\n          if (bounds) cloudBounds(bounds, d);\n          else bounds = [{x: d.x + d.x0, y: d.y + d.y0}, {x: d.x + d.x1, y: d.y + d.y1}];\n          // Temporary hack\n          d.x -= size[0] >> 1;\n          d.y -= size[1] >> 1;\n        }\n      }\n      if (i >= n) {\n        cloud.stop();\n        event.call(\"end\", cloud, tags, bounds);\n      }\n    }\n  }\n\n  cloud.stop = function() {\n    if (timer) {\n      clearInterval(timer);\n      timer = null;\n    }\n    return cloud;\n  };\n\n  function getContext(canvas) {\n    canvas.width = canvas.height = 1;\n    var ratio = Math.sqrt(canvas.getContext(\"2d\").getImageData(0, 0, 1, 1).data.length >> 2);\n    canvas.width = (cw << 5) / ratio;\n    canvas.height = ch / ratio;\n\n    var context = canvas.getContext(\"2d\");\n    context.fillStyle = context.strokeStyle = \"red\";\n    context.textAlign = \"center\";\n\n    return {context: context, ratio: ratio};\n  }\n\n  function place(board, tag, bounds) {\n    var perimeter = [{x: 0, y: 0}, {x: size[0], y: size[1]}],\n        startX = tag.x,\n        startY = tag.y,\n        maxDelta = Math.sqrt(size[0] * size[0] + size[1] * size[1]),\n        s = spiral(size),\n        dt = random() < .5 ? 1 : -1,\n        t = -dt,\n        dxdy,\n        dx,\n        dy;\n\n    while (dxdy = s(t += dt)) {\n      dx = ~~dxdy[0];\n      dy = ~~dxdy[1];\n\n      if (Math.min(Math.abs(dx), Math.abs(dy)) >= maxDelta) break;\n\n      tag.x = startX + dx;\n      tag.y = startY + dy;\n\n      if (tag.x + tag.x0 < 0 || tag.y + tag.y0 < 0 ||\n          tag.x + tag.x1 > size[0] || tag.y + tag.y1 > size[1]) continue;\n      // TODO only check for collisions within current bounds.\n      if (!bounds || !cloudCollide(tag, board, size[0])) {\n        if (!bounds || collideRects(tag, bounds)) {\n          var sprite = tag.sprite,\n              w = tag.width >> 5,\n              sw = size[0] >> 5,\n              lx = tag.x - (w << 4),\n              sx = lx & 0x7f,\n              msx = 32 - sx,\n              h = tag.y1 - tag.y0,\n              x = (tag.y + tag.y0) * sw + (lx >> 5),\n              last;\n          for (var j = 0; j < h; j++) {\n            last = 0;\n            for (var i = 0; i <= w; i++) {\n              board[x + i] |= (last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0);\n            }\n            x += sw;\n          }\n          delete tag.sprite;\n          return true;\n        }\n      }\n    }\n    return false;\n  }\n\n  cloud.timeInterval = function(_) {\n    return arguments.length ? (timeInterval = _ == null ? Infinity : _, cloud) : timeInterval;\n  };\n\n  cloud.words = function(_) {\n    return arguments.length ? (words = _, cloud) : words;\n  };\n\n  cloud.size = function(_) {\n    return arguments.length ? (size = [+_[0], +_[1]], cloud) : size;\n  };\n\n  cloud.font = function(_) {\n    return arguments.length ? (font = functor(_), cloud) : font;\n  };\n\n  cloud.fontStyle = function(_) {\n    return arguments.length ? (fontStyle = functor(_), cloud) : fontStyle;\n  };\n\n  cloud.fontWeight = function(_) {\n    return arguments.length ? (fontWeight = functor(_), cloud) : fontWeight;\n  };\n\n  cloud.rotate = function(_) {\n    return arguments.length ? (rotate = functor(_), cloud) : rotate;\n  };\n\n  cloud.text = function(_) {\n    return arguments.length ? (text = functor(_), cloud) : text;\n  };\n\n  cloud.spiral = function(_) {\n    return arguments.length ? (spiral = spirals[_] || _, cloud) : spiral;\n  };\n\n  cloud.fontSize = function(_) {\n    return arguments.length ? (fontSize = functor(_), cloud) : fontSize;\n  };\n\n  cloud.padding = function(_) {\n    return arguments.length ? (padding = functor(_), cloud) : padding;\n  };\n\n  cloud.random = function(_) {\n    return arguments.length ? (random = _, cloud) : random;\n  };\n\n  cloud.on = function() {\n    var value = event.on.apply(event, arguments);\n    return value === event ? cloud : value;\n  };\n\n  return cloud;\n};\n\nfunction cloudText(d) {\n  return d.text;\n}\n\nfunction cloudFont() {\n  return \"serif\";\n}\n\nfunction cloudFontNormal() {\n  return \"normal\";\n}\n\nfunction cloudFontSize(d) {\n  return Math.sqrt(d.value);\n}\n\nfunction cloudRotate() {\n  return (~~(Math.random() * 6) - 3) * 30;\n}\n\nfunction cloudPadding() {\n  return 1;\n}\n\n// Fetches a monochrome sprite bitmap for the specified text.\n// Load in batches for speed.\nfunction cloudSprite(contextAndRatio, d, data, di) {\n  if (d.sprite) return;\n  var c = contextAndRatio.context,\n      ratio = contextAndRatio.ratio;\n\n  c.clearRect(0, 0, (cw << 5) / ratio, ch / ratio);\n  var x = 0,\n      y = 0,\n      maxh = 0,\n      n = data.length;\n  --di;\n  while (++di < n) {\n    d = data[di];\n    c.save();\n    c.font = d.style + \" \" + d.weight + \" \" + ~~((d.size + 1) / ratio) + \"px \" + d.font;\n    var w = c.measureText(d.text + \"m\").width * ratio,\n        h = d.size << 1;\n    if (d.rotate) {\n      var sr = Math.sin(d.rotate * cloudRadians),\n          cr = Math.cos(d.rotate * cloudRadians),\n          wcr = w * cr,\n          wsr = w * sr,\n          hcr = h * cr,\n          hsr = h * sr;\n      w = (Math.max(Math.abs(wcr + hsr), Math.abs(wcr - hsr)) + 0x1f) >> 5 << 5;\n      h = ~~Math.max(Math.abs(wsr + hcr), Math.abs(wsr - hcr));\n    } else {\n      w = (w + 0x1f) >> 5 << 5;\n    }\n    if (h > maxh) maxh = h;\n    if (x + w >= (cw << 5)) {\n      x = 0;\n      y += maxh;\n      maxh = 0;\n    }\n    if (y + h >= ch) break;\n    c.translate((x + (w >> 1)) / ratio, (y + (h >> 1)) / ratio);\n    if (d.rotate) c.rotate(d.rotate * cloudRadians);\n    c.fillText(d.text, 0, 0);\n    if (d.padding) c.lineWidth = 2 * d.padding, c.strokeText(d.text, 0, 0);\n    c.restore();\n    d.width = w;\n    d.height = h;\n    d.xoff = x;\n    d.yoff = y;\n    d.x1 = w >> 1;\n    d.y1 = h >> 1;\n    d.x0 = -d.x1;\n    d.y0 = -d.y1;\n    d.hasText = true;\n    x += w;\n  }\n  var pixels = c.getImageData(0, 0, (cw << 5) / ratio, ch / ratio).data,\n      sprite = [];\n  while (--di >= 0) {\n    d = data[di];\n    if (!d.hasText) continue;\n    var w = d.width,\n        w32 = w >> 5,\n        h = d.y1 - d.y0;\n    // Zero the buffer\n    for (var i = 0; i < h * w32; i++) sprite[i] = 0;\n    x = d.xoff;\n    if (x == null) return;\n    y = d.yoff;\n    var seen = 0,\n        seenRow = -1;\n    for (var j = 0; j < h; j++) {\n      for (var i = 0; i < w; i++) {\n        var k = w32 * j + (i >> 5),\n            m = pixels[((y + j) * (cw << 5) + (x + i)) << 2] ? 1 << (31 - (i % 32)) : 0;\n        sprite[k] |= m;\n        seen |= m;\n      }\n      if (seen) seenRow = j;\n      else {\n        d.y0++;\n        h--;\n        j--;\n        y++;\n      }\n    }\n    d.y1 = d.y0 + seenRow;\n    d.sprite = sprite.slice(0, (d.y1 - d.y0) * w32);\n  }\n}\n\n// Use mask-based collision detection.\nfunction cloudCollide(tag, board, sw) {\n  sw >>= 5;\n  var sprite = tag.sprite,\n      w = tag.width >> 5,\n      lx = tag.x - (w << 4),\n      sx = lx & 0x7f,\n      msx = 32 - sx,\n      h = tag.y1 - tag.y0,\n      x = (tag.y + tag.y0) * sw + (lx >> 5),\n      last;\n  for (var j = 0; j < h; j++) {\n    last = 0;\n    for (var i = 0; i <= w; i++) {\n      if (((last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0))\n          & board[x + i]) return true;\n    }\n    x += sw;\n  }\n  return false;\n}\n\nfunction cloudBounds(bounds, d) {\n  var b0 = bounds[0],\n      b1 = bounds[1];\n  if (d.x + d.x0 < b0.x) b0.x = d.x + d.x0;\n  if (d.y + d.y0 < b0.y) b0.y = d.y + d.y0;\n  if (d.x + d.x1 > b1.x) b1.x = d.x + d.x1;\n  if (d.y + d.y1 > b1.y) b1.y = d.y + d.y1;\n}\n\nfunction collideRects(a, b) {\n  return a.x + a.x1 > b[0].x && a.x + a.x0 < b[1].x && a.y + a.y1 > b[0].y && a.y + a.y0 < b[1].y;\n}\n\nfunction archimedeanSpiral(size) {\n  var e = size[0] / size[1];\n  return function(t) {\n    return [e * (t *= .1) * Math.cos(t), t * Math.sin(t)];\n  };\n}\n\nfunction rectangularSpiral(size) {\n  var dy = 4,\n      dx = dy * size[0] / size[1],\n      x = 0,\n      y = 0;\n  return function(t) {\n    var sign = t < 0 ? -1 : 1;\n    // See triangular numbers: T_n = n * (n + 1) / 2.\n    switch ((Math.sqrt(1 + 4 * sign * t) - sign) & 3) {\n      case 0:  x += dx; break;\n      case 1:  y += dy; break;\n      case 2:  x -= dx; break;\n      default: y -= dy; break;\n    }\n    return [x, y];\n  };\n}\n\n// TODO reuse arrays?\nfunction zeroArray(n) {\n  var a = [],\n      i = -1;\n  while (++i < n) a[i] = 0;\n  return a;\n}\n\nfunction cloudCanvas() {\n  return document.createElement(\"canvas\");\n}\n\nfunction functor(d) {\n  return typeof d === \"function\" ? d : function() { return d; };\n}\n\nvar spirals = {\n  archimedean: archimedeanSpiral,\n  rectangular: rectangularSpiral\n};\n\n},{\"d3-dispatch\":2}],2:[function(require,module,exports){\n// https://d3js.org/d3-dispatch/ Version 1.0.2. Copyright 2016 Mike Bostock.\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n  typeof define === 'function' && define.amd ? define(['exports'], factory) :\n  (factory((global.d3 = global.d3 || {})));\n}(this, (function (exports) { 'use strict';\n\nvar noop = {value: function() {}};\n\nfunction dispatch() {\n  for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n    if (!(t = arguments[i] + \"\") || (t in _)) throw new Error(\"illegal type: \" + t);\n    _[t] = [];\n  }\n  return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n  this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n  return typenames.trim().split(/^|\\s+/).map(function(t) {\n    var name = \"\", i = t.indexOf(\".\");\n    if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n    if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n    return {type: t, name: name};\n  });\n}\n\nDispatch.prototype = dispatch.prototype = {\n  constructor: Dispatch,\n  on: function(typename, callback) {\n    var _ = this._,\n        T = parseTypenames(typename + \"\", _),\n        t,\n        i = -1,\n        n = T.length;\n\n    // If no callback was specified, return the callback of the given type and name.\n    if (arguments.length < 2) {\n      while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n      return;\n    }\n\n    // If a type was specified, set the callback for the given type and name.\n    // Otherwise, if a null callback was specified, remove callbacks of the given name.\n    if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n    while (++i < n) {\n      if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n      else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n    }\n\n    return this;\n  },\n  copy: function() {\n    var copy = {}, _ = this._;\n    for (var t in _) copy[t] = _[t].slice();\n    return new Dispatch(copy);\n  },\n  call: function(type, that) {\n    if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  },\n  apply: function(type, that, args) {\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  }\n};\n\nfunction get(type, name) {\n  for (var i = 0, n = type.length, c; i < n; ++i) {\n    if ((c = type[i]).name === name) {\n      return c.value;\n    }\n  }\n}\n\nfunction set(type, name, callback) {\n  for (var i = 0, n = type.length; i < n; ++i) {\n    if (type[i].name === name) {\n      type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n      break;\n    }\n  }\n  if (callback != null) type.push({name: name, value: callback});\n  return type;\n}\n\nexports.dispatch = dispatch;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n},{}]},{},[1])(1)\n});"
  },
  {
    "path": "static/js/explorer.js",
    "content": "class ByteView {\n  constructor(buffer) {\n    this.buffer = buffer;\n    this.view = new DataView(buffer.buffer);\n    this.pos = 0;\n  }\n\n  getFloat32() {\n    const float = this.view.getFloat32(this.pos);\n    this.pos += 4;\n    return float;\n  }\n\n  getFloat64() {\n    const float = this.view.getFloat64(this.pos);\n    this.pos += 8;\n    return float;\n  }\n\n  getBytes(n) {\n    const bytes = this.buffer.subarray(this.pos, this.pos + n);\n    this.pos += n;\n    return bytes;\n  }\n\n  getByte() {\n    return this.getUint8();\n  }\n\n  getUint8() {\n    const uint8 = this.view.getUint8(this.pos);\n    this.pos += 1;\n    return uint8;\n  }\n\n  getInt8() {\n    const int8 = this.view.getInt8(this.pos);\n    this.pos += 1;\n    return int8;\n  }\n\n  getUint16() {\n    const uint16 = this.view.getUint16(this.pos);\n    this.pos += 2;\n    return uint16;\n  }\n\n  getInt16() {\n    const int16 = this.view.getInt16(this.pos);\n    this.pos += 2;\n    return int16;\n  }\n\n  getUint32() {\n    const uint32 = this.view.getUint32(this.pos);\n    this.pos += 4;\n    return uint32;\n  }\n\n  getInt32() {\n    const int32 = this.view.getInt32(this.pos);\n    this.pos += 4;\n    return int32;\n  }\n}\n\n// https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2\nfunction nextPow2(_v) {\n  let v = _v | 0;\n  v -= 1;\n  v |= v >> 1;\n  v |= v >> 2;\n  v |= v >> 4;\n  v |= v >> 8;\n  v |= v >> 16;\n  v += 1;\n  return v;\n}\n\nconst FORMAT_CHARS = {\n  x: 1,\n  c: 1,\n  b: 1,\n  B: 1,\n  \"?\": 1,\n  h: 2,\n  H: 2,\n  i: 4,\n  I: 4,\n  l: 4,\n  L: 4,\n  q: 8,\n  Q: 8,\n  e: 2,\n  f: 4,\n  d: 8\n};\n\nconst SEARCHABLE_FIELDS = new Set([\n  \"category\",\n  \"company\",\n  \"country\",\n  \"host_tld\",\n  \"month\",\n  \"site\",\n  \"tracker\"\n]);\n\nfunction sizeOfFormat(format) {\n  let size = 0;\n  for (let i = 0; i < format.length; i += 1) {\n    const numberOfBytes = FORMAT_CHARS[format[i]];\n    if (numberOfBytes === undefined) {\n      throw new Error(`Invalid format character ${format[i]}`);\n    }\n    size += numberOfBytes;\n  }\n  return size;\n}\n\n/* eslint-enable no-bitwise */\n\nclass Table {\n  constructor(name) {\n    this.name = name;\n    this.dataTable = null;\n    this.totalRows = 0;\n\n    // Callback used to request more data from lazy loader\n    this.onRequestMoreRows = () => {};\n  }\n\n  update(headers, data) {\n    if (this.dataTable === null) {\n      this.dataTable = $(`#${this.name}`).DataTable({\n        colReorder: true,\n        columns: headers.map(h => ({\n          title: h,\n          className: 'order-columns',\n          searchable: SEARCHABLE_FIELDS.has(h)\n        })),\n        scrollX: true,\n        deferRender: true,\n        processing: true,\n        search: false,\n        pagingType: \"full_numbers\",\n        pageLength: 25,\n        display: true,\n        compact: true,\n        columnDefs: [\n          {\n              targets: -1,\n              className: 'dt-body-right'\n          }\n        ]\n      });\n\n      // When clicking on a row, open page on WTM's website\n      // $(`#${this.name} tbody`).on(\"click\", \"tr\", function() {\n      //   var target = dataTable.row(this).data()[2];\n      //   let url;\n      //   if (name === \"trackers\") {\n      //     url = `https://whotracks.me/trackers/${target}.html`;\n      //   } else if (name === \"sites\") {\n      //     url = `https://whotracks.me/websites/${target}.html`;\n      //   }\n\n      //   if (url !== undefined) {\n      //     window.open(url, \"_blank\");\n      //   }\n      // });\n    }\n\n    this.totalRows += data.length;\n    this.dataTable.rows.add(data);\n    this.dataTable.draw(\"full-hold\");\n\n    if (this.totalRows < 10000000) {\n      return this.onRequestMoreRows();\n    }\n  }\n}\n\nclass LazyCSVReader {\n  constructor(url) {\n    this.url = url;\n    this.offset = 0;\n\n    // Initial chunkSize, which should be pretty small to allow for fast first print.\n    this.chunkSize = 32768;\n\n    this.fetchedRows = 0;\n\n    this.metadataSize = null;\n    this.numberOfRows = null;\n    this.headers = null;\n    this.symbols = null;\n    this.formatString = null;\n    this.formatSize = null;\n\n    this.partial = new Uint8Array();\n    this.ondata = () => {};\n  }\n\n  decodeMetadataSize(view) {\n    if (this.metadataSize === null) {\n      this.metadataSize = view.getUint32();\n\n      // We make sure that the next request we make can contain all the metadata\n      this.chunkSize = nextPow2(this.metadataSize);\n    }\n  }\n\n  decodeHeaders(view) {\n    if (this.headers === null) {\n      const numberOfHeaders = view.getUint32();\n      const headers = [];\n      for (let i = 0; i < numberOfHeaders; i += 1) {\n        const headerSize = view.getUint32();\n        headers.push(\n          String.fromCharCode.apply(null, view.getBytes(headerSize))\n        );\n      }\n      this.headers = headers;\n    }\n  }\n\n  decodeFormatString(view) {\n    if (this.formatString === null) {\n      const formatStringSize = view.getUint32();\n      const formatString = String.fromCharCode\n        .apply(null, view.getBytes(formatStringSize))\n        .slice(1);\n      const formatSize = sizeOfFormat(formatString);\n\n      this.formatString = formatString;\n      this.formatSize = formatSize;\n    }\n  }\n\n  decodeSymbols(view) {\n    if (this.symbols === null) {\n      const symbols = new Map();\n      const numberOfTables = view.getUint32();\n      for (let i = 0; i < numberOfTables; i += 1) {\n        const headerIndex = view.getUint32();\n        const tableSize = view.getUint32();\n        for (let j = 0; j < tableSize; j += 1) {\n          const symbolSize = view.getUint32();\n          if (!symbols.has(headerIndex)) {\n            symbols.set(headerIndex, new Map());\n          }\n          symbols\n            .get(headerIndex)\n            .set(j, String.fromCharCode.apply(null, view.getBytes(symbolSize)));\n        }\n      }\n\n      this.symbols = symbols;\n    }\n  }\n\n  decodeNumberOfRows(view) {\n    if (this.numberOfRows === null) {\n      this.numberOfRows = view.getUint32();\n    }\n  }\n\n  decodeRows(view) {\n    const remainingBytes = view.buffer.byteLength - view.pos;\n    const numberOfRows = Math.floor(remainingBytes / this.formatSize);\n    const rows = [];\n    for (let i = 0; i < numberOfRows; i += 1) {\n      const row = [];\n      for (let j = 0, len = this.formatString.length; j < len; j += 1) {\n        switch (this.formatString[j]) {\n          case \"c\": {\n            row.push(view.getByte());\n            break;\n          }\n          case \"b\": {\n            row.push(view.getInt8());\n            break;\n          }\n          case \"B\": {\n            row.push(view.getUint8());\n            break;\n          }\n          case \"h\": {\n            row.push(view.getInt16());\n            break;\n          }\n          case \"H\": {\n            row.push(view.getUint16());\n            break;\n          }\n          case \"i\": {\n            row.push(view.getInt32());\n            break;\n          }\n          case \"I\": {\n            row.push(view.getUint32());\n            break;\n          }\n          case \"f\": {\n            row.push(view.getFloat32());\n            break;\n          }\n          case \"d\": {\n            row.push(view.getFloat64());\n            break;\n          }\n          default: {\n            throw new Error(`Did not expect defaults: ${this.formatString[j]}`);\n          }\n        }\n      }\n\n      // Replace symbols by their values\n      this.symbols.forEach((table, headerIndex) => {\n        row[headerIndex] = table.get(row[headerIndex]);\n      });\n\n      rows.push(row);\n    }\n\n    this.partial = view.buffer.subarray(view.pos);\n    this.fetchedRows += rows.length;\n\n    // As soon as we loaded more than 100 rows (which is the maximum page size\n    // for a DataTable), we increase the chunkSize to allow loading of more rows\n    // at a time, in the background.\n    if (this.fetchedRows > 100) {\n      this.chunkSize = 2097152;\n    }\n\n    return rows;\n  }\n\n  async fetchNext() {\n    if (this.fetchedRows === this.numberOfRows) {\n      return;\n    }\n\n    const response = await fetch(this.url, {\n      headers: {\n        Range: `bytes=${this.offset}-${this.offset + this.chunkSize - 1}`\n      }\n    });\n\n    if (response.ok) {\n      let responseBuffer = new Uint8Array(await response.arrayBuffer());\n      this.offset += responseBuffer.byteLength;\n      const bytes = new Uint8Array(\n        this.partial.byteLength + responseBuffer.byteLength\n      );\n      bytes.set(this.partial, 0);\n      bytes.set(responseBuffer, this.partial.byteLength);\n\n      const view = new ByteView(bytes);\n\n      let beforeOffset = 0;\n      try {\n        this.decodeMetadataSize(view);\n\n        beforeOffset = view.pos;\n        this.decodeHeaders(view);\n\n        beforeOffset = view.pos;\n        this.decodeFormatString(view);\n\n        beforeOffset = view.pos;\n        this.decodeSymbols(view);\n\n        beforeOffset = view.pos;\n        this.decodeNumberOfRows(view);\n      } catch (ex) {\n        this.partial = view.buffer.subarray(beforeOffset);\n        return this.fetchNext();\n      }\n\n      // this.decodeRows(view);\n      return this.ondata(this.decodeRows(view));\n    }\n  }\n}\n\nwindow.onload = async () => {\n  [\"trackers\", \"sites\", \"companies\", \"sites_trackers\"].forEach(\n    type => {\n      const table = new Table(type);\n      const loader = new LazyCSVReader(\n        `${window.location.origin}/data/packed/${type}.pack`\n      );\n\n      table.onRequestMoreRows = () => loader.fetchNext();\n      loader.ondata = data => table.update(loader.headers, data);\n\n      if ($(`#${type}`).is(\":visible\")) {\n        // Start loading for visible table\n        loader.fetchNext();\n      } else {\n        // Start loading whenever the tab is clicked\n        $(`#li-${type}`).click(() => {\n          loader.fetchNext();\n          $(`#li-${type}`).off();\n        });\n      }\n    }\n  );\n};\n"
  },
  {
    "path": "static/js/ghostery.js",
    "content": "const navbar = document.querySelector('.navbar-ghostery');\n\nif (navbar) {\n  if (window.location.href.indexOf('utm_campaign=WTM_explainer') > -1) {\n    navbar.classList.add('open');\n  }\n\n  navbar.querySelector('button').addEventListener('click', () => {\n    navbar.classList.toggle('open');\n  });\n}\n"
  },
  {
    "path": "static/js/highlight.pack.js",
    "content": "/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */\n!function(e){var n=\"object\"==typeof window&&window||\"object\"==typeof self&&self;\"undefined\"!=typeof exports?e(exports):n&&(n.hljs=e({}),\"function\"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+\" \";if(o+=e.parentNode?e.parentNode.className:\"\",t=B.exec(o))return w(t[1])?t[1]:\"no-highlight\";for(o=o.split(/\\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:\"start\",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:\"stop\",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset<r[0].offset?e:r:\"start\"===r[0].event?e:r:e.length?e:r}function o(e){function r(e){return\" \"+e.nodeName+'=\"'+n(e.value).replace('\"',\"&quot;\")+'\"'}s+=\"<\"+t(e)+E.map.call(e.attributes,r).join(\"\")+\">\"}function u(e){s+=\"</\"+t(e)+\">\"}function c(e){(\"start\"===e.event?o:u)(e.node)}for(var l=0,s=\"\",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else\"start\"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),\"m\"+(e.cI?\"i\":\"\")+(r?\"g\":\"\"))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(\" \").forEach(function(e){var t=e.split(\"|\");o[t[0]]=[n,t[1]?Number(t[1]):1]})};\"string\"==typeof a.k?u(\"keyword\",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\\w+/,!0),i&&(a.bK&&(a.b=\"\\\\b(\"+a.bK.split(\" \").join(\"|\")+\")\\\\b\"),a.b||(a.b=/\\B|\\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\\B|\\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||\"\",a.eW&&i.tE&&(a.tE+=(a.e?\"|\":\"\")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l(\"self\"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?\"\\\\.?(\"+e.b+\")\\\\.?\":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join(\"|\"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?\"\":I.classPrefix,i='<span class=\"'+a,o=t?\"\":C;return i+=e+'\">',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a=\"\",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e=\"string\"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=\"\"}function v(e){L+=e.cN?p(e.cN,\"\",!0):\"\",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,\"\"),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme \"'+n+'\" for mode \"'+(E.cN||\"<unnamed>\")+'\"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: \"'+e+'\"');s(N);var R,E=i||N,x={},L=\"\";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,\"\",!0)+L);var k=\"\",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf(\"Illegal\"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&\"\\n\"===e?\"<br>\":I.tabReplace?n.replace(/\\t/g,I.tabReplace):\"\"}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\\bhljs\\b/)||a.push(\"hljs\"),-1===e.indexOf(r)&&a.push(r),a.join(\" \").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),n.innerHTML=e.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll(\"pre code\");E.forEach.call(e,d)}}function m(){addEventListener(\"DOMContentLoaded\",v,!1),addEventListener(\"load\",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||\"\").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\\blang(?:uage)?-([\\w-]+)\\b/i,M=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,C=\"</span>\",I={classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR=\"[a-zA-Z]\\\\w*\",e.UIR=\"[a-zA-Z_]\\\\w*\",e.NR=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",e.CNR=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",e.BNR=\"\\\\b(0b[01]+)\",e.RSR=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",e.BE={b:\"\\\\\\\\[\\\\s\\\\S]\",r:0},e.ASM={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\",c:[e.BE]},e.QSM={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE]},e.PWM={b:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},e.C=function(n,t,r){var a=e.inherit({cN:\"comment\",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:\"doctag\",b:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",r:0}),a},e.CLCM=e.C(\"//\",\"$\"),e.CBCM=e.C(\"/\\\\*\",\"\\\\*/\"),e.HCM=e.C(\"#\",\"$\"),e.NM={cN:\"number\",b:e.NR,r:0},e.CNM={cN:\"number\",b:e.CNR,r:0},e.BNM={cN:\"number\",b:e.BNR,r:0},e.CSSNM={cN:\"number\",b:e.NR+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",r:0},e.RM={cN:\"regexp\",b:/\\//,e:/\\/[gimuy]*/,i:/\\n/,c:[e.BE,{b:/\\[/,e:/\\]/,r:0,c:[e.BE]}]},e.TM={cN:\"title\",b:e.IR,r:0},e.UTM={cN:\"title\",b:e.UIR,r:0},e.METHOD_GUARD={b:\"\\\\.\\\\s*\"+e.UIR,r:0},e});hljs.registerLanguage(\"xml\",function(s){var e=\"[A-Za-z0-9\\\\._:-]+\",t={eW:!0,i:/</,r:0,c:[{cN:\"attr\",b:e,r:0},{b:/=\\s*/,r:0,c:[{cN:\"string\",endsParent:!0,v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/[^\\s\"'=<>`]+/}]}]}]};return{aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xjb\",\"xsd\",\"xsl\",\"plist\"],cI:!0,c:[{cN:\"meta\",b:\"<!DOCTYPE\",e:\">\",r:10,c:[{b:\"\\\\[\",e:\"\\\\]\"}]},s.C(\"<!--\",\"-->\",{r:10}),{b:\"<\\\\!\\\\[CDATA\\\\[\",e:\"\\\\]\\\\]>\",r:10},{b:/<\\?(php)?/,e:/\\?>/,sL:\"php\",c:[{b:\"/\\\\*\",e:\"\\\\*/\",skip:!0}]},{cN:\"tag\",b:\"<style(?=\\\\s|>|$)\",e:\">\",k:{name:\"style\"},c:[t],starts:{e:\"</style>\",rE:!0,sL:[\"css\",\"xml\"]}},{cN:\"tag\",b:\"<script(?=\\\\s|>|$)\",e:\">\",k:{name:\"script\"},c:[t],starts:{e:\"</script>\",rE:!0,sL:[\"actionscript\",\"javascript\",\"handlebars\",\"xml\"]}},{cN:\"meta\",v:[{b:/<\\?xml/,e:/\\?>/,r:10},{b:/<\\?\\w+/,e:/\\?>/}]},{cN:\"tag\",b:\"</?\",e:\"/?>\",c:[{cN:\"name\",b:/[^\\/><\\s]+/,r:0},t]}]}});hljs.registerLanguage(\"css\",function(e){var c=\"[a-zA-Z-][a-zA-Z0-9_-]*\",t={b:/[A-Z\\_\\.\\-]+\\s*:/,rB:!0,e:\";\",eW:!0,c:[{cN:\"attribute\",b:/\\S/,e:\":\",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\\w-]+\\(/,rB:!0,c:[{cN:\"built_in\",b:/[\\w-]+/},{b:/\\(/,e:/\\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"number\",b:\"#[0-9A-Fa-f]+\"},{cN:\"meta\",b:\"!important\"}]}}]};return{cI:!0,i:/[=\\/|'\\$]/,c:[e.CBCM,{cN:\"selector-id\",b:/#[A-Za-z0-9_-]+/},{cN:\"selector-class\",b:/\\.[A-Za-z0-9_-]+/},{cN:\"selector-attr\",b:/\\[/,e:/\\]/,i:\"$\"},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"@(font-face|page)\",l:\"[a-z-]+\",k:\"font-face page\"},{b:\"@\",e:\"[{;]\",i:/:/,c:[{cN:\"keyword\",b:/\\w+/},{b:/\\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:\"selector-tag\",b:c,r:0},{b:\"{\",e:\"}\",i:/\\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage(\"apache\",function(e){var r={cN:\"number\",b:\"[\\\\$%]\\\\d+\"};return{aliases:[\"apacheconf\"],cI:!0,c:[e.HCM,{cN:\"section\",b:\"</?\",e:\">\"},{cN:\"attribute\",b:/\\w+/,r:0,k:{nomarkup:\"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername\"},starts:{e:/$/,r:0,k:{literal:\"on off all\"},c:[{cN:\"meta\",b:\"\\\\s\\\\[\",e:\"\\\\]$\"},{cN:\"variable\",b:\"[\\\\$%]\\\\{\",e:\"\\\\}\",c:[\"self\",r]},r,e.QSM]}}],i:/\\S/}});hljs.registerLanguage(\"diff\",function(e){return{aliases:[\"patch\"],c:[{cN:\"meta\",r:10,v:[{b:/^@@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +@@$/},{b:/^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/},{b:/^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$/}]},{cN:\"comment\",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\\-{3}/,e:/$/},{b:/^\\*{3} /,e:/$/},{b:/^\\+{3}/,e:/$/},{b:/\\*{5}/,e:/\\*{5}$/}]},{cN:\"addition\",b:\"^\\\\+\",e:\"$\"},{cN:\"deletion\",b:\"^\\\\-\",e:\"$\"},{cN:\"addition\",b:\"^\\\\!\",e:\"$\"}]}});hljs.registerLanguage(\"java\",function(e){var a=\"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*\",t=a+\"(<\"+a+\"(\\\\s*,\\\\s*\"+a+\")*>)?\",r=\"false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do\",s=\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",c={cN:\"number\",b:s,r:0};return{aliases:[\"jsp\"],k:r,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{b:/\\w+@/,r:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"new throw return else\",r:0},{cN:\"function\",b:\"(\"+t+\"\\\\s+)+\"+e.UIR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}});hljs.registerLanguage(\"python\",function(e){var r={keyword:\"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False\",built_in:\"Ellipsis NotImplemented\"},b={cN:\"meta\",b:/^(>>>|\\.\\.\\.) /},c={cN:\"subst\",b:/\\{/,e:/\\}/,k:r,i:/#/},a={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[b],r:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,c:[b],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[b,c]},{b:/(fr|rf|f)\"\"\"/,e:/\"\"\"/,c:[b,c]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)\"/,e:/\"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},{b:/(fr|rf|f)'/,e:/'/,c:[c]},{b:/(fr|rf|f)\"/,e:/\"/,c:[c]},e.ASM,e.QSM]},s={cN:\"number\",r:0,v:[{b:e.BNR+\"[lLjJ]?\"},{b:\"\\\\b(0o[0-7]+)[lLjJ]?\"},{b:e.CNR+\"[lLjJ]?\"}]},i={cN:\"params\",b:/\\(/,e:/\\)/,c:[\"self\",b,s,a]};return c.c=[a,s,b],{aliases:[\"py\",\"gyp\"],k:r,i:/(<\\/|->|\\?)|=>/,c:[b,s,a,e.HCM,{v:[{cN:\"function\",bK:\"def\"},{cN:\"class\",bK:\"class\"}],e:/:/,i:/[${=;\\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:\"None\"}]},{cN:\"meta\",b:/^[\\t ]*@/,e:/$/},{b:/\\b(print|exec)\\(/}]}});hljs.registerLanguage(\"javascript\",function(e){var r=\"[A-Za-z$_][0-9A-Za-z$_]*\",t={keyword:\"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise\"},a={cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},n={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\",k:t,c:[]},c={cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:[\"js\",\"jsx\"],k:t,c:[{cN:\"meta\",r:10,b:/^\\s*['\"]use (strict|asm)['\"]/},{cN:\"meta\",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\\s*/,r:0,c:[{b:r+\"\\\\s*:\",rB:!0,r:0,c:[{cN:\"attr\",b:r,r:0}]}]},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+r+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:r},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b:/</,e:/(\\/\\w+|\\w+\\/)>/,sL:\"xml\",c:[{b:/<\\w+\\s*\\/>/,skip:!0},{b:/<\\w+/,e:/(\\/\\w+|\\w+\\/)>/,skip:!0,c:[{b:/<\\w+\\s*\\/>/,skip:!0},\"self\"]}]}],r:0},{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:s}],i:/\\[|%/},{b:/\\$[(.]/},e.METHOD_GUARD,{cN:\"class\",bK:\"class\",e:/[{;=]/,eE:!0,i:/[:\"\\[\\]]/,c:[{bK:\"extends\"},e.UTM]},{bK:\"constructor\",e:/\\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage(\"markdown\",function(e){return{aliases:[\"md\",\"mkdown\",\"mkd\"],c:[{cN:\"section\",v:[{b:\"^#{1,6}\",e:\"$\"},{b:\"^.+?\\\\n[=-]{2,}$\"}]},{b:\"<\",e:\">\",sL:\"xml\",r:0},{cN:\"bullet\",b:\"^([*+-]|(\\\\d+\\\\.))\\\\s+\"},{cN:\"strong\",b:\"[*_]{2}.+?[*_]{2}\"},{cN:\"emphasis\",v:[{b:\"\\\\*.+?\\\\*\"},{b:\"_.+?_\",r:0}]},{cN:\"quote\",b:\"^>\\\\s+\",e:\"$\"},{cN:\"code\",v:[{b:\"^```w*s*$\",e:\"^```s*$\"},{b:\"`.+?`\"},{b:\"^( {4}|\t)\",e:\"$\",r:0}]},{b:\"^[-\\\\*]{3,}\",e:\"$\"},{b:\"\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]\",rB:!0,c:[{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,rE:!0,r:0},{cN:\"link\",b:\"\\\\]\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"symbol\",b:\"\\\\]\\\\[\",e:\"\\\\]\",eB:!0,eE:!0}],r:10},{b:/^\\[[^\\n]+\\]:/,rB:!0,c:[{cN:\"symbol\",b:/\\[/,e:/\\]/,eB:!0,eE:!0},{cN:\"link\",b:/:\\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage(\"json\",function(e){var i={literal:\"true false null\"},n=[e.QSM,e.CNM],r={e:\",\",eW:!0,eE:!0,c:n,k:i},t={b:\"{\",e:\"}\",c:[{cN:\"attr\",b:/\"/,e:/\"/,c:[e.BE],i:\"\\\\n\"},e.inherit(r,{b:/:/})],i:\"\\\\S\"},c={b:\"\\\\[\",e:\"\\\\]\",c:[e.inherit(r)],i:\"\\\\S\"};return n.splice(n.length,0,t,c),{c:n,k:i,i:\"\\\\S\"}});hljs.registerLanguage(\"cpp\",function(t){var e={cN:\"keyword\",b:\"\\\\b[a-z\\\\d_]*_t\\\\b\"},r={cN:\"string\",v:[{b:'(u8?|U)?L?\"',e:'\"',i:\"\\\\n\",c:[t.BE]},{b:'(u8?|U)?R\"',e:'\"',c:[t.BE]},{b:\"'\\\\\\\\?.\",e:\"'\",i:\".\"}]},s={cN:\"number\",v:[{b:\"\\\\b(0b[01']+)\"},{b:\"(-?)\\\\b([\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)(u|U|l|L|ul|UL|f|F|b|B)\"},{b:\"(-?)(\\\\b0[xX][a-fA-F0-9']+|(\\\\b[\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)([eE][-+]?[\\\\d']+)?)\"}],r:0},i={cN:\"meta\",b:/#\\s*[a-z]+\\b/,e:/$/,k:{\"meta-keyword\":\"if else elif endif define undef warning error line pragma ifdef ifndef include\"},c:[{b:/\\\\\\n/,r:0},t.inherit(r,{cN:\"meta-string\"}),{cN:\"meta-string\",b:/<[^\\n>]*>/,e:/$/,i:\"\\\\n\"},t.CLCM,t.CBCM]},a=t.IR+\"\\\\s*\\\\(\",c={keyword:\"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not\",built_in:\"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr\",literal:\"true false nullptr NULL\"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:[\"c\",\"cc\",\"h\",\"c++\",\"h++\",\"hpp\"],k:c,i:\"</\",c:n.concat([i,{b:\"\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<\",e:\">\",k:c,c:[\"self\",e]},{b:t.IR+\"::\",k:c},{v:[{b:/=/,e:/;/},{b:/\\(/,e:/\\)/},{bK:\"new throw return else\",e:/;/}],k:c,c:n.concat([{b:/\\(/,e:/\\)/,k:c,c:n.concat([\"self\"]),r:0}]),r:0},{cN:\"function\",b:\"(\"+t.IR+\"[\\\\*&\\\\s]+)+\"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\\w\\s\\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e]},t.CLCM,t.CBCM,i]},{cN:\"class\",bK:\"class struct\",e:/[{;:]/,c:[{b:/</,e:/>/,c:[\"self\"]},t.TM]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage(\"perl\",function(e){var t=\"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when\",r={cN:\"subst\",b:\"[$@]\\\\{\",e:\"\\\\}\",k:t},s={b:\"->{\",e:\"}\"},n={v:[{b:/\\$\\d/},{b:/[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/},{b:/[\\$%@][^\\s\\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C(\"^\\\\=\\\\w\",\"\\\\=cut\",{eW:!0}),s,{cN:\"string\",c:i,v:[{b:\"q[qwxr]?\\\\s*\\\\(\",e:\"\\\\)\",r:5},{b:\"q[qwxr]?\\\\s*\\\\[\",e:\"\\\\]\",r:5},{b:\"q[qwxr]?\\\\s*\\\\{\",e:\"\\\\}\",r:5},{b:\"q[qwxr]?\\\\s*\\\\|\",e:\"\\\\|\",r:5},{b:\"q[qwxr]?\\\\s*\\\\<\",e:\"\\\\>\",r:5},{b:\"qw\\\\s+q\",e:\"q\",r:5},{b:\"'\",e:\"'\",c:[e.BE]},{b:'\"',e:'\"'},{b:\"`\",e:\"`\",c:[e.BE]},{b:\"{\\\\w+}\",c:[],r:0},{b:\"-?\\\\w+\\\\s*\\\\=\\\\>\",c:[],r:0}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{b:\"(\\\\/\\\\/|\"+e.RSR+\"|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*\",k:\"split return print reverse grep\",r:0,c:[e.HCM,{cN:\"regexp\",b:\"(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*\",r:10},{cN:\"regexp\",b:\"(m|qr)?/\",e:\"/[a-z]*\",c:[e.BE],r:0}]},{cN:\"function\",bK:\"sub\",e:\"(\\\\s*\\\\(.*?\\\\))?[;{]\",eE:!0,r:5,c:[e.TM]},{b:\"-\\\\w\\\\b\",r:0},{b:\"^__DATA__$\",e:\"^__END__$\",sL:\"mojolicious\",c:[{b:\"^@@.*\",e:\"$\",cN:\"comment\"}]}];return r.c=o,s.c=o,{aliases:[\"pl\",\"pm\"],l:/[\\w\\.]+/,k:t,c:o}});hljs.registerLanguage(\"nginx\",function(e){var r={cN:\"variable\",v:[{b:/\\$\\d+/},{b:/\\$\\{/,e:/}/},{b:\"[\\\\$\\\\@]\"+e.UIR}]},b={eW:!0,l:\"[a-z/_]+\",k:{literal:\"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll\"},r:0,i:\"=>\",c:[e.HCM,{cN:\"string\",c:[e.BE,r],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/}]},{b:\"([a-z]+):/\",e:\"\\\\s\",eW:!0,eE:!0,c:[r]},{cN:\"regexp\",c:[e.BE,r],v:[{b:\"\\\\s\\\\^\",e:\"\\\\s|{|;\",rE:!0},{b:\"~\\\\*?\\\\s+\",e:\"\\\\s|{|;\",rE:!0},{b:\"\\\\*(\\\\.[a-z\\\\-]+)+\"},{b:\"([a-z\\\\-]+\\\\.)+\\\\*\"}]},{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+[kKmMgGdshdwy]*\\\\b\",r:0},r]};return{aliases:[\"nginxconf\"],c:[e.HCM,{b:e.UIR+\"\\\\s+{\",rB:!0,e:\"{\",c:[{cN:\"section\",b:e.UIR}],r:0},{b:e.UIR+\"\\\\s\",e:\";|{\",rB:!0,c:[{cN:\"attribute\",b:e.UIR,starts:b}],r:0}],i:\"[^\\\\s\\\\}]\"}});hljs.registerLanguage(\"sql\",function(e){var t=e.C(\"--\",\"$\");return{cI:!0,i:/[<>{}*#]/,c:[{bK:\"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment\",e:/;/,eW:!0,l:/[\\w\\.]+/,k:{keyword:\"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek\",literal:\"true false null\",built_in:\"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]},{cN:\"string\",b:'\"',e:'\"',c:[e.BE,{b:'\"\"'}]},{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage(\"coffeescript\",function(e){var c={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not\",literal:\"true false null undefined yes no on off\",built_in:\"npm require console print module global window document\"},n=\"[A-Za-z$_][0-9A-Za-z$_]*\",r={cN:\"subst\",b:/#\\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",r:0}}),{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,r]},{b:/\"/,e:/\"/,c:[e.BE,r]}]},{cN:\"regexp\",v:[{b:\"///\",e:\"///\",c:[r,e.HCM]},{b:\"//[gim]*\",r:0},{b:/\\/(?![ *])(\\\\\\/|.)*?\\/[gim]*(?=\\W|$)/}]},{b:\"@\"+n},{sL:\"javascript\",eB:!0,eE:!0,v:[{b:\"```\",e:\"```\"},{b:\"`\",e:\"`\"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",o={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:c,c:[\"self\"].concat(i)}]};return{aliases:[\"coffee\",\"cson\",\"iced\"],k:c,i:/\\/\\*/,c:i.concat([e.C(\"###\",\"###\"),e.HCM,{cN:\"function\",b:\"^\\\\s*\"+n+\"\\\\s*=\\\\s*\"+t,e:\"[-=]>\",rB:!0,c:[s,o]},{b:/[:\\(,=]\\s*/,r:0,c:[{cN:\"function\",b:t,e:\"[-=]>\",rB:!0,c:[o]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[s]},s]},{b:n+\":\",e:\":\",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage(\"bash\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},s={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]},a={cN:\"string\",b:/'/,e:/'/};return{aliases:[\"sh\",\"zsh\"],l:/\\b-?[a-z\\._]+\\b/,k:{keyword:\"if then else elif fi for while in do done case esac function\",literal:\"true false\",built_in:\"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp\",_:\"-ne -eq -lt -gt -f -d -e -s -l -a\"},c:[{cN:\"meta\",b:/^#![^\\n]+sh\\s*$/,r:10},{cN:\"function\",b:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,rB:!0,c:[e.inherit(e.TM,{b:/\\w[\\w\\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage(\"php\",function(e){var c={b:\"\\\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*\"},i={cN:\"meta\",b:/<\\?(php)?|\\?>/},t={cN:\"string\",c:[e.BE,i],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:[\"php3\",\"php4\",\"php5\",\"php6\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally\",c:[e.HCM,e.C(\"//\",\"$\",{c:[i]}),e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:/<<<['\"]?\\w+['\"]?$/,e:/^\\w+;?$/,c:[e.BE,{cN:\"subst\",v:[{b:/\\$\\w+/},{b:/\\{\\$/,e:/\\}/}]}]},i,{cN:\"keyword\",b:/\\$this\\b/},c,{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",c,e.CBCM,t,a]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},t,a]}});hljs.registerLanguage(\"ruby\",function(e){var b=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",r={keyword:\"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor\",literal:\"true false nil\"},c={cN:\"doctag\",b:\"@[A-Za-z]+\"},a={b:\"#<\",e:\">\"},s=[e.C(\"#\",\"$\",{c:[c]}),e.C(\"^\\\\=begin\",\"^\\\\=end\",{c:[c],r:10}),e.C(\"^__END__\",\"\\\\n$\")],n={cN:\"subst\",b:\"#\\\\{\",e:\"}\",k:r},t={cN:\"string\",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%[qQwWx]?\\\\(\",e:\"\\\\)\"},{b:\"%[qQwWx]?\\\\[\",e:\"\\\\]\"},{b:\"%[qQwWx]?{\",e:\"}\"},{b:\"%[qQwWx]?<\",e:\">\"},{b:\"%[qQwWx]?/\",e:\"/\"},{b:\"%[qQwWx]?%\",e:\"%\"},{b:\"%[qQwWx]?-\",e:\"-\"},{b:\"%[qQwWx]?\\\\|\",e:\"\\\\|\"},{b:/\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/},{b:/<<(-?)\\w+$/,e:/^\\s*\\w+$/}]},i={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,k:r},d=[t,a,{cN:\"class\",bK:\"class module\",e:\"$|;\",i:/=/,c:[e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{b:\"<\\\\s*\",c:[{b:\"(\"+e.IR+\"::)?\"+e.IR}]}].concat(s)},{cN:\"function\",bK:\"def\",e:\"$|;\",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+\"::\"},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",r:0},{cN:\"symbol\",b:\":(?!\\\\s)\",c:[t,{b:b}],r:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{cN:\"params\",b:/\\|/,e:/\\|/,k:r},{b:\"(\"+e.RSR+\"|unless)\\\\s*\",k:\"unless\",c:[a,{cN:\"regexp\",c:[e.BE,n],i:/\\n/,v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r{\",e:\"}[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)[a-z]*\"},{b:\"%r!\",e:\"![a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l=\"[>?]>\",o=\"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\",u=\"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d(p\\\\d+)?[^>]+>\",w=[{b:/^\\s*=>/,starts:{e:\"$\",c:d}},{cN:\"meta\",b:\"^(\"+l+\"|\"+o+\"|\"+u+\")\",starts:{e:\"$\",c:d}}];return{aliases:[\"rb\",\"gemspec\",\"podspec\",\"thor\",\"irb\"],k:r,i:/\\/\\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage(\"http\",function(e){var t=\"HTTP/[0-9\\\\.]+\";return{aliases:[\"https\"],i:\"\\\\S\",c:[{b:\"^\"+t,e:\"$\",c:[{cN:\"number\",b:\"\\\\b\\\\d{3}\\\\b\"}]},{b:\"^[A-Z]+ (.*?) \"+t+\"$\",rB:!0,e:\"$\",c:[{cN:\"string\",b:\" \",e:\" \",eB:!0,eE:!0},{b:t},{cN:\"keyword\",b:\"[A-Z]+\"}]},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,i:\"\\\\n|\\\\s|=\",starts:{e:\"$\",r:0}},{b:\"\\\\n\\\\n\",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage(\"cs\",function(e){var i={keyword:\"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield\",literal:\"null false true\"},t={cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},r=e.inherit(t,{i:/\\n/}),a={cN:\"subst\",b:\"{\",e:\"}\",k:i},c=e.inherit(a,{i:/\\n/}),n={cN:\"string\",b:/\\$\"/,e:'\"',i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},e.BE,c]},s={cN:\"string\",b:/\\$@\"/,e:'\"',c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},a]},o=e.inherit(s,{i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},c]});a.c=[s,n,t,e.ASM,e.QSM,e.CNM,e.CBCM],c.c=[o,n,r,e.ASM,e.QSM,e.CNM,e.inherit(e.CBCM,{i:/\\n/})];var l={v:[s,n,t,e.ASM,e.QSM]},b=e.IR+\"(<\"+e.IR+\"(\\\\s*,\\\\s*\"+e.IR+\")*>)?(\\\\[\\\\])?\";return{aliases:[\"csharp\"],k:i,i:/::/,c:[e.C(\"///\",\"$\",{rB:!0,c:[{cN:\"doctag\",v:[{b:\"///\",r:0},{b:\"<!--|-->\"},{b:\"</?\",e:\">\"}]}]}),e.CLCM,e.CBCM,{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elif endif define undef warning error line region endregion pragma checksum\"}},l,e.CNM,{bK:\"class interface\",e:/[{;=]/,i:/[^\\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:\"namespace\",e:/[{;=]/,i:/[^\\s:]/,c:[e.inherit(e.TM,{b:\"[a-zA-Z](\\\\.?\\\\w)*\"}),e.CLCM,e.CBCM]},{cN:\"meta\",b:\"^\\\\s*\\\\[\",eB:!0,e:\"\\\\]\",eE:!0,c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{bK:\"new return throw await else\",r:0},{cN:\"function\",b:\"(\"+b+\"\\\\s+)+\"+e.IR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:i,c:[{b:e.IR+\"\\\\s*\\\\(\",rB:!0,c:[e.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:i,r:0,c:[l,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage(\"shell\",function(s){return{aliases:[\"console\"],c:[{cN:\"meta\",b:\"^\\\\s{0,3}[\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]\",starts:{e:\"$\",sL:\"bash\"}}]}});hljs.registerLanguage(\"objectivec\",function(e){var t={cN:\"built_in\",b:\"\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+\"},_={keyword:\"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN\",literal:\"false true FALSE TRUE nil YES NO NULL\",built_in:\"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once\"},i=/[a-zA-Z@][a-zA-Z0-9_]*/,n=\"@interface @class @protocol @implementation\";return{aliases:[\"mm\",\"objc\",\"obj-c\"],k:_,l:i,i:\"</\",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:\"string\",v:[{b:'@\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:\"'\",e:\"[^\\\\\\\\]'\",i:\"[^\\\\\\\\][^']\"}]},{cN:\"meta\",b:\"#\",e:\"$\",c:[{cN:\"meta-string\",v:[{b:'\"',e:'\"'},{b:\"<\",e:\">\"}]}]},{cN:\"class\",b:\"(\"+n.split(\" \").join(\"|\")+\")\\\\b\",e:\"({|$)\",eE:!0,k:n,l:i,c:[e.UTM]},{b:\"\\\\.\"+e.UIR,r:0}]}});hljs.registerLanguage(\"makefile\",function(e){var i={cN:\"variable\",v:[{b:\"\\\\$\\\\(\"+e.UIR+\"\\\\)\",c:[e.BE]},{b:/\\$[@%<?\\^\\+\\*]/}]},r={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,i]},a={cN:\"variable\",b:/\\$\\([\\w-]+\\s/,e:/\\)/,k:{built_in:\"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value\"},c:[i]},n={b:\"^\"+e.UIR+\"\\\\s*[:+?]?=\",i:\"\\\\n\",rB:!0,c:[{b:\"^\"+e.UIR,e:\"[:+?]?=\",eE:!0}]},t={cN:\"meta\",b:/^\\.PHONY:/,e:/$/,k:{\"meta-keyword\":\".PHONY\"},l:/[\\.\\w]+/},l={cN:\"section\",b:/^[^\\s]+:/,e:/$/,c:[i]};return{aliases:[\"mk\",\"mak\"],k:\"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath\",l:/[\\w-]+/,c:[e.HCM,i,r,a,n,t,l]}});hljs.registerLanguage(\"ini\",function(e){var b={cN:\"string\",c:[e.BE],v:[{b:\"'''\",e:\"'''\",r:10},{b:'\"\"\"',e:'\"\"\"',r:10},{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]};return{aliases:[\"toml\"],cI:!0,i:/\\S/,c:[e.C(\";\",\"$\"),e.HCM,{cN:\"section\",b:/^\\s*\\[+/,e:/\\]+/},{b:/^[a-z0-9\\[\\]_-]+\\s*=\\s*/,e:\"$\",rB:!0,c:[{cN:\"attr\",b:/[a-z0-9\\[\\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:\"literal\",b:/\\bon|off|true|false|yes|no\\b/},{cN:\"variable\",v:[{b:/\\$[\\w\\d\"][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},b,{cN:\"number\",b:/([\\+\\-]+)?[\\d]+_[\\d_]+/},e.NM]}]}]}});"
  },
  {
    "path": "static/js/search.js",
    "content": "// Indices to search\nlet sites_idx = [];\nlet trackers_idx = [];\nlet blog_idx = [];\n\n\nfetch(`${pathToRoot}/sitemap.json`)\n    .then(function (response) {\n        return response.json();\n    })\n    .then(function (data) {\n        // Update indices\n        sites_idx = data.site;\n        trackers_idx = data.tracker;\n        blog_idx = data.blog;\n       \n        autocomplete(document.getElementById(\"search-bar\"));\n    });\n\n\nfunction compare(a, b) {\n    if (a.score < b.score){return -1;}\n    if (a.score > b.score){return 1;}\n    return 0;\n}\n\nfunction editDistance(s1, s2) {\n    const m = s1.length;\n    const n = s2.length;\n    const dTable = [];\n\n    for (let i = 0; i < m+1; i += 1) {\n        dTable.push(Array(n+i).fill(0))\n    }\n\n    for (let i = 0; i < m+1; i += 1) {\n        for (let j = 0; j < n+1; j += 1) {\n            if ( i == 0) {dTable[i][j] = j}\n            else if (j == 0) {dTable[i][j] = i}\n            else if (s1[i-1] == s2[j-1]) {\n                dTable[i][j] = dTable[i-1][j-1];\n            }\n            else {\n                dTable[i][j] = 1 + Math.min(\n                    dTable[i][j-1],\n                    dTable[i-1][j],\n                    dTable[i-1][j-1]\n                )\n            }\n        }\n    }\n    return dTable[m][n]\n}\n\nfunction search(query, idx) {\n    const matches = [];\n    for (let i = 0; i < idx.length; i += 1) {\n        // is identical\n        if (query == idx[i].normalized_name) {\n            idx[i].score = idx[i].weight * 10**6;\n            matches.push(idx[i]);\n        }\n        // is substring\n        else if (idx[i].normalized_name.indexOf(query) !== -1) {\n            idx[i].score = idx[i].weight * 10**5;\n            matches.push(idx[i]);\n        }\n        // edit distance of 1\n        else {\n            // TODO: tokenize idx[i]\n            // tokens = query.split(\" \");\n            if (matches.length < 5) {\n                if (editDistance(query, idx[i].normalized_name) < 3){\n                    idx[i].score = idx[i].weight * 100;\n                    matches.push(idx[i]);\n                } else if (editDistance(query, idx[i].normalized_name) < 4){\n                    idx[i].score = idx[i].weight * 50;\n                    matches.push(idx[i]);\n                }    \n            }\n        }\n    }\n    return matches.sort(compare).reverse().slice(0, 5);\n}\n\nfunction inArray(obj, arr){\n    let found = false;\n    for (let i = 0; i < arr.length; i += 1) {\n        if (arr[i].normalized_name == obj.normalized_name) {\n            found = true;\n            break;\n        }\n    }\n    return found;\n}\n\n\n/* \n * Gets list of results by category and updates the dropdown\n */\nfunction createList(parent, arr, name) {\n    if (arr){\n        if (arr.length > 0) {\n            /*for each item in the results...*/\n            header = document.createElement(\"DIV\");\n            header.setAttribute(\"class\", \"disabled\");\n            header.innerHTML = `<h6>${name}</h6>`;\n            parent.appendChild(header);\n            for (i = 0; i < arr.length; i++) {\n                /*create a DIV element for each matching element:*/\n                b = document.createElement(\"DIV\");\n                b.setAttribute(\"href\", arr[i].url);\n                b.innerHTML = `<a href=\"${pathToRoot + arr[i].url}\">${arr[i].name} <i class=\"fa fa-sign-out\" aria-hidden=\"true\"></i>`\n    \n                /*insert a input field that will hold the current array item's value:*/\n                b.innerHTML += \"<input type='hidden' value='\" + arr[i].name + \"'>\";\n                parent.appendChild(b);\n            }\n        }\n    }\n}\n\n/*\n * Adapted from https://www.w3schools.com/howto/howto_js_autocomplete.asp\n */\nfunction autocomplete(inp) {\n    /*the autocomplete function takes two arguments,\n    the text field element and an array of possible autocompleted values:*/\n    let currentFocus;\n    /*execute a function when someone writes in the text field:*/\n    inp.addEventListener(\"input\", function (e) {\n        let a, b, i, val = this.value;\n        /*close any already open lists of autocompleted values*/\n        closeAllLists();\n        if (!val) { return false; }\n        currentFocus = -1;\n        /*create a DIV element that will contain the items (values):*/\n        a = document.createElement(\"DIV\");\n        a.setAttribute(\"id\", this.id + \"-autocomplete-list\");\n        a.setAttribute(\"class\", \"autocomplete-items\");\n        /*append the DIV element as a child of the autocomplete container:*/\n        this.parentNode.appendChild(a);\n\n        // RESULTS for query\n        query = val.toLowerCase().trim();\n\n        // getting results\n        let sites = search(query, sites_idx);\n        let trackers = search(query, trackers_idx);\n        let blogposts = search(query, blog_idx);\n\n        // Update UI\n        createList(a, sites, \"websites\");\n        createList(a, trackers, \"trackers\");\n        createList(a, blogposts, \"blogposts\");\n    });\n    /*execute a function presses a key on the keyboard:*/\n    inp.addEventListener(\"keydown\", function (e) {\n        let x = document.getElementById(this.id + \"-autocomplete-list\");\n        if (x) {\n            x = x.getElementsByTagName(\"div\");\n        }\n        if (e.keyCode == 40) {\n            /*If the arrow DOWN key is pressed,\n            increase the currentFocus variable:*/\n            if (currentFocus + 1 < x.length) {\n                if (x[currentFocus + 1].classList.contains('disabled')) {\n                    currentFocus += 2;\n                } else {\n                    currentFocus += 1;\n                }\n            } else {\n                currentFocus = 1;\n            }\n            addActive(x);\n        } else if (e.keyCode == 38) { //up\n            /*If the arrow UP key is pressed,\n            decrease the currentFocus variable:*/\n            if (x[currentFocus - 1].classList.contains('disabled')) {\n                currentFocus -= 2;\n            } else {\n                currentFocus -= 1;\n            }\n            /*and and make the current item more visible:*/\n            addActive(x);\n        } else if (e.keyCode == 13 & currentFocus) {\n            if (!x[currentFocus].classList.contains('disabled')) {\n                /*If the ENTER key is pressed, prevent the form from being submitted,*/\n                e.preventDefault();\n                if (currentFocus > -1) {\n                    /*and simulate a click on the \"active\" item:*/\n                    // if (x) x[currentFocus].click();\n                    window.location.href = pathToRoot + x[currentFocus].getAttribute(\"href\");\n                }\n            }\n\n        }\n    });\n    function addActive(x) {\n        /*a function to classify an item as \"active\":*/\n        if (!x) return false;\n        /*start by removing the \"active\" class on all items:*/\n        removeActive(x);\n        if (currentFocus >= x.length) currentFocus = 0;\n        if (currentFocus < 0) currentFocus = (x.length - 1);\n        /*add class \"autocomplete-active\":*/\n        x[currentFocus].classList.add(\"autocomplete-active\");\n    }\n    function removeActive(x) {\n        /*a function to remove the \"active\" class from all autocomplete items:*/\n        for (let i = 0; i < x.length; i++) {\n            x[i].classList.remove(\"autocomplete-active\");\n        }\n    }\n    function closeAllLists(elmnt) {\n        /*close all autocomplete lists in the document,\n        except the one passed as an argument:*/\n        let x = document.getElementsByClassName(\"autocomplete-items\");\n        for (let i = 0; i < x.length; i++) {\n            if (elmnt != x[i] && elmnt != inp) {\n                x[i].parentNode.removeChild(x[i]);\n            }\n        }\n    }\n    /*execute a function when someone clicks in the document:*/\n    document.addEventListener(\"click\", function (e) {\n        closeAllLists(e.target);\n    });\n}\n"
  },
  {
    "path": "static/scss/_colors.scss",
    "content": "$grey-txt-color: #71869E;\n$red-txt-color: #A069AB;\n$light-blue-bg: #F4F7F8;\n$header-bg-color: #253135;\n$link-color: #0078CA;\n$dark-header: #48374E;\n$blue-color: #00AEF0;\n$blue-on-dark: #88DEFF;\n$light-blue-gray: #e3eced;\n$dark-purple: #8B4099;\n$nav-bar-active: #2b599c;\n$dark-blue: #2B5993;\n\n$light-purple-border: #f4e0ee;\n\n$black-color: #1A1925;\n$inactive-gray: #e9e9e9;\n$graph-gray: #BCC4CE;\n\n$pressed-button-dark: #3b2e40;\n$button-border-dark: #36263c;"
  },
  {
    "path": "static/scss/blog/card.scss",
    "content": "@import '../colors';\n\n$font-serif:  Palatino, \"Palatino Linotype\", \"Palatino LT STD\", \"Book Antiqua\", Georgia, serif;\n\n.col-md-4{\n    margin-bottom: 40px;\n}\n\n.card {\n  border-radius: 4px;\n    h3 {\n      font-size: 19px;\n      padding-bottom: 10px;\n      margin-top: 5px;\n      a {\n        color: $black-color;\n        font-weight: bold;\n      }\n    }\n\n    p {\n      font-family: $font-serif;\n      color: $grey-txt-color;\n      font-size: 18px;\n      margin-top: -10px;\n    }\n\n    .thumbnail {\n      padding: 0;\n      box-shadow: 8px 14px 38px rgba(39,44,49,.06),1px 3px 8px rgba(39,44,49,.03);\n      border: 0;\n    }\n    .card-media {\n      padding: 0;\n      height: 198px !important;\n      width: 100% !important;\n      display: flex;\n      max-width: 100% !important;\n      .img-fit-cover {\n        border-top-left-radius: 4px;\n        border-top-right-radius: 4px;\n        object-fit: cover;\n        max-width: inherit;\n      }\n    }\n\n    .caption {\n      padding: 30px;\n      min-height: 200px;\n      max-height: 200px;\n      .primer{\n        font-family: 'FiraMono-Regular', monospace;\n        font-size: 10px;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        font-weight: bold;\n        margin-top: -13px;\n        color: $red-txt-color;\n      }\n      .article{\n        font-family: 'FiraMono-Regular', monospace;\n        font-size: 10px;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        font-weight: bold;\n        margin-top: -13px;\n        color: $grey-txt-color;\n      }\n    }\n  }\n"
  },
  {
    "path": "static/scss/blog/github.scss",
    "content": "/*\n\ngithub.com style (c) Vasily Polovnyov <vast@whiteants.net>\n\n*/\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  color: #333;\n  background: #f8f8f8;\n}\n\n.hljs-comment,\n.hljs-quote {\n  color: #998;\n  font-style: italic;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-subst {\n  color: #333;\n  font-weight: bold;\n}\n\n.hljs-number,\n.hljs-literal,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-tag .hljs-attr {\n  color: #008080;\n}\n\n.hljs-string,\n.hljs-doctag {\n  color: #d14;\n}\n\n.hljs-title,\n.hljs-section,\n.hljs-selector-id {\n  color: #900;\n  font-weight: bold;\n}\n\n.hljs-subst {\n  font-weight: normal;\n}\n\n.hljs-type,\n.hljs-class .hljs-title {\n  color: #458;\n  font-weight: bold;\n}\n\n.hljs-tag,\n.hljs-name,\n.hljs-attribute {\n  color: #000080;\n  font-weight: normal;\n}\n\n.hljs-regexp,\n.hljs-link {\n  color: #009926;\n}\n\n.hljs-symbol,\n.hljs-bullet {\n  color: #990073;\n}\n\n.hljs-built_in,\n.hljs-builtin-name {\n  color: #0086b3;\n}\n\n.hljs-meta {\n  color: #999;\n  font-weight: bold;\n}\n\n.hljs-deletion {\n  background: #fdd;\n}\n\n.hljs-addition {\n  background: #dfd;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n"
  },
  {
    "path": "static/scss/blog/post.scss",
    "content": "@import '../colors';\n\n$font-serif:  Palatino, \"Palatino Linotype\", \"Palatino LT STD\", \"Book Antiqua\", Georgia, serif;\n\n\nh1, h2, h3, h4, h5 {\n    font-family: $font-serif;\n    margin-top: 42px;\n}\n.img-container{\n    text-align: center;\n    margin-top: 32px;\n    max-width: 700px;\n    margin-left: auto;\n    margin-right: auto;\n}\n.container-post{\n    font-family: $font-serif;\n    color: black;\n    font-size: 19px;\n    max-width: 700px;\n    padding-bottom: 126px;\n\n    #post-title{\n        font-family: 'Open Sans', sans-serif;\n        font-size: 30px;\n        color: #1A1925;\n    }\n    .post-meta {\n        margin-bottom: 35px;\n        margin-top: -15px;\n    }\n    #post-subtitle{\n        margin-top: 0 !important;\n        color: $grey-txt-color;\n        line-height: 1.3;\n    }\n    h1{\n        font-size: 29px;\n        font-weight: bold;\n    }\n    h2 {\n        font-size: 25px;\n        font-weight: bold;\n    }\n    h3 {\n        font-size: 21px;\n        font-weight: bold;\n    }\n    a{\n        color: $link-color;\n        code {\n            color: $link-color;\n            font-weight: bold;\n            border-bottom: solid 1px;\n        }\n    }\n    a:hover{\n        color: #CF635B;\n        text-decoration: none;\n        border-bottom: solid 2px #CF635B;\n    }\n    p{\n        line-height: 1.7;\n        font-size: 19px;\n        margin-top: 19px;\n    }\n    li{\n        line-height: 1.7;\n    }\n    table {\n        font-size: 16px;\n    }\n    dt {\n        font-weight: 700;\n        margin-top: 25px;\n    }\n    dd{\n        line-height: 1.7;\n        margin-left: 50px;\n    }\n    .footnote {\n        li {\n            margin-bottom: -10px;\n        }\n    }\n    img{\n        width: 100%;\n        margin-bottom: 30px;\n        margin-top: 30px;\n    }\n    .img-with-padding{\n        padding: 30px;\n        border-radius: 2px;\n    }\n    .img-caption{\n        font-style: italic;\n        font-size: 16px !important;\n        color: #666;\n        margin-top: -20px;\n        margin-bottom: 30px;\n    }\n    blockquote {\n        padding: 10px 20px;\n        margin: 0 0 20px;\n        border-left: 5px solid black;\n        p {\n            margin-top: 0px;\n        }\n    }\n}\n.img-responsive{\n    margin: auto;\n    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);\n}\npre{\n    padding: 0;\n    margin-top: 30px;\n    margin-bottom: 30px;\n    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);\n    border: none;\n    code {\n        white-space: inherit;\n    }\n}\ncode{\n    padding: 2px 4px;\n    font-size: 85%;\n    font-family: 'FiraMono-Regular', monospace;\n    color: #222;\n    background-color: #f8f8f8;\n    border-radius: 4px;\n}\n"
  },
  {
    "path": "static/scss/bootstrap.min.scss",
    "content": "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:\" (\" attr(href) \")\"}abbr[title]:after{content:\" (\" attr(title) \")\"}a[href^=\"javascript:\"]:after,a[href^=\"#\"]:after{content:\"\"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"\\002a\"}.glyphicon-plus:before{content:\"\\002b\"}.glyphicon-eur:before,.glyphicon-euro:before{content:\"\\20ac\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270f\"}.glyphicon-glass:before{content:\"\\e001\"}.glyphicon-music:before{content:\"\\e002\"}.glyphicon-search:before{content:\"\\e003\"}.glyphicon-heart:before{content:\"\\e005\"}.glyphicon-star:before{content:\"\\e006\"}.glyphicon-star-empty:before{content:\"\\e007\"}.glyphicon-user:before{content:\"\\e008\"}.glyphicon-film:before{content:\"\\e009\"}.glyphicon-th-large:before{content:\"\\e010\"}.glyphicon-th:before{content:\"\\e011\"}.glyphicon-th-list:before{content:\"\\e012\"}.glyphicon-ok:before{content:\"\\e013\"}.glyphicon-remove:before{content:\"\\e014\"}.glyphicon-zoom-in:before{content:\"\\e015\"}.glyphicon-zoom-out:before{content:\"\\e016\"}.glyphicon-off:before{content:\"\\e017\"}.glyphicon-signal:before{content:\"\\e018\"}.glyphicon-cog:before{content:\"\\e019\"}.glyphicon-trash:before{content:\"\\e020\"}.glyphicon-home:before{content:\"\\e021\"}.glyphicon-file:before{content:\"\\e022\"}.glyphicon-time:before{content:\"\\e023\"}.glyphicon-road:before{content:\"\\e024\"}.glyphicon-download-alt:before{content:\"\\e025\"}.glyphicon-download:before{content:\"\\e026\"}.glyphicon-upload:before{content:\"\\e027\"}.glyphicon-inbox:before{content:\"\\e028\"}.glyphicon-play-circle:before{content:\"\\e029\"}.glyphicon-repeat:before{content:\"\\e030\"}.glyphicon-refresh:before{content:\"\\e031\"}.glyphicon-list-alt:before{content:\"\\e032\"}.glyphicon-lock:before{content:\"\\e033\"}.glyphicon-flag:before{content:\"\\e034\"}.glyphicon-headphones:before{content:\"\\e035\"}.glyphicon-volume-off:before{content:\"\\e036\"}.glyphicon-volume-down:before{content:\"\\e037\"}.glyphicon-volume-up:before{content:\"\\e038\"}.glyphicon-qrcode:before{content:\"\\e039\"}.glyphicon-barcode:before{content:\"\\e040\"}.glyphicon-tag:before{content:\"\\e041\"}.glyphicon-tags:before{content:\"\\e042\"}.glyphicon-book:before{content:\"\\e043\"}.glyphicon-bookmark:before{content:\"\\e044\"}.glyphicon-print:before{content:\"\\e045\"}.glyphicon-camera:before{content:\"\\e046\"}.glyphicon-font:before{content:\"\\e047\"}.glyphicon-bold:before{content:\"\\e048\"}.glyphicon-italic:before{content:\"\\e049\"}.glyphicon-text-height:before{content:\"\\e050\"}.glyphicon-text-width:before{content:\"\\e051\"}.glyphicon-align-left:before{content:\"\\e052\"}.glyphicon-align-center:before{content:\"\\e053\"}.glyphicon-align-right:before{content:\"\\e054\"}.glyphicon-align-justify:before{content:\"\\e055\"}.glyphicon-list:before{content:\"\\e056\"}.glyphicon-indent-left:before{content:\"\\e057\"}.glyphicon-indent-right:before{content:\"\\e058\"}.glyphicon-facetime-video:before{content:\"\\e059\"}.glyphicon-picture:before{content:\"\\e060\"}.glyphicon-map-marker:before{content:\"\\e062\"}.glyphicon-adjust:before{content:\"\\e063\"}.glyphicon-tint:before{content:\"\\e064\"}.glyphicon-edit:before{content:\"\\e065\"}.glyphicon-share:before{content:\"\\e066\"}.glyphicon-check:before{content:\"\\e067\"}.glyphicon-move:before{content:\"\\e068\"}.glyphicon-step-backward:before{content:\"\\e069\"}.glyphicon-fast-backward:before{content:\"\\e070\"}.glyphicon-backward:before{content:\"\\e071\"}.glyphicon-play:before{content:\"\\e072\"}.glyphicon-pause:before{content:\"\\e073\"}.glyphicon-stop:before{content:\"\\e074\"}.glyphicon-forward:before{content:\"\\e075\"}.glyphicon-fast-forward:before{content:\"\\e076\"}.glyphicon-step-forward:before{content:\"\\e077\"}.glyphicon-eject:before{content:\"\\e078\"}.glyphicon-chevron-left:before{content:\"\\e079\"}.glyphicon-chevron-right:before{content:\"\\e080\"}.glyphicon-plus-sign:before{content:\"\\e081\"}.glyphicon-minus-sign:before{content:\"\\e082\"}.glyphicon-remove-sign:before{content:\"\\e083\"}.glyphicon-ok-sign:before{content:\"\\e084\"}.glyphicon-question-sign:before{content:\"\\e085\"}.glyphicon-info-sign:before{content:\"\\e086\"}.glyphicon-screenshot:before{content:\"\\e087\"}.glyphicon-remove-circle:before{content:\"\\e088\"}.glyphicon-ok-circle:before{content:\"\\e089\"}.glyphicon-ban-circle:before{content:\"\\e090\"}.glyphicon-arrow-left:before{content:\"\\e091\"}.glyphicon-arrow-right:before{content:\"\\e092\"}.glyphicon-arrow-up:before{content:\"\\e093\"}.glyphicon-arrow-down:before{content:\"\\e094\"}.glyphicon-share-alt:before{content:\"\\e095\"}.glyphicon-resize-full:before{content:\"\\e096\"}.glyphicon-resize-small:before{content:\"\\e097\"}.glyphicon-exclamation-sign:before{content:\"\\e101\"}.glyphicon-gift:before{content:\"\\e102\"}.glyphicon-leaf:before{content:\"\\e103\"}.glyphicon-fire:before{content:\"\\e104\"}.glyphicon-eye-open:before{content:\"\\e105\"}.glyphicon-eye-close:before{content:\"\\e106\"}.glyphicon-warning-sign:before{content:\"\\e107\"}.glyphicon-plane:before{content:\"\\e108\"}.glyphicon-calendar:before{content:\"\\e109\"}.glyphicon-random:before{content:\"\\e110\"}.glyphicon-comment:before{content:\"\\e111\"}.glyphicon-magnet:before{content:\"\\e112\"}.glyphicon-chevron-up:before{content:\"\\e113\"}.glyphicon-chevron-down:before{content:\"\\e114\"}.glyphicon-retweet:before{content:\"\\e115\"}.glyphicon-shopping-cart:before{content:\"\\e116\"}.glyphicon-folder-close:before{content:\"\\e117\"}.glyphicon-folder-open:before{content:\"\\e118\"}.glyphicon-resize-vertical:before{content:\"\\e119\"}.glyphicon-resize-horizontal:before{content:\"\\e120\"}.glyphicon-hdd:before{content:\"\\e121\"}.glyphicon-bullhorn:before{content:\"\\e122\"}.glyphicon-bell:before{content:\"\\e123\"}.glyphicon-certificate:before{content:\"\\e124\"}.glyphicon-thumbs-up:before{content:\"\\e125\"}.glyphicon-thumbs-down:before{content:\"\\e126\"}.glyphicon-hand-right:before{content:\"\\e127\"}.glyphicon-hand-left:before{content:\"\\e128\"}.glyphicon-hand-up:before{content:\"\\e129\"}.glyphicon-hand-down:before{content:\"\\e130\"}.glyphicon-circle-arrow-right:before{content:\"\\e131\"}.glyphicon-circle-arrow-left:before{content:\"\\e132\"}.glyphicon-circle-arrow-up:before{content:\"\\e133\"}.glyphicon-circle-arrow-down:before{content:\"\\e134\"}.glyphicon-globe:before{content:\"\\e135\"}.glyphicon-wrench:before{content:\"\\e136\"}.glyphicon-tasks:before{content:\"\\e137\"}.glyphicon-filter:before{content:\"\\e138\"}.glyphicon-briefcase:before{content:\"\\e139\"}.glyphicon-fullscreen:before{content:\"\\e140\"}.glyphicon-dashboard:before{content:\"\\e141\"}.glyphicon-paperclip:before{content:\"\\e142\"}.glyphicon-heart-empty:before{content:\"\\e143\"}.glyphicon-link:before{content:\"\\e144\"}.glyphicon-phone:before{content:\"\\e145\"}.glyphicon-pushpin:before{content:\"\\e146\"}.glyphicon-usd:before{content:\"\\e148\"}.glyphicon-gbp:before{content:\"\\e149\"}.glyphicon-sort:before{content:\"\\e150\"}.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}.glyphicon-sort-by-order:before{content:\"\\e153\"}.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}.glyphicon-sort-by-attributes:before{content:\"\\e155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}.glyphicon-unchecked:before{content:\"\\e157\"}.glyphicon-expand:before{content:\"\\e158\"}.glyphicon-collapse-down:before{content:\"\\e159\"}.glyphicon-collapse-up:before{content:\"\\e160\"}.glyphicon-log-in:before{content:\"\\e161\"}.glyphicon-flash:before{content:\"\\e162\"}.glyphicon-log-out:before{content:\"\\e163\"}.glyphicon-new-window:before{content:\"\\e164\"}.glyphicon-record:before{content:\"\\e165\"}.glyphicon-save:before{content:\"\\e166\"}.glyphicon-open:before{content:\"\\e167\"}.glyphicon-saved:before{content:\"\\e168\"}.glyphicon-import:before{content:\"\\e169\"}.glyphicon-export:before{content:\"\\e170\"}.glyphicon-send:before{content:\"\\e171\"}.glyphicon-floppy-disk:before{content:\"\\e172\"}.glyphicon-floppy-saved:before{content:\"\\e173\"}.glyphicon-floppy-remove:before{content:\"\\e174\"}.glyphicon-floppy-save:before{content:\"\\e175\"}.glyphicon-floppy-open:before{content:\"\\e176\"}.glyphicon-credit-card:before{content:\"\\e177\"}.glyphicon-transfer:before{content:\"\\e178\"}.glyphicon-cutlery:before{content:\"\\e179\"}.glyphicon-header:before{content:\"\\e180\"}.glyphicon-compressed:before{content:\"\\e181\"}.glyphicon-earphone:before{content:\"\\e182\"}.glyphicon-phone-alt:before{content:\"\\e183\"}.glyphicon-tower:before{content:\"\\e184\"}.glyphicon-stats:before{content:\"\\e185\"}.glyphicon-sd-video:before{content:\"\\e186\"}.glyphicon-hd-video:before{content:\"\\e187\"}.glyphicon-subtitles:before{content:\"\\e188\"}.glyphicon-sound-stereo:before{content:\"\\e189\"}.glyphicon-sound-dolby:before{content:\"\\e190\"}.glyphicon-sound-5-1:before{content:\"\\e191\"}.glyphicon-sound-6-1:before{content:\"\\e192\"}.glyphicon-sound-7-1:before{content:\"\\e193\"}.glyphicon-copyright-mark:before{content:\"\\e194\"}.glyphicon-registration-mark:before{content:\"\\e195\"}.glyphicon-cloud-download:before{content:\"\\e197\"}.glyphicon-cloud-upload:before{content:\"\\e198\"}.glyphicon-tree-conifer:before{content:\"\\e199\"}.glyphicon-tree-deciduous:before{content:\"\\e200\"}.glyphicon-cd:before{content:\"\\e201\"}.glyphicon-save-file:before{content:\"\\e202\"}.glyphicon-open-file:before{content:\"\\e203\"}.glyphicon-level-up:before{content:\"\\e204\"}.glyphicon-copy:before{content:\"\\e205\"}.glyphicon-paste:before{content:\"\\e206\"}.glyphicon-alert:before{content:\"\\e209\"}.glyphicon-equalizer:before{content:\"\\e210\"}.glyphicon-king:before{content:\"\\e211\"}.glyphicon-queen:before{content:\"\\e212\"}.glyphicon-pawn:before{content:\"\\e213\"}.glyphicon-bishop:before{content:\"\\e214\"}.glyphicon-knight:before{content:\"\\e215\"}.glyphicon-baby-formula:before{content:\"\\e216\"}.glyphicon-tent:before{content:\"\\26fa\"}.glyphicon-blackboard:before{content:\"\\e218\"}.glyphicon-bed:before{content:\"\\e219\"}.glyphicon-apple:before{content:\"\\f8ff\"}.glyphicon-erase:before{content:\"\\e221\"}.glyphicon-hourglass:before{content:\"\\231b\"}.glyphicon-lamp:before{content:\"\\e223\"}.glyphicon-duplicate:before{content:\"\\e224\"}.glyphicon-piggy-bank:before{content:\"\\e225\"}.glyphicon-scissors:before{content:\"\\e226\"}.glyphicon-bitcoin:before{content:\"\\e227\"}.glyphicon-btc:before{content:\"\\e227\"}.glyphicon-xbt:before{content:\"\\e227\"}.glyphicon-yen:before{content:\"\\00a5\"}.glyphicon-jpy:before{content:\"\\00a5\"}.glyphicon-ruble:before{content:\"\\20bd\"}.glyphicon-rub:before{content:\"\\20bd\"}.glyphicon-scale:before{content:\"\\e230\"}.glyphicon-ice-lolly:before{content:\"\\e231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}.glyphicon-education:before{content:\"\\e233\"}.glyphicon-option-horizontal:before{content:\"\\e234\"}.glyphicon-option-vertical:before{content:\"\\e235\"}.glyphicon-menu-hamburger:before{content:\"\\e236\"}.glyphicon-modal-window:before{content:\"\\e237\"}.glyphicon-oil:before{content:\"\\e238\"}.glyphicon-grain:before{content:\"\\e239\"}.glyphicon-sunglasses:before{content:\"\\e240\"}.glyphicon-text-size:before{content:\"\\e241\"}.glyphicon-text-color:before{content:\"\\e242\"}.glyphicon-text-background:before{content:\"\\e243\"}.glyphicon-object-align-top:before{content:\"\\e244\"}.glyphicon-object-align-bottom:before{content:\"\\e245\"}.glyphicon-object-align-horizontal:before{content:\"\\e246\"}.glyphicon-object-align-left:before{content:\"\\e247\"}.glyphicon-object-align-vertical:before{content:\"\\e248\"}.glyphicon-object-align-right:before{content:\"\\e249\"}.glyphicon-triangle-right:before{content:\"\\e250\"}.glyphicon-triangle-left:before{content:\"\\e251\"}.glyphicon-triangle-bottom:before{content:\"\\e252\"}.glyphicon-triangle-top:before{content:\"\\e253\"}.glyphicon-console:before{content:\"\\e254\"}.glyphicon-superscript:before{content:\"\\e255\"}.glyphicon-subscript:before{content:\"\\e256\"}.glyphicon-menu-left:before{content:\"\\e257\"}.glyphicon-menu-right:before{content:\"\\e258\"}.glyphicon-menu-down:before{content:\"\\e259\"}.glyphicon-menu-up:before{content:\"\\e260\"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\\2014 \\00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\\00A0 \\2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,\"Courier New\",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:\"\";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:\"/\\00a0\"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:\"\";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:\" \";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:\" \";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:\" \";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:\" \";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\\2039'}.carousel-control .icon-next:before{content:'\\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:\" \"}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}\n/*# sourceMappingURL=bootstrap.min.css.map */"
  },
  {
    "path": "static/scss/companies/reach-chart.scss",
    "content": "@import '../colors';\n\n.home-plot {\n    color: $grey-txt-color;\n\n    h4 {\n        font-size: 11px;\n        color: $grey-txt-color;\n        margin-top: 25px;\n    }\n\n    a {\n        color: $grey-txt-color;\n    }\n\n    .plot-subtitle {\n        margin-bottom: 30px;\n    }\n\n    .plot-title {\n        font-size: 23px;\n        font-weight: bold;\n        text-transform: uppercase;\n        color: $black-color;\n    }\n\n    .checkout {\n        i {\n        vertical-align: top;\n        margin-right: 5px;\n        padding-top: 4px;\n        }\n\n        span {\n        display: inline-block;\n        max-width: 170px;\n        }\n    }\n}\n.svg-container {\n    border-radius: 4px;\n    box-shadow: 8px 14px 38px rgba(39,44,49,0.06), 1px 3px 8px rgba(39,44,49,0.03);\n}\n.plot-caption{\n    font-size: 14px;\n    color: $grey-txt-color;\n    margin-top: 10px;\n}\n"
  },
  {
    "path": "static/scss/custom.scss",
    "content": "@import 'colors';\n\nhtml {\n  height: 100%;\n  box-sizing: border-box;\n}\n\n@font-face {\n  font-family: \"Open Sans\";\n  src: url('../fonts/OpenSans-Regular.ttf');\n}\n\n@font-face {\n  font-family: \"Open Sans Semibold\";\n  src: url('../fonts/OpenSans-Semibold.ttf');\n}\n\n@font-face {\n  font-family: \"Open Sans Bold\";\n  src: url('../fonts/OpenSans-bold.ttf');\n}\n\n@font-face {\n  font-family: \"FiraMono-Regular\";\n  src: url('../fonts/FiraMono-Regular.ttf');\n}\n\n@font-face {\n  font-family: 'FiraMono-Bold';\n  src: url('../fonts/FiraMono-Bold.ttf');\n}\n\nbody{\n  position: relative;\n  margin: 0;\n  min-height: 100%;\n  font-family: 'Open Sans', sans-serif;\n}\n\n.breadcrumb-bar{\n  margin-top: -1px;\n  height: 39px;\n  background-color: transparent;\n  position: relative;\n  z-index: 2;\n\n  .breadcrumb{\n    color: $grey-txt-color;\n    background-color: transparent;\n    padding-left: 0;\n    overflow: hidden;\n    white-space: nowrap;\n    margin: 0;\n\n    li + li:before {\n      font-family: \"FontAwesome\";\n      color: $grey-txt-color;\n      content: \"\\f105 \";\n      padding: 0 15px;\n    }\n\n    a{\n      font-family: \"Open Sans\";\n      color: inherit;\n    }\n  }\n}\n\nh2, h3 {\n  font-size: 23px;\n}\n\np {\n  font-size: 16px;\n}\n\n.top-buffer {\n  padding-top:40px;\n}\n\n.bottom-buffer {\n  margin-bottom: 20px;\n}\n\n.red-highlight {\n  color: $red-txt-color;\n}\n\n\n.btn-blue {\n  background-color: $blue-color;\n  color: #fff;\n  font-size: 16px;\n}\n\n.btn-purple {\n  background-color: $dark-purple;\n  color: #fff;\n}\n\n.grey-bg {\n  background-color: #F4F7F8;\n  border-bottom: 1px solid aliceblue;\n  padding-bottom: 20px;\n  border-bottom: solid 1px $light-blue-gray;\n}\n\n.percentage {\n  color: $red-txt-color;\n  font-size: 45px;\n  font-family: 'FiraMono-Regular', monospace;\n}\n\n.purple-color {\n  color: $red-txt-color;\n}\n\n.cat-item {\n  border: 1px solid $light-blue-gray;\n  border-radius: 20px;\n  padding: 2px 6px 2px;\n  margin-bottom: 2px;\n  display: inline-block;\n  font-size: 13px;\n  color: $grey-txt-color;\n\n  i {\n    font-size: 12px;\n    line-height: 12px;\n    padding-right: 2px;\n  }\n}\n\n.header {\n  padding-top: 20px;\n}\n\n.truncate {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  white-space: nowrap;\n}\n\n.label-category {\n    background-color: #fff;\n    border: 1px solid #CFD8DB;\n    border-radius: 12px;\n    color: #5F7C86;\n    font-weight: normal;\n}\n\n/* Navbar */\n.navbar-brand {\n  height: auto;\n}\n\n.navbar-brand img {\n  height: 31px;\n}\n\n.navbar-blue {\n  background-color: $blue-color;\n  .navbar-nav a {\n    color: #fff;\n  }\n\n  .navbar-toggle .icon-bar {\n    background-color: #fff\n  }\n}\n\n#search-bar {\n  border-radius: 2px;\n  border: none;\n  background-color: $light-blue-bg;\n  color: $black-color;\n  margin-top: 13px;\n  width: 400px !important;\n  padding-left: 17px;\n}\n\n#search-bar:focus{\n  background-color: white;\n}\n\n/* AUTOCOMPLETE STYLING */\n* {\n  box-sizing: border-box;\n}\n.disabled{\n  pointer-events: none;\n  color: $dark-purple;\n}\n.disabled:hover{\n  pointer-events: none;\n  color: $dark-purple;\n}\n.autocomplete {\n  /*the container must be positioned relative:*/\n  position: relative;\n  display: inline-block;\n}\n.autocomplete-items {\n  background: white;\n  position: absolute;\n  z-index: 99;\n  top: 100%;\n  padding: 2px;\n  margin-top: 15px;\n  border-radius: 2px;\n  left: 0px;\n  right: 0;\n  // min-width: 100vh;\n  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.15);\n\n  div {\n    padding-top: 5px;\n    padding-bottom: 5px;\n    padding-left: 15px;\n    padding-right: 15px;\n    cursor: pointer;\n    background-color: #fff;\n\n    i{\n      float: right;\n      color: #e7e7e7;\n      margin-left: -10px;\n      margin-top: 4px;\n    }\n    a {\n      display: block;\n      color: $black-color;\n    }\n    a:hover {\n      text-decoration: none;\n    }\n    a:focus{\n      color: white;\n    }\n  }\n  .autocomplete-active{\n    /*when navigating through the items using the arrow keys:*/\n    background-color: DodgerBlue !important;\n    color: white;\n    a {\n      color: white;\n    }\n  }\n  div:hover{\n    background-color: #e9e9e9;\n    i {\n      color: $black-color !important;\n    }\n  }\n}\n\n\n#imaginary_container {\n  float: left;\n}\n\n.navbar {\n  margin-bottom: 0;\n  border-radius: 0;\n  position: relative;\n  z-index: 10;\n  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.15);\n}\n\n.navbar-nav a {\n  text-transform: uppercase;\n  font-size: 13px;\n  letter-spacing: 2px;\n}\n\n.navbar-nav .active a {\n  color: $nav-bar-active;\n}\n\n.navbar-nav > li > a {\n  padding-top: 21px;\n  font-weight: 600;\n\n  &:hover,\n  &:active,\n  &:focus {\n    color: $nav-bar-active;\n    background-color: transparent;\n  }\n}\n\n.privacy-policy {\n  margin-top: 100px;\n  margin-bottom: 150px;\n  max-width: 800px;\n  li {\n    list-style: none;\n  }\n}\n\n.imprint {\n  margin-bottom: 150px;\n\n  .w-container {\n    margin-left: auto;\n    margin-right: auto;\n    max-width: 940px;\n  }\n  .w-container:before, .w-container:after {\n    content: \" \";\n    display: table;\n    grid-column-start: 1;\n    grid-row-start: 1;\n    grid-column-end: 2;\n    grid-row-end: 2;\n  }\n  .w-container:after {\n    clear: both;\n  }\n  .w-container .w-row {\n    margin-left: -10px;\n    margin-right: -10px;\n  }\n  .w-row:before, .w-row:after {\n    content: \" \";\n    display: table;\n    grid-column-start: 1;\n    grid-row-start: 1;\n    grid-column-end: 2;\n    grid-row-end: 2;\n  }\n\n  .basic-container {\n    text-align: left;\n  }\n\n  .basic-container._50l {\n    padding-top: 90px;\n    padding-right: 470px;\n  }\n\n  .ghostery_spacer-40 {\n    height: 25px;\n  }\n}\n\nfooter {\n  background: $light-blue-bg;\n  padding-top: 42px;\n  padding-bottom: 42px;\n  color: $grey-txt-color;\n  z-index: 3;\n  position: relative;\n  a {\n    color: $link-color;\n  }\n\n  .menu {\n    .margin-left {\n      margin-left: 32px;\n    }\n    ul {\n      padding-left: 0px !important;\n      li {\n        list-style: none;\n        margin-bottom: 15px;\n        font-size: 14px;\n        i {\n          min-width: 25px;\n        }\n        a {\n          color: $grey-txt-color;\n        }\n      }\n    }\n  }\n  .logos {\n    a {\n      text-decoration: none;\n    }\n\n    span {\n      display: inline-block;\n    }\n    .copyright {\n      margin-top: 15px;\n    }\n\n    .cliqz-logo {\n      background-image: url('../img/cliqz_logo_color.png');\n      width: 100px;\n      height: 36px;\n      margin-right: 35px;\n    }\n\n    .ghostery-logo {\n      background-image: url('../img/ghostery_logo color.png');\n      width: 131px;\n      height: 39px;\n    }\n  }\n}\n\n.dark-page {\n  background-color: $dark-header;\n  margin-top: -42px;\n  padding-top: 42px;\n}\n\n#multi-column-list {\n    padding-left: 0;\n    margin-top: 20px;\n    margin-bottom: 50px;\n    column-count: 3;\n    -webkit-column-count: 3;\n    -moz-column-count: 3;\n\n    li {\n      display: inline-block;\n      padding-bottom: 10px;\n      width: 100%;\n      color: $grey-txt-color;\n\n      a {\n        color: $red-txt-color;\n        font-size: 16px;\n      }\n\n      span {\n        color: $grey-txt-color;\n        margin-left: 5px;\n      }\n    }\n}\n\n.nav-tabs {\n  border-bottom: 0;\n\n  & > li {\n    margin-right: 5px;\n\n    & > a {\n      border-radius: 6px;\n      color: #666;\n      border: 1px solid #ccc;\n      font-size: 13px;\n      padding: 3px 7px;\n\n      &:hover {\n        border-color: #ccc;\n      }\n    }\n\n    &.active > a,\n    &.active > a:focus {\n      border-bottom-color: #ccc;\n      background-color: #f0f0f0;\n\n      &:hover {\n        border-bottom-color: #ccc;\n        background-color: #eee;\n      }\n    }\n  }\n}\n\n  .inverse {\n    .nav-tabs {\n      margin-bottom: 20px;\n\n      & > li {\n        & > a {\n          color: #fff;\n\n          &:hover,\n          a:focus {\n            background: #4f5f64;\n          }\n        }\n\n\n        &.active > a,\n        &.active > a:focus {\n          background-color: #41555c;\n          border: 1px solid #41555c;\n          color: #fff;\n        }\n      }\n    }\n  }\n\n/*COMMON WEBSITES & TRACKERS */\n#overview-header {\n  background-color: $light-blue-bg;\n  margin-top: -40px;\n  padding-top: 47px;\n  border-bottom: solid 1px #e3eced;\n}\n\n.overview-info {\n  color: $grey-txt-color;\n  margin-bottom: 5px;\n\n  h1 {\n    font-size: 30px;\n    font-weight: 500;\n\n    a {\n      color: $black-color;\n      text-decoration: none;\n    }\n  }\n\n  .icon {\n    position: relative;\n    top: -1px;\n  }\n\n  .subtitle {\n    font-size: 16px;\n  }\n\n  .overview-info-right {\n    margin-top: 30px;\n\n    .trackers-info {\n      border: 3px solid $red-txt-color;\n      padding: 5px;\n\n      .trackers-icon {\n        float: left;\n      }\n\n      .header {\n        font-size: 16px;\n        color: $red-txt-color;\n        font-family: 'FiraMono-Bold', monospace;\n      }\n\n      .subtitle {\n        font-size: 13px;\n      }\n\n      p {\n        overflow: hidden;\n        margin-left: 5px;\n        margin-bottom: 0;\n      }\n    }\n\n    .more-info {\n      margin-top: 10px;\n      font-size: 13px;\n\n      p {\n        margin-bottom: 4px;\n      }\n    }\n  }\n\n  &.inverse {\n    color: #fff;\n\n    p {\n      margin-bottom: 2px;\n    }\n\n    a {\n      color: $blue-on-dark;\n    }\n\n    .header {\n      color: rgba(255, 255, 255, 0.7);\n      font-size: 13px;\n    }\n  }\n}\n\n.overview-header-box {\n  background: #fff;\n  margin-bottom: 40px;\n  box-shadow: 8px 14px 38px rgba(39,44,49,.06),1px 3px 8px rgba(39,44,49,.03);;\n  border-radius: 4px;\n  padding: 20px 0 30px 25px;\n\n  h3 {\n    font-size: 13px;\n    color: $grey-txt-color;\n  }\n\n  .percentage {\n    font-size: 30px;\n    color: $red-txt-color;\n    font-family: 'FiraMono-Regular', monospace;\n  }\n\n  .tracking-methods {\n    img {\n      position: absolute;\n      left: -12px;\n      width: 30px;\n    }\n\n    p {\n      font-size: 13px;\n    }\n\n   /* p, a, h3 {\n      margin-left: 30px;\n    }*/\n\n    a {\n      color: $grey-txt-color;\n    }\n  }\n}\n\n.tracking-method {\n  .highlight {\n    color: $red-txt-color;\n  }\n}\n\n.clearfix:after {\n  clear: both;\n  content: \" \";\n  display: block;\n  font-size: 0;\n  height: 0;\n  visibility: hidden;\n}\n\n.blog-page {\n  .col:nth-child(4n) {clear: left;}\n\n  .header {\n    margin-bottom: 30px;\n  }\n\n  .btn-purple {\n    border-radius: 0;\n    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.11);\n    padding: 12px;\n    margin-top: 10px;\n  }\n\n  a:hover {\n    text-decoration: none;\n  }\n}\n\n.overview-page {\n  .tracking-methods {\n    img {\n      width: 20px;\n    }\n  }\n}\n\n.navbar-toggle {\n  margin-right: 0;\n}\n\n@media only screen and (max-width : 1200px) {\n\n  .header-articles:before {\n    height: 161px !important;\n  }\n  #search-bar-autocomplete-list {\n    width: 100%vh !important;\n  }\n}\n\n@media only screen and (max-width : 992px) {\n\n    .navbar-header {\n        float: none;\n    }\n    .navbar-left,.navbar-right {\n        float: none !important;\n    }\n    .navbar-toggle {\n        display: block;\n    }\n    .navbar-collapse {\n        border-top: 1px solid transparent;\n        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);\n    }\n    .navbar-fixed-top {\n        top: 0;\n        border-width: 0 0 1px;\n    }\n    .navbar-collapse.collapse {\n        display: none!important;\n    }\n    .navbar-nav {\n        float: none!important;\n        margin-top: 7.5px;\n    }\n    .navbar-nav>li {\n        float: none;\n    }\n    .navbar-nav>li>a {\n        padding-top: 10px;\n        padding-bottom: 10px;\n    }\n    .collapse.in{\n        display:block !important;\n    }\n\n    #myNavbar {\n      margin-left: -30px;\n    }\n\n    .home-header {\n      padding-top: 30px !important;\n\n      h1 {\n        font-size: 23px !important;\n      }\n    }\n\n    .header-articles:before {\n      height: 120px !important;\n    }\n\n    .header-articles .caption {\n      padding: 15px !important;\n    }\n\n    #multi-column-list {\n      column-count: 2;\n      -webkit-column-count: 2;\n      -moz-column-count: 2;\n    }\n\n    .blog-page {\n      .col:nth-child(3n) {clear: left;}\n    }\n\n    #search-bar,\n    #search-bar-autocomplete-list,\n    #imaginary_container .input-group,\n    #eac-container-search-bar {\n      width: 100% !important;\n    }\n\n    #imaginary_container {\n      padding-left: 14px;\n      float: none;\n    }\n}\n\n/* Small Devices, Tablets */\n@media only screen and (max-width : 768px) {\n  #imaginary_container {\n    height: 57px;\n  }\n\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n\n  #myNavbar {\n    margin-left: 0;\n  }\n\n  #imaginary_container {\n    margin-left: -14px;\n  }\n\n  .input-group {\n    display: block;\n  }\n\n  #search-bar,\n  #search-bar-autocomplete-list{\n    width: 100% !important;\n  }\n  .autocomplete-items{\n    margin-top: 50px;\n  }\n\n  .home-header h1 {\n    max-width: 600px !important;\n  }\n\n  .trackers-img img {\n    display: none;\n  }\n\n  .header-articles {\n    margin-top: 20px;\n  }\n\n  .header-articles:before {\n    height: 0px !important;\n  }\n\n  #multi-column-list {\n    column-count: 1;\n    -webkit-column-count: 1;\n    -moz-column-count: 1;\n  }\n\n  .blog-page .btn-blue {\n    float: none;\n    text-align: center;\n    width: 100%;\n  }\n}\n\n\n.navbar-ghostery {\n  padding: 16px 20px;\n  background:#202225;\n  color: white;\n  font-family: 'Open Sans';\n}\n\n.navbar-ghostery-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 8px;\n}\n\n.navbar-ghostery-header img {\n  flex: 0 1 auto;\n  min-width: 0;\n}\n\n.navbar-ghostery-header button {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  padding: 6px 12px;\n  gap: 4px;\n  border: 1px solid #636468;\n  border-radius: 24px;\n  background: none;\n  font-family: inherit;\n  flex-shrink: 0;\n  color: white;\n  text-decoration: none;\n  font-family: Open Sans Semibold;\n  font-size: 13px;\n  line-height: 18px;\n}\n\n.navbar-ghostery-header button span {\n  display: none;\n}\n\n.navbar-ghostery.open .navbar-ghostery-hide,\n.navbar-ghostery:not(.open) .navbar-ghostery-show {\n  display: inline;\n}\n\n.navbar-ghostery-features {\n  display: flex;\n  flex-flow: column;\n  gap: 16px;\n  overflow: hidden;\n  box-sizing: border-box;\n  transition: max-height 0.5s ease-in-out;\n  max-height: 0;\n}\n\n.navbar-ghostery.open .navbar-ghostery-features {\n  max-height: 1000px;\n}\n\n.navbar-ghostery-features div:first-child {\n  margin-top: 20px;\n}\n\n.navbar-ghostery-features div {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  background: #2F3136;\n  border: 1px solid #3F4146;\n  box-shadow: 30px 60px 80px rgba(0, 0, 0, 0.15);\n  border-radius: 16px;\n  padding: 16px;\n  width: 100%;\n}\n\n.navbar-ghostery-features div section {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  flex: 1 1 auto;\n}\n\n.navbar-ghostery-features h3 {\n  font-family: Open Sans Semibold;\n  font-size: 18px;\n  line-height: 22px;\n  margin: 0;\n  padding: 0;\n}\n\n.navbar-ghostery-features p {\n  font-family: Open Sans;\n  font-size: 12px;\n  line-height: 18px;\n  margin: 0;\n  padding: 0;\n}\n\n.navbar-ghostery-features a {\n  color: inherit;\n  text-decoration: underline;\n}\n\n@media screen and (min-width: 768px) {\n  .navbar-ghostery {\n    padding: 16px 40px;\n  }\n\n  .navbar-ghostery-header img {\n    height: 32px;\n  }\n\n  .navbar-ghostery-header button {\n    padding: 6px 16px;\n    line-height: 20px;\n  }\n\n  .navbar-ghostery-features div:first-child {\n    margin-top: 24px;\n  }\n\n  .navbar-ghostery-features img {\n    width: 160px;\n    height: 160px;\n  }\n\n  .navbar-ghostery-features p {\n    font-size: 13px;\n    line-height: 20px;\n  }\n}\n\n@media screen and (min-width: 992px) {\n  .navbar-ghostery > * {\n    max-width: 1140px;\n    margin: 0 auto;\n  }\n\n  .navbar-ghostery-features {\n    flex-flow: row;\n  }\n\n  .navbar-ghostery-features div {\n    flex-direction: column;\n    align-items: flex-start;\n    margin-top: 24px;\n    width: 25%;\n  }\n}"
  },
  {
    "path": "static/scss/datatables.colReorder.min.scss",
    "content": "table.DTCR_clonedTable.dataTable{position:absolute !important;background-color:rgba(255,255,255,0.7);z-index:202}div.DTCR_pointer{width:1px;background-color:#337ab7;z-index:201}\n"
  },
  {
    "path": "static/scss/datatables.min.scss",
    "content": "table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url(\"../images/sort_both.png\")}table.dataTable thead .sorting_asc{background-image:url(\"../images/sort_asc.png\")}table.dataTable thead .sorting_desc{background-image:url(\"../images/sort_desc.png\")}table.dataTable thead .sorting_asc_disabled{background-image:url(\"../images/sort_asc_disabled.png\")}table.dataTable thead .sorting_desc_disabled{background-image:url(\"../images/sort_desc_disabled.png\")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:\"\";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}\n"
  },
  {
    "path": "static/scss/explorer/table.scss",
    "content": "@import '../colors';\n\n#wtm{\n    margin-top: 30px;\n    margin-bottom: 30px;\n}\n.nav-tabs{\n    margin-bottom: 20px;\n}\n#export-data{\n    background: $dark-purple;\n    color: white;\n    float: right;\n}\n.dataTables_filter{\n    label {\n        input {\n            border: solid 1px $light-blue-gray !important;\n            height: 31px !important;\n            padding-left: 5px !important;\n            width: 350px;\n        }\n    }\n}\n.dataTables_length{\n    label {\n        select {\n            background: none;\n            border: none !important;\n        }\n    }\n}\n.dataTable{\n    td {\n        border: none !important;\n    }\n    th {\n        border: none !important;\n    }\n}"
  },
  {
    "path": "static/scss/home/index.scss",
    "content": "@import '../colors';\n\n$font-serif:  Palatino, \"Palatino Linotype\", \"Palatino LT STD\", \"Book Antiqua\", Georgia, serif;\n\n/* Header */\n.home-header {\n  padding-top: 60px;\n  background-color: $blue-color;\n  margin-top: 0px;\n  padding-bottom: 60px;\n\n  h1 {\n    color: #fff;\n    font-size: 38px;\n    margin-bottom: 20px;\n    max-width: 480px;\n    font-weight: 300;\n    line-height: 1.3;\n  }\n\n  p {\n    color: rgba(255, 255, 255, 0.7);\n    font-size: 13px;\n    margin-top: 20px;\n\n    span {\n      display: block;\n      margin-bottom: 7px;\n    }\n  }\n\n  .btn {\n    border-radius: 0;\n    box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.11);\n    padding: 12px;\n    margin-top: 10px;\n\n    &:hover, &:focus {\n      color: #fff;\n    }\n  }\n\n  a {\n    color: #fff;\n  }\n\n  .fa {\n    padding-right: 5px;\n  }\n\n}\n\n.trackers-img img {\n  max-width: 100%;\n}\n\n.btn-grey {\n  background-color: #7b939b;\n  border-color: #ccc;\n  border: 0px;\n  border-radius: 0;\n  color: #fff;\n  padding: 12px 17px;\n}\n\n\n.header-thumbs {\n  margin-top: 70px; }\n\n.header-articles {\n  position: relative;\n\n  &:before {\n    display:block;\n    content: \"\";\n    position:absolute;\n    background-color: $blue-color;\n    width:100%;\n    height: 198px;\n\n  }\n\n  h3 {\n    font-size: 19px;\n    padding-bottom: 10px;\n    margin-top: 5px;\n\n    a {\n      color: $black-color;\n    }\n  }\n\n  p {\n    color: $grey-txt-color;\n  }\n\n  .caption {\n    padding: 30px;\n    min-height: 200px;\n    max-height: 200px;\n\n    .primer{\n      font-size: 10px;\n      text-transform: uppercase;\n      letter-spacing: 1px;\n      font-weight: bold;\n      color: $red-txt-color;\n      margin-top: -13px;\n    }\n    .article{\n      font-size: 10px;\n      text-transform: uppercase;\n      letter-spacing: 1px;\n      font-weight: bold;\n      color: $grey-txt-color;\n      margin-top: -13px;\n    }\n  }\n}\n\n.svg-container {\n  border-radius: 4px;\n  box-shadow: 8px 14px 38px rgba(39,44,49,0.06), 1px 3px 8px rgba(39,44,49,0.03);\n}\n.plot-caption{\n  font-size: 14px;\n  color: $grey-txt-color;\n  margin-top: 10px;\n  font-family: 'FiraMono-Regular', monospace;\n}\n\n.home-plot {\n  color: $grey-txt-color;\n\n  h4 {\n    font-size: 11px;\n    color: $grey-txt-color;\n    margin-top: 25px;\n  }\n\n  a {\n    color: $grey-txt-color;\n  }\n\n  .plot-subtitle {\n    margin-bottom: 30px;\n  }\n\n  .plot-title {\n    font-size: 23px;\n    font-weight: bold;\n    text-transform: uppercase;\n    color: $black-color;\n  }\n\n  .checkout {\n    i {\n      vertical-align: top;\n      margin-right: 5px;\n      padding-top: 4px;\n    }\n\n    span {\n      display: inline-block;\n      max-width: 170px;\n    }\n  }\n}\n\n.home-panel .panel {\n  color: $grey-txt-color;\n  background: none;\n  box-shadow: none;\n  border: 0px; }\n\n.home-panel h3 {\n  font-size: 23px;\n  line-height: 1.3; }\n\n.home-panel p {\n  font-size: 16px; }\n\n.home-panel .card-cta {\n  color: $black-color;\n  font-size: 18px; }\n\n.home-panel .label-default {\n  border-radius: 12px;\n  background-color: transparent;\n  color: $grey-txt-color;\n  border: 1px solid #ccc;\n  font-size: 13px; }\n\n.card-purple {\n  position: relative;\n}\n\n.card-purple:before {\n  content: '▮';\n  display: block;\n  position: absolute;\n  left: -20px;\n  font-size: 25px;\n  top: -6px;\n  color: $red-txt-color;\n}\n\n\n.card-gray {\n  position: relative;\n}\n\n.card-gray:before {\n  content: '▮';\n  display: block;\n  position: absolute;\n  left: -20px;\n  font-size: 25px;\n  top: -6px;\n  color: $graph-gray;\n}\n\n.most-trackers{\n  border-bottom: solid 1px $light-blue-gray;\n}\n.most-websites {\n  padding-bottom: 40px;\n  border-bottom: solid 1px $light-blue-gray;\n\n  .most-tracked-websites {\n    h3 {\n      margin-bottom: 15px;\n    }\n\n    h2 .subtitle {\n      font-size: 13px;\n    }\n\n    #multi-column-list {\n      li {\n        a {\n          color: $link-color;\n        }\n\n        img {\n          margin-right: 5px;\n        }\n\n        .count {\n          color: $red-txt-color;\n          border: 1px solid #ccc;\n          padding: 0 2px;\n          font-weight: 600;\n        }\n\n        .subtitle {\n          text-transform: uppercase;\n          font-size: 13px;\n        }\n\n        .all-websites {\n          padding-left: 23px;\n        }\n      }\n    }\n  }\n\n  .websites-info-box {\n    border: 4px solid $red-txt-color;\n    padding: 20px;\n    margin-top: 20px;\n\n    h4 {\n      color: $grey-txt-color;\n      font-size: 13px;\n      padding-left: 15px;\n    }\n\n    .percentage {\n      font-size: 45px;\n      color: $red-txt-color;\n      line-height: 1;\n      font-family: 'FiraMono-Regular', monospace;\n    }\n\n    .mb {\n      font-size: 23px;\n    }\n\n    p {\n      color: $black-color;\n      font-size: 16px;\n    }\n\n    img {\n      margin-bottom: 5px;\n    }\n\n    .tracking-method {\n      font-size: 13px;\n      color: $grey-txt-color;\n    }\n\n    .learn-more {\n      color: $grey-txt-color;\n    }\n  }\n}\n\n.most-trackers {\n  #multi-column-list a {\n    font-family: 'FiraMono-Regular', monospace;\n\n    &.top-trackers {\n      color: $grey-txt-color;\n    }\n  }\n}\n"
  },
  {
    "path": "static/scss/trackers/list.scss",
    "content": "@import '../colors';\n\n.trackers-list {\n\n  &.dark-page {\n    h1 {\n      color: #fff;\n      font-family: 'FiraMono-Bold', monospace;\n      font-size: 35px;\n\n      span.sub-title {\n        font-family: 'Open Sans', sans-serif;\n        font-size: 13px;\n        position: relative;\n        left: 0px;\n        text-transform: uppercase;\n      }\n    }\n\n    .subtitle {\n      color: rgba(255, 255, 255, 0.7);\n    }\n\n    .list-container {\n      padding: 20px 40px 0;\n      background-color: #fff;\n\n      #multi-column-list {\n        margin-left: -40px;\n        margin-right: -40px;\n        padding-top: 40px;\n        background-color: #f4f7f8;\n        padding-left: 40px;\n        margin-bottom: 100px;\n        padding-bottom: 50px;\n      }\n    }\n  }\n  \n  .subtitle {\n    float: left;\n    margin-right: 12px;\n    margin-top: 3px;\n  }\n}\n\n.top-5-trackers {\n  .top-5-list {\n    list-style: none;\n    padding-left: 0;\n\n    li {\n      border-bottom: 1px solid #eee;\n      padding-top: 15px;\n\n      &:last-child {\n        border-bottom: 0;\n      }\n\n      span {\n        color: $grey-txt-color;\n      }\n\n      .highlight {\n        color: $red-txt-color;\n      }\n\n      a {\n        color: $red-txt-color;\n        font-size: 16px;\n      }\n\n      p {\n        margin-left: 15px;\n        max-width: 260px;\n        margin-top: 5px;\n      }\n\n      .category {\n        margin-left: 10px;\n        margin-right: 10px;\n      }\n\n      .label-default {\n        background-color: #fff;\n        border: 1px solid #CFD8DB;\n        border-radius: 12px;\n        color: $grey-txt-color;\n        font-weight: normal;\n      }\n    }\n  }\n\n  .info-box {\n    border: 4px solid $red-txt-color;\n    padding: 38px 40px;\n    margin-top: 20px;\n\n    .percentage {\n      font-size: 45px;\n      color: $red-txt-color;\n      line-height: 1;\n      font-family: 'FiraMono-Regular', monospace;\n    }\n\n    p {\n      color: $black-color;\n      font-size: 16px;\n      margin-bottom: 36px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n.list-container ul a {\n  font-family: 'FiraMono-Regular', monospace;\n}\n"
  },
  {
    "path": "static/scss/trackers/profile.scss",
    "content": "@import '../colors';\n\n#tracker-page {\n  #overview-header {\n    background-color: $dark-header;\n\n    .tracker-rank {\n      font-family: 'FiraMono-Regular', monospace;\n      border-bottom: 1px solid rgba(255, 255, 255, 0.2);\n      padding-bottom: 4px;\n\n      .emphasis {\n        font-size: 25px;\n        margin-right: 5px;\n      }\n    }\n\n    .description {\n      font-size: 13px;\n    }\n\n    #operates-under {\n      p {\n        font-size: 13px;\n      }\n\n      p:nth-of-type(1n+3) {\n        display: none;\n      }\n\n      .operates-expand,\n      .operates-collapse {\n        color: rgba(255, 255, 255, 0.5);\n        font-size: 13px;\n      }\n\n      i {\n        margin-right: 5px;\n      }\n    }\n  }\n\n  .overview-info {\n    margin-bottom: 17px;\n      h1 {\n        font-family: 'FiraMono-Bold', monospace;\n        font-size: 27px;\n        text-transform:  uppercase;\n        margin-top: 30px;\n        margin-bottom: 0px;\n      }\n\n       .overview-info-right {\n        margin-top: 9px;\n       }\n    }\n\n    .overview-header-box {\n    h3 {\n      position: relative;\n    }\n\n    .trackers-icon {\n      width: 28px;\n      margin-right: 10px;\n      float: left;\n    }\n    .trend{\n      margin-bottom: 42px;\n    }\n\n    .percentage {\n      position: relative;\n      font-size: 32px;\n\n      .graph {\n        width: 153px;\n        display: inline-block;\n      \n        position: absolute;\n        top: -20px;\n        margin-top: -13px;\n      }\n    }\n\n    .description {\n      position: relative;\n      margin-left: 45px;\n    }\n\n    .subtitle {\n      font-size: 13px;\n      color: $grey-txt-color;\n      margin-top: 20px;\n    }\n\n    .progress {\n      background: none;\n      box-shadow: none;\n      max-width: 400px;\n      margin-bottom: 5px;\n      border-radius: 0;\n    }\n\n    .progress-bar {\n      white-space: nowrap;\n      border-radius: 0px;\n      text-align: left;\n      background: $inactive-gray;\n      color: #000;\n      padding:0 8px;\n      box-shadow: none;\n    }\n\n    .progress-presence {\n      float: left;\n      margin-right: 10px;\n      width: 20px;\n      color: $red-txt-color;\n      font-size: 13px;\n      font-family: \"FiraMono-Bold\", monospace;\n    }\n\n    .right-column {\n      padding-left: 0px;\n    }\n  }\n\n  #similar-trackers {\n    color: $grey-txt-color;\n    background-color: $light-blue-bg;\n    padding-top: 20px;\n    padding-bottom: 30px;\n    border-bottom: solid 1px $light-blue-gray;\n\n    .cat-item {\n      margin-top: 10px;\n      margin-bottom: 15px;\n    }\n\n    ul {\n      list-style: none;\n      padding-left: 0;\n      margin-top: 20px;\n\n      li {\n        margin-bottom: 14px;\n      }\n\n      a {\n        color: $red-txt-color;\n        font-size: 16px;\n        font-family: 'FiraMono-Regular', monospace;\n      }\n    }\n\n    h4 {\n      font-size: 14px;\n      margin-top: 25px;\n    }\n\n    h3 {\n      line-height: 1.3;\n      margin-bottom: 20px;\n    }\n\n    p {\n      margin-bottom: 0;\n    }\n\n    .tracker-category {\n      a {\n        color: $link-color;\n        font-size: 13px;\n      }\n    }\n\n\n\n  .tracker-cat .cat-item {\n    border: 1px solid #ccc;\n    border-radius: 20px;\n    padding: 2px 6px 2px;\n    margin-bottom: 2px;\n    display: inline-block;\n    font-size: 13px;\n  }\n  .tracker-cat{\n    margin-bottom: 10px !important;\n  }\n  .tracker-desc{\n    margin-bottom: 42px;\n  }\n}\n\n#tag-cloud {\n    margin-top: 20px;\n    padding-bottom: 100px;\n    border-bottom: solid 1px $light-blue-gray;\n\n    h2 {\n      margin-bottom: 20px;\n    }\n\n    .nav-tabs {\n      margin-bottom: 30px;\n    }\n  }\n}\n"
  },
  {
    "path": "static/scss/websites/overview.scss",
    "content": "@import '../colors';\n\n.websites-page {\n\n  .info-box {\n    margin-top: 40px;\n    margin-bottom: 10px;\n  }\n\n  hr {\n    border-bottom: 3px solid $red-txt-color;\n  }\n\n  .subtitle {\n    float: left;\n    margin-right: 12px;\n  }\n\n  #multi-column-list li  {\n    .count {\n      color: $red-txt-color;\n      border: 1px solid $light-purple-border;\n      padding: 0 2px;\n      font-family: 'FiraMono-Bold', monospace;\n    }\n    a {\n      color:#0078CA;\n    }\n\n    .label-category {\n      text-transform: uppercase;\n      border: none;\n    }\n  }\n}\n"
  },
  {
    "path": "static/scss/websites/profile.scss",
    "content": "@import '../colors';\n/* WEBSITES */\n#website-page .overview-header-box {\n\n  #doughnut {\n    height: 200px;\n  }\n\n  .doughnut-legend {\n    list-style: none;\n    margin-top: 20px;\n    padding-left: 0;\n    width: 170px;\n  }\n\n  .cat-item {\n    border: 1px solid #ccc;\n    border-radius: 20px;\n    padding: 2px 6px 2px;\n    margin-bottom: 2px;\n    display: inline-block;\n    font-size: 13px;\n  }\n\n  .doughnut-legend i {\n    font-size: 12px;\n    line-height: 12px;\n    padding-right: 2px;\n  }\n  .stats{\n    margin-bottom: 42px;\n  }\n}\n\n#multi-column-list {\n  a {\n    font-family: 'FiraMono-Regular', monospace;\n  }\n  .percentage {\n    font-size: 13px;\n    color: $red-txt-color;\n    font-family: 'FiraMono-Regular', monospace;\n  }\n}\n\n#website-page {\n  .plot-label {\n    color: $grey-txt-color;\n  }\n  .plot-subtitle {\n    color: $red-txt-color;\n  }\n}\n"
  },
  {
    "path": "templates/base.html",
    "content": "<!doctype html>\n<!--[if lt IE 7]>\n<html class=\"no-js lt-ie9 lt-ie8 lt-ie7\" lang=\"\"> <![endif]-->\n<!--[if IE 7]>\n<html class=\"no-js lt-ie9 lt-ie8\" lang=\"\"> <![endif]-->\n<!--[if IE 8]>\n<html class=\"no-js lt-ie9\" lang=\"\"> <![endif]-->\n<!--[if gt IE 8]><!-->\n<html class=\"no-js\" lang=\"\">\n<!--<![endif]-->\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    {% block title %}\n    {% endblock %}\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"referrer\" content=\"same-origin\">\n\n    {% block og_params %}\n    {% endblock %}\n\n    <!-- Stylesheets -->\n    <link rel=\"icon\" href=\"{{PATHS.static}}/img/favicon-2.ico\">\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/bootstrap.min.css\">\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/font-awesome-4.7.0/css/font-awesome.min.css\">\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/custom.css?v=1\">\n    <link rel=\"alternate\" type=\"application/rss+xml\" title=\"WhoTracks.Me Blog\" href=\"https://whotracks.me/blog/feed.xml\" />\n\n    <!--add this block to templates that need extra styling-->\n    {% block extra_styling %}\n    {% endblock %}\n\n    <!-- jQuery -->\n    <script src=\"{{PATHS.static}}/js/jquery.min.js\"></script>\n    <!-- Plotly JS -->\n    <script src=\"{{PATHS.static}}/js/plotly-v1.29.3.min.js\"></script>\n    <!-- For relative path resolution -->\n    <script>\n        var pathToRoot = \"{{ PATHS.path_to_root }}\"\n    </script>\n    <!-- Ghostery navbar -->\n    <script src=\"{{PATHS.static}}/js/ghostery.js\" defer></script>\n</head>\n\n<body>\n{% include \"components/navbar.html\" %}\n\n{% include \"components/breadcrumb.html\" %}\n\n\n{% block content %}\n{% endblock %}\n\n{% include \"components/breadcrumb.html\" %}\n{% include \"components/footer.html\" %}\n"
  },
  {
    "path": "templates/blog-page.html",
    "content": "{% extends \"base.html\" %}\n{% block title %}\n    <title>Blog | {{blog_post.title}}</title>\n    <meta name=\"description\" content=\"{{ blog_post.description }}\">\n\n    {% if blog_post.redirect_url %}\n        <meta http-equiv=\"refresh\" content=\"0; url={{ blog_post.redirect_url }}\">\n        <link rel=\"canonical\" href=\"{{ blog_post.redirect_url }}\" />\n    {% endif %}\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"{{ blog_post.title }}\" />\n    <meta property=\"og:type\" content=\"website\" />\n    <meta property=\"og:url\" content=\"https://whotracks.me/{{ 'blog'|url_for(blog_post.filename)|absolute_og_urls }}\" />\n    <meta property=\"og:description\" content=\"{{ blog_post.description }}\" />\n    <meta property=\"og:image\" content=\"https://whotracks.me/{{PATHS.static|absolute_og_urls}}/img/{{blog_post.header_img}}\" />\n\n    <meta name=\"twitter:card\" content=\"summary_large_image\">\n    <meta name=\"twitter:site\" content=\"@WhoTracks_me\">\n    <meta name=\"twitter:creator\" content=\"@WhoTracks_me\">\n    <meta name=\"twitter:title\" content=\"{{ blog_post.title }}\">\n    <meta name=\"twitter:description\" content=\"{{ blog_post.description }}\">\n    <meta name=\"twitter:image\" content=\"https://whotracks.me/{{PATHS.static|absolute_og_urls}}/img/{{blog_post.header_img}}\">\n{% endblock %}\n\n\n{% set active_page='blog' %}\n{% set active_page_name=blog_post.title %}\n\n\n{% block extra_styling %}\n        <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/blog/post.css\">\n\n        <!--to style code snippets properly-->\n        <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/blog/github.css\">\n        <script src=\"{{PATHS.static}}/js/highlight.pack.js\"></script>\n        <script>hljs.initHighlightingOnLoad();</script>\n\n{% endblock %}\n\n\n{% block content %}\n    <!-- <div class=\"post-header\">\n        <p class=\"author\">{{ blog_post.author }}</p>\n        <p class=\"date\">{{ blog_post.repr_date }}</p>\n    </div> -->\n\n    <div class=\"img-container\">\n        <img class=\"img-responsive\" src=\"{{PATHS.static}}/img/{{blog_post.header_img}}\" />\n    </div>\n    <div class=\"container container-post\">\n        <h3 id=\"post-title\">{{ blog_post.title }}</h3>\n        <p id=\"post-subtitle\">{{ blog_post.subtitle }}</p>\n        <hr>\n        <p class=\"post-meta\">{{ blog_post.repr_date }}</p>\n\n        {{ blog_post.body | markdown }}\n    </div>\n\n{% endblock %}\n"
  },
  {
    "path": "templates/blog.html",
    "content": "{% extends \"base.html\" %}\n{% block title %}\n    <title>WhoTracks.me | Blog</title>\n    <meta name=\"description\" content=\"This is a blog space for tech teams at Ghostery.\">\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"WhoTracks.me | Blog\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https://whotracks.me/blog.html\">\n    <meta property=\"og:description\" content=\"This is a blog space for tech teams at Ghostery.\">\n{% endblock %}\n\n{% block extra_styling %}\n<link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/blog/card.css\">\n{% endblock %}\n\n\n{% set active_page='blog' %}\n{% block content %}\n\n<section class=\"grey-bg\">\n    <div class=\"container blog-page\">\n        <div class=\"header\">\n            <div class=\"row\">\n                <div class=\"col-md-9 col-sm-9\">\n                    <h1>Blog</h1>\n                    <div class=\"subtitle\">This is a blog space for tech teams at Ghostery.</div>\n                </div>\n            </div>\n        </div>\n\n        {% for batch in blog_posts|batch(3) %}\n        <div class=\"row\">\n            {% for blog_post in batch %}\n                {% if blog_post.publish %}\n                    <div class=\"col col-xs-12 col-sm-6 col-md-4\">\n                        {% include \"components/blog-card.html\" %}\n                    </div>\n                {% endif %}\n            {% endfor %}\n        </div>\n        {% endfor %}\n    </div>\n</section>\n\n{% endblock %}\n"
  },
  {
    "path": "templates/company-page.html",
    "content": "{% extends \"base.html\" %}\n\n<!-- Setting some vars used by breadcrumbs and navbar -->\n{% set active_page='companies' %}\n{% set active_page_name=demographics.name %}\n\n\n\n{% block content %}\n<div id=\"tracker-header\">\n    <div class=\"container\">\n        <div class=\"row\">\n            <div class=\"col-md-4 col-sm-4 col-xs-12\">\n                <!-- Company Profile -->\n                {% include \"components/company-card.html\" %}\n            </div>\n\n            <div class=\"col-md-8 col-sm-8 col-xs-12\">\n                <h5>{{ demographics.name }} trackers</h5>\n                {% if demographics.apps %}\n                {% for tid, tname in demographics.apps.items() %}\n                    <span class=\"profile-label\">\n                    {% if tid|get_app_name is not none %}\n                        <a href=\"{{ 'app'|url_for(tid) }}\">{{ tname }}</a>\n                    {% else %}\n                        {{ tname }}\n                    {% endif %}\n                    </span>\n                {% endfor %}\n                {% endif %}\n\n            </div>\n        </div>\n    </div>\n</div> <!-- End of container-->\n\n\n<section>\n    <div class=\"container\">\n        <h3 class=\"title\">Privacy Policy</h3>\n        <p class=\"subtitle\"></p>\n\n    </div> <!-- End of container-->\n\n</section>\n\n{% endblock %}"
  },
  {
    "path": "templates/components/blog-card.html",
    "content": "<div class=\"card\">\n    <div class=\"thumbnail\">\n        <div class=\"card-media\">\n            <img class=\"img-fit-cover\" src=\"{{PATHS.static}}/img/{{blog_post.header_img}}\" />\n        </div>\n        <div class=\"caption\">\n            <p class=\"{{blog_post['type']}}\">{{blog_post['type']}}</p>\n\n            <h3><a href=\"{{PATHS.blog}}/{{blog_post.filename}}.html\">{{ blog_post.title }}</a></h3>\n            <p>{{ blog_post.description }}</p>\n          </div>\n    </div>\n</div>\n"
  },
  {
    "path": "templates/components/breadcrumb.html",
    "content": "{% if active_page %}\n    {% if not active_page==\"home\" %}\n\n    <div class=\"breadcrumb-bar\">\n        <div class=\"container\">\n                <ul class=\"breadcrumb\">\n                    <li><a href=\"/\">Home</a></li>\n                    <li><a href=\"/{{active_page}}.html\">{{active_page|prettify_label}}</a></li>\n                    {% if active_page_name is defined %}\n                        <li>{{active_page_name}}</li>\n                    {% endif %}\n                </ul>\n        </div>\n    </div>\n\n    {% endif %}\n{% endif %}\n"
  },
  {
    "path": "templates/components/category-item.html",
    "content": "<ul class=\"doughnut-legend\">\n{% for c in tracker_categories %}\n    <li>\n        {% include 'components/trackers/category.html' %}\n    </li>\n{% endfor %}\n</ul>"
  },
  {
    "path": "templates/components/company-card.html",
    "content": "<div class=\"panel panel-body\">\n    {% if demographics.logo is not none %}\n        <div class=\"left\">\n            <img class=\"company-logo\" src=\"/{{ demographics.logo }}\">\n        </div>\n    {% else %}\n        <div class=\"left rank\">\n            {{ initials }}\n        </div>\n    {% endif %}\n\n    <p id=\"domain\"><a target=\"_blank\" href=\"{{ demographics.website_url }}\">{{ demographics.website_url }}</a></p>\n    <h2 id=\"tracker-name\">{{ demographics.name }}</h2>\n    <p>\n        {% if demographics.description != \"None\" %}\n            {{ demographics.description }}\n        {% endif %}\n    </p>\n\n    <div class=\"profile-deeplinks\">\n        <span>\n            <a class=\"profile-label\" target=\"_blank\"\n               href=\"{{ demographics.website_url }}\">\n                Website\n            </a>\n            {% if demographics.about_us_url != \"Not found\"  %}\n            <a class=\"profile-label\" target=\"_blank\"\n               href=\"{{ demographics.about_us_url }}\">\n                About us\n            </a>\n            {% endif %}\n        </span>\n    </div>\n</div>"
  },
  {
    "path": "templates/components/cookies.html",
    "content": "<img src=\"{{ PATHS.static }}/img/cookies.svg\">\n<p class=\"tracking-method\">\n  <span class=\"highlight\">COOKIES</span> are files placed by the website, stored in the browser\n  that is used to identify you to the website. <div>\n    <a class=\"learn-more\" href=\"{{PATHS.blog}}/cookies.html\">\n      Learn more\n      <i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i>\n    </a>\n  </div>\n</p>\n"
  },
  {
    "path": "templates/components/fingerprinting.html",
    "content": "<img  src=\"{{ PATHS.static }}/img/fingerprinting.svg\">\n<p class=\"tracking-method\">\n  <span class=\"highlight\">FINGERPRINTING</span> is a unique digital signature derived from the properties of your device.\n  <div>\n    <a class=\"learn-more\" href=\"{{PATHS.blog}}/fingerprinting.html\">\n      Learn more\n      <i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i>\n    </a>\n  </div>\n</p>"
  },
  {
    "path": "templates/components/footer.html",
    "content": "<!-- FOOTER -->\n<footer>\n  <div class=\"container\">\n    <div class=\"row\">\n      <div class=\"col-md-3 col-sm-3 col-xs-12 menu\">\n        <ul>\n          <li>\n            <i class=\"fa fa fa-github\"></i>\n            <a target=\"_blank\" rel=\"noreferrer\" href=\"https://github.com/ghostery/whotracks.me\">\n              Get the data\n            </a>\n          </li>\n          <li>\n            <i class=\"fa fa fa-twitter\"></i>\n            <a target=\"_blank\" rel=\"noreferrer\" href=\"https://twitter.com/WhoTracks_me\">\n              @WhoTracks_me\n            </a>\n          </li>\n          <li>\n            <i class=\"fa fa fa-rss\"></i>\n            <a target=\"_blank\" type=\"application/rss+xml\" href=\"{{PATH_TO_ROOT}}/blog/feed.xml\">\n              RSS\n            </a>\n          </li>\n\n          <li>\n            <i class=\"fa fa fa-balance-scale\"></i>\n\t    <a href=\"/privacy-policy.html\">\n\t      Privacy Policy\n\t    </a>\n          </li>\n\n          <li>\n            <i class=\"fa fa fa-gavel\"></i>\n\t    <a href=\"/imprint.html\">\n\t      Imprint\n\t    </a>\n          </li>\n        </ul>\n      </div>\n\n\n      <div class=\"col-md-3 col-sm-3 col-xs-12 menu\">\n        <ul class=\"margin-left\">\n\n        </ul>\n      </div>\n      <div class=\"col-md-6 col-sm-6 col-xs-12 logos\">\n        <a href=\"https://www.ghostery.com/\" target=\"_blank\">\n          <span class=\"ghostery-logo\"></span>\n        </a>\n\n        <div class=\"copyright\">\n          &copy; Ghostery GmbH - All rights reserved.\n        </div>\n        <div>Last updated on {{ TODAY }}</div>\n\n        <div class=\"copyright\">\n          Contact us at <a target=\"_blank\" href=\"mailto:info@whotracks.me\">\n            info@whotracks.me\n          </a>\n        </div>\n      </div>\n\n    </div>\n  </div>\n\n  <!-- Local javascript modules -->\n  <script src=\"{{PATHS.static}}/js/bootstrap.min.js\"></script>\n  <script type=\"text/javascript\" src=\"{{ PATHS.static }}/js/search.js\"></script>\n\n\n</footer>\n<!-- END OF FOOTER -->\n"
  },
  {
    "path": "templates/components/home/header.html",
    "content": "<div class=\"home-header\">\n    <div class=\"container\">\n        <div class=\"row\">\n            <div class=\"col-md-5 col-sm-5\">\n                <h1>Learn about tracking technologies, market structure and data-sharing on the web</h1>\n                <a href=\"https://arxiv.org/abs/1804.08959\"\n                   class=\"btn btn-purple\"\n                   target=\"_blank\"\n                   type=\"button\">\n                    <i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"></i>\n                    WhoTracksMe Paper 2018</a>\n                <p>\n                    <span>\n                        <i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>\n                        <a href=\"{{PATHS.blog}}/what_is_a_tracker.html\"> What is a tracker?</a>\n                    </span>\n                    <span>\n                        <i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>\n                        <a href=\"{{PATHS.blog}}/where_is_the_data_from.html\"> Where does this data come from?</a>\n                    </span>\n                </p>\n            </div>\n            <div class=\"col-md-7 col-sm-7\">\n                <div class=\"trackers-img\">\n                    <img src=\"{{PATHS.static}}/img/m1.png\" />\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n"
  },
  {
    "path": "templates/components/navbar.html",
    "content": "<nav class=\"navbar-ghostery\">\n    <div class=\"navbar-ghostery-header\">\n        <img src=\"{{PATHS.static}}/img/logo-ghostery.svg\" alt=\"WhoTracksMe & Ghostery\">\n        <button>\n            <span class=\"navbar-ghostery-hide\">Hide</span>\n            <span class=\"navbar-ghostery-show\">Show more</span>\n        </button>\n    </div>\n    <div class=\"navbar-ghostery-features\">\n        <div>\n            <img src=\"{{PATHS.static}}/img/ghostery-operated.svg\" alt=\"Whotracks.me owned by Ghostery\">\n            <section>\n                <h3>Trusted</h3>\n                <p>\n                    Owned and operated by Ghostery since 2018. We've empowered millions of users to \n                    take control of their online experience and protect their personal \n                    information from data collectors.\n                </p>\n            </section>\n        </div>\n        <div>\n            <img src=\"{{PATHS.static}}/img/ghostery-data-collectors.svg\" alt=\"Resource exposing trackers and data collectors\">\n            <section>\n                <h3>Dynamic</h3>\n                <p>\n                    Actively monitors the data collectors on the top 10,000 most visited websites worldwide. \n                    Whotracks.me shows type, reach, and affiliation of every tracker.\n                </p>\n            </section>\n        </div>\n        <div>\n            <img src=\"{{PATHS.static}}/img/ghostery-database.svg\" alt=\"Open source database of trackers\">\n            <section>\n                <h3>Open Source</h3>\n                <p>\n                    Shared with the wider content-filtering community. \n                    Other projects can use our <a href=\"https://github.com/ghostery/trackerdb\" target=\"_blank\">tracker database</a>\n                    to enhance their own privacy tools.\n                </p>\n            </section>\n        </div>\n        <div>\n            <img src=\"{{PATHS.static}}/img/ghostery-antitracking.svg\" alt=\"AI anti-tracking technology\">\n            <section>\n                <h3>Discerning</h3>\n                <p>\n                    More than just a website — WhoTracks.me analyzes data from the top 10,000 websites \n                    worldwide and informs Ghostery’s <a href=\"https://www.ghostery.com/blog/how-we-at-ghostery-protect-users-from-web-tracking\" target=\"_blank\">Anti-Tracking technology</a>.\n                </p>\n            </section>\n        </div>\n    </div>\n</nav>\n\n<nav class=\"navbar navbar-blue\" role=\"navigation\">\n    <div class=\"container\">\n\n        <div class=\"row\">\n            <div class=\"col-md-2\">\n                <div class=\"navbar-header\">\n                    <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#myNavbar\">\n                        <span class=\"icon-bar\"></span>\n                        <span class=\"icon-bar\"></span>\n                        <span class=\"icon-bar\"></span>\n                    </button>\n                    <a class=\"navbar-brand\" href=\"{{ PATHS.path_to_root }}\">\n                        <img class=\"logo\" alt=\"Who Tracks Me\" src=\"{{PATHS.static}}/img/logo-white.svg\">\n                    </a>\n                </div>\n            </div>\n\n            <div class=\"col-md-10 col-sm-0\">\n                <!--Collapsed under menu in mobile-->\n                <div class=\"collapse navbar-collapse\" id=\"myNavbar\">\n                    <ul id=\"imaginary_container\">\n                        <div class=\"input-group stylish-input-group\">\n                            <input id=\"search-bar\" class=\"form-control\" type=\"text\" placeholder=\"Search website or tracker\">\n                        </div>\n                    </ul>\n\n                    <!--Site links-->\n                    <ul class=\"nav navbar-nav navbar-right\">\n                        <li {%if active_page=='trackers' %} class=\"active\" {% endif %}>\n                            <a class=\"nav-button\" href=\"{{ PATHS.path_to_root }}/trackers.html\">TRACKERS</a>\n                        </li>\n                        <li {%if active_page=='websites' %} class=\"active\" {% endif %}>\n                            <a class=\"nav-button\" href=\"{{ PATHS.path_to_root }}/websites.html\">WEBSITES</a>\n                        </li>\n                        <li {%if active_page=='blog' %} class=\"active\" {% endif %}>\n                            <a class=\"nav-button\" href=\"{{ PATHS.path_to_root }}/blog.html\">BLOG</a>\n                        </li>\n                        <li {%if active_page=='explorer' %} class=\"active\" {% endif %}>\n                            <a class=\"nav-button\" href=\"{{ PATHS.path_to_root }}/explorer.html\">EXPLORER</a>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n\n    </div>\n</nav>\n"
  },
  {
    "path": "templates/components/tag_cloud.html",
    "content": "<script src=\"{{PATHS.static}}/js/d3.min.js\"></script>\n<script src=\"{{PATHS.static}}/js/d3.layout.cloud.js\"></script>\n\n<script>\n        function sanitiseCategory(cat) {\n            return cat.replace(/\\s/g, '_').toLowerCase();\n        }\n\n        function drawTagCloud(cat, siteList) {\n            var container = document.getElementById('tag_cloud_container');\n            var width = Math.max(container.offsetWidth, 300);\n            var height = Math.max(container.offsetHeight - 5, 400);\n            var containerSvg = document.getElementById('tag_cloud');\n            containerSvg.setAttribute('width', width);\n            containerSvg.setAttribute('height', height);\n\n            var sites = JSON.parse(siteList);\n            var minSize = 20;\n            var maxSize = 100;\n            var scaleFactor = (maxSize - minSize) / 0.3;\n\n            var layout = d3.layout.cloud()\n                .size([width, height])\n                .words(sites.map(function (d) {\n                    return {\n                        text: d.site.replace('www.', ''),\n                        size: Math.min(maxSize, minSize + d.frequency * scaleFactor),\n                        rotate: 0,\n                        opacity: 0.5 + (d.site_freq || 0. * 0.7),\n                        colour: d.site_cat,\n                        href: d.url,\n                        category: d.category,\n                    };\n                }))\n                .padding(3)\n                .rotate(function (d) { return 0 })\n                .font(\"Impact\")\n                .fontSize(function (d) { return d.size; })\n                .on(\"end\", draw);\n\n            layout.start();\n\n            function draw(words) {\n                d3.select('#tag_cloud')\n                    .append(\"g\")\n                    .attr(\"transform\", \"translate(\" + layout.size()[0] / 2 + \",\" + layout.size()[1] / 2 + \")\")\n                    .selectAll(\"text\")\n                    .data(words)\n                    .enter().append(\"text\")\n                    .style(\"font-size\", function (d) { return d.size + \"px\"; })\n                    .style(\"font-family\", \"Helvetica\")\n                    .style(\"fill\", function (d) { return d.colour })\n                    .attr(\"class\", function (d) { return \"category-\" + sanitiseCategory(d.category) })\n                    .attr(\"opacity\", function (d) { return d.opacity })\n                    .attr(\"text-anchor\", \"middle\")\n                    .attr(\"transform\", function (d) {\n                        return \"translate(\" + [d.x, d.y] + \")rotate(\" + d.rotate + \")\";\n                    })\n                    .insert('a')\n                    .attr(\"href\", function (d) { return d.href })\n                    .text(function (d) { return d.text; });\n            }\n        }\n\n        var activeCategories = [];\n\n        function toggleTagCloudCategory(cat) {\n            if (cat === \"all\") {\n                // unselect buttons\n                activeCategories.forEach(function(otherCat) {\n                    document.getElementById('button-' + otherCat).classList.remove('active');\n                });\n                document.getElementById('button-all').classList.add('active');\n                // make everything visible\n                d3.selectAll(\"#tag_cloud text\").style(\"visibility\", \"visible\");\n                activeCategories = [];\n            } else {\n                document.getElementById('button-all').classList.remove('active');\n                document.getElementById('button-' + cat).classList.add('active');\n\n                if (activeCategories.length === 0) {\n                    // hide everything\n                    d3.selectAll(\"#tag_cloud text\").style(\"visibility\", \"hidden\");\n                }\n                // make just elements from specified categories visible\n                d3.selectAll(\"#tag_cloud text.category-\" + sanitiseCategory(cat)).style(\"visibility\", \"visible\");\n                activeCategories.push(cat);\n            }\n        }\n    </script>\n\n\n<ul class=\"nav nav-tabs\">\n    <li class=\"active\" id=\"button-all\">\n        <a href=\"#all\" onclick=\"toggleTagCloudCategory('all')\">Show all</a>\n    </li>\n    {% for cat in sites_by_cat.keys()|sort %}\n        {% if cat %}\n            <li id=\"button-{{cat}}\">\n                <a href=\"#{{cat}}\" onclick=\"toggleTagCloudCategory('{{cat}}')\">{{cat|prettify_label}}</a>\n            </li>\n        {% endif %}\n    {% endfor %}\n</ul>\n\n<div class=\"tab-content\">\n    <div id=\"tag_cloud_container\" class=\"tab-pane fade in active\">\n        <svg id=\"tag_cloud\" height=400></svg>\n        <script>$(document).ready(() => {\n            const draw = () => drawTagCloud('all', '{{ website_list|tojson|safe }}')\n            if (window.requestIdleCallback) {\n                window.requestIdleCallback(draw);\n            } else {\n                // Safari does not support requestIdleCallback\n                window.setTimeout(draw, 200);\n            }\n        });</script>\n    </div>\n\n</div>"
  },
  {
    "path": "templates/components/top-5-info-box.html",
    "content": "<div class=\"info-box\">\n    <div class=\"row\">\n    <div class=\"col-md-8\">\n        <span class=\"percentage\">\n            {{header_stats.by_cookies|to_percentage}}%\n        </span>\n        <p>\n            Trackers using cookies.\n        </p>\n        <span class=\"percentage\">\n            {{header_stats.by_fingerprinting|to_percentage}}%\n\n        </span>\n        <p>\n            Trackers using fingerprinting.\n        </p>\n        <span class=\"percentage\">\n            {{header_stats.data|b_to_mb}}MB\n        </span>\n        <p>\n            average data usage by trackers\n        </p>\n    </div>\n    </div>\n</div>"
  },
  {
    "path": "templates/components/top-5-trackers.html",
    "content": "<div class=\"row top-5-trackers\">\n    <div class=\"col-md-6 col-sm-6\">\n        <ul class=\"top-5-list\">\n            {% for tracker in tracker_list[:5] %}\n                <li>\n                    {{loop.index}}.\n                        <a href=\"{{ 'tracker'|url_for(tracker.tracker) }}\" class=\"entity-name\">{{ tracker.id|get_app_name }}</a>\n                        {% if tracker.company_id %}\n                            <span class=\"category\">\n                                {{ tracker.company_id|get_company_name }}\n                            </span>\n                        {% endif %}\n                        {% if tracker.category %}\n                                {% with c=tracker.category %}\n                                  {% include 'components/trackers/category.html'%}\n                                {% endwith %}\n                        {% endif %}\n                        <p>\n                            <span class=\"highlight\">{{tracker.reach|to_percentage}}%</span> of web traffic is tracked by {{ tracker.id|get_app_name }}\n                        </p>\n                </li>\n            {% endfor %}\n        </ul>\n    </div>\n\n    <div class=\"col-md-6 col-sm-6\">\n        {%include \"components/top-5-info-box.html\" %}\n    </div>\n</div>"
  },
  {
    "path": "templates/components/tracker-list.html",
    "content": "\n<ul class=\"nav nav-tabs\">\n      <li class=\"active\"><a data-toggle=\"tab\" href=\"#popularity\">Popularity</a></li>\n      <li><a data-toggle=\"tab\" href=\"#category\">Company</a></li>\n</ul>\n<div class=\"list-container\">\n    <div class=\"tab-content\">\n        <div id=\"popularity\" class=\"tab-pane fade in active\">\n            {% include \"components/top-5-trackers.html\" %}\n\n            <ul id=\"multi-column-list\">\n\n                {% for tracker in tracker_list[5:] %}\n                    <li>\n                        {{loop.index + 5}}.\n                        <a href=\"{{ 'tracker'|url_for(tracker.tracker) }}\" class=\"entity-name\">{{ tracker.id|get_app_name }}</a>\n                        {% if tracker.company_id %}\n                            <span class=\"category\">\n                                {{ tracker.company_id|get_company_name }}\n                            </span>\n                        {% endif %}\n                    </li>\n                {% endfor %}\n            </ul>\n        </div>\n\n        <div id=\"category\" class=\"tab-pane fade\">\n            {% with tracker_list=trackers_list_company %}\n                {% include \"components/top-5-trackers.html\" %}\n            {% endwith %}\n            <ul id=\"multi-column-list\">\n                {% for tracker in trackers_list_company[5:] %}\n                    <li>\n                        {{loop.index + 5}}.\n                        <a href=\"{{ 'tracker'|url_for(tracker.tracker) }}\" class=\"entity-name\">{{ tracker.id|get_app_name }}</a>\n                        {% if tracker.company_id %}\n                            <span class=\"category\">\n                                {{ tracker.company_id|get_company_name }}\n                            </span>\n                        {% endif %}\n                    </li>\n                {% endfor %}\n            </ul>\n        </div>\n    </div>\n</div>\n"
  },
  {
    "path": "templates/components/trackers/category.html",
    "content": "<span class=\"cat-item\">\n  <i class=\"fa fa-circle\" style=\"color: {{ TRACKER_CATEGORIES[c] }}\" aria-hidden=\"true\"></i> \n  {{ c|prettify_label }}\n</span>"
  },
  {
    "path": "templates/components/trackers/header.html",
    "content": "<div class=\"col-md-6 col-sm-6\">\n  <h1>{{ profile.name }}</h1>\n  {% if app.company_id %}\n    <p class=\"header\">Owned by {{app.company_id|get_company_name}}</p>\n  {% endif %}\n  {% if profile.website_url is not none %}\n    <p id=\"domain\">\n        <a target=\"_blank\" rel=\"noreferrer\"  href=\"{{ profile.website_url }}\">{{ profile.website_url }}</a>\n    </p>\n  {% endif %}\n</div>\n\n<div class=\"col-md-6 col-sm-6\">\n  <div class=\"overview-info-right\">\n    <div class=\"row\">\n      <div class=\"col-md-6 col-sm-6\">\n        <p class=\"header\">TRACKER RANK</p>\n        <p class=\"tracker-rank\">\n          <span class=\"emphasis\">{{ profile.overview.reach_rank }}</span>\n          /{{ trackers }}\n        </p>\n        <p class=\"description\">{{profile.id|rank_label}}</p>\n      </div>\n\n      <div class=\"col-md-6 col-sm-6\">\n        {% if profile.domains | length > 0 %}\n          <p class=\"header\">OPERATES UNDER</p>\n          <div id=\"operates-under\">\n          {% for domain in profile.domains %}\n            <p>\n              <a class=\"profile-label\"\n                 target=\"_blank\"\n                 rel=\"noreferrer\"\n                 href=\"//{{domain}}\"> {{ domain }}\n              </a>\n            </p>\n          {% endfor %}\n\n          {%if profile.domains|length > 2%}\n              <a class=\"operates-expand\" href=\"#\">\n                <i class=\"fa fa-angle-double-down\" aria-hidden=\"true\"></i>Expand\n              </a>\n              <a class=\"operates-collapse hidden\" href=\"#\">\n                <i class=\"fa fa-angle-double-up\" aria-hidden=\"true\"></i>Collapse\n              </a>\n          {% endif %}\n        </div>\n      {% endif %}\n      </div>\n    </div>\n  </div>\n</div>\n</div>\n\n\n<div class=\"overview-header-box\">\n  <div class=\"row\">\n\n\n    <!-- LEFT COLUMN -->\n    <div class=\"col-md-6 col-sm-6\">\n        <h3>TRACKER REACH</h3>\n        <div class=\"trend\">\n          <img class=\"trackers-icon\" src=\"{{PATHS.static}}/img/page.svg\">\n          <span class=\"percentage\">\n            {{ reach.pages }}%\n            <span class=\"graph\">{{ trends.page }}</span>\n          </span>\n\n          <p class=\"description\">of web traffic is tracked by {{ profile.name }}</p>\n      </div>\n      <div class=\"trend\">\n          <img class=\"trackers-icon\" src=\"{{PATHS.static}}/img/domain.svg\">\n          <span class=\"percentage\">\n            {{ reach.sites }}\n            <span class=\"graph\">{{ trends.site }}</span>\n          </span>\n          <p class=\"description\">of the top 10,000 sites seen loading the {{ profile.name }} tracker</p>\n      </div>\n      <p class=\"subtitle\">\n        {% if profile.date_range[0] == profile.date_range[1] %}\n          Data from {{ profile.date_range[0].strftime('%B %Y') }}.\n        {% else %}\n          Data from {{ profile.date_range[0].strftime('%B %Y') }} to {{ profile.date_range[1].strftime('%B %Y') }}.\n        {% endif %}\n      </p>\n    </div>\n\n\n    <!-- Right COLUMN -->\n    <div class=\"col-md-6 col-sm-6\">\n          <h3>SEEN ON THESE TYPES OF WEBSITES</h3>\n          {% for tup in website_types %}\n          {% if tup[0] %}\n            <div class=\"clearfix\">\n              <span class=\"progress-presence\">{{ tup[1]|int }}% </span>\n              <div class=\"progress\">\n                <div class=\"progress-bar\" role=\"progressbar\"  aria-valuenow=\"{{ 1.25*tup[1] }}\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: {{ 1.25*tup[1] }}%\">\n                {{ tup[0] }}\n                </div>\n              </div>\n            </div>\n            {% endif %}\n          {% endfor %}\n\n          <h3>TRACKING TYPE</h3>\n          <div class=\"row tracking-methods\">\n            {% if tracking_methods.cookies %}\n              <div {% if not tracking_methods.fingerprinting %} class=\"col-md-8\" {% else %} class=\"col-md-4\" {% endif %}>\n                {% include \"components/cookies.html\" %}\n              </div>\n            {% endif %}\n\n            {% if tracking_methods.fingerprinting %}\n              <div {% if not tracking_methods.cookies%} class=\"col-md-8\" {% else %} class=\"col-md-4\" {% endif %}>\n                {% include \"components/fingerprinting.html\" %}\n              </div>\n            {% endif %}\n            {% if not tracking_methods.cookies and not tracking_methods.fingerprinting %}\n              <p>No tracking detected at present</p>\n            {% endif %}\n          </div>\n    </div>\n  </div>\n\n"
  },
  {
    "path": "templates/components/tracking-methods.html",
    "content": "<h3 style=\"margin-left:15px\">TRACKING METHODS</h3>\n{% if site.overview.cookies > 0.4 and site.overview.bad_qs > 0.1 %}\n    <div class=\"col-md-11 col-offset-1\">\n      <div class=\"row\">\n        <div class=\"col-md-6\">\n          {% include \"components/cookies.html\" %}\n        </div>\n        <div class=\"col-md-6\">\n          {% include \"components/fingerprinting.html\" %}\n        </div>\n      </div>\n    </div>\n\n{% elif site.overview.cookies > 0.1 %}\n    <div class=\"col-md-8 col-offset-4\">\n    {% include \"components/cookies.html\" %}\n    </div>\n{% elif site.overview.bad_qs > 0.1 %}\n    <div class=\"col-md-8 col-offset-4\">\n      {% include \"components/fingerprinting.html\" %}\n    </div>\n{% else %}\n  <p>No tracking detected on this site at present.</p>\n{% endif %}\n"
  },
  {
    "path": "templates/components/unified-ui-tracker-list.html",
    "content": "<ul class=\"nav nav-tabs\">\n      <li class=\"active\"><a data-toggle=\"tab\" href=\"#popularity\">Popularity</a></li>\n      <li><a data-toggle=\"tab\" href=\"#category\">Company</a></li>\n</ul>\n<div class=\"list-container\">\n    <div class=\"tab-content\">\n        <div id=\"popularity\" class=\"tab-pane fade in active\">\n            <ul id=\"multi-column-list\">\n                {% for tracker in tracker_list %}\n                    <li>\n                        {{loop.index}}.\n                        <a href=\"{{ 'tracker'|url_for(tracker.tracker) }}\" class=\"entity-name\">{{ tracker.tracker|get_app_name }}</a>\n                        {% if tracker.company_id %}\n                            <span>\n                                {{ tracker.company_id|get_company_name }}\n                            </span>\n                        {% else %}\n                            <span>\n                                -\n                            </span>\n                        {% endif %}\n                    </li>\n                {% endfor %}\n                <li>\n                    <a\n                        class=\"top-trackers\"\n                        href=\"/trackers.html\"\n                    >\n                        See All {{ tracker_stats.count }} Trackers\n                        <i class=\"fa fa-angle-right\"></i>\n                    </a>\n                </li>\n            </ul>\n        </div>\n\n        <div id=\"category\" class=\"tab-pane fade\">\n            <ul id=\"multi-column-list\">\n                {% for tracker in trackers_list_company %}\n                    <li>\n                        {{loop.index}}.\n                        <a  href=\"{{ 'tracker'|url_for(tracker.tracker) }}\" class=\"entity-name\">{{ tracker.tracker|get_app_name }}</a>\n                        {% if tracker.company_id %}\n                        <span>\n                            {{ tracker.company_id|get_company_name }}\n                        </span>\n                        {% else %}\n                            <span>\n                                -\n                            </span>\n                        {% endif %}\n                    </li>\n                {% endfor %}\n            </ul>\n        </div>\n    </div>\n</div>\n"
  },
  {
    "path": "templates/components/website-list.html",
    "content": "<ul class=\"nav nav-tabs\">\n  <li class=\"active\"><a data-toggle=\"tab\" href=\"#popularity\">Popularity</a></li>\n  <li><a data-toggle=\"tab\" href=\"#category\">Category</a></li>\n</ul>\n\n<div class=\"list-container\">\n    <div class=\"tab-content\">\n    <div id=\"popularity\" class=\"tab-pane fade in active\">\n        <ul id=\"multi-column-list\">\n            {% for website in website_list %}\n                <li>\n                    <img class=\"icon\" src=\"{{PATHS.static}}/img/website_globe.svg\" width=\"15\" height=\"15\">\n                    <a\n                        href=\"{{ 'site'|url_for(website.site) }}\" class=\"entity-name\"\n                    >{{ website.site | normalize_domain_name }}</a>\n                    <span class=\"count\">{{website.trackers|int}}</span>\n                    {% if website.category %}\n                        <span class=\"label label-category\">\n                            {{ website.category }}\n                        </span>\n                    {% endif %}\n                </li>\n            {% endfor %}\n        </ul>\n    </div>\n    <div id=\"category\" class=\"tab-pane fade\">\n        <ul id=\"multi-column-list\">\n        {% for website in website_list_cat %}\n                <li>\n                    <img class=\"icon\" src=\"{{PATHS.static}}/img/website_globe.svg\" width=\"15\" height=\"15\">\n                    <a\n                        href=\"{{ 'site'|url_for(website.site) }}\" class=\"entity-name\"\n                    >{{ website.site | normalize_domain_name }}</a>\n                     <span class=\"count\">{{website.trackers|int}}</span>\n                    {% if website.category %}\n                        <span class=\"label label-category\">\n                            {{ website.category }}\n                        </span>\n                    {% endif %}\n                </li>\n            {% endfor %}\n        </ul>\n    </div>\n    </div>\n</div>"
  },
  {
    "path": "templates/components/websites/header.html",
    "content": "<div class=\"container\">\n    <div class=\"row overview-info\">\n        <div class=\"col-md-6\">\n            {% if profile.website_url is not none %}\n            <h1>\n                <img class=\"icon\" src=\"{{PATHS.static}}/img/website_globe.svg\" width=\"23\" height=\"23\" />\n                <a target=\"_blank\" rel=\"noreferrer\" href=\"//{{ profile.website_url }}\">{{ profile.name | normalize_domain_name }}</a>\n            </h1>\n            {% else %}\n            <h1>not a real domain </h1>\n            {% endif %}\n            <p class=\"subtitle\">\n                <span class=\"purple-color\">{{ site.overview.content_length|b_to_mb }}Mb</span> of user data from trackers per page\n            </p>\n        </div>\n\n        <div class=\"col-md-6\">\n            <div class=\"overview-info-right\">\n                <div class=\"col-md-6 trackers-info\">\n                    <p>\n                        <span class=\"header red-color\">\n                            {{ site.overview.trackers|round2 }} TRACKERS</span>\n                        <br />\n                        <span class=\"subtitle\">On average per page</span>\n                    </p>\n                </div>\n\n                <div class=\"col-md-6 more-info\">\n                    <div>\n                        <i class=\"fa fa-info-circle\"></i>\n                        <a href=\"{{PATHS.blog}}/what_is_a_tracker.html\">What is a tracker?</a>\n                    </div>\n                    <div>\n                        <i class=\"fa fa-info-circle\"></i>\n                        <a href=\"{{PATHS.blog}}/where_is_the_data_from.html\">Where does the data come from?</a>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n\n    <div class=\"overview-header-box\">\n\n        <div class=\"row\">\n            <div class=\"col-md-6 col-sm-6\">\n                <h3 style=\"padding-left: 15px\">ALL TRACKERS SEEN (by category)</h3>\n                <div class=\"row\">\n                    <div class=\"col-md-4 col-sm-4\">\n                        <div id=\"doughnut\">\n                            {{ doughnut }}\n                        </div>\n                    </div>\n                    <div class=\"col-md-4 col-sm-4\">\n                        {% include \"components/category-item.html\" %}\n                    </div>\n\n                </div>\n                <div class=\"tracking-methods\">\n                    {% include \"components/tracking-methods.html\" %}\n                </div>\n            </div>\n\n            <div class=\"col-md-3 col-sm-3\">\n                <div class=\"stats\">\n                    <h3>PROPORTION OF TRAFFIC</h3>\n                    <div class=\"percentage\">{{ (100*site.overview.tracked)|round }}%\n                    </div>\n                    <p>Page loads from {{ profile.website_url | normalize_domain_name }} on which tracking occurred</p>\n                </div>\n                <div class=\"stats\">\n                    <h3>REQUESTS TO TRACKERS</h3>\n                    <div class=\"percentage\">\n                        {{ site.overview.requests_tracking|int }}\n                    </div>\n                    <p>Tracking requests per page load</p>\n                </div>\n\n            </div>\n\n        </div>\n\n    </div>\n</div>\n"
  },
  {
    "path": "templates/components/websites/tracker-list.html",
    "content": "<ul class=\"nav nav-tabs\">\n      <li class=\"active\"><a data-toggle=\"tab\" href=\"#frequency\">Frequency</a></li>\n      <li><a data-toggle=\"tab\" href=\"#company\">Company</a></li>\n</ul>\n<div class=\"list-container\">\n    <div class=\"tab-content\">\n        <div id=\"frequency\" class=\"tab-pane fade in active\">\n            <ul id=\"multi-column-list\">\n                {% for tracker in tracker_list|sort(attribute='site_proportion', reverse=True) %}\n                    <li>\n                        {{loop.index}}.\n                        <a href=\"{{ 'tracker'|url_for(tracker.tracker) }}\" class=\"entity-name\">{{ tracker.tracker|get_app_name }}</a>\n                        <span class=\"percentage\">{{tracker.site_proportion|to_percentage}}%</span>\n                        {% if tracker.company_id %}\n                        <span>\n                            {{ tracker.company_id|get_company_name }}\n                        </span>\n                        {% else %}\n                            <span>\n                                -\n                            </span>\n                        {% endif %}\n                    </li>\n                {% endfor %}\n            </ul>\n        </div>\n\n        <div id=\"company\" class=\"tab-pane fade\">\n            <ul id=\"multi-column-list\">\n                {% for tracker in tracker_list|sort(attribute='company_id') %}\n                    <li>\n                        {{loop.index}}.\n                        <a  href=\"{{ 'tracker'|url_for(tracker.tracker) }}\" class=\"entity-name\">{{ tracker.tracker|get_app_name }}</a>\n                        <span class=\"percentage\">{{tracker.site_proportion|to_percentage}}%</span>\n                        {% if tracker.company_id %}\n                        <span>\n                            {{ tracker.company_id|get_company_name }}\n                        </span>\n                        {% else %}\n                            <span>\n                                -\n                            </span>\n                        {% endif %}\n                    </li>\n                {% endfor %}\n            </ul>\n        </div>\n    </div>\n</div>\n"
  },
  {
    "path": "templates/explorer.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n<title>WhoTracks.me | Explorer</title>\n<meta name=\"description\" content=\"Tracking landscape in the most popular sites. Updated monthly.\">\n{% endblock %}\n\n\n{% block og_params %}\n<!-- OG params for sharable content -->\n<meta property=\"og:title\" content=\"WhoTracks.me | Explorer\">\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:url\" content=\"https://whotracks.me/explorer.html\">\n<meta property=\"og:description\" content=\"Exploration tool for the open sourced tracking data.\">\n{% endblock %}\n\n\n{% set active_page='explorer' %}\n\n{% block extra_styling %}\n<link rel=\"stylesheet\" type=\"text/css\" href=\"./static/css/datatables.min.css\" />\n<link rel=\"stylesheet\" type=\"text/css\" href=\"./static/css/datatables.colReorder.min.css\" />\n<link rel=\"stylesheet\" type=\"text/css\" href=\"./static/css/explorer/table.css\" />\n{% endblock %}\n\n{% block content %}\n<div class=\"container\">\n    <div class=\"ui-block\" id=\"wtm\">\n        <ul class=\"nav nav-tabs\" role=\"tablist\">\n            <li id=\"li-trackers\" class=\"nav-item\">\n                <a href=\"#tab-trackers\" class=\"nav-link\" role=\"tab\" data-toggle=\"tab\">Trackers</a>\n            </li>\n            <li id=\"li-sites\" class=\"nav-item\">\n                <a href=\"#tab-sites\" class=\"nav-link\" role=\"tab\" data-toggle=\"tab\">Sites</a>\n            </li>\n            <li id=\"li-companies\" class=\"nav-item\">\n                <a href=\"#tab-companies\" class=\"nav-link\" role=\"tab\" data-toggle=\"tab\">Companies</a>\n            </li>\n            <li id=\"li-sites_trackers\" class=\"nav-item\">\n                <a href=\"#tab-sites_trackers\" class=\"nav-link\" role=\"tab\" data-toggle=\"tab\">Sites Trackers</a>\n            </li>\n            <a id=\"export-data\" target=\"_blank\" href=\"/{{ download_link }}\" class=\"btn nav-link\">Export</a>\n        </ul>\n\n\n        <div class=\"tab-content\">\n            <div class=\"tab-pane active\" id=\"tab-trackers\">\n                <table id=\"trackers\" class=\"table table-striped table-bordered\" cellspacing=\"0\" width=\"95%\">\n                </table>\n            </div>\n\n            <div class=\"tab-pane\" id=\"tab-sites\">\n                <table id=\"sites\" class=\"table table-striped table-bordered\" cellspacing=\"0\" width=\"95%\">\n                </table>\n            </div>\n\n            <div class=\"tab-pane\" id=\"tab-companies\">\n                <table id=\"companies\" class=\"table table-striped table-bordered\" cellspacing=\"0\" width=\"95%\">\n                </table>\n            </div>\n\n            <div class=\"tab-pane\" id=\"tab-sites_trackers\">\n                <table id=\"sites_trackers\" class=\"table table-striped table-bordered\" cellspacing=\"0\" width=\"95%\">\n                </table>\n            </div>\n        </div>\n        <br>\n        <p>Definitions for the column names are available <a target=\"_blank\" rel=”noreferrer” href=\"https://github.com/ghostery/whotracks.me/blob/master/whotracksme/data/Readme.md\">here</a>.</p>\n    </div>\n</div>\n<script type=\"text/javascript\" src=\"/static/js/bootstrap.min.js\"></script>\n<script type=\"text/javascript\" src=\"/static/js/datatables.min.js\"></script>\n<script type=\"text/javascript\" src=\"/static/js/datatables.colReorder.min.js\"></script>\n\n<script type=\"text/javascript\" src=\"/static/js/explorer.js\"></script>\n{% endblock %}\n"
  },
  {
    "path": "templates/imprint.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n<title>WhoTracks.me, operated by Ghostery - Privacy Policy</title>\n<meta name=\"description\"\n  content=\"Learn about tracking technologies, market structure and data-sharing on the web. Detailed profiling of top trackers and the tracker landscape on popular domains.\">\n{% endblock %}\n\n{% block og_params %}\n<!-- OG params for sharable content -->\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:url\" content=\"https://whotracks.me\">\n<meta property=\"og:title\" content=\"WhoTracks.me, operated by Ghostery - Privacy Policy\">\n<meta property=\"og:description\" content=\"\">\n<meta property=\"og:image\"\n  content=\"https://whotracks.me/{{PATHS.static|absolute_og_urls}}/img/tracking-matrix-bluebg.png\">\n{% endblock %}\n\n\n{% block content %}\n<div>\n  <div class=\"container imprint\">\n    <div class=\"basic-container _50l w-container\">\n      <h1>Imprint</h1>\n      <br />\n      <br />\n\n      <p class=\"text\">WhoTracks.Me is a project of Ghostery GmbH, Arabellastraße 23, 81925 Munich, who owns and operates the website www.whotracks.me.</p>\n      <p class=\"text\">Ghostery GmbH is registered under the registration HRB 230794 at the Registration Court Amtsgericht Munich – Registergericht –, Infanteriestraße 5, 80325 Munich.<br></p>\n      <p class=\"text\">Registered Directors (vertretungsberechtigte Geschäftsführer) are Jean Paul Schmetz and Heinz Spengler.<br></p>\n      <p class=\"text\">The VAT ID Number is DE313473689.<br></p>\n      <div class=\"ghostery_spacer-40\"></div>\n      <p class=\"text grey\">For communication you can either visit our <a href=\"https://www.ghostery.com/support\">get help page</a> or write an e-mail to <a href=\"mailto:support@ghostery.com\">support@ghostery.com</a><br></p>\n    </div>\n\n  </div>\n</div>\n\n{% endblock %}\n"
  },
  {
    "path": "templates/index.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n    <title>WhoTracks.me - Bringing Transparency to Online Tracking</title>\n    <meta name=\"description\" content=\"Learn about tracking technologies, market structure and data-sharing on the web. Detailed profiling of top trackers and the tracker landscape on popular domains.\">\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https://whotracks.me\">\n    <meta property=\"og:title\" content=\"WhoTracks.me - Bringing Transparency to Online Tracking\">\n    <meta property=\"og:description\" content=\"Learn about tracking technologies, market structure and data-sharing on the web. Detailed profiling of top trackers and the tracker landscape on popular domains.\">\n    <meta property=\"og:image\" content=\"https://whotracks.me/{{PATHS.static|absolute_og_urls}}/img/tracking-matrix-bluebg.png\">\n{% endblock %}\n\n{% set active_page='home' %}\n\n\n{% block extra_styling %}\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/home/index.css\">\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/blog/card.css\">\n{% endblock %}\n\n{% block content %}\n\n{% include \"components/home/header.html\" %}\n\n<!-- Latest Articles -->\n\n<div class=\"grey-bg header-articles\">\n        <div class=\"container\">\n            <div class=\"row\">\n                {% for blog_post in posts %}\n                <div class=\"col-sm-4 col-md-4\">\n                    {% include \"components/blog-card.html\" %}\n                </div>\n                {% endfor %}\n            </div>\n        </div>\n    </div>\n\n<section class=\"grey-bg top-buffer\">\n    <div class=\"container\">\n        <div class=\"row home-plot\">\n            <div class=\"col-md-8\">\n                <div class=\"row\">\n                    <div class=\"col-md-9 col-sm-9\">\n                        <h2 class=\"plot-title\">Tracker Market Share</h2>\n                        <p class=\"plot-subtitle\">\n                            Proportion of the web traffic tracked by these companies.\n                        </p>\n                    </div>\n                </div>\n            </div>\n            <div class=\"col-md-4 checkout\">\n                <h4>READ OUR PAPER:</h4>\n\n                    <i class=\"fa fa-file-text-o\"></i>\n                    <span style=\"font-size: 13px\">\n                        <a\n                            target=\"_blank\"\n                            href=\"https://arxiv.org/abs/1804.08959\">\n                            WhoTracksMe 2018\n                        </a>\n                    </span>\n\n            </div>\n        </div>\n        {{ ts }}\n        <p class=\"plot-caption\">See <a href=\"/companies/reach-chart.html\">Full Chart</a></p>\n        <div class=\"row home-panel\">\n\n            <!-- Tracker Stats -->\n            <div class=\"col-md-4 col-sm-4\">\n                <div class=\"panel panel-body\">\n                    <div class=\"card-top-1 card-purple\">\n                        <h3 class=\"card-title\">Google trackers are present on {{ top10[0].reach |to_percentage|round(0)|int }}% of the web traffic</h3>\n                        <p class=\"card-subtitle\">That is more than the next 4 biggest trackers combined.</p>\n                    </div>\n\n                    <p class=\"card-button\">\n                        <span class=\"label label-default\">#trackerTopia</span>\n                        <span class=\"label label-default\">#growth</span>\n                        <span class=\"label label-default\">#topSites</span>\n                    </p>\n                </div>\n            </div>\n            <!-- End of Tracker Stats -->\n\n            <!-- Website Stats -->\n            <div class=\"col-md-4 col-sm-4\">\n                <div class=\"panel panel-body\">\n                    <div class=\"card-top-2 card-purple\">\n                        <h3 class=\"card-title\">{{ top10[1].reach |to_percentage|round(0)|int }}% of the web has a hidden Facebook tracking pixel</h3>\n                        <p class=\"card-subtitle\">Facebook knows more than what you just do on Facebook</p>\n                    </div>\n\n                    <p class=\"card-button\">\n                        <span class=\"label label-default\">#facebook</span>\n                        <span class=\"label label-default\">#trackingPixel</span>\n                        <span class=\"label label-default\">#reach</span>\n                    </p>\n                </div>\n            </div>\n            <!-- End of Website Stats -->\n\n            <!-- Privacy Reports -->\n            <div class=\"col-md-4 col-sm-4\">\n                <div class=\"panel panel-body\">\n                    <div class=\"card-top-3 card-gray\">\n                        <h3 class=\"card-title\">{{ tracker_stats.gt01 }} companies track more than 0.1% of the web traffic each.</h3>\n                        <p class=\"card-subtitle\">Which of these have you heard of?</p>\n                    </div>\n\n                    <p class=\"card-button\">\n                        <span class=\"label label-default\">#unknown</span>\n                        <span class=\"label label-default\">#pervasive</span>\n                        <span class=\"label label-default\">#mydata</span>\n                    </p>\n                </div>\n            </div>\n            <!-- END of Privacy Reports -->\n        </div>\n    </div>\n</section>\n\n\n<div class=\"top-buffer most-websites\">\n\n    <div class=\"container\">\n        <div class=\"most-tracked-websites\">\n            <h2>Websites with the most (and least) tracking\n                <span class=\"subtitle\"></span>\n            </h2>\n            <ul class=\"nav nav-tabs\">\n                <li class=\"active\"><a data-toggle=\"tab\" href=\"#traffic\">Most Tracked</a></li>\n                <li><a data-toggle=\"tab\" href=\"#trackersNum\">Least Tracked</a></li>\n            </ul>\n            <div class=\"list-container\">\n                <div class=\"tab-content\">\n                    <div id=\"traffic\" class=\"tab-pane fade in active\">\n                        <ul id=\"multi-column-list\">\n                                {% for site in most_tracked_sites %}\n                                    <li>\n                                        <img class=\"icon\" src=\"{{PATHS.static}}/img/website_globe.svg\">\n                                        <a href=\"{{ 'site'|url_for(site.site) }}\">{{ site.site | normalize_domain_name }}</a>\n                                        <span class=\"count\">{{site.trackers|int}}</span>\n                                        <span class=\"subtitle\">{{ site.category }}</span>\n                                    </li>\n                                {% endfor %}\n                                 <li>\n                                    <a href=\"./websites.html\" class=\"all-websites\">\n                                        All websites\n                                        <i class=\"fa fa-angle-right\"></i>\n                                    </a>\n                                </li>\n                        </ul>\n                    </div>\n\n                    <div id=\"trackersNum\" class=\"tab-pane fade\">\n                        <ul id=\"multi-column-list\">\n                                {% for site in least_tracked_sites %}\n                                    <li>\n                                        <img class=\"icon\" src=\"{{PATHS.static}}/img/website_globe.svg\">\n                                        <a href=\"{{ 'site'|url_for(site.site) }}\">{{ site.site | normalize_domain_name }}</a>\n                                        <span class=\"count\">{{site.trackers|int}}</span>\n                                        <span class=\"subtitle\">{{ site.category }}</span>\n                                    </li>\n                                {% endfor %}\n                                <li>\n                                    <a href=\"./websites.html\" class=\"all-websites\">\n                                        All websites\n                                        <i class=\"fa fa-angle-right\"></i>\n                                    </a>\n                                </li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"row websites-info-box\">\n                <h4> TRACKER PRESENCE</h4>\n                <div class=\"col-md-3 col-sm-6\">\n                    <div class=\"row\">\n                        <div class=\"col-md-11\">\n                            <p class=\"percentage\">{{ websites.gt10 }}</p>\n                            <p>out of {{ websites.count }} top websites have more than 10 trackers per page.</p>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"col-md-3 col-sm-6\">\n                    <div class=\"row\">\n                        <div class=\"col-md-11\">\n                            <p class=\"percentage\">{{ (websites.data / 1024 / 1024)|round|int }}<span class=\"mb\">MB</span></p>\n                            <p>of data per page load on average required by trackers\n                            </p>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"col-md-3 col-sm-6\">\n                    <div class=\"row\">\n                        <div class=\"col-md-11\">\n                            {% include \"components/fingerprinting.html\" %}\n                        </div>\n                    </div>\n                </div>\n                <div class=\"col-md-3 col-sm-6\">\n                    <div class=\"row\">\n                        <div class=\"col-md-11\">\n                            {% include \"components/cookies.html\" %}\n                        </div>\n                    </div>\n                </div>\n        </div>\n\n    </div>\n\n</div>\n\n<div class=\"top-buffer most-trackers\">\n    <div class=\"container\">\n        <h2>The most common trackers</h2>\n        {% include \"components/unified-ui-tracker-list.html\" %}\n    </div>\n\n</div>\n</div>\n\n{% endblock %}\n"
  },
  {
    "path": "templates/not-found.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n    <title>WhoTracks.me | Page Not Found </title>\n    <meta name=\"description\" content=\"The page you are trying to visit does not exist. We have lots of other interesting things for you to see though, visit https://whotracks.me to find out.\">\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"WhoTracks.me | Page Not Found\">    \n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https://whotracks.me/not-found.html\">\n    <meta property=\"og:description\" content=\"The page you are trying to visit does not exist. We have lots of other interesting things for you to see though, visit https://whotracks.me to find out.\">\n{% endblock %}\n\n{% block content %}\n<div style=\"height: 100vh\">\n    <div class=\"container\">\n        <h1 style=\"margin-top: 200px;\">Page not Found</h1>\n        <p>We could not find the page you are looking for. We have lots of other\n        interesting things for you to see though. Did you check our <a href=\"/trackers.html\">trackers page</a>?</p>\n    </div>\n</div>\n{% endblock %}\n"
  },
  {
    "path": "templates/privacy-policy.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n<title>WhoTracks.me - Bringing Transparency to Online Tracking</title>\n<meta name=\"description\"\n  content=\"Learn about tracking technologies, market structure and data-sharing on the web. Detailed profiling of top trackers and the tracker landscape on popular domains.\">\n{% endblock %}\n\n{% block og_params %}\n<!-- OG params for sharable content -->\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:url\" content=\"https://whotracks.me\">\n<meta property=\"og:title\" content=\"WhoTracks.me - Imprint\">\n<meta property=\"og:description\" content=\"\">\n<meta property=\"og:image\"\n  content=\"https://whotracks.me/{{PATHS.static|absolute_og_urls}}/img/tracking-matrix-bluebg.png\">\n{% endblock %}\n\n{% block content %}\n<div class=\"container privacy-policy\">\n\n<!-- begin (exported from hack.md markdown) -->\n<div id=\"doc\" class=\"markdown-body container-fluid comment-enabled comment-inner\" data-hard-breaks=\"false\"><h1 id=\"WhoTracks​​Me-Privacy-Policy\" data-id=\"WhoTracks​​Me-Privacy-Policy\"><span>WhoTracks​.​Me Privacy Policy</span></h1><p><span>Please find below our statement on the processing of </span><ins><span>personal</span></ins><span> data by our company in accordance with the legal requirements, particularly the EU General Data Protection Regulation (GDPR - available </span><a href=\"https://gdpr.eu/\" target=\"_blank\" rel=\"noopener\"><span>here</span></a><span>).</span></p><h2 id=\"Content\" data-id=\"Content\"><span>Content</span></h2><ul>\n<li>\n<p><a href=\"#I-General-information\"><span>I. General information</span></a></p>\n<ul>\n<li><a href=\"#1-Definition-of-main-terms\"><span>1. Definition of main terms</span></a></li>\n<li><a href=\"#2-Scope-of-validity\"><span>2. Scope of validity</span></a></li>\n<li><a href=\"#3-Controller\"><span>3. Controller</span></a></li>\n<li><a href=\"#4-Data-protection-officer\"><span>4. Data protection officer</span></a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"#II-Details-of-data-processing\"><span>II. Details of data processing</span></a></p>\n<ul>\n<li><a href=\"#1-General-information-about-the-data-processing-operations\"><span>1. General information about the data processing operations</span></a></li>\n<li><a href=\"#2-Accessing-our-services\"><span>2. Accessing our services</span></a></li>\n<li><a href=\"#3-Downloads-tracker-data\"><span>3. Downloads (tracker data)</span></a></li>\n<li><a href=\"#4-Contacting-whotracksme\"><span>4. Contacting WhoTracks.Me</span></a></li>\n<li><a href=\"#5-Web-Analytics\"><span>5. Web Analytics</span></a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"#III-Rights-of-data-subjects\"><span>III. Rights of data subjects</span></a></p>\n<ul>\n<li><a href=\"#1-Right-to-object\"><span>1. Right to object</span></a></li>\n<li><a href=\"#2-Right-of-access\"><span>2. Right of access</span></a></li>\n<li><a href=\"#3-Right-to-rectification\"><span>3. Right to rectification</span></a></li>\n<li><a href=\"#4-Right-to-erasure-%E2%80%9Cright-to-be-forgotten%E2%80%9D\"><span>4. Right to erasure (“right to be forgotten”)</span></a></li>\n<li><a href=\"#5-Right-to-restriction-of-processing\"><span>5. Right to restriction of processing</span></a></li>\n<li><a href=\"#6-Right-to-data-portability\"><span>6. Right to data portability</span></a></li>\n<li><a href=\"#7-Right-to-withdraw-consent\"><span>7. Right to withdraw consent</span></a></li>\n<li><a href=\"#8-Right-to-object\"><span>8. Right to object</span></a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"#IV-California\"><span>IV. California</span></a></p>\n</li>\n</ul><h2 id=\"I-General-information\" data-id=\"I-General-information\"><span>I. General information</span></h2><p><span>This section of the data privacy statement contains information on the scope of validity, the person responsible for data processing (controller), the data protection officer and data security. It also begins with a list of definitions of important terms used in the data privacy statement.</span></p><h3 id=\"1-Definition-of-main-terms\" data-id=\"1-Definition-of-main-terms\"><span>1. Definition of main terms</span></h3><p><strong><span>Browser:</span></strong><span> Computer program used to display websites (e.g. Chrome, Firefox, Safari)</span></p><p><strong><span>Cookies:</span></strong><span> Text files placed on the user’s computer by the web server by means of the browser which is used. The stored cookie information may contain both an identifier (cookie ID) for recognition purposes and content data, such as login status or information about websites visited. The </span><ins><span>browser</span></ins><span> sends the cookie information back to the web server with each new request upon subsequent repeat visits to these sites. Most </span><ins><span>browsers</span></ins><span> accept </span><ins><span>cookies</span></ins><span> automatically. </span><ins><span>Cookies</span></ins><span> can be managed using the browser functions (usually under “Options” or “Settings”). The storage of </span><ins><span>cookies</span></ins><span> may be disabled in this way or it may be made dependent on the user’s approval in any given case or otherwise restricted. </span><ins><span>Cookies</span></ins><span> may also be deleted at any time.</span></p><p><strong><span>Third countries:</span></strong><span> Countries outside of the European Union (EU)</span></p><p><strong><span>GDPR:</span></strong><span> Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the </span><ins><span>processing</span></ins><span> of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation), available </span><a href=\"https://gdpr.eu/\" target=\"_blank\" rel=\"noopener\"><span>here</span></a><span>.</span></p><p><strong><span>Personal data:</span></strong><span> Any information relating to an identified or identifiable natural person. An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier, such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.</span></p><p><strong><span>Profiling:</span></strong><span> Any form of automated </span><ins><span>processing</span></ins><span> of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person’s performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements.</span></p><p><strong><span>Services:</span></strong><span> Our offers to which this data privacy statement applies (cf. Scope of validity).</span></p><p><strong><span>Tracking:</span></strong><span> The collection of data and their evaluation regarding the behaviour of visitors in response to our services.</span></p><p><strong><span>Tracking technologies:</span></strong><span> Actions can be </span><ins><span>tracked</span></ins><span> either via the activity records stored on our web servers (log files) or by collecting data from end devices via </span><ins><span>pixels</span></ins><span>, </span><ins><span>cookies</span></ins><span> or similar </span><ins><span>tracking</span></ins><span> technologies.</span></p><p><strong><span>Processing:</span></strong><span> Any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction.</span></p><p><strong><span>Pixel:</span></strong><span> </span><ins><span>Pixels</span></ins><span> are also called tracking pixels, web beacons or web bugs. These are small, invisible graphics in HTML emails or on websites. When a document is opened, this small image is downloaded from a server on the Internet and the download is registered there. This allows the operator of the server to see if and when an email has been opened or a website has been visited. This function is usually carried out by calling up a small program (JavaScript). Certain types of information can be detected on your computer system in this way and shared, such as the content of </span><ins><span>cookies</span></ins><span>, the time and date of the visit, and a description of the page on which the tracking pixel is located.</span></p><h3 id=\"2-Scope-of-validity\" data-id=\"2-Scope-of-validity\"><span>2. Scope of validity</span></h3><p><span>This data privacy statement applies to the following services:</span></p><ul>\n<li><span>Our </span><strong><span>online offering “WhoTracks​.​Me”</span></strong><span> (website), mainly available at </span><a href=\"https://whotracks.me/\" target=\"_blank\" rel=\"noopener\"><span>https://whotracks.me</span></a></li>\n<li><span>Whenever reference is made to this data privacy statement from one of our offers (e.g. websites, subdomains, links to third-party sites), regardless of the way in which it is accessed or used.</span></li>\n</ul><p><span>All of these offers are also collectively referred to as “</span><ins><span>services</span></ins><span>”.</span></p><h3 id=\"3-Controller\" data-id=\"3-Controller\"><span>3. Controller</span></h3><p><span>The following party is responsible for the processing of data in relation to the services, i.e. the role of controller which involves determining the purposes and means of processing personal data:</span></p><pre><code>Ghostery GmbH\nArabellastraße 23\n81925 München, Germany\nEmail: info@ghostery.com\n</code></pre><h3 id=\"4-Data-protection-officer\" data-id=\"4-Data-protection-officer\"><span>4. Data protection officer</span></h3><p><span>The contact details of our data protection officer are given in paragraph 3. Messages should be marked for the attention of the data privacy department or sent via </span><a href=\"mailto:privacy@ghostery.com\" target=\"_blank\" rel=\"noopener\"><span>privacy@ghostery.com</span></a><span>.</span></p><h2 id=\"II-Details-of-data-processing\" data-id=\"II-Details-of-data-processing\"><span>II. Details of data processing</span></h2><h3 id=\"1-General-information-about-the-data-processing-operations\" data-id=\"1-General-information-about-the-data-processing-operations\"><span>1. General information about the data processing operations</span></h3><p><span>The following applies to all the processing operations listed below, unless stated otherwise:</span></p><h4 id=\"a-No-obligation-to-provide-personal-data-amp-consequences-of-failure-to-provide-such-data\" data-id=\"a-No-obligation-to-provide-personal-data-amp-consequences-of-failure-to-provide-such-data\"><span>a) No obligation to provide personal data &amp; consequences of failure to provide such data</span></h4><p><span>The provision of personal data is not required by law or contract, and you are under no obligation to provide any data. We will inform you during the data entry process when personal information must be provided for the relevant service (e.g. by indicating “mandatory field”). In cases where the provision of data is required, the consequence of not providing data will be that the service in question cannot be provided. Otherwise, failure to provide data may result in our inability to provide our services in the same form and quality.</span></p><h4 id=\"b-Consent\" data-id=\"b-Consent\"><span>b) Consent</span></h4><p><span>In various cases, you may also grant us your consent to the further processing of data (or some of the data, where applicable) in connection with the operations listed below. In this case, we will inform you separately in connection with the submission of the respective declaration of consent about all the procedures and the scope of the consent and concerning the purposes which we pursue in these processing operations. The processing operations based on your consent are therefore not listed again here (Art. 13 (4) GDPR).</span></p><h4 id=\"c-Transfer-of-personal-data-to-third-countries\" data-id=\"c-Transfer-of-personal-data-to-third-countries\"><span>c)\tTransfer of personal data to third countries</span></h4><p><span>When we send data to third countries, i.e. countries outside of the European Union, the data are then transmitted strictly in compliance with the statutory conditions of admissibility.</span>\n<span>If the transmission of the data to a third country does not serve the purpose of fulfilling our contract with you, if we do not have your consent, if the transmission is not required for asserting, exercising or defending legal claims, and if no other exemption applies under Art. 49 GDPR, we will only transmit your data to a third country if in possession of an adequacy decision pursuant to Art. 45 GDPR or appropriate guarantees under Art. 46 GDPR.</span>\n<span>In order to ensure an adequate level of data protection, we provide appropriate safeguards pursuant to Art. 46 (2) c) GDPR by the conclusion of EU standard data protection clauses adopted by the European Commission with the receiving body. Copies of the standard EU data protection clauses are available on the website of the European Commission here.</span></p><h4 id=\"d-Hosting-at-external-service-providers\" data-id=\"d-Hosting-at-external-service-providers\"><span>d)\tHosting at external service providers</span></h4><p><span>Our data processing work is carried out to a large extent with the involvement of hosting service providers who provide us with storage space and processing capacities at their data centres and who also process personal data on our behalf according to our instructions. It may be the case that personal data are transmitted to hosting service providers in respect of all of the functions listed below. These service providers process data either exclusively in the EU or subject to guaranteed levels of data protection which we have put in place based on the standard EU data protection clauses (cf. subsection c).</span></p><h4 id=\"e-Transmission-to-government-authorities\" data-id=\"e-Transmission-to-government-authorities\"><span>e)\tTransmission to government authorities</span></h4><p><span>In principle, we do not transmit any data to government authorities.</span>\n<span>We only send personal information to government authorities (including law enforcement agencies) when required to fulfil a legal obligation to which we are subject (legal basis: Art. 6 (1) c) GDPR) or when it is necessary for the assertion, exercise or defence of legal claims (legal basis: Art. 6 (1) f) GDPR).</span></p><h4 id=\"f-Period-of-storage\" data-id=\"f-Period-of-storage\"><span>f)\tPeriod of storage</span></h4><p><span>The time specified in the “period of storage” paragraph indicates how long we use the data for the relevant purposes in any given case. At the end of this period, the data will no longer be processed by us but will be erased at regular intervals, unless continued processing and storage are required by law (mainly because it is necessary to fulfil a legal obligation or for the establishment, exercise or defence of legal claims) or unless you grant us extended consent.</span></p><h4 id=\"g-Data-categories\" data-id=\"g-Data-categories\"><span>g)\tData categories</span></h4><p><span>The category names listed below are used for specific types of data in the following sections:</span></p><ul>\n<li><strong><span>Contact data:</span></strong><span> Email address(es)</span></li>\n<li><strong><span>Access data:</span></strong><span> Date and time of visit to our services; the page from which the system accessed our site (“referrer”); information about the interaction of logged in users with our products; session identification data (session ID), as well as the following information relating to the computer system accessing the service: Internet Protocol address used (IP address), browser type, browser version, device type, operating system and similar technical information.</span></li>\n</ul><h3 id=\"2-Accessing-our-services\" data-id=\"2-Accessing-our-services\"><span>2. Accessing our services</span></h3><p><span>The passages below set out how your personal data are processed when you access our services (e.g., loading and viewing the website, opening the mobile app and navigating within the app). We would point out that it is impossible not to send access data to external content providers (cf. subsection b) due to the technical processes involved in transmitting information over the Internet. The third-party providers are themselves responsible for the privacy-compliant operation of the IT systems which they use. The service providers are required to decide how long the data will be stored.</span></p><h4 id=\"a-Purposes-of-data-processing-legal-basis-legitimate-interests-where-applicable-and-period-of-storage\" data-id=\"a-Purposes-of-data-processing-legal-basis-legitimate-interests-where-applicable-and-period-of-storage\"><span>a)\tPurposes of data processing, legal basis, legitimate interests (where applicable), and period of storage</span></h4><ul>\n<li>\n<p><strong><span>Data category:</span></strong></p>\n<p><span>Access data</span></p>\n</li>\n<li>\n<p><strong><span>Purpose:</span></strong></p>\n<p><span>Establishing connection; presenting contents of the service; detecting attacks on our site due to unusual activities; fault diagnosis</span></p>\n</li>\n<li>\n<p><strong><span>Legal basis:</span></strong></p>\n<p><span>Art. 6 (1) f) GDPR</span>\n<span>Our legitimate interest: Proper functioning of the services; security of data and business processes; prevention of misuse; prevention of damage through interference in information systems</span></p>\n</li>\n<li>\n<p><strong><span>Period of storage:</span></strong></p>\n<p><span>Four weeks</span></p>\n</li>\n</ul><h4 id=\"b-Recipients-of-the-personal-data\" data-id=\"b-Recipients-of-the-personal-data\"><span>b)\tRecipients of the personal data</span></h4><ul>\n<li>\n<p><strong><span>Recipient category:</span></strong></p>\n<p><span>External content providers who provide content which is needed to display the service (e.g. images, videos, embedded postings from social networks, banner ads, fonts, update information, shortened links) as well as IT Security Service Provider</span></p>\n</li>\n<li>\n<p><strong><span>Data concerned:</span></strong></p>\n<p><span>Access data</span></p>\n</li>\n<li>\n<p><strong><span>Legal Basis:</span></strong></p>\n<p><span>Art. 6 (1) f) GDPR</span>\n<span>Our legitimate interest: Proper functioning of the services; (accelerated) display of content; Prevention of attacks through exploitation of security gaps/vulnerabilities</span></p>\n<p><span>Email address; Personal master data; Newsletter usage profile data</span></p>\n</li>\n<li>\n<p><strong><span>Purpose:</span></strong></p>\n<p><span>Verification of the registration process (“double opt-in”) including traceability of registrations and unsubscriptions (“logging”); sending and designing the newsletter according to interests; measurement of opening and click rates for the purpose of optimising our newsletter service.</span></p>\n</li>\n<li>\n<p><strong><span>Period of storage:</span></strong></p>\n<p><span>Personal data is deleted as soon as its further processing is no longer necessary for the respective purpose and legal retention periods do not prevent deletion. This is regularly the case upon receipt of your withdrawal. In the event of your withdrawal, however, we reserve the right to store your e-mail address for the purpose of proving that you have previously given your consent. This storage is solely for the purpose of defending possible legal claims.</span></p>\n</li>\n</ul><h3 id=\"3-Downloads-tracker-data\" data-id=\"3-Downloads-tracker-data\"><span>3. Downloads (tracker data)</span></h3><p><span>The download of our complete data set on the largest and longest measurement of online tracking can be performed at Github. For this purpose we link directly to our repository.</span></p><h3 id=\"4-Contacting-WhoTracksMe\" data-id=\"4-Contacting-WhoTracksMe\"><span>4. Contacting WhoTracks.Me</span></h3><p><span>We invite our visitors to send us an email for any question or concern they might have. The tables below show how your personal data are processed when you contact our customer support.</span></p><h4 id=\"a-Purposes-of-data-processing-legal-basis-legitimate-interests-where-applicable-and-period-of-storage1\" data-id=\"a-Purposes-of-data-processing-legal-basis-legitimate-interests-where-applicable-and-period-of-storage\"><span>a) Purposes of data processing, legal basis, legitimate interests (where applicable), and period of storage</span></h4><ul>\n<li>\n<p><strong><span>Data category:</span></strong></p>\n<p><span>Personal master data; contact details; e-mail address; contents of enquiries/complaints</span></p>\n</li>\n<li>\n<p><strong><span>Purpose:</span></strong></p>\n<p><span>Processing of customer feedback, enquiries, and user complaints</span></p>\n</li>\n<li>\n<p><strong><span>Legal basis:</span></strong></p>\n<p><span>Art. 6 (1) b) and f) GDPR</span></p>\n<p><span>Our legitimate interest: Improvement of our service; increase in customer loyalty</span></p>\n</li>\n<li>\n<p><strong><span>Period of storage:</span></strong></p>\n<p><span>We retain any personal data related to user-submitted email during the processing of the inquiry. We delete these tickets after 6 months of inactivity.</span></p>\n</li>\n</ul><h3 id=\"b-Recipients-of-the-personal-data1\" data-id=\"b-Recipients-of-the-personal-data\"><span>b) Recipients of the personal data</span></h3><ul>\n<li>\n<p><strong><span>Recipient category:</span></strong></p>\n<p><span>IT service providers</span></p>\n</li>\n<li>\n<p><strong><span>Data concerned:</span></strong></p>\n<p><span>All data listed under (a) in this section</span></p>\n</li>\n<li>\n<p><strong><span>Legal Basis:</span></strong></p>\n<p><span>Art. 28 GDPR</span></p>\n</li>\n</ul><h3 id=\"5-Web-Analytics\" data-id=\"5-Web-Analytics\"><span>5. Web Analytics</span></h3><p><span>This website uses no analytics.</span></p><h2 id=\"III-Rights-of-data-subjects\" data-id=\"III-Rights-of-data-subjects\"><span>III. Rights of data subjects</span></h2><h3 id=\"1-Right-to-object\" data-id=\"1-Right-to-object\"><span>1. Right to object</span></h3><p><strong><span>If we process your personal data for direct marketing purposes, you have the right to object at any time to the processing of your personal data for such marketing with future effect.</span></strong></p><p><span>You also have the right, at any time with future effect and for reasons pertinent to your particular situation, to object to the processing of your personal data in accordance with Art. 6 (1) e) or f) GDPR; this also applies to any profiling based on these provisions. The right to object may be exercised free of charge. In order to be able to process your request faster, please reach us by emailing us at </span><a href=\"mailto:privacy@ghostery.com\" target=\"_blank\" rel=\"noopener\"><span>privacy@ghostery.com</span></a><span>.</span></p><h3 id=\"2-Right-of-access\" data-id=\"2-Right-of-access\"><span>2. Right of access</span></h3><p><span>You have the right to obtain confirmation from us as to whether or not personal data concerning you are being processed and, where that is the case, to access the personal data and the other information listed in Art. 15 GDPR.</span></p><h3 id=\"3-Right-to-rectification\" data-id=\"3-Right-to-rectification\"><span>3. Right to rectification</span></h3><p><span>You have the right to obtain from us without undue delay the rectification of incorrect personal data concerning you (Art. 16 GDPR). Taking into account the purposes of the processing, you have the right to have incomplete personal data completed, including by means of providing a supplementary statement.</span></p><h3 id=\"4-Right-to-erasure-“right-to-be-forgotten”\" data-id=\"4-Right-to-erasure-“right-to-be-forgotten”\"><span>4. Right to erasure (“right to be forgotten”)</span></h3><p><span>You have the right to obtain from us the erasure of personal data concerning you without undue delay if one of the grounds listed in Art. 17 (1) GDPR is applicable and the processing operations are not required for one of the purposes approved in Art. 17 (3) GDPR.</span></p><h3 id=\"5-Right-to-restriction-of-processing\" data-id=\"5-Right-to-restriction-of-processing\"><span>5. Right to restriction of processing</span></h3><p><span>You are entitled to obtain from us the restriction of the processing of your personal data where one of the conditions laid down in Art. 18 (1) a) to d) GDPR is met.</span></p><h3 id=\"6-Right-to-data-portability\" data-id=\"6-Right-to-data-portability\"><span>6. Right to data portability</span></h3><p><span>You have the right, in respect of the personal data which you have given us, to be provided with these data in a structured, commonly used and machine-readable format and the right to send these data to another controller without any hindrance on our part, insofar as the requirements set out in Art. 20 (1) GDPR are met. In exercising your right to data portability, you have the right to have the personal data transmitted directly by us to another controller where technically feasible.</span></p><h3 id=\"7-Right-to-withdraw-consent\" data-id=\"7-Right-to-withdraw-consent\"><span>7. Right to withdraw consent</span></h3><p><span>If the processing is based on your consent, you have the right to revoke your consent at any time. This will not affect the legality of the processing operations on the basis of the consent until such time as the revocation takes effect.</span></p><h3 id=\"8-Right-to-object\" data-id=\"8-Right-to-object\"><span>8. Right to object</span></h3><p><span>You have the right to lodge a complaint with the supervisory authority responsible for our company. The supervisory authority responsible for our company is as follows:</span></p><pre><code>Bayerisches Landesamt für Datenschutzaufsicht\nPromenade 18\n91522 Ansbach\npoststelle@lda.bayern.de\n</code></pre><h2 id=\"IV-California\" data-id=\"IV-California\"><span>IV. California</span></h2><p><span>For residents of California, please see our Privacy Policy Supplemental Notice – California.</span></p></div>\n<!-- end (exported from hack.md markdown) -->\n\n</div>\n{% endblock %}\n"
  },
  {
    "path": "templates/reach-chart-page.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n    <title>WhoTracks.me | Who Tracks the Most</title>\n    <meta name=\"description\" content=\"The reach of trackers grouped by companies that own them.\">\n{% endblock %}\n\n{% block extra_styling %}\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/companies/reach-chart.css\">\n{% endblock %}\n\n{% block content %}\n<section class=\"grey-bg top-buffer\">\n    <div class=\"container\">\n        <div class=\"row home-plot\">\n            <div class=\"col-md-8\">\n                <div class=\"row\">\n                    <div class=\"col-md-9 col-sm-9\">\n                        <h2 class=\"plot-title\">Company Tracking Reach</h2>\n                        <p class=\"plot-subtitle\">\n                            Proportion of the web traffic tracked their trackers.\n                        </p>\n                    </div>\n                </div>\n            </div>\n            <div class=\"col-md-4 checkout\">\n                <h4>READ OUR PAPER:</h4>\n\n                    <i class=\"fa fa-file-text-o\"></i>\n                    <span style=\"font-size: 13px\">\n                        <a\n                            target=\"_blank\"\n                            href=\"https://arxiv.org/abs/1804.08959\">\n                            WhoTracksMe 2018\n                        </a>\n                    </span>\n\n            </div>\n        </div>\n        {{ chart }}\n        <p class=\"plot-caption\">Generated from Ghostery Anti-Tracking data</p>\n    </div>\n</section>\n{% endblock %}"
  },
  {
    "path": "templates/tracker-not-found.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n    <title>WhoTracks.me | Tracker Not Found </title>\n    <meta name=\"description\" content=\"We don't have a profile of this tracker yet, as it's not very popular.  We are constantly adding more data on trackers, so make sure you check again in the future.\">\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"WhoTracks.me | Tracker Not Found\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https://whotracks.me/tracker-not-found.html\">\n    <meta property=\"og:description\" content=\"We don't have a profile of this tracker yet, as it's not very popular.  We are constantly adding more data on trackers, so make sure you check again in the future.\">\n{% endblock %}\n\n{% block content %}\n<div style=\"height: 100vh\">\n    <div class=\"container\">\n        <h1 style=\"margin-top: 200px;\">Tracker Profile missing</h1>\n        <p>This tracker is not very popular, hence we don't have a profile on it yet. We are constantly adding more data on\n            trackers, so make sure you check again in the future.\n\n            Meanwhile, have you seen our <a href=\"/trackers.html\">list of trackers</a>?</p>\n    </div>\n</div>\n{% endblock %}\n"
  },
  {
    "path": "templates/tracker-page.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n    <title>Tracker | {{ app.tracker | get_app_name }}</title>\n    <meta name=\"description\" content=\"Tracker profile of {{ app.tracker | get_app_name  }}. Reach, domains it operates under, tracking technology, web presence by type of site and more.\">\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"Tracker | {{ app.tracker | get_app_name  }}\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https://whotracks.me/{{ 'tracker'|url_for(app.tracker) | absolute_og_urls }}\">\n    <meta property=\"og:description\" content=\"Tracker profile of {{ app.tracker | get_app_name }}. Reach, domains it operates under, tracking technology, web presence by type of site and more.\">\n{% endblock %}\n\n\n<!-- Setting some vars used by breadcrumbs and navbar -->\n{% set active_page='trackers' %}\n{% set active_page_name=profile.name %}\n\n\n{% block extra_styling %}\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/trackers/profile.css\">\n{% endblock %}\n\n\n{% block content %}\n<script type=\"text/javascript\">\n$(document).ready(function() {\n    var operates_under_selector = '#operates-under p',\n        $operates_under_list = $(operates_under_selector),\n        operates_list_size = $operates_under_list.length,\n        items_to_show = 2,\n        $expand = $('.operates-expand'),\n        $collapse = $('.operates-collapse');\n    $(operates_under_selector + ':lt(' +items_to_show+')').show();\n    $expand.click(function(e) {\n        items_to_show = operates_list_size;\n        $(operates_under_selector + ':lt('+items_to_show+')').show();\n        if(items_to_show === operates_list_size) {\n            $collapse.removeClass('hidden');\n            $expand.addClass('hidden');\n        }\n    });\n\n    $collapse.click(function() {\n        $(this).addClass('hidden');\n        $expand.removeClass('hidden');\n        $operates_under_list.not(':lt(2)').hide();\n    });\n\n});\n</script>\n<div id=\"tracker-page\" class=\"overview-page\">\n    <div id=\"overview-header\">\n        <div class=\"container\">\n            <div class=\"row overview-info inverse\">\n                {% include \"components/trackers/header.html\" %}\n            </div>\n        </div>\n    </div>\n\n    <div id=\"similar-trackers\">\n        <div class=\"container\">\n            <div class=\"row\">\n                <div class=\"col-md-6 col-sm-6 col-xs-12\">\n                    <div class=\"row tracker-category\">\n                        <div class=\"col-md-11\">\n                        <h4>TRACKER CATEGORY</h4>\n                        {% if profile.category %}\n                            <span class=\"cat-item\">\n                                <i class=\"fa fa-circle\" style=\"color: {{ TRACKER_CATEGORIES[profile.category] }}\" aria-hidden=\"true\"></i>\n                                {{profile.category|prettify_label}}\n                            </span>\n                            <p class=\"tracker-desc\">{{CATEGORY_DESC[profile.category]}}</p>\n                        {% else %}\n\n                            <span class=\"cat-item\">\n                                <i class=\"fa fa-circle\" style=\"color: {{ TRACKER_CATEGORIES['misc'] }}\" aria-hidden=\"true\"></i>\n                                misc\n                            </span>\n                            <p class=\"tracker-desc\">\n                                {{ CATEGORY_DESC[\"misc\"]}}\n                            </p>\n                        {% endif %}\n                        <p>\n                            <i class=\"fa fa-info-circle\"></i>\n                            <a href=\"{{PATHS.blog}}/tracker_categories.html\">Learn about our tracker categories</a>\n                        </p>\n                        <p>\n                            <i class=\"fa fa-info-circle\"></i>\n                            <a href=\"{{PATHS.blog}}/what_is_a_tracker.html\">What is a tracker?</a>\n                        </p>\n                        </div>\n                    </div>\n                </div>\n\n                <div class=\"col-md-6  col-sm-6 col-xs-12\">\n                    <h4>SIMILAR TRACKERS</h4>\n                    <ul>\n                        {% for tracker in similar_trackers %}\n                            <li>\n                                <a href=\"{{ 'tracker'|url_for(tracker.id) }}\" class=\"entity-name\">\n                                {{ tracker.id|get_app_name }}\n                                </a>\n                                {% if tracker.company_id %}\n                                    <span>\n                                        {{ tracker.company_id|get_company_name }}\n                                    </span>\n                                {% endif %}\n                            </li>\n                        {% endfor %}\n                    </ul>\n                </div>\n            </div>\n        </div>\n    </div>\n\n    <section id=\"tag-cloud\">\n        <div class=\"container\">\n            <div class=\"row\">\n                <h2 class=\"title\">Presence on top sites</h2>\n                {% if sites_by_cat|length > 0 %}\n                    {% include \"components/tag_cloud.html\" %}\n                {% endif %}\n            </div>\n        </div>\n    </section>\n</div>\n\n{% endblock %}"
  },
  {
    "path": "templates/trackers.html",
    "content": "{% extends \"base.html\" %}\n{% block title %}\n    <title>WhoTracks.me | Trackers</title>\n    <meta name=\"description\" content=\"Most prevalent trackers on the web for advertising, analytics, customer interaction and others. Updated monthly.\">\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"WhoTracks.me | Trackers\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https://whotracks.me/trackers.html\">\n    <meta property=\"og:description\" content=\"Most prevalent trackers on the web for advertising, analytics, customer interaction and others. Updated monthly.\">\n{% endblock %}\n\n\n{% set active_page='trackers' %}\n\n{% block content %}\n\n{% block extra_styling %}\n    <link rel=\"stylesheet\" href=\"{{ PATHS.static }}/css/trackers/list.css\">\n{% endblock %}\n\n<!-- Main HEADER graph with company reach -->\n<section class=\"trackers-list dark-page\">\n    <div class=\"container\">\n        <div class=\"header\">\n          <h1>\n            <span>TRACKERS RANK</span>\n            <span class=\"sub-title\">Top {{ tracker_list|count }} most prevalent trackers on the web</span>\n          </h1>\n          <span class=\"subtitle\">Sort by: </span>\n        </div>\n        <div class=\"inverse\">\n          {% include 'components/tracker-list.html' %}\n        </div>\n    </div>\n</section>\n<!-- END of Main HEADER Graph -->\n\n{% endblock %}"
  },
  {
    "path": "templates/website-not-found.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n    <title>WhoTracks.me | Website Profile Not Found</title>\n    <meta name=\"og:description\" content=\"We don't have a profile of this site yet. We are constantly adding more data on popular sites, so make sure you check again in the future.\">\n{% endblock %}\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"WhoTracks.me | Website Profile Not Found\">    \n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:url\" content=\"https://whotracks.me/website-not-found.html\">\n    <meta property=\"og:description\" content=\"We don't have a profile of this site yet. We are constantly adding more data on popular sites, so make sure you check again in the future.\">\n{% endblock %}\n\n{% block content %}\n<div style=\"height: 100vh\">\n    <div class=\"container\">\n        <h1 style=\"margin-top: 200px;\">Website Profile missing</h1>\n        <p>We don't have a profile of this site yet. We are constantly adding more data on\n            popular sites, so make sure you check again in the future.\n\n            Meanwhile, have you seen our <a href=\"/websites.html\">list of websites</a>?</p>\n    </div>\n</div>\n{% endblock %}\n"
  },
  {
    "path": "templates/website-page.html",
    "content": "{% extends \"base.html\"  %}\n\n{% block title %}\n    <title>Website | {{ profile.name }}</title>\n    <meta name=\"description\" content=\"Tracking landscape on {{ profile.name }}. Percentage of pages you are tracked, average number of trackers per page, data-sharing with third parties and more.\">\n{% endblock %}\n\n\n{% block og_params %}\n    <!-- OG params for sharable content -->\n    <meta property=\"og:title\" content=\"Website | {{ profile.name }}\" />\n    <meta property=\"og:type\" content=\"website\" />\n    <meta property=\"og:url\" content=\"https://whotracks.me/{{ 'site'|url_for(profile.name)|absolute_og_urls }}\" />\n    <meta property=\"og:description\" content=\"Tracking landscape on {{ profile.name }}. Percentage of pages you are tracked, average number of trackers per page, data-sharing with third parties and more.\" />\n{% endblock %}\n\n\n<!-- Setting some vars used by breadcrumbs and navbar -->\n{% set active_page='websites' %}\n{% set active_page_name=profile.name %}\n\n\n{% block extra_styling %}\n    <link rel=\"stylesheet\" href=\"{{PATHS.static}}/css/websites/profile.css\">\n{% endblock %}\n\n{% block content %}\n<div id=\"website-page\" class=\"overview-page\">\n    <div id=\"overview-header\">\n        <div class=\"container\">\n            <div class=\"row\">\n                {% include \"components/websites/header.html\" %}\n            </div>\n        </div>\n    </div>\n\n    {% if tracker_list|length > 0 %}\n    <section>\n        <div class=\"container\">\n            <h3 class=\"title\">TRACKER MAP</h3>\n            <div class=\"row plot-label\">\n                <div class=\"col-md-6 col-sm-6\">\n                    TRACKER CATEGORIES\n                </div>\n                <div class=\"col-md-6 col-sm-6 pull-right\" style=\"text-align: right\">\n                    <span class=\"plot-subtitle\">TRACKING</span> COMPANIES\n                </div>\n            </div>\n            {{ sankey  }}\n        </div>\n    </section>\n\n    <section>\n        <div class=\"container\">\n            <h3 class=\"title\">Trackers Seen</h3>\n            <p class=\"subtitle\">\n               {% include \"components/websites/tracker-list.html\" %}\n            </p>\n        </div>\n    </section>\n    {% endif %}\n</div>\n\n{% endblock %}\n"
  },
  {
    "path": "templates/websites.html",
    "content": "{% extends \"base.html\" %}\n\n{% block title %}\n    <title>WhoTracks.me | Websites</title>\n    <meta name=\"description\" content=\"Tracking landscape in the most popular sites. Updated monthly.\">\n{% endblock %}\n\n\n{% block og_params %}\n  <!-- OG params for sharable content -->\n  <meta property=\"og:title\" content=\"WhoTracks.me | Websites\">\n  <meta property=\"og:type\" content=\"website\">\n  <meta property=\"og:url\" content=\"https://whotracks.me/websites.html\">\n  <meta property=\"og:description\" content=\"Tracking landscape in the most popular sites. Updated monthly.\">\n{% endblock %}\n\n\n{% set active_page='websites' %}\n\n{% block extra_styling %}\n    <link rel=\"stylesheet\" href=\"{{ PATHS.static }}/css/websites/overview.css\">\n{% endblock %}\n\n{% block content %}\n\n<!-- Website List -->\n<section class=\"websites-page\">\n  <div class=\"container\">\n    <div class=\"row info-box\">\n      <div class=\"col-md-4 col-sm-4\">\n        <div class=\"row\">\n          <div class=\"col-md-8\">\n            <div class=\"percentage\">\n              {{header_numbers.have_trackers|to_percentage}}%\n            </div>\n            <p>Proportion of traffic to top {{ website_list|count }} sites containing trackers\n            </p>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"col-md-4 col-sm-4\">\n        <div class=\"row\">\n          <div class=\"col-md-8\">\n            <div class=\"percentage\">\n                {{header_numbers.average_nr_trackers|int}}\n            </div>\n            <p>Average number of trackers present on a site</p>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"col-md-4 col-sm-4\">\n        <div class=\"row\">\n          <div class=\"col-md-8\">\n            <div class=\"percentage\">\n                {{header_numbers.tracker_requests}}\n            </div>\n            <p>Average number of requests per page that track you</p>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n\n  <hr/>\n\n  <div class=\"container\">\n    <h2>Number of trackers on the most visited domains</h2>\n    <span class=\"subtitle\">Sort by: </span>\n    <div>\n      {% include 'components/website-list.html' %}\n    </div>\n  </div>\n</section><!-- END of Website List -->\n\n{% endblock %}\n"
  },
  {
    "path": "tests/__init__.py",
    "content": ""
  },
  {
    "path": "tests/test_data_integrity.py",
    "content": "from operator import itemgetter\nimport unittest\n\nfrom whotracksme.data import load_tracker_db, DataSource\n\n\nclass TestDataIntegrity(unittest.TestCase):\n\n    def setUp(self):\n        self.conn = load_tracker_db()\n        self.ds = DataSource()\n\n    def test_all_trackers_have_db_entry(self):\n        trackers = self.ds.trackers\n        cur = self.conn.cursor()\n        app_ids = [row.id for row in trackers.get_snapshot()]\n        db_trackers = cur.execute('select id, category_id from trackers where id IN ({}) order by id'.format(\n            ','.join([\"'{}'\".format(id) for id in app_ids])\n        )).fetchall()\n        self.assertEqual(set(app_ids), set(map(itemgetter(0), db_trackers)))\n        # check all have a category\n        without_category = list(filter(lambda tracker: tracker[1] is None, db_trackers))\n        self.assertEqual([], without_category)\n\n    def test_all_companies_have_db_entry(self):\n        companies = self.ds.companies\n        cur = self.conn.cursor()\n        company_ids = sorted([row.id for row in companies.get_snapshot()])\n\n        # company_id can be a company id or tracker id\n        db_companies = cur.execute('select id from companies where id IN ({}) order by id'.format(\n            ','.join([\"'{}'\".format(id) for id in company_ids])\n        )).fetchall()\n        db_trackers = cur.execute('select id, category_id from trackers where id IN ({}) order by id'.format(\n            ','.join([\"'{}'\".format(id) for id in company_ids])\n        )).fetchall()\n        self.assertEqual(set(company_ids), set(map(itemgetter(0), db_companies)) | set(map(itemgetter(0), db_trackers)))\n\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "tests/test_db_integrity.py",
    "content": "import unittest\n\nfrom whotracksme.data import load_tracker_db\n\n\nclass TestDbIntegrity(unittest.TestCase):\n\n    def setUp(self):\n        self.conn = load_tracker_db()\n\n    def test_all_trackers_have_domains(self):\n        domainless_trackers = self.conn.execute('''select id from\n            (select id, tracker_domains.tracker from trackers left join tracker_domains ON trackers.id = tracker_domains.tracker WHERE alias IS NULL)\n        where tracker is NULL''').fetchall()\n        self.assertEqual(domainless_trackers, [])\n\n    ## Disabled because TrackerDB has \"archived\" entries, which have no active patterns.\n    ## In principle, filtering the \"archived\" ones out would be safe; but it is neither\n    ## sufficent nor possible with only the trackerdb.sql file.\n    ## Overall, maintaining this requirement here does not seem to be worth the effort.\n    ## Instead, whotracks.me should be able to operate with organizations without pattern.\n    ##\n    # def test_companies_have_trackers(self):\n    #     childless_companies = self.conn.execute('''select id FROM\n    #         (select companies.id, trackers.id AS tid from companies left join trackers on trackers.company_id = companies.id)\n    #     where tid is null''').fetchall()\n    #     self.assertEqual(childless_companies, [])\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "tests/test_db_validity.py",
    "content": "import sqlite3\nimport unittest\n\nfrom whotracksme.data import load_tracker_db\n\n\nclass ValidateTrackerDatabase(unittest.TestCase):\n\n    conn = None\n\n    @classmethod\n    def setUpClass(cls):\n        cls.conn = load_tracker_db()\n\n    def test_db_has_trackers(self):\n        cur = self.conn.cursor()\n        cur.execute('SELECT COUNT(*) FROM trackers')\n        count = cur.fetchone()[0]\n        self.assertGreater(count, 0)\n\n    def test_db_has_companies(self):\n        cur = self.conn.cursor()\n        cur.execute('SELECT COUNT(*) FROM companies')\n        count = cur.fetchone()[0]\n        self.assertGreater(count, 0)\n\n    def test_db_has_tracker_domains(self):\n        cur = self.conn.cursor()\n        cur.execute('SELECT COUNT(*) FROM tracker_domains')\n        count = cur.fetchone()[0]\n        self.assertGreater(count, 0)\n\n    def test_no_trackers_without_domain(self):\n        cur = self.conn.cursor()\n        cur.execute('SELECT COUNT(DISTINCT tracker) FROM tracker_domains')\n        domain_tracker_count = cur.fetchone()[0]\n\n        # Only look at tracker groups, ignoring the ones that are (non-trivial) aliases.\n        # Ignore self-referring aliases and treat them like non-aliased entries.\n        cur.execute('SELECT COUNT(DISTINCT id) FROM trackers WHERE alias is NULL or (id = alias)')\n        tracker_count = cur.fetchone()[0]\n        self.assertEqual(domain_tracker_count, tracker_count)\n\n    def test_tracker_ids_ascii(self):\n        cur = self.conn.cursor()\n        cur.execute('SELECT id FROM trackers')\n        trackers = cur.fetchall()\n        for tracker in trackers:\n            try:\n                tracker[0].encode('ascii')\n            except:\n                self.fail(f'\"{tracker[0]}\" is not ascii')\n\n    def test_company_ids_ascii(self):\n        cur = self.conn.cursor()\n        cur.execute('SELECT id FROM companies')\n        companies = cur.fetchall()\n        for company in companies:\n            try:\n                company[0].encode('ascii')\n            except:\n                self.fail(f'\"{company[0]}\" is not ascii')\n\n    def test_domains_ascii(self):\n        cur = self.conn.cursor()\n        cur.execute('SELECT domain FROM tracker_domains')\n        domains = cur.fetchall()\n        for domain in domains:\n            try:\n                domain[0].encode('ascii')\n            except:\n                self.fail(f'\"{domain[0]}\" is not ascii')\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "tests/test_site_categories.py",
    "content": "import unittest\nimport csv\n\nVALID_CATEGORIES = set([\n    \"Adult\",\n    \"Banking\",\n    \"Business\",\n    \"E-Commerce\",\n    \"Entertainment\",\n    \"Government\",\n    \"Health\",\n    \"News and Portals\",\n    \"Political\",\n    \"Recreation\",\n    \"Reference\"\n])\n\ndef iterate_site_categories():\n    with open('./whotracksme/data/assets/site_categories.csv', 'r') as fp:\n        reader = csv.reader(fp, delimiter=',')\n        for line in reader:\n            if reader.line_num == 1:\n                continue\n            yield line\n\n\nclass TestSitesData(unittest.TestCase):\n\n    def test_all_categories_are_valid(self):\n        for site, category in iterate_site_categories():\n            self.assertIsNotNone(site)\n            self.assertTrue('.' in site)\n            self.assertIn(category, VALID_CATEGORIES)\n\n\n    def test_no_repeated_sites(self):\n        sites = set([])\n        for site, category in iterate_site_categories():\n            if site in sites:\n                self.fail(f\"Site {site} included more than once\")\n            sites.add(site)\n\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "tests/test_sites_data.py",
    "content": "import unittest\n\nfrom whotracksme.data import DataSource\n\nclass TestSitesData(unittest.TestCase):\n\n    def test_all_sites_have_category(self):\n        sites = DataSource().sites.get_snapshot()\n        no_category_sites = list(filter(lambda s: s.category == '', sites))\n        self.assertEqual(no_category_sites, [])\n\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "update_trackerdb.sh",
    "content": "#!/bin/bash\n#\n# Downloads the latest trackerdb release (from https://github.com/ghostery/trackerdb),\n# and updates \"whotracksme/data/assets/trackerdb.sql\".\n\n# make sure we are in the directory which contains the script\ncd \"${BASH_SOURCE%/*}\"\n\nlatest_release=$(curl -s -I https://github.com/ghostery/trackerdb/releases/latest | awk '/^location/ { print $2 }' | tr -d '\\r')\nif [[ $latest_release =~ ^https:\\/\\/github\\.com\\/ghostery\\/trackerdb\\/releases\\/tag\\/[0-9]+$ ]]; then\n    echo \"Latest release found: $latest_release\"\nelse\n    echo \"ERROR: Failed to find the latest release.\"\n    exit 1\nfi\n\nversion=\"${latest_release##*/}\"\ntrackerdb_link=\"https://github.com/ghostery/trackerdb/releases/download/${version}/trackerdb.db\"\n\ntmp=$(mktemp)\ntmp2=$(mktemp)\ncleanup() {\n    rm -f \"$tmp\"\n    rm -f \"$tmp2\"\n}\ntrap cleanup EXIT\n\necho \"Downloading file from: ${trackerdb_link}\"\ncurl -s -L -o \"$tmp\" \"$trackerdb_link\"\n\ntarget=whotracksme/data/assets/trackerdb.sql\nsqlite3 \"$tmp\" .dump > \"$tmp2\"\n(echo \"-- Generated from $trackerdb_link\" ; cat \"$tmp2\") > \"$target\"\necho \"trackerdb.sql was successfully generated: $target\"\n"
  },
  {
    "path": "update_trackers_preview.py",
    "content": "\"\"\"\nHelper script to update the trackers-preview.json file.\n\nThe raw input data (aka \"privacy score\") is computed each month but is\ninternal to the processing pipeline. This scripts downloads the data,\nslightly converts it to allow us to publish it.\n\nUsage:\n    update_tracker_preview [INPUT]\n\nArgs:\nFILE: optional local filename (by default, the data is loaded from S3)\n\"\"\"\n\n# To run the unit tests:\n# $ python -m doctest -v update_trackers_preview.py\n\n\nimport os\nfrom docopt import docopt\nimport boto3\nimport re\nimport io\nimport json\n\ndef download_privacy_score(bucket_name, bucket_prefix):\n    \"\"\"\n    Find the latest month, download it and return its content as a dictionary.\n    \"\"\"\n    s3_client = boto3.client('s3')\n    s3_client.get_paginator('list_objects_v2')\n    input_matcher = re.compile(f'^{bucket_prefix}2[0-9][0-9][0-9]-[0-9][0-9][.]json$')\n\n    def iterate_bucket(s3_client, bucket_name, bucket_prefix, input_matcher):\n        pageinator = s3_client.get_paginator('list_objects_v2')\n\n        for page in pageinator.paginate(Bucket=bucket_name, Prefix=bucket_prefix):\n            if page['KeyCount'] == 0:\n                continue\n\n            for item in page['Contents']:\n                if input_matcher.match(item['Key']):\n                    yield item['Key']\n\n    latest_key = max(iterate_bucket(s3_client, bucket_name, bucket_prefix, input_matcher))\n    print(f'Downloading latest_key file s3://{bucket_name}/{latest_key} ...')\n    return json.loads(s3_client.get_object(Bucket=bucket_name, Key=latest_key)['Body'].read())\n\ndef list_known_categories(privacy_score):\n    categories = set()\n    for xs in (list(val['categories'].keys()) for val in privacy_score.values()):\n        categories.update(xs)\n    return categories\n\ndef generate_trackers_preview(privacy_score):\n    \"\"\"\n    Generates a trackers_preview representation.\n\n    >>> generate_trackers_preview(dict()) == { \"categories\": [], \"trackers\": {} }\n    True\n\n    >>> generate_trackers_preview({\n    ...  \"google.com\": {\n    ...     \"site\": \"google.com\",\n    ...     \"some_random_key_to_be_ignored\": \"...\",\n    ...     \"categories\": {\n    ...       \"cdn\": 5,\n    ...       \"audio_video_player\": 1,\n    ...       \"site_analytics\": 1,\n    ...       \"advertising\": 2,\n    ...       \"extensions\": 1,\n    ...       \"essential\": 1,\n    ...       \"misc\": 1,\n    ...       \"social_media\": 1\n    ...     }\n    ...   },\n    ...   \"youtube.com\": {\n    ...     \"site\": \"youtube.com\",\n    ...     \"some_other_key_to_be_ignored\": \"...\",\n    ...     \"categories\": {\n    ...       \"audio_video_player\": 1,\n    ...       \"cdn\": 5,\n    ...       \"advertising\": 3,\n    ...       \"site_analytics\": 2,\n    ...       \"social_media\": 1,\n    ...       \"extensions\": 1,\n    ...       \"essential\": 1\n    ...     }\n    ...   }\n    ... }) == {\n    ...   \"categories\": [\"advertising\", \"audio_video_player\", \"cdn\", \"essential\", \"extensions\", \"misc\", \"site_analytics\", \"social_media\"],\n    ...   \"trackers\": {\n    ...     \"google.com\": [2, 1, 5, 1, 1, 1, 1, 1],\n    ...     \"youtube.com\": [3, 1, 5, 1, 1, 0, 2, 1]\n    ...   }\n    ... }\n    True\n\n    \"\"\"\n    sorted_categories = sorted(list_known_categories(privacy_score))\n    trackers = dict()\n    for entry in privacy_score.values():\n        trackers[entry['site']] = [entry['categories'].get(cat, 0) for cat in sorted_categories]\n    return { 'trackers': trackers, 'categories': sorted_categories }\n\ndef write_json(data, path):\n    with open(path, 'w') as f:\n        f.write(json.dumps(data, separators=(',', ':')))\n    print(f'Successfully generated file: {path}')\n\nif __name__ == \"__main__\":\n    args = docopt(__doc__)\n    local_file = args['INPUT']\n    if local_file:\n        print(f'Loading local file: {local_file} ...')\n        privacy_score = json.loads(open(local_file, mode='r').read())\n    else:\n        bucket_name = 'ghostery-antitracking-data'\n        bucket_prefix = 'privacy-score/site/'\n        privacy_score = download_privacy_score(bucket_name, bucket_prefix)\n\n    trackers_preview = generate_trackers_preview(privacy_score)\n    write_json(trackers_preview, 'whotracksme/data/assets/trackers-preview.json')\n"
  },
  {
    "path": "whotracksme/__init__.py",
    "content": ""
  },
  {
    "path": "whotracksme/data/Readme.md",
    "content": "# Data\n\nThe data for the whotracks.me site is provided here as JSON files, with a SQL database containing tracker information. This document describes the format of the data provided in the `assets` directory.\n\n> Note: Beside the monthly data dump, there is also a separate project for the meta data. It is an open source project called [TrackerDB](https://github.com/ghostery/trackerdb).\n\n## How to get the data\n\nYou have two options to work with the raw data:\n1. Explore the raw data from last month [through the web site](https://www.ghostery.com/whotracksme/explorer)\n1. Download the data locally (including historic data)\n\n### Use the Explorer on the whotracks.me website\n\nThe last month can be directly accessed from website at https://www.ghostery.com/whotracksme/explorer\n\n> Note: The meaning of the column in the explorer in explained in this document (see below).\n\n### Download raw data\n\nYou can also download the datasets from the publicly available Amazon S3 bucket.\n\nFirst, you need to install the AWS CLI client:\n\n- [Linux](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html)\n- [MacOS](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html)\n- [Windows](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-windows.html)\n\n> Note: When building the website, the data is expected to be in `<repo-root>/whotracksme/data/assets` folder.\n\nTo download one month of data (e.g. October 2022):\n\n```sh\ncd <repo-root>/data/assets\naws s3 sync --no-sign-request s3://data.whotracks.me/2022-10 .\n```\n\nYou can also download historic data (back to `2017-05`)):\n\n```sh\ncd <repo-root>/data/assets\naws s3 sync --no-sign-request s3://data.whotracks.me/ .\n```\n\n## Tracker database\n\nGenerally, it is recommend to get the Tracker database directly from the upstream project: https://github.com/ghostery/trackerdb\n\nFor consistency, a snapshot of the tracker database used to generate the monthly data set is also provided in the `assets/trackerdb.sql` file. This is a dump of a SQLite3 database containing the following tables:\n\n * `categories`: Categories for trackers (e.g. `advertising`, `social_media`).\n * `companies`: Metadata on companies: name, description, and various links.\n * `trackers`: Metadata on trackers: name, description, category, website and an optional link to a parent company.\n * `tracker_domains`: Table linking trackers to domain names.\n\n## WhoTracks.me datasets\n\nWhoTracks.me datasets are provided monthly in the `assets//{month}/{country}/{file}.csv` format. A glimpse of the datasets is available in [Explorer](https://www.ghostery.com/whotracksme/explorer) section on the website.\n\n### Data collection\n\nNowadays, the data comes exclusively from users of the [Ghostery Extension](https://github.com/ghostery/ghostery-extension/). Precise user counts are difficult due to the nature of the data collection; but it is estimated to be in the order a few million devices per month, spread all around the world, but mostly in Europe and the US. The methodology is builds on the concept of k-Anonymity and is described in paper [Tracking the Trackers](https://0x65.dev/static/docs/studies/TrackingTheTrackers.pdf). The WhoTracks.me monthly data sets are derived from the same data that also powers the anti-tracking protection in Ghostery; it is also described in [this blog post](https://www.0x65.dev/blog/2019-12-19/blocking-tracking-without-blocking-trackers.html). The code can be found [here](https://github.com/whotracksme/webextension-packages/tree/main/reporting/src/request).\n\nBefore 2018, all traffic came from users of the Cliqz Browser and the Cliqz extension (now both discontinued). Around April 2018, Ghostery users started to contribute to the data set. This both increased the user base and made it more internation (Cliqz was mostly used in German speaking regions). Here are some historical information from the Cliqz side (to help understand data sets before 2020):\n\n* Data was collected from May 2017 from users that used Cliqz browser extension. In Feb 2018, 70% of the data came from German users according to [this](https://web.archive.org/web/20240121094157/https://whotracks.me/blog/update_feb_2018.html) blog post. Then in March 2018, users of Ghostery Firefox extension - and Ghostery extension available for other browsers (Safari, Chrome, Opera and Edge) from users that opted-in to HumanWeb data collection - were added to the dataset. This caused a slight decrease in the avg. no. of trackers in April 2018, since Ghostery users were blocking more trackers. This is explained in [this](https://web.archive.org/web/20240430053538/https://whotracks.me/blog/where_is_the_data_from.html) and [this](https://web.archive.org/web/20240121094145/https://whotracks.me/blog/update_apr_2018.html) blog posts.\n* [This](https://web.archive.org/web/20240121094145/https://whotracks.me/blog/update_apr_2018.html) blog post illustrates where the traffic came from in April 2018: Germany and USA being most representative.\n* [This](https://web.archive.org/web/20241105085238/https://cliqz.com/en/magazine/government-websites-leak-data-to-google-co) blog post notes that WhoTracks.me does not collect data for pages with no trackers; in other words, collected data for all sites contains some number of third-parties and tracking.\n\n### Datasets\n\nThere are five main datasets (unlike the four datasets available in the [explorer](https://www.ghostery.com/whotracksme/explorer) section on the website):\n\n * `sites.csv`: Stats for number of trackers seen on popular websites.\n * `sites_trackers.csv`: Stats for each tracker on each site.\n * `domains.csv`: Top third-party domains seen tracking.\n * `trackers.csv`: Top trackers - this combines domains known be operated by the same tracker.\n * `companies.csv`: Top companies - aggregates the stats for trackers owned by the same company.\n\n> \"We structure each subsection in a way that describes measurements in the perspective of the parties involved: websites, third parties and users. This enables us to better measure the dynamics of the industry.\"\n\n> Note on coverage: every CSV's per-page metrics (`requests`, `cookies`, etc.) are aggregations over third-party activity, regardless of how the rows are keyed. What differs is *which third-party activity is included*. `sites.csv` (keyed on first-party sites) and `domains.csv` (keyed on third-party domains) aggregate over all third parties observed, classified or not. `trackers.csv`, `companies.csv`, and `sites_trackers.csv` only include third parties that have an entry in [TrackerDB](https://github.com/ghostery/trackerdb). As a result, summing per-tracker totals up to a site will systematically undercount the matching `sites.csv` value — the gap is requests to unclassified third parties (e.g. CDNs, fonts, payment providers, smaller domains not in TrackerDB).\n\n### Variable descriptions\n\nThe data is created by aggregating data about page loads at several different levels. Therefore, all five above datasets share similar aggregated variables. The difference therefore, lies in the *perspective* of each dataset. Variable descriptions (\"contexts\" are added to variables for groupings) are given below:\n\n**General context**:\n\n * `site` - one of the most frequently visited websites from a proportion of traffic in certain month. That means that the most popular websites in the dataset were not generated by Alexa or similar services, but by real users. Total number of published most-visited-user-generated sites increased over time: e.g. from 700 most visited sites in 2017 to over 1000 sites in 2020 in Global datasets. Note: average monthly traffic (page loads) of users was around 100 million page loads during 2017, and increased to 300-500 million page loads from April 2018 onward (as described in [this](https://arxiv.org/pdf/1804.08959.pdf#page=2) part of WhoTracks.me paper). String.\n\n * `month` - month of observation. Global traffic data starts from May 2017 and ends with latest GitHub release; EU/US traffic split starts from April 2018 and ends with latest GitHub release. mm-yyyy format string/date.\n \n * `country` - main region where the traffic is coming from: e.g. global, US, EU, DE, FR. String.\n \n * `category` - site's category (in `sites.csv`). Descriptions of website categories (first-parties) are provided [here](https://arxiv.org/pdf/1804.08959v1.pdf#page=14) in Appendix A. String.\n \n * `tracker_category` - tracker's category (in `sites_trackers.csv`). Descriptions of tracker categories are provided [here](https://github.com/ghostery/trackerdb/blob/main/docs/categories.md). String.\n \n * `popularity` - the relative amount of traffic compared to the most popular site (described [here](https://web.archive.org/web/20240121094155/https://whotracks.me/blog/updating_our_tracking_prevalence_metrics.html)). Float between 0 and 1.\n \n**Utilised tracking context (stateful)** – generates more persistant tracking ID by trackers:\n \n * `cookies` - proportion of pages where a cookie was sent by the browser, or a `Set-Cookie` header was returned by the tracker's server. Float between 0 and 1.\n \n**Utilised tracking context (stateless)** – generates less persistant tracking ID by trackers:\n \n * `bad_qs` - proportion of pages where a unique identifier (UID) was detected in the query string parameters sent with a request to this tracker. More on this [here](https://en.wikipedia.org/wiki/Query_string#Tracking). The methodology for this detection can be found in [the paper](https://www.researchgate.net/publication/312638031_Tracking_the_Trackers). Float between 0 and 1.\n \n> \"Note that these detection methods assume that trackers are not obfuscating the identifiers they generate.\"\n \n**Utilised tracking context (stateful + stateless)** – either cookie tracking or fingerprinting context, inclusive:\n\n * `tracked` - proportion of pages where a UID transmission was detected, either via `cookies` or `bad_qs`. Float between 0 and 1.\n \n> \"We define tracking as when a service is able to collect and correlate data across multiple sites.\"\n \n**Secure context** – tracker used HTTPS requests - instead of HTTP - to load its content:\n\n * `https` - proportion of pages where the tracker only used `HTTPS` traffic. Float between 0 and 1.\n \n**Tracking requests context** – we report the mean number of third-party requests per page for each tracker, and the subset of these requests in a tracking context:\n\n * `requests` - average number of requests made to the tracker per page. Positive float.\n \n * `requests_tracking` - average number of requests made to the tracker with tracking (cookie or query string) per page. Positive float.\n \n**Tracking cost context** - how much page loads do trackers clog up by being loaded, more on this in the [Tracker Tax paper](https://web.archive.org/web/20180711021626/https://www.ghostery.com/wp-content/themes/ghostery/images/campaigns/tracker-tax/Ghostery_Study_-_The_Tracker_Tax.pdf):\n \n * `content_length` - average of `Content-Length` headers received per page. This is an approximate measure of the bandwidth usage of the tracker. Expressed in bytes. Positive float.\n \n> \"As users navigate the web, they load content from websites they visit as well as the third parties present on the website. ... Previous studies have found that each extra third party added to the site will contribute to an increase of 2.5% in the site’s loading time.\"\n \n**Tracker's blocking context** – how often the tracker is affected by blocklist-based blockers:\n \n * `requests_failed` - average number of requests make to the tracker per page which do not succeed. In other words, avg. number of failed requests per page load (for comparison with `requests` to get an idea of how aggressive the blocking is). This is an approximate measure of blocking from external sources (i.e. adblocking extensions or firewalls). Measure [added](https://web.archive.org/web/20240121094211/https://whotracks.me/blog/update_dec_2017.html) in Dec 2017. Positive float.\n \n * `has_blocking` - proportion of pages where some kind of external blocking of the tracker was detected. Measure [added](https://web.archive.org/web/20240121094211/https://whotracks.me/blog/update_dec_2017.html) in Dec 2017. Float between 0 and 1.\n \n> \"These signals [`requests_failed` and `has_blocking`] should be able to tell us something about the impact of blocking on different trackers in the ecosystem. For example, we see evidence of blocking 40% of the time for Google Analytics and Facebook [in Dec 2017], and between 10% and 20% of requests failing. Thus, anyone using these services to measure activity and conversions on their sites must reckon with error rates in these orders. We also can see how new entrants can initially avoid the effects of blocking - for Tru Optik and Digitrust who we mentioned earlier, we measure only 5 and 1% of pages which may be affected by blocking.\"\n \n**Tracker's content loading context** – proportion of page loads where specific resource types were loaded by the tracker (e.g. scripts, iframes, plugins)\n\nSignals for the frequency with which certain resource types are loaded by third-parties (measures [added](https://web.archive.org/web/20240121094157/https://whotracks.me/blog/update_feb_2018.html) in Feb 2018):\n \n * `script` - JavaScript code (via a `<script>` tag or web worker).\n \n > \"If a third-party Javascript file is loaded into the page, the third-party is given the ability to modify the page at will, intercept all user input on the page, as well as load any other scripts or third parties they wish. ... any third-party which is permitted to load Javascript in the login document will have to ability to read users’ login information inputted into this page.\"\n \n * `iframe` - a subdocument (via `<frame>` or `<iframe>` elements).\n \n> \"Content loaded into an iFrame context is safer, as this is a sandboxed environment.\"\n \n * `beacon` - requests sent through the [Beacon API](https://w3c.github.io/beacon/). More on this [here](https://web.archive.org/web/20231111075313/https://whotracks.me/blog/tracking_pixel.html):\n \n> \"A tracking pixel, is one of various techniques used on web pages or email, to unobtrusively (usually invisibly) allow checking that a user has accessed some content.\"\n \n * `image` - image and imageset resources.\n \n > \"Loading third-party images in the page allows the third-party to know the page you’re visiting, via the Referer header, your IP address, and may allow them to further track your browser via Cookies\"\n \n * `stylesheet` - [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) files.\n \n * `font` - custom fonts.\n \n * `xhr` - requests made from scripts via the [XMLHttpRequest](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) or [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) APIs.\n \n * `plugin` - requests of `object` or `object_subrequest` types, which are typically associated with browser plugins such as Flash.\n \n * `media` - requests loaded via `<video>` or `<audio>` HTML elements.\n\n> \"By reporting these [above resource types] values we can further characterize tracker behaviours, and quantify risks, such as which trackers are being permitted to load scripts on certain pages. With this data we can see that, for example, Google Analytics loads their script on each page load (98% of the time), then registers the visit via a pixel on 59% of page loads. We also see that on 6% of pages a request is also made via the Beacon API. Similarly, if we look at the Webtrekk tracker, which is present on many popular German websites, we can see that on sensitive websites such as banking (dkb.de) and health insurance (tk.de), the tracker is loaded without scripts. This is at least an indication that in certain contexts website owners are taking care to minimise the potential risk of a third-party being compromised and gathering sensitive information from the page, or even collecting sensitive information by mistake.\"\n\n\n**Tracker's presence context** – there are also counts of presences of other entities in the aggregation. This enables us to, for example, count how many of a tracker's domains they use simultaneously on average, or how many different trackers and companies are usually present on sites:\n\n * `hosts` - avg. number of tracker's domains present on site. Several domains are grouped under `trackers`, e.g.: `facebook.com` and `facebook.net`grouped under `facebook` tracker. Positive float.\n \n * `trackers` - avg. number of [trackers](https://www.ghostery.com/blog/what-are-trackers) present on site. Trackers are grouped under `companies`, e.g.: `facebook`, `facebook_cdn`, `facebook_graph`, `...`, grouped under Facebook. Positive float.\n \n> \"We define a 'tracker' as a third-party domain which is:\na) present on multiple ( > 10 ) different websites with a significant combined traffic,\nb) uses cookies or fingerprinting methods in order to transmit user identifiers\"\n \n * `companies` - avg. number of companies present on site. Positive float.\n \n**Site/tracker association context** – these fields appear only in `sites_trackers.csv` and describe the relationship between a single (site, tracker) pair and the larger totals for that site and that tracker:\n\n * `site_proportion` - proportion of the site's page loads on which this tracker was seen. Computed as `pages_with_tracker_on_site / total_pages_of_site`. Float between 0 and 1. A value of 0.4 means the tracker was present on 40% of observed page loads of that site.\n\n * `tracker_proportion` - proportion of the tracker's overall observed presence that came from this site. Computed as `pages_with_tracker_on_site / total_pages_with_tracker_anywhere`. Float between 0 and 1. A value of 0.1 means 10% of all page loads on which this tracker was seen happened on this site.\n\n> Note: summing `tracker_proportion` across all rows for a given tracker will *not* reach 1.0. The denominator counts every page where the tracker was seen anywhere, but `sites_trackers.csv` only covers the top sites — the long tail of less-popular sites is not represented. In practice the per-tracker sum tends to land somewhere around 0.7–0.8, depending on how concentrated the tracker is on popular sites. This field is therefore most useful for *ranking* a tracker's top-presence sites, not for summing or averaging.\n\n * `site_rank` - rank of this tracker among trackers seen on this site, ordered by `site_proportion` descending (1 = the tracker most present on the site). Positive integer. Not to be confused with `site_reach` (in `trackers.csv`/`companies.csv`/`domains.csv`), which is a fraction of sites rather than a rank.\n\n * `tracker_rank` - rank of this site among sites where this tracker was seen, ordered by `tracker_proportion` descending (1 = the site contributing the largest share of this tracker's observed presence). Positive integer.\n\n**Tracker reach context** – for domain, trackers and companies aggregations, there are two extra measures:\n\n * `reach`: Proportional presence across all page loads (i.e. if a tracker is present on 50 out of 1000 page loads, the reach would be 0.05). Value is a float between 0 and 1.\n\n> \"We define a tracker or company’s ‘reach’ as the proportion of the web in which they are included as a third-party.\"\n\n * `site_reach`: Presence across unique first party sites. e.g. if a tracker is present on 10 sites, and we have 100 different sites in the database, the site reach is 0.1. Value is a float between 0 and 1. \n \n> \"Alternatively, we can measure ‘site reach’, which is the proportion of websites (unique first-party hostnames) on which this tracker has been seen at least once.\"\n \nNote: This measure was redefined in Feb 2019 as `site_reach_top10k`: the number of sites in the top 10,000 which have this tracker on more than 1% of page loads\" according to [this](https://web.archive.org/web/20240121094155/https://whotracks.me/blog/updating_our_tracking_prevalence_metrics.html) blog post. A further value, `site_avg_frequency` gives the mean presence across these sites. Positive floats.\n \n> \"Given that the top 10,000 sites account for 75% of page loads in our data, we decided to measure the presence across this fixed set of sites.\"\n \nDifferences between `reach` and `site_reach` (according to above blog post):\n\n * High reach and high site reach - Ubiquitous presence across both popular and less popular sites; A common example of that would be Google Analytics.\n * High reach and low site reach - Present primarily on few popular, high-traffic sites; One such example would be Wikimedia, which, due to Wikipedia's popularity, is loaded very often (hence high reach), but present on few sites resulting in a low(er) site reach. Another example, for similar reasons, would be Ebay Stats,\n * Low reach and high site reach - Only appearing rarely on many sites, e.g. only on a small number of pages for each site; In this category appear extensions that operate as \"man in the middle\", such as Kaspersky Labs.\n * Low reach and low site reach - Present on few lower-traffic sites. This includes smaller trackers.\n\n**Latest measures added**:\n\n * `referer_leaked_header` -  the full site url was sent to a tracker via the `Referer` HTTP header.\n \n * `referer_leaked_url` - the full site url was sent to a tracker via URL parameters.\n \n * `referer_leaked` - one (or both) of the above happened.\n \n * `cookie_samesite_none` - see this [documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite). Sending the cookie attribute `SameSite: None` is a way of explicitly stating that the server wants to receive cookies from multiple different sites (i.e. that this cookie will be used for cross-site tracking).\n \n * `t_active` - this is a measure of time active on the site (with the tab open and focused).\n"
  },
  {
    "path": "whotracksme/data/__init__.py",
    "content": "\nfrom whotracksme.data.loader import (\n    load_tracker_db,\n    DataSource,\n)\n\n__all__ = [\n    \"load_tracker_db\",\n    \"DataSource\"\n]\n"
  },
  {
    "path": "whotracksme/data/assets/trackerdb.sql",
    "content": "-- Generated from https://github.com/ghostery/trackerdb/releases/download/202604281015/trackerdb.db\nPRAGMA foreign_keys=OFF;\nBEGIN TRANSACTION;\nCREATE TABLE categories(\n    id INTEGER PRIMARY KEY,\n    name TEXT UNIQUE\n);\nINSERT INTO categories VALUES(1,'advertising');\nINSERT INTO categories VALUES(2,'audio_video_player');\nINSERT INTO categories VALUES(3,'consent');\nINSERT INTO categories VALUES(4,'customer_interaction');\nINSERT INTO categories VALUES(5,'extensions');\nINSERT INTO categories VALUES(6,'hosting');\nINSERT INTO categories VALUES(7,'misc');\nINSERT INTO categories VALUES(8,'pornvertising');\nINSERT INTO categories VALUES(9,'site_analytics');\nINSERT INTO categories VALUES(10,'social_media');\nINSERT INTO categories VALUES(11,'utilities');\nCREATE TABLE companies (\n  id TEXT NOT NULL UNIQUE,\n  name TEXT NOT NULL,\n  description TEXT,\n  privacy_url TEXT,\n  website_url TEXT,\n  ghostery_id TEXT,\n  country VARCHAR (2),\n  privacy_contact TEXT,\n  notes TEXT\n);\nINSERT INTO companies VALUES('1000mercis','1000mercis','1000mercis Group provides innovative solutions for companies willing to optimise their customer acquisition and retention through interactive media (Internet, mobile phones and tablets).','http://ads.1000mercis.com/fr.html','https://www.1000mercis.com/','2262','FR','contactUSA@1000mercis.com',NULL);\nINSERT INTO companies VALUES('1dmp','1DMP','1DMP (Data Management Platform class solution) – a meta DMP and next gen Data Exchange for 1st party data collection, unification, processing, collaboration with data-partners, and 3rd party data enrichment and segmentation in order to drive cutting-edge omni-channel marketing.','https://1dmc.io/privacy','https://1dmp.io/','5044','RU',NULL,NULL);\nINSERT INTO companies VALUES('1plusx','1plusX AG','Using machine learning technology to turn data into meaningful predictions about users and objects in the digital world, in real-time and at scale.','https://www.1plusx.com/privacy-policy/','https://www.1plusx.com/','4582','CH','privacy@1plusx.com',NULL);\nINSERT INTO companies VALUES('1sponsor','1Sponsor','\"Webmasters, earn money by monetizing traffic to your website and increase its visibility by spreading your advertising campaigns via 1Sponsor.com. Repayments of our campaigns micro-sponsorship are the highest in the sector.\"',NULL,'http://fr.1sponsor.com/','3109',NULL,'contact@1sponsor.com',NULL);\nINSERT INTO companies VALUES('24_7','[24]7','We develop industry-specific applications, based on our [24]7 Predictive Experience Platform, to help consumers navigate their interactions with companies. We anticipate consumer needs, simplify the experience, and learn from every interaction.','http://www.247-inc.com/privacy-policy','http://www.247-inc.com/','2713','US','privacy@247-inc.com',NULL);\nINSERT INTO companies VALUES('24_interactive','24 interactive','\"We are a network of affiliate partners for top professionals. We know how the market works and what you need - so start work and communication from the beginning.\"Translated by Google Translate','http://www.24-interactive.com/site/datenschutz','http://www.24-interactive.com','2087',NULL,'info@revcloud.net',NULL);\nINSERT INTO companies VALUES('24log','24Log','Counter with detailed statistics - allows you to learn about your visitors in detail; - count \"how many online\" - how many visitors now online; - simple counter shows the number of visits to the site; - color meter - color of the counter you choose for yourself.','https://www.24log.ru/terms.php','https://24log.ru/','4457','RU',NULL,NULL);\nINSERT INTO companies VALUES('24metrics','24metrics',NULL,NULL,'https://24metrics.com/','5300',NULL,NULL,NULL);\nINSERT INTO companies VALUES('2leep','2leep','2leep is a platform for connecting bloggers with trending content across the web through the use of widgets.','http://2leep.com/data/privacy.html','http://2leep.com/','1030','US','contact@2leep.com',NULL);\nINSERT INTO companies VALUES('33across','33Across','33Across is a social advertising company that develops technology to identify users for online marketing purposes. It offers SocialDNA, a platform that creates custom segments to help advertisers and agencies understand customers who are socially connected to brands.   33Across enables advertisers to utilize social data both within and outside of social networks to provide cross-publisher display campaigns and improve brand and direct response programs.','https://www.33across.com/privacy-policy','http://33across.com/','375','US','privacy@33across.com',NULL);\nINSERT INTO companies VALUES('360i','360i','360i is a digital ad agency specializing in social media, search and mobile technologies. 360i is an Innovation Interactive company.','https://360i.com/about/privacy/','https://360i.com/','309','US','privacy@360i.com',NULL);\nINSERT INTO companies VALUES('3dstats','3DStats','3DStats.com offers a service that analyzes traffic patterns and profiles visitors at your site. You can see data in real-time and you don''t have to install any software. 3Dstats tracks and reports the number of visitors, requests and orders for any online advertising campaign you run.','http://www.3dstats.com/privacy.html','http://www.3dstats.com/','332','FR','privacy@3dstats.com',NULL);\nINSERT INTO companies VALUES('4w_marketplace','4w Marketplace','\"With this operation, the innovative startup, founded with the support of the incubator Digital Magics, enhances technological development and strengthens as the Italian leader in the online advertising platforms for Premium Publisher.\"Translated by Google Translate','http://www.4wmarketplace.com/privacy/','http://www.4wmarketplace.com/','2314','IT','4winfo@4wmarketplace.com',NULL);\nINSERT INTO companies VALUES('500friends','500friends','\"500friends'' is [a] provider of next generation loyalty solution LoyaltyPlus, a market-leading enterprise SaaS platform trusted by retailers to maximize the lifetime value of their customer relationships.\"','http://500friends.com/privacy','http://500friends.com/','2655',NULL,'privacy@500friends.com',NULL);\nINSERT INTO companies VALUES('51.la','51.La','我要啦 2005 版从阿江统计 2.2 基础上经过向SQL数据库迁移并经过存储过程优化产生，增加了便捷的用户管理接口。2006 版则以新的设计思路重新编写，效率和功能都有激动人心的增强。所有过程均由阿江亲自完成。我要啦免费统计全部服务器安放于位于洛阳电信的我要啦数据中心，全面采用华为三层交换设备，24小时职守人员更由我要啦直接委派','https://www.51.la/about.asp','https://www.51.la/','2081',NULL,NULL,NULL);\nINSERT INTO companies VALUES('6minutes','6 Minutes Media GmbH',NULL,NULL,'http://www.6min.de/en/','5301',NULL,NULL,NULL);\nINSERT INTO companies VALUES('6peo','6PEO','Our DNA: new technologiesFor several years, 6PEO markets, with major accounts, KMELEO, original solution of web services based on innovative technology.Composed of experts from e-marketing, new technologies and statistics, our team uses its global network of partners to detect premiere, innovative Web technologies.Our vision: innovation, value and performanceIf innovation remains the cornerstone of our processes and drive our performance, our vision is firmly focused on values ​​and respect for surfers.Our pillars: visionary investorsInnovacom Management, through its bottom FCPR Innovacom 6,entered March 15, 2011 the capital of the company by investing $ 2 million to support the growth of Kméléo.','http://www.6peo.com/solution-kmeleo/respect-de-la-vie-privee','http://www.6peo.com/','4349',NULL,NULL,NULL);\nINSERT INTO companies VALUES('6sense','6Sense','6Sense is a B2B predictive intelligence engine for sales and marketing. Using time-sensitive behavioral data, 6Sense offers insightful predictions to uncover net-new companies and contacts at the top of the funnel, when it is the most valuable, and prioritizes known prospects ready to buy now. 6Sense predicts what products prospects will buy, how much they will buy, and when.','https://6sense.com/privacy-policy/','https://6sense.com/','2536','US','privacy@6sense.com',NULL);\nINSERT INTO companies VALUES('77agency','77Agency','We’ve always been at the forefront of digital and we thrive on finding new and better ways and embracing technology. We were one of the initial three companies to have access to the Facebook API and we were one of only 13 companies selected as a global Facebook Strategic Preferred Marketing Developer.We’ve developed propriety platforms that have become industry standards and used by the likes of ABN Amro, BWin, and Huawei. We’re Microsoft and Google partners and and we were even the first company to run a financial services ad on Adwords.','http://www.77agency.com/privacy-policy/','https://www.77agency.com/','1983',NULL,'privacy@77agency.com',NULL);\nINSERT INTO companies VALUES('888_media','888 Media','\"Headquartered in London, UK, 888 Media is a digital marketing solutions company that provides cost-effective ad solutions for advertisers to reach targeted consumers.\"','http://888media.net/privacy_policy.html','http://888media.net/','2244',NULL,'admin@888media.net',NULL);\nINSERT INTO companies VALUES('8digits','8digits','We, as 8digits, are dedicated to providing simple solutions to the big analytics and marketing problems ecommerce marketers and site owners face. We know that understanding, processing and analyzing the visit data in order to find the perfect campaign is not as easy as it seems.','http://8digits.com/index/about/','http://8digits.com/','4719',NULL,NULL,NULL);\nINSERT INTO companies VALUES('99stats','99stats','\"Use 99stats.com to spot trends and create fresh content that will attract more readers to your website. Gain rich insights into your website traffic so that you can optimize your marketing effectiveness.\"','https://www.99widgets.com/privacy-policy.php','https://de.99stats.com/','3329',NULL,'admin@99stats.com',NULL);\nINSERT INTO companies VALUES('AO Kaspersky Lab','Kaspersky Lab','Kaspersky Lab is the world’s largest privately held vendor of endpoint protection solutions. The company is ranked among the world’s top four vendors of security solutions for endpoint users.','https://support.kaspersky.com/general/privacy?_ga=2.82314078.972498666.1539343116-1330083114.1539343116','https://www.kaspersky.com/','5308','RU',NULL,NULL);\nINSERT INTO companies VALUES('a8','A8','A8.net is the largest affiliate service with both membership and advertiser numbers.We handle a wide range of advertisements from famous shops such as Amazon and Rakuten to shops dealing with noteworthy noteworthy items yet. Register OK even if you do not have your own site or blog! Everyone can easily start an affiliate.','https://www.fancs.com/privacy','https://www.a8.net/','2433',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ab_tasty','AB Tasty','AB Tasty is a French company, based in Paris, created in 2008 by Alix de Sagazan and Rémi Aubert. It publishes a conversion optimization solution in SaaS mode, intended for online sales sites, news sites and publishers of interactive services.','https://www.abtasty.com/uk/terms-of-use/','https://www.abtasty.com/us/','3037','FR','contact@abtasty.com',NULL);\nINSERT INTO companies VALUES('acceleration_partners','Acceleration Partners','Acceleration Partners helps top brands connect with the right buyers through performance partnerships, traditional affiliate, influencer, performance PR, content and B2B partnership marketing.','https://www.accelerationpartners.com/privacy-policy/','https://www.accelerationpartners.com/','','US','dporequest@accelerationpartners.com',NULL);\nINSERT INTO companies VALUES('accelia','Accelia','Durasite is a Content Distribution Network based in Japan. They are owned by Accelia.','https://www.accelia.net/reason/','https://www.accelia.net/','1035','US',NULL,NULL);\nINSERT INTO companies VALUES('accengage','Accengage',NULL,'https://www.accengage.com/privacy-policy/','https://www.accengage.com/','5302',NULL,NULL,NULL);\nINSERT INTO companies VALUES('accessanalyzer','AccessAnalyzer','\"Access Analysis [AccessAnalyzer.com] is a high-performance rental access analysis service...\"Translated by Google Translate','http://ax.xrea.com/rules.php','http://ax.xrea.com/','2694',NULL,NULL,NULL);\nINSERT INTO companies VALUES('accessibe','accessiBe','accessiBe is a technology company working to solve the problem of web accessibility through AI.','https://accessibe.com/privacy-policy','https://accessibe.com/','','IL','support@accessibe.com',NULL);\nINSERT INTO companies VALUES('accesstrade','AccessTrade','Access Trade is an affiliate advertising ASP service with a proven track record of over 20 years since 2001.','https://www.accesstrade.ne.jp/privacy','https://www.accesstrade.ne.jp/','2079','JP',NULL,NULL);\nINSERT INTO companies VALUES('accord_group','Accord Group','We are a direct response advertising agency uniquely designed for small and medium sized businesses. We attract valuable customers to buy from our clients, and talented people to work for them.','https://accordmarketing.com/cookie-and-privacy-policy','http://www.accordgroup.co.uk/','3360','GB',NULL,NULL);\nINSERT INTO companies VALUES('accordant_media','Accordant Media','\"We are a specialized media buying and optimization company that integrates strategy, technology and execution to help agencies and direct advertisers succeed in exchange-traded media and audience targeting. Accordant embraces this new era of marketing where the use of micro-segmentation, audience insights and dynamic ad pricing will unlock new value across the media landscape.\"','http://accordantmedia.com/privacy-policy/','http://www.accordantmedia.com/','1651','US','privacy@accordantmedia.com',NULL);\nINSERT INTO companies VALUES('accuen_media','Accuen Media','Accuen is a digital media acquisition platform that combines media, data, technology and strategy to provide audience segments. The Accuen platform provides cost and process efficiencies by eliminating wasted impressions and managing frequency, while also providing transparency and insights. Accuen uses non-personal information about users and their behavior online to identify potential audiences for its advertising clients.  Accuen is part of Omnicom Media Group.','http://www.accuenmedia.com/privacy-policy/','http://www.accuenmedia.com/','699','US','privacy@accuenmedia.com',NULL);\nINSERT INTO companies VALUES('acint','Artificial Computation Intelligence','Online counter www.acint.net provides high quality tools for collecting, processing and following analysis of data on visitors of online resources. Wide range of data sets has been recognized by professionals who have to deal with online statistics every day.What does it do?Analysis of the traffic statistics helps largest Russian companies understand the particularity of the behavior of visitors of websites.What kind of information is collected?Our service helps to collect the information about the visits to the largest websites of Russian Internet, which have installed the counter www.acint.net to their pages.','https://acint.net/','https://acint.net/','3810',NULL,'admin@acint.net',NULL);\nINSERT INTO companies VALUES('acoustic','Acoustic','Acoustic, L.P. provides an open, independent marketing cloud and analytics platform that helps brands foster deeper customer connections through personalized, data-driven engagement. Solutions focus on customer engagement, multichannel marketing, and digital experience analytics.','https://www.acoustic.com/privacy-notice','https://www.acoustic.com/','','US','privacy@acoustic.com',NULL);\nINSERT INTO companies VALUES('acquisio','Acquisio','ClickEquations is a paid search platform for large advertisers and agencies that manage established search campaigns. Their solution offers complete management, bidding, and reporting to help streamline the optimization process.','https://www.acquisio.com/company/acquisio-privacy-policy/','https://www.acquisio.com/','397','US','yourprivacy@acquisio.com',NULL);\nINSERT INTO companies VALUES('acrweb','ACRWEB',NULL,'http://www.ziyu.net/','http://www.ziyu.net/','5273','JP',NULL,NULL);\nINSERT INTO companies VALUES('act-on','Act-On','Act-On Software allows business users to integrate their customer relationship management efforts across a variety of popular tools in one interface. Its capabilities range from building lead generation through website interactions to hosting and promoting webinars and other types of display events.','https://www.act-on.com/privacy-policy/','https://www.act-on.com/','350','US','privacy@act-on.com',NULL);\nINSERT INTO companies VALUES('actionpay','actionpay','\"Affiliate network ActionPay.ru started in 2010 and today is one of the leading CPA-network in the Russian market.\"Translated by Google Translate','https://actionpay.net/ru-en/content/page:privacy-policy','https://actionpay.net/en/','2142',NULL,'info@actionpay.ru',NULL);\nINSERT INTO companies VALUES('active_agent','Active Agent AG','\"Active Agent is your demand side platform for an easy, transparent and safe handling of your advertising campaigns in realtime & data driven advertising environment.\"(Translated by Google Translate)','http://www.active-agent.com/de/unternehmen/datenschutzerklaerung/','http://www.active-agent.com/','3474',NULL,'info@activeagent.de',NULL);\nINSERT INTO companies VALUES('active_campaign','Active Campaign','ActiveCampaign provides a marketing platform that allows clients to reach their customers, to understand how their customers interact with those communications and other content, and to customize marketing based on their customers’ interests.','https://www.activecampaign.com/legal/privacy-policy','https://www.activecampaign.com','5121','US','privacy@activecampaign.com',NULL);\nINSERT INTO companies VALUES('active_performance','Active Performance','Active performance is your expert for targeted and sales oriented online marketing! We are specialised in the distribution of products through all digital channels...To accomplish that we optimise and implement successful performance campaigns, take care of address generation and the e-mail marketing and develop and realise sales partnerships.',NULL,'http://www.active-performance.de/','2613','DE','+49 40 881414-777',NULL);\nINSERT INTO companies VALUES('activeconversion','ActiveConversion','ActiveConversion provides software for lead nurturing, lead management and demand generation for companies with fewer than 1000 employees. They provide a single tool to help manage and optimize marketing and sales efforts.','https://www.activeconversion.com/about/privacy-policy/','http://www.activeconversion.com/','997','CA',NULL,NULL);\nINSERT INTO companies VALUES('activecore','activecore','\"Provision of behavioral targeting solutions for Internet business...\"Translated by Google Translate','https://www.activecore.jp/privacy-policy/','https://activecore.jp/','2909','JP',NULL,NULL);\nINSERT INTO companies VALUES('activengage','ActivEngage','ActivEngage is a provider of live chat services for website owners to engage with their visitors. ActivEngage launches a client-branded chat window at key marketing opportunities throughout the web purchase-cycle to provide assistance to prospective shoppers.','https://www.activengage.com/privacy','https://www.activengage.com/','1153','US','info@activengage.com',NULL);\nINSERT INTO companies VALUES('activision_blizzard','Activision Blizzard','Activision Publishing, Inc. is an American video game publisher based in Santa Monica, California. It serves as the publishing business for its parent company, Activision Blizzard, and consists of several subsidiary studios. Activision is one of the largest third-party video game publishers in the world.',NULL,'https://www.activision.com/','5303','US',NULL,NULL);\nINSERT INTO companies VALUES('acuity_ads','Acuity Ads','\"Acuity Ads is a Consumer Connection Platform. Going beyond traditional Demand Side Platforms, Acuity uses cutting edge machine learning technology and real-time exchanges to give advertisers superior control of their display ads and deliver exceptional ROI.\"','https://www.acuityads.com/privacy-policy/','https://www.acuityads.com/','1635','US','privacy@acuityads.com',NULL);\nINSERT INTO companies VALUES('acxiom','LiveRamp','LiveRamp Holdings, Inc. offers a data connectivity platform whose services include data onboarding, the transfer of offline data online for marketing purposes.','https://liveramp.com/privacy','https://liveramp.com','319','US',NULL,NULL);\nINSERT INTO companies VALUES('ad-center','Ad-Center','Real-Time Stats & Unlimited Analytics for Your TrafficAd-Center offers affiliates unlimited revenue potential with tools and resources that allow them to simply convert their traffic into more revenue. Affiliates can log into their accounts from PC or Mobile and get instant access to live stats, or breakdowns by keywords, campaign, country and much more.','http://www.ad-center.com/front/privacy','http://www.ad-center.com','3852',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ad-sys','Ad-Sys','\"Ad-Sys is the...self-serve ad platform for marketing professionals and agencies.\"','https://www.ad-sys.com/','https://www.ad-sys.com/','3106',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ad2click_media','Ad2Click Media','Ad2Click runs by young and enthusiastic brains where we truly believe in honesty, dedication, innovative and personalized approach with client’s satisfaction. The team works on traditional models like CPM, CPC, CPL, CPA, E-mails and SMS but with a different and unique approach in every segment. There are two separate divisions in the company, viz, Media Buying & Planning and AD Network business where the dedicated teams are working respectively. The organization has also entered into the online AD publishing space with some own sites into Education, Travel, Coupons, Projects, Marketing Consulting and Entertainment. By entering in to this space AD2Click stepped ahead upon some competition on online space in regards to deliver branding and performance based campaigns.','http://www.ad2click.com/#about','http://www.ad2click.com/','4637',NULL,'contact@ad2click.com',NULL);\nINSERT INTO companies VALUES('ad2games','ad2games','\"ad2games is a digital marketing company specializing in pay-to-play and free-to-play games on PC and console platforms. Leveraging our advanced in-house technologies, we create measurable branding solutions, drive direct sales in your store and generate loyal users for your games. Our products and services are trusted by over 150 international brands including Daum Europe, Innogames, Gameforge, Youzu and Wargaming.\"','https://www.ad2games.com/privacy-policy/','https://www.ad2games.com/','2758',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ad360','Ad360','\"Ad360 ad network of online media company netlink (netlink Online Communication). With experience in building and developing media projects, Internet, technology, providing online advertising solutions as well as potential investment projects in the field of Internet, netlink research and development Ad360 with superior features...\"Translated by Google Translate','http://ad360.vn','http://ad360.vn','2146',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ad4game','ad4game','ad4game is an ad network that partners with companies in the online gaming industry to specifically target online video gamers.','https://ad4game.com/privacy/','http://www.ad4game.com/','812','CA','support@ad4game.com',NULL);\nINSERT INTO companies VALUES('ad4mat','ad4mat','\"European Premium Performance Network\"','https://www.ad4mat.com/en/privacy/','https://www.ad4mat.com/en/','2191',NULL,'privacy@advanced-store.de',NULL);\nINSERT INTO companies VALUES('ad6media','ad6media','\"ad6media''s personalised banner service is simple and guarantees revenue. It is available to websites with over 1,000 visitors per day.\"','https://www.ad6media.fr/privacy','https://www.ad6media.fr/','1466','US',NULL,NULL);\nINSERT INTO companies VALUES('ad_dynamo','Ad Dynamo','Ad Dynamo operates an international pay per click advertising marketplace.','https://www.addynamo.com/twitter_about_us.jsp','https://www.addynamo.com/','1114','ZA',NULL,NULL);\nINSERT INTO companies VALUES('ad_ebis','AD EBiS','Is it difficult conveying your company''s message to the correct audience? Online marketing requires new strategies to tackle these hurdles.','http://www.lockon.co.jp/policy/','https://www.ebis.ne.jp/','3543','JP',NULL,NULL);\nINSERT INTO companies VALUES('ad_lightning','Ad Lightning','Custom-built to give Publishers & Ad Platforms the tools they need to find bad ads, along with the data and processes to remove them.','https://www.adlightning.com/privacy','https://www.adlightning.com/','5304','US','support@adlightning.com',NULL);\nINSERT INTO companies VALUES('ad_magnet','Ad Magnet','Ad Magnet is a digital ad network launched by DGTL Media Pvt. Ltd. and uses proprietary 4th generation ad serving technology to aggregate mllions of ad impressions daily across categories, create audience segments and help advertisers reach highly fragmented Internet users. Ad Magnet is the largest Indian digital property and 5th largest digital property overall (comScore Dec 2011) with an audience of 25.9 million unique users or more than 55% of all internet users in India. This means advertisers can use Ad Magnet to reaches more people than the top 10 english print dailies','https://web.archive.org/web/20160104050233/http://admagnet.net/privacy-policy.html','https://web.archive.org/web/20160104045703/http://admagnet.net/index1.html','1246','US',NULL,NULL);\nINSERT INTO companies VALUES('ad_man_media','illumin','illumin Holdings Inc. provides a journey advertising platform, which enables marketers to reach consumers at every stage of their journey by leveraging advanced machine learning algorithms and real-time data analytics.','https://illumin.com/legal/privacy/','https://illumin.com','4490','CA','ayuda@admanmedia.com','illumin acquired Adman Media 2018. https://www.crunchbase.com/acquisition/acuityads-acquires-adman-media--cdf9a3f9');\nINSERT INTO companies VALUES('ad_peeps','Ad Peeps','\"Ad Peeps is a banner rotator and text ad server - all in one that allows you to fully automate displaying, selling and managing banner advertisement, rich-media/flash ads and text ads on your website.\"','https://www.adpeeps.com/','https://www.adpeeps.com/','2721',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ad_river','Ad River','Ad River is a Russian ad serving and analytics company focused on the Russian market in providing advertisers with the technology to execute ad delivery, measure and report campaign effectiveness.','https://www.adriver.ru/about/privacy-en/','https://www.adriver.ru/','294','RU','privacy@adriver.ru',NULL);\nINSERT INTO companies VALUES('adacado','Adacado','\"Delivers performance to online display marketing through next-level personalization. Our adaptable platform allows advertisers to extract the most value from their media by dynamically matching each target audience with a specific set of products, listings and offers.\"','http://www.adacado.com/privacy-policy.php','http://www.adacado.com/','1410','CA','info@adacado.com',NULL);\nINSERT INTO companies VALUES('adadyn','Adadyn','Ozone Media Solutions is an online advertising network based in India. Ozone offers customized service for advertisers across verticals such as news, financial services and entertainment. Their business model is to aggregate small and medium sized publishers who do not have their own sales force and sell the advertising space to advertisers.','http://www.adadyn.com/#privacy-policy','http://www.adadyn.com/','541','IN','info@adadyn.com',NULL);\nINSERT INTO companies VALUES('adara_analytics','Adara','Adara Inc. is a business-to-business company that offers a technology platform which provides products and services enabling our clients to buy advertising space online and measure and analyze their campaigns.','https://adara.com/privacy-promise/','https://adara.com/','286','US','privacy@adara.com',NULL);\nINSERT INTO companies VALUES('adasia_holdings','AdAsia Holdings','Founded in April 2016 by Kosuke Sogo and Otohiko Kozutsumi, AdAsia Holdings aims to become the biggest technology company in Asia. Both founders have a single vision - to enable marketers, advertisers and publishers in Asia to easily use innovative and intelligent tools to increase returns. We bring the best of modern marketing to you on an intelligent, easy-to-use platform and dashboard. We stand firm on three pillars: People, Innovation, Localization. Our people are the foundation upon which AdAsia Holdings is built, with innovation key to staying at the top of this industry. At the same time, localized solutions make sure that your campaigns resonate where they matter the most, and we have people who understand your local context, providing sound strategy consultation. Artificial intelligence drives our platforms, giving you the power of deep learning coupled with predictive analysis through an easy-to-use interface.','https://adasiaholdings.com/privacy-policy/','https://adasiaholdings.com/','5100',NULL,'privacy@adasiaholdings.com',NULL);\nINSERT INTO companies VALUES('adblade','Adblade','Adblade is an online advertising network that focuses on premium performance based programs for top news and information sites. It offers NewsBullets, a form of online advertising that allows advertisers to present their message to readers and a suite of IAB standard units that work with existing advertisements. Adblade''s DealOn, provides publishers with a group buying platform to incorporate their own brand, lists and audiences.','https://adblade.com/doc/privacy','https://adblade.com/','452','US','privacy@adblade.com',NULL);\nINSERT INTO companies VALUES('adbooth_media_group','adbooth Media Group','\"adbooth Media Group is an ad network, and a CPA Marketplace.\"','http://www.adbooth.com/pages/privacy-en.html','http://www.adbooth.com/','3104',NULL,'support@adbooth.com',NULL);\nINSERT INTO companies VALUES('adbox','AdBox','Adbox is a digital sales house in Latvia.','https://www.adbox.lv/','https://www.adbox.lv/','3638','LV','info@adbox.lv',NULL);\nINSERT INTO companies VALUES('adbrain','Adbrain','The Trade Desk, Inc. is an American multinational technology company that specializes in real-time programmatic marketing automation technologies, products, and services, designed to personalize digital content delivery to users.','http://www.adbrain.com/legals/privacy-policy','http://www.adbrain.com/','3432','US','privacy@adbrain.com',NULL);\nINSERT INTO companies VALUES('adbull','AdBull','AdBull provides a contextual-based cursor advertising service. AdBull conducts a semantic page analysis to determine the real-time context of each page and delivers a relevant ad directly to the user''s cursor.','https://adbull.me/pages/privacy','https://adbull.me/','985','US','info@adbull.com',NULL);\nINSERT INTO companies VALUES('adc_media','ad:C media','\"The focus of ad:C media is 100% Digital Display Advertising with a strong emphasize on generating sales for the advertisers.ad:C media works like a media agency: We analyze the target groups of advertisers and optimize the media planning in order to reach the best results.\"','http://www.adcmedia.de/en/datenschutz/','http://www.adcmedia.de/en/','2315',NULL,'info@adcmedia.de',NULL);\nINSERT INTO companies VALUES('adcalls','AdCalls','AdCalls strives to grant nationally and internationally operating organisations insight into the call conversions generated by their on- and offline marketing activities','https://adcalls.nl/privacy-statement/','https://www.adcalls.com/','','NL','info@adcalls.nl',NULL);\nINSERT INTO companies VALUES('adcash','Adcash','\"A leading international performance-based advertising network, Adcash delivers high quality results for some of the world’s foremost advertisers across a premium network of 30000 publishers in over 70 countries.\"','https://www.adcash.com/legal-info/','https://www.adcash.com/','1946','US',NULL,NULL);\nINSERT INTO companies VALUES('adchakra','AdChakra','Adchakra is one of the leading cross-channel digital advertising networks of the country.We have an expertise of leveraging the digital landscape for brands and businesses to reach their marketing goals. We are a family of some 60 odd digitally obsessed people spread across Gurgaon, Mumbai and Bangalore. We are experts in our field and combine creativity, strategy, technology and analytics to launch impactful campaigns for the brands that we work for. We are just 8 years old and proudly boast of winning the ‘Deloitte Fast Technology India’ Award for 2010 & 2011 within the first four years of inception.The four pillars of our strength which we follow religiously are – Service Excellence, Innovation & Adaptability, Passion and Result Driven.','https://internals.ghostery.com/companies/companies/4632-AdChakra','http://adchakra.com/','4632',NULL,'contact@perceptknorigin.com',NULL);\nINSERT INTO companies VALUES('adcito','Adcito','\"Adcito is an online advertising partner that helps publishers grow their revenues and website value. We accomplish this by providing a wide range of advertising solutions and tools backed by our drive to help publishers exceed their goals.\"','https://adcitomedia.com/privacy.html','https://adcitomedia.com/','2231',NULL,'support@adcitomedia.com',NULL);\nINSERT INTO companies VALUES('adclear','AdClear GmbH','\"AdClear offers a cutting-edge platform for the complete tracking of the Customer Journey and provides easy-to-use reports, which make previously hidden associations and interactions in online campaigns apparent and ready for analysis. Whether for Advertisers, Agencies or Publishers, AdClear is the optimal platform to obtain the best possible results from your online campaigns.\"','https://www.adclear.de/datenschutzerklaerung/','https://www.adclear.de/en/home.html','1787',NULL,'info@adclear.de',NULL);\nINSERT INTO companies VALUES('adclerks','AdClerks','AdClerks is one of the largest self-serve ad platforms, allowing users to buy & sell online ads on an open marketplace featuring hundreds of vetted sites.','https://adclerks.com/terms','https://adclerks.com/','4933',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adclickmedia','AdClickMedia','AdClickMedia is a pay-per-click based ad network. They offer a variety of ad formats including photo, text, and full page interstitial, but focus mainly on banner ads. AdClickMedia is a division of Multiple Stream Media.','https://adclickmedia.com/m/privacypolicy.cgi/adclickmedia','https://www.adclickmedia.com/','1154','US',NULL,NULL);\nINSERT INTO companies VALUES('adclickzone','AdClickZone','We at AdclickZone strive hard to provide a robust platform for wide range of Performance Marketing Services. Rated as one of the fastest growing affiliated network in India we expertise in various models of marketing to suit our clients requirements namely Cost Per Install (CPI), Cost Per Lead (CPL), Cost Per sale (CPS), and for branding purpose we also specialize in Cost Per Mille (CPM), Cost Per Click (CPC) and Cost Per View (CPV). Having one of the largest network of affiliates we cater to clients from different business verticals including, e - Commerce, entertainment, travel, finance, sports, automobile etc.','http://www.adclickzone.com/#about','http://www.adclickzone.com/','4661',NULL,'info@adclickzone.com',NULL);\nINSERT INTO companies VALUES('adcloud','adcloud','\"Adcloud is an independent advertising technology company creating the worlds first open ecosystem that allows advertisers, agencies, marketers and publishers to build their own advertising flywheel and exchange digital advertisements with other members to finally show the right ad to the right user at the right time in the right place.\"','https://www.gmo-am.jp/privacy.html','https://ad-cloud.jp','3205',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adcolony','AdColony','AdMarvel works to simplify and deliver mobile advertising content. They provide an advertising platform and advertising mediation service to connect mobile publishers with multiple ad sources.','https://www.adcolony.com/privacy-policy/','https://www.adcolony.com/','913','US','privacy@adcolony.com',NULL);\nINSERT INTO companies VALUES('adcrowd','Adcrowd','\"Adcrowd helps companies with the best use of online ( re ) -targeted campaigns. Through a unique self-service platform to get business owners and marketers direct access to the largest ad auctions.\"Translated by Google Translate','https://www.adcrowd.com/nl/privacy','https://www.adcrowd.com','3299',NULL,'support@adcrowd.nl',NULL);\nINSERT INTO companies VALUES('adcurve','AdCurve','It is our mission to help retailers maximize their profitability. We do this by developing tools which provide the basis of data insight and advice that can be implemented immediately. We believe in independent analysis and data-driven. It is our passion to provide unique insights and tips to help retailers differentiate themselves from their competitors. We develop algorithms and continuous insights that we remain a leader. We do that with a dedicated team of data scientists, software developers and online marketing specialists','https://adcurve.com/privacy-policy/','https://adcurve.com/','1664','US','info@shop2market.com',NULL);\nINSERT INTO companies VALUES('addaptive','Addaptive','\"DataPoint Media specializes in audience data management and exchange-traded media.  Our solutions help publishers and media companies take control of their audience data, increase targeting capabilities and extend their reach across the ad exchanges.\"','https://www.addaptive.com/privacy','https://www.addaptive.com/','1386','US','privacy@addaptive.com',NULL);\nINSERT INTO companies VALUES('addefend','AdDefend','AdDefend is a leading independent platform for adblock advertising, enabling the delivery of digital advertising to adblock users. Founded in 2015 and based in Hamburg, Germany, AdDefend offers solutions for publishers and advertisers to effectively reach target groups that are otherwise unreachable due to technical barriers.','https://www.addefend.com/en/privacy-policy/','https://www.addefend.com/','','DE','privacy@addefend.com',NULL);\nINSERT INTO companies VALUES('addinto','AddInto','\"AddInto will help visitors share & bookmark your content, and promote it to the social networking services, sending you back more traffic.\"',NULL,'https://www.addinto.com/','3460',NULL,NULL,NULL);\nINSERT INTO companies VALUES('addshoppers','AddShoppers','\"AddShoppers is the leading social commerce platform for retailers. Increase sharing and sales with just a few snippets of javascript code, free.\"','https://www.addshoppers.com/privacy/','https://www.addshoppers.com/','2685',NULL,'help@addshoppers.com',NULL);\nINSERT INTO companies VALUES('addtoany','AddToAny','Lockerz Share''s Share/Save and Subscribe widgets let website visitors share and save pages using any service, and subscribe to RSS feeds using any feed reader. Their widgets contain a searchable menu of applicable services, the most popular of which is displayed by default.','https://www.addtoany.com/privacy','https://www.addtoany.com/','4','US',NULL,NULL);\nINSERT INTO companies VALUES('addtocalendar','AddToCalendar','Free button \"Add to Calendar\" is used for event page on website and email. You can create event button on page and allow guests to add this event to calendar. AddToCalendar supported Outlook, Google Calendar, Apple, Yahoo. You can also generate static link to this event for the email newsletters, docs and blogs.',NULL,'http://addtocalendar.com/','4485',NULL,NULL,NULL);\nINSERT INTO companies VALUES('addvalue.de','AddValue.de','\"Your website has to sell and generate leads - only then it will be successful! Hence, we create the right conditions through a functional, current and optimized web design which is responsive to any device.Together with us you will ...develop a website that sells!present yourself optimally on all devices!create trust with your target audience!\"','https://www.addvalue.de/en/datenschutz.html','https://www.addvalue.de/en/','4200',NULL,NULL,NULL);\nINSERT INTO companies VALUES('addyon','AddyOn','\"AddyON is a powerful Self-Service platform for Buying and Selling on line Ads. Developed to satisfy the needs of buyers and sellers, it links Publishers and Advertisers worldwide.\"','http://www.addyon.com/terminiduso.php','http://www.addyon.com/homepage.php','1488','US',NULL,NULL);\nINSERT INTO companies VALUES('adeasy','AdEasy','\"AdEasy gives you powerful tools for direct sales of advertising on your site.\"','http://www.adeasy.ru/content/docs/legal/AdEasy_personal_data_policy.pdf?55','http://www.adeasy.ru/','2206','RU','support@adeasy.ru',NULL);\nINSERT INTO companies VALUES('adelphic','Viant','Viant is a leading advertising software company that enables marketers to plan, execute and measure omnichannel ad campaigns through a cloud-based platform. Viant’s self-service Demand Side Platform, Adelphic®, powers programmatic advertising across Connected TV, Linear TV, mobile, desktop, audio, gaming and digital out-of-home channels.','https://www.viantinc.com/wp-content/uploads/2023/02/Viant-Privacy-Policy-AMERICAS-1094727173-v11.pdf','https://www.viantinc.com/solutions/dsp/','3878','US',NULL,'Viant acquired the mobile ad company Adelphic in 2017. https://en.everybodywiki.com/Viant_Technology');\nINSERT INTO companies VALUES('adespresso','AdEspresso','AdEspresso makes Facebook Advertising easy and profitable for small and medium businesses.','https://www.iubenda.com/privacy-policy/832487/legal','http://adespresso.com','3034','IT','privacy@adespresso.com',NULL);\nINSERT INTO companies VALUES('adexcite','AdExcite','\"AdExcite is at the forefront of the display media advertising revolution. Our technology platform enables massive scaling of global video and New Standard display ad inventory.\"',NULL,'http://adexcite.com','2059',NULL,'Info@Q1Media.com',NULL);\nINSERT INTO companies VALUES('adextent','AdExtent','\"AdExtent’s technology enables brand marketers, ad agencies, publishers and platform partners to easily build transparent, high performing personalized display retargeting campaigns. AdExtent is the first to deliver best-in-class display retargeting solutions that seamlessly integrate with a media buyer’s platform of choice. Our team consists of technologists and data scientists with over a decade of experience building groundbreaking data intensive applications.\"','http://www.adextent.com/privacy-policy/index.html','http://www.adextent.com/','1609','US','privacy@adextent.com',NULL);\nINSERT INTO companies VALUES('adf.ly','AdF.ly','\"We are a free URL shortener service with a twist..get paid to share your links on the Internet! Just register for an account and start shrinking. You get paid for every person that visits your URLs.\"','https://adf.ly/privacy','https://adf.ly/','1313','US',NULL,NULL);\nINSERT INTO companies VALUES('adfalcon','AdFalcon','\"AdFalcon is the first mobile advertising network in the Middle East aimed at providing a specialized mobile advertising experience to advertisers, publishers, developers and mobile users across the region.\"','http://www.adfalcon.com/en/privacy.html','http://www.adfalcon.com/','2424',NULL,'info@adfalcon.com',NULL);\nINSERT INTO companies VALUES('adfire_gmbh','adfire GmbH','Adfire GmbH is a small digital publishing house based in Hamburg.We operate and market online publications from various subject areas.','http://www.adfire.de','http://www.adfire.de','5','DE','info@adfire.de',NULL);\nINSERT INTO companies VALUES('adfoc.us','AdFoc.us','\"AdFoc.us is a revolutionary new way of making money from sending people to links. If you have a popular website, a YouTube video with many views, or have a link to download a Minecraft mod from a forum, simply drop the link in the AdFoc.us URL shortener and get people to click on your AdFoc.us short URL. Once people start clicking on your short URL, you start making money!\"','http://adfoc.us/privacy','https://adfoc.us/','3152',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adforgames','AdForGames','\"AdForGames.com is a banner ad network dedicated to the game industry. we can help you to promote your game-related sites or monetize your game traffic. Advertisers can attract more game traffic using AdForGames. Our traffic have the quality with low bounce rate and high conversion, and our price is low in industry. Exchangers can get more earning since we pay higher rev share rate and we use banners with higher CTR so you can get higher CPM.\"','http://www.adforgames.com/about.htm','http://www.adforgames.com/','3457',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adform','Adform','AdForm is an integrated online marketing platform that combines media planning, ad serving, search engines, web analytics and reporting in one system. The  platform facilitates tracking of entire websites as well as spotlight tracking of selected web pages to give a thorough view into the effectiveness of marketing campaigns.','https://site.adform.com/privacy-center/overview','https://site.adform.com/','457','DK','dpo@adform.com',NULL);\nINSERT INTO companies VALUES('adfreestyle','adFreestyle','adFreestyle provides a mechanism for the creation and issue of ads on their partner sites. You specify only the basic parameters of the ad, and the system takes care of the rest.','https://www.adfreestyle.pl/privacy','https://www.adfreestyle.pl/','2920','PL','team@adfreestyle.pl',NULL);\nINSERT INTO companies VALUES('adfrontiers','AdFrontiers','AdFrontiers provides digital management tools for publishers, advertisers and agencies. Solutions for advertisers and agencies enable management of digital marketing campaigns across display banners, rich media, video and web sites.','http://www.adfrontiers.com/policy.html','http://www.adfrontiers.com/','1239','US',NULL,NULL);\nINSERT INTO companies VALUES('adgebra','Adgebra','Adgebra is India’s only multi-device ad tech platform delivering  high impact ad units programmatically. Adgebra collects data from its partner publishers and creates various audience segments like (sports enthusiast, travel junky, movie buff and many more). The ad is served as an image overlay on the relevant static editorial image, both on mobile and desktop.','http://adgebra.in/privacy-policy/','http://adgebra.in/','4844','IN',NULL,NULL);\nINSERT INTO companies VALUES('adgile_media','Adgile Media','Real-time marketing intelligence and advertising tracking.Our Responsive Marketing platform helps advertisers get better results.','https://adgile.media/Privacy.aspx','https://adgile.media/default.aspx','2768',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adgoal','adgoal','\"Adgoal is the first German meta-network to over 8,000 affiliate programs from 15 affiliate networks combined and based on that developed innovative advertising formats. Our goal is to develop novel, content-based advertising solutions based on affiliate and CPC models and to create added value for website publishers and advertisers.\"','https://www.adgoal.de/en/privacy.html','https://www.adgoal.de/en/','2082',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adgoto','ADGoto','\"ADGoto, is one of the world''s largest online advertisement companies. We deliver scalable solutions for advertisers to cost-effectively acquire customers and for publishers to maximize their revenue.\"','http://adgoto.com/index.html','http://adgoto.com/','2185',NULL,'contact@adgoto.com',NULL);\nINSERT INTO companies VALUES('adhands','AdHands','\"Working on AdHands, we sought to create a reliable tool that will help our partners to improve the management of advertising campaigns on the Internet, to facilitate their analysis and will concentrate on strategic tasks.\"Translated by Google Translate','https://adhands.ru/auth/policies','http://promo.adhands.ru/','2186',NULL,'info@adhands.ru',NULL);\nINSERT INTO companies VALUES('adhese','Adhese','\"Adhese is a full scale ad management and ad serving tool. Adhese blends in elegantly with the way you work and publish information, integrating ads—or other content—with your websites, videos, email campaigns, smartphone or tablet applications.\"','https://adhese.com/privacy/','http://adhese.com','1427','BE','info@adhese.com',NULL);\nINSERT INTO companies VALUES('adhitz','AdHitz','\"AdHitz makes it easy to buy and sell advertising online, giving advertisers and publishers more transparency and control. With banner and text ads, AdHitz has created a simple and more effective advertising marketplace for advertisers and publishers of all sizes.\"','https://www.adhitz.com/en/Privacy_Policy','https://www.adhitz.com/','2140',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adhood','adhood','adhood provides an ad serving product, in addition to an analytics platform for advertising on its platform.','http://v3.adhood.com/tr/site/politikavekurallar/gizlilik.php','http://v3.adhood.com/','1252','TR',NULL,NULL);\nINSERT INTO companies VALUES('adikteev','Adikteev','WE HELP PUBLISHERS RECOGNIZE THEIR BEST USERS AND MONETIZE THEIR CONTENT WHILE HELPING ADVERTISERS TO TRANSFORM THE WAY THEY CONNECT WITH THEIR AUDIENCE','https://www.adikteev.com/privacy.html','https://www.adikteev.com/','3468',NULL,'privacy@adikteev',NULL);\nINSERT INTO companies VALUES('adimpact','Adimpact','\"Adimpact is a new breed [of pop-up] that bypasses the normal way pop-ups happen.\"\"Adimpact is website pop up marketing tool used by thousands of publishers and web marketers...anyone with a website can benefit from one or all of our valuable web promotion tools. There are no software downloads, no complicated server software to install. We host and serve everything from our servers so you can focus on making your business grow!\"','https://www.adimpact.com/privacy.html','https://www.adimpact.com/','2735',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adinch','Adinch','\"Adinch.com - mobile advertising network with a universal set of services.\"','https://adinch.com/termsandpolicies/policy/','https://adinch.com/','2201',NULL,'support@adinch.com',NULL);\nINSERT INTO companies VALUES('aditude','Aditude','Aditude is an ad tech company that provides a cloud-based monetization operating system for online publishers, helping them improve site performance and maximize ad revenue through tools like its prebid wrapper and video solutions.','https://www.aditude.com/privacy','https://www.aditude.com/','','US','privacy@aditude.io',NULL);\nINSERT INTO companies VALUES('adjs','ADJS','Open Source Code.','https://github.com/widgital/adjs','https://github.com/widgital/adjs','4196',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adjug','AdJug','AdJug is a UK-based online advertising exchange.  The marketplace connects buyers and sellers of online advertising.  They allow publishers to set the price and worth of their inventory while advertisers have transparency on where their campaigns are allowed to run.','http://www.adjug.com/info/privacy.asp','http://www.adjug.com/','460','GB','info@adjug.com',NULL);\nINSERT INTO companies VALUES('adjust','Adjust GmbH','Adjust is the industry leader in mobile measurement and fraud prevention.','https://www.adjust.com/terms/privacy-policy/','https://www.adjust.com/','4298','DE',NULL,NULL);\nINSERT INTO companies VALUES('adk2_plymedia','PLYmedia','\"Established in 2006, PLYmedia is a world leader in the development, deployment and service of technology platforms for digital advertising and online media content. PLYmedia delivers a range of services focused on monetization and localization of media for content owners, advertisers and publishers.\"','http://www.plymedia.com/privacy-policy/','http://www.plymedia.com/products/adk2/','1441','US','privacy@plymedia.com',NULL);\nINSERT INTO companies VALUES('adklip','adklip','\"Our unique video players allows publishers to monetize their editorial content with high paying, premium pre-roll commercials that used to only be available to publishers who produced video content.\"','https://adklip.com/privacy-policy/','http://adklip.com','2691',NULL,'support@adklip.com',NULL);\nINSERT INTO companies VALUES('adknowledge','Adknowledge','Adknowledge is a performance based network using predictive technologies to study anonymous consumer response patterns. The advertising platform allows marketers and content publishers to deliver more relevant advertisements to consumers through their technology.','http://www.adknowledge.com','http://www.adknowledge.com/','8','US','privacy@adknowledge.com',NULL);\nINSERT INTO companies VALUES('adkontekst','Adkontekst','\"Adkontekst is a network of contextual advertising. Our ads appear in 1500 the most reputable, opinion-making websites in Poland and on the top of search results of WP.pl/NetSprint.pl. The network is managed by NetSprint.pl and Wirtualna Polska.\"','http://netsprint.eu/','http://www.en.adkontekst.pl/','1489','US',NULL,NULL);\nINSERT INTO companies VALUES('adlabs','AdLabs','Group AdLabs - one of the leading groups in the area of ​​integrated online marketing, founded in 2000.','https://www.adlabs.ru/','https://www.adlabs.ru/','2054','RU',NULL,NULL);\nINSERT INTO companies VALUES('adlantic_online_advertising','AdLantic Online Advertising','AdLantic is as an advertising network specialized in high-tech online advertising. Their aim is to create effective and relevant display advertising campaigns for their clients. AdLantic works in conjunction with multiple ad networks worldwide to broaden advertising reach.','https://www.adlantic.nl/nl/privacy/','https://www.adlantic.nl/','651','NL',NULL,NULL);\nINSERT INTO companies VALUES('adlantis','AdLantis','AdLantis is an ad management platform to delivery, management, and optimization of ads served to mobile phones.',NULL,'http://www.adlantis.jp/','1048','JP',NULL,NULL);\nINSERT INTO companies VALUES('adless','Adless','Make money without showing ads in your website with the Adless tag. Your users will be part of our distributed computing platform solving Blockchain and Machine Learning problems.','https://www.adless.io/','https://www.adless.io/','5140',NULL,'support@adless.io',NULL);\nINSERT INTO companies VALUES('adlive','Adlive','Adlive server side Header Bidding is an innovative solution that allows publishers to simultaneously offer their inventories to an unlimited number of SSPs/ ADX and significantly optimizes their revenues.','https://adlive.io/aboutus.php','https://adlive.io/','5120',NULL,'content@adlive.io',NULL);\nINSERT INTO companies VALUES('adloox','Adloox','\"Our mission: to enable advertisers and media agencies to protect their digital communication and to help adnetworks and platforms to raise the value of their inventory.\"','http://adloox.com/disclaimer','http://www.adloox.com','1455','FR',NULL,NULL);\nINSERT INTO companies VALUES('adman','ADMAN','\"ADMAN platform is an advanced managing, delivering and monitoring targeted advertising campaigns web-service.\"','https://www.adman.gr/privacy','https://www.adman.gr/','1660','GR','contact@phaistosnetworks.gr',NULL);\nINSERT INTO companies VALUES('admans','Admans','Die AdManS GmbH wurde 2014 gegründet und hat ihren Hauptsitz in München.Kundenservice ist bei uns nicht einfach eine Floskel. Die Qualität unseres Service & die damit verbundene Zufriedenheit sehen wir durch unsere langfristigen Geschäftsbeziehungen bestätigt.','http://www.admans.de/datenschutz/','http://admans.de/de.html','4347',NULL,NULL,NULL);\nINSERT INTO companies VALUES('admaster','AdMaster (Jing Shuo Technology)','Miaozhen Systems - a third-party technology company that provides enterprise marketing growth services based on data and artificial intelligence .','http://www.admaster.com.cn/','http://www.admaster.com.cn/','3002','CN','help@admaster.com.cn',NULL);\nINSERT INTO companies VALUES('admatic','Admatic','AdMatic, Turkey''s first 100% domestic SSP (Supply Side Platform).','http://www.admatic.com.tr/#1page','http://www.admatic.com.tr/#1page','4231','TR','info@admatic.com.tr',NULL);\nINSERT INTO companies VALUES('admatrix','AdMatrix','Under the slogan of \"Technology & Marketing Company,\" our group is strengthening its Internet marketing business, centered on social media marketing, and its ad technology business, centered on \"afb,\" \"Webridge,\" and \"ADMATRIX DSP.\"','http://www.fullspeed.co.jp/privacy/','https://admatrix.jp/login#block01','4926','JP',NULL,NULL);\nINSERT INTO companies VALUES('admaxim','AdMaxim','\"AdMaxim is a leading advertising technology and mobile audience engagement company. AdMaxim provides agencies and advertisers with a complete, end-to-end, global mobile campaign management system enabling research, planning, creative development, targeted delivery and real-time optimization in one seamless system.\"','http://www.admaxim.com/admaxim-privacy-policy/','http://admaxim.com/','2493',NULL,NULL,NULL);\nINSERT INTO companies VALUES('admaya','Admaya','\"Admaya is an online adnetwork. We provide advertising solutions for advertisers of all sizes.\"','http://www.admaya.in/','http://www.admaya.in/','2189','IN',NULL,NULL);\nINSERT INTO companies VALUES('admedia','AdMedia','AdMedia is a performance-based advertising network. AdMedia connects advertisers to consumers across many channels including email, domain, social and search networks.','https://admedia.com/privacy/','https://admedia.com/','1001','US','copyright@AdMedia.com',NULL);\nINSERT INTO companies VALUES('admedo','Admedo','\"Admedo is the only fully transparent Programmatic Marketing Platform on the market with all the tools needed in one UI at one cost.\"','https://www.admedo.com/privacy-policy','https://www.admedo.com/','3222',NULL,NULL,NULL);\nINSERT INTO companies VALUES('admeira','Admeira','Admeira is a leading marketing company for TV advertising in Switzerland. As the exclusive partner of SRG SSR and other private media companies such as the TF1 Group, SWISS1 and several advertising pools, we represent strong brands in the TV sector. Our portfolio includes the diverse advertising environments of regional, national and international television stations.','https://www.admeira.ch/datenschutz','http://www.admeira.ch','5234','CH','datenschutz@admeira.ch',NULL);\nINSERT INTO companies VALUES('admeo.ru','Admeo.ru',NULL,NULL,'http://admeo.ru/','4408',NULL,NULL,NULL);\nINSERT INTO companies VALUES('admeta','AdMeta','Admeta operates as an online marketing company and provides advertising tracking services in Europe. It designs and develops a web based yield management tool for unsold inventory bidding and selling services. The marketing tool Admeta offers provide campaign management, reporting services and an online marketing platform for integration.','http://www.admeta.com/upload/Privacy%20Policy.pdf','http://www.admeta.com/','677','SE','leif@admeta.com',NULL);\nINSERT INTO companies VALUES('admicro','AdMicro','AdMicro is a Vietnamese online advertising solution.','https://admicro.vn/chinh-sach-bao-mat/','http://www.admicro.vn/','1258','VN','contact@admicro.vn',NULL);\nINSERT INTO companies VALUES('admitad','Admitad','\"admitad – a next-generation affiliate network\"','https://www.admitad.com/en/privacy/#','https://www.admitad.com/en/#','2202',NULL,'support@admitad.com',NULL);\nINSERT INTO companies VALUES('admixer','ADMIXER','Admixer is a global, independent AdTech company providing a full-stack programmatic ecosystem of proprietary solutions (DSP, SSP, DMP, ad servers, etc.) for brands, agencies, publishers, and media houses.','https://admixer.com/privacy/','https://admixer.com/','2952','DE','dpo@admixer.net',NULL);\nINSERT INTO companies VALUES('admo.tv','Admo.TV','Admo.tv is a TV and radio analysis platform allowing advertisers to benefit from additional information in order to optimize their different advertising campaigns.','https://www.admo.tv/en/','https://www.admo.tv/en/','4664','FR',NULL,NULL);\nINSERT INTO companies VALUES('admost','adMOST','\"Kokteyl released the first ad server application in 2002 which was the pioneer in the local market. As a result of Kokteyl’s focus on continuous improvement in terms of needs and preferences of the customers, adMOST -the new generation of the application- has been announced and became the leader of the market with its new and innovative technology.\"','http://docs.wixstatic.com/ugd/3fd3ae_6dd577e952044d4bbaca47194af7c55d.pdf','http://www.admost.com/','1222','TR','kokteyl@kokteyl.com',NULL);\nINSERT INTO companies VALUES('admotion','Admotion','Admotion is an Argentine based technology services company developing online advertising solutions. Their products include Admotion TV a video on demand platform, RichMedia Platform including interactive video, Reports Technology a reporting engine and a content delivery network.','http://www.admotion.com/policy/','http://www.admotion.com/','465','US','info@admotion.com',NULL);\nINSERT INTO companies VALUES('admulti','ADmulti','\"Admulti.com - unique advertising market, which helps advertisers find advertising platforms with the best prices, sites and profitable to sell advertising in any format for real prices.\"Translated by Google Translate','http://admulti.com/pages/about','http://admulti.com','2208',NULL,'support@admulti.com',NULL);\nINSERT INTO companies VALUES('adnami','Adnami','Adnami''s software makes it easy and scalable to create, measure and optimise high impact display ads for programmatic advertising.','https://www.adnami.io/privacy','https://www.adnami.io/','','DK','dpo@adnami.io',NULL);\nINSERT INTO companies VALUES('adnegah','Adnegah','ما شبکه تبلیغات ادنگاه هستیمشرکتی جوان، با انگیزه، خلاق و پویا در مسیر توسعه بازار تبلیغات اینترنتی','https://adnegah.net/','https://adnegah.net/','4804',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adnet.de','adNET.de','The adNET.de AdServer is the optimal solution for advertisers, agencies, marketers and webmasters.','http://www.adnet.de/index-6_datenschutz.html','http://www.adnet.de','2407','DE',NULL,NULL);\nINSERT INTO companies VALUES('adnet','Adnet','Adnet is a Global performance-based Internet Marketing Company servicing many of the World’s Largest Email and Display Marketers.','https://adnet.com/#whoweare','https://adnet.com/','1943','VN',NULL,NULL);\nINSERT INTO companies VALUES('adnet_media','Adnet Media','Provides publishers with a platform to manage their ad inventory and maximize their revenue. They offer access to 15+ header bidding partners, Google Ad Exchange, Google Open Bidding, programmatic deals, direct orders and automated programmatic optimization solutions.','http://www.adnetmedia.lt/','http://www.adnetmedia.lt/','2221','LT','gdpr@digitalmatter.ai',NULL);\nINSERT INTO companies VALUES('adnetwork.net','AdNetwork.Net','AdNetwork.net is a performance advertising network with focus over Latin America, US, and Europe.',NULL,'http://www.adnetwork.net/','1159','AR','customers@adnetwork.net',NULL);\nINSERT INTO companies VALUES('adnexio','AdNexio','AdNexio is a personalized re-targeting solution enabling advertisers to run personalized re-targeting campaigns independent of which online media the campaign is planned to run on giving the advertiser full control of which publishers and networks to run Personalized Re-Targeting campaigns on.   Based on your website visitors engagement in terms of browsing history, AdNexio dynamically segments your visitors into unique segments, setting the basis for customized ads for each non-converted visitor with the highest campaign ROI% as a result. When visitors decide to purchase a given product from an advertiser webshop, AdNexio segments those converted users into complementary segments, targeting the converted users with complementary products to the initially purchased product.',NULL,'http://adnexio.com/','4522',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adnologies_gmbh','ADNOLOGIES GmbH','\"ADNOLOGIES GmbH is an independent supplier of software solutions for contemporary digital marketing to agencies, sales houses, networks and the operators of portals.\"','http://ads.heias.de/w3c/policy.html','http://www.adnologies.com/en/','466','DE','info@adnologies.com',NULL);\nINSERT INTO companies VALUES('adnow','Adnow','Adnow.com is an advertising agency offering a user-friendly platform for interaction between webmasters and advertisers.','https://adnow.com/privacy-policy','https://adnow.com/','4281','BG',NULL,NULL);\nINSERT INTO companies VALUES('adnymics','Adnymics','\"We are young, dynamic and in Munich!Adnymics is a start-up based in Munich, Germany. We offer a unique, innovative and uncomplicated one-to-one customer retention system, that allows online-shops and fulfillment service providers to print personalized product brochures, that are put in their packages.We love print and believe in the power of trust!Advertisers trust print-media, because it creates credibility and trust and it''s viewed and perceived more than other media. We are fascinated by the combinability of online and print!\"','https://adnymics.com/en/impressum/','https://adnymics.com/en/','4274',NULL,'info@adnymics.com',NULL);\nINSERT INTO companies VALUES('adobe','Adobe','Adobe provides digital media and digital marketing solutions.','https://www.adobe.com/privacy.html','https://www.adobe.com/','414','US','https://www.adobe.com/privacy/privacy-contact.html',NULL);\nINSERT INTO companies VALUES('adocean','AdOcean','AdOcean is a Poland based technology company.  Their ad serving system separates the main server, which acts as the management system, from the ad impression servers.  This allows for effective management on a high volume of advertisements by requiring less communication between the server and the web browsers of the users. The data on each ad impression are recorded in a database and used to build statistics for campaigns. AdOcean is a Gemius S.A. company.','http://adocean.cz/en/privacy.html','http://adocean.cz/en','468','PL','kontakt@adocean.pl',NULL);\nINSERT INTO companies VALUES('adon_network','AdOn Network','AdOn Network is a pay-per-click (PPC) advertising network that provides custom PPC search engine advertising solutions for its clients. AdOn Network is owned by PV Media Group.','https://www.adonnetwork.com/default.htm?c=5&r=0','https://www.adonnetwork.com/','1177','US','customerservice@adonnetwork.com',NULL);\nINSERT INTO companies VALUES('adonion','AdOnion','AdOnion provides an Internet display advertising marketplace. It''s operating principals are to be transparent, and provide advertisers and publishers with ''more'' control over transactions conducted across their network. AdOnion is a product of Yesup Ecommerce Solutions, Inc.','http://www.adonion.com/home/privacy','http://www.adonion.com/','1032','US','webmaster@AdOnion.com',NULL);\nINSERT INTO companies VALUES('adonly','AdOnly','\"Adonly is a leading advertising platform that allows publishers and advertisers to reach the international market using outstanding technology combined with advanced targeting capabilities over display, mobile phone and inventory then monitoring, analyzing and improving results.\"','https://adonly.com/page/privacy-policy.html','https://adonly.com/','3050',NULL,'support@adonly.com',NULL);\nINSERT INTO companies VALUES('adoperator','AdOperator','Convenient self-serve DSP for advertisers and ad networks','https://adoperator.com/','https://adoperator.com/','1490','US',NULL,NULL);\nINSERT INTO companies VALUES('adoric','Adoric','Help websites reach their potential - To become the leading digital marketing services provider through innovation. Adoric aims to become an integral part of any digital marketing plan. With our revolutionary product, we provide businesses a simplified way to optimize their site’s conversion with immediate effectiveness.','https://adoric.com/privacy','https://adoric.com/','4627',NULL,'support@adoric.com',NULL);\nINSERT INTO companies VALUES('adorika','Adorika','Adorika is an online display ad network, specializing in mobile advertising. They also provide consulting services for the most prevalent advertising units on the Mobile Web.','https://adorika.com/Privacy_Policy','https://adorika.com/','940','US',NULL,NULL);\nINSERT INTO companies VALUES('adosia','Adosia','Adosia is the industry leader in viewable impression ad serving technologies.  Adosia''s vCPM revenue models guarantee our Advertiser Network the viewability of every billable impression.  In addition to offering viewable impressions, Adosia''s Ad View Optimization technology bridges the gap to viewability by significantly increasing ad viewability rates of traditional CPM campaigns.','https://adosia.com/privacy.php','https://adosia.com','3904',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adotmob','Adot','Cross-device marketing suite ranging from analysis to identification of your audiences to their media activation.','https://we-are-adot.com/privacy-policy/','https://we-are-adot.com','5305','FR',NULL,'Rebranded 2018');\nINSERT INTO companies VALUES('adpartner','adpartner','\"Effective internet advertising solutions for your business\"','https://adpartner.pro/','https://adpartner.pro/','5247',NULL,'info@adpartner.pro',NULL);\nINSERT INTO companies VALUES('adperfect','AdPerfect','\"AdPerfect is a technology company providing software-as-a-service advertising solutions. We provide media publishers with various advertising solutions designed to achieve maximum revenue. By integrating print, online, and mobile platforms we offer full-service advertising solutions.\"','http://www.adperfect.com/privacy-policy/','https://www.adperfect.com/','1261','US',NULL,NULL);\nINSERT INTO companies VALUES('adperium','Adperium','AdPerium is a banner advertising network with an audience focus of male adults ages 18 to 34.  Their services are primarily directed toward entertainment and technology vertical markets and targeting capabilities include user interests, search keywords and search history.','http://www.adperium.com/privacy','http://www.adperium.com/','434','NL','infor@imperium.com',NULL);\nINSERT INTO companies VALUES('adpilot','AdPilot','\"Personalized Retargeting... Start using personalized retargeting to promote your business! Our tool can be tailored to your needs, thus increasing you sales...\"Translated by The AdPilot Group','http://en.adpilot.com/index.php?pid=privacy-opt-out','http://en.adpilot.com/','2985',NULL,'privacy@adpilot.com',NULL);\nINSERT INTO companies VALUES('adplan','AdPlan','AdPlan is a mobile advertising ''effectiveness measurement'' platform. AdPlan is powered by the Platform ID technology provider.','https://www.opt.ne.jp/about/privacy.html','http://www.adplan.ne.jp/','1037','US','privacy@opt.ne.jp',NULL);\nINSERT INTO companies VALUES('adplus','ADPLUS','\"AdPlus is a digital media advertising company, our services include digital ads placement using various form of banners, Search Engine Marketing, Social Media Advertising and also Search Engine Optimization.\"','http://www.adplus.co.id/main/standard-page/privacy-policy','http://www.adplus.co.id/','2297',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adprofy','AdProfy','\"AdProfy [is a] cost-per-click advertising network with revolutionary display advertising throughout the world. We provide with online advertising campaigns for advertisers and advertising agency customers.\"Translated by Google Translate','http://adprofy.com/rules','http://adprofy.com/','2697',NULL,'support@adprofy.com',NULL);\nINSERT INTO companies VALUES('adpulse.ir','AdPulse.ir','Suppose you are selling frames in Mobile by Apple in Tehran are some people in the city you desire (Mslathran) at specific hours (eg hours of 10 to 20 being able to serve you) by means of their personal (eg, smartphone or tablet) that belong to a particular company is (for example, Apple) on the internet studying about what is exactly your product or service related he''s (like getting a paper on the feasibility study update iPhone OS side) imagine this person at the same time and the same page, you see ads related to your site or store, of course, likely to click on this user Ads you and become your customer much more. Why? Because your ads related to what exactly has he been interested, and have been looking for Mykhvndh ..! This means that the best person','http://adpulse.ir/','http://adpulse.ir/','4863',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adpushup','AdPushUp, Inc.','\"AdPushup is an AdTech product that helps optimize online ad revenues by using advanced automated A/B Testing (a proprietary multi-arm bandit algorithm). \" (http://yourstory.com/)','https://www.adpushup.com/privacy.php','https://www.adpushup.com/','3507',NULL,'info@adpushup.com',NULL);\nINSERT INTO companies VALUES('adpv','Adpv (ADG Advertising Marketplace)','\"ADG is an Advertising Marketplace that lets you create and plan advertising campaigns, online and offline, in an easy and fast. A complete network...segmented by category, destination of the campaign (display, sponsored post or newsletter), theme, business model, geolocation, time, etc. Enables advertisers to reach specific targets and to maximize their online advertising campaigns.\"Translated by Google Translate','https://www.adpv.com/terminos','http://www.adpv.com/','1845',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adreactor','AdReactor','AdReactor is an ad network. They offer a range of targeted ad serving and optimization services geared toward advertisers as well as fill rate guarantees for publishers'' ad inventory on the network.','https://www.adreactor.com/info/privacy.html','https://www.adreactor.com/','960','US','info@adreactor.com',NULL);\nINSERT INTO companies VALUES('adrecord','Adrecord','\"Adrecord is an affiliate network that connects advertisers with publishers. The advertisement is performance-based with no fixed costs and which advertisers pay only for generated sales.\"Translated by Google Translate','https://www.adrecord.com/sv/terms-and-conditions','https://www.adrecord.com/','2392',NULL,'info@adrecord.com',NULL);\nINSERT INTO companies VALUES('adresult','AdResult','GMO AD Partners Group, Agency, media content management, ad technology from development to media representative, is a group of companies which offers a service in a wide range of business areas involved in the provision of Internet advertising.','https://www.adresult.ch/','https://www.adresult.ch/','3296','CH','info@adresult.ch',NULL);\nINSERT INTO companies VALUES('adroll','AdRoll','AdRoll offers banner advertising and retargeting solutions. AdRoll''s product suite includes display advertising, retargeting, and a social media buzz-builder tool. For display advertising, AdRoll qualifies niche websites and blogs, locating the most relevant content for a brand. AdRoll''s self-service, cross-platform retargeting solution finds customers that did not convert on their first visit and by showing them a brand''s ads, bring them back when they''re ready to buy. AdRoll''s Buzz Builder provides a direct line of communication between advertisers and the publisher sites.','https://www.adroll.com/about/privacy','https://www.adroll.com/','412','US','delight@adroll.com',NULL);\nINSERT INTO companies VALUES('adru.net','Adru.net','\"Exchange network Adru.net - a flexible mechanism for the exchange of traffic between the projects of the Joint Editorial web NEWSru.com and various Internet resources: social, political, information and news projects.\"Translated by Google Translate','http://adru.net/','http://adru.net/','2182',NULL,'support@234.adru.net',NULL);\nINSERT INTO companies VALUES('adrunnr','AdRunnr',NULL,NULL,'https://adrunnr.com/','4999',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adsame','AdSame','As a pioneer of China''s intelligent digital marketing, driven by industry-leading ad serving and data analysis technology, AdSame integrated media resources efficiently, and learned audiences''behaviors profoundly.\"','http://www.adsame.com/english/about/privacy.html','http://www.adsame.com/english/','2150',NULL,'service@adsame.com',NULL);\nINSERT INTO companies VALUES('adscience','Adscience','\"AdScience is fully dedicated to the development of technologies that enable the online media community to achieve higher returns by making use of smart algorithms. For this purpose the company developed a self-learning system called NOAX.\"','https://www.adscience.nl/privacy-policy-for-adscience/','https://www.adscience.nl/','2292',NULL,'support@adscience.nl',NULL);\nINSERT INTO companies VALUES('adsensecamp','AdsenseCamp','\"AdsenseCamp is a website that gives you the opportunity to earn additional income by providing space on your website as an advertising spot for the advertiser. AdsenseCamp also provides an opportunity for advertisers who wish to promote their ads that will be distributed to the owners of websites that have a network in AdsenseCamp.\"','https://adsensecamp.com/about','http://adsensecamp.com','1629','US',NULL,NULL);\nINSERT INTO companies VALUES('adserverpub','AdServerPub','\"Website developers receive excellent compensation while advertisers benefit from better brand exposure within a high-quality network.\"','http://www.adserverpub.com/en/privacy/','http://www.adserverpub.com/','1366','US',NULL,NULL);\nINSERT INTO companies VALUES('adservice_media','Adservice Media','\"Adservice offers complete solutions to meet your requirements within online marketing. We can offer everything from targeted, segmented campaigns on to online mass communication. We work with E-mail permission marketing medias, websites, and a large, effective network of professional media partners.\"','http://www.adservicemedia.com/','http://www.adservicemedia.com/','1434','DK','info@adservice.dk',NULL);\nINSERT INTO companies VALUES('adside','AdSide','AdSide is a pay-per-click ad network, serving content publishers, advertisers and media agencies. AdSide''s 2-Step Click™ model gauges pre-click user interest, to ensure that advertisers pay only for leads that are more likely to convert. Publishers benefit from a platform that blends high advertiser quality with a yield optimizing technology.','http://www.adside.com/privacy.html','http://www.adside.com','337','US','privacy@adside.com',NULL);\nINSERT INTO companies VALUES('adskeeper','Adskeeper','Adskeeper’s mission is to connect affiliate marketing players by creating an all-inclusive hub that combines digital marketing tools with a diverse range of native ad formats for successful advertising campaigns.','http://adskeeper.co.uk/','http://adskeeper.co.uk/','2650','GB','support@adskeeper.co.uk',NULL);\nINSERT INTO companies VALUES('adskom','ADSKOM','\"ADSKOM is an Advertising Technology company with dedicated mission to empower digital advertising industry with programmatic advertising platforms and insightful business services...\"','http://adskom.com/','http://adskom.com/','3456',NULL,'info@adskom.com',NULL);\nINSERT INTO companies VALUES('adslot','Adslot','\"Adslot’s leading programmatic direct platform is a purpose built media trading solution to meet the needs of buyers and sellers of premium display advertising. Adslot benefits publishers, agencies and advertisers alike by providing structural efficiencies in the way premium display media is traded.\"','http://www.adslot.com/adslot-about/#overview','https://www.adslot.com/','2941',NULL,'privacy@adslot.com',NULL);\nINSERT INTO companies VALUES('adsmurai','ADSMURAI','ADSMURAI S.L. is a Spanish-based technology company specializing in the strategy, automation, and optimization of digital marketing campaigns, offering a unified marketing platform and services that combine AI with human expertise for managing paid media.','https://www.adsmurai.com/en/privacy','https://www.adsmurai.com/','','ES','privacy@adsmurai.com',NULL);\nINSERT INTO companies VALUES('adsnative','AdsNative','\"Maximize Native Revenue, Automatically:  Supply Side Platform for premium publishers to expedite their native ad strategies.\"','http://adsnative.com/privacy-policy/','http://adsnative.com/','3277',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adsninja','Adsninja Affilate Network','AdsNinja offers technical solutions and consulting that increase company’s sales online.',NULL,'https://www.adsninja.com/','','FI','info@adsninja.com',NULL);\nINSERT INTO companies VALUES('adsniper','AdSniper','\"AdSniper is an automatic ad placement system, modifying costs in real-time according to the changes in the campaign results.\"Translated by AdSniper LLC','https://ad-sniper.com/doc_pzi_en.html','http://adsniper.ru/','3162',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adspeed','AdSpeed','AdSpeed is an independent ad server and ad manager. Their technology tracks and reports real-time statistics on impressions, clicks, and conversions. The platform serves ads to viewers instantly through built in targeting mechanisms and also presents comprehensive and intuitive performance reports to clients.','https://www.adspeed.com/Privacy-Statement.html','https://www.adspeed.com/','435','US','support@adspeed.com',NULL);\nINSERT INTO companies VALUES('adspirit','AdSpirit GmbH','AdSpirit.de is an independent ad serving solution that provides an ad serving platform for publishers/advertisers, marketers and agencies. AdSpirit is a Linux-based system with an Apache server and mySQL as the database server.','https://www.adspirit.de/privacy','http://www.adspirit.de','1326','DE',NULL,NULL);\nINSERT INTO companies VALUES('adspyglass','AdSpyglass','AdSpyglass - Ad networks mediation service for publishers and website ownersIf you work with ExoClick, PopCash, Ero-Advertising, JuicyAds and others, you can increase your income up to 100%. AdSpyglass automatically selects the most profitable offers from ad networks and displays ads with the highest CPM on you websites.AdSpyglass is already being used by over 1900 websites, 4800 ad campaignsdisplaying over 156 Million ads daily.','https://www.adspyglass.com/','https://www.adspyglass.com/','4778',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adstage','AdStage','\"The AdStage platform brings together usability, smart design and intelligence technology to help businesses make sense of their ad data.\"','https://www.adstage.io/terms-and-conditions/','https://www.adstage.io/','2900',NULL,'support@adstage.io',NULL);\nINSERT INTO companies VALUES('adstanding','AdStanding','Founded in 2015, AdStanding is an international provider of specialized business solutions and technology. AdStanding provides an exchange and supply management platforms for global publishers that manages multilingual websites, portals, and apps (mobile and tablet). Having gained a 1B impressions a month footprint in English markets, it also specializes in French and Spanish inventory across Canada, the U.S., Europe and Central America. With offices in Montreal, Toronto, New York and Miami, Adstanding redefines the standards of advertising for the most experienced marketers.Many companies, large and small, rely on our services to account effectively, reliably and profitably, advertising posted on their websites, and also allow advertisers to target the right visitor, at the right time, in the right environment with the right message.','https://www.adstanding.com/en/privacy-policy/','https://www.adstanding.com/en/','4879',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adstars','AdStars','\"AdStars, the brand of our Digital Advertising Media Company, has built a comprehensive mobile and internet advertising inventories in order to serve Brand Owners to engage with digital audience.\"','https://adstars-blog.tumblr.com/','https://adstars-blog.tumblr.com/','2298',NULL,'sales@adstars.co.id',NULL);\nINSERT INTO companies VALUES('adsterra','AdsTerra','\"Publishers: Boost your Advertising Revenue! Our publisher program offers unique advantages for publishers with quality traffic. We offer highest CPM rates and dedicated customer support... Advertisers: Delivering to your Audience. We offer advanced targeting by GEO location, sites, categories, devices (web and/or mobile) and keywords to reach your audience. AdsTerra''s multiple ad formats are tailored to your product''s requirements...\"','https://adsterra.com/doc/Adsterra%20Terms%20&%20Conditions.pdf','http://adsterra.com','3028',NULL,'support@adsterra.com',NULL);\nINSERT INTO companies VALUES('adsupply','AdSupply','\"AdSupply is a rich-media advertising network with focused technology, exclusive global publishing sites, in-house lead and content generation properties, and a better approach to customer service.\"','https://www.adsupply.com/privacy-policy/','http://www.adsupply.com/','2159',NULL,'info@adsupply.com',NULL);\nINSERT INTO companies VALUES('adswizz','AdsWizz','\"AdsWizz is an innovative technology provider of on-line audio and video adverstising solutions with offices in California and Europe. AdsWizz is gradually becoming the leading global advertising solution provider to the on-line audio and radio industries. AdsWizz'' customers are leading online ad-sale houses, publishers, music platforms and advertisers.\"','https://www.adswizz.com/Our-privacy-policy/','https://www.adswizz.com/','1842',NULL,'contact.us@adswizz.com',NULL);\nINSERT INTO companies VALUES('adtaily','AdTaily','\"AdTaily is a modern network of advertising, which since 2008 creates an advertising platform for publishers and advertisers.\"','http://www.adtaily.pl/polityka-prywatnosci/','http://www.adtaily.pl/','1491','US','kontakt@adtaily.com',NULL);\nINSERT INTO companies VALUES('adtarget.me','Adtarget.me','\"More then 10 years experience on Lithuanian, Latvian and Estonian internet advertising markets. Adtarget.me is created by experienced team who has developed biggest Baltic internet advertising networks Adnetmedia.lt and Adclick.lt.\"','https://adtarget.me/privacy.html','https://www.adtarget.me/','3512',NULL,'privacy@adtarget.me',NULL);\nINSERT INTO companies VALUES('adtegrity','Adtegrity','Adtegrity is an online advertising network focused primarily on entertainment oriented Web properties but also engaged with sites devoted to business, technology and women''s interest content.  Adtegrity targets ad content through contextual, geographic and demographic data.  The network provides targeting, optimization and analytics.','http://www.adtegrity.com/privacy-policy','http://www.adtegrity.com/','214','US','support@adtegrity.com',NULL);\nINSERT INTO companies VALUES('adtheorant','AdTheorent, Inc','AdTheorent’s is a machine learning technology powers predictive targeting, predictive creative, and self-learning insights.','https://adtheorent.com/privacy-policy','https://adtheorent.com/','3622','US','legal@adtheorent.com',NULL);\nINSERT INTO companies VALUES('adthink','Adthink','Adthink offers a full line of smart performance digital advertising services. Since 2001, we have pursued a single mission: helping advertisers acquire online customers, by making advertising return on investment the main objective of every campaign.Adthink’s advertising solutions encompass the entire value chain of online marketing, from Display Network to Affiliate Network, with its own independent Trading Desk, and its team of experts in Data Activation and Customer Acquisition, ensuring total control over every step in conveying our clients’ messages to consumers.Online advertising is a complex and technology-driven industry, and its landscape is always evolving. That’s why Adthink has always placed R&D investments at the centre of its strategy. After proposing the first video streaming advertising offer in 2001, Adthink was named an Innovative New Company by the French Investment Bank (Bpifrance) and the French Ministry of Research. Adthink also took home the Deloitte Technology Fast 50 trophy.Adthink (ALADM) made its initial public offering on the Euronext market in 2007 and is now a leading European smart performance advertising agency. The company is based in Lyon and has offices in Paris, Lisbon, Geneva and San Francisco.','https://adthink.com/terms/privacy/','https://adthink.com','1118','US',NULL,NULL);\nINSERT INTO companies VALUES('adtiger','AdTiger','AdTiger is an German marketing agency. AdTiger.de is a project of arejo Ltd.','https://www.adtiger.de/diverse-seiten/datenschutz9/','http://www.adtiger.de','341','DE','jan.winkler@adtiger.de',NULL);\nINSERT INTO companies VALUES('adtima','Adtima','Adtima designs and deploys innovative experiences and plans of action to help its brands and their users.','https://adtima.vn/','https://adtima.vn/','3642','VN',NULL,NULL);\nINSERT INTO companies VALUES('adtoma','Adtoma','\"Adtoma is an online advertising and media management company based in Sweden...The company’s flagship product offering is Fusion – a powerful software solution that integrates and streamlines the entire media supply chain, simplifying the organisations Workflow – from proposal through orders and sales management to advertising operations, resulting in a dramatic increase in efficiency and reliability.\"','http://www.adtoma.com/privacy/','http://www.adtoma.com/','2286',NULL,'info@signia.se',NULL);\nINSERT INTO companies VALUES('adtraction','Adtraction','\"Adtraction is an affiliate network, an automated system where advertisers who want to increase their sales matched with affiliates who wish to receive advertising revenue from their websites.\"','https://adtraction.com/sv/privacy','https://adtraction.com/','1492','US','info@adtraction.com',NULL);\nINSERT INTO companies VALUES('adtrax','AdTrax','AdTrax makes it super easy to manage hundreds of affiliates at one place. Packed with powerful features, AdTrax lets you have complete control over your mobile campaigns, gain valuable insights and optimize auxiliary processes like Payout Management, Invoicing and many more.AdTrax is all you will ever need to run successful global mobile campaigns.','http://adtrax.com/privacy-policy','http://adtrax.com/','2180',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adtrue','AdTrue','Established in September 13, 1988, with Information technology and Telecommunications as its core business sectors, FPT has produced over US$1.8 billion revenues. With nearly 27,000 employees, including 12,241 technology experts, engineers, developers, FPT provides services to 63 provinces and cities in Vietnam and has FPT has also constantly expanded globally to a current presence in 19 countries in 4 continents: America, Australia, Europe and Asia. Simultaneously, FPT has pioneered in new technology trends, helping to affirm Vietnam’s position in the world technology map.','https://adtrue.com/','https://adtrue.com/','4648',NULL,'hello@adtrue.com',NULL);\nINSERT INTO companies VALUES('adtrustmedia','AdTrustMedia','\"Our unique cloud based placement technology lowers costs while improving the quality of the placement of your web ads.\"','https://adtrustmedia.com/policy','https://adtrustmedia.com/','2876',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adtube','AdTube','ادتیوب بزرگ ترین شبكه مختص ناشرین اینترنتی در ایران است كه در حال حاضر به تامین حدود ٨٠ میلیون نمایش بنر در روز می پردازد. در واقع ادتیوب از یك سو با تامین جایگاه های نمایش بنرهای وب و موبایل وب برای شبكه های تبلیغاتی و آژانس های بازاریابی آن ها را از یك شبكه نمایش هدفمند و با كیفیت بهره مند می كند و از سوی دیگر با تامین آگهی به وب سایت ها و ناشرین اینترنتی كمك می نماید تا درآمد خود را خود بهینه و ماكزیمم سازند.','http://adtube.ir/','http://adtube.ir/','4973',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adult_adworld','Adult AdWorld','Adult AdWorld is an advertising network focused on display advertising.  They specialize in targeted advertising on adult content websites for their clients.','http://www.adworldmedia.com/privacy-policy/','http://www.adworldmedia.com/','9','US','pubsupport@adworldmedia.com',NULL);\nINSERT INTO companies VALUES('adult_webmaster_empire','Adult Webmaster Empire','\"Adult Webmaster Empire (AWE), the web''s premiere live webcam affiliate program.\"','https://www.awempire.com/privacy-policy','https://www.awempire.com/','1556','US','webmaster@awempire.com',NULL);\nINSERT INTO companies VALUES('adup_technology','ADUP Technology','\"Our self-developed tool regularly checks and monitors programmatic traffic. The latest machine-learning algorithms and manual controls create maximum brand safety so you can sleep peacefully while your campaigns are online.\"','https://www.adup-tech.com/privacy','https://www.adup-tech.com','5268',NULL,'info@adup-tech.com',NULL);\nINSERT INTO companies VALUES('advaction','Advaction','We specialize in providing advertising services with payment for results and advising clients in building internal systems for monitoring the effectiveness of online advertising. We work with clients of a wide variety of profiles: investment companies and banks, companies specializing in e-commerce and individuals.','https://advaction.ru/terms.php','https://advaction.ru/','2949','RU','info@advaction.ru',NULL);\nINSERT INTO companies VALUES('advalo','Advalo','Predictive Marketing Platform that leverages AI to detect intent-rich moments throughout the consumer journey.','https://www.advalo.com/politique-donnees-personnelles','https://www.advalo.com','5223','FR','contact@advalo.com',NULL);\nINSERT INTO companies VALUES('advanced_store','advanced store','advanced store GmbH develops online marketing solutions for publishers and advertisers. With our cloud-based platform, we form the technological interface between advertisers and publishers and offer access to web, mobile, streaming & digital-out-of-home (DOOH).','https://www.advanced-store.com/data-privacy/','https://www.advanced-store.com/','','DE','privacy@advanced-store.com',NULL);\nINSERT INTO companies VALUES('advark','Advark','\"The Advark Video SSP allows publishers to manage video advertising via a single platform, making available their video inventory to a variety of demand-side platforms, video advertising networks, ad agencies and direct advertisers.The Advark Video SSP offers every video advertising format (All-roll, Mobile, Content-roll, TopLine, Video-Banner, Overlay) for both desktop and mobile. Monetize every view, on every device from every visitor from every point of the globe.Our SSP platform uses advanced algorithms to automatically set priorities for ad formats and ad sources to increase advertising fill on your inventory, raise eCPM''s and maximize revenue.Connect to ad sources from Eurasia, Europe, North America and further abroad. Advark is the only Video SSP that is optimized for monetizing Eastern European, Russian and Central Asian websites across both domestic and international traffic.\"','https://advarkads.com/confidential','https://advarkads.com/','4090',NULL,'publishers@advarkads.com',NULL);\nINSERT INTO companies VALUES('advenity','Advenity','\"Advertise with your own mark network that drives targeted traffic to your website. Publish social marks to improve your site''s visitor engagement and sales conversion.\"','https://advenity.blogspot.com.co/','https://advenity.blogspot.com.co/','2732',NULL,'info@enernetics.com',NULL);\nINSERT INTO companies VALUES('adventori','ADventori SAS','\"ADventori increases digital advertising efficiency by leveraging real-time data from the publisher, the user and the advertiser to deliver a relevant message into the ad and the landing page.ADventori creates useful, relevant and personalized ads scenarios on every digital channel : banners, emails, video, mobile.\"','https://www.adventori.com/with-us/legal-notice/','https://www.adventori.com/','3265',NULL,'contact@adventori.com',NULL);\nINSERT INTO companies VALUES('adverline','Adverline','Adverline is an online advertising network based in France. Their proprietary ad serving technology adapts to various evolving formats and provides optimization for online advertising campaigns. Services for publishers include technology that serves ads related to the context of content on each site.','http://www.adverline.com/en/privacy-policy/','http://www.adverline.com/en/','681','FR',NULL,NULL);\nINSERT INTO companies VALUES('adversal','Adversal','Adversal is an ad network that offers its clients various ad serving customization options including several ad size formats and geotargeting options.','https://www.adversal.com/privacy.html','https://www.adversal.com/','1098','US',NULL,NULL);\nINSERT INTO companies VALUES('adverserve','adverServe','\"[adverServe] provides full service in the fields of media and technology. From campaign set-up, through database and campaign management, to integration of third-party tags campaign, optimization requirements as well as the management and development of new forms of advertising.\"Tranlated by Google Translate','http://www.adverserve.com/fileadmin/adverserve/dokumente_download/datenschutzerklaerung_adverserve_29.8_RV_englisch.pdf','https://www.adverserve.com/','2726',NULL,'welcome@adverServe.com',NULL);\nINSERT INTO companies VALUES('adverteerdirect','Adverteerdirect','\"Advertise Direct makes buying and selling of advertising space easier than ever before. You can also submit your site to Advertise Direct. Potential advertisers can search by keyword and by category.\"','http://www.adverteerdirect.nl/privacy/','http://www.adverteerdirect.nl/','1430','NL',NULL,NULL);\nINSERT INTO companies VALUES('adverticum','Adverticum','\"Adverticum AdServer is a complex but easy to use cost-efficient ad serving solution that minimizes the campaign administration and maximizes the inventory monetization.\"','https://adverticum.net/adatvedelmi-nyilatkozat/','https://adverticum.net/english/','1966','US',NULL,NULL);\nINSERT INTO companies VALUES('advertise.com','Advertise.com','Advertise.com is the premier web based platform for Keyword Pay Per Click (PPC), Email, Display, and Remarketing, advertising solutions.','http://www.advertise.com/privacy-terms/','https://www.advertise.com/','1046','US',NULL,NULL);\nINSERT INTO companies VALUES('advertisespace','AdvertiseSpace','AdvertiseSpace is a self-serve online advertising program. Their platform allows website, blog and iPhone application owners to list their ad space for sale in the AdvertiseSpace ad buyer directory.','https://www.advertisespace.com/privacy','https://www.advertisespace.com/','924','US',NULL,NULL);\nINSERT INTO companies VALUES('advertlets','Advertlets','\"Advertlets.com is an Asian blog/weblog advertising network that offers the remarkably sensible proposition of targeted, unintrusive advertising that benefits the online advertising and blogger community, as well as their readers.\"','http://www.advertlets.com/privacy-policy/','http://www.advertlets.com/','2419',NULL,'info@advertlets.com',NULL);\nINSERT INTO companies VALUES('advertserve','AdvertServe','AdvertServe is an enterprise-grade hosted ad serving solutionComplete with an easy to use web-based control panel and a powerful API','https://www.advertserve.com/privacy.html','https://www.advertserve.com/','1269','US',NULL,NULL);\nINSERT INTO companies VALUES('advidi','Advidi','\"We’ve made it our mission to find the best offers that perform around the globe and bring them to you, at the best possible rates. We provide more “direct to merchant” offers than anyone in the industry... We’ve developed specific revenue generating programs using a wide range of exclusive online tools, verticals and metrics so Advidi clients receive maximum return.\"','https://advidi.com/wp-content/uploads/2017/05/Terms-and-Conditions-October-2016.pdf','https://advidi.com/','3175',NULL,NULL,NULL);\nINSERT INTO companies VALUES('advmaker.ru','advmaker.ru','\"Advmaker Advertising Network was created in April 2008...We work with both large portals and small narrowly focused sites.\"','https://advmaker.net/policy/','http://advmaker.ru/','1464','RU',NULL,NULL);\nINSERT INTO companies VALUES('advolution','Advolution','\"Advolution specializes in web based software development and interface design for digital marketing processes.\"','http://www.advolution.de/datenschutz.php','http://www.advolution.de','3036',NULL,'info@digitalcontrol.biz',NULL);\nINSERT INTO companies VALUES('adwebster','adwebster','\"adwebster is a technology company that specializes in the operation and maintenance of digital advertising networks.\"Translated by Google Translate','http://adwebster.com/Pages/about/Data-Protection-Policy.aspx','http://adwebster.com','3301',NULL,'info@adwebster.com',NULL);\nINSERT INTO companies VALUES('adwit','Adwit','\"Adwit is more than just online ad display. It comes from 6 years ofresearch and development - a high performance ad management system.\"','http://www.adwitserver.com','http://www.adwitserver.com','1355','CA','contact@adwitserver.com',NULL);\nINSERT INTO companies VALUES('adxion','adXion','\"Since 2010 we have a strong technology platform, a great professional team and the support of the most important websites of Chile, allowing adXion be projected as the premium online advertising platform''s largest country.\"Translated by Google Translate','http://www.adxion.com/site/politicas/politicas.html','http://www.adxion.com','2163',NULL,NULL,NULL);\nINSERT INTO companies VALUES('adxpansion','AdXpansion','AdXpansion is a contextual advertising network for the adult community. Their proprietary content matching platform allows advertisers of all sizes to compete for high volume targeted traffic. Publishers can benefit from AdXpansion''s competition based bidding system.','http://www.adxpansion.com/en/index/privacy','http://www.adxpansion.com/','755','CA',NULL,NULL);\nINSERT INTO companies VALUES('adyoulike','Open Web','OpenWeb is a social engagement platform that builds online communities around digital content. OpenWeb works with publishers to bring conversations back from social networks to publisher sites.','https://www.openweb.com/legal-and-privacy/','https://www.openweb.com/','2629','US','privacy@openweb.com','In April 2022, OpenWeb acquired French advertising company Adyoulike for a mix of cash and stock, with a total value of $100M. https://en.wikipedia.org/wiki/OpenWeb');\nINSERT INTO companies VALUES('adzerk','Adzerk','Adzerk is a supplier ad-servers and ad-serving technology. Their platform offers features such as real-time reporting, ad serving and network building support.','https://adzerk.com/privacy/ad-server/','https://adzerk.com/','989','US','support@adzerk.com',NULL);\nINSERT INTO companies VALUES('adzly','adzly','On the surface, adzly appears to be a simple ad widget (albeit a very cool one!) ... but behind that cool exterior is a powerful viral marketing machine unlike anything you have seen or used. So, what exactly makes adzly so powerful? Well, most ad widgets work on the premise that you put the widget on your site and when a visitor clicks on an ad in your widget, you get some sort of compensation. But adzly is totally different, and you are about to see why!','http://www.adzly.com/?a=about.privacy&ref=0','http://www.adzly.com/','1204','US',NULL,NULL);\nINSERT INTO companies VALUES('aerify_media','Aerify Media','\"The Aerify Media multi-screen buying platform is a unique, customized module for buying, video and display across exchanges, SSPs and data. The platform includes propriety modeling, analysis and interfaces with centralized data creation and tracking unique to each client.\"',NULL,'http://aerifymedia.com/','1730','US','privacy@aerifymedia.com',NULL);\nINSERT INTO companies VALUES('aerisweather','AerisWeather','Founded with the goal of transforming how businesses worldwide interact with environmental phenomena, AerisWeather enables customers to harness the dynamic power of weather data and imagery in their products, services, and business intelligence tools.','https://www.aerisweather.com/privacy/','https://www.aerisweather.com/','2635','US','privacy@aerisweather.com',NULL);\nINSERT INTO companies VALUES('affectv','Hybrid Theory','Hybrid Theory makes the complex simple by delivering business growth for brands and agencies as a trusted digital services partner, that powers smarter data-driven advertising through the best combinations of technology and talent.Hybrid Theory is a global company that powers data-driven advertising to serve consumers relevant digital advertising who are browsing the Internet. We aim to ensure that online advertising brings the best value to individuals and our clients, whilst ensuring that this is performed in a privacy friendly and non-intrusive manner.','https://hybridtheory.com/privacy-policy/','https://hybridtheory.com/','1267','GB','privacy@hybridtheory.com',NULL);\nINSERT INTO companies VALUES('affiliate_b','Affiliate B',NULL,'https://www.affiliate-b.com/web/privacy/','https://www.affiliate-b.com/','2908',NULL,NULL,NULL);\nINSERT INTO companies VALUES('affiliatebuzz','AffiliateBuzz','The AffiliateBuzz program provides marketers a collection of marketing tools and self-optimizing smart ads. They also offer sales optimization support for affiliates and custom banners specially designed for each website.','https://www2.affiliatebuzz.com/site/terms','https://www2.affiliatebuzz.com/','594','US',NULL,NULL);\nINSERT INTO companies VALUES('affiliatefuture','AffiliateFuture','\"AffiliateFuture are performance-based marketing specialists, providing salessolutions and marketing services to advertisers, publishers and agencies.\"','https://www.affiliatefuture.com/Legal/privacy','http://www.affiliatefuture.com','2364',NULL,'inquiries@affiliatefuture.com',NULL);\nINSERT INTO companies VALUES('affiliation-france','Affiliation-France','\"Affiliation-France is a smart Ad Network, owned by VENESOME LTD. Affiliation-France offers an intuitive trading solution and Web audience monetization for advertising professionals and web publishers in a secure cloud environment since 2009.\"Translated by Google Translate',NULL,'http://www.affiliation-france.com/','3108',NULL,'contact@affiliation-france.com',NULL);\nINSERT INTO companies VALUES('affiliator','Affiliator','\"Affiliator is an online marketing company specializing in a performance based affiliate marketing platform where advertisers who want to increase their sales through the internet are matched with website owners who want to increase their revenues.\"','http://www.affiliator.com/','http://www.affiliator.com/','2371',NULL,NULL,NULL);\nINSERT INTO companies VALUES('affiliaweb','Affiliaweb','\"Opting for Affiliaweb is opting for a network of designated sites carefully selected based on a solid and existing infrastructure. Our adserver has all the tools necessary for effective dissemination at extremely accurate tracking : capping per hour lever system of remuneration, fraud detection tool...\"','https://affiliaweb.fr/societe.php','https://affiliaweb.fr/','3156',NULL,'contact@affiliaweb.fr',NULL);\nINSERT INTO companies VALUES('affimax','AffiMax',NULL,'https://www.affimax.de/l/3-Datenschutz.html','https://www.affimax.de','2090',NULL,'aff@affimax.de',NULL);\nINSERT INTO companies VALUES('affinity','Affinity','\"Founded in 2006, Affinity is the world''s leading contextual ad network. We are in the business of powering innovative contextual media & monetization solutions for Advertisers & Publishers.\"','https://www.affinity.com/privacy.php','https://www.affinity.com/','2060',NULL,NULL,NULL);\nINSERT INTO companies VALUES('affinity_digital_agency','Affinity Digital Agency','Affinity is an award-winning provider of technology and digital communication solutions, specialising in software development for today’s needs and tomorrow’s dreams. We work in web, CGI and App development - most often a combination of all three.','https://www.affinity-digital.com/privacy-policy','https://www.affinity-digital.com/','2977',NULL,'info@affinity.by',NULL);\nINSERT INTO companies VALUES('affiz_cpm','Affiz CPM','AFFIZ offers premium services to publishers and mobile apps developers.We work in the interest of the publishers to sell their inventory. We manage technical integration of each ad provider, quality control and unique invoicing.In this way, our experience, solid partnerships and technologies allow AFFIZ to be recommended by our publishers.','http://www.affiz.com/#about-us','http://cpm.affiz.com/home','2328',NULL,'contact@affiz.com',NULL);\nINSERT INTO companies VALUES('afftrack','Afftrack','In use by several large affiliate networks since 2009, AffTrack has evolved into more than just a \"tracking system\". AffTrack provides you the tools necessary to take your company to the next level. From Prospecting Clients to Tracking to Billing, AffTrack has you covered.','http://www.afftrack.com/','http://www.afftrack.com/','4502',NULL,'support@afftrack.com',NULL);\nINSERT INTO companies VALUES('afilio','Afilio','Focada em marketing de performance, a Afilio foi criada em 2008, e oferece a seus clientes, agências e anunciantes, melhores resultados na web e no mobile, seja em leads, vendas ou exposição da marca.Com atuação no mercado nacional e internacional, possui na sua rede cerca de 90% das maiores operações de e-commerce do Brasil e mais de 50 mil sites cadastrados.','https://afilio.com.br/','https://afilio.com.br/','4509',NULL,'contato@afil.io',NULL);\nINSERT INTO companies VALUES('afs_analytics','DataSense','DataSense is the company behined AFS Analytics, a real-time web analytics solution.','https://www.afsanalytics.com/privacy.html','https://www.afsanalytics.com/','4106','FR',NULL,NULL);\nINSERT INTO companies VALUES('aftership','AfterShip','AfterShip is a Hong Kong startup company offering shipment tracking through SaaS model.','https://www.aftership.com/legal/privacy','https://www.aftership.com/','','HK','privacy@aftership.com',NULL);\nINSERT INTO companies VALUES('aftonbladet','Aftonbladet','\"Aftonbladet is a Swedish tabloid founded by Lars Johan Hierta in 1830 during the modernization of Sweden. It is one of the larger daily newspapers in the Nordic countries.\"','http://annonswebb.aftonbladet.se/policy.html','http://annonswebb.aftonbladet.se/','2808',NULL,NULL,NULL);\nINSERT INTO companies VALUES('agava','AGAVA','\"Agava company among the five largest hosting providers in Russia.\"','http://www.agava.ru','http://www.agava.ru','1563','RU','support@agava.com',NULL);\nINSERT INTO companies VALUES('agilone','AgilOne','\"Based on a data-scientist approach to marketing, AgilOne processes [...] volumes of customer data and recommends what immediate actions to take to increase revenue.\"','http://www.agilone.com/privacy-policy-2/','http://www.agilone.com/','2610',NULL,'info@agilone.com',NULL);\nINSERT INTO companies VALUES('agora_sa','Agora SA','Agora is one of the largest media companies in Poland listed on the Warsaw Stock Exchange since 1999, with a range of media including newspapers, outdoor advertising, cinema network, enterprise and Internet radio, magazines, and selling collections.','https://www.agora.pl/polityka-prywatnosci','http://www.agora.pl','2803','PL','pomoc@agora.pl',NULL);\nINSERT INTO companies VALUES('ahalogy','Ahalogy','We started developing the Ahalogy technology as internal tools to improve the marketing of one of our previous startups, but once we showed other companies what we were building, we soon learned just how common—and dire—this need was for other brands. So in October 2012 we founded Ahalogy to fix Pinterest marketing for brands and content creators across industries and around the world.Along the way Ahalogy has become a fast-growing startup backed by incredible investors. We call Cincinnati home, a city with more brand marketers than any other place in the world. And we''ve added offices in New York, Chicago, San Francisco, Los Angeles, and Stuttgart to focus on brand, agency, and media partnerships.','http://www.ahalogy.com/privacy/','http://www.ahalogy.com/','2688',NULL,'info@Ahalogynow.com',NULL);\nINSERT INTO companies VALUES('ahrefs','Ahrefs','Ahrefs is an SEO software suite that contains tools for link building, keyword research, competitor analysis, rank tracking and site audits.','https://ahrefs.com/legal/privacy-policy','https://ahrefs.com','','SG','privacy@ahrefs.com',NULL);\nINSERT INTO companies VALUES('ai_media_group','Ai Media Group','\"Ai Media Group uses our own award winning technology to analyze real time data—for the most up-to-the-minute performance statistics.\"','http://aimediagroup.com/docs/AiPrivacyPolicy2.13.13.pdf','http://aimediagroup.com/','2703',NULL,'privacy@aimediagroup.com',NULL);\nINSERT INTO companies VALUES('aidata','AiData','\"We are smart data company that reduces information clutter for consumer, providing smarter audience buying decisions for agencies, DSP/ATD/SSP platforms, publishers.Our main product: Aidata.me - data management platform for programmatic marketing.Aidata.me aggregates, processes, segments and delivers data about age, gender, interests and intents of more than 1 000 000 000 unique cookies per month. Leading ad serving solutions use our data to deliver millions of impressions per day to their advertisers.We created more than 2 000+ audience segments for better targeting based on online&offline data.\"','https://aidata.me/policy','https://www.aidata.me/','2960','RU','info@aidata.me',NULL);\nINSERT INTO companies VALUES('aidem','Aidem','AIDEM is a US-based advertising technology company that offers a secure supply chain solution for digital advertising, including anti-fraud measures and optimization. They also provide specialized services for political advertising in the United States, ensuring compliance with regulations and offering extensive data and targeting options for political campaigns.','https://kb.aidem.com/privacy/policies/privacy-policy/','https://www.aidem.com/','','US','privacy@aidem.com',NULL);\nINSERT INTO companies VALUES('aim4media','Aim4Media','\"...Founded in the Netherlands in 2001, Aim4Media began by servicing the long time neglected niche market of Sports websites and soon expanded into a variety of alternative markets... Aim4Media also offers not only a strong online advertising network but also lead generation and media buying services.\"Translated by Aim4Media BV',NULL,'http://www1.aim4media.com','3178',NULL,'info@aim4media.com',NULL);\nINSERT INTO companies VALUES('airbrake','Airbrake','Airbrake is the leading exception reporting service, currently providing error tracking for 50,000 applications with support for 18 programming languages.We let developers build better software by giving detailed reports of errors in applications. Giving you insight into the health of your application in production. We give detailed exception reports that tell you what happened, what bit of code was responsible, and allow you to recreate the error for rapid debugging.Our goal is to build the best developer toolset on the planet. One that gives you full stack insight, and allows you to build great software.','https://airbrake.io/privacy','https://airbrake.io/','1884','US','support@airbrake.io',NULL);\nINSERT INTO companies VALUES('airbridge','Airbridge','\"Airbridge is an attribution and analytics company that unlocks next-generation strategies for marketers in the privacy era.\"','https://www.airbridge.io/privacy-policy','https://www.airbridge.io/','','KR','compliance@ab180.co',NULL);\nINSERT INTO companies VALUES('airfranceklm','Air France-KLM Group','Air France-KLM Group provides passenger and cargo transportation services, including scheduled flights, freight forwarding, and logistical support across global routes.','https://wwws.airfrance.fr/en/information/legal/edito-psc','https://www.airfranceklm.com/en','','FR','mail.data.protection@airfrance.fr',NULL);\nINSERT INTO companies VALUES('airpr','AirPR','\"BETTER DECISIONS BEGIN WITH DATASEE HOW THE LEADING PR AND CONTENT MARKETING ANALYTICS PLATFORM WILL INCREASE YOUR INSIGHT\"','https://airpr.com/privacy-policy/','https://airpr.com/','5235',NULL,'info@airpr.com',NULL);\nINSERT INTO companies VALUES('airpush','Airpush','\"Airpush is the only mobile ad network focused exclusively on Android. Over 40,000 developers use our innovative ad formats to increase revenue 10 - 30x versus traditional in-app ad networks. Our ad formats include Push Notification Ads, Icon Ads, and AppWall.\"','http://www.airpush.com/privacypolicy','http://www.airpush.com/','1843',NULL,'privacy@airpush.com',NULL);\nINSERT INTO companies VALUES('akamai','Akamai Technologies','Akamai is a cloud based content delivery network. They offer application performance services, solutions for digital media and software distribution and storage, online advertising services and other specialized/ Internet-based offerings.','https://www.akamai.com/us/en/privacy-policies/','https://www.akamai.com/','11','US','privacy@akamai.com',NULL);\nINSERT INTO companies VALUES('akane','AkaNe','\"Focusing on major corporate media with your relationship as a media representative business, it owns a large number of the delivery destination facing the high-quality user. In addition, owns its own high delivery inventory of advertising effectiveness, we will achieve a high performance for direct response-based projects.Retargeting delivery of in-feed frame, day of the week designation, that of course, such as the time specified, the optimization of Creative bids for each frequency management and delivery destination medium of each delivery user, depending on the advertising effect in each delivery time zone such as the optimization of the budget allocation, we will maximize the advertising effect by the advanced delivery logic.Such as mail order cosmetics and health food, it is mainly exhibit a high advertising effect women of F1 layer to the promotion of commercial materials that target. While aligning a target CPA there are many projects that are realized digestion volume of monthly several million yen, advertisers, we are well received in the agency. In addition, since I have recently we can achieve a high advertising effect in men''s promotion, such as the financial system, for more information please contact our sales office.The production of high and native ad affinity article LP, is a package menu to provide free of charge by get a certain amount you implement the delivery of AkaNe. Already has a proven track record of production and distribution of a variety of projects, what for advertising effectiveness and to produce the article LP has the knowledge of how high, high easy assist effect to cause the user''s attitude change article LP production to hold.\"','https://www.gmo-am.jp/privacy.html','https://akane-ad.com/','4167',NULL,NULL,NULL);\nINSERT INTO companies VALUES('akanoo','Akanoo','On-site personalisation and real-time targeting solution to increase revenues and prevent cart abandonment.','https://www.akanoo.com/legal','https://www.akanoo.com/','3500',NULL,NULL,NULL);\nINSERT INTO companies VALUES('akavita','Akavita','Примечание: данные о посещаемости сайтов предоставлены в ознакомительных целях и могут не отражать реальное количество посетителей,','http://www.akavita.by/en','http://www.akavita.by/en','2139',NULL,NULL,NULL);\nINSERT INTO companies VALUES('al_bawaba','Al Bawaba','\"Al Bawaba, through its network of sites, combines the most substantive content licensing system in the Arab World with a unique and growing news community, cutting edge technology and first rate journalism.\"','https://www.albawaba.com/abstatic/terms-use-509516','https://www.albawaba.com/advertising','1365','JO',NULL,NULL);\nINSERT INTO companies VALUES('albacross','Albacross','First-party Intent Data to understand your audience, uncover unseen prospects, and enrich every record to increase marketing and sales efficiency.','https://albacross.com/privacy-policy/','https://albacross.com','5183','SE',NULL,NULL);\nINSERT INTO companies VALUES('albert','Albert','Albert is the first-ever artificial intelligence marketing platform for the enterprise, driving fully autonomous digital marketing campaigns for some of the world’s leading brands. Created by Albert Technologies Ltd. in 2010, Albert’s mission is to liberate businesses from the complexities of digital marketing – not just by replicating their existing efforts, but by executing them at a pace and scale not previously possible.','https://albert.ai/content-policy/','http://www.adgorithms.com/','2830',NULL,NULL,NULL);\nINSERT INTO companies VALUES('algolia','Algolia','Algolia is a French proprietary search-as-a-service platform, with its headquarters in San Francisco and offices in Paris and London. Its main product is a web search platform for individual websites.','https://www.algolia.com/policies/privacy','https://www.algolia.com/','','FR','privacy@algolia.com',NULL);\nINSERT INTO companies VALUES('algonomy','Algonomy','Algonomy (previously Manthan-RichRelevance) is an AI-powered personalization solution and real-time CDP to help retail brands deliver individualized experiences across channels.','https://algonomy.com/privacy-policy/','https://algonomy.com/','','US','privacy@algonomy.com',NULL);\nINSERT INTO companies VALUES('alibaba','Alibaba','Alibaba Group Holding Limited, or Alibaba is a Chinese multinational technology company specializing in e-commerce, retail, Internet, and technology. The company provides consumer-to-consumer (C2C), business-to-consumer (B2C), and business-to-business (B2B) sales services via Chinese and global marketplaces, as well as local consumer, digital media and entertainment, logistics and cloud computing services.','https://www.alibabagroup.com/en-US/privacy-policy','https://www.alibabagroup.com/','3001','CN',NULL,NULL);\nINSERT INTO companies VALUES('alive_technologies','Alive Technologies','Alive Technologies Inc., helps organizations create the best messaging experience with their audiences. Alive5 is a unified inbox for your team designed to handle SMS, web chat, and social conversations seamlessly. Sync your customer records with chat transcripts and conversational data from multiple communications channels.','https://www.alive5.com/privacy-policy','https://www.alive5.com/','','US','privacy@alive5.com',NULL);\nINSERT INTO companies VALUES('allegro.pl','Allegro','Allegro is the most popular shopping platform in Poland and one of the largest e-commerce companies in Europe. We are a shopping platform where millions of consumers can buy everything they need. You can choose from thousands of sellers who can offer any number of products for sale.','https://allegro.pl/regulamin/pl#artykul-13.-prywatnosc-i-poufnosc','https://allegro.pl/','5306','PL',NULL,NULL);\nINSERT INTO companies VALUES('alliance_gravity','Alliance Gravity','Alliance Gravity, created in 2018, is a Paris-based company specializing in the collection and processing of personal data for targeted advertising. It brings together around a hundred French companies from the press, entertainment, and commerce sectors to provide tailored targeting segments. The company aims to challenge the monopoly of major tech companies in the digital advertising market by pooling advertising data to better market digital offerings to advertisers.','https://www.alliancegravity.com/conventionprivacy/','https://www.alliancegravity.com/','','FR','privacy@alliancegravity.com',NULL);\nINSERT INTO companies VALUES('allin','AllIn','A complete platform for digital relationship marketing that allows communication with your customer across multiple channels. We were created to expand opportunities and create infinite connections that revolutionizes the way to relate to your customers. We have everything to communicate, engage and convert into a single platform and own recommendation algorithm.','https://allin.com.br/politica-de-privacidade/','https://allin.com.br/','4503',NULL,'contato@allin.com.br',NULL);\nINSERT INTO companies VALUES('allotraffic','AlloTraffic','AlloTraffic.com est une régie publicitaire à destination des sites francophones grand public. Le réseau, fort de 4500 sites éditeurs et de 500 annonceurs, s''appuie sur 2 outils : le Clic et le Pop.','https://www.allotraffic.com/regie_publicitaire_quisommesnous.php','https://www.allotraffic.com/','3154',NULL,'contact@allotraffic.com',NULL);\nINSERT INTO companies VALUES('allure_media','Allure Media','\"We are proud to be Australia’s fastest-growing top 20 publisher with an influential monthly audience of 2 million Australian readers.\"','http://www.fairfax.com.au/privacy.html','http://www.alluremedia.com.au','2475',NULL,NULL,NULL);\nINSERT INTO companies VALUES('allyes','Allyes','\"The Allyes established in October 1998, is the pioneer of online advertising in China, China''s largest professional network advertising company, has put the amount of China''s largest online advertising media.\"Translated by Google Translate','http://www.allyes.com/','http://www.allyes.com/','2148',NULL,'service_quantone@allyes.com',NULL);\nINSERT INTO companies VALUES('almondnet','AlmondNet','Established in 1998, the AlmondNet Group is an industry leader and pioneer in privacy-friendly, targeted advertising. The parent company AlmondNet Inc., which has developed an extensive suite of industry-leading targeted advertising solutions and products, is focused on R&D and the licensing of its extensive portfolio of enabling technology and Intellectual Property covering numerous areas of the targeting landscape and ecosystem, including profile based bidding, behavioral targeting, online and offline data monetization, addressable advertising, and multi-platform advertising.','https://www.almondnet.com/privacy-center','https://www.almondnet.com/','12','US','info@almondnet.com',NULL);\nINSERT INTO companies VALUES('alooma','Alooma','Alooma brings all your data sources together into BigQuery, Redshift, Snowflake and more.','https://www.alooma.com/privacy','https://www.alooma.com/','5024',NULL,'contact@alooma.com',NULL);\nINSERT INTO companies VALUES('altitude_digital','Altitude Digital','\"Altitude Digital is the fastest growing and loudest marketplace for online video advertising. For publishers, we provide a Supply Side Platform and complete video solution to amplify revenue.\"','http://www.altitudedigital.com/privacy-policy/','https://genesismedia.com/','3193',NULL,'support@altitudedigital.com',NULL);\nINSERT INTO companies VALUES('amadesa','Amadesa','Amadesa  offers optimization and personalization services for websites. Their Software-as-a-Service (SaaS) solution includes audience segmented content delivery and shopping cart optimization. The Amadesa Customer Experience Suite offers testing and customization to help online businesses maximize revenues, enhance customer engagement, increase conversions and improve marketing ROI.',NULL,'http://www.amadesa.com/','409','US','support@amadesa.com',NULL);\nINSERT INTO companies VALUES('amazon_associates','Amazon','Amazon.com is an online retailer and marketplace for consumer products. It is known for its e-reader the Amazon Kindle, as well as its e-commerce and cloud computing technology platforms. Amazon is a data-solution provider and offers products and services such as self-publishing, online advertising and a co-branded credit card.','https://www.amazon.com/gp/help/customer/display.html/ref=footer_privacy?ie=UTF8&nodeId=468496','https://www.amazon.com/','243','US',NULL,NULL);\nINSERT INTO companies VALUES('ambient_digital','Ambient Digital','\"Ambient Digital provides a wide range of online marketing services including Ad Network, Search Marketing (SEM), Social Marketing and other Online Marketing Solutions.\"','https://www.ambientdigitalgroup.com/','https://www.ambientdigitalgroup.com/','1257','SG',NULL,NULL);\nINSERT INTO companies VALUES('amoad','AMoAd','\"The Leading Ad Platform for Smart Device.\"','https://www.amoad.com/privacy/','https://www.amoad.com/','3203',NULL,NULL,NULL);\nINSERT INTO companies VALUES('amplitude','Amplitude','Amplitude Inc. is an American public company that develops digital analytics software.','https://amplitude.com/privacy','https://amplitude.com/','3070','US','contact@amplitude.com',NULL);\nINSERT INTO companies VALUES('anametrix','Anametrix','\"At Anametrix, our vision is to become the wheelhouse of all data, the one place where marketers can see, analyze, and act on the data they have – whatever the data is and wherever it comes from.\"','http://anametrix.com/privacy/','http://anametrix.com/','2307',NULL,'support@anametrix.com',NULL);\nINSERT INTO companies VALUES('ancestry','Ancestry',NULL,'http://www.ancestry.com/cs/privacyphilosophy','https://www.ancestry.com/','5307',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ancora','Ancora','The Ancora Platform offers a high quality adserver with a connection to all the demand sources worldwide. This makes the use of a SSP obsolete. Booking a direct campaign or a programmatic order can finally happen within the same interface. Our backend makes sure everything is optimized to boost revenue. Tired of waiting on slow reporting UI''s? We make your life a lot easier by giving you all the data you want realtime so you can store it wherever you like.','http://www.ancoramediasolutions.com/j/privacy','http://www.ancoramediasolutions.com/','4535',NULL,NULL,NULL);\nINSERT INTO companies VALUES('andera_partners','Andera Partners','RBI is a leading fast-growth provider of data and analytics, solving critical problems for businesses globally.','https://www.reedbusiness.com/privacy-policy/','https://www.anderapartners.com/en/','5279','FR',NULL,NULL);\nINSERT INTO companies VALUES('anetwork','Anetwork','\"Anetwork launched in 2010 as a CPC Ad-Network, and in a short span of time grew to be the largest Digital Advertising Network in Iran.In 2015 Anetwork made a strategic decision to expand its services to become the first Digital Media Agency in Iran. With over 9.5 million monthly unique online users, Anetwork and it’s partners, can successfully help in increasing your online visibility within the Iranian Market.\"','http://anetwork.ir/','http://anetwork.ir/','2776',NULL,'info@anetwork.ir',NULL);\nINSERT INTO companies VALUES('aniview','Aniview','Aniview is an independent video ad serving platform that empowers publishers with unmatched transparency and maximizes revenue across CTV, Web, and Mobile.','https://aniview.com/privacy-policy','https://aniview.com/','','IL','info@aniview.com',NULL);\nINSERT INTO companies VALUES('anonymised','Anonymised','Anonymised, originally founded as ID Ward in 2017, is an AI-driven data platform that helps publishers and advertisers understand, reach and measure incremental audiences at scale for better marketing outcomes.','https://www.anonymised.io/privacy','https://www.anonymised.io/','','GB','privacy@anonymised.io',NULL);\nINSERT INTO companies VALUES('anonymousads','AnonymousAds','We are the transparent Bitcoin advertising network that doesn''t collect any personal data about its users. Our lightweight ads don''t contain javascript or swf. We don''t spy on our users and don''t provide targeting based on browser history. We don''t sell visitors and don''t pay per click or per impression. We sell a share of traffic of our publishers to our advertisers.Advertisers allocate their funds on advertising spaces (ad units) and get a share of impressions from them. They can track the sources of efficient traffic and reward them for sales to improve the targeting of their campaigns.','https://a-ads.com/privacy_policy','https://a-ads.com/','2821',NULL,NULL,NULL);\nINSERT INTO companies VALUES('anormal-tracker','Anormal-Tracker','Anormal-Tracker is an analytics tool that reports visitor statistics for website owners.',NULL,'http://anormal-tracker.de/','829','DE','info@anormal-tracker.de',NULL);\nINSERT INTO companies VALUES('answers.com','Answers.com','\"Answers Corporation is the world’s leading Q&A resource, delivering trusted answers to all of your questions through web, mobile, and social channels. We harness the knowledge from our vast community of online experts, syndicated sites, and social media platforms to connect you with the most timely and relevant information.\"','http://wiki.answers.com/about/legal_notices.html#privacy','https://www.answers.com/','2110',NULL,'privacy@answers.com',NULL);\nINSERT INTO companies VALUES('ants','Ants','\"ANTS is Vietnam‘s leading integrated internet advertising SaaS platform. A leader in online advertising space in Vietnam and Southeast Asia, ANTS provides the technology platform and creates the marketplace for publishers, agencies/advertisers, as well as other third party players with a comprehensive range of digital advertising technologies, online user data solutions, and audience management systems.\"','https://ants.vn/en/about/','https://ants.vn/en/','3644',NULL,'support@ants.vn',NULL);\nINSERT INTO companies VALUES('anyclip','AnyClip','\"AnyClip is the video content data pioneer.AnyClip’s proprietary solutions leverage the most advanced Artificial Intelligence technology to analyze video content in real-time, enabling publishers, media owners, and brands to maximize the power of video.AnyClip has growing offices in New York, Tel Aviv, and London, and is backed by Jerusalem Venture Partners (JVP), Roman Abramovich’s Ervington Investments, former Sony America President & CEO Michael Schulhof, and Limelight Networks.The company has made it to the top of Deloitte’s Fast 50 Israel and Fast 500 EMEA lists two consecutive years.\"','https://anyclip.com/privacy-policy/','https://anyclip.com','5259',NULL,'dpo@anyclip.com',NULL);\nINSERT INTO companies VALUES('apa','Apa',NULL,NULL,'http://www.apa.at/Site/index.de.html','5309',NULL,NULL,NULL);\nINSERT INTO companies VALUES('apd','APD','We are nearly 400 digital experts spread across 7 offices and 6 countries in Asia Pacific. We live to facilitate your business’ digital enablement - from web development to customer acquisition; email communications to design and strategy. We work with clients across South-East Asia, Australasia, Greater China and, hopefully, with you as well!','http://www.apdgroup.com/privacy/','https://www.apdgroup.com/','2436',NULL,'privacy@apdgroup.com',NULL);\nINSERT INTO companies VALUES('apester','Apester Ltd',NULL,'https://apester.com/privacy-policy/','https://apester.com/','4900',NULL,'privacy@apester.com',NULL);\nINSERT INTO companies VALUES('appdynamics','AppDynamics','AppDynamics is a full-stack application performance management (APM) and IT operations analytics (ITOA) company based in San Francisco. The company focuses on managing the performance and availability of applications across cloud computing environments, IT infrastructure, network architecture, digital user experience design, application security threat detection, observability, and data centers.','https://www.appdynamics.com/privacy-policy','http://www.appdynamics.com','2793','US','privacy@appdynamics.com',NULL);\nINSERT INTO companies VALUES('appier','Appier','Appier is a technology company that makes it easy for businesses to use artificial intelligence to grow and succeed in a cross screen era. The fact is, we are living in a post-mobile world, where cross screen is no longer optional.Businesses trying to reach customers online face mounting complexity as the number and types of screens multiply. We believe artificial intelligence is the best approach to resolve this complexity as the number and types of screens multiply, making it easy for clients to reach across screens.','https://www.appier.com/privacy_policy/3/privacy_policy.html','https://www.appier.com/en/index.html','4901',NULL,NULL,NULL);\nINSERT INTO companies VALUES('apple','Apple','Apple is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers.','https://www.apple.com/privacy/privacy-policy/','https://www.apple.com/','390','US','privacy@apple.com',NULL);\nINSERT INTO companies VALUES('applifier','Applifier','Applifier is a cross-promotion network for social games and applications. Users can use Applifier to find other applications, which in turn generates new, viral users for the originating social applications.','http://www.applifier.com/privacy','http://www.applifier.com/','850','FI','privacy@applifier.com',NULL);\nINSERT INTO companies VALUES('applovin','AppLovin','\"Our optimization platform, data models and cutting edge ad serving technology allows us to serve a relevant and hyper-targeted advertisement to consumers across any platform.\"','https://www.applovin.com/privacy','https://www.applovin.com','2385',NULL,'legal@AppLovin.com',NULL);\nINSERT INTO companies VALUES('appneta','AppNeta','\"AppNeta provides SaaS solutions for exceptional performance of business-critical applications. By bringing together server-based application performance insight, network-based application performance insight, and comprehensive end-user experience monitoring, AppNeta solutions enable customers to easily find and fix performance issues in the application, through the network, to the end user.\"','http://www.appneta.com/appneta-privacy-policy/','http://www.appneta.com/','2682',NULL,'info@appneta.com',NULL);\nINSERT INTO companies VALUES('appnexus','AppNexus Inc.','AppNexus operates an online advertising exchange. Their core technology platform enables ad networks and agencies real-time media buying capabilities and a gateway to multiple inventory aggregators.  Their platform is supported by cloud computing technology. In 2018, AppNexus was bought by AT&T.','https://www.appnexus.com/en/company/platform-privacy-policy','https://www.appnexus.com/en','17','US','https://www.appnexus.com/platform-privacy-policy/dpo-inquiry','AppNexus acquired by Xandr (AT&T, 2018), acquired by Microsoft (2021). https://en.wikipedia.org/wiki/AppNexus');\nINSERT INTO companies VALUES('appsflyer','AppsFlyer','AppsFlyer is the global leading platform for Mobile Attribution & Marketing Analytics.','https://www.appsflyer.com/privacy-policy/','https://www.appsflyer.com/','4300','US','contact@appsflyer.com',NULL);\nINSERT INTO companies VALUES('apptv','appTV','\"We wanted to build a platform that which simplifies campaign management on the different video consumer platforms. appTV has created a real-time optimization technologies that integrates easily with both advertisers and publishers.\"','http://www.apptv.com/privacy-policy','https://www.apptv.com/','3138',NULL,NULL,NULL);\nINSERT INTO companies VALUES('arc_publishing','Arc Publishing','Arc Publishing is an award-winning, state-of-the-art digital platform and suite of tools that’s engineered to meet the demands of modern publishers and brands around the world. Built by The Washington Post, Arc technology handles complex multi-site publishing and audience needs across video, web, apps, subscriptions and ad monetization, providing a competitive advantage enhanced by a set of sophisticated machine learning and AI-powered tools. Arc has powered the digital transformation of clients both large and small across the globe. At its core, Arc is about speed and innovation: for readers, newsrooms, brands, advertisers and developers','https://www.arcpublishing.com/','https://www.arcpublishing.com/','5253',NULL,NULL,NULL);\nINSERT INTO companies VALUES('arm','arm','Treasure Data’s mission is to simplify data management. We’re here to help you harness and analyze the information you need to create a data-driven enterprise.','https://www.treasuredata.com/privacy','https://www.arm.com/','4464','GB',NULL,NULL);\nINSERT INTO companies VALUES('art.lebedev_studio','Art.Lebedev Studio',NULL,NULL,'https://www.artlebedev.ru/','5310','RU',NULL,NULL);\nINSERT INTO companies VALUES('art19','Art19','Art19 provides tools for hosting, distribution, and monetization of podcasts.','https://art19.com/privacy','https://art19.com/','5311','US','support@art19.com',NULL);\nINSERT INTO companies VALUES('artimedia','Artimedia','Artimedia provides end-to-end video advertising solutions that help advertisers and publishers to achieve the greatest return on their digital video investments. We combine a premium video ad network with a set of innovative video ad formats, developed with unique video analysis technology. The platform is accessible through a self-service online management interface with targeting, optimization and advanced analysis capabilities for delivering impactful branding and results.','http://arti-media.net/en/privacy-policy/','http://arti-media.net/en/','4675',NULL,NULL,NULL);\nINSERT INTO companies VALUES('aruba_media_marketing','Aruba Media Marketing','\"Aruba Media Marketing is the Business Unit Aruba SpA dedicated to web marketing and online advertising.\"','https://www.ammadv.it/public/documenti/privacy_policy.pdf','https://www.ammadv.it/','1496','US',NULL,NULL);\nINSERT INTO companies VALUES('arvato','Arvato Bertelsmann','More than 175 years ago, Carl Bertelsmann founded Gütersloh as a stepping stone, laying the foundations for our present and future activities.','https://www.arvato.com/de/ueber-arvato/datenschutz.html','https://www.arvato.com/','4547','DE',NULL,NULL);\nINSERT INTO companies VALUES('assertive_communications','Assertive Communications','Assertive Communications is a German agency based in Kaufering, specializing in public relations, content marketing, and community management. The company operates and markets forums and communities, and provides services such as app development and advertising solutions to enhance brand engagement.','https://assertcom.de/en/privacy-policy/','https://assertcom.de/','','DE','hallo@assertcom.de',NULL);\nINSERT INTO companies VALUES('assertive_yield','Assertive Yield','Assertive Yield is a global company created by publishers for publishers, specializing in ad revenue management and AI optimization for the digital publishing industry. Based in The Hague, Netherlands, it offers solutions like Yield Manager and Yield Intelligence to maximize revenue and user experience through real-time data analytics.','https://www.assertiveyield.com/privacy/','https://www.assertiveyield.com/','','NL','hello@assertiveyield.com',NULL);\nINSERT INTO companies VALUES('astronomer','Astronomer','Astronomer is a data engineering platform that captures, transforms, and routes data anywhere, continuously.','https://www.astronomer.io/privacy/','https://www.astronomer.io','5172',NULL,NULL,NULL);\nINSERT INTO companies VALUES('at_internet','AT Internet','AT Internet provides web and multichannel analytics, performance monitoring and online reputation management services.','http://www.atinternet.com/en/company/data-protection/data-collection-on-at-internets-sites/','https://www.atinternet.com/en/','1270','FR','https://www.atinternet.com/en/company/data-protection/',unistr('Piano Software acquired AT Internet in March 2021\\u000aSource: https://resources.piano.io/resources/at-internet-joins-piano/'));\nINSERT INTO companies VALUES('atedra','Atedra','\"Atedra is an online advertising network representing major websites reaching more than 20,000 unique visitors per month.\"Translated by Google Translate','https://www.atedra.com/vie-privee','https://www.atedra.com/','2693',NULL,'support@atedra.com',NULL);\nINSERT INTO companies VALUES('atende_software','Atende Software Sp. z o.o.','\"Atende S.A. provides IT integration services primarily in Poland. The company offers ICT systems integration services, including consulting, design, delivery, construction, implementation for operation and running, technical support, warranty and post warranty maintenance services, and other technical support services.\" (Businessweek)',NULL,'http://www.atendesoftware.pl/','3515',NULL,NULL,NULL);\nINSERT INTO companies VALUES('atlas','Atlas','\"We provide digital media technologies for agencies, advertisers and publishers. Our solutions for agencies and advertisers enable the unified management of digital marketing campaigns across display banners, rich media, search, video, and websites.\"','https://atlassolutionsgroup.com/privacy-policy/','https://atlassolutionsgroup.com/','265','US','atlasprivacy@fb.com',NULL);\nINSERT INTO companies VALUES('atlassian','Atlassian','Atlassian Corporation is an Australian software company that develops products for software developers, and project managers among other groups. The company is domiciled in Delaware, with global headquarters in Sydney, Australia, and US headquarters in San Francisco.','https://www.atlassian.com/legal/privacy-policy','https://www.atlassian.com/','5312','US','privacy@atlassian.com',NULL);\nINSERT INTO companies VALUES('atomz','Atomz','At atomz, we believe that great creative ideas that work come from insightful thinking into communication and marketing problems/challenges. That is the basis of our name – just as all life forms must somehow come from an atom, all great ideas must stem from a sound marketing, communications and messaging strategy.','http://www.atomz.com.sg/','http://www.atomz.com.sg/','2634',NULL,NULL,NULL);\nINSERT INTO companies VALUES('attracta','Attracta','\"We are a California-based company providing search engine visibility services in more than 90 countries worldwide. As the world''s largest Search Engine Optimization (SEO) service, we help over 1.5 million websites promote over 2 billion webpages in the world''s major search engines.\"','https://www.attracta.com/privacy-policy/','https://www.attracta.com/','1217','US','privacy@attracta.com',NULL);\nINSERT INTO companies VALUES('attraqt','Attraqt','ATTRAQT provides visual merchandising and search services to online retailers through a cloud based Software as a Service (SaaS) platform. ATTRAQT launched in 2003 and evolved from successful search technology company Locayta.Co-Founder Andre Brown saw that the search technology pioneered by Locayta could play a unique role in online retail merchandising and the ATTRAQT platform was born. ATTRAQT was created to help retailers replicate traditional merchandising techniques online and now powers the merchandising functions of over 100 of the world''s leading retailers including Superdry and boohoo.com from offices in London and the US.','http://www.attraqt.com/privacy-policy/','http://www.attraqt.com/','2591',NULL,'sayhello@attraqt.com',NULL);\nINSERT INTO companies VALUES('audience2media','Audience2Media','Audience2Media is a technology and online display advertising media company, which focuses on specific channels of interest. The Audience2Media advertising network is based in the United Kingdom and works with advertising agencies and publishers around the globe to deliver relevant audiences to clients'' campaign objectives.','https://www.audience2media.com/privacy.php','https://www.audience2media.com/','652','GB',NULL,NULL);\nINSERT INTO companies VALUES('audience_square','Audience Square','Audience Square est une SAS dont les actionnaires sont 11 des plus grands groupes media français : Les Echos, le Groupe Express Roularta, Libération, le Groupe M6, le Groupe Le Monde, NextRadioTV, le Groupe Nouvel Observateur, Le Point, le groupe Prisma Média, le Groupe CCM Benchmark et RTL Net.Avec une offre transparente et innovante ouverte aux tradings desks et DSP du marché, Audience Square propose la vente aux enchères d’espaces publicitaires sur Internet (RTB), couplant emplacements display et ciblage d’audience en temps réel','http://audience-square.com/cgu/','http://www.audiencesquare.fr/','3921',NULL,NULL,NULL);\nINSERT INTO companies VALUES('audiencerate','AudienceRate','Data-driven solutions for Adtech and Martech. We enable compliant data-driven advertising via our proprietary technology and platforms.','https://www.audiencerate.com/privacy.html','https://www.audiencerate.com/','2096','GB','info@audiencerate.com',NULL);\nINSERT INTO companies VALUES('audiencescience','AudienceScience','AudienceScience is a online advertising network that operates a behavioral targeting platform. They collect, measure, and segment people''s interests and intent based on web behavior. This data is aggregated and sold to advertisers for targeted ad delivery. AudienceScience was formerly known as Revenue Science.','https://www.audiencescience.com/privacy/','http://www.audiencescience.com','19','US','privacy@audiencescience.com',NULL);\nINSERT INTO companies VALUES('audigent','Audigent','Audigent is a US-based data and analytics company that specializes in audience identification and targeting for programmatic advertising campaigns in entertainment and lifestyle industries. The company''s platform uses data science involving consumer insights to help brands and advertisers deliver more relevant and personalized advertising experiences to their target audiences.','https://audigent.com/privacypolicy/','https://audigent.com/','','US','yourprivacyrights@audigent.com',NULL);\nINSERT INTO companies VALUES('audioeye','audioeye','AudioEye is a digital accessibility platform, utilizing automation and expert audits to optimize websites and reduce legal risk, enhance brand perception, and reach wider audiences.','https://www.audioeye.com/privacy-policy/','https://www.audioeye.com/','','US','privacy@audioeye.com',NULL);\nINSERT INTO companies VALUES('auditorius','Auditorius','\"Revolutionary technology that will revolutionize your idea of advertising! Become a market leader, act effectively - does not buy advertising space on sites, buy advertising displays only their target audience on the exact criteria. Auditorius working on technologies RTB and is the first in Russia RTB Trading Desk.\"Translated by Google Translate','https://www.auditorius.ru/','https://www.auditorius.ru/','3385','RU','info@auditorius.ru',NULL);\nINSERT INTO companies VALUES('augur','Augur','Augur Technologies, LLC, offers a technology platform that enables our clients to more effectively recognize a computer, or other internet enabled device, and maintain state on such devices.','https://www.augur.io/privacypolicy','https://www.augur.io/','5174',NULL,'privacy@augur.io',NULL);\nINSERT INTO companies VALUES('aumago','Aumago','\"Aumago is a target [marketer] for B2B and Finance and is focused on that B2B and financial companies online banner ad campaigns can perform against industry targeted prospective customers.\"Translated by Google Translate','https://www.aumago.com/','https://www.aumago.com/','3235',NULL,'info@aumago.com',NULL);\nINSERT INTO companies VALUES('aurea','Aurea','Lyris HQ is an analytics company that provides publishers with tools to manage their traffic, ad delivery and email marketing.  Formerly Clicktracks.','https://www.aurea.com/legal/privacy-statement','http://www.aurea.com/index.html','105','US','privacy@aurea.com',NULL);\nINSERT INTO companies VALUES('australian_government','Australian Government',NULL,'https://www.australia.gov.au/privacy','https://www.australia.gov.au/','4846','AU',NULL,NULL);\nINSERT INTO companies VALUES('auth0','Auth0 Inc.',NULL,'https://auth0.com/privacy','https://auth0.com/','5313',NULL,NULL,NULL);\nINSERT INTO companies VALUES('autoid','AutoID','AutoID’s proprietary identification solution supplements and enhances digital marketing efforts with the most accurate, actionable web traffic analytics available.','http://www.autoid.com/','http://www.autoid.com/','5152',NULL,'support@autoid.com',NULL);\nINSERT INTO companies VALUES('automattic','Automattic','Automattic develops publishing platforms, including the WordPress.com website and the VIP WordPress.com cloud version.','https://automattic.com/privacy/','https://automattic.com/','245','US','privacypolicyupdates@automattic.com',NULL);\nINSERT INTO companies VALUES('autopilothq','AutopilotHQ','Our mission is to empower companies to create remarkable marketing journeys.Every day Autopilot helps companies of all sizes and industries to automate their marketing, rekindle old customer relationships, reach new audiences, and grow their bottom line.','https://www.autopilothq.com/legal/privacy-policy','https://www.autopilothq.com/','4824','US','privacy@autopilothq.com',NULL);\nINSERT INTO companies VALUES('avanser','AVANSER','AVANSER is a technology driven lead and call tracking company in the Asia Pacific Region.','http://www.avanser.com.au/privacy-policy/','http://www.avanser.com.au/','3590','AU','privacy@avanser.com.au',NULL);\nINSERT INTO companies VALUES('avantlink','AvantLink','AvantLink is an e-commerce platform for affiliates & Web retailers.','https://www.avantlink.com/privacy','https://www.avantlink.com/','1176','US','support@avantlink.com',NULL);\nINSERT INTO companies VALUES('avazu_network','Avazu Network','\"Avazu Inc. is a global digital advertising company with three business units which include a private ad exchange (Avazu Network), a proprietary developed dsp plattform (Avazu DSP) and an agency business dedicated for the growing Chinese market (Avazu China). We are a technology-driven company focused on behavioral retargeting, audience targeting and rtb - real time bidding.\"','http://avazuinc.com/opt-out/','http://avazuinc.com/home/','1796','US',NULL,NULL);\nINSERT INTO companies VALUES('avenseo','Avenseo','\"The Avenseo Platform puts simultaneously in competition different versions of your website and provides you with reports that enables you to identify the most efficient one.\"','http://avenseo.com','http://avenseo.com','2672',NULL,NULL,NULL);\nINSERT INTO companies VALUES('avid_media','Avid Media','Avid is a unique global native content service, enabling brands to consistently interact with their audiences through content that is more relevant and engaging to drive better business results.By understanding how, what, when and where content is being consumed, Avid Media are able to advise clients on their content curation, creation and distribution.','https://avidglobalmedia.eu/privacy-policy.html','http://www.avidglobalmedia.com/','3177',NULL,'privacy@avidglobalmedia.eu',NULL);\nINSERT INTO companies VALUES('avocet','Avocet Systems Limited','\"We''re building a new demand-side platform.You''ll forget about fraud, lousy performance, guess-work and waiting for results. Available in Q1 2015.\"','http://www.avocet.io/privacy-policy','https://avocet.io/','3588',NULL,'privacy@avocet.io',NULL);\nINSERT INTO companies VALUES('aweber_communications','AWeber Communications','\"AWeber''s email marketing tools like professional email signup forms & autoresponder services make it easy for you to build your email list and stay in touch with prospects.\"','https://www.aweber.com/privacy.htm','https://www.aweber.com/','1305','US','help@aweber.com',NULL);\nINSERT INTO companies VALUES('awio_web_services','Awio Web Services','Awio Web Services develops and manages web services, informational sites, and shopping portals on a variety of topics. W3counter.com, Awiohosting.com and Thefreesite.com are Awio properties.','http://www.awio.com/','http://www.awio.com/','22','US','dan@awio.com',NULL);\nINSERT INTO companies VALUES('axel_springer','Axel Springer','Axel Springer SE is a German media and technology company operating in more than 40 countries. It''s a leading integrated multimedia company in Europe and the USA, with a strong focus on digital media and classifieds.','https://www.axelspringer.com/de/datenschutzerklaerung','https://www.axelspringer.com/','1202','DE','kontakt@axelspringer.de',NULL);\nINSERT INTO companies VALUES('axeptio','Axeptio','Axeptio is a Consent Management Platform. The platform provides a conversational UI that builds a welcoming and memorable consent experience.','https://client.axept.io/content/624d5e22e4776e1f019014e2/contracts/635fcc807a044136bb302fa9/0.4.2.pdf','https://www.axept.io/','','FR','dpo@axeptio.eu',NULL);\nINSERT INTO companies VALUES('axill','Axill','\"Axill.com is a unique Internet media company making the web inventory smarter. Axill.com is a young, spear headed multi-model media company creating new revelations in the Internet advertising space. Axill deals with CPM, CPC and CPA.\"','http://www.axill.com/privacy.aspx','http://www.axill.com/','1303','SG',NULL,NULL);\nINSERT INTO companies VALUES('azadify','Azadify','Azadify Engage is a unique and innovative way to add significant value to your website -- we help you attract new website visitors and engage existing website visitors, all while decreasing bounce rate, increasing pageviews, and decreasing ad blocking. The best part? Our service is completely free, it takes less than five minutes to get setup (once your account is approved), and we are not an ad network.','http://azadify.com/engage/index.php','http://azadify.com/engage/index.php','4798',NULL,'engage@azadify.com',NULL);\nINSERT INTO companies VALUES('b2bcontext','B2BContext','\"The correct approach to contextual advertising campaign can in the shortest time with maximum efficiency to attract your company''s website is the target audience and make them regular customers!\"Translated by Google Translate','https://b2bcontext.ru/','https://b2bcontext.ru/','2205',NULL,'b2b@b2bcontext.ru',NULL);\nINSERT INTO companies VALUES('b2bvideo','B2Bvideo','\"Since 2009, we simplify the placement of contextual video advertising on the Internet. We first combined the contextual targeting and video effects. Without stopping, continue to evolve, providing our customers excellent service and high quality services.\"Translated by Google Translate','http://b2bvideo.ru/','http://b2bvideo.ru/','2056',NULL,NULL,NULL);\nINSERT INTO companies VALUES('backbeat_media','BackBeat Media','BackBeat Media is an interactive advertising company. They act as a publisher service agency representing the advertising and operations activities of consumer technology-focused online communities and content creators. They work with advertisers to help them reach demographically desirable web communities.','https://www.backbeatmedia.com/','https://www.backbeatmedia.com/','780','US',NULL,NULL);\nINSERT INTO companies VALUES('backtype','BackType','BackType is a marketing intelligence company that develops products and services to help companies understand their social impact. They provide backweets, tweetcount and comments search widgets. BackType analyzes social data and powers social features for various companies including The New York Times Company, SlideShare, Automattic, Bitly and more.','http://www.backtype.com/privacy','http://www.backtype.com/','215','US','support@backtype.com',NULL);\nINSERT INTO companies VALUES('baidu','Baidu','Baidu, Inc. is a Chinese multinational technology company specializing in Internet-related services, products, and artificial intelligence, headquartered in Beijing''s Haidian District. It is one of the largest Internet companies in the world. The holding company of the group is incorporated in the Cayman Islands.','https://ir.baidu.com/phoenix.zhtml?c=188488&p=privacy','http://www.baidu.com/','2500','CN','ir@baidu.com',NULL);\nINSERT INTO companies VALUES('bambuser','Bambuser','Bambuser provides a video commerce platform for brands looking to provide engaging and personalized shopping experiences.','https://bambuser.com/privacy-policy','https://bambuser.com/','','SE','dpo@bambuser.com',NULL);\nINSERT INTO companies VALUES('bankrate','Bankrate','Bankrate helps you Maximize Your Money and Master Life’s Financial Journey.There’s a financial decision to be made at nearly every stage of life. Bankrate.com offers the expert advice and tools you need to make those decisions with confidence.','https://www.bankrate.com/privacy/','https://www.bankrate.com/','5149',NULL,'webmaster@bankrate.com',NULL);\nINSERT INTO companies VALUES('bannerconnect','BannerConnect','Banner Connect is an online display advertising network and offers direct publishers services such as consultancy and campaign matching. For advertisers they provide retargeting, audience segmentation, real-time bidding, view-time tracking, creative engagement, container pixels and conversion path analysis services.','http://www.bannerconnect.net/privacy-policy/','http://www.bannerconnect.net/','852','NL','support@bannerconnect.net',NULL);\nINSERT INTO companies VALUES('bannerflow','Bannerflow AB',NULL,'https://www.bannerflow.com/privacy','https://www.bannerflow.com/','5314',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bannerplay','Bannerplay','\"Bannerplay provides a complete solution to launch an ad network easily and quickly, so you can focus on what you do best- marketing, and let us worry about the technology.Our vision is to offer our users the most innovative and effective solutions in order for them to build a leading and powerful ad placement system within minutes.\"','http://bannerplay.com/privacy-policy/','http://www.bannerplay.com/','3297',NULL,'info@bannerplay.com',NULL);\nINSERT INTO companies VALUES('bannersnack','Bannersnack','\"Based on the latest technologyBannersnack provides integrated solutions to offer a reliable and affordable experience for its users while creating banner ads. We''ve created a brand new interface to assure a flawless workflow with shorter loading times than anywhere else.Maximized compatibilityOur banner ads are compatible with Google AdWords, Facebook Ads and all major ad networks. You can also easily embed our HTML code right into your website or blog in no time. Choose one of our smart embed options and display your ad right away.\"','https://www.bannersnack.com/legal-information/privacy-policy.html','https://www.bannersnack.com/','4276',NULL,NULL,NULL);\nINSERT INTO companies VALUES('barilliance','Barilliance','Barilliance is a provider of an e-commerce platform for online retailers to increase sales and conversion rates. Their solutions provide visitors with a personalized shopping experience through various methods including targeted ad serving and customized product packages.','https://www.barilliance.com/privacy-policy','https://www.barilliance.com/','1209','IL','support@barilliance.com',NULL);\nINSERT INTO companies VALUES('barometer','Barometer','\"The easiest way to add a stylish feedback form to your website.\"',NULL,'http://getbarometer.com/','2872',NULL,NULL,NULL);\nINSERT INTO companies VALUES('batanga_network','Batanga Network','Batanga is an advertising network focused on connecting brands in the U.S.  Hispanic market. Their technology enables advertisers to target the audience based upon behavior, demography, and geography. In addition, the company offers publishers a suite of advertisers in a range of categories including telecommunication, automotive, packaged goods, spirits, and retail.','http://batangamedia.com/privacy-policy/','https://www.batanganetwork.com/','801','US','privacy@batanga.com',NULL);\nINSERT INTO companies VALUES('bauer_media','Bauer Media','\"Bauer Media is a division of the Bauer Media Group, Europe’s largest privately owned publishing Group. The Group is a worldwide media empire offering over 300 magazines in 15 countries, as well as online, TV and radio stations.\"','https://www.bauermedia.com/datenschutz/','http://www.bauermedia.com','2001',NULL,NULL,NULL);\nINSERT INTO companies VALUES('baycloud','Baycloud Systems','Baycloud Systems develops scalable cloud based security and monitoring systems. It’s first product is a web service that lets parents see in real time what their kids are doing on-line.  Baycloud System''s technology CookieQ, is a web application that delivers a Cookie Consent button to any web page. This lets visitors opt in to or opt out of cookies from your web site. It remembers your visitor’s cookie consent status between visits and removes cookies from their browser unless they have opted in.','https://cookieq.eu/privacy','https://cookieq.eu/','1350','GB','support@baycloud.com',NULL);\nINSERT INTO companies VALUES('baynote','Baynote','Baynote is a software company offering web search recommendation Software as a Service (SaaS) products. They use \"Wisdom of Invisible Crowds\" technology to serve a website''s audience with products and content relevant to their preferences. Baynote aggregates data on users'' behavior to guide like-minded visitors to the pages of the site that are most appropriate.','http://www.baynote.com/baynote-services-privacy-policy/','http://www.baynote.com/','24','US','support@baynote.com',NULL);\nINSERT INTO companies VALUES('bazaarvoice','Bazaarvoice','Bazaarvoice is a Software as a Service (SaaS) company that enables the world’s biggest brands to capture, analyze, and most importantly, act upon social data – to drive true, customer-centric change.We achieve that by first letting consumers create and share ratings, reviews, questions, answers, and stories about products and brands on client websites. We then syndicate that content across channels to reach shoppers wherever they are.This customer-generated content has a tremendously positive influence on purchase decisions. It is also rich with customer intelligence, which we analyze and provide to our clients so they can make real-time, information-based decisions that affect all aspects of their business – marketing, product R&D, and operations.','https://www.bazaarvoice.com/privacy-policy/','https://www.bazaarvoice.com/','1272','US','privacy@bazaarvoice.com',NULL);\nINSERT INTO companies VALUES('bd4travel','bd4travel','bd4travel profiles every single user – so that you understand each users interest and intent in real-time. Then we instantly recommend the most relevant product, service or content for them from your portfolio.','https://bd4travel.com/imprint/','https://bd4travel.com/','5150',NULL,'info@bd4travel.com',NULL);\nINSERT INTO companies VALUES('be_opinion','Be Opinion','A unique plugin to propose questions, surveys, petitions,quizzes and personality tests to your audience','https://admin.beopinion.com/terms','http://beopinion.com/','5023',NULL,'contact@beopinion.com',NULL);\nINSERT INTO companies VALUES('beacon_ad_network','Beacon Ad Network','\"Beacon is a Christian ad network that puts publishers in charge of their ads.\"','https://beaconads.com/about/privacy','https://beaconads.com/','1359','US','info@beaconads.com',NULL);\nINSERT INTO companies VALUES('beanstalk_data','Beanstalk Data','\"Founded in 2009, Beanstalk Data lives at the intersection of marketing and IT. Our SaaS platform connects multiple silos of data, in real time, to turn big data into actionable insights for our customers.\"','https://www.heartlandpaymentsystems.com/privacy-policy/','https://www.beanstalkdata.com/','2715',NULL,'info@beanstalkdata.com',NULL);\nINSERT INTO companies VALUES('bebi_media','Bebi Media','With a comprehensive list of direct advertisers and advanced optimization technology, you can get the highest revenue from the most relevant ads for all your online content.100% Traffic MonetizationWe help you to monetize global web and mobile traffic across all devices and platforms with easy access to all statistics in real time.Dedicated Account ManagersOur experienced and multilingual account managers will provide strategically and timely assistance to help you earn more from your quality traffic.','http://www.bebi.com','http://www.bebi.com','3769',NULL,NULL,NULL);\nINSERT INTO companies VALUES('beeketing','Beeketing','\"After 6 years working closely with online sellers, we realize that building things to make your life & your business easier has delighted us and brought us so much energy.We know how hard it is to get your business up and running, to get everything in the right places. While it''s difficult to attract new customers, it''s even harder to make your visitors return and become loyal customers, especially for small business owners.We used to spend thousands of hours getting our business in shape, and we know that many people, many businesses out there are also struggling with this. Therefore, we want to use our experience, our expertise building really good stuffs to help your online shop.Our mission is to do great works to make your life better and grow your business bigger.\"','https://beeketing.com/privacy-policy','https://beeketing.com/','4161',NULL,'hey@beeketing.com',NULL);\nINSERT INTO companies VALUES('beeswax','Beeswax','Beeswax part of FreeWheel, a Comcast company. It provides comprehensive ad platforms for publishers, advertisers, and media buyers. Powered by premium video content, robust data, and advanced technology, we’re making it easier for buyers and sellers to transact across all screens, data types, and sales channels. As a global company, we have offices in nine countries and can insert advertisements around the world.','https://www.beeswax.com/privacy.html','https://beeswax.com/','4160','US','privacy@beeswax.com',NULL);\nINSERT INTO companies VALUES('beezup','BeezUP','\"BeezUP, the software that allows you to effectively and efficiently manage the different sales and marketing channels consulted by more than 95% of consumers today.\"','http://www.beezup.com/Home/Terms','http://www.beezup.co.uk/','2712',NULL,NULL,NULL);\nINSERT INTO companies VALUES('begun','Begun','\"Begun is a contextual advertising service distributing ads between thousands partner sites. Contextual advertising is customer behaviour-motivated publicity technique, deemed to be the most productive and profitable promotion tool on the Web as for today.For advertisersBegun offers you a range on contextual advertising products that allow you to buy real results: click-through to your site, providing custom information to a unique visitor, and finally – a phone call to your office. The price of such a result is defined by the advertising party itself. If you think that your business needs Russian customers – start advertising with us! It will take a maximum of 10 minutes to register and start your promotion campaign. Prices per visitor start from $0.01. Minimum contract total price is $5.For websitesBegun is the largest advertising network in the Russian sector of the Internet. Any website with quality contents and Russian-speaking audience can join. It is the handiest and most profitable way to turn visit rates of your site into real money.For advertising agenciesAny agency can start providing Begun''s'' services to its customers interested in promoting their business in the Russian market. To start doing so, an agency will only have to take part in our remote training and licensing program. Favourable service terms and the great demand of contextual advertising make sure Begun will suit any media plan.\"','http://www.begun.ru/begun/unsubscribe.php','http://www.begun.ru/','328','RU','info@begun.ru',NULL);\nINSERT INTO companies VALUES('behavioralengine','BehavioralEngine','\"We integrate data originating from many different sources. On this basis we create anonymous user profiles which can be used for targeting in Real-Time Bidding models or Big Data systems.\"','http://www.behavioralengine.com/en/privacy-policy','http://www.behavioralengine.com/','2912',NULL,'biuro@cloudtechnologies.pl',NULL);\nINSERT INTO companies VALUES('belco','Belco','Contact forms, emails, phone calls, your customer service quickly turns into chaos with all these fragmented channels.Belco streamlines all your communication channels into one easy-to-use inbox. This way you can focus on delivering great service.','https://www.belco.io/en/privacy-policy','https://www.belco.io/','5141',NULL,'hello@belco.io',NULL);\nINSERT INTO companies VALUES('belstat','BelStat','\"BelStat MAX is a FREE statistics counter for your site!\"','https://www.belstat.com/info.asp?ma=81','https://www.belstat.com/','1346','US',NULL,NULL);\nINSERT INTO companies VALUES('bemobile','Bemobile',NULL,NULL,'https://bemobile.ua/en/','5315',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bench_platform','Bench Platform','\"In the short space of five years, we have turned Bench into a global programmatic marketing platform used by some of the world’s leading brands.We’re now considered a leading player in the performance marketing space in Australasia and further afield. But we see this as being only the beginning.\"','https://benchplatform.com/wp-content/uploads/2018/02/Bench-Privacy-Policy-Final.pdf','https://benchplatform.com','5200',NULL,'info@benchplatform.com',NULL);\nINSERT INTO companies VALUES('betsson_group_affiliates','Betsson Group Affiliates','\"Affiliate Lounge, the exclusive affiliate network of Betsson Group and one of the[...] renowned i-gaming affiliate programs in the business.\"',NULL,'https://www.betssongroupaffiliates.com/','1659','US',NULL,NULL);\nINSERT INTO companies VALUES('between_digital','Between Digital','Between Digital is the first system of yield management in Russia allowing sites to effectively sell online advertisement with the help of RTB (real-time-bidding).','https://betweendigital.ru/privacy-policy','https://betweendigital.ru/ssp','2492','RU','info@betweendigital.ru',NULL);\nINSERT INTO companies VALUES('bid.run','Bid.Run','Make business, not technologies.Just put fast, scalable and rich programmatic platforminto the heart of your business.','http://bid.run/','http://bid.run/','4986',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bidgear','BidGear','For more than 5 years, BidGear has been transforming the way of marketing to Brands and Consumers. Through real-time bidding, yield management, and workflow automation, BidGear enables publishers and media buyers to evaluate the attributes of each impression to determine its precise value, optimizing yield and maximizing revenue. Our name says everything about what we stand for. We are gears in the field of real-time bidding. After years of working in marketing, we have created the most optimized marketing platform to empower publishers.','https://bidgear.com/privacy-policy','https://bidgear.com/','5428','VN','info@bidgear.com',NULL);\nINSERT INTO companies VALUES('bidtellect','Simpli.fi','Simpli.fi is an demand side platform (DSP) that leverages unstructured data elements to deliver improved performance and deeper insights.','https://simpli.fi/services-privacy-policy','https://simpli.fi','4166','US','privacy@bidtellect.com','Simpli.fi acquired Bidtellect 2023. https://simpli.fi/latest/simpli-fi-completes-acquisition-of-contextual-and-native-demand-side-platform-bidtellect');\nINSERT INTO companies VALUES('bidtheatre','BidTheatre','BidTheatre is a provider of data driven marketing software to media agencies, advertisers and publishers. With BidTheatre DSP, marketers get unified and efficient access to the fragmented European media landscape and can launch awareness building or conversion driving banner or video campaigns. With its capabilities to target and understand digital audiences, BidTheatre''s platform makes marketing a dialogue, not a one-way communication.','https://www.bidtheatre.com/privacy-policy','https://www.bidtheatre.com/','3272','SE',NULL,NULL);\nINSERT INTO companies VALUES('bidvertiser','BidVertiser','BidVertiser is an online advertising network.  The company provides site-targeted ads where advertisers can select categories of websites for their advertisement to appear. Keyword-based ad placement allows for ads to appear on pages that contain keywords specified by advertisers in the title regardless of a website''s category. BidVertiser provides site-targeted placement by asking both advertisers and website publishers to specify categories for their ads and websites. BidVertiser is a Bpath company.','https://www.bidvertiser.com/','https://www.bidvertiser.com/','338','US',NULL,NULL);\nINSERT INTO companies VALUES('big_mobile','Big Mobile','\"We are an end-to-end mobile agency. We will help develop your Mobile strategy, design, produce, and facilitate brand discovery.\"','https://docs.wixstatic.com/ugd/d31a54_f5f43d6a1dc94bd58a6496b9bb56d332.pdf','http://www.bigmobile.com/','2476',NULL,'privacy@bigmobile.com',NULL);\nINSERT INTO companies VALUES('big_wall_vision','Big Wall Vision',NULL,NULL,'http://www.bigwallvision.fr/','5316',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bigcommerce','BigCommerce','BigCommerce Inc. is a NASDAQ-listed ecommerce platform that provides software as a service services to retailers. The company''s platform includes online store creation, search engine optimization, hosting, and marketing and security from small to Enterprise sized businesses.','https://www.bigcommerce.com/privacy/','https://www.bigcommerce.com/','5317','US','privacy@BigCommerce.com',NULL);\nINSERT INTO companies VALUES('bigmir-internet','Bigmir-Internet','Bigmir-Internet is a Ukrainian search engine and Internet-services provider. The services they provide include email, photo sharing, news aggregation and more. Bigmir-Internet is the Internet division of the Ukrainian Media Holding company KP Media.','http://info.bigmir.net/privacy_policy','https://www.bigmir.net/','813','RU','info@bigmir.net',NULL);\nINSERT INTO companies VALUES('bilginpro','BilginPro','Since we were in the 2002, we have produced large projects know very well the Internet industry, shortcomings and needs, we know very well.Before every job we can do from this window and we looked accumulation of our experience gives direction to your business. The most important point for us in a project, this innovative perspective on what we share with you out in the world-class, unique, trying to extract maximum performance and minimum cost product.(Tanslated by google)','https://bilgin.pro/','https://bilgin.pro/','4929',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bilibili','Bilibili','Bilibili, nicknamed B Site, is a video-sharing website based in Shanghai.','https://www.bilibili.com/blackboard/privacy-pc.html','https://www.bilibili.com','','CN','help@bilibili.com',NULL);\nINSERT INTO companies VALUES('bilin','Bilin','Bilin Technology was created to help B2B marketers identify prospect, influence purchasing decisions, and close the deal. With a team of PhDs and digital advertising veterans, we apply multidisciplinary sciences to online user behaviors, fine tune our algorithms to yield a breakthrough in B2B digital marketing technology.Our Content Engine monitors the content that is consumed during your prospects pre-buying.Internet research,collecting billions of data points everyday. Our Decision Engine uses deep learning technology to identify patterns and correlate millions of events to determine your prospect’s buying intention. Our ad platform then helps you nurture relationship with the prospects by serving ads at the precise time, at the exact location and to the right people, targeting decision makers like CMO, CTO, VP Marketing...We help your sales and marketing reach new levels of excellence and standout beyond competition.','https://www.bilintechnology.com/privacy.html','https://www.bilintechnology.com/','4667',NULL,NULL,NULL);\nINSERT INTO companies VALUES('binlayer','BinLayer','BinLayer is an online ad network that gives advertisers the opportunity to monetize their advertising through LayerAds, PopAds or HybridAds. Publishers in the network are paid on a CPM basis.','https://binlayer.com/law,agb.html','https://binlayer.com/home.html','339','DE','support@binlayer.com',NULL);\nINSERT INTO companies VALUES('binotel','Binotel','Binotel - a leading provider of business communications in Ukraine. 4.6 thousand. Binotel companies use products in their daily work, 1.5 million. People every day communicate through Binotel services, 32 million phone numbers have been connected through the exchange Binotel. (Translated by Google)','https://www.binotel.ua/','https://www.binotel.ua/','4820',NULL,NULL,NULL);\nINSERT INTO companies VALUES('biocatch','BioCatch','BioCatch is an Israeli cybersecurity company that specializes in behavioral biometrics, a technology that can recognize whether or not online banking users are who they appear to be based on their online behavior, specifically their interactions with mobile and web applications.','https://www.biocatch.com/privacy-policy','https://www.biocatch.com','','IL','dpo@biocatch.com',NULL);\nINSERT INTO companies VALUES('bisnode','Bisnode','\"Bisnode is a company that offers decision support and digital business, marketing and credit information.\"','http://liidi.bisnode.fi/yksityisyys.html','http://liidi.bisnode.fi/','2359',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bitcoin_plus','Bitcoin Plus','\"Bitcoin is a ''peer-to-peer virtual currency.''\"',NULL,'http://www.bitcoinplus.com/','1348','US','donny@bitcoinplus.com',NULL);\nINSERT INTO companies VALUES('bitrix24','Bitrix24','\"Bitrix24 - [''bɪtrɪks] 24 - is an initiative of Bitrix, Inc., a privately-owned company owned and managed by its founders. The Bitrix24 service is the final evolutionary stage of Bitrix Intranet and Extranet solutions (Bitrix, Inc. products) and was launched as a beta cloud-based service in April, 2012. Bitrix takes pride in serving customers ranging from Fortune 500 companies to small organizations, including well-known enterprises like Xerox, Samsung, Volkswagen, KIA, Gazprom, Vogue and PC Magazine.\"','https://www.bitrix24.com/privacy/','https://www.bitrix24.com/','4292',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bizcn','Bizcn','厦门商中在线科技股份有限公司，简称商中在线，成立于2001年，是知名的互联网应用与数字营销服务提供商。• 丰富的产品线商中在线致力于为全球各类企业和个人提供域名、云主机、云服务器、IDC租用托管、企业邮箱等互联网基础应用服务以及企业信息化、移动互联网微应用、品牌营销推广等行业互联网+综合解决方案。','https://www.bizcn.com/','https://www.bizcn.com/','4707',NULL,NULL,NULL);\nINSERT INTO companies VALUES('blis','Blis','Blis is a London-based mobile location technology company.','https://www.blis.com/privacy/','https://www.blis.com/','5318','GB','privacy@blis.com',NULL);\nINSERT INTO companies VALUES('blockthrough','Blockthrough','\"Measure how many visitors block your ads, and unlock revenue with non-intrusive ads just for your adblockers.\"','https://blockthrough.com/privacy-policy/','https://blockthrough.com/','2675','CA',NULL,NULL);\nINSERT INTO companies VALUES('blogad','BlogAD','\"...join BlogAD, professional advertising through BlogAD ad delivery system will deliver on your blog, you can easily earn advertising revenue...\"Translated by Google Translate','http://www.blogad.com.tw/Member/Personal.aspx','http://www.blogad.com.tw/','2929',NULL,NULL,NULL);\nINSERT INTO companies VALUES('blogbang','BlogBang','\"The first broadcast network advertising on blogs and social networks.\"','http://www.blogbang.com/rmgdsc/rprivacypolicy.php','http://www.blogbang.com/','1439','US','info@blogbang.com',NULL);\nINSERT INTO companies VALUES('blogcatalog','BlogCatalog','BlogCatalog is a social networking service that allows members to submit their blogs and create unique personal profiles online in order to find and communicate with other like-minded bloggers.','https://www.blogcatalog.com/privacy-policy/','https://www.blogcatalog.com/','28','US','support@blogcatalog.com',NULL);\nINSERT INTO companies VALUES('blogfoster','Blogfoster GmbH',NULL,'http://www.blogfoster.com/datenschutz/','http://www.blogfoster.com/','5319',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bloggerads','BloggerAds','BloggerAds was founded in 2006 as the interactive platform and advertising media for Taiwan''s largest blogging community. It provides bloggers or general members with the highest quality, most professional web activities, mission games, product experience, Questionnaires and so on.Members can share the evaluation, participate in various types of interaction on the station, earn huge bonuses, but also get a variety of different products of good health benefits. You can also use the blog post to help you earn additional petty money by collecting blog ads. At the same time, BloggerAds can also help you make public donations, for the help of people things, through BloggerAds to make a effort.BloggerAds will continue to plan a variety of features, activities, so that all members can participate in, get more good, earn more bonuses.','https://www.bloggerads.net/Portal/Index2','https://www.bloggerads.net/Portal/Index2','2237',NULL,'service@bloggerads.net',NULL);\nINSERT INTO companies VALUES('bloomreach','BloomReach','BloomReach is building an enterprise class Software as a Service (SaaS) solution to help companies increase their web traffic from \"organic\" or \"natural\" search results.','https://www.bloomreach.com/en/about/privacy-policy','https://www.bloomreach.com/en','396','US','privacy@bloomreach.com',NULL);\nINSERT INTO companies VALUES('blue_cherry_group','Blue Cherry Group','\"Blue Cherry is a media agency handling marketing for online retailers. We specialize in affiliate program management, search engine marketing, comparison shop engines, search engine optimization, and other services.\"','http://www.bluecherrygroup.com','http://www.bluecherrygroup.com','2639',NULL,NULL,NULL);\nINSERT INTO companies VALUES('blue_seed','Blue Seed',NULL,'http://blueseed.tv/#/en/privacy_policy','http://blueseed.tv/#/en/platform','4609',NULL,'contact@blueseed.vn',NULL);\nINSERT INTO companies VALUES('blue_triangle','Blue Triangle','Blue Triangle provides real-time digital experience analytics for online businesses. Their platform includes Marketing and Customer Journey Analytics, Real User & Synthetic Performance Monitoring, and Third Party Tag Governance.','http://www.bluetriangletech.com/privacy-policy/','https://www.bluetriangle.com/','3355','US','info@bluetriangletech.com',NULL);\nINSERT INTO companies VALUES('blueconic','BlueConic','BlueConic is the world’s simplest and most accessible customer data platform, built for marketers to harness the data required to power the recognition of an individual at each interaction, and then synchronize their intent across the marketing ecosystem. BlueConic was founded in 2010, and is headquartered in Boston with offices in Europe. More than 150 brands leverage the platform to drive cross-sell and upsell initiatives, increase conversions, and decrease waste to grow incremental sales and revenue, including The Boston Globe, Elie Tahari, RAEN Optics, ING and Crested Butte.','https://www.blueconic.com/privacy-policy/','http://www.blueconic.com','3860',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bluemetrix','Bluemetrix','Bluemetrix is an analytics company focused on providing anonymous statistical analysis of website traffic to its clients. Bluemetrix uses industry standard metrics, which allows clients to have the ability to compare website performance across domestic and international industries. In addition to providing clients with Web analytics data, Bluemetrix''s services enable real-time marketing and targeted campaign analysis.','https://www.bluemetrix.com/','https://www.bluemetrix.com/','32','JP','infomanagedservices@bluemetrix.com',NULL);\nINSERT INTO companies VALUES('bmetric','bmetric','bmetric is a platform that both helps businesses enhance their web customer interactions and provide call-tracking while respecting their users privacy.','https://bmetric.com/privacy-policy/','https://bmetric.com/','','DK','hello@bmetric.com',NULL);\nINSERT INTO companies VALUES('bol.com','Bol.com','More than 6 million loyal customers already know how easy and inspiring shopping is the best shop in the Netherlands and Belgium. With ease they choose from the endless and ever-growing range of bol.com including entertainment, toys, electronics, Klus-, luxury and baby products. In addition to the wide selection they receive a high level of service and competitive price. In short; We offer something for everyone, in every price range.','https://www.bol.com/nl/m/voorwaarden/privacy-policy/index.html','http://www.bol.com','2432',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bold','Bold','For the first year, Bold only developed Shopify apps, but as their user base and reputation grew, people started asking for more. This is when Bold''s Professional Services department was born, offering everything from basic online store setups to complete custom design and development solutions for sites of all sizes.Bold continues to be the leader when it comes to Shopify app development and has since grown from the four founders working part-time in their basement, to a team of more than 100 expert Support Wizards, Designers, Developers, and Project Managers who work with Fortune 500 clients around the globe, winning multiple awards along the way. If you can dream it, Bold can build it!','https://boldcommerce.com/privacy/','https://boldcommerce.com/','5039',NULL,NULL,NULL);\nINSERT INTO companies VALUES('boldchat','Boldchat','\"This business chat application - with full visitor monitoring, summary reporting, button/window customization, and invitation capabilities - adds immediate value to any website.\"','https://secure.logmein.com/home/policies/privacy','http://www.boldchat.com/','1529','US','legal@LogMeIn.com',NULL);\nINSERT INTO companies VALUES('bombora','Bombora','\"Bombora’s experienced management team has extensive B2B data and marketing expertise having worked with some of the world’s most renowned companies including: Madison Logic, IndustryBrains, DoubleVerify, AdFin, Bizo, Ziff-Davis and Experian.\"','https://bombora.com/privacy','https://bombora.com/','933','US','privacy@bombora.com',NULL);\nINSERT INTO companies VALUES('boo-box','boo-box','\"An ad network that delivers innovative technology solutions in different formats and targeting of advertisements to the web.\"Translated by Google Translate','http://boo-box.com/wp-content/uploads/2017/04/POL%C3%8DTICA_DE_PRIVACIDADE.pdf','http://boo-box.com/','2519',NULL,'privacy@boo-box.com',NULL);\nINSERT INTO companies VALUES('boost_box','Boost Box','A DMP aggregates audience data allowing for better segmentation, providing new types of analysis (such as multi-touch attribution), optimizing digital strategies through smarter decisions.','https://www.boostbox.com.br/politica','https://www.boostbox.com.br/','5186',NULL,NULL,NULL);\nINSERT INTO companies VALUES('booster_video','Booster Video','\"We help bloggers, musicians and everyone who works with videos to find target viewers and show them videos at the right time and place.\"','https://boostervideo.ru/privacy','https://boostervideo.ru/','5262',NULL,'support@boostervideo.ru',NULL);\nINSERT INTO companies VALUES('bootstrap_cdn','BootstrapCDN','BootstrapCDN is a public content delivery network. Users of BootstrapCDN can load CSS, JavaScript and images remotely, from its servers, and it''s been used more than 7.9 million websites worldwide (including 30% of the top-10k websites) and delivers more than 70 billion requests a month [1]. Bootstrap uses StackPath''s global content delivery network, which makes websites using its service resilient to unexpected surges in web traffic.','https://www.bootstrapcdn.com/privacy-policy/','https://www.bootstrapcdn.com/','5320','US',NULL,NULL);\nINSERT INTO companies VALUES('botscanner','BotScanner','\"Powerful and convenient analytics web service for analyzing all members of digital market.\"','http://botscanner.com','http://botscanner.com','3809',NULL,NULL,NULL);\nINSERT INTO companies VALUES('bounce_exchange','Bounce Exchange','\"Leveraging our exclusive \"exit-intent\" technology, Bounce Exchange™ is leading the paradigm shift in automated customer acquisition.\"','https://www.bouncex.com/privacy/','http://bounceexchange.com','2468',NULL,'profit@bounceexchange.com',unistr('Rebranded as Wunderkind\\u000a\\u000aSource: https://www.wunderkind.co/blog/article/announcing-wunderkind-formerly-bouncex/#'));\nINSERT INTO companies VALUES('box_uk','Box UK','Clickdensity is a web analytics tool.  Website owners can insert a javascript snippet into their page code, and Clickdensity tracks where users click on the site, how many people click on each link and how much time has elapsed between page load and when a given link was clicked on. Clickdensity is a BOX UK product.','https://www.boxuk.com/privacy-and-cookies','https://www.boxuk.com/','596','GB',NULL,NULL);\nINSERT INTO companies VALUES('boxever','Boxever','Boxever is a customer intelligence cloud for marketers.','https://www.boxever.com/privacy-policy/','https://www.boxever.com/','3365','IE','dpo@boxever.com',NULL);\nINSERT INTO companies VALUES('brainient','Brainient','Brainient is an online data solutions provider. Their technology helps publishers detect products in their videos and attach relevant information to them. Their flagship product, BrainStudio, is an interactive advertising platform for creating and running interactive video ads.','http://brainient.com/en/privacy','http://www.brainient.com/','978','GB','hello@brainient.com',NULL);\nINSERT INTO companies VALUES('brainsins','BrainSINS','\"We develop recommender systems for eCommerce and social networks that improve sells and pageviews.\"','https://www.brainsins.com/en/legal-terms','http://www.brainsins.com/','2658',NULL,NULL,NULL);\nINSERT INTO companies VALUES('branch_metrics_inc','Branch Metrics','Branch provides free deep linking technology for mobile app developers to gain and retain users. We''re on a mission to help solve mobile discovery by connecting users to relevant app content through deep links.','https://branch.io/policies','https://branch.io/','4164','US','privacy@branch.io',NULL);\nINSERT INTO companies VALUES('brand_metrics','Brand Metrics','Brand Metrics offers a cookieless software for continuous brand lift measurement—helping publishers and advertisers track awareness, consideration, preference, and purchase intent across all devices.','https://collector.brandmetrics.com/brandmetrics_privacypolicy.pdf','https://www.brandmetrics.com/','','SE','info@brandmetrics.com',NULL);\nINSERT INTO companies VALUES('brand_networks','Brand Networks','\"We''re Brand Networks, the leading provider of data-informed social marketing solutions.\"','https://bn.co/privacy.html','https://bn.co/','1889','US',NULL,NULL);\nINSERT INTO companies VALUES('brandreach','BrandReach','\"BrandReach is an Internet Ad Consulting company. We help each client formulate a strategy and then execute this strategy...Our clients range from some of the largest sites on the internet to some of the smallest. Currently, BrandReach is serving over 1.5 billion ad impressions per day, with the majority coming from North America & Europe.\"','http://www.brandreach.com/','http://www.brandreach.com/','1853','US',NULL,NULL);\nINSERT INTO companies VALUES('brandwatch','Brandwatch','Brandwatch helps you to understand the people of the world in ways you didn’t think possible. No matter how fast things change, our technology follows in real-time. We’re the difference between leading the way and getting left behind.','https://www.brandwatch.com/legal/user-privacy-policy/','https://www.brandwatch.com/','5421','GB','privacy@brandwatch.com',NULL);\nINSERT INTO companies VALUES('branica','Branica','\"Branica is a website analytics platform for bloggers and other website owners.\"','http://www.branica.com/privacy-policy/','http://www.branica.com/','1228','US','webmaster@branica.com',NULL);\nINSERT INTO companies VALUES('braze_inc','Braze','Braze is a comprehensive customer engagement platform that powers relevant and memorable experiences between consumers and the brands they love. Context underpins every Braze interaction, helping brands foster human connection with consumers.','https://www.braze.com/privacy/','https://www.braze.com/','5321','US','privacy@braze.com',NULL);\nINSERT INTO companies VALUES('bridgeline_digital','Bridgeline Digital','Magnetic provide tools for advertisers and publishers to leverage search data to target and retarget ad campaigns to the most relevant audience online.','https://www.bridgeline.com/privacy-policy','https://www.bridgeline.com/','532','US','privacy@bridgeline.com',NULL);\nINSERT INTO companies VALUES('bridgetrack','BridgeTrack','BridgeTrack is an ad serving technology. The platform provides data on target markets, buyers and their purchasing trends throughout an ad campaigns lifecycle. BridgeTrack integrates marketing tool that enables real-time reporting and optimization across multiple media channels including email, display advertising and search. BridgeTrack is Sapient''s proprietary platform.','http://www.bridgetrack.com/privacy-policy.html','http://www.bridgetrack.com/','428','US',NULL,NULL);\nINSERT INTO companies VALUES('bridgewell','Bridgewell','Mr. Yu Pei-fen, founder and CEO of Yuhui, is a Taiwan-based local technology research and development company established for nearly two decades. It has been engaged in \"Big Data\" and \"AI Artificial Intelligence\" for more than ten years. Is the company''s first-class team, and the reason to stay in these top talent, is related to the common belief that the real talent for the work of faith, people-oriented enterprises, it is possible to cultivate a high degree of self-expected young generation. \"Google Translate','http://www.bridgewell.com.tw/privacy/','http://www.bridgewell.com.tw/scupio-adnetwork/','2236',NULL,NULL,NULL);\nINSERT INTO companies VALUES('brightcove','Brightcove','Brightcove is an online video platform that provides software for publishing and distributing professional video on the Web. Brightcove''s video-management services include hosting videos as well as translating videos into formats for different devices. Their services also assist companies in tracking where their videos are being watched, and help manage advertising.','https://www.brightcove.com/en/privacy','https://www.brightcove.com/en/','683','US','privacy@brightcove.com',NULL);\nINSERT INTO companies VALUES('brightedge','BrightEdge','BrightEdge SEO is the first SEO platform to deliver proven ROI - enabling marketers to increase revenue from organic search in a measurable and predictable way. The largest brands in the world depend on BrightEdge to manage their digital marketing across their sites, search and social.','https://www.brightedge.com/privacy','https://www.brightedge.com/','1276','US','privacy@brightedge.com',NULL);\nINSERT INTO companies VALUES('brightfunnel','BrightFunnel','All About BrightFunnel.|We’re a growing team of marketing enthusiasts building the intelligence layer for your revenue stack.','http://www.brightfunnel.com/privacy-policy/','http://www.brightfunnel.com/','4828',NULL,'privacy@brightfunnel.com',NULL);\nINSERT INTO companies VALUES('broadstreet','Broadstreet','\"Broadstreet Ads helps news publishers make more money with their landmark ad platform. We help publishers boost revenue, advertisers keep their ads fresh, and readers engaged.\"','https://broadstreetads.com/about/privacy-policy/','https://broadstreetads.com/','2753',NULL,'frontdesk@broadstreetads.com',NULL);\nINSERT INTO companies VALUES('bronto','Bronto','\"Bronto Software provides a cloud-based marketing platform for retailers to drive revenue through their email, mobile and social campaigns.\"','http://bronto.com/terms/privacy-policy','http://bronto.com/','2550',NULL,'privacy@bronto.com',NULL);\nINSERT INTO companies VALUES('brow.si','Brow.si','\"Brow.si is a \"Publisher side mobile add-on\", that helps content and media players, tackling two of their main challenges: Monetization and Engagement. With its added visionary layer, Brow.si is interrupting the market with a solution that takes mobile engagement to the next step while allowing the publisher [to increase] mobile page views.\"','https://gobrowsi.com/','https://gobrowsi.com/','3029',NULL,'support@mysiteapp.com',NULL);\nINSERT INTO companies VALUES('browser-statistik','Browser-Statistik','\"Die Marktanteile der verschiedenen Browser verändern sich. Browser-Statistik.de versucht, diese Veränderungen zu messen und damit Webentwicklern und Designern ein hilfreiches Werkzeug an die Hand zu geben. Dazu werden mit freundlicher Hilfe vieler Partnerseiten Daten von deren Besuchern gesammelt, die vollkommen anonym ausgewertet werden und in den Browser-Statistiken zusammengefasst werden.\"','http://www.browser-statistik.de/impressum/#datenschutz','https://www.browser-statistik.de/','3548',NULL,'jan@solvium.de',NULL);\nINSERT INTO companies VALUES('browser-update','Browser-Update','Browser-Update is a widget that informs website visitors to update their browser if their current one is ''out-of-date''.','https://www.browser-update.org/','http://www.browser-update.org/','1146','US',NULL,NULL);\nINSERT INTO companies VALUES('bubblestat','Bubblestat','Bubblestat is a tool for analysis and audience measurement for websites.',NULL,'https://www.bubblestat.com/','1119','FR',NULL,NULL);\nINSERT INTO companies VALUES('buffer','Buffer','\"Buffer makes your life easier with a smarter way to schedule the great content you find. Fill up your Buffer at one time in the day and Buffer automagically posts them for you through the day. Simply keep that Buffer topped up to have a consistent social media presence all day round, all week long.\"','https://buffer.com/privacy','https://buffer.com/','1230','GB','help@bufferapp.com',NULL);\nINSERT INTO companies VALUES('bugherd','BugHerd','\"BugHerd is point and click bug tracking for websites and web applications.\"','https://www.bugherd.com/privacy','https://www.bugherd.com/','1857','US','support@bugherd.com',NULL);\nINSERT INTO companies VALUES('bugsnag','SmartBear','SmartBear Software is an American privately-held information technology company that delivers tools for application performance monitoring (APM), software development, software testing, API testing and API management. The company is based in Assembly Square in Somerville in the Greater Boston Area.','https://smartbear.com/privacy/','https://smartbear.com/','3347','US',NULL,'Bugsnag acquired by Smartbear 2021 https://www.bugsnag.com/blog/bugsnag-joins-smartbear/');\nINSERT INTO companies VALUES('bunchbox','Bunchbox','Bunchbox uses a JavaScript file on your website to do its work. Every account in Bunchbox has its own file. It contains the generic code that''s the same for every account. And it also contains the information about experiments, variants, rules that is specific to the account.','https://app.bunchbox.co/login','https://app.bunchbox.co/login','4095',NULL,NULL,NULL);\nINSERT INTO companies VALUES('burt','Burt','Burt creates software for the advertising industry, addressing the need for publishers to better monetize their ad inventory, and for advertisers to increase the visibility and impact of their digital campaigns. Their products include Meme Machine which tailors ads to consumers, RICH a free online analytics tool, and CopyBox, a writing assistant for creatives.','http://www.burtcorp.com/','http://www.burtcorp.com/','493','US','info@burtcorp.com',NULL);\nINSERT INTO companies VALUES('businessonline','BusinessOnline','BusinessOnline is an interactive marketing company.  Their focus is on developing an understanding of user needs and generating insights that can be leveraged to achieve clients'' online marketing goals. Their solutions include web analytics and social media optimization.','https://www.businessol.com/privacy-policy','https://www.businessol.com/','686','US','legal@BusinessOL.com',NULL);\nINSERT INTO companies VALUES('buysellads.com','BuySellAds.com','BuySellAds.com is an online ad exchange that advocates transparency in buying and selling ads online. Its advertising clients can select the website they want to place ads on and pay for the ad directly.  Buysellads.com does not mark up prices beyond what the website owners set as their own price.','https://buysellads.com/about/privacy','https://buysellads.com/','278','US','info@buysellads.com',NULL);\nINSERT INTO companies VALUES('buzzador','Buzzador','\"Buzzadors business concept is based on the most powerful force to influence, a friend''s recommendation! Our vision is to link the consumer goods companies closer to their consumers by creating a direct dialogue and to listen to what the consumers think about their products and services.\"','https://www.buzzador.com/membership-terms/','http://www.buzzador.com','2393',NULL,'info@buzzador.com',NULL);\nINSERT INTO companies VALUES('buzzfeed','BuzzFeed','BuzzFeed, Inc. is an American Internet media, news and entertainment company with a focus on digital media.','https://www.buzzfeed.com/about/privacy','http://www.buzzfeed.com','2388','US','info@buzzfeed.com',NULL);\nINSERT INTO companies VALUES('bytedance_inc','ByteDance Inc','ByteDance, a Chinese multinational internet technology company headquartered in Beijing and legally domiciled in the Cayman Islands. Its main product is TikTok, known in China as Douyin, a video-focused social networking service.','https://sf16-sg.tiktokcdn.com/obj/eden-sg/upsnuhpevbn/bytedance_official/PrivacyPolicy_ByteDance.com.pdf','https://www.bytedance.com/','5432','KY','privacy@bytedance.com',NULL);\nINSERT INTO companies VALUES('c1_exchange','C1 Exchange','C1X is an independent technology leader that helps brands and their agencies find difficult-to-source audiences directly and transparently from leading premium publishers. Its data-driven digital advertising platform facilitates a friction-free marketplace for both publishers and advertisers with easy to execute direct connections, delivering industry-leading visibility and viewability. The C1X Platform offers an Audience Guarantee approach to provide buyers and sellers smooth participation in private marketplaces without having to rely on Deal IDs. The C1X Platform hosts access to inventory from more than 2,000 premium sites globally, including a growing list of premium publishers in the U.S.','https://c1exchange.com/policy','https://c1exchange.com/','4897',NULL,NULL,NULL);\nINSERT INTO companies VALUES('c3_metrics','C3 Metrics','C3 Metrics provides analytics tools to online advertisers, agencies and networks.  Their products utilize Full Funnel Attributionâ„¢ to identify missed revenue.  The system recognizes that credit should be assigned to a team of Internet ads versus the last ad. The tools capture all sources from the top to the bottom of the funnel in every transaction and then attributes credit to a team of ads they call the Originators, Assists, and Converters.','http://c3metrics.com/privacy/','http://c3metrics.com','754','US',NULL,NULL);\nINSERT INTO companies VALUES('c8_network','C8 Network','\"C8.Network - innovator of online advertising. Our mission - to develop and implement unique tools for the dynamic development of the online advertising market in Ukraine.\"Translated by Google Translate','http://c8.net.ua/PrivacyPolicy.pdf','http://c8.net.ua/','2187',NULL,NULL,NULL);\nINSERT INTO companies VALUES('c_on_text','C|ON|TEXT','\"C|ON|TEXT is contextual advertising system that uses a large pool of web sites to display ads. Based on product or services you advertise, the system selects the appropriate sites and pages for your ads. That ensures your advertising campaigns are shown to audience that is most interested in purchasing your products and/or services.\"','http://c-on-text.com/PrivacyPolicy.aspx','http://c-on-text.com','2125',NULL,NULL,NULL);\nINSERT INTO companies VALUES('cadreon','Cadreon','Cadreon is a digital advertising agency that buys targeted audiences to help clients build and serve advertisements dynamically in real-time. Their audience marketplace utilizes a host of different parameters, tailoring both creative content and messaging to specific client audience profiles. Cadreon is a MediaBrands company.','http://www.cadreon.com/privacy-notice/','http://www.cadreon.com/','284','US','info@cadreon.com',NULL);\nINSERT INTO companies VALUES('cafe24','Cafe24','\"Cafe24 is a worldwide e-commerce platform that helps merchants establish their online DTC stores.\"','https://global.cafe24.com/agreement/policy.html','https://global.cafe24.com/global/','','KR','global_support@cafe24.com',NULL);\nINSERT INTO companies VALUES('call_page','Call Page','CallPage is a San Francisco and Krakow based startup, with a team full of talent. We’re backed by leading European investors including Startup Wise Guys.We believe that unifying human conversation and technology has changed the world of sales, and we''re passionate about empowering our clients with speed and innovation.','https://www.callpage.io/privacy-policy','https://www.callpage.io/','5156',NULL,NULL,NULL);\nINSERT INTO companies VALUES('callbackhunter','CallbackHunter','\"CallbackHunter tracks any visitor to your site. When that visitor decides to leave, the service instantly organizes a call with a sales manager.\"','https://callbackhunter.com/?lang=en#','http://callbackhunter.com/main','3559',NULL,NULL,NULL);\nINSERT INTO companies VALUES('callbox','CallBox','A global leader in call-tracking and reviewing technologies, Call Box is the corporate parent of popular products like Car Wars, Patient Pursuit, Rent Buzz, Humanatic, Service Hook, and Dial Tag. Call Box revolutionized the industry when it introduced outbound call recording. Today, Call Box aims to inspire the success of our customers by continuously pushing the boundaries of what call-tracking is. Founded in 1988 and based in Dallas, Texas, Call Box operates from its office in downtown Dallas.','https://callbox.com/privacy-policy/','https://www.callbox.com/','2416',NULL,'support-team@centuryinteractive.com',NULL);\nINSERT INTO companies VALUES('callibri','Callibri','Callibri is cloud services for marketers and entrepreneurs. They help track the effectiveness of advertising and get more customers from the Internet. We develop them ourselves, and then sell, service and promote them.','https://callibri.ru/privacy_policy','https://callibri.ru/','4803','RU',NULL,NULL);\nINSERT INTO companies VALUES('callrail','CallRail','\"CallRail call tracking will help you make more money by identifying the marketing channels that make the phone ring. Track phone calls from anywhere: online and offline!\"','https://www.callrail.com/privacy/','https://www.callrail.com/','2652',NULL,'support@callrail.com',NULL);\nINSERT INTO companies VALUES('calltracking','Calltracking','Get analytics of calls from offline and online advertising. Use the received data and disconnect the channels, which do not result in calls and requests.','https://calltracking.ru/oferta/','https://calltracking.ru','5213','RU','info@calltracking.ru',NULL);\nINSERT INTO companies VALUES('calltrackingmetrics','CallTrackingMetrics','Utilizes call tracking to monitor advertising performance, identify effective ads generating promising leads, and enhance revenue by automating interactions with customers, facilitating faster deal closures.','https://www.calltrackingmetrics.com/legal/privacy/','https://www.calltrackingmetrics.com/','','US','privacy@calltrackingmetrics.com',NULL);\nINSERT INTO companies VALUES('campus_explorer','Campus Explorer','The philosophy at Campus Explorer is pretty simple: We believe everyone deserves a fulfilling education, no matter the name or place. We think that given the proper tools, anyone shopping for college or continuing education can find the perfect fit.CampusExplorer.com is the place to begin that great adventure. We have compiled everything you need for a college search, right here in one site.Whether it''s a two- or four-year school, a career college or an online program, we have figured out everything from tuition to average temperature. We also have a personalized search function that allows you to set your wish list and explore from there. We even have direct partnerships with schools to put you in touch with admissions officers.Our database today contains information on more than 8,000 schools, and counting. It''s accurate. It''s easy to use. It''s the most comprehensive directory devoted to higher education you''ll find anywhere on the web. And it''s free!Why did we build CampusExplorer.com?As far as life decisions go, college is a big one. It can determine your career path, your friends, your future.We think it''s the kind of decision you want to get right the first time around. But we know that for many students, that''s easier said than done.Student-to-counselor ratios are out-of-whack in public school systems around the country. California, for instance, has one college counselor for every 600 students, on average. Elsewhere, you''ll hear 1:250 cited as a common counselor-to-student ratio.Valuable and informed college counseling is impossible to come by in those conditions. And even if you''re one of the most resourceful kids at school, you''ve probably already figured out there aren''t many free places to look for good, first-hand and objective information on higher-ed opportunities.If you''re an adult looking for options to continue your education, you''ve faced the very same problem.It''s hardly surprising, then, that transfer rates at colleges are mounting steadily. According to the US Department of Education, as many as 60% of American college students now attend more than one school before graduating. Experts say the reasons are clear: general dissatisfaction with a school; cost; changing majors; even homesickness.Also evident is the fact that transfers cost us minutes and money, not to mention stress, during a time in our lives that''s supposed to be peaceful and positive.We think it''s interesting that the transfer rate had been climbing consistently for almost two decades, but just recently skyrocketed – right in the midst of the Information Age. Perhaps that has something to do with the fact that even though there''s more information available to us than ever before, sifting through every last byte that comes across our screens can be a major challenge.At Campus Explorer we''ve done the heavy lifting for you. We''ve sourced the primary providers of information – the government, the schools themselves, and their students – and made it easy for you to find what is most valuable and relevant.The choice is yours; we just put everything into one place for you.How do you get started?Students: Whether you are just graduating high school, looking for graduate schools, wanting to change careers, getting certified in your trade or looking for a fun night class, Campus Explorer is here to help. We let you search for schools by major or field of study, location, degree type and much more. If you already have a wish list of schools in mind, search by name and dig right into the campus profiles. Watch videos. Cruise through school photos. Calculate your chance of admission. We can also help you compare price tags and track applications. We''re here 24/7. Think of us as your personal college counselor.Guidance Counselors: Your students are all very different. You want the best for all of them. At the same time, there are only so many minutes in a school-day. You need one-stop shopping when it comes to college research. We''ll help you search through vast quantities of information across thousands of schools. You''ll be able to home in quickly on an array of options for a diverse student body and help each student complete his or her plan for the future.Admissions Officers: You want to give an in-depth and rounded view of your school to students across the country, especially to potential applicants in other regions who may be unfamiliar with your program. You may also want to give interested students an easy way to contact you. Use our campus profile pages and our many interactive tools to showcase your school to both students and guidance counselors.Campus Explorer: Find your future.','http://www.campusexplorer.com/company/legal/privacy/','http://www.campusexplorer.com/','4094',NULL,'privacy@campusexplorer.com',NULL);\nINSERT INTO companies VALUES('canddi','CANDDi','\"CANDDi is the Global #1 Visitor Identification software. On average 20-25% of website visitors are identified to Name, Email and Social Profiles by adding the CANDDi tracking code to your website and integrating the technology into your outbound marketing.\"','https://www.canddi.com/privacy/','https://www.canddi.com/','4275',NULL,'privacy@canddi.com',NULL);\nINSERT INTO companies VALUES('canva','Canva','Canva provides a graphic design platform that provides tools for creating social media graphics, presentations, postcards, promotional merchandise and websites.','https://www.canva.com/policies/privacy-policy/','https://www.canva.com/','','AU','privacy@canva.com',NULL);\nINSERT INTO companies VALUES('captify','Captify','\"We at Captify strive to provide advertisers'' campaigns with performance, no wastage, quality inventory and personal account management.\"','http://www.captify.co.uk/privacy-policy/','http://www.captify.co.uk/','1976',NULL,'privacy@captify.co.uk',NULL);\nINSERT INTO companies VALUES('captora','Captora','\"Captora is the only inbound marketing acceleration solution that actually executes for you, unlike other marketing tools that are diagnostic in nature and often just create more to do. Captora does the work for you by automatically stack-ranking new campaigns that will deliver the best results fastest, creating new campaigns for you to easily review, edit and launch, and continually testing and tuning every new campaign for optimal results.\"','http://www.captora.com/privacy-policy/','http://www.captora.com/','3056',NULL,'privacy@captora.com',NULL);\nINSERT INTO companies VALUES('capture_media','Capture Media','Good online marketing does not waste advertising frills, but generates sustainable success. We do not just count ads and clicks, but deliver real people interested in what they offer.','http://capturemedia.ch/data-protection/20180420_capture_de/','http://capturemedia.ch/','5185','CH','info@capturemedia.ch',NULL);\nINSERT INTO companies VALUES('capturly','Capturly','\"Optimize your websiteMake better decisions based on real user interactions.It''s all about your website.Easy to set up. Get started in 5 minutes.Increase your visitor engagement.Identify customer pain points.Observe the number of visitors browsing your website.Have your website events automatically collected.Boost your conversion rates like never before.\"','https://capturly.com/privacy','https://capturly.com/','4267',NULL,NULL,NULL);\nINSERT INTO companies VALUES('carambola','Carambola','Carambola is a unique, publisher focused platform that creates new revenue streams for premium publishers, while enhancing the experience on their pages - rather than damaging it. The combination between Carambola''s ability to deeply understand publishers'' pages and our premium, original content library (artfully crafted by professional writers and editors) enables us to set a new bar when it comes to users engagement and satisfaction. Backed by Tier-1 VC, our goal is to become publishers'' preferred and trusted choice.','https://www.carambola.com/privacyPolicy/index.html','http://carambo.la/','4511',NULL,NULL,NULL);\nINSERT INTO companies VALUES('carrot_quest','Carrot Quest','Carrot Lead manager - created specifically for the online business that behind the numbers to see the real people and their data','https://www.carrotquest.io/','https://www.carrotquest.io/','4510',NULL,NULL,NULL);\nINSERT INTO companies VALUES('cartstack','CartStack','\"Shopping cart abandoners are 3 times more likely to come back and buy IF they receive an email reminder. CartStack lets you automate this process to start recapturing lost sales in minutes.\"','https://cartstack.com/','https://cartstack.com/','3441',NULL,NULL,NULL);\nINSERT INTO companies VALUES('caspion','Caspion','\"Caspion Networks, Ltd. develops and operate[s] a technology and solutions catering to both publishers and advertisers.\"',NULL,'https://caspion.com/','2993',NULL,'aviv@caspion.com',NULL);\nINSERT INTO companies VALUES('castle','Castle','It''s 2018, and still no decline in password breaches. Businesses are struggling frantically to protect their customer data from leaking into the wrong hands. As a consequence, customers are forced to use longer and more complex passwords, turn on two-step verification, and regularly keep an eye on their account activity - for every single service they use.This shift of responsibility to the customer must stop. It is about time that companies take the next step in securing their products, and we are here to help. Whether you''re building a bitcoin service, e-commerce store, mobile app, or any other customer-facing application, Castle will have your users'' accounts protected from fraud and hijacks within minutes. And the more we are, the better our algorithms will get at catching the bad guys.We''re committed to making a security solution that plugs in to any environment at any level, and just works. Without the need for predefined rules, professional training, and expensive support deals. A security framework for the next-generation of cloud services.','https://castle.io/privacy','https://castle.io','5169',NULL,NULL,NULL);\nINSERT INTO companies VALUES('catchpoint_systems','Catchpoint Systems','\"Catchpoint provides real time analytics in the end to end performance of internet services. Our web performance and application monitoring tools allow companies to measure the behavior of their services from multiple vantage points to better understand their performance and the factors impacting it.\"','https://www.catchpoint.com/privacy-policy.html','https://www.catchpoint.com/','2897',NULL,NULL,NULL);\nINSERT INTO companies VALUES('cbox','Cbox','Cbox is a scalable tagging, commenting and chat widget that lets visitors post messages and chat, without leaving the originating website.','https://www.cbox.ws/privacy','https://www.cbox.ws/','804','WS',NULL,NULL);\nINSERT INTO companies VALUES('cbs_interactive','CBS Interactive','\"CBS Interactive builds media experiences based on the things people love most. Across brands like CBS.com, GameSpot, CNET, TV.com and CBSSports.com, we deliver highly engaging editorial programming that combines original, independent and user-generated content.\"','https://www.cbsinteractive.com/legal/cbsi/privacy-policy','https://www.cbsinteractive.com/','425','US',NULL,NULL);\nINSERT INTO companies VALUES('cdk_digital_marketing','CDK Digital Marketing','The Cobalt Group provides Web site design and online marketing services to auto dealers. They assist dealers and manufacturers with increasing their retail effectiveness and profitability through digital marketing platforms, solutions, and advertising. Cobalt currently provides marketing services to nearly half of the automotive dealerships in the United States. The Cobalt Group is owned by ADP.','https://www.cdkglobal.com/cdk-online-privacy-portal','https://www.cdkglobal.com/','740','US','privacy@cdk.com',NULL);\nINSERT INTO companies VALUES('cdnvideo','CDNvideo',NULL,NULL,'https://www.cdnvideo.com/','5322',NULL,NULL,NULL);\nINSERT INTO companies VALUES('cedexis','Cedexis','Cedexis provides a collective intelligence platform for next-generation web traffic management strategies. Cedexis Radar provides IT organizations with the collective intelligence necessary to evaluate and compare a wide range of infrastructure options, from traditional data centers and delivery networks to emerging cloud storage and cloud computing platforms.','http://www.cedexis.com/privacy-policy/','http://www.cedexis.com/','691','US','legal@cedexis.com',NULL);\nINSERT INTO companies VALUES('celebrus','Celebrus','\"About Celebrus TechnologiesCelebrus’ tagging-free software delivers customer data about individuals’ interactions with a brand’s digital channels in real-time.  Celebrus’ feeds this data into a wide variety of technologies in real-time to power customer analytics, digital intelligence and real-time personalisation programmes that maximise revenue, marketing effectiveness and brand loyalty.  Alone, or in combination with other customer, business or operations data, this transforms the level of understanding an organisation has about its customers enabling them to become truly customer centric and achieve the business transformation required to succeed today.  Now isn’t that refreshing!In January 2015 Celebrus Technologies Limited was acquired by long-standing partner D4t4 Solutions Plc.  A UK Alternative Investment Market (AIM) listed organisation with offices in the UK and India.\"','https://www.celebrus.com/privacy-policy','https://www.celebrus.com/','1936','US','info@celebrus.com',NULL);\nINSERT INTO companies VALUES('celtra','Celtra','Celtra provides a web based self-service platform for creation, ad trafficking, tracking and optimization of rich media mobile display advertising. Celtra''s AdCreator allows publishers, ad networks and media agencies to create, distribute and measure rich media ads across all major OS platforms and numerous mobile devices.','https://www.celtra.com/privacy-policy','https://www.celtra.com/home','921','US','privacy@celtra.com',NULL);\nINSERT INTO companies VALUES('cendyn','Cendyn','Our 20 years of success in the hospitality industry shows that we don''t just have innovative solutions – we have products that are tied to proven revenue producing business models. That means we understand your struggles. We''ve been on your side of the table and we know how to make your life easier and more successful. We know what is working, right now. Just ask any of our over 30,000 hotel clients.','https://www.cendyn.com/privacy-policy/','https://www.cendyn.com/','4653',NULL,'ONE@cendyn.com',NULL);\nINSERT INTO companies VALUES('centraltag','CentralTag','\"Central TAG is a RETARGETING SERVICE which allows ads to be retargeted within Advertisers campaigns.The goal of the retargeting ads is to deliver the ads to the right recipient.\"','http://www.centraltag.com/commercial/policy/index.action#contact','http://www.centraltag.com/commercial/policy/index.action','2190',NULL,NULL,NULL);\nINSERT INTO companies VALUES('centre_phi','Centre Phi','\"The Phi Centre is a multi-disciplinary arts and culture hub. Through the diverse initiatives of programming, original content production and the exploration of various genres, we foster unexpected encounters for artists and audiences alike.Our building’s high-tech, multifunctional spaces inspire innovation, collaboration and exchange.At the Phi Centre, ideas are explored, nourished and contextualized into immersive experiences.\"','https://phi-centre.com/en/about/','https://phi-centre.com/en/','3023',NULL,NULL,NULL);\nINSERT INTO companies VALUES('centro','Centro','Centro is a digital media and technology services company. Its proprietary technology, Transis, streamlines the process of planning, negotiating, trafficking and billing for agencies and media companies. Its automated media buying and execution software enables clients to place their campaigns in a contextually relevant manner. Spectrum is a network product of Centro.','https://www.centro.net/privacy-policy/','https://www.centro.net/','714','US','privacy@centro.net',NULL);\nINSERT INTO companies VALUES('cerberus','Cerberus','\"Cerberus is instructed by leading international law firms, trade mark agents and brand owners.  We conduct IP investigations world-wide, providing specialist support to clients.\"\"Our head office is in London where we coordinate work in Western Europe, The Americas and the Far East.  We have further offices in Istanbul (Covering Turkey, Eastern Europe, Russia and ex Soviet countries) and Dubai (Covering the Middle East and North Africa). To achieve truly global coverage we also have a network of trusted agents and partners throughout the world.  Wherever you have an issue, we can help.\"','https://www.cerberusip.com/privacy-policy','https://cerberusip.com/','4517',NULL,'info@cerberusip.com',NULL);\nINSERT INTO companies VALUES('ceros','Ceros','Ceros is a cloud-based platform that enables designers and marketers to create, publish, and analyze interactive content without requiring coding skills. It integrates with various systems like CMS, email, analytics, and marketing automation platforms to provide a seamless workflow for businesses.','https://www.ceros.com/privacy-policy/','https://www.ceros.com/','','US','privacyofficer@ceros.com',NULL);\nINSERT INTO companies VALUES('certainsource','CertainSource','eWayDirect is an internet marketing service provider. It provides an integrated platform for email marketing, website re engagement, branded online communities, desktop notification and cross-channel analytics. Other products include  search marketing and social media services.','http://www.certainsource.com/certainsource-privacy-policy','http://www.certainsource.com/','643','US','privacy@certainsource.com',NULL);\nINSERT INTO companies VALUES('certona','Certona','Certona''s behavioral targeting and personalization platform Resonance enables online retailers to personalize their customers'' experience by delivering individualized product recommendations in real-time. Resonance provides real-time consumer recommendations, promotional offers, targeted advertising, enhanced search and personalized digital entertainment recommendations.','http://www.certona.com/privacy/','http://www.certona.com/','351','US','info@certona.com',NULL);\nINSERT INTO companies VALUES('cevoid','Cevoid','Cevoid helps you turn customers into brand advocates. Collect UGC, host challenges, and reward customers - all on your e-commerce storefront.','https://cevoid.com/legal/privacy-policy','https://cevoid.com/','','SE','info@cevoid.com',NULL);\nINSERT INTO companies VALUES('chamaleon','Chamaleon','We connect the digital advertising companies providing scalable, non-intrusive and innovative solutions supported by a full-stack native platform','https://chameleon.ad/privacy-policy','http://chameleon.ad/','4513',NULL,NULL,NULL);\nINSERT INTO companies VALUES('channeladvisor','ChannelAdvisor','ChannelAdvisor is a software provider that help retailers sell and manage inventory products online across multiple e-commerce  marketplaces,Â  search  engines and comparison shopping engines. Their technology platform supports optimization, retail analytics and reporting to drive shoppers to products.','https://www.channeladvisor.com/privacy-policy/','http://www.channeladvisor.com','367','US',NULL,NULL);\nINSERT INTO companies VALUES('chaordic','Chaordic','\"Since 2009, we have transformed research of artificial intelligence, data mining and machine learning into high efficiency recommendations, recognized internationally and with proven results. Our focus is on the development of personalization solutions for the e-commerce sector.\"','http://www.chaordic.com.br/','http://www.chaordic.com.br/','2166',NULL,NULL,NULL);\nINSERT INTO companies VALUES('charpstar','CharpstAR','CharpstAR is 3D & Augmented Reality solutions provider for the retail sector. From interactive 360 Viewers and immersive WebAR experiences, to customizable 3D Configurators and photorealistic 3D Renders.','https://charpstar.co/policy','https://charpstar.co/','','SE',NULL,NULL);\nINSERT INTO companies VALUES('chartbeat','ChartBeat','Chartbeat provides real-time analytics to web sites and blogs. The interface tracks visitors, load times, and referring sites on a minute-by-minute basis. This allows real-time engagement with users giving publishers an opportunity to respond to social media events as they happen. ChartBeat also supports mobile technology through APIs. Chartbeat is a betaworks Company.','https://chartbeat.com/privacy/','http://chartbeat.com','313','US','privacy@chartbeat.com',NULL);\nINSERT INTO companies VALUES('chaser','Chaser','Это сервис моментального обратного звонка, который помогает:конвертировать посетителей вашего сайта в покупателей;оптимизировать рекламный бюджет;улучшить поведенческие метрики.','http://chaser.ru/','http://chaser.ru/','4958',NULL,'support@chaser.ru',NULL);\nINSERT INTO companies VALUES('chat_beacon','Chat Beacon','Instantly welcome every online visitor with a friendly greeting. Create the perfect chat window to match your website’s unique aesthetic with our customization features. Assign aliases and avatars to all of your agent profiles for a personalized touch that your customers will love.','https://www.chatbeacon.io/privacy','https://www.chatbeacon.io/','5123',NULL,'sales@chatbeacon.io',NULL);\nINSERT INTO companies VALUES('chatango','Chatango','\"Add free live chat to any web page.\"','http://www.chatango.com/page?full_privacy','http://www.chatango.com/','2700',NULL,NULL,NULL);\nINSERT INTO companies VALUES('chatra','Chatra','\"Chatra is a live chat messenger app for your website. It is made to increase online sales but in a friendly, helpful way. Just because software is designed for business doesn’t mean it has to be clunky and corporate.You can’t grab a coffee with every single potential customer, but we think that Chatra is the next best thing.\"','https://chatra.io/privacy-policy/','https://chatra.io','5220',NULL,'info@chatra.io',NULL);\nINSERT INTO companies VALUES('chatwing','chatWING','\"chatWING currently powers the communication for nearly every situation and industry imaginable, these include Communities, Top News Outlets, Media Organizations, Radio, Television, Live Events, Social Networks, Universities, Finance, Gaming, Video Platforms, Stock Market Trading, and of course Family and Friends.\"','http://chatwing.com/site/privacy','http://chatwing.com/','2441',NULL,'info@chatwing.com',NULL);\nINSERT INTO companies VALUES('checkmystats','CheckMyStats','\"Checkmystats.com.au (Outsmarted Pty Ltd) is the next generation in Affiliate Marketing with an emphasis on geographic targeting and sending pre-qualified customers to your website to help grow your business and stretch your marketing budget.\"','https://xy7elite.com/privacy.php','https://checkmystats.com/','2435',NULL,NULL,NULL);\nINSERT INTO companies VALUES('chicory','Chicory','Chicory shows shoppers relevant ads for everyday grocery and household products based on what they’re currently looking at or buying.','https://chicory.co/product-privacy-policy','https://chicory.co/','','US','privacy@chicory.co',NULL);\nINSERT INTO companies VALUES('chilipiper','Chili Piper','Chili Piper is a SaaS platform, primarily focused on B2B sales and marketing, that helps companies automate and optimize their inbound lead conversion process. It offers a suite of tools including scheduling, lead routing, form routing, and chat, all designed to improve the efficiency of revenue teams.','https://www.chilipiper.com/privacy-policy','https://www.chilipiper.com/','','US','support@chilipiper.com',NULL);\nINSERT INTO companies VALUES('chin_media','Chin Media','\"We offer online advertising solutions such as quality: CocCoc keyword, CocCoc SEM, Facebook Ads, Google adwords. With a staff of enthusiastic and creative.Chin Media provides customers with the necessary support, in time, always interacting with customers in moicap the campaign.\"','http://www.chinmedia.vn/#','http://www.chinmedia.vn/#','4240',NULL,'ky@chinmedia.vn',NULL);\nINSERT INTO companies VALUES('chinesean','ChineseAN','\"ChineseAN.com is the first and only affiliate network with a strong coverage over the entire Greater China. We bring advertisers and publishers together from Mainland China, Hong Kong, Taiwan and Overseas. We work successfully and continuously with advertisers to bring them orders and leads, by partnering with our vast network of publishers which range from casual bloggers to high-traffic portals.\"','https://www.chinesean.com/affiliate/privacy.do','http://www.chinesean.com/','2258',NULL,'BD@ChineseAN.com',NULL);\nINSERT INTO companies VALUES('chitika','Chitika','Chitika is a search targeted advertising network that displays ads to visitors that reach a page directly from a major search engine. They detect the search query used by a visitor and then return ads that best match that search query. For advertisers and media buyers, Chitika is a channel for targeting online consumers and qualified buyers.','https://chitika.com/privacy','http://www.chitika.com','37','US',NULL,NULL);\nINSERT INTO companies VALUES('choicestream','ChoiceStream','ChoiceStream delivers dynamic, personalized display ads and product recommendations. They work with large retail clients who have high transaction volume. By amassing transaction data and crunching numbers in real-time, the company''s software is designed to identify patterns that will predict what each user is likely to buy or click on next, and that determines product recommendations in-site and ads delivered to outside content publishers.','http://www.choicestream.com/privacy-policy/','http://www.choicestream.com/','495','US',NULL,NULL);\nINSERT INTO companies VALUES('circulate','Circulate','Circulate helps publishers (Web and App), networks and SDK providers maximize their first-party data monetization strategies with one simple integration, on a privacy friendly basis. Circulate advances the science of targeting and media attribution by enabling industry partners to utilize match Data as a Service. Marketers and their agencies are empowered to provide a unified consumer experience, attribute success, prioritize marketing investments, extend their reach and personalize their content. Contact us to partner with Circulate today.','https://liveramp.com/privacy/','http://circulate.com/','4462',NULL,'215-395-8282',NULL);\nINSERT INTO companies VALUES('cirklestudio','Cirkle Studio','Founded in 2012, a leading digital agency specializing in innovative website, app, and Shopify store solutions to elevate businesses online.','https://www.cirklestudio.co/privacy-policy/','https://www.cirklestudio.co/','','IN','info@cirklestudio.co',NULL);\nINSERT INTO companies VALUES('city_spark','City Spark','CitySpark, Inc. is a privately held, venture funded, Delaware corporation.  The company was founded in Palo Alto, CA and later moved to Salt Lake City, UT, where it was a member of the 2012 BoomStartup class, a TechStars affiliated accelerator.','https://www.cityspark.com/privacy-policy/','https://www.cityspark.com/','5046',NULL,'sales@cityspark.com',NULL);\nINSERT INTO companies VALUES('cityads','CityAds','\"Cityads Media company engaged in the creation and development of partnerships between advertisers and web sites for advertising model pay-for result. We create opportunities for the implementation of advertising ideas in every segment of the market, while providing unmatched results for our advertisers and partners!\"Translated by Google Translate','https://cityads.com/main/ru/opt-out/','https://cityads.com/main/ru/','2198',NULL,'info@cityads.ru',NULL);\nINSERT INTO companies VALUES('civey','Civey','We enable representative surveys on the Internet. For the first time all the results are shown. Free and in real time.','https://civey.com/datenschutz/','https://civey.com/','4979',NULL,'datenschutz@civey.com',NULL);\nINSERT INTO companies VALUES('civicscience','CivicScience','\"CivicScience produces real-time, predictive consumer insights for marketers, investors, and policymakers. We offer a suite of custom and syndicated research products, online diagnostics, and automated alert services.\"','https://civicscience.com/about/','https://www.civicscienceinc.com/','1457','US','contact@civicscience.com',NULL);\nINSERT INTO companies VALUES('civicuk','Civic UK','CIVIC transforms interactions through digital innovation, offering services from strategy to support.','https://www.civicuk.com/index.php/privacy','https://www.civicuk.com/','','GB','info@civicuk.com',NULL);\nINSERT INTO companies VALUES('ciwebgroup','CIWebGroup','CI Web Group specializes in web, search, social, mobile, video, email, graphic design, and more. Our clients gain an unmatched advantage when leveraging our international team of experts to “achieve accelerated results”! Our goal is to continually exceed expectations and deliver value even beyond what was agreed upon, and that you thought possible. Google “CI Web Group Reviews” and “Achieve Accelerated Results” to get a small representation of what our clients think about our work and performance.','http://www.ciwebgroup.com/','http://www.ciwebgroup.com/','4884',NULL,NULL,NULL);\nINSERT INTO companies VALUES('clean_talk','CleanTalk','CleanTalk is a cloud-based anti-spam service for websites, providing protection against spam and malicious activity without using Captcha or other intrusive methods.','https://cleantalk.org/publicoffer#privacy','https://cleantalk.org/','','US','privacy@cleantalk.org',NULL);\nINSERT INTO companies VALUES('clear_pier','ClearPier','ClearPier is Canada’s Leading Premium Performance Marketplace for advertisers and publishers.','http://clearpier.com/privacy-policy/','https://clearpier.com/','5323','CA',NULL,NULL);\nINSERT INTO companies VALUES('clearbit','Clearbit','HubSpot is an American developer and marketer of software products for inbound marketing, sales, and customer service. Hubspot announced its acquisition of B2B intelligence firm Clearbit in November 2023.','https://clearbit.com/privacy','https://clearbit.com/','5324','US',NULL,NULL);\nINSERT INTO companies VALUES('clearstream.tv','Clearstream.TV','\"Clearstream.TV, Inc. operates a video advertising platform that provides agencies and advertisers with access to large pools of ad inventory across various brand-safe Websites.\" (businessweek)','https://www.clearstream.tv/privacy-policy','http://clearstream.tv/','3524',NULL,'privacy@clearstream.tv',NULL);\nINSERT INTO companies VALUES('clerk.io','Clerk.io','Clerk.io is an e-commerce personalization platform that helps online retailers improve customer experience and drive sales. Founded in 2011 and based in Copenhagen, it offers AI-driven tools for search, product recommendations, and email marketing automation.','https://trust.clerk.io/privacy','https://clerk.io/','4401','DK','privacy@clerk.io',NULL);\nINSERT INTO companies VALUES('clever_push','Clever Push','Push notificationsfor Online shops, blogs, websiteswith an average clickrate of 20%','https://cleverpush.com/privacy','https://cleverpush.com/','4487',NULL,NULL,NULL);\nINSERT INTO companies VALUES('clever_tap','CleverTap','\"Do you know who your users are? What motivates them to buy? What will make them uninstall your app? Growing your audience requires having the tools and process to answer these questions. That’s where we come in.CleverTap helps you build valuable, long-term relationships with your customers by giving you two things: access to real-time behavioral analytics so you know who they are, and a platform with which to engage users on the right channels, at the right time, and with a message that resonates.\"','https://clevertap.com/privacy-policy/','https://clevertap.com/','5243','US','security@clevertap.com',NULL);\nINSERT INTO companies VALUES('cleversite','Cleversite','Онлайн-консультанти обратный звонокПросто и красиво приноситВам новых клиентов','https://cleversite.ru/','https://cleversite.ru/','4377',NULL,NULL,NULL);\nINSERT INTO companies VALUES('click360','Click360','Click360 helps you quickly and easily track your customers on your website with a single javascript, so you can add it to your website in minutes no matter which CMS your site uses. (We can also help you integrate with your website with our custom development and consulting services.)From there, you can unite your customers'' behavior on your website with your CRM data and analytics program to measure and improve Return on Investment. We currently have a Salesforce.com connector (but can also help you integrate with other CRM or ERP) for Clicks-to-Revenue analytics.','https://www.click360.io/contact','https://www.click360.io/','5189',NULL,'sales@click360.io',NULL);\nINSERT INTO companies VALUES('click_cease','Click Cease','\"Click fraud will waste 20% of PPC advertisers budget in 2019. Competitors and bots can click on your ads and waste your advertising budget.Our Google Ads click fraud protection software will exclude invalid IPs and block fake clicks. This will boost your campaigns and allow you to acquire more customers.\"','https://www.clickcease.com/privacy.html','https://www.clickcease.com/','5249',NULL,'privacy@clickcease.com',NULL);\nINSERT INTO companies VALUES('clickadu','Clickadu','Clickadu is a versatile ad network offering multi-format ad solutions, including banners, popunders, push notifications, and more.','https://www.clickadu.com/privacy','https://www.clickadu.com/','','CZ','privacy@clickadu.com',NULL);\nINSERT INTO companies VALUES('clickaider','ClickAider','\"ClickAider is an analysis tool that helps publishers maximize revenues from Pay-Per-Click Advertisements.\"',NULL,'http://clickaider.com/','1361','US','info@clickaider.com',NULL);\nINSERT INTO companies VALUES('clickandchat','ClickAndChat','\"ClickAndChat provides lead generation chat software to businesses, utilizing live operators. We provide clients with 24/7 service, analytics and custom development to seamlessly integrate into their sales platforms.\"','https://www.clickandchat.com/privacy/','https://www.clickandchat.com/','2734',NULL,'support@clickandchat.com',NULL);\nINSERT INTO companies VALUES('clickback','Clickback','\"In 2001, we created a simple email sending app to help our web development clients generate leads.Since then a lot has changed, but thankfully one thing has not. Our fanatical obsession with helping B2B companies ignite their lead growth.Today we’re helping thousands of marketers and C-Level professionals solve their company’s lead growth problem with our cloud-based email lead generation software, uniquely designed to turn their cold contacts into warm B2B leads.But we’re not finished. In fact, we’re just getting started.Staying true to our mission, and entrepreneurial roots as a B2B lead generation software company, as the marketing landscape becomes more complex our goal is to keep things simple.Focus on building cloud-based software that helps B2B companies fill their marketing and sales pipeline from day one.It’s truly an exciting time for the lead generation software industry, and we plan to be right at the centre of it.\"','http://www.clickback.com/privacy-policy/','https://www.clickback.com/','4230',NULL,'support@clickback.com',NULL);\nINSERT INTO companies VALUES('clickbank','ClickBank','\"ClickBank is an online marketplace for digital information products that allows individuals and businesses to attract the customers they can’t find anywhere else online, and provides affiliate marketers with secure ways to be successful and profitable.\"\"ClickBank sells lifestyle products that are created by passionate entrepreneurs. Our products give inspiration and instruction on topics ranging from training the family dog and Paleo cooking recipes to workouts to become a better surfer. With each click and every sale, our products improve the lives of customers around the world.\"','https://accounts.clickbank.com/client_privacy.html','https://www.clickbank.com/','2741',NULL,'privacy@clickbank.com',NULL);\nINSERT INTO companies VALUES('clickbank_proads','ClickBank ProAds','ClickBank ProAds (CBproAds) is a contextual advertising tool. They offer customization options including ads by category, display type, size, color and format.','http://www.cbproads.com/privacy.asp','http://www.cbproads.com/','1215','US',NULL,NULL);\nINSERT INTO companies VALUES('clickbooth','Clickbooth','\"Clickbooth provides partners with a progressive full-service management platform dedicated to optimizing revenue generation for both its Advertisers and Publishers, delivered in one convenient package.\"','http://support.clickbooth.com/support/solutions/articles/4000020208-privacy','http://www.clickbooth.com/','1419','US','compliance@integraclick.com',NULL);\nINSERT INTO companies VALUES('clickcertain','ClickCertain','\"ClickCertain is a RTB ad platform... We offer both a complete Self Serve Platform for companies looking to do retargeting and drive targeted traffic & Clickcertain Agency, a Private Label RTB ad platform for companies who want to sell retargeting and targeted traffic for their existing and future clients.\"','https://www.clickcertain.com/platform-privacy/','http://www.clickcertain.com','2676',NULL,'privacy@clickcertain.com',NULL);\nINSERT INTO companies VALUES('clickdesk','ClickDesk','\"Engage your website visitors with ClickDesk - a reliable combo of Live Chat, Helpdesk, Voice and Video tools for your website.\"','https://www.clickdesk.com/','https://www.clickdesk.com/','3107',NULL,'info@clickdesk.com',NULL);\nINSERT INTO companies VALUES('clickdimensions','ClickDimensions','Click Dimensions is a provider of marketing solutions including email marketing, web tracking, lead scoring, social discovery, form capture and surveys. They allow organizations to learn who is interested in their products, quantify their level of interest and take the appropriate actions.','https://clickdimensions.com/about/privacy-policy/','https://www.clickdimensions.com/','1180','US',NULL,NULL);\nINSERT INTO companies VALUES('clickexperts','ClickExperts','\"ClickExperts’ mission is to provide the best, most market-savvy, locally experienced and customer-oriented services and tools to help advertisers, agencies and website owners achieve their online advertising goals.\"','http://clickexperts.com/','http://clickexperts.com/','2171',NULL,'info@clickexperts.com',NULL);\nINSERT INTO companies VALUES('clickforce','ClickForce','\"The domain dynamic marketing was established in August 2009, is committed to the development of the digital media network network to provide the best integrated marketing programs for advertisers digital media.\"Translated by Google Translate','http://www.clickforce.com.tw/en/site/privacyPolicy','https://www.clickforce.com.tw/','2323',NULL,NULL,NULL);\nINSERT INTO companies VALUES('clickinc','ClickInc','ClickInc offers solutions to outsourced affiliate programs. They develop manage affiliate programs across industries, and their integration team works with most Shopping Carts and Processing Gateways to enable integration of ClickInc with clients'' existing e-commerce solution.','https://www.clickinc.com/privacy-policy.html','http://www.clickinc.com','586','US','support@clickinc.com',NULL);\nINSERT INTO companies VALUES('clickintext','ClickInText','ClickInText is an advertising agency that provides a variety of technologies to meet the advertising needs of their advertisers.','https://www.clickintext.com/about/confidentialite-retargeting.php','https://www.clickintext.com/','1081','US',NULL,NULL);\nINSERT INTO companies VALUES('clickky','Clickky','\"Clickky is full-service global performance network, that is focused on affiliate marketing, reward advertising, and display and mobile advertising as well...Clickky offers wide range of advertising tools for agencies, networks and direct advertisers, as well as effective and up-to-date monetization solutions for affiliates.\"','https://clickky.biz/privacy/','https://clickky.biz/','2324',NULL,'vr@clickky.biz',NULL);\nINSERT INTO companies VALUES('clickmeter','ClickMeter','\"ClickMeter is a easy to use web-based professional analytic service. We help Companies, Agencies, Affiliates and Publisher to monitor, compare and optimize all their online marketing campaigns in one place. Track conversions, fight click fraud, share results with customers and partners.\"','https://www.clickmeter.com/privacy-policy','http://www.clickmeter.com','3033',NULL,'support@clickmeter.com',NULL);\nINSERT INTO companies VALUES('clickonometrics','Clickonometrics','\"We develop tools and technologies that collect and analyze data for business. We support companies and institutions operating in the online advertising market.\"Translated by Google Translate','http://clickonometrics.pl/','http://clickonometrics.pl/','2889',NULL,'biuro@clickonometrics.pl',NULL);\nINSERT INTO companies VALUES('clickpoint','Clickpoint','\"Clickpoint is Digital Marketing Company founded in 2006. Clickpoint operates in Europe and Latam at local and international level... Clickpoint provides Clients with the tools and expertise to drive traffic and results online, whether they are looking to generate performance or brand awareness.\"','http://site.clickpoint.com/privacy/','http://clickpoint.com/','3328',NULL,'privacypolicy@clickpoint.com',NULL);\nINSERT INTO companies VALUES('clickprotector','ClickProtector','\"Our mission is to help alleviate the monetary losses suffered by online advertisers due to Click Fraud on the major Pay-Per-Click/Cost-Per-Click (PPC/CPC) search engines such as Google and Yahoo Search Marketing (formerly Overture). We also make it easier for you to accurately report on your marketing efforts by giving you the data you need to account for \"false\" clicks on your ads.\"','http://www.clickprotector.com/privacy.asp','http://www.clickprotector.com/','2415',NULL,'info@clickprotector.com',NULL);\nINSERT INTO companies VALUES('clickreport','ClickReport','\"Our goal is to provide cost-effective solutions to click fraud and enable pay-per-click advertisers a fair chance in the search engine ranking game.\"','http://clickreport.com/privacy','http://clickreport.com/','2752',NULL,'support@clickreport.com',NULL);\nINSERT INTO companies VALUES('clicksor','Clicksor','Clicksor provides online contextual advertising and behavioral marketing services to local businesses for local advertising. Clicksor offers a contextual targeting technology as a cost-effective method of connecting with local audiences. Clicksor is a sister company of Canada-based YesUp Ecommerce Solutions.','http://www.clicksor.com/footer-link/privacy-policy','https://clicksor.com/','40','CA','webmaster@clicksor.com',NULL);\nINSERT INTO companies VALUES('clicksthrunetwork','ClicksThruNetwork','Clicks thru Network is a leader in the Online Marketing world with a strong hold over WEB,WAP & Mailer inventories. CTN was founded in 2010 by Online web branding one stop solutions with its headquarters in India.We at CTN are pioneers of the online advertising world possessing state of the art technology and a combination of various beneficial resources all directed towards a common goal.We believe that both our clients and our publishers are equally important to us and we strive to cater to their needs in the best possible ways as a satisfied publisher means a satisfied client.','http://www.clicksthrunetwork.com/','http://www.clicksthrunetwork.com/','4638',NULL,NULL,NULL);\nINSERT INTO companies VALUES('clicktale','ClickTale','ClickTale is a web usability tool that provides website analytics. The tool collects information and reports on individual visitor behavior inside a web page. The tool aggregates various visitor sessions; creates movies of browsing sessions for Website owners; and offers heatmaps to view data, search capabilities, automatic tagging, and recording of HTTP pages, such as checkout and login pages.','https://www.clicktale.com/company/privacy-policy/','http://www.clicktale.com/','41','IL',NULL,NULL);\nINSERT INTO companies VALUES('clicktripz','ClickTripz','\"ClickTripz, LLC is a full service, completely customizable “compare to / check rates” solution for travel publishers. We pride ourselves on having the most efficient and flexible solution...\"','https://www.clicktripz.com/privacy_policy.php','https://www.clicktripz.com','3110',NULL,NULL,NULL);\nINSERT INTO companies VALUES('clickup','ClickUp','ClickUp transforms work management with an all-in-one app. Projects, dashboards, AI, forms, sprints, docs, time tracking, chat, and whiteboards—all in one place.','https://clickup.com/terms/privacy','https://clickup.com/','','US','help@clickup.com',NULL);\nINSERT INTO companies VALUES('clickwinks','Clickwinks','Clickwinks is an online network of advertisers and publishers. They provide advertising solutions for advertisers of all sizes.','http://www.clickwinks.com/?page_id=153','http://www.clickwinks.com/','1218','US',NULL,NULL);\nINSERT INTO companies VALUES('clicky','Clicky','Clicky is a web analytics platform that provides real-time data to publishers for reporting purposes. The platform supports affiliate partnerships, tracking users with blocked javascript tags as well as filtering and segmenting audiences. Clicky is a product of Roxr Software.','https://clicky.com/terms','https://clicky.com/','312','US','support@getclicky.com',NULL);\nINSERT INTO companies VALUES('clickyab','Clickyab','Click Finder (Atlas Light of Asia) was founded in May 1393, click Finder young business with high growth rate of more than 3 billion ads per month will show. Our innovative and creative solutions for advertisers and publishers on the web and mobile platform we provide.','https://www.clickyab.com/privacy','https://www.clickyab.com/','4806',NULL,NULL,NULL);\nINSERT INTO companies VALUES('clicmanager','ClicManager','ClicManager is a network for online display advertising owned by French Internet services firm Galaxya.','http://www.clicmanager.fr/contact/cgu.php','http://www.clicmanager.fr/','1080','FR',NULL,NULL);\nINSERT INTO companies VALUES('clip_syndicate','Clip Syndicate','Clip Syndicate is a video syndication platform enabling broadcasters and video content producers to realize revenue streams and extend their brand beyond their traditional market to the Internet. The Clip Syndicate distribution platform allows content providers to monetize their clips, web publishers to deliver relevant content, and advertisers access a targeted audience through video.','http://www.clipsyndicate.com/help/-1/privacy_policy','http://www.clipsyndicate.com/','661','US','infor@clipsyndicate.com',NULL);\nINSERT INTO companies VALUES('clixgalore','clixGalore','\"clixGalore Affiliate Marketing is a large affiliate network comprising of over 9500+ Merchants and many ten of thousands of Affiliates across our five networks in the USA, UK, Japan, Australia and India.\"','https://www.clixgalore.com/privacy.asp','http://www.clixgalore.com/','1461','US',NULL,NULL);\nINSERT INTO companies VALUES('clixmedia','ClixMedia','Our mission is to develop successful web strategies for our clients. They demand specific return on investment and a promise of our dedication to the advancement of their specific industry. The web programs we develop require a multi-facted approach to their business, an understanding of their particular market, and an ability to deliver a solid interactive product in a timely fashion.','http://www.clixmedia.com/privacy.html','http://www.clixmedia.com/','218','US',NULL,NULL);\nINSERT INTO companies VALUES('clixsense','ClixSense','\"ClixSense is an industry proven method that allows website publishers of every size or budget to direct targeted and unique traffic to their website.\"','http://www.clixsense.com/en/About-Privacy_Policy','http://www.clixsense.com/','2425',NULL,NULL,NULL);\nINSERT INTO companies VALUES('cloud_technologies','Cloud Technologies S.A.','OnAudience.com provides Big Data tools and services for on-line marketing on over 40 markets in Europe and North America. The company has one of the largest 3rd party data sets in the World that consist of over 3 billion user profiles.OnAudience.com integrates data management, including DMP and Data Exchange with programmatic buying, including DSP and Mailing Exchange. It is a tailor made solution for performance marketing focused on prospecting customers and e-commerce platforms.','http://onaudience.com/privacy-policy','https://www.cloudtechnologies.pl/','4948',NULL,NULL,NULL);\nINSERT INTO companies VALUES('cloudflare','Cloudflare','Cloudflare is a web performance and security company that provides online services to protect and accelerate websites online.','https://www.cloudflare.com/privacypolicy/','https://www.cloudflare.com/','2913','US','privacyquestions@cloudflare.com',NULL);\nINSERT INTO companies VALUES('cloudinary','Cloudinary','Cloudinary provides an end-to-end platform for managing images and videos, handling their upload, cloud storage, manipulation, and optimization. The service then delivers this media to websites and apps via a content delivery network (CDN). These capabilities are accessible through APIs that can be integrated into various applications.','https://cloudinary.com/privacy','https://cloudinary.com/','','US','privacy@cloudinary.com',NULL);\nINSERT INTO companies VALUES('clove_network','Clove Network','\"Clove Network is an online advertising network providing targeted reach and quality inventory. We enable marketers to reach their target markets through the internet which is one of the fastest growing media channels in the world. We do this by providing a comprehensive solution for planning and implementing profitable online advertising campaigns.\"','http://www.clovenetwork.com/privacypolicy.html','http://www.clovenetwork.com/','1249','CA','info@clovenetwork.com',NULL);\nINSERT INTO companies VALUES('clustrmaps','ClustrMaps','ClustrMaps is a compact geographical hit counter widget that shows the locations of all visitors to a Web site. It does not require users to click on the page, just viewing is sufficient. Clustrmaps provides HTML that then gives the  website owner a thumbnail map.','http://clustrmaps.com/legal','http://www.clustrmaps.com/','42','US','theteam@clustrmaps.com',NULL);\nINSERT INTO companies VALUES('cnstats','CNStats','\"The software produced by \"CN-Software\" Ltd. possesses a unique functional set which provides the possibility of using, developing, and promoting your Internet-project in a most effective way.\"','https://www.cn-software.com/en/privacy/','http://cnstats.ru/','2213',NULL,'support@cn-software.com',NULL);\nINSERT INTO companies VALUES('coadvertise','CoAdvertise','\"CoAdvertise is one of the fastest-growing ad trading platforms in Europe.With our own technology, we optimize each month more than 20 billion ad impressions.Since 2008, we help advertisers, publishers and ad networks, to improve their performance and maximize revenue\"','http://www.coadvertise.com/en/opt-out/','http://www.coadvertise.com/','2301',NULL,'c.r@coadvertise.com',NULL);\nINSERT INTO companies VALUES('cobrowser.net','CoBrowser.net','\"Live chat business contact software is used to increase productivity, improve customer support and increase customer satisfaction. Conversion Live Chat is an accessible contact channel.\"Translated by Google Translate','https://www.cobrowser.net/voorwaarden/privacybeleid/','https://www.cobrowser.net/','3386',NULL,'info@cobrowser.net',NULL);\nINSERT INTO companies VALUES('codewise','Codewise','Codewise is the umbrella brand for Zeropark and the Voluum suite of tools – comprising VoluumTRK and VoluumDSP, as well as our proprietary database, VoluumDB. It’s our people that make the difference, and it’s thanks to them that we can offer tools & tech that are changing the way the industry thinks about marketing technology.','https://codewise.com/privacy-policy/','https://codewise.com/','5272',NULL,NULL,NULL);\nINSERT INTO companies VALUES('codigo','Codigo','Software developers within market research and statistics.',NULL,'https://codigo.se/','','SE',NULL,NULL);\nINSERT INTO companies VALUES('cognitiv','Cognitiv','Cognitiv Corp. provides custom AI marketing tools to assist customers in delivering advertising services. Leveraging deep learning technology and data science to more accurately predict consumer behavior and understand nuance. Cognitiv enables brands to connect with their customers in more precise, relevant, impactful moments at scale. Cognitiv’s platform provides marketers with unprecedented flexibility, activating as a Dynamic Deal run through the DSP of your choice, as a managed service DSP, or through its Context GPT product.','https://www.cognitiv.ai/privacy-policy','https://www.cognitiv.ai/','','US','privacy@cognitiv.ai',NULL);\nINSERT INTO companies VALUES('cogocast','CogoCast','Data-driven display advertisingCogoCast is the display advertising platform of Cogo Labs. Use of CogoCast is restricted to businesses in the Cogo Labs/Link Ventures portfolio. For more information, please visit the Cogo Labs main site.','http://www.cogocast.com/privacy.html','http://www.cogocast.com','3944',NULL,NULL,NULL);\nINSERT INTO companies VALUES('coin_have','Coin Have','JavaScript crypto currency miner for websites','https://coin-have.com/','https://coin-have.com/','5143',NULL,'info@coin-have.com',NULL);\nINSERT INTO companies VALUES('coin_traffic','Coin Traffic','Crypto advertising NetworkYour advertising on more than 500 crypto related websites','https://cointraffic.io/','https://cointraffic.io/','5011',NULL,NULL,NULL);\nINSERT INTO companies VALUES('coinhive','Coinhive','Coinhive grew out of an experiment at pr0gramm.com, a German image board. We pride ourselfs in offering a community platform that is not riddled by intrusive ads or shady money grabs. We are self-funded and have been running this platform for the past 11 years.','https://coin-hive.com/info/privacy','https://coin-hive.com/','5042',NULL,NULL,NULL);\nINSERT INTO companies VALUES('coinurl','CoinURL','\"We offer interstitial and banner advertising. Interstitial ads let you monetize links, even if you don''t own the target website. They can also be placed on a web page with an overlay script, allowing you to earn on any visitor simply by having them visit the page. Interstitial ads are billed using a pay per impression system and are better suited for increasing the advertiser''s brand awareness.Banner ads fitted for websites bring in users who are genuinely interested in the advertiser''s product. They are billed with the popular pay per click system.\"','https://coinurl.com/terms.php','https://coinurl.com/','2994',NULL,NULL,NULL);\nINSERT INTO companies VALUES('collarity','Collarity','Collarity provides a recommendation system, search, and advertising solutions for web publishers.  Their technology provides search engine optimization leveraged by search queries made by users.  This in turn, makes information more findable for specific online audience segments.  Collarity delivers an audience engagement platform that relies on segmentation of web site behaviors and patterns of consumers. Through the platform, publisher''s can target content recommendations and dynamically target ads based on how audience segments have responded in the past.',NULL,'http://www.collarity.com','43','US','privacy@collarity.com',NULL);\nINSERT INTO companies VALUES('collective','Collective','Collective Media provides audience targeting and optimization solutions for advertisers and publishers. The AMP Data and Media Management Platform leverages the most trusted 3rd party data, proprietary audience modeling and ad effectiveness metrics to simplify audience buying and selling across display, video and social media.','https://www.collective.com/privacy-policy/','http://www.collective.com','44','US','legal@collective.com',NULL);\nINSERT INTO companies VALUES('columbia_online','Columbia Online','Colombia is one of the largest publisher-owned ad network platforms in APAC. It recommends sponsored content on its own marquee properties and on other premium publisher networks. Colombia as a native ad platform provides marketers with centralized control of all of their audience and campaign data, helping them manage and analyze this data to craft, target, and optimize campaigns that reach more of the right people and drive improved ROI from their spends.Colombia’s key objective is to provide a consistent experience to the audience with as low latency as possible.','https://www.colombiaonline.com/privacy-policy','https://www.colombiaonline.com/','5158',NULL,NULL,NULL);\nINSERT INTO companies VALUES('comcast','Comcast','Comcast Corporation incorporated and headquartered in Philadelphia, is the largest American multinational telecommunications and media conglomerate.','https://corporate.comcast.com/notices/privacy','http://corporate.comcast.com/','3014','US',NULL,NULL);\nINSERT INTO companies VALUES('comcast_technology_solutions','Comcast Technology Solutions','Comcast Technology Solutions is uniquely positioned like no other at the nexus of media and technology. With a rich broadcast heritage, countless investments in innovative media technologies, and nearly two decades of on-the-ground experience, we are the market leader when it comes to making all the pieces work together to power both extraordinary experiences and revenue growth.','http://my.xfinity.com/privacy','https://www.comcasttechnologysolutions.com/','4525','US',NULL,NULL);\nINSERT INTO companies VALUES('comm100','Comm100','\"Comm100 is the leading global provider of enterprise-level customer service and communication solutions. As our motto \"100% communication, 100% success\" indicates, we believe that good customer communication can make a difference for your business, helping you build stronger customer relationships and get a better business performance.\"','https://www.comm100.com/privacy/','https://www.comm100.com/','2440',NULL,'privacy@comm100.com',NULL);\nINSERT INTO companies VALUES('commerce_layer','Commerce Layer','Commerce Layer is a fast, flexible, and secure REST API that lets you add e-commerce to any website and mobile applications.','https://commercelayer.io/legal/privacy-policy','https://commercelayer.io','','IT','hello@commercelayer.io',NULL);\nINSERT INTO companies VALUES('commerce_sciences','Commerce Sciences','\"Decipher each shopper''s buying concerns & motives and magically react with Real-Time Behavioral Targeting.\"','http://commercesciences.com/terms','http://commercesciences.com/','2684',NULL,'support@commercesciences.com',NULL);\nINSERT INTO companies VALUES('commercehub','CommerceHub','Mercent provides marketing technology and services to help retail merchants. They provide them tools to automate, measure, and optimize online merchandising performance across multiple channels. Through API integration, Mercent Retail enables a single point of technology between existing retail management systems and leading online marketing channels including Amazon and eBay.','https://www.commercehub.com/privacy-policy/','https://www.commercehub.com/','354','US','hello@commercehub.com',NULL);\nINSERT INTO companies VALUES('communicator_corp','Communicator Corp','Communicator Corp is a global enterprise email management company. They provide technical email solutions as well as strategy and expertise for email communications.','https://www.communicatorcorp.com/policy/privacy-policy','https://www.communicatorcorp.com/','1186','NL','info@communicatorcorp.com',NULL);\nINSERT INTO companies VALUES('communigator','CommuniGator','\"WOW Analytics Version 2.0 is a powerful web analytics and lead generation tool. The platform offers real time data feeding and powerful lead scoring capabilities, allowing you to get more from your online investments, and ensure that you never lose another online prospect.\"','https://www.communigator.co.uk/privacy-policy/','https://www.gatorleads.co.uk/','1220','US','info@communigator.co.uk',NULL);\nINSERT INTO companies VALUES('comodo','Comodo','Comodo is a leading global provider of Digital Security, Identity and Trust Assurance services that include a comprehensive portfolio of High-Assurance Digital Certificates and Managed PKI solutions, eCommerce Acceleration, Authentication (Multi-Factor) and Network Vulnerability Scanning services certified for PCI Compliance reporting.','https://www.comodo.com/repository/privacy-policy.php?','https://www.comodo.com/','3176','US','privacy@comodo.com',NULL);\nINSERT INTO companies VALUES('comscore','comScore, Inc.','comScore is a marketing research company that provides marketing data and services. Clients leverage comScore''s research and survey insights to better understand online consumer behavior for improved profit and success of their marketing efforts. comScore gathers, tracks, and studies online behavior through various brands they own including PermissionResearch, OpinionSquare, and VoiceFive Networks.','https://www.comscore.com/About-comScore/Privacy-Policy','https://www.comscore.com/','246','US',NULL,NULL);\nINSERT INTO companies VALUES('conde_nast','Condé Nast','\"Condé Nast is home to some of the world’s most celebrated media brands. In the United States, Condé Nast publishes 18 consumer magazines, four business-to-business publications, 27 websites, and more than 50 apps for mobile and tablet devices, all of which define excellence in their categories.\"','http://www.condenast.com/privacy-policy/#privacypolicy','https://www.condenast.com/','1951',NULL,'privacy_administration@condenast.com',NULL);\nINSERT INTO companies VALUES('conduit','Conduit','Conduit provides an on-demand community toolbar platform that allows for website syndication. Web publishers who become part of the Conduit network have the opportunity to syndicate their website content and applications directly to the browser by allowing subscribers to add them to the toolbar.','https://www.conduit.com/privacy-policy/','https://www.conduit.com/','738','US','privacy@conduit.com',NULL);\nINSERT INTO companies VALUES('confirmit','Confirmit','\"Confirmit helps businesses operationalize feedback to drive change throughout their organizations using the world’s most secure, reliable and scalable solutions for Voice of the Customer, Employee Engagement and Market Research programs.\"','https://www.confirmit.com/Privacy-Policy/','https://www.confirmit.com/','2594',NULL,'privacy@confirmit.com',NULL);\nINSERT INTO companies VALUES('connatix','Connatix Native Exchange','Connatix is a video technology company that empowers publishers to engage and monetize their readership through an end-to-end tech stack, including video delivery, creation, monetization, and intelligence solutions.','https://connatix.com/privacy-policy/','https://connatix.com/','3942','US','privacy@connatix.com',NULL);\nINSERT INTO companies VALUES('connectad','ConnectAd','ConnectAd is a European-based independent supply-side platform (SSP) that provides technology for digital publishers to programmatically sell advertising inventory and connect with advertisers and demand partners. Its platform emphasizes automated monetization, transparency, and efficiency in the programmatic ad ecosystem.','https://connectad.io/privacy-policy/','https://connectad.io/','4886','AT','privacy@connectad.io',NULL);\nINSERT INTO companies VALUES('connecto','ConnectO',NULL,'https://www.connecto.io/connecto/privacy/','https://www.connecto.io/','4471',NULL,'contact@connecto.io',NULL);\nINSERT INTO companies VALUES('connectwave','Connectwave','\"ConnectWave Co Ltd, formerly DANAWA Co., Ltd, is a Korea-based company mainly engaged in the operation of online price comparison websites.\"','https://www.danawa.com/info/helprule_private.html','https://www.danawa.com/','','KR','privacy@cowave.kr',NULL);\nINSERT INTO companies VALUES('connextra','Connextra','Connextra is an ad serving company focused on the gambling and travel industries. Their technology enables integration of live pricing into online ads helping to maximize the performance of the creative and to improve results from publishing partners and affiliates. Connextra''s services include IP and browser targeting, linking live data to editorial content, real-time statistics and reporting and real-time editing of Flash, HTML or GIF advertisements.','http://connextra.net/privacy_policy.htm','http://connextra.net/index.htm','502','GB','info@connextra.com',NULL);\nINSERT INTO companies VALUES('consentmanager','consentmanager','Consent management provider for websites to be GDPR and CCPA compliant. We provide services to obtain consent from your website visitors and provide this information to your advertisers and other partners.','https://www.consentmanager.net/privacy','https://www.consentmanager.net','','SE','mail@consentmanager.net',NULL);\nINSERT INTO companies VALUES('consentmo','Consentmo','Consentmo is a specialized IT services company based in Sofia, Bulgaria, offering a GDPR/CCPA compliance application for Shopify merchants.','https://www.consentmo.com/privacy-policy-en','https://www.consentmo.com/','','BG','support@consentmo.com',NULL);\nINSERT INTO companies VALUES('constant_contact','Constant Contact','\"Constant Contact®, Inc. helps small businesses, associations, and nonprofits connect with their customers, clients, and members\"','https://www.constantcontact.com/legal/privacy-statement','https://www.constantcontact.com/index.jsp','1744','US','privacy@constantcontact.com',NULL);\nINSERT INTO companies VALUES('contact_at_once!','Contact At Once!','\"Contact At Once! is a SaaS provider that operates industry-specific merchant networks built around its proprietary website chat software that vertical search websites embed in online ads and that merchant advertisers deploy on websites and landing pages. Contact At Once! website chat typically increases by at least 25% the number of online shoppers that initiate contact.\"','http://www.contactatonce.com/privacy-policy','http://www.contactatonce.com/','1233','US','info@contactatonce.com',NULL);\nINSERT INTO companies VALUES('contactme','ContactMe','\"ContactMe provides powerful customer relationship management tools as part of the Webs online marketing platform.\"','http://www.contactme.com/','http://www.contactme.com/','3388',NULL,'support@contactme.com',NULL);\nINSERT INTO companies VALUES('contaxe','Contaxe','Contaxe is an online advertising platform that uses a context sensitive technology to provide contextual advertising services to their clients.  In addition they offer static on-line advertising, premium marketing and affiliate programs.','http://www.contaxe.com/de/texte/terms/','http://www.contaxe.com/','799','DE',NULL,NULL);\nINSERT INTO companies VALUES('content.ad','Content.ad','\"Content.ad analyzes your pages on an ongoing basis and displays links to the content on your site that your readers will find most interesting. Our algorithm creates a complete \"engagement\" profile of each piece of content based on popularity, social sharing, comments and other metrics, and then promotes your best content so as to maximize page views, time-on-site, and revenue.\"','https://www.content.ad/privacy-policy/','https://www.content.ad/','2086',NULL,NULL,NULL);\nINSERT INTO companies VALUES('content_insights','Content Insights','Content Insights is a robust, powerful and extremely user-friendly editorial analytics tool, turning Big Data into easy reading.','https://contentinsights.com/privacypolicy','https://contentinsights.com/','5204',NULL,NULL,NULL);\nINSERT INTO companies VALUES('content_square','Contentsquare','Contentsquare offers a platform that allows businesses to track and analyze user interactions on websites and mobile apps. The features of the product are zone analysis, in-site navigation, heat maps, testing and optimizing user journeys, automated recommendations for issues, anonymously tracking mouse pointers, and clicks.','https://contentsquare.com/privacy-center/','https://contentsquare.com/','5261','FR','contact-us@contentsquare.com',NULL);\nINSERT INTO companies VALUES('contentful_gmbh','Contentful','Contentful is a headless content management system (CMS).','https://www.contentful.com/legal/privacy-at-contentful/privacy-notice/','https://www.contentful.com/','5325','DE','privacy@contentful.com',NULL);\nINSERT INTO companies VALUES('contentpass','ContentPass','ContentPass enables sustainable funding for digital media. We turn privacy obligations into opportunities.','https://www.contentpass.de/','https://www.contentpass.de/','5147',NULL,'info@contentpass.de',NULL);\nINSERT INTO companies VALUES('contentstack','Contentstack','Contentstack is an API-based, headless content management platform that allows developers and content managers to create and manage content simultaneously and independently, to create websites and applications quickly.','https://www.contentstack.com/legal/privacy','https://www.contentstack.com/','','US','privacy@contentstack.com',NULL);\nINSERT INTO companies VALUES('contentwrx','ContentWrx','\"ContentWRX has a simple but challenging mission: To help you understand whether your digital content works quickly and easily. Everything we do and say revolves around giving you actionable content intelligence.\"','https://contentwrx.com/privacy/','https://contentwrx.com/','4193',NULL,'contentwrx@content-science.com',NULL);\nINSERT INTO companies VALUES('context.ad','Context.ad','\"Context.ad to sieć reklamy kontekstowej zrzeszającej serwisy z grupy PREMIUM oraz mająca możliwość korzystania z bazy serwisów sieci Online Advertising Network, również tych, które są obsługiwane przez sieć OAN Sp. z o.o. na wyłączność.Oferowane przez Context.ad formy reklamowe dają możliwość nieinwazyjnego dotarcia do użytkowników Premium za pomocą reklamy kontekstowej rozliczanej za efekt (CPC) z przekazem reklamowym wykazującym wysoki stopień dopasowania do zawartości danej strony.\"','http://wszystkoociasteczkach.pl/polityka-cookies/','http://contextad.pl/','3565',NULL,'info@contextad.pl',NULL);\nINSERT INTO companies VALUES('contribusource','Contribusource','Contribusource provides content promotion and monetizing solutions for publishers and advertisers who want to get more from their campaigns. Our superior and easy-to-use tools help our clients expand their audience and increase social engagement with maximum results.Explore our site and learn more today. Discover the easiest way to help more users discover you.','https://www.contribusource.com/privacy-cookie-policy/','https://www.contribusource.com/','4801',NULL,NULL,NULL);\nINSERT INTO companies VALUES('conva','Conva Ventures','Conva Ventures, a Canadian tech company, is the creator of Fathom Analytics. Operating independently without external funding, Fathom provides a privacy-focused, cookieless analytics solution, aligning with global privacy laws such as GDPR, CCPA, and PECR.','https://usefathom.com/privacy','https://usefathom.com/about','','CA','support@usefathom.com',NULL);\nINSERT INTO companies VALUES('convergedirect','ConvergeDirect','ConvergeDirect is a direct response media firm that delivers strategic solutions in media planning and buying , analysis and marketing services. ConvergeDirect combines direct marketing experience with technology to deliver client solutions.','https://www.convergedirect.com/privacy-policy/','http://www.convergedirect.com','576','US',NULL,NULL);\nINSERT INTO companies VALUES('conversant','Conversant','ValueClick Media is an advertising network that operates the Precision Profiles platform.  They provide custom audience segments, ad serving and campaign management services. Their Precision Behavioral Targeting system identifies unique audiences using exclusion, recency and frequency controls. They also provide dynamic messaging that tailors each ad to the individual consumer.','https://www.conversantmedia.eu/legal/privacy-policy','https://www.conversantmedia.eu/','280','US','privacy@conversantmedia.com',unistr('Acquisition of conversant in Sept 2014: https://www.adexchanger.com/platforms/alliance-data-buys-epislon-a-2-3b-present-conversant/\\u000a\\u000aNew org file: epsilon'));\nINSERT INTO companies VALUES('conversio','CM Group','CM Group has the Martech industry’s largest family of email and multichannel marketing products. We allow our clients to scale across brands as they grow, identifying the right solutions at every step of their journey.','https://cmgroup.com/privacy-notice/','https://cmgroup.com/','4751','US','privacy@campaignmonitor.com',NULL);\nINSERT INTO companies VALUES('conversion_logic','Conversion Logic','\"Conversion Logic is an adaptive, cross-channel attribution SaaS platform built for delivering timely digital and video media performance insights for brands, agencies and ad tech partners. User level data is collected, analyzed and activated through a proprietary scientific approach that determines which media dimensions will maximize ROI for clients.\"','http://www.conversionlogic.com/privacy-policy-overview/','http://www.conversionlogic.com/','3487',NULL,NULL,NULL);\nINSERT INTO companies VALUES('conversions_box','Conversions Box','\"Convert your website visitors into Likes. Improve your new Likes conversion rate by up to 76%.\"','http://www.conversionsbox.com/','http://www.conversionsbox.com/','3024',NULL,'davis@conversionsbox.com',NULL);\nINSERT INTO companies VALUES('conversions_on_demand','Conversions On Demand','\"Our mission is to prevent shoppers from leaving your site before making a purchase.\"\"Conversions On Demand is our software-as-as-service platform that provides conversion improvement applications for your ecommerce store. When you register we install a small code snippet in your store that allows you to activate and use any of our applications.\"','https://www.conversionsondemand.com/privacy-policy.php','https://www.conversionsondemand.com/','2742',NULL,'info@conversionsondemand.com',NULL);\nINSERT INTO companies VALUES('conversive','Conversive','\"Conversive is leading agency in affiliate marketing management and performance based online marketing. Our own developed multi network tracking software ANT, enables easy multi network affiliation, conversion attribution and gives real-time insight in campaign results by transactions.\"','https://conversive.nl/privacy/','https://www.conversive.nl/','1364','NL',NULL,NULL);\nINSERT INTO companies VALUES('convert','Convert',NULL,'https://www.convert.com/privacy-policy/','https://www.convert.com/','5041',NULL,NULL,NULL);\nINSERT INTO companies VALUES('convertfox','ConvertFox','\"From email to live-chat to marketing automation, a suite of products for marketing, sales, and customer success teams to build better relationships and close more deals. Use one or use them all.\"','https://convertfox.com/privacy','https://convertfox.com/','5227',NULL,'support@convertfox.com',NULL);\nINSERT INTO companies VALUES('conviva','Conviva','Convivia is an Internet video content solution that distributes and manages delivery for video websites and aggregators. Their Software as a Service (SaaS) platform integrates multiple media sources like content delivery networks and data providers and powers real-time analytics and performance monitoring on each video and media delivery.','http://www.conviva.com/home/privacy-policy/','https://www.conviva.com/','819','US','privacy@conviva.com',NULL);\nINSERT INTO companies VALUES('cookie_script','Cookie Script','Cookie Script helps you to comply GDPR and CCPA. Make your own cookie information popup, no programming skills required. You can even use it for free.','https://cookie-script.com/privacy-policy.html','https://cookie-script.com/','4480','LT','support@cookie-script.com',NULL);\nINSERT INTO companies VALUES('cookiehub','CookieHub','CookieHub offers a range of products and services, including a cookie consent banner and a cookie audit tool. These tools help website owners and publishers to meet their legal obligations, such as obtaining consent from visitors for the use of cookies, and to provide transparent and easily accessible information about their cookie policies.','https://www.cookiehub.com/privacy-policy','https://www.cookiehub.com','','IS','support@cookiehub.com',NULL);\nINSERT INTO companies VALUES('cookieinformation','Cookie Information','Cookie Information is a Danish company that develops the consent management platform of the same name. In November 2023, Cookie Information merged with Piwik PRO, with Piwik PRO becoming a 100% subsidiary of Cookie Information.','https://cookieinformation.com/cookie-and-privacy-policy/','https://cookieinformation.com/','','DK','privacy@cookieinformation.com',NULL);\nINSERT INTO companies VALUES('cookieyes','CookieYes','CookieYes Limited is a Cookie Consent Solution for GDPR & CCPA Compliance.','https://www.cookieyes.com/privacy-policy/','https://www.cookieyes.com/','','GB','support@cookieyes.com',NULL);\nINSERT INTO companies VALUES('cooliris','Cooliris','\"The Cooliris app is a way to experience all of your photos and your friends'' photos in one place, and selectively share and save them as you like.\"','http://www.cooliris.com/legal/privacy/','http://www.cooliris.com','2642',NULL,'privacy@cooliris.com',NULL);\nINSERT INTO companies VALUES('copacet','Copacet','\"We provide the platform and professional tools you need to ramp up your profits. Customer service and support, global reach, scalability, audience targeting, exclusive ad formats and campaign optimization – we make it our mission to help you achieve the highest rate of return on your advertising and publishing investment!\"','http://copacet.com/privacy','http://copacet.com/','2022',NULL,NULL,NULL);\nINSERT INTO companies VALUES('coremotives','CoreMotives','CoreMotives is a provider of email marketing and marketing automation services based off Microsoft Dynamics CRM platform. Their services offerings include email marketing, lead scoring, web visitor tracking, nurture marketing, web forms, surveys and alert notifications.','http://www.silverpop.com/About/Trust--Privacy/Privacy-Policy-Legal/Privacy-Policy/','http://coremotives.com/','1188','US','info@coremotives.com',NULL);\nINSERT INTO companies VALUES('coull','Coull','\"Coull is a technology company helping people connect content with commerce... Our unique technology is built on understanding how people really want to interact with video – online and on the move.\"','https://coull.com/privacy/','https://coull.com/','2914',NULL,NULL,NULL);\nINSERT INTO companies VALUES('coveo','Coveo','Coveo Solutions Inc. provides e-commerce and enterprise search software for ecommerce, customer service, digital workplaces, and websites.','https://www.coveo.com/company/legal/privacy/privacy-notice','https://www.coveo.com/','','CA','privacy@coveo.com',NULL);\nINSERT INTO companies VALUES('cox_enterpries','Cox Enterprises','Cox Digital Solutions provides online advertising solutions that connect advertisers with engaged users, and publishers with quality brands. They offer a collection of premium inventory for national reach and local engagement. Cox Digital Solutions offers solutions for advertisers, agencies, and publishers. Cox Digital Solutions is a division of Cox Media Group.','http://www.gamut.media/privacy-policy/','http://www.gamut.media/','6','US','marketing@gamut.media',NULL);\nINSERT INTO companies VALUES('cpm_rocket','CPM Rocket','\"We offer comprehensive ecommerce solutions for our partners, including deep-level online advertising and marketing in a variety of market niches. We combine our international reach, local expertise, global monetization know-how, advanced cross-platform capabilities and rich media formats to bring you opportunities from around the world.\"','http://cpmrocket.com/privacy.html','http://www.cpmrocket.com/','3066',NULL,'nuria@cpmrocket.com',NULL);\nINSERT INTO companies VALUES('cpmprofit','CPMProfit','\"CPMProfit system allows all webmasters and exhibitors to increase income from the websites by displaying ads on the forums, portals, blogs and other web sites.\"',NULL,'http://www.cpmprofit.com/','1499','US',NULL,NULL);\nINSERT INTO companies VALUES('cpmstar','CPMStar','CPMStar is an online content marketing company. It provides technology for  multiplayer games and tools for developers to create games. It enables advertisers to reach audience interested in games, music, film, sports, and community related activities; and offers online gaming content for publishers. CPMStar is owned by The Game Show Network.','https://www.cpmstar.com/privacyPolicy.html','http://www.cpmstar.com','647','US','josh@cpmstar.com',NULL);\nINSERT INTO companies VALUES('cq_counter','CQ Counter','\"CQ Counter is a detailed web tracking service that provides comprehensive statistics information that helps businesses better analyze their website visitors and focus their marketing efforts in a cost effective way. The statistics provided allows all types of businesses to analyze the strengths and weaknesses of their website; gain important knowledge that will improve their site''s performance; and help users make better business decisions.\"','http://www.cqcounter.com/?privacy','http://www.cqcounter.com/','1392','US',NULL,NULL);\nINSERT INTO companies VALUES('craftkeys','CraftKeys','\"Like you, we love analyze awesome sites. We love it so much, we decided to help people just like us do it easier, better, and faster.\"','https://metricskey.net/terms-of-service','http://craftkeys.com/','2641',NULL,'press@craftkeys.com',NULL);\nINSERT INTO companies VALUES('crakmedia_network','Crakmedia Network','\"Our company’s expertise covers many areas of interest from web application development to internet traffic brokering. With a network of more than 3 million daily unique users and our experience in the industry we can offer a very wide variety of services for all webmasters and publishers working in the adult market.\"','https://crakmedia.com/','https://crakmedia.com/','2138',NULL,NULL,NULL);\nINSERT INTO companies VALUES('crankyads','CrankyAds','\"CrankyAds is a plugin and advertising management system currently available to WordPress bloggers. The service is designed to...help bloggers earn money from their blog by selling advertising banners to sponsors, ...make the installation and management of advertising campaigns super easy for both the blogger and the advertiser, [and] ...give you tools that can turn your advertising revenue into a passive income stream.\"','http://www.crankyads.com','http://www.crankyads.com','2903',NULL,'support@crankyads.com',NULL);\nINSERT INTO companies VALUES('crazy4media','Crazy4Media','When working with advertising one key element must stay in focus: ROI is always the most important goal. Not only will we make sure we meet your ROI goals, but we will be sure not a second goes by before the changes you need are met. We work with you to create the best online marketing strategy for your business. Our Account Managers can assist you with account set-up, campaign optimization and ongoing support, or you can create your own campaign and experience the power of our industry-leading optimization technology for yourself. Creafi has custom solutions for agencies and direct marketers of all sizes. Whether you are seeking to increase sales, leads or brand awareness','http://www.c4monline.com/privacy-policy/','http://www.c4monline.com/','1282','US',NULL,NULL);\nINSERT INTO companies VALUES('crazy_egg','Crazy Egg','Crazy Egg is an analytics service that provides graphical and text analysis of visitor behavior on a website. It tracks where visitors click and allows webmasters to fine-tune their site''s performance.','https://www.crazyegg.com/privacy','https://www.crazyegg.com/','50','US','privacy@crazyegg.com',NULL);\nINSERT INTO companies VALUES('creative_commons_corp','Creative Commons Corporation',NULL,'https://creativecommons.org/privacy/','https://creativecommons.org/','5326',NULL,NULL,NULL);\nINSERT INTO companies VALUES('crimtan','Crimtan','Crimtan is a behavioral ad network built on Red Aril''s proprietary data management and advertising optimization platform. They provide advertisers with audience segmentation, optimization, ad delivery and reporting. Audience intelligence is gathered anonymously from multiple sources of user activity and provides real-time insight into audience interests and purchase intent.','https://crimtan.com/privacy/','https://crimtan.com/','606','GB',NULL,NULL);\nINSERT INTO companies VALUES('crisp','Crisp','\"The best live chat and customer engagement solution for your website\"','https://crisp.chat/en/privacy/','https://crisp.chat/','5146',NULL,NULL,NULL);\nINSERT INTO companies VALUES('criteo','Criteo','Criteo is an advertising company that provides online display advertisements. The company was founded and is headquartered in Paris, France.','https://www.criteo.com/privacy/','https://www.criteo.com/','51','FR','dpo@criteo.com',NULL);\nINSERT INTO companies VALUES('crm4d','CRM4D','Extend the relationship and communication with your customers through the CRM Onboarding','https://crm4d.com/privacy','https://crm4d.com/','4138',NULL,'contact@graphinium.com',NULL);\nINSERT INTO companies VALUES('cross_pixel','Cross Pixel','Cross Pixel Media is an online ad network that displays targeted banner advertising to consumers based on their previous online shopping activity. They employ a strategy called \"cross targeting\" that allows partner companies to re-target site traffic from one another.','http://crosspixel.net/privacy-policy','http://crosspixel.net/','320','US','info@crosspixel.net',NULL);\nINSERT INTO companies VALUES('crossengage','CrossEngage','CrossEngage is a SaaS open marketing platform that combines a customer data platform with cross-channel campaign management capabilities. It easily integrates with all data sources and marketing channels so that your existing infrastructure does not need to be replaced.','https://www.crossengage.io/privacy-and-terms/','https://www.crossengage.io/','4497',NULL,'info@crossengage.io',NULL);\nINSERT INTO companies VALUES('crossss','Crossss','\"Crossss - the first in the market of the Russian system of merchandising for online stores... Our goal - to make the online shopping adjust to every visitor and guessed his desires and opportunities.\"Translated by Google Translate',NULL,'http://crossss.ru/','2953',NULL,'info@crossss.com',NULL);\nINSERT INTO companies VALUES('crowd_science','Crowd Science','Crowd Science is an online market research company leveraging both web analytics and survey research.','http://app.crowdscience.com/privacy/survey/','http://www.crowdscience.com/','52','US','privacy@crowdscience.com',NULL);\nINSERT INTO companies VALUES('crowdprocess','CrowdProcess','\"CrowdProcess connects with the browsers of people that are browsing the websites that join the platform. We use a small amount of the browsers processing power without disrupting the user experience in any way. We then make that distributed processing power available to anyone with a good idea to make the future happen sooner.\"','https://crowdprocess.com/privacy','https://crowdprocess.com','3102',NULL,'hello@crowdprocess.com',NULL);\nINSERT INTO companies VALUES('crowdynews','Crowdynews','\"At Crowdynews we believe that real life illustrations are essential to storytelling. Therefore we provide carefree social media integration for all online publishers, engaging users, increasing traffic and driving revenue.\"','https://www.crowdynews.com/privacy-policy/','https://www.crowdynews.com/','2853',NULL,'contact@crowdynews.com',NULL);\nINSERT INTO companies VALUES('crownpeak','Crownpeak','CrownPeak Inc. is a company providing software-as-a-service (SaaS) based Web content management and optimization solutions for organizations worldwide. It offers cloud-based content management systems, connectors, site search, and purpose-built templates. The company also provides web hosting, implementation, support, managed, security, training, design, content creation, custom development, and consulting services.','https://www.crownpeak.com/privacy.aspx','https://www.crownpeak.com/','4957','US','privacy@crownpeak.com',NULL);\nINSERT INTO companies VALUES('cryptoloot','CryptoLoot','The CryptoLoot JavaScript Miner allows you to embed a Monero (XMR) miner directly into your website. The miner itself does NOT come with a User Interface! It is your responsibility to tell your users what''s going on and to provide stats on mined hashes. Ultimately, we aren''t going to tell you how to run your business.','https://crypto-loot.com/tos','https://crypto-loot.com/','5145',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ctnetwork','CTnetwork','\"The CTnetwork forms of Internet advertising, which cost-effectively reach the target group of customers. prepared by the advertiser and set the text ads appear on websites CTnetwork network.\"Translated by Google Translate',NULL,'http://ctnetwork.hu/','1967','US','info@ctnetwork.hu',NULL);\nINSERT INTO companies VALUES('ctrlshift','CtrlShift','ADZ is a Singapore based technology company. Their demand side platform enables brands and agencies to locate and reach Asian audiences in real time.','https://ctrlshift.com/','https://ctrlshift.com/','849','SG','legal@adzcentral.com',NULL);\nINSERT INTO companies VALUES('cubed_attribution','Cubed Attribution','The CUBED Attribution algorithm is calculated based on a number of elements of importance that allow us to understand the propensity for someone to complete an action. We are constantly refining and improving the algorithm, and it currently has seven core factors that are used to create the weightings:• number of touchpoint interactions• number of pageviews• recency of visit• time on site• channel• device• location','http://withcubed.com/privacy-policy/','http://withcubed.com/','4476',NULL,'privacy@withcubed.com',NULL);\nINSERT INTO companies VALUES('cuelinks','CueLinks','\"CueLinks is a 2-minute Content Monetization tool for bloggers, deal site owners, coupon sites, forum owners or any publishers or in fact, any websites which [send] outbound traffic to online shopping, travel, finance or matrimony websites. We help publishers monetize their content in an effective manner and with minimal efforts from their end.\"Translated by Parity Cube Pvt. Ltd.','https://www.cuelinks.com/privacy','https://www.cuelinks.com/','3057',NULL,NULL,NULL);\nINSERT INTO companies VALUES('cup_interactive','Cup Interactive','\"CUP Interactive (formerly CBS Interactive France) has become independent of its three executives, Jean-Philippe Caste, Matthieu Urruty and Jean-Philippe Caste, editor of the \"gamekult.com\", \"cnetfrance.fr\" and \"zdnet.fr\" Emmanuel Parody to embark on a new adventure. A company on a human scale, CUP Interactive is made up of teams who are passionate, passionate and above all qualified, always looking for innovation and ready to take on all the challenges. Thanks to its three strong brands, CNET France, ZDNet.fr and Gamekult, which have become references in the high-tech and video game sectors over the years, CUP Interactive is today an essential media group on the Web. With an audience of more than 4.2 million UU * per month,\"(Google Translate)','https://www.cupinteractive.com/politique-de-confidentialite.html','https://www.cupinteractive.com/','5022',NULL,NULL,NULL);\nINSERT INTO companies VALUES('customer.io','Customer.io','Customer.io is a leading customer engagement platform designed for tech-savvy organizations to create personalized customer journeys that engage, convert, and scale. It uses first-party data to send meaningful messages across all channels, including email, in-app, push, SMS, and webhooks. Customer.io is the trading name of Peaberry Software Inc.','https://customer.io/legal/privacy-policy','https://www.customer.io/','2727','US','compliance@customer.io',NULL);\nINSERT INTO companies VALUES('customerly','Customerly','\"Use the easiest live chat software for you and your customers. Give them a way to contact you easily instead of leaving your website.\"','https://www.customerly.io/en/privacy','https://www.customerly.io/','5256','IE','legal@customerly.io',NULL);\nINSERT INTO companies VALUES('cxense','Cxense','cXense provides web-based services to businesses to improve the overall relevance of their web applications. These services are advertising, analytics, search and personalization.','https://www.cxense.com/about-us/privacy-policy','https://www.cxense.com/','1160','NO','privacy@cxense.com',NULL);\nINSERT INTO companies VALUES('cyberwing','CyberWing','CyberWing Corporation brings to market leading Ad Services and Technology, backed by strong partnerships with Japan’s major Internet Service Providers and IT vendors. CyberWing Corporation is based in Tokyo, Japan.','http://www.cyberwing.co.jp/privacy/','http://www.cyberwing.co.jp/','2944',NULL,'info@tocyberwing.co.jp',NULL);\nINSERT INTO companies VALUES('cybot','Cybot','Cybot delivers automated ePrivacy services that enable website operators to respect and protect the privacy of their visitors.','https://www.cybot.com/privacy-policy/','https://www.cybot.com/','5429','DK','mail@cybot.com',unistr('Usercentrics acquired Cybot (owner of Cookiebot) in Sept, 2021:\\u000ahttps://www.cookiebot.com/en/usercentrics-cookiebot-cmp/'));\nINSERT INTO companies VALUES('cygnus','Cygnus','\"Cygnus Business Media is an internationally-recognized business-to-business media company. Its diverse portfolio serves market categories with print and interactive products, and live events. Cygnus Business Media provides comprehensive, integrated advertising and marketing programs for some of the world''s strongest business-to-business brands. Cygnus Business Media reaches millions of professionals annually. As one of America’s top business-to-business media companies, Cygnus is leading the way in providing targeted content to top decision-makers and organizations. The company’s corporate initiatives and organizational architecture are built with one goal: fully engaging audiences in aviation, building & construction, public safety & security, and agriculture vertical markets, as well as diversified industries such as transportation, printing, accounting, and vending.\"','http://www.southcomm.com/#!privacy-policy/lm5bf','http://www.cygnus.com/','3627',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dable','Dable','Dable is an AI-based personalization platform. It provides content discovery and native advertising solutions using big data and machine learning to analyze user interests and recommend personalized content. The platform serves media partners across Asia, with significant market presence in Korea, Indonesia, Vietnam, and Taiwan.','https://dable.io/en/privacy-policy-en','https://dable.io/','','KR','info@dable.io',NULL);\nINSERT INTO companies VALUES('daconsortium','D.A.Consortium','\"Focusing on the Agent, DAS and Media fields as its three major business areas, the DAC Group is striving to become Japan''s leading company in digital advertising by building intra-Group synergies across its portfolio of businesses and services.\"','http://www.dac.co.jp/english/utility/rule.html','https://www.dac.co.jp/english/','2084',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dailyme','DailyMe','DailyMe is a technology company that specializes in dynamic personalization for digital media and e-commerce. Its flagship service is Newstogram, a technology that generates data on users'' interests and delivers personalized content, advertisements and commerce. Newstogram captures data from the interaction between users and digital content assets, and transforms it into actionable, granular user-knowledge.','http://dailyme.com/corporates/index/10/','http://dailyme.com/','416','US',NULL,NULL);\nINSERT INTO companies VALUES('daisycon','Daisycon','\"Advertisers are continually in pursuit of increased sales, more leads and more online coverage. Meanwhile, publishers are striving to increase the returns from their websites and e-mail databases. For the last ten years, Daisycon has been working on a complex network which is capable of making a structural contribution to achieving these objectives.\"','https://www.daisycon.com/en/privacy/','http://www.daisycon.com','2430',NULL,'info@daisycon.com',NULL);\nINSERT INTO companies VALUES('darwin_marketing','Darwin Marketing','\"Together with agency partners, Darwin Marketing offers clients a wide range of marketing solutions that work together to provide cost-effective results across advertising channels. A fixed-cost approach allows for full customization of marketing campaigns for individual clients. Fully trackable advertising allows the advertiser to spend the right amount in the right places to achieve the desired results, avoiding the pitfalls of overmarketing.\"Translated by Darwin Marketing',NULL,'http://www.darwinmarketing.com/','2983',NULL,'marketing@darwinmarketing.com',NULL);\nINSERT INTO companies VALUES('datacoral','Datacoral','We are Datacoral, an Amazon-native, serverless data platform that runs securely in your own Amazon account. We offer a fully managed data-stack to collect, organize and harness your data so that you can focus on delivering value through insights and models.','https://datacoral.com/privacy-policy/','https://datacoral.com/','5139',NULL,'privacy@datacoral.co',NULL);\nINSERT INTO companies VALUES('datacrushers','Datacrushers','\"The most powerful and easy-to-use Cart Abandonment tool around.\"','https://app.abandonaid.com/Privacy%20Policy.html','https://www.datacrushers.com/','3489',NULL,'help@AbandonAid.com',NULL);\nINSERT INTO companies VALUES('datadog','Datadog','Datadog offers a range of monitoring services to support engineering teams in effectively managing their cloud or hybrid environments. These services include Infrastructure Monitoring, Network Performance Monitoring, Network Device Monitoring, Serverless Monitoring, and Cloud Cost Management to help businesses maintain the reliability, performance, and cost-effectiveness of their infrastructure and applications.','https://www.datadoghq.com/legal/privacy/','https://www.datadoghq.com/','','US','privacy@datadoghq.com',NULL);\nINSERT INTO companies VALUES('datadome','DataDome','\"DataDome is a global cybersecurity company, specialized in protecting and accelerating digital businesses. Thanks to its AI powered bot management solution, DataDome enables businesses to:. Improve performance, burdened by intensive scraping. Protect user data from hackers. Make better marketing and business decisions\"','https://datadome.co/fr/mentions-legales/','https://datadome.co/','5226',NULL,NULL,NULL);\nINSERT INTO companies VALUES('datalicious','Datalicious','Datalicious is a full-service analytics agency and technology firm, providing the tools and insights to help companies achieve more effective marketing outcomes. From its origins as a specialist consultancy based in Sydney, Australia, the company attracted investment from the Veda-Equifax Company and has grown to become an innovative software development company that now help many blue-chip clients across Europe and South East Asia to think outside the box and achieve data driven marketing best practice. Datalicious products include the SuperTag tag manager, DataExchange user ID management tool and OptimaHub cross-channel marketing analytics platform. Datalicious is also one of the biggest Google Analytics Premium resellers in South East Asia.','http://www.datalicious.com/privacy-policy/','http://www.datalicious.com/','3231',NULL,'insights@datalicious.com',NULL);\nINSERT INTO companies VALUES('datamind','DataMind','\"DataMind - a technology platform that enables centralized buying advertising on RTB-technology. CPC platform provides algorithmic optimization, taking risks with the advertiser.\"Translated by Google Translate',NULL,'http://datamind.ru/','3164',NULL,NULL,NULL);\nINSERT INTO companies VALUES('datarize','Datarize','Datarize helps websites to integrate analysis with first party data by working as a customer management platform.','https://datarize.ai/_next/static/Datarize_Privacy_Policy_EN.pdf','https://datarize.ai/en','','KR','help@datarize.ai',NULL);\nINSERT INTO companies VALUES('datawrkz','Datawrkz','Founded in 2013, Datawrkz is a leading Digital Marketing Solution provider for publishers, agencies and brands. The company is headquartered in Singapore and has a strong presence in the US and India. Datawrkz works with both Agencies and Publishers to help them leverage the programmatic paradigm. On the demand side, Datawrkz functions as an Independent Trading Desk to power digital media strategy, planning and execution on behalf of their Agency and Brand clients in a transparent financial model. On the supply side, Datawrkz drives higher yield for publishers through proprietary programmatic technology with BidAmp – a header bidding and mediation solution and AdPrimus – the company’s suite of innovative ad units.','https://datawrkz.com/privacy-policy/','https://datawrkz.com/','4961',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dataxpand','Dataxpand','\"We collect rich 1st & 3rd party audience data, analize, filter & segment consumers behavior & intent from top publishers & data providers around the world.\"','https://dataxpand.com/privacy.php','https://dataxpand.com/','3596',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dataxu','DataXu','DataXu is an optimization platform that incorporate bidding algorithms that evolve based on performance insights. This allows them to value, buy and optimize each ad impression in real-time for decision opportunities as they occur. DataXu''s approach is designed to improve on technologies that require pre-optimized categories or broad audience segments.','https://www.dataxu.com/about-us/privacy/data-collection-platform/','http://www.dataxu.com/','292','US','privacy@dataxu.com',NULL);\nINSERT INTO companies VALUES('dc_storm','DC Storm','DC Storm is a technology company delivering Software as a Service (SaaS) technology for online marketing. DC Storm provides web analytics (StormAnalytics) and PPC optimization technology (StormOptimiser) to digital marketing agencies as well as directly to advertisers. Their product suite ˜StormIQ allows clients to manage, optimize and analyze their campaigns and websites through one interface.','http://dc-storm.com/en-uk/privacy-policy/','http://www.dc-storm.com/','237','GB','info@dc-storm.com',NULL);\nINSERT INTO companies VALUES('dca','DCA (Data-Centric Alliance)','DCA majors in Big Data technologies. We collect and mine Data to develop IT-solutions for marketing and other business areas.','http://www.facetz.net/privacy.html','https://datacentric.ru/en','3167','RU','info@facetz.net',NULL);\nINSERT INTO companies VALUES('de_persgroep','De Persgroep','\"De Persgroep Nederland is the largest media house in the Netherlands. With 1200 journalists who work on quality news every day. On paper in newspaper and magazine, via web and app on tablet, smartphone. In text, image, sound and video.\"','https://www.persgroep.nl/privacy','https://www.persgroep.nl','5266',NULL,'privacy@persgroep.nl',NULL);\nINSERT INTO companies VALUES('deadline_funnel','Deadline Funnel','Add urgency to your marketing funneland sell more in less timeAre you selling courses or digital products online? Tired of people saying I''ll buy it tomorrow? Create evergreen deadlines for your leads and give them a reason to take action now.','https://deadlinefunnel.com/tos','https://deadlinefunnel.com/','4949',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dealer.com','Dealer.com','At Dealer.com, we believe that the automotive industry thrives when dealers, consumers, and manufacturers are completely connected. It’s what drives us to build the industry’s most tightly integrated, dealer-focused digital marketing platform. From digital advertising that automatically connects your inventory to likely buyers in your market, to digital retailing products that help you start and make deals faster than ever, to strategic advisory and managed services, no other solution allows you to connect more meaningfully with your online customers.','https://www.dealer.com/company/dealer-com-privacy-policy/','https://www.dealer.com/','4642',NULL,'support@dealer.com',NULL);\nINSERT INTO companies VALUES('dealfront_group','Dealfront Group','Dealfront Group is a B2B intent data platform that identifies the companies that visit your website and tracks their online behavior, so you can see which leads are ready to buy.','https://www.dealfront.com/privacy-notice/','https://www.dealfront.com/','','DE','privacy@dealfront.com',NULL);\nINSERT INTO companies VALUES('debitel','mobilcom debitel','\"FreeXmedia provides advertisers a variety of portals with premium target groups representing combined with innovative forms of advertising and efficient targeting technologies.\"',NULL,'https://www.mobilcom-debitel.de','1534','DE','werbung@freexmedia.de',NULL);\nINSERT INTO companies VALUES('decibel_insight','Medallia','Medallia provides software-as-a-service (SaaS) customer experience management (CEM) and employee experience management (employee engagement) software to hospitality, retail, financial services, high-tech, and business-to-business (B2B) companies internationally.','https://www.medallia.com/privacy-policy/','https://www.medallia.com/','3679','US','hello@decibelinsight.com',NULL);\nINSERT INTO companies VALUES('dedicated_media','Dedicated Media','Dedicated Media is a provider of online media sales, offering advertisers premium placements on a combination of top tier publishers and web destinations. Dedicated Media owns and operates a number of divisions including the ad network Dedicated Networks. Dedicated Media creates, plans and executes media and marketing programs for clients across a proprietary advertising network.','http://www.dedicatedmedia.com/privacy-policy','http://www.dedicatedmedia.com/','795','US','privacy@dedicatedmedia.com',NULL);\nINSERT INTO companies VALUES('deep.bi','Deep.BI','Deep.BI measures content consumption metrics to help publishers distribute content across platforms and grow audiences.','http://www.deep.bi/contact/','http://www.deep.bi/#','5187',NULL,NULL,NULL);\nINSERT INTO companies VALUES('deep_intent','Deep Intent','DeepIntent is an online marketing and advertising technology platform specializing in audience insights and media buying (“Platform”). Through our Platform, companies and entities that represent them (“Clients”) can place advertisements on websites, mobile apps, and other digital media properties (“Partner Properties”) belonging to publishers with whom we are partnered (“Publisher”). Our Platform uses data and technology to help Clients strategize how and when to market their products and/or services and to track campaign performance on Partner Properties (“Services”).','https://www.deepintent.com/platform-privacy-policy/','https://www.deepintent.com/','5037','US','contact@deepintent.com',NULL);\nINSERT INTO companies VALUES('delacon','Delacon','\"Delacon develops leading telecommunication technology solutions that helps business stay ahead. Since the company’s inception in 1996, Delacon has been committed to devising products that streamline operations and enhance customer interaction. Principally, Delacon offers a world class call tracking solution to support media agencies, marketing professionals, direct marketers, SME and enterprise businesses.\"','http://www.delacon.com.au/privacy-policy/','https://www.delacon.com.au/','3591',NULL,NULL,NULL);\nINSERT INTO companies VALUES('delivr','Delivr','PercentMobile is a mobile analytics firm that helps a brand understand their mobile Internet audience. PercentMobile simplifies deployment by delivering its mobile analytics software as an on-demand hosted service, capable of reporting on large amounts of mobile traffic. The service tracks mobile visitors by device, cell phone operator and country.  PercentMobile is a TigTags product.','https://delivr.com/page/511/privacy-policy','http://about.delivr.com/','716','US','privacy@delivr.com',NULL);\nINSERT INTO companies VALUES('delivrai','Delivr.ai','Delivr.ai collects raw behavior signals to build precision audience and buyer-intent intelligence data.','https://www.delivr.ai/privacy','https://www.delivr.ai/','','US','info@delivr.ai',unistr('Formerly known as CDP Resolution, llc, as stated on their website:\\u000ahttps://www.delivr.ai/tos (October 26, 2023)'));\nINSERT INTO companies VALUES('delta_airlines','Delta Air Lines','Delta Air Lines, Inc. is a major airline in the United States headquartered in Atlanta, Georgia. It ranks first in revenue and brand value among the world''s largest airlines, and second by number of passengers carried, passenger miles flown, and fleet size.','https://www.delta.com/us/en/legal/privacy-and-security','https://www.delta.com/','','US','privacy@delta.com',NULL);\nINSERT INTO companies VALUES('delta_projects','Delta Projects','Deltas Projects products (DSP, DMP + Adserver) deliver cost-effective media investments through programmatic media purchases.','https://www.deltaprojects.com/data-collection-policy/','https://www.deltaprojects.com/','1955','US','dpo@azerion.com',NULL);\nINSERT INTO companies VALUES('deluxe','Deluxe','\"Deluxe Corporation is organized into three business units that combine to make us a growth engine for businesses and financial institutions as well as one of the top check producers in North America.\"','http://ww.deluxe.com/policy/privacy','https://ww.deluxe.com/','2819',NULL,'deluxeforbusiness@deluxe.com',NULL);\nINSERT INTO companies VALUES('demandbase','Demandbase','Demandbase provides pay-as-you-go services for buying B2B marketing lists and sales leads. They provide technology tools that allow marketers to track the efficiency of marketing efforts as well as providing analytics and reporting.  Other services include list buying, lead generation, email marketing and search marketing services.','https://www.demandbase.com/company/privacy-policy/','https://www.demandbase.com/','53','US','support@demandbase.com',NULL);\nINSERT INTO companies VALUES('dentsu_aegis_network','Dentsu','Dentsu is a global media, creative and customer experience management group made up of several brands. We help our clients to improve how they advertise and market, whether by print, post, email or in the digital world. We believe that the responsible use of data supports business growth and builds strong relationships between brand and consumer.','https://www.dentsu.com/our-policies/privacy-notices','http://www.dentsu.com/','391','JP','dpo@dentsu.com',NULL);\nINSERT INTO companies VALUES('deqwas','Deqwas','\"現在、市場では“協調フィルタリング”によるレコメンデーションエンジンが主流となっています。この方式では行動や閲覧の履歴に基づく確率計算でおすすめを表示するので、何度も購入、閲覧されるものほど高く評価される結果、 全アイテムのうち人気上位アイテムに偏ったレコメンデーションを表示します。\"','http://www.scigineer.co.jp/privacy/','http://www.deqwas.com/','3522',NULL,'info@scigineer.co.jp',NULL);\nINSERT INTO companies VALUES('devatics','Devatics','\"Devatics has developed a real time marketing behavioural technology for online retailers. The automated solution is able to target multiple customer segments in real time by appropriate reassurance, guidance or stimulation messages.\"','http://www.devatics.com/en/privacy-policy','http://www.devatics.com/en/','2791',NULL,NULL,NULL);\nINSERT INTO companies VALUES('developer_media','Developer Media','\"At Developer Media, we strive to build the right solutions to make marketing to developers seamless... Our mission is to provide you with the highest quality network for your marketing goals... We reach more software developers than any other media group... We are dedicated to world-class leadership in quality, full-service marketing solutions focused on delivering end-to-end advertising campaigns that better promote your developer message.\"','https://www.codeproject.com/info/privacy.aspx','https://developermedia.com/','2974',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dex_platform','DEX Platform','\"DEX Platform is a standardized direct banner media exchange platform for publishers. DEX Platform helps to monetize publisher''s website(s) , blogs, cms''s and social websites with network cost-per-mile (cpm) ads.\"','http://blueadvertise.com/privacy.php','http://blueadvertise.com/','3062',NULL,'baf.abuse@dexplatform.com',NULL);\nINSERT INTO companies VALUES('dialogtech','Dialogtech',NULL,NULL,'https://www.dialogtech.com/','4738',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dianomi','Dianomi','dianomi™, founded in 2003, provides online advertising in the form of contextual lead generation, one of the fastest growing mediums in digital marketing. We offer advertisers a more intelligent way to acquire new customers through a premium network of publishers including MSN, Yahoo, WSJ, The Times, The Telegraph, MorningStar, FT Adviser, ThisIsMoney, the Guardian, Motley Fool and many more. By focusing on premium publishers and consequently an affluent demographic, we provide the highest quality of lead to our blue-chip clients in Finance, Motoring, B2B and Lifestyle verticals.','http://www.dianomioffers.co.uk/legal/privacy.epl','https://www.dianomi.com/','1284','US','customerservices@dianomi.com',NULL);\nINSERT INTO companies VALUES('didit','Didit','Didit offers direct marketing and media buying services. They combine Search Engine Marketing (SEM) strategy, analytics and modeling and best-of-breed technology to produce audience segmented SEM results for their clients who represent brands across all major vertical markets.','http://www.didit.com/privacy-policy/','http://www.didit.com/','505','US','info@Didit.com',NULL);\nINSERT INTO companies VALUES('didomi','Didomi','Didomi is a global data privacy company that provides enterprises with consent and preference management solutions. Its platform helps organizations comply with regulations like GDPR and CCPA by managing user consent across websites, mobile apps, and connected TVs. Founded in 2017 and based in Paris, the company serves thousands of businesses worldwide.','https://privacy.didomi.io/en/','https://www.didomi.io/en/','5327','FR','dpo@didomi.io',NULL);\nINSERT INTO companies VALUES('digicert','Digicert','\"SSL Certificates from DigiCert provide the strongest 2048-Bit and SHA-2 encryption available in a variety of options designed to meet your needs.\"','https://www.digicert.com/digicert-privacy-policy.htm','https://www.digicert.com/','1526','US','admin@digicert.com',NULL);\nINSERT INTO companies VALUES('digidip','Digidip','Monetizing the largest premium content websitesThe most detailled analytics for international performance marketing.',NULL,'https://www.digidip.net/','4891',NULL,NULL,NULL);\nINSERT INTO companies VALUES('digiglitz','Digiglitz','At DigiGlitz, innovation and curiosity drive the best and brightest minds to push the boundaries of creativity and technology. We specialize in web development and marketing using emails, SMS, and online advertising. With each new project we strive to accelerate the development of a brand by providing the right digital push for their all-round growth..',NULL,'http://www.digiglitz.com/','4636',NULL,NULL,NULL);\nINSERT INTO companies VALUES('digilant','Digilant','Digilant, a global programmatic media pioneer, partners with the world’s leading agencies and brands to provide customized and scalable programmatic media solutions. Powered by insightful and actionable data science, Digilant’s display, video, mobile, and social solutions are delivered through a world-class service offering. The company’s advanced technology platform connects brands with relevant and unique audiences by activating first party, third party and its own proprietary data, empowering marketers with an actionable end-to-end data science solution.','https://www.digilant.com/es/politica-privacidad/','https://www.digilant.com/','366','US','privacy@digilant.com',NULL);\nINSERT INTO companies VALUES('digital_control_room','Digital Control Room','Digital Control Room is an independent RegTech software company specialising in providing Governance Risk and Compliance (GRC) software solutions and services to organisations across the globe.','https://www.digitalcontrolroom.com/privacy-policy/','https://www.digitalcontrolroom.com/','2576','GB','privacy@digitalcontrolroom.com',NULL);\nINSERT INTO companies VALUES('digital_media_management','Digital Media Management','\"Digital Media Management is a full-service agency dedicated to managing high-profile individuals, brands and theatrical movies across all digital platforms.\"','https://digitalmediamanagement.com/privacy-policy/','https://digitalmediamanagement.com/','2771',NULL,'info@digitalmediamanagement.com',NULL);\nINSERT INTO companies VALUES('digital_media_solutions','Digital Media Solutions','Digital Media Solutions (DMS) is a marketing technology company specializing in performance-based customer acquisition solutions. They connect advertisers with high-intent consumers across various digital channels, including brand direct and marketplace solutions.','https://www.digitalmediasolutions.com/privacy-policy','https://www.digitalmediasolutions.com','','US','info@DMSgroup.com',NULL);\nINSERT INTO companies VALUES('digital_remedy','Digital Remedy','AdReady hosts a self-service display advertising technology platform, providing agencies with a private label web service. Features include hosting agency logos, brand, color scheme as well as hosting on a unique URL. Advertising is displayed across its network of affiliate publisher sites.','https://www.digitalremedy.com/privacy-policy/','https://www.digitalremedy.com/','49','US','contact@cpxinteractive.com',NULL);\nINSERT INTO companies VALUES('digital_river','Digital River','Digital River is a provider of global e-commerce solutions for building and managing online businesses. The company''s platform offers site development and hosting, order management, fraud management, export controls, tax management, physical and digital product fulfillment, multi-lingual customer service, reporting and strategic marketing services. Digital River also acts as an internal interactive agency.','http://www.digitalriver.com/company/corporate-policies/','http://corporate.digitalriver.com','407','US','privacy@digitalriver.com',NULL);\nINSERT INTO companies VALUES('digitalcontentnext','Digital Content Next','Digital Content Next (DCN) is a nonprofit trade association for the digital content industry, focused on research, policy guidance, and industry events. It was known as the Online Publishers Association (OPA) until May 2014.','https://digitalcontentnext.org/privacy-policy/','https://digitalcontentnext.org/','','US','info@digitalcontentnext.org',NULL);\nINSERT INTO companies VALUES('digitaldatasolutions','Digital Data Solutions BV','Digital Data Solutions is developing CookieFirst, a consent management platform that helps website owners comply with privacy regulations such as GDPR, ePR, CCPA, and LGPD.','https://cookiefirst.com/legal/privacy-policy/','https://cookiefirst.com/','','NL','legal@cookiefirst.com',NULL);\nINSERT INTO companies VALUES('digiteka','Digiteka','\"Since our creation, we defend the principle of balance between right holders and publishers. Indeed, rather than increasing the number of procedures and notices against the sites that broadcast their content, we were the first to defend and promote to the Rightsholders a new approach, a new state of mind: \" Broaden the distribution permissions of your videos and develop your inventory: it is the best way (and the only one) for Producers and Right Holders to succeed in the digital revolution! \".','https://digiteka.com/policy/','https://digiteka.com/','4705',NULL,'france@digiteka.com',NULL);\nINSERT INTO companies VALUES('dihitt','diHITT','\"The diHITT is a complete platform for you to disseminate and share interesting things. Within the diHITT you find several tools to communicate with other site users, make friends and exchange ideas.\"',NULL,'http://www.dihitt.com.br/','1631','US',NULL,NULL);\nINSERT INTO companies VALUES('direct_keyword_link','Direct Keyword Link',NULL,NULL,'http://www.keywordsconnect.com/','3183',NULL,NULL,NULL);\nINSERT INTO companies VALUES('directadvert','Direct/ADVERT','\"Direct / ADVERT - teaser network covering more than 20 million visitors per month, effective tool for internet marketing. This system is designed for direct advertising and sales of goods and services to mass market, as well as to attract additional traffic to the site at an affordable price.\"Translated by Google Translate','https://www.directadvert.ru/text/about#privacy_policy','https://www.directadvert.ru/','1940','RU','support@directadvert.ru',NULL);\nINSERT INTO companies VALUES('directrev','DirectREV','\"DirectREV Media Delivery Platform is a real-time digital ad marketplace that connects publishers with agencies, ad networks and third-party technology providers.\"','https://www.directrev.com/privacy','https://www.directrev.com/','2398',NULL,'support@directrev.com',NULL);\nINSERT INTO companies VALUES('disney','The Walt Disney Company','The Walt Disney Company, commonly known as Disney, is a global leader in media and entertainment. It has expanded its reach beyond traditional animation and theme parks to encompass a significant digital presence. This includes streaming services like Disney+, ESPN+, and Hulu, as well as numerous mobile apps, video games, and a vast network of websites and social media accounts that engage millions of users worldwide.','https://privacy.thewaltdisneycompany.com/en/','https://thewaltdisneycompany.com/','1826','US','privacycontact@TWDC.com',NULL);\nINSERT INTO companies VALUES('display_block','display block','\"We are a creative email agency. We cover all aspects of email marketing from design to campaign deployment.\"',NULL,'https://www.displayblock.com/','3645',NULL,'info@displayblock.com',NULL);\nINSERT INTO companies VALUES('distil_networks','distil networks','\"Founded in 2011, Distil Networks is the leading public and private cloud security provider that blocks malicious bots, or automated computer programs, attacking your website. With a mission of making the web more secure, Distil Networks mitigates against duplicate content, improves SEO strength and accelerates the end-user experience – all while reducing infrastructure costs. The setup to stop bots is lightning–fast, secure, and completely transparent. Stop bot attacks with Distil Networks today.\"','https://www.distilnetworks.com/privacy/','https://www.distilnetworks.com/','3561',NULL,'info@distilnetworks.com',NULL);\nINSERT INTO companies VALUES('district_m','district m inc.',NULL,'https://districtm.net/en/page/platforms-data-and-privacy-policy/','https://districtm.net/en/','5328',NULL,NULL,NULL);\nINSERT INTO companies VALUES('distroscale','Distroscale',NULL,'http://www.distroscale.com/about/privacy-policy/','https://www.distroscale.com/','4472',NULL,'privacy@distroscale.com',NULL);\nINSERT INTO companies VALUES('diva','DiVa','\"Become more efficient and increase the productivity of your sales. The digital sales assistant can provide marketing and sales automatically filtered hot sales contacts your site. Try four weeks for free! After the test, you will receive access to an analysis of your potential customers and your website.\"Translated by Google Translate','http://www.vertriebsassistent.de/datenschutz/','http://www.vertriebsassistent.de/','2188',NULL,'vertriebsassistent@burda.com',NULL);\nINSERT INTO companies VALUES('divvit','Divvit','Divvit uses a JavaScript tracking pixel that will be installed on each page of your shop and track page views, orders and more. We then analyze all this data in the background for you and present it in a nicely organized way.','https://www.divvit.com/privacy','https://www.divvit.com/','4499',NULL,'hq@divvit.com',NULL);\nINSERT INTO companies VALUES('dixa','Dixa','Dixa is a conversational customer engagement software that connects brands with customers through real-time communication.','https://www.dixa.com/legal/privacy','https://www.dixa.com/','','DK','privacy@dixa.com',NULL);\nINSERT INTO companies VALUES('dmg_media','Dmn Media',NULL,'https://www.dmgmedia.co.uk/privacy-cookie-policy/','https://www.dmgmedia.co.uk/','5329',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dmgt','Daily Mail and General Trust plc',NULL,'https://www.dmgt.com/site-services/privacy-policy','https://www.dmgt.com/','5330',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dmm.r18','DMM.R18','http://www.dmm.co.jp','https://terms.dmm.co.jp/privacy/','http://www.dmm.co.jp','5190',NULL,'info@mail.dmm.com',NULL);\nINSERT INTO companies VALUES('dockvine','dockvine','\"Dockvine lets visitors browse your social media pages without clicking away to a new window\"','https://www.dockvine.com/privacy','https://www.dockvine.com','5231',NULL,'privacy@dockvine.com',NULL);\nINSERT INTO companies VALUES('docler_ip','Docler IP',NULL,NULL,'https://www.doclerholding.com/en/about/companies/38/','5331',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dogannet','Dogannet',NULL,NULL,'http://s.dogannet.tv/','4727',NULL,NULL,NULL);\nINSERT INTO companies VALUES('doorbell.io','Doorbell.io',NULL,'https://doorbell.io/privacy','https://doorbell.io/','4788',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dotandmedia','DotAndMedia','\"We develop ad serving technology, mobile applications and online systems to support...digital advertising selling and management activities.\"',NULL,'http://www.dotandmedia.com','2856',NULL,'info@dotandmedia.com',NULL);\nINSERT INTO companies VALUES('dotdigital_group','dotDigital Group','\"dotDigital Group Plc has grown over the past 12 years to become a leader in the provision of intuitive Software as a service (‘SaaS’) products for digital marketing professionals; including the Group’s email marketing platform, dotMailer and e-commerce offering, dotCommerce.  Dedicated to helping clients to grow their businesses online, dotDigital also provides search marketing services (SEO & PPC), web design and build, digital strategy advice and managed services along with the newest addition – online survey tool, dotSurvey.\"','https://www.dotdigitalgroup.com/privacy-policy/','https://www.dotdigitalgroup.com/','1395','US','privacy@dotmailer.com',NULL);\nINSERT INTO companies VALUES('double.net','Double.net','\"One of Sweden’s first affiliate marketing companies, we quickly recognized the huge potential in online marketing... We have ad contracts with tens of thousand Swedish publishers and can place ads on many of the largest Swedish websites.\"',NULL,'https://web.archive.org/web/20191216231937/https://double.net/en/','1500','US',NULL,unistr('Announced on 28th Dec 2019 on their website (https://web.archive.org/web/20191228230054/https://double.net/en/):\\u000a\\u000aDouble.net has closed its affiliate network\\u000a\\u000aDear customers and visitors,\\u000a\\u000aDouble.net has for over 15 years been one of Sweden''s leading affiliate networks.\\u000a\\u000aAt the end of 2018, DoubleNet AB merged with its parent company Double AB, whose core business is beeing a consulting agency. After careful evaluation, the Double AB Board decided to discontinue the affiliate marketing service and only focus on its core business instead.\\u000a\\u000aWe now plan to pass on the affiliate network to new owners. For more information please contact us via DoubleCloud.com\\u000a\\u000aIt has been a honor to offer our affiliate services to our customers for over 15 years. We are very greatful for your support during all these years and wish you all the best with your continued performance-based marketing!'));\nINSERT INTO companies VALUES('doublepimp','DoublePimp','DoublePimp is an adult advertising network focused on serving banner ads on adult publisher websites for advertisers.',NULL,'http://doublepimp.com/','57','US','n/a',NULL);\nINSERT INTO companies VALUES('doubleverify','DoubleVerify','DoubleVerify is a data quality verification company providing agencies, marketers, publishers and networks with real-time data auditing services to prevent duplication across audience segments.','https://www.doubleverify.com/privacy/','https://www.doubleverify.com/','58','US','policy@doubleverify.com',NULL);\nINSERT INTO companies VALUES('dratio','Dratio','\"[Dratio] is China''s leading third-party Internet data services provider...\"Translated by Google Translate',NULL,'http://www.dratio.com/','2894',NULL,'service@dratio.com',NULL);\nINSERT INTO companies VALUES('drawbridge','Drawbridge','Adsymptotic provides mobile advertising technology and cross-device data from desktop to mobile. The company''s proprietary technology drives ad serving decisions using cross-device audience behavioral signals, improving the likelihood of finding the right people, on the right device.','http://drawbridge.com/privacy','https://drawbridge.com/','1175','US','info@drawbrid.ge',NULL);\nINSERT INTO companies VALUES('drift','Drift','Drift is a conversational marketing and sales platform that connects your business with the best leads in real-time. Like a virtual assistant for your website, Drift lets you turn any conversation into a conversion.','https://www.drift.com/privacy-policy/','https://www.drift.com/','4715',NULL,'legal@driftt.com',unistr('Salesloft Acquired Drift, February 13, 2024:\\u000a\\u000ahttps://www.salesloft.com/company/newsroom/salesloft-acquires-drift\\u000a\\u000aProduct name is kept as Drift'));\nINSERT INTO companies VALUES('drip','Drip','\"Drip is an email marketing application. We use emails to engage your customers and build conversions.\"','https://www.getdrip.com/terms','https://www.getdrip.com','3013',NULL,'support@getdrip.com',NULL);\nINSERT INTO companies VALUES('drizzle','Drizzle Team','Drizzle Team develops open-source products related to databases.',NULL,'https://drizzle.team/','','US','https://drizzle.team/',NULL);\nINSERT INTO companies VALUES('dsnr_media_group','DSNR Media Group','DSNR Media Group (DMG) is an online advertising solution provider for international markets.  By utilizing its optimization methodologies and technologies, DMG offers an integrated approach with insight from impression to conversion. DMG''s mobile advertising solution includes an optimization platform, conversion tracking and aggregation of multiple mobile ad platforms.',NULL,'http://www.dsnrmg.com/','678','IL','contact@dsnrmg.com',NULL);\nINSERT INTO companies VALUES('dstillery','Dstillery','Dstillery is a leading AI-powered ad targeting company founded in 2008, specializing in high-performance programmatic advertising for brands and agencies.','https://dstillery.com/privacy-policy/','https://dstillery.com/','111','US','privacy@dstillery.com',NULL);\nINSERT INTO companies VALUES('dtscout','DTscout','DTS provides a single point of contact to millions of publishers and over a billion interactions per day. The DTS data offering is comprised of a data set at a scale of a billion validated monthly unique users worldwide and audience segments broken into behavioural, demographic and contextual verticals. DTS data is available via the major DMPs and select direct DSP integrations.','https://www.dtscout.com/webpolicy.html','https://www.dtscout.com/','5043',NULL,'info@dtscout.com',NULL);\nINSERT INTO companies VALUES('dudamobile','DudaMobile','Duda is a leading website builder for web professionals and agencies of all sizes. Our Responsive Website Builder enables you to build amazing, feature-rich websites that are perfectly suited to desktop, tablet and mobile devices. DudaMobile is our award-winning platform for building mobile-only sites from scratch, or based on an existing desktop site or Facebook business page. DudaPro is our Website Reseller Program, which makes it easy for web design agencies and professionals to create high converting, personalized and dynamic websites easily and quickly. Duda is the only Google-preferred website builder that optimizes each and every site built on our platform for Google PageSpeed.','https://www.dudamobile.com/legal/privacy','https://www.dudamobile.com/','4888',NULL,'legal@dudamobile.com',NULL);\nINSERT INTO companies VALUES('dun_&_bradstreet','Dun & Bradstreet','Dun & Bradstreet (NYSE: DNB) grows the most valuable relationships in business. By uncovering truth and meaning from data, we connect customers with the prospects, suppliers, clients and partners that matter most, and have since 1841. Nearly ninety percent of the Fortune 500, and companies of every size around the world, rely on our data, insights and analytics. For more about Dun & Bradstreet, visit DNB.com.','http://www.dnb.com/utility-pages/privacy-policy.html','http://www.dnb.com/#','3320',NULL,'privacyofficer@dnb.com',NULL);\nINSERT INTO companies VALUES('dwstat','Dwstat',NULL,NULL,'http://www.dwstat.cn/','890','CN','info@dwstat.cn',NULL);\nINSERT INTO companies VALUES('dynad','DynAd','\"DynAd is a set of tools and services specializing in Retargeting and Behavioral Targeting.\"','http://dynad.net/','http://dynad.net/','2870',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dynamic_yield','Dynamic Yield','Dynamic Yield is an AI-powered experience optimization platform that enables companies to deliver personalized digital experiences across web, apps, email, and other touchpoints. Acquired by Mastercard, December 2021.','https://www.dynamicyield.com/platform-privacy-policy/','https://www.dynamicyield.com/','2280','US','privacy@dynamicyield.com',NULL);\nINSERT INTO companies VALUES('dynata','Dynata','Dynata provides accurate, timely, trusted data from one of the world’s largest collections of permissioned first-party data. We bring the authentic voice of consumers and business professionals to a diverse set of organizations and industries — agencies, corporations, consultancies, investment firms, brands… looking to leverage high quality data and innovative, technology-enabled data solutions across the full spectrum of marketing services: Market research, consumer and customer engagement, advertising effectiveness and audience verification.','https://www.dynata.com/','https://www.dynata.com/','1928',NULL,NULL,NULL);\nINSERT INTO companies VALUES('dynatrace','Dynatrace','Dynatrace is a global software intelligence company known for its AI-powered observability platform that monitors and secures applications, infrastructure, and digital user experiences.','https://www.dynatrace.com/company/trust-center/privacy/','http://www.dynatrace.com/','353','US','privacy@dynatrace.com',NULL);\nINSERT INTO companies VALUES('e-planning','e-planning','The e-planning ad server provides online ad campaign management tools for advertisers, publishers, and agencies. Their product includes geo-targeting capabilities on five levels including country, region, city, zip code and area code. They offer a rich media interface as a standalone product or integrated with their ad serving offerings. e-planning Ad+Magic provides click level reporting for analytics and insight on campaigns.','https://www.e-planning.net/privacy-policy.html','https://www.e-planning.net/','509','AR',NULL,NULL);\nINSERT INTO companies VALUES('eadv','eADV','\"EADV [is] the online advertising agency founded to create a real meeting point and efficiently between publishers and advertisers.\"','https://eadv.it/privacy.php','https://eadv.it/','1501','IT',NULL,NULL);\nINSERT INTO companies VALUES('early_birds','Early Birds','Early Birds is a predictive editor e-merchandising SaaS solution.Founded in 2012, the company address e-merchants who want to develop their business by offering new features to their visitors.',NULL,'http://www.early-birds.fr/','4390',NULL,NULL,NULL);\nINSERT INTO companies VALUES('earnify','Earnify','You''re probably already advertising products on your website via other native advertising networks but only receive a CPC for the traffic you send to them. Your traffic is obviously performing well for them because if it wasn''t converting, they would have ceased advertising on your website. Switch to Earnify today and start receiving a revenue share of the sales your traffic generates, we have eight months worth of data to prove Earnify will be more profitable for you.','https://www.earnify.com/terms/privacy','https://www.earnify.com/','4358',NULL,NULL,NULL);\nINSERT INTO companies VALUES('easyads','EasyAds','\"EasyAds is an interactive platform for publishing and managing online advertising network of sites.\"Translated by Google Translate',NULL,'https://easyads.bg/','2611',NULL,'ekip@easyads.bg',NULL);\nINSERT INTO companies VALUES('ebay','eBay','eBay.com is an online auction and shopping website in which people and businesses buy and sell a variety of goods and services worldwide utilizing eBay''s PayPal to ensure secure transactions. Other eBay products and companies include eBay Marketplace, Media Marketplace, Skype, half.com, MicroPlace, Shopping.com, Rent.com and Stubhub.','https://www.ebay.com/help/policies/member-behaviour-policies/user-privacy-notice-privacy-policy?id=4260','https://www.ebay.com/','248','US','https://www.ebay.com/help/policies/member-behaviour-policies/user-privacy-notice-privacy-policy?id=4260#section14',NULL);\nINSERT INTO companies VALUES('ebay_partner_network','eBay','eBay Partner Network (EPN) is eBay’s affiliate marketing program. Affiliate marketing with eBay Partner Network is a way for partners to earn commissions by promoting products on eBay through a promotable and shareable link.','https://partnernetwork.ebay.com/en/legal#privacy-policy','https://partnernetwork.ebay.com/','220','US','https://partnernetwork.ebay.com/gdpr-request',NULL);\nINSERT INTO companies VALUES('ebuzzing','eBuzzing','\"We are a leading global platform for social video advertising. Our network of social publishers includes over 40,000 influential blogs, social networks, social games, Facebook and mobile applications.\"','http://social.ebuzzing.co.uk/privacy/','http://social.ebuzzing.co.uk/','1503','US','infos@ebuzzing.com',NULL);\nINSERT INTO companies VALUES('echo','Echo','Echo is a conversation management analytics company providing publishers with real-time reporting.  Echo allows website users to connect to a site using their profiles from any popular social network.  Conversations happening across the web are linked back to publishers through Echo''s technology. Echo was formerly known as JS-Kit.',NULL,'http://aboutecho.com/','93','US','privacy@aboutecho.com',NULL);\nINSERT INTO companies VALUES('echobox','Echobox','Echobox operates a platform that allows publishers to manage and automate their social media presence, email campaigns and other forms of customer engagement.','https://www.echobox.com/privacy','https://www.echobox.com/','','GB','privacy@echobox.com',NULL);\nINSERT INTO companies VALUES('eclick','eClick','\"eClick is a smart adnetwork which drives advertising messages of advertising buyer (advertisers called) to target audiences who are on websites (publishers called) in the eClick adnetwork in the way of accuracy and convenience.\"',NULL,'http://eclick.vn','2145',NULL,NULL,NULL);\nINSERT INTO companies VALUES('econda','Econda','Econda solutions provides a suite of web analytics tools for use on e-commerce sites.','https://www.econda.de/econda/unternehmen/datenschutz/','https://www.econda.de/','603','DE','datenschutz@econda.de',NULL);\nINSERT INTO companies VALUES('ecotag','Ecotag','\"[Ecotag] is a solution...to facilitate the introduction of advertising effectiveness measurement tool and site analysis tool, set the tags to the site in the run-time of various targeting and results pay-advertising, changes, centralized management of the tag to be handled.\"Translated by Google Translate','https://www.cci.co.jp/privacypolicy/','http://www.eco-tag.jp/','2921',NULL,NULL,NULL);\nINSERT INTO companies VALUES('edigitalresearch','eDigitalResearch','Way back in 1999 when the web was still a baby, we saw the need for online businesses to have their own specific breed of research. So eDigitalResearch was born - and we now offer not just unrivalled digital research expertise, but state-of-the-art technology that works seamlessly with your systems and data across your cross channel consumer.','http://www.maruedr.com/privacy/','http://www.edigitalresearch.com/','1336','GB','privacy@edigitalresearch.com',NULL);\nINSERT INTO companies VALUES('edm_group','EDM Media Group','\"Mark & ​​Mini is an operator, on the dividing line between TV and the Internet, the operation does worthy of TV programs via the Internet. Mark & ​​Mini does this by means of a TV commercial, prior to the requested TV program (called pre-roll/streamspot) broadcast.\"Translated by Google Translate','https://edm.nl/en/privacy-and-terms-conditions','https://edm.nl/','2114',NULL,'Privacy@markandmini.com',NULL);\nINSERT INTO companies VALUES('effective_measure','Effective Measure','Effective Measure is a web analytics company that provides data about visitors to a website. Their patent-pending Digital Helix technology addresses cookie deletion issues and unique visitor audience calculations. This allows advertisers and publishers to define and measure audience numbers accurately without duplication, and track data points over a specific time period.','http://www.effectivemeasure.com/privacy-policy/','http://www.effectivemeasure.com/','607','AU','privacy@effectivemeasure.com',NULL);\nINSERT INTO companies VALUES('efficy','Efficy','Efficy is a Belgian publisher of CRM software that can be customized according to the client''s business and/or sector of activity (banking, public sector, mutual insurance companies, insurance companies, etc.)','https://www.efficy.com/privacy-policy/','https://www.efficy.com/','','BE','privacy@efficy.com',NULL);\nINSERT INTO companies VALUES('effiliation','Effiliation','\"EXPERIENCE, CONSULTANCYEffiliation, the first affiliation consultancy agency in France, has developed its reputation thanks to the creativity and advice it provides to its advertisers and publishers.RELIABLE, STABLE, MATUREEffiliation’s reliability, the stability and maturity of its technical platform, its team that is both reactive and available, have led to numerous collaborations with the most prestigious advertisers who have remained loyal to Effiliation.INDEPENDENCE, SOUND FINANCIAL HEALTHAn independent production consultancy wholly owned by its executives, Effiliation federates skill clusters that allow it to work on all conceptual aspects of client marketing based on performance.Relying on a network of 10,000 partner sites, it is currently the only agency to offer comprehensive « marketing services » that provide the solution to each advertiser problem:Creating trafficExpanding salesRecruiting prospectsManagement chart, follow-up and analysisRecommendations on recruitment strategiesProducing the mechanism and its media (web creation studio)Deployment of the mechanism on Effiliation NetworkManaging the affiliation relationship (trusted third party, payment, disputes)\"','https://inter.effiliation.com/politique-confidentialite.html','https://www.effiliation.com/en/','2943',NULL,'contact@effiliation.com',NULL);\nINSERT INTO companies VALUES('egain','eGain','\"eGain helps organizations transform their traditional call centers into multichannelcustomer interaction hubs. eGain® 10 is the industry''s most innovative and complete software suite for multichannel customer service and knowledge management.\"','https://www.egain.com/privacy-policies/','https://www.egain.com/','1530','US',NULL,NULL);\nINSERT INTO companies VALUES('ekmpinpoint','ekmPinpoint','\"ekmPinpoint is an easy to use web statistics solution that offers everything you need track your visitors and measure your websites performance.\"','http://ekmpinpoint.com/privacy.asp','http://ekmpinpoint.com/','3041',NULL,'sales@ekmpinpoint.com',NULL);\nINSERT INTO companies VALUES('ekomi','eKomi','Using social commerce technology, eKomi collects customer feedback, product reviews, comments and recommendations.','https://www.ekomi.co.uk/uk/privacy','http://www.ekomi.co.uk','2702','DE','dataprotection@ekomi.co.uk',NULL);\nINSERT INTO companies VALUES('el_toro','El Toro','El Toro is a marketing organization that views IP addresses differently than most companies. To us, an IP address is a way to connect businesses and marketers to their customers and prospects with a new approach to online advertising: IP Targeting. We match physical addresses to IP addresses with extreme precision with our offline data on-boarding capabilities and patented one-to-one marketing technology.','https://eltoro.com/privacy-policy/','https://eltoro.com/','5422','US','privacy@eltoro.com',NULL);\nINSERT INTO companies VALUES('elastic','Elastic','Elastic builds software to make data usable in real time and at scale for search, logging, security, and analytics use cases.','https://www.elastic.co/trust/faq#data-privacy','https://www.elastic.co/','5332','US','security@elastic.co',NULL);\nINSERT INTO companies VALUES('elastic_ad','Elastic Ad','We focus on infrastructure, you focus on advertising. Use our technology and you won’t have to ask publishers to modify their websites to be suitable for native ads. Just white label the ElasticAd platform and you are ready to go!',NULL,'http://www.elasticad.com','3803',NULL,'contact@elasticad.com',NULL);\nINSERT INTO companies VALUES('elicit','elicit','\"With elicit, marketers and retailers can now curate search results, better aligning brand story, marketing calendar, promotional initiatives and eBusiness objectives.\"',NULL,'https://www.elicitsearch.com/','2526',NULL,'elicit@elicitsearch.com',NULL);\nINSERT INTO companies VALUES('email_aptitude','Email Aptitude','\"Our technology combines decades of email and digital marketing experience to provide advanced functionality that helps any marketer on any ESP improve their email program.\"','http://www.emailaptitude.com/privacy/','http://www.emailaptitude.com/','3357',NULL,'webmaster@emailaptitude.com',NULL);\nINSERT INTO companies VALUES('emarketeer','emarketeer','eMarketeer provides software for automation of customer care and communication to optimize your time, revenue and relations with your customers.','https://www.emarketeer.com/about/privacy-policy/','https://www.emarketeer.com/','4878','SE','info@emarketeer.com',NULL);\nINSERT INTO companies VALUES('emarsys','Emarsys','Scarab is full of open minded, experienced, creative people. We don’t do strictly defined jobs, because it’s clear to us that everybody has something to contribute, and everybody has something to learn.So, we shift roles frequently, respect each other’s strengths, learn from each other, teach each other, and huddle to help each other.Mutually self-reliant would be a fair description.','https://www.scarabresearch.com/privacy/','https://www.emarsys.com/','5182',NULL,'privacy@scarabresearch.com',NULL);\nINSERT INTO companies VALUES('emetriq','emetriq','Wir haben es uns als einziger Anbieter zur Aufgabe gemacht, starke Partner der Digital Advertising Branche zusammen zu bringen, um über eine strategische Kooperation, der Intelligent Data Alliance (IDA), gemeinsam den größten deutschen Datenpool zu etablieren, der sich in Qualität, Nutzen und im Hinblick auf deutsche Datenschutzvorgaben deutlich vom Wettbewerb abhebt.Unsere Mitarbeiter sind langjährige Profis der digitalen Branche, die ihr gebündeltes Wissen rund um intelligentes Datenmanagement mit großer Leidenschaft einbringen, um Ihnen und Ihren Kunden mit qualitativ hochwertigen Daten auf Basis einer maximalen Datenmenge zu einer präzisen Zielgruppenansprache für Ihre Kampagnenausspielung zu verhelfen.','https://www.emetriq.com/datenschutz/','http://www.emetriq.com','3970',NULL,NULL,NULL);\nINSERT INTO companies VALUES('emma','Emma','\"Emma makes it easier to create, send and track great-looking email campaigns[.]\"','https://myemma.com/privacy-policy','https://myemma.com/','2644',NULL,'privacy@myemma.com',NULL);\nINSERT INTO companies VALUES('emnet','eMnet','\"eMnet, a professional online marketing consulting group, has opened up the Internet-marketing market based on...experience and know-how, provides the best online marketing strategy.\"Translated by eMnet, Inc.',NULL,'http://www.emnet.co.kr','3293',NULL,'webmaster@emnet.co.kr',NULL);\nINSERT INTO companies VALUES('empathy','Empathy','Empathy was founded in 2012 to help brands provide irresistible search, pairing software with interfaces to combine function and beauty in one.','https://www.empathy.co/cookie-policy/','https://www.empathy.co/','2563',NULL,'info@colbenson.com',NULL);\nINSERT INTO companies VALUES('enecto','Enecto','Enecto offers a new approach to lead generation and online marketing that is based on Business Intelligence.Our identification of anonymous web visitors allows us to deliver powerful marketing and sales solutions for business-to-business (B2B) companies. Our mission is to help our customers to capitalise their web presence to generate more sales opportunities and improve bottom line sales.',NULL,'https://www.enecto.com/','1285','SE','info@enecto.com',NULL);\nINSERT INTO companies VALUES('engage_bdr','engage:BDR','Engage:BDR is a global display advertising network with a proprietary ad serving technology, Blink New Media.  They specialize in Brand-safe and placement-specific inventory that they buy directly through publishers.','http://engagebdr.com/privacy-policy/','http://engagebdr.com/','845','US','privacy@bnmla.com',NULL);\nINSERT INTO companies VALUES('engagesciences','EngageSciences','\"A revolutionary platform for creating interactive marketing experiences, infused with authentic social advocacy. Combining the Advocacy and Campaign modules from EngageSciences, brands and agencies get a single solution that is highly configurable, providing a multitude of ways to engage the digital consumer, collect marketing opt-ins and customer data.\"','https://www.wayin.com/privacy-policy/','http://www.engagesciences.com/','4206',NULL,NULL,NULL);\nINSERT INTO companies VALUES('engageya','Engageya','Engageya is a native content advertising platform. Our free content-suggesting widget integrates naturally, driving new readers to sites and blogs.','https://www.engageya.com/disclaimer/privacy/','https://www.engageya.com/home/','4404',NULL,'privacy@Engageya.com',NULL);\nINSERT INTO companies VALUES('engagio','Engagio','Engagio’s Account Based Marketing and Sales platform enables teams to measure account engagement and orchestrate human connections at scale.','https://www.engagio.com/privacy/','https://www.engagio.com/','4130','US','dpo@engagio.com',NULL);\nINSERT INTO companies VALUES('engago_technologies','Engago Technologies','Engago Technologies is a provider of web services for businesses. They are dedicated to providing professional applications and services in the market of web services for enterprises in B2B and B2C businesses.','https://www.engago.com/en/main/b/PrivacyPolicy.html','http://www.engago.com','1179','GB','info@engago.com',NULL);\nINSERT INTO companies VALUES('engine_group','Engine',NULL,NULL,'https://www.enginegroup.com/','5333',NULL,NULL,NULL);\nINSERT INTO companies VALUES('engineseeker','EngineSeeker','\"Evisions is an Internet based marketing company who applies unique strategies. Our primary goal is to help create and develop advertising campaigns that are personalized to fit individual clients wants and needs.\"',NULL,NULL,'1205','US','info@evisionsmarketing.com',NULL);\nINSERT INTO companies VALUES('enreach','Enreach','\"Enreach is a technology platform that transforms publishers into audience data refineries, and makes the refined data assets actionable. Our key application area is direct sales automation (“Programmatic Direct”), with guaranteed demographic and interest based audience targeting and insightful real-time campaign reporting.\"',NULL,'http://www.enreach.me/','2103',NULL,'privacy@enreach.me',NULL);\nINSERT INTO companies VALUES('ensemble','Ensemble','Tumri is a provider of dynamic marketing solutions to advertisers, digital marketers and ad agencies. Their technology platform is designed for use in display media, and delivers personalized ads on-the-fly to elicit higher levels of consumer engagement.','https://collective.com/privacypolicy.html','https://collective.com/ensemble/','266','US','legal@collective.com',NULL);\nINSERT INTO companies VALUES('ensighten','Ensighten','Ensighten is a comprehensive website security company, offering next generation client-side protection against data loss, ad injection and intrusion. Through the Ensighten MarSecTM solution, organizations can assess privacy risk and stop unauthorized leakage or theft of data, as well as comply with the CCPA, GDPR and other global data privacy regulations.','http://www.ensighten.com/privacy-policy/','http://www.ensighten.com','728','US','info@ensighten.com',NULL);\nINSERT INTO companies VALUES('entireweb','Entireweb','Entireweb is a provider of search technology solutions. They operate a search engine, and partner with and provide their technology to other search engines across the web. Entireweb also operates the Pay-Per-Click advertising platform SpeedyAds.','https://www.entireweb.com/about/privacy/','https://www.entireweb.com/','1033','US',NULL,NULL);\nINSERT INTO companies VALUES('envolve','Envolve','\"Envolve is a chat platform for developers to create custom chat experiences.\"','https://www.envolve.com/privacy.html','https://www.envolve.com/','2823',NULL,NULL,NULL);\nINSERT INTO companies VALUES('envybox','Envybox','Рад вас видеть на нашем сайте! Уделите, пожалуйста, 45 секунд на прочтение этого текста. Уверен, он поможет понять, кто мы и почему нам можно доверять.Однажды мы стали думать, как же жить дальше, захотелось найти то дело, которое, как водоворот, затянет полностью с головой и в которое мы сможем вложить всю свою любовь и всю свою душу. И волей судьбы мы нашли это дело —','https://envybox.io/','https://envybox.io/','4375',NULL,NULL,NULL);\nINSERT INTO companies VALUES('enzuzo','Enzuzo','Enzuzo, Inc. provides a compliance software suite to help businesses manage their regulatory privacy requirements.','https://www.enzuzo.com/privacy-policy','https://www.enzuzo.com','','CA','legal@enzuzo.com',NULL);\nINSERT INTO companies VALUES('epic_advertising','Epic Advertising','Epic Advertising is a business to audience online advertising network. The company delivers display advertising, email and custom marketing solutions. Epic Marketplace targets users based on consumer interest, psychographic, behavioral and demographic information obtained from proprietary websites and market research providers. Epic Advertising is owned by Epic Media Group.',NULL,'https://www.epicadvertising.com','260','US','help@theepicmediagroup.com',NULL);\nINSERT INTO companies VALUES('epic_game_ads','Epic Game Ads','\"At Epic Game Ads (\"EGA\"), we represent online publishers and their properties (\"Publisher Properties\") to advertisers and support other properties sponsored by advertiser clients (\"Client-Sponsored Properties\").\"','http://www.epicgameads.com/privacy.htm','http://www.epicgameads.com/','1980','US','support@epicgameads.com',NULL);\nINSERT INTO companies VALUES('epom','Epom','\"Epom ad serving platform offers unique features and functions to publishers, networks, and advertisers.\"','https://epom.com/privacy-policy','https://epom.com/','2355',NULL,NULL,NULL);\nINSERT INTO companies VALUES('epoq','epoq','\"The epoq internet services GmbH specializes in the development of innovative technologies for online stores.\"','https://www.epoq.de/en/how-to/data-protection/?','http://www.epoq.de/','2898',NULL,'service@epoq.de',NULL);\nINSERT INTO companies VALUES('eprice','ePrice','ePRICE è il primo operatore italiano nell’e-Commerce. Siamo un’azienda italiana, che ha scelto di lavorare in Italia, perché il nostro Paese ha un grande potenziale ed è il più bello del mondo. Vendiamo milioni di prodotti ogni anno, la convenienza di comprare online, anche via smartphone, e la libertà di scegliere tra tante opzioni diverse di consegna e pagamento. La nostra mission è di servire l’evoluzione tecnologica delle famiglie e delle case degli italiani.','http://corporate.eprice.it/','http://corporate.eprice.it/','2077',NULL,'info@banzai.it',NULL);\nINSERT INTO companies VALUES('eproof','eProof',NULL,NULL,'http://www.eproof.com/','327','US',NULL,NULL);\nINSERT INTO companies VALUES('epsilon','Epsilon','Epsilon, formerly also known as Conversant, is an advertising company. Part of the Publicis Groupe with operations around the world. Our services help businesses find acquire and retain customers.','https://legal.epsilon.com/global-privacy-policies/','https://www.epsilon.com/','','GB',NULL,NULL);\nINSERT INTO companies VALUES('eq_works','EQ Works','EQ Works is a Demand Side Platform that connects advertisers with publishers through targeting, tools, and analytics. Their geospatial analytics platform, LOCUS, uses location behavior data to provide insights for businesses.','https://eqworks.com/privacy-policy','https://www.eqworks.com/','853','CA','privacy@eqworks.com',NULL);\nINSERT INTO companies VALUES('eqs_group','EQS Group','The EQS Group is a Munich-headquartered leading international provider of digital corporate communications.','https://www.eqs.com/home/footer/legals/data-protection/','https://www.eqs.com/','5334','DE',NULL,NULL);\nINSERT INTO companies VALUES('equativ','Equativ','Equativ is an independent, global adtech platform that provides a unified, vertically integrated solution for both advertisers and publishers. Formerly known as Smart AdServer, the company rebranded to Equativ in 2022 after merging with DynAdmic and LiquidM to create a single platform for programmatic advertising across all channels.','https://privacy.equativ.com/','https://www.equativ.com/','','FR','privacy@equativ.com',NULL);\nINSERT INTO companies VALUES('equifax','Equifax','Equifax Inc. is an American multinational consumer credit reporting agency headquartered in Atlanta, Georgia and is one of the three largest consumer credit reporting agencies, along with Experian and TransUnion. Equifax collects and aggregates information on over 800 million individual consumers and more than 88 million businesses worldwide.','https://www.equifax.com/privacy/','https://www.equifax.com/home/en_us','2380','US',NULL,NULL);\nINSERT INTO companies VALUES('ero_advertising','Ero Advertising','Ero Advertising is an Amsterdam based adult pay-per-click network. They assist their clients in campaign optimization & increasing conversions for their sites.',NULL,'http://www.ero-advertising.com/','747','NL','info@ero-advertising.com',NULL);\nINSERT INTO companies VALUES('errorception','Errorception','\"Errorception is a simple and painless way to find out about JavaScript errors, as they occur in your users'' browsers.\"','https://errorception.com/privacy','https://errorception.com/','1549','US',NULL,NULL);\nINSERT INTO companies VALUES('eskimi','Eskimi','Eskimi is a global AdTech company, headquartered in Vilnius, Lithuania, offering a full-stack programmatic platform (DSP) for data-driven digital advertising, focusing on high-impact creative formats and precise audience targeting across mobile and other channels.','https://www.eskimi.com/privacy-policy','https://www.eskimi.com/','','LT','privacy@eskimi.com',NULL);\nINSERT INTO companies VALUES('etag','etag','\"Programmatic media, technology and transformation in a simple, integrated and efficient way. Focused on branding and performance, all in one tag.\"','https://etagdigital.com.br/','https://etagdigital.com.br/','5238',NULL,NULL,NULL);\nINSERT INTO companies VALUES('etarget','Etarget','\"Etarget was established in 2002 and is the leading PPC network in Central and EasternEurope.\"',NULL,'http://etargetnet.com/','1504','US',NULL,NULL);\nINSERT INTO companies VALUES('ethnio','Ethnio','Ethnio is a user research management CRM. Recruit users for research, scheduling sessions, and paying participants effortlessly. Made for product and research teams to help them boost continuous discovery.','https://ethn.io/privacy','https://ethn.io/','2630','US','privacy@ethnio.com',NULL);\nINSERT INTO companies VALUES('ethyca','Ethyca','Ethyca is a data privacy company and maintainer of the Fides open source privacy engineering platform (github.com/fides) and provides tools to help organizations support data privacy in their products, including features like consent management, data subject access requests, data mapping, and \"privacy-as-code\" developer tools.','https://privacy.ethyca.com/','https://ethyca.com/','5436','US','privacyquestion@ethyca.com',NULL);\nINSERT INTO companies VALUES('etology','Etology','Etology is a platform that enables website owners to sell their ad inventory directly to advertisers. Advertisers can place ads directly on sites in a variety of formats from texts and banner ads in multiple types of ad units including banners, skyscrapers, and inline ads.',NULL,'https://www.etology.com/','893','US','support@etology.com',NULL);\nINSERT INTO companies VALUES('etp','ETP','\"ETP is a leading software company headquartered in Singapore delivering Omni-channel Retail Solutions to market leaders across more than 22 countries in Asia Pacific, India and the Middle East. ETP’s omni-channel solutions include POS, Mobility, CRM, Marketing and Promotion campaigns, Supply Chain Management and Omni-channel Connect. ETP helps its customers get it right in retail.\"','https://www.etpgroup.com/privacy-policy/','https://www.etpgroup.com','5246',NULL,'contact@etpgroup.com',NULL);\nINSERT INTO companies VALUES('etracker_gmbh','etracker GmbH','Etracker provides web analytics solution based on pixel technology. By loading an invisible counter pixel, every page impression provides more precise measurement and analysis of website traffic statistics than log files.','https://www.etracker.com/datenschutz/','https://www.etracker.com/en/','62','DE','privacy@etracker.com',NULL);\nINSERT INTO companies VALUES('etrigue','eTrigue','\"Developed by marketers, eTrigue provides easy-to-use marketing automation and sales acceleration Software-as-a-Service (SaaS) applications.eTrigue will help you start generating leads and prospects in 4 easy steps. With eTrigue DemandCenter marketing automation, employees at every skill level can create and execute lead nurturing programs, develop more campaigns in less time, generate more qualified leads, and close sales faster.\"','https://www.etrigue.com/trust/privacy/','https://www.etrigue.com/','1207','US',NULL,NULL);\nINSERT INTO companies VALUES('etsy','Etsy, Inc.','Etsy, Inc. is an American e-commerce company focused on handmade or vintage items and craft supplies. These items fall under a wide range of categories, including jewelry, bags, clothing, home décor and furniture, toys, art, as well as craft supplies and tools.','https://www.etsy.com/legal/privacy/?ref=ftr','https://www.etsy.com/','2030','US','legal@etsy.com',NULL);\nINSERT INTO companies VALUES('eulerian','Eulerian Technologies','Eulerian Technologies is a French software solutions provider. Their flagship product, Eulerian Analytics, is a tool for their clients – online advertisers and publishers – to collect, analyze and present data derived from user navigation and interaction with their Internet marketing channels. They also provide an ad serving product called Eulerian Ad Manager.','https://www.eulerian.com/en/privacy/','https://www.eulerian.com/','1134','FR','privacy@eulerian.com',NULL);\nINSERT INTO companies VALUES('euroads','Euroads','\"EuroAds is one of the leading suppliers of online marketing in the Nordic countries, and offers a variety of solutions that enable companies to make efficient use of their marketing budgets. EuroAds specialises in affiliate marketing, search engine marketing, e-mail marketing and Facebook marketing.\"','http://euroads.com/en/about/cookies/','http://euroads.com/en/','1446','US','info@euroads.dk',NULL);\nINSERT INTO companies VALUES('europacash','Europacash','Europacash is a self-serve real time bidding Ad Network dedicated to the Entertainment industry.Take advantage of our 10-year experience in the monetization industry.',NULL,'https://www.europacash.com/','4595',NULL,NULL,NULL);\nINSERT INTO companies VALUES('euroweb','Euroweb','Gaug.es is a web analytics tool made by software solutions provider Ordered List Creations.','https://www.euroweb.de/en/legal-notice','https://www.euroweb.de/','1982','US',NULL,NULL);\nINSERT INTO companies VALUES('evergage','Evergage','\"Evergage increases conversion rates and retention at each stage of the customer lifecycle by making it easy for organizations to respond to people''s behavior in real-time right in the digital experience... Evergage enables businesses to provide relevant messaging (headers, call-outs, pop-ups), dynamic content (inline), and informed response (sales/success interaction) to each person and account based on who they are, what they have done, and where they are in the customer lifecycle. All without IT or development resources.\"','https://www.evergage.com/privacy-policy','https://www.evergage.com/','2792',NULL,'info@evergage.com',NULL);\nINSERT INTO companies VALUES('everstring','Everstring','What''s In a Name: EverStringWe get asked all of the time how we came up with our name, and of course, there is a logical answer rooted in science. EverString, and our logo for that matter, refers to the connections or relationships between nodes in a model. EverString helps you define the relationships between your business and the world of others in your addressable market—so you can optimize audience selection.','http://www.everstring.com/privacy-policy/','https://www.everstring.com/','4187',NULL,'contact@everstring.com',NULL);\nINSERT INTO companies VALUES('everyday_health','Everyday Health','Everyday Health is a provider of online consumer health solutions. They provide consumers, advertisers and partners with content and advertising-based services across a broad portfolio of partnership websites. Everyday Health covers topics including pregnancy and fitness to medical content for condition prevention and management.','http://www.everydayhealth.com/privacyterms/#everyday_health_privacy_policy','https://www.everydayhealth.com/','717','US','privacy@everydayhealth.com',NULL);\nINSERT INTO companies VALUES('evisit_analyst','eVisit Analyst','\"eVisit Analyst is a comprehensive analytics product used by retail, banking, higher education and local government websites. By giving you the power to see how visitors are using your site, eVisit Analyst enables you to improve visitor interaction, smooth out sticking points in your visitor paths and raise your ROI on online marketing.\"  eVisit Analyst is owned by Maxsi Ltd.',NULL,'http://www.evisitanalyst.com','2044',NULL,NULL,NULL);\nINSERT INTO companies VALUES('exact_drive','Exact Drive','Exact Drive is a digital media planning and management firm. They provide online display advertising solutions for agencies and brand advertisers.  Exact Drive uses audience targeting and real-time media buying technologies to create a detailed strategic plan for execution.',NULL,'https://www.exactdrive.com/','901','US',NULL,NULL);\nINSERT INTO companies VALUES('exactag','Exactag','Exactag is a marketing attribution technology company that focuses on helping marketers optimize their marketing spend. They offer a SaaS platform that combines marketing attribution and marketing mix modeling to provide a unified measurement approach.','https://exactag.com/privacy-policy-website/','https://www.exactag.com','2723','DE','privacy@exactag.com',NULL);\nINSERT INTO companies VALUES('excentos','excentos','excentos Software is a platform that uses guided selling to lead your customers quickly and simply to the best product. AI-driven Product Guides increase your conversion rate, revenue and margins.','https://www.excentos.com/privacy-policy','https://www.excentos.com/','','DE','datenschutz@excentos.com',NULL);\nINSERT INTO companies VALUES('exitjunction','ExitJunction','ExitJunction is a technology platform for monetizing exit traffic. Their ad serving solution redirects users who arrived on a publishers'' page through a search engine to a new page containing sponsored listings for the same search criteria.','https://secure.exitjunction.com/privacypolicy.jsp','https://secure.exitjunction.com/index.jsp','1003','US','info@exitjunction.com',NULL);\nINSERT INTO companies VALUES('exoclick','ExoClick','ExoClick is an ad network that also offers a ''domain parking'' solution that allows publishers to monetize unused domains through Search Engine Optimization and advertising.','https://www.exoclick.com/privacy.php','http://exoclick.com/','1068','ES','privacy@exoclick.com',NULL);\nINSERT INTO companies VALUES('experian_inc','Experian','Experian plc is a multinational data broker and consumer credit reporting company based in Dublin, Ireland. As one of the \"Big Three\" credit reporting agencies, it offers credit services as well as decision analytics and marketing assistance to businesses.','https://www.experian.com/privacy/','https://www.experian.com/','323','IE','dataprivacy@experian.com',NULL);\nINSERT INTO companies VALUES('expert_system_spa','Expert System, SpA',NULL,'http://www.expertsystem.com/privacy-policy/','http://www.expertsystem.com/','5336',NULL,NULL,NULL);\nINSERT INTO companies VALUES('expo-max','expo-MAX','expo-MAX provides a suite of web analytics, ranking reporting and other SEO (search engine optimization) tools. It also offers a range of advertising and monetization solutions for marketers and publishers.','http://expo-max.com/privacy/','http://expo-max.com/','987','CA','support@expo-max.com',NULL);\nINSERT INTO companies VALUES('exponential_interactive','Exponential Interactive, Inc','Exponential Interactive operates as a media services company. The company delivers products and services to online and digital advertisers. It offers site-specific, channel-wide, and run-of-network placements to CPM advertisers. The company also provides performance marketing solutions and lead generation services in targeted industry verticals.','https://exponential.com/privacy','https://www.exponential.com/','64','US','privacy@exponential.com',NULL);\nINSERT INTO companies VALUES('expose_box','Expose Box',NULL,NULL,'http://www.exposebox.com/','5070',NULL,NULL,NULL);\nINSERT INTO companies VALUES('expressvpn','ExpressVPN','ExpressVPN creates a secure tunnel between your computer and every website or application online allowing you to anonymously appear to be anywhere you choose.',NULL,'https://www.expressvpn.com/','4593',NULL,NULL,NULL);\nINSERT INTO companies VALUES('extreme_digital','Extreme Digital','Extreme Digital provides the web analytics tool Extreme Tracker. These are tracking scripts that allow web site owners to \"picture the visitors\" to their web sites. It ranges from simply counting web site visitors to tracking the keywords they use to find you.','http://extremetracking.com/?policy','http://www.extremetracking.com/','65','NL','info@extremetracking.com',NULL);\nINSERT INTO companies VALUES('eyenewton','EyeNewton','End-to-end analytics, call tracking and callback. Simple advertising management and the most convenient interface - within 24 hours you will receive the cost of leads.','https://eyenewton.ru/docs/privacy_policy.pdf','https://eyenewton.ru/','4980','RU',NULL,NULL);\nINSERT INTO companies VALUES('eyeota','Eyeota','Eyeota is an audience technology platform. We and our partners collect and use data to ensure that the advertising you see is relevant. Our technology uses pseudonymous data to map information and devices together so we can create a broad picture of groups of individuals and their preferences. Data is collected from a variety of online sources, such as website publishers, and also offline data sources such as market research companies.','https://www.eyeota.com/privacy-center','https://www.eyeota.com/','1727','SG','privacy@eyeota.com',NULL);\nINSERT INTO companies VALUES('eyeview','Eyeview','Eyeview develops technology solutions that enable advertisers and agencies to create and target personalized video ads. We have both a passion for online video advertising and a vision for what it can be in the digital age. We aspire to bring the most comprehensive, advanced video advertising technology solution to the market.Our technology enhances brand quality video ads by adding dynamic compositions that are updated and targeted in real-time. With Eyeview’s technology, advertisers provide a more personal, relevant, local and brand effective video experience','http://www.eyeviewdigital.com/privacy-policy/','http://www.eyeviewdigital.com/','1288','US','privacy@eyeviewdigital.com',NULL);\nINSERT INTO companies VALUES('f5','F5','F5, Inc. is an American technology company specializing in application security, multi-cloud management, online fraud prevention, application delivery networking (ADN), application availability and performance, and network security, access, and authorization.','https://www.f5.com/company/policies/privacy-notice','https://www.f5.com/','','US','f5.dpo@fieldfisher.com',NULL);\nINSERT INTO companies VALUES('facebook','Meta','Meta Platforms, Inc., doing business as Meta, is an American multinational technology conglomerate based in Menlo Park, California. The company owns and operates Facebook, Instagram, WhatsApp, and other products and services, including Meta AI. The company rebranded from Facebook, Inc. in 2021.','https://about.meta.com/actions/protecting-privacy-and-security/','https://www.meta.com/','249','US','https://www.facebook.com/help/contact/540977946302970',NULL);\nINSERT INTO companies VALUES('faktor.io','Faktor B.V.','The Enterprise Platform for Privacy and Consent Management','https://faktor.io/privacy-notice/','https://faktor.io/','5337','NL','privacy@faktor.io',NULL);\nINSERT INTO companies VALUES('family_blend','Family Blend','10 years ago as expectant parents. Has grown into a market leader. A large family of enthusiastic professionals who makes the best media mix together for you to reach young families.Translated by Google Translate',NULL,'http://www.affiliate4you.nl/','2431',NULL,'info@familyblend.nl',NULL);\nINSERT INTO companies VALUES('fancy','Fancy','\"Fancy is the place for you to discover and buy amazing things curated by our global community.\"Fancy is owned by Thing Daemon, Inc.','https://fancy.com/about/terms-privacy','http://www.fancy.com/','2638',NULL,'hello@fancy.com',NULL);\nINSERT INTO companies VALUES('fanplayr','Fanplayr','\"Fanplayr is the leader in targeted real-time ecommerce offers. By harnessing the power of Big Data, Fanplayr’s ‘Smart & Targeted Conversions’ enables marketers to identify, profile and target visitors with customized offers in real-time during the shopping experience. Fanplayr has headquarters in Palo Alto, California.ta\"','https://www.fanplayr.com/wp-content/uploads/2014/04/Fanplayr-Privacy-Feb-2014.pdf','https://www.fanplayr.com/','3556',NULL,'privacy@fanplayr.com',NULL);\nINSERT INTO companies VALUES('fastly','Fastly',NULL,'https://www.fastly.com/privacy','https://www.fastly.com/','5338','US',NULL,NULL);\nINSERT INTO companies VALUES('fastpic','FastPic',NULL,NULL,'http://fastpic.ru/','5339',NULL,NULL,NULL);\nINSERT INTO companies VALUES('feedbackify','Feedbackify','\"Protect your brand by being the first to know about problems with your website. Gather ideas and suggestions from your most valuable asset, your visitors. Measure and improve visitor satisfaction by continuously listening.\"','https://www.feedbackify.com/privacy.php','https://www.feedbackify.com/','1867','US',NULL,NULL);\nINSERT INTO companies VALUES('feedify','Feedify','\"feedify centralized, distributed and automatically optimizes product data feeds for hundreds of distribution channels such as price comparison portals, marketplaces and Affiliates. The clear analysis shows at a glance which products achieve what platform win.\"','https://feedify.net/privacy','https://feedify.net/','3654',NULL,'info@feedify.de',NULL);\nINSERT INTO companies VALUES('feedjit','Feedjit','Feedjit makes a real-time live traffic feed that lets you see who is visiting your blog or website in real-time. Feedjit also offers a commercial real-time traffic product that provides detailed statistics on individual page views.','http://feedjit.com/static/TOS.html','http://feedjit.com/','70','US','support@feedjit.com',NULL);\nINSERT INTO companies VALUES('feedperfect','FeedPerfect','FeedPerfect is an e-commerce solution for Comparison Shopping Engines (CSE). It is analytics marketing tool to manage and optimize clients CSE data in one interface. FeedPerfect is a product of SolidCactus e-commerce platform.','http://www.feedperfect.com/privacy-policy.php','http://www.feedperfect.com/','1167','US','info@feedperfect.com',NULL);\nINSERT INTO companies VALUES('feefo','Feefo','\"Feefo is working hard to be the world''s most trusted supplier of ratings and reviews registered for merchants and to consumers.Our ValuesFeefo is grounded on five values that underpin our approach to delivering a great service:Genuine - there is so much press about fake reviews; our process simply does not allow for this.Leaders - through our platform, our ratings and reviews and our insight into consumer behaviour, we are leaders in the field of ratings and reviews.User friendly - in all our touch points, whether as a merchant or a consumer, we want to give you the best experience.Impartial - because we are independent of retailers, we will not shy away from negative reviews! What you see through Feefo is genuine, impartial feedback.Fun - whenever you come in to contact with us, our staff, office or system, we want you to have had a pleasant experience, in fact, meet us in person and we will have fun!Our JourneyFeefo''s concept was first identified in 2006 - it became evident that the feedback system on eBay was a vital ingredient in its success. It was quickly thought that all businesses with an online presence could benefit from feedback. In 2010 Feefo Holdings Limited was created, transforming a concept in to the award-winning platform that has become recognised around the world.From our HQ in Petersfield, Hampshire, Feefo''s team designs, develops and supports the Feefo platform, which is now responsible for sending hundreds of thousands of feedback requests every week.\"','http://www.feefo.com/web/en/us/privacy','http://www.feefo.com/web/en/us/','4229',NULL,'amendfeedback@feefo.com',NULL);\nINSERT INTO companies VALUES('fidelity_media','Fidelity Media','\"Fidelity Media is an advertising network which provides optimal solutions to digital media publishers, marketers, brands, agencies, and networks.\"','http://fidelity-media.com/about/privacy-policy/','http://fidelity-media.com/','3115',NULL,'privacy@fidelity-media.com',NULL);\nINSERT INTO companies VALUES('fifth_story','Fifth Story',NULL,NULL,'https://fifthstory.com/','5340',NULL,NULL,NULL);\nINSERT INTO companies VALUES('fiftypoint6','FiftyPoint6','FiftyPoint6 is a UK-based company with two brands: 506 and Workshopedia. 506, a certified Shopify Partner, creates apps to improve e-commerce store performance. Workshopedia offers in-depth tool reviews, home project guides, and resources for home improvement.',NULL,'https://www.fiftypoint6.com/','','GB',NULL,NULL);\nINSERT INTO companies VALUES('fileserve','FileServe',NULL,NULL,'http://fileserve.com/','5341',NULL,NULL,NULL);\nINSERT INTO companies VALUES('fimalac_group','Fimalac Group',NULL,NULL,'https://www.fimalac.com/','5342',NULL,NULL,NULL);\nINSERT INTO companies VALUES('financeads_gmbh_&_co._kg','FinanceAds GmbH & Co. KG','financeAds International GmbH is an international affiliate network with a focus on the financial sector. The company was founded as a joint venture between FinLeap GmbH in Berlin and financeAds GmbH & CO. KG in Nuremberg and is led by co-founder and CEO, Hakan Özal. financeAds International helps financial service providers to market their products and services online. The company has a transaction-based pricing model and extends the financeAds offering from Germany to the Netherlands, Belgium, France, Spain, Italy and Poland.','https://www.financeads.com/uk-en/aboutus/dataprotection/','https://www.financeads.net/','4142',NULL,'international@financeads.com',NULL);\nINSERT INTO companies VALUES('financial_content','Financial Content','FinancialContent is a provider of financial and business news as well as content syndication services. It provides content management solutions to banks, credit unions, financial portals, and internet media firms. The company integrates financial data and tools (widgets, APIs) into web sites and corporate intranets.','http://www.financialcontent.com/privacy.php','http://www.financialcontent.com','646','US','info@financialcontent.com',NULL);\nINSERT INTO companies VALUES('findologic','Findologic','FINDOLOGIC is the search solution for your online shop! Let your customers quickly find what they are looking for on all devices! Because only what customers find, they also buy.','https://www.findologic.com/datenschutz/','https://www.findologic.com/','5028',NULL,'office@findologic.com',NULL);\nINSERT INTO companies VALUES('first_impression','First Impression','We understand the challenges publishers and ad networks face when trying to tailor ad placements for every page and user. We founded FirstImpression in 2013 with the goal of creating a platform that offers an easy, flexible, and super-quick solution to create and manage any type of ad placement in seconds - a technology that would make online advertising easier, better for the user, and more profitable. Each of our team members brings something unique and valuable that is enabling us to accomplish this goal.','https://admin.firstimpression.io/privacy-policy.php','http://www.firstimpression.io','3190',NULL,'info@firstimpression.io',NULL);\nINSERT INTO companies VALUES('fiserv','Fiserv','Fiserv provides financial technology and services to clients across the financial services sector, including banks, thrifts, credit unions, securities broker dealers, mortgage, insurance, leasing and finance companies, and retailers.','https://www.fiserv.com/en/about-fiserv/privacy-notice.html','https://www.fiserv.com/','','US','dpo@fiserv.com',NULL);\nINSERT INTO companies VALUES('fit_analytics','Fit Analytics','\"UPcload has one of largest databases of body measurements in the world. Using this data, we’re able to give size recommendations and provide detailed fit information.\"','http://www.fitanalytics.com/files/Privacy_Policy_DE-EN_FitA.pdf','http://www.fitanalytics.com/','3351',NULL,'contact@upcload.com',NULL);\nINSERT INTO companies VALUES('five_media','Five Media','Five Media Marketing Limited, based in Nicosia, Cyprus, specializes in content marketing, SEO, and social media promotion. They also operate GeoEdge, offering ad security and quality solutions for digital advertising.','https://www.geoedge.com/privacy-policy/','https://five.media/','','CY','Privacy@geoedge.com',NULL);\nINSERT INTO companies VALUES('fiverr','Fiverr','Fiverr is an online marketplace based in Israeli. It connects freelancers (sellers) with people or businesses (buyers) who want to hire them. It offers different services in a free market setup.','https://www.fiverr.com/legal-portal/privacy/privacy-policy?source=footer','https://www.fiverr.com','','IL','privacy@fiverr.com',NULL);\nINSERT INTO companies VALUES('fivetran','Fivetran','Fivetran technology helps analysts replicate data into a cloud warehouse.','https://fivetran.com/privacy','https://fivetran.com/','5343','US','privacy@fivetran.com',NULL);\nINSERT INTO companies VALUES('flag_ads','Flag Ads','\"Flagads.net has been a leading pop under/up Advertising and Affiliate Network since our inception in 2011. As a pop under/up network who is dedicated to value and service for online businesses, Flagads provides thousands of Web entrepreneurs with an economical and measurable opportunity to obtain Internet traffic and generate revenue through their online presence.\"','http://www.flagads.net/privacy.php','http://www.flagads.net/','2379',NULL,'admin@flagads.net',NULL);\nINSERT INTO companies VALUES('flag_counter','Flag Counter','\"Add our free counter to any webpage and collect flags from all over the world. Every time someone from a new country visits your site, a flag will be added to your counter...Clicking on your Flag Counter will reveal amazing information and charts!\"','http://flagcounter.com/privacy.html','http://flagcounter.com/','1680','US',NULL,NULL);\nINSERT INTO companies VALUES('flashtalking','Flashtalking','Flashtalking is a UK based independent provider of rich media & video ad serving. They build tools to enable creative agencies to design engaging and effective advertising campaigns for global client lists. Flashtalking technology uniquely allows agencies to create high quality video and smaller video files for seamless ad delivery using innovative video and rich media effects.','http://www.flashtalking.com/privacypolicy/','http://www.flashtalking.com/','442','GB',NULL,unistr('Ref: https://en.wikipedia.org/wiki/Mediaocean\\u000aIn July 2021, Mediaocean announced the acquisition of advertising server company Flashtalking'));\nINSERT INTO companies VALUES('flattr','Flattr','\"Flattr is the worlds first social micro-payment system...Flattr was founded to help people share money, not just content.\"','https://flattr.com/privacy','https://flattr.com/','1367','GB',NULL,NULL);\nINSERT INTO companies VALUES('flexoffers.com','FlexOffers.com','\"FlexOffers.com is an affiliate marketing network that provides original product review content for publishers and full compliance monitoring for advertisers - and expands those services into a multitude of product verticals. FlexOffers.com provides publishers access to a variety of financial affiliate programs to top affiliate programs in nearly every vertical - from shopping, to telecommunications, to health and wellness.\"',NULL,'https://www.flexoffers.com/','3211',NULL,NULL,NULL);\nINSERT INTO companies VALUES('flipboard','Flipboard','Flipboard is a social magazine that is available for the Web, iOS, Android, Windows 10, and Windows Phone.','https://about.flipboard.com/privacy/?noredirect=en_US','https://flipboard.com/','2067','US','privacy@flipboard.com',NULL);\nINSERT INTO companies VALUES('flite','Flite','\"Efficient, scalable, and cross-platform, Flite is the only SaaS ad platform powering both web and mobile advertising. Marketers use the self-service Flite Platform to reduce the complexity and cost of delivering differentiated ad products that engage audiences.\"','http://flite.com/privacy-policy/','http://flite.com/','2602',NULL,'support@flite.com',NULL);\nINSERT INTO companies VALUES('flixmedia','Flixmedia','\"\"Flixmedia was born out of my frustration in trying to buy a stereo online from a retailer back in 2004. With just a tiny, blurred photo and 2 bullet points of text, I couldn’t really see the product, how it worked or what came with it.I had the idea to use all the fantastic information and assets on the manufacturer’s own website. It was a win for everyone – the shopper, the retailer and the brand. I quit my job that week, and Flixmedia was born. Our mission was – and still is today – to help brands and retailers sell more.\"','https://flixmedia.eu/privacy-notice','https://flixmedia.eu','5242',NULL,'international.team@ico.org.uk',NULL);\nINSERT INTO companies VALUES('flocktory','Flocktory','Flocktory is the complete platform for the entire customer lifecycle, trusted by leading global e-commerce, retail, banking, travel and telecommunications businesses.',NULL,'https://www.flocktory.com/','4685',NULL,NULL,NULL);\nINSERT INTO companies VALUES('flowbox','Flowbox','Flowbox is a user generated content platform to help brands leverage and distribute social content throughout the buyer journey. Customers are able to collect, moderate and publish content to their website, online shop and social channels.','https://getflowbox.com/privacy-policy/','https://getflowbox.com','','SE','legal@getflowbox.com',NULL);\nINSERT INTO companies VALUES('flowplayer','FlowPlayer','Our mission is to build the best system for online video. No matter whether you are an enterprise, small business or an individual blogger.','https://flowplayer.org/about/privacy-policy.html','https://flowplayer.org/','4848',NULL,NULL,NULL);\nINSERT INTO companies VALUES('fluct','Fluct','\"adingo is a leading solution company for full support of monetization of internet media traffic. Our company was established on June 2008 on the background of growing demand in display advertising market. As a wholly owned subsidiary of VOYAGE GROUP Inc., our aim is to expand the advertisement supporting business.\"','https://corp.fluct.jp/privacy/','https://corp.fluct.jp/en/','1418','JP','privacy@fluct.jp',NULL);\nINSERT INTO companies VALUES('fluent','Fluent','HELLO, WE''RE FLUENTHere at Fluent, we''re creating a different kind of advertising technology company. Rather than bombarding consumers with ads, our platform has a conversation with them – literally – and only connects people to the brands and offers that they tell us they want to see. That spells a better digital advertising experience for consumers, profit for our advertisers, and a powerful revenue stream for our partners.','http://www.fluentco.com/privacy/','http://www.fluentco.com/','4391',NULL,NULL,NULL);\nINSERT INTO companies VALUES('fluid','Fluid','\"Everything we do comes down to one thing: turning shoppers into buyers. It''s about much more than ''conversion'' - it’s about creating head turning, heart stopping moments. It''s about getting into shoppers minds. It’s about understanding what’s possible and going a step beyond.Our 3 core competencies — strategy, design and technology — fuse together to create commerce experiences and software that transform digital shopping from ''a channel'' to an integral part of every consumer journey and mindset. Fluid is at the heart of digital shopping. A heart that is emotional, rational, functional, magical and beating strong.\"','http://www.fluid.com/privacy-policy','http://www.fluid.com/','2619',NULL,NULL,NULL);\nINSERT INTO companies VALUES('fluidads','FluidAds','\"We''re an ad technology company that believes a little bit of software combined with a rich marketplace of supply and demand can build a powerful business and enhance the entire advertising ecosystem for publishers and advertisers.\"','http://www.fluidads.co/privacy','http://www.fluidads.co/','2895',NULL,'support@fluidads.co',NULL);\nINSERT INTO companies VALUES('fluidware','Fluidware','\"FluidSurveys is a do-it-yourself online survey tool that is meant to allow customers from around the world to create their own surveys, collect data from respondents, and analyze results.\"FluidSurveys is a product of Fluidware, Inc.','http://fluidsurveys.com/about/privacy','http://fluidsurveys.com/','2687',NULL,'support@FluidSurveys.com',NULL);\nINSERT INTO companies VALUES('flxone','FlxOne','\"We distil the advertising world’s most advanced technologies into easy-to-use tools that put buyers and sellers back in the driver’s seat. Our solutions cut through the digital clutter – giving you greater transparency, razor-sharp targeting and unparalleled insights to make the right decisions every step of the way.\"',NULL,'http://www.flxone.com/','2710',NULL,NULL,NULL);\nINSERT INTO companies VALUES('flyertown','Flyertown','\"Flyertown enables consumers to interact with digital flyers...Users can pan across flyers and zoom into specific products, use filters to find items by discount level or category, and browse across multiple flyers to find the best deal on one or more items.\"',NULL,'https://www.flyertown.ca/','2624',NULL,'privacy@wishabi.com',NULL);\nINSERT INTO companies VALUES('fm_adserving','FM Adserving','\"A traditional ad system focuses exclusively on banner settlement and statistics. Online publishers therefore misses a higher income. Proadmin is an innovative solution that supports your entire online business which will result in time savings of action and higher ad revenue.\"Translated by Google Translate',NULL,'http://www.fmadserving.dk/','3151',NULL,'sioo@fmadserving.dk',NULL);\nINSERT INTO companies VALUES('fonbet','Fonbet','\"FONBET is a new brand well-known to all sports betting fans of the bookmaker FO.N.BC F.O.N. - the oldest and one of the largest bookmaker in Russia and on the territory of the former USSR. The bookmaker''s office FONBET (BC FONBET) accepts bets on sporting events in Russia and around the world in many sports: football, hockey, basketball, tennis, winter sports, chess and much more.The office was founded in Moscow, opening in the summer of 1994 its first point of acceptance of rates in the area of ​​the m. 1905. Starting almost from scratch, the staff of BC F.O.N. managed for several years to take a leading position in the bookmaker business in Russia. Qualified management and a responsible attitude to the business allowed the company to maintain its position in difficult times of financial crises, and successfully develop in favorable economic periods.\"','https://www.fonbet.kz/#!/pages/privacy-policy','https://www.fonbet.ru','5267',NULL,'admin@fonbet.kz',NULL);\nINSERT INTO companies VALUES('fonecta','Fonecta','\"Fonecta is the fastest growing media company in Finland and the market leader in directory services.\"','https://hyotytieto.fonecta.fi/fonectan-palvelut-kuluttajille/tietosuoja','https://www.fonecta.fi/','1505','FI','asiakaspalvelu@fonecta.com',NULL);\nINSERT INTO companies VALUES('foodie_blogroll','Foodie Blogroll','\"The largest food blogger network, offering brand engagement, revenue share and social media activation!\"','http://www.foodieblogroll.com/privacy','http://www.foodieblogroll.com','1628','US','support@FoodieBlogroll.com',NULL);\nINSERT INTO companies VALUES('force_marketing','Force Marketing','\"The results of a direct response campaign are exponentially more valuable when call tracking is used effectively. ForceTrac™ software from Force Marketing makes all the results of your direct response campaign absolutely transparent for you and your account manager.\"','https://forcemktg.com/privacy-policy/','https://forcemktg.com/','3501',NULL,'info@forcemktg.com',NULL);\nINSERT INTO companies VALUES('foresee_results','ForeSee Results','ForeSee Results provides market research consulting and surveys for measuring website satisfaction in the public and private sector. They use the University of Michigan''s American Customer Satisfaction Index methodology to predict online and offline purchase intent, loyalty and recommendations through consumer data collected through surveys. They offer identification and analysis services of site visitor segments.','https://www.foresee.com/about-us/privacy-policy/','https://www.foresee.com/','330','US','ForeSeePrivacy@answers.com',NULL);\nINSERT INTO companies VALUES('formassembly','FormAssembly','FormAssembly is a web form-building solution developed to help businesses build, design and manage web forms and surveys.','https://www.formassembly.com/privacy-policy/','https://www.formassembly.com/','','US','contact@formassembly.com',NULL);\nINSERT INTO companies VALUES('formisimo','Formisimo','Formisimo is a technology startup based in MediaCityUK in North West England. We''re a small team (eleven experts and growing) who want to make it easier for people to fill in online forms. That means providing data to help our customers make online checkouts, contact forms and any other online forms easier to complete.An online form is usually the last stage in a buying or interest process, after all you can''t buy from an ecommerce website until you navigate through their checkout. That’s why Formisimo is a business focused on improving this critical, complex stepOur team is supported by great advisors and investors: we''re backed by the North West Fund, Creative England and the \"first round fund\" Seedcamp. Among our advisors is non-executive director Keith Wallington who spent six years at Mimecast.','https://www.formisimo.com/privacy-policy','https://www.formisimo.com/','5108',NULL,NULL,NULL);\nINSERT INTO companies VALUES('forter','Forter','Forter is a software as a service (SaaS) company that unifies identity protection, payments optimization and fraud prevention in a single consumer authentication platform. The company''s technology applies artificial intelligence and machine learning to pinpoint the identity behind any digital commerce interaction. This ensures that good consumers can complete their transactions, while fraudsters and serial abusers are blocked.','https://www.forter.com/privacy-security-hub/','https://www.forter.com/','5177','IL','privacy@forter.com',NULL);\nINSERT INTO companies VALUES('fouanalytics','FouAnalytics','FouAnalytics (also known as Marketing Science Consulting Group) is a digital strategy consulting firm that helps clients detect and measure fraudulent traffic in digital advertising campaigns. The company uses a proprietary analytics platform and offers services such as digital campaign audits and fraud detection. FouAnalytics is led by Dr. Augustine Fou and provides clients with insights into the sources of fraudulent traffic and the characteristics of the bots themselves.','https://fouanalytics.com/privacy','https://fouanalytics.com/','','US',NULL,NULL);\nINSERT INTO companies VALUES('foursquare','Foursquare','\"foursquare makes the real world easier to use. We build tools that help you keep up with friends, discover what''s nearby, save money and unlock deals.\"','https://foursquare.com/legal/privacy','https://foursquare.com/','1633','US','privacy@foursquare.com',NULL);\nINSERT INTO companies VALUES('fox_audience_network','FOX Audience Network','FOX Audience Network (FAN) offers an online marketplace for buying and selling digital advertising. They develop and manage advertising platforms that provide data regarding lifestyles, passions and purchase behaviors of individuals. It also offers audience targeting and advertising solutions. Fox Audience Network is owned by Rubicon Project.','https://www.rubiconproject.com/privacy/','http://www.rubiconproject.com/','123','US','privacy@rubiconproject.com',NULL);\nINSERT INTO companies VALUES('fox_news','Fox News Network, LLC',NULL,'http://www.foxnews.com/privacy-policy.html','http://www.foxnews.com/','5344',NULL,NULL,NULL);\nINSERT INTO companies VALUES('foxpush','FoxPush','Our platform was designed with two goals in mind: to simplify the process of creating and sending push notifications and to provide the most sophisticated audience-targeting capacity possible. We’ve taken all of the design work out of your hands, so all you have to do is copy and paste one line onto your website to start signing up subscribers and sending push notifications.As a technology firm, we recognize the importance of keeping up with the changing environment. We are the leaders in our field, committed to providing our clients with the most nuanced data and targeting abilities. We’re constantly adding new features, so check back often to see what’s new.','https://www.foxpush.com/privacy_policy.html','https://www.foxpush.com/','4762',NULL,NULL,NULL);\nINSERT INTO companies VALUES('framer','Framer','Framer is a cloud-based website development platform that allows designers and teams to create, collaborate on, and publish websites. Founded in 2014, it is based in Amsterdam, Netherlands, and is known for its design and prototyping tools.','https://www.framer.com/legal/privacy-statement/','https://www.framer.com/','','NL','compliance@framer.com',NULL);\nINSERT INTO companies VALUES('fraud0','fraud0','fraud0 specialises in bot detection and marketing intelligence, helping businesses eliminate ad fraud, fake clicks, and low-quality traffic from digital campaigns using real-time machine learning for cleaner analytics and better ROI.','https://www.fraud0.com/privacy-policy/','https://www.fraud0.com/','','DE','support@fraud0.com',NULL);\nINSERT INTO companies VALUES('freakout','FreakOut','FreakOut is a Japanese RTB (Real-time bidding) demand side platform.','https://js.fout.jp/info/privacy.html','https://www.fout.co.jp/','1047','JP','privacy@fout.jp',NULL);\nINSERT INTO companies VALUES('free_counter','Free Counter',NULL,NULL,'http://www.statcounterfree.com/','3523',NULL,NULL,NULL);\nINSERT INTO companies VALUES('free_online_users','Free Online Users','Free Online Users is a web tracking and analysis tool that provides real-time web stats. Website owners insert a piece of code into their website enabling them to analyze and monitor their visitors.','http://www.freeonlineusers.com/privacy.html','http://www.freeonlineusers.com','973','US','webmaster@freeonlineusers.com',NULL);\nINSERT INTO companies VALUES('free_pagerank','Free PageRank','Free-PageRank.com is a tool for webmasters to know and post PageRank on their pages without the use of toolbars.',NULL,'http://www.free-pagerank.com/en/','1087','US',NULL,NULL);\nINSERT INTO companies VALUES('freedom_mortgage','Freedom Mortgage','Freedom Mortgage is a full-service mortgage lender with strong customer service and a unique streamlined process.','https://www.freedommortgage.com/privacy-policy','https://www.freedommortgage.com/','5345','US',NULL,NULL);\nINSERT INTO companies VALUES('fresh_8_gaming','Fresh 8 gaming','We are a technology company delivering software as a service solutions which deliver efficiency and increased profitability to the sports betting industry with our marketing automation technology.We work with the world''s leading gambling operators to deliver fully automated and personalised multi-format display campaigns that increase our clients'' customer acquisition, whilst improving the retention of their existing users.','http://fresh8gaming.com/privacy-policy.html','http://fresh8gaming.com/','5110',NULL,NULL,NULL);\nINSERT INTO companies VALUES('freshdesk','Freshdesk','\"Freshdesk is a web based customer support platform...with email to ticket conversion, self-service portal, knowledge base, multi product support, SLAs and a host of other impressive features.\"','https://freshdesk.com/privacy','https://freshdesk.com/','1866','US','privacy@freshdesk.com',unistr('Freshdesk rebranded as Freshworks June 2017:\\u000ahttps://www.freshworks.com/company-culture/freshworks-story-blog/\\u000a\\u000aFreshdesk is now a product, rather than the org.'));\nINSERT INTO companies VALUES('freshplum','Freshplum','\"Freshplum’s goal is to bring the decision-making power of data science to companies who sell goods and services electronically. Freshplum''s Targeted Promotions is a comprehensive solution built to help retailers maximize conversion among visitors unlikely to buy.\"',NULL,'https://freshplum.com/','2618',NULL,NULL,NULL);\nINSERT INTO companies VALUES('freshrelevance','Fresh Relevance','Fresh Relevance, part of Dotdigital, is a personalization platform that helps commerce-driven businesses deliver customized experiences across multiple channels, including websites, apps, emails, SMS, and ads. The platform integrates with existing technology stacks and offers personalized customer experiences, with a focus on saving time and resources for businesses.','https://www.freshrelevance.com/legal/privacy-policy/','https://www.freshrelevance.com/','','GB','hello@freshrelevance.com',NULL);\nINSERT INTO companies VALUES('freshworks','Freshworks','Freshworks Inc. provides cloud-based tools for customer relationship management (CRM), IT service management (ITSM), and e-commerce marketing.','https://www.freshworks.com/privacy/','https://www.freshworks.com/','','US','dpo@freshworks.com',NULL);\nINSERT INTO companies VALUES('friendbuy','FriendBuy','\"Launch your referral program quickly and easily with lightweight code snippets to get your referral program live.For advanced workflows and custom use cases, take advantage of our APIs and event-based triggers, complete with comprehensive developer documentation. Friendbuy’s integration partners can support automated reward payouts, centralized data warehousing, and will fit virtually any marketing strategy.Our best-in-class onboarding team will help you get your program up and running— and ready for peak performance.\"','https://www.friendbuy.com/privacy/','https://www.friendbuy.com','5219',NULL,'legal@friendbuy.com',NULL);\nINSERT INTO companies VALUES('friendfinder_networks','FriendFinder Networks','FriendFinder Networks is an Internet-based social networking company. Their sites'' services include social networking, online personals, live and recorded video, online chat rooms, instant messaging, photo and video sharing, blogs, message boards, email and premium content websites. FriendFinder Networks licenses the Penthouse brand to consumer product companies and entertainment venues, and publishes branded men''s lifestyle magazines.','https://www.ffn.com/privacypolicy','https://www.ffn.com/','904','US','privacy@ffn.com',NULL);\nINSERT INTO companies VALUES('frodx','FrodX','\"We are digital transformation consultants who use a well-tested model for implementing changes in your business operations. The internet and digitalization have changed people’s buying habits. We help you adapt your marketing, sales, and product development to these changes.\"','https://en.frodx.com/personal-data-protection-policy/','https://en.frodx.com','5237',NULL,'office@frodx.com',NULL);\nINSERT INTO companies VALUES('frosmo','Frosmo','Frosmo provides AI-driven personalization strategies that optimize each step of the customer journey across all channels.','https://frosmo.com/privacy-policy/','https://frosmo.com/','2361','FI','support@frosmo.com',NULL);\nINSERT INTO companies VALUES('fuelx','Fuelx','\"We built our video advertising technology because we believe in youand in helping you grow your business.Video Ads.On every screen.FuelX networks lead the ComScore Top 100 Video properties, serving billions of video impressions everyday across devices.FuelX ads are targeted, highly viewable and serve in premium, large players.\"','http://fuelx.com//privacy-policy/','https://fuelx.com/','4234',NULL,'legal@fuelx.com',NULL);\nINSERT INTO companies VALUES('fullstory','fullstory','FullStory is a customer experience data app that captures customer experience data in one platform. Its script unlocks session playback, automatic insights, funnel analytics, and robust search and segmentation empowering an organization to build an online experience for customers.','https://www.fullstory.com/legal/privacy/','http://fullstory.com','4100','US','privacy@fullstory.com',NULL);\nINSERT INTO companies VALUES('funnel','Funnel','Funnel is a cloud based marketing and predictive analytics platform. It is a provider of data aggregation that enables marketers to integrate and analyze data from multiple sources, providing a unified view of their marketing performance.','https://funnel.io/privacy','https://funnel.io','','SE','privacy@funnel.io',NULL);\nINSERT INTO companies VALUES('funnelfuel','FunnelFuel','FunnelFuel is a B2B marketing technology company that provides a data-driven platform for demand generation, focusing on Account-Based Marketing (ABM), audience analytics, lead generation, and programmatic advertising.','https://funnelfuel.io/legal-pages/privacy-policy/','https://funnelfuel.io/','','GB','info@funnelfuel.io',NULL);\nINSERT INTO companies VALUES('funnelytics','Funnelytics','\"MAP BETTER FUNNELSBuilt by digital marketers, for digital marketers.\"','https://funnelytics.io/privacy-policy/','https://funnelytics.io/','5202',NULL,NULL,NULL);\nINSERT INTO companies VALUES('fyber','Fyber','Fyber connects app developers and media companies with advertisers through the power of technology. Across every device. We are an independent advertising technology company devoted to delivering global audiences at scale through a powerful cross-platform monetization & advertising solution. Our SSP, Ad Server, Exchange and Mediation products empower thousands of the world’s leading app developers and publishers to generate business-critical revenue streams and serve over half a billion monthly active users globally.','https://www.fyber.com/legal/privacy-policy/','https://www.fyber.com/','2349',NULL,'pp@fyber.com',NULL);\nINSERT INTO companies VALUES('gabia','Gabia','\"Gabia is a cloud company located in Pangyo, Gyeonggi-do that provides a full range of services required for business IT, including IaaS-type cloud services, PaaS, and SaaS-type groupware solutions.\"','https://policy.gabia.com/policy_collect','https://gabia.com/','','KR','gprivacy@gabia.com',NULL);\nINSERT INTO companies VALUES('gainsight','Gainsight','Gainsight operates in the SaaS sector, offering solutions for customer success and product experience. Their platform and applications support clients in making data-driven decisions regarding customer interactions.','https://www.gainsight.com/policy/privacy/','https://www.gainsight.com/','','US','privacy@gainsight.com',NULL);\nINSERT INTO companies VALUES('game_advertising_online','Game Advertising Online','\"GAO is the large scale performance-focused advertising solution for online games. Our network reaches 500+ websites visited by millions of 15-35 year old affluent gamers. We offer transparent self-service tools, managed campaigns, and cutting-edge revenue tracking technology.\" Game Advertising Online is owned by United Business Media LLC.',NULL,'http://www.game-advertising-online.com/','1864',NULL,'privacyrequests@ubm.com',NULL);\nINSERT INTO companies VALUES('gamerdna_media','GamerDNA Media','\"GamerDNA Media is a digital advertising firm that represents the top gaming sites, delivering views and visibility to the largest reach of a key demographic of grassroots trend-setters: Hard-core gamers.\"',NULL,'https://www.gamerdnamedia.com/','1485','US','contact@gamerdnamedia.com',NULL);\nINSERT INTO companies VALUES('gamesight','Gamesight','Gamesight Inc. empowers publishers and developers to build strong communities, engage the right influencers, and effectively measure performance.','https://gamesight.io/privacy-policy','https://gamesight.io/','','US','privacy@gamesight.io',NULL);\nINSERT INTO companies VALUES('gamifiera','Gamifiera','Developer of a community engagement platform designed to help in gamified loyalty and community functionality. The company''s platform offers to increase customer retention and stickiness, increase conversion, quality SEO and keeps online presence personal, interesting and relevant, enabling online retailers to make user experience engaging and satisfying with progress bars, levels and milestones.',NULL,'https://www.gamifiera.com/','','SE',NULL,NULL);\nINSERT INTO companies VALUES('gannett_digital_media_network','Gannett Digital Media Network','Gannett Digital Media Network is a network comprised of USAToday.com and the local sites of Gannett''s newspaper and broadcast properties, such as AZCentral.com and IndyStar.com. The network also makes use of Gannett''s PointRoll, a rich media advertising technology. Gannett Digital is a Gannett company property.','http://www.gannett.com/privacy-notice/','https://www.gannett.com/','76','US','digitalinfo@gannett.com',NULL);\nINSERT INTO companies VALUES('gazprom-media_digital','Gazprom-Media Digital','\"The company Gazprom-Media Digital was founded in October 2011. Today the company is the largest seller of video advertising in RuNet and a recognized expert in the field.\"\"Gazprom-Media Digital offers advertisers placing video in various formats in a pool of major Internet video resources including: Rutube, TNT-Online.ru, Dom2, Rambler & Co, Megogo.ru, Friday, TV3, 2x2, NTV, NTV, Karaoke.ru, Newstube.ru, Invideo Network, Look At media , Sportbox.ru, KHL, MATCH TV, Coub.com, Slon.ru, Planeta-Online , Sibnet, around the TV, Echo of Moscow, Red media TV. Also, Gazprom-Media Digital became the exclusive seller of advertising video social network VKontakte and features exclusive partner content distribution platform Pladform.\"',NULL,'http://www.gpm-digital.com/','2804',NULL,NULL,NULL);\nINSERT INTO companies VALUES('gb-world','GB-World','\"GB-World.net is a blog with the target to keep its user up-to-date of the social media world. Give you interesting links and videos all about social media and web 2.0. We also develop Wordpress-Plugins like ''Like-Button-Plugin-For-Wordpress.\"',NULL,'https://www.gb-world.net/','1330','US',NULL,NULL);\nINSERT INTO companies VALUES('gdeslon','GdeSlon','\"Affiliate Network \"Where elephant?\" Is the technology platform that connects advertisers and partners. Online shopping, banks, insurance and other companies, we offer the opportunity to conduct online advertising campaigns with pay-per-action or per sale. Webmasters, bloggers and affiliate marketing professionals receive tools selection and placement of advertising offers.\"Translated by Google Translate',NULL,'https://www.gdeslon.ru/','2956',NULL,'info@gdeslon.ru',NULL);\nINSERT INTO companies VALUES('geeen','Geeen','1, Ad platform2, Planning, development and sale of Internet advertisement related software3, Digital marketing support business4, Paid employment introduction business','https://www.geeen.co.jp/privacypolisy.html','https://www.geeen.co.jp/','5131',NULL,'info@geeen.co.jp',NULL);\nINSERT INTO companies VALUES('gemius_sa','Gemius SA','Gemius is a Poland based international marketing company. They provide a wide range of internet marketing tools  to brand name clients throughout Eastern Europe. Gemius supplies data on Internet users'' behavior (gemiusTraffic), internet audience profiles (gemiusProfile) or online advertising campaign effectiveness (gemiusEffect). GemiusAudience provides measurement of online audiences for media planners, buyers and sellers.','https://www.gemius.com/cookie-policy.html','https://www.gemius.com/homepage.html','381','PL','privacy@gemius.com',NULL);\nINSERT INTO companies VALUES('genesis_media','Genesis Media','\"We’ve created a new monetization platform for premium publishers, allowing viewers to use their attention as a means of payment for content and services. Acting as a \"soft paywall,\" Genesis Media invites publishers to quickly and easily lock all or portions of their digital content. Then, utilizing our proprietary patented audience targeting capabilities, each site visitor is evaluated and real-time decisioning is conducted to determine the visitor''s value to the publisher, whether content should be locked, and which ad to present to them for maximum engagement and monetization.\"','https://genesismedia.com/privacy-policy','https://genesismedia.com/','3017',NULL,'legal@genesismedia.com',NULL);\nINSERT INTO companies VALUES('genesys','Genesys','Genesys Cloud Services, Inc. (Genesys), formerly Genesys Telecommunications Laboratories, Inc., is an American software company that sells customer experience and call center technology.','https://www.genesys.com/company/legal/privacy-policy','https://www.genesys.com/','','US','DataPrivacy@genesys.com',NULL);\nINSERT INTO companies VALUES('genius','Genius','Genius.com, is a provider of marketing automation and demand generation solutions that enable marketing and sales users to identify and connect with their best prospects. Customers use Genius solutions to automate email marketing and lead- nurturing campaigns that deliver leads to frontline sales reps, so they can immediately follow-up on these opportunities.','https://genius.com/static/privacy_policy','http://www.genius.com/','221','US','support@genius.com',NULL);\nINSERT INTO companies VALUES('genius_monkey','Genius Monkey','Genius Monkey are the developers of a programmatic advertising and tracking platform for display, video, OTT, native, audio, social & retargeting.','https://geniusmonkey.com/privacy/','https://geniusmonkey.com/','','US','opt-out@geniusmonkey.com',NULL);\nINSERT INTO companies VALUES('genoo','Genoo','Genoo, LLC, a Software as a Service (SaaS) offering targeted at Small-to-Midsize businesses, bringing an affordable yet full featured set of online marketing tools, including marketing automation, that enables companies to generate more leads, nurture them, and convert them into customers.','https://www.genoo.com/privacy-policy','https://www.genoo.com/','3652',NULL,NULL,NULL);\nINSERT INTO companies VALUES('geoads','GeoAds','GeoAds is an online advertising, marketing, and traffic monetization platform. Their network delivers consumer traffic from a broad spectrum of search networks, contextual displays, domains, and web publishers. They provide our advertisers and publishers with high-quality, targeted traffic to drive sales and conversions.','http://geoads.com/privacy-policy.aspx','http://www.geoads.com','817','US','n/a',NULL);\nINSERT INTO companies VALUES('geolify','Geolify',NULL,'https://geolify.com/privacy-policy/','http://geolify.com/','5051',NULL,'contact@geolify.com',NULL);\nINSERT INTO companies VALUES('geoplugin','geoPlugin','\"geoPlugin is a free and easy webmaster resource to provide geolocation technology to your pages.\"',NULL,'http://www.geoplugin.com/','1883','US',NULL,NULL);\nINSERT INTO companies VALUES('geovisite','Geovisite','\"Geolocation is a tracking and mapping procedure which allows an internet users geographic location. Your visitor is identified when accessed at your blog , forum or internet site.\"',NULL,'http://www.geovisite.com/','1888','US',NULL,NULL);\nINSERT INTO companies VALUES('gestionpub','GestionPub','GestionPub is a French advertising network, and provides a tool for advertisers to manage and optimize their online advertising.','http://www.gestionpub.com/notice-legale-adoptima.html','http://www.gestionpub.com/','1148','US',NULL,NULL);\nINSERT INTO companies VALUES('get_satisfaction','Get Satisfaction','Get Satisfaction is a third-party customer service app/community that allows customers to offer feedback, make suggestions, ask questions, and generally get help with a product or service.  Get Satisfaction is a way to build online communities that enable conversations between companies and their customers.','https://getsatisfaction.com/corp/privacy-policy/','https://getsatisfaction.com/corp/','77','US','legal@getsatisfaction.com',NULL);\nINSERT INTO companies VALUES('get_smart_content','Get Smart Content','\"No matter the consumer’s interest or intent, you probably show the exact same content and calls to action to everyone. In other words, you made a relevant and valuable connection offsite and then did not continue the individual conversation on your website – where it matters most. In this current scenario, you lose the opportunity to engage your customers and build business.We built Smart Content to connect this disconnect, to let you serve the most effective content to a site visitor...\"','https://www.getsmartcontent.com/company/policies/privacy-policy/','http://www.getsmartcontent.com','2133',NULL,'contact@getsmartcontent.com',NULL);\nINSERT INTO companies VALUES('getconversion','GetConversion','\"GetConversion helps you to build a monetized layout with turnkey premium design presets, and to get better using the split test engine.\"','http://my.getconversion.net/privacy-policy','http://www.getconversion.net/','2779',NULL,'contact@GetConversion.net',NULL);\nINSERT INTO companies VALUES('getintent','GetIntent','\"Getintent. AI-powered bidder, service powered by people.Getintent is the platform that fuels programmatic business. The Getintent highly customizable AI-powered programmatic suite empowers agencies, ad networks and publishers with an essential tool to grow their programmatic revenues.\"','https://getintent.com/privacy/','http://www.getintent.com/','3163',NULL,'privacy@getintent.com',NULL);\nINSERT INTO companies VALUES('getresponse','GetResponse','“We are a multinational team of tech geeks. Among us, you’ll find experts in various fields who stay creative and open to new knowledge and experiences. That’s why we have been successful in conquering markets all over the world for more than fifteen years.”','https://www.getresponse.com/legal/privacy.html','https://www.getresponse.com/?marketing_gv=v2','4454',NULL,NULL,NULL);\nINSERT INTO companies VALUES('getsitecontrol','GetSiteControl','GetSiteControl is an easy-to-use set of smart widgets for website optimization. It lets a website owner quickly add elements that engage website visitors and help to increase conversions. With average visitors spending less than a minute on a website, it is important to make sure they see the most important content right away and encourage them to stay longer and engage more with the website. That’s what GetSiteControl is for.','https://getsitecontrol.com/privacy/','https://getsitecontrol.com/','4817',NULL,NULL,NULL);\nINSERT INTO companies VALUES('gfk_nurago','GfK Group','We are your partner for Digital Brand Leadership, User Experience and media planning Optimisation. With our deep understanding of the digital world in combination with methodical expertise, we can support you in the optimisation of your digital touch points. We do this by combining data about consumer behaviour and attitudes in a truly unique way. This powerful combination of behaviour and attitudes is made possible by our flexible research technology platforms; through which nurago sets market standards and provides extremely efficient and effective research services to our clients.','https://sensic.net','https://www.gfk.com/','1097','US','nurago@gfk.com',NULL);\nINSERT INTO companies VALUES('gg_software','GG Software LLC','Crafting advanced video game tools for today''s gamer.',NULL,'https://ggsoftware.io/','5346',NULL,NULL,NULL);\nINSERT INTO companies VALUES('giant_realm','Giant Realm','Giant Realm is an online media company that helps marketers to reach the male 18-34 demographic. GiantRealm.com and its publisher group deliver authentic content and community for enthusiasts of entertainment platforms including video games, film/TV and humor. Giant Realm is a division of Burst Media.','http://www.giantrealm.com/privacy','http://corp.giantrealm.com/','401','US','n/a',NULL);\nINSERT INTO companies VALUES('giftconnect','GiftConnect','Gift Connect gives advertisers and publishers across any media platform the ability to distribute branded gifts to consumers.','https://consumable.com/privacy-policy.html','http://www.giftconnect.co/','5347','US','info@giftconnect.com',NULL);\nINSERT INTO companies VALUES('giga','Giga',NULL,'https://gigaonclick.com','https://gigaonclick.com','5137',NULL,NULL,NULL);\nINSERT INTO companies VALUES('giosg','Giosg','Giosg combines live chat, chatbots, AI, and interactive content in one platform to help you connect with your customers.','https://www.giosg.com/privacy-policy','https://www.giosg.com/','4792','FI','support@giosg.com',NULL);\nINSERT INTO companies VALUES('github','GitHub, Inc.','\"Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software.\"','https://help.github.com/articles/github-privacy-statement/','https://github.com/','1618','US','privacy@github.com',NULL);\nINSERT INTO companies VALUES('gittip','Gittip','\"Gittip is a platform for sustainable crowd-funding. Use it to set up a weekly anonymous gift to someone you think does great work.\"','https://gratipay.com/about/policies/privacy','https://www.gittip.com/','2938',NULL,'chad@zetaweb.com',NULL);\nINSERT INTO companies VALUES('gizmodo','Gizmodo Media Group','Kinja empowers you to discuss the news you most care about by providing a consistent reading and discussion experience throughout the entire platform, including Gizmodo Media sites. You now have the power to curate conversation using the same tools our editors use!','https://legal-supplemental.kinja.com/privacy-policy-90190742','https://gizmodo.com/','5191',NULL,'legal@gawker.com',NULL);\nINSERT INTO companies VALUES('glad_cube_inc.','Glad Cube Inc.',NULL,'https://www.glad-cube.com/privacy.html','https://www.glad-cube.com/','4519',NULL,NULL,NULL);\nINSERT INTO companies VALUES('gladly_software','Gladly Software','Gladly Software, Inc. is the provider of a customer service platform powered by artificial intelligence. The platform focuses on customer engagement rather than ticket deflection. The AI is designed for customer experience teams, enabling them to manage brand voice, customer experience, and integrate product catalogs.','https://www.gladly.ai/privacy-policy/','https://www.gladly.ai/','','US','privacy@gladly.com',NULL);\nINSERT INTO companies VALUES('glassbox','Glassbox','Glassbox provides digital customer experience analytics for web and mobile apps.','https://www.glassbox.com/privacy-policy','https://www.glassbox.com','','IL','privacy@glassbox.com',NULL);\nINSERT INTO companies VALUES('glia','Glia','Glia is a customer service technology company that was founded in New York City in 2012. It provides a unified interaction management platform that enables businesses to connect with their customers through various channels, including chat, voice, video, and co-browsing. It is used by over 500 financial institutions.','https://www.glia.com/security-compliance/privacy-policy','https://www.glia.com/','','US','privacy@glia.com',NULL);\nINSERT INTO companies VALUES('global','Global','Global Media Group Services Limited is a major European outdoor media and commercial radio company. Its Digital Ad Exchange (DAX) platform provides digital audio advertising that connects advertisers with audiences.','https://global.com/legal/privacy-policy/','https://global.com','','GB','privacy@global.com',NULL);\nINSERT INTO companies VALUES('global_web_index','GlobalWebIndex','GlobalWebIndex is the world''s largest study on the digital consumer. Define granular target audiences and explore their digital lifestyles in detail.','https://www.globalwebindex.com/privacy','https://www.globalwebindex.com/','4670','GB','privacy@globalwebindex.com',NULL);\nINSERT INTO companies VALUES('globale','Global-e','Global-e is a UK company that specializes in cross-border e-commerce solutions, facilitating direct-to-consumer sales for retailers and brands worldwide. They offer a platform designed to simplify international online shopping, providing localized experiences, end-to-end operations management, and risk management.','https://www.global-e.com/privacy-policy/','https://www.global-e.com/','','GB','dpo@global-e.com',NULL);\nINSERT INTO companies VALUES('globaltakeoff','GlobalTakeoff','GlobalTakeoff is an advertising network providing a single window solution for advertisers and affiliates where advertisers have total control of their campaigns. Advertisers can create different types of ads with different banner sizes to reach their targeted audience. GlobalTakeoff Affiliate Network allows their affiliates and webmasters to choose different types and sizes of campaigns from 100''s of advertisers. They also offer the choice of CPC (cost per click), CPM (cost per 1000 impressions) and Dynamic CPM. GlobalTakeoff.net is a GlobalTakeoff company.','http://www.globaltakeoff.net/PrivacyPolicy.aspx','http://www.globaltakeoff.net/','518','US',NULL,NULL);\nINSERT INTO companies VALUES('glomex','Glomex','Content owners as well as publishers and advertisers will find all they need for online video monetization in glomex.For content owners to be winners in the ongoing “war for eyeballs”, they need to adopt ultra-fast and ensure they have instantaneous and ubiquitous content distribution, reaching their target audience wherever they are. For publishers, meanwhile, it’s all about finding the right content for their audiences at all times. The glomex marketplace will be their one-stop video destination. Free of charge.','https://www.glomex.com/corporate/','https://www.glomex.com','5135',NULL,'info@glomex.com',NULL);\nINSERT INTO companies VALUES('gm_delivery','GM Delivery','gmdelivery is a leading technological service in its field, the advertisement solutions we serve are of the highest quality. We are committed to always stay ahead of the competitors in order to enhance our clients performance. The unique added value we provide makes sure that your audience is always getting the best possible offer in the most engaging manner. Through our groundbreaking methods we have become one of the best personal offers services available in terms of results and personalized service. Use our services and unleash the power of our technology to save users time and money like never before, you will thanks us, your visitors will thanks you.','http://a.gmdelivery.com/privacy','http://a.gmdelivery.com/','4906',NULL,NULL,NULL);\nINSERT INTO companies VALUES('gmo_media','GMO Media',NULL,'https://www.gmo.media/contact/','https://www.gmo.media/','4463',NULL,NULL,NULL);\nINSERT INTO companies VALUES('godaddy','GoDaddy','GoDaddy is an Internet domain registrar and web hosting company that also sells e-business related software and services.','http://www.godaddy.com/Agreements/Privacy.aspx','https://www.godaddy.com/','305','US','Privacy@godaddy.com',NULL);\nINSERT INTO companies VALUES('godatafeed','GoDataFeed','GoDataFeed is a web-based data feed management tool that streamlines and optimizes merchant''s efforts. GoDataFeed offers a way to promote products on comparison shopping sites like Shopzilla, Pricegrabber, NexTag and more. With GoDataFeed, online retailers can drive more quality traffic to their site by submitting optimized data feeds to multiple shopping sites.','http://www.godatafeed.com/terms-of-use#privacy','http://www.godatafeed.com','752','US','customerservice@godatafeed.com',NULL);\nINSERT INTO companies VALUES('goingup','GoingUp','\"GoingUp! provides first class web site analytics and seo tools for your website. With GoingUp!, easilytrack visitors, monitor sales, see conversion rates, and improve your search strategies.\"','http://www.goingup.com/privacy.html','http://www.goingup.com/','1467','US',NULL,NULL);\nINSERT INTO companies VALUES('goodadvert','GoodADVERT','\"GoodADVERT acts as a major advertising agency that takes all the work associated with finding customers, negotiating, planning, placement of advertising campaigns on the sites of partners, with the subsequent reporting. GoodADVERT allows partners, owners of Internet resources every day to get substantial revenue from advertising impressions of various modules.\"',NULL,'http://goodadvert.ru/','1901','US',NULL,NULL);\nINSERT INTO companies VALUES('google','Google','Google LLC is an American multinational technology company that specializes in Internet-related services and products, which include online advertising technologies, search engine, cloud computing, software, and hardware.','https://policies.google.com/privacy','https://www.google.com','82','US','https://www.google.com/contact/',NULL);\nINSERT INTO companies VALUES('gorilla_nation_media','Gorilla Nation Media','Gorilla Nation is an online branded sales company focused on selling site-specific integrated media and promotional programs across its properties on behalf of Fortune 500 brand marketers. They sell bundled advertising on niche websites such as gaming, film and children''s interest; and create interactive content for advertisers. The company delivers integrated creative media programs from concept through execution. Gorilla Nation is a subsidiary of Evolve Media.','http://www.gorillanation.com/privacy-policy','http://www.gorillanation.com/','376','US','info@gorillanation.com',NULL);\nINSERT INTO companies VALUES('gosquared','GoSquared','GoSquared offers LiveStats, a real-time traffic monitoring application for small and medium sized websites. It allows every visitor currently browsing a site to be visible to the website owner. This information includes the users browser, operating system, language and city.','https://www.gosquared.com/legal/privacy/','https://www.gosquared.com/livestats/','707','GB','support@gosquared.com',NULL);\nINSERT INTO companies VALUES('gostats','GoStats','\"GoStats continues to provide a reliable site stats traffic counter service with web analytics since 1999.\"','http://gostats.com/privacy.xml','http://gostats.com/','1248','CA','support@gostats.com',NULL);\nINSERT INTO companies VALUES('gotolstoy','Tolstoy','Tolstoy is a video commerce platform that enables businesses to create shoppable videos and integrate them into their e-commerce websites, the Shop app, and the Tapcart app. Their services aim to increase customer engagement and sales through personalized video content.','https://www.gotolstoy.com/privacy-policy','https://www.gotolstoy.com/','','US','privacy@gotolstoy.com',NULL);\nINSERT INTO companies VALUES('govmetric','GovMetric','\"GovMetric and ServMetric are divisions of rol Solutions Ltd. rol is a leading provider of solutions that engage, enable and empower citizens and the community. We have worked with central and local government for over 15 years on a wide range of local and national projects.\"','http://socitm.govmetric.com/privacy/','https://www.govmetric.com/','3499',NULL,'info@govmetric.com',NULL);\nINSERT INTO companies VALUES('grabo_media','Grabo Media','\"Grabo.bg is the largest Bulgarian site for online marketing...in group shopping.\"',NULL,'http://grabo.bg/','2857',NULL,NULL,NULL);\nINSERT INTO companies VALUES('grand_slam_media','Grand Slam Media','\"Global web communications agency focused on delivering the best results for buyers and sellers.\"',NULL,'http://www.grandslammedia.com/','2552',NULL,'support@grandslammedia.com',NULL);\nINSERT INTO companies VALUES('granify','Granify','\"We’re at the intersection of artificial intelligence and e-commerce, providing a SaaS solution that enables online retailers to maximize their sales by using cutting edge big data and machine learning technologies.\"','https://www.granify.com/privacy','http://granify.com/','2980',NULL,NULL,NULL);\nINSERT INTO companies VALUES('graph_comment','Graph Comment','We will help engage your community around your brand by recreating the various interactions on social networks and placing them directly on your website. You’ll also be able to increase traffic to your website from these very same social networks.','https://graphcomment.com/en/conditions.html#cgu-content','https://graphcomment.com/en/','5127',NULL,'contact@semiologic.fr',NULL);\nINSERT INTO companies VALUES('gravitec','Gravitec','Retention marketing via web push notificationsGravitec.net is an easy-to-use service for push notifications automation','https://push.gravitec.net/terms','https://gravitec.net/','4919',NULL,'support@gravitec.net',NULL);\nINSERT INTO companies VALUES('green_&_red_technologies','Green & Red Technologies','\"G&R’s mission is to make the internet more meaningful in Bangladesh – for consumers, website owners and advertisers. We aim to achieve this by constantly striving to be innovative, embracing the unconventional and applying a highly data-driven approach.\"','https://www.green-red.com/privacy-policy','https://www.green-red.com/','3060',NULL,'info@gandr.com.bd',NULL);\nINSERT INTO companies VALUES('green_story','Green Story','Get the credit you deserve and the sales you need. Green Story combines supply-chain sustainability analysis with informative graphics and marketing strategies, making your business’ environmental choices stand out for all to see.','https://greenstory.ca/','https://greenstory.ca/','5423','CA','connect@greenstory.ca',NULL);\nINSERT INTO companies VALUES('groove_networks','Groove Networks','\"Groove’s dashboard puts your email, live chat, X (formerly Twitter) and Facebook communication in one place, making customer support management hassle-free.\"','https://www.groovehq.com/our/privacy','http://www.groovehq.com/','2705',NULL,'support@groovehq.com',NULL);\nINSERT INTO companies VALUES('groovinads','GroovinAds','GroovinAds provides intelligent dynamic ads that show the right offer and or message to each user, in every impression, boosting clicks.','http://www.groovinads.com/en#contact','https://www.groovinads.com/en','1791','AR','privacy@groovinads.com',NULL);\nINSERT INTO companies VALUES('groundtruth','GroundTruth','GroundTruth, the leading location technology company that drives results with real-world data.','https://www.groundtruth.com/privacy-policy/','https://www.groundtruth.com/','1382','US','requests@xad.com',NULL);\nINSERT INTO companies VALUES('growthcode','GrowthCode','GrowthCode provides a data refinery platform for publishers and vendors to manage and monetize their first-party data and identity assets. Their solution aims to help publishers prepare for the cookieless and privacy-focused future.','https://www.growthcode.io/privacy','https://www.growthcode.io/','','US','privacy@growthcode.io',NULL);\nINSERT INTO companies VALUES('gruner_jahr_ag','Gruner + Jahr AG',NULL,NULL,'https://www.guj.de/','5348',NULL,NULL,NULL);\nINSERT INTO companies VALUES('gsi_media_network','GSI Media Network','\"GSI Media is an advertising network under the GSI Commerce brand.\"','http://gsimedia.net/privacy_policy.html','http://gsimedia.net/privacy_policy.html','1329','US','privacy@gsicommerce.com',NULL);\nINSERT INTO companies VALUES('gtopstats','GTopStats','GTopStats is a website traffic tracking and analytics platform. The GTopStats analytics-tracking program provides real-time statistical reporting to its clients.',NULL,'http://www.gtopstats.com/','698','RO',NULL,NULL);\nINSERT INTO companies VALUES('gubagoo','Gubagoo','Our core mission is to provide a better experience for automotive consumers by making their interaction with dealerships more convenient and effective. Ensuring customer satisfaction has never been more critical, and we stand at the vital intersection between the consumer and the dealership to guarantee the absolute best for each and every encounter.','https://www.gubagoo.com/about/policy','https://www.gubagoo.com/','4922',NULL,'info@gubagoo.com',NULL);\nINSERT INTO companies VALUES('gumgum','GumGum','GumGum''s technology uses machine learning to serve contextual advertising in line with content that users have already engaged with to add value to images and videos that are relevant.','https://gumgum.com/privacy-policy','http://gumgum.com','84','US','contact@gumgum.com',NULL);\nINSERT INTO companies VALUES('gumroad','Gumroad','Without the hassle and costs of selling within a marketplace, Gumroad enables you to sell directly to your audience — just like you talk to them. It''s quick to integrate Gumroad onto your website, sell on Twitter, Facebook, YouTube, SoundCloud, and through your own email newsletter. And it''s even faster to buy.','https://gumroad.com/privacy','https://gumroad.com/','3651',NULL,NULL,NULL);\nINSERT INTO companies VALUES('gunggo','Gunggo','Gunggo is an entertainment network that provides an ad marketplace for gaming related advertisers and publishers. They specialize in online advertising through pop ups and banner ads. Gunggo is focused on advertising within three verticals: entertainment, gambling and dating.','http://www.gunggo.com/Privacy','http://www.gunggo.com/','85','US','webmaster@gunggo.com',NULL);\nINSERT INTO companies VALUES('h12_media_ads','H12 Media Ads','\"H12-Media is a company...focused on [rich] advertising banner models for publishers and advertisement agencies.\"Translated by H12 Media Advertising / H12 Media Ads','https://www.h12-media.com/?page=menu&id=26','http://www.h12-media.com/','3046',NULL,'info@h12-media.com',NULL);\nINSERT INTO companies VALUES('hacker_news','Hacker News','Y Combinator provides seed funding for startups. Seed funding is the earliest stage of venture funding. It pays your expenses while you’re getting started.','https://www.ycombinator.com/legal/','https://news.ycombinator.com/','2413',NULL,'security@ycombinator.com',NULL);\nINSERT INTO companies VALUES('hanjin','Hanjin','Hanjin group has various industries covered from transportation and airlines to hotels, tourism, and airport businesses.',NULL,'https://www.hanjinkal.co.kr/en/main/index.do','','KR',NULL,NULL);\nINSERT INTO companies VALUES('happy_fox_chat','Happy Fox Chat','Chat with your website visitors in real-time and increase sales. You can start selling more and increase conversions by setting up a live chat widget. You can now reduce abandoned carts, find up-sell opportunities and handle objections quickly.','https://www.happyfox.com/privacy-policy/','https://happyfoxchat.com/','5125',NULL,'privacy@happyfox.com',NULL);\nINSERT INTO companies VALUES('harren_media','Harren Media','Founded in 2007 as a subsidiary company of Freemount LTD holding, Harrenmedia reunites more than 70 professionals with a management team of more than 150+ years of expertise in the digital market. Maintaining offices in Argentina, Brazil, Mexico and Miami and representatives in Colombia, Venezuela, Peru, Ecuador, Panama, Costa Rica and South Africa, Harrenmedia is a leading company in the online advertising market.',NULL,'https://www.harrenmedia.com/','1294','US',NULL,NULL);\nINSERT INTO companies VALUES('hatchbuck','HatchBuck','\"Simple, yet elegantly intelligent, Hatchbuck is sales & marketing software that automates your sales and marketing efforts overnight. Turn emails into conversations, website visitors into handshakes, and customers into raving fans.\"','https://www.hatchbuck.com/privacy/','https://www.hatchbuck.com/','4199',NULL,'webmaster@hatchbuck.com',NULL);\nINSERT INTO companies VALUES('hatena_jp','Hatena Co., Ltd.','\"Hatena Co., Ltd. is one of Japan''s leading web service providers with over 1,000,000 registered users, that developed one of Japan''s first online blogging services and operates Japan''s most popular social bookmarking service.\"','https://www.hatena.ne.jp/rule/privacypolicy','https://www.hatena.ne.jp/','2573',NULL,'info@hatena.com',NULL);\nINSERT INTO companies VALUES('head_hunter','Head Hunter','HeadHunter is one of the largest job and employee search sites in the world. We create advanced technologies on all available platforms so that employers can quickly find a suitable employee, and job seekers can quickly find a good job.','https://hh.ru/article/personal_data','https://hh.ru/','4875','RU',NULL,NULL);\nINSERT INTO companies VALUES('heap','Heap','Heap.io is a digital insights platform and a part of the Contentsquare group that provides automated product analytics software. The company offers tools for businesses to capture and analyze customer behavioral data without manual tracking. Key features include automatic data collection, session replays, heat maps, and other analytics that help teams improve digital experiences.','https://www.heap.io/privacy','https://www.heap.io/','2695','US','privacy@contentsquare.com',NULL);\nINSERT INTO companies VALUES('hearst','Hearst Corporation','The Hearst Corporation, through its subsidiaries, operates as a media company. The company engages in magazine, daily and weekly newspaper, and business publishing activities.  Its holdings also include cable networks, television and radio broadcasting, television production and distribution, newspaper features distribution, real estate, and Web sites and mobile sites businesses.','https://www.hearst.com/newsroom/privacy-policy','https://www.hearst.com/','772','US',NULL,NULL);\nINSERT INTO companies VALUES('heatmap','Heatmap','\"Most online contents are short-lived and only real-time analytics allow you to act right on time.\"','https://heatmap.me/privacy','https://heatmap.me/','3511',NULL,NULL,NULL);\nINSERT INTO companies VALUES('hello_ebbot','Hello Ebbot','Ebbot is an AI-powered service automation platform to scale your support operations while ensuring quality and security in every interaction.','https://www.ebbot.com/integrity','https://www.ebbot.com/','','SE','integrity@ebbot.ai',NULL);\nINSERT INTO companies VALUES('hellosociety','HelloSociety','\"HelloSociety is a full service marketing and technology firm with exclusive representation of the top influencers on Pinterest... We connect brands with like-minded influencers to customize, optimize and measure campaigns.\"','https://hellosociety.com/privacy-policy','http://hellosociety.com','2598',NULL,'info@hellosociety.com',NULL);\nINSERT INTO companies VALUES('hermesworld','Hermes','Hermes Europe GmbH is a delivery company headquartered in Hamburg, Germany. In the United Kingdom, the company operates under the name Evri.','https://hermesworld.com/int/data-protection','https://hermesworld.com/int','','DE','zentrale@hermesworld.com',NULL);\nINSERT INTO companies VALUES('heureka','Heureka','HeurekaWe''re the largest shopping portal and comparative prices on the Czech Internet. Every month we visit an average of three million real users , who are chosen from the seventeen million products and tens of thousands of online stores . We are among the 10 most visited websites in the country.In our online shopping convenient, safe and fast. Compare prices, reviews bring e-commerce, evaluation and experiences of other shoppers as well as product reviews. We denote quality, reliable e-shops - based on the experience of millions of shoppers receive certificates Verified by customers and announce the winners of SHOPROKU. All customers in our catalog can also be purchased directly at Heureka Basket. For this purchase we guarantee our customers. With us with an overview of purchases.As time went with eurekaeureka founded the successful Czech Internet company Miton Media in 2007 , the Web was launched in October 2007. The Slovak version Heureka.sk, which still operates in the Czech Republic, was born a year later. Six years later, March 31, 2013, our new operator, after the merger of Miton Media, as was the company Allegro Group CZ, sro . To a group of Allegro Group CZ at that time were for example, the company Aukro.cz or NetDirectA year later, April 1, 2014, due to changes in Allegro, Heureka becomes part of the company Naspers OCS Czech Republic sro and 22 February 2016 leads to rename Naspers OCS Czech Republic, Ltd. to Heureka Shopping Ltd.Since June 2016 we go into the hands of a new owner and become a member of Rockaway .Group Rockaway is a Czech investment company. Enters into promising projects and build their own businesses in markets with high potential. Under the banner of Rockaway Ventures helps technology startupům achieve global goals.','https://www.heureka.cz/direct/dokumenty/ochrana-soukromi-na-portalu-heureka-cz.pdf','https://www.heurekashopping.cz/','4342',NULL,NULL,NULL);\nINSERT INTO companies VALUES('heybubble','HeyBubble','\"Live support software for small and medium businesses that lets you track your visitors in real-time, engage them to chat providing excellent customer service. HeyBubble is an all-in-one cloud-based software, mobile compatible and integrated with the most usual tools around the web.\"','https://www.heybubble.com/Privacy-Policy','https://www.heybubble.com/','2892',NULL,NULL,NULL);\nINSERT INTO companies VALUES('heyos','Heyos','\"Heyos is an advertising agency... Contextual advertising technology, tooltips, pop-under, slides, are the tools we provide to advertisers and webmasters. Our statistical automation allows us [to offer] ''fixed priced'' or ''traffic related'' marketing campaigns to our advertisers, keeping fixed the price agreed with each webmaster for the service they provide.\"',NULL,'http://www.heyos.com/','3327',NULL,NULL,NULL);\nINSERT INTO companies VALUES('hi-media_performance','Hi-media Performance','Hi-media Performance is an online advertising network. Hi-media Performance and sister company Allopass, micro-payments solutions provider, are owned by the Hi-media Group.','http://www.hi-mediaperformance.co.uk/en_GB/index/informations-legales/optout','http://www.hi-mediaperformance.co.uk/en_GB','1079','FR','contactperformanceuk@hi-media.com',NULL);\nINSERT INTO companies VALUES('hiconversion','HiConversion','\"HiConversion’s e-Optimizer is the total conversion rate optimization solution for online marketers and merchants looking to make more money without having to drive more traffic.\"','http://www.hiconversion.com/privacy-policy/','http://www.hiconversion.com','1851','US','security@hiconversion.com',NULL);\nINSERT INTO companies VALUES('highco','HighCo',NULL,NULL,'https://www.highco.com/','5349',NULL,NULL,NULL);\nINSERT INTO companies VALUES('highwinds','Highwinds','Highwinds is the highest performing content delivery network on the planet and offers a comprehensive suite of solutions including content delivery, storage, analytics, and cloud-based IP services. We deliver content and rich media over our high-performance RollingThunder network to millions of global users every day. Highwinds CDN customers gain unprecedented command and control with the StrikeTracker console and open APIs. We are headquartered in Winter Park, Fla., and maintain operations and data centers around the world.','https://www.highwinds.com/privacy-policy/','https://www.highwinds.com/','4481',NULL,'legal@highwinds.com',NULL);\nINSERT INTO companies VALUES('hiiir','Hiiir','\"String on the network rich and beautiful people things\"Google Translate',NULL,'http://adpower.hiiir.com/','2235',NULL,'howard@hiiir.com',NULL);\nINSERT INTO companies VALUES('hiro_media','HIRO Media','\"Conceived by media and advertising industry leaders, HIRO unites the power of online media with the knowledge of TV advertising to create a unique solution converging new media capabilities with proven TV advertising practices. HIRO’s video ad serving and optimization platform arms content owners, publishers, syndicators and advertising agencies with the tools and services necessary to generate far higher revenues from online video content.\"','https://www.hiro-media.com/privacy.php','https://www.hiro-media.com/','2267',NULL,'contact@hiro-media.com',NULL);\nINSERT INTO companies VALUES('histats','Histats','Histats is an online analytics provider that allows its customers to place counters and trackers on their websites, and reports usage statistics in real-time.','http://www.histats.com/?act=5','http://www.histats.com','238','US','histats.support1@gmail.com',NULL);\nINSERT INTO companies VALUES('hit-parade','Hit-Parade','Hit-Parade is a French analytics and traffic referral service.',NULL,'https://www.hit-parade.com/','1150','US',NULL,NULL);\nINSERT INTO companies VALUES('hit.ua','HIT.UA','Internet Statistics service',NULL,'https://hit.ua/','2223',NULL,'mailbox@hit.ua',NULL);\nINSERT INTO companies VALUES('hit_sniffer','Hit Sniffer','Hit Sniffer is a suite of web analytics applications that provide real-time stats, lead generation statistics. The tools measure the effectiveness of clients'' web performance, including PPC (pay-per-click) ad campaigns and SEO (search engine optimization).','http://hitsniffer.com/privacy.php','http://hitsniffer.com/','984','US',NULL,NULL);\nINSERT INTO companies VALUES('hittail','HitTail','Hittail is a search keyword tool that makes suggestions for words to use in blog post titles or topics to write about based on currently successful search terms. Hittail is based on the theory of the Long Tail, in this case the idea that the most high profile sources of traffic to a site actually make up less than the total sum of all the traffic from small sources combined. Hittail is a product of Connors Communications.','https://www.hittail.com/privacy','https://www.hittail.com/','47','US','service@hittail.com',NULL);\nINSERT INTO companies VALUES('hive_works','Hive Works','Hiveworks is a creator owned publisher and studio that helps webcomic and online media creators turn their creative endeavors into sustainable businesses. We serve as mentors and as a home for many comics.',NULL,'https://thehiveworks.com/','4474',NULL,NULL,NULL);\nINSERT INTO companies VALUES('hola_cdn','Hola CDN','Hola was founded with the goal of making a better Internet through advanced routing technologies - making the web faster, more open and cheaper to operate. We''ve fundamentally disrupted markets with our products.Hola is profitable, and growing fast! It has global presence, and top tier investors including DFJ (Silicon Valley), Trilogy (Seattle), Magma (Israel), Horizons Ventures (Hong Kong), and Orange (France).',NULL,'https://holacdn.com/','4896',NULL,NULL,NULL);\nINSERT INTO companies VALUES('honeybadger','Honeybadger','Diagnose and fix application errors, faster.Exception, up time and performance monitoring for your web apps.','https://www.honeybadger.io/pages/privacy.html','https://www.honeybadger.io','3859',NULL,'support@honeybadger.io',NULL);\nINSERT INTO companies VALUES('hop-cube','Hop-Cube','\"Hop-Cube is a pioneer in digital environmental display and provides (e-)merchants and manufacturers tools that make environmental information on products accessible and attractive for the end-consumers.\"',NULL,'http://www.hop-cube.com/','2622',NULL,'contact@hop-cube.com',NULL);\nINSERT INTO companies VALUES('hotjar','Hotjar','Hotjar is a privately owned and funded company that develops intuitive and disruptive research and optimization tools for web businesses. It helps its customers realize how visitors are really using their websites. The service helps them collect feedback and turn more visitors into customers.','https://www.hotjar.com/legal/policies/privacy','https://www.hotjar.com/','3632','MT','dpo@hotjar.com',NULL);\nINSERT INTO companies VALUES('hotlog','HotLog','HotLog is a web analytics platform that collects statistics on visitors to websites. HotLog is a product of InfoStars.','https://hotlog.ru/static?tpl=privacy','https://hotlog.ru/','887','RU',NULL,NULL);\nINSERT INTO companies VALUES('hotwords','HOTWords','HOTWords is an online advertising tool that displays contextual text ads on relevant websites and Internet blogs.','https://www.hotwords.com/en/privacy-policy','https://hotwords.com/','1053','PT',NULL,NULL);\nINSERT INTO companies VALUES('hp','Hewlett-Packard','\"Hewlett-Packard Company...provides products, technologies, software, solutions and services to consumers, small- and medium-sized businesses (SMBs) and large enterprises, including customers in the government, health and education sectors.\"','https://www8.hp.com/us/en/privacy/privacy.html','https://www.hpe.com/','2023',NULL,NULL,NULL);\nINSERT INTO companies VALUES('hsoub','Hsoub','\"On a mission to develop the Arabic web.We build web platforms to solve the challenging problems facing businesses and consumers in Arabia.Hsoub is a UK & UAE based company with an ambitious team working across the Middle East and North Africa.\"','https://ads.hsoub.com/privacy','http://www.hsoub.com/','3380',NULL,'info@hsoub.com',NULL);\nINSERT INTO companies VALUES('httpool','Httpool','Httpool is a full service online advertising provider with focused on emerging markets. They provide consultation for marketing campaigns and broker online advertising space on publisher sites.','https://www.httpool.com/privacy','https://www.httpool.com/','610','GB','office@httpool.at',NULL);\nINSERT INTO companies VALUES('hu-manity','Hu-manity','Hu-manity.co is a technology company that empowers consumers, corporations, and countries transition to a consumer-inclusive data economy. Its AI-powered software creates, reads, understands, and compares the legal language in data-related contracts that govern data practices between multiple entities.','https://hu-manity.co/privacy-policy/','https://hu-manity.co/','','US','info@hu-manity.co',NULL);\nINSERT INTO companies VALUES('hubert_burda_media','Hubert Burda Media','\"Hubert Burda Media (often abbreviated as simply \"Burda\") is a German privately held, family-owned global media company with its origins in printing and magazine publishing.\"\"Burda considers technology to be a central element of every media platform. Moreover, we demonstrate passion, creativity, craftsmanship and last but not least a keen understanding of the needs and interests of consumers. This results in products that attract people.\"','http://www.hubert-burda-media.com/privacy/','http://www.hubert-burda-media.com/','2810',NULL,'presse@burda.com',NULL);\nINSERT INTO companies VALUES('hubrus','Hubrus','\"In the near future, the main part of the Russian online advertising market will transform from wholesale exchanges selling impressions and clicks into smart systems giving both the advertiser and the owner maximum effectiveness and profitability. And Real Time Bidding will be the technology that will play the key role in this process, while DSP HUBRUS will become the main technological guide.\"Translated by Hubrus, LLC.','http://hubrus.com/privacy','http://www.hubrus.com/','2947',NULL,'privacy@hubrus.com',NULL);\nINSERT INTO companies VALUES('hubspot','HubSpot','HubSpot offers B2B inbound marketing software. Their technology provides search engine optimization, business blogging, competitor analysis, closed-loop marketing analytics, Website editing (including keyword optimization), lead tracking and intelligence.','https://legal.hubspot.com/privacy-policy','https://www.hubspot.com/','86','US','privacy@hubspot.com',NULL);\nINSERT INTO companies VALUES('hucksterbot','HucksterBot',NULL,NULL,'http://hucksterbot.ru/','4882',NULL,NULL,NULL);\nINSERT INTO companies VALUES('human_security','Human Security','HUMAN Security is a cybersecurity company that provides technology to detect and stop sophisticated bot attacks and online fraud.','https://www.humansecurity.com/privacy-policy/','https://www.humansecurity.com/','','US','privacy@humansecurity.com',unistr('Human Security and PerimeterX merged under the HUMAN company name (July 2022)\\u000a\\u000aSource: https://www.humansecurity.com/newsroom/human-and-perimeterx-unite-in-market-changing-merger-to-safeguard-customers-from-sophisticated-bot-attacks-fraud-and-account-abuse/'));\nINSERT INTO companies VALUES('hupso','Hupso','Hupso is a free website analyzer. It provides free reports for thousands of websites. For every website in our extensive database you can see detailed analysis, including traffic statistics, monthly earnings, facebook sharing information, web server location and website value estimates.','http://www.hupso.com/privacy','http://www.hupso.com/','3546',NULL,'contact@hupso.com',NULL);\nINSERT INTO companies VALUES('hurra_communications','Hurra Communications','Hurra Communications is a Germany based company that provides search engine marketing solutions. They offer search engine campaign design and optimization services. Hurra also provides production promotional tools and design and produce direct response and Web television advertising campaigns.','https://www.hurra.com/EN/privacy-policy','http://www.hurra.com/en/','843','DE','info@hurra.com',NULL);\nINSERT INTO companies VALUES('hybrid_adtech','Hybrid Adtech','Hybrid Adtech is an international adtech company that specializes in providing technology solutions for online advertising campaigns. They focus on programmatic advertising, offering solutions for both advertisers and agencies to create, launch, and optimize campaigns.','https://hybrid.ai/privacy_policy/','https://hybrid.ai/','1483','DE','support@hybrid.ai',NULL);\nINSERT INTO companies VALUES('hyfn','Hyfn','Federated Media hosts Ad STAMP, a premium, display advertising product on their technology platform. Advertising is served on over 100 websites, blogs, and social networking applications hosted within their media network.',NULL,'https://hyfn.com/federated/','69','US',NULL,NULL);\nINSERT INTO companies VALUES('hype_exchange','Hype Exchange','\"Hype Exchange is a growing network of over 50 sites encompassing everything from top fan sites to entertainment blogs to some of today''s top pop culture sites.\"',NULL,'http://www.hypeexchange.com/','1814','US',NULL,NULL);\nINSERT INTO companies VALUES('hypercomments','HyperComments','\"With HyperComments you can engage readers in a live conversation and expand the audience of your readers.\"Translated by HyperComments, Inc.','https://www.hypercomments.com/en/privacy','https://www.hypercomments.com/','3402',NULL,'support@hypercomments.com',NULL);\nINSERT INTO companies VALUES('hyves','Hyves','\"Hyves is a social platform that connects Netherlands with news, sports and entertainment.\"','http://corporate.tmg.nl/privacy-verklaring','https://hyvesgames.nl/','1484','NL','privacy@tmg.nl',NULL);\nINSERT INTO companies VALUES('i''mad_republic','i''mad republic',NULL,NULL,'http://www.imad.co.kr/','3184',NULL,NULL,NULL);\nINSERT INTO companies VALUES('i-mobile','i-mobile','The largest advertising network in Japan the covers all devices and various ad formats.','http://i-mobile.co.jp/privacy.aspx','http://i-mobile.co.jp/','2861','JP',NULL,NULL);\nINSERT INTO companies VALUES('i.r.v.','Content Exchange','We started as an Internet Media Company managing a few media sites we have made. As all internet media companies, we where dealing with issues of increasing websites traffic and monetization optimization of our inventory. With this in mind, we came up with Content Exchange, audience development platform and premium advertising network. Audience development module works as a fully automated multi compensation system, which helps media sites gain traffic and reach new audiences. Premium advertising network offers publishers new ad inventory, new ads and additional income. We grew from a small media company to a highly innovative internet firm combining Audience Development platform, Premium Advertising Network and Media Sites.','https://www.contentexchange.me/terms-of-service/','https://www.contentexchange.me/','4493',NULL,NULL,NULL);\nINSERT INTO companies VALUES('i.ua','I.UA','I.UA is a Ukranian search engine and Internet services firm. They also offer a variety of other online services including: news, weather, maps, and email services.','http://help.i.ua/privacy-policy/','http://www.i.ua/','884','UA',NULL,NULL);\nINSERT INTO companies VALUES('i2i.jp','i2i.jp','\"Analysis of access, access rankings, access counter, widget, checkers etc. Ranking search is completely free i2i.\"Translated by Google Translate','https://www.mfro.net/privacy/','https://www.i2i.jp/','2078',NULL,'info@mfro.net',NULL);\nINSERT INTO companies VALUES('iab','IAB','The Interactive Advertising Bureau (IAB) empowers the media and marketing industries to thrive in the digital economy.It is comprised of more than 650 leading media and technology companies that are responsible for selling, delivering, and optimizing digital advertising or marketing campaigns.','https://www.iab.com/privacy-policy/','https://www.iab.com/','5350','US','privacy@iab.com',NULL);\nINSERT INTO companies VALUES('iac_apps','IAC (InterActiveCorp)','Since we started in 1999, we’ve found that the best ideas are the ones that make life better, easier and more fun. Through innovation we redefine the boundaries of what the internet can do. From the desktop to the laptop and everywhere mobile can go, IAC Applications is taking your work and play to the next level.','https://eula.mindspark.com/privacypolicy/','http://iac.com/','3951',NULL,NULL,NULL);\nINSERT INTO companies VALUES('iadvize','iAdvize','iAdvize is displayed as a chat bar at the bottom of the browser window and remains visible throughout the navigation session. At any time, visitors can contact a site representative for advice about a product or for help in navigation if they are confused.','https://www.iadvize.com/en/iadvize-privacy-policy','https://www.iadvize.com/','2128','FR','privacy@iadvize.com',NULL);\nINSERT INTO companies VALUES('ibm','IBM','International Business Machines (IBM), is a multinational computer, technology and IT consulting firm. They focus on selling computer software, as well as infrastructure, hosting and consulting services in areas ranging from mainframe computers to nano technology.','https://www.ibm.com/us-en/privacy','https://www.ibm.com/us-en/marketplace/analytics-for-your-digital-properties','263','US','privacy@us.ibm.com',NULL);\nINSERT INTO companies VALUES('iclick_interactive','iClick Interactive','\"iClick is the leading digital buy-side platform in Asia that integrates search, display, social media and mobile marketing capabilities to allow marketers to plan and manage their cross-channel campaign in one single destination.\"Translated by iClick Interactive Asia Limited','http://www.i-click.com/privacy-policy-and-data-ownership','http://www.i-click.com/','3006',NULL,'privacypolicy@i-click.asia',NULL);\nINSERT INTO companies VALUES('icstats','ICStats','\"With web analytics is not about collecting as much data as possible, but about providing the right information at the right time. Every marketer knows in a few years what kind of visitor at his site and what information it should be offered. ICStats record[s] and report[s] information about visitor behavior on the Internet in such a way that the Marketing / Sales department of an SME to develop concrete actions to be taken.\"Translated by Google Translate',NULL,'http://www.icstats.nl/','2162',NULL,'info@icstats.nl',NULL);\nINSERT INTO companies VALUES('id5_technology_ltd','ID5 Technology','ID5 operates an identity platform for the digital advertising industry. Its technology facilitates user recognition on websites, mobile apps, and digital properties, enabling advertisers to improve the efficiency of their ad targeting.','https://id5.io/platform-privacy-policy/','https://id5.io/','','GB','privacy@id5.io',NULL);\nINSERT INTO companies VALUES('id_services','ID Services',NULL,NULL,'https://id.services/','4599',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ideal_media','Ideal Media','\"Ideal Media is a content discovery platform that attracts responsive audiences, engages them with unique content and amplifies your message through our interactive channels; allowing you to speak directly to your target market, reaching all audiences.\"',NULL,'http://idealmedia.com/','3161',NULL,'info@idealmedia.com',NULL);\nINSERT INTO companies VALUES('ideoclick','IdeoClick','\"By providing competent guidance and industry-defining tools and services, IdeoClick drives improved conversion and increased sales throughout a variety of consumer touch points.\"',NULL,'http://ideoclick.com','2527',NULL,'info@ideoclick.com',NULL);\nINSERT INTO companies VALUES('idio','Idio','Idio’s Demand Orchestration platform learns from each buyer interaction to improve omni-channel engagement and accelerate demand at large B2B enterprises. Global leaders including Intel, Fitch Ratings, and AllianceBernstein use Idio’s AI & 1st party intent data to automate marketing complexity and engage every buyer individually.','https://idio.ai/website-privacy-and-cookies-policy/','https://www.idio.ai/','4159',NULL,'info@idio.ai','Optimizely acquired Idio in November 2019: https://www.optimizely.com/company/press/episerver-signs-definitive-agreement-to-acquire-11-personalization-company-idio/');\nINSERT INTO companies VALUES('ientry','iEntry','iEntry is a provider of targeted newsletters focused on IT and business subjects for Internet professionals.','https://www.ientry.com/privacy-policy/','https://www.ientry.com/','1116','US','support@ientry.com',NULL);\nINSERT INTO companies VALUES('iflychat','iFlyChat','\"iFlyChat first came into existence in 2010 and is known by name of DrupalChat in drupal community... iFlyChat is a product of iFlyLabs, which was officially launched in March 2012... iFlyLabs is a product company with an aim to develop online softwares to help businesses in building brand values.\"','https://iflychat.com/privacy-policy','https://iflychat.com/','2777',NULL,'support@iflylabs.com',NULL);\nINSERT INTO companies VALUES('ihs','IHS','IHS Inc. provides critical information and insight products and services through Internet-based applications and portals.','https://ihsmarkit.com/Legal/privacy.html','https://www.ihs.com','1184','US','privacy@ihs.com',NULL);\nINSERT INTO companies VALUES('ijento','iJento','iJento helps businesses do better marketing analytics. Our technology creates the richest, most accurate customer profiles by \"stitching\" together visits across all devices and channels into a complete behavioral picture of preferences and history. From these profiles, advanced segmentations are created that can help you more effectively target customers, predict which customers are most likely to buy, what they are most likely to buy next, and which ones are at risk of buying elsewhere.','https://www.fospha.com/cookies','http://www.ijento.com/1','2438',NULL,'info@iJento.com',NULL);\nINSERT INTO companies VALUES('image_advantage','Image Advantage','\"Our proprietary technology for marrying highly relevant images with paid placement text ads is designed to dramatically increase text ad performance and effectiveness.\"',NULL,'http://www.worthathousandwords.com/','2722',NULL,NULL,NULL);\nINSERT INTO companies VALUES('image_space_media','Image Space Media','Image Space Media is an ad network that helps publishers monetize images on their websites with targeted ad overlays. Its proprietary technology allows for audience targeting and matches ads to the most appropriate images available. They also offer analytics and self service tools.','http://imagespacemedia.com/privacypolicy','http://www.imagespacemedia.com/','420','US','info@imagespacemedia.com',NULL);\nINSERT INTO companies VALUES('imbox','ImBox','ImBox is a Swedish company that specializes in providing a range of digital customer service solutions, including case management, chat, telephony, FAQ, and help center tools. Their services aim to streamline customer communication, provide personalized support, and improve overall customer service efficiency for businesses.','https://imbox.se/integritetspolicy/','https://imbox.se/en/','','SE',NULL,NULL);\nINSERT INTO companies VALUES('imgur','Imgur','is an online image sharing community and image host.','https://imgur.com/privacy','https://imgur.com/','1736','US','https://feedback-form.truste.com/watchdog/request',NULL);\nINSERT INTO companies VALUES('imho','IMHO','\"IMHO - the largest seller of media opportunities in RuNet. Subsidiary of the NSC .Exclusively sells advertising spots on popular websites of Runet: Yandex.ru, Afisha.ru, RBC.ru, Rambler.ru, Auto.ru, Championat.com, Lenta.ru, Ivi.ru, Gismeteo.ru, Avito.ru, and Etc., as well as own promotional products: Video network (including IVI.ru, TVZavr.ru, Tvigle.ru, sites of TV channels: Channel 1, VGTRK, REN TV, Yu, Zvezda, etc.), premium Mobile and Banner Networks .\"Translated by Google Translate',NULL,'http://www.imho.ru','2200',NULL,'salesgroup@imho.run',NULL);\nINSERT INTO companies VALUES('imonomy','imonomy','imonomy’s in-image advertising platform has been proven to add value to the user experience, while generating lucrative incremental revenue for publishers around the world.Our trusted in-image monetization model has been integrated onto thousands of websites from niche blogs to internationally recognized online brands.','https://imonomy.com/privacy-policy/','http://imonomy.com','3908',NULL,'info@imonomy.com',NULL);\nINSERT INTO companies VALUES('impact','Impact','\"CPA Detective is an affiliate fraud detection and compliance monitoring service that identifies and eliminates fraud and low-quality traffic sources to improve online advertising campaign performance. CPA Detective will optimize online advertising campaigns (CPA, CPL, CPC, PPC, and CPM ) as well as improve ROI and increase traffic quality.\"','https://impact.com/privacy-policy/','https://impact.com/','2366',NULL,'info@cpadetective.com',NULL);\nINSERT INTO companies VALUES('impact_radius','Impact Tech','Impact Tech, Inc. is a global partnership management platform helping brands, publishers, and agencies manage affiliate, influencer, referral, and strategic marketing partnerships through its SaaS platform.','https://impact.com/privacy-policy/','https://impact.com/','2230','US','privacy@impact.com',NULL);\nINSERT INTO companies VALUES('impresiones_web','Impresiones Web','\"Impresiones Web is a leader in online advertising in Spain. Our activity is focused on being intermediaries between advertisers and advertising agencies and media integrated into our network that we entrust the management of their advertising space.\"Translated by Google Translate',NULL,'http://www.impresionesweb.com/index.php?op=main.&data=','1544','ES','info@ImpresionesWeb.com',NULL);\nINSERT INTO companies VALUES('improve_digital','Improve Digital','Improve Digital is an online advertising yield management company. They enable premium publishers to maximize unsold and premium inventory using their optimization and self-learning technology.','https://www.improvedigital.com/platform-privacy-policy','https://www.improvedigital.com/','523','GB','privacy@ImproveDigital.com',NULL);\nINSERT INTO companies VALUES('inbenta','Inbenta','Inbenta is a cloud-based, AI-powered Natural Language Search for customer support and e-commerce.','https://www.inbenta.com/en/about-us/privacy-policy/','https://www.inbenta.com/en/','3449','US','privacy@inbenta.com',NULL);\nINSERT INTO companies VALUES('inboundwriter','InboundWriter','InboundWriter was created by Eightfold Logic, Inc.  The site http://www.eightfoldlogic.com will redirect the user to InboundWriter.Eightfold is a technology company that provides search marketing and optimization services. They target large publishers heavily dependent on traffic with specific focus on travel, insurance and online retail audience segments. Eightfold logic was formerly known as Enquisite.With InboundWriter, you can find out what interests your target audience by discovering the very words and phrases they use when searching or sharing, as well as get guidance on how best to structure your online content for increased reach and engagement – all directly within your existing content creation workflow.','https://www.inboundwriter.com/privacy/','https://www.inboundwriter.com/','61','US','support@inboundwriter.com',NULL);\nINSERT INTO companies VALUES('indeed','Indeed','\"Since 2004, Indeed has given job seekers free access to millions of jobs from thousands of company websites and job boards. As the leading pay-for-performance recruitment advertising network, Indeed drives millions of targeted applicants to jobs in every field and is the most cost-effective source of candidates for thousands of companies.\"','https://www.indeed.com/legal#privacy','https://www.indeed.com/','2271',NULL,NULL,NULL);\nINSERT INTO companies VALUES('index_exchange','Index Exchange, Inc.','Casale Media is an online advertising network that specializes in site representation through banner, hover, and pop up ads. Their software handles ad delivery, demographic targeting, campaign management, real-time reporting and optimization.','http://www.indexexchange.com/privacy/','http://www.indexexchange.com','36','CA','http://sar.indexexchange.com/',NULL);\nINSERT INTO companies VALUES('industrybrains','IndustryBrains','\"IndustryBrains is a leading performance advertising media company that uses keyword search and relevant editorial targeting to achieve superior advertising results for marketers. We offer premium performance marketing solutions for advertisers and publishers.\"','https://www.industrybrains.com/doc/privacy','https://www.industrybrains.com/','3312',NULL,'privacy@industrybrains.com',NULL);\nINSERT INTO companies VALUES('infectious_media','Infectious Media','Infectious Media provides online media buying services to advertisers and agencies. Infectious Media uses a proprietary technology platform called Impression Desk that ensure that advertisements are shown to the most relevant users on the most relevant websites.','http://infectiousmedia.com/privacy-policy/','https://www.infectiousmedia.com/','650','GB','privacy@infectiousmedia.com',NULL);\nINSERT INTO companies VALUES('infinite_analytics','Infinite Analytics','\"Using the power of Artificial Intelligence, I can help grow and optimise your business.I find hidden patterns in data to discover rich insights about digital users. I apply these insights to identify and target the right customer segments for your business through intelligent marketing campaigns. I understand customers through explicit signals such as text, images and voice inputs, and implicit signals such as clickstream, transactions and interaction. I also deeply understand retail products, by analyzing and enriching the catalogs for textual, meta-data and visual information, and linking every product feature in my expansive graph-data knowledge-bases.Putting it all together, I find and target customers, I understand their intent, I communicate with them via intuitive channels, and I continuously optimize their experiences online.\"','https://infiniteanalytics.com/contact/','https://infiniteanalytics.com/products/','5239',NULL,'ian@infiniteanalytics.com',NULL);\nINSERT INTO companies VALUES('infinity_tracking','Infinity Tracking','Infinity Tracking is a call tracking and analytics platform. Their technology tracks phone calls, and the advertising keywords that prompted them, effectively joining online and offline advertising analytics technology into their platform.','https://www.infinitycloud.com/privacy-policy','https://www.infinity-tracking.com','1192','GB','support@infinity-tracking.com',NULL);\nINSERT INTO companies VALUES('influads','Influads','InfluAds is a technology platform that allows publishers to lead the development and curation of advertising networks around simple ad targeting to highly influential audiences.',NULL,'http://www.influads.com/','957','DK','info@influads.com',NULL);\nINSERT INTO companies VALUES('infocube','Infocube','WEB strategy support systemSITE STRATOS (site Stratos), the private DMP, advanced statistical processing behavior analysis based on the ad DMP coordination function from the mouse tracking in real-time to the nucleus, has realized the Web analysis integration support of up to recommendation.',NULL,'http://www.infocube.co.jp/','4348',NULL,NULL,NULL);\nINSERT INTO companies VALUES('infolinks','Infolinks','Infolinks is an online advertising company that provides in-text advertising services to website owners. Their product scans web pages using a proprietary algorithm and converts selected keywords into relevant Pay Per Click (PPC) in-text ads. These ads appear as double underlined hyperlinks in the Web content itself.','https://www.infolinks.com/privacy-policy/','https://www.infolinks.com/','88','US','info@infolinks.com',NULL);\nINSERT INTO companies VALUES('infonline','INFOnline','INFOnline is a provider of Internet audience measurement services in Germany.','https://www.infonline.de/datenschutz/','https://www.infonline.de/','89','DE','datenschutz@infonline.de',NULL);\nINSERT INTO companies VALUES('informer_technologies','Informer Technologies','\"Informer Technologies, Inc. is a leading web 2.0/3.0 development company. We specialize in social network-related projects and widgets / web services.\"',NULL,'https://www.informer.com/','2899',NULL,NULL,NULL);\nINSERT INTO companies VALUES('informizely','informizely','Informizely is a complete survey platform for customer feedback, offering slide-in website surveys, exit pop-up surveys, link surveys and email surveys.','https://www.informizely.com/privacy-policy','https://www.informizely.com/','','NL','info@informizely.com',NULL);\nINSERT INTO companies VALUES('infusionsoft','Keap','We build the technology that accelerates small business growth. We provide the support, coaches, and partners while fostering communities you can rely on, to make your dream of being your own boss a reality.','https://keap.com/legal/privacy-policy','https://keap.com/','1545','US','dpo@keap.com',NULL);\nINSERT INTO companies VALUES('inmobi','InMobi','InMobi, previously known as mKhoj, is a multinational technology company headquartered in Bangalore, India. Its mobile-first platform allows brands, developers and publishers to engage consumers through contextual mobile advertising.','https://www.inmobi.com/privacy-policy','https://www.inmobi.com/','','IN','privacy@inmobi.com',NULL);\nINSERT INTO companies VALUES('inmoment','InMoment','InMoment provides businesses with insights on customers and employees from information such as comments, surveys, and review data and provides cloud-based software to collect and analyze data from voice, text, and video.','https://inmoment.com/privacy-policy/','https://inmoment.com/','','US','privacy@inmoment.com',NULL);\nINSERT INTO companies VALUES('innity','Innity','\"Innity provides online marketing technologies and services to many of the world''s largest brands and advertising agencies. An industry pioneer, Innity has one of the most comprehensive and largest online advertising networks in South East Asia.\"','https://www.innity.com/privacy-policy.php','https://www.innity.com/','1445','US','privacy@innity.com',NULL);\nINSERT INTO companies VALUES('innkeepr','Innkeepr','Innkeepr.ai is an AI-powered customer data platform (CDP) specializing in audience optimization for advertisers. Based in Chemnitz, Germany, the company helps direct-to-consumer brands translate their first-party data into targeted audiences for platforms like Google, Meta, TikTok, and Amazon. This process aims to reduce customer acquisition costs and improve ad campaign effectiveness.','https://innkeepr.ai/privacy','https://innkeepr.ai/','','DE','privacy@innkeepr.ai',NULL);\nINSERT INTO companies VALUES('innovid','Innovid','Innovid is an interactive video advertisement development company. It develops a media enrichment platform that enables injection of interactive objects into online videos; and iRoll apps product, a tool used for the creation of interactive pre-roll campaigns that include interactive functionality.','https://www.innovid.com/privacy-policy/','https://www.innovid.com/','825','US','privacy@innovid.com',NULL);\nINSERT INTO companies VALUES('insider','Insider','Accessible from a unified data engine, Insider enables marketers to leverage personalization, predictive segmentation and real-time technologies to boost loyalty and digital growth.','http://useinsider.com/privacy-policy/','https://useinsider.com/','4816',NULL,NULL,NULL);\nINSERT INTO companies VALUES('inskin_media','InSkin Media','InSkin Media is an advertising technology business, specialising in high-impact, non-intrusive brand advertising formats.Founded in the UK in 2009, the company specialises in rich-media display advertising, and employs 85 staff across its London, Hamburg, Sydney, Singapore and Hong Kong offices. InSkin partners with over 150 publishers, working across over 900 premium websites, globally, and has delivered successful campaigns for over 700 blue-chip brand clients.In November 2015, InSkin Media was featured in the Deloitte Technology Fast 500 EMEA 2015, a ranking of the 500 fastest growing technology companies in EMEA, following its inclusion in the ‘Scale Up Club’, a group of companies identified as having £100m turnover potential within 3-5 years, by Silicon Valley angel investors, the previous year.  In 2013, InSkin Media was named Best Media Owner in the IPA Media Owner Awards, having been rated as top company in the IPA Media Owner Survey that April. In 2012, InSkin Media won three British Media Awards; InSkin Media won Media Momentum’s Award as the fastest-growing digital business in Europe in 2011, and has since remained in its top 50 high-growth businesses.','http://www.inskinmedia.com/privacy-policy.html','http://www.inskinmedia.com/','1792',NULL,NULL,NULL);\nINSERT INTO companies VALUES('inspectlet','Inspectlet','\"Inspectlet lets you discover where visitors are getting confused on your site and what''s getting their attention. See every mouse movement, scrolling, clicks, and typing on your site.\"','https://www.inspectlet.com/legal#privacy','https://www.inspectlet.com/','1254','US','hello@inspectlet.com',NULL);\nINSERT INTO companies VALUES('instant_check_mate','Instant Check Mate','At Instant Checkmate, our customers come first. Our goal is to provide you with the most useful, detailed and important information on just about anyone. We''re continually listening to your feedback and working tirelessly each day to improve our data, technology, and website and services in general.Whether researching arrest records, phone numbers, addresses, demographic data, census data, or a wide variety of other information, we help thousands of Americans find what they''re looking for each and every day.At Instant Checkmate we take pride in having responsive, helpful member care representatives who are enthusiastic about helping our customers make the most of their membership and tools.','https://www.instantcheckmate.com/privacy-policy/','https://www.instantcheckmate.com/','3997',NULL,'privacy@instantcheckmate.com',NULL);\nINSERT INTO companies VALUES('instart_logic_inc','Instart Logic Inc.',NULL,'https://www.instartlogic.com/company/legal','https://www.instartlogic.com/','5351',NULL,NULL,NULL);\nINSERT INTO companies VALUES('insticator','Insticator',NULL,'https://www.insticator.com/landingpage#','https://www.insticator.com/landingpage','4710',NULL,'hello@insticator.com',NULL);\nINSERT INTO companies VALUES('instinctive','Instinctive','\"Instinctive powers content marketing and native advertising at scale. We work with award-winning agencies and Fortune 500 brands to build and share engaging stories with consumers.\"','https://instinctive.io/privacy','https://instinctive.io/','3804',NULL,'hello@instinctive.io',NULL);\nINSERT INTO companies VALUES('intango','Intango','Intango designs and executes tailored marketing and monetization solutions, using our powerful, AI-driven proprietary technology and architecture. Our complete offering provides deep insights for precision targeting, high-intent traffic sourcing, and results-driven advertising in every channel, to propel your revenue even higher.','https://intango.com/privacy-policy/','https://intango.com/','5352','IL','privacy@intango.com',NULL);\nINSERT INTO companies VALUES('integral_ad_science','Integral Ad Science','Integral Ad Science, formerly AdSafe Media, provides online advertising brand protection and risk management solutions. The company offers a suite of products and services for brands, agencies, ad networks, and publishers. Its rating system provides a third-party content rating and certification platform to help standardize and control the online advertising ecosystem.','https://integralads.com/privacy-policy/','https://integralads.com/','474','US','dpo@integralads.com','In 2012, AdSafe Media rebranded as Integral Ad Science, a media valuation company. Source: https://en.wikipedia.org/wiki/Integral_Ad_Science');\nINSERT INTO companies VALUES('integral_marketing','Integral Marketing','\"Integral Marketing is a digital marketing company that uses unique advanced targeting technology and display advertising to provide optimal value to brands online. Our goal is to ensure quality traffic, service, and to help save you the time necessary to search and locate effective websites to advertise on. Our understanding in customer service, technology, sales, and account management enables us to deliver and meet the advertising results you require.\"','http://integral-marketing.com/privacy.html','http://integral-marketing.com/','3234',NULL,'support@integral-marketing.com',NULL);\nINSERT INTO companies VALUES('intelliad','intelliAd','\"intelliAd is a global leader and pioneer in Bid Management and Multichannel Tracking.We offer advertisers and agencies an on-demand software solution to optimize their SEM efforts by translating data into actionable items in order to leverage organic and paid search efforts.\"','https://www.intelliad.de/datenschutz/','https://www.intelliad.de/','2192',NULL,'datenschutz@intelliad.de',NULL);\nINSERT INTO companies VALUES('intelligencefocus','IntelligenceFocus','IntelligenceFocus provides web analytics and optimization technologies.  Using a Software as a Service (SaaS) allows enterprises and organizations to analyze virtually any kind of interaction between a company''s extended web presence and online visitors across multimedia content. IntelligenceFocus PaaS provides a full stack of database as a service, integration API, programmable logic, and user interface capabilities.  Analytics are highly configurable for insight into audience behavior, ad targeting optimization and content delivery using real-time behavioral patterns.','http://www.intelligencefocus.com/en/privacypolicy.html','http://www.intelligencefocus.com','368','US','privacy@intelligencefocus.com',NULL);\nINSERT INTO companies VALUES('intelligent_reach','Intelligent Reach','\"Our platform consumes all of the merchant’s product data, enriching it where necessary, enabling the merchant’s offers to be everywhere potential buyers are looking for them. We track every interaction, automatically optimising marketing performance, onsite conversion and creating the perfect next action.\"','http://intelligentreach.com/privacy-policy/','https://www.intelligentreach.com/','2589',NULL,'team@intelligentreach.com',NULL);\nINSERT INTO companies VALUES('intelsat','Intelsat','Intelsat S.A. (formerly Intel-Sat, Intelsat) is a Luxembourgish-American multinational satellite services provider with corporate headquarters in Luxembourg and administrative headquarters in Tysons, Virginia, United States.','https://www.intelsat.com/privacy-policy/','https://www.intelsat.com/','','US','https://www.intelsat.com/contact-me/?email_privacyp',NULL);\nINSERT INTO companies VALUES('intent_media','Intent Media, Inc.','Intent Media provides advertising to e-commerce sites and enables these sites to turn customer intent into new revenue streams. They connect advertisers with markets of interested buyers by providing audience segmentation services and delivers new inventory to performance marketers.','https://intentmedia.com/privacy-policy/','http://www.intentmedia.com/','735','US','privacy@intent.com',NULL);\nINSERT INTO companies VALUES('intercom','Intercom','Intercom is a customer relationship management and messaging tool for web app owners.','https://www.intercom.com/legal/privacy','https://www.intercom.com/','1161','US','https://www.intercom.com/privacy-form',NULL);\nINSERT INTO companies VALUES('intergi_entertainment','Intergi Entertainment','Intergi Entertainment operates as an online gaming and entertainment advertising network and representation company. Intergi offers site specific, channel-wide and run-of-network, targeted advertising placement  Their global market allows advertisers and publishers to connect from different parts of the world and access a more robust and viable gaming enthusiast. Intergi is formerly known as eGameLogic.','http://www.intergi.com/privacy','http://playwiremedia.com/','525','US','n/a',NULL);\nINSERT INTO companies VALUES('intermarkets','Intermarkets','\"We serve publishers as their exclusive representative marketing their inventory to advertisers; in addition, we provide our advertising clients complete advertising solutions including placements on the Intermarkets Portfolio, media buying and planning, creative development and more.\"','http://www.intermarkets.net/about-intermarkets/intermarkets-privacy-policy','http://intermarkets.net/','1414','US',NULL,NULL);\nINSERT INTO companies VALUES('intermundo_media','InterMundo Media','InterMundo Media is a performance-based sales partner that builds custom online initiatives for marketers and their partners. Their services combine data-driven direct marketing, highly segmented campaigns, optimization and creative assets across multiple traffic sources including search, email, display and direct-to-web DRTV and radio.','http://intermundomedia.com/privacy/','http://intermundomedia.com/','445','US','info@intermundomedia.com',NULL);\nINSERT INTO companies VALUES('internet_billboard','Internet BillBoard','\"The Internet BillBoard company develops and runs software solutions for a complex internet advertising management and runs the biggest internet advertising network in the Czech Republic and Slovakia.We develop and run the advertising management system BBelements AdServer, BBelements IntextServer and other products.\"','https://www.ibillboard.com/en/privacy-information/','https://www.ibillboard.com/en/','2835',NULL,'info@ibillboard.com',NULL);\nINSERT INTO companies VALUES('internet_brands','Internet Brands','Internet Brands is an operator of e-commerce and community websites with a publisher network of automotive, home and travel sites. IB operates more than 70 sites including CarsDirect.com, DoItYourself.com, TrekEarth.com, and its network of automotive enthusiast sites.','https://www.internetbrands.com/privacy/privacy-main.html','https://www.internetbrands.com/','590','US','information@internetbrands.com',NULL);\nINSERT INTO companies VALUES('internetaudioads','InternetAudioAds','Voice2Page Communications is an Internet communications and media company. The company offers Internet audio services, as well as a web tool called InternetAudioAds that enables Internet users to record and listen to audio on the Internet.','http://www2.voice2page.com/home/privacy_policy/','http://internetaudioads.com/','695','US','customerserivice@voice2page.com',NULL);\nINSERT INTO companies VALUES('interpolls','Interpolls','Interpolls is an advertising technology company specializing in rich media solutions.  The ad platform provides flexibility to integrate various technologies (Flash, HTML5, DHTML, Java, XML, Silverlight) that allow advertisers to create and execute advanced rich media formats. Interpolls work with clients including Fortune 500 companies, to develop and execute innovative rich media ads.','https://www.interpolls.com/privacy','https://www.interpolls.com/','446','US','privacy@interpolls-inc.com',NULL);\nINSERT INTO companies VALUES('intilery','Intilery',NULL,'https://www.intilery.com/privacy-cookies-policy','http://www.intilery.com','3465',NULL,NULL,NULL);\nINSERT INTO companies VALUES('intimate_merger','Intimate Merger','Intimate-merger Co., Ltd. as the center the President Yanashima with a track record of big data analysis became RSCTC 2010 Discovery Challenge third in the world in (the world''s largest statistical algorithm contest), established in June 2013 It is has been DMP specialized company. Using about 400 million audience data and high analysis technology boasts Japan''s largest, has been mainly carried out the assistance of data marketing of DMP building and client companies and agencies of national clients and large-scale portal site.','https://corp.intimatemerger.com/privacypolicy-en/','https://corp.intimatemerger.com/','4067',NULL,'info@intimatemerger.com',NULL);\nINSERT INTO companies VALUES('intraedge','IntraEdge','IntraEdge, Inc. is a global technology services company, specializing in providing IT talent, services, and training to enhance business performance through technology. They offer a range of services including digital and cloud transformation, agile transformation, analytics and IoT, cybersecurity, and product development. Headquartered in Chandler, Arizona.','https://intraedge.com/privacy-policy/','https://intraedge.com/','','US','privacy@intraedge.com',NULL);\nINSERT INTO companies VALUES('intuition_machines','Intuition Machines','Intuition Machines, Inc. is a technology company specializing in privacy-first artificial intelligence and machine learning platforms. The company focuses on delivering AI solutions for cybersecurity, fraud detection, and abuse mitigation, serving a global user base.','https://www.imachines.com/privacy','https://www.imachines.com/','','US','privacy@imachines.com',NULL);\nINSERT INTO companies VALUES('inuvo','Inuvo','We use the Inuvo Platform as a foundation to provide additional monetization opportunities to our clients. As we drive targeted transactions through the Inuvo Platform and various Inuvo web properties, we have also developed applications that allow our customers to customize and expand their website user experience with useful services such as local business search, comparison shopping and customer “deals.”  All of these services help our clients deliver a customized user experience which, in turn, drives transactions.','http://www.inuvo.com/privacy-policy','http://www.inuvo.com/','1297','US','privacy@inuvo.com',NULL);\nINSERT INTO companies VALUES('investingchannel','InvestingChannel','InvestingChannel is an ad network geared toward financial products and services. Their publishers are financial services based, while its advertisers are interested in reaching that consumer demographic.','https://www.investingchannel.com/policy','https://www.investingchannel.com/','1021','US','info@investingchannel.com',NULL);\nINSERT INTO companies VALUES('inviziads','InviziAds','\"It’s [Inviziads] a brand new approach to maximizing revenues for flash game developers and publishers (website owners who develop/sponsor games), and for advertisers to effectively reach audiences that matter to them.\"','http://www.inviziads.com/privacy-policy.html','http://www.inviziads.com','1945','US',NULL,NULL);\nINSERT INTO companies VALUES('invoca','Invoca','Invoca is an AI-powered revenue execution platform that connects marketing, commerce and contact center teams to orchestrate seamless buyer journeys and deliver the best AI-driven buyer experiences.','https://www.invoca.com/privacy-policy/','https://www.invoca.com/','3040','US','legal@invoca.com',NULL);\nINSERT INTO companies VALUES('invodo','Invodo','\"At Invodo, we don’t just aim to please. We aim to convert — and that means finding the right content for your site. From product and shoppable video to 3D spin, we’ll help you deliver the most relevant content so your customers will have the confidence to buy.Our goal is to make your life easier, and our platform helps us achieve this. Our technology is fast and powerful, but more importantly: it’s simple — so you can manage and analyze your content in an efficient (and stress-free) way.To really revamp your site, you need more than just content — and that’s where our services come in. Once we draft a game plan, we’ll guide you through the rest of the process. From providing day-to-day support to keeping you up-to-date with the latest ecommerce technologies, we’re here to help you succeed.\"','http://www.invodo.com/privacy-policy/','http://www.invodo.com/','3987',NULL,'info@invodo.com',NULL);\nINSERT INTO companies VALUES('iotec','iotec global Ltd.','iotec are intent marketing specialists, applying machine learning to identify consumer intent without assumptions.We provide transparent media buying, smart insights and expertise to enable brands to understand and intelligently act in real context and in real time.','https://www.iotecglobal.com/privacy-policy/','https://www.iotecglobal.com/','4586',NULL,'privacy@iotecglobal.com',NULL);\nINSERT INTO companies VALUES('iovation','iovation','iovation aims to help companies determine which online visitors to trust in order to reduce fraud, abuse, and protect customers and online communities. iovation utilizes its database of devices used to access the web in order to determine the levels of risk associated with the different types of online transactions.','https://www.iovation.com/legal/privacy/','http://www.iovation.com/','388','US','info@iovation.com',NULL);\nINSERT INTO companies VALUES('ip-label','ip-label','Ekara is a hybrid platform, capable of monitoring 100% of existing applications and ensuring the availability, performance and reliability of your user journeys (Intranet and Internet, VDI, Mobile, API, IVR) in SaaS or On-Premise hosting.','https://ip-label.com/legal-information-en','https://ip-label.com/','2621','FR','info@ip-label.com',NULL);\nINSERT INTO companies VALUES('ip_de','IP Deutschland',NULL,NULL,'http://www.ip.de/','5353',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ip_tracker','IP Tracker','\"IP Tracker to Trace and Track IP AddressesWelcome to our website - IP-Tracker.org where you will everything you need to track and trace IP Address using the latest IP tracking technique.\"','https://www.ip-tracker.org/privacy-policy.php','https://www.ip-tracker.org/','3564',NULL,NULL,NULL);\nINSERT INTO companies VALUES('iperceptions','iPerceptions','iPerception is analytics company utilizing customer feedback including surveys and website traffic analysis in assisting publishers optimize content as well as serve advertising.','https://www.iperceptions.com/en/privacy-policy','https://www.iperceptions.com/','92','US','info@iPerceptions.com',NULL);\nINSERT INTO companies VALUES('ipfingerprint','IPFingerprint','\"IPFingerprint is a web based software tool that tracks who visited your website and marries this up to what pages they looked at and which phrases they used to find your website.\"','http://www.ipfingerprint.com/privacy_policy.html','http://www.ipfingerprint.com/','2883',NULL,'webmaster@virtualnet.co.uk',NULL);\nINSERT INTO companies VALUES('ipg_mediabrands','IPG Mediabrands','WHO WE AREFirst, let’s talk about what we’re not.We’re not a network that is limited by our size, outdated procedures or our structure. We’re not too proud or stratified to recognize the power of collaboration – in fact, we encourage it. We’re not satisfied with maintaining the status quo because we are already planning for tomorrow’s challenges and innovations.We are IPG Mediabrands, a new world agency group designed with dynamic marketing at its core.We are 8,500 marketing communication, media and technology specialists in over 130 countries. We are a diverse group of innovators, technologists, designers, scientists, musicians, strategists, buyers, thinkers, planners and mathematicians that are committed to building new solutions for the world’s top brands.We are dynamic, empowered and entrepreneurial.WHAT WE BELIEVEOur network is unified by a shared philosophy we call “Dynamic By Design”. More than just a catch phrase, Dynamic By Design is our commitment to our clients, partners and each other to think and work differently.It makes us agile, freeing us from the burdens of old ways of thinking and enabling us to leap into opportunity.It breaks down barriers, building a single integrated business where communication and collaboration come as standard.It thrives on questions, leaving behind a “set and forget” mentality, embracing adaptation and innovation.It helps our clients grow, bringing a better experience and bigger results every time.','https://www.ipgmediabrands.com/privacy-policy/','https://www.ipgmediabrands.com/','4181',NULL,'contact@mbww.com',NULL);\nINSERT INTO companies VALUES('ipinfo.io','ipinfo.io','IPinfo is the developer of an IP geolocation data platform offering reliable and accurate IP address data of internet users, enabling businesses to pinpoint their users'' locations, customize their experiences, prevent fraud and ensure compliance.','https://ipinfo.io/privacy-policy','https://ipinfo.io/','5074','US','support@ipinfo.io',NULL);\nINSERT INTO companies VALUES('iplogger','IPLogger','\"IPLOGGER.RU - a simple and convenient service to the organization and logging the IP address of the visitor and statistics of your blog, your message in another blog post, comment or forum topics, your user profile, and any of your page on the Internet.\"Translated by Google Translate',NULL,'http://iplogger.ru/','2275',NULL,'iplogger.ru@gmail.com',NULL);\nINSERT INTO companies VALUES('ipmg','IPMG','IPMG is the largest independently owned marketing group in the southern hemisphere. The companies that make up our group range across digital, design, print and published content.','http://www.ipmg.com.au/privacy/','http://www.ipmg.com.au/','422','US',NULL,NULL);\nINSERT INTO companies VALUES('iponweb','IPONWEB','\"IPONWEB has a long and unique history pioneering innovation in ad exchange & online advertising platform development. As the development team behind the first Ad exchange, RightMedia, we have evolved with the industry from its outset.From 2004 to 2007, IPONWEB built most components of the Right Media platform at least once. Some components had up to 3 complete redesign and builds by different teams. In 2007, Yahoo acquired Right Media, and began to phase out IPONWEB’s involvement. IPONWEB finished working on the Right Media platform in 2009.Since then, we have now contributed to, in part or in entirety, the build and operation of dozens of similar scale projects, and several dozen smaller, but just as algorithmically complex platforms. In total, we have built more than 120 different flavours of trading systems (DSP’s, SSP’s, Exchanges, DMP’s and other acronyms) for many of the biggest names in the industry.80% of our senior team has been with us since those early days, an almost unprecedented achievement in today’s high turnover and competitive Internet environment. We believe we are one of the few companies in the world that have the exposure to the type of engineering challenges that building and operating these platforms represents, not once, not twice, but tens of dozens of times. We know of no other company that can boast of this depth of experience and knowledge in this space.Each IPONWEB solution is unique and proprietary for every customer; but we leverage the collective experience to evolve products & platforms at an unmatched level of scale & sophistication. We have developed a unique methodology, based around our u-Platform technology stack, that delivers a fast, flexible, innovative and definitive solution for platform development in the online media space.This combined with our extensive background in algorithmic refinement and probability modeling gets our customers to market quickly, at high quality, with minimal engineering risk. We save our customers the years of development time, investment, mistakes & learning required to simply gain competitive parity.Importantly though this is just the start of the journey. With IPONWEB as a partner, our customers are able to focus their resources on what really matters, iterating their business and commercial model. Freed from technology limitations, our platforms flexibility and our iterative development processes, allow customers to rapidly evolve unique, market leading technology and proprietary product-sets, customised specifically to meet their future needs.\"','https://www.iponweb.com/privacy-policy/','https://www.iponweb.com/','2937',NULL,'info@iponweb.net','Acquired by Criteo SA in 2022. https://rocketreach.co/iponweb-acquired-by-criteo-profile_b5c717dcf42e0d2f');\nINSERT INTO companies VALUES('iprom','Iprom','Iprom is a Slovenian network that develops tools to streamline and optimize clients'' marketing efforts.','https://iprom.eu/cookies/','https://iprom.eu/','1136','SI','info@iprom.eu',NULL);\nINSERT INTO companies VALUES('ipromote','iPromote','iPromote offers an automated self-serve platform that helps SMBs access the benefits of local display advertising.','https://www.ipromote.com/privacy-policy/','https://www.ipromote.com/','1655','US','privacy@ipromote.com',NULL);\nINSERT INTO companies VALUES('iqm','IQM','IQM Corporation is a US-based media buying platform for advertisers in regulated industries like healthcare and political advertising, headquartered in Manhasset, New York.','https://iqm.com/privacy-policy/','https://iqm.com/','','US','privacy@iqm.com',NULL);\nINSERT INTO companies VALUES('iqzone','iqzone','IQzone is a privately-held digital advertising company specializing in programmatic ad solutions for e-commerce brands and app publishers. Its core product, \"Postitial,\" provides full-screen ad units that display without interrupting the user experience.','https://iqzone.com/privacy-policy/','https://iqzone.com/','','US','privacy@iqzone.com',NULL);\nINSERT INTO companies VALUES('ironsource','ironSource','\"ironSource is the leader in online and mobile software distribution, offering a complete ecosystem for downloadable applications including all aspects of user acquisition, conversion, monetization, integrated analytics and optimization.\"','https://www.ironsrc.com/privacy-policy/','https://www.ironsrc.com/','5016','US','legal@ironsrc.com',NULL);\nINSERT INTO companies VALUES('it_works','IT WORKS','IT WORKS Gmbh offers a real-time bidding platform for advertisers to buy media inventory at large scale. Enables publishers to create their own private marketplace and make their inventory available to selected partners. Enables advertisers to optimize the advertising campaign in real-time.','https://www.itworksgroup.de/datenschutz/','https://www.itworksgroup.de/','','DE','datenschutz@itworksgroup.de',NULL);\nINSERT INTO companies VALUES('ity.im','ity.im','\"Premium Social Network Advertising on the Internet''s Premier Social Marketing Platform.\"','http://ity.im/privacy','http://ity.im/','2376',NULL,NULL,NULL);\nINSERT INTO companies VALUES('iubenda','iubenda','iubenda is a 360° compliance solution for global data privacy laws. Including privacy policy generator, cookie consent management, ROPA, and Terms.','https://www.iubenda.com/privacy-policy/36700132','https://www.iubenda.com/en','1813','BE','info@iubenda.com',NULL);\nINSERT INTO companies VALUES('ividence','ividence','\"At ividence, we are passionate about email. As a result, we created a platform that implements acquisition campaigns the right way—respecting subscribers, increasing revenue for publishers, and bringing in top ROI for advertisers.\"','http://www.ividence.com/en/legal/','https://www.ividence.com/','2520',NULL,'contact.us@ividence.com',NULL);\nINSERT INTO companies VALUES('iwiw','iWiW','iWiW is a Hungarian social networking service.',NULL,'http://iwiw.hu/i/belepes','1084','US','info@iwiw.hu',NULL);\nINSERT INTO companies VALUES('izooto','iZooto','Businesses we work with put their heart and soul in attracting visitors to their website - a place where they list products they want to sell or services they want to provide. Be it a 2 people team or 500 people large marketing department, we understand the craft and the effort it takes to put together a website that gets the job done. Marketers invest time, energy, money and pour their heart in setting up campaigns, optimizing for SEO and generating social buzz.We are here to make you crush your numbers and make you look good. That''s all that we want - help you get the most of every ounce of energy, every second and every penny that you have invested.','https://www.izooto.com/privacy-policy','https://www.izooto.com/','5132',NULL,'support@izooto.com',NULL);\nINSERT INTO companies VALUES('j-list','J-List','\"Welcome to the Friends of J-List, our affiliate program, which will enable fans and customers to support J-List and help us spread interest in Japan to others while earning cash or store credit for each order you send our way. Our Affiliate program is open to anyone who owns a website.\"',NULL,'http://www.jlist.com/page/affiliates.html','2161',NULL,'support.jlist.com',NULL);\nINSERT INTO companies VALUES('jeeng','Jeeng',NULL,NULL,'https://jeeng.com/','5075',NULL,NULL,NULL);\nINSERT INTO companies VALUES('jet_interactive','Jet Interactive','\"Jet Interactive is a call analytics company and specialist telecommunications provider.\"','https://www.jetinteractive.com.au/images/Documents/privacy%20policy%20jet.pdf','https://www.jetinteractive.com.au/','2518',NULL,NULL,NULL);\nINSERT INTO companies VALUES('jetlore','Jetlore',NULL,'http://www.jetlore.com/privacy','http://www.jetlore.com/','4815',NULL,'support@jetlore.com',NULL);\nINSERT INTO companies VALUES('jetpack_digital','Jetpack Digital','The Jetpack platform offers publishers rapid development of network-ready custom ad products. Jetpack assembles custom units from an evolving library of media and engagement modules into the required component configuration...Jetpack dynamically injects the custom units on any site, hosts and serves all media, and provides tracking and reporting for all click and engagement metrics.','https://www.jetpack.net/privacy','https://www.jetpack.net/','1859','US',NULL,NULL);\nINSERT INTO companies VALUES('jing_dong','Jing Dong',NULL,'https://about.jd.com/privacy/','https://www.jd.com/','5038',NULL,NULL,NULL);\nINSERT INTO companies VALUES('jink','Jink','\"The Jink GmbH specializes in the planning and implementation of online advertising campaigns and marketing of professional websites. Monitor with a customized marketing on the ad-server technology and analyze your campaigns and constantly evaluate them on the back of success. The resultant reporting system records the technical processing and can represent the values ​​of broken transparent. To obtain valid data and can make the success of effectively measured.\"','http://www.jink.de/agb','http://www.jink.de/','1337','DE','kontakt@jink.de',NULL);\nINSERT INTO companies VALUES('jirafe','Jirafe','\"Jirafe was started with the goal of helping eCommerce retailers grow their online businesses.\"',NULL,'http://jirafe.com/','2277',NULL,'support@Jirafe.com',NULL);\nINSERT INTO companies VALUES('jivochat','JivoChat','\"With JivoChat you can chat with visitors on your web site to increase conversion and online sales!\"','https://www.jivochat.com/privacy','https://www.jivochat.com/','2733',NULL,'info@jivosite.ru',NULL);\nINSERT INTO companies VALUES('jivox','Jivox','\"Jivox -- the leader in data driven advertising and marketingJivox is the leader in data driven advertising and marketing – including programmatic creative advertising that includes in app video, native, mobile and display ads – for multiscreen ad campaigns. Global brands and media agencies rely on Jivox’s data driven dynamic ad platform to create, serve and manage personalized advertising campaigns, sometimes described as programmatic creative advertising.Data is what makes programmatic creative campaigns work, enabling advertisers to adjust branding and product messaging, images, pricing, and other ad content on-the-fly based on relevance to the user and market conditions, creating a personalized, custom experience for the consumer.As a result, Jivox’s flagship product, Jivox IQ is the preferred dynamic ad platform and is used today by several hundred brands, media companies and creative agencies to create and serve their most demanding multi-screen ad campaigns. Our marquee customer list includes A&E Networks, Charles Schwab, College Humor, Crispin Porter & Bogusky, Federated Media, FedEx, Digitas, Havas, Hearst, Jack Daniels, Johnson & Johnson, Marriott, Merkley + Partners, Razorfish, Red Bull, Universal McCann, and Wieden+Kennedy.In addition to being first to deliver a true data driven dynamic ad development and serving platform, Jivox also pioneered the use of self-service creative and production tools to enable personalized ads at scale without the complexities and error prone process of manual code development.\"','https://www.jivox.com/privacy','https://www.jivox.com/','1872',NULL,'support@jivox.com',NULL);\nINSERT INTO companies VALUES('jobs_2_careers','Jobs 2 Careers','\"Jobs2Careers is the #1 Pay-Per-Application job search engine with more than 20 million registered users and over 1 billion monthly searches. Our mission is to innovate the way talent effectively finds work and work finds talent. We not only offer professional jobs, but also part-time work and gigs to job seekers. For employers, we offer unique pay-for-performance solutions that allow for more effective and economical recruiting.\"','https://www.jobs2careers.com/privacy.php','https://www.jobs2careers.com/','4247',NULL,'privacy@jobs2careers.com',NULL);\nINSERT INTO companies VALUES('jornaya','Jornaya','We began our journey in 2011, when we set out to solve a pervasive problem in the lead marketplace, an industry in which both buyers and sellers knew little about the quality or conversion potential of the leads they were exchanging. Realizing that the best way to understand the potential of a lead was to witness the online journey of the consumer that led up to it, we pioneered a “VIN number for leads” that enabled a shared way of understanding and communicating about the history of each lead.Fast forward to today, and we’re leveraging our robust network of websites, along with an unmatched ability to see first hand what consumers are doing on these sites, to deliver the surest signals of consumer intent.','https://www.jornaya.com/privacy-policy','https://www.jornaya.com/','3043',NULL,'support@jornaya.com',NULL);\nINSERT INTO companies VALUES('jotform','Jotform','Jotform is a SaaS company that provides an online form builder, no-code app builder, and e-signature software. The company''s products help automate data collection and management through a wide array of templates and integrations.','https://www.jotform.com/privacy/','https://www.jotform.com/','','US','privacy@jotform.com',NULL);\nINSERT INTO companies VALUES('js_communications','JS Communications','\"...match ads content developed by our own technology DCM (Dynamic Contents Match) engine Using a wide range of content inthe context of the optimal ads.\"Translated by Google Translate','http://www.jssearch.net/support/legalnotify.php','http://www.jssearch.net/','3185',NULL,NULL,NULL);\nINSERT INTO companies VALUES('js_foundation','JS Foundation','JS Foundation supports some of the most important projects in the JavaScript ecosystem.','https://js.foundation/about/governance/privacy-policy','https://js.foundation/','5354','US',NULL,NULL);\nINSERT INTO companies VALUES('jse_coin','JSE Coin',NULL,'https://jsecoin.com/privacy/','https://jsecoin.com/','5052',NULL,NULL,NULL);\nINSERT INTO companies VALUES('juggcash','JuggCash','\"Juggcash was created with the goal of making our affiliates more money online than any other adult affiliate programs. Juggcash was developed by Brazzers and we look forward to working with you to increase your profits online for free.\"',NULL,'http://www.juggcash.com','2021',NULL,'mouss@brazzers.com',NULL);\nINSERT INTO companies VALUES('juiceadv','JuiceADV','\"JuiceADV is one of the first online advertising companies that has stood out over the years for the quality of service offered and the booming market of online advertising.\"','http://juiceadv.com/privacy.asp','http://juiceadv.com/','1507','IT',NULL,NULL);\nINSERT INTO companies VALUES('juicyads','JuicyAds','Juicy Ads is an adult advertising marketplace for publishers to sell ads and earn money, as well as for advertisers looking to buy traffic.','http://www.juicyads.com/tos.php','http://www.juicyads.com/','806','CA','jay@juicyads.com',NULL);\nINSERT INTO companies VALUES('jumplead','Jumplead','Jumplead is for people who want to work smarter with their online marketing, but don''t want the cost and complexity of most inbound and marketing automation systems. We aim to provide practical tools and a community to support the creation of better, more effective marketing.','https://jumplead.com/privacy','https://jumplead.com/','4484',NULL,NULL,NULL);\nINSERT INTO companies VALUES('just_answer','Just Answer','\"Ask an expert and get answers to your questions - ASAP\"','http://ww2.justanswer.com/privacy-security','https://www.justanswer.com/','5218',NULL,NULL,NULL);\nINSERT INTO companies VALUES('just_premium','GumGum','GumGum is a Santa Monica, California-based developer of computer vision and machine learning systems for contextually driven advertising and brand protection.','https://gumgum.com/terms-and-policies/privacy-policy','https://gumgum.com/','2882','US',NULL,'Acquired by gumgum 2021 https://gumgum.com/press-releases/gumgum-acquires-justpremium');\nINSERT INTO companies VALUES('just_relevant','Just Relevant','\"Just Relevant is a quick and easy way for website publishers to display merchant ads relevant to their site''s content.\"',NULL,'http://www.justrelevant.com/','2196',NULL,'brian@justrelevant.com',NULL);\nINSERT INTO companies VALUES('jw_player','JW Player','LongTail Video is a provider of video advertising solutions. They operate a AdSolution, a video ad network powered by their flagship product, the JW Player, a self-serve video ad serving system.','https://www.jwplayer.com/privacy/','https://www.jwplayer.com/','1112','US','privacy@jwplayer.com',NULL);\nINSERT INTO companies VALUES('kakao','Kakao','Kakao Corp is the company behind KakaoTalk, which serves as its main platform and flagship application.','https://www.kakao.com/policy/privacy?lang=en','https://www.kakaocorp.com/page/','','KR','https://cs.kakao.com/requests?category=1&locale=en&node=30288&service=8&select=combo2',NULL);\nINSERT INTO companies VALUES('kaleidoscope_promotions','Kaleidoscope Promotions','\"Kaleidoscope Promotions is an interactive marketing agency with a unique skill set: applications development and data management expertise, along with sound marketing strategy and promotional campaign planning.\"',NULL,'http://www.kpicentral.com/','1456','US','questions@kpicentral.com',NULL);\nINSERT INTO companies VALUES('kalooga','Kalooga','\"Kalooga enriches your website. We engage users by exposing relevant pictorial content through integrated visual navigation - enhancing the user journey, building traffic and growing revenue.\"','https://www.kalooga.com/privacy','https://www.kalooga.com/','2545','NL','info@kalooga.com',NULL);\nINSERT INTO companies VALUES('kaltura','Kaltura','\"Kaltura is the world''s first Open Source Online Video Platform, providing both enterprise level commercial software and services, fully supported and maintained by Kaltura, as well as free open-source community supported solutions, for video publishing, management, syndication and monetization.\"','https://corp.kaltura.com/privacy-policy','https://corp.kaltura.com/','1480','US','info@kaltura.com',NULL);\nINSERT INTO companies VALUES('kameleoon','Kameleoon','Kameleoon is a B2B SaaS company providing an all-in-one web/full-stack experimentation and AI-driven personalization platform for marketing/product teams, helping businesses optimize customer experiences, engagement, and revenue through A/B testing, feature experimentation, and real-time data analysis.','https://www.kameleoon.com/privacy-policy','https://www.kameleoon.com/','3044','FR','legal@kameleoon.com',NULL);\nINSERT INTO companies VALUES('kanoodle','Kanoodle','Kanoodle is a pay-per-click search engine that provides search targeted sponsored links. Kanoodle  maps the table of contents of partner sites to build categories and match appropriate ads. Kanoodle is Seevast company and partner of Pulse 360.','http://kanoodle.com/privacy-policy/','http://www.kanoodle.com','95','US','clientservices@corp.kanoodle.com',NULL);\nINSERT INTO companies VALUES('kantar_group','Kantar Group','Kantar Group Ltd. is an international market research company based in London, England. It was founded in 1992, and has approximately 30,000 employees across over 90 countries working in various research disciplines, including brand guidance, brand strategy, social media monitoring, advertising effectiveness, consumer and shopper behaviour,design strategy and public opinion.','https://www.kantar.com/cookies-policies','https://www.kantar.com/','','GB','dataprotection@kantar.com',NULL);\nINSERT INTO companies VALUES('kargo','Kargo','Kargo offers solutions for programmatic and direct buying, contextual targeting, and high-impact creative formats, focusing on driving performance, brand lift, and publisher revenue while maximizing consumer attention beyond initial impressions. Kargo serves clients worldwide, including in the United States, and is known for its work in the advertising and marketing sector.','https://www.kargo.com/privacy/','https://www.kargo.com/','1585','US','info@kargo.com',NULL);\nINSERT INTO companies VALUES('katchup','Katchup','Katchup is a subsidiary of CyberCité, a company specializing in digital marketing for 15 years, with 90 employees in Paris, Lyon, Nantes and Chambery.Google Translate',NULL,'https://www.katchup.fr/','4975',NULL,NULL,NULL);\nINSERT INTO companies VALUES('kauli','Kauli','\"We, Kauli, provides contextual advertising services to maximize the effectiveness of online advertising using our publisher contents network and the high-precision context extraction technologies.\"','http://kauli.co.jp/pages/privacy.html','http://kauli.co.jp/','1417','JP',NULL,NULL);\nINSERT INTO companies VALUES('kavanga','Kavanga','\"Kavanga - one of the largest advertising networks Runet working on its own technology platform.\"Translated by Kavanga','http://kavanga.ru/privacy.html','http://kavanga.ru/','2053',NULL,'privacy@kavanga.ru',NULL);\nINSERT INTO companies VALUES('kbm_group','KBM Group','We are the global leader in knowledge-based marketing solutions and help businesses worldwide use their data to improve marketing performance, increase profits and ROI.As data experts for over 30 years, KBM Group collects, connects and enriches data so that it is a strategic marketing asset. From our roots in consumer data, we’ve grown to provide sophisticated analytics and insights that fuel relevant, intelligent marketing messages and content. We  help marketers integrate, manage, analyze and optimize their data to engage more effectively with their customers and prospects.','http://www.i-behavior.com/interactive-marketing/privacy-policydata-security-qa/','https://www.kbmg.com/','611','US','contactus@i-behavior.com',NULL);\nINSERT INTO companies VALUES('keen_io','Keen IO','\"Keen IO was specifically built to capture and store event data — those constant little interactions that happen all day, every day, in your apps. Event data can be anything, and Keen IO gives you the ability to grab as much of it as you want, then store it forever on our cloud database.\"','https://keen.io/privacy-policy?source=footer','https://keen.io','2915',NULL,'privacy@keen.io',NULL);\nINSERT INTO companies VALUES('kelkoo','Kelkoo','Kelkoo Group is a global e-commerce marketing platform connecting online retailers with publishers. It leverages purchase intent data and technology to deliver quality traffic to online shops by displaying their products to millions of shoppers daily. The company, also known as Kelkoo, operates as a price comparison and shopping service, enabling customers to search for products and compare prices from various merchants.','https://www.kelkoogroup.com/privacy-policy/','https://www.kelkoogroup.com/','3326','FR','dpo@kelkoogroup.com',NULL);\nINSERT INTO companies VALUES('kendobrands','Kendo Brands','Kendo Brands, founded in 2010 in San Francisco, specializes in creating and distributing beauty products under various brand names.','https://www.kendobrands.com/privacy/','https://www.kendobrands.com/','','US','dpo@kendobrands.com',NULL);\nINSERT INTO companies VALUES('kenshoo','Kenshoo','The Kenshoo Universal Platform delivers automation, business intelligence, integration and scale to make better marketing investments.','http://kenshoo.com/privacy-policy/','http://www.kenshoo.com/','1299','US','privacy@kenshoo.com',NULL);\nINSERT INTO companies VALUES('ketch','Ketch','The Ketch Data Permissioning Platform is a set of applications, infrastructure, and APIs that collapses the cost and complexity of privacy operations and mobilizes responsibly gathered data for deeper customer engagement.','https://www.ketch.com/privacy-policy','https://www.ketch.com','','US','privacy@ketch.com',NULL);\nINSERT INTO companies VALUES('keymetric','KeyMetric','KeyMetric is a phone call analytics provider. Their platform provides real time phone call and conversion analytics for marketers, ad agencies and call centers.','https://www.keymetric.net/privacy-statement.asp','https://www.keymetric.net/','976','US','webmaster@keymetric.net',NULL);\nINSERT INTO companies VALUES('keynote_systems','Keynote Systems','\"Keynote is the global leader in Internet and mobile cloud testing & monitoring.We provide companies with solutions for continuously improving the online experience. With Keynote, companies know precisely how their Web sites, content, and applications perform on actual browsers, networks, and mobile devices.\"','https://www.keynote.com/legal/privacy/','https://www.keynote.com/','2121',NULL,'privacy@keynote.com',NULL);\nINSERT INTO companies VALUES('keytiles','Keytiles',NULL,NULL,'http://keytiles.com/','1968','US',NULL,NULL);\nINSERT INTO companies VALUES('keywee','Keywee','Keywee offers publishers and marketers a new approach to content distribution and performance measurement. Our revolutionary platform employs advanced text-mining technology and a vast database of historical content performance to help publishers, retailers and brands find the audiences most likely to meet specific business goals for their content.Backed by leading investors including Eric Schmidt’s Innovation Endeavors and Marker LLC, as well as The New York Times Company, the company is headquartered in New York and Tel Aviv','https://keywee.co/privacy-policy/','https://keywee.co/','5071',NULL,NULL,NULL);\nINSERT INTO companies VALUES('khoros','Khoros','\"With smarter workflows and intuitive analytics, we help marketers rise above the noise to engage the right audiences with relevant content.Spredfast offers a single social software platform that allows your brand to meet complex and varied business goals.\"','https://khoros.com/privacy','https://khoros.com/','2491',NULL,'hello@spredfast.com',NULL);\nINSERT INTO companies VALUES('kickfactory','Kickfactory','KickFactory is a managed service that makes it possible for brands to win customers through social sales at scale — all without adding costly headcount or slowing down to learn new tools.',NULL,'https://kickfactory.com/','4098',NULL,NULL,NULL);\nINSERT INTO companies VALUES('kickfire','Kickfire','VisiStat is a web analytics provider and visitor tracking tool.','http://id.kickfire.com/privacy-policy','http://id.kickfire.com/','180','US','support@visistat.com',NULL);\nINSERT INTO companies VALUES('kilkaya','Kilkaya','Kilkaya is an analytics tool tailor-made for news publishers. We collect engagement metrics like pageviews, clicks, view time, and unique users. After aggregating this data, we provide access to it via dashboards, reports, and our API.','https://kilkaya.com/privacy','https://kilkaya.com','','NO','contact@kilkaya.com',NULL);\nINSERT INTO companies VALUES('kindly','Kindly','Kindly develops AI-powered agents built to automate support and drive sales. It provides LLMs and machine learning that scales with your business. Our multilingual models understands your user questions in any language, both long and short, with slang or spelling mistakes.','https://www.kindly.ai/legal-policies/privacy-policy-customers','https://www.kindly.ai/','','NO','dpo@kindly.ai',NULL);\nINSERT INTO companies VALUES('king.com','King.com','\"We''re commited to delivering casual, social games that have connected over 38 million players with over 2.8 billion game plays. We''re a passionate team who have delivered 150 classic and fun new titles in 14 languages, across our growing gaming network on the web, social and mobile.\"','http://about.king.com/consumer-terms/terms/en#privacy','http://www.king.com/','1750','US',NULL,NULL);\nINSERT INTO companies VALUES('kiosked','Kiosked','\"Kiosked turns any online content, images, videos and applications into interactive and viral storefronts... Kiosked enables brands to turn their content into storefronts and engage directly with their fans everywhere. Publishers can monetize the impulses they generate through Kiosked content. Through kiosks anyone can buy, want and get more information when an impulse is born.\"','https://www.kiosked.com/privacy-policy.html','https://www.kiosked.com/','3136',NULL,'privacy@kiosked.com',NULL);\nINSERT INTO companies VALUES('kissmetrics','Kissmetrics','KISSmetrics is a website analytics tool that offers real-time tracking based upon actual page views by real people, as opposed to just page view-based analytics. It allows for online businesses to track every customer interaction and lets businesses visually see the online customer''s lifecycle.','https://www.kissmetricshq.com/privacy/','https://www.kissmetricshq.com/','222','US','privacy@kissmetricshq.com',NULL);\nINSERT INTO companies VALUES('kitara_media','Kitara Media','Kitara Media is a behavioral network that combines targeting and performance with site-by-site reporting, allowing advertisers to identify and track desired audiences.','https://kitaramedia.com/company/privacy-policy/','https://kitaramedia.com/','983','US','info@kitaramedia.com',NULL);\nINSERT INTO companies VALUES('kixer','Kixer','We help leading web publishers tap into the growing user acquisition marketplace, while giving app developers the opportunity to attract a niche, highly engaged user base via a unique distribution outlet.','http://kixer.com/privacy-policy/','http://www.kixer.com','3907',NULL,'contact@kixer.com',NULL);\nINSERT INTO companies VALUES('klarna','Klarna','Klarna is a Swedish fintech company that provides online financial services. The company provides payment processing services for the e-commerce industry, managing store claims and customer payments. The company is a \"buy now, pay later\" service provider.','https://www.klarna.com/privacy/','https://www.klarna.com/','','SE','privacy@klarna.com',NULL);\nINSERT INTO companies VALUES('klaviyo','Klaviyo','Klaviyo, Inc. is a global technology company that provides a marketing automation platform, used primarily for email marketing and SMS marketing.','https://www.klaviyo.com/legal/privacy','https://www.klaviyo.com/','4702','US','privacy@klaviyo.com',NULL);\nINSERT INTO companies VALUES('kleep','Kleep','Kleep provides a customer experience management software solution. It empowers e-commerce fashion brands with AI-driven sizing solutions to unlock higher conversions and fewer returns.','https://www.kleep.ai/cgv-legals','https://www.kleep.ai/','','FR','dpo@kleep.ai',NULL);\nINSERT INTO companies VALUES('klikki','Klikki','\"Klikki is a fast growing Nordic Digital Marketing Company  with offices in Helsinki, Stockholm, Piteå, Copenhagen and Oslo. The Company represents the next generation Digital Marketing Company focusing on technology-driven, results-based, integrated digital marketing solutions for desktop, tablets and mobile that maximise the total effect of our clients digital marketing budgets.\"',NULL,'https://www.klikki.com/','1890',NULL,'stockholm@klikki.com',NULL);\nINSERT INTO companies VALUES('kliksaya','KlikSaya','\"KlikSaya.Com online advertising market is Indonesia. By using our services, you can put your ads to a variety of leading sites, at reasonable costs, and advertising reporting features.\"',NULL,'http://www.kliksaya.com','1887','US',NULL,NULL);\nINSERT INTO companies VALUES('kloudend','Kloudend','Kloudend, Inc. is the company behind ipapi.co, a leading IP intelligence service. It provides API-based IP geolocation, network data, and security services','https://ipapi.co/privacy/','https://ipapi.co/','','US','privacy@kloudend.com',NULL);\nINSERT INTO companies VALUES('knoopstat','Knoopstat','\"Met website statistieken van KnoopStat is het mogelijk om betrouwbaar en ''realtime'' een beeld te krijgen van het bezoekersgedrag op uw homepage of website, ongeacht het aantal pagina''s.\"',NULL,'http://www.knoopstat.nl','3725',NULL,NULL,NULL);\nINSERT INTO companies VALUES('knotch','Knotch','From a single click we give you every data point you need in a clear, actionable & insightful live dashboard and reports.','https://www.knotch.it/about/privacy','http://knotch.it','4114',NULL,'privacy@knotch.com',NULL);\nINSERT INTO companies VALUES('komli','Komli','Komli Media (A unit of SVG Media Group) is now India’s leading Digital Marketing Platform Company which offers a wide range of digital solutions across Mobile, Display, Video and Social. Komli uses next generation platforms that leverage the power of programmatic buying to make advertising across it''s solutions more simpler, efficient and transparent.','http://www.komli.com/index.html','http://www.komli.com/index.html','1722','US',NULL,NULL);\nINSERT INTO companies VALUES('komoona','Komoona','\"Our mission is to bring true monetization and optimization abilities to the long tail and maximize publisher’s income. With billions of impressions being served through our system, we are able to offer sites of all caliber services that are usually only available for top brand publishers.\"',NULL,'http://www.komoona.com/#home','1865','US','support@komoona.com',NULL);\nINSERT INTO companies VALUES('kontext','Kontext',NULL,'http://www.kontextr.com/datenschutzerklaerung/','https://www.kontextr.com/','4743',NULL,NULL,NULL);\nINSERT INTO companies VALUES('kontextua','Kontextua','\"Kontextua is the leading In-Text, in-Image and Display Advertising Network for Latin America, serving the needs of more than 20k Webmasters a day, providing excellent monetization solutions for Online Businesses.\"','http://www.kontextua.com/en/privacy.html','http://www.kontextua.com/','2544',NULL,'info@kontextua.com',NULL);\nINSERT INTO companies VALUES('korrelate','Korrelate','Korrelate is an advertising technology company. Korrelate helps publishers get more value from their ad inventory by aggregating audiences at scale in sells them direct to brand advertisers. This is accomplished by integrating real-time media and audience intelligence directly into the publisher''s ad server.','http://korrelate.com/privacy/','http://korrelate.com/','854','US','privacy@korrelate.com',NULL);\nINSERT INTO companies VALUES('kortx','Kortx','KORTX was founded with one goal in mind, to demystify the marketing technology stack making solutions once available to the largest enterprises accessible to companies of all sizes. By embracing cloud computing and leveraging decades of technology and marketing experience, KORTX deploys solutions meeting the challenges of modern marketers. KORTX collects hundreds of millions of monthly interactions helping our customers improve their marketing and operational effectiveness. See how our dynamic data management products help marketers leverage their most important data assets across all channels.','https://kortx.io/privacy.html','http://www.kortx.io/','4441',NULL,NULL,NULL);\nINSERT INTO companies VALUES('kovai','Kovai','Kovai group builds tools to help organizations operate, monitor, manage, and document their business operations.','https://www.kovai.co/privacy-policy/','https://www.kovai.co/','','GB','contact@kovai.co',NULL);\nINSERT INTO companies VALUES('krush_media','Krush Media','Krush Media operates an Ad network for connecting advertisers and publishers. Enables brands and publishers to run ad campaigns and target audiences on a mobile, tablet, desktop, and CTV publishers. It offers a programmatic platform for advertisers that helps in delivering advertising in multiple formats that include a display, mobile, desktop, and connected TV.','https://krushmedia.com/privacy-policy/','https://krushmedia.com/','','US','info@krushmedia.com',NULL);\nINSERT INTO companies VALUES('kundo','Kundo','Kundo offers an AI-powered customer service solution essential for companies aiming to centralize ticketing, knowledge platforms, and self-service.','https://kb.kundo.se/guide/cookie-och-integritetspolicy','https://www.kundo.se','','SE','support@kundo.se',NULL);\nINSERT INTO companies VALUES('kupona','Kupona Media','\"KUPONA is an online performance marketing agency with retargeting based on CPO output.\"Translated by Google Translate','http://www.kupona-media.de/en/privacy-policy','https://www.kupona.de/','2815',NULL,'datenschutz@kupona.de',NULL);\nINSERT INTO companies VALUES('kwanko','Kwanko','\"European leader in digital marketing, Kwanko brings its strong innovation capacity to create value for its advertisers and establish long-term partnerships with its publishers.Our expertise: Performance MarketingOur channels: web advertising, mobile advertising and RTB emailing.\"','https://www.kwanko.com/en/privacy-policy/','https://www.kwanko.com/','1512','US',NULL,NULL);\nINSERT INTO companies VALUES('kyto','Kyto','Kyto is an international software-as-a-service provider headquartered in Berlin. We support industrial companies by digitalizing their marketing activities. Kyto manages their trade directory and market platform entries and offers individual search engine marketing. Our service enables customers to increase traffic on their website, achieve a greater global reach and consequently boost their revenues.','https://www.kyto.com/imprint/','https://www.kyto.com/','4701',NULL,NULL,NULL);\nINSERT INTO companies VALUES('lagardere_advertising','Lagardère Advertising','Lagardère Advertising is a French media and advertising agency that develops creative media solutions for their clients. They are the international advertising sales house for Lagardère Active, the media branch of the Lagardère Group.',NULL,'https://www.lagardere-global-advertising.com/','1113','FR',NULL,NULL);\nINSERT INTO companies VALUES('lanista_concepts','Lanista Concepts','\"We link quality publishers with our top brand advertisers nationwide. To accomplish this, we assembled a growing network of influential tastemakers that offer dynamic and interactive content to their followers.\"',NULL,'http://lanistaconcepts.com/','2811',NULL,'contact@lanistaconcepts.com',NULL);\nINSERT INTO companies VALUES('latimes','Los Angeles Times','\"The Los Angeles Times Media Group (LATMG) businesses and affiliates include the Los Angeles Times, The Envelope, Times Community News and Hoy Los Angeles... LATMG also owns and operates California Community News as well as Tribune Direct''s west coast division and is part of Tribune Company, one of the country''s leading media companies with businesses in publishing, the Internet and broadcasting.\"','http://www.tronc.com/privacy-policy/','https://www.latimes.com/','2557',NULL,'privacy@tribune.com',NULL);\nINSERT INTO companies VALUES('launch_darkly','LaunchDarkly','LaunchDarkly is a Feature Management Platform that serves over 10 billion feature flags daily to help software teams build better software, faster. Feature flagging is an industry best practice of wrapping a new or risky section of code or infrastructure change with a flag. Each flag can easily be turned off independent of code deployment (aka ”dark launching”). LaunchDarkly has SDKs for all major web and mobile platforms.','https://launchdarkly.com/policies/privacy/','https://launchdarkly.com/','4946','US','privacy@launchdarkly.com',NULL);\nINSERT INTO companies VALUES('launchbit','LaunchBit','\"We help marketers advertise to professional audiences. Generate more leads cost-effectively.\"','https://www.launchbit.com/privacy/','https://www.launchbit.com/','3636',NULL,'hello@launchbit.com',NULL);\nINSERT INTO companies VALUES('lazada','Lazada','Lazada Group operates Lazada, Southeast Asia’s number one online shopping and selling destination, with presence in Indonesia, Malaysia, Philippines, Singapore, Thailand and Vietnam.Launched in March 2012, Lazada is pioneering eCommerce in the region by providing customers with an effortless shopping experience with multiple payment methods including cash-on-delivery, extensive customer care and free returns. Lazada features a wide product offering in categories ranging from consumer electronics to household goods, toys, fashion and sports equipment.Lazada offers brands and merchants a marketplace solution with simple and direct access to about 560 million consumers in six countries through one retail channel.',NULL,'https://www.lazada.com/','5035',NULL,NULL,NULL);\nINSERT INTO companies VALUES('lcx_digital','LCX Digital','\"LCX.com, LLC., a pioneer in interactive marketing and technology, targets and delivers audiences for advertisers. Our customers generate increased revenue and profits through guaranteed performance of media, coupled with one seamless platform of serving, targeting, tracking and analytics technologies.\"','http://ads.lcxdigital.com/','https://www.lcx.com/','2709',NULL,'sales@lcx.com',NULL);\nINSERT INTO companies VALUES('le_monde.fr','Le Monde.fr',NULL,'https://www.lemonde.fr/service/donnees_personnelles.html','https://www.lemonde.fr/','5355',NULL,NULL,NULL);\nINSERT INTO companies VALUES('lead_forensics','Lead Forensics','Lead Forensics is the software that reveals the identity of your anonymous website visitors, turning them into actionable sales-ready leads in real-time, at your fingertips.','https://www.leadforensics.com/privacy-and-cookies/','https://www.leadforensics.com/','2042','GB','data-compliance@leadforensics.com',NULL);\nINSERT INTO companies VALUES('lead_liaison','Lead Liaison','\"Lead Liaison provides cloud-based marketing and sales automation solutions that help businesses worldwide attract, convert and close leads. The company markets to businesses of all sizes and focuses on creating the broadest and most user-friendly Revenue Generation Software® platform. Our innovative and robust software combines lead capture, real-time lead tracking, lead qualification, lead distribution, database segmentation, lead nurturing, content creation, social media engagement and ROI reporting into a single platform.\"','https://www.leadliaison.com/support/contact-us/','https://www.leadliaison.com','5215',NULL,'support@leadliaison.com',NULL);\nINSERT INTO companies VALUES('leadback','LeadBack','Get 2 times more calls from your website today! Set the widget callback for the site. More calls. Higher conversion. Sales growth.(Google Translate)',NULL,'https://leadback.ru/?utm_source=leadback_widget&utm_medium=eas-balt.ru&utm_campaign=self_ad','4914',NULL,NULL,NULL);\nINSERT INTO companies VALUES('leadbullet','LeadBullet','\"Our mission is to achieve the objectives of the client''s business - especially to reach the relevant target groups on the Internet, increasing the level of sales and generate greater involvement and interest in content for potential customers. Through long-term cooperation with major publishers, media houses and direct clients, we have gained valuable experience, which we are happy to share. Our services, or content marketing, behavioral solutions and SEO services allow for a build-Efficiency reach...\"Translated by Google Translate',NULL,'http://leadbullet.pl/','3350',NULL,'kontakt@leadbullet.pl',NULL);\nINSERT INTO companies VALUES('leaddyno','LeadDyno','\"LeadDyno helps you measure the ROI of your online advertising, so that you can intelligently allocate your future spending. You can also setup an affiliate / reseller program in just minutes.\"',NULL,'https://www.leaddyno.com/','3390',NULL,'info@leaddyno.com',NULL);\nINSERT INTO companies VALUES('leadgenic','LeadGENIC','LeadGenic - an intelligent systemfor efficient collection of the contact detailsof potential customers online.','https://leadgenic.com/','https://leadgenic.com/','4380',NULL,NULL,NULL);\nINSERT INTO companies VALUES('leadhit','LeadHit','\"[E]-mail and sms service with the functions of automatic determination of each recipient''s interest in particular goods/content of a web-site he or she visits or a mobile application he or she uses, and targets e-mail and sms mailings based on the determined interests.\"Translated by LeadHit, LLC.','https://leadhit.ru/rule_of_use/','https://leadhit.ru/','2958',NULL,'info@leadhit.ru',NULL);\nINSERT INTO companies VALUES('leading_reports','Leading Reports','\"Our products and additional modules are redeemable monthly.We support you in advance!The calculation of our products is made ​​at the end of the month, according to the usage.We do not work with hidden costs!Subdomains of a domain booked are included in the product price.You can for Leading Reports versions create any number of users.There are no training or installation costs for our software.We host your data on German servers.Our software and your data will be hosted exclusively on German servers.We conform with data protection!Leading Reports is 100% compliance with data protection. All processed information refer exclusively to company data. The technology takes into account all the necessary requirements of the Federal Data / Telemedia Act and the Düsseldorf Circle.\"\"','https://www.leadingreports.de/datenschutzbestimmungen.html','https://www.leadingreports.de/','4253',NULL,'info@leadingreports.de',NULL);\nINSERT INTO companies VALUES('leadinspector','LeadInspector','Lead Inspector GmbH is a modern communications company with a focus on first-class B2B customer relationships and professional lead management.With the SaaS application of the same name, Lead Inspector GmbH supports companies in lead generation and new customer acquisition via the company''s website.The image of the digital lead generation and lead management process is anchored in the principles of the business idea of ​​Lead Inspector GmbH. Lead Inspector GmbH supports its customers in lead generation through targeted online marketing, website visitor identification, telemarketing services and the introduction of a CRM system. Lead Inspector GmbH thus prepares its customers, in whole or in part, for the digital world.','https://www.leadinspector.de/b2b-kundengewinnung-neu-definiert/impressum/','https://www.leadinspector.de/','4010',NULL,'info@leadinspector.de',NULL);\nINSERT INTO companies VALUES('leadlander','LeadLander','LeadLander is a web-based application that provides access to real-time customer intelligence analytics reports. Companies can use this reporting to identify which prospects are hitting their website; which prospects are reacting to their cold calls and emails; and which prospects are researching their online product collateral.','http://www.leadlander.com/privacy.asp','http://www.leadlander.com/','98','US','support@leadlander.com',NULL);\nINSERT INTO companies VALUES('leadlife','LeadLife','\"LeadLife couples marketing automation technology with content marketing experts.\"','http://leadlife.com/privacy/','http://leadlife.com/','2417',NULL,'Info@leadlife.com',NULL);\nINSERT INTO companies VALUES('leadoo','Leadoo','Leadoo is a Conversion Platform transforming website traffic into leads through tools like Conversion Kit and expert support for seamless marketing and sales alignment.','https://leadoo.com/privacy-policy/','https://leadoo.com/','','FI','info@leadoo.com',NULL);\nINSERT INTO companies VALUES('leadpages','Leadpages','We''re a dynamic software company that creates simple, beautiful software and web apps that allow businesses to grow large and devoted audiences. We believe compelling online marketing doesn''t need to be time consuming and tedious. We are (humbly) considered a thought leader in our space because we precisely skated to where the puck was going before anyone else left the bench.','https://www.leadpages.net/legal#section_11','https://www.leadpages.net/','4423',NULL,'accounts@ave81.com',NULL);\nINSERT INTO companies VALUES('leadplace','Temelio','CRM Onboarding is a technology which helps you digitize offline CRM data and connect them in real time to your online media and marketing platforms: DMPs, DSPs, trading desks, personalization solutions, attribution platforms etc.','https://temelio.com/vie-privee','https://temelio.com','3989',NULL,'contact@leadplace.fr',NULL);\nINSERT INTO companies VALUES('leadscoreapp','LeadScoreApp','AutoTarget collects lead data then your leads visits your website and apply it to target, automate and personalize your campaigns in MailChimp and Campaign Monitor.','https://www.leadscore.dk/cookie-og-personoplysningspolitik/','http://leadscoreapp.com','5184',NULL,NULL,NULL);\nINSERT INTO companies VALUES('leadsius','Leadsius','\"A truly free Marketing Automation Platform that helps ambitious Marketers make top performing marketing. Leadsius Free includes campaign management, email marketing, lead nurturing, lead scoring, lead analysis & reporting, website visitor tracking, landing page creation and a suite of add-on functionality like CRM integration.\"','http://www.leadsius.com/company/legal/privacy-policy/','http://www.leadsius.com/','3101',NULL,'info@leadsius.com',NULL);\nINSERT INTO companies VALUES('leady','Leady','\"The system identifies the companies which visited your website, finds out what they were interested in and fills in their retunrs, emails, phones, names...  It generates LEADS, or contacts for potential clients, who actually have real, provable interest in your specific products or services.\"Translated by IMPER CZ, s.r.o.',NULL,'http://www.leady.cz/','3160',NULL,'info@leady.com',NULL);\nINSERT INTO companies VALUES('leaf_group','Leaf Group','Leaf Group, formerly Demand Media Inc, is an American content company that operates online brands including eHow, livestrong.com, and marketplace brands Saatchi Art and Society6. The company also provides social media platforms to existing large company websites and distributes content bundled with social media tools to outlets around the web.','https://www.leafgroup.com/privacy-policy/','https://www.leafgroup.com/','374','US','legal@leafgroup.com',unistr('According to this source, Leaf Group (belong currently to Graham Holdings Company) now operates under the name World of Good Brands:\\u000ahttps://www.globenewswire.com/news-release/2023/05/31/2679342/0/en/Leaf-Group-s-Media-Business-is-Now-World-of-Good-Brands.html\\u000a\\u000aSee also https://github.com/ghostery/trackerdb/issues/139'));\nINSERT INTO companies VALUES('leiki','Leiki','\"Leiki Focus is the most advanced consumer analysis and targeted campaign solution for Product Vendors, Media Agencies and Ad Networks.\"','http://www.leiki.com/privacy','http://www.leiki.com','1509','FI','info@leiki.com',NULL);\nINSERT INTO companies VALUES('lengow','Lengow','\"Distribute your product catalogues on all comparison shopping sites, marketplaces, affiliate networks, social networks and sponsored links!\"','https://www.lengow.com/legal-notice/','https://www.lengow.com/','2127',NULL,'contact@lengow.com',NULL);\nINSERT INTO companies VALUES('let_reach','Let Reach',NULL,'https://letreach.com/privacy-policy','https://letreach.com/','4491',NULL,NULL,NULL);\nINSERT INTO companies VALUES('letv','LeTv','We are a subscription service that provides our members with access to motion pictures, television and other audio-visual entertainment (\"movies & TV shows\") streamed over the Internet to certain Internet-connected TV''s, computers and other devices. There are 4 applications in Le.com group includes Le, Live, LeVidi, LeView.','http://www.leeco.com/us/privacy-policy/','https://www.le.com/','4566',NULL,NULL,NULL);\nINSERT INTO companies VALUES('level3_communications','Level 3 Communications, Inc.','\"Level 3 Communications is an international communications company...We deliver premier data, video and voice services — for open IP Tone capabilities to businesses and carriers.\"','http://www.level3.com/en/privacy/','http://www.level3.com/en/','3264',NULL,'privacy@level3.com',NULL);\nINSERT INTO companies VALUES('lexisnexis','LexisNexis','LexisNexis combine legal and business information with analytics and technology to advance what''s possible for the way our customers work.','https://www.lexisnexis.com/en-us/terms/privacy-policy.page','https://www.lexisnexis.com','','US',NULL,NULL);\nINSERT INTO companies VALUES('life_inside','Life Inside','Life Inside AB provides an interactive video platform that can be integrated to any website. The platform allows businesses to collect and share video testimonials that provide a deeper understanding of their offerings, products and services.','https://www.lifeinside.io/privacy-policy','https://www.lifeinside.io','','SE','legal@lifeinside.io',NULL);\nINSERT INTO companies VALUES('lifestreet_media','LifeStreet Media','Founded in 2005, LifeStreet Media has become the largest social media ad network, serving billions of impressions each month into 8,000+ applications and sites to a global audience of over 100 million. The company’s proprietary technology, customer focus, and commitment to compliance with advertising guidelines have allowed it to quickly achieve market leadership. Fusing optimization technology with human insight, LifeStreet Media relentlessly creates and optimizes thousands of ads and landing pages on behalf of its advertisers. This approach maximizes revenues, eliminates guesswork, and saves time and resources for advertisers, developers and publishers alike.','http://www.lifestreet.com/privacy/','http://lifestreetmedia.com/','1310','US','privacy.policy@lifestreet.com',NULL);\nINSERT INTO companies VALUES('liftigniter','LiftIgniter','LiftIgniter provides the ultimate personalized customer journey and user experience through real-time content discovery.','https://www.liftigniter.com/privacy-policy/','https://www.liftigniter.com/','5356','US',NULL,NULL);\nINSERT INTO companies VALUES('lime_technologies','Lime Technologies','Lime helps businesses all over the Nordics and Northern Europe to become better at customer care. The company develops and sells digital products for Customer Relationship Management, development and management of customer relationships.','https://www.lime-technologies.com/legal/privacy-policy/','https://www.lime-technologies.com/','','SE','support@lime.tech',NULL);\nINSERT INTO companies VALUES('limelight_networks','Limelight Networks','Limelight Networks provides content delivery network services to deliver digital content over the internet.','https://media.limelight.com/documents/Limelight+Networks+Privacy+Policy+06-2018.pdf','https://www.limelight.com/','1312','US','privacy@llnw.com',NULL);\nINSERT INTO companies VALUES('limk','Limk','\"Smarter Content RecommendationsInterested in making your website visitors stay longer, and consume more of your content? Install the most effective content recommendation widgets on the market.\"','https://limk.com/privacy-policy/','https://limk.com/','4287',NULL,'contact@limk.com',NULL);\nINSERT INTO companies VALUES('line','Line','\"LINE Corporation is based in Japan. It was renamed from NHN Japan Corporation on April 1, 2013, and operates the LINE, NAVER matome, and livedoor web service businesses. Since launching LINE in June 2011, LINE Corporation has placed the core of its business upon the service and actively pushed for the further expansion of the service on a global scale, as well as accelerating the development of LINE as a platform.\"','https://terms.line.me/line_rules/?lang=en-US','https://line.me/','5232','JP',NULL,NULL);\nINSERT INTO companies VALUES('linezing','LineZing','LingZing is a Chinese software company that makes web analytics tools. Their flagship product is called Quantum statistics.','http://www.linezing.com/privacy.html','http://www.linezing.com/','1142','CN',NULL,NULL);\nINSERT INTO companies VALUES('linkbucks','Linkbucks','\"Linkbucks is the first Internet advertising network to recognize that the interplay between websites and web users is the foundation of a successful viral campaign. Our network brings web users, websites, and marketers together in a way that is beneficial to everyone.\"','https://www.linkbucks.com/policy/','https://www.linkbucks.com/','3063',NULL,NULL,NULL);\nINSERT INTO companies VALUES('linkconnector','LinkConnector','LinkConnector is an affiliate marketing network that provides web tools for affiliates and merchants.  Among their products are:  Affiliate Widget Builder,  FraudFREE Protection System and Source Checker.','https://www.linkconnector.com/privacy-policy/','http://www.linkconnector.com/index.htm','998','US',NULL,NULL);\nINSERT INTO companies VALUES('linker','Linker','Linker is an innovative platform for recommending and distributing content on partner media.Through advanced algorithm, the system recognizes content that interests the user and distributes it to the right audience.','https://linker.hr/privacy','https://linker.hr/','5133','HR','info@linker.hr',NULL);\nINSERT INTO companies VALUES('linkprice','LinkPrice','\"LinkPrice is an online affiliate marketing company... It helps merchants to build effective online sales channels based on performance and also provide the affiliate members who are the operators of websites with many benefits and support them to create profits through commercial activities.\"Translated by LinkPrice','http://www.linkprice.com/home/linkprice0703.htm','http://www.linkprice.com/','3202',NULL,'privacy@linkprice.com',NULL);\nINSERT INTO companies VALUES('linkpulse','Linkpulse','\"Linkpulse is an analytics tool tailor made for high traffic news sites. Optimize and prioritize your front page backed by live data.\"','http://www.linkpulse.com/privacy','http://www.linkpulse.com/','2368',NULL,'contact@linkpulse.com',NULL);\nINSERT INTO companies VALUES('links_lab','Links Lab',NULL,NULL,'http://www.links-lab.fr/','5357',NULL,NULL,NULL);\nINSERT INTO companies VALUES('linksalpha','LinksAlpha','\"LinksAlpha.com provides Social Media Management Applications. Currently offered products include Social Media publishing tools for self and automatic publishing. These publishing tools support 25+ Social Networks and Publishing platforms enabling publishers to engage users and distribute their content on viral platforms delivering more return on their publishing efforts.\"','http://www.linksalpha.com/about/privacy','http://www.linksalpha.com','1398','US','privacy@linksalpha.com',NULL);\nINSERT INTO companies VALUES('linkstorm','Linkstorm','Linkstorm is an advertising technology company that provides services to online marketing, e-commerce, publishing, and social networking. Its hyperlinking system enhances the performance of online advertising, e-commerce, and online publishing by overlaying cascading menus onto various kinds of hyperlink and ad units.','http://www.linkstorm.net/privacy/','http://www.linkstorms.com/','530','US','info@linkstorm.net',NULL);\nINSERT INTO companies VALUES('linkup','Linkup','\"Completely unique in the industry, LinkUp is the only job search engine that indexes jobs exclusively from company websites. Updated daily, the 3+ million jobs in our search engine are always current with no duplicates or job pollution.As a result, we deliver a phenomenal user experience for job seekers and a terrific value proposition for our employer advertisers and data clients.Plus with our outstanding vision and dedicated team, we’re a pretty awesome company to work with and for (of course we''re biased).\"',NULL,'http://www.linkup.com/','4246',NULL,NULL,NULL);\nINSERT INTO companies VALUES('linkwise','Linkwise','\"Linkwise is the first and largest Affiliate Network in Greece. Launched in 2008, it has since been at the forefront of the Affiliate Marketing sector and works with the largest brands in the market.\"','https://linkwi.se/global-en/privacy-policy/','https://linkwi.se/global-en/','3508',NULL,NULL,NULL);\nINSERT INTO companies VALUES('linkwithin','LinkWithin','\"LinkWithin is a blog widget that appears under each post, linking to related stories from your blog archive.\"','http://www.linkwithin.com/privacy','http://www.linkwithin.com/','2170',NULL,'support@linkwithin.com',NULL);\nINSERT INTO companies VALUES('lipscore','Lipscore','Lipscore operates as a SaaS-based ratings and reviews solution for built for retail and e-commerce. We help businesses collect and display verified product and service reviews—improving trust, boosting conversions, and increasing visibility across channels like Google Search and Shopping Ads.','https://lipscore.com/privacy-policy/','https://lipscore.com/','','NO','mail@lipscore.com',NULL);\nINSERT INTO companies VALUES('liquidm','LiquidM Technology GmbH',NULL,'https://liquidm.com/privacy-policy/','https://liquidm.com/','5358',NULL,NULL,unistr('\"This follows the company’s acquisitions of DynAdmic and LiquidM, with the companies now consolidated under the Equativ brand.\" - Published: June 8, 2022\\u000a\\u000aSource: https://www.equativ.com/press/smart-adserver-rebrands-as-equativ'));\nINSERT INTO companies VALUES('liqwid','Liqwid','\"Liqwid tag dynamically creates adaptive extensions to webpages that provide on the viewers'' screens above-the-fold and non-scrollable digital real-estate programmed for managed advertising delivery based on 100% viewablity across all devices.\"','http://www.liqwid.com/privacy-policy/','http://www.liqwid.com/','3681',NULL,'support@liqwid.com',NULL);\nINSERT INTO companies VALUES('listrak','Listrak','Listrak is a provider of a digital marketing automation platform intended to analyze sales, develop branding and improve customer engagement. The company''s digital marketing automation platform personalizes product recommendations for every customer across multiple channels, tracks promotional campaign performance, monitors sales, analyzes consumer behavior and recommends suitable marketing strategies, enabling online retailers and omnichannel digital marketers to create personalized interactions to reach, engage and convert shoppers.','https://www.listrak.com/privacy-and-terms/privacy','https://www.listrak.com/','1115','US','privacy@listrak.com',NULL);\nINSERT INTO companies VALUES('live2support','Live2Support','\"Live2Support is a leading live chat software with advanced features. Live2Support! Live Chat Software service is a simple plug and play hosted service and does not require any IT expertise. You just need to place small code into your web page to enable Live Support on your website.\"','https://www.live2support.com/privacyls.php','https://www.live2support.com/','3053',NULL,'webmaster@live2support.com',NULL);\nINSERT INTO companies VALUES('live800','Live800','Company ProfilesWe have been providing global leading live chat software-Live800 since 2003. Headquartered in Chengdu, China, and we have three offshore offices located in Japan, Canada and Malaysia.\"Live\" means online, whereas \"800\" refers to the well-known and easy-to-reach service. Live800 is designed to be a real-time online chat solution. Live800 provides users with many practical functions, such as Live Chat, Monitor visitor, Data Analysis, Co-Browsing, Click to Call etc. Live800 acts as a magic bridge between potential clients and business owners. It helps to develop more potential clients, cut down operational costs, increase operators'' working efficiency and promote customer satisfaction. Live800 serves as a powerful tool for online marketing, enquiry and customer service and is adapted to various websites.We have accumulated splendid reputations by providing the best services to over 20,000 customers in the world, including the global famous companies like Nike, Coach, GAP, Philips, VOLKSWAGEN AG, Esprit, EF Education First Group, Alibaba Group, Walmart, DangDang, ATA Group, Huawei Group, VIPSHOP, China Life Insurance, China Mobile, NetEase, Kingdee, Hugo Boss, RenRen etc.','http://en.live800.com/privacypolicy.html','http://live800.com','4103',NULL,'product@live.com',NULL);\nINSERT INTO companies VALUES('live_help_now','Live Help Now','\"Your website is just a website, until it can tell your story. Your customers have a lot of choices to make and they need a reason to choose you over all the rest.Your business was built on your experience, passion and knowledge. LiveHelpNow tells your story to customers by creating relationships and relationships change everything. Using social media to relate to your customers is about as personal as shouting in a crowd.LiveHelpNow is setting a new standard in customer service media, and it''s so much more than social…The future is personal.\"','https://www.livehelpnow.net/policies/privacy/','https://www.livehelpnow.net/','4209',NULL,NULL,NULL);\nINSERT INTO companies VALUES('liveagent','LiveAgent',NULL,'https://www.ladesk.com/privacy-cookies-policy/','https://www.ladesk.com/','4823',NULL,'support@ladesk.com',NULL);\nINSERT INTO companies VALUES('livechat','LiveChat','Our mission is to deliver fast and simple communication between e-commerce owners and best prospects on their websites and to make online sales process easier.Company motto – “Keep it simple!”','http://www.livechatinc.com/privacy-policy/','http://www.livechatinc.com','2653',NULL,'support@livechatinc.com',NULL);\nINSERT INTO companies VALUES('livechatnow!','LiveChatNow!','\"LiveChatNow! is live chat software for live help and sales.\"',NULL,'http://www.livechatnow.com/','2902',NULL,NULL,NULL);\nINSERT INTO companies VALUES('liveclicker','Liveclicker','\"Liveclicker is the leading provider of video commerce solutions for the web''s top brands. From production through conversion, Liveclicker''s video commerce solutions help clients sell more with video.\"','http://www.liveclicker.com/privacy/','http://www.liveclicker.com','2593',NULL,'support@liveclicker.com',NULL);\nINSERT INTO companies VALUES('livecounter','Livecounter','\"Live Counter is basically a free hit counter that gives you live advanced statistics updated real time in the browser. We offer statistics: number of online users, number of visitors (today, yesterday, this month, last month, always, etc.), page views and latest referende link (also called references or referring sites).\"',NULL,'https://www.livecounter.dk/','1448','US',NULL,NULL);\nINSERT INTO companies VALUES('liveintent','LiveIntent','LiveIntent provides an email and social marketing solution that enables advertisers to serve dynamic ads through traditionally non-dynamic channels such as email and newsletters. LiveIntent serves dynamic and personalized ads to viewers based on data gathered about the user in real time.','https://liveintent.com/services-privacy-policy/','https://www.liveintent.com/','674','US','info@liveintent.com',NULL);\nINSERT INTO companies VALUES('liveinternet','LiveInternet','LiveInternet is a Russian web portal and social networking site.','https://liveintent.com/privacy-policy/','http://www.liveinternet.ru/','224','RU',NULL,NULL);\nINSERT INTO companies VALUES('livejournal','LiveJournal','\"LiveJournal is a community publishing platform, willfully blurring the lines between blogging and social networking. Since 1999 LiveJournal has been home to a wide array of creative individuals looking to share common interests, meet new friends, and express themselves.\"','https://www.livejournal.com/legal/privacy.bml','https://www.livejournal.com/','2038',NULL,'privacy@livejournal.com',NULL);\nINSERT INTO companies VALUES('liveperson','LivePerson','LivePerson is a chat and expert advice company. Their product connects businesses and experts with consumers seeking help on the Web. LivePerson''s hosted software platform creates a personalized online experience for the consumer, and offers live chat, click to talk and email management solutions.','https://www.liveperson.com/policies/privacy','https://www.liveperson.com/','100','US','privacy@liveperson.com',NULL);\nINSERT INTO companies VALUES('livere','LiveRe','\"LivreRe allows your site visitors to comment on, share, and interact with your content in new and exciting ways. Easy social media login, sharing across multiple accounts, and tons of add ons and modules mean more traffic and a more engaging site.\"Translated by Cizion, Inc.','https://livere.com/policy/privacy','http://www.livere.com/','3188',NULL,'contact@cizion.com',NULL);\nINSERT INTO companies VALUES('livetex','LiveTex','\"LiveTex - the first company in the Russian market, offering not just a service online counseling and a range of solutions for communication with visitors to the site: online consultant, \"Lead Generator\", a call from the site, an intelligent system of involving visitors in a dialogue that allows to offer assistance in the most appropriate time, increasing the quality of service and sales.\"Translated by Google Translate','https://livetex.ru/Documents/download-agreement-2015.htm','https://livetex.ru/','2957',NULL,'hello@livetex.ru',NULL);\nINSERT INTO companies VALUES('localytics','Localytics','\"Localytics provides the powerful tools and actionable insights needed for more successful, more profitable mobile and tablet applications.\"','http://www.localytics.com/privacy-policy/','http://www.localytics.com/','1582',NULL,'contact@localytics.com',NULL);\nINSERT INTO companies VALUES('lockerdome','LockerDome','LockerDome helps you personalize the web.','https://lockerdome.com/privacy','https://lockerdome.com','3905',NULL,'support@lockerdome.com',NULL);\nINSERT INTO companies VALUES('logan_media','Logan Media',NULL,NULL,'https://loganmedia.mobi/','4706',NULL,NULL,NULL);\nINSERT INTO companies VALUES('logdna','LogDNA','\"Engagement as a service.\"','https://logdna.com/privacy.html','https://logdna.com/','3252',NULL,'info@answerbook.com',NULL);\nINSERT INTO companies VALUES('loggly','Loggly','\"Loggly is a San Francisco startup developing the world''s most popular cloud based logging platform. We have built a highly scalable log management service as a platform which provides great value for the entire organization.\"','https://www.loggly.com/about/privacy-policy/','https://www.loggly.com/','2283',NULL,'info@loggly.com','Loggly acquired by SolarWinds 2018. https://en.wikipedia.org/wiki/Loggly');\nINSERT INTO companies VALUES('logicad','Logicad','\"Logicad...is equipped with a system infrastructure that can be processed and stable delivery fast log audience large-scale data.\"Translated by Google Translate','https://www.so-netmedia.jp/compliance/index.html','http://www.logicad.com/','2911',NULL,NULL,NULL);\nINSERT INTO companies VALUES('logly','logly','\"Delivery by ad-serving technology \"Intent Targeting\" of its own, to understand the will of the consumer, and assess the value of advertising frame is possible.\"Translated by Google Translate','https://www.logly.co.jp/privacy.html','https://logly.co.jp/','2910',NULL,'info@logly.co.jp',NULL);\nINSERT INTO companies VALUES('logmein','LogMeIn','\"Our self-learning knowledge base helps customers interact with your brand via self-service widgets across your website, mobile and Facebook, automatically answering repetitive questions. Only new or high-value questions are escalated to sales and support agents.\"','http://www.nanorep.com/privacy','https://www.logmein.com/','2533',NULL,'support@nanorep.com',NULL);\nINSERT INTO companies VALUES('lomadee','Lomadee','\"Launched in 2009 with the promise of revolutionizing the ways of monetization on the internet, Lomadee today offers the most complete tool of contextual advertising network.\"Translated by Google Translate','https://www.buscape.com.br/politica-de-privacidade.html','http://lomadee.com','2165',NULL,'contato@buscapecompany.com',NULL);\nINSERT INTO companies VALUES('loomia','Loomia','Loomia is a recommendation service for web site publishers. They provide content recommendations based on a web user''s browsing history by offering suggestions like \"based on your browsing history, we recommend\". Their content and video discovery engines gather and evaluate contextual data, visitor behavior and social information to create personalized recommendations to users.',NULL,'https://www.loomia.com/','102','US','privacy@loomia.com',NULL);\nINSERT INTO companies VALUES('loopfuse','LoopFuse','LoopFuse is a provider of enterprise marketing automation software geared toward marketing and sales organizations to streamline operations.',NULL,'https://www.loopfuse.com/','1101','US','webmaster@loopfuse.com',NULL);\nINSERT INTO companies VALUES('lotame','Lotame','Lotame is a data-driven technology platform.  Publishers, agencies, and brands leverage Lotame''s Crowd Control technology to build customized audiences built on first and third-party data.','https://www.lotame.com/about-lotame/privacy/','http://www.lotame.com','103','US','privacy@lotame.com',NULL);\nINSERT INTO companies VALUES('luc.id','Luc.id','Lucid was founded in 2010 as Federated Sample, LLC; the parent company was renamed in 2015, keeping the Federated Sample and Fulcrum business units as thriving brands, and adding the Proof adtech/martech business. The name Lucid reinforces our commitment to creating clarity through the power of massive data - \"human answers\". - See more at: https://luc.id/about/#sthash.SpFCG0At.dpuf','https://luc.id/privacy-policy/','https://luc.id/','4426',NULL,'legal@luc.id',NULL);\nINSERT INTO companies VALUES('lucini_&_lucini_communications','Lucini & Lucini Communications','\"Lucini & Lucini is a global leading provider of email marketing and email delivery services for Agencies, Businesses, Associations and Publisher by focusing on our customer''s satisfaction and needs.\"','http://www.lucinilucini.com/privacy/','http://www.lucinilucini.com/','2954',NULL,'info@lucinilucini.com',NULL);\nINSERT INTO companies VALUES('lucky_orange','Lucky Orange','\"Lucky Orange is a tool that lets you quickly see who is on your site and interact with them in neat ways. It was designed to help you quickly understand what is happening on your website, identify problem areas & solutions, and reach out to customers.\"','http://www.luckyorange.com/privacy.php','http://www.luckyorange.com/','2399',NULL,NULL,NULL);\nINSERT INTO companies VALUES('lynchpin_analytics','Lynchpin Analytics','Lynchpin Analytics is an analytics provider that assists clients with strategic consultancy, training and technical services to help them make the most of online data. Lynchpin are \"vendor neutral\".  This allows Lynchpin to work within existing analytics software or if required enhance, modify or remove software that is not delivering the analytical framework the client requires.',NULL,'https://www.lynchpin.com/','104','GB','info@lynchpin.com',NULL);\nINSERT INTO companies VALUES('lytics','Lytics','Lytics provides customer data, analytics, and marketing intelligence solutions to our customer via a software as a service platform. The Service is designed to help our Clients’ marketing communications and campaigns be more useful and relevant to their respective consumers by showing them content and messages that best address their specific interests and needs.','https://www.lytics.com/privacy-policy/','https://www.lytics.com/','4376','US','privacy@lytics.com',NULL);\nINSERT INTO companies VALUES('m-pathy','m-pathy','\"m-pathy records user interactions i.e. mouse movements and clicks to analyze the usability under realistic conditions. In compliance with data protection personal data is anonymized while recording.\"','http://www.m-pathy.com/cms/datenschutz','http://www.m-pathy.com/','3363',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mad_ads_media','Mad Ads Media','\"We align...ad networks, ad exchanges, and RTB advertisers to compete for your inventory. Our optimization technology assures the ad provider with the highest CPM is served, earning you the most for every impression.\"',NULL,'http://www.madadsmedia.com/','2627',NULL,'support@madadsmedia.com',NULL);\nINSERT INTO companies VALUES('madison_logic','Madison Logic','Madison Logic is the global leader in Account Based Marketing. Our B2B marketing technology platform, Activate ABM™, unifies display advertising and lead generation with comprehensive attribution metrics to show real return on investment.As the only comprehensive global ABM platform built for B2B marketers, it leverages unmatched proprietary data, reach, and scale to identify, engage and convert prospective accounts.With Madison Logic, B2B marketers can easily gain insights into their target accounts to personalize their message, optimize their programs and inform their sales and marketing strategy.','https://www.madisonlogic.com/privacy/','https://www.madisonlogic.com/','4673',NULL,NULL,NULL);\nINSERT INTO companies VALUES('madnet','MADNET','mobile advertising platform which uses Real Time Bidding technology.','https://madnetex.com/privacy-ru/','http://madnet.ru/en','3544',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mads','MADS','MADS operates a mobile advertising server. They offer a CRM integration tool that enables mobile targeting.',NULL,'http://www.mads.com/','950','NL',NULL,NULL);\nINSERT INTO companies VALUES('magna_advertise','Magna Advertise','\"Magna - a system for placing contextual ads on business resources RBC, major news sites and image business resources paying for clicks on your ad.\"Translated by Google Translate',NULL,'http://magna.ru/','2203',NULL,NULL,NULL);\nINSERT INTO companies VALUES('magnetic','Magnetic','Magnetic is a digital marketing and artificial intelligence company. We use machine learning and AI to deliver smarter, faster, and more effective advertising. Our powerful AI platform continuously analyzes the attributes of 320 million live user profiles alongside real-time inventory supply and bid opportunities to deliver highly performant and profitable campaigns for our clients.','https://www.magnetic.com/about/privacy/','https://www.magnetic.com/','373','US','privacy@magnetic.com',NULL);\nINSERT INTO companies VALUES('magnetise_group','Magnetise Group','\"The Magnetise Group is a marketing technology company dedicated to improving the reach, return and accountability of digital engagement. Its platform enables a suite of products to create and manage advertising, marketing and lead generation campaigns that deliver significant revenue while optimising both response rates and data quality.\"',NULL,'https://magnetisegroup.com/','1406','GB','info@magnetisegroup.com',NULL);\nINSERT INTO companies VALUES('magnify360','Magnify360','Magnify360 is a content personalization and marketing optimization platform that can track an internet user''s behavior and characteristics based upon some 300 data points on each individual. Magnify360''s proprietary web-based behavioral targeting engine Predictive DNA is a real-time, self-learning algorithm. It instantly identifies thousands of unique preferences of consumer  prospects.',NULL,'http://www.magnify360.com/','106','US','privacy@magnify360.com',NULL);\nINSERT INTO companies VALUES('magnite','Magnite','Magnite Inc (formerly Rubicon Project) is an advertising technology company that provides online advertising solutions. The company offers ad network optimization services and ad quality protection programs.','https://www.magnite.com/legal/','https://www.magnite.com/','','US','privacy@magnite.com',NULL);\nINSERT INTO companies VALUES('mailchimp','MailChimp','MailChimp is a provider of email-marketing services. They enable users to design email campaigns, share them on social networks, integrate with web services, manage subscribers and track campaign results.','https://mailchimp.com/legal/privacy/','https://mailchimp.com/','1187','US','privacy@mailchimp.com',NULL);\nINSERT INTO companies VALUES('mailerlite','MailerLite',NULL,'https://www.mailerlite.com/privacy-policy','https://www.mailerlite.com/','5359',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mailtrack','MailTrack','\"Get the ✔ ✔ from WhatsApp® on your Gmail.\"','https://mailtrack.io/en/privacy','https://mailtrack.io','3349',NULL,'hi@mailtrack.io',NULL);\nINSERT INTO companies VALUES('mainadv','mainADV','\"mainADV provides custom-tailored and measurable solutions to deliver the best online marketing strategies for our clients. We are a company that specializes in Programmatic Buying applied to Performance Marketing, with the ability to reach target audiences all over the world...\"','https://www.mainad.com/privacy-policy/','http://www.mainadv.com/','1622',NULL,'info@mainadv.com',NULL);\nINSERT INTO companies VALUES('makazi_group','Makazi Group','\"makazi offers international advertisers a technology platform enabling the consolidation of all digital information sources related to customer data, as well as ensuring its smart and customized activation across all communication channels.  This platform is supported by the company expertise in data marketing and a range of services designed to leverage data information for a better use of marketing budgets.\"Translated by Makazi Group SA','http://www.makazi.com/vie-privee/','http://www.makazi.com/en/','2418',NULL,'contact@makazi.com',NULL);\nINSERT INTO companies VALUES('mamba','Mamba','\"Targeted advertising system that allows you to manage ads with the click of a button.\"Translated by Google Translate',NULL,'https://play.mamba.ru/','2214',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mango_office','Mango Office','\"Mango Telecom\" offers customers cloud business communications. We help businesses organize telephone communications, save on equipment and calls, increase the productivity of employees working on the phone, increase sales and quality of customer service. Mango Telecom was founded in 2000. Today it occupies the 1 st place in the Russian market of virtual automatic telephone exchanges and is included in TOP-20 telecommunication companies in Russia. Branches of Mango Telecom operate in 27 cities of Russia and Germany. With us already 39 000 enterprises','https://www.mango-office.ru/policies/privacy/','https://www.mango-office.ru/','4967',NULL,NULL,NULL);\nINSERT INTO companies VALUES('manycontacts','ManyContacts','\"ManyContacts is an attention-grabbing free contact form that sits on top of your website and helps to convert visitors into qualified leads and, ultimately, customers.\"','https://www.manycontacts.com/en/page/privacy','https://www.manycontacts.com/','3718',NULL,NULL,NULL);\nINSERT INTO companies VALUES('maploco','MapLoco','\"MapLoco allows you to add stunning maps to your website showing the cities your site visitors are coming from. You''ll get detailed statistics about the number of hits from thousands of cities and countries across the world. MapLoco allows you to zoom in to continents for a closer view of each geographic area to help you better understand your audience.\"','https://m.maploco.com/privacy.php','https://www.maploco.com/','2778',NULL,'domains@funkyllama.net',NULL);\nINSERT INTO companies VALUES('mapp_digital','Mapp Digital','Mapp Digital is one of the largest independent digital marketing technology companies in the world. Mapp provides a comprehensive family of software and customer-centric services including a sophisticated data management platform; tools that optimise email, mobile, app, social and web marketing; and campaignmanagement and strategy consulting.','https://mapp.com/privacy/','https://mapp.com/','','DE','privacy@mapp.com',NULL);\nINSERT INTO companies VALUES('marchex','Marchex','Marchex is a call advertising and small business marketing company. They provide local online advertising services, including call-based, pay-per-click, and contextual ad products. Through its call-based product, advertisers pay Marchex a fee for each call they receive from an ad (online, mobile, or print) distributed by Marchex. The company distributes ads on its Publishing Network which is focused on local products and services','https://www.marchex.com/legal/privacy-statement/','https://www.marchex.com/','382','US','privacy@marchex.com',NULL);\nINSERT INTO companies VALUES('marfeel_solutions','Marfeel Solutions','Marfeel, Inc. is an ad tech platform that allows publishers to create, optimize and monetize their mobile websites.','https://community.marfeel.com/t/marfeel-com-privacy-policy/10383','https://www.marfeel.com','','ES','dpo@marfeel.com',NULL);\nINSERT INTO companies VALUES('marigold','Marigold','Iris Holdings L.P. is a company operating under the name Marigold, a marketing technology firm specializing in relationship marketing. Founded in 2017 and based in Nashville, Tennessee, Marigold offers AI-powered solutions to help businesses acquire, engage, and retain customers.','https://meetmarigold.com/privacy-notices/#services-notice','https://meetmarigold.com','','US','privacy@meetmarigold.com',NULL);\nINSERT INTO companies VALUES('marin_software','Marin Software','Marin Software is a paid search management platform. It offers a browser application to help advertisers and agencies managing paid search advertising campaigns across other major search sites.','https://www.marinsoftware.com/privacy/privacy-central','https://www.marinsoftware.com/','226','US','info@marinsoftware.com',NULL);\nINSERT INTO companies VALUES('market_ruler','Market Ruler','MarketRuler provides a tool for online marketers to manage and measure their online web traffic and determine their ROI on marketing efforts.','http://www.conversionruler.com/privacy.php','http://www.conversionruler.com/','107','US',NULL,NULL);\nINSERT INTO companies VALUES('market_thunder','Market Thunder','Thunder’s technologies cover a multitude of cases including feed-driven dynamic creatives, mass creative versioning, automatic optimization, and more.Build static and dynamic creatives with incredible agility and without having to sacrifice ad quality, branding, or pixel perfection.','https://www.makethunder.com/privacy','https://www.makethunder.com/','5013',NULL,NULL,NULL);\nINSERT INTO companies VALUES('marketgid_usa','MGID Inc.','MarketGid USA is a lead generation and website traffic generation service provider. Its offerings include an online catalog, a news aggregator widget, a targeted advertising platform and a traffic exchange system.','https://www.mgid.com/privacy-policy','https://www.mgid.com/','577','US','privacy@mgid.com',NULL);\nINSERT INTO companies VALUES('marketing_adjal','MARKETING ADJAL','\"Marketing Adjal is a Spanish company specialized in affiliate marketing. We work with a wide variety of advertisers around the world, with a strong and growing market in Latin America.\"','http://adjal.com/web/es/privacy.html','http://adjal.com/','2822',NULL,'info@adjal.com',NULL);\nINSERT INTO companies VALUES('marketo','Marketo','Marketo provides on-demand marketing software for B2B professionals looking to optimize their sales and marketing efforts. It offers marketing through standard channels like e-mail, lead generation, and optimization of site visits. They also provide analytics tools for results tracking.','http://legal.marketo.com/privacy/','http://www.marketo.com/','108','US','privacyofficer@marketo.com',unistr('31-Oct-2018 Abode completes aquisition of Marketo.\\u000a\\u000aSource: https://www.adobe.com/cc-shared/assets/investor-relations/pdfs/103118adobecompletesacquisitionmarketo.pdf'));\nINSERT INTO companies VALUES('markit_on_demand','Markit on Demand','\"Markit On Demand, is a design driven technology company based in Boulder, Colorado. We’re part of Markit, a global financial information company that’s headquartered in London. Here in Boulder...we have a team of 400+ professionals dedicated to the presentation of financial content and data for our clients in the Financial Services, Media and Healthcare industries.\"','https://www.markit.com/General/Privacy-and-Cookie-Policy','http://www.markitondemand.com/#overview','624','US',NULL,NULL);\nINSERT INTO companies VALUES('markmonitor','MarkMonitor','\"When the world''s leading brands rely on you to protect their revenue and reputation in the digital world, you develop powerful insights and unrivalled methodologies to help combat sophisticated, evolving online threats. MarkMonitor clients look to our unique combination of industry-leading expertise, advanced technologies and extensive industry relationships to preserve marketing investments, revenues and customer trust.\"','https://www.markmonitor.com/legal/privacy.php','https://www.markmonitor.com/','2149',NULL,'support@markmonitor.com',NULL);\nINSERT INTO companies VALUES('marktest_group','Marktest Group','Marktest Group is a market research firm specializing in information processing. They cover audience measurement, monitoring of advertising spend, and general research in the telecommunications, banking and online sectors among others.','https://www.marktest.com/wap/a/p/id~a7.aspx','https://www.marktest.com/','1045','PT','contacto@marktest.com',NULL);\nINSERT INTO companies VALUES('martini_media','Martini Media','Martini Media Network is an online network directly targeting the affluent male demographic. The company also operates MartiniLife.com a site that hosts a curated publishing network on food, drink, travel, gear, sports and other leisure pursuits of high net-worth consumers.  They connect advertisers with their high-net-worth audience base.','https://martini.media/privacy-policy/','https://martini.media/','533','US','privacy@martini-corp.com',NULL);\nINSERT INTO companies VALUES('maruedr','MaruEdr','Changing the rules of market research using technology and advisory services.For too long, too many have spent too much time sifting through data. Maru/edr’s technology gets to the bottom of customer feedback and big data fast so more time can be spent improving businesses.By combining technology and advisory insight, we offer a flexible Voice of the Customer toolset to listen to customers, interpret their needs and delight by turning feedback into clear business action.It means we can adapt to your needs and business model, empowering you to make critical business decisions in the moments that matter – from marketing and customer service to product range and usability…In fact, any part of the customer experience.','http://public.edigitalresearch.com/privacy','https://www.maruedr.com','4605',NULL,'privacy@maruedr.com',NULL);\nINSERT INTO companies VALUES('marvellous_machine','Marvellous Machine','\"Marvellous Machine creates ActALike audiences and finds statistical twins outside of social networks. Our sophisticated algorithms analyse variable user movement data combined with sociodemographic data to determine which characteristics and a behaviours a user must show to be affine for your product.\"','https://www.marvellousmachine.net/content/datenschutz','https://www.marvellousmachine.net/','5251',NULL,'info@marvellousmachine.net',NULL);\nINSERT INTO companies VALUES('mass2','Mass2 (Yashi)','\"We are a premium provider of multi-screen advertising, taking video and display distribution to the next power.Mass2 eliminates the barriers to engaged audiences. We quickly access a massive amount of high-quality inventory on our owned and operated local news and partner publisher sites, delivering astronomical reach for top brands, agencies and network demand partners. Activating within hours, not days. At the right time and on the right platform.\"','http://mass2.com/corporate-privacy-policy/','http://mass2.com/','2195',NULL,'privacy@mass2.com',NULL);\nINSERT INTO companies VALUES('master_banner_network','Master Banner Network',NULL,NULL,'http://www.mbn.com.ua/','3653',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mastertarget','MasterTarget','\"MasterTarget - a web-based system, based on a partnership model with Pay-Per-Action between advertisers and owners of Internet resources. Advertiser in this type of cooperation pays the webmaster (owner of an advertising platform) only useful for the actions of users on the site.\"Translated by Google Translate',NULL,'http://mastertarget.ru/','2945',NULL,'support@mastertarget.ru',NULL);\nINSERT INTO companies VALUES('matelso','Matelso','MORE MARKETING & SALES PERFORMANCE','https://www.matelso.de/datenschutz/','https://www.matelso.de','5161',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mather_economics','Mather Economics','Mather Economics is a business consultancy specializing in applied economics. We employ leading-edge econometric approaches to solve complex business problems and partner with our clients to implement these solutions to maximize operating margins, grow revenue, and lower costs. In our hands, customer and operations data can be utilized to develop and maintain competitive advantages by adding value with our intelligent business solutions.','https://www.mathereconomics.com/#privacy-policy','https://www.mathereconomics.com/','5233',NULL,'privacyshield@mathereconomics.com',NULL);\nINSERT INTO companies VALUES('matiro','Matiro','\"Matiro buy media inventory dynamically on the real time exchanges, on behalf of advertisers.\"','http://ads.matiro.com/','https://matiro.com/','1421','FR',NULL,NULL);\nINSERT INTO companies VALUES('matomo','Matomo','InnoCraft, the company founded by the creators of Matomo, provides digital analytics products and services that help individuals and businesses keep full control over their data. Matomo is an open source analytics software. Similar to Google Analytics, Matomo uses a simple javascript embed to collect data and can be hosted independently on a separate server. Real-time reports include data on web site visitors, search engines, keywords, language and popular pages.','https://matomo.org/privacy-policy/','https://matomo.org/','299','NZ','hello@matomo.org',NULL);\nINSERT INTO companies VALUES('matomy_media','Matomy Media','Matomy Media (formerly known as XTEND) is a global display advertising company that covers the digital marketplace from all angles – display media, mobile, and social, as well as search marketing, and provides high-performing media to meet wide-ranging marketing objectives for advertisers and optimized monetization for publishers. Matomy Media is a division of Matomy Media Group.','http://www.matomy.com/global-privacy-policy/','http://www.matomy.com/','415','IL',NULL,NULL);\nINSERT INTO companies VALUES('mave','mave','mave is a European video platform with a strong focus on user experience, providing smooth, cookieless video in just a few lines of code.','https://www.mave.io/privacy/','https://www.mave.io/','','NL','privacy@mave.io',NULL);\nINSERT INTO companies VALUES('mavenoid','Mavenoid','Mavenoid is a product support automation platform built for complex products and devices. Using our AI, we solve problems too complex for chatbots.','https://www.mavenoid.com/en/privacy/privacy-policy','https://www.mavenoid.com/','','SE','legal@mavenoid.com',NULL);\nINSERT INTO companies VALUES('maxbounty','MaxBounty','MaxBounty is a network based on cost-per-action advertising.','https://www.maxbounty.com/privacy.cfm','https://www.maxbounty.com/','1143','CA','privacy@maxbounty.com',NULL);\nINSERT INTO companies VALUES('maxetise','Maxetise','Maxetise helps you increase your advertising revenue digitally.','https://maxetise.net/privacy-policy.html','https://maxetise.se/','','SE','privacy@maxetise.com',NULL);\nINSERT INTO companies VALUES('maxlab','Maxlab','\"Maxlab values ​​its customers and offers a form of collaboration that takes all the work on the development, implementation and monitoring of advertising campaigns on the Internet, which saves staff time of advertising and marketing.\"Translated by Google Translate',NULL,'http://maxlab.ru','2207',NULL,NULL,NULL);\nINSERT INTO companies VALUES('maxmind','MaxMind','\"MaxMind provides IP intelligence through the GeoIP brand. By pinpointing the location of Internet customers and visitors by country, geographic region, city, and postal code, GeoIP data provides online businesses with a valuable marketing tool as well as the ability to customize their websites to better serve clients.\"','https://www.maxmind.com/en/privacy_policy','http://www.maxmind.com/','1460','US','info@maxmind.com',NULL);\nINSERT INTO companies VALUES('maxpoint_interactive','MaxPoint Interactive','MaxPoint is an online advertising technology company that offers neighborhood level targeting to compel in-store purchase for national and local brands. The company identifies potential customers through customized consumer profiles and Digital Zip, their neighborhood-level targeting technology. This enables ad targeting to a specific location within a retailer''s trade area and campaigns to match demand for a specific product.','http://www.maxpointinteractive.com/privacy-policy/','http://maxpoint.com/us','613','US','privacy@maxpointinteractive.com',NULL);\nINSERT INTO companies VALUES('maze','Maze','Maze is a user research platform that provides tools for conducting different types of user research, such as prototype and live website testing, surveys, interviews, card sorting, and tree testing.','https://maze.co/privacy-policy/','https://maze.co','','US','privacy@maze.design',NULL);\nINSERT INTO companies VALUES('mbuy','MBuy','AdBuyer provides online buying and optimization across search and display media.  Their technology integrates with major search engines and ad exchanges on a single platform. They offer free audience profiles to marketers and one-stop re-targeting across major exchanges as well as audience buying for more targeted display campaigns.  They partner with third-party data sources like eXcelate, TargusInfo, AlmondNet, and BlueKai.','https://www.mbuy.com/privacy-policy/','https://www.mbuy.com/','453','US','operations@mbuy.com',NULL);\nINSERT INTO companies VALUES('mcabi','mCabi','You have a website that you want to supplement with a high quality advertising and increase advertising revenue?If this is what you want, then hesitate and apply Mcab advertising platform!',NULL,'https://mcabi.mcloudglobal.com/#','4853',NULL,'info@knc.lv',NULL);\nINSERT INTO companies VALUES('mcafee','McAfee','McAfee is a security technology company that delivers services to protect consumers and businesses from malware and online threats. They also provide security management features that deliver real-time analytics, improve Internet security, and help businesses achieve operational efficiencies.','https://www.mcafee.com/common/privacy/english/docs/mcafee-privacypolicy.pdf','https://www.mcafee.com/us/','1141','US','privacy@mcafee.com',NULL);\nINSERT INTO companies VALUES('mconet','MCOnet','\"MCOnet Ltd., based in Hungary, is one of the largest companies in Central Europe producing web-sites and advertisements with virtual and PR communication background. Having over thousand partners, we are also one of the most considerable electronic media groups.\"','https://www.mconet.hu/adatvedelmi-nyilatkozat','http://mconet.biz/','1970','US','mconet@mconet.biz',NULL);\nINSERT INTO companies VALUES('medallia','Medallia','Medallia provides software-as-a-service (SaaS) customer experience management (CEM) and employee experience management (employee engagement) software to hospitality, retail, financial services, high-tech, and business-to-business (B2B) companies internationally.','https://www.medallia.com/privacy-policy/','https://www.medallia.com/','5294','US',NULL,NULL);\nINSERT INTO companies VALUES('media-click','Media-Click','\"Start now to really monetize your site. We optimize each of your impressions to its full potential, regardless of your volume. Once you have inserted tags, we manage the rest ourselves.\"',NULL,'http://www.media-clic.com/','2927',NULL,NULL,NULL);\nINSERT INTO companies VALUES('media.net','Media.net','Media.Net utilizes its digital advertising technology platforms to assist with the selection, deliver and display of contextual (nonpersonalized) and targeted (personalized) advertising on behalf of the advertisers and their business partners and representatives  on websites and properties that participate in our advertising marketplace.','https://www.media.net/en/privacy-policy','https://www.media.net/','1879','CN','privacy@media.net',NULL);\nINSERT INTO companies VALUES('media2_stat.media','Media2 Stat.Media','\"Easy access to better statistics for your audience.\"','https://stat.media/','https://stat.media/','5217',NULL,NULL,NULL);\nINSERT INTO companies VALUES('media_impact','Media Impact','We at Media Impact are the fastest and most creative customer care representatives in Germany. Together with our partner Ad Alliance, we reach up to 90% of Germans in print and digital media.','https://mediaimpact.de/artikel/-Hinweise-zum-Datenschutz_768445.html','https://mediaimpact.de/index.html','4847','DE',NULL,NULL);\nINSERT INTO companies VALUES('media_innovation_group','Xaxis','\"The Xaxis Advantage There''s so much more to digital media than just ads or just technology — or just ad technology. There are coveted audiences. Make-or-break insights. Real-time marketing opportunities. And the leading minds who break away from convention to build the next revolutionary tool. That''s what you''ll find at Xaxis. Because we believe in investing in the future and staying at the forefront of emerging trends.\"','https://www.xaxis.com/privacy-notice/','https://www.xaxis.com/','4758','US','mplatformprivacy@groupm.com',NULL);\nINSERT INTO companies VALUES('media_temple','Media Temple','Media Temple is a web hosting and virtualization service provider. It uses a process called \"grid hosting\", whereby multiple stand-alone servers are linked to provide additional capacity for clients during periods of peak demand. Media Temple also provides a dedicated hosting service providing virtual private servers that are designed for clients whose websites experience high levels of traffic.','https://mediatemple.net/legal/privacy-policy/','https://mediatemple.net/','110','US','legal.notices@mediatemple.net',NULL);\nINSERT INTO companies VALUES('media_today','Media Today','\"Our task - to bring contextual advertising to a new level, providing unique opportunities to contact the user. We strive to promote not just good, we want to interested users, to get his attention, involving consumers in the process of communication with the advertising message. We do not just deliver information about the product, we create a complete image of the brand, without breaking a single message of the advertising campaign.\"Translated by Google Translate',NULL,'https://mediatoday.ru/','2141',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mediaad','MediaAd','Media is one of the advertising media of Pegah Dastan Kavan Sharif Company, which started its activity in the summer of 1396 by offering similar ads in the Web. During this time, the media has been able to collaborate with a large number of popular brands and reputable media. Media Team is a team of 14 top-notch graduates and experienced online advertising professionals who are trying to follow the latest developments in the online advertising industry and deliver quality services to their customers.','https://mediaad.org','https://mediaad.org','5203',NULL,'info@mediaad.org',NULL);\nINSERT INTO companies VALUES('mediafed','Mediafed','\"Mediafed is the RSS feed advertising pioneer...with truly global digital advertising network representing premium publishers and cooperating with blue chip brands.\"',NULL,'http://www.mediafed.com/','2270',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mediago','MediaGo','MediaGo is a global AI-integrated marketing platform under the Baidu Global brand. MediaGo is an advertising platform that enables advertisers to serve advertisements on third-party mobile applications and/or websites owned or operated by partners or to which a partner has the right to serve advertising.','https://www.mediago.com/privacy','https://www.mediago.com','','CN','privacy@mediago.com',NULL);\nINSERT INTO companies VALUES('mediahub','MediaHub','\"Create your ad campaign with the help of our ''serve yourself'' platform around the clock.Take control of your budget with our affordable bidding and budgeting solutions.Get the most out of your ad campaign with real-time information at your fingertips.\"','http://www.mediahub.com/privacy-policy','http://www.mediahub.com/','2123',NULL,'info@Mediahub.com',NULL);\nINSERT INTO companies VALUES('medialand','Medialand','\"Maximum revenue from your site.\"Translated by Google Translate',NULL,'http://medialand.ru','2183',NULL,'(+7 495) 660-70-70',NULL);\nINSERT INTO companies VALUES('mediamath','MediaMath, Inc.','MediaMath provides technology, strategy, services and insights to trade effectively across the leading display advertising exchanges on behalf of major advertisers. Its TerminalOne technology platform combines proprietary supply relationships, programmatic buying algorithms, unique data access, workflow tools and transparent reporting to facilitate digital media trading.','http://www.mediamath.com/privacy-policy/','https://www.mediamath.com/','290','US','privacy@mediamath.com',NULL);\nINSERT INTO companies VALUES('mediametrics','Mediametrics',NULL,NULL,'http://mediametrics.ru','3766',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mediametrie','Mediametrie','Mediametrie is a media research company. It offers marketing test services for measuring the effectiveness of advertising and promotions on sales and attitudes. They measure audiences and conduct media research for companies within the media and communications market.','https://www.mediametrie.com/pages/privacy-policy.php?page=86','https://www.mediametrie.com/','379','FR',NULL,NULL);\nINSERT INTO companies VALUES('median','Median','\"The median - the industry''s first private company - founded in 1989, decades of experience with social scientists. Twenty years is one of the most famous domestic research firm. The company''s turnover increased market share amounting addition to research all along attached great importance to the social research and public policy of continuous assessment.\"Translated by Google Translate','https://median.hu/object.be016369-2dc2-4da6-a338-7b028e9f665b.ivy','http://median.hu','2164',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mediaocean','Mediaocean','Mediaocean LLC provides advertising software solutions. The Company offers media planning, buying, analyzing, invoicing, and managing software products. Mediaocean serves customers globally.','https://www.mediaocean.com/privacy-policy','https://www.mediaocean.com/','','US','datasecurity@mediaocean.com',NULL);\nINSERT INTO companies VALUES('mediapass','MediaPass','\"Our approach is to handle everything subscription-related for clients: subscriber support, monthly billing, credit card processing, real-time reports, data security compliance, fraud protection, ease of customization, ongoing technological development, and more. We also help publishers crack the code to their optimum subscription rate and find the “premium content” that will drive revenue growth and quality readership.\"','http://www.mediapass.com/mp/privacy','http://www.mediapass.com/','2988',NULL,'privacy@mediapass.com',NULL);\nINSERT INTO companies VALUES('mediapost_communications','MediaPost Communications','Customer knowledge to communication for the conquest and retention, MEDIAPOST Communication, present in 5 countries and involving 13,000 employees, brings together all multichannel expertise to support local, national and international advertisers of all the string value of relationship marketing.MEDIAPOST Communication consists of the following areas:- relationship marketing and proximity communication: MEDIAPOST- Board dedicated to the promotion of Home Media (mail, print advertising, email and SMS): Advertising MEDIAPOST- Relationship Marketing in Europe: International MEDIAPOST- customer knowledge and strategic consulting & creative: Mediaprism- promotional marketing and customer relationship: Sogec and Budgetbox- Agency e-commerce: Mixcommerce- Internet Governance - publishing - accommodation - micropayments: Adverline- CRM Data Management: Sogec Datamark Services - Cabestan - Vertical-Mail','https://vrm.mediapostcommunication.net/regles-confidentialite','https://vrm.mediapostcommunication.net/','4137',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mediarithmics','mediarithmics','To give back creative and analytical power to marketers by providing them with data marketing technology.Now that everyone is acknowledging the enormous potential of Data, how many people actually know how to easily send the right message or the right ad to the right person at the right time in a predefined and profitable way? The creativity and analytical spirit of marketing decision-makers are often limited by the options offered by today’s technical solutions that are too verticalized, closed or clumsy.As a result of two years of R&D, mediarithmics offers an open platform that covers a wide functional spectrum. Thanks to this achievement, marketers can finally personalize their digital communication based on the behavior of each customer profile, including from on-site to email and programmatic media.','https://www.mediarithmics.com/en/data-privacy.html','https://www.mediarithmics.com/','5180',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mediascope','Mediascope','Our company has existed for over 20 years and occupies a leading position in the Russian research market. In the beginning of 2017, after the rebranding, the name of the company changed from CJSC TNS Gallup Media (TNS Russia) to Mediascope.(further Mediascope). Our main specialization is the study of media audiences and the monitoring of advertising and media. In our work we are guided by international standards of research, developed by the international association ESOMAR and Russian OIROM. For specialists of various companies, including media holdings and advertising agencies, Mediascope information bases serve as the basis for making strategic decisions. Our clients are the majority of participants in the media and advertising market: advertising agencies and groups, publishing houses, television channels, radio stations, Internet sites, professional associations.','https://tns-counter.ru/policy.html','https://mediascope.net/','5360','RU','privacy@mediascope.net',NULL);\nINSERT INTO companies VALUES('mediashakers','MediaShakers','\"MediaShakers is a global online advertising network dedicated to creating innovative opportunities for both publishers and advertisers.\"','https://www.mediashakers.com/index.php/en/privacy-policy','https://www.mediashakers.com/index.php/en/','1304','CY',NULL,NULL);\nINSERT INTO companies VALUES('mediashift','MediaShift','\"MediaShift is a next-generation digital ad tech company that monetizes WiFi networks and web publishing sites, while offering advertisers access to one of the fastest growing audience platforms targeting on-the-go consumers. Our patented ad platform is the first in the industry to monetize WiFi networks with advertising at both sign-in and in-session.\"','https://www.mediashift.com/privacy_policy','https://www.mediashift.com/','3038',NULL,'privacy@mediashift.com',NULL);\nINSERT INTO companies VALUES('mediatech_streamlike','Mediatech-Streamlike','Streamlike is an enterprise media hosting and delivery platform. Gather and organize your organization’s audio and video content. Stream live or on-demand in a secure and eco-friendly way.','https://www.streamlike.eu/privacy-policy/','https://www.streamlike.eu/','','FR',NULL,NULL);\nINSERT INTO companies VALUES('mediav','MediaV','\"The company aggregates the excellent Internet technical experts in the industry, advertising and marketing experts and interactive creative experts, is a company specializing in precision marketing and digital marketing professional advertising technology and service agencies. Poly wins million together to continuously improve the network marketing return on investment rate target, based on the state-of-the-art Internet technology development, multi-data convergence advertisers, website owners, agents and consumers find value in the hundreds of millions of data dynamic optimization to achieve fine classification of the target consumer groups and targeted advertising effectiveness.\"Translated by Google Translate','http://www.mediav.cn/privacy1.html','http://mediav.com/','2152',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mediavine_inc','Mediavine, Inc','Mediavine, Inc. is a company that specializes in digital advertising and website monetization solutions for content creators, bloggers, and website owners. They provide a platform that helps publishers optimize their ad placements and maximize their revenue while also focusing on user experience and site performance.','https://www.mediavine.com/privacy-policy/','https://www.mediavine.com/about-us/','','US','privacy@mediavine.com',NULL);\nINSERT INTO companies VALUES('mediego','Mediego','Mediego is an innovative solution for personalization based on a behavioral algorithm that analyzes complex data collected online or via outlets in real-time.With Mediego, you can send highly customized content to your customers, identify their preferences, interests and their potential to purchase, all in real time. Easy to install and operational from the first visit, Mediego is The turnkey solution to customize your content in real time.','https://www.mediego.com/en/legal-notices/','https://www.mediego.com/en/','4950',NULL,NULL,NULL);\nINSERT INTO companies VALUES('medium','Medium',NULL,NULL,'https://medium.com/','5361',NULL,NULL,NULL);\nINSERT INTO companies VALUES('medyanet','MedyaNet','Medyanet is Turkey''s leading online advertising sales company founded in 1999. We do display, mobile, online video, performance-oriented advertising which serves the areas of digital marketing and social media.',NULL,'http://www.medyanet.com.tr/','1251','TR','bilgi@medyanet.com.tr',NULL);\nINSERT INTO companies VALUES('meetrics','Meetrics','Meetrics is a web analytics provider in the field of algorithmic real-time measurement of ''attention'' on Internet sites. Meetrics supports online media with live reports and usage analysis based on the visibility of web content in the publication of news and optimization of online marketing activities.','https://www.meetrics.com/en/data-privacy/','https://www.meetrics.com/en/','1073','DE','datenschutz@meetrics.net',NULL);\nINSERT INTO companies VALUES('megafon','Megafon','Megafon is a Russian integrated telecommunications operator that holds positions in the telecommunications market of Russia and the world.','https://moscow.megafon.ru/download/~federal/politika_konfiden.pdf','https://corp.megafon.com/','5296','RU',NULL,NULL);\nINSERT INTO companies VALUES('megaindex','MegaIndex','Innovations to improve the efficiencyof online marketing',NULL,'http://www.megaindex.ru','2457',NULL,'support@megaindex.ru',NULL);\nINSERT INTO companies VALUES('melissa_global_intelligence','Melissa Global Intelligence','Data is one of the most valuable assets you have—accurate, high quality customer data empowers your business to meet all of your customers’ important needs. With good data, you can do business with anyone, anywhere in the world and deliver exactly the experience necessary not only to help drive sales, but to improve loyalty, trade, business intelligence, technology, logistics, and more. But the truth is, all data goes bad (up to 25% per year), whether due to data entry errors or the simple fact that consumers change jobs, move, update email addresses, marry, etc. At Melissa, we help companies harness the value of their Big Data, legacy data, and people data (names, addresses, phone numbers, and emails) to drive insight, maintain data quality, and support global intelligence.','https://www.melissa.com/privacy','https://www.melissa.com/','5138',NULL,'optout@melissa.com',NULL);\nINSERT INTO companies VALUES('melt','Melt','\"Melt is a Brazilian company established with the aim of revolutionizing the Hispanic market buying online media. With this, we launched a self-service tool that helps agencies, medium and large advertisers to optimize the most of their investments in digital advertising.\"Translated by Google Translate','http://meltdsp.com/termos-de-uso-e-politica-de-privacidade/','http://meltdsp.com/','3008',NULL,'falecom@meltdsp.com',NULL);\nINSERT INTO companies VALUES('meltwater_icerocket','Meltwater IceRocket','\"[IceRocket Tracker] is an invisible tracker that will count your blog visits and other blog statistics.\"','http://www.meltwater.com/privacy-policy/','http://tracker.icerocket.com/','1465','US',NULL,NULL);\nINSERT INTO companies VALUES('menlotechnologies','MenloTechnologies','\"MenloTechnologies (Menlo) is the leading third party online advertising technology and data solution provider in China. Menlo provides digital advertising operating systems for the online and mobile marketing industry in China.\"Translated by MenloTechnologies, Ltd.','http://www.menlotechnologies.cn/privacy.html','http://www.menlotechnologies.cn/','3003',NULL,'faq@menlotechnologies.cn',NULL);\nINSERT INTO companies VALUES('mentad','MentAd','\"We are a full-service digital marketing company that develops technological solutions for Facebook advertising. Our mission is to empower e-commerce companies to maximize their success in Facebook advertising by helping them reach new relevant customers and increase online sales.\"','http://www.mentad.com/privacy','https://www.mentad.com/','2987',NULL,'contact@mentad.com',NULL);\nINSERT INTO companies VALUES('mercado_livre','Mercado Livre',NULL,'https://contato.mercadolivre.com.br/ajuda/Pol%EDticas-de-Privacidade_1442','https://www.mercadolivre.com.br/','4412',NULL,NULL,NULL);\nINSERT INTO companies VALUES('merchantadvantage','MerchantAdvantage','MerchantAdvantage addresses e-commerce marketing issues experienced by mid-sized to large online merchants and marketing/advertising agencies, providing long-term scalable cost effective solutions.',NULL,'https://www.merchantadvantage.com/','1181','US',NULL,NULL);\nINSERT INTO companies VALUES('merchenta','Merchenta','\"Merchenta''s behavioural merchandising platform presents consumers with relevant, personalised products & offers on behalf of retailers...based on your interests and those of other people like you.\"','http://www.merchenta.com/privacy-policy/','http://www.merchenta.com/','1262','GB','privacy@merchenta.com',NULL);\nINSERT INTO companies VALUES('mercury_media','Mercury Media','TrackingSoft is a tracking and analytics software company. They provide a variety of platforms to measure online ad campaign performance, provide email campaign statistics, and website analytics.',NULL,'http://www.mercurymedia.com/','830','US',NULL,NULL);\nINSERT INTO companies VALUES('meta_network','Meta Network','Meta Network is a performance based ad network. Advertisers can target by channel, geographic location, day of the week, time of day and user behavior. Meta Network helps publishers monetize their traffic with a wide range of targeting tools and access to online reporting.',NULL,'http://www.metanetwork.com/','588','IL','info@metanetwork.com',NULL);\nINSERT INTO companies VALUES('metapeople','Metapeople','\"Metapeople GmbH together with its associated subsidiaries stands for customized solutions for national and international online marketing projects in the areas of Search-Engine-Marketing, Search-Engine-Optimization, Affiliate-Marketing, Social-Media and Online-Media.\"','http://www.metapeople.com/datenschutz/','http://www.metapeople.com/','2783',NULL,'datenschutz@metapeople.com',NULL);\nINSERT INTO companies VALUES('metrigo','Metrigo','\"Metrigo provides an innovative platform that can reach the company to display advertising sales and quantitative range goals. We use advanced bidding strategies in media buying. We employ intelligent models to optimize your campaign.\"Translated by Google Translate','http://metrigo.com/en/privacy-policy/','http://metrigo.com/','2100',NULL,'info@metrigo.com',NULL);\nINSERT INTO companies VALUES('metriware','MetriWare','\"Independent Internet Measurement specialist provider of data and software for the media and advertising business. MetriWare is the Belgian reference for the internet measurement of Media sites.\"',NULL,'http://www.metriware.be/','1899','US','contact@metriware.com',NULL);\nINSERT INTO companies VALUES('metrixlab','MetrixLab','\"MetrixLab is one of the world’s leading online market research companies, specializing in the areas of Innovation and Shopper, Brand Communication, eBusiness Performance and Customer Experience Management. Today, our people push the boundaries of market research innovation, combining cutting-edge online technology with scientifically proven qualitative and quantitative research methodologies.\"',NULL,'http://www.metrixlab.com','2716',NULL,NULL,NULL);\nINSERT INTO companies VALUES('miaozhen','Miaozhen','\"As the leading third-party advertising technology company, Miaozhen Systems provide impartial, scientific and reliable data and solutions, promoting advertising industry to innovate and develop.\"','http://miaozhen.com/index.php/EN/Index/articontent/articleid/202.html','http://miaozhen.com/en/index.html','2265',NULL,NULL,NULL);\nINSERT INTO companies VALUES('microad','MicroAd','MicroAd is a Japanese behavioral targeting ad delivery service. They offer contextual advertising services as well as retargeting and other ad delivery services.','https://www.microad.co.jp/utility/privacy.php','http://www.microad.jp','1049','JP',NULL,NULL);\nINSERT INTO companies VALUES('microsoft','Microsoft','Microsoft is an American multinational corporation that develops, manufactures, licenses, supports, and sells a range of software products and services.','https://privacy.microsoft.com/en-us/privacystatement/','https://www.microsoft.com/','250','US','https://privacy.microsoft.com/en-US/privacy-questions?ln=EN',NULL);\nINSERT INTO companies VALUES('miele','Miele','Miele is a German manufacturer of domestic appliances and commercial equipment, headquartered in Gütersloh. Founded in 1899, it has always been a family-owned and family-run company.','https://www.miele.com/en/com/data-protection-2074.htm','https://www.miele.com/','','DE','datenschutz@miele.de',NULL);\nINSERT INTO companies VALUES('millward_brown','Kantar Group','Kantar Group is a global data, insights, and consulting company based in London, England. Working in various research disciplines, including brand guidance, brand strategy, social media monitoring, advertising effectiveness, consumer and shopper behaviour, and public opinion.','https://www.kantar.com/cookies-policies','https://www.kantar.com','114','GB','dataprotection@kantar.com',NULL);\nINSERT INTO companies VALUES('mindviz','MindViz','MindViz is a social networking site. The site offers such features as profiles, blogs, member polls, instant messaging and live chat.','http://mindviz.com/privacy.php','http://www.mindviz.com/','584','US',NULL,NULL);\nINSERT INTO companies VALUES('minewhat','MineWhat','\"MineWhat is delivering solutions for ecommerce companies to \"re engage\" their consumers. MineWhat''s platform decreases user acquisition costs,increases conversions by providing auto magic shopping assistance and behaviour analytics.\"','https://minewhat.com/privacypolicy','http://www.minewhat.com','2428',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mints_app','Mints App',NULL,'https://mintsapp.io/privacy','https://mintsapp.io/','4578',NULL,NULL,NULL);\nINSERT INTO companies VALUES('minute.ly','Minute.ly','\"We Are MinuteA proud pioneer in the field of video optimization, our passion is producing creative technological innovations which provide efficient, practical tools for web-based video publishers that are designed to significantly boost profitability while altogether enlivening video content by providing a breathtaking and engaging user experience\"','https://minute.ly/privacy.html','https://minute.ly/','4282',NULL,'info@minute.ly',NULL);\nINSERT INTO companies VALUES('mirando','Mirando','This company was created for the purpose of adding its tracking script to the Ghostery detection library, but there is not enough information available for us to compile a complete profile for it. Reasons for this may include: no website or a landing page only, no privacy policy or clear company description, or inadequate translation for foreign companies.','https://www.mirando.de/datenschutz/','http://mirando.de','340','DE','post@mirando.de',NULL);\nINSERT INTO companies VALUES('missena','Missena','Missena is a technology company specializing in advertising. The company focuses on providing high-performance rendering technology for publishers to improve their ad revenue through integration with platforms like Prebid. The company''s products include smart rendering for native, display, and video ad formats.','https://missena.com/privacy','https://missena.com/','','FR','contact@missena.com',NULL);\nINSERT INTO companies VALUES('mister_bell','Mister Bell','\"R & D and technological solutions are the DNA of the group since its inception. Mister Bell Solutions develops continuously and licenses proprietary tools (tracking, re-targeting, matching, analytics, data-targeting) [allowing] advertisers and agencies to operate on mobile performance. With an exclusive inventory and diffusion capacity unprecedented, Mister Bell appears as one of the leading mobile performance with agencies and advertisers in Europe (EU), Latin America (LATAM) and the region average (MENA).\"Translated by Google Translate',NULL,'http://misterbell.fr/','3319',NULL,'info@misterbell.com',NULL);\nINSERT INTO companies VALUES('mixi','mixi','\"Began offering in February 2004 the \"mixi\", with friends and acquaintances that lead in the real world, with convenient communication and fun social networking service of \"real identity\" is able to (SNS).\"Translated by Google Translate','https://mixi.co.jp/en/privacy/','http://mixi.jp/','3210',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mixpanel','Mixpanel','Mixpanel is an analytics solutions provider. It''s API-based analytics tools allow input from data sources across the Internet: Facebook applications, iPhone/Android applications, and standalone destination websites.  Their real time reporting helps companies understand how users interact with Web applications.','https://mixpanel.com/legal/privacy-policy/','https://mixpanel.com/','227','US','compliance@mixpanel.com',NULL);\nINSERT INTO companies VALUES('mixpo','Mixpo','Mixpo is an advertising technology company that leverages brand impact of TV with the power of the web.  They deliver a display advertising solution for agencies, publishers and marketers that include video, a real-time decision-making engine and dynamic campaign management. Mixpo helps advertisers extend their TV advertising reach to the Web efficiently and effectively while ensuring consistent consumer experience across brands.','http://dynamicvideoad.mixpo.com/legal/','https://dynamicvideoad.mixpo.com/','615','US','privacy@mixpo.com',NULL);\nINSERT INTO companies VALUES('mluvii','Mluvii','\"Chat is the standard of today''s B2C communication. Our chat has all the classic features you''re used to.\"','https://www.mluvii.com/?page_id=1795&lang=cs','https://www.mluvii.com','5228',NULL,'info@mluvii.com',NULL);\nINSERT INTO companies VALUES('mntn','MNTN','MNTN, a US company, provides advertising software tailored for television campaigns, focusing on measurable conversions and revenue.','https://mountain.com/privacy-policy/','https://mountain.com/','','US','privacyrights@mountain.com',NULL);\nINSERT INTO companies VALUES('mobicow','Mobicow','\"Mobicow was launched based on the belief that there was a better way to deliver mobile advertising. We think the market is ready for big, bold mobile ads that drive revenue, attract customers and generate strong returns. Powered by a global network and proprietary technology, our platform turns mobile traffic into revenue by letting our users deliver relevant and engaging ads based on location, device, operating system and carrier.\"','http://www.mobicow.com/privacy-policy.html','http://www.mobicow.com/','3018',NULL,'info@mobicow.com',NULL);\nINSERT INTO companies VALUES('mobify','Mobify','\"Mobify products power the adaptive web experiences of the leading brands in the world. We help businesses who want to connect with their customers in all the ways their customers want to connect with them.\"','http://downloads.mobify.com/legal/mobify-privacy.pdf','https://www.mobify.com/','2443',NULL,'contact@mobify.com.',NULL);\nINSERT INTO companies VALUES('mochapp','MoChapp','Live Chat for Your Website\"Online chat application that allows to engage with customers.Get the chance to answer queries and helpyour client to find the best product\"',NULL,'http://www.mochapp.com/','4683',NULL,NULL,NULL);\nINSERT INTO companies VALUES('modern_impact','Modern Impact','ModernImpact works to provide impactful advertising using proprietary technology and data to reach and engage our clients’ high-value audiences. We use the MI Intelligent PixelTM to help control and manage audience segmentation, gather site data in real time, and gain greater insight into user behavior, purchase patterns and much more. This allows us to serve the right creative at the right time to generate more engagement.MI also helps consumer brands with solutions for the modern world – from brand strategy to brand innovation, big ideas to customer experience, and all things necessary to navigate the increasingly complex mobile landscape. Today’s digital technology converges across all media channels. MI guides our clients through this ever-growing “Omni-channel” to provide incremental customer conversion both in-store and online.','https://www.modernimpact.com/privacy/','https://www.modernimpact.com/','3896',NULL,NULL,NULL);\nINSERT INTO companies VALUES('modernus','Modernus','\"Modernus runs the Coordinated Webmeasure® list in Iceland in co-operation with its participants.\"',NULL,'http://www.modernus.is','2076',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mogo_interactive','Mogo Interactive','\"Mogo Interactive™​ ​is a digital marketing agency that ​works with brands and non-profits to help them connect, engage and activate their customers. Our ​​Mogo Interactive™ platform, powered by best-in-class technology, drives ROI within integrated advertising campaigns across display, video, social​, mobile and search.​\"​ ​','http://www.mogointeractive.com/privacy-policy-opt-out-of-advertising/','http://www.mogointeractive.com/','2719',NULL,'contact@mogointeractive.com',NULL);\nINSERT INTO companies VALUES('monet_engine','Monet Engine','Monet Engine Inc. (AdaptMX) provides advertising technology products and services including its server advertising exchange, the Monet Engine APIs, and the Monet Engine websites. Our products and services enable publishers of websites and mobile applications to display advertisements on their sites and apps.','https://adaptmx.com/privacy-policy/','https://adaptmx.com/','','US','privacy@adaptmx.com',NULL);\nINSERT INTO companies VALUES('monetate','Monetate','Monetate is a provider of website testing and ad targeting services. Their web-based service provides data on clicks and advertising effectiveness to determine the best performing ads. The company provides an analytics suite and dashboard, enabling users to launch targeted advertising campaigns quickly.','http://www.monetate.com/platform-privacy-policy/?p=platform-policy/','http://monetate.com','601','US','privacy@monetate.com',NULL);\nINSERT INTO companies VALUES('monetize_me','Monetize Me','\"Monetize-Me helps publishers of content sites or e-merchants to optimize their display advertising revenue to get the best possible return CPM while continuing to follow this progression throughout the partnership.\"Translated by Google Translate',NULL,'http://www.monetize-me.com/','2689',NULL,'contact@monetize-me.com',NULL);\nINSERT INTO companies VALUES('monforte','Monforte','A versatile digital communication agency with a team of tech-focused creatives dedicated to the web and digital innovation.','https://api.appcenter.it/privacy','https://api.appcenter.it/','','IT','info@monforte.it',NULL);\nINSERT INTO companies VALUES('mongoose_metrics','Mongoose Metrics','Mongoose Metrics is a provider of enterprise phone conversion tracking software. Their phone call tracking service integrates with third party web analytics packages to provide actionable data encompassing the sales cycle from customer browsing through completed sale.','http://www.mongoosemetrics.com/privacy','http://www.mongoosemetrics.com/','1165','US',NULL,NULL);\nINSERT INTO companies VALUES('monitis','Monitis','\"Monitis is a 100% Cloud-based, complete, and flexible IT monitoring solution which consolidates backend monitoring, application monitoring, website monitoring, and cloud monitoring in an all-in-one, central monitoring service.\"','http://www.monitis.com/privacy-cookies-policy','http://www.monitis.com/','2410',NULL,'privacy@gfi.com',NULL);\nINSERT INTO companies VALUES('monitus','Monitus','Monitus provides marketing and analytics tools to Yahoo! store owners including a store cart recovery service that allows merchants to collect information about abandoned shopping carts. They also offer an interface to Google Analytics that enables merchants to track conversions by keywords.','https://www.monitus.net/terms-conditions/','https://www.monitus.net/','671','US','info@monitus.com',NULL);\nINSERT INTO companies VALUES('monotype','Monotype Imaging','Monotype Imaging Holdings Inc. is company that specializes in digital typesetting and typeface design for use with consumer electronics devices.','https://www.monotype.com/legal/privacy-policy','http://www.monotype.com','3427','US',NULL,NULL);\nINSERT INTO companies VALUES('monsido','Monsido','\"Monsido’s web governance platform improves internet users’ experience by helping organizations optimize and manage their digital presence. Monsido’s one-stop web accessibility, governance and quality assurance tool provides everything needed to build a better web experience for visitors. Founded in 2014, we believe in encouraging innovation and fostering personal growth.\"','https://monsido.com/data-protection-and-privacy-policy-statement','https://monsido.com/','5244',NULL,'dt@datailsynet.dk',NULL);\nINSERT INTO companies VALUES('monster_worldwide','Monster Worldwide','Monster.com is a career and recruitment resource. The Monster Career Ad Network sources job postings automatically from Monster or MonsterTRAK, develops the postings into a creative ad that is then targeted toward appropriate candidates via strategic placements throughout the web. Monster.com is the flagship brand of Monster Worldwide, Inc.','http://inside.monster.com/ad-policy/inside2.aspx','https://www.monster.com/','723','US','privacystatement@monster.com',NULL);\nINSERT INTO companies VALUES('mooxar','Mooxar','\"The advertising supplement that did not exist yet, here you go.\"Translated by Google Translate',NULL,'http://mooxar.com/','3137',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mopinion','Mopinion','\"At Mopinion we make breakthrough software that changes the way companies utilise customer feedback from websites and apps. We truly believe customer feedback is a crucial ingredient for Digital-First businesses to succeed. Mopinion powers digital teams by offering a feedback collection and analysis solution that supports users’ desires for data discovery. All in a delightful user experience.\"','https://mopinion.com/privacy/','https://mopinion.com/','5229',NULL,'support@mopinion.com',NULL);\nINSERT INTO companies VALUES('more_communication','More Communication',NULL,'http://www.more-com.co.jp/privacy/','http://www.more-com.co.jp/','5060',NULL,NULL,NULL);\nINSERT INTO companies VALUES('moreads','moreAds','\"moreAds is the ad network...of site app shaft Shun various smartphones.\"Translated by Google Translate','http://service.moras.jp/privacy.html','https://www.moras.jp','3208',NULL,'info@fiveany.co.jp',NULL);\nINSERT INTO companies VALUES('motigo','Motigo','Motigo is a provider of website tools including web traffic measurement, calendars applications and forums.','http://www.motigo.com/en_US/legal/privacy','http://motigo.com/','1193','NL','support@motigo.com',NULL);\nINSERT INTO companies VALUES('motionpoint_corporation','MotionPoint Corporation','\"MotionPoint localizes any website for any market.  Its technologies and techniques deliver significantly more traffic and conversion than translation alone.\"','https://www.motionpoint.com/our-company/privacy-policy/','https://www.motionpoint.com/','2274',NULL,'webmaster@motionpoint.com',NULL);\nINSERT INTO companies VALUES('mouseflow','Mouseflow','Mouseflow is an online tool for performing web analytics and real time user studies on websites. It is a hosted service that can be used on any publicly facing website. Mouseflow helps web administrators pinpoint pages where users are having trouble, pages that respond or render slowly, pages where only few users scroll down to the bottom, pages with high bounce rate, and more.','https://mouseflow.com/privacy','https://mouseflow.com/','418','DK','info@mouseflow.com',NULL);\nINSERT INTO companies VALUES('mousestats','MouseStats','\"The Most Professional User Experience Analysis Suite: Website Visitor Recording, Comprehensive Heatmaps and Form Analytics.\"','http://www.mousestats.com/sales/privacy','http://www.mousestats.com/','3212',NULL,'privacy@mousestats.com',NULL);\nINSERT INTO companies VALUES('mousetrace','MouseTrace','\"MouseTrace is a unique solution to help website owners, designers and Internet marketing professionals better understand how visitors are using their websites.\"',NULL,'http://www.mousetrace.com/','2137',NULL,'support@mousetrace.com',NULL);\nINSERT INTO companies VALUES('movable_ink','Movable Ink','Movable Ink is a technology company that allows marketers to change emails after they have been sent out. The technology can change emails based on the moment of engagement, the user''s current location, social cues, fast-moving inventory, and it works across all email clients.','https://movableink.com/privacy','https://movableink.com','3778','US','support@movableink.com',NULL);\nINSERT INTO companies VALUES('movable_media','Movable Media','\"Movable Media is made up of thousands of editors, writers and influencers who believe in the content they’re creating and who bring an active audience with them. We are the first custom content company to compensate, and be compensated primarily on the audience our writers bring.  By reconnecting quality thought with a qualified audience, we not only enable brands to reach their intended audience, but also help content creators get paid for the value they create.\"','http://www.movablemedia.com/privacy-policy/','http://www.movablemedia.com/','1829',NULL,'info@movablemedia.com',NULL);\nINSERT INTO companies VALUES('movingimage','movingimage','movingimage provides a secure, cloud-based Enterprise Video Platform (EVP) for businesses to create, manage, host, and distribute video content. Their all-in-one solution integrates with existing IT systems, enabling secure streaming for internal and external communication, e-learning, and virtual events, with services including AI-powered creation and live streaming.','https://www.movingimage.com/gtc/privacy-policy-of-movingimage-evp-gmbh','https://www.movingimage.com/','','DE','legal@movingimage.com',NULL);\nINSERT INTO companies VALUES('mozoo','Mozoo','\"WE ARE NUMBATENumbate’s DNA lies in creating new, innovative mobile advertising formats that facilitate a safe and seamless user experience.WE ARE SURIKATESurikate benefits from more than 4 years experience in delivering mobile performance campaigns, making it a true specialist within the performance market.AS NUMBATE AND SURIKATE WERE GIVEN ANIMAL NAMES, THE NAME MOZOO WAS THEREFORE CREATED BASED ON THE COMBINATION OF THE WORDS « MOBILE » AND « ZOO » TO EMBODY THE GROUP STRUCTURE. \"','http://mozoo.com/terms','http://mozoo.com/','4213',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mparticle','mParticle','mParticle is a software technology company that has developed a software-as-a-service tools and platforms enabling enterprises to (1) collect, organize, synchronize and analyze data from applications, websites, connected devices, and offline data sources and (2) distribute such data to various service providers, including analytics, artificial intelligence, monetization, data warehousing and other services.  As such, mParticle functions as a core data and services orchestration layer for enterprises.','https://www.mparticle.com/privacypolicy/','https://www.mparticle.com/','','US','privacy@mparticle.com',NULL);\nINSERT INTO companies VALUES('mrp','MRP (Market Resource Partners)',NULL,'https://www.mrpfd.com/privacy-policy/','https://www.mrpfd.com/','4954',NULL,'privacy@mrpfd.com',NULL);\nINSERT INTO companies VALUES('mrskincash.com','MrSkinCash.com','\"Mr Skin Cash is home of the best male and female celebrity paysites on the internet. We boast the best conversion and retention rates as well as the most trusted, respectable and reliable brand name in the adult industry.\"',NULL,'https://mrskincash.com/','3016',NULL,'affiliates@mrskin.com',NULL);\nINSERT INTO companies VALUES('mux_inc','Mux','Mux was founded in 2015 by Jon Dahl, Steve Heffernan, Matt McClure, and Adam Brown, four engineers and veterans of online video who are passionate about video technology and performance. The team now includes engineers from YouTube, Twitch, Brightcove, and Facebook.','https://mux.com/privacy','https://mux.com/','4482',NULL,'help@mux.com',NULL);\nINSERT INTO companies VALUES('mycom_bv','My.com B.V.',NULL,NULL,'https://mediator.media/','5362',NULL,NULL,NULL);\nINSERT INTO companies VALUES('mycounter.ua','MyCounter.ua','\"My Counter allows you to display the current numeric value of your site''s traffic (up to 10 parameters); collect statistics on visits to your site and handle it.\"','https://mycounter.ua/privacy.php','http://mycounter.ua','1360','UA',NULL,NULL);\nINSERT INTO companies VALUES('myfonts','MyFonts','\"Our mission is to make it simple for everyone to find and buy fonts.\"','https://www.myfonts.com/info/legal/#Privacy','https://www.myfonts.com/','2683',NULL,'help@myfonts.com',NULL);\nINSERT INTO companies VALUES('mypagerank','MyPagerank','MyPagerank.Net is a tool that enables webmasters to learn and post PageRank on their pages without the use of toolbars.','http://www.mypagerank.net/policy.html','http://www.mypagerank.net/','1065','US',NULL,NULL);\nINSERT INTO companies VALUES('myst_statistics','Myst Statistics','\"MyStat is Hungary''s most popular free statistics service.\"',NULL,'http://mystat.hu/','1510','HU',NULL,NULL);\nINSERT INTO companies VALUES('mythings','MyThings','MyThings is a performance based advertising network focused on retargeting solutions. They analyze on-site browsing behavior then present individualized, dynamic advertising banners to visitors wherever they surf the web. For example, if a visitor leaves the site without purchasing from a Web page featuring sweaters, the advertising messages presented to that visitor when they are browsing a different website, may include messages about sweater promotions.','https://www.mythings.com/?page_id=8338','https://www.mythings.com/','617','GB','info@mythings.com',NULL);\nINSERT INTO companies VALUES('mytop-in','Mytop-in',NULL,NULL,'https://mytop-in.net/','2224',NULL,NULL,NULL);\nINSERT INTO companies VALUES('namogoo','Namogoo','Namogoo Technologies Ltd. is a software as a service company that helps online businesses prevent Customer Journey Hijacking. Namogoo’s technology detects and blocks unauthorized ads injected into consumer browsers that redirect website visitors to competitor products and promotions.','https://www.namogoo.com/privacy-policy/','https://www.namogoo.com/','','IL','privacy@namogoo.com','According to their LinkedIn profile: https://www.linkedin.com/company/wandzai/about/, this company has renamed itself to Wandz.ai. New org file created for them');\nINSERT INTO companies VALUES('nanigans','Nanigans','\"Nanigans’ Ad Engine automates the labor-intensive process of managing and optimizing large-scale Facebook ad campaigns, measuring beyond the initial ad clickthrough to meet specific business goals: from driving App installs and Page Likes to viral referrals, repeat purchases and more.\"','http://www.nanigans.com/privacy-policy/','http://www.nanigans.com/','1751','US','info@nanigans.com',NULL);\nINSERT INTO companies VALUES('nano_interactive','Nano Interactive GmbH','\"Nano Interactive is your agency for performance-based online marketing. In our international premium network, we reach your target audiences in France, Italy, Spain, Germany, UK and Poland.\"','https://www.nanointeractive.com/privacy','https://www.nanointeractive.com/home','3341',NULL,NULL,NULL);\nINSERT INTO companies VALUES('narando','Narando','Parallel zum Studium an der RWTH Aachen entwickelte Christian Brandhorst das Konzept zu einer Vorleseplattform. Aus einem vorangegangenen Projekt kannte er bereits Philip Kleimeyer, den er schließlich überzeugte an dieser Idee mitzuarbeiten. Mit dem ersten Prototypen im Rücken und zusammen mit dem neuen Teammitglied Priya Linke wurde das nun „narando“ genannte Projekt im Sommer 2014 für das EXIST-Gründerstipendium ausgewählt. Erste, mutige Online-Publisher fanden Gefallen an der Vision hinter narando und unterstützten mit unkomplizierten Kooperationen. Im Sommer 2015 folgte die Gründung der narando GmbH.','https://narando.com/privacy','https://narando.com/','4944',NULL,NULL,NULL);\nINSERT INTO companies VALUES('narrativ','Narrativ','Better advertising starts with smarter content.','https://dashboard.narrativ.com/#/privacy-policy','https://narrativ.com/','4862',NULL,NULL,NULL);\nINSERT INTO companies VALUES('narrative.io','Narrative.io','Everyone needs data. From retailers looking to overhaul their brand strategies, to companies seeking to generate new revenue from existing assets — data is an essential element that ignites compelling stories for every organization.At Narrative, we make it easy for you to access, acquire, and integrate the data your company needs to thrive. And if you’re a data owner, we can help you reach multiple, active data seekers all at once.Narrative’s efficient and intuitive platform creates opportunities for both buyers and sellers to acquire or monetize data the way they see fit.Buying and selling data, simplified. So you can shape your story today.','https://narrativeprivacy.com/','https://narrative.io/','5025',NULL,NULL,NULL);\nINSERT INTO companies VALUES('natimatica','Natimatica','Natimatica.com is the team of highly motivated professionals with proven experience in different areas such as Big Data, Data Science and Digital marketing. The system is based on algorithms created by talented mathematicians, with degrees in the Data Science. Our mission is to provide people with information they are actually interested in at the moment. We are making people involved in content and ads we are showing, and involvment makes our recommendations so effective.','https://natimatica.com/','https://natimatica.com/','5175',NULL,'info@natimatica.com',NULL);\nINSERT INTO companies VALUES('native_roll','Native roll','YOUR VIDEO IN THE RIGHT PLACE.Innovative platform for placing video ads in premium content.(Google Translate)',NULL,'http://nativeroll.tv/','4984',NULL,'contact@nativeroll.tv',NULL);\nINSERT INTO companies VALUES('nativo','Nativo','Nativo is an advertising technology provider. Our technology facilitates campaign planning, buying, management, delivery, optimization, measurement and analytics for advertisers and agencies and enables publishers to build, upload, host, serve, render and report on campaigns delivered to their web and mobile app properties.','https://www.nativo.com/privacy-policy','https://www.nativo.com/','2568','US','privacy@nativo.com',NULL);\nINSERT INTO companies VALUES('navegg','Navegg','Navegg is a open site network and content customization engine. They collect user navigational data from Navegg''s partner sites to create demographic profiles of each visitor. They analyze web site traffic and generate real-time information to deliver relevant advertising to their audience as well as content recommendations to readers.','https://www.navegg.com/en/privacy-policy/','https://www.navegg.com/en/','117','BR','contact@navegg.com',NULL);\nINSERT INTO companies VALUES('naver','Naver','Naver Co., Ltd. is a global ICT company that services Korea''s largest search portal Naver.','http://www.naver.com/policy/privacy.html','https://www.naver.com/','4249','KR','privacy@naver.com',NULL);\nINSERT INTO companies VALUES('nbcuniversal','NBCUniversal, LLC','\"NBCUniversal is one of the world''s leading media and entertainment companies in the development, production, and marketing of entertainment, news, and information to a global audience.\"','https://www.nbcuniversal.com/privacy','https://www.nbcuniversal.com/','908','US','NBCUniPrivacy@nbcuni.com',NULL);\nINSERT INTO companies VALUES('ncol','NCOL','\"NCOL is a web development group based in Vancouver...\"',NULL,'http://www.ncol.com/','2896',NULL,NULL,NULL);\nINSERT INTO companies VALUES('needle','Needle','\"Needle is about giving consumers the ability to find the perfect item online at the right time. It’s about using precise expert information to give consumers guidance. It’s about increasing the efficiency of the online shopping experience and moving the Needle for e-commerce sites.\"','http://needle.wpengine.com/privacy/','http://www.needle.com','2452',NULL,'support@needle.com',NULL);\nINSERT INTO companies VALUES('negate','Negate','Negate LLC is the developer of a fraud preventive tool designed to enable businesses to protect their store from ad fraud. The company offers a simple plug-and-play platform that helps businesses to avoid being targeted by bot farms designed to drain their paid advertisement budget and stop them at the source, thereby enabling businesses to protect their online store from fake clicks.','https://negate.io/privacy','https://negate.io','','US','privacy@negate.io',NULL);\nINSERT INTO companies VALUES('nekudo','Nekudo',NULL,NULL,'https://nekudo.com/','5363',NULL,NULL,NULL);\nINSERT INTO companies VALUES('nelio','Nelio','Nelio Software empowers business and bloggers with WordPress plugins so they can make the most out of their websites. Includes Nelio A/B Testing and Nelio Content.','https://neliosoftware.com/privacy-policy-cookies/','https://neliosoftware.com/','','ES','support@neliosoftware.com',NULL);\nINSERT INTO companies VALUES('neodata','Neodata','\"Neodata Group is a fast-growing company developing innovative solutions tailored on the client’s needs to optimize the delivery of any digital content in terms of efficiency, sales and audience reach.\"','https://www.neodatagroup.com/data-security/neodata-services-privacy-policy/','https://www.neodatagroup.com/','1511','US','info@neodatagroup.com',NULL);\nINSERT INTO companies VALUES('neolabs_zero','Neolabs ZERO','\"ZERO service is a public service network of Internet statistics, open to cooperation with all parties Kaznet.\"',NULL,'https://zero.kz/','2978',NULL,NULL,NULL);\nINSERT INTO companies VALUES('neory','Neory','\"NEORY provides technical services and tools to online marketers, media companies, advertisers and publishers that helps them better to understand their users/consumers and to deliver performance-based advertising.\"','https://www.neory.com/privacy.html','https://www.neory.com/','2612',NULL,'privacy@neory.com',NULL);\nINSERT INTO companies VALUES('net-metrix','NET-Metrix','\"The NET-Metrix AG is an independent Swiss authority for Internet usage research. We offer the most comprehensive research system to use web offerings in Switzerland and Liechtenstein. NET-Metrix provides the market with standardized and certified data.\"','http://www.net-metrix.ch/ueber-uns/datenschutz','http://www.net-metrix.ch/','2625',NULL,'info@net-metrix.ch',NULL);\nINSERT INTO companies VALUES('net-results','Net-Results','Net-Results is a provider of automated lead management and online marketing services. The Net-Results platform for automated lead generated offers a set of features including email marketing, lead scoring, lead nurturing, and market segmentation tools.','https://www.net-results.com/privacy-policy/','https://www.net-results.com/','377','US','support@net-results.com',NULL);\nINSERT INTO companies VALUES('net_applications','Net Applications','Net Applications is a web analytics firm. They are a provider of usage share statistics for web browsers and operating systems. It provides these services through its product Market Share. They also offer Hitslink, a web analytics tool for online businesses that tracks website statistics.','http://www.netapplications.com/privacy.aspx','http://www.netapplications.com/','120','US','privacy@netapplications.com',NULL);\nINSERT INTO companies VALUES('net_avenir','Net Avenir','\"Net Avenir helps both website publishers and advertisers to optimize their ad management. We offer solutions to publishers that help them optimize the management of their ad spaces and we help advertisers manage the delivery of their ads and thus maximize their ROI.\"','http://www.netavenir.com/index/privacy','http://www.netavenir.com/','2737',NULL,NULL,NULL);\nINSERT INTO companies VALUES('net_communities','Net Communities','\"We make difficult to reach audiences such as business / technology professionals & Gadget / Home Entertainment Evangelists easily available to European, Middle East and Africa advertisers via Europe''s most extensive hand picked niche targeted network.\"','http://www.netcommunities.com/privacy-policy/','http://www.netcommunities.com/','1619',NULL,'info@netcommunities.com',NULL);\nINSERT INTO companies VALUES('net_visibility','Net Visibility','\"Increasing traffic from search engines is the most cost effective method of marketing a website and driving qualified visitors directly to your business. Net Visibility can offer a range of specialised services that will work alongside your business model to increase online visibility.\"',NULL,'http://www.netvisibility.co.uk','3035',NULL,NULL,NULL);\nINSERT INTO companies VALUES('netbiscuits','Netbiscuits','\"Netbiscuits is a global leader in mobile analytics and device detection solutions, helping companies achieve increased reach and performance, while improving conversion and customer engagement. Our cloud software records over one billion unique page impressions a month, serving global brands such as eBay, Coca Cola, MTV, BMW and T-Online. Catalogued and quality-assured through manual testing since the year 2000, we have the world’s most accurate and complete device library – the Netbiscuits Vault℠. The Vault contains detailed device feature capabilities, and includes over 7,300 device, 157 operating system and 343 web browser profiles. The Netbiscuits technology features unique server-side and client-side detection. By giving companies access to the contextual information of web visitors such as location and connection speed, we enable the creation of exceptional mobile experiences for every connected device.\"','http://www.netbiscuits.com/full-privacy-policy/','http://www.netbiscuits.net/','3606',NULL,'info@netbiscuits.com',NULL);\nINSERT INTO companies VALUES('netbooster_group','NetBooster Group','\"NetBooster is an international marketing agency, native to digital, with a holistic approach to creativity, technology and media to bring the right message to the right people at the right time.\"','http://www.netbooster.com/privacy-policy/','http://www.netbooster.com/','2673',NULL,'acassini@netbooster.com',NULL);\nINSERT INTO companies VALUES('netease','NetEase','NetEase (NASDAQ: NTES) is China''s leading Internet technology company, in the development of Internet applications, services and other technologies.','http://gb.corp.163.com/gb/legal.html','https://www.163.com/','4150','CN','Privacy@service.netease.com',NULL);\nINSERT INTO companies VALUES('netelixir','NetElixir','NetElixir is a third party pay-per-click search engine and  keyword bid management service provider.  Customers use NetElixir''s Total Bid Management as a lead generation mechanism and to manage search bids.   NetElixir''s goal is to enable advertisers to run predictive paid search campaigns.','https://www.netelixir.com/privacy-policy','https://www.netelixir.com/','406','US','privacy@netelixir.com',NULL);\nINSERT INTO companies VALUES('netfactor','netFactor','\"netFactor Corporation provides a suite of products to drive new levels of sales performance from Internet marketing for the business-to-business market. The company’s core VisitorTrack® technology platform integrates search engine marketing, marketing automation, and Web analytics into a powerful application for lead generation from website visitor tracking – it’s like “Caller ID for Your Website.” netFactor is privileged to serve customers across multiple industries including software, telecom, healthcare, technology, financial, professional services, manufacturing, and transportation.\"','http://netfactor.com/privacy-policy/','https://www.netfactor.com/','1981','US',NULL,NULL);\nINSERT INTO companies VALUES('netline','Netline','NetLine is a B2B performance-based integrated marketing company that provides targeted online lead generation and marketing services for advertisers, marketers, and publishers.','https://www.netline.com/privacy.html','https://www.netline.com/','824','US','info@netline.com',NULL);\nINSERT INTO companies VALUES('netminers','Netminers','\"Netminers develops and sells cutting-edge analytics technology... Based on our technology platform, we help companies to understand, serve and influence their website users in the best possible way.\"','http://netminers.dk/About%20us/Privacy%20Policy.aspx','http://netminers.dk/','2865',NULL,'privacy@netminers.net',NULL);\nINSERT INTO companies VALUES('netmonitor','Netmonitor','Netmonitor is a suite of web analytics tools made by Finnish software development company Developer''s Helsinki.','http://www.netmonitor.fi/en/privacy','http://www.netmonitor.fi/en','122','FI','support@netmonitor.fi',NULL);\nINSERT INTO companies VALUES('netseer','NetSeer','NetSeer is an ad network focused on contextual media and ad targeting. They offer content scanning technology that identifies concepts within and across websites to help advertisers accurately contextually target ads, and publishers monetize their site content.','https://www.netseer.com/privacy-policy/','http://www.netseer.com/','938','US','hello@netseer.com',NULL);\nINSERT INTO companies VALUES('netshelter','NetShelter','NetShelter Technology Media is a vertical media network focused on technology. They bring online publishers and blogs together with owned and operated programs to offer marketers an integrated, customizable platform to directly engage audiences. Netshelter helps marketers and media buyers connect with buyers from the consumer electronics, mobile, IT/IS, web development and gaming sectors.','http://www.netshelter.net/privacy-policy','http://netshelter.net/','387','US','privacy@netshelter.net',NULL);\nINSERT INTO companies VALUES('netsprint','Netsprint SA','Netsprint SA co-creates Polish advertising ecosystem in the areas of: contextual advertising: Adkontekst - Poland''s largest advertising network kontekstowowo-behavioral therapy. Content marketing: ContentStream - Poland''s largest network of content marketingaudience targeting: DMP platform Netsprint Audience. personalization: recommendation engine Netsprint Adserver module and Related Contente-commerce: to reach new clients and dynamic retargeting Adkontekst eCommerce (including RTB Adfocus ) and search for e-shops Netsprint Search. e-mailings: mailings profiled in using profiles, interests, purchase intentions and demographic information ( LeadR ).','http://spoldzielnia.nsaudience.pl/opt-out/','http://netsprint.eu/','4361',NULL,'informacje@netsprint.eu',NULL);\nINSERT INTO companies VALUES('networkedblogs','NetworkedBlogs','NetworkedBlogs is a user-generated blog directory and syndication tools for publishers. Networked Blogs is a product of Ninua.','http://www.networkedblogs.com/privacy/','http://www.networkedblogs.com/','1031','US',NULL,NULL);\nINSERT INTO companies VALUES('netzeffekt','netzeffekt',NULL,NULL,'https://www.netzeffekt.de/','5364',NULL,NULL,NULL);\nINSERT INTO companies VALUES('neustar','TransUnion','TransUnion is an American consumer credit reporting agency. TransUnion collects and aggregates information on over one billion individual consumers in over thirty countries including 200 million files profiling nearly every credit-active consumer in the United States.','https://www.transunion.com/privacy/transunion','https://www.transunion.com/solution/truaudience','3452','US','privacy@transunion.com','TransUnion acquired Neustar''s main business for 3.1 billion, 2021 https://en.wikipedia.org/wiki/Neustar');\nINSERT INTO companies VALUES('new_relic','New Relic','New Relic is the web application performance tool for monitoring performance from the end user experience, through servers, and down to the line of application code.','https://newrelic.com/privacy','https://newrelic.com/','942','US','AskPrivacy@NewRelic.com',NULL);\nINSERT INTO companies VALUES('news_corp','News Corp',NULL,NULL,'https://newscorp.com/','5365',NULL,NULL,NULL);\nINSERT INTO companies VALUES('newsmax','Newsmax','\"Newsmax Media, Inc. is an online and multi-media publisher[...].\"','http://www.newsmax.com/PrivacyStatement','http://www.newsmax.com/','2614',NULL,'customerservice@newsmax.com',NULL);\nINSERT INTO companies VALUES('nexon','Nexon','\"Nexon Co., Ltd. is a Japanese video game publisher. Headquartered in Japan, the company has offices in South Korea, the United States, Taiwan and Thailand. Nexon was founded in Seoul, South Korea, in 1994. In 2005, the company moved its headquarters to Tokyo, Japan.\"','https://www.nexon.com/main/en/legal/privacy','https://www.nexon.com/main/en','','JP','NA_privacy@nexon.com',NULL);\nINSERT INTO companies VALUES('nexstar','Nexstar Digital','Nexstar Digital, the digital business of Nexstar Media Group, Inc., operates 125 websites and 239 mobile apps, delivering premium and trusted content from Nexstar Media Group’s portfolio of media assets, including 200 owned or partner local broadcast stations in 116 U.S. markets, NewsNationNow.com, TheHill.com, and BestReviews.com.','https://www.nexstar.tv/privacy-policy/','https://www.nexstardigital.com/','4757','US','info@lkqd.com',NULL);\nINSERT INTO companies VALUES('next_audience','NEXT AUDIENCE','Newtention is a German demand side technology platform. Their tracking technology helps advertisers and agencies better understand the behavior of consumers online and more efficiently target them.','https://next-audience.com/en/privacy-guidelines/','http://www.next-audience.com/','856','US','bettina.kaehler@privcom.de',NULL);\nINSERT INTO companies VALUES('next_user','Next User','NEXTUSER DELIVERS THE NEXT LEVEL OF DIGITAL PERSONALIZATIONConvey the right message to the right user at the right timeORCHESTRATE YOUR MARKETING TOOLS TO INCREASE ENGAGEMENT, CONVERSION AND LIFETIME VALUEWe help marketing tools to work in harmony and increase engagement, conversion and lifetime value','https://www.nextuser.com/policy/','https://www.nextuser.com/','4827',NULL,'contact@nextuser.com',NULL);\nINSERT INTO companies VALUES('nextag','Nextag','Nextag is a comparison shopping site for products, travel, and education. For merchants, service providers and individuals, Nextag acts as a sales channel.','https://www.nextag.com/serv/main/buyer/help/prPrivacyPolicy.jsp','https://www.nextag.com/','837','US','legalnotices@nextag.com',NULL);\nINSERT INTO companies VALUES('nextmillmedia','Next Millennium Media','Next Millennium Media Inc., are a programmatic ad partner combining the human touch with the latest technology.','https://nmm.nextmillmedia.com/privacy-notice/','https://nmm.nextmillmedia.com/','','US','privacy@nextMillennium.io',NULL);\nINSERT INTO companies VALUES('nextperf','Nextperf','Next Performance is an audience retargeting company and advertising network based in France. Their solution is used by eCommerce platforms to serve customers target advertisements based on interests inferred from products viewed and other relevant online data.','https://www.nextperf.com/privacy/','https://www.nextperf.com/','656','FR','support@nextperf.com',NULL);\nINSERT INTO companies VALUES('nextstat','NextSTAT','NextSTAT is a provider of Web intelligence solutions. They provide web analytics and traffic statistics for website owners.','http://www.nextstat.com/privacy-center','http://www.nextstat.com/','1211','US','support@nextstat.com',NULL);\nINSERT INTO companies VALUES('nexx360','Nexx360','Nexx360 provides a Service enabling publishers, advertising agencies, e-commerce and other sites, to optimise revenue opportunities from their visitor traffic and their advertising space.','https://nexx360.io/privacy-policy-and-cookies/','https://nexx360.io','','FR','dpo@nexx360.io',NULL);\nINSERT INTO companies VALUES('nexxen','Nexxen','Nexxen is a global advertising technology company that provides an integrated, full-stack platform for programmatic advertising. It was formerly known as Tremor International. The company offers a unified technology stack that includes a demand-side platform (DSP), supply-side platform (SSP), and data management platform (DMP) to help advertisers, agencies, publishers, and broadcasters manage campaigns across digital and linear media.','https://nexxen.com/services-privacy-policy/','https://nexxen.com/','','US','privacyrights@nexxen.com',NULL);\nINSERT INTO companies VALUES('neytiv','Neytiv',NULL,NULL,'http://neytiv.com/','4912',NULL,NULL,NULL);\nINSERT INTO companies VALUES('nginx','NGINX','NGINX is the heart of the modern web, powering half of the world’s busiest sites and applications. The NGINX open source project started in 2002 and has grown exponentially over the past 10+ years, thanks to the vision of Igor Sysoev and the enthusiasm and support of our loyal community of users. Today, millions of innovators choose NGINX and NGINX Plus for delivering their sites and applications with performance, reliability, security, and scale.','https://www.nginx.com/privacy-policy/','https://www.nginx.com/','4006',NULL,'privacy@nginx.com',NULL);\nINSERT INTO companies VALUES('niblesky','Niblesky','\"Niblesky builds an on-site marketing automation service called IFDO.\"','https://ifdo.co.kr/','https://ifdo.co.kr/','','KR','ifdo@nibblesky.com',NULL);\nINSERT INTO companies VALUES('nielsen','Nielsen','Nielsen is a global, independent measurement and data company for fast-moving consumer goods, consumer behavior, and media. With a presence in more than 100 countries and services covering more than 90% of the globe''s GDP and population, Nielsen provides clients with data about what consumers watch (programming, advertising) and what they buy (categories, brands, products) on a global and local basis and how those choices intersect.','https://www.nielsen.com/legal/privacy-principles/','https://www.nielsen.com/us/en.html','167','US','privacy.department@nielsen.com',NULL);\nINSERT INTO companies VALUES('nightdev','NightDev, LLC','NightDev is a software development company building tools for live broadcasters.',NULL,'https://nightdev.com/','5366',NULL,NULL,NULL);\nINSERT INTO companies VALUES('nimblecommerce','NimbleCommerce','\"NimbleCommerce works with global publishers to create compelling online shopping experiences - leveraging audience affinity and content relevance to deliver bottom-line results. Between our comprehensive platform, our vast network of offers and products from leading suppliers, and the most knowledgeable strategic and technical team in the business, we provide our customers with an unbeatable advantage for e-commerce success.\"','http://www.nimblecommerce.com/privacyPolicy','http://www.nimblecommerce.com/','3189',NULL,'security@nimblecommerce.com',NULL);\nINSERT INTO companies VALUES('nirror','Nirror','\"Watch live how your users behave on your website. Support them before they leave. See what went wrong in past visits. Improve your sales by eliminating conversion-killers.\"',NULL,'https://www.nirror.com/','3100',NULL,NULL,NULL);\nINSERT INTO companies VALUES('nk.pl','NK.pl',NULL,'http://nk.pl/nk_policy','https://nk.pl','1415','US','wspolpraca@nasza-klasa.pl',NULL);\nINSERT INTO companies VALUES('nocodelytics','Nocodelytics','Nocodelytics offers a specialized analytics platform for Webflow users, allowing them to track visitor behavior, CTA clicks, and form submissions without code.','https://www.nocodelytics.com/privacy','https://www.nocodelytics.com','','GB','help@nocodelytics.com',NULL);\nINSERT INTO companies VALUES('noddus','Noddus',NULL,'https://www.enterprise.noddus.com/privacy-policy','https://www.enterprise.noddus.com/','4945',NULL,NULL,NULL);\nINSERT INTO companies VALUES('nolix','Nolix','\"The system Nolix offers webmasters (website owners) to automate their sites [to] work [directly with] advertisers and arrange a convenient means for receiving promotional lines or contextual ads.\"Translated by Google Translate',NULL,'https://nolix.ru/','2961',NULL,NULL,NULL);\nINSERT INTO companies VALUES('noosphere','Noosphere','Association Noosphere is a non-governmental, non-commercial organization established for scientific research and information provisioning.','https://noosphereglobal.com/legal-information/','https://noosphereglobal.com/','5367','US',NULL,NULL);\nINSERT INTO companies VALUES('norion_bank','Norion Bank','Norion Bank Group is a business-oriented Nordic financing bank. The Group’s brands – Norion Bank, Walley and Collector – offer customized financing solutions that meet distinct needs in three customer segments: medium-sized corporates and real estate companies, merchants, and private individuals.','https://www.norionbank.se/om-bolaget/integritet-sakerhet/dataskydd','https://www.norionbank.se/en-SE','','SE','privacy@norionbank.se',NULL);\nINSERT INTO companies VALUES('norstat','Norstat','Norstat is an independent European data collector for market research. We collect data in a variety of ways, both online and offline, self-reported and automatic. The backbone of our data collection capabilities are our consumer panels. Norstat has access to over 3 million consumers and decision makers that provides us with high quality data. The information we gather gives our clients access to valuable answers and helps them make qualified decisions.','https://www.norstatpanel.com/privacy-policy','https://www.norstatpanel.com/','','GB','dpo@norstatgroup.com',NULL);\nINSERT INTO companies VALUES('nosto','Nosto','Nosto Solutions Oy is a Finnish company that provides a Commerce Experience Platform (CXP) to help brands and retailers improve online revenue by managing their commerce experiences. They offer tools for personalization, product discovery, and user-generated content, using machine learning to analyze shopper behaviour and create personalized experiences.','https://www.nosto.com/legal/privacy-privacy-notice/','https://www.nosto.com/','','FI','legal@nosto.com',NULL);\nINSERT INTO companies VALUES('notifyfox','Notifyfox',NULL,'https://notifyfox.com/#','https://notifyfox.com/','4600',NULL,NULL,NULL);\nINSERT INTO companies VALUES('now_interact','Now Interact','\"At its heart, Now Interact is a business intelligence tool that helps brands measure, visualize and harness website visitors in order to drive sales and margins.Now Interact analyzes visitor digital body language in real-time by combining big data and pattern recognition technology to predict visitors’ intention.Based on this analysis, Now Interact directs them to the most effective support channel to complete their sales or service journey – whether call back, call in, chat, co surf or content/promo push such as FAQ.\"','https://nowinteract.com/privacy-policy/','http://nowinteract.com/','3623',NULL,NULL,NULL);\nINSERT INTO companies VALUES('np6','NP6','Founded in Bordeaux in 1999, an emailing pioneer, NP6 quickly grew into a leading in SaaS (Software as a Service) marketing solution provider. Notably with MailPerformance, an email and SMS marketing campaign management solution.In 2016, NP6 acquires Ezakus, a Data Management Platform (DMP) pioneer and expert in audience qualifying and targeting, to offer marketing executives a complete solution dedicated to marketing activation.','http://www.np6.co.uk/legal-notices/','https://www.np6.com/','2113',NULL,'contact@ezakus.com',NULL);\nINSERT INTO companies VALUES('npario','nPario','\"nPario offers products and services that use Big Data to deliver in-depth and immediate audience insights, enable data monetization, and drive smarter marketing decisions.\"','http://npario.com/privacy.php','http://npario.com/','1877','US','info@npario.com',NULL);\nINSERT INTO companies VALUES('nplexmedia','nPlexMedia','\"NPlexMedia is one of the most advantageous advertising services in the market. This free platform provides advertisers and editors with quality tools and services.\"',NULL,'http://www.nplexmedia.com/','3061',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ntent','NTENT','\"NTENT enhances cross-channel digital experiences by matching content to consumers’ passions and interests. NTENT leverages its proprietary semantic search and natural language technology to provide relevant experiences for consumers, as well as enhanced monetization opportunities for marketers, content providers, carriers, app developers and distribution partners.\"','https://www.ntent.com/privacy','https://www.ntent.com/','1938','US',NULL,NULL);\nINSERT INTO companies VALUES('nttcom_online_marketing_solutions','NTTCom Online Marketing Solutions','\"[NTTCom]...developed a scientific method to measure, analyze and evaluate online visitor behavior quantitatively. With this information, customers can enhance their marketing strategies, improve their customer experience and can drive up their marketing return on investment (ROI).\"','https://www.nttcoms.com/privacypolicy/','https://www.nttcoms.com/','1907','US',NULL,NULL);\nINSERT INTO companies VALUES('nuffnang','Nuffnang','Nuffnang is an online advertising blogging community for the Asia-Pacific region.','http://uk.nuffnang.com/privacy-policy','https://nuffnang.com/','1012','US',NULL,NULL);\nINSERT INTO companies VALUES('nugg.ad','Nugg.ad','Nugg.ad operates a European advertising platform. With unique predictive behavioral targeting, nugg.ad offers customized, cooperative solutions that make it possible for online marketers, agencies and advertisers to increase efficiency, performance and branding impact of online campaigns. Through nugg.ad, target groups for real-time campaigns can be booked instantly and in a standardized format from any nugg.ad client.','https://www.nugg.ad/en/privacy/general-information.html','http://www.nugg.ad/en/index','450','DE','christian.pfeiffer@nugg.ad',NULL);\nINSERT INTO companies VALUES('nui_media','NUI Media','AdJuggler is a global digital ad serving and ad management company, enabling advertisers and agencies to reach target audiences, while publishers and networks monetize their content and user communities.','https://www.nuimedia.com/privacy-policy/','https://www.nuimedia.com','419','US','support@nuimedia.com',NULL);\nINSERT INTO companies VALUES('numbers.md','Numbers.md','We created the system that allows you to place your internet advertising with a single site.More than 1.5 mln. Internet users visiting monthly platoformele Numbers. Among them are your customers. Our task is to do your advertising to be more accessible to them.(Translated by Google)',NULL,'https://numbers.md/','4663',NULL,'info@numbers.md',NULL);\nINSERT INTO companies VALUES('numerator','Numerator','Numerator combined Market Track and InfoScout to bring together the advertising, promotions, pricing and digital shelf data that influences why consumers buy — along with comprehensive data on purchasing behavior.','https://www.numerator.com/','https://www.numerator.com/','2645',NULL,'info@channeliq.com',NULL);\nINSERT INTO companies VALUES('o2.pl','o2.pl',NULL,'http://sgcdn.o2.pl.sds.o2.pl/cookies_WPM_v.11.10.2017.pdf','https://www.o2.pl/','5368',NULL,NULL,NULL);\nINSERT INTO companies VALUES('observer','Observer','Observer is a web analytics software.',NULL,'http://www.observerapp.com','1138','US','lp@observerapp.com',NULL);\nINSERT INTO companies VALUES('obvi_use','Obvi Use','Obvi Use AB is the company behind the cookie consent solution called CookieTractor.','https://www.cookietractor.com/privacy-policy','https://www.cookietractor.com','','SE','info@cookietractor.com',NULL);\nINSERT INTO companies VALUES('ocioso','Ocioso',NULL,NULL,'https://ocioso.com.br/','3150',NULL,NULL,NULL);\nINSERT INTO companies VALUES('octavius','Octavius',NULL,NULL,'https://octavius.rocks/','5050',NULL,'info@octavius.rocks',NULL);\nINSERT INTO companies VALUES('ogury','Ogury','Ogury is a mobile advertising technology company. We develop and maintain software, cookies, pixels and similar technologies that mobile app and website publishers can integrate into their apps and websites to help them to display ads.','https://ogury.com/ogury-advertising-privacy-policy/','https://ogury.com/','','GB','privacy@ogury.co',NULL);\nINSERT INTO companies VALUES('oh_my_stats','Oh My Stats','\"Oh My Stats is a marketing analytics service that shows exactly what marketing money gets you — and how.\"','https://ohmystats.com/privacy','https://ohmystats.com/','2959',NULL,'support@ohmystats.com',NULL);\nINSERT INTO companies VALUES('ohana_advertising_network','Ohana Advertising Network','\"Ohana helps you reach out to audiences in emerging markets - Asia, Middle East, Latin America. Our expertise in multi-cultural marketing and comprehensive targeting & optimization capabilities drive blockbuster results for our clients.\" (Owned by Ohana Media)','http://www.networkohana.com/privacy.php','http://adohana.com/','2168',NULL,'support@ohana-media.com',NULL);\nINSERT INTO companies VALUES('okendo','Okendo','Okendo is a Sydney-based customer marketing platform for Shopify merchants, specializing in collecting and displaying customer reviews, photos, videos, and Q&A.','https://okendo.io/legal-end-users/privacy/','https://okendo.io/','','AU','contact@okendo.io',NULL);\nINSERT INTO companies VALUES('olapic','Olapic','\"Olapic is [a] social photo crowdsourcing service providing e-commerce sites, brands and publishers with tools to collect photos from their users, engage their audience and support a strong community built on photo sharing. Olapic helps companies grow by leveraging the power of data from multiple photo-sharing sites such as Facebook, X (formerly Twitter), Instagram, and more.\"','https://www.olapic.com/privacy-policy/','https://www.olapic.com/','2640',NULL,'legal@Olapic.com',unistr('Acquired by Social Native Sep-2020\\u000aRef: https://www.socialnative.com/articles/social-native-acquires-olapic-to-create-next-gen-creative-optimization-platform/'));\nINSERT INTO companies VALUES('olark','Olark','Olark provides offers a live chat product for business websites. Their solution integrates live support and chat to businesses'' existing CRM efforts and software.','https://www.olark.com/privacy-policy','https://www.olark.com/','1008','US','privacy@olark.com',NULL);\nINSERT INTO companies VALUES('ometria','Ometria','\"Tailored to the needs of the online retailer, the Ometria dashboard has been designed by ecommerce specialists. Product and customer centric, it pulls out just the data retailers need to be able to grow their business.\"','https://www.ometria.com/privacy-policy','http://www.ometria.com/','2623',NULL,'info@ometria.com',NULL);\nINSERT INTO companies VALUES('omikron','Omikron Data Quality','Omikron Data Quality GmbH is a German IT company specializing in data quality and search & navigation solutions, particularly within the eCommerce sector. Founded in 1988, the company is known for its FACT-Finder software, which is used by online stores worldwide for search, navigation, and merchandising.','https://www.omikron.com/datenschutzerklaerung','https://www.omikron.com/','','DE','datenschutz@omikron.com',NULL);\nINSERT INTO companies VALUES('omniconvert','Omniconvert','We help data-driven marketers around the world to understand, segment, convert and retain customers. Omniconvert helps you turn one-time buyers into lifetime customers.','https://www.omniconvert.com/privacy','https://www.omniconvert.com/','5369','RO',NULL,NULL);\nINSERT INTO companies VALUES('omnisend','Omnisend','Omnisend is a marketing automation platform tailored for e-commerce businesses, specializing in email and SMS marketing. Established in 2014 under the name Soundest, the company is headquartered in London, United Kingdom. Omnisend offers tools for creating and managing marketing campaigns, automating workflows, and analyzing customer data to enhance engagement and sales.','https://www.omnisend.com/privacy/','https://www.omnisend.com/','','GB','info@omnisend.com',NULL);\nINSERT INTO companies VALUES('omq','OMQ','OMQ is the developer of AI-powered customer service software designed to help clients automatically answer service requests. The company''s software provides real-time answers for contact forms, self-searching FAQ on the help page, assistant in the ticket system, smart customer communication in chat and messenger and automatic replies from an email inbox.','https://omq.ai/company/data-security/','https://omq.ai','','DE','support@omq.de',NULL);\nINSERT INTO companies VALUES('ondics','ONDICS','Ondics is a German digital service provider founded in 1996 in Esslingen. They specialize in developing custom web and app solutions for complex business processes, with a focus on vertical solutions for various industries including automotive, banking and insurance, and manufacturing.','https://ondics.de/impressum/','https://ondics.de/en/','','DE','info@ondics.de',NULL);\nINSERT INTO companies VALUES('oneall','Oneall','OneAll offers web-delivered tools and a powerful API to simplify the integration of 30+ social networks into business and personal websites.','http://www.oneall.com/company/privacy-policy/','http://www.oneall.com/','5115',NULL,NULL,NULL);\nINSERT INTO companies VALUES('onecommerce','OneCommerce','OneCommerce offers solutions that elevate your eCommerce business by increasing traffic, maximizing conversion rate and generating much better customer lifetime value.','https://onecommerce.io/privacy-policy/','https://onecommerce.io/','','VN','contact@onecommerce.io',NULL);\nINSERT INTO companies VALUES('onefeed','Onefeed','\"Onefeed is a leading provider of management suites for comparison shopping marketing, competitor analysis, search engine marketing and data feed optimisation.\" Onefeed is owned by Webcore Limited.','https://www.onefeed.co.uk/privacy-policy/','http://www.onefeed.co.uk','2597',NULL,'privacy@onefeed.co.uk',NULL);\nINSERT INTO companies VALUES('onesignal','OneSignal','Our mission is to become the ubiquitous platform for all mobile and web notification messages that apps send to users, and we''re well on our way. Our easy-to-use developer SDKs empower developers and marketers to deliver effective push notifications to their users on all smartphone platforms.Our stack includes Ruby, Rails, Rspec, Coffeescript, PostgreSQL, and Redis. Our backend systems currently send tens of millions of notifications per day and process upwards of 400,000 API requests per minute.','https://onesignal.com/privacy_policy','https://onesignal.com/','4304','US','privacy@OneSignal.com',NULL);\nINSERT INTO companies VALUES('onesoon','OneSoon Ltd',NULL,'https://www.adalyser.com/privacy','http://www.adalyser.com','5370',NULL,NULL,NULL);\nINSERT INTO companies VALUES('onestat_international_b.v.','OneStat International B.V.','OneStat.com is a provider of real-time web analytics solutions delivered through hosted, on demand services. OneStat services are focused on driving online sales and ROI of marketing campaigns.','http://www.onestat.com/html/privacy.html','http://www.onestat.com/','130','NL',NULL,NULL);\nINSERT INTO companies VALUES('onet.pl','Onet.pl SA','\"Both users and advertisers appreciate the quality of services leading Polish portal. Users with a high content of diversity of content, and advertisers such as an excellent context for promoting products of any industry....Onet Group offers advertisers the largest and most attractive premium ad space in the Polish network.\"Translated by Google Translate','http://ofirmie.onet.pl/polityka-prywatnosci','https://www.onet.pl/','1724',NULL,NULL,NULL);\nINSERT INTO companies VALUES('onetag','OneTag','OneTag is the developer of an advertisement technology platform designed to measure inventory performance on a range of data points and optimize campaign KPIs. The company''s technology empowers both buyers and sellers with technology, tools and infrastructure.','https://www.onetag.com/privacy/','https://www.onetag.com/','5424','GB','privacy@onetag.com',NULL);\nINSERT INTO companies VALUES('onetrust','OneTrust','OneTrust is a privacy and security software provider that offers a comprehensive Trust Intelligence Platform for consent management. It also operates CookieLaw, a website providing compliance tools for cookie laws, under the domain cookielaw.org. CookieLaw was previously known as Optanon before being acquired by OneTrust in 2016. OneTrust''s solutions aim to streamline privacy and compliance processes for organizations of all sizes, enabling them to build trust and maintain regulatory compliance.','https://www.onetrust.com/privacy-notice/','https://www.onetrust.com/','4754','US','dpo@onetrust.com',NULL);\nINSERT INTO companies VALUES('oneupweb','Oneupweb','We''re Oneupweb. A digital marketing agency. But we don''t act like a digital marketing agency-because most are too pompous, too razzle-dazzle, too Slick-Rick for us. We''re a conglomerate of more than 40 ridiculously skilled team members in a state of the art facility working tirelessly to better your business. It takes project managers, team leaders, account managers, media coordinators, paid search specialists, SEO gurus, social media mavens, voice talent, design geniuses, crazy-smart programmers, delicately powerful PR masters, eloquent copy writers and a dog or three to get the digital marketing job done.','https://www.oneupweb.com/privacy-policy/','https://www.oneupweb.com/','1223','US','info@oneupweb.com',NULL);\nINSERT INTO companies VALUES('onfocus','OnFocus','Making ad inventory bankable',NULL,'http://onfocus.io/','5021',NULL,NULL,NULL);\nINSERT INTO companies VALUES('onlinewebstat','Onlinewebstat','\"Onlinewebstat is a web analytics platform that tells you who visits your website. When does your website visited, from where and by how many people.They report per hour, per day, per month and per country.\"',NULL,'http://www.onlinewebstats.com/index.php?lang=en','1229','TR',NULL,NULL);\nINSERT INTO companies VALUES('onswipe','Onswipe','\"Our mission is to power the way the world experiences the web on touch. We do this by making it[...] easy for a publisher of any size to make their existing content a beautiful app-like experience in the browser.\"',NULL,'http://www.onswipe.com/','2626',NULL,'founders@onswipe.com',NULL);\nINSERT INTO companies VALUES('onthe.io','onthe.io',NULL,'https://onthe.io/pp','https://t.onthe.io/media','4494',NULL,'io@onthe.io',NULL);\nINSERT INTO companies VALUES('ontraport','Ontraport','\"​​​​​​​Ontraport provides a comprehensive business and marketing automation platform targeted to the specific needs of entrepreneurs and small businesses.\"','https://ontraport.com/privacy-policy','https://ontraport.com/','1554','US',NULL,NULL);\nINSERT INTO companies VALUES('open_adexchange','Open AdExchange','\"Open AdExchange is an open and transparent infrastructure that brings together publishers across the media industry. We help publishers to generate earnings on the content of their sites by matching the text ads that are most relevant to users. For advertisers and agencies online ad platform is a valuable opportunity for targeted text advertising on Danish quality sites in a simple and effective way.\"',NULL,'http://openadex.dk/','1432','DK',NULL,NULL);\nINSERT INTO companies VALUES('open_share_count','Open Share Count','\"OpenShareCount aims to make this process a little simpler by providing a drop-in replacement for the old, undocumented and unofficial API endpoint that all the existing official and non-official share buttons were using. For people using X''s default button (formerly Twitter), OpenShareCount provides a bubble with a counter to place next to it.\"',NULL,'http://opensharecount.com/','4216',NULL,NULL,NULL);\nINSERT INTO companies VALUES('open_web_analytics','Open Web Analytics','\"Open Web Analytics (OWA) is open source web analytics software that you can use to track and analyze how people use your websites and applications.\"',NULL,'http://www.openwebanalytics.com/','2083',NULL,NULL,NULL);\nINSERT INTO companies VALUES('openai','OpenAI','OpenAI is an AI research organization founded in 2015, known for developing large language models like the GPT series, which includes ChatGPT, and multimodal models such as DALL-E and Sora. It operates as a hybrid of non-profit and for-profit structures, with investment from Microsoft, and aims to develop artificial general intelligence.','https://openai.com/policies/row-privacy-policy/','https://openai.com/','','US','privacy@openai.com',NULL);\nINSERT INTO companies VALUES('openjsf','OpenJS Foundation','OpenJS promotes the widespread adoption and continued development of key JavaScript technologies worldwide.','https://privacy-policy.openjsf.org/','https://openjsf.org/','',NULL,'privacy@openjsf.org',NULL);\nINSERT INTO companies VALUES('openstat','Openstat','Openstat is a web analytics company. They provide customers with a suite of tools that are used to measure website statistics, audit and optimize advertising campaigns, build communications with visitors to websites, research markets and preferences of users on the web.','https://www.openstat.ru/service/legal/rules','https://www.openstat.ru/','161','RU','info@openstat.ru',NULL);\nINSERT INTO companies VALUES('opentracker','Opentracker','OpenTracker is an event tracker and analytics provider. They specialize in long-term visitor tracking, search term analysis and visitor clickstream reporting.','https://www.opentracker.net/privacy','https://www.opentracker.net/','961','NL',NULL,NULL);\nINSERT INTO companies VALUES('openx','OpenX Software Ltd.','OpenX Limited is an open source advertising community that develops independent ad servers and services. The OpenX Market is an exchange platform that enables publishers to sell their supply directly to ad buyers through real-time auctions, while providing technology to ad networks, sales houses and affiliate networks for ad serving. OpenX features an integrated banner management interface and tracking system to gather statistical data across the exchange.','https://www.openx.com/legal/privacy-policy/','https://www.openx.com/','131','US','dpo@openx.com',NULL);\nINSERT INTO companies VALUES('operative_media','Operative Media','Operative’s next-generation, SaaS based platform and technology-enabled services help media industry leaders and their partners balance operational efficiency with innovation to reduce transaction costs and boost advertising revenue. Launched in October 2010, the Operative.One platform brings together the business processes and systems necessary to package, sell, traffic, manage, optimize and collect revenue on advertising products.','https://www.operative.com/privacy-policy/','https://www.operative.com/','1482','US','privacy@operative.com',NULL);\nINSERT INTO companies VALUES('opinary','Opinary','OPINARY MAKES OPINIONS MATTER.With interactive content that gives users a voice, helping publishers and brands reach, understand and convert their most valuable audiences.','https://opinary.com/privacy-policy/','https://opinary.com/','5167',NULL,NULL,NULL);\nINSERT INTO companies VALUES('oplytic','Oplytic','We help enterprises run smarter mobile marketing and sales','http://www.oplytic.com/privacy/','http://www.oplytic.com','3866',NULL,NULL,NULL);\nINSERT INTO companies VALUES('opta_sports','Opta Sports','Our performance data powers and informs your sports content, whatever your business, concept or platform','http://praxis.optasports.com/','https://www.optasports.com/','5166',NULL,NULL,NULL);\nINSERT INTO companies VALUES('optable_technologies','Optable Technologies','Publishers and brands use Optable data collaboration technology to securely plan, activate and measure performant advertising campaigns.','https://terms.optable.co/privacy/privacy-policies','https://www.optable.co/','','CA','dpo@optable.co',NULL);\nINSERT INTO companies VALUES('optaim','OptAim','\"Through deep collaboration with the mainstream media, OptAim can provide a wealth of high-quality traffic for advertisers to run and hit the mainstream of China''s Internet population. In addition, through our DSP platform with mainstream Ad Exchange, you can also find further maximize the effective population advertisers.\"Translated by Google Translate','http://optaim.com/privacy.html','http://optaim.com/','3005',NULL,NULL,NULL);\nINSERT INTO companies VALUES('optify','Optify','Optify is a provider of online marketing software and services. Their integrated service enables professional marketers to find and track target keywords, optimize their website for search engines, qualify leads automatically, monitor website visitors, schedule X campaigns (formerly Twitter) and track results, and gain insights into which online marketing channels are driving qualified leads.','http://www.optify.net/about-our-b2b-inbound-marketing-solutions/privacy','http://www.optify.net/','598','US','support@optify.net',NULL);\nINSERT INTO companies VALUES('optimatic','Optimatic','\"OPTIMATIC is the leading provider of fully managed video advertising solution for publishers. Our universal video advertising platform and world class publisher support makes OPTIMATIC the best solution for publishers.\"','http://www.optimatic.com/wp-content/uploads/2016/11/Privacy_Policy11-16.pdf','https://www.optimatic.com/','2319',NULL,'support@optimatic.com',NULL);\nINSERT INTO companies VALUES('optimax_media_delivery','Optimax Media Delivery','Optimax Media Delivery (OptMD), is an online advertising campaign delivery platform. The OptMD service places pop-under advertising on websites. These ads are displayed behind a user''s web browser instead of more traditional in-browser ads.','http://optmd.com/privacy.html','http://optmd.com/','857','US',NULL,NULL);\nINSERT INTO companies VALUES('optimise_it','Optimise-it',NULL,NULL,'https://www.optimise-it.de/','5371',NULL,NULL,NULL);\nINSERT INTO companies VALUES('optimise_media','Optimise Media','\"OMG is divided into three business units, each focused on a different channel: OMG Network (affiliate marketing), OMG Search (search engine marketing) and OMG Rewards (referral and incentive marketing).\"','https://www.optimisemedia.com/website-privacy-policy/','https://www.optimisemedia.com/','1435','US',NULL,NULL);\nINSERT INTO companies VALUES('optimizely','Optimizely','Optimizely provides digital experience platform software as a service. Optimizely provides A/B testing and multivariate testing tools, website personalization, and feature toggle capabilities, as well as web content management and digital commerce.','https://www.optimizely.com/legal/privacy-notice/','https://www.optimizely.com/','881','US','privacy@optimizely.com',NULL);\nINSERT INTO companies VALUES('optimonk','OptiMonk','\"OptiMonk was started in 2014 out of necessity. We simply couldn''t find a reliable exit-intent tool for our clients. Our founder is ecommerce conversion specialist Csaba Zajdo, who has led OptiMonk to become one of the fastest growing web technology companies in Hungary.We’re a group of passionate digital marketers dedicated to the success of our clients. We’ve created more than 3,000 ecommerce sites, including several which are now market leaders.\"','https://www.optimonk.com/privacy_policy','https://www.optimonk.com/','4201',NULL,'adatved@obh.hu',NULL);\nINSERT INTO companies VALUES('optincollect','OptinCollect',NULL,NULL,'https://www.optincollect.com/en','5372',NULL,NULL,NULL);\nINSERT INTO companies VALUES('optinmonster','OptinMonster','Retyp, LLC dba OptinMonster is an online lead generation software developed in Florida, United States. It is a standalone application that integrates with web platforms, such as Drupal, WordPress, Joomla, Shopify, Magento, and Bigcommerce. The software is used by online marketers to convert website visitors into subscribers and customers.','https://optinmonster.com/privacy/','https://optinmonster.com/','5129','US',NULL,NULL);\nINSERT INTO companies VALUES('ora.tv','Ora.TV',NULL,'http://www.ora.tv/privacy','http://www.ora.tv/','4789',NULL,'contact@ora.tv',NULL);\nINSERT INTO companies VALUES('oracle','Oracle','Oracle is an integrated cloud applications and platform services firm that offers complete SaaS application suites for ERP, HCM and CX.','https://www.oracle.com/legal/privacy/index.html','https://www.oracle.com/','1170','US','https://www.oracle.com/legal/privacy/rights.html',NULL);\nINSERT INTO companies VALUES('orange142','Orange142','\"Orange142 is a global advertising services and technology company providing strategy and creative plus programmatic technology for campaign management, target buying and analytics. We focus on branding campaigns as well as Lead Generation and Digital Direct Response.\"',NULL,'https://www.orange142.com/','3054',NULL,NULL,NULL);\nINSERT INTO companies VALUES('orange_france','Orange France',NULL,'https://c.orange.fr/donnees-personnelles.html','https://www.orange.fr/','3881',NULL,NULL,NULL);\nINSERT INTO companies VALUES('orange_mobile','Orange Mobile','\"Orange is one of the main European operators for mobile and broadband internet services and, under the brand Orange Business Services, is one of the world leaders in providing telecommunication services to multinational companies.\"','http://web.orange.co.uk/documents/ice/privacy/orange_privacy_and_cookie_policy_for_mobile_20101206.pdf','https://www.orange.co.uk/','1203','US',NULL,NULL);\nINSERT INTO companies VALUES('orangesoda','OrangeSoda','OrangeSoda is an analytics company that provides search engine optimization services to publishers with a focus on localization services (tailoring content such as maps to geographic regions).','http://www.orangesoda.com/privacy-policy/','http://www.orangesoda.com/','132','US','cs@orangesoda.com',NULL);\nINSERT INTO companies VALUES('order_groove','Order Groove','Ordergroove powers subscriptions and recurring revenue for serious brands. Turn one-time transactions into lasting relationships.','https://www.ordergroove.com/terms/','https://www.ordergroove.com','4456','US','info@ordergroove.com',NULL);\nINSERT INTO companies VALUES('orel_site','Orel Site','Specialists of \"OryolSiteStroy\" with many years of experience in creating, supporting and promoting websites.','https://www.orelsite.ru/policy','https://www.orelsite.ru/','4964','RU',NULL,NULL);\nINSERT INTO companies VALUES('ors','ORS','The ORS group consists of Österreichische Rundfunksender GmbH & Co KG - Austrian Broadcasting Services (ORS) and its subsidiary ORS comm GmbH & Co KG (ORS comm).ORS was founded in early 2005, originating from ORF''s Broadcast Engineering. 60 percent of it is owned by  ORF and 40 percent by Medicur Sendeanlagen GmbH which, in turn, is part of Raiffeisen group.In 2012, simpli services GmbH & Co KG, a subsidiary of ORS, was founded for the dissemination of the TV product simpliTV.In 2015, ORS comm acquired a stake in the video on demand platform Flimmit.In recent years, ORS group has evolved from a transmitter network operator into a \"Digital Content Gateway\" and as a reliable partner, guarantees perfect \"content transport\" via cable, IP, satellite and antenna.','http://www.ors.at/en/data-protection-policy/','http://www.ors.at/en/','5034',NULL,NULL,NULL);\nINSERT INTO companies VALUES('osano','Osano','The Osano data privacy management platform supports, streamlines, and automates compliance in your organization—without the stress. Osano, Inc., is a Delaware Public Benefit Corporation.','https://osano.trusthub.com/privacy','https://www.osano.com','','US','https://www.osano.com/legal/dsar',NULL);\nINSERT INTO companies VALUES('otclick','otClick','otClick is a banner network, which sells advertising on clicks.','https://otclick-adv.ru/privacy-policy/','https://otclick-adv.ru/','2699','RU','support@otclick-adv.ru',NULL);\nINSERT INTO companies VALUES('outbrain','Outbrain','Outbrain’s mission is to serve interesting recommendations to you based on what we believe are your interests. To achieve our mission we enter into agreements with: Online publishers and partners who want to recommend relevant content to their readers (this is Outbrain Engage); Advertisers who want readers to view their content (this is Outbrain Amplify); And third party partners who help us serve relevant recommendations.','https://www.outbrain.com/privacy/','https://www.outbrain.com/','134','US','dpo@outbrain.com',NULL);\nINSERT INTO companies VALUES('outgrow','Outgrow','Outgrow is a software-as-a-service (SaaS) company that helps businesses create interactive marketing experiences like quizzes, calculators, and recommendations. They enable users to create these experiences without needing coding or design skills.','https://outgrow.co/global-data-privacy-policy/','https://outgrow.co/','','US','questions@outgrow.co',NULL);\nINSERT INTO companies VALUES('owneriq','OwnerIQ','OwnerIQ collects and interprets product purchase intent and ownership data as consumers travel the Web. This enables advertisers to target their online advertising, direct marketing, and market research based on consumer purchase behavior and patterns. OwnerIQ operates a wholly owned product support site, ManualsOnline.com.','https://www.owneriq.com/privacy-policy','https://www.owneriq.com/','321','US','privacy@owneriq.com',NULL);\nINSERT INTO companies VALUES('owox_inc','OWOX Inc.','OWOX is a software company founded in 2013. The company specializes in web analytics and business intelligence products and services. OWOX''s services include development of business intelligence (BI) products based on Google Cloud Platform.','https://www.owox.com/policies/privacy/','https://www.owox.com/','5373','UA',NULL,NULL);\nINSERT INTO companies VALUES('oxamedia','OxaMedia','OxaMedia operates the AdConneXa Advertising Platform.  Their technology provides advertisers, agencies, publishers and networks with ad management and digital marketing solutions. Using AdConneXa, clients can use any of several targeting tools (contextual, channel, behavioral, re-targeting, demographic or geographic) that are most relevant to their advertising objectives.','http://www.oxamedia.com/privacy-policy/','http://www.oxamedia.com/','618','GB','support@oxamedia.com',NULL);\nINSERT INTO companies VALUES('ozone','Ozone','Ozone is a digital advertising and audience connection platform founded in 2018 by major UK media publishers. It provides scaled, audience-focused advertising and connects brands with publishers to support measurable business outcomes.','https://ozoneproject.com/website-privacy-cookie/','https://ozoneproject.com','','GB','privacy@ozoneproject.com',NULL);\nINSERT INTO companies VALUES('pagescience','PageScience','\"The world is changing. CMOs want stellar ROI; consumers want their privacy. How do you execute campaigns in an environment that''s hostile to cookie targeting? Simple. Go back to basics. Go back to context, only with hyper focus on content that''s relevant to your target audience, right now. That''s the PageScience promise. Our page-level targeting scans the web for consumers who are actively researching your exact category, and presents your message.And that leads to higher conversions, better brand experiences, and way more efficient media spend. In specific categories, such as health and financial services, it''s way more effective and precise than cookie targeting.\"',NULL,'http://www.pagescience.com/','692','US','info@pagescience.com',NULL);\nINSERT INTO companies VALUES('paid-to-promote','Paid-to-Promote','Paid-to-Promote is a network that pays publishers to promote unspecified content on their sites. Publishers are paid on a CPM basis.',NULL,'https://www.paid-to-promote.net/','834','US','ptp@paid-to-promote.net',NULL);\nINSERT INTO companies VALUES('panasonic','Panasonic','Panasonic Holdings Corporation is a multinational electronics company based in Kadoma, Osaka, Japan, offering a diverse range of products and services, including consumer electronics, rechargeable batteries, and home renovation. Among its subsidiaries is Panasonic Avionics Corporation, which specializes in providing customized in-flight entertainment and communication devices to airlines worldwide.','https://holdings.panasonic/global/privacy-policy.html','https://holdings.panasonic/global/','','JP',NULL,NULL);\nINSERT INTO companies VALUES('paperg','PaperG','PaperG provides an online ad platform that automates local ad creation, sales, and management for local online media companies. Technology-enabled services include: high volume automated ad creative assembly and serving, on-demand advertiser microsite generation and hosting and stream lined local ad operation management.','https://www.makethunder.com/privacy','http://www.paperg.com/','542','US','n/a',NULL);\nINSERT INTO companies VALUES('papoo','Papoo Software & Media GmbH','Papoo Software is a German software development agency that works on full-featured Content Management Systems for websites. They also provide a Cookie Consent Manager called CCM19.','https://www.papoo-media.de/datenschutzerklaerung.html','https://www.papoo-media.de/','5435','DE','info@papoo.de',NULL);\nINSERT INTO companies VALUES('paradox','Paradox','Paradox is a company that develops conversational recruiting software. It offers conversational customer experience (CX) capture, candidate screening, scheduling, CRM, assessments, and other solutions.','https://www.paradox.ai/legal/privacy-policy','https://www.paradox.ai','','US','privacy@paradox.ai',NULL);\nINSERT INTO companies VALUES('pardot','Pardot','Pardot provides interactive marketing solutions. It offers Prospect Insight, a marketing automation suite for sales and marketing professionals for web and mobile, LeadDeck Prospect Monitor, an application that allows sales and marketing teams to get real-time alerts of visitor and prospect activity and VisitorID, which allows tracking and identification of the organizations of anonymous visitors.','https://www.pardot.com/company/legal/privacy-policy.html','https://www.pardot.com/','228','US',NULL,unistr('In October 2012, Pardot was acquired by ExactTarget. In July 2013, ExactTarget, along with Pardot, became part of Salesforce.\\u000a\\u000aSource: https://web.archive.org/web/20130821193229/http://www.pardot.com/about-pardot/'));\nINSERT INTO companies VALUES('parse.ly','Parse.ly','Parse.ly is a personalization and optimization engine for content providers. They leverage data from individuals and groups of users to improve is personalization and share  the behavioral patterns among the Parsely community.','https://www.parsely.com/privacy-policy/','https://www.parsely.com/','1009','US','hello@parsely.com',NULL);\nINSERT INTO companies VALUES('parship','Parship','Parship is the online dating agency for long-term relationships.',NULL,'https://www.parship.de/','5374','DE',NULL,NULL);\nINSERT INTO companies VALUES('partner-ads','Partner-Ads','\"Partner-ads [works] with performance-based marketing where advertisers pay only for what they get and...affiliate partners earn good money by helping advertisers with targeted and relevant marketing.\"','https://www.partner-ads.com/dk/persondatapolitik.htm','https://www.partner-ads.com/','1431','DK','maildk@partner-ads.com',NULL);\nINSERT INTO companies VALUES('passionfruit','Passionfruit',NULL,NULL,'http://passionfruitads.com/','2677',NULL,'hello@passionfruitads.com',NULL);\nINSERT INTO companies VALUES('pathfactory','PathFactory','PathFactory Inc. is a software company specializing in content intelligence and personalization for B2B marketing teams. They provide a platform that helps marketers create tailored content experiences for both accounts and individual buyers, enabling them to track buyer and content engagement throughout the entire buyer journey.','https://www.pathfactory.com/privacy-policy/','https://www.pathfactory.com/','','CA','privacy@pathfactory.com',NULL);\nINSERT INTO companies VALUES('pathful','Pathful','\"Pathful''s competitive diagnostic shows Mid-Market and Enterprise companies the performance of their conversion funnel against their competitors. They are able to pinpoint which segments of their site could be performing better and opportunities relative to their competitor''s. Pathful then provides ongoing automated conversion insights that provide clear guidance to improve their site conversion performance.\"','https://www.pathful.com/privacy/','https://www.pathful.com/','3007',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pay-hit','Pay-Hit','\"[We] provide our customers (i.e. web publishers) with a set of technologies and services designed to help them maximize their ad revenues. The primary way we do this is by connecting our customers with a variety of ad buyers and, through our ad optimization technology, enabling them to make intelligent decisions about how they sell their ad inventory. \"Translated by Google Translate',NULL,'https://pay-hit.com/','3168',NULL,'privacy@pay-hit.com',NULL);\nINSERT INTO companies VALUES('payclick','PayClick','\"PayClick.it and an affiliate network that operates since 2006 with the goal to provide and develop solutions for Web Advertising in Italy.\"','http://www.payclick.it/it/privacy','http://www.payclick.it/it/','1513','US',NULL,NULL);\nINSERT INTO companies VALUES('paykickstart','PayKickstart','\"We Help Entrepreneurs Sell More, Increase Revenue and Automate Their Entire Online BusinessGrow Your Business with the Easiest, Simplest, and Most Powerful Shopping Cart and Affiliate Management Software\"','https://paykickstart.com/privacy-policy/','https://paykickstart.com/','5257',NULL,'support@paykickstart.com',NULL);\nINSERT INTO companies VALUES('paypal','PayPal','PayPal Holdings, Inc. is an American financial technology company that operates an online payments system. Founded in 1998 and headquartered in San Jose, California, PayPal enables individuals and businesses to send and receive money electronically. The company is widely used for online transactions and owns subsidiaries like Venmo and Xoom, which extend its services into peer-to-peer payments and international money transfers.','https://www.paypal.com/us/legalhub/paypal/privacy-full','https://www.paypal.com/','','US','https://www.paypal.com/us/smarthelp/contact-us/privacy','In 2015, eBay spun off PayPal, and it became an independent company again.');\nINSERT INTO companies VALUES('peer39','Peer39','Peer39 invented the category of Pre Bid non-cookie based data starting with Semantic-based contextual categories, then Brand Safety and then Page Quality. Since then it has continued to scale at the pace of RTB, and has brought to market many meaningful data points that advertisers find valuable, and predictable to use to scale their performance campaigns.','https://www.peer39.com/privacy-policy/','https://www.peer39.com/','5430','US','privacy@peer39.com',NULL);\nINSERT INTO companies VALUES('peer5','Peer5',NULL,'https://www.peer5.com/privacy.html','https://www.peer5.com/','5375',NULL,NULL,NULL);\nINSERT INTO companies VALUES('peerius','Peerius','Peerius is provider of technology that provides enhanced product recommendations. Their software integrates with e-commerce platforms to call out products on publishers'' websites based on its \"intelligent\" recommendation technology.',NULL,'http://www.peerius.com/','1024','GB','info@peerius.com',NULL);\nINSERT INTO companies VALUES('penske_media_corp','Penske Media Corporation','PMC is a Leading Digital Media and Publishing Company','https://pmc.com/privacy-policy/','https://pmc.com/','29','US',NULL,NULL);\nINSERT INTO companies VALUES('pepperjam','PepperJam','Pepperjam is an industry leader in online performance marketing and technology. They operate a performance marketing network, which provides  tools and analytics for optimization. Pepperjam is a GSI Media company.','https://www.pepperjam.com/legal#privacy','https://www.pepperjam.com/','894','US','privacy@pepperjam.com',NULL);\nINSERT INTO companies VALUES('pepsia','Pepsia','\"With a catalog of more than 3000 premium editorial videos, reinforced by a daily production of 25 new videos, PEPSIA is able to provide quality video content to enrich the pages of your digital media.Our video format natively integrates one of the most efficient monetization systems on the market, with fill rates up to 2x higher than the competing outstream solutions. Double your current ad revenue while enriching your user experience (20% increase in average visit duration on partners sites).\"','https://editeur.pepsia.com/mentions-legales.html','http://pepsia.com/en/','5188',NULL,NULL,NULL);\nINSERT INTO companies VALUES('perfect_audience','Perfect Audience','\"We''re making Facebook retargeting and web retargeting fast, effective, and affordable so companies can grow with ease.\"','https://www.perfectaudience.com/privacy/','https://www.perfectaudience.com/','2394',NULL,'info@perfectaudience.com',NULL);\nINSERT INTO companies VALUES('perfect_market','Perfect Market','\"Perfect Market, Inc. is [a] provider of digital publishing software solutions for driving traffic, engagement and revenue.\"','http://perfectmarket.com/privacy-policy/','http://perfectmarket.com/','2736',NULL,'info@perfectmarket.com',NULL);\nINSERT INTO companies VALUES('perform_group','Perform Media Services Ltd','\"PERFORM commercialises multimedia sports content across internet-enabled digital platforms, driving revenues through a mix of Content Distribution, Advertising & Sponsorship, the development and management of Subscription Platforms and Technology & Production.\"','http://www.performgroup.com/media-privacy-notice','http://www.performgroup.com/','2167',NULL,'info@performgroup.com',NULL);\nINSERT INTO companies VALUES('performancing','Performancing','\"Performancing is a new media company focused on your digital marketing and branding needs. We were there when Web 2.0 started and we’ve worked with the finest web talent from around the globe and created names for online businesses. We help our clients meet their goals via linkbuilding, blogger outreach, premium blog content and design.Blog Management – We have been managing blogs and other web properties for over 6 years. Our team of over 20 bloggers and support staff with keep your blog up to date with fresh and unique content along with ensuring your blog is securely updated with the latest plugins.Blog Design – Your blog or website is your shop window, its the first thing people will build their impression of you and your brand from before they have read anything. We will create a killer design that will keep them on your site.Infographics – premium custom design services for visualizing YOUR data into eye an catching and exciting infographic that is an essential tool in making your information and message go viral!\"',NULL,'https://performancing.com/','591','US',NULL,NULL);\nINSERT INTO companies VALUES('performax','Performax','Performax is a technological platform providing online advertising services and helping publishers optimise and monetise their advertising space.','https://www.performax.cz/en/privacy-policy','https://www.performax.cz/','4937','CZ',NULL,NULL);\nINSERT INTO companies VALUES('perion','Perion','Perion is a global technology company that delivers high-quality advertising solutions to brands and publishers.','https://www.perion.com/privacy-policy/','https://www.perion.com/','269','US','privacy@perion.com',NULL);\nINSERT INTO companies VALUES('periscope','Periscope',NULL,'https://www.pscp.tv/privacy','https://www.pscp.tv/','5376',NULL,NULL,NULL);\nINSERT INTO companies VALUES('permutive','Permutive','Permutive, Inc. is a privacy-focused audience platform for digital advertising, helping publishers collect and activate first-party data without third-party cookies using on-device processing (Edge Technology) to build audience segments for monetization.','https://permutive.com/privacy','https://permutive.com/','5148','GB','support@permutive.com',NULL);\nINSERT INTO companies VALUES('pers.io','Pers.io','\"The Tale of PersioWhen we set out to build the Persio platform, we started with an observation. Something big was broken that needed to be fixed.The average retailer had many vendor partners all managing different channels, and they didn''t communicate very well with each other. This made it hard to get the personalized message + channel + time + customer equation right. Which was the key to higher conversions.Rather than replacing vendors, Persio was created to integrate them.Persio is a multi-channel marketing and decisioning platform for retail marketers. By interoperating with our client''s existing data sources and deployment channels, we help them personalize campaigns across web, email, sms and app from a single interface.Persio. We put control back in the marketer''s hands.\"','https://www.clutch.com/terms-and-privacy-policy/','http://www.pers.io/','4238',NULL,'info@pers.io',NULL);\nINSERT INTO companies VALUES('persianstat','PersianStat','This company was created for the purpose of adding its tracking script to the Ghostery detection library, but there is not enough information available for us to compile a complete profile for it. Reasons for this may include: no website or a landing page only, no privacy policy or clear company description, or inadequate translation for foreign companies.',NULL,'http://www.persianstat.com','1014','US',NULL,NULL);\nINSERT INTO companies VALUES('personyze','Personyze','Personyze is a suite of Web analytics tools that focus on advanced segmentation and personalization capabilities. Personyzes objective is to enhance the visitor experience and in turn improve advertising ROI, and increase average order values. Personyze operates as a Software as a Service (SaaS) provider within the Amazon cloud to ensure reliability and scalability.','http://en.personyze.com/categories/privacy+policy','http://personyze.com/','802','US','info@personyze.com',NULL);\nINSERT INTO companies VALUES('pertento','Pertento','Pertento is an A/B and multivariate testing platform designed to empower companies with intelligent, data-driven decision-making.','https://www.pertento.ai/privacy-policy','https://www.pertento.ai/','','SE','hello@pertento.ai',NULL);\nINSERT INTO companies VALUES('pheedo','Pheedo','Pheedo is a web feed management provider. They supply custom RSS feeds and management tools to publishers including news organizations, bloggers, podcasters and other web-based content publishers. Services provided to publishers include traffic analysis and an advertising system.','http://site.pheedo.com/privacy-policy/','http://site.pheedo.com/','803','US',NULL,NULL);\nINSERT INTO companies VALUES('phonalytics','Phonalytics','Phonalytics provides products and services that enable businesses to track, measure and analyze phone activity. They use call tracking, call recording, speech analytics and Internet-based technologies to assist their clients in voice customer relationship management (CRM) solutions.','http://www.phonalytics.com/privacy-policy/','http://www.phonalytics.com/','579','US','privacy@Phonalytics.com',NULL);\nINSERT INTO companies VALUES('phunware','Phunware','\"Our mobile advertising solution caters to advertisers, agencies, mobile application developers, and publishers alike. TapIt!™ leverages a complete arsenal of mobile advertising solutions, technology, experience and friendly staff to get your campaign to produce results for your brand.\"','http://www.phunware.com/privacy/','https://www.phunware.com/','1443','US','privacy@phunware.com',NULL);\nINSERT INTO companies VALUES('piano','Piano Software','Piano Software Inc. is a leading platform for data analytics, audience segmentation, and customer engagement. Piano’s Digital Experience Platform empowers organizations to understand and influence customer behaviour. By unifying customer data, analyzing behavior metrics, and creating personalized customer journeys, Piano helps brands launch campaigns and products faster, strengthen customer engagement, and drive personalization at scale from a single platform.','https://www.piano.io/legal/privacy-policy','https://piano.io/','2935','US','privacy@piano.io',NULL);\nINSERT INTO companies VALUES('pilot_gmbh','Pilot GmbH','Pilot is an independent agency group delivering modern brand communication services primarily in the German market. We utilise the opportunities of a changing media landscape to create effective advertising for consumers in the digital age.','http://www.pilot.de/datenschutz/','https://www.pilot.de/','2788','DE',NULL,NULL);\nINSERT INTO companies VALUES('pingdom','Pingdom','\"Real User Monitoring let''s you know exactly how real visitors experience your website. Analyze performance data and how it relate to browsers, platforms and even countries, all in real-time. Improve your customers experience now.\"','https://www.pingdom.com/legal/privacy-policy/','https://www.pingdom.com/','2566',NULL,'support@pingdom.com','Pingdom acquired by SolarWinds 2014. https://en.wikipedia.org/wiki/Pingdom');\nINSERT INTO companies VALUES('pinterest','Pinterest','\"Pinterest lets you organize and share all the beautiful things you find on the web. People use pinboards to plan their weddings, decorate their homes, and organize their favorite recipes.\"','http://pinterest.com/about/privacy/','http://pinterest.com/','1306','US','https://help.pinterest.com/en/data-protection-officer-contact-form',NULL);\nINSERT INTO companies VALUES('pipz_automation','Pipz Automation','Go from acquisition to loyalty and make your business grow with the perfect customer experienceAcquire and convert leads, engage with customers and analyze your business strategies, all in one place.','https://pipz.com/br/legal/politica-privacidade/','https://pipz.com/br/','4971',NULL,'contact@ecentry.com',NULL);\nINSERT INTO companies VALUES('piwik_pro','Piwik PRO','Piwik PRO Analytics Suite is a privacy-focused platform for tracking and analyzing user behavior on websites and other digital products. It is developed by Piwik PRO, based in Poland. Piwik PRO Analytics Suite is an ISO 27001 certified company and its product is SOC 2 type II-certified. It is used by various government and health organizations, including the Government of the Netherlands and DKMS.','https://piwik.pro/privacy-policy/','https://piwik.pro/','5433','PL','gdpr@piwik.pro',unistr('In November 2023, Piwik PRO merged with Cookie Information\\u000a(source: https://piwik.pro/blog/piwik-pro-cookie-information-merger/).'));\nINSERT INTO companies VALUES('pixalate','Pixalate, Inc.','Pixalate is an omni-channel fraud intelligence company that works with brands and platforms to prevent invalid traffic and improve ad inventory quality.','https://www.pixalate.com/privacypolicy','https://www.pixalate.com/','4097','US','info@pixalate.com',NULL);\nINSERT INTO companies VALUES('pixel_union','Pixel Union',NULL,NULL,'https://www.pixelunion.net/','4756',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pixels_asia','Pixels.Asia','Pixel Media, Snap Mobile and Adsfactor have merged to form PIXELS, the multi-screen advertising company.',NULL,'http://www.adsfactor.com/','2759',NULL,'sh@pixelmedia.cn',NULL);\nINSERT INTO companies VALUES('pixfuture','PixFuture','\"[PixFuture] connects Advertisers with their Audience across any form of digital media, using its massive local presence to deliver appropriate messages to the right audience, through the most relevant digital channels.\"','https://www.pixfuture.com/privacy-policy/','http://www.pixfuture.com','1818','US','contact@pixfuture.com',NULL);\nINSERT INTO companies VALUES('piximedia','Piximedia','\"Our goal is to provide high visibility and potential to your messages and to build your success on the optimization of your campaign. We ensure technical conception, implementation and massive broadcasting for all your video and rich media format...\"','https://www.piximedia.com/privacy.php','https://www.piximedia.com/?lang=en_US','1804',NULL,'privacy@piximedia.com',NULL);\nINSERT INTO companies VALUES('placester','Placester','\"With Placester’s suite of software applications and products, agents, brokers, and owners can market and advertise their properties efficiently, find more prospects, and manage their relationships with all the people who impact their business, all from the same place.\"','https://placester.com/terms/','https://placester.com/','3378',NULL,'support@placester.com',NULL);\nINSERT INTO companies VALUES('pladform','Pladform',NULL,NULL,'https://distribution.pladform.ru/','5377',NULL,NULL,NULL);\nINSERT INTO companies VALUES('platform161','Platform161','\"Platform 161 is the first independent technology provider that enables online players to easily increase and optimize their ROI in real time across all inventory sources and has fully integrated the main Real Time Bidding platforms.\"','https://platform161.com/cookie-and-privacy-policy/','https://platform161.com/','2253',NULL,NULL,NULL);\nINSERT INTO companies VALUES('plausible','Plausible Insights','Plausible provides an open-source web analytics service (github.com/plausible/analytics) that is based in the EU. Not reliant on cookies, it adheres to GDPR, CCPA, and PECR regulations, offering a privacy-focused approach for website owners. The platform emphasizes data transparency, enabling users to maintain complete control over their information, serving as an alternative to traditional web analytics tools.','https://plausible.io/privacy','https://plausible.io/','5437','EE','privacy@plausible.io',NULL);\nINSERT INTO companies VALUES('playbuzz','Playbuzz Ltd.','\"Playbuzz is a digital publishing platform that empowers publishers, marketers, bloggers and brands to easily create content using media formats that are optimized for social sharing and engagement.We provide the best publishing tools for interactive storytelling in the digital age. Playbuzz-powered media formats enable publishers to enjoy significant growth in user traffic, social media impact, audience reach, time spent on site, brand awareness and revenues. All content that appears on our showcase website, Playbuzz.com, is available for easy embedding by any digital publisher.Today the Playbuzz Network consists of over 40,000 leading digital publishers and brands, including MTV, USA Today, Time, Major League Baseball, Mashable and many more.\"','https://www.playbuzz.com/PrivacyPolicy','https://www.playbuzz.com/','4284',NULL,NULL,NULL);\nINSERT INTO companies VALUES('playdigo','Playdigo','Playdigo is a mobile advertising company that provides mobile application developers, brands, and advertising agencies with a platform and service to deliver advertising to users on their mobile devices.','https://playdigo.com/home/privacy-policy/','https://playdigo.com/','','US','hello@playdigo.com',NULL);\nINSERT INTO companies VALUES('plentyoffish','Plentyoffish',NULL,'https://www.pof.com/privacypolicy.aspx','https://www.pof.com/','4553',NULL,NULL,NULL);\nINSERT INTO companies VALUES('plex','Plex','Plex is like mission control for your personal media collections.With our easy-to-install Plex Media Server software and your Plex apps, available on all your favorite phones, tablets, streaming devices, gaming consoles, and smart TVs, you can stream your video, music, and photo collections any time, anywhere, to any device.','https://www.plex.tv/about/privacy-legal/','https://www.plex.tv/','4981',NULL,NULL,NULL);\nINSERT INTO companies VALUES('plista','plista GmbH','plista GmbH is a German advertising network. They offer various advertising formats within the text/image, video and display/IAB layouts, as well as a powerful white label self-booking platform.','https://www.plista.com/about/privacy/','https://www.plista.com/','1074','DE',NULL,NULL);\nINSERT INTO companies VALUES('plugrush','PlugRush','\"PlugRush uses customizable widgets to show ads[adult] and content in a new innovative way.\"','https://www.plugrush.com/support/privacy-policy/','https://www.plugrush.com/','1964','US','support@plugrush.com',NULL);\nINSERT INTO companies VALUES('pluso','Pluso','\"Place these buttons to enable your visitors to quickly share interesting pages in their social networks. Also, print, send letters and add to your bookmarks.\"Translated by Google Translate',NULL,'http://share.pluso.ru/','3134',NULL,NULL,NULL);\nINSERT INTO companies VALUES('plutusads','Plutusads','PlutusAds is a high quality & flexible advertising network. Our mission is to drive highly targeted traffic which in turn provides the highest monitization rates online.',NULL,'http://plutusads.com','5010',NULL,'contact@plutusads.com',NULL);\nINSERT INTO companies VALUES('pocket','Pocket','\"Pocket (formerly Read It Later) was founded in 2007...to help people who discover an interesting article, video or web page, but don’t have time to view it. Once saved to Pocket, the list of content is visible on any device -- phone, tablet or computer.\"','https://getpocket.com/privacy','https://getpocket.com/','2795',NULL,'privacy@getpocket.com',NULL);\nINSERT INTO companies VALUES('pocketcents','PocketCents','PocketCents is a PPC (pay-per-click) banner advertising network focusing on location based targeting. They provide Internet marketing services for local small businesses.',NULL,'http://pocketcents.com/','990','US',NULL,NULL);\nINSERT INTO companies VALUES('polar_inc','Polar Mobile Group Inc.','\"As publishing evolves, so do we. At Polar we continue to invest in our platform, MediaVoice, which allows publishers to serve native advertising and sponsored content to their readers as they would the rest of their stories, while serving and tracking these stories like any other ad.\"',NULL,'https://polar.me/','3384',NULL,NULL,NULL);\nINSERT INTO companies VALUES('polyad','PolyAd',NULL,NULL,'http://polyad.net/Polyad/Trang-chu.htm','2080',NULL,NULL,NULL);\nINSERT INTO companies VALUES('polyfill.io','Polyfill.io','Polyfill.io reads the User-Agent header of each request and returns polyfills that are suitable for the requesting browser. Tailor the response based on the features you''re using in your app, and see our live examples to get started quickly.','https://polyfill.io/docs/privacy-policy','https://polyfill.io/v2/docs/','5076',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pontiflex','Pontiflex','Pontiflex is a lead generation marketplace that enables advertisers to find consumers that are most likely to show interest in their products. Pontiflex AdLeads offers publishers, advertisers and agencies a single point of connection for cost per lead (CPL) media buying, management and optimization. Advertisers use Pontiflex to generate marketing leads for their acquisition campaigns, newsletters, direct marketing and member loyalty programs.','http://flatironmedia.com/privacy_policy_text.php','http://www.pontiflex.com/','545','US','privacy@pontiflex.com',NULL);\nINSERT INTO companies VALUES('poool','Poool','Poool is the cloud-based enterprise resource planning (ERP) solution that empowers agencies and knowledge-based service providers to streamline their operations and efficiency.','https://www.poool.fr/en/privacy','https://www.poool.fr','','FR','data@poool.fr',NULL);\nINSERT INTO companies VALUES('popads','PopAds','\"PopAds is simply the best paying advertising network specialized in popunders on the Internet.\"','https://www.popads.net/privacy-policy.html','https://www.popads.net/','1221','US','support@popads.net',NULL);\nINSERT INTO companies VALUES('popcash_network','PopCash Network','\"We use a bidding system where you can choose how much you will pay for a visitor and where you have full control over your costs... We don''t have fixed rates, our CPM is fully dynamic and strong related to many factors like your website niche, visitor''s country or your traffic quality...\"','https://popcash.net/privacy-policy','https://popcash.net/','3047',NULL,NULL,NULL);\nINSERT INTO companies VALUES('popcorn_metrics','Popcorn Metrics','\"What if you could use what visitors actually \"do\" in your page to create hyper-focused retargeting audiences that convert?Now you can.\"','https://www.popcornmetrics.com/privacy','https://www.popcornmetrics.com/','5208',NULL,'hello@popcornmetrics.com',NULL);\nINSERT INTO companies VALUES('popin','popIn','\"One to One Marketing on mobile... Content discovery platform (DiscoveryPlus).\"Translated by Google Translate','https://www.popin.cc/action/policy','https://www.popin.cc/','3229',NULL,NULL,NULL);\nINSERT INTO companies VALUES('popmyads','PopMyAds','\"At PopMyAds, we understand the importance of how account management, campaign customization, campaign feedback, and optimization impacts the result of every media campaign.\"','https://popmyads.com/privacy','https://popmyads.com/','4270',NULL,NULL,NULL);\nINSERT INTO companies VALUES('poponclick','PopOnClick','\"Increase revenue from your website through our advertising network. One of the most profitable CPM popup networks for publishers.... We have ads for just about every country in the world.\"',NULL,'http://poponclick.com','3317',NULL,NULL,NULL);\nINSERT INTO companies VALUES('populis','Populis','\"With a network of over 600 web properties visited by more than 26 million unique users every month, we provide vibrant content to passionate communities, crowdsourced from a team of expert collaborators and published on our wholly owned and operated websites including Excite Europe, Nanopublishing and Better Deals.\"','http://www.populis.com/about/privacy','http://www.populis.com','2075',NULL,'info@populis.com',NULL);\nINSERT INTO companies VALUES('pornhub','Pornhub','Pornhub team is always updating and adding more porn videos every day.','https://www.pornhub.com/information#privacy','https://www.pornhub.com/','5378','BZ','support@pornhub.com',NULL);\nINSERT INTO companies VALUES('pornwave.com','Pornwave.com',NULL,NULL,'http://pornwave.com','4858',NULL,NULL,NULL);\nINSERT INTO companies VALUES('portal_brazil','Portal Brazil',NULL,NULL,'http://brasil.gov.br/','4908',NULL,NULL,NULL);\nINSERT INTO companies VALUES('posthog','PostHog','PostHog is an open-source platform providing an integrated suite of product analytics, session recording, feature flags, and A/B testing tools. Designed for engineers and product teams, it offers cloud-hosted and self-hosted options to ensure greater control over data ownership and privacy. It operates as a \"product OS,\" consolidating multiple functionalities into one interface to eliminate the need for disparate third-party integrations.','https://posthog.com/privacy','https://posthog.com/','','US','privacy@posthog.com',NULL);\nINSERT INTO companies VALUES('powerfront','PowerFront','\"inside™ presents a 3D store-like layout with your real customers to give you real-time information that you can easily understand...You will gain new knowledge of your operations and your customers that history-based reports could never provide you. Retailers can use the included tools to socially engage with consumers, provide a new level of customer service and make offers, helping convert visitors into sales.\"','https://www.powerfront.com/privacy-policy/','http://www.inside.tm/','3042',NULL,'look@inside.tm',NULL);\nINSERT INTO companies VALUES('powerlinks','PowerLinks','\"PowerLinks delivers ad management and ad serving solutions to companies that buy, create or sell online advertising. Leading web publishers, advertisers, ad networks and agencies use PowerLinks in order to incrementally grow their online advertising businesses. Our products offer market leading rich media, video and mobile compatibility which combine with PowerLinks expertise in ad serving and media planning. This allows us to deliver a high ROI for advertisers whilst empowering publishers to remain in complete control of their web assets.\"','http://www.powerlinks.com/privacy-policy/','https://www.powerlinks.com/','2197',NULL,'info@powerlinks.com',NULL);\nINSERT INTO companies VALUES('powerreviews','PowerReviews','\"Unify and Amplify the Voice of the ConsumerThe PowerReviews mission is to unify and amplify the voice of the consumer throughout their journey, across all channels to help consumers make better purchase decisions and to help businesses drive sales and improve products and services.UnifyUnifying the voice of the consumer in an integrated platform and database, PowerReviews delivers a streamlined, mobile-friendly experience for consumers as they provide feedback throughout their shopping journey and a product’s lifecycle.Consumers can read and provide feedback on products, sellers, services, locations and experiences before, during, and after their purchase. And businesses can mine that feedback for insights to improve their offerings, while optimizing and personalizing the consumer journey, online and in-store.AmplifyPowerReviews amplifies the voice of the consumer by distributing content to its Open Syndication Network of more than 2,500 retailers on more than 5,000 websites. Consumer ratings also appear in Google Search results, Product Listing Ads, and Seller Ratings and are leveraged in media, social, and digital marketing campaigns. Advanced fraud detection and moderation ensure the authenticity of consumer feedback, extending not only the reach, but also the power of reviews.\"','https://www.powerreviews.com/privacy-policy/','https://www.powerreviews.com/','3555',NULL,'privacy@powerreviews.com',NULL);\nINSERT INTO companies VALUES('powr','POWr',NULL,'https://www.powr.io/privacy','https://www.powr.io/','5379',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pozvonim','Pozvonim',NULL,NULL,'https://pozvonim.com/','4876',NULL,NULL,NULL);\nINSERT INTO companies VALUES('prebid','Prebid','Prebid.org is an industry consortium headquartered in the United States, providing free and open source solutions to implement header bidding.','https://prebid.org/privacy-policy/','https://prebid.org/','','US','privacy@prebid.org',NULL);\nINSERT INTO companies VALUES('precisionclick','PrecisionClick','PrecisionClick provides Internet advertising services that include ad delivery, reporting, usage statistic analysis, and geographic targeting from local to worldwide. Through their interface, users can choose from numerous ad banner templates like Autos, Classifieds, and Film. PrecisionClick is a division of 2KDirect.',NULL,'http://www.precisionclick.com/','622','US','privacy@precisionclick.com',NULL);\nINSERT INTO companies VALUES('predicta','Predicta','We''re specialized in consumer behavior on digital media.With more than ten years of market experience, we offers tools and consulting for agencies, advertisers, publishers and websites that enable management of online marketing campaigns on the Internet, manage publishers ad inventory and also user navigation monitoring of your sites our your clients''.We also aid your business in doing data analysis of these tools, in order to produce the business intelligence necessary to optimize the results of any online communication strategy',NULL,'http://predicta.net','1071','BR',NULL,NULL);\nINSERT INTO companies VALUES('premium_access','Premium Access','The Dashboard Ad is a performance and branding ad product. The technology enables ads to hover at the bottom edge of a webpage and integrate with the site. These dynamic ads always appear above-the-fold on publisher websites, and remain visible when the user scrolls the page. The Dashboard Ad is a product of PV Media.',NULL,'https://premiumaccess.com/','403','US','AdSales@PremiumAccess.com',NULL);\nINSERT INTO companies VALUES('premonix','Premonix','\"Premonix delivers template-based tracking and Web Analytics to the smallest micro-sites on the internet. Because of its architecture, it delivers full functionality at an infinitesimal price for each micro-site owner.\"',NULL,'https://www.premonix.com/','2854',NULL,'contact@premonix.com',NULL);\nINSERT INTO companies VALUES('press+','Press+','\"Our e-commerce engine lets readers purchase content on any of our Affiliate sites with a single account. Simultaneously, we work with our Affiliates to ensure they maintain precious page views as they continue to support advertising revenue.\"','https://www.mypressplus.com/readers/privacy','https://www.mypressplus.com/','1863','US','privacy@mypressplus.com',NULL);\nINSERT INTO companies VALUES('pressly','Pressly','\"To stand out from the crowd, delivering accurately-curated information from the best sources out there is critical. Pressly empowers brands to efficiently hand-pick the content your customers are looking for, maximize your audience''s engagement, and convert visitors to buyers more reliably.\"','https://www.pressly.com/privacy','https://www.pressly.com/','3649',NULL,'info@pressly.com',NULL);\nINSERT INTO companies VALUES('price_spider','Price Spider','Pricespider was first launched as a consumer shopping engine. Soon after, we discovered that our data, proprietary of course, was no longer your “basic” product data. It just so happened that it had a bigger effect – it was enhancing the shopping experience for consumers. At that time, this model of providing online shoppers a way to purchase a manufacturer’s product from multiple sellers was a perfect fit for consumer electronic manufacturers. It wasn’t long before we were producing Where to Buy solutions for 10 of the world’s top consumer electronics brands.','http://www.pricespider.com/privacy-policy/','https://www.pricespider.com/','4411',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pricegrabber','PriceGrabber','PriceGrabber.com is a resource for online comparison-shopping. They provide information about products, services, merchants and sellers to consumers in the process of making purchase decisions. PriceGrabber allows users to view side-by-side product comparisons, including detailed product information, and sends email notifications of product prices found across the web.','http://www.pricegrabber.com/privacy-policy','http://www.pricegrabber.com/','1015','US',NULL,NULL);\nINSERT INTO companies VALUES('prisma_media_digital','Prisma Media Digital','\"Prisma Digital Media overall responsibility activity Prisma Digital Media including strategic, technological, marketing and sales for websites and applications on any digital media (Internet, mobile, tablet, TV).\"Translated by Google Translate',NULL,'https://www.prismamedia.com/','2136',NULL,NULL,NULL);\nINSERT INTO companies VALUES('privy','Privy','\" Our foundation has and always will be empowering marketers to build more customer relationships, faster. Our journey began when we launched the Privy offers platform, serving our first 100 customers in restaurant, retail and local businesses. After launching the Privy list growth product in 2015, we expanded rapidly through word of mouth, customer referrals and a fun to use product that helps marketers crush their goals.Today,  Privy supports 200,000+ marketers in over 180 countries, engaging over 200 Million consumers every month. And we''re just getting started.We''re a small team, focused on building the most powerful tools for our users. Self serve, design oriented, agile, and data driven. We get you. Backed with investments from Hubspot, Accomplice, KiwiVenture and marketing industry leaders like Mike Volpe, the best is yet to come. \"','https://privy.com/privacy-policy/','https://privy.com/','5260',NULL,'info@privy.com',NULL);\nINSERT INTO companies VALUES('proclivity_media','Proclivity Media','Proclivity Systems develops a revenue optimization platform and consumer behavior bank for marketers and merchandisers. The company’s consumer behavior bank also provides information to clients about their customers'' shopping interests, purchasing likelihood, and level of expenditure for an offer. They serve retail, travel and hospitality, e-commerce, financial services, and news and media sectors.','https://www.proclivitysystems.com/privacy-policy.html','https://www.proclivitysystems.com','1016','US','privacy@proclivitymedia.com',NULL);\nINSERT INTO companies VALUES('prodperfect','ProdPerfect','Founded in January 2018, ProdPerfect entered the market to finally unleash the power of Machine Learning to solve the hardest, most important, and until-then unsolved problem in end-to-end (E2E) quality assurance testing: identifying, with data, what should be tested. In solving this problem, ProdPerfect has created a process that enables machines to own and drive the development, maintenance, and evolution of E2E testing suites as a closed loop.Our success to date has led us to close an aggressive $13M Series A from the best investors in software just 20 months after incorporating, backed by our dozens of happy clients. Their support has vaulted ProdPerfect to become one of Software Development Times’ 12 companies to watch in 2020, and to land on the G2 Test Automation Grid as a High Performer.Led by startup veterans Dan Widing (CEO), Erik Fogg (CRO), and Wilson Funkhouser (Head of Data Science), ProdPerfect has delivered on a vision thought impossible by the software industry only two years ago and is quickly becoming the new standard for quality assurance among the most innovative businesses in Silicon Valley and beyond.','https://prodperfect.com/privacy/','https://prodperfect.com/','5425','US','security@prodperfect.com',NULL);\nINSERT INTO companies VALUES('productsup','ProductsUp','There is an evolution taking place in the world of e-commerce, in which Productsup plays a key part. With the market expanding, more and more budget is being allocated to product listing ads and campaigns driven by product data. In order for marketers to utilize the full revenue potential of the channels they wish to sell their products on, they need to start by gaining control of their product data feed.Whether you call it a shopping, merchant or product data feed, the task is still to deliver a high quality file that contains a list of all your products and their attributes. The better your product data feed, the better your online visibility and, in turn, the better your performance. That’s where Productsup comes in.','https://productsup.io/legal-note/','https://productsup.io/','4928',NULL,NULL,NULL);\nINSERT INTO companies VALUES('profiliad','ProfiliAd','Our major goal at Profiliad is to become the digital marketing partners of our advertisers, provide them the needed consultancy, and of course generate incremental value for their businesses, while ensuring our publishers have the best tools and services they need to monetize their inventory. Our network offers customized solutions, comprehensive reporting suites to facilitate advertiser and publisher collaboration. We are glad to announce our partnership with MainAd, the Digital Marketing experts specializing in display & retargeting, based in Pescara, Italy. We believe this partnership will guarantee an international, innovative and ethical approach to performance marketing',NULL,'https://profiliad.com/','4629',NULL,'info@profiliad.com',NULL);\nINSERT INTO companies VALUES('profitmetrics','ProfitMetrics','The ProfitMetrics tool measures the real profitability of paid advertising by using profit data inside of Google Analytics and Facebook Ads Manager.','https://profitmetrics.io/legal/privacy-policy','https://profitmetrics.io','','DK','support@profitmetrics.io',NULL);\nINSERT INTO companies VALUES('profitshare','Profitshare','Profitshare is affiliate network with the highest sales in Romania and represents the online marketing solution used by some of the most important stores and online service providers.','https://profitshare.ro/files/pdf/politicadeconfidentialitate.pdf','http://profitshare.ro/','4500',NULL,NULL,NULL);\nINSERT INTO companies VALUES('proformics_digital','Proformics Digital','Proformics Digital is an affiliate network that provides performance based online marketing for advertisers and publishers. Our team of media buyers consists of several years of online marketing experience working with Advertisers, Publishers, and other affiliate networks. Proformics.com was launched to provide advertisers and other publishers a top tier experience and unparallel support.',NULL,'https://proformics.com/','4630',NULL,NULL,NULL);\nINSERT INTO companies VALUES('progress','Progress','Progress Software Corporation (Progress) is an American public company that specializes in creating software for developing, deploying, and managing business applications. With a global presence and a diverse portfolio of tools, Progress offers solutions for various aspects of application development, data management, and security.','https://www.progress.com/legal/privacy-center','https://www.progress.com/','','US','privacy@progress.com',NULL);\nINSERT INTO companies VALUES('project_wonderful','Project Wonderful','Project Wonderful is an ad marketplace that brings advertisers and website publishers together. Through their program, advertisers pay to have their ads placed on relevant websites and website owners earn money for displaying these ads. The program works on a pay-per-click advertising bidding system.','https://www.projectwonderful.com/privacypolicy.php','https://www.projectwonderful.com/','602','CA','service@projectwonderful.com',NULL);\nINSERT INTO companies VALUES('proof','Proof','Proof is a customer-centric marketing platform that helps businesses increase their conversion rates by leveraging social proof. Founded in 2017 and based in Austin, Texas, Proof offers a product called Pulse, which provides features like Hot Streaks, Live Visitor Count, and Recent Activity to build credibility, create scarcity, and boost confidence among website visitors.','https://useproof.com/privacy','https://useproof.com/','','US','team@useproof.com',NULL);\nINSERT INTO companies VALUES('propel_marketing','Propel Marketing','Propel Marketing, a division of Propel Business Services, Inc., is a leading digital solutions provider helping local businesses connect with more customers. Propel Business Services, Inc. serves as a trusted online expert offering a unique blend of leading-edge technology, high quality customer service, and consistent results. Propel Business Services, Inc. is a trusted media resource and a wholly owned subsidiary of New Media Investment Group Inc.','http://propelmarketing.com/legal/privacy_policy/','http://propelmarketing.com/','4182',NULL,'webmaster@gatehousemedia.com',NULL);\nINSERT INTO companies VALUES('propeller_ads','Propeller Ads','\"Providing access to a large number of ad places on sites of various categories and using our sophisticated technologies you will find the right spot to place your advertisement and achieve the best results by attracting the audience you are looking for.\"','http://www.propellerads.com/privacy','http://www.propellerads.com/','2744',NULL,'support@propellerads.com',NULL);\nINSERT INTO companies VALUES('propermedia','Proper Media','\"Proper Media’s proprietary advertising technology and expert team of ad operations professionals allows publishers to focus on creating great content and driving quality user growth.Get the best rates in the industry and reduce your internal resource costs. Let our team and custom header bidding solution do all the work.\"','https://proper.io/privacypolicy','https://proper.io/','5216','US','staff@proper.io',NULL);\nINSERT INTO companies VALUES('props','Props','ProPS enable publishers to understand their audience and maximize the usage of first party data for audience buying. ProPS technology will collect, map, and segment the targeted audience by using ProPS Audience Business Intelligent, an integrated and private Data Management Platform.','https://props.id/','https://props.id/','5176',NULL,'info@props.id',NULL);\nINSERT INTO companies VALUES('prosieben_sat1','ProSiebenSat.1 Media','ProSiebenSat 1 Media SE is a German mass media and digital company that operates in three segments: Entertainment, which derives maximum revenue, Dating & Video, and Commerce & Ventures.','https://www.prosiebensat1.com/en/terms-data-privacy/data-privacy-general','https://www.prosiebensat1.com/','5297','DE','datenschutz@prosiebensat1.com',NULL);\nINSERT INTO companies VALUES('prospecteye','ProspectEye','\"ProspectEye is a Lead Management/ Marketing Automation software that identifies companies and individuals visiting your websites. Based on behaviour, historical engagement, company size, individuals’ role and several other parameters, ProspectEye can trigger numerous different events in order to most efficiently engage that particular prospect. The two crucial features in this process are called Lead Management and Marketing Automation.\"Translated by ProspectEye AB','https://apsis.com/about-us/policies/privacy-policy','https://www.prospecteye.com/','3103',NULL,'privacy@apsis.com',NULL);\nINSERT INTO companies VALUES('prosperent','Prosperent','Prosperent is a performance based affiliate network specializing in targeted behavioral advertising. They determine what web site visitors are interested in, and display relevant products.','http://prosperent.com/privacy','http://prosperent.com/','1002','US','privacy@prosperent.com',NULL);\nINSERT INTO companies VALUES('prostor','Prostor',NULL,NULL,'http://prostor-lite.ru/','4940',NULL,NULL,NULL);\nINSERT INTO companies VALUES('provide_support','Provide Support','\"Provide Support, LLC is a global provider of live chat services for e-commerce sites, online publishers and other organizations. \"',NULL,'https://www.providesupport.com/','1811','US','support@providesupport.com',NULL);\nINSERT INTO companies VALUES('proximic','Proximic','Proximic is a data solution for the online advertising market.  They provide real-time contextual profiling technologies, brand protection, and audience interest data to improve online ad placements and content filtering.   This is executed through assessment of web page content, matched with the appropriate advertiser and visitor interests.',NULL,'https://www.proximic.com/','625','US',NULL,NULL);\nINSERT INTO companies VALUES('proxistore','Proxistore','Founded in 2011, Proxistore © is a leader in the field of local digital advertising. Thanks to its own internationally patented geolocation engine, Proxistore collaborates with the largest premium publishers and provides advertisers with the essential tool for better local communication, enabling them to significantly increase their in-store traffic. The head office is located in Mont-Saint-Guibert where the management, marketing and research and development teams are based, in collaboration with the European and American sales teams.','https://www.proxistore.com/common/fr/privacy','https://www.proxistore.com','5198',NULL,'info@proxistore.com',NULL);\nINSERT INTO companies VALUES('psyma','Psyma','We are an international market research company conducting research in over 40 countries with passion and enthusiasm. We deliver tailor-made solutions for all your research needs. People and their motives in terms of market relevant behavior across cultural borders, are our focal point. Personal service, commitment, flexibility, sustainability and expertise are more important to us than just standard solutions.Take our word for it.','https://www.psyma.com/data-protection/','https://www.psyma.com/','2950',NULL,'info@psyma.com',NULL);\nINSERT INTO companies VALUES('pt_engine','Pt engine','\"Smartphone, PC, tablet. Whole analysis.\"Translated by Google Translate','https://www.ptengine.jp/privacy/','https://www.ptengine.jp/','3294',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pub-fit','Pub-Fit','\"Pub-fit provides publishers with the best platform and an experienced team to improve your revenue.\"','http://www.pub-fit.com/a/terms','http://www.pub-fit.com/','2904',NULL,'publishers@pub-fit.com',NULL);\nINSERT INTO companies VALUES('pubble','Pubble','\"pubble is a community engagement platform that brings the social web to your site. Change how you interact with your audience while continually enhancing your web site.\"',NULL,'https://www.pubble.co/','2972',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pubdirecte','Pubdirecte','\"Pubdirecte is a multi-function platform bringing together advertisers and publishers.\"',NULL,'http://www.pubdirecte.com/','1515','US',NULL,NULL);\nINSERT INTO companies VALUES('pubgears','PubGears','\"We are a web publisher agency that increases our client''s revenue by appropriately valuing each ad impression.\"',NULL,'https://pubgears.com/','2232',NULL,NULL,NULL);\nINSERT INTO companies VALUES('public-idees','Public-Idees','\"Public-Idées offers innovative services covering the whole affiliate marketing value chain: strategic consultancy and decision-making assistance, network management and results measurement.\"','http://en.publicideas.com/our-company/privacy-policies/','http://en.publicideas.com/','1352','US','privacy@public-idees.com',NULL);\nINSERT INTO companies VALUES('publicidad.net','Publicidad.net','\"Publicidad.net is a company dedicated to the planning of online marketing campaigns. It started early in 2004 and soon became an important Hispanic Media Net.\"','http://www.publicidad.net/legal/','http://www.publicidad.net/','1516','US',NULL,NULL);\nINSERT INTO companies VALUES('publicis','Publicis Groupe','Publicis Groupe is a French multinational advertising and public relations company. One of the oldest and largest (by revenue) marketing and communications companies in the world, it is headquartered in Paris.','https://www.publicisgroupe.com/en/cookies','https://www.publicisgroupe.com/en','','FR','privacyofficer@publicisgroupe.com',NULL);\nINSERT INTO companies VALUES('publir','Publir','\"Publir clients enjoy market-best prices because our platform aggregates dozens of demand sources, judges them based upon past and predicted performance, and carefully manages the allocation of your impressions to maximize revenue. Publishers who work with us automatically gain the benefits of three core innovations: rapid intraday allocation optimization, which prioritizes the best-paying ad sources; hand-tailored filters to ensure respectable, high-quality campaigns; and world-class loss-minimizing delivery technology.\"','https://www.publir.com/privacy-policy/','http://www.publir.com','3209',NULL,'inquire@publir.com',NULL);\nINSERT INTO companies VALUES('pubmatic','PubMatic, Inc.','PubMatic provides ad optimization solutions to online publishers. It provides  online publishers with a single interface to integrate with multiple ad networks and exchanges selecting the most lucrative ads available on a real-time auction basis.','https://pubmatic.com/legal/privacy-policy/','https://www.pubmatic.com/','348','US','https://pubmatic.com/legal/privacy-policy/#contactus',NULL);\nINSERT INTO companies VALUES('puboclic','Puboclic','\"With our innovative ideas and continued efforts, Puboclic is proud to present its PoC-Sys technology: A powerful tracking system combined with advanced security so advertisers and publishers can work together in peace and safety. Our ultimate aim is to significantly improve the conversion rate of visitor into buyer by targeting the most appropriate population sectors to the products or services you provide.\"Translated by Puboclic LLC',NULL,'http://www.puboclic.com/','3153',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pubvantage','Pubvantage','Industry Veterans joined together to create an agnostic platform to improve the antiquated processes for campaign management and to automate the collection of data, analytics and optimization. Pubvantage gives publishers and ad networks the advantage of global infrastructure, unlimited scalability and the tools to increase the bottom line.',NULL,'https://www.pubvantage.com/','4779',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pulpo_media','Pulpo Media','\"Pulpo Media...is a technology-enabled marketing services company whose mission is to connect the growing U.S. Hispanic, Latin American, Spanish & Portuguese-language Internet populations worldwide with advertisers who are looking to reach them.\"','http://www.pulpo.com/en/privacy-policy/','http://www.pulpo.com/en/','1803','US','privacy@pulpomedia.com',NULL);\nINSERT INTO companies VALUES('pulse360','Pulse360','Pulse 360 is a contextual ad network that provides ad serving and optimization services to advertisers across its network of affiliated publishers. Pulse 360 is a subsidiary of Seevast.','https://www.pulse360.com/page/network-policy','http://www.pulse360.com','268','US','clientservices@pulse360.com',NULL);\nINSERT INTO companies VALUES('pulse_insights','Pulse Insights','\"Pulse Insights'' micro survey platform helps clients get instantaneous insights from their web and mobile properties to continually improve customer experience and conversion rates.\"','http://pulseinsights.com/privacy-policy/','https://pulseinsights.com/','3656',NULL,'contact@PulseInsights.com',NULL);\nINSERT INTO companies VALUES('pulsepoint_ad_exchange','PulsePoint, Inc.','Datran Media provides digital advertising targeting solutions and audience measurement analytics. Their Aperture technology specializes in predictive targeting. Its use of transaction-based behavioral data and demographic data allows marketers to make precise media buys and therefore provide more accurate relevance.','https://www.pulsepoint.com/privacy-policy','https://www.pulsepoint.com/','293','US','privacy@pulsepoint.com',NULL);\nINSERT INTO companies VALUES('punchtab','PunchTab','PunchTab provides a technology for website owners to integrate and manage their loyalty programs. Using their loyalty program, consumers can  authenticate through social networks and earn loyalty points that are redeemable for exclusive offers, gift cards, and custom rewards.','http://www.punchtab.com/privacy','http://www.punchtab.com/','1151','US','help@punchtab.com',NULL);\nINSERT INTO companies VALUES('purch','Purch Group, Inc.','\"Purch is a rapidly growing, constantly evolving digital content and services company that helps millions of people make smarter purchases.\"','http://www.purch.com/privacy-policy/','http://www.purch.com/','2052',NULL,NULL,NULL);\nINSERT INTO companies VALUES('pure_chat','Pure Chat','\"Axosoft is an agile software company that helps development teams transform their ineffective, cumbersome processes into clearly-defined action steps... ...Pure Chat, a free application for websites to integrate sales or support chat into their web sites for free, has added to this company''s suite of business tools. \"','https://www.purechat.com/privacy','https://www.purechat.com','2917',NULL,'help@purechat.com',NULL);\nINSERT INTO companies VALUES('pureprofile','Pureprofile','Pureprofile puts you into groups of like-minded people with the same interests as you. Groups give you recommendations from those folks who share your passions – no matter how nerdy you think they are. You’ll be surprised by how many groups you fit into already.','https://www.pureprofile.com/us/privacy/','https://www.pureprofile.com/us/','4991',NULL,NULL,NULL);\nINSERT INTO companies VALUES('purlive','PurLive',NULL,NULL,'http://www.purlive.com/','4765',NULL,NULL,NULL);\nINSERT INTO companies VALUES('push.world','Push.world',NULL,'https://push.world/en/privacy','https://push.world/en','5380',NULL,NULL,NULL);\nINSERT INTO companies VALUES('push_engage','Push Engage','\"Personalized Browser Push NotificationsTarget Desktop and Mobile users on Chrome and Firefox through Push Notifications. Implement in 5 mins.\"','https://www.pushengage.com/privacy','https://www.pushengage.com/','4277',NULL,'admin@pushengage.com',NULL);\nINSERT INTO companies VALUES('pushbullet','Pushbullet','\"Pushbullet connects your devices, making them feel like one.\"','https://www.pushbullet.com/privacy','https://www.pushbullet.com/','3682',NULL,'privacy@pushbullet.com',NULL);\nINSERT INTO companies VALUES('pushnews','PushNews','Web Push Notifications are a new engagement tool for you to engage with your audience. Now you can reach your anonymous visitors even after they leave your website!','https://app.pushnews.eu/terms-and-conditions?lang=br','https://www.pushnews.eu/','5206',NULL,'support@pushnews.eu',NULL);\nINSERT INTO companies VALUES('pushwoosh','Pushwoosh',NULL,'https://www.pushwoosh.com/privacy-policy/','https://www.pushwoosh.com/','5381',NULL,NULL,NULL);\nINSERT INTO companies VALUES('puzzel','puzzel','Puzzel is a leading European customer experience (CX) platform helping organisations deliver customer experiences in every channel.','https://www.puzzel.com/privacy-policy','https://www.puzzel.com/','','NO','privacy@puzzel.com',NULL);\nINSERT INTO companies VALUES('q1media','Q1Media','\"Q1Media is an ad technology and media company that facilitates the creation, demand and supply of digital advertising... Headquartered in Austin, Texas since 2004, Q1Media is focused on building long-term relationships with agencies, brand marketers, trading desks and publishers.\"','http://www.q1media.com/privacy-policy/','http://q1media.com/','2875',NULL,'privacy@q1media.com',NULL);\nINSERT INTO companies VALUES('qatar_computing_research_institute','Qatar Computing Research Institute','\"...QCRI conducts world-class multidisciplinary computing research that is relevant to the needs of Qatar, the wider Arab region, and the world. We perform cutting-edge research in such areas as Arabic language technologies, social computing, data analytics and cloud computing.\"',NULL,'http://qcri.org/','2387',NULL,NULL,NULL);\nINSERT INTO companies VALUES('qbaka','Qbaka','\"Cloud-based frontend error monitoring and analytics for web services & mobile HTML5. Helps you provide best customer experience.\"','https://qbaka.com/terms','https://qbaka.com/','3149',NULL,'support@qbaka.com',NULL);\nINSERT INTO companies VALUES('qeado','Qeado','With Qeado we analyze the traffic on your site to track visitors and to reduce to a company and / or contact. It is enriched with data from data sources and presented as full ready to lead as a B2B marketer Contacted record. Our customer intelligence software can be a large portion of the  recognize companies in Europe .(Translated by google translate)','https://www.qeado.com/nl/juridisch/privacy','https://www.qeado.com/','4622',NULL,'info@qeado.com',NULL);\nINSERT INTO companies VALUES('qihoo_360_technology','Qihoo 360 Technology','Qihoo 360 Technology Co. Ltd. (Qihoo 360) is a leading Internet platform company in China as measured by active user base. At the end of June 2014, we had about 496 million monthly active Internet users, according to iResearch.Recognizing security as a fundamental need of all Internet and mobile users, Qihoo 360 built a large user base by offering comprehensive, effective and user-friendly Internet and mobile security products. Qihoo 360 strives to provide services that protect users'' computers and mobile devices against malware and malicious websites.Our products and services are supported by our cloud-based security technology, which we believe is one of the most advanced and robust technologies in the Internet security industry.','https://www.360totalsecurity.com/en/privacy/','https://www.360totalsecurity.com/en/','4644',NULL,'privacy@360safe.com',NULL);\nINSERT INTO companies VALUES('qq.com','QQ.com',NULL,'https://www.qq.com/privacy.htm','https://www.qq.com/','5382',NULL,NULL,NULL);\nINSERT INTO companies VALUES('qualia','Qualia','\"At Qualia, we''re on a mission to empower the entire digital marketplace to deliver, optimize and measure real-time, seamless consumer experiences across all devices from intent to conversion.  Consumer choices and options continue to change and multiply. Information is at our fingertips, at any time, through any device.  Mobile and IoT are exploding. Information overload, quite frankly, is an understatement.  The growing complexity of digital omni-channel reach requires a more unified, simplified approach.  By integrating Qualia''s Intent Data Engine with BlueCava''s cross-device platform, marketers can connect the dots between in-market consumers and their devices to achieve advertising objectives. Deliver seamless experiences to qualified consumers at scale while measuring the impact to your bottom line all in one platform. That''s the power of the new Qualia.  Even as consumers act differently in reaction to new technologies, Qualia will be here to provide the latest and best in intent targeting, driving KPIs for brands as the evolution of targeting progresses.\"','https://bluecava.com/','https://bluecava.com/','670','US','privacy@qualia-media.com',NULL);\nINSERT INTO companies VALUES('qualified','Qualified','Qualified is a B2B marketer platform that allows buyers and sales reps to connect through real-time website conversations. In order to detect account-based buyer intent and enable real-time sales discussions, Qualified, which is based on Salesforce, links the website with Salesforce data.','https://www.qualified.com/legal/privacy','https://www.qualified.com/','','US','privacy@qualified.com',NULL);\nINSERT INTO companies VALUES('qualityunit','QualityUnit','Quality Unit was established in 2004, as a software development company. Our primary effort was on developing web based applications. From start up, we have always had a dual marketing focus. While we concentrate on developing our own best selling products, we also function as a custom design group, creating quality web applications for external clients. We provide total service, from the initial consultation, to project realization, through on-going support and maintenance. We perform and collaborate!','https://www.qualityunit.com/privacy-policy-quality-unit/','https://www.qualityunit.com/','2404',NULL,'support@qualityunit.com',NULL);\nINSERT INTO companies VALUES('qualtrics','Qualtrics','Qualtrics is an American experience management company, with co-headquarters in Seattle, Washington, and Provo, Utah, in the United States. Qualtrics offers a cloud-based subscription software platform for experience management.','https://www.qualtrics.com/privacy-statement/','https://www.qualtrics.com/','2572','US','support@qualtrics.com',NULL);\nINSERT INTO companies VALUES('quantcast','Quantcast','Quantcast provides real-time detailed audience profiles for advertisers to buy, sell, connect and learn more about what consumers are doing online.','https://www.quantcast.com/privacy/','http://www.quantcast.com','139','US','dpo@quantcast.com',NULL);\nINSERT INTO companies VALUES('quantum_metric','Quantum Metric','Quantum Metric, Inc. is a digital analytics platform company focused on helping businesses understand and improve customer experiences. It provides tools for monitoring, diagnosing, and optimizing digital journeys across web and mobile channels, with the goal of fostering a customer-centric culture and driving business value.','https://www.quantummetric.com/legal/privacy-policy','https://www.quantummetric.com/','4748','US','privacy@quantummetric.com',NULL);\nINSERT INTO companies VALUES('quarticon','QuarticOn S.A.','\"QuarticON is a Programmatic Marketing HUB making your online marketing and sales activities easy, optimized and automated. The only tool you will need to manage everything from one place, automagically.\"','https://www.quarticon.com/privacy-statement/','https://www.quarticon.com/','3442',NULL,'contact@quarticon.com',NULL);\nINSERT INTO companies VALUES('qubit','Qubit','QuBit is a data analysis and optimization company. They build predictive models by collecting and analyzing client data to streamline operations, website and marketing experiences. Their product suite includes the tag management system OpenTag.','https://www.qubit.com/legal/privacy-and-cookie-policy','https://www.qubit.com/','1117','GB','info@qubitproducts.com',NULL);\nINSERT INTO companies VALUES('questback','QuestBack','\"Our software solutions help agencies and market research companies to gain insight about consumers, markets, and competitor.\"','https://www.questback.com/security-statement','https://www.questback.com/','1517','US','post@questback.com',NULL);\nINSERT INTO companies VALUES('quick-counter.net','Quick-counter.net','\"Quick-counter.net is easy to implement free HTML hit counter.\"',NULL,'http://www.quick-counter.net/','2363',NULL,NULL,NULL);\nINSERT INTO companies VALUES('quinstreet','QuinStreet','QuinStreet is an online performance-based marketing company that uses pay-for-performance search engine marketing strategies to promote its clients. QuinStreet helps businesses target potential customer audiences by using its proprietary technologies and media reach to generate sales leads.','http://quinstreet.com/privacy_policy','https://www.quinstreet.com/','704','US','privacy@QuinStreet.com',NULL);\nINSERT INTO companies VALUES('quintelligence','Quintelligence','Quitelligence focuses on building marketing solutions that incorporate academic research. These solutions include: data, text and web mining, as well as link analysis (social network analysis).',NULL,'http://www.quintelligence.com/','331','SI',NULL,NULL);\nINSERT INTO companies VALUES('r-advertising','R-Advertising','\"We design innovative performance marketing solutions which allow companies to boost the sales of their products and services online, providing them with the interactive tools they need to scale their online business.\"',NULL,'https://r-advertising.com/en/','2901',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rackfish','Rackfish','Rackfish is a Swedish hosting company with special interest for online video.','https://www.rackfish.com/en/legal/privacy-policy/','https://www.rackfish.com/','','SE','support@rackfish.com',NULL);\nINSERT INTO companies VALUES('radarurl','RadarURL','RadarURL is a real-time visitor statistics tracker for publishers. Their analytics widget counts the number of online visitors, their geographical location, and tracks their actions on a website.','http://radarurl.com/policy','http://radarurl.com/','1007','US',NULL,NULL);\nINSERT INTO companies VALUES('radial','Radial','ClearSaleing provides advertising portfolio management technology that help marketers identify ways to effectively and profitably allocate advertising dollars across a complex mix of online advertising investments. ClearSaleing enables true attribution management through Purchase Path, their technology platform that attributes profit and ROI across the multiple marketing touch points that influence sales.','https://www.radial.com/legal/website-user-privacy-notice','https://www.radial.com/','345','US',NULL,NULL);\nINSERT INTO companies VALUES('raisenow','RaiseNow','The leading solution for local, national and international online fundraising for relief organizations, clubs, cultural providers, political organizations and crowdfunding platforms in Germany.','https://www.raisenow.com/de/kontakt','https://www.raisenow.com/de','5165',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rakuten','Rakuten','Rakuten Group is one of the world''s leading Internet service companies, providing a variety of consumer- and business-focused services including e-commerce, eBooks & eReading, travel, banking, securities, credit card, e-money, portal and media, online marketing and professional sports.','https://privacy.rakuten.co.jp/english/','https://global.rakuten.com/corp/','3334','JP',NULL,NULL);\nINSERT INTO companies VALUES('rambler','Rambler','Rambler is a Russian Internet search and content delivery company.','https://help.rambler.ru/legal/1142/','https://www.rambler.ru/','672','RU',NULL,NULL);\nINSERT INTO companies VALUES('rapidspike','RapidSpike','Track your web application performance over time using a variety of sophisticated monitors, including Real User Monitoring, Intelligent Page Monitors and Synthetic User Journeys.Analyse key data, map your resources by IP location, view customer performance based on demographics, track and alert based on your slowest elements - and much, much more.Learn about the ongoing performance of every page element, detect slowdowns before they escalate and maintain a perfect browsing experience for your customers with RapidSpike Performance Monitoring.','https://www.rapidspike.com/info/privacy-policy/','https://www.rapidspike.com','5193',NULL,'info@rapidspike.com',NULL);\nINSERT INTO companies VALUES('ratos','Ratos','Ratos AB is a Swedish private equity company.','https://www.ratos.se/en/Diverse-sidor/website-policy/','https://www.ratos.se/en/','5383','SE','GDPR@ratos.se',NULL);\nINSERT INTO companies VALUES('raygun','Raygun','Raygun provides error, crash and performance monitoring for software teams. Our tools integrate in minutes and provide deep insights into problems that are affecting end users, so you can find, diagnose and fix issues faster.','https://raygun.com/privacy','https://raygun.com/','4101','NZ','hello@raygun.com',NULL);\nINSERT INTO companies VALUES('rb2b','RB2B','GetEmails LLC (doing business as RB2B) is a B2B digital intelligence platform that identifies anonymous website visitors to help sales and marketing teams with lead generation and engagement. The company provides person-level and company-level identification for U.S.-based traffic, often by leveraging proprietary publisher networks and reverse IP address lookups.','https://www.rb2b.com/privacy-policy','https://www.rb2b.com/','','US','support@rb2b.com',NULL);\nINSERT INTO companies VALUES('rbc_group','RBC Group','\"RBC mission - to provide the Russian-speaking audiences around the world complete coverage of news and business information across key media platforms and offer a means of communication and additional services on the Internet and on mobile devices.\"Translated by Google Translate','http://www.rbcholding.ru/privacy.shtml','https://www.rbc.ru/','2421',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rcs',unistr('RCS MediaGroup S.p.A. \\u0003'),'\"RCS MediaGroup is an international multimedia publishing group that operates in daily newspapers, magazines and books, radio broadcasting, new media and digital and satellite TV. It is also one of the leading operators in the advertisement sales & distribution markets.\"','https://www.rcsmediagroup.it/pagine/informativa-privacy-e-cookie-policy/','https://www.rcsmediagroup.it/','2575',NULL,'privacy@rcsdigital.it',NULL);\nINSERT INTO companies VALUES('rd_station','RD Station','RD Station was founded in Brazil in 2011 with the goal of helping companies of all sizes to understand and take advantage of the benefits of Digital Marketing, thus achieving real and permanent results for their businesses.This is done through RD Station, our marketing and sales platform and the methodology of Inbound Marketing, which supports the definition and execution of strategies that truly work.','http://resultadosdigitais.com.br/politica-de-privacidade/','https://www.rdstation.com/en/','4898',NULL,'contato@resultadosdigitais.com.br',NULL);\nINSERT INTO companies VALUES('reachforce','ReachForce','\"ReachForce delivers cloud-based data solutions for B2B marketing professionals to accelerate leads to revenue. The ReachForce Connected Marketing Data Hub provides continuous marketing data enrichment and insights to help customers reach their maximum revenue velocity.\"','http://www.reachforce.com/about/privacy-policy/','http://www.reachforce.com/','3011',NULL,NULL,NULL);\nINSERT INTO companies VALUES('reachjunction','ReachJunction','\"ReachJunction International Limited is a pioneer in the creative industry that provides a wide range of advertising, revenue optimization and content creation services to a substantial and diversified client base....\"',NULL,'https://www.reachjunction.com/','2740',NULL,'support@reachjunction.com',NULL);\nINSERT INTO companies VALUES('reachlocal','ReachLocal','ReachLocal connects advertisers, publishers, and creative solutions providers together on a single platform. Wherever customers are online, ReachLocal helps local businesses find them with the broadest reach of local digital media, a dedicated force of local Internet Marketing Consultants, and technology that continually optimizes results.','https://www.reachlocal.com/us/en/legal/privacy-policy','https://www.reachlocal.com/','1139','US','privacy@reachlocal.com',NULL);\nINSERT INTO companies VALUES('reactful','Reactful','\"A reactful website automatically listens and reacts to each visitor''s actions and moods, creating conversations that lead to business... Our team combines expertise in leading marketing & conversion strategies coupled with Big Data analysis.\"','https://www.reactful.com/privacy-policy/','https://www.reactful.com/','2926',NULL,NULL,NULL);\nINSERT INTO companies VALUES('reactx','ReactX','\"ReactX (formerly Skinected) enables the programmatic buying and selling of high impact, large canvas type ads in RTB platforms like Appnexus. Through our proprietary technology, ReactX helps global supply and demand clients leverage a marketplace for native and premium programmatic.\"','http://home.reactx.com/support/?page_id=1205','http://home.reactx.com/web/','2628',NULL,'info@reactx.com',NULL);\nINSERT INTO companies VALUES('readme','ReadMe','ReadMe gives teams the tools they need to create and manage beautiful documentation with ease, monitor their APIs, and connect with their users in more personal ways.','https://readme.com/privacy','https://readme.com/','5426','US','support@readme.io',NULL);\nINSERT INTO companies VALUES('realclick','RealClick','\"Multi-platform Ad serving. RealClick provides you with multi-platform to serve ads on display (web/mobile we/apps and so on).\"Translated by DNASOFT Co. Ltd.',NULL,'https://www.realclick.co.kr/','3200',NULL,'overseas@realclick.co.kr',NULL);\nINSERT INTO companies VALUES('realtime','Realtime','\"Realtime® Web is a set of tools, based on a cloud-hosted messaging system, for websites and mobile apps that require constant content updates in just a few miliseconds, enabling any application to interact with millions of connected users in a fast and secure way.\"','https://framework.realtime.co/privacy-policy.html','http://www.realtime.co/','2124',NULL,NULL,NULL);\nINSERT INTO companies VALUES('realytics','Realytics',NULL,'https://www.realytics.io/platform-privacy-policy/','https://www.realytics.io/','4516',NULL,'contact@realytics.io',NULL);\nINSERT INTO companies VALUES('rebelmouse','RebelMouse','\"RebelMouse is publishing reimagined, enabling brands and media companies to create digital content experiences that are participatory, data-driven and fully connected across sites, social platforms, newsletters, ads and mobile apps.\"','https://www.rebelmouse.com/st/Privacy_Policy','https://www.rebelmouse.com/','3417',NULL,'early@rebelmouse.com',NULL);\nINSERT INTO companies VALUES('receptiv','Receptiv','Receptiv provides a real-time attention solution that pinpoints when a user is actively engaging with page content.','https://www.getreceptiv.com/privacy-policy/','https://www.getreceptiv.com/','','CA','privacy@getreceptiv.com',NULL);\nINSERT INTO companies VALUES('recettes.net','Recettes.net',NULL,NULL,'http://www.recettes.net/','5384',NULL,NULL,NULL);\nINSERT INTO companies VALUES('recopick','RecoPick','A recommendation platform service (SaaS) providing on-site productrecommendation (web/mobile) and recommendations for personalized marketing(mail/sms/push notifications etc.).','https://recopick.com/privacypolicy','https://recopick.com/','4099',NULL,'privacy.skp@sk.com',NULL);\nINSERT INTO companies VALUES('recreativ','Recreativ','\"Recreativ - is heading advertising network with an exceptionally high quality traffic, low cost of advertising exposure and potential for high earnings for webmasters!\"Translated by Google Translate','https://recreativ.ru/site/policy','https://recreativ.ru/site/index','2212',NULL,'support@recreativ.ru',NULL);\nINSERT INTO companies VALUES('recruitics','Recruitics','\"Recruitics is the world’s most advanced platform for managing and optimizing recruitment marketing campaigns. We leverage the power of big data and analytics to maximize the ROI of a company''s recruitment marketing strategy.\"',NULL,'http://recruitics.com/','3298',NULL,'info@recruitics.com',NULL);\nINSERT INTO companies VALUES('red_ventures','Red Ventures','We create touch points throughout the consumer buying cycle. Through our digital expertise, proprietary assets, and deeply integrated partnerships, we close the loop between consumers and the brands or services they need.','https://www.redventures.com/privacy-policy.html','https://www.redventures.com/','5118',NULL,NULL,NULL);\nINSERT INTO companies VALUES('reddit','reddit','\"reddit is a source for what''s new and popular on the web. Users like you provide all of the content and decide, through voting, what''s good and what''s junk.\"','https://www.reddit.com/help/privacypolicy','http://reddit.com','1734','US','eurepresentative@reddit.com',NULL);\nINSERT INTO companies VALUES('redhelper','RedHelper','\"Live chat is a great way to improve your business. RedHelper provides millions of contacts with clients growing up sales and customer satisfaction.\"',NULL,'http://redhelper.com/','3424',NULL,'info@redhelper.com',NULL);\nINSERT INTO companies VALUES('redlotus','RedLotus','Triggit is a technology provider that enables clients to buy and sell media in real-time. Their platform integrates with multiple ad exchanges where bids are based on each ad opportunity known as impressions.  The foundation of RTB (real-time bidding) is data. This includes audience segments, predictive analytics, behavioral insights, and historical performance for highly targeted ads.  Triggit ensure that marketers get the data they need by offering integration services for 1st party (client data), 2nd party (Triggit data), and 3rd party data (data providers and exchanges.)','http://gravity4.com/privacy-policy/','https://redlotus.com/','170','US',NULL,NULL);\nINSERT INTO companies VALUES('redtram','RedTram','\"RedTram™ is the news search engine making it possible for Internet users to find the latest news they are interested in. The uniqueness of this search engine lies in the variety of simultaneously used criteria for searching and displaying news: theme region language date The synchronization of the criteria allows specifying the search request and receiving the very news you are interested in.\"',NULL,'http://www.redtram.com/','2442',NULL,'support@redtram.com',NULL);\nINSERT INTO companies VALUES('redux_media','Redux Media','Redux Media is a network of websites aggregated into fifteen niche content categories. They partner with web publishers to provide advertisers with targeted display ad placements. They offer site-specific, channel-wide and run-of-network placements.','https://tctranscontinental.com/privacy-policy','http://www.reduxmedia.com/','599','CA','privacy@reduxmedia.com',NULL);\nINSERT INTO companies VALUES('reembed','reEmbed',NULL,NULL,'https://www.reembed.com/','5385',NULL,NULL,NULL);\nINSERT INTO companies VALUES('reevoo','Reevoo','\"Conversations about your brand are already taking place and actively influencing consumer opinions. Reevoo enables you to join those conversations so you can attract, engage and retain more customers.\"','https://www.reevoo.com/cookies-policy/','https://www.reevoo.com/en/','1594','US','privacy@reevoo.com',NULL);\nINSERT INTO companies VALUES('refericon','Refericon','\"One of the marketers'' tasks is to acquire new customers for online stores. Increasing competition and price wars make this task very difficult, so it is desirable to find new incentives to increase sales.\"','https://app.refericon.pl/files/regulamin.pdf','https://refericon.pl/','5248',NULL,'pawel@refericon.pl',NULL);\nINSERT INTO companies VALUES('referlocal','ReferLocal','\"ReferLocal is a member-only local digital advertising platform featuring exclusive deals and offers from local businesses.\"','http://referlocal.com/pages/privacy-policy','http://referlocal.com/','1860','US',NULL,NULL);\nINSERT INTO companies VALUES('refersion','Refersion','\"Build a Referral Program in Minutes: Track your partners, Salespeople, and customer referrals.\"','https://www.refersion.com/privacy','https://www.refersion.com/','3359',NULL,'admin@refersion.com',NULL);\nINSERT INTO companies VALUES('refined_labs','Refined Labs','\"Refined Labs is a leading provider of performance marketing software.\"','https://www.refinedlabs.com/datenschutz-website','https://www.refinedlabs.com/','2062',NULL,'info@refinedlabs.com',NULL);\nINSERT INTO companies VALUES('reflektion','Reflektion','Reflektion enjoys a rich culture of innovation. Founded by pioneers in deep learning algorithms from powerhouses such as Google, Gmail, Oracle and Netflix, Reflektion is bringing the strength of deep learning to bear on the retail and ecommerce industry. Our sophisticated platform and technology architecture, enable brands to process a tremendous amount of customer and behavioral data, respond in real time with the most relevant content or products, and understand the business impact of each new experience created.','http://reflektion.com/privacy-policy-2/',NULL,'4930',NULL,'support@reflektion.com',NULL);\nINSERT INTO companies VALUES('reformal','Reformal','\"The main objective of the service - to help website owners establish a fast and effective communication with their visitors. Ideas for improvements, bug reports, questions and vote - we have tried to provide all the basic types of reviews.\"',NULL,'http://reformal.ru/','2873',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rekko','Rekko','The Convert Platform providers ''conversion apps'' for marketers to convert website visitors into paying customers. The platform offers audience segmentation, detailed reporting and ‘click and go’ engagements.',NULL,'http://rekko.com/','1190','US',NULL,NULL);\nINSERT INTO companies VALUES('reklam_store','Reklam Store','\"ReklamStore, [aims] to provide advertisers with an established online advertising network. [Joining] Yahoo''s Right Media in 2009, [we are] a subsidiary company engaged in infrastructure transition and [have] gained international advertisers and agencies around the world [to create a] network of quality content. The latest technology tools and global relationships with [our clients] increase the quality of service.\"',NULL,'http://www.reklamstore.com','1345','TR',NULL,NULL);\nINSERT INTO companies VALUES('reklamport','Reklamport','\"Our goal in the online advertising market in Turkey is to provide accurate and measurable advertising services.\"','http://www.reklamport.com/policy.aspx','http://www.reklamport.com/','1224','TR','info@reklamport.com',NULL);\nINSERT INTO companies VALUES('reklamz','ReklamZ','\"Reklamz is the leading online independent advertisement network in Turkey which founded in 2002.\"',NULL,'https://www.reklamz.com/','1250','TR','bilgi@reklamz.com',NULL);\nINSERT INTO companies VALUES('rekmob','Rekmob','Founded in 2013, we are a technology-based mobile ad network that connects brands to consumers through mobile.Rather than the typical approach of mobile advertising, our goal is to create marketing effectiveness through striking mobile ads that inspire people. How? Deriving from our software roots, we provide next-gen targeting abilities by our own mobile ad server. Being the very first mobile ad server of Turkey, this product is awarded by TÜBİTAK and is being supported TEB BNP Paribas. Our inventory contains 100 premium mobile apps which have been downloaded by over 5.000.000 unique users worldwide. Moreover, we reach to 250 million ad impressions monthly. That means, we are able to dominate Google Play or App Store charts and can create pandemic campaigns.Thanks to these numbers, we reach to a huge analytics data by monitoring and loging every single action of our users.Eventually we put together our marketing know-how and these analytics to create supreme marketing effectiveness for our brands.',NULL,'https://www.rekmob.com/','4703',NULL,'contact@rekmob.com',NULL);\nINSERT INTO companies VALUES('relap','Relap','Make your site better.Increase involvement of your audienceand advertising effectiveness.','https://relap.io/privacy','https://relap.io/','4985',NULL,'support@relap.io',NULL);\nINSERT INTO companies VALUES('relay42','Relay42','\"Relay42 is an advanced Tag & Data Management Platform that is used by a broad range of leading international advertisers.\"','https://relay42.com/privacy-policy/','http://relay42.com','2177',NULL,'info@relay42.com',NULL);\nINSERT INTO companies VALUES('relestar','Relestar','\"Relevad Corporation is a global provider of rich real-time bidding (RTB) Solutions for Advertisers, Publishers and Agencies. Relevad is one of the world''s largest semantic PPC ad networks...Relevad operates Google AdX certified demand-side platform (DSP) with integrated semantic, search, and dynamic retargeting capabilities, as well as publisher network... \"','https://relestar.com/adnetwork/privacy-policy/','https://relestar.com/','1755','US','info@relevad.com',NULL);\nINSERT INTO companies VALUES('relevant_digital','Relevant Digital','Relevant Digital Oy, founded in 2012, is a Scandinavian company specializing in developing transparent and trustworthy online advertising and media solutions. The company provides publishers and sales houses with technology for analyzing and managing their programmatic sales channels, with a particular focus on Header Bidding.','https://www.relevant-digital.com/privacy-policy','https://www.relevant-digital.com/','','FI','petri.kokkonen@relevant.fi',NULL);\nINSERT INTO companies VALUES('report_uri','Report URI','Report URI was founded to allow you to deploy and utilise modern browser security features. You can get started easily and use our service to detect some of the most dangerous attacks online.','https://report-uri.com/home/privacy_policy','https://report-uri.com','','GB','info@report-uri.com',NULL);\nINSERT INTO companies VALUES('repost','Repost','\"Free Range Content, Inc. creates products and services that maximize the reach and revenue of digital content. We build new market share and revenue streams for online publishers through frictionless technology that enables the easy and profitable exchange of content between producers and consumers.\"','http://www.repost.us/privacy-policy','http://www.repost.us/','1627','US','privacy@freerangecontent.com',NULL);\nINSERT INTO companies VALUES('republer','Republer',NULL,'https://republer.com/privacy.html','https://republer.com/','4023',NULL,'info@republer.ru',NULL);\nINSERT INTO companies VALUES('research_now','Research Now Group, Inc','\"We are the world’s leading digital data collection company, and uniquely positioned as a true single source solution for any and all research projects.\"','https://www.valuedopinions.co.uk/privacy','http://www.researchnow.com/','2770',NULL,'privacy@researchnow.com',NULL);\nINSERT INTO companies VALUES('resolution_media','Resolution Media','\"Resolution Media is a leading digital marketing agency. We help our clients use data from search engine marketing (SEM) and other digital platforms to turn critical audience insights into action and move your business forward.\"','https://trkme.net','https://resolutionmedia.com/','2403',NULL,'info@udg.de',NULL);\nINSERT INTO companies VALUES('resonate','Resonate','Resonate is an online ad technology company. Their approach to targeted audience delivery “Attitudinal Targeting“ is based on values, beliefs, and attitudes. Resonate''s proprietary methodology and patent-pending Quality Visitation Indices (QVI) enable advertisers to define audience profiles from a combination of more than one thousand attitudinal and traditional attributes.','https://www.resonate.com/privacy-policy/','https://www.resonate.com/','868','US','info@resonate.com',NULL);\nINSERT INTO companies VALUES('respond','Respond','\"Respond gives advertisers a simple way to amplify the impact of digital advertising campaigns with in-content brand engagement, and offers premium publishers incremental revenue without compromising user experience.\"',NULL,'http://respondhq.com/','2257',NULL,NULL,NULL);\nINSERT INTO companies VALUES('responsetap','ResponseTap','AdInsight is a telephone sales, lead and call tracking solution in the UK. Its clients are businesses looking to optimize the performance of their advertising investments to help generate more sales and leads. AdInsight provides call-tracking solutions that enhance a company''s efforts to increase marketing effectiveness, improve ROI, capture additional sales opportunities and improve sales techniques.','https://www.responsetap.com/privacy-policy/','https://www.responsetap.com/','757','GB','support@responsetap.com',NULL);\nINSERT INTO companies VALUES('respublica','Respublica','\"ResMeter is the first project Albanian online traffic measurement. The project will measure viewership of online websites Albanian and provide public input on these measurements.\"Translation by Google Translate',NULL,'http://www.respublica.al/','3639',NULL,NULL,NULL);\nINSERT INTO companies VALUES('result_links','Result Links','Result Links is an ad network. They use in-text advertising as their method of serving relevant ads to visitors. They offer advertisers a self-serve dynamic bidding platform that optimizes campaigns for best results. Result Links is a Future Ads company.','http://www.resultlinks.com/index.php?page=public.Privacy','http://www.resultlinks.com/','694','US','privacy@resultlinks.com',NULL);\nINSERT INTO companies VALUES('retail_rocket','Retail Rocket','PERSONALIZE YOUR ONLINE STORE SHOPPING EXPERIENCE WITH A PRODUCT RECOMMENDATION ENGINE',NULL,'https://retailrocket.net/','3849',NULL,NULL,NULL);\nINSERT INTO companies VALUES('retargetapp','RetargetApp',NULL,'http://docs.retargetapp.com/terms/?utm_source=Landing%20page&utm_medium=Footer%20-%20Terms%20%26%20Conditions&utm_campaign=RetargetApp%20landing%20page','https://retargetapp.com/','4755',NULL,NULL,NULL);\nINSERT INTO companies VALUES('retargeter','ReTargeter','ReTargeter provides site based behavioral retargeting solutions for small to medium sized businesses. This is accomplished by showing website ads exclusively to the visitors after they have left the site.','https://retargeter.com/legal','https://retargeter.com/','363','US','customerservice@retargeter.com',NULL);\nINSERT INTO companies VALUES('retargeting','Retargeting','Retargeting is an online advertising tool used for recapturing potential consumers who at the time did not become lead or sale. The intention is to focus on those website visitors who leave the site without making a purchase.',NULL,'http://retargeting.cl/','4483',NULL,NULL,NULL);\nINSERT INTO companies VALUES('retention_science','Retention Science','\"We are a dynamic team of e-commerce veterans, data scientists, engineers, and marketers passionate about building out the future of marketing technologyOur mission is to change the way brands interact with customers, to shift priorities from one-off transactions to long-term retention through data and Artificial Intelligence. Our goal is to help brands create 1-to-1 personalized experiences on a scale of millions, using technology to create real, lasting relationships at scale.\"','http://staging.retentionscience.com/footer/privacy-policy/','http://retentionscience.com/','4163',NULL,NULL,NULL);\nINSERT INTO companies VALUES('revcontent','Revcontent','We’ve perfected the art of native advertising, empowering publishers and advertisers to grow their brand presence and revenues.','https://help.revcontent.com/knowledge/revcontent-privacy-policy','https://www.revcontent.com/','3626','US','compliance@revcontent.com',NULL);\nINSERT INTO companies VALUES('reve_marketing','Reve Marketing','SocialTwist is a social marketing platform solutions provider. Their Tell-a-Friend widget helps marketing messages spread across social platforms, and allows website visitors to share content with their friends without directing them away from the site.','https://www.revemarketing.com/privacy-policy','https://www.revemarketing.com/','137','US','support@socialtwist.com',NULL);\nINSERT INTO companies VALUES('revenue','Revenue','\"Our storyRevenue.com is on a mission to free the world from annoying ads, by replacing them with relevant and consumable content. We go to sleep every night dreaming of a world in which ads don''t suck, and each day we get closer with every click.\"','https://revenue.com/pages/privacy','https://revenue.com/','4288',NULL,'privacy@revenue.com',NULL);\nINSERT INTO companies VALUES('revenuehits','RevenueHits','\"RevenueHits help publishers to generate more revenues with...Contextual and Geo targeted Ad Serving technology. Our innovative Performance Base (CPA) Ad Network was designed to help publishers to monetize online assets, including toolbars, websites, search, widgets, IM applications and more.\"','https://www.revenuehits.com/privacy.html','https://www.revenuehits.com/','1815','US','info@revenuehits.com',NULL);\nINSERT INTO companies VALUES('revenuemantra','RevenueMantra','\"We provide a holistic, powerful and consolidated service for advertisers, publishers and agencies to manage their online advertising needs. With integrated multi-channel support which includes display, rich media, mobile & digital video and transparent campaign management capabilities, we focus on reducing the in-efficiencies and overheads associated with advertising operations.\"','http://www.revenuemantra.com/privacy.html','http://www.revenuemantra.com/','2160',NULL,'contact@revenuemantra.com',NULL);\nINSERT INTO companies VALUES('revive_adserver','Revive Adserver','Revive Adserver is a free open source ad serving system that enables publishers, ad networks, and advertisers to:+ Serve ads on websites, in apps, and in video players, and collect detailed statistics including impressions, clicks and conversions+ Manage campaigns for multiple advertisers and from ad networks all at once, via an easy to use interface+ Define delivery rules for campaigns and ads, including frequency capping, URL targeting, geo-targeting+ Track and report campaign performance including click-through rates, conversion rates, revenue, eCPM and conversion details, like basket value and number of items purchased','https://www.revive-adserver.com/privacy/','https://www.revive-adserver.com/','5264',NULL,NULL,NULL);\nINSERT INTO companies VALUES('revlifter','RevLifter','RevLifter is a technology company specializing in eCommerce personalization and conversion rate optimization. The company provides an intelligent offer platform that leverages real-time data to create targeted promotions, aiming to improve conversion rates and customer retention. RevLifter''s solutions are designed to help retailers manage promotions effectively, optimize customer journeys, and drive growth through performance marketing. It was founded in 2017 and is based in London, England.','https://www.revlifter.com/privacy-policy','https://www.revlifter.com/','','GB','compliance@revlifter.com',NULL);\nINSERT INTO companies VALUES('revolver_maps','Revolver Maps','\"RevolverMaps are customizable visitor map widgets combined with a live traffic trace function.\" Revolver Maps is owned by Karma Implementor.','http://www.revolvermaps.com/?target=legal#privacy','https://www.revolvermaps.com/','1547','US','contact@revolvermaps.com',NULL);\nINSERT INTO companies VALUES('rewords','ReWords','\"ReWords is first contextual in-text advertising platform in Poland. For advertisers that means better click through rate, cheaper clicks and rationalization of your advertising budget because with ReWords you pay only when someone click on your ad. We wonʼt charge you a dime even if million people see your ad unless they click on it.\"',NULL,'http://www.rewords.pl/','3557',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rhythmone','RhythmOne','\"Our mission is to enrich consumer experiences online by enabling access to content anytime, anywhere. To this end, RhythmOne connects audiences with premium content and advertising across the web.  We work with advertisers, publishers and content providers to provide value through:Fully integrated advertising solutions, spanning desktop and mobile video, rich media, display, social and native formats.Cross-screen targeting - following audiences as they migrate across devices.Massive reach, delivered through our owned and operated channels, and quality distributed partners.Video content distribution that enhances web experiences for publishers and consumers.The aim of RhythmOne is to streamline the campaign planning experience, making it a more consolidated and efficient process. By understanding the target audience, the advertising goal, and the spend amount, we can collaborate with brands to optimize the campaign and maximize ROI by using the appropriate formats across the appropriate screens.\"','https://www.rhythmone.com/privacy-policy','https://www.rhythmone.com/','34','US','privacy@RhythmOne.com',unistr('Acquired (2019), merged and renamed to Nexxen (2023)\\u000a\\u000aSource: https://en.wikipedia.org/wiki/Nexxen'));\nINSERT INTO companies VALUES('rich_audience','Rich Audience','Rich Audience Technologies, S.L.U. is a premium marketplace for digital advertisements that focuses on maximising publishers'' earnings through innovative ad formats and monetization solutions. We bring together publishers with high-quality demand sources in rich media, offering tools for seamless integration, enhanced targeting, and flexible ad placements.','https://richaudience.com/privacy/','https://richaudience.com/','','ES','gdpr@exte.com',NULL);\nINSERT INTO companies VALUES('rich_media_banner_network','Rich Media Banner Network','\"RMBN exchange network is a useful advertising tool for at least cost to achieve high efficiency advertising campaign. Exchange network RMBN serves for mutual promotion of sites participating in the network. The network is based on the principle of the exchange shows. The essence of this paper is that you show on your website banners of other members of the network, and your banners are displayed on the websites of other parties in an amount that you have shown, minus the commission network.\"Translated by Google Translate',NULL,'http://rmbn.net/','2209',NULL,'webmaster@rmbn.net',NULL);\nINSERT INTO companies VALUES('richrelevance','RichRelevance','RichRelevance is a content recommendation engine focused on optimizing content on e-commerce websites to improve product recommendations based on user purchase histories and browsing behavior.','https://www.richrelevance.com/privacy','http://www.richrelevance.com','140','US','privacy@richrelevance.com',unistr('RichRelevance rebranded in Jan 2021. New org file: algonomy.eno setup and pattern file updated for this.\\u000a\\u000aRef:\\u000ahttps://algonomy.com/algonomy-launches-to-power-digital-first-as-the-new-normal-for-retailers-and-brands-across-the-globe/'));\nINSERT INTO companies VALUES('ringier','Ringier AG',NULL,'http://ringier.ch/en/data-privacy','http://ringier.ch/en','5386',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rio_seo','Rio SEO','Meteor Solutions is an Internet software company that enables advertisers and publishers to measure media traffic on their sites and campaigns. The company offers Tracker technology, which identifies and tags each site visitor, the content they share, the recipients that respond, and the site or media.','http://www.rioseo.com/privacy-policy#fbid=HyHjzYB5W_S','https://www.rioseo.com/','975','US','support@rioseo.com',NULL);\nINSERT INTO companies VALUES('rise_code','Rise Code','Rise Code provide programmatic advertising and search monetization solutions for publishers. The tools that we offer enable publishers to maximize their revenues and are built to accommodate their advertising needs.','https://risecodes.com/wp-content/uploads/2023/03/Risecodes.com-Privacy-Policy-March-23-2023.pdf','https://www.risecodes.com/','','IL','support@risecodes.com',NULL);\nINSERT INTO companies VALUES('riskfield','Riskified','\"Riskified is a technology company focused on leveraging data and innovation to ensure our customers are always one step ahead of online fraudsters.Founded by Eido Gal and Assaf Feldman in 2013, what started out as a simple idea is now a scalable solution trusted by hundreds of global brands. From luxury fashion houses and retail chains to gift card and ticket marketplaces, we respect our customers and strive to provide value and top notch service.\"','https://www.riskified.com/privacy/','https://www.riskified.com/','5292',NULL,'support@riskified.com',NULL);\nINSERT INTO companies VALUES('ro2.biz','Ro2.biz','\"We offer the perfect solution for you as advertiser, publisher or designer.\"','http://ro2.biz/legal_privacy.php','http://ro2.biz/index.php?r=adikku','2794',NULL,'legal@ro2.biz',NULL);\nINSERT INTO companies VALUES('rockabox','Rockabox Media Ltd','Scoota is an online advertising technology company that enables advertisers to create, activate, measure and optimise brilliant brand campaigns at scale.We offer a single programmatic platform for the creation and delivery of rich, high-impact formats via open real-time bidding and private marketplaces, without compromising creative execution or brand safety.Our technology includes a unique campaign delivery system that pre-reads an ad space in real-time so that the right creative is delivered into the right ad unit without the need for pre-testing and independent site integration.We care about and invest in an open and long-term approach, enabling partners to work with us through integration with their own systems of choice, or via our platform whether as a self-serve solution, or a fully managed service.','http://scoota.com/privacy-policy','http://scoota.com/','3992',NULL,'info@scoota.com',NULL);\nINSERT INTO companies VALUES('rockerbox','Rockerbox','Rockerbox analyzes and requests in real-time and determines when clients switch from casual browsing to purchase intent-based browsing.','https://www.rockerbox.com/privacy','https://www.rockerbox.com/','3705','US','privacy@rockerbox.com',NULL);\nINSERT INTO companies VALUES('rocket.la','Rocket.la','Rocket is the financial advisor who helps you with the important and difficult decision to get credit, because according to your characteristics and particularities we look for, among all the credits of the market, the best one for you.','https://rocket.la/aviso-de-privacidad/','https://rocket.la/','4849',NULL,NULL,NULL);\nINSERT INTO companies VALUES('roistat','Roistat','Roistat collects data from CRM-system, advertising platforms and your website. With this data Roistat gathers reportson key business indexes.','https://roistat.com/privacy','https://roistat.com','5194',NULL,NULL,NULL);\nINSERT INTO companies VALUES('roku','Roku','\"Roku, Inc., is a privately held company located in Saratoga, Calif., and founded in 2002 by Anthony Wood, the inventor of the digital video recorder (DVR). The market leader in streaming entertainment devices for the TV with millions of units sold, Roku has always believed that anything you want to watch, listen to, and enjoy should simply be there on your TV, whenever you want it. Roku streaming players are renowned for their simplicity, variety of entertainment choices, and exceptional value.\"','https://docs.roku.com/doc/userprivacypolicy/en-us','https://www.roku.com/','3553',NULL,'customer.advocate@roku.com',NULL);\nINSERT INTO companies VALUES('rollad','Rollad','\"Together with Rollad advertiser gets control of the effectiveness of advertising on each step of the site selection, media planning, monitoring of every site and every promotional material, budget optimization, optimize the placement in the ad campaign, to get statistics Real-time Screenshot and advertising campaign results.\"Translation by Google Translate','https://rollad.ru/privacy','http://rollad.ru','2216',NULL,'ask.me@rollad.ru',NULL);\nINSERT INTO companies VALUES('rollbar','Rollbar','Rollbar, Inc. provides a real-time error monitoring and continuous code improvement platform, helping development teams quickly find, analyze, and fix bugs in code using AI-assisted workflows, integrating with tools like GitHub and Jira to manage software quality and reduce deployment risks.','https://docs.rollbar.com/docs/privacy-policy','https://www.rollbar.com/','2925','US','privacy@rollbar.com',NULL);\nINSERT INTO companies VALUES('roost','Roost','\"Engage your Readers with Safari Push Notifications\"','http://roost.me/pages/privacy-policy/','https://roost.me/','3255',NULL,'support@goroost.com',NULL);\nINSERT INTO companies VALUES('rooster','Rooster','\"Designed by conversion rate optimization experts, Rooster’s exclusive exit-intent technology is the smart, non-invasive way to convert abandoning visitors to paying customers, huge email lists, and social ambassadors.\"','https://www.getrooster.com/privacy-policy/','https://www.getrooster.com/','3637',NULL,'hello@getrooster.com',NULL);\nINSERT INTO companies VALUES('roq.ad','Roq.ad GmbH',NULL,'https://www.roq.ad/privacy-policy','https://www.roq.ad/','5387',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rotaban','RotaBan','\"[A]n effective tool of advertising formats on different blogs... We...make the process of buying/selling advertising...simple...\"','http://www.rotaban.ru/about/privacy.aspx','http://www.rotaban.ru/','2862',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rovion','Rovion','Rovion is a provider of talent-based rich media content development, delivery and reporting. They specialize in video-based ads and is best known for its flagship product the InPerson video spokesperson ad unit. Rovian operates as a subsidiary of DigitalPost Interactive, Inc.','http://www.pointroll.com/privacy.php','http://www.rovion.com/','628','US',NULL,NULL);\nINSERT INTO companies VALUES('rsspump','RSSPump',NULL,NULL,'http://www.rsspump.com','2040',NULL,'development@rsspump.com',NULL);\nINSERT INTO companies VALUES('rtb_house','RTB House','RTB House is a Polish advertising-technology company founded in 2012, that specializes in targeted advertising including retargeting and real-time bidding (RTB) strategies. Headquartered in Warsaw, Poland.','https://www.rtbhouse.com/privacy/','https://www.rtbhouse.com/','3371','PL','privacy@rtbhouse.com',NULL);\nINSERT INTO companies VALUES('rtbmarkt','RTBmarkt','Since it first appeared in 1994 the banner ad has completely changed the interactions between brands and consumers. Especially the development of programmatic advertising provides the possibility to communicate with the customer in a way that has never been more purposeful and efficient. Our self-service marketplace RTBmarkt encourages this form of communication and offers the right solutions for every player of the Programmatic Advertising market. Start your way into the future of advertising!','https://www.rtbmarkt.de/en/home/','https://www.rtbmarkt.de/en/home/','2089',NULL,'info@easymedia-gmbh.de',NULL);\nINSERT INTO companies VALUES('rtl_group','RTL Group','\"The Leading European Entertainment Network\"The RTL Group SA (derived from R adio T élévision L uxembourg) with 53 television and 28 radio stations Europe''s leading provider of advertising-financed private television and private radio . The Group is headquartered in the city of Luxembourg. The Group is majority owned by Bertelsmann.',NULL,'http://www.rtlgroup.com/www/htm/home.aspx','2991',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rubicon_project','The Rubicon Project, Limited','The Rubicon Project is a publisher network focused on promoting publisher content to premium advertisers. REVV for Publishers is a yield management optimization platform engineered to accelerate revenue for premium web publishers.','https://rubiconproject.com/rubicon-project-yield-optimization-privacy-policy/','http://rubiconproject.com','168','US','privacy@rubiconproject.com',unistr('Rubicon Project became Magnite in 2020. The company was formed following a merger between Rubicon Project and Telaria.\\u000aSource: https://en.wikipedia.org/wiki/Magnite_Inc'));\nINSERT INTO companies VALUES('ruhrgebiet','Ruhrgebiet','With the Ruhrgebiet Online Services CMS, you can update your website easily and independently and inform your customers about current offers.','https://www.ruhrgebiet-onlineservices.de/impressum.php','https://www.ruhrgebiet-onlineservices.de/','4865',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rummycircle','RummyCircle',NULL,'https://www.rummycircle.com/privacy-policy.html','https://www.rummycircle.com/','4883',NULL,NULL,NULL);\nINSERT INTO companies VALUES('run','RUN','\"Our focus at RUN revolves around real time bidding technologies and the proper utilization of multiple tactics, cross-digital audience planning/buying, API integration, real time analytics, data visualization, and much, much more. Our platform weaves together and streamlines various vertical technology solutions currently found in the marketplace through a single, agnostic, cross platform trading desk.\" Run is owned by Project X Labs.','http://www.runads.com/privacy-policy','http://www.runads.com/','1806','US','privacy@rundsp.com',NULL);\nINSERT INTO companies VALUES('rune_inc.','Rune Inc.',NULL,'http://www.secretrune.com/privacy-policy','http://www.secretrune.com/','4611',NULL,NULL,NULL);\nINSERT INTO companies VALUES('rythmone','RhythmOne, LLC','RadiumOne is the only data-driven marketing company that connects the dots between brands’ paid, earned, shared and owned assets to find and connect with high-value consumers. Through our ability to see the strongest signals of consumer intent and predict where consumers are on their journeys, we can build customized campaign strategies specific to your brand. RadiumOne delivers digital campaigns that are measured against real business outcomes.','https://www.rhythmone.com/privacy-policy','https://www.rhythmone.com/','673','US','privacy@radiumone.com',NULL);\nINSERT INTO companies VALUES('sabavision','SabaVision','SabaVision, one of the core products of SabaIdea, is Iran''s largest online advertising agency. It currently owns the most extensive ad network across which over hundreds of quality publishers offer their advertising positions to local and international advertisers. SabaVision enables advertisers and brands to drive real audience engagement across all of interactive solutions that users are embracing today e.g. banner advertisement, PPC advertising, video marketing on Aparat.com, creative online campaigns, and the like. However, what makes SabaVision the market leader is its unique and competitive advantage over other online advertising agencies: owning a number of most popular Iranian websites such as Aparat.com, MihanBlog.com, Cloob.com and working with most of exceptional Iranian publishers. SabaVision also has thousands of partners in the realm of pay per click advertising at the moment.','https://www.sabavision.com/en/about','https://www.sabavision.com/en/','4659',NULL,'info@sabavision.com',NULL);\nINSERT INTO companies VALUES('sailthru','Sailthru','Sailthru is a customer retention cloud platform focused on helping retail and media companies personalize their customer engagement. It leverages customer data analysis to create targeted marketing messages, including emails and promotions, delivered based on user behavior and preferences.','http://www.sailthru.com/legal/#privacy-statement','https://www.sailthru.com','1550','US','privacy@sailthru.com',NULL);\nINSERT INTO companies VALUES('saladlab','Saladlab','Customer relationship and review management platform.','https://alph.oopy.io/7f1928da-4440-45ec-9559-592a313043e7','https://saladlab.co/','','KR','support@alph.kr',NULL);\nINSERT INTO companies VALUES('salecycle','SaleCycle','\"SaleCycle focuses on returning potential customers to your website in order to complete their transaction. By maximising your ability to re-engage with lost customers, SaleCycle enables you to successfully recover what could have been lost sales.\"','https://www.salecycle.com/cookie-policy/','https://www.salecycle.com/','1963','US','info@salecycle.com',NULL);\nINSERT INTO companies VALUES('sales_feed','Sales Feed',NULL,'https://www.salesfeed.com/privacy-verklaring/','https://www.salesfeed.com/','4409',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sales_manago','SALESmanago','SALESmanago is a customer engagement platform designed for e-commerce sites. The software helps businesses collect and manage customer data, automate marketing tasks, and create personalized experiences for their customers.','https://www.salesmanago.pl/info/obowiazek-informacyjny.htm','https://www.salesmanago.com/','4787','PL','dpo@salesmanago.com',NULL);\nINSERT INTO companies VALUES('salesforce','Salesforce','SalesForce is an enterprise cloud computing company that distributes business software on a subscription basis. Its flagship product is a customer relationship management (CRM) tool that is hosted on Salesforce.com and operates on a Software-as-a-Service (SaaS) platform. SalesForce also operates Force.com, a system for running business apps, and Chatter, an enterprise collaboration application.','https://www.salesforce.com/eu/company/privacy/','https://www.salesforce.com/','143','US','https://www.salesforce.com/eu/form/contact/contact-privacy.jsp',NULL);\nINSERT INTO companies VALUES('salesfusion','SalesFUSION','\"SalesFUSION was officially launched in 2007 as an integrated marketing and CRM solution designed to automate the entire lead to sales process.  SalesFUSION...is a SaaS marketing automation software solution that is specifically designed to integrate marketing and sales by connecting your marketing process and technology with your installed CRM system.\"  SalesFusion is owned by First Reef, LLC.','https://www.salesfusion.com/privacy-policy/','https://salesfusion.com/','1961','US','sales@salesfusion.com',NULL);\nINSERT INTO companies VALUES('salesloft','Salesloft','Salesloft is a sales engagement platform. It helps selling teams drive more revenue as a Revenue Orchestration Platform.','https://www.salesloft.com/legal/platform-privacy-notice','https://www.salesloft.com/','','US','privacy@salesloft.com',NULL);\nINSERT INTO companies VALUES('salespider_media','SaleSpider Media','\"Sales Spider Inc includes family of social networks, an advertising network, a data management platform, and mobile application publisher.\"','http://salespidermedia.com/privacy-policy.php','http://salespidermedia.com/','2656',NULL,'info@salespider.com',NULL);\nINSERT INTO companies VALUES('salesviewer','SalesViewer','SalesViewer is a global provider for sales intelligence and website visitor identification headquartered in Bochum, Germany.','https://www.salesviewer.com/en/privacy-policy/','https://www.salesviewer.com/','4614','DE','info@salesviewer.com',NULL);\nINSERT INTO companies VALUES('samba_tv','Samba TV','Samba TV is a television technology company that offers real-time insights and audience analytics. It was founded in 2008 by early employees of BitTorrent, including Samba TV''s current chief executive officer, Ashwin Navin.[1] It develops software for televisions, set-top boxes, smart phones and tablets to enable interactive television through personalization.','https://www.samba.tv/users/privacy-center','https://samba.tv/','5388','US',NULL,NULL);\nINSERT INTO companies VALUES('samsung','Samsung','Samsung Group is a South Korean multinational manufacturing conglomerate headquartered in Samsung Digital City, Suwon, South Korea.','https://www.samsung.com/us/privacy/','https://www.samsung.com/','433','KR','privacy@adgear.com',NULL);\nINSERT INTO companies VALUES('samurai_factory','Samurai Factory','Samurai Factory is a Japanese software development firm. They offer a variety of tools and services including the web analytics tool Ninja, and chatting tool Manga Chat.','https://isplaw.samurai-factory.jp/privacy/cookie/','http://www.samurai-factory.jp/','1076','JP',NULL,NULL);\nINSERT INTO companies VALUES('sanoma','Sanoma','\"Sanoma is a strong European media group with activities in over 20 countries. Our diversified business portfolio consists of products and services for consumers and corporate customers. Our seven strategic business units – Sanoma News, Sanoma Media Belgium, Sanoma Media Finland, Sanoma Media Netherlands, Sanoma Media Russia & CEE, Sanoma Learning and Sanoma Trade – offer millions of people information, education, entertainment and experiences, every day, in their own languages, respecting local cultures.\"',NULL,'https://www.sanoma.com/','1425','US','communications@sanoma.com',NULL);\nINSERT INTO companies VALUES('sap','SAP','SAP is a German multinational software company based in Walldorf, Baden-Württemberg. It develops enterprise software to manage business operations and customer relations. The company is the world''s leading enterprise resource planning (ERP) software vendor. SAP is the largest non-American software company by revenue and the world''s third-largest publicly traded software company by revenue.','https://www.sap.com/corporate/en/legal/privacy.html','https://www.sap.com/index.html','4567','DE','webmaster@SAP.com',NULL);\nINSERT INTO companies VALUES('sape','Sape Sapient Solution',NULL,NULL,'https://www.sape.ru/en','5389',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sapo','Sapo','Sapo is a Portugese search engine and provider of Internet services including email, blogging, maps, advertising, and more. They are a subsidiary of Internet service provider the Portugal Telecom Group.','https://ajuda.sapo.pt/pt-pt/security/politica-de-privacidade','https://www.sapo.pt/','1085','PT',NULL,NULL);\nINSERT INTO companies VALUES('sas','SAS','\"SAS helps organizations anticipate and optimize business opportunities. We do this through advanced analytics that turn data about customers, performance, financials and more into meaningful information.\"','https://www.sas.com/en_us/legal/privacy.html','https://www.sas.com/en_us/home.html','479','US','privacy@sas.com',NULL);\nINSERT INTO companies VALUES('say.ac','Say.ac','\"We bring together the Webmaster World. We analyze your website visitors and submit reports. So you can better understand your target audience and you can make your work more accurate.\"Translated by Say.ac',NULL,'http://say.ac','3315',NULL,NULL,NULL);\nINSERT INTO companies VALUES('say_media','Say Media','Say Media is an advertising network for online social communities. The company offers display, video/interactive, mobile and conversation ad formats.  The ad delivery is supported by data to reach a precise and engaged audience for advertisers.','https://www.saymedia.com/website-privacy-policy','https://www.saymedia.com/','283','US','privacy@saymedia.com',NULL);\nINSERT INTO companies VALUES('sayyac','Sayyac','\"With Sayyac you get every advanced statistics feature required to picture the visitors of your website. Conveniently arranged, numbers, percentages, stats, totals and averages. All the way up from simple counting your visitors until tracking the keywords they use to find you.\"Translated by Sayyac','http://www.sayyac.com/en/terms_of_use/','http://www.sayyac.com/','3325',NULL,NULL,NULL);\nINSERT INTO companies VALUES('scaleflex_sas','Scaleflex SAS',NULL,'https://privacy.scaleflex.it/go/privacy/en/privacy-by-design/','https://www.scaleflex.it/','5390',NULL,NULL,NULL);\nINSERT INTO companies VALUES('schibsted_asa','Schibsted ASA','\"Schibsted Media Group is an international media group.\"','https://info.privacy.schibsted.com/en/privacy-and-cookie-policy-english-schibsted-sverige/','https://www.schibsted.com/','1381','NO','https://schibsted.com/about/our-privacy-office/',NULL);\nINSERT INTO companies VALUES('scientiamobile','ScientiaMobile','ScientiaMobile provides the industry’s most accurate and flexible device detection solution.','https://www.scientiamobile.com/privacy-policy/','https://www.scientiamobile.com/','5391','US',NULL,NULL);\nINSERT INTO companies VALUES('scout24','Scout 24','Scout24 supports users in important areas of their lives such as habitation, mobility and partnership and is at their side with help and advice in word and deed.','https://www.scout24.com/en/FooterNavi/Data-privacy-statement/data-privacy-statement.aspx','https://www.scout24.com/','2786','DE','info@scout24.com',NULL);\nINSERT INTO companies VALUES('scout_analytics','Scout Analytics','Scout Analytics'' managed service combines patent-pending behavioral analytics, data integration, and ongoing support from an expert revenue advisor to quickly uncover meaningful patterns of online engagement and reveal untapped sources of subscription, advertising, and transaction revenue.','http://www.scoutanalytics.com/privacy_statement.php','https://scoutanalytics.com/','952','US','compliance@scoutanalytics.com',NULL);\nINSERT INTO companies VALUES('scribol','Scribol','Scribol is a platform to connect bloggers together and exchange audiences. Publishers install Scribol’s free content widget that displays stories from similar publishers. Over time, the widget learns what the publishers’ audience likes to click on and provides that content.','https://scribol.com/privacy-policy','https://scribol.com/','1017','GB','info@scribol.com',NULL);\nINSERT INTO companies VALUES('scripps_networks','Scripps Networks','Scripps Networks is a developer of lifestyle content for television and the Internet. Their on-air programming is complemented by broadband video, social media and e-commerce components on companion web sites. Scripps Networks brands also include magazines, retail products, video games and live experiences. Scripps Network is a division of Scripps Network Interactive.','http://www.scrippsnetworksinteractive.com/privacy-policy/','http://www.scrippsnetworksinteractive.com/','814','US','privacy@scrippsnetworks.com',NULL);\nINSERT INTO companies VALUES('scroll','Scroll','Scroll’s mission is to enable frictionless access to a thriving free press.Mounting pressure for fewer ad dollars is forcing media companies to compromise their content experience for revenue. More interstitials, more pre-rolls, slower page loads.It doesn’t have to be this way. Scroll is a consumer service powering an ad-free web that rewards great user experience and funds essential journalism.','https://scroll.com/','https://scroll.com/','5196','US','info@scroll.com',NULL);\nINSERT INTO companies VALUES('search123','Search123','\"Search123 is a...UK Pay-Per-Click (PPC) search engine. It is an affordable complement to other leading PPC search engines, offering advertisers a cost-effective way to drive qualified traffic to their website, and publishers the ability to generate new revenue whilst providing their website visitors with valuable web search functionality.\"','http://www.search123.com/privacy/','http://www.search123.com/','2893',NULL,'privacy.uk@search123.com',NULL);\nINSERT INTO companies VALUES('searchforce','SearchForce','SearchForce is a pay-per-click campaign management and optimization platform. SearchForce gives companies an automated solution to optimize bidding across all major search engines with full synchronization. They also provide reporting tools.','https://www.searchforce.com/privacy-policy/','http://www.searchforce.com/','147','US','support@SearchForce.com',NULL);\nINSERT INTO companies VALUES('searchrev','SearchRev','SearchRev is a search marketing company. They are a wholly owned subsidiary of AKQA.','https://www.akqa.com/privacy-policy','https://www.akqa.com/','410','US','info@akqa.com',NULL);\nINSERT INTO companies VALUES('searchstax','SearchStax','SearchStax Inc., the developer of SearchStax Site Search, enables marketers and developers to deliver fast, relevant site search experiences.','https://www.searchstax.com/legal/privacy/','https://www.searchstax.com/','','US','compliance@searchstax.com',NULL);\nINSERT INTO companies VALUES('second_media','Second Media','\"We simplify digital marketing by helping brands engage and target consumers through high quality ad inventory, real-time reporting and professional campaign optimization.\"',NULL,'https://www.secondmedia.com/','3214',NULL,NULL,NULL);\nINSERT INTO companies VALUES('securedvisit','SecuredVisit','\"Using SecuredVisit technology, marketers can \"listen\" to consumers and see if their campaigns are generating interest. Furthermore, if the consumer choses, we can provide a mechanism for the marketer to continue to contact them with more relevant offers.\"','http://securedvisit.com/privacy-policy/','http://securedvisit.com/','2234',NULL,'customercare@SecuredVisit.com',NULL);\nINSERT INTO companies VALUES('securiti','Securiti','Developer of privacy management software. The company''s platform features a data subject request portal and workspace, data mapping automation, universal consent management, breach notifications, and unified controls for data security, privacy, governance, and compliance.','https://securiti.ai/my-privacy-center/','https://securiti.ai/','','US','privacy@securiti.ai',NULL);\nINSERT INTO companies VALUES('seedtag','Seedtag Advertising','Seedtag offers a suite of Contextual Advertising solutions based in Machine Learning and Artificial Intelligences to global brands.','https://www.seedtag.com/privacy/','https://www.seedtag.com/','5280','ES','gdpr@seedtag.com',NULL);\nINSERT INTO companies VALUES('seevolution','SeeVolution','SeeVolution is a web site analytics company that creates visual heat maps to present hot and cold spots designating where visitors come from, where they spend the most time, and why they may or may not navigate away from a website. Metrics are customizable by site-based or behavioral data. Trends are compiled through tracking visitor actions and then segmented by characteristics meaningful to the site owner.  These analytics enable websites to optimize visitor interaction for better conversions.',NULL,'http://seevolution.com/','423','US','legal@seevolution.com',NULL);\nINSERT INTO companies VALUES('segment','Segment','\"Segment.io is an analytics service for web applications.\"','https://segment.com/docs/legal/privacy/','https://segment.com/','1440','US','privacy@segment.com',unistr('Nov-2020: Twilio Completes Acquisition of Segment\\u000ahttps://www.twilio.com/en-us/press/releases/twilio-completes-acquisition-segment-market-leading-customer-data-platform'));\nINSERT INTO companies VALUES('segmento','Segmento','Russia''s first exchange targeting data.','https://segmento.ru/privacy/','https://segmento.ru/','2143','RU','info@segmento.ru',NULL);\nINSERT INTO companies VALUES('segmint','Segmint','\"Segmint will analyze and interpret private consumer spend data anonymously - through a secure technology-based proprietary process - enabling Financial Institutions and their marketing partners to exceed their clients'' goals, needs and interests.\"','https://segmint.com/Privacy-Policy','https://segmint.com/','2579',NULL,'info@segmint.com',NULL);\nINSERT INTO companies VALUES('sekindo','SekiNdo','\"SekiNdo''s ad and affiliate network was established with the understanding that online advertisers, publishers, affiliates and smartphone application owners lack simple solutions for transparent and efficient advertising which achieves maximal profit. SekiNdo provides advanced technological solutions for both affiliate and ad networks markets, which form the base of the SekiNdo network.\"','http://www.sekindo.com/help/privacy.php','http://www.sekindo.com/','2061',NULL,'contact@sekindo.com',NULL);\nINSERT INTO companies VALUES('sellpoints','Sellpoints','\"Delivering both market intelligence and increased sales to its clients, the sellpoints reporting and management platform, Omni, enables brands and retailers to see the impact of their product selling methodologies live.\"','http://www.sellpoints.com/legal/','http://www.sellpoints.com/','2718',NULL,'info@Sellpoints.com',NULL);\nINSERT INTO companies VALUES('semasio','Semasio','Semasio is a provider of targeting and insight solutions for programmatic advertising. Semasio’s product portfolio includes Audience Targeting, Contextual Targeting and Brand Fit Targeting. Using Natural Language Processing, Semasio analyzes content on websites to generate website profiles and user profiles.','https://www.semasio.com/legal/semasio-privacy-policy','https://semasio.com/','2088','DE','privacy@semasio.com',NULL);\nINSERT INTO companies VALUES('semilo','Semilo','\"Semilo is one of the largest online advertising networks in the Netherlands. With a monthly reach of six million Dutch people, our network has something to offer to every advertiser.\"','https://www.semilo.nl/privacy','https://www.semilo.nl/','1805',NULL,'privacy@semilo.com',NULL);\nINSERT INTO companies VALUES('sendinblue','sendinblue','SendinBlue was designed for you! Our beginnings as a digital agency have opened our eyes to the needs of young companies: marketing managers need simple, effective and accessible tools to support their growth. Why would marketing tools be reserved for large companies?This is how we created SendinBlue for SMEs. Features, customer service and rates have been designed to meet their needs. It''s our DNA!Whether you want to manage email campaigns, send SMS or save time with marketing automation, we can help you effectively, at a fair price and in your language.SendinBlue helps more than 50,000 companies around the world grow their businesses through digital marketing. Why not you ?','https://fr.sendinblue.com/legal/privacypolicy/','https://fr.sendinblue.com/','5173',NULL,'privacy@sendinblue.com',NULL);\nINSERT INTO companies VALUES('sendsay','Sendsay','Sendsay service is part of the group of companies SUBSCRIBE. Sendsay allows you to automate the process of collecting information about customers and establish feedback with them. This allows you to increase the level of loyalty and trust of your company. Distributed access to the customer base, which can be implemented from anywhere in the world, makes Sendsay an indispensable tool for modern business - mobile, smart, accurate.','https://sendsay.ru/about/rules.html','https://sendsay.ru','5211','RU','sale@sendsay.ru',NULL);\nINSERT INTO companies VALUES('sense_digital','Sense Digital','Sense Digital Media delivers innovative advertising experiences that transform the way brands interact with audiences through desktop and mobile environment.Our platform blends one of the largest digital media reach and data with user-centric ad formats intended to drive engagement and action. Creativity and audience insight form the foundation on which we build smarter and more relevant solutions for advertisers and publishers.','https://sensedigital.in/privacy-policy.html','https://sensedigital.in/','4656',NULL,'privacy@sensedigital.in',NULL);\nINSERT INTO companies VALUES('sensors_data','Sensors Data','Sensors Data, the full name of Sensors Network Technology (Beijing) Co., Ltd., is a professional digital customer management software provider in China and a national high-tech enterprise. It has a highly open product architecture and flexible integration capabilities. Digital customer management solutions, as well as complete data security and compliance systems, help companies realize digital customer management.','https://www.sensorsdata.cn/product/journey.html','https://www.sensorsdata.cn/','5254','CN','contact@sensorsdata.cn',NULL);\nINSERT INTO companies VALUES('sentifi','Sentifi AG',NULL,'https://sentifi.com/page/privacy/','https://sentifi.com/','5392',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sentry','Sentry','Sentry is a provider of application performance monitoring and error tracking software solutions. It offers tools for error monitoring, logs, session replay, tracing, uptime monitoring, and code review. It delivers solutions for web, mobile, gaming, AI observability, and e-commerce applications.','https://sentry.io/privacy/','https://sentry.io/welcome/','2820','US','compliance@sentry.io',NULL);\nINSERT INTO companies VALUES('sepyra','Sepyra','\"Sepyra helps you to evaluate the operability of your site and effectiveness of site promotion.\"',NULL,'http://sepyra.com/','2767',NULL,'support@sepyra.com',NULL);\nINSERT INTO companies VALUES('serviceplan','ServicePlan','Serviceplan Group''s Houses of Communication offer all kinds of communications disciplines under one roof, divided into four major agency brands; Serviceplan, Plan.Net, Mediaplus and Facit. Be it brand strategists, creative professionals, digital marketing wizards, media experts, classic designers, web design specialists, dialogue and CRM experts, market researchers, PR consultants, sales or content specialists – at Serviceplan everyone works together hand in hand. At 38 locations in all major markets we currently count more than 4,100 employees whose work regularly wins awards at national and international competitions in their respective fields. As well as Serviceplan itself, the additional corporate brands within the Group – the media agency Mediaplus, the digital agency Plan.Net, and the market research institute Facit – also rank among the market leaders in their respective competitive environments. The precise interplay between the various specialist agencies – more than 45 in all – in matters of creation, technology and media makes Serviceplan Group the leading agency group for innovative communication.','https://www.serviceplan.com/de/footer/privacy-policy.html','https://www.serviceplan.com/','5224',NULL,'info@serviceplan.com',NULL);\nINSERT INTO companies VALUES('sessioncam','SessionCam','\"SessionCam is an industry leader in Visible Web Analytics, Session Replay and Heatmap technology. Our many clients have been using SessionCam to gain previously unseen and unrivalled insights into their customers’ on-line behaviour.\"','https://www.sessioncam.com/privacy-policy-cookies/','https://www.sessioncam.com/','2365',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sessionly','Sessionly','All-in-One Feedback & CROHeatmaps, Conversion Funnels, Website Feedback, Polls, Surveys and much more!','https://www.sessionly.io/privacy-policy/','https://www.sessionly.io/','5214',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sexadnetwork','SexAdNetwork',NULL,NULL,'http://www.sexadnetwork.com/','1820','US',NULL,NULL);\nINSERT INTO companies VALUES('sexinyourcity','SexInYourCity','Sexinyourcity.com is a site for adult online dating. PeopleTraffic.com is the affiliate network program for sexinyourcity.com.','https://www.fucknow.com/members/info/privacy/?page=privacy&id=phppc_fnow&prg=1&tour=1&pg=1','http://www.sexinyourcity.com/','136','GB','support@sexinyourcity.com',NULL);\nINSERT INTO companies VALUES('sextracker','SexTracker','\"We believe in providing services and tools to adult webmasters in order to make their tasks easier, maximize profits, and expose their works as effortlessly as possible. On the other side of the coin, we are keenly watching the appetites of the adult website consumer to make sure that they receive the best deals for their money by fairly reporting to them all the details we can about the products they will be spending their money on.\"','http://www.sextracker.com/about/privacy.html','http://webmasters.sextracker.com/','1420','US',NULL,NULL);\nINSERT INTO companies VALUES('seznam','Seznam',NULL,NULL,'https://onas.seznam.cz/cz/','4620',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sfbx','SFBX','Our consent management platform (CMP), AppConsent®, enables you to optimize your consent rate and ensure a respectful, personalized user experience.','https://sfbx.io/en/politique-de-confidentialite/','https://sfbx.io/','','FR','dataprotection@SFBX.io',NULL);\nINSERT INTO companies VALUES('shareaholic','Shareaholic','\"Shareaholic...is the leader in making content discovery & sharing on the web a simple, delightful and elegant experience for readers while providing powerful tools to content publishers to measure, analyze and improve the effectiveness of their content to drive even more visibility, traffic, leads and views.\"','https://www.shareaholic.com/privacy/','https://www.shareaholic.com/','2278',NULL,NULL,NULL);\nINSERT INTO companies VALUES('shareasale','ShareASale','ShareASale is an Internet affiliate marketing network. Advertisers looking for help in promoting and advertising across the Web contract with ShareASale, which then places banner ads websites and emails of publishers in their network.','https://www.shareasale.com/PrivacyPolicy.pdf','https://www.shareasale.com/','892','US','shareasale@shareasale.com',NULL);\nINSERT INTO companies VALUES('sharecompany','ShareCompany','ShareCompany is a dynamic organization that develops and manages ICT solutions in the field of investment information, internal communication and time, leave and activity registration. Our mission is to help our customers improve their performance and results.','https://www.sharecompany.nl/privacy-verklaring/','http://sharecompany.nl','3633','NL',NULL,NULL);\nINSERT INTO companies VALUES('sharethis','ShareThis, Inc.','ShareThis provides content syndication services to publishers, allowing users to share content across the web through their widget.','https://www.sharethis.com/privacy/','https://sharethis.com/','149','US','privacy@sharethis.com',NULL);\nINSERT INTO companies VALUES('sharethrough','Sharethrough, Inc','Sharethrough is a social video advertising platform and provides viral media distribution solutions. Sharethrough gives content owners and advertisers, access to various consumers. They also distribute video ads across social websites, games, apps, and advertising exchanges,','https://platform-cdn.sharethrough.com/privacy-policy','http://sharethrough.com','718','US','privacy@sharethrough.com',NULL);\nINSERT INTO companies VALUES('sharpspring','SharpSpring','\"SharpSpring tracks customers even before you know their name. We connect the dots and give you where they’ve been. You can then build powerful automation rules to send them dynamic content or targeted emails based on their interests.SharpSpring is built to play nicely with the systems you want to keep. CRM, CMS, form builder – not a problem.\"','https://sharpspring.com/legal/privacy/','https://sharpspring.com/','4278',NULL,'support@sharpspring.com',NULL);\nINSERT INTO companies VALUES('sheerid','SheerID','\"SheerID helps companies protect their special offers by instantly verifying customer segments online.SheerID launched in 2011 to transform existing, protected, private data into an eligibility verification service for online commerce. The company saw explosive growth starting in the beginning of 2012, and currently provides a secure verification platform for companies like Spotify, Foot Locker, PGA TOUR, and Costco. SheerID''s clients use eligibility verification to offer exclusive promotional discounts to military personnel, college students, teachers, first responders, and other communities online or in a mobile environment.\"','https://www.sheerid.com/privacy-policy/','https://www.sheerid.com/','4208',NULL,'hello@sheerid.com',NULL);\nINSERT INTO companies VALUES('shinhan_financial_group','Shinhan Financial Group','Shinhan Financial Group stands as South Korea''s premier financial conglomerate, operating an extensive network of subsidiaries that span banking through Shinhan Bank, credit services via Shinhan Card, investment banking through Shinhan Investment, and insurance solutions through Shinhan Life Insurance.','https://www.shinhangroup.com/en/main/policy/privacy','https://www.shinhangroup.com/en/main','','KR','+82-2-6360-3236',NULL);\nINSERT INTO companies VALUES('shinsegae','Shinsegae','Shinsegae is a South Korean department store franchise, along with several other businesses.','https://member.ssg.com/comm/privacy/intgInfo.ssg','https://company.ssg.com/','','KR','ssg@ssg.com',NULL);\nINSERT INTO companies VALUES('shinystat','ShinyStat','ShinyStat is an analytics platform that measures Website traffic patterns for free on behalf of publishers. It is developed and distributed by Italian IT firm Shiny.','https://www.shinystat.com/en/privacy.html','https://www.shinystat.com/','151','IT','privacy@shinystat.com',NULL);\nINSERT INTO companies VALUES('shogun_labs','Shogun Labs','Shogun Labs is a technology company that provides e-commerce experience platforms, enabling brands to build, optimize, and manage online stores. Their core products, including a page builder and frontend platform (Frontend), integrate with Shopify and BigCommerce to improve site performance and conversion rates.','https://getshogun.com/policy/privacy','https://getshogun.com/','','US','privacy@getshogun.com',NULL);\nINSERT INTO companies VALUES('shopback','ShopBack','Conceived by partners who breathe conversion from the early days of the internet it in 1995, ShopBack had the beginning of its development in October 2013. Tired of \"sameness\" of the market, the idea was just to launch a totally unique and different platform than any the market was already doing.Basic premise: our customers invest millions in media a year to bring users to the site, however not one tenth of that investment is aimed at retention of those potential users who visit the site and leave without even a trace.Born officially in October 2014, the ShopBack entered the market as an exclusive multi-platform \"SaaS\" focused on retention, re-engagement and recapture the 98% of users who leave your site without converting. And just after nearly a year of development, we find that we develop a truly exceptional product, so exceptional that was so complex to implement than enough so call Bill Gates (or our dev team) that he could!Exactly, if you know any start-up that was born in the perfect present this unprecedented !!Realizing this failure, we decided to completely redo this one year of work in 5 months! Time workloads folded, sleepless nights, greasy pizzas in the early hours and there reborn again in February 2015, flying like Romario in 94!Extremely easy to deploy and activate up on the site of our grandparents it is possible to do in 5 minutes! We set up a team ready to help them in this and in any setup (if you need), layout and activation platform at no cost! We want to see you as happy as our other customers!Anyway, back to our story, the folded loads and sleepless nights continue already greasy pizzas least because we want to be here for you for a long time (replaced by sushi)! But best of all is that every day we think and launch products and solutions unique in the market in order to optimize and increase your conversion rate, because we want our customers sell more!There are so many new solutions that often do not our website can keep up our development team! We are the \"The Flash\" innovation !! So ask the news constantly, please !!Join now to our selection of more than 350 customers around the world! Our team is ready to prove to you that yes, we are unlike anything you''ve ever seen!','http://www.shopback.com.br/politica-de-privacidade.html','http://shoptarget.com.br/','4378',NULL,NULL,NULL);\nINSERT INTO companies VALUES('shopify','Shopify','Shopify is a hosted ecommerce solution that allows you to set up and run your own online store.','https://www.shopify.com/legal/privacy','https://www.shopify.com/','2179','CA','privacy@shopify.com',NULL);\nINSERT INTO companies VALUES('shopper_approved','Shopper Approved','Customer reviews build instant trust and credibility, but only if potential customers can see them. Shopper Approved has the largest syndication network online, which means that all your reviews show up in all the right places - giving you maximum visibility.','http://www.shopperapproved.com/privacy.php','http://www.shopperapproved.com','3981',NULL,'support@shopperapproved.com',NULL);\nINSERT INTO companies VALUES('shopping_flux','Shopping Flux','\"Shopping Flux is an online application specially designed for small and medium sized e-retailers.\"Translated by Google Translate',NULL,'https://www.shopping-flux.com/','2711',NULL,'contact@shopping-flux.com',NULL);\nINSERT INTO companies VALUES('shoprunner','ShopRunner','\"ShopRunner is the best way to shop online for the stuff you love.Our unique membership experience makes it easy for members to get everything from designer jeans to digital cameras. Members enjoy benefits like unlimited free 2-day shipping, free return shipping, member-only deals and much more.ShopRunner connects top retailers and brands to the best online shoppers. ShopRunner''s exclusive member benefits and highly targeted, data-driven marketing help retail partners acquire high value customers while increasing existing customers'' purchase frequency and spend.Led by CEO Scott Thompson, ShopRunner''s team of e-commerce experts are backed by Kynetic, Alibaba Group and American Express. ShopRunner has offices in San Mateo and Philadelphia.\"','https://www.shoprunner.com/terms/privacy/','https://www.shoprunner.com','2562',NULL,'info@shoprunner.com',NULL);\nINSERT INTO companies VALUES('shopsocially','ShopSocially','\"ShopSocially is a cloud-based platform that embeds rich & meaningful social experiences into the user''s buying workflow to improve discovery, engagement, converstion & brand amplification.\" ShopSocially is owned by Velocita, Inc.','http://shopsocially.com/platform/privacy-policy','http://shopsocially.com/','2654',NULL,'privacy@shopsocially.com',NULL);\nINSERT INTO companies VALUES('shopzilla','Shopzilla','Shopzilla, Inc. manages a premier portfolio of online shopping brands in the US and Europe, consisting of Bizrate, Beso, Shopzilla, TaDa, PrixMoinsCher, and SparDeinGeld. Shopzilla connects shoppers with over 100 million products from tens of thousands of retailers with its unique portfolio of engaging and informative websites. Shopzilla is a leading source of sales and consumer feedback for online merchants and retail advertisers. Shopzilla, Inc. is owned by Symphony Technology Group (STG).','http://about.bizrate.com/privacy-policy','https://www.shopzilla.com/','1212','US',NULL,NULL);\nINSERT INTO companies VALUES('showit','Showit','Showit Inc is a software company that provides a no-code, drag-and-drop website builder for creative entrepreneurs and professionals, particularly photographers. The company offers a platform that allows users to create unique, mobile-optimized websites and integrate them with a WordPress blog for content management and SEO.','https://showit.com/privacy/','https://showit.com/','','US','business@showit.com',NULL);\nINSERT INTO companies VALUES('shrink.in','Shrink.in','Shink.in is a completely free tool where you can create short links, which apart from being free, you get paid! So, now you can make money from home, when managing and protecting your links.','https://panel.shink.in/privacy','http://shink.in/','4495',NULL,NULL,NULL);\nINSERT INTO companies VALUES('shutterstock_inc','Shutterstock, Inc.','Shutterstock, Inc. is an American provider of stock photography, stock footage, stock music, and editing tools. It is headquartered in New York.','https://www.shutterstock.com/privacy','https://www.shutterstock.com/','5393','US',NULL,NULL);\nINSERT INTO companies VALUES('sidecar','Sidecar','\"Sidecar is the only solution that engages your customers through each phase of the purchase cycle – acquisition, conversion, and retention.  This complete, system driven approach is a breakthrough for online retailers, delivering outstanding performance at a lower total cost.\"','https://hello.getsidecar.com/privacy-policy/','http://hello.getsidecar.com/','2543',NULL,'phl@getsidecar.com',NULL);\nINSERT INTO companies VALUES('sien','SIEN','SIEN develops a range of products and virtual good services across mobile and desktop platforms.',NULL,'http://www.sien.com/','5394','FR',NULL,NULL);\nINSERT INTO companies VALUES('sift_science','Sift Science','Sift is an AI-powered digital trust and safety platform that helps businesses prevent online fraud and account takeover. It provides automated risk management, payment protection, and content integrity.','https://sift.com/legal-and-compliance/service-privacy-notice/','https://sift.com/','2686','US','privacy@sift.com',NULL);\nINSERT INTO companies VALUES('signal_digital','Signal Digital Inc.','BrightTag is a Data Rights Management Platform that allows website owners to connect with marketing, analytics and other data-driven services, while providing controls over the data that is collected and protected against unintended data access by third-parties.','https://www.signal.co/privacy-policy/','https://www.signal.co/','761','US','contact@signal.co',NULL);\nINSERT INTO companies VALUES('signifyd','Signifyd','Signifyd''s ecommerce fraud protection platform has three services for companies: revenue protection, abuse prevention & payment compliance.','https://www.signifyd.com/privacy/','https://www.signifyd.com/','4889','US','privacy@signifyd.com',NULL);\nINSERT INTO companies VALUES('silktide','Silktide','Silktide is a software company based in the UK.  We’ve been building web applications since 2001, and testing websites since 2006.We make Insites, Haystack and Sitebeam, which analyse the online presence of millions of businesses every year. Our clients include household names and over a thousand small business.We’re in the process of transitioning into the Insites name. Learn more about our company and team.','https://silktide.com/privacy-policy/','https://silktide.com/','5293',NULL,NULL,NULL);\nINSERT INTO companies VALUES('simple_analytics','Simple Analytics B.V.','Simple Analytics provides a privacy-first alternative to Google Analytics, emphasizing simplicity and user privacy with no cookies, trackers, or consent requirements. Built and hosted in the EU, it supports an internet experience that respects website visitors.','https://dashboard.simpleanalytics.com/privacy-policy','https://www.simpleanalytics.com/','','NL','privacyquestions@simpleanalytics.com',NULL);\nINSERT INTO companies VALUES('simpli.fi','Simplifi Holdings Inc.','Simpli.fi is a search focused demand-side platform that help search marketers take advantage of display RTB (real-time bidding). Their clients can target banners ads based on key words users have searched. Their data management technology allows for unique storage and targeting of individuals search terms for each user. Their specialized focus is search marketing.','https://www.simpli.fi/site-privacy-policy2/','https://www.simpli.fi/','550','US','privacy@simpli.fi',NULL);\nINSERT INTO companies VALUES('sina','Sina','\"We are an online media company serving China and the global Chinese communities. Our digital media network of SINA.com (portal), SINA.cn (mobile portal) and Weibo.com (social media), enable Internet users to access professional media and user generated content (“UGC”) in multi-media formats from the web and mobile devices and share their interests to friends and acquaintances.\"',NULL,'http://www.sina.com/','2607',NULL,NULL,NULL);\nINSERT INTO companies VALUES('singlefeed','SingleFeed','SingleFeed helps online retailers automatically deliver optimized data feeds to the supported shopping engines like Become, Google Product Search, Pricegrabber, and NexTag. They provide a technology that handles feed import and delivery, makes automated corrections via feed rules, spits back errors, suggests optimization opportunities, and also categorizes products for each of the shopping engines supported. SingleFeed is a product of e-commerce solution provider Vendio Services.','https://www.singlefeed.com/aboutus/privacy.php','https://www.singlefeed.com/','1191','US','info@singlefeed.com',NULL);\nINSERT INTO companies VALUES('singtel','Singtel','The Singtel Group is Asia''s leading communications group.We provide a diverse range of services including fixed, mobile, data, internet, TV, infocomms technology (ICT)  and digital solutions.','https://www.singtel.com/data-protection','https://www.singtel.com/','5298','SG','privacy@singtel.com.',NULL);\nINSERT INTO companies VALUES('singular_labs','Singular Labs','Singular Labs is a company that develops a marketing intelligence platform. It offers mobile attribution, marketing analytics, cost aggregation, advertisement monetization, data governance and integration, audience management solutions, etc. The company caters to e-commerce, finance, gaming, government, and other sectors.','https://www.singular.net/privacy-policy/','https://www.singular.net/','','US','privacy@singular.net',NULL);\nINSERT INTO companies VALUES('sirdata','Sirdata','Sirdata is a French-based start-up that develops innovative data technology solutions for Web publishers and advertisers. After three years of research and development, two technology entrepreneurs founded the company in 2012. Today, Sirdata has become the premiere third-party data collecting self-service platform in eight countries across the globe. With an entrepreneurial spirit at its core, Sirdata has built and harnessed the expertise of a multi-disciplinary team. This highly skilled team has become a close family, and each member is an essential element to the success and growth of Sirdata. Using advanced algorithm technology Sirdata has become a global leader in the growing market of third-party data collection technology. Providing targeted data that identifies the intentions, interests and behaviors of Web users, Sirdata enables their advertising partners and clients to create more strategic marketing and advertising campaigns.','https://www.sirdata.com/privacy/','https://www.sirdata.com/home/','4526',NULL,NULL,NULL);\nINSERT INTO companies VALUES('site_booster','Site Booster','Site Booster publishes your business details in all the places that matter online. With just a few easy steps your business can show up on a variety of search engines, review sites, mobile apps and more.','https://sitebooster.com/pages/privacypolicy','https://sitebooster.com/','5126',NULL,NULL,NULL);\nINSERT INTO companies VALUES('siteapps','SiteApps','\"SiteApps is an app store for web sites, where business owners can quickly find and implement new features and enhancements to their sites without any technical knowledge.\"','http://siteapps.com/web/privacy/terms','http://siteapps.com','2601',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sitebro','SiteBro','SiteBro provides a set of analytics tools and widgets to drive publishers'' website traffic. Their platform drives traffic through increased search engine referrals by providing insights on user behavior for companies to better organize site content for indexing by search engines.',NULL,'http://www.sitebro.net/','936','US',NULL,NULL);\nINSERT INTO companies VALUES('sitecore','Sitecore','Sitecore is an experience management software suite that combine content management, commerce, and customer insights. Sitecore products are used to empower marketers to deliver personalized content in real time and at scale across every channel in the consumer lifecycle.','https://www.sitecore.com/legal/privacy-policy','https://www.sitecore.com/','','DK','privacy@sitecore.com',NULL);\nINSERT INTO companies VALUES('siteheart','SiteHeart','\"SiteHeart allows you to make a deal directly in a chat: your website visitors are able both to get a consultation and also pay for goods or services immediately - you just bill you customer in online chat and he can pay it with any bank card.\"',NULL,'https://siteheart.com/','2402',NULL,NULL,NULL);\nINSERT INTO companies VALUES('siteimprove','Siteimprove','Siteimprove is a multinational Software-as-a-Service (SaaS) company that creates cloud-based tools and services for website governance and optimization. Siteimprove was founded in 2003 and is headquartered in Copenhagen, Denmark.','https://www.siteimprove.com/privacy/','https://www.siteimprove.com','1447','DK','info@siteimprove.com',NULL);\nINSERT INTO companies VALUES('sitemeter,_inc.','SiteMeter, Inc.','SiteMeter is an analytics company that provides statistical analysis of website traffic patterns on behalf of publishers.','http://www.sitemeter.com/?a=privacy','http://www.sitemeter.com','153','US','privacy@viantinc.com',NULL);\nINSERT INTO companies VALUES('sitetag','SiteTag','\"[SiteTag] is the tag detector & auto-generator for your website based on the keywords that users search from search engine.\"','http://www.sitetag.us/privacy','http://www.sitetag.us/','2751',NULL,'privacy@sitetag.us',NULL);\nINSERT INTO companies VALUES('sitewit','SiteWit','\"SiteWit provides all the tools necessary for website owners to optimize their content and marketing efforts through a deep understanding of visitor engagement in an automated fashion.\"','http://www.sitewit.com/privacy-policy/','http://www.sitewit.com/','2714',NULL,'support@sitewit.com',NULL);\nINSERT INTO companies VALUES('six_apart','Six Apart','Six Apart connects marketers and bloggers to a massive audience through its powerful social media platform that builds communities and activates brand advocates across the web.','http://www.sixapart.com/privacy/','http://www.sixapart.com','155','US',NULL,NULL);\nINSERT INTO companies VALUES('skimlinks','SkimLinks','SkimLinks is a London based affiliate marketing platform. Their tools and products provide Web site owners the ability to monetize their site through placement of affiliate links. The SkimLinks JavaScript code is placed on their site, which then scans the website''s content and converts product references to links to those products from marketers.','http://skimlinks.com/privacy-policy','http://www.skimlinks.com/','587','GB','privacy@skimlinks.com',NULL);\nINSERT INTO companies VALUES('skroutz','Skroutz','\"Compare prices to over 3010 online stores!','https://www.skroutz.gr/privacy','https://www.skroutz.gr/','5210',NULL,'support@skroutz.gr',NULL);\nINSERT INTO companies VALUES('skyglue_technology','SkyGlue Technology','\"SkyGlue’s patent pending technologies simplify access and visualization of advanced website usage data. With automatic tagging, clear and concise event tracking, and smart audience segmentation, SkyGlue helps companies learn and influence the behavior patterns of website visitors.\"','http://www.skyglue.com/privacy-security-policy/','https://www.skyglue.com/','2701',NULL,'info@skyglue.com',NULL);\nINSERT INTO companies VALUES('skysa','Skysa','\"Skysa is a Software as a Service company that provides a Free Plug n'' Play website tool bar or app bar that requires no software to install, and adds easily to any website or blog with just one line of code. The Skysa App Bar is a quick and easy way to enhance a website or blog with social and interactive apps.\"','http://www.skysa.com/page/privacy','http://www.skysa.com/','2681',NULL,NULL,NULL);\nINSERT INTO companies VALUES('slashdot','Slashdot','\"This is Slashdot, a website based on and running the Slashdot-Like Automated Story-Telling Homepage software.\"','https://slashdotmedia.com/privacy-statement/','http://slashdot.org','1436','US','legal@geek.net',NULL);\nINSERT INTO companies VALUES('sleeknote','Sleeknote','Sleeknote is a customer engagement tool for ecommerce businesses, used to engage visitors and turn them into customers','https://sleeknote.com/privacy-policy','https://sleeknote.com/','4518','DK','mail@sleeknote.com',NULL);\nINSERT INTO companies VALUES('sli_systems','SLI Systems','\"SLI Systems makes site search and merchandising easy. We install, customize, integrate, host and maintain everything you need to help your site visitors find the products and information they want.\"','http://www.sli-systems.com/legal','https://www.sli-systems.com/','2590',NULL,'discovery@sli-systems.com',NULL);\nINSERT INTO companies VALUES('slice_factory','Slice Factory','\"Slice Factory  aims at building a web platform that provides tools and APIs to extract, mix, share and publish web content, to create rich mashup web applications without boundaries. We will target all class of users: developers, webmasters, end users – providing each user with the most fitting tools. Slice Factory’s ambition is to enable a brand new web information consumption model combining a wide variety of sources (not just the websites providing API’s) and simplicity in assembling for all users.\"',NULL,'https://www.slicefactory.com/','1232','FR',NULL,NULL);\nINSERT INTO companies VALUES('slimcutmedia','SlimCutMedia','SlimCut Media is a technology-based company powering customized outstream video ad solutions for publishers. SlimCut’s technology deploys engaging video advertising across publishers’ sites on both desktop and mobile.SlimCut Media vision is to drive value and ROI for media companies around the world: our focus is our publishing clients. SlimCut’s clients are amongst the largest media companies in North America, including Vice, Rogers, Quebecor, The Daily Mail, The Globe and Mail and Toronto Star.',NULL,'http://www.slimcutmedia.com/','4866',NULL,NULL,NULL);\nINSERT INTO companies VALUES('smaato','Verve Group','Smaato operates a mobile advertising optimization platform called SOMA. Through an open API and a range of Software Developer Kits (SDKs), SOMA can be integrated with ad networks, ad inventory owners (publishers, developers and operators) and third party ad technology providers.','https://verve.com/product-privacy-policies/','https://verve.com','920','US','privacy@verve.com','Acquired by Verve Group 2021 https://www.crunchbase.com/organization/verve-group');\nINSERT INTO companies VALUES('smart4ads','Smart4ads','\"Smart4ads is an international SEO affiliate network that provides digital marketing solutions. We deliver online business for e-merchants through CPC, CPL and CPA campaigns. We build our success on superior service to both advertisers and publishers by developing sustainable relationships. We operate worldwide from our head office located in Madrid, Spain.\"','http://smart4ads.com/s4a/en/policy/','http://www.smart4ads.com','2045',NULL,'contact@smart4ads.com',NULL);\nINSERT INTO companies VALUES('smart_adserver','Smart Adserver','Smart AdServer develops and markets ad serving technologies for the management of online campaigns for media agencies and publishers. They provide publishers, ad networks, agencies and advertisers with an integrated display, video, rich-media and mobile ad serving solution. Smart AdServer is a subsidiary of the Axel Springer Group.','http://smartadserver.com/company/privacy-policy/','http://smartadserver.com/','631','FR',NULL,unistr('\"This follows the company’s acquisitions of DynAdmic and LiquidM, with the companies now consolidated under the Equativ brand.\" - Published: June 8, 2022\\u000a\\u000aSource: https://www.equativ.com/press/smart-adserver-rebrands-as-equativ'));\nINSERT INTO companies VALUES('smart_call','Smart Call','Smart Call is a callback widget with analytics from 5000t.Service, analyzes customer behavior, catches 88% more calls and requests from the site. Without advertising and any changes.',NULL,'https://smartcall.kz/','4982',NULL,NULL,NULL);\nINSERT INTO companies VALUES('smart_device_media','Smart Device Media','“Smart Device Media was started to create a gateway by which high quality content brands and targeted digital advertising could be effectively and profitably delivered into the ecosystem of the smart, connected devices that represent the future primary access points for consumers online.”',NULL,'http://www.smartdevicemedia.com/','1587',NULL,'info@smartdevicemedia.com',NULL);\nINSERT INTO companies VALUES('smart_leads','Smart Leads','\"Smart Leads, Inc. provides services for the placement of online advertising through advertising system technology... Real-Time Bidding...provides access to clients / advertisers...to a system for the implementation of the final display advertisements users.\"Translated by Google Translate',NULL,'http://www.cnt.my/','2948',NULL,NULL,NULL);\nINSERT INTO companies VALUES('smart_selling','Smart Selling','Why do we develop our software and software? To make life easier. Because we need them for our business. And then we offer them further because we know they work, serve and help to simplify life. And we enjoy it, because then clients are enthusiastic.','https://smartselling.cz/obchodni-podminky-2016-06-13/','https://smartselling.cz/','5160',NULL,NULL,NULL);\nINSERT INTO companies VALUES('smartad','smartAD','\"smartAD is the biggest internet ad network in the Baltic States.\"',NULL,'http://smartad.eu/','2222',NULL,'group@smartad.eu',NULL);\nINSERT INTO companies VALUES('smartbn','SmartBN','\"SmartBN allows owners of Internet-projects every day to earn extra income from the sale of advertising traffic to their sites, without making it any more effort.\"Translated by Google Translate',NULL,'http://smartbn.ru/','2217',NULL,NULL,NULL);\nINSERT INTO companies VALUES('smartclip','smartclip Holding AG','\"smartclip is the European Leader for Video Advertising, delivering video ads across a variety of platforms and devices with utmost media efficiency. The company works with publishers, media agencies and advertisers, enabling all parties benefit from the placement of online video ads.\"','http://privacy-portal.smartclip.net/','http://www.smartclip.com/','1371','US','info-uk@smartclip.com',NULL);\nINSERT INTO companies VALUES('smartcontext','SmartContext','\"Smart Context is a brand owned ARBOinteractive Poland. We sell advertising space. Our system works by emphasizing key words in the article. When the mouse invades the word balloon advertising is displayed.\"',NULL,'https://smartcontext.pl/','1518','US','info@smartcontext.pl',NULL);\nINSERT INTO companies VALUES('smarter_click','Smarter Click Technology','Smarter Click Technology Limited designs and develops software solutions. The Company offers software services which gives website marketers the power to increase leads and sales across any number of pages & websites generating more revenue from your current marketing channels.',NULL,'http://www.smarterclick.com','4941','GB',NULL,NULL);\nINSERT INTO companies VALUES('smarterhq','SmarterHQ','SmarterHQ technology turns complex data into actionable insights, and allows you to quickly and easily leverage those insights to create automated, personalized experiences for your customers.','https://smarterhq.com/','https://smarterhq.com/','2585',NULL,'learnmore@smarterremarketer.com',NULL);\nINSERT INTO companies VALUES('smartertrack','SmarterTrack','\"SmarterTrack is a powerful communications platform that acts as an online help desk for initiating, tracking, managing and reporting on a number of different communication channels. Whether it is a ticket submission via email or from the online portal, a live chat, a community post, comments made on a knowledge base article or more, SmarterTrack provides a centralized outlet for all communication channels and is an ideal solution for building your online community.\"SmarterTrack.com is a division of SmarterTools Inc.','https://www.smartertrack.com/privacy-policy.aspx','https://www.smartertrack.com/','3318',NULL,NULL,NULL);\nINSERT INTO companies VALUES('smartlook','Cisco','Cisco Systems, Inc., is an American multinational digital communications technology conglomerate corporation headquartered in San Jose, California. Cisco develops, manufactures, and sells networking hardware, software, telecommunications equipment and other high-technology services and products.','https://www.cisco.com/c/en/us/about/legal/privacy-full.html','https://www.cisco.com','4505','US','sales@smartlook.com','Smartlook acquired by Cisco 2023. https://www.cisco.com/c/en/us/about/corporate-strategy-office/acquisitions/smartlook.html');\nINSERT INTO companies VALUES('smartseer','SMARTSEER','SMARTSEER is an AI driven decisioning system designed to help you set your goals, to ask more pertinent questions and to make the right decisions. It profiles every product and service that you offer.  It monitors what works and for whom and why.  It profiles in real time every user to help make the ideal decision to achieve the business goals you are after.','https://smartseer.com/privacy','https://smartseer.com/','','DE','contact@smartseer.com',NULL);\nINSERT INTO companies VALUES('smartstream','SMARTSTREAM.TV GmbH',NULL,'https://www.smartstream.tv/en/privacy','https://www.smartstream.tv/en','5395',NULL,NULL,NULL);\nINSERT INTO companies VALUES('smartsuppp','Smartsuppp','Smartsupp is your personal online shopping assistant that drives online sales through conversations. We help turn webshop visitors into loyal customers.','https://www.smartsupp.com/privacy','https://www.smartsupp.com/','4250','CZ','info@smartsupp.com',NULL);\nINSERT INTO companies VALUES('smile_wanted','Smile Wanted Group','Smile Wanted offers programmatic advertising solutions focused on eco-friendly impact, brand safety, and audience engagement.','https://www.smilewanted.com/privacy/','https://www.smilewanted.com/','','FR','dataprotection@smilewanted.com',NULL);\nINSERT INTO companies VALUES('smooch','Smooch','Smooch is the best way to have personal, rich conversations with your customers online or in your mobile app. We handle thousands of communication for successful startups and leading companies around the world, every year. Our features, integrations and developer-friendly APIs let our users focus on delivering the best possible service.','https://smooch.io/privacy/','https://smooch.io/','4514',NULL,'help@smooch.io',NULL);\nINSERT INTO companies VALUES('smowtion','Smowtion','Smowtion is an Argentina based ad network. They focus on developing products and solutions for the online advertising industry. By combining behavioral, predictive, contextual targeting, inventory performance and other targeting techniques, they allow advertisers to reach their targeted audiences.','http://www.smowtion.com/en/users/privacy','http://www.smowtion.com/','878','AR','privacy@smowtion.com',NULL);\nINSERT INTO companies VALUES('smugmug','SmugMug','\"Show off your favorite photos and videos to the world, securely and privately show content to your friends and family, or blog the photos and videos you take with a cameraphone.\"','https://policies.yahoo.com/us/en/yahoo/privacy/index.htm','https://www.smugmug.com/','1472','US',NULL,NULL);\nINSERT INTO companies VALUES('smx_ventures','SMX Ventures','SMX is a display 2.0 network, with over Seven Years in Action.Positioned as a ''Boutique Ad Network'' SMX has carved a niche for itself in the industry and has emerged as the network of choice for leading brands looking for customised solutions for their digital needs.At SMX we work with top websites across genres, offering customised brand solutions.Plugged into multiple DSPs, SMX offers an unmatched access to the best performing inventory across the globe!','http://smxeventures.com/privacy.html','http://smxeventures.com/','4655',NULL,'contact@smxeventures.com',NULL);\nINSERT INTO companies VALUES('smyte','Smyte','We stop online abuse, avert scams, prevent harassment, and secure the accounts of your users.','https://www.smyte.com/hubfs/Smyte_March2018/Pdf/smyte-privacy-policy.pdf?t=1524260266337','https://www.smyte.com/','5178','US',NULL,NULL);\nINSERT INTO companies VALUES('snap_engage','Snap Engage','SnapEngage is a live, in-browser chat solution. Their product allows websites to quickly and proactively engage prospective customers.','https://snapengage.com/privacy-policy','https://snapengage.com','758','US','support@snapabug.com',NULL);\nINSERT INTO companies VALUES('snap_technologies','Snap','Snap Inc. is an American technology company. It developed and maintains technological products and services, namely Snapchat, Spectacles, and Bitmoji.','https://values.snap.com/privacy/privacy-policy','https://www.snap.com/','157','US','customerservice@snap.com',NULL);\nINSERT INTO companies VALUES('snigelweb_inc','SnigelWeb, Inc.',NULL,'http://www.snigelweb.com/privacy-policy/','http://www.snigelweb.com/','5396',NULL,NULL,NULL);\nINSERT INTO companies VALUES('snitcher','Snitcher','Snitcher is a B2B visitor identification platform that helps companies convert anonymous website traffic into leads by revealing which companies are visiting their site.','https://www.snitcher.com/privacy-policy','https://www.snitcher.com/','','NL','support@snitcher.com',NULL);\nINSERT INTO companies VALUES('snoobi','Snoobi','About usSnoobi is the developer of Snoobi Analytics, the analysis tool for understanding visitor behavior on your website and lead generation.Snooibi existed since 2002 and has won several awards during its history as the Red Herring Award and Deloitte Fast Movers .But more important than any award is Snoobi team and Snoobi Partners ensure that our customers have the right data to optimize the visit to the website, to improve their website, analyze visitor behavior for lead generation and simple newsletters and automated campaigns perform.If you are interested, want more information or a partnership with Snoobi, please indicate the contact form and we will contact you to discuss the possibilities. Or visit our Partner page for more information For more information on Snoobi Partners.',NULL,'http://www.snoobi.eu/','4643',NULL,'info@snoobi.nl',NULL);\nINSERT INTO companies VALUES('snoobi_oy','Snoobi Oy','Snoobi provides publishers with anonymized statistical analysis of website traffic.',NULL,'https://www.snoobi.fi/','158','FI','info@snoobi.com',NULL);\nINSERT INTO companies VALUES('snowplow','Snowplow Analytics','Snowplow’s Behavioral Data Platform (BDP) creates first-party customer data in real time, built on the open source standard for event tracking. A second-by-second record of user interactions allows any team to power next-gen digital analytics and customer engagement.','https://snowplow.io/privacy-policy','https://snowplow.io','4577','GB','privacy@snowplow.io',NULL);\nINSERT INTO companies VALUES('sociable_labs','Sociable Labs','\"Sociable Labs'' mission is to empower individual consumers to make informed choices during their shopping process based on the guidance of the people whose advice and opinions they value the most:their friends.\"',NULL,'https://www.sociablelabs.com/','2608',NULL,'info@sociablelabs.com',NULL);\nINSERT INTO companies VALUES('social_annex','Social Annex','\"Our mission at Social Annex is to help websites leverage social media to increase sales and conversions while learning more about their audience to increase brand awareness and build customer relationships.\"',NULL,'http://www.socialannex.com','2046',NULL,'info@socialannex.com',NULL);\nINSERT INTO companies VALUES('social_chorus','Social Chorus','Halogen Network is a digital media network that connects leading prestige brands with large affluent web audiences. Halogen''s key audience channels are: Luxury Traveler, Food & Wine Aficionado, Business Affluential, and Urban Fashionista. They work with a hand picked list of mid and long tail publishers to create engagement between brands and their audiences. Their campaigns extend across their publisher network, social media platforms and mobile applications.','http://www.socialchorus.com/privacy-policy/','http://www.socialchorus.com/','578','US','info@socialchorus.com',NULL);\nINSERT INTO companies VALUES('social_miner','Social Miner','Social Miner turns your site visits into a lead-based and creates unique and humanized stories with each consumer delivering high conversion rates.','http://socialminer.com/pt/politica-de-privacidade','http://socialminer.com/','4684',NULL,'falecom@socialminer.com',NULL);\nINSERT INTO companies VALUES('social_native','Social Native','Social Native operates as a marketplace for brands to connect with content creators. The platform helps brands source, optimize, and manage high-performing visual content to improve brand awareness and performance across social media.','https://www.socialnative.com/privacy/','https://www.socialnative.com/','','US','support@socialnative.com',NULL);\nINSERT INTO companies VALUES('socialbeat','SocialBeat','SocialBeat is the platform that simplifies the work of journalists','https://www.socialbeat.it/','https://www.socialbeat.it/','5130',NULL,'info@socialbeat.io',NULL);\nINSERT INTO companies VALUES('socialinterface','SocialInterface','\"SocialInterface provides companies with the tools to understand their customers, answer their needs, promote sales and increase customer retention. Their product suite allows customers to excite change and modify customer behavior via customer incentives across social media platforms. Their product suite includes SocialRMS, a social review and ratings solution; SocialGen, a social lead generation solution; and SocialPrice a group discount solution.\"',NULL,'http://socialinterface.com/','1206','US','info@socialinterface.com',NULL);\nINSERT INTO companies VALUES('socialsnowball','Social Snowball','Social Snowball is a US-based company that provides software solutions for businesses to manage and grow their affiliate, referral, and influencer marketing programs. The platform offers a range of features designed to simplify and streamline the process of managing partnerships, including tools for tracking referrals, automating payouts, and preventing coupon fraud.','https://socialsnowball.io/privacy','https://socialsnowball.io/','','US','support@socialsnowball.io',NULL);\nINSERT INTO companies VALUES('sociomantic_labs_gmbh','Sociomantic Labs GmbH','Sociomantic labs provide social targeting and related online display advertising technologies. Their cloud-based targeting service combines behavioral network analysis with data used in more traditional ad targeting methods to connect advertisers to the consumers who are most primed to convert.','https://www.sociomantic.com/privacy/en/','https://www.sociomantic.com','721','DE','privacy@sociomantic.com',NULL);\nINSERT INTO companies VALUES('sohu','Sohu','\"Sohu (NASDAQ: SOHU) is China''s premier online brand and is indispensable to the daily life of millions of Chinese, providing a network of web properties and community based/web 2.0 products which offer the vast Sohu user community a broad array of choices regarding information, entertainment and communication. Sohu has built one of the most comprehensive matrices of Chinese language web properties and proprietary search engines, consisting of the mass portal and leading online media destination www.sohu.com; interactive search engine www.sogou.com; developer and operator of online games www.changyou.com/en/ and leading online video website tv.sohu.com.\"','http://corp.sohu.com/s2007/privacy/','http://www.sohu.com','3624',NULL,'customer@sohu.com.cn',NULL);\nINSERT INTO companies VALUES('sojern','Sojern, Inc.','Sojern is a travel oriented ad network for both online and offline advertising. Sojern has partnerships directly with airlines that allow them to place advertisements on boarding passes and other non-traditional offline media.','https://www.sojern.com/privacy/product-privacy-policy/','https://www.sojern.com/','782','US',NULL,NULL);\nINSERT INTO companies VALUES('sokrati','Sokrati','\"We are a software and services company which has developed industry''s only end-to-end Digital Marketing Software that can synchronize ever-changing website content with Online Paid Search Campaigns in a real-time fashion.\"','https://sokrati.com/privacy-notice/','https://sokrati.com/','2194',NULL,'info@sokrati.com',NULL);\nINSERT INTO companies VALUES('solarwinds','SolarWinds','SolarWinds Corporation is an American company that develops software for businesses to help manage their networks, systems, and information technology infrastructure. It is headquartered in Austin, Texas, with sales and product development offices in a number of locations in the United States and several other countries. It has also acquired a number of other companies, some of which it still operates under their original names, including Pingdom, Papertrail and Loggly.','https://www.solarwinds.com/legal/privacy','https://www.solarwinds.com/','','US','privacy@SolarWinds.com',NULL);\nINSERT INTO companies VALUES('solidopinion','SolidOpinion','SolidOpinion is an engagement company. We track, power, drive, and reward engagement.','https://solidopinion.com/privacy/','https://solidopinion.com/','5252',NULL,'privacy@solidopinion.com',NULL);\nINSERT INTO companies VALUES('solve_media','Solve Media','\"Solve Media offers performance-based brand advertising, skippable Pre-Roll & BrandTags.com. Consumers get better user experience, publishers get increased captcha security, and a new revenue stream, and advertisers get the most memorable online advertising in the world.\"','http://solvemedia.com/privacy.html','http://solvemedia.com/','2600',NULL,'privacy@solvemedia.com',NULL);\nINSERT INTO companies VALUES('soma_2_gmbh','SOMA 2 GmbH','\"Marketer of digital communication and events.\"',NULL,'http://www.webcombi.de/','2878',NULL,NULL,NULL);\nINSERT INTO companies VALUES('somoaudience','SoMo Audience','Touchscreen advertising solutions.','https://somoaudience.com/legal/','https://somoaudience.com/','5397','US','aq@somoaudience.com',NULL);\nINSERT INTO companies VALUES('sonobi','Sonobi, Inc','\"We''re a digital display advertising company Sonobi Media. We bring web publishers and advertisers together via a single buying and selling solution tuned to enable publishers to maximize ad revenue and advertisers to buy quality impressions.\"','https://sonobi.com/privacy-policy/','https://sonobi.com/','1412','US',NULL,NULL);\nINSERT INTO companies VALUES('sophus3','Sophus3','Sophus3 is a provider of tools for website analysis and optimization services.','https://www.sophus3.com/services-privacy-policy/','https://www.sophus3.com/','1078','GB',NULL,NULL);\nINSERT INTO companies VALUES('sortable','Sortable','Sortable is an agnostic, low-cost, broad spectrum platform that helps publishers unify demand partners, data, and tools. We’ve developed a best-in-class UI that contextualizes this data, allowing publishers to more deeply understand the correlation between content, marketing, and monetization.','https://sortable.com/privacy-legal/','https://sortable.com/','5008',NULL,NULL,NULL);\nINSERT INTO companies VALUES('soundcloud','SoundCloud','\"SoundCloud is the world’s leading social sound platform where anyone can create sounds and share them everywhere. Recording and uploading sounds to SoundCloud lets people easily share them privately with their friends or publicly to blogs, sites and social networks.\"','https://soundcloud.com/pages/privacy','https://soundcloud.com/','1817','US','privacy@soundcloud.com',NULL);\nINSERT INTO companies VALUES('source_defense','Source Defense','Source Defense provides a fully automated, machine-learning-assisted set of policies that ensure 3rd party JavaScript integrations operating on your website maximize user experience and eliminate the threat of such integrations being leveraged for malicious website activity.','https://sourcedefense.com/privacy-policy/','https://sourcedefense.com','','IL','info@sourcedefense.com',NULL);\nINSERT INTO companies VALUES('sourceknowledge','SourceKnowledge','\"SourceKnowledge is a technology company that provides data and data analytics services to optimize online advertising campaigns, while delivering measurable outcomes. The company uses proprietary algorithms and machine learning software to traffic campaigns, with the resulting data made transparent and available to its customers through online analytics and path-to-purchase reporting.\"','http://www.sourceknowledge.com/privacy','http://www.sourceknowledge.com/','2743',NULL,NULL,NULL);\nINSERT INTO companies VALUES('sourcepoint','Sourcepoint','\"Sourcepoint is solving a complex set of existential challenges that underpin the current digital content industry.  We believe that our success in providing effective solutions will hinge on development of robust technology and a team of empowered employees that are passionate about solving these thorny and complex sets of problems.Company culture and the environment in which our employees work is paramount for Sourcepoint.  We are a global team that collaborates across four time zones. We put our clients first, and maintain an open, fun and collaborative environment as we shape the future of digital content compensation.\"','https://www.sourcepoint.com/privacy-policy','https://www.sourcepoint.com','5230',NULL,NULL,unistr('In July 8, 2025, Didomi acquired Sourcepoint.\\u000a\\u000aSource: https://www.didomi.io/blog/didomi-sourcepoint'));\nINSERT INTO companies VALUES('sovrn','Sovrn Holdings Inc','\"We spend a great deal of our lives online. Whether it''s for information, commerce, or entertainment, each of us have come to depend on what we discover, consume and share online. Publishers-those who create and curate content-are the cornerstones of what we all cherish about the internet. Yet these publishers practice their craft largely alone-without reference points or deep understandings about how they compare. sovrn shows publishers how their site is viewed and valued by advertisers. We offer insights and tools they need and deserve to understand their readers and to create content that works. this work is our mission. It''s the reason we exist: to foster an ecosystem where these independent and influential publishers can thrive.\"','https://www.sovrn.com/sovrn-privacy/','https://www.sovrn.com/','99','US','info@sovrn.com',NULL);\nINSERT INTO companies VALUES('spark_studios','Spark Studios','Spark Studios is an ad network that focuses on working with high-traffic web destinations based their comScore ranking.',NULL,'http://www.sparkstudios.com/','805','US',NULL,NULL);\nINSERT INTO companies VALUES('sparklit_networks','Sparklit Networks','\"At Sparklit, we believe in unique solutions for reliable, efficient, and innovative web apps...AdButler is a hosted ad management system that can help you manage your online advertising. Easily schedule and manage campaigns, deliver impressions, monitor performance reports, and handle your advertiser accounts.\"','https://www.sparklit.com/agreements.spark?agreement=privacy','https://www.sparklit.com/','1302','CA','info@sparklit.com',NULL);\nINSERT INTO companies VALUES('speakpipe','SpeakPipe','\"Set up a voicemail widget on your website or add the voicemail application to your Facebook page. This allows your customers and visitors to leave voice messages right from a browser.\"','https://www.speakpipe.com/privacy','https://www.speakpipe.com/','2637',NULL,'legal@speakpipe.com',NULL);\nINSERT INTO companies VALUES('specific_media','Specific Media','Specific Media is a data focused media platform that enables brands to connect with their consumers. It offers advertisers a variety of targeting technologies, premium network of publishers and audience insight to increase consumer engagement and drive campaign performance.','http://www.specificmedia.com/privacy-policy/','http://www.specificmedia.com/','159','US','privacy@interactivemediaholdings.com',NULL);\nINSERT INTO companies VALUES('spectate','Spectate','Spectate is a content-driven web marketing tool that allows businesses to better understand the correlation between their marketing actions and results. It centralizes their marketing data and provides them with \"action items\", thus empowering them to increase your web traffic and generate more leads.','https://www.hannonhill.com/legal/privacy.html','http://spectate.com/','1066','US',NULL,NULL);\nINSERT INTO companies VALUES('speed_shift_media','Speed Shift Media','\"We offer dynamic display advertising solutions for publishers, agencies, and businesses. Our cloud-based platform combines advertiser data, such as product inventory, special offers, or ad messaging, with behavioral targeting, retargeting, and self-optimization technologies that ensure the right message always reaches the right user.\"','https://www.speedshiftmedia.com/privacy','https://www.speedshiftmedia.com/','2153',NULL,'privacy@speedshiftmedia.com',NULL);\nINSERT INTO companies VALUES('speee','Speee','In 2007, Speee started from the mobile SEO business, andthenhas created various businesses on both axes of BtoB / BtoC such as AdTech · Media · smartphone applications.And now, the success and failure that we have experienced since our foundation has become our knowledge, and we areentering the timing of further challenge.','https://speee.jp/support/privacy.html','http://speee.jp','4962',NULL,NULL,NULL);\nINSERT INTO companies VALUES('spheremall','SphereMall','We deliver strategy, software, applications, and support which results in the most convenient, effective and personalized shopping experience for your customers. Our services comprehend our expertise from strategy to operation, our full technological platform, tools, dashboarding, reports and continuous optimization of performance and business objectives. Our approach is standardized while our result is highly customized to your situation. All our initiatives and activities are based on joint set smart business objectives we periodically evaluate focused with the end goal in mind. We think BIG, start small, SCALE FAST.','https://spheremall.com/en/leading/contact/','https://spheremall.com','5205',NULL,NULL,NULL);\nINSERT INTO companies VALUES('spicy_ssp','Spicy SSP','Spicy allows you to maximize the profit from the sale of ad slots on sites.Effective management of advertising campaigns is carried out in Spicy quickly and simply, allowing you to fine-tune the display of advertising without having deep industry knowledge.(Google Translate)',NULL,'http://sspicy.ru/#main','4987',NULL,'info@sspicy.ru',NULL);\nINSERT INTO companies VALUES('spider.ad','Spider.Ad','\"The Spider.Ad offers solutions for digital media online for owners of websites and blogs across different advertising formats. Our tool generates revenue for websites and blogs through the placement of ads on your content.\"Translated by Google Translate','http://spider.ad/site/privacy','http://spider.ad/','2605',NULL,'hello@spider.ad',NULL);\nINSERT INTO companies VALUES('spiderads','SpiderAds',NULL,NULL,'https://www.spiderads.eu/','4450',NULL,NULL,NULL);\nINSERT INTO companies VALUES('spinnakr','Spinnakr','\"We make displaying targeted messaging on your website a reality for regular people – from startups and power bloggers to international brands. We''re building an app that''s simple and fun to use, but powerful enough to transform how business is done online.\"','http://spinnakr.com/privacy','http://spinnakr.com/','2934',NULL,'contact@spinnakr.com',NULL);\nINSERT INTO companies VALUES('spokenlayer','SpokenLayer','\"We let readers experience stories in a format perfectly designed for mobile consumption: audio. The SpokenLayer platform was built from the ground up with a specific mission: to give publishers of all sizes a fully integrated audio solution at speeds never before imaginable.\"','https://www.spokenlayer.com/privacy','http://www.spokenlayer.com','3291',NULL,'help@spokenlayer.com',NULL);\nINSERT INTO companies VALUES('spongecell','Spongecell','Spongecell is an advertising technology company, specializing in online banner ads with rich-media-like functionality.  The company works with creative and media agencies to deliver interactive display ads that combine different dynamic elements.','http://www.spongecell.com/privacy-policy','http://www.spongecell.com/','552','US','privacy@spongecell.com',NULL);\nINSERT INTO companies VALUES('sponsorads.de','Sponsorads.de','SponsorAds is a German ad network.',NULL,'https://sponsorads.de/de/','886','DE','support@sponsorads.de',NULL);\nINSERT INTO companies VALUES('sportsbet_affiliates','Sportsbet Affiliates','\"Sportsbet Affiliates allows you to make money by referring players to Sportsbet. This can be done by placing various links, banners and other online material on your website. For every player that signs up as a result of your marketing activities you will receive a share of the profit generated by the player for the life of the agreement with you.\"',NULL,'https://www.sportsbetaffiliates.com.au/','2976',NULL,'affiliates@sportsbet.com.au',NULL);\nINSERT INTO companies VALUES('spot.im','Spot.IM Ltd.','\"Spot.IM is on a mission to empower communities. We enable media companies to take back ownership of their audience and conversations and let go of their reliance on external social networks.\"','http://spot.im/privacy','https://www.spot.im/','3625',NULL,'privacy@spot.im',NULL);\nINSERT INTO companies VALUES('spoteffect','Spoteffect','The webeffects GmbH is located in the heart of Munich. It develops and markets the software as a service solution spoteffects. The solution allows media planners to optimize theirTV campaigns for online shops and websites based on immediately generated visits and conversions per ad. This replaces the current method of TV planners to just use reached audience when planning TV campaigns. By merging TV airing data with web tracking data through a sophisticated algorithm, spoteffects bridges the media gap between TV and web.','http://www.spoteffects.com/footer/imprint/#c920','https://www.spoteffects.com/home/','4718',NULL,NULL,NULL);\nINSERT INTO companies VALUES('spotify','Spotify','\"Spotify is a Swedish music streaming service offering digitally restricted streaming of selected music from a range of major and independent record label.\"','https://www.spotify.com/us/legal/privacy-policy/','https://www.spotify.com','1816','SE','privacy@spotify.com',NULL);\nINSERT INTO companies VALUES('spotler_group','Spotler Group','Spotler Group is a customer experience technology company operating a number of tools/brands that enable marketers to create personalized consumer experiences.','https://spotlergroup.com/cookies','https://spotlergroup.com/','','NL','contact@spotlergroup.com',NULL);\nINSERT INTO companies VALUES('spoutable','Spoutable','\"Publishers Can EarnMore Revenue. Simply.Spoutable’s unique approach and units enable publishers to make more money while greatly reducing the time it takes for them to manage their monetization.PER ZONE OPTIMIZATIONPublishers choose zones of their website (top, bottom, overlay or in-page) they would like to monetize and we blend our unique units to drive the best possible monetization for each.MIXED MEDIAWe apply Machine Learning intelligence to mix different media types to drive the best performing units for each zone and site.POWERED BY A SINGLE TAGSpoutable’s zone monetization all happens through a single tag, making placing, management and tracking of your revenue easier and less time consuming.\"','http://demo.spoutable.com/privacy','http://spoutable.com/','4286',NULL,'info@spoutable.com',NULL);\nINSERT INTO companies VALUES('sprig','Sprig','Sprig enhances your product with in-product user insights. Surveys capture real-time user feedback, Replays identify bottlenecks, and AI Analysis turns data into actionable opportunities.','https://sprig.com/privacy-policy','https://sprig.com/','','US','security@sprig.com',NULL);\nINSERT INTO companies VALUES('springboard','SpringBoard','\"SpringBoard Video allows publishers to leverage the technology resources of Evolve Media Corp. in order to bring video content to their audiences. As a dynamic proprietary video player and video management technology, SpringBoard Video offers publishers a risk-free solution to deliver their video content to audiences both within their website and beyond.\"','http://home.springboardplatform.com/about/privacy-policy/','http://home.springboardplatform.com/','3598',NULL,NULL,NULL);\nINSERT INTO companies VALUES('springserve','SpringServe, LLC','\"SpringServe was founded to provide a suite of ad serving tools that make digital advertising more efficient. We have designed our products to operate as openly as possible, and to work within the digital advertising ecosystem in a friction-free manner. Customization is at the heart of effective ad serving, and our tools are engineered to adapt to your business environment. With real-time reporting, white box optimization, a blazing-fast user interface, SpringServe is truly ad serving as it was meant to be.\"','https://springserve.com/privacy-policy/','https://springserve.com/','2581',NULL,'info@springserve.com',NULL);\nINSERT INTO companies VALUES('sprinklr','Sprinklr','Sprinklr is an American software company that provides a Unified-CXM (Customer Experience Management) platform for enterprises. It helps businesses streamline customer-facing teams, manage digital channels, and leverage AI to improve customer experiences. Sprinklr''s platform is designed to unify marketing, sales, and service efforts across various digital channels.','https://www.sprinklr.com/privacy/','https://www.sprinklr.com/','4826','US','privacy@sprinklr.com',NULL);\nINSERT INTO companies VALUES('sputnik','Sputnik','\"Sputnik\" help make the Internet safer and healthier, solve everyday problems, making easier access to official information and public services and services on the web.On the Internet, more and more information and useful services from various organizations and the state, which can improve the quality of human life. But they are hard to find, especially for inexperienced users.',NULL,'https://cnt.sputnik.ru/','4932',NULL,NULL,NULL);\nINSERT INTO companies VALUES('squadata','Squadata','\"De part son équipe d’ingénieurs,  Squadata possède une des expériences, en Technologies du Marketing Digital, les plus impressionnantes en France et en Europe.En effet, Ludovic MUGNIER a crée son premier AdServer dès 1998 comme responsable technique d’un des premiers AdNetwork (Comclick, repris depuis par la société Hi-Média avec l’offre Hi-média performance).Dès 2008, ce qui deviendra le Bigdata était déjà une préoccupation forte de Squadata puisque c’est cette année où Squadata a lancé son premier programme de recherche et développement en la matière avec l’aide de l’OSEO et FEDER.C’est pour ces raisons et bien d’autres que Squadata peut vous accompagner sur un grand nombre de problématiques sur le secteur du Marketing Digital.\"','https://www.squadata.net/private-policy/','https://www.squadata.net/','3488',NULL,NULL,NULL);\nINSERT INTO companies VALUES('squares','Squares','\"Squares is a web based platform service company developing fault click mitigation and website builder.\"','https://smlog.co.kr/2020/policy_global_agree.html','https://team.qshop.ai/','','KR','sqs@squares.ai',NULL);\nINSERT INTO companies VALUES('squarespace','Squarespace','Squarespace is an all-in-one platform that provides website building, e-commerce, domain registration, hosting, and marketing tools for individuals and businesses. Its core mission is to empower entrepreneurs to build their online brand presence with a design-focused and user-friendly platform.','https://www.squarespace.com/privacy/','https://www.squarespace.com/','','US','privacy@squarespace.com',NULL);\nINSERT INTO companies VALUES('stackadapt','StackAdapt','StackAdapt is a multi-channel programmatic advertising platform, offering native, display, video, CTV and audio ad buying.','https://www.stackadapt.com/privacy','https://www.stackadapt.com/','3952','CA','support@stackadapt.com',NULL);\nINSERT INTO companies VALUES('startpage','StartPage',NULL,NULL,'https://www.startpage.com/','5398',NULL,NULL,NULL);\nINSERT INTO companies VALUES('stat24','stat24','\"Stat24 statistics are an entirely professional tool, which provides reliable data concerning popularity and usefulness of the website.\"','http://www.stat24.com/About_Us__Privacy_Policy,6662/index.html','http://www.stat24.com/en/','1519','PL','kontakt@stat24.com',NULL);\nINSERT INTO companies VALUES('stat4u','stat4u','stat4u is a web analytics platform that provides website owners insights into their audiences.','http://stat.4u.pl/polityka.html','http://www.stat.4u.pl/index.html','380','PL','stat@4u.pl',NULL);\nINSERT INTO companies VALUES('statcounter','StatCounter','Statcounter is web tracking and hit counter software.','http://statcounter.com/about/legal/#privacy','https://statcounter.com/','162','IE',NULL,NULL);\nINSERT INTO companies VALUES('stathat','StatHat','\"Invent stats on the fly. Track data in your apps instantly with StatHat.\"','http://www.stathat.com/docs/privacy','http://www.stathat.com/','2395',NULL,'info@stathat.com',NULL);\nINSERT INTO companies VALUES('statisfy','Statisfy','Statisfy is a web analytics firm.','http://www.statisfy.co/tos/','http://www.statisfy.co/','144','US',NULL,NULL);\nINSERT INTO companies VALUES('statuscake','StatusCake','\"Free Unlimited Website Monitoring: Make sure you’re the first to know about your website’s downtime. With monitoring up to every 30 seconds & alerts by email, X (Twitter) & to your phone there’s no need to feel down!\"','https://www.statuscake.com/privacy-policy/','https://www.statuscake.com/','2939',NULL,'support@statuscake.com',NULL);\nINSERT INTO companies VALUES('steelhouse','Steel House, Inc.','SteelHouse is an online advertising platform. They help their clients convert buyers by providing insight into their current customers. SteelHouse''s retargeting technology delivers customized creative on an individual basis so their clients can show their customers the appropriate products, messages, offers and promotions when they visit other major sites across the web.','https://steelhouse.com/privacy-policy/','https://steelhouse.com/','751','US','contact@steelhouse.com',NULL);\nINSERT INTO companies VALUES('stetic','Stetic','\"Realtime Web Statistics with traffic analysis and counters for your websiteSee in real time what is happening on your website or blog.\"','https://www.stetic.com/de/privacy/','https://www.stetic.com/','2406',NULL,'hello@stetic.com',NULL);\nINSERT INTO companies VALUES('sticky','Sticky','\"Our...technology provides brand advertisers with objective data to improve their digital performance, and can be used in conjunction with all partners in the digital eco system to increase ROI.\"','http://sticky.ad/privacy-policy.html','http://sticky.ad','2970',NULL,'panelistquestion@sticky.ad',NULL);\nINSERT INTO companies VALUES('stocktwits','StockTwits','\"StockTwits® is a financial communications platform for the financial and investing community.\"','https://stocktwits.com/privacy','http://stocktwits.com','2698',NULL,'privacy@stocktwits.com',NULL);\nINSERT INTO companies VALUES('storyblok','Storyblok','Storyblok is an API-based headless CMS founded in 2017 that allows developers and marketers to manage content across various channels. It is known for its component-driven architecture, visual editor, and a component-based approach that enables both developer flexibility and ease of use for content editors.','https://www.storyblok.com/legal/privacy-policy','https://www.storyblok.com','','AT','dpo@storyblok.com',NULL);\nINSERT INTO companies VALUES('strands','Strands','\"Our award-winning technology is delivered through a scalable and highly customizable application that gives financial institutions the ability to gain new customer insights, further engage customers, acquire new customers, and improve cross-selling.\"','https://finance.strands.com/privacy-policy/','http://strands.com','1548','US','info@strands.com',NULL);\nINSERT INTO companies VALUES('strapi','Strapi','Strapi is an open source Node.js Headless content management system (CMS). It enables content-rich experiences to be created, managed and exposed to any digital device.','https://strapi.io/privacy','https://strapi.io','','US','privacy@strapi.io',NULL);\nINSERT INTO companies VALUES('strava','Strava','Strava is an American internet service for tracking physical exercise which incorporates social network features.','https://www.strava.com/privacy','https://www.strava.com/','4449','US','support@strava.com',NULL);\nINSERT INTO companies VALUES('streak','Streak','\"Streak was born out of the frustration of constantly having to switch between our inbox (where we do our work) and separate systems. Our goal is to take the work out of managing the processes you do everyday.\"','https://www.streak.com/privacy','https://www.streak.com/','3187',NULL,'support@streak.com',NULL);\nINSERT INTO companies VALUES('stride_software','Stride Software, Inc.','Customer Data Platform','https://www.getstride.com/security','https://www.getstride.com/','5399','US',NULL,NULL);\nINSERT INTO companies VALUES('stripe','Stripe','Stripe processes payments for online businesses. The company primarily offers payment-processing software and application programming interfaces for e-commerce websites and mobile applications.','https://stripe.com/privacy','https://stripe.com/','','US','dpo@stripe.com',NULL);\nINSERT INTO companies VALUES('stroer','Ströer SSP GmbH','Ströer is a leading German provider of out-of-home media and offers advertising customers individualized and fully integrated, end-to-end solutions along the entire marketing and sales value chain. With its “OOH plus” strategy, Ströer is focusing on the strengths of the OOH business, underpinned by the Content and Direct Media segments.','https://www.stroeer.de/fileadmin/user_upload/Datenschutz.pdf','https://www.stroeer.de/','342','DE','kontakt@stroeer.de',NULL);\nINSERT INTO companies VALUES('strossle','Strossle','Strossle provides a variety of online advertising-related services that help our clients to monetize their advertising spaces, buy and sell online ads through programmatic advertising.','https://strossle.com/privacy-policy/','https://strossle.com/','3139','NL','info@strossle.com',NULL);\nINSERT INTO companies VALUES('stumbleupon','StumbleUpon','StumbleUpon is a tool to help users discover and share websites. They offer a toolbar that delivers high-quality pages matched to users'' personal preferences. These pages have been explicitly recommended by your friends or other websurfers with interests similar.','http://www.stumbleupon.com/privacy/','http://www.stumbleupon.com/','1067','US',NULL,NULL);\nINSERT INTO companies VALUES('sub2','Sub2','\"Since 2011 Sub2 has been supporting the way brands reach and talk to consumers in order to build meaningful relationships. Our proprietary tools and systems help our clients to deliver appropriate digital communications to their customers, whilst ensuring we maintain the highest privacy standards. On average it takes under 100 milliseconds to generate a match between an interested consumer and a brand which provides the products or services which are relevant to their immediate needs.\"','https://www.sub2tech.com/privacy-policy/','https://www.sub2tech.com/','3181',NULL,'dpo@sub2tech.com',NULL);\nINSERT INTO companies VALUES('sublime_skinz','Sublime Skinz','Sublime creates and delivers tailor-made solutions that perform at scale for our premium brands and publishers. Since our launch in 2012, our impactful, user-friendly and scalable formats have changed the digital advertising industry. Today we invent new market standards and execute premium creative content on behalf of the brands we work with.Sublime Skinz provides actionable statistics and transparent insights in real time, allowing brands to capitalise on the most impactful format.','http://ayads.co/privacy.php','https://sublimeskinz.com/home','4925',NULL,NULL,NULL);\nINSERT INTO companies VALUES('suggest.io','Suggest.io','\"Suggestio provides developers with powerful and easy to use tools for creati[on] of rich suggest[ions] for website search, or any other input field.\"','https://suggest.io/privacy','https://suggest.io/','2852',NULL,'support@suggest.io',NULL);\nINSERT INTO companies VALUES('sumome','SumoMe','\"We''ve spent over 4 years building these tools internally to grow our AppSumo Newsletter. They helped us grow to over a million subscribers.We''ve noticed many struggle to do the same or don''t collect emails at all because the tools aren''t available or are too expensive. So we thought why not make them available so you can do the same?That''s our goal, plain and simple, to help you grow your website traffic.\"','https://help.sumo.com/hc/en-us/articles/218958727-Privacy-Policy','https://sumo.com/','3560',NULL,NULL,unistr('Showit acquires Sumo Dec 2023\\u000aRef: https://news.showit.com/38914-showit-acquires-the-popular-wordpress-shopify-lead-generation-tool-sumo'));\nINSERT INTO companies VALUES('sundaysky','SundaySky','\"SmartVideo delivers a compelling, personalized, real-time video experience designed to reach people with what they need to know in the most engaging, entertaining and informative way possible....Our platform generates hundreds of thousands of SmartVideos daily that attract traffic, retarget prospects, convert prospects to customers, support customers and enhance customer relationships.\"','https://sundaysky.com/privacy-policy/','https://www.sundaysky.com/','1896',NULL,'info@sundaysky.com',NULL);\nINSERT INTO companies VALUES('supercounters','SuperCounters','\"Supercounters.com provides free counter service for webmasters and bloggers.\"','http://www.supercounters.com/privacy','http://www.supercounters.com/','2094',NULL,'g4seven@Yahoo.com',NULL);\nINSERT INTO companies VALUES('supership','Supership','The Supership Group, featuring accurate data and reliable technologies as our core competence, is an amalgamation of a variety of startup companies that maximizes the value of data possessed by customer companies as a data enabler.','https://supership.jp/privacy/','https://supership.jp/','4168','JP',NULL,NULL);\nINSERT INTO companies VALUES('supplyframe','SupplyFrame','Since its establishment in 2003 with an electronic component quoting system, SupplyFrame has grown to become the world''s most comprehensive and influential marketing channel for the global electronics industry. The company has evolved to offer three market-dominating online marketing and sales channels: SupplyFrame Media Network, SuppyFrame Sourcing and SupplyFrame China. Through these channels, we provide measurable media products that deliver unrivaled results. We also offer inventory location products that expedite purchasing decisions and help electronics suppliers grow online sales.We know how to reach electronics professionals better than anyone, and we''re excited to continue to make an impact in the electronics community. We''re busy pursuing new, breakthrough solutions that help manufacturers, purchasing professionals, and engineers work (and work together) more efficiently. Explore SupplyFrame''s company pages to learn more about us.','https://supplyframe.com/company/privacy','https://supplyframe.com/','4002',NULL,'legal@supplyframe.com',NULL);\nINSERT INTO companies VALUES('surfingbird','Surfingbird','\"...Surfingbird is a web-page recommendation system. Internet surfing with us is easy and convenient. Our goal is to find interesting content for you personally.\"','http://surfingbird.ru/confidentialpolitic','http://surfingbird.ru/','2522',NULL,'support@surfingbird.ru',NULL);\nINSERT INTO companies VALUES('survata','Survata','Survata is the simplest way to conduct high quality survey research. We serve clients ranging from Fortune 100 companies to small businesses, and everyone in between. We’re a small team in San Francisco, but we serve clients across the globe. We promise fast, accurate, and affordable surveys — just hear what our clients say.','https://www.survata.com/respondent-privacy-policy/','https://www.survata.com/','4902',NULL,NULL,NULL);\nINSERT INTO companies VALUES('surveymonkey','SurveyMonkey','SurveyMonkey Inc. is an experience management company that offers cloud-based software in brand insights, market insights, product experience, employee experience, customer experience, online survey development, and a suite of paid back-end programs.','https://www.surveymonkey.com/mp/legal/privacy/','https://www.surveymonkey.com','','US','dpo@surveymonkey.com',unistr('In March 2019, SurveyMonkey acquired the Amsterdam-based Usabilla for approximately $80 million.\\u000aSource: https://www.globenewswire.com/news-release/2019/03/05/1748119/0/en/SurveyMonkey-to-Acquire-Usabilla-to-Expand-Enterprise-Suite-of-Customer-Feedback-Solutions.html'));\nINSERT INTO companies VALUES('sweet_tooth_rewards','Sweet Tooth Rewards','Sweet Tooth Inc was founded in 2012. Sweet Tooth became the top loyalty app for the Magento platform with over 3,000 live loyalty programs to date. Based on this success, Sweet Tooth was able to raise $2.25 million in venture capital to expand the loyalty app to other ecommerce platforms.Integrations with Shopify and Bigcommerce were launched in 2014, and have since launched over 5,000 and 2,000 live loyalty programs, respectively. With over 10,000 live loyalty programs around the world and over 20 million end customers rewarded, Sweet Tooth is now the world’s leading loyalty app.','https://www.sweettoothrewards.com/privacy-policy/','https://www.sweettoothrewards.com/','4598',NULL,'support@sweettoothrewards.com',NULL);\nINSERT INTO companies VALUES('switch_concepts','Switch Concepts Limited','\"Switch Concepts is a unique digital marketing network that looks to connect advertisers who want to speak to social businesses with websites who target social entrepreneurs.\"','https://www.switchconcepts.com/privacy-policy','http://www.switchconcepts.com','846','GB','info@switchconcepts.com',NULL);\nINSERT INTO companies VALUES('switch_growth','Switch Growth','Switch is first-party data software that helps marketers find their ideal customers.','https://switchgrowth.com/legal/privacy','https://switchgrowth.com/','','CA','privacy@switchgrowth.com',NULL);\nINSERT INTO companies VALUES('swoop','Swoop','Swoop has developed a unique and patent pending, multi-faceted search technology that integrates into existing content sites. What you see today is just the tip of the iceberg but can you will see how we can uncover billions of serendipitous moments of deep contextual relevance, all within existing content. For our Publisher Partners we provide incremental content and utility for their users. For Advertisers we invite consumers, at the moment of declared intent, to have a conversation with an unmatched level of engagement. For Consumers we provide timely and relevant access to information they may not have known was even available, or would have otherwise had to search to find.','https://www.swoop.com/privacy-policy/','https://www.swoop.com/','1384','US',NULL,NULL);\nINSERT INTO companies VALUES('sykes_cottages','Sykes Cottages',NULL,'https://www.sykescottages.co.uk/privacy-policy.html','https://www.sykescottages.co.uk/','4709',NULL,NULL,NULL);\nINSERT INTO companies VALUES('symantec','Broadcom','Broadcom Inc. is an American multinational designer, developer, manufacturer, and global supplier of a wide range of semiconductor and infrastructure software products. Broadcom''s product offerings serve the data center, networking, software, broadband, wireless, storage, and industrial markets.','https://www.broadcom.com/company/legal/privacy','https://www.broadcom.com/','2447','US',NULL,NULL);\nINSERT INTO companies VALUES('symphony_talent','Symphony Talent','Symphony Talent’s leadership, staff and investors are dedicated to paving the future for forward-thinking organizations focused on sourcing, nurturing and hiring the best-fit talent for great brands','https://www.symphonytalent.com/privacy/','https://www.symphonytalent.com/','4428',NULL,'privacy@symphonytalent',NULL);\nINSERT INTO companies VALUES('symplify','Symplify','Symplify provides cloud solutions for Marketing Automation, CRM & CRO.','https://symplify.com/privacy-policy/','https://symplify.com','','SE','info@symplify.com',NULL);\nINSERT INTO companies VALUES('synacor','Synacor','\"Synacor''s customer-branded, integration, authentication and engagement platform enables cable, satellite, telecom and consumer electronics companies to deliver digital entertainment, services and apps to their own consumers, thereby strengthening those relationships while monetizing engagements.\"','https://www.synacor.com/privacy-policy/','https://www.synacor.com/','1650',NULL,'privacypolicy@synacor.com',NULL);\nINSERT INTO companies VALUES('synatix','Synatix',NULL,NULL,'https://www.synatix.com/','5400',NULL,NULL,NULL);\nINSERT INTO companies VALUES('syncapse','Syncapse','Clickable is an online search advertising solution for marketers. Their service allows advertisers to manage performance across all major ad networks including Google, Yahoo and Microsoft with real-time capabilities.  Clickable applies this same model for social media targeting on Facebook and provides tools to track performance along side search. The Clickable ActEngine analyzes campaigns and automatically generates recommendations based on the greatest risks and opportunities.','http://www.syncapse.com/privacy-policy-syncapse/','http://www.syncapse.com/','499','US','privacy@Syncapse.com',NULL);\nINSERT INTO companies VALUES('syncle','Syncle','Syncle (formerly Videoly) is a product content platform for brands and online retailers, enabling better shopping experiences through effective management, formatting, and distribution of product content. Headquartered in Helsinki, Syncle serves over 500 retailers and brands globally.','https://syncle.com/privacy-policy','https://syncle.com/','','FI','support@syncle.com',NULL);\nINSERT INTO companies VALUES('synergy-e','Synergy-E','\"Synergy E is the online media provider in Thailand that helps advertisers to better engage target audiences by offering an access to high quality media placements and executions. We provide effectiveness and convenience to both advertisers and publishers.\"',NULL,'http://synergy-e.com/','2300',NULL,'likit@synergy-e.com',NULL);\nINSERT INTO companies VALUES('synthetix','Synthetix','Synthetix is a customer service platform that includes conversational AI for automated and agent-assisted customer experience.','https://synthetix.com/privacy/','https://synthetix.com/','','GB','uk@synthetix.com',NULL);\nINSERT INTO companies VALUES('system1','System1',NULL,NULL,'https://system1.com/','5401',NULL,NULL,NULL);\nINSERT INTO companies VALUES('taboola','Taboola','Taboola is a public advertising company that provides content recommendations and native advertising on various digital platforms. Founded in 2007, the company has formed partnerships with publishers, advertisers, and mobile carriers to deliver personalized content to users.','https://www.taboola.com/privacy-policy','https://www.taboola.com/','1463','US','support@taboola.com',NULL);\nINSERT INTO companies VALUES('tag_commander','Commanders Act','Any company’s revenue hinges on its ability to provide its customers with the best possible experience. Advances in digital technology have opened a whole new world of opportunities to optimise their interaction with each client.Marketing departments must align themselves with their organisation’s digital transition by adopting a customer-focused approach.To build complete customer and prospect profiles, enhanced with every interaction, they need omni-channel and cross-device tracking. To recognise a visitor at the first touchpoint, all their identities must be collated in real time. To optimise campaigns, they must utilise an omni-channel approach to visitor-centric tracking throughout the customer journey. To interact with a customer in an automated and consistent manner, a knowledge and action base that operates in real time is vital.Commanders Act stays one step ahead of your needs by natively integrating cross-device identification with a person-focused design, all while complying with privacy laws. Boasting an unrivalled expertise in tag management, Commanders Act provides comprehensive solutions for the collection and activation of its clients’ data.','https://www.commandersact.com/en/privacy/','https://www.commandersact.com/en/','1789',NULL,'contact@commandersact.com',NULL);\nINSERT INTO companies VALUES('taggify','Taggify','\"Taggify is an online contextual advertising company which, through a variety of multimedia products, seeks to improve the revenue streams of publishers or content creators, to increase the relevance of advertising campaigns, to better the ROI of advertisers, and to enhance the overall experience of users.\"',NULL,'http://taggify.net/','3027',NULL,NULL,NULL);\nINSERT INTO companies VALUES('taggstar','taggstar','Taggstar is a UK-based company that specializes in providing real-time social proof messaging and recommendations for enterprise eCommerce.','https://taggstar.com/privacy-policy/','https://taggstar.com/','','GB','dataprotection@taggstar.com',NULL);\nINSERT INTO companies VALUES('taggy','TAGGY','\"Targeting data optimization technology based on semantic analysis...provides for its business clients a wide range of next-generation services that the main shaft as \"WEB solutions business\" and \"AD technology business\", thus contributing to maximize sales.\"Translated by Google Translate','http://taggy.jp/pp/','http://taggy.jp/','2907',NULL,NULL,NULL);\nINSERT INTO companies VALUES('tail.digital','Tail','\"The TailTarget DMP is the first in Brazil, able to collect and organize customer data through various points of contact between him and the brand, identifying the ideal profiles to be impacted in real time with more accurate and effective offerings.\"',NULL,'https://www.tail.digital/','3269',NULL,'faleconosco@tailtarget.com',NULL);\nINSERT INTO companies VALUES('tailsweep','Tailsweep','Tailsweep is a provider of digital marketing services. Their product  offerings include planning and executing clients'' advertising campaigns and they specialize in viral and social media efforts.',NULL,'http://www.tailsweep.se/','1013','US',NULL,NULL);\nINSERT INTO companies VALUES('tanx','Tanx','\"The Tanx Ad Exchange, hereinafter referred to ADE, for per impression to promote the exchange of real-time auction market, covering China''s most influential Internet sites, ad networks can help agency structure and third-party technology providers through real-time bidding to buymany Internet sites advertising resources.\"Translated by Google Translate','https://tanx.com/web/opt.html','https://tanx.com/','2151',NULL,NULL,NULL);\nINSERT INTO companies VALUES('tapinfluence','TapInfluence','BlogFrog is a platform for creating and fostering online \"communities\" on its members'' blogs. They provide widgets that enable bloggers to interact with each other through questions and answers, as well as creating and sharing profiles and tweets on certain topics.','https://www.tapinfluence.com/privacy/','https://www.tapinfluence.com/','1025','US','info@tapinfluence.com',NULL);\nINSERT INTO companies VALUES('tarafdari','Tarafdari','The advocacy site started with the social networking approach since May 2, 2012. This site specializes in world football, this site is a social sports network so that anyone who is interested in sports writer can start working on creating an account on this site.(Google Translate)','https://www.tarafdari.com/%D8%B5%D9%81%D8%AD%D9%87/116937/%D9%85%D8%B1%D8%A7%D9%85%D9%86%D8%A7%D9%85%D9%87','https://www.tarafdari.com/','4992',NULL,'support@tarafdari.com',NULL);\nINSERT INTO companies VALUES('target_2_sell','Target 2 Sell','\"Target2Sell saw the light of day in 2012, with the meeting of two men : Francois Ziserman and Adrien Coutarel.Through their experience in e-commerce, Francois and Adrien noticed that the great majority of e-commerce sites had no product personalization tools.Why? The existing solutions were too expensive, too complex to install and to use, and didn’t allow for a proper control of merchandising.It’s with these problems in mind that Target2Sell was born : a new solution, that puts the control back in the hands of the Marketing Department.Today, Target2Sell is present in over 40 clients, including some of the biggest e-commerce sites, such as Rexel, Pimkie, Macway or Auchan.\"',NULL,'https://www.target2sell.com/en/','4235',NULL,'contact@target2sell.com',NULL);\nINSERT INTO companies VALUES('target_circle','Target Circle','\"Streamline your offer management by creating just ONE offer for each of your apps or websites regardless of the offer complexity.Use the extensive tracking, targeting, ads management, segmentation and pricing capabilities of the offer editor.\"','http://targetcircle.com/legal#privacy_policy','http://targetcircle.com','5255',NULL,'info@targetcircle.com',NULL);\nINSERT INTO companies VALUES('target_fuel','Target Fuel','\"Target Fuel was formed when experts in the fields of online marketing, web analytics and website personalization began sketching out an ideal platform for marketers. Realizing the technical hurdles, limitations, and barriers in current products and services, the Target Fuel team set out to deliver a next generation service that anyone could use to quickly create and deliver personalized content, increasing conversions and overall website effectiveness without a tech team.Fast Forward a few years and Target Fuel is now growing a list of name brand customers, all enjoying the benefits of an easy to use, yet powerful platform for serving highly relevant content on websites of all types. Target Fuel has built its reputation on outstanding customer service, a high degree of power and flexibilty along with a list of innovative extensions to its core platform including automated emails, real-time visitor messaging, predictive messaging and others.\"','https://webstage.com/terms.html','http://targetfuel.com/','3695',NULL,NULL,NULL);\nINSERT INTO companies VALUES('tawk','Tawk','Free Live Chat Software to monitor and chat with visitors on your website or from a free customizable page.','https://www.tawk.to/privacy-policy/','https://www.tawk.to/','4210','US','compliance@tawk.to',NULL);\nINSERT INTO companies VALUES('teads','Teads','Teads, founded in 2011, is the inventor of outstream video advertising and the leading native video advertising marketplace. Publishers work with Teads to create new video inventory, monetizing it through programmatic buying, their own sales force, or third parties including Teads Demand.','https://teads.tv/privacy-policy/','http://teads.tv/','2521','US',NULL,unistr('Outbrain acquired Teads in Feb 2025.\\u000a\\u000aSource: https://www.teads.com/blog/outbrain-completes-the-acquisition-of-teads/3145/'));\nINSERT INTO companies VALUES('tealium','Tealium','Tealium is a provider of tag management technology. The Tealium Universal Tag is a simplified tag that can work with various combinations of web analytics and digital marketing solution providers. Their translation engine lets non-technical, web analytics practitioners map the collected data into vendor-specific values, and send the data to any number of web analytics tools.','https://tealium.com/privacy/','https://tealium.com/','662','US','privacy@tealium.com',NULL);\nINSERT INTO companies VALUES('teaser.cc','Teaser.cc','\"teaser advertising network: women''s issues\"',NULL,'http://www.teaser.cc/','3132',NULL,'support2@teaser.cc',NULL);\nINSERT INTO companies VALUES('tedemis','Tedemis','\"Tedemis is the publisher of an innovative solution to behavioral email marketing that helps sales and advertising clients generate relevant online traffic by profiling internet users'' \"live\" behavior online. Tedemis''s strength is in its targeting platform and the selective retargeting of internet users who share an interest in a given product or service.\"',NULL,'http://www.tedemis.com','2620',NULL,'contact@tedemis.com',NULL);\nINSERT INTO companies VALUES('telenor','Telenor Group','Tapad Inc. is a marketing technology firm renowned for its breakthrough, unified, cross-device solutions. With 91.2% data accuracy confirmed by Nielsen, the company offers the largest in-market opportunity for marketers to address the ever-evolving reality of media consumption on smartphones, tablets, home computers and smart TVs. Deployed by agency trading desks, publishers, marketing technology companies and numerous Fortune 500 brands, Tapad provides an accurate, unified approach to connecting with consumers across screens.  Backed by major venture firms, Tapad is based in New York and has offices in Atlanta, Boston, Chicago, Dallas, Detroit, Los Angeles, Miami, Minneapolis, San Francisco, Frankfurt, London and Toronto. TechCrunch called the powerhouse Tapad team “a hell of a list of entrepreneurs who created some of the most valuable online advertising companies of the last decade.” For more information on Tapad visit www.tapad.com.','https://www.tapad.com/privacy-policy/','https://www.telenor.com/','937','US','privacy@tapad.com',NULL);\nINSERT INTO companies VALUES('teletech','TeleTech','WebMetro is an interactive marketing firm that develops customized direct marketing solutions. Their services include: pay-per-click ad management, search engine optimization, web design, contextual and display advertising and more. WebMetro uses the proprietary optimization technology platform DSMM Advantage.','https://www.ttec.com/','https://www.ttec.com/','582','US','privacy@teletech.com',NULL);\nINSERT INTO companies VALUES('telfie','Telfie','AdaptiveBlue develops Web browsing technologies. Its product, Glue is a semantic recognition technology that identifies books, music, movies, wines, stocks, movie stars, and recording artists. This technology enables users to connect with their friends on the web around the things visit online.','https://telfieapp.com/privacy','https://telfie.com/','2','US','support@telfie.com',NULL);\nINSERT INTO companies VALUES('telstra','Telstra','\"We help our partners manage their online video, from first upload to final publish. We deliver that video around the globe, to all devices, at the best speed and quality. We provide incredibly detailed analytics in real time that help our partners make smart strategic content and monetization choices. We help publishers earn more with the industry’s most powerful and easy-to-use advertising and paywall tools.\"','https://www.ooyala.com/websiteprivacy','https://www.telstraglobal.com/','1157','US','privacy@ooyala.com',NULL);\nINSERT INTO companies VALUES('tender','Tender','\"Better, Simpler, Customer Support Software.\"','http://www.tenderapp.com/privacy/','http://www.tenderapp.com/','3426',NULL,'support@tenderapp.com',NULL);\nINSERT INTO companies VALUES('tensquare','TenSquare','TENSQUARE develops custom technological solutions for the Internet and other digital media. They work with technology to provide concepts, design, and software development for websites, Intranets, Extranets and CD/DVD.','https://www.tensquare.de/cnt/p3p/policy.html','https://www.tensquare.com/','1004','DE','info@tensquare.de',NULL);\nINSERT INTO companies VALUES('teroti','Teroti','\"Teroti is a Global Search Marketing network. Teroti helps advertisers reach out to millions of consumers and help publishers to monetize every single visitor.\"',NULL,'http://www.teroti.com/','2120',NULL,NULL,NULL);\nINSERT INTO companies VALUES('terren','Terren','\"Company''s aim is to promote the development of China''s electronic information technology, e-government services in the country to promote the management and development of the national network of propaganda, to build a harmonious society, listen to public opinion, people''s livelihood and provide strong technical support.\"Translated by Google Translate',NULL,'https://www.webterren.com/','3004',NULL,'info@webterren.com',NULL);\nINSERT INTO companies VALUES('testfreaks','TestFreaks','TestFreaks is an online platform that allows businesses to collect customer reviews to compare and use them for sales and marketing.','https://www.testfreaks.com/privacy','https://www.testfreaks.com/','','SE','info@testfreaks.com',NULL);\nINSERT INTO companies VALUES('the_austrian_web_analysis','The Austrian Web Analysis (OWA)','The Austrian web analysis / ÖWA is a web analytics firm.','https://www.oewa.at/impressum','http://oewa.at/','404','AT','support@oewa.at',NULL);\nINSERT INTO companies VALUES('the_deck','The DECK','\"The premier network for reaching creative, web and design professionals, The Deck serves up over one-hundred million ad impressions each month and is uniquely configured to connect the right marketers to a targeted, influential audience.\"','http://decknetwork.net/privacy/','http://decknetwork.net/','2391',NULL,'deck@coudal.com',NULL);\nINSERT INTO companies VALUES('the_guardian','The Guardian','The Guardian is a British global news organization known for its investigative journalism and progressive, centre-left political stance. Founded in 1821, it is reader-funded and provides coverage of politics, the environment, science, social justice, sport, and culture.','https://www.theguardian.com/info/privacy','https://www.theguardian.com/','5402','GB',NULL,NULL);\nINSERT INTO companies VALUES('the_moneytizer','The Moneytizer',NULL,'https://www.themoneytizer.com/home/CGU','https://www.themoneytizer.com/','4907',NULL,NULL,NULL);\nINSERT INTO companies VALUES('the_new_york_times','The New York Times Company','\"The New York Times Company (NYSE: NYT), a leading global, multimedia news and information company...includes The New York Times, the International Herald Tribune, The Boston Globe, NYTimes.com , BostonGlobe.com , Boston.com , About.com and related properties. The Company’s core purpose is to enhance society by creating, collecting and distributing high-quality news, information and entertainment.\"','https://help.nytimes.com/hc/en-us/articles/115014892108-Privacy-policy','https://www.nytimes.com/','1962','US',NULL,NULL);\nINSERT INTO companies VALUES('the_reach_group','The Reach Group GmbH','The Reach Group is an online marketing service provider founded by way of a four-company merger in 2015 and offers cross-channel, user centered performance marketing along the entire Customer Journey. Campaigns for advertisers and agencies are optimized for all digital channels in accordance with detailed user models. Our product portfolio combines our core areas of performance marketing and relations with media and branding.','https://www.reachgroup.com/en/privacy-statement/','https://www.reachgroup.com/','2091',NULL,'info@reachgroup.com',NULL);\nINSERT INTO companies VALUES('the_search_agency','The Search Agency','The Search Agency is an agency that provides an integrated suite of search, display, social media, and consumer experience services. They help marketers address the impact of search engines on the interaction between buyers and sellers of goods online.',NULL,'https://www.thesearchagency.com/','1164','US','privacypolicy@thesearchagency.com',NULL);\nINSERT INTO companies VALUES('the_sun','The Sun',NULL,'https://newsprivacy.co.uk/single/','https://www.thesun.co.uk/','5403',NULL,NULL,NULL);\nINSERT INTO companies VALUES('the_trade_desk','The Trade Desk','The Trade Desk is a buying platform for digital media. Its flagship product, The DESK, enables marketers to buy display media similarly to the way SEMs buy search. The platform provides stand alone tracking and reporting, which empowers marketers with a holistic view of the purchase funnel. The Trade Desk also enables data rights management, protecting data for marketers so they can monetize and reuse data safely without risk.','https://www.thetradedesk.com/general/privacy','https://www.thetradedesk.com/','560','US','privacy@thetradedesk.com',NULL);\nINSERT INTO companies VALUES('thecoolcompany','The COOL company','The COOL company, formerly Insticator (founded 2012), provides digital marketing and advertising solutions. Its tools enhance audience engagement, optimize ad revenue, and streamline campaign management for publishers and advertisers.','https://cool.co/publisher-experiences/privacy/','https://cool.co/','','US','privacy@cool.co',NULL);\nINSERT INTO companies VALUES('themoviedb','The Movie DB',NULL,'https://www.themoviedb.org/privacy-policy','https://www.themoviedb.org/','5404',NULL,NULL,NULL);\nINSERT INTO companies VALUES('thetradedesk','theTradeDesk','theTradeDesk operates a cloud-based demand-side platform enabling advertisers and agencies to programmatically buy, manage, and optimize targeted digital advertising across multiple channels using real-time data.','https://www.thetradedesk.com/legal/privacy','https://www.thetradedesk.com/','','US','dpo@thetradedesk.com',NULL);\nINSERT INTO companies VALUES('thinglink','ThingLink','\"ThingLink, a provider of image interaction tools, changes how people interact with photos by transforming them into a navigational surface for search, commerce, and social connection. ThingLink technology lets businesses and consumers connect their images to anywhere on the Internet.\"','http://www.thinglink.com/terms','http://www.thinglink.com/','1342','US','thinglink@thinglink.com',NULL);\nINSERT INTO companies VALUES('thoma_bravo','Thoma Bravo',NULL,NULL,'https://thomabravo.com/','5405',NULL,NULL,'This is a private equity firm and not relevant/used');\nINSERT INTO companies VALUES('thomasnet_websolutions','ThomasNet WebSolutions','ThomasNet Web Solutions is an online marketing and web development company. They provide web strategies designed to help manufacturers and distributors increase sales. Their services include: website planning and creation,  website analytics, and search engine optimization.','https://www.thomasnet.com/privacy.html','http://www.thomaswebsolutions.com/index.html','687','US',NULL,NULL);\nINSERT INTO companies VALUES('threatmetrix','ThreatMetrix','\"ThreatMetrix™ is a provider of integrated cybercrime prevention solutions. The ThreatMetrix™ Cybercrime Defender Platform helps companies protect customer data and secure transactions against fraud, malware, data breaches, as well as man-in-the browser (MitB) and Trojan attacks.\"','http://www.threatmetrix.com/privacy-policy/','http://threatmetrix.com/','1812','US','cust-service@threatmetrix.com',unistr('In January 2018, RELX Group (UK) acquired ThreatMetrix for $817 million.\\u000aFollowing the acquisition, ThreatMetrix became a product of LexisNexis\\u000a(US), a company under the RELX Group.\\u000a\\u000aSource:\\u000ahttps://techcrunch.com/2018/01/29/relx-threatmetrix-risk-authentication-lexisnexis'));\nINSERT INTO companies VALUES('thryv','Thryv','We provide the technology, software and local business automation tools small business owners need to better manage their time, communicate with clients, and get paid, so they can take control of their business and be more successful.','https://corporate.thryv.com/privacy/','https://corporate.thryv.com/','5427','US','privacy@thryv.com',NULL);\nINSERT INTO companies VALUES('tickaroo','Tickaroo','Tickaroo provides live blogging software that enables publishers to cover news, sports, and events in real-time while engaging with their audiences and monetizing their content.','https://tickaroo.com/en/privacy-policy','https://tickaroo.com/en/','','DE','anfrage@projekt29.de',NULL);\nINSERT INTO companies VALUES('tidbit','Tidbit','\"Monetize without ads. Let your visitors help you mine Bitcoins.\"',NULL,'http://tidbit.co.in/','2975',NULL,'tidbtc@gmail.com',NULL);\nINSERT INTO companies VALUES('tidio_chat','Tidio Chat','\"Join 300 000+ websites using Tidio - Live Chat boosted with Bots - to increase sales by skyrocketing communication with customers.\"','https://www.tidio.com/privacy-policy/','https://www.tidio.com/','4236',NULL,'support@tidio.net',NULL);\nINSERT INTO companies VALUES('tiller','Tiller','\"Our team has been building high-scale advertising technology products for over ten years, following agile development practices that focus on solving real problems existing in the market. Our mission? To make advertising better.Tiller is the industry’s first patent-pending advertising platform for publishers who want to take control of their recommended and native ad placements across multiple content recommendation partners.\"','https://www.tiller.com/website-privacy-policy/','https://www.tiller.com/','4189',NULL,'privacy@tiller.com',NULL);\nINSERT INTO companies VALUES('timezonedb','timezonedb','TimeZoneDB website is managed by a web developer during his free time. The time zone data is processed from IANA Time Zone Database.TimeZoneDB database is licensed under Creative Commons Attribution 3.0 License. You can freely use it in your projects.','https://timezonedb.com/terms-of-use','https://timezonedb.com/','5047',NULL,NULL,NULL);\nINSERT INTO companies VALUES('tisoomi','tisoomi','tisoomi is a leading German digital marketing technology company specializing in reaching online audiences who utilize adblockers or private browsing modes. Based in Hamburg, Germany, tisoomi offers advertisers and publishers tools to deliver non-intrusive display, native, and video ads to users who are typically unreachable through standard tracking methods.','https://tisoomi.com/en/privacy-policy/','https://tisoomi.com/en/','','DE','privacy@tisoomi.com',NULL);\nINSERT INTO companies VALUES('tlvmedia','TLVMedia','\"TLV Media is the market leader in running and optimizing performance based campaigns over display media. Founded by a team of entrepreneurs experienced in internet marketing, technology and business development, TLV Media helps it''s customers generate positive ROI over the Internet.\"','http://www.tlvmedia.com/privacy.php','http://www.tlvmedia.com','1347','US','contact@tlvmedia.com',NULL);\nINSERT INTO companies VALUES('tonefuse','ToneFuse','ToneFuse is a marketing and monetization company with a focus on music. ToneFuse caters to marketers by providing high impact ad units including video that can be targeted to audiences or content through high traffic music properties.',NULL,'https://www.tonefuse.com/','871','US','general@tonefuse.com',NULL);\nINSERT INTO companies VALUES('topsy','Topsy','Topsy is a search engine powered by the \"social web.\" They index and rank search results based upon the most influential conversations people are having. They use social media tools across the web to identify specific terms, topics, pages or domains queried.','http://about.topsy.com/privacy/','http://topsy.com/','1020','US','support@topsy.com',NULL);\nINSERT INTO companies VALUES('torbit','Torbit','\"Torbit provides Real User Measurement (RUM) and Dynamic Content Optimization (DCO) solutions to help make the web a faster and better place.\"','http://torbit.com/privacy','http://torbit.com/','1794','US','support@torbit.com',NULL);\nINSERT INTO companies VALUES('toro_advertising','TORO Advertising','\"...Our campaigns include mobile, surveys, education, business opportunity, dating and many more. TORO Advertising has an exceptional understanding of the industry and experience necessary to help increase ROI for publishers while maximizing exposure, awareness and sales for advertisers.\"','https://toroadvertising.com/privacy.php','https://toroadvertising.com/','3135',NULL,'support@toro.ad',NULL);\nINSERT INTO companies VALUES('torstar_corp','Torstar Corporation','eyeReturn Marketing delivers rich media advertising campaigns, reporting and auditing tools, bilingual websites/microsites, databases, email deployment and promotions for clients. They include a variety of consulting, production, project management and technical services. eyeReturn Marketing is a Torstar Media company.','http://notices.torstar.com/privacy-policy/index.html','https://www.torstar.com/index.cfm','511','CA','privacy@eyereturn.com',NULL);\nINSERT INTO companies VALUES('total_media','Total Media','\"TOTALmedia provides online advertisers and publishers with enhanced ad management, optimization and reporting tools, enabling them to obtain the most out of their digital advertising activities.\"','https://www.totalmediasolutions.com/website-privacy-policy/','https://www.totalmediasolutions.com/','1546','IL','info@totalmedia.co.il',NULL);\nINSERT INTO companies VALUES('touchcommerce','TouchCommerce','TouchCommerce is a provider of online interaction optimization solutions. Their suite of products combine real-time customer analytics and live interaction technology with program optimization services. This enables customer care chat agents to increase online customer conversion.','http://www.touchcommerce.com/privacy','http://www.touchcommerce.com/','230','US','info@touchcommerce.com',NULL);\nINSERT INTO companies VALUES('tpmn','TPMN','TPMN (Technology Product Marketing Network) is a Korean ad tech company that specializes in mobile advertising optimization and yield maximization for advertisers and publishers. Their services include header bidding, private marketplaces, and data-driven monetization platforms.','https://www.tpmn.io/privacy.html','https://www.tpmn.io/','','KR','info@tpmn.co.kr',NULL);\nINSERT INTO companies VALUES('tracemyip','TraceMyIP','TraceMyIP.org is a private web-based website visitor counting, geo tracking and website traffic analytics / statistics service.','http://www.tracemyip.org/tos.htm','https://www.tracemyip.org/','1214','US',NULL,NULL);\nINSERT INTO companies VALUES('track_duck','Track Duck','Let your colleagues or clients leave feedback right on a website or image file. Bug tracking has never been easier! Every new comment has a screenshot recorded automatically with a link to the exact page and technical details like browser version, OS and screen resolution','https://trackduck.com/privacy-policy/#cookies','https://trackduck.com/','4679',NULL,NULL,NULL);\nINSERT INTO companies VALUES('trackdesk','Trackdesk','Trackdesk is a company providing a comprehensive affiliate, referral, and partnership management platform designed for scalability. It offers real-time, high-reliability tracking, automated payouts, and intuitive analytics for industries like SaaS and e-commerce.','https://trackdesk.com/privacy-policy','https://trackdesk.com','','CZ','privacy@trackdesk.com',NULL);\nINSERT INTO companies VALUES('trackjs','TrackJS','\"Building a Better WebWe built TrackJS for developers like us. We are front-end developers who constantly push to build better applications for the web. The web is amazing and powerful, but only when it works great for users. Too many web applications break on unexpected browsers or poor networks connections. TrackJS is for you. Find your bugs. Get the context to fix them fast. Build a better web.\"','https://trackjs.com/privacy/','http://www.trackjs.com/','3549',NULL,'hello@trackjs.com',NULL);\nINSERT INTO companies VALUES('trackset','Trackset','Trackset is a digital advertising management and web analytics company. They specialize in research & development of products for web analytics and online marketing. These products allow measurement and optimization of online marketing and business campaigns.','https://www.trackset.com/company/privacy.php','https://www.trackset.com/','592','IT','info@trackset.com',NULL);\nINSERT INTO companies VALUES('trackuity','Trackuity','\"Trackuity democratizes acuity through tracking. We make it easy to add smart, data-driven functionality to sites and apps.\"','https://www.trackuity.com/opt-out','https://www.trackuity.com/','3641',NULL,'info@trackuity.com',NULL);\nINSERT INTO companies VALUES('tradedoubler','Tradedoubler AB','TradeDoubler is an international performance-based digital marketing company. TradeDoubler optimizes Web marketing campaigns by analyzing web clicks, impressions and purchases. Its affiliate program is a banner advertising service which links and transfers website visitors to an advertiser''s site. This boosts traffic and search engine performance by providing traffic for the advertiser.','https://www.tradedoubler.com/en/privacy-policy/','https://www.tradedoubler.com/','668','SE','privacy@tradedoubler.com',NULL);\nINSERT INTO companies VALUES('tradelab','Tradelab, SAS','Tradelab is a leading programmatic technology company overEurope and LATAM, headquartered in Paris, France. Tradelab offers aproprietary multi-device platform to Agencies and Brands. A pioneer inprogrammatic media technology, Tradelab offers clients a suite of powerful,unique and customizable solutions including tailor-made algorithms peradvertiser, proprietary data, geo-targeting, and dynamic creativeoptimization. As we believe in the covenant Man + Machine, our team ofexperts is 100% dedicated to programmatic.','http://tradelab.com/en/privacy/','http://www.tradelab.fr/','2690',NULL,'contact@tradelab.fr',NULL);\nINSERT INTO companies VALUES('tradetracker','TradeTracker','TradeTracker is a SaaS (Software as a Service) provider.  Their tracking software helps advertisers assess their ad performance and provide access to a network of affiliates.','https://tradetracker.com/privacy-policy/','https://tradetracker.com/','815','US',NULL,NULL);\nINSERT INTO companies VALUES('traffic_fuel','Traffic Fuel',NULL,NULL,'https://trafficfuel.com/','4744',NULL,NULL,NULL);\nINSERT INTO companies VALUES('traffic_revenue','Traffic Revenue','Traffic Revenue is an ad network.',NULL,'http://www.trafficrevenue.net/','982','US','support@trafficrevenue.net',NULL);\nINSERT INTO companies VALUES('traffic_stars','Traffic Stars','We started with a blank page to create TrafficStars.com. We studied all available technologies and mixed the best features from each one to develop our own system from scratch. User experience was placed in the center of our problematic. We wanted to make it powerful, secure, flexible and easy to use so everyone can benefit from our technology: from beginners to media buying experts.',NULL,'https://trafficstars.com/#index_page','4753',NULL,NULL,NULL);\nINSERT INTO companies VALUES('trafficbroker','TrafficBroker','\"TrafficBroker is an ad network that connects webmasters that wish to make money off their websites with advertisers who wants to maximize exposure of their products.Our expertise is to optimise, deliver and monetise a large amount of uniques per day across hundreds of leading sites, blogs , tubes and other types of video streaming properties.\"',NULL,'https://www.trafficbroker.com/','2193',NULL,'support@trafficbroker.com',NULL);\nINSERT INTO companies VALUES('trafficforce','TrafficForce','\"TrafficForce sells targeted web and mobile traffic on a CPM basis. The table below gives you an overview of the impression quantity available and starting bid prices. Campaigns can be created as large or small as you like, paused or started at any time and tracked with guaranteed precision.\"','https://www.trafficforce.com/terms.html','https://www.trafficforce.com/','3330',NULL,NULL,NULL);\nINSERT INTO companies VALUES('traffichaus','TrafficHaus','\"Advertisers target your audience...Publishers generate more revenue.\"','https://www.traffichaus.com/privacy-policy.php','https://www.traffichaus.com','1852','US',NULL,NULL);\nINSERT INTO companies VALUES('trafficjunky','TrafficJunky','TrafficJunky is an online advertising network.','https://www.trafficjunky.com/privacy-policy','https://www.trafficjunky.com/','1819','CA','https://www.trafficjunky.com/contact-us',NULL);\nINSERT INTO companies VALUES('trafic','trafic','trafic.ro is a Romanian online audience monitoring firm. They audit and provide relevant statistics for Romanian websites in real time.','https://www.trafic.ro/politica-de-confidentialitate','https://www.trafic.ro/','121','RO','privacy@trafic.ro',NULL);\nINSERT INTO companies VALUES('trafmag','TrafMag','\"TrafMag is the advertising network that has united the best spaces of Russian spoken Internet, providing the web-site owners with an effective tool of site monetization management.\"Translated by Google Translate','http://trafmag.com/policy','https://trafmag.com/','2955',NULL,NULL,NULL);\nINSERT INTO companies VALUES('transcend','Transcend','Transcend is a privacy company that makes it easy to encode privacy across your stack, from GDPR to Facebook’s LDU protocol. From automated data mapping and silo discovery, to seamless fulfillment of access, deletion, opt-out requests and more.','https://privacy.transcend.io/policies?name=privacy-policy#privacy-policy','https://transcend.io','5434','US','privacy@transcend.io',NULL);\nINSERT INTO companies VALUES('transmatico','Transmatico','Transmatico makes the digital transformation intuitive, predictable and cost efficient.Bye Bye print feel! Hello digital first-product!','http://www.transmatico.com/en/privacy-statement/','http://www.transmatico.com/en/','5170',NULL,NULL,NULL);\nINSERT INTO companies VALUES('transunion','TransUnion','TransUnion is an American consumer credit reporting agency. TransUnion collects and aggregates information on over one billion individual consumers in over thirty countries including 200 million files profiling nearly every credit-active consumer in the United States.','https://www.transunion.com/privacy/transunion','https://www.transunion.com/solution/truaudience','','US','privacy@transunion.com',NULL);\nINSERT INTO companies VALUES('travel_audience','Travel Audience','Travel Audience is the world’s leading data-driven travel advertising platform.Our platform connects the leading performance-oriented advertisers withthe biggest network of publishers, reaching millions of travelers.We reach millions of travelersPublishers need to deliver value to their audiences, and monetize their inventory without harming the user experience. Advertisers want to reach their potential customers and look for effective ways to reach specific audiences. And travelers, they love to find the offer they were looking for and book what they fall in love with.This is what we do. We reach millions of travelers and fuel the travel advertising ecosystem with our platform.','https://travelaudience.com/website-privacy-policy/','https://travelaudience.com/','4913',NULL,'info@travelaudience.com',NULL);\nINSERT INTO companies VALUES('trbo','trbo','\"trbo is an independent technology company with offices in Germany and the US. We use scientific data [analysis] to increase the user engagement in online shops – in real-time and onsite. We help online shops to boost their bottom line through increased sales, conversions and average order value.\"Translated by trbo GmbH','https://www.trbo.com/privacy/?lang=en','https://www.trbo.com/','3379',NULL,'info@trbo.com',NULL);\nINSERT INTO companies VALUES('tremor_video','Tremor Video','Tremor Video is an online advertising network that offers advertisers rich media and video advertising opportunities on websites. Their services include a proprietary video optimization technology, Acudeo, that monetizes video ad content and selection of ads for advertisers and publishers.','https://www.tremorvideo.com/en/privacy-policy','https://www.tremorvideo.com/en','564','US','privacy@tremormedia.com',unistr('Tremor International rebranded as Nexxen in 2023.\\u000a\\u000aSource: https://en.wikipedia.org/wiki/Nexxen'));\nINSERT INTO companies VALUES('trendcounter','trendcounter','\"Free Real-Time Web Analytics. With trendcounter you see in real-time what is going on on your website.\"','https://www.trendcounter.com/privacy/','https://www.trendcounter.com/','2534',NULL,NULL,NULL);\nINSERT INTO companies VALUES('trendemon','TrenDemon','TrenDemon, founded in 2011, is the leading content marketing automation and customer journey analytics platform. Our unique technology enables our clients and partners to automatically increase the performance and conversions from their properties and networks. We are a dedicated team of growth hackers, always looking for new ways to do more with less. Among TrenDemon’s investors are international media networks and venture capital professionals.','https://trendemon.com/privacy.html','http://trendemon.com','3767',NULL,'team@trendemon.com',NULL);\nINSERT INTO companies VALUES('trengo','Trengo','Trengo, founded in 2017, is a Dutch company. It provides a unified customer communication platform for businesses, allowing them to manage all their customer interactions from a single inbox, including email, social media, WhatsApp, chat, and more.','https://trengo.com/privacy-statement','https://trengo.com/','','NL','team@trengo.com',NULL);\nINSERT INTO companies VALUES('triblio','Triblio','We started Triblio in 2013, but our passion for building marketing products started long before at Eloqua. After hearing that marketers wanted software like Eloqua’s email for additional marketing functions, we decided to start Triblio.Triblio provides account based marketing (ABM) software for the web to generate demand and engagement from target accounts. The web is the most influential marketing vehicle throughout the buyer journey according to surveys by Forrester, ITSMA, and Accenture. ABM targets top-revenue producing accounts to personalize customer experience, accelerate the buying journey, and deepen engagement.With Triblio, marketers can target accounts with web campaigns as easily as email campaigns. Triblio’s web campaigns empower marketers to dynamically personalize messaging and CTAs to specific accounts and personas. For example, today, with Triblio, marketers can create a personalized, multichannel email and web campaign in 60 seconds. Marketers can personalize messaging, content, and calls-to-action for their multichannel campaigns by persona and buying stage.We will continue to create “mind-blowing” software so every marketer can execute personalized campaigns just like they can with email for extraordinary results.Triblio is based in Reston, Virginia, just outside of Washington DC, and was named by CIO.com as a 2015 marketing automation software startup to watch.','https://triblio.com/privacy-policy/','https://triblio.com/','4129',NULL,'privacy@triblio.com',NULL);\nINSERT INTO companies VALUES('trigger_mail_marketing','Trigger Mail Marketing','\"We build and manage successful ecommerce email programs.Email should be your primary online revenue generator – representing 15%-25% of your total online sales. If your program is not meeting your expectations, we can help.From marketing strategy and email construction – to deployment and results analysis. We do it all for you!Developing a successful email program takes time and effort but the end result is a projectable, dependable, controllable revenue stream that can run for years with minor adjustments.Trigger is a full service email service provider with a strong focus on promotional trigger and campaign email programs. Let us put our proven ecommerce marketing techniques, high-performance delivery system, and hands-on client management style to work for you.\"','https://www.triggeremailmarketing.com/privacy/','https://www.triggeremailmarketing.com/','4211',NULL,'info@triggeremailemailmarketing.com',NULL);\nINSERT INTO companies VALUES('triggerbee','Triggerbee','Make your CRM, email marketing and website work together to accelerate growth and get closer to your customers.','https://triggerbee.com/privacy-policy','https://triggerbee.com','4104','SE','info@triggerbee.com',NULL);\nINSERT INTO companies VALUES('triggermail','TriggerMail','\"TriggerMail effortlessly plugs into your website via JavaScript. The integration is e-commerce platform agnostic and is resilient to changes to your site. TriggerMail then prioritizes and generates unique emails to every customer.\"','http://www.triggermail.io/privacy','http://www.triggermail.io/','3058',NULL,'info@triggermail.io',NULL);\nINSERT INTO companies VALUES('trip_com','Trip.com Group','Trip.com Group Limited is a multinational travel service conglomerate with 45,000 employees. It is the largest online travel agency in China and one of the largest travel service providers in the world.','https://group.trip.com/privacy/en-us.html','https://group.trip.com/','','HK','tp_dataprotection@trip.com',NULL);\nINSERT INTO companies VALUES('triplelift','TripleLift, Inc.','TripleLift is an American multinational technology company developing a platform that enables scalability for native, branded content and OTT advertising.','https://triplelift.com/privacy/','http://www.triplelift.com/','2609','US','privacy@triplelift.com',NULL);\nINSERT INTO companies VALUES('triptease','Triptease','\"Our mission is simple: We want to make the booking process easier for guests and increase direct bookings for hotels.Our Direct Booking Platform creates transparency and forges tighter relationships between hotels and guests.\"','https://www.triptease.com/en/privacy-policy/','https://www.triptease.com','5221',NULL,'data-privacy@triptease.com',NULL);\nINSERT INTO companies VALUES('triton_digital','Triton Digital','\"Triton Digital is the leading digital service provider to traditional and online radio with a rapidly expanding roster of media clients emerging from the television and print space. Our infrastructure, applications, and innovation are powering digital audience and revenue growth for clients around the globe. Our platform makes digital content extensible, personal, social, and profitable.\"','https://www.tritondigital.com/privacy-policy','https://www.tritondigital.com/','2122',NULL,'privacy@tritondigital.com',NULL);\nINSERT INTO companies VALUES('trovus_revelations','Trovus Revelations','Trovus Revelations is an analytics company focused on giving clients insight into their Website traffic, with an emphasis on business-to- business relationships.  This technology platform acts as a client management system, allowing clients to determine business prospects, potential clients and repeat customers based on their Website traffic.',NULL,'http://www.trovus.co.uk/','171','GB',NULL,NULL);\nINSERT INTO companies VALUES('true_fit','True Fit','\"True Fit is footwear and apparel’s discovery platform. It has organized the largest platform of apparel and footwear data through its partnerships with thousands of top brands, the world’s leading retailers, and millions of consumers. Its data is mapped into its Genome™, which helps retailers and brands unlock digital growth in the $2 trillion footwear and apparel industry. True Fit''s Genome powers its award-winning Confidence Engine™, allowing retailers to provide highly personalized fit ratings and size recommendations to shoppers, resulting in dramatic increases to net revenue. True Fit is also helping to unlock digital growth with its Discovery Engine™, which allows retailers to curate highly personalized collections to each consumer, as well as True Insights™, which provides retailers and brands unparalleled insights to optimize marketing, merchandising, and product development.\"','https://www.truefit.com/privacy-policy','https://www.truefit.com/','4222',NULL,'privacy@truefit.com',NULL);\nINSERT INTO companies VALUES('trueanthem','trueAnthem','\"trueAnthem helps marketers, publishers, and advertisers tap into the power of social influence. Our patented technology tracks the viral spread of shared content across the web and mobile devices in real time, and pinpoints social influencers—those not only share content, but inspire their followers and friends to take action. By revealing which content drives earned media and analyzing social influence, we empower brands to drive high-value traffic through content optimization and grow revenue by activating social audiences.\"','https://www.trueanthem.com/privacy/','https://www.trueanthem.com/','3030','US','hello@trueanthem.com',NULL);\nINSERT INTO companies VALUES('trueffect','Trueffect','TrueEffect provides solutions where online advertising impressions are targeted for one-to-one consumer engagement. TruConnect platform builds \"relationships\", segments audiences, and provides ad delivery services, while TruAnalytics brings insight to campaigns.','http://www.trueffect.com/privacy-policy/','https://www.trueffect.com','636','US','privacy@trueffect.com',NULL);\nINSERT INTO companies VALUES('truehits.net','Truehits.net',NULL,NULL,'https://truehits.net/','2299',NULL,'webmaster@truehits.net',NULL);\nINSERT INTO companies VALUES('trumba','Trumba','Trumba Corporation is a developer of event calendar publishing technology that helps organizations publish and promote their events online. Trumba enables customers to connect audiences with their events, transforming those events into marketing and communication opportunities. They also provide  scheduling, reminder, event information and publishing, and email and text messaging services.','https://www.trumba.com/connect/about/privacy_policy.aspx','http://www.trumba.com','753','US','privacy@corp.trumba.com',NULL);\nINSERT INTO companies VALUES('trustarc','TrustArc','TRUSTe is a privacy certification and verification company. It certifies website and mobile privacy practices as well as approving downloadable software applications. In its compliance efforts, TRUSTe serves notices for the Self Regulatory Program for Online Behavioral Advertising, the program overseen by Digital Advertising Alliance.','https://www.trustarc.com/privacy-policy/','https://www.trustarc.com/','775','US','privacy@trustarc.com',NULL);\nINSERT INTO companies VALUES('trusted_shops','Trusted Shops','The Trusted Shops trustmark, a combination of a comprehensive audit by legal experts, solution-oriented customer service and financial protection, designates trustworthy shops. While consumers can sit back and wait for their delivery, online retailers can enjoy the satisfaction of fewer abandoned purchases and more customers.','https://www.trustedshops.co.uk/imprint/','https://www.trustedshops.co.uk/','4752','DE','info@trustedshops.co.uk',NULL);\nINSERT INTO companies VALUES('trustev','Trustev','\"We analyze site visitor behavior before a transaction, 1000s of datapoints like device, IP, phone, and email during a transaction, then decision feedback and ML after. Trustev is the first anti-fraud platform to examine all data, in context, for every transaction, then keep getting better every day.\"','https://www.trustev.com/privacy','https://www.trustev.com/','3655',NULL,'privacy@trustev.com',NULL);\nINSERT INTO companies VALUES('trustpilot','Trustpilot','Trustpilot Group plc, is a Danish consumer business operating a review website founded in Denmark in 2007 which hosts reviews of businesses worldwide. Nearly 1 million new reviews are posted each month.','https://legal.trustpilot.com/end-user-privacy-terms','http://www.trustpilot.com','5155','DK',NULL,NULL);\nINSERT INTO companies VALUES('ttnet','Türk Telekom',NULL,NULL,'https://www.ttnet.com.tr/','5406',NULL,NULL,NULL);\nINSERT INTO companies VALUES('tubemogul','TubeMogul','TubeMogul provides a technology platform for simplifying the delivery of video ads and maximizing the impact of advertisers'' ad spend. Their PlayTime platform delivers video ads to audiences in multiple formats, and various devices.','https://www.tubemogul.com/compliance/privacy-policy/','https://www.tubemogul.com/','953','US','legal@tubemogul.com',NULL);\nINSERT INTO companies VALUES('tunein','Tunein','TuneIn enables people to discover, follow and listen to what''s most important to them — from sports, to news, to music, to talk. TuneIn provides listeners access to over 100,000 real radio stations and more than four million podcasts streaming from every continent.','http://tunein.com/policies/privacy/','https://tunein.com/','4660',NULL,'support@tunein.com',NULL);\nINSERT INTO companies VALUES('turbo','Turbo','\"Turbo is the first Italian independent trading desk, offering Advertisers and Agencies best-in-class technology and a full range of services needed to manage multichannel programmatic advertising campaigns.\"','http://www.turboadv.com/privacy-policy/','http://www.turboadv.com/','3196','IT',NULL,NULL);\nINSERT INTO companies VALUES('turner','AT&T','AT&T Inc. is an American multinational conglomerate holding company, Delaware-registered but headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the world''s largest telecommunications company, the largest provider of mobile telephone services, and the largest provider of fixed telephone services in the United States through AT&T Communications.','https://about.att.com/csr/home/privacy.html','https://www.att.com/','4385','US','privacypolicy@att.com',NULL);\nINSERT INTO companies VALUES('turnsocial','TurnSocial','\"The TurnSocial bar is a free social toolbar built for local business websites, and we make it easy to add the most popular social media and location based applications in less than 5 minutes. In addition to content from Facebook, X, YouTube, Foursquare and more, our social toolbar can bring in local information based on your street address.\"','http://turnsocial.com/privacy','http://turnsocial.com/','1442','US','info@turnsocial.com',NULL);\nINSERT INTO companies VALUES('turnto_networks','TurnTo Networks','\"TurnTo’s mission is to socialize online commerce. We build applications that combine social data, commerce data, and new and old ways of communicating to help shoppers make better decisions and to improve business performance for sellers. Our applications help shoppers discover new products, make good choices between alternatives, and find the right place to buy – which creates value for merchants as well as for customers.\"','https://www.turntonetworks.com/privacy','https://www.turntonetworks.com/','1213','US','contact@turnto.com',NULL);\nINSERT INTO companies VALUES('tvsquared','TV Squared','Maximizing TV Advertising ROIWe help brands to extend and to analyze the impact of TV advertising in the digital era','http://tvsquared.com/privacy-policy/','https://tvsquared.com/','4931',NULL,NULL,NULL);\nINSERT INTO companies VALUES('tweetboard','Tweetboard','Tweetboard is a micro-forum type application for websites. It pulls users'' X streams in near real-time and reformats them into threaded conversations. Each time a user posts via the board, a link back to the corresponding conversation is appended to their tweet, creating a viral stream of X traffic to publishers'' websites. Tweetboard is a product of 140Ware.','http://tweetboard.me/privacy','https://tweetboard.me/','231','US','juan@140ware.com',NULL);\nINSERT INTO companies VALUES('tweetmeme','TweetMeme','TweetMeme is a service that aggregates trending links on X to determine which links are the most popular and relevant to users'' interests. TweetMeme categorizes these links into Categories, Subcategories and Channels, to enable users to find what they''re most interested in. TweetMeme is a product of MediaSift.',NULL,'http://tweetmeme.com/','232','US','support@tweetmeme.com',NULL);\nINSERT INTO companies VALUES('twentythree','TwentyThree','TwentyThree is a video marketing platform with tools any company needs to make, manage and share video and webinars.','https://www.twentythree.com/download-privacy-and-cookie-policy','https://www.twentythree.com','','DK','rights@twentythree.net',NULL);\nINSERT INTO companies VALUES('twiago','twiago GmbH',NULL,'https://www.twiago.com/datenschutz/','https://www.twiago.com/','4943',NULL,NULL,NULL);\nINSERT INTO companies VALUES('twilio','Twilio','Twilio Inc. is a cloud communications platform that enables businesses to build, scale, and deploy real-time communication within software applications. They provide a suite of APIs and software solutions for various communication channels like voice, messaging, video, and email. Twilio also offers a customer data platform called Twilio Segment.','https://www.twilio.com/privacy','https://www.twilio.com/','','US','privacy@twilio.com',NULL);\nINSERT INTO companies VALUES('twine_digital','Twine Digital',NULL,NULL,'https://twinedigital.com/','4666',NULL,'info@twinedigital.com',NULL);\nINSERT INTO companies VALUES('twitter','X Corp.','X (formerly Twitter) is a service for friends, family, and coworkers to communicate and stay connected through the exchange of quick, frequent messages. People post Tweets, which may contain photos, videos, links, and text. These messages are posted to your profile, sent to your followers, and are searchable on X search.','https://x.com/privacy','https://x.com/','174','US','https://x.com/en/privacy#chapter10',NULL);\nINSERT INTO companies VALUES('twitter_counter','Twitter Counter','Twitter Counter was a third party application for Twitter (now X) that provided usage statistics. It offered Pro Twitter Stats for more detailed statistics, and sold featured spots on its website to users looking to gain more followers. Twitter Counter also offered a variety of widgets that users could add to their blogs, websites or social network profiles to show recent Twitter visitors and number of followers. It ceased operations on November 5, 2018.','http://twittercounter.com/privacy-policy.pdf','http://www.twittercounter.com/','175','NL','sam@twittercounter.com',NULL);\nINSERT INTO companies VALUES('twyn','Twyn','THE TWYN GROUP SPECIALIZES IN DIGITAL ADVERTISING AND MARKET LEADER IN THE FIELD OF INTEGRATED ONLINE SOLUTIONSThe company is headquartered in Vienna and Wels was founded in 2000 and has since been for innovation and measurability of success.As a longtime specialist the Twyn Group specifically tailored to their advertisers, agencies and partner solutions implemented in areas such as targeting and performance marketing. With Austria''s leading advertising networks the Twyn Group ensures maximum range. The broad industry experience, a highly professional team of experts and the use of leading, patented technologies guarantee an efficient implementation of online campaigns.','http://www.twyn.com/datenschutz.html','http://www.twyn.com','1354','US','office@twyn.com',NULL);\nINSERT INTO companies VALUES('typeform','Typeform','Typeform is a no-code SaaS platform with thoughtfully-designed tools that help companies grow their business by engaging with their audience. Offering people-friendly forms, quizzes, surveys, and asynchronous video solutions.','https://admin.typeform.com/to/dwk6gt','https://www.typeform.com/','','ES','gdpr@typeform.com',NULL);\nINSERT INTO companies VALUES('typepad','Typepad','TypePad is a blogging service based on Six Apart''s Movable Type platform. It shares technology with MovableType such as templates and APIs, but is marketed to non-technical users. Features include multiple author support, photo albums and moblogging (mobile blogging). TypePad is a Six Apart product.','https://www.typepad.com/privacy','https://www.typepad.com/','154','US','privacy@sixapart.com',NULL);\nINSERT INTO companies VALUES('tyroo','Tyroo','APAC’s Largest Multi-Screen Performance Network','https://www.tyroo.com/privacy-policy','https://www.tyroo.com/','1809','US','privacy@tyroo.com',NULL);\nINSERT INTO companies VALUES('tzetze','TzeTze','\"The objective of TzeTze is to promote independent information on the Net by freeing itself from the mainstream media, publishing news based on importance attributed by users.\"Translated by Google Translate','https://www.tzetze.it/privacy.html','https://www.tzetze.it/','2746',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ucfunnel','ucfunnel','ucfunnel is pioneering the most creative AI Service company in Mar-tech. Founded in 2014, we’ve established end-to-end media marketing solutions from bidder, Ad Exchange, SSP, DMP and to OM SDK. We are capable of serving up to 10 billion bid requests daily by partnering with over 50,000 publishers across the globe especially in the US and APAC markets.','https://www.ucfunnel.com/privacy-policy','https://www.ucfunnel.com/','5431','TW','pr@ucfunnel.com.',NULL);\nINSERT INTO companies VALUES('ucoz','uCoz','uCoz is a web hosting tool with a built-in content management system. The modules of uCoz CMS can be used either in combination to build a full-featured website, or separately, as a blog platform, webforum etc. uCoz operates as a Software as a Service platform (SaaS) and is a major site for Russian-speaking users.','https://www.ucoz.net/privacy/','https://www.ucoz.net/','811','US',NULL,NULL);\nINSERT INTO companies VALUES('uliza','Uliza','One-stop service of technology necessary for video distribution.','http://suvt.co.jp/legal-policy.html','http://uliza.jp/index.html','5054',NULL,NULL,NULL);\nINSERT INTO companies VALUES('umbel','Umbel','\"Umbel analyzes billions of audience traits across your properties and devices to match the most valuable segments with the most valuable advertiser leads.\"','https://www.umbel.com/legal/privacy/','https://www.umbel.com/','2631',NULL,'contact@umbel.com',NULL);\nINSERT INTO companies VALUES('umeng','Umeng','\"www.cnzz.com [is an] investment by the internationally renowned venture capitalists IDG network technology services company. China''s Internet is the most influential free traffic statistics service provider, focused on the Internet, various types of site to provide professional and authoritative, independent third-party data for statistical analysis.\"','https://www.umeng.com/policy.html','https://www.umeng.com/','1069','CN','service@cnzz.com',NULL);\nINSERT INTO companies VALUES('unbounce','Unbounce','Unbounce provides a platform for marketers to create, publish and test landing pages. The Unbounce solution allows for A/B testing without HTML or other technical front-end coding expertise.','https://unbounce.com/privacy/','https://unbounce.com/','980','CA','support@unbounce.com',NULL);\nINSERT INTO companies VALUES('unbxd','UNBXD','Unbxd is a young technology startup which helps online visitors on an E-Commerce website find the right product through a powerful yet humane search and retailers to convert these visitors into customers.Unbxd has built a new-age search system which is ''almost human.'' The system learns from each visit, but unlike most other search systems, it shares intelligence with the owner of the site. This provides deep insight into who visited the site, customer demographics, customer-product relationships, etc. This is probably why it is only ''almost human''.','https://unbxd.com/privacypolicy.htm','https://unbxd.com/','4437',NULL,'info@unbxd.com',NULL);\nINSERT INTO companies VALUES('underdog_media','Underdog Media LLC','Underdog Media is a network that delivers both direct response and branding initiatives. Underdog''s system features campaign controls, optimization tools, site and channel targeting opportunities, and real-time data.','https://underdogmedia.com/privacy-policy/','http://www.underdogmedia.com','748','US','admin@underdogmedia.com',NULL);\nINSERT INTO companies VALUES('uniqodo','Uniqodo','Promotion Experience Platform for eCommerce brands wanting to target audiences and deliver promotions.','https://www.uniqodo.com/privacy-policy/','https://www.uniqodo.com','','GB','privacy@uniqodo.com',NULL);\nINSERT INTO companies VALUES('unister','Unister','\"Unister Media GmbH is specialized in the marketing of online portals...Within this wide-reaching portfolio, you can book through us display advertising, newsletters and mailings integrations, performance-oriented formats as well as special implementations and integrations.\"','http://www.unister.de/#datenschutz','http://www.unister.de/','1540','DE','info@unister-media.de',NULL);\nINSERT INTO companies VALUES('unite','Unite','\"We develop products and services that help brands impact their audience.\"','https://www.unite.io/privacy-policy.html','http://unite.me/#','2309',NULL,'hello@unite.io',NULL);\nINSERT INTO companies VALUES('united_digital_group','United Digital Group',NULL,'https://www.udg.de/en/privacy-policy/','https://www.udg.de/en','5407',NULL,NULL,NULL);\nINSERT INTO companies VALUES('united_inc','United Inc.','The Company became UNITED, Inc. in December 2012, and operated smartphone ad technology and smartphone app lines of business.',NULL,'https://united.jp/en/','5295','JP',NULL,NULL);\nINSERT INTO companies VALUES('united_internet','United Internet AG','The portals of United Internet have been enjoying great popularity among Internet users for many years. For 41.93 million * people in Germany and another 2.45 million ** in the area Austria / Switzerland, they offer a familiar and trustworthy contact point on the Internet.Not least due to the high security and privacy standards, the offers, contents and functions of these portals form a central fixed point for the users and convince by their high product quality and their reliability. This leading position has been documented for many years by top rankings in the AGOF measurements.United Internet''s stable, reliable portal brands are real online favorites with their Private Desk feature. They open the consumers around the core product \"E-Mail\" with diverse content topics over and over again and always up-to-date a broad, welcome spectrum at interesting contents.With our leading online and mobile ranges in Germany, you benefit from a complete digital coverage across all devices from a single source for your digital advertising. The users of the United Internet portals represent all age groups, social classes, regions and areas of interest and form a balanced, homogeneous range that you can use efficiently in advertising.','https://www.united-internet-media.de/de/datenschutzhinweis/','https://www.united-internet.de/','5179',NULL,NULL,NULL);\nINSERT INTO companies VALUES('universe_surf','Universe Surf',NULL,'https://www.universe-surf.de/','https://www.universe-surf.de/','5408',NULL,NULL,NULL);\nINSERT INTO companies VALUES('unpkg','unpkg','unpkg is a fast, global content delivery network. Use it to quickly and easily load any file from any package using a URL like. unpkg is an open source project built and maintained by Michael Jackson.',NULL,'https://unpkg.com/','',NULL,NULL,'Open source project (https://github.com/mjackson/unpkg). Thus, no country or privacy policy.');\nINSERT INTO companies VALUES('unruly','Tremor International','Tremor International Ltd., comprising Tremor Video and Unruly, is a publicly traded advertising-technology company. Founded in 2007, it focuses on digital advertising including video, mobile, native, display technology, and connected TV.','https://www.tremorinternational.com/privacy/','https://www.tremorinternational.com/','1904','US','privacy@tremorinternational.com',unistr('In 2020, Tremor International acquired video ad platform, Unruly, from News Corp. https://en.wikipedia.org/wiki/Tremor_International\\u000a\\u000aTremor International rebranded as Nexxen in 2023.\\u000aSource: https://en.wikipedia.org/wiki/Nexxen'));\nINSERT INTO companies VALUES('untriel','Untriel',NULL,'https://www.untriel.nl/privacy-policy/','https://www.untriel.nl/','4569',NULL,NULL,NULL);\nINSERT INTO companies VALUES('upland_software','Upland Software','Clickability is an on demand Web Content Management (WCM) tool. Clickability uses Software as a Service model to enable businesses to manage their marketing and media solutions more effectively in \"the cloud.\"  Clickability''s hosted, multi-tenant delivery model also helps organizations to mitigate their environmental impact by maximizing energy efficiency and minimizing waste.','https://uplandsoftware.com/privacy/','https://uplandsoftware.com/clickability/','362','US','info@clickability.com',NULL);\nINSERT INTO companies VALUES('upsellit','UpSellit','UpSellit is an ecommerce and emarketing solution  providing artificial intelligence chat solutions. Their SmartAgent® is an automated chat agent capable of handling an unlimited number of simultaneous conversations with the personality of a live person and the consistency of a machine.','https://www.upsellit.com/policy.jsp','http://www.upsellit.com','642','US','info@upsellit.com',NULL);\nINSERT INTO companies VALUES('upsight','Upsight','\"Upsight was born from the merger of Kontagent and PlayHaven in late 2013. We combined because mobile and web app developers needed a single solution to manage their businesses. Our goal is clear: help transform the world’s data into valuable action. We’ll do this by helping our customers understand user behavior, decide what it means, and immediately act to impact their businesses.\"','http://www.upsight.com/pricing/privacy-policy/','http://www.upsight.com/','1726',NULL,'privacy-info@upsight.com',NULL);\nINSERT INTO companies VALUES('uptain','Uptain','Uptain develops automated solutions for the service-oriented regaining of lost customers for small and medium-sized online shops.','https://www.uptain.de/en/regaining-lost-customers/','https://www.uptain.de/en/regaining-lost-customers/','4785',NULL,'info@uptain.de',NULL);\nINSERT INTO companies VALUES('uptolike','UpToLike','\"UpToLike - a service of social activity of users. Our main goal - to give you the maximum opportunity to quickly and easily install on your website is not just social networking buttons and modules that would encourage users of the site to assess (Like) and share with others (Share) the information they saw.\"Translated by Google Translate','https://uptolike.com/privacy.html','https://uptolike.com/','3169',NULL,'support@uptolike.ru',NULL);\nINSERT INTO companies VALUES('uptrends','Uptrends','Uptrends is a provider of website, transactions and server monitoring services. Their monitoring platform operates as a Software as a Service (SaaS) model, and their service objective is to optimize the online performance of, and reduce downtime for their customers.','https://www.uptrends.com/privacy-policy','http://www.uptrends.com','729','US',NULL,NULL);\nINSERT INTO companies VALUES('urban_airship','Urban Airship, Inc.','Urban Airship delivers billions of personalized notifications across apps, websites, mobile wallets, email, and SMS.','https://www.urbanairship.com/legal/privacy-policy','https://urbanairship.com/','3072','US','support@urbanairship.com',NULL);\nINSERT INTO companies VALUES('us_government','USA Government',NULL,NULL,NULL,'5409','US',NULL,NULL);\nINSERT INTO companies VALUES('usability_tools','Usability Tools','UsabilityTools is the industry-leading solution for applying in-page visual analytics across websites and web apps.Use it to remove conversion barriers and discover opportunities for growth.','http://usabilitytools.com/en/terms-of-service.html','http://usabilitytools.com/','4473',NULL,NULL,NULL);\nINSERT INTO companies VALUES('usablenet','UsableNet','UsableNet provide accessibility solutions to make websites, apps, and other digital platforms more accessible, inclusive, and user-friendly for everyone. Through technology, deep expertise, constant innovation, and collaboration with the disability community, we help businesses improve their digital content for customers with disabilities.','https://usablenet.com/privacy','https://usablenet.com','','US','legal@usablenet.com',NULL);\nINSERT INTO companies VALUES('usemax','usemax advertisement','Usemax advertisement is a tool provided by Emego GmbH. It allows website operators to monetize their advertising space and create new revenue streams by offering promotions settled on a display and performance basis.','https://www.usemax.de/?l=privacy','https://www.usemax.de','2408','DE','support@usemax.de',NULL);\nINSERT INTO companies VALUES('usercentrics','Usercentrics','Usercentrics GmbH, founded in 2012, offers Consent Management Platforms (CMP) that enables the integration of cookies into websites or mobile apps and the management of user consents (opt-ins). The software includes monitoring, analytics, and configuration features, making it adaptable to diverse usage scenarios.','https://usercentrics.com/privacy-policy/','https://usercentrics.com/','','DE','privacy@usercentrics.com',NULL);\nINSERT INTO companies VALUES('usercycle','USERcycle','\"USERcycle provides lifecycle marketing software that helps businesses increase their engagement with their customers so they can convert their prospects into paying customers.\"','https://usercycle.com/privacy','http://usercycle.com/','2916',NULL,'support@usercycle.com',NULL);\nINSERT INTO companies VALUES('userdive','USERDIVE','\"Site analysis [via] leveraging and traffic analysis tool, a heat map...has been established as merchandise and services alone.\"Translated by Google Translate','http://userdive.com/privacy/?language=en','http://userdive.com/','2905',NULL,'cs-userdive@ml.cross-m.co.jp',NULL);\nINSERT INTO companies VALUES('userecho','UserEcho','\"Complete solution to provide customer support.\"','https://userecho.com/privacy-policy/','http://userecho.com','2577',NULL,'support@UserEcho.com',NULL);\nINSERT INTO companies VALUES('userinsight','UserInsight','\"nakanohito.jp is ''access analysis tools with map display.'' Normal analysis tools access the difference between is that the service that specializes in ''there was an access from any organization.'' The access from the survey does not aggregate a leading provider of general, specialized in corporate enterprises and government agencies, and schools.\"','https://ui.userlocal.jp/document/attention/','https://ui.userlocal.jp/','1070','JP',NULL,NULL);\nINSERT INTO companies VALUES('userlike','Userlike','Live chat software for website and mobile support','https://www.userlike.com/en/terms','https://www.userlike.com/','5136',NULL,NULL,unistr('Lime acquired Userlike in 2021. \\u000a\\u000aSource: https://www.lime-technologies.com/en/insights/articles/userlike-is-now-lime-connect/'));\nINSERT INTO companies VALUES('userpulse','UserPulse','\"UserPulse provides websites with a range of engagement tools including live chat, pop-up alerts, contact, feedback and call-me forms.\" UserPulse is owned by Arcadium Limited.','http://www.userpulse.com/content/privacy.jsp','http://www.userpulse.com/','2674',NULL,NULL,NULL);\nINSERT INTO companies VALUES('userreplay','UserReplay','UserReplay is a Digital Customer Experience Analytics software solution. The company’s platform enables businesses to discover the truth about their customers’ digital experience. It combines replay of customer journeys with sophisticated analytics that identify customer struggles and monetizes their impact. This helps improve conversion, resolve technical and usability issues more quickly, recover lost customers and prevent fraud.','https://www.userreplay.com/our-privacy-and-cookie-policy/','https://www.userreplay.com/','5142',NULL,NULL,NULL);\nINSERT INTO companies VALUES('userreport','UserReport','\"We measure usability and shows where different kind of visitors click on your website. Lets users voice their ideas on how to improve your website through a feedback forum.\"','https://www.userreport.com/general-invitation-privacy-policy/','https://www.userreport.com/','1462','US','privacy@userreport.com',NULL);\nINSERT INTO companies VALUES('userrules_software','UserRules Software','\"UserRules empowers your users to submit, discuss, vote and follow on feedback for your company and gives you [a] single interface to manage your community forum, customer-support platform and user analytics all in one place!\"','http://www.userrules.com/privacy','http://www.userrules.com/','2881',NULL,'support@userrules.com',NULL);\nINSERT INTO companies VALUES('usersnap','Usersnap','\"Usersnap is [a] screenshot tool for web development. Get annotated screenshots of the current browser content, directly delivered to your bug tracker or project management tool.\"','https://usersnap.com/privacy-policy','https://usersnap.com/','3316',NULL,'contact@usersnap.com',NULL);\nINSERT INTO companies VALUES('uservoice','UserVoice','UserVoice is web focus group software that assists advertisers with customer interaction in a forum setting to help improve their services. UserVoice is a social media integrated feedback platform providing analysis of brand recognition to advertisers.','https://www.uservoice.com/privacy/','https://www.uservoice.com','177','US','support@uservoice.com',NULL);\nINSERT INTO companies VALUES('userway','UserWay','UserWay Inc. is a company that develops a digital accessibility platform. Its solutions include monitoring alerts, scanning, document remediation, manual audits, etc. The company caters to financial, consumer, retail, healthcare, transportation, and other sectors.','https://userway.org/privacy/','https://userway.org','','US','support@userway.org',NULL);\nINSERT INTO companies VALUES('userzoom','UserZoom','\"UserZoom is [an] online research software firm specializing in user experience and usability. We offer an on-demand web-based solution (UZ Self-Serve Edition), which empowers User Experience and Marketing Professionals to cost-effectively manage and conduct sophisticated online research projects.\"','https://www.userzoom.com/privacy-policy/','http://www.userzoom.com','1692','US','privacy@userzoom.com',NULL);\nINSERT INTO companies VALUES('usocial','USocial','uSocial.pro is an easy way to create Share and Like buttons for your website.Modern design, most popular social networking websites,mobile optimization, a ton of advanced features, clean code, and analytics!','https://usocial.pro/en/terms','https://usocial.pro/en','5012',NULL,NULL,NULL);\nINSERT INTO companies VALUES('utarget','uTarget','\"Advertising network uTarget - multi-format advertising platform with new opportunities to earn money for our partners and get high quality traffic for our customers.\"Translated by Google Translate','https://utarget.pro/policy/','http://utarget.ru/','2215',NULL,'support@utarget.ru',NULL);\nINSERT INTO companies VALUES('valassis','Valassis','Brand.net operates as an online advertising network for brand advertisers. It helps to build brands online for brand advertisers and their agencies. The company offers pre-campaign creative testing and troubleshooting, ongoing campaign monitoring and proactive communication and support, frequent campaign optimization, and customized campaign insights.','http://www.valassis.com/about-us/privacy-policy','http://www.valassis.com/','489','US','wecare@valassis.com',NULL);\nINSERT INTO companies VALUES('valuecommerce','ValueCommerce','\"ValueCommerce offers two service solutions to help businesses succeed online in Japan: Affiliate Marketing and a Search Marketing Agency Service.\"','https://www.valuecommerce.ne.jp/en/privacy/','https://www.valuecommerce.ne.jp','2434',NULL,NULL,NULL);\nINSERT INTO companies VALUES('valued_opinions','Valued Opinions','\"Our research survey websites, including this site (www.valuedopinions.com), provide survey respondents with the opportunity to express opinions and attitudes about the most current issues. We conduct research that involves people from around the world, and we aggregate and anonymize such research (stripped of any personally identifiable information) before sending research results to our clients.\"','https://www.valuedopinions.com/eng/privacy-policy/','https://www.valuedopinions.com/','1438','US',NULL,NULL);\nINSERT INTO companies VALUES('vanksen','Vanksen','BuzzParadise is an international social media advertising network, putting advertisers in touch with influencers and \"opinion leaders\" to develop brands’ relationships with consumers.','http://www.vanksen.com/en/legal-mentions','http://www.vanksen.com/en','1231','US',NULL,NULL);\nINSERT INTO companies VALUES('varick_media_management','Varick Media Management','Varick Media Management is a digital media management company that allows media trading in real-time across all online exchanges, ad networks and websites. They are focused on helping marketers and agencies leverage data and access online ad exchanges.','http://www.varickmm.com/about/privacy-policy','http://www.varickmm.com/','567','US','privacy@varickmm.com',NULL);\nINSERT INTO companies VALUES('varify','Varify','A/B Testing platform without a traffic limit.','https://varify.io/privacy-statement/','https://varify.io/','','DE','info@varify.io',NULL);\nINSERT INTO companies VALUES('vcita','Vcita','Founded in 2010 by Eran Utmazgin and itzik Levy, vCita has become the leader in web engagement software specifically designed for small business. The vCita platform redefines small business by empowering online visitors to engage, driving more opportunities from the web, mobile, email and social. The vCita Web Engagement Platform includes messaging, self-service scheduling and online payments via any device, anytime, from anywhere. vCita increases the effectiveness of any web presence, strengthens customer relationships and provides a personalized experience clients have come to expect.vCita operates from Seattle, WA USA and Tel-Aviv, Israel.','https://www.vcita.com/about/privacy_policy','https://www.vcita.com/','4881',NULL,'support@vcita.com',NULL);\nINSERT INTO companies VALUES('vcommission','vCommission','\"vCommission is India’s First International CPA Network and we aim to deliver quality traffic for performance based advertising worldwide in digital advertising industry. VCommission provides advertising solutions through continuous effort of driving quality traffic, with the help of our publishers, and maintaining a cost-effective marketing program...\"','https://www.vcommission.com/privacy-policy/','https://www.vcommission.com/','3052',NULL,'support@vcommission.com',NULL);\nINSERT INTO companies VALUES('vdopia','Vdopia','Vdopia is a mobile advertising platform and network, serving rich media and video advertising on smartphones.','http://www.vdopia.com/mobile/privacy-policy','http://mobile.vdopia.com/','1137','US','mobile-privacy@vdopia.com',NULL);\nINSERT INTO companies VALUES('ve','Ve Global','\"We optimize online merchants’ transactional capabilities and broaden their sites’ functionality through our flagship suite of award-winning software products and services, providing them with the formula for total online efficiency.\"','http://www.veinteractive.com/us/about-us/legal-policies/privacy-policy/','https://www.ve.com/','2587',NULL,'privacy@veinteractive.com',NULL);\nINSERT INTO companies VALUES('ve_interactive','Ve Interactive','\"We optimize online merchants’ transactional capabilities and broaden their sites’ functionality through our flagship suite of award-winning software products and services, providing them with the formula for total online efficiency.\"','https://www.veinteractive.com/us/about-us/contact-us/','https://www.veinteractive.com','1810','GB','privacy@gdmdigital.com',NULL);\nINSERT INTO companies VALUES('vee24','VEE24','Vee24 is the world leader in live video chat solutions and brings a unique blend of technical know-how, customer insight, and best practices to deliver the next chapter in customer engagement.With offices in the United States and Europe, Vee24 provides a simple and seamless way for brands to connect with their customers over the web, on mobile devices, and in stores using voice, video chat, text chat, and co-browsing.  We provide live help solutions to some of the world’s best known brands and have helped clients provide a superior customer experience -- impacting online sales conversion, average order value, and customer loyalty.Today, organizations spend billions of dollars driving traffic to their websites and stores, yet are too often leaving customer needs unmet. In the case of ecommerce, conversion rates average 2-3% in many categories. With our live help solution, our clients are converting 10 – 30% of assisted sessions, with 25-35% increases in average order value.','https://www.vee24.com/en/about/privacy-policy/','https://www.vee24.com/','4102',NULL,NULL,NULL);\nINSERT INTO companies VALUES('velti','Velti','Velti is a mobile marketing and technology company that connects networks and developers. Their end-to-end campaign management platform functions primarily through targeted mobile ad campaigns on websites and in mobile applications.','http://www.velti.com/terms.php#privacy','https://www.velti.com/','910','US',NULL,NULL);\nINSERT INTO companies VALUES('venatus','Venatus Media Limited','\"Venatus Media is a boutique sales house and site representation firm that specializes in gaming. We make connections between game publishers who want to increase their revenue through advertising and advertisers who want to target gamers.\"','https://www.venatusmedia.com/privacy/','https://www.venatusmedia.com/','2663',NULL,'privacy@venatusmedia.com',NULL);\nINSERT INTO companies VALUES('venyoo','Venyoo','We specialize in the development of new products online marketing. Over 3.5 years of successful activity in the field of lead generation. Tens of thousands of sites using our technology as a promotional tool and revenue streams. More than 10,000,000 leads were generated with the help of our technology.',NULL,'https://venyoo.ru/','4359',NULL,NULL,NULL);\nINSERT INTO companies VALUES('veoxa','Veoxa','Veoxa is a French network and technology platform for integrated e-marketing.','https://www.veoxa.com/index.php?Act=about','https://www.veoxa.com/index.php','1086','FR','contact@veoxa.com',NULL);\nINSERT INTO companies VALUES('vercel','Vercel','Vercel, formerly known as ZEIT, is a cloud platform as a service company that focuses on simplifying the deployment and hosting of web applications. Founded in 2015, Vercel maintains the Next.js web development framework and provides developers with tools for building and deploying web applications.','https://vercel.com/legal/privacy-policy','https://vercel.com/','','US','privacy@vercel.com',NULL);\nINSERT INTO companies VALUES('verizon','Verizon','Verizon Communications Inc. is a telephone, internet service provider, and television company in the United States. It also owns a mobile phone company, Verizon Wireless. Verizon was created in 2000 by merging GTE and Bell Atlantic.','https://www.verizon.com/about/privacy/privacy-policy-summary','https://www.verizon.com/','726','US','Karen Zacharia(Chief Privacy Officer as on 10th Oct 2018) Email: privacyoffice@verizon.com; Verizon Privacy Office1300 I Street, NWSuite 500 EastWashington, DC 20005;Fax: 202-789-1432',NULL);\nINSERT INTO companies VALUES('vero','Vero','\"Drive your conversions through the roof by sending emails to your customers based on their actions.\"','https://www.getvero.com/privacy/','https://www.getvero.com/','2720',NULL,'support@getvero.com',NULL);\nINSERT INTO companies VALUES('vertical_leap','Vertical Leap','\"Our approach to search is called Content-driven Search Marketing and it is essential for reaching your target market and building a loyal, returning customer base. We use SEO, paid search, content and social media marketing to deliver widespread visibility and growth to our customers.\"','https://www.vertical-leap.uk/privacy-policy/','https://www.vertical-leap.uk/','1396','GB','info@vertical-leap.co.uk',NULL);\nINSERT INTO companies VALUES('verticalresponse','VerticalResponse','VerticalResponse is a provider of web-based, self-service marketing services. Their platform includes: email marketing, online surveys and a direct mail service that enables businesses to create, manage and analyze their own direct marketing campaigns.','https://www.deluxe.com/policy/privacy-shield','https://www.verticalresponse.com/','597','US','info@verticalresponse.com',NULL);\nINSERT INTO companies VALUES('verticalscope','VerticalScope','\"We specialize in the acquisition and development of websites and online communities for the Automotive, Powersports, Power Equipment, Pets, Sports and Technology vertical markets. VerticalScope is an integrated multi-platform media company. Our social networks and websites are vertically integrated roll-ups in high-consumer spending verticals... We leverage our deep in-house expertise in Search Engine Optimization (SEO), Internet marketing, and traffic acquisition to build highly targeted, successful online communities and websites...\"','https://www.verticalscope.com/privacy-statement.html','https://www.verticalscope.com/','3392',NULL,'privacy@verticalscope.com',NULL);\nINSERT INTO companies VALUES('vertoz','Vertoz','\"Vertoz is a leading programmatic company that offers engaging and innovative advertising and monetization solutions. We ensure that the adreaches the right audience and are targeted across websites and apps for our advertisers. We monetize inventory from all verticals andgeographies to ensure the best ROI for our publishers. Our ingenious platform, proprietary technology and advanced capabilities empower aglobal roster of top advertisers and publishers all under one roof.Founded in 2012, Vertoz has offices across the globe and is headquartered in New York, U.S.A.\"','https://www.vertoz.com/privacy-policy','https://www.vertoz.com/','3051',NULL,'legal@vertoz.com',NULL);\nINSERT INTO companies VALUES('veruta','Veruta','Veruta is an online advertising company that provides retargeting tools to online merchants. Their services integrate with merchant websites and various advertising networks. They provide tools that enable advertisers to customize banner ads and select merchandise products to display.','http://www.veruta.com/static_pages/index/optout','http://www.veruta.com/','632','US','questions@veruta.com',NULL);\nINSERT INTO companies VALUES('verve_mobile','Verve Mobile','\"Verve Mobile is the pioneering leader in location-based mobile advertising. Our customers are national brand advertisers who want to engage consumers on their mobile devices with location-aware, data-driven and highly targeted marketing.\"','http://www.vervemobile.com/privacy-policy/','http://www.vervemobile.com/','1579',NULL,'privacy@vervemobile.com',NULL);\nINSERT INTO companies VALUES('vg_wort','VG Wort','VG Wort is a German online database.','https://www.vgwort.de/datenschutz.html','https://www.vgwort.de/startseite.html','1075','DE','sedc1@web.de',NULL);\nINSERT INTO companies VALUES('vi','Vi','\"Vi - the largest in Russia and Eastern Europe media advertising market operator. The Company sells media advertising opportunities and provides them with comprehensive analytical services, legal and IT-support. Vi serves leading television stations across Russia, Belarus and Kazakhstan, the Russian federal radio, Internet resources, a network of cinemas, as well as digital indoor shopping malls, supermarkets, airports, etc.\"Translated by Google Translate','http://www.vi.ru/confedent.aspx','http://www.vi.ru/','3165',NULL,'pr@vi.ru',NULL);\nINSERT INTO companies VALUES('viacom','Viacom','\"Viacom connects with our diverse audiences everywhere they are. As a leading global entertainment content company, we know what our viewers want and proudly deliver it across the globe through television, motion pictures and a wide range of digital media.\"','http://www.viacom.com/about/pages/privacypolicy.aspx','http://www.viacom.com/','1558','US',NULL,NULL);\nINSERT INTO companies VALUES('viafoura','Viafoura','Viafoura is a digital experience company that helps brands activate their audiences through the power of conversational engagement and advertising.','https://viafoura.com/privacy-policy/','http://www.viafoura.com/','2488','CA','privacyofficer@viafoura.com',NULL);\nINSERT INTO companies VALUES('viasat','Viasat','Viasat is a provider of high-speed satellite broadband services and secure networking systems covering military and commercial markets based in United States.','https://www.viasat.com/privacy/','https://www.viasat.com/','','US','privacy@viasat.com',NULL);\nINSERT INTO companies VALUES('vibrant_media','Vibrant Media Limited','Vibrant Media is a contextual advertising network hosting the IntelliTXT platform on Web sites. The IntelliTXT platform underlines keywords on a site and serves an advertisement associated with those words when users hover of them. Advertisers pay to have their ads associated with particular words.','https://www.vibrantmedia.com/en/privacy-policy/','http://www.vibrantmedia.com','179','US','info@vibrantmedia.com',NULL);\nINSERT INTO companies VALUES('vicomi','Vicomi','Emotional analytics give you a better understanding how your audience feels online,and which content drives engagement and is best suited for marketing initiatives.','http://www.vicomi.com/privacy-policy/','https://www.vicomi.com/','5168',NULL,NULL,NULL);\nINSERT INTO companies VALUES('video_desk','Video Desk','\"videodesk brings the human factor online.Our platform reinvents how companies sell and service in the digital age.By enabling experts to have rich conversations with qualified prospects and clients around high consideration products and services – at digital scale.Using real-time data-driven customer insights, and audio and video integrated with collaborative tools such as co-browsing and screen-sharing,We help companies deliver exceptional brand experiences, while increasing conversion rates and customer satisfaction.\"','https://www.videodesk.com/wp-content/pdf/documentation/videodesk-privacy-policy','https://www.videodesk.com/','4207',NULL,NULL,NULL);\nINSERT INTO companies VALUES('videobot','Videobot','Videobot allows you to modernize your customer journey with personalised video funnels that engage your audience with human interaction, capture leads, guide your users, enhance customer satisfaction and increase conversation rate.','https://www.videobot.com/privacy-policy/','https://www.videobot.com/','','FI','info@videobot.com',NULL);\nINSERT INTO companies VALUES('videoly','Videoly','Videoly helps online retailers and brands to source and embed product videos. We make use of the product videos already available on the internet and integrate them to your store.','https://videoly.co/privacy-policy','https://videoly.co/','','FI','support@videoly.co','In August 2025, Videoly rebanded as Syncle: https://syncle.com/news/videoly-is-now-syncle');\nINSERT INTO companies VALUES('videonow','VideoNow',NULL,NULL,'https://videonow.ru/','4995',NULL,NULL,NULL);\nINSERT INTO companies VALUES('videoplaza','Videoplaza','\"Videoplaza empowers broadcasters, publishers and ad networks to maximise their advertising revenues from the New IP-delivered TV. Videoplaza’s sell side ad management platform, Karbon, is used to monetise video experiences across PCs, mobile devices, tablets, game consoles, IPTV and Smart TVs.\"','https://www.ooyala.com/websiteprivacy','http://www.videoplaza.com/','2801',NULL,'privacy@videoplaza.com',NULL);\nINSERT INTO companies VALUES('videopotok','VideoPotok','\"\"Earn on the traffic of your site - install an advertising video player.Visitors to the site are watching ads, and you get money.Sign up and start earning!\"\"','https://videopotok.pro/politic/','https://videopotok.pro/','4794',NULL,NULL,NULL);\nINSERT INTO companies VALUES('videostep','VideoStep','\"Our platform automates the entire video delivery process, from the identification of video content to its display on premium web sites. We generate the best views via our proprietary ad units that seamlessly get inserted in-content. Our contextual logic provides publishers with the tools required to maximize both ad revenue and brand / editorial coherence.\"',NULL,'https://www.videostep.com/','2891',NULL,'us@videostep.com',NULL);\nINSERT INTO companies VALUES('videowise','Videowise','Videowise, a product of Reeview Inc., is a video marketing platform that enables Shopify brands to create and embed shoppable videos on their e-commerce sites and marketing campaigns. The platform offers tools for managing and analyzing video performance, allowing brands to make data-driven decisions and improve conversions.','https://videowise.com/privacy','https://videowise.com/','','US','support@videowise.com',NULL);\nINSERT INTO companies VALUES('vidgyor','Vidgyor','Monetize Online Live TV streams using targeted video ads during original broadcast TV breaks.',NULL,'https://vidgyor.com/','4935',NULL,'contact@vidgyor.com',NULL);\nINSERT INTO companies VALUES('vidora','Vidora','At Vidora, we believe that Artificial Intelligence can be democratized and used to help companies change the way online experiences are created and users are engaged. We are reinventing how humans and computers collaborate.Our goal is to put people back in control of information and multiply human intelligence with the power of machines. We envision a future where every internet experience is tailored to the individual.','https://www.vidora.com/privacy-policy/','https://www.vidora.com/','4091',NULL,'support@vidora.com',NULL);\nINSERT INTO companies VALUES('vietad','VietAd','\"VietAd ad network, released in 2007, was developed...to meet the needs of enterprises of Vietnam on a professional ad networks, to provide comprehensive online advertising services.\"Translated by Google Translate',NULL,'https://vietad.vn/','2147',NULL,'Hi@haravan.com',NULL);\nINSERT INTO companies VALUES('vietnam_airlines','Vietnam Airlines','Vietnam Airlines is the flag carrier of Vietnam, having hubs at Noi Bai International Airport in Hanoi and Tan Son Nhat International Airport in Ho Chi Minh City.','https://www.vietnamairlines.com/vn/en/legal/privacy-policy','https://www.vietnamairlines.com/vn/en/home','','VN','dpo@vietnamairlines.com',NULL);\nINSERT INTO companies VALUES('viglink','VigLink','VigLink is a provider of automated affiliate marketing services. They offer a suite of web technologies to publishers to drive non-advertising revenue from existing content. Publishers offer links on their site and if users purchase a product on the affiliate merchant''s site through the link, the originating publisher is paid a commission on the sale.','http://www.viglink.com/legal/privacy','http://www.viglink.com/','421','US','privacy@viglink.com',NULL);\nINSERT INTO companies VALUES('vigo','Vigo','Vigo is here to improve video streaming delivery quality by dealing with mobile network operators.',NULL,'https://vigo.one/','5410',NULL,NULL,NULL);\nINSERT INTO companies VALUES('vimeo','Vimeo','\"Vimeo is home to communities looking for a place to share their moments and creativity with friends, family, or other users. These videos are created with care by our users and seen throughout the world.\"','http://vimeo.com/privacy','https://vimeo.com/','1552','US','privacy@vimeo.com',NULL);\nINSERT INTO companies VALUES('vindico_group','Vindico Group','Vindico Group is an ad-serving platform that provides advertisers with video ad serving, tracking and analytics tools. It allows advertisers and their agencies control over the deployment, assignment, and scheduling of both video and banner ads across broadband networks enabling advertisers to self-manage their campaigns at the site and individual file levels. Vindico Group was originally a division of BBE (formerly Broadband Enterprises). Later Vindico was bought by Sizmek, which in 2019 was again bought by Amazon.','https://www.sizmek.com/privacy-policy/optedin/','https://vindico.com/','739','US','privacy@viantinc.com',NULL);\nINSERT INTO companies VALUES('viral-loops','Viral-Loops','The all-in-one viral marketing platform to launchyour referral programs, sweepstakes, competitions and pre-launch campaigns.','https://viral-loops.com/privacy','https://viral-loops.com/','4339',NULL,'hell@viral-loops.com',NULL);\nINSERT INTO companies VALUES('viral_ad_network','Viral Ad Network (VAN)','\"VAN is a social video platform, providing technology and services to help agencies and brands create awesome shareable video. VAN’s 4 core services are: #KittenCamp (providing learning), TubeRank (providing insight and inspiration), Creator Network (providing content creation services) and Viral Ad Network (providing video distribution).\"',NULL,'http://viraladnetwork.joinvan.com/','3191',NULL,NULL,NULL);\nINSERT INTO companies VALUES('viralmint','ViralMint','\"Enhance your e-store with social marketing apps that help you boost sales, improve website conversions, build engagement, increase brand visibility and more...\"','https://freshdesk.com/privacy','https://www.viralmint.com/','3391',NULL,'help@viralmint.com',NULL);\nINSERT INTO companies VALUES('virgul','Virgul','\"Comma aims to bring advertisers and publishers an ad [platform]. Our mission is to be measured, providing a platform for targeted advertising campaigns can be created to satisfy advertisers, members and visitors by providing quality content to deliver a positive experience.\"',NULL,'http://www.virgul.com/','1327','TR','Info@virgul.com',NULL);\nINSERT INTO companies VALUES('virool','Virool','\"Virool helps anyone with a video to get noticed. Virool is a self-serve platform that distributes videos across its network of Facebook apps, mobile games and blogs.\"','http://www.virool.com/blog/privacy-policy/','https://www.virool.com/','3369',NULL,'privacy@virool.com',NULL);\nINSERT INTO companies VALUES('virtusize','Virtusize','\"Virtusize helps online retailers to visually illustrate the size and fit of clothing.\"','https://www.virtusize.com/site/privacy-policy','https://www.virtusize.com/','2636',NULL,'contact@virtusize.com',NULL);\nINSERT INTO companies VALUES('visa','Visa','We are a global payments technology company working to enable consumers, businesses, banks and governments to use digital currency.','https://usa.visa.com/legal/privacy-policy.html','http://www.visa.com','2460',NULL,NULL,NULL);\nINSERT INTO companies VALUES('visible_measures','Visible Measures','Visible Measures is a provider of independent third party measurement solutions for internet video publishers and advertisers. Visible Measures benchmarks the world of online video providing industry standard performance metrics across video content, video ads and audiences for the online video community.','https://www.visiblemeasures.com/privacy-policy/','https://www.visiblemeasures.com/','569','US','privacy@visiblemeasures.com',NULL);\nINSERT INTO companies VALUES('vision_critical','Vision Critical','Vision Critical provides a cloud-based customer intelligence platform that allows companies to build engaged, secure communities of customers they can use continuously, across the enterprise, for ongoing, real-time feedback and insight. Designed for today’s always-on, social and mobile savvy customer, Vision Critical’s technology helps large, customer-centric enterprises discover what their customers want so they can deliver what they need. Unlike traditional customer research, which is slow, expensive and gathers dust on a shelf, Vision Critical’s customer intelligence platform replaces static data and cumbersome reports with real-time actionable customer intelligence that companies need to build better products, deliver better services and achieve better business outcomes.','https://www.visioncritical.com/trust/privacy-policy/','http://visioncritical.com/','4861',NULL,'privacyofficer@visioncritical.com',NULL);\nINSERT INTO companies VALUES('visit_streamer','Visit Streamer','Visit Streamer is a Web analytics provider. Their tracking technology allows website owners to view visitors'' clickstreams in real-time, as well as optimize ad campaigns and improve conversion rates. Visit Streamer is a product of Page Two Technologies.',NULL,'http://www.visitstreamer.com','730','US','privacy@visitstreamer.com',NULL);\nINSERT INTO companies VALUES('visitorville','Visitorville','Visitorville is an online analytics tool that translates raw traffic data into visual insights in real-time. VisitorVille employs a graphical, urban metaphor to present information about customers'' Web traffic. For example, a company''s Web presence is seen as an urban or suburban neighborhood, with each individual Web page presented as a building. As the number of visitors increase, the building becomes taller and the lights get brighter.','http://www.visitorville.com/privacy.html','http://visitorville.com/','593','US','n/a',NULL);\nINSERT INTO companies VALUES('visualiq','VisualIQ','Founded in 2006, Visual IQ is the world’s leading cross channel marketing intelligence software company. Our IQ Intelligence Suite™ of hosted software products reveals cross channel performance insights hidden within your marketing data, providing both executive level and practitioner level recommendations to improve your marketing performance. Visual IQ is listed as a “leader” in The Forrester Wave™: Interactive Attribution, Q4 2009.','http://visualiq.com/privacy','http://visualiq.com/','1095','US','privacy@visualiq.com',NULL);\nINSERT INTO companies VALUES('visualvisitor','VisualVisitor','\"At VisualVisitor, we turn anonymous website visitors into qualified sales leads... Designed specifically for sales people, VisualVisitor provides the following information: Who your website visitors are; What company they are from; What products or services they are interested in; Their contact information; The length of time spent on your site.\"','https://www.visualvisitor.com/legal/privacy-policy/','https://www.visualvisitor.com/','3290',NULL,'support@VisualVisitor.com',NULL);\nINSERT INTO companies VALUES('viva_republica','Viva Republica','\"Viva Republica is a South Korean technology company active in lending, payment services, financial services and stock brokerage. It is the operator of the financial super-app Toss.\"','https://toss.im/privacy-policy?id=23933','https://toss.im/en','','KR','privacy@toss.im',NULL);\nINSERT INTO companies VALUES('vivalu','Vivalu','Vivalu is a Data-Driven Performance Display agency with its own in-house technology. We offer our customers qualified know-how in the fields of display performance, Media Advertisement, Programmatic Buying, tracking technology and ad serving. In addition to Media Buying transparency at the highest level, we simplify the user profile and data-driven complexity of automated \"Programmatic Buying\" and achieve for our customers on the basis of a touchpoint attribution model a significant increase in marketing success with a conflict-free maximum revenue share.','http://www.vivalu.com/privatsphaere-und-datenschutz','http://www.vivalu.com/','3935',NULL,NULL,NULL);\nINSERT INTO companies VALUES('vivendi','Vivendi','Vivendi is a French mass media holding company headquartered in Paris. Widely known as the owner of Gameloft, Groupe Canal+, Havas, Prisma Media, Vivendi Village, Dailymotion, and majority owner of the Lagardère Group. The company has activities in television, film, video game, book publishing, print press, communication, tickets and video hosting services.','https://www.vivendi.com/footer/mentions-legales/','https://vivendi.com/','5411','FR',NULL,NULL);\nINSERT INTO companies VALUES('vivistats','ViviStats','\"ViviStats is a professional service of statistics for situated web. Through the contatore it is possible to monitorare the accesses of the just situated Internet.\"',NULL,'http://en.vivistats.com/','2220',NULL,NULL,NULL);\nINSERT INTO companies VALUES('vizury','Vizury','\"Vizury empowers advertisers to engage their website drop-off users in a 1:1 marketing conversation, resulting in both measurable and tangible value, as well as contributing to intangible branding impact. The 1:1 marketing conversation is enabled through thousands of highly personalized rich media ads that are powered by the statistical modeling of user behavior, dynamic message generation module, and response optimization system.\"','http://web.vizury.com/website/in/privacy-policy/','https://www1.vizury.com/','1380','IN',NULL,NULL);\nINSERT INTO companies VALUES('vizzit','Vizzit','Vizzit provides you with easy-to-read visitor statistics, insights into your customers’ behaviours, more effective web maintenance, and the ability to easily prioritise work on your most important pages.','https://www.vizzit.se/h/en/integritetspolicy/','https://www.vizzit.se/h/','1522','SE','info@vizzit.se',NULL);\nINSERT INTO companies VALUES('volusion','Volusion',NULL,'https://www.volusion.com/legal/privacy-policy','https://www.volusion.com/','4747',NULL,NULL,NULL);\nINSERT INTO companies VALUES('vox','Vox Media','Vox Media is redefining the modern media company by empowering the smartest digital voices with the technology to create and distribute premium content, and connect with an audience of 170 million affluent and educated young adults worldwide.','https://www.voxmedia.com/pages/privacy-policy','https://www.voxmedia.com/','3999','US','privacy@voxmedia.com',NULL);\nINSERT INTO companies VALUES('voxus','Voxus','Voxus is a technology company focused on marketing automation, founded at the end of 2014, in São Paulo, by engineers, administrators and advertisers, to serve large brands. In 2015, it received an investment contribution from ZX Ventures and Pacific Investimentos to bring its solution to small and medium-sized companies. In March 2016, less than two years after its foundation, Voxus was chosen as one of Endeavor''s promises in a program sponsored by JP Morgan.','https://www.voxus.com.br/en/privacidade.html','http://www.voxus.tv/','5017',NULL,NULL,NULL);\nINSERT INTO companies VALUES('voyado','Voyado','Voyado is a SaaS company helping retail brands create hyper-relevant shopping experiences, increase customer loyalty, and drive business growth. Our AI-powered customer experience cloud includes a product discovery engine with deep product knowledge to predict and respond to visitors’ intentions on e-commerce websites, and a multichannel marketing platform that offers invaluable insights and campaign tools for delivering automated and personalized shopping experiences.','https://voyado.com/legal/privacy-policy/','https://voyado.com/','','SE','legal@voyado.com',NULL);\nINSERT INTO companies VALUES('vpon','Vpon','Vpon Inc. is the leading big data company focusing on mobile advertising and user behaviors forecasting. Vpon has accumulated data on mobile devices in Asia, and through strategic partnerships with multiple data sources, we have access to huge amounts of online and offline data. By leveraging the technology of machine learning and artificial intelligence (AI), Vpon has built models to mine user behavior data and market trends and to optimize marketing campaign performance. Vpon also leverages its Big Data analysis and forecasting technology to precisely target audiences via a rich array of mobile advertising formats. This integration of Big Data and mobile marketing enables Vpon''s clients to achieve superior marketing performance across Asia and the world.','https://www.vpon.com/en/privacy','https://www.vpon.com/en/','4993',NULL,NULL,NULL);\nINSERT INTO companies VALUES('vps_cash','VPS Cash','\"VPSCash brengt u als beheerder van een website (of bezitter van Internet traffic) en de exploitanten van betaalsites samen!\\ U plaatst als promotor één of meerdere links of banners op uw website die verwijzen naar één of meerdere websites van VPSCash. Bezoekers van uw website(s) kunnen via die links een betaalde verbinding opzetten met één van onze member databases. De omzetminuten die deze bezoekers via uw site(s) genereren, worden op uw account geregistreerd. Over deze omzet betalen wij u provisie uit! Consumenten kunnen zich toegang verschaffen tot onze betaalde content via een vaste of mobiele telefoon, IDEAL of Creditcard. Het gemiddelde consumententarief voor onze producten en diensten bedraagt  0,80 per minuut, U gaat als promotor kosteloos een partnership aan met VPSCash. U wordt beloond voor de omzet \"welke een klant maakt\" via uw website. Dit betekent in de praktijk dat elke klant die via uw website een betaalde verbinding maakt met een site van VPSCash uw betaalde klant wordt.\"','http://vpscash.nl/generalconditions','http://vpscash.nl/home','4740',NULL,NULL,NULL);\nINSERT INTO companies VALUES('vuukle','Vuukle','\"Increase User EngagementBy creating multiple points of engagement, designed to make visitor want to engage, Vuukle solves one of the major issues of today''s websites.Increase TrafficBy generating a better internal linking structure and related posts customized to each visitor, Vuukle helps increase your website rankings in search engines and internal referral trafficIncrease Website RevenueMore user engagement and more traffic generates more money, but Vuukle helps you even further. By monetizing your comments section we help increase your website CPM.\"','https://vuukle.com/terms.html','https://vuukle.com/','4205',NULL,'support@vuukle.com',NULL);\nINSERT INTO companies VALUES('vzaar','vzaar','\"vzaar is [an] online video hosting and distribution solution for business, both large and small.\"','https://vzaar.tenderapp.com/kb/administrative-pages/privacy-policy','http://vzaar.com/','2849',NULL,NULL,NULL);\nINSERT INTO companies VALUES('w3roi','w3roi','w3roi is a PPC (pay-per-click) conversion analytics and tracking platform. They provide services for consolidated reporting of clients'' online advertising results including PPC search advertising, banner ads and e-mail marketing.','https://www.improvely.com/privacy','http://www.w3roi.com/','1022','US','support@w3roi.com',NULL);\nINSERT INTO companies VALUES('wahoha','Wahoha','Wahoha is an original content syndication network. They offer a content-sharing widget that is inserted into publishers'' websites and sends and receives content from the Wahoha site.','http://wahoha.com/privacy_policy','http://wahoha.com/','1023','US','support@wahoha.com',NULL);\nINSERT INTO companies VALUES('walkme','WalkMe','\"Let''s keep pace with the speed of innovation.Even if your organization is digitally mature, there still exists the surmounting challenge of keeping up with the exponentially increasing and stunningly sophisticated capabilities that today''s innovators are delivering.Recognizing that our technological capabilities are increasing at a rate faster than our ability to keep up, we have to ask the question: How do we improve our capability?\"','https://www.walkme.com/privacy-policy/','https://www.walkme.com/','5026',NULL,'support@walkme.com',NULL);\nINSERT INTO companies VALUES('wallee','wallee','Wallee simplifies and secures payment management across channels, empowering businesses to grow seamlessly.','https://en.wallee.com/legal/privacy-policy','https://en.wallee.com/','','CH','https://en.wallee.com/about-wallee/contact',NULL);\nINSERT INTO companies VALUES('wamcash','Wamcash','\"Wamcash produce exclusive content for both adult and mobile entertainment in combination with good promotions and payment methods, we get the best return to the webmaster.\"','http://wamcash.com/terminos-y-condiciones.html','http://wamcash.com/','2377',NULL,'info@wamcash.com',NULL);\nINSERT INTO companies VALUES('wandz_ai','Wandz.ai','Wandz.ai is a real-time adaptive customer experience platform that enables top global brands to transform every customer experience into an adaptive journey. By combining in-session, non-PII data collection with real-time inference and predictive analytics, brands can anticipate visitors'' intent and next actions to craft an adaptive customer experience.','https://wandz.ai/privacy-policy/','https://wandz.ai/','','IL','info@wandz.ai','This org was formally called Namogoo');\nINSERT INTO companies VALUES('wanelo','Wanelo','\"Think of Wanelo as a mall on your phone, curated by people just like you. It helps you find the most amazing products in the universe. A regular mall has 150 stores, but on Wanelo you’ll find over 550,000 stores which include all the big brands you know, as well as tiny independent boutiques and sellers you’ve never heard of.Wanelo (“wah-nee-loh,” from Want, Need, Love) is also a way to search and follow all of your favorite stores in one place. It''s used by millions of people who post tens of thousands of new products to Wanelo every day.Wanelo was launched in 2012 and is based in San Francisco, California, on the western coast of the North American continent on the beautiful planet Earth.\"','https://wanelo.com/about/privacy','https://wanelo.com/','4212',NULL,'shopping@wanelo.com',NULL);\nINSERT INTO companies VALUES('warp.ly','Warp.ly','We offer technology, innovation and our profound knowledge, to bring omni-channel customer experiencesthat drive loyalty, engagement and sales.',NULL,'https://warp.ly/','4340',NULL,NULL,NULL);\nINSERT INTO companies VALUES('way2traffic','Way2traffic','\"Way2traffic Poland Sp. z o. o. (Way2traffic) is a company created by experienced telecommunications and new media operators. It was created to meet the needs of the media market participants to provide them with tools for servicing modern marketing communications.\"','https://www.way2traffic.com/en/index/privacy','https://www.way2traffic.com/','2093',NULL,'info@way2traffic.com',NULL);\nINSERT INTO companies VALUES('web-stat','Web-Stat','Web-Stat is a web analytics and tracking tool. It provides live web site traffic analysis and hit counters. Web-Stat is a product of Web Tracking Services.','http://www.web-stat.net/help_privacy_policy.htm','http://www.web-stat.net/','399','US',NULL,NULL);\nINSERT INTO companies VALUES('web.com_group','Web.com Group','\"Every Website, Social Media Page, Online Marketing program and eCommerce solution we build starts with an in-depth interview. We want to understand your business. We use this information along with our...experience to build you a powerful web presence.\"','https://www.web.com/legal/privacy-policy.aspx','https://www.web.com/','3389',NULL,NULL,NULL);\nINSERT INTO companies VALUES('web.stat','Web.STAT','\"WEBSTAT.NET is a free service which provides a detailed analysis including traffic reports, marketing reports, and visitor profile reports.\"',NULL,'http://webstat.net/','2423',NULL,NULL,NULL);\nINSERT INTO companies VALUES('web_inclusion','Web Inclusion','Web Inclusion GmbH is a German company specializing in digital accessibility solutions. They are the creators of the Eye-Able® software and also offer consulting services, including WCAG testing, training, and workshops.','https://eye-able.com/privacy-policy-eye-able','https://eye-able.com/','','DE','privacy@eye-able.com',NULL);\nINSERT INTO companies VALUES('web_service_award','Web Service Award','\"Our business concept is to offer a quality assured method for measuring strengths and weaknesses of a website, and to be able to conduct comparable measurements of similar websites.\"','https://www.webserviceaward.com/om-foretaget/gdpr-allmanna-dataskyddsforordningen/','http://webserviceaward.com/','1523','US','info@webserviceaward.com',NULL);\nINSERT INTO companies VALUES('webads','WebAds','\"Established in 1997 in Amsterdam, WebAds has grown into an independent pan-European advertising network with more than 120 websites in the UK, Holland, Spain and Italy. WebAds UK is a specialist ad-sales agency based in London representing a number of specific business and finance related websites.\"','http://www.webads.co.uk/privacy/','http://www.webads.co.uk/','1831',NULL,'info@webads.co.uk',NULL);\nINSERT INTO companies VALUES('webantenna','WebAntenna','\"Web antenna is a tool for measuring the effectiveness of online advertising PPC, banner ads, affiliate ads, etc.. Analyze all the history of the advertising of contact, is a \"tool advertising effectiveness measurement\" I have advanced features and can be evaluated deeply the indirect effects of advertising, and management features like multi-agency to improve operational efficiency, proprietary features.\"Translation by Google Translate','https://www.bebit.co.jp/privacy/index.html','https://www.bebit.co.jp/webantenna/','2204',NULL,'privacy@bebit.co.jp',NULL);\nINSERT INTO companies VALUES('webcollage','Webcollage','\"Webcollage’s flagship offering, Content Publisher, is used worldwide by over 1,000 manufacturers, large and small, to publish rich product information including videos, interactive tours and enhanced product descriptions—to their retailer channels.Rich product information on retailer websites consistently increases sales, by an average of 12.8%. Sales increases have been reaffirmed through multiple A/B tests, spanning millions of shoppers worldwide and dozens of websites across multiple categories. Retailers also report impact on in-store sales and reduction in return rates.Webcollage is the only solution in the marketplace that offers automated real-time publishing to a large number of retailers, a broad set of tools for assembling rich product information, prominent responsive display of the information across the retail channel and end-to-end shopper analytics.\"','https://www.webcollage.net/MainApp/privacy/privacy-policy','http://www.webcollage.com/','3216',NULL,'info@webcollage.com',NULL);\nINSERT INTO companies VALUES('webengage','WebEngage','\"Humanize Your Websites And Mobile AppsEngage Users, Not DevicesGet enriched cross-channel profiles for anonymous users and customers. Send personalized messages at scale.Achieve Marketing Automation. CodelesslyUse beautifully designed tools to create, schedule and automate highly targeted campaigns. Iterate and adapt in real-time.Build A Cohesive Brand Experience Across ChannelsUse push, email, in-app, on-site, text messaging to engage users wherever they''re available or responsive.Do It Yourself. With Our Experts By Your SideWork with our in-house Customer Success Team. Use Mobile, Web, Email Marketing solutions based on best practices for your Industry.\"','https://webengage.com/privacy','https://webengage.com/','3105',NULL,'support@webklipper.com',NULL);\nINSERT INTO companies VALUES('webgozar','WebGozar','WebGozar is a set of tools to build and operate websites. Their services include a website creation tool for people without technical knowledge. They also provide an analytics platform.',NULL,'http://webgozar.com/','885','IR','support@webgozar.com',NULL);\nINSERT INTO companies VALUES('webhelpje','Webhelpje','\"This is Webhelpje, here you can find several free web tools for your website.\"Translated by Google Translate','https://www.webhelpje.nl/index.php?p=voorw','https://www.webhelpje.nl/index.php?d=10','2135',NULL,NULL,NULL);\nINSERT INTO companies VALUES('webleads_tracker','webleads Tracker','\"Webleads Tracker is an Intelligence E-marketing [B2B] and Behavioral Scoring solution. It provides detailed information on companies that visit your website, without having needed to identify themselves. The solution makes it possible to reveal the right customers with the right need at the right time.\"Translated by Google Translate','https://www.webleads-tracker.fr/Mentions-legales_a541.html','https://www.webleads-tracker.fr/','3000',NULL,NULL,NULL);\nINSERT INTO companies VALUES('webmecanik','Webmecanik','We launched Webmecanik in 2006. Since the beginning, our digital agency has focused on segmenting and creating sales leads.Our research led us to conclude that no matter what digital strategy we employ, scarcely more than 1% of all visitors become clients. It is the ‘41% of website visitors who will become a customer one day, but not today’, (Prestashop Survey) that inspired us to deliver Marketing Automation solutions to the marketplace. Taking the lead from existing solutions such as Marketo and Net-Results','http://www.webmecanik.com/fr/legal-notice/','http://www.webmecanik.com/en/','4479',NULL,NULL,NULL);\nINSERT INTO companies VALUES('weborama','WEBORAMA','Weborama is a French analytics and behavioral targeting company. Their solutions enable advertisers, agencies and publishers to optimize online marketing investments. The adPerf suite is used to track, manage and optimize web-based ad performance while the Lab is their marketing intelligence and research center.','https://weborama.com/privacy_en/','https://weborama.com/','633','FR','privacy@weborama.com',NULL);\nINSERT INTO companies VALUES('webprospector','WebProspector','\"The WebProspector GmbH is a software and database provider in the B2B lead detection.\"','http://www.webprospector.de/media/de/datenschutz_gutachten.pdf','http://www.webprospector.de/','1416','US',NULL,NULL);\nINSERT INTO companies VALUES('websitealive','WebsiteAlive','WebsiteAlive providers a live chat support solution for websites. Website visitors can chat with a representative of a client''s company who can respond to user questions in real time. Alive Chat is a cloud-based software solution that requires no downloads or installations. WebsiteAlive is a division of AYU Technology Solutions.','http://www.websitealive.com/privacy/','http://www.websitealive.com/','600','US','privacy@websitealive.com',NULL);\nINSERT INTO companies VALUES('webstat','WebSTAT','\"Our mission is to provide quality web analytics for our customers, both large and small, at the best value.\"','http://www.webstat.com/tpl_privacy.php','https://www.webstat.com/','2747',NULL,NULL,NULL);\nINSERT INTO companies VALUES('webstat.se','Webstat.se','\"Welcome to WebStat, a free statistics service on the internet. We''ve been around since 2003 and we offer a very advanced and detailed statistics on visitors to your website - completely ad-free and free. The statistics refer only unique visitors and you get statistics such as browser, operating system, screen resolution, per day, week, month, year, etc.\"Translated by Google Translate','http://www.webstat.se/?page=cookies','http://www.webstat.se/','2422',NULL,'support@webstat.se',NULL);\nINSERT INTO companies VALUES('webtrack','webtrack','\"Webtrack...provides it''s customers with [a] cloud platform (SaaS) to automate the processes associated with Internet sales, as well as professional advice and insight in the field of internet marketing.\"Translated by Google Translate',NULL,'http://www.webtrack.biz/','2724',NULL,'info@webtrack.biz',NULL);\nINSERT INTO companies VALUES('webtrekk','Webtrekk','The name says it all: For seven years, the company supports its customers to make Web sites and online stores successfully and to manage effectively. Webtrekk will track \"the user data from website visitors, which can be derived a number of success factors and optimization options for an effective web presence.* automatic translation','https://www.webtrekk.com/en/legal/opt-out-webtrekk/','https://www.webtrekk.com/en/home/','335','DE','alexander.krull@webtrekk@com','In 2019, Mapp Digital acquired Webtrekk: https://www.webtrekk.com/, https://aithority.com/technology/analytics/mapp-to-acquire-webtrekk-bringing-advanced-analytics-and-customer-intelligence-capabilities-to-mapp-cloud/');\nINSERT INTO companies VALUES('webtrends','Webtrends','WebTrends operates as a Web analytics and customer intelligence company. They offer search engine marketing, visitor intelligence, and analytics solutions. They measure online activities to enable companies to understand their customers, and drive engagement & brand awareness.  Webtrends Visitor Data Mart is a tool that combines a person''s online behavior with offline customer data, such as CRM or demographics to build insight into a person over time. WebTrends is a business unit of NetIQ.','https://www.webtrends.com/terms-policies/privacy-notice/','https://www.webtrends.com/','181','US','privacy@webtrends.com',NULL);\nINSERT INTO companies VALUES('weebly','Weebly','\"We enable over 12 million people to easily create personal sites and blogs or establish web presences for businesses, weddings, classrooms, churches, artistic portfolios, and more.\"','http://www.weebly.com/privacy/','http://www.weebly.com','2178',NULL,'support@weebly.com',NULL);\nINSERT INTO companies VALUES('whatsbroadcast','WhatsBroadcast','\"WhatsBroadcast is a leading provider of messaging services for companies active in the end-customer communication sector. Offers include solutions for WhatsApp, Facebook Messenger, Telegram and Insta. We recently added innovative chatbots for messaging apps to our service range. Chatbots enable automized 1:1 communication in areas like customer service, shopping, recruiting, information services and entertainment.More than 800 companies, primarily located in Germany, Austria and Switzerland, currently use messaging services by WhatsBroadcast. WhatsBroadcast GmbH was founded in 2015 and has roughly 45 employees at its Augsburg and Munich offices. The company is set to remain on a growth trajectory under the leadership of managing directors Franz Buchenberger and Max Tietz.\"','https://www.whatsbroadcast.com/privacy/','https://www.whatsbroadcast.com/','4750',NULL,NULL,NULL);\nINSERT INTO companies VALUES('whos.amung.us','whos.amung.us','Whos.Amung.Us is a web analytics service that uses widgets to enable web publishers to collect data on sources ranging from individual users to popular pages. Its map widget shows where all of the past and current visitors have come from.  The maps are customizable and the background, pin style/colors, and size are all configurable.','https://whos.amung.us/legal/privacy/','https://whos.amung.us/','239','CA',NULL,NULL);\nINSERT INTO companies VALUES('whoson','WhosOn','\"Live chat & visitor interaction solutions for business web sites.\"','https://www.whoson.com/privacy','https://www.whoson.com/','1487','US','whoson@parker-software.com',NULL);\nINSERT INTO companies VALUES('wibbitz','Wibbitz','\"Wibbitz envisions a world with a video for every story. Our advanced text-to-video technology automatically creates branded videos out of text content within seconds. Publishers use Wibbitz to better reach and engage on-the-go audiences with short-form videos, optimized for any screen. The Wibbitz Control Room platform gives publishers complete editorial oversight of video creation, with access to top-quality licensed content from partners including Reuters and Getty Images. Publishers are able to easily produce videos at scale and significantly increase video ad revenue. \"','https://www.wibbitz.com/terms/','http://www.wibbitz.com/','4700',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wibiya','Wibiya','Wibiya provides a web toolbar that enables blogs and websites to integrate the most exciting services and web applications into their blog or website. Our platform is a one-stop shop for fully customizable, easily manageable third part web applications that can also be tracked for statistics.','http://wibiya.conduit.com//privacy','http://wibiya.conduit.com//','346','IL','info@wibiya.com',NULL);\nINSERT INTO companies VALUES('widdit','Widdit','Widdit (formerly PredictAd) is a provider of publisher website widgets and browser add-ons focused on search. Their technology is context-driven and creates engaging and on demand experiences for users. The Widdit browser add-on displays independent search suggestions and tools when typing into any search box on the web, while their widget automatically gives users search suggestions based on website content and what they have typed – as they’re typing.','http://www.widdit.com/help/Privacy.aspx','http://www.widdit.com/','386','IL','privacy@widdit.com',NULL);\nINSERT INTO companies VALUES('wider_planet','Wider Planet','\"Wider Planet is a high-tech online marketing company providing [valuable], customized advertising service to users.\"Translated by Wider Planet','http://info.jp.widerplanet.com/policy/privacy?lang=en&lang=en','https://widerplanet.com/','3201',NULL,'contact@widerplanet.com',NULL);\nINSERT INTO companies VALUES('widespace','Widespace AB','\"Widespace is an international mobile advertising marketplace connecting mobile advertisers with mobile publishers.\"','https://www.widespace.com/legal/privacy-policy-notice/','https://www.widespace.com/l','3009',NULL,'info@widespace.com',NULL);\nINSERT INTO companies VALUES('widgetbox','WidgetBox','WidgetBox is a technology provider that enables businesses to engage their customers across mobile web apps, real time rich media ads, and web widgets. Their platform, Widgetbox Engagement Platform, is cloud based to ensure scalability and accessibility. Their main products are Widgetbox Mobile, to build and distribute mobile web applications, ClickTurn Ads, to develop and run real-time, rich media ads, and Widgetbox Widgets, to drive site engagement and utility with interactive content.','https://www.widgetbox.com/info/legal/privacy-policy/','https://www.widgetbox.com/','235','US','support@widgetbox.com',NULL);\nINSERT INTO companies VALUES('wiget_media','Wiget Media','\"Wiget Media is a digital advertising network that connects brands with consumers world wide.\"','https://www.iubenda.com/privacy-policy/442791','http://wigetmedia.com','1630','US','hello@wigetmedia.com',NULL);\nINSERT INTO companies VALUES('wigzo','Wigzo','\"Once enabled, Wizgo tracks your customer''s behaviour on your site and across all other digital channels, giving you a full 360 degree profile for each user. Our advanced machine learning uses this information to help you better understand your customers and personalize the offers and communication that they receive.\"','https://www.wigzo.com/privacy','https://www.wigzo.com/','5209',NULL,'info@wigzo.com',NULL);\nINSERT INTO companies VALUES('wikia','Wikia',NULL,'http://www.wikia.com/Privacy_Policy','http://www.wikia.com/fandom','5412',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wikimedia_foundation','Wikimedia Foundation','Wikimedia Foundation encourages the development and distribution of free educational content with projects such as Wikipedia.','https://wikimediafoundation.org/privacy-policy/','https://wikimediafoundation.org/','5413','US','privacy@wikimedia.org',NULL);\nINSERT INTO companies VALUES('winaffiliates','Winaffiliates','The WinAffiliate Program is the exclusive Affiliate Program of the youwin.com, uwin.com  and Hepsibahis.com. Built by some of the most successful industry leaders and experts, WinAffiliates aspire to be marketing leaders, being recognised for our dedication, professionalism and our strong drive to deliver an innovative approach to affiliate marketing. We take a professional approach at a personal level with our partners, aiming to deliver a superior platform for collaboration alongside innovative cutting edge technology and consistent focus on knowledge sharing.','https://www.winaffiliates.com/terms-conditions/','https://www.winaffiliates.com/','4533',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wingify','Wingify','Visual Website Optimizer is the flagship product of UK and India-based website optimization firm Wingify. Visual Website Optimizer allows for testing of multiple versions of a website as well as reporting of usage statistics and user-response data back to the website developer.','https://vwo.com/privacy-policy/','https://vwo.com/','276','GB','info@wingify.com',NULL);\nINSERT INTO companies VALUES('wipmania','WIPmania','\"WorldIP geolocation products allow identifying exact geographic location of an IP address belonging to any Internet-connected computer or appliance. The application spectrum is wide: geo targeting in e-commerce, combat with the fraud, spam and so on, protection of servers against various types of attacks on geographical indication.\"','http://www.wipmania.com/privacy/','http://www.wipmania.com/','2592',NULL,'mail@wipmania.com',NULL);\nINSERT INTO companies VALUES('wiqhit','Wiqhit','\"WiQhit maakt het mogelijk om communicatie persoonlijk te maken voor iedere bezoeker. Het WiQhit Team heeft aan diverse kanten van de tafel gezeten: als klant/gebruiker, leverancier en adviseur. Telkens moesten we constateren dat personalisatie software te duur, te complex en te weinig effectief was. Die ervaring was dé drijfveer om WiQhit te starten. Content personalisatie software zoals wij het zelf ook willen gebruiken.\"','https://wiqhit.com/nl/faqs/#privacy-security','https://wiqhit.com/nl/','4745',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wiredminds','WiredMinds','WiredMinds is a German web analytics company. Their focus is on analyzing the user behavior of web-based applications and processes, as well as websites. WiredMinds also offers its tracking-technology to be licensed and integrated with other products and solutions.','https://wiredminds.de/datenschutz/','https://www.wiredminds.de/home/','779','DE','account@wiredminds.de',NULL);\nINSERT INTO companies VALUES('wirtualna_polska','Wirtualna Polska','AdTotal is a Polish ad network that serves targeted advertising of various media types to multiple platforms.','http://onas.wp.pl/poufnosc.html','https://reklama.wp.pl/','1052','PL','wp@wp.pl',NULL);\nINSERT INTO companies VALUES('wisepops','WisePops','\"WisePops is the tool to create and display pop-ups for your website. WisePops brings high & immediate ROI, boosting email signups and conversions. Our team is in Paris & London. We have 10 years experience in webmarketing and ecommerce, and we have come to the conclusion that emails are the most important asset of any website, and that pop-ups are the best way to collect emails. We hope you will enjoy WisePops!\"','https://wisepops.com/terms/','https://wisepops.com/','3348',NULL,'social@wisepops.com',NULL);\nINSERT INTO companies VALUES('wishpond','Wishpond','Wishpond makes it easy for marketers to create landing pages and contests, track leads, send emails and more.','https://corp.wishpond.com/privacy-policy/','http://wishpond.com','3845',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wistia','Wistia','Wistia is a provider of online video hosting technology for businesses. Their tools make it easy to embed videos on publisher websites and in email campaigns, manage and share internal videos, and track the engagement of viewers.','https://wistia.com/privacy','https://wistia.com/','1307','US','privacy@wistia.com',NULL);\nINSERT INTO companies VALUES('wix','Wix','Wix empowers businesses, organizations, professionals, and individuals to take their businesses, brands, and workflow online.','https://www.wix.com/about/privacy','https://www.wix.com/','5414','IL','privacy@wix.com',NULL);\nINSERT INTO companies VALUES('wixab','Wixab','wixab is a Marketing Automation solution for innovative businesses that want to maximise their ROI from digital channels and generate new demand.','http://wixab.com/en/privacy','http://wixab.com/en/','5162',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wonderpush','WonderPush','Because we believe push notifications are becoming the primary ways to connect with customers on Web and mobile, we''ve founded WonderPush in August 2015.WonderPush is a CRM platform, designed for marketers. We provide services to increase usage, retention and revenues to your apps and websites.Mobile applications are an entirely new opportunity to engage with customers and generate new sources of revenue. Push notifications are a key factor of successful CRM mobile strategy.','https://www.wonderpush.com/policies/privacy','https://www.wonderpush.com/','5197',NULL,'privacy@wonderpush.com',NULL);\nINSERT INTO companies VALUES('woopra','Woopra','Woopra is a real-time web analytics service that generates live detailed statistics about visitors to a website.  Woopra''s in depth analytics are searchable for reporting and specific to segmentation across preset demographics. Woopra is a service offered by iFusion Labs LLC.','http://www.woopra.com/privacy/','http://woopra.com','300','US','privacy@woopra.com',NULL);\nINSERT INTO companies VALUES('woosmap','Woosmap','Woosmap is a mapping and geolocation platform for organisations who wish to optimise the digital experience of their end-users on websites or mobile applications.','https://www.woosmap.com/policies/cookies','https://www.woosmap.com/','','FR','dpo@woosmap.com',NULL);\nINSERT INTO companies VALUES('wordstream','WordStream','WordStream is a search-marketing firm. Their operating goal is to help small and medium-sized company''s leverage search marketing to drive customer acquisition at lower costs. Their solutions are cloud-based to ensure greater accessibility and scalability.','https://www.wordstream.com/privacy-policy','https://www.wordstream.com/','236','US','privacystatement@wordstream.com',NULL);\nINSERT INTO companies VALUES('wp','WP','Produced, news services, HR Group is the leading Polish Internet. This is due to a solid foundation and broad portfolio of strong brands. Mail, Business, Video and Mobile - are just some thematic categories through which we are most engaging web portal in our country. Below we are selected, strong brands of the Group HR.','http://onas.wp.pl/poufnosc.html','https://www.wp.pl/','4665',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wp_engine','WP Engine','WP Engine is a WordPress digital experience platform.','https://wpengine.com/de/legal/privacy/','https://wpengine.com/','5415','US',NULL,NULL);\nINSERT INTO companies VALUES('wpp','WPP','A global powerhouse of creative talent, we help clients understand and reach audiences, build brands, sell products and services, grow their businesses and prepare for the future.','https://www.wpp.com/Privacy-policy','https://www.wpp.com/','182','GB','enquiries@wpp.com',NULL);\nINSERT INTO companies VALUES('writeup','WriteUp','\"「御社は社員の数とサービスの数、どちらが多いのでしょうか」苦笑いで聞かれることも多いです。お手数ではございますが、まずは5分ほどで全体をご確認いただけますと幸いです。お問い合わせは各サービスサイトからもお気軽にご連絡下さい。担当部署から個別にご連絡いたします。\"','http://www.writeup.co.jp/privacy/','http://www.writeup.co.jp/','2906',NULL,'info@writeup.co.jp',NULL);\nINSERT INTO companies VALUES('wunderkind','Wunderkind','Wunderkind is an AI-powered performance marketing platform that helps e-commerce and digital brands acquire and retain customers by delivering personalized, one-to-one experiences across email, text, and ads. Formerly known as Bounce Exchange, the company utilizes a proprietary identity graph to transform anonymous web traffic into known customers.','https://www.wunderkind.co/privacy/','https://www.wunderkind.co/','','US','privacyrequests@wunderkind.co',NULL);\nINSERT INTO companies VALUES('wwwpromoter','wwwPromoter','WWWPromoter. Promoter. Triple W Promoter. However you want to call us, you can’t deny our name is fitting. It’s a simple way to describe what we do: World Wide Web Promoter. No fuss, no mess. Straight to the point.Our mantra: at the heart of every journey is the power to shake things up.Since our company’s inception in 2014, we shake & bake’d our way into the industry with authority. We are a group of innovators and do’ers. We envision something, we do it. Simple.But what’s more important is we are unconventional thinkers. In order to stay relevant, let alone excel, we must be unusual. Different. Distinct.','http://wwwpromoter.com/privacy.html','http://wwwpromoter.com/','4392',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wykop','Wykop','\"wykop.pl is a Polish social networking Internet service... It is modeled after the American website digg.com... The basic idea behind wykop.pl is the collection of potentially interesting Internet based information and making them available to users. The server is managed by the Poznan company \"Wykop sp. z o.o.\" (Ltd), which is owned by the Dutch firm \"Gravest\".\"','http://www.wykop.pl/polityka-prywatnosci/','http://www.wykop.pl','3064',NULL,NULL,NULL);\nINSERT INTO companies VALUES('wysistat','Wysistat','Wysistat is a web analytics tool for audience measurement, which allows you quickly know your real-time traffic to your website, mobile applications and AMP pages.','http://wysistat.net/politique-du-respect-de-la-vie-privee/','http://wysistat.net/','1362','FR','rgpd@wysistat.com',NULL);\nINSERT INTO companies VALUES('x-lift','X-lift','\"What is X-lift?It is a content recommendation platform that realizes advertisement delivery with no sense of incongruity by its own recommendation algorithm for articles related to premium media networks · related advertisement space\"','https://www.x-lift.jp/privacy/','https://www.x-lift.jp/','5212',NULL,NULL,NULL);\nINSERT INTO companies VALUES('xapads','XAPADS',NULL,'https://www.xapads.com/privacy-policy/','https://www.xapads.com/','4842',NULL,'support@xapads.com',NULL);\nINSERT INTO companies VALUES('xcaliber','XCaliber',NULL,NULL,'https://www.xcaliber.com/','5416',NULL,NULL,NULL);\nINSERT INTO companies VALUES('xing','XING','XING is a Hamburg-based career-oriented social networking site. The site is primarily focused on the German-speaking market, alongside XING Spain, and competes with the American platform LinkedIn.','https://www.xing.com/privacy','https://www.xing.com/','2787','DE',NULL,NULL);\nINSERT INTO companies VALUES('xplosion_interactive','xplosion interactive','\"The intelligent retargeting mix developed by xplosion interactive under the name of xretarget unites brand-strategic applicability with user-sensitivity.\"','https://www.xplosion.de/datenschutz.php','http://www.xplosion.de/en/home.html?no_cache=1','1356','US',NULL,NULL);\nINSERT INTO companies VALUES('xqueue','XQueue','XQueue GmbH is a German company specializing in email marketing platforms for enterprises.','https://maileon.com/privacy-policy/','https://maileon.com/','','DE','info@xqueue.de',NULL);\nINSERT INTO companies VALUES('xxxlutz','XXXLutz KG',NULL,NULL,'https://www.xxxlutz.de/','5417',NULL,NULL,NULL);\nINSERT INTO companies VALUES('yabuka','Yabuka','\"Yabuka provides advertisers with the perfect medium to engage audiences via Sponsored Listing placements on premium publishers and Display advertising utilizing custom RTB technology in connection with the best traffic partners.\"','http://www.yabuka.com/privacy','http://www.yabuka.com/','1383','US',NULL,NULL);\nINSERT INTO companies VALUES('yahoo_japan','Yahoo! Japan','Yahoo! Japan Corporation is a Japanese internet company originally formed as a joint venture between the American internet company Yahoo! and the Japanese company SoftBank.','http://docs.yahoo.co.jp/docs/info/terms/chapter1.html#cf2nd','https://www.yahoo.co.jp/','2456','JP',NULL,NULL);\nINSERT INTO companies VALUES('yandex','Yandex','Yandex is a Russian search engine and Internet services firm. They also offer a variety of other online services including: news, weather, traffic, maps, personal email, and a web analytics platform. Yandex also operates an ad network.','https://yandex.com/legal/privacy/','https://www.yandex.com/','185','RU','https://yandex.com/support/common/troubleshooting/main.html',NULL);\nINSERT INTO companies VALUES('ybrant_media','Ybrant Media','Ad Management System (AMS) is an interactive advertising management system that executes and optimizes video and digital media across agencies, entertainment clients and direct marketers. The AdDynamix network provides web publishers with software and services to generate and improve revenue from ad inventory and an online advertising solution for advertisers who are looking for branding, unique visitors and customer acquisitions. AdDynamix has been re-branded as Ybrant Networks. Ybrant Networks is formerly known as Ad Dynamix.','https://www.brightcom.com/toc/','http://www.ybrantdigital.com/english/','573','US','info@ybrantdigital.com',NULL);\nINSERT INTO companies VALUES('ycontent','YContent',NULL,NULL,'http://ycontent.com.br/','4492',NULL,'mailto:contato@ycontent.com.br',NULL);\nINSERT INTO companies VALUES('yektanet','Yektanet',NULL,'https://yektanet.com/','https://yektanet.com/','5124',NULL,NULL,NULL);\nINSERT INTO companies VALUES('yengo','Yengo','\"Yengo is a world class advertising tool; we use the latest technique in online advertising and traffic exchange to drive customers to your ''doorstep'' and increase traffic to your website. Yengo has pioneered a unique advertising model, whereby we attract visitors with fresh, interesting and eye catching news articles and then direct traffic to our partner’s sites based on the interests, geo and time targeting the partners specify.\"','https://www.yengo.com/text/privacy_policy','https://www.yengo.com/','2936',NULL,'support@yengo.com',NULL);\nINSERT INTO companies VALUES('yes_mail','Yes Mail','\"Yesmail is the cross-channel communication platform within Yes Lifecycle Marketing. We deliver beyond the boundaries of traditional email service providers to seamlessly integrate email, SMS, Push, social, and display, enabling the world’s best known brands to have a consistent view of their customers in a single environment. At Yesmail, we define ourselves by a better caliber of technology, unmatched data-driven insights, and skilled agency services experts that help our clients exceed the demands of the ever-changing landscape in the age of the customer. We do this by detailing a clear path from vision, to implementation, to results.\"','http://www.yesmail.com/privacy-policy','http://www.yesmail.com/','4237',NULL,'PrivacyCouncil@infogroup.com',NULL);\nINSERT INTO companies VALUES('yesup','YesUp','\"YesUp Ecommerce Solution has over 10 years history in the online advertising industry. The company was founded by brothers, Jeff and Patrick Zeng in 1999. It provides various digital media solutions for businesses that want to take themselves to the next level. In October 2014, YesUp Ecommerce merged with Promobiz, a full service multicultural advertising agency previously owned by Steven Guan, for a win-win combination and officially changed name to YesUp Media Inc.\"','http://www.yesup.com/privacy_policy.php','http://www.yesup.com/','2420',NULL,'webmaster@yesup.net',NULL);\nINSERT INTO companies VALUES('yesware','Yesware','\"Yesware is a service for salespeople that helps them close deals faster. We have an email service that tracks email, templates responses and syncs to CRM.\"','https://www.yesware.com/privacy/','https://www.yesware.com/','2868',NULL,'support@yesware.com',NULL);\nINSERT INTO companies VALUES('yext','Yext','Yext is a software company offering a digital presence platform for multi-location brands. It enables brands to deliver consistent, accurate information to customers anywhere in the digital world from one central platform. Offering local listings management, webpages, social media and reputation management.','https://www.yext.com/privacy-policy','https://www.yext.com/','','US','privacy@yext.com',NULL);\nINSERT INTO companies VALUES('yieldbot','Yieldbot','\"Relevance is our business. Yieldbot is the first technology that directly connects the intent of Publisher visitors to Search advertisers in realtime. We dramatically increases publisher understanding of their visitors and connect them to massive new advertising budgets.\"','https://www.yieldbot.com/platform-privacy-policy/','https://www.yieldbot.com/','1671',NULL,'privacy@yieldbot.com',NULL);\nINSERT INTO companies VALUES('yieldify','Yieldify','Yieldify is a personalization platform that helps marketers unlock more revenue by engaging their customers with personalized experiences. ZEUS ENTERPRISE LTD (Trading Name “Yieldify”) is the controller and responsible for your personal data.','https://www.yieldify.com/website-privacy-policy/','https://www.yieldify.com/','2874','GB','support@yieldify.com',NULL);\nINSERT INTO companies VALUES('yieldlove','Yieldlove GmbH','Empowering publishers to enhance their ad stack and maximize revenue across Display, AMP and In-App. Part of STRÖER Group.','https://www.yieldlove.com/cookie-policy','https://www.yieldlove.com/','5418','DE',NULL,NULL);\nINSERT INTO companies VALUES('yieldmo','Yieldmo, Inc.','Yieldmo is a technology company focused on driving quality advertising. Yieldmo''s technology powers a global marketplace that identifies and enhances the value of ad impressions through real time data intelligence and next gen ad formats across all screens.','https://www.yieldmo.com/privacy/','https://www.yieldmo.com/','2918','US','privacy@yieldmo.com',NULL);\nINSERT INTO companies VALUES('yieldr','Yieldr','Yieldr is a software as a service company bringing efficiency and increased profitability to the multi-billion dollar aviation industry with its marketing automation technology.Yieldr Air is the data analytics platform built exclusively for airlines. The software boosts the profitability of individual flights by allowing airlines to identify distressed inventory and connect those empty seats with travelers ready to fly. Utilizing Yieldr''s enterprise solution, marketers and revenue managers gain control through insight and activation tools in order to decide what flight to promote, to whom and with what message.Yieldr Ads is the programmatic advertising arm of Yieldr. The platform processes billions of requests across the globe on desktop, video and mobile, allowing travel and travel-related brands to engage with interested audiences through automated data activation.','https://yieldr.com/privacy/','https://www.yieldr.com/','1198','NL','privacy@yieldr.com',NULL);\nINSERT INTO companies VALUES('yieldsquare','YieldSquare',NULL,NULL,'http://www.yieldsquare.com/','2604',NULL,NULL,NULL);\nINSERT INTO companies VALUES('yle','YLE (Finnish Broadcasting Company)','Yle (Yleisradio, Finnish Broadcasting Company) is Finland''s national public service broadcasting company.','https://yle.fi/aihe/artikkeli/2015/01/11/tietosuojalauseke','https://yle.fi/','4506','FI',NULL,NULL);\nINSERT INTO companies VALUES('yllixmedia','YllixMedia','\"YllixMedia is a popular CPM, CPC and CPA based banner advertising network.\"','https://yllix.com/en/privacy-policy/','https://yllix.com/','3314',NULL,'office@yllix.com',NULL);\nINSERT INTO companies VALUES('yo','Yo','\"The simplest & most efficient communication tool in the world.Yo is a single-tap zero character communication tool.\"','http://www.justyo.co/privacy/','http://www.justyo.co/','3558',NULL,'contact@justyo.co',NULL);\nINSERT INTO companies VALUES('yodle','Yodle','\"Yodle reviews the best way to build a web presence for a local business, which includes designing a high quality website and securing consistent listings on key directories and maps. We then drive calls and emails, track performance and function as a company’s online marketing department.\" Yodle is owned by ProfitFuel, Inc.','http://www.yodle.com/legal/policies/privacy-policy/','http://www.yodle.com/','2731',NULL,'privacy@yodle.com',NULL);\nINSERT INTO companies VALUES('yola','Yola','\"Create a Free Professional Website: Yola’s award-winning Sitebuilder is fast, free, flexible and makes it easy to create a professional-looking website without third-party advertisements!\"','https://www.yola.com/privacy-policy','https://www.yola.com/','2041',NULL,'support@yola.com',NULL);\nINSERT INTO companies VALUES('yomedia','YOMEDIA','\"YOMEDIA is an Innovative Digital Marketing Agency, specializing in services: 1. Digital Strategy 2. Yomedia Ad Network, Facebook Ads, Google Ads 3. Social Media Marketing 4. Performance Marketing 5. Web / App Design & Development Founded in 2013, we are made up of experienced marketers, publishers, advertisers, developers, designers, and more, who are all aiming for one thing: To meet brands’ online advertising goals. We deliver indispensable creative and commercial thinking that connects brands closers to their customers online. Our goal is to be among Top Vietnam Agencies. To make that goal comes true, we are continuously investing in quality of our human resource and technology. We have joined together with premium publishers, and owned a comprehensive Ad network totally built by in-house technical team. \"','http://www.pinetech.vn/','http://www.pinetech.vn/','4498',NULL,'hr@pinetech.vn',NULL);\nINSERT INTO companies VALUES('yoonla','Yoonla','Brand Affinity Technologies (BAT) provides a platform for connecting advertisers with athletes for endorsement and involvement in marketing campaigns. BAT''s product suite enables advertisers to research, license and activate celebrity endorsements, and helps users follow and interactive with celebrities across the web.','http://www.yoonla.com/privacy/','https://app.yoonla.com/optin-18107119#a_aid=345hj98kil0xx','1077','US',NULL,NULL);\nINSERT INTO companies VALUES('yotpo','Yotpo','Yotpo’s unified platform is a unique, proprietary customer retention platform that offers a single-platform approach connecting data and experiences with solutions for Reviews and Visual UGC, Loyalty & Referrals, SMS Marketing, Email Marketing and Subscriptions to maximize customer retention.','https://www.yotpo.com/privacy-policy/','https://www.yotpo.com/','2657','IL','privacy@yotpo.com',NULL);\nINSERT INTO companies VALUES('yottaa','Yottaa','Yottaa is an eCommerce Acceleration platform','https://www.yottaa.com/privacy-legal/','https://www.yottaa.com/','5419','US','privacy@Yottaa.com',NULL);\nINSERT INTO companies VALUES('yottly','Yottly','Yottly is an open analytical framework containing its own AI engine to automatically manage marketing campaigns. It automatically decides which campaigns to launch and which to close based on their performance.','https://yottly.com/','https://yottly.com/','4343',NULL,'info@yottly.com',NULL);\nINSERT INTO companies VALUES('yottos','Yottos','\"Yottos is a new search system, which is quick, precise, simple and user-friendly... The goal of the Yottos search system is to simplify the search process, to organize and put the latest information at the users’ disposal as quickly as possible.\"Translated by Google Translate','https://blog.yottos.com/politika-konfidencialnosti/?_ga=1.80538071.1568185393.1489585610','http://yottos.com','2951',NULL,NULL,NULL);\nINSERT INTO companies VALUES('youcanbookme','YouCanBookMe','We''ve been happily scheduling time online ever since we launched our first app, WhenIsGood.net, in 2008. YouCanBook.me was born in 2011. Since then we''ve grown from a tiny tool with a handful of users to a service that tens of thousands of people trust to handle over 750,000 bookings a month.Even though the product has grown over the years, we''re still a small and dedicated team who love solving scheduling problems all over the world. We''re proud to remain a privately owned company - solvent, stable and a safe pair of hands.','https://youcanbook.me/privacy/','https://youcanbook.me/','5153',NULL,NULL,NULL);\nINSERT INTO companies VALUES('youku','Youku','于2006年12月21日正式推出。优酷以 \"快者为王\"为产品理念，凭借\"快速播放，快速发布，快速搜索\"的产品特性，充分满足用户日益增长的互动需求及多元化视频体验，现已成为中国互联网领域知名度较高并受用户喜爱的网络应用和视频平台。优酷坚持打造“阳光、真实、主流、有梦想”的品牌形象，以\"合计划\"为导向，联手众多合作伙伴展开资源整合和内容拓展，利用视频媒体独特的属性开创“台网联动”传播模式，不断响应行业及网民诉求，推动网络视频行业主流化进程。现已成为正版影视节目发行、传播和营销的合法平台。优酷不断实践\"三网合一\"的使命，现已覆盖PC、电视、移动三大终端，兼具影视、综艺、资讯三大内容形态，贯通视频内容制作、播出、发行三大环节，成为真正意义的互联网电视媒体，引领视频行业格局及全媒时代的大格局。','http://mapp.youku.com/service/flsm2?spm=a2hc9.20008155.0.0','https://www.youku.com/','4558',NULL,NULL,NULL);\nINSERT INTO companies VALUES('ysance','Ysance','Ysance is the provider of a people-based marketing platform, powering the omni-channel marketing strategies in 26 countries for leading retailers such as Auchan, Boulanger, and Yves Rocher.  Ysance enables marketing teams to recognize and qualify an unprecedented share of their anonymous digital audience and engage them in meaningful personalized interactions, across all online advertising, web, mobile, in-store and email activation channels.Benefits include optimized media strategies, superior web and mobile conversions, online-to-offline omni-commerce strategies that demonstrably grow in-store revenue, and turbocharged email campaign performance.','https://www.iubenda.com/privacy-policy/8041025','https://www.ysance.com/en/index.html','4767',NULL,NULL,NULL);\nINSERT INTO companies VALUES('yume','YuMe','YuMe is a video advertising technology company that makes it easy for publishers to make money from their video content, using ACE Video Ad Management platform.','http://www.yume.com/privacy-policy-opt-out','http://www.yume.com/','281','US','privacy@yume.com',NULL);\nINSERT INTO companies VALUES('yusp','Yusp','Gravity the team behind Yusp, as an R&D company, has been focusing on Data Science since 2006: the research and development of recommendation algorithms and their applications to a multitude of business models. The core of this team comprises of the same data scientists that, as the leaders of The Ensemble team, tied for first place in the Netflix Prize competition and are now also key members of the EU-funded CrowdRec project which aims to develop the next generation of recommendation systems.Supported by its worldwide strategic partnership with Deloitte, the company is a prominent player of the next generation digital transformation and personalization landscape.','https://www.yusp.com/privacy-policy/','https://www.yusp.com/','5134',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zadarma','Zadarma','Zadarma’s IP Telephony is an Internet-based phone network that enables clients to make and receive calls from any device connected to the Internet.','https://zadarma.com/en/rules/','https://zadarma.com/','5151',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zalando','Zalando',NULL,'https://en.zalando.de/zalando-privacy-policy/','https://zalando.de/','5420','DE','privacy_policy@zalando.de',NULL);\nINSERT INTO companies VALUES('zalo','Zalo','Zalo is a free mobile multimedia application that allows you to communicate and connect with friends wherever you are.','https://oa.zalo.me/home/blog/dieu-khoan-tham-gia-zalo-official-account-article38','https://zaloapp.com/','3643',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zappos','Zappos','\"The Zappos Family of Companies, a subsidiary of Amazon.com, is a leader in online apparel and footwear sales.\"','https://www.zappos.com/privacy-policy','https://www.zappos.com/','1998',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zapunited','zapunited','zapunited is an ad network that offers various user targeting options. zapunited helps advertisers generate traffic, buzz and conversions with efficient advertising on websites and blogs with low costs and full control, and helps publishers generate additional revenue with your own website. You can offer additional value to your visitors and earn money at the same time with attractive and unobtrusive advertising.','http://www.zapunited.com/help/privacy','http://www.zapunited.com/','1140','US','info@zapunited.com',NULL);\nINSERT INTO companies VALUES('zebestof','Zebestof','\"Funded in 2003, Zebestof has acquired a great knowledge on managing Sponsored links campaigns.\"','http://www.zebestof.com/en/about-us-2/privacy-en/','http://www.zebestof.com/en/home/','3270',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zedo','Zedo','Zedo is a privately held ad serving company focused on providing advertisers, publishers and ad networks with hosted technology tools for ad delivery and performance. Zedo uses behavioral targeting to determine appropriate audience segments for ad serving. Their hosted self-service platform include, Universal Pixel Connexion tags that allow ad networks to track user behavior in tandem with publishers serving their ads.','http://www.zedo.com/about-zedo/privacy-policy/','http://www.zedo.com','188','US','privacy@zedo.com',NULL);\nINSERT INTO companies VALUES('zemanta','Outbrain','Outbrain’s mission is to serve interesting recommendations to you based on what we believe are your interests. To achieve our mission we enter into agreements with: Online publishers and partners who want to recommend relevant content to their readers (this is Outbrain Engage); Advertisers who want readers to view their content (this is Outbrain Amplify); And third party partners who help us serve relevant recommendations.','https://www.outbrain.com/privacy/','https://www.outbrain.com/','189','US','dpo@outbrain.com','Zemanta was acquired by Outbrain in 2017: https://www.zemanta.com/about-zemanta/');\nINSERT INTO companies VALUES('zencoder','Zencoder','Zencoder is a cloud-based video and audio encoding product suite from Brightcove (NASDAQ: BCOV), a leading global provider of cloud content services. The Zencoder service provides customers with high quality, reliable encoding of live and on-demand video and access to unlimited video encoding power without having to pay for, manage and scale expensive hardware and software.','https://zencoder.com/en/privacy','https://zencoder.com/en/','4475','US','safeharbor@zencoder.com',NULL);\nINSERT INTO companies VALUES('zendesk','Zendesk','Zendesk is a web-based help desk solution. Their Software-as-a-Service (SaaS) package is designed with a support ticket system and a self-service customer support platform to help manage customer conversations.','https://www.zendesk.com/company/privacy','https://www.zendesk.com/','190','US','privacy@zendesk.com',NULL);\nINSERT INTO companies VALUES('zenleads','ZenLeads','Zenleads Inc., doing business as Apollo, designs and develops software. The Company provides a lead generation and sales communication platform for businesses.','https://www.apollo.io/privacy-policy','https://www.apollo.io/','','US','privacy@apollo.io',NULL);\nINSERT INTO companies VALUES('zenovia','Zenovia','\"The Zenovia Digital Exchange display advertising platform increases returns for online advertisers and publishers of all sizes.\"','http://www.zenoviaexchange.com/ad-exchange-privacy-policy','http://www.zenoviaexchange.com/','2296',NULL,'privacy@zenoviaexchange.com',NULL);\nINSERT INTO companies VALUES('zeotap','zeotap','Zeotap is a customer intelligence platform that specializes in data solutions and marketing technology. They offer a Customer Data Platform (CDP), data targeting solutions, and a universal marketing ID initiative to help businesses manage and utilize customer data effectively.','https://zeotap.com/privacy-policy/','https://zeotap.com/','','DE','privacy@zeotap.com',NULL);\nINSERT INTO companies VALUES('zergnet','ZergNet','\"The idea behind ZergNet is simple.Websites place article links from other network members on their sites to cross-promote their best content. Websites typically receive significantly more visitors to their site than they send to the network, as their content is displayed across the entire network and ZergNet.com.\"','https://www.zergnet.com/privacy','https://www.zergnet.com/info','1924',NULL,'support@zergnet.com',NULL);\nINSERT INTO companies VALUES('zeta','Zeta Global','Zeta Interactive is a provider of integrated interactive services. They help marketers leverage the Internet to build brands, increase sales, improve processes, and reduce costs. Zeta Interactive''s focus is in crafting strategies and solutions for their clients to help them acquire, retain, up-sell, cross-sell and win back their customers.','https://zetaglobal.com/privacy-policy/','https://zetaglobal.com/','426','US','info@zetaglobal.com',NULL);\nINSERT INTO companies VALUES('ziff_davis','Ziff Davis LLC','Ziff Davis, Inc. is a leading digital media company specializing in the technology market and reaching over 40 million highly engaged in-market buyers and influencers every month. Ziff Davis sites, including PCMag.com, Geek.com, ExtremeTech and LogicBuy.com, feature trusted, comprehensive lab-based evaluations of the newest and hottest products.Ziff Davis also operates BuyerBase™, the only advanced ad targeting platform focused on reaching tech buyers on non-tech sites across the internet, as well as commerce sites that offer the latest and best tech product deals available online.','https://www.ziffdavis.com/privacy-policy','http://www.ziffdavis.com/#','660','US','ZDLegal1@ziffdavis.com',NULL);\nINSERT INTO companies VALUES('zift_solutions','Zift Solutions','Zift is the undisputed Enterprise Channel Management leader, with the largest partner ecosystem worldwide. Zift is also a treasure trove of channel and business intelligence with over 2B tracked data points you can use for analysis and benchmarking. More than 80 percent of channel chiefs rely on Zift because we know more about the channel – and do more to drive measurable channel success – than anyone else.\"','https://ziftsolutions.com/legal/privacy-policy/','https://ziftsolutions.com/','5245',NULL,'privacy@ziftsolutions.com',NULL);\nINSERT INTO companies VALUES('zippyshare','Zippyshare','\"Zippyshare.com is completely free, reliable and popular way to store files online.\"','http://www.zippyshare.com/sites/terms_and_conditions_of_use.html','http://www.zippyshare.com','1632','US',NULL,NULL);\nINSERT INTO companies VALUES('zmags','ZMAGS','Our platforms revolutionize how brands bring their content journeys to life — without traditional technology + resource constraints — delivering an immersive customer experience, and driving meaningful results for the brand.','https://zmags.com/privacy-policy.html#english','https://zmags.com/','4892',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zoho_corp','Zoho Corporation','Zoho Corporation is an Indian multinational technology company that makes computer software and web-based business tools. It is best known for the online office suite offering Zoho Office Suite.','https://www.zoho.com/privacy.html','https://www.zohocorp.com','4214','IN',NULL,NULL);\nINSERT INTO companies VALUES('zoomd','Zoomd','\"Zoomd develops a site-search recommendation widget with new monetization opportunities. Zoomd transforms the standard site search field into engaging actionable search recommendations.With a short code implementation, publishers and site owners can offer their visitors a new experience in the search box with user-friendly monetization opportunities. Our clients enjoy an increase in page views, lower bounce rates, and additive revenues from monetized ads.The innovative technology behind Zoomd uses NLP and machine learning algorithms to offer the users customized and optimized content.Zoomd won the 2014 Mobile Monetization Summit Startup Contest and continues in its mission to make the search box the first step in the user''s site journey.\"','https://www.zoomd.com/Privacy.html','https://zoomd.com/','4877',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zoominfo','ZoomInfo','ZoomInfo collects business contact and similar information related to individuals when they are working in their professional or employment capacity and uses this information to create professional profiles of individuals and profiles of businesses. It provides this information to its customers trying to reach business professionals for their own business-to-business sales, marketing, and recruiting activities.','https://www.zoominfo.com/legal/privacy-policy','https://www.zoominfo.com','','US','privacy@zoominfo.com',NULL);\nINSERT INTO companies VALUES('zowie','Zowie','Zowie Inc. is an AI Agents platform for enterprises that uses Generative AI to automate complex support tasks across chat, email, and voice—without hallucinating. By understanding context and learning from each interaction, it streamlines operations, boosts efficiency, and delivers accurate responses.','https://getzowie.com/privacy-policy','https://getzowie.com/','','US','privacy@zowie.ai',NULL);\nINSERT INTO companies VALUES('zuora','Zuora','Zuora creates and provides software for businesses to launch and manage their subscription-based services.','https://www.zuora.com/privacy-statement/','https://www.zuora.com/','','US','privacy@zuora.com',NULL);\nINSERT INTO companies VALUES('zwaar','Zwaar','\"Launched ad network visitors in 2010, targeting the Middle East to serve a large group of beneficiaries of the advertising service in order to provide the best service at low cost, thanks to the efforts of the working group was able to display the development of a new propaganda system reimburse the advertising needs of the market; the aim of the network is to provide high-tech and more Control tools for better advertising platform\"Translated from Arabic by Google Translate','https://ads.zwaar.net/en/int/terms.php?type=ad','http://www.zwaar.org','3631',NULL,NULL,NULL);\nINSERT INTO companies VALUES('zypmedia','Zypmedia','ZypLink connects local media companies, advertising agencies and advertisers with the widest array of premium video and display impressions across desktop, mobile and connected TVs. ZypLink applies advanced geographic, demographic, contextual, behavioral and other targeting utilizing the best 3rd party data sources, proprietary 1st party data collected and segmented by ZypMedia, and 1st data supplied by advertisers (when available).','http://www.zypmedia.com/privacy-policy','http://www.zypmedia.com/','4668',NULL,'privacy@zypmedia.com',NULL);\nCREATE TABLE tracker_domains (\n  tracker TEXT NOT NULL,\n  domain TEXT UNIQUE NOT NULL,\n  notes TEXT,\n  FOREIGN KEY (tracker) REFERENCES trackers (id)\n);\nINSERT INTO tracker_domains VALUES('1000mercis','mmtro.com',NULL);\nINSERT INTO tracker_domains VALUES('161media','creative-serving.com',NULL);\nINSERT INTO tracker_domains VALUES('161media','p161.net',NULL);\nINSERT INTO tracker_domains VALUES('1822direkt.de','1822direkt.de',NULL);\nINSERT INTO tracker_domains VALUES('1dmp.io','1dmp.io',NULL);\nINSERT INTO tracker_domains VALUES('1plusx','opecloud.com',NULL);\nINSERT INTO tracker_domains VALUES('1sponsor','1sponsor.com',NULL);\nINSERT INTO tracker_domains VALUES('1tag','tm.dentsu.de',NULL);\nINSERT INTO tracker_domains VALUES('1und1','1and1.com',NULL);\nINSERT INTO tracker_domains VALUES('1und1','1und1.de',NULL);\nINSERT INTO tracker_domains VALUES('1und1','uicdn.com',NULL);\nINSERT INTO tracker_domains VALUES('1und1','website-start.de',NULL);\nINSERT INTO tracker_domains VALUES('24-ads.com','24-ads.com',NULL);\nINSERT INTO tracker_domains VALUES('24_7','247-inc.net',NULL);\nINSERT INTO tracker_domains VALUES('24_7','d1af033869koo7.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('24log','counter.24log.ru',NULL);\nINSERT INTO tracker_domains VALUES('24smi','24smi.net',NULL);\nINSERT INTO tracker_domains VALUES('24smi','24smi.org',NULL);\nINSERT INTO tracker_domains VALUES('2leep','2leep.com',NULL);\nINSERT INTO tracker_domains VALUES('33across','33across.com',NULL);\nINSERT INTO tracker_domains VALUES('3dstats','3dstats.com',NULL);\nINSERT INTO tracker_domains VALUES('4chan','4cdn.org',NULL);\nINSERT INTO tracker_domains VALUES('4finance_com','4finance.com',NULL);\nINSERT INTO tracker_domains VALUES('4w_marketplace','4wnet.com',NULL);\nINSERT INTO tracker_domains VALUES('500friends','d3aa0ztdn3oibi.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('51.la','51.la',NULL);\nINSERT INTO tracker_domains VALUES('5min_media','5min.com',NULL);\nINSERT INTO tracker_domains VALUES('6sense','6sc.co',NULL);\nINSERT INTO tracker_domains VALUES('6sense','6sense.com',NULL);\nINSERT INTO tracker_domains VALUES('77tracking','77tracking.com',NULL);\nINSERT INTO tracker_domains VALUES('7tv.de','7tv.de',NULL);\nINSERT INTO tracker_domains VALUES('888media','888media.net',NULL);\nINSERT INTO tracker_domains VALUES('8digits','hit.8digits.com',NULL);\nINSERT INTO tracker_domains VALUES('94j7afz2nr.xyz','94j7afz2nr.xyz',NULL);\nINSERT INTO tracker_domains VALUES('99stats','statsanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('a3cloud_net','a3cloud.net',NULL);\nINSERT INTO tracker_domains VALUES('a8','a8.net',NULL);\nINSERT INTO tracker_domains VALUES('aaxads.com','aaxads.com',NULL);\nINSERT INTO tracker_domains VALUES('ab_tasty','abtasty.com',NULL);\nINSERT INTO tracker_domains VALUES('ab_tasty','d1447tq2m68ekg.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('ablida','ablida.de',NULL);\nINSERT INTO tracker_domains VALUES('ablida','ablida.net',NULL);\nINSERT INTO tracker_domains VALUES('acceleration_partners','lantern.roeye.com',NULL);\nINSERT INTO tracker_domains VALUES('acceleration_partners','lantern.roeyecdn.com',NULL);\nINSERT INTO tracker_domains VALUES('accelia','durasite.net',NULL);\nINSERT INTO tracker_domains VALUES('accengage','accengage.net',NULL);\nINSERT INTO tracker_domains VALUES('accessanalyzer','ax.xrea.com',NULL);\nINSERT INTO tracker_domains VALUES('accessibe','acsbap.com',NULL);\nINSERT INTO tracker_domains VALUES('accessibe','acsbapp.com',NULL);\nINSERT INTO tracker_domains VALUES('accesstrade','accesstrade.net',NULL);\nINSERT INTO tracker_domains VALUES('accord_group','agcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('accordant_media','accmgr.com',NULL);\nINSERT INTO tracker_domains VALUES('accuen_media','p-td.com',NULL);\nINSERT INTO tracker_domains VALUES('acecounter','acecounter.com',NULL);\nINSERT INTO tracker_domains VALUES('acecounter','cr.acecounter.com',NULL);\nINSERT INTO tracker_domains VALUES('acecounter','www.home.acecounter.com',NULL);\nINSERT INTO tracker_domains VALUES('acestream.net','acestream.net',NULL);\nINSERT INTO tracker_domains VALUES('acint.net','acint.net',NULL);\nINSERT INTO tracker_domains VALUES('acloudimages','acloudimages.com',NULL);\nINSERT INTO tracker_domains VALUES('acpm.fr','acpm.fr',NULL);\nINSERT INTO tracker_domains VALUES('acquia.com','acquia.com',NULL);\nINSERT INTO tracker_domains VALUES('acrweb','ziyu.net',NULL);\nINSERT INTO tracker_domains VALUES('actionpay','actionpay.ru',NULL);\nINSERT INTO tracker_domains VALUES('actionpay','adnwb.ru',NULL);\nINSERT INTO tracker_domains VALUES('actionpay','adonweb.ru',NULL);\nINSERT INTO tracker_domains VALUES('active_agent','active-agent.com',NULL);\nINSERT INTO tracker_domains VALUES('active_campaign','trackcmp.net',NULL);\nINSERT INTO tracker_domains VALUES('active_campaign','app-us1.com',NULL);\nINSERT INTO tracker_domains VALUES('active_performance','active-srv02.de',NULL);\nINSERT INTO tracker_domains VALUES('active_performance','active-tracking.de',NULL);\nINSERT INTO tracker_domains VALUES('activeconversion','activeconversion.com',NULL);\nINSERT INTO tracker_domains VALUES('activecore','a-cast.jp',NULL);\nINSERT INTO tracker_domains VALUES('activemeter','activemeter.com',NULL);\nINSERT INTO tracker_domains VALUES('activengage','go.activengage.com',NULL);\nINSERT INTO tracker_domains VALUES('acton','actonsoftware.com',NULL);\nINSERT INTO tracker_domains VALUES('acuity_ads','acuityplatform.com',NULL);\nINSERT INTO tracker_domains VALUES('acxiom','acxiom-online.com',NULL);\nINSERT INTO tracker_domains VALUES('acxiom','acxiom.com',NULL);\nINSERT INTO tracker_domains VALUES('ad-blocker.org','ad-blocker.org',NULL);\nINSERT INTO tracker_domains VALUES('ad-center','ads.ad-center.com',NULL);\nINSERT INTO tracker_domains VALUES('ad-delivery.net','ad-delivery.net',NULL);\nINSERT INTO tracker_domains VALUES('ad-sys','ad-sys.com',NULL);\nINSERT INTO tracker_domains VALUES('ad.agio','adagionet.com',NULL);\nINSERT INTO tracker_domains VALUES('ad2click','ad2click.go2cloud.org',NULL);\nINSERT INTO tracker_domains VALUES('ad2games','ad2games.com',NULL);\nINSERT INTO tracker_domains VALUES('ad360','ad360.vn',NULL);\nINSERT INTO tracker_domains VALUES('ad4game','ads.ad4game.com',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.ar',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.at',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.be',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.bg',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.br',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.ch',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.cz',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.de',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.dk',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.es',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.fi',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.fr',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.gr',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.hu',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.it',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.mx',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.net',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.nl',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.no',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.pl',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.ro',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.ru',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.se',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4mat.tr',NULL);\nINSERT INTO tracker_domains VALUES('ad4mat','ad4m.at',NULL);\nINSERT INTO tracker_domains VALUES('ad6media','ad6.fr',NULL);\nINSERT INTO tracker_domains VALUES('ad6media','ad6media.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('ad6media','ad6media.com',NULL);\nINSERT INTO tracker_domains VALUES('ad6media','ad6media.es',NULL);\nINSERT INTO tracker_domains VALUES('ad6media','ad6media.fr',NULL);\nINSERT INTO tracker_domains VALUES('ad_decisive','a2dfp.net',NULL);\nINSERT INTO tracker_domains VALUES('ad_dynamo','addynamo.net',NULL);\nINSERT INTO tracker_domains VALUES('ad_ebis','ebis.ne.jp',NULL);\nINSERT INTO tracker_domains VALUES('ad_lightning','adlightning.com',NULL);\nINSERT INTO tracker_domains VALUES('ad_magnet','admagnet.net',NULL);\nINSERT INTO tracker_domains VALUES('ad_magnet','amimg.net',NULL);\nINSERT INTO tracker_domains VALUES('ad_spirit','adspirit.de',NULL);\nINSERT INTO tracker_domains VALUES('ad_spirit','adspirit.net',NULL);\nINSERT INTO tracker_domains VALUES('adac_de','adac.de',NULL);\nINSERT INTO tracker_domains VALUES('adacado','adacado.com',NULL);\nINSERT INTO tracker_domains VALUES('adadyn','ozonemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('adality_gmbh','adrtx.net',NULL);\nINSERT INTO tracker_domains VALUES('adalliance.io','adalliance.io',NULL);\nINSERT INTO tracker_domains VALUES('adalyser.com','adalyser.com',NULL);\nINSERT INTO tracker_domains VALUES('adaos','adaos-ads.net',NULL);\nINSERT INTO tracker_domains VALUES('adap.tv','adap.tv',NULL);\nINSERT INTO tracker_domains VALUES('adaptiveblue_smartlinks','smrtlnks.com',NULL);\nINSERT INTO tracker_domains VALUES('adaptmx','amxrtb.com',NULL);\nINSERT INTO tracker_domains VALUES('adaptmx','a-mo.net',NULL);\nINSERT INTO tracker_domains VALUES('adara_analytics','yieldoptimizer.com',NULL);\nINSERT INTO tracker_domains VALUES('adasia_holdings','adnetwork.adasiaholdings.com',NULL);\nINSERT INTO tracker_domains VALUES('adbetclickin.pink','adbetclickin.pink',NULL);\nINSERT INTO tracker_domains VALUES('adbetnet.com','adbetnet.com',NULL);\nINSERT INTO tracker_domains VALUES('adblade.com','adblade.com',NULL);\nINSERT INTO tracker_domains VALUES('adbooth','adbooth.com',NULL);\nINSERT INTO tracker_domains VALUES('adbooth','adbooth.net',NULL);\nINSERT INTO tracker_domains VALUES('adbox','adbox.lv',NULL);\nINSERT INTO tracker_domains VALUES('adbrain','adbrn.com',NULL);\nINSERT INTO tracker_domains VALUES('adbrite','adbrite.com',NULL);\nINSERT INTO tracker_domains VALUES('adbull','adbull.com',NULL);\nINSERT INTO tracker_domains VALUES('adbutler','adbutler.com',NULL);\nINSERT INTO tracker_domains VALUES('adc_media','adc-serv.net',NULL);\nINSERT INTO tracker_domains VALUES('adc_media','adc-srv.net',NULL);\nINSERT INTO tracker_domains VALUES('adcalls','adcalls.nl',NULL);\nINSERT INTO tracker_domains VALUES('adcash','adcash.com',NULL);\nINSERT INTO tracker_domains VALUES('adchakra','vuroll.in',NULL);\nINSERT INTO tracker_domains VALUES('adchina','acs86.com',NULL);\nINSERT INTO tracker_domains VALUES('adchina','csbew.com',NULL);\nINSERT INTO tracker_domains VALUES('adchina','irs09.com',NULL);\nINSERT INTO tracker_domains VALUES('adcito','adcito.com',NULL);\nINSERT INTO tracker_domains VALUES('adcito','adcitomedia.com',NULL);\nINSERT INTO tracker_domains VALUES('adclear','adclear.net',NULL);\nINSERT INTO tracker_domains VALUES('adclerks','swift.adclerks.com',NULL);\nINSERT INTO tracker_domains VALUES('adclickmedia','adclickmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('adclickzone','adclickzone.go2cloud.org',NULL);\nINSERT INTO tracker_domains VALUES('adcloud','ad-cloud.jp',NULL);\nINSERT INTO tracker_domains VALUES('adcolony','admarvel.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('adcolony','ads.admarvel.com',NULL);\nINSERT INTO tracker_domains VALUES('adconion','adrdgt.com',NULL);\nINSERT INTO tracker_domains VALUES('adconion','amgdgt.com',NULL);\nINSERT INTO tracker_domains VALUES('adcrowd','adcrowd.com',NULL);\nINSERT INTO tracker_domains VALUES('adcurve','shop2market.com',NULL);\nINSERT INTO tracker_domains VALUES('add_to_calendar','addtocalendar.com',NULL);\nINSERT INTO tracker_domains VALUES('addaptive','dpmsrv.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','de-en-es.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','brwsrfrm.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','benelph.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','addefend-platform.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','jubbie.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','yagiay.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','edioca.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','atonato.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','mitself.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','hirsung.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','frantro.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','uobsoe.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','domself.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','undom.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','def-service.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','feadrope.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','untho.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','aaroaj.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','bupatp.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','iefpiu.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','qivaiw.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','qozveo.com',NULL);\nINSERT INTO tracker_domains VALUES('addefend','def-platform.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','def-service.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','mellodur.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','outhulem.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','skilyake.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','utoumine.net',NULL);\nINSERT INTO tracker_domains VALUES('addefend','builfico.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','content-choice.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','cussixia.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','def-platform.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','def-service.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','dywolfer.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','eltelmis.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','expepp.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','hobodoka.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','intectwo.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','itectale.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','odillees.de',NULL);\nINSERT INTO tracker_domains VALUES('addefend','unifini.de',NULL);\nINSERT INTO tracker_domains VALUES('addfreestats','addfreestats.com',NULL);\nINSERT INTO tracker_domains VALUES('addinto','addinto.com',NULL);\nINSERT INTO tracker_domains VALUES('addshoppers','addshoppers.com',NULL);\nINSERT INTO tracker_domains VALUES('addshoppers','shop.pe',NULL);\nINSERT INTO tracker_domains VALUES('addthis','addthis.com',NULL);\nINSERT INTO tracker_domains VALUES('addthis','addthiscdn.com',NULL);\nINSERT INTO tracker_domains VALUES('addthis','addthisedge.com',NULL);\nINSERT INTO tracker_domains VALUES('addvalue','b2btracking.addvalue.de',NULL);\nINSERT INTO tracker_domains VALUES('addyon','addyon.com',NULL);\nINSERT INTO tracker_domains VALUES('adeasy','adeasy.ru',NULL);\nINSERT INTO tracker_domains VALUES('adelphic','ipredictive.com',NULL);\nINSERT INTO tracker_domains VALUES('adengage','adengage.com',NULL);\nINSERT INTO tracker_domains VALUES('adespresso','adespresso.com',NULL);\nINSERT INTO tracker_domains VALUES('adexcite','adexcite.com',NULL);\nINSERT INTO tracker_domains VALUES('adextent','adextent.com',NULL);\nINSERT INTO tracker_domains VALUES('adf.ly','adf.ly',NULL);\nINSERT INTO tracker_domains VALUES('adfalcon','adfalcon.com',NULL);\nINSERT INTO tracker_domains VALUES('adfit','adfit.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('adfocus','adfoc.us',NULL);\nINSERT INTO tracker_domains VALUES('adforgames','js.adforgames.com',NULL);\nINSERT INTO tracker_domains VALUES('adform','adform.net',NULL);\nINSERT INTO tracker_domains VALUES('adform','adformdsp.net',NULL);\nINSERT INTO tracker_domains VALUES('adform','seadform.net',NULL);\nINSERT INTO tracker_domains VALUES('adfox','adfox.ru',NULL);\nINSERT INTO tracker_domains VALUES('adfox','adwolf.ru',NULL);\nINSERT INTO tracker_domains VALUES('adfreestyle','adfreestyle.pl',NULL);\nINSERT INTO tracker_domains VALUES('adfront','adfront.org',NULL);\nINSERT INTO tracker_domains VALUES('adfrontiers','adfrontiers.com',NULL);\nINSERT INTO tracker_domains VALUES('adgear','adgear.com',NULL);\nINSERT INTO tracker_domains VALUES('adgear','adgrx.com',NULL);\nINSERT INTO tracker_domains VALUES('adgebra','adgebra.co.in',NULL);\nINSERT INTO tracker_domains VALUES('adgenie','adgenie.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('adgile','ad.adgile.com',NULL);\nINSERT INTO tracker_domains VALUES('adgile','ad.antventure.com',NULL);\nINSERT INTO tracker_domains VALUES('adglare.net','adglare.net',NULL);\nINSERT INTO tracker_domains VALUES('adglue','adsafety.net',NULL);\nINSERT INTO tracker_domains VALUES('adgoal','smartadcheck.de',NULL);\nINSERT INTO tracker_domains VALUES('adgoal','smartredirect.de',NULL);\nINSERT INTO tracker_domains VALUES('adgorithms','adgorithms.com',NULL);\nINSERT INTO tracker_domains VALUES('adgoto','adgoto.com',NULL);\nINSERT INTO tracker_domains VALUES('adguard','adguard.com',NULL);\nINSERT INTO tracker_domains VALUES('adhands','adhands.ru',NULL);\nINSERT INTO tracker_domains VALUES('adhese','adhese.be',NULL);\nINSERT INTO tracker_domains VALUES('adhese','adhese.com',NULL);\nINSERT INTO tracker_domains VALUES('adhese','adhese.net',NULL);\nINSERT INTO tracker_domains VALUES('adhitz','adhitzads.com',NULL);\nINSERT INTO tracker_domains VALUES('adhood','adhood.com',NULL);\nINSERT INTO tracker_domains VALUES('adify','afy11.net',NULL);\nINSERT INTO tracker_domains VALUES('adikteev','cdn.adikteev.com',NULL);\nINSERT INTO tracker_domains VALUES('adimpact','adimpact.com',NULL);\nINSERT INTO tracker_domains VALUES('adinch','adinch.com',NULL);\nINSERT INTO tracker_domains VALUES('adition','adition.com',NULL);\nINSERT INTO tracker_domains VALUES('adjal','adjal.com',NULL);\nINSERT INTO tracker_domains VALUES('adjs','cdn.adjs.net',NULL);\nINSERT INTO tracker_domains VALUES('adjug','adjug.com',NULL);\nINSERT INTO tracker_domains VALUES('adjust','adjust.com',NULL);\nINSERT INTO tracker_domains VALUES('adk2','adk2.com',NULL);\nINSERT INTO tracker_domains VALUES('adk2','cdn.adsrvmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('adk2','cdn.cdnrl.com',NULL);\nINSERT INTO tracker_domains VALUES('adklip','adklip.com',NULL);\nINSERT INTO tracker_domains VALUES('adknowledge','adkengage.com',NULL);\nINSERT INTO tracker_domains VALUES('adknowledge','adknowledge.com',NULL);\nINSERT INTO tracker_domains VALUES('adknowledge','bidsystem.com',NULL);\nINSERT INTO tracker_domains VALUES('adknowledge','blogads.com',NULL);\nINSERT INTO tracker_domains VALUES('adknowledge','cubics.com',NULL);\nINSERT INTO tracker_domains VALUES('adknowledge','yarpp.org',NULL);\nINSERT INTO tracker_domains VALUES('adkontekst','adsearch.adkontekst.pl',NULL);\nINSERT INTO tracker_domains VALUES('adkontekst.pl','netsprint.eu',NULL);\nINSERT INTO tracker_domains VALUES('adlabs','adlabs.ru',NULL);\nINSERT INTO tracker_domains VALUES('adlabs','clickiocdn.com',NULL);\nINSERT INTO tracker_domains VALUES('adlabs','luxup.ru',NULL);\nINSERT INTO tracker_domains VALUES('adlabs','mixmarket.biz',NULL);\nINSERT INTO tracker_domains VALUES('adlantic','ad-serverparc.nl',NULL);\nINSERT INTO tracker_domains VALUES('adlantis','adimg.net',NULL);\nINSERT INTO tracker_domains VALUES('adlantis','adlantis.jp',NULL);\nINSERT INTO tracker_domains VALUES('adless','cdn.adless.io',NULL);\nINSERT INTO tracker_domains VALUES('adlive_header_bidding','api.publishers.adlive.io',NULL);\nINSERT INTO tracker_domains VALUES('adloox','adlooxtracking.com',NULL);\nINSERT INTO tracker_domains VALUES('admachine','adx1.com',NULL);\nINSERT INTO tracker_domains VALUES('adman','adman.gr',NULL);\nINSERT INTO tracker_domains VALUES('adman','adman.in.gr',NULL);\nINSERT INTO tracker_domains VALUES('adman_media','admanmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('admantx.com','admantx.com',NULL);\nINSERT INTO tracker_domains VALUES('admaster.cn','admaster.com.cn',NULL);\nINSERT INTO tracker_domains VALUES('admaster.cn','admasterapi.com',NULL);\nINSERT INTO tracker_domains VALUES('admaster','admaster.net',NULL);\nINSERT INTO tracker_domains VALUES('admaster','cdnmaster.com',NULL);\nINSERT INTO tracker_domains VALUES('admatic','admatic.com.tr',NULL);\nINSERT INTO tracker_domains VALUES('admatic','ads5.admatic.com.tr',NULL);\nINSERT INTO tracker_domains VALUES('admatic','cdn2.admatic.com.tr',NULL);\nINSERT INTO tracker_domains VALUES('admatrix','lib-3pas.admatrix.jp',NULL);\nINSERT INTO tracker_domains VALUES('admax','admaxserver.com',NULL);\nINSERT INTO tracker_domains VALUES('admaxim','admaxim.com',NULL);\nINSERT INTO tracker_domains VALUES('admaya','admaya.in',NULL);\nINSERT INTO tracker_domains VALUES('admedia','admedia.com',NULL);\nINSERT INTO tracker_domains VALUES('admedo_com','adizio.com',NULL);\nINSERT INTO tracker_domains VALUES('admedo_com','admedo.com',NULL);\nINSERT INTO tracker_domains VALUES('admeira.ch','admeira.ch',NULL);\nINSERT INTO tracker_domains VALUES('admeld','admeld.com',NULL);\nINSERT INTO tracker_domains VALUES('admeo','admeo.ru',NULL);\nINSERT INTO tracker_domains VALUES('admeta','admaym.com',NULL);\nINSERT INTO tracker_domains VALUES('admeta','atemda.com',NULL);\nINSERT INTO tracker_domains VALUES('admicro','admicro.vn',NULL);\nINSERT INTO tracker_domains VALUES('admicro','vcmedia.vn',NULL);\nINSERT INTO tracker_domains VALUES('admitad.com','admitad.com',NULL);\nINSERT INTO tracker_domains VALUES('admixer.net','admixer.net',NULL);\nINSERT INTO tracker_domains VALUES('admized','admized.com',NULL);\nINSERT INTO tracker_domains VALUES('admo.tv','admo.tv',NULL);\nINSERT INTO tracker_domains VALUES('admob','a.admob.com',NULL);\nINSERT INTO tracker_domains VALUES('admob','mm.admob.com',NULL);\nINSERT INTO tracker_domains VALUES('admob','mmv.admob.com',NULL);\nINSERT INTO tracker_domains VALUES('admob','p.admob.com',NULL);\nINSERT INTO tracker_domains VALUES('admost','run.admost.com',NULL);\nINSERT INTO tracker_domains VALUES('admotion','dmmotion.com',NULL);\nINSERT INTO tracker_domains VALUES('admotion','nspmotion.com',NULL);\nINSERT INTO tracker_domains VALUES('admulti','admulti.com',NULL);\nINSERT INTO tracker_domains VALUES('adnami','adnami.io',NULL);\nINSERT INTO tracker_domains VALUES('adnegah','adnegah.net',NULL);\nINSERT INTO tracker_domains VALUES('adnet.de','adnet.biz',NULL);\nINSERT INTO tracker_domains VALUES('adnet.de','adnet.de',NULL);\nINSERT INTO tracker_domains VALUES('adnet','adnet.vn',NULL);\nINSERT INTO tracker_domains VALUES('adnet_media','adclick.lt',NULL);\nINSERT INTO tracker_domains VALUES('adnet_media','adnet.lt',NULL);\nINSERT INTO tracker_domains VALUES('adnetwork.net','ad.adnetwork.net',NULL);\nINSERT INTO tracker_domains VALUES('adnetworkperformance.com','adnetworkperformance.com',NULL);\nINSERT INTO tracker_domains VALUES('adnexio','adserver.adnexio.com',NULL);\nINSERT INTO tracker_domains VALUES('adnium.com','adnium.com',NULL);\nINSERT INTO tracker_domains VALUES('adnologies','heias.com',NULL);\nINSERT INTO tracker_domains VALUES('adnow','smaclick.com',NULL);\nINSERT INTO tracker_domains VALUES('adnow','st-n.ads3-adnow.com',NULL);\nINSERT INTO tracker_domains VALUES('adnymics','adnymics.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_advertising_cloud','everestjs.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_advertising_cloud','everesttech.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_audience_manager','adobe.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_audience_manager','demdex.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_dynamic_media','scene7.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_dynamic_tag_management','adobedtm.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','adobedc.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','2o7.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','du8783wkf05yr.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','hitbox.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','imageg.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','nedstat.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','omtrdc.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','sitestat.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','rum.hlx.page',NULL);\nINSERT INTO tracker_domains VALUES('adobe_experience_cloud','adoberesources.net',NULL);\nINSERT INTO tracker_domains VALUES('adobe_login','adobelogin.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_tagmanager','adobetag.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_typekit','typekit.com',NULL);\nINSERT INTO tracker_domains VALUES('adobe_typekit','typekit.net',NULL);\nINSERT INTO tracker_domains VALUES('adocean','adocean.pl',NULL);\nINSERT INTO tracker_domains VALUES('adometry','dmtry.com',NULL);\nINSERT INTO tracker_domains VALUES('adomik','adomik.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','adcde.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','addlvr.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','adfeedstrk.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','adtrgt.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','bannertgt.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','cptgt.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','cpvfeed.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','cpvtgt.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','mygeek.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','popcde.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','sdfje.com',NULL);\nINSERT INTO tracker_domains VALUES('adon_network','urtbk.com',NULL);\nINSERT INTO tracker_domains VALUES('adonion','adonion.com',NULL);\nINSERT INTO tracker_domains VALUES('adonly','t.adonly.com',NULL);\nINSERT INTO tracker_domains VALUES('adoperator','adoperator.com',NULL);\nINSERT INTO tracker_domains VALUES('adoric','adoric.com',NULL);\nINSERT INTO tracker_domains VALUES('adorika','adorika.com',NULL);\nINSERT INTO tracker_domains VALUES('adorika','adorika.net',NULL);\nINSERT INTO tracker_domains VALUES('adosia','adosia.com',NULL);\nINSERT INTO tracker_domains VALUES('adotmob.com','adotmob.com',NULL);\nINSERT INTO tracker_domains VALUES('adotube','adotube.com',NULL);\nINSERT INTO tracker_domains VALUES('adparlor','adparlor.com',NULL);\nINSERT INTO tracker_domains VALUES('adparlor','adparlour.com',NULL);\nINSERT INTO tracker_domains VALUES('adpartner','a4p.adpartner.pro',NULL);\nINSERT INTO tracker_domains VALUES('adpeeps','adpeepshosted.com',NULL);\nINSERT INTO tracker_domains VALUES('adperfect','adperfect.com',NULL);\nINSERT INTO tracker_domains VALUES('adperium','adperium.com',NULL);\nINSERT INTO tracker_domains VALUES('adpilot','adpilot.at',NULL);\nINSERT INTO tracker_domains VALUES('adpilot','erne.co',NULL);\nINSERT INTO tracker_domains VALUES('adplan','adplan-ds.com',NULL);\nINSERT INTO tracker_domains VALUES('adplan','advg.jp',NULL);\nINSERT INTO tracker_domains VALUES('adplan','c.p-advg.com',NULL);\nINSERT INTO tracker_domains VALUES('adplus','adplus.co.id',NULL);\nINSERT INTO tracker_domains VALUES('adprofy','adframesrc.com',NULL);\nINSERT INTO tracker_domains VALUES('adpulse','adserve.adpulse.ir',NULL);\nINSERT INTO tracker_domains VALUES('adpv','ads.adpv.com',NULL);\nINSERT INTO tracker_domains VALUES('adreactor','adreactor.com',NULL);\nINSERT INTO tracker_domains VALUES('adrecord','adrecord.com',NULL);\nINSERT INTO tracker_domains VALUES('adrecover','adrecover.com',NULL);\nINSERT INTO tracker_domains VALUES('adresult','ad.vcm.jp',NULL);\nINSERT INTO tracker_domains VALUES('adresult','adresult.jp',NULL);\nINSERT INTO tracker_domains VALUES('adriver','adriver.ru',NULL);\nINSERT INTO tracker_domains VALUES('adroll','adroll.com',NULL);\nINSERT INTO tracker_domains VALUES('adrom','adrom.net',NULL);\nINSERT INTO tracker_domains VALUES('adrom','txt.eu',NULL);\nINSERT INTO tracker_domains VALUES('adru.net','adru.net',NULL);\nINSERT INTO tracker_domains VALUES('adrunnr','adrunnr.com',NULL);\nINSERT INTO tracker_domains VALUES('adsame','adsame.com',NULL);\nINSERT INTO tracker_domains VALUES('adsbookie','adsbookie.com',NULL);\nINSERT INTO tracker_domains VALUES('adscale','adscale.de',NULL);\nINSERT INTO tracker_domains VALUES('adscience','adscience.nl',NULL);\nINSERT INTO tracker_domains VALUES('adsco.re','adsco.re',NULL);\nINSERT INTO tracker_domains VALUES('adsensecamp','adsensecamp.com',NULL);\nINSERT INTO tracker_domains VALUES('adserverpub','adserverpub.com',NULL);\nINSERT INTO tracker_domains VALUES('adservice_media','online.adservicemedia.dk',NULL);\nINSERT INTO tracker_domains VALUES('adsfactor','adsfactor.net',NULL);\nINSERT INTO tracker_domains VALUES('adside','ads.doclix.com',NULL);\nINSERT INTO tracker_domains VALUES('adskeeper','adskeeper.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('adskom','ssp.adskom.com',NULL);\nINSERT INTO tracker_domains VALUES('adslot','adslot.com',NULL);\nINSERT INTO tracker_domains VALUES('adsmurai','adsmurai.com',NULL);\nINSERT INTO tracker_domains VALUES('adsnative','adsnative.com',NULL);\nINSERT INTO tracker_domains VALUES('adsninja','1x1.a-mo.net',NULL);\nINSERT INTO tracker_domains VALUES('adsniper.ru','adsniper.ru',NULL);\nINSERT INTO tracker_domains VALUES('adspeed','adspeed.com',NULL);\nINSERT INTO tracker_domains VALUES('adspeed','adspeed.net',NULL);\nINSERT INTO tracker_domains VALUES('adspyglass','o333o.com',NULL);\nINSERT INTO tracker_domains VALUES('adstage','adstage-analytics.herokuapp.com',NULL);\nINSERT INTO tracker_domains VALUES('adstanding','code.adstanding.com',NULL);\nINSERT INTO tracker_domains VALUES('adstars','adstars.co.id',NULL);\nINSERT INTO tracker_domains VALUES('adstir','ad-stir.com',NULL);\nINSERT INTO tracker_domains VALUES('adsupply','4dsply.com',NULL);\nINSERT INTO tracker_domains VALUES('adsupply','cdn.engine.adsupply.com',NULL);\nINSERT INTO tracker_domains VALUES('adsupply','trklnks.com',NULL);\nINSERT INTO tracker_domains VALUES('adswizz','adswizz.com',NULL);\nINSERT INTO tracker_domains VALUES('adtaily','adtaily.com',NULL);\nINSERT INTO tracker_domains VALUES('adtaily','adtaily.pl',NULL);\nINSERT INTO tracker_domains VALUES('adtarget.me','adtarget.me',NULL);\nINSERT INTO tracker_domains VALUES('adtech','adtech.de',NULL);\nINSERT INTO tracker_domains VALUES('adtech','adtechus.com',NULL);\nINSERT INTO tracker_domains VALUES('adtegrity','adtegrity.net',NULL);\nINSERT INTO tracker_domains VALUES('adtegrity','adtpix.com',NULL);\nINSERT INTO tracker_domains VALUES('adtelligence.de','adtelligence.de',NULL);\nINSERT INTO tracker_domains VALUES('adtheorent','adentifi.com',NULL);\nINSERT INTO tracker_domains VALUES('adthink','adthink.com',NULL);\nINSERT INTO tracker_domains VALUES('adthink','advertstream.com',NULL);\nINSERT INTO tracker_domains VALUES('adthink','audienceinsights.net',NULL);\nINSERT INTO tracker_domains VALUES('adtiger','adtiger.de',NULL);\nINSERT INTO tracker_domains VALUES('adtima','adtimaserver.vn',NULL);\nINSERT INTO tracker_domains VALUES('adtng.com','adtng.com',NULL);\nINSERT INTO tracker_domains VALUES('adtoma','adtoma.com',NULL);\nINSERT INTO tracker_domains VALUES('adtoma','adtomafusion.com',NULL);\nINSERT INTO tracker_domains VALUES('adtr02.com','adtr02.com',NULL);\nINSERT INTO tracker_domains VALUES('adtraction','track.adtraction.com',NULL);\nINSERT INTO tracker_domains VALUES('adtraxx','adtraxx.de',NULL);\nINSERT INTO tracker_domains VALUES('adtriba.com','adtriba.com',NULL);\nINSERT INTO tracker_domains VALUES('adtrue','adtrue.com',NULL);\nINSERT INTO tracker_domains VALUES('adtrustmedia','adtrustmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('adtube','ad.adtube.ir',NULL);\nINSERT INTO tracker_domains VALUES('adult_webmaster_empire','awempire.com',NULL);\nINSERT INTO tracker_domains VALUES('adult_webmaster_empire','dditscdn.com',NULL);\nINSERT INTO tracker_domains VALUES('adult_webmaster_empire','livejasmin.com',NULL);\nINSERT INTO tracker_domains VALUES('adultadworld','adultadworld.com',NULL);\nINSERT INTO tracker_domains VALUES('adultadworld','adworldmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('adup-tech.com','adup-tech.com',NULL);\nINSERT INTO tracker_domains VALUES('advaction','advaction.ru',NULL);\nINSERT INTO tracker_domains VALUES('advaction','aucourant.info',NULL);\nINSERT INTO tracker_domains VALUES('advaction','schetu.net',NULL);\nINSERT INTO tracker_domains VALUES('advalo','dqfw2hlp4tfww.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('advanced_hosters','ahcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('advanced_hosters','pix-cdn.org',NULL);\nINSERT INTO tracker_domains VALUES('advark','s3.advarkads.com',NULL);\nINSERT INTO tracker_domains VALUES('adventori','adventori.com',NULL);\nINSERT INTO tracker_domains VALUES('adverline','adnext.fr',NULL);\nINSERT INTO tracker_domains VALUES('adverline','adverline.com',NULL);\nINSERT INTO tracker_domains VALUES('adverline','surinter.net',NULL);\nINSERT INTO tracker_domains VALUES('adversal','adversaldisplay.com',NULL);\nINSERT INTO tracker_domains VALUES('adversal','adversalservers.com',NULL);\nINSERT INTO tracker_domains VALUES('adversal','go.adversal.com',NULL);\nINSERT INTO tracker_domains VALUES('adverserve','adverserve.net',NULL);\nINSERT INTO tracker_domains VALUES('adverteerdirect','ad.adverteerdirect.nl',NULL);\nINSERT INTO tracker_domains VALUES('adverticum','adverticum.net',NULL);\nINSERT INTO tracker_domains VALUES('advertise.com','advertise.com',NULL);\nINSERT INTO tracker_domains VALUES('advertisespace','advertisespace.com',NULL);\nINSERT INTO tracker_domains VALUES('advertising.com','adsdk.com',NULL);\nINSERT INTO tracker_domains VALUES('advertising.com','advertising.com',NULL);\nINSERT INTO tracker_domains VALUES('advertising.com','aol.com',NULL);\nINSERT INTO tracker_domains VALUES('advertising.com','atwola.com',NULL);\nINSERT INTO tracker_domains VALUES('advertising.com','pictela.net',NULL);\nINSERT INTO tracker_domains VALUES('advertising.com','verizonmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('advertlets','advertlets.com',NULL);\nINSERT INTO tracker_domains VALUES('advertserve','advertserve.com',NULL);\nINSERT INTO tracker_domains VALUES('advidi','advidi.com',NULL);\nINSERT INTO tracker_domains VALUES('advmaker.ru','am10.ru',NULL);\nINSERT INTO tracker_domains VALUES('advmaker.ru','am15.net',NULL);\nINSERT INTO tracker_domains VALUES('advolution','advolution.de',NULL);\nINSERT INTO tracker_domains VALUES('adwebster','adwebster.com',NULL);\nINSERT INTO tracker_domains VALUES('adwit','ads.adwitserver.com',NULL);\nINSERT INTO tracker_domains VALUES('adworx.at','adworx.at',NULL);\nINSERT INTO tracker_domains VALUES('adworxs.net','adworxs.net',NULL);\nINSERT INTO tracker_domains VALUES('adxion','adxion.com',NULL);\nINSERT INTO tracker_domains VALUES('adxpansion','adxpansion.com',NULL);\nINSERT INTO tracker_domains VALUES('adxpose','ads.adxpose.com',NULL);\nINSERT INTO tracker_domains VALUES('adxpose','event.adxpose.com',NULL);\nINSERT INTO tracker_domains VALUES('adxpose','servedby.adxpose.com',NULL);\nINSERT INTO tracker_domains VALUES('adxprtz.com','adxprtz.com',NULL);\nINSERT INTO tracker_domains VALUES('adyoulike','adyoulike.com',NULL);\nINSERT INTO tracker_domains VALUES('adyoulike','omnitagjs.com',NULL);\nINSERT INTO tracker_domains VALUES('adzerk','adzerk.net',NULL);\nINSERT INTO tracker_domains VALUES('adzly','adzly.com',NULL);\nINSERT INTO tracker_domains VALUES('aemediatraffic','aemediatraffic.com',NULL);\nINSERT INTO tracker_domains VALUES('aemediatraffic','hprofits.com',NULL);\nINSERT INTO tracker_domains VALUES('aerify_media','amxdt.com',NULL);\nINSERT INTO tracker_domains VALUES('aeris_weather','aerisapi.com',NULL);\nINSERT INTO tracker_domains VALUES('aeris_weather','aerisweather.com',NULL);\nINSERT INTO tracker_domains VALUES('affectv','affectv.com',NULL);\nINSERT INTO tracker_domains VALUES('affectv','go.affec.tv',NULL);\nINSERT INTO tracker_domains VALUES('affectv','hybridtheory.com',NULL);\nINSERT INTO tracker_domains VALUES('affiliate-b','track.affiliate-b.com',NULL);\nINSERT INTO tracker_domains VALUES('affiliate4you','affiliate4you.nl',NULL);\nINSERT INTO tracker_domains VALUES('affiliatebuzz','ads.affbuzzads.com',NULL);\nINSERT INTO tracker_domains VALUES('affiliatefuture','affiliatefuture.com',NULL);\nINSERT INTO tracker_domains VALUES('affiliatelounge','affiliatelounge.com',NULL);\nINSERT INTO tracker_domains VALUES('affiliation_france','affiliation-france.com',NULL);\nINSERT INTO tracker_domains VALUES('affiliator','affiliator.com',NULL);\nINSERT INTO tracker_domains VALUES('affiliaweb','affiliaweb.fr',NULL);\nINSERT INTO tracker_domains VALUES('affilinet','banner-rotation.com',NULL);\nINSERT INTO tracker_domains VALUES('affilinet','webmasterplan.com',NULL);\nINSERT INTO tracker_domains VALUES('affimax','affimax.de',NULL);\nINSERT INTO tracker_domains VALUES('affinity.by','countby.com',NULL);\nINSERT INTO tracker_domains VALUES('affinity','affinity.com',NULL);\nINSERT INTO tracker_domains VALUES('affiz_cpm','affiz.net',NULL);\nINSERT INTO tracker_domains VALUES('afftrack','pml.afftrack.com',NULL);\nINSERT INTO tracker_domains VALUES('afgr2.com','afgr2.com',NULL);\nINSERT INTO tracker_domains VALUES('afilio','v2.afilio.com.br',NULL);\nINSERT INTO tracker_domains VALUES('afs_analystics','afsanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('aftership_email','www.automizely-analytics.com',NULL);\nINSERT INTO tracker_domains VALUES('aftonbladet_ads','ads.aftonbladet.se',NULL);\nINSERT INTO tracker_domains VALUES('aftv-serving.bid','aftv-serving.bid',NULL);\nINSERT INTO tracker_domains VALUES('aggle','aggle.net',NULL);\nINSERT INTO tracker_domains VALUES('aggle','gcprivacy.com',NULL);\nINSERT INTO tracker_domains VALUES('aggregate_knowledge','agkn.com',NULL);\nINSERT INTO tracker_domains VALUES('agilone','agilone.com',NULL);\nINSERT INTO tracker_domains VALUES('agora','adview.pl',NULL);\nINSERT INTO tracker_domains VALUES('ahalogy','pingagenow.com',NULL);\nINSERT INTO tracker_domains VALUES('ahrefs','analytics.ahrefs.com',NULL);\nINSERT INTO tracker_domains VALUES('ai_media_group','aimediagroup.com',NULL);\nINSERT INTO tracker_domains VALUES('aidata','advombat.ru',NULL);\nINSERT INTO tracker_domains VALUES('aidata','aidata.io',NULL);\nINSERT INTO tracker_domains VALUES('aidem','api.b2c.com',NULL);\nINSERT INTO tracker_domains VALUES('aidem','aidemsrv.com',NULL);\nINSERT INTO tracker_domains VALUES('aim4media','aim4media.com',NULL);\nINSERT INTO tracker_domains VALUES('aimtell','aimtell.com',NULL);\nINSERT INTO tracker_domains VALUES('airbnb','muscache.com',NULL);\nINSERT INTO tracker_domains VALUES('airbnb','musthird.com',NULL);\nINSERT INTO tracker_domains VALUES('airbrake','airbrake.io',NULL);\nINSERT INTO tracker_domains VALUES('airbridge','core.airbridge.io',NULL);\nINSERT INTO tracker_domains VALUES('airbridge','sdk.airbridge.io',NULL);\nINSERT INTO tracker_domains VALUES('airfrance-connect','connect.airfrance.com',NULL);\nINSERT INTO tracker_domains VALUES('airfrance-connect','connect.klm.com',NULL);\nINSERT INTO tracker_domains VALUES('airpr.com','airpr.com',NULL);\nINSERT INTO tracker_domains VALUES('airpush','ab.airpush.com',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','abmr.net',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','akamai.net',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','akamaihd.net',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','akamaized.net',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','akstat.io',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','edgekey.net',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','edgesuite.net',NULL);\nINSERT INTO tracker_domains VALUES('akamai_technologies','imiclk.com',NULL);\nINSERT INTO tracker_domains VALUES('akamoihd.net','akamoihd.net',NULL);\nINSERT INTO tracker_domains VALUES('akane','adn-d.sp.gmossp-sp.jp',NULL);\nINSERT INTO tracker_domains VALUES('akanoo','akanoo.com',NULL);\nINSERT INTO tracker_domains VALUES('akavita','akavita.com',NULL);\nINSERT INTO tracker_domains VALUES('al_bawaba_advertising','ads.albawaba.com',NULL);\nINSERT INTO tracker_domains VALUES('albacross','serve.albacross.com',NULL);\nINSERT INTO tracker_domains VALUES('aldi-international.com','aldi-international.com',NULL);\nINSERT INTO tracker_domains VALUES('alephd.com','alephd.com',NULL);\nINSERT INTO tracker_domains VALUES('alexa_metrics','alexametrics.com',NULL);\nINSERT INTO tracker_domains VALUES('alexa_metrics','d31qbv1cthcecs.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('alexa_metrics','d5nxst8fruw4z.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('alexa_traffic_rank','alexa.com',NULL);\nINSERT INTO tracker_domains VALUES('algolia.net','algolia.com',NULL);\nINSERT INTO tracker_domains VALUES('algolia.net','algolia.net',NULL);\nINSERT INTO tracker_domains VALUES('algolia.net','algolianet.com',NULL);\nINSERT INTO tracker_domains VALUES('algolia.net','algolia.io',NULL);\nINSERT INTO tracker_domains VALUES('algovid.com','algovid.com',NULL);\nINSERT INTO tracker_domains VALUES('alibaba.com','alibaba.com',NULL);\nINSERT INTO tracker_domains VALUES('alibaba.com','alicdn.com',NULL);\nINSERT INTO tracker_domains VALUES('alipay.com','alipay.com',NULL);\nINSERT INTO tracker_domains VALUES('alive5','alive5.com',NULL);\nINSERT INTO tracker_domains VALUES('alivechat','websitealive.com',NULL);\nINSERT INTO tracker_domains VALUES('allegro.pl','allegroimg.com',NULL);\nINSERT INTO tracker_domains VALUES('allegro.pl','allegrostatic.com',NULL);\nINSERT INTO tracker_domains VALUES('allegro.pl','allegrostatic.pl',NULL);\nINSERT INTO tracker_domains VALUES('allegro.pl','ngacm.com',NULL);\nINSERT INTO tracker_domains VALUES('allegro.pl','ngastatic.com',NULL);\nINSERT INTO tracker_domains VALUES('alliance_gravity','tag.agrvt.com',NULL);\nINSERT INTO tracker_domains VALUES('allin','i.btg360.com.br',NULL);\nINSERT INTO tracker_domains VALUES('allo-pages.fr','allo-pages.fr',NULL);\nINSERT INTO tracker_domains VALUES('allotraffic','allotraffic.com',NULL);\nINSERT INTO tracker_domains VALUES('allure_media','edge.alluremedia.com.au',NULL);\nINSERT INTO tracker_domains VALUES('allyes','allyes.com',NULL);\nINSERT INTO tracker_domains VALUES('alooma','inputs.alooma.com',NULL);\nINSERT INTO tracker_domains VALUES('alphareview','alph.kr',NULL);\nINSERT INTO tracker_domains VALUES('alphareview','global-alpha-dev.click',NULL);\nINSERT INTO tracker_domains VALUES('altitude_digital','arena.altitude-arena.com',NULL);\nINSERT INTO tracker_domains VALUES('amadesa','amadesa.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.ca',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.de',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.es',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.fr',NULL);\nINSERT INTO tracker_domains VALUES('amazon','amazon.it',NULL);\nINSERT INTO tracker_domains VALUES('amazon','d3io1k5o0zdpqr.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('amazon_adsystem','amazon-adsystem.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_adsystem','serving-sys.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_adsystem','sizmek.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_adsystem','paa-reporting-advertising.amazon',NULL);\nINSERT INTO tracker_domains VALUES('amazon_associates','assoc-amazon.ca',NULL);\nINSERT INTO tracker_domains VALUES('amazon_associates','assoc-amazon.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('amazon_associates','assoc-amazon.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_associates','assoc-amazon.de',NULL);\nINSERT INTO tracker_domains VALUES('amazon_associates','assoc-amazon.fr',NULL);\nINSERT INTO tracker_domains VALUES('amazon_associates','assoc-amazon.jp',NULL);\nINSERT INTO tracker_domains VALUES('amazon_cdn','images-amazon.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_cdn','media-amazon.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_cdn','ssl-images-amazon.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_cloudfront','cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('amazon_metrics','a2z.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_mobile_ads','axx-eu.amazon-adsystem.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_payments','amazonpay.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_payments','payments-amazon.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_video','aiv-cdn.net',NULL);\nINSERT INTO tracker_domains VALUES('amazon_web_services','amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_web_services','amazonwebservices.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_web_services','awsstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('amazon_web_services','awswaf.com',NULL);\nINSERT INTO tracker_domains VALUES('ambient_digital','adnetwork.net.vn',NULL);\nINSERT INTO tracker_domains VALUES('ambient_digital','adnetwork.vn',NULL);\nINSERT INTO tracker_domains VALUES('ambient_digital','ambientplatform.vn',NULL);\nINSERT INTO tracker_domains VALUES('amgload.net','amgload.net',NULL);\nINSERT INTO tracker_domains VALUES('amoad','amoad.com',NULL);\nINSERT INTO tracker_domains VALUES('amobee','ad.amgdgt.com',NULL);\nINSERT INTO tracker_domains VALUES('amobee','ads.amgdgt.com',NULL);\nINSERT INTO tracker_domains VALUES('amobee','amobee.com',NULL);\nINSERT INTO tracker_domains VALUES('amp_platform','collective-media.net',NULL);\nINSERT INTO tracker_domains VALUES('amplitude','amplitude.com',NULL);\nINSERT INTO tracker_domains VALUES('amplitude','d24n15hnbwhuhn.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('ampproject.org','ampproject.org',NULL);\nINSERT INTO tracker_domains VALUES('anametrix','anametrix.net',NULL);\nINSERT INTO tracker_domains VALUES('ancestry_cdn','ancestrycdn.com',NULL);\nINSERT INTO tracker_domains VALUES('ancora','ancoraplatform.com',NULL);\nINSERT INTO tracker_domains VALUES('anetwork','anetwork.ir',NULL);\nINSERT INTO tracker_domains VALUES('aniview.com','aniview.com',NULL);\nINSERT INTO tracker_domains VALUES('anonymised','anonymised.io',NULL);\nINSERT INTO tracker_domains VALUES('anonymousads','a-ads.com',NULL);\nINSERT INTO tracker_domains VALUES('anormal_tracker','anormal-tracker.de',NULL);\nINSERT INTO tracker_domains VALUES('answers_cloud_service','answerscloud.com',NULL);\nINSERT INTO tracker_domains VALUES('ants','anthill.vn',NULL);\nINSERT INTO tracker_domains VALUES('ants','ants.vn',NULL);\nINSERT INTO tracker_domains VALUES('anvato','rt.analytics.anvato.net',NULL);\nINSERT INTO tracker_domains VALUES('anvato','tkx2-prod.anvato.net',NULL);\nINSERT INTO tracker_domains VALUES('anvato','w3.cdn.anvato.net',NULL);\nINSERT INTO tracker_domains VALUES('anyclip','player.anyclip.com',NULL);\nINSERT INTO tracker_domains VALUES('aol_be_on','video-loader.com',NULL);\nINSERT INTO tracker_domains VALUES('aol_cdn','aolcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('aol_cdn','isp.netscape.com',NULL);\nINSERT INTO tracker_domains VALUES('apa.at','apa.at',NULL);\nINSERT INTO tracker_domains VALUES('apester','apester.com',NULL);\nINSERT INTO tracker_domains VALUES('apicit.net','apicit.net',NULL);\nINSERT INTO tracker_domains VALUES('aplus_analytics','carrierzone.com',NULL);\nINSERT INTO tracker_domains VALUES('apollo','apollo.io',NULL);\nINSERT INTO tracker_domains VALUES('appcenter','api.appcenter.it',NULL);\nINSERT INTO tracker_domains VALUES('appconsent','appconsent.io',NULL);\nINSERT INTO tracker_domains VALUES('appcues','appcues.com',NULL);\nINSERT INTO tracker_domains VALUES('appdynamics','appdynamics.com',NULL);\nINSERT INTO tracker_domains VALUES('appdynamics','de8of677fyt0b.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('appdynamics','eum-appdynamics.com',NULL);\nINSERT INTO tracker_domains VALUES('appier','jscdn.appier.net',NULL);\nINSERT INTO tracker_domains VALUES('apple_pay','applepay.cdn-apple.com',NULL);\nINSERT INTO tracker_domains VALUES('applifier','applifier.com',NULL);\nINSERT INTO tracker_domains VALUES('applovin','assets.applovin.com',NULL);\nINSERT INTO tracker_domains VALUES('appmetrx','appmetrx.com',NULL);\nINSERT INTO tracker_domains VALUES('appnexus','adnxs.com',NULL);\nINSERT INTO tracker_domains VALUES('appnexus','adnxs.net',NULL);\nINSERT INTO tracker_domains VALUES('appnexus','adnxs-simple.com',NULL);\nINSERT INTO tracker_domains VALUES('appsflyer','appsflyer.com',NULL);\nINSERT INTO tracker_domains VALUES('apptv','adne.tv',NULL);\nINSERT INTO tracker_domains VALUES('apptv','readserver.net',NULL);\nINSERT INTO tracker_domains VALUES('apsis_one','apsis.one',NULL);\nINSERT INTO tracker_domains VALUES('apture','www.apture.com',NULL);\nINSERT INTO tracker_domains VALUES('arcpublishing','arcpublishing.com',NULL);\nINSERT INTO tracker_domains VALUES('ard.de','ard.de',NULL);\nINSERT INTO tracker_domains VALUES('are_you_a_human','areyouahuman.com',NULL);\nINSERT INTO tracker_domains VALUES('arkoselabs.com','arkoselabs.com',NULL);\nINSERT INTO tracker_domains VALUES('art19','art19.com',NULL);\nINSERT INTO tracker_domains VALUES('artimedia','banners.advsnx.net',NULL);\nINSERT INTO tracker_domains VALUES('artlebedev.ru','artlebedev.ru',NULL);\nINSERT INTO tracker_domains VALUES('aruba_media_marketing','ammadv.it',NULL);\nINSERT INTO tracker_domains VALUES('aruba_media_marketing','arubamediamarketing.it',NULL);\nINSERT INTO tracker_domains VALUES('arvato_canvas_fp','cya2.net',NULL);\nINSERT INTO tracker_domains VALUES('asambeauty.com','asambeauty.com',NULL);\nINSERT INTO tracker_domains VALUES('ask.com','ask.com',NULL);\nINSERT INTO tracker_domains VALUES('aspnetcdn','aspnetcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('assertive_communications','assertcom.de',NULL);\nINSERT INTO tracker_domains VALUES('assertive_yield','assertiveyield.com',NULL);\nINSERT INTO tracker_domains VALUES('astronomer','cdn.astronomer.io',NULL);\nINSERT INTO tracker_domains VALUES('atedra','atedra.com',NULL);\nINSERT INTO tracker_domains VALUES('atg_group','oadts.com',NULL);\nINSERT INTO tracker_domains VALUES('atg_optimization','as00.estara.com',NULL);\nINSERT INTO tracker_domains VALUES('atg_recommendations','atgsvcs.com',NULL);\nINSERT INTO tracker_domains VALUES('atlas','adbureau.net',NULL);\nINSERT INTO tracker_domains VALUES('atlas','atdmt.com',NULL);\nINSERT INTO tracker_domains VALUES('atlas','atlassbx.com',NULL);\nINSERT INTO tracker_domains VALUES('atlas_profitbuilder','track.roiservice.com',NULL);\nINSERT INTO tracker_domains VALUES('atlassian.net','atl-paas.net',NULL);\nINSERT INTO tracker_domains VALUES('atlassian.net','atlassian.com',NULL);\nINSERT INTO tracker_domains VALUES('atlassian.net','atlassian.net',NULL);\nINSERT INTO tracker_domains VALUES('atlassian.net','d12ramskps3070.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('atlassian_marketplace','d1xfq2052q7thw.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('atlassian_marketplace','marketplace.atlassian.com',NULL);\nINSERT INTO tracker_domains VALUES('atomz_search','atomz.com',NULL);\nINSERT INTO tracker_domains VALUES('atsfi_de','atsfi.de',NULL);\nINSERT INTO tracker_domains VALUES('attracta','cdn.attracta.com',NULL);\nINSERT INTO tracker_domains VALUES('attraqt','locayta.com',NULL);\nINSERT INTO tracker_domains VALUES('auction','auction.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('auction','ats.auction.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('auction','utsgw.auction.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('auction','montelena.auction.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('auction','pds.auction.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('audience2media','ads.audience2media.com',NULL);\nINSERT INTO tracker_domains VALUES('audience_ad_network','qwobl.net',NULL);\nINSERT INTO tracker_domains VALUES('audience_science','revsci.net',NULL);\nINSERT INTO tracker_domains VALUES('audience_science','wunderloop.net',NULL);\nINSERT INTO tracker_domains VALUES('audiencerate','12mlbe.com',NULL);\nINSERT INTO tracker_domains VALUES('audiencerate','audrte.com',NULL);\nINSERT INTO tracker_domains VALUES('audiencesquare.com','audiencesquare.com',NULL);\nINSERT INTO tracker_domains VALUES('audigent','audigent.com',NULL);\nINSERT INTO tracker_domains VALUES('audigent','ad.gt',NULL);\nINSERT INTO tracker_domains VALUES('audioeye','analytics.audioeye.com',NULL);\nINSERT INTO tracker_domains VALUES('auditude','auditude.com',NULL);\nINSERT INTO tracker_domains VALUES('audtd.com','audtd.com',NULL);\nINSERT INTO tracker_domains VALUES('augur','cdn.augur.io',NULL);\nINSERT INTO tracker_domains VALUES('aumago','aumago.com',NULL);\nINSERT INTO tracker_domains VALUES('aurea_clicktracks','clicktracks.com',NULL);\nINSERT INTO tracker_domains VALUES('ausgezeichnet_org','ausgezeichnet.org',NULL);\nINSERT INTO tracker_domains VALUES('australia.gov','advertising.gov.au',NULL);\nINSERT INTO tracker_domains VALUES('auth0','auth0.com',NULL);\nINSERT INTO tracker_domains VALUES('autoid','ai.autoid.com',NULL);\nINSERT INTO tracker_domains VALUES('autonomy','optimost.com',NULL);\nINSERT INTO tracker_domains VALUES('autonomy_campaign','oc-track.autonomycloud.com',NULL);\nINSERT INTO tracker_domains VALUES('autonomy_campaign','track.yieldsoftware.com',NULL);\nINSERT INTO tracker_domains VALUES('autopilothq','api.autopilothq.com',NULL);\nINSERT INTO tracker_domains VALUES('autoscout24.com','autoscout24.com',NULL);\nINSERT INTO tracker_domains VALUES('autoscout24.com','autoscout24.net',NULL);\nINSERT INTO tracker_domains VALUES('avail','avail.net',NULL);\nINSERT INTO tracker_domains VALUES('avanser','analytics.avanser.com.au',NULL);\nINSERT INTO tracker_domains VALUES('avant_metrics','avmws.com',NULL);\nINSERT INTO tracker_domains VALUES('avantlink','avantlink.com',NULL);\nINSERT INTO tracker_domains VALUES('avazu_network','ads.avazu.net',NULL);\nINSERT INTO tracker_domains VALUES('avenseo','avenseo.com',NULL);\nINSERT INTO tracker_domains VALUES('avid_media','adspdbl.com',NULL);\nINSERT INTO tracker_domains VALUES('avocet','avocet.io',NULL);\nINSERT INTO tracker_domains VALUES('aweber','aweber.com',NULL);\nINSERT INTO tracker_domains VALUES('awin','awin.com',NULL);\nINSERT INTO tracker_domains VALUES('awin','awin1.com',NULL);\nINSERT INTO tracker_domains VALUES('awin','perfb.com',NULL);\nINSERT INTO tracker_domains VALUES('axeptio','api.axept.io',NULL);\nINSERT INTO tracker_domains VALUES('axeptio','static.axept.io',NULL);\nINSERT INTO tracker_domains VALUES('axill','ad.globe7.com',NULL);\nINSERT INTO tracker_domains VALUES('azadify','azadify.com',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azureedge.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','accesscontrol.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','graph.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','onmicrosoft.com',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azure-api.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','biztalk.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','blob.core.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','cloudapp.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','cloudapp.azure.com',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azurecr.io',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azurecontainer.io',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','vo.msecnd.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','cosmos.azure.com',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','documents.azure.com',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','file.core.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azurefd.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','vault.azure.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azmk8s.io',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','management.core.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','origin.mediaservices.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azure-mobile.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','queue.core.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','servicebus.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','database.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','table.core.windows.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','trafficmanager.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azurewebsites.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','azurestaticapps.net',NULL);\nINSERT INTO tracker_domains VALUES('azureedge.net','visualstudio.com',NULL);\nINSERT INTO tracker_domains VALUES('b2bcontext','b2bcontext.ru',NULL);\nINSERT INTO tracker_domains VALUES('b2bvideo','b2bvideo.ru',NULL);\nINSERT INTO tracker_domains VALUES('babator.com','babator.com',NULL);\nINSERT INTO tracker_domains VALUES('back_beat_media','backbeatmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('backtype_widgets','widgets.backtype.com',NULL);\nINSERT INTO tracker_domains VALUES('bahn_de','bahn.de',NULL);\nINSERT INTO tracker_domains VALUES('bahn_de','img-bahn.de',NULL);\nINSERT INTO tracker_domains VALUES('baidu_ads','baidu.com',NULL);\nINSERT INTO tracker_domains VALUES('baidu_ads','baidustatic.com',NULL);\nINSERT INTO tracker_domains VALUES('baidu_static','bdimg.com',NULL);\nINSERT INTO tracker_domains VALUES('baidu_static','bdstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('baletingo.com','baletingo.com',NULL);\nINSERT INTO tracker_domains VALUES('bambuser','bambuser.com',NULL);\nINSERT INTO tracker_domains VALUES('bambuser','bambuser.net',NULL);\nINSERT INTO tracker_domains VALUES('bangdom.com','bangdom.com',NULL);\nINSERT INTO tracker_domains VALUES('bankrate','widgets.bankrate.com',NULL);\nINSERT INTO tracker_domains VALUES('banner_connect','bannerconnect.net',NULL);\nINSERT INTO tracker_domains VALUES('bannerflow.com','bannerflow.com',NULL);\nINSERT INTO tracker_domains VALUES('bannerplay','bannerplay.com',NULL);\nINSERT INTO tracker_domains VALUES('bannersnack','cdn.bannersnack.com',NULL);\nINSERT INTO tracker_domains VALUES('barilliance','dn3y71tq7jf07.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('barometer','getbarometer.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('basilic.io','basilic.io',NULL);\nINSERT INTO tracker_domains VALUES('batanga_network','batanga.com',NULL);\nINSERT INTO tracker_domains VALUES('batch_media','t4ft.de',NULL);\nINSERT INTO tracker_domains VALUES('bauer_media','bauernative.com',NULL);\nINSERT INTO tracker_domains VALUES('baur.de','baur.de',NULL);\nINSERT INTO tracker_domains VALUES('baynote_observer','baynote.net',NULL);\nINSERT INTO tracker_domains VALUES('bazaarvoice','bazaarvoice.com',NULL);\nINSERT INTO tracker_domains VALUES('bbci','bbci.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('bd4travel','tracking.bd4travel.com',NULL);\nINSERT INTO tracker_domains VALUES('be_opinion','beopinion.com',NULL);\nINSERT INTO tracker_domains VALUES('beachfront','bfmio.com',NULL);\nINSERT INTO tracker_domains VALUES('beacon_ad_network','beaconads.com',NULL);\nINSERT INTO tracker_domains VALUES('beampulse.com','beampulse.com',NULL);\nINSERT INTO tracker_domains VALUES('beanstalk_data','beanstalkdata.com',NULL);\nINSERT INTO tracker_domains VALUES('bebi','bebi.com',NULL);\nINSERT INTO tracker_domains VALUES('beeketing.com','beeketing.com',NULL);\nINSERT INTO tracker_domains VALUES('beeline.ru','beeline.ru',NULL);\nINSERT INTO tracker_domains VALUES('beeswax','bidr.io',NULL);\nINSERT INTO tracker_domains VALUES('beezup','tracker.beezup.com',NULL);\nINSERT INTO tracker_domains VALUES('begun','begun.ru',NULL);\nINSERT INTO tracker_domains VALUES('behavioralengine','behavioralengine.com',NULL);\nINSERT INTO tracker_domains VALUES('belboon_gmbh','belboon.de',NULL);\nINSERT INTO tracker_domains VALUES('belco','cdn.belco.io',NULL);\nINSERT INTO tracker_domains VALUES('belstat','belstat.be',NULL);\nINSERT INTO tracker_domains VALUES('belstat','belstat.com',NULL);\nINSERT INTO tracker_domains VALUES('belstat','belstat.de',NULL);\nINSERT INTO tracker_domains VALUES('belstat','belstat.fr',NULL);\nINSERT INTO tracker_domains VALUES('belstat','belstat.nl',NULL);\nINSERT INTO tracker_domains VALUES('bemobile.ua','bemobile.ua',NULL);\nINSERT INTO tracker_domains VALUES('bench_platform','tag.benchplatform.com',NULL);\nINSERT INTO tracker_domains VALUES('betterttv','betterttv.net',NULL);\nINSERT INTO tracker_domains VALUES('betweendigital.com','betweendigital.com',NULL);\nINSERT INTO tracker_domains VALUES('betweendigital.com','intencysrv.com',NULL);\nINSERT INTO tracker_domains VALUES('bid.run','bid.run',NULL);\nINSERT INTO tracker_domains VALUES('bidgear','bidgear.com',NULL);\nINSERT INTO tracker_domains VALUES('bidswitch','bidswitch.net',NULL);\nINSERT INTO tracker_domains VALUES('bidswitch','exe.bid',NULL);\nINSERT INTO tracker_domains VALUES('bidtellect','bttrack.com',NULL);\nINSERT INTO tracker_domains VALUES('bidtheatre','bidtheatre.com',NULL);\nINSERT INTO tracker_domains VALUES('bidvertiser','bidvertiser.com',NULL);\nINSERT INTO tracker_domains VALUES('big_mobile','bigmobileads.com',NULL);\nINSERT INTO tracker_domains VALUES('bigcommerce.com','bigcommerce.com',NULL);\nINSERT INTO tracker_domains VALUES('bigmir.net','bigmir.net',NULL);\nINSERT INTO tracker_domains VALUES('bigpoint','bigpoint-payment.com',NULL);\nINSERT INTO tracker_domains VALUES('bigpoint','bigpoint.com',NULL);\nINSERT INTO tracker_domains VALUES('bigpoint','bigpoint.net',NULL);\nINSERT INTO tracker_domains VALUES('bigpoint','bpcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('bigpoint','bpsecure.com',NULL);\nINSERT INTO tracker_domains VALUES('bild','bildstatic.de',NULL);\nINSERT INTO tracker_domains VALUES('bilgin_pro','ad-cdn.bilgin.pro',NULL);\nINSERT INTO tracker_domains VALUES('bili_cdn','hdslb.com',NULL);\nINSERT INTO tracker_domains VALUES('bili_cdn','bilicdn2.com',NULL);\nINSERT INTO tracker_domains VALUES('bilin','pixel.bilinmedia.net',NULL);\nINSERT INTO tracker_domains VALUES('bing_ads','ads.microsoft.com',NULL);\nINSERT INTO tracker_domains VALUES('bing_ads','bat.r.msn.com',NULL);\nINSERT INTO tracker_domains VALUES('bing_ads','bing.com',NULL);\nINSERT INTO tracker_domains VALUES('bing_ads','bing.net',NULL);\nINSERT INTO tracker_domains VALUES('bing_ads','bing-int.com',NULL);\nINSERT INTO tracker_domains VALUES('bing_maps','virtualearth.net',NULL);\nINSERT INTO tracker_domains VALUES('bing_maps','r.bing.com',NULL);\nINSERT INTO tracker_domains VALUES('bing_maps','atlas.microsoft.com',NULL);\nINSERT INTO tracker_domains VALUES('binlayer','view.binlayer.com',NULL);\nINSERT INTO tracker_domains VALUES('binotel','widgets.binotel.com',NULL);\nINSERT INTO tracker_domains VALUES('biocatch','we-stats.com',NULL);\nINSERT INTO tracker_domains VALUES('bisnode','esendra.fi',NULL);\nINSERT INTO tracker_domains VALUES('bitcoin_miner','bitcoinplus.com',NULL);\nINSERT INTO tracker_domains VALUES('bitly','bit.ly',NULL);\nINSERT INTO tracker_domains VALUES('bitly','bitly.com',NULL);\nINSERT INTO tracker_domains VALUES('bitrix','bitrix.de',NULL);\nINSERT INTO tracker_domains VALUES('bitrix','bitrix.info',NULL);\nINSERT INTO tracker_domains VALUES('bitrix','bitrix.ru',NULL);\nINSERT INTO tracker_domains VALUES('bitrix','bitrix24.com',NULL);\nINSERT INTO tracker_domains VALUES('bitrix','bitrix24.com.br',NULL);\nINSERT INTO tracker_domains VALUES('bizcn','traffic.adxprts.com',NULL);\nINSERT INTO tracker_domains VALUES('biztalk360','biztalk360.com',NULL);\nINSERT INTO tracker_domains VALUES('blackdragon','jssr.jd.com',NULL);\nINSERT INTO tracker_domains VALUES('blau.de','blau.de',NULL);\nINSERT INTO tracker_domains VALUES('blink_new_media','bnmla.com',NULL);\nINSERT INTO tracker_domains VALUES('blis','blismedia.com',NULL);\nINSERT INTO tracker_domains VALUES('blockthrough','blockmetrics.com',NULL);\nINSERT INTO tracker_domains VALUES('blockthrough','btloader.com',NULL);\nINSERT INTO tracker_domains VALUES('blockthrough','pagefair.com',NULL);\nINSERT INTO tracker_domains VALUES('blockthrough','pagefair.net',NULL);\nINSERT INTO tracker_domains VALUES('blogad','blogad.com.tw',NULL);\nINSERT INTO tracker_domains VALUES('blogbang','blogbang.com',NULL);\nINSERT INTO tracker_domains VALUES('blogcatalog','www.blogcatalog.com',NULL);\nINSERT INTO tracker_domains VALUES('blogcounter','track.blogcounter.de',NULL);\nINSERT INTO tracker_domains VALUES('blogfoster.com','blogfoster.com',NULL);\nINSERT INTO tracker_domains VALUES('bloggerads','bloggerads.net',NULL);\nINSERT INTO tracker_domains VALUES('blogher','blogher.com',NULL);\nINSERT INTO tracker_domains VALUES('blogher','blogherads.com',NULL);\nINSERT INTO tracker_domains VALUES('blogimg.jp','blogimg.jp',NULL);\nINSERT INTO tracker_domains VALUES('blogsmithmedia.com','blogsmithmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('blogspot_com','blogblog.com',NULL);\nINSERT INTO tracker_domains VALUES('blogspot_com','blogger.com',NULL);\nINSERT INTO tracker_domains VALUES('blogspot_com','blogspot.com',NULL);\nINSERT INTO tracker_domains VALUES('bloomreach','brcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('bloomreach','brsrvr.com',NULL);\nINSERT INTO tracker_domains VALUES('bloomreach','brtstats.com',NULL);\nINSERT INTO tracker_domains VALUES('blue_cherry_group','offerpoint.net',NULL);\nINSERT INTO tracker_domains VALUES('blue_seed','blueserving.com',NULL);\nINSERT INTO tracker_domains VALUES('blueconic.net','blueconic.net',NULL);\nINSERT INTO tracker_domains VALUES('bluecore','bluecore.com',NULL);\nINSERT INTO tracker_domains VALUES('bluecore','triggeredmail.appspot.com',NULL);\nINSERT INTO tracker_domains VALUES('bluekai','bkrtx.com',NULL);\nINSERT INTO tracker_domains VALUES('bluekai','bluekai.com',NULL);\nINSERT INTO tracker_domains VALUES('bluelithium','adrevolver.com',NULL);\nINSERT INTO tracker_domains VALUES('bluelithium','bluelithium.com',NULL);\nINSERT INTO tracker_domains VALUES('bluemetrix','bmmetrix.com',NULL);\nINSERT INTO tracker_domains VALUES('bluemetrix','japanmetrix.jp',NULL);\nINSERT INTO tracker_domains VALUES('bluenewsupdate.info','bluenewsupdate.info',NULL);\nINSERT INTO tracker_domains VALUES('bluestreak','bluestreak.com',NULL);\nINSERT INTO tracker_domains VALUES('bluetriangle','bluetriangletech.com',NULL);\nINSERT INTO tracker_domains VALUES('bluetriangle','btttag.com',NULL);\nINSERT INTO tracker_domains VALUES('bmetric','web.telemetric.dk',NULL);\nINSERT INTO tracker_domains VALUES('bmetric','insight.bellmetric.net',NULL);\nINSERT INTO tracker_domains VALUES('bmetric','bmetricpublisher.com',NULL);\nINSERT INTO tracker_domains VALUES('bodelen.com','bodelen.com',NULL);\nINSERT INTO tracker_domains VALUES('bol_affiliate_program','tracking.bol.com',NULL);\nINSERT INTO tracker_domains VALUES('bold','qb.boldapps.net',NULL);\nINSERT INTO tracker_domains VALUES('bold','secure.apps.shappify.com',NULL);\nINSERT INTO tracker_domains VALUES('boldchat','boldchat.com',NULL);\nINSERT INTO tracker_domains VALUES('boltdns.net','boltdns.net',NULL);\nINSERT INTO tracker_domains VALUES('bombora','ml314.com',NULL);\nINSERT INTO tracker_domains VALUES('bongacams.com','bongacams.com',NULL);\nINSERT INTO tracker_domains VALUES('bonial','bonial.com',NULL);\nINSERT INTO tracker_domains VALUES('bonial','bonialconnect.com',NULL);\nINSERT INTO tracker_domains VALUES('bonial','bonialserviceswidget.de',NULL);\nINSERT INTO tracker_domains VALUES('boo-box','boo-box.com',NULL);\nINSERT INTO tracker_domains VALUES('booking.com','booking.com',NULL);\nINSERT INTO tracker_domains VALUES('booking.com','bstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('booking.com','rcstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('boost_box','boostbox.com.br',NULL);\nINSERT INTO tracker_domains VALUES('booster_video','boostervideo.ru',NULL);\nINSERT INTO tracker_domains VALUES('bootstrap','bootstrapcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('borrango.com','borrango.com',NULL);\nINSERT INTO tracker_domains VALUES('botscanner','scan.botscanner.com',NULL);\nINSERT INTO tracker_domains VALUES('boudja.com','boudja.com',NULL);\nINSERT INTO tracker_domains VALUES('bounce_exchange','bounceexchange.com',NULL);\nINSERT INTO tracker_domains VALUES('bounce_exchange','bouncex.com',NULL);\nINSERT INTO tracker_domains VALUES('bounce_exchange','bouncex.net',NULL);\nINSERT INTO tracker_domains VALUES('bounce_exchange','wknd.ai',NULL);\nINSERT INTO tracker_domains VALUES('bounce_exchange','wunderkind.co',NULL);\nINSERT INTO tracker_domains VALUES('bounce_exchange','ibx2.net',NULL);\nINSERT INTO tracker_domains VALUES('box_uk','j.clickdensity.com',NULL);\nINSERT INTO tracker_domains VALUES('boxever','boxever.com',NULL);\nINSERT INTO tracker_domains VALUES('brainient','brainient.com',NULL);\nINSERT INTO tracker_domains VALUES('brainsins','brainsins.com',NULL);\nINSERT INTO tracker_domains VALUES('brainsins','d2xkqxdy6ewr93.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('branch_metrics','app.link',NULL);\nINSERT INTO tracker_domains VALUES('branch_metrics','branch.io',NULL);\nINSERT INTO tracker_domains VALUES('brand_affinity','brandaffinity.net',NULL);\nINSERT INTO tracker_domains VALUES('brand_networks','go.cpmadvisors.com',NULL);\nINSERT INTO tracker_domains VALUES('brand_networks','optorb.com',NULL);\nINSERT INTO tracker_domains VALUES('brandmetrics.com','brandmetrics.com',NULL);\nINSERT INTO tracker_domains VALUES('brandreach','brandreachsys.com',NULL);\nINSERT INTO tracker_domains VALUES('brandscreen','rtbidder.net',NULL);\nINSERT INTO tracker_domains VALUES('brandwire.tv','brandwire.tv',NULL);\nINSERT INTO tracker_domains VALUES('branica','branica.com',NULL);\nINSERT INTO tracker_domains VALUES('braze','appboycdn.com',NULL);\nINSERT INTO tracker_domains VALUES('brealtime','brealtime.com',NULL);\nINSERT INTO tracker_domains VALUES('bridgetrack','bridgetrack.com',NULL);\nINSERT INTO tracker_domains VALUES('brightcove','admin.brightcove.com',NULL);\nINSERT INTO tracker_domains VALUES('brightcove','goku.brightcove.com',NULL);\nINSERT INTO tracker_domains VALUES('brightcove','metrics.brightcove.com',NULL);\nINSERT INTO tracker_domains VALUES('brightcove','sadmin.brightcove.com',NULL);\nINSERT INTO tracker_domains VALUES('brightcove_player','brightcove.net',NULL);\nINSERT INTO tracker_domains VALUES('brightcove_player','api.brightcove.com',NULL);\nINSERT INTO tracker_domains VALUES('brightcove_player','map.brightcove.com',NULL);\nINSERT INTO tracker_domains VALUES('brightcove_player','brightcovecdn.com',NULL);\nINSERT INTO tracker_domains VALUES('brightedge','analytics.brightedge.com',NULL);\nINSERT INTO tracker_domains VALUES('brightfunnel','munchkin.brightfunnel.com',NULL);\nINSERT INTO tracker_domains VALUES('brightonclick.com','brightonclick.com',NULL);\nINSERT INTO tracker_domains VALUES('brightroll','btrll.com',NULL);\nINSERT INTO tracker_domains VALUES('brilig','p.brilig.com',NULL);\nINSERT INTO tracker_domains VALUES('brillen.de','brillen.de',NULL);\nINSERT INTO tracker_domains VALUES('broadstreet','broadstreetads.com',NULL);\nINSERT INTO tracker_domains VALUES('bronto','bm23.com',NULL);\nINSERT INTO tracker_domains VALUES('brow.si','brow.si',NULL);\nINSERT INTO tracker_domains VALUES('browser-statistik','browser-statistik.de',NULL);\nINSERT INTO tracker_domains VALUES('browser_update','browser-update.org',NULL);\nINSERT INTO tracker_domains VALUES('btncdn.com','btncdn.com',NULL);\nINSERT INTO tracker_domains VALUES('bubblestat','in.bubblestat.com',NULL);\nINSERT INTO tracker_domains VALUES('buddy_media','brighteroption.com',NULL);\nINSERT INTO tracker_domains VALUES('buffer_button','bufferapp.com',NULL);\nINSERT INTO tracker_domains VALUES('bugherd.com','bugherd.com',NULL);\nINSERT INTO tracker_domains VALUES('bugsnag','bugsnag.com',NULL);\nINSERT INTO tracker_domains VALUES('bugsnag','d2wy8f7a9ursnm.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('bulkhentai.com','bulkhentai.com',NULL);\nINSERT INTO tracker_domains VALUES('bumlam.com','bumlam.com',NULL);\nINSERT INTO tracker_domains VALUES('bunchbox','bunchbox.co',NULL);\nINSERT INTO tracker_domains VALUES('burda','bf-ad.net',NULL);\nINSERT INTO tracker_domains VALUES('burda','bf-tools.net',NULL);\nINSERT INTO tracker_domains VALUES('burda_digital_systems','bstatic.de',NULL);\nINSERT INTO tracker_domains VALUES('burst_media','burstbeacon.com',NULL);\nINSERT INTO tracker_domains VALUES('burst_media','burstnet.com',NULL);\nINSERT INTO tracker_domains VALUES('burt','burt.io',NULL);\nINSERT INTO tracker_domains VALUES('burt','d3q6px0y2suh5n.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('burt','rich-agent.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('burt','richmetrics.com',NULL);\nINSERT INTO tracker_domains VALUES('businessonline_analytics','stats.businessol.com',NULL);\nINSERT INTO tracker_domains VALUES('buysellads','buysellads.com',NULL);\nINSERT INTO tracker_domains VALUES('buysellads','servedby-buysellads.com',NULL);\nINSERT INTO tracker_domains VALUES('buzzadexchange.com','buzzadexchange.com',NULL);\nINSERT INTO tracker_domains VALUES('buzzador','buzzador.com',NULL);\nINSERT INTO tracker_domains VALUES('buzzfeed','buzzfed.com',NULL);\nINSERT INTO tracker_domains VALUES('bwbx.io','bwbx.io',NULL);\nINSERT INTO tracker_domains VALUES('bypass','bypass.jp',NULL);\nINSERT INTO tracker_domains VALUES('c1_exchange','c1exchange.com',NULL);\nINSERT INTO tracker_domains VALUES('c3_metrics','c3metrics.com',NULL);\nINSERT INTO tracker_domains VALUES('c3_metrics','c3tag.com',NULL);\nINSERT INTO tracker_domains VALUES('c8_network','c8.net.ua',NULL);\nINSERT INTO tracker_domains VALUES('cackle.me','cackle.me',NULL);\nINSERT INTO tracker_domains VALUES('cadreon','d1cerpgff739r9.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('cadreon','d1qpxk1wfeh8v1.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('cafe24data','ca-api.cafe24data.com',NULL);\nINSERT INTO tracker_domains VALUES('call_page','callpage.io',NULL);\nINSERT INTO tracker_domains VALUES('callbackhunter','callbackhunter.com',NULL);\nINSERT INTO tracker_domains VALUES('callbox','callmeasurement.com',NULL);\nINSERT INTO tracker_domains VALUES('callibri','callibri.ru',NULL);\nINSERT INTO tracker_domains VALUES('callrail','callrail.com',NULL);\nINSERT INTO tracker_domains VALUES('calltracking','calltracking.ru',NULL);\nINSERT INTO tracker_domains VALUES('calltrackingmetrics','tctm.xyz',NULL);\nINSERT INTO tracker_domains VALUES('calltrackingmetrics','tctm.co',NULL);\nINSERT INTO tracker_domains VALUES('caltat.com','caltat.com',NULL);\nINSERT INTO tracker_domains VALUES('cam-content.com','cam-content.com',NULL);\nINSERT INTO tracker_domains VALUES('camakaroda.com','camakaroda.com',NULL);\nINSERT INTO tracker_domains VALUES('campus_explorer','s.edkay.com',NULL);\nINSERT INTO tracker_domains VALUES('canddi','canddi.com',NULL);\nINSERT INTO tracker_domains VALUES('canva','telemetry.canva.com',NULL);\nINSERT INTO tracker_domains VALUES('canvas','canvas.net',NULL);\nINSERT INTO tracker_domains VALUES('canvas','canvasnetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('canvas','du11hjcvx0uqb.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('capitaldata','kdata.fr',NULL);\nINSERT INTO tracker_domains VALUES('captora','captora.com',NULL);\nINSERT INTO tracker_domains VALUES('capture_media','edge.capturemedia.network',NULL);\nINSERT INTO tracker_domains VALUES('capturly','cdn.capturly.com',NULL);\nINSERT INTO tracker_domains VALUES('carambola','route.carambo.la',NULL);\nINSERT INTO tracker_domains VALUES('carbonads','carbonads.com',NULL);\nINSERT INTO tracker_domains VALUES('carbonads','carbonads.net',NULL);\nINSERT INTO tracker_domains VALUES('carbonads','fusionads.net',NULL);\nINSERT INTO tracker_domains VALUES('cardinal','cardinalcommerce.com',NULL);\nINSERT INTO tracker_domains VALUES('cardlytics','cardlytics.com',NULL);\nINSERT INTO tracker_domains VALUES('carrot_quest','cdn.carrotquest.io',NULL);\nINSERT INTO tracker_domains VALUES('cartstack','api.cartstack.com',NULL);\nINSERT INTO tracker_domains VALUES('caspion','caspion.com',NULL);\nINSERT INTO tracker_domains VALUES('castle','t.castle.io',NULL);\nINSERT INTO tracker_domains VALUES('catchpoint','3gl.net',NULL);\nINSERT INTO tracker_domains VALUES('cbox','cbox.ws',NULL);\nINSERT INTO tracker_domains VALUES('cbs_interactive','adlog.com.com',NULL);\nINSERT INTO tracker_domains VALUES('cbs_interactive','cbsinteractive.com',NULL);\nINSERT INTO tracker_domains VALUES('cbs_interactive','dw.com.com',NULL);\nINSERT INTO tracker_domains VALUES('ccm19','ccm19.de',NULL);\nINSERT INTO tracker_domains VALUES('ccm_benchmark','ccmbg.com',NULL);\nINSERT INTO tracker_domains VALUES('cdk_digital_marketing','admission.net',NULL);\nINSERT INTO tracker_domains VALUES('cdn-net.com','cdn-net.com',NULL);\nINSERT INTO tracker_domains VALUES('cdn13.com','cdn13.com',NULL);\nINSERT INTO tracker_domains VALUES('cdn77','cdn77.com',NULL);\nINSERT INTO tracker_domains VALUES('cdn77','cdn77.org',NULL);\nINSERT INTO tracker_domains VALUES('cdnetworks.net','cdnetworks.com',NULL);\nINSERT INTO tracker_domains VALUES('cdnetworks.net','cdnetworks.net',NULL);\nINSERT INTO tracker_domains VALUES('cdnnetwok_xyz','cdnnetwok.xyz',NULL);\nINSERT INTO tracker_domains VALUES('cdnondemand.org','cdnondemand.org',NULL);\nINSERT INTO tracker_domains VALUES('cdnsure.com','cdnsure.com',NULL);\nINSERT INTO tracker_domains VALUES('cdnvideo.com','cdnvideo.com',NULL);\nINSERT INTO tracker_domains VALUES('cdnwidget.com','cdnwidget.com',NULL);\nINSERT INTO tracker_domains VALUES('cedexis_radar','cedexis-radar.net',NULL);\nINSERT INTO tracker_domains VALUES('cedexis_radar','cedexis-test.com',NULL);\nINSERT INTO tracker_domains VALUES('cedexis_radar','cedexis.com',NULL);\nINSERT INTO tracker_domains VALUES('cedexis_radar','cedexis.fastlylb.net',NULL);\nINSERT INTO tracker_domains VALUES('cedexis_radar','cedexis.net',NULL);\nINSERT INTO tracker_domains VALUES('celebrus','celebrus.com',NULL);\nINSERT INTO tracker_domains VALUES('celtra','celtra.com',NULL);\nINSERT INTO tracker_domains VALUES('cendyn','cendyn.adtrack.calls.net',NULL);\nINSERT INTO tracker_domains VALUES('centraltag','centraltag.com',NULL);\nINSERT INTO tracker_domains VALUES('centro','brand-server.com',NULL);\nINSERT INTO tracker_domains VALUES('cerberus_speed-trap','speed-trap.nl',NULL);\nINSERT INTO tracker_domains VALUES('ceros','api.ceros.com',NULL);\nINSERT INTO tracker_domains VALUES('certainsource','link.ixs1.net',NULL);\nINSERT INTO tracker_domains VALUES('certifica_metric','hits.e.cl',NULL);\nINSERT INTO tracker_domains VALUES('certona','certona.net',NULL);\nINSERT INTO tracker_domains VALUES('certona','res-x.com',NULL);\nINSERT INTO tracker_domains VALUES('cevoid','cevoid.com',NULL);\nINSERT INTO tracker_domains VALUES('chameleon','gsn.chameleon.ad',NULL);\nINSERT INTO tracker_domains VALUES('chango','chango.ca',NULL);\nINSERT INTO tracker_domains VALUES('chango','chango.com',NULL);\nINSERT INTO tracker_domains VALUES('channel_intelligence','channelintelligence.com',NULL);\nINSERT INTO tracker_domains VALUES('channel_pilot_solutions','cptrack.de',NULL);\nINSERT INTO tracker_domains VALUES('channeladvisor','channeladvisor.com',NULL);\nINSERT INTO tracker_domains VALUES('channeladvisor','searchmarketing.com',NULL);\nINSERT INTO tracker_domains VALUES('channelfinder','channelfinder.net',NULL);\nINSERT INTO tracker_domains VALUES('chaordic','chaordicsystems.com',NULL);\nINSERT INTO tracker_domains VALUES('charpstar','charpstar.net',NULL);\nINSERT INTO tracker_domains VALUES('chartbeat','chartbeat.com',NULL);\nINSERT INTO tracker_domains VALUES('chartbeat','chartbeat.net',NULL);\nINSERT INTO tracker_domains VALUES('chaser','chaser.ru',NULL);\nINSERT INTO tracker_domains VALUES('chat_beacon','cloud.chatbeacon.io',NULL);\nINSERT INTO tracker_domains VALUES('chatango','chatango.com',NULL);\nINSERT INTO tracker_domains VALUES('chatgpt','chatgpt.com',NULL);\nINSERT INTO tracker_domains VALUES('chatgpt','cdn.oaistatic.com',NULL);\nINSERT INTO tracker_domains VALUES('chatra','call.chatra.io',NULL);\nINSERT INTO tracker_domains VALUES('chaturbate.com','chaturbate.com',NULL);\nINSERT INTO tracker_domains VALUES('chatwing','chatwing.com',NULL);\nINSERT INTO tracker_domains VALUES('checkmystats','checkmystats.com.au',NULL);\nINSERT INTO tracker_domains VALUES('chefkoch_de','chefkoch-cdn.de',NULL);\nINSERT INTO tracker_domains VALUES('chefkoch_de','chefkoch.de',NULL);\nINSERT INTO tracker_domains VALUES('chicory','chicory.co',NULL);\nINSERT INTO tracker_domains VALUES('chicory','chicoryapp.com',NULL);\nINSERT INTO tracker_domains VALUES('chilipiper','chilipiper.com',NULL);\nINSERT INTO tracker_domains VALUES('chin_media','tracker.chinmedia.vn',NULL);\nINSERT INTO tracker_domains VALUES('chinesean','chinesean.com',NULL);\nINSERT INTO tracker_domains VALUES('chitika','chitika.net',NULL);\nINSERT INTO tracker_domains VALUES('choicestream','choicestream.com',NULL);\nINSERT INTO tracker_domains VALUES('circit','iqcontentplatform.de',NULL);\nINSERT INTO tracker_domains VALUES('circulate','data.circulate.com',NULL);\nINSERT INTO tracker_domains VALUES('city_spark','p.cityspark.com',NULL);\nINSERT INTO tracker_domains VALUES('cityads','cityads.ru',NULL);\nINSERT INTO tracker_domains VALUES('cityads','gameleads.ru',NULL);\nINSERT INTO tracker_domains VALUES('ciuvo.com','ciuvo.com',NULL);\nINSERT INTO tracker_domains VALUES('civey_widgets','widget.civey.com',NULL);\nINSERT INTO tracker_domains VALUES('civicscience.com','civicscience.com',NULL);\nINSERT INTO tracker_domains VALUES('civicuk','civiccomputing.com',NULL);\nINSERT INTO tracker_domains VALUES('ciwebgroup','ciweb.ciwebgroup.com',NULL);\nINSERT INTO tracker_domains VALUES('clcknads.pro','clcknads.pro',NULL);\nINSERT INTO tracker_domains VALUES('clean_talk','fd.cleantalk.org',NULL);\nINSERT INTO tracker_domains VALUES('clear_pier','pulseradius.com',NULL);\nINSERT INTO tracker_domains VALUES('clearbit.com','clearbit.com',NULL);\nINSERT INTO tracker_domains VALUES('clearbit.com','clearbitscripts.com',NULL);\nINSERT INTO tracker_domains VALUES('clearbit.com','clearbitjs.com',NULL);\nINSERT INTO tracker_domains VALUES('clearsale','clearsale.com.br',NULL);\nINSERT INTO tracker_domains VALUES('clearstream.tv','tag.clrstm.com',NULL);\nINSERT INTO tracker_domains VALUES('clerk.io','api.clerk.io',NULL);\nINSERT INTO tracker_domains VALUES('clerk.io','cdn.clerk.io',NULL);\nINSERT INTO tracker_domains VALUES('clever_push','cleverpush.com',NULL);\nINSERT INTO tracker_domains VALUES('clever_tap','wzrkt.com',NULL);\nINSERT INTO tracker_domains VALUES('cleversite','cleversite.ru',NULL);\nINSERT INTO tracker_domains VALUES('click360','script.click360.io',NULL);\nINSERT INTO tracker_domains VALUES('click_and_chat','clickandchat.com',NULL);\nINSERT INTO tracker_domains VALUES('click_back','software.clickback.com',NULL);\nINSERT INTO tracker_domains VALUES('clickadu','clickadu.com',NULL);\nINSERT INTO tracker_domains VALUES('clickadu','chestgoingpunch.com',NULL);\nINSERT INTO tracker_domains VALUES('clickaider','hit.clickaider.com',NULL);\nINSERT INTO tracker_domains VALUES('clickbank','clickbank.net',NULL);\nINSERT INTO tracker_domains VALUES('clickbank_proads','cbproads.com',NULL);\nINSERT INTO tracker_domains VALUES('clickbooth','adtoll.com',NULL);\nINSERT INTO tracker_domains VALUES('clickbooth','clickbooth.com',NULL);\nINSERT INTO tracker_domains VALUES('clickbooth','clickboothlnk.com',NULL);\nINSERT INTO tracker_domains VALUES('clickcease','clickcease.com',NULL);\nINSERT INTO tracker_domains VALUES('clickcertain','clickcertain.com',NULL);\nINSERT INTO tracker_domains VALUES('clickcertain','remarketstats.com',NULL);\nINSERT INTO tracker_domains VALUES('clickdesk','clickdesk.com',NULL);\nINSERT INTO tracker_domains VALUES('clickdimensions','analytics.clickdimensions.com',NULL);\nINSERT INTO tracker_domains VALUES('clickequations','clickequations.net',NULL);\nINSERT INTO tracker_domains VALUES('clickexperts','clickexperts.net',NULL);\nINSERT INTO tracker_domains VALUES('clickforce','doublemax.net',NULL);\nINSERT INTO tracker_domains VALUES('clickinc','clickinc.com',NULL);\nINSERT INTO tracker_domains VALUES('clickintext','clickintext.net',NULL);\nINSERT INTO tracker_domains VALUES('clickky','clickky.biz',NULL);\nINSERT INTO tracker_domains VALUES('clickmeter','9nl.be',NULL);\nINSERT INTO tracker_domains VALUES('clickmeter','9nl.com',NULL);\nINSERT INTO tracker_domains VALUES('clickmeter','9nl.eu',NULL);\nINSERT INTO tracker_domains VALUES('clickmeter','9nl.it',NULL);\nINSERT INTO tracker_domains VALUES('clickmeter','9nl.me',NULL);\nINSERT INTO tracker_domains VALUES('clickmeter','clickmeter.com',NULL);\nINSERT INTO tracker_domains VALUES('clickonometrics','clickonometrics.pl',NULL);\nINSERT INTO tracker_domains VALUES('clickpoint','clickpoint.com',NULL);\nINSERT INTO tracker_domains VALUES('clickpoint','clickpoint.it',NULL);\nINSERT INTO tracker_domains VALUES('clickprotector','clickprotector.com',NULL);\nINSERT INTO tracker_domains VALUES('clickreport','clickreport.com',NULL);\nINSERT INTO tracker_domains VALUES('clickreport','doogleonduty.com',NULL);\nINSERT INTO tracker_domains VALUES('clicks_thru_networks','ctn.go2cloud.org',NULL);\nINSERT INTO tracker_domains VALUES('clicksor','clicksor.com',NULL);\nINSERT INTO tracker_domains VALUES('clicksor','hatid.com',NULL);\nINSERT INTO tracker_domains VALUES('clicksor','lzjl.com',NULL);\nINSERT INTO tracker_domains VALUES('clicksor','myroitracking.com',NULL);\nINSERT INTO tracker_domains VALUES('clicktale','clicktale.com',NULL);\nINSERT INTO tracker_domains VALUES('clicktale','clicktale.net',NULL);\nINSERT INTO tracker_domains VALUES('clicktale','clicktale.pantherssl.com',NULL);\nINSERT INTO tracker_domains VALUES('clicktale','clicktalecdn.sslcs.cdngc.net',NULL);\nINSERT INTO tracker_domains VALUES('clicktripz','clicktripz.com',NULL);\nINSERT INTO tracker_domains VALUES('clickup','clickup.com',NULL);\nINSERT INTO tracker_domains VALUES('clickwinks','clickwinks.com',NULL);\nINSERT INTO tracker_domains VALUES('clicky','getclicky.com',NULL);\nINSERT INTO tracker_domains VALUES('clicky','staticstuff.net',NULL);\nINSERT INTO tracker_domains VALUES('clickyab','clickyab.com',NULL);\nINSERT INTO tracker_domains VALUES('clicmanager','clicmanager.fr',NULL);\nINSERT INTO tracker_domains VALUES('clip_syndicate','eplayer.clipsyndicate.com',NULL);\nINSERT INTO tracker_domains VALUES('clixgalore','www.is1.clixgalore.com',NULL);\nINSERT INTO tracker_domains VALUES('clixmetrix','clixmetrix.com',NULL);\nINSERT INTO tracker_domains VALUES('clixsense','clixsense.com',NULL);\nINSERT INTO tracker_domains VALUES('cloud-media.fr','cloud-media.fr',NULL);\nINSERT INTO tracker_domains VALUES('cloudflare','cloudflare.com',NULL);\nINSERT INTO tracker_domains VALUES('cloudflare','cloudflare.net',NULL);\nINSERT INTO tracker_domains VALUES('cloudflare','cloudflarestream.com',NULL);\nINSERT INTO tracker_domains VALUES('cloudflare','pages.dev',NULL);\nINSERT INTO tracker_domains VALUES('cloudflare_insights','cloudflareinsights.com',NULL);\nINSERT INTO tracker_domains VALUES('cloudimage.io','cloudimg.io',NULL);\nINSERT INTO tracker_domains VALUES('cloudinary','cloudinary.com',NULL);\nINSERT INTO tracker_domains VALUES('clove_network','clovenetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('clustrmaps','clustrmaps.com',NULL);\nINSERT INTO tracker_domains VALUES('cnbc','cnbc.com',NULL);\nINSERT INTO tracker_domains VALUES('cnetcontent.com','cnetcontent.com',NULL);\nINSERT INTO tracker_domains VALUES('cnstats','cnstats.ru',NULL);\nINSERT INTO tracker_domains VALUES('cnzz.com','cnzz.com',NULL);\nINSERT INTO tracker_domains VALUES('cnzz.com','umeng.com',NULL);\nINSERT INTO tracker_domains VALUES('coadvertise','acc-hd.de',NULL);\nINSERT INTO tracker_domains VALUES('cobrowser','client.cobrowser.net',NULL);\nINSERT INTO tracker_domains VALUES('codeonclick.com','codeonclick.com',NULL);\nINSERT INTO tracker_domains VALUES('codigo','analytics.codigo.se',NULL);\nINSERT INTO tracker_domains VALUES('cognitiv','cognitivlabs.com',NULL);\nINSERT INTO tracker_domains VALUES('cogocast','cogocast.net',NULL);\nINSERT INTO tracker_domains VALUES('coin_have','coin-have.com',NULL);\nINSERT INTO tracker_domains VALUES('coin_traffic','appsha1.cointraffic.io',NULL);\nINSERT INTO tracker_domains VALUES('coinhive','authedmine.com',NULL);\nINSERT INTO tracker_domains VALUES('coinhive','coin-hive.com',NULL);\nINSERT INTO tracker_domains VALUES('coinhive','coinhive.com',NULL);\nINSERT INTO tracker_domains VALUES('coinurl','coinurl.com',NULL);\nINSERT INTO tracker_domains VALUES('coll1onf.com','coll1onf.com',NULL);\nINSERT INTO tracker_domains VALUES('coll2onf.com','coll2onf.com',NULL);\nINSERT INTO tracker_domains VALUES('collarity','service.collarity.com',NULL);\nINSERT INTO tracker_domains VALUES('columbia_online','ade.clmbtech.com',NULL);\nINSERT INTO tracker_domains VALUES('columbia_online','static.clmbtech.com',NULL);\nINSERT INTO tracker_domains VALUES('combotag','combotag.com',NULL);\nINSERT INTO tracker_domains VALUES('comcast_technology_solutions','pdk.theplatform.com',NULL);\nINSERT INTO tracker_domains VALUES('comm100','comm100.cn',NULL);\nINSERT INTO tracker_domains VALUES('comm100','comm100.com',NULL);\nINSERT INTO tracker_domains VALUES('commerce_layer','commercelayer.io',NULL);\nINSERT INTO tracker_domains VALUES('commerce_sciences','cdn-cs.com',NULL);\nINSERT INTO tracker_domains VALUES('commercehub','cdn.mercent.com',NULL);\nINSERT INTO tracker_domains VALUES('commercehub','link.mercent.com',NULL);\nINSERT INTO tracker_domains VALUES('commercialvalue.org','commercialvalue.org',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','afcyhf.com',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','anrdoezrs.net',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','apmebf.com',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','awltovhc.com',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','emjcd.com',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','ftjcfx.com',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','lduhtrp.net',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','qksz.net',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','tkqlhce.com',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','tqlkg.com',NULL);\nINSERT INTO tracker_domains VALUES('commission_junction','yceml.net',NULL);\nINSERT INTO tracker_domains VALUES('communicator_corp','communicatorcorp.com',NULL);\nINSERT INTO tracker_domains VALUES('communigator','wowanalytics.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('competexl','c-col.com',NULL);\nINSERT INTO tracker_domains VALUES('competexl','c.compete.com',NULL);\nINSERT INTO tracker_domains VALUES('complex_media_network','complex.com',NULL);\nINSERT INTO tracker_domains VALUES('complex_media_network','complexmedianetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('comprigo','comprigo.com',NULL);\nINSERT INTO tracker_domains VALUES('comscore','comscore.com',NULL);\nINSERT INTO tracker_domains VALUES('comscore','zqtk.net',NULL);\nINSERT INTO tracker_domains VALUES('conative.de','conative.de',NULL);\nINSERT INTO tracker_domains VALUES('condenastdigital.com','condenast.com',NULL);\nINSERT INTO tracker_domains VALUES('conduit','conduit-banners.com',NULL);\nINSERT INTO tracker_domains VALUES('conduit','conduit-data.com',NULL);\nINSERT INTO tracker_domains VALUES('conduit','conduit.com',NULL);\nINSERT INTO tracker_domains VALUES('confirmit','confirmit.com',NULL);\nINSERT INTO tracker_domains VALUES('congstar.de','congstar.de',NULL);\nINSERT INTO tracker_domains VALUES('connatix.com','connatix.com',NULL);\nINSERT INTO tracker_domains VALUES('connectad','connected-by.connectad.io',NULL);\nINSERT INTO tracker_domains VALUES('connectad','i.connectad.io',NULL);\nINSERT INTO tracker_domains VALUES('connectad','sync.connectad.io',NULL);\nINSERT INTO tracker_domains VALUES('connecto','cdn.connecto.io',NULL);\nINSERT INTO tracker_domains VALUES('connexity','connexity.net',NULL);\nINSERT INTO tracker_domains VALUES('connexity','cxt.ms',NULL);\nINSERT INTO tracker_domains VALUES('connextra','connextra.com',NULL);\nINSERT INTO tracker_domains VALUES('consentmanager','consentmanager.net',NULL);\nINSERT INTO tracker_domains VALUES('consentmo','app.consentmo.com',NULL);\nINSERT INTO tracker_domains VALUES('constant_contact','rs6.net',NULL);\nINSERT INTO tracker_domains VALUES('consumable','serverbid.com',NULL);\nINSERT INTO tracker_domains VALUES('contact_at_once','contactatonce.com',NULL);\nINSERT INTO tracker_domains VALUES('contact_impact','adrolays.de',NULL);\nINSERT INTO tracker_domains VALUES('contact_impact','c-i.as',NULL);\nINSERT INTO tracker_domains VALUES('contact_impact','df-srv.de',NULL);\nINSERT INTO tracker_domains VALUES('contactme','d1uwd25yvxu96k.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('contactme','static.contactme.com',NULL);\nINSERT INTO tracker_domains VALUES('contaxe','contaxe.com',NULL);\nINSERT INTO tracker_domains VALUES('content.ad','content.ad',NULL);\nINSERT INTO tracker_domains VALUES('content_insights','ingestion.contentinsights.com',NULL);\nINSERT INTO tracker_domains VALUES('contentexchange.me','contentexchange.me',NULL);\nINSERT INTO tracker_domains VALUES('contentful_gmbh','ctfassets.net',NULL);\nINSERT INTO tracker_domains VALUES('contentful_gmbh','cdn.contentful.com',NULL);\nINSERT INTO tracker_domains VALUES('contentful_gmbh','ninetailed.co',NULL);\nINSERT INTO tracker_domains VALUES('contentpass','contentpass.de',NULL);\nINSERT INTO tracker_domains VALUES('contentpass','contentpass.net',NULL);\nINSERT INTO tracker_domains VALUES('contentsquare.net','contentsquare.net',NULL);\nINSERT INTO tracker_domains VALUES('contentstack','cdn.contentstack.io',NULL);\nINSERT INTO tracker_domains VALUES('contentwrx','d1aug3dv5magti.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('contentwrx','d39se0h2uvfakd.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('context.ad','intext.contextad.pl',NULL);\nINSERT INTO tracker_domains VALUES('context','c-on-text.com',NULL);\nINSERT INTO tracker_domains VALUES('continum_net','continum.net',NULL);\nINSERT INTO tracker_domains VALUES('contribusource','s2.contribusourcesyndication.com',NULL);\nINSERT INTO tracker_domains VALUES('convergetrack','hits.convergetrack.com',NULL);\nINSERT INTO tracker_domains VALUES('conversant','fastclick.net',NULL);\nINSERT INTO tracker_domains VALUES('conversant','mediaplex.com',NULL);\nINSERT INTO tracker_domains VALUES('conversant','mplxtms.com',NULL);\nINSERT INTO tracker_domains VALUES('conversio','cm-commerce.com',NULL);\nINSERT INTO tracker_domains VALUES('conversio','media.conversio.com',NULL);\nINSERT INTO tracker_domains VALUES('conversion_logic','c.conversionlogic.net',NULL);\nINSERT INTO tracker_domains VALUES('conversionruler','conversionruler.com',NULL);\nINSERT INTO tracker_domains VALUES('conversions_box','conversionsbox.com',NULL);\nINSERT INTO tracker_domains VALUES('conversions_on_demand','conversionsondemand.com',NULL);\nINSERT INTO tracker_domains VALUES('conversive','ant.conversive.nl',NULL);\nINSERT INTO tracker_domains VALUES('convert','convertexperiments.com',NULL);\nINSERT INTO tracker_domains VALUES('convertfox','d3sjgucddk68ji.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('convertro','convertro.com',NULL);\nINSERT INTO tracker_domains VALUES('convertro','d1ivexoxmp59q7.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('conviva','conviva.com',NULL);\nINSERT INTO tracker_domains VALUES('cookie_consent','cookieconsent.silktide.com',NULL);\nINSERT INTO tracker_domains VALUES('cookie_script','cookie-script.com',NULL);\nINSERT INTO tracker_domains VALUES('cookiebot','cookiebot.com',NULL);\nINSERT INTO tracker_domains VALUES('cookiebot','cookiebot.eu',NULL);\nINSERT INTO tracker_domains VALUES('cookiefirst','cookiefirst.com',NULL);\nINSERT INTO tracker_domains VALUES('cookiefirst','consent.cookiefirst.com',NULL);\nINSERT INTO tracker_domains VALUES('cookiehub','cookiehub.net',NULL);\nINSERT INTO tracker_domains VALUES('cookieinformation','cookieinformation.com',NULL);\nINSERT INTO tracker_domains VALUES('cookieinformation','policy.app.cookieinformation.com',NULL);\nINSERT INTO tracker_domains VALUES('cookieq','cookieq.com',NULL);\nINSERT INTO tracker_domains VALUES('cookietractor','cookietractor.com',NULL);\nINSERT INTO tracker_domains VALUES('cookieyes','cdn-cookieyes.com',NULL);\nINSERT INTO tracker_domains VALUES('cookieyes','log.cookieyes.com',NULL);\nINSERT INTO tracker_domains VALUES('cookieyes','cookieyes.com',NULL);\nINSERT INTO tracker_domains VALUES('cool_publisher_experiences','cool.co',NULL);\nINSERT INTO tracker_domains VALUES('cool_publisher_experiences','ingage.tech',NULL);\nINSERT INTO tracker_domains VALUES('cooliris','lite.piclens.com',NULL);\nINSERT INTO tracker_domains VALUES('copacet','copacet.com',NULL);\nINSERT INTO tracker_domains VALUES('coreaudience','raasnet.com',NULL);\nINSERT INTO tracker_domains VALUES('coremotives','coremotives.com',NULL);\nINSERT INTO tracker_domains VALUES('coull','coull.com',NULL);\nINSERT INTO tracker_domains VALUES('coveo_platform','platform-eu.cloud.coveo.com',NULL);\nINSERT INTO tracker_domains VALUES('coveo_platform','platform.cloud.coveo.com',NULL);\nINSERT INTO tracker_domains VALUES('coveo_usage_analytics','analytics-eu.cloud.coveo.com',NULL);\nINSERT INTO tracker_domains VALUES('coveo_usage_analytics','analytics.cloud.coveo.com',NULL);\nINSERT INTO tracker_domains VALUES('cpm_rocket','cpmrocket.com',NULL);\nINSERT INTO tracker_domains VALUES('cpmprofit','cpmprofit.com',NULL);\nINSERT INTO tracker_domains VALUES('cpmstar','cpmstar.com',NULL);\nINSERT INTO tracker_domains VALUES('cpx.to','captifymedia.com',NULL);\nINSERT INTO tracker_domains VALUES('cpx.to','cpx.to',NULL);\nINSERT INTO tracker_domains VALUES('cq_counter','cqcounter.com',NULL);\nINSERT INTO tracker_domains VALUES('cqq5id8n.com','cqq5id8n.com',NULL);\nINSERT INTO tracker_domains VALUES('cquotient.com','cquotient.com',NULL);\nINSERT INTO tracker_domains VALUES('craftkeys','craftkeys.com',NULL);\nINSERT INTO tracker_domains VALUES('crakmedia_network','ads.crakmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('crakmedia_network','craktraffic.com',NULL);\nINSERT INTO tracker_domains VALUES('crankyads','crankyads.com',NULL);\nINSERT INTO tracker_domains VALUES('crazy_egg','cetrk.com',NULL);\nINSERT INTO tracker_domains VALUES('crazy_egg','crazyegg.com',NULL);\nINSERT INTO tracker_domains VALUES('crazy_egg','dnn506yrbagrg.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('creafi','creafi-online-media.com',NULL);\nINSERT INTO tracker_domains VALUES('createjs','createjs.com',NULL);\nINSERT INTO tracker_domains VALUES('creative_commons','creativecommons.org',NULL);\nINSERT INTO tracker_domains VALUES('crimsonhexagon_com','brandwatch.com',NULL);\nINSERT INTO tracker_domains VALUES('crimsonhexagon_com','crimsonhexagon.com',NULL);\nINSERT INTO tracker_domains VALUES('crimsonhexagon_com','hexagon-analytics.com',NULL);\nINSERT INTO tracker_domains VALUES('crimtan','ctnsnet.com',NULL);\nINSERT INTO tracker_domains VALUES('crisp','crisp.chat',NULL);\nINSERT INTO tracker_domains VALUES('crisp','crisp.im',NULL);\nINSERT INTO tracker_domains VALUES('criteo','criteo.com',NULL);\nINSERT INTO tracker_domains VALUES('criteo','criteo.net',NULL);\nINSERT INTO tracker_domains VALUES('crm4d','p.crm4d.com',NULL);\nINSERT INTO tracker_domains VALUES('crossengage','crossengage.io',NULL);\nINSERT INTO tracker_domains VALUES('crosspixel','crosspixel.net',NULL);\nINSERT INTO tracker_domains VALUES('crosspixel','crsspxl.com',NULL);\nINSERT INTO tracker_domains VALUES('crosssell.info','crosssell.info',NULL);\nINSERT INTO tracker_domains VALUES('crossss','crossss.com',NULL);\nINSERT INTO tracker_domains VALUES('crowd_ignite','widget.crowdignite.com',NULL);\nINSERT INTO tracker_domains VALUES('crowd_science','static.crowdscience.com',NULL);\nINSERT INTO tracker_domains VALUES('crowdprocess','ss.crowdprocess.com',NULL);\nINSERT INTO tracker_domains VALUES('crowdynews','our.glossip.nl',NULL);\nINSERT INTO tracker_domains VALUES('crowdynews','widget.breakingburner.com',NULL);\nINSERT INTO tracker_domains VALUES('crowdynews','widget.crowdynews.com',NULL);\nINSERT INTO tracker_domains VALUES('crownpeak','searchg2.crownpeak.net',NULL);\nINSERT INTO tracker_domains VALUES('crownpeak','snippet.omm.crownpeak.com',NULL);\nINSERT INTO tracker_domains VALUES('cryptoloot_miner','cryptoloot.pro',NULL);\nINSERT INTO tracker_domains VALUES('csapps','cirkleinc.com',NULL);\nINSERT INTO tracker_domains VALUES('ctnetwork','ctnetwork.hu',NULL);\nINSERT INTO tracker_domains VALUES('ctrlshift','adzhub.com',NULL);\nINSERT INTO tracker_domains VALUES('cubed','data.withcubed.com',NULL);\nINSERT INTO tracker_domains VALUES('cuelinks','cuelinks.com',NULL);\nINSERT INTO tracker_domains VALUES('cup_interactive','cdn.cupinteractive.com',NULL);\nINSERT INTO tracker_domains VALUES('curse.com','curse.com',NULL);\nINSERT INTO tracker_domains VALUES('cursecdn.com','cursecdn.com',NULL);\nINSERT INTO tracker_domains VALUES('customer.io','assets.customer.io',NULL);\nINSERT INTO tracker_domains VALUES('customer.io','cdp.customer.io',NULL);\nINSERT INTO tracker_domains VALUES('customer.io','cdp-eu.customer.io',NULL);\nINSERT INTO tracker_domains VALUES('customer.io','api.customer.io',NULL);\nINSERT INTO tracker_domains VALUES('customer.io','api-eu.customer.io',NULL);\nINSERT INTO tracker_domains VALUES('customer.io_tracking','track.customer.io',NULL);\nINSERT INTO tracker_domains VALUES('customer.io_tracking','track-eu.customer.io',NULL);\nINSERT INTO tracker_domains VALUES('customerly','widget.customerly.io',NULL);\nINSERT INTO tracker_domains VALUES('customerly','messenger.customerly.io',NULL);\nINSERT INTO tracker_domains VALUES('customerly','chat.customerly.io',NULL);\nINSERT INTO tracker_domains VALUES('cxense','cxense.com',NULL);\nINSERT INTO tracker_domains VALUES('cxo.name','cxo.name',NULL);\nINSERT INTO tracker_domains VALUES('cyber_wing','cyberwing.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('cybersource','cybersource.com',NULL);\nINSERT INTO tracker_domains VALUES('cygnus','cygnus.com',NULL);\nINSERT INTO tracker_domains VALUES('da-ads.com','da-ads.com',NULL);\nINSERT INTO tracker_domains VALUES('dable','static.dable.io',NULL);\nINSERT INTO tracker_domains VALUES('dailymail.co.uk','dailymail.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('dailymotion','dailymotion.com',NULL);\nINSERT INTO tracker_domains VALUES('dailymotion','dailymotionbus.com',NULL);\nINSERT INTO tracker_domains VALUES('dailymotion','dm-event.net',NULL);\nINSERT INTO tracker_domains VALUES('dailymotion','dmcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('dailymotion_advertising','dmxleo.com',NULL);\nINSERT INTO tracker_domains VALUES('daisycon','ds1.nl',NULL);\nINSERT INTO tracker_domains VALUES('danawa','ad.danawa.com',NULL);\nINSERT INTO tracker_domains VALUES('danawa','las.danawa.com',NULL);\nINSERT INTO tracker_domains VALUES('dantrack.net','dantrack.net',NULL);\nINSERT INTO tracker_domains VALUES('darwin_marketing','dmclick.cn',NULL);\nINSERT INTO tracker_domains VALUES('dashboard_ad','tags.dashboardad.net',NULL);\nINSERT INTO tracker_domains VALUES('datacaciques.com','datacaciques.com',NULL);\nINSERT INTO tracker_domains VALUES('datacoral','datacoral.com',NULL);\nINSERT INTO tracker_domains VALUES('datacrushers','abandonaid.com',NULL);\nINSERT INTO tracker_domains VALUES('datacrushers','datacrushers.com',NULL);\nINSERT INTO tracker_domains VALUES('datadog','browser-intake-datadoghq.com',NULL);\nINSERT INTO tracker_domains VALUES('datadog','datadoghq-browser-agent.com',NULL);\nINSERT INTO tracker_domains VALUES('datadog','browser-intake-us3-datadoghq.com',NULL);\nINSERT INTO tracker_domains VALUES('datadog','browser-intake-us5-datadoghq.com',NULL);\nINSERT INTO tracker_domains VALUES('datadog','browser-intake-datadoghq.eu',NULL);\nINSERT INTO tracker_domains VALUES('datadog','browser-intake-ddog-gov.com',NULL);\nINSERT INTO tracker_domains VALUES('datadog','browser-intake-ap1-datadoghq.com',NULL);\nINSERT INTO tracker_domains VALUES('datadome','datadome.co',NULL);\nINSERT INTO tracker_domains VALUES('datalicious_datacollector','optimahub.com',NULL);\nINSERT INTO tracker_domains VALUES('datalicious_supertag','supert.ag',NULL);\nINSERT INTO tracker_domains VALUES('datalogix','inextaction.net',NULL);\nINSERT INTO tracker_domains VALUES('datalogix','nexac.com',NULL);\nINSERT INTO tracker_domains VALUES('datamind.ru','datamind.ru',NULL);\nINSERT INTO tracker_domains VALUES('datarize','assets.datarize.ai',NULL);\nINSERT INTO tracker_domains VALUES('datarize','dtr-onsite-feed.datarize.ai',NULL);\nINSERT INTO tracker_domains VALUES('datarize','log.pipeline.datarize.io',NULL);\nINSERT INTO tracker_domains VALUES('datarize','realtime-profiling.datarize.ai',NULL);\nINSERT INTO tracker_domains VALUES('datatables','datatables.net',NULL);\nINSERT INTO tracker_domains VALUES('datawrkz','adunits.datawrkz.com',NULL);\nINSERT INTO tracker_domains VALUES('dataxpand','dataxpand.script.ag',NULL);\nINSERT INTO tracker_domains VALUES('dataxpand','tc.dataxpand.com',NULL);\nINSERT INTO tracker_domains VALUES('dataxu','w55c.net',NULL);\nINSERT INTO tracker_domains VALUES('datds.net','datds.net',NULL);\nINSERT INTO tracker_domains VALUES('datonics','pro-market.net',NULL);\nINSERT INTO tracker_domains VALUES('datran','displaymarketplace.com',NULL);\nINSERT INTO tracker_domains VALUES('daum.net','daum.net',NULL);\nINSERT INTO tracker_domains VALUES('daum.net','daumcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('davebestdeals.com','davebestdeals.com',NULL);\nINSERT INTO tracker_domains VALUES('dawandastatic.com','dawandastatic.com',NULL);\nINSERT INTO tracker_domains VALUES('dax','thisisdax.com',NULL);\nINSERT INTO tracker_domains VALUES('dc_stormiq','dc-storm.com',NULL);\nINSERT INTO tracker_domains VALUES('dc_stormiq','h4k5.com',NULL);\nINSERT INTO tracker_domains VALUES('dc_stormiq','stormcontainertag.com',NULL);\nINSERT INTO tracker_domains VALUES('dc_stormiq','stormiq.com',NULL);\nINSERT INTO tracker_domains VALUES('dcbap.com','dcbap.com',NULL);\nINSERT INTO tracker_domains VALUES('dcmn.com','dcmn.com',NULL);\nINSERT INTO tracker_domains VALUES('de_persgroep','statslogger.rocket.persgroep.cloud',NULL);\nINSERT INTO tracker_domains VALUES('deadline_funnel','deadlinefunnel.com',NULL);\nINSERT INTO tracker_domains VALUES('dealer.com','cc2.dealer.com',NULL);\nINSERT INTO tracker_domains VALUES('dealer.com','d9lq0o81skkdj.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('dealer.com','esm1.net',NULL);\nINSERT INTO tracker_domains VALUES('dealer.com','static.dealer.com',NULL);\nINSERT INTO tracker_domains VALUES('decibel_insight','decibelinsight.net',NULL);\nINSERT INTO tracker_domains VALUES('dedicated_media','ads.dedicatedmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('deep.bi','api.deep.bi',NULL);\nINSERT INTO tracker_domains VALUES('deepintent.com','deepintent.com',NULL);\nINSERT INTO tracker_domains VALUES('defpush.com','defpush.com',NULL);\nINSERT INTO tracker_domains VALUES('deichmann.com','deichmann.com',NULL);\nINSERT INTO tracker_domains VALUES('delacon','vxml4.delacon.com.au',NULL);\nINSERT INTO tracker_domains VALUES('delivr','tracking.percentmobile.com',NULL);\nINSERT INTO tracker_domains VALUES('delivrai','delivr.ai',NULL);\nINSERT INTO tracker_domains VALUES('delivrai','usbrowserspeed.com',NULL);\nINSERT INTO tracker_domains VALUES('delta-sync','wifi.delta.com',NULL);\nINSERT INTO tracker_domains VALUES('delta_projects','adaction.se',NULL);\nINSERT INTO tracker_domains VALUES('delta_projects','de17a.com',NULL);\nINSERT INTO tracker_domains VALUES('deluxe','deluxe.script.ag',NULL);\nINSERT INTO tracker_domains VALUES('delve_networks','delvenetworks.com',NULL);\nINSERT INTO tracker_domains VALUES('demandbase','company-target.com',NULL);\nINSERT INTO tracker_domains VALUES('demandbase','demandbase.com',NULL);\nINSERT INTO tracker_domains VALUES('deqwas','deqwas.net',NULL);\nINSERT INTO tracker_domains VALUES('devatics','devatics.com',NULL);\nINSERT INTO tracker_domains VALUES('developer_media','developermedia.com',NULL);\nINSERT INTO tracker_domains VALUES('deviantart.net','dapxl.com',NULL);\nINSERT INTO tracker_domains VALUES('deviantart.net','deviantart.net',NULL);\nINSERT INTO tracker_domains VALUES('dex_platform','my.blueadvertise.com',NULL);\nINSERT INTO tracker_domains VALUES('dgm','dgm-au.com',NULL);\nINSERT INTO tracker_domains VALUES('dgm','s2d6.com',NULL);\nINSERT INTO tracker_domains VALUES('dialogflow','static.dialogflow.com',NULL);\nINSERT INTO tracker_domains VALUES('dialogtech','d31y97ze264gaa.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('dianomi','d3von6il1wr7wo.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('dianomi','dianomi.com',NULL);\nINSERT INTO tracker_domains VALUES('dianomi','dianomioffers.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('didit_blizzard','tag.didit.com',NULL);\nINSERT INTO tracker_domains VALUES('didit_maestro','track.did-it.com',NULL);\nINSERT INTO tracker_domains VALUES('didomi','privacy-center.org',NULL);\nINSERT INTO tracker_domains VALUES('digg_widget','digg.com',NULL);\nINSERT INTO tracker_domains VALUES('digicert_trust_seal','digicert.com',NULL);\nINSERT INTO tracker_domains VALUES('digidip','digidip.net',NULL);\nINSERT INTO tracker_domains VALUES('digiglitz','digiglitzmarketing.go2cloud.org',NULL);\nINSERT INTO tracker_domains VALUES('digilant','wtp101.com',NULL);\nINSERT INTO tracker_domains VALUES('digioh','digioh.com',NULL);\nINSERT INTO tracker_domains VALUES('digioh','lightboxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('digital.gov','digitalgov.gov',NULL);\nINSERT INTO tracker_domains VALUES('digital_control_room','cookiereports.com',NULL);\nINSERT INTO tracker_domains VALUES('digital_nomads','adtag.cc',NULL);\nINSERT INTO tracker_domains VALUES('digital_remedy','adready.com',NULL);\nINSERT INTO tracker_domains VALUES('digital_remedy','adreadytractions.com',NULL);\nINSERT INTO tracker_domains VALUES('digital_remedy','cpxinteractive.com',NULL);\nINSERT INTO tracker_domains VALUES('digital_river','directtrack.com',NULL);\nINSERT INTO tracker_domains VALUES('digital_river','onenetworkdirect.net',NULL);\nINSERT INTO tracker_domains VALUES('digital_river','track.digitalriver.com',NULL);\nINSERT INTO tracker_domains VALUES('digital_window','dwin1.com',NULL);\nINSERT INTO tracker_domains VALUES('digiteka','digiteka.net',NULL);\nINSERT INTO tracker_domains VALUES('digiteka','ultimedia.com',NULL);\nINSERT INTO tracker_domains VALUES('digitrust','digitru.st',NULL);\nINSERT INTO tracker_domains VALUES('dihitt_badge','widget.dihitt.com.br',NULL);\nINSERT INTO tracker_domains VALUES('dimml','dimml.io',NULL);\nINSERT INTO tracker_domains VALUES('direct_keyword_link','keywordsconnect.com',NULL);\nINSERT INTO tracker_domains VALUES('directadvert','directadvert.ru',NULL);\nINSERT INTO tracker_domains VALUES('directrev','directrev.com',NULL);\nINSERT INTO tracker_domains VALUES('discord','discordapp.com',NULL);\nINSERT INTO tracker_domains VALUES('discord','discord.gg',NULL);\nINSERT INTO tracker_domains VALUES('discord','discord.com',NULL);\nINSERT INTO tracker_domains VALUES('discord','discordapp.net',NULL);\nINSERT INTO tracker_domains VALUES('discord','discordstatus.com',NULL);\nINSERT INTO tracker_domains VALUES('discord','dis.gd',NULL);\nINSERT INTO tracker_domains VALUES('discord','discord.co',NULL);\nINSERT INTO tracker_domains VALUES('discord','discord.tools',NULL);\nINSERT INTO tracker_domains VALUES('discord','discordsays.com',NULL);\nINSERT INTO tracker_domains VALUES('disney_plus_analytics','sanalytics.disneyplus.com',NULL);\nINSERT INTO tracker_domains VALUES('display_block','d81mfvml8p5ml.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('disqus','disqus.com',NULL);\nINSERT INTO tracker_domains VALUES('disqus','disquscdn.com',NULL);\nINSERT INTO tracker_domains VALUES('disqus_ads','disqusads.com',NULL);\nINSERT INTO tracker_domains VALUES('distil_tag','distiltag.com',NULL);\nINSERT INTO tracker_domains VALUES('districtm.io','districtm.ca',NULL);\nINSERT INTO tracker_domains VALUES('districtm.io','districtm.io',NULL);\nINSERT INTO tracker_domains VALUES('distroscale','jsrdn.com',NULL);\nINSERT INTO tracker_domains VALUES('div.show','div.show',NULL);\nINSERT INTO tracker_domains VALUES('diva','stats.vertriebsassistent.de',NULL);\nINSERT INTO tracker_domains VALUES('divvit','tag.divvit.com',NULL);\nINSERT INTO tracker_domains VALUES('dixa','dixa.io',NULL);\nINSERT INTO tracker_domains VALUES('dm2','d-msquared.com',NULL);\nINSERT INTO tracker_domains VALUES('dmg_media','and.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('dmm','dmm.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('dmwd','ctret.de',NULL);\nINSERT INTO tracker_domains VALUES('dockvine','toolbar.dockvine.com',NULL);\nINSERT INTO tracker_domains VALUES('docler','awecr.com',NULL);\nINSERT INTO tracker_domains VALUES('docler','fwbntw.com',NULL);\nINSERT INTO tracker_domains VALUES('document360','document360.com',NULL);\nINSERT INTO tracker_domains VALUES('dogannet','s.dogannet.tv',NULL);\nINSERT INTO tracker_domains VALUES('domodomain','www.domodomain.com',NULL);\nINSERT INTO tracker_domains VALUES('donationtools','donation-tools.org',NULL);\nINSERT INTO tracker_domains VALUES('doofinder.com','doofinder.com',NULL);\nINSERT INTO tracker_domains VALUES('doorbell.io','embed.doorbell.io',NULL);\nINSERT INTO tracker_domains VALUES('dotandmedia','dotandad.com',NULL);\nINSERT INTO tracker_domains VALUES('dotmailer','trackedlink.net',NULL);\nINSERT INTO tracker_domains VALUES('dotmetrics.net','dotmetrics.net',NULL);\nINSERT INTO tracker_domains VALUES('dotomi','dotomi.com',NULL);\nINSERT INTO tracker_domains VALUES('dotomi','dtmc.com',NULL);\nINSERT INTO tracker_domains VALUES('dotomi','dtmpub.com',NULL);\nINSERT INTO tracker_domains VALUES('doubleclick','2mdn.net',NULL);\nINSERT INTO tracker_domains VALUES('doubleclick','doubleclick.net',NULL);\nINSERT INTO tracker_domains VALUES('doubleclick','invitemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('doubleclick','adservice.google.com',NULL);\nINSERT INTO tracker_domains VALUES('doubleclick','adtrafficquality.google',NULL);\nINSERT INTO tracker_domains VALUES('doublepimp','doublepimp.com',NULL);\nINSERT INTO tracker_domains VALUES('doublepimp','doublepimpssl.com',NULL);\nINSERT INTO tracker_domains VALUES('doublepimp','redcourtside.com',NULL);\nINSERT INTO tracker_domains VALUES('doublepimp','xeontopa.com',NULL);\nINSERT INTO tracker_domains VALUES('doublepimp','zerezas.com',NULL);\nINSERT INTO tracker_domains VALUES('doubleverify','doubleverify.com',NULL);\nINSERT INTO tracker_domains VALUES('dratio','wrating.com',NULL);\nINSERT INTO tracker_domains VALUES('drawbridge','adsymptotic.com',NULL);\nINSERT INTO tracker_domains VALUES('dreamlab.pl','dreamlab.pl',NULL);\nINSERT INTO tracker_domains VALUES('drift','drift.com',NULL);\nINSERT INTO tracker_domains VALUES('drift','js.driftt.com',NULL);\nINSERT INTO tracker_domains VALUES('drift','driftapi.com',NULL);\nINSERT INTO tracker_domains VALUES('drip','getdrip.com',NULL);\nINSERT INTO tracker_domains VALUES('dropbox.com','dropbox.com',NULL);\nINSERT INTO tracker_domains VALUES('dropbox.com','dropboxstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('dsnr_media_group','z5x.net',NULL);\nINSERT INTO tracker_domains VALUES('dsp_rambler','dsp-rambler.ru',NULL);\nINSERT INTO tracker_domains VALUES('dstillery','m6d.com',NULL);\nINSERT INTO tracker_domains VALUES('dstillery','media6degrees.com',NULL);\nINSERT INTO tracker_domains VALUES('dstillery','dstillery.com',NULL);\nINSERT INTO tracker_domains VALUES('dtscout.com','dtscout.com',NULL);\nINSERT INTO tracker_domains VALUES('dudamobile','dd-cdn.multiscreensite.com',NULL);\nINSERT INTO tracker_domains VALUES('dudamobile','px.multiscreensite.com',NULL);\nINSERT INTO tracker_domains VALUES('dun_and_bradstreet','cdn-0.d41.co',NULL);\nINSERT INTO tracker_domains VALUES('dwstat.cn','cn01.dwstat.cn',NULL);\nINSERT INTO tracker_domains VALUES('dynad','dynad.net',NULL);\nINSERT INTO tracker_domains VALUES('dynadmic','dyntrk.com',NULL);\nINSERT INTO tracker_domains VALUES('dynamic_1001_gmbh','dyntracker.de',NULL);\nINSERT INTO tracker_domains VALUES('dynamic_1001_gmbh','media01.eu',NULL);\nINSERT INTO tracker_domains VALUES('dynamic_logic','content.dl-rms.com',NULL);\nINSERT INTO tracker_domains VALUES('dynamic_logic','dlqm.net',NULL);\nINSERT INTO tracker_domains VALUES('dynamic_logic','questionmarket.com',NULL);\nINSERT INTO tracker_domains VALUES('dynamic_yield','dynamicyield.com',NULL);\nINSERT INTO tracker_domains VALUES('dynamics_365','svc.dynamics.com',NULL);\nINSERT INTO tracker_domains VALUES('dynamics_365','omnichannelengagementhub.com',NULL);\nINSERT INTO tracker_domains VALUES('dynata','beacons.hottraffic.nl',NULL);\nINSERT INTO tracker_domains VALUES('dynatrace.com','dynatrace.com',NULL);\nINSERT INTO tracker_domains VALUES('dyncdn.me','dyncdn.me',NULL);\nINSERT INTO tracker_domains VALUES('e-planning','e-planning.net',NULL);\nINSERT INTO tracker_domains VALUES('eadv','eadv.it',NULL);\nINSERT INTO tracker_domains VALUES('eanalyzer.de','eanalyzer.de',NULL);\nINSERT INTO tracker_domains VALUES('early_birds','early-birds.fr',NULL);\nINSERT INTO tracker_domains VALUES('earnify','cdn.earnify.com',NULL);\nINSERT INTO tracker_domains VALUES('earnify_tracker','earnify.com',NULL);\nINSERT INTO tracker_domains VALUES('easyads','easyads.bg',NULL);\nINSERT INTO tracker_domains VALUES('easylist_club','easylist.club',NULL);\nINSERT INTO tracker_domains VALUES('ebay','classistatic.de',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebay-us.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebay.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebay.de',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebayclassifiedsgroup.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebaycommercenetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebaydesc.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebayimg.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebayrtm.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay','ebaystatic.com',NULL);\nINSERT INTO tracker_domains VALUES('ebay_korea','ad.about.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('ebay_korea','adcheck.about.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('ebay_partner_network','adn.ebay.com',NULL);\nINSERT INTO tracker_domains VALUES('ebbot','ebbot.app',NULL);\nINSERT INTO tracker_domains VALUES('ebuzzing','beead.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('ebuzzing','beead.fr',NULL);\nINSERT INTO tracker_domains VALUES('ebuzzing','beead.net',NULL);\nINSERT INTO tracker_domains VALUES('ebuzzing','ebuzzing.com',NULL);\nINSERT INTO tracker_domains VALUES('ebuzzing','ebz.io',NULL);\nINSERT INTO tracker_domains VALUES('echo','echoenabled.com',NULL);\nINSERT INTO tracker_domains VALUES('echobox','ebxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('eclick','eclick.vn',NULL);\nINSERT INTO tracker_domains VALUES('econda','econda-monitor.de',NULL);\nINSERT INTO tracker_domains VALUES('ecotag','eco-tag.jp',NULL);\nINSERT INTO tracker_domains VALUES('edigitalresearch','ecustomeropinions.com',NULL);\nINSERT INTO tracker_domains VALUES('effective_measure','effectivemeasure.net',NULL);\nINSERT INTO tracker_domains VALUES('effiliation','effiliation.com',NULL);\nINSERT INTO tracker_domains VALUES('egain','egain.net',NULL);\nINSERT INTO tracker_domains VALUES('egain_analytics','cloud-emea.analytics-egain.com',NULL);\nINSERT INTO tracker_domains VALUES('ehi-siegel_de','ehi-siegel.de',NULL);\nINSERT INTO tracker_domains VALUES('ekmpinpoint','ekmpinpoint.com',NULL);\nINSERT INTO tracker_domains VALUES('ekomi','ekomi.de',NULL);\nINSERT INTO tracker_domains VALUES('elastic_ad','elasticad.net',NULL);\nINSERT INTO tracker_domains VALUES('elastic_beanstalk','elasticbeanstalk.com',NULL);\nINSERT INTO tracker_domains VALUES('elicit','elicitapp.com',NULL);\nINSERT INTO tracker_domains VALUES('eloqua','eloqua.com',NULL);\nINSERT INTO tracker_domains VALUES('eloqua','en25.com',NULL);\nINSERT INTO tracker_domains VALUES('eluxer_net','eluxer.net',NULL);\nINSERT INTO tracker_domains VALUES('email_aptitude','tracker.emailaptitude.com',NULL);\nINSERT INTO tracker_domains VALUES('email_attitude','tag.email-attitude.com',NULL);\nINSERT INTO tracker_domains VALUES('emarketeer','app.emarketeer.com',NULL);\nINSERT INTO tracker_domains VALUES('emart_traders','www.traders.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('embed.ly','embed.ly',NULL);\nINSERT INTO tracker_domains VALUES('embed.ly','embedly.com',NULL);\nINSERT INTO tracker_domains VALUES('emediate','emediate.dk',NULL);\nINSERT INTO tracker_domains VALUES('emediate','emediate.eu',NULL);\nINSERT INTO tracker_domains VALUES('emediate','emediate.se',NULL);\nINSERT INTO tracker_domains VALUES('emetriq','emetriq.de',NULL);\nINSERT INTO tracker_domains VALUES('emma','e2ma.net',NULL);\nINSERT INTO tracker_domains VALUES('emnet','adinsight.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('empathy','colbenson.es',NULL);\nINSERT INTO tracker_domains VALUES('emsmobile.de','emsmobile.de',NULL);\nINSERT INTO tracker_domains VALUES('encore_metrics','sitecompass.com',NULL);\nINSERT INTO tracker_domains VALUES('enecto_analytics','enectoanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('enecto_analytics','trk.enecto.com',NULL);\nINSERT INTO tracker_domains VALUES('engage_sciences','track.engagesciences.com',NULL);\nINSERT INTO tracker_domains VALUES('engageya_widget','widget.engageya.com',NULL);\nINSERT INTO tracker_domains VALUES('engagio','engagio.com',NULL);\nINSERT INTO tracker_domains VALUES('engineseeker','engineseeker.com',NULL);\nINSERT INTO tracker_domains VALUES('enquisite','enquisite.com',NULL);\nINSERT INTO tracker_domains VALUES('enreach','adtlgc.com',NULL);\nINSERT INTO tracker_domains VALUES('ensemble','ats.tumri.net',NULL);\nINSERT INTO tracker_domains VALUES('ensighten','ensighten.com',NULL);\nINSERT INTO tracker_domains VALUES('envolve','envolve.com',NULL);\nINSERT INTO tracker_domains VALUES('envybox','cdn.callbackkiller.com',NULL);\nINSERT INTO tracker_domains VALUES('enzuzo','app.enzuzo.com',NULL);\nINSERT INTO tracker_domains VALUES('eperflex','email-reflex.com',NULL);\nINSERT INTO tracker_domains VALUES('epic_game_ads','epicgameads.com',NULL);\nINSERT INTO tracker_domains VALUES('epic_marketplace','trafficmp.com',NULL);\nINSERT INTO tracker_domains VALUES('epom','adshost1.com',NULL);\nINSERT INTO tracker_domains VALUES('epom','adshost2.com',NULL);\nINSERT INTO tracker_domains VALUES('epom','epom.com',NULL);\nINSERT INTO tracker_domains VALUES('epoq','epoq.de',NULL);\nINSERT INTO tracker_domains VALUES('eprice','banzaiadv.it',NULL);\nINSERT INTO tracker_domains VALUES('eproof','eproof.com',NULL);\nINSERT INTO tracker_domains VALUES('eqs_group','equitystory.com',NULL);\nINSERT INTO tracker_domains VALUES('eqworks','eqads.com',NULL);\nINSERT INTO tracker_domains VALUES('eroadvertising','ero-advertising.com',NULL);\nINSERT INTO tracker_domains VALUES('eroadvertising','eroadvertising.com',NULL);\nINSERT INTO tracker_domains VALUES('errorception','d15qhc0lu1ghnk.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('errorception','errorception.com',NULL);\nINSERT INTO tracker_domains VALUES('eshopcomp.com','eshopcomp.com',NULL);\nINSERT INTO tracker_domains VALUES('eskimi','ittpx.eskimi.com',NULL);\nINSERT INTO tracker_domains VALUES('espn_cdn','espncdn.com',NULL);\nINSERT INTO tracker_domains VALUES('esprit.de','esprit.de',NULL);\nINSERT INTO tracker_domains VALUES('estat','cybermonitor.com',NULL);\nINSERT INTO tracker_domains VALUES('estat','estat.com',NULL);\nINSERT INTO tracker_domains VALUES('etag','teste-s3-maycon.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('etahub.com','etahub.com',NULL);\nINSERT INTO tracker_domains VALUES('etarget','etargetnet.com',NULL);\nINSERT INTO tracker_domains VALUES('ethnio','ethn.io',NULL);\nINSERT INTO tracker_domains VALUES('ethyca','ethyca.com',NULL);\nINSERT INTO tracker_domains VALUES('etology','pages.etology.com',NULL);\nINSERT INTO tracker_domains VALUES('etp','sa.etp-prod.com',NULL);\nINSERT INTO tracker_domains VALUES('etracker','etracker.com',NULL);\nINSERT INTO tracker_domains VALUES('etracker','etracker.de',NULL);\nINSERT INTO tracker_domains VALUES('etracker','sedotracker.com',NULL);\nINSERT INTO tracker_domains VALUES('etrigue','etrigue.com',NULL);\nINSERT INTO tracker_domains VALUES('etsystatic','etsystatic.com',NULL);\nINSERT INTO tracker_domains VALUES('eulerian','eulerian.net',NULL);\nINSERT INTO tracker_domains VALUES('eulerian','eultech.fnac.com',NULL);\nINSERT INTO tracker_domains VALUES('eulerian','ew3.io',NULL);\nINSERT INTO tracker_domains VALUES('euroads','euroads.dk',NULL);\nINSERT INTO tracker_domains VALUES('euroads','euroads.fi',NULL);\nINSERT INTO tracker_domains VALUES('euroads','euroads.no',NULL);\nINSERT INTO tracker_domains VALUES('europecash','newpromo.europacash.com',NULL);\nINSERT INTO tracker_domains VALUES('euroweb_counter','tracker.euroweb.net',NULL);\nINSERT INTO tracker_domains VALUES('evergage.com','apptegic.com',NULL);\nINSERT INTO tracker_domains VALUES('evergage.com','evergage.com',NULL);\nINSERT INTO tracker_domains VALUES('everstring','listener.everstring.com',NULL);\nINSERT INTO tracker_domains VALUES('everyday_health','waterfrontmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('evidon','betrad.com',NULL);\nINSERT INTO tracker_domains VALUES('evidon','evidon.com',NULL);\nINSERT INTO tracker_domains VALUES('evisit_analyst','evisitanalyst.com',NULL);\nINSERT INTO tracker_domains VALUES('evisit_analyst','evisitcs.com',NULL);\nINSERT INTO tracker_domains VALUES('evisit_analyst','websiteperform.com',NULL);\nINSERT INTO tracker_domains VALUES('exact_drive','ads.exactdrive.com',NULL);\nINSERT INTO tracker_domains VALUES('exactag','exactag.com',NULL);\nINSERT INTO tracker_domains VALUES('exelate','exelator.com',NULL);\nINSERT INTO tracker_domains VALUES('exitjunction','dynamicoxygen.com',NULL);\nINSERT INTO tracker_domains VALUES('exitjunction','exitjunction.com',NULL);\nINSERT INTO tracker_domains VALUES('exoclick','exdynsrv.com',NULL);\nINSERT INTO tracker_domains VALUES('exoclick','exoclick.com',NULL);\nINSERT INTO tracker_domains VALUES('exoclick','exosrv.com',NULL);\nINSERT INTO tracker_domains VALUES('exoticads.com','exoticads.com',NULL);\nINSERT INTO tracker_domains VALUES('expedia','expedia.com',NULL);\nINSERT INTO tracker_domains VALUES('expedia','trvl-px.com',NULL);\nINSERT INTO tracker_domains VALUES('experian','eccmp.com',NULL);\nINSERT INTO tracker_domains VALUES('experian_marketing_services','audienceiq.com',NULL);\nINSERT INTO tracker_domains VALUES('experian_marketing_services','techlightenment.com',NULL);\nINSERT INTO tracker_domains VALUES('expo-max','expo-max.com',NULL);\nINSERT INTO tracker_domains VALUES('exponea','exponea.com',NULL);\nINSERT INTO tracker_domains VALUES('expose_box','server.exposebox.com',NULL);\nINSERT INTO tracker_domains VALUES('expose_box_widgets','sf.exposebox.com',NULL);\nINSERT INTO tracker_domains VALUES('express.co.uk','express.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('expressvpn','d1lp05q4sghme9.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('extreme_tracker','extreme-dm.com',NULL);\nINSERT INTO tracker_domains VALUES('eye-able','eye-able.com',NULL);\nINSERT INTO tracker_domains VALUES('eye_newton','eyenewton.ru',NULL);\nINSERT INTO tracker_domains VALUES('eyeota','eyeota.net',NULL);\nINSERT INTO tracker_domains VALUES('eyereturnmarketing','eyereturn.com',NULL);\nINSERT INTO tracker_domains VALUES('eyeview','eyeviewads.com',NULL);\nINSERT INTO tracker_domains VALUES('ezakus','ezakus.net',NULL);\nINSERT INTO tracker_domains VALUES('f11-ads.com','f11-ads.com',NULL);\nINSERT INTO tracker_domains VALUES('facebook','facebook.com',NULL);\nINSERT INTO tracker_domains VALUES('facebook','facebook.net',NULL);\nINSERT INTO tracker_domains VALUES('facebook_cdn','fbcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('facebook_cdn','fbsbx.com',NULL);\nINSERT INTO tracker_domains VALUES('facebook_graph','graph.facebook.com',NULL);\nINSERT INTO tracker_domains VALUES('facetz.dca','facetz.net',NULL);\nINSERT INTO tracker_domains VALUES('facilitate_digital','adsfac.eu',NULL);\nINSERT INTO tracker_domains VALUES('facilitate_digital','adsfac.net',NULL);\nINSERT INTO tracker_domains VALUES('facilitate_digital','adsfac.sg',NULL);\nINSERT INTO tracker_domains VALUES('facilitate_digital','adsfac.us',NULL);\nINSERT INTO tracker_domains VALUES('factfinder','54proxy.com',NULL);\nINSERT INTO tracker_domains VALUES('faktor.io','faktor.io',NULL);\nINSERT INTO tracker_domains VALUES('fancy_widget','thefancy.com',NULL);\nINSERT INTO tracker_domains VALUES('fanplayr','d1q7pknmpq2wkm.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('fap.to','fap.to',NULL);\nINSERT INTO tracker_domains VALUES('fastly_insights','fastly-insights.com',NULL);\nINSERT INTO tracker_domains VALUES('fastlylb.net','fastly.net',NULL);\nINSERT INTO tracker_domains VALUES('fastlylb.net','fastlylb.net',NULL);\nINSERT INTO tracker_domains VALUES('fastpic.ru','fastpic.ru',NULL);\nINSERT INTO tracker_domains VALUES('fathom','usefathom.com',NULL);\nINSERT INTO tracker_domains VALUES('fathom','quick-esteemed.usefathom.com',NULL);\nINSERT INTO tracker_domains VALUES('federated_media','fmpub.net',NULL);\nINSERT INTO tracker_domains VALUES('feedbackify','fby.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('feedbackify','feedbackify.com',NULL);\nINSERT INTO tracker_domains VALUES('feedburner.com','feedburner.com',NULL);\nINSERT INTO tracker_domains VALUES('feedify','feedify.de',NULL);\nINSERT INTO tracker_domains VALUES('feedjit','feedjit.com',NULL);\nINSERT INTO tracker_domains VALUES('feedjit','log.feedjit.com',NULL);\nINSERT INTO tracker_domains VALUES('feedperfect','tracking.feedperfect.com',NULL);\nINSERT INTO tracker_domains VALUES('feedsportal','feedsportal.com',NULL);\nINSERT INTO tracker_domains VALUES('feefo','feefo.com',NULL);\nINSERT INTO tracker_domains VALUES('fentybeauty','api-v3-docker-nrl2mwczfq-uc.a.run.app',NULL);\nINSERT INTO tracker_domains VALUES('fidelity_media','fidelity-media.com',NULL);\nINSERT INTO tracker_domains VALUES('fiftypoint6','506.io',NULL);\nINSERT INTO tracker_domains VALUES('fiksu','fiksu.com',NULL);\nINSERT INTO tracker_domains VALUES('filament.io','filamentapp.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('fileserve','fileserve.xyz',NULL);\nINSERT INTO tracker_domains VALUES('financeads','tools.financeads.net',NULL);\nINSERT INTO tracker_domains VALUES('financial_content','tracker.financialcontent.com',NULL);\nINSERT INTO tracker_domains VALUES('findizer.fr','findizer.fr',NULL);\nINSERT INTO tracker_domains VALUES('findologic.com','findologic.com',NULL);\nINSERT INTO tracker_domains VALUES('firebaseio.com','firebaseio.com',NULL);\nINSERT INTO tracker_domains VALUES('firebaseio.com','page.link',NULL);\nINSERT INTO tracker_domains VALUES('firebaseio.com','search.app.goo.gl',NULL);\nINSERT INTO tracker_domains VALUES('first_impression','firstimpression.io',NULL);\nINSERT INTO tracker_domains VALUES('fiserv','firstdata.com',NULL);\nINSERT INTO tracker_domains VALUES('fit_analytics','fitanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('fiverr_analytics','fiverr.com',NULL);\nINSERT INTO tracker_domains VALUES('fiverr_cdn','fiverrcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('fivetran','fivetran.com',NULL);\nINSERT INTO tracker_domains VALUES('flag_ads','flagads.net',NULL);\nINSERT INTO tracker_domains VALUES('flag_counter','flagcounter.com',NULL);\nINSERT INTO tracker_domains VALUES('flashtalking','flashtalking.com',NULL);\nINSERT INTO tracker_domains VALUES('flattr_button','flattr.com',NULL);\nINSERT INTO tracker_domains VALUES('flexoffers','flexlinks.com',NULL);\nINSERT INTO tracker_domains VALUES('flexoffers','linkoffers.net',NULL);\nINSERT INTO tracker_domains VALUES('flickr_badge','flickr.com',NULL);\nINSERT INTO tracker_domains VALUES('flickr_badge','staticflickr.com',NULL);\nINSERT INTO tracker_domains VALUES('flipboard','lflipboard.com',NULL);\nINSERT INTO tracker_domains VALUES('flite','flite.com',NULL);\nINSERT INTO tracker_domains VALUES('flixcdn.com','flixcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('flixmedia','flix360.com',NULL);\nINSERT INTO tracker_domains VALUES('flixmedia','flixcar.com',NULL);\nINSERT INTO tracker_domains VALUES('flocktory.com','flocktory.com',NULL);\nINSERT INTO tracker_domains VALUES('flowbox','getflowbox.com',NULL);\nINSERT INTO tracker_domains VALUES('flowplayer','flowplayer.org',NULL);\nINSERT INTO tracker_domains VALUES('fluct','adingo.jp',NULL);\nINSERT INTO tracker_domains VALUES('fluent','clicken.us',NULL);\nINSERT INTO tracker_domains VALUES('fluid','strcst.net',NULL);\nINSERT INTO tracker_domains VALUES('fluidads','fluidads.co',NULL);\nINSERT INTO tracker_domains VALUES('fluidsurveys','fluidsurveys.com',NULL);\nINSERT INTO tracker_domains VALUES('flurry','cdn.flurry.com',NULL);\nINSERT INTO tracker_domains VALUES('flurry','data.flurry.com',NULL);\nINSERT INTO tracker_domains VALUES('flxone','flx1.com',NULL);\nINSERT INTO tracker_domains VALUES('flxone','flxpxl.com',NULL);\nINSERT INTO tracker_domains VALUES('flyertown','api.flyertown.ca',NULL);\nINSERT INTO tracker_domains VALUES('fmadserving','adservinghost.com',NULL);\nINSERT INTO tracker_domains VALUES('fmadserving','adservinginternational.com',NULL);\nINSERT INTO tracker_domains VALUES('fonbet','special.matchtv.ru',NULL);\nINSERT INTO tracker_domains VALUES('fonecta','kavijaseuranta.fi',NULL);\nINSERT INTO tracker_domains VALUES('fontawesome_com','fontawesome.com',NULL);\nINSERT INTO tracker_domains VALUES('foodie_blogroll','foodieblogroll.com',NULL);\nINSERT INTO tracker_domains VALUES('footprint','footprintlive.com',NULL);\nINSERT INTO tracker_domains VALUES('footprintdns.com','footprintdns.com',NULL);\nINSERT INTO tracker_domains VALUES('forcetrac','forcetrac.com',NULL);\nINSERT INTO tracker_domains VALUES('forensiq','fqsecure.com',NULL);\nINSERT INTO tracker_domains VALUES('forensiq','fqtag.com',NULL);\nINSERT INTO tracker_domains VALUES('forensiq','securepaths.com',NULL);\nINSERT INTO tracker_domains VALUES('foresee','4seeresults.com',NULL);\nINSERT INTO tracker_domains VALUES('foresee','foresee.com',NULL);\nINSERT INTO tracker_domains VALUES('formassembly','tfaforms.net',NULL);\nINSERT INTO tracker_domains VALUES('formassembly','analytics.formassembly.com',NULL);\nINSERT INTO tracker_domains VALUES('formisimo','cdn-static.formisimo.com',NULL);\nINSERT INTO tracker_domains VALUES('forter','forter.com',NULL);\nINSERT INTO tracker_domains VALUES('fortlachanhecksof.info','fortlachanhecksof.info',NULL);\nINSERT INTO tracker_domains VALUES('fouanalytics','api.fouanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('foursquare_widget','platform.foursquare.com',NULL);\nINSERT INTO tracker_domains VALUES('fout.jp','fout.jp',NULL);\nINSERT INTO tracker_domains VALUES('fox_audience_network','fimserve.com',NULL);\nINSERT INTO tracker_domains VALUES('foxnews_static','fncstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('foxpush','cdn.foxpush.net',NULL);\nINSERT INTO tracker_domains VALUES('foxpush','foxpush.com',NULL);\nINSERT INTO tracker_domains VALUES('foxydeal_com','foxydeal.com',NULL);\nINSERT INTO tracker_domains VALUES('framer','framer.com',NULL);\nINSERT INTO tracker_domains VALUES('framer','framerusercontent.com',NULL);\nINSERT INTO tracker_domains VALUES('framer_events','events.framer.com',NULL);\nINSERT INTO tracker_domains VALUES('fraud0','api.fraud0.com',NULL);\nINSERT INTO tracker_domains VALUES('fraudlogix','yabidos.com',NULL);\nINSERT INTO tracker_domains VALUES('free_counter','besucherstatistiken.com',NULL);\nINSERT INTO tracker_domains VALUES('free_counter','compteurdevisite.com',NULL);\nINSERT INTO tracker_domains VALUES('free_counter','contadorvisitasgratis.com',NULL);\nINSERT INTO tracker_domains VALUES('free_counter','contatoreaccessi.com',NULL);\nINSERT INTO tracker_domains VALUES('free_counter','freecounterstat.com',NULL);\nINSERT INTO tracker_domains VALUES('free_counter','statcounterfree.com',NULL);\nINSERT INTO tracker_domains VALUES('free_counter','webcontadores.com',NULL);\nINSERT INTO tracker_domains VALUES('free_online_users','fastonlineusers.com',NULL);\nINSERT INTO tracker_domains VALUES('free_online_users','fastwebcounter.com',NULL);\nINSERT INTO tracker_domains VALUES('free_online_users','freeonlineusers.com',NULL);\nINSERT INTO tracker_domains VALUES('free_pagerank','atoomic.com',NULL);\nINSERT INTO tracker_domains VALUES('free_pagerank','free-pagerank.com',NULL);\nINSERT INTO tracker_domains VALUES('freedom_mortgage','freedom.com',NULL);\nINSERT INTO tracker_domains VALUES('freegeoip_net','freegeoip.net',NULL);\nINSERT INTO tracker_domains VALUES('freenet_de','freenet.de',NULL);\nINSERT INTO tracker_domains VALUES('freenet_de','freent.de',NULL);\nINSERT INTO tracker_domains VALUES('freewheel','fwmrm.net',NULL);\nINSERT INTO tracker_domains VALUES('fresh8','heimdall.fresh8.co',NULL);\nINSERT INTO tracker_domains VALUES('freshchat','freshchat.com',NULL);\nINSERT INTO tracker_domains VALUES('freshchat','freshworksapi.com',NULL);\nINSERT INTO tracker_domains VALUES('freshdesk','d36mpcpuzc4ztk.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('freshdesk','freshdesk.com',NULL);\nINSERT INTO tracker_domains VALUES('freshplum','freshplum.com',NULL);\nINSERT INTO tracker_domains VALUES('freshrelevance','am.freshrelevance.com',NULL);\nINSERT INTO tracker_domains VALUES('friendbuy','friendbuy.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfeed','friendfeed.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','adultfriendfinder.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','amigos.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','board-books.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','cams.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','facebookofsex.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','getiton.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','nostringsattached.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','pop6.com',NULL);\nINSERT INTO tracker_domains VALUES('friendfinder_network','streamray.com',NULL);\nINSERT INTO tracker_domains VALUES('frosmo_optimizer','frosmo.com',NULL);\nINSERT INTO tracker_domains VALUES('frosmo_optimizer','inpref.com',NULL);\nINSERT INTO tracker_domains VALUES('frosmo_optimizer','inpref.s3-external-3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('frosmo_optimizer','inpref.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('fruitflan','adflan.com',NULL);\nINSERT INTO tracker_domains VALUES('fruitflan','fruitflan.com',NULL);\nINSERT INTO tracker_domains VALUES('fstrk.net','fstrk.net',NULL);\nINSERT INTO tracker_domains VALUES('fuelx','cookie.fuel451.com',NULL);\nINSERT INTO tracker_domains VALUES('fullstory','fullstory.com',NULL);\nINSERT INTO tracker_domains VALUES('funnelfuel','funnelfuel.io',NULL);\nINSERT INTO tracker_domains VALUES('funnelytics','track.funnelytics.io',NULL);\nINSERT INTO tracker_domains VALUES('fyber','angsrvr.com',NULL);\nINSERT INTO tracker_domains VALUES('fyber','fyber.com',NULL);\nINSERT INTO tracker_domains VALUES('gainsight_px','gainsight.com',NULL);\nINSERT INTO tracker_domains VALUES('gainsight_px','aptrinsic.com',NULL);\nINSERT INTO tracker_domains VALUES('gainsight_px','web-sdk.aptrinsic.com',NULL);\nINSERT INTO tracker_domains VALUES('game_advertising_online','game-advertising-online.com',NULL);\nINSERT INTO tracker_domains VALUES('gamedistribution.com','gamedistribution.com',NULL);\nINSERT INTO tracker_domains VALUES('gamerdna','gamerdna.com',NULL);\nINSERT INTO tracker_domains VALUES('gamesight','gsght.com',NULL);\nINSERT INTO tracker_domains VALUES('gamifiera','gamifiera.com',NULL);\nINSERT INTO tracker_domains VALUES('gannett','gannett-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('gaug.es','gaug.es',NULL);\nINSERT INTO tracker_domains VALUES('gazprom-media_digital','gpm-digital.com',NULL);\nINSERT INTO tracker_domains VALUES('gb-world','js.gb-world.net',NULL);\nINSERT INTO tracker_domains VALUES('gdeslon','gdeslon.ru',NULL);\nINSERT INTO tracker_domains VALUES('gdm_digital','gdmdigital.com',NULL);\nINSERT INTO tracker_domains VALUES('geeen','gntm.geeen.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('geeen','lpomax.net',NULL);\nINSERT INTO tracker_domains VALUES('gemius','gemius.pl',NULL);\nINSERT INTO tracker_domains VALUES('generaltracking_de','generaltracking.de',NULL);\nINSERT INTO tracker_domains VALUES('genesis','genesismedia.com',NULL);\nINSERT INTO tracker_domains VALUES('genesys_cloud','genesys.com',NULL);\nINSERT INTO tracker_domains VALUES('genesys_cloud','mypurecloud.com',NULL);\nINSERT INTO tracker_domains VALUES('genesys_cloud','mypurecloud.de',NULL);\nINSERT INTO tracker_domains VALUES('genesys_cloud','mypurecloud.jp',NULL);\nINSERT INTO tracker_domains VALUES('genesys_cloud','mypurecloud.ie',NULL);\nINSERT INTO tracker_domains VALUES('genesys_cloud','mypurecloud.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('genesys_cloud','mypurecloud.com.au',NULL);\nINSERT INTO tracker_domains VALUES('geniee','gssprt.jp',NULL);\nINSERT INTO tracker_domains VALUES('genius','rsvpgenius.com',NULL);\nINSERT INTO tracker_domains VALUES('genius_monkey','pm.geniusmonkey.com',NULL);\nINSERT INTO tracker_domains VALUES('genoo','genoo.com',NULL);\nINSERT INTO tracker_domains VALUES('geoads','js.geoads.com',NULL);\nINSERT INTO tracker_domains VALUES('geoedge','geoedge.be',NULL);\nINSERT INTO tracker_domains VALUES('geolify','geolify.com',NULL);\nINSERT INTO tracker_domains VALUES('geoplugin','geoplugin.net',NULL);\nINSERT INTO tracker_domains VALUES('geotrust','geotrust.com',NULL);\nINSERT INTO tracker_domains VALUES('geovisite','geovisite.com',NULL);\nINSERT INTO tracker_domains VALUES('gestionpub','gestionpub.com',NULL);\nINSERT INTO tracker_domains VALUES('get_response','app.getresponse.com',NULL);\nINSERT INTO tracker_domains VALUES('get_site_control','getsitecontrol.com',NULL);\nINSERT INTO tracker_domains VALUES('getconversion','getconversion.net',NULL);\nINSERT INTO tracker_domains VALUES('getglue','widgets.getglue.com',NULL);\nINSERT INTO tracker_domains VALUES('getintent','adhigh.net',NULL);\nINSERT INTO tracker_domains VALUES('getkudos','static.getkudos.me',NULL);\nINSERT INTO tracker_domains VALUES('getmyad','yottos.com',NULL);\nINSERT INTO tracker_domains VALUES('getsatisfaction','gsfn.us',NULL);\nINSERT INTO tracker_domains VALUES('gettyimages','gettyimages.com',NULL);\nINSERT INTO tracker_domains VALUES('gfk','sensic.net',NULL);\nINSERT INTO tracker_domains VALUES('gfycat.com','gfycat.com',NULL);\nINSERT INTO tracker_domains VALUES('giant_realm','a.giantrealm.com',NULL);\nINSERT INTO tracker_domains VALUES('giantmedia','videostat.com',NULL);\nINSERT INTO tracker_domains VALUES('giga','gigaonclick.com',NULL);\nINSERT INTO tracker_domains VALUES('gigya','analytics.gigyahosting1.com',NULL);\nINSERT INTO tracker_domains VALUES('gigya','gigcount.com',NULL);\nINSERT INTO tracker_domains VALUES('gigya','gigya.com',NULL);\nINSERT INTO tracker_domains VALUES('gigya_cdn','cdns.gigya.com',NULL);\nINSERT INTO tracker_domains VALUES('gigya_cdn','cdns.us1.gigya.com',NULL);\nINSERT INTO tracker_domains VALUES('gigya_cdn','cdns2.gigya.com',NULL);\nINSERT INTO tracker_domains VALUES('giosg','giosg.com',NULL);\nINSERT INTO tracker_domains VALUES('giphy.com','giphy.com',NULL);\nINSERT INTO tracker_domains VALUES('giraff.io','giraff.io',NULL);\nINSERT INTO tracker_domains VALUES('github','github.com',NULL);\nINSERT INTO tracker_domains VALUES('github','githubassets.com',NULL);\nINSERT INTO tracker_domains VALUES('github','githubusercontent.com',NULL);\nINSERT INTO tracker_domains VALUES('github_apps','githubapp.com',NULL);\nINSERT INTO tracker_domains VALUES('github_pages','github.io',NULL);\nINSERT INTO tracker_domains VALUES('gittigidiyor_affiliate_program','aff3.gittigidiyor.com',NULL);\nINSERT INTO tracker_domains VALUES('gittip','gittip.com',NULL);\nINSERT INTO tracker_domains VALUES('glad_cube','sitest.jp',NULL);\nINSERT INTO tracker_domains VALUES('gladly','gladly.com',NULL);\nINSERT INTO tracker_domains VALUES('glassbox','cdn.glassboxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('glassbox','glassboxdigital.io',NULL);\nINSERT INTO tracker_domains VALUES('glganltcs.space','glganltcs.space',NULL);\nINSERT INTO tracker_domains VALUES('glia','api.glia.com',NULL);\nINSERT INTO tracker_domains VALUES('glia','api.salemove.com',NULL);\nINSERT INTO tracker_domains VALUES('global_web_index','globalwebindex.net',NULL);\nINSERT INTO tracker_domains VALUES('globale_analytics','globale-analytics-sdk.global-e.com',NULL);\nINSERT INTO tracker_domains VALUES('globale_platform','gepi.global-e.com',NULL);\nINSERT INTO tracker_domains VALUES('globale_platform','utils.global-e.com',NULL);\nINSERT INTO tracker_domains VALUES('globale_platform','web.global-e.com',NULL);\nINSERT INTO tracker_domains VALUES('globale_platform','webservices.global-e.com',NULL);\nINSERT INTO tracker_domains VALUES('globalnotifier.com','globalnotifier.com',NULL);\nINSERT INTO tracker_domains VALUES('globalsign','globalsign.com',NULL);\nINSERT INTO tracker_domains VALUES('globaltakeoff','ad.globaltakeoff.net',NULL);\nINSERT INTO tracker_domains VALUES('glomex.com','glomex.cloud',NULL);\nINSERT INTO tracker_domains VALUES('glomex.com','glomex.com',NULL);\nINSERT INTO tracker_domains VALUES('glotgrx.com','glotgrx.com',NULL);\nINSERT INTO tracker_domains VALUES('gm_delivery','a.gmdelivery.com',NULL);\nINSERT INTO tracker_domains VALUES('gmarket','gmarket.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('gmarket','mobile.gmarket.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('gmarket','global.gmarket.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('gmarket','dadispapi.gmarket.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('gmarket','montelena-rcv.gmarket.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('gmarket','uts.gmarket.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('gmo','ad.atown.jp',NULL);\nINSERT INTO tracker_domains VALUES('gmx_net','gmx.net',NULL);\nINSERT INTO tracker_domains VALUES('gmx_net','gmxpro.net',NULL);\nINSERT INTO tracker_domains VALUES('go.com','go.com',NULL);\nINSERT INTO tracker_domains VALUES('godaddy_affiliate_program','affiliate.godaddy.com',NULL);\nINSERT INTO tracker_domains VALUES('godaddy_site_analytics','trafficfacts.com',NULL);\nINSERT INTO tracker_domains VALUES('godaddy_site_seal','seal.godaddy.com',NULL);\nINSERT INTO tracker_domains VALUES('godatafeed','tracking.godatafeed.com',NULL);\nINSERT INTO tracker_domains VALUES('goingup','counter.goingup.com',NULL);\nINSERT INTO tracker_domains VALUES('gomez','axf8.net',NULL);\nINSERT INTO tracker_domains VALUES('goodadvert','goodadvert.ru',NULL);\nINSERT INTO tracker_domains VALUES('google','google.at',NULL);\nINSERT INTO tracker_domains VALUES('google','google.be',NULL);\nINSERT INTO tracker_domains VALUES('google','google.ca',NULL);\nINSERT INTO tracker_domains VALUES('google','google.ch',NULL);\nINSERT INTO tracker_domains VALUES('google','google.co.id',NULL);\nINSERT INTO tracker_domains VALUES('google','google.co.in',NULL);\nINSERT INTO tracker_domains VALUES('google','google.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('google','google.co.ma',NULL);\nINSERT INTO tracker_domains VALUES('google','google.co.th',NULL);\nINSERT INTO tracker_domains VALUES('google','google.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com.ar',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com.au',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com.br',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com.mx',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com.tr',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com.tw',NULL);\nINSERT INTO tracker_domains VALUES('google','google.com.ua',NULL);\nINSERT INTO tracker_domains VALUES('google','google.cz',NULL);\nINSERT INTO tracker_domains VALUES('google','google.de',NULL);\nINSERT INTO tracker_domains VALUES('google','google.dk',NULL);\nINSERT INTO tracker_domains VALUES('google','google.dz',NULL);\nINSERT INTO tracker_domains VALUES('google','google.es',NULL);\nINSERT INTO tracker_domains VALUES('google','google.fi',NULL);\nINSERT INTO tracker_domains VALUES('google','google.fr',NULL);\nINSERT INTO tracker_domains VALUES('google','google.gr',NULL);\nINSERT INTO tracker_domains VALUES('google','google.hu',NULL);\nINSERT INTO tracker_domains VALUES('google','google.ie',NULL);\nINSERT INTO tracker_domains VALUES('google','google.it',NULL);\nINSERT INTO tracker_domains VALUES('google','google.nl',NULL);\nINSERT INTO tracker_domains VALUES('google','google.no',NULL);\nINSERT INTO tracker_domains VALUES('google','google.pl',NULL);\nINSERT INTO tracker_domains VALUES('google','google.pt',NULL);\nINSERT INTO tracker_domains VALUES('google','google.ro',NULL);\nINSERT INTO tracker_domains VALUES('google','google.rs',NULL);\nINSERT INTO tracker_domains VALUES('google','google.ru',NULL);\nINSERT INTO tracker_domains VALUES('google','google.se',NULL);\nINSERT INTO tracker_domains VALUES('google','google.tn',NULL);\nINSERT INTO tracker_domains VALUES('google','search.app',NULL);\nINSERT INTO tracker_domains VALUES('google','g.co',NULL);\nINSERT INTO tracker_domains VALUES('google_accounts','accounts.google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_adservices','googleadservices.com',NULL);\nINSERT INTO tracker_domains VALUES('google_analytics','google-analytics.com',NULL);\nINSERT INTO tracker_domains VALUES('google_analytics','region1.google-analytics.com',NULL);\nINSERT INTO tracker_domains VALUES('google_analytics','googleanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('google_appspot','appspot.com',NULL);\nINSERT INTO tracker_domains VALUES('google_beacons','beacons-google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_cloud','cloud.google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_cloud','cloudfunctions.net',NULL);\nINSERT INTO tracker_domains VALUES('google_custom_search','adsensecustomsearchads.com',NULL);\nINSERT INTO tracker_domains VALUES('google_email','mail-ads.google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_fonts','fonts.googleapis.com',NULL);\nINSERT INTO tracker_domains VALUES('google_maps','maps.googleapis.com',NULL);\nINSERT INTO tracker_domains VALUES('google_maps','maps.google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_photos','ggpht.com',NULL);\nINSERT INTO tracker_domains VALUES('google_play_services','play.google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_recaptcha','recaptcha.net',NULL);\nINSERT INTO tracker_domains VALUES('google_servers','1e100cdn.net',NULL);\nINSERT INTO tracker_domains VALUES('google_signals','analytics.google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_syndication','googlesyndication.com',NULL);\nINSERT INTO tracker_domains VALUES('google_tag','googletagmanager.com',NULL);\nINSERT INTO tracker_domains VALUES('google_translate','translate.google.com',NULL);\nINSERT INTO tracker_domains VALUES('google_travel_adds','googletraveladservices.com',NULL);\nINSERT INTO tracker_domains VALUES('google_trusted_stores','googlecommerce.com',NULL);\nINSERT INTO tracker_domains VALUES('google_users','googleusercontent.com',NULL);\nINSERT INTO tracker_domains VALUES('google_website_optimizer','googleoptimize.com',NULL);\nINSERT INTO tracker_domains VALUES('google_widgets','gmodules.com',NULL);\nINSERT INTO tracker_domains VALUES('googleapis.com','googleapis.com',NULL);\nINSERT INTO tracker_domains VALUES('googleapis.com','apis.google.com',NULL);\nINSERT INTO tracker_domains VALUES('goooal','gooal.herokuapp.com',NULL);\nINSERT INTO tracker_domains VALUES('goooal','gooo.al',NULL);\nINSERT INTO tracker_domains VALUES('gorilla_nation','cdn.triggertag.gorillanation.com',NULL);\nINSERT INTO tracker_domains VALUES('gorilla_nation','evolvemediametrics.com',NULL);\nINSERT INTO tracker_domains VALUES('gosquared','d1l6p2sc9645hc.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('gosquared','gosquared.com',NULL);\nINSERT INTO tracker_domains VALUES('gostats','gostats.com',NULL);\nINSERT INTO tracker_domains VALUES('gotolstoy','api.gotolstoy.com',NULL);\nINSERT INTO tracker_domains VALUES('govmetric','govmetric.com',NULL);\nINSERT INTO tracker_domains VALUES('govmetric','servmetric.com',NULL);\nINSERT INTO tracker_domains VALUES('grabo_affiliate','b.grabo.bg',NULL);\nINSERT INTO tracker_domains VALUES('grandslammedia','trw12.com',NULL);\nINSERT INTO tracker_domains VALUES('grandslammedia','tuberewards.com',NULL);\nINSERT INTO tracker_domains VALUES('granify','d2bw638ufki166.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('granify','granify.com',NULL);\nINSERT INTO tracker_domains VALUES('grapeshot','grapeshot.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('grapeshot','gscontxt.net',NULL);\nINSERT INTO tracker_domains VALUES('graph_comment','graphcomment.com',NULL);\nINSERT INTO tracker_domains VALUES('gravatar','gravatar.com',NULL);\nINSERT INTO tracker_domains VALUES('gravitec','cdn.gravitec.net',NULL);\nINSERT INTO tracker_domains VALUES('gravity_insights','gravity.com',NULL);\nINSERT INTO tracker_domains VALUES('gravity_insights','grvcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('greatviews.de','greatviews.de',NULL);\nINSERT INTO tracker_domains VALUES('green_and_red','gandrad.org',NULL);\nINSERT INTO tracker_domains VALUES('green_and_red','green-red.com',NULL);\nINSERT INTO tracker_domains VALUES('green_certified_site','co2stats.com',NULL);\nINSERT INTO tracker_domains VALUES('green_story','greenstory.ca',NULL);\nINSERT INTO tracker_domains VALUES('greentube.com','greentube.com',NULL);\nINSERT INTO tracker_domains VALUES('greentube.com','gt-cdn.net',NULL);\nINSERT INTO tracker_domains VALUES('greystripe','greystripe.com',NULL);\nINSERT INTO tracker_domains VALUES('groove','groovehq.com',NULL);\nINSERT INTO tracker_domains VALUES('groovinads','groovinads.com',NULL);\nINSERT INTO tracker_domains VALUES('groundtruth','bidagent.xad.com',NULL);\nINSERT INTO tracker_domains VALUES('groupm_server','gmads.net',NULL);\nINSERT INTO tracker_domains VALUES('groupm_server','grmtech.net',NULL);\nINSERT INTO tracker_domains VALUES('gsi_media','media.gsimedia.net',NULL);\nINSERT INTO tracker_domains VALUES('gstatic','gstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('gtop','fx.gtop.ro',NULL);\nINSERT INTO tracker_domains VALUES('gtop','fx.gtopstats.com',NULL);\nINSERT INTO tracker_domains VALUES('gugaboo','gubagootracking.com',NULL);\nINSERT INTO tracker_domains VALUES('guj.de','guj.de',NULL);\nINSERT INTO tracker_domains VALUES('gujems','emsservice.de',NULL);\nINSERT INTO tracker_domains VALUES('gumgum','gumgum.com',NULL);\nINSERT INTO tracker_domains VALUES('gumroad','gumroad.com',NULL);\nINSERT INTO tracker_domains VALUES('gunggo','gunggo.com',NULL);\nINSERT INTO tracker_domains VALUES('h12_ads','h12-media.com',NULL);\nINSERT INTO tracker_domains VALUES('h12_ads','h12-media.net',NULL);\nINSERT INTO tracker_domains VALUES('hacker_news_button','hnbutton.appspot.com',NULL);\nINSERT INTO tracker_domains VALUES('haendlerbund.de','haendlerbund.de',NULL);\nINSERT INTO tracker_domains VALUES('halogen_network','halogennetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('happy_fox_chat','d1l7z5ofrj6ab8.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('harren_media','ad.harrenmedianetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('harren_media','ads.networkhm.com',NULL);\nINSERT INTO tracker_domains VALUES('hashtag_labs','htlbid.com',NULL);\nINSERT INTO tracker_domains VALUES('hatchbuck','app.hatchbuck.com',NULL);\nINSERT INTO tracker_domains VALUES('hcaptcha','api.hcaptcha.com',NULL);\nINSERT INTO tracker_domains VALUES('hcaptcha','js.hcaptcha.com',NULL);\nINSERT INTO tracker_domains VALUES('hcaptcha','newassets.hcaptcha.com',NULL);\nINSERT INTO tracker_domains VALUES('head_hunter','hhcdn.ru',NULL);\nINSERT INTO tracker_domains VALUES('healte.de','healte.de',NULL);\nINSERT INTO tracker_domains VALUES('heap','d36lvucg9kzous.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('heap','heapanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('heap','heap-api.com',NULL);\nINSERT INTO tracker_domains VALUES('heatmap','heatmap.it',NULL);\nINSERT INTO tracker_domains VALUES('heimspiel','weltsport.net',NULL);\nINSERT INTO tracker_domains VALUES('hello_bar','hellobar.com',NULL);\nINSERT INTO tracker_domains VALUES('hellosociety','hellosociety.com',NULL);\nINSERT INTO tracker_domains VALUES('here','here.com',NULL);\nINSERT INTO tracker_domains VALUES('hermesworld','api.hermesworld.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('heroku','herokuapp.com',NULL);\nINSERT INTO tracker_domains VALUES('heureka-widget','heureka.cz',NULL);\nINSERT INTO tracker_domains VALUES('heybubble','heybubble.com',NULL);\nINSERT INTO tracker_domains VALUES('heyos','heyos.com',NULL);\nINSERT INTO tracker_domains VALUES('hi-media_performance','adlink.net',NULL);\nINSERT INTO tracker_domains VALUES('hi-media_performance','comclick.com',NULL);\nINSERT INTO tracker_domains VALUES('hi-media_performance','hi-mediaserver.com',NULL);\nINSERT INTO tracker_domains VALUES('hi-media_performance','himediads.com',NULL);\nINSERT INTO tracker_domains VALUES('hi-media_performance','himediadx.com',NULL);\nINSERT INTO tracker_domains VALUES('hiconversion','hiconversion.com',NULL);\nINSERT INTO tracker_domains VALUES('highwebmedia.com','highwebmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('highwinds','hwcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('hiiir','hiiir.com',NULL);\nINSERT INTO tracker_domains VALUES('hiro','hiro.tv',NULL);\nINSERT INTO tracker_domains VALUES('histats','histats.com',NULL);\nINSERT INTO tracker_domains VALUES('hit-parade','hit-parade.com',NULL);\nINSERT INTO tracker_domains VALUES('hit.ua','hit.ua',NULL);\nINSERT INTO tracker_domains VALUES('hitslink','hitslink.com',NULL);\nINSERT INTO tracker_domains VALUES('hitslink','hitsprocessor.com',NULL);\nINSERT INTO tracker_domains VALUES('hitsniffer','hitsniffer.com',NULL);\nINSERT INTO tracker_domains VALUES('hittail','hittail.com',NULL);\nINSERT INTO tracker_domains VALUES('hivedx.com','hivedx.com',NULL);\nINSERT INTO tracker_domains VALUES('hiveworks','ads.thehiveworks.com',NULL);\nINSERT INTO tracker_domains VALUES('hoholikik.club','hoholikik.club',NULL);\nINSERT INTO tracker_domains VALUES('hola_player','h-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('homeaway','homeaway.com',NULL);\nINSERT INTO tracker_domains VALUES('honeybadger','honeybadger.io',NULL);\nINSERT INTO tracker_domains VALUES('hooklogic','hlserve.com',NULL);\nINSERT INTO tracker_domains VALUES('hop-cube','apiae.hopscore.com',NULL);\nINSERT INTO tracker_domains VALUES('hotdogsandads.com','hotdogsandads.com',NULL);\nINSERT INTO tracker_domains VALUES('hotjar','hotjar.com',NULL);\nINSERT INTO tracker_domains VALUES('hotjar','hotjar.io',NULL);\nINSERT INTO tracker_domains VALUES('hotlog.ru','hotlog.ru',NULL);\nINSERT INTO tracker_domains VALUES('hotwords','hotwords.com',NULL);\nINSERT INTO tracker_domains VALUES('hotwords','hotwords.es',NULL);\nINSERT INTO tracker_domains VALUES('howtank.com','howtank.com',NULL);\nINSERT INTO tracker_domains VALUES('hqentertainmentnetwork.com','hqentertainmentnetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('hqentertainmentnetwork.com','justservingfiles.net',NULL);\nINSERT INTO tracker_domains VALUES('hsoub','hsoub.com',NULL);\nINSERT INTO tracker_domains VALUES('hstrck.com','hstrck.com',NULL);\nINSERT INTO tracker_domains VALUES('httpool','httpool.com',NULL);\nINSERT INTO tracker_domains VALUES('httpool','toboads.com',NULL);\nINSERT INTO tracker_domains VALUES('hu-manity','hu-manity.co',NULL);\nINSERT INTO tracker_domains VALUES('hubrus','hubrus.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','hs-analytics.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','hs-scripts.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','hs-sites.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','hubapi.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','hubspot.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','hscta.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','hs-sites-eu1.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot','no-cache.hubspot.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_ads_pixel','hsadspixel.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_cookies','hs-banner.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_cookies','wtcfns.hubspot.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','forms.hubspot.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','hsforms.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','hsforms.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','hscollectedforms.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','hsleadflows.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','hubspotfeedback.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','feedback.hubapi.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_forms','feedback-eu1.hubapi.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_livechat','usemessages.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hubspotusercontent00.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hubspotusercontent10.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hubspotusercontent20.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hubspotusercontent30.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hubspotusercontent40.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hubspotusercontent-na1.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','cdn2.hubspot.net',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hubspotvideo.com',NULL);\nINSERT INTO tracker_domains VALUES('hubspot_user_content','hsappstatic.net',NULL);\nINSERT INTO tracker_domains VALUES('hubvisor.io','hubvisor.io',NULL);\nINSERT INTO tracker_domains VALUES('hucksterbot','files.hucksterbot.com',NULL);\nINSERT INTO tracker_domains VALUES('hupso','hupso.com',NULL);\nINSERT INTO tracker_domains VALUES('hurra_tracker','hurra.com',NULL);\nINSERT INTO tracker_domains VALUES('hybrid.ai','hybrid.ai',NULL);\nINSERT INTO tracker_domains VALUES('hybrid.ai','targetix.net',NULL);\nINSERT INTO tracker_domains VALUES('hype_exchange','hypeads.org',NULL);\nINSERT INTO tracker_domains VALUES('hypercomments','hypercomments.com',NULL);\nINSERT INTO tracker_domains VALUES('hyves_widgets','hyves.nl',NULL);\nINSERT INTO tracker_domains VALUES('hyvyd','hyvyd.com',NULL);\nINSERT INTO tracker_domains VALUES('i-behavior','ib-ibi.com',NULL);\nINSERT INTO tracker_domains VALUES('i-mobile','i-mobile.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('i.ua','r.i.ua',NULL);\nINSERT INTO tracker_domains VALUES('i10c.net','i10c.net',NULL);\nINSERT INTO tracker_domains VALUES('i2i.jp','i2i.jp',NULL);\nINSERT INTO tracker_domains VALUES('i2i.jp','i2idata.com',NULL);\nINSERT INTO tracker_domains VALUES('iab_consent','consensu.org',NULL);\nINSERT INTO tracker_domains VALUES('iadvize','iadvize.com',NULL);\nINSERT INTO tracker_domains VALUES('ibm_customer_experience','cmcore.com',NULL);\nINSERT INTO tracker_domains VALUES('ibm_customer_experience','coremetrics.com',NULL);\nINSERT INTO tracker_domains VALUES('ibm_customer_experience','coremetrics.eu',NULL);\nINSERT INTO tracker_domains VALUES('icerocket_tracker','tracker.icerocket.com',NULL);\nINSERT INTO tracker_domains VALUES('icf_technology','nsimg.net',NULL);\nINSERT INTO tracker_domains VALUES('iclick','optimix.asia',NULL);\nINSERT INTO tracker_domains VALUES('icrossing','ic-live.com',NULL);\nINSERT INTO tracker_domains VALUES('icstats','icstats.nl',NULL);\nINSERT INTO tracker_domains VALUES('icuazeczpeoohx.com','icuazeczpeoohx.com',NULL);\nINSERT INTO tracker_domains VALUES('id-news.net','id-news.net',NULL);\nINSERT INTO tracker_domains VALUES('id-news.net','idcdn.de',NULL);\nINSERT INTO tracker_domains VALUES('id5_sync','id5-sync.com',NULL);\nINSERT INTO tracker_domains VALUES('id5_sync','eu-1-id5-sync.com',NULL);\nINSERT INTO tracker_domains VALUES('id_services','cdn.id.services',NULL);\nINSERT INTO tracker_domains VALUES('ideal_media','e-generator.com',NULL);\nINSERT INTO tracker_domains VALUES('idealo_com','idealo.com',NULL);\nINSERT INTO tracker_domains VALUES('ideoclick','ideoclick.com',NULL);\nINSERT INTO tracker_domains VALUES('idio','idio.co',NULL);\nINSERT INTO tracker_domains VALUES('ie8eamus.com','ie8eamus.com',NULL);\nINSERT INTO tracker_domains VALUES('ientry','600z.com',NULL);\nINSERT INTO tracker_domains VALUES('ifdo','ifdo.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('ifdo','script.ifdo.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('ifdo','wlog.ifdo.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('iflychat','api.iflychat.com',NULL);\nINSERT INTO tracker_domains VALUES('ignitionone','ignitionone.com',NULL);\nINSERT INTO tracker_domains VALUES('ignitionone','knotice.net',NULL);\nINSERT INTO tracker_domains VALUES('igodigital','igodigital.com',NULL);\nINSERT INTO tracker_domains VALUES('ihs_markit','ad.wsod.com',NULL);\nINSERT INTO tracker_domains VALUES('ihs_markit_online_shopper_insigh','collserve.com',NULL);\nINSERT INTO tracker_domains VALUES('ihvmcqojoj.com','ihvmcqojoj.com',NULL);\nINSERT INTO tracker_domains VALUES('iias.eu','iias.eu',NULL);\nINSERT INTO tracker_domains VALUES('ijento','ijento.com',NULL);\nINSERT INTO tracker_domains VALUES('imad','adv.imadrep.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('image_advantage','worthathousandwords.com',NULL);\nINSERT INTO tracker_domains VALUES('image_space_media','picadmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('imbox','imbox.io',NULL);\nINSERT INTO tracker_domains VALUES('imgix.net','imgix.net',NULL);\nINSERT INTO tracker_domains VALUES('imgur','imgur.com',NULL);\nINSERT INTO tracker_domains VALUES('imho_vi','vidigital.ru',NULL);\nINSERT INTO tracker_domains VALUES('immanalytics','immanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('immobilienscout24_de','immobilienscout24.de',NULL);\nINSERT INTO tracker_domains VALUES('immobilienscout24_de','static-immobilienscout24.de',NULL);\nINSERT INTO tracker_domains VALUES('imonomy','imonomy.com',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','7eer.net',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','d3cxv97fi8q177.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','evyy.net',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','impactradius-event.com',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','impactradius-tag.com',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','impactradius.com',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','ojrq.net',NULL);\nINSERT INTO tracker_domains VALUES('impact_radius','r7ls.net',NULL);\nINSERT INTO tracker_domains VALUES('impresiones_web','impresionesweb.com',NULL);\nINSERT INTO tracker_domains VALUES('improve_digital','360yield.com',NULL);\nINSERT INTO tracker_domains VALUES('improvely','iljmp.com',NULL);\nINSERT INTO tracker_domains VALUES('inbenta','inbenta.com',NULL);\nINSERT INTO tracker_domains VALUES('inboxsdk.com','inboxsdk.com',NULL);\nINSERT INTO tracker_domains VALUES('indeed','indeed.com',NULL);\nINSERT INTO tracker_domains VALUES('index_exchange','casalemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('index_exchange','indexww.com',NULL);\nINSERT INTO tracker_domains VALUES('industry_brains','industrybrains.com',NULL);\nINSERT INTO tracker_domains VALUES('infectious_media','impdesk.com',NULL);\nINSERT INTO tracker_domains VALUES('infectious_media','impressiondesk.com',NULL);\nINSERT INTO tracker_domains VALUES('infinite_analytics','zachysprod.infiniteanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('infinity_tracking','infinity-tracking.net',NULL);\nINSERT INTO tracker_domains VALUES('influads','engine.influads.com',NULL);\nINSERT INTO tracker_domains VALUES('infolinks','infolinks.com',NULL);\nINSERT INTO tracker_domains VALUES('infolinks','intextscript.com',NULL);\nINSERT INTO tracker_domains VALUES('infonline','ioam.de',NULL);\nINSERT INTO tracker_domains VALUES('infonline','iocnt.net',NULL);\nINSERT INTO tracker_domains VALUES('infonline','ivwbox.de',NULL);\nINSERT INTO tracker_domains VALUES('informer_technologies','informer.com',NULL);\nINSERT INTO tracker_domains VALUES('infusionsoft','infusionsoft.com',NULL);\nINSERT INTO tracker_domains VALUES('infusionsoft','keap.com',NULL);\nINSERT INTO tracker_domains VALUES('inmarsat','inmarsat.com',NULL);\nINSERT INTO tracker_domains VALUES('inmarsat','wifi.koreanair.com',NULL);\nINSERT INTO tracker_domains VALUES('inmarsat','i-wifisupport.com',NULL);\nINSERT INTO tracker_domains VALUES('inmobi','sync.inmobi.com',NULL);\nINSERT INTO tracker_domains VALUES('inmobi_cmp','cmp.inmobi.com',NULL);\nINSERT INTO tracker_domains VALUES('inmoment','inmoment.com',NULL);\nINSERT INTO tracker_domains VALUES('innity','innity.com',NULL);\nINSERT INTO tracker_domains VALUES('innity','innity.net',NULL);\nINSERT INTO tracker_domains VALUES('innkeepr','innkeepr.ai',NULL);\nINSERT INTO tracker_domains VALUES('innogames.de','innogames.com',NULL);\nINSERT INTO tracker_domains VALUES('innogames.de','innogames.de',NULL);\nINSERT INTO tracker_domains VALUES('innogames.de','innogamescdn.com',NULL);\nINSERT INTO tracker_domains VALUES('innovid','innovid.com',NULL);\nINSERT INTO tracker_domains VALUES('inside','inside-graph.com',NULL);\nINSERT INTO tracker_domains VALUES('insider','useinsider.com',NULL);\nINSERT INTO tracker_domains VALUES('insightexpress','insightexpressai.com',NULL);\nINSERT INTO tracker_domains VALUES('inskin_media','inskinad.com',NULL);\nINSERT INTO tracker_domains VALUES('inskin_media','inskinmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('inspectlet','inspectlet.com',NULL);\nINSERT INTO tracker_domains VALUES('inspsearchapi.com','inspsearchapi.com',NULL);\nINSERT INTO tracker_domains VALUES('instagram_com','cdninstagram.com',NULL);\nINSERT INTO tracker_domains VALUES('instagram_com','instagram.com',NULL);\nINSERT INTO tracker_domains VALUES('instant_check_mate','tcgtrkr.com',NULL);\nINSERT INTO tracker_domains VALUES('instart_logic','sdad.guru',NULL);\nINSERT INTO tracker_domains VALUES('insticator','insticator.com',NULL);\nINSERT INTO tracker_domains VALUES('instinctive','load.instinctiveads.com',NULL);\nINSERT INTO tracker_domains VALUES('intango','intango.com',NULL);\nINSERT INTO tracker_domains VALUES('integral_ad_science','adsafeprotected.com',NULL);\nINSERT INTO tracker_domains VALUES('integral_ad_science','iasds01.com',NULL);\nINSERT INTO tracker_domains VALUES('integral_marketing','integral-marketing.com',NULL);\nINSERT INTO tracker_domains VALUES('intelliad','intelliad.com',NULL);\nINSERT INTO tracker_domains VALUES('intelliad','intelliad.de',NULL);\nINSERT INTO tracker_domains VALUES('intelligencefocus','saas.intelligencefocus.com',NULL);\nINSERT INTO tracker_domains VALUES('intelligent_reach','ist-track.com',NULL);\nINSERT INTO tracker_domains VALUES('intense_debate','intensedebate.com',NULL);\nINSERT INTO tracker_domains VALUES('intent_iq','intentiq.com',NULL);\nINSERT INTO tracker_domains VALUES('intent_media','intentmedia.net',NULL);\nINSERT INTO tracker_domains VALUES('intercom','intercom.com',NULL);\nINSERT INTO tracker_domains VALUES('intercom','intercom.io',NULL);\nINSERT INTO tracker_domains VALUES('intercom','intercomassets.com',NULL);\nINSERT INTO tracker_domains VALUES('intercom','intercomcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('interedy.info','interedy.info',NULL);\nINSERT INTO tracker_domains VALUES('intergi','ads.intergi.com',NULL);\nINSERT INTO tracker_domains VALUES('intermarkets.net','intermarkets.net',NULL);\nINSERT INTO tracker_domains VALUES('intermundo_media','intermundomedia.com',NULL);\nINSERT INTO tracker_domains VALUES('internet_billboard','bbelements.com',NULL);\nINSERT INTO tracker_domains VALUES('internet_billboard','goadservices.com',NULL);\nINSERT INTO tracker_domains VALUES('internet_billboard','ibillboard.com',NULL);\nINSERT INTO tracker_domains VALUES('internet_billboard','mediainter.net',NULL);\nINSERT INTO tracker_domains VALUES('internetaudioads','voice2page.com',NULL);\nINSERT INTO tracker_domains VALUES('internetbrands','ibpxl.com',NULL);\nINSERT INTO tracker_domains VALUES('internetbrands','ibsrv.net',NULL);\nINSERT INTO tracker_domains VALUES('interpolls','interpolls.com',NULL);\nINSERT INTO tracker_domains VALUES('interyield','ps7894.com',NULL);\nINSERT INTO tracker_domains VALUES('intilery','intilery-analytics.com',NULL);\nINSERT INTO tracker_domains VALUES('intimate_merger','im-apps.net',NULL);\nINSERT INTO tracker_domains VALUES('investingchannel','investingchannel.com',NULL);\nINSERT INTO tracker_domains VALUES('inviziads','inviziads.com',NULL);\nINSERT INTO tracker_domains VALUES('invoca','ringrevenue.com',NULL);\nINSERT INTO tracker_domains VALUES('invoca','invoca.net',NULL);\nINSERT INTO tracker_domains VALUES('invoca','invocacdn.com',NULL);\nINSERT INTO tracker_domains VALUES('invodo','invodo.com',NULL);\nINSERT INTO tracker_domains VALUES('ionicframework.com','ionicframework.com',NULL);\nINSERT INTO tracker_domains VALUES('iotec','dsp.io',NULL);\nINSERT INTO tracker_domains VALUES('iovation','iesnare.com',NULL);\nINSERT INTO tracker_domains VALUES('iovation','iovation.com',NULL);\nINSERT INTO tracker_domains VALUES('ip-label','ip-label.net',NULL);\nINSERT INTO tracker_domains VALUES('ip_targeting','eltoro.com',NULL);\nINSERT INTO tracker_domains VALUES('ip_targeting','iptargeting.com',NULL);\nINSERT INTO tracker_domains VALUES('ip_tracker','ip-tracker.org',NULL);\nINSERT INTO tracker_domains VALUES('ip_tracker','iptrack.io',NULL);\nINSERT INTO tracker_domains VALUES('ipapi','ipapi.co',NULL);\nINSERT INTO tracker_domains VALUES('iperceptions','iperceptions.com',NULL);\nINSERT INTO tracker_domains VALUES('ipfingerprint','dust.ipfingerprint.com',NULL);\nINSERT INTO tracker_domains VALUES('ipg_mediabrands','mbww.com',NULL);\nINSERT INTO tracker_domains VALUES('ipify','ipify.org',NULL);\nINSERT INTO tracker_domains VALUES('ipinfo','ipinfo.io',NULL);\nINSERT INTO tracker_domains VALUES('iplogger','iplogger.ru',NULL);\nINSERT INTO tracker_domains VALUES('iprom','centraliprom.com',NULL);\nINSERT INTO tracker_domains VALUES('iprom','iprom.net',NULL);\nINSERT INTO tracker_domains VALUES('ipromote','ipromote.com',NULL);\nINSERT INTO tracker_domains VALUES('iprospect','clickmanage.com',NULL);\nINSERT INTO tracker_domains VALUES('iqiyi','iqiyi.com',NULL);\nINSERT INTO tracker_domains VALUES('ironsource','addelive.com',NULL);\nINSERT INTO tracker_domains VALUES('ironsource','afdads.com',NULL);\nINSERT INTO tracker_domains VALUES('ironsource','delivery47.com',NULL);\nINSERT INTO tracker_domains VALUES('isocket','adsbyisocket.com',NULL);\nINSERT INTO tracker_domains VALUES('isocket','isocket.com',NULL);\nINSERT INTO tracker_domains VALUES('ispot.tv','ispot.tv',NULL);\nINSERT INTO tracker_domains VALUES('itineraire.info','itineraire.info',NULL);\nINSERT INTO tracker_domains VALUES('itunes_link_maker','apple.com',NULL);\nINSERT INTO tracker_domains VALUES('itunes_link_maker','autolinkmaker.itunes.apple.com',NULL);\nINSERT INTO tracker_domains VALUES('ity.im','ity.im',NULL);\nINSERT INTO tracker_domains VALUES('iubenda.com','iubenda.com',NULL);\nINSERT INTO tracker_domains VALUES('ivcbrasil.org.br','ivcbrasil.org.br',NULL);\nINSERT INTO tracker_domains VALUES('ividence','ivitrack.com',NULL);\nINSERT INTO tracker_domains VALUES('iwiw_widgets','iwiw.hu',NULL);\nINSERT INTO tracker_domains VALUES('ixi_digital','ixiaa.com',NULL);\nINSERT INTO tracker_domains VALUES('ixquick.com','ixquick.com',NULL);\nINSERT INTO tracker_domains VALUES('izooto','cdn.izooto.com',NULL);\nINSERT INTO tracker_domains VALUES('j-list_affiliate_program','jlist.com',NULL);\nINSERT INTO tracker_domains VALUES('jaco','getjaco.com',NULL);\nINSERT INTO tracker_domains VALUES('janrain','janrainbackplane.com',NULL);\nINSERT INTO tracker_domains VALUES('janrain','rpxnow.com',NULL);\nINSERT INTO tracker_domains VALUES('jeeng','jeeng.com',NULL);\nINSERT INTO tracker_domains VALUES('jeeng_widgets','api.jeeng.com',NULL);\nINSERT INTO tracker_domains VALUES('jejubank','e-jejubank.com',NULL);\nINSERT INTO tracker_domains VALUES('jejubank','jejubank.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('jet_interactive','phone-analytics.com',NULL);\nINSERT INTO tracker_domains VALUES('jetlore','jetlore.com',NULL);\nINSERT INTO tracker_domains VALUES('jetpack','pixel.wp.com',NULL);\nINSERT INTO tracker_domains VALUES('jetpack','stats.wp.com',NULL);\nINSERT INTO tracker_domains VALUES('jetpack_digital','jetpackdigital.com',NULL);\nINSERT INTO tracker_domains VALUES('jimdo.com','jimcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('jimdo.com','jimdo.com',NULL);\nINSERT INTO tracker_domains VALUES('jimdo.com','jimstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('jink','ads.jinkads.com',NULL);\nINSERT INTO tracker_domains VALUES('jirafe','jirafe.com',NULL);\nINSERT INTO tracker_domains VALUES('jivochat','jivosite.com',NULL);\nINSERT INTO tracker_domains VALUES('jivox','jivox.com',NULL);\nINSERT INTO tracker_domains VALUES('jobs_2_careers','jobs2careers.com',NULL);\nINSERT INTO tracker_domains VALUES('joinhoney','joinhoney.com',NULL);\nINSERT INTO tracker_domains VALUES('jornaya','create.leadid.com',NULL);\nINSERT INTO tracker_domains VALUES('jornaya','d1tprjo2w7krrh.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('jotform','jotfor.ms',NULL);\nINSERT INTO tracker_domains VALUES('jotform','jotform.io',NULL);\nINSERT INTO tracker_domains VALUES('jotform','jotform.com',NULL);\nINSERT INTO tracker_domains VALUES('journeymv','journeymv.com',NULL);\nINSERT INTO tracker_domains VALUES('jquery','cdnjquery.com',NULL);\nINSERT INTO tracker_domains VALUES('jquery','jquery.com',NULL);\nINSERT INTO tracker_domains VALUES('js_communications','cjmooter.xcache.kinxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('jsdelivr','jsdelivr.net',NULL);\nINSERT INTO tracker_domains VALUES('jse_coin','jsecoin.com',NULL);\nINSERT INTO tracker_domains VALUES('jsuol.com.br','jsuol.com.br',NULL);\nINSERT INTO tracker_domains VALUES('juggcash','contentabc.com',NULL);\nINSERT INTO tracker_domains VALUES('juggcash','mofos.com',NULL);\nINSERT INTO tracker_domains VALUES('juiceadv','juiceadv.com',NULL);\nINSERT INTO tracker_domains VALUES('juicyads','juicyads.com',NULL);\nINSERT INTO tracker_domains VALUES('jumplead','cdn.jumplead.com',NULL);\nINSERT INTO tracker_domains VALUES('jumpstart_tagging_solutions','jumpstarttaggingsolutions.com',NULL);\nINSERT INTO tracker_domains VALUES('jumptap','jumptap.com',NULL);\nINSERT INTO tracker_domains VALUES('jumptime','jump-time.net',NULL);\nINSERT INTO tracker_domains VALUES('jumptime','jumptime.com',NULL);\nINSERT INTO tracker_domains VALUES('just_answer','components.justanswer.com',NULL);\nINSERT INTO tracker_domains VALUES('just_premium','justpremium.com',NULL);\nINSERT INTO tracker_domains VALUES('just_premium','justpremium.nl',NULL);\nINSERT INTO tracker_domains VALUES('just_relevant','justrelevant.com',NULL);\nINSERT INTO tracker_domains VALUES('jvc.gg','jvc.gg',NULL);\nINSERT INTO tracker_domains VALUES('jw_player','d21rhj7n383afu.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('jw_player','jwpcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('jw_player','jwplatform.com',NULL);\nINSERT INTO tracker_domains VALUES('jw_player','jwplayer.com',NULL);\nINSERT INTO tracker_domains VALUES('jw_player','jwpltx.com',NULL);\nINSERT INTO tracker_domains VALUES('jw_player','jwpsrv.com',NULL);\nINSERT INTO tracker_domains VALUES('jw_player_ad_solutions','ltassrv.com',NULL);\nINSERT INTO tracker_domains VALUES('kaeufersiegel.de','kaeufersiegel.de',NULL);\nINSERT INTO tracker_domains VALUES('kairion.de','kairion.de',NULL);\nINSERT INTO tracker_domains VALUES('kairion.de','kctag.net',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','stat.tiara.daum.net',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','stage-stat.tiara.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','stage-proxy-stat.tiara.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','click.tiara.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','www.tiara.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','tiara.gl.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','dev-stat.tiara.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('kakao_tiara','tiara.kakao.com',NULL);\nINSERT INTO tracker_domains VALUES('kaloo.ga','kaloo.ga',NULL);\nINSERT INTO tracker_domains VALUES('kaltura','kaltura.com',NULL);\nINSERT INTO tracker_domains VALUES('kameleoon','kameleoon.com',NULL);\nINSERT INTO tracker_domains VALUES('kameleoon','kameleoon.eu',NULL);\nINSERT INTO tracker_domains VALUES('kameleoon','kameleoon.io',NULL);\nINSERT INTO tracker_domains VALUES('kampyle','kampyle.com',NULL);\nINSERT INTO tracker_domains VALUES('kampyle','medallia.com',NULL);\nINSERT INTO tracker_domains VALUES('kanoodle','kanoodle.com',NULL);\nINSERT INTO tracker_domains VALUES('kantar_media','kmi-us.com',NULL);\nINSERT INTO tracker_domains VALUES('kantar_media','tnsinternet.be',NULL);\nINSERT INTO tracker_domains VALUES('kargo','kargo.com',NULL);\nINSERT INTO tracker_domains VALUES('kaspersky-labs.com','kaspersky-labs.com',NULL);\nINSERT INTO tracker_domains VALUES('kataweb.it','kataweb.it',NULL);\nINSERT INTO tracker_domains VALUES('katchup','cen.katchup.fr',NULL);\nINSERT INTO tracker_domains VALUES('kauli','kau.li',NULL);\nINSERT INTO tracker_domains VALUES('kavanga','kavanga.ru',NULL);\nINSERT INTO tracker_domains VALUES('keen_io','dc8na2hxrj29i.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('keen_io','keen.io',NULL);\nINSERT INTO tracker_domains VALUES('kelkoo','widget.kelkoo.com',NULL);\nINSERT INTO tracker_domains VALUES('kendobrands','kvdveganbeauty.com',NULL);\nINSERT INTO tracker_domains VALUES('kendobrands','olehenriksen.com',NULL);\nINSERT INTO tracker_domains VALUES('kenshoo','xg4ken.com',NULL);\nINSERT INTO tracker_domains VALUES('ketch','ketchcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('ketch','global.ketchcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('ketch','eu.ketchcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('ketch','cdn.ketchjs.com',NULL);\nINSERT INTO tracker_domains VALUES('keymetric','keymetric.net',NULL);\nINSERT INTO tracker_domains VALUES('keytiles','lb.keytiles.com',NULL);\nINSERT INTO tracker_domains VALUES('keywee','keywee.co',NULL);\nINSERT INTO tracker_domains VALUES('keywordmax','keywordmax.com',NULL);\nINSERT INTO tracker_domains VALUES('khoros','massrelevance.com',NULL);\nINSERT INTO tracker_domains VALUES('khoros','tweetriver.com',NULL);\nINSERT INTO tracker_domains VALUES('khzbeucrltin.com','khzbeucrltin.com',NULL);\nINSERT INTO tracker_domains VALUES('kickfactory','ping.kickfactory.com',NULL);\nINSERT INTO tracker_domains VALUES('kickfire','sa-as.com',NULL);\nINSERT INTO tracker_domains VALUES('kickfire','sniff.visistat.com',NULL);\nINSERT INTO tracker_domains VALUES('kickfire','stats.visistat.com',NULL);\nINSERT INTO tracker_domains VALUES('kilkaya','k5a.io',NULL);\nINSERT INTO tracker_domains VALUES('kindly','kindly.com',NULL);\nINSERT INTO tracker_domains VALUES('kindly','kindlycdn.com',NULL);\nINSERT INTO tracker_domains VALUES('kindly','kindly.ai',NULL);\nINSERT INTO tracker_domains VALUES('king.com','king.com',NULL);\nINSERT INTO tracker_domains VALUES('king_com','midasplayer.com',NULL);\nINSERT INTO tracker_domains VALUES('kinja.com','kinja-img.com',NULL);\nINSERT INTO tracker_domains VALUES('kinja.com','kinja-static.com',NULL);\nINSERT INTO tracker_domains VALUES('kinja.com','kinja.com',NULL);\nINSERT INTO tracker_domains VALUES('kiosked','kiosked.com',NULL);\nINSERT INTO tracker_domains VALUES('kissmetrics.com','doug1izaerwt3.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('kissmetrics.com','kissmetrics.com',NULL);\nINSERT INTO tracker_domains VALUES('kitara_media','ad.103092804.com',NULL);\nINSERT INTO tracker_domains VALUES('kitara_media','kmdisplay.com',NULL);\nINSERT INTO tracker_domains VALUES('kixer','kixer.com',NULL);\nINSERT INTO tracker_domains VALUES('klarna.com','klarna.com',NULL);\nINSERT INTO tracker_domains VALUES('klarna.com','klarnaservices.com',NULL);\nINSERT INTO tracker_domains VALUES('klarna.com','klarnaevt.com',NULL);\nINSERT INTO tracker_domains VALUES('klaviyo','a.klaviyo.com',NULL);\nINSERT INTO tracker_domains VALUES('klaviyo','static.klaviyo.com',NULL);\nINSERT INTO tracker_domains VALUES('klaviyo','static-tracking.klaviyo.com',NULL);\nINSERT INTO tracker_domains VALUES('klaviyo_forms','static-forms.klaviyo.com',NULL);\nINSERT INTO tracker_domains VALUES('kleep','kleep.ai',NULL);\nINSERT INTO tracker_domains VALUES('klikki','klikki.com',NULL);\nINSERT INTO tracker_domains VALUES('kliksaya','scr.kliksaya.com',NULL);\nINSERT INTO tracker_domains VALUES('kmeleo','mediapeo2.com',NULL);\nINSERT INTO tracker_domains VALUES('knoopstat','knoopstat.nl',NULL);\nINSERT INTO tracker_domains VALUES('knotch','knotch.it',NULL);\nINSERT INTO tracker_domains VALUES('komoona','komoona.com',NULL);\nINSERT INTO tracker_domains VALUES('kontera_contentlink','kona.kontera.com',NULL);\nINSERT INTO tracker_domains VALUES('kontextr','ktxtr.com',NULL);\nINSERT INTO tracker_domains VALUES('kontextua','kontextua.com',NULL);\nINSERT INTO tracker_domains VALUES('koreanair','koreanair.com',NULL);\nINSERT INTO tracker_domains VALUES('korrelate','cleanrm.net',NULL);\nINSERT INTO tracker_domains VALUES('korrelate','korrelate.net',NULL);\nINSERT INTO tracker_domains VALUES('kortx','trackit.ktxlytics.io',NULL);\nINSERT INTO tracker_domains VALUES('kount','kaptcha.com',NULL);\nINSERT INTO tracker_domains VALUES('krush_media','cs.krushmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('krux_digital','krxd.net',NULL);\nINSERT INTO tracker_domains VALUES('kundo','chat.kundo.se',NULL);\nINSERT INTO tracker_domains VALUES('kundo','static-chat.kundo.se',NULL);\nINSERT INTO tracker_domains VALUES('kupona','d31bfnnwekbny6.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('kupona','kpcustomer.de',NULL);\nINSERT INTO tracker_domains VALUES('kupona','q-sis.de',NULL);\nINSERT INTO tracker_domains VALUES('kxcdn.com','kxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('kyto','cdn.kyto.com',NULL);\nINSERT INTO tracker_domains VALUES('ladsp.com','cd-ladsp-com.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('ladsp.com','ladmp.com',NULL);\nINSERT INTO tracker_domains VALUES('ladsp.com','ladsp.com',NULL);\nINSERT INTO tracker_domains VALUES('lanista_concepts','lanistaads.com',NULL);\nINSERT INTO tracker_domains VALUES('latimes','latimes.com',NULL);\nINSERT INTO tracker_domains VALUES('launch_darkly','launchdarkly.com',NULL);\nINSERT INTO tracker_domains VALUES('launchbit','launchbit.com',NULL);\nINSERT INTO tracker_domains VALUES('layer-ad.org','layer-ad.org',NULL);\nINSERT INTO tracker_domains VALUES('lazada','ph-live.slatic.net',NULL);\nINSERT INTO tracker_domains VALUES('lcx_digital','lcxdigital.com',NULL);\nINSERT INTO tracker_domains VALUES('le_monde.fr','lemde.fr',NULL);\nINSERT INTO tracker_domains VALUES('lead_liaison','t1.llanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('leadback','leadback.ru',NULL);\nINSERT INTO tracker_domains VALUES('leaddyno','leaddyno.com',NULL);\nINSERT INTO tracker_domains VALUES('leadfeeder','lfeeder.com',NULL);\nINSERT INTO tracker_domains VALUES('leadfeeder','lftracker.leadfeeder.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','123-tracker.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','55-trk-srv.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','business-path-55.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','click-to-trace.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','cloud-exploration.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','cloud-journey.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','cloud-trail.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','cloudpath82.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','cloudtracer101.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','discover-path.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','discovertrail.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','domainanalytics.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','dthvdr9.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','explore-123.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','finger-info.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','forensics1000.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','ip-route.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','ipadd-path.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','iproute66.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','lead-123.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','lead-analytics-1000.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','lead-watcher.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','leadforensics.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','ledradn.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','letterbox-path.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','letterboxtrail.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','network-handle.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','path-follower.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','path-trail.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','scan-trail.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','site-research.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','srv1010elan.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','the-lead-tracker.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trace-2000.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','track-web.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trackdiscovery.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trackercloud.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trackinvestigate.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trail-viewer.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trail-web.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trailbox.net',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','trailinvestigator.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','web-path.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','webforensics.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','websiteexploration.com',NULL);\nINSERT INTO tracker_domains VALUES('leadforensics','www-path.com',NULL);\nINSERT INTO tracker_domains VALUES('leadgenic','gate.leadgenic.com',NULL);\nINSERT INTO tracker_domains VALUES('leadhit','leadhit.ru',NULL);\nINSERT INTO tracker_domains VALUES('leadin','js.leadin.com',NULL);\nINSERT INTO tracker_domains VALUES('leading_reports','io.leadingreports.de',NULL);\nINSERT INTO tracker_domains VALUES('leadinspector','js.leadinspector.de',NULL);\nINSERT INTO tracker_domains VALUES('leadlander','formalyzer.com',NULL);\nINSERT INTO tracker_domains VALUES('leadlander','trackalyzer.com',NULL);\nINSERT INTO tracker_domains VALUES('leadlife','analytics.leadlifesolutions.net',NULL);\nINSERT INTO tracker_domains VALUES('leadoo','leadoo.com',NULL);\nINSERT INTO tracker_domains VALUES('leadpages','my.leadpages.net',NULL);\nINSERT INTO tracker_domains VALUES('leadplace','leadplace.fr',NULL);\nINSERT INTO tracker_domains VALUES('leads_by_web.com','scorecard.wspisp.net',NULL);\nINSERT INTO tracker_domains VALUES('leadscoreapp','www.leadscoreapp.dk',NULL);\nINSERT INTO tracker_domains VALUES('leadsius','tracker.leadsius.com',NULL);\nINSERT INTO tracker_domains VALUES('leady','leady.com',NULL);\nINSERT INTO tracker_domains VALUES('leady','leady.cz',NULL);\nINSERT INTO tracker_domains VALUES('leiki','leiki.com',NULL);\nINSERT INTO tracker_domains VALUES('lengow','lengow.com',NULL);\nINSERT INTO tracker_domains VALUES('lenmit.com','lenmit.com',NULL);\nINSERT INTO tracker_domains VALUES('lentainform.com','lentainform.com',NULL);\nINSERT INTO tracker_domains VALUES('lenua.de','lenua.de',NULL);\nINSERT INTO tracker_domains VALUES('let_reach','letreach.com',NULL);\nINSERT INTO tracker_domains VALUES('letv','js.letvcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('level3_communications','footprint.net',NULL);\nINSERT INTO tracker_domains VALUES('licensebuttons.net','licensebuttons.net',NULL);\nINSERT INTO tracker_domains VALUES('life_inside','app.lifeinside.io',NULL);\nINSERT INTO tracker_domains VALUES('life_inside','backend.lifeinside.io',NULL);\nINSERT INTO tracker_domains VALUES('life_inside','widget.lifeinside.io',NULL);\nINSERT INTO tracker_domains VALUES('lifestreet_media','lfstmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('ligatus','content-recommendation.net',NULL);\nINSERT INTO tracker_domains VALUES('ligatus','ligadx.com',NULL);\nINSERT INTO tracker_domains VALUES('ligatus','ligatus.com',NULL);\nINSERT INTO tracker_domains VALUES('ligatus','ligatus.de',NULL);\nINSERT INTO tracker_domains VALUES('ligatus','veeseo.com',NULL);\nINSERT INTO tracker_domains VALUES('limk','limk.com',NULL);\nINSERT INTO tracker_domains VALUES('line_apps','line-apps.com',NULL);\nINSERT INTO tracker_domains VALUES('line_apps','line-scdn.net',NULL);\nINSERT INTO tracker_domains VALUES('line_apps','line.me',NULL);\nINSERT INTO tracker_domains VALUES('linezing','tongji.linezing.com',NULL);\nINSERT INTO tracker_domains VALUES('linkbucks','linkbucks.com',NULL);\nINSERT INTO tracker_domains VALUES('linkconnector','linkconnector.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin','bizo.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin','licdn.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin','linkedin.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin','lynda.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','ads.linkedin.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','px.ads.linkedin.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','px4.ads.linkedin.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','p.adsymptotic.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','cdn.linkedin.oribi.io',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','gw.linkedin.oribi.io',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','dc.ads.linkedin.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_ads','sjs.bizographics.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_analytics','snap.licdn.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_marketing_solutions','bizographics.com',NULL);\nINSERT INTO tracker_domains VALUES('linkedin_widgets','platform.linkedin.com',NULL);\nINSERT INTO tracker_domains VALUES('linker','linker.hr',NULL);\nINSERT INTO tracker_domains VALUES('linkprice','linkprice.com',NULL);\nINSERT INTO tracker_domains VALUES('linkpulse','lp4.io',NULL);\nINSERT INTO tracker_domains VALUES('linksalpha','linksalpha.com',NULL);\nINSERT INTO tracker_domains VALUES('linksmart','erovinmo.com',NULL);\nINSERT INTO tracker_domains VALUES('linksmart','linksmart.com',NULL);\nINSERT INTO tracker_domains VALUES('linkstorm','linkstorm.net',NULL);\nINSERT INTO tracker_domains VALUES('linksynergy.com','linksynergy.com',NULL);\nINSERT INTO tracker_domains VALUES('linkup','linkup.com',NULL);\nINSERT INTO tracker_domains VALUES('linkwise','linkwi.se',NULL);\nINSERT INTO tracker_domains VALUES('linkwithin','linkwithin.com',NULL);\nINSERT INTO tracker_domains VALUES('lipscore','lipscore.com',NULL);\nINSERT INTO tracker_domains VALUES('liquidm_technology_gmbh','lqm.io',NULL);\nINSERT INTO tracker_domains VALUES('liquidm_technology_gmbh','lqmcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('liqwid','liqwid.net',NULL);\nINSERT INTO tracker_domains VALUES('list.ru','list.ru',NULL);\nINSERT INTO tracker_domains VALUES('listrak','listrakbi.com',NULL);\nINSERT INTO tracker_domains VALUES('listrak','listrak.com',NULL);\nINSERT INTO tracker_domains VALUES('live2support','live2support.com',NULL);\nINSERT INTO tracker_domains VALUES('live800','live800.com',NULL);\nINSERT INTO tracker_domains VALUES('live_agent','ladesk.com',NULL);\nINSERT INTO tracker_domains VALUES('live_help_now','livehelpnow.net',NULL);\nINSERT INTO tracker_domains VALUES('live_intent','liadm.com',NULL);\nINSERT INTO tracker_domains VALUES('live_journal','l-stat.livejournal.net',NULL);\nINSERT INTO tracker_domains VALUES('liveadexchanger.com','liveadexchanger.com',NULL);\nINSERT INTO tracker_domains VALUES('livechat','livechat.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('livechat','livechatinc.com',NULL);\nINSERT INTO tracker_domains VALUES('livechat','livechatinc.net',NULL);\nINSERT INTO tracker_domains VALUES('livechatnow','livechatnow.com',NULL);\nINSERT INTO tracker_domains VALUES('livechatnow','livechatnow.net',NULL);\nINSERT INTO tracker_domains VALUES('liveclicker','liveclicker.net',NULL);\nINSERT INTO tracker_domains VALUES('livecounter','livecounter.dk',NULL);\nINSERT INTO tracker_domains VALUES('livefyre','fyre.co',NULL);\nINSERT INTO tracker_domains VALUES('livefyre','livefyre.com',NULL);\nINSERT INTO tracker_domains VALUES('liveinternet','yadro.ru',NULL);\nINSERT INTO tracker_domains VALUES('liveperson','liveperson.net',NULL);\nINSERT INTO tracker_domains VALUES('liveperson','lpsnmedia.net',NULL);\nINSERT INTO tracker_domains VALUES('liveperson','liveperson.com',NULL);\nINSERT INTO tracker_domains VALUES('liveramp','pippio.com',NULL);\nINSERT INTO tracker_domains VALUES('liveramp','rapleaf.com',NULL);\nINSERT INTO tracker_domains VALUES('liveramp','rlcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('liveramp','tvpixel.com',NULL);\nINSERT INTO tracker_domains VALUES('liveramp_cmp','privacymanager.io',NULL);\nINSERT INTO tracker_domains VALUES('livere','livere.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('livere','livere.co.kr.cizion.ixcloud.net',NULL);\nINSERT INTO tracker_domains VALUES('livesportmedia.eu','livesportmedia.eu',NULL);\nINSERT INTO tracker_domains VALUES('livestream','analytics.livestream.com',NULL);\nINSERT INTO tracker_domains VALUES('livetex.ru','livetex.ru',NULL);\nINSERT INTO tracker_domains VALUES('lkqd','lkqd.net',NULL);\nINSERT INTO tracker_domains VALUES('loadbee.com','loadbee.com',NULL);\nINSERT INTO tracker_domains VALUES('loadercdn.com','loadercdn.com',NULL);\nINSERT INTO tracker_domains VALUES('loadsource.org','loadsource.org',NULL);\nINSERT INTO tracker_domains VALUES('localytics','web.localytics.com',NULL);\nINSERT INTO tracker_domains VALUES('locatrics','rtblab.net',NULL);\nINSERT INTO tracker_domains VALUES('lockerdome','cdn2.lockerdome.com',NULL);\nINSERT INTO tracker_domains VALUES('lockerz_share','addtoany.com',NULL);\nINSERT INTO tracker_domains VALUES('logan_media','pixel.loganmedia.mobi',NULL);\nINSERT INTO tracker_domains VALUES('logdna','ping.answerbook.com',NULL);\nINSERT INTO tracker_domains VALUES('loggly','loggly.com',NULL);\nINSERT INTO tracker_domains VALUES('logly','logly.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('logsss.com','logsss.com',NULL);\nINSERT INTO tracker_domains VALUES('lomadee','lomadee.com',NULL);\nINSERT INTO tracker_domains VALUES('loomia','assets.loomia.com',NULL);\nINSERT INTO tracker_domains VALUES('loop11','loop11.com',NULL);\nINSERT INTO tracker_domains VALUES('loopfuse_oneview','lfov.net',NULL);\nINSERT INTO tracker_domains VALUES('lotame','crwdcntrl.net',NULL);\nINSERT INTO tracker_domains VALUES('lottex_inc','vidcpm.com',NULL);\nINSERT INTO tracker_domains VALUES('lotustar','lotustar.vietnamairlines.com',NULL);\nINSERT INTO tracker_domains VALUES('lucid','tracker.samplicio.us',NULL);\nINSERT INTO tracker_domains VALUES('lucid_media','lucidmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('lucini','lead.adsender.us',NULL);\nINSERT INTO tracker_domains VALUES('lucky_orange','livestatserver.com',NULL);\nINSERT INTO tracker_domains VALUES('lucky_orange','luckyorange.com',NULL);\nINSERT INTO tracker_domains VALUES('lucky_orange','luckyorange.net',NULL);\nINSERT INTO tracker_domains VALUES('luckypushh.com','luckypushh.com',NULL);\nINSERT INTO tracker_domains VALUES('lxr100','adelixir.com',NULL);\nINSERT INTO tracker_domains VALUES('lynchpin_analytics','lypn.com',NULL);\nINSERT INTO tracker_domains VALUES('lynchpin_analytics','lypn.net',NULL);\nINSERT INTO tracker_domains VALUES('lytics','lytics.io',NULL);\nINSERT INTO tracker_domains VALUES('lyuoaxruaqdo.com','lyuoaxruaqdo.com',NULL);\nINSERT INTO tracker_domains VALUES('m-pathy','m-pathy.com',NULL);\nINSERT INTO tracker_domains VALUES('m._p._newmedia','mpnrs.com',NULL);\nINSERT INTO tracker_domains VALUES('m4n','m4n.nl',NULL);\nINSERT INTO tracker_domains VALUES('mad_ads_media','madadsmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('madeleine.de','madeleine.de',NULL);\nINSERT INTO tracker_domains VALUES('madison_logic','dinclinx.com',NULL);\nINSERT INTO tracker_domains VALUES('madison_logic','madisonlogic.com',NULL);\nINSERT INTO tracker_domains VALUES('madnet','madnet.ru',NULL);\nINSERT INTO tracker_domains VALUES('mads','eu2.madsone.com',NULL);\nINSERT INTO tracker_domains VALUES('magna_advertise','magna.ru',NULL);\nINSERT INTO tracker_domains VALUES('magnetic','d3ezl4ajpp2zy8.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('magnetic','domdex.com',NULL);\nINSERT INTO tracker_domains VALUES('magnetic','domdex.net',NULL);\nINSERT INTO tracker_domains VALUES('magnetise_group','magnetisemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('magnify360','magnify360.com',NULL);\nINSERT INTO tracker_domains VALUES('magnuum.com','magnuum.com',NULL);\nINSERT INTO tracker_domains VALUES('mail.ru_banner','ad.mail.ru',NULL);\nINSERT INTO tracker_domains VALUES('mail.ru_group','imgsmail.ru',NULL);\nINSERT INTO tracker_domains VALUES('mail.ru_group','mail.ru',NULL);\nINSERT INTO tracker_domains VALUES('mail.ru_group','mradx.net',NULL);\nINSERT INTO tracker_domains VALUES('mail.ru_group','odnoklassniki.ru',NULL);\nINSERT INTO tracker_domains VALUES('mail.ru_group','ok.ru',NULL);\nINSERT INTO tracker_domains VALUES('mailchimp_tracking','chimpstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('mailchimp_tracking','list-manage.com',NULL);\nINSERT INTO tracker_domains VALUES('mailchimp_tracking','mailchimp.com',NULL);\nINSERT INTO tracker_domains VALUES('maileon','analytics.maileon.com',NULL);\nINSERT INTO tracker_domains VALUES('mailerlite.com','mailerlite.com',NULL);\nINSERT INTO tracker_domains VALUES('mailtrack.io','mailtrack.io',NULL);\nINSERT INTO tracker_domains VALUES('mainadv','mainadv.com',NULL);\nINSERT INTO tracker_domains VALUES('makazi','makazi.com',NULL);\nINSERT INTO tracker_domains VALUES('makeappdev.xyz','makeappdev.xyz',NULL);\nINSERT INTO tracker_domains VALUES('makesource.cool','makesource.cool',NULL);\nINSERT INTO tracker_domains VALUES('mango','widgets.mango-office.ru',NULL);\nINSERT INTO tracker_domains VALUES('manycontacts','manycontacts.com',NULL);\nINSERT INTO tracker_domains VALUES('mapandroute.de','mapandroute.de',NULL);\nINSERT INTO tracker_domains VALUES('mapbox','mapbox.com',NULL);\nINSERT INTO tracker_domains VALUES('maploco','www.maploco.com',NULL);\nINSERT INTO tracker_domains VALUES('marchex','px.marchex.io',NULL);\nINSERT INTO tracker_domains VALUES('marchex','voicestar.com',NULL);\nINSERT INTO tracker_domains VALUES('marfeel','mrf.io',NULL);\nINSERT INTO tracker_domains VALUES('marfeel','events.newsroom.bi',NULL);\nINSERT INTO tracker_domains VALUES('marimedia','mmadsgadget.com',NULL);\nINSERT INTO tracker_domains VALUES('marimedia','qadabra.com',NULL);\nINSERT INTO tracker_domains VALUES('marimedia','qadserve.com',NULL);\nINSERT INTO tracker_domains VALUES('marimedia','qadservice.com',NULL);\nINSERT INTO tracker_domains VALUES('marin_search_marketer','marinsm.com',NULL);\nINSERT INTO tracker_domains VALUES('mark_+_mini','markandmini.com',NULL);\nINSERT INTO tracker_domains VALUES('market_thunder','ak-cdn.placelocal.com',NULL);\nINSERT INTO tracker_domains VALUES('marketgid','dt00.net',NULL);\nINSERT INTO tracker_domains VALUES('marketgid','dt07.net',NULL);\nINSERT INTO tracker_domains VALUES('marketgid','marketgid.com',NULL);\nINSERT INTO tracker_domains VALUES('marketgid','mgid.com',NULL);\nINSERT INTO tracker_domains VALUES('marketing_automation','marketingautomation.si',NULL);\nINSERT INTO tracker_domains VALUES('marketo','marketo.com',NULL);\nINSERT INTO tracker_domains VALUES('marketo','marketo.net',NULL);\nINSERT INTO tracker_domains VALUES('marketo','mktoresp.com',NULL);\nINSERT INTO tracker_domains VALUES('marketo','bizible.com',NULL);\nINSERT INTO tracker_domains VALUES('markmonitor','caanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('markmonitor','mmstat.com',NULL);\nINSERT INTO tracker_domains VALUES('marktest','netscope.data.marktest.pt',NULL);\nINSERT INTO tracker_domains VALUES('marshadow.io','marshadow.io',NULL);\nINSERT INTO tracker_domains VALUES('martini_media','martiniadnetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('maru-edu','edigitalsurvey.com',NULL);\nINSERT INTO tracker_domains VALUES('marvellous_machine','marvellousmachine.net',NULL);\nINSERT INTO tracker_domains VALUES('master_banner_network','mbn.com.ua',NULL);\nINSERT INTO tracker_domains VALUES('mastertarget','mastertarget.ru',NULL);\nINSERT INTO tracker_domains VALUES('matelso','rns.matelso.de',NULL);\nINSERT INTO tracker_domains VALUES('mather_analytics','matheranalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('mathjax.org','mathjax.org',NULL);\nINSERT INTO tracker_domains VALUES('matiro','nzaza.com',NULL);\nINSERT INTO tracker_domains VALUES('matomo','matomo.cloud',NULL);\nINSERT INTO tracker_domains VALUES('matomo','matomo.org',NULL);\nINSERT INTO tracker_domains VALUES('matomo','piwik.org',NULL);\nINSERT INTO tracker_domains VALUES('matomy_market','adsmarket.com',NULL);\nINSERT INTO tracker_domains VALUES('matomy_market','m2pub.com',NULL);\nINSERT INTO tracker_domains VALUES('mave','mave.io',NULL);\nINSERT INTO tracker_domains VALUES('mave','video-dns.com',NULL);\nINSERT INTO tracker_domains VALUES('mavenoid','api.mavenoid.com',NULL);\nINSERT INTO tracker_domains VALUES('mavenoid','app.mavenoid.com',NULL);\nINSERT INTO tracker_domains VALUES('mavenoid','widget-hosts.mavenoid.com',NULL);\nINSERT INTO tracker_domains VALUES('maxbounty','mb01.com',NULL);\nINSERT INTO tracker_domains VALUES('maxcdn','maxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('maxcdn','netdna-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('maxcdn','netdna-ssl.com',NULL);\nINSERT INTO tracker_domains VALUES('maxetise','maxetise.net',NULL);\nINSERT INTO tracker_domains VALUES('maxetise','maxetise.com',NULL);\nINSERT INTO tracker_domains VALUES('maxlab','maxlab.ru',NULL);\nINSERT INTO tracker_domains VALUES('maxmind','maxmind.com',NULL);\nINSERT INTO tracker_domains VALUES('maxonclick_com','maxonclick.com',NULL);\nINSERT INTO tracker_domains VALUES('maxpoint_interactive','mxptint.net',NULL);\nINSERT INTO tracker_domains VALUES('maxymiser','maxymiser.hs.llnwd.net',NULL);\nINSERT INTO tracker_domains VALUES('maxymiser','maxymiser.net',NULL);\nINSERT INTO tracker_domains VALUES('maze','maze.co',NULL);\nINSERT INTO tracker_domains VALUES('mbr_targeting','m6r.eu',NULL);\nINSERT INTO tracker_domains VALUES('mbuy','pixel.adbuyer.com',NULL);\nINSERT INTO tracker_domains VALUES('mcabi','mcabi.mcloudglobal.com',NULL);\nINSERT INTO tracker_domains VALUES('mcafee_secure','scanalert.com',NULL);\nINSERT INTO tracker_domains VALUES('mcafee_secure','ywxi.net',NULL);\nINSERT INTO tracker_domains VALUES('mconet','mconet.biz',NULL);\nINSERT INTO tracker_domains VALUES('mdotlabs','mdotlabs.com',NULL);\nINSERT INTO tracker_domains VALUES('media-clic','media-clic.com',NULL);\nINSERT INTO tracker_domains VALUES('media-imdb.com','media-imdb.com',NULL);\nINSERT INTO tracker_domains VALUES('media.net','media.net',NULL);\nINSERT INTO tracker_domains VALUES('media_impact','mediaimpact.de',NULL);\nINSERT INTO tracker_domains VALUES('media_innovation_group','mookie1.com',NULL);\nINSERT INTO tracker_domains VALUES('media_today','idntfy.ru',NULL);\nINSERT INTO tracker_domains VALUES('mediaad','s1.mediaad.org',NULL);\nINSERT INTO tracker_domains VALUES('mediago','mediago.io',NULL);\nINSERT INTO tracker_domains VALUES('mediahub','fhserve.com',NULL);\nINSERT INTO tracker_domains VALUES('medialand','adnet.ru',NULL);\nINSERT INTO tracker_domains VALUES('medialand','medialand.ru',NULL);\nINSERT INTO tracker_domains VALUES('medialead','medialead.de',NULL);\nINSERT INTO tracker_domains VALUES('mediamath','mathads.com',NULL);\nINSERT INTO tracker_domains VALUES('mediamath','mathtag.com',NULL);\nINSERT INTO tracker_domains VALUES('mediametrics','mediametrics.ru',NULL);\nINSERT INTO tracker_domains VALUES('median','audit.median.hu',NULL);\nINSERT INTO tracker_domains VALUES('mediapass','mediapass.com',NULL);\nINSERT INTO tracker_domains VALUES('mediapost_communications','mt.mediapostcommunication.net',NULL);\nINSERT INTO tracker_domains VALUES('mediarithmics.com','mediarithmics.com',NULL);\nINSERT INTO tracker_domains VALUES('mediascope','tns-counter.ru',NULL);\nINSERT INTO tracker_domains VALUES('mediashakers','ad.media-servers.net',NULL);\nINSERT INTO tracker_domains VALUES('mediashift','adsvc1107131.net',NULL);\nINSERT INTO tracker_domains VALUES('mediator.media','mediator.media',NULL);\nINSERT INTO tracker_domains VALUES('mediav','mediav.com',NULL);\nINSERT INTO tracker_domains VALUES('mediavine_exchange','mediavine.com',NULL);\nINSERT INTO tracker_domains VALUES('mediavine_exchange','pb-ing-mediavine.ccgateway.net',NULL);\nINSERT INTO tracker_domains VALUES('mediawhiz','adnetinteractive.com',NULL);\nINSERT INTO tracker_domains VALUES('mediawhiz','adnetinteractive.net',NULL);\nINSERT INTO tracker_domains VALUES('medigo','mediego.com',NULL);\nINSERT INTO tracker_domains VALUES('medley','medleyads.com',NULL);\nINSERT INTO tracker_domains VALUES('medyanet','adnet.com.tr',NULL);\nINSERT INTO tracker_domains VALUES('medyanet','e-kolay.net',NULL);\nINSERT INTO tracker_domains VALUES('medyanet','medyanetads.com',NULL);\nINSERT INTO tracker_domains VALUES('meebo_bar','cim.meebo.com',NULL);\nINSERT INTO tracker_domains VALUES('meetrics','meetrics.net',NULL);\nINSERT INTO tracker_domains VALUES('meetrics','mxcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('meetrics','research.de.com',NULL);\nINSERT INTO tracker_domains VALUES('megaindex','counter.megaindex.ru',NULL);\nINSERT INTO tracker_domains VALUES('mein-bmi.com','mein-bmi.com',NULL);\nINSERT INTO tracker_domains VALUES('melissa','webvisitor.melissadata.net',NULL);\nINSERT INTO tracker_domains VALUES('melt','meltdsp.com',NULL);\nINSERT INTO tracker_domains VALUES('menlo','mlt01.com',NULL);\nINSERT INTO tracker_domains VALUES('mentad','mentad.com',NULL);\nINSERT INTO tracker_domains VALUES('mercado','mercadoclics.com',NULL);\nINSERT INTO tracker_domains VALUES('mercado','mercadolivre.com.br',NULL);\nINSERT INTO tracker_domains VALUES('mercado','mlstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('merchant_center_analytics','merchant-center-analytics.goog',NULL);\nINSERT INTO tracker_domains VALUES('merchantadvantage','merchantadvantage.com',NULL);\nINSERT INTO tracker_domains VALUES('merchenta','merchenta.com',NULL);\nINSERT INTO tracker_domains VALUES('mercury_media','roia.biz',NULL);\nINSERT INTO tracker_domains VALUES('merkle_research','cdn.merklesearch.com',NULL);\nINSERT INTO tracker_domains VALUES('merkle_rkg','rkdms.com',NULL);\nINSERT INTO tracker_domains VALUES('messenger.com','messenger.com',NULL);\nINSERT INTO tracker_domains VALUES('meta_network','ad.metanetwork.com',NULL);\nINSERT INTO tracker_domains VALUES('metaffiliation.com','metaffiliation.com',NULL);\nINSERT INTO tracker_domains VALUES('metaffiliation.com','netaffiliation.com',NULL);\nINSERT INTO tracker_domains VALUES('metapeople','metalyzer.com',NULL);\nINSERT INTO tracker_domains VALUES('metapeople','mlsat02.de',NULL);\nINSERT INTO tracker_domains VALUES('metrigo','metrigo.com',NULL);\nINSERT INTO tracker_domains VALUES('metriweb','metriweb.be',NULL);\nINSERT INTO tracker_domains VALUES('miaozhen','miaozhen.com',NULL);\nINSERT INTO tracker_domains VALUES('microad','microad.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('microad','microad.jp',NULL);\nINSERT INTO tracker_domains VALUES('microad','microad.net',NULL);\nINSERT INTO tracker_domains VALUES('microad','microadinc.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','gfx.ms',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','live.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','microsoft.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','microsoftonline-p.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','microsoftonline.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','microsofttranslator.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','msedge.net',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','msocdn.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','onestore.ms',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','s-microsoft.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft','trouter.io',NULL);\nINSERT INTO tracker_domains VALUES('microsoft_analytics','analytics.live.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft_azure_monitor','js.monitor.azure.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft_azure_monitor','applicationinsights.azure.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft_azure_monitor','applicationinsights.microsoft.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft_azure_monitor','monitor.azure.com',NULL);\nINSERT INTO tracker_domains VALUES('microsoft_clarity','clarity.ms',NULL);\nINSERT INTO tracker_domains VALUES('miele','api-crm.miele.com',NULL);\nINSERT INTO tracker_domains VALUES('mindset_media','mmismm.com',NULL);\nINSERT INTO tracker_domains VALUES('mindspark','imgfarm.com',NULL);\nINSERT INTO tracker_domains VALUES('mindspark','mindspark.com',NULL);\nINSERT INTO tracker_domains VALUES('mindspark','staticimgfarm.com',NULL);\nINSERT INTO tracker_domains VALUES('mindviz_tracker','mvtracker.com',NULL);\nINSERT INTO tracker_domains VALUES('minewhat','minewhat.com',NULL);\nINSERT INTO tracker_domains VALUES('mints_app','mintsapp.io',NULL);\nINSERT INTO tracker_domains VALUES('minute.ly','snackly.co',NULL);\nINSERT INTO tracker_domains VALUES('minute.ly','snippet.minute.ly',NULL);\nINSERT INTO tracker_domains VALUES('minute.ly_video','apv.configuration.minute.ly',NULL);\nINSERT INTO tracker_domains VALUES('mirando','get.mirando.de',NULL);\nINSERT INTO tracker_domains VALUES('mirtesen.ru','mirtesen.ru',NULL);\nINSERT INTO tracker_domains VALUES('mister_bell','misterbell.com',NULL);\nINSERT INTO tracker_domains VALUES('mixi','mixi.jp',NULL);\nINSERT INTO tracker_domains VALUES('mixpanel','mixpanel.com',NULL);\nINSERT INTO tracker_domains VALUES('mixpanel','mxpnl.com',NULL);\nINSERT INTO tracker_domains VALUES('mixpanel','mxpnl.net',NULL);\nINSERT INTO tracker_domains VALUES('mixpo','swf.mixpo.com',NULL);\nINSERT INTO tracker_domains VALUES('mluvii','app.mluvii.com',NULL);\nINSERT INTO tracker_domains VALUES('mncdn.com','mncdn.com',NULL);\nINSERT INTO tracker_domains VALUES('mntn','mountain.com',NULL);\nINSERT INTO tracker_domains VALUES('moat','moatads.com',NULL);\nINSERT INTO tracker_domains VALUES('moat','moatpixel.com',NULL);\nINSERT INTO tracker_domains VALUES('mobicow','mobicow.com',NULL);\nINSERT INTO tracker_domains VALUES('mobify','a.mobify.com',NULL);\nINSERT INTO tracker_domains VALUES('mobtrks.com','mobtrks.com',NULL);\nINSERT INTO tracker_domains VALUES('mocean_mobile','ads.mocean.mobi',NULL);\nINSERT INTO tracker_domains VALUES('mocean_mobile','ads.moceanads.com',NULL);\nINSERT INTO tracker_domains VALUES('mochapp','chat.mochapp.com',NULL);\nINSERT INTO tracker_domains VALUES('modern_impact','intelligentpixel.modernimpact.com',NULL);\nINSERT INTO tracker_domains VALUES('modernus','teljari.is',NULL);\nINSERT INTO tracker_domains VALUES('modulepush.com','modulepush.com',NULL);\nINSERT INTO tracker_domains VALUES('mogo_interactive','mogointeractive.com',NULL);\nINSERT INTO tracker_domains VALUES('mokono_analytics','mokonocdn.com',NULL);\nINSERT INTO tracker_domains VALUES('monero_miner','devappgrant.space',NULL);\nINSERT INTO tracker_domains VALUES('monetate','monetate.net',NULL);\nINSERT INTO tracker_domains VALUES('monetize_me','monetize-me.com',NULL);\nINSERT INTO tracker_domains VALUES('moneytizer','ads.themoneytizer.com',NULL);\nINSERT INTO tracker_domains VALUES('mongoose_metrics','mongoosemetrics.com',NULL);\nINSERT INTO tracker_domains VALUES('monitis','track.monitis.com',NULL);\nINSERT INTO tracker_domains VALUES('monitus','monitus.net',NULL);\nINSERT INTO tracker_domains VALUES('monotype_gmbh','fonts.net',NULL);\nINSERT INTO tracker_domains VALUES('monotype_imaging','fonts.com',NULL);\nINSERT INTO tracker_domains VALUES('monsido','cdn.monsido.com',NULL);\nINSERT INTO tracker_domains VALUES('monster_advertising','monster.com',NULL);\nINSERT INTO tracker_domains VALUES('mooxar','mooxar.com',NULL);\nINSERT INTO tracker_domains VALUES('mopinion.com','mopinion.com',NULL);\nINSERT INTO tracker_domains VALUES('mopub','mopub.com',NULL);\nINSERT INTO tracker_domains VALUES('more_communication','ad.ad-arata.com',NULL);\nINSERT INTO tracker_domains VALUES('moreads','moras.jp',NULL);\nINSERT INTO tracker_domains VALUES('motigo_webstats','nedstatbasic.net',NULL);\nINSERT INTO tracker_domains VALUES('motigo_webstats','webstats.motigo.com',NULL);\nINSERT INTO tracker_domains VALUES('motionpoint','analytics.convertlanguage.com',NULL);\nINSERT INTO tracker_domains VALUES('mouseflow','mouseflow.com',NULL);\nINSERT INTO tracker_domains VALUES('mousestats','mousestats.com',NULL);\nINSERT INTO tracker_domains VALUES('mousetrace','s.mousetrace.com',NULL);\nINSERT INTO tracker_domains VALUES('mov.ad','movad.de',NULL);\nINSERT INTO tracker_domains VALUES('mov.ad','movad.net',NULL);\nINSERT INTO tracker_domains VALUES('movable_ink','micpn.com',NULL);\nINSERT INTO tracker_domains VALUES('movable_ink','track.coherentpath.com',NULL);\nINSERT INTO tracker_domains VALUES('movable_media','mvb.me',NULL);\nINSERT INTO tracker_domains VALUES('movingimage','nr-agent.movingimage.com',NULL);\nINSERT INTO tracker_domains VALUES('movingimage','video-cdn.net',NULL);\nINSERT INTO tracker_domains VALUES('movingimage_beacon','nr-beacon.movingimage.com',NULL);\nINSERT INTO tracker_domains VALUES('moz','moz.com',NULL);\nINSERT INTO tracker_domains VALUES('mozoo','storage.mozoo.com',NULL);\nINSERT INTO tracker_domains VALUES('mparticle','mparticle.com',NULL);\nINSERT INTO tracker_domains VALUES('mrp','tracker.mrpfd.com',NULL);\nINSERT INTO tracker_domains VALUES('mrpdata','mrpdata.com',NULL);\nINSERT INTO tracker_domains VALUES('mrpdata','mrpdata.net',NULL);\nINSERT INTO tracker_domains VALUES('mrskincash','mrskincash.com',NULL);\nINSERT INTO tracker_domains VALUES('msn','msn.com',NULL);\nINSERT INTO tracker_domains VALUES('msn','s-msn.com',NULL);\nINSERT INTO tracker_domains VALUES('msn','adlibrisprod.azure-api.net',NULL);\nINSERT INTO tracker_domains VALUES('muscula','musculahq.appspot.com',NULL);\nINSERT INTO tracker_domains VALUES('mux_inc','litix.io',NULL);\nINSERT INTO tracker_domains VALUES('mybloglog','mybloglog.com',NULL);\nINSERT INTO tracker_domains VALUES('mybuys','t.p.mybuys.com',NULL);\nINSERT INTO tracker_domains VALUES('mycdn.me','mycdn.me',NULL);\nINSERT INTO tracker_domains VALUES('mycliplister.com','mycliplister.com',NULL);\nINSERT INTO tracker_domains VALUES('mycounter.ua','mycounter.com.ua',NULL);\nINSERT INTO tracker_domains VALUES('mycounter.ua','mycounter.ua',NULL);\nINSERT INTO tracker_domains VALUES('myfonts','myfonts.net',NULL);\nINSERT INTO tracker_domains VALUES('mypagerank','mypagerank.net',NULL);\nINSERT INTO tracker_domains VALUES('mystat','stat.mystat.hu',NULL);\nINSERT INTO tracker_domains VALUES('mythings','mythings.com',NULL);\nINSERT INTO tracker_domains VALUES('mytop_counter','mystat-in.net',NULL);\nINSERT INTO tracker_domains VALUES('nakanohito.jp','nakanohito.jp',NULL);\nINSERT INTO tracker_domains VALUES('namogoo','namogoo.coom',NULL);\nINSERT INTO tracker_domains VALUES('namogoo','nmgassets.com',NULL);\nINSERT INTO tracker_domains VALUES('namogoo','wandz.ai',NULL);\nINSERT INTO tracker_domains VALUES('nanigans','nanigans.com',NULL);\nINSERT INTO tracker_domains VALUES('nano_interactive','audiencemanager.de',NULL);\nINSERT INTO tracker_domains VALUES('nanorep','nanorep.com',NULL);\nINSERT INTO tracker_domains VALUES('narando','narando.com',NULL);\nINSERT INTO tracker_domains VALUES('narrativ','static.bam-x.com',NULL);\nINSERT INTO tracker_domains VALUES('narrative_io','narrative.io',NULL);\nINSERT INTO tracker_domains VALUES('natimatica','p1.ntvk1.ru',NULL);\nINSERT INTO tracker_domains VALUES('nativeads.com','nativeads.com',NULL);\nINSERT INTO tracker_domains VALUES('nativeroll','cdn01.nativeroll.tv',NULL);\nINSERT INTO tracker_domains VALUES('nativo','ntv.io',NULL);\nINSERT INTO tracker_domains VALUES('nativo','postrelease.com',NULL);\nINSERT INTO tracker_domains VALUES('navegg_dmp','navdmp.com',NULL);\nINSERT INTO tracker_domains VALUES('naver.com','naver.com',NULL);\nINSERT INTO tracker_domains VALUES('naver.com','naver.net',NULL);\nINSERT INTO tracker_domains VALUES('nbc_news','s-nbcnews.com',NULL);\nINSERT INTO tracker_domains VALUES('ncol','richmedia247.com',NULL);\nINSERT INTO tracker_domains VALUES('needle','needle.com',NULL);\nINSERT INTO tracker_domains VALUES('negate','sapi.negate.io',NULL);\nINSERT INTO tracker_domains VALUES('nekudo.com','nekudo.com',NULL);\nINSERT INTO tracker_domains VALUES('nelio_ab_testing','api.nelioabtesting.com',NULL);\nINSERT INTO tracker_domains VALUES('neodata','neodatagroup.com',NULL);\nINSERT INTO tracker_domains VALUES('neory','ad-srv.net',NULL);\nINSERT INTO tracker_domains VALUES('neory','contentspread.net',NULL);\nINSERT INTO tracker_domains VALUES('neory','neory-tm.com',NULL);\nINSERT INTO tracker_domains VALUES('neory','simptrack.com',NULL);\nINSERT INTO tracker_domains VALUES('nerfherdersolo_com','nerfherdersolo.com',NULL);\nINSERT INTO tracker_domains VALUES('net-metrix','wemfbox.ch',NULL);\nINSERT INTO tracker_domains VALUES('net-results','cdnma.com',NULL);\nINSERT INTO tracker_domains VALUES('net-results','nr7.us',NULL);\nINSERT INTO tracker_domains VALUES('net_avenir','netavenir.com',NULL);\nINSERT INTO tracker_domains VALUES('net_communities','netcommunities.com',NULL);\nINSERT INTO tracker_domains VALUES('net_visibility','visibility-stats.com',NULL);\nINSERT INTO tracker_domains VALUES('netbiscuits','netbiscuits.net',NULL);\nINSERT INTO tracker_domains VALUES('netbooster_group','bbtrack.net',NULL);\nINSERT INTO tracker_domains VALUES('netbooster_group','netbooster.com',NULL);\nINSERT INTO tracker_domains VALUES('netease','126.net',NULL);\nINSERT INTO tracker_domains VALUES('netease','163.com',NULL);\nINSERT INTO tracker_domains VALUES('netflix','netflix.com',NULL);\nINSERT INTO tracker_domains VALUES('netflix','nflxext.com',NULL);\nINSERT INTO tracker_domains VALUES('netflix','nflximg.net',NULL);\nINSERT INTO tracker_domains VALUES('netflix','nflxso.net',NULL);\nINSERT INTO tracker_domains VALUES('netflix','nflxvideo.net',NULL);\nINSERT INTO tracker_domains VALUES('netletix','netzathleten-media.de',NULL);\nINSERT INTO tracker_domains VALUES('netminers','netminers.dk',NULL);\nINSERT INTO tracker_domains VALUES('netmining','netmining.com',NULL);\nINSERT INTO tracker_domains VALUES('netmining','netmng.com',NULL);\nINSERT INTO tracker_domains VALUES('netmonitor','stat.netmonitor.fi',NULL);\nINSERT INTO tracker_domains VALUES('netratings_sitecensus','glanceguide.com',NULL);\nINSERT INTO tracker_domains VALUES('netratings_sitecensus','imrworldwide.com',NULL);\nINSERT INTO tracker_domains VALUES('netratings_sitecensus','vizu.com',NULL);\nINSERT INTO tracker_domains VALUES('netrk.net','netrk.net',NULL);\nINSERT INTO tracker_domains VALUES('netseer','netseer.com',NULL);\nINSERT INTO tracker_domains VALUES('netshelter','netshelter.net',NULL);\nINSERT INTO tracker_domains VALUES('netsprint_audience','nsaudience.pl',NULL);\nINSERT INTO tracker_domains VALUES('networkedblogs','nwidget.networkedblogs.com',NULL);\nINSERT INTO tracker_domains VALUES('neustar_adadvisor','adadvisor.net',NULL);\nINSERT INTO tracker_domains VALUES('new_relic','d1ros97qkrwjf5.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('new_relic','newrelic.com',NULL);\nINSERT INTO tracker_domains VALUES('new_relic','nr-data.net',NULL);\nINSERT INTO tracker_domains VALUES('newscgp.com','newscgp.com',NULL);\nINSERT INTO tracker_domains VALUES('newsmax','nmcdn.us',NULL);\nINSERT INTO tracker_domains VALUES('newstogram','newstogram.com',NULL);\nINSERT INTO tracker_domains VALUES('newsupdatedir.info','newsupdatedir.info',NULL);\nINSERT INTO tracker_domains VALUES('newsupdatewe.info','newsupdatewe.info',NULL);\nINSERT INTO tracker_domains VALUES('newtention','ads.newtention.net',NULL);\nINSERT INTO tracker_domains VALUES('newtention','ads.newtentionassets.net',NULL);\nINSERT INTO tracker_domains VALUES('nexage','nexage.com',NULL);\nINSERT INTO tracker_domains VALUES('nexeps.com','nexeps.com',NULL);\nINSERT INTO tracker_domains VALUES('nexon','ssl.nexon.com',NULL);\nINSERT INTO tracker_domains VALUES('nexon','public.api.nexon.com',NULL);\nINSERT INTO tracker_domains VALUES('next_performance','nxtck.com',NULL);\nINSERT INTO tracker_domains VALUES('next_user','track.nextuser.com',NULL);\nINSERT INTO tracker_domains VALUES('nextag_roi_optimizer','imgsrv.nextag.com',NULL);\nINSERT INTO tracker_domains VALUES('nextclick','nextclick.pl',NULL);\nINSERT INTO tracker_domains VALUES('nextmillmedia','cookies.nextmillmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('nextmillmedia','pbs.nextmillmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('nextstat','nextstat.com',NULL);\nINSERT INTO tracker_domains VALUES('nexx360','fast.nexx360.io',NULL);\nINSERT INTO tracker_domains VALUES('neytiv','d1d8vn0fpluuz7.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('ngage_inc.','ads.ngageinc.com',NULL);\nINSERT INTO tracker_domains VALUES('nhn_commerce','nhn-commerce.com',NULL);\nINSERT INTO tracker_domains VALUES('nhn_commerce','collector-statistics.nhn-commerce.com',NULL);\nINSERT INTO tracker_domains VALUES('nice264.com','nice264.com',NULL);\nINSERT INTO tracker_domains VALUES('nimblecommerce','nimblecommerce.com',NULL);\nINSERT INTO tracker_domains VALUES('ninja_access_analysis','cho-chin.com',NULL);\nINSERT INTO tracker_domains VALUES('ninja_access_analysis','donburako.com',NULL);\nINSERT INTO tracker_domains VALUES('ninja_access_analysis','hishaku.com',NULL);\nINSERT INTO tracker_domains VALUES('ninja_access_analysis','shinobi.jp',NULL);\nINSERT INTO tracker_domains VALUES('nirror','static.nirror.com',NULL);\nINSERT INTO tracker_domains VALUES('nitropay','nitropay.com',NULL);\nINSERT INTO tracker_domains VALUES('nk.pl_widgets','nk.pl',NULL);\nINSERT INTO tracker_domains VALUES('noaa.gov','noaa.gov',NULL);\nINSERT INTO tracker_domains VALUES('nocodelytics','tracker.nocodelytics.com',NULL);\nINSERT INTO tracker_domains VALUES('noddus','track.noddus.com',NULL);\nINSERT INTO tracker_domains VALUES('nolix','contextbar.ru',NULL);\nINSERT INTO tracker_domains VALUES('nonstop_consulting','trkme.net',NULL);\nINSERT INTO tracker_domains VALUES('noop.style','noop.style',NULL);\nINSERT INTO tracker_domains VALUES('norstat','norstatsurveys.com',NULL);\nINSERT INTO tracker_domains VALUES('nosto.com','nosto.com',NULL);\nINSERT INTO tracker_domains VALUES('nosto.com','stackla.com',NULL);\nINSERT INTO tracker_domains VALUES('notify','adleadevent.com',NULL);\nINSERT INTO tracker_domains VALUES('notifyfox','notifyfox.com',NULL);\nINSERT INTO tracker_domains VALUES('now_interact','nowinteract.com',NULL);\nINSERT INTO tracker_domains VALUES('npario','npario-inc.net',NULL);\nINSERT INTO tracker_domains VALUES('nplexmedia','nplexmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('nrelate','nrelate.com',NULL);\nINSERT INTO tracker_domains VALUES('ns8','ns8.com',NULL);\nINSERT INTO tracker_domains VALUES('nt.vc','nt.vc',NULL);\nINSERT INTO tracker_domains VALUES('ntent','featurelink.com',NULL);\nINSERT INTO tracker_domains VALUES('nttcom_online_marketing_solutions','tracer.jp',NULL);\nINSERT INTO tracker_domains VALUES('nuffnang','nuffnang.com',NULL);\nINSERT INTO tracker_domains VALUES('nugg.ad','nuggad.net',NULL);\nINSERT INTO tracker_domains VALUES('nui_media','rotator.adjuggler.com',NULL);\nINSERT INTO tracker_domains VALUES('numbers.md','numbers.md',NULL);\nINSERT INTO tracker_domains VALUES('numerator','channeliq.com',NULL);\nINSERT INTO tracker_domains VALUES('nyacampwk.com','nyacampwk.com',NULL);\nINSERT INTO tracker_domains VALUES('nyetm2mkch.com','nyetm2mkch.com',NULL);\nINSERT INTO tracker_domains VALUES('nyt.com','nyt.com',NULL);\nINSERT INTO tracker_domains VALUES('nyt.com','nytimes.com',NULL);\nINSERT INTO tracker_domains VALUES('o12zs3u2n.com','o12zs3u2n.com',NULL);\nINSERT INTO tracker_domains VALUES('o2.pl','o2.pl',NULL);\nINSERT INTO tracker_domains VALUES('o2online.de','o2online.de',NULL);\nINSERT INTO tracker_domains VALUES('oath_inc','oath.com',NULL);\nINSERT INTO tracker_domains VALUES('observer','observerapp.com',NULL);\nINSERT INTO tracker_domains VALUES('ocioso','ocioso.com.br',NULL);\nINSERT INTO tracker_domains VALUES('oclasrv.com','oclasrv.com',NULL);\nINSERT INTO tracker_domains VALUES('octapi.net','octapi.net',NULL);\nINSERT INTO tracker_domains VALUES('octavius','service.octavius.rocks',NULL);\nINSERT INTO tracker_domains VALUES('office.com','office.com',NULL);\nINSERT INTO tracker_domains VALUES('office.net','office.net',NULL);\nINSERT INTO tracker_domains VALUES('office365.com','office365.com',NULL);\nINSERT INTO tracker_domains VALUES('oghub.io','oghub.io',NULL);\nINSERT INTO tracker_domains VALUES('ogury','ogury.com',NULL);\nINSERT INTO tracker_domains VALUES('ogury','presage.io',NULL);\nINSERT INTO tracker_domains VALUES('oh_my_stats','ohmystats.com',NULL);\nINSERT INTO tracker_domains VALUES('ohana_advertising_network','adohana.com',NULL);\nINSERT INTO tracker_domains VALUES('okendo','api.okendo.io',NULL);\nINSERT INTO tracker_domains VALUES('okendo','cdn-static.okendo.io',NULL);\nINSERT INTO tracker_domains VALUES('okendo','surveys.okendo.io',NULL);\nINSERT INTO tracker_domains VALUES('olapic','photorank.me',NULL);\nINSERT INTO tracker_domains VALUES('olark','olark.com',NULL);\nINSERT INTO tracker_domains VALUES('olx-st.com','olx-st.com',NULL);\nINSERT INTO tracker_domains VALUES('olx-st.com','onap.io',NULL);\nINSERT INTO tracker_domains VALUES('omarsys.com','omarsys.com',NULL);\nINSERT INTO tracker_domains VALUES('ometria','ometria.com',NULL);\nINSERT INTO tracker_domains VALUES('omg','omgpm.com',NULL);\nINSERT INTO tracker_domains VALUES('omniconvert.com','omniconvert.com',NULL);\nINSERT INTO tracker_domains VALUES('omniscienta','omnidsp.com',NULL);\nINSERT INTO tracker_domains VALUES('omnisend','app.omnisend.com',NULL);\nINSERT INTO tracker_domains VALUES('omnisend','omnisnippet1.com',NULL);\nINSERT INTO tracker_domains VALUES('omnisend','wt.omnisendlink.com',NULL);\nINSERT INTO tracker_domains VALUES('omq','apo.omq.de',NULL);\nINSERT INTO tracker_domains VALUES('oms','oms.eu',NULL);\nINSERT INTO tracker_domains VALUES('oms','omsnative.de',NULL);\nINSERT INTO tracker_domains VALUES('onaudience','onaudience.com',NULL);\nINSERT INTO tracker_domains VALUES('ondics','analyse.ondics.de',NULL);\nINSERT INTO tracker_domains VALUES('oneall','btc-echode.api.oneall.com',NULL);\nINSERT INTO tracker_domains VALUES('onedollarstats','onedollarstats.com',NULL);\nINSERT INTO tracker_domains VALUES('onefeed','tracking.onefeed.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('onesignal','onesignal.com',NULL);\nINSERT INTO tracker_domains VALUES('onesignal','os.tc',NULL);\nINSERT INTO tracker_domains VALUES('onestat','stat.onestat.com',NULL);\nINSERT INTO tracker_domains VALUES('onet.pl','ocdn.eu',NULL);\nINSERT INTO tracker_domains VALUES('onet.pl','onet.pl',NULL);\nINSERT INTO tracker_domains VALUES('onetag','onetag.com',NULL);\nINSERT INTO tracker_domains VALUES('onetag','s-onetag.com',NULL);\nINSERT INTO tracker_domains VALUES('onetag','onetag-sys.com',NULL);\nINSERT INTO tracker_domains VALUES('onetrust','onetrust.com',NULL);\nINSERT INTO tracker_domains VALUES('onetrust','cookielaw.org',NULL);\nINSERT INTO tracker_domains VALUES('onetrust','cookiepro.com',NULL);\nINSERT INTO tracker_domains VALUES('onfocus.io','fogl1onf.com',NULL);\nINSERT INTO tracker_domains VALUES('onfocus.io','onfocus.io',NULL);\nINSERT INTO tracker_domains VALUES('onlinewebstat','onlinewebstat.com',NULL);\nINSERT INTO tracker_domains VALUES('onlinewebstat','onlinewebstats.com',NULL);\nINSERT INTO tracker_domains VALUES('onswipe','onswipe.com',NULL);\nINSERT INTO tracker_domains VALUES('onthe.io','onthe.io',NULL);\nINSERT INTO tracker_domains VALUES('ontraport_autopilot','moon-ray.com',NULL);\nINSERT INTO tracker_domains VALUES('ontraport_autopilot','moonraymarketing.com',NULL);\nINSERT INTO tracker_domains VALUES('ooyala.com','ooyala.com',NULL);\nINSERT INTO tracker_domains VALUES('open_adexchange','openadex.dk',NULL);\nINSERT INTO tracker_domains VALUES('open_share_count','opensharecount.com',NULL);\nINSERT INTO tracker_domains VALUES('openload','oloadcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('openload','openload.co',NULL);\nINSERT INTO tracker_domains VALUES('openstat','openstat.net',NULL);\nINSERT INTO tracker_domains VALUES('openstat','spylog.com',NULL);\nINSERT INTO tracker_domains VALUES('openstat','spylog.ru',NULL);\nINSERT INTO tracker_domains VALUES('opentracker','opentracker.net',NULL);\nINSERT INTO tracker_domains VALUES('openwebanalytics','openwebanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('openx','odnxs.net',NULL);\nINSERT INTO tracker_domains VALUES('openx','openx.net',NULL);\nINSERT INTO tracker_domains VALUES('openx','openx.org',NULL);\nINSERT INTO tracker_domains VALUES('openx','openxenterprise.com',NULL);\nINSERT INTO tracker_domains VALUES('openx','servedbyopenx.com',NULL);\nINSERT INTO tracker_domains VALUES('openx','openxcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('operative_media','adsummos.net',NULL);\nINSERT INTO tracker_domains VALUES('opinary','opinary.com',NULL);\nINSERT INTO tracker_domains VALUES('opinionbar','opinionbar.com',NULL);\nINSERT INTO tracker_domains VALUES('oplytic','emagazines.com',NULL);\nINSERT INTO tracker_domains VALUES('opta.net','opta.net',NULL);\nINSERT INTO tracker_domains VALUES('optable','cdn.optable.co',NULL);\nINSERT INTO tracker_domains VALUES('optable','cloud.optable.co',NULL);\nINSERT INTO tracker_domains VALUES('optable','edge.optable.co',NULL);\nINSERT INTO tracker_domains VALUES('optaim','optaim.com',NULL);\nINSERT INTO tracker_domains VALUES('optify','service.optify.net',NULL);\nINSERT INTO tracker_domains VALUES('optimatic','optimatic.com',NULL);\nINSERT INTO tracker_domains VALUES('optimax_media_delivery','optmd.com',NULL);\nINSERT INTO tracker_domains VALUES('optimicdn.com','optimicdn.com',NULL);\nINSERT INTO tracker_domains VALUES('optimizely','optimizely.com',NULL);\nINSERT INTO tracker_domains VALUES('optimizely','episerver.net',NULL);\nINSERT INTO tracker_domains VALUES('optimonk','optimonk.com',NULL);\nINSERT INTO tracker_domains VALUES('optinmonster','mstrlytcs.com',NULL);\nINSERT INTO tracker_domains VALUES('optinmonster','optmnstr.com',NULL);\nINSERT INTO tracker_domains VALUES('optinmonster','optmstr.com',NULL);\nINSERT INTO tracker_domains VALUES('optinmonster','optnmstr.com',NULL);\nINSERT INTO tracker_domains VALUES('optinmonster','omappapi.com',NULL);\nINSERT INTO tracker_domains VALUES('optinproject.com','optincollect.com',NULL);\nINSERT INTO tracker_domains VALUES('optomaton','volvelle.tech',NULL);\nINSERT INTO tracker_domains VALUES('ora.tv','ora.tv',NULL);\nINSERT INTO tracker_domains VALUES('oracle_live_help','instantservice.com',NULL);\nINSERT INTO tracker_domains VALUES('oracle_live_help','ts.istrack.com',NULL);\nINSERT INTO tracker_domains VALUES('oracle_rightnow','rightnowtech.com',NULL);\nINSERT INTO tracker_domains VALUES('oracle_rightnow','rnengage.com',NULL);\nINSERT INTO tracker_domains VALUES('orange','orange.fr',NULL);\nINSERT INTO tracker_domains VALUES('orange','orangeads.fr',NULL);\nINSERT INTO tracker_domains VALUES('orange142','ads.orange142.com',NULL);\nINSERT INTO tracker_domains VALUES('orange_france','wanadoo.fr',NULL);\nINSERT INTO tracker_domains VALUES('orangesoda','otracking.com',NULL);\nINSERT INTO tracker_domains VALUES('orc_international','emxdgt.com',NULL);\nINSERT INTO tracker_domains VALUES('order_groove','static.ordergroove.com',NULL);\nINSERT INTO tracker_domains VALUES('orel_site','orelsite.ru',NULL);\nINSERT INTO tracker_domains VALUES('osano','cmp.osano.com',NULL);\nINSERT INTO tracker_domains VALUES('otclick','otclick-adv.ru',NULL);\nINSERT INTO tracker_domains VALUES('othersearch.info','othersearch.info',NULL);\nINSERT INTO tracker_domains VALUES('otm-r.com','otm-r.com',NULL);\nINSERT INTO tracker_domains VALUES('otto.de','otto.de',NULL);\nINSERT INTO tracker_domains VALUES('otto.de','ottogroup.media',NULL);\nINSERT INTO tracker_domains VALUES('outbrain','outbrain.com',NULL);\nINSERT INTO tracker_domains VALUES('outbrain','outbrainimg.com',NULL);\nINSERT INTO tracker_domains VALUES('outgrow','outgrow.co',NULL);\nINSERT INTO tracker_domains VALUES('outgrow','outgrow.us',NULL);\nINSERT INTO tracker_domains VALUES('overheat.it','overheat.it',NULL);\nINSERT INTO tracker_domains VALUES('owa','oewabox.at',NULL);\nINSERT INTO tracker_domains VALUES('owneriq','owneriq.net',NULL);\nINSERT INTO tracker_domains VALUES('ownpage','ownpage.fr',NULL);\nINSERT INTO tracker_domains VALUES('owox.com','owox.com',NULL);\nINSERT INTO tracker_domains VALUES('oxamedia','adconnexa.com',NULL);\nINSERT INTO tracker_domains VALUES('oxamedia','adsbwm.com',NULL);\nINSERT INTO tracker_domains VALUES('oxomi.com','oxomi.com',NULL);\nINSERT INTO tracker_domains VALUES('ozone','ozoneproject.com',NULL);\nINSERT INTO tracker_domains VALUES('ozone','the-ozone-project.com',NULL);\nINSERT INTO tracker_domains VALUES('pageanalytics.space','pageanalytics.space',NULL);\nINSERT INTO tracker_domains VALUES('pagescience','ghmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('paid-to-promote','777seo.com',NULL);\nINSERT INTO tracker_domains VALUES('paid-to-promote','paid-to-promote.net',NULL);\nINSERT INTO tracker_domains VALUES('paid-to-promote','ptp22.com',NULL);\nINSERT INTO tracker_domains VALUES('paid-to-promote','ptp33.com',NULL);\nINSERT INTO tracker_domains VALUES('panasonic_avionics','pacwisp.net',NULL);\nINSERT INTO tracker_domains VALUES('panasonic_avionics','inflightpanasonic.aero',NULL);\nINSERT INTO tracker_domains VALUES('pangleglobal','analytics.pangle-ads.com',NULL);\nINSERT INTO tracker_domains VALUES('paperg','paperg.com',NULL);\nINSERT INTO tracker_domains VALUES('paradox','paradox.ai',NULL);\nINSERT INTO tracker_domains VALUES('pardot','pardot.com',NULL);\nINSERT INTO tracker_domains VALUES('parsely','d1z2jf7jlzjs58.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('parsely','parsely.com',NULL);\nINSERT INTO tracker_domains VALUES('partner-ads','partner-ads.com',NULL);\nINSERT INTO tracker_domains VALUES('passionfruit','passionfruitads.com',NULL);\nINSERT INTO tracker_domains VALUES('pathfactory','pathfactory.com',NULL);\nINSERT INTO tracker_domains VALUES('pathful','pathful.com',NULL);\nINSERT INTO tracker_domains VALUES('pay-hit','pay-hit.com',NULL);\nINSERT INTO tracker_domains VALUES('payclick','payclick.it',NULL);\nINSERT INTO tracker_domains VALUES('paykickstart','app.paykickstart.com',NULL);\nINSERT INTO tracker_domains VALUES('paypal','paypal.com',NULL);\nINSERT INTO tracker_domains VALUES('paypal','paypalobjects.com',NULL);\nINSERT INTO tracker_domains VALUES('pcvark.com','pcvark.com',NULL);\nINSERT INTO tracker_domains VALUES('peer39','peer39.com',NULL);\nINSERT INTO tracker_domains VALUES('peer39','peer39.net',NULL);\nINSERT INTO tracker_domains VALUES('peer5.com','peer5.com',NULL);\nINSERT INTO tracker_domains VALUES('peerius','peerius.com',NULL);\nINSERT INTO tracker_domains VALUES('pendo.io','pendo.io',NULL);\nINSERT INTO tracker_domains VALUES('pepper.com','pepper.com',NULL);\nINSERT INTO tracker_domains VALUES('pepperjam','gopjn.com',NULL);\nINSERT INTO tracker_domains VALUES('pepperjam','pjatr.com',NULL);\nINSERT INTO tracker_domains VALUES('pepperjam','pjtra.com',NULL);\nINSERT INTO tracker_domains VALUES('pepperjam','pntra.com',NULL);\nINSERT INTO tracker_domains VALUES('pepperjam','pntrac.com',NULL);\nINSERT INTO tracker_domains VALUES('pepperjam','pntrs.com',NULL);\nINSERT INTO tracker_domains VALUES('pepsia','player.pepsia.com',NULL);\nINSERT INTO tracker_domains VALUES('perfdrive.com','perfdrive.com',NULL);\nINSERT INTO tracker_domains VALUES('perfect_audience','perfectaudience.com',NULL);\nINSERT INTO tracker_domains VALUES('perfect_audience','prfct.co',NULL);\nINSERT INTO tracker_domains VALUES('perfect_market','perfectmarket.com',NULL);\nINSERT INTO tracker_domains VALUES('perform_group','performgroup.com',NULL);\nINSERT INTO tracker_domains VALUES('performable','analytics.performable.com',NULL);\nINSERT INTO tracker_domains VALUES('performancing_metrics','performancing.com',NULL);\nINSERT INTO tracker_domains VALUES('performax','performax.cz',NULL);\nINSERT INTO tracker_domains VALUES('perimeterx.net','perimeterx.net',NULL);\nINSERT INTO tracker_domains VALUES('perimeterx.net','px-cloud.net',NULL);\nINSERT INTO tracker_domains VALUES('perimeterx.net','pxchk.net',NULL);\nINSERT INTO tracker_domains VALUES('perimeterx.net','px-client.net',NULL);\nINSERT INTO tracker_domains VALUES('perimeterx.net','px-cdn.net',NULL);\nINSERT INTO tracker_domains VALUES('permutive','permutive.com',NULL);\nINSERT INTO tracker_domains VALUES('permutive','permutive.app',NULL);\nINSERT INTO tracker_domains VALUES('persgroep','persgroep.net',NULL);\nINSERT INTO tracker_domains VALUES('persianstat','persianstat.com',NULL);\nINSERT INTO tracker_domains VALUES('persio','code.pers.io',NULL);\nINSERT INTO tracker_domains VALUES('personyze','counter.personyze.com',NULL);\nINSERT INTO tracker_domains VALUES('pertento','pertento.ai',NULL);\nINSERT INTO tracker_domains VALUES('petametrics','petametrics.com',NULL);\nINSERT INTO tracker_domains VALUES('pexels','pexels.com',NULL);\nINSERT INTO tracker_domains VALUES('pheedo','ads.pheedo.com',NULL);\nINSERT INTO tracker_domains VALUES('phonalytics','app.phonalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('phunware','d2bgg7rjywcwsy.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('piano','piano.io',NULL);\nINSERT INTO tracker_domains VALUES('piano','ati-host.net',NULL);\nINSERT INTO tracker_domains VALUES('piano','aticdn.net',NULL);\nINSERT INTO tracker_domains VALUES('piano','xiti.com',NULL);\nINSERT INTO tracker_domains VALUES('piguiqproxy.com','piguiqproxy.com',NULL);\nINSERT INTO tracker_domains VALUES('pilot','trgt.eu',NULL);\nINSERT INTO tracker_domains VALUES('pingdom','pingdom.net',NULL);\nINSERT INTO tracker_domains VALUES('pinterest','pinimg.com',NULL);\nINSERT INTO tracker_domains VALUES('pinterest','pinterest.com',NULL);\nINSERT INTO tracker_domains VALUES('pipz','app.pipz.io',NULL);\nINSERT INTO tracker_domains VALUES('piwik','disabled.invalid',NULL);\nINSERT INTO tracker_domains VALUES('piwik_pro_analytics_suite','piwik.pro',NULL);\nINSERT INTO tracker_domains VALUES('piwik_pro_tag_manager','containers.piwik.pro',NULL);\nINSERT INTO tracker_domains VALUES('pixabay','pixabay.com',NULL);\nINSERT INTO tracker_domains VALUES('pixalate','adrta.com',NULL);\nINSERT INTO tracker_domains VALUES('pixel_union','app.pixelpop.co',NULL);\nINSERT INTO tracker_domains VALUES('pixfuture','pixfuture.net',NULL);\nINSERT INTO tracker_domains VALUES('pixfuture','vast1.pixfuture.com',NULL);\nINSERT INTO tracker_domains VALUES('piximedia','piximedia.com',NULL);\nINSERT INTO tracker_domains VALUES('pizzaandads_com','pizzaandads.com',NULL);\nINSERT INTO tracker_domains VALUES('placester','ads.placester.net',NULL);\nINSERT INTO tracker_domains VALUES('placester','d3uemyw1e5n0jw.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('pladform.ru','pladform.com',NULL);\nINSERT INTO tracker_domains VALUES('plan.net_experience_cloud','tag.bi.serviceplan.com',NULL);\nINSERT INTO tracker_domains VALUES('platform360','pfrm.co',NULL);\nINSERT INTO tracker_domains VALUES('platformone','impact-ad.jp',NULL);\nINSERT INTO tracker_domains VALUES('plausible_analytics','plausible.io',NULL);\nINSERT INTO tracker_domains VALUES('play_by_mamba','loveadvert.ru',NULL);\nINSERT INTO tracker_domains VALUES('playbuzz.com','playbuzz.com',NULL);\nINSERT INTO tracker_domains VALUES('playdigo','cs.playdigo.com',NULL);\nINSERT INTO tracker_domains VALUES('plenty_of_fish','pof.com',NULL);\nINSERT INTO tracker_domains VALUES('plex_metrics','analytics.plex.tv',NULL);\nINSERT INTO tracker_domains VALUES('plex_metrics','metrics.plex.tv',NULL);\nINSERT INTO tracker_domains VALUES('plista','plista.com',NULL);\nINSERT INTO tracker_domains VALUES('plugrush','plugrush.com',NULL);\nINSERT INTO tracker_domains VALUES('pluso.ru','pluso.ru',NULL);\nINSERT INTO tracker_domains VALUES('plutusads','plutusads.com',NULL);\nINSERT INTO tracker_domains VALUES('pmddby.com','pmddby.com',NULL);\nINSERT INTO tracker_domains VALUES('pnamic.com','pnamic.com',NULL);\nINSERT INTO tracker_domains VALUES('po.st','po.st',NULL);\nINSERT INTO tracker_domains VALUES('pocket','widgets.getpocket.com',NULL);\nINSERT INTO tracker_domains VALUES('pocketcents','pocketcents.com',NULL);\nINSERT INTO tracker_domains VALUES('pointific','pointificsecure.com',NULL);\nINSERT INTO tracker_domains VALUES('pointroll','pointroll.com',NULL);\nINSERT INTO tracker_domains VALUES('poirreleast.club','poirreleast.club',NULL);\nINSERT INTO tracker_domains VALUES('polar.me','mediavoice.com',NULL);\nINSERT INTO tracker_domains VALUES('polar.me','polar.me',NULL);\nINSERT INTO tracker_domains VALUES('polar.me','polarmobile.com',NULL);\nINSERT INTO tracker_domains VALUES('polldaddy','polldaddy.com',NULL);\nINSERT INTO tracker_domains VALUES('polyad','polyad.net',NULL);\nINSERT INTO tracker_domains VALUES('polyfill.io','polyfill.io',NULL);\nINSERT INTO tracker_domains VALUES('poool','api.poool.fr',NULL);\nINSERT INTO tracker_domains VALUES('poool','assets.poool.fr',NULL);\nINSERT INTO tracker_domains VALUES('poool','frontend.poool.fr',NULL);\nINSERT INTO tracker_domains VALUES('popads','popads.net',NULL);\nINSERT INTO tracker_domains VALUES('popads','popadscdn.net',NULL);\nINSERT INTO tracker_domains VALUES('popcash','popcash.net',NULL);\nINSERT INTO tracker_domains VALUES('popcorn_metrics','desv383oqqc0.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('popin.cc','popin.cc',NULL);\nINSERT INTO tracker_domains VALUES('popmyads','cdn.popmyads.com',NULL);\nINSERT INTO tracker_domains VALUES('poponclick','poponclick.com',NULL);\nINSERT INTO tracker_domains VALUES('populis','populis.com',NULL);\nINSERT INTO tracker_domains VALUES('populis','populisengage.com',NULL);\nINSERT INTO tracker_domains VALUES('pornhub','phncdn.com',NULL);\nINSERT INTO tracker_domains VALUES('pornhub','pornhub.com',NULL);\nINSERT INTO tracker_domains VALUES('pornwave','prscripts.com',NULL);\nINSERT INTO tracker_domains VALUES('pornwave','prstatics.com',NULL);\nINSERT INTO tracker_domains VALUES('pornwave','prwidgets.com',NULL);\nINSERT INTO tracker_domains VALUES('porta_brazil','barra.brasil.gov.br',NULL);\nINSERT INTO tracker_domains VALUES('post_affiliate_pro','postaffiliatepro.com',NULL);\nINSERT INTO tracker_domains VALUES('posthog','posthog.com',NULL);\nINSERT INTO tracker_domains VALUES('powerlinks','powerlinks.com',NULL);\nINSERT INTO tracker_domains VALUES('powerreviews','powerreviews.com',NULL);\nINSERT INTO tracker_domains VALUES('powr.io','powr.io',NULL);\nINSERT INTO tracker_domains VALUES('pozvonim','api.pozvonim.com',NULL);\nINSERT INTO tracker_domains VALUES('prebid','prebid.org',NULL);\nINSERT INTO tracker_domains VALUES('precisionclick','precisionclick.com',NULL);\nINSERT INTO tracker_domains VALUES('predicta','adserver.com.br',NULL);\nINSERT INTO tracker_domains VALUES('predicta','predicta.net',NULL);\nINSERT INTO tracker_domains VALUES('premonix','prnx.net',NULL);\nINSERT INTO tracker_domains VALUES('press','ppjol.com',NULL);\nINSERT INTO tracker_domains VALUES('press','ppjol.net',NULL);\nINSERT INTO tracker_domains VALUES('pressly','api.pressly.com',NULL);\nINSERT INTO tracker_domains VALUES('pricegrabber','pricegrabber.com',NULL);\nINSERT INTO tracker_domains VALUES('pricespider','cdn.pricespider.com',NULL);\nINSERT INTO tracker_domains VALUES('prismamediadigital.com','pmdrecrute.com',NULL);\nINSERT INTO tracker_domains VALUES('prismamediadigital.com','prismamediadigital.com',NULL);\nINSERT INTO tracker_domains VALUES('privy.com','privy.com',NULL);\nINSERT INTO tracker_domains VALUES('proclivity','pswec.com',NULL);\nINSERT INTO tracker_domains VALUES('prodperfect','prodperfect.com',NULL);\nINSERT INTO tracker_domains VALUES('productsup','lib.productsup.io',NULL);\nINSERT INTO tracker_domains VALUES('profiliad','proadsnet.com',NULL);\nINSERT INTO tracker_domains VALUES('profitmetrics','profitmetrics.io',NULL);\nINSERT INTO tracker_domains VALUES('profitshare','profitshare.ro',NULL);\nINSERT INTO tracker_domains VALUES('proformics','tracking.proformics.com',NULL);\nINSERT INTO tracker_domains VALUES('programattik','programattik.com',NULL);\nINSERT INTO tracker_domains VALUES('progress_sitefinity','api.insight.sitefinity.com',NULL);\nINSERT INTO tracker_domains VALUES('project_wonderful','projectwonderful.com',NULL);\nINSERT INTO tracker_domains VALUES('proofapi.com','proofapi.com',NULL);\nINSERT INTO tracker_domains VALUES('propel_marketing','propelmarketing.com',NULL);\nINSERT INTO tracker_domains VALUES('propeller_ads','oclaserver.com',NULL);\nINSERT INTO tracker_domains VALUES('propeller_ads','onclasrv.com',NULL);\nINSERT INTO tracker_domains VALUES('propeller_ads','onclickads.net',NULL);\nINSERT INTO tracker_domains VALUES('propeller_ads','onclkds.com',NULL);\nINSERT INTO tracker_domains VALUES('propeller_ads','propellerads.com',NULL);\nINSERT INTO tracker_domains VALUES('propeller_ads','propellerpops.com',NULL);\nINSERT INTO tracker_domains VALUES('propermedia','proper.io',NULL);\nINSERT INTO tracker_domains VALUES('props','st-a.props.id',NULL);\nINSERT INTO tracker_domains VALUES('propvideo_net','propvideo.net',NULL);\nINSERT INTO tracker_domains VALUES('prospecteye','tr.prospecteye.com',NULL);\nINSERT INTO tracker_domains VALUES('prosperent','prosperent.com',NULL);\nINSERT INTO tracker_domains VALUES('prostor','prostor-lite.ru',NULL);\nINSERT INTO tracker_domains VALUES('provide_support','providesupport.com',NULL);\nINSERT INTO tracker_domains VALUES('proximic','proximic.com',NULL);\nINSERT INTO tracker_domains VALUES('proxistore.com','proxistore.com',NULL);\nINSERT INTO tracker_domains VALUES('pscp.tv','pscp.tv',NULL);\nINSERT INTO tracker_domains VALUES('pstatic.net','pstatic.net',NULL);\nINSERT INTO tracker_domains VALUES('psyma','psyma.com',NULL);\nINSERT INTO tracker_domains VALUES('pt_engine','ptengine.jp',NULL);\nINSERT INTO tracker_domains VALUES('pub-fit','pub-fit.com',NULL);\nINSERT INTO tracker_domains VALUES('pub.network','pub.network',NULL);\nINSERT INTO tracker_domains VALUES('pubble','learnpipe.com',NULL);\nINSERT INTO tracker_domains VALUES('pubble','pubble.co',NULL);\nINSERT INTO tracker_domains VALUES('pubdirecte','pubdirecte.com',NULL);\nINSERT INTO tracker_domains VALUES('pubgears','pubgears.com',NULL);\nINSERT INTO tracker_domains VALUES('public_ideas','publicidees.com',NULL);\nINSERT INTO tracker_domains VALUES('publicidad.net','publicidad.net',NULL);\nINSERT INTO tracker_domains VALUES('publir','intgr.net',NULL);\nINSERT INTO tracker_domains VALUES('pubmatic','pubmatic.com',NULL);\nINSERT INTO tracker_domains VALUES('pubnation','pubnation.com',NULL);\nINSERT INTO tracker_domains VALUES('pubnub.com','pubnub.com',NULL);\nINSERT INTO tracker_domains VALUES('puboclic','puboclic.com',NULL);\nINSERT INTO tracker_domains VALUES('pulpix.com','pulpix.com',NULL);\nINSERT INTO tracker_domains VALUES('pulpo_media','tentaculos.net',NULL);\nINSERT INTO tracker_domains VALUES('pulse360','pulse360.com',NULL);\nINSERT INTO tracker_domains VALUES('pulse_insights','pulseinsights.com',NULL);\nINSERT INTO tracker_domains VALUES('pulsepoint','contextweb.com',NULL);\nINSERT INTO tracker_domains VALUES('pulsepoint','pulsepoint.com',NULL);\nINSERT INTO tracker_domains VALUES('punchtab','punchtab.com',NULL);\nINSERT INTO tracker_domains VALUES('purch','purch.com',NULL);\nINSERT INTO tracker_domains VALUES('purch','servebom.com',NULL);\nINSERT INTO tracker_domains VALUES('pure_chat','purechat.com',NULL);\nINSERT INTO tracker_domains VALUES('pureprofile','cdn.pprl.io',NULL);\nINSERT INTO tracker_domains VALUES('purlive','oopt.fr',NULL);\nINSERT INTO tracker_domains VALUES('puserving.com','puserving.com',NULL);\nINSERT INTO tracker_domains VALUES('push.world','push.world',NULL);\nINSERT INTO tracker_domains VALUES('push_engage','pushengage.com',NULL);\nINSERT INTO tracker_domains VALUES('pushame.com','pushame.com',NULL);\nINSERT INTO tracker_domains VALUES('pushbullet','zebra.pushbullet.com',NULL);\nINSERT INTO tracker_domains VALUES('pushcrew','pushcrew.com',NULL);\nINSERT INTO tracker_domains VALUES('pusher.com','pusher.com',NULL);\nINSERT INTO tracker_domains VALUES('pusher.com','pusherapp.com',NULL);\nINSERT INTO tracker_domains VALUES('pushnative.com','pushnative.com',NULL);\nINSERT INTO tracker_domains VALUES('pushnews','cdn.pushnews.eu',NULL);\nINSERT INTO tracker_domains VALUES('pushno.com','pushno.com',NULL);\nINSERT INTO tracker_domains VALUES('pushwhy.com','pushwhy.com',NULL);\nINSERT INTO tracker_domains VALUES('pushwoosh.com','pushwoosh.com',NULL);\nINSERT INTO tracker_domains VALUES('puzzel','puzzel.com',NULL);\nINSERT INTO tracker_domains VALUES('pvclouds.com','pvclouds.com',NULL);\nINSERT INTO tracker_domains VALUES('q1media','ads.q1media.com',NULL);\nINSERT INTO tracker_domains VALUES('q1media','q1mediahydraplatform.com',NULL);\nINSERT INTO tracker_domains VALUES('q_division','q-divisioncdn.de',NULL);\nINSERT INTO tracker_domains VALUES('qbaka','qbaka.net',NULL);\nINSERT INTO tracker_domains VALUES('qcri_analytics','track.qcri.org',NULL);\nINSERT INTO tracker_domains VALUES('qeado','collect.qeado.com',NULL);\nINSERT INTO tracker_domains VALUES('qihoo_360','s.lianmeng.360.cn',NULL);\nINSERT INTO tracker_domains VALUES('qq.com','qq.com',NULL);\nINSERT INTO tracker_domains VALUES('qrius','qrius.me',NULL);\nINSERT INTO tracker_domains VALUES('qualaroo','qualaroo.com',NULL);\nINSERT INTO tracker_domains VALUES('qualia','bluecava.com',NULL);\nINSERT INTO tracker_domains VALUES('qualified','qualified.com',NULL);\nINSERT INTO tracker_domains VALUES('qualtrics','qualtrics.com',NULL);\nINSERT INTO tracker_domains VALUES('quantcast','quantcast.com',NULL);\nINSERT INTO tracker_domains VALUES('quantcast','quantserve.com',NULL);\nINSERT INTO tracker_domains VALUES('quantcount','quantcount.com',NULL);\nINSERT INTO tracker_domains VALUES('quantum_metric','quantummetric.com',NULL);\nINSERT INTO tracker_domains VALUES('quartic.pl','quartic.pl',NULL);\nINSERT INTO tracker_domains VALUES('quartic.pl','quarticon.com',NULL);\nINSERT INTO tracker_domains VALUES('qubit','d3c3cq33003psk.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('qubit','qubit.com',NULL);\nINSERT INTO tracker_domains VALUES('qubit','goqubit.com',NULL);\nINSERT INTO tracker_domains VALUES('qubit','qubitproducts.com',NULL);\nINSERT INTO tracker_domains VALUES('questback','easyresearch.se',NULL);\nINSERT INTO tracker_domains VALUES('queue-it','queue-it.net',NULL);\nINSERT INTO tracker_domains VALUES('quick-counter.net','quick-counter.net',NULL);\nINSERT INTO tracker_domains VALUES('quigo_adsonar','adsonar.com',NULL);\nINSERT INTO tracker_domains VALUES('quinstreet','qnsr.com',NULL);\nINSERT INTO tracker_domains VALUES('quinstreet','quinstreet.com',NULL);\nINSERT INTO tracker_domains VALUES('quinstreet','thecounter.com',NULL);\nINSERT INTO tracker_domains VALUES('quintelligence','quintelligence.com',NULL);\nINSERT INTO tracker_domains VALUES('quisma','qservz.com',NULL);\nINSERT INTO tracker_domains VALUES('quisma','quisma.com',NULL);\nINSERT INTO tracker_domains VALUES('quora.com','quora.com',NULL);\nINSERT INTO tracker_domains VALUES('r_advertising','ads-digitalkeys.com',NULL);\nINSERT INTO tracker_domains VALUES('rackcdn.com','rackcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('radarurl','radarurl.com',NULL);\nINSERT INTO tracker_domains VALUES('radial','dsa.csdata1.com',NULL);\nINSERT INTO tracker_domains VALUES('radiumone','gwallet.com',NULL);\nINSERT INTO tracker_domains VALUES('radiumone','r1-cdn.net',NULL);\nINSERT INTO tracker_domains VALUES('raisenow','widget.raisenow.com',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_advertising','rakutenadvertising.io',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_display','mediaforge.com',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_display','rmtag.com',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_globalmarket','rakuten.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_globalmarket','trafficgate.net',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_globalmarket','tag.rmp.rakuten.com',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_widget','mtwidget04.affiliate.rakuten.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('rakuten_widget','xml.affilliate.rakuten.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('rambler','rambler.ru',NULL);\nINSERT INTO tracker_domains VALUES('rambler','top100.ru',NULL);\nINSERT INTO tracker_domains VALUES('rapidspike','rapidspike.com',NULL);\nINSERT INTO tracker_domains VALUES('ravelin','ravelin.com',NULL);\nINSERT INTO tracker_domains VALUES('rawgit','rawgit.com',NULL);\nINSERT INTO tracker_domains VALUES('raygun','raygun.io',NULL);\nINSERT INTO tracker_domains VALUES('rbc_counter','count.rbc.ru',NULL);\nINSERT INTO tracker_domains VALUES('rcs.it','rcs.it',NULL);\nINSERT INTO tracker_domains VALUES('rcs.it','rcsmediagroup.it',NULL);\nINSERT INTO tracker_domains VALUES('rd_station','d335luupugsy2.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('reachforce','d12ulf131zb0yj.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('reachforce','reachforce.com',NULL);\nINSERT INTO tracker_domains VALUES('reachjunction','reachjunction.com',NULL);\nINSERT INTO tracker_domains VALUES('reachlocal','cdn.rlets.com',NULL);\nINSERT INTO tracker_domains VALUES('reachlocal','reachlocal.com',NULL);\nINSERT INTO tracker_domains VALUES('reachlocal','reachlocallivechat.com',NULL);\nINSERT INTO tracker_domains VALUES('reachlocal','rlcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('reactful','plugin.reactful.com',NULL);\nINSERT INTO tracker_domains VALUES('reactivpub','reactivpub.fr',NULL);\nINSERT INTO tracker_domains VALUES('reactx','skinected.com',NULL);\nINSERT INTO tracker_domains VALUES('readerboard','readrboard.com',NULL);\nINSERT INTO tracker_domains VALUES('readme','readme.com',NULL);\nINSERT INTO tracker_domains VALUES('readme','readme.io',NULL);\nINSERT INTO tracker_domains VALUES('readspeaker.com','readspeaker.com',NULL);\nINSERT INTO tracker_domains VALUES('realclick','realclick.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('realperson.de','realperson.de',NULL);\nINSERT INTO tracker_domains VALUES('realtime','powermarketing.com',NULL);\nINSERT INTO tracker_domains VALUES('realtime','realtime.co',NULL);\nINSERT INTO tracker_domains VALUES('realtime','webspectator.com',NULL);\nINSERT INTO tracker_domains VALUES('realytics','dcniko1cv0rz.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('realytics','realytics.io',NULL);\nINSERT INTO tracker_domains VALUES('reamaze','reamaze.com',NULL);\nINSERT INTO tracker_domains VALUES('reamaze','reamaze.io',NULL);\nINSERT INTO tracker_domains VALUES('rebel_mouse','static.rbl.ms',NULL);\nINSERT INTO tracker_domains VALUES('receptiv','contxtful.com',NULL);\nINSERT INTO tracker_domains VALUES('receptiv','getreceptiv.com',NULL);\nINSERT INTO tracker_domains VALUES('receptiv','receptivity.io',NULL);\nINSERT INTO tracker_domains VALUES('recettes.net','recettes.net',NULL);\nINSERT INTO tracker_domains VALUES('recopick','static.recopick.com',NULL);\nINSERT INTO tracker_domains VALUES('recreativ','recreativ.ru',NULL);\nINSERT INTO tracker_domains VALUES('recruitics','analytics.recruitics.com',NULL);\nINSERT INTO tracker_domains VALUES('red_ventures','analytics.cohesionapps.com',NULL);\nINSERT INTO tracker_domains VALUES('red_ventures','cdn.cohesionapps.com',NULL);\nINSERT INTO tracker_domains VALUES('redblue_de','redblue.de',NULL);\nINSERT INTO tracker_domains VALUES('redcdn.pl','atendesoftware.pl',NULL);\nINSERT INTO tracker_domains VALUES('reddit','redd.it',NULL);\nINSERT INTO tracker_domains VALUES('reddit','reddit-image.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('reddit','reddit.com',NULL);\nINSERT INTO tracker_domains VALUES('reddit','redditmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('reddit','redditstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('redhelper','redhelper.ru',NULL);\nINSERT INTO tracker_domains VALUES('redlotus','pixelinteractivemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('redlotus','triggit.com',NULL);\nINSERT INTO tracker_domains VALUES('redtram','grt01.com',NULL);\nINSERT INTO tracker_domains VALUES('redtram','grt02.com',NULL);\nINSERT INTO tracker_domains VALUES('redtram','redtram.com',NULL);\nINSERT INTO tracker_domains VALUES('redtube.com','rdtcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('redtube.com','redtube.com',NULL);\nINSERT INTO tracker_domains VALUES('redux_media','reduxmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('redux_media','reduxmediagroup.com',NULL);\nINSERT INTO tracker_domains VALUES('reed_business_information','reedbusiness.net',NULL);\nINSERT INTO tracker_domains VALUES('reembed.com','reembed.com',NULL);\nINSERT INTO tracker_domains VALUES('reevoo.com','reevoo.com',NULL);\nINSERT INTO tracker_domains VALUES('refericon','refericon.pl',NULL);\nINSERT INTO tracker_domains VALUES('referlocal','ads.referlocal.com',NULL);\nINSERT INTO tracker_domains VALUES('refersion','refersion.com',NULL);\nINSERT INTO tracker_domains VALUES('refined_labs','refinedads.com',NULL);\nINSERT INTO tracker_domains VALUES('reflektion','product.reflektion.com',NULL);\nINSERT INTO tracker_domains VALUES('reformal','reformal.ru',NULL);\nINSERT INTO tracker_domains VALUES('reinvigorate','reinvigorate.net',NULL);\nINSERT INTO tracker_domains VALUES('rekko','convertglobal.com',NULL);\nINSERT INTO tracker_domains VALUES('rekko','convertglobal.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('rekko','dnhgz729v27ca.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('reklam_store','reklamstore.com',NULL);\nINSERT INTO tracker_domains VALUES('reklamport','ad.reklamport.com',NULL);\nINSERT INTO tracker_domains VALUES('reklamz','delivery.reklamz.com',NULL);\nINSERT INTO tracker_domains VALUES('rekmob','adimg.rekmob.com',NULL);\nINSERT INTO tracker_domains VALUES('relap','relap.io',NULL);\nINSERT INTO tracker_domains VALUES('relay42','svtrd.com',NULL);\nINSERT INTO tracker_domains VALUES('relay42','synovite-scripts.com',NULL);\nINSERT INTO tracker_domains VALUES('relay42','tdn.r42tag.com',NULL);\nINSERT INTO tracker_domains VALUES('relestar','relestar.com',NULL);\nINSERT INTO tracker_domains VALUES('relevant4.com','relevant4.com',NULL);\nINSERT INTO tracker_domains VALUES('relevant_digital','relevant-digital.com',NULL);\nINSERT INTO tracker_domains VALUES('remintrex','remintrex.com',NULL);\nINSERT INTO tracker_domains VALUES('remove.video','remove.video',NULL);\nINSERT INTO tracker_domains VALUES('report_uri','report-uri.com',NULL);\nINSERT INTO tracker_domains VALUES('repost.us','rp-api.com',NULL);\nINSERT INTO tracker_domains VALUES('republer.com','republer.com',NULL);\nINSERT INTO tracker_domains VALUES('res-meter','resmeter.respublica.al',NULL);\nINSERT INTO tracker_domains VALUES('research_now','researchnow.com',NULL);\nINSERT INTO tracker_domains VALUES('resonate_networks','reson8.com',NULL);\nINSERT INTO tracker_domains VALUES('respond','respondhq.com',NULL);\nINSERT INTO tracker_domains VALUES('responsetap','adinsight.com',NULL);\nINSERT INTO tracker_domains VALUES('responsetap','adinsight.eu',NULL);\nINSERT INTO tracker_domains VALUES('responsetap','responsetap.com',NULL);\nINSERT INTO tracker_domains VALUES('result_links','data.resultlinks.com',NULL);\nINSERT INTO tracker_domains VALUES('resultspage.com','sli-system.com',NULL);\nINSERT INTO tracker_domains VALUES('retailrocket.net','retailrocket.net',NULL);\nINSERT INTO tracker_domains VALUES('retailrocket.net','retailrocket.ru',NULL);\nINSERT INTO tracker_domains VALUES('retarget_app','shopify.retargetapp.com',NULL);\nINSERT INTO tracker_domains VALUES('retargeter_beacon','retargeter.com',NULL);\nINSERT INTO tracker_domains VALUES('retargeting.cl','retargeting.cl',NULL);\nINSERT INTO tracker_domains VALUES('retention_science','d1stxfv94hrhia.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('retention_science','waves.retentionscience.com',NULL);\nINSERT INTO tracker_domains VALUES('reuters_media','reutersmedia.net',NULL);\nINSERT INTO tracker_domains VALUES('revcontent','revcontent.com',NULL);\nINSERT INTO tracker_domains VALUES('reve_marketing','socialtwist.com',NULL);\nINSERT INTO tracker_domains VALUES('revenue','revenue.com',NULL);\nINSERT INTO tracker_domains VALUES('revenuehits','clkads.com',NULL);\nINSERT INTO tracker_domains VALUES('revenuehits','clkmon.com',NULL);\nINSERT INTO tracker_domains VALUES('revenuehits','clkrev.com',NULL);\nINSERT INTO tracker_domains VALUES('revenuehits','clksite.com',NULL);\nINSERT INTO tracker_domains VALUES('revenuehits','eclkspbn.com',NULL);\nINSERT INTO tracker_domains VALUES('revenuehits','imageshack.host',NULL);\nINSERT INTO tracker_domains VALUES('revenuemantra','revenuemantra.com',NULL);\nINSERT INTO tracker_domains VALUES('revive_adserver','revive-adserver.com',NULL);\nINSERT INTO tracker_domains VALUES('revlifter','revlifter.io',NULL);\nINSERT INTO tracker_domains VALUES('revolver_maps','revolvermaps.com',NULL);\nINSERT INTO tracker_domains VALUES('revresponse','cts.tradepub.com',NULL);\nINSERT INTO tracker_domains VALUES('revresponse','revresponse.com',NULL);\nINSERT INTO tracker_domains VALUES('rewords','incontext.pl',NULL);\nINSERT INTO tracker_domains VALUES('rewords','pl-engine.intextad.net',NULL);\nINSERT INTO tracker_domains VALUES('rhythmone','addesktop.com',NULL);\nINSERT INTO tracker_domains VALUES('rhythmone_beacon','1rx.io',NULL);\nINSERT INTO tracker_domains VALUES('ria.ru','ria.ru',NULL);\nINSERT INTO tracker_domains VALUES('rich_audience','s.richaudience.com',NULL);\nINSERT INTO tracker_domains VALUES('rich_audience','shb.richaudience.com',NULL);\nINSERT INTO tracker_domains VALUES('rich_audience','sync.richaudience.com',NULL);\nINSERT INTO tracker_domains VALUES('rich_media_banner_network','rmbn.ru',NULL);\nINSERT INTO tracker_domains VALUES('richrelevance','ics0.com',NULL);\nINSERT INTO tracker_domains VALUES('richrelevance','richrelevance.com',NULL);\nINSERT INTO tracker_domains VALUES('richrelevance','algorecs.com',NULL);\nINSERT INTO tracker_domains VALUES('ringier.ch','ringier.ch',NULL);\nINSERT INTO tracker_domains VALUES('rio_seo','meteorsolutions.com',NULL);\nINSERT INTO tracker_domains VALUES('rise','yellowblue.io',NULL);\nINSERT INTO tracker_domains VALUES('riskfield.com','riskified.com',NULL);\nINSERT INTO tracker_domains VALUES('rncdn3.com','rncdn3.com',NULL);\nINSERT INTO tracker_domains VALUES('ro2.biz','ro2.biz',NULL);\nINSERT INTO tracker_domains VALUES('roblox','rbxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('rockerbox','getrockerbox.com',NULL);\nINSERT INTO tracker_domains VALUES('rocket.ia','rocket.la',NULL);\nINSERT INTO tracker_domains VALUES('roi_trax','trk.sodoit.com',NULL);\nINSERT INTO tracker_domains VALUES('roistat','collector.roistat.com',NULL);\nINSERT INTO tracker_domains VALUES('rollad','rollad.ru',NULL);\nINSERT INTO tracker_domains VALUES('rollbar','rollbar.com',NULL);\nINSERT INTO tracker_domains VALUES('roost','get.roost.me',NULL);\nINSERT INTO tracker_domains VALUES('rooster','getrooster.com',NULL);\nINSERT INTO tracker_domains VALUES('roq.ad','rqtrk.eu',NULL);\nINSERT INTO tracker_domains VALUES('rotaban','rotaban.ru',NULL);\nINSERT INTO tracker_domains VALUES('routenplaner-karten.com','routenplaner-karten.com',NULL);\nINSERT INTO tracker_domains VALUES('rovion','rovion.com',NULL);\nINSERT INTO tracker_domains VALUES('rsspump','rsspump.com',NULL);\nINSERT INTO tracker_domains VALUES('rtb_house','creativecdn.com',NULL);\nINSERT INTO tracker_domains VALUES('rtb_house','esp.rtbhouse.com',NULL);\nINSERT INTO tracker_domains VALUES('rtblab','rvty.net',NULL);\nINSERT INTO tracker_domains VALUES('rtbsuperhub.com','rtbsuperhub.com',NULL);\nINSERT INTO tracker_domains VALUES('rtl_group','rtl.de',NULL);\nINSERT INTO tracker_domains VALUES('rtl_group','static-fra.de',NULL);\nINSERT INTO tracker_domains VALUES('rtl_group','technical-service.net',NULL);\nINSERT INTO tracker_domains VALUES('rtmark.net','rtmark.net',NULL);\nINSERT INTO tracker_domains VALUES('rubicon','dpclk.com',NULL);\nINSERT INTO tracker_domains VALUES('rubicon','mobsmith.com',NULL);\nINSERT INTO tracker_domains VALUES('rubicon','nearbyad.com',NULL);\nINSERT INTO tracker_domains VALUES('rubicon','rubiconproject.com',NULL);\nINSERT INTO tracker_domains VALUES('ruhrgebiet','tracker.ruhrgebiet-onlineservices.de',NULL);\nINSERT INTO tracker_domains VALUES('rummycircle','click.rummycircle.com',NULL);\nINSERT INTO tracker_domains VALUES('run','runadtag.com',NULL);\nINSERT INTO tracker_domains VALUES('run','rundsp.com',NULL);\nINSERT INTO tracker_domains VALUES('runative','un-syndicate.com',NULL);\nINSERT INTO tracker_domains VALUES('rune','cdn.secretrune.com',NULL);\nINSERT INTO tracker_domains VALUES('runmewivel.com','runmewivel.com',NULL);\nINSERT INTO tracker_domains VALUES('rythmxchange','rhythmxchange.com',NULL);\nINSERT INTO tracker_domains VALUES('s24_com','s24.com',NULL);\nINSERT INTO tracker_domains VALUES('s3xified.com','s3xified.com',NULL);\nINSERT INTO tracker_domains VALUES('sabavision','camp.sabavision.com',NULL);\nINSERT INTO tracker_domains VALUES('sagemetrics','sageanalyst.net',NULL);\nINSERT INTO tracker_domains VALUES('sailthru_horizon','sail-horizon.com',NULL);\nINSERT INTO tracker_domains VALUES('sailthru_horizon','sail-personalize.com',NULL);\nINSERT INTO tracker_domains VALUES('sailthru_horizon','sailthru.com',NULL);\nINSERT INTO tracker_domains VALUES('sailthru_horizon','api.sail-track.com',NULL);\nINSERT INTO tracker_domains VALUES('salecycle','d16fk4ms6rqz1v.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('salecycle','salecycle.com',NULL);\nINSERT INTO tracker_domains VALUES('sales_feed','api.salesfeed.com',NULL);\nINSERT INTO tracker_domains VALUES('sales_manago','salesmanago.com',NULL);\nINSERT INTO tracker_domains VALUES('sales_manago','salesmanago.pl',NULL);\nINSERT INTO tracker_domains VALUES('salesforce.com','force.com',NULL);\nINSERT INTO tracker_domains VALUES('salesforce.com','salesforce.com',NULL);\nINSERT INTO tracker_domains VALUES('salesforce_live_agent','liveagentforsalesforce.com',NULL);\nINSERT INTO tracker_domains VALUES('salesforce_live_agent','salesforceliveagent.com',NULL);\nINSERT INTO tracker_domains VALUES('salesfusion','msgapp.com',NULL);\nINSERT INTO tracker_domains VALUES('salesloft','salesloft.com',NULL);\nINSERT INTO tracker_domains VALUES('salespider_media','salespidermedia.com',NULL);\nINSERT INTO tracker_domains VALUES('salesviewer','salesviewer.com',NULL);\nINSERT INTO tracker_domains VALUES('salesviewer','gtmrkt.com',NULL);\nINSERT INTO tracker_domains VALUES('samba.tv','samba.tv',NULL);\nINSERT INTO tracker_domains VALUES('sanoma.fi','ilsemedia.nl',NULL);\nINSERT INTO tracker_domains VALUES('sanoma.fi','sanoma.fi',NULL);\nINSERT INTO tracker_domains VALUES('sap_crm','d13im3ek7neeqp.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sap_crm','d28ethi6slcjbm.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sap_crm','d2uevgmgh16uk4.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sap_crm','d3m83gvgzupli.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sap_crm','saas.seewhy.com',NULL);\nINSERT INTO tracker_domains VALUES('sap_sales_cloud','leadforce1.com',NULL);\nINSERT INTO tracker_domains VALUES('sap_sales_cloud','vlog.leadformix.com',NULL);\nINSERT INTO tracker_domains VALUES('sap_xm','sap-xm.org',NULL);\nINSERT INTO tracker_domains VALUES('sape.ru','sape.ru',NULL);\nINSERT INTO tracker_domains VALUES('sapo_ads','js.sl.pt',NULL);\nINSERT INTO tracker_domains VALUES('sas','aimatch.com',NULL);\nINSERT INTO tracker_domains VALUES('sas','sas.com',NULL);\nINSERT INTO tracker_domains VALUES('say.ac','say.ac',NULL);\nINSERT INTO tracker_domains VALUES('say_media','ads.saymedia.com',NULL);\nINSERT INTO tracker_domains VALUES('sayyac','srv.sayyac.net',NULL);\nINSERT INTO tracker_domains VALUES('scarabresearch','scarabresearch.com',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.com',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.io',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.se',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.fi',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.no',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.dk',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.news',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.media',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibstedmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibstedmedia.se',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibstedmedia.no',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibstedmedia.fi',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibstedmedia.dk',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','schibsted.lol',NULL);\nINSERT INTO tracker_domains VALUES('schibsted','plan3.se',NULL);\nINSERT INTO tracker_domains VALUES('schneevonmorgen.com','schneevonmorgen.com',NULL);\nINSERT INTO tracker_domains VALUES('schneevonmorgen.com','svonm.com',NULL);\nINSERT INTO tracker_domains VALUES('scoota','rockabox.co',NULL);\nINSERT INTO tracker_domains VALUES('scorecard_research_beacon','scorecardresearch.com',NULL);\nINSERT INTO tracker_domains VALUES('scorecard_research_beacon','scoreresearch.com',NULL);\nINSERT INTO tracker_domains VALUES('scorecard_research_beacon','scrsrch.com',NULL);\nINSERT INTO tracker_domains VALUES('scorecard_research_beacon','securestudies.com',NULL);\nINSERT INTO tracker_domains VALUES('scout_analytics','scout.scoutanalytics.net',NULL);\nINSERT INTO tracker_domains VALUES('scribblelive','scribblelive.com',NULL);\nINSERT INTO tracker_domains VALUES('scribol','scribol.com',NULL);\nINSERT INTO tracker_domains VALUES('scripps_analytics','analytics.snidigital.com',NULL);\nINSERT INTO tracker_domains VALUES('scroll','scroll.com',NULL);\nINSERT INTO tracker_domains VALUES('scupio','scupio.com',NULL);\nINSERT INTO tracker_domains VALUES('search123','search123.uk.com',NULL);\nINSERT INTO tracker_domains VALUES('searchforce','searchforce.net',NULL);\nINSERT INTO tracker_domains VALUES('searchignite','searchignite.com',NULL);\nINSERT INTO tracker_domains VALUES('searchrev','srtk.net',NULL);\nINSERT INTO tracker_domains VALUES('second_media','tacticalrepublic.com',NULL);\nINSERT INTO tracker_domains VALUES('securedtouch','securedtouch.com',NULL);\nINSERT INTO tracker_domains VALUES('securedvisit','securedvisit.com',NULL);\nINSERT INTO tracker_domains VALUES('securiti','securiti.ai',NULL);\nINSERT INTO tracker_domains VALUES('seeding_alliance','bacontent.de',NULL);\nINSERT INTO tracker_domains VALUES('seeding_alliance','nativendo.de',NULL);\nINSERT INTO tracker_domains VALUES('seedtag.com','seedtag.com',NULL);\nINSERT INTO tracker_domains VALUES('seevolution','svlu.net',NULL);\nINSERT INTO tracker_domains VALUES('segment','d2dq2ahtl5zl1z.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('segment','d47xnnr8b1rki.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('segment','segment.com',NULL);\nINSERT INTO tracker_domains VALUES('segment','segment.io',NULL);\nINSERT INTO tracker_domains VALUES('segment','t.arcade.show',NULL);\nINSERT INTO tracker_domains VALUES('segment','segmentapis.com',NULL);\nINSERT INTO tracker_domains VALUES('segmento','rutarget.ru',NULL);\nINSERT INTO tracker_domains VALUES('segmint','segmint.net',NULL);\nINSERT INTO tracker_domains VALUES('sekindo','sekindo.com',NULL);\nINSERT INTO tracker_domains VALUES('sellpoints','sellpoint.net',NULL);\nINSERT INTO tracker_domains VALUES('sellpoints','sellpoints.com',NULL);\nINSERT INTO tracker_domains VALUES('semantiqo.com','semantiqo.com',NULL);\nINSERT INTO tracker_domains VALUES('semasio','semasio.net',NULL);\nINSERT INTO tracker_domains VALUES('semilo','semilo.com',NULL);\nINSERT INTO tracker_domains VALUES('semknox.com','semknox.com',NULL);\nINSERT INTO tracker_domains VALUES('sendinblue','sibautomation.com',NULL);\nINSERT INTO tracker_domains VALUES('sendpulse.com','sendpulse.com',NULL);\nINSERT INTO tracker_domains VALUES('sendsay','sendsay.ru',NULL);\nINSERT INTO tracker_domains VALUES('sense_digital','track.sensedigital.in',NULL);\nINSERT INTO tracker_domains VALUES('sensors_data','static.sensorsdata.cn',NULL);\nINSERT INTO tracker_domains VALUES('sentifi.com','sentifi.com',NULL);\nINSERT INTO tracker_domains VALUES('sentry','d3nslu0hdya83q.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sentry','getsentry.com',NULL);\nINSERT INTO tracker_domains VALUES('sentry','ravenjs.com',NULL);\nINSERT INTO tracker_domains VALUES('sentry','sentry.io',NULL);\nINSERT INTO tracker_domains VALUES('sentry','sentry-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('sepyra','sepyra.com',NULL);\nINSERT INTO tracker_domains VALUES('sessioncam','d2oh4tlt9mrke9.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sessioncam','sessioncam.com',NULL);\nINSERT INTO tracker_domains VALUES('sessionly','sessionly.io',NULL);\nINSERT INTO tracker_domains VALUES('sevenone_media','71i.de',NULL);\nINSERT INTO tracker_domains VALUES('sexadnetwork','sexad.net',NULL);\nINSERT INTO tracker_domains VALUES('sexinyourcity','ads.sexinyourcity.com',NULL);\nINSERT INTO tracker_domains VALUES('sextracker','sextracker.com',NULL);\nINSERT INTO tracker_domains VALUES('sexypartners.net','sexypartners.net',NULL);\nINSERT INTO tracker_domains VALUES('seznam','im.cz',NULL);\nINSERT INTO tracker_domains VALUES('seznam','imedia.cz',NULL);\nINSERT INTO tracker_domains VALUES('seznam','szn.cz',NULL);\nINSERT INTO tracker_domains VALUES('shareaholic','dtym7iokkjlif.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('shareaholic','shareaholic.com',NULL);\nINSERT INTO tracker_domains VALUES('shareasale','shareasale.com',NULL);\nINSERT INTO tracker_domains VALUES('sharecompany','quintrics.nl',NULL);\nINSERT INTO tracker_domains VALUES('sharecompany','sharecompany.nl',NULL);\nINSERT INTO tracker_domains VALUES('sharepoint','sharepointonline.com',NULL);\nINSERT INTO tracker_domains VALUES('sharethis','sharethis.com',NULL);\nINSERT INTO tracker_domains VALUES('sharethrough','shareth.ru',NULL);\nINSERT INTO tracker_domains VALUES('sharethrough','sharethrough.com',NULL);\nINSERT INTO tracker_domains VALUES('sharpspring','marketingautomation.services',NULL);\nINSERT INTO tracker_domains VALUES('sharpspring','sharpspring.com',NULL);\nINSERT INTO tracker_domains VALUES('sheego.de','sheego.de',NULL);\nINSERT INTO tracker_domains VALUES('sheerid','services.sheerid.com',NULL);\nINSERT INTO tracker_domains VALUES('shillahotel','logc.shilladfs.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_ai','shinhanai.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_bank','shinhan.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_capital','shcap.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_card','shinhancard.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_credit_information','shinhanci.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_ds','shinhands.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_ez_general_insurance','shinhanez.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_fund','shinhanfund.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_fund_partners','shinhanfundpartners.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_life_insurance','shinhanlife.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_life_insurance','shinhanlifevn.com.vn',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_reits_management','shinhanrem.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_savings','shinhansavings.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_securities','shinhansec.com',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_trust','shinhantrust.kr',NULL);\nINSERT INTO tracker_domains VALUES('shinhan_vc','shinhanvc.com',NULL);\nINSERT INTO tracker_domains VALUES('shinsegae','www.shinsegae.com',NULL);\nINSERT INTO tracker_domains VALUES('shinsegae_dutyfree','ssgdfs.com',NULL);\nINSERT INTO tracker_domains VALUES('shinsegae_dutyfree','applog.ssgdfs.com',NULL);\nINSERT INTO tracker_domains VALUES('shinystat','shinystat.com',NULL);\nINSERT INTO tracker_domains VALUES('shinystat','shinystat.it',NULL);\nINSERT INTO tracker_domains VALUES('shogun','i.shgcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('shogun','a.shgcdn2.com',NULL);\nINSERT INTO tracker_domains VALUES('shogun_analytics','na.shgcdn3.com',NULL);\nINSERT INTO tracker_domains VALUES('shop_app','shop.app',NULL);\nINSERT INTO tracker_domains VALUES('shop_target','app.shoptarget.com.br',NULL);\nINSERT INTO tracker_domains VALUES('shop_target','retargeter.com.br',NULL);\nINSERT INTO tracker_domains VALUES('shopauskunft.de','shopauskunft.de',NULL);\nINSERT INTO tracker_domains VALUES('shopgate.com','shopgate.com',NULL);\nINSERT INTO tracker_domains VALUES('shopify_stats','shopify.com',NULL);\nINSERT INTO tracker_domains VALUES('shopify_stats','stats.myshopify.com',NULL);\nINSERT INTO tracker_domains VALUES('shopifycdn.com','shopifycdn.com',NULL);\nINSERT INTO tracker_domains VALUES('shopifycdn.com','cdn.shopify.com',NULL);\nINSERT INTO tracker_domains VALUES('shopifycdn.com','shopifysvc.com',NULL);\nINSERT INTO tracker_domains VALUES('shopifycloud.com','shopifycloud.com',NULL);\nINSERT INTO tracker_domains VALUES('shopper_approved','shopperapproved.com',NULL);\nINSERT INTO tracker_domains VALUES('shopping_com','shoppingshadow.com',NULL);\nINSERT INTO tracker_domains VALUES('shopping_flux','tracking.shopping-flux.com',NULL);\nINSERT INTO tracker_domains VALUES('shoprunner','shoprunner.com',NULL);\nINSERT INTO tracker_domains VALUES('shopsocially','shopsocially.com',NULL);\nINSERT INTO tracker_domains VALUES('shopzilla','shopzilla.com',NULL);\nINSERT INTO tracker_domains VALUES('shortnews','shortnews.de',NULL);\nINSERT INTO tracker_domains VALUES('shrink','shink.in',NULL);\nINSERT INTO tracker_domains VALUES('shutterstock','shutterstock.com',NULL);\nINSERT INTO tracker_domains VALUES('siblesectiveal.club','siblesectiveal.club',NULL);\nINSERT INTO tracker_domains VALUES('sidecar','d3v27wwd40f0xu.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sidecar','getsidecar.com',NULL);\nINSERT INTO tracker_domains VALUES('sift_science','dtlilztwypawv.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sift_science','siftscience.com',NULL);\nINSERT INTO tracker_domains VALUES('signal','btstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('signal','signal.co',NULL);\nINSERT INTO tracker_domains VALUES('signal','thebrighttag.com',NULL);\nINSERT INTO tracker_domains VALUES('signifyd','cdn-scripts.signifyd.com',NULL);\nINSERT INTO tracker_domains VALUES('signifyd','signifyd.com',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','gw-services.vtrenz.net',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','mkt51.net',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','mkt912.com',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','mkt922.com',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','mkt941.com',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','pages01.net',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','pages02.net',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','pages04.net',NULL);\nINSERT INTO tracker_domains VALUES('silverpop','pages05.net',NULL);\nINSERT INTO tracker_domains VALUES('similardeals.net','similardeals.net',NULL);\nINSERT INTO tracker_domains VALUES('simple_analytics','scripts.simpleanalyticscdn.com',NULL);\nINSERT INTO tracker_domains VALUES('simple_analytics','queue.simpleanalyticscdn.com',NULL);\nINSERT INTO tracker_domains VALUES('simplereach','d8rk54i4mohrb.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('simplereach','simplereach.com',NULL);\nINSERT INTO tracker_domains VALUES('simpli.fi','simpli.fi',NULL);\nINSERT INTO tracker_domains VALUES('sina_cdn','sinaimg.cn',NULL);\nINSERT INTO tracker_domains VALUES('singlefeed','reporting.singlefeed.com',NULL);\nINSERT INTO tracker_domains VALUES('singular','singular.net',NULL);\nINSERT INTO tracker_domains VALUES('sirdata','sddan.com',NULL);\nINSERT INTO tracker_domains VALUES('site24x7','site24x7rum.com',NULL);\nINSERT INTO tracker_domains VALUES('site24x7','site24x7rum.eu',NULL);\nINSERT INTO tracker_domains VALUES('site_booster','sitebooster-fjfmworld-production.azureedge.net',NULL);\nINSERT INTO tracker_domains VALUES('site_stratos','a5.ogt.jp',NULL);\nINSERT INTO tracker_domains VALUES('siteapps','siteapps.com',NULL);\nINSERT INTO tracker_domains VALUES('sitebro','sitebro.com',NULL);\nINSERT INTO tracker_domains VALUES('sitebro','sitebro.com.tw',NULL);\nINSERT INTO tracker_domains VALUES('sitebro','sitebro.net',NULL);\nINSERT INTO tracker_domains VALUES('sitebro','sitebro.tw',NULL);\nINSERT INTO tracker_domains VALUES('sitecore_cloud','sitecorecloud.io',NULL);\nINSERT INTO tracker_domains VALUES('sitecore_cloud','sitecorecontenthub.cloud',NULL);\nINSERT INTO tracker_domains VALUES('siteheart','siteheart.com',NULL);\nINSERT INTO tracker_domains VALUES('siteimprove','siteimprove.com',NULL);\nINSERT INTO tracker_domains VALUES('siteimprove_analytics','siteimproveanalytics.com',NULL);\nINSERT INTO tracker_domains VALUES('siteimprove_analytics','siteimproveanalytics.io',NULL);\nINSERT INTO tracker_domains VALUES('sitelabweb.com','sitelabweb.com',NULL);\nINSERT INTO tracker_domains VALUES('sitemeter','sitemeter.com',NULL);\nINSERT INTO tracker_domains VALUES('sitescout','pixel.ad',NULL);\nINSERT INTO tracker_domains VALUES('sitescout','sitescout.com',NULL);\nINSERT INTO tracker_domains VALUES('sitetag','ad.sitemaji.com',NULL);\nINSERT INTO tracker_domains VALUES('sitetag','sitetag.us',NULL);\nINSERT INTO tracker_domains VALUES('sitewit','analytics.sitewit.com',NULL);\nINSERT INTO tracker_domains VALUES('six_apart_advertising','ads.sixapart.com',NULL);\nINSERT INTO tracker_domains VALUES('sixt-neuwagen.de','sixt-neuwagen.de',NULL);\nINSERT INTO tracker_domains VALUES('skadtec.com','skadtec.com',NULL);\nINSERT INTO tracker_domains VALUES('skimlinks','redirectingat.com',NULL);\nINSERT INTO tracker_domains VALUES('skimlinks','skimlinks.com',NULL);\nINSERT INTO tracker_domains VALUES('skimlinks','skimresources.com',NULL);\nINSERT INTO tracker_domains VALUES('skroutz','analytics.skroutz.gr',NULL);\nINSERT INTO tracker_domains VALUES('skyglue','skyglue.com',NULL);\nINSERT INTO tracker_domains VALUES('skype','skype.com',NULL);\nINSERT INTO tracker_domains VALUES('skype','skypeassets.com',NULL);\nINSERT INTO tracker_domains VALUES('skysa','skysa.com',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.net',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.pt',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.qa',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.ae',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.at',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.fr',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.au',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.ro',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.sa',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.br',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.se',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.sg',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.ca',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.ch',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','tianxun.com',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.co.th',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.cz',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.tr',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.de',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.tw',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.dk',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.ua',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.eg',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.es',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.vn',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.fi',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.gg',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.hk',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.hu',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.co.id',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.ie',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.co.il',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.co.in',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.co.za',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.it',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.jp',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.mx',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.my',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.nl',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.no',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.co.nz',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.com.ph',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.pk',NULL);\nINSERT INTO tracker_domains VALUES('skyscanner','skyscanner.pl',NULL);\nINSERT INTO tracker_domains VALUES('skyscnr.com','skyscnr.com',NULL);\nINSERT INTO tracker_domains VALUES('slashdot_widget','slashdot.org',NULL);\nINSERT INTO tracker_domains VALUES('sleeknote','sleeknote.com',NULL);\nINSERT INTO tracker_domains VALUES('sli_systems','resultspage.com',NULL);\nINSERT INTO tracker_domains VALUES('slice_factory','builder.extensionfactory.com',NULL);\nINSERT INTO tracker_domains VALUES('slimcutmedia','freeskreen.com',NULL);\nINSERT INTO tracker_domains VALUES('slingpic','slingpic.com',NULL);\nINSERT INTO tracker_domains VALUES('smaato','smaato.net',NULL);\nINSERT INTO tracker_domains VALUES('smart4ads','smart4ads.com',NULL);\nINSERT INTO tracker_domains VALUES('smart_adserver','sascdn.com',NULL);\nINSERT INTO tracker_domains VALUES('smart_adserver','smartadserver.com',NULL);\nINSERT INTO tracker_domains VALUES('smart_adserver','styria-digital.com',NULL);\nINSERT INTO tracker_domains VALUES('smart_adserver','yoc-adserver.com',NULL);\nINSERT INTO tracker_domains VALUES('smart_call','smartcall.kz',NULL);\nINSERT INTO tracker_domains VALUES('smart_content','getsmartcontent.com',NULL);\nINSERT INTO tracker_domains VALUES('smart_device_media','smartdevicemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('smart_leads','x.cnt.my',NULL);\nINSERT INTO tracker_domains VALUES('smart_selling','tracking.smartselling.cz',NULL);\nINSERT INTO tracker_domains VALUES('smartad','bepolite.eu',NULL);\nINSERT INTO tracker_domains VALUES('smartbn','smartbn.ru',NULL);\nINSERT INTO tracker_domains VALUES('smartclick.net','smartclick.net',NULL);\nINSERT INTO tracker_domains VALUES('smartclip','smartclip.net',NULL);\nINSERT INTO tracker_domains VALUES('smartcontext','smartcontext.pl',NULL);\nINSERT INTO tracker_domains VALUES('smarter_remarketer','d1n00d49gkbray.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('smarter_remarketer','dhxtx5wtu812h.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('smarter_travel','smartertravel.com',NULL);\nINSERT INTO tracker_domains VALUES('smarter_travel','travelsmarter.net',NULL);\nINSERT INTO tracker_domains VALUES('smarterclick','smct.co',NULL);\nINSERT INTO tracker_domains VALUES('smartertrack','smartertrack.com',NULL);\nINSERT INTO tracker_domains VALUES('smartlink.cool','smartlink.cool',NULL);\nINSERT INTO tracker_domains VALUES('smartlog','smlog.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('smartlook','getsmartlook.com',NULL);\nINSERT INTO tracker_domains VALUES('smartlook','smartlook.com',NULL);\nINSERT INTO tracker_domains VALUES('smartseer','cdn.smartseer.com',NULL);\nINSERT INTO tracker_domains VALUES('smartstream.tv','smartstream.tv',NULL);\nINSERT INTO tracker_domains VALUES('smartsupp_chat','smartsuppchat.com',NULL);\nINSERT INTO tracker_domains VALUES('smartsupp_chat','smartsuppcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('smi2.ru','smi2.net',NULL);\nINSERT INTO tracker_domains VALUES('smi2.ru','smi2.ru',NULL);\nINSERT INTO tracker_domains VALUES('smi2.ru','stat.media',NULL);\nINSERT INTO tracker_domains VALUES('smile_wanted','csync.smilewanted.com',NULL);\nINSERT INTO tracker_domains VALUES('smile_wanted','prebid.smilewanted.com',NULL);\nINSERT INTO tracker_domains VALUES('smile_wanted','static.smilewanted.com',NULL);\nINSERT INTO tracker_domains VALUES('smooch','cdn.smooch.io',NULL);\nINSERT INTO tracker_domains VALUES('smowtion','smowtion.com',NULL);\nINSERT INTO tracker_domains VALUES('smx_ventures','smxindia.in',NULL);\nINSERT INTO tracker_domains VALUES('smyte','smyte.com',NULL);\nINSERT INTO tracker_domains VALUES('snacktv','snacktv.de',NULL);\nINSERT INTO tracker_domains VALUES('snap','snap.com',NULL);\nINSERT INTO tracker_domains VALUES('snap_engage','snapengage.com',NULL);\nINSERT INTO tracker_domains VALUES('snapchat','sc-static.net',NULL);\nINSERT INTO tracker_domains VALUES('snapchat','snapchat.com',NULL);\nINSERT INTO tracker_domains VALUES('snigelweb','h-bid.com',NULL);\nINSERT INTO tracker_domains VALUES('snitcher','snitcher.com',NULL);\nINSERT INTO tracker_domains VALUES('snoobi','eu2.snoobi.eu',NULL);\nINSERT INTO tracker_domains VALUES('snoobi_analytics','snoobi.com',NULL);\nINSERT INTO tracker_domains VALUES('snowplow','d346whrrklhco7.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('snowplow','d78fikflryjgj.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('snowplow','dc8xl0ndzn2cb.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('snowplow','playwire.com',NULL);\nINSERT INTO tracker_domains VALUES('snowplow','snplow.net',NULL);\nINSERT INTO tracker_domains VALUES('soasta_mpulse','go-mpulse.net',NULL);\nINSERT INTO tracker_domains VALUES('soasta_mpulse','mpstat.us',NULL);\nINSERT INTO tracker_domains VALUES('soasta_mpulse','tiaa-cref.org',NULL);\nINSERT INTO tracker_domains VALUES('sociable_labs','sociablelabs.com',NULL);\nINSERT INTO tracker_domains VALUES('social_amp','socialamp.com',NULL);\nINSERT INTO tracker_domains VALUES('social_annex','socialannex.com',NULL);\nINSERT INTO tracker_domains VALUES('social_miner','soclminer.com.br',NULL);\nINSERT INTO tracker_domains VALUES('social_native','olapic-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('socialbeat','duu8lzqdm8tsz.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('socialhead_socialwidget','socialhead.io',NULL);\nINSERT INTO tracker_domains VALUES('socialhead_socialwidget','widget-api.socialhead.io',NULL);\nINSERT INTO tracker_domains VALUES('socialrms','ratevoice.com',NULL);\nINSERT INTO tracker_domains VALUES('socialsnowball','api.socialsnowball.io',NULL);\nINSERT INTO tracker_domains VALUES('sociaplus.com','sociaplus.com',NULL);\nINSERT INTO tracker_domains VALUES('sociomantic','sociomantic.com',NULL);\nINSERT INTO tracker_domains VALUES('sohu','images.sohu.com',NULL);\nINSERT INTO tracker_domains VALUES('sojern','sojern.com',NULL);\nINSERT INTO tracker_domains VALUES('sokrati','sokrati.com',NULL);\nINSERT INTO tracker_domains VALUES('solads.media','solads.media',NULL);\nINSERT INTO tracker_domains VALUES('solidopinion','solidopinion.com',NULL);\nINSERT INTO tracker_domains VALUES('solve_media','pixel.solvemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('soma_2','soma2.de',NULL);\nINSERT INTO tracker_domains VALUES('somoaudience','mobileadtrading.com',NULL);\nINSERT INTO tracker_domains VALUES('sonobi','sonobi.com',NULL);\nINSERT INTO tracker_domains VALUES('sophus3','sophus3.com',NULL);\nINSERT INTO tracker_domains VALUES('sortable','deployads.com',NULL);\nINSERT INTO tracker_domains VALUES('soundcloud','sndcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('soundcloud','soundcloud.com',NULL);\nINSERT INTO tracker_domains VALUES('source_defense','sdiapi.com',NULL);\nINSERT INTO tracker_domains VALUES('source_defense','sdiapi.net',NULL);\nINSERT INTO tracker_domains VALUES('sourceknowledge_pixel','provenpixel.com',NULL);\nINSERT INTO tracker_domains VALUES('sourcepoint-cmp','privacy-mgmt.com',NULL);\nINSERT INTO tracker_domains VALUES('sourcepoint','decenthat.com',NULL);\nINSERT INTO tracker_domains VALUES('sourcepoint','summerhamster.com',NULL);\nINSERT INTO tracker_domains VALUES('sovrn','d3pkae9owd2lcf.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('sovrn','lijit.com',NULL);\nINSERT INTO tracker_domains VALUES('sovrn_viewability_solutions','onscroll.com',NULL);\nINSERT INTO tracker_domains VALUES('spark_studios','rts.sparkstudios.com',NULL);\nINSERT INTO tracker_domains VALUES('sparkasse.de','sparkasse.de',NULL);\nINSERT INTO tracker_domains VALUES('speakpipe','speakpipe.com',NULL);\nINSERT INTO tracker_domains VALUES('specific_media','adviva.net',NULL);\nINSERT INTO tracker_domains VALUES('specific_media','specificclick.net',NULL);\nINSERT INTO tracker_domains VALUES('specific_media','specificmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('spectate','spectate.com',NULL);\nINSERT INTO tracker_domains VALUES('speed_shift_media','speedshiftmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('speedcurve','speedcurve.com',NULL);\nINSERT INTO tracker_domains VALUES('speedyads','admarket.entireweb.com',NULL);\nINSERT INTO tracker_domains VALUES('speedyads','affiliate.entireweb.com',NULL);\nINSERT INTO tracker_domains VALUES('speedyads','sa.entireweb.com',NULL);\nINSERT INTO tracker_domains VALUES('speee','speee-ad.akamaized.net',NULL);\nINSERT INTO tracker_domains VALUES('sphere','sphere.com',NULL);\nINSERT INTO tracker_domains VALUES('sphere','surphace.com',NULL);\nINSERT INTO tracker_domains VALUES('spheremall','api.spheremall.com',NULL);\nINSERT INTO tracker_domains VALUES('sphereup','zdwidget3-bs.sphereup.com',NULL);\nINSERT INTO tracker_domains VALUES('spicy','static.sspicy.ru',NULL);\nINSERT INTO tracker_domains VALUES('spider.ad','spider.ad',NULL);\nINSERT INTO tracker_domains VALUES('spider_ads','metrics.spiderads.eu',NULL);\nINSERT INTO tracker_domains VALUES('spinnakr','spn.ee',NULL);\nINSERT INTO tracker_domains VALUES('spokenlayer','embed.spokenlayer.com',NULL);\nINSERT INTO tracker_domains VALUES('spongecell','spongecell.com',NULL);\nINSERT INTO tracker_domains VALUES('sponsorads.de','sponsorads.de',NULL);\nINSERT INTO tracker_domains VALUES('sportsbet_affiliates','sportsbetaffiliates.com.au',NULL);\nINSERT INTO tracker_domains VALUES('spot.im','spot.im',NULL);\nINSERT INTO tracker_domains VALUES('spoteffect','spoteffects.net',NULL);\nINSERT INTO tracker_domains VALUES('spotify','scdn.co',NULL);\nINSERT INTO tracker_domains VALUES('spotify','spotify.com',NULL);\nINSERT INTO tracker_domains VALUES('spotify_ad_analytics','pixel.byspotify.com',NULL);\nINSERT INTO tracker_domains VALUES('spotify_embed','embed.spotify.com',NULL);\nINSERT INTO tracker_domains VALUES('spotify_embed','spotifycdn.com',NULL);\nINSERT INTO tracker_domains VALUES('spotler_activate','squeezely.tech',NULL);\nINSERT INTO tracker_domains VALUES('spotscenered.info','spotscenered.info',NULL);\nINSERT INTO tracker_domains VALUES('spotxchange','spotx.tv',NULL);\nINSERT INTO tracker_domains VALUES('spotxchange','spotxcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('spotxchange','spotxchange.com',NULL);\nINSERT INTO tracker_domains VALUES('spoutable','spoutable.com',NULL);\nINSERT INTO tracker_domains VALUES('sprig','api.sprig.com',NULL);\nINSERT INTO tracker_domains VALUES('springboard','cdn.springboardplatform.com',NULL);\nINSERT INTO tracker_domains VALUES('springserve','springserve.com',NULL);\nINSERT INTO tracker_domains VALUES('sprinklr','sprinklr.com',NULL);\nINSERT INTO tracker_domains VALUES('sputnik','stat.sputnik.ru',NULL);\nINSERT INTO tracker_domains VALUES('squadata','email-match.com',NULL);\nINSERT INTO tracker_domains VALUES('squarespace.com','squarespace.com',NULL);\nINSERT INTO tracker_domains VALUES('squarespace.com','definitions.sqspcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('srvtrck.com','srvtrck.com',NULL);\nINSERT INTO tracker_domains VALUES('srvvtrk.com','srvvtrk.com',NULL);\nINSERT INTO tracker_domains VALUES('sstatic.net','sstatic.net',NULL);\nINSERT INTO tracker_domains VALUES('st-hatena','hatena.ne.jp',NULL);\nINSERT INTO tracker_domains VALUES('st-hatena','st-hatena.com',NULL);\nINSERT INTO tracker_domains VALUES('stackadapt','stackadapt.com',NULL);\nINSERT INTO tracker_domains VALUES('stackpathdns.com','stackpathdns.com',NULL);\nINSERT INTO tracker_domains VALUES('stailamedia_com','stailamedia.com',NULL);\nINSERT INTO tracker_domains VALUES('stalluva.pro','stalluva.pro',NULL);\nINSERT INTO tracker_domains VALUES('startapp','startappservice.com',NULL);\nINSERT INTO tracker_domains VALUES('stat24','hit.stat24.com',NULL);\nINSERT INTO tracker_domains VALUES('stat4u','adstat.4u.pl',NULL);\nINSERT INTO tracker_domains VALUES('stat4u','stat.4u.pl',NULL);\nINSERT INTO tracker_domains VALUES('statcounter','statcounter.com',NULL);\nINSERT INTO tracker_domains VALUES('stathat','stathat.com',NULL);\nINSERT INTO tracker_domains VALUES('statisfy','statisfy.net',NULL);\nINSERT INTO tracker_domains VALUES('statsy.net','statsy.net',NULL);\nINSERT INTO tracker_domains VALUES('statuscake','statuscake.com',NULL);\nINSERT INTO tracker_domains VALUES('statuspage.io','statuspage.io',NULL);\nINSERT INTO tracker_domains VALUES('stayfriends.de','stayfriends.de',NULL);\nINSERT INTO tracker_domains VALUES('steelhouse','steelhousemedia.com',NULL);\nINSERT INTO tracker_domains VALUES('steepto.com','steepto.com',NULL);\nINSERT INTO tracker_domains VALUES('stepstone.com','stepstone.com',NULL);\nINSERT INTO tracker_domains VALUES('stetic','4stats.de',NULL);\nINSERT INTO tracker_domains VALUES('stetic','stetic.com',NULL);\nINSERT INTO tracker_domains VALUES('stickyads','stickyadstv.com',NULL);\nINSERT INTO tracker_domains VALUES('stocktwits','stocktwits.com',NULL);\nINSERT INTO tracker_domains VALUES('storify','storify.com',NULL);\nINSERT INTO tracker_domains VALUES('storyblok','storyblok.com',NULL);\nINSERT INTO tracker_domains VALUES('storygize','storygize.net',NULL);\nINSERT INTO tracker_domains VALUES('strands_recommender','bizsolutions.strands.com',NULL);\nINSERT INTO tracker_domains VALUES('strapi','strapiapp.com',NULL);\nINSERT INTO tracker_domains VALUES('strava','strava.com',NULL);\nINSERT INTO tracker_domains VALUES('streak','mailfoogae.appspot.com',NULL);\nINSERT INTO tracker_domains VALUES('streamio','streamio.com',NULL);\nINSERT INTO tracker_domains VALUES('streamlike','cdn.streamlike.com',NULL);\nINSERT INTO tracker_domains VALUES('streamlike','cfcdn.streamlike.com',NULL);\nINSERT INTO tracker_domains VALUES('streamrail.com','streamrail.com',NULL);\nINSERT INTO tracker_domains VALUES('streamrail.com','streamrail.net',NULL);\nINSERT INTO tracker_domains VALUES('stride','stridespark.com',NULL);\nINSERT INTO tracker_domains VALUES('stripchat.com','stripcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('stripchat.com','stripchat.com',NULL);\nINSERT INTO tracker_domains VALUES('stripe.com','stripe.com',NULL);\nINSERT INTO tracker_domains VALUES('stripe.com','stripe.network',NULL);\nINSERT INTO tracker_domains VALUES('stripst.com','stripst.com',NULL);\nINSERT INTO tracker_domains VALUES('stroer_digital_media','interactivemedia.net',NULL);\nINSERT INTO tracker_domains VALUES('stroer_digital_media','stroeerdigitalgroup.de',NULL);\nINSERT INTO tracker_domains VALUES('stroer_digital_media','stroeerdigitalmedia.de',NULL);\nINSERT INTO tracker_domains VALUES('stroer_digital_media','stroeerdp.de',NULL);\nINSERT INTO tracker_domains VALUES('stroer_digital_media','stroeermediabrands.de',NULL);\nINSERT INTO tracker_domains VALUES('strossle','spklw.com',NULL);\nINSERT INTO tracker_domains VALUES('strossle','sprinklecontent.com',NULL);\nINSERT INTO tracker_domains VALUES('strossle','strossle.it',NULL);\nINSERT INTO tracker_domains VALUES('struq','struq.com',NULL);\nINSERT INTO tracker_domains VALUES('stumbleupon_widgets','stumble-upon.com',NULL);\nINSERT INTO tracker_domains VALUES('stumbleupon_widgets','stumbleupon.com',NULL);\nINSERT INTO tracker_domains VALUES('stumbleupon_widgets','su.pr',NULL);\nINSERT INTO tracker_domains VALUES('sub2','sub2tech.com',NULL);\nINSERT INTO tracker_domains VALUES('sublime_skinz','ayads.co',NULL);\nINSERT INTO tracker_domains VALUES('suggest.io','suggest.io',NULL);\nINSERT INTO tracker_domains VALUES('sumologic.com','sumologic.com',NULL);\nINSERT INTO tracker_domains VALUES('sumome','sumo.com',NULL);\nINSERT INTO tracker_domains VALUES('sumome','sumome.com',NULL);\nINSERT INTO tracker_domains VALUES('sundaysky','sundaysky.com',NULL);\nINSERT INTO tracker_domains VALUES('supercounters','supercounters.com',NULL);\nINSERT INTO tracker_domains VALUES('superfastcdn.com','superfastcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('supership','socdm.com',NULL);\nINSERT INTO tracker_domains VALUES('supplyframe','supplyframe.com',NULL);\nINSERT INTO tracker_domains VALUES('surf_by_surfingbird','surfingbird.ru',NULL);\nINSERT INTO tracker_domains VALUES('survata','px.surveywall-api.survata.com',NULL);\nINSERT INTO tracker_domains VALUES('surveymonkey','widget.surveymonkey.com',NULL);\nINSERT INTO tracker_domains VALUES('sweettooth','cdn.sweettooth.io',NULL);\nINSERT INTO tracker_domains VALUES('swiftype','swiftypecdn.com',NULL);\nINSERT INTO tracker_domains VALUES('swisscom','swisscom.ch',NULL);\nINSERT INTO tracker_domains VALUES('switch_concepts','myswitchads.com',NULL);\nINSERT INTO tracker_domains VALUES('switch_concepts','switchadhub.com',NULL);\nINSERT INTO tracker_domains VALUES('switch_concepts','switchads.com',NULL);\nINSERT INTO tracker_domains VALUES('switch_concepts','switchafrica.com',NULL);\nINSERT INTO tracker_domains VALUES('switch_growth','switchgrowth.com',NULL);\nINSERT INTO tracker_domains VALUES('swoop','shopximity.com',NULL);\nINSERT INTO tracker_domains VALUES('swoop','swoop.com',NULL);\nINSERT INTO tracker_domains VALUES('sykes','analytics-cdn.sykescottages.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('symantec','norton.com',NULL);\nINSERT INTO tracker_domains VALUES('symantec','seal.verisign.com',NULL);\nINSERT INTO tracker_domains VALUES('symantec','symantec.com',NULL);\nINSERT INTO tracker_domains VALUES('symphony_talent','d.hodes.com',NULL);\nINSERT INTO tracker_domains VALUES('symplify','sitegainer.com',NULL);\nINSERT INTO tracker_domains VALUES('symplify','cdn-sitegainer.com',NULL);\nINSERT INTO tracker_domains VALUES('symplify','symplify.com',NULL);\nINSERT INTO tracker_domains VALUES('synacor','technorati.com',NULL);\nINSERT INTO tracker_domains VALUES('synacor','technoratimedia.com',NULL);\nINSERT INTO tracker_domains VALUES('syncapse','cn.clickable.net',NULL);\nINSERT INTO tracker_domains VALUES('synergy-e','synergy-e.com',NULL);\nINSERT INTO tracker_domains VALUES('synthetix','cdn.synthetix.com',NULL);\nINSERT INTO tracker_domains VALUES('t-mobile','sdp-campaign.de',NULL);\nINSERT INTO tracker_domains VALUES('t-mobile','t-online.de',NULL);\nINSERT INTO tracker_domains VALUES('t-mobile','telekom-dienste.de',NULL);\nINSERT INTO tracker_domains VALUES('t-mobile','telekom.com',NULL);\nINSERT INTO tracker_domains VALUES('t-mobile','telekom.de',NULL);\nINSERT INTO tracker_domains VALUES('t-mobile','toi.de',NULL);\nINSERT INTO tracker_domains VALUES('t8cdn.com','t8cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('tableteducation.com','tableteducation.com',NULL);\nINSERT INTO tracker_domains VALUES('taboola','basebanner.com',NULL);\nINSERT INTO tracker_domains VALUES('taboola','taboola.com',NULL);\nINSERT INTO tracker_domains VALUES('taboola','taboolasyndication.com',NULL);\nINSERT INTO tracker_domains VALUES('tacoda','tacoda.net',NULL);\nINSERT INTO tracker_domains VALUES('tag_commander','commander1.com',NULL);\nINSERT INTO tracker_domains VALUES('tag_commander','tagcommander.com',NULL);\nINSERT INTO tracker_domains VALUES('tagcade','tags.tagcade.com',NULL);\nINSERT INTO tracker_domains VALUES('taggify','taggify.net',NULL);\nINSERT INTO tracker_domains VALUES('taggstar','taggstar.com',NULL);\nINSERT INTO tracker_domains VALUES('taggy','taggyad.jp',NULL);\nINSERT INTO tracker_domains VALUES('tagman','levexis.com',NULL);\nINSERT INTO tracker_domains VALUES('tail_target','tailtarget.com',NULL);\nINSERT INTO tracker_domains VALUES('tailsweep','tailsweep.com',NULL);\nINSERT INTO tracker_domains VALUES('tamedia.ch','tamedia.ch',NULL);\nINSERT INTO tracker_domains VALUES('tanx','tanx.com',NULL);\nINSERT INTO tracker_domains VALUES('taobao','alipcsec.com',NULL);\nINSERT INTO tracker_domains VALUES('tapad','tapad.com',NULL);\nINSERT INTO tracker_domains VALUES('tapinfluence','theblogfrog.com',NULL);\nINSERT INTO tracker_domains VALUES('tarafdari','tarafdari.com',NULL);\nINSERT INTO tracker_domains VALUES('target_2_sell','target2sell.com',NULL);\nINSERT INTO tracker_domains VALUES('target_circle','trackmytarget.com',NULL);\nINSERT INTO tracker_domains VALUES('target_fuel','cdn.targetfuel.com',NULL);\nINSERT INTO tracker_domains VALUES('tawk','tawk.to',NULL);\nINSERT INTO tracker_domains VALUES('tbn.ru','tbn.ru',NULL);\nINSERT INTO tracker_domains VALUES('tchibo_de','tchibo-content.de',NULL);\nINSERT INTO tracker_domains VALUES('tchibo_de','tchibo.de',NULL);\nINSERT INTO tracker_domains VALUES('tdsrmbl_net','tdsrmbl.net',NULL);\nINSERT INTO tracker_domains VALUES('teads','teads.tv',NULL);\nINSERT INTO tracker_domains VALUES('tealeaf','acoustic.com',NULL);\nINSERT INTO tracker_domains VALUES('tealium','tealium.com',NULL);\nINSERT INTO tracker_domains VALUES('tealium','tealium.hs.llnwd.net',NULL);\nINSERT INTO tracker_domains VALUES('tealium','tealiumiq.com',NULL);\nINSERT INTO tracker_domains VALUES('tealium','tiqcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('teaser.cc','teaser.cc',NULL);\nINSERT INTO tracker_domains VALUES('tedemis','emailretargeting.com',NULL);\nINSERT INTO tracker_domains VALUES('teletech','tracking.dsmmadvantage.com',NULL);\nINSERT INTO tracker_domains VALUES('tender','tenderapp.com',NULL);\nINSERT INTO tracker_domains VALUES('tensitionschoo.club','tensitionschoo.club',NULL);\nINSERT INTO tracker_domains VALUES('teroti','watch.teroti.com',NULL);\nINSERT INTO tracker_domains VALUES('terren','webterren.com',NULL);\nINSERT INTO tracker_domains VALUES('testfreaks','testfreaks.com',NULL);\nINSERT INTO tracker_domains VALUES('teufel.de','teufel.de',NULL);\nINSERT INTO tracker_domains VALUES('the_adex','theadex.com',NULL);\nINSERT INTO tracker_domains VALUES('the_deck','connect.decknetwork.net',NULL);\nINSERT INTO tracker_domains VALUES('the_guardian','gu-web.net',NULL);\nINSERT INTO tracker_domains VALUES('the_guardian','guardianapps.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('the_guardian','guim.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('the_guardian','guardianapis.com',NULL);\nINSERT INTO tracker_domains VALUES('the_reach_group','deepthought.online',NULL);\nINSERT INTO tracker_domains VALUES('the_reach_group','reachgroup.com',NULL);\nINSERT INTO tracker_domains VALUES('the_reach_group','redintelligence.net',NULL);\nINSERT INTO tracker_domains VALUES('the_search_agency','thesearchagency.net',NULL);\nINSERT INTO tracker_domains VALUES('the_sun','thesun.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('the_weather_company','w-x.co',NULL);\nINSERT INTO tracker_domains VALUES('the_weather_company','weather.com',NULL);\nINSERT INTO tracker_domains VALUES('the_weather_company','wfxtriggers.com',NULL);\nINSERT INTO tracker_domains VALUES('themoviedb','tmdb.org',NULL);\nINSERT INTO tracker_domains VALUES('thinglink','thinglink.com',NULL);\nINSERT INTO tracker_domains VALUES('threatmetrix','online-metrix.net',NULL);\nINSERT INTO tracker_domains VALUES('tickaroo','tickaroo.com',NULL);\nINSERT INTO tracker_domains VALUES('tidbit','tidbit.co.in',NULL);\nINSERT INTO tracker_domains VALUES('tidio','code.tidio.co',NULL);\nINSERT INTO tracker_domains VALUES('tidio','widget-v4.tidiochat.com',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_analytics','analytics.tiktok.com',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_analytics','mon.tiktokv.com',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_analytics','analytics-ipv6.tiktokw.us',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_cdn','tiktokcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_cdn','tiktokcdn-eu.com',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_cdn','ttwstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_cdn','tiktokv.com',NULL);\nINSERT INTO tracker_domains VALUES('tiktok_cdn','tiktokv.eu',NULL);\nINSERT INTO tracker_domains VALUES('tiller','optimized.by.tiller.co',NULL);\nINSERT INTO tracker_domains VALUES('timezondb','vip.timezonedb.com',NULL);\nINSERT INTO tracker_domains VALUES('tinypass','npttech.com',NULL);\nINSERT INTO tracker_domains VALUES('tinypass','tinypass.com',NULL);\nINSERT INTO tracker_domains VALUES('tisoomi','tisoomi.com',NULL);\nINSERT INTO tracker_domains VALUES('tisoomi','tisoomi-services.com',NULL);\nINSERT INTO tracker_domains VALUES('tisoomi','tisoomiservices.com',NULL);\nINSERT INTO tracker_domains VALUES('tlv_media','ad.tlvmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('tlv_media','ads.tlvmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('tlv_media','tag.tlvmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('tns','research-int.se',NULL);\nINSERT INTO tracker_domains VALUES('tns','sesamestats.com',NULL);\nINSERT INTO tracker_domains VALUES('tns','spring-tns.net',NULL);\nINSERT INTO tracker_domains VALUES('tns','statistik-gallup.net',NULL);\nINSERT INTO tracker_domains VALUES('tns','tns-cs.net',NULL);\nINSERT INTO tracker_domains VALUES('tns','tns-gallup.dk',NULL);\nINSERT INTO tracker_domains VALUES('tomnewsupdate.info','tomnewsupdate.info',NULL);\nINSERT INTO tracker_domains VALUES('tomorrow_focus','tfag.de',NULL);\nINSERT INTO tracker_domains VALUES('tonefuse','srv.clickfuse.com',NULL);\nINSERT INTO tracker_domains VALUES('toplist.cz','toplist.cz',NULL);\nINSERT INTO tracker_domains VALUES('toponclick_com','toponclick.com',NULL);\nINSERT INTO tracker_domains VALUES('topsy','topsy.com',NULL);\nINSERT INTO tracker_domains VALUES('torbit','insight.torbit.com',NULL);\nINSERT INTO tracker_domains VALUES('toro','toro-tags.com',NULL);\nINSERT INTO tracker_domains VALUES('toro','toroadvertising.com',NULL);\nINSERT INTO tracker_domains VALUES('toro','toroadvertisingmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('tororango.com','tororango.com',NULL);\nINSERT INTO tracker_domains VALUES('toss','toss.im',NULL);\nINSERT INTO tracker_domains VALUES('total_media','i.total-media.net',NULL);\nINSERT INTO tracker_domains VALUES('touchcommerce','inq.com',NULL);\nINSERT INTO tracker_domains VALUES('tovarro.com','tovarro.com',NULL);\nINSERT INTO tracker_domains VALUES('tp-cdn.com','rialpay.com',NULL);\nINSERT INTO tracker_domains VALUES('tp-cdn.com','tp-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('tpmn','ad.tpmn.co.kr',NULL);\nINSERT INTO tracker_domains VALUES('tpmn','ad.tpmn.io',NULL);\nINSERT INTO tracker_domains VALUES('tracc.it','kiwe.io',NULL);\nINSERT INTO tracker_domains VALUES('tracc.it','tracc.it',NULL);\nINSERT INTO tracker_domains VALUES('tracemyip','ipnoid.com',NULL);\nINSERT INTO tracker_domains VALUES('tracemyip','tracemyip.org',NULL);\nINSERT INTO tracker_domains VALUES('traceview','d2gfdmu30u15x7.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('traceview','tracelytics.com',NULL);\nINSERT INTO tracker_domains VALUES('track_duck','cdn.trackduck.com',NULL);\nINSERT INTO tracker_domains VALUES('trackdesk','cdn.trackdesk.com',NULL);\nINSERT INTO tracker_domains VALUES('trackjs','d2zah9y47r7bi2.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('trackjs','dl1d2m8ri9v3j.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('trackjs','trackjs.com',NULL);\nINSERT INTO tracker_domains VALUES('trackset_conversionlab','conversionlab.trackset.com',NULL);\nINSERT INTO tracker_domains VALUES('trackuity','trackuity.com',NULL);\nINSERT INTO tracker_domains VALUES('tradedesk','adsrvr.org',NULL);\nINSERT INTO tracker_domains VALUES('tradedesk','adsrvr.cn',NULL);\nINSERT INTO tracker_domains VALUES('tradedoubler','tradedoubler.com',NULL);\nINSERT INTO tracker_domains VALUES('tradelab','tradelab.fr',NULL);\nINSERT INTO tracker_domains VALUES('tradetracker','tradetracker.net',NULL);\nINSERT INTO tracker_domains VALUES('traffective','cdntrf.com',NULL);\nINSERT INTO tracker_domains VALUES('traffective','traffective.com',NULL);\nINSERT INTO tracker_domains VALUES('traffic_fuel','my.trafficfuel.com',NULL);\nINSERT INTO tracker_domains VALUES('traffic_revenue','trafficrevenue.net',NULL);\nINSERT INTO tracker_domains VALUES('traffic_stars','trafficstars.com',NULL);\nINSERT INTO tracker_domains VALUES('traffic_stars','tsyndicate.com',NULL);\nINSERT INTO tracker_domains VALUES('trafficbroker','trafficbroker.com',NULL);\nINSERT INTO tracker_domains VALUES('trafficfabrik.com','trafficfabrik.com',NULL);\nINSERT INTO tracker_domains VALUES('trafficfactory','trafficfactory.biz',NULL);\nINSERT INTO tracker_domains VALUES('trafficforce','trafficforce.com',NULL);\nINSERT INTO tracker_domains VALUES('traffichaus','traffichaus.com',NULL);\nINSERT INTO tracker_domains VALUES('trafficjunky','trafficjunky.net',NULL);\nINSERT INTO tracker_domains VALUES('traffiliate','traffiliate.com',NULL);\nINSERT INTO tracker_domains VALUES('trafic','storage.trafic.ro',NULL);\nINSERT INTO tracker_domains VALUES('trafmag.com','trafmag.com',NULL);\nINSERT INTO tracker_domains VALUES('transcend','api.transcend.io',NULL);\nINSERT INTO tracker_domains VALUES('transcend','cdn.transcend.io',NULL);\nINSERT INTO tracker_domains VALUES('transcend','transcend-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('transcend','status.transcend.io',NULL);\nINSERT INTO tracker_domains VALUES('transcend','sync-transcend-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('transcend_telemetry','telemetry.transcend.io',NULL);\nINSERT INTO tracker_domains VALUES('transmatic','backoffice.transmatico.com',NULL);\nINSERT INTO tracker_domains VALUES('travel_audience','travelaudience.com',NULL);\nINSERT INTO tracker_domains VALUES('trbo','trbo.com',NULL);\nINSERT INTO tracker_domains VALUES('treasuredata','treasuredata.com',NULL);\nINSERT INTO tracker_domains VALUES('tremor_video','scanscout.com',NULL);\nINSERT INTO tracker_domains VALUES('tremor_video','tremorhub.com',NULL);\nINSERT INTO tracker_domains VALUES('tremor_video','tremormedia.com',NULL);\nINSERT INTO tracker_domains VALUES('tremor_video','tremorvideo.com',NULL);\nINSERT INTO tracker_domains VALUES('tremor_video','videohub.tv',NULL);\nINSERT INTO tracker_domains VALUES('trendcounter','s.tcimg.com',NULL);\nINSERT INTO tracker_domains VALUES('trendcounter','tcimg.com',NULL);\nINSERT INTO tracker_domains VALUES('trendemon','trendemon.com',NULL);\nINSERT INTO tracker_domains VALUES('trengo','api.widget.trengo.eu',NULL);\nINSERT INTO tracker_domains VALUES('tribal_fusion','exponential.com',NULL);\nINSERT INTO tracker_domains VALUES('tribal_fusion','tribalfusion.com',NULL);\nINSERT INTO tracker_domains VALUES('triblio','tribl.io',NULL);\nINSERT INTO tracker_domains VALUES('trigger_mail_marketing','api.temails.com',NULL);\nINSERT INTO tracker_domains VALUES('triggerbee','triggerbee.com',NULL);\nINSERT INTO tracker_domains VALUES('triggerbee','t.myvisitors.se',NULL);\nINSERT INTO tracker_domains VALUES('tripadvisor','jscache.com',NULL);\nINSERT INTO tracker_domains VALUES('tripadvisor','tacdn.com',NULL);\nINSERT INTO tracker_domains VALUES('tripadvisor','tamgrt.com',NULL);\nINSERT INTO tracker_domains VALUES('tripadvisor','tripadvisor.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('tripadvisor','tripadvisor.com',NULL);\nINSERT INTO tracker_domains VALUES('tripadvisor','tripadvisor.de',NULL);\nINSERT INTO tracker_domains VALUES('triplelift','3lift.com',NULL);\nINSERT INTO tracker_domains VALUES('triplelift','d3iwjrnl4m67rd.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('triplelift','triplelift.com',NULL);\nINSERT INTO tracker_domains VALUES('triptease','static.triptease.io',NULL);\nINSERT INTO tracker_domains VALUES('triton_digital','andomedia.com',NULL);\nINSERT INTO tracker_domains VALUES('triton_digital','tritondigital.com',NULL);\nINSERT INTO tracker_domains VALUES('trovus_revelations','revelations.trovus.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('trsv3.com','trsv3.com',NULL);\nINSERT INTO tracker_domains VALUES('true_fit','truefitcorp.com',NULL);\nINSERT INTO tracker_domains VALUES('trueanthem','tru.am',NULL);\nINSERT INTO tracker_domains VALUES('trueffect','adlegend.com',NULL);\nINSERT INTO tracker_domains VALUES('truehits.net','addoer.com',NULL);\nINSERT INTO tracker_domains VALUES('truehits.net','truehits.in.th',NULL);\nINSERT INTO tracker_domains VALUES('truehits.net','truehits.net',NULL);\nINSERT INTO tracker_domains VALUES('trumba','trumba.com',NULL);\nINSERT INTO tracker_domains VALUES('truoptik','truoptik.com',NULL);\nINSERT INTO tracker_domains VALUES('trustarc','trustarc.com',NULL);\nINSERT INTO tracker_domains VALUES('trustarc','truste.com',NULL);\nINSERT INTO tracker_domains VALUES('trustarc','truste-svc.net',NULL);\nINSERT INTO tracker_domains VALUES('truste_consent','consent.truste.com',NULL);\nINSERT INTO tracker_domains VALUES('truste_notice','choices-or.truste.com',NULL);\nINSERT INTO tracker_domains VALUES('truste_notice','choices.truste.com',NULL);\nINSERT INTO tracker_domains VALUES('truste_seal','privacy-policy.truste.com',NULL);\nINSERT INTO tracker_domains VALUES('trusted_shops','trustedshops.com',NULL);\nINSERT INTO tracker_domains VALUES('trustev','trustev.com',NULL);\nINSERT INTO tracker_domains VALUES('trustlogo','secure.comodo.net',NULL);\nINSERT INTO tracker_domains VALUES('trustlogo','trustlogo.com',NULL);\nINSERT INTO tracker_domains VALUES('trustpilot','trustpilot.com',NULL);\nINSERT INTO tracker_domains VALUES('trustwave.com','trustwave.com',NULL);\nINSERT INTO tracker_domains VALUES('trustx','trustx.org',NULL);\nINSERT INTO tracker_domains VALUES('truyo','truyo.com',NULL);\nINSERT INTO tracker_domains VALUES('tubecorporate','tubecorporate.com',NULL);\nINSERT INTO tracker_domains VALUES('tubecup.org','tubecup.org',NULL);\nINSERT INTO tracker_domains VALUES('tubemogul','tubemogul.com',NULL);\nINSERT INTO tracker_domains VALUES('tumblr_analytics','sre-perim.com',NULL);\nINSERT INTO tracker_domains VALUES('tumblr_analytics','txmblr.com',NULL);\nINSERT INTO tracker_domains VALUES('tumblr_buttons','platform.tumblr.com',NULL);\nINSERT INTO tracker_domains VALUES('tune_in','lib.tunein.com',NULL);\nINSERT INTO tracker_domains VALUES('turbo','adagio.turboadv.com',NULL);\nINSERT INTO tracker_domains VALUES('turn_inc.','turn.com',NULL);\nINSERT INTO tracker_domains VALUES('turner','ngtv.io',NULL);\nINSERT INTO tracker_domains VALUES('turner','turner.com',NULL);\nINSERT INTO tracker_domains VALUES('turner','warnermedia.com',NULL);\nINSERT INTO tracker_domains VALUES('turnsocial','turnsocial.com',NULL);\nINSERT INTO tracker_domains VALUES('turnto','turnto.com',NULL);\nINSERT INTO tracker_domains VALUES('tvsquared.com','tvsquared.com',NULL);\nINSERT INTO tracker_domains VALUES('tweetboard','tweetboard.com',NULL);\nINSERT INTO tracker_domains VALUES('tweetmeme','tweetmeme.com',NULL);\nINSERT INTO tracker_domains VALUES('twenga','c4tw.net',NULL);\nINSERT INTO tracker_domains VALUES('twentythree','23video.com',NULL);\nINSERT INTO tracker_domains VALUES('twentythree','twentythree.net',NULL);\nINSERT INTO tracker_domains VALUES('twentythree','twentythree.com',NULL);\nINSERT INTO tracker_domains VALUES('twiago','twiago.com',NULL);\nINSERT INTO tracker_domains VALUES('twine','twinedigital.go2cloud.org',NULL);\nINSERT INTO tracker_domains VALUES('twitch.tv','ext-twitch.tv',NULL);\nINSERT INTO tracker_domains VALUES('twitch.tv','twitch.tv',NULL);\nINSERT INTO tracker_domains VALUES('twitch_cdn','jtvnw.net',NULL);\nINSERT INTO tracker_domains VALUES('twitch_cdn','ttvnw.net',NULL);\nINSERT INTO tracker_domains VALUES('twitch_cdn','twitchcdn.net',NULL);\nINSERT INTO tracker_domains VALUES('twitch_cdn','twitchsvc.net',NULL);\nINSERT INTO tracker_domains VALUES('twitter','t.co',NULL);\nINSERT INTO tracker_domains VALUES('twitter','twimg.com',NULL);\nINSERT INTO tracker_domains VALUES('twitter','twitter.com',NULL);\nINSERT INTO tracker_domains VALUES('twitter','x.com',NULL);\nINSERT INTO tracker_domains VALUES('twitter_ads','ads-twitter.com',NULL);\nINSERT INTO tracker_domains VALUES('twitter_analytics','analytics.twitter.com',NULL);\nINSERT INTO tracker_domains VALUES('twitter_for_business','tellapart.com',NULL);\nINSERT INTO tracker_domains VALUES('twitter_syndication','syndication.twitter.com',NULL);\nINSERT INTO tracker_domains VALUES('twittercounter','twittercounter.com',NULL);\nINSERT INTO tracker_domains VALUES('twyn','twyn.com',NULL);\nINSERT INTO tracker_domains VALUES('txxx.com','txxx.com',NULL);\nINSERT INTO tracker_domains VALUES('tynt','tynt.com',NULL);\nINSERT INTO tracker_domains VALUES('typeform','typeform.com',NULL);\nINSERT INTO tracker_domains VALUES('typepad_stats','typepad.com',NULL);\nINSERT INTO tracker_domains VALUES('typography.com','typography.com',NULL);\nINSERT INTO tracker_domains VALUES('tyroo','tyroodirect.com',NULL);\nINSERT INTO tracker_domains VALUES('tyroo','tyroodr.com',NULL);\nINSERT INTO tracker_domains VALUES('tzetze','tzetze.it',NULL);\nINSERT INTO tracker_domains VALUES('ubersetzung-app.com','ubersetzung-app.com',NULL);\nINSERT INTO tracker_domains VALUES('ucfunnel','aralego.net',NULL);\nINSERT INTO tracker_domains VALUES('ucfunnel','ucfunnel.com',NULL);\nINSERT INTO tracker_domains VALUES('ucoz','at.ua',NULL);\nINSERT INTO tracker_domains VALUES('ucoz','do.am',NULL);\nINSERT INTO tracker_domains VALUES('ucoz','ucoz.net',NULL);\nINSERT INTO tracker_domains VALUES('uliza','ad-api-v01.uliza.jp',NULL);\nINSERT INTO tracker_domains VALUES('umbel','api.umbel.com',NULL);\nINSERT INTO tracker_domains VALUES('umebiggestern.club','umebiggestern.club',NULL);\nINSERT INTO tracker_domains VALUES('unanimis','unanimis.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('unbounce','d3pkntwtp2ukl5.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('unbounce','t.unbounce.com',NULL);\nINSERT INTO tracker_domains VALUES('unbxd','d21gpk1vhmjuf5.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('unbxd','tracker.unbxdapi.com',NULL);\nINSERT INTO tracker_domains VALUES('under-box.com','under-box.com',NULL);\nINSERT INTO tracker_domains VALUES('undercomputer.com','undercomputer.com',NULL);\nINSERT INTO tracker_domains VALUES('underdog_media','udmserve.net',NULL);\nINSERT INTO tracker_domains VALUES('undertone','undertone.com',NULL);\nINSERT INTO tracker_domains VALUES('unica','roitesting.com',NULL);\nINSERT INTO tracker_domains VALUES('unica','unica.com',NULL);\nINSERT INTO tracker_domains VALUES('unifiedid','unifiedid.com',NULL);\nINSERT INTO tracker_domains VALUES('unifiedid','uidapi.com',NULL);\nINSERT INTO tracker_domains VALUES('uniqodo','uqd.io',NULL);\nINSERT INTO tracker_domains VALUES('uniqodo','promotionx.io',NULL);\nINSERT INTO tracker_domains VALUES('uniqodo','uniqodo.com',NULL);\nINSERT INTO tracker_domains VALUES('unister','unister-adservices.com',NULL);\nINSERT INTO tracker_domains VALUES('unister','unister-gmbh.de',NULL);\nINSERT INTO tracker_domains VALUES('unite','uadx.com',NULL);\nINSERT INTO tracker_domains VALUES('united_digital_group','nonstoppartner.net',NULL);\nINSERT INTO tracker_domains VALUES('united_internet_media_gmbh','tifbs.net',NULL);\nINSERT INTO tracker_domains VALUES('united_internet_media_gmbh','ui-portal.de',NULL);\nINSERT INTO tracker_domains VALUES('united_internet_media_gmbh','uimserv.net',NULL);\nINSERT INTO tracker_domains VALUES('univide','univide.com',NULL);\nINSERT INTO tracker_domains VALUES('unpkg.com','unpkg.com',NULL);\nINSERT INTO tracker_domains VALUES('unruly_media','unrulymedia.com',NULL);\nINSERT INTO tracker_domains VALUES('untriel_finger_printing','src.kitcode.net',NULL);\nINSERT INTO tracker_domains VALUES('upland_clickability_beacon','s.clickability.com',NULL);\nINSERT INTO tracker_domains VALUES('uppr.de','uppr.de',NULL);\nINSERT INTO tracker_domains VALUES('upravel.com','upravel.com',NULL);\nINSERT INTO tracker_domains VALUES('upsellit','upsellit.com',NULL);\nINSERT INTO tracker_domains VALUES('upsight','kontagent.net',NULL);\nINSERT INTO tracker_domains VALUES('uptain','app.uptain.de',NULL);\nINSERT INTO tracker_domains VALUES('uptolike.com','uptolike.com',NULL);\nINSERT INTO tracker_domains VALUES('uptrends','uptrends.com',NULL);\nINSERT INTO tracker_domains VALUES('urban-media.com','urban-media.com',NULL);\nINSERT INTO tracker_domains VALUES('urban_airship','urbanairship.com',NULL);\nINSERT INTO tracker_domains VALUES('usability_tools','mobile.usabilitytools.com',NULL);\nINSERT INTO tracker_domains VALUES('usabilla','usabilla.com',NULL);\nINSERT INTO tracker_domains VALUES('usablenet','usablenet.com',NULL);\nINSERT INTO tracker_domains VALUES('usemax','usemax.de',NULL);\nINSERT INTO tracker_domains VALUES('usemax','usemaxserver.de',NULL);\nINSERT INTO tracker_domains VALUES('usercentrics','usercentrics.eu',NULL);\nINSERT INTO tracker_domains VALUES('usercycle','api.usercycle.com',NULL);\nINSERT INTO tracker_domains VALUES('userdive','userdive.com',NULL);\nINSERT INTO tracker_domains VALUES('userecho','userecho.com',NULL);\nINSERT INTO tracker_domains VALUES('userlike.com','dq4irj27fs462.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('userlike.com','userlike-cdn-widgets.s3-eu-west-1.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('userlike.com','userlike.com',NULL);\nINSERT INTO tracker_domains VALUES('userpulse','contactusplus.com',NULL);\nINSERT INTO tracker_domains VALUES('userpulse','user-pulse.appspot.com',NULL);\nINSERT INTO tracker_domains VALUES('userpulse','userpulse.com',NULL);\nINSERT INTO tracker_domains VALUES('userreplay','userreplay.net',NULL);\nINSERT INTO tracker_domains VALUES('userreport','sdsbucket.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('userreport','userreport.com',NULL);\nINSERT INTO tracker_domains VALUES('userrules','dtkm4pd19nw6z.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('usersnap','api.usersnap.com',NULL);\nINSERT INTO tracker_domains VALUES('usersnap','d3mvnvhjmkxpjz.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('uservoice','uservoice.com',NULL);\nINSERT INTO tracker_domains VALUES('userway','userway.org',NULL);\nINSERT INTO tracker_domains VALUES('userzoom.com','userzoom.com',NULL);\nINSERT INTO tracker_domains VALUES('usocial','usocial.pro',NULL);\nINSERT INTO tracker_domains VALUES('utarget','utarget.ru',NULL);\nINSERT INTO tracker_domains VALUES('uuidksinc.net','uuidksinc.net',NULL);\nINSERT INTO tracker_domains VALUES('v12_group','v12group.com',NULL);\nINSERT INTO tracker_domains VALUES('vacaneedasap.com','vacaneedasap.com',NULL);\nINSERT INTO tracker_domains VALUES('valassis','ads.brand.net',NULL);\nINSERT INTO tracker_domains VALUES('valassis','vdrn.redplum.com',NULL);\nINSERT INTO tracker_domains VALUES('validclick','api.searchlinks.com',NULL);\nINSERT INTO tracker_domains VALUES('validclick','js.searchlinks.com',NULL);\nINSERT INTO tracker_domains VALUES('valiton','vinsight.de',NULL);\nINSERT INTO tracker_domains VALUES('valueclick_media','valueclick.net',NULL);\nINSERT INTO tracker_domains VALUES('valuecommerce','valuecommerce.com',NULL);\nINSERT INTO tracker_domains VALUES('valued_opinions','valuedopinions.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('vanksen','buzzparadise.com',NULL);\nINSERT INTO tracker_domains VALUES('varick_media_management','vmmpxl.com',NULL);\nINSERT INTO tracker_domains VALUES('varify','varify.io',NULL);\nINSERT INTO tracker_domains VALUES('vcita','vcita.com',NULL);\nINSERT INTO tracker_domains VALUES('vcommission','tracking.vcommission.com',NULL);\nINSERT INTO tracker_domains VALUES('vdopia','vdopia.com',NULL);\nINSERT INTO tracker_domains VALUES('ve_interactive','veinteractive.com',NULL);\nINSERT INTO tracker_domains VALUES('vee24','vee24.com',NULL);\nINSERT INTO tracker_domains VALUES('velocecdn.com','velocecdn.com',NULL);\nINSERT INTO tracker_domains VALUES('velti_mgage_visualize','mdcn.mobi',NULL);\nINSERT INTO tracker_domains VALUES('velti_mgage_visualize','velti.com',NULL);\nINSERT INTO tracker_domains VALUES('vendemore','vendemore.com',NULL);\nINSERT INTO tracker_domains VALUES('venturead.com','venturead.com',NULL);\nINSERT INTO tracker_domains VALUES('venyoo','api.venyoo.ru',NULL);\nINSERT INTO tracker_domains VALUES('veoxa','veoxa.com',NULL);\nINSERT INTO tracker_domains VALUES('vercel_frontend_observability','vercel-insights.com',NULL);\nINSERT INTO tracker_domains VALUES('vergic.com','vergic.com',NULL);\nINSERT INTO tracker_domains VALUES('vero','d3qxef4rp70elm.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('vero','getvero.com',NULL);\nINSERT INTO tracker_domains VALUES('vertical_acuity','verticalacuity.com',NULL);\nINSERT INTO tracker_domains VALUES('vertical_leap','roi.vertical-leap.co.uk',NULL);\nINSERT INTO tracker_domains VALUES('verticalresponse','cts.vresp.com',NULL);\nINSERT INTO tracker_domains VALUES('verticalscope','verticalscope.com',NULL);\nINSERT INTO tracker_domains VALUES('vertoz','ads.vertoz.com',NULL);\nINSERT INTO tracker_domains VALUES('vertoz','banner.vrtzads.com',NULL);\nINSERT INTO tracker_domains VALUES('veruta','veruta.com',NULL);\nINSERT INTO tracker_domains VALUES('verve_mobile','vrvm.com',NULL);\nINSERT INTO tracker_domains VALUES('vg_wort','vgwort.de',NULL);\nINSERT INTO tracker_domains VALUES('vi','digitaltarget.ru',NULL);\nINSERT INTO tracker_domains VALUES('viacom_tag_container','btg.mtvnservices.com',NULL);\nINSERT INTO tracker_domains VALUES('viafoura','viafoura.com',NULL);\nINSERT INTO tracker_domains VALUES('viafoura','viafoura.net',NULL);\nINSERT INTO tracker_domains VALUES('viafoura','viafoura.co',NULL);\nINSERT INTO tracker_domains VALUES('vibrant_ads','intellitxt.com',NULL);\nINSERT INTO tracker_domains VALUES('vicomi.com','vicomi.com',NULL);\nINSERT INTO tracker_domains VALUES('vidazoo.com','vidazoo.com',NULL);\nINSERT INTO tracker_domains VALUES('video_desk','module-videodesk.com',NULL);\nINSERT INTO tracker_domains VALUES('video_potok','vidtok.ru',NULL);\nINSERT INTO tracker_domains VALUES('videoadex.com','videoadex.com',NULL);\nINSERT INTO tracker_domains VALUES('videobot','videobot.com',NULL);\nINSERT INTO tracker_domains VALUES('videology','tidaltv.com',NULL);\nINSERT INTO tracker_domains VALUES('videoly','videoly.co',NULL);\nINSERT INTO tracker_domains VALUES('videonow','videonow.ru',NULL);\nINSERT INTO tracker_domains VALUES('videoplayerhub.com','videoplayerhub.com',NULL);\nINSERT INTO tracker_domains VALUES('videoplaza','videoplaza.tv',NULL);\nINSERT INTO tracker_domains VALUES('videostep','kweb.videostep.com',NULL);\nINSERT INTO tracker_domains VALUES('videowise','api.videowise.com',NULL);\nINSERT INTO tracker_domains VALUES('vidgyor','content.vidgyor.com',NULL);\nINSERT INTO tracker_domains VALUES('vidible','vidible.tv',NULL);\nINSERT INTO tracker_domains VALUES('vidora','assets.vidora.com',NULL);\nINSERT INTO tracker_domains VALUES('vietad','vietad.vn',NULL);\nINSERT INTO tracker_domains VALUES('viglink','viglink.com',NULL);\nINSERT INTO tracker_domains VALUES('vigo','vigo.one',NULL);\nINSERT INTO tracker_domains VALUES('vigo','vigo.ru',NULL);\nINSERT INTO tracker_domains VALUES('vimeo','vimeo.com',NULL);\nINSERT INTO tracker_domains VALUES('vimeo','vimeocdn.com',NULL);\nINSERT INTO tracker_domains VALUES('vindico_group','vindicosuite.com',NULL);\nINSERT INTO tracker_domains VALUES('vinted','vinted.net',NULL);\nINSERT INTO tracker_domains VALUES('viral_ad_network','viraladnetwork.net',NULL);\nINSERT INTO tracker_domains VALUES('viral_loops','app.viral-loops.com',NULL);\nINSERT INTO tracker_domains VALUES('viralgains','viralgains.com',NULL);\nINSERT INTO tracker_domains VALUES('viralmint','viralmint.com',NULL);\nINSERT INTO tracker_domains VALUES('virgul','virgul.com',NULL);\nINSERT INTO tracker_domains VALUES('virool_player','ssp.virool.com',NULL);\nINSERT INTO tracker_domains VALUES('virtusize','virtusize.com',NULL);\nINSERT INTO tracker_domains VALUES('visible_measures','viewablemedia.net',NULL);\nINSERT INTO tracker_domains VALUES('visible_measures','visiblemeasures.com',NULL);\nINSERT INTO tracker_domains VALUES('vision_critical','visioncriticalpanels.com',NULL);\nINSERT INTO tracker_domains VALUES('visit_streamer','visitstreamer.com',NULL);\nINSERT INTO tracker_domains VALUES('visitortrack','visitortracklog.com',NULL);\nINSERT INTO tracker_domains VALUES('visitorville','visitorville.com',NULL);\nINSERT INTO tracker_domains VALUES('visscore','d2hkbi3gan6yg6.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('visual_iq','myvisualiq.net',NULL);\nINSERT INTO tracker_domains VALUES('visual_revenue','visualrevenue.com',NULL);\nINSERT INTO tracker_domains VALUES('visual_website_optimizer','d5phz18u4wuww.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('visual_website_optimizer','visualwebsiteoptimizer.com',NULL);\nINSERT INTO tracker_domains VALUES('visual_website_optimizer','wingify.com',NULL);\nINSERT INTO tracker_domains VALUES('visualdna','vdna-assets.com',NULL);\nINSERT INTO tracker_domains VALUES('visualdna','visualdna.com',NULL);\nINSERT INTO tracker_domains VALUES('visualvisitor','id-visitors.com',NULL);\nINSERT INTO tracker_domains VALUES('vivalu','vi-tag.net',NULL);\nINSERT INTO tracker_domains VALUES('vivistats','vivistats.com',NULL);\nINSERT INTO tracker_domains VALUES('vizury','vizury.com',NULL);\nINSERT INTO tracker_domains VALUES('vizzit','vizzit.se',NULL);\nINSERT INTO tracker_domains VALUES('vk.com','cdn-vk.com',NULL);\nINSERT INTO tracker_domains VALUES('vk.com','vk-analytics.com',NULL);\nINSERT INTO tracker_domains VALUES('vk.com','vkuservideo.net',NULL);\nINSERT INTO tracker_domains VALUES('vkontakte','userapi.com',NULL);\nINSERT INTO tracker_domains VALUES('vkontakte','vk.com',NULL);\nINSERT INTO tracker_domains VALUES('vkontakte','vkontakte.ru',NULL);\nINSERT INTO tracker_domains VALUES('vntsm.com','vntsm.com',NULL);\nINSERT INTO tracker_domains VALUES('vodafone.de','vodafone.de',NULL);\nINSERT INTO tracker_domains VALUES('voicefive','voicefive.com',NULL);\nINSERT INTO tracker_domains VALUES('volusion_chat','volusion.com',NULL);\nINSERT INTO tracker_domains VALUES('voluum','cwkuki.com',NULL);\nINSERT INTO tracker_domains VALUES('voluum','volumtrk.com',NULL);\nINSERT INTO tracker_domains VALUES('voluum','voluumtrk3.com',NULL);\nINSERT INTO tracker_domains VALUES('vooxe.com','vooxe.com',NULL);\nINSERT INTO tracker_domains VALUES('vorwerk.de','vorwerk.de',NULL);\nINSERT INTO tracker_domains VALUES('vox','vox-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('voxus','embed.voxus.tv',NULL);\nINSERT INTO tracker_domains VALUES('voxus','voxus-targeting-voxusmidia.netdna-ssl.com',NULL);\nINSERT INTO tracker_domains VALUES('voyado','eclub.se',NULL);\nINSERT INTO tracker_domains VALUES('voyado','voyado.com',NULL);\nINSERT INTO tracker_domains VALUES('voyado','redeal.se',NULL);\nINSERT INTO tracker_domains VALUES('vpon','c-dsp.vpadn.com',NULL);\nINSERT INTO tracker_domains VALUES('vpscash','tools.vpscash.nl',NULL);\nINSERT INTO tracker_domains VALUES('vtracy.de','vtracy.de',NULL);\nINSERT INTO tracker_domains VALUES('vuukle','vuukle.com',NULL);\nINSERT INTO tracker_domains VALUES('vzaar','view.vzaar.com',NULL);\nINSERT INTO tracker_domains VALUES('w3counter','w3counter.com',NULL);\nINSERT INTO tracker_domains VALUES('w3roi','w3roi.com',NULL);\nINSERT INTO tracker_domains VALUES('wahoha','contentwidgets.net',NULL);\nINSERT INTO tracker_domains VALUES('wahoha','wahoha.com',NULL);\nINSERT INTO tracker_domains VALUES('walkme.com','walkme.com',NULL);\nINSERT INTO tracker_domains VALUES('wall_street_on_demand','wsod.com',NULL);\nINSERT INTO tracker_domains VALUES('wallee','app-wallee.com',NULL);\nINSERT INTO tracker_domains VALUES('walley','walleypay.com',NULL);\nINSERT INTO tracker_domains VALUES('walley','collector.se',NULL);\nINSERT INTO tracker_domains VALUES('walmart','walmart.com',NULL);\nINSERT INTO tracker_domains VALUES('wamcash','wamcash.com',NULL);\nINSERT INTO tracker_domains VALUES('wanelo','cdn-saveit.wanelo.com',NULL);\nINSERT INTO tracker_domains VALUES('warp.ly','static.warp.ly',NULL);\nINSERT INTO tracker_domains VALUES('way2traffic','way2traffic.com',NULL);\nINSERT INTO tracker_domains VALUES('wayfair_com','wayfair.com',NULL);\nINSERT INTO tracker_domains VALUES('wdr.de','wdr.de',NULL);\nINSERT INTO tracker_domains VALUES('web-stat','web-stat.com',NULL);\nINSERT INTO tracker_domains VALUES('web.de','web.de',NULL);\nINSERT INTO tracker_domains VALUES('web.de','webde.de',NULL);\nINSERT INTO tracker_domains VALUES('web.stat','webstat.net',NULL);\nINSERT INTO tracker_domains VALUES('web_service_award','ssl.webserviceaward.com',NULL);\nINSERT INTO tracker_domains VALUES('web_traxs','webtraxs.com',NULL);\nINSERT INTO tracker_domains VALUES('web_wipe_analytics','wipe.de',NULL);\nINSERT INTO tracker_domains VALUES('webads','webads.nl',NULL);\nINSERT INTO tracker_domains VALUES('webantenna','tr.webantenna.info',NULL);\nINSERT INTO tracker_domains VALUES('webclicks24_com','webclicks24.com',NULL);\nINSERT INTO tracker_domains VALUES('webclose.net','webclose.net',NULL);\nINSERT INTO tracker_domains VALUES('webcollage','webcollage.net',NULL);\nINSERT INTO tracker_domains VALUES('webedia','goutee.top',NULL);\nINSERT INTO tracker_domains VALUES('webedia','mediaathay.org.uk',NULL);\nINSERT INTO tracker_domains VALUES('webedia','wbdx.fr',NULL);\nINSERT INTO tracker_domains VALUES('webeffective','webeffective.keynote.com',NULL);\nINSERT INTO tracker_domains VALUES('webengage','widgets.webengage.com',NULL);\nINSERT INTO tracker_domains VALUES('webgains','webgains.com',NULL);\nINSERT INTO tracker_domains VALUES('webgozar','webgozar.com',NULL);\nINSERT INTO tracker_domains VALUES('webgozar','webgozar.ir',NULL);\nINSERT INTO tracker_domains VALUES('webhelpje','webhelpje.be',NULL);\nINSERT INTO tracker_domains VALUES('webhelpje','webhelpje.nl',NULL);\nINSERT INTO tracker_domains VALUES('webleads_tracker','webleads-tracker.com',NULL);\nINSERT INTO tracker_domains VALUES('webmecanik','automation.webmecanik.com',NULL);\nINSERT INTO tracker_domains VALUES('weborama','adrcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('weborama','adrcntr.com',NULL);\nINSERT INTO tracker_domains VALUES('weborama','weborama.com',NULL);\nINSERT INTO tracker_domains VALUES('weborama','weborama.fr',NULL);\nINSERT INTO tracker_domains VALUES('weborama','weborama.nl',NULL);\nINSERT INTO tracker_domains VALUES('webprospector','webprospector.de',NULL);\nINSERT INTO tracker_domains VALUES('webstat','webstat.com',NULL);\nINSERT INTO tracker_domains VALUES('webstat.se','webstat.se',NULL);\nINSERT INTO tracker_domains VALUES('webtrack','stat.webtrack.biz',NULL);\nINSERT INTO tracker_domains VALUES('webtraffic','webtraffic.no',NULL);\nINSERT INTO tracker_domains VALUES('webtraffic','webtraffic.se',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','d1r27qvpjiaqj3.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','mateti.net',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','wbtrk.net',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','wcfbc.net',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','webtrekk-asia.net',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','webtrekk.com',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','webtrekk.de',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','webtrekk.net',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','wt-eu02.net',NULL);\nINSERT INTO tracker_domains VALUES('webtrekk','wt-safetag.com',NULL);\nINSERT INTO tracker_domains VALUES('webtrends','webtrends.com',NULL);\nINSERT INTO tracker_domains VALUES('webtrends','webtrendslive.com',NULL);\nINSERT INTO tracker_domains VALUES('webtrends_ads','rd.clickshift.com',NULL);\nINSERT INTO tracker_domains VALUES('webvisor','web-visor.com',NULL);\nINSERT INTO tracker_domains VALUES('weebly_ads','weebly.com',NULL);\nINSERT INTO tracker_domains VALUES('weibo_widget','widget.weibo.com',NULL);\nINSERT INTO tracker_domains VALUES('westlotto_com','westlotto.com',NULL);\nINSERT INTO tracker_domains VALUES('whatbroadcast','whatsbroadcast.com',NULL);\nINSERT INTO tracker_domains VALUES('whos.amung.us','amung.us',NULL);\nINSERT INTO tracker_domains VALUES('whoson','whoson.com',NULL);\nINSERT INTO tracker_domains VALUES('wibbitz','api.wibbitz.com',NULL);\nINSERT INTO tracker_domains VALUES('wibbitz','cdn4.wibbitz.com',NULL);\nINSERT INTO tracker_domains VALUES('wibiya_toolbar','cdn.wibiya.com',NULL);\nINSERT INTO tracker_domains VALUES('widdit','predictad.com',NULL);\nINSERT INTO tracker_domains VALUES('widerplanet','widerplanet.com',NULL);\nINSERT INTO tracker_domains VALUES('widespace','widespace.com',NULL);\nINSERT INTO tracker_domains VALUES('widgetbox','widgetserver.com',NULL);\nINSERT INTO tracker_domains VALUES('wifionboard','wifionboard.com',NULL);\nINSERT INTO tracker_domains VALUES('wifionboard','inflightinternet.com',NULL);\nINSERT INTO tracker_domains VALUES('wiget_media','3c45d848d99.se',NULL);\nINSERT INTO tracker_domains VALUES('wiget_media','wigetmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('wigzo','tracker.wigzopush.com',NULL);\nINSERT INTO tracker_domains VALUES('wikia-services.com','wikia-services.com',NULL);\nINSERT INTO tracker_domains VALUES('wikia_beacon','wikia-beacon.com',NULL);\nINSERT INTO tracker_domains VALUES('wikia_cdn','nocookie.net',NULL);\nINSERT INTO tracker_domains VALUES('wikimedia.org','wikimedia.org',NULL);\nINSERT INTO tracker_domains VALUES('wikimedia.org','wikipedia.org',NULL);\nINSERT INTO tracker_domains VALUES('wikimedia.org','wikiquote.org',NULL);\nINSERT INTO tracker_domains VALUES('winaffiliates','tracking.winaffiliates.com',NULL);\nINSERT INTO tracker_domains VALUES('wipmania','api.wipmania.com',NULL);\nINSERT INTO tracker_domains VALUES('wiqhit','col1.wiqhit.com',NULL);\nINSERT INTO tracker_domains VALUES('wirecard','wirecard.com',NULL);\nINSERT INTO tracker_domains VALUES('wirecard','wirecard.de',NULL);\nINSERT INTO tracker_domains VALUES('wiredminds','leadlab.click',NULL);\nINSERT INTO tracker_domains VALUES('wiredminds','wiredminds.com',NULL);\nINSERT INTO tracker_domains VALUES('wiredminds','wiredminds.de',NULL);\nINSERT INTO tracker_domains VALUES('wirtualna_polska','adtotal.pl',NULL);\nINSERT INTO tracker_domains VALUES('wisepops','wisepops.com',NULL);\nINSERT INTO tracker_domains VALUES('wishpond','cdn.wishpond.net',NULL);\nINSERT INTO tracker_domains VALUES('wistia_assets','wistia.com',NULL);\nINSERT INTO tracker_domains VALUES('wistia_assets','wistia.net',NULL);\nINSERT INTO tracker_domains VALUES('wix.com','parastorage.com',NULL);\nINSERT INTO tracker_domains VALUES('wix.com','wix.com',NULL);\nINSERT INTO tracker_domains VALUES('wixab','public.wixab-cloud.com',NULL);\nINSERT INTO tracker_domains VALUES('wixmp','wixmp.com',NULL);\nINSERT INTO tracker_domains VALUES('wnzmauurgol.com','wnzmauurgol.com',NULL);\nINSERT INTO tracker_domains VALUES('wonderpush','wonderpush.com',NULL);\nINSERT INTO tracker_domains VALUES('woopic.com','woopic.com',NULL);\nINSERT INTO tracker_domains VALUES('woopra','woopra.com',NULL);\nINSERT INTO tracker_domains VALUES('woosmap','sdk.woosmap.com',NULL);\nINSERT INTO tracker_domains VALUES('woosmap','api.woosmap.com',NULL);\nINSERT INTO tracker_domains VALUES('wordpress_ads','pubmine.com',NULL);\nINSERT INTO tracker_domains VALUES('wordpress_stats','w.org',NULL);\nINSERT INTO tracker_domains VALUES('wordpress_stats','wordpress.com',NULL);\nINSERT INTO tracker_domains VALUES('wordpress_stats','wp.com',NULL);\nINSERT INTO tracker_domains VALUES('wordstream','tracker.wordstream.com',NULL);\nINSERT INTO tracker_domains VALUES('worldnaturenet_xyz','worldnaturenet.xyz',NULL);\nINSERT INTO tracker_domains VALUES('wp.pl','wp.pl',NULL);\nINSERT INTO tracker_domains VALUES('wp.pl','wpimg.pl',NULL);\nINSERT INTO tracker_domains VALUES('wp_engine','wpengine.com',NULL);\nINSERT INTO tracker_domains VALUES('writeup_clickanalyzer','clickanalyzer.jp',NULL);\nINSERT INTO tracker_domains VALUES('wufoo','wufoo.com',NULL);\nINSERT INTO tracker_domains VALUES('wurfl','wurfl.io',NULL);\nINSERT INTO tracker_domains VALUES('wwwpromoter','wwwpromoter.com',NULL);\nINSERT INTO tracker_domains VALUES('wykop','imgwykop.pl',NULL);\nINSERT INTO tracker_domains VALUES('wykop','wykop.pl',NULL);\nINSERT INTO tracker_domains VALUES('wysistat.com','wysistat.com',NULL);\nINSERT INTO tracker_domains VALUES('wysistat.com','wysistat.net',NULL);\nINSERT INTO tracker_domains VALUES('wywy.com','wywy.com',NULL);\nINSERT INTO tracker_domains VALUES('wywy.com','wywyuserservice.com',NULL);\nINSERT INTO tracker_domains VALUES('x-lift','cdn.x-lift.jp',NULL);\nINSERT INTO tracker_domains VALUES('xapads','xapads.com',NULL);\nINSERT INTO tracker_domains VALUES('xen-media.com','xen-media.com',NULL);\nINSERT INTO tracker_domains VALUES('xfreeservice.com','xfreeservice.com',NULL);\nINSERT INTO tracker_domains VALUES('xhamster','xhamster.com',NULL);\nINSERT INTO tracker_domains VALUES('xhamster','xhamsterlive.com',NULL);\nINSERT INTO tracker_domains VALUES('xhamster','xhamsterpremium.com',NULL);\nINSERT INTO tracker_domains VALUES('xhamster','xhcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('xing','xing-share.com',NULL);\nINSERT INTO tracker_domains VALUES('xing','xing.com',NULL);\nINSERT INTO tracker_domains VALUES('xmediaclicks','xmediaclicks.com',NULL);\nINSERT INTO tracker_domains VALUES('xnxx_cdn','xnxx-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('xplosion','xplosion.de',NULL);\nINSERT INTO tracker_domains VALUES('xtend','xtendmedia.com',NULL);\nINSERT INTO tracker_domains VALUES('xvideos_com','xvideos-cdn.com',NULL);\nINSERT INTO tracker_domains VALUES('xvideos_com','xvideos.com',NULL);\nINSERT INTO tracker_domains VALUES('xxxlshop.de','xxxlshop.de',NULL);\nINSERT INTO tracker_domains VALUES('xxxlutz','xxxlutz.de',NULL);\nINSERT INTO tracker_domains VALUES('yabbi','adx.com.ru',NULL);\nINSERT INTO tracker_domains VALUES('yabbi','yabbi.me',NULL);\nINSERT INTO tracker_domains VALUES('yabuka','yabuka.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo','tumblr.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo','yahoo.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo','yahooapis.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo','yimg.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_ad_exchange','ads.yahoo.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_ad_exchange','yads.yahoo.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_ad_exchange','yieldmanager.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_ad_manager','pr-bh.ybp.yahoo.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_analytics','analytics.yahoo.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_commerce_central','np.lexity.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_japan_retargeting','storage-yahoo.jp',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_japan_retargeting','yahoo.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_japan_retargeting','yahooapis.jp',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_japan_retargeting','yimg.jp',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_japan_retargeting','yjtag.jp',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_overture','ov.yahoo.co.jp',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_overture','overture.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_small_business','luminate.com',NULL);\nINSERT INTO tracker_domains VALUES('yahoo_small_business','pixazza.com',NULL);\nINSERT INTO tracker_domains VALUES('yandex.api','yandex.st',NULL);\nINSERT INTO tracker_domains VALUES('yandex','awaps.yandex.ru',NULL);\nINSERT INTO tracker_domains VALUES('yandex','d31j93rd8oukbv.cloudfront.net',NULL);\nINSERT INTO tracker_domains VALUES('yandex','webvisor.org',NULL);\nINSERT INTO tracker_domains VALUES('yandex','yandex.net',NULL);\nINSERT INTO tracker_domains VALUES('yandex','yandex.ru',NULL);\nINSERT INTO tracker_domains VALUES('yandex','yastatic.net',NULL);\nINSERT INTO tracker_domains VALUES('yandex_adexchange','yandexadexchange.net',NULL);\nINSERT INTO tracker_domains VALUES('yandex_advisor','metabar.ru',NULL);\nINSERT INTO tracker_domains VALUES('yandex_direct','an.webvisor.org',NULL);\nINSERT INTO tracker_domains VALUES('yandex_direct','an.yandex.ru',NULL);\nINSERT INTO tracker_domains VALUES('yandex_direct','bs.yandex.ru',NULL);\nINSERT INTO tracker_domains VALUES('yandex_metrika','mc.yandex.ru',NULL);\nINSERT INTO tracker_domains VALUES('yandex_passport','passport.yandex.ru',NULL);\nINSERT INTO tracker_domains VALUES('yapfiles.ru','yapfiles.ru',NULL);\nINSERT INTO tracker_domains VALUES('yashi','yashi.com',NULL);\nINSERT INTO tracker_domains VALUES('ybrant_media','ad.adserverplus.com',NULL);\nINSERT INTO tracker_domains VALUES('ycontent','player.sambaads.com',NULL);\nINSERT INTO tracker_domains VALUES('yektanet','cdn.yektanet.com',NULL);\nINSERT INTO tracker_domains VALUES('yektanet','fetch.yektanet.com',NULL);\nINSERT INTO tracker_domains VALUES('yengo','yengo.com',NULL);\nINSERT INTO tracker_domains VALUES('yengo','yengointernational.com',NULL);\nINSERT INTO tracker_domains VALUES('yesmail','link.p0.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','adsrevenue.net',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','infinityads.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','momentsharing.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','multipops.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','onlineadultadvertising.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','paypopup.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','popupxxx.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','xtargeting.com',NULL);\nINSERT INTO tracker_domains VALUES('yesup_advertising','xxxwebtraffic.com',NULL);\nINSERT INTO tracker_domains VALUES('yesware','app.yesware.com',NULL);\nINSERT INTO tracker_domains VALUES('yext','realtimeanalytics.yext.com',NULL);\nINSERT INTO tracker_domains VALUES('yext','www.yextevents.com',NULL);\nINSERT INTO tracker_domains VALUES('yext','www.yext-pixel.com',NULL);\nINSERT INTO tracker_domains VALUES('yieldbot','yldbt.com',NULL);\nINSERT INTO tracker_domains VALUES('yieldify','yieldify.com',NULL);\nINSERT INTO tracker_domains VALUES('yieldify','yieldify-production.com',NULL);\nINSERT INTO tracker_domains VALUES('yieldlab','yieldlab.net',NULL);\nINSERT INTO tracker_domains VALUES('yieldlove','yieldlove-ad-serving.net',NULL);\nINSERT INTO tracker_domains VALUES('yieldlove','yieldlove.com',NULL);\nINSERT INTO tracker_domains VALUES('yieldmo','yieldmo.com',NULL);\nINSERT INTO tracker_domains VALUES('yieldr','254a.com',NULL);\nINSERT INTO tracker_domains VALUES('yieldr_air','collect.yldr.io',NULL);\nINSERT INTO tracker_domains VALUES('yieldsquare','yieldsquare.com',NULL);\nINSERT INTO tracker_domains VALUES('yle','analytics-sdk.yle.fi',NULL);\nINSERT INTO tracker_domains VALUES('yllixmedia','yllix.com',NULL);\nINSERT INTO tracker_domains VALUES('ymetrica1.com','ymetrica1.com',NULL);\nINSERT INTO tracker_domains VALUES('ymzrrizntbhde.com','ymzrrizntbhde.com',NULL);\nINSERT INTO tracker_domains VALUES('yo_button','yoapp.s3.amazonaws.com',NULL);\nINSERT INTO tracker_domains VALUES('yodle','natpal.com',NULL);\nINSERT INTO tracker_domains VALUES('yola_analytics','analytics.yola.net',NULL);\nINSERT INTO tracker_domains VALUES('yola_analytics','pixel.yola.net',NULL);\nINSERT INTO tracker_domains VALUES('yomedia','delivery.yomedia.vn',NULL);\nINSERT INTO tracker_domains VALUES('yoochoose.net','yoochoose.net',NULL);\nINSERT INTO tracker_domains VALUES('yotpo','yotpo.com',NULL);\nINSERT INTO tracker_domains VALUES('yottaa','yottaa.net',NULL);\nINSERT INTO tracker_domains VALUES('yottaa','yottaa.com',NULL);\nINSERT INTO tracker_domains VALUES('yottly','yottlyscript.com',NULL);\nINSERT INTO tracker_domains VALUES('youcanbookme','api.youcanbook.me',NULL);\nINSERT INTO tracker_domains VALUES('youcanbookme','youcanbook.me',NULL);\nINSERT INTO tracker_domains VALUES('youku','player.youku.com',NULL);\nINSERT INTO tracker_domains VALUES('youporn','youporn.com',NULL);\nINSERT INTO tracker_domains VALUES('youporn','ypncdn.com',NULL);\nINSERT INTO tracker_domains VALUES('youtube','googlevideo.com',NULL);\nINSERT INTO tracker_domains VALUES('youtube','youtube-nocookie.com',NULL);\nINSERT INTO tracker_domains VALUES('youtube','youtube.com',NULL);\nINSERT INTO tracker_domains VALUES('youtube','ytimg.com',NULL);\nINSERT INTO tracker_domains VALUES('yp','c.ypcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('yp','i1.ypcdn.com',NULL);\nINSERT INTO tracker_domains VALUES('yp','yellowpages.com',NULL);\nINSERT INTO tracker_domains VALUES('ysance','prod-js.aws.y-track.com',NULL);\nINSERT INTO tracker_domains VALUES('ysance','y-track.com',NULL);\nINSERT INTO tracker_domains VALUES('yume,_inc.','yumenetworks.com',NULL);\nINSERT INTO tracker_domains VALUES('yume','yume.com',NULL);\nINSERT INTO tracker_domains VALUES('yusp','gravityrd-services.com',NULL);\nINSERT INTO tracker_domains VALUES('zadarma','api.zadarma.com',NULL);\nINSERT INTO tracker_domains VALUES('zalando_de','zalan.do',NULL);\nINSERT INTO tracker_domains VALUES('zalando_de','zalando.de',NULL);\nINSERT INTO tracker_domains VALUES('zalando_de','ztat.net',NULL);\nINSERT INTO tracker_domains VALUES('zalo','zaloapp.com',NULL);\nINSERT INTO tracker_domains VALUES('zanox','zanox-affiliate.de',NULL);\nINSERT INTO tracker_domains VALUES('zanox','zanox.com',NULL);\nINSERT INTO tracker_domains VALUES('zanox','zanox.ws',NULL);\nINSERT INTO tracker_domains VALUES('zaparena','zaparena.com',NULL);\nINSERT INTO tracker_domains VALUES('zaparena','zapunited.com',NULL);\nINSERT INTO tracker_domains VALUES('zappos','track.zappos.com',NULL);\nINSERT INTO tracker_domains VALUES('zdassets.com','zdassets.com',NULL);\nINSERT INTO tracker_domains VALUES('zebestof.com','zebestof.com',NULL);\nINSERT INTO tracker_domains VALUES('zedo','zedo.com',NULL);\nINSERT INTO tracker_domains VALUES('zemanta','zemanta.com',NULL);\nINSERT INTO tracker_domains VALUES('zencoder','zencdn.net',NULL);\nINSERT INTO tracker_domains VALUES('zendesk','zendesk.com',NULL);\nINSERT INTO tracker_domains VALUES('zephr','zephr.com',NULL);\nINSERT INTO tracker_domains VALUES('zergnet','zergnet.com',NULL);\nINSERT INTO tracker_domains VALUES('zero.kz','zero.kz',NULL);\nINSERT INTO tracker_domains VALUES('zeta','app.insightgrit.com',NULL);\nINSERT INTO tracker_domains VALUES('zeta','app.ubertags.com',NULL);\nINSERT INTO tracker_domains VALUES('zeta','cdn.boomtrain.com',NULL);\nINSERT INTO tracker_domains VALUES('zeta','events.api.boomtrain.com',NULL);\nINSERT INTO tracker_domains VALUES('zeta','rfihub.com',NULL);\nINSERT INTO tracker_domains VALUES('zeta','rfihub.net',NULL);\nINSERT INTO tracker_domains VALUES('zeta','ru4.com',NULL);\nINSERT INTO tracker_domains VALUES('zeta','xplusone.com',NULL);\nINSERT INTO tracker_domains VALUES('zeusclicks','zeusclicks.com',NULL);\nINSERT INTO tracker_domains VALUES('ziff_davis','webtest.net',NULL);\nINSERT INTO tracker_domains VALUES('ziff_davis','zdbb.net',NULL);\nINSERT INTO tracker_domains VALUES('ziff_davis','ziffdavis.com',NULL);\nINSERT INTO tracker_domains VALUES('ziff_davis','ziffdavisinternational.com',NULL);\nINSERT INTO tracker_domains VALUES('ziff_davis','ziffprod.com',NULL);\nINSERT INTO tracker_domains VALUES('ziff_davis','ziffstatic.com',NULL);\nINSERT INTO tracker_domains VALUES('zift_solutions','analytics.ziftsolutions.com',NULL);\nINSERT INTO tracker_domains VALUES('zimbio.com','zimbio.com',NULL);\nINSERT INTO tracker_domains VALUES('zippyshare_widget','api.zippyshare.com',NULL);\nINSERT INTO tracker_domains VALUES('zmags','zmags.com',NULL);\nINSERT INTO tracker_domains VALUES('zmctrack.net','zmctrack.net',NULL);\nINSERT INTO tracker_domains VALUES('zog.link','zog.link',NULL);\nINSERT INTO tracker_domains VALUES('zoho','js.zohostatic.eu',NULL);\nINSERT INTO tracker_domains VALUES('zononi.com','zononi.com',NULL);\nINSERT INTO tracker_domains VALUES('zoominfo','zoominfo.com',NULL);\nINSERT INTO tracker_domains VALUES('zoominfo','clickagy.com',NULL);\nINSERT INTO tracker_domains VALUES('zopim','zopim.com',NULL);\nINSERT INTO tracker_domains VALUES('zowie','getzowie.com',NULL);\nINSERT INTO tracker_domains VALUES('zukxd6fkxqn.com','zukxd6fkxqn.com',NULL);\nINSERT INTO tracker_domains VALUES('zwaar','zwaar.net',NULL);\nINSERT INTO tracker_domains VALUES('zwaar','zwaar.org',NULL);\nINSERT INTO tracker_domains VALUES('zypmedia','extend.tv',NULL);\nCREATE TABLE trackers (\n  id TEXT NOT NULL UNIQUE,\n  name TEXT NOT NULL,\n  category_id INTEGER,\n  website_url TEXT,\n  company_id TEXT,\n  ghostery_id TEXT,\n  notes TEXT,\n  alias TEXT REFERENCES trackers (id),\n  FOREIGN KEY (category_id) REFERENCES categories (id),\n  FOREIGN KEY (company_id) REFERENCES companies (id)\n);\nINSERT INTO trackers VALUES('1000mercis','1000mercis',9,NULL,'1000mercis','2662',NULL,NULL);\nINSERT INTO trackers VALUES('161media','Platform161',1,'https://platform161.com/','platform161','730',NULL,NULL);\nINSERT INTO trackers VALUES('1822direkt.de','1822direkt.de',7,'https://www.1822direkt.de/',NULL,'4011',NULL,NULL);\nINSERT INTO trackers VALUES('1dmp.io','1DMP',1,'https://1dmp.io/','1dmp','3104',NULL,NULL);\nINSERT INTO trackers VALUES('1plusx','1plusX',9,'https://www.1plusx.com/','1plusx','4012',NULL,NULL);\nINSERT INTO trackers VALUES('1sponsor','1sponsor',1,'http://fr.1sponsor.com/','1sponsor','1976',NULL,NULL);\nINSERT INTO trackers VALUES('1tag','1tag',9,NULL,'dentsu_aegis_network','3285',NULL,NULL);\nINSERT INTO trackers VALUES('1und1','1&1 Internet',7,NULL,NULL,'4013',NULL,NULL);\nINSERT INTO trackers VALUES('24-ads.com','24-ADS GmbH',1,'http://www.24-ads.com/',NULL,'4020',NULL,NULL);\nINSERT INTO trackers VALUES('24_7','[24]7',4,'http://www.247-inc.com/','24_7','1670',NULL,NULL);\nINSERT INTO trackers VALUES('24log','24log',9,NULL,'24log','2586',NULL,NULL);\nINSERT INTO trackers VALUES('24smi','24СМИ',7,'https://24smi.org/',NULL,'4014',NULL,NULL);\nINSERT INTO trackers VALUES('2leep','2leep',1,'http://2leep.com/','2leep','671',NULL,NULL);\nINSERT INTO trackers VALUES('33across','33Across',1,'https://www.33across.com/','33across','256',NULL,NULL);\nINSERT INTO trackers VALUES('3dstats','3DStats',9,'https://www.3dstats.com/','3dstats','267',NULL,NULL);\nINSERT INTO trackers VALUES('4chan','4Chan',7,'https://www.4chan.org/',NULL,'4015',NULL,NULL);\nINSERT INTO trackers VALUES('4finance_com','4finance.com',4,'https://www.4finance.com/',NULL,'4016',NULL,NULL);\nINSERT INTO trackers VALUES('4w_marketplace','4w Marketplace',1,'http://www.4wmarketplace.com/','4w_marketplace','1366',NULL,NULL);\nINSERT INTO trackers VALUES('500friends','500friends',4,'http://500friends.com/','500friends','1620',NULL,NULL);\nINSERT INTO trackers VALUES('51.la','51.La',9,'https://www.51.la/','51.la','1184',NULL,NULL);\nINSERT INTO trackers VALUES('5min_media','5min Media',2,'https://www.5min.com/','verizon','541',NULL,NULL);\nINSERT INTO trackers VALUES('6sense','6Sense',9,'https://6sense.com/','6sense','1501',NULL,NULL);\nINSERT INTO trackers VALUES('77tracking','77Tracking',9,'https://www.77agency.com/','77agency','1657',NULL,NULL);\nINSERT INTO trackers VALUES('7tv.de','7tv.de',2,'https://www.7tv.de/',NULL,'4017',NULL,NULL);\nINSERT INTO trackers VALUES('888media','888media',1,'https://888media.net/','888_media','1342',NULL,NULL);\nINSERT INTO trackers VALUES('8digits','8digits',9,NULL,'8digits','2784',NULL,NULL);\nINSERT INTO trackers VALUES('94j7afz2nr.xyz','94j7afz2nr.xyz',5,NULL,NULL,'3292',NULL,NULL);\nINSERT INTO trackers VALUES('99stats','99stats',9,'http://www.99stats.com/','99stats','2088',NULL,NULL);\nINSERT INTO trackers VALUES('a3cloud_net','a3cloud.net',7,NULL,NULL,'4018',NULL,NULL);\nINSERT INTO trackers VALUES('a8','A8',1,'https://www.a8.net/','a8','1444',NULL,NULL);\nINSERT INTO trackers VALUES('aaxads.com','Acceptable Ads Exchange',1,'https://aax.media/',NULL,'4019',NULL,NULL);\nINSERT INTO trackers VALUES('ab_tasty','AB Tasty',9,'https://en.abtasty.com','ab_tasty','1930',NULL,NULL);\nINSERT INTO trackers VALUES('ablida','ablida',1,'https://www.ablida.de/',NULL,'4021',NULL,NULL);\nINSERT INTO trackers VALUES('acceleration_partners','Acceleration Partners',1,'https://www.accelerationpartners.com/','acceleration_partners','',NULL,NULL);\nINSERT INTO trackers VALUES('accelia','Accelia',1,'http://www.durasite.net/','accelia','676',NULL,NULL);\nINSERT INTO trackers VALUES('accengage','Accengage',1,'https://www.accengage.com/','accengage','4022',NULL,NULL);\nINSERT INTO trackers VALUES('accessanalyzer','AccessAnalyzer',9,'http://ax.xrea.com/','accessanalyzer','1646',NULL,NULL);\nINSERT INTO trackers VALUES('accessibe','accessiBe',4,'https://accessibe.com/','accessibe','',NULL,NULL);\nINSERT INTO trackers VALUES('accesstrade','AccessTrade',1,'https://www.accesstrade.global/','accesstrade','1182',NULL,NULL);\nINSERT INTO trackers VALUES('accord_group','Accord Group',1,'http://www.accordgroup.co.uk/','accord_group','2099',NULL,NULL);\nINSERT INTO trackers VALUES('accordant_media','Accordant Media',1,'http://www.accordantmedia.com/','accordant_media','1511',NULL,NULL);\nINSERT INTO trackers VALUES('accuen_media','Accuen Media',1,'http://www.accuenmedia.com/','accuen_media','468',NULL,NULL);\nINSERT INTO trackers VALUES('acecounter','Acecounter',9,'https://www.home.acecounter.com/','naver','',NULL,NULL);\nINSERT INTO trackers VALUES('acestream.net','ActStream',5,'https://www.acestream.org/',NULL,'3297',NULL,NULL);\nINSERT INTO trackers VALUES('acint.net','Artificial Computation Intelligence',9,'https://www.acint.net/','acint','2257',NULL,NULL);\nINSERT INTO trackers VALUES('acloudimages','Acloudimages',1,NULL,'adsterra','2739',NULL,NULL);\nINSERT INTO trackers VALUES('acpm.fr','ACPM',9,'https://www.acpm.fr/',NULL,'4023',NULL,NULL);\nINSERT INTO trackers VALUES('acquia.com','Acquia',9,'https://www.acquia.com/',NULL,'3299',NULL,NULL);\nINSERT INTO trackers VALUES('acrweb','ACRWEB',10,'http://www.ziyu.net/','acrweb','3300',NULL,NULL);\nINSERT INTO trackers VALUES('actionpay','actionpay',1,'https://actionpay.ru/','actionpay','1230',NULL,NULL);\nINSERT INTO trackers VALUES('active_agent','Active Agent',1,'http://www.active-agent.com/','active_agent','4024',NULL,NULL);\nINSERT INTO trackers VALUES('active_campaign','Active Campaign',9,'https://www.activecampaign.com','active_campaign','3131',NULL,NULL);\nINSERT INTO trackers VALUES('active_performance','Active Performance',1,'http://www.active-performance.de/','active_performance','1580',NULL,NULL);\nINSERT INTO trackers VALUES('activeconversion','ActiveConversion',1,'http://www.activeconversion.com/','activeconversion','645',NULL,NULL);\nINSERT INTO trackers VALUES('activecore','activecore',9,'https://activecore.jp/','activecore','1814',NULL,NULL);\nINSERT INTO trackers VALUES('activemeter','ActiveMeter',1,'http://www.activemeter.com/','activeconversion','835',NULL,NULL);\nINSERT INTO trackers VALUES('activengage','ActivEngage',4,'http://www.activengage.com','activengage','783',NULL,NULL);\nINSERT INTO trackers VALUES('acton','Act-On Beacon',1,'http://www.actonsoftware.com/','act-on','282',NULL,NULL);\nINSERT INTO trackers VALUES('acuity_ads','Acuity Ads',1,'http://www.acuityads.com/','acuity_ads','1250',NULL,NULL);\nINSERT INTO trackers VALUES('acxiom','Acxiom',1,'http://www.acxiom.com','acxiom','497',NULL,NULL);\nINSERT INTO trackers VALUES('ad-blocker.org','ad-blocker.org',7,NULL,NULL,'4025',NULL,NULL);\nINSERT INTO trackers VALUES('ad-center','Ad-Center',9,NULL,'ad-center','2272',NULL,NULL);\nINSERT INTO trackers VALUES('ad-delivery.net','ad-delivery.net',7,NULL,NULL,'3304',NULL,NULL);\nINSERT INTO trackers VALUES('ad-sys','Ad-Sys',1,'https://www.ad-sys.com/','ad-sys','1972',NULL,NULL);\nINSERT INTO trackers VALUES('ad.agio','Ad.agio',1,'https://neodatagroup.com/','neodata','1323',NULL,NULL);\nINSERT INTO trackers VALUES('ad2click','Ad2Click',1,NULL,'ad2click_media','2711',NULL,NULL);\nINSERT INTO trackers VALUES('ad2games','ad2games',1,'http://web.ad2games.com/','ad2games','1710',NULL,NULL);\nINSERT INTO trackers VALUES('ad360','Ad360',1,'http://ad360.vn','ad360','1237',NULL,NULL);\nINSERT INTO trackers VALUES('ad4game','ad4game',1,'http://www.ad4game.com/','ad4game','553',NULL,NULL);\nINSERT INTO trackers VALUES('ad4mat','ad4mat',1,'https://ad4mat.com','advanced_store','1288',NULL,NULL);\nINSERT INTO trackers VALUES('ad6media','ad6media',1,'https://www.ad6media.fr/','ad6media','954',NULL,NULL);\nINSERT INTO trackers VALUES('ad_decisive','Ad Decisive',1,'https://www.lagardere-global-advertising.com/','lagardere_advertising','761',NULL,NULL);\nINSERT INTO trackers VALUES('ad_dynamo','Ad Dynamo',1,'https://www.addynamo.com/','ad_dynamo','762',NULL,NULL);\nINSERT INTO trackers VALUES('ad_ebis','AD EBiS',1,'https://www.ebis.ne.jp/en/','ad_ebis','2163',NULL,NULL);\nINSERT INTO trackers VALUES('ad_lightning','Ad Lightning',1,'https://www.adlightning.com/','ad_lightning','4026',NULL,NULL);\nINSERT INTO trackers VALUES('ad_magnet','Ad Magnet',1,'http://www.admagnet.com/','ad_magnet','1258',NULL,NULL);\nINSERT INTO trackers VALUES('ad_spirit','Ad Spirit',1,'http://www.adspirit.de','adspirit','871',NULL,NULL);\nINSERT INTO trackers VALUES('adac_de','adac.de',7,'https://adac.de/',NULL,'3305',NULL,NULL);\nINSERT INTO trackers VALUES('adacado','Adacado',1,'http://www.adacado.com/','adacado','1742',NULL,NULL);\nINSERT INTO trackers VALUES('adadyn','Adadyn',1,'http://ozonemedia.com/index.html','adadyn','2185',NULL,NULL);\nINSERT INTO trackers VALUES('adality_gmbh','adality GmbH',1,NULL,'arvato','3306',NULL,NULL);\nINSERT INTO trackers VALUES('adalliance.io','Ad Alliance',1,'https://www.ad-alliance.de/',NULL,'4027',NULL,NULL);\nINSERT INTO trackers VALUES('adalyser.com','Adalyser',9,'https://www.adalyser.com/','onesoon','3308',NULL,NULL);\nINSERT INTO trackers VALUES('adaos','ADAOS',1,'http://www.24-interactive.com','24_interactive','1194',NULL,NULL);\nINSERT INTO trackers VALUES('adap.tv','Adap.tv',1,'http://www.adap.tv/','verizon','573',NULL,NULL);\nINSERT INTO trackers VALUES('adaptiveblue_smartlinks','AdaptiveBlue SmartLinks',4,'https://www.adaptiveblue.com/smartlinks.html','telfie','132',NULL,NULL);\nINSERT INTO trackers VALUES('adaptmx','AdaptMX',1,'https://adaptmx.com/','monet_engine','',NULL,NULL);\nINSERT INTO trackers VALUES('adara_analytics','Adara',1,'http://www.adaramedia.com/','adara_analytics','469',NULL,NULL);\nINSERT INTO trackers VALUES('adasia_holdings','AdAsia Holdings',1,NULL,'adasia_holdings','3126',NULL,NULL);\nINSERT INTO trackers VALUES('adbetclickin.pink','adbetnet',1,'http://adbetnet.com/',NULL,'3309',NULL,NULL);\nINSERT INTO trackers VALUES('adbetnet.com','adbetnet',1,'https://adbetnet.com/',NULL,'3310',NULL,NULL);\nINSERT INTO trackers VALUES('adblade.com','Adblade',1,'https://adblade.com/','adblade','385',NULL,NULL);\nINSERT INTO trackers VALUES('adbooth','Adbooth',1,'http://www.adbooth.com/','adbooth_media_group','1969',NULL,NULL);\nINSERT INTO trackers VALUES('adbox','AdBox',1,'https://www.adbox.lv/','adbox','2205',NULL,NULL);\nINSERT INTO trackers VALUES('adbrain','Adbrain',9,'https://www.adbrain.com/','adbrain','2851',NULL,NULL);\nINSERT INTO trackers VALUES('adbrite','AdBrite',1,'http://www.adbrite.com/','centro','73',NULL,NULL);\nINSERT INTO trackers VALUES('adbull','AdBull',1,'http://www.adbull.com/','adbull','634',NULL,NULL);\nINSERT INTO trackers VALUES('adbutler','AdButler',1,'https://www.adbutler.com/d','sparklit_networks','863',NULL,NULL);\nINSERT INTO trackers VALUES('adc_media','ad:C media',1,'http://www.adcmedia.de/en/','adc_media','1367',NULL,NULL);\nINSERT INTO trackers VALUES('adcalls','AdCalls',9,'https://adcalls.com/dynamic-call-tracking/','adcalls','',NULL,NULL);\nINSERT INTO trackers VALUES('adcash','Adcash',1,'http://www.adcash.com','adcash','1120',NULL,NULL);\nINSERT INTO trackers VALUES('adchakra','AdChakra',9,NULL,'adchakra','2705',NULL,NULL);\nINSERT INTO trackers VALUES('adchina','AdChina',1,'http://www.adchina.com/','alibaba','1896',NULL,NULL);\nINSERT INTO trackers VALUES('adcito','Adcito',1,'http://adcito.com/','adcito','1332',NULL,NULL);\nINSERT INTO trackers VALUES('adclear','AdClear',1,'https://www.adclear.de/en/home.html','adclear','1273',NULL,NULL);\nINSERT INTO trackers VALUES('adclerks','Adclerks',1,NULL,'adclerks','2966',NULL,NULL);\nINSERT INTO trackers VALUES('adclickmedia','AdClickMedia',1,'https://www.adclickmedia.com/','adclickmedia','788',NULL,NULL);\nINSERT INTO trackers VALUES('adclickzone','AdClickZone',1,NULL,'adclickzone','2736',NULL,NULL);\nINSERT INTO trackers VALUES('adcloud','adcloud',1,'https://ad-cloud.jp','adcloud','2037',NULL,NULL);\nINSERT INTO trackers VALUES('adcolony','AdColony',1,'https://www.admarvel.com/','adcolony','1050',NULL,NULL);\nINSERT INTO trackers VALUES('adconion','Adconion',1,'http://www.adconion.com/','singtel','332',NULL,NULL);\nINSERT INTO trackers VALUES('adcrowd','Adcrowd',1,'https://www.adcrowd.com','adcrowd','2069',NULL,NULL);\nINSERT INTO trackers VALUES('adcurve','AdCurve',1,'http://www.shop2market.com/','adcurve','1053',NULL,NULL);\nINSERT INTO trackers VALUES('add_to_calendar','Add To Calendar',4,NULL,'addtocalendar','2616',NULL,NULL);\nINSERT INTO trackers VALUES('addaptive','Addaptive',1,'http://www.datapointmedia.com/','addaptive','1232',NULL,NULL);\nINSERT INTO trackers VALUES('addefend','AdDefend',1,'https://www.addefend.com/','addefend','3311',NULL,NULL);\nINSERT INTO trackers VALUES('addfreestats','AddFreeStats',9,'http://www.addfreestats.com/','3dstats','268',NULL,NULL);\nINSERT INTO trackers VALUES('addinto','AddInto',4,'https://www.addinto.com/','addinto','2168',NULL,NULL);\nINSERT INTO trackers VALUES('addshoppers','AddShoppers',10,'https://www.addshoppers.com/','addshoppers','1636',NULL,NULL);\nINSERT INTO trackers VALUES('addthis','AddThis',1,'http://www.addthis.com/','oracle','55',NULL,NULL);\nINSERT INTO trackers VALUES('addvalue','Addvalue',9,NULL,'addvalue.de','2412',NULL,NULL);\nINSERT INTO trackers VALUES('addyon','AddyON',1,'http://www.addyon.com/homepage.php','addyon','997',NULL,NULL);\nINSERT INTO trackers VALUES('adeasy','AdEasy',1,'http://www.adeasy.ru/','adeasy','1310',NULL,NULL);\nINSERT INTO trackers VALUES('adelphic','Adelphic',9,NULL,'adelphic','2533',NULL,NULL);\nINSERT INTO trackers VALUES('adengage','AdEngage',1,'http://www.adengage.com','synacor','410',NULL,NULL);\nINSERT INTO trackers VALUES('adespresso','AdEspresso',1,'http://adespresso.com','adespresso','1926',NULL,NULL);\nINSERT INTO trackers VALUES('adexcite','AdExcite',1,'http://adexcite.com','adexcite','1171',NULL,NULL);\nINSERT INTO trackers VALUES('adextent','AdExtent',1,'http://www.adextent.com/','adextent','1603',NULL,NULL);\nINSERT INTO trackers VALUES('adf.ly','AdF.ly',1,'https://adf.ly/','adf.ly','872',NULL,NULL);\nINSERT INTO trackers VALUES('adfalcon','AdFalcon',1,'http://www.adfalcon.com/','adfalcon','1432',NULL,NULL);\nINSERT INTO trackers VALUES('adfit','Adfit',1,'https://adfit.kakao.com/info','kakao','',NULL,NULL);\nINSERT INTO trackers VALUES('adfocus','AdFocus',1,'https://adfoc.us/','adfoc.us','1995',NULL,NULL);\nINSERT INTO trackers VALUES('adforgames','AdForGames',1,'http://www.adforgames.com/','adforgames','2142',NULL,NULL);\nINSERT INTO trackers VALUES('adform','Adform',1,'http://www.adform.com','adform','609',NULL,NULL);\nINSERT INTO trackers VALUES('adfox','AdFox',1,'http://adfox.ru','yandex','422',NULL,NULL);\nINSERT INTO trackers VALUES('adfreestyle','adFreestyle',1,'https://www.adfreestyle.pl/','adfreestyle','1825',NULL,NULL);\nINSERT INTO trackers VALUES('adfront','AdFront',1,NULL,'buysellads.com','2923',NULL,NULL);\nINSERT INTO trackers VALUES('adfrontiers','AdFrontiers',1,'http://www.adfrontiers.com/','adfrontiers','1265',NULL,NULL);\nINSERT INTO trackers VALUES('adgear','AdGear',1,'https://adgear.com/','samsung','391',NULL,NULL);\nINSERT INTO trackers VALUES('adgebra','Adgebra',1,'https://adgebra.in/','adgebra','2885',NULL,NULL);\nINSERT INTO trackers VALUES('adgenie','adGENIE',1,'http://www.adgenie.co.uk/','ve','1467',NULL,NULL);\nINSERT INTO trackers VALUES('adgile','Adgile',1,'https://www.adgile.com/','adgile_media','1725',NULL,NULL);\nINSERT INTO trackers VALUES('adglare.net','Adglare',1,'https://www.adglare.com/',NULL,'3312',NULL,NULL);\nINSERT INTO trackers VALUES('adglue','Adglue',1,NULL,'admans','2524',NULL,NULL);\nINSERT INTO trackers VALUES('adgoal','adgoal',1,'http://www.adgoal.de/','adgoal','1186',NULL,NULL);\nINSERT INTO trackers VALUES('adgorithms','Adgorithms',1,'http://www.adgorithms.com/','albert','1914',NULL,NULL);\nINSERT INTO trackers VALUES('adgoto','ADGoto',1,'http://adgoto.com/','adgoto','1280',NULL,NULL);\nINSERT INTO trackers VALUES('adguard','Adguard',5,'https://adguard.com/',NULL,'3313',NULL,NULL);\nINSERT INTO trackers VALUES('adhands','AdHands',1,'http://promo.adhands.ru/','adhands','1281',NULL,NULL);\nINSERT INTO trackers VALUES('adhese','Adhese',1,'http://adhese.com','adhese','958',NULL,NULL);\nINSERT INTO trackers VALUES('adhitz','AdHitz',1,'https://www.adhitz.com/','adhitz','1228',NULL,NULL);\nINSERT INTO trackers VALUES('adhood','adhood',1,'https://www.adhood.com/','adhood','853',NULL,NULL);\nINSERT INTO trackers VALUES('adify','Adify',1,'https://www.adify.com/','cox_enterpries','105',NULL,NULL);\nINSERT INTO trackers VALUES('adikteev','Adikteev',1,NULL,'adikteev','2963',NULL,NULL);\nINSERT INTO trackers VALUES('adimpact','Adimpact',1,'https://www.adimpact.com/','adimpact','1689',NULL,NULL);\nINSERT INTO trackers VALUES('adinch','Adinch',1,'http://adinch.com/','adinch','1305',NULL,NULL);\nINSERT INTO trackers VALUES('adition','Adition',1,'http://en.adition.com/','prosieben_sat1','612',NULL,NULL);\nINSERT INTO trackers VALUES('adjal','Adjal',1,'http://adjal.com/','marketing_adjal','1756',NULL,NULL);\nINSERT INTO trackers VALUES('adjs','ADJS',1,NULL,'adjs','2405',NULL,NULL);\nINSERT INTO trackers VALUES('adjug','AdJug',1,'http://www.adjug.com/','adjug','682',NULL,NULL);\nINSERT INTO trackers VALUES('adjust','Adjust',9,'https://www.adjust.com/','adjust','3314',NULL,NULL);\nINSERT INTO trackers VALUES('adk2','adk2',1,'http://www.adk2.com/','adk2_plymedia','936',NULL,NULL);\nINSERT INTO trackers VALUES('adklip','adklip',1,'http://adklip.com','adklip','1642',NULL,NULL);\nINSERT INTO trackers VALUES('adknowledge','Adknowledge',1,'http://www.adknowledge.com/','adknowledge','145',NULL,NULL);\nINSERT INTO trackers VALUES('adkontekst','Adkontekst',1,'http://www.en.adkontekst.pl/','adkontekst','998',NULL,NULL);\nINSERT INTO trackers VALUES('adkontekst.pl','Adkontekst',1,'http://netsprint.eu/','netsprint','4028',NULL,NULL);\nINSERT INTO trackers VALUES('adlabs','AdLabs',1,'https://www.adlabs.ru/','adlabs','1167',NULL,NULL);\nINSERT INTO trackers VALUES('adlantic','AdLantic',1,'https://www.adlantic.nl/','adlantic_online_advertising','2000',NULL,NULL);\nINSERT INTO trackers VALUES('adlantis','AdLantis',1,'http://www.adlantis.jp/','adlantis','684',NULL,NULL);\nINSERT INTO trackers VALUES('adless','Adless',1,NULL,'adless','3159',NULL,NULL);\nINSERT INTO trackers VALUES('adlive_header_bidding','Adlive Header Bidding',1,NULL,'adlive','3130',NULL,NULL);\nINSERT INTO trackers VALUES('adloox','Adloox',1,'http://www.adloox.com','adloox','943',NULL,NULL);\nINSERT INTO trackers VALUES('admachine','AdMachine',1,'https://admachine.co/',NULL,'4029',NULL,NULL);\nINSERT INTO trackers VALUES('adman','ADMAN',1,'https://www.adman.gr/','adman','1049',NULL,NULL);\nINSERT INTO trackers VALUES('adman_media','ADman Media',1,NULL,'ad_man_media','2624',NULL,NULL);\nINSERT INTO trackers VALUES('admantx.com','ADmantX',1,'http://www.admantx.com/','expert_system_spa','3317',NULL,NULL);\nINSERT INTO trackers VALUES('admaster.cn','AdMaster.cn',1,'http://www.admaster.com.cn/','admaster','1897',NULL,NULL);\nINSERT INTO trackers VALUES('admaster','AdMaster',1,'http://admaster.net','admaster','1314',NULL,NULL);\nINSERT INTO trackers VALUES('admatic','Admatic',1,NULL,'admatic','2433',NULL,NULL);\nINSERT INTO trackers VALUES('admatrix','Admatrix',1,NULL,'admatrix','2964',NULL,NULL);\nINSERT INTO trackers VALUES('admax','Admax',1,'http://www.admaxnetwork.com/index.php','komli','1239',NULL,NULL);\nINSERT INTO trackers VALUES('admaxim','AdMaxim',1,'http://admaxim.com/','admaxim','1707',NULL,NULL);\nINSERT INTO trackers VALUES('admaya','Admaya',1,'http://www.admaya.in/','admaya','1286',NULL,NULL);\nINSERT INTO trackers VALUES('admedia','AdMedia',1,'https://admedia.com/','admedia','647',NULL,NULL);\nINSERT INTO trackers VALUES('admedo_com','Admedo',1,'https://admedo.com/','admedo','2068',NULL,NULL);\nINSERT INTO trackers VALUES('admeira.ch','AdMeira',1,'https://admeira.ch/','admeira','3266',NULL,NULL);\nINSERT INTO trackers VALUES('admeld','AdMeld',1,'http://www.admeld.com','google','278',NULL,NULL);\nINSERT INTO trackers VALUES('admeo','Admeo',1,NULL,'admeo.ru','2560',NULL,NULL);\nINSERT INTO trackers VALUES('admeta','Admeta',1,'http://www.admeta.com/','admeta','642',NULL,NULL);\nINSERT INTO trackers VALUES('admicro','AdMicro',1,'http://www.admicro.vn/','admicro','862',NULL,NULL);\nINSERT INTO trackers VALUES('admitad.com','Admitad',1,'https://www.admitad.com/en/#','admitad','1306',NULL,NULL);\nINSERT INTO trackers VALUES('admixer.net','Admixer',1,'https://admixer.net/','admixer','1852',NULL,NULL);\nINSERT INTO trackers VALUES('admized','ADMIZED',7,NULL,NULL,'3318',NULL,NULL);\nINSERT INTO trackers VALUES('admo.tv','Admo.tv',1,'https://admo.tv/','admo.tv','2734',NULL,NULL);\nINSERT INTO trackers VALUES('admob','AdMob',1,'http://www.admob.com/','google','912',NULL,NULL);\nINSERT INTO trackers VALUES('admost','adMOST',1,'http://www.admost.com/','admost','839',NULL,NULL);\nINSERT INTO trackers VALUES('admotion','Admotion',1,'http://www.admotionus.com/','admotion','499',NULL,NULL);\nINSERT INTO trackers VALUES('admulti','ADmulti',1,'http://admulti.com','admulti','1312',NULL,NULL);\nINSERT INTO trackers VALUES('adnami','Adnami',1,'https://www.adnami.io','adnami','',NULL,NULL);\nINSERT INTO trackers VALUES('adnegah','Adnegah',1,NULL,'adnegah','2866',NULL,NULL);\nINSERT INTO trackers VALUES('adnet.de','adNET.de',1,'http://www.adnet.de','adnet.de','1413',NULL,NULL);\nINSERT INTO trackers VALUES('adnet','Adnet',1,'http://www.adnet.vn/','adnet','1116',NULL,NULL);\nINSERT INTO trackers VALUES('adnet_media','Adnet Media',1,'http://www.adnetmedia.lt/','adnet_media','1325',NULL,NULL);\nINSERT INTO trackers VALUES('adnetwork.net','AdNetwork.net',1,'http://www.adnetwork.net/','adnetwork.net','793',NULL,NULL);\nINSERT INTO trackers VALUES('adnetworkperformance.com','adnetworkperformance.com',7,NULL,NULL,'3319',NULL,NULL);\nINSERT INTO trackers VALUES('adnexio','AdNexio',1,NULL,'adnexio','2655',NULL,NULL);\nINSERT INTO trackers VALUES('adnium.com','Adnium',1,'https://adnium.com/',NULL,'3320',NULL,NULL);\nINSERT INTO trackers VALUES('adnologies','Adnologies',1,'http://www.adnologies.com/','adnologies_gmbh','529',NULL,NULL);\nINSERT INTO trackers VALUES('adnow','Adnow',1,NULL,'adnow','2470',NULL,NULL);\nINSERT INTO trackers VALUES('adnymics','Adnymics',1,NULL,'adnymics','2463',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_advertising_cloud','Adobe Advertising Cloud',1,'https://business.adobe.com/products/advertising.html','adobe','',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_audience_manager','Adobe Audience Manager',1,'http://www.demdex.com/','adobe','354',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_dynamic_media','Adobe Dynamic Media',6,NULL,'adobe','3828',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_dynamic_tag_management','Adobe Dynamic Tag Management',11,'https://dtm.adobe.com/sign_in','adobe','2307',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_experience_cloud','Adobe Experience Cloud',9,'https://www.adobe.com/experience-cloud.html','adobe','19',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_login','Adobe Login',4,'https://www.adobe.com/','adobe','3321',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_tagmanager','Adobe TagManager',1,'https://www.adobe.com/','adobe','1377',NULL,NULL);\nINSERT INTO trackers VALUES('adobe_test_and_target','Adobe Target',1,'https://www.adobe.com/marketing/target.html','adobe','113',NULL,'adobe_experience_cloud');\nINSERT INTO trackers VALUES('adobe_typekit','Adobe Typekit',11,'https://www.adobe.com/','adobe','1154',NULL,NULL);\nINSERT INTO trackers VALUES('adocean','AdOcean',1,'http://adocean.cz/en','adocean','621',NULL,NULL);\nINSERT INTO trackers VALUES('adometry','Adometry',1,'http://www.adometry.com/','google','586',NULL,NULL);\nINSERT INTO trackers VALUES('adomik','Adomik',1,NULL,NULL,'3322',NULL,NULL);\nINSERT INTO trackers VALUES('adon_network','AdOn Network',1,'https://www.adonnetwork.com/','adon_network','800',NULL,NULL);\nINSERT INTO trackers VALUES('adonion','AdOnion',1,'http://www.adonion.com/','adonion','673',NULL,NULL);\nINSERT INTO trackers VALUES('adonly','AdOnly',1,'https://gloadmarket.com/','adonly','1944',NULL,NULL);\nINSERT INTO trackers VALUES('adoperator','AdOperator',1,'https://www.adoperator.com/start/','adoperator','999',NULL,NULL);\nINSERT INTO trackers VALUES('adoric','Adoric',9,NULL,'adoric','2708',NULL,NULL);\nINSERT INTO trackers VALUES('adorika','Adorika',1,'https://www.adorika.com/','adorika','613',NULL,NULL);\nINSERT INTO trackers VALUES('adosia','Adosia',1,NULL,'adosia','2283',NULL,NULL);\nINSERT INTO trackers VALUES('adotmob.com','Adotmob',1,'https://adotmob.com/','adotmob','3323',NULL,NULL);\nINSERT INTO trackers VALUES('adotube','AdoTube',1,'http://www.adotube.com','exponential_interactive','722',NULL,NULL);\nINSERT INTO trackers VALUES('adparlor','AdParlor',1,'http://www.adparlor.com/','fluent','1775',NULL,NULL);\nINSERT INTO trackers VALUES('adpartner','adpartner',1,NULL,'adpartner','3279',NULL,NULL);\nINSERT INTO trackers VALUES('adpeeps','Ad Peeps',1,'https://www.adpeeps.com/','ad_peeps','1677',NULL,NULL);\nINSERT INTO trackers VALUES('adperfect','AdPerfect',1,'https://www.adperfect.com/','adperfect','1888',NULL,NULL);\nINSERT INTO trackers VALUES('adperium','AdPerium',1,'http://www.adperium.com/','adperium','583',NULL,NULL);\nINSERT INTO trackers VALUES('adpilot','AdPilot',1,'http://www.adpilotgroup.com/','adpilot','3093',NULL,NULL);\nINSERT INTO trackers VALUES('adplan','AdPlan',1,'http://www.adplan.ne.jp/','adplan','679',NULL,NULL);\nINSERT INTO trackers VALUES('adplus','ADPLUS',1,'http://www.adplus.co.id/','adplus','1355',NULL,NULL);\nINSERT INTO trackers VALUES('adprofy','AdProfy',1,'http://adprofy.com/','adprofy','1650',NULL,NULL);\nINSERT INTO trackers VALUES('adpulse','AdPulse',1,NULL,'adpulse.ir','2901',NULL,NULL);\nINSERT INTO trackers VALUES('adpv','Adpv',1,'http://www.adpv.com/','adpv','1160',NULL,NULL);\nINSERT INTO trackers VALUES('adreactor','AdReactor',1,'https://www.adreactor.com/','adreactor','620',NULL,NULL);\nINSERT INTO trackers VALUES('adrecord','Adrecord',1,'https://www.adrecord.com/','adrecord','1401',NULL,NULL);\nINSERT INTO trackers VALUES('adrecover','AdRecover',1,'https://www.adrecover.com/','adpushup','3324',NULL,NULL);\nINSERT INTO trackers VALUES('adresult','ADResult',1,'http://www.adresult.jp/','adresult','2064',NULL,NULL);\nINSERT INTO trackers VALUES('adriver','AdRiver',1,'https://www.adriver.ru/','ad_river','209',NULL,NULL);\nINSERT INTO trackers VALUES('adroll','AdRoll',1,'https://www.adroll.com/','adroll','340',NULL,NULL);\nINSERT INTO trackers VALUES('adroll_pixel','AdRoll Pixel',1,NULL,'adroll','2890',NULL,'adroll');\nINSERT INTO trackers VALUES('adroll_roundtrip','AdRoll Roundtrip',1,NULL,'adroll','2921',NULL,'adroll');\nINSERT INTO trackers VALUES('adrom','adRom',1,'http://www.adrom.net/',NULL,'3325',NULL,NULL);\nINSERT INTO trackers VALUES('adru.net','adru.net',1,'http://adru.net/','adru.net','1277',NULL,NULL);\nINSERT INTO trackers VALUES('adrunnr','AdRunnr',1,NULL,'adrunnr','3042',NULL,NULL);\nINSERT INTO trackers VALUES('adsame','Adsame',1,'http://adsame.com/','adsame','1242',NULL,NULL);\nINSERT INTO trackers VALUES('adsbookie','AdsBookie',1,'https://adsbookie.com/',NULL,'3326',NULL,NULL);\nINSERT INTO trackers VALUES('adscale','AdScale',1,'http://www.adscale.de/','stroer','277',NULL,NULL);\nINSERT INTO trackers VALUES('adscience','Adscience',1,'http://www.adscience.nl/','adscience','2090',NULL,NULL);\nINSERT INTO trackers VALUES('adsco.re','Adscore',1,'https://www.adscore.com/',NULL,'3327',NULL,NULL);\nINSERT INTO trackers VALUES('adsensecamp','AdsenseCamp',1,'http://adsensecamp.com','adsensecamp','1036',NULL,NULL);\nINSERT INTO trackers VALUES('adserverpub','AdServerPub',1,'http://www.adserverpub.com/','adserverpub','907',NULL,NULL);\nINSERT INTO trackers VALUES('adservice_media','Adservice Media',1,'http://www.adservicemedia.com/','adservice_media','964',NULL,NULL);\nINSERT INTO trackers VALUES('adsfactor','Adsfactor',1,'http://www.adsfactor.com/','pixels_asia','1711',NULL,NULL);\nINSERT INTO trackers VALUES('adside','AdSide',1,'http://www.adside.com/','adside','272',NULL,NULL);\nINSERT INTO trackers VALUES('adskeeper','AdsKeeper',1,NULL,'adskeeper','2632',NULL,NULL);\nINSERT INTO trackers VALUES('adskom','ADSKOM',1,'http://adskom.com/','adskom','2136',NULL,NULL);\nINSERT INTO trackers VALUES('adslot','Adslot',1,'https://www.adslot.com/','adslot','1840',NULL,NULL);\nINSERT INTO trackers VALUES('adsmurai','ADSMURAI',1,'https://www.adsmurai.com','adsmurai','',NULL,NULL);\nINSERT INTO trackers VALUES('adsnative','adsnative',1,'http://www.adsnative.com/','adsnative','2059',NULL,NULL);\nINSERT INTO trackers VALUES('adsninja','Adsninja',1,'https://www.adsninja.com/','adsninja','',NULL,NULL);\nINSERT INTO trackers VALUES('adsniper.ru','AdSniper',1,'https://ad-sniper.com/','adsniper','2003',NULL,NULL);\nINSERT INTO trackers VALUES('adspeed','AdSpeed',1,'https://www.adspeed.com/','adspeed','406',NULL,NULL);\nINSERT INTO trackers VALUES('adspyglass','AdSpyglass',1,NULL,'adspyglass','2835',NULL,NULL);\nINSERT INTO trackers VALUES('adstage','AdStage',1,'https://www.adstage.io/','adstage','1804',NULL,NULL);\nINSERT INTO trackers VALUES('adstanding','AdStanding',1,NULL,'adstanding','2917',NULL,NULL);\nINSERT INTO trackers VALUES('adstars','Adstars',1,'http://adstars.co.id','adstars','1356',NULL,NULL);\nINSERT INTO trackers VALUES('adstir','adstir',1,'https://en.ad-stir.com/','united_inc','2039',NULL,NULL);\nINSERT INTO trackers VALUES('adsupply','AdSupply',1,'http://www.adsupply.com/','adsupply','1245',NULL,NULL);\nINSERT INTO trackers VALUES('adswizz','AdsWizz',1,'https://www.adswizz.com/','adswizz','1227',NULL,NULL);\nINSERT INTO trackers VALUES('adtaily','AdTaily',1,'http://www.adtaily.pl/','adtaily','1000',NULL,NULL);\nINSERT INTO trackers VALUES('adtarget.me','Adtarget.me',1,'https://www.adtarget.me/','adtarget.me','2158',NULL,NULL);\nINSERT INTO trackers VALUES('adtech','ADTECH',9,'http://www.adtechus.com/','verizon','355',NULL,NULL);\nINSERT INTO trackers VALUES('adtegrity','Adtegrity',1,'http://www.adtegrity.com/','adtegrity','227',NULL,NULL);\nINSERT INTO trackers VALUES('adtelligence.de','Adtelligence',1,'https://adtelligence.com/',NULL,'3328',NULL,NULL);\nINSERT INTO trackers VALUES('adtheorent','Adtheorent',1,'https://adtheorent.com/','adtheorant','3329',NULL,NULL);\nINSERT INTO trackers VALUES('adthink','Adthink',1,'https://adthink.com/','adthink','785',NULL,NULL);\nINSERT INTO trackers VALUES('adtiger','AdTiger',1,'https://www.adtiger.de/','adtiger','276',NULL,NULL);\nINSERT INTO trackers VALUES('adtima','Adtima',1,'https://adtima.vn/','adtima','2209',NULL,NULL);\nINSERT INTO trackers VALUES('adtng.com','adtng.com',8,NULL,NULL,'3330',NULL,NULL);\nINSERT INTO trackers VALUES('adtoma','Adtoma',1,'http://www.adtoma.com/','adtoma','1354',NULL,NULL);\nINSERT INTO trackers VALUES('adtr02.com','adtr02.com',7,NULL,NULL,'3331',NULL,NULL);\nINSERT INTO trackers VALUES('adtraction','Adtraction',1,'https://adtraction.com/','adtraction','1001',NULL,NULL);\nINSERT INTO trackers VALUES('adtraxx','AdTraxx',1,'https://www1.adtraxx.de/','adtrax','1274',NULL,NULL);\nINSERT INTO trackers VALUES('adtriba.com','Adtriba',9,'https://funnel.io/adtriba','funnel','3332',unistr('Funnel acquired Adtriba in June 2024.\\u000a\\u000aSource: https://funnel.io/adtriba'),NULL);\nINSERT INTO trackers VALUES('adtrue','Adtrue',1,NULL,'adtrue','2730',NULL,NULL);\nINSERT INTO trackers VALUES('adtrustmedia','AdTrustMedia',1,'https://adtrustmedia.com/','adtrustmedia','1788',NULL,NULL);\nINSERT INTO trackers VALUES('adtube','AdTube',1,NULL,'adtube','3016',NULL,NULL);\nINSERT INTO trackers VALUES('adult_webmaster_empire','Adult Webmaster Empire',8,'https://www.awempire.com/','adult_webmaster_empire','986',NULL,NULL);\nINSERT INTO trackers VALUES('adultadworld','AdultAdWorld',8,'http://adultadworld.com/','adult_adworld','74',NULL,NULL);\nINSERT INTO trackers VALUES('adup-tech.com','AdUp Technology',1,'https://www.adup-tech.com/','adup_technology','3303',NULL,NULL);\nINSERT INTO trackers VALUES('advaction','Advaction',1,'https://advaction.ru/','advaction','1849',NULL,NULL);\nINSERT INTO trackers VALUES('advalo','Advalo',1,NULL,'advalo','3255',NULL,NULL);\nINSERT INTO trackers VALUES('advanced_hosters','Advanced Hosters',6,'https://advancedhosters.com/',NULL,'3333',NULL,NULL);\nINSERT INTO trackers VALUES('advark','Advark',1,NULL,'advark','2386',NULL,NULL);\nINSERT INTO trackers VALUES('adventori','ADventori',7,NULL,'adventori','3334',NULL,NULL);\nINSERT INTO trackers VALUES('adverline','Adverline',1,'http://www.adverline.com/','adverline','821',NULL,NULL);\nINSERT INTO trackers VALUES('adversal','Adversal',1,'https://www.adversal.com/','adversal','742',NULL,NULL);\nINSERT INTO trackers VALUES('adverserve','adverServe',1,'https://www.adverserve.com/','adverserve','1683',NULL,NULL);\nINSERT INTO trackers VALUES('adverteerdirect','Adverteerdirect',1,'http://www.adverteerdirect.nl/','adverteerdirect','960',NULL,NULL);\nINSERT INTO trackers VALUES('adverticum','Adverticum',1,'https://adverticum.net/english/','adverticum','1133',NULL,NULL);\nINSERT INTO trackers VALUES('advertise.com','Advertise.com',1,'http://advertise.com/','advertise.com','686',NULL,NULL);\nINSERT INTO trackers VALUES('advertisespace','AdvertiseSpace',1,'https://www.advertisespace.com/','advertisespace','603',NULL,NULL);\nINSERT INTO trackers VALUES('advertising.com','Verizon Media',1,'https://www.verizonmedia.com/','verizon','88',NULL,NULL);\nINSERT INTO trackers VALUES('advertlets','Advertlets',1,'http://www.advertlets.com/','advertlets','1426',NULL,NULL);\nINSERT INTO trackers VALUES('advertserve','AdvertServe',1,'https://secure.advertserve.com/','advertserve','2542',NULL,NULL);\nINSERT INTO trackers VALUES('advidi','Advidi',1,'https://advidi.com/','advidi','2011',NULL,NULL);\nINSERT INTO trackers VALUES('advmaker.ru','advmaker.ru',1,'http://advmaker.ru/','advmaker.ru','952',NULL,NULL);\nINSERT INTO trackers VALUES('advolution','Advolution',1,'http://www.advolution.de','advolution','1929',NULL,NULL);\nINSERT INTO trackers VALUES('adwebster','adwebster',1,'http://adwebster.com','adwebster','2071',NULL,NULL);\nINSERT INTO trackers VALUES('adwit','Adwit',1,'http://www.adwitserver.com','adwit','888',NULL,NULL);\nINSERT INTO trackers VALUES('adworx.at','ADworx',1,'http://www.adworx.at/','ors','3066',NULL,NULL);\nINSERT INTO trackers VALUES('adworxs.net','adworxs.net',1,'http://www.adworxs.net/?lang=en',NULL,'3335',NULL,NULL);\nINSERT INTO trackers VALUES('adxion','adXion',1,'http://www.adxion.com','adxion','1251',NULL,NULL);\nINSERT INTO trackers VALUES('adxpansion','AdXpansion',8,'http://www.adxpansion.com/','adxpansion','481',NULL,NULL);\nINSERT INTO trackers VALUES('adxpose','AdXpose',1,'http://www.adxpose.com/home.page','comscore','496',NULL,NULL);\nINSERT INTO trackers VALUES('adxprtz.com','adxprtz.com',1,NULL,NULL,'3336',NULL,NULL);\nINSERT INTO trackers VALUES('adyoulike','Adyoulike',1,'https://www.adyoulike.com/','adyoulike','1596',NULL,NULL);\nINSERT INTO trackers VALUES('adzerk','Adzerk',1,'https://adzerk.com/','adzerk','1066',NULL,NULL);\nINSERT INTO trackers VALUES('adzly','adzly',1,'http://www.adzly.com/','adzly','822',NULL,NULL);\nINSERT INTO trackers VALUES('aemediatraffic','Aemediatraffic',9,NULL,NULL,'3337',NULL,NULL);\nINSERT INTO trackers VALUES('aerify_media','Aerify Media',1,'http://aerifymedia.com/','aerify_media','1513',NULL,NULL);\nINSERT INTO trackers VALUES('aeris_weather','Aeris Weather',4,'https://www.aerisweather.com/','aerisweather','1601',NULL,NULL);\nINSERT INTO trackers VALUES('affectv','Hybrid Theory',1,'https://hybridtheory.com/','affectv','1468',NULL,NULL);\nINSERT INTO trackers VALUES('affiliate-b','Affiliate-B',1,'https://www.affiliate-b.com/','affiliate_b','1812',NULL,NULL);\nINSERT INTO trackers VALUES('affiliate4you','Affiliate4You',1,'http://www.affiliate4you.nl/','family_blend','1441',NULL,NULL);\nINSERT INTO trackers VALUES('affiliatebuzz','AffiliateBuzz',1,'http://www.affiliatebuzz.com/','affiliatebuzz','394',NULL,NULL);\nINSERT INTO trackers VALUES('affiliatefuture','AffiliateFuture',1,'http://www.affiliatefuture.com','affiliatefuture','1378',NULL,NULL);\nINSERT INTO trackers VALUES('affiliatelounge','AffiliateLounge',1,'http://www.affiliatelounge.com/','betsson_group_affiliates','1048',NULL,NULL);\nINSERT INTO trackers VALUES('affiliation_france','Affiliation France',1,'http://www.affiliation-france.com/','affiliation-france','1975',NULL,NULL);\nINSERT INTO trackers VALUES('affiliator','Affiliator',1,'http://www.affiliator.com/','affiliator','1385',NULL,NULL);\nINSERT INTO trackers VALUES('affiliaweb','Affiliaweb',1,'https://affiliaweb.fr/','affiliaweb','1999',NULL,NULL);\nINSERT INTO trackers VALUES('affilinet','affilinet',1,'https://www.affili.net/','axel_springer','2330',NULL,NULL);\nINSERT INTO trackers VALUES('affimax','AffiMax',1,'https://www.affimax.de','affimax','1197',NULL,NULL);\nINSERT INTO trackers VALUES('affinity.by','Affinity.by',1,'http://affinity.by','affinity_digital_agency','1871',NULL,NULL);\nINSERT INTO trackers VALUES('affinity','Affinity',1,'https://www.affinity.com/','affinity','1173',NULL,NULL);\nINSERT INTO trackers VALUES('affiz_cpm','Affiz CPM',1,'http://cpm.affiz.com/home','affiz_cpm','1974',NULL,NULL);\nINSERT INTO trackers VALUES('afftrack','Afftrack',9,NULL,'afftrack','2634',NULL,NULL);\nINSERT INTO trackers VALUES('afgr2.com','afgr2.com',8,NULL,NULL,'3338',NULL,NULL);\nINSERT INTO trackers VALUES('afilio','Afilio',9,NULL,'afilio','2647',NULL,NULL);\nINSERT INTO trackers VALUES('afs_analystics','AFS Analystics',9,NULL,'afs_analytics','2393',NULL,NULL);\nINSERT INTO trackers VALUES('aftership_email','AfterShip Email (formerly Automizely)',9,'https://www.aftership.com/email','aftership','',NULL,NULL);\nINSERT INTO trackers VALUES('aftonbladet_ads','Aftonbladet Ads',1,'http://annonswebb.aftonbladet.se/','aftonbladet','1749',NULL,NULL);\nINSERT INTO trackers VALUES('aftv-serving.bid','aftv-serving.bid',1,NULL,NULL,'3339',NULL,NULL);\nINSERT INTO trackers VALUES('aggle','GrowthCode Analysis',9,'https://gcprivacy.com/','growthcode','',NULL,NULL);\nINSERT INTO trackers VALUES('aggregate_knowledge','Aggregate Knowledge',1,'http://www.aggregateknowledge.com/','neustar','400',NULL,NULL);\nINSERT INTO trackers VALUES('agilone','AgilOne',9,'http://www.agilone.com/','agilone','1577',NULL,NULL);\nINSERT INTO trackers VALUES('agora','Agora',1,'https://www.agora.pl/','agora_sa','1747',NULL,NULL);\nINSERT INTO trackers VALUES('ahalogy','Ahalogy',10,'http://www.ahalogy.com/','ahalogy','1639',NULL,NULL);\nINSERT INTO trackers VALUES('ahrefs','Ahrefs',11,'https://help.ahrefs.com/en/articles/10247870-about-ahrefs-web-analytics','ahrefs','',NULL,NULL);\nINSERT INTO trackers VALUES('ai_media_group','Ai Media Group',1,'http://aimediagroup.com/','ai_media_group','1656',NULL,NULL);\nINSERT INTO trackers VALUES('aidata','Aidata',1,'https://aidata.me/','aidata','1863',NULL,NULL);\nINSERT INTO trackers VALUES('aidem','Aidem',1,'https://aidem.com/','aidem','',NULL,NULL);\nINSERT INTO trackers VALUES('aim4media','Aim4Media',1,'http://aim4media.com','aim4media','2014',NULL,NULL);\nINSERT INTO trackers VALUES('aimtell','Aimtell',9,'https://aimtell.com/','digital_media_solutions','',NULL,NULL);\nINSERT INTO trackers VALUES('airbnb','Airbnb',9,'https://affiliate.withairbnb.com/',NULL,'3340',NULL,NULL);\nINSERT INTO trackers VALUES('airbrake','Airbrake',1,'https://airbrake.io/','airbrake','2380',NULL,NULL);\nINSERT INTO trackers VALUES('airbridge','Airbridge',9,'https://www.arcpublishing.com/','airbridge','',NULL,NULL);\nINSERT INTO trackers VALUES('airfrance-connect','AirFrance Connect',9,'https://airfrance.com/','airfranceklm','',NULL,NULL);\nINSERT INTO trackers VALUES('airpr.com','AirPR',9,'https://airpr.com/','airpr','3267',NULL,NULL);\nINSERT INTO trackers VALUES('airpush','Airpush',1,NULL,'airpush','2478',NULL,NULL);\nINSERT INTO trackers VALUES('akamai_technologies','Akamai Technologies',6,'https://www.akamai.com/','akamai','2263',NULL,NULL);\nINSERT INTO trackers VALUES('akamoihd.net','akamoihd.net',5,NULL,NULL,'3341',NULL,NULL);\nINSERT INTO trackers VALUES('akane','AkaNe',1,NULL,'akane','2384',NULL,NULL);\nINSERT INTO trackers VALUES('akanoo','Akanoo',9,'https://www.akanoo.com/','akanoo','2150',NULL,NULL);\nINSERT INTO trackers VALUES('akavita','Akavita',1,'http://www.akavita.by/en','akavita','1226',NULL,NULL);\nINSERT INTO trackers VALUES('al_bawaba_advertising','Al Bawaba Advertising',1,'https://www.albawaba.com/advertising','al_bawaba','906',NULL,NULL);\nINSERT INTO trackers VALUES('albacross','Albacross',1,NULL,'albacross','3208',NULL,NULL);\nINSERT INTO trackers VALUES('aldi-international.com','aldi-international.com',7,NULL,NULL,'3342',NULL,NULL);\nINSERT INTO trackers VALUES('alephd.com','alephd',1,'https://www.alephd.com/','verizon','3343',NULL,NULL);\nINSERT INTO trackers VALUES('alexa_metrics','Alexa Metrics',9,'https://www.alexa.com/','amazon_associates','212',NULL,NULL);\nINSERT INTO trackers VALUES('alexa_traffic_rank','Alexa Traffic Rank',1,'https://www.alexa.com/','amazon_associates','83',NULL,NULL);\nINSERT INTO trackers VALUES('algolia.net','Algolia',11,'https://www.algolia.com/','algolia','3344',NULL,NULL);\nINSERT INTO trackers VALUES('algovid.com','algovid.com',7,NULL,NULL,'3345',NULL,NULL);\nINSERT INTO trackers VALUES('alibaba.com','Alibaba',7,NULL,'alibaba','3346',NULL,NULL);\nINSERT INTO trackers VALUES('alipay.com','Alipay',4,'https://www.alipay.com/','alibaba','3347',NULL,NULL);\nINSERT INTO trackers VALUES('alive5','Alive5',4,'https://www.alive5.com/','alive_technologies','',NULL,NULL);\nINSERT INTO trackers VALUES('alivechat','AliveChat',4,'http://www.websitealive.com/','websitealive','397',NULL,NULL);\nINSERT INTO trackers VALUES('allegro.pl','Allegro',7,'https://allegro.pl','allegro.pl','3348',NULL,NULL);\nINSERT INTO trackers VALUES('alliance_gravity','Alliance Gravity',9,'https://www.alliancegravity.com/','alliance_gravity','',NULL,NULL);\nINSERT INTO trackers VALUES('allin','Allin',9,NULL,'allin','2637',NULL,NULL);\nINSERT INTO trackers VALUES('allo-pages.fr','Allo-Pages',4,'http://www.allo-pages.fr/','links_lab','3349',NULL,NULL);\nINSERT INTO trackers VALUES('allotraffic','AlloTraffic',1,'https://www.allotraffic.com/','allotraffic','1997',NULL,NULL);\nINSERT INTO trackers VALUES('allure_media','Allure Media',1,'http://www.alluremedia.com.au','allure_media','1475',NULL,NULL);\nINSERT INTO trackers VALUES('allyes','Allyes',1,'http://www.allyes.com/','allyes','1240',NULL,NULL);\nINSERT INTO trackers VALUES('alooma','Alooma',1,NULL,'alooma','3074',NULL,NULL);\nINSERT INTO trackers VALUES('alphareview','AlphaReview',9,'https://front.global-alpha-dev.click/home/main','saladlab','',NULL,NULL);\nINSERT INTO trackers VALUES('altitude_digital','Altitude Digital',1,'http://www.altitudedigital.com/','altitude_digital','2081',NULL,NULL);\nINSERT INTO trackers VALUES('amadesa','Amadesa',1,'http://www.amadesa.com/','amadesa','337',NULL,NULL);\nINSERT INTO trackers VALUES('amazon','Amazon.com',7,'https://www.amazon.com','amazon_associates','',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_adsystem','Amazon Advertising',1,'https://advertising.amazon.com/','amazon_associates','2480',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_associates','Amazon Associates',1,'https://aws.amazon.com/associates/','amazon_associates','33',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_cdn','Amazon CDN',6,'https://www.amazon.com','amazon_associates','3351',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_cloudfront','Amazon CloudFront',6,'https://aws.amazon.com/cloudfront/?nc1=h_ls','amazon_associates','3352',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_metrics','Amazon Metrics',9,'https://www.amazon.com/','amazon_associates','',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_mobile_ads','Amazon Mobile Ads',1,'https://advertising.amazon.com/library/guides/mobile-advertising','amazon_associates','2529',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_payments','Amazon Payments',4,'https://pay.amazon.com/','amazon_associates','3353',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_video','Amazon Instant Video',2,'https://www.amazon.com','amazon_associates','3354',NULL,NULL);\nINSERT INTO trackers VALUES('amazon_web_services','Amazon Web Services',6,'https://aws.amazon.com/','amazon_associates','3355',NULL,NULL);\nINSERT INTO trackers VALUES('ambient_digital','Ambient Digital',1,'http://www.adnetwork.vn/','ambient_digital','861',NULL,NULL);\nINSERT INTO trackers VALUES('amgload.net','amgload.net',7,NULL,NULL,'3356',NULL,NULL);\nINSERT INTO trackers VALUES('amoad','AMoAd',1,'https://www.amoad.com/','amoad','2035',NULL,NULL);\nINSERT INTO trackers VALUES('amobee','Amobee',1,'https://www.amobee.com/','singtel','1693',NULL,NULL);\nINSERT INTO trackers VALUES('amp_platform','AMP Platform',1,'https://www.collective.com/','collective','200',NULL,NULL);\nINSERT INTO trackers VALUES('amplitude','Amplitude',9,'https://amplitude.com/','amplitude','2175',NULL,NULL);\nINSERT INTO trackers VALUES('ampproject.org','AMP Project',11,'https://amp.dev/','openjsf','3357',NULL,NULL);\nINSERT INTO trackers VALUES('anametrix','Anametrix',9,'http://anametrix.com/','anametrix','1465',NULL,NULL);\nINSERT INTO trackers VALUES('ancestry_cdn','Ancestry CDN',6,'https://www.ancestry.com/','ancestry','3358',NULL,NULL);\nINSERT INTO trackers VALUES('ancora','Ancora',9,NULL,'ancora','2660',NULL,NULL);\nINSERT INTO trackers VALUES('anetwork','Anetwork',1,'http://anetwork.ir/','anetwork','1730',NULL,NULL);\nINSERT INTO trackers VALUES('aniview.com','Aniview',1,'https://www.aniview.com/','aniview','3359',NULL,NULL);\nINSERT INTO trackers VALUES('anonymised','Anonymised',1,'https://www.anonymised.io/','anonymised','',NULL,NULL);\nINSERT INTO trackers VALUES('anonymousads','AnonymousAds',1,'https://a-ads.com/','anonymousads','1755',NULL,NULL);\nINSERT INTO trackers VALUES('anormal_tracker','Anormal Tracker',9,'http://anormal-tracker.de/','anormal-tracker','571',NULL,NULL);\nINSERT INTO trackers VALUES('answers_cloud_service','Answers Cloud Service',4,NULL,'answers.com','2302',NULL,NULL);\nINSERT INTO trackers VALUES('ants','Ants',10,'https://ants.vn/en/','ants','2211',NULL,NULL);\nINSERT INTO trackers VALUES('anvato','Anvato',2,'https://www.anvato.com/','google','2419',NULL,NULL);\nINSERT INTO trackers VALUES('anyclip','AnyClip',2,NULL,'anyclip','3293',NULL,NULL);\nINSERT INTO trackers VALUES('aol_be_on','AOL Be On',1,'http://beon.aolnetworks.com/','verizon','2083',NULL,NULL);\nINSERT INTO trackers VALUES('aol_cdn','AOL CDN',9,NULL,'verizon','2325',NULL,NULL);\nINSERT INTO trackers VALUES('aol_images_cdn','AOL Images CDN',6,NULL,'verizon','3125',NULL,'aol_cdn');\nINSERT INTO trackers VALUES('apa.at','Apa',7,'http://www.apa.at/Site/index.de.html','apa','3360',NULL,NULL);\nINSERT INTO trackers VALUES('apester','Apester',1,'https://apester.com/','apester','2930',NULL,NULL);\nINSERT INTO trackers VALUES('apicit.net','apicit.net',1,NULL,NULL,'3361',NULL,NULL);\nINSERT INTO trackers VALUES('aplus_analytics','Aplus Analytics',9,'https://ww.deluxe.com/','deluxe','1753',NULL,NULL);\nINSERT INTO trackers VALUES('apollo','Apollo',9,'https://www.apollo.io/','zenleads','',NULL,NULL);\nINSERT INTO trackers VALUES('appcenter','AppCenter',9,'https://api.appcenter.it/','monforte','',NULL,NULL);\nINSERT INTO trackers VALUES('appconsent','AppConsent',3,'https://sfbx.io/','sfbx','',NULL,NULL);\nINSERT INTO trackers VALUES('appcues','Appcues',4,'https://www.appcues.com/',NULL,'3362',NULL,NULL);\nINSERT INTO trackers VALUES('appdynamics','AppDynamics',11,'https://www.appdynamics.com','appdynamics','1740',NULL,NULL);\nINSERT INTO trackers VALUES('appier','Appier',1,NULL,'appier','2927',NULL,NULL);\nINSERT INTO trackers VALUES('apple_pay','Apple Pay',11,'https://www.apple.com/apple-pay/','apple','',NULL,NULL);\nINSERT INTO trackers VALUES('applifier','Applifier',1,'http://www.applifier.com/','applifier','1893',NULL,NULL);\nINSERT INTO trackers VALUES('applovin','AppLovin',1,NULL,'applovin','2369',NULL,NULL);\nINSERT INTO trackers VALUES('appmetrx','AppMetrx',1,'http://www.engago.com','engago_technologies','802',NULL,NULL);\nINSERT INTO trackers VALUES('appnexus','AppNexus',1,'http://www.appnexus.com/','microsoft','170',NULL,NULL);\nINSERT INTO trackers VALUES('appsflyer','AppsFlyer',9,'https://www.appsflyer.com/','appsflyer','3363',NULL,NULL);\nINSERT INTO trackers VALUES('apptv','appTV',1,'http://www.apptv.com/','apptv','1987',NULL,NULL);\nINSERT INTO trackers VALUES('apsis_one','APSIS One',1,'https://apsis.com/','efficy','',NULL,NULL);\nINSERT INTO trackers VALUES('apture','Apture',4,'http://www.apture.com/','google','254',NULL,NULL);\nINSERT INTO trackers VALUES('arcpublishing','Arc Publishing',9,'https://www.arcpublishing.com/','arc_publishing','3287',NULL,NULL);\nINSERT INTO trackers VALUES('ard.de','ard.de',2,NULL,NULL,'3364',NULL,NULL);\nINSERT INTO trackers VALUES('are_you_a_human','Are You a Human',9,'https://areyouahuman.com/','distil_networks','3365',NULL,NULL);\nINSERT INTO trackers VALUES('arkoselabs.com','Arkose Labs',9,'https://www.arkoselabs.com/',NULL,'3366',NULL,NULL);\nINSERT INTO trackers VALUES('art19','Art19',1,'https://art19.com/','art19','3367',NULL,NULL);\nINSERT INTO trackers VALUES('artimedia','Artimedia',1,NULL,'artimedia','2753',NULL,NULL);\nINSERT INTO trackers VALUES('artlebedev.ru','Art.Lebedev',7,'https://www.artlebedev.ru/','art.lebedev_studio','3368',NULL,NULL);\nINSERT INTO trackers VALUES('aruba_media_marketing','Aruba Media Marketing',1,'http://www.arubamediamarketing.it/','aruba_media_marketing','1007',NULL,NULL);\nINSERT INTO trackers VALUES('arvato_canvas_fp','Arvato Canvas FP',9,NULL,'arvato','2668',NULL,NULL);\nINSERT INTO trackers VALUES('asambeauty.com','asambeauty.com',7,'https://www.asambeauty.com/',NULL,'3369',NULL,NULL);\nINSERT INTO trackers VALUES('ask.com','Ask.com',10,NULL,NULL,'3370',NULL,NULL);\nINSERT INTO trackers VALUES('aspnetcdn','Microsoft Ajax CDN',6,NULL,'microsoft','3371',NULL,NULL);\nINSERT INTO trackers VALUES('assertive_communications','Assertive Communications',1,'https://assertcom.de/','assertive_communications','',NULL,NULL);\nINSERT INTO trackers VALUES('assertive_yield','Assertive Yield',9,'https://www.assertiveyield.com/','assertive_yield','',NULL,NULL);\nINSERT INTO trackers VALUES('assertive_yield_prebid_server','AY Prebid Server',9,'https://www.assertiveyield.com/ay_prebidserver/','assertive_yield','',NULL,'assertive_yield');\nINSERT INTO trackers VALUES('astronomer','Astronomer',9,NULL,'astronomer','3195',NULL,NULL);\nINSERT INTO trackers VALUES('atedra','Atedra',1,'https://www.atedra.com/','atedra','1644',NULL,NULL);\nINSERT INTO trackers VALUES('atg_group','ATG Ad Tech Group',1,'https://ad-tech-group.com/',NULL,'3372',NULL,NULL);\nINSERT INTO trackers VALUES('atg_optimization','ATG Optimization',1,'http://www.atg.com/en/products-services/optimization/','oracle','435',NULL,NULL);\nINSERT INTO trackers VALUES('atg_recommendations','ATG Recommendations',1,'http://www.atg.com/en/products-services/optimization/recommendations/','oracle','438',NULL,NULL);\nINSERT INTO trackers VALUES('atlas','Atlas',1,'https://atlassolutions.com','facebook','185',NULL,NULL);\nINSERT INTO trackers VALUES('atlas_profitbuilder','Atlas ProfitBuilder',1,'https://www.atlassolutions.com/','atlas','301',NULL,NULL);\nINSERT INTO trackers VALUES('atlassian.net','Atlassian',4,'https://www.atlassian.com/','atlassian','3374',NULL,NULL);\nINSERT INTO trackers VALUES('atlassian_marketplace','Atlassian Marketplace',6,'https://marketplace.atlassian.com/','atlassian','3373',NULL,NULL);\nINSERT INTO trackers VALUES('atomz_search','Atomz Search',4,'http://atomz.com/','atomz','1599',NULL,NULL);\nINSERT INTO trackers VALUES('atsfi_de','atsfi.de',7,NULL,'axel_springer','3375',NULL,NULL);\nINSERT INTO trackers VALUES('attracta','Attracta',1,'https://www.attracta.com/','attracta','831',NULL,NULL);\nINSERT INTO trackers VALUES('attraqt','Attraqt',9,'http://www.locayta.com/','attraqt','1554',NULL,NULL);\nINSERT INTO trackers VALUES('auction','Auction',1,'https://auction.co.kr/','shinsegae','',NULL,NULL);\nINSERT INTO trackers VALUES('audience2media','Audience2Media',1,'https://www.audience2media.com/','audience2media','1469',NULL,NULL);\nINSERT INTO trackers VALUES('audience_ad_network','Audience Ad Network',1,'http://www.audienceadnetwork.com','bridgeline_digital','1051',NULL,NULL);\nINSERT INTO trackers VALUES('audience_science','Audience Science',1,'https://www.audiencescience.com/','audiencescience','56',NULL,NULL);\nINSERT INTO trackers VALUES('audiencerate','AudienceRate',1,'https://www.audiencerate.com/','audiencerate','1203',NULL,NULL);\nINSERT INTO trackers VALUES('audiencesquare.com','Audience Square',1,'http://www.audiencesquare.fr/','audience_square','3056',NULL,NULL);\nINSERT INTO trackers VALUES('audigent','Audience Square',1,'http://www.audiencesquare.fr/','audigent','',NULL,NULL);\nINSERT INTO trackers VALUES('audioeye','audioeye',9,'http://www.audioeye.com/','audioeye','',NULL,NULL);\nINSERT INTO trackers VALUES('auditude','Auditude',2,'http://www.auditude.com/','adobe','740',NULL,NULL);\nINSERT INTO trackers VALUES('audtd.com','Auditorius',1,'https://www.auditorius.ru/','auditorius','2113',NULL,NULL);\nINSERT INTO trackers VALUES('augur','Augur',9,NULL,'augur','3197',NULL,NULL);\nINSERT INTO trackers VALUES('aumago','Aumago',1,'https://www.aumago.com/','aumago','2053',NULL,NULL);\nINSERT INTO trackers VALUES('aurea_clicktracks','Aurea ClickTracks',1,'http://www.clicktracks.com/','aurea','153',NULL,NULL);\nINSERT INTO trackers VALUES('ausgezeichnet_org','ausgezeichnet.org',4,'http://ausgezeichnet.org/',NULL,'3376',NULL,NULL);\nINSERT INTO trackers VALUES('australia.gov','Australia.gov',1,NULL,'australian_government','2906',NULL,NULL);\nINSERT INTO trackers VALUES('auth0','Auth0 Inc.',9,'https://auth0.com/','auth0','3377',NULL,NULL);\nINSERT INTO trackers VALUES('autoid','AutoID',9,NULL,'autoid','3173',NULL,NULL);\nINSERT INTO trackers VALUES('autonomy','Autonomy',1,'http://www.optimost.com/','hp','297',NULL,NULL);\nINSERT INTO trackers VALUES('autonomy_campaign','Autonomy Campaign',1,'https://www.autonomy.com/','hp','1631',NULL,NULL);\nINSERT INTO trackers VALUES('autopilothq','Auto Pilot',1,'https://www.autopilothq.com/','autopilothq','2874',NULL,NULL);\nINSERT INTO trackers VALUES('autoscout24.com','Autoscout24',7,NULL,'scout24','3378',NULL,NULL);\nINSERT INTO trackers VALUES('avail','Avail',1,'http://avail.com','richrelevance','1559',NULL,NULL);\nINSERT INTO trackers VALUES('avanser','AVANSER',4,'http://www.avanser.com.au/','avanser','2187',NULL,NULL);\nINSERT INTO trackers VALUES('avant_metrics','Avant Metrics',9,NULL,'avantlink','3005',NULL,NULL);\nINSERT INTO trackers VALUES('avantlink','AvantLink',1,'https://www.avantlink.com/','avantlink','799',NULL,NULL);\nINSERT INTO trackers VALUES('avazu_network','Avazu Network',1,'http://www.avazudsp.net/','avazu_network','1057',NULL,NULL);\nINSERT INTO trackers VALUES('avenseo','Avenseo',1,'http://avenseo.com','avenseo','1624',NULL,NULL);\nINSERT INTO trackers VALUES('avid_media','Avid Media',2,'http://www.avidglobalmedia.com/','avid_media','2013',NULL,NULL);\nINSERT INTO trackers VALUES('avocet','Avocet',7,NULL,'avocet','3379',NULL,NULL);\nINSERT INTO trackers VALUES('aweber','AWeber',1,'https://www.aweber.com/','aweber_communications','867',NULL,NULL);\nINSERT INTO trackers VALUES('awin','AWIN',1,'https://www.awin.com','axel_springer','1002',NULL,NULL);\nINSERT INTO trackers VALUES('axeptio','Axeptio',3,'https://www.axept.io/','axeptio','',NULL,NULL);\nINSERT INTO trackers VALUES('axill','Axill',1,'http://www.axill.com/','axill','864',NULL,NULL);\nINSERT INTO trackers VALUES('azadify','Azadify',1,NULL,'azadify','2856',NULL,NULL);\nINSERT INTO trackers VALUES('azureedge.net','Azure CDN',6,'https://learn.microsoft.com/en-us/azure/security/fundamentals/azure-domains','microsoft','3380',NULL,NULL);\nINSERT INTO trackers VALUES('b2bcontext','B2BContext',1,'https://b2bcontext.ru/','b2bcontext','1309',NULL,NULL);\nINSERT INTO trackers VALUES('b2bvideo','B2Bvideo',1,'http://b2bvideo.ru/','b2bvideo','1168',NULL,NULL);\nINSERT INTO trackers VALUES('babator.com','Babator',9,'https://www.babator.com/',NULL,'3381',NULL,NULL);\nINSERT INTO trackers VALUES('back_beat_media','Back Beat Media',1,'http://www.backbeatmedia.com','backbeat_media','543',NULL,NULL);\nINSERT INTO trackers VALUES('backtype_widgets','BackType Widgets',1,'http://www.backtype.com/widgets','backtype','228',NULL,NULL);\nINSERT INTO trackers VALUES('bahn_de','Deutsche Bahn',7,NULL,NULL,'3382',NULL,NULL);\nINSERT INTO trackers VALUES('baidu_ads','Baidu Ads',1,'http://www.baidu.com/','baidu','1572',NULL,NULL);\nINSERT INTO trackers VALUES('baidu_static','Baidu Static',7,'https://www.baidu.com/','baidu','3383',NULL,NULL);\nINSERT INTO trackers VALUES('baletingo.com','baletingo.com',7,NULL,NULL,'3384',NULL,NULL);\nINSERT INTO trackers VALUES('bambuser','bambuser',4,'https://bambuser.com/','bambuser','',NULL,NULL);\nINSERT INTO trackers VALUES('bangdom.com','BangBros',8,NULL,NULL,'3385',NULL,NULL);\nINSERT INTO trackers VALUES('bankrate','Bankrate',1,NULL,'bankrate','3170',NULL,NULL);\nINSERT INTO trackers VALUES('banner_connect','Banner Connect',1,'http://www.bannerconnect.net/','bannerconnect','1127',NULL,NULL);\nINSERT INTO trackers VALUES('bannerflow.com','Bannerflow',1,'https://www.bannerflow.com/','bannerflow','3386',NULL,NULL);\nINSERT INTO trackers VALUES('bannerplay','BannerPlay',1,'http://www.bannerplay.com/','bannerplay','2065',NULL,NULL);\nINSERT INTO trackers VALUES('bannersnack','Bannersnack',1,NULL,'bannersnack','2465',NULL,NULL);\nINSERT INTO trackers VALUES('barilliance','Barilliance',1,'https://www.barilliance.com/','barilliance','826',NULL,NULL);\nINSERT INTO trackers VALUES('barometer','Barometer',4,'http://getbarometer.com/','barometer','1777',NULL,NULL);\nINSERT INTO trackers VALUES('basilic.io','basilic.io',9,'https://basilic.io/',NULL,'3387',NULL,NULL);\nINSERT INTO trackers VALUES('batanga_network','Batanga Network',1,'https://www.batanganetwork.com/','batanga_network','975',NULL,NULL);\nINSERT INTO trackers VALUES('batch_media','Batch Media',1,'http://batch.ba/','prosieben_sat1','3388',NULL,NULL);\nINSERT INTO trackers VALUES('bauer_media','Bauer Media',1,NULL,'bauer_media','2911',NULL,NULL);\nINSERT INTO trackers VALUES('baur.de','baur.de',7,NULL,NULL,'3389',NULL,NULL);\nINSERT INTO trackers VALUES('baynote_observer','Baynote Observer',1,'http://www.baynote.com/','baynote','98',NULL,NULL);\nINSERT INTO trackers VALUES('bazaarvoice','Bazaarvoice',4,'https://www.bazaarvoice.com/','bazaarvoice','974',NULL,NULL);\nINSERT INTO trackers VALUES('bbci','BBC',6,'https://bbc.co.uk',NULL,'3390',NULL,NULL);\nINSERT INTO trackers VALUES('bd4travel','bd4travel',1,NULL,'bd4travel','3171',NULL,NULL);\nINSERT INTO trackers VALUES('be_opinion','Be Opinion',4,NULL,'be_opinion','3073',NULL,NULL);\nINSERT INTO trackers VALUES('beachfront','Beachfront Media',1,'http://beachfrontmedia.com/','seedtag','3391',NULL,NULL);\nINSERT INTO trackers VALUES('beacon_ad_network','Beacon Ad Network',1,'https://beaconads.com/','beacon_ad_network','896',NULL,NULL);\nINSERT INTO trackers VALUES('beampulse.com','BeamPulse',1,'https://en.beampulse.com/',NULL,'3392',NULL,NULL);\nINSERT INTO trackers VALUES('beanstalk_data','Beanstalk Data',1,'https://www.beanstalkdata.com/','beanstalk_data','1672',NULL,NULL);\nINSERT INTO trackers VALUES('bebi','Bebi Media',1,'https://www.bebi.com/','bebi_media','2244',NULL,NULL);\nINSERT INTO trackers VALUES('beeketing.com','Beeketing',1,'https://beeketing.com/','beeketing','2395',NULL,NULL);\nINSERT INTO trackers VALUES('beeline.ru','Beeline',1,'https://moskva.beeline.ru/',NULL,'3393',NULL,NULL);\nINSERT INTO trackers VALUES('beeswax','Beeswax',1,NULL,'beeswax','2394',NULL,NULL);\nINSERT INTO trackers VALUES('beezup','BeezUP',1,'http://www.beezup.co.uk/','beezup','1669',NULL,NULL);\nINSERT INTO trackers VALUES('begun','Begun',1,'http://begun.ru/','begun','264',NULL,NULL);\nINSERT INTO trackers VALUES('behavioralengine','BehavioralEngine',1,'http://www.behavioralengine.com/','behavioralengine','1817',NULL,NULL);\nINSERT INTO trackers VALUES('belboon_gmbh','belboon GmbH',7,NULL,NULL,'3394',NULL,NULL);\nINSERT INTO trackers VALUES('belco','Belco',4,NULL,'belco','3160',NULL,NULL);\nINSERT INTO trackers VALUES('belstat','BelStat',9,'https://www.belstat.com/','belstat','884',NULL,NULL);\nINSERT INTO trackers VALUES('bemobile.ua','Bemobile',6,'https://bemobile.ua/en/','bemobile','3395',NULL,NULL);\nINSERT INTO trackers VALUES('bench_platform','Bench Platform',1,NULL,'bench_platform','3231',NULL,NULL);\nINSERT INTO trackers VALUES('betterttv','BetterTTV',10,'https://nightdev.com/betterttv/','nightdev','3396',NULL,NULL);\nINSERT INTO trackers VALUES('betweendigital.com','Between Digital',1,'https://betweendigital.ru/ssp','between_digital','1488',NULL,NULL);\nINSERT INTO trackers VALUES('bid.run','Bid Run',1,'http://bid.run/','bid.run','3024',NULL,NULL);\nINSERT INTO trackers VALUES('bidgear','BidGear',9,'https://bidgear.com/','bidgear','4036',NULL,NULL);\nINSERT INTO trackers VALUES('bidswitch','Bidswitch',1,NULL,'criteo','2749',NULL,NULL);\nINSERT INTO trackers VALUES('bidtellect','Bidtellect',1,'https://www.bidtellect.com/','bidtellect','2994',NULL,NULL);\nINSERT INTO trackers VALUES('bidtheatre','BidTheatre',1,'https://www.bidtheatre.com/','bidtheatre','2102',NULL,NULL);\nINSERT INTO trackers VALUES('bidvertiser','BidVertiser',1,'https://www.bidvertiser.com/','bidvertiser','273',NULL,NULL);\nINSERT INTO trackers VALUES('big_mobile','Big Mobile',1,'http://www.bigmobile.com/','big_mobile','1479',NULL,NULL);\nINSERT INTO trackers VALUES('bigcommerce.com','BigCommerce',9,'https://www.bigcommerce.com/','bigcommerce','3397',NULL,NULL);\nINSERT INTO trackers VALUES('bigmir.net','bigmir',9,'https://www.bigmir.net/','bigmir-internet','555',NULL,NULL);\nINSERT INTO trackers VALUES('bigpoint','Bigpoint',7,NULL,NULL,'3398',NULL,NULL);\nINSERT INTO trackers VALUES('bild','Bild.de',7,NULL,NULL,'3399',NULL,NULL);\nINSERT INTO trackers VALUES('bilgin_pro','Bilgin Pro',1,NULL,'bilginpro','2955',NULL,NULL);\nINSERT INTO trackers VALUES('bili_cdn','Bili CDN',6,NULL,'bilibili','',NULL,NULL);\nINSERT INTO trackers VALUES('bilin','Bilin',1,NULL,'bilin','2741',NULL,NULL);\nINSERT INTO trackers VALUES('bing_ads','Microsoft Advertising',1,'https://ads.microsoft.com/','microsoft','67',NULL,NULL);\nINSERT INTO trackers VALUES('bing_maps','Bing/Azure Maps',4,'https://www.bingmapsportal.com','microsoft','3400',NULL,NULL);\nINSERT INTO trackers VALUES('binlayer','BinLayer',1,'http://binlayer.com/','binlayer','274',NULL,NULL);\nINSERT INTO trackers VALUES('binotel','Binotel',1,NULL,'binotel','2870',NULL,NULL);\nINSERT INTO trackers VALUES('biocatch','BioCatch',11,'https://www.biocatch.com/','biocatch','',NULL,NULL);\nINSERT INTO trackers VALUES('bisnode','Bisnode',1,'http://www.esendra.fi/','bisnode','1370',NULL,NULL);\nINSERT INTO trackers VALUES('bitcoin_miner','Bitcoin Miner',4,'http://www.bitcoinplus.com/','bitcoin_plus','886',NULL,NULL);\nINSERT INTO trackers VALUES('bitly','Bitly',9,'https://bitly.com/',NULL,'3401',NULL,NULL);\nINSERT INTO trackers VALUES('bitrix','Bitrix24',1,'https://www.bitrix24.com/','bitrix24','2522',NULL,NULL);\nINSERT INTO trackers VALUES('bizcn','Bizcn',1,NULL,'bizcn','2775',NULL,NULL);\nINSERT INTO trackers VALUES('biztalk360','Biztalk360',9,'https://www.biztalk360.com/','kovai','',NULL,NULL);\nINSERT INTO trackers VALUES('blackdragon','BlackDragon',1,NULL,'jing_dong','3083',NULL,NULL);\nINSERT INTO trackers VALUES('blau.de','Blau',7,'https://www.blau.de/',NULL,'3402',NULL,NULL);\nINSERT INTO trackers VALUES('blink_new_media','Blink New Media',1,'http://engagebdr.com/','engage_bdr','729',NULL,NULL);\nINSERT INTO trackers VALUES('blis','Blis',9,'https://www.blis.com/index.php','blis','3403',NULL,NULL);\nINSERT INTO trackers VALUES('blockthrough','Blockthrough',4,'https://blockthrough.com/','blockthrough','',NULL,NULL);\nINSERT INTO trackers VALUES('blogad','BlogAD',1,'http://www.blogad.com.tw/','blogad','1832',NULL,NULL);\nINSERT INTO trackers VALUES('blogbang','BlogBang',1,'http://www.blogbang.com/','blogbang','932',NULL,NULL);\nINSERT INTO trackers VALUES('blogcatalog','BlogCatalog',4,'http://www.blogcatalog.com/','blogcatalog','81',NULL,NULL);\nINSERT INTO trackers VALUES('blogcounter','BlogCounter',9,'https://blogcounter.com/','adfire_gmbh','136',NULL,NULL);\nINSERT INTO trackers VALUES('blogfoster.com','Blogfoster',7,'http://www.blogfoster.com/','blogfoster','3404',NULL,NULL);\nINSERT INTO trackers VALUES('bloggerads','BloggerAds',1,'https://www.bloggerads.net/','bloggerads','1339',NULL,NULL);\nINSERT INTO trackers VALUES('blogher','BlogHer Ads',1,'https://www.blogher.com/','penske_media_corp','87',NULL,NULL);\nINSERT INTO trackers VALUES('blogimg.jp','blogimg.jp',6,NULL,'line','3405',NULL,NULL);\nINSERT INTO trackers VALUES('blogsmithmedia.com','blogsmithmedia.com',7,NULL,'verizon','3406',NULL,NULL);\nINSERT INTO trackers VALUES('blogspot_com','blogspot.com',7,NULL,'google','3407',NULL,NULL);\nINSERT INTO trackers VALUES('bloomreach','BloomReach',1,'https://www.bloomreach.com/en','bloomreach','323',NULL,NULL);\nINSERT INTO trackers VALUES('blue_cherry_group','Blue Cherry Group',1,'http://www.bluecherrygroup.com','blue_cherry_group','1606',NULL,NULL);\nINSERT INTO trackers VALUES('blue_seed','Blue Seed',1,NULL,'blue_seed','2699',NULL,NULL);\nINSERT INTO trackers VALUES('blueconic.net','BlueConic Plugin',9,'https://www.blueconic.com/','blueconic','2873',NULL,NULL);\nINSERT INTO trackers VALUES('bluecore','Bluecore',1,'https://www.bluecore.com/','triggermail','1952',NULL,NULL);\nINSERT INTO trackers VALUES('bluekai','BlueKai',1,'http://www.bluekai.com/','oracle','116',NULL,NULL);\nINSERT INTO trackers VALUES('bluelithium','Bluelithium',1,'http://www.bluelithium.com/','verizon','150',NULL,NULL);\nINSERT INTO trackers VALUES('bluemetrix','Bluemetrix',1,'http://www.bluemetrix.ie/','bluemetrix','128',NULL,NULL);\nINSERT INTO trackers VALUES('bluenewsupdate.info','bluenewsupdate.info',7,NULL,NULL,'3408',NULL,NULL);\nINSERT INTO trackers VALUES('bluestreak','BlueStreak',1,'http://www.bluestreak.com/','dentsu_aegis_network','368',NULL,NULL);\nINSERT INTO trackers VALUES('bluetriangle','Blue Triangle',9,'https://www.bluetriangle.com/','blue_triangle','2260',NULL,NULL);\nINSERT INTO trackers VALUES('bmetric','bmetric',4,'https://bmetric.com/','bmetric','',NULL,NULL);\nINSERT INTO trackers VALUES('bodelen.com','bodelen.com',1,NULL,NULL,'3409',NULL,NULL);\nINSERT INTO trackers VALUES('bol_affiliate_program','BOL Affiliate Program',1,'http://www.bol.com','bol.com','1443',NULL,NULL);\nINSERT INTO trackers VALUES('bold','Bold',1,NULL,'bold','3086',NULL,NULL);\nINSERT INTO trackers VALUES('boldchat','Boldchat',4,'http://www.boldchat.com/','boldchat','1537',NULL,NULL);\nINSERT INTO trackers VALUES('boltdns.net','boltdns.net',7,NULL,NULL,'3410',NULL,NULL);\nINSERT INTO trackers VALUES('bombora','Bombora',9,NULL,'bombora','2284',NULL,NULL);\nINSERT INTO trackers VALUES('bongacams.com','bongacams.com',8,NULL,NULL,'3411',NULL,NULL);\nINSERT INTO trackers VALUES('bonial','Bonial Connect',4,'https://www.bonial.com/',NULL,'3412',NULL,NULL);\nINSERT INTO trackers VALUES('boo-box','boo-box',1,'http://boo-box.com/','boo-box','1492',NULL,NULL);\nINSERT INTO trackers VALUES('booking.com','Booking.com',7,NULL,NULL,'3413',NULL,NULL);\nINSERT INTO trackers VALUES('boost_box','Boost Box',9,NULL,'boost_box','3213',NULL,NULL);\nINSERT INTO trackers VALUES('booster_video','Booster Video',2,NULL,'booster_video','3296',NULL,NULL);\nINSERT INTO trackers VALUES('bootstrap','Bootstrap CDN',6,'https://getbootstrap.com/','bootstrap_cdn','3414',NULL,NULL);\nINSERT INTO trackers VALUES('borrango.com','borrango.com',7,NULL,NULL,'3415',NULL,NULL);\nINSERT INTO trackers VALUES('botscanner','BotScanner',9,NULL,'botscanner','2255',NULL,NULL);\nINSERT INTO trackers VALUES('boudja.com','boudja.com',7,NULL,NULL,'3416',NULL,NULL);\nINSERT INTO trackers VALUES('bounce_exchange','Wunderkind',1,'https://www.wunderkind.co/','wunderkind','1463',NULL,NULL);\nINSERT INTO trackers VALUES('box_uk','Box UK',9,'http://www.clickdensity.com','box_uk','392',NULL,NULL);\nINSERT INTO trackers VALUES('boxever','Boxever',1,'https://www.boxever.com/','boxever','2897',NULL,NULL);\nINSERT INTO trackers VALUES('brainient','Brainient',1,'http://www.brainient.com/','brainient','631',NULL,NULL);\nINSERT INTO trackers VALUES('brainsins','BrainSINS',1,'http://www.brainsins.com/','brainsins','1623',NULL,NULL);\nINSERT INTO trackers VALUES('branch_metrics','Branch',1,'https://branch.io/','branch_metrics_inc','2398',NULL,NULL);\nINSERT INTO trackers VALUES('brand_affinity','Brand Affinity',1,'http://brandaffinity.net/about','yoonla','713',NULL,NULL);\nINSERT INTO trackers VALUES('brand_networks','Brand Networks',1,'https://www.xa.net/','brand_networks','370',NULL,NULL);\nINSERT INTO trackers VALUES('brandmetrics.com','Brand Metrics',1,'https://www.brandmetrics.com/','brand_metrics','3418',NULL,NULL);\nINSERT INTO trackers VALUES('brandreach','BrandReach',1,'http://www.brandreach.com/','brandreach','1079',NULL,NULL);\nINSERT INTO trackers VALUES('brandscreen','Brandscreen',1,'http://www.brandscreen.com/','zenovia','1172',NULL,NULL);\nINSERT INTO trackers VALUES('brandwire.tv','BrandWire',1,'https://brandwire.tv/',NULL,'3419',NULL,NULL);\nINSERT INTO trackers VALUES('branica','Branica',1,'http://www.branica.com/','branica','842',NULL,NULL);\nINSERT INTO trackers VALUES('braze','Braze',9,'https://www.braze.com/','braze_inc','3420',NULL,NULL);\nINSERT INTO trackers VALUES('brealtime','EMX Digital',1,'https://emxdigital.com/',NULL,'3421',NULL,NULL);\nINSERT INTO trackers VALUES('bridgetrack','BridgeTrack',1,'http://www.bridgetrack.com/','bridgetrack','361',NULL,NULL);\nINSERT INTO trackers VALUES('brightcove','Brightcove',9,'https://www.brightcove.com/en/','brightcove','423',NULL,NULL);\nINSERT INTO trackers VALUES('brightcove_player','Brightcove Player',2,'https://www.brightcove.com/','brightcove','2451',NULL,NULL);\nINSERT INTO trackers VALUES('brightedge','BrightEdge',1,'https://www.brightedge.com/','brightedge','1204',NULL,NULL);\nINSERT INTO trackers VALUES('brightfunnel','BrightFunnel',9,NULL,'brightfunnel','2879',NULL,NULL);\nINSERT INTO trackers VALUES('brightonclick.com','brightonclick.com',1,NULL,NULL,'3422',NULL,NULL);\nINSERT INTO trackers VALUES('brightroll','BrightRoll',1,'http://www.brightroll.com/','verizon','500',NULL,NULL);\nINSERT INTO trackers VALUES('brilig','Brilig',1,'http://www.brilig.com/','dentsu_aegis_network','511',NULL,NULL);\nINSERT INTO trackers VALUES('brillen.de','brillen.de',7,'https://www.brillen.de/',NULL,'3423',NULL,NULL);\nINSERT INTO trackers VALUES('broadstreet','Broadstreet',1,'https://broadstreetads.com/','broadstreet','1709',NULL,NULL);\nINSERT INTO trackers VALUES('bronto','Bronto',1,'http://bronto.com/','bronto','1516',NULL,NULL);\nINSERT INTO trackers VALUES('brow.si','Brow.si',1,'https://brow.si/','brow.si','1923',NULL,NULL);\nINSERT INTO trackers VALUES('browser-statistik','Browser-Statistik',9,'https://www.browser-statistik.de/','browser-statistik','2169',NULL,NULL);\nINSERT INTO trackers VALUES('browser_update','Browser Update',4,'http://www.browser-update.org/','browser-update','774',NULL,NULL);\nINSERT INTO trackers VALUES('btncdn.com','btncdn.com',6,NULL,NULL,'3424',NULL,NULL);\nINSERT INTO trackers VALUES('bubblestat','Bubblestat',1,'https://www.bubblestat.com/','bubblestat','784',NULL,NULL);\nINSERT INTO trackers VALUES('buddy_media','Buddy Media',10,'http://www.salesforce.com/','salesforce','1410',NULL,NULL);\nINSERT INTO trackers VALUES('buffer_button','Buffer Button',10,'http://www.bufferapp.com/','buffer','843',NULL,NULL);\nINSERT INTO trackers VALUES('bugherd.com','BugHerd',4,'https://bugherd.com','bugherd','1083',NULL,NULL);\nINSERT INTO trackers VALUES('bugsnag','Bugsnag',9,'https://bugsnag.com','bugsnag','2091',NULL,NULL);\nINSERT INTO trackers VALUES('bulkhentai.com','bulkhentai.com',8,NULL,NULL,'3425',NULL,NULL);\nINSERT INTO trackers VALUES('bumlam.com','bumlam.com',7,NULL,NULL,'3426',NULL,NULL);\nINSERT INTO trackers VALUES('bunchbox','Bunchbox',9,NULL,'bunchbox','2366',NULL,NULL);\nINSERT INTO trackers VALUES('burda','BurdaForward',1,NULL,'hubert_burda_media','2801',NULL,NULL);\nINSERT INTO trackers VALUES('burda_digital_systems','Burda Digital Systems',1,NULL,'hubert_burda_media','3427',NULL,NULL);\nINSERT INTO trackers VALUES('burst_media','Burst Media',1,'http://www.burstmedia.com/','rhythmone','143',NULL,NULL);\nINSERT INTO trackers VALUES('burt','Burt',1,'http://www.burtcorp.com/','burt','2015',NULL,NULL);\nINSERT INTO trackers VALUES('businessonline_analytics','BusinessOnLine Analytics',9,'https://www.businessol.com/','businessonline','440',NULL,NULL);\nINSERT INTO trackers VALUES('buysellads','BuySellAds',1,'https://buysellads.com/','buysellads.com','259',NULL,NULL);\nINSERT INTO trackers VALUES('buzzadexchange.com','buzzadexchange.com',1,NULL,NULL,'3428',NULL,NULL);\nINSERT INTO trackers VALUES('buzzador','Buzzador',10,'http://www.buzzador.com','buzzador','1402',NULL,NULL);\nINSERT INTO trackers VALUES('buzzfeed','BuzzFeed',4,'http://www.buzzfeed.com','buzzfeed','1397',NULL,NULL);\nINSERT INTO trackers VALUES('bwbx.io','Bloomberg CDN',6,'https://www.bloomberg.com/',NULL,'3429',NULL,NULL);\nINSERT INTO trackers VALUES('bypass','Bypass',1,'https://bypass.jp/','united_inc','2036',NULL,NULL);\nINSERT INTO trackers VALUES('c1_exchange','C1 Exchange',1,NULL,'c1_exchange','2942',NULL,NULL);\nINSERT INTO trackers VALUES('c3_metrics','C3 Metrics',9,'https://www.c3metrics.com/','c3_metrics','485',NULL,NULL);\nINSERT INTO trackers VALUES('c8_network','C8 Network',1,'http://c8.net.ua/','c8_network','1282',NULL,NULL);\nINSERT INTO trackers VALUES('cackle.me','Cackle',8,'https://cackle.me/',NULL,'3430',NULL,NULL);\nINSERT INTO trackers VALUES('cadreon','Cadreon',1,'http://www.cadreon.com/','cadreon','562',NULL,NULL);\nINSERT INTO trackers VALUES('cafe24data','Cafe24 Analytics',9,'https://developers.cafe24.com/docs/en/api/cafe24data','cafe24','2365',NULL,NULL);\nINSERT INTO trackers VALUES('call_page','Call Page',4,NULL,'call_page','3177',NULL,NULL);\nINSERT INTO trackers VALUES('callbackhunter','CallbackHunter',4,'http://callbackhunter.com/main','callbackhunter','2176',NULL,NULL);\nINSERT INTO trackers VALUES('callbox','CallBox',4,'http://www.centuryinteractive.com','callbox','1423',NULL,NULL);\nINSERT INTO trackers VALUES('callibri','Callibri',1,NULL,'callibri','2861',NULL,NULL);\nINSERT INTO trackers VALUES('callrail','CallRail',4,'https://www.callrail.com/','callrail','1617',NULL,NULL);\nINSERT INTO trackers VALUES('calltracking','Calltracking',4,NULL,'calltracking','3244',NULL,NULL);\nINSERT INTO trackers VALUES('calltrackingmetrics','CallTrackingMetrics',1,'https://www.calltrackingmetrics.com/','calltrackingmetrics','',NULL,NULL);\nINSERT INTO trackers VALUES('caltat.com','Caltat',4,'https://caltat.com/',NULL,'3431',NULL,NULL);\nINSERT INTO trackers VALUES('cam-content.com','Cam-Content.com',8,'https://www.cam-content.com/',NULL,'3432',NULL,NULL);\nINSERT INTO trackers VALUES('camakaroda.com','camakaroda.com',7,NULL,NULL,'3433',NULL,NULL);\nINSERT INTO trackers VALUES('campus_explorer','Campus Explorer',9,NULL,'campus_explorer','2365',NULL,NULL);\nINSERT INTO trackers VALUES('canddi','CANDDI',9,NULL,'canddi','2464',NULL,NULL);\nINSERT INTO trackers VALUES('canva','Canva',9,'https://www.canva.com/','canva','',NULL,NULL);\nINSERT INTO trackers VALUES('canvas','Canvas',4,'https://www.canvas.net/',NULL,'3434',NULL,NULL);\nINSERT INTO trackers VALUES('capitaldata','CapitalData',9,'https://www.capitaldata.fr/','highco','3435',NULL,NULL);\nINSERT INTO trackers VALUES('captora','Captora',1,'http://www.captora.com/','captora','1948',NULL,NULL);\nINSERT INTO trackers VALUES('capture_media','Capture Media',1,NULL,'capture_media','3212',NULL,NULL);\nINSERT INTO trackers VALUES('capturly','Capturly',9,NULL,'capturly','2459',NULL,NULL);\nINSERT INTO trackers VALUES('carambola','Carambola',1,NULL,'carambola','2643',NULL,NULL);\nINSERT INTO trackers VALUES('carbonads','Carbon Ads',1,'https://www.carbonads.net/','buysellads.com','678',NULL,NULL);\nINSERT INTO trackers VALUES('cardinal','Cardinal',9,'https://www.cardinalcommerce.com/','visa','3436',NULL,NULL);\nINSERT INTO trackers VALUES('cardlytics','Cardlytics',9,'https://www.cardlytics.com/',NULL,'3437',NULL,NULL);\nINSERT INTO trackers VALUES('carrot_quest','Carrot Quest',9,NULL,'carrot_quest','2642',NULL,NULL);\nINSERT INTO trackers VALUES('cartstack','CartStack',4,'https://cartstack.com/','cartstack','2131',NULL,NULL);\nINSERT INTO trackers VALUES('caspion','Caspion',9,'https://caspion.com/','caspion','1885',NULL,NULL);\nINSERT INTO trackers VALUES('castle','Castle',4,NULL,'castle','3192',NULL,NULL);\nINSERT INTO trackers VALUES('catchpoint','Catchpoint',9,'https://www.catchpoint.com/','catchpoint_systems','1800',NULL,NULL);\nINSERT INTO trackers VALUES('cbox','Cbox',4,'https://www.cbox.ws/','cbox','552',NULL,NULL);\nINSERT INTO trackers VALUES('cbs_interactive','CBS Interactive',2,'http://www.cbsinteractive.com/','cbs_interactive','357',NULL,NULL);\nINSERT INTO trackers VALUES('ccm19','CCM19',3,'https://www.ccm19.de/en/','papoo','4061',NULL,NULL);\nINSERT INTO trackers VALUES('ccm_benchmark','CCM Benchmark',1,'https://www.ccmbenchmark.com/',NULL,'2359',NULL,NULL);\nINSERT INTO trackers VALUES('cdk_digital_marketing','CDK Digital Marketing',1,'http://www.cobaltgroup.com','cdk_digital_marketing','487',NULL,NULL);\nINSERT INTO trackers VALUES('cdn-net.com','cdn-net.com',7,NULL,NULL,'3438',NULL,NULL);\nINSERT INTO trackers VALUES('cdn13.com','cdn13.com',7,NULL,NULL,'3439',NULL,NULL);\nINSERT INTO trackers VALUES('cdn77','CDN77',6,'https://www.cdn77.com/',NULL,'3440',NULL,NULL);\nINSERT INTO trackers VALUES('cdnetworks.net','cdnetworks.net',6,'https://www.cdnetworks.com/',NULL,'3441',NULL,NULL);\nINSERT INTO trackers VALUES('cdnnetwok_xyz','cdnnetwok.xyz',5,NULL,NULL,'3442',NULL,NULL);\nINSERT INTO trackers VALUES('cdnondemand.org','cdnondemand.org',7,NULL,NULL,'3443',NULL,NULL);\nINSERT INTO trackers VALUES('cdnsure.com','cdnsure.com',7,NULL,NULL,'3444',NULL,NULL);\nINSERT INTO trackers VALUES('cdnvideo.com','CDNvideo',6,'https://www.cdnvideo.com/','cdnvideo','3445',NULL,NULL);\nINSERT INTO trackers VALUES('cdnwidget.com','cdnwidget.com',6,NULL,NULL,'3446',NULL,NULL);\nINSERT INTO trackers VALUES('cedexis_radar','Cedexis Radar',9,'http://www.cedexis.com/products_radar.html','cedexis','434',NULL,NULL);\nINSERT INTO trackers VALUES('celebrus','Celebrus',9,NULL,'celebrus','2561',NULL,NULL);\nINSERT INTO trackers VALUES('celtra','Celtra',2,'https://www.celtra.com/','celtra','2112',NULL,NULL);\nINSERT INTO trackers VALUES('cendyn','Cendyn',1,NULL,'cendyn','2720',NULL,NULL);\nINSERT INTO trackers VALUES('centraltag','CentralTag',1,'http://www.centraltag.com/','centraltag','1287',NULL,NULL);\nINSERT INTO trackers VALUES('centro','Centro',1,'http://centro.net/','centro','969',NULL,NULL);\nINSERT INTO trackers VALUES('cerberus_speed-trap','Cerberus Speed-Trap',9,NULL,'cerberus','2648',NULL,NULL);\nINSERT INTO trackers VALUES('ceros','Ceros',9,'https://www.ceros.com/','ceros','',NULL,NULL);\nINSERT INTO trackers VALUES('certainsource','CertainSource',1,'http://www.ewaydirect.com','certainsource','415',NULL,NULL);\nINSERT INTO trackers VALUES('certifica_metric','Certifica Metric',1,'https://www.comscore.com/Products_Services/Product_Index/Certifica_Metric','comscore','559',NULL,NULL);\nINSERT INTO trackers VALUES('certona','Certona',1,'http://www.certona.com/products/recommendation.php','certona','283',NULL,NULL);\nINSERT INTO trackers VALUES('cevoid','Cevoid',4,'https://cevoid.com','cevoid','',NULL,NULL);\nINSERT INTO trackers VALUES('chameleon','Chameleon',1,NULL,'chamaleon','2645',NULL,NULL);\nINSERT INTO trackers VALUES('chango','Chango',1,'https://www.chango.com/','rubicon_project','465',NULL,NULL);\nINSERT INTO trackers VALUES('channel_intelligence','Channel Intelligence',1,'http://www.channelintelligence.com/','google','270',NULL,NULL);\nINSERT INTO trackers VALUES('channel_pilot_solutions','ChannelPilot Solutions',9,'https://www.channelpilot.de/',NULL,'3447',NULL,NULL);\nINSERT INTO trackers VALUES('channeladvisor','ChannelAdvisor',1,'https://www.channeladvisor.com/','channeladvisor','294',NULL,NULL);\nINSERT INTO trackers VALUES('channelfinder','ChannelFinder',1,'http://www.kpicentral.com/','kaleidoscope_promotions','944',NULL,NULL);\nINSERT INTO trackers VALUES('chaordic','Chaordic',1,'https://www.chaordic.com.br/','chaordic','1254',NULL,NULL);\nINSERT INTO trackers VALUES('charpstar','CharpstAR',4,'https://charpstar.co/','charpstar','',NULL,NULL);\nINSERT INTO trackers VALUES('chartbeat','ChartBeat',9,'https://chartbeat.com/','chartbeat','58',NULL,NULL);\nINSERT INTO trackers VALUES('chaser','Chaser',4,NULL,'chaser','3001',NULL,NULL);\nINSERT INTO trackers VALUES('chat_beacon','Chat Beacon',4,NULL,'chat_beacon','3133',NULL,NULL);\nINSERT INTO trackers VALUES('chatango','Chatango',4,'http://www.chatango.com/','chatango','1653',NULL,NULL);\nINSERT INTO trackers VALUES('chatgpt','ChatGPT',11,'https://chatgpt.com/','openai','',NULL,NULL);\nINSERT INTO trackers VALUES('chatra','Chatra',4,NULL,'chatra','3252',NULL,NULL);\nINSERT INTO trackers VALUES('chaturbate.com','chaturbate.com',8,NULL,NULL,'3448',NULL,NULL);\nINSERT INTO trackers VALUES('chatwing','ChatWing',4,'http://chatwing.com/','chatwing','1449',NULL,NULL);\nINSERT INTO trackers VALUES('checkmystats','CheckMyStats',1,'http://checkmystats.com.au','checkmystats','1446',NULL,NULL);\nINSERT INTO trackers VALUES('chefkoch_de','chefkoch.de',7,'https://chefkoch.de/',NULL,'3449',NULL,NULL);\nINSERT INTO trackers VALUES('chicory','Chicory',1,'https://chicory.co/',NULL,'',NULL,NULL);\nINSERT INTO trackers VALUES('chilipiper','Chili Piper',9,'https://www.chilipiper.com/','chilipiper','',NULL,NULL);\nINSERT INTO trackers VALUES('chin_media','Chin Media',1,NULL,'chin_media','2442',NULL,NULL);\nINSERT INTO trackers VALUES('chinesean','ChineseAN',1,'http://www.chinesean.com/','chinesean','1341',NULL,NULL);\nINSERT INTO trackers VALUES('chitika','Chitika',1,'https://chitika.com/','chitika','121',NULL,NULL);\nINSERT INTO trackers VALUES('choicestream','ChoiceStream',1,'http://www.choicestream.com/','choicestream','501',NULL,NULL);\nINSERT INTO trackers VALUES('circit','circIT',9,'https://www.circit.de/',NULL,'3451',NULL,NULL);\nINSERT INTO trackers VALUES('circulate','Circulate',9,NULL,'circulate','2583',NULL,NULL);\nINSERT INTO trackers VALUES('city_spark','City Spark',1,NULL,'city_spark','3105',NULL,NULL);\nINSERT INTO trackers VALUES('cityads','CityAds',1,'http://cityads.ru/','cityads','1302',NULL,NULL);\nINSERT INTO trackers VALUES('ciuvo.com','ciuvo.com',5,'https://www.ciuvo.com/',NULL,'3452',NULL,NULL);\nINSERT INTO trackers VALUES('civey_widgets','Civey Widgets',4,NULL,'civey','3018',NULL,NULL);\nINSERT INTO trackers VALUES('civicscience.com','CivicScience',9,'https://civicscience.com/','civicscience','945',NULL,NULL);\nINSERT INTO trackers VALUES('civicuk','Civic UK',3,'https://civiccomputing.com/','civicuk','',NULL,NULL);\nINSERT INTO trackers VALUES('ciwebgroup','CIWebGroup',1,NULL,'ciwebgroup','2932',NULL,NULL);\nINSERT INTO trackers VALUES('clcknads.pro','clcknads.pro',8,NULL,NULL,'3453',NULL,NULL);\nINSERT INTO trackers VALUES('clean_talk','CleanTalk Spam Protect',11,'https://cleantalk.org/','clean_talk','',NULL,NULL);\nINSERT INTO trackers VALUES('clear_pier','ClearPier',1,'https://clearpier.com/','clear_pier','3454',NULL,NULL);\nINSERT INTO trackers VALUES('clearbit.com','Clearbit',9,'https://clearbit.com/','clearbit','3455',NULL,NULL);\nINSERT INTO trackers VALUES('clearsale','clearsale',1,'https://www.clear.sale/',NULL,'3456',NULL,NULL);\nINSERT INTO trackers VALUES('clearstream.tv','Clearstream.TV',1,'http://clearstream.tv/','clearstream.tv','2162',NULL,NULL);\nINSERT INTO trackers VALUES('clerk.io','Clerk.io',4,'https://www.clerk.io/platform','clerk.io','2554',NULL,NULL);\nINSERT INTO trackers VALUES('clever_push','Clever Push',9,'https://clevertap.com/','clever_push','2618',NULL,NULL);\nINSERT INTO trackers VALUES('clever_tap','CleverTap',9,NULL,'clever_tap','3275',NULL,NULL);\nINSERT INTO trackers VALUES('cleversite','Cleversite',4,NULL,'cleversite','2537',NULL,NULL);\nINSERT INTO trackers VALUES('click360','Click360',9,NULL,'click360','3217',NULL,NULL);\nINSERT INTO trackers VALUES('click_and_chat','Click and Chat',4,'https://www.clickandchat.com/','clickandchat','1688',NULL,NULL);\nINSERT INTO trackers VALUES('click_back','Click Back',1,NULL,'clickback','2432',NULL,NULL);\nINSERT INTO trackers VALUES('clickadu','Clickadu',1,'https://www.clickadu.com/','clickadu','',NULL,NULL);\nINSERT INTO trackers VALUES('clickaider','ClickAider',1,'http://clickaider.com/','clickaider','901',NULL,NULL);\nINSERT INTO trackers VALUES('clickbank','ClickBank',1,'https://www.clickbank.com/','clickbank','1697',NULL,NULL);\nINSERT INTO trackers VALUES('clickbank_proads','ClickBank ProAds',1,'http://www.cbproads.com/','clickbank_proads','834',NULL,NULL);\nINSERT INTO trackers VALUES('clickbooth','Clickbooth',1,'http://www.clickbooth.com/','clickbooth','926',NULL,NULL);\nINSERT INTO trackers VALUES('clickcease','ClickCease',4,NULL,'click_cease','3281',NULL,NULL);\nINSERT INTO trackers VALUES('clickcertain','ClickCertain',1,'http://www.clickcertain.com','clickcertain','1629',NULL,NULL);\nINSERT INTO trackers VALUES('clickdesk','ClickDesk',4,'https://www.clickdesk.com/','clickdesk','1973',NULL,NULL);\nINSERT INTO trackers VALUES('clickdimensions','ClickDimensions',1,'https://www.clickdimensions.com/','clickdimensions','803',NULL,NULL);\nINSERT INTO trackers VALUES('clickequations','ClickEquations',1,'http://www.clickequations.com/','acquisio','324',NULL,NULL);\nINSERT INTO trackers VALUES('clickexperts','ClickExperts',1,'http://clickexperts.com/corp/index.php?lang=en','clickexperts','1262',NULL,NULL);\nINSERT INTO trackers VALUES('clickforce','ClickForce',1,'https://www.clickforce.com.tw/','clickforce','1735',NULL,NULL);\nINSERT INTO trackers VALUES('clickinc','ClickInc',1,'http://www.clickinc.com','clickinc','374',NULL,NULL);\nINSERT INTO trackers VALUES('clickintext','ClickInText',1,'https://www.clickintext.com/','clickintext','718',NULL,NULL);\nINSERT INTO trackers VALUES('clickky','Clickky',1,'http://www.clickky.biz/','clickky','2028',NULL,NULL);\nINSERT INTO trackers VALUES('clickmeter','ClickMeter',1,'http://www.clickmeter.com','clickmeter','1925',NULL,NULL);\nINSERT INTO trackers VALUES('clickonometrics','Clickonometrics',1,'http://clickonometrics.pl/','clickonometrics','1789',NULL,NULL);\nINSERT INTO trackers VALUES('clickpoint','Clickpoint',1,'http://clickpoint.com/','clickpoint','2087',NULL,NULL);\nINSERT INTO trackers VALUES('clickprotector','ClickProtector',9,'http://www.clickprotector.com/','clickprotector','1422',NULL,NULL);\nINSERT INTO trackers VALUES('clickreport','ClickReport',9,'http://clickreport.com/','clickreport','1708',NULL,NULL);\nINSERT INTO trackers VALUES('clicks_thru_networks','Clicks Thru Networks',1,NULL,'clicksthrunetwork','2712',NULL,NULL);\nINSERT INTO trackers VALUES('clicksor','Clicksor',1,'https://clicksor.com/','clicksor','78',NULL,NULL);\nINSERT INTO trackers VALUES('clicktale','ClickTale',9,'http://www.clicktale.com/','clicktale','108',NULL,NULL);\nINSERT INTO trackers VALUES('clicktripz','ClickTripz',1,'https://www.clicktripz.com','clicktripz','1977',NULL,NULL);\nINSERT INTO trackers VALUES('clickup','ClickUp',9,'https://clickup.com/','clickup','',NULL,NULL);\nINSERT INTO trackers VALUES('clickwinks','Clickwinks',1,'http://www.clickwinks.com/','clickwinks','832',NULL,NULL);\nINSERT INTO trackers VALUES('clicky','Clicky',9,'http://getclicky.com/','clicky','3',NULL,NULL);\nINSERT INTO trackers VALUES('clickyab','Clickyab',1,NULL,'clickyab','3029',NULL,NULL);\nINSERT INTO trackers VALUES('clicmanager','ClicManager',1,'http://www.clicmanager.fr/','clicmanager','716',NULL,NULL);\nINSERT INTO trackers VALUES('clip_syndicate','Clip Syndicate',1,'http://www.clipsyndicate.com/','clip_syndicate','611',NULL,NULL);\nINSERT INTO trackers VALUES('clixgalore','clixGalore',1,'http://www.clixgalore.com/','clixgalore','949',NULL,NULL);\nINSERT INTO trackers VALUES('clixmetrix','ClixMetrix',1,'http://www.clixmetrix.com/','clixmedia','231',NULL,NULL);\nINSERT INTO trackers VALUES('clixsense','ClixSense',1,'http://www.clixsense.com/','clixsense','1435',NULL,NULL);\nINSERT INTO trackers VALUES('cloud-media.fr','CloudMedia',1,'https://cloudmedia.fr/',NULL,'3457',NULL,NULL);\nINSERT INTO trackers VALUES('cloudflare','Cloudflare',6,'https://www.cloudflare.com/','cloudflare','3458',NULL,NULL);\nINSERT INTO trackers VALUES('cloudflare_insights','Cloudflare Insights',9,'https://www.cloudflare.com/insights/','cloudflare','4059',NULL,NULL);\nINSERT INTO trackers VALUES('cloudimage.io','Cloudimage.io',6,'https://www.cloudimage.io/en/home','scaleflex_sas','3459',NULL,NULL);\nINSERT INTO trackers VALUES('cloudinary','Cloudinary',6,'https://cloudinary.com/','cloudinary','3460',NULL,NULL);\nINSERT INTO trackers VALUES('clove_network','Clove Network',1,'http://www.clovenetwork.com/','clove_network','857',NULL,NULL);\nINSERT INTO trackers VALUES('clustrmaps','ClustrMaps',1,'http://www.clustrmaps.com/','clustrmaps','35',NULL,NULL);\nINSERT INTO trackers VALUES('cnbc','CNBC',7,'https://www.cnbc.com/','nbcuniversal','3461',NULL,NULL);\nINSERT INTO trackers VALUES('cnetcontent.com','Cnetcontent',7,'http://cnetcontent.com/','cbs_interactive','3462',NULL,NULL);\nINSERT INTO trackers VALUES('cnstats','CNStats',9,'http://cnstats.ru/','cnstats','1316',NULL,NULL);\nINSERT INTO trackers VALUES('cnzz.com','Umeng',9,'https://www.umeng.com/','umeng','704',NULL,NULL);\nINSERT INTO trackers VALUES('coadvertise','COADVERTISE',1,'http://www.coadvertise.com/','coadvertise','1359',NULL,NULL);\nINSERT INTO trackers VALUES('cobrowser','CoBrowser',4,'https://www.cobrowser.net/','cobrowser.net','2114',NULL,NULL);\nINSERT INTO trackers VALUES('codeonclick.com','codeonclick.com',7,NULL,NULL,'3463',NULL,NULL);\nINSERT INTO trackers VALUES('codigo','Codigo',9,'https://codigo.se/','codigo','',NULL,NULL);\nINSERT INTO trackers VALUES('cognitiv','Cognitiv',1,'https://www.cognitiv.ai/','cognitiv','',NULL,NULL);\nINSERT INTO trackers VALUES('cogocast','CogoCast',1,NULL,'cogocast','2297',NULL,NULL);\nINSERT INTO trackers VALUES('coin_have','Coin Have',1,NULL,'coin_have','3163',NULL,NULL);\nINSERT INTO trackers VALUES('coin_traffic','Coin Traffic',4,NULL,'coin_traffic','3050',NULL,NULL);\nINSERT INTO trackers VALUES('coinhive','Coinhive',7,'https://coinhive.com/','coinhive','3102',NULL,NULL);\nINSERT INTO trackers VALUES('coinurl','CoinURL',1,'https://coinurl.com/','coinurl','1889',NULL,NULL);\nINSERT INTO trackers VALUES('coll1onf.com','coll1onf.com',7,NULL,NULL,'3464',NULL,NULL);\nINSERT INTO trackers VALUES('coll2onf.com','coll2onf.com',7,NULL,NULL,'3465',NULL,NULL);\nINSERT INTO trackers VALUES('collarity','Collarity',1,'http://www.collarity.com/','collarity','131',NULL,NULL);\nINSERT INTO trackers VALUES('columbia_online','Columbia Online',1,NULL,'columbia_online','3179',NULL,NULL);\nINSERT INTO trackers VALUES('combotag','ComboTag',1,'https://www.combotag.com/',NULL,'3466',NULL,NULL);\nINSERT INTO trackers VALUES('comcast_technology_solutions','Comcast Technology Solutions',2,NULL,'comcast_technology_solutions','2658',NULL,NULL);\nINSERT INTO trackers VALUES('comm100','Comm100',4,'https://www.comm100.com/','comm100','1448',NULL,NULL);\nINSERT INTO trackers VALUES('commerce_layer','Commerce Layer',11,'https://commercelayer.io','commerce_layer','',NULL,NULL);\nINSERT INTO trackers VALUES('commerce_sciences','Commerce Sciences',1,'http://commercesciences.com/','commerce_sciences','1635',NULL,NULL);\nINSERT INTO trackers VALUES('commercehub','CommerceHub',1,'http://www.mercent.com/','commercehub','285',NULL,NULL);\nINSERT INTO trackers VALUES('commercialvalue.org','commercialvalue.org',7,NULL,NULL,'3467',NULL,NULL);\nINSERT INTO trackers VALUES('commission_junction','CJ Affiliate',1,'https://www.cj.com/','publicis','557',NULL,NULL);\nINSERT INTO trackers VALUES('communicator_corp','Communicator Corp',1,'https://www.communicatorcorp.com/','communicator_corp','809',NULL,NULL);\nINSERT INTO trackers VALUES('communigator','CommuniGator',9,'http://www.wowanalytics.co.uk/','communigator','836',NULL,NULL);\nINSERT INTO trackers VALUES('competexl','CompeteXL',9,'http://www.compete.com/help/s12','wpp','255',NULL,NULL);\nINSERT INTO trackers VALUES('complex_media_network','Complex Media',1,'https://www.complex.com/','verizon','635',NULL,NULL);\nINSERT INTO trackers VALUES('comprigo','comprigo',5,'https://www.comprigo.com/',NULL,'3468',NULL,NULL);\nINSERT INTO trackers VALUES('comscore','ComScore, Inc.',9,'https://www.comscore.com/','comscore','3469',NULL,NULL);\nINSERT INTO trackers VALUES('conative.de','CoNative',1,'http://www.conative.de/',NULL,'3470',NULL,NULL);\nINSERT INTO trackers VALUES('condenastdigital.com','Condé Nast Digital',7,'https://www.condenast.com/','conde_nast','2573',NULL,NULL);\nINSERT INTO trackers VALUES('conduit','Conduit',1,'https://www.conduit.com/','conduit','473',NULL,NULL);\nINSERT INTO trackers VALUES('confirmit','Confirmit',1,'https://confirmit.com/','confirmit','1557',NULL,NULL);\nINSERT INTO trackers VALUES('congstar.de','congstar.de',1,NULL,NULL,'3471',NULL,NULL);\nINSERT INTO trackers VALUES('connatix.com','Connatix',1,'https://connatix.com/','connatix','2295',NULL,NULL);\nINSERT INTO trackers VALUES('connectad','ConnectAd',1,'https://connectad.io/','connectad','2934',NULL,NULL);\nINSERT INTO trackers VALUES('connecto','Connecto',9,NULL,'connecto','2603',NULL,NULL);\nINSERT INTO trackers VALUES('connexity','Connexity',1,'http://www.connexity.com','shopzilla','1293',NULL,NULL);\nINSERT INTO trackers VALUES('connextra','Connextra',1,'http://connextra.com/','connextra','472',NULL,NULL);\nINSERT INTO trackers VALUES('consentmanager','consentmanager',3,'https://www.consentmanager.net','consentmanager','',NULL,NULL);\nINSERT INTO trackers VALUES('consentmo','Consentmo',3,'https://consentmo.com','consentmo','',NULL,NULL);\nINSERT INTO trackers VALUES('constant_contact','Constant Contact',1,'https://www.constantcontact.com/index.jsp','constant_contact','1990',NULL,NULL);\nINSERT INTO trackers VALUES('consumable','Consumable',1,'https://consumable.com/index.html','giftconnect','3472',NULL,NULL);\nINSERT INTO trackers VALUES('contact_at_once','Contact At Once!',4,'http://www.contactatonce.com/','contact_at_once!','846',NULL,NULL);\nINSERT INTO trackers VALUES('contact_impact','Contact Impact',1,'https://www.contactimpact.de/','axel_springer','2976',NULL,NULL);\nINSERT INTO trackers VALUES('contactme','ContactMe',1,'http://www.contactme.com','contactme','2116',NULL,NULL);\nINSERT INTO trackers VALUES('contaxe','Contaxe',11,'http://www.contaxe.com/','contaxe','547',NULL,NULL);\nINSERT INTO trackers VALUES('content.ad','Content.ad',1,'https://www.content.ad/','content.ad','1192',NULL,NULL);\nINSERT INTO trackers VALUES('content_insights','Content Insights',9,NULL,'content_insights','3235',NULL,NULL);\nINSERT INTO trackers VALUES('contentexchange.me','Content Exchange',9,'https://www.contentexchange.me/','i.r.v.','2628',NULL,NULL);\nINSERT INTO trackers VALUES('contentful_gmbh','Contentful',11,'https://www.contentful.com/','contentful_gmbh','3473',NULL,NULL);\nINSERT INTO trackers VALUES('contentpass','ContentPass',9,'https://www.contentpass.de/','contentpass','3168',NULL,NULL);\nINSERT INTO trackers VALUES('contentsquare.net','ContentSquare',9,'https://www.contentsquare.com/','content_square','3295',NULL,NULL);\nINSERT INTO trackers VALUES('contentstack','Contentstack',11,'https://www.contentstack.com/','contentstack','',NULL,NULL);\nINSERT INTO trackers VALUES('contentwrx','Contentwrx',9,NULL,'contentwrx','2406',NULL,NULL);\nINSERT INTO trackers VALUES('context.ad','Context.ad',1,'http://contextad.pl/','context.ad','2182',NULL,NULL);\nINSERT INTO trackers VALUES('context','C|ON|TEXT',1,'http://c-on-text.com','c_on_text','1212',NULL,NULL);\nINSERT INTO trackers VALUES('continum_net','continum.net',6,'https://continum.net/',NULL,'3474',NULL,NULL);\nINSERT INTO trackers VALUES('contribusource','Contribusource',1,NULL,'contribusource','2860',NULL,NULL);\nINSERT INTO trackers VALUES('convergetrack','ConvergeTrack',9,'https://www.convergedirect.com/technology/convergetrack.shtml','convergedirect','363',NULL,NULL);\nINSERT INTO trackers VALUES('conversant','Epsilon',1,'https://www.epsilon.com/','epsilon','531',NULL,NULL);\nINSERT INTO trackers VALUES('conversio','CM Commerce',9,'https://cm-commerce.com/','conversio','2815',NULL,NULL);\nINSERT INTO trackers VALUES('conversion_logic','Conversion Logic',9,'http://www.conversionlogic.com/','conversion_logic','2144',NULL,NULL);\nINSERT INTO trackers VALUES('conversionruler','ConversionRuler',1,'http://www.conversionruler.com/','market_ruler','61',NULL,NULL);\nINSERT INTO trackers VALUES('conversions_box','Conversions Box',10,'http://www.conversionsbox.com/','conversions_box','1917',NULL,NULL);\nINSERT INTO trackers VALUES('conversions_on_demand','Conversions On Demand',9,'https://www.conversionsondemand.com/','conversions_on_demand','1699',NULL,NULL);\nINSERT INTO trackers VALUES('conversive','Conversive',1,'https://www.conversive.nl/','conversive','905',NULL,NULL);\nINSERT INTO trackers VALUES('convert','Convert',9,NULL,'convert','3084',NULL,NULL);\nINSERT INTO trackers VALUES('convertfox','ConvertFox',4,NULL,'convertfox','3259',NULL,NULL);\nINSERT INTO trackers VALUES('convertro','Convertro',1,'http://www.convertro.com/','verizon','582',NULL,NULL);\nINSERT INTO trackers VALUES('conviva','Conviva',9,'https://www.conviva.com/','conviva','561',NULL,NULL);\nINSERT INTO trackers VALUES('cookie_consent','Cookie Consent',11,NULL,'silktide','2814',NULL,NULL);\nINSERT INTO trackers VALUES('cookie_script','Cookie Script',3,'https://cookie-script.com/','cookie_script','2609',NULL,NULL);\nINSERT INTO trackers VALUES('cookiebot','Cookiebot',3,'https://www.cybot.com/','usercentrics','3475',NULL,NULL);\nINSERT INTO trackers VALUES('cookiefirst','CookieFirst',3,'https://cookiefirst.com/','digitaldatasolutions','',NULL,NULL);\nINSERT INTO trackers VALUES('cookiehub','CookieHub',3,'https://www.cookiehub.com','cookiehub','',NULL,NULL);\nINSERT INTO trackers VALUES('cookieinformation','Cookie Information',3,'https://cookieinformation.com/website-consent/','cookieinformation','',NULL,NULL);\nINSERT INTO trackers VALUES('cookieq','CookieQ',11,'http://cookieq.com/CookieQ','baycloud','898',NULL,NULL);\nINSERT INTO trackers VALUES('cookietractor','CookieTractor',3,'https://www.cookietractor.com','obvi_use','',NULL,NULL);\nINSERT INTO trackers VALUES('cookieyes','CookieYes',3,'https://www.cookieyes.com/','cookieyes','',NULL,NULL);\nINSERT INTO trackers VALUES('cool_publisher_experiences','COOL Publisher Experiences',1,'https://cool.co/publisher-experiences/','thecoolcompany','',NULL,NULL);\nINSERT INTO trackers VALUES('cooliris','Cooliris',4,'http://www.cooliris.com','cooliris','1609',NULL,NULL);\nINSERT INTO trackers VALUES('copacet','Copacet',1,'http://copacet.com/','copacet','1152',NULL,NULL);\nINSERT INTO trackers VALUES('coreaudience','CoreAudience',1,'http://www.redaril.com/','hearst','522',NULL,NULL);\nINSERT INTO trackers VALUES('coremotives','CoreMotives',1,'http://coremotives.com/','coremotives','817',NULL,NULL);\nINSERT INTO trackers VALUES('coull','Coull',1,'https://coull.com/','coull','1819',NULL,NULL);\nINSERT INTO trackers VALUES('coveo_platform','Coveo Platform',4,'https://docs.coveo.com/en/3361/coveo-platform-overview','coveo','',NULL,NULL);\nINSERT INTO trackers VALUES('coveo_usage_analytics','Coveo Usage Analytics',9,'https://docs.coveo.com/en/l3bf0598/analyze-usage-data/overview','coveo','',NULL,NULL);\nINSERT INTO trackers VALUES('cpm_rocket','CPM Rocket',1,'http://www.cpmrocket.com/','cpm_rocket','1962',NULL,NULL);\nINSERT INTO trackers VALUES('cpmprofit','CPMProfit',1,'http://www.cpmprofit.com/','cpmprofit','1004',NULL,NULL);\nINSERT INTO trackers VALUES('cpmstar','CPMStar',1,'http://www.cpmstar.com','cpmstar','411',NULL,NULL);\nINSERT INTO trackers VALUES('cpx.to','Captify',1,'https://www.captify.co.uk/','captify','1565',NULL,NULL);\nINSERT INTO trackers VALUES('cq_counter','CQ Counter',9,'http://www.cqcounter.com/','cq_counter','1072',NULL,NULL);\nINSERT INTO trackers VALUES('cqq5id8n.com','cqq5id8n.com',7,NULL,NULL,'3476',NULL,NULL);\nINSERT INTO trackers VALUES('cquotient.com','CQuotient',9,'https://www.demandware.com/#cquotient','salesforce','2989',NULL,NULL);\nINSERT INTO trackers VALUES('craftkeys','CraftKeys',1,'http://craftkeys.com/','craftkeys','1608',NULL,NULL);\nINSERT INTO trackers VALUES('crakmedia_network','Crakmedia Network',1,'https://crakmedia.com/','crakmedia_network','1225',NULL,NULL);\nINSERT INTO trackers VALUES('crankyads','CrankyAds',1,'http://www.crankyads.com','crankyads','1807',NULL,NULL);\nINSERT INTO trackers VALUES('crazy_egg','Crazy Egg',9,'http://crazyegg.com/','crazy_egg','20',NULL,NULL);\nINSERT INTO trackers VALUES('creafi','Creafi',1,'http://www.creafi.com/en/home/','crazy4media','1134',NULL,NULL);\nINSERT INTO trackers VALUES('createjs','CreateJS',6,'https://createjs.com/',NULL,'3477',NULL,NULL);\nINSERT INTO trackers VALUES('creative_commons','Creative Commons',7,'https://creativecommons.org/','creative_commons_corp','3478',NULL,NULL);\nINSERT INTO trackers VALUES('crimsonhexagon_com','Brandwatch',9,'https://www.brandwatch.com/','brandwatch','3479',NULL,NULL);\nINSERT INTO trackers VALUES('crimtan','Crimtan',1,'https://www.crimtan.com/','crimtan','520',NULL,NULL);\nINSERT INTO trackers VALUES('crisp','Crisp',4,NULL,'crisp','3167',NULL,NULL);\nINSERT INTO trackers VALUES('criteo','Criteo',1,'https://www.criteo.com/','criteo','64',NULL,NULL);\nINSERT INTO trackers VALUES('crm4d','CRM4D',9,NULL,'crm4d','2376',NULL,NULL);\nINSERT INTO trackers VALUES('crossengage','CrossEngage',9,NULL,'crossengage','2621',NULL,NULL);\nINSERT INTO trackers VALUES('crosspixel','Cross Pixel',1,'http://crosspixel.net/','cross_pixel','732',NULL,NULL);\nINSERT INTO trackers VALUES('crosssell.info','econda Cross Sell',1,'https://www.econda.de/en/solutions/personalization/cross-sell/','econda','3480',NULL,NULL);\nINSERT INTO trackers VALUES('crossss','Crossss',1,'http://crossss.ru/','crossss','1856',NULL,NULL);\nINSERT INTO trackers VALUES('crowd_ignite','Crowd Ignite',1,'http://get.crowdignite.com/','gorilla_nation_media','947',NULL,NULL);\nINSERT INTO trackers VALUES('crowd_science','Crowd Science',1,'http://www.crowdscience.com/','crowd_science','42',NULL,NULL);\nINSERT INTO trackers VALUES('crowdprocess','CrowdProcess',4,'https://crowdprocess.com','crowdprocess','1967',NULL,NULL);\nINSERT INTO trackers VALUES('crowdynews','Crowdynews',10,'https://www.crowdynews.com/','crowdynews','1760',NULL,NULL);\nINSERT INTO trackers VALUES('crownpeak','Crownpeak',11,NULL,'crownpeak','2987',NULL,NULL);\nINSERT INTO trackers VALUES('cryptoloot_miner','CryptoLoot Miner',1,NULL,'cryptoloot','3165',NULL,NULL);\nINSERT INTO trackers VALUES('csapps','CsApps',4,'https://cirkleinc.com/','cirklestudio','',NULL,NULL);\nINSERT INTO trackers VALUES('ctnetwork','CTnetwork',1,'http://ctnetwork.hu/','ctnetwork','1135',NULL,NULL);\nINSERT INTO trackers VALUES('ctrlshift','CtrlShift',1,'http://www.adzcentral.com/','ctrlshift','1512',NULL,NULL);\nINSERT INTO trackers VALUES('cubed','Cubed',9,NULL,'cubed_attribution','2606',NULL,NULL);\nINSERT INTO trackers VALUES('cuelinks','CueLinks',1,'https://www.cuelinks.com/','cuelinks','1951',NULL,NULL);\nINSERT INTO trackers VALUES('cup_interactive','Cup Interactive',1,NULL,'cup_interactive','3072',NULL,NULL);\nINSERT INTO trackers VALUES('curse.com','Curse',7,'https://www.curse.com/','amazon_associates','3481',NULL,NULL);\nINSERT INTO trackers VALUES('cursecdn.com','Curse CDN',6,'https://www.curse.com/','amazon_associates','3482',NULL,NULL);\nINSERT INTO trackers VALUES('customer.io','Customer.io',4,'https://www.customer.io/','customer.io','1684',NULL,NULL);\nINSERT INTO trackers VALUES('customer.io_tracking','Customer.io Tracking',9,'https://www.customer.io/','customer.io','',NULL,NULL);\nINSERT INTO trackers VALUES('customerly','Customerly',4,NULL,'customerly','3290',NULL,NULL);\nINSERT INTO trackers VALUES('cxense','cXense',1,'https://www.cxense.com/','cxense','794',NULL,NULL);\nINSERT INTO trackers VALUES('cxo.name','Chip Analytics',9,'https://www.chip.de/',NULL,'3483',NULL,NULL);\nINSERT INTO trackers VALUES('cyber_wing','Cyber Wing',1,'http://www.cyberwing.co.jp/','cyberwing','1844',NULL,NULL);\nINSERT INTO trackers VALUES('cybersource','CyberSource',9,'https://www.cybersource.com/en-gb.html','visa','3484',NULL,NULL);\nINSERT INTO trackers VALUES('cygnus','Cygnus',1,'http://www.cygnus.com/','cygnus','2196',NULL,NULL);\nINSERT INTO trackers VALUES('da-ads.com','da-ads.com',1,NULL,NULL,'3485',NULL,NULL);\nINSERT INTO trackers VALUES('dable','Dable',1,'https://dable.io/','dable','',NULL,NULL);\nINSERT INTO trackers VALUES('dailymail.co.uk','Daily Mail',7,'https://www.dailymail.co.uk/home/index.html','dmg_media','3486',NULL,NULL);\nINSERT INTO trackers VALUES('dailymotion','Dailymotion',7,NULL,'vivendi','3487',NULL,NULL);\nINSERT INTO trackers VALUES('dailymotion_advertising','Dailymotion Advertising',1,'https://advertisers.dailymotion.com/en/','vivendi','3488',NULL,NULL);\nINSERT INTO trackers VALUES('daisycon','Daisycon',1,'https://www.daisycon.com/en/','daisycon','1440',NULL,NULL);\nINSERT INTO trackers VALUES('danawa','Danawa',1,'https://danawa.com/','connectwave','',NULL,NULL);\nINSERT INTO trackers VALUES('dantrack.net','DANtrack',1,'http://media.dantrack.net/privacy/','dentsu_aegis_network','3489',NULL,NULL);\nINSERT INTO trackers VALUES('darwin_marketing','Darwin Marketing',1,'http://www.darwinmarketing.com/','darwin_marketing','1877',NULL,NULL);\nINSERT INTO trackers VALUES('dashboard_ad','Dashboard Ad',1,'http://www.dashboardad.com/','premium_access','330',NULL,NULL);\nINSERT INTO trackers VALUES('datacaciques.com','DataCaciques',9,'https://www.datacaciques.com/',NULL,'3490',NULL,NULL);\nINSERT INTO trackers VALUES('datacoral','Datacoral',1,NULL,'datacoral','3158',NULL,NULL);\nINSERT INTO trackers VALUES('datacrushers','Datacrushers',9,'https://www.datacrushers.com/','datacrushers','2147',NULL,NULL);\nINSERT INTO trackers VALUES('datadog','Datadog',11,'https://www.datadoghq.com','datadog','',NULL,NULL);\nINSERT INTO trackers VALUES('datadome','DataDome',9,'https://datadome.co/','datadome','3258',NULL,NULL);\nINSERT INTO trackers VALUES('datalicious_datacollector','Datalicious DataCollector',9,'http://www.datalicious.com/','datalicious','2051',NULL,NULL);\nINSERT INTO trackers VALUES('datalicious_supertag','Datalicious SuperTag',11,'http://www.datalicious.com/','datalicious','2050',NULL,NULL);\nINSERT INTO trackers VALUES('datalogix','Datalogix',1,'https://www.oracle.com/corporate/acquisitions/datalogix/','oracle','175',NULL,NULL);\nINSERT INTO trackers VALUES('datamind.ru','DataMind',1,'http://datamind.ru/','datamind','2005',NULL,NULL);\nINSERT INTO trackers VALUES('datarize','Datarize',9,'https://datarize.ai/en','datarize','',NULL,NULL);\nINSERT INTO trackers VALUES('datatables','DataTables',4,'https://datatables.net/',NULL,'3491',NULL,NULL);\nINSERT INTO trackers VALUES('datawrkz','Datawrkz',1,NULL,'datawrkz','3002',NULL,NULL);\nINSERT INTO trackers VALUES('dataxpand','Dataxpand',1,'https://dataxpand.com/','dataxpand','2189',NULL,NULL);\nINSERT INTO trackers VALUES('dataxu','DataXu',1,'http://www.dataxu.com/','dataxu','353',NULL,NULL);\nINSERT INTO trackers VALUES('datds.net','datds.net',5,NULL,NULL,'3492',NULL,NULL);\nINSERT INTO trackers VALUES('datonics','Datonics',1,'https://www.datonics.com/','almondnet','171',NULL,NULL);\nINSERT INTO trackers VALUES('datran','Pulsepoint',1,'https://www.pulsepoint.com/','pulsepoint_ad_exchange','470',NULL,NULL);\nINSERT INTO trackers VALUES('daum.net','Daum Search',4,'https://www.daum.net/','kakao','',NULL,'daum.net');\nINSERT INTO trackers VALUES('davebestdeals.com','davebestdeals.com',5,NULL,NULL,'3493',NULL,NULL);\nINSERT INTO trackers VALUES('dawandastatic.com','Dawanda CDN',7,'https://dawanda.com/',NULL,'3494',NULL,NULL);\nINSERT INTO trackers VALUES('dax','DAX',1,'https://global.com/dax/','global','',NULL,NULL);\nINSERT INTO trackers VALUES('dc_stormiq','DC StormIQ',1,'http://www.dc-storm.com/','dc_storm','250',NULL,NULL);\nINSERT INTO trackers VALUES('dcbap.com','dcbap.com',5,NULL,NULL,'3495',NULL,NULL);\nINSERT INTO trackers VALUES('dcmn.com','DCMN',1,'https://www.dcmn.com/',NULL,'3496',NULL,NULL);\nINSERT INTO trackers VALUES('de_persgroep','De Persgroep',1,NULL,'de_persgroep','3301',NULL,NULL);\nINSERT INTO trackers VALUES('deadline_funnel','Deadline Funnel',9,NULL,'deadline_funnel','2982',NULL,NULL);\nINSERT INTO trackers VALUES('dealer.com','Dealer.com',9,NULL,'dealer.com','2715',NULL,NULL);\nINSERT INTO trackers VALUES('decibel_insight','Decibel Insight',9,NULL,'decibel_insight','2232',NULL,NULL);\nINSERT INTO trackers VALUES('dedicated_media','Dedicated Media',1,'http://www.dedicatedmedia.com/','dedicated_media','570',NULL,NULL);\nINSERT INTO trackers VALUES('deep.bi','Deep.BI',9,NULL,'deep.bi','3214',NULL,NULL);\nINSERT INTO trackers VALUES('deepintent.com','DeepIntent',1,'https://www.deepintent.com/','deep_intent','3082',NULL,NULL);\nINSERT INTO trackers VALUES('defpush.com','defpush.com',7,NULL,NULL,'3497',NULL,NULL);\nINSERT INTO trackers VALUES('deichmann.com','deichmann.com',1,NULL,NULL,'3498',NULL,NULL);\nINSERT INTO trackers VALUES('delacon','Delacon',9,'https://www.delacon.com.au/','delacon','2188',NULL,NULL);\nINSERT INTO trackers VALUES('delivr','Delivr',9,'http://www.percentmobile.com/','delivr','207',NULL,NULL);\nINSERT INTO trackers VALUES('delivrai','Delivr.ai',1,'https://www.delivr.ai/solutions/resolution','delivrai','',NULL,NULL);\nINSERT INTO trackers VALUES('delta-sync','Delta Sync',9,'https://www.delta.com/us/en/onboard/inflight-entertainment/onboard-wifi','delta_airlines','',NULL,NULL);\nINSERT INTO trackers VALUES('delta_projects','Delta Projects',1,'http://www.adaction.se/','delta_projects','904',NULL,NULL);\nINSERT INTO trackers VALUES('deluxe','Deluxe',9,NULL,'deluxe','3224',NULL,NULL);\nINSERT INTO trackers VALUES('delve_networks','Delve Networks',10,'http://www.delvenetworks.com/','limelight_networks','3499',NULL,NULL);\nINSERT INTO trackers VALUES('demandbase','Demandbase',1,'https://www.demandbase.com/','demandbase','160',NULL,NULL);\nINSERT INTO trackers VALUES('deqwas','Deqwas',9,'https://deqwas.com/','deqwas','2159',NULL,NULL);\nINSERT INTO trackers VALUES('devatics','Devatics',4,'http://www.devatics.co.uk/','devatics','1738',NULL,NULL);\nINSERT INTO trackers VALUES('developer_media','Developer Media',1,'https://developermedia.com/','developer_media','1867',NULL,NULL);\nINSERT INTO trackers VALUES('deviantart.net','deviantart.net',7,NULL,NULL,'3500',NULL,NULL);\nINSERT INTO trackers VALUES('dex_platform','DEX Platform',1,'http://blueadvertise.com/','dex_platform','1956',NULL,NULL);\nINSERT INTO trackers VALUES('dgm','dgm',1,'https://www.dgm-au.com/','apd','1447',NULL,NULL);\nINSERT INTO trackers VALUES('dialogflow','Dialogflow',4,'https://cloud.google.com/dialogflow/docs','google','',NULL,NULL);\nINSERT INTO trackers VALUES('dialogtech','Dialogtech',9,NULL,'dialogtech','2795',NULL,NULL);\nINSERT INTO trackers VALUES('dianomi','Dianomi',1,'https://www.dianomi.com/cms/','dianomi','2024',NULL,NULL);\nINSERT INTO trackers VALUES('didit_blizzard','Didit Blizzard',1,'http://www.didit.com/blizzard','didit','389',NULL,NULL);\nINSERT INTO trackers VALUES('didit_maestro','Didit Maestro',1,'http://www.didit.com/maestro','didit','388',NULL,NULL);\nINSERT INTO trackers VALUES('didomi','Didomi',3,'https://www.didomi.io/en/','didomi','3501',NULL,NULL);\nINSERT INTO trackers VALUES('digg_widget','Digg Widget',4,'https://digg.com/apple/Digg_Widget','buysellads.com','100',NULL,NULL);\nINSERT INTO trackers VALUES('digicert_trust_seal','Digicert Trust Seal',11,'https://www.digicert.com/','digicert','2108',NULL,NULL);\nINSERT INTO trackers VALUES('digidip','Digidip',1,NULL,'digidip','2938',NULL,NULL);\nINSERT INTO trackers VALUES('digiglitz','Digiglitz',9,NULL,'digiglitz','2710',NULL,NULL);\nINSERT INTO trackers VALUES('digilant','Digilant',1,'https://www.digilant.com/','digilant','493',NULL,NULL);\nINSERT INTO trackers VALUES('digioh','Digioh',1,'https://digioh.com/',NULL,'3502',NULL,NULL);\nINSERT INTO trackers VALUES('digital.gov','Digital.gov',9,'https://digital.gov/','us_government','3504',NULL,NULL);\nINSERT INTO trackers VALUES('digital_control_room','Digital Control Room',3,'http://www.cookiereports.com/','digital_control_room','1536',NULL,NULL);\nINSERT INTO trackers VALUES('digital_nomads','Digital Nomads',1,'http://dnomads.net/',NULL,'3503',NULL,NULL);\nINSERT INTO trackers VALUES('digital_remedy','Digital Remedy',1,'https://www.digitalremedy.com/','digital_remedy','110',NULL,NULL);\nINSERT INTO trackers VALUES('digital_river','Digital River',1,'http://corporate.digitalriver.com','digital_river','1035',NULL,NULL);\nINSERT INTO trackers VALUES('digital_window','Digital Window',1,'http://www.digitalwindow.com/','axel_springer','1548',NULL,NULL);\nINSERT INTO trackers VALUES('digiteka','Digiteka',1,NULL,'digiteka','2773',NULL,NULL);\nINSERT INTO trackers VALUES('digitrust','DigiTrust',1,'https://www.digitru.st/','iab','3505',NULL,NULL);\nINSERT INTO trackers VALUES('dihitt_badge','diHITT Badge',10,'http://www.dihitt.com.br/','dihitt','1038',NULL,NULL);\nINSERT INTO trackers VALUES('dimml','DimML',7,NULL,NULL,'3506',NULL,NULL);\nINSERT INTO trackers VALUES('direct_keyword_link','Direct Keyword Link',1,'http://www.keywordsconnect.com/','direct_keyword_link','2019',NULL,NULL);\nINSERT INTO trackers VALUES('directadvert','Direct/ADVERT',1,'https://www.directadvert.ru/','directadvert','1112',NULL,NULL);\nINSERT INTO trackers VALUES('directrev','DirectREV',1,'https://www.directrev.com/','directrev','1405',NULL,NULL);\nINSERT INTO trackers VALUES('discord','Discord',4,'https://discord.com/',NULL,'3507',NULL,NULL);\nINSERT INTO trackers VALUES('disney_plus_analytics','Disney+ Analytics',9,'https://privacy.thewaltdisneycompany.com/en/privacy-controls/online-tracking-and-advertising/','disney','',NULL,NULL);\nINSERT INTO trackers VALUES('display_block','display block',1,'https://www.displayblock.com/','display_block','2212',NULL,NULL);\nINSERT INTO trackers VALUES('disqus','Disqus',4,'https://disqus.com/','zeta','85',NULL,NULL);\nINSERT INTO trackers VALUES('disqus_ads','Disqus Ads',1,'https://disqusads.com/','zeta','3508',NULL,NULL);\nINSERT INTO trackers VALUES('distil_tag','Distil Networks',11,'https://www.distilnetworks.com/','distil_networks','2178',NULL,NULL);\nINSERT INTO trackers VALUES('districtm.io','district m',1,'https://districtm.net/','district_m','3509',NULL,NULL);\nINSERT INTO trackers VALUES('distroscale','Distroscale',9,'https://www.distroscale.com/','distroscale','2600',NULL,NULL);\nINSERT INTO trackers VALUES('div.show','div.show',5,NULL,NULL,'3510',NULL,NULL);\nINSERT INTO trackers VALUES('diva','DiVa',9,'http://www.vertriebsassistent.de/','diva','1284',NULL,NULL);\nINSERT INTO trackers VALUES('divvit','Divvit',9,NULL,'divvit','2627',NULL,NULL);\nINSERT INTO trackers VALUES('dixa','Dixa',4,'https://www.dixa.com/','dixa','',NULL,NULL);\nINSERT INTO trackers VALUES('dm2','DM2',1,'https://digitalmediamanagement.com/','digital_media_management','1728',NULL,NULL);\nINSERT INTO trackers VALUES('dmg_media','DMG Media',7,'https://www.dmgmedia.co.uk/','dmgt','3511',NULL,NULL);\nINSERT INTO trackers VALUES('dmm','DMM',8,NULL,'dmm.r18','3218',NULL,NULL);\nINSERT INTO trackers VALUES('dmwd','DMWD',7,NULL,NULL,'3512',NULL,NULL);\nINSERT INTO trackers VALUES('dockvine','dockvine',4,NULL,'dockvine','3263',NULL,NULL);\nINSERT INTO trackers VALUES('docler','Docler',2,'https://www.doclerholding.com/en/about/companies/33/','docler_ip','3513',NULL,NULL);\nINSERT INTO trackers VALUES('document360','Document360',4,'https://document360.com/','kovai','',NULL,NULL);\nINSERT INTO trackers VALUES('dogannet','Dogannet',1,NULL,'dogannet','2791',NULL,NULL);\nINSERT INTO trackers VALUES('domodomain','DomoDomain',9,'http://www.domodomain.com/','intelligencefocus','296',NULL,NULL);\nINSERT INTO trackers VALUES('donationtools','iRobinHood',5,'http://www.irobinhood.org',NULL,'3514',NULL,NULL);\nINSERT INTO trackers VALUES('doofinder.com','doofinder',4,'https://www.doofinder.com/',NULL,'3515',NULL,NULL);\nINSERT INTO trackers VALUES('doorbell.io','Doorbell.io',4,'https://doorbell.io/','doorbell.io','2843',NULL,NULL);\nINSERT INTO trackers VALUES('dotandmedia','DotAndMedia',1,'http://www.dotandmedia.com','dotandmedia','1764',NULL,NULL);\nINSERT INTO trackers VALUES('dotmailer','dotMailer',4,'https://www.dotdigitalgroup.com/','dotdigital_group','909',NULL,NULL);\nINSERT INTO trackers VALUES('dotmetrics.net','Dotmetrics',9,'https://dotmetrics.net/',NULL,'3516',NULL,NULL);\nINSERT INTO trackers VALUES('dotomi','Dotomi',1,'http://www.dotomi.com/','conversant','120',NULL,NULL);\nINSERT INTO trackers VALUES('doubleclick','Google Marketing Platform',1,'https://marketingplatform.google.com/about/enterprise/','google','41',NULL,NULL);\nINSERT INTO trackers VALUES('doubleclick_ad_buyer','Authorized Buyers',1,'https://developers.google.com/authorized-buyers/','google','2532',NULL,'google_adservices');\nINSERT INTO trackers VALUES('doubleclick_bid_manager','DoubleClick Bid Manager',1,'http://www.invitemedia.com','google','318',NULL,'doubleclick');\nINSERT INTO trackers VALUES('doubleclick_floodlight','DoubleClick Floodlight',1,'http://www.google.com/support/dfa/partner/bin/topic.py?topic=23943','google','310',NULL,'doubleclick');\nINSERT INTO trackers VALUES('doubleclick_spotlight','DoubleClick Spotlight',1,'http://www.doubleclick.com/products/richmedia','google','90',NULL,'doubleclick');\nINSERT INTO trackers VALUES('doubleclick_video_stats','Doubleclick Video Stats',1,NULL,'google','2993',NULL,'google_syndication');\nINSERT INTO trackers VALUES('doublepimp','DoublePimp',8,'http://www.doublepimp.com/','doublepimp','76',NULL,NULL);\nINSERT INTO trackers VALUES('doubleverify','DoubleVerify',1,'https://www.doubleverify.com/','doubleverify','217',NULL,NULL);\nINSERT INTO trackers VALUES('dratio','Dratio',9,'http://www.dratio.com/','dratio','1797',NULL,NULL);\nINSERT INTO trackers VALUES('drawbridge','Drawbridge',1,'http://www.drawbrid.ge/','drawbridge','1291',NULL,NULL);\nINSERT INTO trackers VALUES('dreamlab.pl','DreamLab.pl',1,'https://www.dreamlab.pl/','onet.pl','3517',NULL,NULL);\nINSERT INTO trackers VALUES('drift','Drift',4,'https://www.salesloft.com/platform/drift','salesloft','2781',NULL,NULL);\nINSERT INTO trackers VALUES('drip','Drip',4,'https://www.getdrip.com','drip','1909',NULL,NULL);\nINSERT INTO trackers VALUES('dropbox.com','Dropbox',4,'https://www.dropbox.com/',NULL,'2490',NULL,NULL);\nINSERT INTO trackers VALUES('dsnr_media_group','DSNR Media Group',1,'http://www.dsnrmg.com/','dsnr_media_group','446',NULL,NULL);\nINSERT INTO trackers VALUES('dsp_rambler','Rambler DSP',1,'http://dsp.rambler.ru/','rambler','3518',NULL,NULL);\nINSERT INTO trackers VALUES('dstillery','Dstillery',1,'https://dstillery.com/','dstillery','147',NULL,NULL);\nINSERT INTO trackers VALUES('dtscout.com','DTScout',1,'https://www.dtscout.com/','dtscout','3103',NULL,NULL);\nINSERT INTO trackers VALUES('dudamobile','DudaMobile',1,NULL,'dudamobile','2929',NULL,NULL);\nINSERT INTO trackers VALUES('dun_and_bradstreet','Dun and Bradstreet',9,NULL,'dun_&_bradstreet','2793',NULL,NULL);\nINSERT INTO trackers VALUES('dwstat.cn','dwstat.cn',9,'http://www.dwstat.cn/','dwstat','592',NULL,NULL);\nINSERT INTO trackers VALUES('dynad','DynAd',1,'http://dynad.net/','dynad','1776',NULL,NULL);\nINSERT INTO trackers VALUES('dynadmic','DynAdmic',1,'https://www.equativ.com/','equativ','3519',NULL,NULL);\nINSERT INTO trackers VALUES('dynamic_1001_gmbh','Dynamic 1001 GmbH',7,NULL,NULL,'3520',NULL,NULL);\nINSERT INTO trackers VALUES('dynamic_logic','Dynamic Logic',1,'http://www.dynamiclogic.com/','millward_brown','48',NULL,NULL);\nINSERT INTO trackers VALUES('dynamic_yield','Dynamic Yield',9,'https://www.dynamicyield.com/','dynamic_yield','2822',NULL,NULL);\nINSERT INTO trackers VALUES('dynamic_yield_analytics','Dynamic Yield Analytics',9,'https://www.dynamicyield.com/','dynamic_yield','1348',NULL,'dynamic_yield');\nINSERT INTO trackers VALUES('dynamics_365','Dynamics 365',9,'https://www.microsoft.com/en-gb/dynamics-365','microsoft','',NULL,NULL);\nINSERT INTO trackers VALUES('dynata','Dynata',1,'http://hottraffic.nl/en','dynata','1126',NULL,NULL);\nINSERT INTO trackers VALUES('dynatrace.com','Dynatrace',9,'https://www.dynatrace.com/','dynatrace','3521',NULL,NULL);\nINSERT INTO trackers VALUES('dyncdn.me','dyncdn.me',7,NULL,NULL,'3522',NULL,NULL);\nINSERT INTO trackers VALUES('e-planning','e-planning',1,'https://www.e-planning.net/','e-planning','506',NULL,NULL);\nINSERT INTO trackers VALUES('eadv','eADV',1,'https://eadv.it/','eadv','1006',NULL,NULL);\nINSERT INTO trackers VALUES('eanalyzer.de','eanalyzer.de',7,NULL,NULL,'3523',NULL,NULL);\nINSERT INTO trackers VALUES('early_birds','Early Birds',1,'http://www.early-birds.fr/','early_birds','2543',NULL,NULL);\nINSERT INTO trackers VALUES('earnify','Earnify',1,NULL,'earnify','2547',NULL,NULL);\nINSERT INTO trackers VALUES('earnify_tracker','Earnify Tracker',9,NULL,'earnify','2617',NULL,NULL);\nINSERT INTO trackers VALUES('easyads','EasyAds',1,'https://easyads.bg/','easyads','1578',NULL,NULL);\nINSERT INTO trackers VALUES('easylist_club','easylist.club',7,NULL,NULL,'3524',NULL,NULL);\nINSERT INTO trackers VALUES('ebay','eBay Stats',1,'https://partnernetwork.ebay.com/','ebay_partner_network','233',NULL,NULL);\nINSERT INTO trackers VALUES('ebay_korea','eBay Korea',1,'https://www.ebay.com/','ebay','2020',NULL,NULL);\nINSERT INTO trackers VALUES('ebay_partner_network','eBay Partner Network',1,'https://www.ebaypartnernetwork.com/files/hub/en-US/index.html','ebay_partner_network','2031',NULL,NULL);\nINSERT INTO trackers VALUES('ebbot','Ebbot',4,'https://www.ebbot.com/','hello_ebbot','',NULL,NULL);\nINSERT INTO trackers VALUES('ebuzzing','eBuzzing',1,'http://www.ebuzzing.com/','ebuzzing','993',NULL,NULL);\nINSERT INTO trackers VALUES('echo','Echo',1,'https://js-kit.com/','echo','140',NULL,NULL);\nINSERT INTO trackers VALUES('echobox','Echobox',4,'https://www.echobox.com/','echobox','',NULL,NULL);\nINSERT INTO trackers VALUES('eclick','eClick',1,'https://eclick.vn/','eclick','1236',NULL,NULL);\nINSERT INTO trackers VALUES('econda','Econda',9,'https://www.econda.de/','econda','405',NULL,NULL);\nINSERT INTO trackers VALUES('ecotag','ecotag',1,'http://www.eco-tag.jp/','ecotag','1826',NULL,NULL);\nINSERT INTO trackers VALUES('edigitalresearch','eDigitalResearch',1,'http://www.edigitalresearch.com/','edigitalresearch','1551',NULL,NULL);\nINSERT INTO trackers VALUES('effective_measure','Effective Measure',1,'http://www.effectivemeasure.com/','effective_measure','534',NULL,NULL);\nINSERT INTO trackers VALUES('effiliation','Effiliation',1,'https://www.effiliation.com/','effiliation','1843',NULL,NULL);\nINSERT INTO trackers VALUES('egain','eGain',4,'https://www.egain.com/','egain','1615',NULL,NULL);\nINSERT INTO trackers VALUES('egain_analytics','eGain Analytics',9,NULL,'egain','3109',NULL,NULL);\nINSERT INTO trackers VALUES('ehi-siegel_de','ehi-siegel.de',4,'https://ehi-siegel.de/',NULL,'3525',NULL,NULL);\nINSERT INTO trackers VALUES('ekmpinpoint','ekmPinPoint',9,'http://ekmpinpoint.com/','ekmpinpoint','1935',NULL,NULL);\nINSERT INTO trackers VALUES('ekomi','eKomi',4,'https://www.ekomi.co.uk/uk/','ekomi','1655',NULL,NULL);\nINSERT INTO trackers VALUES('elastic_ad','Elastic Ad',1,NULL,'elastic_ad','2250',NULL,NULL);\nINSERT INTO trackers VALUES('elastic_beanstalk','Elastic Beanstalk',9,NULL,'amazon_associates','2259',NULL,NULL);\nINSERT INTO trackers VALUES('elicit','elicit',1,'https://www.elicitsearch.com/','elicit','1496',NULL,NULL);\nINSERT INTO trackers VALUES('eloqua','Eloqua',1,'http://www.eloqua.com/','oracle','166',NULL,NULL);\nINSERT INTO trackers VALUES('eluxer_net','eluxer.net',5,NULL,NULL,'3526',NULL,NULL);\nINSERT INTO trackers VALUES('email_aptitude','Email Aptitude',1,'http://www.emailaptitude.com/','email_aptitude','2096',NULL,NULL);\nINSERT INTO trackers VALUES('email_attitude','Email Attitude',1,'http://us.email-attitude.com/Default.aspx','1000mercis','1454',NULL,NULL);\nINSERT INTO trackers VALUES('emarketeer','emarketeer',1,NULL,'emarketeer','2918',NULL,NULL);\nINSERT INTO trackers VALUES('emart_traders','Emart Traders',9,NULL,'shinsegae','',NULL,NULL);\nINSERT INTO trackers VALUES('embed.ly','Embedly',9,'https://embed.ly/','medium','3527',NULL,NULL);\nINSERT INTO trackers VALUES('emediate','Emediate',1,'http://www.emediate.biz/','cxense','735',NULL,NULL);\nINSERT INTO trackers VALUES('emetriq','emetriq',1,NULL,'emetriq','2300',NULL,NULL);\nINSERT INTO trackers VALUES('emma','Emma',1,'https://myemma.com/','emma','1611',NULL,NULL);\nINSERT INTO trackers VALUES('emnet','eMnet',1,'https://www.emnet.co.kr/','emnet','2062',NULL,NULL);\nINSERT INTO trackers VALUES('empathy','Empathy',1,'http://www.colbenson.com','empathy','1523',NULL,NULL);\nINSERT INTO trackers VALUES('emsmobile.de','EMS Mobile',7,'http://www.emsmobile.com/',NULL,'3528',NULL,NULL);\nINSERT INTO trackers VALUES('encore_metrics','Encore Metrics',1,'http://sitecompass.com','flashtalking','414',NULL,NULL);\nINSERT INTO trackers VALUES('enecto_analytics','Enecto Analytics',9,'https://www.enecto.com/en/','enecto','985',NULL,NULL);\nINSERT INTO trackers VALUES('engage_sciences','Engage Sciences',9,NULL,'engagesciences','2414',NULL,NULL);\nINSERT INTO trackers VALUES('engageya_widget','Engageya Widget',1,NULL,'engageya','2799',NULL,NULL);\nINSERT INTO trackers VALUES('engagio','Engagio',9,'https://www.engagio.com/','engagio','3529',NULL,NULL);\nINSERT INTO trackers VALUES('engineseeker','EngineSeeker',1,'http://www.engineseeker.com/','engineseeker','823',NULL,NULL);\nINSERT INTO trackers VALUES('enquisite','Enquisite',1,'https://www.enquisite.com/','inboundwriter','154',NULL,NULL);\nINSERT INTO trackers VALUES('enreach','Enreach',1,'https://enreach.me/','enreach','1419',NULL,NULL);\nINSERT INTO trackers VALUES('ensemble','Ensemble',1,'http://www.tumri.com','ensemble','424',NULL,NULL);\nINSERT INTO trackers VALUES('ensighten','Ensighten',11,'http://www.ensighten.com','ensighten','459',NULL,NULL);\nINSERT INTO trackers VALUES('envolve','Envolve',4,'https://www.envolve.com/','envolve','1757',NULL,NULL);\nINSERT INTO trackers VALUES('envybox','Envybox',4,NULL,'envybox','2535',NULL,NULL);\nINSERT INTO trackers VALUES('enzuzo','Enzuzo',3,'https://www.enzuzo.com','enzuzo','',NULL,NULL);\nINSERT INTO trackers VALUES('eperflex','Eperflex',1,'https://eperflex.com/','ividence','1493',NULL,NULL);\nINSERT INTO trackers VALUES('epic_game_ads','Epic Game Ads',1,'http://www.epicgameads.com/','epic_game_ads','1141',NULL,NULL);\nINSERT INTO trackers VALUES('epic_marketplace','Epic Marketplace',1,'https://www.trafficmarketplace.com/','epic_advertising','176',NULL,NULL);\nINSERT INTO trackers VALUES('epom','Epom',1,'https://epom.com/','epom','1569',NULL,NULL);\nINSERT INTO trackers VALUES('epoq','epoq',4,'http://www.epoq.de/','epoq','1801',NULL,NULL);\nINSERT INTO trackers VALUES('eprice','ePrice',1,'http://banzaiadv.it/','eprice','1180',NULL,NULL);\nINSERT INTO trackers VALUES('eproof','eProof',9,'http://www.eproof.com/','eproof','263',NULL,NULL);\nINSERT INTO trackers VALUES('eqs_group','EQS Group',9,'https://www.eqs.com/','eqs_group','3530',NULL,NULL);\nINSERT INTO trackers VALUES('eqworks','EQWorks',1,'http://eqads.com','eq_works','1514',NULL,NULL);\nINSERT INTO trackers VALUES('eroadvertising','EroAdvertising',8,'http://www.ero-advertising.com/','ero_advertising','479',NULL,NULL);\nINSERT INTO trackers VALUES('errorception','Errorception',9,'https://errorception.com/','errorception','982',NULL,NULL);\nINSERT INTO trackers VALUES('eshopcomp.com','eshopcomp.com',5,NULL,NULL,'3531',NULL,NULL);\nINSERT INTO trackers VALUES('eskimi','Eskimi',1,'https://www.eskimi.com/','eskimi','',NULL,NULL);\nINSERT INTO trackers VALUES('espn_cdn','ESPN CDN',6,'https://www.espn.com/','disney','3063',NULL,NULL);\nINSERT INTO trackers VALUES('esprit.de','esprit.de',7,NULL,NULL,'3532',NULL,NULL);\nINSERT INTO trackers VALUES('estat','eStat',9,'http://www.mediametrie-estat.com/','mediametrie','311',NULL,NULL);\nINSERT INTO trackers VALUES('etag','etag',1,NULL,'etag','3270',NULL,NULL);\nINSERT INTO trackers VALUES('etahub.com','etahub.com',7,NULL,NULL,'3533',NULL,NULL);\nINSERT INTO trackers VALUES('etarget','Etarget',1,'http://etargetnet.com/','etarget','1008',NULL,NULL);\nINSERT INTO trackers VALUES('ethnio','Ethnio',9,'https://ethn.io/','ethnio','1597',NULL,NULL);\nINSERT INTO trackers VALUES('ethyca','Ethyca',3,'https://ethyca.com/','ethyca','4062',NULL,NULL);\nINSERT INTO trackers VALUES('etology','Etology',1,'http://www.etology.com','etology','596',NULL,NULL);\nINSERT INTO trackers VALUES('etp','ETP',9,NULL,'etp','3278',NULL,NULL);\nINSERT INTO trackers VALUES('etracker','etracker',9,'https://www.etracker.com/en/','etracker_gmbh','186',NULL,NULL);\nINSERT INTO trackers VALUES('etrigue','eTrigue',1,'https://www.etrigue.com/','etrigue','825',NULL,NULL);\nINSERT INTO trackers VALUES('etsystatic','Etsy CDN',6,NULL,'etsy','3534',NULL,NULL);\nINSERT INTO trackers VALUES('eulerian','Eulerian',9,'https://www.eulerian.com/','eulerian','790',NULL,NULL);\nINSERT INTO trackers VALUES('euroads','Euroads',1,'http://euroads.com/en/','euroads','965',NULL,NULL);\nINSERT INTO trackers VALUES('europecash','Europecash',1,NULL,'europacash','2678',NULL,NULL);\nINSERT INTO trackers VALUES('euroweb_counter','Euroweb Counter',1,'https://www.euroweb.de/','euroweb','1147',NULL,NULL);\nINSERT INTO trackers VALUES('evergage.com','Evergage',4,'https://www.evergage.com','evergage','1739',NULL,NULL);\nINSERT INTO trackers VALUES('everstring','Everstring',9,NULL,'everstring','2404',NULL,NULL);\nINSERT INTO trackers VALUES('everyday_health','Everyday Health',10,'https://www.everydayhealth.com/','everyday_health','622',NULL,NULL);\nINSERT INTO trackers VALUES('evidon','Evidon',11,'https://www.evidon.com/','crownpeak','3535',NULL,NULL);\nINSERT INTO trackers VALUES('evisit_analyst','eVisit Analyst',1,'http://www.evisitanalyst.com','evisit_analyst','1158',NULL,NULL);\nINSERT INTO trackers VALUES('exact_drive','Exact Drive',1,'https://www.exactdrive.com/','exact_drive','1910',NULL,NULL);\nINSERT INTO trackers VALUES('exactag','Exactag',9,'http://www.exactag.com','exactag','1680',NULL,NULL);\nINSERT INTO trackers VALUES('exelate','eXelate',1,'http://www.exelate.com/','nielsen','172',NULL,NULL);\nINSERT INTO trackers VALUES('exitjunction','ExitJunction',1,'https://secure.exitjunction.com','exitjunction','650',NULL,NULL);\nINSERT INTO trackers VALUES('exoclick','ExoClick',8,'http://exoclick.com/','exoclick','702',NULL,NULL);\nINSERT INTO trackers VALUES('exoticads.com','exoticads',8,'https://exoticads.com/welcome/',NULL,'3536',NULL,NULL);\nINSERT INTO trackers VALUES('expedia','Expedia',7,'https://www.trvl-px.com/','iac_apps','3537',NULL,NULL);\nINSERT INTO trackers VALUES('experian','Experian',7,'https://www.experian.com/','experian_inc','3538',NULL,NULL);\nINSERT INTO trackers VALUES('experian_marketing_services','Experian Marketing Services',1,'https://www.experian.com/','experian_inc','751',NULL,NULL);\nINSERT INTO trackers VALUES('expo-max','expo-MAX',1,'http://expo-max.com/','expo-max','639',NULL,NULL);\nINSERT INTO trackers VALUES('exponea','Exponea by BloomReach',4,'https://exponea.com/blog/bloomreach-acquisition-ceo-perspective/?utm_referrer=https%3A%2F%2Fexponea.com%2F','bloomreach','',NULL,NULL);\nINSERT INTO trackers VALUES('expose_box','Expose Box',1,NULL,'expose_box','3118',NULL,NULL);\nINSERT INTO trackers VALUES('expose_box_widgets','Expose Box Widgets',4,NULL,'expose_box','3117',NULL,NULL);\nINSERT INTO trackers VALUES('express.co.uk','express.co.uk',7,'https://www.express.co.uk/',NULL,'3539',NULL,NULL);\nINSERT INTO trackers VALUES('expressvpn','ExpressVPN',4,NULL,'expressvpn','2681',NULL,NULL);\nINSERT INTO trackers VALUES('extreme_tracker','eXTReMe Tracker',9,'http://www.extremetracking.com/','extreme_digital','155',NULL,NULL);\nINSERT INTO trackers VALUES('eye-able','Eye-Able',11,'https://eye-able.com/','web_inclusion','',NULL,NULL);\nINSERT INTO trackers VALUES('eye_newton','Eye Newton',4,NULL,'eyenewton','3019',NULL,NULL);\nINSERT INTO trackers VALUES('eyeota','Eyeota',1,'https://www.eyeota.com/','eyeota','1336',NULL,NULL);\nINSERT INTO trackers VALUES('eyereturnmarketing','Eyereturn Marketing',1,'https://eyereturnmarketing.com/','torstar_corp','523',NULL,NULL);\nINSERT INTO trackers VALUES('eyeview','Eyeview',1,'http://www.eyeviewdigital.com/','eyeview','1515',NULL,NULL);\nINSERT INTO trackers VALUES('ezakus','Ezakus',1,'https://www.ezakus.com/','np6','1266',NULL,NULL);\nINSERT INTO trackers VALUES('f11-ads.com','Factor Eleven',1,NULL,NULL,'3540',NULL,NULL);\nINSERT INTO trackers VALUES('facebook','Facebook',1,'https://www.facebook.com','facebook','2491',NULL,NULL);\nINSERT INTO trackers VALUES('facebook_beacon','Facebook Beacon',10,'https://www.facebook.com/beacon/faq.php','facebook','204',NULL,'facebook');\nINSERT INTO trackers VALUES('facebook_cdn','Facebook CDN',6,'https://www.facebook.com','facebook','3541',NULL,NULL);\nINSERT INTO trackers VALUES('facebook_connect','Facebook Connect',9,'https://developers.facebook.com/connect.php','facebook','93',NULL,'facebook');\nINSERT INTO trackers VALUES('facebook_conversion_tracking','Facebook Conversion Tracking',1,'https://www.facebook.com/','facebook','910',NULL,'facebook');\nINSERT INTO trackers VALUES('facebook_custom_audience','Facebook Custom Audience',1,'https://www.facebook.com','facebook','2148',NULL,'facebook');\nINSERT INTO trackers VALUES('facebook_graph','Facebook Social Graph',10,'https://developers.facebook.com/docs/reference/api/','facebook','922',NULL,NULL);\nINSERT INTO trackers VALUES('facebook_impressions','Facebook Impressions',1,NULL,'facebook','2922',NULL,'facebook');\nINSERT INTO trackers VALUES('facebook_social_plugins','Facebook Social Plugins',10,'https://developers.facebook.com/plugins','facebook','464',NULL,'facebook');\nINSERT INTO trackers VALUES('facetz.dca','Facetz.DCA',1,'http://facetz.net','dca','2008',NULL,NULL);\nINSERT INTO trackers VALUES('facilitate_digital','Facilitate Digital',1,'http://www.facilitatedigital.com/','adslot','452',NULL,NULL);\nINSERT INTO trackers VALUES('factfinder','FactFinder',9,'https://www.fact-finder.com/','omikron','',NULL,NULL);\nINSERT INTO trackers VALUES('faktor.io','faktor.io',9,'https://faktor.io/','faktor.io','3542',NULL,NULL);\nINSERT INTO trackers VALUES('fancy_widget','Fancy Widget',10,'http://www.thefancy.com/','fancy','1605',NULL,NULL);\nINSERT INTO trackers VALUES('fanplayr','Fanplayr',1,'https://www.fanplayr.com/','fanplayr','2172',NULL,NULL);\nINSERT INTO trackers VALUES('fap.to','Imagefap',7,NULL,NULL,'3543',NULL,NULL);\nINSERT INTO trackers VALUES('fastly_insights','Fastly Insights',9,'https://insights.fastlylabs.com/','fastly','3544',NULL,NULL);\nINSERT INTO trackers VALUES('fastlylb.net','Fastly',6,'https://www.fastly.com/','fastly','3545',NULL,NULL);\nINSERT INTO trackers VALUES('fastpic.ru','FastPic',6,'http://fastpic.ru/','fastpic','3546',NULL,NULL);\nINSERT INTO trackers VALUES('fathom','Fathom Analytics',11,'https://usefathom.com/','conva','1637',NULL,NULL);\nINSERT INTO trackers VALUES('federated_media','Federated Media',1,'https://www.federatedmedia.net/','hyfn','31',NULL,NULL);\nINSERT INTO trackers VALUES('feedbackify','Feedbackify',4,'https://www.feedbackify.com/','feedbackify','1093',NULL,NULL);\nINSERT INTO trackers VALUES('feedburner.com','FeedBurner',1,'https://feedburner.com','google','34',NULL,NULL);\nINSERT INTO trackers VALUES('feedify','Feedify',10,'http://feedify.de/','feedify','2218',NULL,NULL);\nINSERT INTO trackers VALUES('feedjit','Feedjit',1,'http://feedjit.com/','feedjit','36',NULL,NULL);\nINSERT INTO trackers VALUES('feedperfect','FeedPerfect',1,'http://www.feedperfect.com/','feedperfect','797',NULL,NULL);\nINSERT INTO trackers VALUES('feedsportal','Feedsportal',1,'http://www.mediafed.com/','mediafed','1802',NULL,NULL);\nINSERT INTO trackers VALUES('feefo','Feefo',4,NULL,'feefo','2431',NULL,NULL);\nINSERT INTO trackers VALUES('fentybeauty','Fenty Beauty',9,'https://fentybeauty.com/','kendobrands','',NULL,NULL);\nINSERT INTO trackers VALUES('fidelity_media','Fidelity Media',1,'http://fidelity-media.com/','fidelity_media','2078',NULL,NULL);\nINSERT INTO trackers VALUES('fiftypoint6','506',4,'https://506.io/','fiftypoint6','',NULL,NULL);\nINSERT INTO trackers VALUES('fiksu','Fiksu',1,'https://fiksu.com/','noosphere','3547',NULL,NULL);\nINSERT INTO trackers VALUES('filament.io','Filament.io',1,NULL,'sharethis','2549',NULL,NULL);\nINSERT INTO trackers VALUES('fileserve','FileServe',6,'http://fileserve.com/','fileserve','3548',NULL,NULL);\nINSERT INTO trackers VALUES('financeads','FinanceADs',1,NULL,'financeads_gmbh_&_co._kg','2377',NULL,NULL);\nINSERT INTO trackers VALUES('financial_content','Financial Content',1,'http://www.financialcontent.com','financial_content','412',NULL,NULL);\nINSERT INTO trackers VALUES('findizer.fr','Findizer',7,'http://www.findizer.fr/',NULL,'3549',NULL,NULL);\nINSERT INTO trackers VALUES('findologic.com','Findologic',4,'https://www.findologic.com/','findologic','3079',NULL,NULL);\nINSERT INTO trackers VALUES('firebaseio.com','Firebase',7,'https://firebase.google.com/','google','3550',NULL,NULL);\nINSERT INTO trackers VALUES('first_impression','First Impression',1,NULL,'first_impression','2249',NULL,NULL);\nINSERT INTO trackers VALUES('fiserv','Fiserv',11,'https://www.fiserv.com/','fiserv','',NULL,NULL);\nINSERT INTO trackers VALUES('fit_analytics','Fit Analytics',9,NULL,'fit_analytics','2693',NULL,NULL);\nINSERT INTO trackers VALUES('fiverr_analytics','Fiverr Analytics',9,NULL,'fiverr','',NULL,NULL);\nINSERT INTO trackers VALUES('fiverr_cdn','Fiverr CDN',6,NULL,'fiverr','',NULL,NULL);\nINSERT INTO trackers VALUES('fivetran','Fivetran',9,'https://fivetran.com/','fivetran','3551',NULL,NULL);\nINSERT INTO trackers VALUES('flag_ads','Flag Ads',1,'http://www.flagads.net/','flag_ads','1393',NULL,NULL);\nINSERT INTO trackers VALUES('flag_counter','Flag Counter',1,'http://flagcounter.com/','flag_counter','1153',NULL,NULL);\nINSERT INTO trackers VALUES('flashtalking','Flashtalking',1,'http://www.flashtalking.com/','mediaocean','495',NULL,NULL);\nINSERT INTO trackers VALUES('flattr_button','Flattr Button',10,'https://flattr.com/','flattr','908',NULL,NULL);\nINSERT INTO trackers VALUES('flexoffers','FlexOffers',1,'https://www.flexoffers.com/','flexoffers.com','2043',NULL,NULL);\nINSERT INTO trackers VALUES('flickr_badge','Flickr Badge',10,'https://www.flickr.com/','smugmug','1928',NULL,NULL);\nINSERT INTO trackers VALUES('flipboard','Flipboard',9,'http://www.flipboard.com/','flipboard','3552',NULL,NULL);\nINSERT INTO trackers VALUES('flite','Flite',1,'http://www.flite.com/','flite','1566',NULL,NULL);\nINSERT INTO trackers VALUES('flixcdn.com','flixcdn.com',6,NULL,NULL,'3553',NULL,NULL);\nINSERT INTO trackers VALUES('flixmedia','Flixmedia',7,NULL,'flixmedia','3274',NULL,NULL);\nINSERT INTO trackers VALUES('flocktory.com','Flocktory',9,'https://www.flocktory.com/','flocktory','2761',NULL,NULL);\nINSERT INTO trackers VALUES('flowbox','Flowbox',4,'https://getflowbox.com','flowbox','',NULL,NULL);\nINSERT INTO trackers VALUES('flowplayer','Flowplayer',1,NULL,'flowplayer','2889',NULL,NULL);\nINSERT INTO trackers VALUES('fluct','Fluct',1,'https://corp.fluct.jp/','fluct','924',NULL,NULL);\nINSERT INTO trackers VALUES('fluent','Fluent',1,NULL,'fluent','2544',NULL,NULL);\nINSERT INTO trackers VALUES('fluid','Fluid',1,'http://www.8thbridge.com/','fluid','1585',NULL,NULL);\nINSERT INTO trackers VALUES('fluidads','FluidAds',1,'http://www.fluidads.co/','fluidads','1798',NULL,NULL);\nINSERT INTO trackers VALUES('fluidsurveys','FluidSurveys',4,'http://fluidsurveys.com/','fluidware','1638',NULL,NULL);\nINSERT INTO trackers VALUES('flurry','Flurry',9,'http://www.flurry.com/','verizon','1892',NULL,NULL);\nINSERT INTO trackers VALUES('flxone','FLXONE',1,'http://www.flxone.com/','flxone','1667',NULL,NULL);\nINSERT INTO trackers VALUES('flyertown','Flyertown',9,'https://www.flyertown.ca/','flyertown','1591',NULL,NULL);\nINSERT INTO trackers VALUES('fmadserving','FMAdserving',1,'http://www.fmadserving.dk/','fm_adserving','1994',NULL,NULL);\nINSERT INTO trackers VALUES('fonbet','Fonbet',9,NULL,'fonbet','3302',NULL,NULL);\nINSERT INTO trackers VALUES('fonecta','Fonecta',4,'https://www.fonecta.com/','fonecta','1009',NULL,NULL);\nINSERT INTO trackers VALUES('fontawesome_com','fontawesome.com',6,'https://fontawesome.com/',NULL,'3554',NULL,NULL);\nINSERT INTO trackers VALUES('foodie_blogroll','Foodie Blogroll',10,'http://www.foodieblogroll.com','foodie_blogroll','1034',NULL,NULL);\nINSERT INTO trackers VALUES('footprint','Footprint',1,'http://www.footprintlive.com/','opentracker','619',NULL,NULL);\nINSERT INTO trackers VALUES('footprintdns.com','Footprint DNS',7,NULL,'microsoft','3555',NULL,NULL);\nINSERT INTO trackers VALUES('forcetrac','ForceTrac',4,'http://www.forcetrac.com/','force_marketing','2151',NULL,NULL);\nINSERT INTO trackers VALUES('forensiq','Forensiq',1,'https://www.cpadetective.com/','impact','1380',NULL,NULL);\nINSERT INTO trackers VALUES('foresee','ForeSee',11,'https://www.foresee.com/','foresee_results','265',NULL,NULL);\nINSERT INTO trackers VALUES('formassembly','FormAssembly',4,'https://www.formassembly.com/','formassembly','',NULL,NULL);\nINSERT INTO trackers VALUES('formisimo','Formisimo',1,NULL,'formisimo','3146',NULL,NULL);\nINSERT INTO trackers VALUES('forter','Forter',11,'https://www.forter.com/','forter','3200',NULL,NULL);\nINSERT INTO trackers VALUES('fortlachanhecksof.info','fortlachanhecksof.info',7,NULL,NULL,'3556',NULL,NULL);\nINSERT INTO trackers VALUES('fouanalytics','FouAnalytics',9,'https://fouanalytics.com/','fouanalytics','',NULL,NULL);\nINSERT INTO trackers VALUES('foursquare_widget','Foursquare Widget',1,'https://foursquare.com/','foursquare','1041',NULL,NULL);\nINSERT INTO trackers VALUES('fout.jp','FreakOut',1,'https://www.fout.co.jp/','freakout','685',NULL,NULL);\nINSERT INTO trackers VALUES('fox_audience_network','Fox Audience Network',1,'https://publishers.foxaudiencenetwork.com/','fox_audience_network','173',NULL,NULL);\nINSERT INTO trackers VALUES('foxnews_static','Fox News CDN',6,NULL,'fox_news','3557',NULL,NULL);\nINSERT INTO trackers VALUES('foxpush','FoxPush',1,NULL,'foxpush','2825',NULL,NULL);\nINSERT INTO trackers VALUES('foxydeal_com','foxydeal.com',5,'https://www.foxydeal.de',NULL,'3558',NULL,NULL);\nINSERT INTO trackers VALUES('framer','Framer',6,'https://www.framer.com/','framer','',NULL,NULL);\nINSERT INTO trackers VALUES('framer_events','Framer Events',9,'https://www.framer.com/help/articles/how-to-track-custom-events-in-framer/','framer','',NULL,NULL);\nINSERT INTO trackers VALUES('fraud0','fraud0',11,'https://www.fraud0.com/','fraud0','',NULL,NULL);\nINSERT INTO trackers VALUES('fraudlogix','FraudLogix',1,'https://www.fraudlogix.com/',NULL,'3559',NULL,NULL);\nINSERT INTO trackers VALUES('free_counter','Free Counter',9,'http://www.statcounterfree.com/','free_counter','2161',NULL,NULL);\nINSERT INTO trackers VALUES('free_online_users','Free Online Users',9,'http://www.freeonlineusers.com','free_online_users','624',NULL,NULL);\nINSERT INTO trackers VALUES('free_pagerank','Free PageRank',9,'http://www.free-pagerank.com/','free_pagerank','786',NULL,NULL);\nINSERT INTO trackers VALUES('freedom_mortgage','Freedom Mortgage',9,'https://www.freedommortgage.com/','freedom_mortgage','3560',NULL,NULL);\nINSERT INTO trackers VALUES('freegeoip_net','freegeoip.net',9,'http://freegeoip.net/',NULL,'3561',NULL,NULL);\nINSERT INTO trackers VALUES('freenet_de','freenet.de',1,'https://freenet.de/','debitel','1031',NULL,NULL);\nINSERT INTO trackers VALUES('freewheel','FreeWheel',1,'http://www.freewheel.tv/','comcast','380',NULL,NULL);\nINSERT INTO trackers VALUES('fresh8','Fresh8',9,NULL,'fresh_8_gaming','3147',NULL,NULL);\nINSERT INTO trackers VALUES('freshchat','Freshchat',4,'https://www.freshworks.com/live-chat-software/','freshworks','',NULL,NULL);\nINSERT INTO trackers VALUES('freshdesk','Freshdesk',4,'https://www.freshworks.com/freshdesk/','freshworks','1092',NULL,NULL);\nINSERT INTO trackers VALUES('freshplum','Freshplum',1,'https://freshplum.com/','freshplum','1584',NULL,NULL);\nINSERT INTO trackers VALUES('freshrelevance','Fresh Relevance',4,'https://www.freshrelevance.com/','freshrelevance','',NULL,NULL);\nINSERT INTO trackers VALUES('friendbuy','FriendBuy',9,NULL,'friendbuy','3251',NULL,NULL);\nINSERT INTO trackers VALUES('friendfeed','FriendFeed',10,'http://friendfeed.com/','facebook','39',NULL,NULL);\nINSERT INTO trackers VALUES('friendfinder_network','FriendFinder Network',8,'https://www.ffn.com/','friendfinder_networks','600',NULL,NULL);\nINSERT INTO trackers VALUES('frosmo_optimizer','Frosmo',9,'https://frosmo.com/','frosmo','1373',NULL,NULL);\nINSERT INTO trackers VALUES('fruitflan','FruitFlan',1,'http://flan-tech.com/','keytiles','1136',NULL,NULL);\nINSERT INTO trackers VALUES('fstrk.net','24metrics Fraudshield',9,'https://24metrics.com/','24metrics','3562',NULL,NULL);\nINSERT INTO trackers VALUES('fuelx','FuelX',1,NULL,'fuelx','2436',NULL,NULL);\nINSERT INTO trackers VALUES('fullstory','FullStory',9,NULL,'fullstory','2372',NULL,NULL);\nINSERT INTO trackers VALUES('funnelfuel','FunnelFuel',1,'https://www.funnelfuel.io','funnelfuel','',NULL,NULL);\nINSERT INTO trackers VALUES('funnelytics','Funnelytics',9,NULL,'funnelytics','3233',NULL,NULL);\nINSERT INTO trackers VALUES('fyber','Fyber',1,'https://www.fyber.com/','fyber','3090',NULL,NULL);\nINSERT INTO trackers VALUES('ga_audiences','GA Audiences',9,NULL,'google','2827',NULL,'google');\nINSERT INTO trackers VALUES('gainsight_px','Gainsight PX',9,'https://www.gainsight.com/product-experience/','gainsight','',NULL,NULL);\nINSERT INTO trackers VALUES('game_advertising_online','Game Advertising Online',1,'http://www.game-advertising-online.com/','game_advertising_online','1292',NULL,NULL);\nINSERT INTO trackers VALUES('gamedistribution.com','Gamedistribution.com',7,'https://gamedistribution.com/',NULL,'3563',NULL,NULL);\nINSERT INTO trackers VALUES('gamerdna','gamerDNA',10,'https://www.gamerdnamedia.com/','gamerdna_media','972',NULL,NULL);\nINSERT INTO trackers VALUES('gamesight','Gamesight',1,'https://gamesight.io/','gamesight','',NULL,NULL);\nINSERT INTO trackers VALUES('gamifiera','Gamifiera',4,'http://www.gamifiera.com/','gamifiera','',NULL,NULL);\nINSERT INTO trackers VALUES('gannett','Gannett Media',2,'https://www.gannett.com/','gannett_digital_media_network','2558',NULL,NULL);\nINSERT INTO trackers VALUES('gaug.es','Gaug.es',9,'https://get.gaug.es/','euroweb','773',NULL,NULL);\nINSERT INTO trackers VALUES('gazprom-media_digital','Gazprom-Media Digital',2,'http://www.gpm-digital.com/','gazprom-media_digital','1748',NULL,NULL);\nINSERT INTO trackers VALUES('gb-world','GB-World',10,'https://www.gb-world.net/','gb-world','876',NULL,NULL);\nINSERT INTO trackers VALUES('gdeslon','GdeSlon',1,'https://www.gdeslon.ru/','gdeslon','1859',NULL,NULL);\nINSERT INTO trackers VALUES('gdm_digital','GDM Digital',1,'http://www.gdmdigital.com/','ve_interactive','2137',NULL,NULL);\nINSERT INTO trackers VALUES('geeen','Geeen',9,NULL,'geeen','3142',NULL,NULL);\nINSERT INTO trackers VALUES('gemius','Gemius',1,'http://www.gemius.com','gemius_sa','313',NULL,NULL);\nINSERT INTO trackers VALUES('generaltracking_de','generaltracking.de',7,NULL,NULL,'3564',NULL,NULL);\nINSERT INTO trackers VALUES('genesis','Genesis',1,'https://genesismedia.com/','genesis_media','1913',NULL,NULL);\nINSERT INTO trackers VALUES('genesys_cloud','Genesys Cloud CX',4,'https://www.genesys.com/genesys-cloud','genesys','',NULL,NULL);\nINSERT INTO trackers VALUES('genesys_cloud_analytics','Genesys Cloud CX Analytics',9,'https://www.genesys.com/genesys-cloud','genesys','',NULL,'genesys_cloud');\nINSERT INTO trackers VALUES('geniee','GENIEE',1,'https://geniee.co.jp/',NULL,'2346',NULL,NULL);\nINSERT INTO trackers VALUES('genius','Genius',9,'http://www.genius.com/','genius','234',NULL,NULL);\nINSERT INTO trackers VALUES('genius_monkey','Genius Monkey',1,'https://geniusmonkey.com/','genius_monkey','',NULL,NULL);\nINSERT INTO trackers VALUES('genoo','Genoo',1,'https://www.genoo.com/','genoo','2216',NULL,NULL);\nINSERT INTO trackers VALUES('geoads','GeoAds',1,'http://www.geoads.com','geoads','558',NULL,NULL);\nINSERT INTO trackers VALUES('geoedge','GeoEdge',1,'https://www.geoedge.com/','five_media','',NULL,NULL);\nINSERT INTO trackers VALUES('geolify','Geolify',1,NULL,'geolify','3114',NULL,NULL);\nINSERT INTO trackers VALUES('geoplugin','geoPlugin',9,'http://www.geoplugin.com/','geoplugin','1095',NULL,NULL);\nINSERT INTO trackers VALUES('geotrust','GeoTrust',11,'https://www.geotrust.com/','symantec','2109',NULL,NULL);\nINSERT INTO trackers VALUES('geovisite','Geovisite',9,'http://www.geovisite.com/','geovisite','1100',NULL,NULL);\nINSERT INTO trackers VALUES('gestionpub','GestionPub',1,'http://www.gestionpub.com/','gestionpub','772',NULL,NULL);\nINSERT INTO trackers VALUES('get_response','Get Response',4,NULL,'getresponse','2595',NULL,NULL);\nINSERT INTO trackers VALUES('get_site_control','Get Site Control',1,NULL,'getsitecontrol','2872',NULL,NULL);\nINSERT INTO trackers VALUES('getconversion','GetConversion',4,'http://www.getconversion.net/','getconversion','1736',NULL,NULL);\nINSERT INTO trackers VALUES('getglue','GetGlue',2,'http://getglue.com','telfie','1104',NULL,NULL);\nINSERT INTO trackers VALUES('getintent','GetIntent',1,'http://www.getintent.com/','getintent','2004',NULL,NULL);\nINSERT INTO trackers VALUES('getkudos','GetKudos',4,'https://www.getkudos.me/','zendesk','2125',NULL,NULL);\nINSERT INTO trackers VALUES('getmyad','GetMyAd',1,'http://yottos.com','yottos','1851',NULL,NULL);\nINSERT INTO trackers VALUES('getsatisfaction','GetSatisfaction',4,'https://getsatisfaction.com/','get_satisfaction','104',NULL,NULL);\nINSERT INTO trackers VALUES('gettyimages','Getty Images',7,'https://www.gettyimages.com/',NULL,'3565',NULL,NULL);\nINSERT INTO trackers VALUES('gfk','GfK',1,'http://nurago.com/','gfk_nurago','753',NULL,NULL);\nINSERT INTO trackers VALUES('gfycat.com','gfycat',10,'https://gfycat.com/',NULL,'3566',NULL,NULL);\nINSERT INTO trackers VALUES('giant_realm','Giant Realm',1,'http://corp.giantrealm.com/','giant_realm','329',NULL,NULL);\nINSERT INTO trackers VALUES('giantmedia','GiantMedia',1,'https://giantmedia.com/','adknowledge','3567',NULL,NULL);\nINSERT INTO trackers VALUES('giga','Giga',1,NULL,'giga','3156',NULL,NULL);\nINSERT INTO trackers VALUES('gigya','Gigya',9,'https://www.sap.com/products/acquired-brands/what-is-gigya.html','sap','2746',NULL,NULL);\nINSERT INTO trackers VALUES('gigya_beacon','Gigya Beacon',4,'https://www.sap.com/products/acquired-brands/what-is-gigya.html','sap','432',NULL,'gigya');\nINSERT INTO trackers VALUES('gigya_cdn','Gigya CDN',6,'https://www.sap.com/products/acquired-brands/what-is-gigya.html','sap','4064',NULL,NULL);\nINSERT INTO trackers VALUES('gigya_socialize','Gigya Socialize',4,'https://www.sap.com/products/acquired-brands/what-is-gigya.html','sap','1047',NULL,'gigya');\nINSERT INTO trackers VALUES('gigya_toolbar','Gigya Toolbar',4,'https://www.sap.com/products/acquired-brands/what-is-gigya.html','sap','1143',NULL,'gigya');\nINSERT INTO trackers VALUES('giosg','Giosg',4,'https://www.giosg.com/','giosg','2848',NULL,NULL);\nINSERT INTO trackers VALUES('giphy.com','Giphy',10,'https://giphy.com/',NULL,'3568',NULL,NULL);\nINSERT INTO trackers VALUES('giraff.io','Giraff.io',1,'https://www.giraff.io/',NULL,'3569',NULL,NULL);\nINSERT INTO trackers VALUES('github','GitHub',4,NULL,'github','3570',NULL,NULL);\nINSERT INTO trackers VALUES('github_apps','GitHub Apps',4,NULL,'github','3571',NULL,NULL);\nINSERT INTO trackers VALUES('github_pages','Github Pages',6,'https://pages.github.com/','github','3572',NULL,NULL);\nINSERT INTO trackers VALUES('gittigidiyor_affiliate_program','GittiGidiyor Affiliate Program',1,'https://www.ebay.com/','ebay','916',NULL,NULL);\nINSERT INTO trackers VALUES('gittip','Gittip',4,'https://www.gittip.com/','gittip','1837',NULL,NULL);\nINSERT INTO trackers VALUES('glad_cube','Glad Cube',9,NULL,'glad_cube_inc.','2652',NULL,NULL);\nINSERT INTO trackers VALUES('gladly','Gladly',4,'https://www.gladly.ai/','gladly_software','',NULL,NULL);\nINSERT INTO trackers VALUES('glassbox','Glassbox',9,'https://www.glassbox.com','glassbox','',NULL,NULL);\nINSERT INTO trackers VALUES('glganltcs.space','glganltcs.space',5,NULL,NULL,'3573',NULL,NULL);\nINSERT INTO trackers VALUES('glia','Glia',4,'https://www.glia.com/','glia','',NULL,NULL);\nINSERT INTO trackers VALUES('global_web_index','GlobalWebIndex',9,'https://www.globalwebindex.com/','global_web_index','2744',NULL,NULL);\nINSERT INTO trackers VALUES('globale_analytics','Global-e Analytics',9,'https://www.global-e.com/','globale','',NULL,NULL);\nINSERT INTO trackers VALUES('globale_platform','Global-e Platform',11,'https://www.global-e.com/platform/','globale','',NULL,NULL);\nINSERT INTO trackers VALUES('globalnotifier.com','globalnotifier.com',7,NULL,NULL,'3574',NULL,NULL);\nINSERT INTO trackers VALUES('globalsign','GlobalSign',7,NULL,NULL,'3575',NULL,NULL);\nINSERT INTO trackers VALUES('globaltakeoff','GlobalTakeoff',1,'http://www.globaltakeoff.net/','globaltakeoff','865',NULL,NULL);\nINSERT INTO trackers VALUES('glomex.com','Glomex',2,'https://www.glomex.com/','glomex','3154',NULL,NULL);\nINSERT INTO trackers VALUES('glotgrx.com','glotgrx.com',7,NULL,NULL,'3576',NULL,NULL);\nINSERT INTO trackers VALUES('gm_delivery','GM Delivery',1,NULL,'gm_delivery','2939',NULL,NULL);\nINSERT INTO trackers VALUES('gmarket','Gmarket',1,'https://www.gmarket.co.kr','shinsegae','',NULL,NULL);\nINSERT INTO trackers VALUES('gmo','GMO',1,NULL,'gmo_media','2596',NULL,NULL);\nINSERT INTO trackers VALUES('gmx_net','gmx.net',7,NULL,NULL,'3577',NULL,NULL);\nINSERT INTO trackers VALUES('go.com','go.com',7,'https://go.com','disney','3578',NULL,NULL);\nINSERT INTO trackers VALUES('godaddy_affiliate_program','GoDaddy Affiliate Program',1,'http://www.godaddy.com/','godaddy','971',NULL,NULL);\nINSERT INTO trackers VALUES('godaddy_site_analytics','GoDaddy Site Analytics',9,'https://www.godaddy.com/gdshop/hosting/stats_','godaddy','169',NULL,NULL);\nINSERT INTO trackers VALUES('godaddy_site_seal','GoDaddy Site Seal',11,'https://www.godaddy.com/web-security/ssl-certificate','godaddy','2110',NULL,NULL);\nINSERT INTO trackers VALUES('godatafeed','GoDataFeed',9,'http://www.godatafeed.com','godatafeed','477',NULL,NULL);\nINSERT INTO trackers VALUES('goingup','GoingUp',9,'http://www.goingup.com/','goingup','955',NULL,NULL);\nINSERT INTO trackers VALUES('gomez','Gomez',9,'http://www.gomez.com/','dynatrace','284',NULL,NULL);\nINSERT INTO trackers VALUES('goodadvert','GoodADVERT',1,'http://goodadvert.ru/','goodadvert','1102',NULL,NULL);\nINSERT INTO trackers VALUES('google','Google',1,'https://www.google.com/','google','3579',NULL,NULL);\nINSERT INTO trackers VALUES('google_accounts','Google Accounts',11,'https://accounts.google.com','google','',NULL,NULL);\nINSERT INTO trackers VALUES('google_ads_measurement','Google Ads Measurement',1,'https://marketingplatform.google.com/','google','3096',NULL,'google');\nINSERT INTO trackers VALUES('google_adsense','Google Adsense',1,'https://www.google.com/adsense/','google','37',NULL,'google_syndication');\nINSERT INTO trackers VALUES('google_adservices','Google AdServices',1,NULL,'google','2276',NULL,NULL);\nINSERT INTO trackers VALUES('google_adwords_conversion','Google AdWords Conversion',1,'https://adwords.google.com/','google','288',NULL,'google_adservices');\nINSERT INTO trackers VALUES('google_adwords_user_lists','Google Adwords User Lists',1,NULL,'google','3055',NULL,'google');\nINSERT INTO trackers VALUES('google_analytics','Google Analytics',9,'http://www.google.com/analytics/','google','13',NULL,NULL);\nINSERT INTO trackers VALUES('google_appspot','Google Appspot',6,NULL,'google','3580',NULL,NULL);\nINSERT INTO trackers VALUES('google_beacons','Google Beacons',9,'https://google.xyz','google','4049',NULL,NULL);\nINSERT INTO trackers VALUES('google_cloud','Google Cloud',6,'https://cloud.google.com/','google','',NULL,NULL);\nINSERT INTO trackers VALUES('google_custom_search','Google Custom Search Ads',1,'https://developers.google.com/custom-search-ads/','google','2829',NULL,NULL);\nINSERT INTO trackers VALUES('google_custom_search_engine','Google Programmable Search Engine',11,'https://programmablesearchengine.google.com/about/','google','70',NULL,'google');\nINSERT INTO trackers VALUES('google_email','Google Email',9,'http://www.google.com','google','4048',NULL,NULL);\nINSERT INTO trackers VALUES('google_fonts','Google Fonts',6,'https://fonts.google.com/','google','3581',NULL,NULL);\nINSERT INTO trackers VALUES('google_ima','Google IMA',1,NULL,'google','2995',NULL,'googleapis.com');\nINSERT INTO trackers VALUES('google_maps','Google Maps',11,'https://www.google.com/maps','google','',NULL,NULL);\nINSERT INTO trackers VALUES('google_photos','Google Photos',6,'https://photos.google.com/','google','3582',NULL,NULL);\nINSERT INTO trackers VALUES('google_pingback','Google Pingback',1,NULL,'google','2853',NULL,'google_syndication');\nINSERT INTO trackers VALUES('google_play_services','Google Play Services',6,'https://developers.google.com/products/services-and-integrations','google','',NULL,NULL);\nINSERT INTO trackers VALUES('google_plus','Google+ Platform',10,'http://www.google.com/+1/button/','google','615',NULL,'google');\nINSERT INTO trackers VALUES('google_publisher_tags','Google Publisher Tags',1,'https://developers.google.com/publisher-tag/reference','google','2453',NULL,'google_tag_manager');\nINSERT INTO trackers VALUES('google_recaptcha','Google Recaptcha',11,'https://www.google.com/recaptcha/about/','google','',NULL,NULL);\nINSERT INTO trackers VALUES('google_remarketing','Google Dynamic Remarketing',1,'https://adwords.google.com/','google','2160',NULL,'doubleclick');\nINSERT INTO trackers VALUES('google_safeframe','Google Safeframe',1,NULL,'google','2841',NULL,'google_syndication');\nINSERT INTO trackers VALUES('google_servers','Google Servers',7,'https://support.google.com/faqs/answer/174717?hl=en','google','3583',NULL,NULL);\nINSERT INTO trackers VALUES('google_shopping_reviews','Google Shopping Reviews',4,NULL,'google','2969',NULL,'google');\nINSERT INTO trackers VALUES('google_signals','Google Analytics with signals',1,'https://support.google.com/analytics/answer/9445345?hl=en#zippy=%2Cin-this-article','google','',NULL,NULL);\nINSERT INTO trackers VALUES('google_syndication','Google Syndication',1,NULL,'google','2277',NULL,NULL);\nINSERT INTO trackers VALUES('google_tag','Google Tag',1,'https://developers.google.com/tag-platform/gtagjs','google','',NULL,NULL);\nINSERT INTO trackers VALUES('google_tag_manager','Google Tag Manager',11,'https://marketingplatform.google.com/about/tag-manager/','google','1283',NULL,'google_tag');\nINSERT INTO trackers VALUES('google_tag_manager_1p','Google Tag Manager (server-side)',11,'https://developers.google.com/tag-platform/learn/sst-fundamentals/3-why-and-when-sst','google','',NULL,'google_tag');\nINSERT INTO trackers VALUES('google_translate','Google Translate',4,'https://translate.google.com/manager','google','2184',NULL,NULL);\nINSERT INTO trackers VALUES('google_travel_adds','Google Travel Adds',1,NULL,'google','2316',NULL,NULL);\nINSERT INTO trackers VALUES('google_trusted_stores','Google Trusted Stores',9,NULL,'google','2968',NULL,NULL);\nINSERT INTO trackers VALUES('google_users','Google User Content',6,NULL,'google','2333',NULL,NULL);\nINSERT INTO trackers VALUES('google_website_optimizer','Google Website Optimizer',9,'https://www.google.com/analytics/siteopt/prev','google','225',NULL,'google_analytics');\nINSERT INTO trackers VALUES('google_widgets','Google Widgets',4,'http://www.google.com','google','6',NULL,NULL);\nINSERT INTO trackers VALUES('googleapis.com','Google APIs',6,'https://www.googleapis.com/','google','3584',NULL,NULL);\nINSERT INTO trackers VALUES('goooal','Goooal',9,'https://mailchimp.com/','mailchimp','1218',NULL,NULL);\nINSERT INTO trackers VALUES('gorilla_nation','Gorilla Nation',1,'http://www.gorillanationmedia.com','gorilla_nation_media','306',NULL,NULL);\nINSERT INTO trackers VALUES('gosquared','GoSquared',9,'https://www.gosquared.com/livestats/','gosquared','253',NULL,NULL);\nINSERT INTO trackers VALUES('gostats','GoStats',9,'http://gostats.com/','gostats','858',NULL,NULL);\nINSERT INTO trackers VALUES('gotolstoy','Tolstoy',9,'https://www.gotolstoy.com/','gotolstoy','',NULL,NULL);\nINSERT INTO trackers VALUES('govmetric','GovMetric',9,'https://www.govmetric.com/','govmetric','2149',NULL,NULL);\nINSERT INTO trackers VALUES('grabo_affiliate','Grabo Affiliate',1,'http://grabo.bg/','grabo_media','1765',NULL,NULL);\nINSERT INTO trackers VALUES('grandslammedia','GrandSlamMedia',1,'http://www.grandslammedia.com/','grand_slam_media','1519',NULL,NULL);\nINSERT INTO trackers VALUES('granify','Granify',9,'http://granify.com/','granify','1874',NULL,NULL);\nINSERT INTO trackers VALUES('grapeshot','Grapeshot',1,'https://www.grapeshot.com/','oracle','745',NULL,NULL);\nINSERT INTO trackers VALUES('graph_comment','Graph Comment',11,'https://www.graphcomment.com/en','graph_comment','3137',NULL,NULL);\nINSERT INTO trackers VALUES('gravatar','Gravatar',10,'http://en.gravatar.com/','automattic','1773',NULL,NULL);\nINSERT INTO trackers VALUES('gravitec','Gravitec',9,NULL,'gravitec','2947',NULL,NULL);\nINSERT INTO trackers VALUES('gravity_insights','Gravity Insights',9,'http://www.gravity.com/','verizon','782',NULL,NULL);\nINSERT INTO trackers VALUES('greatviews.de','GreatViews',1,'http://greatviews.de/','parship','3585',NULL,NULL);\nINSERT INTO trackers VALUES('green_and_red','Green and Red',1,'https://www.green-red.com/','green_&_red_technologies','1954',NULL,NULL);\nINSERT INTO trackers VALUES('green_certified_site','Green Certified Site',4,'http://www.advenity.com/','advenity','1686',NULL,NULL);\nINSERT INTO trackers VALUES('green_story','Green Story',9,'https://greenstory.ca/','green_story','4030',NULL,NULL);\nINSERT INTO trackers VALUES('greentube.com','Greentube Internet Entertainment Solutions',10,'https://www.greentube.com/',NULL,'3586',NULL,NULL);\nINSERT INTO trackers VALUES('greystripe','Greystripe',1,'http://www.greystripe.com/','conversant','1452',NULL,NULL);\nINSERT INTO trackers VALUES('groove','Groove',4,'http://www.groovehq.com/','groove_networks','1661',NULL,NULL);\nINSERT INTO trackers VALUES('groovinads','GroovinAds',1,'https://www.groovinads.com/en','groovinads','3060',NULL,NULL);\nINSERT INTO trackers VALUES('groundtruth','GroundTruth',1,'https://www.groundtruth.com/','groundtruth','3587',NULL,NULL);\nINSERT INTO trackers VALUES('groupm_server','GroupM Server',1,'https://www.groupm.com/','wpp','456',NULL,NULL);\nINSERT INTO trackers VALUES('gsi_media','GSI Media',1,'http://gsimedia.net','gsi_media_network','875',NULL,NULL);\nINSERT INTO trackers VALUES('gstatic','Google Static',6,NULL,'google','3588',NULL,NULL);\nINSERT INTO trackers VALUES('gtop','GTop',9,'http://www.gtopstats.com','gtopstats','451',NULL,NULL);\nINSERT INTO trackers VALUES('gugaboo','Gugaboo',1,NULL,'gubagoo','2950',NULL,NULL);\nINSERT INTO trackers VALUES('guj.de','Gruner + Jahr',1,'https://www.guj.de/','gruner_jahr_ag','3589',NULL,NULL);\nINSERT INTO trackers VALUES('gujems','G+J e|MS',1,'https://www.gujmedia.de/','gruner_jahr_ag','3590',NULL,NULL);\nINSERT INTO trackers VALUES('gumgum','gumgum',1,'https://gumgum.com/','gumgum','95',NULL,NULL);\nINSERT INTO trackers VALUES('gumroad','Gumroad',10,'https://gumroad.com/','gumroad','2215',NULL,NULL);\nINSERT INTO trackers VALUES('gunggo','Gunggo',1,'http://www.gunggo.com/','gunggo','75',NULL,NULL);\nINSERT INTO trackers VALUES('h12_ads','H12 Ads',1,'http://www.h12-media.com/','h12_media_ads','1940',NULL,NULL);\nINSERT INTO trackers VALUES('hacker_news_button','Hacker News Button',10,'https://news.ycombinator.com/','hacker_news','1418',NULL,NULL);\nINSERT INTO trackers VALUES('haendlerbund.de','Händlerbund',4,'https://www.haendlerbund.de/en',NULL,'3591',NULL,NULL);\nINSERT INTO trackers VALUES('halogen_network','Halogen Network',10,'http://www.halogennetwork.com/','social_chorus','365',NULL,NULL);\nINSERT INTO trackers VALUES('happy_fox_chat','Happy Fox Chat',4,NULL,'happy_fox_chat','3134',NULL,NULL);\nINSERT INTO trackers VALUES('harren_media','Harren Media',1,'http://www.harrenmedia.com/index.html','harren_media','977',NULL,NULL);\nINSERT INTO trackers VALUES('hashtag_labs','Hashtag Labs',1,'https://hashtag-labs.com/','aditude','',NULL,NULL);\nINSERT INTO trackers VALUES('hatchbuck','Hatchbuck',9,NULL,'hatchbuck','2411',NULL,NULL);\nINSERT INTO trackers VALUES('hcaptcha','hCaptcha',11,'https://www.hcaptcha.com/','intuition_machines','',NULL,NULL);\nINSERT INTO trackers VALUES('head_hunter','Head Hunter',9,NULL,'head_hunter','2913',NULL,NULL);\nINSERT INTO trackers VALUES('healte.de','healte.de',7,NULL,NULL,'3592',NULL,NULL);\nINSERT INTO trackers VALUES('heap','Heap',9,'https://www.heap.io','content_square','1648',NULL,NULL);\nINSERT INTO trackers VALUES('heatmap','Heatmap',9,'https://heatmap.me/','heatmap','2157',NULL,NULL);\nINSERT INTO trackers VALUES('heimspiel','HEIM:SPIEL Medien GmbH',7,'http://www.heimspiel.de',NULL,'3593',NULL,NULL);\nINSERT INTO trackers VALUES('hello_bar','Hello Bar',10,'https://www.hellobar.com/','crazy_egg','637',NULL,NULL);\nINSERT INTO trackers VALUES('hellosociety','HelloSociety',9,'http://hellosociety.com','hellosociety','1561',NULL,NULL);\nINSERT INTO trackers VALUES('here','HERE',7,'https://www.here.com/',NULL,'3594',NULL,NULL);\nINSERT INTO trackers VALUES('hermesworld','Hermes',11,'https://www.myhermes.de/','hermesworld','',NULL,NULL);\nINSERT INTO trackers VALUES('heroku','Heroku',6,NULL,NULL,'3595',NULL,NULL);\nINSERT INTO trackers VALUES('heureka-widget','Heureka-Widget',1,NULL,'heureka','2521',NULL,NULL);\nINSERT INTO trackers VALUES('heybubble','HeyBubble',4,'https://www.heybubble.com/','heybubble','1795',NULL,NULL);\nINSERT INTO trackers VALUES('heyos','Heyos',1,'http://www.heyos.com/','heyos','2085',NULL,NULL);\nINSERT INTO trackers VALUES('hi-media_performance','Hi-Media Performance',1,'http://www.hi-mediaperformance.co.uk/','hi-media_performance','715',NULL,NULL);\nINSERT INTO trackers VALUES('hiconversion','HiConversion',1,'http://www.hiconversion.com','hiconversion','1076',NULL,NULL);\nINSERT INTO trackers VALUES('highwebmedia.com','highwebmedia.com',8,NULL,NULL,'3596',NULL,NULL);\nINSERT INTO trackers VALUES('highwinds','Highwinds',9,NULL,'highwinds','2610',NULL,NULL);\nINSERT INTO trackers VALUES('hiiir','Hiiir',1,'http://adpower.hiiir.com/','hiiir','1337',NULL,NULL);\nINSERT INTO trackers VALUES('hiro','HIRO',1,'https://www.hiro-media.com/','hiro_media','1664',NULL,NULL);\nINSERT INTO trackers VALUES('histats','Histats',1,'http://www.histats.com/','histats','251',NULL,NULL);\nINSERT INTO trackers VALUES('hit-parade','Hit-Parade',1,'https://www.hit-parade.com/','hit-parade','770',NULL,NULL);\nINSERT INTO trackers VALUES('hit.ua','HIT.UA',1,'https://hit.ua/','hit.ua','1327',NULL,NULL);\nINSERT INTO trackers VALUES('hitslink','HitsLink',1,'http://www.hitslink.com/','net_applications','123',NULL,NULL);\nINSERT INTO trackers VALUES('hitsniffer','HitSniffer',1,'http://hitsniffer.com/','hit_sniffer','640',NULL,NULL);\nINSERT INTO trackers VALUES('hittail','HitTail',1,'http://www.hittail.com/','hittail','38',NULL,NULL);\nINSERT INTO trackers VALUES('hivedx.com','hiveDX',1,'https://www.hivedx.com/',NULL,'3597',NULL,NULL);\nINSERT INTO trackers VALUES('hiveworks','Hive Networks',1,'https://hiveworkscomics.com/','hive_works','2602',NULL,NULL);\nINSERT INTO trackers VALUES('hoholikik.club','hoholikik.club',5,NULL,NULL,'3598',NULL,NULL);\nINSERT INTO trackers VALUES('hola_player','Hola Player',2,NULL,'hola_cdn','2937',NULL,NULL);\nINSERT INTO trackers VALUES('homeaway','HomeAway',7,NULL,NULL,'3599',NULL,NULL);\nINSERT INTO trackers VALUES('honeybadger','Honeybadger',9,'https://www.honeybadger.io/','honeybadger','2278',NULL,NULL);\nINSERT INTO trackers VALUES('hooklogic','HookLogic',1,'http://hooklogic.com/','criteo','1054',NULL,NULL);\nINSERT INTO trackers VALUES('hop-cube','Hop-Cube',1,'http://www.hop-cube.com/','hop-cube','1589',NULL,NULL);\nINSERT INTO trackers VALUES('hotdogsandads.com','hotdogsandads.com',7,NULL,NULL,'3600',NULL,NULL);\nINSERT INTO trackers VALUES('hotjar','Hotjar',9,'https://www.hotjar.com/','hotjar','2199',NULL,NULL);\nINSERT INTO trackers VALUES('hotlog.ru','HotLog',1,'https://hotlog.ru/','hotlog','591',NULL,NULL);\nINSERT INTO trackers VALUES('hotwords','HOTWords',1,'https://hotwords.com/','hotwords','694',NULL,NULL);\nINSERT INTO trackers VALUES('howtank.com','howtank',10,'https://www.howtank.com/',NULL,'3601',NULL,NULL);\nINSERT INTO trackers VALUES('hqentertainmentnetwork.com','HQ Entertainment Network',1,'https://hqentertainmentnetwork.com/',NULL,'3602',NULL,NULL);\nINSERT INTO trackers VALUES('hsoub','Hsoub',1,'http://www.hsoub.com/','hsoub','2107',NULL,NULL);\nINSERT INTO trackers VALUES('hstrck.com','HEIM:SPIEL Medien GmbH',7,'https://www.heimspiel.de/',NULL,'3603',NULL,NULL);\nINSERT INTO trackers VALUES('httpool','HTTPool',1,'https://www.httpool.com/','httpool','776',NULL,NULL);\nINSERT INTO trackers VALUES('hu-manity','Hu-manity',11,'https://hu-manity.co/','hu-manity','',NULL,NULL);\nINSERT INTO trackers VALUES('hubrus','HUBRUS',1,'http://www.hubrus.com/','hubrus','1847',NULL,NULL);\nINSERT INTO trackers VALUES('hubspot','HubSpot',9,'https://www.hubspot.com/','hubspot','26',NULL,NULL);\nINSERT INTO trackers VALUES('hubspot_ads_pixel','HubSpot Ads pixel',1,'https://www.hubspot.com','hubspot','',NULL,NULL);\nINSERT INTO trackers VALUES('hubspot_cookies','HubSpot CMP',3,'https://www.hubspot.com','hubspot','',NULL,NULL);\nINSERT INTO trackers VALUES('hubspot_forms','HubSpot Forms',4,'https://www.hubspot.com','hubspot','2575',NULL,NULL);\nINSERT INTO trackers VALUES('hubspot_livechat','HubSpot LiveChat',4,'https://www.hubspot.com/','hubspot','',NULL,NULL);\nINSERT INTO trackers VALUES('hubspot_user_content','HubSpot User Content',6,'https://www.hubspot.com','hubspot','',NULL,NULL);\nINSERT INTO trackers VALUES('hubvisor.io','Hubvisor',1,'https://hubvisor.io/',NULL,'3604',NULL,NULL);\nINSERT INTO trackers VALUES('hucksterbot','HucksterBot',1,NULL,'hucksterbot','2924',NULL,NULL);\nINSERT INTO trackers VALUES('hupso','Hupso',10,'http://www.hupso.com/','hupso','2166',NULL,NULL);\nINSERT INTO trackers VALUES('hurra_tracker','Hurra Tracker',1,'http://www.hurra.com/en/','hurra_communications','580',NULL,NULL);\nINSERT INTO trackers VALUES('hybrid.ai','Hybrid.ai',1,'https://hybrid.ai/','hybrid_adtech','968',NULL,NULL);\nINSERT INTO trackers VALUES('hype_exchange','Hype Exchange',1,'http://www.hypeexchange.com/','hype_exchange','1064',NULL,NULL);\nINSERT INTO trackers VALUES('hypercomments','HyperComments',4,'https://www.hypercomments.com/','hypercomments','2123',NULL,NULL);\nINSERT INTO trackers VALUES('hyves_widgets','Hyves Widgets',1,'http://www.hyves.nl/','hyves','970',NULL,NULL);\nINSERT INTO trackers VALUES('hyvyd','Hyvyd GmbH',7,NULL,NULL,'3605',NULL,NULL);\nINSERT INTO trackers VALUES('i-behavior','i-Behavior',1,'http://www.i-behavior.com/','kbm_group','727',NULL,NULL);\nINSERT INTO trackers VALUES('i-mobile','i-mobile',1,'https://www2.i-mobile.co.jp/en/index.aspx','i-mobile','1769',NULL,NULL);\nINSERT INTO trackers VALUES('i.ua','i.ua',1,'http://www.i.ua/','i.ua','590',NULL,NULL);\nINSERT INTO trackers VALUES('i10c.net','i10c.net',7,NULL,NULL,'3606',NULL,NULL);\nINSERT INTO trackers VALUES('i2i.jp','i2i.jp',9,'https://www.i2i.jp/','i2i.jp','1181',NULL,NULL);\nINSERT INTO trackers VALUES('iab_consent','IAB Consent',3,'https://iabtechlab.com/standards/gdpr-transparency-and-consent-framework/','iab','3607',NULL,NULL);\nINSERT INTO trackers VALUES('iadvize','iAdvize',4,'https://www.iadvize.com/','iadvize','1216',NULL,NULL);\nINSERT INTO trackers VALUES('ibm_customer_experience','IBM Digital Analytics',9,'http://www.coremetrics.com/','ibm','163',NULL,NULL);\nINSERT INTO trackers VALUES('icerocket_tracker','IceRocket Tracker',10,'http://tracker.icerocket.com/','meltwater_icerocket','953',NULL,NULL);\nINSERT INTO trackers VALUES('icf_technology','ICF Technology',4,'https://www.icftechnology.com/',NULL,'3608',NULL,NULL);\nINSERT INTO trackers VALUES('iclick','iClick',1,'http://optimix.asia/','iclick_interactive','1903',NULL,NULL);\nINSERT INTO trackers VALUES('icrossing','iCrossing',1,'https://www.icrossing.com/','hearst','408',NULL,NULL);\nINSERT INTO trackers VALUES('icstats','ICStats',9,'http://www.icstats.nl/','icstats','1248',NULL,NULL);\nINSERT INTO trackers VALUES('icuazeczpeoohx.com','icuazeczpeoohx.com',7,NULL,NULL,'3609',NULL,NULL);\nINSERT INTO trackers VALUES('id-news.net','Ippen Digital',1,'https://www.ippen-digital.de/',NULL,'3610',NULL,NULL);\nINSERT INTO trackers VALUES('id5_sync','ID5 Sync',1,'https://id5.io/','id5_technology_ltd','4057',NULL,NULL);\nINSERT INTO trackers VALUES('id_services','ID Services',9,NULL,'id_services','2683',NULL,NULL);\nINSERT INTO trackers VALUES('ideal_media','Ideal Media',1,'http://idealmedia.com/','ideal_media','2002',NULL,NULL);\nINSERT INTO trackers VALUES('idealo_com','idealo.com',1,'http://idealo.com/',NULL,'3611',NULL,NULL);\nINSERT INTO trackers VALUES('ideoclick','IdeoClick',1,'http://ideoclick.com','ideoclick','1497',NULL,NULL);\nINSERT INTO trackers VALUES('idio','Optimizely Recommendations',9,'https://www.optimizely.com/idio/','optimizely','2381',NULL,NULL);\nINSERT INTO trackers VALUES('ie8eamus.com','ie8eamus.com',7,NULL,NULL,'3612',NULL,NULL);\nINSERT INTO trackers VALUES('ientry','iEntry',1,'https://www.ientry.com/','ientry','763',NULL,NULL);\nINSERT INTO trackers VALUES('ifdo','IFDO',9,'https://ifdo.co.kr/','niblesky','',NULL,NULL);\nINSERT INTO trackers VALUES('iflychat','iFlyChat',4,'https://iflychat.com/','iflychat','1731',NULL,NULL);\nINSERT INTO trackers VALUES('ignitionone','IgnitionOne',9,'https://www.ignitionone.com/','zeta','2301',NULL,NULL);\nINSERT INTO trackers VALUES('igodigital','iGoDigital',4,'http://igodigital.com/','salesforce','1334',NULL,NULL);\nINSERT INTO trackers VALUES('ihs_markit','IHS Markit',9,'https://ihsmarkit.com/index.html','ihs','3613',NULL,NULL);\nINSERT INTO trackers VALUES('ihs_markit_online_shopper_insigh','IHS Markit Online Shopper Insigh',9,'http://www.visicogn.com/vcu.htm','ihs','812',NULL,NULL);\nINSERT INTO trackers VALUES('ihvmcqojoj.com','ihvmcqojoj.com',7,NULL,NULL,'3614',NULL,NULL);\nINSERT INTO trackers VALUES('iias.eu','Insight Image',8,'http://insightimage.com/',NULL,'3615',NULL,NULL);\nINSERT INTO trackers VALUES('ijento','iJento',9,'http://www.ijento.com/','ijento','2049',NULL,NULL);\nINSERT INTO trackers VALUES('imad','imad',1,'http://www.imad.co.kr/','i''mad_republic','2021',NULL,NULL);\nINSERT INTO trackers VALUES('image_advantage','Image Advantage',1,'http://www.worthathousandwords.com/','image_advantage','1679',NULL,NULL);\nINSERT INTO trackers VALUES('image_space_media','Image Space Media',1,'http://www.imagespacemedia.com/','image_space_media','349',NULL,NULL);\nINSERT INTO trackers VALUES('imbox','Imbox',4,'https://imbox.se/en/','imbox','',NULL,NULL);\nINSERT INTO trackers VALUES('imgix.net','ImgIX',6,'https://www.imgix.com/',NULL,'3616',NULL,NULL);\nINSERT INTO trackers VALUES('imgur','Imgur',7,'https://imgur.com/','imgur','3617',NULL,NULL);\nINSERT INTO trackers VALUES('imho_vi','imho vi',1,'http://www.imho.ru','imho','1304',NULL,NULL);\nINSERT INTO trackers VALUES('immanalytics','Immanalytics',4,NULL,'roku','2349',NULL,NULL);\nINSERT INTO trackers VALUES('immobilienscout24_de','immobilienscout24.de',7,NULL,'scout24','3618',NULL,NULL);\nINSERT INTO trackers VALUES('imonomy','imonomy',9,'https://imonomy.com/','imonomy','2288',NULL,NULL);\nINSERT INTO trackers VALUES('impact_radius','Impact',9,'http://www.impact.com/','impact_radius','1330',NULL,NULL);\nINSERT INTO trackers VALUES('impresiones_web','Impresiones Web',1,'http://www.iw-advertising.com/','impresiones_web','976',NULL,NULL);\nINSERT INTO trackers VALUES('improve_digital','Improve Digital',1,'https://www.improvedigital.com/','improve_digital','893',NULL,NULL);\nINSERT INTO trackers VALUES('improvely','Improvely',9,'https://www.improvely.com/','awio_web_services','1363',NULL,NULL);\nINSERT INTO trackers VALUES('inbenta','Inbenta',9,'https://www.inbenta.com/en/','inbenta','3619',NULL,NULL);\nINSERT INTO trackers VALUES('inboxsdk.com','Inbox SDK',7,'https://www.inboxsdk.com/',NULL,'3620',NULL,NULL);\nINSERT INTO trackers VALUES('indeed','Indeed',1,'http://www.indeed.com/','indeed','2140',NULL,NULL);\nINSERT INTO trackers VALUES('index_exchange','Index Exchange',1,'http://www.casalemedia.com/','index_exchange','135',NULL,NULL);\nINSERT INTO trackers VALUES('industry_brains','Industry Brains',1,'http://www.industrybrains.com/','industrybrains','2072',NULL,NULL);\nINSERT INTO trackers VALUES('infectious_media','Impression Desk',1,'https://impressiondesk.com/','infectious_media','641',NULL,NULL);\nINSERT INTO trackers VALUES('infinite_analytics','Infinite Analytics',9,NULL,'infinite_analytics','3271',NULL,NULL);\nINSERT INTO trackers VALUES('infinity_tracking','Infinity Tracking',9,'http://www.infinity-tracking.com','infinity_tracking','1296',NULL,NULL);\nINSERT INTO trackers VALUES('influads','InfluAds',1,'http://www.influads.com/','influads','1061',NULL,NULL);\nINSERT INTO trackers VALUES('infolinks','InfoLinks',1,'https://www.infolinks.com/','infolinks','66',NULL,NULL);\nINSERT INTO trackers VALUES('infonline','INFOnline',9,'https://www.infonline.de/','infonline','223',NULL,NULL);\nINSERT INTO trackers VALUES('informer_technologies','Informer Technologies',9,'https://www.informer.com/','informer_technologies','1803',NULL,NULL);\nINSERT INTO trackers VALUES('infusionsoft','Infusionsoft by Keap',1,'https://keap.com/','infusionsoft','978',NULL,NULL);\nINSERT INTO trackers VALUES('inmarsat','Inmarsat Global',4,'https://www.inmarsat.com/en/index.html','viasat','',NULL,NULL);\nINSERT INTO trackers VALUES('inmobi','InMobi',1,'https://www.inmobi.com','inmobi','',NULL,NULL);\nINSERT INTO trackers VALUES('inmobi_cmp','InMobi CMP',3,'https://advertising.inmobi.com/cmp','inmobi','',NULL,NULL);\nINSERT INTO trackers VALUES('inmoment','InMoment',4,'https://inmoment.com/','inmoment','',NULL,NULL);\nINSERT INTO trackers VALUES('innity','Innity',1,'https://www.innity.com/','innity','941',NULL,NULL);\nINSERT INTO trackers VALUES('innkeepr','Innkeepr',9,'https://innkeepr.ai','innkeepr','',NULL,NULL);\nINSERT INTO trackers VALUES('innogames.de','InnoGames',7,'https://www.innogames.com/',NULL,'3621',NULL,NULL);\nINSERT INTO trackers VALUES('innovid','Innovid',1,'https://www.innovid.com/','innovid','1294',NULL,NULL);\nINSERT INTO trackers VALUES('inside','inside',10,'http://www.inside.tm/','powerfront','1936',NULL,NULL);\nINSERT INTO trackers VALUES('insider','Insider',9,'https://useinsider.com/','insider','2868',NULL,NULL);\nINSERT INTO trackers VALUES('insightexpress','InsightExpress',9,'https://www.kantar.com/','millward_brown','114',NULL,NULL);\nINSERT INTO trackers VALUES('inskin_media','InSkin Media',1,'http://www.inskinmedia.com/','inskin_media','1331',NULL,NULL);\nINSERT INTO trackers VALUES('inspectlet','Inspectlet',9,'https://www.inspectlet.com/','inspectlet','851',NULL,NULL);\nINSERT INTO trackers VALUES('inspsearchapi.com','Infospace Search',1,'https://infospace.com/','system1','3622',NULL,NULL);\nINSERT INTO trackers VALUES('instagram_com','Instagram',10,NULL,'facebook','3623',NULL,NULL);\nINSERT INTO trackers VALUES('instant_check_mate','Instant Check Mate',4,NULL,'instant_check_mate','2329',NULL,NULL);\nINSERT INTO trackers VALUES('instart_logic','Instart Logic',1,'https://www.instartlogic.com/','instart_logic_inc','3624',NULL,NULL);\nINSERT INTO trackers VALUES('insticator','Insticator',1,NULL,'insticator','2777',NULL,NULL);\nINSERT INTO trackers VALUES('instinctive','Instinctive',1,NULL,'instinctive','2251',NULL,NULL);\nINSERT INTO trackers VALUES('intango','Intango',1,'https://intango.com/','intango','4047',NULL,NULL);\nINSERT INTO trackers VALUES('integral_ad_science','Integral Ad Science',1,'https://integralads.com/','integral_ad_science','599',NULL,NULL);\nINSERT INTO trackers VALUES('integral_marketing','Integral Marketing',1,'http://integral-marketing.com/','integral_marketing','2052',NULL,NULL);\nINSERT INTO trackers VALUES('intelliad','intelliAd',9,'https://www.intelliad.de/','intelliad','1289',NULL,NULL);\nINSERT INTO trackers VALUES('intelligencefocus','IntelligenceFocus',9,'http://www.intelligencefocus.com','intelligencefocus','295',NULL,NULL);\nINSERT INTO trackers VALUES('intelligent_reach','Intelligent Reach',1,'https://www.intelligentreach.com/','intelligent_reach','1550',NULL,NULL);\nINSERT INTO trackers VALUES('intense_debate','Intense Debate',4,'https://intensedebate.com/','automattic','92',NULL,NULL);\nINSERT INTO trackers VALUES('intent_iq','Intent IQ',1,'http://datonics.com/','almondnet','1659',NULL,NULL);\nINSERT INTO trackers VALUES('intent_media','Intent',1,'https://intent.com/','intent_media','733',NULL,NULL);\nINSERT INTO trackers VALUES('intercom','Intercom',4,'https://intercom.io/','intercom','792',NULL,NULL);\nINSERT INTO trackers VALUES('interedy.info','interedy.info',7,NULL,NULL,'3625',NULL,NULL);\nINSERT INTO trackers VALUES('intergi','Intergi',1,'http://www.intergi.com/','intergi_entertainment','827',NULL,NULL);\nINSERT INTO trackers VALUES('intermarkets.net','Intermarkets',1,'http://intermarkets.net/','intermarkets','919',NULL,NULL);\nINSERT INTO trackers VALUES('intermundo_media','InterMundo Media',1,'http://intermundomedia.com/','intermundo_media','371',NULL,NULL);\nINSERT INTO trackers VALUES('internet_billboard','Internet BillBoard',1,'https://www.ibillboard.com/en/','internet_billboard','1791',NULL,NULL);\nINSERT INTO trackers VALUES('internetaudioads','InternetAudioAds',2,'http://www.internetaudioads.com/','internetaudioads','445',NULL,NULL);\nINSERT INTO trackers VALUES('internetbrands','InternetBrands',10,'https://www.internetbrands.com/','internet_brands','381',NULL,NULL);\nINSERT INTO trackers VALUES('interpolls','Interpolls',1,'https://www.interpolls.com/','interpolls','491',NULL,NULL);\nINSERT INTO trackers VALUES('interyield','Interyield',1,'http://www.advertise.com/publisher-solutions/','advertise.com','3626',NULL,NULL);\nINSERT INTO trackers VALUES('intilery','Intilery',9,'http://www.intilery.com','intilery','2139',NULL,NULL);\nINSERT INTO trackers VALUES('intimate_merger','Intimate Merger',9,NULL,'intimate_merger','2588',NULL,NULL);\nINSERT INTO trackers VALUES('investingchannel','Investing Channel',7,'https://www.investingchannel.com/','investingchannel','665',NULL,NULL);\nINSERT INTO trackers VALUES('inviziads','InviziAds',1,'http://www.inviziads.com','inviziads','1119',NULL,NULL);\nINSERT INTO trackers VALUES('invoca','Invoca',9,'https://www.invoca.com/','invoca','1934',NULL,NULL);\nINSERT INTO trackers VALUES('invodo','Invodo',9,NULL,'invodo','2319',NULL,NULL);\nINSERT INTO trackers VALUES('ionicframework.com','Ionic',7,'https://ionicframework.com/',NULL,'3627',NULL,NULL);\nINSERT INTO trackers VALUES('iotec','iotec',1,'https://www.iotecglobal.com/','iotec','3628',NULL,NULL);\nINSERT INTO trackers VALUES('iovation','iovation',11,'https://iovations.com/','iovation','2264',NULL,NULL);\nINSERT INTO trackers VALUES('ip-label','ip-label',9,'http://www.ip-label.co.uk/','ip-label','1588',NULL,NULL);\nINSERT INTO trackers VALUES('ip_targeting','IP Targeting',9,'https://www.iptargeting.com/','el_toro','4031',NULL,NULL);\nINSERT INTO trackers VALUES('ip_tracker','IP Tracker',9,'https://www.ip-tracker.org/','ip_tracker','2181',NULL,NULL);\nINSERT INTO trackers VALUES('ipapi','ipapi',9,'https://ipapi.co/','kloudend','',NULL,NULL);\nINSERT INTO trackers VALUES('iperceptions','iPerceptions',4,'https://www.iperceptions.com/','iperceptions','220',NULL,NULL);\nINSERT INTO trackers VALUES('ipfingerprint','IPFingerprint',9,'http://www.ipfingerprint.com/','ipfingerprint','1787',NULL,NULL);\nINSERT INTO trackers VALUES('ipg_mediabrands','IPG Mediabrands',1,NULL,'ipg_mediabrands','2936',NULL,NULL);\nINSERT INTO trackers VALUES('ipify','ipify',7,'https://www.ipify.org/',NULL,'3629',NULL,NULL);\nINSERT INTO trackers VALUES('ipinfo','Ipinfo',9,'https://ipinfo.io/','ipinfo.io','3120',NULL,NULL);\nINSERT INTO trackers VALUES('iplogger','IPLogger',9,'http://iplogger.ru/','iplogger','1345',NULL,NULL);\nINSERT INTO trackers VALUES('iprom','iprom',1,'http://www.iprom.si/','iprom','775',NULL,NULL);\nINSERT INTO trackers VALUES('ipromote','iPromote',1,'https://www.ipromote.com/','ipromote','1301',NULL,NULL);\nINSERT INTO trackers VALUES('iprospect','iProspect',1,'https://www.iprospect.com/','dentsu_aegis_network','828',NULL,NULL);\nINSERT INTO trackers VALUES('iqiyi','iQIYI',1,'https://www.iqiyi.com','baidu','',NULL,NULL);\nINSERT INTO trackers VALUES('ironsource','ironSource',1,'https://www.ironsrc.com/','ironsource','837',NULL,NULL);\nINSERT INTO trackers VALUES('isocket','isocket',1,'http://www.isocket.com/','rubicon_project','1214',NULL,NULL);\nINSERT INTO trackers VALUES('ispot.tv','iSpot.tv',1,'https://www.ispot.tv/',NULL,'3630',NULL,NULL);\nINSERT INTO trackers VALUES('itineraire.info','itineraire.info',4,'https://www.itineraire.info/',NULL,'3631',NULL,NULL);\nINSERT INTO trackers VALUES('itunes_link_maker','iTunes Link Maker',1,'https://www.apple.com/','apple','2027',NULL,NULL);\nINSERT INTO trackers VALUES('ity.im','ity.im',1,'http://ity.im/','ity.im','1390',NULL,NULL);\nINSERT INTO trackers VALUES('iubenda.com','iubenda',3,'https://www.iubenda.com/','iubenda','1062',NULL,NULL);\nINSERT INTO trackers VALUES('ivcbrasil.org.br','IVC Brasil',9,'https://ivcbrasil.org.br/#/home',NULL,'3632',NULL,NULL);\nINSERT INTO trackers VALUES('ividence','Ividence',1,'https://www.ividence.com/home/','sien','3633',NULL,NULL);\nINSERT INTO trackers VALUES('iwiw_widgets','iWiW Widgets',4,'http://iwiw.hu','iwiw','719',NULL,NULL);\nINSERT INTO trackers VALUES('ixi_digital','IXI Digital',1,NULL,'equifax','2830',NULL,NULL);\nINSERT INTO trackers VALUES('ixquick.com','ixquick',7,'https://www.ixquick.com/','startpage','3634',NULL,NULL);\nINSERT INTO trackers VALUES('izooto','iZooto',9,NULL,'izooto','3143',NULL,NULL);\nINSERT INTO trackers VALUES('j-list_affiliate_program','J-List Affiliate Program',1,'http://www.jlist.com/page/affiliates.html','j-list','1247',NULL,NULL);\nINSERT INTO trackers VALUES('jaco','Jaco',9,NULL,'walkme','3151',NULL,NULL);\nINSERT INTO trackers VALUES('janrain','Janrain',9,'http://www.janrain.com/','akamai','1510',NULL,NULL);\nINSERT INTO trackers VALUES('jeeng','Jeeng',1,NULL,'jeeng','3121',NULL,NULL);\nINSERT INTO trackers VALUES('jeeng_widgets','Jeeng Widgets',1,NULL,'jeeng','3122',NULL,NULL);\nINSERT INTO trackers VALUES('jejubank','Jeju Bank',4,'https://www.e-jejubank.com/HomeEnglishMain.do','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('jet_interactive','Jet Interactive',9,'https://www.jetinteractive.com.au/','jet_interactive','1491',NULL,NULL);\nINSERT INTO trackers VALUES('jetlore','Jetlore',9,NULL,'jetlore','2865',NULL,NULL);\nINSERT INTO trackers VALUES('jetpack','Jetpack',9,'https://jetpack.com/','automattic','3315',NULL,NULL);\nINSERT INTO trackers VALUES('jetpack_digital','Jetpack Digital',9,'https://www.jetpack.com/','jetpack_digital','1087',NULL,NULL);\nINSERT INTO trackers VALUES('jimdo.com','jimdo.com',6,NULL,NULL,'3635',NULL,NULL);\nINSERT INTO trackers VALUES('jink','Jink',1,'http://www.jink.de/','jink','878',NULL,NULL);\nINSERT INTO trackers VALUES('jirafe','Jirafe',9,'http://jirafe.com/','jirafe','1346',NULL,NULL);\nINSERT INTO trackers VALUES('jivochat','JivoSite',4,'https://www.jivochat.com/','jivochat','1687',NULL,NULL);\nINSERT INTO trackers VALUES('jivox','Jivox',1,'https://www.jivox.com/','jivox','1690',NULL,NULL);\nINSERT INTO trackers VALUES('jobs_2_careers','Jobs 2 Careers',1,NULL,'jobs_2_careers','2447',NULL,NULL);\nINSERT INTO trackers VALUES('joinhoney','Honey',7,'https://www.joinhoney.com/',NULL,'3636',NULL,NULL);\nINSERT INTO trackers VALUES('jornaya','Jornaya',9,'http://leadid.com/','jornaya','1937',NULL,NULL);\nINSERT INTO trackers VALUES('jotform','Jotform',4,'https://www.jotform.com/','jotform','',NULL,NULL);\nINSERT INTO trackers VALUES('journeymv','Journey',1,'https://www.journeymv.com/','mediavine_inc','',NULL,NULL);\nINSERT INTO trackers VALUES('jquery','jQuery',6,'https://jquery.org/','js_foundation','3637',NULL,NULL);\nINSERT INTO trackers VALUES('js_communications','JS Communications',1,'http://www.jssearch.net/','js_communications','2022',NULL,NULL);\nINSERT INTO trackers VALUES('jsdelivr','jsDelivr',6,'https://www.jsdelivr.com/',NULL,'3638',NULL,NULL);\nINSERT INTO trackers VALUES('jse_coin','JSE Coin',1,NULL,'jse_coin','3111',NULL,NULL);\nINSERT INTO trackers VALUES('jsuol.com.br','jsuol.com.br',1,NULL,NULL,'3639',NULL,NULL);\nINSERT INTO trackers VALUES('juggcash','JuggCash',8,'http://www.juggcash.com','juggcash','1148',NULL,NULL);\nINSERT INTO trackers VALUES('juiceadv','JuiceADV',1,'http://juiceadv.com/','juiceadv','1010',NULL,NULL);\nINSERT INTO trackers VALUES('juicyads','JuicyAds',8,'http://www.juicyads.com/','juicyads','550',NULL,NULL);\nINSERT INTO trackers VALUES('jumplead','Jumplead',9,NULL,'jumplead','2615',NULL,NULL);\nINSERT INTO trackers VALUES('jumpstart_tagging_solutions','Jumpstart Tagging Solutions',9,NULL,'hearst','2382',NULL,NULL);\nINSERT INTO trackers VALUES('jumptap','Jumptap',1,'http://www.jumptap.com/','verizon','1476',NULL,NULL);\nINSERT INTO trackers VALUES('jumptime','JumpTime',9,'http://www.jumptime.com/','openx','1045',NULL,NULL);\nINSERT INTO trackers VALUES('just_answer','Just Answer',4,NULL,'just_answer','3250',NULL,NULL);\nINSERT INTO trackers VALUES('just_premium','Just Premium',1,'http://justpremium.com/','just_premium','1786',NULL,NULL);\nINSERT INTO trackers VALUES('just_relevant','Just Relevant',1,'http://www.justrelevant.com/','just_relevant','1299',NULL,NULL);\nINSERT INTO trackers VALUES('jvc.gg','Jeuxvideo CDN',6,'https://www.jeuxvideo.com/',NULL,'3640',NULL,NULL);\nINSERT INTO trackers VALUES('jw_player','JW Player',2,'https://www.jwplayer.com/','jw_player','2530',NULL,NULL);\nINSERT INTO trackers VALUES('jw_player_ad_solutions','JW Player Ad Solutions',1,'http://www.longtailvideo.com/adsolution/','jw_player','765',NULL,NULL);\nINSERT INTO trackers VALUES('kaeufersiegel.de','Käufersiegel',4,'https://www.kaeufersiegel.de/',NULL,'3641',NULL,NULL);\nINSERT INTO trackers VALUES('kairion.de','kairion',1,'https://kairion.de/','prosieben_sat1','3642',NULL,NULL);\nINSERT INTO trackers VALUES('kakao_tiara','Kakao Tiara',9,'https://www.kakaocorp.com/page/','kakao','',NULL,NULL);\nINSERT INTO trackers VALUES('kaloo.ga','Kalooga',1,'https://www.kalooga.com/','kalooga','2990',NULL,NULL);\nINSERT INTO trackers VALUES('kalooga_widget','Kalooga Widget',1,'http://kalooga.com/','kalooga','1508',NULL,'kaloo.ga');\nINSERT INTO trackers VALUES('kaltura','Kaltura',2,'https://corp.kaltura.com/','kaltura','1394',NULL,NULL);\nINSERT INTO trackers VALUES('kameleoon','Kameleoon',9,'https://www.kameleoon.com/','kameleoon','1938',NULL,NULL);\nINSERT INTO trackers VALUES('kampyle','Medallia',4,'https://www.kampyle.com/','medallia','107',NULL,NULL);\nINSERT INTO trackers VALUES('kanoodle','Kanoodle',1,'http://www.kanoodle.com/','kanoodle','115',NULL,NULL);\nINSERT INTO trackers VALUES('kantar_media','Kantar Media',1,'https://www.kantarmedia.com/','kantar_group','1767',NULL,NULL);\nINSERT INTO trackers VALUES('kargo','Kargo',1,'https://www.kargo.com/','kargo','1732',NULL,NULL);\nINSERT INTO trackers VALUES('kaspersky-labs.com','Kaspersky Labs',5,'https://www.kaspersky.com/','AO Kaspersky Lab','3643',NULL,NULL);\nINSERT INTO trackers VALUES('kataweb.it','KataWeb',1,'http://www.kataweb.it/',NULL,'3644',NULL,NULL);\nINSERT INTO trackers VALUES('katchup','Katchup',1,NULL,'katchup','3014',NULL,NULL);\nINSERT INTO trackers VALUES('kauli','Kauli',1,'http://kau.li/','kauli','923',NULL,NULL);\nINSERT INTO trackers VALUES('kavanga','Kavanga',1,'http://kavanga.ru/','kavanga','1166',NULL,NULL);\nINSERT INTO trackers VALUES('keen_io','Keen IO',9,'https://keen.io','keen_io','1820',NULL,NULL);\nINSERT INTO trackers VALUES('kelkoo','Kelkoo',1,'http://www.kelkoo.com/','kelkoo','2084',NULL,NULL);\nINSERT INTO trackers VALUES('kendobrands','Kvd Vegan Beauty',9,'https://kvdveganbeauty.com/','kendobrands','',NULL,NULL);\nINSERT INTO trackers VALUES('kenshoo','Kenshoo',9,'http://www.kenshoo.com/','kenshoo','903',NULL,NULL);\nINSERT INTO trackers VALUES('ketch','Ketch Kloud',3,'https://www.ketch.com','ketch','',NULL,NULL);\nINSERT INTO trackers VALUES('keymetric','KeyMetric',9,'http://keymetric.net/','keymetric','626',NULL,NULL);\nINSERT INTO trackers VALUES('keytiles','Keytiles',9,NULL,'keytiles','3188',NULL,NULL);\nINSERT INTO trackers VALUES('keywee','Keywee',9,'https://keywee.co/','keywee','3124',NULL,NULL);\nINSERT INTO trackers VALUES('keywordmax','KeywordMax',1,'http://www.keywordmax.com/','digital_river','336',NULL,NULL);\nINSERT INTO trackers VALUES('khoros','Khoros',10,'http://www.massrelevance.com/','khoros','1482',NULL,NULL);\nINSERT INTO trackers VALUES('khzbeucrltin.com','khzbeucrltin.com',7,NULL,NULL,'3645',NULL,NULL);\nINSERT INTO trackers VALUES('kickfactory','Kickfactory',1,NULL,'kickfactory','2370',NULL,NULL);\nINSERT INTO trackers VALUES('kickfire','Kickfire',1,'http://www.visistat.com/','kickfire','195',NULL,NULL);\nINSERT INTO trackers VALUES('kilkaya','Kilkaya',9,'https://kilkaya.com','kilkaya','',NULL,NULL);\nINSERT INTO trackers VALUES('kindly','Kindly',4,'https://www.kindly.ai/','kindly','',NULL,NULL);\nINSERT INTO trackers VALUES('king.com','King.com',1,NULL,'king.com','2689',NULL,NULL);\nINSERT INTO trackers VALUES('king_com','King.com',7,'https://king.com/','activision_blizzard','3646',NULL,NULL);\nINSERT INTO trackers VALUES('kinja.com','Kinja',9,'https://kinja.com/','gizmodo','3221',NULL,NULL);\nINSERT INTO trackers VALUES('kiosked','Kiosked',1,'https://www.kiosked.com/','kiosked','1985',NULL,NULL);\nINSERT INTO trackers VALUES('kissmetrics.com','Kissmetrics',9,'https://www.kissmetrics.com/','kissmetrics','235',NULL,NULL);\nINSERT INTO trackers VALUES('kitara_media','Kitara Media',1,'https://www.kitaramedia.com/','kitara_media','632',NULL,NULL);\nINSERT INTO trackers VALUES('kixer','Kixer',1,NULL,'kixer','2287',NULL,NULL);\nINSERT INTO trackers VALUES('klarna.com','Klarna',11,'https://www.klarna.com/','klarna','3647',NULL,NULL);\nINSERT INTO trackers VALUES('klaviyo','Klaviyo',9,NULL,'klaviyo','2768',NULL,NULL);\nINSERT INTO trackers VALUES('klaviyo_forms','Klaviyo Forms',4,'https://www.klaviyo.com/','klaviyo','',NULL,NULL);\nINSERT INTO trackers VALUES('kleep','Kleep',9,'https://www.kleep.ai/','kleep','',NULL,NULL);\nINSERT INTO trackers VALUES('klikki','Klikki',1,'https://www.klikki.com/','klikki','1352',NULL,NULL);\nINSERT INTO trackers VALUES('kliksaya','KlikSaya',1,'http://www.kliksaya.com','kliksaya','1098',NULL,NULL);\nINSERT INTO trackers VALUES('kmeleo','Kméléo',1,NULL,'6peo','2527',NULL,NULL);\nINSERT INTO trackers VALUES('knoopstat','Knoopstat',9,NULL,'knoopstat','2230',NULL,NULL);\nINSERT INTO trackers VALUES('knotch','Knotch',4,NULL,'knotch','2356',NULL,NULL);\nINSERT INTO trackers VALUES('komoona','Komoona',1,'http://www.komoona.com/','komoona','1091',NULL,NULL);\nINSERT INTO trackers VALUES('kontera_contentlink','Kontera ContentLink',1,'http://www.kontera.com/','singtel','72',NULL,NULL);\nINSERT INTO trackers VALUES('kontextr','Kontextr',1,NULL,'kontext','2803',NULL,NULL);\nINSERT INTO trackers VALUES('kontextua','Kontextua',1,'http://www.kontextua.com/','kontextua','1506',NULL,NULL);\nINSERT INTO trackers VALUES('koreanair','Korean Air',4,'https://www.koreanair.com/','hanjin','',NULL,NULL);\nINSERT INTO trackers VALUES('korrelate','Korrelate',1,'http://korrelate.com/','korrelate','728',NULL,NULL);\nINSERT INTO trackers VALUES('kortx','Kortx',9,NULL,'kortx','2577',NULL,NULL);\nINSERT INTO trackers VALUES('kount','Kount',9,'https://kount.com/',NULL,'3648',NULL,NULL);\nINSERT INTO trackers VALUES('krush_media','Krush Media',1,'https://krushmedia.com/','krush_media','',NULL,NULL);\nINSERT INTO trackers VALUES('krux_digital','Salesforce DMP',1,'https://www.salesforce.com/products/marketing-cloud/data-management/?mc=DMP','salesforce','378',NULL,NULL);\nINSERT INTO trackers VALUES('kundo','Kundo',4,'https://www.kundo.se/','kundo','',NULL,NULL);\nINSERT INTO trackers VALUES('kupona','Kupona',1,'http://www.kupona-media.de/en/retargeting-and-performance-media-width-kupona','kupona','1783',NULL,NULL);\nINSERT INTO trackers VALUES('kxcdn.com','Keycdn',6,'https://www.keycdn.com/',NULL,'3649',NULL,NULL);\nINSERT INTO trackers VALUES('kyto','Kyto',9,NULL,'kyto','2769',NULL,NULL);\nINSERT INTO trackers VALUES('ladsp.com','Logicad',1,'https://www.logicad.com/','logicad','1816',NULL,NULL);\nINSERT INTO trackers VALUES('lanista_concepts','Lanista Concepts',1,'http://lanistaconcepts.com/','lanista_concepts','1752',NULL,NULL);\nINSERT INTO trackers VALUES('latimes','Los Angeles Times',7,'https://www.latimes.com/','latimes','3650',NULL,NULL);\nINSERT INTO trackers VALUES('launch_darkly','Launch Darkly',11,'https://launchdarkly.com/','launch_darkly','2977',NULL,NULL);\nINSERT INTO trackers VALUES('launchbit','LaunchBit',1,'https://www.launchbit.com/','launchbit','2203',NULL,NULL);\nINSERT INTO trackers VALUES('layer-ad.org','Layer-ADS.net',1,'http://layer-ads.net/',NULL,'3651',NULL,NULL);\nINSERT INTO trackers VALUES('lazada','Lazada',1,NULL,'lazada','3081',NULL,NULL);\nINSERT INTO trackers VALUES('lcx_digital','LCX Digital',1,'https://www.lcx.com/','lcx_digital','1666',NULL,NULL);\nINSERT INTO trackers VALUES('le_monde.fr','Le Monde.fr',7,'https://www.lemonde.fr/','le_monde.fr','3652',NULL,NULL);\nINSERT INTO trackers VALUES('lead_liaison','Lead Liaison',9,NULL,'lead_liaison','3246',NULL,NULL);\nINSERT INTO trackers VALUES('leadback','Leadback',9,NULL,'leadback','2948',NULL,NULL);\nINSERT INTO trackers VALUES('leaddyno','LeadDyno',1,'http://www.leaddyno.com','leaddyno','2118',NULL,NULL);\nINSERT INTO trackers VALUES('leadfeeder','Leadfeeder',9,'https://www.leadfeeder.com/','dealfront_group','',NULL,NULL);\nINSERT INTO trackers VALUES('leadforensics','LeadForensics',1,'https://www.leadforensics.com/','lead_forensics','1157',NULL,NULL);\nINSERT INTO trackers VALUES('leadgenic','LeadGENIC',1,NULL,'leadgenic','2539',NULL,NULL);\nINSERT INTO trackers VALUES('leadhit','LeadHit',4,'https://leadhit.ru/','leadhit','1861',NULL,NULL);\nINSERT INTO trackers VALUES('leadin','Leadin',9,NULL,'hubspot','2663',NULL,NULL);\nINSERT INTO trackers VALUES('leading_reports','Leading Reports',1,NULL,'leading_reports','2449',NULL,NULL);\nINSERT INTO trackers VALUES('leadinspector','LeadInspector',9,NULL,'leadinspector','2345',NULL,NULL);\nINSERT INTO trackers VALUES('leadlander','LeadLander',9,'http://www.leadlander.com/','leadlander','142',NULL,NULL);\nINSERT INTO trackers VALUES('leadlife','LeadLife',4,'http://leadlife.com/','leadlife','1424',NULL,NULL);\nINSERT INTO trackers VALUES('leadoo','Leadoo',9,'https://leadoo.com/','leadoo','',NULL,NULL);\nINSERT INTO trackers VALUES('leadpages','Leadpages',9,NULL,'leadpages','2576',NULL,NULL);\nINSERT INTO trackers VALUES('leadplace','LeadPlace',9,NULL,'leadplace','2320',NULL,NULL);\nINSERT INTO trackers VALUES('leads_by_web.com','Leads by Web.com',1,'http://www.leadsbyweb.com','web.com_group','2117',NULL,NULL);\nINSERT INTO trackers VALUES('leadscoreapp','LeadScoreApp',4,NULL,'leadscoreapp','3209',NULL,NULL);\nINSERT INTO trackers VALUES('leadsius','Leadsius',1,'http://www.leadsius.com/','leadsius','1966',NULL,NULL);\nINSERT INTO trackers VALUES('leady','Leady',1,'http://www.leady.cz/','leady','2001',NULL,NULL);\nINSERT INTO trackers VALUES('leiki','Leiki',1,'http://www.leiki.com','leiki','1012',NULL,NULL);\nINSERT INTO trackers VALUES('lengow','Lengow',1,'https://www.lengow.com/','lengow','1215',NULL,NULL);\nINSERT INTO trackers VALUES('lenmit.com','lenmit.com',7,NULL,NULL,'3653',NULL,NULL);\nINSERT INTO trackers VALUES('lentainform.com','lentainform.com',7,'https://www.lentainform.com/',NULL,'3654',NULL,NULL);\nINSERT INTO trackers VALUES('lenua.de','Lenua System',1,'http://lenua.de/','synatix','3655',NULL,NULL);\nINSERT INTO trackers VALUES('let_reach','Let Reach',4,NULL,'let_reach','2625',NULL,NULL);\nINSERT INTO trackers VALUES('letv','LeTV',9,NULL,'letv','2665',NULL,NULL);\nINSERT INTO trackers VALUES('level3_communications','Level 3 Communications, Inc.',7,'http://www.level3.com/en/','level3_communications','3656',NULL,NULL);\nINSERT INTO trackers VALUES('licensebuttons.net','licensebuttons.net',6,'https://licensebuttons.net/',NULL,'3657',NULL,NULL);\nINSERT INTO trackers VALUES('life_inside','Life Inside',4,'https://www.lifeinside.io','life_inside','',NULL,NULL);\nINSERT INTO trackers VALUES('lifestreet_media','LifeStreet Media',1,'http://lifestreetmedia.com/','lifestreet_media','1149',NULL,NULL);\nINSERT INTO trackers VALUES('ligatus','Ligatus',1,'http://www.ligatus.com/','outbrain','994',NULL,NULL);\nINSERT INTO trackers VALUES('limk','Limk',1,NULL,'limk','2474',NULL,NULL);\nINSERT INTO trackers VALUES('line_apps','Line',9,'https://line.me/en-US/','line','3264',NULL,NULL);\nINSERT INTO trackers VALUES('linezing','LineZing',1,'http://www.linezing.com/','linezing','777',NULL,NULL);\nINSERT INTO trackers VALUES('linkbucks','Linkbucks',1,'http://www.linkbucks.com/','linkbucks','1957',NULL,NULL);\nINSERT INTO trackers VALUES('linkconnector','LinkConnector',1,'http://www.linkconnector.com','linkconnector','646',NULL,NULL);\nINSERT INTO trackers VALUES('linkedin','LinkedIn',7,'https://www.linkedin.com/','microsoft','3658',NULL,NULL);\nINSERT INTO trackers VALUES('linkedin_ads','LinkedIn Ads',1,'http://www.linkedin.com/','microsoft','1485',NULL,NULL);\nINSERT INTO trackers VALUES('linkedin_analytics','LinkedIn Analytics',9,NULL,'microsoft','2714',NULL,NULL);\nINSERT INTO trackers VALUES('linkedin_marketing_solutions','LinkedIn Marketing Solutions',1,'https://business.linkedin.com/marketing-solutions','microsoft','179',NULL,NULL);\nINSERT INTO trackers VALUES('linkedin_widgets','LinkedIn Widgets',10,'https://www.linkedin.com','microsoft','697',NULL,NULL);\nINSERT INTO trackers VALUES('linker','Linker',1,'https://linker.hr/','linker','3150',NULL,NULL);\nINSERT INTO trackers VALUES('linkprice','LinkPrice',1,'http://www.linkprice.com/','linkprice','2034',NULL,NULL);\nINSERT INTO trackers VALUES('linkpulse','Linkpulse',9,'http://www.linkpulse.com/','linkpulse','1382',NULL,NULL);\nINSERT INTO trackers VALUES('linksalpha','LinksAlpha',10,'http://www.linksalpha.com','linksalpha','915',NULL,NULL);\nINSERT INTO trackers VALUES('linksmart','LinkSmart',1,'http://www.linksmart.com/','sovrn','1474',NULL,NULL);\nINSERT INTO trackers VALUES('linkstorm','Linkstorm',4,'http://www.linkstorms.com/','linkstorm','1507',NULL,NULL);\nINSERT INTO trackers VALUES('linksynergy.com','Rakuten LinkShare',1,'https://rakutenmarketing.com/affiliate','rakuten','396',NULL,NULL);\nINSERT INTO trackers VALUES('linkup','LinkUp',9,NULL,'linkup','2446',NULL,NULL);\nINSERT INTO trackers VALUES('linkwise','Linkwise',1,'https://linkwi.se/global-en/','linkwise','2154',NULL,NULL);\nINSERT INTO trackers VALUES('linkwithin','LinkWithin',10,'http://www.linkwithin.com/','linkwithin','1261',NULL,NULL);\nINSERT INTO trackers VALUES('lipscore','Lipscore',4,'https://lipscore.com/','lipscore','',NULL,NULL);\nINSERT INTO trackers VALUES('liquidm_technology_gmbh','LiquidM',1,'https://www.equativ.com/','equativ','3659',NULL,NULL);\nINSERT INTO trackers VALUES('liqwid','Liqwid',1,'https://liqwid.com/','liqwid','2224',NULL,NULL);\nINSERT INTO trackers VALUES('list.ru','Rating@Mail.Ru',10,'http://list.ru/','megafon','1458',NULL,NULL);\nINSERT INTO trackers VALUES('listrak','Listrak',4,'https://www.listrak.com/','listrak','760',NULL,NULL);\nINSERT INTO trackers VALUES('live2support','Live2Support',4,'https://www.live2support.com/','live2support','1950',NULL,NULL);\nINSERT INTO trackers VALUES('live800','Live800',4,NULL,'live800','2389',NULL,NULL);\nINSERT INTO trackers VALUES('live_agent','Live Agent',4,NULL,'liveagent','2875',NULL,NULL);\nINSERT INTO trackers VALUES('live_help_now','Live Help Now',4,NULL,'live_help_now','2416',NULL,NULL);\nINSERT INTO trackers VALUES('live_intent','Live Intent',9,NULL,'liveintent','2747',NULL,NULL);\nINSERT INTO trackers VALUES('live_journal','Live Journal',9,NULL,'livejournal','2612',NULL,NULL);\nINSERT INTO trackers VALUES('liveadexchanger.com','liveadexchanger.com',7,NULL,NULL,'3660',NULL,NULL);\nINSERT INTO trackers VALUES('livechat','LiveChat',4,'http://www.livechatinc.com','livechat','1618',NULL,NULL);\nINSERT INTO trackers VALUES('livechatnow','LiveChatNow',4,'http://www.livechatnow.com/','livechatnow!','1806',NULL,NULL);\nINSERT INTO trackers VALUES('liveclicker','Liveclicker',4,'http://www.liveclicker.com','liveclicker','1556',NULL,NULL);\nINSERT INTO trackers VALUES('livecounter','Livecounter',9,'https://www.livecounter.dk/','livecounter','967',NULL,NULL);\nINSERT INTO trackers VALUES('livefyre','Livefyre',4,'http://www.livefyre.com/','adobe','1420',NULL,NULL);\nINSERT INTO trackers VALUES('liveinternet','LiveInternet',4,'http://www.liveinternet.ru/','liveinternet','237',NULL,NULL);\nINSERT INTO trackers VALUES('liveperson','LivePerson',4,'https://www.liveperson.com/','liveperson','106',NULL,NULL);\nINSERT INTO trackers VALUES('liveramp','LiveRamp',1,'https://liveramp.com/','acxiom','242',NULL,NULL);\nINSERT INTO trackers VALUES('liveramp_cmp','LiveRamp CMP',3,'https://liveramp.uk/our-platform/preference-consent-management-platform/privacy-manager/','acxiom','',NULL,NULL);\nINSERT INTO trackers VALUES('livere','LiveRe',10,'http://www.livere.com/','livere','2025',NULL,NULL);\nINSERT INTO trackers VALUES('livesportmedia.eu','Livesport Media',7,'https://www.livesportmedia.eu/',NULL,'3661',NULL,NULL);\nINSERT INTO trackers VALUES('livestream','Livestream',2,NULL,'vimeo','3284',NULL,NULL);\nINSERT INTO trackers VALUES('livetex.ru','LiveTex',4,'https://livetex.ru/','livetex','1860',NULL,NULL);\nINSERT INTO trackers VALUES('lkqd','LKQD',1,'http://www.lkqd.com/','nexstar','2833',NULL,NULL);\nINSERT INTO trackers VALUES('loadbee.com','Loadbee',1,'https://company.loadbee.com/de/loadbee-home',NULL,'3662',NULL,NULL);\nINSERT INTO trackers VALUES('loadercdn.com','loadercdn.com',7,NULL,NULL,'3663',NULL,NULL);\nINSERT INTO trackers VALUES('loadsource.org','loadsource.org',7,NULL,NULL,'3664',NULL,NULL);\nINSERT INTO trackers VALUES('localytics','Localytics',9,'http://www.localytics.com/','localytics','2134',NULL,NULL);\nINSERT INTO trackers VALUES('locatrics','Locatrics',1,'https://www.locatrics.com/','it_works','',NULL,NULL);\nINSERT INTO trackers VALUES('lockerdome','LockerDome',10,NULL,'lockerdome','2285',NULL,NULL);\nINSERT INTO trackers VALUES('lockerz_share','AddToAny',10,'https://www.addtoany.com/','addtoany','54',NULL,NULL);\nINSERT INTO trackers VALUES('logan_media','Logan Media',9,NULL,'logan_media','2772',NULL,NULL);\nINSERT INTO trackers VALUES('logdna','LogDNA',1,'http://www.answerbook.com/','logdna','2056',NULL,NULL);\nINSERT INTO trackers VALUES('loggly','Loggly',9,'https://loggly.com/','solarwinds','1351',NULL,NULL);\nINSERT INTO trackers VALUES('logly','logly',9,'https://logly.co.jp/','logly','1815',NULL,NULL);\nINSERT INTO trackers VALUES('logsss.com','logsss.com',7,NULL,NULL,'3665',NULL,NULL);\nINSERT INTO trackers VALUES('lomadee','Lomadee',1,'http://lomadee.com','lomadee','1253',NULL,NULL);\nINSERT INTO trackers VALUES('longtail_video_analytics','JW Player Analytics',1,'http://www.longtailvideo.com/','jw_player','1487',NULL,'jw_player');\nINSERT INTO trackers VALUES('loomia','Loomia',1,'https://www.loomia.com/','loomia','117',NULL,NULL);\nINSERT INTO trackers VALUES('loop11','Loop11',9,NULL,'360i','2314',NULL,NULL);\nINSERT INTO trackers VALUES('loopfuse_oneview','LoopFuse OneView',1,'https://www.loopfuse.com/','loopfuse','744',NULL,NULL);\nINSERT INTO trackers VALUES('lotame','Lotame',1,'https://www.lotame.com/','lotame','109',NULL,NULL);\nINSERT INTO trackers VALUES('lottex_inc','vidcpm.com',7,NULL,NULL,'3666',NULL,NULL);\nINSERT INTO trackers VALUES('lotustar','Lotustar',4,'https://www.vietnamairlines.com/vn/en/plan-book/experience/entertainment/lotustar','vietnam_airlines','',NULL,NULL);\nINSERT INTO trackers VALUES('lucid','Lucid',1,NULL,'luc.id','2580',NULL,NULL);\nINSERT INTO trackers VALUES('lucid_media','Lucid Media',1,'http://www.lucidmedia.com/','singtel','387',NULL,NULL);\nINSERT INTO trackers VALUES('lucini','Lucini',1,'http://www.lucinilucini.com/','lucini_&_lucini_communications','1857',NULL,NULL);\nINSERT INTO trackers VALUES('lucky_orange','Lucky Orange',9,'http://www.luckyorange.com/','lucky_orange','1406',NULL,NULL);\nINSERT INTO trackers VALUES('luckypushh.com','luckypushh.com',7,NULL,NULL,'3667',NULL,NULL);\nINSERT INTO trackers VALUES('lxr100','LXR100',1,'https://www.netelixir.com/lxr100_PPC_management_tool.html','netelixir','335',NULL,NULL);\nINSERT INTO trackers VALUES('lynchpin_analytics','Lynchpin Analytics',1,'https://www.lynchpin.com/','lynchpin_analytics','111',NULL,NULL);\nINSERT INTO trackers VALUES('lytics','Lytics',9,'https://www.lytics.com/','lytics','2536',NULL,NULL);\nINSERT INTO trackers VALUES('lyuoaxruaqdo.com','lyuoaxruaqdo.com',7,NULL,NULL,'3668',NULL,NULL);\nINSERT INTO trackers VALUES('m-pathy','m-pathy',1,'http://www.m-pathy.com/','m-pathy','2104',NULL,NULL);\nINSERT INTO trackers VALUES('m._p._newmedia','M. P. NEWMEDIA',1,'https://www.mp-newmedia.com/','sticky','1876',NULL,NULL);\nINSERT INTO trackers VALUES('m4n','M4N',1,'http://www.zanox.com/us/','axel_springer','1439',NULL,NULL);\nINSERT INTO trackers VALUES('mad_ads_media','Mad Ads Media',1,'http://www.madadsmedia.com/','mad_ads_media','1594',NULL,NULL);\nINSERT INTO trackers VALUES('madeleine.de','madeleine.de',1,NULL,NULL,'3669',NULL,NULL);\nINSERT INTO trackers VALUES('madison_logic','Madison Logic',1,'https://www.madisonlogic.com/','madison_logic','604',NULL,NULL);\nINSERT INTO trackers VALUES('madnet','MADNET',1,'http://madnet.ru/en','madnet','2164',NULL,NULL);\nINSERT INTO trackers VALUES('mads','MADS',1,NULL,'mads','2886',NULL,NULL);\nINSERT INTO trackers VALUES('magna_advertise','Magna Advertise',1,'http://magna.ru/','magna_advertise','1307',NULL,NULL);\nINSERT INTO trackers VALUES('magnetic','Magnetic',1,'http://www.magnetic.is','magnetic','526',NULL,NULL);\nINSERT INTO trackers VALUES('magnetise_group','Magnetise Group',1,'https://magnetisegroup.com/','magnetise_group','1115',NULL,NULL);\nINSERT INTO trackers VALUES('magnify360','Magnify360',9,'http://www.magnify360.com/','magnify360','164',NULL,NULL);\nINSERT INTO trackers VALUES('magnuum.com','magnuum.com',7,NULL,NULL,'3670',NULL,NULL);\nINSERT INTO trackers VALUES('mail.ru_banner','Mail.Ru Banner Network',1,'https://mail.ru/','megafon','1504',NULL,NULL);\nINSERT INTO trackers VALUES('mail.ru_counter','Mail.Ru Counter',4,NULL,'megafon','2619',NULL,'mail.ru_group');\nINSERT INTO trackers VALUES('mail.ru_group','Mail.Ru Group',10,'https://mail.ru/','megafon','869',NULL,NULL);\nINSERT INTO trackers VALUES('mailchimp_tracking','MailChimp Tracking',4,'https://mailchimp.com/','mailchimp','810',NULL,NULL);\nINSERT INTO trackers VALUES('maileon','Maileon',9,'https://maileon.com/','xqueue','',NULL,NULL);\nINSERT INTO trackers VALUES('mailerlite.com','Mailerlite',6,'https://www.mailerlite.com/','mailerlite','3671',NULL,NULL);\nINSERT INTO trackers VALUES('mailtrack.io','MailTrack.io',1,'https://mailtrack.io','mailtrack','2093',NULL,NULL);\nINSERT INTO trackers VALUES('mainadv','mainADV',1,'http://www.mainadv.com/','mainadv','2146',NULL,NULL);\nINSERT INTO trackers VALUES('makazi','Makazi',1,NULL,'makazi_group','3065',NULL,NULL);\nINSERT INTO trackers VALUES('makeappdev.xyz','makeappdev.xyz',5,NULL,NULL,'3672',NULL,NULL);\nINSERT INTO trackers VALUES('makesource.cool','makesource.cool',7,NULL,NULL,'3673',NULL,NULL);\nINSERT INTO trackers VALUES('mango','Mango',1,NULL,'mango_office','2999',NULL,NULL);\nINSERT INTO trackers VALUES('manycontacts','ManyContacts',1,NULL,'manycontacts','2228',NULL,NULL);\nINSERT INTO trackers VALUES('mapandroute.de','Map and Route',4,'https://www.mapandroute.de/',NULL,'3674',NULL,NULL);\nINSERT INTO trackers VALUES('mapbox','Mapbox',4,'https://www.mapbox.com/',NULL,'3675',NULL,NULL);\nINSERT INTO trackers VALUES('maploco','MapLoco',1,'https://www.maploco.com/','maploco','1734',NULL,NULL);\nINSERT INTO trackers VALUES('marchex','Marchex',1,'https://www.industrybrains.com/','marchex','314',NULL,NULL);\nINSERT INTO trackers VALUES('marfeel','Marfeel',1,'https://www.marfeel.com/','marfeel_solutions','',NULL,NULL);\nINSERT INTO trackers VALUES('marimedia','Marimedia',1,'http://www.marimedia.net/','tremor_video','1701',NULL,NULL);\nINSERT INTO trackers VALUES('marin_search_marketer','Marin Search Marketer',1,'https://www.marinsoftware.com/','marin_software','239',NULL,NULL);\nINSERT INTO trackers VALUES('mark_+_mini','Mark & Mini',1,'http://www.markandmini.com/index.cfm','edm_group','1472',NULL,NULL);\nINSERT INTO trackers VALUES('market_thunder','Market Thunder',1,NULL,'market_thunder','3047',NULL,NULL);\nINSERT INTO trackers VALUES('marketgid','MarketGid',1,'https://www.mgid.com/','marketgid_usa','364',NULL,NULL);\nINSERT INTO trackers VALUES('marketing_automation','Marketing Automation',1,NULL,'frodx','3269',NULL,NULL);\nINSERT INTO trackers VALUES('marketo','Adobe Marketo Engage',1,'http://www.marketo.com/','adobe','159',NULL,NULL);\nINSERT INTO trackers VALUES('markmonitor','MarkMonitor',1,'https://www.markmonitor.com/','markmonitor','1241',NULL,NULL);\nINSERT INTO trackers VALUES('marktest','Marktest',1,'https://www.marktest.com/','marktest_group','687',NULL,NULL);\nINSERT INTO trackers VALUES('marshadow.io','marshadow.io',1,NULL,NULL,'3676',NULL,NULL);\nINSERT INTO trackers VALUES('martini_media','Martini Media',1,'http://martinimediainc.com/','martini_media','1285',NULL,NULL);\nINSERT INTO trackers VALUES('maru-edu','Maru-EDU',4,NULL,'maruedr','2688',NULL,NULL);\nINSERT INTO trackers VALUES('marvellous_machine','Marvellous Machine',9,'https://www.marvellousmachine.net/','marvellous_machine','3283',NULL,NULL);\nINSERT INTO trackers VALUES('master_banner_network','Master Banner Network',1,'http://www.mbn.com.ua/','master_banner_network','2217',NULL,NULL);\nINSERT INTO trackers VALUES('mastertarget','MasterTarget',1,'http://mastertarget.ru/','mastertarget','1845',NULL,NULL);\nINSERT INTO trackers VALUES('matelso','Matelso',9,NULL,'matelso','3183',NULL,NULL);\nINSERT INTO trackers VALUES('mather_analytics','Mather Analytics',9,NULL,'mather_economics','3265',NULL,NULL);\nINSERT INTO trackers VALUES('mathjax.org','MathJax',6,'https://www.mathjax.org/',NULL,'3677',NULL,NULL);\nINSERT INTO trackers VALUES('matiro','Matiro',9,NULL,'matiro','2877',NULL,NULL);\nINSERT INTO trackers VALUES('matomo','Matomo',9,'https://matomo.org','matomo','3127',NULL,NULL);\nINSERT INTO trackers VALUES('matomy_market','Matomy Market',1,'https://www.matomymarket.com/','matomy_media','1118',NULL,NULL);\nINSERT INTO trackers VALUES('mave','mave',2,'https://www.mave.io/','mave','',NULL,NULL);\nINSERT INTO trackers VALUES('mavenoid','Mavenoid',4,'https://www.mavenoid.com/','mavenoid','',NULL,NULL);\nINSERT INTO trackers VALUES('maxbounty','MaxBounty',1,'https://www.maxbounty.com/','maxbounty','787',NULL,NULL);\nINSERT INTO trackers VALUES('maxcdn','MaxCDN',6,'https://www.maxcdn.com/',NULL,'3678',NULL,NULL);\nINSERT INTO trackers VALUES('maxetise','Maxetise',1,'https://maxetise.se/','maxetise','',NULL,NULL);\nINSERT INTO trackers VALUES('maxlab','Maxlab',1,'http://maxlab.ru','maxlab','1311',NULL,NULL);\nINSERT INTO trackers VALUES('maxmind','MaxMind',1,'http://www.maxmind.com/','maxmind','948',NULL,NULL);\nINSERT INTO trackers VALUES('maxonclick_com','maxonclick.com',7,NULL,NULL,'3679',NULL,NULL);\nINSERT INTO trackers VALUES('maxpoint_interactive','MaxPoint Interactive',1,'http://www.maxpointinteractive.com/','maxpoint_interactive','724',NULL,NULL);\nINSERT INTO trackers VALUES('maxymiser','Oracle Maxymiser',1,'https://www.oracle.com/marketingcloud/products/testing-and-optimization/index.html','oracle','458',NULL,NULL);\nINSERT INTO trackers VALUES('maze','Maze',9,'https://maze.co','maze','',NULL,NULL);\nINSERT INTO trackers VALUES('mbr_targeting','mbr targeting',1,'https://mbr-targeting.com/','stroer','3203',NULL,NULL);\nINSERT INTO trackers VALUES('mbuy','MBuy',1,'http://www.adbuyer.com/','mbuy','442',NULL,NULL);\nINSERT INTO trackers VALUES('mcabi','mCabi',1,NULL,'mcabi','2891',NULL,NULL);\nINSERT INTO trackers VALUES('mcafee_secure','McAfee Secure',11,'http://www.mcafeesecure.com/us/','mcafee','778',NULL,NULL);\nINSERT INTO trackers VALUES('mconet','MCOnet',1,'http://mconet.biz/','mconet','1137',NULL,NULL);\nINSERT INTO trackers VALUES('mdotlabs','MdotLabs',1,'http://www.mdotlabs.com/','comscore','2124',NULL,NULL);\nINSERT INTO trackers VALUES('media-clic','Media-clic',1,'http://www.media-clic.com/','media-click','1830',NULL,NULL);\nINSERT INTO trackers VALUES('media-imdb.com','IMDB CDN',6,'https://www.imdb.com/','amazon_associates','3680',NULL,NULL);\nINSERT INTO trackers VALUES('media.net','Media.net',1,'https://www.media.net/','media.net','1643',NULL,NULL);\nINSERT INTO trackers VALUES('media_impact','Media Impact',1,NULL,'media_impact','2883',NULL,NULL);\nINSERT INTO trackers VALUES('media_innovation_group','Xaxis',1,'https://www.xaxis.com/','media_innovation_group','439',NULL,NULL);\nINSERT INTO trackers VALUES('media_today','Media Today',1,NULL,'media_today','3106',NULL,NULL);\nINSERT INTO trackers VALUES('mediaad','MediaAd',1,NULL,'mediaad','3234',NULL,NULL);\nINSERT INTO trackers VALUES('mediago','MediaGo',1,'https://www.mediago.com/','mediago','',NULL,NULL);\nINSERT INTO trackers VALUES('mediahub','MediaHub',1,'http://www.mediahub.com/','mediahub','1210',NULL,NULL);\nINSERT INTO trackers VALUES('medialand','Medialand',1,'http://medialand.ru','medialand','1278',NULL,NULL);\nINSERT INTO trackers VALUES('medialead','Medialead',1,'https://www.medialead.de/','the_reach_group','3681',NULL,NULL);\nINSERT INTO trackers VALUES('mediamath','MediaMath',1,'https://www.mediamath.com/','mediamath','425',NULL,NULL);\nINSERT INTO trackers VALUES('mediametrics','Mediametrics',10,NULL,'mediametrics','2239',NULL,NULL);\nINSERT INTO trackers VALUES('median','Median',1,'http://median.hu','median','1252',NULL,NULL);\nINSERT INTO trackers VALUES('mediapass','MediaPass',1,'http://www.mediapass.com/','mediapass','1882',NULL,NULL);\nINSERT INTO trackers VALUES('mediapost_communications','Mediapost Communications',9,NULL,'mediapost_communications','2375',NULL,NULL);\nINSERT INTO trackers VALUES('mediarithmics.com','Mediarithmics',1,'http://www.mediarithmics.com/en/','mediarithmics','3204',NULL,NULL);\nINSERT INTO trackers VALUES('mediascope','Mediascope',9,'https://mediascope.net/','mediascope','3682',NULL,NULL);\nINSERT INTO trackers VALUES('mediashakers','MediaShakers',1,'https://www.mediashakers.com/','mediashakers','866',NULL,NULL);\nINSERT INTO trackers VALUES('mediashift','MediaShift',1,'https://www.mediashift.com/','mediashift','1931',NULL,NULL);\nINSERT INTO trackers VALUES('mediator.media','Mediator',9,'https://mediator.media/','mycom_bv','3683',NULL,NULL);\nINSERT INTO trackers VALUES('mediav','MediaV',1,'https://www.mediav.com/','mediav','1244',NULL,NULL);\nINSERT INTO trackers VALUES('mediavine_exchange','Mediavine Exchange',1,'https://www.mediavine.com/exchange/','mediavine_inc','4058',NULL,NULL);\nINSERT INTO trackers VALUES('mediawhiz','Mediawhiz',1,'https://www.mediawhiz.com/','matomy_media','1150',NULL,NULL);\nINSERT INTO trackers VALUES('medigo','Medigo',1,NULL,'mediego','2983',NULL,NULL);\nINSERT INTO trackers VALUES('medley','Medley',1,'http://medley.com/','friendfinder_networks','988',NULL,NULL);\nINSERT INTO trackers VALUES('medyanet','MedyaNet',1,'http://www.medyanet.com.tr/','medyanet','855',NULL,NULL);\nINSERT INTO trackers VALUES('meebo_bar','Meebo Bar',10,'http://bar.meebo.com/','google','260',NULL,NULL);\nINSERT INTO trackers VALUES('meetrics','Meetrics',1,'http://www.meetrics.de/','meetrics','709',NULL,NULL);\nINSERT INTO trackers VALUES('megaindex','MegaIndex',1,'http://www.megaindex.ru','megaindex','1461',NULL,NULL);\nINSERT INTO trackers VALUES('mein-bmi.com','mein-bmi.com',5,'https://www.mein-bmi.com/',NULL,'3684',NULL,NULL);\nINSERT INTO trackers VALUES('melissa','Melissa',9,NULL,'melissa_global_intelligence','3157',NULL,NULL);\nINSERT INTO trackers VALUES('melt','Melt',1,'http://meltdsp.com/','melt','1905',NULL,NULL);\nINSERT INTO trackers VALUES('menlo','Menlo',1,'http://www.menlotechnologies.cn/','menlotechnologies','1898',NULL,NULL);\nINSERT INTO trackers VALUES('mentad','MentAd',1,'https://www.mentad.com/','mentad','1881',NULL,NULL);\nINSERT INTO trackers VALUES('mercado','Mercado',1,'https://www.mercadolivre.com.br/','mercado_livre','2567',NULL,NULL);\nINSERT INTO trackers VALUES('merchant_center_analytics','Merchant Center Analytics',9,'https://business.google.com/us/merchant-center/','google','',NULL,NULL);\nINSERT INTO trackers VALUES('merchantadvantage','MerchantAdvantage',1,'https://www.merchantadvantage.com/channelmanagement.cfm','merchantadvantage','805',NULL,NULL);\nINSERT INTO trackers VALUES('merchenta','Merchenta',1,'http://www.merchenta.com/','merchenta','897',NULL,NULL);\nINSERT INTO trackers VALUES('mercury_media','Mercury Media',1,'http://trackingsoft.com/','mercury_media','572',NULL,NULL);\nINSERT INTO trackers VALUES('merkle_research','Merkle Research',9,NULL,'dentsu_aegis_network','3161',NULL,NULL);\nINSERT INTO trackers VALUES('merkle_rkg','Merkle',1,'https://www.merkle.com/','dentsu_aegis_network','326',NULL,NULL);\nINSERT INTO trackers VALUES('messenger.com','Facebook Messenger',10,'https://messenger.com','facebook','3685',NULL,NULL);\nINSERT INTO trackers VALUES('meta_network','Meta Network',10,'http://www.metanetwork.com/','meta_network','376',NULL,NULL);\nINSERT INTO trackers VALUES('metaffiliation.com','Netaffiliation',1,'http://netaffiliation.com/','kwanko','1015',NULL,NULL);\nINSERT INTO trackers VALUES('metapeople','Metapeople',1,'http://www.metapeople.com/us/','metapeople','1920',NULL,NULL);\nINSERT INTO trackers VALUES('metrigo','Metrigo',1,'http://metrigo.com/','metrigo','1471',NULL,NULL);\nINSERT INTO trackers VALUES('metriweb','MetriWeb',1,'http://www.metriware.be/','metriware','1101',NULL,NULL);\nINSERT INTO trackers VALUES('miaozhen','Miaozhen',1,'http://miaozhen.com/en/index.html','miaozhen','1902',NULL,NULL);\nINSERT INTO trackers VALUES('microad','MicroAd',1,'https://www.microad.co.jp/','microad','683',NULL,NULL);\nINSERT INTO trackers VALUES('microsoft','Microsoft Services',7,'http://www.microsoft.com/','microsoft','3686',NULL,NULL);\nINSERT INTO trackers VALUES('microsoft_adcenter_conversion','Microsoft adCenter Conversion',1,'https://adcenter.microsoft.com/','microsoft','356',NULL,'msn');\nINSERT INTO trackers VALUES('microsoft_analytics','Microsoft Analytics',1,'https://adcenter.microsoft.com','microsoft','9',NULL,NULL);\nINSERT INTO trackers VALUES('microsoft_azure_monitor','Microsoft Azure Monitor',11,'https://learn.microsoft.com/en-us/azure/azure-monitor/overview','microsoft','',NULL,NULL);\nINSERT INTO trackers VALUES('microsoft_clarity','Microsoft Clarity',9,'https://clarity.microsoft.com/','microsoft','4051',NULL,NULL);\nINSERT INTO trackers VALUES('miele','Miele',11,'https://www.miele.com/en/com/index.htm','miele','',NULL,NULL);\nINSERT INTO trackers VALUES('mindset_media','Mindset Media',1,'http://www.mindset-media.com/','google','168',NULL,NULL);\nINSERT INTO trackers VALUES('mindspark','Mindspark',9,'http://www.mindspark.com/','iac_apps','3687',NULL,NULL);\nINSERT INTO trackers VALUES('mindviz_tracker','MindViz Tracker',1,'http://mvtracker.com/','mindviz','372',NULL,NULL);\nINSERT INTO trackers VALUES('minewhat','MineWhat',1,'http://www.minewhat.com','minewhat','1437',NULL,NULL);\nINSERT INTO trackers VALUES('mints_app','Mints App',4,NULL,'mints_app','2670',NULL,NULL);\nINSERT INTO trackers VALUES('minute.ly','minute.ly',2,NULL,'minute.ly','2462',NULL,NULL);\nINSERT INTO trackers VALUES('minute.ly_video','minute.ly video',2,NULL,'minute.ly','3095',NULL,NULL);\nINSERT INTO trackers VALUES('mirando','Mirando',1,'http://mirando.de','mirando','275',NULL,NULL);\nINSERT INTO trackers VALUES('mirtesen.ru','mirtesen.ru',10,'https://mirtesen.ru/',NULL,'3688',NULL,NULL);\nINSERT INTO trackers VALUES('mister_bell','Mister Bell',1,'http://misterbell.fr/','mister_bell','2080',NULL,NULL);\nINSERT INTO trackers VALUES('mixi','mixi',10,'http://mixi.jp/','mixi','2042',NULL,NULL);\nINSERT INTO trackers VALUES('mixpanel','Mixpanel',9,'https://mixpanel.com/','mixpanel','240',NULL,NULL);\nINSERT INTO trackers VALUES('mixpo','Mixpo',1,NULL,'mixpo','2974',NULL,NULL);\nINSERT INTO trackers VALUES('mluvii','Mluvii',4,NULL,'mluvii','3260',NULL,NULL);\nINSERT INTO trackers VALUES('mncdn.com','MediaNova CDN',6,'https://www.medianova.com/',NULL,'3689',NULL,NULL);\nINSERT INTO trackers VALUES('mntn','MNTN',9,'https://mountain.com/','mntn','',NULL,NULL);\nINSERT INTO trackers VALUES('moat','Moat',1,'http://www.moat.com/','oracle','1453',NULL,NULL);\nINSERT INTO trackers VALUES('mobicow','Mobicow',1,'http://www.mobicow.com/','mobicow','1915',NULL,NULL);\nINSERT INTO trackers VALUES('mobify','Mobify',1,'https://www.mobify.com/','mobify','1451',NULL,NULL);\nINSERT INTO trackers VALUES('mobtrks.com','mobtrks.com',7,NULL,NULL,'3690',NULL,NULL);\nINSERT INTO trackers VALUES('mocean_mobile','mOcean Mobile',1,'http://www.moceanmobile.com/','pubmatic','1717',NULL,NULL);\nINSERT INTO trackers VALUES('mochapp','MoChapp',4,NULL,'mochapp','2759',NULL,NULL);\nINSERT INTO trackers VALUES('modern_impact','Modern Impact',1,NULL,'modern_impact','2286',NULL,NULL);\nINSERT INTO trackers VALUES('modernus','Modernus',9,'http://www.modernus.is','modernus','1179',NULL,NULL);\nINSERT INTO trackers VALUES('modulepush.com','modulepush.com',1,NULL,NULL,'3691',NULL,NULL);\nINSERT INTO trackers VALUES('mogo_interactive','Mogo Interactive',1,'http://www.mogomarketing.com/','mogo_interactive','1675',NULL,NULL);\nINSERT INTO trackers VALUES('mokono_analytics','Mokono Analytics',1,'http://www.populis.com','populis','1178',NULL,NULL);\nINSERT INTO trackers VALUES('monero_miner','Monero Miner',7,'https://devappgrant.space/',NULL,'3692',NULL,NULL);\nINSERT INTO trackers VALUES('monetate','Monetate',9,'http://monetate.com','monetate','398',NULL,NULL);\nINSERT INTO trackers VALUES('monetize_me','Monetize Me',1,'http://www.monetize-me.com/','monetize_me','1640',NULL,NULL);\nINSERT INTO trackers VALUES('moneytizer','Moneytizer',1,NULL,'the_moneytizer','2926',NULL,NULL);\nINSERT INTO trackers VALUES('mongoose_metrics','Mongoose Metrics',1,'http://www.mongoosemetrics.com/','mongoose_metrics','796',NULL,NULL);\nINSERT INTO trackers VALUES('monitis','Monitis',9,'http://www.monitis.com/','monitis','1416',NULL,NULL);\nINSERT INTO trackers VALUES('monitus','Monitus',9,'https://www.monitus.net/','monitus','428',NULL,NULL);\nINSERT INTO trackers VALUES('monotype_gmbh','Monotype GmbH',6,'https://www.monotype.com/','monotype','3693',NULL,NULL);\nINSERT INTO trackers VALUES('monotype_imaging','Fonts.com Store',4,'https://www.fonts.com/','monotype','2310',NULL,NULL);\nINSERT INTO trackers VALUES('monsido','Monsido',9,NULL,'monsido','3276',NULL,NULL);\nINSERT INTO trackers VALUES('monster_advertising','Monster Advertising',1,'https://www.monster.com/','monster_worldwide','1534',NULL,NULL);\nINSERT INTO trackers VALUES('mooxar','Mooxar',1,NULL,'mooxar','1986',NULL,NULL);\nINSERT INTO trackers VALUES('mopinion.com','Mopinion',4,'https://mopinion.com/','mopinion','3261',NULL,NULL);\nINSERT INTO trackers VALUES('mopub','MoPub',1,'https://www.mopub.com/','twitter','2086',NULL,NULL);\nINSERT INTO trackers VALUES('more_communication','More Communication',1,NULL,'more_communication','3113',NULL,NULL);\nINSERT INTO trackers VALUES('moreads','moreAds',1,'https://www.moras.jp','moreads','2040',NULL,NULL);\nINSERT INTO trackers VALUES('motigo_webstats','Motigo Webstats',10,'http://webstats.motigo.com/','motigo','818',NULL,NULL);\nINSERT INTO trackers VALUES('motionpoint','MotionPoint',9,'https://www.motionpoint.com/','motionpoint_corporation','1562',NULL,NULL);\nINSERT INTO trackers VALUES('mouseflow','Mouseflow',9,'https://mouseflow.com/','mouseflow','347',NULL,NULL);\nINSERT INTO trackers VALUES('mousestats','MouseStats',1,'http://www.mousestats.com/','mousestats','2044',NULL,NULL);\nINSERT INTO trackers VALUES('mousetrace','MouseTrace',9,'http://www.mousetrace.com/','mousetrace','1224',NULL,NULL);\nINSERT INTO trackers VALUES('mov.ad','Mov.ad',7,NULL,NULL,'3694',NULL,NULL);\nINSERT INTO trackers VALUES('movable_ink','Movable Ink',9,'https://movableink.com/','movable_ink','2246',NULL,NULL);\nINSERT INTO trackers VALUES('movable_media','Movable Media',1,'http://www.movablemedia.com/','movable_media','1086',NULL,NULL);\nINSERT INTO trackers VALUES('movingimage','movingimage',2,'https://www.movingimage.com','movingimage','',NULL,NULL);\nINSERT INTO trackers VALUES('movingimage_beacon','movingimage',1,'https://www.movingimage.com/','movingimage','',NULL,NULL);\nINSERT INTO trackers VALUES('moz','Moz',7,'https://moz.com/',NULL,'3695',NULL,NULL);\nINSERT INTO trackers VALUES('mozoo','MoZoo',1,NULL,'mozoo','2424',NULL,NULL);\nINSERT INTO trackers VALUES('mparticle','mParticle',9,'https://www.mparticle.com/','mparticle','',NULL,NULL);\nINSERT INTO trackers VALUES('mrp','MRP',1,NULL,'mrp','3000',NULL,NULL);\nINSERT INTO trackers VALUES('mrpdata','MRP',9,'http://mrpdata.com/Account/Login?ReturnUrl=%2F','fifth_story','3696',NULL,NULL);\nINSERT INTO trackers VALUES('mrskincash','MrSkinCash',8,'https://mrskincash.com/','mrskincash.com','1912',NULL,NULL);\nINSERT INTO trackers VALUES('msn','Microsoft Network',7,NULL,'microsoft','3697',NULL,NULL);\nINSERT INTO trackers VALUES('muscula','Muscula',1,NULL,'universe_surf','2390',NULL,NULL);\nINSERT INTO trackers VALUES('mux_inc','Mux',2,'https://mux.com/','mux_inc','2620',NULL,NULL);\nINSERT INTO trackers VALUES('mybloglog','MyBlogLog',10,'http://www.mybloglog.com/','verizon','15',NULL,NULL);\nINSERT INTO trackers VALUES('mybuys','MyBuys',1,'http://www.mybuys.com/','magnetic','300',NULL,NULL);\nINSERT INTO trackers VALUES('mycdn.me','Mail.Ru CDN',6,NULL,'megafon','3698',NULL,NULL);\nINSERT INTO trackers VALUES('mycliplister.com','Cliplister',4,'https://www.cliplister.com/',NULL,'3699',NULL,NULL);\nINSERT INTO trackers VALUES('mycounter.ua','MyCounter.ua',9,'http://mycounter.ua','mycounter.ua','900',NULL,NULL);\nINSERT INTO trackers VALUES('myfonts','MyFonts',9,'https://www.myfonts.com/','myfonts','3700',NULL,NULL);\nINSERT INTO trackers VALUES('myfonts_counter','MyFonts',9,'https://www.myfonts.com/','myfonts','1634',NULL,'myfonts');\nINSERT INTO trackers VALUES('mypagerank','MyPagerank',9,'http://www.mypagerank.net/','mypagerank','700',NULL,NULL);\nINSERT INTO trackers VALUES('mystat','MyStat',10,'http://mystat.hu/','myst_statistics','1013',NULL,NULL);\nINSERT INTO trackers VALUES('mythings','myThings',1,'https://www.mythings.com/','mythings','524',NULL,NULL);\nINSERT INTO trackers VALUES('mytop_counter','Mytop Counter',10,'https://mytop-in.net/','mytop-in','1328',NULL,NULL);\nINSERT INTO trackers VALUES('nakanohito.jp','Nakanohito',1,'http://nakanohito.jp/','userinsight','705',NULL,NULL);\nINSERT INTO trackers VALUES('namogoo','Wandz.ai',9,'https://wandz.ai','wandz_ai','3701',NULL,NULL);\nINSERT INTO trackers VALUES('nanigans','Nanigans',1,'http://www.nanigans.com/','nanigans','1362',NULL,NULL);\nINSERT INTO trackers VALUES('nano_interactive','Nano Interactive',1,'https://www.nanointeractive.com/home/de','nano_interactive','3702',NULL,NULL);\nINSERT INTO trackers VALUES('nanorep','nanoRep',4,'http://www.nanorep.com/','logmein','1498',NULL,NULL);\nINSERT INTO trackers VALUES('narando','Narando',2,NULL,'narando','2973',NULL,NULL);\nINSERT INTO trackers VALUES('narrativ','Narrativ',1,NULL,'narrativ','2902',NULL,NULL);\nINSERT INTO trackers VALUES('narrative_io','Narrative',9,'https://www.narrative.io/','narrative.io','3075',NULL,NULL);\nINSERT INTO trackers VALUES('natimatica','Natimatica',1,NULL,'natimatica','3198',NULL,NULL);\nINSERT INTO trackers VALUES('nativeads.com','native ads',1,'https://nativeads.com/',NULL,'3703',NULL,NULL);\nINSERT INTO trackers VALUES('nativeroll','Nativeroll',2,NULL,'native_roll','3022',NULL,NULL);\nINSERT INTO trackers VALUES('nativo','Nativo',1,'http://www.nativo.net/','nativo','1528',NULL,NULL);\nINSERT INTO trackers VALUES('navegg_dmp','Navegg',9,'https://www.navegg.com/en/','navegg','226',NULL,NULL);\nINSERT INTO trackers VALUES('naver.com','Naver',1,'https://www.naver.com/','naver','2456',NULL,NULL);\nINSERT INTO trackers VALUES('naver_search','Naver Search',4,NULL,'naver','2455',NULL,'naver.com');\nINSERT INTO trackers VALUES('nbc_news','NBC News',7,'https://www.nbcnews.com/',NULL,'3704',NULL,NULL);\nINSERT INTO trackers VALUES('ncol','NCOL',1,'http://www.ncol.com/','ncol','1799',NULL,NULL);\nINSERT INTO trackers VALUES('needle','Needle',4,'http://www.needle.com','needle','1460',NULL,NULL);\nINSERT INTO trackers VALUES('negate','Negate',11,'https://negate.io/','negate','',NULL,NULL);\nINSERT INTO trackers VALUES('nekudo.com','Nekudo',4,'https://nekudo.com/','nekudo','3705',NULL,NULL);\nINSERT INTO trackers VALUES('nelio_ab_testing','Nelio A/B Testing',9,'https://neliosoftware.com','nelio','',NULL,NULL);\nINSERT INTO trackers VALUES('neodata','Neodata',1,'https://neodatagroup.com/','neodata','1014',NULL,NULL);\nINSERT INTO trackers VALUES('neory','NEORY',1,'https://www.neory.com/','neory','1713',NULL,NULL);\nINSERT INTO trackers VALUES('nerfherdersolo_com','nerfherdersolo.com',7,NULL,NULL,'3706',NULL,NULL);\nINSERT INTO trackers VALUES('net-metrix','NET-Metrix',9,'http://www.net-metrix.ch/','net-metrix','1592',NULL,NULL);\nINSERT INTO trackers VALUES('net-results','Net-Results',1,'https://www.net-results.com/','net-results','307',NULL,NULL);\nINSERT INTO trackers VALUES('net_avenir','Net Avenir',1,'http://www.netavenir.com/','net_avenir','1694',NULL,NULL);\nINSERT INTO trackers VALUES('net_communities','Net Communities',1,'http://www.netcommunities.com/','net_communities','1455',NULL,NULL);\nINSERT INTO trackers VALUES('net_visibility','NET Visibility',1,'http://www.netvisibility.co.uk','net_visibility','1927',NULL,NULL);\nINSERT INTO trackers VALUES('netbiscuits','Netbiscuits',9,'http://www.netbiscuits.net/','netbiscuits','2192',NULL,NULL);\nINSERT INTO trackers VALUES('netbooster_group','NetBooster Group',1,'http://www.netbooster.com/','netbooster_group','1625',NULL,NULL);\nINSERT INTO trackers VALUES('netease','NetEase',1,'http://126.net/','netease','2383',NULL,NULL);\nINSERT INTO trackers VALUES('netflix','Netflix',7,NULL,NULL,'3707',NULL,NULL);\nINSERT INTO trackers VALUES('netletix','Netletix',1,'http://www.netletix.com//','ip_de','3708',NULL,NULL);\nINSERT INTO trackers VALUES('netminers','Netminers',9,'http://netminers.dk/','netminers','1771',NULL,NULL);\nINSERT INTO trackers VALUES('netmining','Netmining',1,'http://www.netmining.com/','zeta','358',NULL,NULL);\nINSERT INTO trackers VALUES('netmonitor','NetMonitor',9,'https://www.netmanager.net/en/','netmonitor','158',NULL,NULL);\nINSERT INTO trackers VALUES('netratings_sitecensus','NetRatings SiteCensus',1,'http://www.nielsen-online.com/intlpage.html','nielsen','43',NULL,NULL);\nINSERT INTO trackers VALUES('netrk.net','nfxTrack',9,'https://netrk.net/','netzeffekt','3709',NULL,NULL);\nINSERT INTO trackers VALUES('netseer','NetSeer',1,'http://www.netseer.com/','netseer','608',NULL,NULL);\nINSERT INTO trackers VALUES('netshelter','NetShelter',1,'http://www.netshelter.net/','netshelter','321',NULL,NULL);\nINSERT INTO trackers VALUES('netsprint_audience','Netsprint Audience',9,'http://audience.netsprint.eu/','netsprint','3710',NULL,NULL);\nINSERT INTO trackers VALUES('networkedblogs','NetworkedBlogs',10,'http://w.networkedblogs.com/','networkedblogs','672',NULL,NULL);\nINSERT INTO trackers VALUES('neustar_adadvisor','Neustar AdAdvisor',1,'http://www.targusinfo.com/','neustar','443',NULL,NULL);\nINSERT INTO trackers VALUES('new_relic','New Relic',9,'https://newrelic.com/','new_relic','614',NULL,NULL);\nINSERT INTO trackers VALUES('newscgp.com','News Connect',1,NULL,'news_corp','3711',NULL,NULL);\nINSERT INTO trackers VALUES('newsmax','Newsmax',1,'http://www.newsmax.com/','newsmax','1581',NULL,NULL);\nINSERT INTO trackers VALUES('newstogram','Newstogram',1,'http://www.newstogram.com/','dailyme','345',NULL,NULL);\nINSERT INTO trackers VALUES('newsupdatedir.info','newsupdatedir.info',7,NULL,NULL,'3712',NULL,NULL);\nINSERT INTO trackers VALUES('newsupdatewe.info','newsupdatewe.info',5,NULL,NULL,'3713',NULL,NULL);\nINSERT INTO trackers VALUES('newtention','Newtention',1,'http://www.newtention.de/','next_audience','610',NULL,NULL);\nINSERT INTO trackers VALUES('nexage','Nexage',1,'http://www.nexage.com/','verizon','1478',NULL,NULL);\nINSERT INTO trackers VALUES('nexeps.com','neXeps',1,'http://nexeps.com/',NULL,'3714',NULL,NULL);\nINSERT INTO trackers VALUES('nexon','Nexon',9,'https://www.nexon.com/main/en','nexon','',NULL,NULL);\nINSERT INTO trackers VALUES('next_performance','Next Performance',1,'http://www.nextperformance.com/','nextperf','706',NULL,NULL);\nINSERT INTO trackers VALUES('next_user','Next User',1,NULL,'next_user','2878',NULL,NULL);\nINSERT INTO trackers VALUES('nextag_roi_optimizer','Nextag ROI Optimizer',1,'https://www.nextag.com/','nextag','598',NULL,NULL);\nINSERT INTO trackers VALUES('nextclick','Nextclick',1,'https://nextclick.pl/','leadbullet','2094',NULL,NULL);\nINSERT INTO trackers VALUES('nextmillmedia','Next Millennium Media',1,'https://nmm.nextmillmedia.com/','nextmillmedia','',NULL,NULL);\nINSERT INTO trackers VALUES('nextstat','NextSTAT',9,'http://www.nextstat.com/','nextstat','829',NULL,NULL);\nINSERT INTO trackers VALUES('nexx360','nexx360',1,'https://www.nexx360.io','nexx360','',NULL,NULL);\nINSERT INTO trackers VALUES('neytiv','Neytiv',9,NULL,'neytiv','2945',NULL,NULL);\nINSERT INTO trackers VALUES('ngage_inc.','NGage INC.',9,NULL,'nginx','2339',NULL,NULL);\nINSERT INTO trackers VALUES('nhn_commerce','NHN Commerce',9,'https://www.nhn-commerce.com/','naver','',NULL,NULL);\nINSERT INTO trackers VALUES('nice264.com','Nice264',2,'http://nice264.com/',NULL,'3715',NULL,NULL);\nINSERT INTO trackers VALUES('nimblecommerce','NimbleCommerce',1,'http://www.nimblecommerce.com/','nimblecommerce','2026',NULL,NULL);\nINSERT INTO trackers VALUES('ninja_access_analysis','Ninja Access Analysis',9,'https://www.ninja.co.jp/analysis/','samurai_factory','712',NULL,NULL);\nINSERT INTO trackers VALUES('nirror','Nirror',9,'https://www.nirror.com/','nirror','1965',NULL,NULL);\nINSERT INTO trackers VALUES('nitropay','NitroPay',1,'https://nitropay.com/','gg_software','3716',NULL,NULL);\nINSERT INTO trackers VALUES('nk.pl_widgets','NK.pl Widgets',1,'https://nk.pl','nk.pl','920',NULL,NULL);\nINSERT INTO trackers VALUES('noaa.gov','National Oceanic and Atmospheric Administration',7,'https://noaa.gov/',NULL,'3717',NULL,NULL);\nINSERT INTO trackers VALUES('nocodelytics','Nocodelytics',9,'https://www.nocodelytics.com/privacy','nocodelytics','',NULL,NULL);\nINSERT INTO trackers VALUES('noddus','Noddus',1,NULL,'noddus','2979',NULL,NULL);\nINSERT INTO trackers VALUES('nolix','Nolix',1,'https://nolix.ru/','nolix','1864',NULL,NULL);\nINSERT INTO trackers VALUES('nonstop_consulting','Resolution Media',1,'https://resolutionmedia.com/','resolution_media','1409',NULL,NULL);\nINSERT INTO trackers VALUES('noop.style','noop.style',7,NULL,NULL,'3718',NULL,NULL);\nINSERT INTO trackers VALUES('norstat','Norstat',9,'https://www.norstatpanel.com/','norstat','',NULL,NULL);\nINSERT INTO trackers VALUES('nosto.com','Nosto',9,'https://www.nosto.com/','nosto','3719',NULL,NULL);\nINSERT INTO trackers VALUES('notify','Notify',1,'http://notify.ag/en/',NULL,'3720',NULL,NULL);\nINSERT INTO trackers VALUES('notifyfox','Notifyfox',9,NULL,'notifyfox','2687',NULL,NULL);\nINSERT INTO trackers VALUES('now_interact','Now Interact',9,'http://nowinteract.com/','now_interact','2221',NULL,NULL);\nINSERT INTO trackers VALUES('npario','nPario',9,'http://npario.com/','npario','1122',NULL,NULL);\nINSERT INTO trackers VALUES('nplexmedia','nPlexMedia',1,'http://www.nplexmedia.com/','nplexmedia','1955',NULL,NULL);\nINSERT INTO trackers VALUES('nrelate','nRelate',4,'http://nrelate.com/','iac_apps','1123',NULL,NULL);\nINSERT INTO trackers VALUES('ns8','NS8',1,'https://www.ns8.com/',NULL,'3721',NULL,NULL);\nINSERT INTO trackers VALUES('nt.vc','Next Tuesday GmbH',7,'https://www.nexttuesday.de/',NULL,'3722',NULL,NULL);\nINSERT INTO trackers VALUES('ntent','NTENT',1,'http://www.verticalsearchworks.com','ntent','1108',NULL,NULL);\nINSERT INTO trackers VALUES('nttcom_online_marketing_solutions','NTTCom Online Marketing Solutions',9,'http://www.digitalforest.co.jp/','nttcom_online_marketing_solutions','1235',NULL,NULL);\nINSERT INTO trackers VALUES('nuffnang','Nuffnang',1,'https://nuffnang.com/','nuffnang','659',NULL,NULL);\nINSERT INTO trackers VALUES('nugg.ad','Nugg.Ad',1,'http://www.nugg.ad/','nugg.ad','30',NULL,NULL);\nINSERT INTO trackers VALUES('nui_media','NUI Media',1,'http://adjuggler.com/','nui_media','348',NULL,NULL);\nINSERT INTO trackers VALUES('numbers.md','Numbers.md',9,NULL,'numbers.md','2732',NULL,NULL);\nINSERT INTO trackers VALUES('numerator','Numerator',11,'http://www.channeliq.com/','numerator','1612',NULL,NULL);\nINSERT INTO trackers VALUES('ny_times_tagx','NY Times TagX',9,NULL,'the_new_york_times','2308',NULL,'nyt.com');\nINSERT INTO trackers VALUES('nyacampwk.com','nyacampwk.com',7,NULL,NULL,'3723',NULL,NULL);\nINSERT INTO trackers VALUES('nyetm2mkch.com','nyetm2mkch.com',7,NULL,NULL,'3724',NULL,NULL);\nINSERT INTO trackers VALUES('nyt.com','The New York Times',7,'https://www.nytimes.com/','the_new_york_times','1129',NULL,NULL);\nINSERT INTO trackers VALUES('o12zs3u2n.com','o12zs3u2n.com',7,NULL,NULL,'3725',NULL,NULL);\nINSERT INTO trackers VALUES('o2.pl','o2.pl',7,'https://www.o2.pl/','o2.pl','3726',NULL,NULL);\nINSERT INTO trackers VALUES('o2online.de','o2online.de',7,'https://www.o2online.de/',NULL,'3727',NULL,NULL);\nINSERT INTO trackers VALUES('oath_inc','Oath',7,'https://www.oath.com/','verizon','3238',NULL,NULL);\nINSERT INTO trackers VALUES('observer','Observer',1,'http://www.observerapp.com','observer','781',NULL,NULL);\nINSERT INTO trackers VALUES('ocioso','Ocioso',10,'https://ocioso.com.br/','ocioso','1993',NULL,NULL);\nINSERT INTO trackers VALUES('oclasrv.com','oclasrv.com',7,NULL,NULL,'3728',NULL,NULL);\nINSERT INTO trackers VALUES('octapi.net','octapi.net',7,NULL,NULL,'3729',NULL,NULL);\nINSERT INTO trackers VALUES('octavius','Octavius',1,NULL,'octavius','3108',NULL,NULL);\nINSERT INTO trackers VALUES('office.com','office.com',7,NULL,'microsoft','3730',NULL,NULL);\nINSERT INTO trackers VALUES('office.net','office.net',7,NULL,'microsoft','3731',NULL,NULL);\nINSERT INTO trackers VALUES('office365.com','office365.com',7,NULL,'microsoft','3732',NULL,NULL);\nINSERT INTO trackers VALUES('oghub.io','OG Hub',7,NULL,NULL,'3733',NULL,NULL);\nINSERT INTO trackers VALUES('ogury','Ogury',1,'https://ogury.com/','ogury','',NULL,NULL);\nINSERT INTO trackers VALUES('oh_my_stats','Oh My Stats',9,'https://ohmystats.com/','oh_my_stats','1862',NULL,NULL);\nINSERT INTO trackers VALUES('ohana_advertising_network','Ohana Advertising Network',1,'http://adohana.com/','ohana_advertising_network','1256',NULL,NULL);\nINSERT INTO trackers VALUES('okendo','Okendo',4,'https://okendo.io/','okendo','',NULL,NULL);\nINSERT INTO trackers VALUES('olapic','Social Native Tracking',9,'https://www.socialnative.com/insights-and-optimization/','social_native','1607',NULL,NULL);\nINSERT INTO trackers VALUES('olark','Olark',4,'https://www.olark.com/','olark','655',NULL,NULL);\nINSERT INTO trackers VALUES('olx-st.com','OLX',7,'https://www.olx.com/',NULL,'3734',NULL,NULL);\nINSERT INTO trackers VALUES('omarsys.com','Omarsys',1,'https://omarsys.com/','xcaliber','3735',NULL,NULL);\nINSERT INTO trackers VALUES('ometria','Ometria',1,'http://www.ometria.com/','ometria','1590',NULL,NULL);\nINSERT INTO trackers VALUES('omg','OMG',10,'http://uk.omgpm.com/','optimise_media','928',NULL,NULL);\nINSERT INTO trackers VALUES('omniconvert.com','Omniconvert',1,'https://www.omniconvert.com/','omniconvert','3736',NULL,NULL);\nINSERT INTO trackers VALUES('omniscienta','Omniscienta',1,'http://www.omniscienta.com/',NULL,'3737',NULL,NULL);\nINSERT INTO trackers VALUES('omnisend','Omnisend',9,'https://www.omnisend.com/','omnisend','',NULL,NULL);\nINSERT INTO trackers VALUES('omq','OMQ',4,'https://omq.ai/','omq','',NULL,NULL);\nINSERT INTO trackers VALUES('oms','OMS',1,'http://oms.eu/',NULL,'3738',NULL,NULL);\nINSERT INTO trackers VALUES('onaudience','OnAudience',1,'https://www.onaudience.com/','cloud_technologies','2981',NULL,NULL);\nINSERT INTO trackers VALUES('ondics','Ondics',9,'https://ondics.de/en/','ondics','',NULL,NULL);\nINSERT INTO trackers VALUES('oneall','Oneall',10,NULL,'oneall','3145',NULL,NULL);\nINSERT INTO trackers VALUES('onedollarstats','One Dollar Stats',9,'https://onedollarstats.com/','drizzle','',NULL,NULL);\nINSERT INTO trackers VALUES('onefeed','Onefeed',9,'http://www.onefeed.co.uk','onefeed','1560',NULL,NULL);\nINSERT INTO trackers VALUES('onesignal','OneSignal',11,'https://onesignal.com/','onesignal','2498',NULL,NULL);\nINSERT INTO trackers VALUES('onestat','OneStat',9,'http://www.onestat.com/','onestat_international_b.v.','126',NULL,NULL);\nINSERT INTO trackers VALUES('onet.pl','onet',7,'https://www.onet.pl/',NULL,'3739',NULL,NULL);\nINSERT INTO trackers VALUES('onetag','OneTag',1,'https://www.onetag.com/','onetag','4032',NULL,NULL);\nINSERT INTO trackers VALUES('onetrust','OneTrust',3,'https://www.onetrust.com/','onetrust','3740',NULL,NULL);\nINSERT INTO trackers VALUES('onfocus.io','OnFocus',1,'http://onfocus.io/','onfocus','3071',NULL,NULL);\nINSERT INTO trackers VALUES('onlinewebstat','Onlinewebstat',9,'http://www.onlinewebstats.com/index.php?lang=en','onlinewebstat','870',NULL,NULL);\nINSERT INTO trackers VALUES('onswipe','Onswipe',1,'http://www.onswipe.com/','onswipe','1593',NULL,NULL);\nINSERT INTO trackers VALUES('onthe.io','OnThe.io',9,NULL,'onthe.io','2629',NULL,NULL);\nINSERT INTO trackers VALUES('ontraport_autopilot','Ontraport Autopilot',1,'http://www.moon-ray.com/','ontraport','984',NULL,NULL);\nINSERT INTO trackers VALUES('ooyala.com','Ooyala Player',2,'https://www.ooyala.com/','telstra','2611',NULL,NULL);\nINSERT INTO trackers VALUES('ooyala_analytics','Ooyala Analytics',9,NULL,'telstra','3061',NULL,'ooyala.com');\nINSERT INTO trackers VALUES('open_adexchange','Open AdExchange',1,'http://openadex.dk/','open_adexchange','962',NULL,NULL);\nINSERT INTO trackers VALUES('open_share_count','Open Share Count',1,NULL,'open_share_count','2426',NULL,NULL);\nINSERT INTO trackers VALUES('openload','Openload',6,'https://openload.co/',NULL,'3741',NULL,NULL);\nINSERT INTO trackers VALUES('openstat','OpenStat',9,'https://www.openstat.ru/','openstat','210',NULL,NULL);\nINSERT INTO trackers VALUES('opentracker','Opentracker',9,'https://www.opentracker.net/','opentracker','618',NULL,NULL);\nINSERT INTO trackers VALUES('openwebanalytics','Open Web Analytics',9,'http://www.openwebanalytics.com/','open_web_analytics','1187',NULL,NULL);\nINSERT INTO trackers VALUES('openx','OpenX',1,'https://www.openx.com','openx','32',NULL,NULL);\nINSERT INTO trackers VALUES('operative_media','Operative Media',1,'https://www.operative.com/','operative_media','1177',NULL,NULL);\nINSERT INTO trackers VALUES('opinary','Opinary',4,'https://opinary.com/','opinary','3190',NULL,NULL);\nINSERT INTO trackers VALUES('opinionbar','OpinionBar',4,'http://www.metrixlab.com','metrixlab','1673',NULL,NULL);\nINSERT INTO trackers VALUES('oplytic','Oplytic',9,NULL,'oplytic','2281',NULL,NULL);\nINSERT INTO trackers VALUES('opta.net','Opta',9,'http://www.optasports.de/','opta_sports','3189',NULL,NULL);\nINSERT INTO trackers VALUES('optable','Optable',1,'https://www.optable.co/','optable_technologies','',NULL,NULL);\nINSERT INTO trackers VALUES('optaim','OptAim',1,'http://optaim.com/','optaim','1901',NULL,NULL);\nINSERT INTO trackers VALUES('optify','Optify',1,'http://www.optify.net','optify','429',NULL,NULL);\nINSERT INTO trackers VALUES('optimatic','Optimatic',2,NULL,'optimatic','2360',NULL,NULL);\nINSERT INTO trackers VALUES('optimax_media_delivery','Optimax Media Delivery',1,'http://optmd.com/','optimax_media_delivery','723',NULL,NULL);\nINSERT INTO trackers VALUES('optimicdn.com','OptimiCDN',6,'https://en.optimicdn.com/',NULL,'3743',NULL,NULL);\nINSERT INTO trackers VALUES('optimizely','Optimizely',11,'https://www.optimizely.com/','optimizely','588',NULL,NULL);\nINSERT INTO trackers VALUES('optimizely_error_log','Optimizely Error Log',9,NULL,'optimizely','3101',NULL,'optimizely');\nINSERT INTO trackers VALUES('optimizely_geo_targeting','Optimizely Geographical Targeting',9,NULL,'optimizely','2975',NULL,'optimizely');\nINSERT INTO trackers VALUES('optimizely_logging','Optimizely Logging',9,NULL,'optimizely','3097',NULL,'optimizely');\nINSERT INTO trackers VALUES('optimonk','Optimonk',9,NULL,'optimonk','2422',NULL,NULL);\nINSERT INTO trackers VALUES('optinmonster','OptInMonster',4,'https://optinmonster.com/','optinmonster','3139',NULL,NULL);\nINSERT INTO trackers VALUES('optinproject.com','OptinProject',1,'https://www.optincollect.com/en','optincollect','3744',NULL,NULL);\nINSERT INTO trackers VALUES('optomaton','Optomaton',1,'http://www.optomaton.com/','ve','3745',NULL,NULL);\nINSERT INTO trackers VALUES('ora.tv','Ora.TV',1,'http://www.ora.tv/','ora.tv','2846',NULL,NULL);\nINSERT INTO trackers VALUES('oracle_live_help','Oracle Live Help',4,'https://www.oracle.com/us/products/applications/atg/live-help-on-demand/index.html','oracle','806',NULL,NULL);\nINSERT INTO trackers VALUES('oracle_rightnow','Oracle RightNow',7,NULL,'oracle','3746',NULL,NULL);\nINSERT INTO trackers VALUES('orange','Orange',1,'https://www.orange.co.uk/','orange_mobile','1743',NULL,NULL);\nINSERT INTO trackers VALUES('orange142','Orange142',1,'https://www.orange142.com/','orange142','1949',NULL,NULL);\nINSERT INTO trackers VALUES('orange_france','Orange France',7,'https://www.orange.fr/','orange_france','3747',NULL,NULL);\nINSERT INTO trackers VALUES('orangesoda','OrangeSoda',1,'http://www.orangesoda.com/','orangesoda','28',NULL,NULL);\nINSERT INTO trackers VALUES('orc_international','ORC International',1,'https://orcinternational.com/','engine_group','3748',NULL,NULL);\nINSERT INTO trackers VALUES('order_groove','Order Groove',1,NULL,'order_groove','2592',NULL,NULL);\nINSERT INTO trackers VALUES('orel_site','Orel Site',4,NULL,'orel_site','3006',NULL,NULL);\nINSERT INTO trackers VALUES('osano','Osano',3,'https://www.osano.com','osano','',NULL,NULL);\nINSERT INTO trackers VALUES('otclick','otClick',1,'https://otclick-adv.ru/','otclick','1652',NULL,NULL);\nINSERT INTO trackers VALUES('othersearch.info','FlowSurf',7,NULL,NULL,'3749',NULL,NULL);\nINSERT INTO trackers VALUES('otm-r.com','OTM',1,'https://otm-r.com/',NULL,'3750',NULL,NULL);\nINSERT INTO trackers VALUES('otto.de','Otto Group',7,NULL,NULL,'3751',NULL,NULL);\nINSERT INTO trackers VALUES('outbrain','Outbrain',1,'https://www.outbrain.com/','outbrain','68',NULL,NULL);\nINSERT INTO trackers VALUES('outbrain_amplify','Outbrain Amplify',1,NULL,'outbrain','3100',NULL,'outbrain');\nINSERT INTO trackers VALUES('outbrain_analytics','Outbrain Analytics',9,NULL,'outbrain','2887',NULL,'outbrain');\nINSERT INTO trackers VALUES('outbrain_logger','Outbrain Logger',1,NULL,'outbrain','3098',NULL,'outbrain');\nINSERT INTO trackers VALUES('outbrain_pixel','Outbrain Pixel',1,NULL,'outbrain','2894',NULL,'outbrain');\nINSERT INTO trackers VALUES('outbrain_utilities','Outbrain Utilities',9,NULL,'outbrain','3099',NULL,'outbrain');\nINSERT INTO trackers VALUES('outbrain_widgets','Outbrain Widgets',1,NULL,'outbrain','2895',NULL,'outbrain');\nINSERT INTO trackers VALUES('outgrow','Outgrow',9,'https://outgrow.co/','outgrow','',NULL,NULL);\nINSERT INTO trackers VALUES('overheat.it','overheat',9,'https://overheat.io/',NULL,'3752',NULL,NULL);\nINSERT INTO trackers VALUES('owa','OWA',9,'http://oewa.at/','the_austrian_web_analysis','331',NULL,NULL);\nINSERT INTO trackers VALUES('owneriq','OwnerIQ',1,'https://www.owneriq.com/','owneriq','359',NULL,NULL);\nINSERT INTO trackers VALUES('ownpage','Ownpage',4,'https://www.ownpage.fr/index.en.html',NULL,'3753',NULL,NULL);\nINSERT INTO trackers VALUES('owox.com','OWOX',9,'https://www.owox.com/','owox_inc','3754',NULL,NULL);\nINSERT INTO trackers VALUES('oxamedia','OxaMedia',4,'http://www.oxamedia.com/','oxamedia','527',NULL,NULL);\nINSERT INTO trackers VALUES('oxomi.com','Oxomi',1,'https://oxomi.com/',NULL,'3755',NULL,NULL);\nINSERT INTO trackers VALUES('ozone','Ozone',1,'https://ozoneproject.com/',NULL,'',NULL,NULL);\nINSERT INTO trackers VALUES('pageanalytics.space','pageanalytics.space',7,NULL,NULL,'3756',NULL,NULL);\nINSERT INTO trackers VALUES('pagescience','PageScience',1,'http://www.precisionhealthmedia.com/index.html','pagescience','1080',NULL,NULL);\nINSERT INTO trackers VALUES('paid-to-promote','Paid-To-Promote',1,'https://www.paid-to-promote.net/','paid-to-promote','578',NULL,NULL);\nINSERT INTO trackers VALUES('panasonic_avionics','Panasonic Avionics Corporation',4,'https://www.panasonic.aero/','panasonic','',NULL,NULL);\nINSERT INTO trackers VALUES('pangleglobal','Pangle',1,'https://www.pangleglobal.com/','bytedance_inc','',NULL,NULL);\nINSERT INTO trackers VALUES('paperg','PaperG',1,'http://www.paperg.com/','paperg','1781',NULL,NULL);\nINSERT INTO trackers VALUES('paradox','Paradox',4,'https://www.paradox.ai','paradox','',NULL,NULL);\nINSERT INTO trackers VALUES('pardot','Marketing Cloud Account Engagement',9,'https://www.salesforce.com/marketing/b2b-automation/','salesforce','241',NULL,NULL);\nINSERT INTO trackers VALUES('parsely','Parse.ly',9,'https://www.parse.ly/','parse.ly','2613',NULL,NULL);\nINSERT INTO trackers VALUES('partner-ads','Partner-Ads',1,'https://www.partner-ads.com/','partner-ads','961',NULL,NULL);\nINSERT INTO trackers VALUES('passionfruit','Passionfruit',1,'http://passionfruitads.com/','passionfruit','1630',NULL,NULL);\nINSERT INTO trackers VALUES('pathfactory','PathFactory',9,'https://www.pathfactory.com/','pathfactory','',NULL,NULL);\nINSERT INTO trackers VALUES('pathful','Pathful',9,'https://www.pathful.com/','pathful','1904',NULL,NULL);\nINSERT INTO trackers VALUES('pay-hit','Pay-Hit',1,'https://pay-hit.com/','pay-hit','2009',NULL,NULL);\nINSERT INTO trackers VALUES('payclick','PayClick',1,'http://payclick.it/','payclick','1016',NULL,NULL);\nINSERT INTO trackers VALUES('paykickstart','PayKickstart',9,NULL,'paykickstart','3291',NULL,NULL);\nINSERT INTO trackers VALUES('paypal','PayPal',4,'https://www.paypal.com','paypal','3757',NULL,NULL);\nINSERT INTO trackers VALUES('pcvark.com','pcvark.com',7,'https://pcvark.com/',NULL,'3758',NULL,NULL);\nINSERT INTO trackers VALUES('peer39','Peer39',1,'https://www.peer39.com/','peer39','262',NULL,NULL);\nINSERT INTO trackers VALUES('peer5.com','Peer5',6,'https://www.peer5.com/','peer5','3759',NULL,NULL);\nINSERT INTO trackers VALUES('peerius','Peerius',4,'http://www.peerius.com/','peerius','668',NULL,NULL);\nINSERT INTO trackers VALUES('pendo.io','pendo',9,'https://www.pendo.io/',NULL,'3760',NULL,NULL);\nINSERT INTO trackers VALUES('pepper.com','Pepper',1,'https://www.pepper.com/','6minutes','3761',NULL,NULL);\nINSERT INTO trackers VALUES('pepperjam','Pepperjam',1,'http://www.pepperjam.com','pepperjam','593',NULL,NULL);\nINSERT INTO trackers VALUES('pepsia','Pepsia',9,NULL,'pepsia','3216',NULL,NULL);\nINSERT INTO trackers VALUES('perfdrive.com','perfdrive.com',7,NULL,NULL,'3762',NULL,NULL);\nINSERT INTO trackers VALUES('perfect_audience','Perfect Audience',1,'https://www.perfectaudience.com/','perfect_audience','1403',NULL,NULL);\nINSERT INTO trackers VALUES('perfect_market','Perfect Market',1,'http://perfectmarket.com/','perfect_market','1691',NULL,NULL);\nINSERT INTO trackers VALUES('perform_group','Perform Group',11,'https://www.performgroup.com/','perform_group','1255',NULL,NULL);\nINSERT INTO trackers VALUES('performable','Performable',9,'http://www.performable.com/','hubspot','483',NULL,NULL);\nINSERT INTO trackers VALUES('performancing_metrics','Performancing Metrics',9,'http://pmetrics.performancing.com','performancing','382',NULL,NULL);\nINSERT INTO trackers VALUES('performax','Performax',1,'https://www.performax.cz/','performax','2958',NULL,NULL);\nINSERT INTO trackers VALUES('perimeterx.net','PerimeterX',11,'https://www.humansecurity.com/','human_security','3763',NULL,NULL);\nINSERT INTO trackers VALUES('permutive','Permutive',1,'https://permutive.com/','permutive','3169',NULL,NULL);\nINSERT INTO trackers VALUES('persgroep','De Persgroep',1,'https://www.persgroep.be/','de_persgroep','3764',NULL,NULL);\nINSERT INTO trackers VALUES('persianstat','PersianStat',9,'http://www.persianstat.com','persianstat','657',NULL,NULL);\nINSERT INTO trackers VALUES('persio','Persio',1,NULL,'pers.io','2440',NULL,NULL);\nINSERT INTO trackers VALUES('personyze','Personyze',4,'http://personyze.com/','personyze','1044',NULL,NULL);\nINSERT INTO trackers VALUES('pertento','Pertento',9,'https://www.pertento.ai/','pertento','',NULL,NULL);\nINSERT INTO trackers VALUES('petametrics','LiftIgniter',4,'https://www.liftigniter.com/','liftigniter','2103',NULL,NULL);\nINSERT INTO trackers VALUES('pexels','Pexels',6,'https://www.pexels.com/','canva','',NULL,NULL);\nINSERT INTO trackers VALUES('pheedo','Pheedo',1,'http://pheedo.com/','pheedo','551',NULL,NULL);\nINSERT INTO trackers VALUES('phonalytics','Phonalytics',4,'http://www.phonalytics.com/','phonalytics','366',NULL,NULL);\nINSERT INTO trackers VALUES('phunware','Phunware',1,'https://www.phunware.com','phunware','939',NULL,NULL);\nINSERT INTO trackers VALUES('piano','Piano Analytics',9,'https://www.piano.io/product/analytics','piano','',NULL,NULL);\nINSERT INTO trackers VALUES('piguiqproxy.com','piguiqproxy.com',7,NULL,NULL,'3765',NULL,NULL);\nINSERT INTO trackers VALUES('pilot','Pilot',9,'https://www.pilot.de/en/home.html','pilot_gmbh','1890',NULL,NULL);\nINSERT INTO trackers VALUES('pingdom','Pingdom',9,'https://www.pingdom.com/','solarwinds','1526',NULL,NULL);\nINSERT INTO trackers VALUES('pinterest','Pinterest',10,'http://pinterest.com/','pinterest','868',NULL,NULL);\nINSERT INTO trackers VALUES('pinterest_conversion_tracker','Pinterest Conversion Tracker',9,NULL,'pinterest','2748',NULL,'pinterest');\nINSERT INTO trackers VALUES('pipz','Pipz',1,NULL,'pipz_automation','3015',NULL,NULL);\nINSERT INTO trackers VALUES('piwik','Tombstone (Matomo/Piwik before the split)',9,'http://piwik.org/','matomo','44',NULL,NULL);\nINSERT INTO trackers VALUES('piwik_pro_analytics_suite','Piwik PRO Analytics Suite',9,'https://piwik.pro/web-analytics/','cookieinformation','4052',NULL,NULL);\nINSERT INTO trackers VALUES('piwik_pro_tag_manager','Piwik PRO Tag Manager',11,'https://piwik.pro/tag-manager/','cookieinformation','',NULL,NULL);\nINSERT INTO trackers VALUES('pixabay','Pixabay',6,'https://pixabay.com/','canva','',NULL,NULL);\nINSERT INTO trackers VALUES('pixalate','Pixalate',1,NULL,'pixalate','2368',NULL,NULL);\nINSERT INTO trackers VALUES('pixel_union','Pixel Union',1,NULL,'pixel_union','2819',NULL,NULL);\nINSERT INTO trackers VALUES('pixfuture','PixFuture',1,'http://www.pixfuture.com','pixfuture','1069',NULL,NULL);\nINSERT INTO trackers VALUES('piximedia','Piximedia',1,'https://www.piximedia.com/piximedia?en','piximedia','1268',NULL,NULL);\nINSERT INTO trackers VALUES('pizzaandads_com','pizzaandads.com',7,NULL,NULL,'3766',NULL,NULL);\nINSERT INTO trackers VALUES('placester','Placester',1,'https://placester.com/','placester','2105',NULL,NULL);\nINSERT INTO trackers VALUES('pladform.ru','Pladform',1,'https://distribution.pladform.ru/','pladform','3767',NULL,NULL);\nINSERT INTO trackers VALUES('plan.net_experience_cloud','Plan.net Experience Cloud',9,NULL,'serviceplan','3247',NULL,NULL);\nINSERT INTO trackers VALUES('platform360','Platform360',1,'http://www.platform360.co/#home',NULL,'3768',NULL,NULL);\nINSERT INTO trackers VALUES('platformone','Platform One',1,'https://www.platform-one.co.jp/','daconsortium','3210',NULL,NULL);\nINSERT INTO trackers VALUES('plausible_analytics','Plausible Analytics',11,'https://plausible.io/','plausible','4063',NULL,NULL);\nINSERT INTO trackers VALUES('play_by_mamba','Play by Mamba',1,'https://play.mamba.ru/','mamba','1317',NULL,NULL);\nINSERT INTO trackers VALUES('playbuzz.com','Playbuzz',4,'https://www.playbuzz.com/','playbuzz','2469',NULL,NULL);\nINSERT INTO trackers VALUES('playdigo','Playdigo',1,'https://playdigo.com/','playdigo','',NULL,NULL);\nINSERT INTO trackers VALUES('plenty_of_fish','Plenty Of Fish',9,NULL,'plentyoffish','2676',NULL,NULL);\nINSERT INTO trackers VALUES('plex_metrics','Plex Metrics',9,NULL,'plex','3020',NULL,NULL);\nINSERT INTO trackers VALUES('plista','Plista',1,'http://www.plista.com','plista','710',NULL,NULL);\nINSERT INTO trackers VALUES('plugrush','PlugRush',1,'https://www.plugrush.com/','plugrush','1131',NULL,NULL);\nINSERT INTO trackers VALUES('pluso.ru','Pluso',10,'https://share.pluso.ru/','pluso','1982',NULL,NULL);\nINSERT INTO trackers VALUES('plutusads','Plutusads',1,NULL,'plutusads','3049',NULL,NULL);\nINSERT INTO trackers VALUES('pmddby.com','pmddby.com',5,NULL,NULL,'3769',NULL,NULL);\nINSERT INTO trackers VALUES('pnamic.com','pnamic.com',5,NULL,NULL,'3770',NULL,NULL);\nINSERT INTO trackers VALUES('po.st','Po.st',10,'https://www.po.st/','rythmone','1081',NULL,NULL);\nINSERT INTO trackers VALUES('pocket','Pocket',9,'https://getpocket.com/','pocket','1744',NULL,NULL);\nINSERT INTO trackers VALUES('pocketcents','PocketCents',1,'http://pocketcents.com/','pocketcents','636',NULL,NULL);\nINSERT INTO trackers VALUES('pointific','Pointific',9,NULL,'pontiflex','2709',NULL,NULL);\nINSERT INTO trackers VALUES('pointroll','PointRoll',1,'http://www.pointroll.com/','gannett_digital_media_network','57',NULL,NULL);\nINSERT INTO trackers VALUES('poirreleast.club','poirreleast.club',7,NULL,NULL,'3771',NULL,NULL);\nINSERT INTO trackers VALUES('polar.me','Polar',1,'https://polar.me/','polar_inc','2111',NULL,NULL);\nINSERT INTO trackers VALUES('polldaddy','Polldaddy',4,'https://polldaddy.com/','automattic','607',NULL,NULL);\nINSERT INTO trackers VALUES('polyad','PolyAd',1,'http://polyad.net','polyad','1183',NULL,NULL);\nINSERT INTO trackers VALUES('polyfill.io','Polyfill',7,'https://polyfill.io/','polyfill.io','3123',NULL,NULL);\nINSERT INTO trackers VALUES('poool','Poool',11,'https://www.poool.fr/en/','poool','',NULL,NULL);\nINSERT INTO trackers VALUES('popads','PopAds',1,'https://www.popads.net/','popads','838',NULL,NULL);\nINSERT INTO trackers VALUES('popcash','Popcash',1,'https://popcash.net/','popcash_network','1941',NULL,NULL);\nINSERT INTO trackers VALUES('popcorn_metrics','Popcorn Metrics',9,NULL,'popcorn_metrics','3239',NULL,NULL);\nINSERT INTO trackers VALUES('popin.cc','popIn',10,'https://www.popin.cc/','popin','2047',NULL,NULL);\nINSERT INTO trackers VALUES('popmyads','PopMyAds',1,NULL,'popmyads','2461',NULL,NULL);\nINSERT INTO trackers VALUES('poponclick','PopOnClick',1,'http://poponclick.com','poponclick','2077',NULL,NULL);\nINSERT INTO trackers VALUES('populis','Populis',1,'http://www.populis.com','populis','1887',NULL,NULL);\nINSERT INTO trackers VALUES('pornhub','PornHub',8,'https://www.pornhub.com/','pornhub','3772',NULL,NULL);\nINSERT INTO trackers VALUES('pornwave','Pornwave',8,NULL,'pornwave.com','2893',NULL,NULL);\nINSERT INTO trackers VALUES('porta_brazil','Porta Brazil',1,NULL,'portal_brazil','2941',NULL,NULL);\nINSERT INTO trackers VALUES('post_affiliate_pro','Post Affiliate Pro',1,'https://www.qualityunit.com/','qualityunit','1411',NULL,NULL);\nINSERT INTO trackers VALUES('posthog','PostHog',9,'https://posthog.com/','posthog','',NULL,NULL);\nINSERT INTO trackers VALUES('powerlinks','PowerLinks',1,'https://www.powerlinks.com/','powerlinks','1300',NULL,NULL);\nINSERT INTO trackers VALUES('powerreviews','PowerReviews',4,'https://www.powerreviews.com/','powerreviews','2171',NULL,NULL);\nINSERT INTO trackers VALUES('powr.io','POWr',9,'https://www.powr.io/','powr','3773',NULL,NULL);\nINSERT INTO trackers VALUES('pozvonim','Pozvonim',1,NULL,'pozvonim','2920',NULL,NULL);\nINSERT INTO trackers VALUES('prebid','Prebid',1,'https://prebid.org/','prebid','3774',NULL,NULL);\nINSERT INTO trackers VALUES('precisionclick','PrecisionClick',1,'http://www.precisionclick.com/','precisionclick','431',NULL,NULL);\nINSERT INTO trackers VALUES('predicta','Predicta',1,'http://predicta.com.br/','predicta','707',NULL,NULL);\nINSERT INTO trackers VALUES('premonix','Premonix',1,'https://www.premonix.com/','premonix','1762',NULL,NULL);\nINSERT INTO trackers VALUES('press','Press+',1,'https://www.mypressplus.com/','press+','1090',NULL,NULL);\nINSERT INTO trackers VALUES('pressly','Pressly',1,'https://www.pressly.com/','pressly','2213',NULL,NULL);\nINSERT INTO trackers VALUES('pricegrabber','PriceGrabber',1,'http://www.pricegrabber.com','pricegrabber','660',NULL,NULL);\nINSERT INTO trackers VALUES('pricespider','Pricespider',1,NULL,'price_spider','2565',NULL,NULL);\nINSERT INTO trackers VALUES('prismamediadigital.com','Prisma Media Digital',1,'http://www.pmdrecrute.com/','prisma_media_digital','1223',NULL,NULL);\nINSERT INTO trackers VALUES('privy.com','Privy',4,'https://privy.com/','privy','3294',NULL,NULL);\nINSERT INTO trackers VALUES('proclivity','Proclivity',1,'https://www.proclivitysystems.com/','proclivity_media','934',NULL,NULL);\nINSERT INTO trackers VALUES('prodperfect','ProdPerfect',9,'https://prodperfect.com/','prodperfect','4033',NULL,NULL);\nINSERT INTO trackers VALUES('productsup','ProductsUp',1,NULL,'productsup','2954',NULL,NULL);\nINSERT INTO trackers VALUES('profiliad','Profiliad',9,NULL,'profiliad','2703',NULL,NULL);\nINSERT INTO trackers VALUES('profitmetrics','ProfitMetrics',9,'https://profitmetrics.io/','profitmetrics','',NULL,NULL);\nINSERT INTO trackers VALUES('profitshare','Profitshare',9,'https://profitshare.ro/','profitshare','2633',NULL,NULL);\nINSERT INTO trackers VALUES('proformics','Proformics',9,NULL,'proformics_digital','2704',NULL,NULL);\nINSERT INTO trackers VALUES('programattik','Programattik',1,'https://www.programattik.com/','ttnet','3775',NULL,NULL);\nINSERT INTO trackers VALUES('progress_sitefinity','Sitefinity by Progress',9,'https://www.progress.com/sitefinity-cms','progress','',NULL,NULL);\nINSERT INTO trackers VALUES('project_wonderful','Project Wonderful',1,'https://www.projectwonderful.com/','project_wonderful','403',NULL,NULL);\nINSERT INTO trackers VALUES('proofapi.com','Proof',4,'https://useproof.com/','proof','',NULL,NULL);\nINSERT INTO trackers VALUES('propel_marketing','Propel Marketing',1,NULL,'propel_marketing','2421',NULL,NULL);\nINSERT INTO trackers VALUES('propeller_ads','Propeller Ads',1,'http://www.propellerads.com/','propeller_ads','1702',NULL,NULL);\nINSERT INTO trackers VALUES('propermedia','Proper Media',1,'https://proper.io/','propermedia','3248',NULL,NULL);\nINSERT INTO trackers VALUES('props','Props',1,NULL,'props','3199',NULL,NULL);\nINSERT INTO trackers VALUES('propvideo_net','propvideo.net',7,NULL,NULL,'3776',NULL,NULL);\nINSERT INTO trackers VALUES('prospecteye','ProspectEye',1,'https://www.prospecteye.com/','prospecteye','1968',NULL,NULL);\nINSERT INTO trackers VALUES('prosperent','Prosperent',1,'http://prosperent.com','prosperent','648',NULL,NULL);\nINSERT INTO trackers VALUES('prostor','Prostor',1,NULL,'prostor','2959',NULL,NULL);\nINSERT INTO trackers VALUES('provide_support','Provide Support',4,'https://www.providesupport.com/','provide_support','1059',NULL,NULL);\nINSERT INTO trackers VALUES('proximic','Proximic',1,'https://www.proximic.com/','proximic','514',NULL,NULL);\nINSERT INTO trackers VALUES('proxistore.com','Proxistore',1,'https://www.proxistore.com/','proxistore','3229',NULL,NULL);\nINSERT INTO trackers VALUES('pscp.tv','Periscope',10,'https://www.pscp.tv/','periscope','3777',NULL,NULL);\nINSERT INTO trackers VALUES('pstatic.net','Naver CDN',6,'https://www.naver.com/','naver','3778',NULL,NULL);\nINSERT INTO trackers VALUES('psyma','Psyma',1,'https://www.psyma.com/','psyma','1850',NULL,NULL);\nINSERT INTO trackers VALUES('pt_engine','Pt engine',9,'https://www.ptengine.jp/','pt_engine','2063',NULL,NULL);\nINSERT INTO trackers VALUES('pub-fit','Pub-Fit',1,'http://www.pub-fit.com/','pub-fit','1808',NULL,NULL);\nINSERT INTO trackers VALUES('pub.network','pub.network',1,NULL,NULL,'3779',NULL,NULL);\nINSERT INTO trackers VALUES('pubble','Pubble',4,'https://www.pubble.co/','pubble','1865',NULL,NULL);\nINSERT INTO trackers VALUES('pubdirecte','Pubdirecte',1,'http://www.pubdirecte.com/','pubdirecte','1018',NULL,NULL);\nINSERT INTO trackers VALUES('pubgears','PubGears',1,'https://pubgears.com/','pubgears','1333',NULL,NULL);\nINSERT INTO trackers VALUES('public_ideas','Public Ideas',1,'http://www.publicidees.co.uk/','public-idees','1267',NULL,NULL);\nINSERT INTO trackers VALUES('publicidad.net','Publicidad.net',1,'http://www.en.publicidad.net/','publicidad.net','1019',NULL,NULL);\nINSERT INTO trackers VALUES('publir','Publir',1,'http://www.publir.com','publir','2041',NULL,NULL);\nINSERT INTO trackers VALUES('pubmatic','PubMatic',1,'https://www.pubmatic.com/','pubmatic','333',NULL,NULL);\nINSERT INTO trackers VALUES('pubnation','PubNation',1,'https://www.pubnation.com/','mediavine_inc','',NULL,NULL);\nINSERT INTO trackers VALUES('pubnub.com','PubNub',7,'https://www.pubnub.com/',NULL,'3780',NULL,NULL);\nINSERT INTO trackers VALUES('puboclic','Puboclic',1,'http://www.puboclic.com/','puboclic','1996',NULL,NULL);\nINSERT INTO trackers VALUES('pulpix.com','Pulpix',1,'https://www.pulpix.com/','adyoulike','3781',NULL,NULL);\nINSERT INTO trackers VALUES('pulpo_media','Pulpo Media',1,'http://www.pulpomedia.com/home.html','pulpo_media','1518',NULL,NULL);\nINSERT INTO trackers VALUES('pulse360','Pulse360',1,'http://www.pulse360.com','pulse360','390',NULL,NULL);\nINSERT INTO trackers VALUES('pulse_insights','Pulse Insights',9,'https://pulseinsights.com/','pulse_insights','2220',NULL,NULL);\nINSERT INTO trackers VALUES('pulsepoint','PulsePoint',1,'https://www.contextweb.com/','pulsepoint_ad_exchange','302',NULL,NULL);\nINSERT INTO trackers VALUES('punchtab','PunchTab',1,'http://www.punchtab.com/','punchtab','769',NULL,NULL);\nINSERT INTO trackers VALUES('purch','Purch',1,'http://www.purch.com/','purch','1165',NULL,NULL);\nINSERT INTO trackers VALUES('pure_chat','Pure Chat',4,'https://www.purechat.com','pure_chat','1822',NULL,NULL);\nINSERT INTO trackers VALUES('pureprofile','Pureprofile',9,NULL,'pureprofile','3030',NULL,NULL);\nINSERT INTO trackers VALUES('purlive','PurLive',1,NULL,'purlive','2826',NULL,NULL);\nINSERT INTO trackers VALUES('puserving.com','puserving.com',7,NULL,NULL,'3782',NULL,NULL);\nINSERT INTO trackers VALUES('push.world','Push.world',4,'https://push.world/en','push.world','3783',NULL,NULL);\nINSERT INTO trackers VALUES('push_engage','Push Engage',4,NULL,'push_engage','2466',NULL,NULL);\nINSERT INTO trackers VALUES('pushame.com','pushame.com',7,NULL,NULL,'3784',NULL,NULL);\nINSERT INTO trackers VALUES('pushbullet','Pushbullet',4,NULL,'pushbullet','2225',NULL,NULL);\nINSERT INTO trackers VALUES('pushcrew','VWO Engage',4,'https://vwo.com/engage/','wingify','2572',NULL,NULL);\nINSERT INTO trackers VALUES('pusher.com','Pusher',9,'https://pusher.com/',NULL,'3785',NULL,NULL);\nINSERT INTO trackers VALUES('pushnative.com','pushnative.com',7,NULL,NULL,'3786',NULL,NULL);\nINSERT INTO trackers VALUES('pushnews','Pushnews',1,NULL,'pushnews','3237',NULL,NULL);\nINSERT INTO trackers VALUES('pushno.com','pushno.com',7,NULL,NULL,'3787',NULL,NULL);\nINSERT INTO trackers VALUES('pushwhy.com','pushwhy.com',7,NULL,NULL,'3788',NULL,NULL);\nINSERT INTO trackers VALUES('pushwoosh.com','Pushwoosh',4,'https://www.pushwoosh.com/','pushwoosh','3789',NULL,NULL);\nINSERT INTO trackers VALUES('puzzel','Puzzel',4,'https://www.puzzel.com/','puzzel','',NULL,NULL);\nINSERT INTO trackers VALUES('pvclouds.com','pvclouds.com',7,NULL,NULL,'3790',NULL,NULL);\nINSERT INTO trackers VALUES('q1media','Q1Media',1,'http://q1media.com/','q1media','1780',NULL,NULL);\nINSERT INTO trackers VALUES('q_division','Q-Division',1,'https://q-division.de/',NULL,'3791',NULL,NULL);\nINSERT INTO trackers VALUES('qbaka','Qbaka',9,'https://qbaka.com/','qbaka','1992',NULL,NULL);\nINSERT INTO trackers VALUES('qcri_analytics','QCRI Analytics',9,'http://qcri.org/','qatar_computing_research_institute','1396',NULL,NULL);\nINSERT INTO trackers VALUES('qeado','Qeado',9,NULL,'qeado','2696',NULL,NULL);\nINSERT INTO trackers VALUES('qihoo_360','Qihoo 360',9,NULL,'qihoo_360_technology','2718',NULL,NULL);\nINSERT INTO trackers VALUES('qq.com','qq.com',7,'https://www.qq.com/','qq.com','3792',NULL,NULL);\nINSERT INTO trackers VALUES('qrius','Qrius',10,'http://www.qrius.me/','mediafed','1489',NULL,NULL);\nINSERT INTO trackers VALUES('qualaroo','Qualaroo',9,NULL,NULL,'3793',NULL,NULL);\nINSERT INTO trackers VALUES('qualia','Qualia',1,'https://www.bluecava.com/','qualia','427',NULL,NULL);\nINSERT INTO trackers VALUES('qualified','Qualified',9,'https://www.qualified.com/','qualified','',NULL,NULL);\nINSERT INTO trackers VALUES('qualtrics','Qualtrics',9,'https://www.qualtrics.com/','qualtrics','1531',NULL,NULL);\nINSERT INTO trackers VALUES('quantcast','Quantcast',1,'https://www.quantcast.com/','quantcast','16',NULL,NULL);\nINSERT INTO trackers VALUES('quantcount','Quantcount',9,NULL,'quantcast','2828',NULL,NULL);\nINSERT INTO trackers VALUES('quantum_metric','Quantum Metric',9,'https://www.quantummetric.com/','quantum_metric','2807',NULL,NULL);\nINSERT INTO trackers VALUES('quartic.pl','Quartic',9,'https://www.quarticon.com/','quarticon','2132',NULL,NULL);\nINSERT INTO trackers VALUES('qubit','Qubit Opentag',9,'https://www.qubit.com/','qubit','764',NULL,NULL);\nINSERT INTO trackers VALUES('questback','Questback',4,'http://www1.questback.com/','questback','1020',NULL,NULL);\nINSERT INTO trackers VALUES('queue-it','Queue-it',9,'https://queue-it.com/',NULL,'3794',NULL,NULL);\nINSERT INTO trackers VALUES('quick-counter.net','Quick-counter.net',9,'http://www.quick-counter.net/','quick-counter.net','1375',NULL,NULL);\nINSERT INTO trackers VALUES('quigo_adsonar','Quigo AdSonar',1,'http://www.quigo.com','verizon','80',NULL,NULL);\nINSERT INTO trackers VALUES('quinstreet','QuinStreet',1,'https://www.quinstreet.com/','quinstreet','454',NULL,NULL);\nINSERT INTO trackers VALUES('quintelligence','Quintelligence',9,'http://www.quintelligence.com/','quintelligence','266',NULL,NULL);\nINSERT INTO trackers VALUES('quisma','Quisma',1,'http://www.quisma.com/en/','wpp','537',NULL,NULL);\nINSERT INTO trackers VALUES('quora.com','Quora',10,'https://quora.com/',NULL,'3795',NULL,NULL);\nINSERT INTO trackers VALUES('r_advertising','R-Advertising',1,'https://www.r-advertising.com/','r-advertising','1805',NULL,NULL);\nINSERT INTO trackers VALUES('rackcdn.com','Rackspace',6,'https://www.rackspace.com/',NULL,'3796',NULL,NULL);\nINSERT INTO trackers VALUES('radarurl','RadarURL',9,'http://radarurl.com/','radarurl','654',NULL,NULL);\nINSERT INTO trackers VALUES('radial','Radial',1,'http://www.clearsaleing.com/','radial','279',NULL,NULL);\nINSERT INTO trackers VALUES('radiumone','RadiumOne',1,'http://www.radiumone.com/index.html','rythmone','492',NULL,NULL);\nINSERT INTO trackers VALUES('raisenow','RaiseNow',9,NULL,'raisenow','3187',NULL,NULL);\nINSERT INTO trackers VALUES('rakuten_advertising','Rakuten Advertising',1,'https://rakutenadvertising.com','rakuten','',NULL,NULL);\nINSERT INTO trackers VALUES('rakuten_display','Rakuten Display',1,'https://rakutenmarketing.com/display','rakuten','292',NULL,NULL);\nINSERT INTO trackers VALUES('rakuten_globalmarket','Rakuten',1,'https://www.rakuten.co.jp/','rakuten','1645',NULL,NULL);\nINSERT INTO trackers VALUES('rakuten_widget','Rakuten Widget',1,NULL,'rakuten','3009',NULL,NULL);\nINSERT INTO trackers VALUES('rambler','Rambler',9,'https://www.rambler.ru/','rambler','426',NULL,NULL);\nINSERT INTO trackers VALUES('rambler_count','Rambler Count',4,NULL,'rambler','3012',NULL,'rambler');\nINSERT INTO trackers VALUES('rambler_widget','Rambler Widget',4,NULL,'rambler','2931',NULL,'rambler');\nINSERT INTO trackers VALUES('rapidspike','RapidSpike',9,NULL,'rapidspike','3223',NULL,NULL);\nINSERT INTO trackers VALUES('ravelin','Ravelin',9,'https://www.ravelin.com/',NULL,'3797',NULL,NULL);\nINSERT INTO trackers VALUES('rawgit','RawGit',6,'https://rawgit.com/',NULL,'3798',NULL,NULL);\nINSERT INTO trackers VALUES('raygun','Raygun',1,NULL,'raygun','2373',NULL,NULL);\nINSERT INTO trackers VALUES('rbc_counter','RBC Counter',9,'https://www.rbc.ru/','rbc_group','1428',NULL,NULL);\nINSERT INTO trackers VALUES('rcs.it','RCS',1,'https://www.rcsmediagroup.it/','rcs','1535',NULL,NULL);\nINSERT INTO trackers VALUES('rd_station','RD Station',9,NULL,'rd_station','2928',NULL,NULL);\nINSERT INTO trackers VALUES('reachforce','ReachForce',9,'http://www.reachforce.com/','reachforce','1907',NULL,NULL);\nINSERT INTO trackers VALUES('reachjunction','ReachJunction',1,'https://www.reachjunction.com/','reachjunction','1696',NULL,NULL);\nINSERT INTO trackers VALUES('reachlocal','ReachLocal',1,'https://www.reachlocal.com/','reachlocal','780',NULL,NULL);\nINSERT INTO trackers VALUES('reactful','Reactful',1,'https://www.reactful.com/','reactful','1829',NULL,NULL);\nINSERT INTO trackers VALUES('reactivpub','Reactivpub',9,'http://www.reactivpub.com/','r-advertising','1998',NULL,NULL);\nINSERT INTO trackers VALUES('reactx','ReactX',1,'http://home.skinected.com','reactx','1595',NULL,NULL);\nINSERT INTO trackers VALUES('readerboard','ReaderBoard',10,'http://www.readrboard.com','centre_phi','1916',NULL,NULL);\nINSERT INTO trackers VALUES('readme','ReadMe',9,'https://readme.com/','readme','4034',NULL,NULL);\nINSERT INTO trackers VALUES('readspeaker.com','ReadSpeaker',4,'https://www.readspeaker.com/',NULL,'3799',NULL,NULL);\nINSERT INTO trackers VALUES('realclick','RealClick',1,'https://www.realclick.co.kr/','realclick','2032',NULL,NULL);\nINSERT INTO trackers VALUES('realperson.de','Realperson Chat',4,'https://www.optimise-it.de/','optimise_it','3800',NULL,NULL);\nINSERT INTO trackers VALUES('realtime','Realtime',4,'http://www.realtime.co/','realtime','1211',NULL,NULL);\nINSERT INTO trackers VALUES('realytics','Realytics',9,NULL,'realytics','2649',NULL,NULL);\nINSERT INTO trackers VALUES('reamaze','Re:amaze',4,'https://www.reamaze.com/','godaddy','',NULL,NULL);\nINSERT INTO trackers VALUES('rebel_mouse','Rebel Mouse',9,NULL,'rebelmouse','2857',NULL,NULL);\nINSERT INTO trackers VALUES('receptiv','Receptiv',1,'https://www.getreceptiv.com','receptiv','',NULL,NULL);\nINSERT INTO trackers VALUES('recettes.net','Recettes.net',7,'http://www.recettes.net/','recettes.net','3801',NULL,NULL);\nINSERT INTO trackers VALUES('recopick','RecoPick',1,NULL,'recopick','2371',NULL,NULL);\nINSERT INTO trackers VALUES('recreativ','Recreativ',1,'http://recreativ.ru/','recreativ','1315',NULL,NULL);\nINSERT INTO trackers VALUES('recruitics','Recruitics',9,'http://recruitics.com/','recruitics','2066',NULL,NULL);\nINSERT INTO trackers VALUES('red_ventures','Red Ventures',9,NULL,'red_ventures','3144',NULL,NULL);\nINSERT INTO trackers VALUES('redblue_de','redblue',9,'https://www.redblue.de/',NULL,'3802',NULL,NULL);\nINSERT INTO trackers VALUES('redcdn.pl','redGalaxy CDN',6,'http://www.atendesoftware.pl/','atende_software','3803',NULL,NULL);\nINSERT INTO trackers VALUES('reddit','Reddit',10,'http://reddit.com','reddit','1094',NULL,NULL);\nINSERT INTO trackers VALUES('redhelper','RedHelper',4,'http://redhelper.com/','redhelper','2126',NULL,NULL);\nINSERT INTO trackers VALUES('redlotus','RedLotus',1,'http://triggit.com/','redlotus','99',NULL,NULL);\nINSERT INTO trackers VALUES('redtram','RedTram',1,'http://www.redtram.com/','redtram','1450',NULL,NULL);\nINSERT INTO trackers VALUES('redtube.com','redtube.com',6,NULL,NULL,'3804',NULL,NULL);\nINSERT INTO trackers VALUES('redux_media','Redux Media',1,'http://reduxmedia.com/','redux_media','430',NULL,NULL);\nINSERT INTO trackers VALUES('reed_business_information','Reed Business Information',9,'https://www.reedbusiness.com/','andera_partners','3316',NULL,NULL);\nINSERT INTO trackers VALUES('reembed.com','reEmbed',2,'https://www.reembed.com/','reembed','3805',NULL,NULL);\nINSERT INTO trackers VALUES('reevoo.com','Reevoo',1,'https://www.reevoo.com/en/','reevoo','2222',NULL,NULL);\nINSERT INTO trackers VALUES('refericon','Refericon',1,'https://refericon.pl/#','refericon','3280',NULL,NULL);\nINSERT INTO trackers VALUES('referlocal','ReferLocal',1,'http://referlocal.com/','referlocal','1088',NULL,NULL);\nINSERT INTO trackers VALUES('refersion','Refersion',1,'https://www.refersion.com/','refersion','2098',NULL,NULL);\nINSERT INTO trackers VALUES('refined_labs','Refined Labs',1,'http://www.refinedlabs.com','refined_labs','1175',NULL,NULL);\nINSERT INTO trackers VALUES('reflektion','Reflektion',1,NULL,'reflektion','2956',NULL,NULL);\nINSERT INTO trackers VALUES('reformal','Reformal',4,'http://reformal.ru/','reformal','1778',NULL,NULL);\nINSERT INTO trackers VALUES('reinvigorate','Reinvigorate',9,'http://www.reinvigorate.net/','media_temple','129',NULL,NULL);\nINSERT INTO trackers VALUES('rekko','Rekko',1,'http://convert.us/','rekko','814',NULL,NULL);\nINSERT INTO trackers VALUES('reklam_store','Reklam Store',1,'http://www.reklamstore.com','reklam_store','883',NULL,NULL);\nINSERT INTO trackers VALUES('reklamport','Reklamport',1,'http://www.reklamport.com/','reklamport','850',NULL,NULL);\nINSERT INTO trackers VALUES('reklamz','ReklamZ',1,'https://www.reklamz.com/','reklamz','859',NULL,NULL);\nINSERT INTO trackers VALUES('rekmob','Rekmob',1,NULL,'rekmob','2767',NULL,NULL);\nINSERT INTO trackers VALUES('relap','Relap',1,'https://relap.io/','relap','3023',NULL,NULL);\nINSERT INTO trackers VALUES('relay42','Relay42',11,'http://synovite.com','relay42','1269',NULL,NULL);\nINSERT INTO trackers VALUES('relestar','Relestar',9,NULL,'relestar','2326',NULL,NULL);\nINSERT INTO trackers VALUES('relevant4.com','relevant4 GmbH',7,'https://www.relevant4.com/',NULL,'3806',NULL,NULL);\nINSERT INTO trackers VALUES('relevant_digital','Relevant Digital',1,'https://www.relevant-digital.com/','relevant_digital','',NULL,NULL);\nINSERT INTO trackers VALUES('remintrex','Remintrex',1,'https://www.remintrex.com/',NULL,'3807',NULL,NULL);\nINSERT INTO trackers VALUES('remove.video','remove.video',5,NULL,NULL,'3808',NULL,NULL);\nINSERT INTO trackers VALUES('report_uri','Report URI',11,'https://report-uri.com','report_uri','',NULL,NULL);\nINSERT INTO trackers VALUES('repost.us','Repost.us',1,'https://www.freerangecontent.com/','repost','1033',NULL,NULL);\nINSERT INTO trackers VALUES('republer.com','Republer',1,'https://republer.com/','republer','3017',NULL,NULL);\nINSERT INTO trackers VALUES('res-meter','Res-meter',9,'http://respublica.al/res-meter','respublica','2206',NULL,NULL);\nINSERT INTO trackers VALUES('research_now','Research Now',1,'http://www.researchnow.com/','research_now','1727',NULL,NULL);\nINSERT INTO trackers VALUES('resonate_networks','Resonate Networks',1,'https://www.resonatenetworks.com/','resonate','1046',NULL,NULL);\nINSERT INTO trackers VALUES('respond','Respond',1,'http://respondhq.com/','respond','1340',NULL,NULL);\nINSERT INTO trackers VALUES('responsetap','ResponseTap',1,'http://www.adinsight.eu/','responsetap','889',NULL,NULL);\nINSERT INTO trackers VALUES('result_links','Result Links',1,'http://www.resultlinks.com/','result_links','447',NULL,NULL);\nINSERT INTO trackers VALUES('resultspage.com','SLI Systems',9,'https://www.sli-systems.com/','sli_systems','3809',NULL,NULL);\nINSERT INTO trackers VALUES('retailrocket.net','Retail Rocket',1,'https://retailrocket.net/','retail_rocket','2270',NULL,NULL);\nINSERT INTO trackers VALUES('retarget_app','Retarget App',1,NULL,'retargetapp','2818',NULL,NULL);\nINSERT INTO trackers VALUES('retargeter_beacon','ReTargeter Beacon',1,'http://www.retargeter.com/','retargeter','291',NULL,NULL);\nINSERT INTO trackers VALUES('retargeting.cl','Retargeting.cl',1,NULL,'retargeting','2614',NULL,NULL);\nINSERT INTO trackers VALUES('retention_science','Retention Science',1,NULL,'retention_science','2397',NULL,NULL);\nINSERT INTO trackers VALUES('reuters_media','Reuters media',6,'https://reuters.com',NULL,'3810',NULL,NULL);\nINSERT INTO trackers VALUES('revcontent','RevContent',1,'https://www.revcontent.com/','revcontent','2195',NULL,NULL);\nINSERT INTO trackers VALUES('reve_marketing','Reve Marketing',1,'http://tellafriend.socialtwist.com/','reve_marketing','201',NULL,NULL);\nINSERT INTO trackers VALUES('revenue','Revenue',1,NULL,'revenue','2475',NULL,NULL);\nINSERT INTO trackers VALUES('revenuehits','RevenueHits',1,'https://www.revenuehits.com/','revenuehits','1065',NULL,NULL);\nINSERT INTO trackers VALUES('revenuemantra','RevenueMantra',1,'http://www.revenuemantra.com/','revenuemantra','1246',NULL,NULL);\nINSERT INTO trackers VALUES('revive_adserver','Revive Adserver',1,'https://www.revive-adserver.com/','revive_adserver','3298',NULL,NULL);\nINSERT INTO trackers VALUES('revlifter','RevLifter',4,'https://www.revlifter.com/','revlifter','',NULL,NULL);\nINSERT INTO trackers VALUES('revolver_maps','Revolver Maps',9,'https://www.revolvermaps.com/','revolver_maps','980',NULL,NULL);\nINSERT INTO trackers VALUES('revresponse','RevResponse',1,'https://www.netline.com/','netline','1878',NULL,NULL);\nINSERT INTO trackers VALUES('rewords','ReWords',1,'http://www.rewords.pl/','rewords','2173',NULL,NULL);\nINSERT INTO trackers VALUES('rhythmone','RhythmOne',1,'http://www.nexxen.com/','nexxen','1344',NULL,NULL);\nINSERT INTO trackers VALUES('rhythmone_beacon','Rhythmone Beacon',1,NULL,'rythmone','2844',NULL,NULL);\nINSERT INTO trackers VALUES('ria.ru','ria.ru',7,'https://ria.ru/',NULL,'3811',NULL,NULL);\nINSERT INTO trackers VALUES('rich_audience','Rich Audience',1,'https://richaudience.com/','rich_audience','',NULL,NULL);\nINSERT INTO trackers VALUES('rich_media_banner_network','Rich Media Banner Network',1,'https://rmbn.ru/','rich_media_banner_network','1313',NULL,NULL);\nINSERT INTO trackers VALUES('richrelevance','Algonomy',4,'https://www.richrelevance.com/','algonomy','224',NULL,NULL);\nINSERT INTO trackers VALUES('ringier.ch','Ringier',9,'http://ringier.ch/en','ringier','3812',NULL,NULL);\nINSERT INTO trackers VALUES('rio_seo','Rio SEO',10,'http://www.meteorsolutions.com','rio_seo','623',NULL,NULL);\nINSERT INTO trackers VALUES('rise','Rise',1,'https://risecodes.com/','rise_code','',NULL,NULL);\nINSERT INTO trackers VALUES('riskfield.com','Riskified',4,'https://www.riskified.com/','riskfield','3813',NULL,NULL);\nINSERT INTO trackers VALUES('rncdn3.com','Reflected Networks',6,'http://www.rncdn3.com/',NULL,'3814',NULL,NULL);\nINSERT INTO trackers VALUES('ro2.biz','Ro2.biz',1,'http://ro2.biz/index.php?r=adikku','ro2.biz','1818',NULL,NULL);\nINSERT INTO trackers VALUES('roblox','Roblox',7,'https://www.roblox.com/',NULL,'3815',NULL,NULL);\nINSERT INTO trackers VALUES('rockerbox','Rockerbox',9,'https://www.rockerbox.com/privacy','rockerbox','3816',NULL,NULL);\nINSERT INTO trackers VALUES('rocket.ia','Rocket.ia',1,NULL,'rocket.la','2882',NULL,NULL);\nINSERT INTO trackers VALUES('roi_trax','ROI trax',1,'https://www.oneupweb.com/','oneupweb','840',NULL,NULL);\nINSERT INTO trackers VALUES('roistat','Roistat',9,NULL,'roistat','3225',NULL,NULL);\nINSERT INTO trackers VALUES('rollad','Rollad',1,'http://rollad.ru','rollad','1319',NULL,NULL);\nINSERT INTO trackers VALUES('rollbar','Rollbar',9,'https://www.rollbar.com/','rollbar','1828',NULL,NULL);\nINSERT INTO trackers VALUES('roost','Roost',9,'https://roost.me/','roost','2057',NULL,NULL);\nINSERT INTO trackers VALUES('rooster','Rooster',9,'https://www.getrooster.com/','rooster','2204',NULL,NULL);\nINSERT INTO trackers VALUES('roq.ad','Roq.ad',1,'https://www.roq.ad/','roq.ad','3817',NULL,NULL);\nINSERT INTO trackers VALUES('rotaban','RotaBan',1,'http://www.rotaban.ru/','rotaban','1770',NULL,NULL);\nINSERT INTO trackers VALUES('routenplaner-karten.com','Routenplaner Karten',4,'https://www.routenplaner-karten.com/',NULL,'3818',NULL,NULL);\nINSERT INTO trackers VALUES('rovion','Rovion',1,'http://www.rovion.com/','rovion','748',NULL,NULL);\nINSERT INTO trackers VALUES('rsspump','RSSPump',4,'http://www.rsspump.com','rsspump','1161',NULL,NULL);\nINSERT INTO trackers VALUES('rtb_house','RTB House',1,'http://en.adpilot.com/','rtb_house','1880',NULL,NULL);\nINSERT INTO trackers VALUES('rtblab','RTBmarkt',1,'https://www.rtbmarkt.de/en/home/','rtbmarkt','1196',NULL,NULL);\nINSERT INTO trackers VALUES('rtbsuperhub.com','rtbsuperhub.com',1,NULL,NULL,'3819',NULL,NULL);\nINSERT INTO trackers VALUES('rtl_group','RTL Group',7,NULL,'rtl_group','3820',NULL,NULL);\nINSERT INTO trackers VALUES('rtmark.net','Advertising Technologies Ltd',1,'http://rtmark.net/','big_wall_vision','3821',NULL,NULL);\nINSERT INTO trackers VALUES('rubicon','Magnite',1,'https://www.magnite.com/','magnite','60',NULL,NULL);\nINSERT INTO trackers VALUES('ruhrgebiet','Ruhrgebiet',1,NULL,'ruhrgebiet','2908',NULL,NULL);\nINSERT INTO trackers VALUES('rummycircle','RummyCircle',1,NULL,'rummycircle','2925',NULL,NULL);\nINSERT INTO trackers VALUES('run','RUN',1,'http://www.rundsp.com/','run','1947',NULL,NULL);\nINSERT INTO trackers VALUES('runative','Runative',1,'https://runative.com/',NULL,'3822',NULL,NULL);\nINSERT INTO trackers VALUES('rune','Rune',9,NULL,'rune_inc.','2700',NULL,NULL);\nINSERT INTO trackers VALUES('runmewivel.com','runmewivel.com',6,NULL,NULL,'3823',NULL,NULL);\nINSERT INTO trackers VALUES('rythmxchange','Rythmxchange',2,NULL,'rythmone','2323',NULL,NULL);\nINSERT INTO trackers VALUES('s24_com','Shopping24 internet group',1,'https://www.s24.com/',NULL,'3824',NULL,NULL);\nINSERT INTO trackers VALUES('s3xified.com','s3xified.com',7,NULL,NULL,'3825',NULL,NULL);\nINSERT INTO trackers VALUES('sabavision','SabaVision',1,NULL,'sabavision','2726',NULL,NULL);\nINSERT INTO trackers VALUES('sagemetrics','SageMetrics',1,'http://www.sagemetrics.com','ipmg','351',NULL,NULL);\nINSERT INTO trackers VALUES('sailthru_horizon','Sailthru Horizon',9,'https://www.sailthru.com','sailthru','983',NULL,NULL);\nINSERT INTO trackers VALUES('salecycle','SaleCycle',1,'https://www.salecycle.com/','salecycle','1130',NULL,NULL);\nINSERT INTO trackers VALUES('sales_feed','Sales Feed',1,NULL,'sales_feed','2557',NULL,NULL);\nINSERT INTO trackers VALUES('sales_manago','SALESmanago',9,'https://www.salesmanago.pl','sales_manago','2403',NULL,NULL);\nINSERT INTO trackers VALUES('salesforce.com','Salesforce',9,'https://www.salesforce.com/eu/','salesforce','62',NULL,NULL);\nINSERT INTO trackers VALUES('salesforce_live_agent','Salesforce Live Agent',4,'http://www.salesforce.com/','salesforce','1063',NULL,NULL);\nINSERT INTO trackers VALUES('salesfusion','SalesFUSION',1,'https://salesfusion.com/','salesfusion','1128',NULL,NULL);\nINSERT INTO trackers VALUES('salesloft','Salesloft',9,'https://www.salesloft.com/','salesloft','',NULL,NULL);\nINSERT INTO trackers VALUES('salespider_media','SaleSpider Media',1,'http://salespidermedia.com/','salespider_media','1621',NULL,NULL);\nINSERT INTO trackers VALUES('salesviewer','SalesViewer',9,'https://www.salesviewer.com/','salesviewer','2692',NULL,NULL);\nINSERT INTO trackers VALUES('samba.tv','Samba TV',1,'https://samba.tv/','samba_tv','2845',NULL,NULL);\nINSERT INTO trackers VALUES('sanoma.fi','Sanoma',1,'https://sanoma.com/','sanoma','995',NULL,NULL);\nINSERT INTO trackers VALUES('sap_crm','SAP CRM',9,'https://www.sap.com/products/crm.html','sap','2130',NULL,NULL);\nINSERT INTO trackers VALUES('sap_sales_cloud','SAP Sales Cloud',4,'http://leadforce1.com/','sap','219',NULL,NULL);\nINSERT INTO trackers VALUES('sap_xm','SAP Exchange Media',1,'http://sapexchange.media/',NULL,'3826',NULL,NULL);\nINSERT INTO trackers VALUES('sape.ru','Sape',9,NULL,'sape','3827',NULL,NULL);\nINSERT INTO trackers VALUES('sapo_ads','SAPO Ads',1,'https://www.sapo.pt/','sapo','1733',NULL,NULL);\nINSERT INTO trackers VALUES('sas','SAS',9,'https://www.sas.com/','sas','1407',NULL,NULL);\nINSERT INTO trackers VALUES('say.ac','Say.ac',1,'http://say.ac','say.ac','2075',NULL,NULL);\nINSERT INTO trackers VALUES('say_media','Say Media',1,'https://www.saymedia.com/','say_media','546',NULL,NULL);\nINSERT INTO trackers VALUES('sayyac','Sayyac',9,'http://www.sayyac.com/','sayyac','2082',NULL,NULL);\nINSERT INTO trackers VALUES('scarabresearch','Scarab Research',1,'https://www.scarabresearch.com/','emarsys','3206',NULL,NULL);\nINSERT INTO trackers VALUES('schibsted','Schibsted Media Group',7,'http://www.schibsted.com/','schibsted_asa','3829',NULL,NULL);\nINSERT INTO trackers VALUES('schneevonmorgen.com','Schnee von Morgen',2,'https://www.schneevonmorgen.com/',NULL,'3830',NULL,NULL);\nINSERT INTO trackers VALUES('scoota','Scoota',1,'http://scoota.com/','rockabox','2738',NULL,NULL);\nINSERT INTO trackers VALUES('scorecard_research_beacon','ScoreCard Research Beacon',9,'https://www.scorecardresearch.com/','comscore','187',NULL,NULL);\nINSERT INTO trackers VALUES('scout_analytics','Scout Analytics',1,'https://scoutanalytics.com/','scout_analytics','1109',NULL,NULL);\nINSERT INTO trackers VALUES('scribblelive','ScribbleLive',7,NULL,NULL,'3831',NULL,NULL);\nINSERT INTO trackers VALUES('scribol','Scribol',1,'https://scribol.com/','scribol','662',NULL,NULL);\nINSERT INTO trackers VALUES('scripps_analytics','Scripps Analytics',9,NULL,'scripps_networks','3035',NULL,NULL);\nINSERT INTO trackers VALUES('scroll','Scroll',11,'https://scroll.com/','scroll','3227',NULL,NULL);\nINSERT INTO trackers VALUES('scupio','Scupio',1,'http://ad.scupio.com/','bridgewell','1338',NULL,NULL);\nINSERT INTO trackers VALUES('search123','Search123',1,'http://www.search123.com/','search123','1796',NULL,NULL);\nINSERT INTO trackers VALUES('searchforce','SearchForce',1,'http://www.searchforce.com/','searchforce','221',NULL,NULL);\nINSERT INTO trackers VALUES('searchignite','SearchIgnite',1,'https://searchignite.com/','zeta','308',NULL,NULL);\nINSERT INTO trackers VALUES('searchrev','SearchRev',1,'http://www.searchrev.com/','searchrev','338',NULL,NULL);\nINSERT INTO trackers VALUES('second_media','Second Media',1,'https://www.secondmedia.com/','second_media','2067',NULL,NULL);\nINSERT INTO trackers VALUES('securedtouch','SecuredTouch',9,'https://www.securedtouch.com/',NULL,'3832',NULL,NULL);\nINSERT INTO trackers VALUES('securedvisit','SecuredVisit',1,'http://securedvisit.com/','securedvisit','1335',NULL,NULL);\nINSERT INTO trackers VALUES('securiti','Securiti CMP',3,'https://securiti.ai/products/consent-management-platform/','securiti','',NULL,NULL);\nINSERT INTO trackers VALUES('seeding_alliance','Seeding Alliance',1,'http://seeding-alliance.de','stroer','3207',NULL,NULL);\nINSERT INTO trackers VALUES('seedtag.com','Seedtag',1,'https://www.seedtag.com/en/','seedtag','3833',NULL,NULL);\nINSERT INTO trackers VALUES('seevolution','SeeVolution',9,'http://www.seevolution.com','seevolution','352',NULL,NULL);\nINSERT INTO trackers VALUES('segment','Segment',9,'https://segment.io/','twilio','',NULL,NULL);\nINSERT INTO trackers VALUES('segmento','Segmento',1,'https://segmento.ru/en','segmento','1231',NULL,NULL);\nINSERT INTO trackers VALUES('segmint','Segmint',9,'https://www.segmint.com/','segmint','1540',NULL,NULL);\nINSERT INTO trackers VALUES('sekindo','Sekindo',1,'http://www.sekindo.com/','sekindo','1174',NULL,NULL);\nINSERT INTO trackers VALUES('sellpoints','Sellpoints',1,'https://www.sellpoints.com/','sellpoints','1674',NULL,NULL);\nINSERT INTO trackers VALUES('semantiqo.com','Semantiqo',1,'https://semantiqo.com/',NULL,'3834',NULL,NULL);\nINSERT INTO trackers VALUES('semasio','Semasio',1,'https://semasio.com/','semasio','1195',NULL,NULL);\nINSERT INTO trackers VALUES('semilo','Semilo',1,'https://www.semilo.nl/','semilo','1270',NULL,NULL);\nINSERT INTO trackers VALUES('semknox.com','SEMKNOX GmbH',11,'https://semknox.com/',NULL,'3835',NULL,NULL);\nINSERT INTO trackers VALUES('sendinblue','sendinblue',1,NULL,'sendinblue','3196',NULL,NULL);\nINSERT INTO trackers VALUES('sendpulse.com','SendPulse',8,'https://sendpulse.com/',NULL,'3836',NULL,NULL);\nINSERT INTO trackers VALUES('sendsay','Sendsay',4,NULL,'sendsay','3242',NULL,NULL);\nINSERT INTO trackers VALUES('sense_digital','Sense Digital',9,NULL,'sense_digital','2723',NULL,NULL);\nINSERT INTO trackers VALUES('sensors_data','Sensors Data',9,NULL,'sensors_data','3288',NULL,NULL);\nINSERT INTO trackers VALUES('sentifi.com','Sentifi',9,'https://sentifi.com/','sentifi','3837',NULL,NULL);\nINSERT INTO trackers VALUES('sentry','Sentry',11,'https://sentry.io/','sentry','1754',NULL,NULL);\nINSERT INTO trackers VALUES('sentry_replay','Sentry Session Replay',9,'https://sentry.io/','sentry','',NULL,'sentry');\nINSERT INTO trackers VALUES('sepyra','Sepyra',1,'http://sepyra.com/','sepyra','1723',NULL,NULL);\nINSERT INTO trackers VALUES('sessioncam','SessionCam',9,'https://www.sessioncam.com/','sessioncam','1379',NULL,NULL);\nINSERT INTO trackers VALUES('sessionly','Sessionly',4,NULL,'sessionly','3245',NULL,NULL);\nINSERT INTO trackers VALUES('sevenone_media','SevenOne Media',1,NULL,NULL,'3838',NULL,NULL);\nINSERT INTO trackers VALUES('sexadnetwork','SexAdNetwork',8,'http://www.sexadnetwork.com/','sexadnetwork','1071',NULL,NULL);\nINSERT INTO trackers VALUES('sexinyourcity','SexInYourCity',8,'http://www.sexinyourcity.com/','sexinyourcity','77',NULL,NULL);\nINSERT INTO trackers VALUES('sextracker','SexTracker',8,'http://webmasters.sextracker.com/','sextracker','927',NULL,NULL);\nINSERT INTO trackers VALUES('sexypartners.net','sexypartners.net',8,NULL,NULL,'3839',NULL,NULL);\nINSERT INTO trackers VALUES('seznam','Seznam',9,NULL,'seznam','2707',NULL,NULL);\nINSERT INTO trackers VALUES('shareaholic','Shareaholic',9,'https://www.shareaholic.com/','shareaholic','1421',NULL,NULL);\nINSERT INTO trackers VALUES('shareasale','ShareASale',1,'https://www.shareasale.com/','shareasale','595',NULL,NULL);\nINSERT INTO trackers VALUES('sharecompany','ShareCompany',4,'http://sharecompany.nl','sharecompany','2200',NULL,NULL);\nINSERT INTO trackers VALUES('sharepoint','Microsoft SharePoint',4,'https://products.office.com/en-us/sharepoint/sharepoint-online-collaboration-software','microsoft','3840',NULL,NULL);\nINSERT INTO trackers VALUES('sharethis','ShareThis',1,'https://sharethis.com/','sharethis','52',NULL,NULL);\nINSERT INTO trackers VALUES('sharethrough','ShareThrough',1,'https://www.sharethrough.com/','sharethrough','1368',NULL,NULL);\nINSERT INTO trackers VALUES('sharpspring','Sharpspring',9,NULL,'sharpspring','2467',NULL,NULL);\nINSERT INTO trackers VALUES('sheego.de','sheego.de',7,NULL,NULL,'3841',NULL,NULL);\nINSERT INTO trackers VALUES('sheerid','SheerID',1,NULL,'sheerid','2415',NULL,NULL);\nINSERT INTO trackers VALUES('shillahotel','Hotel Shilla',9,'https://www.hotelshilla.net/','samsung','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_ai','Shinhan AI',4,'https://www.shinhands.co.kr/shinhan/shinhan-ai','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_bank','Shinhan Bank',4,'https://www.shinhan.com/en/index.jsp','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_capital','Shinhan Life Insurance',4,'https://www.shcap.co.kr/en/EN010000.do','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_card','Shinhan Card',4,'https://www.shinhancard.com/pconts/html/main.html?_refer=','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_credit_information','Shinhan Credit Information',4,'https://www.shinhanci.co.kr/','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_ds','Shinhan Digital Solutions',4,'https://www.shinhands.co.kr/','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_ez_general_insurance','Shinhan EZ General Insurance',4,'https://www.shinhanez.co.kr/static/man/MAIN0000M01.html','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_fund','Shinhan Asset Management',4,'https://www.shinhanfund.com/en/main','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_fund_partners','Shinhan Fund Partners',4,'https://www.shinhanfundpartners.com/?lang=en','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_life_insurance','Shinhan Life Insurance',4,'https://www.shinhanlife.co.kr/hp/cdha0010.do','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_reits_management','Shinhan REITs Management',4,'http://www.shinhanrem.com/','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_savings','Shinhan Savings Bank',4,'https://www.shinhansavings.com/CM_0066','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_securities','Shinhan Securities',4,'https://open.shinhansec.com/new_eng/','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_trust','Shinhan Asset Trust',4,'https://www.shinhantrust.kr/','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinhan_vc','Shinhan Venture Investment',4,'https://www.shinhanvc.com/en','shinhan_financial_group','',NULL,NULL);\nINSERT INTO trackers VALUES('shinsegae','Shinsegae',9,'https://www.shinsegae.com/','shinsegae','',NULL,NULL);\nINSERT INTO trackers VALUES('shinsegae_dutyfree','Shinsegae Duty Free',9,'https://www.ssgdfs.com/kr/main/initMain','shinsegae','',NULL,NULL);\nINSERT INTO trackers VALUES('shinystat','ShinyStat',9,'https://www.shinystat.com/','shinystat','194',NULL,NULL);\nINSERT INTO trackers VALUES('shogun','Shogun',6,'https://getshogun.com/','shogun_labs','',NULL,NULL);\nINSERT INTO trackers VALUES('shogun_analytics','Shogun Analytics',9,'https://getshogun.com/help/en/articles/3054981-get-more-from-your-pages-with-analytics','shogun_labs','',NULL,NULL);\nINSERT INTO trackers VALUES('shop_app','Shopify App',4,'https://shop.app/','shopify','',NULL,NULL);\nINSERT INTO trackers VALUES('shop_target','Shop Target',1,NULL,'shopback','2538',NULL,NULL);\nINSERT INTO trackers VALUES('shopauskunft.de','ShopAuskunft.de',4,'https://shopauskunft.de/',NULL,'3842',NULL,NULL);\nINSERT INTO trackers VALUES('shopgate.com','Shopgate',4,'https://www.shopgate.com/',NULL,'3843',NULL,NULL);\nINSERT INTO trackers VALUES('shopify_stats','Shopify Stats',9,'https://www.shopify.com/','shopify','1272',NULL,NULL);\nINSERT INTO trackers VALUES('shopifycdn.com','Shopify CDN',6,'https://www.shopify.com/','shopify','3064',NULL,NULL);\nINSERT INTO trackers VALUES('shopifycloud.com','Shopify Cloud',6,'https://www.shopify.com/','shopify','3844',NULL,NULL);\nINSERT INTO trackers VALUES('shopper_approved','Shopper Approved',4,NULL,'shopper_approved','2309',NULL,NULL);\nINSERT INTO trackers VALUES('shopping_com','Shopping.com',1,NULL,'ebay_partner_network','3845',NULL,NULL);\nINSERT INTO trackers VALUES('shopping_flux','Shopping Flux',9,'https://www.shopping-flux.com/','shopping_flux','1668',NULL,NULL);\nINSERT INTO trackers VALUES('shoprunner','ShopRunner',4,'https://www.shoprunner.com','shoprunner','1522',NULL,NULL);\nINSERT INTO trackers VALUES('shopsocially','ShopSocially',4,'http://shopsocially.com/','shopsocially','1619',NULL,NULL);\nINSERT INTO trackers VALUES('shopzilla','Shopzilla',1,'https://www.shopzilla.com/','shopzilla','820',NULL,NULL);\nINSERT INTO trackers VALUES('shortnews','ShortNews.de',7,'http://www.shortnews.de/#',NULL,'3846',NULL,NULL);\nINSERT INTO trackers VALUES('shrink','Shrink',4,NULL,'shrink.in','2630',NULL,NULL);\nINSERT INTO trackers VALUES('shutterstock','Shutterstock',7,'https://www.shutterstock.com/','shutterstock_inc','3847',NULL,NULL);\nINSERT INTO trackers VALUES('siblesectiveal.club','siblesectiveal.club',7,NULL,NULL,'3848',NULL,NULL);\nINSERT INTO trackers VALUES('sidecar','Sidecar',9,'http://hello.getsidecar.com/','sidecar','1505',NULL,NULL);\nINSERT INTO trackers VALUES('sift_science','Sift Science',11,'https://siftscience.com/','sift_science','1637',NULL,NULL);\nINSERT INTO trackers VALUES('signal','Signal',11,'https://www.signal.co/','signal_digital','508',NULL,NULL);\nINSERT INTO trackers VALUES('signifyd','Signifyd',9,NULL,'signifyd','2935',NULL,NULL);\nINSERT INTO trackers VALUES('silverpop','Silverpop',4,'http://www.silverpop.com/','ibm','162',NULL,NULL);\nINSERT INTO trackers VALUES('similardeals.net','SimilarDeals',7,'http://www.similardeals.net/',NULL,'3849',NULL,NULL);\nINSERT INTO trackers VALUES('simple_analytics','Simple Analytics',11,'https://www.simpleanalytics.com/','simple_analytics','',NULL,NULL);\nINSERT INTO trackers VALUES('simplereach','SimpleReach',9,'https://www.nativo.com/simplereach','nativo','1193',NULL,NULL);\nINSERT INTO trackers VALUES('simpli.fi','Simpli.fi',1,'http://www.simpli.fi','simpli.fi','486',NULL,NULL);\nINSERT INTO trackers VALUES('sina_cdn','Sina CDN',6,'https://www.sina.com.cn/','sina','3850',NULL,NULL);\nINSERT INTO trackers VALUES('singlefeed','SingleFeed',1,'https://www.singlefeed.com/','singlefeed','816',NULL,NULL);\nINSERT INTO trackers VALUES('singular','Singular',9,'https://www.singular.net/privacy-policy/','singular_labs','',NULL,NULL);\nINSERT INTO trackers VALUES('sirdata','Sirdata',9,NULL,'sirdata','2659',NULL,NULL);\nINSERT INTO trackers VALUES('site24x7','Site24x7',9,'https://www.site24x7.com/','zoho_corp','3851',NULL,NULL);\nINSERT INTO trackers VALUES('site_booster','Site Booster',10,NULL,'site_booster','3136',NULL,NULL);\nINSERT INTO trackers VALUES('site_stratos','Site Stratos',1,NULL,'infocube','2526',NULL,NULL);\nINSERT INTO trackers VALUES('siteapps','SiteApps',4,'http://siteapps.com','siteapps','1564',NULL,NULL);\nINSERT INTO trackers VALUES('sitebro','SiteBro',9,'http://www.sitebro.net/','sitebro','606',NULL,NULL);\nINSERT INTO trackers VALUES('sitecore_cloud','Sitecore Cloud',11,'https://www.sitecore.com/','sitecore','',NULL,NULL);\nINSERT INTO trackers VALUES('siteheart','SiteHeart',4,'https://siteheart.com/','siteheart','1408',NULL,NULL);\nINSERT INTO trackers VALUES('siteimprove','Siteimprove',9,'http://siteimprove.com','siteimprove','966',NULL,NULL);\nINSERT INTO trackers VALUES('siteimprove_analytics','Siteimprove Analytics',9,'https://www.siteimprove.com/','siteimprove','2452',NULL,NULL);\nINSERT INTO trackers VALUES('sitelabweb.com','sitelabweb.com',7,NULL,NULL,'3852',NULL,NULL);\nINSERT INTO trackers VALUES('sitemeter','SiteMeter',9,'http://www.sitemeter.com/','sitemeter,_inc.','17',NULL,NULL);\nINSERT INTO trackers VALUES('sitescout','SiteScout by Centro',1,'http://www.sitescout.com','centro','860',NULL,NULL);\nINSERT INTO trackers VALUES('sitetag','SiteTag',4,'http://www.sitetag.us/','sitetag','1706',NULL,NULL);\nINSERT INTO trackers VALUES('sitewit','SiteWit',1,'http://www.sitewit.com/','sitewit','1671',NULL,NULL);\nINSERT INTO trackers VALUES('six_apart_advertising','Six Apart Advertising',1,'http://www.sixapart.com/advertising/','six_apart','86',NULL,NULL);\nINSERT INTO trackers VALUES('sixt-neuwagen.de','sixt-neuwagen.de',7,NULL,NULL,'3853',NULL,NULL);\nINSERT INTO trackers VALUES('skadtec.com','GP One GmbH',9,'https://www.gp-one.com/',NULL,'3854',NULL,NULL);\nINSERT INTO trackers VALUES('skimlinks','SkimLinks',1,'http://www.skimlinks.com/','skimlinks','375',NULL,NULL);\nINSERT INTO trackers VALUES('skroutz','Skroutz',9,NULL,'skroutz','3241',NULL,NULL);\nINSERT INTO trackers VALUES('skyglue','SkyGlue',9,'https://www.skyglue.com/','skyglue_technology','1654',NULL,NULL);\nINSERT INTO trackers VALUES('skype','Skype',4,'http://www.skype.com','microsoft','1991',NULL,NULL);\nINSERT INTO trackers VALUES('skysa','Skysa',4,'http://www.skysa.com/','skysa','1632',NULL,NULL);\nINSERT INTO trackers VALUES('skyscanner','Skyscanner',4,'https://www.skyscanner.com','trip_com','',NULL,NULL);\nINSERT INTO trackers VALUES('skyscnr.com','Skyscanner CDN',6,'https://www.skyscanner.net/','trip_com','3855',NULL,NULL);\nINSERT INTO trackers VALUES('slashdot_widget','Slashdot Widget',4,'http://slashdot.org','slashdot','929',NULL,NULL);\nINSERT INTO trackers VALUES('sleeknote','Sleeknote',4,'https://sleeknote.com/','sleeknote','2653',NULL,NULL);\nINSERT INTO trackers VALUES('sli_systems','SLI Systems',4,'http://www.sli-systems.com','sli_systems','1552',NULL,NULL);\nINSERT INTO trackers VALUES('slice_factory','Slice Factory',4,'https://www.slicefactory.com/','slice_factory','845',NULL,NULL);\nINSERT INTO trackers VALUES('slimcutmedia','SlimCutMedia',9,NULL,'slimcutmedia','2905',NULL,NULL);\nINSERT INTO trackers VALUES('slingpic','Slingpic',1,'http://slingpic.com/','affectv','1824',NULL,NULL);\nINSERT INTO trackers VALUES('smaato','Smaato',1,'https://www.smaato.com/','smaato','1647',NULL,NULL);\nINSERT INTO trackers VALUES('smart4ads','smart4ads',1,'http://www.smart4ads.com','smart4ads','1159',NULL,NULL);\nINSERT INTO trackers VALUES('smart_adserver','Smart AdServer',1,'https://www.equativ.com/','equativ','502',NULL,NULL);\nINSERT INTO trackers VALUES('smart_call','Smart Call',4,NULL,'smart_call','3021',NULL,NULL);\nINSERT INTO trackers VALUES('smart_content','Smart Content',1,'http://www.getsmartcontent.com','get_smart_content','1220',NULL,NULL);\nINSERT INTO trackers VALUES('smart_device_media','Smart Device Media',1,'http://www.smartdevicemedia.com/','smart_device_media','1456',NULL,NULL);\nINSERT INTO trackers VALUES('smart_leads','Smart Leads',1,'http://www.cnt.my/','smart_leads','1848',NULL,NULL);\nINSERT INTO trackers VALUES('smart_selling','Smart Selling',4,NULL,'smart_selling','3182',NULL,NULL);\nINSERT INTO trackers VALUES('smartad','smartAD',1,'http://smartad.eu/','smartad','1326',NULL,NULL);\nINSERT INTO trackers VALUES('smartbn','SmartBN',1,'http://smartbn.ru/','smartbn','1320',NULL,NULL);\nINSERT INTO trackers VALUES('smartclick.net','SmartClick',1,'http://smartclick.net/',NULL,'3856',NULL,NULL);\nINSERT INTO trackers VALUES('smartclip','SmartClip',1,NULL,'smartclip','2347',NULL,NULL);\nINSERT INTO trackers VALUES('smartcontext','SmartContext',1,'https://smartcontext.pl/','smartcontext','1021',NULL,NULL);\nINSERT INTO trackers VALUES('smarter_remarketer','SmarterHQ',1,'https://smarterhq.com','smarterhq','1545',NULL,NULL);\nINSERT INTO trackers VALUES('smarter_travel','Smarter Travel Media',1,'https://www.smartertravel.com/','iac_apps','3857',NULL,NULL);\nINSERT INTO trackers VALUES('smarterclick','Smarterclick',1,NULL,'smarter_click','2965',NULL,NULL);\nINSERT INTO trackers VALUES('smartertrack','SmarterTrack',1,'https://www.smartertrack.com/','smartertrack','2079',NULL,NULL);\nINSERT INTO trackers VALUES('smartlink.cool','smartlink.cool',7,NULL,NULL,'3858',NULL,NULL);\nINSERT INTO trackers VALUES('smartlog','Smartlog',9,'https://smlog.co.kr/','squares','',NULL,NULL);\nINSERT INTO trackers VALUES('smartlook','Smartlook',4,NULL,'smartlook','2638',NULL,NULL);\nINSERT INTO trackers VALUES('smartseer','SMARTSEER',9,'https://smartseer.com/','smartseer','',NULL,NULL);\nINSERT INTO trackers VALUES('smartstream.tv','SmartStream.TV',1,'https://www.smartstream.tv/en','smartstream','3859',NULL,NULL);\nINSERT INTO trackers VALUES('smartsupp_chat','Smartsupp Chat',4,NULL,'smartsuppp','2778',NULL,NULL);\nINSERT INTO trackers VALUES('smi2.ru','smi2.ru',9,'https://smi2.net/','media2_stat.media','3249',NULL,NULL);\nINSERT INTO trackers VALUES('smile_wanted','Smile Wanted',1,'https://www.smilewanted.com/','smile_wanted','',NULL,NULL);\nINSERT INTO trackers VALUES('smooch','Smooch',4,NULL,'smooch','2650',NULL,NULL);\nINSERT INTO trackers VALUES('smowtion','Smowtion',1,'http://www.smowtion.com/','smowtion','597',NULL,NULL);\nINSERT INTO trackers VALUES('smx_ventures','SMX Ventures',9,NULL,'smx_ventures','2722',NULL,NULL);\nINSERT INTO trackers VALUES('smyte','Smyte',9,'https://www.smyte.com/','smyte','3201',NULL,NULL);\nINSERT INTO trackers VALUES('snacktv','SnackTV',9,NULL,'verizon','2519',NULL,NULL);\nINSERT INTO trackers VALUES('snacktv_player','SnackTV-Player',2,NULL,'verizon','2518',NULL,'snacktv');\nINSERT INTO trackers VALUES('snap','Snap',4,'https://www.snap.com/','snap_technologies','21',NULL,NULL);\nINSERT INTO trackers VALUES('snap_engage','Snap Engage',4,'https://snapengage.com/','snap_engage','2294',NULL,NULL);\nINSERT INTO trackers VALUES('snapchat','Snapchat For Business',1,'https://www.snapchat.com/','snap_technologies','3132',NULL,NULL);\nINSERT INTO trackers VALUES('snigelweb','SnigelWeb, Inc.',1,'http://www.snigelweb.com/','snigelweb_inc','3860',NULL,NULL);\nINSERT INTO trackers VALUES('snitcher','Snitcher',9,'https://www.snitcher.com/','snitcher','',NULL,NULL);\nINSERT INTO trackers VALUES('snoobi','Snoobi',9,NULL,'snoobi','2728',NULL,NULL);\nINSERT INTO trackers VALUES('snoobi_analytics','Snoobi Analytics',9,'http://www.snoobi.com/','snoobi_oy','191',NULL,NULL);\nINSERT INTO trackers VALUES('snowplow','Snowplow',9,'https://snowplow.io/','snowplow','2671',NULL,NULL);\nINSERT INTO trackers VALUES('soasta_mpulse','mPulse',9,'https://www.akamai.com/products/mpulse-real-user-monitoring','akamai','1610',NULL,NULL);\nINSERT INTO trackers VALUES('sociable_labs','Sociable Labs',1,'https://www.sociablelabs.com/','sociable_labs','1575',NULL,NULL);\nINSERT INTO trackers VALUES('social_amp','Social Amp',1,'http://www.merkleinc.com/','dentsu_aegis_network','1665',NULL,NULL);\nINSERT INTO trackers VALUES('social_annex','Social Annex',1,'http://www.socialannex.com','social_annex','1162',NULL,NULL);\nINSERT INTO trackers VALUES('social_miner','Social Miner',10,'https://socialminer.com/','social_miner','2760',NULL,NULL);\nINSERT INTO trackers VALUES('social_native','Social Native CDN',6,'https://www.socialnative.com/','social_native','',NULL,NULL);\nINSERT INTO trackers VALUES('socialbeat','socialbeat',1,NULL,'socialbeat','3140',NULL,NULL);\nINSERT INTO trackers VALUES('socialhead_socialwidget','Socialhead Socialwidget',10,'https://socialhead.io/','onecommerce','',NULL,NULL);\nINSERT INTO trackers VALUES('socialrms','SocialRMS',10,'http://socialinterface.com/socialrms/','socialinterface','824',NULL,NULL);\nINSERT INTO trackers VALUES('socialsnowball','Social Snowball Affiliates',9,'https://api.socialsnowball.io/','socialsnowball','',NULL,NULL);\nINSERT INTO trackers VALUES('sociaplus.com','SociaPlus',9,'https://sociaplus.com/',NULL,'3861',NULL,NULL);\nINSERT INTO trackers VALUES('sociomantic','Sociomantic',1,'http://www.sociomantic.com/','sociomantic_labs_gmbh','849',NULL,NULL);\nINSERT INTO trackers VALUES('sohu','Sohu',10,'http://www.sohu.com','sohu','2193',NULL,NULL);\nINSERT INTO trackers VALUES('sojern','Sojern',1,'https://www.sojern.com/','sojern','1698',NULL,NULL);\nINSERT INTO trackers VALUES('sokrati','Sokrati',1,'http://sokrati.com/','sokrati','1295',NULL,NULL);\nINSERT INTO trackers VALUES('solads.media','solads.media',1,'https://solads.media/',NULL,'3862',NULL,NULL);\nINSERT INTO trackers VALUES('solidopinion','SolidOpinion',4,NULL,'solidopinion','3286',NULL,NULL);\nINSERT INTO trackers VALUES('solve_media','Solve Media',1,'http://solvemedia.com/','solve_media','1563',NULL,NULL);\nINSERT INTO trackers VALUES('soma_2','SOMA 2',1,'http://www.webcombi.de/','soma_2_gmbh','1784',NULL,NULL);\nINSERT INTO trackers VALUES('somoaudience','SoMo Audience',1,'https://somoaudience.com/','somoaudience','3863',NULL,NULL);\nINSERT INTO trackers VALUES('sonobi','Sonobi',1,'https://sonobi.com/','sonobi','917',NULL,NULL);\nINSERT INTO trackers VALUES('sophus3','Sophus3',1,'https://www.sophus3.com/','sophus3','714',NULL,NULL);\nINSERT INTO trackers VALUES('sortable','Sortable',1,'https://sortable.com/','sortable','3046',NULL,NULL);\nINSERT INTO trackers VALUES('soundcloud','SoundCloud',2,'https://soundcloud.com/','soundcloud','1068',NULL,NULL);\nINSERT INTO trackers VALUES('source_defense','Source Defense',11,'https://sourcedefense.com','source_defense','',NULL,NULL);\nINSERT INTO trackers VALUES('sourceknowledge_pixel','SourceKnowledge Pixel',1,'http://www.provenpixel.com/','sourceknowledge','1700',NULL,NULL);\nINSERT INTO trackers VALUES('sourcepoint-cmp','Sourcepoint CMP',3,'https://sourcepoint.com/cmp/','didomi','',NULL,NULL);\nINSERT INTO trackers VALUES('sourcepoint','Sourcepoint',1,'https://www.sourcepoint.com/','didomi','3262',NULL,NULL);\nINSERT INTO trackers VALUES('sovrn','sovrn',1,'https://www.sovrn.com/','sovrn','18',NULL,NULL);\nINSERT INTO trackers VALUES('sovrn_viewability_solutions','Sovrn Signal',1,'https://www.sovrn.com/publishers/signal/','sovrn','1763',NULL,NULL);\nINSERT INTO trackers VALUES('spark_studios','Spark Studios',2,'http://www.sparkstudios.com/','spark_studios','549',NULL,NULL);\nINSERT INTO trackers VALUES('sparkasse.de','sparkasse.de',7,NULL,NULL,'3865',NULL,NULL);\nINSERT INTO trackers VALUES('speakpipe','SpeakPipe',4,'https://www.speakpipe.com/','speakpipe','1604',NULL,NULL);\nINSERT INTO trackers VALUES('specific_media','Specific Media',1,'http://www.specificmedia.com','specific_media','455',NULL,NULL);\nINSERT INTO trackers VALUES('spectate','Spectate',9,'http://spectate.com/','spectate','699',NULL,NULL);\nINSERT INTO trackers VALUES('speed_shift_media','Speed Shift Media',1,'https://www.speedshiftmedia.com/','speed_shift_media','1692',NULL,NULL);\nINSERT INTO trackers VALUES('speedcurve','SpeedCurve',9,'https://speedcurve.com/',NULL,'3866',NULL,NULL);\nINSERT INTO trackers VALUES('speedyads','SpeedyAds',1,'https://www.entireweb.com/speedyads/','entireweb','674',NULL,NULL);\nINSERT INTO trackers VALUES('speee','Speee',1,'https://speee.jp','speee','3003',NULL,NULL);\nINSERT INTO trackers VALUES('sphere','Sphere',1,'http://www.sphere.com/','verizon','63',NULL,NULL);\nINSERT INTO trackers VALUES('spheremall','SphereMall',9,NULL,'spheremall','3236',NULL,NULL);\nINSERT INTO trackers VALUES('sphereup','SphereUp',4,NULL,'zoomd','2919',NULL,NULL);\nINSERT INTO trackers VALUES('spicy','Spicy',1,NULL,'spicy_ssp','3025',NULL,NULL);\nINSERT INTO trackers VALUES('spider.ad','Spider.Ad',1,'http://spider.ad/','spider.ad','1571',NULL,NULL);\nINSERT INTO trackers VALUES('spider_ads','Spider Ads',1,NULL,'spiderads','2591',NULL,NULL);\nINSERT INTO trackers VALUES('spinnakr','Spinnakr',9,'http://spinnakr.com/','spinnakr','1833',NULL,NULL);\nINSERT INTO trackers VALUES('spokenlayer','SpokenLayer',2,'http://www.spokenlayer.com','spokenlayer','2061',NULL,NULL);\nINSERT INTO trackers VALUES('spongecell','Spongecell',1,'http://www.spongecell.com/','spongecell','528',NULL,NULL);\nINSERT INTO trackers VALUES('sponsorads.de','SponsorAds.de',1,'http://sponsorads.de','sponsorads.de','602',NULL,NULL);\nINSERT INTO trackers VALUES('sportsbet_affiliates','Sportsbet Affiliates',1,'https://www.sportsbetaffiliates.com.au/','sportsbet_affiliates','1870',NULL,NULL);\nINSERT INTO trackers VALUES('spot.im','Spot.IM',10,'https://www.spot.im/','spot.im','2194',NULL,NULL);\nINSERT INTO trackers VALUES('spoteffect','Spoteffect',9,NULL,'spoteffect','2783',NULL,NULL);\nINSERT INTO trackers VALUES('spotify','Spotify',2,'https://www.spotify.com/','spotify','3867',NULL,NULL);\nINSERT INTO trackers VALUES('spotify_ad_analytics','Spotify Ad Analytics',9,'https://help.adanalytics.spotify.com/about-ad-analytics','spotify','',NULL,NULL);\nINSERT INTO trackers VALUES('spotify_embed','Spotify Embed',2,'https://www.spotify.com','spotify','1067',NULL,NULL);\nINSERT INTO trackers VALUES('spotler_activate','Spotler Activate',1,'https://spotleractivate.com','spotler_group','',NULL,NULL);\nINSERT INTO trackers VALUES('spotscenered.info','spotscenered.info',7,NULL,NULL,'3868',NULL,NULL);\nINSERT INTO trackers VALUES('spotxchange','SpotX',1,'https://www.spotx.tv/','rtl_group','503',NULL,NULL);\nINSERT INTO trackers VALUES('spoutable','Spoutable',1,'http://spoutable.com/','spoutable','2472',NULL,NULL);\nINSERT INTO trackers VALUES('sprig','Sprig',4,'https://sprig.com/','sprig','',NULL,NULL);\nINSERT INTO trackers VALUES('springboard','SpringBoard',1,'http://home.springboardplatform.com/','springboard','2191',NULL,NULL);\nINSERT INTO trackers VALUES('springserve','SpringServe',1,NULL,'springserve','2754',NULL,NULL);\nINSERT INTO trackers VALUES('sprinklr','Sprinklr',9,'https://www.sprinklr.com/','sprinklr','2876',NULL,NULL);\nINSERT INTO trackers VALUES('sputnik','Sputnik',9,NULL,'sputnik','2961',NULL,NULL);\nINSERT INTO trackers VALUES('squadata','Squadata',1,'http://www.email-match.net/','squadata','2145',NULL,NULL);\nINSERT INTO trackers VALUES('squarespace.com','Squarespace',6,'https://www.squarespace.com/','squarespace','3869',NULL,NULL);\nINSERT INTO trackers VALUES('srvtrck.com','srvtrck.com',5,NULL,NULL,'3870',NULL,NULL);\nINSERT INTO trackers VALUES('srvvtrk.com','srvvtrk.com',7,NULL,NULL,'3871',NULL,NULL);\nINSERT INTO trackers VALUES('sstatic.net','Stack Exchange',6,'https://sstatic.net/',NULL,'3872',NULL,NULL);\nINSERT INTO trackers VALUES('st-hatena','Hatena',10,'https://www.hatena.ne.jp/','hatena_jp','1532',NULL,NULL);\nINSERT INTO trackers VALUES('stackadapt','StackAdapt',1,NULL,'stackadapt','2774',NULL,NULL);\nINSERT INTO trackers VALUES('stackpathdns.com','StackPath',6,'https://www.stackpath.com/',NULL,'3873',NULL,NULL);\nINSERT INTO trackers VALUES('stailamedia_com','stailamedia.com',1,'https://stailamedia.com/',NULL,'3874',NULL,NULL);\nINSERT INTO trackers VALUES('stalluva.pro','stalluva.pro',7,NULL,NULL,'3875',NULL,NULL);\nINSERT INTO trackers VALUES('startapp','StartApp',1,'https://www.startapp.com/',NULL,'3876',NULL,NULL);\nINSERT INTO trackers VALUES('stat24','Stat24',9,'http://www.stat24.com/en/','stat24','1022',NULL,NULL);\nINSERT INTO trackers VALUES('stat4u','stat4u',9,'http://stat.4u.pl/','stat4u','312',NULL,NULL);\nINSERT INTO trackers VALUES('statcounter','Statcounter',9,'https://www.statcounter.com/','statcounter','22',NULL,NULL);\nINSERT INTO trackers VALUES('stathat','StatHat',9,'http://www.stathat.com/','stathat','1404',NULL,NULL);\nINSERT INTO trackers VALUES('statisfy','Statisfy',9,'http://www.statisfy.com/','statisfy','5',NULL,NULL);\nINSERT INTO trackers VALUES('statsy.net','statsy.net',7,NULL,NULL,'3877',NULL,NULL);\nINSERT INTO trackers VALUES('statuscake','StatusCake',9,'https://www.statuscake.com/','statuscake','1838',NULL,NULL);\nINSERT INTO trackers VALUES('statuspage.io','Statuspage',4,'https://www.statuspage.io/','atlassian','3878',NULL,NULL);\nINSERT INTO trackers VALUES('stayfriends.de','stayfriends.de',7,'https://www.stayfriends.de/',NULL,'3879',NULL,NULL);\nINSERT INTO trackers VALUES('steelhouse','Steel House Media',1,'https://steelhouse.com/','steelhouse','476',NULL,NULL);\nINSERT INTO trackers VALUES('steepto.com','Steepto',1,'https://www.steepto.com/',NULL,'3880',NULL,NULL);\nINSERT INTO trackers VALUES('stepstone.com','StepStone',7,'https://www.stepstone.com/',NULL,'3881',NULL,NULL);\nINSERT INTO trackers VALUES('stetic','Stetic',9,NULL,'stetic','3181',NULL,NULL);\nINSERT INTO trackers VALUES('stickyads','StickyAds',1,NULL,'comcast','2348',NULL,NULL);\nINSERT INTO trackers VALUES('stocktwits','StockTwits',4,'http://stocktwits.com','stocktwits','1651',NULL,NULL);\nINSERT INTO trackers VALUES('storify','Storify',1,'https://storify.com/','adobe','2581',NULL,NULL);\nINSERT INTO trackers VALUES('storyblok','Storyblok',11,'https://www.storyblok.com','storyblok','',NULL,NULL);\nINSERT INTO trackers VALUES('storygize','Storygize',1,'https://www.storygize.com/',NULL,'3882',NULL,NULL);\nINSERT INTO trackers VALUES('strands_recommender','Strands Recommender',1,'http://recommender.strands.com','strands','981',NULL,NULL);\nINSERT INTO trackers VALUES('strapi','Strapi',11,'https://strapi.io/','strapi','',NULL,NULL);\nINSERT INTO trackers VALUES('strava','Strava',9,'https://strava.com','strava','2590',NULL,NULL);\nINSERT INTO trackers VALUES('streak','Streak',4,'https://www.streak.com/','streak','2023',NULL,NULL);\nINSERT INTO trackers VALUES('streamio','Streamio',2,'https://www.streamio.com/','rackfish','',NULL,NULL);\nINSERT INTO trackers VALUES('streamlike','Streamlike',2,'https://www.streamlike.eu/','mediatech_streamlike','',NULL,NULL);\nINSERT INTO trackers VALUES('streamrail.com','StreamRail',1,'https://www.streamrail.com/','ironsource','3053',NULL,NULL);\nINSERT INTO trackers VALUES('stride','Stride',9,'https://www.getstride.com/','stride_software','3883',NULL,NULL);\nINSERT INTO trackers VALUES('stripchat.com','stripchat.com',8,NULL,NULL,'3884',NULL,NULL);\nINSERT INTO trackers VALUES('stripe.com','Stripe',4,'https://stripe.com/','stripe','3007',NULL,NULL);\nINSERT INTO trackers VALUES('stripst.com','stripst.com',8,NULL,NULL,'3885',NULL,NULL);\nINSERT INTO trackers VALUES('stroer_digital_media','Stroer Digital Media',1,NULL,'stroer','2960',NULL,NULL);\nINSERT INTO trackers VALUES('strossle','Strossle',1,'https://strossle.com/','strossle','1988',NULL,NULL);\nINSERT INTO trackers VALUES('struq','Struq',1,'http://www.struq.com/','quantcast','515',NULL,NULL);\nINSERT INTO trackers VALUES('stumbleupon_widgets','StumbleUpon Widgets',10,'http://www.stumbleupon.com/','stumbleupon','701',NULL,NULL);\nINSERT INTO trackers VALUES('sub2','Sub2',1,'https://www.sub2tech.com/','sub2','2018',NULL,NULL);\nINSERT INTO trackers VALUES('sublime_skinz','Sublime',1,'https://sublimeskinz.com/home','sublime_skinz','2962',NULL,NULL);\nINSERT INTO trackers VALUES('suggest.io','Suggest.io',1,'https://suggest.io/','suggest.io','1759',NULL,NULL);\nINSERT INTO trackers VALUES('sumologic.com','Sumologic',9,'https://www.sumologic.com/',NULL,'3886',NULL,NULL);\nINSERT INTO trackers VALUES('sumome','BDOW!',9,'https://bdow.com/','showit','2177',NULL,NULL);\nINSERT INTO trackers VALUES('sundaysky','SundaySky',1,'https://www.sundaysky.com/','sundaysky','1530',NULL,NULL);\nINSERT INTO trackers VALUES('supercounters','SuperCounters',9,'http://www.supercounters.com/','supercounters','1201',NULL,NULL);\nINSERT INTO trackers VALUES('superfastcdn.com','superfastcdn.com',7,NULL,NULL,'3887',NULL,NULL);\nINSERT INTO trackers VALUES('supership','Supership',1,'https://supership.jp/en/','supership','2385',NULL,NULL);\nINSERT INTO trackers VALUES('supplyframe','SupplyFrame',1,NULL,'supplyframe','2334',NULL,NULL);\nINSERT INTO trackers VALUES('surf_by_surfingbird','Surf by Surfingbird',4,'http://surfingbird.ru/','surfingbird','1495',NULL,NULL);\nINSERT INTO trackers VALUES('survata','Survata',1,NULL,'survata','3091',NULL,NULL);\nINSERT INTO trackers VALUES('surveymonkey','SurveyMonkey',4,'https://www.surveymonkey.com/','surveymonkey','',NULL,NULL);\nINSERT INTO trackers VALUES('sweettooth','Sweettooth',4,NULL,'sweet_tooth_rewards','2684',NULL,NULL);\nINSERT INTO trackers VALUES('swiftype','Swiftype',6,'https://swiftype.com/','elastic','3888',NULL,NULL);\nINSERT INTO trackers VALUES('swisscom','Swisscom',7,NULL,NULL,'3889',NULL,NULL);\nINSERT INTO trackers VALUES('switch_concepts','Switch Concepts',1,'http://www.switchconcepts.co.uk/','switch_concepts','1343',NULL,NULL);\nINSERT INTO trackers VALUES('switch_growth','Switch',9,'https://switchgrowth.com/','switch_growth','',NULL,NULL);\nINSERT INTO trackers VALUES('swoop','Swoop',1,'https://swoop.com/','swoop','914',NULL,NULL);\nINSERT INTO trackers VALUES('sykes','Sykes',9,NULL,'sykes_cottages','2776',NULL,NULL);\nINSERT INTO trackers VALUES('symantec','Symantec (Norton Secured Seal)',11,NULL,'symantec','2305',NULL,NULL);\nINSERT INTO trackers VALUES('symphony_talent','Symphony Talent',4,NULL,'symphony_talent','2571',NULL,NULL);\nINSERT INTO trackers VALUES('symplify','Symplify Conversion',9,'https://symplify.com/conversion-experimentation','symplify','',NULL,NULL);\nINSERT INTO trackers VALUES('synacor','Synacor',1,'https://www.synacor.com/','synacor','82',NULL,NULL);\nINSERT INTO trackers VALUES('syncapse','Syncapse',1,'https://www.clickable.com/','syncapse','367',NULL,NULL);\nINSERT INTO trackers VALUES('synergy-e','Synergy-E',1,'http://synergy-e.com/','synergy-e','1358',NULL,NULL);\nINSERT INTO trackers VALUES('synthetix','Synthetix',4,'https://synthetix.com/','synthetix','',NULL,NULL);\nINSERT INTO trackers VALUES('t-mobile','Deutsche Telekom',7,NULL,NULL,'3890',NULL,NULL);\nINSERT INTO trackers VALUES('t8cdn.com','t8cdn.com',7,NULL,NULL,'3891',NULL,NULL);\nINSERT INTO trackers VALUES('tableteducation.com','tableteducation.com',7,NULL,NULL,'3892',NULL,NULL);\nINSERT INTO trackers VALUES('taboola','Taboola',1,'http://www.taboola.com','taboola','951',NULL,NULL);\nINSERT INTO trackers VALUES('tacoda','Tacoda',1,'http://www.tacoda.com/','verizon','46',NULL,NULL);\nINSERT INTO trackers VALUES('tag_commander','Commanders Act',11,'https://www.commandersact.com/en/','tag_commander','1586',NULL,NULL);\nINSERT INTO trackers VALUES('tagcade','Tagcade',1,NULL,'pubvantage','2836',NULL,NULL);\nINSERT INTO trackers VALUES('taggify','Taggify',1,'http://new.taggify.net/','taggify','1921',NULL,NULL);\nINSERT INTO trackers VALUES('taggstar','taggstar',4,'https://taggstar.com/','taggstar','',NULL,NULL);\nINSERT INTO trackers VALUES('taggy','TAGGY',1,'http://taggy.jp/','taggy','1811',NULL,NULL);\nINSERT INTO trackers VALUES('tagman','TagMan',11,'http://www.tagman.com/','ensighten','457',NULL,NULL);\nINSERT INTO trackers VALUES('tail_target','Tail',9,'https://www.tail.digital/','tail.digital','2101',NULL,NULL);\nINSERT INTO trackers VALUES('tailsweep','Tailsweep',1,'http://www.tailsweep.se/','tailsweep','661',NULL,NULL);\nINSERT INTO trackers VALUES('tamedia.ch','Tamedia',1,'https://www.tamedia.ch/',NULL,'3893',NULL,NULL);\nINSERT INTO trackers VALUES('tanx','Tanx',1,'https://tanx.com/','tanx','1243',NULL,NULL);\nINSERT INTO trackers VALUES('taobao','Taobao',1,'https://world.taobao.com/','alibaba','3894',NULL,NULL);\nINSERT INTO trackers VALUES('tapad','Tapad',1,'https://www.tapad.com/','experian_inc','1176',NULL,NULL);\nINSERT INTO trackers VALUES('tapinfluence','TapInfluence',1,'https://theblogfrog.com/','tapinfluence','667',NULL,NULL);\nINSERT INTO trackers VALUES('tarafdari','Tarafdari',1,NULL,'tarafdari','3031',NULL,NULL);\nINSERT INTO trackers VALUES('target_2_sell','Target 2 Sell',1,NULL,'target_2_sell','2437',NULL,NULL);\nINSERT INTO trackers VALUES('target_circle','Target Circle',9,NULL,'target_circle','3289',NULL,NULL);\nINSERT INTO trackers VALUES('target_fuel','Target Fuel',9,NULL,'target_fuel','2227',NULL,NULL);\nINSERT INTO trackers VALUES('tawk','Tawk',4,NULL,'tawk','2417',NULL,NULL);\nINSERT INTO trackers VALUES('tbn.ru','TBN.ru',1,'http://www.agava.ru','agava','992',NULL,NULL);\nINSERT INTO trackers VALUES('tchibo_de','tchibo.de',7,'http://tchibo.de/',NULL,'3895',NULL,NULL);\nINSERT INTO trackers VALUES('tdsrmbl_net','tdsrmbl.net',7,NULL,NULL,'3896',NULL,NULL);\nINSERT INTO trackers VALUES('teads','Teads',1,'http://teads.com/','outbrain','1494',NULL,NULL);\nINSERT INTO trackers VALUES('tealeaf','Tealeaf',9,'https://www.acoustic.com/tealeaf','acoustic','1434',NULL,NULL);\nINSERT INTO trackers VALUES('tealium','Tealium',9,'https://www.tealium.com/','tealium','505',NULL,NULL);\nINSERT INTO trackers VALUES('tealium_ads','Tealium Ads',1,'https://www.tealium.com/','tealium','4055',NULL,'tealium');\nINSERT INTO trackers VALUES('tealium_consent','Tealium Consent',3,'https://www.tealium.com/','tealium','4056',NULL,'tealium');\nINSERT INTO trackers VALUES('teaser.cc','Teaser.cc',1,'http://www.teaser.cc/','teaser.cc','1980',NULL,NULL);\nINSERT INTO trackers VALUES('tedemis','Tedemis',1,'http://www.tedemis.com','tedemis','1587',NULL,NULL);\nINSERT INTO trackers VALUES('teletech','TeleTech',1,'http://www.webmetro.com/whoweare/technology.aspx','teletech','369',NULL,NULL);\nINSERT INTO trackers VALUES('tender','Tender',4,'http://www.tenderapp.com/','tender','2127',NULL,NULL);\nINSERT INTO trackers VALUES('tensitionschoo.club','tensitionschoo.club',7,NULL,NULL,'3897',NULL,NULL);\nINSERT INTO trackers VALUES('teroti','Teroti',1,'http://www.teroti.com/','teroti','1206',NULL,NULL);\nINSERT INTO trackers VALUES('terren','Terren',1,'https://www.webterren.com/','terren','1900',NULL,NULL);\nINSERT INTO trackers VALUES('testfreaks','TestFreaks',4,'https://www.testfreaks.com','testfreaks','',NULL,NULL);\nINSERT INTO trackers VALUES('teufel.de','teufel.de',7,'https://www.teufel.de/',NULL,'3898',NULL,NULL);\nINSERT INTO trackers VALUES('the_adex','The ADEX',1,'https://www.theadex.com/','prosieben_sat1','2141',NULL,NULL);\nINSERT INTO trackers VALUES('the_deck','The DECK',1,'http://decknetwork.net/','the_deck','1399',NULL,NULL);\nINSERT INTO trackers VALUES('the_guardian','The Guardian',7,'https://www.theguardian.com/','the_guardian','3899',NULL,NULL);\nINSERT INTO trackers VALUES('the_reach_group','The Reach Group',1,'http://www.redvertisment.com','the_reach_group','1198',NULL,NULL);\nINSERT INTO trackers VALUES('the_search_agency','The Search Agency',1,'http://www.thesearchagency.com/','the_search_agency','795',NULL,NULL);\nINSERT INTO trackers VALUES('the_sun','The Sun',7,'https://www.thesun.co.uk/','the_sun','3900',NULL,NULL);\nINSERT INTO trackers VALUES('the_weather_company','The Weather Company',1,'http://www.theweathercompany.com/','ibm','3901',NULL,NULL);\nINSERT INTO trackers VALUES('themoviedb','The Movie DB',7,'https://www.themoviedb.org/','themoviedb','3902',NULL,NULL);\nINSERT INTO trackers VALUES('thinglink','ThingLink',1,'http://www.thinglink.com/','thinglink','879',NULL,NULL);\nINSERT INTO trackers VALUES('threatmetrix','ThreatMetrix',11,'https://risk.lexisnexis.com/products/threatmetrix','lexisnexis','1060',NULL,NULL);\nINSERT INTO trackers VALUES('tickaroo','Tickaroo',4,'https://tickaroo.com/en/','tickaroo','',NULL,NULL);\nINSERT INTO trackers VALUES('tickaroo_analytics','Tickaroo Analytics',9,'https://tickaroo.com/en/','tickaroo','',NULL,'tickaroo');\nINSERT INTO trackers VALUES('tidbit','Tidbit',4,'http://tidbit.co.in/','tidbit','1868',NULL,NULL);\nINSERT INTO trackers VALUES('tidio','Tidio',4,NULL,'tidio_chat','2438',NULL,NULL);\nINSERT INTO trackers VALUES('tiktok_analytics','TikTok Analytics',9,'https://www.tiktok.com/legal/page/global/information-about-tiktok-analytics/en','bytedance_inc','4050',NULL,NULL);\nINSERT INTO trackers VALUES('tiktok_cdn','TikTok CDN',6,'https://www.tiktok.com/','bytedance_inc','',NULL,NULL);\nINSERT INTO trackers VALUES('tiller','Tiller',1,NULL,'tiller','2402',NULL,NULL);\nINSERT INTO trackers VALUES('timezondb','TimezonDB',1,NULL,'timezonedb','3110',NULL,NULL);\nINSERT INTO trackers VALUES('tinypass','Piano',11,'https://piano.io/','piano','1834',NULL,NULL);\nINSERT INTO trackers VALUES('tisoomi','Tisoomi',1,'https://tisoomi.com/en/','tisoomi','3903',NULL,NULL);\nINSERT INTO trackers VALUES('tlv_media','TLV Media',1,'http://www.tlvmedia.com','tlvmedia','885',NULL,NULL);\nINSERT INTO trackers VALUES('tns','Kantar TNS',9,'https://www.kantarsifo.se/about-kantar-tns','kantar_group','339',NULL,NULL);\nINSERT INTO trackers VALUES('tomnewsupdate.info','tomnewsupdate.info',5,NULL,NULL,'3904',NULL,NULL);\nINSERT INTO trackers VALUES('tomorrow_focus','Tomorrow Focus',1,'http://www.tomorrow-focus.com','hubert_burda_media','2121',NULL,NULL);\nINSERT INTO trackers VALUES('tonefuse','ToneFuse',1,'https://www.tonefuse.com/','tonefuse','617',NULL,NULL);\nINSERT INTO trackers VALUES('top_mail','Top Mail',9,NULL,'megafon','2546',NULL,'mail.ru_group');\nINSERT INTO trackers VALUES('toplist.cz','toplist.cz',7,NULL,NULL,'3905',NULL,NULL);\nINSERT INTO trackers VALUES('toponclick_com','toponclick.com',7,NULL,NULL,'3906',NULL,NULL);\nINSERT INTO trackers VALUES('topsy','Topsy',1,'http://topsy.com/','topsy','664',NULL,NULL);\nINSERT INTO trackers VALUES('torbit','Torbit',9,'http://torbit.com/','torbit','1055',NULL,NULL);\nINSERT INTO trackers VALUES('toro','TORO',1,'https://toroadvertising.com/','toro_advertising','1984',NULL,NULL);\nINSERT INTO trackers VALUES('tororango.com','tororango.com',7,NULL,NULL,'3907',NULL,NULL);\nINSERT INTO trackers VALUES('toss','Toss',9,'http://toss.im/en','viva_republica','',NULL,NULL);\nINSERT INTO trackers VALUES('total_media','Total Media',1,'http://www.totalmedia.co.il/eng/','total_media','979',NULL,NULL);\nINSERT INTO trackers VALUES('touchcommerce','Nuance',4,'https://www.nuance.com/omni-channel-customer-engagement/digital.html','touchcommerce','243',NULL,NULL);\nINSERT INTO trackers VALUES('tovarro.com','Tovarro',1,'https://www.tovarro.com/',NULL,'3908',NULL,NULL);\nINSERT INTO trackers VALUES('tp-cdn.com','TrialPay',1,'https://www.trialpay.com/',NULL,'3909',NULL,NULL);\nINSERT INTO trackers VALUES('tpmn','TPMN',1,'https://www.tpmn.io/','tpmn','',NULL,NULL);\nINSERT INTO trackers VALUES('tracc.it','Kiwe.io',9,'https://www.kiwe.io/',NULL,'3910',NULL,NULL);\nINSERT INTO trackers VALUES('tracemyip','TraceMyIP',1,'https://www.tracemyip.org/','tracemyip','830',NULL,NULL);\nINSERT INTO trackers VALUES('traceview','TraceView',9,'http://www.appneta.com/','appneta','1633',NULL,NULL);\nINSERT INTO trackers VALUES('track_duck','Track Duck',9,NULL,'track_duck','2757',NULL,NULL);\nINSERT INTO trackers VALUES('trackdesk','Trackdesk',1,'https://trackdesk.com','trackdesk','',NULL,NULL);\nINSERT INTO trackers VALUES('trackjs','TrackJS',9,'http://www.trackjs.com/','trackjs','2170',NULL,NULL);\nINSERT INTO trackers VALUES('trackset_conversionlab','Trackset ConversionLab',1,'https://www.trackset.com/','trackset','383',NULL,NULL);\nINSERT INTO trackers VALUES('trackuity','Trackuity',4,'https://www.trackuity.com/','trackuity','2208',NULL,NULL);\nINSERT INTO trackers VALUES('tradedesk','TradeDesk',1,'https://www.thetradedesk.com/','the_trade_desk','579',NULL,NULL);\nINSERT INTO trackers VALUES('tradedoubler','TradeDoubler',1,'https://www.tradedoubler.com/','tradedoubler','533',NULL,NULL);\nINSERT INTO trackers VALUES('tradelab','Tradelab',1,'http://www.tradelab.fr/','tradelab','1641',NULL,NULL);\nINSERT INTO trackers VALUES('tradetracker','TradeTracker',1,'http://www.tradetracker.com','tradetracker','556',NULL,NULL);\nINSERT INTO trackers VALUES('traffective','Traffective',1,'https://traffective.com/',NULL,'3911',NULL,NULL);\nINSERT INTO trackers VALUES('traffic_fuel','Traffic Fuel',1,NULL,'traffic_fuel','2804',NULL,NULL);\nINSERT INTO trackers VALUES('traffic_revenue','Traffic Revenue',1,'http://www.trafficrevenue.net/','traffic_revenue','633',NULL,NULL);\nINSERT INTO trackers VALUES('traffic_stars','Traffic Stars',8,NULL,'traffic_stars','2817',NULL,NULL);\nINSERT INTO trackers VALUES('trafficbroker','TrafficBroker',1,'http://trafficbroker.com/','trafficbroker','1290',NULL,NULL);\nINSERT INTO trackers VALUES('trafficfabrik.com','Traffic Fabrik',8,'https://www.trafficfabrik.com/',NULL,'3912',NULL,NULL);\nINSERT INTO trackers VALUES('trafficfactory','Traffic Factory',1,'https://www.trafficfactory.biz/',NULL,'3913',NULL,NULL);\nINSERT INTO trackers VALUES('trafficforce','TrafficForce',1,'https://www.trafficforce.com/','trafficforce','2089',NULL,NULL);\nINSERT INTO trackers VALUES('traffichaus','TrafficHaus',8,'http://www.traffichaus.com','traffichaus','1077',NULL,NULL);\nINSERT INTO trackers VALUES('trafficjunky','TrafficJunky',8,'http://www.trafficjunky.net/','trafficjunky','1070',NULL,NULL);\nINSERT INTO trackers VALUES('traffiliate','Traffiliate',1,'https://www.traffiliate.com/','dsnr_media_group','749',NULL,NULL);\nINSERT INTO trackers VALUES('trafic','Trafic',9,'https://www.trafic.ro/','trafic','152',NULL,NULL);\nINSERT INTO trackers VALUES('trafmag.com','TrafMag',1,'https://trafmag.com/','trafmag','1858',NULL,NULL);\nINSERT INTO trackers VALUES('transcend','Transcend Consent Management',3,'https://transcend.io/consent/','transcend','4053',NULL,NULL);\nINSERT INTO trackers VALUES('transcend_telemetry','Transcend Telemetry',9,'https://transcend.io','transcend','4054',NULL,NULL);\nINSERT INTO trackers VALUES('transmatic','Transmatic',9,NULL,'transmatico','3193',NULL,NULL);\nINSERT INTO trackers VALUES('travel_audience','Travel Audience',9,NULL,'travel_audience','2944',NULL,NULL);\nINSERT INTO trackers VALUES('trbo','trbo',1,'https://www.trbo.com/','trbo','2106',NULL,NULL);\nINSERT INTO trackers VALUES('treasuredata','Treasure Data',9,'https://www.treasuredata.com/','arm','2597',NULL,NULL);\nINSERT INTO trackers VALUES('tremor_video','Tremor Video',2,'https://nexxen.com/','nexxen','466',NULL,NULL);\nINSERT INTO trackers VALUES('trendcounter','trendcounter',9,'https://www.trendcounter.com/','trendcounter','1499',NULL,NULL);\nINSERT INTO trackers VALUES('trendemon','TrenDemon',9,NULL,'trendemon','2241',NULL,NULL);\nINSERT INTO trackers VALUES('trengo','Trengo',4,'https://trengo.com/','trengo','',NULL,NULL);\nINSERT INTO trackers VALUES('tribal_fusion','Tribal Fusion',1,'https://www.tribalfusion.com/','exponential_interactive','84',NULL,NULL);\nINSERT INTO trackers VALUES('tribal_fusion_notice','Tribal Fusion Notice',1,'http://www.tribalfusion.com','exponential_interactive','937',NULL,'tribal_fusion');\nINSERT INTO trackers VALUES('triblio','Triblio',9,NULL,'triblio','2448',NULL,NULL);\nINSERT INTO trackers VALUES('trigger_mail_marketing','Trigger Mail Marketing',1,NULL,'trigger_mail_marketing','2418',NULL,NULL);\nINSERT INTO trackers VALUES('triggerbee','Triggerbee',9,'https://triggerbee.com','triggerbee','2391',NULL,NULL);\nINSERT INTO trackers VALUES('tripadvisor','TripAdvisor',7,NULL,'iac_apps','3914',NULL,NULL);\nINSERT INTO trackers VALUES('triplelift','TripleLift',1,'https://triplelift.com/','triplelift','1576',NULL,NULL);\nINSERT INTO trackers VALUES('triptease','Triptease',4,NULL,'triptease','3253',NULL,NULL);\nINSERT INTO trackers VALUES('triton_digital','Triton Digital',2,'https://www.tritondigital.com/','triton_digital','1209',NULL,NULL);\nINSERT INTO trackers VALUES('trovus_revelations','Trovus Revelations',1,'http://www.trovus.co.uk/','trovus_revelations','112',NULL,NULL);\nINSERT INTO trackers VALUES('trsv3.com','trsv3.com',7,NULL,NULL,'3915',NULL,NULL);\nINSERT INTO trackers VALUES('true_fit','True Fit',1,NULL,'true_fit','2429',NULL,NULL);\nINSERT INTO trackers VALUES('trueanthem','True Anthem',1,'https://www.trueanthem.com/','trueanthem','1924',NULL,NULL);\nINSERT INTO trackers VALUES('trueffect','TruEffect',1,'http://www.trueffect.com/','trueffect','346',NULL,NULL);\nINSERT INTO trackers VALUES('truehits.net','Truehits.net',9,'https://truehits.net/','truehits.net','1357',NULL,NULL);\nINSERT INTO trackers VALUES('trumba','Trumba',1,'http://www.trumba.com','trumba','478',NULL,NULL);\nINSERT INTO trackers VALUES('truoptik','TruAudience Data Marketplace',1,'https://www.transunion.com/solution/truaudience','transunion','3916',unistr('Originally named Tru Optik before being acquired (Oct 2020) and renamed to TruAudience Data Marketplace:\\u000a* https://newsroom.transunion.com/transunion-introduces-truaudience-marketing-solutions--to-power-privacy-centric-identity-and-data-capabilities-for-omnichannel-advertising/\\u000a* https://web.archive.org/web/20210802092555/https://newsroom.transunion.com/transunion-accelerates-strategic-focus-on-identity-enabled-marketing-solutions-with-agreement-to-acquire-tru-optik\\u000a\\u000aLast version of Tru Optik''s original homepage (https://truoptik.com/) before being shut down (Aug 2nd, 2021):\\u000ahttps://web.archive.org/web/20210802131816/https://truoptik.com/'),NULL);\nINSERT INTO trackers VALUES('trustarc','TrustArc',3,'https://trustarc.com/customer-consent-preference/','trustarc','3917',NULL,NULL);\nINSERT INTO trackers VALUES('truste_consent','Truste Consent',3,NULL,'trustarc','2813',NULL,NULL);\nINSERT INTO trackers VALUES('truste_notice','TRUSTe Notice',3,'https://www.truste.com/','trustarc','507',NULL,NULL);\nINSERT INTO trackers VALUES('truste_seal','TRUSTe Seal',11,'https://www.truste.com/','trustarc','1582',NULL,NULL);\nINSERT INTO trackers VALUES('trusted_shops','Trusted Shops',11,'https://www.trustedshops.com/','trusted_shops','2816',NULL,NULL);\nINSERT INTO trackers VALUES('trustev','Trustev',9,'https://www.trustev.com/','trustev','2219',NULL,NULL);\nINSERT INTO trackers VALUES('trustlogo','TrustLogo',11,'https://www.comodo.com/','comodo','2012',NULL,NULL);\nINSERT INTO trackers VALUES('trustpilot','Trustpilot',4,NULL,'trustpilot','2280',NULL,NULL);\nINSERT INTO trackers VALUES('trustwave.com','Trustwave',7,'https://www.trustwave.com/home/',NULL,'3918',NULL,NULL);\nINSERT INTO trackers VALUES('trustx','Trustx',1,'https://trustx.org',NULL,'',NULL,NULL);\nINSERT INTO trackers VALUES('truyo','Truyo',3,'https://truyo.com/','intraedge','',NULL,NULL);\nINSERT INTO trackers VALUES('tubecorporate','Tube Corporate',8,'https://tubecorporate.com/',NULL,'3919',NULL,NULL);\nINSERT INTO trackers VALUES('tubecup.org','tubecup.org',8,NULL,NULL,'3920',NULL,NULL);\nINSERT INTO trackers VALUES('tubemogul','TubeMogul',1,'https://tubemogul.com/','tubemogul','736',NULL,NULL);\nINSERT INTO trackers VALUES('tumblr_analytics','Tumblr Analytics',9,NULL,'verizon','3921',NULL,NULL);\nINSERT INTO trackers VALUES('tumblr_buttons','Tumblr Buttons',10,'https://www.tumblr.com/','verizon','1205',NULL,NULL);\nINSERT INTO trackers VALUES('tumblr_dashboard','Tumblr Dashboard',10,'https://www.tumblr.com/','verizon','133',NULL,'yahoo');\nINSERT INTO trackers VALUES('tune_in','Tune In',2,NULL,'tunein','2725',NULL,NULL);\nINSERT INTO trackers VALUES('turbo','Turbo',1,NULL,'turbo','2226',NULL,NULL);\nINSERT INTO trackers VALUES('turn_inc.','Turn Inc.',1,'https://www.amobee.com/company/','singtel','177',NULL,NULL);\nINSERT INTO trackers VALUES('turner','Warner Media',9,'https://www.warnermedia.com/','turner','3922',NULL,NULL);\nINSERT INTO trackers VALUES('turnsocial','TurnSocial',10,'http://turnsocial.com/','turnsocial','938',NULL,NULL);\nINSERT INTO trackers VALUES('turnto','TurnTo',4,'https://www.turntonetworks.com/','turnto_networks','833',NULL,NULL);\nINSERT INTO trackers VALUES('tvsquared.com','TVSquared',1,'https://tvsquared.com/','tvsquared','3062',NULL,NULL);\nINSERT INTO trackers VALUES('tweetboard','Tweetboard',10,'http://tweetboard.com/alpha/','tweetboard','244',NULL,NULL);\nINSERT INTO trackers VALUES('tweetmeme','TweetMeme',10,'http://tweetmeme.com/','tweetmeme','245',NULL,NULL);\nINSERT INTO trackers VALUES('twenga','Twenga Solutions',1,'https://www.twenga-solutions.com/',NULL,'3923',NULL,NULL);\nINSERT INTO trackers VALUES('twentythree','TwentyThree',2,'https://www.twentythree.com','twentythree','',NULL,NULL);\nINSERT INTO trackers VALUES('twiago','Twiago',1,'https://www.twiago.com/','twiago','2972',NULL,NULL);\nINSERT INTO trackers VALUES('twine','Twine',9,NULL,'twine_digital','2733',NULL,NULL);\nINSERT INTO trackers VALUES('twitch.tv','Twitch',2,'https://www.twitch.tv/','amazon_associates','3925',NULL,NULL);\nINSERT INTO trackers VALUES('twitch_cdn','Twitch CDN',2,'https://www.twitch.tv/','amazon_associates','3924',NULL,NULL);\nINSERT INTO trackers VALUES('twitter','X Corp.',10,'https://twitter.com','twitter','2854',NULL,NULL);\nINSERT INTO trackers VALUES('twitter_ads','X Advertising',1,'https://twitter.com/widgets','twitter','1521',NULL,NULL);\nINSERT INTO trackers VALUES('twitter_analytics','X Analytics',1,'https://twitter.com','twitter','2716',NULL,NULL);\nINSERT INTO trackers VALUES('twitter_badge','X Badge',10,'https://twitter.com/widgets','twitter','8',NULL,'twitter');\nINSERT INTO trackers VALUES('twitter_button','Tweet Button',10,'https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/overview','twitter','605',NULL,'twitter');\nINSERT INTO trackers VALUES('twitter_conversion_tracking','X Conversion Tracking',1,'https://business.x.com/en/advertising/campaign-types/website-conversions','twitter','3013',NULL,'twitter');\nINSERT INTO trackers VALUES('twitter_for_business','X Business',1,'https://business.twitter.com/','twitter','401',NULL,NULL);\nINSERT INTO trackers VALUES('twitter_syndication','X Syndication',10,'https://twitter.com','twitter','2337',NULL,NULL);\nINSERT INTO trackers VALUES('twittercounter','TwitterCounter',9,'http://twittercounter.com/','twitter_counter','119',NULL,NULL);\nINSERT INTO trackers VALUES('twyn','Twyn',1,'http://www.twyn.com','twyn','887',NULL,NULL);\nINSERT INTO trackers VALUES('txxx.com','txxx.com',7,'https://txxx.com',NULL,'3926',NULL,NULL);\nINSERT INTO trackers VALUES('tynt','33Across',1,'http://www.tynt.com/','33across','1480',NULL,NULL);\nINSERT INTO trackers VALUES('typeform','Typeform',4,'https://www.typeform.com/','typeform','3927',NULL,NULL);\nINSERT INTO trackers VALUES('typepad_stats','Typepad Stats',9,'https://www.typepad.com/features/statistics.ht','typepad','45',NULL,NULL);\nINSERT INTO trackers VALUES('typography.com','Webfonts by Hoefler&Co',6,'https://www.typography.com/',NULL,'3928',NULL,NULL);\nINSERT INTO trackers VALUES('tyroo','Tyroo',10,'https://www.tyroo.com/','tyroo','3929',NULL,NULL);\nINSERT INTO trackers VALUES('tzetze','TzeTze',4,'https://www.tzetze.it/','tzetze','1704',NULL,NULL);\nINSERT INTO trackers VALUES('ubersetzung-app.com','ubersetzung-app.com',5,'https://www.ubersetzung-app.com/',NULL,'3930',NULL,NULL);\nINSERT INTO trackers VALUES('ucfunnel','ucfunnel',1,'https://www.ucfunnel.com/','ucfunnel','4037',NULL,NULL);\nINSERT INTO trackers VALUES('ucoz','uCoz',9,'https://www.ucoz.net/','ucoz','554',NULL,NULL);\nINSERT INTO trackers VALUES('uliza','Uliza',1,NULL,'uliza','3112',NULL,NULL);\nINSERT INTO trackers VALUES('umbel','Umbel',9,'http://umbel.com','umbel','1598',NULL,NULL);\nINSERT INTO trackers VALUES('umebiggestern.club','umebiggestern.club',7,NULL,NULL,'3931',NULL,NULL);\nINSERT INTO trackers VALUES('unanimis','Unanimis',1,'https://www.unanimis.co.uk/','switch_concepts','680',NULL,NULL);\nINSERT INTO trackers VALUES('unbounce','Unbounce',9,'https://unbounce.com/','unbounce','629',NULL,NULL);\nINSERT INTO trackers VALUES('unbxd','UNBXD',9,NULL,'unbxd','2582',NULL,NULL);\nINSERT INTO trackers VALUES('under-box.com','under-box.com',5,NULL,NULL,'3932',NULL,NULL);\nINSERT INTO trackers VALUES('undercomputer.com','undercomputer.com',7,NULL,NULL,'3933',NULL,NULL);\nINSERT INTO trackers VALUES('underdog_media','Underdog Media',1,'http://www.underdogmedia.com','underdog_media','474',NULL,NULL);\nINSERT INTO trackers VALUES('undertone','Undertone',1,'https://www.undertone.com/','perion','386',NULL,NULL);\nINSERT INTO trackers VALUES('unica','Unica',4,'http://www.unica.com/','ibm','246',NULL,NULL);\nINSERT INTO trackers VALUES('unifiedid','Unified ID 2.0',1,'https://unifiedid.com/','thetradedesk','',NULL,NULL);\nINSERT INTO trackers VALUES('uniqodo','Uniqodo',4,'https://www.uniqodo.com/','uniqodo','',NULL,NULL);\nINSERT INTO trackers VALUES('unister','Unister',9,'http://www.unister.de/','unister','1029',NULL,NULL);\nINSERT INTO trackers VALUES('unite','Unite',1,'http://unite.me/#','unite','1761',NULL,NULL);\nINSERT INTO trackers VALUES('united_digital_group','United Digital Group',1,'https://www.udg.de/','united_digital_group','3934',NULL,NULL);\nINSERT INTO trackers VALUES('united_internet_media_gmbh','United Internet Media GmbH',1,NULL,'united_internet','3202',NULL,NULL);\nINSERT INTO trackers VALUES('univide','Univide',1,NULL,'oracle','2743',NULL,NULL);\nINSERT INTO trackers VALUES('unpkg.com','unpkg',6,'https://unpkg.com/#/','unpkg','3935',NULL,NULL);\nINSERT INTO trackers VALUES('unruly_media','Unruly Media',1,'http://www.nexxen.com/','nexxen','1298',NULL,NULL);\nINSERT INTO trackers VALUES('untriel_finger_printing','Untriel Finger Printing',9,NULL,'untriel','2674',NULL,NULL);\nINSERT INTO trackers VALUES('upland_clickability_beacon','Upland Clickability Beacon',1,'http://www.clickability.com/','upland_software','289',NULL,NULL);\nINSERT INTO trackers VALUES('uppr.de','uppr GmbH',1,'https://uppr.de/',NULL,'3936',NULL,NULL);\nINSERT INTO trackers VALUES('upravel.com','upravel.com',7,NULL,NULL,'3937',NULL,NULL);\nINSERT INTO trackers VALUES('upsellit','UpSellit',4,'http://www.upsellit.com','upsellit','416',NULL,NULL);\nINSERT INTO trackers VALUES('upsight','Upsight',9,NULL,'upsight','2502',NULL,NULL);\nINSERT INTO trackers VALUES('uptain','Uptain',9,NULL,'uptain','2840',NULL,NULL);\nINSERT INTO trackers VALUES('uptolike.com','Uptolike',10,'https://www.uptolike.com/','uptolike','2010',NULL,NULL);\nINSERT INTO trackers VALUES('uptrends','Uptrends',9,'https://www.uptrends.com/','uptrends','460',NULL,NULL);\nINSERT INTO trackers VALUES('urban-media.com','Urban Media GmbH',1,'https://www.urban-media.com/',NULL,'3938',NULL,NULL);\nINSERT INTO trackers VALUES('urban_airship','Urban Airship',9,'https://www.urbanairship.com/','urban_airship','2501',NULL,NULL);\nINSERT INTO trackers VALUES('usability_tools','Usability Tools',9,NULL,'usability_tools','2605',NULL,NULL);\nINSERT INTO trackers VALUES('usabilla','Usabilla',4,'https://usabilla.com/','surveymonkey','1766',NULL,NULL);\nINSERT INTO trackers VALUES('usablenet','UsableNet',11,'https://usablenet.com','usablenet','',NULL,NULL);\nINSERT INTO trackers VALUES('usemax','Usemax',1,'http://www.usemax.de','usemax','1414',NULL,NULL);\nINSERT INTO trackers VALUES('usercentrics','Usercentrics',3,'https://usercentrics.com/','usercentrics','',NULL,NULL);\nINSERT INTO trackers VALUES('usercycle','USERcycle',9,'http://usercycle.com/','usercycle','1821',NULL,NULL);\nINSERT INTO trackers VALUES('userdive','USERDIVE',9,'http://userdive.com/','userdive','1809',NULL,NULL);\nINSERT INTO trackers VALUES('userecho','UserEcho',4,'http://userecho.com','userecho','1538',NULL,NULL);\nINSERT INTO trackers VALUES('userlike.com','Lime Connect',4,'https://www.lime-technologies.com/en/products/lime-connect/','lime_technologies','3155',NULL,NULL);\nINSERT INTO trackers VALUES('userpulse','UserPulse',4,'http://www.userpulse.com/','userpulse','1627',NULL,NULL);\nINSERT INTO trackers VALUES('userreplay','UserReplay',9,NULL,'userreplay','3162',NULL,NULL);\nINSERT INTO trackers VALUES('userreport','UserReport',4,'https://www.userreport.com/','userreport','950',NULL,NULL);\nINSERT INTO trackers VALUES('userrules','UserRules',4,'http://www.userrules.com/','userrules_software','1785',NULL,NULL);\nINSERT INTO trackers VALUES('usersnap','Usersnap',4,'https://usersnap.com/','usersnap','2076',NULL,NULL);\nINSERT INTO trackers VALUES('uservoice','UserVoice',4,'https://uservoice.com/','uservoice','59',NULL,NULL);\nINSERT INTO trackers VALUES('userway','UserWay',11,'https://userway.org/','userway','',NULL,NULL);\nINSERT INTO trackers VALUES('userzoom.com','UserZoom',4,'https://www.userzoom.com/','userzoom','1219',NULL,NULL);\nINSERT INTO trackers VALUES('usocial','Usocial',10,NULL,'usocial','3048',NULL,NULL);\nINSERT INTO trackers VALUES('utarget','uTarget',1,'http://utarget.ru/','utarget','1318',NULL,NULL);\nINSERT INTO trackers VALUES('uuidksinc.net','uuidksinc.net',7,NULL,NULL,'3940',NULL,NULL);\nINSERT INTO trackers VALUES('v12_group','V12 Group',9,NULL,NULL,'3941',NULL,NULL);\nINSERT INTO trackers VALUES('vacaneedasap.com','vacaneedasap.com',7,NULL,NULL,'3942',NULL,NULL);\nINSERT INTO trackers VALUES('valassis','Valassis',1,'https://www.brand.net/','valassis','535',NULL,NULL);\nINSERT INTO trackers VALUES('validclick','ValidClick',1,'https://inuvo.com/','inuvo','1678',NULL,NULL);\nINSERT INTO trackers VALUES('valiton','Valiton',1,'https://www.valiton.com/','hubert_burda_media','1751',NULL,NULL);\nINSERT INTO trackers VALUES('valueclick_media','ValueClick Media',1,NULL,'conversant','2661',NULL,NULL);\nINSERT INTO trackers VALUES('valuecommerce','ValueCommerce',1,'https://www.valuecommerce.ne.jp','valuecommerce','1445',NULL,NULL);\nINSERT INTO trackers VALUES('valued_opinions','Valued Opinions',1,'http://valuedopinions.com','valued_opinions','931',NULL,NULL);\nINSERT INTO trackers VALUES('vanksen','Vanksen',1,'http://www.buzzparadise.com/','vanksen','844',NULL,NULL);\nINSERT INTO trackers VALUES('varick_media_management','Varick Media Management',1,'http://www.varickmm.com/','varick_media_management','1121',NULL,NULL);\nINSERT INTO trackers VALUES('varify','Varify',9,'https://varify.io/','varify','',NULL,NULL);\nINSERT INTO trackers VALUES('vcita','Vcita',9,NULL,'vcita','2933',NULL,NULL);\nINSERT INTO trackers VALUES('vcommission','vCommission',1,'https://www.vcommission.com/','vcommission','1946',NULL,NULL);\nINSERT INTO trackers VALUES('vdopia','Vdopia',1,'http://mobile.vdopia.com/','vdopia','791',NULL,NULL);\nINSERT INTO trackers VALUES('ve_interactive','Ve Interactive',1,'https://www.veinteractive.com','ve_interactive','1547',NULL,NULL);\nINSERT INTO trackers VALUES('vee24','VEE24',2,'https://www.vee24.com/','vee24','2388',NULL,NULL);\nINSERT INTO trackers VALUES('velocecdn.com','velocecdn.com',7,NULL,NULL,'3943',NULL,NULL);\nINSERT INTO trackers VALUES('velti_mgage_visualize','Velti mGage Visualize',1,'https://www.velti.com/','velti','1720',NULL,NULL);\nINSERT INTO trackers VALUES('vendemore','Vendemore',4,'https://vendemore.com/','ratos','3944',NULL,NULL);\nINSERT INTO trackers VALUES('venturead.com','venturead.com',7,NULL,NULL,'3945',NULL,NULL);\nINSERT INTO trackers VALUES('venyoo','Venyoo',4,NULL,'venyoo','2534',NULL,NULL);\nINSERT INTO trackers VALUES('veoxa','Veoxa',1,'https://www.veoxa.com/','veoxa','720',NULL,NULL);\nINSERT INTO trackers VALUES('vercel_frontend_observability','Vercel Frontend Observability',9,'https://vercel.com/docs/observability','vercel','',NULL,NULL);\nINSERT INTO trackers VALUES('vergic.com','Vergic',4,'https://www.vergic.com/',NULL,'3946',NULL,NULL);\nINSERT INTO trackers VALUES('vero','Vero',1,'https://www.getvero.com/','vero','1676',NULL,NULL);\nINSERT INTO trackers VALUES('vertical_acuity','Vertical Acuity',1,'http://www.verticalacuity.com/','outbrain','373',NULL,NULL);\nINSERT INTO trackers VALUES('vertical_leap','Vertical Leap',1,'http://www.vertical-leap.co.uk/','vertical_leap','911',NULL,NULL);\nINSERT INTO trackers VALUES('verticalresponse','VerticalResponse',1,'http://www.verticalresponse.com','verticalresponse','395',NULL,NULL);\nINSERT INTO trackers VALUES('verticalscope','VerticalScope',1,'http://www.verticalscope.com','verticalscope','2120',NULL,NULL);\nINSERT INTO trackers VALUES('vertoz','Vertoz',1,'https://www.vertoz.com/','vertoz','1945',NULL,NULL);\nINSERT INTO trackers VALUES('veruta','Veruta',1,'http://www.veruta.com/','veruta','540',NULL,NULL);\nINSERT INTO trackers VALUES('verve_mobile','Verve Mobile',1,'http://www.vervemobile.com/','verve_mobile','1721',NULL,NULL);\nINSERT INTO trackers VALUES('vg_wort','VG Wort',9,'https://tom.vgwort.de/portal/showHelp','vg_wort','711',NULL,NULL);\nINSERT INTO trackers VALUES('vi','Vi',1,'http://www.vi.ru/','vi','2006',NULL,NULL);\nINSERT INTO trackers VALUES('viacom_tag_container','Viacom Tag Container',1,'http://www.viacom.com/','viacom','989',NULL,NULL);\nINSERT INTO trackers VALUES('viafoura','Viafoura',1,'http://www.viafoura.com/','viafoura','1869',NULL,NULL);\nINSERT INTO trackers VALUES('vibrant_ads','Vibrant Ads',1,'https://www.vibrantmedia.com/','vibrant_media','103',NULL,NULL);\nINSERT INTO trackers VALUES('vicomi.com','Vicomi',9,'https://www.vicomi.com/','vicomi','3191',NULL,NULL);\nINSERT INTO trackers VALUES('vidazoo.com','Vidazoo',1,'https://www.vidazoo.com/',NULL,'3947',NULL,NULL);\nINSERT INTO trackers VALUES('video_desk','Video Desk',2,NULL,'video_desk','2408',NULL,NULL);\nINSERT INTO trackers VALUES('video_potok','Video Potok',2,NULL,'videopotok','2859',NULL,NULL);\nINSERT INTO trackers VALUES('videoadex.com','VideoAdX',1,'https://www.videoadex.com/','digiteka','3948',NULL,NULL);\nINSERT INTO trackers VALUES('videobot','Videobot',2,'https://www.videobot.com/','videobot','',NULL,NULL);\nINSERT INTO trackers VALUES('videology','Videology',1,'https://videologygroup.com/','singtel','746',NULL,NULL);\nINSERT INTO trackers VALUES('videoly','Videoly',2,'https://videoly.co/','syncle','',NULL,NULL);\nINSERT INTO trackers VALUES('videonow','VideoNow',1,'https://videonow.ru/','videonow','3033',NULL,NULL);\nINSERT INTO trackers VALUES('videoplayerhub.com','videoplayerhub.com',7,NULL,NULL,'3949',NULL,NULL);\nINSERT INTO trackers VALUES('videoplaza','Videoplaza',1,'http://www.videoplaza.com/','videoplaza','1746',NULL,NULL);\nINSERT INTO trackers VALUES('videostep','VideoStep',1,'https://www.videostep.com/','videostep','1794',NULL,NULL);\nINSERT INTO trackers VALUES('videowise','Videowise',4,'https://videowise.com/','videowise','',NULL,NULL);\nINSERT INTO trackers VALUES('vidgyor','Vidgyor',2,NULL,'vidgyor','2967',NULL,NULL);\nINSERT INTO trackers VALUES('vidible','Vidible',1,'http://vidible.tv/','verizon','2207',NULL,NULL);\nINSERT INTO trackers VALUES('vidora','Vidora',2,NULL,'vidora','2362',NULL,NULL);\nINSERT INTO trackers VALUES('vietad','VietAd',1,'https://vietad.vn/','vietad','1238',NULL,NULL);\nINSERT INTO trackers VALUES('viglink','VigLink',1,'http://www.viglink.com','viglink','350',NULL,NULL);\nINSERT INTO trackers VALUES('vigo','Vigo',9,'https://vigo.one/','vigo','3950',NULL,NULL);\nINSERT INTO trackers VALUES('vimeo','Vimeo',2,NULL,'vimeo','2727',NULL,NULL);\nINSERT INTO trackers VALUES('vindico_group','Vindico Group',1,'http://www.vindicogroup.com/','vindico_group','489',NULL,NULL);\nINSERT INTO trackers VALUES('vinted','Vinted',7,'https://www.vinted.com/',NULL,'3951',NULL,NULL);\nINSERT INTO trackers VALUES('viral_ad_network','Viral Ad Network',1,'http://viraladnetwork.joinvan.com/','viral_ad_network','2030',NULL,NULL);\nINSERT INTO trackers VALUES('viral_loops','Viral Loops',4,NULL,'viral-loops','2516',NULL,NULL);\nINSERT INTO trackers VALUES('viralgains','ViralGains',1,'https://www.viralgains.com/',NULL,'3952',NULL,NULL);\nINSERT INTO trackers VALUES('viralmint','ViralMint',10,'http://www.viralmint.com','viralmint','2119',NULL,NULL);\nINSERT INTO trackers VALUES('virgul','Virgul',1,'http://www.virgul.com/','virgul','873',NULL,NULL);\nINSERT INTO trackers VALUES('virool_player','Virool Player',1,NULL,'virool','2896',NULL,NULL);\nINSERT INTO trackers VALUES('virtusize','Virtusize',9,'https://www.virtusize.com/','virtusize','1602',NULL,NULL);\nINSERT INTO trackers VALUES('visible_measures','Visible Measures',1,'https://www.visiblemeasures.com/','visible_measures','450',NULL,NULL);\nINSERT INTO trackers VALUES('vision_critical','Vision Critical',9,NULL,'vision_critical','2899',NULL,NULL);\nINSERT INTO trackers VALUES('visit_streamer','Visit Streamer',9,'http://www.visitstreamer.com/','visit_streamer','461',NULL,NULL);\nINSERT INTO trackers VALUES('visitortrack','VisitorTrack',1,'https://www.netfactor.com/','netfactor','1144',NULL,NULL);\nINSERT INTO trackers VALUES('visitorville','VisitorVille',9,'http://www.visitorville.com','visitorville','393',NULL,NULL);\nINSERT INTO trackers VALUES('visscore','VisScore',1,NULL,'cubed_attribution','2892',NULL,NULL);\nINSERT INTO trackers VALUES('visual_iq','Visual IQ',9,NULL,'visualiq','2903',NULL,NULL);\nINSERT INTO trackers VALUES('visual_revenue','Visual Revenue',9,'http://visualrevenue.com/','outbrain','689',NULL,NULL);\nINSERT INTO trackers VALUES('visual_website_optimizer','VWO',9,'https://vwo.com/','wingify','257',NULL,NULL);\nINSERT INTO trackers VALUES('visualdna','VisualDNA',1,'http://www.visualdna.com/','nielsen','293',NULL,NULL);\nINSERT INTO trackers VALUES('visualvisitor','VisualVisitor',9,'https://www.visualvisitor.com/','visualvisitor','2060',NULL,NULL);\nINSERT INTO trackers VALUES('vivalu','VIVALU',1,'https://www.vivalu.com/','vivalu','2290',NULL,NULL);\nINSERT INTO trackers VALUES('vivistats','ViviStats',9,'http://en.vivistats.com/','vivistats','1324',NULL,NULL);\nINSERT INTO trackers VALUES('vizury','Vizury',1,'https://www.vizury.com/website/','vizury','1260',NULL,NULL);\nINSERT INTO trackers VALUES('vizzit','Vizzit',1,'http://www.vizzit.se/h/en/','vizzit','1025',NULL,NULL);\nINSERT INTO trackers VALUES('vk.com','Vk.com',10,'https://vk.com/','megafon','3954',NULL,NULL);\nINSERT INTO trackers VALUES('vkontakte','VKontakte',10,'https://vk.com/','megafon','3955',NULL,NULL);\nINSERT INTO trackers VALUES('vkontakte_widgets','VKontakte Widgets',10,'https://vk.com/developers.php','megafon','675',NULL,'vkontakte');\nINSERT INTO trackers VALUES('vntsm.com','Venatus Media',1,'https://www.venatusmedia.com/','venatus','1853',NULL,NULL);\nINSERT INTO trackers VALUES('vodafone.de','vodafone.de',7,NULL,NULL,'3956',NULL,NULL);\nINSERT INTO trackers VALUES('voicefive','VoiceFive',9,'https://www.voicefive.com','comscore','404',NULL,NULL);\nINSERT INTO trackers VALUES('volusion_chat','Volusion Chat',4,NULL,'volusion','2808',NULL,NULL);\nINSERT INTO trackers VALUES('voluum','Voluum',1,'https://voluum.com/','codewise','3307',NULL,NULL);\nINSERT INTO trackers VALUES('vooxe.com','vooxe.com',7,'http://www.vooxe.com/',NULL,'3957',NULL,NULL);\nINSERT INTO trackers VALUES('vorwerk.de','vorwerk.de',7,'https://corporate.vorwerk.de/home/',NULL,'3958',NULL,NULL);\nINSERT INTO trackers VALUES('vox','Vox',4,'https://www.voxmedia.com/','vox','3959',NULL,NULL);\nINSERT INTO trackers VALUES('voxus','Voxus',1,NULL,'voxus','3054',NULL,NULL);\nINSERT INTO trackers VALUES('voyado','Voyado',9,'https://voyado.com/','voyado','',NULL,NULL);\nINSERT INTO trackers VALUES('vpon','VPON',1,NULL,'vpon','3032',NULL,NULL);\nINSERT INTO trackers VALUES('vpscash','VPSCash',1,NULL,'vps_cash','2800',NULL,NULL);\nINSERT INTO trackers VALUES('vtracy.de','vtracy.de',7,NULL,NULL,'3960',NULL,NULL);\nINSERT INTO trackers VALUES('vuukle','Vuukle',9,NULL,'vuukle','2413',NULL,NULL);\nINSERT INTO trackers VALUES('vzaar','Vzaar',2,NULL,'vzaar','2640',NULL,NULL);\nINSERT INTO trackers VALUES('w3counter','W3Counter',9,'https://www.w3counter.com/','awio_web_services','124',NULL,NULL);\nINSERT INTO trackers VALUES('w3roi','w3roi',9,'http://www.w3roi.com/','w3roi','669',NULL,NULL);\nINSERT INTO trackers VALUES('wahoha','Wahoha',4,'http://wahoha.com/','wahoha','666',NULL,NULL);\nINSERT INTO trackers VALUES('walkme.com','WalkMe',4,'https://www.walkme.com/','walkme','3076',NULL,NULL);\nINSERT INTO trackers VALUES('wall_street_on_demand','Wall Street on Demand',1,'http://www.wallst.com','markit_on_demand','449',NULL,NULL);\nINSERT INTO trackers VALUES('wallee','wallee',9,'https://wallee.com','wallee','',NULL,NULL);\nINSERT INTO trackers VALUES('walley','Walley',11,'https://www.walleypay.com/','norion_bank','',NULL,NULL);\nINSERT INTO trackers VALUES('walmart','Walmart',7,NULL,NULL,'3961',NULL,NULL);\nINSERT INTO trackers VALUES('wamcash','Wamcash',8,'http://wamcash.com/','wamcash','1391',NULL,NULL);\nINSERT INTO trackers VALUES('wanelo','Wanelo',4,NULL,'wanelo','2423',NULL,NULL);\nINSERT INTO trackers VALUES('warp.ly','Warp.ly',9,NULL,'warp.ly','2520',NULL,NULL);\nINSERT INTO trackers VALUES('way2traffic','Way2traffic',1,'https://www.way2traffic.com/','way2traffic','1200',NULL,NULL);\nINSERT INTO trackers VALUES('wayfair_com','Wayfair',7,'https://www.wayfair.com/',NULL,'3962',NULL,NULL);\nINSERT INTO trackers VALUES('wdr.de','wdr.de',7,'https://www1.wdr.de/index.html',NULL,'3963',NULL,NULL);\nINSERT INTO trackers VALUES('web-stat','Web-Stat',9,'http://www.web-stat.net/','web-stat','327',NULL,NULL);\nINSERT INTO trackers VALUES('web.de','web.de',7,'https://web.de/',NULL,'3964',NULL,NULL);\nINSERT INTO trackers VALUES('web.stat','Web.STAT',9,'http://webstat.net/','web.stat','1431',NULL,NULL);\nINSERT INTO trackers VALUES('web_service_award','Web Service Award',9,'http://webserviceaward.com/english/','web_service_award','1026',NULL,NULL);\nINSERT INTO trackers VALUES('web_traxs','Web Traxs',9,'http://websolutions.thomasnet.com/web-traxs-analytics.php','thomasnet_websolutions','441',NULL,NULL);\nINSERT INTO trackers VALUES('web_wipe_analytics','Web Wipe Analytics',9,'http://tensquare.de','tensquare','651',NULL,NULL);\nINSERT INTO trackers VALUES('webads','WebAds',1,'http://www.webads.co.uk/','webads','1185',NULL,NULL);\nINSERT INTO trackers VALUES('webantenna','WebAntenna',9,'https://www.bebit.co.jp/webantenna/','webantenna','1308',NULL,NULL);\nINSERT INTO trackers VALUES('webclicks24_com','webclicks24.com',7,NULL,NULL,'3965',NULL,NULL);\nINSERT INTO trackers VALUES('webclose.net','webclose.net',5,NULL,NULL,'3966',NULL,NULL);\nINSERT INTO trackers VALUES('webcollage','Webcollage',4,NULL,'webcollage','2261',NULL,NULL);\nINSERT INTO trackers VALUES('webedia','Webedia',1,'http://fr.webedia-group.com/','fimalac_group','3967',NULL,NULL);\nINSERT INTO trackers VALUES('webeffective','WebEffective',9,'https://www.keynote.com/','keynote_systems','1207',NULL,NULL);\nINSERT INTO trackers VALUES('webengage','WebEngage',4,'https://webengage.com/','webengage','1971',NULL,NULL);\nINSERT INTO trackers VALUES('webgains','Webgains',7,NULL,NULL,'3968',NULL,NULL);\nINSERT INTO trackers VALUES('webgozar','WebGozar',9,'http://webgozar.com/','webgozar','589',NULL,NULL);\nINSERT INTO trackers VALUES('webhelpje','Webhelpje',4,'https://www.webhelpje.nl/','webhelpje','1222',NULL,NULL);\nINSERT INTO trackers VALUES('webleads_tracker','Webleads Tracker',9,'https://www.webleads-tracker.fr/','webleads_tracker','1891',NULL,NULL);\nINSERT INTO trackers VALUES('webmecanik','Webmecanik',9,NULL,'webmecanik','2608',NULL,NULL);\nINSERT INTO trackers VALUES('weborama','Weborama',1,'https://weborama.com/','weborama','532',NULL,NULL);\nINSERT INTO trackers VALUES('webprospector','WebProspector',9,'http://www.webprospector.de/','webprospector','921',NULL,NULL);\nINSERT INTO trackers VALUES('webstat','WebSTAT',9,'https://www.webstat.com/','webstat','1705',NULL,NULL);\nINSERT INTO trackers VALUES('webstat.se','Webstat.se',9,'http://www.webstat.se/','webstat.se','1430',NULL,NULL);\nINSERT INTO trackers VALUES('webtrack','webtrack',9,'http://www.webtrack.biz/','webtrack','1681',NULL,NULL);\nINSERT INTO trackers VALUES('webtraffic','Webtraffic',9,'http://www.webtraffic.se/','schibsted_asa','1190',NULL,NULL);\nINSERT INTO trackers VALUES('webtrekk','Mapp Digital Analytics',9,'https://mapp.com/digital-analytics/','mapp_digital','269',NULL,NULL);\nINSERT INTO trackers VALUES('webtrekk_cc','Webtrek Control Cookie',9,NULL,'mapp_digital','2971',NULL,'webtrekk');\nINSERT INTO trackers VALUES('webtrends','Webtrends',9,'https://www.webtrends.com/','webtrends','49',NULL,NULL);\nINSERT INTO trackers VALUES('webtrends_ads','Webtrends Ads',1,'http://www.webtrends.com','webtrends','1125',NULL,NULL);\nINSERT INTO trackers VALUES('webvisor','WebVisor',9,'http://webvisor.ru','yandex','261',NULL,NULL);\nINSERT INTO trackers VALUES('wedcs','WEDCS',1,NULL,'microsoft','2237',NULL,'microsoft');\nINSERT INTO trackers VALUES('weebly_ads','Weebly Ads',1,'http://www.weebly.com','weebly','1271',NULL,NULL);\nINSERT INTO trackers VALUES('weibo_widget','Weibo Widget',1,'http://www.sina.com/','sina','1574',NULL,NULL);\nINSERT INTO trackers VALUES('westlotto_com','westlotto.com',7,'https://westlotto.com/',NULL,'3969',NULL,NULL);\nINSERT INTO trackers VALUES('whatbroadcast','Whatbroadcast',4,NULL,'whatsbroadcast','2810',NULL,NULL);\nINSERT INTO trackers VALUES('whos.amung.us','Whos.amung.us',9,'https://whos.amung.us/','whos.amung.us','252',NULL,NULL);\nINSERT INTO trackers VALUES('whoson','WhosOn',9,'https://www.whoson.com/','whoson','996',NULL,NULL);\nINSERT INTO trackers VALUES('wibbitz','Wibbitz',2,NULL,'wibbitz','2770',NULL,NULL);\nINSERT INTO trackers VALUES('wibiya_toolbar','Wibiya Toolbar',10,'http://www.wibiya.com/','wibiya','280',NULL,NULL);\nINSERT INTO trackers VALUES('widdit','Widdit',4,'https://www.predictad.com/','widdit','320',NULL,NULL);\nINSERT INTO trackers VALUES('widerplanet','WiderPlanet',1,'https://widerplanet.com/','wider_planet','2033',NULL,NULL);\nINSERT INTO trackers VALUES('widespace','Widespace',1,'https://www.widespace.com/','widespace','1906',NULL,NULL);\nINSERT INTO trackers VALUES('widgetbox','WidgetBox',4,'https://www.widgetbox.com/','widgetbox','248',NULL,NULL);\nINSERT INTO trackers VALUES('wifionboard','WiFi OnBoard',9,'https://www.wifionboard.com/','intelsat','',NULL,NULL);\nINSERT INTO trackers VALUES('wiget_media','Wiget Media',1,'http://wigetmedia.com','wiget_media','1037',NULL,NULL);\nINSERT INTO trackers VALUES('wigzo','Wigzo',1,NULL,'wigzo','3240',NULL,NULL);\nINSERT INTO trackers VALUES('wikia-services.com','Wikia Services',7,'http://www.wikia.com/fandom','wikia','3972',NULL,NULL);\nINSERT INTO trackers VALUES('wikia_beacon','Wikia Beacon',9,'http://www.wikia.com/','wikia','1202',NULL,NULL);\nINSERT INTO trackers VALUES('wikia_cdn','Wikia CDN',6,NULL,'wikia','3971',NULL,NULL);\nINSERT INTO trackers VALUES('wikimedia.org','WikiMedia',6,'https://wikimediafoundation.org/','wikimedia_foundation','3973',NULL,NULL);\nINSERT INTO trackers VALUES('winaffiliates','Winaffiliates',9,NULL,'winaffiliates','2664',NULL,NULL);\nINSERT INTO trackers VALUES('wipmania','WIPmania',9,'http://www.wipmania.com/','wipmania','1555',NULL,NULL);\nINSERT INTO trackers VALUES('wiqhit','WiQhit',9,NULL,'wiqhit','2805',NULL,NULL);\nINSERT INTO trackers VALUES('wirecard','Wirecard',4,'https://www.wirecard.com/',NULL,'3974',NULL,NULL);\nINSERT INTO trackers VALUES('wiredminds','WiredMinds',9,'https://www.wiredminds.de/','wiredminds','510',NULL,NULL);\nINSERT INTO trackers VALUES('wirtualna_polska','Wirtualna Polska',1,NULL,'wirtualna_polska','2735',NULL,NULL);\nINSERT INTO trackers VALUES('wisepops','WisePops',1,'https://wisepops.com/','wisepops','2092',NULL,NULL);\nINSERT INTO trackers VALUES('wishpond','Wishpond',4,NULL,'wishpond','2265',NULL,NULL);\nINSERT INTO trackers VALUES('wistia','Wistia',9,'https://wistia.com/','wistia','2336',NULL,'wistia_assets');\nINSERT INTO trackers VALUES('wistia_assets','Wistia Assets',2,'https://wistia.com/','wistia','',NULL,NULL);\nINSERT INTO trackers VALUES('wix.com','Wix',6,'https://www.wix.com/','wix','3975',NULL,NULL);\nINSERT INTO trackers VALUES('wixab','Wixab',9,NULL,'wixab','3184',NULL,NULL);\nINSERT INTO trackers VALUES('wixmp','Wix Media Platform',6,'https://www.wixmp.com/','wix','3976',NULL,NULL);\nINSERT INTO trackers VALUES('wnzmauurgol.com','wnzmauurgol.com',7,NULL,NULL,'3977',NULL,NULL);\nINSERT INTO trackers VALUES('wonderpush','WonderPush',4,'https://www.wonderpush.com/','wonderpush','3978',NULL,NULL);\nINSERT INTO trackers VALUES('woopic.com','woopic.com',7,NULL,NULL,'3979',NULL,NULL);\nINSERT INTO trackers VALUES('woopra','Woopra',9,'http://www.woopra.com/','woopra','40',NULL,NULL);\nINSERT INTO trackers VALUES('woosmap','Woosmap',4,'https://www.woosmap.com/','woosmap','',NULL,NULL);\nINSERT INTO trackers VALUES('wordpress_ads','Wordpress Ads',1,'https://wordpress.com/','automattic','3980',NULL,NULL);\nINSERT INTO trackers VALUES('wordpress_stats','WordPress Stats',9,'https://wordpress.org/extend/plugins/stats/','automattic','24',NULL,NULL);\nINSERT INTO trackers VALUES('wordstream','WordStream',9,'https://www.wordstream.com/','wordstream','249',NULL,NULL);\nINSERT INTO trackers VALUES('worldnaturenet_xyz','worldnaturenet.xyz',5,NULL,NULL,'3981',NULL,NULL);\nINSERT INTO trackers VALUES('wp.pl','Wirtualna Polska',1,'https://www.wp.pl/','wp','2823',NULL,NULL);\nINSERT INTO trackers VALUES('wp_engine','WP Engine',11,'https://wpengine.com/','wp_engine','3982',NULL,NULL);\nINSERT INTO trackers VALUES('writeup_clickanalyzer','WriteUp ClickAnalyzer',9,'http://www.writeup.co.jp/','writeup','1810',NULL,NULL);\nINSERT INTO trackers VALUES('wufoo','Wufoo',4,'https://www.wufoo.com/','surveymonkey','',NULL,NULL);\nINSERT INTO trackers VALUES('wurfl','WURFL',9,'https://web.wurfl.io/','scientiamobile','3983',NULL,NULL);\nINSERT INTO trackers VALUES('wwwpromoter','WWWPromoter',1,NULL,'wwwpromoter','2545',NULL,NULL);\nINSERT INTO trackers VALUES('wykop','Wykop',10,'http://www.wykop.pl','wykop','1959',NULL,NULL);\nINSERT INTO trackers VALUES('wysistat.com','WysiStat',9,'https://www.wysistat.net/','wysistat','902',NULL,NULL);\nINSERT INTO trackers VALUES('wywy.com','wywy',1,'http://wywy.com/','tvsquared','3078',NULL,NULL);\nINSERT INTO trackers VALUES('x-lift','X-lift',1,NULL,'x-lift','3243',NULL,NULL);\nINSERT INTO trackers VALUES('xapads','Xapads',1,NULL,'xapads','2970',NULL,NULL);\nINSERT INTO trackers VALUES('xen-media.com','xen-media.com',7,NULL,NULL,'3984',NULL,NULL);\nINSERT INTO trackers VALUES('xfreeservice.com','xfreeservice.com',7,NULL,NULL,'3985',NULL,NULL);\nINSERT INTO trackers VALUES('xhamster','xHamster',8,NULL,NULL,'3986',NULL,NULL);\nINSERT INTO trackers VALUES('xing','Xing',9,NULL,'xing','2636',NULL,NULL);\nINSERT INTO trackers VALUES('xmediaclicks','XmediaClicks',8,NULL,'exoclick','2863',NULL,NULL);\nINSERT INTO trackers VALUES('xnxx_cdn','xnxx CDN',6,'https://www.xnxx.com',NULL,'3987',NULL,NULL);\nINSERT INTO trackers VALUES('xplosion','xplosion',1,'http://www.xplosion.de/','xplosion_interactive','892',NULL,NULL);\nINSERT INTO trackers VALUES('xtend','XTEND',1,'https://www.xtendmedia.com/','matomy_media','344',NULL,NULL);\nINSERT INTO trackers VALUES('xvideos_com','xvideos.com',7,NULL,NULL,'3988',NULL,NULL);\nINSERT INTO trackers VALUES('xxxlshop.de','xxxlshop.de',7,'https://www.xxxlshop.de/',NULL,'3989',NULL,NULL);\nINSERT INTO trackers VALUES('xxxlutz','XXXLutz',7,'https://www.xxxlutz.de/','xxxlutz','3990',NULL,NULL);\nINSERT INTO trackers VALUES('yabbi','Yabbi',1,'https://yabbi.me/',NULL,'3991',NULL,NULL);\nINSERT INTO trackers VALUES('yabuka','Yabuka',1,'http://www.yabuka.com/','yabuka','1151',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo','Yahoo!',9,'https://yahoo.com','verizon','97',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo_ad_exchange','Yahoo! Ad Exchange',1,'https://www.verizonmedia.com/advertising','verizon','47',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo_ad_manager','Yahoo! Ad Manager Plus',1,'https://developer.yahoo.com/analytics/','verizon','2324',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo_analytics','Yahoo! Analytics',9,'http://web.analytics.yahoo.com/','verizon','27',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo_commerce_central','Yahoo! Commerce Central',1,'http://lexity.com/','verizon','1459',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo_dot_tag','Yahoo! DOT tag',1,NULL,'verizon','2717',NULL,'yahoo');\nINSERT INTO trackers VALUES('yahoo_japan_retargeting','Yahoo! Japan Retargeting',1,'https://www.yahoo.com/','yahoo_japan','1813',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo_overture','Yahoo! Overture',1,'http://searchmarketing.yahoo.com','verizon','91',NULL,NULL);\nINSERT INTO trackers VALUES('yahoo_small_business','Yahoo! Small Business',1,'http://www.pixazza.com/','verizon','453',NULL,NULL);\nINSERT INTO trackers VALUES('yandex.api','Yandex.API',4,'http://api.yandex.ru/','yandex','670',NULL,NULL);\nINSERT INTO trackers VALUES('yandex','Yandex',1,NULL,'yandex','2686',NULL,NULL);\nINSERT INTO trackers VALUES('yandex_adexchange','Yandex AdExchange',1,NULL,'yandex','2914',NULL,NULL);\nINSERT INTO trackers VALUES('yandex_advisor','Yandex.Advisor',5,'https://sovetnik.yandex.ru/','yandex','3992',NULL,NULL);\nINSERT INTO trackers VALUES('yandex_direct','Yandex.Direct',9,'https://direct.yandex.com/','yandex','2992',NULL,NULL);\nINSERT INTO trackers VALUES('yandex_metrika','Yandex Metrika',9,'https://metrica.yandex.com/','yandex','3993',NULL,NULL);\nINSERT INTO trackers VALUES('yandex_passport','Yandex Passport',4,NULL,'yandex','2915',NULL,NULL);\nINSERT INTO trackers VALUES('yapfiles.ru','yapfiles.ru',7,'https://www.yapfiles.ru/',NULL,'3994',NULL,NULL);\nINSERT INTO trackers VALUES('yashi','Yashi',1,'http://www.yashi.com/','mass2','1297',NULL,NULL);\nINSERT INTO trackers VALUES('ybrant_media','Ybrant Media',1,'http://www.addynamix.com/index.html','ybrant_media','471',NULL,NULL);\nINSERT INTO trackers VALUES('ycontent','Ycontent',2,NULL,'ycontent','2626',NULL,NULL);\nINSERT INTO trackers VALUES('yektanet','Yektanet',1,NULL,'yektanet','3135',NULL,NULL);\nINSERT INTO trackers VALUES('yengo','Yengo',1,'https://www.yengo.com/','yengo','1835',NULL,NULL);\nINSERT INTO trackers VALUES('yesmail','Yesmail',1,NULL,'yes_mail','2439',NULL,NULL);\nINSERT INTO trackers VALUES('yesup_advertising','YesUp Advertising',1,'http://yesup.net/','yesup','1427',NULL,NULL);\nINSERT INTO trackers VALUES('yesware','Yesware',4,'https://www.yesware.com/','yesware','1774',NULL,NULL);\nINSERT INTO trackers VALUES('yext','Yext',9,'https://www.yext.com','yext','',NULL,NULL);\nINSERT INTO trackers VALUES('yieldbot','Yieldbot',9,'https://www.yieldbot.com/','yieldbot','1084',NULL,NULL);\nINSERT INTO trackers VALUES('yieldify','Yieldify',1,'https://www.yieldify.com/','yieldify','1779',NULL,NULL);\nINSERT INTO trackers VALUES('yieldlab','Yieldlab',1,'http://www.yieldlab.de/','prosieben_sat1','819',NULL,NULL);\nINSERT INTO trackers VALUES('yieldlove','Yieldlove',1,'https://www.yieldlove.com/','yieldlove','3995',NULL,NULL);\nINSERT INTO trackers VALUES('yieldmo','Yieldmo',1,'https://www.yieldmo.com/','yieldmo','1823',NULL,NULL);\nINSERT INTO trackers VALUES('yieldr','Yieldr Ads',1,'https://www.yieldr.com/','yieldr','1032',NULL,NULL);\nINSERT INTO trackers VALUES('yieldr_air','Yieldr Air',9,NULL,'yieldr','3215',NULL,NULL);\nINSERT INTO trackers VALUES('yieldsquare','YieldSquare',1,'http://www.yieldsquare.com/','yieldsquare','1570',NULL,NULL);\nINSERT INTO trackers VALUES('yle','YLE',9,NULL,'yle','2639',NULL,NULL);\nINSERT INTO trackers VALUES('yllixmedia','YllixMedia',1,'https://yllix.com/','yllixmedia','2074',NULL,NULL);\nINSERT INTO trackers VALUES('ymetrica1.com','ymetrica1.com',7,NULL,NULL,'3996',NULL,NULL);\nINSERT INTO trackers VALUES('ymzrrizntbhde.com','ymzrrizntbhde.com',7,NULL,NULL,'3997',NULL,NULL);\nINSERT INTO trackers VALUES('yo_button','Yo Button',4,'http://www.justyo.co/','yo','2174',NULL,NULL);\nINSERT INTO trackers VALUES('yodle','Yodle',1,'http://www.yodle.com/','yodle','1685',NULL,NULL);\nINSERT INTO trackers VALUES('yola_analytics','Yola Analytics',9,'https://www.yola.com/','yola','1156',NULL,NULL);\nINSERT INTO trackers VALUES('yomedia','Yomedia',1,NULL,'yomedia','2631',NULL,NULL);\nINSERT INTO trackers VALUES('yoochoose.net','YOOCHOOSE',1,'https://yoochoose.com/',NULL,'3998',NULL,NULL);\nINSERT INTO trackers VALUES('yotpo','Yotpo',9,'https://www.yotpo.com/','yotpo','1622',NULL,NULL);\nINSERT INTO trackers VALUES('yottaa','Yottaa',9,'https://www.yottaa.com/','yottaa','3999',NULL,NULL);\nINSERT INTO trackers VALUES('yottly','Yottly',1,NULL,'yottly','2523',NULL,NULL);\nINSERT INTO trackers VALUES('youcanbookme','YouCanBookMe',4,NULL,'youcanbookme','3174',NULL,NULL);\nINSERT INTO trackers VALUES('youku','Youku',2,NULL,'youku','2839',NULL,NULL);\nINSERT INTO trackers VALUES('youporn','YouPorn',8,NULL,NULL,'4000',NULL,NULL);\nINSERT INTO trackers VALUES('youtube','YouTube',2,'https://www.youtube.com/','google','2303',NULL,NULL);\nINSERT INTO trackers VALUES('youtube_subscription','YouTube Subscription',4,'https://www.youtube.com/','google','1983',NULL,'youtube');\nINSERT INTO trackers VALUES('yp','YellowPages',1,'https://www.yellowpages.com/','thryv','1722',NULL,NULL);\nINSERT INTO trackers VALUES('ysance','YSance',1,NULL,'ysance','2832',NULL,NULL);\nINSERT INTO trackers VALUES('yume,_inc.','YuMe, Inc.',1,'http://www.yume.com/','yume','488',NULL,NULL);\nINSERT INTO trackers VALUES('yume','YuMe',1,NULL,'yume','4001',NULL,NULL);\nINSERT INTO trackers VALUES('yusp','Yusp',9,'https://www.yusp.com/','yusp','3153',NULL,NULL);\nINSERT INTO trackers VALUES('zadarma','Zadarma',4,NULL,'zadarma','3172',NULL,NULL);\nINSERT INTO trackers VALUES('zalando_de','zalando.de',7,NULL,'zalando','4002',NULL,NULL);\nINSERT INTO trackers VALUES('zalo','Zalo',4,'https://zaloapp.com/','zalo','2210',NULL,NULL);\nINSERT INTO trackers VALUES('zanox','Zanox',1,'http://www.zanox.com/us/','axel_springer','548',NULL,NULL);\nINSERT INTO trackers VALUES('zaparena','zaparena',1,'http://www.zaparena.com/','zapunited','779',NULL,NULL);\nINSERT INTO trackers VALUES('zappos','Zappos',1,'https://www.zappos.com/','zappos','1682',NULL,NULL);\nINSERT INTO trackers VALUES('zdassets.com','Zendesk CDN',6,'https://www.zendesk.com/','zendesk','4003',NULL,NULL);\nINSERT INTO trackers VALUES('zebestof.com','Zebestof',1,'http://www.zebestof.com/en/home/','zebestof','4004',NULL,NULL);\nINSERT INTO trackers VALUES('zedo','Zedo',1,'http://www.zedo.com/','zedo','102',NULL,NULL);\nINSERT INTO trackers VALUES('zemanta','Zemanta',1,'https://www.teads.com/','outbrain','213',NULL,NULL);\nINSERT INTO trackers VALUES('zencoder','Zencoder',2,NULL,'zencoder','2607',NULL,NULL);\nINSERT INTO trackers VALUES('zendesk','Zendesk',4,'https://www.zendesk.com/','zendesk','222',NULL,NULL);\nINSERT INTO trackers VALUES('zephr','Zephr',9,'https://www.zuora.com/products/zephr/','zuora','',NULL,NULL);\nINSERT INTO trackers VALUES('zergnet','ZergNet',4,'https://www.zergnet.com/info','zergnet','1124',NULL,NULL);\nINSERT INTO trackers VALUES('zero.kz','ZERO.kz',9,'https://zero.kz/','neolabs_zero','1872',NULL,NULL);\nINSERT INTO trackers VALUES('zeta','Zeta',4,'https://zetaglobal.com/','zeta','360',NULL,NULL);\nINSERT INTO trackers VALUES('zeusclicks','ZeusClicks',1,'http://zeusclicks.com/',NULL,'4005',NULL,NULL);\nINSERT INTO trackers VALUES('ziff_davis','Ziff Davis',1,'https://www.ziffdavis.com/','ziff_davis','1600',NULL,NULL);\nINSERT INTO trackers VALUES('zift_solutions','Zift Solutions',9,NULL,'zift_solutions','3277',NULL,NULL);\nINSERT INTO trackers VALUES('zimbio.com','Zimbio',7,'http://www.zimbio.com/',NULL,'4006',NULL,NULL);\nINSERT INTO trackers VALUES('zippyshare_widget','Zippyshare Widget',4,'https://zippyshare.com/','zippyshare','1040',NULL,NULL);\nINSERT INTO trackers VALUES('zmags','Zmags',9,'https://zmags.com/','zmags','2943',NULL,NULL);\nINSERT INTO trackers VALUES('zmctrack.net','zmctrack.net',7,NULL,NULL,'4007',NULL,NULL);\nINSERT INTO trackers VALUES('zog.link','zog.link',7,NULL,NULL,'4008',NULL,NULL);\nINSERT INTO trackers VALUES('zoho','Zoho',9,NULL,'zoho_corp','2425',NULL,NULL);\nINSERT INTO trackers VALUES('zononi.com','zononi.com',8,NULL,NULL,'4009',NULL,NULL);\nINSERT INTO trackers VALUES('zoominfo','ZoomInfo',1,'https://www.zoominfo.com','zoominfo','',NULL,NULL);\nINSERT INTO trackers VALUES('zopim','Zopim',4,'http://www.zopim.com/','zendesk','630',NULL,NULL);\nINSERT INTO trackers VALUES('zowie','Zowie',4,'https://getzowie.com','zowie','',NULL,NULL);\nINSERT INTO trackers VALUES('zukxd6fkxqn.com','zukxd6fkxqn.com',7,NULL,NULL,'4010',NULL,NULL);\nINSERT INTO trackers VALUES('zwaar','Zwaar',1,'http://www.zwaar.org','zwaar','2198',NULL,NULL);\nINSERT INTO trackers VALUES('zypmedia','ZypMedia',1,'http://www.zypmedia.com/','zypmedia','2742',NULL,NULL);\nCREATE UNIQUE INDEX tracker_domain_pair ON tracker_domains (tracker, domain);\nCOMMIT;\n"
  },
  {
    "path": "whotracksme/data/assets/trackers-preview.json",
    "content": "{\"trackers\":{\"google.com\":[4,1,0,0,0,4,0,0,1,0,1],\"fiverr.com\":[1,0,0,0,0,2,0,0,3,0,3],\"youtube.com\":[3,1,0,0,1,6,0,0,0,1,1],\"reddit.com\":[4,1,0,0,0,7,0,0,1,1,2],\"facebook.com\":[1,0,0,0,0,3,0,0,0,1,0],\"amazon.com\":[8,1,0,0,0,6,0,0,1,0,1],\"x.com\":[2,0,0,0,0,5,0,0,0,1,1],\"instagram.com\":[3,0,0,0,1,3,0,0,0,2,1],\"wikipedia.org\":[1,0,0,1,0,5,0,0,0,0,0],\"yahoo.co.jp\":[8,0,0,1,0,4,0,0,2,1,0],\"github.com\":[0,0,0,2,0,4,0,0,0,0,0],\"linkedin.com\":[14,0,0,1,0,5,2,0,3,0,4],\"bing.com\":[2,1,0,1,1,6,2,0,1,1,0],\"twitch.tv\":[4,3,0,1,1,6,1,0,2,1,1],\"xhamster.com\":[1,0,0,1,0,5,0,2,0,0,1],\"yahoo.com\":[50,2,0,1,0,8,3,0,8,2,0],\"pornhub.com\":[3,0,0,0,1,4,1,3,1,0,1],\"ebay.com\":[10,0,0,1,0,5,1,0,1,2,3],\"msn.com\":[24,1,1,2,1,8,3,0,2,3,1],\"amazon.de\":[3,1,0,0,1,6,0,0,1,0,0],\"chatgpt.com\":[3,1,0,0,0,6,0,0,4,1,3],\"sharepoint.com\":[1,0,0,2,0,4,5,0,0,0,1],\"fandom.com\":[23,2,2,4,0,11,0,0,6,0,1],\"aliexpress.com\":[23,0,0,2,1,5,1,0,1,1,1],\"bilibili.com\":[0,0,0,0,1,3,2,0,0,0,0],\"xvideos.com\":[0,0,0,0,1,2,1,0,0,0,0],\"amazon.fr\":[3,0,0,0,1,6,0,0,1,0,0],\"amazon.co.jp\":[5,1,0,0,0,6,0,0,2,0,0],\"roblox.com\":[3,1,0,1,0,7,0,0,1,0,1],\"amazon.co.uk\":[3,1,0,0,1,5,0,0,2,0,1],\"imdb.com\":[5,0,0,1,0,6,1,0,1,0,0],\"tiktok.com\":[1,0,0,1,0,5,0,0,1,0,1],\"nexusmods.com\":[24,1,2,3,1,7,2,0,5,1,0],\"ms-medicaid.com\":[0,0,0,0,0,0,0,0,0,0,1],\"microsoft.com\":[9,1,0,4,0,7,5,0,3,0,3],\"nytimes.com\":[20,1,2,0,0,7,1,0,4,2,3],\"temu.com\":[1,0,0,0,1,2,0,0,0,0,1],\"naver.com\":[3,0,0,0,0,6,0,0,1,0,0],\"pinterest.com\":[3,0,0,0,1,5,0,0,0,1,2],\"drudgereport.com\":[36,1,0,1,0,4,1,0,4,1,0],\"booking.com\":[11,0,1,1,1,6,1,0,3,1,3],\"bbc.co.uk\":[0,0,0,0,0,4,0,0,3,0,1],\"live.com\":[5,0,0,2,0,4,7,0,0,0,2],\"instructure.com\":[3,2,0,2,0,10,0,0,7,1,2],\"ebay.co.uk\":[8,0,0,1,0,5,1,0,1,1,4],\"citizenfreepress.com\":[14,0,1,0,0,2,0,0,2,0,0],\"etsy.com\":[11,0,1,2,0,4,0,0,3,1,3],\"chaturbate.com\":[2,0,0,0,1,3,0,1,1,0,0],\"amazon.ca\":[8,0,0,0,0,5,0,0,1,0,1],\"ozon.ru\":[1,0,0,0,1,1,0,0,0,0,0],\"kleinanzeigen.de\":[38,1,1,2,1,6,2,0,6,0,2],\"microsoftonline.com\":[0,0,0,0,0,2,4,0,0,0,0],\"rule34.xxx\":[0,0,0,0,1,2,0,1,1,0,0],\"theguardian.com\":[16,1,2,0,0,4,1,0,4,2,1],\"espn.com\":[28,3,1,0,0,5,1,0,10,2,2],\"indeed.com\":[4,0,0,0,0,4,0,0,3,0,3],\"canva.com\":[7,1,0,0,0,7,0,0,2,0,2],\"simpcity.cr\":[2,1,0,0,1,5,0,0,1,3,0],\"claude.ai\":[3,0,0,3,0,7,0,0,0,0,4],\"cloud.microsoft\":[0,0,0,2,0,5,5,0,0,0,1],\"foxnews.com\":[75,3,3,1,0,9,1,0,9,2,2],\"allegro.pl\":[14,0,0,0,0,3,0,0,2,0,0],\"deviantart.com\":[0,0,0,1,0,4,0,0,0,1,0],\"e-hentai.org\":[0,0,0,1,1,3,0,1,0,0,0],\"granbluefantasy.jp\":[0,0,0,0,0,2,0,0,0,0,1],\"paypal.com\":[6,0,0,3,0,2,1,0,2,0,3],\"atlassian.net\":[1,0,0,3,0,8,1,0,7,1,3],\"rakuten.co.jp\":[35,1,0,0,0,12,0,0,8,2,1],\"lemonde.fr\":[27,1,0,1,0,5,0,0,5,1,0],\"steampowered.com\":[1,1,0,0,1,5,0,0,0,0,2],\"pixiv.net\":[7,1,1,0,0,4,0,0,1,1,2],\"xnxx.com\":[0,0,0,0,0,2,0,0,0,0,0],\"supjav.com\":[4,1,0,1,1,6,0,0,3,0,0],\"steamcommunity.com\":[2,1,0,1,1,4,1,0,0,0,0],\"cnn.com\":[54,3,1,5,0,9,1,0,10,2,5],\"ebay.de\":[8,0,0,2,1,7,1,0,1,1,3],\"hitomi.la\":[1,0,0,0,0,2,0,1,0,0,0],\"hubspot.com\":[5,0,1,5,0,6,1,0,3,0,4],\"amazon.it\":[3,0,0,0,1,5,0,0,1,0,0],\"yandex.ru\":[4,1,0,0,1,3,0,0,1,2,0],\"familysearch.org\":[5,0,1,2,0,6,0,0,6,0,2],\"erome.com\":[1,0,0,1,1,3,0,1,1,0,0],\"bunkr.cr\":[0,0,0,0,1,3,0,0,1,0,0],\"upwork.com\":[11,2,1,1,0,6,0,0,5,2,3],\"vinted.fr\":[41,0,1,0,1,5,0,0,3,0,1],\"ancestry.com\":[11,0,0,1,0,0,0,0,9,1,2],\"patreon.com\":[2,1,1,2,0,6,0,0,1,0,3],\"amazon.es\":[3,0,0,1,1,7,0,0,1,0,0],\"netflix.com\":[5,1,1,0,0,3,0,0,1,0,1],\"chess.com\":[29,3,2,1,0,6,1,0,4,0,1],\"f95zone.to\":[1,1,0,1,1,4,1,0,1,2,0],\"discord.com\":[3,3,1,2,0,5,0,0,0,0,2],\"bbc.com\":[9,0,1,0,0,6,0,0,6,0,2],\"ikea.com\":[21,0,1,1,0,6,0,0,4,2,3],\"mercadolivre.com.br\":[29,1,0,0,1,2,0,0,4,1,1],\"sxyprn.com\":[1,0,0,1,0,4,0,2,2,0,0],\"bild.de\":[78,1,3,2,1,9,4,0,6,3,1],\"vk.com\":[4,0,0,0,1,4,0,0,2,2,0],\"marktplaats.nl\":[11,0,0,2,0,6,0,0,1,0,2],\"avito.ru\":[8,0,0,0,1,2,0,0,1,1,0],\"motherless.com\":[1,0,0,1,1,4,0,0,1,0,0],\"fidelity.com\":[10,0,1,0,0,4,0,0,7,0,4],\"1337x.to\":[0,0,0,0,1,3,0,0,1,0,0],\"discogs.com\":[6,1,1,2,0,7,0,0,3,2,3],\"apple.com\":[1,1,0,1,0,4,0,0,0,0,1],\"dailymail.co.uk\":[53,3,0,0,0,8,0,0,9,3,1],\"leboncoin.fr\":[40,1,1,1,1,4,0,0,2,0,2],\"letterboxd.com\":[11,0,1,2,1,4,2,0,3,1,0],\"zoom.us\":[2,0,1,0,0,3,0,0,2,0,2],\"schwab.com\":[9,0,1,0,0,2,0,0,5,2,2],\"spankbang.com\":[3,0,0,1,0,4,0,0,3,1,1],\"corriere.it\":[59,0,1,1,0,7,3,0,8,0,2],\"imagefap.com\":[3,0,0,1,1,3,0,1,1,0,0],\"4chan.org\":[0,1,0,0,0,4,0,0,2,0,0],\"intercars.eu\":[1,0,1,0,0,2,0,0,4,0,0],\"orange.fr\":[35,0,1,2,1,6,2,0,5,0,0],\"thisvid.com\":[2,0,0,1,1,5,0,1,2,0,0],\"cardmarket.com\":[6,0,0,0,1,3,0,0,2,0,0],\"infobae.com\":[13,2,0,2,1,9,1,0,5,0,2],\"amazon.in\":[5,0,0,0,1,6,0,0,2,0,1],\"bankofamerica.com\":[2,0,1,0,0,3,0,0,3,0,0],\"missav.ws\":[1,0,0,1,1,4,0,1,1,0,0],\"baidu.com\":[1,0,0,0,1,3,3,0,0,0,0],\"globo.com\":[39,1,1,1,1,9,0,0,11,3,5],\"walmart.com\":[6,0,2,2,0,4,0,0,6,0,6],\"dcinside.com\":[7,1,0,2,1,5,0,0,1,0,0],\"nu.nl\":[27,1,0,3,0,6,2,0,5,2,1],\"neopets.com\":[9,0,0,0,1,7,1,0,1,3,1],\"adobe.com\":[18,1,1,3,0,10,1,0,9,2,9],\"spotify.com\":[4,2,1,1,0,8,1,0,4,0,1],\"exhentai.org\":[0,0,0,0,1,1,0,0,1,0,0],\"dm-drogeriemarkt.com\":[1,0,0,0,0,0,1,0,1,0,1],\"nicovideo.jp\":[31,0,0,0,0,6,1,0,8,3,1],\"shopify.com\":[5,1,0,2,0,9,0,0,2,0,3],\"fmkorea.com\":[7,1,0,2,0,5,0,0,0,1,1],\"xhamster.desi\":[1,0,0,1,0,7,0,2,1,0,1],\"shein.com\":[14,0,0,2,0,3,0,0,3,3,5],\"boursorama.com\":[10,0,0,1,1,2,0,0,2,0,0],\"repubblica.it\":[55,2,1,0,1,5,0,0,8,0,2],\"lefigaro.fr\":[36,2,1,0,0,8,0,0,8,4,2],\"lichess.org\":[0,0,0,0,1,1,0,0,0,0,0],\"dmm.co.jp\":[33,1,0,0,0,8,0,0,8,2,2],\"telegraph.co.uk\":[19,1,2,1,1,6,0,0,7,4,3],\"xero.com\":[2,0,0,3,0,4,0,0,3,0,4],\"yts.bz\":[2,1,0,0,1,5,0,0,1,2,0],\"tokyomotion.net\":[2,0,0,1,0,4,0,1,2,0,0],\"ecosia.org\":[5,0,1,0,0,4,2,0,1,0,1],\"kick.com\":[7,1,0,3,0,5,0,0,2,1,1],\"archiveofourown.org\":[1,0,0,1,1,4,1,0,1,0,0],\"missav.ai\":[1,0,0,0,1,2,0,1,2,0,0],\"e621.net\":[0,0,0,0,0,1,0,0,0,0,0],\"ext.to\":[0,0,0,0,0,4,1,0,1,0,0],\"goodreads.com\":[6,1,0,0,0,6,1,0,0,2,0],\"citi.com\":[8,0,0,1,0,4,0,0,6,0,3],\"runescape.wiki\":[22,1,1,2,0,5,1,0,3,0,0],\"mercadolibre.com.ar\":[7,1,0,0,1,2,0,0,2,1,2],\"credit-agricole.fr\":[6,0,0,0,1,4,0,0,2,0,1],\"nhentai.net\":[0,0,0,1,1,4,0,1,1,0,0],\"ynet.co.il\":[17,1,0,1,1,6,1,0,5,4,0],\"sciencedirect.com\":[2,0,1,1,1,5,0,0,5,0,1],\"mobile.de\":[39,1,0,1,0,4,1,0,4,0,1],\"wowhead.com\":[31,4,1,1,0,6,1,0,5,0,4],\"bol.com\":[7,0,0,1,0,3,0,0,0,0,1],\"tumblr.com\":[13,3,0,1,0,9,0,0,4,1,2],\"mercari.com\":[37,0,1,2,0,5,0,0,6,2,5],\"rutracker.org\":[0,0,0,2,1,4,0,0,1,0,0],\"nyaa.si\":[0,0,0,1,1,4,1,1,1,0,0],\"cardgames.io\":[28,0,1,2,0,4,1,0,2,0,0],\"whatsapp.com\":[6,1,0,0,1,5,0,0,1,2,2],\"mail.ru\":[2,0,1,1,1,3,0,0,5,2,0],\"amazon.com.au\":[11,0,0,0,1,5,0,0,1,0,1],\"stripchat.com\":[2,0,0,0,0,3,0,0,2,0,0],\"zillow.com\":[27,1,2,0,0,5,0,0,8,2,6],\"intuit.com\":[19,1,2,3,0,6,0,0,12,2,4],\"weda.fr\":[0,0,0,1,0,4,0,0,0,0,2],\"azure.com\":[0,0,0,2,0,2,3,0,0,1,0],\"aol.com\":[61,2,0,2,0,6,1,0,8,4,0],\"weather.com\":[62,1,4,2,0,8,0,0,7,1,1],\"ilovepdf.com\":[6,1,0,1,1,3,0,0,1,0,1],\"force.com\":[6,0,1,5,1,10,3,0,12,1,5],\"pornpics.com\":[0,0,0,1,1,4,0,0,1,0,0],\"furaffinity.net\":[3,0,0,0,0,3,0,0,0,0,0],\"politico.com\":[27,2,1,0,0,6,1,0,8,2,3],\"wellsfargo.com\":[4,0,1,1,0,1,0,0,1,0,1],\"solitaired.com\":[11,1,2,1,0,8,0,0,1,0,1],\"boardgamearena.com\":[2,1,1,1,0,3,0,0,0,0,1],\"dlsite.com\":[15,0,0,1,1,5,0,0,7,4,2],\"strava.com\":[8,0,1,1,0,6,0,0,2,2,1],\"claude.com\":[2,1,0,5,0,9,0,0,2,0,5],\"pornolab.net\":[0,0,0,2,1,5,0,0,0,0,0],\"newsnow.co.uk\":[8,0,0,1,0,4,1,0,2,0,1],\"index.hr\":[43,1,1,0,0,10,0,0,5,4,0],\"9gag.com\":[22,0,2,2,0,7,1,0,2,0,0],\"wsj.com\":[49,1,2,0,0,8,0,0,12,4,3],\"ad.nl\":[24,1,0,2,0,6,2,0,3,3,1],\"pornhub.org\":[3,0,0,1,1,4,1,3,2,0,1],\"sudugu.org\":[1,0,0,1,0,1,0,0,0,0,0],\"duckduckgo.com\":[6,1,1,0,1,12,0,0,3,1,2],\"costco.com\":[4,0,2,2,0,5,1,0,3,0,4],\"imgur.com\":[17,0,0,1,0,5,1,0,2,3,1],\"onet.pl\":[80,2,0,2,0,9,2,0,7,3,3],\"zerofox.com\":[5,0,0,2,0,12,1,0,2,4,2],\"eporner.com\":[1,0,0,1,1,8,0,2,3,0,1],\"rule34video.com\":[1,0,0,1,1,3,0,1,1,0,0],\"t-online.de\":[47,1,1,1,0,5,3,0,4,2,0],\"ticketmaster.com.br\":[8,1,1,0,0,5,0,0,3,1,1],\"hltv.org\":[14,3,1,1,0,7,1,0,4,2,0],\"torn.com\":[1,0,0,0,0,4,1,0,1,0,2],\"vg.no\":[8,2,0,0,0,6,2,0,1,0,0],\"dailymail.com\":[30,3,0,0,0,8,0,0,8,0,2],\"sbisec.co.jp\":[27,2,0,0,1,7,0,0,6,0,2],\"tradingview.com\":[5,0,0,0,1,6,0,0,1,0,2],\"uol.com.br\":[38,1,1,1,1,11,1,0,12,3,2],\"independent.co.uk\":[52,2,1,0,0,5,0,0,7,0,2],\"noodlemagazine.com\":[1,1,0,1,1,5,0,1,3,0,0],\"gazzetta.it\":[64,0,1,2,1,8,3,0,9,2,1],\"lowes.com\":[31,3,1,5,0,6,1,0,10,3,5],\"primevideo.com\":[2,2,0,0,1,7,1,0,1,0,0],\"n-tv.de\":[45,2,0,1,1,10,3,0,5,3,1],\"grok.com\":[5,1,1,1,1,5,0,0,2,1,0],\"americanexpress.com\":[12,0,0,0,0,3,0,0,8,2,4],\"pch.com\":[16,0,1,2,0,5,0,0,10,0,2],\"amazon.com.br\":[6,0,0,0,1,6,0,0,1,0,0],\"ebay.com.au\":[27,0,0,1,1,5,1,0,2,1,4],\"openai.com\":[3,2,0,1,0,6,0,0,1,0,4],\"perplexity.ai\":[2,1,0,1,0,10,0,0,2,0,2],\"office.com\":[1,0,0,2,0,4,3,0,1,0,1],\"gelbooru.com\":[1,0,0,0,0,4,0,1,0,0,0],\"geneanet.org\":[5,0,0,0,1,2,0,0,2,2,0],\"wp.pl\":[90,2,0,3,0,6,1,0,6,3,1],\"tweakers.net\":[5,1,0,2,0,5,1,0,1,0,0],\"nypost.com\":[111,6,4,3,0,14,1,0,17,4,4],\"myanimelist.net\":[8,1,1,1,1,5,2,0,1,1,0],\"thepiratebay.org\":[2,1,0,1,0,5,0,0,1,0,1],\"scribd.com\":[42,1,1,4,1,9,1,0,6,2,4],\"spiegel.de\":[60,2,0,1,0,9,2,0,3,3,1],\"ebay.fr\":[5,0,0,0,1,5,1,0,1,0,3],\"interia.pl\":[29,0,0,1,1,5,0,0,3,2,0],\"socialmediagirls.com\":[4,1,0,1,0,9,1,0,2,3,0],\"rightmove.co.uk\":[24,2,1,1,0,6,1,0,6,0,1],\"quora.com\":[34,1,2,3,0,7,1,0,3,0,1],\"marca.com\":[61,1,1,1,1,5,1,0,5,2,0],\"huggingface.co\":[1,0,0,3,0,5,0,0,0,1,1],\"substack.com\":[4,3,0,1,0,7,0,0,2,1,3],\"mlb.com\":[34,1,1,0,0,5,0,0,10,2,5],\"crunchyroll.com\":[3,2,2,4,1,4,1,0,2,0,4],\"tktube.com\":[3,0,0,0,0,2,0,0,2,0,0],\"dropbox.com\":[8,1,0,2,0,5,3,0,2,0,4],\"sahibinden.com\":[7,0,1,1,1,7,0,0,3,0,3],\"writerpro.com\":[2,0,0,1,0,3,0,0,1,0,3],\"leroymerlin.fr\":[12,1,1,2,1,2,1,0,5,1,1],\"rawstory.com\":[55,1,3,2,0,7,0,0,9,3,4],\"itch.io\":[4,1,0,2,1,5,0,0,1,0,1],\"idnes.cz\":[12,0,1,0,0,4,0,0,2,0,2],\"amazon.nl\":[3,0,0,1,0,7,0,0,1,0,0],\"washingtonpost.com\":[42,1,1,0,0,9,0,0,8,1,1],\"nos.nl\":[2,1,0,0,1,3,0,0,2,1,1],\"sozcu.com.tr\":[57,1,0,0,1,6,1,0,5,3,0],\"gitlab.com\":[3,0,1,0,0,5,0,0,2,1,0],\"disneyplus.com\":[9,1,1,1,0,3,1,0,3,0,3],\"fitgirl-repacks.site\":[3,1,0,1,1,5,0,0,3,1,1],\"thegatewaypundit.com\":[41,1,0,2,0,6,0,0,7,2,2],\"chase.com\":[9,0,0,0,0,4,0,0,2,1,1],\"allegrolokalnie.pl\":[1,0,0,0,0,2,0,0,0,0,1],\"sankakucomplex.com\":[0,0,0,1,1,5,0,1,0,0,0],\"wunderground.com\":[69,0,2,3,0,6,1,0,6,0,1],\"ouest-france.fr\":[52,0,3,1,1,9,0,0,3,0,1],\"etrade.com\":[14,0,0,2,0,2,0,0,7,3,3],\"aniwatchtv.to\":[4,2,0,0,0,6,0,0,2,0,0],\"threads.com\":[2,0,0,0,1,3,0,0,0,2,0],\"nextdoor.com\":[9,0,2,1,0,5,0,0,3,0,3],\"usps.com\":[3,0,0,1,0,4,0,0,2,0,2],\"lequipe.fr\":[118,3,4,3,0,11,4,0,13,4,4],\"stripe.com\":[3,0,0,2,0,7,1,0,0,0,6],\"wiki.gg\":[6,1,1,3,1,5,1,0,2,0,0],\"kakuyomu.jp\":[16,0,0,1,0,5,0,0,2,3,1],\"heise.de\":[73,2,0,1,0,6,2,0,7,1,0],\"hln.be\":[31,1,0,3,0,5,2,0,3,3,1],\"cnbc.com\":[43,2,1,0,0,8,0,0,12,1,5],\"news.com.au\":[70,2,3,1,0,13,2,0,20,5,3],\"funnyjunk.com\":[10,1,0,0,0,1,0,0,0,0,0],\"donmai.us\":[0,0,0,1,0,3,0,0,1,0,0],\"telegraaf.nl\":[50,1,1,3,0,5,1,0,7,3,0],\"mercadolibre.com.mx\":[8,0,0,0,1,3,0,0,3,1,1],\"jeuxvideo.com\":[39,1,1,2,0,5,1,0,3,2,0],\"capitalone.com\":[6,0,0,2,0,3,0,0,4,0,3],\"amazon.com.mx\":[6,0,0,1,1,7,0,0,1,0,0],\"20minutes.fr\":[46,0,1,0,0,5,0,0,3,0,2],\"hbomax.com\":[10,2,1,1,0,8,0,0,3,0,2],\"skroutz.gr\":[6,1,0,2,1,7,0,0,2,0,4],\"njavtv.com\":[1,0,0,0,0,3,0,1,1,0,0],\"usatoday.com\":[73,2,3,3,0,8,1,0,14,3,2],\"bfmtv.com\":[51,3,1,0,0,4,1,0,8,2,2],\"huffpost.com\":[51,2,2,1,0,8,2,0,6,5,1],\"tv2.dk\":[14,1,2,0,0,7,1,0,4,0,1],\"vinted.co.uk\":[52,0,1,1,0,4,0,0,5,0,1],\"bestbuy.com\":[14,0,0,3,0,6,0,0,4,0,4],\"yandex.com\":[4,1,0,1,1,4,0,1,2,3,0],\"olx.pl\":[41,0,1,1,0,6,2,0,5,0,2],\"doordash.com\":[12,1,0,4,0,7,0,0,10,3,5],\"gmx.net\":[58,2,0,2,1,7,4,0,2,0,2],\"boyfriendtv.com\":[0,0,0,1,0,6,1,1,2,0,3],\"pikabu.ru\":[9,1,0,0,1,2,1,0,3,2,0],\"web.de\":[62,3,2,2,1,9,3,0,2,0,2],\"eksisozluk.com\":[11,1,1,0,1,4,0,0,2,2,0],\"okta.com\":[4,0,1,0,0,3,0,0,2,0,4],\"finn.no\":[15,0,0,1,0,5,1,0,1,0,1],\"vanguard.com\":[25,1,1,3,0,2,0,0,6,1,2],\"warcraftlogs.com\":[14,2,1,2,0,4,2,0,6,2,1],\"slickdeals.net\":[54,0,4,2,0,9,2,0,8,2,1],\"t.me\":[0,0,0,1,1,3,0,0,0,0,0],\"gazeta.pl\":[49,1,1,1,1,4,1,0,4,0,0],\"asurascans.com\":[1,0,0,0,1,3,0,0,1,0,0],\"rumble.com\":[7,0,0,0,0,6,0,0,2,1,1],\"ca.gov\":[5,1,0,2,0,11,0,0,9,0,1],\"vipergirls.to\":[1,0,0,1,1,3,0,0,2,0,0],\"flickr.com\":[5,0,1,0,0,6,0,0,1,1,1],\"imhentai.xxx\":[1,0,0,1,0,7,0,0,2,0,0],\"hlsloader.com\":[1,0,0,0,0,3,0,0,0,0,0],\"accuweather.com\":[22,0,1,1,0,3,2,0,6,0,0],\"mangago.me\":[5,0,0,0,1,1,0,0,1,0,0],\"apnews.com\":[55,2,2,1,0,7,1,0,9,0,4],\"syosetu.com\":[23,0,0,1,0,5,0,0,1,2,0],\"jav.guru\":[2,1,0,1,1,7,0,1,3,0,0],\"tnaflix.com\":[3,0,0,1,1,3,0,1,1,0,0],\"researchgate.net\":[6,0,1,1,0,7,0,0,1,0,0],\"moneycontrol.com\":[13,1,0,0,0,6,0,0,4,2,0],\"9animetv.to\":[4,1,0,1,0,6,0,0,2,0,0],\"makerworld.com\":[3,1,1,0,0,6,0,0,2,0,0],\"francetravail.fr\":[2,0,0,2,1,5,1,0,4,0,1],\"aastocks.com\":[1,0,0,0,0,0,0,0,2,0,0],\"vinted.it\":[22,0,1,0,0,2,0,0,1,0,1],\"vinted.pl\":[39,0,1,0,0,3,0,0,1,0,1],\"note.com\":[3,1,0,0,0,7,0,0,1,2,1],\"notion.so\":[9,2,0,2,0,9,2,0,2,1,3],\"ups.com\":[10,0,1,2,0,6,0,0,11,0,4],\"fedex.com\":[6,1,1,1,0,6,0,0,5,0,5],\"forocoches.com\":[12,1,0,0,0,8,1,0,2,3,0],\"hm.com\":[12,1,0,2,0,6,1,0,7,2,3],\"mangadex.org\":[5,0,0,0,1,3,0,0,0,0,0],\"abc.net.au\":[2,1,0,0,0,3,0,0,4,2,1],\"kicker.de\":[43,3,1,1,0,6,3,0,5,0,0],\"id.me\":[2,0,1,1,0,5,0,0,2,0,1],\"shopee.co.id\":[5,0,0,0,1,2,0,0,1,0,1],\"target.com\":[9,0,0,3,0,4,0,0,3,0,5],\"creditmutuel.fr\":[3,0,0,0,1,0,0,0,0,0,0],\"nasa.gov\":[3,3,0,1,0,8,0,0,3,1,0],\"onlyfans.com\":[1,1,0,1,1,6,0,0,2,1,0],\"xhamsterlive.com\":[1,0,0,0,1,3,0,2,2,0,1],\"irs.gov\":[3,1,0,1,0,4,0,0,2,1,0],\"civitai.com\":[20,1,0,3,0,4,0,0,3,0,0],\"paramountplus.com\":[34,1,1,0,0,4,0,0,9,3,2],\"kemono.cr\":[0,0,0,2,1,3,0,1,0,0,0],\"speedtest.net\":[56,1,1,4,1,6,1,0,8,0,1],\"airbnb.com\":[8,0,0,2,0,6,0,0,2,1,3],\"yelp.com\":[23,0,1,0,0,5,0,0,5,0,4],\"figma.com\":[3,2,0,2,0,10,0,0,2,1,3],\"soundcloud.com\":[17,2,1,0,0,5,0,0,3,1,2],\"curseforge.com\":[22,2,1,4,0,8,1,0,5,1,0],\"gayporntube.com\":[1,0,0,1,0,2,1,2,1,0,0],\"ikioi-ranking.com\":[3,2,0,0,0,3,0,0,1,0,0],\"as.com\":[65,1,2,1,1,9,1,0,5,3,3],\"taobao.com\":[3,0,0,1,1,4,1,0,0,0,0],\"jpost.com\":[62,1,1,2,0,5,1,0,5,3,0],\"aa.com\":[14,1,2,0,0,8,2,0,10,1,3],\"aliexpress.us\":[40,2,0,2,0,5,1,0,1,1,2],\"slack.com\":[9,1,1,1,0,6,0,0,8,2,3],\"jpg6.su\":[0,0,0,0,1,2,0,0,0,0,0],\"zendesk.com\":[3,1,1,4,0,13,0,0,8,1,3],\"doctolib.fr\":[1,0,1,1,1,4,0,0,0,0,3],\"marriott.com\":[24,1,1,3,0,10,2,0,11,2,3],\"cloudflare.com\":[10,0,1,3,0,4,0,0,3,1,2],\"delta.com\":[13,0,1,1,0,4,2,0,6,2,6],\"imgsrc.ru\":[0,0,0,1,1,5,0,0,1,0,0],\"subito.it\":[20,0,1,3,1,4,1,0,1,0,2],\"missav.live\":[1,0,0,0,0,3,0,0,1,0,0],\"wildberries.ru\":[1,0,0,0,1,2,0,0,1,0,0],\"bom.gov.au\":[2,0,0,0,0,2,0,0,2,0,0],\"sporcle.com\":[44,0,1,1,0,6,2,0,3,0,0],\"dzen.ru\":[3,0,0,0,1,3,0,0,3,2,0],\"eztvx.to\":[2,0,0,0,0,3,0,0,2,0,0],\"sxyprn.net\":[1,0,0,0,0,3,0,1,2,0,0],\"tcgplayer.com\":[5,0,0,1,0,5,0,0,5,0,3],\"ya.ru\":[4,1,0,0,1,3,0,0,3,3,0],\"otomoto.pl\":[24,1,1,2,0,8,2,0,5,0,2],\"pimpbunny.com\":[2,0,0,1,0,3,0,0,1,0,1],\"rakuten-sec.co.jp\":[7,0,0,0,0,5,0,0,3,0,0],\"webtoons.com\":[13,0,1,0,0,4,0,0,2,2,0],\"labanquepostale.fr\":[26,1,0,0,1,3,0,0,2,0,1],\"annas-archive.gl\":[0,0,0,1,1,4,0,0,1,0,0],\"free.fr\":[11,0,1,1,1,4,0,0,1,0,0],\"docusign.com\":[2,2,0,0,0,5,1,0,6,0,2],\"cam4.com\":[2,0,0,1,1,3,1,0,3,0,1],\"kwork.com\":[2,0,0,0,0,0,0,0,0,0,0],\"genius.com\":[59,1,1,2,0,8,0,0,8,2,0],\"messenger.com\":[1,1,0,0,0,3,0,0,0,2,0],\"steamdb.info\":[0,0,0,1,1,4,0,0,1,0,1],\"com.be\":[4,0,0,0,1,5,1,0,1,0,0],\"ruliweb.com\":[6,1,0,1,1,7,0,0,0,2,0],\"resetera.com\":[49,1,1,2,0,8,3,0,7,5,0],\"lookmovie2.to\":[2,1,0,1,1,5,0,0,2,0,0],\"emag.ro\":[12,1,0,2,0,10,0,0,5,2,2],\"vkvideo.ru\":[2,0,0,1,1,4,0,0,3,2,0],\"stackoverflow.com\":[21,1,1,0,0,10,1,0,2,2,1],\"xfinity.com\":[18,0,1,3,0,6,0,0,10,2,3],\"bandcamp.com\":[3,0,0,1,0,2,0,0,1,1,2],\"scryfall.com\":[1,0,0,0,0,2,0,0,2,0,0],\"udemy.com\":[9,1,1,2,0,8,0,0,4,1,4],\"mangakakalot.gg\":[1,0,0,0,1,6,0,0,3,0,0],\"wattpad.com\":[17,1,1,2,0,5,0,0,3,1,2],\"ebay.it\":[25,1,0,0,1,4,1,0,1,0,3],\"autotrader.co.uk\":[6,0,0,3,0,3,0,0,4,0,1],\"ekstrabladet.dk\":[18,1,1,2,0,9,1,0,2,3,0],\"ebay.ca\":[29,1,0,0,1,3,1,0,2,0,3],\"aliexpress.ru\":[7,0,0,1,1,3,1,0,3,1,0],\"ancestry.co.uk\":[10,0,0,1,0,0,0,0,7,1,0],\"timesofisrael.com\":[38,1,1,1,0,8,0,0,5,4,2],\"binance.com\":[4,0,1,0,0,7,0,0,1,0,4],\"porntrex.com\":[2,0,0,0,1,3,0,0,1,0,0],\"ilfattoquotidiano.it\":[48,2,0,2,1,8,0,0,8,1,1],\"livedoor.jp\":[15,1,0,0,1,7,1,1,6,6,1],\"ansa.it\":[30,3,1,0,1,10,0,0,4,0,0],\"investing.com\":[98,0,2,2,1,11,0,0,13,2,4],\"sofascore.com\":[40,1,0,0,1,5,0,0,3,0,2],\"findagrave.com\":[38,0,1,1,0,7,0,0,1,0,0],\"faphouse.com\":[1,0,0,1,0,7,0,1,0,0,1],\"futbin.com\":[29,0,1,2,0,5,1,0,5,0,0],\"tagesschau.de\":[0,1,0,0,0,3,0,0,0,0,0],\"rapidgator.net\":[1,0,0,0,1,2,0,0,1,0,0],\"medium.com\":[3,1,0,5,0,7,0,0,3,0,3],\"rateyourmusic.com\":[8,1,1,2,0,4,1,0,1,2,0],\"netsuite.com\":[2,0,0,0,0,3,0,0,2,0,1],\"instant-gaming.com\":[8,4,0,3,1,5,0,0,4,2,4],\"gamebanana.com\":[17,1,1,5,1,5,3,0,4,1,0],\"myworkday.com\":[0,0,0,1,0,2,0,0,2,0,1],\"seznam.cz\":[13,0,0,0,0,4,0,0,2,0,1],\"boursobank.com\":[4,0,1,1,0,4,0,0,2,0,0],\"elpais.com\":[76,2,4,2,0,13,0,0,9,3,2],\"royalbank.com\":[5,0,1,2,0,3,0,0,2,0,2],\"iheart.com\":[12,1,1,2,0,3,0,0,4,3,2],\"freepik.com\":[8,0,1,1,1,8,0,0,8,1,1],\"redfin.com\":[13,1,1,0,0,6,0,0,4,0,4],\"aniworld.to\":[3,1,0,0,1,7,0,0,1,2,0],\"lanacion.com.ar\":[16,2,0,1,0,5,1,0,3,2,2],\"reuters.com\":[39,1,2,2,0,5,1,0,15,0,3],\"xxxclub.to\":[0,0,0,1,0,4,0,0,1,0,0],\"bank.in\":[5,1,0,0,1,10,2,0,7,2,4],\"youporn.com\":[3,0,0,1,1,4,1,3,1,0,0],\"myworkdayjobs.com\":[4,0,0,0,0,3,1,0,1,1,0],\"yaplakal.com\":[9,1,0,1,1,4,1,0,4,4,0],\"indiatimes.com\":[66,1,0,0,1,9,1,0,11,3,1],\"walla.co.il\":[10,1,0,0,0,4,1,0,2,3,0],\"manhwaclan.com\":[1,0,0,0,1,3,0,0,0,1,0],\"trendyol.com\":[33,1,1,0,1,5,0,0,6,2,0],\"olx.ua\":[30,0,0,1,0,5,2,0,5,0,2],\"dr.dk\":[3,0,1,1,0,6,0,0,2,0,0],\"bsky.app\":[4,1,0,1,1,6,0,0,1,2,1],\"idealo.de\":[11,1,1,1,1,4,1,0,0,0,0],\"5ch.io\":[2,1,0,0,0,3,1,0,0,0,0],\"prolific.com\":[10,0,1,3,0,4,0,0,10,2,4],\"novelbin.com\":[5,0,0,2,0,5,0,0,1,0,0],\"flashscore.com\":[15,0,1,0,0,5,1,0,2,0,1],\"funda.nl\":[15,0,1,1,0,7,0,0,4,0,5],\"xhamster45.desi\":[1,0,0,1,0,7,0,2,0,0,1],\"salesforce.com\":[10,1,2,4,0,7,0,0,12,2,5],\"mit.edu\":[4,2,0,3,0,7,0,0,3,0,3],\"google.fr\":[4,1,0,0,1,4,0,0,0,0,0],\"atlassian.com\":[3,1,1,3,0,8,0,0,4,1,7],\"samsung.com\":[27,1,2,4,1,11,0,0,18,2,5],\"vimeo.com\":[6,2,1,1,0,8,0,0,6,0,3],\"mangabuddy.com\":[3,0,0,0,0,5,1,0,1,0,1],\"wallapop.com\":[34,0,1,3,0,10,1,0,5,0,3],\"sport24.gr\":[11,2,1,1,0,5,0,0,6,3,0],\"rottentomatoes.com\":[21,2,1,0,0,8,0,0,7,0,2],\"imagetwist.com\":[2,0,0,0,0,4,0,1,3,0,0],\"daum.net\":[6,1,0,1,0,5,0,0,1,0,1],\"fetchv.net\":[2,0,0,0,0,3,1,2,2,1,0],\"nnmclub.to\":[2,1,0,2,1,5,0,0,3,0,0],\"nih.gov\":[2,0,0,1,1,10,0,0,6,1,1],\"demonicscans.org\":[2,0,0,1,0,2,0,0,2,0,0],\"travian.com\":[3,0,1,0,1,3,0,0,1,0,0],\"fc2.com\":[8,1,0,0,0,7,0,0,3,4,0],\"welt.de\":[74,2,2,2,0,7,6,0,8,3,1],\"bunkr-albums.io\":[0,0,0,0,1,1,0,0,0,0,1],\"aftonbladet.se\":[9,1,0,1,0,7,2,0,2,0,2],\"qq.com\":[2,0,0,1,0,4,1,0,0,0,0],\"natomanga.com\":[1,0,0,0,0,7,0,0,2,0,0],\"shop.app\":[4,0,0,0,0,7,0,0,3,0,3],\"mgeko.cc\":[2,0,0,1,1,6,0,0,2,0,1],\"index.hu\":[17,1,1,0,0,7,0,0,1,3,1],\"livecamrips.to\":[6,0,0,0,1,8,0,2,3,0,0],\"planetsuzy.org\":[3,0,0,0,1,5,1,1,3,0,0],\"pornone.com\":[1,0,0,1,1,5,0,0,2,0,0],\"yodobashi.com\":[9,1,0,1,0,4,0,0,3,2,2],\"togetter.com\":[18,1,0,0,0,6,0,0,1,2,0],\"gofile.io\":[1,0,0,1,1,3,0,1,0,0,0],\"dagbladet.no\":[10,1,1,1,0,6,0,0,4,3,0],\"voir-anime.to\":[7,2,0,1,0,9,0,0,3,1,0],\"sourceforge.net\":[7,1,1,1,1,4,0,0,5,0,0],\"arca.live\":[3,1,0,1,0,4,0,0,2,1,0],\"wordpress.com\":[8,1,0,4,1,8,0,0,6,7,4],\"dndbeyond.com\":[7,1,1,0,0,6,0,0,7,3,3],\"marketwatch.com\":[31,0,2,0,0,7,0,0,11,3,4],\"shopee.tw\":[5,0,0,0,1,2,0,0,0,0,2],\"ryanair.com\":[3,1,1,2,0,8,1,0,4,0,2],\"docomo.ne.jp\":[32,1,0,0,0,6,0,0,7,2,2],\"canada.ca\":[3,0,0,0,0,11,1,0,4,0,1],\"td.com\":[8,0,1,2,1,3,0,0,1,0,3],\"lenovo.com\":[27,1,0,6,0,10,2,0,12,1,3],\"royalroad.com\":[25,0,1,2,0,4,2,0,1,0,1],\"quizlet.com\":[62,0,2,3,0,9,1,0,5,3,3],\"flightaware.com\":[24,1,3,2,1,4,0,0,7,1,1],\"mangafire.to\":[1,0,0,0,0,3,0,0,2,0,0],\"orf.at\":[3,0,1,0,0,2,0,0,1,1,0],\"thehill.com\":[52,0,2,0,0,11,0,0,13,0,3],\"24ur.com\":[35,0,1,2,0,4,0,0,3,0,1],\"cra-arc.gc.ca\":[1,0,0,0,0,3,0,0,1,0,2],\"pixabay.com\":[2,0,1,0,0,7,0,0,1,0,2],\"kantangame.com\":[33,1,0,0,0,5,0,0,2,1,0],\"nbcnews.com\":[50,1,2,0,0,6,0,0,9,3,3],\"ms.now\":[22,1,1,0,0,4,0,0,8,3,2],\"ft.com\":[13,0,1,0,0,7,0,0,4,3,2],\"thingiverse.com\":[62,1,4,4,1,6,1,0,4,0,0],\"archive.org\":[2,1,0,1,1,6,0,0,1,0,1],\"epicgames.com\":[2,0,1,1,1,7,0,0,0,0,3],\"skidrowreloaded.com\":[2,1,0,1,1,5,0,0,1,2,0],\"redgifs.com\":[1,0,1,0,0,3,0,0,1,0,0],\"nvidia.com\":[7,1,1,2,1,11,0,0,7,2,4],\"nhl.com\":[8,1,1,0,0,5,1,0,4,0,0],\"pixhost.to\":[1,0,0,0,1,2,0,1,1,0,0],\"ixl.com\":[1,1,0,0,0,4,0,0,2,0,2],\"shopee.com.br\":[7,1,0,1,1,4,0,0,0,0,1],\"milanofinanza.it\":[7,0,1,1,0,5,1,0,4,2,1],\"buyee.jp\":[10,0,0,3,0,5,0,0,2,0,0],\"tokopedia.com\":[9,0,0,0,1,2,0,0,2,0,1],\"allocine.fr\":[36,1,2,0,1,5,2,0,5,1,1],\"breitbart.com\":[19,3,1,1,0,7,0,0,3,3,1],\"animeflv.net\":[4,0,0,0,1,4,0,0,3,2,0],\"godaddy.com\":[14,2,0,2,0,7,0,0,10,1,4],\"snapchat.com\":[9,0,0,1,0,6,0,0,4,0,2],\"finviz.com\":[33,0,0,2,0,4,1,0,5,0,1],\"zeit.de\":[61,3,0,1,0,5,1,0,6,1,1],\"mangaraw.ac\":[0,0,0,0,0,4,0,0,1,0,0],\"focus.de\":[68,1,1,3,0,5,1,0,7,1,1],\"poshmark.com\":[12,0,0,1,0,5,0,0,2,1,4],\"linktr.ee\":[3,0,0,4,1,8,0,0,4,1,2],\"zalando.de\":[6,0,1,0,0,3,1,0,1,0,1],\"ign.com\":[60,2,2,3,0,8,0,0,9,4,0],\"ib-game.jp\":[45,0,0,0,1,4,1,0,4,1,1],\"dell.com\":[22,1,1,3,0,10,1,0,11,3,6],\"flipkart.com\":[7,1,0,0,1,4,0,0,4,0,2],\"tabelog.com\":[46,0,0,0,0,4,0,0,4,0,3],\"otto.market\":[1,0,0,0,0,0,0,0,0,0,0],\"bloomberg.com\":[21,2,1,3,0,7,0,0,10,2,5],\"idealista.com\":[26,1,1,1,0,4,0,0,6,0,2],\"telex.hu\":[29,3,1,0,0,7,0,0,3,3,2],\"carrefour.fr\":[11,0,2,2,1,9,1,0,6,2,3],\"trilltrill.jp\":[34,1,0,2,1,6,1,0,2,5,1],\"ticketmaster.com\":[32,2,1,2,0,7,1,0,17,3,1],\"wiley.com\":[13,0,1,2,0,6,0,0,11,2,1],\"imx.to\":[2,0,0,0,1,2,0,0,1,0,0],\"booth.pm\":[4,1,0,1,0,4,0,0,0,0,1],\"cambridge.org\":[25,1,2,0,1,9,1,0,7,1,3],\"netkeiba.com\":[10,0,0,0,0,9,0,0,2,1,0],\"flightrising.com\":[35,0,3,1,0,5,2,0,6,0,0],\"olx.com.br\":[18,2,1,0,1,7,0,0,9,1,2],\"realtor.com\":[37,2,2,1,0,9,0,0,14,0,4],\"anime-sama.to\":[4,2,1,1,1,8,0,0,3,0,0],\"mydealz.de\":[11,1,2,0,0,7,0,0,0,0,0],\"wise.com\":[11,0,0,0,0,6,0,0,6,1,1],\"vinted.de\":[34,0,1,0,0,7,0,0,1,0,1],\"dailymotion.com\":[95,1,3,2,0,8,1,0,7,0,1],\"nine.com.au\":[35,3,0,1,0,7,2,0,8,0,0],\"wqxr.org\":[5,0,0,0,0,2,0,0,2,0,1],\"keepa.com\":[0,0,0,0,0,2,0,0,0,0,0],\"amazon.pl\":[3,0,0,1,0,6,0,0,1,0,0],\"infoseek.co.jp\":[22,0,0,0,1,4,0,0,4,2,0],\"bitbucket.org\":[0,0,0,2,0,3,0,0,2,1,1],\"coursera.org\":[9,0,1,3,0,9,0,0,7,2,4],\"kickstarter.com\":[5,1,1,2,0,7,0,0,8,2,3],\"transfermarkt.de\":[65,0,1,3,1,8,1,0,2,1,2],\"sextb.net\":[5,1,0,0,1,9,0,2,3,0,0],\"boardgamegeek.com\":[5,1,0,1,0,7,0,0,1,2,2],\"vinted.nl\":[28,0,1,0,0,4,0,0,1,0,1],\"coomer.st\":[0,0,0,0,1,1,0,0,0,0,0],\"mydramalist.com\":[33,2,0,1,0,7,0,0,1,0,0],\"dailyuploads.net\":[3,0,0,1,1,6,0,0,1,0,0],\"britishairways.com\":[7,0,1,1,0,5,2,0,7,0,3],\"agoda.com\":[26,0,0,1,0,5,2,0,4,0,3],\"immobilienscout24.de\":[26,0,2,1,0,9,1,0,6,1,3],\"blizzard.com\":[4,1,1,3,0,9,0,0,3,0,1],\"adp.com\":[3,1,0,2,0,5,0,0,4,0,3],\"mexc.com\":[4,0,0,0,0,5,0,0,2,1,1],\"merriam-webster.com\":[52,0,2,2,0,4,0,0,7,0,2],\"aznude.com\":[5,0,0,1,0,5,0,0,1,0,1],\"liquipedia.net\":[21,1,1,1,0,4,1,0,2,0,0],\"game8.co\":[5,1,0,2,1,5,0,0,1,0,1],\"protothema.gr\":[20,3,1,1,1,6,0,0,4,3,1],\"humblebundle.com\":[8,1,1,3,0,9,2,0,4,2,4],\"audible.com\":[13,0,0,0,0,3,1,0,4,1,1],\"cdiscount.com\":[10,0,0,2,1,4,1,0,3,0,3],\"agenciatributaria.gob.es\":[1,0,0,0,1,3,0,0,1,0,0],\"coconala.com\":[4,1,0,0,0,3,0,0,1,0,1],\"romsfun.com\":[2,0,0,1,1,4,0,0,2,1,0],\"dns-shop.ru\":[10,1,0,0,1,2,0,0,1,2,0],\"toyhou.se\":[3,1,0,1,0,5,1,0,3,1,0],\"vt.edu\":[2,2,0,1,0,9,0,0,5,2,0],\"trustpilot.com\":[7,0,1,1,0,7,0,0,5,0,5],\"nike.com\":[14,0,0,3,0,8,0,0,5,2,3],\"javlibrary.com\":[0,0,0,0,0,2,1,1,1,0,0],\"expedia.com\":[10,0,1,1,0,6,1,0,6,0,7],\"joyclub.de\":[0,0,0,2,0,3,0,0,0,0,1],\"franceinfo.fr\":[8,1,1,2,1,7,0,0,4,4,2],\"gap.com\":[15,0,1,3,0,4,1,0,12,2,6],\"apkmirror.com\":[6,1,1,1,0,4,0,0,4,1,0],\"fnac.com\":[32,1,1,1,1,7,2,0,6,1,3],\"zonebourse.com\":[9,0,2,1,1,5,0,0,4,0,1],\"footmercato.net\":[19,0,1,1,0,4,0,0,1,1,1],\"fapello.com\":[1,0,0,1,1,4,0,0,1,0,0],\"dropgame.jp\":[27,0,0,0,0,4,1,0,2,1,0],\"gamer.com.tw\":[8,1,0,1,1,9,1,0,0,3,0],\"studentaid.gov\":[5,1,1,1,0,6,0,0,7,0,0],\"kakaku.com\":[32,0,0,0,0,7,0,0,6,3,1],\"artstation.com\":[2,1,0,2,1,4,0,0,2,2,3],\"ultimate-guitar.com\":[71,2,3,2,0,8,1,0,4,0,2],\"google.de\":[4,1,0,0,0,4,0,0,0,0,0],\"aljazeera.com\":[27,2,1,3,0,4,2,0,7,3,2],\"deepseek.com\":[0,0,0,0,1,6,1,0,0,0,1],\"coinmarketcap.com\":[5,1,1,0,1,4,0,0,0,2,1],\"bulbagarden.net\":[19,3,0,0,0,5,2,0,4,0,0],\"zerohedge.com\":[27,1,0,4,0,9,0,0,3,2,2],\"ml.com\":[2,0,1,1,0,1,0,0,1,0,1],\"hh.ru\":[3,0,0,1,1,1,0,0,1,2,0],\"playstation.com\":[8,1,1,2,1,6,0,0,5,0,8],\"douyin.com\":[1,0,0,1,0,3,2,0,0,0,0],\"decathlon.fr\":[12,1,1,3,1,6,1,0,4,1,2],\"trip.com\":[9,0,0,3,1,6,2,0,1,1,4],\"google.co.uk\":[4,1,0,0,0,4,0,0,0,0,0],\"verizon.com\":[30,0,2,3,0,7,1,0,12,2,3],\"blog.jp\":[15,1,0,0,0,9,1,0,7,5,0],\"ixxx.com\":[1,0,1,1,0,3,0,0,1,0,0],\"sagepub.com\":[8,1,1,1,0,7,0,0,6,1,0],\"ravelry.com\":[0,0,0,1,0,3,0,0,0,0,0],\"nrk.no\":[0,0,0,0,0,5,0,0,3,0,1],\"weather.gov\":[3,1,0,0,0,6,0,0,2,0,0],\"alza.cz\":[10,1,0,0,0,8,0,0,6,1,1],\"lacentrale.fr\":[16,0,2,2,1,6,0,0,6,0,3],\"fextralife.com\":[36,1,2,3,0,9,1,0,4,2,0],\"hqporner.com\":[2,0,0,1,1,3,0,1,2,0,0],\"ashemaletube.com\":[0,0,0,1,1,6,1,1,3,0,3],\"missav123.com\":[1,0,0,1,1,4,0,1,1,0,0],\"flightradar24.com\":[39,0,2,1,1,9,0,0,4,0,1],\"iherb.com\":[9,1,2,2,1,6,0,0,8,2,7],\"noaa.gov\":[2,0,0,0,0,8,0,0,3,2,0],\"people.com\":[52,2,4,2,0,12,1,0,8,1,0],\"ing.de\":[6,0,1,0,0,0,0,0,1,0,0],\"xgroovy.com\":[3,0,0,1,1,6,0,2,2,0,0],\"ameli.fr\":[2,0,0,1,1,6,0,0,2,0,1],\"prom.ua\":[28,2,0,0,0,4,0,0,1,0,2],\"filmweb.pl\":[29,0,1,2,0,8,0,0,3,1,1],\"hotstar.com\":[11,1,1,0,0,5,0,0,1,2,1],\"123av.com\":[1,0,0,1,0,4,0,0,2,0,0],\"twkan.com\":[4,0,0,1,0,5,0,0,3,0,0],\"coupang.com\":[5,1,0,1,0,4,1,0,2,0,1],\"dm.de\":[4,0,1,2,0,2,0,0,3,0,3],\"att.com\":[14,1,0,2,0,6,0,0,8,0,5],\"tvtropes.org\":[70,1,2,1,0,6,0,0,8,0,0],\"wikidot.com\":[9,1,1,3,1,10,2,0,4,0,1],\"euronews.com\":[16,2,2,0,0,4,1,0,4,2,2],\"hulu.com\":[14,1,1,0,0,4,0,0,8,0,3],\"fanfiction.net\":[1,0,0,1,1,4,0,0,0,0,0],\"ncore.pro\":[4,1,0,0,0,6,0,0,0,0,0],\"aternos.org\":[141,2,3,3,1,11,3,0,13,1,2],\"ambito.com\":[15,1,0,0,0,5,0,0,4,0,1],\"wykop.pl\":[37,1,0,2,0,6,1,0,3,3,1],\"igg-games.com\":[1,0,0,1,1,4,0,0,2,0,0],\"funpay.com\":[4,0,0,1,1,3,0,0,2,0,0],\"sky.com\":[11,2,1,1,0,4,1,0,7,2,3],\"expressen.se\":[12,0,1,0,0,5,0,0,2,0,1],\"jin115.com\":[11,1,0,0,0,6,0,0,2,3,0],\"riotgames.com\":[3,2,1,2,1,11,0,0,5,2,4],\"dealabs.com\":[12,1,2,0,1,7,0,0,1,0,0],\"animanch.com\":[5,1,0,0,0,5,0,0,1,3,0],\"ui.com\":[2,1,1,3,0,7,0,0,4,1,3],\"woot.com\":[41,1,1,1,0,7,1,0,3,0,2],\"pronews.gr\":[17,2,1,2,1,6,0,0,1,3,1],\"reverb.com\":[39,2,0,3,0,8,0,0,3,0,2],\"leparisien.fr\":[81,2,2,1,0,7,1,0,9,3,2],\"recu.me\":[2,0,0,1,1,4,0,0,1,0,1],\"macys.com\":[47,1,1,6,0,10,0,0,14,2,3],\"nba.com\":[10,1,1,0,0,8,0,0,9,2,2],\"discover.com\":[12,0,0,2,0,5,0,0,4,1,6],\"usaa.com\":[9,0,0,0,0,0,0,0,5,0,1],\"thesimsresource.com\":[17,0,1,4,0,6,1,0,7,2,1],\"derstandard.at\":[65,2,0,0,0,9,2,0,4,3,3],\"suki-kira.com\":[17,0,1,0,0,8,1,0,4,0,0],\"lpsg.com\":[4,1,0,0,0,5,1,4,1,2,2],\"crunchyscan.fr\":[2,0,0,0,1,5,0,0,2,0,0],\"kaiserpermanente.org\":[2,0,1,0,0,4,0,0,4,0,2],\"autotask.net\":[1,0,0,2,0,4,0,0,3,0,2],\"ok.ru\":[7,1,0,2,1,4,0,0,4,2,1],\"esuteru.com\":[25,1,0,0,0,8,0,0,3,2,0],\"sg.fr\":[8,0,0,0,1,5,0,0,5,0,0],\"fark.com\":[17,2,1,0,0,4,0,0,0,2,0],\"hotukdeals.com\":[8,1,2,0,0,7,0,0,1,0,0],\"rutor.info\":[1,0,0,1,1,3,0,0,0,0,0],\"dagospia.com\":[13,1,0,0,0,5,0,0,2,1,0],\"thedailybeast.com\":[33,2,1,0,0,5,0,0,6,5,2],\"momon-ga.com\":[1,0,0,0,1,4,0,0,2,0,0],\"jbzd.com.pl\":[19,1,1,0,0,6,0,0,3,0,0],\"leclercdrive.fr\":[8,0,1,0,1,4,0,0,3,0,2],\"suno.com\":[12,1,1,3,1,7,0,0,6,1,2],\"jutarnji.hr\":[30,1,1,0,0,8,0,0,4,3,1],\"zoho.com\":[1,1,0,1,0,5,0,0,0,1,0],\"kissjav.com\":[1,0,0,1,0,3,0,1,2,0,0],\"gog.com\":[6,1,1,1,1,5,0,0,6,3,2],\"bt.dk\":[46,1,1,2,0,7,0,0,3,3,1],\"gamewith.jp\":[57,1,1,3,0,8,1,0,2,2,1],\"realestate.com.au\":[17,2,0,0,0,6,0,0,11,0,2],\"rnp.br\":[1,0,0,0,0,0,0,0,0,0,0],\"asus.com\":[8,1,0,2,1,13,0,0,7,0,3],\"pepper.pl\":[11,1,2,0,0,6,0,0,1,0,0],\"greenhouse.io\":[3,1,0,5,0,6,1,0,5,1,6],\"polymarket.com\":[11,0,0,3,0,6,0,0,5,3,3],\"blocket.se\":[13,0,0,1,0,4,1,0,1,0,2],\"kohls.com\":[31,0,1,5,0,4,0,0,11,3,4],\"haber7.com\":[5,1,0,0,0,5,0,0,2,0,0],\"overleaf.com\":[2,0,0,1,0,4,0,0,2,0,3],\"ea.com\":[3,2,1,0,1,10,0,0,5,0,3],\"concursolutions.com\":[5,0,1,2,0,4,1,0,2,0,4],\"garmin.com\":[5,1,1,2,0,9,0,0,4,0,4],\"ozon.by\":[1,0,0,0,1,1,0,0,0,0,0],\"impress.co.jp\":[30,1,0,1,1,7,0,0,7,2,0],\"w3schools.com\":[24,0,0,2,0,5,0,0,1,0,0],\"uniqlo.com\":[25,1,1,4,0,7,1,0,10,3,3],\"faceit.com\":[13,0,1,3,0,8,0,0,8,2,1],\"mangakatana.com\":[3,1,0,1,0,4,0,0,2,1,1],\"hentaifox.com\":[1,0,0,0,0,5,0,0,2,0,0],\"eroprofile.com\":[0,0,0,0,0,4,0,1,1,0,0],\"cityheaven.net\":[4,0,0,1,0,4,0,0,4,0,1],\"aarp.org\":[26,2,2,0,0,7,1,0,14,1,7],\"nikkei.com\":[15,3,0,0,0,9,1,0,9,1,1],\"tax.service.gov.uk\":[1,0,0,0,1,1,0,0,2,0,1],\"modrinth.com\":[59,1,1,4,0,9,1,0,3,0,0],\"minkabu.jp\":[13,0,0,0,0,6,0,0,3,0,1],\"french-stream.one\":[5,1,0,0,0,6,2,0,1,0,0],\"joemonster.org\":[15,2,0,0,0,5,0,0,1,1,0],\"24.hu\":[41,2,1,2,0,7,0,0,1,1,2],\"rakuten.com\":[22,0,1,1,0,4,0,0,11,2,2],\"roleplayer.me\":[52,3,2,0,0,9,2,0,7,3,1],\"janitorai.com\":[2,1,0,1,1,4,0,0,1,0,0],\"yourclassical.org\":[3,0,0,1,0,0,0,0,1,0,0],\"youjizz.com\":[1,0,0,1,0,4,0,0,1,0,0],\"webnovel.com\":[7,0,1,1,1,3,0,0,2,0,1],\"kinopoisk.ru\":[6,0,0,0,1,1,0,0,4,2,0],\"sooplive.com\":[6,0,0,1,0,4,0,0,1,0,0],\"procyclingstats.com\":[47,0,1,0,0,5,0,0,2,0,0],\"sunbiz.org\":[1,0,0,0,0,0,0,0,1,0,0],\"tripadvisor.com\":[22,1,1,2,0,5,1,0,6,1,2],\"rtvslo.si\":[6,2,0,0,1,4,0,0,2,2,0],\"fragrantica.com\":[20,1,0,1,0,6,1,0,2,0,1],\"autodesk.com\":[11,2,0,3,1,7,2,0,15,4,5],\"record.pt\":[35,2,0,1,1,6,1,0,6,2,1],\"myreadingmanga.info\":[0,0,0,0,0,2,0,0,0,1,0],\"amazon.com.tr\":[3,0,0,0,1,6,0,0,1,0,0],\"catawiki.com\":[26,1,1,3,1,5,0,0,5,2,4],\"sudoku.com\":[57,1,1,1,0,3,0,0,2,0,1],\"amazon.se\":[3,0,0,0,0,4,0,0,1,0,0],\"cricbuzz.com\":[15,0,0,0,0,5,0,0,3,0,0],\"xcancel.com\":[0,0,0,1,1,3,0,0,0,1,0],\"telegram.org\":[2,0,0,0,1,4,0,0,0,0,0],\"namecheap.com\":[9,1,1,2,0,6,0,0,3,2,2],\"laposte.fr\":[7,0,1,1,0,6,0,0,5,0,4],\"4pda.to\":[1,0,0,2,1,4,0,0,2,0,0],\"hp.com\":[7,3,1,5,1,10,0,0,8,0,6],\"wordreference.com\":[29,0,0,1,0,4,1,0,0,0,0],\"scan-manga.com\":[43,0,1,2,1,7,0,0,3,0,0],\"camwhores.tv\":[3,0,0,1,1,6,0,1,2,0,0],\"dmm.com\":[35,1,0,0,0,9,0,0,8,2,2],\"peacocktv.com\":[22,0,1,0,0,3,1,0,11,1,4],\"bootleggers.us\":[1,0,0,0,0,3,0,0,0,0,1],\"yle.fi\":[0,1,0,2,0,3,0,0,3,2,0],\"ancestry.com.au\":[11,0,0,1,1,0,0,0,6,0,0],\"mathworks.com\":[3,1,1,0,0,6,1,0,5,0,3],\"mediaexpert.pl\":[30,2,1,0,0,4,1,0,1,2,1],\"sapo.pt\":[19,1,1,2,1,11,0,0,4,3,1],\"bricklink.com\":[1,0,0,2,0,4,0,0,0,0,0],\"theqoo.net\":[8,1,0,0,0,5,0,0,2,3,0],\"canalplus.com\":[15,0,1,1,1,8,1,0,10,0,0],\"hanime1.me\":[2,0,0,0,1,7,1,0,1,1,1],\"bibliocards.com\":[1,0,0,0,0,2,0,0,0,0,0],\"cic.fr\":[3,0,0,0,1,2,0,0,0,0,0],\"caf.fr\":[2,1,0,0,1,5,0,0,1,0,0],\"robertsspaceindustries.com\":[5,1,1,3,1,5,0,0,1,1,3],\"chewy.com\":[11,2,1,3,0,6,0,0,5,2,4],\"myschoolapp.com\":[2,0,0,0,0,6,0,0,2,0,3],\"suruga-ya.jp\":[10,0,0,1,1,7,0,0,4,1,0],\"gamespot.com\":[11,3,1,2,0,7,0,0,4,0,0],\"wnacg.com\":[0,0,0,1,1,5,0,1,2,0,0],\"rargb.to\":[1,0,0,1,1,5,1,0,1,0,0],\"manhwaweb.com\":[2,0,0,1,1,2,1,0,3,2,0],\"programme-tv.net\":[73,0,3,1,1,8,2,0,9,1,3],\"indiamart.com\":[4,1,0,1,0,4,0,0,3,0,1],\"kijiji.ca\":[19,0,1,1,0,5,1,0,4,0,2],\"oceanofpdf.com\":[2,0,0,1,0,3,0,0,1,0,0],\"hentaiera.com\":[2,0,0,1,0,6,0,1,2,0,0],\"dumpert.nl\":[18,1,1,1,0,6,0,0,3,0,0],\"nexon.com\":[8,1,1,1,0,7,0,0,2,2,2],\"google.co.jp\":[4,1,0,0,0,4,0,0,1,0,0],\"dhl.de\":[4,0,1,2,1,5,0,0,1,0,1],\"novinky.cz\":[38,1,0,1,0,8,0,0,5,3,0],\"ecnavi.jp\":[28,0,0,0,0,3,0,0,4,0,1],\"hurriyet.com.tr\":[30,1,2,2,1,5,2,0,3,2,0],\"clarin.com\":[26,2,0,1,0,6,0,0,8,3,1],\"hostinger.com\":[11,2,0,4,1,8,0,0,9,4,3],\"torrentbay.st\":[1,0,0,1,1,8,1,0,1,0,0],\"seloger.com\":[27,2,1,1,1,9,1,0,4,1,2],\"notube.lol\":[3,1,1,0,1,3,0,0,0,2,0],\"1377x.to\":[1,0,0,1,1,5,1,0,1,0,0],\"limetorrents.fun\":[1,0,0,0,0,3,0,0,2,0,0],\"asos.com\":[13,0,1,1,0,5,0,0,6,1,5],\"rlsbb.ru\":[1,0,0,0,1,3,0,0,3,0,0],\"tori.fi\":[12,0,0,1,0,5,1,0,1,0,1],\"ryuugames.com\":[1,0,0,1,1,6,1,0,1,1,0],\"mangaread.org\":[5,0,0,0,1,3,0,0,4,1,0],\"klix.ba\":[22,1,1,0,0,8,0,0,4,3,1],\"ubereats.com\":[12,0,0,2,1,5,1,0,6,2,3],\"shutterstock.com\":[6,0,1,2,1,4,0,0,5,0,3],\"hrblock.com\":[12,1,1,4,0,8,0,0,8,2,6],\"anime-sharing.com\":[1,0,0,1,0,6,0,0,2,1,0],\"icloud.com\":[1,0,0,0,0,2,0,0,0,0,0],\"douban.com\":[7,0,0,1,0,6,1,0,3,0,0],\"powerbi.com\":[1,0,0,2,0,2,3,0,0,0,2],\"behance.net\":[4,2,1,0,1,8,0,0,4,0,3],\"op.gg\":[28,1,1,2,0,9,1,0,3,0,1],\"manhuaus.com\":[42,0,0,3,0,4,0,0,5,1,0],\"weibo.com\":[1,0,0,1,0,3,1,0,0,0,0],\"javtiful.com\":[1,0,0,1,0,5,0,1,1,0,0],\"newegg.com\":[9,1,1,1,0,6,1,0,4,0,2],\"vercel.com\":[1,0,0,2,0,6,0,0,0,0,4],\"service-now.com\":[3,1,0,1,0,8,1,0,4,0,5],\"cvs.com\":[13,1,1,5,0,5,0,0,5,0,5],\"gazzetta.gr\":[14,2,1,0,1,8,0,0,4,3,1],\"state.gov\":[5,1,0,1,0,8,0,0,5,1,2],\"xv-ru.com\":[0,0,0,0,1,2,1,0,0,0,0],\"character.ai\":[5,0,0,1,0,4,0,0,2,1,2],\"caisse-epargne.fr\":[7,0,0,1,1,4,0,0,5,0,1],\"stiften.dk\":[2,0,1,0,0,3,1,0,1,0,0],\"syosetu.org\":[6,0,0,1,1,2,0,0,1,0,0],\"gg.deals\":[5,2,0,1,1,5,0,0,3,0,1],\"tandfonline.com\":[9,0,1,1,1,5,0,0,7,1,0],\"flashscore.fr\":[20,0,1,0,0,3,1,0,3,0,1],\"myvidster.com\":[8,1,0,1,0,7,0,5,5,2,1],\"s.to\":[3,1,0,0,1,9,0,0,2,1,0],\"nintendo.com\":[7,1,1,0,1,10,1,0,7,1,6],\"playground.ru\":[8,2,0,2,1,6,1,0,2,2,1],\"la28.org\":[6,0,3,0,0,4,0,0,4,0,4],\"biblegateway.com\":[43,1,1,1,0,6,1,0,6,0,0],\"blooket.com\":[2,0,1,1,0,6,1,0,0,0,2],\"xivmodarchive.com\":[16,0,0,2,0,3,1,0,1,0,0],\"eastmoney.com\":[0,0,0,1,0,0,0,0,1,0,0],\"poe.ninja\":[9,0,1,3,1,3,1,0,4,0,0],\"hasznaltauto.hu\":[18,0,1,0,0,5,0,0,5,0,1],\"rozetka.com.ua\":[29,2,0,1,0,5,0,0,4,0,1],\"plex.tv\":[8,0,0,1,0,7,2,0,5,2,2],\"spacebattles.com\":[25,1,0,2,1,8,2,0,4,3,0],\"getadblock.com\":[2,0,0,1,1,3,1,0,1,0,0],\"pictoa.com\":[1,0,0,1,1,1,0,0,1,0,0],\"wikiwiki.jp\":[7,1,0,0,0,5,0,0,1,2,1],\"mil.gov.ua\":[1,0,0,0,0,2,0,0,1,0,0],\"realtor.ca\":[22,2,1,2,0,7,1,0,8,1,3],\"jeanmarcmorandini.com\":[50,0,1,2,1,5,0,0,2,2,0],\"dataannotation.tech\":[6,0,1,1,0,6,0,0,3,1,1],\"7mmtv.sx\":[5,1,0,1,0,7,0,2,2,0,0],\"sfr.fr\":[7,0,0,0,1,3,0,0,1,0,0],\"successfactors.eu\":[5,0,1,2,0,3,2,0,1,1,2],\"thelibertydaily.com\":[38,0,1,0,0,6,0,0,7,2,0],\"usbank.com\":[15,0,0,1,0,5,0,0,8,1,5],\"sat.gob.mx\":[3,1,0,0,1,7,0,0,1,0,0],\"tver.jp\":[16,1,0,0,1,3,0,0,4,1,0],\"secondlife.com\":[6,0,1,1,0,7,0,0,4,0,2],\"barchart.com\":[18,1,1,1,1,4,1,0,4,0,1],\"southwest.com\":[15,0,2,1,0,5,1,0,8,2,2],\"inaturalist.org\":[2,0,0,0,1,5,0,0,1,0,1],\"2dehands.be\":[14,0,0,1,0,5,0,0,2,0,3],\"europa.eu\":[1,1,0,1,1,9,0,0,3,0,2],\"steamrip.com\":[2,1,0,1,1,3,0,0,2,0,1],\"elmundo.es\":[71,2,1,2,1,8,1,0,9,3,2],\"homedepot.com\":[12,0,0,3,0,9,4,0,11,1,9],\"wix.com\":[11,1,0,0,0,11,1,0,4,2,3],\"cbc.ca\":[26,1,0,0,0,8,0,0,7,2,1],\"otto.de\":[7,1,0,2,1,4,1,0,3,1,0],\"clickup.com\":[15,0,1,0,0,8,0,0,10,3,5],\"komoot.com\":[3,1,0,2,0,8,0,0,1,0,3],\"rt.com\":[6,1,0,2,1,5,2,0,5,4,0],\"asana.com\":[3,0,1,2,0,6,0,0,3,0,4],\"labs.google\":[3,1,0,1,1,5,0,0,1,0,0],\"dba.dk\":[19,0,0,1,0,4,1,0,1,0,1],\"loverslab.com\":[2,1,0,2,1,4,1,1,1,1,0],\"hattrick.org\":[42,1,1,0,1,9,0,0,2,0,1],\"thetimes.com\":[27,2,1,2,0,10,1,0,16,5,2],\"airbnb.fr\":[8,0,0,2,0,7,0,0,3,1,2],\"vinted.be\":[46,0,1,0,1,4,0,0,2,0,1],\"tvn24.pl\":[26,1,1,0,0,8,0,0,4,2,5],\"sport-fm.gr\":[17,2,0,1,0,7,0,0,1,3,0],\"ricardo.ch\":[23,0,1,4,1,7,2,0,4,1,3],\"theverge.com\":[28,1,2,2,0,10,1,0,9,3,0],\"skilljar.com\":[5,2,0,1,0,7,0,0,1,3,0],\"abema.tv\":[34,1,0,0,1,6,0,0,6,4,1],\"pricecharting.com\":[4,0,0,0,0,4,0,0,0,0,0],\"maxroll.gg\":[53,1,1,2,1,5,1,0,5,1,0],\"xbox.com\":[7,0,0,1,1,10,4,0,3,0,3],\"newgrounds.com\":[2,0,0,1,1,4,0,1,0,0,0],\"supabase.com\":[1,0,1,2,0,6,0,0,0,0,3],\"flashscore.pl\":[20,0,1,0,0,5,1,0,3,0,1],\"libero.it\":[79,1,2,3,1,9,1,0,7,0,0],\"pathofexile.com\":[2,2,0,0,1,5,0,0,0,0,0],\"mediafire.com\":[18,0,0,2,1,5,1,0,6,1,1],\"bahn.de\":[1,0,0,1,0,3,0,0,2,0,2],\"wamgame.jp\":[31,0,0,0,0,5,1,0,3,1,0],\"rutube.ru\":[3,0,0,1,1,3,0,0,2,0,0],\"gosuslugi.ru\":[1,0,0,0,1,2,0,0,1,0,0],\"pornhat.com\":[1,0,0,2,0,6,0,2,2,0,0],\"watchporn.to\":[2,0,0,0,1,2,0,0,1,0,1],\"costco.ca\":[2,0,2,2,0,4,2,0,3,0,4],\"loaded.com\":[10,1,0,3,1,5,0,0,3,1,2],\"rei.com\":[9,1,1,4,0,5,0,0,5,2,3],\"zozo.jp\":[28,0,0,0,0,3,0,0,5,2,3],\"themoviedb.org\":[4,1,1,0,1,4,1,0,0,1,0],\"zalando.nl\":[6,0,1,0,0,3,1,0,1,0,1],\"t-mobile.com\":[11,0,1,1,0,7,0,0,6,0,3],\"iwara.tv\":[6,0,0,1,1,3,0,0,3,0,0],\"readcomiconline.li\":[7,0,0,0,0,4,1,0,3,0,0],\"bet.br\":[18,0,3,3,1,12,0,0,16,1,5],\"skyscanner.net\":[15,0,0,0,0,5,0,0,4,1,4],\"deepl.com\":[4,1,1,1,1,5,0,0,0,0,2],\"hepsiburada.com\":[12,0,0,1,1,9,1,0,7,2,0],\"turkiye.gov.tr\":[0,0,0,0,1,1,0,0,0,0,0],\"churchofjesuschrist.org\":[5,2,1,1,0,7,1,0,5,1,2],\"zara.com\":[8,0,1,2,0,3,1,0,1,0,4],\"asu.edu\":[4,2,0,2,0,9,1,0,7,1,3],\"krone.at\":[26,1,1,0,1,10,0,0,4,3,2],\"scotiabank.com\":[6,0,1,1,0,5,0,0,2,0,3],\"pearson.com\":[2,1,1,1,0,12,0,0,9,0,4],\"walgreens.com\":[14,1,1,3,0,6,0,0,5,1,4],\"calculator.net\":[4,0,0,0,0,3,0,0,0,0,0],\"onliner.by\":[8,1,0,0,1,6,0,0,2,5,0],\"meteofrance.com\":[18,1,1,0,1,4,0,0,1,0,0],\"ebay.es\":[1,0,0,0,0,3,1,0,0,0,3],\"is.fi\":[19,1,1,2,0,7,0,0,4,3,1],\"rojadirecta.eu\":[1,0,0,0,0,2,0,0,2,2,0],\"microcenter.com\":[10,1,1,3,0,9,1,0,4,1,4],\"namu.wiki\":[4,1,0,1,0,5,0,0,0,1,1],\"hydrahd.ru\":[2,1,0,0,0,8,1,0,3,0,0],\"gocomics.com\":[61,1,2,3,0,2,0,0,5,2,1],\"sfgate.com\":[79,1,2,1,0,8,0,0,12,3,2],\"toongod.org\":[2,0,0,0,1,3,0,0,0,2,0],\"willhaben.at\":[12,0,1,3,0,6,1,0,0,0,1],\"dogdrip.net\":[28,1,0,1,1,5,1,0,2,0,0],\"hvg.hu\":[25,1,1,3,0,8,0,0,5,2,1],\"hotels.com\":[10,0,1,1,0,6,1,0,6,0,7],\"sdna.gr\":[27,2,2,1,1,5,0,0,4,3,1],\"springer.com\":[12,0,0,1,1,5,0,0,5,0,1],\"abcnews.com\":[40,1,1,0,0,4,1,0,8,0,0],\"anikai.to\":[1,2,0,0,0,3,0,0,2,0,0],\"empornium.sx\":[0,0,0,0,0,1,0,0,0,0,0],\"kunmanga.com\":[2,0,0,0,1,3,0,1,2,1,0],\"apartments.com\":[35,1,1,1,0,6,0,0,9,2,1],\"gizmodo.com\":[47,1,0,0,0,6,0,0,4,4,0],\"myheritage.com\":[1,0,0,0,1,5,0,0,0,0,4],\"visualstudio.com\":[2,1,0,3,0,5,2,0,0,1,1],\"westlaw.com\":[0,0,1,0,0,3,0,0,3,0,2],\"getcomics.org\":[8,1,0,0,0,3,1,0,4,1,2],\"edf.fr\":[5,1,0,1,1,2,0,0,5,0,1],\"webassign.net\":[1,1,0,0,0,4,0,0,1,0,0],\"mygully.com\":[0,0,0,0,0,3,0,0,1,0,0],\"typing.com\":[22,0,0,2,0,3,1,0,6,0,0],\"redtube.com\":[3,0,0,1,1,4,1,3,1,0,0],\"hupu.com\":[2,0,0,0,1,3,1,0,0,0,0],\"gsmarena.com\":[19,1,0,2,1,8,1,0,2,1,0],\"crazygames.com\":[63,1,4,3,0,15,0,0,7,0,3],\"thomann.de\":[7,1,0,4,0,6,1,0,1,1,1],\"ladepeche.fr\":[47,0,1,0,0,7,0,0,6,2,3],\"audiobookbay.lu\":[2,0,0,0,0,5,1,0,1,2,1],\"fantia.jp\":[4,0,0,1,0,3,0,1,2,2,1],\"jigsawplanet.com\":[57,0,1,3,1,5,0,0,3,0,1],\"ameblo.jp\":[25,1,0,0,0,8,0,0,4,4,0],\"20minutos.es\":[71,2,2,1,1,13,1,0,7,4,1],\"desjardins.com\":[4,0,1,0,0,3,0,0,4,0,0],\"sanet.st\":[2,1,0,1,1,4,0,0,1,0,1],\"menards.com\":[3,0,0,0,0,2,0,0,2,0,4],\"vnexpress.net\":[17,0,0,0,1,7,0,0,3,3,1],\"jkanime.net\":[3,1,0,0,1,6,0,0,3,0,0],\"haaretz.co.il\":[54,1,1,1,0,6,0,0,6,1,0],\"wetransfer.com\":[13,1,1,3,1,7,0,0,2,1,5],\"javmix.tv\":[2,0,0,0,0,8,0,1,4,0,0],\"mailchimp.com\":[15,0,1,1,0,5,0,0,13,3,4],\"rakuten.net\":[65,1,0,0,1,6,0,0,4,1,1],\"action.com\":[10,1,1,2,1,5,0,0,5,1,1],\"zalando.fr\":[5,0,1,0,0,4,1,0,1,0,2],\"imginn.com\":[7,0,1,1,1,5,0,0,2,2,0],\"chip.de\":[55,1,1,3,1,4,1,0,5,0,0],\"etoland.co.kr\":[57,1,0,0,0,8,0,0,7,4,0],\"mat6tube.com\":[2,1,0,1,1,5,0,1,2,0,0],\"raider.io\":[39,3,2,1,0,8,1,0,7,3,1],\"bookys-ebooks.com\":[1,0,0,0,1,4,0,0,2,0,0],\"arstechnica.com\":[53,1,1,1,0,8,0,0,12,2,0],\"ar15.com\":[3,1,1,0,0,6,1,0,1,2,0],\"ameba.jp\":[9,0,0,0,0,7,0,0,1,2,1],\"printables.com\":[7,1,1,1,1,7,1,0,1,2,0],\"commbank.com.au\":[5,1,0,1,1,3,0,0,1,0,1],\"jd.com\":[2,0,0,1,0,3,2,0,1,0,0],\"united.com\":[16,0,2,1,0,9,3,0,14,2,8],\"samsclub.com\":[8,0,0,0,0,4,1,0,2,0,5],\"x-x-x.tube\":[0,0,0,2,1,2,0,0,1,0,0],\"google.com.hk\":[4,1,0,0,0,4,0,0,0,0,2],\"lenta.ru\":[10,0,0,2,1,3,3,0,6,2,0],\"oracle.com\":[7,3,2,1,0,5,1,0,5,0,3],\"mercadolibre.cl\":[8,0,0,0,1,2,0,0,4,1,1],\"urssaf.fr\":[2,1,0,1,1,4,0,0,2,0,1],\"openrouter.ai\":[4,0,0,3,1,7,0,0,2,0,2],\"mobilism.org\":[0,0,0,1,1,4,1,0,1,0,0],\"ndtv.com\":[66,1,0,0,0,13,1,0,10,4,1],\"collegeboard.org\":[1,1,1,1,0,4,0,0,4,0,2],\"lloydsbank.co.uk\":[8,0,0,1,0,2,0,0,7,1,2],\"agenziaentrate.gov.it\":[0,0,0,0,1,2,0,0,0,0,0],\"brave.com\":[2,0,0,0,0,6,0,0,0,0,1],\"z-library.sk\":[0,0,0,2,0,3,0,0,1,0,0],\"wetteronline.de\":[51,0,1,1,1,5,1,0,2,0,1],\"theatlantic.com\":[33,0,2,2,0,6,0,0,12,1,1],\"hatena.ne.jp\":[16,1,0,1,0,4,1,0,3,3,1],\"service-public.gouv.fr\":[1,0,0,0,1,3,0,0,1,0,0],\"vrbo.com\":[9,0,1,1,0,7,1,0,8,0,7],\"naukri.com\":[5,1,0,0,0,4,0,0,1,0,2],\"iltalehti.fi\":[23,3,1,2,0,8,1,0,2,3,2],\"markt.de\":[9,0,0,0,1,4,0,0,1,0,0],\"xhamster2.com\":[1,0,0,0,0,6,0,2,0,0,1],\"feedly.com\":[6,1,1,2,0,9,0,0,3,2,1],\"google.nl\":[4,1,0,0,0,4,0,0,0,0,0],\"postimees.ee\":[52,1,1,3,0,9,0,0,4,3,1],\"hoyolab.com\":[4,1,0,0,1,5,0,0,0,0,1],\"creditkarma.com\":[8,0,0,0,0,3,0,0,4,1,2],\"paheal.net\":[2,0,0,0,1,3,0,1,3,1,0],\"classical89.org\":[2,0,0,0,0,0,0,0,0,0,1],\"twpornstars.com\":[1,0,0,1,1,3,0,0,2,1,0],\"pogo.com\":[3,0,1,0,0,2,0,0,1,0,0],\"qidian.com\":[1,0,0,1,0,2,2,0,1,0,0],\"truthsocial.com\":[4,0,1,1,0,5,0,0,1,0,1],\"leetcode.com\":[5,2,0,2,0,4,1,0,2,0,2],\"dailykos.com\":[42,1,2,4,0,7,1,0,11,3,0],\"icy-veins.com\":[28,3,1,3,1,7,1,0,3,2,0],\"roll20.net\":[7,1,0,4,1,12,0,0,5,4,4],\"mi.com\":[6,0,1,0,1,8,2,0,3,0,1],\"steamunlocked.org\":[2,0,0,2,0,3,0,0,2,0,1],\"macrumors.com\":[28,1,2,0,0,5,0,0,5,4,1],\"preply.com\":[11,2,2,3,0,9,0,0,6,1,1],\"123moviesfree.net\":[3,1,0,0,0,7,1,0,1,0,0],\"ptt.cc\":[4,1,0,0,1,4,1,0,3,1,0],\"myshopify.com\":[5,1,1,6,0,16,0,0,7,1,4],\"last.fm\":[15,1,1,0,0,6,1,0,6,0,0],\"golem.de\":[56,1,0,1,0,3,1,0,6,1,0],\"hentairead.com\":[1,0,0,1,0,4,0,1,2,1,0],\"delfi.ee\":[75,2,2,2,0,9,0,0,6,3,4],\"diretta.it\":[15,0,1,0,1,4,1,0,2,0,0],\"tv2.no\":[12,0,0,2,0,5,0,0,4,0,4],\"itmedia.co.jp\":[32,1,0,1,0,8,1,0,6,4,0],\"miraheze.org\":[1,1,0,1,0,7,0,0,0,0,0],\"archivebate.com\":[3,0,0,1,1,8,0,1,2,0,0],\"x1337x.cc\":[0,0,0,0,1,2,0,0,1,0,0],\"news247.gr\":[12,2,1,1,1,6,0,0,6,2,0],\"sportschau.de\":[1,1,0,0,0,3,0,0,1,0,0],\"cargurus.com\":[39,0,1,4,0,7,2,0,8,0,3],\"bostonglobe.com\":[27,0,2,1,0,6,1,0,10,2,1],\"alibaba.com\":[11,0,0,1,1,5,1,0,2,0,4],\"npr.org\":[21,3,2,1,0,6,0,0,7,0,4],\"stake.com\":[5,0,0,1,0,10,0,0,5,0,5],\"sueddeutsche.de\":[58,2,0,2,0,3,2,0,5,0,4],\"sncf-connect.com\":[9,0,1,0,1,3,1,0,2,0,1],\"hilton.com\":[31,1,0,1,0,8,1,0,12,1,4],\"westpac.com.au\":[8,1,0,1,0,4,0,0,1,0,1],\"steamgifts.com\":[1,0,0,0,1,5,1,0,0,0,0],\"imgtraffic.com\":[1,0,0,0,1,3,0,1,2,0,0],\"cisco.com\":[11,0,1,2,0,10,1,0,8,1,4],\"cibc.com\":[9,0,1,1,0,5,0,0,6,1,2],\"b2clogin.com\":[3,0,0,1,0,11,1,0,2,0,5],\"hoxx.com\":[0,0,0,0,0,2,0,0,1,0,1],\"bt4gprx.com\":[3,0,0,1,1,4,0,0,1,0,0],\"tmz.com\":[62,3,3,2,0,13,0,0,8,3,2],\"trello.com\":[4,1,1,2,0,11,0,0,6,0,3],\"portfolio.hu\":[15,1,1,0,0,5,0,0,1,2,1],\"leroymerlin.es\":[17,1,1,3,1,5,1,0,8,1,1],\"cbssports.com\":[92,5,3,2,0,9,1,0,15,4,2],\"lapresse.ca\":[12,0,1,0,0,4,0,0,3,0,0],\"forumactif.com\":[7,1,0,3,1,11,2,0,4,3,2],\"wetter.com\":[85,1,1,3,1,6,2,0,8,1,1],\"alaskaair.com\":[9,0,0,0,0,9,1,0,6,0,5],\"intercom.com\":[1,0,1,2,0,6,0,0,0,0,2],\"thetradedesk.com\":[10,0,2,1,0,6,0,0,6,0,0],\"stackexchange.com\":[27,1,1,0,0,10,0,0,3,2,1],\"easyjet.com\":[8,0,0,1,1,7,1,0,4,1,3],\"iefimerida.gr\":[12,2,1,0,0,6,0,0,4,3,1],\"pestpac.com\":[1,0,0,0,0,4,1,0,2,0,1],\"cgtrader.com\":[5,1,0,1,0,8,0,0,3,0,2],\"howrse.com\":[1,0,1,0,0,1,0,0,0,0,0],\"jeusol.fr\":[33,0,1,1,1,6,1,0,3,0,1],\"habr.com\":[6,1,0,0,1,5,0,0,3,2,1],\"fast.com\":[1,0,0,0,1,3,0,0,0,0,0],\"archive.ph\":[4,0,0,1,0,4,0,0,0,0,0],\"kufar.by\":[8,0,0,0,1,3,0,0,3,2,0],\"babepedia.com\":[2,0,0,1,1,5,0,0,1,0,0],\"mediaset.it\":[11,0,1,1,1,6,0,0,4,0,1],\"enabiz.gov.tr\":[3,1,0,1,0,6,0,0,1,0,0],\"login.gov\":[2,0,0,0,0,2,0,0,2,0,1],\"celebforum.to\":[1,0,0,1,0,5,0,0,2,1,0],\"2chan.net\":[7,1,0,1,0,4,0,0,1,0,0],\"kaufland.de\":[8,0,1,2,1,5,0,0,1,0,3],\"mynet.com\":[45,0,0,0,1,7,0,0,3,2,1],\"tenki.jp\":[22,0,0,0,0,6,0,0,4,0,0],\"cults3d.com\":[38,1,1,3,1,6,1,0,0,0,1],\"piccoma.com\":[17,0,0,0,0,1,0,0,4,1,0],\"fatourati.ma\":[0,0,0,0,1,1,0,0,0,0,0],\"pracuj.pl\":[28,2,0,0,0,3,0,0,2,0,3],\"bestsecret.com\":[23,1,1,2,0,4,0,0,3,0,0],\"blu-ray.com\":[25,1,1,2,0,6,2,0,3,1,0],\"proton.me\":[3,1,0,2,1,5,0,0,0,0,2],\"on3.com\":[77,2,5,2,0,10,0,0,12,4,3],\"cybozu.com\":[1,0,0,0,0,8,0,0,0,0,1],\"pokemondb.net\":[35,1,0,1,0,4,1,0,2,1,0],\"luxuretv.com\":[0,0,0,1,1,3,0,1,1,0,0],\"myntra.com\":[6,3,0,0,0,5,1,0,6,0,2],\"thesun.co.uk\":[42,2,0,1,0,5,1,0,14,4,2],\"xvideos.es\":[1,0,0,0,1,2,1,0,0,0,0],\"eurosport.fr\":[48,2,2,1,0,5,0,0,9,2,2],\"ynetnews.com\":[13,1,0,0,0,5,0,0,4,2,1],\"siol.net\":[17,1,1,1,0,4,0,0,3,3,0],\"douga-getter.com\":[4,0,0,0,0,5,0,0,0,0,0],\"reverso.net\":[26,0,1,1,1,6,0,0,2,0,1],\"audioz.download\":[2,2,0,2,1,6,0,0,1,0,0],\"sporza.be\":[27,1,0,0,0,4,0,0,5,3,3],\"gumtree.com\":[20,1,2,1,1,5,2,0,7,0,3],\"livedoor.com\":[25,1,0,0,0,7,1,0,2,2,0],\"20min.ch\":[86,3,1,3,0,14,1,0,8,3,2],\"idealista.it\":[27,1,1,1,1,6,0,0,6,0,2],\"fanfox.net\":[4,0,0,0,1,4,0,0,1,2,0],\"miro.com\":[6,2,1,1,0,9,0,0,4,0,4],\"cars.com\":[44,1,2,1,0,9,1,0,7,0,3],\"yupoo.com\":[3,0,0,0,0,2,2,0,1,0,0],\"mundodeportivo.com\":[35,4,1,1,1,9,0,0,2,3,0],\"dynamics.com\":[4,0,0,5,0,8,7,0,3,1,5],\"iafd.com\":[1,0,0,1,1,7,0,1,1,0,0],\"pornzog.com\":[1,1,0,1,0,4,0,2,1,0,1],\"lesoir.be\":[33,0,1,1,0,5,0,0,3,0,1],\"allclassical.org\":[2,0,0,0,0,5,0,0,2,0,1],\"filmaffinity.com\":[11,1,1,0,1,6,1,0,4,0,0],\"lovable.dev\":[9,1,1,2,0,8,1,0,6,0,1],\"boulanger.com\":[10,1,1,4,1,6,0,0,5,1,2],\"justwatch.com\":[18,1,1,0,0,5,1,0,1,1,1],\"nordaccount.com\":[1,0,0,1,0,6,0,0,0,0,2],\"inps.it\":[1,0,0,0,1,3,0,0,2,0,1],\"impots.gouv.fr\":[2,0,0,1,1,5,0,0,0,0,1],\"opensubtitles.org\":[4,0,0,0,1,8,1,0,1,0,1],\"marksandspencer.com\":[12,0,1,4,0,5,1,0,13,2,5],\"myfitnesspal.com\":[10,0,1,0,0,3,0,0,4,0,2],\"huffingtonpost.fr\":[70,1,2,1,1,7,1,0,5,3,0],\"laposte.net\":[43,1,2,0,1,9,1,0,3,0,1],\"intermarche.com\":[11,0,1,1,1,7,0,0,4,0,3],\"newsit.gr\":[11,2,1,1,1,5,0,0,1,3,1],\"smh.com.au\":[19,3,0,1,1,8,1,0,8,3,2],\"robinhood.com\":[4,0,1,1,0,2,0,0,1,0,2],\"realclearpolitics.com\":[51,2,0,0,0,5,0,0,9,3,1],\"overdrive.com\":[3,0,0,0,0,3,0,0,2,0,0],\"skylots.org\":[7,0,0,1,1,3,1,0,1,0,1],\"literotica.com\":[2,0,0,1,0,6,0,0,0,2,0],\"raterhub.com\":[2,1,0,0,0,4,0,0,1,0,0],\"whowatch.tv\":[7,0,0,0,0,3,0,0,0,0,1],\"istockphoto.com\":[6,0,1,0,1,3,0,0,1,0,1],\"chollometro.com\":[5,1,1,0,1,3,0,0,0,0,0],\"skysports.com\":[9,2,1,1,1,4,1,0,7,0,1],\"forbes.com\":[37,2,2,3,0,6,0,0,17,6,1],\"klarna.com\":[2,0,1,1,0,3,0,0,1,0,5],\"cineby.sc\":[0,0,0,0,0,4,3,0,1,0,0],\"abnamro.nl\":[8,0,1,0,0,3,0,0,5,0,2],\"n12.co.il\":[83,0,0,3,0,6,2,0,7,2,2],\"18comic.vip\":[4,0,0,1,1,7,0,1,3,0,0],\"pornbb.org\":[0,0,0,0,1,3,0,0,2,0,0],\"gameforge.com\":[2,0,0,0,0,4,1,0,0,0,0],\"ezgif.com\":[47,0,0,4,0,4,1,0,1,0,1],\"wow.xxx\":[2,0,0,0,0,2,0,0,3,0,0],\"glassdoor.com\":[4,2,1,0,0,9,0,0,4,0,3],\"amazon.ae\":[9,0,0,1,1,5,0,0,1,0,1],\"vlr.gg\":[3,0,0,0,0,3,0,0,0,0,0],\"semrush.com\":[14,0,0,1,1,8,0,0,14,0,3],\"sotwe.com\":[3,1,0,2,1,6,0,0,2,1,1],\"c411.org\":[0,1,0,0,1,3,2,0,1,1,0],\"dafont.com\":[10,0,0,1,1,3,0,0,3,0,0],\"drom.ru\":[3,0,0,1,1,1,0,0,1,0,0],\"123chill.uk\":[4,1,0,0,0,8,2,0,3,0,1],\"buzzfeed.com\":[43,1,3,0,0,9,1,0,4,3,2],\"drive2.ru\":[6,1,0,1,1,4,0,0,3,0,0],\"choiceadvantage.com\":[0,0,0,0,0,4,0,0,2,0,0],\"rawkuma.net\":[2,0,0,1,0,4,0,0,2,1,0],\"championat.com\":[6,0,0,2,1,3,2,0,4,2,0],\"coursesu.com\":[29,1,0,3,1,7,0,0,6,2,4],\"meteociel.fr\":[3,0,1,0,1,2,0,0,0,0,0],\"oup.com\":[7,0,1,0,0,8,0,0,4,0,2],\"gabis-seite.de\":[1,0,0,0,0,0,0,0,0,0,0],\"2nn.jp\":[6,0,0,0,0,1,0,0,2,0,0],\"gumroad.com\":[5,2,0,4,0,7,0,0,2,0,2],\"optioncharts.io\":[3,0,0,0,0,4,0,0,1,0,0],\"argos.co.uk\":[7,0,1,3,0,5,1,0,6,2,5],\"rezka.ag\":[3,1,0,0,0,5,0,0,3,2,0],\"filecrypt.cc\":[2,0,0,0,1,2,0,0,1,0,0],\"javdb.com\":[1,0,0,1,0,5,0,1,3,0,0],\"vinted.es\":[51,0,1,0,1,4,0,0,3,0,1],\"temp-mail.org\":[24,0,0,1,1,10,1,0,2,0,0],\"abola.pt\":[36,3,1,0,1,8,0,0,4,3,2],\"hl.co.uk\":[7,0,1,2,1,3,0,0,6,1,2],\"hypnotube.com\":[1,0,0,0,1,4,0,1,1,0,0],\"grammarly.com\":[17,2,1,5,0,10,0,0,10,1,2],\"capcut.com\":[6,1,0,0,0,6,0,0,2,1,2],\"calendly.com\":[6,0,2,3,0,6,0,0,5,0,6],\"csfd.cz\":[27,0,1,0,1,5,0,0,2,0,0],\"in.gr\":[18,2,0,1,0,7,0,0,3,3,1],\"theweathernetwork.com\":[71,1,3,1,0,7,0,0,8,0,2],\"pagina12.com.ar\":[7,1,0,1,1,8,1,0,8,2,0],\"moneyforward.com\":[10,0,0,1,1,7,0,0,6,0,0],\"streamed.pk\":[2,0,0,1,0,4,0,0,1,0,0],\"444.hu\":[42,1,1,0,0,7,0,0,3,2,1],\"squareup.com\":[7,1,1,1,0,7,0,0,4,0,6],\"moviebox.ph\":[2,0,0,1,0,3,0,0,1,0,0],\"mediamarkt.de\":[10,0,1,4,0,6,0,0,2,1,3],\"baseball-reference.com\":[6,1,2,1,1,6,0,0,3,0,0],\"lexware.de\":[10,1,1,1,0,5,0,0,2,0,2],\"meetup.com\":[33,1,1,2,0,7,1,0,5,0,3],\"bambulab.com\":[7,1,1,4,0,10,0,0,2,1,2],\"somethingawful.com\":[1,1,0,0,0,5,1,0,1,3,0],\"flaticon.com\":[38,0,1,0,1,7,0,0,7,1,1],\"company-information.service.gov.uk\":[0,0,0,0,0,4,0,0,0,0,0],\"iptorrents.com\":[0,1,0,0,0,1,1,0,0,0,0],\"google.com.au\":[4,1,0,0,0,4,2,0,0,0,0],\"ctvnews.ca\":[13,1,0,1,0,6,0,0,9,2,3],\"xmegadrive.com\":[1,0,0,2,1,4,0,1,0,0,1],\"next.co.uk\":[16,1,1,1,0,5,0,0,8,1,3],\"torrentgalaxy.one\":[0,0,0,0,0,5,0,0,2,0,0],\"bazos.cz\":[5,0,0,1,0,3,0,0,1,0,0],\"eldiario.es\":[22,1,3,0,0,9,2,0,3,2,3],\"mercadolibre.com.co\":[7,0,0,0,1,3,0,0,3,1,1],\"adblockplus.org\":[2,0,0,1,1,2,1,0,2,0,0],\"geny.com\":[21,1,1,1,1,5,2,0,3,0,1],\"ny.gov\":[4,1,0,2,0,8,1,0,5,1,2],\"ko-fi.com\":[4,1,1,3,0,6,0,0,3,1,1],\"nieuwsblad.be\":[36,2,1,1,1,7,0,0,3,3,0],\"naughtyblog.org\":[2,0,0,0,0,4,0,0,3,0,1],\"banquepopulaire.fr\":[6,0,0,0,1,3,0,0,5,0,1],\"fastpic.org\":[0,0,0,2,1,3,0,0,0,0,0],\"bazos.sk\":[5,0,0,0,0,2,0,0,1,0,0],\"nla.gov.au\":[2,0,0,0,0,5,0,0,0,0,0],\"animekai.to\":[2,1,0,0,0,3,0,0,2,0,0],\"shopee.ph\":[5,0,0,0,1,2,0,0,0,0,3],\"delfi.lt\":[27,2,1,4,1,9,1,0,2,3,1],\"livetv.sx\":[8,2,0,1,1,7,0,0,3,0,0],\"weatherzone.com.au\":[54,0,3,0,1,6,2,0,9,0,1],\"midilibre.fr\":[54,1,1,0,1,8,0,0,7,0,2],\"jable.tv\":[3,0,0,1,0,3,1,2,2,0,0],\"equideow.com\":[1,0,1,0,0,1,0,0,0,0,0],\"nobodyhome.ws\":[1,0,0,1,1,4,0,0,1,0,0],\"express.co.uk\":[42,1,2,2,0,7,1,0,9,2,2],\"accor.com\":[25,0,1,6,0,6,1,0,12,1,2],\"tbank.ru\":[5,0,0,0,1,2,1,0,1,1,0],\"sports.ru\":[6,0,0,0,1,3,1,0,3,2,0],\"actu.fr\":[72,1,1,0,1,8,1,0,11,3,3],\"myconnectwise.net\":[1,0,0,1,0,3,0,0,2,0,0],\"xvideos.red\":[0,0,0,0,1,2,1,0,1,0,1],\"interlochenpublicradio.org\":[3,0,0,1,0,1,0,0,0,0,0],\"novelfire.net\":[4,0,0,2,1,4,0,0,1,1,0],\"klaviyo.com\":[5,2,3,2,0,8,0,0,6,2,4],\"o2.pl\":[90,1,0,3,0,7,0,0,5,0,1],\"ideal.nl\":[0,0,0,0,0,2,0,0,0,0,0],\"myfreecams.com\":[3,1,0,0,0,5,0,0,1,0,2],\"brightspace.com\":[3,1,0,2,0,12,0,0,5,0,1],\"happymh.com\":[10,0,0,1,0,4,0,0,1,0,0],\"athenahealth.com\":[1,0,0,0,0,6,0,0,2,0,3],\"qvc.com\":[38,2,0,3,0,7,2,0,8,2,3],\"skyscrapercity.com\":[25,1,1,1,0,10,4,0,2,5,1],\"biobiochile.cl\":[55,2,1,1,1,5,0,0,6,3,2],\"calcalist.co.il\":[54,1,0,1,1,5,1,0,5,1,2],\"nordstromrack.com\":[9,1,0,3,0,3,0,0,7,1,3],\"finalfantasyxiv.com\":[7,2,1,0,1,5,0,0,1,0,0],\"planetminecraft.com\":[29,1,0,3,0,6,2,0,3,2,0],\"fullbay.com\":[0,1,0,3,0,2,0,0,1,0,1],\"cbsnews.com\":[106,4,3,3,0,11,1,0,11,2,3],\"espncricinfo.com\":[19,1,1,0,0,8,1,0,3,2,0],\"yandex.by\":[6,1,0,0,1,4,0,0,1,2,0],\"vintage-erotica-forum.com\":[3,0,0,0,1,6,0,1,2,0,0],\"gunbroker.com\":[8,2,1,3,0,10,0,0,3,0,0],\"csfloat.com\":[2,0,0,1,0,3,0,0,0,0,0],\"ziprecruiter.com\":[3,0,1,0,0,7,0,0,2,0,2],\"bibliocommons.com\":[3,0,0,0,0,4,0,0,2,0,1],\"norton.com\":[16,1,0,2,0,8,0,0,11,3,4],\"immoweb.be\":[35,1,1,1,0,4,1,0,7,0,0],\"decipherinc.com\":[2,2,0,1,1,8,1,0,1,0,1],\"game8.jp\":[53,1,0,2,1,5,1,0,4,1,1],\"therealreal.com\":[25,0,1,3,0,5,0,0,9,1,4],\"ibm.com\":[8,2,2,1,0,10,0,0,8,0,3],\"canadiantire.ca\":[38,1,1,3,0,9,1,0,10,1,4],\"haberler.com\":[29,0,0,0,1,5,0,0,4,0,0],\"myflixerz.to\":[5,1,0,0,0,8,0,0,2,0,0],\"hellowork.com\":[7,0,0,1,0,5,0,0,3,1,3],\"foxbusiness.com\":[78,2,3,1,0,9,1,0,9,0,1],\"ulta.com\":[45,1,2,5,0,5,0,0,11,2,2],\"gptzero.me\":[8,1,1,3,0,7,0,0,6,0,3],\"sky.it\":[13,0,1,1,1,5,0,0,7,0,1],\"duolingo.com\":[8,1,1,1,0,7,0,0,2,0,4],\"spectrum.net\":[7,0,0,1,0,6,0,0,2,0,2],\"sweetwater.com\":[5,1,1,1,0,5,0,0,0,0,5],\"ria.com\":[8,1,0,0,0,5,0,0,2,0,1],\"filman.cc\":[7,2,0,1,0,9,0,0,2,0,0],\"battle.net\":[2,2,1,1,0,6,0,0,3,0,0],\"pcpartpicker.com\":[0,0,0,0,0,3,0,0,1,0,1],\"toasttab.com\":[2,0,0,3,0,8,0,0,10,0,6],\"pixnoy.com\":[31,0,1,1,1,4,0,0,2,2,0],\"marinetraffic.com\":[7,0,2,4,1,7,0,0,6,0,1],\"k2s.cc\":[5,0,0,0,1,3,0,0,2,0,1],\"nrc.nl\":[6,0,1,0,0,4,0,0,6,0,0],\"rewe.de\":[15,1,1,2,0,5,0,0,3,2,3],\"dl-protect.link\":[0,0,0,0,1,3,0,0,1,0,0],\"rule34hentai.net\":[2,0,0,0,1,4,0,0,2,1,0],\"dhl.com\":[4,0,1,2,0,4,0,0,3,0,2],\"xnxx.es\":[0,0,0,0,1,2,0,0,0,0,0],\"eventbrite.com\":[9,1,1,6,0,7,0,0,8,3,4],\"mirror.co.uk\":[40,1,2,2,0,11,1,0,8,3,3],\"filester.me\":[0,0,0,0,1,1,0,0,1,0,0],\"warframe.com\":[4,1,1,0,1,9,1,0,3,2,1],\"sudouest.fr\":[44,1,1,0,1,8,0,0,7,3,3],\"tportal.hr\":[30,1,1,0,1,6,0,0,3,3,0],\"finecobank.com\":[7,1,1,2,0,1,0,0,0,0,0],\"musescore.com\":[22,1,1,4,0,6,0,0,3,0,2],\"tpex.org.tw\":[1,0,0,0,0,2,0,0,1,0,0],\"animeonline.ninja\":[5,1,0,1,0,8,2,1,4,1,0],\"galaxus.ch\":[6,1,0,0,0,3,0,0,2,1,2],\"mercadopago.com.ar\":[3,0,0,0,1,2,0,0,2,0,1],\"sport5.co.il\":[51,1,0,1,0,6,0,0,3,3,1],\"trademe.co.nz\":[26,1,1,0,0,5,0,0,4,0,2],\"airtable.com\":[6,0,2,1,0,4,0,0,2,0,2],\"gettyimages.com\":[4,0,1,1,0,3,0,0,2,0,2],\"fetlife.com\":[3,1,0,2,0,6,0,0,1,0,1],\"unity.com\":[9,1,1,2,1,8,1,0,5,1,3],\"savefrom.net\":[4,1,0,1,1,6,0,0,3,0,0],\"check24.de\":[25,1,0,1,1,6,0,0,2,0,2],\"santander.co.uk\":[4,0,1,1,0,2,0,0,4,0,3],\"vercel.app\":[5,1,0,1,0,13,1,0,2,0,3],\"timeanddate.com\":[59,0,2,3,0,5,1,0,3,0,0],\"freewebnovel.com\":[3,0,0,1,0,5,0,0,1,0,0],\"serebii.net\":[27,1,1,2,0,5,1,0,3,0,0],\"onlyfaucet.com\":[2,0,0,0,0,4,0,0,2,0,0],\"lipstickalley.com\":[7,1,1,0,0,8,3,0,5,6,0],\"showroom-live.com\":[11,1,0,1,0,6,0,0,1,0,2],\"lepoint.fr\":[36,1,1,0,0,5,1,0,6,2,2],\"allrecipes.com\":[34,1,2,1,0,8,2,0,7,1,0],\"ffsng.com\":[4,1,0,0,0,5,0,0,0,0,0],\"skool.com\":[5,4,0,3,0,7,0,0,2,2,1],\"bestjavporn.com\":[3,1,0,2,1,6,0,2,3,0,0],\"auchan.fr\":[7,0,1,1,1,4,0,0,2,1,1],\"aircanada.com\":[20,0,1,2,0,7,1,0,10,0,2],\"lastampa.it\":[78,2,1,2,0,5,1,0,7,0,1],\"mitid.dk\":[0,0,0,1,0,3,0,0,1,0,1],\"tesco.com\":[11,0,1,2,0,5,0,0,5,1,3],\"sflix.ps\":[5,2,0,0,0,9,0,0,2,0,0],\"tomshardware.com\":[33,2,1,2,0,6,2,0,3,3,2],\"theglobeandmail.com\":[32,2,1,0,0,7,0,0,14,2,1],\"kingmods.net\":[4,1,0,1,1,5,0,0,2,0,2],\"sii.cl\":[2,0,0,1,1,4,0,0,5,1,1],\"sephora.com\":[16,2,0,4,0,8,2,0,7,2,5],\"google.ca\":[4,1,0,0,0,4,0,0,1,0,0],\"surveymonkey.com\":[4,0,0,1,0,5,0,0,1,3,1],\"ozbargain.com.au\":[27,0,1,1,1,5,1,0,1,0,0],\"tesla.com\":[8,1,0,1,0,7,1,0,1,1,4],\"zoopla.co.uk\":[42,2,2,1,0,10,0,0,3,0,3],\"tmall.com\":[2,0,0,1,1,3,1,0,0,0,0],\"vrt.be\":[8,2,0,0,0,8,0,0,3,3,2],\"wiktionary.org\":[1,0,0,0,0,4,0,0,0,0,0],\"shopee.com.my\":[6,0,0,0,1,3,0,0,0,0,1],\"dhnet.be\":[37,2,2,2,0,10,0,0,5,3,4],\"po-kaki-to.com\":[3,0,0,1,1,3,0,0,4,2,0],\"loom.com\":[2,0,1,3,0,5,0,0,2,1,3],\"nature.com\":[28,1,0,1,1,5,0,0,6,0,1],\"ppomppu.co.kr\":[17,1,0,1,0,7,1,0,2,0,0],\"geizhals.de\":[2,0,1,0,0,4,0,0,0,0,0],\"douyu.com\":[5,0,0,0,0,0,1,0,2,0,0],\"elconfidencial.com\":[67,2,2,2,0,5,1,0,6,0,3],\"rtl.nl\":[12,1,1,0,0,6,1,0,2,1,0],\"suumo.jp\":[31,0,0,1,0,5,0,0,4,2,1],\"uber.com\":[5,0,0,1,0,7,2,0,5,1,3],\"163.com\":[4,0,0,1,0,3,3,0,0,0,0],\"69shuba.com\":[1,0,0,1,0,4,0,0,1,0,0],\"imagebam.com\":[1,0,0,0,1,4,0,0,2,0,0],\"arte.tv\":[1,0,0,0,1,3,0,0,2,0,0],\"rbc.ru\":[4,0,0,2,1,3,1,0,4,1,0],\"paylocity.com\":[4,0,1,0,0,7,0,0,1,0,1],\"wordwall.net\":[5,0,0,1,0,4,0,0,2,1,1],\"office365.com\":[1,0,0,1,0,5,5,0,0,0,0],\"ebay.nl\":[5,0,0,1,0,3,1,0,1,0,0],\"vimm.net\":[74,0,1,4,0,6,1,0,5,0,0],\"metal-archives.com\":[0,0,0,0,0,4,0,0,2,0,0],\"sofi.com\":[8,0,1,2,0,8,0,0,13,0,4],\"iloveimg.com\":[7,1,0,0,1,3,0,0,1,0,1],\"freetaxusa.com\":[3,0,1,1,0,4,0,0,2,0,2],\"pmvhaven.com\":[1,0,0,0,1,3,0,0,2,0,0],\"schoology.com\":[3,1,0,0,0,5,0,0,3,0,2],\"manhuagui.com\":[13,0,0,1,1,3,0,1,1,0,0],\"tracker.gg\":[12,0,1,3,0,6,0,0,4,0,3],\"kinguin.net\":[14,1,2,5,1,9,0,0,7,2,2],\"dtn.com\":[0,0,0,0,0,2,0,0,3,0,0],\"veepee.fr\":[1,0,1,0,1,5,0,0,3,0,3],\"academia.edu\":[5,0,0,2,1,8,0,0,3,1,3],\"fpo.xxx\":[1,0,0,0,1,4,0,2,1,0,0],\"nelomanga.net\":[4,0,0,0,1,6,0,0,1,0,0],\"thesaurus.com\":[72,2,2,2,0,6,1,0,5,1,0],\"bringatrailer.com\":[9,1,1,1,0,5,0,0,5,1,2],\"poste.it\":[4,0,1,2,1,4,1,0,1,0,2],\"opera.com\":[7,1,0,0,1,4,0,0,2,1,0],\"inkbunny.net\":[0,1,0,0,0,3,0,0,0,0,0],\"zapier.com\":[10,1,2,4,0,9,0,0,6,2,5],\"yesstyle.com\":[12,1,0,1,1,4,0,0,5,1,1],\"kaotic.com\":[2,1,0,1,0,8,0,0,2,0,0],\"mako.co.il\":[63,2,0,0,0,9,0,0,5,4,1],\"whoreshub.com\":[2,0,0,0,1,2,0,0,1,0,0],\"novelupdates.com\":[11,0,0,1,0,6,0,0,0,1,0],\"economist.com\":[19,3,0,1,0,5,1,0,16,2,2],\"cda.pl\":[9,0,0,0,0,4,0,0,2,0,0],\"die-staemme.de\":[1,0,0,0,0,1,0,0,0,0,1],\"publico.pt\":[36,2,0,1,0,7,0,0,6,0,2],\"mangago.zone\":[2,0,0,0,1,1,0,0,1,0,0],\"njuskalo.hr\":[21,0,1,1,1,5,1,0,6,0,0],\"bilibili.tv\":[2,0,0,1,0,7,0,0,0,0,1],\"ensonhaber.com\":[9,1,0,0,0,3,0,0,1,0,0],\"pokefarm.com\":[0,0,0,0,0,0,1,0,1,1,0],\"johnlewis.com\":[13,0,0,1,0,8,1,0,9,3,3],\"jetpunk.com\":[38,0,0,0,0,7,1,0,2,0,0],\"nzherald.co.nz\":[20,2,1,1,1,11,1,0,10,2,2],\"leakimedia.com\":[1,0,0,0,0,5,0,0,2,1,0],\"buienradar.nl\":[23,0,1,3,0,8,0,0,4,0,0],\"livejasmin.com\":[5,0,0,0,0,3,0,1,2,0,2],\"transfermarkt.com\":[16,0,1,1,0,8,0,0,1,0,2],\"jw.org\":[0,0,0,0,1,4,0,0,0,0,1],\"bunnings.com.au\":[8,3,0,4,1,7,2,0,5,1,2],\"senscritique.com\":[28,1,2,1,0,7,1,0,1,0,0],\"pointtown.com\":[78,1,1,1,0,6,3,0,7,1,2],\"techpowerup.com\":[1,1,0,1,1,5,0,0,0,0,0],\"immobiliare.it\":[9,0,1,2,1,6,0,0,5,0,1],\"coinbase.com\":[2,0,1,2,1,8,0,0,1,0,5],\"gta5-mods.com\":[12,1,1,3,1,4,1,0,4,0,1],\"sketchfab.com\":[1,0,1,1,1,6,0,0,1,0,1],\"manuscriptcentral.com\":[1,0,1,0,0,4,0,0,2,0,0],\"ceneo.pl\":[8,1,0,0,0,6,0,0,2,0,1],\"myfigurecollection.net\":[4,0,1,0,0,2,0,0,4,0,0],\"axios.com\":[15,2,0,2,0,4,0,0,7,3,2],\"cursor.com\":[3,2,0,2,0,6,0,0,0,1,2],\"mpmux.com\":[2,0,0,0,1,4,1,2,1,0,0],\"gofundme.com\":[8,2,1,2,0,10,0,0,8,2,4],\"mangatown.com\":[4,0,0,0,0,3,0,0,2,0,0],\"ragilconvert.id\":[0,0,0,0,0,5,0,0,0,0,0],\"nepu.to\":[1,0,0,0,0,5,2,0,0,0,1],\"srf.ch\":[1,0,1,0,0,6,0,0,4,2,1],\"sme.sk\":[42,2,0,0,0,7,0,0,4,2,1],\"archive.is\":[4,0,0,0,0,4,0,0,0,0,0],\"247sports.com\":[87,5,3,1,0,11,0,0,11,4,3],\"bike-discount.de\":[3,1,1,3,1,5,1,0,2,0,1],\"gaiaonline.com\":[53,1,2,1,0,7,2,0,6,0,0],\"ukdevilz.com\":[2,1,0,1,1,5,0,1,3,0,0],\"dickssportinggoods.com\":[43,2,0,5,0,6,0,0,6,3,6],\"tv-programme.com\":[4,0,0,0,1,3,1,0,0,0,0],\"hdtodayz.to\":[5,2,0,0,0,8,0,0,2,0,0],\"gay-torrents.net\":[0,0,0,0,0,3,0,1,0,0,0],\"gnula.cc\":[3,0,0,1,1,6,1,0,2,0,0],\"porngameshub.com\":[1,0,0,1,1,3,0,1,2,0,0],\"torrentday.com\":[0,1,0,0,0,4,1,0,0,0,0],\"monotaro.com\":[29,1,0,0,0,5,1,0,4,1,2],\"primewire.mov\":[5,2,0,0,0,8,1,0,3,0,0],\"dn.se\":[5,0,0,0,0,4,0,0,2,2,2],\"meneame.net\":[19,1,1,1,0,7,0,0,2,0,0],\"instapundit.com\":[5,1,0,1,0,7,0,0,0,2,1],\"solitairebliss.com\":[3,0,2,1,0,6,0,0,2,0,1],\"rambler.ru\":[2,0,0,2,1,4,0,0,4,0,2],\"tradingeconomics.com\":[11,0,0,1,0,6,0,0,0,0,0],\"javgg.net\":[2,1,0,1,0,7,0,2,3,0,0],\"newtoki469.com\":[2,0,0,1,1,4,0,0,1,0,0],\"darty.com\":[31,2,3,1,1,6,4,0,7,2,3],\"javhdporn.net\":[1,1,0,2,0,7,0,1,3,0,1],\"gradescope.com\":[1,0,0,0,0,2,0,0,3,0,0],\"lesnumeriques.com\":[31,1,2,0,0,8,0,0,3,2,1],\"manyvids.com\":[4,0,0,0,0,4,0,0,2,0,2],\"go.com\":[15,0,1,2,0,4,1,0,11,0,3],\"harvard.edu\":[12,2,3,7,0,15,0,0,15,1,8],\"tryst.link\":[0,0,0,0,0,1,0,0,1,0,0],\"falstaff.com\":[4,0,0,1,0,1,0,0,3,0,1],\"lachainemeteo.com\":[44,1,1,0,1,3,0,0,4,0,0],\"inven.co.kr\":[7,2,0,1,1,8,1,0,2,0,0],\"farming-simulator.com\":[4,1,0,1,1,4,0,0,0,0,0],\"fdating.com\":[2,0,0,1,0,3,0,0,1,0,0],\"yoursurveynow.com\":[1,0,0,0,0,5,0,0,0,0,0],\"gameknot.com\":[80,1,2,3,0,6,1,0,11,0,1],\"box.com\":[8,0,1,1,0,10,3,0,5,0,4],\"pagesjaunes.fr\":[6,0,1,0,1,6,0,0,1,0,1],\"brevo.com\":[9,0,1,1,1,10,0,0,8,1,1],\"zalando.pl\":[6,0,1,0,0,2,1,0,1,0,1],\"mediaite.com\":[101,3,3,2,0,11,1,0,12,4,3],\"centrum24.pl\":[3,0,0,0,1,3,0,0,2,0,1],\"rolimons.com\":[3,0,0,0,0,1,0,0,0,0,0],\"sudinfo.be\":[25,0,1,0,0,6,0,0,3,1,1],\"wallhaven.cc\":[0,0,0,0,0,5,0,0,1,0,0],\"services.gc.ca\":[1,0,0,0,0,4,0,0,1,0,2],\"thefappeningblog.com\":[2,1,0,1,1,5,0,0,1,1,0],\"carfax.com\":[14,0,1,0,0,7,0,0,11,2,4],\"redbubble.com\":[8,0,1,4,0,7,0,0,4,1,5],\"tsite.jp\":[16,0,0,0,0,8,0,0,5,1,4],\"anilist.co\":[17,1,0,1,1,8,2,0,4,4,0],\"mheducation.com\":[6,0,1,0,0,6,3,0,5,0,3],\"sofoot.com\":[11,0,0,0,1,8,0,0,3,4,0],\"cardkingdom.com\":[6,0,1,1,0,6,0,0,1,1,1],\"takealot.com\":[9,1,0,0,1,5,1,0,4,1,1],\"cumhuriyet.com.tr\":[69,4,0,1,1,7,1,0,9,2,2],\"itv.com\":[6,2,0,0,0,6,1,0,6,0,1],\"seekingalpha.com\":[11,0,2,4,0,5,0,0,2,1,2],\"superside.com\":[1,0,0,0,0,5,0,0,4,0,0],\"docker.com\":[4,1,1,2,0,7,0,0,7,1,2],\"twitcasting.tv\":[5,1,0,0,0,2,0,0,1,1,0],\"gamepark.fun\":[17,0,0,0,0,6,0,0,2,1,1],\"hoyoverse.com\":[5,1,1,2,1,7,0,0,1,0,3],\"racingpost.com\":[10,0,1,1,0,4,0,0,5,1,2],\"kabutan.jp\":[18,0,0,0,0,6,0,0,4,1,0],\"filelist.io\":[2,1,0,0,0,6,2,0,2,2,0],\"io-tech.fi\":[4,1,0,0,0,8,0,0,2,4,1],\"1688.com\":[3,0,0,2,1,3,1,0,3,0,1],\"moddb.com\":[19,1,1,2,1,5,2,0,3,3,0],\"autotrader.com\":[26,2,1,1,0,10,1,0,8,3,5],\"va.gov\":[3,1,0,2,0,7,0,0,4,0,1],\"xsava.xyz\":[1,0,0,0,1,3,0,0,0,0,0],\"setupvpn.com\":[1,0,0,0,0,1,0,0,1,0,0],\"gyazo.com\":[9,0,0,0,0,4,0,0,4,0,1],\"google.pl\":[4,1,0,0,0,4,0,0,0,0,0],\"alza.sk\":[10,1,0,0,1,7,0,0,5,1,2],\"coolblue.nl\":[11,1,0,1,0,6,0,0,4,1,2],\"ubisoft.com\":[2,1,1,1,1,9,0,0,5,0,5],\"fansly.com\":[1,0,0,2,0,3,0,0,0,0,0],\"royalmail.com\":[6,2,1,5,0,8,1,0,4,2,3],\"kasika.io\":[3,0,0,0,0,6,0,0,0,0,2],\"qoo10.jp\":[15,0,0,0,0,2,0,0,4,0,0],\"usg.edu\":[1,1,0,1,0,9,0,0,1,0,1],\"amazon.ie\":[3,0,0,0,0,4,0,0,1,0,0],\"eneba.com\":[8,1,0,2,1,8,0,0,4,0,6],\"myminifactory.com\":[4,1,0,2,1,6,0,0,3,0,0],\"dhgate.com\":[19,0,0,2,0,7,0,0,3,3,2],\"wepanow.com\":[0,0,0,0,0,2,0,0,0,0,0],\"byrutgame.org\":[3,1,0,0,1,4,0,0,3,0,0],\"partslink24.com\":[4,0,1,1,0,2,0,0,1,0,0],\"uw.edu\":[3,1,0,1,0,9,0,0,7,0,0],\"jotform.com\":[9,0,2,2,0,9,0,0,6,1,3],\"zougla.gr\":[15,2,2,2,0,9,0,0,2,4,1],\"mediavida.com\":[4,3,0,0,1,9,1,0,4,4,1],\"newsbeast.gr\":[15,2,1,1,1,8,0,0,2,3,1],\"theporndude.com\":[1,0,0,1,1,4,0,0,1,0,1],\"eroterest.net\":[1,1,0,0,0,5,0,0,0,0,0],\"laredoute.fr\":[18,0,1,3,1,7,1,0,5,1,2],\"experian.com\":[25,0,0,2,0,5,0,0,6,2,2],\"legacy.com\":[52,2,1,1,0,12,1,0,10,0,2],\"doorblog.jp\":[16,1,0,0,0,10,1,1,4,5,2],\"datadoghq.com\":[3,0,1,3,0,9,0,0,1,1,2],\"ultipro.com\":[1,0,0,1,0,5,1,0,4,3,2],\"pornrips.to\":[0,0,0,0,1,3,0,0,2,1,0],\"showroomprive.com\":[10,0,0,2,1,7,1,0,4,0,2],\"streaming-integrale.com\":[4,0,0,0,1,6,1,0,2,0,0],\"myinstants.com\":[11,0,1,2,0,3,0,0,4,0,0],\"dnevnik.hr\":[35,1,1,2,0,8,1,0,5,3,0],\"autoscout24.it\":[38,2,1,0,0,4,0,0,3,0,0],\"fanbox.cc\":[5,1,0,1,1,4,0,0,2,2,1],\"jecontacte.com\":[3,0,0,0,1,1,0,0,1,0,0],\"ahrefs.com\":[5,3,1,2,0,8,0,0,2,0,2],\"carsensor.net\":[36,0,0,0,0,4,0,0,7,1,0],\"hanime.tv\":[2,1,0,0,0,5,0,2,1,0,0],\"deadfrontier.com\":[4,1,0,0,0,5,1,0,2,0,0],\"nfl.com\":[23,0,1,1,0,7,0,0,4,2,3],\"listal.com\":[3,1,0,1,1,3,0,0,1,0,2],\"taxslayer.com\":[2,1,2,0,0,8,0,0,4,0,6],\"xmoviesforyou.com\":[2,1,0,1,0,5,0,1,1,0,0],\"vrchat.com\":[3,1,1,2,0,8,0,0,2,2,2],\"finanzen.net\":[76,1,2,3,1,6,1,0,6,1,1],\"tn.com.ar\":[9,1,0,0,0,5,0,0,3,0,2],\"porn300.com\":[1,0,0,1,1,3,0,0,0,0,0],\"capital.gr\":[7,0,1,1,1,3,0,0,2,4,1],\"f-list.net\":[1,0,0,0,0,3,0,0,1,0,0],\"hyatt.com\":[11,0,1,0,0,5,1,0,7,1,4],\"marketscreener.com\":[9,0,2,1,0,8,0,0,4,0,1],\"watson.ch\":[17,2,1,0,0,7,0,0,4,3,1],\"ingatlan.com\":[14,0,1,0,0,6,0,0,4,0,2],\"whatfinger.com\":[12,1,0,3,0,7,0,0,6,3,0],\"anysex.com\":[1,0,0,1,0,6,0,1,2,0,0],\"abcnyheter.no\":[20,0,1,0,0,4,0,0,5,1,2],\"gamer520.com\":[3,0,0,0,1,0,2,0,1,0,0],\"imgbox.com\":[2,0,0,1,1,4,0,0,2,0,0],\"cuny.edu\":[4,1,0,2,0,12,0,0,7,2,3],\"ledauphine.com\":[64,1,1,0,0,7,0,0,7,2,4],\"xfreehd.com\":[2,0,0,1,1,4,0,2,2,0,0],\"bridgeyourbudget.com\":[0,0,0,0,0,2,0,0,1,0,0],\"uhc.com\":[2,0,0,3,0,5,0,0,3,0,3],\"valasztas.hu\":[1,0,0,1,0,3,0,0,1,0,1],\"bs.to\":[2,0,0,0,1,4,0,0,0,0,0],\"kotaku.com\":[39,1,0,0,0,7,0,0,6,5,0],\"gesoten.com\":[10,1,0,1,0,9,1,0,4,2,1],\"barclaycardus.com\":[5,0,1,0,0,3,0,0,2,0,3],\"ankergames.net\":[2,1,0,1,0,6,0,0,2,1,0],\"yeggi.com\":[46,1,0,4,1,6,1,0,1,0,0],\"computrabajo.com\":[6,0,0,0,1,2,0,0,4,0,1],\"lg.com\":[33,4,2,4,1,12,3,0,16,2,11],\"ukr.net\":[36,0,0,1,0,4,0,0,0,2,0],\"xhamster1.desi\":[2,0,0,1,0,6,0,2,1,0,1],\"b92.net\":[23,1,1,0,1,5,0,0,1,3,1],\"ihg.com\":[10,0,1,2,0,8,0,0,7,1,6],\"twittervideodownloader.com\":[12,0,1,0,1,2,0,0,3,1,0],\"wtr-lab.com\":[3,0,0,1,1,5,0,0,1,0,1],\"jalan.net\":[32,0,0,0,0,5,1,0,3,4,3],\"faucetbr.tk\":[4,0,1,0,0,4,0,0,2,0,0],\"barnesandnoble.com\":[4,0,1,3,0,6,0,0,3,0,3],\"wireclub.com\":[0,1,0,0,1,1,0,0,0,0,0],\"e24.no\":[6,1,0,0,0,6,2,0,0,0,1],\"mozilla.org\":[2,1,1,2,0,5,0,0,1,0,0],\"tinkercad.com\":[1,0,0,1,0,4,0,0,0,0,2],\"convertio.co\":[28,1,1,1,1,5,1,0,2,0,1],\"dodi-repacks.site\":[3,1,0,1,0,6,0,0,3,1,1],\"wcostream.tv\":[40,1,0,0,0,6,0,0,3,0,0],\"nordstrom.com\":[11,1,0,3,0,5,0,0,6,1,3],\"atwiki.jp\":[28,1,0,0,0,7,0,0,5,4,0],\"arcamax.com\":[48,0,2,3,0,4,1,0,5,0,0],\"ancestry.ca\":[10,0,0,1,0,0,0,0,6,1,0],\"bdsmpeople.live\":[2,0,0,0,0,0,0,0,2,0,0],\"fuq.com\":[1,0,0,1,0,3,0,0,1,0,0],\"jbhifi.com.au\":[6,2,0,4,0,10,1,0,6,0,6],\"abxxx.com\":[1,1,0,1,1,4,0,2,2,0,1],\"sophos.com\":[4,0,1,0,0,7,0,0,5,0,1],\"mumsnet.com\":[83,2,3,4,0,9,1,0,5,3,1],\"lexis.com\":[0,1,1,1,0,5,0,0,2,0,0],\"computerbase.de\":[64,2,1,0,1,5,1,0,3,0,1],\"empower-retirement.com\":[3,0,1,2,0,5,0,0,4,0,2],\"dribbble.com\":[5,0,1,2,0,7,0,0,1,0,2],\"xhaccess.com\":[1,0,0,1,0,6,0,2,1,0,1],\"theaustralian.com.au\":[27,1,1,2,1,10,1,0,13,3,4],\"procore.com\":[4,1,2,1,1,6,0,0,8,0,6],\"svscomics.com\":[1,0,0,1,1,6,0,0,2,0,0],\"ut.ac.id\":[4,1,0,1,0,8,1,0,1,0,1],\"kmart.com.au\":[8,1,0,1,0,7,0,0,8,1,5],\"tinder.com\":[4,1,0,1,0,5,0,0,3,0,3],\"nab.com.au\":[7,0,0,0,1,2,0,0,5,0,4],\"nikkansports.com\":[26,0,1,0,0,5,1,0,2,5,0],\"fortnitetracker.com\":[24,0,1,1,1,7,2,0,5,0,1],\"proquest.com\":[2,0,1,0,0,8,0,0,6,0,0],\"dir.bg\":[11,1,0,0,0,6,0,0,3,3,2],\"monkeytype.com\":[26,0,1,3,0,4,1,0,4,0,1],\"nettiauto.com\":[13,0,1,1,0,6,0,0,2,0,0],\"sportsnet.ca\":[12,1,0,0,0,10,1,0,10,3,2],\"chikuwachan.com\":[4,2,0,0,0,2,0,0,0,0,0],\"superporn.com\":[0,0,0,1,1,3,0,0,1,0,0],\"openfront.io\":[8,1,0,4,0,4,1,0,3,0,0],\"walmart.ca\":[8,0,0,2,0,5,0,0,2,0,5],\"hrsg.nl\":[1,0,0,0,0,3,0,0,0,0,0],\"homedepot.ca\":[13,3,1,4,0,10,1,0,8,2,1],\"seek.com.au\":[10,1,0,1,0,7,0,0,5,1,2],\"skylinewebcams.com\":[4,1,0,1,0,6,0,0,0,0,0],\"justthegays.com\":[1,0,0,1,0,3,0,1,4,0,0],\"remove.bg\":[7,1,0,0,0,5,0,0,3,0,2],\"twi-dl.net\":[1,1,0,0,0,3,0,0,3,2,0],\"shopgoodwill.com\":[38,0,1,2,0,8,1,0,2,0,2],\"pistonheads.com\":[12,1,1,2,0,4,1,0,5,1,0],\"moxfield.com\":[22,0,1,1,1,4,1,0,2,0,0],\"epiccare.ie\":[2,0,1,0,0,9,0,0,1,1,1],\"elevenlabs.io\":[5,1,1,2,0,9,0,0,1,0,3],\"lancers.jp\":[10,0,0,0,0,4,0,0,4,1,1],\"coingecko.com\":[24,0,1,1,1,8,1,0,3,2,2],\"camvault.to\":[2,0,0,0,0,8,0,1,2,0,0],\"nettavisen.no\":[5,1,0,0,0,7,0,0,1,2,0],\"clips4sale.com\":[4,0,1,2,1,6,1,2,3,0,1],\"betfair.com\":[11,1,1,0,0,7,0,0,10,2,3],\"namemc.com\":[54,1,4,1,1,8,1,0,7,0,0],\"manga-zip.is\":[1,0,0,1,0,4,1,0,0,0,0],\"shopee.vn\":[6,0,0,1,1,4,0,0,2,0,1],\"monex.co.jp\":[10,0,0,0,0,5,0,0,5,1,0],\"charles-stanley-direct.co.uk\":[2,0,0,1,0,3,0,0,0,0,0],\"mabanque.bnpparibas\":[5,0,1,1,1,3,0,0,3,0,1],\"7sur7.be\":[49,1,1,2,0,6,3,0,3,3,3],\"sofifa.com\":[27,1,1,3,1,4,1,0,4,2,0],\"sport.es\":[92,3,2,2,1,8,0,0,8,4,1],\"ingv.it\":[0,0,0,0,0,6,1,0,0,0,0],\"truepeoplesearch.com\":[34,0,0,2,0,5,0,0,5,0,4],\"tvchaosuk.com\":[0,0,0,0,0,3,1,0,1,0,0],\"pagesix.com\":[95,5,4,2,0,13,0,0,15,4,3],\"sohu.com\":[7,0,0,0,0,4,3,0,3,0,0],\"zenmarket.jp\":[12,1,0,1,1,6,0,0,5,2,0],\"k12.com\":[2,1,0,1,0,8,0,0,10,0,2],\"pages.dev\":[8,4,0,4,1,11,1,0,5,0,0],\"ouo.io\":[3,0,0,1,1,5,0,0,1,0,1],\"olx.ro\":[24,0,1,1,1,7,2,0,5,0,2],\"powerapps.com\":[0,0,0,2,0,1,5,0,0,0,1],\"popcornmovies.org\":[2,1,0,0,0,7,1,0,4,0,1],\"albumoftheyear.org\":[53,0,1,2,0,4,1,0,6,0,0],\"jappy.com\":[5,1,2,0,0,1,0,0,0,1,0],\"lcl.fr\":[9,1,0,0,0,5,0,0,3,1,1],\"chichi-pui.com\":[4,0,0,0,0,6,0,1,0,0,0],\"ariba.com\":[1,0,0,1,0,1,0,0,3,0,1],\"jcrew.com\":[19,1,0,3,0,8,0,0,8,2,3],\"redflagdeals.com\":[68,1,0,2,0,7,2,0,8,0,1],\"wizzair.com\":[9,0,1,0,0,8,1,0,5,1,2],\"site.com\":[5,1,1,3,1,10,1,0,5,0,5],\"bybit.com\":[10,0,0,0,1,7,0,0,4,1,2],\"hs.fi\":[19,0,1,3,0,5,0,0,4,0,3],\"delcampe.net\":[4,1,0,0,1,2,0,0,0,0,0],\"geocaching.com\":[40,0,0,4,0,9,0,0,2,0,2],\"eleconomista.es\":[16,0,1,1,0,4,1,0,4,0,0],\"premierleague.com\":[7,1,1,0,0,7,0,0,6,3,4],\"maturetube.com\":[1,0,1,1,1,3,0,0,1,0,0],\"dropout.tv\":[5,1,2,6,0,7,0,0,4,1,1],\"msi.com\":[12,1,2,6,1,15,0,0,9,1,3],\"telekom.de\":[9,0,0,2,1,5,0,0,4,0,1],\"shopee.co.th\":[5,0,0,1,1,3,0,0,1,0,1],\"digitalocean.com\":[7,1,1,2,0,6,0,0,4,1,4],\"btdig.com\":[2,0,0,1,1,5,0,0,1,0,1],\"astalavr.com\":[1,0,0,0,0,1,0,0,0,0,0],\"otodom.pl\":[16,0,1,2,0,6,2,0,3,0,2],\"lidl.fr\":[23,2,1,3,1,4,0,0,2,0,0],\"vk.ru\":[5,0,0,0,1,5,0,0,3,2,0],\"newspapers.com\":[8,0,1,0,0,3,0,0,4,1,0],\"envato.com\":[6,1,1,1,1,8,0,0,4,0,2],\"justetf.com\":[1,0,1,1,0,2,0,0,1,0,1],\"csod.com\":[2,0,0,1,0,10,1,0,4,1,1],\"jellyneo.net\":[4,1,0,0,1,2,0,0,2,0,0],\"ashbyhq.com\":[3,1,1,2,0,5,1,0,2,0,4],\"freee.co.jp\":[13,0,0,1,0,5,0,0,11,1,3],\"bunkr.pk\":[0,0,0,0,1,3,0,0,0,0,0],\"latimes.com\":[71,2,3,1,0,7,0,0,8,0,1],\"lioden.com\":[3,0,0,2,0,4,1,0,1,0,0],\"pcgamer.com\":[29,2,2,1,0,8,1,0,6,3,0],\"acesso.gov.br\":[1,0,0,0,1,2,0,0,0,0,1],\"mule.co.kr\":[1,0,0,0,0,0,0,0,0,0,0],\"manatoki469.net\":[1,0,0,0,0,3,0,0,1,0,0],\"home-assistant.io\":[1,1,0,2,0,6,0,0,2,0,0],\"nudevista.com\":[1,0,0,1,1,3,0,1,1,0,0],\"fortinet.com\":[13,1,1,2,0,10,0,0,6,1,4],\"zone-turf.fr\":[7,0,1,0,0,1,0,0,2,0,0],\"broadcom.com\":[3,0,1,1,1,9,0,0,1,0,0],\"poki.com\":[64,1,1,2,1,10,1,0,6,0,2],\"camsmut.com\":[3,0,0,1,1,6,0,0,1,0,0],\"agar.io\":[4,1,0,2,0,11,0,0,1,1,1],\"google.it\":[4,1,0,0,1,4,0,0,0,0,0],\"autoplius.lt\":[9,1,0,1,0,3,0,0,2,0,0],\"lazada.com.ph\":[5,0,0,1,0,3,1,0,1,0,1],\"uploady.io\":[2,0,0,2,0,4,0,0,3,0,1],\"the-independent.com\":[56,2,1,0,0,5,0,0,8,0,2],\"hornbach.de\":[3,1,1,1,0,3,0,0,3,1,1],\"osta.ee\":[6,0,1,1,0,5,0,0,1,0,1],\"adnkronos.com\":[72,1,1,3,0,7,1,0,4,2,1],\"rule34.us\":[1,0,0,0,1,2,0,2,2,0,0],\"showcamrips.com\":[4,0,0,1,1,6,0,0,2,0,0],\"shalove.net\":[3,0,0,0,0,1,0,1,1,0,0],\"rebrickable.com\":[3,1,0,2,0,5,0,0,1,0,0],\"carta.com\":[2,1,1,2,0,3,0,0,5,0,3],\"mailerlite.com\":[21,1,1,3,1,8,0,0,4,3,1],\"amtrak.com\":[19,1,1,3,0,7,0,0,6,3,4],\"rentmen.eu\":[1,0,0,0,0,2,0,0,0,0,1],\"qualtrics.com\":[2,0,1,1,0,7,0,0,3,0,2],\"live-ranking.com\":[1,2,0,0,0,3,0,0,1,0,0],\"soap2day.day\":[6,2,0,0,0,7,1,0,3,1,0],\"bluewin.ch\":[22,1,1,0,1,8,2,0,4,1,1],\"outlier.ai\":[12,1,0,2,0,7,0,0,9,3,4],\"joinhandshake.com\":[9,0,1,7,0,8,0,0,8,1,3],\"earnbitmoon.club\":[4,1,0,1,1,8,0,0,2,0,1],\"jstor.org\":[2,0,1,1,0,9,0,0,2,0,3],\"safeway.com\":[11,2,1,1,0,7,0,0,5,1,4],\"tubegalore.com\":[1,0,0,0,1,1,0,0,1,0,0],\"fifa.com\":[11,0,1,2,0,15,0,0,11,3,8],\"navyfederal.org\":[9,1,1,1,0,4,0,0,5,0,5],\"milliyet.com.tr\":[23,0,1,1,1,6,2,0,3,2,0],\"meteoblue.com\":[5,0,0,0,1,3,0,0,1,0,1],\"palmettostatearmory.com\":[6,0,0,1,0,4,0,0,4,0,3],\"depop.com\":[9,0,1,1,0,8,0,0,6,2,3],\"stuff.co.nz\":[37,3,1,2,0,8,2,0,6,2,3],\"hotpepper.jp\":[19,0,0,1,0,5,0,0,5,2,3],\"squarespace.com\":[11,2,1,4,0,10,0,0,4,4,4],\"stocktwits.com\":[57,2,4,2,0,11,1,0,6,2,4],\"statefarm.com\":[8,0,0,2,0,6,0,0,4,1,2],\"tsn.ca\":[29,0,0,0,0,6,0,0,8,3,1],\"thisiscm.com\":[5,0,0,1,0,3,1,0,1,0,0],\"www.gov.br\":[7,1,0,2,1,8,0,0,3,4,0],\"yomiuri.co.jp\":[50,0,2,1,1,9,0,0,9,4,2],\"mobile.bg\":[5,1,1,1,0,4,0,0,1,0,0],\"rouming.cz\":[3,0,0,0,0,1,1,0,0,0,0],\"kobo.com\":[12,0,0,3,0,8,0,0,5,1,4],\"ssa.gov\":[2,1,0,1,0,6,0,0,4,0,0],\"clubic.com\":[52,2,0,1,1,4,0,0,7,2,1],\"pnc.com\":[10,0,0,2,0,3,0,0,4,2,3],\"turnitin.com\":[2,2,1,2,0,9,0,0,2,0,2],\"boston.com\":[73,2,2,1,0,5,0,0,9,3,2],\"costcotravel.com\":[4,0,2,1,0,4,2,0,1,0,2],\"contactout.com\":[3,0,0,1,0,4,0,0,3,0,1],\"javarchive.com\":[2,0,0,1,1,5,0,1,2,0,0],\"missyusa.com\":[21,1,0,2,0,5,0,0,1,0,0],\"theblowers.com\":[1,0,0,0,0,4,0,0,1,0,0],\"boredpanda.com\":[87,2,3,4,0,12,3,0,11,5,3],\"downmagaz.net\":[1,0,0,1,1,4,0,0,1,0,0],\"leprogres.fr\":[52,1,1,0,1,7,0,0,7,0,3],\"asahi.com\":[43,3,1,3,0,8,1,0,12,5,0],\"kinnser.net\":[1,0,0,0,0,6,0,0,3,0,0],\"nz.ua\":[4,0,0,0,1,3,0,0,2,0,0],\"stern.de\":[42,2,0,2,0,7,2,0,7,0,1],\"allporncomic.com\":[1,0,0,1,1,4,0,2,2,1,0],\"theage.com.au\":[31,3,0,2,1,9,1,0,10,3,3],\"journaldemontreal.com\":[43,3,0,0,1,9,1,0,6,3,3],\"disqus.com\":[15,0,3,6,0,3,0,0,5,2,1],\"pw.live\":[7,1,0,1,0,8,0,0,5,1,0],\"synchrony.com\":[6,1,1,0,0,4,0,0,10,1,2],\"lavanguardia.com\":[69,2,1,2,1,10,0,0,3,1,2],\"libgen.li\":[0,0,0,1,1,5,0,0,0,0,0],\"studocu.com\":[1,0,1,2,1,9,0,0,5,2,3],\"carvana.com\":[8,2,0,1,0,7,0,0,5,0,4],\"itorrents-igruha.org\":[3,1,0,1,0,4,0,0,0,0,0],\"centris.ca\":[7,0,1,0,0,6,0,0,5,1,3],\"property24.com\":[5,1,0,0,1,3,1,0,1,0,3],\"yr.no\":[1,0,0,1,0,3,0,0,1,0,0],\"vseinstrumenti.ru\":[5,0,0,0,1,1,0,0,2,1,0],\"jal.co.jp\":[34,0,0,0,0,9,0,0,8,2,5],\"halifax-online.co.uk\":[8,0,0,1,1,2,0,0,7,0,2],\"nexon.hu\":[1,0,0,0,0,0,1,0,0,0,0],\"nikkei225jp.com\":[10,0,0,1,0,2,0,0,1,0,1],\"haaretz.com\":[33,0,1,0,0,5,0,0,2,1,0],\"stardewvalleywiki.com\":[2,2,0,0,1,3,0,0,1,0,0],\"cash.app\":[2,0,1,0,0,2,0,0,3,0,4],\"dji.com\":[10,1,0,3,1,6,1,0,3,0,3],\"coolmathgames.com\":[50,0,0,3,0,5,1,0,6,0,1],\"lelscans.net\":[4,0,0,0,0,3,0,0,2,0,0],\"teacherspayteachers.com\":[9,1,1,2,0,4,0,0,5,1,4],\"fok.nl\":[56,1,1,2,1,8,2,0,2,4,0],\"computerbild.de\":[43,1,0,3,1,8,2,0,4,0,0],\"hornbach.nl\":[5,1,1,2,0,3,0,0,1,0,0],\"interactivebrokers.com\":[9,1,0,0,0,4,0,0,4,2,0],\"amazon.eg\":[4,0,0,0,1,4,0,0,2,0,0],\"twitchy.com\":[16,0,0,2,0,5,0,0,4,2,1],\"24sata.hr\":[12,2,1,0,1,9,0,0,4,4,2],\"geeksforgeeks.org\":[31,2,0,0,0,7,0,0,1,0,2],\"pornhits.com\":[1,0,0,0,0,4,1,1,2,0,1],\"danawa.com\":[7,1,0,0,0,6,0,0,1,0,0],\"wealthsimple.com\":[4,0,0,2,0,7,0,0,4,0,5],\"carmax.com\":[41,2,0,0,0,5,0,0,7,2,2],\"tranimeizle.io\":[2,1,0,0,1,4,1,0,1,1,0],\"whatismyipaddress.com\":[25,0,1,2,0,5,1,0,2,0,2],\"aschenstedt.dnshome.de\":[0,0,0,0,0,0,0,0,0,0,0],\"viper.to\":[1,0,0,0,0,3,0,0,1,0,0],\"seznamzpravy.cz\":[12,1,0,0,0,6,0,0,3,2,0],\"uscis.gov\":[5,1,0,1,0,8,0,0,7,0,0],\"thejigsawpuzzles.com\":[8,0,1,2,1,4,0,0,3,0,0],\"ok.xxx\":[1,0,0,2,1,6,0,2,2,0,0],\"3hentai.net\":[0,0,0,0,1,1,0,1,0,0,0],\"michaels.com\":[35,2,1,4,0,7,0,0,12,2,4],\"zerozero.pt\":[14,5,1,1,1,7,0,0,4,2,0],\"pravda.com.ua\":[15,1,0,1,0,6,0,0,3,2,0],\"donga.com\":[14,1,0,1,0,7,0,0,1,0,0],\"flixtor.to\":[2,2,0,0,0,5,0,0,1,0,0],\"ilpost.it\":[38,2,1,1,0,6,0,0,3,4,0],\"nsw.gov.au\":[7,1,0,4,1,14,0,0,10,1,3],\"ieee.org\":[12,1,1,3,0,9,0,0,4,0,4],\"officeally.com\":[1,0,0,1,0,2,0,0,4,0,1],\"spanishdict.com\":[84,1,4,2,0,11,0,0,11,0,2],\"pappers.fr\":[2,0,0,0,0,6,0,0,0,0,1],\"virustotal.com\":[3,1,0,2,1,4,0,0,1,0,1],\"sainsburys.co.uk\":[12,0,1,3,1,6,0,0,6,2,5],\"tradera.com\":[36,1,1,1,0,7,1,0,2,1,3],\"sexuria.net\":[0,1,0,1,1,2,0,1,2,3,0],\"thetrainline.com\":[30,2,1,3,0,10,1,0,4,0,3],\"pexels.com\":[3,0,1,0,0,6,0,0,2,0,3],\"obi.de\":[21,2,1,6,1,6,0,0,3,1,1],\"townhall.com\":[47,1,0,2,0,6,0,0,8,3,3],\"kiwifarms.st\":[1,1,0,0,0,5,0,0,0,0,0],\"fandango.com\":[29,2,1,1,0,7,1,0,8,1,3],\"blackboard.com\":[3,1,0,1,0,13,0,0,3,0,0],\"mistral.ai\":[3,1,0,2,0,6,0,0,1,0,1],\"gazo-chat.net\":[2,0,0,0,0,3,0,0,0,0,0],\"0xxx.ws\":[0,0,0,0,0,2,0,0,0,0,1],\"aruba.it\":[5,0,1,1,1,5,0,0,1,0,0],\"ravenscans.org\":[2,0,0,1,0,3,0,0,2,0,0],\"mgen.fr\":[14,1,0,0,1,5,0,0,5,0,1],\"bankingnews.gr\":[20,1,1,1,1,8,0,0,3,2,1],\"ionos.de\":[8,1,0,4,0,4,1,0,5,0,0],\"quillbot.com\":[7,1,1,2,0,6,0,0,4,1,3],\"freep.com\":[69,2,3,3,0,4,1,0,9,1,0],\"offerwall.me\":[1,0,0,0,0,5,0,0,1,0,0],\"udn.com\":[17,1,0,0,0,10,0,0,8,4,1],\"geoguessr.com\":[32,3,0,1,0,9,1,0,5,0,3],\"1fichier.com\":[9,0,1,1,1,4,0,0,0,0,0],\"jooble.org\":[9,0,1,1,0,6,0,0,3,0,2],\"sengokuixa.jp\":[7,0,0,0,0,1,0,0,2,0,0],\"minecraft.net\":[2,1,0,1,0,9,1,0,3,0,3],\"ria.ru\":[2,0,0,2,1,4,1,0,3,1,0],\"spicychat.ai\":[3,0,0,0,0,3,0,0,2,1,0],\"tjsp.jus.br\":[3,1,0,0,1,8,1,0,1,0,2],\"tagesspiegel.de\":[68,3,2,1,0,8,1,0,9,4,2],\"gelderlander.nl\":[22,1,0,3,0,5,2,0,3,2,1],\"monsnode.com\":[0,0,0,1,0,5,0,1,1,1,0],\"dtf.ru\":[3,1,0,0,1,4,0,0,2,0,0],\"anthropic.com\":[5,1,0,2,0,7,0,0,1,0,0],\"eenadu.net\":[30,2,0,0,0,7,0,0,4,3,2],\"clever.com\":[2,0,1,0,0,4,0,0,1,0,0],\"elitebabes.com\":[1,0,0,1,1,3,0,0,1,0,0],\"anige-sokuhouvip.com\":[4,1,0,0,0,6,1,0,2,4,0],\"torrentleech.org\":[2,1,0,0,1,5,2,0,0,0,0],\"pornhoarder.io\":[5,0,0,1,1,6,0,1,2,0,1],\"interpals.net\":[17,0,0,0,1,5,0,0,3,0,0],\"rent.men\":[1,0,0,0,0,0,0,0,0,0,1],\"anwb.nl\":[6,1,0,1,0,5,0,0,4,0,3],\"usvisascheduling.com\":[0,0,0,0,0,3,1,0,1,0,1],\"sakurafile.com\":[2,0,0,1,0,4,0,0,0,0,0],\"idealista.pt\":[26,1,1,1,1,3,0,0,6,0,2],\"guildwars2.com\":[5,1,0,0,0,8,0,0,1,1,2],\"thomann.fr\":[7,1,0,3,0,7,1,0,1,1,1],\"elcorteingles.es\":[10,1,1,4,1,8,1,0,7,1,4],\"lidl.de\":[10,0,1,3,1,4,0,0,2,0,0],\"autoscout24.de\":[68,2,1,2,0,7,1,0,4,0,0],\"heavyfetish.com\":[1,0,0,0,1,4,0,0,1,0,0],\"retroachievements.org\":[1,0,0,0,1,4,0,0,1,0,0],\"ebird.org\":[4,0,1,1,1,6,0,0,2,0,1],\"javbus.com\":[0,0,0,1,1,3,0,2,0,0,0],\"fut.gg\":[20,1,1,1,0,4,0,0,4,1,0],\"lever.co\":[2,0,0,0,0,5,1,0,3,2,1],\"thredup.com\":[12,0,0,2,0,6,0,0,2,1,2],\"moneysavingexpert.com\":[4,1,0,0,0,4,0,0,4,0,4],\"9to5mac.com\":[42,1,0,2,0,8,2,0,6,4,2],\"blogger.com\":[5,1,0,1,0,9,1,0,1,1,2],\"meta.com\":[5,1,0,0,1,5,0,0,4,2,1],\"milfnut.com\":[4,1,0,0,0,7,0,0,3,1,0],\"eyny.com\":[1,0,0,1,1,4,0,0,0,0,1],\"tcafe21.com\":[3,1,0,0,0,4,2,0,2,0,0],\"aniwaves.ru\":[2,1,0,1,0,6,0,0,2,0,0],\"mobalytics.gg\":[24,1,1,4,1,7,1,0,6,1,1],\"status.microsoft\":[0,0,0,0,0,0,0,0,1,0,1],\"emojipedia.org\":[49,0,1,1,0,5,1,0,4,0,1],\"slate.com\":[57,1,2,0,0,5,0,0,8,1,1],\"limanowa.in\":[5,0,0,0,0,4,0,0,0,0,0],\"pornpics.de\":[2,0,0,1,1,3,0,0,0,0,0],\"overframe.gg\":[14,2,1,1,0,5,1,0,5,1,0],\"derpibooru.org\":[0,0,0,0,0,1,0,0,0,0,0],\"jetbrains.com\":[7,1,0,3,0,8,0,0,4,1,2],\"britannica.com\":[55,2,2,1,0,6,0,0,9,0,2],\"arxiv.org\":[2,0,0,1,0,7,0,0,1,0,1],\"ana.co.jp\":[32,0,0,1,0,5,2,0,9,2,5],\"demandware.net\":[0,0,0,0,0,3,0,0,3,0,0],\"reactor.cc\":[4,1,0,1,1,4,0,0,2,0,0],\"kontur.ru\":[3,0,0,0,0,3,0,0,1,1,0],\"nespresso.com\":[26,1,1,6,1,9,0,0,18,2,6],\"wyborcza.pl\":[40,0,1,1,0,4,1,0,4,0,1],\"gismeteo.ru\":[7,0,0,1,1,1,0,0,1,0,0],\"housecallpro.com\":[4,0,0,3,0,4,0,0,4,0,4],\"gamestar.de\":[40,3,1,1,1,7,2,0,7,2,2],\"demotywatory.pl\":[40,1,0,0,0,7,0,0,3,1,0],\"newsmax.com\":[65,0,1,1,0,9,0,0,6,2,2],\"kahoot.it\":[2,1,1,0,0,5,0,0,2,1,3],\"aliyun.com\":[2,0,0,1,0,1,1,0,1,0,0],\"truist.com\":[12,2,1,0,0,4,0,0,5,2,4],\"nyahentai.one\":[1,0,0,0,0,6,0,0,2,0,0],\"lieferando.de\":[10,0,0,2,1,8,0,0,3,1,4],\"wordpress.org\":[3,2,0,1,1,5,0,0,3,1,0],\"javplayer.org\":[5,1,0,1,0,9,0,2,3,0,0],\"bestialitysextaboo.net\":[2,0,0,1,1,3,0,0,1,0,0],\"belastingdienst.nl\":[2,1,0,2,1,3,0,0,1,0,1],\"pornhoarder.tv\":[5,0,0,1,1,8,0,1,3,0,0],\"forexfactory.com\":[5,1,0,1,1,6,0,0,2,2,0],\"huntington.com\":[8,2,0,0,0,3,1,0,5,0,3],\"ally.com\":[10,1,0,1,0,3,1,0,10,2,4],\"bangumi.org\":[8,1,0,0,0,7,0,0,1,0,0],\"admin.ch\":[3,1,0,1,0,7,0,0,1,0,1],\"22biqu.net\":[1,0,0,0,0,0,1,0,0,0,0],\"seattletimes.com\":[68,1,1,1,0,9,0,0,8,3,4],\"fazenda.gov.br\":[3,0,0,0,1,8,0,0,0,0,1],\"hero-wars.com\":[11,0,0,3,1,6,0,0,2,2,4],\"xasiat.com\":[2,1,0,1,0,3,0,0,1,0,1],\"idealo.fr\":[11,1,1,1,1,6,0,0,0,1,0],\"acehardware.com\":[15,1,1,3,0,9,0,0,7,1,5],\"science.org\":[7,0,1,1,0,5,0,0,2,2,2],\"hotnews.ro\":[17,1,1,0,0,7,0,0,4,3,0],\"hibt.com\":[0,0,0,0,0,2,0,0,2,0,0],\"oreillyauto.com\":[4,1,0,2,0,4,1,0,4,0,5],\"bet365.com\":[1,0,0,0,1,8,0,0,3,0,3],\"gamma.app\":[8,1,1,2,1,7,0,0,3,0,6],\"manga-scantrad.io\":[2,0,0,0,0,3,0,0,2,1,0],\"bankier.pl\":[64,0,1,2,0,4,0,0,7,2,0],\"skills.google\":[4,1,0,2,1,8,0,0,1,1,2],\"citibankonline.com\":[7,0,0,0,0,4,0,0,2,0,4],\"kinozal.tv\":[0,0,0,0,1,1,1,0,1,0,0],\"gamefound.com\":[5,1,0,0,0,5,0,0,4,0,3],\"stanford.edu\":[7,1,0,1,0,16,0,0,11,1,5],\"qrz.com\":[6,1,0,1,0,9,0,0,1,1,1],\"lufthansa.com\":[7,0,0,0,0,5,1,0,5,1,2],\"dazn.com\":[15,1,1,0,1,8,0,0,7,3,2],\"howrse.pl\":[1,0,1,0,0,1,0,0,0,0,0],\"ss.lv\":[4,0,0,1,1,3,0,0,1,0,0],\"tradeinn.com\":[5,1,1,2,1,5,0,0,2,0,4],\"gaymaletube.com\":[1,0,1,0,0,1,0,0,1,0,0],\"leakgallery.com\":[6,0,0,1,1,6,0,0,4,0,1],\"zalando.it\":[5,0,1,0,0,3,1,0,1,0,1],\"erepublik.com\":[4,0,0,1,0,3,0,0,2,1,0],\"la.movie\":[0,0,0,0,1,6,1,0,2,0,0],\"fotmob.com\":[7,1,1,0,0,8,3,0,7,0,3],\"motorsport.com\":[83,2,3,4,1,8,2,0,6,4,2],\"naturabuy.fr\":[0,0,0,2,1,5,0,0,0,0,1],\"mango.com\":[3,0,0,1,1,3,0,0,2,0,3],\"movistarplus.es\":[11,0,1,0,1,4,0,0,2,0,0],\"jmty.jp\":[24,0,0,2,0,9,1,0,2,3,1],\"renaissance-go.com\":[0,0,0,0,0,4,0,0,2,0,0],\"overtake.gg\":[86,2,3,3,0,8,2,0,6,1,0],\"linternaute.com\":[73,1,2,0,1,7,0,0,7,0,1],\"excite.co.jp\":[14,0,0,1,1,5,1,0,2,5,1],\"distrokid.com\":[12,2,1,2,1,11,0,0,10,1,4],\"jcpenney.com\":[61,1,1,6,0,5,0,0,8,2,5],\"g2g.com\":[11,0,1,2,0,7,0,0,4,2,2],\"transavia.com\":[16,0,0,2,0,4,1,0,7,2,2],\"artfight.net\":[0,0,0,1,0,3,1,0,2,1,0],\"xhamster19.com\":[1,0,0,1,0,6,0,2,0,0,1],\"lewdzone.com\":[1,0,0,1,0,4,0,0,2,1,0],\"cardtrader.com\":[4,0,1,2,0,3,0,0,3,0,2],\"nouvelobs.com\":[33,1,0,1,1,7,2,0,2,2,1],\"cod.edu\":[1,0,0,0,0,1,0,0,1,0,0],\"turbo.cr\":[0,0,0,0,1,5,0,0,1,0,0],\"polovniautomobili.com\":[41,1,0,1,1,6,0,0,6,1,1],\"2ememain.be\":[29,1,0,1,1,6,0,0,1,0,3],\"stepstone.de\":[28,2,0,2,0,4,0,0,7,0,3],\"vinted.pt\":[26,0,1,0,1,3,0,0,1,0,1],\"thepiratebay10.xyz\":[1,0,0,0,1,3,0,0,1,0,0],\"streeteasy.com\":[11,2,0,0,0,9,0,0,5,2,4],\"ilgiornale.it\":[44,2,1,1,1,5,1,0,4,0,0],\"allstarlink.org\":[1,0,0,0,0,6,0,0,0,0,0],\"wired.com\":[36,1,0,1,0,6,0,0,10,3,1],\"carview.co.jp\":[22,1,0,0,0,6,0,0,1,2,0],\"aonprd.com\":[4,0,0,1,0,5,0,0,1,0,0],\"tractorsupply.com\":[7,0,1,5,0,7,0,0,8,1,7],\"thetvapp.to\":[1,0,0,0,0,4,0,0,1,0,0],\"maariv.co.il\":[7,1,1,1,0,6,1,0,4,4,0],\"berlingske.dk\":[21,1,1,2,0,9,0,0,5,2,0],\"pchome.com.tw\":[28,1,0,1,1,7,0,0,3,0,1],\"businessinsider.com\":[38,2,2,0,0,4,1,0,9,2,2],\"lego.com\":[8,1,0,3,0,5,0,0,3,0,5],\"zeturf.fr\":[4,0,1,0,0,4,0,0,1,1,1],\"tabletki.ua\":[6,0,0,1,0,6,0,0,1,1,1],\"singaporeair.com\":[18,0,0,0,0,4,0,0,4,1,1],\"t66y.com\":[1,0,0,0,1,0,2,1,1,1,0],\"ovhcloud.com\":[9,1,0,3,1,6,2,0,3,0,2],\"austintheatre.org\":[1,0,0,0,0,1,0,0,1,0,1],\"pravda.sk\":[48,1,1,1,0,10,0,0,3,3,2],\"psnprofiles.com\":[7,1,1,2,1,5,0,0,2,0,0],\"estadao.com.br\":[29,2,1,1,1,11,0,0,12,1,2],\"vecernji.hr\":[11,1,1,0,0,8,0,0,3,3,2],\"mayoclinic.org\":[12,2,2,3,0,9,0,0,6,0,4],\"nsfwph.org\":[0,0,0,0,0,1,0,0,0,1,0],\"cnet.com\":[31,2,1,2,0,5,2,0,9,1,0],\"mangabuff.ru\":[3,0,0,0,1,3,0,0,2,0,0],\"idolfap.com\":[1,0,0,1,0,3,0,0,2,0,0],\"52shuku.net\":[5,0,0,1,0,4,0,0,1,0,0],\"vinted.hu\":[24,0,1,0,0,3,0,0,1,0,1],\"tvspielfilm.de\":[59,1,1,1,1,5,1,0,2,0,1],\"sony.com\":[4,1,1,0,1,10,0,0,2,0,5],\"digikey.com\":[11,0,1,2,0,4,1,0,6,1,2],\"telerama.fr\":[23,0,0,1,0,5,1,0,6,3,0],\"cmjornal.pt\":[27,2,1,1,1,5,1,0,4,2,1],\"pudelek.pl\":[101,2,2,3,0,8,1,0,6,3,1],\"sktorrent.eu\":[6,1,0,1,1,7,2,0,1,2,0],\"animeunity.so\":[2,0,0,0,1,4,0,0,2,0,0],\"x-tg.tube\":[0,0,0,2,0,3,0,0,2,0,0],\"smartrecruiters.com\":[2,1,1,2,0,5,1,0,6,1,2],\"basecamp.com\":[1,0,0,0,0,4,0,0,0,0,1],\"ucsd.edu\":[3,2,0,2,0,12,0,0,7,3,1],\"bark.com\":[9,0,2,1,0,6,0,0,7,0,2],\"qwen.ai\":[4,1,0,0,1,7,1,0,0,0,0],\"chrono24.com\":[4,1,0,1,0,2,0,0,2,0,1],\"mtggoldfish.com\":[55,2,0,2,0,10,1,0,7,3,1],\"giphy.com\":[7,0,1,1,0,4,0,0,4,0,1],\"ladies.de\":[3,0,0,1,0,6,0,0,3,0,1],\"zerogpt.com\":[54,1,2,2,0,5,1,0,2,0,1],\"single-pdf.com\":[0,0,0,0,0,1,0,0,0,0,0],\"startpage.com\":[2,0,0,2,1,4,0,0,1,0,1],\"vinted.com\":[25,0,1,0,0,3,0,0,2,0,2],\"msn.cn\":[6,0,1,2,0,2,2,0,2,0,1],\"bigbadtoystore.com\":[7,1,1,0,0,3,0,0,3,1,1],\"kaggle.com\":[2,1,0,2,1,7,1,0,1,0,2],\"mypikpak.com\":[2,0,0,1,0,5,0,0,2,0,2],\"draftkings.com\":[21,0,1,0,0,12,0,0,13,4,4],\"bexio.com\":[4,0,1,1,0,5,0,0,4,1,0],\"censor.net\":[5,1,0,1,0,4,0,0,2,1,1],\"deadline.com\":[121,4,4,2,0,12,2,0,18,4,4],\"opentable.com\":[9,0,1,1,0,5,0,0,3,0,3],\"goojara.to\":[1,0,0,0,0,5,1,0,1,0,0],\"jra.go.jp\":[4,0,0,0,0,1,0,0,0,0,0],\"geenstijl.nl\":[69,4,1,2,0,7,0,0,3,4,1],\"journaldesfemmes.fr\":[39,1,2,0,1,5,0,0,4,0,1],\"mamastar.jp\":[71,0,1,1,0,6,1,0,5,1,0],\"pidantuan.com\":[2,0,0,0,0,0,0,0,1,0,0],\"titsintops.com\":[2,0,0,1,0,3,0,0,2,0,0],\"incidenthub.net\":[0,0,0,0,0,0,0,0,0,0,1],\"arena.ai\":[4,1,0,0,1,6,0,0,2,0,1],\"manualslib.com\":[31,0,0,2,1,4,1,0,1,0,0],\"pixai.art\":[7,0,0,2,1,6,0,0,1,1,2],\"u.gg\":[25,2,1,4,0,6,1,0,4,0,1],\"metoffice.gov.uk\":[21,1,1,0,0,7,1,0,4,0,0],\"redstate.com\":[58,1,0,2,1,8,0,0,8,3,3],\"himovies.sx\":[5,2,0,0,0,8,0,0,2,0,0],\"zalando.ch\":[6,0,1,0,0,3,1,0,1,0,3],\"basketball-reference.com\":[7,1,2,1,0,5,0,0,2,0,0],\"si.com\":[67,1,2,1,0,9,2,0,11,2,3],\"hardware.fr\":[1,1,0,1,1,1,1,0,0,3,0],\"di.se\":[11,1,0,1,0,5,0,0,2,0,2],\"casio.com\":[12,1,3,3,0,9,0,0,11,1,3],\"firefaucet.win\":[3,0,0,1,1,6,0,0,4,1,1],\"softonic.com\":[32,1,1,2,1,6,1,0,2,1,1],\"axs.com\":[10,0,1,3,0,8,1,0,7,2,5],\"homes.com\":[52,1,0,0,0,4,0,0,7,1,1],\"www.gov.uk\":[5,1,0,1,1,5,0,0,2,0,0],\"livescore.com\":[32,1,1,1,1,5,1,0,5,2,0],\"nhentai.xxx\":[4,0,0,1,1,6,0,1,3,0,0],\"pagro.at\":[1,0,1,0,0,1,0,0,0,0,2],\"square-enix.com\":[4,1,2,1,1,3,3,0,1,0,2],\"lazada.co.th\":[5,0,0,2,0,3,1,0,0,0,1],\"wizards.com\":[7,1,2,2,0,12,1,0,4,1,4],\"joyn.de\":[18,1,2,0,1,7,0,0,5,1,3],\"clevelandclinic.org\":[45,1,0,0,0,7,1,0,7,0,4],\"google.es\":[4,1,0,0,1,4,0,0,1,0,0],\"questrade.com\":[5,0,1,0,0,8,0,0,5,0,4],\"yandex.com.tr\":[6,2,0,2,1,6,0,2,3,3,0],\"kai-oscar.com\":[0,0,0,0,0,5,0,0,4,0,2],\"amazon.sa\":[4,0,0,1,1,5,0,0,2,0,0],\"cornell.edu\":[10,3,1,2,0,12,0,0,8,3,2],\"setlist.fm\":[7,2,1,0,0,6,0,0,3,1,0],\"flashscore.co.uk\":[15,0,1,0,0,4,1,0,3,0,0],\"powerschool.com\":[1,0,0,0,0,5,0,0,2,0,2],\"consumerreports.org\":[10,1,1,2,0,5,1,0,6,0,2],\"abebooks.com\":[4,0,0,1,0,6,1,0,1,0,3],\"gotranscript.com\":[2,0,0,2,0,6,0,0,2,2,0],\"blic.rs\":[51,2,2,0,1,10,1,0,8,3,2],\"southern.edu\":[6,1,1,1,0,10,2,0,4,0,0],\"codeforces.com\":[3,0,0,0,0,2,0,0,2,0,0],\"fortnite.gg\":[10,1,1,1,1,4,0,0,3,0,0],\"docusign.net\":[0,0,0,0,0,4,0,0,1,0,1],\"hentaimama.io\":[1,0,0,2,1,4,0,1,1,0,0],\"jofogas.hu\":[15,0,1,0,0,5,0,0,6,0,1],\"polygon.com\":[76,1,4,2,0,12,1,0,7,3,2],\"twilio.com\":[11,1,1,4,0,10,0,0,14,1,5],\"bt.com\":[14,1,1,1,1,7,1,0,6,2,4],\"rezultati.com\":[13,0,1,0,0,3,1,0,2,0,0],\"amd.com\":[11,1,1,1,1,7,0,0,6,2,3],\"rte.ie\":[4,1,1,0,0,5,0,0,4,3,1],\"apexlegendsstatus.com\":[3,1,0,1,0,7,0,0,1,0,0],\"edhrec.com\":[50,1,1,2,0,7,1,0,4,1,1],\"darknessporn.com\":[3,0,0,1,1,3,0,1,1,0,0],\"rs-online.com\":[18,1,2,2,0,8,0,0,10,0,2],\"scribblehub.com\":[3,0,0,1,0,6,1,0,0,0,0],\"leagueofgraphs.com\":[15,1,1,1,0,3,1,0,3,0,0],\"liteapks.com\":[2,0,0,1,0,4,0,0,3,1,0],\"cronista.com\":[12,1,0,1,0,6,1,0,3,0,2],\"0123movie.net\":[2,1,0,0,0,7,1,0,2,0,0],\"tubitv.com\":[13,1,1,0,0,5,0,0,0,0,2],\"line.me\":[8,0,0,0,1,5,0,0,2,0,2],\"amd.online\":[9,0,0,1,1,7,1,0,3,2,0],\"mdpi.com\":[5,0,1,1,1,5,0,0,3,0,0],\"mouser.com\":[13,0,1,1,0,4,0,0,5,1,0],\"spriters-resource.com\":[19,0,1,2,1,5,1,0,3,1,0],\"cnews.fr\":[20,1,1,0,1,5,1,0,1,3,1],\"fangraphs.com\":[3,0,0,0,0,9,0,0,4,0,2],\"autotrader.ca\":[49,3,1,3,0,6,0,0,8,0,2],\"haberturk.com\":[8,1,0,1,0,4,0,0,2,0,0],\"zalando.be\":[6,0,1,0,0,3,1,0,1,0,1],\"appstorrent.ru\":[3,1,0,1,0,5,0,0,3,0,0],\"tapbit.com\":[0,0,0,0,0,1,0,0,3,0,1],\"freshdesk.com\":[2,1,0,3,1,11,0,0,3,0,3],\"txxx.com\":[1,1,0,1,1,4,1,4,2,0,1],\"airbnb.co.uk\":[8,0,0,2,0,6,0,0,3,1,3],\"sap.com\":[14,2,1,1,0,6,1,0,8,2,4],\"itainews.com\":[9,0,0,0,1,6,0,0,3,3,0],\"frandroid.com\":[44,3,1,1,1,6,0,0,10,1,0],\"afl.com.au\":[10,2,0,2,1,5,1,0,8,3,2],\"ring.com\":[2,1,0,4,0,8,1,0,2,0,5],\"watchseries.bar\":[3,1,0,0,1,8,2,0,3,0,0],\"meduza.io\":[3,1,0,1,1,6,0,0,4,2,0],\"babelio.com\":[33,3,1,1,0,8,2,0,1,0,2],\"qantas.com\":[10,1,1,1,0,5,1,0,5,0,6],\"aryion.com\":[2,0,0,1,0,6,1,0,1,0,0],\"unsw.edu.au\":[5,3,1,0,1,13,0,0,9,0,2],\"hardverapro.hu\":[13,1,1,0,0,3,0,0,1,0,0],\"plati.market\":[2,0,0,0,1,2,0,0,2,0,0],\"err.ee\":[6,2,0,0,0,6,0,0,4,2,0],\"france.tv\":[19,0,2,1,1,7,0,0,3,0,0],\"burbuja.info\":[43,2,0,0,0,7,2,0,3,6,0],\"faz.net\":[70,2,1,3,0,8,1,0,12,3,2],\"democraticunderground.com\":[3,1,0,0,0,7,1,0,2,4,0],\"engadget.com\":[69,1,0,4,0,7,0,0,7,3,1],\"oraclecloud.com\":[4,1,2,0,0,5,1,0,0,1,3],\"variety.com\":[96,4,4,2,0,9,2,0,17,5,4],\"stadiumoutlet.se\":[0,0,1,1,0,2,0,0,1,0,1],\"lesechos.fr\":[30,0,1,0,0,4,1,0,8,0,2],\"modland.net\":[18,1,0,1,1,5,0,0,2,0,0],\"gigazine.net\":[17,1,0,0,1,5,0,0,5,2,2],\"beeg.com\":[1,0,0,1,0,3,0,0,3,0,2],\"vodafone.de\":[20,0,1,2,1,6,2,0,4,2,1],\"4kwallpapers.com\":[5,0,0,1,1,3,0,0,2,0,0],\"techcrunch.com\":[51,1,1,3,0,7,0,0,11,3,0],\"adbtc.top\":[0,0,0,0,1,4,0,0,2,0,1],\"scmp.com\":[21,1,0,1,0,7,1,0,3,1,6],\"whoer.net\":[6,2,0,4,0,4,4,0,4,4,1],\"empik.com\":[31,2,0,2,0,5,1,0,6,0,3],\"twitter.com\":[3,1,0,0,0,6,0,0,1,1,1],\"filecr.com\":[2,1,0,1,1,4,0,0,2,0,0],\"newsweek.com\":[64,2,2,3,0,8,0,0,12,4,1],\"frame.io\":[6,1,1,4,0,4,0,0,2,0,4],\"auto-doc.fr\":[25,1,0,1,1,7,0,0,5,0,1],\"alltrails.com\":[6,1,1,2,0,7,0,0,5,3,4],\"higgsfield.ai\":[2,1,1,2,1,9,0,0,3,0,2],\"daz3d.com\":[6,1,0,4,0,6,1,0,3,2,1],\"warhammer.com\":[6,1,1,4,0,7,0,0,4,0,3],\"e.leclerc\":[15,0,1,4,1,6,1,0,2,1,2],\"svt.se\":[2,0,0,2,0,6,0,0,3,0,1],\"island-of-pleasure.site\":[1,1,0,2,1,3,0,0,1,1,1],\"idokep.hu\":[61,0,1,2,1,5,1,0,1,0,0],\"npmjs.com\":[1,1,0,1,0,6,0,0,0,0,0],\"craigslist.org\":[5,1,0,0,1,7,0,0,2,0,1],\"bricodepot.fr\":[30,2,1,1,1,7,0,0,3,2,3],\"currys.co.uk\":[34,1,1,4,0,9,1,0,14,0,3],\"gouv.qc.ca\":[5,1,1,1,1,9,0,0,3,1,1],\"boots.com\":[22,1,1,7,1,10,1,0,11,2,6],\"cloudflarestatus.com\":[0,0,0,1,0,2,0,0,0,0,1],\"constantcontact.com\":[7,0,2,2,0,6,0,0,6,0,3],\"suny.edu\":[4,1,0,1,0,8,0,0,0,0,1],\"agirc-arrco.fr\":[2,1,0,1,1,3,0,0,2,0,1],\"unsplash.com\":[4,0,0,0,0,6,0,0,2,0,2],\"x-fetish.tube\":[1,0,0,2,0,3,0,0,2,0,0],\"slashdot.org\":[8,0,2,2,0,3,0,0,6,0,0],\"jn.pt\":[18,0,0,0,1,4,0,0,2,0,0],\"revenuquebec.ca\":[3,0,0,1,1,4,0,0,2,0,0],\"web.nhk\":[0,0,0,1,0,3,1,0,0,0,0],\"22biqu.com\":[1,0,0,1,0,1,1,0,0,0,0],\"inoreader.com\":[4,1,0,1,1,11,3,0,2,5,0],\"flemmix.golf\":[7,1,0,0,1,8,0,0,2,0,0],\"gamersky.com\":[5,0,0,1,1,5,3,0,1,0,0],\"gumtree.com.au\":[39,1,1,3,0,6,1,0,4,0,3],\"phun.org\":[7,0,0,0,0,5,1,0,3,4,0],\"elespanol.com\":[76,2,2,3,1,10,1,0,7,2,2],\"interactivebrokers.ie\":[1,0,0,0,0,3,0,0,3,1,0],\"xfeed.com\":[0,0,0,1,1,5,1,2,1,0,0],\"kabum.com.br\":[32,2,1,2,1,9,0,0,10,2,5],\"deliveroo.co.uk\":[13,0,1,3,0,6,0,0,5,2,7],\"nbcsports.com\":[78,1,3,1,0,7,0,0,10,2,1],\"berkeley.edu\":[4,2,0,2,0,14,0,0,7,1,3],\"howtogeek.com\":[68,1,3,3,0,10,1,0,6,0,2],\"hibid.com\":[5,1,1,1,1,6,0,0,1,1,4],\"tiermaker.com\":[28,1,1,2,0,6,1,0,3,2,0],\"skyscanner.de\":[36,1,0,1,0,6,0,0,4,1,4],\"pointclickcare.com\":[3,0,0,0,0,3,0,0,2,0,1],\"movies2watch.tv\":[4,1,0,0,0,8,0,0,2,0,0],\"shein.co.uk\":[29,1,0,2,0,3,0,0,2,3,5],\"smartsheet.com\":[3,1,1,0,0,5,1,0,2,1,4],\"maxifoot.fr\":[38,0,2,2,0,5,1,0,5,2,1],\"xfree.com\":[1,0,0,1,0,4,0,0,1,0,0],\"sinsay.com\":[16,0,1,1,0,3,1,0,5,1,2],\"libramemoria.com\":[14,0,1,0,1,3,0,0,3,0,2],\"shinden.pl\":[18,1,0,1,0,9,1,0,4,3,1],\"createporn.com\":[0,0,0,0,1,1,0,0,1,0,1],\"tf1.fr\":[26,1,1,1,1,10,1,0,4,0,2],\"ants.gouv.fr\":[1,1,0,0,1,4,0,0,0,0,0],\"dokumen.pub\":[3,0,0,1,1,5,0,0,2,0,0],\"bmo.com\":[4,0,1,1,0,5,0,0,6,0,2],\"bayada.com\":[1,0,0,0,0,1,0,0,3,1,1],\"webflow.com\":[9,1,1,3,0,13,0,0,7,1,7],\"word.tips\":[44,0,2,1,0,6,1,0,5,0,1],\"kupujemprodajem.com\":[6,0,0,0,0,5,0,0,1,0,2],\"chaoscube.co.kr\":[2,0,0,0,0,3,0,0,0,0,0],\"screenrant.com\":[72,1,4,3,1,11,1,0,8,3,1],\"vinted.cz\":[23,0,1,0,1,2,0,0,1,0,1],\"proboards.com\":[7,1,1,2,0,10,3,0,5,6,0],\"makemytrip.com\":[6,0,0,0,0,7,1,0,3,1,6],\"nga.cn\":[1,0,0,0,0,1,0,0,0,0,0],\"wordhippo.com\":[41,0,0,1,0,4,1,0,4,0,0],\"justapinch.com\":[19,1,1,0,0,6,2,0,3,0,0],\"weloma.art\":[1,0,0,1,0,6,2,0,2,0,0],\"canyon.com\":[6,0,0,3,0,3,0,0,6,1,3],\"spankbang.party\":[2,0,0,1,0,4,0,0,1,1,1],\"detik.com\":[30,1,0,2,1,4,0,0,1,1,1],\"lk21official.cc\":[6,1,0,0,0,5,0,0,1,0,0],\"rtbf.be\":[10,1,1,1,0,9,0,0,5,4,1],\"bouyguestelecom.fr\":[32,2,0,2,1,7,1,0,5,2,3],\"14xpics.space\":[0,0,0,0,1,1,0,1,1,0,0],\"ilbe.com\":[4,1,0,0,0,5,0,0,1,0,0],\"letelegramme.fr\":[42,0,2,1,0,7,0,0,7,2,3],\"cnki.net\":[1,0,0,0,0,3,2,0,1,0,0],\"abc.es\":[93,4,3,2,1,10,1,0,10,3,3],\"abcbourse.com\":[64,1,0,3,1,3,1,0,4,0,1],\"tvanouvelles.ca\":[19,2,0,0,1,7,1,0,6,3,1],\"subsource.net\":[1,0,0,0,0,2,0,0,1,0,0],\"swagbucks.com\":[14,0,1,3,1,5,1,0,8,0,1],\"dekudeals.com\":[18,0,1,2,1,4,1,0,3,0,0],\"photopea.com\":[140,3,2,2,0,12,1,0,13,1,1],\"bitdefender.com\":[10,1,1,4,1,5,0,0,7,1,3],\"anandabazar.com\":[36,0,0,1,0,8,1,0,7,3,1],\"adidas.com\":[12,1,0,2,0,7,0,0,9,2,5],\"blick.ch\":[84,2,3,0,0,8,2,0,8,3,4],\"pccomponentes.com\":[23,2,0,1,1,9,1,0,7,1,4],\"zkillboard.com\":[65,1,3,4,1,7,1,0,5,0,0],\"wikiru.jp\":[6,1,0,1,0,6,1,1,2,2,0],\"kinorium.com\":[6,1,0,0,0,3,0,0,1,1,0],\"abercrombie.com\":[10,1,1,4,0,3,2,0,11,1,6],\"dropcoins.xyz\":[1,0,0,0,0,5,0,1,1,0,0],\"csdn.net\":[4,0,0,0,1,2,3,0,1,0,0],\"manhwaread.com\":[2,0,0,1,0,4,0,0,2,1,0],\"smallpdf.com\":[7,1,0,3,1,5,0,0,4,1,5],\"mobile01.com\":[16,1,0,0,1,8,0,0,2,2,0],\"ksl.com\":[52,3,3,4,0,11,0,0,8,2,3],\"consolegameswiki.com\":[20,1,1,1,0,9,0,0,0,0,0],\"helloasso.com\":[7,1,1,0,0,9,0,0,5,0,2],\"hentaiomg.com\":[1,0,0,0,0,2,0,0,2,1,0],\"streamm4u.com.co\":[3,1,0,0,1,10,1,0,3,0,0],\"viator.com\":[44,1,1,4,0,5,2,0,7,2,2],\"vinted.ro\":[67,0,1,2,0,3,0,0,4,0,1],\"ardmediathek.de\":[1,0,0,0,0,4,0,0,0,0,0],\"vendora.gr\":[4,0,1,0,0,2,0,0,1,0,2],\"jm18c-oec.cc\":[2,0,0,0,0,5,0,1,3,0,0],\"notebookcheck.net\":[42,1,0,1,0,9,1,0,3,2,0],\"huawei.com\":[6,0,1,1,1,5,0,0,3,0,0],\"worldjournal.com\":[51,1,0,2,0,8,1,0,7,2,0],\"fnacspectacles.com\":[10,0,2,2,0,5,0,0,2,0,2],\"freeconvert.com\":[57,2,0,1,1,9,1,0,4,0,2],\"nationwide.co.uk\":[1,0,1,2,0,1,0,0,2,0,2],\"bstsrs.in\":[3,0,0,0,0,5,1,0,2,0,0],\"autoweek.nl\":[20,1,0,2,0,4,1,0,5,0,1],\"flyfrontier.com\":[11,0,0,0,0,8,0,0,6,2,4],\"bg3.wiki\":[24,1,1,3,0,3,1,0,2,0,0],\"allegro.cz\":[7,0,0,1,0,4,0,0,2,0,2],\"astro-seek.com\":[22,0,1,2,0,6,2,0,3,0,0],\"skelbiu.lt\":[16,0,1,1,0,5,1,0,2,1,1],\"cian.ru\":[7,0,0,0,1,2,0,0,1,2,0],\"shopee.sg\":[6,1,0,0,0,3,0,0,1,0,1],\"whitepages.com\":[157,3,1,2,0,9,3,0,15,1,2],\"1337x.st\":[0,0,0,0,1,3,0,0,1,0,0],\"mangafreak.me\":[0,0,0,0,1,2,0,0,1,0,0],\"subeta.net\":[2,0,1,0,0,7,1,0,0,0,0],\"payhip.com\":[8,2,0,3,0,8,0,0,2,2,3],\"violity.com\":[7,0,0,0,0,4,0,0,1,0,0],\"tranny.one\":[3,2,1,0,1,6,0,1,1,0,0],\"agonialands.com\":[0,0,0,1,0,4,0,0,1,0,1],\"hyperessays.com\":[0,0,0,0,0,2,0,0,0,0,1],\"zoho.eu\":[1,1,0,1,0,4,1,0,0,1,0],\"dict.cc\":[58,1,0,0,0,5,1,0,2,0,0],\"liveuamap.com\":[11,1,0,1,0,4,0,0,2,1,0],\"tenor.com\":[3,0,0,0,0,4,0,0,1,0,1],\"porntn.com\":[2,0,0,1,0,3,0,0,1,0,0],\"ekino-tv.pl\":[2,0,0,0,0,3,0,0,2,0,1],\"acs.org\":[12,1,1,0,0,5,0,0,8,1,2],\"vidbox.cc\":[4,2,0,1,0,7,1,0,1,0,0],\"2ch-c.net\":[4,0,0,1,0,3,0,0,1,2,0],\"etherscan.io\":[4,0,0,0,0,5,0,0,1,0,0],\"n1info.rs\":[47,2,1,1,0,8,1,0,6,3,1],\"erothots.co\":[2,0,0,1,0,5,0,1,1,1,0],\"notube.net\":[2,1,1,1,1,4,0,0,0,2,1],\"anime-planet.com\":[3,0,0,0,0,5,0,0,1,0,0],\"moudamepo.com\":[2,0,0,0,0,2,0,0,1,0,0],\"3dmgame.com\":[2,0,0,1,1,3,3,0,1,0,0],\"cmoa.jp\":[19,0,0,0,1,4,0,0,3,2,0],\"aaa.com\":[34,4,2,5,0,13,1,0,23,4,9],\"tbs.co.jp\":[27,1,0,0,0,6,1,0,4,4,2],\"skyscanner.fr\":[31,1,0,0,0,6,0,0,3,1,4],\"illinois.edu\":[4,2,1,3,0,12,0,0,5,1,0],\"mail.com\":[37,0,1,2,0,8,3,0,1,0,0],\"macromill.com\":[13,0,0,0,0,4,0,0,7,3,0],\"toyota.com\":[27,2,0,2,0,10,1,0,10,2,3],\"comic-walker.com\":[16,1,0,1,0,4,0,0,2,1,0],\"my.gov.au\":[0,0,0,0,1,2,0,0,0,0,0],\"dpdgroup.com\":[3,0,0,2,0,4,0,0,2,0,2],\"servicetitan.com\":[2,0,0,1,0,5,1,0,5,0,5],\"datanodes.to\":[3,0,0,1,1,3,0,0,2,0,0],\"dlpsgame.com\":[5,1,0,1,1,6,1,0,4,0,0],\"utoronto.ca\":[4,1,0,5,0,13,0,0,5,0,1],\"raiplay.it\":[4,0,0,0,1,9,0,0,2,1,0],\"ed.nl\":[22,1,0,2,0,5,2,0,2,2,2],\"standaard.be\":[35,2,1,1,0,6,0,0,3,3,1],\"edmunds.com\":[31,1,0,0,0,6,0,0,5,0,2],\"volkskrant.nl\":[20,1,0,3,0,8,1,0,5,0,1],\"serienstream.to\":[3,1,0,0,1,7,0,0,0,1,0],\"uesp.net\":[4,1,0,1,0,4,0,0,2,0,0],\"datto.com\":[1,0,0,2,0,5,0,0,0,0,0],\"aftenposten.no\":[7,2,0,0,0,9,2,0,0,0,2],\"bancsabadell.com\":[3,0,1,1,0,4,0,0,2,0,0],\"hfboards.com\":[10,1,0,0,0,6,1,0,2,4,0],\"skyscanner.com\":[57,1,0,0,0,5,0,0,5,1,4],\"tpb.party\":[1,0,0,0,1,2,0,0,1,0,0],\"pokerogue.net\":[1,0,0,2,0,4,0,0,1,0,0],\"ford.com\":[11,2,1,6,0,8,3,0,8,2,3],\"japaneseasmr.com\":[0,0,0,1,0,5,0,0,1,0,1],\"pokemoncenter.com\":[7,0,1,3,0,4,0,0,7,0,3],\"flashback.org\":[28,0,1,1,0,3,1,0,1,0,0],\"whatnot.com\":[7,2,1,1,0,8,0,0,5,0,3],\"twword.com\":[9,3,0,1,1,5,1,0,1,0,0],\"ytdown.to\":[4,1,0,0,1,4,0,0,2,0,1],\"theepochtimes.com\":[32,1,2,1,0,15,1,0,6,2,1],\"arcgis.com\":[6,1,1,1,0,8,0,0,2,0,1],\"kingofshojo.com\":[2,0,0,1,1,5,0,0,3,1,0],\"zennioptical.com\":[13,0,1,4,0,10,2,0,9,2,6],\"limitlesstcg.com\":[18,0,1,1,0,4,1,0,1,1,0],\"girlschannel.net\":[4,0,0,1,0,2,0,0,1,2,0],\"theync.com\":[3,0,0,1,0,3,0,0,1,0,0],\"filae.com\":[8,0,1,0,0,6,0,0,4,0,0],\"retrogametalk.com\":[5,1,0,1,0,6,0,0,2,1,0],\"chub.ai\":[1,0,0,0,0,3,1,0,1,0,1],\"virginia.gov\":[4,1,0,2,0,11,0,0,6,0,3],\"editorialmanager.com\":[2,0,1,0,0,4,0,0,4,0,1],\"mercadolibre.com.ve\":[8,0,0,0,1,2,0,0,3,0,1],\"healthequity.com\":[6,0,1,2,0,10,0,0,10,0,4],\"x-kom.pl\":[30,3,0,1,0,9,0,0,4,0,1],\"wa.gov\":[5,1,0,2,0,12,0,0,5,0,4],\"yandex.kz\":[7,1,0,1,1,5,0,0,3,3,0],\"charter97.org\":[7,1,0,3,0,6,0,0,1,2,0],\"pcgamestorrents.com\":[2,0,0,1,1,4,0,0,2,0,1],\"klook.com\":[12,0,0,2,0,6,1,0,7,1,4],\"royalcaribbean.com\":[27,2,1,5,0,8,0,0,11,2,5],\"japscan.foo\":[1,0,0,0,0,7,0,0,1,0,0],\"timeguessr.com\":[25,0,1,3,0,3,1,0,3,0,0],\"ubc.ca\":[4,2,0,1,0,12,0,0,6,2,1],\"kimochi.info\":[1,0,0,1,1,6,1,0,3,2,0],\"partsouq.com\":[5,1,0,3,1,5,0,0,0,0,0],\"trueachievements.com\":[27,1,1,1,0,8,1,0,2,0,0],\"lifefile.net\":[0,0,0,0,0,0,0,0,0,0,0],\"stylevana.com\":[12,0,0,3,1,8,0,0,5,0,2],\"dexscreener.com\":[6,0,0,0,1,5,0,0,2,0,0],\"ss.com\":[5,0,0,1,0,3,0,0,0,0,0],\"uhaul.com\":[6,1,0,1,0,6,0,0,4,0,1],\"comparethemarket.com\":[7,0,0,0,0,4,0,0,6,0,1],\"hdporncomics.com\":[1,0,0,1,0,4,0,1,2,1,0],\"tube8.fr\":[3,0,0,0,1,3,1,3,1,0,0],\"newyorker.com\":[33,1,0,1,0,6,0,0,8,3,1],\"futbollibretv.su\":[3,3,0,1,1,7,0,0,2,1,0],\"eluniversal.com.mx\":[17,1,1,0,1,11,0,0,6,2,3],\"horizon-cumulus.com\":[1,0,0,1,0,2,0,0,1,1,0],\"lululemon.com\":[14,2,1,5,0,7,1,0,13,2,6],\"skai.gr\":[11,2,1,1,1,6,0,0,5,3,2],\"xchina.co\":[1,0,0,1,0,5,0,0,2,0,0],\"extto.com\":[0,0,0,0,0,4,1,0,1,0,0],\"huya.com\":[3,0,0,0,0,1,2,0,0,0,0],\"tigerdroppings.com\":[37,1,0,0,0,6,1,0,4,6,0],\"author.today\":[3,1,0,1,1,4,0,0,2,1,0],\"voz.vn\":[3,1,0,0,1,5,1,0,3,3,0],\"wikitree.com\":[2,1,0,0,0,5,0,0,1,0,0],\"subtitlecat.com\":[4,0,0,1,0,9,0,0,0,0,0],\"kayak.com\":[19,1,0,1,0,7,0,0,3,2,5],\"ldlc.com\":[3,1,0,1,1,5,0,0,1,0,2],\"metacritic.com\":[39,2,2,1,1,9,1,0,7,1,1],\"virgilio.it\":[72,1,2,3,1,7,2,0,7,0,1],\"yakkun.com\":[18,0,0,1,1,6,0,0,1,0,0],\"wenxuecity.com\":[62,1,1,2,1,8,1,0,5,2,2],\"wtop.com\":[52,1,1,1,0,5,1,0,7,2,0],\"poast.org\":[0,0,0,1,1,3,0,0,1,1,0],\"dutchycorp.space\":[22,2,1,2,0,10,2,0,2,1,2],\"work.ua\":[7,0,0,1,0,4,0,0,3,0,2],\"kuronekoyamato.co.jp\":[2,0,0,2,0,6,2,0,1,0,0],\"celebjihad.com\":[2,0,0,2,1,4,0,0,3,2,0],\"92yanqing.com\":[1,0,0,0,0,0,0,0,0,0,0],\"qobuz.com\":[10,0,1,1,1,6,0,0,8,2,2],\"filmix.my\":[1,0,0,2,1,3,0,0,1,0,0],\"ifeng.com\":[4,0,0,0,0,0,1,0,1,0,0],\"ilsole24ore.com\":[55,2,1,1,0,11,1,0,11,2,4],\"ucla.edu\":[4,2,1,1,0,12,0,0,7,0,2],\"caranddriver.com\":[35,1,2,0,0,7,0,0,7,2,3],\"uopeople.edu\":[9,2,1,2,0,9,0,0,6,2,1],\"sfchronicle.com\":[83,2,4,2,0,8,0,0,15,3,1],\"ficbook.net\":[1,0,0,1,1,4,1,0,1,0,0],\"auto24.ee\":[4,0,1,0,0,3,0,0,0,0,0],\"themeforest.net\":[7,1,1,2,0,7,0,0,3,0,2],\"horsereality.com\":[1,0,1,0,0,6,1,0,0,0,1],\"channel4.com\":[7,1,0,0,0,6,0,0,5,0,2],\"ax4.com\":[0,0,0,0,0,0,1,0,0,0,0],\"kia.com\":[14,1,3,5,0,12,1,0,12,1,3],\"hpe.com\":[6,1,1,3,0,13,1,0,8,0,5],\"ah.nl\":[7,0,0,1,0,7,0,0,1,1,4],\"kamigame.jp\":[8,1,0,1,1,9,0,0,3,0,1],\"babesource.com\":[1,0,0,0,0,5,0,0,0,2,0],\"emirates.com\":[39,2,1,0,0,7,1,0,5,3,3],\"pcmag.com\":[35,1,1,2,0,9,0,0,5,4,1],\"pex.jp\":[20,0,0,0,0,3,0,0,2,3,1],\"pitchfork.com\":[31,1,0,0,0,6,0,0,6,1,0],\"musicbrainz.org\":[0,0,0,0,0,0,0,0,0,0,1],\"oscaro.com\":[9,0,1,2,1,6,0,0,4,0,2],\"matchendirect.fr\":[6,0,1,1,1,8,1,0,3,1,0],\"rutracker.net\":[1,0,0,2,1,4,0,0,1,0,0],\"fastpeoplesearch.com\":[60,0,0,2,0,6,0,0,5,1,1],\"trannyvideosx.com\":[0,0,0,0,1,5,0,1,0,0,0],\"fuckingfast.co\":[0,0,0,1,0,4,0,0,2,0,0],\"chinatimes.com\":[24,2,1,1,0,8,0,0,7,5,1],\"hardwarezone.com.sg\":[15,1,0,0,0,9,1,0,7,6,0],\"insomnia.gr\":[6,1,0,0,1,9,0,0,2,3,0],\"ato.gov.au\":[2,0,0,0,1,3,0,0,4,0,0],\"ridibooks.com\":[7,0,0,1,1,6,0,0,5,1,1],\"destentor.nl\":[20,1,0,2,0,5,2,0,3,2,1],\"17track.net\":[10,0,0,2,0,6,1,0,4,0,0],\"usertesting.com\":[5,1,1,0,0,10,0,0,9,1,4],\"bz11111111.com\":[1,0,0,0,0,1,0,0,1,0,0],\"tamu.edu\":[3,1,0,2,0,11,0,0,6,2,1],\"forgeofempires.com\":[1,0,0,1,1,4,0,0,0,0,0],\"fap-nation.org\":[3,1,0,1,1,4,0,0,2,1,0],\"appfolio.com\":[3,0,1,1,0,5,0,0,3,0,4],\"livejournal.com\":[12,1,0,2,1,8,4,0,9,9,1],\"nswpedia.com\":[1,0,0,1,0,6,0,0,2,1,0],\"scene-rls.net\":[0,0,0,0,1,2,0,0,1,0,0],\"seaart.ai\":[12,0,0,2,0,6,0,0,3,4,2],\"monash.edu\":[4,1,1,0,0,11,0,0,3,1,0],\"guitarcenter.com\":[36,2,0,3,0,7,0,0,8,1,6],\"net22.cc\":[3,1,0,0,0,6,0,0,3,0,0],\"momoshop.com.tw\":[29,1,0,0,1,7,0,0,2,0,1],\"spareroom.co.uk\":[4,2,1,4,1,4,0,0,3,0,1],\"frontlineeducation.com\":[1,0,0,1,0,5,0,0,3,0,1],\"104.com.tw\":[7,2,0,1,1,6,1,0,5,0,1],\"iaai.com\":[28,1,1,3,0,4,0,0,1,0,1],\"fanmtl.com\":[2,0,0,1,0,4,1,0,2,0,0],\"wcoflix.tv\":[42,0,0,0,0,5,0,0,3,0,0],\"fantasticfiction.com\":[21,0,0,0,0,4,0,0,0,0,0],\"porsche.com\":[18,2,1,2,0,9,0,0,11,2,4],\"tijd.be\":[11,2,1,3,0,4,0,0,3,4,0],\"kroger.com\":[10,1,2,1,0,3,1,0,2,1,4],\"dreammail.jp\":[16,0,1,0,0,4,0,0,3,0,0],\"viki.com\":[14,1,1,1,1,9,0,0,3,0,4],\"nodeseek.com\":[0,0,0,0,0,1,0,0,1,0,0],\"uakino.best\":[4,1,0,0,0,5,0,0,2,0,0],\"mumu999999.com\":[1,0,0,0,0,0,0,0,0,0,0],\"fortuneo.fr\":[7,1,0,2,1,4,0,0,3,1,4],\"luma.com\":[4,1,0,1,0,5,0,0,0,0,4],\"spox.com\":[42,0,1,1,1,5,0,0,6,1,1],\"dawn.com\":[7,1,0,0,0,5,0,0,0,3,0],\"wolt.com\":[11,0,0,4,0,7,0,0,5,0,7],\"x-video.tube\":[0,0,0,2,1,4,0,0,1,0,0],\"repack-games.com\":[7,1,0,1,1,6,0,0,2,1,1],\"cmnw.jp\":[16,0,0,1,0,4,0,0,2,0,0],\"colorado.edu\":[3,1,0,3,0,8,0,0,5,0,1],\"topky.sk\":[45,0,1,1,0,7,0,0,1,2,0],\"siemens.com\":[10,2,1,3,0,5,0,0,9,1,4],\"caradisiac.com\":[55,1,1,2,1,9,1,0,5,3,2],\"streamlabs.com\":[4,3,1,4,0,9,0,0,2,2,1],\"monday.com\":[10,1,0,3,0,12,0,0,9,1,3],\"syf.com\":[5,0,1,1,0,5,0,0,4,1,4],\"intel.com\":[5,3,1,1,1,9,1,0,4,0,2],\"wikimedia.org\":[4,0,0,1,1,6,0,0,1,0,1],\"amazon.work\":[2,1,0,0,0,7,0,0,2,0,0],\"ticketmaster.fr\":[11,1,1,0,0,7,1,0,5,1,0],\"hentai2read.com\":[0,0,0,1,0,3,0,1,1,0,0],\"raspberrypi.com\":[3,1,0,1,0,9,0,0,2,1,0],\"javhd.today\":[2,1,0,1,0,7,0,1,3,0,0],\"weathernews.jp\":[23,1,0,0,1,6,0,0,2,0,0],\"91short.com\":[0,0,0,0,0,0,0,0,0,0,0],\"postnl.nl\":[5,0,0,1,0,5,0,0,3,0,0],\"bell.ca\":[10,1,1,0,0,5,0,0,9,0,3],\"biccamera.com\":[30,1,0,1,0,3,0,0,7,1,0],\"zdf.de\":[1,0,0,0,1,4,0,0,1,0,0],\"ilmeteo.it\":[57,1,0,2,1,7,0,0,3,2,2],\"vecteezy.com\":[48,0,3,3,0,8,1,0,7,2,2],\"godlikeproductions.com\":[3,1,0,0,0,6,1,0,1,2,0],\"imagevenue.com\":[1,0,0,1,1,6,0,1,2,0,0],\"cytric.net\":[1,0,0,2,0,0,1,0,0,0,0],\"bancogalicia.com.ar\":[6,0,0,0,1,2,0,0,2,0,2],\"crowdstrike.com\":[4,1,1,0,0,3,0,0,4,0,2],\"sport1.de\":[87,2,2,3,1,7,2,0,6,4,2],\"twz.com\":[18,1,2,3,0,4,1,0,6,5,0],\"wpengine.com\":[13,3,2,5,0,10,0,0,15,3,3],\"ygosu.com\":[6,1,0,1,0,6,0,0,0,0,0],\"scopus.com\":[1,0,1,1,1,5,0,0,4,0,1],\"audible.co.uk\":[10,0,1,0,0,3,1,0,5,2,1],\"eredmenyek.com\":[15,0,1,0,0,4,1,0,2,0,0],\"alamy.com\":[6,0,0,1,1,4,0,0,7,0,2],\"kpn.com\":[6,1,1,2,0,6,0,0,5,0,4],\"minecraft.wiki\":[1,1,0,1,0,5,0,0,1,0,0],\"romsgames.net\":[15,0,0,1,0,4,1,0,2,0,0],\"popmundo.com\":[1,0,0,0,0,1,1,0,1,1,0],\"exlibrisgroup.com\":[2,1,1,0,0,10,0,0,2,2,0],\"gamma.nl\":[6,1,1,3,0,5,0,0,1,2,4],\"op.fi\":[2,0,0,1,0,3,0,0,1,0,0],\"avto.net\":[22,1,1,1,1,7,0,0,2,0,1],\"txxx.me\":[2,1,0,0,1,5,1,3,1,0,1],\"bitchute.com\":[3,0,0,1,0,5,1,0,1,0,0],\"link.me\":[5,1,0,3,1,5,0,0,3,0,0],\"pornoxo.com\":[1,0,0,1,1,6,1,2,1,0,2],\"datadoghq.eu\":[0,0,0,3,0,5,0,0,0,1,1],\"intersport.fr\":[6,0,1,3,1,8,0,0,5,0,2],\"powerlineblog.com\":[6,1,0,2,0,5,0,0,2,2,0],\"degiro.nl\":[7,1,1,2,0,5,0,0,3,1,0],\"atptour.com\":[7,3,1,1,0,5,1,0,5,3,0],\"ubuntu.com\":[5,1,0,3,1,8,0,0,1,0,0],\"blancheporte.fr\":[22,1,0,1,1,5,0,0,4,1,1],\"yabancidizi.so\":[2,0,0,0,0,3,0,0,2,0,0],\"stockcharts.com\":[30,3,2,1,0,7,1,0,5,0,2],\"autoscout24.nl\":[44,1,1,1,0,5,0,0,3,0,0],\"ing.nl\":[5,0,0,1,0,3,0,0,0,0,0],\"grailed.com\":[8,0,1,2,0,4,0,0,7,0,5],\"perchance.org\":[32,1,0,0,1,9,2,0,5,0,0],\"you1news.com\":[7,1,0,0,0,5,1,0,3,3,0],\"extratorrent.st\":[0,0,0,0,0,3,0,0,1,0,0],\"revolut.com\":[7,0,0,1,0,7,0,0,3,0,3],\"allthefallen.moe\":[2,0,0,1,1,4,0,0,0,0,0],\"starlink.com\":[8,0,2,4,1,4,0,0,3,1,2],\"mangapill.com\":[1,0,0,0,0,1,0,0,1,0,0],\"afip.gob.ar\":[4,1,0,0,1,8,0,0,1,0,0],\"patagonia.com\":[14,1,1,3,0,11,0,0,16,2,6],\"allkeyshop.com\":[3,2,0,0,1,7,0,0,2,1,0],\"tapatalk.com\":[12,1,1,1,0,9,1,0,1,2,1],\"usajobs.gov\":[3,1,0,0,0,4,0,0,2,0,1],\"leagueoflegends.com\":[3,1,1,0,1,8,0,0,2,0,1],\"skidrowcodex.net\":[1,0,0,1,0,6,0,0,1,1,0],\"minecraftskins.com\":[39,0,1,0,0,5,0,0,4,3,0],\"cloudresearch.com\":[2,0,1,3,0,8,0,0,2,0,0],\"fruitmail.net\":[40,0,0,0,0,5,0,0,4,1,0],\"videa.hu\":[51,0,1,1,1,4,0,0,2,0,0],\"geni.com\":[2,0,0,0,1,5,0,0,0,0,1],\"downdetector.com\":[52,0,1,4,0,7,0,0,4,0,2],\"creativefabrica.com\":[7,1,0,2,1,9,0,0,4,2,6],\"f95zone.to.it\":[5,1,0,1,1,3,0,0,2,0,0],\"avsforum.com\":[29,1,1,2,0,6,1,0,1,1,1],\"google.com.br\":[4,1,0,0,1,4,0,0,0,0,1],\"umn.edu\":[4,3,0,2,0,12,1,0,7,2,2],\"vsex.in\":[3,0,0,1,1,4,0,0,1,0,0],\"raijin-scans.fr\":[1,0,0,1,0,4,0,0,1,0,0],\"leroymerlin.it\":[16,1,1,2,1,2,1,0,7,1,1],\"tableau.com\":[6,2,1,1,0,5,1,0,5,0,1],\"barclays.co.uk\":[3,0,0,0,0,2,0,0,2,0,3],\"forumophilia.com\":[1,0,0,0,0,2,0,0,2,0,0],\"freenet.de\":[38,1,1,2,1,9,1,0,4,1,4],\"elsevier.com\":[6,0,1,1,0,9,2,0,5,0,3],\"mangaclash.com\":[2,0,0,0,1,3,0,0,1,1,0],\"yaraon-blog.com\":[8,1,0,0,0,4,1,0,3,3,0],\"wikisource.org\":[0,0,0,0,0,3,0,0,0,0,0],\"hdblog.it\":[28,1,0,1,1,8,0,0,1,2,2],\"sondakika.com\":[27,0,0,0,1,4,0,0,5,0,0],\"traderie.com\":[24,0,1,1,0,6,1,0,6,1,2],\"oponas.com\":[1,0,0,0,0,1,0,0,0,0,0],\"milfporn.tv\":[1,0,0,1,1,5,0,1,2,0,0],\"supersoluce.com\":[35,2,0,0,0,9,1,0,4,1,0],\"coolblue.be\":[11,1,0,0,0,6,0,0,3,1,3],\"kuku.lu\":[2,0,0,0,1,3,0,0,0,0,0],\"dreamstime.com\":[8,0,0,1,0,3,0,0,2,0,1],\"kitty-kats.net\":[0,0,0,1,0,3,0,0,1,1,0],\"deliveroo.fr\":[12,0,1,3,1,5,0,0,2,2,6],\"fdj.fr\":[12,1,0,2,1,6,0,0,4,0,2],\"decathlon.nl\":[11,1,1,4,0,4,1,0,4,1,2],\"jobstreet.com\":[10,1,0,0,1,8,0,0,7,0,2],\"ucdavis.edu\":[5,2,0,1,0,11,0,0,6,2,2],\"okdiario.com\":[26,2,2,2,1,5,1,0,5,2,3],\"nyc.gov\":[4,1,0,3,0,10,1,0,3,0,2],\"expedia.ca\":[9,0,0,1,0,7,1,0,6,0,6],\"ozon.kz\":[1,0,0,0,1,1,0,0,0,0,0],\"merkur.de\":[78,1,0,2,0,9,1,0,6,4,0],\"chomikuj.pl\":[6,1,0,1,0,6,0,0,1,0,0],\"hsbc.co.uk\":[7,0,0,1,1,3,0,0,8,0,4],\"xdaforums.com\":[4,1,0,1,0,5,0,0,2,0,0],\"bjs.com\":[41,1,1,3,0,10,1,0,8,1,5],\"z-lib.fm\":[0,0,0,2,0,4,0,0,0,0,1],\"indexxx.com\":[2,0,0,0,1,3,0,0,1,0,0],\"thunderstore.io\":[28,1,1,4,0,5,2,0,2,0,1],\"pokemon.com\":[3,1,1,1,0,8,0,0,1,0,5],\"tripadvisor.fr\":[10,1,1,1,1,4,1,0,3,1,1],\"av-wiki.net\":[2,1,0,1,1,5,0,1,2,2,0],\"gbnews.com\":[60,1,4,4,0,8,0,0,5,0,1],\"radio-canada.ca\":[22,1,0,0,0,6,0,0,5,1,1],\"drtuber.com\":[1,0,0,1,1,3,0,3,2,0,0],\"seriouseats.com\":[32,1,2,2,0,8,2,0,8,0,1],\"autoscout24.be\":[62,1,1,1,0,5,2,0,4,0,0],\"1lib.sk\":[0,0,0,2,0,3,0,0,0,0,0],\"shesfreaky.com\":[2,0,0,0,0,3,1,1,2,0,0],\"heute.at\":[64,4,1,3,1,8,1,0,3,3,1],\"yougov.com\":[8,0,1,2,0,3,0,0,4,0,1],\"simplepractice.com\":[5,0,0,3,0,4,0,0,6,0,1],\"tailscale.com\":[6,1,1,3,1,6,0,0,5,1,0],\"allmusic.com\":[83,2,1,5,0,8,3,0,9,1,1],\"mynavi.jp\":[37,2,0,2,0,14,0,0,9,4,1],\"skatteverket.se\":[0,1,0,2,0,3,0,0,0,0,0],\"politiken.dk\":[10,0,1,3,0,5,0,0,2,2,1],\"dennikn.sk\":[20,1,0,2,0,8,1,0,1,2,4],\"rotter.net\":[10,1,0,1,0,6,2,0,2,3,0],\"gamcore.com\":[2,0,0,1,1,5,1,1,0,0,1],\"ancestry.de\":[11,0,0,1,0,2,0,0,5,0,0],\"infojobs.net\":[13,0,1,0,0,5,0,0,5,0,1],\"codepen.io\":[3,1,0,2,0,16,1,0,1,1,2],\"slidesgo.com\":[23,0,1,1,0,7,0,0,4,0,1],\"e6ai.net\":[0,0,0,0,0,1,0,0,0,0,0],\"liberation.fr\":[13,0,0,0,0,5,0,0,3,2,2],\"theregister.com\":[4,1,0,1,0,3,0,0,0,0,1],\"worldstar.com\":[29,2,0,0,0,6,0,0,3,1,2],\"cmb.fr\":[1,0,1,2,0,3,0,0,2,0,0],\"governmentjobs.com\":[8,1,1,0,0,6,0,0,2,0,2],\"skynews.com.au\":[28,1,1,0,0,7,1,0,11,0,0],\"pbs.org\":[10,3,1,3,0,10,0,0,5,0,2],\"scrabblewordfinder.org\":[10,1,0,0,1,4,0,0,2,0,0],\"rts.ch\":[2,1,1,0,0,6,0,0,4,2,1],\"aktuality.sk\":[43,2,0,0,0,12,1,0,5,4,3],\"taiwebs.com\":[3,0,0,1,1,5,0,0,3,0,0],\"hentaihaven.xxx\":[2,0,0,1,1,5,0,1,1,0,1],\"head-fi.org\":[7,1,0,1,0,5,0,0,1,0,0],\"coupert.com\":[8,0,0,4,1,12,1,0,5,0,1],\"netacad.com\":[5,2,1,2,1,6,1,0,2,0,1],\"dpreview.com\":[66,2,3,3,0,10,1,0,10,4,0],\"1password.com\":[2,0,1,3,0,8,0,0,3,0,5],\"2game.info\":[15,1,0,0,2,4,0,0,3,1,0],\"turbobit.net\":[1,0,0,1,1,4,0,0,1,0,0],\"dcard.tw\":[6,1,0,0,1,4,0,0,1,0,1],\"mym.fans\":[8,0,1,0,0,4,0,0,3,2,0],\"avistaz.to\":[0,0,0,0,0,3,0,0,2,1,0],\"grundos.cafe\":[1,0,0,0,0,5,1,0,1,0,0],\"becu.org\":[9,0,1,4,0,7,0,0,4,2,4],\"immowelt.de\":[60,2,1,2,1,7,1,0,9,1,2],\"nozomi.la\":[0,0,0,0,0,2,0,0,0,0,0],\"winfuture.de\":[81,2,1,1,1,6,1,0,8,0,1],\"nova.rs\":[32,2,1,1,0,8,1,0,7,3,1],\"nifty.com\":[34,0,0,0,0,9,0,0,7,2,2],\"odoo.com\":[3,1,0,2,0,8,0,0,2,0,2],\"techradar.com\":[41,2,2,1,0,4,1,0,6,3,0],\"otomi-games.com\":[3,0,0,1,1,4,1,0,1,0,0],\"rakuten-bank.co.jp\":[11,0,0,0,0,4,0,0,2,0,0],\"monespacesante.fr\":[0,0,0,0,1,2,0,0,1,0,0],\"vhlcentral.com\":[2,0,0,2,0,6,0,0,2,0,1],\"oilprice.com\":[39,0,1,2,0,6,2,0,5,0,0],\"myheritage.fr\":[1,0,0,0,1,4,0,0,0,0,4],\"arukereso.hu\":[16,1,1,0,1,5,0,0,2,1,0],\"carsales.com.au\":[46,2,0,2,1,11,1,0,11,1,3],\"yasyadong.tv\":[1,0,0,1,0,4,1,0,2,0,0],\"proxyninja.org\":[4,1,0,0,1,7,0,0,2,0,0],\"sunvi.de\":[0,0,0,2,0,0,0,0,0,0,0],\"flashscore.gr\":[3,0,1,0,1,0,1,0,2,0,0],\"geico.com\":[7,0,1,1,0,5,0,0,3,0,3],\"genspark.ai\":[11,1,0,2,0,9,0,0,4,1,3],\"luscious.net\":[1,0,0,0,1,3,0,1,2,0,0],\"gapcanada.ca\":[13,0,1,3,0,3,0,0,9,2,5],\"manus.im\":[6,1,0,1,1,11,0,0,1,0,2],\"workona.com\":[2,1,0,2,0,4,1,0,2,0,0],\"doublelist.com\":[6,0,1,0,0,9,0,0,4,2,0],\"flashscore.es\":[17,0,1,0,0,3,1,0,3,0,1],\"wfaa.com\":[41,1,1,1,0,5,0,0,8,2,2],\"freepornvideos.xxx\":[2,0,0,0,1,4,0,0,3,0,0],\"javxxx.me\":[1,1,0,2,0,6,0,0,3,0,0],\"jav-fun.cc\":[4,1,0,1,0,5,0,1,3,0,0],\"mlsmatrix.com\":[4,2,0,0,0,6,0,0,5,0,2],\"tumbex.com\":[3,1,0,0,0,4,0,0,3,0,0],\"tiaa.org\":[11,0,1,1,0,5,0,0,6,1,1],\"escort.club\":[0,0,0,0,0,5,0,0,1,0,1],\"tycsports.com\":[7,0,0,0,1,4,0,0,1,0,0],\"successfactors.com\":[5,0,1,1,0,3,1,0,1,1,2],\"redtailtechnology.com\":[2,0,0,1,0,5,0,0,3,0,2],\"pornslash.com\":[1,0,0,1,1,6,0,0,2,1,0],\"bixpe.com\":[1,0,0,0,0,3,0,0,0,0,1],\"adultwork.com\":[3,0,0,2,0,6,0,0,2,0,2],\"qiita.com\":[40,1,0,1,0,9,1,0,3,3,0],\"rockstargames.com\":[3,1,1,2,1,5,0,0,1,0,3],\"shueisha.co.jp\":[15,1,1,1,1,8,0,0,3,1,0],\"parfumo.de\":[46,1,2,0,0,5,1,0,2,0,0],\"crazyshit.com\":[2,0,0,1,0,6,0,0,2,0,0],\"rugbyrama.fr\":[44,0,1,0,0,5,0,0,5,2,1],\"9anime.org.lv\":[3,1,0,1,0,6,0,0,4,0,1],\"epfindia.gov.in\":[2,1,0,2,1,8,0,0,0,0,1],\"render-state.to\":[2,0,0,1,1,3,0,0,1,0,1],\"identi.io\":[6,2,0,2,1,12,3,0,4,5,0],\"centraldispatch.com\":[2,0,0,0,0,4,0,0,5,0,2],\"rosszlanyok.hu\":[3,0,0,1,0,4,0,0,0,0,2],\"boursedirect.fr\":[4,1,1,1,1,8,0,0,1,0,1],\"italki.com\":[10,1,0,1,1,7,0,0,4,2,2],\"rin.ru\":[2,1,0,3,1,5,1,0,0,0,0],\"cda-hd.cc\":[5,2,0,1,0,7,1,0,3,1,0],\"gsp.ro\":[12,1,1,0,0,9,0,0,6,1,1],\"userlytics.com\":[4,0,0,1,0,7,0,0,1,0,0],\"readcomicsonline.ru\":[3,0,0,0,0,3,0,0,2,0,0],\"akakce.com\":[8,1,0,0,1,5,0,0,2,0,0],\"zerodha.com\":[2,1,0,0,1,7,0,0,1,1,2],\"pointi.jp\":[53,1,0,0,0,7,0,0,5,3,0],\"porndd.com\":[2,0,0,0,1,2,0,0,1,0,0],\"webd.pl\":[0,0,0,0,0,4,1,0,0,0,0],\"khinsider.com\":[1,0,0,1,0,4,0,0,1,0,0],\"renfe.com\":[3,1,1,1,1,3,1,0,3,0,1],\"torrent9.club\":[3,0,0,1,1,4,0,0,2,0,0],\"woolworths.com.au\":[11,1,0,3,0,7,0,0,10,1,3],\"gusto.com\":[2,0,1,1,0,6,0,0,4,0,4],\"lide.cz\":[9,0,0,0,0,1,0,0,2,0,0],\"av19.to\":[1,0,0,0,0,3,0,0,2,0,0],\"capa.com\":[1,0,0,0,0,1,0,0,0,0,2],\"macif.fr\":[4,0,1,0,1,6,0,0,5,0,0],\"usnews.com\":[61,1,2,2,0,12,0,0,13,0,3],\"reliableintl.in\":[0,0,0,0,0,3,0,0,1,0,0],\"zoom.com\":[6,1,1,1,0,10,0,0,8,0,4],\"hatenablog.com\":[21,1,0,1,0,16,1,0,4,3,3],\"chorus-pro.gouv.fr\":[0,0,0,0,1,3,0,0,0,0,0],\"paycomonline.net\":[0,1,0,1,0,3,0,0,2,0,3],\"decathlon.de\":[10,1,1,4,0,5,1,0,2,0,4],\"2ch.org\":[2,1,0,1,1,4,0,0,2,1,0],\"boundhub.com\":[2,0,0,1,1,3,0,2,1,0,0],\"texas.gov\":[4,1,0,2,0,12,0,0,4,1,2],\"dnb.no\":[1,1,0,2,0,3,0,0,2,0,1],\"amazon.jobs\":[7,1,0,2,0,7,0,0,5,1,3],\"hollywoodreporter.com\":[102,4,4,2,0,10,2,0,19,4,3],\"trulia.com\":[16,0,1,0,0,6,0,0,4,1,5],\"livedoor.biz\":[14,1,0,0,0,8,1,0,7,4,0],\"lanouvellerepublique.fr\":[26,0,1,0,1,7,1,0,6,2,1],\"swift4claim.com\":[7,0,0,1,0,7,1,1,3,0,0],\"hentai-sharing.net\":[2,0,0,1,0,4,0,0,3,1,0],\"framer.com\":[8,1,1,0,0,9,0,0,3,2,2],\"vrmodels.store\":[3,1,0,1,0,6,1,0,2,1,0],\"adevarul.ro\":[45,1,1,0,0,7,0,0,1,2,0],\"rakuten-card.co.jp\":[18,0,0,1,0,4,0,0,5,0,0],\"freecycle.org\":[25,0,1,1,0,6,1,0,1,0,0],\"hamusoku.com\":[34,1,0,0,0,10,1,0,2,4,0],\"manhwa-raw.com\":[0,0,0,0,0,3,0,1,1,0,0],\"lavozdegalicia.es\":[13,1,1,0,0,3,0,0,1,0,1],\"decathlon.pl\":[21,1,1,3,0,4,2,0,4,0,2],\"morningstar.com\":[14,1,1,2,0,8,0,0,9,1,1],\"zurnal24.si\":[62,1,1,2,1,12,0,0,4,3,2],\"wickes.co.uk\":[15,0,1,4,0,10,0,0,3,3,7],\"flashscore.de\":[18,0,1,0,1,2,1,0,3,0,1],\"eki-net.com\":[15,0,0,2,0,4,0,0,5,1,2],\"abv.bg\":[30,0,0,1,0,4,1,0,3,0,0],\"avclub.com\":[43,1,4,2,0,6,0,0,6,2,1],\"topsrs.day\":[3,0,0,0,1,5,1,0,2,0,0],\"strato.de\":[5,0,0,5,1,5,0,0,3,1,0],\"fontanka.ru\":[10,0,0,2,1,3,2,0,6,2,1],\"bd.nl\":[13,1,0,2,0,5,2,0,2,2,1],\"lowcygier.pl\":[5,1,2,1,0,4,0,0,2,1,0],\"tomatomtl.com\":[2,0,0,0,0,6,1,0,2,0,0],\"grabcad.com\":[7,0,0,1,0,4,0,0,1,0,2],\"pdfcoffee.com\":[4,0,0,1,1,5,0,0,2,0,0],\"desire2learn.com\":[3,1,0,2,0,12,0,0,4,0,1],\"copart.com\":[9,0,1,0,0,5,0,0,5,0,1],\"leagueofcomicgeeks.com\":[37,0,0,2,0,7,1,0,4,0,0],\"sisal.it\":[8,0,1,1,1,8,0,0,6,0,1],\"goodfon.ru\":[3,0,0,1,1,0,0,0,2,0,0],\"publix.com\":[5,1,1,1,0,5,0,0,0,0,3],\"yesporn.vip\":[1,0,0,1,0,3,0,2,2,0,0],\"victoriassecret.com\":[9,0,1,3,0,3,1,0,4,1,3],\"gong.io\":[11,1,1,2,0,3,2,0,12,0,3],\"gapfactory.com\":[10,0,1,3,0,3,0,0,8,1,5],\"baddiehub.com\":[1,1,0,0,0,4,0,2,1,0,0],\"zalando.dk\":[5,0,1,0,0,2,1,0,1,0,1],\"leroymerlin.pl\":[12,1,1,2,0,4,2,0,7,1,0],\"laprovence.com\":[60,2,1,1,1,5,0,0,4,2,2],\"telus.com\":[13,1,1,0,0,6,0,0,6,2,3],\"girlswithmuscle.com\":[1,0,0,0,1,1,0,0,2,0,0],\"bakusai.com\":[5,0,0,0,0,4,0,0,3,2,0],\"insanejournal.com\":[2,0,0,0,0,5,1,0,1,3,1],\"piraeusbank.gr\":[3,1,1,0,1,5,0,0,0,0,2],\"bnf.fr\":[2,1,0,0,1,6,0,0,1,1,0],\"digi24.ro\":[10,2,1,0,0,5,0,0,2,2,1],\"lucid.app\":[2,0,1,0,0,4,0,0,1,1,3],\"questionablecontent.net\":[17,0,0,2,0,3,1,0,5,0,0],\"livescore.in\":[16,0,1,0,1,1,1,0,2,0,0],\"euro2day.gr\":[7,0,0,2,1,4,0,0,3,3,1],\"pentapostagma.gr\":[33,2,1,2,0,6,0,0,5,2,2],\"kisskh.co\":[2,1,0,0,0,7,3,0,3,2,1],\"unimelb.edu.au\":[3,1,0,2,0,11,0,0,8,0,3],\"metro.co.uk\":[31,1,0,0,0,5,1,0,6,4,0],\"praxis.nl\":[5,1,1,3,0,6,0,0,3,2,2],\"diy.com\":[12,0,2,3,0,6,1,0,9,1,6],\"krakenfiles.com\":[2,0,0,1,1,5,0,0,2,0,0],\"okcupid.com\":[9,0,1,0,0,2,0,0,2,0,0],\"tracfone.com\":[9,1,0,2,0,8,0,0,8,2,4],\"gry-online.pl\":[7,1,1,0,0,4,1,0,2,2,0],\"bunshun.jp\":[54,1,0,0,0,7,0,0,7,2,1],\"auto.ru\":[3,0,0,0,1,1,0,0,3,0,0],\"investopedia.com\":[34,1,2,2,0,9,1,0,7,0,0],\"otakudesu.blog\":[4,1,0,0,0,6,1,0,4,0,0],\"nfon.com\":[0,0,0,0,0,0,0,0,0,0,1],\"sutterhealth.org\":[2,0,1,1,0,3,0,0,1,0,2],\"cdromance.org\":[4,1,0,2,0,4,0,0,2,0,0],\"japanpost.jp\":[3,0,0,1,0,3,1,0,2,0,2],\"imgflip.com\":[34,0,1,3,0,3,1,0,6,0,2],\"libgen.la\":[0,0,0,0,0,3,0,0,1,0,0],\"backpack.tf\":[2,1,0,0,0,5,0,0,1,0,0],\"transunion.com\":[7,0,1,3,0,4,0,0,8,0,3],\"plemiona.pl\":[1,0,0,0,0,1,1,0,0,0,1],\"boingboing.net\":[78,2,3,3,0,8,2,0,11,1,2],\"latamairlines.com\":[33,1,0,3,1,4,1,0,9,2,4],\"bamboohr.com\":[9,0,1,0,0,2,1,0,9,1,2],\"tkmaxx.com\":[3,0,1,1,0,3,1,0,4,0,1],\"usersdrive.com\":[4,1,0,1,1,7,0,0,1,0,1],\"knowbe4.com\":[3,1,1,2,0,9,0,0,4,0,4],\"marokko.nl\":[2,0,1,0,0,2,0,0,0,0,0],\"rtings.com\":[17,1,0,1,0,7,0,0,1,0,2],\"hentaiheroes.com\":[3,0,0,1,0,6,0,2,0,0,2],\"stevehoffman.tv\":[6,1,0,0,1,8,2,0,3,3,2],\"turboimagehost.com\":[1,0,0,1,1,6,0,1,2,0,0],\"alohatube.com\":[1,0,0,1,0,4,0,2,2,0,0],\"tencent.com\":[4,0,0,1,0,4,2,0,0,0,1],\"topcinemaa.com\":[4,0,0,0,1,8,1,0,4,0,1],\"harimanga.me\":[5,0,0,0,0,2,0,0,2,1,0],\"mercadolibre.com.uy\":[8,0,0,0,1,3,0,0,2,0,1],\"caplogistics.com\":[0,0,0,0,0,3,0,0,0,0,0],\"15min.lt\":[41,1,2,2,1,11,0,0,6,4,3],\"interactivtrading.com\":[2,2,0,2,0,4,0,0,0,0,1],\"autossimo.com\":[1,0,1,1,0,5,0,0,3,0,1],\"comss.ru\":[4,0,0,1,1,3,0,0,2,2,0],\"staples.com\":[26,1,3,4,0,5,0,0,8,1,6],\"punishworld.com\":[2,0,0,1,1,3,0,1,1,0,0],\"mywconline.com\":[0,0,0,0,0,0,0,0,0,0,0],\"loc.gov\":[1,0,0,1,0,7,0,0,0,0,1],\"commsec.com.au\":[3,2,0,0,0,0,1,0,3,0,1],\"gogoanime.by\":[4,2,0,1,0,5,0,0,2,0,1],\"roliascan.com\":[1,0,0,2,1,6,0,0,3,2,0],\"frdl.hk\":[1,0,0,1,1,5,0,0,1,0,1],\"1337xx.to\":[1,0,0,1,1,5,1,0,2,0,0],\"majorgeeks.com\":[8,1,0,3,1,5,0,0,1,0,1],\"rds.ca\":[20,0,1,0,0,9,0,0,7,5,0],\"lolalytics.com\":[14,0,0,1,0,2,1,0,1,0,0],\"umich.edu\":[8,1,1,2,0,14,0,0,12,3,4],\"cgd.pt\":[3,0,1,3,0,3,0,0,2,0,0],\"emgcloud.net\":[0,0,0,1,0,6,1,0,1,1,0],\"alphapolis.co.jp\":[18,0,0,0,0,7,0,0,3,3,0],\"skyscanner.it\":[33,1,0,0,1,6,0,0,4,1,4],\"bloomberght.com\":[10,0,0,0,0,4,0,0,2,0,0],\"reserved.com\":[15,0,1,1,1,4,1,0,8,1,2],\"sportsurge.net\":[0,0,0,0,0,3,0,0,1,0,0],\"ltn.com.tw\":[26,2,0,0,0,7,0,0,8,5,1],\"taleo.net\":[4,0,1,1,0,5,2,0,2,1,2],\"rona.ca\":[39,2,1,6,0,5,1,0,13,2,4],\"logmein.com\":[1,0,1,1,0,5,0,0,8,0,2],\"prydwen.gg\":[61,1,1,4,1,5,2,0,6,1,0],\"mangahere.cc\":[5,0,0,0,1,4,0,0,2,0,0],\"listcrawler.eu\":[0,0,0,0,0,3,0,0,2,0,0],\"lindependant.fr\":[37,0,1,0,1,7,0,0,6,0,1],\"taichung.gov.tw\":[2,0,0,0,0,1,0,0,1,0,0],\"stackadapt.com\":[14,1,3,4,0,9,1,0,11,2,4],\"filmpalast.to\":[3,0,0,0,0,2,0,0,1,0,0],\"auspost.com.au\":[8,1,0,1,0,3,0,0,7,0,2],\"x.ai\":[4,0,1,3,1,5,0,0,1,0,0],\"annas-archive.gd\":[0,0,0,1,1,3,0,0,0,0,0],\"google.ru\":[5,1,0,0,1,4,0,0,1,0,0],\"acm.org\":[2,1,1,4,0,7,0,0,7,1,1],\"ucf.edu\":[3,1,0,1,0,11,0,0,6,2,2],\"airbnb.de\":[8,0,0,2,0,5,0,0,2,1,3],\"aptivada.com\":[5,0,0,1,0,2,0,0,1,2,1],\"eldorado.gg\":[11,0,0,2,0,8,0,0,5,1,3],\"telenet.be\":[8,0,1,4,0,9,1,0,4,0,1],\"analvids.com\":[2,0,0,1,0,4,0,0,2,2,0],\"vgen.co\":[3,1,0,2,0,5,0,0,1,0,1],\"filespayouts.com\":[1,0,0,1,1,5,0,0,2,0,0],\"ebsco.com\":[2,1,1,0,0,4,0,0,4,0,1],\"progressive.com\":[5,1,0,1,0,5,0,0,6,0,1],\"wallpaperflare.com\":[2,0,0,1,1,4,0,0,2,0,0],\"pearsonvue.com\":[5,1,1,2,0,6,1,0,2,0,1],\"tgtube.com\":[1,0,0,0,1,2,0,0,1,0,0],\"philibertnet.com\":[6,1,1,2,1,5,0,0,3,0,2],\"binotel.ua\":[4,0,0,0,0,2,0,0,0,0,0],\"lis-skins.com\":[3,0,0,1,1,5,0,0,3,0,0],\"vipr.im\":[1,0,0,0,0,4,0,0,2,0,0],\"servicenow.com\":[15,4,2,3,0,9,3,0,11,1,2],\"seg-social.gob.es\":[1,0,0,1,1,3,0,0,3,0,0],\"eurekaddl.art\":[2,0,0,0,1,6,2,0,2,1,0],\"detroitnews.com\":[53,1,3,1,0,4,0,0,9,2,0],\"columbia.edu\":[4,2,0,3,0,17,0,0,6,1,4],\"screwfix.com\":[12,2,2,3,0,7,0,0,5,2,5],\"9news.com.au\":[24,2,0,1,0,8,2,0,5,3,0],\"pngtree.com\":[7,0,0,1,1,7,0,0,3,0,2],\"2ix2.com\":[2,1,0,0,0,0,0,0,3,1,0],\"goo-net.com\":[13,0,0,2,1,7,1,0,7,3,1],\"thefap.net\":[2,2,0,1,1,5,0,3,4,2,1],\"jalopnik.com\":[54,1,1,3,0,5,1,0,5,4,0],\"audible.de\":[12,0,1,0,1,4,1,0,2,2,0],\"kemkes.go.id\":[2,0,0,1,0,6,1,0,2,0,2],\"drivethrurpg.com\":[3,1,0,3,0,9,0,0,5,3,2],\"blackbaud.com\":[3,0,0,2,0,8,0,0,4,0,2],\"pokemonshowdown.com\":[28,1,0,2,1,6,2,0,3,0,0],\"mongodb.com\":[9,2,1,3,0,8,0,0,6,1,5],\"healthsafe-id.com\":[1,0,0,1,0,3,0,0,2,0,3],\"dikgames.com\":[3,1,0,1,1,5,1,0,3,0,0],\"antigravity.google\":[3,1,0,1,1,6,0,0,1,0,1],\"thothub.to\":[1,1,0,1,1,3,0,0,2,0,1],\"marmiton.org\":[63,1,3,2,1,9,0,0,6,2,2],\"wccftech.com\":[5,1,1,2,0,6,0,0,1,2,1],\"lidl.nl\":[21,1,1,3,0,3,0,0,3,0,0],\"kraken.com\":[5,0,1,2,0,5,1,0,2,0,3],\"ixbt.com\":[9,1,0,1,1,5,1,0,3,1,0],\"bonprix.de\":[27,1,0,1,1,5,0,0,2,1,1],\"bifinance.com\":[0,0,0,0,0,2,0,0,2,0,0],\"realbooru.com\":[2,0,0,0,0,4,0,0,2,0,0],\"inara.cz\":[8,0,0,1,1,3,0,0,2,0,0],\"themafiaboss.com\":[1,0,0,0,0,1,0,0,0,0,0],\"ufile.ca\":[9,0,1,0,1,3,0,0,2,0,0],\"naftemporiki.gr\":[7,3,0,1,1,8,0,0,3,2,1],\"businessinsider.com.pl\":[53,1,0,2,0,5,1,0,6,2,2],\"bestbuy.ca\":[11,1,1,2,0,6,1,0,10,0,3],\"emol.com\":[4,1,0,0,1,4,0,0,1,4,0],\"connexion-mabanque.bnpparibas\":[0,0,1,0,1,2,0,0,2,0,2],\"heygen.com\":[9,2,0,4,1,10,0,0,6,2,3],\"ole.com.ar\":[15,1,0,0,0,5,0,0,5,3,1],\"climkit.io\":[2,0,0,0,0,6,0,0,0,1,0],\"livescores.com\":[3,0,1,0,0,1,0,0,1,0,0],\"super.cz\":[14,1,0,0,0,7,0,0,3,3,0],\"bit.ly\":[5,1,0,1,1,5,0,0,2,0,0],\"lephoceen.fr\":[61,0,1,2,1,4,2,0,4,2,1],\"windowscentral.com\":[4,2,1,0,0,3,0,0,3,2,0],\"metservice.com\":[25,1,0,0,0,5,1,0,3,0,1],\"topwar.ru\":[3,0,0,2,1,3,0,0,2,2,0],\"bunkr.si\":[0,0,0,0,1,3,0,0,1,0,0],\"cell.com\":[4,1,2,1,0,5,0,0,6,1,1],\"thepiratebay.party\":[1,0,0,0,0,2,0,0,1,0,0],\"smbc-card.com\":[27,1,0,0,0,5,0,0,6,1,1],\"hotmart.com\":[8,2,0,2,1,10,0,0,5,1,4],\"bazar.bg\":[6,0,1,0,0,3,0,0,1,0,1],\"zhibo8.com\":[2,0,0,0,0,0,1,0,1,0,0],\"open.ac.uk\":[4,1,0,0,0,6,0,0,4,0,2],\"alfalfalfa.com\":[20,1,0,0,1,6,1,0,5,2,0],\"oregonstate.edu\":[7,2,2,2,0,11,0,0,7,1,0],\"vistaprint.com\":[41,2,0,3,0,10,0,0,9,2,5],\"nsandi.com\":[0,0,0,0,0,4,0,0,4,0,0],\"mtb.com\":[3,0,1,0,0,2,0,0,4,0,0],\"nordvpn.com\":[4,1,0,2,1,7,0,0,1,0,2],\"newsnow.com\":[8,0,0,1,0,5,0,0,0,0,2],\"linkvertise.com\":[6,2,1,3,1,9,0,0,2,0,3],\"ivfree.asia\":[6,1,0,1,0,7,1,1,4,0,1],\"time.gov\":[1,1,0,0,0,1,0,0,2,0,0],\"aade.gr\":[2,1,0,1,1,7,0,0,1,0,4],\"dpd.de\":[14,0,0,1,0,4,0,0,2,0,2],\"axiom.trade\":[2,1,0,1,0,6,0,0,3,2,2],\"xhamster3.com\":[1,0,0,1,0,5,0,2,1,0,1],\"natwest.com\":[6,1,1,1,0,3,0,0,4,1,4],\"netlify.app\":[4,1,0,1,0,11,0,0,1,0,2],\"hema.nl\":[28,1,1,2,0,7,0,0,4,0,1],\"spitogatos.gr\":[6,0,1,1,1,7,0,0,4,1,2],\"adkami.com\":[8,2,0,2,1,7,0,1,3,0,0],\"snahp.eu\":[0,0,0,0,0,8,2,0,2,1,0],\"heavy-r.com\":[2,0,0,1,0,6,0,3,2,0,1],\"corsair.com\":[10,1,1,1,0,16,0,0,10,1,6],\"jestful.net\":[0,0,0,1,0,6,2,0,0,0,0],\"fernsehserien.de\":[68,2,1,0,0,5,1,0,5,0,0],\"milanuncios.com\":[36,1,1,3,0,7,0,0,3,0,3],\"staseraintv.com\":[5,1,0,0,1,5,0,0,1,2,1],\"llbean.com\":[38,2,0,3,0,4,0,0,12,2,4],\"porn4fans.com\":[1,0,0,0,0,3,0,1,2,0,0],\"turkishairlines.com\":[12,1,0,2,1,12,1,0,10,1,3],\"rsload.net\":[0,0,0,2,1,3,0,0,2,1,0],\"vestiairecollective.com\":[28,1,0,3,0,5,0,0,5,1,7],\"bunkr.site\":[0,0,0,0,1,3,0,0,1,0,0],\"tim.it\":[59,0,1,1,1,7,0,0,6,0,3],\"isthereanydeal.com\":[1,2,0,0,1,2,0,0,0,0,0],\"disboard.org\":[4,0,0,1,1,3,0,0,1,0,0],\"goindigo.in\":[17,1,0,0,0,6,1,0,3,1,4],\"autohome.com.cn\":[1,0,0,1,0,2,1,0,0,0,0],\"elcorreo.com\":[71,2,2,2,1,6,0,0,6,3,2],\"jennymovies.com\":[1,0,0,1,0,5,0,1,2,0,0],\"polsatnews.pl\":[18,1,1,0,1,6,0,0,2,3,0],\"stubhub.com\":[6,3,0,2,0,7,0,0,1,0,5],\"finya.de\":[25,0,0,0,1,5,0,0,0,0,0],\"iex.nl\":[29,0,1,0,0,7,0,0,2,2,2],\"getyourguide.com\":[11,1,1,1,0,6,0,0,3,0,5],\"wco.tv\":[41,0,0,0,0,5,0,0,3,0,0],\"news18.com\":[22,1,0,1,0,10,0,0,6,3,3],\"turkinform.com.tr\":[2,0,0,0,1,2,0,0,3,2,1],\"adam4adam.com\":[4,0,0,0,0,4,0,0,1,0,1],\"seeking.com\":[8,0,0,0,0,6,0,0,4,1,5],\"hotair.com\":[52,1,0,2,0,6,0,0,7,2,2],\"miles-and-more.com\":[5,0,1,0,0,3,0,0,5,0,1],\"realgm.com\":[25,1,0,0,0,7,2,0,3,3,1],\"michelin.com\":[10,0,1,2,0,9,0,0,8,0,6],\"transfermarkt.com.tr\":[33,1,1,0,1,8,0,0,2,0,2],\"clip-studio.com\":[7,1,0,3,0,9,0,0,3,1,1],\"beebom.com\":[29,1,1,2,0,8,1,0,6,1,1],\"adultfriendfinder.com\":[5,2,0,0,1,7,0,0,1,0,0],\"urbansportsclub.com\":[21,1,2,3,0,9,0,0,7,2,3],\"gamerant.com\":[50,1,2,2,0,9,1,0,5,2,1],\"promiedos.com.ar\":[4,1,0,0,0,2,0,0,1,0,0],\"conforama.fr\":[10,0,1,2,0,6,1,0,6,1,5],\"perfectworld.com\":[3,1,0,0,1,3,0,0,2,0,0],\"citizensadvice.org.uk\":[1,0,0,0,0,3,0,0,0,0,0],\"zappos.com\":[9,1,0,2,0,6,1,0,1,0,1],\"chefkoch.de\":[50,1,2,0,0,4,3,0,4,0,1],\"neowin.net\":[9,1,1,1,0,11,0,0,1,3,3],\"just-eat.co.uk\":[10,0,1,5,0,10,0,0,8,0,5],\"ibb.co\":[0,0,0,0,1,8,0,0,0,0,0],\"1001fonts.com\":[40,0,1,1,1,4,0,0,2,2,0],\"patch.com\":[76,0,1,1,0,7,0,0,9,3,1],\"make.com\":[8,1,1,1,0,8,0,0,3,1,4],\"pageuppeople.com\":[1,0,0,1,0,5,1,0,4,1,1],\"gala.fr\":[62,1,2,0,1,6,0,0,6,4,0],\"hentai-foundry.com\":[2,0,0,0,0,5,0,0,1,0,0],\"fanatical.com\":[6,1,0,2,1,11,0,0,2,0,4],\"servethehome.com\":[5,1,0,0,0,6,0,0,2,0,1],\"zbporn.com\":[1,0,0,1,1,3,0,2,2,0,0],\"kalshi.com\":[11,2,0,3,0,9,0,0,6,4,2],\"uchicago.edu\":[5,1,0,1,0,15,0,0,7,4,3],\"net.hr\":[22,1,1,2,0,11,1,0,4,4,1],\"eventim.de\":[8,0,2,2,0,4,0,0,4,0,2],\"vintagestory.at\":[2,1,0,5,0,8,1,0,1,2,0],\"pivigames.blog\":[5,1,0,0,1,7,0,0,4,1,0],\"tcdb.com\":[15,1,0,0,0,7,1,0,2,1,0],\"doctolib.de\":[0,0,1,2,1,5,0,0,0,0,3],\"medicare.gov\":[6,1,0,1,0,3,0,0,6,0,0],\"ticket-onlineshop.com\":[3,0,2,0,0,2,0,0,1,0,1],\"tomsguide.com\":[69,2,2,2,0,7,1,0,8,4,0],\"python.org\":[1,0,0,3,1,5,0,0,0,0,0],\"sunlife.com\":[6,0,0,0,0,3,0,0,1,0,1],\"airbnb.ca\":[8,0,0,2,0,6,0,0,3,1,3],\"cultura.com\":[12,1,0,1,1,6,1,0,7,1,2],\"novel543.com\":[5,0,0,1,1,3,1,0,2,2,0],\"masters.com\":[4,1,0,0,0,4,0,0,2,1,1],\"camsoda.com\":[2,1,0,0,1,2,0,1,3,0,2],\"byd.com\":[9,0,1,1,1,6,1,0,5,0,1],\"voetbalzone.nl\":[83,2,0,3,0,8,2,0,9,4,2],\"kaufland.cz\":[3,0,1,1,0,1,0,0,0,0,1],\"z.ai\":[7,1,0,2,1,5,2,0,3,1,1],\"nate.com\":[22,1,0,1,0,7,0,0,1,0,0],\"welib.org\":[1,0,0,1,1,4,0,0,2,0,0],\"amiami.com\":[3,1,0,0,1,4,0,0,1,0,0],\"domain.com.au\":[33,1,0,0,1,10,0,0,9,1,2],\"zoominfo.com\":[10,0,1,1,0,9,1,0,6,0,6],\"wikihow.com\":[25,1,0,2,0,7,1,0,2,1,2],\"mondialrelay.fr\":[12,0,2,4,1,7,0,0,8,1,0],\"kinogo.ec\":[3,1,0,0,1,6,0,0,2,0,0],\"tuttosport.com\":[96,3,2,4,1,5,0,0,10,1,1],\"fameex.com\":[0,0,0,0,0,2,0,0,1,0,0],\"clideo.com\":[2,1,0,1,1,4,0,0,1,0,1],\"tf1info.fr\":[64,1,0,0,1,6,0,0,5,0,3],\"but.fr\":[31,2,1,0,0,10,1,0,4,1,2],\"nps.gov\":[4,1,0,0,0,6,0,0,3,0,2],\"thalia.de\":[10,0,1,1,0,5,0,0,5,1,0],\"bepis.moe\":[1,0,0,1,1,6,0,0,2,0,0],\"pornxp.io\":[1,0,0,0,0,1,0,0,0,0,0],\"xataka.com\":[67,2,2,1,1,7,2,0,7,2,1],\"epsilonsoft.to\":[0,0,0,1,0,4,0,0,1,0,0],\"powerautomate.com\":[0,0,0,2,0,2,4,0,0,0,1],\"zalando-lounge.pl\":[6,0,1,1,0,2,1,0,0,0,2],\"finewineandgoodspirits.com\":[12,2,0,2,0,4,0,0,5,1,1],\"tubesafari.com\":[1,0,0,1,1,5,2,4,1,0,0],\"xtb.com\":[5,1,0,3,0,4,1,0,3,0,1],\"landsend.com\":[41,1,1,3,0,8,0,0,7,2,7],\"efsyn.gr\":[27,2,1,1,0,10,0,0,2,2,2],\"ndr.de\":[1,0,0,0,1,4,0,0,0,0,0],\"tabootube.xxx\":[2,0,0,0,1,4,0,1,1,0,0],\"vinted.gr\":[3,0,1,0,0,2,0,0,0,0,0],\"ovagames.com\":[3,0,0,1,0,4,1,0,2,1,0],\"rtve.es\":[7,0,1,0,1,7,0,0,5,2,1],\"multporn.net\":[0,0,0,0,0,2,0,0,0,2,0],\"hgtv.com\":[77,3,3,2,0,10,1,0,11,1,5],\"thriftbooks.com\":[29,1,1,2,0,6,1,0,6,2,3],\"pmu.fr\":[7,0,1,1,1,6,0,0,5,0,1],\"bethesda.net\":[3,1,2,3,0,10,1,0,4,0,3],\"totalenergies.fr\":[9,0,0,1,1,5,0,0,10,2,1],\"sina.com.cn\":[3,0,0,0,0,2,0,0,2,0,0],\"videocelebs.net\":[1,0,0,2,1,5,0,1,1,0,0],\"bloomerang.co\":[2,1,0,2,0,8,0,0,2,0,1],\"gayteam.club\":[4,0,0,1,0,7,0,2,3,0,0],\"postimg.cc\":[1,0,0,0,1,8,0,0,0,0,0],\"swedbank.ee\":[1,0,0,0,0,2,0,0,2,0,0],\"politico.eu\":[15,0,0,1,0,7,0,0,3,0,1],\"proshop.dk\":[6,1,1,2,0,3,1,0,2,0,0],\"google.be\":[4,1,0,0,0,4,0,0,0,0,0],\"fmhy.net\":[0,0,0,1,0,2,0,0,1,0,0],\"boosty.to\":[3,1,0,1,1,5,0,0,3,2,0],\"redhat.com\":[8,1,1,4,0,10,0,0,7,0,2],\"memsource.com\":[1,0,0,0,0,2,0,0,2,0,2],\"remixshop.com\":[25,1,0,1,1,2,0,0,2,1,2],\"allporncomix.com\":[0,0,0,1,0,4,1,0,1,0,0],\"auth0.com\":[2,0,1,3,0,11,0,0,8,1,6],\"snhu.edu\":[3,1,0,1,0,8,0,0,4,0,0],\"cumcams.cc\":[0,0,0,0,0,3,0,0,1,0,0],\"imbx.io\":[0,0,0,0,0,2,0,0,1,0,0],\"replit.com\":[5,2,0,2,0,8,0,0,3,1,5],\"ohio.gov\":[4,1,0,3,0,11,0,0,4,0,3],\"leetify.com\":[4,1,0,1,0,5,0,0,2,0,0],\"solitar.io\":[5,0,1,1,1,4,1,0,2,0,1],\"msftconnecttest.com\":[2,0,0,0,1,3,2,0,0,0,0],\"consorsbank.de\":[3,0,0,0,1,3,0,0,0,0,1],\"gsis.gr\":[0,0,0,1,1,5,0,0,0,0,0],\"etoro.com\":[12,1,1,2,1,12,0,0,8,2,3],\"btse.com\":[0,0,0,0,0,2,0,0,1,0,0],\"nextdoor.co.uk\":[10,0,2,1,0,6,0,0,1,0,3],\"fmovies.gd\":[0,0,0,0,0,4,3,0,1,0,0],\"rogers.com\":[13,1,1,1,0,6,0,0,14,4,4],\"roomraccoon.com\":[1,0,0,1,0,6,0,0,2,0,4],\"lalibre.be\":[79,0,2,3,0,9,1,0,9,3,4],\"streameast.ga\":[5,3,0,0,0,7,0,0,2,1,1],\"gate.cc\":[2,0,0,0,1,3,0,2,2,0,0],\"subsplease.org\":[1,0,0,1,1,3,0,0,2,0,0],\"z-lib.sk\":[0,0,0,2,0,3,0,0,0,0,0],\"fishki.net\":[15,1,0,1,1,6,1,0,4,5,0],\"01net.com\":[28,1,0,1,1,8,0,0,3,4,0],\"cloudbate.com\":[1,0,0,1,1,3,0,0,2,0,0],\"chsi.com.cn\":[2,0,0,0,0,1,1,0,1,0,0],\"tango.me\":[7,0,1,2,0,4,0,0,3,3,2],\"gohighlevel.com\":[5,1,1,3,0,12,0,0,6,1,6],\"tfl.gov.uk\":[12,0,1,1,0,4,0,0,1,0,2],\"backlog.jp\":[1,1,0,1,0,5,0,0,3,0,0],\"nitrado.net\":[6,0,1,1,1,3,0,0,4,0,1],\"megaup.net\":[3,0,0,1,0,4,0,1,1,0,0],\"treasurydirect.gov\":[2,0,0,1,0,3,0,0,2,0,1],\"dunelm.com\":[26,2,1,4,0,4,0,0,4,1,5],\"eurostar.com\":[8,0,1,2,0,5,0,0,3,1,4],\"priceline.com\":[46,1,1,1,0,5,2,0,6,2,6],\"multiplayer.it\":[36,4,0,2,1,7,1,0,3,3,0],\"larazon.es\":[74,2,1,2,0,8,0,0,7,1,0],\"zaobao.com\":[6,0,0,0,0,2,0,0,4,1,0],\"deutschepost.de\":[5,0,1,2,0,6,0,0,1,0,2],\"seesaawiki.jp\":[8,1,0,0,0,8,0,1,2,3,0],\"oddsportal.com\":[2,0,1,0,1,3,1,0,0,0,0],\"versus.com\":[12,1,0,2,0,6,1,0,2,1,1],\"kareo.com\":[1,0,0,3,0,7,0,0,7,0,2],\"e-food.gr\":[6,0,0,1,1,5,0,0,4,1,3],\"elamigosgamez.net\":[4,1,0,2,1,4,0,0,3,0,0],\"2ip.ru\":[4,0,0,0,1,2,0,0,2,3,0],\"yesmovies.ag\":[2,1,0,0,0,6,1,0,1,0,1],\"freeones.com\":[2,0,0,1,1,4,0,0,0,0,0],\"xda-developers.com\":[53,1,2,2,0,6,1,0,5,1,0],\"pahe.ink\":[3,1,0,0,1,5,0,0,2,1,1],\"castorama.fr\":[18,1,2,3,1,7,1,0,4,1,3],\"amazon.dev\":[2,0,0,0,0,5,0,0,2,0,1],\"kimi.com\":[6,1,0,1,1,6,2,0,3,0,1],\"nutaku.net\":[2,0,0,1,1,8,0,2,3,0,2],\"91porn.com\":[1,0,0,1,0,4,0,0,2,0,0],\"ntv.com.tr\":[29,1,1,0,1,6,0,0,3,0,0],\"river.go.jp\":[1,0,0,0,0,3,0,0,0,0,0],\"ontvtime.ru\":[5,0,0,1,0,3,0,0,4,2,0],\"alltricks.fr\":[20,2,1,4,0,9,0,0,7,0,1],\"happyfappy.net\":[0,1,0,0,0,1,0,0,1,0,0],\"ibood.com\":[23,2,1,1,0,5,0,0,3,0,0],\"wikiloc.com\":[6,0,0,1,1,6,0,0,1,0,1],\"bloomingdales.com\":[43,1,1,5,0,6,0,0,11,1,3],\"psa.wf\":[2,1,0,0,0,6,0,0,2,1,1],\"ycombinator.com\":[6,1,0,1,0,10,1,0,4,2,7],\"dotloop.com\":[2,0,0,0,0,4,0,0,3,0,1],\"tripadvisor.co.uk\":[9,0,1,1,1,4,1,0,2,0,2],\"wisc.edu\":[7,2,0,1,0,15,0,0,11,2,2],\"weather.gc.ca\":[2,0,0,0,0,2,0,0,1,0,0],\"pbtech.co.nz\":[7,1,0,0,0,5,0,0,4,0,3],\"vesselfinder.com\":[35,0,0,2,1,7,1,0,1,0,0],\"estrepublicain.fr\":[51,1,1,0,0,8,0,0,6,0,4],\"getjobber.com\":[7,0,1,2,1,9,0,0,6,0,4],\"badoo.com\":[8,0,0,0,0,3,0,0,1,0,1],\"deezer.com\":[10,0,1,1,0,9,0,0,4,0,2],\"bill.com\":[4,1,1,2,0,8,0,0,11,0,5],\"prtimes.jp\":[10,1,0,0,0,5,0,0,4,2,1],\"calculatorsoup.com\":[89,3,2,2,0,8,1,0,7,0,0],\"sankei.com\":[52,1,0,0,0,9,1,0,9,1,2],\"shonenjumpplus.com\":[19,1,0,1,1,6,1,0,4,3,1],\"foodnetwork.com\":[68,2,3,2,0,11,1,0,12,1,5],\"twstalker.com\":[3,0,0,1,0,5,0,0,1,1,0],\"fab.com\":[0,0,1,1,1,5,0,0,0,0,2],\"nyu.edu\":[8,2,1,3,0,13,0,0,8,0,2],\"clasohlson.com\":[8,1,0,2,0,5,0,0,3,1,2],\"novelcrow.com\":[1,0,0,1,1,4,0,1,3,1,0],\"equifax.com\":[6,1,1,0,0,5,0,0,7,1,5],\"doubao.com\":[2,0,0,0,0,2,0,0,0,0,0],\"moppy.jp\":[70,1,1,0,0,4,0,0,10,1,1],\"pa.gov\":[5,1,0,1,0,8,1,0,5,0,3],\"creditonebank.com\":[6,0,0,2,0,3,1,0,1,0,2],\"digitec.ch\":[6,1,0,0,1,5,0,0,2,1,1],\"oxaam.com\":[2,0,0,0,1,3,0,0,2,0,0],\"ocado.com\":[13,1,1,2,0,5,1,0,11,1,4],\"softpedia.com\":[9,1,1,2,0,4,0,0,1,0,1],\"eorzeacollection.com\":[12,0,0,2,0,3,1,0,4,0,0],\"meraki.com\":[2,0,1,0,0,6,0,0,4,0,4],\"venmo.com\":[2,0,0,1,0,4,0,0,3,1,3],\"pajak.go.id\":[3,1,0,0,1,5,0,0,1,1,0],\"htsport.ws\":[17,0,0,0,0,9,0,0,3,1,0],\"runescape.com\":[7,1,2,1,0,10,0,0,4,2,0],\"online-convert.com\":[7,0,0,1,1,5,0,0,0,0,1],\"nautiljon.com\":[13,1,1,0,1,6,0,0,1,0,0],\"revzilla.com\":[7,1,1,5,0,6,0,0,7,2,4],\"engie.fr\":[10,1,0,1,1,5,0,0,5,1,3],\"upenn.edu\":[5,2,0,1,0,13,0,0,10,0,1],\"supporthost.com\":[0,0,0,0,0,0,0,0,1,1,0],\"onvista.de\":[41,1,2,2,0,5,0,0,3,0,1],\"www.nhs.uk\":[2,1,0,0,1,3,1,0,4,0,2],\"max.ru\":[0,0,0,0,1,3,0,0,1,1,0],\"rtl.de\":[55,3,2,2,1,9,3,0,12,3,1],\"roku.com\":[5,1,0,2,0,4,0,0,3,0,2],\"onecall2ch.com\":[14,1,0,0,0,7,0,0,4,3,0],\"bankinter.com\":[13,1,1,0,0,5,0,0,2,0,1],\"xvideos3.com\":[1,0,0,0,1,2,1,0,0,0,0],\"homes.co.jp\":[34,0,0,1,0,10,0,0,6,2,1],\"bold.dk\":[23,1,1,2,0,6,1,0,4,2,1],\"jigidi.com\":[9,0,0,1,0,4,0,0,1,0,0],\"primewire.zip\":[6,2,0,0,0,8,1,0,4,0,0],\"fap-nation.com\":[6,1,0,1,0,5,0,0,3,1,0],\"mackolik.com\":[41,0,1,0,1,9,0,0,6,2,1],\"kemenag.go.id\":[4,1,0,1,0,9,1,0,1,0,0],\"alicesw.com\":[1,0,0,2,1,2,0,0,2,0,0],\"bling.com.br\":[3,0,0,1,1,7,0,0,4,0,1],\"ipv64.net\":[2,0,0,1,0,2,0,0,0,0,0],\"7news.com.au\":[16,3,0,0,0,4,1,0,7,2,2],\"mircrew-releases.org\":[2,1,0,1,1,6,2,0,2,1,0],\"google.dev\":[2,1,0,0,0,8,0,0,1,0,0],\"prothomalo.com\":[9,1,1,1,0,8,0,0,3,2,2],\"express.dhl\":[2,0,1,0,0,3,0,0,4,0,1],\"dialed.gg\":[4,0,0,1,0,4,0,0,1,0,0],\"the-saleroom.com\":[3,0,1,2,0,7,0,0,2,0,1],\"annunci69.it\":[2,2,0,0,1,6,0,0,2,0,1],\"rte-france.com\":[0,0,0,0,0,3,0,0,0,0,0],\"anydesk.com\":[2,1,1,2,1,7,0,0,3,0,3],\"wappalyzer.com\":[3,0,0,3,0,4,0,0,1,0,2],\"sehuatang.org\":[0,0,0,1,0,3,0,0,2,0,0],\"ipsosinteractive.com\":[1,0,0,0,1,4,0,0,2,0,1],\"joemygod.com\":[39,1,2,4,0,9,1,0,8,3,2],\"annas-archive.pk\":[0,0,0,1,1,4,0,0,0,0,0],\"tagesanzeiger.ch\":[21,1,2,1,0,5,0,0,5,3,3],\"streamelements.com\":[5,3,0,2,1,6,0,0,4,2,2],\"rezka.fi\":[3,1,0,0,1,5,0,0,3,2,0],\"tiava.com\":[1,0,0,0,1,2,0,0,1,0,0],\"alza.hu\":[10,1,0,0,1,8,0,0,5,1,2],\"biconomy.com\":[1,0,0,1,0,3,0,0,2,0,1],\"flashscore.ro\":[20,0,1,0,0,5,1,0,3,2,1],\"sorozat-barat.info\":[17,0,1,0,0,3,0,0,3,2,0],\"ettoday.net\":[24,1,1,0,1,8,0,0,3,4,1],\"pipedrive.com\":[5,0,1,1,0,6,2,0,4,1,5],\"ee.co.uk\":[9,1,1,1,0,6,0,0,4,2,5],\"zola.com\":[10,0,0,4,0,11,0,0,4,2,7],\"geizhals.at\":[4,0,1,0,1,5,0,0,0,0,0],\"cengage.com\":[2,2,1,2,0,6,0,0,4,0,3],\"magazineluiza.com.br\":[31,3,1,0,1,6,1,0,8,2,3],\"advfn.com\":[31,2,1,2,0,12,0,0,4,2,1],\"alternate.de\":[6,0,1,3,1,3,0,0,3,2,1],\"erogarga.com\":[2,2,0,1,0,6,1,0,2,1,0],\"gamefactory.jp\":[13,0,0,0,0,3,0,0,2,0,0],\"etre-naturiste.com\":[1,0,0,0,0,2,0,0,1,0,0],\"wayground.com\":[6,1,0,2,0,10,0,0,3,0,2],\"lassuranceretraite.fr\":[1,1,0,0,1,3,0,0,1,2,1],\"mopo.de\":[75,1,1,4,0,6,1,0,6,3,2],\"tilda.ru\":[1,0,0,0,1,4,0,0,1,0,0],\"clustrmaps.com\":[1,0,0,0,0,6,0,0,0,0,0],\"ddd-smart.net\":[1,0,0,0,1,4,0,0,2,0,0],\"gmu.edu\":[3,2,1,1,0,8,2,0,5,1,0],\"parismatch.com\":[41,1,1,0,1,7,0,0,4,3,2],\"beck.de\":[0,0,1,0,0,0,0,0,2,0,0],\"questdiagnostics.com\":[2,0,1,0,0,7,1,0,6,0,3],\"cinecalidad.am\":[2,0,0,1,0,6,1,0,1,0,0],\"uindex.org\":[2,1,0,0,1,7,0,0,2,0,0],\"car.gr\":[12,1,1,0,1,6,0,0,3,0,3],\"shop-apotheke.com\":[10,0,2,2,1,5,0,0,1,0,2],\"thegearpage.net\":[5,1,0,1,0,5,1,0,2,1,0],\"linux.do\":[1,0,0,2,1,5,0,0,1,0,1],\"85po.com\":[1,0,0,1,1,4,0,1,2,0,0],\"totalwine.com\":[15,1,1,4,0,5,0,0,5,1,4],\"erothots1.com\":[5,0,0,1,1,5,1,1,2,1,0],\"harborfreight.com\":[9,1,1,1,0,6,1,0,5,1,4],\"oikotie.fi\":[16,1,0,2,0,4,0,0,0,1,0],\"irishtimes.com\":[17,1,1,0,0,6,0,0,6,2,0],\"kajabi.com\":[6,2,0,2,0,8,0,0,9,1,3],\"quickclaims.nl\":[0,0,0,0,0,4,0,0,1,0,0],\"vik1ngfile.site\":[2,1,0,1,0,6,0,0,2,0,1],\"goofish.com\":[2,0,0,1,0,4,1,0,0,0,0],\"p-bandai.jp\":[11,1,1,2,0,9,1,0,7,3,1],\"bnc.ca\":[4,0,1,1,1,3,0,0,3,0,4],\"teepublic.com\":[4,0,1,1,0,6,1,0,2,0,2],\"programme-television.org\":[59,0,1,0,1,3,1,0,4,0,0],\"ifixit.com\":[9,1,0,3,0,8,0,0,4,1,2],\"flashscore.pt\":[13,0,1,0,0,2,1,0,4,0,0],\"khanacademy.org\":[5,1,1,1,0,6,1,0,2,0,2],\"adverts.ie\":[25,0,1,0,0,7,0,0,1,0,0],\"gov.hu\":[4,1,1,1,1,7,1,0,1,0,1],\"caixabank.es\":[12,2,0,1,1,4,1,0,5,0,0],\"findmypast.co.uk\":[3,0,1,2,0,8,0,0,1,0,2],\"jigsawexplorer.com\":[35,1,2,0,0,4,0,0,4,0,0],\"jetblue.com\":[12,0,1,0,0,4,0,0,7,1,5],\"pluto.tv\":[48,3,1,0,0,7,0,0,8,1,2],\"allegro.hu\":[5,0,0,0,1,3,0,0,1,0,2],\"zone-telechargement.org\":[1,0,0,0,0,4,2,0,2,0,0],\"getmodsapk.com\":[1,0,0,1,0,4,0,0,2,0,0],\"sprintax.com\":[3,0,2,4,0,5,0,0,2,0,0],\"lobstertube.com\":[1,0,1,1,0,3,0,0,1,0,0],\"regions.com\":[6,0,0,1,0,3,0,0,4,0,3],\"amplify.com\":[2,0,0,1,0,7,0,0,1,0,1],\"ox.ac.uk\":[6,1,3,2,0,12,0,0,6,1,3],\"rippling.com\":[1,1,1,0,0,8,0,0,4,0,7],\"thothd.com\":[0,0,0,1,1,4,0,0,1,0,0],\"in.gov\":[3,0,0,3,0,8,1,0,4,0,5],\"one.com\":[8,1,2,3,1,7,0,0,6,1,1],\"perthnow.com.au\":[12,3,1,1,0,4,1,0,5,2,4],\"xnxx-ru.com\":[1,0,0,0,1,2,0,0,0,0,0],\"proxyvote.com\":[2,0,0,0,0,2,0,0,2,0,0],\"trojmiasto.pl\":[13,1,1,1,0,7,0,0,3,0,1],\"tvgids.nl\":[8,0,0,1,0,4,0,0,3,0,1],\"invoicecloud.com\":[2,1,0,1,0,7,0,0,3,0,1],\"lihkg.com\":[9,1,0,0,0,6,0,0,3,3,0],\"mandarake.co.jp\":[3,0,0,1,0,5,0,0,2,0,0],\"code.org\":[4,1,1,1,0,4,1,0,1,1,1],\"fearlessrevolution.com\":[4,1,0,1,1,6,1,0,3,0,0],\"dm5.com\":[5,0,0,0,1,1,1,0,2,0,0],\"evojav.pro\":[4,1,0,1,0,7,0,0,3,0,0],\"nzbplanet.net\":[0,0,0,0,0,6,0,0,1,0,0],\"alienwarearena.com\":[14,3,1,0,1,8,0,0,6,2,2],\"webtoon.xyz\":[0,0,0,1,0,3,0,0,0,1,0],\"1und1.de\":[21,1,0,2,1,5,2,0,6,1,4],\"bbva.es\":[5,0,1,0,0,3,0,0,4,0,1],\"purpleport.com\":[0,0,0,0,0,2,0,0,0,0,1],\"userbenchmark.com\":[5,1,0,1,0,5,0,0,1,1,0],\"roshy.tv\":[8,1,0,1,1,9,0,0,3,0,0],\"notfans.com\":[0,0,0,0,1,1,0,0,2,0,0],\"bumble.com\":[8,0,0,0,0,2,0,0,4,1,1],\"dreamwidth.org\":[3,1,1,0,0,3,1,0,3,3,2],\"visir.is\":[6,1,1,2,0,11,0,0,6,3,0],\"jetstar.com\":[16,0,0,2,1,4,1,0,4,1,6],\"collaboflow.com\":[0,0,0,0,0,0,0,0,1,0,0],\"biblehub.com\":[23,1,0,0,0,6,0,0,3,0,0],\"vymanga.com\":[2,0,0,1,1,1,1,0,2,0,0],\"bolsamania.com\":[72,0,1,2,0,4,0,0,5,1,1],\"wahapedia.ru\":[20,1,0,0,0,8,0,0,4,1,1],\"ourdream.ai\":[6,0,0,1,1,3,0,2,0,0,3],\"npo.nl\":[1,1,0,0,0,6,0,0,0,0,1],\"kurir.rs\":[11,1,2,0,1,8,1,0,4,3,1],\"sex.com\":[2,0,0,1,1,5,0,0,1,0,1],\"levitylive.com\":[1,0,0,0,0,3,0,0,1,0,0],\"wayfair.com\":[26,1,0,6,0,6,1,0,11,3,10],\"money.pl\":[113,1,2,3,0,7,1,0,9,0,1],\"wolfmax4k.com\":[3,0,0,0,1,2,0,0,2,0,0],\"wg-gesucht.de\":[6,0,1,3,0,3,0,0,0,0,1],\"emag.bg\":[8,0,0,2,0,9,0,0,2,1,2],\"todocoleccion.net\":[4,0,1,0,1,3,0,0,2,0,0],\"animeheaven.me\":[1,0,0,1,1,4,0,0,1,0,0],\"ceek.jp\":[4,0,0,0,0,2,0,0,1,0,0],\"pockettactics.com\":[22,1,1,0,0,5,1,0,1,0,0],\"dedeman.ro\":[5,1,0,1,0,4,0,0,3,0,0],\"kaa.lt\":[2,0,0,1,1,5,0,0,2,0,0],\"asd.pics\":[5,2,0,0,1,8,0,0,4,0,0],\"olx.bg\":[24,0,1,1,1,6,2,0,4,0,2],\"raidbots.com\":[0,0,0,0,0,3,0,0,0,0,2],\"tporn.xxx\":[1,0,0,1,0,5,0,1,1,0,0],\"paychex.com\":[10,1,0,0,0,8,0,0,8,1,4],\"kompas.com\":[44,1,0,1,1,9,0,0,8,1,1],\"mturk.com\":[1,0,0,1,0,8,1,0,3,0,0],\"ns.nl\":[7,1,1,1,0,5,0,0,4,2,4],\"pixilart.com\":[2,1,0,0,0,4,0,0,0,0,0],\"ollama.com\":[4,1,0,3,1,9,0,0,2,0,4],\"manganato.gg\":[1,0,0,0,0,6,0,0,2,0,0],\"qwant.com\":[3,1,1,0,1,5,1,0,1,0,0],\"kakao.com\":[2,0,0,2,0,4,0,0,2,0,1],\"amiami.jp\":[23,1,0,1,1,6,0,0,2,0,0],\"bleacherreport.com\":[49,3,2,1,0,9,1,0,6,2,1],\"bandsintown.com\":[38,0,2,4,0,10,3,0,7,0,2],\"istreameast.app\":[3,1,0,0,0,7,0,0,1,1,1],\"olx.pt\":[38,0,1,2,0,6,2,0,5,0,2],\"pjmedia.com\":[63,1,1,2,0,6,0,0,7,4,2],\"modsfire.com\":[43,0,2,3,1,7,1,0,4,1,0],\"porkbun.com\":[7,0,0,3,0,5,0,0,2,1,2],\"uworld.com\":[3,0,0,1,0,8,1,0,4,0,2],\"incendar.com\":[18,0,1,1,0,3,0,0,1,0,0],\"rabobank.nl\":[8,1,0,2,0,4,0,0,4,1,0],\"weibo.cn\":[2,0,0,1,0,3,0,0,0,0,0],\"javboys.tv\":[5,0,0,1,1,7,1,1,3,0,0],\"protonvpn.com\":[1,1,0,2,1,6,0,0,1,0,2],\"zus.pl\":[2,0,0,1,0,3,0,0,1,0,0],\"javneon.tv\":[3,1,0,0,1,7,0,0,2,0,0],\"backloggd.com\":[28,0,1,2,1,5,1,0,3,0,0],\"stockx.com\":[37,4,2,6,0,9,0,0,8,0,4],\"streamex.sh\":[3,1,0,0,0,10,1,0,5,0,1],\"wuxiabox.com\":[1,0,0,1,0,4,1,0,1,0,0],\"digitalspy.com\":[12,0,1,0,0,6,0,0,4,0,2],\"mapy.com\":[10,0,0,0,0,3,1,0,1,0,0],\"china-scooter.ru\":[2,0,0,1,0,0,0,0,0,0,0],\"lastpass.com\":[11,1,2,5,1,8,0,0,2,1,4],\"johnpyeauctions.co.uk\":[6,0,0,1,1,2,0,0,2,0,1],\"rmf24.pl\":[34,2,0,1,0,8,1,0,4,2,0],\"finansavisen.no\":[37,0,1,2,0,5,3,0,4,0,1],\"playhop.com\":[16,1,0,0,1,5,3,0,4,0,0],\"smbc-comics.com\":[48,0,2,1,0,6,1,0,5,0,0],\"pdftoshokan.com\":[0,0,0,0,0,6,0,2,1,0,0],\"cs.money\":[10,1,0,2,1,6,0,0,2,2,0],\"romeo.com\":[1,0,0,0,0,3,0,0,4,0,2],\"basketusa.com\":[12,1,1,1,0,7,1,0,4,3,0],\"mos.ru\":[1,0,0,0,1,2,0,0,1,2,0],\"crushon.ai\":[4,0,0,2,0,4,1,0,2,0,1],\"gupy.io\":[7,1,1,3,1,6,0,0,6,0,1],\"movieffm.net\":[1,1,0,0,1,5,2,0,1,0,0],\"match.com\":[13,0,1,0,1,2,0,0,4,1,1],\"marapets.com\":[4,0,0,0,0,2,0,0,0,0,0],\"cas.sk\":[24,2,2,2,0,7,0,0,5,0,2],\"carexpert.com.au\":[8,2,0,1,0,3,0,0,3,0,1],\"anime.nexus\":[1,0,0,0,0,2,0,0,3,0,0],\"cardinaltrusted.com\":[1,0,0,0,0,4,1,0,2,0,4],\"sklum.com\":[7,0,1,6,0,8,0,0,5,0,4],\"nomura.co.jp\":[3,1,0,0,0,3,0,0,2,0,1],\"heraldsun.com.au\":[57,1,1,2,0,11,2,0,14,3,3],\"hollisterco.com\":[10,0,1,4,0,3,1,0,10,1,5],\"javmost.ws\":[5,1,0,1,1,8,0,1,3,0,0],\"myer.com.au\":[28,1,0,3,0,6,0,0,7,1,1],\"midwayusa.com\":[31,3,0,1,0,3,0,0,4,3,3],\"odysee.com\":[4,0,1,0,1,3,1,0,1,0,0],\"hirkereso.hu\":[4,0,0,0,1,1,0,0,1,0,0],\"pixeldrain.com\":[2,0,0,1,1,3,0,0,2,0,0],\"ingramcontent.com\":[2,1,1,2,0,4,0,0,1,0,0],\"rome2rio.com\":[18,0,0,1,1,7,1,0,5,1,3],\"nudogram.com\":[1,0,0,2,1,4,0,0,2,0,1],\"apollo.io\":[6,1,2,5,0,10,0,0,5,0,2],\"ema.md\":[1,0,0,1,0,3,0,0,1,0,0],\"shodan.io\":[0,0,0,1,0,5,0,0,1,0,0],\"adac.de\":[3,0,1,1,1,6,0,0,4,0,2],\"stitch.withgoogle.com\":[4,1,0,0,0,7,0,0,1,0,0],\"synology.com\":[7,1,0,3,1,5,0,0,4,1,0],\"technical.city\":[25,1,0,4,1,4,0,0,1,0,1],\"refdesk.com\":[6,0,0,0,0,2,0,0,1,0,0],\"dolarhoy.com\":[7,1,0,0,0,4,0,0,1,0,1],\"kino-teatr.ru\":[6,0,0,1,1,2,1,0,3,1,0],\"delo.si\":[8,1,2,4,0,5,0,0,5,3,0],\"paymentus.com\":[2,0,0,1,0,5,0,0,2,0,0],\"change.org\":[7,1,0,3,1,5,0,0,4,0,4],\"payoneer.com\":[8,1,1,1,0,5,0,0,6,0,5],\"elotrolado.net\":[22,1,1,0,1,7,2,0,2,3,0],\"superuser.com\":[5,0,1,1,0,8,0,0,1,2,1],\"jav-noni.net\":[7,3,0,2,0,7,0,0,2,0,1],\"shafa.ua\":[9,0,0,0,0,1,0,0,0,0,1],\"xing.com\":[14,1,1,2,0,3,0,0,1,1,0],\"bike24.de\":[9,1,0,3,0,5,0,0,2,0,0],\"mingky03.net\":[1,0,0,0,0,3,0,0,1,0,0],\"ithome.com\":[1,0,0,0,1,2,3,0,1,0,0],\"d2jsp.org\":[2,1,0,0,1,5,1,0,2,2,0],\"amazon.sg\":[10,0,0,0,0,5,0,0,1,0,0],\"irctc.co.in\":[10,1,0,1,0,6,0,0,5,0,0],\"parcelsapp.com\":[29,0,0,1,1,6,0,0,4,0,0],\"rarbggo.to\":[1,0,0,1,1,5,1,0,1,0,0],\"viewdns.info\":[1,0,0,0,0,2,0,0,1,0,0],\"vccs.edu\":[3,1,0,3,0,10,0,0,6,0,2],\"cloud.sap\":[0,0,1,0,0,4,0,0,1,0,0],\"newsbomb.gr\":[21,2,1,1,1,5,0,0,2,3,0],\"gencat.cat\":[3,1,0,2,1,9,0,0,5,2,4],\"manuals.plus\":[49,0,0,2,1,9,1,0,5,0,1],\"padlet.com\":[2,1,0,0,1,7,1,0,1,0,3],\"zive.cz\":[35,1,1,0,0,10,1,0,0,2,2],\"hotcopper.com.au\":[43,2,1,1,1,6,2,0,6,0,0],\"welcometothejungle.com\":[6,2,2,3,0,7,0,0,5,0,4],\"sportinglife.com\":[4,1,1,1,0,4,0,0,2,2,1],\"milled.com\":[2,0,0,0,0,5,0,0,3,1,0],\"schooltool.com\":[0,0,0,0,0,5,0,0,0,0,0],\"testbook.com\":[27,0,0,1,0,8,0,0,5,2,1],\"afr.com\":[23,2,0,3,0,8,2,0,12,3,2],\"themirror.com\":[56,1,2,1,0,4,0,0,10,3,3],\"webflow.io\":[6,3,3,3,0,9,0,0,6,1,7],\"tineye.com\":[1,0,0,0,0,4,0,0,1,0,0],\"fril.jp\":[38,1,0,1,0,6,1,0,6,2,2],\"hdencode.org\":[0,0,0,0,0,4,0,0,1,1,0],\"directv.com\":[23,1,1,1,0,7,0,0,13,5,3],\"webmd.com\":[27,0,3,0,0,10,0,0,6,3,2],\"kbb.com\":[52,2,1,2,0,9,2,0,14,2,5],\"thenounproject.com\":[4,0,0,2,0,4,0,0,3,0,3],\"filmfreeway.com\":[5,2,0,3,1,8,1,0,4,1,3],\"duck.ai\":[0,0,0,0,1,2,0,0,0,0,0],\"joyreactor.cc\":[4,1,0,1,1,4,0,0,2,0,0],\"anz.com\":[4,0,0,2,0,1,0,0,2,0,1],\"brainshare.pl\":[5,1,0,0,0,3,0,0,2,0,0],\"simfileshare.net\":[22,0,1,3,0,4,1,0,1,0,0],\"dev.to\":[3,3,0,1,0,9,0,0,2,2,1],\"superdispatch.com\":[1,0,0,1,0,5,0,0,3,0,2],\"streamrecorder.io\":[2,1,0,1,0,4,0,0,2,0,0],\"thomsonreuters.com\":[6,1,1,1,0,4,0,0,8,2,5],\"koreus.com\":[4,1,0,0,1,6,1,0,1,0,0],\"tibia.com\":[2,1,0,0,0,3,0,0,0,0,0],\"telepolis.de\":[34,0,0,1,0,5,0,0,6,0,0],\"networksolutions.com\":[13,0,1,1,0,8,0,0,8,3,4],\"gladly.io\":[132,3,4,3,0,13,2,0,14,2,3],\"thestar.com\":[40,1,1,1,0,11,1,0,5,4,3],\"makeuseof.com\":[91,1,4,4,0,10,2,0,10,1,3],\"streameast.gl\":[4,1,0,0,0,8,0,0,1,1,0],\"dayforcehcm.com\":[1,0,1,0,0,5,1,0,0,1,4],\"talknote.com\":[7,0,0,0,0,4,0,0,2,0,0],\"dorasuta.jp\":[1,0,0,0,0,3,0,0,1,0,0],\"hdfull.love\":[4,0,0,0,0,5,0,0,3,0,1],\"theflixertv.to\":[5,2,0,0,1,9,0,0,2,0,0],\"posfie.com\":[8,1,0,0,0,6,0,0,1,2,0],\"principal.com\":[3,1,1,2,0,3,0,0,5,0,0],\"uci.edu\":[4,1,0,1,0,13,0,0,6,1,2],\"tomtom.com\":[4,1,0,3,0,8,0,0,3,0,3],\"globes.co.il\":[12,0,0,0,0,6,0,0,6,1,2],\"sport.ua\":[5,1,0,0,0,4,0,0,3,3,1],\"ssrn.com\":[2,0,1,0,0,6,0,0,5,0,2],\"socpublic.com\":[3,0,0,1,1,4,0,0,1,1,0],\"notthebee.com\":[10,2,0,0,0,7,0,0,3,3,1],\"deepdreamgenerator.com\":[2,0,1,0,0,4,0,0,2,0,0],\"sdamgia.ru\":[2,0,0,0,1,2,1,0,3,2,0],\"scoalarutiera.ro\":[5,0,0,1,0,4,0,0,2,0,1],\"theobjective.com\":[22,1,1,1,1,5,0,0,3,3,2],\"patriots.win\":[4,1,0,0,0,5,0,0,2,2,0],\"wunderweib.de\":[19,3,0,1,0,8,2,0,4,0,0],\"malwarebytes.com\":[5,0,1,3,0,10,0,0,8,1,4],\"rozed.fun\":[2,1,0,0,0,4,0,0,1,0,1],\"tjx.com\":[9,0,1,3,0,3,0,0,4,0,5],\"zalando.se\":[6,0,1,1,0,3,1,0,1,0,1],\"manomano.fr\":[12,1,1,1,1,7,0,0,4,1,4],\"ledger.com\":[12,1,1,1,0,12,0,0,9,2,7],\"adultdvdempire.com\":[1,1,0,0,0,2,0,0,0,0,0],\"arenascan.com\":[2,0,0,0,0,3,0,0,2,0,0],\"stoiximan.gr\":[9,0,1,1,1,8,0,0,4,0,1],\"svd.se\":[21,1,0,1,0,6,2,0,3,0,1],\"signin.aws\":[0,0,0,0,0,4,1,0,1,0,0],\"zona-leros.com\":[5,2,0,2,0,7,0,0,3,1,0],\"mobygames.com\":[3,3,0,0,0,2,1,0,1,0,1],\"juntadeandalucia.es\":[3,1,0,1,1,12,0,0,3,1,0],\"charlestyrwhitt.com\":[9,1,1,3,0,6,0,0,8,1,4],\"filmarks.com\":[20,2,0,0,0,6,0,0,3,1,0],\"sportal.bg\":[22,2,1,0,0,8,0,0,2,4,3],\"metasrc.com\":[32,1,1,2,1,9,1,0,2,0,0],\"hoka.com\":[15,2,1,5,0,9,0,0,14,3,6],\"android.com\":[5,1,0,0,0,8,0,0,1,0,1],\"hanimeone.me\":[2,0,0,0,0,5,1,1,2,1,1],\"kiabi.com\":[11,0,0,3,1,4,1,0,3,1,5],\"gleam.io\":[6,2,0,1,0,9,0,0,4,6,1],\"scnlog.me\":[1,0,0,0,0,2,1,0,2,0,0],\"snapinsta.to\":[5,0,0,1,1,4,0,0,0,0,1],\"fxggxt.com\":[6,1,0,1,1,7,0,1,2,1,0],\"hianime.dk\":[3,1,0,1,0,8,0,0,2,0,1],\"origo.hu\":[32,1,1,1,0,7,0,0,3,3,0],\"fakt.pl\":[73,1,0,1,0,10,1,0,6,3,2],\"rlsbb.in\":[1,0,0,0,0,2,0,0,3,0,0],\"auntmia.com\":[1,0,0,0,1,2,0,1,1,0,1],\"luluvdo.com\":[5,0,0,2,1,5,0,0,2,0,1],\"3bmeteo.com\":[94,0,1,2,1,5,0,0,7,0,2],\"tapology.com\":[13,1,0,0,0,4,0,0,3,0,0],\"pennylane.com\":[2,1,1,2,0,5,0,0,3,0,3],\"signupgenius.com\":[81,1,5,7,0,12,1,0,14,2,3],\"thepiratebay0.org\":[1,0,0,0,0,3,0,0,1,0,0],\"clien.net\":[6,1,0,1,1,5,0,0,0,3,0],\"seg-social.pt\":[2,0,0,1,1,4,0,0,1,0,0],\"auctionninja.com\":[7,0,1,1,0,4,0,0,5,0,0],\"psychologytoday.com\":[5,1,2,2,0,7,0,0,0,0,3],\"gulfnews.com\":[38,1,0,0,0,4,0,0,4,2,1],\"newalbumreleases.net\":[4,1,0,1,0,5,0,0,1,0,0],\"tube8.com\":[1,0,0,1,0,4,2,3,1,0,0],\"9news.com\":[65,1,4,1,0,6,0,0,8,2,2],\"myabandonware.com\":[15,0,1,1,0,4,0,0,1,0,0],\"app.netlify.com\":[6,0,2,4,0,6,0,0,6,1,4],\"webuy.com\":[3,0,1,1,0,4,0,0,2,0,2],\"belk.com\":[14,0,0,3,0,5,0,0,10,1,6],\"ig.com\":[19,1,1,4,0,8,0,0,8,2,1],\"salesforce-setup.com\":[1,0,0,0,0,1,0,0,1,0,1],\"bigfooty.com\":[33,1,0,1,0,9,1,0,1,4,0],\"51cg1.com\":[3,0,0,1,1,3,0,0,2,1,0],\"uh.edu\":[2,1,0,1,0,10,0,0,5,1,1],\"iol.pt\":[12,3,0,2,1,10,0,0,4,3,3],\"x3dl.net\":[4,0,0,0,0,4,0,0,2,0,0],\"bookwalker.jp\":[12,0,1,1,0,7,1,0,3,3,0],\"manoramaonline.com\":[10,1,0,0,1,7,0,0,3,3,2],\"blackmagicdesign.com\":[4,2,0,3,0,7,0,0,4,1,1],\"holy.com\":[10,0,1,3,1,8,0,1,6,1,3],\"healthline.com\":[32,2,2,2,0,7,2,0,8,2,0],\"neoseeker.com\":[11,1,1,1,0,8,1,0,2,3,0],\"torrid.com\":[41,1,1,3,0,7,0,0,10,1,6],\"sol.no\":[3,1,1,2,0,5,0,0,2,0,0],\"indianexpress.com\":[21,1,0,1,0,9,0,0,6,5,2],\"arenaxt.com\":[3,1,0,0,0,3,0,0,0,0,0],\"8muses.com\":[0,0,0,1,0,5,0,0,1,0,0],\"jyllands-posten.dk\":[15,0,1,0,0,4,0,0,1,2,1],\"accessacloud.com\":[1,1,0,1,0,5,0,0,1,0,2],\"hentaiforce.net\":[0,0,0,1,1,4,0,1,0,0,0],\"picrew.me\":[42,1,0,1,0,6,1,0,8,0,0],\"feishu.cn\":[4,0,0,0,0,2,3,0,1,0,0],\"wikifeet.com\":[17,1,0,1,1,3,0,0,1,0,0],\"meteomedia.com\":[48,2,1,0,1,5,0,0,4,0,1],\"xhopen.com\":[1,0,0,1,0,6,0,2,1,0,1],\"cathaypacific.com\":[18,1,1,0,0,7,0,0,6,0,5],\"pinkbike.com\":[35,2,2,0,0,6,0,0,5,1,0],\"oe24.at\":[62,0,0,2,1,7,0,0,5,3,2],\"ddanzi.com\":[4,1,0,0,0,4,0,0,1,0,0],\"cbr.com\":[62,1,4,1,0,9,0,0,5,3,1],\"multiversity.click\":[2,0,0,1,1,6,0,0,2,0,0],\"5e.tools\":[17,0,1,2,0,3,0,0,3,0,0],\"filejoker.net\":[1,0,0,1,1,3,0,0,2,0,0],\"jizzbunker.com\":[1,0,0,0,1,5,1,3,3,0,0],\"ncl.com\":[14,1,1,2,0,7,0,0,6,1,3],\"camelcamelcamel.com\":[22,0,0,1,0,5,1,0,1,0,0],\"digisport.ro\":[11,2,1,1,0,4,0,0,2,2,2],\"wargaming.net\":[8,1,1,2,1,4,0,0,2,0,0],\"parool.nl\":[25,1,0,3,0,6,1,0,2,0,1],\"brico.be\":[6,1,1,3,1,7,0,0,3,1,2],\"kathimerini.gr\":[15,1,0,3,0,10,0,0,6,2,3],\"clever-tanken.de\":[10,0,0,0,1,5,0,0,1,2,0],\"pimpandhost.com\":[3,1,0,1,0,5,0,0,1,1,0],\"trekbikes.com\":[14,2,1,3,0,8,1,0,3,0,1],\"cinemark.com\":[8,1,1,4,0,10,0,0,8,0,6],\"manhwa-latino.com\":[1,0,0,0,0,3,0,1,1,0,0],\"maryland.gov\":[5,1,0,3,0,11,0,0,8,1,3],\"leolist.cc\":[1,1,0,0,0,4,0,0,2,0,1],\"matomeantena.com\":[3,0,0,0,1,2,0,0,1,0,0],\"blitz.bg\":[20,1,0,0,0,6,0,0,2,2,3],\"lexicanum.com\":[32,1,0,2,0,8,1,0,2,0,0],\"justanswer.com\":[23,0,1,2,0,5,0,0,5,1,1],\"cnnbrasil.com.br\":[33,1,0,0,1,9,1,0,8,3,3],\"ground.news\":[8,0,1,1,0,9,0,0,3,2,1],\"hdfull.org\":[5,1,0,1,1,6,0,0,3,0,1],\"uquiz.com\":[5,0,0,1,0,4,0,0,2,3,0],\"novelpia.com\":[51,1,0,2,0,8,0,0,4,2,1],\"lewdgames.to\":[1,0,0,1,1,3,0,1,2,1,0],\"52pojie.cn\":[1,0,0,0,1,1,0,0,1,0,1],\"neocities.org\":[3,1,0,3,0,15,1,0,4,1,1],\"thetvdb.com\":[58,1,0,2,1,8,1,0,3,0,1],\"bz-berlin.de\":[48,0,2,2,1,7,3,0,5,3,0],\"bilbasen.dk\":[23,1,0,1,0,6,0,0,2,0,1],\"playvids.com\":[2,0,0,1,0,4,0,2,1,0,0],\"clash.gg\":[4,1,1,0,0,8,0,0,1,0,2],\"wlp-acs.com\":[1,0,0,1,1,4,0,0,0,0,0],\"blikk.hu\":[60,2,1,2,0,6,1,0,7,1,3],\"chronopost.fr\":[9,0,1,0,1,4,0,0,4,0,1],\"deloitte.com\":[5,2,2,1,0,9,5,0,6,0,4],\"holywarsoo.net\":[3,1,0,0,1,3,1,0,2,3,0],\"labcorp.com\":[4,1,1,3,0,10,0,0,4,0,4],\"ziggo.nl\":[12,1,1,3,0,7,0,0,5,2,1],\"infowars.com\":[3,1,0,0,0,8,0,0,2,3,0],\"radiofrance.fr\":[19,1,1,0,1,7,1,0,2,0,1],\"toutiao.com\":[2,0,0,0,0,0,1,0,2,0,0],\"nuuvem.com\":[25,2,0,0,1,6,0,0,3,2,2],\"ziare.com\":[26,1,1,0,0,8,0,0,4,2,1],\"kwejk.pl\":[30,0,1,2,0,4,1,0,3,0,0],\"toonily.com\":[3,0,0,0,1,9,0,0,2,1,0],\"donedeal.ie\":[27,2,1,0,1,5,0,0,4,0,0],\"se.com\":[11,1,1,2,0,11,0,0,9,1,2],\"webmotors.com.br\":[35,3,0,1,1,7,1,0,9,0,3],\"accenture.com\":[7,1,1,4,0,10,5,0,2,0,4],\"pimeyes.com\":[9,0,1,0,1,4,0,0,6,1,0],\"bookoff.co.jp\":[29,1,0,0,1,5,1,0,1,2,1],\"animesaturn.cx\":[5,2,0,0,1,7,0,0,1,0,0],\"mangaforfree.com\":[1,0,0,0,0,3,0,0,1,0,0],\"ucl.ac.uk\":[8,1,0,0,0,11,0,0,7,3,2],\"razer.com\":[15,1,1,2,1,9,2,0,11,2,3],\"raisin.com\":[9,0,2,2,0,6,0,0,9,1,3],\"notion.com\":[11,1,1,2,0,8,0,0,7,1,3],\"audience.io\":[2,0,0,1,0,2,0,0,2,2,1],\"lse.co.uk\":[36,0,2,0,0,8,0,0,4,0,0],\"gannettcontests.com\":[3,1,1,0,0,3,0,0,0,2,0],\"lazada.sg\":[5,0,0,1,1,3,1,0,0,0,1],\"caixa.gov.br\":[9,1,0,0,1,4,1,0,2,0,0],\"cadenaser.com\":[62,2,3,1,0,10,1,0,4,2,3],\"straitstimes.com\":[30,2,0,0,0,10,1,0,9,3,2],\"goguardian.com\":[5,1,1,4,0,8,0,0,5,0,3],\"mangas-origines.fr\":[3,1,0,0,0,3,0,0,1,1,0],\"plurk.com\":[20,1,0,1,1,6,1,0,2,2,1],\"songsterr.com\":[18,1,0,0,0,8,0,0,0,0,1],\"espacejeux.com\":[6,0,0,1,0,6,0,0,3,1,0],\"solitalian.it\":[2,0,1,0,1,4,0,0,1,0,1],\"imot.bg\":[8,1,1,1,0,5,0,0,2,0,0],\"tirerack.com\":[8,0,0,2,0,6,0,0,6,0,6],\"taxact.com\":[11,0,1,3,0,6,0,0,5,2,7],\"ucoin.net\":[2,0,0,0,0,2,0,0,1,0,0],\"schwabinstitutional.com\":[4,0,0,1,0,2,0,0,2,0,2],\"vsco.co\":[11,0,2,1,0,7,1,0,5,0,0],\"xxbrits.com\":[2,0,0,1,0,5,0,2,2,0,0],\"stgeorge.com.au\":[9,1,0,1,0,1,0,0,2,0,1],\"assettoworld.com\":[23,0,1,2,1,6,1,0,3,0,0],\"seatgeek.com\":[20,1,1,4,0,7,1,0,7,1,6],\"saashr.com\":[0,0,0,0,0,3,0,0,0,0,0],\"highspot.com\":[10,0,1,1,0,5,1,0,4,0,3],\"outreach.io\":[12,0,1,1,0,7,2,0,7,1,4],\"societe.com\":[35,0,1,2,1,5,1,0,2,0,0],\"matome-plus.com\":[0,0,0,0,0,1,0,0,0,0,0],\"sponichi.co.jp\":[22,0,0,0,0,6,1,0,5,0,1],\"numista.com\":[22,0,1,2,0,7,1,0,1,0,1],\"seeflix.to\":[5,2,0,0,0,7,1,0,2,1,0],\"gemini.google\":[6,1,0,1,1,5,0,0,1,0,0],\"bancolombia.com\":[9,1,0,3,1,7,1,0,9,0,3],\"uefa.com\":[7,1,1,0,1,5,0,0,3,0,3],\"mxtoolbox.com\":[6,0,1,4,0,8,0,0,5,0,0],\"hochi.news\":[44,1,1,1,0,5,1,0,4,3,1],\"sport.pl\":[46,1,1,1,0,5,1,0,5,2,1],\"ceskatelevize.cz\":[9,1,0,0,0,7,0,0,3,2,1],\"decathlon.es\":[16,1,1,5,1,5,1,0,4,1,2],\"boozt.com\":[11,0,1,4,0,4,0,0,5,1,2],\"ratemyprofessors.com\":[94,3,3,3,0,8,1,0,9,0,1],\"bancobpm.it\":[5,0,0,2,1,2,0,0,1,0,0],\"sport.de\":[30,2,0,0,0,8,2,0,5,2,1],\"sciquest.com\":[1,0,0,0,0,6,0,0,2,1,1],\"chosun.com\":[34,1,0,2,0,9,0,0,9,1,1],\"pussyspace.com\":[2,0,0,2,1,3,1,2,1,0,0],\"dofuspourlesnoobs.com\":[42,1,1,3,0,7,2,0,3,0,0],\"boursier.com\":[2,0,1,0,0,2,1,0,2,0,0],\"trafficimage.club\":[0,0,0,0,0,1,0,1,0,0,0],\"archidekt.com\":[22,0,1,1,0,6,1,0,2,0,0],\"ticketmaster.co.uk\":[14,2,1,2,0,6,0,0,6,1,1],\"gpx.plus\":[2,0,0,0,0,2,0,0,2,0,0],\"tebex.io\":[3,1,0,4,1,11,1,0,6,0,2],\"photoroom.com\":[11,0,2,3,1,6,0,0,6,0,4],\"kolesa.kz\":[7,0,0,1,1,2,0,0,3,0,0],\"jinritemai.com\":[1,0,0,0,0,0,1,0,0,0,0],\"gaym.com\":[1,0,0,0,1,1,0,0,1,0,0],\"alternet.org\":[32,1,0,4,0,8,1,0,6,2,5],\"aktualne.cz\":[35,1,1,0,0,8,0,0,5,3,0],\"isrbx.me\":[2,1,0,1,1,6,0,0,1,0,0],\"tchibo.de\":[35,2,1,0,1,3,0,0,8,1,2],\"warframe.market\":[19,1,1,1,0,3,1,0,1,0,2],\"lubimyczytac.pl\":[62,1,0,1,0,6,0,0,6,0,1],\"hnvi.nl\":[1,0,0,0,0,1,0,0,0,0,1],\"decathlon.it\":[15,1,1,3,1,4,1,0,4,1,1],\"chickensmoothie.com\":[3,0,0,0,0,4,1,0,1,0,0],\"eroticbeauties.net\":[3,1,0,1,1,6,0,0,1,0,0],\"bhphotovideo.com\":[44,4,0,3,0,8,1,0,5,1,6],\"info-retraite.fr\":[4,1,0,0,1,5,0,0,2,0,0],\"warthunder.com\":[5,1,1,1,1,4,0,0,2,0,0],\"wildberries.by\":[1,0,0,0,1,2,0,0,0,0,0],\"decathlon.be\":[13,1,1,4,0,4,1,0,4,1,2],\"usc.edu\":[4,2,1,2,0,14,0,0,7,1,4],\"teamviewer.com\":[9,0,1,4,1,6,0,0,3,1,3],\"ddownload.com\":[0,0,0,1,1,5,0,0,2,0,1],\"football.ua\":[5,1,0,0,1,3,0,0,2,2,0],\"13dl.me\":[0,0,0,1,0,3,0,0,2,0,0],\"prohardver.hu\":[6,1,1,0,1,4,1,0,0,2,0],\"theconversation.com\":[5,1,1,1,0,6,0,0,1,4,0],\"alberta.ca\":[4,1,0,0,0,6,0,0,4,0,4],\"mappy.com\":[42,0,1,3,1,5,2,0,3,0,1],\"rlsbb.to\":[2,0,0,0,1,2,0,0,3,0,0],\"waitrose.com\":[12,0,0,1,1,7,0,0,12,3,2],\"ecobolsa.com\":[60,0,1,2,1,5,0,0,4,0,1],\"leonardo.ai\":[8,1,2,5,1,8,0,0,5,1,2],\"internetchicks.com\":[6,1,0,1,0,8,0,0,3,1,0],\"rocketreach.co\":[7,0,2,5,0,9,0,0,5,1,3],\"westelm.com\":[12,1,0,3,0,4,0,0,7,2,3],\"formula1.com\":[9,3,1,4,0,7,1,0,7,3,3],\"ninjarmm.com\":[0,0,0,0,0,3,0,0,1,0,1],\"myheritage.nl\":[1,0,0,0,0,3,0,0,0,0,4],\"yoox.com\":[32,1,0,1,1,5,0,0,8,1,6],\"asda.com\":[17,0,1,6,1,11,1,0,14,0,5],\"niezalezna.pl\":[36,1,1,0,0,6,0,0,2,2,0],\"13tv.co.il\":[70,3,0,1,0,7,0,0,7,2,0],\"vfsglobal.com\":[5,0,1,0,0,6,1,0,4,0,2],\"semprot.com\":[9,0,0,0,0,2,0,0,2,0,0],\"parisladefense-arena.com\":[4,1,1,0,0,6,0,0,3,0,0],\"falabella.com.pe\":[29,1,0,3,0,3,0,0,9,1,3],\"pof.com\":[14,0,1,0,0,3,0,0,2,0,1],\"neal.fun\":[4,1,0,3,1,7,0,0,0,0,2],\"ionos.com\":[10,0,1,5,0,7,1,0,9,1,2],\"parentsquare.com\":[3,1,0,2,0,6,0,0,2,0,2],\"intesasanpaolo.com\":[7,0,0,1,1,5,0,0,2,0,1],\"opensubtitles.com\":[1,0,0,1,1,3,1,0,2,1,0],\"amateri.com\":[3,0,0,0,0,2,0,0,1,0,0],\"hsreplay.net\":[28,2,1,1,0,7,1,0,2,0,0],\"eurogamer.net\":[72,2,2,4,0,4,0,0,7,3,0],\"iranintl.com\":[2,1,0,1,0,6,0,0,3,3,0],\"trimble.com\":[7,1,1,1,0,10,0,0,7,1,2],\"cvent.com\":[6,1,1,1,0,7,0,0,9,1,5],\"ziperto.com\":[3,0,0,1,0,5,0,0,2,0,1],\"financialjuice.com\":[5,1,0,1,0,6,0,0,2,3,1],\"falabella.com\":[30,3,0,3,1,4,0,0,11,1,3],\"eftps.gov\":[3,0,0,0,0,1,0,0,1,0,1],\"bunkrr.su\":[0,0,0,0,1,2,0,0,0,0,0],\"kickasstorrents.to\":[1,0,0,1,1,4,0,0,0,0,0],\"notebooklm.google\":[5,1,0,0,1,5,0,0,1,0,1],\"gmarket.co.kr\":[26,1,0,1,0,5,1,0,4,0,0],\"ankama.com\":[3,0,0,2,1,6,0,0,2,1,0],\"theonion.com\":[81,1,0,5,0,10,0,0,9,2,3],\"www.gov.pl\":[3,1,0,1,0,5,0,0,0,0,0],\"animenewsnetwork.com\":[16,1,0,2,0,6,1,0,5,2,0],\"hdporn92.com\":[4,1,0,1,0,7,0,1,3,2,0],\"cmu.edu\":[3,2,0,1,0,13,1,0,7,1,2],\"sezane.com\":[9,0,1,1,0,5,0,0,4,2,4],\"puma.com\":[32,0,1,6,1,11,0,0,13,2,5],\"fredl.ru\":[1,0,0,1,0,5,0,0,1,0,1],\"storynavigation.com\":[5,0,0,0,1,5,0,0,2,0,0],\"1moviesz.to\":[1,2,0,0,1,3,0,0,2,0,0],\"mufg.jp\":[16,1,0,1,1,7,0,0,3,1,0],\"lolz.live\":[4,1,0,0,1,3,1,0,2,2,0],\"boyfriend.tv\":[0,0,0,1,0,6,1,1,2,0,3],\"5278.cc\":[6,0,0,1,0,4,0,1,3,0,0],\"orcid.org\":[2,0,1,2,1,8,0,0,4,0,0],\"mon-expert-en-gestion.fr\":[0,0,0,0,1,0,0,0,1,0,0],\"bandlab.com\":[7,4,0,0,0,6,0,0,2,1,2],\"sportscardspro.com\":[5,0,0,0,0,2,0,0,0,0,0],\"adyen.com\":[3,0,1,1,1,4,1,0,3,0,3],\"xxxbp.tv\":[0,0,0,1,0,4,0,1,0,0,0],\"dantri.com.vn\":[5,1,0,0,1,6,0,0,2,0,1],\"stockq.org\":[2,0,0,0,1,2,0,0,1,0,0],\"nbg.gr\":[6,1,1,1,1,5,0,0,6,0,0],\"voya.com\":[2,0,0,0,0,6,1,0,7,0,1],\"nalog.ru\":[1,0,0,0,1,2,0,0,1,0,0],\"bacloud.com\":[2,0,0,1,0,1,0,0,2,1,0],\"gutefrage.net\":[69,1,3,1,0,4,4,0,3,0,0],\"providence.org\":[2,0,0,1,0,8,0,0,5,0,3],\"onhockey.tv\":[5,3,0,1,0,9,0,0,4,0,0],\"vinted.dk\":[55,0,1,0,0,2,0,0,2,0,0],\"caballow.com\":[1,0,1,0,0,1,0,0,0,0,0],\"quechoisir.org\":[1,0,0,0,1,5,0,0,3,0,1],\"surfshark.com\":[8,1,0,4,1,8,0,0,2,0,2],\"ig.com.br\":[24,1,1,1,1,8,0,0,4,4,3],\"uploadhaven.com\":[3,1,0,1,0,4,0,0,1,0,1],\"booktoki469.com\":[1,0,0,1,0,4,0,0,1,0,0],\"saksfifthavenue.com\":[37,2,1,3,0,9,0,0,9,0,5],\"leercapitulo.co\":[2,1,0,1,1,3,0,0,2,0,0],\"jacquielawson.com\":[6,2,0,0,0,5,1,0,11,0,1],\"twimg.com\":[2,0,0,0,0,4,0,0,2,0,1],\"discuss.com.hk\":[32,1,2,1,0,9,1,0,8,0,1],\"condecosoftware.com\":[0,0,0,0,0,0,0,0,1,0,1],\"fimfiction.net\":[3,1,0,0,1,4,0,0,1,0,0],\"polybuzz.ai\":[7,1,0,0,0,4,0,0,1,0,1],\"birgun.net\":[22,1,0,0,1,4,0,0,4,2,0],\"revolve.com\":[11,1,0,3,0,7,0,0,8,2,3],\"animego.me\":[3,0,0,0,1,4,0,0,1,1,0],\"vippers.jp\":[7,1,0,0,0,6,1,1,2,3,0],\"gva.be\":[32,1,1,1,0,6,0,0,2,3,1],\"weebly.com\":[5,1,1,3,0,12,0,0,6,3,5],\"hsn.com\":[72,1,2,3,0,8,1,0,14,3,2],\"boxden.com\":[6,1,0,0,0,7,1,0,3,4,3],\"farodevigo.es\":[63,1,2,1,0,5,0,0,5,0,1],\"ytboob.com\":[3,0,0,1,1,4,0,0,2,0,0],\"nola.com\":[11,2,0,0,0,7,0,0,4,0,1],\"leroymerlin.ro\":[7,1,1,1,0,3,0,0,8,1,2],\"camstreams.tv\":[1,0,0,1,1,4,0,2,2,0,0],\"warhammer-community.com\":[3,1,1,0,0,4,0,0,2,0,0],\"physicsandmathstutor.com\":[3,0,0,0,0,5,0,0,2,0,0],\"gamerch.com\":[7,1,0,1,1,4,0,0,2,2,0],\"notalwaysright.com\":[3,0,1,1,0,4,0,0,1,1,1],\"circulaires.com\":[2,0,0,1,0,3,0,0,2,0,0],\"getintopc.com\":[4,0,0,1,1,3,0,0,1,0,0],\"ssense.com\":[5,0,1,3,0,4,0,0,3,1,4],\"jcink.net\":[3,1,0,2,0,11,1,0,3,4,3],\"fyxxr.to\":[1,0,0,0,1,3,0,0,2,0,1],\"hentai-share.com\":[1,0,0,0,1,4,0,0,1,0,0],\"knowyourmeme.com\":[21,1,1,2,0,6,2,0,5,4,1],\"enjoei.com.br\":[9,0,0,0,1,3,0,0,2,1,1],\"heureka.cz\":[23,1,1,1,0,6,0,0,4,0,0],\"korrespondent.net\":[29,1,0,0,0,6,0,0,4,3,0],\"olympusbiblioteca.com\":[2,0,0,1,1,3,0,0,1,0,0],\"mangaworld.mx\":[3,0,0,0,1,4,0,0,1,0,0],\"crutchfield.com\":[3,1,1,3,0,4,0,0,0,0,1],\"hdhub4u.fo\":[5,1,0,0,0,6,2,0,1,1,0],\"sushiscan.net\":[1,0,0,0,0,4,0,0,0,0,0],\"channelnewsasia.com\":[41,4,0,1,0,12,1,0,15,3,3],\"whosampled.com\":[5,3,1,0,0,5,0,0,1,0,1],\"knmu.edu.ua\":[4,1,0,0,1,5,0,0,0,1,0],\"unext.jp\":[30,1,0,1,0,4,0,0,6,2,1],\"kling.ai\":[7,1,0,2,0,4,0,0,1,0,1],\"rp-online.de\":[50,1,0,3,0,7,0,0,9,0,3],\"tistory.com\":[7,1,0,3,0,13,0,0,2,2,1],\"emaplan.com\":[0,0,0,2,0,4,0,0,2,0,0],\"tukif.porn\":[1,0,0,1,1,3,0,0,2,0,0],\"liberty.edu\":[8,2,0,1,0,9,0,0,5,0,4],\"merit500.com\":[2,0,0,0,0,1,0,0,1,0,0],\"jusbrasil.com.br\":[7,0,0,0,1,8,0,0,4,0,2],\"aruodas.lt\":[10,1,1,0,0,6,0,0,1,0,1],\"sistematodos.com.br\":[1,0,0,0,1,3,0,0,0,0,0],\"grubhub.com\":[13,0,1,4,0,9,2,0,6,4,8],\"nightcafe.studio\":[8,0,1,0,0,5,1,0,2,0,2],\"seasonvar.ru\":[2,0,0,1,1,4,0,0,0,3,0],\"nswgame.com\":[5,1,0,2,1,7,1,0,3,0,0],\"thecoli.com\":[6,1,0,0,0,9,1,0,2,5,2],\"logitech.com\":[11,1,1,4,0,8,0,0,6,2,3],\"oraclecorp.com\":[2,0,0,0,0,1,0,0,0,0,0],\"furnishedfinder.com\":[8,0,0,2,0,9,0,0,3,1,2],\"standard.co.uk\":[44,0,3,2,0,7,1,0,5,2,1],\"icims.com\":[13,1,2,1,0,12,0,0,12,0,4],\"notion.site\":[8,1,0,0,0,8,2,0,1,1,1],\"livesport.cz\":[27,0,1,0,0,6,1,0,3,2,1],\"tiscali.it\":[36,0,2,2,1,8,0,0,6,0,1],\"docdownloader.com\":[3,0,0,1,1,5,0,0,2,0,1],\"nordnet.se\":[0,0,0,0,0,0,0,0,0,0,0],\"rtl.be\":[60,2,1,2,1,9,0,0,5,3,0],\"sydney.edu.au\":[5,1,1,2,0,9,0,0,7,2,3],\"tubepornstars.com\":[1,0,0,0,0,1,0,0,1,0,0],\"usnewson.com\":[17,0,1,1,0,4,0,0,1,0,0],\"rutor.is\":[0,0,0,2,1,3,0,0,0,0,0],\"reclameaqui.com.br\":[19,1,1,0,1,9,0,0,7,0,1],\"aeon.com\":[10,0,0,0,0,5,0,0,4,2,0],\"ruten.com.tw\":[5,1,0,0,1,5,1,0,1,0,0],\"flyeralarm.com\":[8,0,1,2,0,3,0,0,4,1,2],\"prizegrab.com\":[11,0,0,1,0,5,0,0,1,0,1],\"centrumrowerowe.pl\":[9,1,0,0,0,4,0,0,2,0,1],\"xiaohongshu.com\":[0,0,0,1,0,3,1,0,1,0,0],\"earthlink.net\":[11,0,0,2,0,9,1,0,3,0,3],\"pepper.com\":[48,1,2,2,0,7,0,0,3,0,1],\"jiomart.com\":[5,0,0,0,0,10,0,0,3,0,1],\"nsfwalbum.com\":[1,0,0,2,0,7,0,0,1,0,0],\"fischipedia.org\":[0,1,0,1,0,4,0,0,0,0,0],\"nitroflare.com\":[2,0,0,2,1,4,0,0,2,0,1],\"skyscanner.es\":[34,1,0,0,0,6,0,0,4,1,3],\"msu.edu\":[3,2,0,0,0,11,0,0,1,0,1],\"lavoixdunord.fr\":[60,0,1,2,1,7,0,0,4,2,2],\"imvu.com\":[8,0,1,0,0,5,1,1,1,1,2],\"therapynotes.com\":[2,0,0,0,0,1,0,0,2,0,1],\"zalando.at\":[5,0,1,1,0,3,1,0,1,0,1],\"utexas.edu\":[4,1,0,1,0,15,1,0,7,1,3],\"xueqiu.com\":[1,0,0,0,0,1,2,0,0,0,0],\"mf.gov.pl\":[2,0,0,0,0,4,0,0,0,0,1],\"chyoa.com\":[2,0,0,1,0,4,0,1,2,0,0],\"advrider.com\":[39,1,0,1,0,6,1,0,6,3,1],\"goldbullionaustralia.com.au\":[5,3,0,1,0,2,0,0,3,0,2],\"simplycodes.com\":[4,0,0,0,0,7,1,0,2,0,0],\"freeindexer.com\":[1,0,0,0,0,6,0,0,0,0,0],\"rlsbb.cc\":[1,0,0,0,0,2,0,0,3,0,0],\"swisstransfer.com\":[8,0,0,0,0,3,0,0,2,1,0],\"neobux.com\":[7,1,0,2,0,8,0,0,4,0,2],\"systeme.io\":[5,1,0,2,0,8,0,0,0,1,1],\"paycor.com\":[9,0,1,2,0,5,0,0,5,0,1],\"momvids.com\":[1,0,0,1,1,4,0,1,2,0,0],\"distanz-film.com\":[6,1,0,1,0,7,2,0,3,0,0],\"hentaipaw.com\":[1,0,0,1,0,4,0,0,1,0,0],\"greasyfork.org\":[3,0,0,2,0,11,1,0,2,0,0],\"viefaucet.com\":[10,1,0,1,1,11,0,0,3,1,3],\"bj-share.info\":[3,1,0,0,1,4,2,0,1,2,0],\"fcinter1908.it\":[40,0,1,1,0,6,3,0,4,1,1],\"elnacional.com\":[16,2,0,2,0,5,0,0,3,3,1],\"athome.co.jp\":[35,0,0,1,0,10,0,0,9,3,1],\"cnbzmg.com\":[0,0,0,0,0,0,0,0,1,0,1],\"puzzlebaron.com\":[12,0,1,2,0,4,0,0,2,0,0],\"president.jp\":[36,0,1,1,0,6,1,0,9,3,1],\"groww.in\":[5,1,0,0,0,6,0,0,1,0,2],\"rp.pl\":[42,1,2,1,0,6,0,0,4,2,1],\"thespruce.com\":[36,1,2,1,0,7,2,0,7,0,0],\"thewordfinder.com\":[36,0,0,2,0,5,2,0,3,1,1],\"octopus.energy\":[8,0,1,4,0,4,0,0,4,0,5],\"virginatlantic.com\":[10,1,0,1,0,7,1,0,6,1,3],\"folieporno.fr\":[0,0,0,1,1,2,0,1,0,0,0],\"animeworld.ac\":[5,3,0,1,0,8,1,0,1,0,0],\"doda.jp\":[37,1,0,1,0,8,0,0,8,3,2],\"open2ch.net\":[7,1,0,0,0,6,1,0,0,3,0],\"bearbit.org\":[2,1,0,0,1,6,2,0,1,0,0],\"veed.io\":[11,0,1,3,0,10,0,0,6,2,3],\"attheraces.com\":[6,1,1,0,0,8,0,0,2,0,1],\"behindthevoiceactors.com\":[9,1,2,0,0,3,0,0,4,1,0],\"minnstate.edu\":[3,2,0,1,0,4,2,0,1,0,0],\"ssstwitter.com\":[5,1,0,0,1,2,0,0,0,0,0],\"znanylekarz.pl\":[8,1,2,3,0,10,0,0,5,0,5],\"vorexlogin.com\":[0,0,0,2,0,2,0,0,0,0,1],\"swgoh.gg\":[27,0,2,1,1,3,0,0,4,0,0],\"profesia.sk\":[7,1,0,1,1,4,0,0,3,0,3],\"pornxp.ph\":[0,0,0,0,0,1,0,0,0,0,0],\"nasdaq.com\":[15,1,1,1,1,6,0,0,8,2,2],\"a2z.com\":[0,0,0,0,0,5,1,0,2,0,0],\"slideshare.net\":[44,0,1,0,1,7,0,0,2,0,2],\"picsart.com\":[9,0,2,5,1,9,0,0,6,1,4],\"dl-raw.ac\":[2,0,0,1,0,4,0,0,2,0,0],\"jgirl.co\":[0,0,0,1,0,4,0,0,1,0,0],\"vipleague.ws\":[4,1,0,2,0,4,0,0,1,1,1],\"trakt.tv\":[4,1,0,0,0,5,0,0,2,2,2],\"kissanime.com.ru\":[3,0,0,0,0,5,0,0,3,0,0],\"animesonlinecc.to\":[2,1,0,0,1,3,2,0,1,1,0],\"wolvden.com\":[2,0,0,0,0,4,1,0,1,0,0],\"carrefour.es\":[17,0,1,1,0,7,1,0,7,2,1],\"romspure.cc\":[1,0,0,1,1,4,0,0,1,0,0],\"dietnavi.com\":[13,1,0,0,0,2,0,0,0,0,0],\"nefes.com.tr\":[8,1,0,0,1,5,0,0,3,1,1],\"chatwork.com\":[15,0,0,0,0,7,0,0,4,0,3],\"santander.com.ar\":[6,0,0,0,1,2,0,0,8,0,1],\"uptodown.com\":[11,0,1,1,1,3,0,0,1,0,1],\"volvocars.com\":[10,2,1,1,0,8,0,0,4,2,2],\"abplive.com\":[14,2,0,0,1,14,0,0,5,2,1],\"o2online.de\":[7,1,1,2,1,8,0,0,4,0,2],\"milb.com\":[70,1,4,2,0,9,0,0,8,2,6],\"d20pfsrd.com\":[20,0,1,2,1,5,0,0,1,2,0],\"electrodepot.fr\":[25,2,1,3,1,4,0,0,3,0,1],\"mvlempyr.io\":[3,0,0,2,0,8,1,0,2,0,1],\"sportsdirect.com\":[3,0,1,1,0,5,0,0,3,1,3],\"vdownloaders.com\":[3,0,0,1,0,7,0,0,2,0,1],\"drunkenslug.com\":[0,0,0,0,0,3,0,0,1,0,0],\"westeros.org\":[35,1,2,3,0,5,1,0,5,0,0],\"officedepot.com\":[8,0,1,6,0,6,1,0,5,0,3],\"nicotto.jp\":[12,1,0,0,0,6,0,0,1,1,0],\"slobodnadalmacija.hr\":[38,1,1,1,0,11,1,0,5,3,1],\"ew.com\":[45,2,3,2,0,10,2,0,8,3,0],\"yanmaga.jp\":[9,0,0,1,0,4,0,0,2,1,0],\"line.biz\":[10,0,0,1,0,4,0,0,4,1,2],\"honda.com\":[13,2,1,3,0,10,0,0,5,2,3],\"un.org\":[4,3,0,1,1,12,0,0,3,3,0],\"daily.co.jp\":[29,0,0,1,0,5,1,0,6,3,0],\"paddypower.com\":[12,1,1,0,1,5,0,0,11,2,3],\"openload.mov\":[2,0,0,0,0,8,0,1,3,0,0],\"solscan.io\":[3,0,0,1,0,3,0,0,2,0,0],\"abril.com.br\":[32,1,1,0,1,9,2,0,6,1,3],\"recreation.gov\":[4,1,0,2,0,4,0,0,3,0,2],\"capitaloneshopping.com\":[9,0,0,0,0,5,0,0,1,0,4],\"transfermarkt.fr\":[36,0,1,0,1,9,0,0,2,0,3],\"datacamp.com\":[8,1,0,3,0,11,0,0,4,0,5],\"jobcan.jp\":[11,0,0,1,0,6,0,0,2,2,1],\"fanatik.com.tr\":[16,1,0,1,0,5,2,0,2,3,0],\"novellive.app\":[2,0,0,1,0,4,0,0,2,0,0],\"purepeople.com\":[67,1,2,1,1,7,1,0,6,3,0],\"huijiwiki.com\":[4,0,0,1,1,4,0,0,2,0,0],\"house-of-usenet.com\":[0,0,0,1,0,3,2,0,0,0,0],\"turbi.app\":[0,0,0,0,0,4,1,0,1,0,2],\"perfectgirls.xxx\":[2,0,0,2,0,5,0,2,2,0,0],\"meteofor.com.ua\":[35,0,0,0,1,4,1,0,1,0,0],\"potterybarn.com\":[12,1,0,3,0,3,0,0,7,1,3],\"mbta.com\":[4,0,0,1,0,3,0,0,0,0,0],\"theordinary.com\":[12,1,1,4,0,8,0,0,6,2,2],\"stripchat.global\":[2,0,0,0,1,3,0,0,2,0,0],\"veracross.com\":[2,0,0,0,0,6,0,0,2,0,1],\"rainews.it\":[3,0,0,1,1,5,0,0,1,2,0],\"stiripesurse.ro\":[10,1,1,0,1,6,0,0,2,2,0],\"ingbank.pl\":[0,0,0,0,0,1,0,0,1,0,0],\"onvasortir.com\":[10,1,2,0,1,4,0,0,2,0,0],\"tuifly.be\":[3,0,0,1,0,5,0,0,4,0,1],\"alpha.gr\":[7,1,1,0,1,4,0,0,5,0,1],\"fmovies.co\":[5,1,0,0,0,8,1,0,1,0,1],\"animexin.dev\":[5,1,0,2,1,6,1,0,5,2,1],\"videocardz.com\":[14,1,2,3,0,5,0,0,1,3,1],\"hertz.com\":[43,1,1,1,0,7,0,0,12,4,4],\"javct.net\":[4,1,0,0,0,8,0,1,2,0,0],\"utoon.net\":[1,0,0,0,0,4,0,0,2,1,0],\"hentainexus.com\":[0,0,0,0,0,2,0,0,1,0,0],\"toyokeizai.net\":[59,0,1,0,0,7,1,0,7,1,1],\"lunapic.com\":[4,0,0,0,1,4,0,0,1,0,0],\"crowdworks.jp\":[8,1,0,0,0,6,0,0,4,3,0],\"zalando.es\":[6,0,1,1,0,4,1,0,2,0,1],\"mynetdiary.com\":[1,0,0,0,0,6,0,0,0,0,0],\"shutterfly.com\":[15,0,0,5,0,11,1,0,4,2,5],\"modthesims.info\":[17,1,1,3,0,5,1,0,4,0,0],\"rotowire.com\":[59,1,2,2,0,7,1,0,4,2,0],\"flixcorn.com\":[5,1,0,1,1,7,0,0,2,0,0],\"parivahan.gov.in\":[3,0,0,0,1,6,0,0,1,0,1],\"petsmart.com\":[12,1,1,5,0,7,0,0,11,1,7],\"evite.com\":[31,0,1,1,0,10,1,0,8,2,3],\"zonaprop.com.ar\":[9,1,0,0,0,6,0,0,2,0,2],\"onejav.com\":[1,0,0,1,0,5,0,1,1,0,0],\"zbiornik.com\":[1,1,0,0,0,4,0,0,2,0,1],\"shobon.so\":[1,0,0,0,1,1,0,0,1,0,0],\"pypi.org\":[1,0,0,2,0,5,0,0,0,0,0],\"autodoc.de\":[26,1,0,2,1,6,0,0,5,0,1],\"aftershock.news\":[5,1,0,1,1,4,1,0,3,2,0],\"yugioh-card.com\":[4,1,1,0,0,5,0,0,1,2,1],\"brightmls.com\":[3,0,0,1,0,8,1,0,4,0,3],\"skyscanner.nl\":[39,1,0,1,0,6,0,0,6,2,4],\"guildwars.com\":[4,0,0,1,0,2,0,0,1,0,1],\"gstatic.com\":[5,0,0,0,0,2,0,0,2,0,0],\"sedecatastro.gob.es\":[1,0,0,0,1,2,0,0,1,0,0],\"aviva.co.uk\":[5,0,1,1,0,2,0,0,3,0,7],\"mileroticos.com\":[1,0,0,1,0,4,0,0,3,0,0],\"avature.net\":[13,1,1,2,0,6,1,0,6,1,4],\"assemblee-nationale.fr\":[1,0,0,0,0,2,0,0,1,0,0],\"tui.co.uk\":[14,1,0,0,0,7,2,0,13,2,4],\"tubantia.nl\":[22,1,0,2,1,5,2,0,2,2,1],\"tuoitre.vn\":[10,0,0,1,1,5,0,0,1,0,1],\"e1.ru\":[8,0,0,1,1,2,2,0,4,2,1],\"sketchup.com\":[5,1,1,1,1,9,0,0,3,0,2],\"speedporn.net\":[4,1,0,1,1,6,0,1,5,1,1],\"paradoxwikis.com\":[5,1,1,1,0,6,0,0,2,0,0],\"distrowatch.com\":[4,0,0,1,0,3,0,0,0,0,0],\"arizona.edu\":[4,1,0,0,0,12,1,0,2,0,4],\"paris.fr\":[4,2,0,1,1,10,0,0,2,0,1],\"animesss.com\":[3,0,0,0,1,5,0,0,1,1,1],\"tryhackme.com\":[8,2,1,5,1,11,1,0,9,2,2],\"thelott.com\":[7,1,0,2,1,5,0,0,4,0,2],\"mapgenie.io\":[20,1,1,4,1,6,0,0,4,0,1],\"wilsondo.sk\":[6,1,0,1,0,8,0,0,3,0,0],\"expediapartnercentral.com\":[1,0,1,0,1,4,1,0,5,0,2],\"fotostrana.ru\":[14,1,0,1,1,3,2,0,6,2,1],\"tamrieltradecentre.com\":[5,0,0,1,0,2,0,0,1,0,1],\"muzofond.fm\":[1,0,0,1,1,3,0,0,1,1,0],\"mcdonalds.com\":[5,1,2,1,0,5,0,0,3,0,2],\"tt1069.com\":[2,1,0,0,0,4,0,2,2,2,0],\"nitrotype.com\":[3,0,0,2,0,5,0,0,4,0,0],\"mhhauto.com\":[3,0,0,1,0,5,0,0,2,0,1],\"gazeta.ru\":[6,0,0,2,1,3,3,0,5,1,0],\"iqono.com\":[0,0,0,0,0,2,0,0,0,0,0],\"m6.fr\":[16,0,1,1,0,6,0,0,3,0,0],\"edx.org\":[6,1,1,4,0,9,1,0,6,0,6],\"112alarm.net\":[4,0,0,0,0,2,0,0,0,0,0],\"freegogpcgames.com\":[3,1,0,0,1,5,0,0,4,0,0],\"summitracing.com\":[6,2,0,4,0,5,0,0,5,1,5],\"thegay.com\":[1,0,0,0,0,3,1,1,2,0,0],\"justjared.com\":[49,1,1,1,0,9,2,0,3,4,0],\"illinois.gov\":[3,1,0,1,0,7,0,0,5,0,3],\"uline.com\":[6,1,0,2,0,1,0,0,4,0,4],\"borntobefuck.com\":[2,0,0,0,1,4,0,0,2,0,0],\"coches.net\":[41,2,1,2,1,7,1,0,6,0,5],\"baselinker.com\":[4,1,0,0,0,6,0,0,2,0,0],\"corrieredellosport.it\":[89,2,3,2,1,9,1,0,11,0,0],\"xozilla.xxx\":[1,0,0,1,1,6,0,2,2,0,0],\"delpher.nl\":[0,0,0,0,0,5,0,0,0,0,0],\"acgmhn.com\":[1,0,0,0,0,1,0,1,2,0,0],\"bienici.com\":[31,1,1,0,1,6,0,0,2,1,1],\"loopnet.com\":[41,1,0,0,0,6,0,0,5,0,3],\"cums.net\":[1,1,0,1,1,6,0,0,3,1,0],\"terra.com.br\":[18,1,1,0,1,9,0,0,5,3,2],\"wordplays.com\":[34,0,0,2,0,5,1,0,4,0,0],\"ipko.pl\":[0,0,0,0,0,3,0,0,0,0,0],\"iberia.com\":[12,1,1,3,0,6,1,0,8,1,3],\"bakecaincontrii.com\":[3,0,0,0,1,3,0,0,3,0,0],\"jobbank.gc.ca\":[4,0,0,2,0,3,0,0,2,0,1],\"sapsf.com\":[3,0,0,0,1,3,2,0,3,1,2],\"kariyer.net\":[31,1,0,0,1,7,1,0,5,1,2],\"notube.link\":[2,1,1,0,1,4,0,0,0,2,0],\"iq.com\":[10,0,0,1,1,5,0,0,1,0,1],\"adsbexchange.com\":[53,0,1,4,0,4,1,0,5,2,0],\"made-in-china.com\":[8,0,1,1,1,4,0,0,3,0,0],\"yflix.to\":[3,2,0,0,0,3,0,0,2,0,0],\"halfords.com\":[12,1,1,3,1,4,0,0,12,1,3],\"1porn.tv\":[1,0,0,1,0,4,0,0,3,0,0],\"cuttlinks.com\":[106,2,1,2,1,7,0,0,8,1,1],\"paradisehill.cc\":[1,0,0,2,0,3,0,1,1,0,0],\"donanimhaber.com\":[18,1,0,0,1,12,0,0,2,3,1],\"autohero.com\":[10,0,0,2,1,4,0,0,2,0,1],\"twidouga.net\":[2,0,0,0,1,4,0,2,3,1,0],\"lemanapro.ru\":[6,0,0,1,1,2,1,0,3,1,0],\"fleaflicker.com\":[27,0,0,1,0,5,0,0,1,0,0],\"blazingboost.com\":[19,0,1,1,0,5,0,0,5,0,2],\"hyundai.com\":[20,2,1,1,0,13,0,0,12,3,2],\"mainichi.jp\":[50,2,1,1,0,7,2,0,9,3,1],\"1000mg.jp\":[5,1,0,0,0,5,0,0,3,3,1],\"monarch.com\":[3,1,1,3,0,10,0,0,5,0,2],\"rmz.cr\":[3,0,0,0,1,4,0,0,1,0,0],\"cowcotland.com\":[32,1,0,0,0,5,0,0,3,0,0],\"duelingnexus.com\":[52,2,1,2,0,8,2,0,5,0,0],\"sporx.com\":[35,1,0,0,1,8,1,0,6,2,0],\"enterprise.com\":[14,2,1,0,0,5,0,0,5,1,3],\"pannchoa.com\":[13,1,1,2,0,6,1,0,6,3,1],\"musinsa.com\":[34,1,0,3,0,8,0,0,7,2,2],\"szn.cz\":[1,0,0,0,1,2,0,0,1,0,0],\"sinoptik.ua\":[46,0,0,0,0,4,0,0,1,0,1],\"upi.com\":[18,1,0,4,1,8,1,0,5,0,0],\"encar.com\":[5,0,0,2,0,4,0,0,1,0,1],\"mubi.com\":[11,1,1,2,0,3,0,0,3,2,3],\"aetna.com\":[6,2,1,1,0,4,0,0,6,0,5],\"weebcentral.com\":[30,0,0,0,0,5,0,0,2,0,1],\"paradoxplaza.com\":[4,1,1,1,1,4,0,0,3,0,0],\"lek-manga.net\":[1,0,0,0,0,4,0,0,1,1,0],\"hindustantimes.com\":[43,1,0,1,0,11,0,0,7,3,2],\"kemdiktisaintek.go.id\":[2,0,0,2,0,12,1,0,1,0,0],\"melonbooks.co.jp\":[6,1,0,1,1,8,0,0,3,2,0],\"astro.com\":[17,0,1,1,1,4,0,0,1,0,0],\"nrtool.to\":[1,0,0,0,1,1,0,0,1,0,0],\"skyscanner.co.in\":[32,0,0,0,0,5,0,0,4,1,3],\"nhk.or.jp\":[1,0,0,0,0,3,0,0,1,0,1],\"athletic.net\":[58,1,2,2,0,8,2,0,9,0,2],\"startlap.hu\":[36,2,1,1,0,6,0,0,1,4,1],\"eset.com\":[6,1,0,3,0,8,0,0,4,0,1],\"fgov.be\":[1,0,1,1,1,7,0,0,1,1,1],\"navitime.co.jp\":[66,0,0,0,0,7,0,0,7,1,0],\"citilink.ru\":[5,0,0,1,1,2,1,0,2,2,0],\"nationalarchives.ie\":[1,0,0,0,0,2,0,0,2,0,1],\"independent.ie\":[26,3,1,1,0,5,0,0,8,2,1],\"alchemer.com\":[2,1,0,1,0,6,0,0,1,1,1],\"alvolante.it\":[6,0,1,0,1,4,0,0,4,0,0],\"oddspark.com\":[9,0,0,0,0,1,0,0,2,1,0],\"levi.com\":[17,1,1,4,0,9,0,0,13,3,4],\"rossmann.de\":[3,0,1,2,1,4,0,0,2,0,0],\"clio.com\":[5,1,1,3,0,9,0,0,7,0,5],\"banzhu1111111.net\":[1,0,0,0,0,1,0,0,0,0,0],\"national-lottery.co.uk\":[10,1,1,0,1,4,0,0,6,1,1],\"tradingsat.com\":[7,0,1,0,1,0,0,0,4,0,0],\"kinogo.online\":[4,1,0,1,1,7,0,0,2,0,0],\"bbb.org\":[9,0,0,2,0,10,0,0,6,0,5],\"sufficientvelocity.com\":[20,1,1,2,1,7,1,0,2,1,0],\"vinted.fi\":[27,0,1,0,0,4,0,0,1,0,0],\"inpi.fr\":[0,0,0,0,1,6,0,0,2,0,0],\"zone-telechargement.pizza\":[0,0,0,0,1,3,0,0,1,0,0],\"entrykeyid.com\":[1,0,0,0,0,3,0,0,1,0,2],\"technopat.net\":[3,1,0,0,1,8,0,0,2,1,0],\"nintendolife.com\":[57,1,1,4,0,7,1,0,6,1,0],\"yaoiscan.com\":[1,0,0,0,1,4,0,1,2,1,0],\"m1xdrop.click\":[2,0,0,1,1,6,0,0,1,0,0],\"lolpol2.com\":[3,1,0,0,0,6,0,1,2,0,0],\"fortnite.com\":[3,1,1,0,1,7,0,0,0,0,2],\"zoznam.sk\":[42,1,2,1,0,9,0,0,3,1,4],\"simons.ca\":[30,2,1,3,1,6,0,0,7,1,3],\"insta-stories-viewer.com\":[4,0,0,0,1,2,0,0,3,0,0],\"atbmarket.com\":[6,0,0,1,1,4,0,0,3,0,0],\"eliteprospects.com\":[38,4,3,3,1,11,0,0,11,2,4],\"keychron.com\":[6,1,0,4,0,13,2,0,6,1,1],\"typeform.com\":[10,1,1,4,0,9,0,0,8,2,6],\"lucida.to\":[0,0,0,1,1,5,0,0,1,0,0],\"quince.com\":[43,1,1,4,0,9,1,0,9,3,7],\"virginia.edu\":[7,2,0,1,0,12,0,0,12,0,1],\"carscoops.com\":[36,1,0,3,0,7,0,0,6,3,1],\"sirsi.net\":[3,0,0,1,0,8,0,0,2,0,0],\"playblackdesert.com\":[3,1,1,1,1,4,0,0,1,0,0],\"confluent.io\":[10,0,1,1,0,3,0,0,8,1,3],\"fool.com\":[19,3,1,3,0,11,1,0,12,3,7],\"av.by\":[8,1,0,0,1,4,0,0,2,0,0],\"kissjav.li\":[2,0,0,1,0,3,0,1,2,0,0],\"space.com\":[66,2,2,3,0,9,1,0,7,3,0],\"midjourney.com\":[6,2,0,4,0,10,0,0,1,0,1],\"nicomanga.com\":[1,0,0,1,0,5,2,0,2,0,0],\"oregonlive.com\":[125,2,3,2,0,11,3,0,22,1,4],\"invaluable.com\":[4,0,1,4,0,10,0,0,5,2,6],\"unblockedgames.world\":[4,1,0,0,0,3,0,0,3,0,0],\"myhermes.de\":[0,0,1,3,1,5,1,0,3,0,1],\"dizibox.live\":[4,2,0,0,1,7,0,0,4,2,0],\"obozrevatel.com\":[42,1,0,1,0,8,1,0,3,3,1],\"pokewiki.de\":[6,0,1,0,0,4,0,0,0,0,0],\"forum.hr\":[7,1,1,1,0,5,1,0,2,0,0],\"1024tera.com\":[5,0,0,0,1,6,1,0,1,2,1],\"metradar.ch\":[2,0,0,0,0,1,0,0,0,0,0],\"lowyat.net\":[7,1,0,0,1,7,1,0,5,6,0],\"superbuy.com\":[6,0,0,2,0,5,1,0,2,1,3],\"allmy.cam\":[1,0,0,1,1,5,0,1,1,0,0],\"interactivebrokers.co.uk\":[2,0,0,0,1,4,0,0,2,0,0],\"sageone.co.za\":[1,0,0,0,1,4,0,0,2,0,0],\"king5.com\":[66,1,4,0,0,6,0,0,9,1,1],\"mediapart.fr\":[3,1,0,0,1,5,0,0,3,0,0],\"gasbuddy.com\":[8,0,1,1,0,7,0,0,2,0,3],\"classlink.com\":[2,0,0,0,0,9,0,0,2,0,1],\"nuvid.com\":[2,0,0,1,1,4,0,1,1,0,0],\"ek.ua\":[7,1,0,2,0,6,0,0,0,0,0],\"thepibay.site\":[6,0,0,1,1,5,0,0,3,0,1],\"thenude.com\":[3,0,0,1,0,5,0,0,2,2,0],\"scba.gov.ar\":[3,1,0,1,1,7,0,0,1,0,0],\"pixlr.com\":[34,0,1,1,0,7,0,0,1,0,3],\"freeporn8.com\":[1,0,0,1,1,5,0,2,2,0,0],\"wpenginepowered.com\":[9,2,1,4,0,13,0,0,13,1,3],\"manga18.club\":[2,0,0,0,1,4,1,1,2,0,1],\"asmhentai.com\":[2,0,0,1,1,6,0,0,2,0,0],\"bcferries.com\":[9,0,0,0,0,3,0,0,2,0,1],\"doz.pl\":[10,1,0,1,0,5,0,0,5,0,2],\"unknowncheats.me\":[13,1,1,2,1,6,1,0,3,0,1],\"xe.com\":[11,0,1,1,1,3,0,0,5,0,1],\"ac-illust.com\":[44,1,0,2,0,9,2,0,5,0,1],\"rediff.com\":[9,1,0,0,0,8,0,0,4,0,1],\"bergfreunde.de\":[27,2,1,1,0,6,0,0,3,0,3],\"birkenstock.com\":[6,2,2,5,0,9,0,0,9,1,4],\"themarker.com\":[54,0,1,0,0,5,0,0,4,1,0],\"n8n.io\":[6,1,1,1,0,9,0,0,2,1,1],\"jetpens.com\":[3,0,0,0,0,5,0,0,1,1,2],\"zoho.in\":[2,1,0,1,0,7,0,0,1,1,1],\"ogladajanime.pl\":[18,2,0,0,0,5,0,0,4,3,0],\"canuckaudiomart.com\":[32,0,1,4,0,8,1,0,4,0,0],\"hemnet.se\":[16,2,1,2,0,7,0,0,5,0,3],\"streamable.com\":[3,0,1,3,0,6,0,0,2,1,2],\"dobaklife21.com\":[1,1,0,1,0,4,0,0,0,0,0],\"desmos.com\":[1,1,0,0,0,7,0,0,1,0,0],\"limundo.com\":[4,0,0,0,1,6,0,0,2,0,0],\"yande.re\":[0,0,0,1,1,3,0,0,0,0,0],\"northwestern.edu\":[9,1,1,1,0,14,0,0,8,1,2],\"jeu2048.fr\":[5,1,0,0,0,2,0,0,0,0,0],\"bkn.go.id\":[2,0,0,2,1,7,0,0,1,0,0],\"wyndhamhotels.com\":[19,1,0,1,0,6,1,0,10,1,5],\"rpp.pe\":[16,2,0,0,1,9,0,0,4,3,1],\"daraz.com.bd\":[5,1,0,1,1,4,1,0,1,0,1],\"rennrad-news.de\":[58,2,1,1,0,5,2,0,4,0,0],\"camhub.cc\":[1,0,0,1,0,4,0,0,1,0,0],\"141jav.com\":[4,0,0,2,0,5,0,1,4,0,1],\"epicentrk.ua\":[8,1,1,0,0,5,0,0,2,0,1],\"castanet.net\":[7,1,0,0,1,6,0,0,2,2,0],\"onlinetrade.ru\":[1,0,0,0,1,3,0,0,1,0,0],\"on.cc\":[23,1,1,0,0,7,0,0,1,2,0],\"inaproc.id\":[2,0,0,1,1,6,0,0,2,0,1],\"delugerpg.com\":[2,0,0,0,0,1,0,0,1,1,0],\"canadapost-postescanada.ca\":[10,0,1,1,0,3,0,0,5,2,3],\"unicredit.it\":[8,0,1,2,1,3,0,0,2,0,1],\"finanzaonline.com\":[7,2,2,0,1,5,0,0,1,4,0],\"adultfolio.com\":[0,0,0,0,0,4,0,0,1,0,1],\"freebitco.in\":[3,0,0,1,1,8,0,0,2,0,1],\"dictionary.com\":[77,2,5,3,1,9,1,0,8,1,1],\"apina.biz\":[2,0,0,0,0,0,0,0,1,0,0],\"bike24.com\":[9,1,0,2,0,5,0,0,2,0,0],\"skechers.com\":[12,1,1,3,0,7,0,0,10,2,6],\"questionablequesting.com\":[4,1,0,2,0,8,0,0,0,0,0],\"allegro.sk\":[7,0,0,0,0,3,0,0,3,0,2],\"liveatc.net\":[29,0,0,0,0,4,0,0,5,0,0],\"google.ch\":[4,1,0,0,1,4,0,0,0,0,0],\"ncsu.edu\":[5,1,0,1,0,13,0,0,3,1,2],\"azcentral.com\":[63,1,3,1,0,4,1,0,6,1,0],\"fapeza.com\":[1,0,0,1,1,3,0,0,1,0,0],\"notube.cc\":[1,1,1,0,1,2,0,0,0,2,0],\"pandora.com\":[41,1,3,0,0,8,0,0,6,0,4],\"daft.ie\":[32,1,1,0,0,5,0,0,3,0,0],\"centurylink.net\":[66,0,3,3,0,11,4,0,8,0,2],\"pirateship.com\":[5,1,0,3,0,6,0,0,0,0,2],\"apextraderfunding.com\":[10,0,0,4,1,7,0,0,4,3,0],\"arduino.cc\":[6,1,1,5,0,12,0,0,3,1,2],\"northdata.de\":[4,0,1,0,0,4,0,0,1,0,1],\"globalnews.ca\":[41,2,0,1,0,8,0,0,8,4,3],\"samehadaku.how\":[7,2,0,0,0,6,1,0,2,0,0],\"euro.com.pl\":[28,2,1,1,0,3,1,0,3,0,2],\"gbf.wiki\":[1,0,0,0,0,2,0,0,1,0,0],\"facetofacegames.com\":[2,0,0,2,0,4,0,0,0,0,1],\"whois.com\":[2,0,0,0,0,5,0,0,2,0,0],\"elluciancloud.com\":[4,1,0,0,0,14,3,0,4,0,3],\"solitr.com\":[3,0,0,0,0,0,0,0,2,0,0],\"manhuafast.com\":[3,0,0,1,1,4,0,0,2,1,0],\"69shuba.tw\":[1,0,0,1,0,3,1,0,1,0,0],\"ghiseul.ro\":[3,0,0,0,0,3,0,0,2,1,0],\"veikkaus.fi\":[1,0,0,0,0,3,0,0,1,1,0],\"purdue.edu\":[23,1,1,2,0,14,0,0,8,2,2],\"freepik.es\":[9,1,1,0,1,7,0,0,4,2,1],\"ebay.be\":[2,0,0,1,0,3,1,0,0,0,0],\"descargasdd.org\":[6,1,0,0,0,5,1,0,3,0,0],\"dotabuff.com\":[4,0,0,0,1,4,1,0,2,0,0],\"rinconesdelcielo.com\":[1,0,0,0,0,0,0,0,1,0,0],\"analdin.com\":[4,0,0,1,1,6,0,2,2,0,0],\"the-sun.com\":[56,2,0,1,0,6,1,0,13,1,2],\"ampparit.com\":[8,0,1,1,0,5,0,0,1,0,1],\"podatki.gov.pl\":[4,1,0,0,0,7,0,0,0,0,0],\"dw.com\":[4,1,0,1,0,6,0,0,1,2,0],\"sxsy18.com\":[0,0,0,0,0,0,0,0,1,0,0],\"melonstube.com\":[1,0,0,1,1,3,0,0,1,0,0],\"myhentaicomics.com\":[0,0,0,0,1,2,0,0,1,0,0],\"booknode.com\":[4,1,0,0,1,8,0,0,3,0,2],\"mybroadband.co.za\":[4,1,0,1,0,8,0,0,0,2,1],\"tuma.jp\":[1,0,0,0,0,2,0,0,0,0,0],\"bensbargains.com\":[5,0,1,0,0,3,0,0,0,0,0],\"uchi.ru\":[2,0,0,0,1,3,0,0,3,2,2],\"liveme.com\":[1,0,0,0,0,0,0,0,0,0,2],\"issuu.com\":[9,0,1,3,1,6,0,0,4,2,3],\"appmedia.jp\":[10,1,0,1,0,10,0,0,1,0,0],\"gimymax.com\":[0,0,0,0,0,4,0,0,1,0,0],\"zazzle.com\":[9,0,0,1,0,3,0,0,2,0,3],\"sapsf.eu\":[4,0,2,1,0,5,1,0,1,1,2],\"penfed.org\":[8,0,0,1,0,4,0,0,5,0,2],\"larkoffice.com\":[0,0,0,0,0,2,1,0,0,0,0],\"shoparena.pl\":[6,1,0,1,0,4,0,0,2,0,0],\"informer.rs\":[27,1,1,0,1,4,1,0,3,3,1],\"lolesports.com\":[5,3,1,0,1,6,0,0,3,1,1],\"numerique.gouv.fr\":[0,0,0,2,1,5,0,0,0,0,1],\"cnvmp3.com\":[2,0,0,2,0,4,0,0,2,0,0],\"wallpapercave.com\":[3,0,0,1,1,5,0,0,2,0,0],\"movix.rodeo\":[7,3,0,0,0,9,2,0,4,1,1],\"viamichelin.fr\":[8,0,1,2,1,3,1,0,1,0,0],\"cjdropshipping.com\":[10,0,1,1,0,7,1,0,4,1,2],\"djinni.co\":[4,0,0,1,0,4,1,0,3,0,1],\"hentaicity.com\":[4,0,0,1,1,4,0,0,0,1,0],\"1lou.me\":[1,0,0,0,0,1,0,0,1,0,0],\"poringa.net\":[2,0,0,0,1,7,0,1,3,0,1],\"rollercoin.com\":[9,1,0,1,0,7,0,0,3,1,2],\"zerochan.net\":[3,1,0,0,1,2,0,0,0,0,0],\"zenn.dev\":[2,1,0,0,0,10,0,0,1,2,0],\"pornbox.com\":[2,0,0,1,1,5,0,0,1,2,0],\"vidara.to\":[4,1,0,1,1,7,0,0,2,0,0],\"twitchtracker.com\":[3,2,0,1,1,5,0,0,3,1,1],\"is2btc.com\":[0,0,0,0,0,6,0,0,0,0,0],\"2ndstreet.jp\":[30,0,1,1,0,5,0,0,6,0,1],\"petfinder.com\":[10,1,1,0,0,6,0,0,5,0,4],\"etihad.com\":[17,1,1,2,0,9,0,0,9,1,6],\"nationstates.net\":[22,0,1,1,0,5,1,0,2,0,0],\"mindbodyonline.com\":[5,0,1,1,0,9,1,0,9,0,7],\"skport.com\":[1,1,0,1,1,3,1,0,0,0,0],\"abuseipdb.com\":[3,0,0,2,1,5,0,0,2,0,1],\"theworldwatch.com\":[2,0,0,1,0,3,0,0,0,2,0],\"kare11.com\":[56,2,2,1,0,6,0,0,11,4,3],\"cont.ws\":[10,0,0,1,1,8,0,0,5,2,0],\"booksusi.com\":[3,0,0,1,1,5,0,0,1,0,1],\"medal.tv\":[5,1,1,0,0,7,0,0,5,0,2],\"soundhouse.co.jp\":[8,1,0,1,1,7,0,0,2,0,0],\"biznes-polska.pl\":[5,0,1,0,0,0,0,0,1,0,0],\"ixdzs.tw\":[3,0,0,1,0,3,0,0,0,0,0],\"leakedzone.com\":[1,1,0,0,1,3,0,0,2,0,0],\"poshmark.ca\":[7,0,0,1,0,6,0,0,2,1,3],\"resy.com\":[6,0,0,1,0,6,0,0,2,1,3],\"intecpersada-erp.com\":[0,0,0,1,0,5,0,0,0,0,0],\"nontondrama.my\":[6,2,0,0,0,6,0,0,2,0,0],\"whitebit.com\":[3,0,0,2,0,5,0,0,1,0,2],\"frame.work\":[7,1,2,0,0,6,0,0,9,0,2],\"nymag.com\":[58,2,4,4,0,10,1,0,11,3,1],\"byu.edu\":[4,1,2,0,0,11,0,0,7,0,3],\"morganstanleyclientserv.com\":[2,0,0,1,0,3,0,0,3,0,1],\"rnz.co.nz\":[6,3,0,0,0,9,1,0,4,2,1],\"gobranded.com\":[7,1,1,2,0,7,0,0,1,2,2],\"rollingstone.com\":[92,5,4,2,0,11,2,0,20,3,5],\"numerics.gr\":[1,0,0,0,0,4,0,0,0,0,0],\"myfonts.com\":[11,1,1,2,1,7,0,0,9,0,4],\"hentai20.io\":[2,0,0,1,0,3,0,1,0,0,0],\"binkdate.nl\":[1,1,0,0,0,2,0,0,1,0,0],\"etix.com\":[10,0,1,0,0,6,2,0,5,1,2],\"thuisbezorgd.nl\":[10,0,0,1,0,8,0,0,2,2,4],\"confirmit.com\":[0,2,0,1,0,10,0,0,1,0,1],\"lastminute.com\":[27,0,2,3,0,10,2,0,7,1,4],\"data18.com\":[0,0,0,0,0,2,0,0,0,0,0],\"fantacalcio.it\":[38,0,1,2,1,6,0,0,4,0,1],\"pornavhd.com\":[1,1,0,1,0,5,1,0,3,0,0],\"ticketmaster.ca\":[22,1,1,2,0,6,0,0,11,3,1],\"ugreen.com\":[12,2,0,6,0,15,1,0,5,0,4],\"starrezhousing.com\":[3,1,0,1,0,7,0,0,1,0,1],\"promessedefleurs.com\":[9,0,0,1,1,4,0,0,1,0,0],\"interieur.gouv.fr\":[2,1,0,1,1,6,0,0,2,3,1],\"zooplus.fr\":[9,1,1,1,1,7,0,0,3,0,3],\"live112.nl\":[2,0,0,0,0,0,0,0,0,0,0],\"pastebin.com\":[1,0,0,1,1,4,0,0,1,0,0],\"railway.com\":[5,0,1,2,0,9,0,0,0,0,4],\"havasunews.com\":[37,0,0,1,0,6,0,0,4,2,1],\"91porny.com\":[2,0,0,1,0,3,1,0,2,0,0],\"mtgdecks.net\":[11,1,0,0,0,7,1,0,3,0,0],\"webex.com\":[2,1,1,0,0,3,1,0,5,0,0],\"beatport.com\":[11,0,1,1,1,6,0,0,8,2,2],\"narvar.com\":[2,1,0,1,0,7,0,0,5,0,1],\"spoilerplus.tv\":[0,0,0,1,0,6,0,0,1,0,0],\"uva.nl\":[8,3,0,3,0,8,0,0,3,0,2],\"hdsex.org\":[1,0,0,1,1,6,0,2,1,0,0],\"fd.nl\":[9,0,0,1,0,6,0,0,3,0,0],\"colliderporn.com\":[1,0,0,0,0,4,1,4,1,0,0],\"campanialive.it\":[4,0,0,0,0,1,0,0,1,0,0],\"dhs.gov\":[3,1,0,1,0,9,0,0,5,0,1],\"metaforge.app\":[17,2,1,3,1,6,0,0,3,0,0],\"whoscored.com\":[35,0,0,2,0,5,2,0,2,0,0],\"filedot.to\":[3,0,0,0,0,4,0,0,2,0,0],\"gametwist.com\":[4,0,1,0,1,2,0,0,1,0,0],\"topdesk.com\":[0,0,0,1,0,3,0,0,0,0,1],\"fcbarca.com\":[40,1,0,1,1,9,0,0,5,3,1],\"nusuk.sa\":[2,0,0,0,0,6,0,0,2,0,3],\"porn78.info\":[4,0,0,0,0,4,0,3,2,0,1],\"ionos.fr\":[6,1,0,5,1,4,1,0,3,0,2],\"usda.gov\":[5,2,0,1,0,11,0,0,5,1,0],\"fsu.edu\":[4,1,1,1,0,9,1,0,6,2,1],\"apa.org\":[6,1,1,1,0,9,0,0,3,0,1],\"sanmar.com\":[2,2,0,0,0,4,0,0,2,0,1],\"byxatab.com\":[2,1,0,2,1,4,0,0,1,1,0],\"backcountry.com\":[15,1,1,7,0,9,0,0,5,2,4],\"suitsupply.com\":[10,0,1,2,0,4,0,0,7,1,2],\"lifehacker.com\":[43,1,1,1,0,6,1,0,5,1,1],\"planningcenteronline.com\":[1,0,0,1,0,5,0,0,3,0,2],\"gearspace.com\":[17,2,1,0,0,5,1,0,5,0,0],\"omiod.com\":[10,0,0,1,0,4,0,0,3,0,0],\"wicked.cc\":[1,0,0,1,0,4,0,0,3,0,0],\"leroymerlin.pt\":[10,1,1,2,0,3,1,0,7,1,1],\"rthk.hk\":[2,1,0,0,0,5,0,0,1,0,0],\"biligame.com\":[2,0,0,0,1,5,1,0,0,0,0],\"iplt20.com\":[5,3,0,0,0,5,1,0,2,2,0],\"billit.eu\":[5,0,0,1,1,1,0,0,1,0,1],\"famousboard.com\":[2,0,0,0,1,5,0,2,2,0,0],\"wielerflits.nl\":[51,1,1,2,1,10,0,0,3,3,2],\"lavozdeasturias.es\":[7,0,1,1,0,0,0,0,1,0,0],\"bitget.com\":[4,0,0,1,1,5,0,0,0,0,1],\"pngwing.com\":[34,0,0,1,0,4,0,0,2,0,0],\"thegamer.com\":[50,1,2,2,0,10,1,0,4,3,1],\"appsheet.com\":[3,1,0,2,1,6,0,0,2,0,2],\"centrum.cz\":[23,1,1,0,0,6,0,0,4,2,1],\"cosme.net\":[33,1,0,0,0,6,0,0,3,4,0],\"simhorseracing.com\":[1,0,0,1,0,5,0,0,2,0,0],\"multitran.com\":[16,0,0,0,1,3,0,0,2,0,0],\"google.at\":[4,1,0,0,1,4,0,0,0,0,0],\"blesk.cz\":[45,0,1,0,0,9,1,0,4,3,1],\"terk.nl\":[1,0,0,1,1,3,0,0,1,0,0],\"privatehomeclips.com\":[2,1,0,1,1,4,1,3,2,0,1],\"virtamate.com\":[0,0,0,1,0,5,0,0,0,0,0],\"misskon.com\":[3,0,0,2,1,3,0,1,3,0,1],\"webstaurantstore.com\":[9,0,0,1,0,3,0,0,5,1,2],\"source-werbeartikel.com\":[2,1,0,1,0,3,1,0,1,0,1],\"parfumo.com\":[31,1,2,1,0,4,1,0,2,0,0],\"buffstreams.plus\":[1,0,0,0,0,6,0,0,1,1,1],\"3xplanet.com\":[2,0,0,1,0,3,1,0,1,0,0],\"hjd2048.com\":[0,0,0,1,0,2,0,0,1,0,0],\"kudushu.org\":[1,0,0,0,0,0,0,0,0,0,0],\"hanime2.org\":[1,0,0,0,0,4,1,1,0,1,0],\"vesti.bg\":[35,1,1,1,0,8,1,0,2,4,3],\"pepper.ru\":[1,0,0,0,1,4,0,0,1,0,0],\"waze.com\":[2,0,0,0,0,10,0,0,1,0,2],\"honda.co.jp\":[14,2,0,1,0,6,0,0,4,2,0],\"penny-arcade.com\":[8,2,0,0,0,3,0,0,0,2,1],\"ajio.com\":[32,1,0,1,0,5,0,0,3,1,2],\"3dnews.ru\":[8,1,0,1,1,4,0,0,3,0,0],\"quark.cn\":[2,0,0,0,0,0,2,0,1,0,0],\"coles.com.au\":[11,1,1,3,1,5,0,0,2,0,5],\"hudl.com\":[5,1,1,3,0,6,0,0,8,0,1],\"edu4schools.gr\":[0,0,0,0,0,5,0,0,1,0,0],\"totalbattle.com\":[6,0,1,0,1,5,0,0,0,0,3],\"maif.fr\":[5,0,0,0,1,3,0,0,3,0,1],\"zajefajna.com\":[3,0,0,1,0,2,1,0,2,0,0],\"vividseats.com\":[8,0,2,2,0,5,0,0,4,0,4],\"meshok.net\":[2,0,0,0,1,1,0,0,2,0,0],\"karat.io\":[1,0,1,0,0,7,0,0,2,0,3],\"sex-studentki.live\":[2,0,0,0,1,3,0,0,1,0,0],\"subscribestar.adult\":[2,0,0,1,0,5,0,0,2,0,1],\"gigabyte.com\":[10,1,1,1,1,6,0,0,3,1,0],\"boards.net\":[6,1,0,2,0,9,2,0,3,4,1],\"likemanga.ink\":[2,0,0,0,0,3,0,0,0,0,0],\"fr.de\":[88,1,1,2,0,8,2,0,7,1,0],\"schneidercorp.com\":[4,0,0,0,0,4,0,0,2,0,0],\"ppv.to\":[2,0,0,0,0,4,0,0,0,0,0],\"phantasytour.com\":[75,0,0,2,0,7,1,0,7,3,1],\"bleepingcomputer.com\":[24,2,1,3,0,6,1,0,2,0,2],\"acesso.gov.pt\":[0,0,0,1,1,3,0,0,0,0,0],\"abritel.fr\":[8,0,1,0,1,7,1,0,7,0,8],\"somtoday.nl\":[1,0,0,0,0,2,0,0,2,0,0],\"winloot.com\":[14,1,0,1,0,8,0,0,3,2,0],\"bancosantander.es\":[4,1,1,2,1,4,0,0,5,0,1],\"goal.com\":[39,1,1,0,1,7,0,0,4,2,1],\"mariowiki.com\":[2,0,1,2,0,3,0,0,0,0,0],\"zakon.kz\":[4,1,0,0,1,3,0,0,1,3,0],\"theiconic.com.au\":[32,1,0,4,0,8,0,0,9,2,7],\"hapitas.jp\":[32,0,0,1,0,8,1,0,6,1,1],\"consumentenbond.nl\":[6,1,0,3,0,6,0,0,5,0,1],\"opus.pro\":[10,1,2,3,0,12,0,0,7,3,3],\"mobanwang.com\":[2,0,0,0,0,3,1,0,1,0,0],\"rebuy.de\":[2,0,1,1,0,0,0,0,0,0,2],\"jumpcloud.com\":[3,1,1,1,0,2,0,0,3,0,3],\"autojournal.fr\":[21,0,2,1,1,5,1,0,1,3,1],\"oddschecker.com\":[12,0,0,2,0,3,0,0,4,0,2],\"gamestop.com\":[7,0,2,3,0,6,0,0,5,0,4],\"dopebox.to\":[4,2,0,1,0,8,0,0,2,0,0],\"playerauctions.com\":[4,1,0,0,0,5,0,0,1,0,4],\"urzadskarbowy.gov.pl\":[0,0,0,0,0,2,0,0,0,0,1],\"jhu.edu\":[12,1,0,3,0,14,0,0,5,1,4],\"91porna.com\":[2,0,0,1,0,3,0,0,3,0,0],\"thelion.com\":[1,0,0,0,0,1,0,0,1,0,0],\"mega.nz\":[2,0,0,0,1,5,0,0,0,0,1],\"handelsblatt.com\":[62,2,1,1,0,8,2,0,11,2,1],\"adultgamesworld.com\":[4,0,0,1,1,4,0,3,3,1,0],\"lorientlejour.com\":[7,0,0,1,0,1,0,0,3,2,2],\"petco.com\":[19,1,1,3,0,10,1,0,13,1,6],\"privatbank.ua\":[3,0,0,1,0,6,0,0,1,0,0],\"eltiempo.es\":[79,1,1,2,1,4,0,0,8,2,0],\"ubs.com\":[7,1,0,2,1,4,1,0,2,1,1],\"sokker.org\":[6,0,0,0,0,6,1,0,1,0,0],\"trafficnews.jp\":[17,1,0,0,0,8,2,0,6,6,2],\"watchhentai.net\":[1,1,0,1,0,3,0,1,0,1,0],\"watchsomuch.to\":[2,1,0,1,0,5,0,0,1,0,0],\"spokeo.com\":[11,1,1,3,0,8,0,0,2,5,1],\"lpl.com\":[6,1,1,2,0,5,0,0,3,0,3],\"olevod.com\":[1,0,0,1,0,4,0,0,1,0,0],\"carnival.com\":[19,0,1,2,0,10,0,0,8,3,2],\"cellartracker.com\":[3,0,0,0,0,4,0,0,3,0,0],\"sbb.ch\":[3,1,1,1,0,6,0,0,3,0,1],\"fotka.com\":[20,0,0,1,0,5,0,0,3,0,1],\"csstats.gg\":[29,0,1,1,1,6,1,0,1,0,0],\"prusa3d.com\":[11,1,2,3,0,11,0,0,6,5,5],\"doubledowncasino.com\":[8,0,0,1,0,5,0,0,4,1,1],\"actionnetwork.org\":[3,0,0,2,0,7,0,0,1,1,0],\"tradovate.com\":[9,0,1,4,0,5,0,0,7,2,3],\"wealthfront.com\":[8,0,0,0,0,4,0,0,2,1,1],\"brettspielnetz.de\":[2,0,0,0,0,1,0,0,1,1,0],\"emag.hu\":[8,1,0,2,1,8,0,0,3,1,1],\"aegeanair.com\":[13,0,1,0,0,8,1,0,5,0,4],\"dramafren.org\":[2,0,0,0,0,5,0,0,3,0,2],\"tokubai.co.jp\":[7,0,0,0,0,6,0,0,5,6,1],\"avsee.ru\":[0,1,0,0,1,4,1,0,1,0,0],\"fastestvpn.com\":[2,0,0,0,0,5,0,0,1,0,0],\"agenziaentrateriscossione.gov.it\":[0,0,0,0,1,2,0,0,0,0,0],\"libahao.com\":[1,0,0,0,0,0,1,0,0,0,0],\"cigna.com\":[3,0,1,0,0,2,0,0,3,0,4],\"game.es\":[5,1,1,0,1,3,0,0,2,0,0],\"gamersclub.com.br\":[10,2,0,3,1,7,0,0,6,1,1],\"allkpop.com\":[33,2,1,2,0,8,1,0,3,4,1],\"n11.com\":[10,0,0,0,1,5,2,0,7,2,1],\"online-fix.me\":[2,1,0,2,1,5,0,0,0,1,0],\"neokyo.com\":[12,1,0,3,0,6,0,0,5,2,1],\"tvpass.org\":[1,0,0,0,0,2,0,0,1,0,0],\"mydesi2.net\":[2,1,0,0,0,6,0,1,2,0,0],\"trackthet.com\":[3,0,0,1,0,1,0,0,1,0,0],\"kopazar.com\":[6,0,0,1,1,4,0,0,0,0,0],\"databricks.com\":[16,1,1,3,0,12,0,0,11,1,3],\"sendgrid.com\":[5,0,1,2,0,8,0,0,7,0,4],\"tike.gr\":[2,0,0,0,0,4,0,0,0,0,1],\"lucidtrading.com\":[1,0,0,2,0,3,0,0,2,0,2],\"checkpoint.com\":[4,1,1,1,1,10,0,0,5,1,2],\"odido.nl\":[14,0,0,3,0,8,0,0,10,2,3],\"infakt.pl\":[15,0,1,1,0,7,0,0,4,1,1],\"kooora.com\":[36,1,1,1,1,7,0,0,4,3,2],\"whatboyswant.com\":[1,0,0,0,0,3,0,0,1,0,0],\"witanime.life\":[4,0,0,1,0,4,1,0,3,2,0],\"uhrforum.de\":[5,1,1,0,0,4,0,0,1,0,0],\"yandex-team.ru\":[1,0,0,0,0,3,0,0,1,0,0],\"turboscribe.ai\":[8,1,0,0,1,7,0,0,0,1,0],\"gay0day.com\":[0,0,0,1,0,4,0,1,0,0,0],\"gizmodo.jp\":[75,2,0,1,1,8,2,0,13,5,0],\"laccd.edu\":[3,1,0,1,0,8,0,0,5,2,0],\"iwantclips.com\":[3,1,1,2,0,6,0,0,6,0,0],\"paloaltonetworks.com\":[8,3,1,2,0,12,1,0,8,0,5],\"qoder.com\":[1,0,0,0,0,0,1,0,0,0,0],\"ha.com\":[30,2,1,0,0,4,0,0,4,0,2],\"steamgames.com\":[1,0,0,0,1,2,0,0,1,0,0],\"askubuntu.com\":[10,1,1,1,0,9,0,0,1,2,1],\"moneybird.com\":[0,1,0,1,0,2,0,0,0,0,1],\"tvp.pl\":[10,1,0,2,1,7,0,0,1,3,0],\"bridalgown.work\":[3,0,0,0,1,4,0,0,0,0,0],\"lepetitvapoteur.com\":[4,2,0,1,1,7,0,0,3,0,1],\"burgerpixel.net\":[1,0,1,0,1,1,1,0,2,0,0],\"szerencsejatek.hu\":[8,1,1,0,1,4,0,0,3,0,0],\"apk.tw\":[6,1,0,0,1,5,0,0,2,0,0],\"y8.com\":[8,1,1,1,0,6,0,0,4,0,2],\"dumbingofage.com\":[63,0,1,1,0,6,1,0,5,2,0],\"shufoo.net\":[13,0,0,0,0,4,0,0,2,0,1],\"magyaranime.eu\":[5,0,0,0,0,5,0,0,2,0,0],\"dreamchance.net\":[21,0,0,0,0,3,0,0,2,1,0],\"newrepublic.com\":[76,1,4,3,0,8,1,0,10,2,1],\"toom.de\":[27,1,1,0,1,4,0,0,2,1,2],\"torontosun.com\":[91,3,3,3,0,10,2,0,16,4,2],\"nzbfinder.ws\":[2,1,0,1,0,3,0,0,1,0,0],\"alchemer.eu\":[1,1,0,1,0,5,0,0,0,1,0],\"upfilesgo.com\":[76,1,1,3,1,8,0,0,6,1,1],\"cic.gc.ca\":[3,0,0,1,1,6,0,0,2,0,2],\"gamespark.jp\":[14,1,0,0,1,6,0,0,4,3,1],\"korben.info\":[1,1,0,0,1,4,0,0,1,0,0],\"urlebird.com\":[3,0,1,1,0,7,0,0,1,1,0],\"boatrace.jp\":[16,0,0,0,0,2,0,0,6,1,0],\"vxxx.com\":[2,1,0,0,0,4,0,2,2,0,1],\"rover.com\":[7,1,1,2,0,8,0,0,2,1,3],\"guancha.cn\":[1,0,0,1,1,3,1,0,3,0,0],\"machotube.tv\":[1,0,0,1,0,5,0,1,2,0,0],\"citizensbankonline.com\":[3,0,1,0,0,5,0,0,6,0,5],\"journaldugeek.com\":[18,1,0,1,0,6,0,0,4,4,0],\"vipleague.io\":[4,1,0,2,0,4,0,0,1,1,1],\"bizjournals.com\":[56,0,1,3,0,5,0,0,12,1,5],\"pitt.edu\":[4,1,0,1,0,11,0,0,6,1,1],\"minimax.io\":[6,0,0,2,1,7,0,0,3,1,1],\"fromjapan.co.jp\":[6,0,0,4,0,7,0,0,2,0,0],\"tufts.edu\":[2,2,0,2,0,9,1,0,5,0,2],\"sport.cz\":[16,1,0,0,0,7,0,0,2,3,0],\"g4media.ro\":[20,1,1,0,0,7,0,0,2,1,3],\"23andme.com\":[3,0,0,3,0,8,0,0,2,0,5],\"kinky.nl\":[1,0,0,1,0,3,0,0,1,0,2],\"nationalpost.com\":[101,3,3,2,0,11,2,0,19,5,4],\"stake.us\":[4,0,0,1,0,5,1,0,5,0,4],\"tacobell.com\":[6,0,1,0,0,7,0,0,2,1,1],\"liberoquotidiano.it\":[25,1,1,0,1,5,0,0,5,3,0],\"opticsplanet.com\":[27,2,0,2,0,5,1,0,4,3,4],\"ucsc.edu\":[4,1,0,1,0,11,0,0,6,2,1],\"anz.co.nz\":[4,0,0,0,0,1,0,0,4,0,1],\"vidtrx.com\":[2,0,0,0,0,3,0,0,2,0,0],\"fs18.lol\":[5,1,0,0,0,7,2,0,1,0,0],\"espn.co.uk\":[10,0,1,0,0,5,1,0,6,2,1],\"pcgameshardware.de\":[21,1,1,1,1,8,1,0,4,2,0],\"macro.com.ar\":[7,0,0,1,0,5,0,0,4,0,2],\"fcportables.com\":[6,0,0,1,1,3,0,0,3,0,0],\"electro-torrent.pl\":[3,1,0,0,0,7,1,0,2,1,0],\"artlist.io\":[10,1,1,2,0,8,0,0,8,0,4],\"smzdm.com\":[1,0,0,0,1,0,3,0,0,0,0],\"upornia.tube\":[2,1,0,1,1,6,1,3,2,0,1],\"win2day.at\":[5,1,1,1,1,6,0,0,0,0,0],\"iporntv.net\":[2,1,0,1,0,4,1,1,1,2,0],\"hiring.cafe\":[2,0,0,0,0,5,0,0,3,1,0],\"siteground.com\":[9,0,1,1,0,3,0,0,1,1,3],\"game3rb.com\":[3,1,0,2,0,7,0,0,5,1,0],\"frontiersin.org\":[8,1,1,1,0,9,0,0,7,1,0],\"weerplaza.nl\":[15,0,1,0,1,6,0,0,3,0,0],\"bestcam.tv\":[2,1,0,1,1,4,0,0,2,0,0],\"interencheres.com\":[7,0,0,3,1,4,0,0,3,0,0],\"gmgn.ai\":[2,0,0,1,0,4,0,0,3,1,1],\"vi.nl\":[28,3,1,0,0,7,0,0,5,3,2],\"bndestem.nl\":[24,1,0,2,0,6,2,0,2,2,1],\"workman.jp\":[6,0,0,0,0,7,0,0,2,0,1],\"openlibrary.org\":[1,0,0,0,0,4,0,0,0,0,1],\"simplii.com\":[5,0,1,0,0,3,0,0,1,0,5],\"gmx.at\":[87,4,0,2,1,6,2,0,8,0,2],\"classicfootballshirts.co.uk\":[8,0,1,3,0,7,0,0,5,1,3],\"playerok.com\":[3,0,0,0,1,2,0,0,2,2,0],\"500px.com\":[24,0,1,2,0,6,0,0,2,1,2],\"lrepacks.net\":[1,0,0,2,1,3,0,0,2,0,0],\"nrl.com\":[29,0,2,3,0,8,1,0,8,1,3],\"kaipoke.biz\":[3,0,0,0,0,0,0,0,2,0,0],\"activehosted.com\":[2,0,0,3,0,9,0,0,8,1,3],\"gaijin.net\":[4,0,1,2,1,5,0,0,2,1,0],\"aajtak.in\":[51,2,0,2,0,8,0,0,8,3,2],\"continente.pt\":[8,1,1,1,0,7,0,0,7,1,2],\"dlraw.cc\":[0,0,0,1,0,3,1,0,2,0,1],\"wallstreet-online.de\":[64,2,1,0,1,6,1,0,4,0,1],\"theknot.com\":[16,1,1,5,0,9,0,0,13,2,4],\"mbl.is\":[5,1,1,3,0,7,0,0,5,3,2],\"proxibid.com\":[6,1,0,2,0,9,0,0,6,1,2],\"thenkiri.com\":[4,1,0,0,0,5,0,0,2,1,1],\"greenmangaming.com\":[6,1,0,4,1,8,0,0,5,1,4],\"aguea.com\":[1,0,0,0,0,2,0,0,1,1,0],\"vortexscans.org\":[2,0,0,1,0,3,0,0,1,0,1],\"borsaitaliana.it\":[8,0,1,0,0,4,0,0,1,0,0],\"amazon.co.za\":[11,0,0,0,1,5,0,0,2,0,0],\"influencersgonewild.com\":[2,0,0,1,0,3,0,0,1,0,0],\"fanatics.com\":[8,0,0,1,0,5,0,0,6,2,3],\"bookmark.xxx\":[2,0,0,0,0,2,0,0,3,0,0],\"dashnet.org\":[2,0,0,0,0,4,0,0,1,0,0],\"largus.fr\":[14,1,1,2,1,10,0,0,3,2,2],\"591.com.tw\":[5,1,0,1,1,6,0,0,5,0,1],\"aniwatch.co.at\":[3,1,0,0,0,8,0,0,3,1,1],\"gta.world\":[3,4,0,3,0,11,1,0,3,0,1],\"pardot.com\":[3,0,0,0,0,3,0,0,2,0,0],\"zimmo.be\":[36,1,1,1,0,6,0,0,3,1,1],\"fsonline.app\":[4,0,0,1,1,7,1,1,2,1,0],\"kaigai-antenna.com\":[8,0,0,0,0,2,0,0,2,0,0],\"mylighthouse.com\":[3,0,0,1,1,5,1,0,4,0,2],\"gov.cz\":[5,1,1,1,1,12,1,0,3,0,3],\"v2ph.com\":[3,0,0,0,0,3,0,0,2,0,0],\"ontvtonight.com\":[34,0,1,0,0,7,0,0,3,0,0],\"klamm.de\":[71,1,1,1,0,7,1,0,4,1,1],\"vitacost.com\":[7,1,1,2,0,7,1,0,5,0,3],\"anime3rb.com\":[2,0,0,0,0,3,0,0,2,0,0],\"decathlon.co.uk\":[13,1,1,3,0,4,1,0,5,2,3],\"cpubenchmark.net\":[35,1,1,2,0,6,1,0,2,0,0],\"diablo2.io\":[18,1,1,1,0,9,1,0,3,0,0],\"jkforum.net\":[2,0,0,1,1,4,1,0,2,0,0],\"dynamimots.fr\":[2,0,0,0,0,0,0,0,1,2,0],\"netvisor.fi\":[1,0,0,0,0,0,0,0,0,0,0],\"duunitori.fi\":[9,1,0,2,0,7,0,0,4,1,1],\"evernote.com\":[3,1,0,1,0,8,0,0,2,0,4],\"uwaterloo.ca\":[4,1,0,1,0,11,0,0,2,2,1],\"elitedangerous.com\":[2,0,1,0,0,2,0,0,0,0,1],\"2chblog.jp\":[13,1,0,0,0,8,1,0,6,5,1],\"wir-machen-druck.de\":[8,1,1,3,1,3,0,0,2,0,2],\"ebay.at\":[1,0,0,1,1,5,1,0,0,0,2],\"bolha.com\":[10,0,1,1,0,5,1,0,4,0,0],\"comic-days.com\":[17,0,0,1,1,4,1,0,3,3,1],\"waveapps.com\":[8,2,1,2,0,10,0,0,6,0,6],\"cam4.eu\":[2,0,0,1,1,3,1,0,2,0,1],\"futbol-11.com\":[31,1,0,1,0,6,0,0,3,1,0],\"planespotters.net\":[12,0,1,1,0,4,0,0,1,0,0],\"fatality-cs.info\":[3,1,0,0,0,2,1,0,2,0,0],\"dhlecommerce.nl\":[4,1,1,1,0,5,0,0,1,0,4],\"kundelik.kz\":[3,0,0,1,1,3,0,0,1,0,0],\"malaymail.com\":[41,0,0,1,0,4,0,0,5,0,0],\"kuleuven.be\":[4,1,1,2,0,9,0,0,2,1,1],\"dnevno.hr\":[5,1,0,1,0,9,0,0,4,3,1],\"nortonsafesearch.com\":[1,0,1,1,0,3,1,0,1,0,0],\"githubstatus.com\":[0,0,0,2,0,3,0,0,0,2,1],\"umd.net\":[1,0,0,0,0,3,0,0,1,0,0],\"bedbathandbeyond.com\":[12,0,0,3,0,10,0,0,4,1,4],\"sberbank.ru\":[1,0,0,0,1,2,0,0,2,2,0],\"fastcoin.ga\":[0,0,0,0,0,6,0,0,1,0,0],\"printful.com\":[7,1,1,4,0,8,0,0,3,1,3],\"kommersant.ru\":[2,0,0,2,1,3,1,0,2,2,0],\"spiceworks.com\":[11,1,1,1,0,6,0,0,5,3,0],\"thepiratebay10.info\":[1,0,0,0,0,2,0,0,1,0,0],\"verizonwireless.com\":[9,1,1,3,0,4,0,0,5,0,3],\"pornmedium.com\":[1,0,0,0,0,4,0,0,2,0,0],\"eadaily.com\":[3,0,0,2,1,3,0,0,3,2,0],\"usgs.gov\":[3,1,0,1,0,8,0,0,2,0,0],\"wmovies.one\":[5,1,0,0,0,7,2,0,2,0,0],\"sammobile.com\":[4,1,0,1,1,6,0,0,3,1,2],\"academy.com\":[8,0,0,3,0,9,2,0,6,0,6],\"newbalance.com\":[9,1,1,3,0,8,0,0,11,1,4],\"ii.co.uk\":[12,1,1,3,1,4,0,0,7,0,3],\"sling.com\":[20,0,1,1,0,6,0,0,11,1,4],\"adventhealth.com\":[2,1,0,0,0,9,0,0,2,0,2],\"onedio.com\":[19,1,0,0,0,8,0,0,2,4,1],\"pubjav.com\":[4,1,0,1,0,7,0,1,3,1,0],\"elamigos.site\":[1,0,0,1,1,3,0,0,2,0,0],\"24tv.ua\":[13,1,0,1,0,12,0,0,4,2,1],\"azet.sk\":[14,1,0,0,0,4,1,0,2,1,1],\"exvagos.org\":[3,1,0,0,0,5,1,0,1,0,0],\"klmanga.ec\":[0,0,0,0,0,0,0,0,1,0,0],\"sexandfunforum.info\":[2,0,0,2,0,3,0,0,2,0,0],\"javsaga.ninja\":[2,1,0,1,0,6,0,0,2,0,0],\"strip2.co\":[5,0,0,1,1,4,0,0,1,0,0],\"vatanbilgisayar.com\":[6,1,0,0,1,3,0,0,4,0,0],\"yad2.co.il\":[9,0,0,2,0,7,0,0,4,0,1],\"dextools.io\":[0,0,1,0,1,2,0,0,1,1,0],\"merchantos.com\":[2,0,0,3,0,7,0,0,5,0,1],\"ucr.edu\":[3,2,0,2,0,12,0,0,5,2,0],\"www.gob.mx\":[5,1,0,0,1,10,0,0,4,3,1],\"morele.net\":[6,1,0,0,0,4,1,0,3,0,0],\"web.dev\":[4,1,0,0,1,8,0,0,1,0,0],\"jet2holidays.com\":[11,1,1,2,0,6,2,0,9,0,4],\"cdmx.gob.mx\":[3,1,0,3,1,11,0,0,2,2,1],\"uspto.gov\":[3,1,0,1,0,7,0,0,4,0,0],\"adultempire.com\":[2,1,0,0,0,2,0,0,1,0,0],\"mollie.com\":[6,0,0,0,0,11,1,0,4,0,4],\"nepremicnine.net\":[3,1,1,0,0,9,0,0,2,0,1],\"asics.com\":[18,1,1,5,1,9,0,0,18,1,5],\"diamond.jp\":[15,1,0,0,0,4,0,0,3,1,1],\"siska.video\":[5,1,0,3,0,6,0,1,3,1,1],\"yugipedia.com\":[8,0,0,3,0,6,0,0,1,0,0],\"mangaraw.ma\":[0,0,0,0,0,3,0,0,0,0,0],\"purespectrum.com\":[1,0,1,3,0,4,0,0,6,0,1],\"popjav.in\":[3,0,0,0,0,8,0,1,3,0,0],\"flyertalk.com\":[19,1,1,0,0,6,0,0,3,2,0],\"danskebank.dk\":[4,0,0,0,0,2,0,0,3,0,2],\"fireflies.ai\":[11,1,0,2,0,9,1,0,10,2,3],\"nydus.org\":[3,0,1,0,1,2,0,0,0,0,0],\"tsumanne.net\":[3,1,0,0,0,3,0,1,2,0,0],\"picclick.com\":[2,0,0,0,0,3,0,0,2,0,0],\"imagepond.net\":[2,0,0,1,1,4,0,0,1,0,0],\"hottopic.com\":[11,0,1,5,0,3,0,0,8,1,5],\"sportbox.ru\":[12,0,0,1,1,1,1,0,6,1,0],\"rule34gen.com\":[2,0,0,1,1,3,0,1,2,0,0],\"openathens.net\":[1,0,0,0,0,3,0,0,1,0,0],\"qonto.com\":[15,0,1,1,0,7,0,0,10,1,2],\"acer.com\":[6,1,1,5,1,13,1,0,6,3,4],\"kaseya.com\":[3,1,0,5,0,7,0,0,1,0,2],\"walkerplus.com\":[10,0,0,0,0,6,0,0,3,2,0],\"wnd.com\":[43,1,0,0,0,6,0,0,5,2,1],\"gbatemp.net\":[5,1,1,1,0,7,1,0,2,3,0],\"glean.com\":[4,0,1,2,0,7,1,0,6,1,2],\"efukt.com\":[1,0,0,2,1,5,0,1,3,0,0],\"stadt-bremerhaven.de\":[42,1,1,0,0,7,1,0,5,1,0],\"pornmd.com\":[1,0,0,1,0,2,0,0,1,0,0],\"gayforit.eu\":[1,0,0,1,0,3,0,0,1,0,0],\"comfy.ua\":[8,1,0,0,0,7,0,0,2,0,1],\"torrentdownloads.pro\":[0,0,0,1,1,3,0,0,2,0,0],\"myon.com\":[0,0,0,0,0,0,0,0,0,0,0],\"zhipin.com\":[2,0,0,0,1,1,3,0,0,0,0],\"pmi.org\":[10,3,0,4,0,11,1,0,5,1,3],\"jsonline.com\":[47,1,1,1,0,3,0,0,6,2,1],\"circleci.com\":[3,0,1,3,0,7,0,0,8,1,3],\"virginmedia.com\":[9,1,1,1,0,6,1,0,10,0,4],\"carousell.sg\":[30,0,0,1,1,7,1,0,6,0,3],\"flightsim.to\":[44,1,1,3,1,7,1,0,4,0,1],\"booklooker.de\":[1,0,1,0,0,3,0,0,0,0,0],\"hypixel.net\":[3,1,0,2,0,10,1,0,2,1,2],\"sorare.com\":[3,0,0,0,0,5,0,0,5,0,6],\"bt.no\":[7,1,0,0,0,6,2,0,0,0,2],\"z2u.com\":[9,0,0,1,1,6,1,0,3,1,0],\"henrri.net\":[3,0,1,3,0,7,0,0,2,0,0],\"brickset.com\":[10,0,1,2,0,4,0,0,5,1,0],\"quicklaunch.io\":[3,0,0,0,0,6,0,0,2,0,2],\"hdrezka-home.tv\":[4,1,0,0,1,5,0,0,3,2,0],\"smartschool.be\":[1,1,0,0,0,4,3,0,0,0,1],\"weblio.jp\":[11,0,0,1,0,8,0,0,2,0,0],\"turo.com\":[12,0,1,2,0,5,0,0,5,0,5],\"nptel.ac.in\":[3,1,0,0,1,9,0,0,0,1,1],\"colonist.io\":[81,2,2,3,0,9,0,0,10,0,4],\"ppe.pl\":[7,1,1,0,0,4,0,0,1,3,0],\"wyylde.com\":[7,0,0,1,0,6,0,0,2,1,1],\"cuisineaz.com\":[60,0,0,2,1,4,2,0,5,0,1],\"doodle.com\":[65,0,2,4,0,7,1,0,5,0,4],\"teleman.pl\":[5,0,0,0,1,3,0,0,1,0,0],\"rockpapershotgun.com\":[56,1,1,3,0,4,1,0,6,0,0],\"exeygo.com\":[102,1,1,3,0,8,0,0,8,1,1],\"bobshop.co.za\":[8,0,1,0,1,3,0,0,3,1,1],\"gamekult.com\":[87,2,2,2,1,10,1,0,7,2,3],\"4download.net\":[4,2,0,1,0,7,1,0,2,0,0],\"mangooutlet.com\":[3,0,0,1,0,4,0,0,2,0,1],\"sydsvenskan.se\":[18,0,0,0,0,5,0,0,4,2,1],\"tpi.li\":[67,0,1,3,1,5,0,0,7,1,0],\"mmo-champion.com\":[30,4,2,0,0,11,3,0,7,3,1],\"avple.tv\":[5,0,0,1,1,4,0,1,1,0,0],\"kino.pub\":[0,1,0,0,1,3,0,0,2,1,0],\"obesu.com\":[0,0,0,0,0,2,0,0,0,0,0],\"videosection.com\":[2,0,0,1,1,6,0,2,2,0,0],\"bricomarche.com\":[28,1,0,2,1,4,0,0,4,1,2],\"codicefiscaleonline.com\":[6,0,0,0,1,4,0,0,0,2,2],\"deporte-libre.click\":[5,1,0,0,0,10,0,0,2,0,0],\"statcounter.com\":[22,0,0,0,0,7,0,0,1,0,0],\"openclaw.ai\":[3,1,0,1,0,5,0,0,1,1,0],\"court.gov.ua\":[5,1,0,0,0,3,0,0,1,0,0],\"belgium.be\":[3,1,1,1,1,7,0,0,0,0,0],\"alphacoders.com\":[8,0,0,1,1,5,0,0,1,0,0],\"appcoll.com\":[0,0,0,0,0,0,0,0,0,0,0],\"stel.com\":[0,0,0,0,0,2,0,0,0,0,0],\"sierra.com\":[13,0,1,3,0,3,0,0,3,1,3],\"ygoprodeck.com\":[28,2,2,3,0,8,1,0,6,0,0],\"voirdrama.to\":[4,1,0,1,0,5,0,0,6,2,0],\"matsui.co.jp\":[11,1,0,0,0,5,0,0,1,2,0],\"tv-libre.net\":[7,1,0,0,0,7,1,0,3,0,0],\"lidl.pl\":[25,1,1,3,0,3,1,0,2,0,0],\"solarweb.com\":[4,0,1,0,1,1,0,0,2,0,1],\"adform.com\":[20,0,1,2,0,4,0,0,2,0,1],\"sreality.cz\":[11,0,0,1,0,4,0,0,3,0,1],\"bleedingcool.com\":[28,1,1,3,0,7,1,0,3,5,0],\"isuo.org\":[3,0,0,1,0,1,0,0,2,0,0],\"bitvavo.com\":[7,0,0,2,0,4,0,0,5,1,2],\"letras.mus.br\":[23,2,0,0,1,7,0,0,2,0,1],\"ttks.tw\":[4,0,0,1,0,3,0,0,1,0,1],\"movieparadise.org\":[3,1,0,0,1,5,1,0,3,1,0],\"usphonebook.com\":[92,1,2,3,0,6,0,0,11,1,4],\"lecho.be\":[10,1,1,3,0,4,0,0,2,2,0],\"autovit.ro\":[12,1,1,1,1,7,2,0,4,0,2],\"2gis.ru\":[2,0,0,1,1,4,0,0,4,1,0],\"google.com.tw\":[4,1,0,0,0,5,0,0,0,0,1],\"very.co.uk\":[14,0,1,3,0,5,1,0,8,1,4],\"nederlandseloterij.nl\":[10,0,0,1,0,7,0,0,5,0,2],\"impact.com\":[9,4,1,1,0,11,0,0,12,0,2],\"render.com\":[5,0,2,4,0,4,1,0,3,2,3],\"hentairox.com\":[2,0,0,0,0,5,0,0,1,0,0],\"puzzle-nonograms.com\":[61,0,3,3,0,6,1,0,5,0,0],\"automaton-media.com\":[37,1,1,1,0,6,0,0,5,5,0],\"cpasbien.ws\":[1,0,0,0,1,3,1,0,2,1,1],\"javtrailers.com\":[2,0,0,1,0,4,0,1,2,0,0],\"breuninger.com\":[8,0,0,1,1,4,0,0,1,0,0],\"theyarehuge.com\":[4,0,0,1,0,5,0,1,1,0,0],\"uafix.net\":[4,1,0,0,0,4,0,0,2,0,0],\"articulate.com\":[7,3,1,2,0,5,0,0,6,1,3],\"runrepeat.com\":[55,0,1,1,0,5,0,0,5,0,0],\"janeapp.com\":[2,0,0,1,0,3,0,0,2,0,4],\"aljazeera.net\":[13,2,1,2,1,7,1,0,4,3,2],\"rtl.fr\":[58,1,2,1,1,9,1,0,4,4,2],\"connexus.com\":[3,1,0,0,0,10,0,0,3,0,0],\"worldofbooks.com\":[6,0,1,5,0,12,0,0,4,0,4],\"genially.com\":[3,1,1,3,0,11,0,0,3,1,2],\"nist.gov\":[2,2,0,1,0,6,0,0,4,0,0],\"reolink.com\":[37,2,0,4,0,7,0,0,7,2,2],\"punjabpolice.gov.pk\":[0,0,0,0,0,3,0,0,1,0,1],\"zazaza.me\":[1,0,0,0,1,1,0,0,0,0,0],\"wiocha.pl\":[32,0,1,1,0,4,0,0,2,0,0],\"officeworks.com.au\":[16,1,0,2,0,6,1,0,11,1,6],\"sageone.com\":[3,0,0,1,0,3,0,0,3,0,0],\"123movienow.cc\":[1,0,0,1,0,3,1,0,1,0,0],\"finofilipino.org\":[6,1,1,1,0,7,0,0,5,3,0],\"key.com\":[11,1,0,2,0,1,0,0,7,1,2],\"torrentbd.net\":[3,1,0,0,1,6,1,0,3,2,0],\"fcpeuro.com\":[7,1,0,4,0,9,0,0,5,0,3],\"numerama.com\":[38,1,1,0,0,9,0,0,8,2,0],\"okx.com\":[5,0,1,1,0,3,0,0,3,1,2],\"kan.org.il\":[6,1,0,0,0,4,0,0,4,2,1],\"hellhades.com\":[24,1,1,2,0,7,1,0,2,1,0],\"vidara.so\":[4,1,0,1,0,7,0,0,1,0,0],\"forticloud.com\":[0,0,0,2,0,4,1,0,0,0,1],\"pngegg.com\":[7,0,0,1,0,5,0,0,2,0,0],\"ifis.co.jp\":[6,0,0,0,0,3,0,0,1,0,0],\"ratp.fr\":[3,0,0,0,0,4,0,0,3,4,1],\"strauss.com\":[4,0,0,5,1,6,0,0,7,0,1],\"red-by-sfr.fr\":[7,0,0,0,0,3,0,0,2,0,1],\"statista.com\":[13,0,1,1,0,4,0,0,7,1,0],\"lawyersgunsmoneyblog.com\":[90,2,1,2,0,8,2,0,11,4,1],\"en-thunderscans.com\":[1,0,0,0,0,4,0,0,2,1,0],\"komplett.no\":[5,2,1,2,0,6,1,0,5,0,3],\"fussball.de\":[35,0,1,0,0,3,0,0,2,0,1],\"israelhayom.co.il\":[10,1,0,0,0,5,0,0,5,4,2],\"streamtape.com\":[2,1,0,1,1,5,1,0,3,0,0],\"invertironline.com\":[10,0,0,1,0,7,0,0,6,2,1],\"mangabats.com\":[17,1,0,0,0,6,0,0,2,0,1],\"hdblog.me\":[1,0,0,0,0,4,0,0,2,0,0],\"tsp.live\":[0,0,0,0,0,2,0,0,2,0,0],\"meteo.gr\":[17,0,2,1,1,7,0,0,1,0,0],\"supercell.com\":[4,3,1,1,1,10,0,0,2,1,2],\"profession.hu\":[29,2,1,1,0,3,1,0,8,0,2],\"ilsussidiario.net\":[60,0,1,1,0,6,0,0,5,1,2],\"javhub.net\":[1,0,0,1,0,4,0,1,1,0,0],\"fahrrad-xxl.de\":[31,2,0,3,0,5,1,0,2,0,2],\"wawacity.pizza\":[0,0,0,0,1,4,0,0,1,0,0],\"cox.com\":[25,1,1,2,0,3,1,0,7,1,1],\"sevenrooms.com\":[8,0,0,2,0,8,0,0,6,0,6],\"rule34vault.com\":[1,0,0,0,0,3,0,0,1,0,0],\"metlife.com\":[7,1,1,2,0,9,1,0,6,0,6],\"ak4.jp\":[2,0,0,0,0,0,0,0,2,0,0],\"csgo-skins.com\":[5,0,0,2,1,5,0,0,2,0,0],\"engie.be\":[11,1,0,4,0,5,0,0,3,1,1],\"escortsandbabes.com.au\":[3,0,0,0,1,5,0,0,1,0,1],\"crosswordsolver.org\":[37,0,0,1,0,3,1,0,3,0,0],\"bc.game\":[5,0,0,1,0,3,0,0,4,0,3],\"mignews.com\":[52,0,0,0,0,6,0,0,6,3,2],\"uidai.gov.in\":[3,1,0,0,1,5,0,0,1,2,1],\"pornovideoshub.com\":[2,0,0,2,0,4,0,0,3,1,0],\"bravodate.com\":[0,0,0,2,0,4,0,0,0,0,0],\"netmarble.com\":[8,1,0,2,1,5,0,0,4,3,1],\"freevideo.cz\":[0,0,0,0,0,1,0,0,0,0,0],\"reservecalifornia.com\":[2,0,0,0,0,2,0,0,1,0,1],\"digiforma.com\":[2,0,1,3,0,4,0,0,1,0,1],\"coupahost.com\":[1,0,0,1,0,4,0,0,2,0,2],\"standvirtual.com\":[14,1,1,3,1,8,2,0,5,0,2],\"beforward.jp\":[11,1,0,1,0,7,0,0,2,0,1],\"fflogs.com\":[16,0,1,2,0,4,1,0,5,0,1],\"thechive.com\":[63,0,2,4,0,6,1,0,13,3,1],\"ligamagic.com.br\":[6,2,0,0,1,4,0,0,1,0,0],\"znews.vn\":[6,0,0,0,0,3,0,0,2,0,0],\"humana.com\":[6,0,1,1,0,6,1,0,4,1,2],\"crateandbarrel.com\":[11,0,1,5,0,8,0,0,7,1,4],\"aniroleplay.com\":[47,3,1,1,0,8,2,0,6,2,1],\"figsoku.net\":[16,0,0,1,0,6,0,0,5,3,0],\"cdc.gov\":[2,1,0,0,0,7,0,0,2,0,1],\"tokyvideo.com\":[6,0,0,0,1,7,0,0,1,0,0],\"duosecurity.com\":[1,0,0,0,0,2,0,0,3,0,3],\"deeplol.gg\":[15,0,0,2,0,5,1,0,3,0,0],\"pge.com\":[2,1,1,1,0,7,1,0,2,0,2],\"tudocelular.com\":[7,1,0,0,1,7,0,0,0,2,0],\"smartcanucks.ca\":[18,0,0,2,0,6,1,0,5,0,0],\"misali2.com.tr\":[1,0,0,0,0,4,0,0,1,0,1],\"rabota.by\":[7,0,0,1,1,2,0,0,1,2,0],\"similarweb.com\":[11,0,1,2,0,9,0,0,11,0,5],\"wordleunlimited.org\":[3,0,0,0,0,1,0,0,2,0,0],\"wikidata.org\":[0,0,0,1,0,5,0,0,0,0,0],\"hiperdex.com\":[3,0,0,0,0,3,0,0,2,1,0],\"fatalmodel.com\":[3,0,0,0,1,3,0,0,3,0,1],\"nishinippon.co.jp\":[35,1,0,0,0,8,1,0,5,3,0],\"telkomuniversity.ac.id\":[6,1,0,1,1,6,0,0,4,0,0],\"couponfollow.com\":[1,0,0,0,0,2,0,0,0,0,2],\"forebet.com\":[7,0,0,1,0,4,0,0,2,0,0],\"tinywow.com\":[39,0,1,3,0,5,1,0,5,0,3],\"affirm.com\":[7,0,1,1,0,5,0,0,3,2,3],\"jpupskirts.club\":[0,0,0,0,1,2,0,0,2,0,0],\"terabox.app\":[5,0,0,1,0,6,1,0,2,2,1],\"homemoviestube.com\":[1,0,0,0,0,6,1,4,1,0,2],\"petapixel.com\":[69,1,2,5,0,6,2,0,8,3,1],\"shazam.com\":[3,1,0,1,1,4,0,0,0,0,0],\"amateur8.com\":[2,0,0,1,1,5,0,2,2,0,0],\"ticketone.it\":[8,0,2,1,1,4,0,0,4,0,1],\"glosbe.com\":[4,0,0,0,0,3,0,0,2,0,0],\"porzo.com\":[1,0,0,0,1,1,0,0,1,0,0],\"yummyani.me\":[4,1,0,0,1,6,0,0,2,1,1],\"gmx.com\":[29,0,1,2,0,6,3,0,1,0,0],\"goodrx.com\":[12,1,1,1,0,6,0,0,3,0,5],\"bauhaus.info\":[25,2,1,3,0,7,0,0,0,1,3],\"rokuhentai.com\":[1,0,0,0,0,3,0,0,1,0,1],\"waarneming.nl\":[0,0,0,0,0,1,0,0,0,0,2],\"oglaf.com\":[1,0,0,0,0,0,0,0,2,0,0],\"instructables.com\":[5,1,0,1,0,6,0,0,3,0,1],\"proximus.be\":[10,1,1,1,1,9,0,0,9,0,3],\"start.me\":[8,2,2,1,0,7,4,0,4,1,1],\"elektramat.nl\":[10,0,1,1,0,6,0,0,6,1,0],\"fdownloader.net\":[2,0,0,0,1,4,0,0,1,0,0],\"toranoana.jp\":[6,0,0,1,1,5,0,0,5,1,1],\"forthcrm.com\":[1,0,0,0,0,5,0,0,3,0,0],\"bpjs-kesehatan.go.id\":[1,0,0,0,0,4,0,0,1,0,0],\"logi.com\":[3,1,1,2,1,12,0,0,3,0,2],\"flashscore.com.br\":[14,0,1,0,0,2,1,0,2,0,0],\"vueling.com\":[9,0,1,2,1,8,0,0,7,0,2],\"dropmms.com\":[1,0,0,1,0,4,0,1,1,0,0],\"ssstik.io\":[6,1,0,0,0,3,0,0,0,0,0],\"eatingwell.com\":[30,1,2,1,0,6,2,0,7,1,0],\"jorudan.co.jp\":[43,0,0,0,0,7,0,0,4,3,0],\"farpost.ru\":[1,0,0,1,1,0,0,0,1,0,0],\"france24.com\":[40,1,0,0,0,5,0,0,5,3,1],\"gryphline.com\":[4,0,1,2,0,4,0,0,1,0,0],\"nj.com\":[119,2,3,2,0,11,1,0,21,3,4],\"psu.edu\":[5,2,0,1,0,14,0,0,7,0,2],\"telstra.com\":[3,0,0,4,0,5,0,0,4,1,2],\"apmex.com\":[30,2,0,4,0,7,0,0,5,0,2],\"manhuatop.org\":[3,0,0,0,0,2,0,0,2,1,0],\"mtb-news.de\":[56,2,1,1,0,5,2,0,3,0,0],\"wexhealth.com\":[2,0,0,1,0,3,0,0,2,0,2],\"meteoconsult.fr\":[56,1,1,0,1,4,0,0,5,0,1],\"flashscore.ua\":[30,0,1,1,0,3,1,0,3,0,1],\"autorefresh.io\":[2,0,0,0,0,3,0,0,1,0,1],\"nou.edu.ng\":[1,0,0,0,0,4,0,0,0,0,1],\"top.gg\":[29,0,2,3,0,5,2,0,4,0,0],\"gimkit.com\":[1,0,0,0,0,7,0,0,2,1,1],\"dirtyship.com\":[2,0,0,1,0,4,0,1,1,0,0],\"mk.ru\":[10,0,0,2,1,3,2,0,4,2,0],\"sicredi.com.br\":[1,0,0,0,1,3,0,0,4,0,0],\"expansion.com\":[50,1,1,1,1,6,1,0,10,0,3],\"mueller.de\":[6,0,1,1,0,4,1,0,1,0,0],\"chance.com\":[12,1,0,0,0,4,0,0,0,2,0],\"panasonic.com\":[11,3,4,7,1,14,3,0,12,1,5],\"workable.com\":[4,1,0,1,0,7,1,0,2,1,4],\"ero-video.net\":[1,0,0,1,1,3,0,0,2,0,0],\"techspot.com\":[21,1,1,0,0,7,0,0,5,3,1],\"inporn.com\":[2,1,0,0,1,4,1,3,4,0,1],\"onstove.com\":[6,1,0,2,1,6,0,0,2,0,1],\"kichhoat24h.com\":[0,0,0,0,0,5,0,0,0,0,0],\"furry-paws.com\":[1,0,0,0,0,1,0,0,0,0,0],\"i-ready.com\":[1,0,0,1,0,3,0,0,2,0,1],\"javideo.net\":[3,1,0,0,0,8,1,2,3,0,0],\"punjabeducareapp.com\":[5,1,0,0,0,8,1,0,3,1,0],\"colnect.com\":[46,0,0,1,0,6,0,0,3,0,1],\"cctv.com\":[0,0,0,0,1,1,2,0,2,0,0],\"multiup.io\":[2,0,0,1,0,4,0,0,1,0,1],\"onlinejobs.ph\":[6,0,0,0,0,9,0,0,3,0,0],\"propio-ls.com\":[0,0,0,0,1,4,0,0,1,0,3],\"vistaprint.fr\":[29,1,0,2,1,8,0,0,6,1,2],\"mlive.com\":[130,2,3,2,0,12,2,0,26,1,5],\"kantimehealth.net\":[1,0,0,0,0,4,0,0,2,0,0],\"nzz.ch\":[44,2,1,0,0,4,1,0,6,3,2],\"mydrivers.com\":[4,0,0,0,1,0,1,0,2,0,0],\"primor.eu\":[10,0,0,0,1,5,0,0,2,1,2],\"rehabmart.com\":[3,1,1,2,0,8,0,0,2,0,1],\"topdesk.net\":[0,0,0,1,0,3,0,0,0,0,0],\"1to1plus.com\":[0,0,0,0,0,1,0,0,0,0,0],\"myworkdaycdn.com\":[1,2,0,0,0,5,1,0,1,0,1],\"elliemae.com\":[0,0,0,0,0,2,0,0,0,0,0],\"eleconomista.com.mx\":[9,1,0,0,0,6,1,0,2,2,1],\"lidl.cz\":[21,1,1,1,0,3,0,0,2,0,0],\"harveynorman.com.au\":[8,2,0,4,0,7,1,0,4,0,4],\"famousbirthdays.com\":[22,1,1,1,0,3,1,0,0,0,0],\"publi24.ro\":[16,0,1,2,0,5,0,0,2,0,1],\"smbc.co.jp\":[5,0,0,0,1,4,0,0,4,0,1],\"tickets.com\":[19,0,0,1,0,7,1,0,8,2,4],\"winvalue.de\":[2,0,0,0,0,6,0,0,1,0,1],\"buffer.com\":[3,1,1,2,0,10,1,0,8,4,3],\"bunkr.fi\":[0,0,0,1,1,4,0,0,1,0,0],\"doctorofcredit.com\":[46,0,3,1,0,7,0,0,8,1,0],\"brack.ch\":[10,1,0,0,1,3,0,0,2,0,1],\"retailmenot.com\":[48,0,1,1,0,6,1,0,7,0,4],\"epam.com\":[2,0,1,0,0,5,1,0,5,1,2],\"bokugents.com\":[1,0,0,0,0,3,0,0,2,1,0],\"uwm.com\":[5,0,0,3,0,7,1,0,6,1,2],\"mass.gov\":[4,2,0,2,0,8,1,0,3,0,1],\"poseidon-scans.net\":[2,0,0,1,1,5,0,0,2,0,0],\"newrez.com\":[3,0,1,4,0,7,0,0,3,0,1],\"sam.gov\":[3,1,0,0,0,5,0,0,2,0,2],\"vinted.ie\":[24,0,1,0,0,4,0,0,1,0,1],\"libertaddigital.com\":[36,1,1,1,1,6,0,0,3,2,1],\"999.md\":[7,1,0,1,1,2,0,0,2,0,1],\"x1337x.eu\":[0,0,0,0,0,2,0,0,1,0,0],\"zozovideo.com\":[4,0,0,0,0,4,0,1,4,0,0],\"laowang.vip\":[0,0,0,1,1,3,1,0,1,0,0],\"vouchers.gov.gr\":[2,1,0,0,1,4,0,0,1,0,0],\"zonegfx.com\":[5,0,0,1,0,5,1,0,4,1,0],\"verifyemailaddress.org\":[12,0,0,0,0,4,0,0,2,0,0],\"demande-logement-social.gouv.fr\":[0,0,0,0,0,3,1,0,0,0,0],\"riverside.com\":[12,1,1,7,0,14,1,0,8,2,3],\"teleelevidenie.com\":[0,0,0,1,0,1,0,0,1,0,0],\"sellpy.se\":[8,0,0,1,0,4,0,0,1,2,3],\"178.com\":[1,0,0,1,0,2,1,0,0,0,0],\"usaudiomart.com\":[83,1,3,4,0,8,1,0,7,0,0],\"qut.edu.au\":[4,2,0,1,0,6,0,0,3,0,3],\"tinyastro.io\":[1,0,0,1,0,4,0,0,0,2,0],\"wehkamp.nl\":[10,0,0,4,0,4,0,0,5,1,2],\"dinotube.com\":[1,0,0,0,1,2,0,0,1,0,0],\"stooq.pl\":[50,0,0,2,1,5,0,0,4,0,0],\"vsthemes.org\":[1,0,0,1,1,4,0,0,1,0,1],\"webmail-seguro.com.br\":[2,0,0,0,1,3,0,0,3,0,0],\"recon.com\":[3,0,0,0,0,4,0,0,0,0,1],\"21vek.by\":[7,1,0,0,1,4,1,0,2,2,0],\"hibob.com\":[0,1,1,0,0,7,0,0,4,0,1],\"propertyview.net\":[0,0,0,0,0,2,0,0,1,0,0],\"af.mil\":[3,1,0,0,0,3,0,0,1,4,1],\"fractalsoftworks.com\":[2,1,0,2,1,6,2,0,1,1,0],\"uoc.edu\":[5,2,0,1,1,11,0,0,3,1,0],\"howardcarpendale2026.com\":[1,3,0,0,0,4,0,0,0,0,0],\"drugs.com\":[66,0,0,3,0,5,0,0,5,0,1],\"brother.com\":[4,1,0,1,1,3,0,0,2,0,0],\"jobkorea.co.kr\":[29,0,0,2,0,9,0,0,6,0,1],\"journaldequebec.com\":[27,2,0,0,0,8,1,0,5,3,3],\"cgpeers.to\":[2,1,0,1,1,6,0,0,0,0,0],\"avis.com\":[13,1,1,0,0,6,0,0,4,0,3],\"targobank.de\":[7,0,0,0,0,1,0,0,2,0,1],\"compass.education\":[2,0,0,2,0,5,0,0,3,0,1],\"manhwaz.com\":[2,0,0,0,0,2,0,0,2,0,0],\"tribune.com.pk\":[22,1,2,0,0,7,0,0,1,3,0],\"uts.edu.au\":[3,3,0,1,0,10,1,0,1,0,3],\"irishgenealogy.ie\":[2,0,1,0,0,5,0,0,2,0,0],\"w1mp.com\":[1,0,0,1,1,8,0,2,2,0,1],\"olg.ca\":[18,2,0,0,0,7,0,0,8,1,2],\"otter.ai\":[13,1,2,5,0,11,1,0,6,1,5],\"netfuck.net\":[6,0,0,2,0,7,0,1,3,0,0],\"femdom-pov.me\":[3,0,0,1,1,3,0,0,1,0,0],\"beacons.ai\":[6,5,0,4,1,10,0,0,5,3,3],\"animefire.io\":[3,1,0,0,1,6,2,0,2,0,0],\"kemendikdasmen.go.id\":[6,1,0,2,0,11,2,0,1,1,2],\"viz.com\":[9,0,2,2,0,7,0,0,3,4,4],\"bobaedream.co.kr\":[4,1,0,1,0,5,0,0,1,1,0],\"bbva.com.ar\":[9,1,0,1,0,4,0,0,6,0,2],\"ibanking-services.com\":[0,0,1,0,0,1,0,0,1,0,1],\"saramin.co.kr\":[26,1,0,2,0,6,0,0,3,0,0],\"gosupermodel.com\":[1,0,1,0,0,1,1,0,0,0,0],\"uwv.nl\":[1,1,0,3,0,5,2,0,3,0,1],\"web-durdom.ru\":[0,0,0,0,0,1,0,0,0,0,0],\"klz9.com\":[1,0,0,1,0,4,2,0,1,0,0],\"zalando.fi\":[5,0,1,1,0,3,1,0,1,0,2],\"shkolo.bg\":[2,0,0,1,0,5,0,0,2,0,0],\"jiji.com\":[30,1,0,0,0,6,1,0,6,0,1],\"ctrip.com\":[5,0,0,1,0,2,2,0,1,0,0],\"smogon.com\":[9,1,1,3,0,5,1,0,2,1,0],\"z-lib.gd\":[0,0,0,2,0,3,0,0,1,0,0],\"cumguru.com\":[0,0,0,0,1,2,0,0,1,0,0],\"autozone.com\":[21,1,1,2,0,5,0,0,8,0,3],\"hockeydb.com\":[41,1,0,2,0,7,0,0,4,0,0],\"celebritycruises.com\":[23,2,1,5,0,9,0,0,14,1,5],\"nyaa.land\":[0,0,0,1,0,4,1,0,2,0,0],\"imaglr.com\":[3,0,0,0,0,1,0,1,2,0,0],\"audiosciencereview.com\":[4,1,0,1,0,5,1,0,1,0,0],\"scamalytics.com\":[40,0,0,2,0,3,0,0,2,0,1],\"gamepciso.com\":[3,1,0,1,0,6,1,0,4,0,0],\"weatherbug.com\":[43,1,0,1,0,5,1,0,6,0,0],\"oxtorrent.ws\":[1,0,0,1,0,4,0,0,2,1,0],\"inquirer.com\":[51,2,1,1,0,12,0,0,15,4,3],\"cyclingnews.com\":[84,2,4,3,0,11,2,0,9,4,2],\"springernature.com\":[3,0,0,2,1,7,0,0,5,0,1],\"mailsuite.com\":[7,0,1,2,0,7,0,0,4,0,1],\"worldstarhiphop.com\":[30,2,0,0,0,6,0,0,4,1,1],\"notebookcheck.com\":[33,2,0,0,0,8,1,0,1,2,0],\"aladin.co.kr\":[6,1,0,0,0,6,0,0,2,0,0],\"posthog.com\":[1,2,0,0,0,8,0,0,0,1,1],\"oregon.gov\":[5,1,0,1,0,12,0,0,5,0,1],\"axa.fr\":[6,1,0,0,1,7,1,0,6,0,2],\"unleashedsoftware.com\":[0,0,0,2,0,4,0,0,0,0,3],\"umd.edu\":[5,1,0,1,0,14,0,0,8,1,3],\"manga18fx.com\":[1,0,0,0,1,2,0,0,0,0,0],\"ytmp3.sc\":[0,0,0,1,1,4,0,0,0,0,0],\"hurawatch.cc\":[4,1,0,0,0,5,0,0,2,0,0],\"xxxbule.com\":[0,0,0,1,0,3,0,2,0,0,0],\"skoften.net\":[54,1,1,2,1,4,0,0,6,0,0],\"fanduel.com\":[16,2,0,1,0,10,0,0,10,2,5],\"eurogirlsescort.com\":[2,0,0,0,0,3,0,0,2,0,0],\"analdin.xxx\":[4,0,0,1,1,5,0,2,2,0,0],\"coinglass.com\":[4,0,0,0,1,3,0,0,1,0,0],\"leakedmodels.com\":[1,0,0,2,1,3,0,0,1,0,0],\"sherdog.com\":[14,3,0,1,0,9,1,0,5,8,1],\"lww.com\":[9,2,1,2,1,6,0,0,7,2,2],\"minecraft-inside.ru\":[5,1,0,1,1,6,0,0,3,1,0],\"alldata.com\":[4,2,1,1,0,6,0,0,3,0,0],\"vaughn.live\":[10,1,1,2,1,5,0,0,1,0,0],\"ebookdz.com\":[9,0,0,0,0,5,1,0,2,0,0],\"delfi.lv\":[77,3,1,5,0,8,1,0,6,3,3],\"pahe.win\":[0,0,0,0,0,2,0,0,2,0,0],\"diakov.net\":[6,0,0,2,1,3,0,0,2,0,1],\"iplayerhls.com\":[2,0,0,1,0,5,0,0,2,1,0],\"oricon.co.jp\":[32,1,0,0,0,9,2,0,4,3,1],\"beehiiv.com\":[10,1,2,4,0,10,0,0,6,3,6],\"wargm.ru\":[1,0,0,0,1,0,0,0,2,0,0],\"tecmundo.com.br\":[9,1,0,1,1,5,0,0,4,4,0],\"fmoviesto.cc\":[5,1,0,0,0,7,0,0,2,0,0],\"polar.com\":[4,1,1,3,1,5,0,0,1,0,1],\"yts-official.top\":[3,1,0,1,1,6,1,0,2,0,0],\"digimart.net\":[10,1,0,1,0,6,0,0,3,2,0],\"cottonon.com\":[10,1,1,5,0,6,0,0,6,1,2],\"shonenmagazine.com\":[7,0,1,0,0,4,0,0,0,2,0],\"milenio.com\":[60,2,1,1,1,11,0,0,8,3,4],\"kmail-lists.com\":[0,0,0,2,0,5,0,0,1,0,2],\"dxheat.com\":[0,0,0,0,0,1,0,0,0,0,0],\"awwwards.com\":[7,2,0,1,0,5,0,0,3,0,2],\"urldefense.com\":[20,2,2,5,0,10,4,0,4,3,7],\"bb.com.br\":[9,0,0,1,1,4,0,0,5,0,1],\"listchallenges.com\":[2,0,0,0,0,3,1,0,0,0,0],\"crx7601.com\":[7,1,0,0,0,6,1,0,2,2,0],\"comick.dev\":[16,1,1,1,0,2,1,0,2,1,0],\"mm-cg.com\":[2,0,0,1,1,4,1,1,2,0,0],\"panopto.com\":[2,0,0,0,0,4,0,0,3,0,1],\"53.com\":[9,2,0,1,0,4,1,0,4,2,4],\"namevids.net\":[2,0,0,0,1,2,0,1,2,0,0],\"librarything.com\":[2,0,0,0,0,5,0,0,2,0,1],\"covers.com\":[12,0,2,2,0,7,0,0,4,3,1],\"sehuatang.net\":[0,0,0,0,0,2,0,0,1,0,0],\"ifirma.pl\":[5,1,0,0,0,4,0,0,1,0,0],\"anker.com\":[18,2,0,5,0,13,0,0,13,3,3],\"alarm.com\":[3,1,0,0,0,6,0,0,2,0,1],\"useme.org\":[2,0,0,0,0,4,0,0,2,0,0],\"sekai-kabuka.com\":[24,1,0,0,0,5,1,0,2,0,0],\"blablacar.fr\":[10,0,1,0,1,6,0,0,4,0,2],\"rezka-ua.co\":[3,1,0,0,0,5,0,0,1,2,0],\"youtubetotranscript.com\":[3,1,0,0,0,6,0,0,3,0,0],\"scalable.capital\":[2,0,1,1,0,6,0,0,1,0,2],\"mindfactory.de\":[1,0,0,2,1,4,0,0,0,0,0],\"godotengine.org\":[1,1,0,1,0,7,1,0,1,0,0],\"producthunt.com\":[4,1,0,1,0,7,0,0,1,0,3],\"librus.pl\":[1,0,0,1,1,3,0,0,2,0,0],\"sonos.com\":[16,2,1,5,0,10,0,0,12,2,6],\"koyso.com\":[2,0,0,1,0,4,0,0,2,0,0],\"archives.gov\":[5,1,1,2,0,8,0,0,7,4,0],\"fc-moto.de\":[25,2,1,3,0,5,1,0,4,1,0],\"steamcharts.com\":[19,1,0,0,1,4,0,0,1,2,0],\"bombuj.si\":[8,2,0,2,0,9,1,1,3,0,0],\"troweprice.com\":[10,2,1,1,0,3,1,0,5,0,2],\"anthropologie.com\":[39,1,1,3,0,7,1,0,12,2,7],\"bookshop.org\":[10,0,1,4,0,9,0,0,7,0,3],\"universfreebox.com\":[30,1,0,0,1,6,0,0,3,2,1],\"scan.co.uk\":[28,2,0,3,0,4,1,0,4,0,1],\"mantel.com\":[7,1,0,1,0,8,0,0,2,0,0],\"jetphotos.com\":[9,0,1,1,1,5,0,0,2,0,1],\"karnataka.gov.in\":[4,1,0,2,1,10,0,0,1,0,1],\"swedbank.lt\":[2,0,0,0,1,3,0,0,2,0,0],\"neolife.com\":[3,0,0,1,0,7,0,0,4,0,0],\"poppen.de\":[6,0,1,0,0,6,0,0,3,0,0],\"meczyki.pl\":[37,2,1,0,0,9,0,0,3,2,2],\"buffalo.edu\":[6,1,0,0,0,10,0,0,3,0,0],\"bluesystem.me\":[0,0,0,1,1,0,0,0,1,0,0],\"clockify.me\":[5,1,0,0,0,5,0,0,1,0,0],\"flashscore.sk\":[17,0,1,0,0,2,1,0,2,0,0],\"mailjet.com\":[5,0,1,3,0,6,0,0,9,1,1],\"hollandamerica.com\":[13,0,1,2,0,4,0,0,10,2,3],\"translate.goog\":[26,2,4,6,1,15,3,0,14,5,6],\"jlcpcb.com\":[8,0,0,0,0,7,1,0,5,0,0],\"bridgebase.com\":[55,1,1,2,0,8,0,0,5,0,0],\"zdnet.com\":[28,2,1,3,0,6,1,0,10,3,0],\"damart.fr\":[30,2,1,2,1,3,0,0,3,1,0],\"loveread.ec\":[1,0,0,0,1,0,0,0,0,0,0],\"sniffies.com\":[5,0,0,0,0,3,0,3,0,0,2],\"outkick.com\":[46,3,1,1,0,7,0,0,8,4,3],\"runsignup.com\":[4,1,0,0,0,7,0,0,1,2,2],\"series24.cc\":[3,0,0,1,0,6,1,0,2,0,0],\"moneydj.com\":[3,0,0,0,1,4,0,0,2,1,0],\"freshservice.com\":[9,0,1,3,0,9,1,0,2,0,3],\"watchpeopledie.tv\":[1,1,0,1,0,3,0,0,1,0,0],\"downloadtorrentfile.com\":[0,0,0,1,1,5,0,0,2,0,1],\"foodandwine.com\":[35,2,2,1,0,11,2,0,8,1,0],\"worldline-solutions.com\":[1,0,0,0,0,3,0,0,2,0,0],\"phongvu.vn\":[7,1,0,0,0,5,0,0,2,0,2],\"soccerline.kr\":[4,1,0,0,0,6,0,0,0,0,0],\"huisbest.nl\":[4,0,0,0,0,4,0,0,3,1,1],\"zee5.com\":[13,1,1,0,0,6,0,0,5,1,1],\"donghuastream.org\":[3,1,0,1,0,4,1,0,5,1,0],\"sosh.fr\":[14,0,1,1,1,6,0,0,5,0,0],\"tme.eu\":[7,1,1,0,0,4,0,0,2,0,0],\"xhspot.com\":[2,0,0,1,1,6,0,2,0,0,1],\"margonem.pl\":[4,1,0,1,0,5,1,0,1,0,0],\"livegore.com\":[5,0,0,1,0,4,1,0,2,1,0],\"kit.com\":[10,2,1,4,0,6,0,0,9,2,3],\"hdfilmcehennemi.nl\":[3,2,0,0,1,6,0,0,2,0,0],\"evri.com\":[10,0,1,2,0,3,0,0,2,0,2],\"inter-medio.mx\":[2,1,0,0,0,6,0,0,0,0,1],\"trenitalia.com\":[11,0,1,1,1,3,0,0,3,0,1],\"ngabbs.com\":[1,0,0,0,1,1,0,0,0,0,0],\"dwp.gov.uk\":[1,0,0,0,0,1,0,0,1,0,0],\"sportchek.ca\":[37,1,1,4,0,7,1,0,9,1,6],\"fff.fr\":[7,2,1,2,1,10,1,0,3,0,1],\"eso-hub.com\":[6,3,0,2,1,4,0,0,1,0,0],\"istreameast.is\":[7,0,0,0,0,6,0,0,2,0,0],\"doramy.club\":[4,1,0,2,1,5,0,0,2,2,0],\"eticketing.co.uk\":[8,0,1,0,0,3,0,0,3,0,0],\"jma.go.jp\":[1,0,0,1,1,5,0,0,0,0,0],\"alastonsuomi.com\":[0,0,0,0,0,3,0,0,0,0,0],\"payback.de\":[2,0,1,0,1,3,0,0,0,0,2],\"javstore.net\":[1,0,0,1,0,4,0,1,2,0,0],\"apkpure.com\":[7,1,0,1,1,5,0,0,4,0,1],\"joshinweb.jp\":[25,1,0,0,0,5,0,0,0,0,1],\"mayiwsk.com\":[1,0,0,0,0,0,1,0,0,0,0],\"gamersupps.gg\":[4,0,0,4,0,11,1,0,3,0,1],\"bunkr.black\":[0,0,0,0,1,3,0,0,1,0,0],\"free-telecharger.buzz\":[2,1,0,0,1,5,1,0,2,0,0],\"icicibank.com\":[4,1,0,0,1,4,0,0,3,0,0],\"taylorfrancis.com\":[6,0,1,0,0,5,0,0,4,2,0],\"dou.ua\":[6,1,0,0,1,7,0,0,1,0,0],\"betterstack.com\":[8,1,0,0,0,4,0,0,4,3,3],\"xozilla.com\":[1,0,0,1,0,9,1,2,2,0,0],\"netbk.co.jp\":[9,0,0,1,0,4,0,0,5,2,0],\"x-x-x.video\":[0,0,0,2,1,2,0,0,1,0,0],\"dian.gov.co\":[3,1,0,1,1,8,0,0,2,2,0],\"shoprite.com\":[6,0,1,1,0,10,0,0,5,1,3],\"lordswm.com\":[0,0,0,0,0,2,0,0,0,0,0],\"luciferdonghua.in\":[9,1,0,0,0,10,2,0,5,4,1],\"tjrs.jus.br\":[2,0,0,1,1,4,0,0,0,0,0],\"playfootball.games\":[98,3,3,3,0,7,0,0,10,0,1],\"mcmod.cn\":[4,0,0,0,0,1,1,0,1,0,0],\"elgato.com\":[6,1,1,3,1,14,0,0,7,1,3],\"thrall3.com\":[1,0,0,0,0,2,0,0,2,0,0],\"daisonet.com\":[6,1,0,2,0,8,0,0,4,0,2],\"hackaday.com\":[10,1,1,1,0,6,0,0,6,0,1],\"qcomment.com\":[0,0,0,0,0,0,0,0,1,0,0],\"groupon.com\":[59,3,0,4,0,8,1,0,9,2,5],\"rossmann.pl\":[6,1,1,1,0,6,0,0,1,1,3],\"kuruma-news.jp\":[53,1,0,0,0,9,1,0,9,6,4],\"modelmayhem.com\":[5,1,1,0,0,1,0,0,1,0,0],\"brightree.net\":[0,0,0,0,0,2,0,0,1,0,0],\"skipthegames.com\":[0,0,0,0,0,1,0,0,1,0,1],\"khaleejtimes.com\":[40,0,0,0,0,6,1,0,4,3,2],\"janieandjack.com\":[4,0,0,3,0,3,0,0,11,0,2],\"futisforum2.org\":[30,0,0,0,0,4,1,0,1,2,0],\"sportpursuit.com\":[7,0,0,2,0,1,1,0,2,3,2],\"justthenews.com\":[100,2,1,2,0,7,0,0,13,2,0],\"clicknupload.click\":[2,0,0,0,1,6,0,0,2,0,1],\"zpaste.net\":[2,0,0,1,1,5,0,0,2,0,0],\"moewalls.com\":[4,0,0,1,0,4,0,0,1,1,0],\"hulu.jp\":[12,1,0,0,0,2,0,0,4,3,1],\"shopmanager.gr\":[0,0,0,0,0,2,0,0,0,0,0],\"showup.tv\":[2,0,0,0,0,3,0,0,1,0,1],\"szamlazz.hu\":[7,0,1,2,0,3,0,0,4,0,0],\"newsbank.com\":[3,0,0,2,0,5,0,0,0,0,2],\"onche.org\":[4,1,0,0,0,4,1,0,2,2,1],\"asmrfree.com\":[2,0,0,0,0,5,0,1,3,0,0],\"macg.co\":[16,1,0,0,0,5,0,0,2,3,1],\"peopleperhour.com\":[5,0,0,1,0,6,0,0,1,0,1],\"hd-source.to\":[0,0,0,0,1,3,0,0,0,0,0],\"picard.fr\":[8,0,1,1,1,4,1,0,6,1,2],\"purepc.pl\":[5,1,0,0,1,4,0,0,1,2,0],\"hexload.com\":[3,1,0,2,0,9,0,0,2,0,1],\"grafana.com\":[7,2,1,3,0,9,0,0,9,0,3],\"afrointroductions.com\":[2,0,0,1,0,5,0,0,3,0,1],\"wikiwand.com\":[3,1,0,1,0,7,0,0,2,0,0],\"zivver.info\":[0,0,0,0,0,2,0,0,0,0,0],\"espn.com.au\":[18,1,1,0,1,6,1,0,8,3,1],\"goldesel.bz\":[0,0,0,0,0,5,0,0,2,0,0],\"genealodzy.pl\":[3,0,0,1,0,5,0,0,1,2,0],\"tribalwars.net\":[0,0,0,0,0,0,0,0,0,0,0],\"ozone.bg\":[8,1,0,1,1,7,1,0,6,1,0],\"forbidden-mods.de\":[3,1,0,1,1,4,0,0,1,0,0],\"airbnb.nl\":[8,0,0,2,0,6,0,0,2,1,2],\"chatiw.com\":[3,0,0,0,0,6,0,0,1,0,1],\"nowtv.com\":[13,0,1,1,0,2,0,0,10,3,4],\"peekvids.com\":[2,0,0,1,0,3,0,2,1,0,0],\"babbel.com\":[5,0,1,2,0,6,0,0,4,0,2],\"blog.google\":[2,1,0,1,0,5,0,0,1,0,1],\"muchohentai.com\":[4,2,0,1,0,3,0,0,3,3,0],\"work24.go.kr\":[1,0,0,1,0,0,0,0,1,0,0],\"siriusxm.com\":[16,1,1,1,0,4,0,0,7,3,4],\"mylust.com\":[1,0,0,1,1,6,0,2,2,0,0],\"hentai.name\":[2,0,0,1,0,4,0,0,1,0,0],\"mobilism.me\":[2,0,0,0,1,3,1,0,2,0,0],\"talbots.com\":[40,2,1,4,0,5,1,0,11,1,5],\"flixhq.to\":[4,1,0,0,0,5,0,0,2,0,0],\"realoem.com\":[25,0,1,3,0,4,1,0,4,0,1],\"tp-link.com\":[7,1,0,1,1,9,0,0,4,0,1],\"lavenir.net\":[31,0,2,2,0,11,0,0,5,2,3],\"infocert.it\":[6,0,1,1,1,6,0,0,1,0,0],\"wowprogress.com\":[2,0,1,0,0,4,0,0,2,0,0],\"javip.net\":[1,0,0,0,1,3,1,1,1,0,0],\"gdflix.net\":[3,0,0,0,0,4,0,0,2,0,1],\"darki.zone\":[0,0,0,1,1,5,0,0,1,0,0],\"ipsosisay.com\":[3,0,0,2,1,6,0,0,3,0,2],\"saga.hamburg\":[0,0,0,0,0,1,0,0,0,0,0],\"h-suki.com\":[0,0,0,1,0,1,1,0,1,0,0],\"recipetineats.com\":[62,4,3,2,0,10,1,0,8,2,0],\"phoronix.com\":[20,1,1,1,0,7,1,0,1,2,0],\"androidcentral.com\":[6,2,1,0,0,6,0,0,2,0,0],\"gleeden.com\":[0,0,0,0,1,2,0,0,2,0,1],\"gites-de-france.com\":[23,2,1,0,0,4,0,0,3,0,0],\"dna.fr\":[57,1,1,0,1,7,0,0,7,0,3],\"adidas.de\":[14,1,0,3,0,6,0,0,7,2,3],\"snowflake.com\":[6,2,1,3,0,7,0,0,5,0,5],\"rzd.ru\":[1,0,0,0,1,2,0,0,1,2,0],\"2ch.su\":[3,3,0,3,0,7,2,0,1,2,0],\"rusff.me\":[1,0,0,1,0,6,1,0,2,2,0],\"booru.org\":[0,0,0,1,1,4,0,1,1,0,0],\"teamblind.com\":[90,2,1,3,0,11,1,0,7,0,1],\"kitco.com\":[56,2,0,3,0,8,0,0,9,2,2],\"montevideo.com.uy\":[27,1,0,0,1,6,0,0,3,3,1],\"quicken.com\":[4,1,0,1,0,5,0,0,6,0,6],\"magazinelib.com\":[3,0,0,0,0,3,0,0,5,0,0],\"vertbaudet.fr\":[11,0,1,4,1,7,0,0,4,1,4],\"southernliving.com\":[33,1,2,1,0,7,2,0,7,0,0],\"lyricsondemand.com\":[23,1,1,1,0,6,0,0,4,2,0],\"byte.to\":[1,0,0,0,1,4,1,0,0,0,0],\"trading212.com\":[9,1,0,1,0,11,1,0,7,2,2],\"hotmovies.com\":[1,1,0,0,1,2,0,0,0,0,0],\"hardoff.co.jp\":[8,0,0,1,1,3,0,0,1,0,0],\"quartier-rouge.be\":[2,0,0,1,0,3,0,0,1,0,0],\"ra.co\":[9,2,1,1,0,9,1,0,6,2,2],\"limango.de\":[27,1,1,0,1,3,0,0,1,1,0],\"guessthe.game\":[4,0,0,0,0,2,0,0,3,0,0],\"soccerway.com\":[14,0,1,0,0,3,1,0,2,0,0],\"universal-credit.service.gov.uk\":[2,0,0,1,1,3,0,0,2,0,0],\"deck.blue\":[2,0,0,0,0,4,0,0,1,0,0],\"demorgen.be\":[48,1,0,4,0,7,3,0,3,1,2],\"caremark.com\":[3,1,1,1,0,5,0,0,6,0,2],\"startribune.com\":[19,2,1,0,0,8,0,0,6,3,2],\"loft.com\":[41,2,1,4,0,9,0,0,11,1,9],\"wiw1.ru\":[0,0,0,1,1,1,0,0,3,0,0],\"3movs.com\":[1,0,0,1,1,5,0,2,1,0,0],\"totaljobs.com\":[29,2,0,0,0,3,0,0,7,0,3],\"funtrivia.com\":[4,0,1,0,0,5,0,0,0,2,0],\"nj.gov\":[5,1,0,3,0,14,2,0,2,0,1],\"porndig.com\":[1,0,0,1,1,4,0,0,1,0,0],\"ktrmr.com\":[0,1,0,1,0,1,0,0,0,0,0],\"socigames.com\":[3,1,0,1,0,4,0,0,2,1,0],\"tgb.cn\":[0,0,0,0,0,0,3,0,0,0,0],\"dailystar.co.uk\":[39,0,2,3,0,7,1,0,8,2,1],\"themezon.net\":[61,0,1,2,0,4,0,0,11,1,0],\"ekhon.tv\":[7,0,0,0,0,4,1,0,1,0,0],\"republicain-lorrain.fr\":[46,1,1,0,0,7,0,0,6,0,4],\"method.gg\":[30,3,1,3,0,6,1,0,5,1,1],\"stradivarius.com\":[10,0,1,0,1,4,1,0,2,1,2],\"exporntoons.net\":[1,1,0,1,1,4,0,1,3,0,0],\"startpagina.nl\":[18,2,1,0,0,8,0,0,4,4,2],\"kuruc.info\":[7,1,1,1,1,7,0,0,5,3,1],\"bedetheque.com\":[0,0,0,1,1,3,0,0,0,0,0],\"orange.pl\":[11,1,2,1,0,6,0,0,3,2,1],\"viralxxxporn.com\":[2,0,0,1,1,3,1,2,1,0,1],\"mercadopago.com.br\":[4,0,0,0,1,2,0,0,3,0,1],\"sexcamscentre.com\":[1,0,0,0,0,0,0,1,1,0,0],\"manwaai.cc\":[0,0,0,0,0,1,0,0,1,0,0],\"arbetsformedlingen.se\":[0,0,0,1,0,3,0,0,1,0,1],\"neogaf.com\":[6,1,0,2,0,9,2,0,1,5,0],\"myisolved.com\":[1,0,0,1,0,4,0,0,0,0,3],\"correios.com.br\":[5,0,0,0,1,4,1,0,2,0,1],\"9jarocks.net\":[4,1,0,0,0,6,0,0,3,1,0],\"askul.co.jp\":[28,1,0,1,0,5,0,0,4,0,1],\"viprow.co\":[4,1,0,2,0,4,0,0,1,1,1],\"helloprint.com\":[7,0,0,1,0,4,0,0,3,0,4],\"mittwald-status.de\":[0,0,0,0,0,2,0,0,1,0,1],\"naszemiasto.pl\":[71,0,1,2,0,5,0,0,4,0,2],\"list-manage.com\":[26,1,1,6,0,9,0,0,2,3,4],\"eztv1.xyz\":[2,0,0,0,0,2,0,0,2,0,0],\"lovetorrent.net\":[1,0,0,1,1,2,0,0,0,0,0],\"prozis.com\":[5,0,1,0,1,3,0,0,2,0,2],\"whatifsports.com\":[4,0,1,0,0,5,0,0,2,2,0],\"eztaxreturn.com\":[8,0,0,0,0,5,0,0,5,1,3],\"telegra.ph\":[2,1,0,1,1,6,3,2,2,5,0],\"mapquest.com\":[47,0,2,1,0,6,1,0,7,0,0],\"ngpvan.com\":[3,0,0,0,0,5,0,0,2,0,2],\"exactonline.nl\":[0,0,0,1,0,3,1,0,0,0,0],\"cloudinary.com\":[9,0,1,1,0,5,0,0,5,0,2],\"accela.com\":[3,0,0,2,1,9,0,0,1,2,1],\"todoist.com\":[6,1,0,1,0,6,0,0,3,1,3],\"infomaniak.com\":[9,0,0,1,1,5,0,0,1,1,2],\"kp.ru\":[13,1,0,2,1,6,2,0,5,2,0],\"wfirma.pl\":[5,1,1,0,1,3,0,0,1,1,1],\"moviebox.pk\":[2,0,0,0,0,2,0,0,1,0,0],\"onelogin.com\":[3,0,2,2,0,5,0,0,3,0,2],\"wikidex.net\":[2,1,0,0,0,3,0,0,1,0,0],\"thepiratebay.bond\":[1,0,0,0,0,3,0,0,1,0,0],\"elektrobeats.org\":[4,0,0,1,1,7,0,0,2,0,1],\"nijiurachan.net\":[4,3,0,0,0,3,0,1,2,2,0],\"justia.com\":[3,0,0,0,0,6,0,0,1,0,0],\"chasse-aux-livres.fr\":[2,0,0,0,0,3,0,0,1,0,0],\"imslp.org\":[4,0,0,2,0,6,0,0,3,0,0],\"privalia.com\":[28,2,1,0,1,4,0,0,12,1,3],\"animeav1.com\":[2,1,0,0,1,5,0,0,3,0,0],\"whathifi.com\":[38,2,2,2,0,6,1,0,6,0,0],\"yumanhua.com\":[0,0,0,0,0,0,0,0,0,0,0],\"long-mcquade.com\":[6,1,1,2,0,11,0,0,2,0,3],\"jang.com.pk\":[10,1,0,0,0,6,0,0,3,3,0],\"ozkansogutma.com.tr\":[1,0,0,0,0,4,0,0,0,0,0],\"belgiantrain.be\":[12,0,1,1,0,5,0,0,3,0,0],\"zalando-prive.fr\":[6,0,1,1,0,3,1,0,0,0,4],\"sflix2.to\":[6,2,0,0,0,8,0,0,2,0,0],\"amctheatres.com\":[14,2,1,2,0,7,1,0,6,1,2],\"kongregate.com\":[8,2,0,0,0,11,0,0,2,0,2],\"adelaide.edu.au\":[11,1,1,1,0,10,0,0,10,2,4],\"sunat.gob.pe\":[3,0,0,0,1,7,2,0,1,1,0],\"abc7.com\":[72,1,3,2,0,8,1,0,11,2,1],\"williamhill.com\":[11,0,0,2,0,8,0,0,8,1,5],\"ringcentral.com\":[8,1,1,4,0,10,0,0,14,2,5],\"bitwarden.com\":[2,1,1,3,1,7,0,0,0,0,2],\"yorku.ca\":[5,1,0,2,0,9,0,0,4,0,1],\"startech.com.bd\":[6,1,0,0,0,2,0,0,1,0,0],\"hungryroot.com\":[10,0,0,1,0,4,0,0,7,3,3],\"xtec.cat\":[3,1,0,2,0,11,1,0,3,4,4],\"simsfinds.com\":[4,0,0,1,0,3,0,0,1,0,0],\"diki.pl\":[6,0,2,1,1,2,0,0,4,0,0],\"rezka-ua.pub\":[3,1,0,0,0,4,0,0,2,2,0],\"kaonavi.jp\":[5,0,0,0,0,5,0,0,0,0,1],\"smods.ru\":[1,0,0,1,0,4,1,0,3,0,0],\"hentaigasm.com\":[1,1,0,1,0,4,0,0,2,0,0],\"gazeteoksijen.com\":[5,1,0,0,0,5,0,0,2,2,0],\"americafirst.com\":[11,1,1,1,0,7,0,0,4,1,4],\"one.co.il\":[10,3,0,1,0,6,1,0,1,0,0],\"gokonfetti.com\":[3,0,1,2,0,5,0,0,3,0,3],\"comparis.ch\":[13,0,1,1,0,5,1,0,6,1,1],\"tidal.com\":[1,0,1,1,0,7,0,0,1,0,2],\"malt.fr\":[5,0,1,0,0,5,0,0,4,0,1],\"jcb.co.jp\":[13,0,0,0,0,2,0,0,5,2,3],\"manhuaplus.org\":[2,0,0,0,0,2,0,0,2,0,0],\"mtgtop8.com\":[4,0,0,0,0,1,0,0,2,0,0],\"rocketaccount.com\":[2,0,0,1,0,2,0,0,4,0,1],\"1point3acres.com\":[61,1,2,3,0,8,2,0,10,0,1],\"fender.com\":[9,1,1,2,0,10,0,0,7,2,5],\"freelancer.com\":[8,0,0,0,0,5,0,0,5,2,5],\"newegg.ca\":[11,1,1,1,0,7,1,0,4,1,2],\"nfse.gov.br\":[1,0,0,0,1,2,0,0,0,0,1],\"bestprice.gr\":[5,1,0,0,1,4,0,0,1,1,1],\"tracker.network\":[20,1,1,3,0,5,0,0,4,0,0],\"centerwellpharmacy.com\":[4,1,1,1,0,4,0,0,5,0,0],\"dansnoscoeurs.fr\":[11,0,1,1,1,4,0,0,4,1,0],\"albertsons.com\":[11,2,1,1,0,7,0,0,7,1,4],\"sexkomix2.com\":[1,0,0,1,1,4,0,1,3,0,0],\"haveibeenpwned.com\":[1,1,0,1,1,4,0,0,1,0,2],\"newser.com\":[77,2,2,2,0,9,2,0,7,2,3],\"yardbarker.com\":[62,1,1,3,0,7,0,0,4,3,0],\"korzik.net\":[6,0,0,2,1,4,0,0,3,1,0],\"rou.video\":[1,0,0,1,0,3,0,1,2,0,0],\"torrentdownload.info\":[1,0,0,1,0,3,0,0,2,0,0],\"quasarzone.com\":[25,1,0,0,0,7,1,0,2,4,1],\"ou.edu\":[4,2,0,1,0,9,0,0,6,3,2],\"hentaianimezone.com\":[1,2,0,0,1,5,0,1,2,0,0],\"oakley.com\":[16,2,0,3,0,12,0,0,8,0,4],\"netpeak.group\":[2,0,0,1,0,5,0,0,2,0,2],\"girlgeniusonline.com\":[33,1,0,1,0,5,1,0,4,0,0],\"sortporn.com\":[1,0,0,1,0,5,0,2,2,0,0],\"utah.gov\":[3,1,0,1,0,9,0,0,5,0,3],\"eiga.com\":[20,1,0,0,0,8,0,0,2,3,0],\"16personalities.com\":[3,0,0,0,0,4,0,0,1,0,1],\"easyliveauction.com\":[7,0,0,1,0,7,0,0,2,0,2],\"emojidb.org\":[24,0,1,2,0,4,1,0,3,0,0],\"skokka.com\":[4,0,0,1,0,4,0,0,3,0,1],\"skyscanner.com.au\":[44,0,0,0,0,5,0,0,4,2,4],\"wyze.com\":[5,1,1,4,0,14,2,0,7,1,2],\"karwei.nl\":[7,1,1,2,0,5,0,0,1,1,5],\"chrono24.ca\":[4,1,0,1,0,1,0,0,1,0,1],\"ilmessaggero.it\":[51,2,2,0,0,9,1,0,3,0,3],\"banggood.com\":[34,2,0,1,1,5,1,0,5,2,2],\"freeomovie.to\":[6,1,0,1,0,6,0,1,4,0,0],\"newsru.co.il\":[44,1,0,1,0,6,1,0,2,0,0],\"ucalgary.ca\":[4,1,0,1,0,13,0,0,5,0,3],\"kaspersky.com\":[6,1,1,1,1,4,0,0,4,0,2],\"anizm.net\":[2,2,0,1,0,8,0,0,2,0,0],\"wholefoodsmarket.com\":[4,0,0,0,0,5,1,0,1,0,1],\"boobpedia.com\":[3,0,0,1,0,4,0,0,1,0,0],\"jatkoaika.com\":[14,1,1,0,0,7,0,0,1,3,0],\"autoscout24.com\":[24,1,0,1,0,5,0,0,2,0,0],\"vinted.sk\":[19,0,1,0,0,1,0,0,0,0,0],\"crazydaysandnights.net\":[15,0,1,1,0,6,1,0,3,2,1],\"bunkr.ph\":[0,0,0,0,1,3,0,0,0,0,0],\"removepaywall.com\":[15,0,3,1,0,8,1,0,6,0,3],\"vitalsource.com\":[6,0,0,2,0,7,0,0,3,0,1],\"elderscrollsonline.com\":[2,3,1,1,1,9,1,0,1,0,2],\"notebooksbilliger.de\":[7,0,1,2,0,4,1,0,1,1,0],\"alternativeto.net\":[4,1,0,1,0,6,0,0,3,0,1],\"tudelft.nl\":[3,1,2,1,0,12,1,0,1,0,0],\"wwin.cloud\":[2,0,0,1,0,5,0,0,1,0,0],\"ebookhunter.net\":[2,0,0,0,1,2,0,0,2,1,0],\"norwegian.com\":[9,0,1,0,0,6,1,0,6,0,3],\"franime.fr\":[5,2,0,0,1,6,1,0,4,0,0],\"pristineauction.com\":[11,0,1,3,0,5,0,0,4,1,2],\"gog-games.to\":[0,0,0,0,0,3,0,0,0,0,0],\"kabu.co.jp\":[8,0,0,0,0,2,0,0,2,0,0],\"jeu-tarot-en-ligne.com\":[57,1,0,0,0,2,1,0,4,1,0],\"traveloka.com\":[31,0,0,1,1,10,0,0,9,2,3],\"prisjakt.nu\":[10,0,1,1,0,7,1,0,3,1,0],\"realtimetrains.co.uk\":[1,0,1,0,0,0,0,0,0,0,0],\"eyebuydirect.com\":[38,1,0,3,0,8,1,0,7,2,7],\"sch.gr\":[4,1,0,0,1,9,0,0,2,1,2],\"staples.ca\":[11,1,1,6,0,8,0,0,9,1,4],\"weverse.io\":[5,1,0,4,0,11,0,0,2,0,2],\"stockanalysis.com\":[18,1,1,0,0,5,0,0,3,0,1],\"streaming-community.trade\":[3,1,0,1,1,6,1,0,2,0,0],\"bdsmlr.com\":[4,1,0,0,1,7,0,2,4,0,0],\"shikimori.io\":[4,1,0,0,1,7,1,0,1,1,0],\"sportybet.com\":[7,0,0,0,1,6,0,0,3,0,1],\"netshoes.com.br\":[30,3,0,1,1,7,1,0,7,1,3],\"qr-code-generator.com\":[9,1,1,3,0,6,0,0,4,0,5],\"scrap.tf\":[4,1,0,0,1,3,0,0,1,0,0],\"hispasexy.org\":[1,0,0,1,0,5,0,0,1,0,0],\"xcafe.com\":[2,0,0,1,1,6,0,2,2,0,0],\"kanav.ad\":[1,0,0,1,0,3,0,0,2,0,0],\"autowereld.nl\":[10,1,0,2,0,4,1,0,4,0,0],\"enedis.fr\":[2,1,0,0,0,3,0,0,3,0,2],\"charlotte.edu\":[3,1,0,1,0,11,0,0,7,1,1],\"metal-tracker.com\":[3,0,0,1,0,5,0,0,2,4,1],\"cbs.com\":[18,1,1,0,0,4,0,0,5,0,0],\"mister-auto.com\":[14,1,1,1,1,7,0,0,6,1,2],\"arbeitsagentur.de\":[4,0,0,1,1,6,0,0,1,0,2],\"cam.ac.uk\":[4,2,4,2,0,13,0,0,6,1,2],\"dragonball-multiverse.com\":[1,0,0,0,0,4,0,0,2,1,0],\"apotea.se\":[5,0,1,2,0,5,0,0,1,0,3],\"airasia.com\":[8,0,0,0,0,8,0,0,9,0,2],\"kaliscan.io\":[3,0,0,0,0,4,0,0,2,0,1],\"macropoint-lite.com\":[0,0,0,0,0,2,1,0,1,0,0],\"rituals.com\":[8,1,1,2,0,6,0,0,3,1,3],\"mechacomic.jp\":[4,0,0,0,0,1,0,0,2,0,0],\"milesplit.com\":[32,1,2,3,0,7,1,0,8,1,1],\"terabox.com\":[7,0,0,1,1,5,1,0,3,2,1],\"floridapolitics.com\":[4,0,0,0,0,2,0,0,2,1,0],\"hdstream.ing\":[1,0,0,1,0,2,0,0,1,0,0],\"dm.at\":[4,0,1,2,0,1,0,0,3,0,3],\"tamo.lt\":[4,0,1,0,0,4,0,0,1,0,0],\"intacct.com\":[3,0,0,0,0,5,0,0,3,0,0],\"assoass.com\":[2,0,0,0,0,2,0,0,1,0,0],\"pro-football-reference.com\":[5,1,2,1,0,6,0,0,2,0,0],\"traderepublic.com\":[4,0,0,0,0,4,0,0,1,0,1],\"azlyrics.com\":[49,1,1,1,0,6,1,0,5,0,1],\"pandadoc.com\":[5,2,2,2,1,7,0,0,9,0,4],\"criterionchannel.com\":[4,1,0,1,0,7,0,0,0,1,1],\"mvideo.ru\":[4,1,0,0,1,2,0,0,1,2,0],\"pcworld.com\":[26,2,0,3,0,5,0,0,6,1,2],\"reserveamerica.com\":[6,1,0,1,0,5,0,0,5,0,1],\"kamihq.com\":[2,0,0,1,0,6,1,0,4,0,1],\"magic-ville.com\":[1,0,0,0,0,1,0,0,0,0,0],\"dnes.bg\":[12,1,0,0,0,5,0,0,2,2,1],\"gomovies.gg\":[4,1,0,0,0,9,0,0,2,0,0],\"linear.app\":[2,1,0,2,0,5,0,0,1,0,2],\"bellesdemeures.com\":[28,2,1,1,1,3,0,0,1,0,0],\"chaoxing.com\":[1,0,0,0,0,0,0,0,1,0,0],\"proteantech.in\":[5,1,1,1,0,5,1,0,2,0,0],\"audiofanzine.com\":[6,1,0,1,1,7,0,0,1,1,1],\"toggl.com\":[8,0,2,3,0,4,0,0,5,2,1],\"gva.es\":[5,1,0,1,1,9,0,0,1,1,1],\"worldtimebuddy.com\":[23,0,0,0,0,4,0,0,2,3,2],\"science-et-vie.com\":[37,2,2,0,0,5,1,0,2,2,0],\"santanderopenacademy.com\":[7,1,1,1,1,8,0,0,5,0,0],\"bongacams.com\":[5,0,0,0,0,3,0,0,1,0,0],\"elkjop.no\":[9,3,1,3,0,6,0,0,5,0,1],\"ateasesystems.net\":[0,1,0,1,0,2,0,0,4,0,2],\"forumfree.it\":[6,1,1,2,0,9,3,0,3,5,0],\"runwayml.com\":[4,2,0,2,1,10,0,0,2,0,2],\"behindthename.com\":[28,0,0,0,1,4,0,0,3,0,0],\"gov.ro\":[4,1,0,1,0,7,0,0,2,0,1],\"orzgk.com\":[3,0,0,1,0,7,0,0,2,0,2],\"duke.edu\":[3,1,0,2,0,13,0,0,4,1,0],\"myvirtualbranch.com\":[4,0,0,2,0,3,0,0,4,0,2],\"thefreedictionary.com\":[6,1,0,0,0,5,0,0,1,1,0],\"meesho.com\":[5,1,0,0,1,7,0,0,2,0,0],\"ebay.pl\":[5,0,0,1,1,5,1,0,1,0,1],\"ascii.jp\":[27,1,0,0,2,13,0,0,6,4,1],\"inet.se\":[3,1,0,0,0,5,0,0,0,0,1],\"appleinsider.com\":[61,1,0,1,0,5,0,0,5,3,0],\"chobirich.com\":[32,0,0,0,0,6,0,0,3,0,1],\"lonestar.edu\":[3,1,0,2,0,11,1,0,6,0,2],\"target.com.au\":[36,0,0,3,0,4,0,0,8,2,5],\"letrot.com\":[5,1,0,0,1,4,0,0,1,2,1],\"vijesti.me\":[23,1,1,0,0,8,0,0,3,3,1],\"metatft.com\":[31,2,1,2,1,10,0,0,1,0,0],\"moviesmod.blue\":[2,0,0,0,0,3,2,0,3,1,0],\"elportaldelalumno.com\":[0,0,0,0,0,3,0,0,1,0,0],\"paruvendu.fr\":[31,1,1,0,0,5,0,0,2,0,2],\"xpicvid.org\":[0,0,0,0,0,2,1,0,1,0,0],\"olx.co.id\":[4,0,0,0,0,4,1,0,1,0,2],\"unblockninja.st\":[1,0,0,1,1,6,0,0,1,0,0],\"wellfound.com\":[4,0,1,0,0,8,0,0,3,0,3],\"carsized.com\":[27,0,1,1,1,5,1,0,3,0,0],\"diyibanzhu.vip\":[1,0,0,0,0,0,0,0,0,0,0],\"mercadolibre.com\":[3,0,0,1,1,5,0,0,3,0,2],\"moviesjoy.is\":[5,1,0,0,0,9,0,0,2,0,0],\"nhentai.to\":[3,0,0,2,0,5,0,2,3,0,0],\"barrons.com\":[49,1,2,0,0,7,0,0,13,3,3],\"joom.com\":[26,1,0,1,0,6,0,0,2,2,1],\"getchu.com\":[7,1,0,1,1,7,0,0,1,2,0],\"phenix-scans.co\":[1,0,0,0,0,2,0,0,0,0,0],\"playnow.com\":[12,1,0,1,1,8,0,0,7,3,2],\"thebarchive.com\":[3,0,0,0,0,4,0,0,2,0,0],\"unl.edu\":[2,1,1,1,0,9,0,0,5,0,1],\"animevost.org\":[3,0,0,1,1,3,0,0,3,0,0],\"iyf.tv\":[2,0,0,2,0,4,0,0,1,0,0],\"canadacomputers.com\":[5,1,0,0,1,7,1,0,3,0,2],\"doi.org\":[5,0,2,3,0,6,0,0,1,3,2],\"getbootstrap.com\":[3,1,0,2,1,5,0,0,1,0,2],\"mafiaenshevn.com\":[1,0,0,0,0,0,1,0,0,0,0],\"icegay.tv\":[1,0,0,1,1,4,0,0,3,0,0],\"airfrance.fr\":[8,0,1,3,0,9,2,0,6,1,3],\"fdesouche.com\":[4,1,1,1,0,6,0,0,4,2,1],\"pluralsight.com\":[7,3,1,2,0,7,0,0,14,1,4],\"mypoints.com\":[12,0,1,0,0,3,1,0,9,0,0],\"cp24.com\":[17,0,0,0,0,6,0,0,7,2,1],\"bidocean.com\":[0,0,0,0,0,5,0,0,1,0,0],\"transfermarkt.pl\":[16,0,1,0,0,8,0,0,0,0,2],\"lamoda.ru\":[5,0,0,0,1,2,0,0,2,2,0],\"nextdirect.com\":[12,0,1,2,1,4,0,0,5,1,3],\"cineplex.com\":[11,2,2,2,0,9,1,0,8,0,4],\"przelewy24.pl\":[2,0,1,0,0,5,0,0,2,0,3],\"voyeur-house.tv\":[4,0,0,1,0,3,0,0,1,0,0],\"tommy.com\":[14,0,0,7,0,11,0,0,14,2,6],\"awin.com\":[7,0,1,0,1,6,0,0,6,0,3],\"pilotbrief.com\":[1,0,0,0,0,0,0,0,0,0,0],\"contabo.com\":[6,0,1,7,1,7,0,0,6,0,4],\"hyundaiusa.com\":[15,1,2,3,0,14,1,0,8,1,5],\"princess.com\":[15,1,2,1,0,5,0,0,10,2,5],\"aiscore.com\":[5,0,0,0,1,2,1,0,2,0,0],\"perfil.com\":[32,1,1,0,0,9,0,0,5,0,0],\"fdown.net\":[5,0,0,1,0,5,0,0,0,0,0],\"topcashback.co.uk\":[10,0,1,1,0,8,0,0,6,0,2],\"brainly.com\":[36,0,1,1,0,6,0,0,4,0,2],\"naurok.com.ua\":[5,1,0,0,0,4,0,0,1,0,1],\"kgw.com\":[59,1,3,1,0,6,0,0,8,0,2],\"metropoles.com\":[25,2,1,1,1,8,0,0,5,3,1],\"elperiodico.com\":[108,5,4,2,0,9,0,0,14,5,3],\"mangakoma.io\":[0,0,0,0,0,3,0,0,1,0,0],\"simprosuite.com\":[1,0,0,0,0,2,0,0,0,0,0],\"baamboozle.com\":[1,0,0,0,0,6,0,0,2,1,2],\"kaido.to\":[5,2,0,1,0,7,0,0,2,0,2],\"scrape.do\":[2,0,0,1,0,2,0,0,2,0,0],\"daraz.pk\":[8,0,0,1,0,4,1,0,2,0,1],\"si.edu\":[8,2,0,2,0,13,0,0,9,1,4],\"ntv.cx\":[6,0,0,0,0,8,1,0,4,0,0],\"hobbylobby.com\":[3,0,1,2,0,2,0,0,0,0,2],\"allstate.com\":[6,2,1,1,0,7,0,0,8,0,6],\"howrse.de\":[1,0,1,0,0,1,0,0,1,0,0],\"yumpu.com\":[26,0,1,2,1,5,1,0,1,0,0],\"terabyteshop.com.br\":[25,2,0,1,1,9,0,0,3,0,0],\"justice.gov\":[3,1,0,1,0,10,0,0,5,0,1],\"tennis-warehouse.com\":[5,1,1,2,0,5,1,0,2,3,1],\"ebay.ie\":[1,0,0,1,0,5,1,0,0,0,0],\"akirabox.to\":[2,0,0,1,0,4,0,0,2,0,0],\"believedigital.com\":[1,1,0,0,0,5,0,0,2,0,1],\"pullandbear.com\":[8,0,1,2,0,3,0,0,3,1,4],\"ajc.com\":[9,2,1,0,0,7,0,0,4,2,1],\"keeplinks.org\":[2,0,0,1,0,3,0,0,1,0,0],\"awsapps.com\":[0,0,0,0,0,2,0,0,1,0,0],\"fontspace.com\":[23,0,1,1,0,4,0,0,3,0,0],\"onlinebank.com\":[3,0,0,1,0,5,1,0,3,0,4],\"agendapro.fr\":[0,0,0,0,0,3,0,0,0,0,0],\"theforum365.com\":[3,1,0,0,0,6,0,0,4,4,0],\"zalando.cz\":[6,0,1,1,0,3,1,0,1,0,1],\"gmf.fr\":[10,0,0,0,1,2,0,0,5,0,3],\"rexel.fr\":[27,3,0,1,0,6,0,0,5,0,1],\"iastate.edu\":[3,1,0,1,0,11,0,0,6,2,2],\"driveseed.org\":[1,1,0,0,0,8,0,0,2,0,1],\"calameo.com\":[6,0,1,0,1,7,0,0,1,0,1],\"uchealth.org\":[6,1,0,1,0,12,0,0,4,0,2],\"aol.co.uk\":[6,1,0,0,1,3,1,0,6,1,0],\"libreoffice.org\":[2,1,0,2,1,6,0,0,1,0,0],\"fawanews.sc\":[3,0,0,2,1,6,2,0,1,2,0],\"sinsitio.site\":[4,1,0,0,1,5,0,0,1,1,0],\"costar.com\":[9,0,0,0,0,9,0,0,5,1,3],\"elementor.com\":[9,1,2,4,0,10,0,0,8,2,2],\"hitta.se\":[58,0,0,2,0,5,1,0,3,0,0],\"torontomu.ca\":[5,1,0,0,1,6,0,0,1,0,2],\"yummyanime.tv\":[5,1,0,1,1,7,0,0,1,1,0],\"hypeddit.com\":[5,6,0,2,0,11,0,0,3,2,2],\"pjn.gov.ar\":[1,0,0,0,1,4,0,0,1,0,0],\"xmilf.com\":[2,1,0,0,1,5,1,3,2,0,1],\"foroparalelo.com\":[1,1,0,0,0,3,1,2,0,2,0],\"rarbgproxy.to\":[1,0,0,0,0,3,0,0,0,0,0],\"urbandictionary.com\":[16,0,2,1,0,6,1,0,1,0,0],\"xanimu.com\":[3,0,0,1,0,3,0,1,0,0,0],\"suomi24.fi\":[4,0,0,0,0,4,0,0,3,2,0],\"eurowings.com\":[14,0,1,1,0,5,0,0,6,0,3],\"pixa.com\":[5,0,0,0,0,7,0,0,2,0,2],\"agriaffaires.com\":[8,0,1,1,1,5,0,0,2,0,1],\"bbcgoodfood.com\":[42,0,0,2,0,5,1,0,5,0,3],\"thermofisher.com\":[18,2,3,3,0,13,2,0,8,1,3],\"pelotalibretv.su\":[2,3,0,1,0,6,0,0,2,0,0],\"oempartsonline.com\":[10,0,0,1,0,6,0,0,6,0,4],\"carandclassic.com\":[4,0,1,1,0,4,0,0,2,0,3],\"urbanoutfitters.com\":[20,1,1,3,0,6,0,0,11,2,6],\"rusvesna.su\":[12,1,0,2,1,4,2,0,7,4,0],\"fotor.com\":[9,1,0,3,1,11,0,0,3,0,4],\"bg-wiki.com\":[19,1,1,1,0,4,0,0,2,0,0],\"dofus.com\":[6,1,0,1,0,6,1,0,2,0,0],\"mpb.com\":[5,1,1,3,0,5,0,0,3,0,2],\"seek.com\":[9,1,0,2,0,8,0,0,6,1,2],\"indiatoday.in\":[39,2,0,2,1,10,0,0,10,3,2],\"brantsteele.com\":[0,0,0,0,0,5,1,0,2,2,0],\"transfermarkt.es\":[8,0,1,0,0,7,0,0,0,0,2],\"foreca.fi\":[18,1,0,0,0,3,0,0,4,0,0],\"subaru.com\":[10,1,1,0,0,5,0,0,8,1,3],\"emploi-territorial.fr\":[0,0,0,0,0,4,0,0,0,0,0],\"expertvoice.com\":[4,1,0,1,0,5,0,0,3,0,2],\"lesbian8.com\":[1,0,0,1,1,6,0,2,2,0,0],\"candy.ai\":[7,0,1,1,0,8,0,0,6,1,2],\"followfollow.com\":[8,1,1,0,1,8,1,0,2,4,0],\"ynab.com\":[2,0,1,0,0,8,0,0,5,0,3],\"xvideos2.com\":[0,0,0,1,1,3,1,0,0,0,0],\"xserver.ne.jp\":[8,1,0,0,0,5,0,0,2,1,2],\"animekhor.org\":[6,0,0,0,0,6,1,0,5,1,0],\"fanqienovel.com\":[2,0,0,1,1,3,2,0,0,0,0],\"prnt.sc\":[3,0,1,0,1,3,0,0,3,4,0],\"stonybrook.edu\":[5,1,0,1,0,11,0,0,2,0,1],\"hellosign.com\":[1,0,0,3,0,4,0,0,1,0,1],\"skat.dk\":[1,1,1,1,0,3,0,0,2,0,1],\"bilinovel.com\":[5,0,0,0,0,2,0,0,2,0,0],\"lcpdfr.com\":[6,1,1,1,0,7,1,0,1,0,1],\"noip.com\":[8,1,1,2,1,8,0,0,4,3,1],\"ridewithgps.com\":[2,0,0,3,0,7,0,0,2,0,5],\"aidedd.org\":[35,0,1,0,0,4,0,0,3,0,0],\"fullporner.com\":[1,0,0,1,0,4,0,0,1,0,0],\"torrentmac.net\":[2,0,0,1,0,4,1,0,4,1,0],\"riotpixels.com\":[1,0,0,2,1,4,0,0,3,2,0],\"yeshex.com\":[1,0,0,0,0,0,1,0,1,0,0],\"atitesting.com\":[5,0,1,2,0,8,0,0,5,0,6],\"viaggiatreno.it\":[0,0,0,0,0,2,0,0,1,0,0],\"meijer.com\":[31,1,0,3,0,9,0,0,6,2,4],\"m4uhd.com.co\":[3,1,0,0,0,10,1,0,3,0,0],\"obnoxiousbrutes.com\":[3,1,0,0,0,5,2,0,2,6,0],\"collider.com\":[80,1,4,3,0,11,2,0,7,0,2],\"gotanynudes.com\":[2,0,0,1,0,4,0,1,2,0,0],\"kurocore.com\":[1,0,0,1,0,0,1,0,1,0,0],\"qatarairways.com\":[16,0,1,2,1,9,1,0,7,2,7],\"hareruyamtg.com\":[7,1,0,1,0,7,0,0,4,1,0],\"inside-digital.de\":[18,0,1,0,0,4,0,0,2,0,0],\"polytoria.com\":[3,0,0,1,0,6,0,0,0,0,3],\"rbcroyalbank.com\":[8,1,1,0,0,6,0,0,3,0,2],\"gamesradar.com\":[49,2,2,2,0,6,1,0,7,3,0],\"anyporn.com\":[1,0,0,1,1,5,0,2,1,0,0],\"lausd.net\":[2,1,0,0,0,8,0,0,4,0,2],\"bithumen.be\":[0,0,0,0,0,1,0,0,0,0,0],\"atlasobscura.com\":[69,0,1,3,0,8,0,0,12,4,3],\"investors.com\":[38,1,2,0,0,10,1,0,13,5,4],\"blacktoon410.com\":[1,0,0,0,0,0,0,0,2,0,0],\"sumup.com\":[12,0,1,2,1,6,0,0,7,2,4],\"post-gazette.com\":[32,1,1,1,0,11,0,0,6,4,1],\"saveclip.app\":[5,0,0,0,1,3,0,0,1,0,0],\"sexlikereal.com\":[4,0,0,0,1,3,0,0,2,0,2],\"profigaraz.sk\":[7,0,0,0,0,7,0,0,2,2,0],\"hellomagazine.com\":[67,1,2,3,0,10,2,0,7,3,2],\"beeg.porn\":[2,0,0,1,1,5,1,1,3,1,0],\"books.com.tw\":[6,1,0,0,1,6,0,0,2,0,0],\"elal.com\":[16,0,1,0,0,6,0,0,5,0,2],\"electrek.co\":[20,1,0,2,0,4,2,0,6,6,2],\"dlstreams.top\":[5,1,0,2,0,9,1,0,3,0,1],\"backblaze.com\":[25,1,2,5,0,9,0,0,12,1,3],\"tapochek.net\":[3,1,0,1,1,5,1,0,1,0,0],\"czbooks.net\":[16,3,0,1,1,9,0,0,1,0,0],\"mcafee.com\":[14,0,0,3,0,8,0,0,9,1,3],\"la7.it\":[93,2,1,3,0,7,2,0,7,0,2],\"yt1s.com.co\":[3,1,0,1,1,4,0,0,1,0,0],\"diagrams.net\":[1,0,0,2,0,5,1,0,1,0,0],\"rutracker.me\":[1,0,0,1,0,4,0,0,1,0,0],\"jobs.cz\":[10,1,0,1,0,7,0,0,2,0,2],\"dzexams.com\":[4,0,0,0,1,3,0,0,3,0,1],\"trouw.nl\":[19,0,0,3,0,8,1,0,2,0,1],\"supercheapauto.com.au\":[12,1,0,3,1,5,0,0,10,0,2],\"mizuhobank.co.jp\":[6,0,0,1,0,3,0,0,1,0,0],\"veeam.com\":[10,2,1,1,0,8,0,0,7,0,4],\"hsex.tv\":[1,0,0,1,0,3,0,0,2,0,0],\"michigan.gov\":[6,1,0,3,0,10,0,0,3,1,3],\"secureinternetbank.com\":[1,0,0,0,0,3,0,0,2,0,2],\"ali213.net\":[3,0,0,0,1,2,2,0,0,0,0],\"tecnomat.it\":[27,1,1,1,1,7,0,0,4,0,1],\"fileditchfiles.me\":[6,0,0,0,1,5,0,1,2,0,1],\"bloodpressureuk.org\":[3,1,0,0,0,3,0,0,1,0,0],\"vidmax.com\":[13,0,1,1,0,4,0,0,1,0,1],\"sports-reference.com\":[7,1,2,1,0,5,0,0,3,2,0],\"share.google\":[16,1,1,5,0,10,3,0,1,3,3],\"presearch.com\":[2,0,0,0,0,2,0,0,0,0,2],\"breakoutprop.com\":[2,0,0,1,0,3,0,0,1,0,0],\"thelayoff.com\":[66,0,0,2,0,7,2,0,5,0,0],\"aerlingus.com\":[11,1,1,1,0,7,1,0,6,2,5],\"fc2ppvdb.com\":[1,0,0,1,1,5,0,0,2,0,0],\"maxpreps.com\":[93,0,4,3,0,12,0,0,10,0,2],\"vanguardinvestor.co.uk\":[9,0,1,0,0,3,1,0,5,1,1],\"scnsrc.me\":[2,1,0,0,1,5,1,0,1,0,0],\"mod.io\":[3,1,0,1,0,4,1,0,0,1,0],\"compass.com\":[5,1,1,2,0,5,1,0,9,0,4],\"giallozafferano.it\":[37,1,1,1,0,11,0,0,5,2,0],\"vinted.se\":[22,0,1,1,0,5,0,0,2,0,0],\"ilmattino.it\":[53,2,2,1,0,9,2,0,3,0,2],\"estatesales.net\":[6,1,0,0,0,6,0,0,1,0,0],\"hostingersite.com\":[4,1,1,0,1,12,0,0,5,2,3],\"looksmax.org\":[38,1,0,1,0,8,1,0,5,3,0],\"lebanonfiles.com\":[62,1,0,1,1,6,0,0,6,0,1],\"plugintorrent.com\":[1,0,0,1,1,4,0,0,4,1,0],\"skatteetaten.no\":[2,1,0,1,0,3,0,0,2,0,0],\"witanime.you\":[4,0,0,1,1,6,2,0,3,2,1],\"vivastreet.co.uk\":[6,0,1,0,0,2,0,0,4,0,0],\"hoofoot.com\":[4,0,0,1,0,3,0,0,1,0,0],\"warmane.com\":[3,0,0,1,0,4,1,0,2,0,0],\"swatch.com\":[5,1,1,1,0,5,0,0,3,0,2],\"tui.nl\":[33,2,0,1,1,8,0,0,9,3,2],\"oxfordlearnersdictionaries.com\":[18,0,2,0,1,5,1,0,4,0,0],\"seneweb.com\":[35,1,1,0,1,9,0,0,1,0,0],\"adoptapet.com\":[6,0,1,3,0,5,1,0,4,0,2],\"mirrored.to\":[1,0,0,1,1,4,0,0,1,0,0],\"greatergood.com\":[108,3,4,5,0,13,2,0,13,2,6],\"rezka-ua.tv\":[4,1,0,1,1,5,0,0,3,2,0],\"ts4rebels.cc\":[1,0,0,0,0,3,1,0,1,1,0],\"onehome.com\":[0,0,0,0,0,7,0,0,1,0,3],\"denik.cz\":[41,1,1,0,0,9,0,0,5,5,2],\"tangerine.ca\":[14,0,1,2,0,6,0,0,3,1,4],\"pogdesign.co.uk\":[31,1,1,2,0,4,1,0,2,0,0],\"congress.gov\":[4,1,0,1,0,5,0,0,1,0,1],\"jra.jp\":[1,0,0,0,0,0,0,0,0,0,0],\"tenable.com\":[4,0,0,0,0,4,0,0,6,1,1],\"erosberry.com\":[2,0,0,1,0,3,0,0,0,0,1],\"indigo.ca\":[8,0,1,2,0,4,0,0,8,2,5],\"flashscore.fi\":[13,0,1,0,0,1,1,0,1,0,0],\"cofidis.fr\":[27,1,0,1,1,4,0,0,3,1,0],\"jr-odekake.net\":[6,0,1,1,0,3,0,0,1,0,1],\"skybet.com\":[10,1,1,1,0,4,0,0,9,2,2],\"dm-lernwelt.de\":[2,1,0,1,0,3,3,0,1,0,0],\"bid.cars\":[6,0,0,1,1,7,0,0,0,0,0],\"gdt.gov.vn\":[1,0,0,0,1,2,0,0,1,0,0],\"autotempest.com\":[18,0,0,1,0,5,0,0,1,0,1],\"winamax.fr\":[7,2,0,0,0,5,0,0,3,2,3],\"flingtrainer.com\":[3,1,0,1,1,3,0,0,3,1,0],\"solaxcloud.com\":[0,0,0,0,0,0,0,0,1,0,1],\"litres.ru\":[4,0,0,1,1,2,0,0,2,2,2],\"newsnationnow.com\":[38,1,2,0,0,7,0,0,12,0,3],\"spoilerplus.ac\":[0,0,0,0,0,4,0,0,1,0,0],\"insta360.com\":[17,1,1,4,0,10,3,0,8,1,6],\"doterra.com\":[8,1,1,2,0,8,0,0,6,0,1],\"mashable.com\":[60,1,1,1,0,6,0,0,7,5,2],\"nudelive.com\":[2,0,0,1,0,5,0,1,1,0,0],\"pearlabyss.com\":[3,1,1,1,1,4,0,0,1,0,1],\"holidaycheck.de\":[51,1,1,3,0,4,1,0,5,1,2],\"srstop.link\":[4,0,0,1,0,5,1,0,2,0,0],\"credly.com\":[2,1,2,2,0,11,0,0,4,0,4],\"factsmgt.com\":[3,2,1,1,0,9,1,0,2,0,2],\"kwik.cx\":[0,0,0,1,1,5,0,0,1,0,0],\"sweclockers.com\":[5,1,1,0,1,4,1,0,2,0,1],\"deepai.org\":[7,0,0,1,0,8,0,0,0,1,1],\"comptia.org\":[8,1,1,3,0,12,0,0,9,0,4],\"livescience.com\":[37,2,2,0,0,5,1,0,6,0,0],\"synology-forum.nl\":[0,0,0,0,0,1,0,0,1,0,0],\"psacard.com\":[10,1,1,1,0,9,0,0,4,1,1],\"401games.ca\":[5,0,0,2,0,11,0,0,3,0,2],\"inschool.fi\":[0,0,0,1,0,3,0,0,1,0,0],\"navan.com\":[3,0,1,3,0,6,1,0,7,0,6],\"dice.com\":[11,1,1,2,0,10,0,0,7,0,2],\"g4u.to\":[1,0,0,0,1,1,0,0,1,0,0],\"fragrancenet.com\":[40,3,1,5,0,12,2,0,8,1,5],\"apollo-news.net\":[21,1,1,1,1,5,0,0,2,3,0],\"ballotpedia.org\":[53,1,0,2,0,12,1,0,6,1,1],\"resend.com\":[2,1,0,1,0,7,0,0,0,1,2],\"songkick.com\":[24,1,1,0,0,6,0,0,5,0,3],\"lostfilm.tv\":[2,0,0,1,1,3,0,0,5,1,0],\"morrisons.com\":[11,0,1,0,1,7,0,0,5,1,4],\"doculivery.com\":[0,0,0,0,0,1,0,0,0,0,0],\"jamesedition.com\":[23,4,2,2,1,9,1,0,5,0,3],\"motor1.com\":[64,1,2,2,1,8,1,0,4,1,0],\"hdtoday.cc\":[4,2,0,1,0,8,0,0,1,0,0],\"datart.cz\":[8,1,0,1,0,5,1,0,3,0,0],\"oxtorrent.co\":[1,0,0,0,1,2,0,0,0,0,0],\"netmozi.com\":[2,1,0,0,0,3,1,0,1,0,0],\"mixcloud.com\":[5,0,0,0,0,4,0,0,1,0,1],\"vogue.com\":[54,1,0,4,0,9,0,0,11,3,0],\"danskespil.dk\":[10,1,0,0,1,5,0,0,6,2,3],\"tagged.com\":[4,0,1,0,0,3,0,0,1,0,1],\"zaluknij.cc\":[7,1,0,2,0,9,0,0,3,1,0],\"netflix.net\":[1,0,1,3,0,4,0,0,4,0,2],\"v2ex.com\":[1,0,0,1,0,3,2,0,1,0,0],\"elster.de\":[1,0,0,1,1,4,0,0,0,0,1],\"motionbgs.com\":[4,0,0,1,1,5,0,0,2,0,0],\"411mania.com\":[37,3,5,2,0,10,1,0,10,4,2],\"charentelibre.fr\":[35,1,1,0,0,6,0,0,4,2,1],\"postbank.de\":[9,0,1,0,1,4,0,0,1,0,1],\"ero-torrent.net\":[0,0,0,2,0,3,0,0,0,0,0],\"hackerrank.com\":[7,0,1,2,0,15,0,0,7,3,4],\"sport-express.ru\":[7,0,0,1,1,3,1,0,7,2,0],\"theblaze.com\":[12,1,1,4,0,6,0,0,8,2,2],\"jumbo.ch\":[6,0,1,2,0,5,1,0,4,0,1],\"cointracking.info\":[7,1,1,1,0,9,0,0,4,2,0],\"olx.ba\":[8,0,2,0,1,5,2,0,4,0,1],\"tv-asahi.co.jp\":[23,3,0,1,0,10,0,0,8,4,2],\"westjet.com\":[37,2,0,1,0,8,1,0,9,1,4],\"provenexpert.com\":[6,1,2,3,0,4,0,0,1,0,2],\"materiel.net\":[3,1,0,0,1,5,0,0,0,0,1],\"ebanking-services.com\":[0,0,1,0,0,0,0,0,0,0,1],\"rakurakuseisan.jp\":[3,0,0,0,0,2,0,0,0,0,0],\"akinator.com\":[12,1,1,1,0,5,1,0,3,0,0],\"soundgasm.net\":[0,0,0,1,0,5,1,0,0,0,0],\"teuteuf.fr\":[78,2,0,5,0,11,3,0,7,0,2],\"solarmoviesz.com\":[4,1,0,0,0,7,2,0,2,0,0],\"davivienda.com\":[6,0,0,1,1,5,0,0,5,0,1],\"toutes-mes-sorties.com\":[1,0,0,1,1,5,0,0,0,0,0],\"first-id.fr\":[96,1,2,3,0,10,2,0,9,4,3],\"airbnb.it\":[8,0,0,2,1,6,0,0,2,1,2],\"autenticacao.gov.pt\":[4,1,1,1,1,7,0,0,1,0,0],\"opony.trade\":[0,0,0,0,0,0,0,0,1,0,0],\"hololive.tv\":[5,1,0,0,0,6,0,0,1,0,0],\"usamega.com\":[9,0,0,1,0,3,0,0,1,0,0],\"irecommend.ru\":[6,0,0,1,1,3,0,0,4,0,0],\"mitarbeiterangebote.de\":[0,0,0,0,0,0,1,0,1,0,0],\"fortune.com\":[56,0,1,1,0,8,1,0,8,1,4],\"thekitchn.com\":[37,1,2,0,0,8,0,0,10,3,3],\"jreast.co.jp\":[10,1,0,1,0,6,0,0,5,1,0],\"koreaboo.com\":[53,1,0,2,1,10,1,0,3,5,0],\"enphaseenergy.com\":[3,0,1,2,0,6,1,0,2,0,1],\"laravel.com\":[6,1,1,2,0,8,0,0,6,1,5],\"rosebikes.de\":[11,0,1,1,0,2,0,0,4,1,0],\"mhlw.go.jp\":[4,1,0,2,1,9,0,0,0,0,2],\"sarna.net\":[6,0,1,1,0,4,0,0,3,0,0],\"kinoger.to\":[3,1,0,0,0,7,1,0,1,0,0],\"kutxabank.es\":[6,1,1,2,1,2,0,0,2,2,2],\"hyperliquid.xyz\":[0,0,0,1,1,3,0,0,1,0,1],\"eldestapeweb.com\":[7,1,0,0,1,7,0,0,2,2,1],\"novelfull.com\":[3,0,0,1,0,3,0,0,2,0,0],\"keylol.com\":[2,0,0,0,1,4,0,0,2,0,0],\"expedia.co.uk\":[9,0,1,1,0,7,0,0,6,0,6],\"lecker.de\":[20,3,0,1,0,6,2,0,4,0,1],\"flashscore.nl\":[18,0,1,0,0,1,1,0,2,0,1],\"raiffeisen.ua\":[2,0,0,0,0,2,0,0,2,0,2],\"leggo.it\":[48,2,2,0,1,10,1,0,3,1,2],\"autotrader.co.za\":[6,0,0,0,1,4,1,0,2,0,2],\"elegoo.com\":[11,1,0,5,1,13,0,0,5,0,3],\"webcric.com\":[2,0,0,0,0,4,0,0,1,0,0],\"filmoviplex.com\":[6,1,0,1,1,10,1,1,3,1,0],\"kwork.ru\":[1,0,0,1,1,3,0,0,1,0,0],\"svenskaspel.se\":[7,1,1,0,0,4,0,0,2,0,2],\"study.com\":[6,1,0,2,0,8,0,0,3,1,2],\"test-english.com\":[60,1,1,4,0,6,1,0,3,0,0],\"dmitory.com\":[4,1,0,0,0,6,0,0,1,2,0],\"avast.com\":[7,1,1,2,0,8,0,0,7,1,5],\"buzzheavier.com\":[1,0,0,1,1,4,0,0,1,0,0],\"rogerebert.com\":[53,1,1,2,0,8,0,0,4,0,2],\"ifood.com.br\":[6,0,0,0,1,7,0,0,5,0,6],\"argentina.gob.ar\":[6,1,0,0,1,7,0,0,1,2,0],\"flashscore.dk\":[16,0,1,0,0,3,1,0,2,1,0],\"vlog.jp\":[0,0,0,0,0,2,0,0,3,0,1],\"ohentai.org\":[1,1,0,1,1,4,0,0,1,0,0],\"bueromarkt-ag.de\":[26,1,1,2,0,4,0,0,1,0,0],\"bigw.com.au\":[11,1,0,3,0,6,1,0,11,1,5],\"kvk.nl\":[2,1,0,2,0,4,0,0,2,1,3],\"diariovasco.com\":[83,3,1,2,0,9,1,0,9,3,3],\"tweaktown.com\":[2,1,0,0,0,6,0,0,1,2,0],\"ldg-prd.net\":[0,0,0,0,0,2,0,0,0,0,0],\"nyulmc.org\":[1,0,0,0,0,2,0,0,1,0,0],\"adrenaline.com.br\":[6,1,1,4,1,11,2,0,2,4,0],\"hdfull.one\":[5,1,0,1,0,6,0,0,3,0,1],\"vogelbescherming.nl\":[4,1,1,1,0,5,0,0,3,0,1],\"boxrec.com\":[60,1,0,2,0,6,0,0,4,2,0],\"bingx.com\":[7,0,0,0,1,5,0,0,3,1,1],\"naughtyamerica.com\":[3,1,1,0,1,10,0,0,4,0,1],\"cb01uno.rest\":[6,1,0,1,1,8,0,0,0,1,0],\"imss.gob.mx\":[2,1,0,0,1,6,0,0,2,0,0],\"blueletterbible.org\":[4,1,0,0,0,6,0,0,2,0,0],\"m3.com\":[10,1,0,0,0,6,0,0,4,1,1],\"usasexguide.nl\":[1,0,0,0,1,2,0,0,1,0,0],\"championcross.jp\":[7,0,0,1,0,7,0,0,2,2,1],\"redcafe.net\":[60,1,1,1,0,9,0,0,3,4,1],\"zacks.com\":[52,1,1,2,0,7,1,0,4,0,1],\"loyalfans.com\":[5,0,0,0,0,2,0,0,2,0,0],\"hentai4daily.com\":[0,0,0,1,0,4,0,0,2,0,0],\"radiko.jp\":[9,1,0,0,1,11,0,0,2,4,1],\"ulule.com\":[6,2,1,3,0,8,0,0,1,0,4],\"ancensored.com\":[1,0,0,1,1,3,0,0,2,0,0],\"smythstoys.com\":[6,1,0,4,1,7,1,0,0,0,4],\"israelhayom.com\":[45,1,0,1,0,6,0,0,4,2,1],\"highporn.net\":[1,1,0,1,0,3,0,1,1,0,0],\"evenue.net\":[5,0,1,0,0,5,1,0,4,0,2],\"vinted.lt\":[18,0,1,0,0,3,0,0,0,0,0],\"pinimg.com\":[4,0,0,0,0,3,0,0,2,0,3],\"trovaprezzi.it\":[25,2,1,0,1,6,0,0,2,0,0],\"promodescuentos.com\":[60,0,2,0,1,6,0,0,4,0,0],\"sportspunter.com\":[1,0,0,0,0,0,0,0,2,0,0],\"britishnewspaperarchive.co.uk\":[4,0,1,1,0,5,0,0,1,2,2],\"cfake.com\":[2,0,0,0,1,2,0,3,1,0,0],\"freebmd.org.uk\":[21,0,1,1,0,4,0,0,1,0,0],\"eater.com\":[83,1,4,3,0,9,1,0,12,2,2],\"youngla.com\":[8,0,0,3,0,11,0,0,5,1,1],\"vulture.com\":[72,2,4,3,0,8,1,0,10,4,1],\"novlove.com\":[2,0,0,2,0,4,0,0,1,0,0],\"pxxbay.com\":[3,0,0,0,0,6,0,0,3,0,0],\"upornia.com\":[1,1,0,1,0,4,1,2,2,0,1],\"pornxbit.com\":[6,1,0,0,0,7,0,0,4,1,0],\"chegg.com\":[54,2,5,4,0,11,1,0,13,1,3],\"seb.se\":[0,0,1,1,0,3,0,0,0,0,2],\"realsimple.com\":[31,1,2,1,0,7,2,0,7,1,0],\"sellsy.com\":[4,0,1,4,0,8,0,0,3,0,1],\"p-bandai.com\":[7,1,2,1,1,5,0,0,4,1,2],\"ome.tv\":[5,1,0,2,0,6,0,0,1,2,1],\"newscaststudio.com\":[1,0,0,0,0,2,0,0,0,0,0],\"boxofficemojo.com\":[1,0,0,0,0,4,1,0,0,0,0],\"earthcam.com\":[6,0,0,1,0,6,0,0,0,0,1],\"taz.de\":[4,0,1,0,0,2,0,0,2,0,1],\"exsite.pl\":[1,0,0,0,0,1,0,0,2,0,0],\"interviewui.com\":[0,0,0,1,0,2,2,0,0,0,1],\"meetic.fr\":[11,1,1,0,0,5,0,0,2,0,0],\"membean.com\":[2,0,1,2,0,2,0,0,1,1,1],\"sadol.pl\":[44,1,0,0,0,6,0,0,2,0,0],\"bad.news\":[1,0,0,1,1,5,0,0,3,1,0],\"fotocasa.es\":[43,3,1,2,1,8,1,0,6,1,3],\"stampworld.com\":[41,0,1,3,1,6,1,0,3,0,0],\"bcit.ca\":[3,1,0,0,0,7,0,0,1,0,0],\"debeste.de\":[22,0,1,0,0,5,0,0,1,1,0],\"storage.googleapis.com\":[3,1,0,0,0,6,0,0,1,0,1],\"farmaline.be\":[9,0,2,2,0,6,0,0,2,0,1],\"thomann.nl\":[2,1,0,3,0,5,0,0,0,0,1],\"wpolityce.pl\":[30,1,1,0,0,8,0,0,2,2,0],\"kayak.fr\":[8,0,0,1,1,7,0,0,3,0,3],\"ets2.lt\":[13,1,0,2,1,5,1,0,2,1,0],\"ktla.com\":[46,0,2,0,0,6,0,0,12,0,4],\"openrent.co.uk\":[4,1,0,1,1,4,0,0,0,0,1],\"cuchd.in\":[3,1,0,0,0,7,0,0,4,0,1],\"y2mate.nu\":[1,1,0,1,1,3,0,0,1,0,0],\"mercor.com\":[9,1,1,1,0,7,1,0,5,2,3],\"unam.mx\":[4,1,0,2,1,13,1,0,2,4,2],\"chess-results.com\":[19,0,1,2,0,4,1,0,1,0,0],\"videotron.com\":[7,0,0,4,1,10,0,0,5,1,0],\"offerup.com\":[13,0,1,0,0,7,0,0,3,1,3],\"greatandhra.com\":[9,1,0,0,1,8,0,0,1,4,0],\"otpbankdirekt.hu\":[1,0,0,0,0,0,0,0,1,0,0],\"rutgers.edu\":[8,2,0,1,0,14,0,0,5,1,3],\"tameteo.com\":[62,0,0,1,1,4,1,0,5,0,1],\"myheritage.pl\":[1,0,0,0,0,3,0,0,0,0,4],\"ecstuning.com\":[6,1,0,2,0,7,0,0,3,0,3],\"tfwiki.net\":[0,0,0,1,0,2,0,0,1,0,0],\"larousse.fr\":[53,1,1,0,1,13,1,0,6,0,2],\"babylonbee.com\":[6,3,0,1,0,8,0,0,2,3,1],\"cube.eu\":[3,0,1,1,0,6,0,0,2,0,1],\"xxxdan.com\":[3,0,0,1,1,5,1,3,3,0,0],\"seg-social.es\":[4,0,0,1,1,3,0,0,3,2,0],\"britishcouncil.org\":[6,2,1,4,1,10,0,0,5,0,3],\"storysaver.net\":[5,0,0,0,1,3,0,0,1,1,0],\"huaren.us\":[49,1,0,1,0,9,1,0,3,2,1],\"test.de\":[2,0,1,0,0,3,0,0,3,0,0],\"swiss.com\":[7,0,0,0,0,6,1,0,5,1,1],\"calpoly.edu\":[3,1,1,2,0,11,1,0,5,1,2],\"kapu.hu\":[4,0,0,0,0,3,0,0,1,0,0],\"dailycaller.com\":[62,1,2,1,0,10,1,0,9,3,2],\"ecitizen.go.ke\":[2,0,0,1,1,5,0,0,2,0,0],\"isu.org\":[1,0,0,0,0,0,0,0,1,0,0],\"tfw2005.com\":[3,1,0,1,0,9,1,0,2,3,0],\"voetbalprimeur.nl\":[28,4,1,0,1,6,0,0,4,3,3],\"wgu.edu\":[8,1,1,3,1,10,1,0,12,0,5],\"encount.press\":[28,1,0,0,0,6,0,0,4,4,1],\"eldebate.com\":[39,1,1,0,1,7,1,0,4,4,1],\"dailywire.com\":[39,2,1,1,0,13,0,0,11,5,2],\"hotpornfile.org\":[3,0,0,1,1,7,0,0,1,0,0],\"xprime.su\":[0,1,0,0,0,5,1,0,1,0,0],\"tsn.ua\":[39,1,0,2,0,6,0,0,3,1,1],\"floridatoday.com\":[61,2,3,1,0,4,0,0,8,1,0],\"kcl.ac.uk\":[5,2,1,0,0,10,1,0,4,2,1],\"wago.io\":[51,3,1,3,0,6,2,0,8,1,0],\"1stdibs.com\":[12,1,1,5,0,5,0,0,4,2,4],\"mature.nl\":[1,0,0,1,1,4,0,1,1,0,0],\"dreamhost.com\":[5,0,1,4,0,11,0,0,6,0,3],\"equibase.com\":[6,1,0,1,0,5,0,0,1,0,0],\"kerbalspaceprogram.com\":[2,1,0,4,0,9,2,0,2,0,0],\"expressvpn.com\":[8,1,1,2,0,7,0,0,5,1,5],\"gnulahd.nu\":[10,1,0,0,1,9,0,1,3,0,0],\"maieuticapp.com\":[1,0,0,1,0,3,0,0,6,0,1],\"warau.jp\":[60,1,0,0,0,7,0,0,6,1,0],\"yale.edu\":[7,2,0,0,0,16,0,0,9,1,4],\"carsandbids.com\":[5,2,1,1,0,7,0,0,1,1,2],\"overclockers.co.uk\":[5,1,1,2,1,11,1,0,4,3,3],\"sexemodel.com\":[2,1,0,1,1,4,0,0,1,0,1],\"chicagotribune.com\":[75,0,5,1,0,13,0,0,14,2,5],\"williams-sonoma.com\":[12,2,0,4,0,7,0,0,7,1,4],\"shooshtime.com\":[2,0,0,1,1,3,0,1,1,0,0],\"tickzoo.tv\":[2,0,0,1,1,5,0,0,3,1,0],\"nicematin.com\":[104,2,3,2,1,11,2,0,14,3,1],\"passthepopcorn.me\":[2,1,0,0,0,8,2,0,0,2,0],\"tui.com\":[31,1,0,2,0,9,1,0,8,2,3],\"chatib.us\":[21,0,1,1,0,6,0,0,1,0,0],\"thestorygraph.com\":[1,0,0,0,0,5,0,0,1,0,0],\"omg.xxx\":[1,0,0,1,1,4,0,0,2,0,1],\"hy-vee.com\":[8,0,1,4,0,8,0,0,2,1,2],\"tubepornclassic.com\":[1,0,0,1,1,4,0,1,2,0,1],\"myprotein.com\":[14,1,1,2,0,4,0,0,3,1,1],\"bancoestado.cl\":[4,0,0,1,1,3,0,0,3,0,1],\"apify.com\":[11,1,2,5,0,9,0,0,9,3,3],\"billit.be\":[5,0,0,1,1,3,0,0,2,0,0],\"hothardware.com\":[14,2,1,1,0,5,1,0,3,4,1],\"creativemarket.com\":[6,1,1,2,0,5,0,0,4,2,2],\"duplichecker.com\":[5,1,0,3,0,7,0,0,2,0,0],\"gartner.com\":[14,1,1,2,0,6,0,0,11,3,3],\"freesound.org\":[2,0,0,2,0,3,0,0,0,0,0],\"innourbia.com\":[1,0,0,0,0,3,0,0,0,0,1],\"spotlightstores.com\":[10,1,0,2,1,6,0,0,5,1,3],\"privatesportshop.fr\":[8,0,0,2,0,5,0,0,2,1,1],\"jefferycontrolmodel.com\":[2,1,0,0,1,5,0,0,0,0,0],\"gitee.com\":[1,0,0,1,0,2,2,0,0,0,0],\"indiegala.com\":[5,1,0,2,1,11,0,0,3,2,1],\"hentaivost.fr\":[7,1,0,0,1,10,0,2,2,1,1],\"offnews.bg\":[25,1,0,0,0,6,0,0,2,0,0],\"brooksrunning.com\":[20,3,1,5,0,11,2,0,14,3,5],\"synxis.com\":[11,0,2,2,0,12,1,0,3,0,3],\"mandiner.hu\":[19,1,1,1,0,7,0,0,3,3,0],\"pornbaker.com\":[4,0,0,1,1,4,0,1,2,0,0],\"tfgames.site\":[1,0,0,2,1,7,1,0,0,0,0],\"brocabrac.fr\":[49,0,1,0,1,4,1,0,2,1,1],\"techno360.in\":[5,1,0,1,1,4,0,0,3,2,1],\"gifi.fr\":[5,0,1,0,1,5,0,0,3,1,1],\"grainger.com\":[12,0,1,0,0,2,1,0,6,0,4],\"decathlon.net\":[2,0,1,3,0,4,0,0,2,1,2],\"homehardware.ca\":[6,0,0,2,0,5,0,0,4,1,4],\"thaiflirting.com\":[2,0,0,0,0,4,0,0,0,0,0],\"downloadwella.com\":[1,1,0,0,0,4,0,0,1,0,0],\"lesanciennes.com\":[3,0,1,0,1,4,0,0,2,0,3],\"wixsite.com\":[4,1,0,2,1,14,1,0,3,4,2],\"wps.com\":[5,0,0,1,1,7,0,0,3,0,1],\"sephora.fr\":[13,1,0,7,0,6,0,0,9,1,4],\"healthcare.gov\":[5,0,0,0,0,3,0,0,6,0,0],\"freemail.hu\":[18,0,1,0,1,4,0,0,1,0,0],\"amplitude.com\":[10,1,1,5,0,9,0,0,3,0,3],\"porncoven.com\":[2,0,0,1,0,4,0,0,2,0,0],\"amuse.io\":[5,2,1,2,0,6,0,0,3,0,2],\"ajbell.co.uk\":[9,1,0,4,0,5,0,0,7,1,1],\"infomoney.com.br\":[9,1,0,0,1,7,0,0,7,1,3],\"ksdk.com\":[45,2,2,1,0,6,0,0,8,0,2],\"cruisecritic.com\":[12,1,0,0,0,5,1,0,9,0,5],\"audiokarma.org\":[5,3,1,0,0,6,1,0,2,1,1],\"jurnal.id\":[2,1,0,1,0,6,0,0,1,0,1],\"jobbmintatv.pro\":[8,1,1,0,0,5,0,0,4,1,0],\"lightbrd.com\":[0,0,0,0,0,1,0,0,0,1,0],\"horoscope.com\":[16,0,0,0,0,3,0,0,3,0,1],\"indiegogo.com\":[5,2,1,0,1,5,0,0,4,0,3],\"sportsmans.com\":[32,2,0,6,0,6,1,0,9,3,3],\"ggsel.net\":[3,0,0,0,1,4,0,0,3,1,0],\"zalo.me\":[5,0,0,1,0,4,1,0,1,0,1],\"order.online\":[2,0,0,4,0,4,0,0,3,0,5],\"griffinpark.org\":[5,0,0,0,0,1,0,0,1,1,0],\"kakuroconquest.com\":[2,0,0,0,0,4,0,0,0,0,2],\"javxx.com\":[1,0,0,1,0,4,0,0,2,0,0],\"taxwise.com\":[2,0,0,1,0,3,0,0,1,0,1],\"webcamtaxi.com\":[5,1,0,1,0,7,0,0,1,3,1],\"vc.ru\":[2,0,0,0,1,3,1,0,2,0,0],\"decathlon.hu\":[9,1,1,3,0,5,1,0,4,0,0],\"hotline.ua\":[9,1,0,0,1,6,0,0,3,0,1],\"olympustaff.com\":[4,0,0,1,0,4,0,0,3,0,0],\"chatpia.jp\":[10,0,0,0,0,6,0,0,4,0,1],\"wayshare.cc\":[1,0,0,0,1,5,0,0,0,0,1],\"google.com.ua\":[4,1,0,0,0,4,0,0,0,0,0],\"basspro.com\":[33,2,1,4,0,10,1,0,10,1,1],\"maricopa.edu\":[3,1,0,1,0,11,0,0,5,0,1],\"theresanaiforthat.com\":[0,0,0,2,0,6,0,0,0,1,2],\"booli.se\":[8,0,1,1,0,5,0,0,4,0,1],\"airbnb.com.au\":[8,0,0,2,0,6,0,0,2,1,3],\"leakslove.com\":[6,1,0,0,0,7,0,1,2,0,0],\"loteriasyapuestas.es\":[2,0,1,2,1,3,0,0,1,0,0],\"corvetteforum.com\":[16,1,1,0,0,6,1,0,3,2,0],\"cchaxcess.com\":[0,0,0,0,0,5,0,0,1,0,0],\"tpead.net\":[2,1,1,1,1,6,1,0,3,0,0],\"hellcase.com\":[15,1,0,2,0,10,0,0,6,4,4],\"gigantti.fi\":[8,3,1,3,0,6,1,0,5,0,1],\"kleinezeitung.at\":[47,0,2,0,1,8,0,0,7,2,2],\"singpass.gov.sg\":[1,0,0,0,0,2,0,0,2,0,1],\"aemet.es\":[2,0,0,0,1,2,0,0,0,0,0],\"auction.co.kr\":[27,1,0,1,0,4,1,0,0,0,1],\"anthem.com\":[6,0,0,2,0,10,0,0,4,0,2],\"taxslayerpro.com\":[2,1,1,0,0,7,0,0,3,0,4],\"princeton.edu\":[6,2,1,3,0,14,0,0,3,0,7],\"eightfold.ai\":[7,1,2,2,0,10,3,0,4,1,5],\"myhentaigallery.com\":[2,0,0,0,0,2,0,2,2,0,0],\"ultimatesurferprotector.com\":[0,0,0,0,0,2,1,0,1,0,0],\"logitechg.com\":[9,1,1,3,1,6,0,0,2,2,2],\"militaria.pl\":[8,1,1,1,1,5,1,0,5,0,0],\"which.co.uk\":[12,1,1,0,1,8,1,0,7,4,1],\"xidol.net\":[2,0,0,1,1,4,0,0,0,1,0],\"mangahub.io\":[2,0,0,0,0,6,0,0,1,1,1],\"i-doxs.net\":[3,0,0,1,0,7,0,0,2,0,5],\"lastdodo.nl\":[3,0,0,0,0,1,0,0,0,0,1],\"evaair.com\":[6,0,0,0,0,6,1,0,2,0,2],\"elgiganten.se\":[10,3,1,3,0,6,1,0,5,0,1],\"nationalgeographic.com\":[22,1,1,2,0,5,1,0,9,2,2],\"e-shop.gr\":[6,0,0,0,1,1,0,0,3,0,0],\"premierinn.com\":[15,1,0,1,0,4,1,0,10,1,4],\"ridomovies.tv\":[4,2,0,0,0,6,0,0,2,0,0],\"simpli.fi\":[11,0,3,3,0,4,1,0,6,0,3],\"gatech.edu\":[3,1,0,0,0,12,0,0,6,1,2],\"hubo.be\":[21,2,1,2,0,4,0,0,3,0,1],\"securly.com\":[2,1,1,2,0,9,0,0,5,0,3],\"sucursalelectronica.com\":[4,0,0,1,0,2,0,0,4,0,0],\"uexcorp.space\":[1,0,0,0,0,2,0,0,2,0,0],\"toroporno.com\":[1,0,0,1,1,3,0,0,1,0,0],\"railforums.co.uk\":[4,1,0,0,0,6,0,0,1,1,0],\"nm.org\":[3,1,0,1,0,8,0,0,3,2,3],\"bravoporn.com\":[1,0,0,1,1,5,0,2,1,0,0],\"axonaut.com\":[11,0,0,3,0,5,0,0,6,2,0],\"portaldasfinancas.gov.pt\":[2,0,0,1,1,4,0,0,2,0,2],\"doujins.com\":[3,0,0,0,0,6,0,0,3,0,0],\"hkjc.com\":[2,0,0,1,0,3,0,0,1,0,2],\"rpg.net\":[6,1,0,0,0,6,1,0,1,0,0],\"oneclickchicks.com\":[1,0,0,1,0,2,0,0,1,0,0],\"synonymo.fr\":[10,0,0,0,1,5,0,0,2,0,0],\"9vids.com\":[0,0,0,1,1,4,0,0,1,0,0],\"cosmote.gr\":[8,0,0,2,1,9,0,0,4,0,0],\"deakin.edu.au\":[5,1,0,1,1,10,1,0,10,0,1],\"kissasian.cam\":[5,0,0,1,0,5,0,0,2,1,0],\"airbnb.com.br\":[9,0,0,1,1,5,0,0,3,1,3],\"kuccps.net\":[4,0,0,2,1,9,0,0,1,0,0],\"shemalestardb.com\":[1,1,0,1,1,4,0,0,1,0,0],\"sportradar.com\":[3,0,0,0,0,2,0,0,3,0,1],\"voyeurweb.com\":[1,1,0,1,0,7,0,0,1,0,0],\"anime1.me\":[4,0,0,0,1,2,0,0,1,0,1],\"nanoreview.net\":[6,0,0,1,1,5,0,0,2,0,0],\"ciudad.com.ar\":[9,1,0,0,0,3,0,0,3,0,2],\"forebears.io\":[3,0,0,0,0,0,0,0,0,0,0],\"alibabacloud.com\":[9,0,1,2,0,5,1,0,3,2,2],\"liveworksheets.com\":[22,1,0,2,1,6,1,0,3,1,0],\"enterjoy.day\":[1,0,0,0,0,3,0,0,1,0,0],\"fomos.kr\":[6,1,0,0,0,4,0,0,1,0,0],\"epoznan.pl\":[32,0,1,1,0,5,0,0,4,0,0],\"pirateproxylive.org\":[1,0,0,0,0,2,0,0,1,0,0],\"flashscorekz.com\":[13,0,1,0,1,2,1,0,2,0,0],\"bidspotter.com\":[2,0,1,3,0,6,0,0,2,0,0],\"rustafied.com\":[1,0,0,1,0,1,0,0,0,0,1],\"homegate.ch\":[43,0,1,2,0,7,1,0,3,0,4],\"laxd.com\":[1,0,0,1,0,3,0,0,1,0,0],\"elgiganten.dk\":[10,3,1,4,0,6,1,0,5,0,1],\"1999.co.jp\":[5,0,0,2,0,5,0,0,2,0,0],\"alldebrid.fr\":[1,0,0,0,1,4,0,0,0,0,1],\"fsolver.fr\":[5,0,0,0,1,3,0,0,3,0,0],\"tikmate.cc\":[2,1,0,1,1,3,0,0,1,0,0],\"hubstaff.com\":[8,1,2,3,0,6,0,0,7,1,2],\"fastweb.it\":[6,0,0,2,1,5,0,0,5,0,1],\"pelando.com.br\":[6,0,0,0,1,6,0,0,0,0,1],\"thestreet.com\":[80,1,2,0,0,11,1,0,14,2,3],\"a-zmanga.net\":[2,0,0,1,0,4,1,0,2,0,0],\"factorio.com\":[1,1,0,2,0,5,1,0,1,0,0],\"musicmeter.nl\":[27,1,1,0,0,8,0,0,3,0,0],\"languagetool.org\":[7,0,1,0,1,6,0,0,1,0,3],\"uaudio.com\":[8,1,0,5,1,11,1,0,11,0,2],\"doujindesu.tv\":[3,0,0,0,0,6,0,0,1,0,0],\"live-tennis.eu\":[43,2,1,0,1,6,0,0,3,0,0],\"manulife.ca\":[4,1,1,0,0,2,0,0,4,0,2],\"pzc.nl\":[18,1,0,2,0,6,2,0,2,2,1],\"mo.gov\":[4,1,0,1,0,11,0,0,6,0,0],\"odatv.com\":[24,1,0,0,1,6,0,0,5,2,0],\"intmusic.net\":[1,0,0,1,1,4,1,0,2,1,0],\"interfax.ru\":[1,0,0,2,1,2,0,0,3,1,0],\"untappd.com\":[10,0,1,2,0,9,1,0,5,1,4],\"yamaha.com\":[7,2,2,4,0,12,0,0,10,2,3],\"transfermarkt.co.uk\":[11,0,1,1,0,7,0,0,1,0,2],\"tutti.ch\":[19,0,1,3,0,6,1,0,2,0,1],\"super.com\":[7,0,0,4,0,6,2,0,10,0,2],\"audible.com.au\":[9,0,0,0,0,3,1,0,2,1,0],\"goodgamestudios.com\":[5,0,1,2,0,6,1,0,4,1,1],\"tomodachishare.com\":[1,0,0,3,0,4,0,0,1,0,0],\"adressa.no\":[3,1,0,1,0,7,2,0,1,0,1],\"biltema.se\":[5,0,1,1,0,3,0,0,3,0,1],\"uconn.edu\":[4,2,0,2,0,12,0,0,5,0,2],\"snopes.com\":[59,1,2,2,0,10,0,0,5,4,2],\"streamff.com\":[10,0,0,1,0,3,0,0,2,0,0],\"backerkit.com\":[6,2,0,1,0,8,0,0,4,2,1],\"downdetector.com.br\":[4,0,1,2,0,3,0,0,2,0,0],\"cagesideseats.com\":[40,1,4,2,0,7,1,0,8,4,0],\"uitelkaar.nl\":[2,0,0,0,0,4,0,0,1,0,1],\"flashscore.com.ua\":[17,0,1,0,1,1,1,0,2,0,0],\"gearpatrol.com\":[62,3,3,3,0,11,2,0,11,3,2],\"skipthedishes.com\":[11,0,0,1,0,6,0,0,2,1,4],\"trendmicro.com\":[10,1,1,3,0,11,1,0,9,1,3],\"wi.gov\":[3,1,0,1,0,7,0,0,4,0,1],\"jjgirls.com\":[2,0,0,0,0,3,0,1,2,0,0],\"search-property-information.service.gov.uk\":[2,0,0,0,0,3,0,0,3,0,0],\"looker.com\":[1,0,0,0,0,4,0,0,3,2,2],\"yahoo-mbga.jp\":[6,0,0,0,0,9,0,0,1,2,0],\"time.is\":[14,0,1,1,1,3,1,0,2,0,0],\"ilikecomix.com\":[0,0,0,1,1,3,0,0,2,0,1],\"thecomicseries.com\":[1,0,0,1,0,5,1,0,1,0,0],\"sage.com\":[4,3,1,2,0,8,1,0,9,1,3],\"waterstones.com\":[6,1,1,1,0,4,0,0,2,0,3],\"hostelworld.com\":[6,1,2,4,1,6,1,0,8,1,2],\"jav.sb\":[0,0,0,0,0,2,0,0,0,0,0],\"lrt.lt\":[8,1,1,1,0,5,0,0,3,1,0],\"multimango.com\":[0,0,0,0,0,6,0,0,0,0,1],\"iledefrance-mobilites.fr\":[3,0,1,0,1,6,0,0,3,0,0],\"sexbjcam.com\":[1,1,0,1,0,5,0,0,2,0,0],\"activecommunities.com\":[6,0,0,0,0,3,0,0,3,0,2],\"moviemeter.nl\":[24,1,1,1,1,11,1,0,1,3,2],\"wwe.com\":[10,0,1,3,0,7,1,0,3,1,2],\"skyscanner.pl\":[38,1,0,0,0,5,0,0,4,2,3],\"pgatour.com\":[59,2,2,2,0,12,1,0,14,2,1],\"masterfap.net\":[1,0,0,1,1,4,0,0,1,0,0],\"bunkr.ac\":[0,0,0,0,1,3,0,0,1,0,0],\"tauron.pl\":[7,0,1,0,0,3,0,0,3,0,1],\"tvmon.site\":[1,0,0,0,0,4,1,0,2,0,0],\"rule34.world\":[2,0,0,0,0,2,0,0,1,0,1],\"jemogfix.dk\":[8,1,1,1,0,4,0,0,1,1,2],\"inss.gov.br\":[2,0,0,0,1,7,0,0,0,0,2],\"sony.jp\":[19,1,1,2,1,9,0,0,10,3,0],\"meta.ai\":[3,1,0,0,1,5,0,0,0,0,0],\"m1-data.com\":[0,0,0,0,0,2,0,0,0,0,0],\"ualberta.ca\":[3,1,0,1,1,11,0,0,2,0,0],\"minuporno.com\":[1,0,0,0,1,4,0,0,2,0,0],\"xpaja.net\":[2,0,0,1,1,4,0,1,2,0,0],\"turbosquid.com\":[2,0,1,1,1,4,0,0,4,0,0],\"comic-gardo.com\":[14,1,0,1,0,6,0,0,3,3,1],\"feverup.com\":[15,1,0,4,1,10,0,0,9,3,7],\"on.com\":[21,2,1,2,0,13,0,0,8,3,6],\"crealitycloud.com\":[4,1,0,0,1,4,1,0,2,0,0],\"cool18.com\":[0,0,0,2,1,4,0,0,1,0,0],\"tag24.de\":[33,1,0,0,1,4,0,0,5,1,1],\"lejsl.com\":[23,0,1,0,0,5,0,0,4,0,3],\"bitcotasks.com\":[12,0,1,0,0,6,0,0,3,1,1],\"bankofscotland.co.uk\":[8,0,0,1,0,2,0,0,7,0,3],\"x-idol.net\":[2,0,0,1,0,3,0,0,0,1,0],\"nus.edu.sg\":[5,1,0,2,1,12,0,0,4,1,1],\"acronis.com\":[3,1,1,3,0,3,0,0,4,0,2],\"fancaps.net\":[13,0,1,0,0,5,0,0,2,0,0],\"uned.es\":[5,1,0,2,1,6,1,0,4,0,0],\"rbc.com\":[5,0,1,1,0,6,2,0,1,1,0],\"goethe.de\":[8,2,1,2,0,6,0,0,3,0,0],\"sce.com\":[8,0,1,2,0,6,0,0,3,0,1],\"desapegogames.com.br\":[1,0,0,0,0,4,0,0,1,0,0],\"weeronline.nl\":[33,0,1,0,0,8,0,0,2,0,0],\"glassdoor.co.uk\":[3,2,1,0,0,9,0,0,5,0,2],\"gibert.com\":[7,0,0,0,0,3,0,0,4,0,0],\"obramat.es\":[10,1,1,2,0,4,0,0,5,1,2],\"sfu.ca\":[8,1,0,1,0,11,0,0,4,1,0],\"mbank.pl\":[6,0,0,0,1,2,0,0,2,0,0],\"amarriner.com\":[2,1,0,1,0,5,0,0,0,0,0],\"therange.co.uk\":[9,0,1,5,0,4,0,0,7,1,3],\"alghad.com\":[5,1,0,1,0,4,0,0,1,1,1],\"futura-sciences.com\":[35,1,1,0,0,7,0,0,8,2,2],\"jagex.com\":[2,0,2,1,0,3,0,0,2,0,1],\"hackthebox.com\":[21,1,2,5,1,9,0,0,11,3,2],\"direct-book.com\":[4,0,0,1,0,4,0,0,3,0,2],\"fcbayern.com\":[3,1,1,1,0,5,0,0,1,0,3],\"huffingtonpost.es\":[67,1,3,1,1,12,1,0,4,3,3],\"up-4ever.net\":[5,0,0,1,1,7,0,0,2,0,0],\"ru.actor\":[1,0,0,1,1,3,0,0,3,0,0],\"coxautoinc.com\":[4,1,1,1,0,9,0,0,6,0,2],\"blixottel.github.io\":[0,0,0,0,0,2,0,0,0,0,0],\"clipchamp.com\":[2,1,0,2,0,6,4,0,2,1,0],\"lovable.app\":[4,2,0,1,0,4,0,0,0,0,1],\"jiji.ng\":[6,0,0,0,0,3,0,0,2,0,2],\"tower.jp\":[33,2,0,2,1,10,1,0,3,2,0],\"agones.gr\":[4,2,0,0,1,3,0,0,1,0,1],\"liverpool.com.mx\":[7,0,0,4,1,6,2,0,5,1,1],\"ariva.de\":[87,3,1,2,0,6,1,0,4,0,2],\"nudostar.com\":[1,0,0,1,1,4,0,0,1,0,0],\"khou.com\":[78,1,2,2,0,8,0,0,13,2,4],\"konachan.com\":[0,0,0,0,1,2,0,1,1,0,0],\"salesloft.com\":[5,0,1,2,0,6,1,0,7,1,4],\"post.ch\":[7,0,1,0,0,3,0,0,4,0,2],\"poetryfoundation.org\":[5,1,0,0,0,5,0,0,2,0,1],\"britishgas.co.uk\":[18,1,1,1,1,6,0,0,9,2,5],\"tattle.life\":[81,1,1,2,0,8,0,0,7,5,0],\"timeout.com\":[56,2,2,1,0,8,0,0,7,1,0],\"caliente.mx\":[7,1,0,0,0,8,0,0,4,0,0],\"freeforums.net\":[26,2,1,1,0,9,2,0,5,6,0],\"cfx.re\":[4,1,1,4,1,10,1,0,0,0,1],\"vodafone.co.uk\":[16,1,1,2,0,5,0,0,6,2,6],\"emory.edu\":[4,2,0,3,0,10,0,0,8,3,3],\"ultimopay.io\":[0,0,0,0,1,1,0,0,0,0,0],\"elnacional.cat\":[70,3,4,2,1,7,3,0,6,3,2],\"domestika.org\":[5,3,1,2,0,5,0,0,3,3,4],\"financemasterpro.com\":[2,0,0,1,1,3,0,0,1,0,0],\"geo-online.co.jp\":[15,1,0,0,0,8,0,0,6,1,0],\"citynews.ca\":[19,1,0,0,0,8,1,0,5,2,2],\"alphatv.gr\":[8,3,1,0,1,4,0,0,2,0,1],\"consultant.ru\":[3,0,0,1,1,2,0,0,2,1,0],\"wdr.de\":[1,0,0,1,0,4,0,0,1,0,0],\"ae.com\":[16,1,0,4,0,10,1,0,8,1,5],\"zoox18.com\":[2,0,0,1,0,7,0,0,1,0,0],\"javsee.bond\":[0,0,0,0,0,1,0,1,1,0,0],\"olist.com\":[6,0,0,1,1,4,0,0,4,0,1],\"tampermonkey.net\":[21,1,0,0,1,3,0,0,0,0,0],\"probtp.com\":[2,0,0,0,1,3,0,0,2,0,1],\"lidl.co.uk\":[4,0,1,1,0,3,0,0,2,0,1],\"ilsos.gov\":[2,0,0,0,0,3,0,0,3,0,3],\"tdsynnex.com\":[9,0,1,0,0,8,0,0,7,0,2],\"ojogo.pt\":[20,0,0,0,1,5,0,0,3,3,0],\"nijie.info\":[1,0,0,0,0,3,0,0,1,2,0],\"automobile-propre.com\":[58,1,1,3,0,8,0,0,4,1,3],\"base64decode.org\":[31,0,1,2,0,5,1,0,2,0,0],\"nellisauction.com\":[7,2,0,2,0,8,0,0,4,0,2],\"vendty.com\":[2,0,1,5,0,11,0,0,2,0,0],\"motor-talk.de\":[11,1,1,1,1,7,1,0,1,0,0],\"thehentai.net\":[3,0,0,0,0,1,0,1,1,0,0],\"jpmorgan.com\":[11,2,1,4,0,7,1,0,12,0,3],\"livelib.ru\":[3,0,0,1,1,4,0,0,1,1,0],\"ncsecu.org\":[3,0,0,0,0,2,0,0,2,0,2],\"stremio.com\":[3,0,0,1,0,5,0,0,2,1,0],\"checkout.com\":[3,0,1,2,0,11,0,0,4,0,7],\"fmscout.com\":[23,1,0,1,1,7,1,0,2,2,1],\"tripadvisor.it\":[23,1,1,2,1,5,1,0,5,1,3],\"esteri.it\":[2,0,0,1,1,5,0,0,1,0,0],\"worldcat.org\":[2,0,1,0,0,6,0,0,3,0,0],\"g2.com\":[25,2,2,3,0,11,1,0,12,4,3],\"e-radio.gr\":[30,2,1,1,0,7,0,0,2,3,0],\"theautopian.com\":[79,1,0,3,0,12,0,0,10,5,1],\"zalando.no\":[6,0,1,0,0,2,1,0,1,0,2],\"satisfactory-calculator.com\":[50,0,0,2,0,5,1,0,3,0,0],\"notretemps.com\":[68,0,2,1,1,5,1,0,7,0,1],\"thehindu.com\":[72,2,2,2,1,11,1,0,15,2,5],\"c97k.com\":[0,0,0,0,0,1,1,1,1,0,0],\"vector.trade\":[0,0,0,0,0,8,0,0,1,0,0],\"insightexpress.com\":[0,0,0,0,0,6,0,0,1,0,0],\"gp.se\":[48,1,0,1,0,7,2,0,5,3,0],\"forcedcinema.net\":[1,0,0,1,1,5,0,0,2,0,0],\"xn--mgbkt9eckr.net\":[1,0,0,1,0,4,0,0,1,0,0],\"visualcapitalist.com\":[53,1,3,3,0,6,1,0,9,2,0],\"privat24.ua\":[7,1,0,0,0,6,1,0,3,0,0],\"ionos.co.uk\":[6,1,0,4,0,3,2,0,4,0,2],\"south-plus.net\":[1,0,0,0,0,1,0,0,2,1,0],\"tipranks.com\":[42,1,1,1,0,8,1,0,7,0,3],\"nuggmi.com\":[1,0,0,1,0,5,0,0,2,0,1],\"dongchedi.com\":[2,0,0,1,1,2,1,0,3,0,0],\"usvisa-info.com\":[2,0,0,1,1,3,0,0,3,0,0],\"cinegram.net\":[2,0,0,1,0,6,1,0,2,0,0],\"2ndswing.com\":[10,1,0,0,0,7,0,0,4,0,4],\"fragrantica.es\":[33,1,0,1,1,7,1,0,1,0,1],\"skyshowtime.com\":[15,0,1,0,0,3,0,0,6,2,3],\"scribens.fr\":[59,0,1,2,0,6,2,0,2,1,0],\"bluehost.com\":[11,1,1,1,0,9,0,0,10,2,6],\"i-run.fr\":[7,1,1,0,0,4,0,0,3,0,2],\"sprzedajemy.pl\":[25,0,1,1,0,6,0,0,1,3,2],\"gymshark.com\":[9,1,1,4,0,8,0,0,5,1,5],\"bank.gov.ua\":[3,1,0,1,0,3,0,0,1,0,0],\"design.com\":[9,1,0,3,0,5,0,0,4,1,2],\"sherwin-williams.com\":[15,2,0,2,0,11,1,0,8,2,5],\"tasteofhome.com\":[35,1,2,1,0,7,0,0,6,2,0],\"boards.ie\":[7,1,1,0,0,3,1,0,1,2,1],\"bupa.co.uk\":[5,1,1,1,0,5,0,0,7,0,1],\"ppy.sh\":[3,1,0,1,0,7,1,0,0,1,0],\"asnbank.nl\":[6,0,0,1,0,2,0,0,1,0,2],\"time.com\":[67,2,3,4,0,8,1,0,15,4,3],\"dragcave.net\":[5,0,0,0,0,5,1,0,2,0,0],\"keymailer.co\":[4,2,0,2,0,9,0,0,2,1,0],\"grays.com\":[5,0,0,1,0,7,0,0,5,0,2],\"presse-citron.net\":[7,1,0,1,1,3,0,0,3,4,0],\"livesoccertv.com\":[14,1,0,0,0,6,0,0,0,0,0],\"iliad.it\":[6,0,0,2,1,4,0,0,1,0,0],\"rit.edu\":[3,1,0,2,0,12,0,0,4,0,1],\"iclicker.com\":[2,0,1,0,0,7,0,0,3,1,1],\"guns.lol\":[1,2,0,1,0,3,0,0,1,0,1],\"okidoki.ee\":[7,1,0,1,0,3,0,0,0,0,1],\"payfit.com\":[2,1,1,2,0,5,0,0,5,1,5],\"list.am\":[2,0,0,1,1,4,0,0,4,0,0],\"anaf.ro\":[2,0,0,2,1,6,0,0,1,0,0],\"bmwusa.com\":[21,2,1,2,0,7,2,0,9,2,4],\"libro.fm\":[5,0,0,1,0,5,0,0,0,0,2],\"tonarinoyj.jp\":[14,1,0,1,0,7,0,0,1,3,1],\"sklavenitis.gr\":[3,0,0,1,1,4,0,0,2,0,1],\"instapaper.com\":[3,1,0,2,0,11,3,0,3,2,2],\"explorer.rs\":[0,0,0,0,0,3,0,0,1,0,0],\"exsite24.org\":[0,0,0,0,0,4,2,0,1,0,0],\"rentry.co\":[2,1,0,1,1,2,1,0,2,1,0],\"mvnrepository.com\":[5,0,0,1,1,3,0,0,2,0,0],\"jauns.lv\":[40,1,1,2,1,7,0,0,4,4,3],\"ad-contents.jp\":[7,0,0,0,0,0,0,0,2,0,0],\"webshare.io\":[3,2,0,3,0,7,0,0,0,0,5],\"mybib.com\":[2,1,0,0,0,6,0,0,2,0,1],\"livechart.me\":[4,1,0,0,1,4,0,0,2,0,0],\"gayforfans.com\":[1,0,0,0,0,4,0,2,2,2,0],\"commentcamarche.net\":[50,1,2,0,1,6,0,0,6,0,1],\"whop.com\":[9,2,0,3,0,9,0,0,5,3,4],\"virginmoney.com\":[7,0,0,0,1,2,1,0,5,1,4],\"ti.com\":[12,3,0,1,0,8,1,0,8,2,2],\"cpp.edu\":[3,2,0,1,0,11,1,0,4,1,1],\"shitaraba.net\":[4,1,0,0,1,6,0,0,2,1,0],\"airliners.net\":[17,0,0,0,1,5,1,0,2,2,1],\"sexetag.com\":[3,0,0,0,0,5,0,0,1,0,0],\"mangalivre.tv\":[2,0,0,1,0,5,0,0,3,1,0],\"collinsdictionary.com\":[62,2,2,0,1,6,1,0,7,0,0],\"kgirls.net\":[4,1,0,1,0,5,0,0,0,0,0],\"computershare.com\":[3,0,0,1,0,4,0,0,2,0,5],\"romslab.com\":[5,1,0,1,0,6,0,0,2,0,1],\"download-soundtracks.com\":[0,0,0,1,0,7,0,0,2,1,0],\"blacktowhite.net\":[2,0,0,1,0,4,0,0,1,0,0],\"letras.com\":[9,2,0,1,1,7,0,0,0,0,1],\"rocketnews24.com\":[79,1,1,0,0,12,1,0,13,5,1],\"websudoku.com\":[89,0,1,2,0,5,0,0,6,1,1],\"builtin.com\":[3,1,1,0,0,8,0,0,2,0,2],\"mirakl.net\":[1,0,0,1,0,3,0,0,3,0,1],\"bunkr.ws\":[0,0,0,1,1,4,0,0,1,0,0],\"lifelabs.com\":[3,1,0,0,0,4,0,0,3,0,2],\"unc.edu\":[4,1,0,1,0,13,1,0,5,3,2],\"manga-oni.com\":[2,0,0,0,1,3,0,0,1,0,0],\"hawaii.edu\":[3,1,0,0,0,12,0,0,5,1,3],\"tvnet.lv\":[64,2,2,5,0,9,0,0,5,3,2],\"protechskillsinstitute.org\":[0,1,0,0,0,5,0,0,2,0,1],\"oreilly.com\":[5,1,1,2,1,5,0,0,4,0,2],\"cerballiance.fr\":[2,0,1,0,1,6,0,0,3,0,0],\"worldofsolitaire.com\":[40,0,2,1,0,5,1,0,3,0,1],\"pc-builds.com\":[15,1,1,2,0,7,1,0,1,0,0],\"osprey.com\":[3,2,1,3,0,7,0,0,5,0,8],\"xstory-fr.com\":[2,0,0,1,1,4,0,0,1,0,0],\"registerblast.com\":[0,0,0,0,0,2,0,0,0,0,0],\"tianyancha.com\":[3,0,0,0,0,3,1,0,2,0,2],\"gmx.fr\":[31,0,1,1,1,7,3,0,0,0,0],\"ccleaner.com\":[10,0,1,3,1,6,0,0,8,0,4],\"comc.com\":[6,0,1,2,0,7,0,0,1,2,1],\"yachtworld.com\":[8,1,1,0,0,6,0,0,3,0,0],\"danishfamilysearch.dk\":[2,0,0,1,0,5,0,0,0,0,0],\"ecoflow.com\":[25,2,2,7,0,16,2,0,14,2,6],\"pricerunner.dk\":[10,1,1,1,0,5,0,0,3,0,2],\"helpscout.net\":[2,0,0,0,0,8,0,0,3,1,2],\"mercadolibre.com.pe\":[6,0,0,0,1,4,0,0,4,0,1],\"net-empregos.com\":[23,0,1,2,0,4,1,0,0,1,0],\"tichyseinblick.de\":[27,2,1,1,0,4,1,0,2,2,0],\"solopornoitaliani.xxx\":[3,0,0,0,0,3,0,1,1,1,0],\"wwff.co\":[1,0,0,1,0,3,0,0,0,0,0],\"amiez.org\":[0,0,0,0,2,1,0,0,0,0,0],\"workday.com\":[11,2,1,0,0,9,1,0,9,1,1],\"ex-fs.net\":[2,0,0,1,0,5,0,0,2,0,1],\"flixer.su\":[2,1,0,0,0,4,1,0,0,0,0],\"shemale6.com\":[3,0,0,1,1,3,0,1,1,0,0],\"topgirl.co\":[3,0,0,0,0,2,0,0,2,0,0],\"otpbank.hu\":[5,0,0,0,0,3,0,0,3,0,0],\"eronity.com\":[1,0,0,0,0,3,0,0,1,0,0],\"avaz.ba\":[7,2,0,0,0,6,0,0,1,2,1],\"canon.com\":[3,1,1,4,0,11,1,0,5,0,5],\"friv.com\":[5,1,0,0,1,3,0,0,1,0,0],\"shelly.com\":[13,0,2,7,0,13,0,0,9,3,3],\"fapfolder.club\":[1,0,0,1,1,6,0,1,3,0,0],\"immoscout24.ch\":[27,0,1,2,0,7,1,0,2,0,4],\"adam4adamsfw.com\":[2,0,0,0,0,1,0,0,1,0,1],\"vadhajtasok.hu\":[7,1,2,1,0,6,0,0,3,2,1],\"cheezburger.com\":[8,0,1,1,0,3,0,0,6,3,0],\"swedbank.se\":[2,0,0,0,0,3,0,0,2,0,0],\"nerdwallet.com\":[13,1,1,0,0,6,0,0,8,3,4],\"ijavtorrent.com\":[2,0,0,1,1,4,0,0,2,0,0],\"lloydsonline.com.au\":[2,0,0,0,0,4,0,0,3,0,0],\"wayne.edu\":[3,1,0,1,0,7,0,0,4,2,1],\"mixpanel.com\":[9,0,1,3,0,6,0,0,9,3,4],\"erofus.com\":[1,0,0,1,1,2,0,0,2,0,0],\"bloodmallet.com\":[1,0,0,1,0,4,0,0,2,0,2],\"muji.eu\":[9,0,0,3,0,5,0,0,3,0,2],\"pornditt.com\":[2,0,0,0,1,5,0,2,0,0,0],\"surlyhorns.com\":[4,1,0,0,0,5,0,0,1,6,0],\"mintos.com\":[6,0,1,1,0,4,0,0,5,0,1],\"sproutgigs.com\":[4,0,0,1,0,3,0,0,2,0,0],\"hirstart.hu\":[26,0,1,1,0,3,0,0,0,0,0],\"yellowgrid.ro\":[2,0,1,0,0,0,0,0,1,0,0],\"obi.at\":[6,0,0,4,0,4,0,0,2,1,1],\"abebooks.co.uk\":[3,0,0,1,0,4,1,0,1,0,3],\"coastalmonitoring.org\":[1,0,0,0,0,1,0,0,0,0,0],\"comcast.com\":[20,1,1,3,0,9,2,0,7,2,2],\"anagrammeur.com\":[6,0,0,0,0,3,0,0,1,0,0],\"ameriprise.com\":[24,1,1,0,0,2,1,0,7,0,4],\"marthastewart.com\":[31,1,2,1,0,8,2,0,7,0,0],\"pprune.org\":[11,1,1,0,0,5,0,0,2,2,0],\"surfline.com\":[89,1,2,6,0,11,0,0,11,2,0],\"arsip.go.id\":[3,0,0,0,0,5,0,0,0,0,0],\"tgtsporn.com\":[0,0,0,0,1,2,0,1,1,0,0],\"pap.fr\":[6,0,0,2,0,5,0,0,2,0,2],\"mvgroup.org\":[0,0,0,0,0,2,0,0,1,0,0],\"correos.es\":[4,1,0,1,1,5,0,0,2,0,1],\"ixdzs8.com\":[4,0,0,1,1,4,0,0,0,0,0],\"fboom.me\":[4,0,0,0,1,3,0,0,3,0,1],\"son-video.com\":[6,1,0,0,0,5,0,0,4,1,1],\"mybrowseraddon.com\":[6,1,0,1,0,6,0,0,1,0,0],\"chartink.com\":[4,1,0,0,0,6,0,0,2,0,2],\"kingoftime.jp\":[5,0,0,0,0,2,0,0,2,0,1],\"post.at\":[11,0,1,1,1,6,1,0,4,3,2],\"readli.net\":[31,0,0,0,1,4,1,0,5,2,0],\"br0wsers.com\":[4,0,0,1,1,4,0,0,2,0,0],\"tk2dl.com\":[1,0,0,0,0,2,0,0,2,1,0],\"parade.com\":[103,2,4,2,0,14,0,0,16,4,2],\"invideo.io\":[6,1,0,2,1,9,0,0,1,0,1],\"razorpay.com\":[11,1,1,4,0,14,0,0,8,2,3],\"obsproject.com\":[3,1,0,2,0,5,0,0,1,1,0],\"student-finance.service.gov.uk\":[1,0,0,0,0,1,0,0,4,0,0],\"smutba.se\":[0,0,0,1,0,4,2,0,0,0,0],\"appstate.edu\":[3,1,0,0,0,11,0,0,3,0,0],\"funko.com\":[17,0,1,3,1,7,0,0,8,2,2],\"tunnelbear.com\":[4,0,0,2,0,5,0,0,1,0,1],\"quebec.ca\":[2,1,0,1,1,5,0,0,2,0,0],\"codecademy.com\":[11,2,0,5,0,10,0,0,3,4,3],\"googirl.jp\":[2,0,0,1,0,5,0,0,3,0,1],\"escooter-treff.de\":[2,0,0,0,0,1,0,0,0,0,0],\"farmerama.com\":[14,1,1,0,0,6,1,0,2,0,1],\"express-scripts.com\":[3,1,1,0,0,4,1,0,0,0,2],\"duke-energy.com\":[3,0,1,0,0,4,0,0,8,0,1],\"virginvoyages.com\":[17,0,1,0,0,5,1,0,12,2,2],\"error-report.com\":[5,0,2,0,1,5,0,0,0,0,1],\"berliner-sparkasse.de\":[2,0,0,1,1,4,0,0,1,0,0],\"gro.gov.uk\":[1,0,0,0,1,1,0,0,0,0,0],\"dailypornstreams.com\":[4,2,0,0,0,7,0,0,2,1,0],\"virginmediao2.co.uk\":[2,0,0,0,0,3,0,0,0,0,4],\"ecamrips.com\":[3,0,0,1,0,6,0,0,2,0,0],\"hespress.com\":[9,1,0,0,1,6,0,0,1,0,0],\"shrinkme.click\":[3,0,0,1,1,6,0,0,3,0,1],\"hotel-bb.com\":[13,1,1,1,1,8,0,0,6,0,1],\"aztaxes.gov\":[3,0,0,0,0,2,0,0,2,0,0],\"choisirleservicepublic.gouv.fr\":[1,1,0,0,0,2,1,0,1,0,1],\"radiotimes.com\":[43,1,0,2,0,6,1,0,5,0,3],\"dorzeczy.pl\":[19,1,1,0,0,5,0,0,1,3,1],\"westernunion.com\":[16,0,1,3,0,8,0,0,9,1,7],\"mykronos.com\":[0,0,1,0,0,2,0,0,1,0,1],\"skeb.jp\":[5,0,0,1,0,4,0,0,1,2,2],\"autoscout24.ch\":[49,1,1,2,0,5,1,0,3,0,2],\"ku.dk\":[1,0,2,4,0,9,1,0,5,0,2],\"series24.one\":[1,0,0,1,0,5,1,0,2,0,0],\"zalando-lounge.de\":[6,0,1,2,0,3,1,0,0,0,2],\"wral.com\":[61,2,1,1,0,9,0,0,7,0,0],\"footybite.do\":[2,0,0,0,0,4,0,0,2,0,0],\"manhuafast.net\":[2,0,0,1,0,4,0,0,3,1,0],\"fantasynamegenerators.com\":[27,0,1,1,0,6,1,0,1,0,0],\"sodimac.cl\":[15,1,0,3,1,4,0,0,9,1,3],\"coub.com\":[4,0,0,0,1,2,0,0,1,0,0],\"tvmaze.com\":[4,1,0,0,1,4,0,0,0,0,0],\"worthpoint.com\":[74,0,1,4,0,7,1,0,7,1,3],\"mangalib.me\":[2,0,0,0,0,2,0,0,2,0,0],\"futurism.com\":[61,1,4,4,0,6,1,0,8,2,1],\"cgpersia.com\":[3,1,0,1,1,5,1,0,1,0,0],\"tensor.art\":[4,0,0,1,1,6,0,0,4,0,1],\"torr9.net\":[0,0,0,0,1,3,2,0,1,0,2],\"vdab.be\":[4,1,1,2,0,4,0,0,4,0,1],\"lameteoagricole.net\":[57,0,1,1,1,8,2,0,4,0,0],\"z-library.im\":[0,0,0,2,0,3,0,0,2,0,0],\"dospara.co.jp\":[14,1,0,3,1,9,1,0,8,2,2],\"crackstreams.ms\":[3,1,0,1,0,7,0,0,2,0,0],\"fidelity.co.uk\":[12,0,0,3,1,6,1,0,6,0,5],\"canadalife.com\":[3,0,1,0,0,3,0,0,4,0,2],\"my-best.com\":[11,0,0,1,0,3,0,0,2,1,0],\"donghuaworld.com\":[3,1,0,1,0,4,1,0,2,1,1],\"papacambridge.com\":[5,1,0,1,0,8,0,0,4,0,2],\"noon.com\":[15,1,0,1,1,6,0,0,7,3,3],\"unir.net\":[4,1,1,1,1,12,0,0,5,1,1],\"itc.ua\":[6,1,1,1,0,7,0,0,3,2,2],\"salon.com\":[76,2,4,1,0,10,0,0,7,3,2],\"unas.hu\":[4,0,0,0,0,3,0,0,0,0,0],\"cllmcmaster.ca\":[0,0,0,0,0,6,0,0,1,0,0],\"cos.com\":[10,0,0,2,0,9,0,0,5,1,7],\"libertatea.ro\":[40,1,1,0,0,9,0,0,7,5,1],\"instiz.net\":[6,1,0,2,0,5,0,0,2,2,0],\"dn.no\":[22,2,1,1,0,6,2,0,5,3,1],\"transamerica.com\":[3,0,1,4,0,9,0,0,5,1,1],\"wankoz.com\":[1,0,0,1,0,4,0,1,2,0,0],\"yemeksepeti.com\":[7,0,1,1,1,6,0,0,8,0,5],\"oliveyoung.com\":[47,1,0,2,0,6,0,0,5,3,3],\"redlights.be\":[2,0,0,1,0,3,0,0,1,0,0],\"powerpyx.com\":[63,1,0,3,1,7,1,0,5,2,0],\"hatelabo.jp\":[10,0,0,1,0,3,0,0,3,1,0],\"pearson-intl.com\":[1,0,1,1,1,6,0,0,2,0,0],\"apec.fr\":[5,0,2,0,0,5,2,0,3,0,0],\"lincolnfinancial.com\":[2,0,1,0,0,4,0,0,5,0,0],\"electionbettingodds.com\":[3,0,0,0,0,2,0,0,3,2,2],\"stheadline.com\":[16,1,0,0,0,4,0,0,3,0,1],\"administracionelectronica.gob.es\":[2,0,0,1,0,4,0,0,1,0,0],\"jjwxc.net\":[3,0,0,1,0,3,1,0,1,0,0],\"eventbrite.co.uk\":[9,2,1,6,0,8,0,0,9,2,4],\"dozin30.com\":[1,0,0,0,1,2,0,0,1,2,0],\"besson-shoes.com\":[25,1,1,0,1,5,0,0,6,1,1],\"imei.info\":[5,1,0,0,1,4,0,0,0,0,0],\"base44.com\":[12,1,1,2,1,8,0,0,4,2,4],\"intercity.pl\":[4,0,1,1,0,6,0,0,1,0,2],\"buffsports.io\":[4,1,0,2,0,5,0,0,1,1,1],\"inboxdollars.com\":[11,0,1,1,0,3,0,0,5,0,1],\"thepibay.online\":[6,0,0,1,1,5,0,0,3,0,1],\"kvraudio.com\":[6,2,0,1,0,7,1,0,2,0,1],\"1001tracklists.com\":[29,4,1,1,0,5,1,0,4,1,1],\"totalsportek.ms\":[4,2,0,0,0,6,0,0,3,1,0],\"disney.com\":[9,0,1,0,0,9,1,0,6,0,3],\"sunday.de\":[9,0,1,4,0,5,0,0,4,0,2],\"who.int\":[4,1,0,1,1,12,1,0,2,0,1],\"pornzona.com\":[0,0,0,1,1,4,0,1,2,0,0],\"der-postillon.com\":[53,2,2,2,0,7,2,0,6,2,2],\"mvschool.org\":[3,0,0,0,0,7,0,0,1,0,0],\"tennistemple.com\":[5,1,0,0,1,3,0,0,2,2,0],\"rosario3.com\":[11,1,0,0,0,8,0,0,3,2,1],\"unad.edu.co\":[4,1,0,1,1,8,1,0,3,0,1],\"mirknig.su\":[9,0,0,1,1,3,1,0,3,1,0],\"contentful.com\":[2,1,1,1,0,7,0,0,4,1,4],\"themoscowtimes.com\":[4,0,0,1,0,6,0,0,2,0,0],\"google.se\":[4,1,0,0,0,4,0,0,0,0,0],\"totalsportek.foo\":[5,1,0,0,0,9,0,0,2,1,0],\"epsilonscan.to\":[1,0,0,1,0,5,0,0,2,0,0],\"apkmody.com\":[2,0,0,1,0,6,0,0,1,0,0],\"makeup.com.ua\":[6,0,0,0,0,6,0,0,1,0,1],\"fs25.net\":[6,1,0,1,1,4,0,0,3,2,0],\"colocrossing.com\":[1,0,0,0,0,2,0,0,1,0,0],\"humanizeai.pro\":[4,1,0,1,0,3,0,0,3,0,1],\"berlin.de\":[1,0,0,1,1,5,0,0,1,0,0],\"exness.com\":[18,0,0,0,0,5,1,0,4,0,3],\"peeplink.in\":[2,0,0,1,1,4,0,0,2,0,0],\"propertyguru.com.sg\":[10,1,0,0,0,8,0,0,10,0,4],\"ftbucket.info\":[1,0,1,0,0,2,0,0,1,0,0],\"xlecx.one\":[0,0,0,1,1,3,0,0,1,0,0],\"dreamies.de\":[12,0,1,0,0,3,0,0,0,0,0],\"archdaily.com\":[40,2,1,2,0,10,1,0,4,2,4],\"manchestereveningnews.co.uk\":[67,2,2,4,0,8,1,0,11,2,2],\"njav.com\":[1,1,0,1,0,4,0,0,2,0,0],\"crunchbase.com\":[13,0,1,0,1,10,0,0,5,3,3],\"netgalley.com\":[1,0,0,0,0,3,0,0,1,0,0],\"ytmp3.gg\":[2,1,0,1,0,3,0,0,2,0,0],\"romhacking.net\":[3,1,0,1,0,5,1,0,1,0,0],\"napaonline.com\":[21,1,1,4,0,5,0,0,9,1,4],\"whentowork.com\":[3,0,0,0,0,5,0,0,2,0,1],\"jr-central.co.jp\":[12,0,0,2,0,6,0,0,5,1,0],\"batcave.biz\":[1,0,0,1,0,2,0,0,2,0,0],\"vinted.at\":[34,0,1,1,0,4,0,0,1,0,1],\"topvid.tv\":[1,1,0,0,0,2,0,0,2,0,0],\"evike.com\":[4,1,0,3,0,7,0,0,5,1,1],\"airfranceklm.com\":[10,0,0,2,0,2,1,0,6,1,2],\"reseauinternational.net\":[4,1,0,3,0,6,0,0,4,3,1],\"sexocean.net\":[0,0,0,2,0,4,0,0,2,0,0],\"lafeltrinelli.it\":[30,1,1,2,1,6,0,0,4,1,3],\"n1info.si\":[32,2,1,2,0,8,1,0,5,3,2],\"lemoncams.com\":[5,0,0,0,0,3,0,2,0,0,0],\"edjoin.org\":[5,1,0,0,0,8,0,0,1,2,1],\"webike.net\":[29,1,1,2,0,7,0,0,5,5,2],\"simagri.com\":[1,0,0,1,0,4,0,0,0,0,0],\"idos.cz\":[24,0,1,0,0,6,0,0,2,0,1],\"t-j.ru\":[2,1,0,0,1,2,0,0,2,2,0],\"overstock.com\":[12,0,0,1,0,6,0,0,3,0,2],\"sagawa-exp.co.jp\":[3,0,0,2,1,3,0,0,2,0,1],\"nepsetms.com.np\":[0,0,0,0,0,6,0,0,1,0,0],\"pcloud.com\":[8,0,0,1,0,3,0,0,4,2,1],\"aimoo.com\":[4,1,0,0,0,2,0,0,1,1,0],\"data-load.me\":[2,1,0,0,0,7,1,0,0,0,0],\"workplace.com\":[0,0,0,0,0,2,0,0,1,1,0],\"worldbank.org\":[8,1,0,2,0,11,1,0,5,0,3],\"rusprofile.ru\":[3,0,0,1,1,3,0,0,2,0,0],\"solaredge.com\":[7,2,2,2,0,8,0,0,6,1,3],\"jleague.jp\":[15,1,0,0,0,7,1,0,5,4,1],\"har.com\":[4,1,1,2,0,10,0,0,2,0,5],\"bypass.city\":[1,0,0,2,0,2,0,0,3,0,1],\"hbvl.be\":[24,1,1,2,1,7,0,0,2,2,0],\"rvtrader.com\":[45,1,0,1,0,9,1,0,9,1,5],\"windsurf.com\":[9,1,0,2,0,8,0,0,3,1,1],\"meshy.ai\":[11,1,0,2,1,6,0,0,4,3,2],\"papadustream.institute\":[5,1,0,0,0,8,2,0,3,0,0],\"agedm.io\":[2,0,0,0,0,4,0,0,2,0,0],\"damndelicious.net\":[9,1,2,0,0,4,1,0,4,2,1],\"vicroads.vic.gov.au\":[5,0,0,1,0,6,0,0,4,0,2],\"xnxx.tv\":[0,0,0,1,1,2,0,0,0,0,0],\"vmd.ca\":[3,0,1,0,0,2,0,0,3,0,0],\"datezone.com\":[1,0,0,0,1,1,0,2,2,0,0],\"micromania.fr\":[13,1,1,2,1,10,0,0,6,3,2],\"mercatinomusicale.com\":[3,0,0,0,0,4,0,0,1,0,0],\"teknoasian.com\":[1,0,0,0,0,2,0,0,2,0,0],\"bug.hr\":[5,1,0,0,0,6,0,0,1,2,0],\"piliapp.com\":[10,0,0,0,1,5,0,0,2,0,0],\"ligainsider.de\":[55,1,0,1,1,6,1,0,3,0,2],\"sciencealert.com\":[43,1,2,1,0,4,0,0,4,1,0],\"br.de\":[2,0,1,0,2,5,0,0,1,0,0],\"betexplorer.com\":[2,0,1,0,0,2,1,0,2,0,0],\"oppo.com\":[10,1,1,1,1,7,0,0,6,1,1],\"fantasywelt.de\":[5,0,1,4,1,5,1,0,2,0,0],\"sexkbj.com\":[2,1,0,1,0,6,0,1,4,0,0],\"exposedpassion.com\":[1,0,0,0,0,1,0,0,1,0,0],\"transfermarkt.it\":[35,2,3,0,0,8,0,0,2,0,1],\"bauhaus.se\":[5,0,1,2,0,5,0,0,4,0,1],\"tripadvisor.de\":[11,1,1,2,0,5,1,0,3,1,1],\"filmoflix.delivery\":[5,1,0,0,0,8,2,0,2,0,1],\"edwardjones.com\":[12,1,1,2,0,5,0,0,7,1,3],\"myheritage.de\":[1,0,0,0,0,3,0,0,0,0,4],\"bergfex.at\":[7,1,1,1,0,3,0,0,1,0,1],\"iculture.nl\":[5,0,0,0,0,2,0,0,3,1,2],\"nextapple.com\":[12,0,0,0,0,6,0,0,3,1,0],\"akamai.com\":[6,0,1,1,0,5,0,0,7,0,3],\"gizmochina.com\":[5,1,0,1,0,4,0,0,3,2,0],\"zone-ebook.com\":[2,0,0,1,0,2,2,1,1,0,0],\"calciomercato.com\":[29,2,1,2,1,6,0,0,2,1,2],\"sakura.ne.jp\":[8,1,0,0,1,10,1,0,3,3,0],\"namirial.it\":[5,1,1,2,1,6,0,0,1,0,0],\"marshalls.com\":[8,0,1,4,0,4,0,0,5,0,5],\"smartling.com\":[3,0,1,3,0,6,0,0,6,3,4],\"stoigr.org\":[4,1,0,1,1,3,0,0,2,2,0],\"looperman.com\":[19,0,1,2,1,4,1,0,1,0,0],\"cosplaytele.com\":[1,1,0,2,1,7,1,0,3,0,0],\"mec.ca\":[10,1,1,3,0,5,0,0,7,2,3],\"sciencedirectassets.com\":[0,0,0,0,1,3,0,0,1,0,0],\"talkingpointsmemo.com\":[51,1,0,0,0,9,1,0,6,2,0],\"mode.com\":[0,0,0,1,0,6,0,0,2,0,2],\"namethatporn.com\":[4,0,0,0,1,3,1,4,1,0,0],\"toppreise.ch\":[17,0,0,1,1,4,0,0,1,0,0],\"muji.com\":[17,0,0,1,0,7,1,0,6,3,4],\"allowflash.com\":[2,0,0,1,0,2,0,0,2,0,0],\"quip-amazon.com\":[0,0,0,0,0,2,0,0,0,0,0],\"cned.fr\":[3,1,0,0,0,5,0,0,2,1,1],\"jobs.nhs.uk\":[1,0,0,0,0,1,0,0,1,0,0],\"ucr.ac.cr\":[4,1,0,3,0,10,0,0,1,1,0],\"adultphotosets.best\":[0,0,0,2,0,4,0,0,1,0,0],\"putinho.net\":[9,1,0,1,0,7,0,1,2,0,0],\"hellobank.fr\":[5,0,1,0,1,2,0,0,4,1,2],\"dominos.com\":[10,1,0,1,0,4,0,0,6,0,6],\"gardena.com\":[6,1,1,0,0,5,0,0,4,1,1],\"evoliz.com\":[4,1,1,2,0,5,0,0,5,0,0],\"optumbank.com\":[2,0,0,1,0,4,0,0,3,0,2],\"case.edu\":[6,2,0,1,0,11,0,0,9,1,1],\"glovoapp.com\":[4,0,1,2,1,9,0,0,3,0,6],\"medikamente-per-klick.de\":[9,1,1,3,1,3,0,0,0,0,1],\"home24.de\":[8,1,1,2,1,5,0,0,2,1,3],\"tezfiles.com\":[3,0,0,0,0,2,0,0,3,0,1],\"worldoftanks.eu\":[8,1,1,0,1,4,0,0,3,0,0],\"cultura.gov.it\":[2,0,3,2,1,9,0,0,1,0,2],\"thefarside.com\":[17,0,1,1,0,3,0,0,1,0,2],\"leo.org\":[29,0,1,0,0,4,0,0,3,0,0],\"tsargrad.tv\":[6,0,0,2,1,5,1,0,4,2,0],\"omnicalculator.com\":[80,3,3,2,0,11,2,0,8,0,1],\"st-andrews.ac.uk\":[9,1,2,1,0,12,1,0,7,0,4],\"unstop.com\":[7,0,0,0,0,8,0,0,3,0,2],\"ziggogo.tv\":[1,1,1,0,0,3,0,0,3,0,0],\"esn.com\":[13,0,1,4,0,6,0,0,7,0,5],\"keran.co\":[4,0,0,0,0,6,0,0,2,0,1],\"port.hu\":[41,2,1,1,0,7,0,0,3,0,1],\"bancochile.cl\":[6,0,0,1,1,6,0,0,6,0,2],\"comicshopadmin.com\":[0,0,0,0,0,3,0,0,1,1,0],\"full-count.jp\":[37,1,0,0,0,7,0,0,6,6,2],\"mps.it\":[2,0,0,1,1,3,0,0,1,0,1],\"simptown.su\":[0,1,0,1,1,8,1,1,1,2,0],\"thomann.co.uk\":[7,1,0,3,0,5,0,0,1,1,1],\"twivideo.net\":[1,0,0,0,0,6,0,0,3,1,0],\"alarabiya.net\":[7,1,1,1,1,7,0,0,2,2,1],\"soccersuck.com\":[42,1,0,1,1,9,2,0,7,7,2],\"smart-lab.ru\":[12,1,0,1,1,4,1,0,4,2,0],\"marosia.com\":[0,0,0,0,0,4,0,0,0,0,0],\"lcsc.com\":[2,0,0,0,0,2,0,0,0,0,0],\"nova.bg\":[43,2,0,1,0,8,1,0,4,2,3],\"qnap.com\":[4,1,0,3,0,10,0,0,2,0,1],\"monoprix.fr\":[29,1,1,4,1,6,0,0,11,1,5],\"skin.club\":[11,1,0,2,0,4,0,0,3,3,4],\"inspirafinancial.com\":[5,0,0,2,0,5,0,0,6,0,2],\"massgeneralbrigham.org\":[2,1,0,0,0,5,0,0,2,0,3],\"casino.org\":[9,0,1,1,0,7,0,0,7,3,3],\"paypay-bank.co.jp\":[6,0,0,1,1,2,0,0,3,0,0],\"repairshopr.com\":[2,0,0,1,0,6,0,0,1,0,1],\"g2a.com\":[36,1,1,4,1,9,1,1,6,0,7],\"travelers.com\":[2,1,1,1,0,8,0,0,6,0,4],\"kiwibank.co.nz\":[1,1,0,0,0,1,0,0,3,0,2],\"availity.com\":[1,0,1,0,0,6,0,0,2,0,1],\"exist.ru\":[3,0,0,0,1,3,0,0,4,0,0],\"cic-ere.fr\":[0,0,0,0,0,1,0,0,2,0,0],\"google.gr\":[4,1,0,0,0,4,0,0,0,0,0],\"pelotalibretv2.pl\":[6,2,0,0,0,7,0,0,3,0,0],\"mr-bricolage.fr\":[6,1,1,1,1,6,1,0,1,0,1],\"eroscripts.com\":[0,0,0,1,0,5,0,0,0,0,0],\"9to5google.com\":[23,1,0,3,0,6,2,0,7,3,4],\"wageworks.com\":[2,0,0,3,0,4,0,0,3,0,0],\"docucopies.com\":[5,0,0,0,0,3,0,0,2,1,0],\"spectator.com\":[12,1,1,5,0,7,0,0,6,2,3],\"pluska.sk\":[17,1,2,2,0,9,0,0,4,0,0],\"happyscribe.com\":[6,1,0,4,1,6,0,0,5,0,2],\"kununu.com\":[11,1,1,4,0,6,0,0,6,1,0],\"mn4u.net\":[0,0,0,1,0,4,2,0,1,0,0],\"lazada.com.my\":[5,0,0,1,1,4,1,0,1,0,1],\"actorsaccess.com\":[5,0,1,0,0,3,0,0,1,0,0],\"shellpointmtg.com\":[4,0,1,1,0,7,0,0,3,0,1],\"tapuz.co.il\":[3,1,0,0,0,5,0,0,1,0,0],\"ufc.com\":[16,1,1,1,0,11,2,0,4,3,1],\"fussballtransfers.com\":[76,0,1,1,0,4,1,0,3,3,0],\"superfaktura.sk\":[6,0,1,1,0,2,0,0,2,0,0],\"hentai-video-xxx.com\":[3,0,0,0,1,2,0,0,1,0,0],\"open.online\":[103,3,1,3,1,10,3,0,8,3,3],\"parkmedicalcentresouthwark.co.uk\":[0,0,0,0,0,1,0,0,0,0,0],\"indischool.com\":[4,1,0,0,0,5,0,0,0,0,0],\"geminigen.ai\":[3,0,0,0,0,5,0,0,1,0,1],\"fathom.video\":[5,0,1,3,0,6,0,0,5,1,5],\"vauva.fi\":[7,0,1,0,0,3,0,0,1,0,1],\"economie.gouv.fr\":[1,2,1,0,1,8,0,0,2,0,0],\"kinokong.li\":[5,1,0,1,1,7,0,0,2,0,0],\"swappa.com\":[4,1,0,4,0,5,0,0,3,0,0],\"ntvspor.net\":[6,0,1,0,1,3,0,0,2,3,0],\"seranking.com\":[9,0,2,2,0,5,0,0,6,1,1],\"templetoons.com\":[2,0,0,2,0,3,0,0,2,0,0],\"link.com\":[1,0,0,2,0,3,0,0,0,0,2],\"mercedes-benz.de\":[10,0,1,2,1,6,0,0,4,0,2],\"pcwelt.de\":[60,2,0,4,1,5,1,0,9,1,2],\"aaroads.com\":[3,1,0,0,0,4,1,0,1,2,0],\"gyakorikerdesek.hu\":[8,1,0,0,1,2,0,0,1,0,0],\"smugmug.com\":[1,0,0,1,0,5,0,0,2,0,3],\"goobike.com\":[9,0,0,0,1,3,0,0,5,2,1],\"besoccer.com\":[59,2,1,3,1,7,0,0,4,0,1],\"iwank.tv\":[0,0,0,1,0,3,0,0,1,0,0],\"888dl.ps\":[1,0,0,0,0,3,0,0,1,0,0],\"deskmodder.de\":[3,0,1,1,1,5,1,0,3,1,0],\"cdw.com\":[13,0,1,2,0,4,0,0,8,1,1],\"ptorrents.com\":[1,0,0,0,0,1,0,0,1,0,0],\"eltiempo.com\":[28,1,0,1,0,12,0,0,10,3,4],\"publer.com\":[9,1,1,2,1,9,1,0,7,4,2],\"chemistwarehouse.com.au\":[11,1,1,4,1,8,0,0,6,0,5],\"azazie.com\":[35,1,0,3,0,8,0,0,5,2,5],\"r10.net\":[4,1,0,0,0,5,0,0,0,0,0],\"tribuna.com\":[20,2,0,0,0,7,0,0,3,3,2],\"hdqwalls.com\":[31,0,0,3,1,3,1,0,3,0,0],\"lifo.gr\":[11,3,2,1,0,6,0,0,2,4,1],\"liveinternet.ru\":[14,1,0,2,1,2,1,0,4,3,1],\"camgirlfap.com\":[4,1,0,1,0,5,0,2,2,0,0],\"blender.org\":[3,1,0,2,1,8,0,0,3,0,0],\"afasinsite.nl\":[2,0,0,1,0,5,0,0,1,0,1],\"rrr.lt\":[6,0,1,1,0,6,0,0,4,0,2],\"military.eu\":[6,1,1,2,1,5,0,0,5,0,1],\"soritia.jp\":[17,0,0,1,0,5,1,0,3,0,1],\"guru3d.com\":[33,2,0,1,1,6,1,0,5,2,1],\"4gamer.net\":[5,1,0,0,1,5,0,0,1,3,0],\"dispatch.com\":[69,1,0,3,0,5,0,0,5,0,1],\"withjoy.com\":[41,2,0,2,0,10,1,0,4,2,4],\"aif.ru\":[7,0,0,2,1,4,1,0,7,2,0],\"vide-greniers.org\":[40,1,1,0,0,5,1,0,5,0,1],\"alison.com\":[11,2,1,5,1,6,0,0,6,1,2],\"surebet.com\":[1,0,0,1,0,3,0,0,1,1,0],\"ymcamqt.org\":[2,0,0,1,0,8,0,0,3,0,0],\"nyx.cz\":[3,1,0,0,0,4,1,0,1,3,0],\"faa.dk\":[2,2,1,0,0,3,1,0,1,0,1],\"pdx.edu\":[4,2,1,1,0,8,0,0,6,1,4],\"racingnews365.nl\":[69,1,1,1,1,9,0,0,3,3,2],\"usmagazine.com\":[76,2,5,2,0,11,2,0,10,1,0],\"bigtitslust.com\":[1,0,0,1,0,6,0,2,2,0,0],\"alcopa-auction.fr\":[8,1,1,0,0,4,0,0,2,0,1],\"webextension.org\":[4,1,0,2,0,6,0,0,3,1,0],\"babylist.com\":[9,1,1,2,0,8,1,0,9,3,5],\"dubizzle.com\":[9,0,0,3,1,7,0,0,1,1,5],\"ey.com\":[7,2,1,4,1,9,6,0,5,0,4],\"w4nkr.com\":[1,0,0,1,1,7,0,2,2,0,1],\"videoland.com\":[9,0,1,2,0,4,0,0,5,0,1],\"cpasfini.me\":[4,1,0,0,0,7,2,0,3,2,0],\"podpis.gov.pl\":[0,0,0,0,0,2,0,0,1,0,0],\"locanto.com.au\":[2,0,0,0,0,6,0,0,1,0,2],\"enbridgegas.com\":[4,1,1,0,0,7,0,0,1,0,0],\"arrse.co.uk\":[5,1,0,0,0,8,2,0,0,4,0],\"heraldo.es\":[30,2,2,0,0,8,0,0,6,2,1],\"ugc.fr\":[3,0,0,0,1,5,0,0,0,0,3],\"icasework.com\":[0,0,0,1,0,2,0,0,0,0,0],\"internshala.com\":[5,0,0,0,0,3,0,0,3,0,0],\"dateinasia.com\":[2,1,0,0,0,3,0,0,0,0,0],\"tuttomercatoweb.com\":[16,1,1,0,1,5,0,0,1,0,0],\"gamestorrents.app\":[3,1,0,1,0,5,0,0,1,0,0],\"wrike.com\":[6,2,1,3,0,5,0,0,4,0,1],\"aviasales.ru\":[10,0,0,1,1,7,1,0,2,1,2],\"manchester.ac.uk\":[6,2,1,2,0,15,1,0,4,3,5],\"hollandandbarrett.com\":[31,1,1,4,0,8,0,0,8,1,3],\"youcontrol.com.ua\":[6,0,0,1,0,4,0,0,2,0,0],\"outdooractive.com\":[7,1,0,1,1,4,0,0,1,0,0],\"ay.by\":[4,0,0,0,1,0,0,0,2,0,0],\"vkusvill.ru\":[6,0,0,0,1,2,1,0,1,2,0],\"porn-w.org\":[1,0,0,0,0,4,0,1,2,0,0],\"pond5.com\":[5,0,1,2,0,6,0,0,3,0,2],\"sortitoutsi.net\":[4,1,0,2,1,5,0,0,2,0,2],\"minutouno.com\":[55,1,0,1,0,9,1,0,6,2,2],\"obi.hu\":[22,1,1,2,0,4,0,0,1,0,0],\"codecanyon.net\":[6,1,1,1,0,5,0,0,2,0,1],\"displate.com\":[13,0,0,1,0,6,0,0,6,3,4],\"pathe.fr\":[11,0,1,0,1,7,0,0,2,1,0],\"zenoti.com\":[3,0,0,2,0,8,0,0,1,0,1],\"gun.deals\":[2,1,0,0,0,3,0,0,4,0,0],\"badische-zeitung.de\":[58,1,2,2,0,9,1,0,9,2,0],\"mailo.com\":[30,0,0,0,0,3,0,0,2,0,0],\"uscourts.gov\":[3,1,0,2,0,10,0,0,5,0,1],\"prezi.com\":[10,1,2,3,1,11,0,0,6,0,4],\"personality-database.com\":[9,0,0,2,1,8,1,0,2,0,1],\"nwknews.jp\":[10,1,0,0,1,5,0,0,2,4,0],\"stlouisfed.org\":[2,0,0,0,0,7,0,0,2,0,2],\"phillyvoice.com\":[21,2,1,3,0,5,1,0,5,2,1],\"coca-cola.com\":[9,1,1,2,0,4,3,0,3,2,0],\"therarbg.com\":[2,1,0,0,1,6,0,0,1,0,0],\"google.co.in\":[4,1,0,0,0,5,0,0,1,0,0],\"worten.pt\":[29,1,1,5,0,8,1,0,5,2,2],\"renderhub.com\":[1,0,0,2,0,3,0,0,1,0,0],\"millenium.org\":[55,1,2,1,1,9,2,0,4,2,1],\"miningblocks.club\":[9,2,0,2,0,13,0,0,9,2,1],\"truyenqqno.com\":[3,0,0,0,1,4,1,0,2,0,0],\"reg.ru\":[1,0,0,1,1,3,0,0,1,0,0],\"vesty.co.il\":[27,1,0,1,1,4,1,0,4,0,0],\"fritz.com\":[4,1,1,2,1,8,0,0,2,0,1],\"kinogo-films.biz\":[1,0,0,1,1,5,0,0,2,0,0],\"rmweb.co.uk\":[9,1,0,0,0,5,0,0,2,1,1],\"karanpc.com\":[2,0,0,1,1,4,0,0,3,0,0],\"jpvoyeur.cc\":[1,0,0,0,0,2,0,0,1,1,0],\"hkej.com\":[8,0,0,0,0,2,0,0,4,2,0],\"javdatabase.com\":[1,0,0,1,1,3,0,1,2,1,0],\"tioanime.com\":[6,1,0,2,0,7,0,1,4,1,0],\"matmut.fr\":[9,0,1,0,1,5,0,0,6,1,3],\"houzz.com\":[8,2,0,2,0,9,0,0,2,0,3],\"mckinsey.com\":[9,2,1,2,0,6,1,0,8,0,6],\"hlj.com\":[4,0,1,2,0,7,0,0,1,0,1],\"skyslope.com\":[9,0,2,2,0,7,0,0,5,0,4],\"chordify.net\":[5,1,0,2,1,9,0,0,3,1,2],\"athletiko.gr\":[13,2,2,1,1,5,0,0,4,3,2],\"eyefinity.com\":[2,0,0,1,0,4,0,0,3,0,0],\"audible.ca\":[8,0,1,0,0,4,1,0,2,0,1],\"newrelic.com\":[3,2,1,3,0,6,0,0,5,1,2],\"jumpingcrab.com\":[1,0,0,0,0,0,1,0,0,0,0],\"research-panel.jp\":[23,0,0,0,0,4,0,0,5,2,0],\"betterhelp.com\":[1,0,0,2,0,5,0,0,1,0,2],\"ashleyfurniture.com\":[27,3,1,6,0,10,0,0,14,1,5],\"opensea.io\":[4,1,0,0,1,4,0,0,3,0,0],\"quoka.de\":[7,0,1,1,1,5,0,0,2,0,1],\"ovh.net\":[1,0,0,2,1,8,2,0,1,0,1],\"magasins-u.com\":[25,1,1,1,1,7,0,0,7,0,2],\"naughtymachinima.com\":[2,0,0,0,0,6,0,1,0,0,0],\"gaytor.rent\":[1,0,0,1,1,4,1,0,2,0,1],\"fragrantica.ru\":[10,1,0,0,1,5,1,0,1,0,1],\"pnas.org\":[3,0,0,0,0,7,0,0,3,1,1],\"steelseries.com\":[11,1,1,4,0,11,0,0,8,1,4],\"shaadi.com\":[5,0,0,0,1,3,0,0,1,0,4],\"house.gov\":[5,1,0,1,0,13,0,0,3,3,3],\"ulaval.ca\":[5,2,2,1,0,8,1,0,2,0,2],\"rozklad-pkp.pl\":[41,0,1,0,0,3,0,0,3,0,0],\"blogto.com\":[63,1,1,2,0,9,1,0,8,3,1],\"123av.org\":[1,0,0,1,0,3,0,1,1,0,0],\"made.porn\":[0,0,0,1,1,1,0,0,1,0,0],\"kidsa-z.com\":[1,0,1,1,0,4,0,0,2,0,0],\"tabor.ru\":[1,0,0,1,1,1,0,0,1,0,0],\"eufy.com\":[17,1,0,5,0,11,0,0,11,3,5],\"userlocal.jp\":[6,3,0,0,0,7,0,0,0,4,0],\"sportdog.gr\":[22,2,1,1,1,5,0,0,2,3,0],\"cracked.com\":[44,1,1,2,0,5,1,0,8,2,1],\"lidl.be\":[24,1,1,2,1,2,0,0,2,0,1],\"boylesports.com\":[14,1,1,1,1,12,0,0,5,2,3],\"openart.ai\":[8,1,0,2,0,10,0,0,4,1,2],\"piano.io\":[2,0,1,3,0,6,0,0,4,1,2],\"animate-onlineshop.jp\":[31,0,0,1,0,6,0,0,2,2,1],\"umamusume.net\":[3,1,0,0,0,5,0,0,2,2,0],\"meyclub.com\":[1,0,1,0,1,4,0,0,4,0,0],\"omegleporn.to\":[1,0,0,1,0,3,0,0,3,0,0],\"bolt.eu\":[1,0,1,0,1,4,0,0,6,0,2],\"eveonline.com\":[6,2,1,2,1,10,0,0,3,4,5],\"americanthinker.com\":[33,1,0,1,0,9,0,0,3,2,2],\"actblue.com\":[11,1,1,4,0,10,0,0,9,1,4],\"ranker.com\":[61,2,3,0,0,7,0,0,7,1,1],\"familypornhd.com\":[2,1,0,1,0,7,0,0,3,1,1],\"asmr.one\":[1,0,0,1,1,3,0,0,0,0,0],\"thomann.it\":[4,1,0,3,1,5,1,0,1,1,1],\"1shortlink.com\":[2,0,0,0,0,3,0,0,0,0,0],\"versandhaus-schneider.de\":[2,0,0,1,0,4,0,0,0,0,0],\"camwhores.video\":[2,0,0,0,0,5,0,1,2,0,0],\"volotea.com\":[11,0,1,3,1,6,0,0,6,0,2],\"twihub.net\":[1,0,0,0,1,2,0,0,2,1,0],\"bamper.by\":[7,0,0,0,1,4,0,0,4,0,0],\"meo.pt\":[9,2,2,2,1,10,0,0,5,3,5],\"xsz-av.com\":[3,0,0,1,0,3,0,1,1,0,0],\"pandora11.com\":[7,1,0,0,0,6,0,0,4,4,0],\"kauppalehti.fi\":[10,2,1,1,0,9,0,0,3,0,1],\"cbp.gov\":[4,1,0,1,0,6,0,0,4,0,0],\"jisin.jp\":[38,1,0,0,0,7,0,0,4,2,1],\"luluvid.com\":[5,0,0,2,1,4,0,0,2,0,1],\"sabah.com.tr\":[15,0,1,0,0,5,0,0,1,0,0],\"cnpq.br\":[3,0,0,0,1,6,0,0,1,2,0],\"ssactivewear.com\":[7,0,1,1,0,3,0,0,4,0,2],\"archived.moe\":[3,0,0,0,0,4,0,1,2,0,0],\"kone.gg\":[4,0,0,1,1,5,0,0,1,0,0],\"housesigma.com\":[2,0,0,1,0,4,0,0,1,0,3],\"asb.co.nz\":[5,0,0,1,0,2,0,0,0,0,0],\"fda.gov\":[5,1,0,1,0,13,0,0,3,0,0],\"filmstarts.de\":[69,1,2,1,1,8,1,0,4,1,1],\"tripadvisor.ca\":[18,1,1,2,0,4,1,0,6,1,2],\"theposterdb.com\":[0,0,0,1,0,1,1,0,2,0,0],\"hlib.cc\":[0,0,0,1,0,4,0,1,1,0,0],\"einthusan.tv\":[87,0,2,2,0,5,1,0,7,0,0],\"incogni.com\":[7,0,0,4,0,7,0,0,0,0,4],\"access.service.gov.uk\":[1,0,0,0,1,1,0,0,2,0,1],\"miacademy.co\":[0,1,1,1,0,6,0,0,1,0,0],\"bloodwars.net\":[2,0,0,0,0,3,0,0,1,0,0],\"blabbermouth.net\":[34,1,2,2,0,7,1,0,6,1,0],\"cuoceng.com\":[1,0,0,0,0,1,0,0,2,0,0],\"ncaa.com\":[53,3,1,2,0,8,1,0,9,2,1],\"androidauthority.com\":[33,1,1,3,0,10,1,0,11,1,2],\"netgear.com\":[4,1,2,5,0,11,0,0,10,0,7],\"crooksandliars.com\":[100,1,1,2,0,9,1,0,10,3,3],\"authorize.net\":[3,1,0,1,0,4,0,0,1,0,4],\"news-postseven.com\":[41,1,0,0,0,4,0,0,4,4,0],\"ua-football.com\":[40,1,0,1,0,6,1,0,4,3,0],\"google.hu\":[4,1,0,0,1,4,0,0,0,1,0],\"tanea.gr\":[16,3,0,2,0,9,0,0,3,2,1],\"gst.gov.in\":[3,1,0,0,1,5,0,0,0,0,2],\"teachsafe.com\":[1,2,0,1,0,5,0,0,1,0,0],\"concordia.ca\":[7,1,0,0,1,7,0,0,6,0,3],\"androidpolice.com\":[74,1,4,4,0,10,1,0,6,3,2],\"mediaocean.com\":[1,0,0,0,0,7,0,0,5,0,0],\"svtplay.se\":[2,1,0,1,0,5,0,0,0,0,2],\"fulltaboo.tv\":[6,2,0,1,1,6,0,0,3,0,0],\"klickpin.com\":[4,0,0,1,0,4,0,0,4,1,1],\"powerplaymanager.com\":[2,0,0,0,1,3,0,0,0,0,0],\"itemfix.com\":[2,0,0,1,0,5,0,0,1,0,0],\"smartbill.ro\":[8,1,2,2,0,8,0,0,3,0,1],\"hardgif.com\":[1,1,0,1,0,6,3,2,1,1,0],\"buymeacoffee.com\":[8,1,1,3,1,7,0,0,2,1,3],\"la.lv\":[12,0,1,0,0,6,0,0,2,3,2],\"moviesjoy.plus\":[5,1,0,0,0,8,0,0,1,0,0],\"mrproblogger.com\":[3,0,0,0,0,3,0,0,3,0,1],\"icicidirect.com\":[11,0,0,0,1,6,0,0,4,1,1],\"budget.com\":[16,0,1,2,0,4,1,0,6,0,4],\"chrono24.fr\":[4,1,0,1,1,3,0,0,2,0,1],\"tioplus.app\":[4,1,0,0,1,5,1,0,3,0,0],\"filemoon.to\":[2,0,0,1,1,3,0,0,0,0,0],\"karar.com\":[21,0,0,0,1,5,0,0,1,2,0],\"casa.it\":[27,1,1,0,1,3,0,0,4,0,3],\"elitepvpers.com\":[5,1,0,1,1,5,1,0,1,0,1],\"specialized.com\":[7,1,1,4,0,10,0,0,3,0,5],\"gamejolt.com\":[3,1,0,1,1,5,0,0,3,1,0],\"manhuarmtl.com\":[5,0,0,1,1,4,0,0,2,1,1],\"summonersky.com\":[6,0,0,0,1,3,1,0,1,0,0],\"rhymezone.com\":[9,0,0,0,0,2,0,0,2,0,0],\"tally.so\":[1,1,0,1,1,4,0,0,0,0,2],\"xxxi.porn\":[0,1,0,2,0,3,1,1,1,0,1],\"xdate.ch\":[1,0,0,0,0,5,0,0,1,0,0],\"uta-net.com\":[37,1,0,0,1,6,0,0,4,2,0],\"filmihulluleffakauppa.com\":[5,1,0,0,0,4,0,0,2,0,0],\"replicon.com\":[0,0,0,1,0,2,0,0,1,0,1],\"fmworld.net\":[37,1,0,0,0,7,0,0,6,4,1],\"github.blog\":[2,1,0,2,0,7,1,0,4,0,1],\"inpost.pl\":[7,0,1,2,0,7,0,0,2,0,0],\"buzzerbeater.com\":[6,0,0,0,1,3,1,0,3,2,0],\"dnschecker.org\":[72,1,1,3,0,5,1,0,7,0,1],\"koodomobile.com\":[13,0,1,0,1,7,0,0,7,3,4],\"elcats.ru\":[1,0,0,1,1,1,0,0,1,0,0],\"auctionet.com\":[6,0,0,2,0,4,0,0,5,1,0],\"sakura-checker.jp\":[4,0,0,0,1,3,0,0,0,2,0],\"kenh14.vn\":[7,0,0,0,0,5,0,0,1,0,0],\"pokemoncenter-online.com\":[8,0,0,2,0,6,0,0,3,1,1],\"ebgames.com.au\":[4,1,0,2,1,7,0,0,6,0,2],\"zocdoc.com\":[3,0,0,1,0,5,0,0,3,0,2],\"primeopinion.com\":[7,0,1,2,0,7,1,0,2,1,0],\"javpop.mov\":[1,0,0,1,0,4,0,0,2,1,0],\"straightpathsql.com\":[0,0,0,0,0,1,0,0,0,0,0],\"bbs-tw.com\":[4,1,0,0,0,5,2,1,2,0,0],\"kisskh.do\":[2,1,0,0,0,9,4,0,3,2,1],\"torrent911.app\":[2,0,0,0,1,3,0,0,1,0,0],\"lotterypost.com\":[11,0,0,0,0,2,0,0,1,0,0],\"24h.com.vn\":[56,1,1,0,1,6,0,0,3,0,1],\"companieshouse.gov.uk\":[0,0,0,0,0,3,0,0,2,0,0],\"cz24.news\":[18,1,0,2,1,6,0,0,5,3,2],\"klubzaodrasle.com\":[1,0,0,1,0,5,0,0,2,0,0],\"witv.team\":[5,2,0,0,0,6,0,0,1,0,0],\"abendblatt.de\":[57,0,2,4,0,6,2,0,6,1,2],\"atkfan.com\":[1,0,0,0,0,2,0,0,2,0,0],\"samfw.com\":[58,1,0,4,1,8,1,0,4,0,1],\"buenosaires.gob.ar\":[8,1,0,0,1,11,1,0,3,3,0],\"comprasparaguai.com.br\":[31,1,0,1,1,5,1,0,2,0,0],\"freemagazines.top\":[4,0,0,0,1,5,0,0,1,0,0],\"hktvmall.com\":[6,1,0,0,1,5,0,0,1,0,1],\"typingtest.com\":[56,0,1,1,0,7,2,0,2,0,0],\"natalie.mu\":[64,3,0,1,0,9,1,0,7,2,1],\"case-battle.wtf\":[1,0,0,0,1,3,0,0,0,0,0],\"pokecommunity.com\":[21,1,0,2,0,7,1,0,1,0,0],\"drmartens.com\":[8,0,1,5,0,8,0,0,10,2,6],\"gp-warau.fun\":[12,0,0,0,0,5,0,0,1,1,0],\"lidl.es\":[24,1,1,2,1,4,0,0,3,0,0],\"rbc.ua\":[27,1,0,1,0,7,0,0,5,2,1],\"systemrequirementslab.com\":[31,2,1,3,1,12,0,0,1,2,1],\"crex.com\":[4,0,0,0,0,5,0,0,2,1,0],\"xiaomi.com\":[3,0,0,0,1,6,0,0,1,0,0],\"hollymoviehd.cc\":[6,2,0,0,0,9,1,0,1,1,0],\"colorado.gov\":[5,1,0,4,0,13,0,0,3,0,2],\"bourdela.com\":[3,1,0,1,1,7,0,1,2,4,0],\"city-data.com\":[7,1,0,1,0,7,0,0,1,0,2],\"giga.de\":[60,1,0,1,1,6,1,0,6,1,0],\"bobistheoilguy.com\":[4,1,1,1,0,6,0,0,2,1,0],\"cin7.com\":[2,0,0,0,0,8,0,0,2,0,2],\"muusikoiden.net\":[5,0,0,0,0,0,0,0,0,0,0],\"vkmag.com\":[54,1,1,2,0,6,0,0,5,1,1],\"fotomac.com.tr\":[84,1,1,1,0,5,3,0,11,2,0],\"jav-coco.fun\":[4,2,0,2,0,7,0,0,2,0,0],\"yahooinc.com\":[10,0,2,1,0,6,0,0,3,0,1],\"bizimhesap.com\":[6,1,0,1,1,9,0,0,2,0,0],\"bricoman.fr\":[7,0,1,1,0,2,0,0,3,0,0],\"prehrajto.cz\":[1,1,0,1,0,5,0,0,3,0,0],\"borsen.dk\":[20,0,1,1,0,7,0,0,4,2,0],\"mangasnosekai.com\":[3,0,0,1,0,5,0,0,2,1,1],\"google.cz\":[4,1,0,0,0,4,0,0,0,0,0],\"reichelt.de\":[7,0,0,2,1,1,0,0,1,0,0],\"car-part.com\":[1,0,0,0,0,2,0,0,2,0,0],\"scribbr.com\":[8,1,2,4,0,10,0,0,4,0,2],\"hotdeals.com\":[4,0,0,0,1,2,0,0,2,0,0],\"vivino.com\":[9,0,1,1,0,6,0,0,3,2,4],\"3djuegos.com\":[70,1,2,1,1,6,2,0,8,2,0],\"alo.bg\":[4,0,0,1,0,3,0,0,0,0,1],\"quantcast.com\":[14,2,2,2,0,5,1,0,9,0,4],\"govdeals.com\":[34,2,2,4,0,5,0,0,5,0,2],\"thumbzilla.com\":[3,0,0,1,1,4,1,3,1,0,0],\"sexvid.xxx\":[1,0,0,2,0,4,0,2,2,0,0],\"filmizip.com\":[11,2,0,0,0,7,2,0,1,1,0],\"xerotica.com\":[1,0,0,1,0,3,0,0,1,0,0],\"kurzy.cz\":[29,1,0,0,0,6,1,0,2,2,0],\"itau.cl\":[7,0,0,1,1,2,0,0,4,0,1],\"youku.com\":[1,0,0,1,1,3,2,0,0,0,0],\"vidplay.top\":[2,1,0,0,1,6,1,0,2,0,0],\"vipbox.lc\":[3,1,0,2,0,4,0,0,1,1,0],\"cfainstitute.org\":[7,2,1,2,0,7,1,0,8,1,3],\"sportsurge.ws\":[1,0,0,1,0,5,0,0,1,0,1],\"ikyu.com\":[7,0,0,1,0,4,0,0,4,1,2],\"idealo.es\":[11,2,1,1,1,5,0,0,1,1,0],\"macquarie.com.au\":[4,0,0,0,0,3,0,0,3,0,1],\"lieuxdedrague.fr\":[3,0,0,0,0,4,0,0,0,0,0],\"pokebip.com\":[3,1,0,1,0,3,0,0,1,2,0],\"medimops.de\":[28,1,1,3,0,5,1,0,3,0,2],\"openneo.net\":[0,0,0,0,1,1,0,0,0,0,0],\"jp.sharp\":[13,1,0,0,1,7,0,0,4,1,0],\"girlstop.info\":[1,0,0,1,0,4,0,0,1,0,0],\"bunkr.red\":[0,0,0,0,1,3,0,0,1,0,0],\"mercurynews.com\":[87,1,4,2,0,14,0,0,12,2,3],\"symbolab.com\":[5,0,1,0,0,7,0,0,1,0,1],\"serializd.com\":[1,0,0,0,1,5,0,0,2,0,1],\"x-plane.org\":[4,1,0,1,1,7,1,0,2,0,0],\"cotilleando.com\":[5,1,0,2,1,6,0,0,0,4,0],\"phys.org\":[21,1,0,2,0,6,0,0,2,0,0],\"vidal.fr\":[3,0,1,0,0,4,0,0,2,1,0],\"rfm.pt\":[5,0,0,0,0,3,0,0,1,0,0],\"send.now\":[1,0,0,1,0,4,0,0,2,0,1],\"capitalgroup.com\":[9,1,0,0,0,7,1,0,5,0,7],\"algonquincollege.com\":[5,2,0,1,0,8,1,0,4,0,1],\"disneylandparis.com\":[10,1,0,2,0,8,2,0,5,1,6],\"aliorbank.pl\":[3,1,0,0,0,4,0,0,1,0,1],\"sheknows.com\":[51,2,2,2,0,7,0,0,9,7,2],\"uq.edu.au\":[9,1,0,0,0,8,1,0,7,0,2],\"notegpt.io\":[4,1,0,2,0,9,1,0,1,0,1],\"start.gg\":[3,3,1,2,0,7,2,0,2,0,2],\"zahav.ru\":[41,0,1,1,0,8,0,0,5,1,2],\"poedb.tw\":[4,1,0,0,1,6,1,0,2,0,0],\"hinnavaatlus.ee\":[6,1,0,0,0,3,1,0,0,1,0],\"deutsche-wirtschafts-nachrichten.de\":[3,0,1,1,1,0,0,0,1,2,0],\"cameraprive.com\":[3,0,0,0,0,4,0,0,3,0,0],\"dexerto.com\":[33,3,0,0,0,10,1,0,5,5,0],\"lonebuffalo.com\":[1,0,0,0,0,0,0,0,1,0,1],\"thuvienphapluat.vn\":[15,0,0,2,1,7,0,0,2,0,1],\"foxsports.com.au\":[57,1,0,0,0,8,0,0,10,2,4],\"tolunastart.com\":[2,0,0,2,1,6,0,0,1,0,0],\"simon.com\":[14,0,1,8,0,8,0,0,11,0,5],\"speech2text.ru\":[1,0,0,0,0,2,0,0,3,1,0],\"com-x.life\":[2,0,0,1,1,2,0,0,2,1,0],\"swedbank.lv\":[2,0,0,0,0,3,0,0,2,0,0],\"mimecast.com\":[2,1,0,0,0,6,0,0,3,1,2],\"rule34.gg\":[1,0,0,1,1,3,0,0,3,0,0],\"eci.gov.in\":[4,1,0,1,1,7,0,0,2,2,0],\"zscaler.com\":[3,1,1,1,0,8,0,0,5,1,1],\"femmeactuelle.fr\":[78,1,2,2,1,9,2,0,13,3,2],\"glassdoor.ca\":[3,1,1,0,0,9,0,0,4,0,2],\"arbitersports.com\":[5,0,1,4,0,8,0,0,3,0,3],\"gamelink.com\":[1,1,0,0,0,2,0,0,0,0,0],\"oneindia.com\":[71,1,0,0,0,7,1,0,9,2,1],\"wine-searcher.com\":[2,0,0,1,0,3,0,0,1,0,2],\"openstreetmap.org\":[1,0,0,2,0,10,0,0,1,2,0],\"dnevnik.bg\":[8,1,0,0,0,10,0,0,2,0,1],\"libertycity.net\":[6,1,0,2,0,5,0,0,3,1,0],\"r2-bike.com\":[5,1,1,4,0,5,1,0,1,0,1],\"maisonsdumonde.com\":[11,1,0,4,0,10,0,0,7,1,3],\"nta.go.jp\":[4,0,0,2,1,3,0,0,1,0,0],\"simplyrecipes.com\":[31,1,2,3,0,6,2,0,7,0,1],\"readallcomics.com\":[32,0,0,0,0,3,1,0,1,2,0],\"epey.com\":[5,1,0,0,1,5,0,0,2,0,0],\"lttstore.com\":[5,1,0,3,0,8,0,0,6,2,2],\"lefrecce.it\":[4,0,0,1,1,3,0,0,1,0,1],\"pornlib.com\":[2,0,0,1,1,3,0,1,1,0,0],\"statlocker.gg\":[12,3,0,0,0,5,1,0,1,1,0],\"kinogo.my\":[4,1,0,2,0,7,0,0,2,0,0],\"psychologies.com\":[79,0,1,1,1,10,1,0,9,4,0],\"naijaprey.tv\":[4,1,0,0,0,4,0,0,3,1,1],\"pixelfederation.com\":[11,1,1,2,0,10,0,0,5,1,0],\"plus-culture.com\":[3,0,0,0,0,5,0,0,3,1,2],\"iltempo.it\":[13,0,1,1,1,6,0,0,3,1,0],\"elle.fr\":[65,0,2,1,0,4,1,0,8,2,1],\"mcmaster.com\":[1,0,0,1,0,4,0,0,0,0,1],\"rpcs3.net\":[2,1,0,1,0,5,1,0,2,0,0],\"holodex.net\":[3,3,0,1,0,6,0,0,2,2,0],\"s-pankki.fi\":[1,0,1,1,0,3,0,0,0,0,1],\"stmath.com\":[0,0,0,0,0,2,0,0,1,0,0],\"google.com.mx\":[4,1,0,0,1,4,0,0,0,0,0],\"tsp.gov\":[1,0,0,0,0,1,0,0,4,0,0],\"kaercher.com\":[17,0,1,4,0,5,0,0,6,0,2],\"kyodemo.net\":[4,1,0,0,1,1,1,0,2,2,0],\"band.us\":[2,0,0,0,0,3,0,0,0,1,1],\"bazaraki.com\":[10,1,1,2,1,5,1,0,5,0,2],\"globus-baumarkt.de\":[26,2,1,1,1,6,0,0,2,0,3],\"airindia.com\":[12,1,1,0,0,6,0,0,4,1,5],\"autodoc.co.uk\":[14,1,0,2,1,6,0,0,3,0,2],\"cnn.gr\":[12,2,1,1,0,4,0,0,2,3,0],\"umgc.edu\":[4,2,0,0,0,8,1,0,4,0,1],\"theconservativetreehouse.com\":[9,1,0,3,0,5,1,0,4,4,1],\"adidas.fr\":[20,1,0,2,1,7,0,0,8,3,3],\"9anime.me.uk\":[4,1,0,1,1,6,0,0,4,1,1],\"betterment.com\":[24,2,2,2,0,9,0,0,8,5,2],\"sena.edu.co\":[5,1,0,0,1,5,0,0,1,2,0],\"futakuro.com\":[2,0,0,0,0,2,0,1,2,3,0],\"nationalnewswatch.com\":[2,0,0,0,1,5,0,0,2,0,1],\"palloliitto.fi\":[1,0,1,0,0,4,0,0,1,0,0],\"panasonic.jp\":[15,1,0,2,0,9,1,0,6,2,1],\"vivareal.com.br\":[29,1,0,0,1,7,0,0,7,0,2],\"qvc.de\":[27,1,0,4,1,5,2,0,3,1,2],\"allmanga.to\":[1,0,0,1,0,4,0,0,2,0,0],\"mathrubhumi.com\":[7,2,0,0,1,11,0,0,4,3,1],\"chanel.com\":[13,0,1,2,0,7,1,0,6,0,3],\"toyota.jp\":[13,1,0,1,1,4,0,0,2,1,2],\"simples.vet\":[4,0,0,1,0,3,0,0,2,0,1],\"dpd.com\":[7,1,1,2,0,5,0,0,3,0,3],\"thothub.mx\":[1,0,0,0,0,2,0,0,2,0,1],\"wondershare.com\":[10,1,1,6,0,8,2,0,6,1,6],\"visa.fr\":[11,0,0,1,0,6,0,0,2,0,1],\"mews.com\":[3,1,3,3,0,9,0,0,7,0,4],\"vanderbilt.edu\":[6,1,0,1,0,10,0,0,8,1,1],\"flyporter.com\":[13,0,0,1,0,6,0,0,8,1,0],\"razest.net\":[4,0,0,0,0,3,0,0,3,1,0],\"ksp.co.il\":[6,1,0,0,1,7,0,0,1,0,1],\"umontreal.ca\":[4,1,0,0,0,7,0,0,2,0,0],\"uvm.edu\":[4,0,0,1,0,6,0,0,4,1,0],\"soccer365.ru\":[4,1,0,0,1,4,0,0,1,0,0],\"nordea.fi\":[1,1,0,0,0,2,0,0,2,0,0],\"azmen.com\":[4,0,0,1,0,5,0,0,2,0,1],\"macworld.com\":[62,3,0,2,0,7,1,0,9,4,1],\"hk01.com\":[54,1,0,1,0,9,1,0,5,2,2],\"scorebuddy.co.uk\":[3,0,1,3,0,4,0,0,2,0,1],\"sycamoreschool.com\":[1,0,0,0,0,5,0,0,1,0,0],\"broadcastify.com\":[5,0,0,2,0,7,0,0,1,2,3],\"pharmachieve.com\":[0,1,0,0,0,7,0,0,0,1,1],\"wheelofnames.com\":[6,1,0,0,0,4,0,0,1,0,0],\"drupal.org\":[4,1,0,1,0,4,0,0,1,0,1],\"pia.jp\":[14,2,0,1,0,5,0,0,6,1,0],\"ku.edu\":[3,2,0,2,0,8,1,0,4,1,1],\"fft.fr\":[3,1,0,1,0,5,0,0,5,0,2],\"google.co.id\":[4,1,0,0,0,4,0,0,0,0,0],\"tvline.com\":[77,2,3,4,0,9,2,0,6,1,0],\"piratebay.party\":[1,0,0,0,0,3,0,0,1,0,0],\"krunker.io\":[5,2,1,1,0,6,0,0,1,2,0],\"santander.pt\":[6,0,1,2,1,3,0,0,5,2,0],\"ugent.be\":[3,1,0,1,0,11,0,0,4,0,1],\"daxko.com\":[4,0,0,0,0,6,0,0,3,0,1],\"debijenkorf.nl\":[7,0,0,2,0,3,0,0,5,1,1],\"cinemageddon.net\":[2,2,0,0,0,6,2,0,3,4,0],\"travelandleisure.com\":[38,1,2,2,0,8,2,0,7,0,0],\"jobleads.com\":[9,0,1,3,0,8,1,0,5,0,3],\"moneysupermarket.com\":[7,0,0,3,0,9,0,0,6,1,4],\"avforums.com\":[62,1,1,1,0,8,0,0,2,3,0],\"dnews.gr\":[10,2,0,0,0,6,0,0,1,3,2],\"sinoptik.bg\":[24,0,0,1,0,6,1,0,1,1,2],\"native-instruments.com\":[8,2,1,3,0,12,0,0,10,2,2],\"rplay.live\":[11,2,0,2,0,5,0,0,1,1,1],\"volcengine.com\":[1,0,0,1,0,4,2,0,1,0,0],\"genybet.fr\":[2,0,1,0,0,4,0,0,0,2,1],\"gale.com\":[2,0,0,0,0,4,0,0,3,0,1],\"mlbshop.com\":[6,0,0,1,0,7,0,0,5,0,3],\"99acres.com\":[9,1,0,0,1,11,0,0,4,0,0],\"airbnb.es\":[9,0,0,2,0,6,0,0,3,1,3],\"noordhollandsdagblad.nl\":[25,1,1,2,1,4,0,0,5,0,0],\"sparkasse.at\":[7,0,0,1,0,4,0,0,3,0,1],\"cosentino.wtf\":[0,0,0,1,0,3,0,0,0,0,0],\"email.cz\":[0,0,0,0,0,1,3,0,1,0,0],\"ngwebsolutions.com\":[2,0,0,0,0,4,0,0,1,0,1],\"aeon.co.jp\":[28,0,0,0,0,7,0,0,6,1,3],\"uaserials.com\":[2,0,0,0,0,3,0,0,2,0,0],\"sorozatom.online\":[18,2,1,1,1,9,0,1,3,2,0],\"iqos.com\":[12,0,1,5,0,11,0,0,11,0,3],\"fanpage.it\":[51,1,1,0,1,8,0,0,4,3,0],\"shimano.com\":[7,2,1,6,0,12,1,0,7,0,4],\"next-episode.net\":[6,1,0,0,1,4,0,0,1,0,0],\"lacoste.com\":[18,0,1,2,1,7,0,0,10,2,5],\"newsbreak.com\":[31,3,1,2,0,7,0,0,6,4,2],\"focusvision.com\":[2,1,0,1,1,4,1,0,1,0,1],\"jysk.de\":[8,0,1,2,0,5,0,0,6,0,3],\"mylife.com\":[4,0,0,0,0,9,0,0,5,0,3],\"gematsu.com\":[33,1,2,3,0,6,1,0,4,3,1],\"worldmarket.com\":[12,0,0,2,0,4,0,0,6,1,6],\"superpsx.com\":[4,2,0,1,0,4,0,0,2,0,0],\"hypnohub.net\":[1,0,0,0,0,1,0,1,1,0,1],\"7tv.app\":[3,1,0,1,0,3,0,0,1,0,0],\"ma-queue.com\":[1,0,0,0,1,0,0,0,0,0,0],\"quintoandar.com.br\":[5,1,0,0,1,5,0,0,5,0,2],\"tokyodisneyresort.jp\":[16,1,0,2,0,5,1,0,7,1,0],\"bateworld.com\":[2,1,1,0,0,9,0,0,3,1,0],\"classmates.com\":[30,0,1,4,0,10,1,0,6,0,2],\"appdoze.net\":[8,0,0,1,1,4,0,0,3,1,0],\"tdbank.com\":[49,0,0,1,0,4,0,0,4,0,3],\"viva.co.id\":[7,0,0,1,0,7,1,0,1,2,0],\"letsporn.com\":[1,0,0,1,1,4,0,3,2,0,0],\"remitano.com\":[0,0,0,0,0,5,0,0,1,0,2],\"gayporno.fm\":[2,0,0,0,0,5,0,2,3,0,0],\"claveunica.gob.cl\":[2,0,0,0,1,2,0,0,3,0,1],\"viabtc.com\":[1,0,0,1,0,1,0,0,0,0,0],\"howlongtobeat.com\":[22,1,1,1,1,4,0,0,3,0,2],\"nascar.com\":[12,2,1,1,0,11,0,0,7,0,2],\"ivi.ru\":[7,0,0,1,1,2,0,0,3,1,0],\"expedia.de\":[9,0,1,1,1,7,1,0,6,0,6],\"24heures.ch\":[13,1,2,0,0,5,0,0,5,3,4],\"snyk.io\":[13,0,1,3,0,6,1,0,8,3,4],\"jbl.com\":[14,1,1,6,1,8,0,0,13,2,6],\"kaspi.kz\":[3,1,0,0,1,6,1,0,2,0,0],\"ldblog.jp\":[12,1,0,0,0,7,1,1,6,4,1],\"kipuworks.com\":[0,0,0,1,0,7,0,0,1,0,0],\"decathlon.cz\":[12,1,1,5,0,5,1,0,3,0,1],\"bimmerpost.com\":[5,1,0,2,0,7,1,0,1,3,1],\"managerzone.com\":[2,0,1,0,1,3,0,0,0,0,1],\"softarchive.is\":[3,1,0,0,0,5,0,0,1,0,1],\"instacart.com\":[13,1,1,3,0,8,0,0,6,2,6],\"audiostorrent.com\":[1,0,0,1,1,3,0,0,2,1,0],\"gobiernodecanarias.org\":[5,1,0,2,0,9,0,0,4,0,0],\"actionstep.com\":[1,0,0,1,0,1,0,0,1,0,0],\"zalando.com\":[2,0,1,1,0,6,1,0,1,0,2],\"lyricstranslate.com\":[23,1,0,1,0,5,0,0,2,0,1],\"researchnow.com\":[1,0,0,0,0,3,0,0,1,0,1],\"foody.com.cy\":[4,0,0,0,0,3,0,0,1,1,2],\"silkandsnow.com\":[10,0,0,2,0,7,0,0,5,3,1],\"papadustream.taxi\":[6,1,0,0,0,7,2,1,2,0,0],\"rev.com\":[10,1,1,4,0,10,0,0,9,2,2],\"banqueentreprise.bnpparibas\":[0,0,0,0,1,1,0,0,1,0,1],\"investidor10.com.br\":[8,1,0,1,1,5,0,0,5,1,2],\"tenies-online.store\":[6,1,0,0,0,6,1,0,2,0,0],\"couriermail.com.au\":[34,1,1,2,0,10,1,0,13,2,3],\"stripes.com\":[12,0,0,2,0,5,0,0,3,2,4],\"click-sec.com\":[11,0,0,0,0,3,2,0,3,1,1],\"dior.com\":[23,0,1,6,0,7,1,0,12,2,8],\"avdbs.com\":[4,0,0,0,0,5,0,1,2,0,0],\"8xsk.net\":[0,0,0,0,0,0,0,0,1,0,0],\"squirt.org\":[4,1,1,0,1,6,0,0,0,0,1],\"d3.ru\":[6,1,0,0,1,4,0,0,5,1,0],\"elevenforum.com\":[17,1,1,2,1,6,1,0,2,1,0],\"hwupgrade.it\":[36,1,1,0,1,5,0,0,4,2,1],\"titlovi.com\":[5,1,0,1,0,8,1,0,0,0,0],\"hna.de\":[104,1,3,3,0,10,3,0,13,2,2],\"emojicombos.com\":[13,0,1,0,0,5,0,0,2,0,0],\"immi.gov.au\":[0,0,0,2,1,3,0,0,0,0,2],\"branle-entre-potes.com\":[1,1,0,0,0,4,0,2,1,1,0],\"sportando.basketball\":[3,0,1,1,0,4,0,0,2,3,0],\"boy18tube.com\":[1,0,0,1,0,5,0,1,3,0,0],\"juno.com\":[95,1,2,3,0,10,1,0,10,1,0],\"hoerzu.de\":[33,1,1,0,0,4,1,0,3,0,0],\"speedtest.pl\":[4,0,0,0,1,2,0,0,2,0,0],\"lacapital.com.ar\":[12,2,0,0,0,7,0,0,3,3,2],\"pb.pl\":[74,1,3,4,0,6,1,0,10,1,1],\"wootware.co.za\":[3,1,0,1,0,9,1,0,3,0,1],\"vodafone.nl\":[3,1,1,2,0,6,0,0,5,0,1],\"brown.edu\":[4,2,1,2,0,13,0,0,7,1,2],\"mycomicshop.com\":[6,0,0,0,0,1,0,0,1,1,0],\"pec.it\":[10,1,1,1,1,5,0,0,2,0,0],\"cartier.com\":[12,1,0,2,1,8,0,0,8,1,5],\"lexus.com\":[26,2,0,0,0,10,0,0,7,2,1],\"madeformed.com\":[0,0,0,1,0,1,0,0,0,0,0],\"bestwestern.com\":[18,2,1,1,0,5,1,0,9,2,3],\"021.rs\":[8,1,0,0,0,7,0,0,2,3,0],\"nativecamp.net\":[7,1,0,1,0,11,0,0,2,5,1],\"armorgames.com\":[35,0,3,5,1,6,1,0,5,0,1],\"ladyxena.com\":[1,1,1,0,0,2,0,0,1,0,0],\"youngchampion.jp\":[7,0,0,1,1,7,0,0,3,2,1],\"talkie-ai.com\":[3,0,0,1,0,4,0,0,0,0,1],\"teamsnap.com\":[47,1,1,3,0,6,0,0,6,3,2],\"ecoledirecte.com\":[1,1,0,0,0,3,0,0,0,0,0],\"archon.gg\":[30,0,1,3,0,4,1,0,6,0,1],\"govplanet.com\":[36,3,1,2,0,6,0,0,4,0,1],\"bustybus.com\":[1,1,0,1,1,4,0,0,4,0,1],\"eztv.tf\":[2,0,0,0,0,4,0,0,1,0,0],\"minimax.si\":[0,0,0,0,0,3,0,0,0,0,0],\"resnexus.com\":[3,0,1,0,0,7,0,0,0,0,2],\"nordnet.dk\":[2,0,0,0,0,2,0,0,0,0,0],\"goguynet.jp\":[13,0,0,0,0,5,0,0,4,3,1],\"yarrlist.net\":[1,0,0,1,0,4,0,0,2,0,0],\"ieidiseis.gr\":[11,2,1,0,0,6,0,0,3,3,0],\"anigo.to\":[1,1,0,0,0,3,0,0,2,1,0],\"verkkouutiset.fi\":[22,0,0,2,0,4,1,0,4,2,1],\"education.gouv.fr\":[3,1,0,1,1,8,0,0,2,0,0],\"txstate.edu\":[3,1,0,1,0,8,1,0,4,2,0],\"teltonika-networks.com\":[1,1,0,1,0,5,0,0,2,1,2],\"firsttechfed.com\":[6,0,1,2,0,6,0,0,4,0,2],\"nexi.it\":[3,0,1,4,1,6,1,0,4,0,1],\"webtoonscan.com\":[2,0,0,1,1,4,0,0,1,1,0],\"ilide.info\":[3,0,0,1,0,4,0,0,2,0,1],\"filmfans.org\":[2,1,0,0,1,4,1,0,1,0,0],\"avianca.com\":[31,1,1,3,1,11,0,0,7,0,3],\"goodfon.com\":[3,0,0,2,0,2,0,0,1,0,0],\"mangaraw.best\":[2,0,0,0,0,5,0,0,1,0,0],\"metafilter.com\":[3,1,0,0,0,4,0,0,1,0,0],\"tecconcursos.com.br\":[6,1,0,0,1,6,0,0,4,0,0],\"castorama.pl\":[18,0,2,2,0,6,0,0,7,1,3],\"pdf2go.com\":[7,0,0,0,1,5,0,0,1,0,1],\"weltfussball.de\":[14,1,1,1,1,0,0,0,3,0,0],\"porn00.org\":[1,0,0,1,1,4,1,2,1,0,0],\"porndroids.com\":[0,0,0,1,0,2,0,0,0,0,0],\"gayfute.com\":[4,0,0,0,0,0,0,0,2,0,2],\"downup.me\":[0,0,0,0,0,3,0,0,0,0,1],\"tinypng.com\":[57,0,1,3,0,4,0,0,6,0,0],\"wtatennis.com\":[26,2,2,2,0,5,1,0,5,4,0],\"ipssanar.com\":[4,0,0,1,0,4,0,0,2,0,0],\"adulttime.com\":[4,0,0,0,1,7,0,0,2,0,3],\"notateslaapp.com\":[34,2,2,1,0,8,1,0,6,2,0],\"torrenting.com\":[2,1,0,0,0,6,2,0,0,0,0],\"tabtouch.com.au\":[6,0,0,0,0,1,0,0,5,0,2],\"transfermarkt.at\":[34,0,1,0,0,7,1,0,1,0,2],\"pdf24.org\":[62,1,0,3,1,5,2,0,3,1,1],\"payu.com\":[5,0,0,1,0,5,0,0,1,0,3],\"autotrack.nl\":[28,2,0,2,0,4,1,0,5,0,0],\"aviewfrommyseat.com\":[70,0,3,2,0,7,1,0,6,0,0],\"thereformation.com\":[9,0,1,2,0,7,0,0,8,1,6],\"freshstatus.io\":[0,0,0,0,0,0,0,0,0,0,0],\"lonczynaspilka.pl\":[1,0,0,0,0,2,0,0,0,0,0],\"sexlog.com\":[4,0,0,0,0,4,0,0,1,0,1],\"custhelp.com\":[3,1,2,2,1,12,1,0,7,0,2],\"novosti.rs\":[40,1,1,1,1,9,1,0,7,3,0],\"bemyhole.com\":[3,0,0,1,1,6,0,0,1,0,0],\"hornbach.at\":[3,1,1,1,0,2,0,0,1,0,1],\"flhsmv.gov\":[4,0,0,0,0,7,0,0,2,0,2],\"replicate.com\":[1,0,0,2,0,6,0,0,1,0,1],\"twinkaboo.com\":[1,0,0,0,0,5,0,0,2,0,0],\"bdsmstreak.com\":[1,0,0,1,1,6,0,2,1,0,0],\"ewg.org\":[9,1,0,1,1,9,0,0,3,0,2],\"cuevana3.bi\":[2,0,0,0,0,7,1,0,3,0,0],\"pandora.net\":[9,0,1,4,0,13,0,0,12,1,6],\"tubebdsm.com\":[2,0,0,0,1,2,0,0,1,0,0],\"infinityfree.com\":[5,0,1,1,0,11,1,0,3,1,0],\"otempo.com.br\":[7,0,0,1,1,11,0,0,4,3,2],\"epson.com\":[19,2,1,2,0,8,1,0,12,1,3],\"gendai.media\":[56,0,1,0,0,6,0,0,6,1,1],\"prisjakt.no\":[10,0,1,2,0,6,1,0,3,1,0],\"pornkai.com\":[1,0,0,1,1,5,2,4,1,0,0],\"google.fi\":[4,1,0,0,0,4,0,0,0,1,0],\"mabanquepro.bnpparibas\":[5,0,1,1,1,7,0,0,4,0,1],\"plotek.pl\":[36,1,1,1,0,5,1,0,2,1,1],\"cccs.edu\":[3,1,0,1,0,7,0,0,1,0,0],\"mtbiker.sk\":[8,1,0,0,0,9,0,0,3,0,3],\"linuxmint.com\":[4,1,0,2,1,6,1,0,1,1,0],\"elmostrador.cl\":[10,3,0,0,0,4,0,0,0,1,1],\"pickmypostcode.com\":[67,1,2,1,0,6,0,0,6,3,1],\"eurostream.ing\":[3,0,0,0,1,5,1,0,2,0,0],\"snaptik.app\":[4,1,0,0,0,5,0,0,1,0,0],\"dpm.lol\":[21,2,1,1,0,4,0,0,1,0,0],\"myporn.club\":[0,0,0,0,0,2,0,0,2,0,0],\"cfe.mx\":[3,0,0,1,1,8,0,0,1,0,0],\"microsoftonline.us\":[0,0,0,0,0,1,2,0,0,0,0],\"halopsa.com\":[0,0,0,0,0,6,3,0,0,0,1],\"aagag.com\":[29,1,0,0,0,4,0,0,5,1,0],\"griddlers.net\":[3,0,0,1,0,4,0,0,1,1,0],\"rainbet.com\":[6,0,0,1,0,9,0,0,3,0,1],\"sokmil.com\":[3,1,0,0,1,1,0,0,2,0,1],\"montbell.jp\":[3,1,0,2,1,4,0,0,1,0,1],\"crave.ca\":[11,1,1,1,0,4,1,0,5,3,2],\"forogore.net\":[3,1,0,0,0,3,0,0,1,0,0],\"proxmox.com\":[3,1,0,2,1,6,0,0,0,0,0],\"voyage-prive.com\":[7,1,0,1,1,9,0,0,2,1,1],\"adidas.co.uk\":[18,1,0,2,0,7,0,0,9,3,5],\"footballwebpages.co.uk\":[35,1,0,0,1,5,0,0,0,0,1],\"omegawatches.com\":[10,1,1,0,0,5,0,0,4,1,3],\"vcreative.net\":[12,0,2,3,0,8,1,0,5,0,2],\"10tv.com\":[9,1,1,1,0,3,0,0,3,0,2],\"coffeemanga.ink\":[2,0,0,0,1,2,0,0,2,1,0],\"mountsinai.org\":[2,1,0,1,0,6,0,0,3,0,1],\"javbus.cyou\":[0,0,0,0,0,0,0,1,1,0,0],\"deepmind.google\":[5,1,0,1,0,5,0,0,1,0,0],\"usp.br\":[5,1,0,1,1,16,1,0,4,0,2],\"nonograms.org\":[2,0,0,1,0,2,0,0,3,0,0],\"beaute-test.com\":[3,0,1,0,0,3,1,0,0,3,0],\"sejda.com\":[2,1,0,0,1,6,0,0,2,0,2],\"opex360.com\":[10,0,0,0,0,4,1,0,3,5,0],\"avidreaders.ru\":[1,0,0,0,0,1,0,0,1,0,0],\"hola.com\":[87,2,4,4,0,9,2,0,12,1,3],\"cgos.info\":[3,0,0,0,1,8,1,0,2,1,1],\"tetris.com\":[27,3,1,0,1,8,0,0,4,0,2],\"unibet.fr\":[7,0,0,1,0,7,0,0,4,0,2],\"spankingtube.com\":[1,0,0,1,0,8,0,1,1,0,0],\"vehicletax.service.gov.uk\":[0,0,0,0,1,3,0,0,1,0,1],\"edgenuity.com\":[1,0,0,0,0,5,0,0,5,0,1],\"lastepochtools.com\":[8,1,1,2,1,3,0,0,3,0,0],\"anycubic.com\":[12,1,0,5,1,15,1,0,9,0,2],\"desitales2.com\":[2,0,0,2,1,5,0,0,1,0,0],\"homeexchange.fr\":[8,0,1,2,0,7,0,0,4,2,1],\"thepiratebay3.to\":[1,0,0,1,0,4,0,0,0,0,0],\"ranobes.net\":[2,0,0,1,0,5,0,0,1,0,0],\"kitapyurdu.com\":[8,1,1,0,1,5,0,0,2,1,0],\"thule.com\":[5,1,1,4,1,6,0,0,5,1,4],\"putlocker.pe\":[5,1,0,0,0,5,0,0,2,0,0],\"bunkr.media\":[0,0,0,1,1,4,0,0,1,0,0],\"triviatoday.com\":[24,0,0,0,0,6,0,0,3,3,0],\"mbusa.com\":[12,0,2,4,0,9,1,0,9,1,6],\"thepointsguy.com\":[11,1,1,0,0,6,0,0,3,1,2],\"nesoacademy.ru\":[0,0,0,0,0,3,0,0,0,0,0],\"vollna.com\":[1,0,0,0,0,0,0,0,1,0,1],\"islcollective.com\":[50,2,0,2,0,7,1,0,3,0,1],\"nude-moon.org\":[1,0,0,1,1,1,0,0,2,0,0],\"olx.in\":[52,0,0,0,1,7,0,0,7,0,2],\"zooplus.de\":[8,1,1,2,1,8,0,0,3,0,3],\"bmj.com\":[8,2,1,2,0,10,1,0,7,2,3],\"foodguessr.com\":[18,0,0,3,0,5,1,0,3,0,1],\"cifraclub.com.br\":[42,1,1,0,0,9,0,0,3,0,1],\"doccle.be\":[2,0,1,2,0,5,0,0,1,0,0],\"allclassic.porn\":[1,0,0,2,0,3,0,0,2,0,0],\"zdfheute.de\":[2,0,0,0,0,3,0,0,1,1,0],\"ticketek.com.au\":[6,0,0,2,0,11,0,0,9,1,4],\"groupme.com\":[4,3,0,1,0,10,4,0,4,2,5],\"poe.com\":[4,0,1,1,0,6,0,0,2,0,2],\"verywellhealth.com\":[33,2,2,2,0,7,1,0,10,0,0],\"mcgill.ca\":[3,2,0,0,0,12,3,0,1,2,1],\"wizard101central.com\":[5,1,0,1,0,7,0,0,1,0,0],\"sdelayhod.ru\":[2,0,0,0,0,0,0,0,1,0,0],\"games-alchemist.com\":[5,0,0,0,0,6,0,0,1,1,0],\"mixi.jp\":[35,1,0,1,0,8,1,0,3,4,0],\"mn.gov\":[5,1,0,2,0,11,0,0,3,0,2],\"bilt.com\":[6,1,1,0,0,7,0,0,4,0,3],\"avxhm.se\":[2,0,0,0,0,3,0,0,0,0,1],\"louis.de\":[5,0,0,1,0,4,0,0,1,0,2],\"pushsquare.com\":[21,1,1,1,0,6,1,0,3,2,0],\"timeout.co.il\":[7,1,0,1,0,4,0,0,1,2,0],\"mgmresorts.com\":[32,2,1,2,0,5,1,0,11,2,4],\"stihi.ru\":[1,0,0,1,1,1,0,0,1,0,0],\"fapcat.com\":[1,0,0,1,0,5,0,2,1,0,0],\"kurashiru.com\":[30,0,1,0,0,5,1,0,4,1,1],\"ctfs.com\":[5,0,1,0,0,4,0,0,3,0,1],\"theringer.com\":[50,3,1,2,0,6,0,0,5,2,1],\"jojowiki.com\":[14,1,0,2,1,8,1,0,4,0,0],\"paperio.site\":[1,0,0,0,0,2,0,0,2,0,0],\"mangaupdates.com\":[2,0,0,0,0,2,0,0,0,0,0],\"attackertv.so\":[4,1,0,0,0,5,0,0,2,0,0],\"mailchi.mp\":[3,1,0,2,0,7,0,0,1,0,0],\"otakomu.jp\":[7,1,0,0,0,9,0,0,2,2,0],\"skyscanner.jp\":[36,0,0,0,0,6,0,0,5,1,3],\"partiful.com\":[9,0,1,1,0,6,0,0,4,1,1],\"mlbtraderumors.com\":[9,0,1,0,0,5,0,0,1,1,0],\"javpop.com\":[1,0,0,0,0,1,0,0,1,0,0],\"libbyapp.com\":[1,0,0,1,0,2,0,0,0,0,0],\"coursehero.com\":[4,1,1,0,0,8,0,0,2,3,4],\"swisscom.ch\":[9,2,1,1,1,5,1,0,6,3,4],\"hebe.pl\":[28,2,1,3,0,4,0,0,8,0,1],\"glassdoor.co.in\":[3,0,1,0,0,9,0,0,4,0,3],\"openwork.jp\":[29,1,0,0,0,5,0,0,4,3,1],\"connectcdk.com\":[1,0,0,1,0,4,0,0,5,0,1],\"barclaycard.co.uk\":[2,0,1,0,0,2,0,0,4,0,2],\"watchseries.pe\":[4,2,0,0,0,8,0,0,2,0,0],\"c14.co.il\":[11,1,0,0,0,3,1,0,2,3,1],\"kakobuy.com\":[3,0,0,2,0,3,1,0,2,1,0],\"lojasrenner.com.br\":[30,1,0,1,1,6,0,0,7,1,3],\"sellpy.de\":[11,0,0,1,0,3,0,0,2,2,3],\"esped.com\":[1,0,0,0,0,0,0,0,2,0,0],\"o2.co.uk\":[12,1,0,1,0,6,0,0,5,0,6],\"minecraft-server-list.com\":[3,1,0,0,0,3,0,0,2,1,0],\"visma.com\":[3,0,1,4,0,10,0,0,2,0,4],\"pussytorrents.org\":[1,0,0,0,0,3,0,1,1,0,0],\"pixieset.com\":[5,0,0,5,0,8,0,0,3,0,3],\"decathlon.ca\":[5,2,1,1,0,6,1,0,4,1,6],\"gamma.be\":[6,1,1,3,1,5,0,0,1,1,4],\"livedoor.blog\":[13,1,0,1,0,8,0,1,6,5,0],\"allaboutbirds.org\":[8,2,1,3,0,8,0,0,4,0,3],\"shuhaige.net\":[2,0,0,1,1,3,0,0,0,0,0],\"allmylinks.com\":[3,0,0,1,0,5,0,0,2,0,0],\"fragrantica.com.br\":[9,1,0,0,1,5,1,0,0,0,2],\"accurx.nhs.uk\":[0,0,0,0,0,3,0,0,1,0,1],\"dialog.ua\":[5,1,0,1,0,4,0,0,1,0,0],\"cookpad.com\":[5,1,1,1,0,5,0,0,3,3,1],\"ouestfrance-immo.com\":[7,1,1,0,0,4,0,0,3,0,0],\"bovada.lv\":[1,2,1,0,0,3,0,0,4,0,2],\"condocontrol.com\":[1,0,0,4,0,5,0,0,2,0,1],\"uoregon.edu\":[4,2,0,1,0,10,0,0,8,2,1],\"pcoptimum.ca\":[5,0,1,1,0,3,0,0,3,0,5],\"uakinogo.io\":[4,1,0,1,0,4,0,0,2,0,0],\"mypeopledoc.com\":[0,0,0,1,0,4,0,0,0,0,1],\"deeplearning.ai\":[7,1,1,2,0,8,0,0,6,0,2],\"advanceautoparts.com\":[9,1,1,1,0,6,0,0,7,1,3],\"cheathappens.com\":[5,2,0,2,1,6,0,0,3,1,0],\"zapimoveis.com.br\":[29,2,0,0,1,6,0,0,7,1,2],\"fanvue.com\":[5,0,1,2,0,9,0,2,5,1,2],\"splice.com\":[9,1,1,2,0,10,0,0,4,2,4],\"epawg.com\":[0,0,0,1,0,3,0,0,1,0,0],\"myherbalife.com\":[1,0,1,1,0,5,1,0,6,0,3],\"irishstar.com\":[47,0,2,2,0,4,0,0,8,2,3],\"botitranslation.com\":[2,0,0,2,0,6,1,0,1,0,0],\"europapress.es\":[53,1,1,1,0,10,0,0,3,0,1],\"camcaps.io\":[7,0,0,1,1,8,1,2,1,0,0],\"thatpervert.com\":[2,0,0,2,0,3,0,3,0,0,0],\"quintiles.com\":[0,0,0,0,0,2,0,0,0,0,0],\"ingdirect.es\":[4,1,0,0,0,3,0,0,2,0,0],\"cuevana.gs\":[1,0,0,1,1,5,1,0,1,1,0],\"gu-global.com\":[28,0,1,3,0,4,1,0,6,1,0],\"homo.xxx\":[1,0,0,2,0,6,0,2,2,0,0],\"venice.ai\":[7,0,0,3,0,7,0,0,3,1,4],\"bestchange.ru\":[3,0,0,0,0,1,0,0,0,1,1],\"t24.com.tr\":[76,4,0,1,0,10,1,0,7,0,1],\"castillalamancha.es\":[2,1,0,1,2,7,0,0,1,1,0],\"biquge.tw\":[1,0,0,1,1,4,0,0,0,0,0],\"carhartt.com\":[13,1,0,6,0,12,1,0,11,1,4],\"www.gov.gr\":[4,1,0,0,1,3,0,0,2,0,3],\"avjoy.me\":[2,0,0,1,0,9,0,2,1,0,0],\"redandwhitekop.com\":[3,1,0,0,0,4,0,0,1,1,0],\"mentimeter.com\":[5,1,1,2,0,3,0,0,2,0,2],\"ebgames.ca\":[6,1,0,3,0,8,0,0,6,0,4],\"kimovil.com\":[6,1,0,0,1,4,0,0,2,0,0],\"iu.edu\":[7,2,0,0,0,11,0,0,4,0,1],\"obsidian.md\":[4,1,0,3,1,6,0,0,0,0,3],\"makeleio.gr\":[24,1,1,0,1,6,0,0,4,3,1],\"kmart.co.nz\":[7,0,0,1,0,2,0,0,5,0,3],\"anistar.org\":[3,0,0,1,0,7,0,0,3,2,0],\"porndr.com\":[4,0,0,1,1,5,0,2,0,0,0],\"bqquge.com\":[1,0,0,0,0,0,0,0,0,0,0],\"eindexamensite.nl\":[2,1,0,1,0,4,0,0,1,0,1],\"r-34.xyz\":[1,0,0,0,0,3,0,0,2,0,0],\"puckpedia.com\":[36,0,2,0,0,7,1,0,7,0,1],\"indodax.com\":[5,0,0,2,0,5,0,0,1,0,0],\"unionesarda.it\":[80,0,0,1,1,10,2,0,4,1,0],\"myffpc.com\":[1,0,0,0,0,2,0,0,1,2,1],\"verkkokauppa.com\":[6,1,2,3,0,6,0,0,1,0,2],\"miruro.tv\":[2,2,0,0,0,6,1,0,1,0,0],\"urban75.net\":[3,1,0,0,0,5,0,0,2,3,0],\"jumia.co.ke\":[6,1,0,0,1,3,0,0,3,0,2],\"pcgarage.ro\":[6,2,0,0,0,6,0,0,2,2,0],\"nachi.org\":[0,0,0,2,0,6,0,0,1,0,0],\"fmoviesto.me\":[2,0,0,0,0,6,1,0,1,0,0],\"top-modelz.org\":[2,0,0,1,1,2,0,0,2,0,0],\"dei.gr\":[6,1,1,3,1,7,0,0,1,0,2],\"uukanshu.cc\":[4,0,0,1,0,3,0,0,0,0,0],\"distintas.net\":[3,0,0,0,0,4,0,0,1,0,2],\"asb.by\":[0,0,0,0,1,0,0,0,0,0,0],\"examappointments.com\":[1,0,0,0,0,1,0,0,0,0,0],\"windscribe.com\":[2,1,0,3,1,8,0,0,0,0,2],\"gamedle.wtf\":[4,1,0,0,0,10,0,0,0,1,0],\"lzt.market\":[2,0,0,2,1,5,0,0,2,0,0],\"brt.it\":[3,0,1,1,0,7,0,0,2,0,1],\"jav.com.se\":[2,0,0,1,0,4,0,0,2,0,0],\"upperdeckepack.com\":[3,0,0,2,0,6,0,0,1,0,2],\"cabelas.com\":[34,2,1,3,0,8,1,0,10,1,1],\"joinhoney.com\":[10,0,0,1,0,8,0,0,2,0,3],\"netto-online.de\":[11,0,1,2,1,5,0,0,1,0,3],\"rennlist.com\":[24,1,1,0,1,8,0,0,2,1,0],\"markiza.sk\":[20,0,1,2,1,5,0,0,4,1,1],\"huffingtonpost.it\":[15,1,1,0,0,3,0,0,5,0,1],\"animevietsub.id\":[4,2,0,0,0,8,0,0,2,1,0],\"hornysimp.com\":[6,1,0,1,1,5,0,0,3,0,1],\"olt.com\":[4,0,0,0,1,5,0,0,1,0,1],\"mydlink.com\":[1,0,1,0,0,3,0,0,0,0,0],\"ed.ac.uk\":[4,2,0,1,1,11,1,0,5,1,4],\"rtp.pt\":[12,0,1,1,1,6,0,0,4,2,1],\"drogasil.com.br\":[9,0,1,2,1,8,0,0,3,1,4],\"faa.gov\":[4,1,0,0,0,10,0,0,5,0,1],\"launchbox-app.com\":[4,1,0,0,0,8,0,0,1,0,1],\"poewiki.net\":[4,1,0,1,1,7,0,0,0,0,1],\"myworkdaysite.com\":[4,0,0,0,0,4,1,0,1,1,0],\"tsb.co.uk\":[3,0,0,0,1,1,0,0,3,0,2],\"porofessor.gg\":[15,1,1,0,0,3,2,0,3,0,2],\"streameastv1.com\":[4,1,0,0,0,4,0,0,2,0,0],\"state.mn.us\":[4,1,0,1,0,10,1,0,3,1,0],\"filipinocupid.com\":[2,0,0,1,0,5,0,0,3,0,1],\"anntaylor.com\":[38,2,1,2,0,9,0,0,10,1,9],\"thinkorswim.com\":[1,0,0,0,0,3,0,0,2,0,2],\"parchment.com\":[11,1,0,1,0,4,0,0,7,2,2],\"tec.mx\":[4,2,1,5,1,13,1,0,7,2,0],\"iprofesional.com\":[15,3,0,1,1,6,0,0,3,0,3],\"use.ai\":[8,1,0,3,0,4,1,0,6,1,3],\"iobit.com\":[5,0,0,4,1,6,0,0,4,0,2],\"dhan.co\":[7,0,0,1,1,8,1,0,3,1,0],\"bershka.com\":[6,0,1,1,0,4,0,0,3,1,6],\"linguee.com\":[47,0,0,0,0,6,0,0,2,0,0],\"kagi.com\":[3,2,0,2,0,8,1,0,1,2,1],\"replica-watch.info\":[4,1,0,1,0,5,0,0,2,2,0],\"giveawayoftheday.com\":[7,1,0,2,1,8,0,0,4,3,0],\"cybertek.fr\":[9,1,0,2,0,9,0,0,4,1,1],\"skinport.com\":[5,0,1,0,1,5,0,0,0,0,3],\"carleton.ca\":[11,2,0,0,0,7,0,0,6,0,0],\"topazlabs.com\":[10,1,0,6,1,11,0,0,7,1,4],\"bdsmsutra.com\":[3,0,0,0,0,0,0,0,0,0,0],\"bangkokpost.com\":[42,0,0,1,0,7,0,0,4,0,0],\"bulk.com\":[11,0,1,3,0,6,0,0,10,2,4],\"tureng.com\":[19,1,0,0,1,6,0,0,1,0,0],\"wordunscrambler.me\":[4,0,0,0,0,2,0,0,1,0,0],\"skribbl.io\":[13,1,0,1,0,5,0,0,1,0,0],\"rew.ca\":[12,2,0,1,1,4,0,0,4,1,0],\"cochranelibrary.com\":[5,0,1,0,0,4,0,0,6,3,1],\"flexmls.com\":[4,2,1,3,0,7,0,0,3,0,3],\"quickbase.com\":[1,0,0,1,0,4,1,0,1,0,3],\"wowroms.com\":[4,0,0,1,1,4,0,0,1,0,0],\"thumbtack.com\":[8,0,0,3,0,6,0,0,4,2,5],\"infodolar.com\":[13,0,0,1,0,5,0,0,1,0,0],\"motorola.com\":[9,2,0,2,1,11,2,0,5,1,3],\"jumbo.com\":[8,1,1,2,0,6,0,0,3,1,2],\"elektroimportoren.no\":[11,2,1,2,1,5,0,0,3,1,0],\"dofusbook.net\":[32,0,1,1,1,3,1,0,1,3,0],\"blogcms.jp\":[8,1,0,0,0,6,0,1,4,2,0],\"battlemetrics.com\":[8,0,0,1,0,4,0,0,3,0,1],\"buhl.de\":[14,1,1,0,0,3,0,0,4,0,1],\"tanki.su\":[2,2,0,0,1,3,0,0,2,2,0],\"vatera.hu\":[7,1,1,0,0,6,0,0,1,1,1],\"thekamababa.com\":[1,1,0,1,1,4,0,1,1,0,0],\"mediacourant.nl\":[12,1,0,0,0,6,0,0,3,3,1],\"correiobraziliense.com.br\":[20,1,0,1,1,6,0,0,8,5,2],\"webull.com\":[8,0,0,1,0,2,0,0,1,1,1],\"ssg.com\":[29,1,0,1,0,5,0,0,3,0,0],\"migros.ch\":[8,1,2,0,1,9,0,0,3,3,5],\"sanspo.com\":[19,1,0,0,0,6,1,0,5,0,1],\"harley-davidson.com\":[42,4,1,6,1,5,1,0,13,2,6],\"mp4-porn.space\":[0,0,0,1,0,3,0,1,0,0,0],\"dmn12.vip\":[0,0,0,1,0,3,0,0,2,0,0],\"symplicity.com\":[2,1,0,0,1,5,0,0,1,0,1],\"coinadster.com\":[2,0,0,0,0,5,0,0,2,0,1],\"tapas.io\":[9,0,0,3,0,9,0,0,5,1,1],\"athle.fr\":[5,0,0,0,0,6,0,0,1,0,3],\"zzztube.com\":[1,0,0,1,0,5,0,1,3,0,0],\"bnonline.fi.cr\":[0,0,0,0,0,4,0,0,0,0,1],\"decolar.com\":[11,1,0,0,1,7,1,0,9,2,3],\"wb.gov.in\":[2,1,0,1,0,11,2,0,0,0,1],\"sportmaster.ru\":[8,0,0,0,1,2,1,0,2,2,0],\"studying.jp\":[4,0,0,0,0,9,0,0,2,2,0],\"filext.com\":[24,0,1,0,0,1,1,0,0,0,0],\"solarchoc.com\":[6,1,0,2,0,5,0,0,2,0,0],\"missouriquiltco.com\":[6,1,0,2,0,10,0,0,3,1,2],\"balloon-juice.com\":[3,1,0,0,0,4,0,0,3,2,0],\"komonews.com\":[50,3,2,0,0,9,0,0,3,4,3],\"bitly.com\":[11,2,2,2,0,7,0,0,5,3,5],\"pap.pl\":[6,0,0,1,0,3,0,0,2,1,0],\"google.com.ar\":[5,1,0,0,1,4,1,0,2,0,0],\"soloel.com\":[26,0,0,2,0,4,0,0,3,0,1],\"uiowa.edu\":[3,1,0,0,0,11,0,0,2,0,1],\"vz.ru\":[7,1,0,1,1,4,2,0,6,2,0],\"renaissancekingdoms.com\":[4,1,0,0,0,6,1,0,1,0,0],\"katestube.com\":[1,0,0,1,1,4,0,4,2,0,0],\"ashampoo.com\":[8,2,1,4,1,7,0,0,1,0,0],\"conflictnations.com\":[4,1,0,1,0,4,0,0,1,0,0],\"animoflix.com\":[4,1,0,0,1,4,0,0,3,1,0],\"liepin.com\":[2,0,0,0,0,1,2,0,1,0,1],\"bullmarketbrokers.com\":[6,1,0,0,0,9,0,0,2,0,0],\"nordnet.fi\":[1,1,0,0,0,2,0,0,0,0,0],\"esa.int\":[3,2,0,3,0,10,0,0,1,4,1],\"unisa.ac.za\":[3,1,0,0,0,6,0,0,1,0,1],\"utn.edu.ar\":[5,1,0,0,1,10,0,0,2,1,2],\"adafruit.com\":[5,1,0,3,0,6,0,0,1,1,1],\"pj.gob.pe\":[2,0,0,0,0,4,2,0,2,0,0],\"troostwijkauctions.com\":[8,0,1,3,0,4,0,0,5,1,0],\"theaa.com\":[5,0,1,2,0,6,0,0,4,0,4],\"chezcathy.com\":[2,0,0,1,1,3,0,0,1,0,0],\"allhomes.com.au\":[31,1,0,2,0,6,0,0,9,0,1],\"alldebrid.com\":[1,0,0,1,0,6,0,0,1,0,2],\"fusionauth.io\":[2,0,0,0,0,4,0,0,1,0,0],\"n8n.cloud\":[5,1,0,3,0,8,0,0,0,0,2],\"mudah.my\":[57,0,0,2,1,7,1,0,8,0,1],\"chessable.com\":[5,4,1,2,0,6,0,0,5,2,2],\"raw-zip.com\":[2,0,0,1,0,4,1,0,1,1,0],\"nxbrew.net\":[12,0,0,1,1,3,0,0,3,1,0],\"claro.com.br\":[7,1,1,1,1,8,2,0,6,0,3],\"victronenergy.com\":[3,1,0,3,0,7,0,0,3,1,4],\"planner5d.com\":[7,2,1,5,1,7,0,0,1,1,2],\"wpml.org\":[2,1,0,1,0,4,0,0,2,1,2],\"billboard.com\":[117,6,4,3,0,11,3,0,20,5,4],\"invisalign.com\":[5,0,1,1,0,8,0,0,5,0,4],\"kruidvat.nl\":[23,2,2,2,0,7,0,0,5,0,5],\"median-xl.com\":[0,1,0,1,0,7,1,0,2,0,0],\"yescams.com\":[2,0,0,0,0,2,0,1,3,0,1],\"kinobase.org\":[3,1,0,0,0,4,0,0,1,0,0],\"ticket2u.com.my\":[2,2,0,1,0,3,0,0,2,0,2],\"jetsmart.com\":[6,0,0,1,0,10,1,0,10,0,3],\"speedrun.com\":[5,3,0,0,0,7,1,0,2,1,1],\"krx18.com\":[3,1,1,2,0,7,2,0,3,0,1],\"all-voyeur.net\":[0,0,0,2,0,3,0,0,2,0,0],\"platinumlist.net\":[2,0,0,1,0,0,0,0,2,0,1],\"cvkeskus.ee\":[23,2,1,1,0,5,0,0,2,0,2],\"uml.edu\":[2,0,1,1,0,11,0,0,7,1,1],\"scimagojr.com\":[28,0,0,1,0,4,0,0,2,1,0],\"yeti.com\":[18,1,1,5,0,12,0,0,14,2,9],\"icv-crew.com\":[3,1,0,1,1,4,1,0,2,0,0],\"journaldunet.com\":[66,2,2,0,0,5,0,0,7,0,2],\"seikowatches.com\":[7,1,1,3,0,6,0,0,4,0,1],\"tumadouga.jp\":[0,0,0,0,1,4,0,0,2,0,0],\"army.mil\":[4,1,0,1,0,7,0,0,5,1,3],\"ovoko.fr\":[8,0,1,1,1,7,0,0,5,0,1],\"mrporter.com\":[39,1,0,3,0,5,0,0,8,2,5],\"gensdeconfiance.com\":[4,0,1,3,1,6,0,0,1,2,5],\"svet24.si\":[14,1,1,2,1,7,0,0,1,5,0],\"megekko.nl\":[5,1,1,1,0,3,0,0,1,0,0],\"st.com\":[11,0,1,2,1,8,0,0,7,0,1],\"qbp.com\":[4,1,0,1,0,4,0,0,2,0,1],\"seeedstudio.com\":[6,1,1,3,0,12,1,0,5,2,0],\"livemaster.ru\":[1,0,0,0,1,3,0,0,3,3,0],\"nhk.jp\":[0,1,0,0,0,2,1,0,1,0,0],\"modworkshop.net\":[8,1,1,4,0,5,1,0,0,0,0],\"wordcounter.net\":[5,0,0,0,0,4,0,0,1,2,1],\"x1337x.ws\":[0,0,0,0,1,3,0,0,1,0,0],\"kotsovolos.gr\":[6,1,1,1,1,8,1,0,6,0,2],\"qcc.com\":[1,0,0,0,1,2,2,0,1,0,0],\"aib.ie\":[3,0,1,0,0,4,0,0,3,0,1],\"sharenet.co.za\":[26,0,0,2,1,7,1,0,1,0,0],\"oeffentlicher-dienst.info\":[40,0,1,1,0,3,1,0,2,0,0],\"janpara.co.jp\":[35,1,0,1,0,7,0,0,3,2,1],\"sakura.ad.jp\":[11,1,0,0,0,8,0,0,1,3,1],\"jambase.com\":[26,1,1,0,0,9,0,0,6,1,3],\"farmaciatei.ro\":[8,0,1,0,0,3,0,0,2,0,1],\"carter-cash.com\":[6,1,0,1,1,6,0,0,4,1,6],\"pi7.org\":[63,1,0,2,1,6,0,0,5,0,1],\"travelocity.com\":[9,0,1,1,0,4,1,0,5,0,5],\"hentai-covers.site\":[0,0,0,0,1,4,0,1,1,0,0],\"inewsgr.com\":[4,0,1,0,0,2,0,0,1,2,0],\"pdffiller.com\":[7,1,1,4,0,5,0,0,2,1,3],\"trendyporn.com\":[1,0,0,1,0,4,0,2,2,0,0],\"benzinga.com\":[26,2,1,5,0,6,0,0,9,3,4],\"starbucks.com\":[6,1,1,2,0,8,0,0,6,2,6],\"celebboard.net\":[1,0,0,0,0,1,0,0,0,0,0],\"raindrop.io\":[3,0,0,1,0,7,1,0,1,1,2],\"topps.com\":[12,1,0,5,0,9,0,0,8,1,5],\"freecouchtuner.com\":[1,1,0,0,0,3,0,0,1,0,0],\"livepriceofgold.com\":[1,0,0,0,0,1,0,0,2,0,0],\"dgt.gob.es\":[2,0,0,3,1,7,0,0,1,0,0],\"pollev.com\":[0,0,0,0,0,4,0,0,1,0,2],\"thomann.es\":[7,1,0,3,0,6,1,0,3,1,1],\"mein-mmo.de\":[51,3,2,1,1,8,1,0,6,2,0],\"mu.nu\":[48,1,0,1,0,4,0,0,2,2,0],\"unibo.it\":[4,1,0,1,0,8,0,0,3,0,1],\"goto.com\":[4,1,1,3,0,7,1,0,8,0,3],\"psprices.com\":[20,0,0,0,1,4,1,0,2,0,1],\"linestep.net\":[9,0,0,0,0,5,0,0,3,1,2],\"doramatv.one\":[3,1,0,0,1,4,0,0,2,2,0],\"decathlon.ch\":[11,1,1,3,0,5,1,0,4,0,3],\"hentaizap.com\":[2,0,0,1,1,5,0,0,2,0,0],\"drouot.com\":[2,0,0,0,1,2,0,0,1,0,1],\"mandmdirect.com\":[8,1,1,2,1,4,0,0,3,2,3],\"indy.fr\":[10,0,1,4,0,6,0,0,4,0,2],\"1001jeux.fr\":[8,0,0,0,0,6,0,0,1,2,0],\"research.net\":[1,0,0,0,0,3,0,0,1,0,0],\"fantlab.ru\":[1,0,0,0,1,1,0,0,1,0,0],\"animesdigital.org\":[3,2,0,0,1,7,1,0,3,1,0],\"liverpoolecho.co.uk\":[40,0,2,2,1,9,1,0,8,1,1],\"tvboxnow.com\":[1,0,0,0,0,5,0,0,4,0,0],\"abcdtask.com\":[1,0,0,0,0,1,0,0,1,0,0],\"optimum.net\":[41,0,0,3,0,6,1,0,7,0,2],\"washington.edu\":[6,1,0,0,1,15,0,0,10,3,0],\"fresha.com\":[8,0,0,1,0,5,0,0,2,0,3],\"hockey-reference.com\":[52,1,4,2,0,5,1,0,6,0,0],\"steamcardexchange.net\":[0,0,0,1,0,4,0,0,0,0,0],\"some.porn\":[2,0,0,1,1,4,0,1,2,0,1],\"omio.com\":[26,0,0,4,0,7,2,0,8,2,2],\"manageengine.com\":[2,1,0,1,0,4,0,0,0,0,0],\"funky-man.gr\":[3,1,0,0,0,3,0,0,0,1,0],\"projectjav.com\":[3,0,0,2,1,4,0,1,2,0,0],\"scalemates.com\":[1,1,0,0,1,2,0,0,1,0,0],\"propublica.org\":[35,1,0,0,0,8,0,0,9,0,1],\"rivian.com\":[9,1,1,2,0,11,0,0,6,2,5],\"manyhit.com\":[3,0,0,0,0,6,2,0,0,0,0],\"ccc.eu\":[18,0,1,1,0,6,1,0,3,2,1],\"prosettings.net\":[21,1,0,2,0,5,1,0,0,1,0],\"thescentlab.gr\":[5,0,1,3,0,8,0,0,2,0,1],\"ponta.jp\":[21,0,0,0,0,4,0,0,4,0,1],\"ui.marketing\":[7,0,1,3,0,5,0,0,3,0,1],\"meldkamer-online.nl\":[3,0,0,0,0,0,0,0,0,0,1],\"porno-666.com\":[1,0,0,1,1,0,0,0,2,0,0],\"kucoin.com\":[4,0,1,0,1,6,0,0,1,1,3],\"kamikouryaku.net\":[2,0,0,0,0,6,0,0,1,2,0],\"itemsatis.com\":[7,0,0,4,1,7,0,0,4,0,1],\"spoonflower.com\":[10,0,1,2,0,8,0,0,4,1,4],\"swarovski.com\":[27,1,1,3,0,5,0,0,4,0,3],\"dnd.su\":[3,0,0,0,1,2,0,0,2,0,0],\"movieboxpro.app\":[0,1,0,1,1,3,1,0,1,0,0],\"robota.ua\":[7,0,0,1,0,7,0,0,1,0,2],\"workupload.com\":[3,0,0,1,1,3,0,0,1,0,0],\"vox.com\":[29,2,2,2,0,7,1,0,11,0,0],\"transtrav.com\":[1,0,0,1,0,3,0,0,1,0,0],\"americastestkitchen.com\":[7,1,1,1,0,9,0,0,9,2,5],\"pioncoo.net\":[2,0,0,0,0,3,1,1,3,2,0],\"hikvision.com\":[10,1,1,2,1,9,0,0,5,0,1],\"euronext.com\":[3,0,1,2,0,4,0,0,1,0,0],\"orangepix.is\":[0,0,0,1,1,4,0,2,2,0,0],\"nordnet.no\":[1,0,0,0,0,2,0,0,0,0,0],\"net-a-porter.com\":[47,1,0,4,0,8,0,0,7,1,5],\"soundtrap.com\":[8,3,2,3,0,6,0,0,4,1,2],\"minecraft-serverlist.net\":[4,0,1,0,0,2,0,0,0,0,0],\"weber.com\":[10,1,3,2,0,9,0,0,9,0,3],\"whoop.com\":[4,1,1,1,0,8,0,0,4,0,5],\"motogp.com\":[31,2,1,4,0,7,0,0,4,1,2],\"world-fusigi.net\":[13,1,0,0,0,8,0,0,4,4,0],\"hornbach.ch\":[3,1,1,2,1,4,0,0,3,0,0],\"90minut.pl\":[7,0,1,1,0,3,0,0,1,0,0],\"image-line.com\":[6,2,0,1,0,8,0,0,6,1,2],\"thebulwark.com\":[7,2,0,0,0,4,0,0,2,1,2],\"stmods.org\":[12,1,0,2,1,3,0,0,3,0,0],\"dvdprime.com\":[5,1,0,0,0,5,0,0,0,3,0],\"celio.com\":[10,0,1,2,0,7,0,0,7,1,2],\"faire.com\":[8,0,1,1,0,8,0,0,8,2,4],\"anime-loads.org\":[6,2,0,0,1,9,0,0,1,1,0],\"isc2.org\":[5,1,1,4,0,9,0,0,6,0,4],\"pornhd3x.tv\":[3,1,0,1,0,6,0,1,3,0,0],\"kinogo.biz\":[3,1,0,0,1,6,0,0,2,0,0],\"google.dk\":[4,1,0,0,0,5,0,0,1,0,0],\"g-portal.com\":[10,1,1,4,1,6,0,0,7,3,2],\"adobesign.com\":[2,0,1,1,0,4,0,0,2,0,2],\"miruro.to\":[2,2,0,0,0,6,1,0,1,0,0],\"justfor.fans\":[5,1,0,3,0,9,0,0,1,1,1],\"mangacopy.com\":[1,0,0,0,1,0,0,2,1,0,0],\"cretalive.gr\":[15,2,1,1,0,6,0,0,1,2,1],\"ertnews.gr\":[2,0,1,0,1,5,0,0,1,2,3],\"gamekyo.com\":[8,1,0,0,0,5,1,0,1,1,0],\"cloudynights.com\":[25,1,0,2,0,6,1,0,2,0,0],\"fragrantica.fr\":[24,1,1,1,1,7,1,0,3,0,2],\"uptimerobot.com\":[6,0,0,3,0,5,0,0,2,0,1],\"247solitaire.com\":[6,0,1,1,0,3,0,0,1,0,0],\"soyjak.st\":[0,1,0,0,0,1,0,0,1,0,0],\"workaway.info\":[5,0,1,1,0,5,0,0,1,0,0],\"themoviebox.org\":[1,0,0,1,0,3,1,0,1,0,0],\"myfans.jp\":[5,0,0,1,1,6,0,0,5,0,1],\"atlasformen.fr\":[27,2,0,2,1,6,0,0,4,0,2],\"mkvdrama.net\":[1,0,0,0,0,3,0,0,2,0,0],\"tinyurl.com\":[5,1,0,2,0,7,0,0,1,0,1],\"ifreeicloud.co.uk\":[3,0,0,1,0,6,0,0,2,2,0],\"hrdc-drhc.gc.ca\":[2,0,0,0,0,2,0,0,1,0,2],\"bellazon.com\":[4,2,0,0,1,6,0,0,1,1,1],\"gemo.fr\":[8,0,0,2,1,4,0,0,7,1,2],\"eztv.wf\":[2,0,0,0,0,3,0,0,1,0,0],\"c-and-a.com\":[26,1,1,3,0,8,0,0,4,1,2],\"dnb.com\":[10,0,1,1,0,9,1,0,11,0,2],\"one.hu\":[9,1,1,0,0,5,0,0,4,0,1],\"pichau.com.br\":[9,1,0,1,1,8,0,0,5,0,1],\"milffox.com\":[1,0,0,1,1,5,1,3,1,2,0],\"expo.dev\":[3,1,0,3,0,6,0,0,1,2,3],\"vivapayments.com\":[6,0,1,2,1,8,0,0,6,0,5],\"bpost.cloud\":[3,0,1,0,0,3,2,0,1,0,0],\"u18chan.com\":[2,1,0,1,1,5,0,0,2,2,0],\"betclic.pl\":[3,3,0,0,0,6,0,0,0,0,2],\"tickettailor.com\":[4,1,0,3,0,7,0,0,1,0,2],\"ydtour30.sbs\":[0,0,0,0,0,3,0,0,2,1,0],\"eimuhurte.com\":[4,1,0,0,0,3,0,0,2,1,0],\"photo-ac.com\":[62,1,0,2,0,11,1,0,5,0,1],\"avaeduc.com.br\":[3,1,0,0,1,7,0,0,3,0,3],\"fashionnova.com\":[10,0,1,6,0,11,1,0,7,1,4],\"y2mate.is\":[5,1,0,1,1,6,0,0,1,0,0],\"katfile.vip\":[1,0,0,1,0,5,0,0,1,0,0],\"honor.com\":[8,1,1,4,1,6,2,0,2,0,2],\"vz.lt\":[10,3,2,1,0,7,0,0,2,0,0],\"zooplus.pl\":[8,1,1,0,0,8,0,0,3,0,3],\"steelersdepot.com\":[80,4,3,3,1,12,1,0,13,3,2],\"sweepstakesfanatics.com\":[58,0,2,2,0,5,1,0,4,1,0],\"unian.ua\":[38,2,0,2,0,6,0,0,3,0,1],\"omni.se\":[5,1,0,0,0,3,2,0,2,2,0],\"massimodutti.com\":[9,0,1,1,0,4,0,0,3,1,3],\"stltoday.com\":[17,1,1,0,0,7,0,0,2,3,0],\"yoomoney.ru\":[2,0,0,0,1,1,0,0,2,2,0],\"e-earphone.jp\":[8,1,0,2,1,10,0,0,1,1,0],\"kbc.be\":[4,1,2,0,0,2,0,0,2,0,2],\"washingtontimes.com\":[36,0,0,2,0,8,1,0,7,2,3],\"the-mainboard.com\":[4,1,0,0,0,5,1,0,1,5,0],\"porncide.net\":[0,0,0,1,0,3,0,0,0,0,0],\"omadanetworks.com\":[2,1,0,3,1,6,0,0,3,0,0],\"voici.fr\":[90,1,3,2,1,11,2,0,12,4,3],\"stitchfix.com\":[41,2,1,5,0,7,0,0,8,2,3],\"thedrive.com\":[16,3,2,2,0,4,1,0,6,2,1],\"uiil.ink\":[5,0,0,1,0,5,0,0,2,0,1],\"werstreamt.es\":[36,1,1,1,0,6,2,0,2,0,0],\"psg.fr\":[6,1,1,2,0,5,0,0,6,0,2],\"caesars.com\":[16,0,2,5,0,6,0,0,10,1,3],\"danas.rs\":[29,1,1,2,0,9,1,0,5,3,1],\"jav.direct\":[3,0,0,0,0,6,0,1,3,0,0],\"healthpartners.com\":[2,0,0,2,0,4,0,0,0,0,2],\"zeelandnet.nl\":[22,0,1,0,1,8,1,0,5,1,2],\"footyheadlines.com\":[64,1,2,1,1,6,1,0,4,1,1],\"unian.net\":[8,1,0,0,1,6,0,0,1,0,0],\"git-scm.com\":[1,0,0,1,1,5,0,0,0,0,0],\"classic-armory.org\":[5,1,1,1,0,3,0,0,3,0,0],\"jmu.edu\":[2,1,0,1,0,7,0,0,3,1,0],\"hawtcelebs.com\":[8,0,0,1,0,4,0,0,1,0,0],\"agerpres.ro\":[4,1,0,0,0,2,0,0,1,0,0],\"torrentheaven.org\":[0,0,0,1,0,4,1,0,1,0,0],\"piqsels.com\":[2,0,0,0,0,2,0,0,2,0,0],\"enikos.gr\":[24,2,0,0,1,7,0,0,2,4,1],\"4shared.com\":[6,0,0,0,0,3,0,0,2,0,0],\"park4night.com\":[4,0,1,1,0,5,0,0,0,0,1],\"pokemon-zone.com\":[19,2,1,0,0,4,0,0,3,0,0],\"serienfans.org\":[0,0,0,0,1,3,1,0,0,0,0],\"dkb.de\":[5,1,1,0,0,3,0,0,2,0,2],\"damanwoo.com\":[29,1,0,0,0,7,0,0,6,0,0],\"hsnstore.com\":[5,1,1,2,0,4,1,0,2,1,2],\"bullionvault.co.uk\":[1,0,0,1,0,0,0,0,0,0,0],\"caissedesdepots.fr\":[0,0,1,0,1,3,0,0,1,0,0],\"cloudbeds.com\":[6,1,1,5,0,8,0,0,5,0,5],\"tudorwatch.com\":[3,0,1,0,0,4,0,0,3,0,3],\"darkhorizons.com\":[72,2,4,4,0,6,1,0,6,2,1],\"enel.it\":[8,0,1,2,1,6,0,0,1,0,1],\"coop.ch\":[8,2,1,0,0,7,0,0,4,1,2],\"hello.porn\":[0,0,0,2,0,5,0,2,1,0,0],\"osu.edu\":[5,1,2,1,0,13,0,0,4,1,2],\"forum24.cz\":[20,1,0,0,0,4,0,0,3,2,3],\"socialblade.com\":[51,2,1,3,0,9,1,0,4,0,0],\"coachella.com\":[8,2,1,1,0,8,0,0,4,1,0],\"militarnyi.com\":[19,1,0,1,0,6,0,0,2,2,0],\"kvue.com\":[7,1,1,1,0,8,0,0,2,0,3],\"darkiworld2026.com\":[2,1,0,1,1,5,1,0,2,1,0],\"megatube.xxx\":[1,0,0,1,0,6,0,3,1,0,0],\"absher.sa\":[0,0,0,1,1,3,0,0,2,0,0],\"joongang.co.kr\":[25,3,0,1,0,8,1,0,4,0,0],\"hentaila.com\":[4,1,0,0,1,5,0,2,3,0,0],\"vidmoly.biz\":[2,1,0,1,0,5,0,0,2,0,0],\"picturepub.net\":[2,1,0,0,0,6,1,0,1,2,0],\"privacy.com.br\":[6,1,0,1,1,6,0,0,2,0,1],\"norne.no\":[0,0,0,0,0,2,0,0,0,0,1],\"sevdesk.de\":[2,1,1,2,0,7,0,0,4,0,2],\"containerstore.com\":[38,3,0,3,0,4,1,0,10,2,5],\"uaserials.my\":[4,1,0,0,0,4,0,0,2,0,0],\"cloudconvert.com\":[5,1,0,1,1,5,0,0,1,1,2],\"opencorporates.com\":[1,0,2,0,1,3,0,0,1,0,1],\"sbnation.com\":[50,1,2,2,0,10,1,0,7,3,0],\"marieclaire.co.uk\":[29,0,2,0,0,5,0,0,4,0,0],\"jumia.com.ng\":[4,1,0,0,1,4,0,0,3,0,1],\"statmuse.com\":[40,0,1,2,0,7,1,0,4,0,0],\"swatchseries.is\":[5,1,0,0,0,5,0,0,1,0,0],\"xdock.com.au\":[1,0,0,1,0,6,0,0,2,0,1],\"archive.md\":[6,0,0,0,0,4,0,0,0,0,1],\"biltema.no\":[7,0,1,1,0,3,0,0,3,0,1],\"lse.ac.uk\":[5,1,1,0,0,12,0,0,4,1,1],\"casasbahia.com.br\":[9,0,1,2,1,6,1,0,7,0,1],\"altema.jp\":[10,1,0,1,1,6,0,0,4,2,0],\"microminimus.com\":[5,0,0,4,0,8,0,0,6,0,0],\"xxxshake.com\":[1,0,0,1,1,4,0,2,1,0,0],\"watchseriestv.net\":[4,1,0,0,0,6,1,0,2,0,0],\"elastic.co\":[15,1,1,1,0,5,0,0,8,3,5],\"ngefilm.ink\":[0,0,0,0,0,0,0,0,1,0,0],\"muji.us\":[9,1,0,3,0,12,0,0,9,2,1],\"metabook.gr\":[3,0,0,1,1,4,0,0,1,0,1],\"converse.com\":[36,2,1,5,0,6,0,0,11,1,4],\"serverfault.com\":[4,0,1,0,0,8,0,0,0,2,1],\"auone.jp\":[21,1,0,0,0,4,0,0,4,2,1],\"futbol24.com\":[5,0,0,1,1,3,0,0,1,0,0],\"wowdb.com\":[25,2,1,0,0,6,1,0,5,0,0],\"elationemr.com\":[2,0,1,1,0,5,0,0,1,0,3],\"xvideosputaria.com\":[2,1,0,0,1,4,1,0,2,0,0],\"thehun.net\":[2,0,0,0,0,4,0,1,1,2,0],\"exceedlms.com\":[4,1,0,1,1,7,0,0,2,0,0],\"iceporn.com\":[2,0,0,1,1,4,0,2,1,0,0],\"thenewdaily.com.au\":[17,2,1,0,1,7,0,0,4,3,2],\"eroticmv.com\":[4,1,0,1,1,4,1,0,2,1,0],\"skin.land\":[3,1,0,1,0,5,0,0,2,0,1],\"fapforfun.net\":[1,0,0,2,1,4,1,0,0,1,0],\"queue-it.net\":[3,3,1,1,1,5,1,0,3,0,3],\"couchsurfing.com\":[5,0,1,2,0,6,0,0,4,3,2],\"celebritymoviearchive.com\":[1,0,0,0,1,3,0,0,2,0,0],\"scheels.com\":[26,1,0,4,0,10,0,0,9,3,6],\"gamosaurus.com\":[3,1,0,0,0,5,0,0,1,1,0],\"maz-online.de\":[59,0,1,1,0,4,1,0,7,0,2],\"hclips.com\":[1,1,0,1,0,4,0,2,2,0,1],\"allen.in\":[9,1,0,0,0,8,0,0,3,2,2],\"ramp.com\":[8,2,1,2,0,7,1,0,6,0,4],\"bluebrixx.com\":[7,1,1,4,0,5,0,0,3,0,0],\"seedhub.cc\":[1,0,0,0,0,1,0,0,1,0,0],\"klclick.com\":[4,2,1,4,0,10,0,0,3,2,4],\"mountainproject.com\":[6,1,0,1,0,3,0,0,3,1,0],\"miraculous.to\":[4,4,0,0,1,8,0,0,3,2,1],\"oneplus.com\":[10,1,1,1,1,8,1,0,4,0,4],\"svpressa.ru\":[5,0,0,2,1,3,1,0,5,2,0],\"mylimobiz.com\":[1,0,0,1,0,4,0,0,0,0,1],\"lavoz.com.ar\":[20,1,0,1,0,12,0,0,4,2,1],\"hlavnespravy.sk\":[14,1,1,1,1,9,0,0,3,2,2],\"reset-fasting.jp\":[1,0,0,1,0,8,1,0,1,0,0],\"commonlit.org\":[2,0,1,2,0,8,0,0,3,1,1],\"ozap.com\":[74,1,2,2,0,9,1,0,4,4,0],\"nextcloud.com\":[1,2,0,2,1,5,0,0,2,0,0],\"cv-library.co.uk\":[5,1,1,0,1,6,0,0,4,0,2],\"onoffice.de\":[0,0,0,0,0,0,0,0,1,0,0],\"bestchange.com\":[4,0,0,0,0,1,0,0,1,0,1],\"takarakuji-official.jp\":[33,0,0,0,0,1,0,0,4,2,1],\"yts-official.org\":[6,1,0,0,1,6,1,0,1,0,1],\"cinemagia.ro\":[20,0,0,0,0,3,0,0,1,0,1],\"hotpic.cc\":[2,0,0,0,0,3,0,0,2,0,0],\"aov-news.com\":[2,0,0,0,1,1,1,0,1,0,0],\"liveauctioneers.com\":[3,0,1,0,0,5,0,0,4,0,3],\"1flix.to\":[5,2,0,0,0,9,0,0,2,0,0],\"dot.gov\":[5,1,0,0,0,4,0,0,4,0,3],\"brandcdn.com\":[10,0,1,1,0,9,1,0,5,0,3],\"lyonmag.com\":[6,1,0,0,0,7,0,0,2,3,0],\"csgoroll.com\":[7,0,1,0,0,5,1,0,4,1,4],\"meteo-aubepin.fr\":[0,0,0,0,0,0,0,0,0,0,0],\"philips.com\":[11,1,3,5,0,13,5,0,13,1,4],\"freecash.com\":[12,1,0,2,0,12,0,0,5,5,5],\"cleveland.com\":[103,4,3,5,0,12,2,0,23,1,6],\"lestrades.com\":[1,0,0,0,1,3,0,0,0,0,0],\"cumgloryhole.se\":[3,0,0,1,1,3,0,1,1,0,0],\"ts.net\":[2,0,0,1,0,6,0,0,3,1,0],\"huffingtonpost.jp\":[44,1,0,0,0,7,0,0,8,3,1],\"444hsz.com\":[2,1,0,1,0,4,0,0,1,2,0],\"ddl-warez.cc\":[1,0,0,0,1,3,1,0,1,0,0],\"rada.gov.ua\":[6,0,0,0,0,5,0,0,0,2,0],\"playbox.com\":[0,0,0,1,1,4,0,0,0,0,2],\"seetickets.com\":[12,3,2,4,0,11,0,0,5,0,3],\"toernooi.nl\":[4,0,0,0,0,0,0,0,3,0,0],\"haijiaod.com\":[1,0,0,0,0,0,1,0,2,0,0],\"abfielder.com\":[53,1,0,2,0,9,1,0,3,1,0],\"instyle.com\":[47,2,2,2,0,10,2,0,9,1,0],\"freepeople.com\":[40,3,1,3,0,6,0,0,13,2,6],\"lahalle.com\":[24,2,0,2,1,5,0,0,5,0,2],\"biduzw.org\":[1,0,0,1,0,0,0,0,0,0,0],\"forge-vtt.com\":[1,1,0,4,0,7,1,0,0,1,0],\"discoveryplus.com\":[8,1,1,1,1,5,0,0,4,0,2],\"ufl.edu\":[8,1,0,1,0,13,0,0,5,1,2],\"honto.jp\":[11,0,0,0,0,2,0,0,4,2,1],\"futabanet.jp\":[20,1,0,0,0,9,1,0,7,4,0],\"aida.de\":[21,1,1,2,1,5,0,0,5,1,2],\"nv.ua\":[30,1,0,1,0,8,0,0,3,3,1],\"lookmovie.pn\":[2,0,0,1,1,5,0,0,2,0,0],\"minesweeper.online\":[3,1,0,1,0,3,0,0,1,0,0],\"philips-hue.com\":[12,0,2,2,1,6,0,0,4,1,2],\"setn.com\":[17,2,0,0,1,10,0,0,6,5,1],\"disp.cc\":[63,1,1,0,1,7,1,0,6,4,1],\"bsh-group.com\":[5,1,1,2,0,5,0,0,3,1,3],\"stirileprotv.ro\":[18,1,1,1,0,5,0,0,3,2,1],\"robinson.com\":[1,0,1,1,0,3,0,0,1,0,2],\"higheredjobs.com\":[5,0,1,0,0,4,0,0,2,0,0],\"deonlinedrogist.nl\":[6,2,1,1,0,4,0,0,0,0,2],\"abc.com.py\":[15,1,0,0,1,5,1,0,3,0,1],\"pornhex.com\":[3,0,0,1,1,4,0,1,1,0,0],\"tournamentsoftware.com\":[5,0,0,0,0,2,0,0,2,0,0],\"gladiators.ru\":[0,0,0,1,0,0,0,0,2,0,1],\"juicychat.ai\":[8,0,0,0,0,7,0,1,1,1,1],\"cvbankas.lt\":[9,1,0,1,0,4,0,0,2,0,2],\"mynorthwest.com\":[35,2,1,1,0,6,0,0,3,3,1],\"nd.edu\":[4,1,0,2,0,13,0,0,5,0,5],\"lrytas.lt\":[70,2,1,3,1,9,1,0,6,3,5],\"testout.com\":[1,0,0,0,0,4,0,0,3,0,1],\"overclockers.ua\":[4,1,0,0,1,5,1,0,1,0,0],\"federalnewsnetwork.com\":[24,1,1,1,0,7,1,0,9,1,3],\"bci.cl\":[6,1,1,5,1,8,0,0,8,0,2],\"gays-cruising.com\":[1,0,0,0,0,4,0,0,1,0,0],\"state.tx.us\":[3,1,0,0,0,9,0,0,4,0,0],\"uncrate.com\":[66,0,1,3,0,12,0,0,7,1,2],\"coned.com\":[10,0,0,0,0,3,0,0,4,2,0],\"iprima.cz\":[39,2,1,2,1,8,0,0,6,4,3],\"backmarket.fr\":[14,1,1,1,0,9,0,0,5,2,4],\"esjzone.cc\":[5,0,0,0,0,9,2,0,2,5,0],\"jamanetwork.com\":[8,0,1,1,0,9,0,0,4,0,0],\"vice.com\":[65,2,2,3,0,9,1,0,11,3,2],\"nashreporter.com\":[3,1,0,0,0,5,0,0,1,1,0],\"thejournal.ie\":[5,1,1,0,0,10,0,0,2,2,2],\"aftenbladet.no\":[7,1,0,0,0,7,2,0,0,0,3],\"blocksite.co\":[10,1,0,4,0,7,0,0,9,0,4],\"conrad.de\":[38,1,1,3,0,4,0,0,4,1,0],\"bikepacking.com\":[4,1,1,1,0,5,0,0,2,1,2],\"point.md\":[7,1,0,0,1,8,0,0,1,3,0],\"liveball.sx\":[2,0,0,1,1,7,0,0,3,0,1],\"r7.com\":[55,4,0,0,1,10,0,0,9,2,2],\"tv3.lt\":[37,1,1,2,1,10,1,0,7,1,2],\"nezavisne.com\":[11,1,1,0,0,7,0,0,3,3,0],\"bever.nl\":[8,1,0,3,0,5,0,0,6,1,2],\"doviz.com\":[42,0,0,0,1,7,1,0,3,0,0],\"onlinesequencer.net\":[11,0,0,2,0,7,0,0,4,0,0],\"thomann.pl\":[7,1,0,2,0,3,0,0,1,1,0],\"soccer24.com\":[35,0,1,1,0,1,1,0,3,0,1],\"mts.ru\":[4,0,0,0,1,4,0,0,3,3,1],\"thepiratebay7.com\":[1,0,0,0,0,1,0,0,1,0,0],\"latrobe.edu.au\":[9,1,0,0,0,9,0,0,3,0,1],\"rocket.com\":[4,0,1,0,0,2,0,0,7,0,1],\"olx.kz\":[11,0,0,1,1,4,2,0,3,0,1],\"jizzberry.com\":[2,0,0,1,0,4,0,2,2,0,0],\"blackhatworld.com\":[5,1,0,1,0,5,0,0,1,1,0],\"filmmakinesi.to\":[4,2,0,0,1,7,0,0,1,0,0],\"personio.com\":[3,0,1,0,0,6,0,0,3,0,3],\"dynadot.com\":[8,0,0,2,0,4,0,0,4,0,2],\"tigernet.com\":[7,1,0,0,0,5,1,0,0,4,0],\"lulustream.com\":[2,0,0,3,0,5,0,0,1,0,0],\"dunnesstoresgrocery.com\":[6,0,1,0,0,5,0,0,2,0,1],\"masutabe.info\":[1,0,0,0,0,6,2,0,3,0,0],\"hotpornphotos.com\":[1,0,0,1,1,3,0,1,1,0,0],\"denverpost.com\":[72,1,3,3,0,13,0,0,15,4,3],\"minecraft-schematics.com\":[11,1,0,1,0,7,0,0,1,0,0],\"pivotalweather.com\":[1,0,0,2,0,5,0,0,0,0,1],\"educacion.gob.es\":[2,0,0,1,1,3,0,0,1,2,1],\"gigafile.nu\":[81,1,0,2,0,6,1,0,9,1,2],\"voelkner.de\":[9,0,0,2,1,6,0,0,3,0,1],\"truffaut.com\":[8,1,1,1,1,5,0,0,3,1,1],\"loremipzum.com\":[3,0,0,0,0,5,0,0,0,0,0],\"heroku.com\":[4,0,1,4,0,6,0,0,7,1,2],\"flypgs.com\":[15,0,0,2,1,4,1,0,5,2,0],\"zenodo.org\":[0,0,0,1,1,4,0,0,1,0,0],\"agaghhh.cc\":[2,0,0,0,1,2,0,1,1,0,0],\"rug.nl\":[3,0,1,1,0,6,0,0,5,0,1],\"lifepointspanel.com\":[10,0,0,2,1,4,0,0,8,1,1],\"ru-board.com\":[2,0,0,3,1,4,1,0,1,1,0],\"m4uhd.page\":[3,1,0,1,0,11,1,0,1,0,0],\"hdzog.tube\":[2,1,0,1,0,5,1,3,2,0,1],\"telstra.com.au\":[10,1,0,4,1,6,0,0,9,2,4],\"zolo.ca\":[1,0,0,1,0,4,0,0,2,0,0],\"elearningontario.ca\":[3,1,0,2,0,13,0,0,2,1,3],\"vinted.hr\":[20,0,1,0,0,2,0,0,1,0,0],\"wmur.com\":[49,0,3,2,0,10,0,0,10,0,3],\"diskunion.net\":[4,1,0,3,0,9,1,0,1,2,0],\"politicsandwar.com\":[5,1,0,1,0,5,1,0,2,1,0],\"kaplanlearn.com\":[3,3,1,2,0,4,1,0,3,0,2],\"nutripure.fr\":[7,1,1,3,0,7,0,0,5,0,3],\"norstatsurveys.com\":[0,2,0,0,1,6,0,0,1,0,0],\"qconcursos.com\":[9,2,1,4,1,9,0,0,11,0,4],\"tainio-mania.store\":[6,1,0,1,0,6,1,0,2,0,0],\"tyomarkkinatori.fi\":[0,0,1,1,0,5,0,0,0,0,0],\"phonearena.com\":[37,1,2,2,0,6,1,0,5,2,0],\"frontier.com\":[32,2,1,0,0,7,2,0,13,3,1],\"missav123.to\":[0,0,0,0,1,3,0,0,1,0,0],\"lit.link\":[28,3,0,1,0,6,0,0,5,1,3],\"autodoc.es\":[13,1,0,1,1,6,0,0,3,0,1],\"citiprogram.org\":[4,1,0,0,0,5,0,0,2,0,0],\"laliga.com\":[8,1,1,0,0,5,0,0,3,1,0],\"manhwatop.com\":[2,0,0,0,1,2,0,0,1,1,0],\"deltadentalins.com\":[4,1,1,0,0,2,0,0,3,0,5],\"ecranlarge.com\":[11,1,1,0,1,5,0,0,2,3,0],\"drive.com.au\":[16,1,1,1,0,5,0,0,9,1,1],\"pinside.com\":[2,1,0,0,0,6,0,0,1,0,0],\"internationalskeptics.com\":[4,1,0,0,0,6,1,0,1,3,0],\"aidungeon.com\":[1,0,0,1,0,3,0,0,1,0,1],\"skin-seoul.work\":[0,0,0,0,0,5,0,0,1,0,1],\"halturnerradioshow.com\":[3,0,0,2,1,6,0,0,2,2,2],\"fragrantica.pl\":[8,1,1,1,0,6,1,0,1,0,1],\"creality.com\":[10,2,0,4,1,13,2,0,7,0,2],\"ga.gov\":[2,1,0,0,0,5,0,0,3,0,2],\"nekopoi.care\":[3,0,0,1,1,4,1,1,3,0,2],\"ggmax.com.br\":[3,0,0,1,1,3,0,0,3,0,1],\"rufus.ie\":[3,1,0,0,1,4,0,0,1,0,0],\"husqvarna.com\":[3,1,1,1,1,7,1,0,3,0,2],\"asiandating.com\":[2,0,0,1,0,5,0,0,3,0,1],\"lojaintegrada.com.br\":[9,1,1,3,0,6,0,0,7,1,2],\"state.nj.us\":[2,0,0,1,0,9,0,0,1,0,1],\"pochta.ru\":[13,0,0,0,1,2,0,0,2,2,0],\"seimanga.me\":[1,0,0,0,1,1,0,0,0,0,0],\"simplepay.hu\":[3,0,0,1,0,5,0,0,1,0,1],\"animesonline.cloud\":[4,2,0,0,0,6,2,0,3,1,0],\"audible.fr\":[9,0,1,0,0,4,1,0,3,1,1],\"semanticscholar.org\":[6,0,1,3,1,8,0,0,3,0,1],\"sc.com\":[9,1,1,0,0,2,0,0,5,0,2],\"toloka.to\":[0,0,0,0,0,2,0,0,1,0,0],\"french-manga.net\":[4,0,0,0,0,5,2,0,1,0,0],\"soccertvhd.com\":[3,0,0,1,0,4,0,0,1,1,1],\"storia.ro\":[40,1,1,1,0,6,2,0,4,0,2],\"about.google\":[4,1,0,1,1,5,0,0,1,0,0],\"thehiddenbay.com\":[1,0,0,0,0,2,0,0,1,0,0],\"heavy.com\":[62,2,1,3,0,6,0,0,8,3,0],\"games.gg\":[24,5,2,2,1,6,0,0,4,2,1],\"ivytech.edu\":[3,1,0,3,0,11,1,0,6,1,2],\"allbirds.com\":[38,1,1,5,0,9,2,0,9,2,6],\"survivors.wiki\":[1,1,0,1,0,4,0,0,1,0,0],\"youtube-nocookie.com\":[2,1,0,0,0,5,0,0,0,0,0],\"lenso.ai\":[4,0,1,0,0,3,0,0,2,0,0],\"der-betze-brennt.de\":[6,1,1,0,0,6,0,0,2,0,0],\"goldprice.org\":[45,0,2,2,0,5,1,0,6,1,0],\"v0.app\":[3,0,0,1,0,4,0,0,1,0,3],\"dmi.dk\":[1,0,1,0,0,3,0,0,1,0,0],\"lyreco.com\":[8,0,1,0,1,4,0,0,2,0,0],\"autorefresh.co\":[2,0,0,0,0,2,0,0,0,0,1],\"whatfontis.com\":[30,0,1,2,1,8,1,0,4,0,0],\"medonet.pl\":[65,1,0,1,1,7,1,0,6,3,2],\"whatismyip.com\":[28,1,0,3,1,6,1,0,3,0,1],\"b9good.co\":[3,1,0,1,0,6,0,0,2,0,0],\"zuora.com\":[3,0,1,1,0,5,0,0,4,0,2],\"wikispeedruns.com\":[0,0,0,0,0,7,0,0,0,0,0],\"elchapuzasinformatico.com\":[66,1,1,2,1,5,1,0,5,5,1],\"mye2shop.com\":[0,0,0,0,0,1,0,0,1,0,0],\"timeedit.net\":[0,0,0,1,0,4,0,0,0,0,2],\"windy.com\":[6,1,0,1,1,6,0,0,1,0,1],\"today.it\":[35,1,1,0,0,8,0,0,2,3,2],\"ableton.com\":[6,2,0,2,0,9,0,0,4,1,2],\"mingpao.com\":[55,1,0,1,1,8,0,0,5,0,2],\"tvguide.com\":[53,4,2,1,0,7,0,0,7,0,1],\"mbrace.or.jp\":[1,0,0,0,0,2,0,0,0,0,0],\"foxaholic.com\":[2,0,0,2,0,4,0,0,2,1,0],\"tripletex.no\":[0,0,0,2,0,2,0,0,1,0,2],\"star.gr\":[11,1,1,1,1,8,0,0,4,1,0],\"shopbop.com\":[7,0,1,1,0,5,1,0,1,1,4],\"heureka.sk\":[18,1,1,0,1,5,0,0,4,0,2],\"peek-cloppenburg.de\":[10,0,1,2,0,5,0,0,4,1,1],\"della.ua\":[4,0,0,2,0,1,0,0,2,0,0],\"doximity.com\":[3,1,0,1,0,8,0,0,4,2,0],\"googleusercontent.com\":[5,0,0,0,0,6,0,0,2,0,1],\"northwell.edu\":[4,1,0,1,0,10,0,0,5,0,4],\"sonyentertainmentnetwork.com\":[0,0,0,0,1,2,0,0,0,0,1],\"nin-nin-game.com\":[6,0,0,1,1,2,0,0,0,1,0],\"maidonanews.jp\":[38,0,0,0,0,6,0,0,4,5,0],\"hdzog.com\":[2,1,0,1,1,6,1,2,2,0,1],\"nitori-net.jp\":[32,1,0,1,0,10,0,0,6,2,0],\"asiandate.com\":[6,0,1,0,0,4,0,0,3,2,1],\"gayxnow.com\":[1,0,0,0,1,3,0,3,2,0,0],\"apexminecrafthosting.com\":[4,1,1,3,0,9,0,0,4,2,3],\"buildkite.com\":[0,0,0,1,0,2,0,0,5,1,1],\"fredmiranda.com\":[5,1,0,0,0,6,1,0,1,3,0],\"bike-components.de\":[28,1,0,4,0,5,1,0,1,0,2],\"coolors.co\":[4,0,0,1,0,7,0,0,2,0,1],\"cycletrader.com\":[37,1,2,1,0,8,1,0,11,2,3],\"hurawatch.mn\":[6,2,0,0,0,7,0,0,2,0,0],\"remax.com\":[13,1,1,0,0,10,0,0,6,2,3],\"aquareader.net\":[3,0,0,0,0,4,0,0,2,1,0],\"postmarkapp.com\":[5,1,1,1,0,4,0,0,5,2,2],\"auckland.ac.nz\":[6,1,0,1,0,10,0,0,4,2,2],\"santander.de\":[3,0,1,0,1,3,0,0,0,0,1],\"biedronka.pl\":[7,1,1,0,1,5,0,0,6,1,3],\"platinmods.com\":[6,2,1,1,0,7,0,0,3,1,0],\"comicbookmovie.com\":[62,1,1,1,0,5,1,0,5,5,0],\"centraalbeheer.nl\":[5,0,0,2,0,6,0,0,1,0,3],\"nutreance.com\":[6,0,0,1,0,3,0,0,2,1,2],\"anybunny.org\":[0,0,0,0,0,5,1,0,2,1,0],\"gold.de\":[7,0,1,0,0,3,0,0,2,0,0],\"pecheur.com\":[6,1,1,2,0,4,0,0,1,0,0],\"vidio.com\":[19,2,0,0,0,5,0,0,3,0,2],\"5v5world.co\":[4,0,0,1,0,1,1,0,2,0,0],\"mlbbox.me\":[4,1,0,1,0,3,0,0,1,2,1],\"getmetal.club\":[2,1,0,0,0,6,0,0,2,0,0],\"mojevideo.sk\":[8,0,0,0,0,3,1,0,0,1,0],\"garnstudio.com\":[3,1,1,0,0,4,0,0,1,0,0],\"goldengate.hu\":[1,0,0,0,0,1,0,0,0,0,0],\"qiwa.sa\":[2,0,0,0,1,4,0,0,2,0,1],\"tek.no\":[8,3,0,0,0,10,2,0,2,4,2],\"porntop.com\":[2,1,0,0,1,3,0,2,2,0,1],\"bhg.com\":[30,1,2,1,0,7,2,0,8,1,0],\"puuilo.fi\":[8,2,1,0,0,5,0,0,3,0,2],\"moebel-martin.de\":[30,2,1,1,0,2,0,0,4,1,0],\"removepaywalls.com\":[21,0,2,2,0,6,3,0,6,0,3],\"wonderbox.fr\":[7,1,1,3,1,5,0,0,2,0,0],\"unirioja.es\":[3,0,0,3,0,7,0,0,1,1,0],\"ica.se\":[4,0,1,1,1,6,0,0,4,0,2],\"joyn.at\":[10,0,1,1,0,5,0,0,5,0,3],\"chevrolet.com\":[14,2,0,4,0,9,1,0,13,2,5],\"team-bhp.com\":[6,1,0,1,1,8,0,0,3,0,0],\"loccitane.com\":[12,1,1,5,0,11,0,0,11,1,5],\"knight-manager.com\":[0,0,0,0,0,0,0,0,0,0,0],\"pigu.lt\":[24,2,0,3,0,5,0,0,4,0,1],\"jellycat.com\":[9,0,1,1,0,7,0,0,2,1,3],\"alc.co.jp\":[11,0,0,0,0,5,1,0,1,0,0],\"bluemountain.com\":[6,1,0,0,0,7,1,0,11,0,1],\"tandem.net\":[1,1,0,0,0,7,0,0,1,1,2],\"cmegroup.com\":[11,2,1,3,0,8,1,0,4,0,2],\"myfund.pl\":[3,1,0,0,1,7,1,0,3,0,0],\"1001ebooks.app\":[1,0,0,0,1,0,0,0,2,0,0],\"letsrun.com\":[38,3,1,2,0,11,1,0,4,3,3],\"halaxy.com\":[6,0,0,0,1,3,0,0,3,0,2],\"wantedly.com\":[30,1,1,4,0,9,1,0,6,3,3],\"jup.ag\":[1,0,0,1,0,5,1,0,2,1,1],\"the-joi-database.com\":[1,0,0,0,0,5,0,0,1,0,1],\"tn.gov\":[9,1,0,3,0,12,0,0,5,0,3],\"listindiario.com\":[8,1,0,1,0,2,1,0,2,0,0],\"halara.com\":[9,0,0,2,0,5,0,0,3,3,1],\"gospmr.org\":[4,1,0,0,1,4,0,0,1,0,0],\"swr.de\":[1,0,0,0,0,5,0,0,2,0,0],\"ouo.press\":[12,0,0,1,1,6,0,0,0,0,1],\"sideshow.com\":[6,1,1,7,0,11,0,0,5,1,2],\"purolator.com\":[3,0,1,0,0,7,0,0,2,0,1],\"nadirkitap.com\":[2,0,0,0,0,5,0,0,0,0,0],\"shopcider.com\":[9,0,0,2,0,5,0,0,6,0,3],\"javfan.one\":[3,0,0,0,0,8,0,1,4,1,0],\"gunpost.ca\":[2,0,0,1,0,4,0,0,1,1,0],\"mac4ever.com\":[21,1,0,0,0,6,0,0,2,3,0],\"secureaccountview.com\":[3,0,0,0,0,1,0,0,4,0,3],\"tankathon.com\":[24,1,0,1,0,7,1,0,3,0,0],\"theplanespotterscommunity.co.uk\":[1,0,0,1,0,6,0,0,0,1,0],\"tnesevai.co.in\":[5,0,0,0,0,2,0,0,0,0,0],\"misa.vn\":[4,1,0,1,1,4,0,0,3,0,1],\"msa.fr\":[2,1,0,2,1,6,0,0,0,0,0],\"onlinesoccermanager.com\":[61,1,0,1,0,8,0,0,7,0,2],\"cdninstagram.com\":[1,0,0,0,0,4,0,0,2,0,1],\"vercomicsporno.com\":[2,0,0,0,1,4,0,1,3,0,0],\"parcoursup.gouv.fr\":[2,1,0,0,0,3,0,0,1,1,0],\"nseindia.com\":[4,0,0,0,1,3,0,0,1,0,0],\"bitban.com\":[24,1,2,1,0,7,0,0,6,2,3],\"weavy.ai\":[3,0,0,3,0,7,0,0,3,1,1],\"indexkings.com\":[9,1,0,1,0,2,4,0,4,2,2],\"infojobs.com.br\":[8,1,1,1,1,7,0,0,3,0,1],\"acbuy.com\":[5,0,0,2,0,4,1,0,3,0,1],\"aps.org\":[6,0,1,0,0,5,0,0,3,0,0],\"elcomercio.pe\":[68,3,0,1,1,10,0,0,11,2,3],\"umart.com.au\":[28,1,0,1,1,6,1,0,4,1,3],\"gate.com\":[5,0,0,0,1,4,0,0,3,0,1],\"tiempoar.com.ar\":[7,3,0,0,1,7,0,0,3,4,1],\"decathlon.pt\":[8,1,1,4,1,5,1,0,3,0,3],\"ibooks.to\":[4,0,0,0,1,5,0,0,2,0,0],\"printfly.com\":[0,0,0,0,0,3,0,0,0,0,2],\"divineva.com\":[1,0,0,0,0,2,0,0,0,0,0],\"senukai.lt\":[9,1,1,2,0,6,1,0,6,2,0],\"sba.gov\":[2,0,0,2,0,4,0,0,2,0,1],\"funktionstjanster.se\":[0,0,1,1,0,4,0,0,0,0,0],\"24av.net\":[1,0,0,0,0,4,0,0,2,0,0],\"thomannmusic.com\":[7,1,0,4,0,6,1,0,2,1,1],\"portaleargo.it\":[0,0,0,1,1,6,0,0,0,0,0],\"fc2db.net\":[2,0,0,1,0,3,0,0,3,1,0],\"skyscanner.pt\":[15,0,0,0,0,5,0,0,3,0,3],\"bancocredicoop.coop\":[3,0,0,0,1,2,0,0,0,0,0],\"komiku.org\":[2,0,0,0,0,5,0,0,1,1,0],\"digicert.com\":[10,0,1,1,0,6,0,0,8,2,3],\"mlit.go.jp\":[4,1,0,2,0,8,0,0,2,0,1],\"au.com\":[33,1,0,2,1,8,0,0,8,1,2],\"thewarehouse.co.nz\":[10,0,0,2,0,6,1,0,7,1,1],\"marcus.com\":[9,1,1,0,0,4,0,0,5,0,5],\"ex-torrenty.org\":[0,0,0,0,0,6,0,0,1,0,0],\"keyforsteam.de\":[3,2,0,0,1,6,0,0,2,1,0],\"familyporner.com\":[2,0,0,1,0,3,0,1,1,0,0],\"easeus.com\":[13,1,2,5,1,7,0,0,10,1,2],\"hackerone.com\":[1,1,0,2,1,4,0,0,3,0,1],\"5chan.jp\":[3,0,0,0,0,1,0,1,2,0,0],\"worldanvil.com\":[9,1,1,2,0,12,0,0,3,2,2],\"nlc.hu\":[58,2,1,2,0,8,0,0,2,1,1],\"bluestacks.com\":[5,1,1,2,1,8,0,0,1,0,1],\"mourjan.com\":[2,0,0,0,0,3,0,0,1,0,0],\"fmpro.me\":[0,0,0,0,0,3,0,0,0,0,1],\"99designs.com\":[8,0,0,1,0,6,0,0,8,0,2],\"coach.com\":[16,1,1,7,0,15,2,0,13,1,6],\"gameseal.com\":[11,1,1,3,0,5,0,0,4,0,3],\"meteo.be\":[2,0,0,0,0,3,0,0,0,0,0],\"openclassrooms.com\":[8,2,1,0,1,8,0,0,5,1,4],\"chococams.com\":[1,0,0,0,0,2,0,2,2,0,0],\"ntv.co.jp\":[31,1,0,1,0,11,0,0,7,3,0],\"babia.to\":[3,0,0,1,0,6,0,0,2,1,0],\"vippz.vc\":[0,0,0,0,0,1,0,0,1,0,0],\"mwxi.cc\":[0,0,0,1,0,3,0,0,1,0,0],\"famitsu.com\":[16,1,0,1,1,5,0,0,4,2,0],\"belsimpel.nl\":[6,1,0,1,0,5,0,0,2,0,0],\"loadedfiles.org\":[3,1,0,0,0,3,0,0,2,0,0],\"porn-comic.com\":[1,0,0,1,1,2,0,1,1,0,0],\"perverzija.com\":[2,0,0,2,0,4,0,0,3,0,0],\"freecodecamp.org\":[4,1,0,3,0,10,0,0,2,0,1],\"weworkremotely.com\":[22,0,1,4,0,12,0,0,10,1,1],\"fide.com\":[3,1,0,1,0,6,0,0,3,0,2],\"tohotheater.jp\":[14,0,0,1,0,4,0,0,3,1,1],\"yuvideos.com\":[3,0,0,0,0,3,0,0,1,1,0],\"chequeenergie.gouv.fr\":[7,1,0,0,1,4,0,0,1,0,0],\"proantic.com\":[3,1,0,1,0,7,0,0,0,0,0],\"buycycle.com\":[8,0,1,2,0,5,0,0,6,0,0],\"parlamentnilisty.cz\":[16,1,1,0,1,6,1,0,2,2,0],\"joyn.ch\":[5,0,1,0,0,3,0,0,2,0,3],\"its.porn\":[0,0,0,1,1,5,0,3,2,0,1],\"repagalia.com\":[0,0,0,0,0,4,0,0,0,0,0],\"protoselidaefimeridon.gr\":[5,0,1,0,0,3,0,0,1,0,0],\"bvoltaire.fr\":[4,1,0,0,0,9,0,0,3,4,1],\"zootube1.com\":[0,0,0,1,1,3,0,0,0,0,0],\"cairn.info\":[1,0,1,0,1,7,0,0,2,0,2],\"guns.com\":[7,3,0,4,0,7,0,0,4,1,2],\"futbollibre.org\":[2,2,0,0,0,7,0,0,1,0,0],\"fantrax.com\":[104,2,2,3,0,9,2,0,11,0,2],\"mgstage.com\":[5,0,0,0,0,7,0,0,4,0,1],\"groupama.fr\":[11,0,1,0,1,5,0,0,3,0,1],\"fapopedia.net\":[1,0,0,1,1,3,0,0,1,0,0],\"brownells.com\":[11,4,1,3,0,8,1,0,9,2,5],\"heraldtribune.com\":[20,1,1,1,0,2,0,0,3,0,0],\"compu-pc.com\":[4,1,0,1,1,7,1,0,1,0,0],\"mijnwoordenboek.nl\":[15,0,1,0,0,2,0,0,1,0,0],\"nejm.org\":[8,1,1,1,0,4,0,0,7,1,3],\"createhentai.com\":[1,0,0,0,0,1,0,0,1,0,1],\"portal42.us\":[0,0,0,0,0,4,0,0,0,0,1],\"libretexts.org\":[4,1,0,1,0,8,0,0,2,0,1],\"britbox.com\":[9,0,1,0,0,5,0,0,2,0,4],\"barstoolsports.com\":[93,2,3,3,0,10,0,0,16,6,2],\"raiffeisen.hu\":[2,1,1,0,0,4,0,0,1,0,0],\"0daydown.com\":[0,0,0,1,0,3,0,0,0,0,0],\"chrono24.de\":[3,1,0,0,0,4,0,0,2,0,1],\"operadeparis.fr\":[9,1,1,1,0,10,0,0,5,0,1],\"namevids.me\":[2,0,0,1,1,4,0,1,2,0,0],\"helloporn.com\":[4,1,0,0,1,6,0,0,1,0,0],\"metart.com\":[3,1,1,0,0,4,0,0,1,0,0],\"brocoflix.xyz\":[4,1,0,0,0,9,1,0,4,0,0],\"fastdl.app\":[5,1,0,0,0,2,0,0,4,0,1],\"payworks.ca\":[2,1,0,0,0,2,0,0,2,0,0],\"vol.at\":[30,2,1,0,1,7,1,0,6,4,2],\"4plebs.org\":[1,0,0,0,0,3,0,0,0,0,0],\"to10.gr\":[6,2,1,0,1,6,0,0,4,3,1],\"himanatokiniyaruo.com\":[3,0,0,0,0,3,0,1,0,0,0],\"pyszne.pl\":[10,0,0,1,0,8,0,0,2,1,5],\"gala.de\":[53,2,1,2,1,10,3,0,7,1,1],\"baumschule-horstmann.de\":[6,0,1,0,0,1,0,0,1,0,0],\"lulus.com\":[11,1,0,3,0,8,0,0,9,2,6],\"clegc-gckey.gc.ca\":[0,0,0,1,1,3,0,0,0,0,1],\"effedupmovies.com\":[3,0,0,1,1,6,0,0,2,1,1],\"nemzetisport.hu\":[12,3,0,0,0,8,1,0,4,3,1],\"afternic.com\":[3,0,0,0,0,6,0,0,4,0,5],\"nationalcar.com\":[14,1,1,0,0,4,0,0,4,1,3],\"inkitt.com\":[7,0,1,2,0,7,0,0,1,3,1],\"adt.com\":[10,1,1,2,0,7,0,0,8,0,3],\"wnba.com\":[7,1,1,0,0,6,0,0,5,0,2],\"depositphotos.com\":[8,0,0,1,1,6,0,0,3,1,2],\"777tv.ai\":[1,0,0,0,1,4,0,0,1,0,0],\"kv.ee\":[4,1,1,1,0,5,0,0,2,0,2],\"proporn.com\":[2,0,0,1,1,4,0,1,1,0,0],\"clickedu.eu\":[1,0,0,0,0,3,0,0,1,0,0],\"yfsp.tv\":[2,1,0,1,0,4,0,0,1,0,0],\"bookmyshow.com\":[9,1,0,0,1,7,0,0,2,0,3],\"ikea.gr\":[7,0,0,2,0,5,0,0,5,0,0],\"paperlesspost.com\":[5,0,0,1,0,4,0,0,3,1,2],\"joybuy.nl\":[5,0,0,3,1,4,0,0,0,0,2],\"blogmura.com\":[4,0,0,0,0,0,0,0,1,0,0],\"myasiantv.es\":[3,2,0,0,0,6,1,0,3,0,0],\"mdr.de\":[0,0,0,0,1,3,0,0,0,0,1],\"ytmp3.gs\":[0,1,0,1,0,4,0,0,0,0,0],\"abanumay.sa\":[0,0,0,0,0,1,0,0,2,0,0],\"fakti.bg\":[11,2,1,0,0,7,0,0,4,1,2],\"watson.de\":[52,3,0,1,1,6,1,0,4,4,1],\"comicbook.com\":[49,1,2,2,0,8,1,0,9,2,2],\"ldoceonline.com\":[27,0,1,0,0,5,1,0,6,0,0],\"almaverdesaludable.com\":[1,0,0,0,0,2,0,0,1,1,0],\"tftacademy.com\":[49,1,1,3,0,8,1,0,4,0,1],\"ibs.it\":[28,1,1,1,1,6,0,0,3,1,3],\"adecco.com\":[5,0,1,1,0,8,0,0,7,0,2],\"codechef.com\":[4,1,0,0,0,8,0,0,3,0,1],\"signalpet.com\":[0,0,0,0,0,1,0,0,1,0,1],\"clickworker.com\":[3,0,0,3,1,9,0,0,3,0,1],\"decathlon.ro\":[8,1,1,4,0,3,1,0,4,0,0],\"easistent.com\":[3,1,0,0,0,7,0,0,1,0,1],\"rt.ru\":[4,0,0,0,1,3,0,0,1,2,0],\"lesta.ru\":[1,0,0,0,1,3,0,0,1,2,0],\"moonpig.com\":[9,0,1,3,1,6,0,0,10,1,4],\"amayama.com\":[3,0,0,1,1,5,0,0,2,0,1],\"lilo.org\":[2,1,1,0,0,6,1,0,1,0,1],\"fnn.jp\":[67,2,0,1,0,8,0,0,8,0,1],\"juststream.now\":[4,1,0,0,1,6,2,0,2,0,0],\"bimmerforums.com\":[4,0,0,0,0,1,1,0,1,1,0],\"newauction.org\":[6,0,0,0,0,4,0,0,1,0,0],\"constantcontactpages.com\":[3,0,0,1,0,4,0,0,0,0,0],\"fnbo.com\":[12,1,0,2,0,9,0,0,6,2,2],\"walmart.com.mx\":[11,0,0,2,1,3,0,0,2,0,3],\"mastercard.com\":[6,1,1,1,1,10,0,0,6,0,4],\"passportindia.gov.in\":[2,0,0,0,1,3,0,0,1,2,0],\"topstepx.com\":[3,1,1,2,0,9,0,0,3,0,2],\"chat-avenue.com\":[2,1,0,0,0,7,0,0,2,1,1],\"q10.com\":[4,1,0,0,1,7,2,0,2,0,0],\"nudevista.net\":[1,0,0,1,1,3,0,0,1,0,0],\"hotcleaner.com\":[7,0,0,1,1,3,0,0,1,0,1],\"pje.jus.br\":[3,0,0,0,1,4,0,0,2,0,0],\"ct.gov\":[7,1,0,1,0,10,0,0,4,0,2],\"gms.fr\":[2,0,0,0,0,2,0,0,0,0,1],\"andertons.co.uk\":[7,1,0,3,0,9,0,0,6,0,2],\"fujoho.jp\":[3,0,0,1,0,10,0,0,2,2,2],\"express.pk\":[8,2,0,0,1,7,0,0,1,3,0],\"xrares.com\":[2,1,0,1,1,3,0,0,1,0,0],\"fiken.no\":[4,1,1,1,0,2,0,0,1,1,1],\"rossko.ru\":[5,0,0,0,1,2,0,0,1,0,0],\"queensu.ca\":[4,1,0,1,0,13,1,0,6,0,1],\"deel.com\":[2,0,2,2,0,7,0,0,4,0,2],\"ich-tanke.de\":[44,0,1,0,1,4,0,0,0,1,0],\"goldapple.ru\":[7,0,0,0,1,2,0,0,1,2,0],\"gipuzkoa.eus\":[2,0,0,0,1,2,0,0,1,0,0],\"disneystore.com\":[11,1,1,4,0,4,1,0,7,0,3],\"gorecenter.com\":[3,0,0,1,1,5,0,0,2,0,0],\"sigmaaldrich.com\":[7,0,1,2,0,6,1,0,2,1,1],\"mysku.club\":[3,1,0,0,1,4,0,0,2,0,0],\"24chasa.bg\":[23,1,0,0,0,8,0,0,3,0,1],\"wrestlinginc.com\":[33,1,2,3,0,4,1,0,5,2,1],\"betflag.it\":[23,0,0,3,1,10,0,0,6,0,0],\"the-ans.jp\":[34,1,0,0,0,7,0,0,4,4,1],\"banorte.com\":[3,0,0,1,1,4,1,0,2,0,1],\"maxima-library.com\":[0,0,0,0,0,0,0,0,1,0,0],\"jira.com\":[1,0,0,3,0,12,1,0,7,1,3],\"beelinesautomotive.com\":[0,0,0,0,0,2,0,0,0,0,0],\"crowdgen.com\":[5,1,0,1,0,6,0,0,6,0,0],\"arbitr.ru\":[5,0,0,0,1,1,0,0,2,2,0],\"bmw.de\":[12,0,0,1,0,4,0,0,5,1,2],\"infire.si\":[3,2,0,0,0,6,3,0,1,2,0],\"kaina24.lt\":[7,1,1,1,0,6,0,0,1,0,0],\"ao.com\":[13,3,0,2,1,5,2,0,10,2,3],\"youperv.com\":[2,0,0,1,1,2,0,0,2,1,0],\"chouseisan.com\":[90,1,0,2,0,5,0,0,10,1,2],\"myaccountaccess.com\":[1,0,0,0,0,2,0,0,3,0,3],\"sourcenext.com\":[33,1,0,2,1,9,1,0,5,1,0],\"golfgenius.com\":[7,1,1,4,0,6,0,0,4,0,3],\"impawards.com\":[24,0,1,2,0,4,1,0,1,0,0],\"xpi.com.br\":[9,2,0,0,1,6,0,0,10,0,2],\"vidmoly.me\":[3,1,0,1,0,5,0,0,2,0,0],\"webpussi.com\":[2,0,0,1,0,3,0,0,1,0,0],\"piniparma.com\":[7,0,0,2,0,8,0,0,3,1,0],\"sixt.com\":[27,1,1,0,0,4,0,0,4,0,5],\"studentbeans.com\":[8,0,1,2,0,9,0,0,4,1,3],\"jinxxy.com\":[3,1,0,2,0,6,0,0,2,1,2],\"nzbs.in\":[0,0,0,0,0,3,0,0,1,0,0],\"databazeknih.cz\":[36,0,1,0,1,3,0,0,3,0,1],\"awesomescreenshot.com\":[6,1,0,2,0,5,0,0,1,1,2],\"bncenlinea.com\":[3,0,0,0,0,8,0,0,3,0,0],\"jio.com\":[2,1,0,0,1,7,0,0,2,0,1],\"universiteitleiden.nl\":[7,1,0,1,0,13,0,0,3,0,1],\"albiononline.com\":[7,3,1,1,1,8,1,0,4,2,2],\"komeri.com\":[27,1,0,1,1,6,0,0,4,2,1],\"misumi-ec.com\":[12,1,1,4,1,7,0,0,5,0,4],\"deere.com\":[22,2,1,5,0,9,0,0,8,0,4],\"pirlotv3.pl\":[7,1,0,1,1,6,0,0,3,0,0],\"westerndigital.com\":[8,1,0,3,1,5,0,0,5,0,2],\"wow-petopia.com\":[2,0,0,0,1,3,0,0,2,0,0],\"postcrossing.com\":[3,0,0,1,1,3,0,0,0,0,0],\"druni.es\":[9,1,0,3,0,7,0,0,6,0,2],\"slgr.gr\":[2,0,0,0,0,4,0,0,0,0,0],\"x-bridge.com\":[0,0,0,1,0,1,0,0,0,0,0],\"hsguru.com\":[32,0,2,3,0,7,1,0,3,2,0],\"tomato.gg\":[46,1,1,3,1,4,1,0,1,0,0],\"sawsonskates.com\":[34,1,3,0,0,3,0,0,9,1,0],\"uga.edu\":[8,2,0,2,0,12,0,0,5,2,2],\"ipinfo.io\":[11,0,1,3,1,3,0,0,6,3,3],\"mediaworld.it\":[13,0,1,4,1,6,0,0,7,0,2],\"wizard101.com\":[3,1,1,0,0,4,0,0,0,0,2],\"jobfind.gr\":[5,0,1,1,0,6,0,0,1,0,1],\"betonline.ag\":[11,0,0,1,0,6,1,0,4,0,2],\"fzmovies.live\":[4,1,0,0,0,8,0,0,2,2,1],\"turbo.az\":[5,0,0,1,0,0,0,0,4,0,1],\"asianwiki.com\":[8,0,0,1,1,5,0,0,1,2,0],\"ratsit.se\":[10,0,1,1,0,5,0,0,2,2,1],\"saisoncard.co.jp\":[10,1,0,0,1,6,0,0,2,1,1],\"vultr.com\":[11,1,1,1,1,5,0,0,6,0,1],\"47news.jp\":[14,1,0,0,1,7,0,0,2,0,0],\"al.com\":[130,2,3,3,0,13,2,0,28,3,5],\"gls-group.com\":[5,2,2,5,0,8,1,0,5,0,1],\"sbs.com.au\":[21,2,0,1,0,11,0,0,6,1,3],\"maersk.com\":[8,0,1,0,0,4,0,0,3,0,1],\"slrclub.com\":[4,1,0,0,0,5,0,0,1,0,0],\"pccasegear.com\":[9,1,0,3,0,9,0,0,4,0,2],\"cetelem.fr\":[1,0,1,1,1,4,0,0,2,0,1],\"sandisk.com\":[4,1,1,3,1,10,1,0,3,0,1],\"nan-net.com\":[4,0,0,0,1,3,0,1,5,2,0],\"prizerebel.com\":[6,0,0,4,0,8,0,0,4,1,4],\"bleachbooru.org\":[0,0,0,0,0,3,0,0,1,0,0],\"rds.live\":[3,1,0,0,0,4,0,0,2,0,1],\"openedition.org\":[2,0,0,1,1,5,0,0,0,0,0],\"centrecom.com.au\":[25,1,0,0,0,13,0,0,0,0,3],\"boligsiden.dk\":[37,0,1,2,0,6,1,0,5,0,0],\"klto9.com\":[1,0,0,1,0,4,2,0,0,0,0],\"vu.nl\":[2,1,1,1,0,6,0,0,1,0,1],\"mothership.sg\":[11,1,0,0,0,6,0,0,5,3,2],\"justporn.com\":[1,0,0,1,0,3,0,0,1,0,0],\"novibet.gr\":[9,2,1,0,1,9,1,0,9,0,4],\"ratemyserver.net\":[6,0,0,0,0,6,1,0,1,0,0],\"vseosvita.ua\":[4,1,0,0,0,4,0,0,1,0,0],\"movielair.cc\":[7,1,0,0,0,7,2,0,3,0,1],\"ogol.com.br\":[6,2,0,1,1,7,0,0,2,0,2],\"bcshuku.com\":[0,0,0,1,0,3,0,0,0,0,0],\"riovagas.com.br\":[13,0,0,0,0,6,0,0,3,0,1],\"voedingscentrum.nl\":[2,1,1,1,0,7,0,0,1,0,0],\"receive-smss.com\":[7,0,0,0,1,5,0,0,1,0,1],\"redbull.com\":[2,1,1,1,0,7,1,0,1,1,2],\"when2meet.com\":[7,0,0,1,0,3,0,0,0,0,0],\"renttherunway.com\":[9,0,1,1,0,5,0,0,7,1,5],\"dignitymemorial.com\":[11,1,1,1,0,5,0,0,5,1,3],\"mangarw.com\":[0,0,0,0,0,3,0,0,0,0,0],\"megogo.net\":[10,0,0,0,1,2,0,0,3,0,0],\"autocentrum.pl\":[39,1,0,0,0,6,0,0,2,0,0],\"postermywall.com\":[7,1,0,1,1,7,0,0,4,2,2],\"amvgg.com\":[13,1,1,0,0,3,0,0,1,0,0],\"vanta.com\":[3,1,1,3,0,6,0,0,6,0,2],\"alo.rs\":[35,1,1,1,1,7,2,0,5,3,0],\"cdek.ru\":[4,0,0,0,1,4,0,0,4,3,0],\"sistrix.com\":[6,1,0,0,0,4,0,0,3,1,1],\"cineb.gg\":[5,1,0,1,1,7,0,0,2,0,0],\"passkey.com\":[3,0,0,1,0,4,0,0,2,0,3],\"digiseller.me\":[0,0,0,0,1,3,0,0,2,0,0],\"sfmcompile.club\":[1,0,0,0,1,3,0,0,0,1,0],\"qvcuk.com\":[29,1,0,2,0,4,2,0,5,1,2],\"huaban.com\":[3,0,0,0,0,1,2,0,3,0,0],\"notino.pl\":[15,1,1,1,1,8,0,0,5,0,1],\"research-plus.net\":[1,0,0,0,0,3,0,0,1,0,0],\"ipms247.com\":[4,0,0,0,0,5,1,0,2,0,1],\"giant-bicycles.com\":[5,3,0,4,0,6,0,0,3,0,3],\"hdfull.sbs\":[5,1,0,0,0,6,0,0,3,0,1],\"autozeitung.de\":[22,3,0,1,1,5,2,0,5,0,1],\"snet.com.tr\":[0,0,0,0,0,0,0,0,2,1,0],\"thehackernews.com\":[4,1,0,1,0,4,0,0,1,0,0],\"freeadultcomix.com\":[2,0,0,1,1,3,0,1,3,0,0],\"profootballnetwork.com\":[52,2,1,0,0,11,1,0,9,3,1],\"euroleaguebasketball.net\":[9,1,1,1,0,8,0,0,4,1,0],\"edclub.com\":[23,0,1,4,0,4,1,0,3,0,0],\"mrds66.com\":[4,0,0,1,0,3,0,0,2,1,0],\"thunderskill.com\":[1,0,0,0,0,8,0,0,2,0,0],\"kicktipp.de\":[54,0,1,1,1,3,1,0,2,1,0],\"fucker.com\":[1,0,0,1,1,6,0,2,2,0,0],\"myjcom.jp\":[12,0,0,1,0,5,0,0,6,2,0],\"supplyhouse.com\":[41,2,0,3,0,6,0,0,7,0,3],\"cuevana3.nu\":[5,2,0,0,1,11,2,0,3,0,0],\"hentaicore.net\":[0,0,0,0,0,2,0,0,2,0,0],\"giornalone.it\":[7,0,0,0,1,3,0,0,2,0,1],\"indian-tv.cz\":[5,1,1,0,0,4,0,0,2,3,2],\"sgcarmart.com\":[10,1,0,0,1,6,0,0,6,1,1],\"thothub.lol\":[1,0,0,0,1,3,0,0,2,0,1],\"ozon.com\":[0,0,0,0,1,1,0,0,0,0,0],\"wpcomstaging.com\":[3,2,0,3,0,8,0,0,5,2,1],\"creaders.net\":[7,1,0,0,0,5,1,0,2,2,2],\"moeshare.cc\":[0,0,0,1,0,2,1,0,1,0,0],\"libertymutual.com\":[13,0,0,1,0,2,0,0,7,0,3],\"pbskids.org\":[1,0,0,0,1,3,0,0,1,0,1],\"akiba-online.com\":[2,0,0,1,0,4,1,1,1,0,0],\"sauto.cz\":[12,0,0,0,0,6,0,0,2,0,0],\"cnn.co.jp\":[39,1,0,0,0,5,0,0,9,4,0],\"comfy.org\":[8,2,0,2,1,8,0,0,3,0,2],\"crash.net\":[33,2,1,2,1,7,0,0,3,3,1],\"dafy-moto.com\":[8,1,0,0,0,6,0,0,2,0,2],\"gamevicio.com\":[9,1,1,2,1,5,0,0,5,3,1],\"penguinrandomhouse.com\":[12,2,0,1,0,4,0,0,9,2,2],\"niche.com\":[10,1,1,1,0,9,0,0,7,1,2],\"dapcity.com\":[4,1,0,0,0,8,1,0,1,5,0],\"uhdpaper.com\":[3,0,0,1,1,5,1,0,1,1,0],\"gpoint.co.jp\":[51,0,0,1,0,9,1,0,6,1,0],\"ecwcloud.com\":[0,0,0,0,0,3,0,0,1,0,2],\"homeexchange.com\":[9,0,1,3,0,8,0,0,3,2,2],\"price.com.hk\":[19,1,1,3,1,9,0,0,4,0,2],\"mewe.com\":[1,1,0,2,0,5,0,0,1,1,4],\"adguard.com\":[1,1,0,0,1,3,0,0,0,0,1],\"well.ca\":[37,1,1,4,1,4,0,0,7,4,4],\"jisho.org\":[2,0,0,1,1,6,0,0,1,0,1],\"trevorspace.org\":[2,3,0,0,0,3,0,0,2,2,1],\"cuisineactuelle.fr\":[74,1,2,3,1,6,2,0,6,0,2],\"nn.nl\":[6,0,1,2,0,6,0,0,4,0,2],\"thepoke.com\":[78,1,4,2,0,5,1,0,7,2,1],\"ammonnews.net\":[8,1,0,0,0,4,0,0,1,2,0],\"framer.website\":[3,2,0,0,0,8,0,0,4,0,2],\"madrid.es\":[2,0,0,2,1,7,1,0,7,0,0],\"deutsche-bank.de\":[7,0,1,1,0,3,0,0,2,0,1],\"whitehouse.gov\":[3,1,0,2,0,7,0,0,3,1,0],\"tripadvisor.nl\":[12,1,1,1,0,4,1,0,4,1,1],\"xtits.xxx\":[1,0,0,1,1,5,0,2,2,0,0],\"openinvoice.com\":[1,0,0,3,0,2,0,0,4,0,0],\"mozaracing.com\":[7,1,0,5,0,12,0,0,3,0,3],\"bladehq.com\":[6,1,0,2,0,8,0,0,7,1,1],\"klikbca.com\":[1,0,0,0,1,4,0,0,0,0,0],\"getrockmusic.net\":[3,0,0,0,0,3,0,0,1,0,0],\"free-kniga.ru\":[6,0,0,0,1,4,2,0,3,1,0],\"real-debrid.com\":[3,1,0,1,1,6,1,0,2,0,0],\"flvs.net\":[2,2,0,2,0,7,0,0,3,0,2],\"6abc.com\":[70,1,2,2,0,11,1,0,12,0,0],\"activision.com\":[4,1,1,2,0,4,0,0,3,0,1],\"dummysoftware.com\":[1,0,0,0,0,5,0,0,0,0,0],\"gls-group.eu\":[6,2,1,4,0,4,0,0,3,0,0],\"filepuma.com\":[5,0,0,2,1,6,0,0,1,0,0],\"fortnine.ca\":[8,1,0,3,1,7,0,0,6,0,3],\"limburger.nl\":[16,1,1,1,0,4,0,0,6,1,1],\"dnomotoke.com\":[4,1,0,0,1,6,0,0,1,4,0],\"lmstudio.ai\":[3,1,0,1,1,4,0,0,1,0,1],\"openreview.net\":[2,0,0,1,0,5,0,0,2,0,0],\"fullhdfilmizlesene.live\":[5,2,0,0,1,6,0,0,2,0,0],\"xmtrading.com\":[28,0,0,3,0,4,0,0,10,1,0],\"csun.edu\":[4,1,0,1,0,8,0,0,8,0,1],\"toluna.com\":[12,0,0,2,1,6,0,0,6,0,1],\"account.gov.uk\":[1,0,0,0,1,4,0,0,3,0,0],\"visorando.com\":[2,0,0,0,1,3,0,0,0,0,0],\"nationalgrid.com\":[8,0,0,1,0,5,0,0,3,0,1],\"anichin.moe\":[13,0,0,1,0,6,1,0,4,2,0],\"jst.go.jp\":[6,1,0,1,1,8,0,0,3,3,1],\"heart.org\":[10,2,1,2,0,14,0,0,6,0,3],\"johnhancock.com\":[2,2,1,1,0,5,2,0,6,0,1],\"unrealengine.com\":[2,1,1,1,0,7,0,0,0,0,2],\"legiit.com\":[10,2,1,1,0,9,1,0,6,4,2],\"observador.pt\":[81,1,1,3,0,10,0,0,7,3,3],\"truckersmp.com\":[7,1,1,3,1,9,1,0,2,2,4],\"syracuse.com\":[99,2,3,2,0,10,1,0,21,3,5],\"allhen.online\":[0,0,0,0,1,0,0,0,2,0,0],\"khl.ru\":[4,0,0,2,1,2,0,0,6,2,0],\"cyclegear.com\":[9,1,1,4,0,6,0,0,7,0,5],\"stream-leak.com\":[0,0,0,2,1,3,0,0,2,0,0],\"depaul.edu\":[3,1,0,0,0,8,2,0,2,1,3],\"hermanmiller.com\":[14,3,1,6,0,10,1,0,11,2,3],\"hopkinsmedicine.org\":[2,1,1,0,0,9,0,0,2,0,3],\"lamontagne.fr\":[63,2,1,1,1,6,1,0,9,0,2],\"estantevirtual.com.br\":[8,0,0,0,1,7,1,0,4,0,1],\"pnp.de\":[47,1,0,1,0,8,1,0,4,1,1],\"weatherspark.com\":[32,0,0,0,0,7,0,0,1,0,0],\"hsbcnet.com\":[0,0,0,2,0,2,0,0,3,0,1],\"capterra.com\":[11,1,1,1,0,8,0,0,8,2,3],\"pythonanywhere.com\":[2,0,0,2,0,9,0,0,1,2,0],\"erodate.pl\":[3,0,0,1,0,4,0,0,0,0,0],\"basescan.org\":[2,0,0,1,0,4,0,0,1,1,1],\"dollargeneral.com\":[11,0,0,1,0,10,0,0,2,0,3],\"acuityscheduling.com\":[11,0,1,1,0,5,0,0,2,2,4],\"nami.org\":[4,1,1,6,0,13,0,0,5,3,5],\"kyobobook.co.kr\":[9,1,0,2,0,7,0,0,1,1,1],\"lottomatica.it\":[2,0,1,1,1,7,0,0,9,0,2],\"dng65.com\":[4,1,0,0,0,3,0,0,3,3,1],\"asobeans.jp\":[30,0,0,0,0,6,0,0,2,1,0],\"babypips.com\":[51,1,0,4,0,4,0,0,10,0,2],\"ghosterysearch.com\":[7,1,2,1,0,7,0,0,3,0,2],\"ticketmaster.de\":[16,3,1,3,0,4,0,0,4,2,0],\"wst.tv\":[3,2,0,2,1,8,0,0,0,0,3],\"mahjongsoul.com\":[1,1,0,1,0,2,0,0,0,2,1],\"manheim.com\":[8,1,0,1,0,3,0,0,8,0,4],\"dpd.co.uk\":[3,0,0,1,0,7,0,0,1,0,2],\"sportscape.pro\":[0,0,0,0,0,1,0,0,0,0,0],\"tarjetarojatv.blog\":[5,2,0,1,1,5,0,0,3,0,0],\"trxs.cc\":[1,0,0,1,1,3,0,0,1,0,0],\"welingelichtekringen.nl\":[17,1,1,1,0,7,0,0,0,1,1],\"carrefour-banque.fr\":[8,0,1,1,0,6,0,0,5,0,2],\"waz.de\":[59,0,2,3,0,5,2,0,7,1,2],\"asrock.com\":[5,1,0,1,1,4,0,0,1,1,1],\"watchflix.to\":[3,1,0,0,0,6,1,0,2,0,0],\"yopmail.com\":[3,1,0,0,1,2,0,0,0,0,0],\"vocabulary.com\":[2,1,0,0,0,2,0,0,3,0,0],\"jacquieetmichel.net\":[3,0,0,0,0,5,0,0,2,0,0],\"xnxx.health\":[1,0,0,0,0,2,0,0,3,0,0],\"movistar.es\":[5,1,1,1,1,6,0,0,4,0,1],\"denfaminicogamer.jp\":[17,1,0,1,0,8,0,0,1,3,0],\"radissonhotels.com\":[13,1,1,2,0,7,1,0,8,1,3],\"softbank.jp\":[10,2,0,1,0,9,0,0,8,3,1],\"gametrade.jp\":[6,1,0,0,0,2,0,0,1,1,1],\"gpblog.com\":[42,2,1,0,0,5,0,0,2,3,1],\"motorsport-total.com\":[75,2,4,1,1,7,2,0,6,3,2],\"austrian.com\":[7,0,0,0,0,6,1,0,5,1,1],\"asianporn.li\":[1,0,0,1,0,3,0,1,2,0,0],\"intervals.icu\":[0,0,0,0,0,3,0,0,0,0,2],\"guard.io\":[4,0,0,3,0,7,0,0,1,0,5],\"4anime.gg\":[4,1,0,0,1,5,0,0,3,0,0],\"paysafecard.com\":[9,0,1,2,0,6,0,0,5,1,6],\"sharewood.tech\":[3,1,0,0,1,6,0,0,2,0,0],\"meoo.ro\":[4,1,0,0,0,7,1,0,3,0,0],\"muni.cz\":[2,0,0,0,0,7,0,0,3,1,0],\"bauhaus.at\":[24,1,1,5,0,7,0,0,0,1,1],\"porn4days.pw\":[4,1,0,1,1,5,0,0,3,0,0],\"utah.edu\":[5,3,1,2,0,12,0,0,7,0,3],\"unsee.cc\":[1,0,0,0,1,1,0,0,2,0,1],\"bookszw.com\":[1,0,0,0,0,0,0,0,0,0,0],\"altin.in\":[4,0,0,0,1,1,0,0,0,0,0],\"litcharts.com\":[2,0,1,0,0,6,0,0,4,0,2],\"freddy-fresh.de\":[1,0,0,0,0,1,0,0,0,0,0],\"boligportal.dk\":[9,1,1,2,0,4,0,0,1,0,2],\"malakoffhumanis.com\":[9,1,0,2,1,8,1,0,7,2,1],\"cosibella.pl\":[3,0,1,1,0,6,0,0,6,1,0],\"bigcartel.com\":[6,1,1,4,0,8,0,0,5,2,1],\"testberichte.de\":[9,1,0,2,0,3,0,0,0,0,0],\"livraddict.com\":[1,0,0,0,0,5,0,0,2,0,0],\"cybershoke.net\":[6,0,0,1,0,4,0,0,3,0,0],\"erecruiter.pl\":[3,1,1,1,0,3,0,0,1,0,1],\"exystence.net\":[1,0,0,0,0,1,0,0,1,0,0],\"rdw.nl\":[2,0,0,1,0,4,0,0,1,0,2],\"tokyomotion.com\":[1,0,0,1,0,3,0,1,1,0,0],\"dropmms.net\":[1,0,0,0,0,3,0,1,2,0,0],\"firefox.com\":[2,0,1,2,1,4,0,0,1,0,1],\"livetv873.me\":[8,2,0,1,0,9,0,0,3,0,0],\"wkyc.com\":[8,2,1,1,0,6,0,0,4,2,2],\"manwadu.cc\":[0,0,0,1,0,1,0,0,1,0,0],\"finance.si\":[9,0,1,0,1,5,0,0,3,2,0],\"christies.com\":[6,2,1,2,1,8,1,0,5,0,4],\"decathlon.in\":[5,2,0,0,0,4,1,0,5,0,2],\"cutout.pro\":[6,1,0,3,0,10,0,0,1,0,1],\"expresso.pt\":[13,2,1,3,1,5,0,0,6,2,2],\"cms.gov\":[3,1,0,2,0,7,0,0,9,1,0],\"bagi.co.in\":[4,0,0,0,0,6,0,0,2,0,1],\"firstenergycorp.com\":[7,0,1,1,0,4,0,0,1,0,1],\"mhbugle.com\":[3,1,0,0,0,5,1,0,1,1,0],\"cointiply.com\":[90,0,0,4,1,9,2,0,8,1,2],\"zalando.ro\":[2,0,1,0,0,2,1,0,1,0,1],\"codehs.com\":[4,2,0,1,0,11,1,0,3,0,3],\"publico.es\":[86,2,4,3,0,8,0,0,12,4,4],\"beckett.com\":[9,1,2,3,0,8,0,0,4,1,1],\"bluemoon-mcfc.co.uk\":[27,1,2,0,0,8,0,0,1,2,1],\"crowdin.com\":[6,2,1,0,0,9,0,0,2,0,1],\"asiamediablog.com\":[0,0,0,0,0,6,2,0,3,0,0],\"reason.com\":[60,1,3,1,0,8,1,0,7,4,1],\"ancestryinstitution.co.uk\":[1,0,0,0,0,0,0,0,1,0,0],\"ofdb.de\":[6,0,1,0,1,4,0,0,0,0,0],\"pelisplushd.la\":[6,2,0,0,1,7,0,0,2,0,0],\"shein.com.mx\":[9,0,0,1,1,4,0,0,1,3,4],\"iscorp.com\":[0,0,0,1,0,4,0,0,0,0,1],\"skyscanner.ca\":[39,1,0,1,0,5,0,0,5,1,4],\"habitaclia.com\":[27,1,1,2,1,8,1,0,3,1,2],\"m440.in\":[1,0,0,1,1,5,0,1,2,0,0],\"allopneus.com\":[9,1,1,0,1,7,0,0,2,0,5],\"superhivemarket.com\":[7,1,1,4,1,10,0,0,2,3,3],\"culturepsg.com\":[45,1,1,2,1,6,2,0,5,4,2],\"loterie-nationale.be\":[9,1,0,1,1,5,0,0,2,0,3],\"smokingpipes.com\":[1,1,0,2,0,4,1,0,2,0,0],\"warforum.xyz\":[2,0,0,0,0,3,1,0,1,0,0],\"biorxiv.org\":[5,0,0,1,0,9,0,0,6,2,2],\"manhuaus.org\":[2,0,0,0,0,3,0,0,4,1,0],\"affinity.studio\":[1,1,1,0,0,6,0,0,0,0,2],\"tjsc.jus.br\":[3,0,0,0,1,5,1,0,2,0,0],\"uncams.com\":[2,0,0,0,1,2,0,1,1,0,1],\"excalidraw.com\":[2,0,0,2,0,6,0,0,0,0,3],\"talkbass.com\":[36,2,2,2,0,7,1,0,6,1,0],\"lightspeed.app\":[3,0,0,5,0,8,0,0,5,0,2],\"befriendsonline.net\":[1,0,0,0,0,0,0,0,0,0,0],\"bumeran.com.pe\":[7,1,0,0,0,5,0,0,3,0,2],\"kleverig.eu\":[0,0,0,0,0,0,1,0,1,0,0],\"landal.nl\":[8,0,0,3,0,4,0,0,7,0,0],\"nicozon.net\":[4,0,0,0,0,2,0,0,1,2,0],\"letemps.ch\":[29,1,0,2,0,5,0,0,2,3,0],\"mmsbee27.com\":[3,0,0,0,0,2,1,2,2,0,0],\"vans.com\":[34,1,1,3,0,7,0,0,10,2,9],\"dmmsee.ink\":[0,0,0,0,0,0,0,1,1,0,0],\"tilda.cc\":[2,1,0,0,1,5,0,0,0,0,1],\"halktv.com.tr\":[10,0,0,0,1,4,0,0,1,2,0],\"themeplaza.art\":[2,0,0,0,0,2,0,0,2,1,0],\"etsu.edu\":[3,1,1,1,0,9,0,0,4,1,4],\"pcgamingwiki.com\":[20,1,0,3,1,7,1,0,2,0,1],\"gazzettadiparma.it\":[7,1,1,1,0,6,1,0,2,0,3],\"freetp.org\":[3,1,0,3,1,6,0,0,2,1,0],\"danisch.de\":[47,1,1,0,0,5,1,0,2,2,0],\"filester.sh\":[0,0,0,0,1,1,0,0,1,0,0],\"northwesternmutual.com\":[9,0,1,1,0,4,0,0,7,1,3],\"argenprop.com\":[28,1,0,1,0,5,0,0,4,0,1],\"progarchives.com\":[3,1,0,2,0,5,0,0,2,0,0],\"italotreno.com\":[12,0,1,2,1,7,0,0,1,0,1],\"tello.com\":[4,0,0,1,0,6,0,0,3,0,3],\"business.gov.au\":[3,0,0,1,0,3,0,0,2,0,0],\"reallifecam.com\":[4,0,0,0,0,2,0,0,1,0,1],\"zotero.org\":[1,0,0,2,0,6,0,0,1,0,0],\"snowcrows.com\":[19,2,2,1,0,7,1,0,1,0,0],\"foodora.se\":[7,0,1,0,1,6,0,0,2,0,4],\"wearpact.com\":[8,2,1,3,0,9,2,0,7,1,4],\"flysas.com\":[9,0,0,2,0,13,2,0,6,0,4],\"auktionshuset.dk\":[5,0,1,1,0,4,0,0,2,0,0],\"rpgcodex.net\":[5,1,0,1,0,7,1,0,3,4,0],\"gov.hr\":[3,1,0,1,0,5,0,0,1,0,0],\"caseking.de\":[9,2,1,4,1,8,1,0,6,2,1],\"javfc2.xyz\":[2,0,0,0,0,5,0,0,2,0,0],\"fal.ai\":[5,0,0,1,0,8,0,0,4,0,2],\"verivox.de\":[12,0,1,2,1,6,0,0,5,1,2],\"mangarawjp.tv\":[0,0,0,0,0,5,0,0,0,0,0],\"maptap.gg\":[1,0,0,0,0,5,0,0,3,0,0],\"diysolarforum.com\":[3,1,0,0,0,4,0,0,1,1,0],\"royaleapi.com\":[17,1,1,1,0,6,0,0,3,0,1],\"vkplay.ru\":[3,1,1,0,1,2,1,0,2,2,0],\"leakedbb.com\":[2,0,0,0,0,5,0,0,2,1,0],\"glitchproductions.store\":[5,0,0,3,1,7,1,0,5,1,2],\"aek365.org\":[26,2,1,0,1,8,0,0,3,4,0],\"battlepage.com\":[3,1,0,1,0,5,1,0,2,0,0],\"gosexpod.com\":[1,0,0,1,1,3,0,2,1,0,0],\"blizzboygames.net\":[3,1,0,1,0,7,0,0,3,1,0],\"cssz.cz\":[2,1,0,1,0,4,0,0,0,1,1],\"mbclub.co.uk\":[5,1,0,0,0,6,1,0,2,0,0],\"etuovi.com\":[19,0,1,3,0,7,0,0,3,0,1],\"usmint.gov\":[9,1,0,2,0,4,0,0,6,2,2],\"konami.net\":[4,0,1,2,1,9,0,0,3,2,4],\"expo2025shop.jp\":[1,1,0,0,0,6,0,0,1,0,0],\"autoscout24.fr\":[19,1,1,1,0,5,1,0,2,0,0],\"latestpornvideo.com\":[2,1,0,1,0,7,0,2,2,0,0],\"swinglifestyle.com\":[4,0,0,0,0,4,0,0,2,0,0],\"alipay.com\":[1,0,0,1,1,3,1,0,1,0,0],\"1mg.com\":[31,1,0,0,1,9,0,0,5,0,1],\"medicalnewstoday.com\":[26,2,2,1,0,7,2,0,8,2,0],\"naekranie.pl\":[9,1,0,1,0,5,0,0,3,3,0],\"brex.com\":[6,0,1,2,0,4,0,0,7,0,6],\"remanga.org\":[3,0,0,0,1,2,1,0,1,2,0],\"hianime.city\":[2,1,0,1,0,7,0,0,3,0,1],\"spglobal.com\":[10,0,1,3,0,13,0,0,7,0,5],\"thisismoney.co.uk\":[34,0,0,0,0,6,1,0,7,0,1],\"unity3d.com\":[2,0,1,2,0,4,0,0,0,1,1],\"healthgrades.com\":[24,3,1,1,0,7,0,0,6,0,1],\"submittable.com\":[7,0,1,5,0,7,0,0,8,1,2],\"solomonk.fr\":[3,0,0,0,1,7,0,0,1,0,0],\"aibooru.online\":[0,0,0,1,1,4,0,0,1,0,0],\"hornbach.cz\":[3,1,1,2,0,4,0,0,2,0,0],\"anastasiadate.com\":[7,0,1,0,0,3,0,0,3,0,2],\"diariodesevilla.es\":[53,2,1,2,0,10,0,0,6,3,1],\"joyclub.com\":[0,0,0,3,0,6,0,0,0,0,1],\"taboodude.com\":[1,0,0,1,0,3,0,0,1,0,0],\"goodsmile.com\":[7,1,1,3,1,10,1,0,4,3,0],\"psdeals.net\":[22,1,0,2,1,5,1,0,4,0,0],\"princesspolly.com\":[7,1,1,4,0,11,0,0,7,1,7],\"muckrack.com\":[9,1,1,1,0,6,0,0,6,1,3],\"nordea.se\":[1,1,0,1,0,2,0,0,1,0,0],\"misterbooking.com\":[0,0,0,0,1,2,0,0,0,0,0],\"jobvite.com\":[7,0,0,2,0,11,2,0,3,3,4],\"igay69.com\":[3,0,0,1,1,3,1,2,2,0,0],\"bhol.co.il\":[5,0,0,1,0,5,0,0,2,2,0],\"trac.jobs\":[1,0,1,1,0,2,0,0,0,0,1],\"serviceautopilot.com\":[4,1,0,0,0,6,0,0,2,0,1],\"fapnut.net\":[3,1,0,0,0,4,0,0,1,1,0],\"modesettravaux.fr\":[25,0,1,0,0,4,0,0,3,2,1],\"axcelerate.com\":[1,0,0,0,0,3,0,0,1,0,1],\"boxbrownie.com\":[3,1,0,1,0,5,0,0,1,0,0],\"backstage.com\":[12,4,1,3,1,6,0,0,7,3,3],\"mail-tester.com\":[2,0,0,0,0,2,0,0,4,1,0],\"firstcallonline.com\":[1,0,0,0,0,3,1,0,3,0,0],\"bankrate.com\":[11,0,1,0,0,6,0,0,8,1,3],\"play-asia.com\":[5,1,0,1,0,6,0,0,2,0,2],\"zorin.com\":[1,1,0,1,1,3,0,0,0,0,0],\"nmbrs.nl\":[0,0,0,3,0,4,0,0,0,0,1],\"moviesjoytv.to\":[5,2,0,0,0,9,0,0,2,0,0],\"asg.to\":[3,0,0,0,0,2,0,0,1,0,0],\"fortix.systems\":[2,0,0,0,0,3,0,0,0,0,2],\"airbnb.co.in\":[9,0,0,0,0,5,0,0,2,1,2],\"openbank.es\":[7,0,0,0,0,5,0,0,3,0,2],\"javrank.com\":[4,1,0,1,0,3,0,0,1,0,0],\"newscientist.com\":[30,1,0,2,0,5,1,0,6,1,3],\"apachetorrent.com\":[3,1,0,1,1,6,3,0,1,0,0],\"animenana.com\":[6,1,0,0,0,6,0,0,2,0,0],\"tvinsider.com\":[99,1,4,3,0,8,0,0,8,4,0],\"pornicom.com\":[1,0,0,1,1,4,0,1,2,0,0],\"amateuralbum.net\":[1,0,0,0,0,1,0,0,1,0,0],\"nullpoantenna.com\":[3,0,0,0,0,2,0,0,1,0,0],\"missav01.com\":[1,0,0,0,0,1,0,1,2,0,0],\"northeastshooters.com\":[6,1,0,0,0,6,1,0,4,4,0],\"ayakamods.com\":[4,1,0,1,0,8,1,0,2,1,0],\"universalorlando.com\":[27,1,1,1,0,6,0,0,12,0,4],\"augsburger-allgemeine.de\":[81,2,3,1,0,7,2,0,6,1,2],\"zipformplus.com\":[4,0,0,1,0,4,0,0,2,0,1],\"avid.com\":[7,1,1,1,0,7,0,0,7,0,2],\"bosch-professional.com\":[5,1,0,2,1,4,0,0,3,0,3],\"godvillegame.com\":[1,0,0,0,0,1,0,0,1,1,0],\"kdocs.cn\":[1,0,0,0,0,2,1,0,0,0,0],\"trannygem.com\":[1,0,0,1,1,6,0,3,1,0,0],\"mafab.hu\":[68,2,1,2,0,9,3,0,2,1,1],\"macu.com\":[13,0,1,2,0,7,0,0,10,0,4],\"p-world.co.jp\":[6,1,0,0,0,8,0,0,2,0,1],\"peopleadmin.com\":[1,0,0,1,0,4,0,0,3,0,1],\"pelicanparts.com\":[7,1,0,3,0,7,0,0,5,0,1],\"fnac.pt\":[10,0,1,2,1,8,2,0,6,0,4],\"imobiliare.ro\":[34,2,1,3,0,4,0,0,5,0,3],\"investorvillage.com\":[4,0,0,0,0,2,0,0,1,1,0],\"lostarmour.info\":[2,1,0,1,1,5,0,0,2,0,0],\"uberinternal.com\":[1,0,0,2,0,4,0,0,3,1,0],\"fourseasons.com\":[14,1,1,3,0,6,0,0,6,1,3],\"itglue.com\":[2,0,0,2,0,4,0,0,2,1,0],\"emerald.com\":[6,0,1,2,0,7,0,0,3,0,1],\"eggcave.com\":[2,0,0,0,0,5,0,0,1,0,0],\"scitechdaily.com\":[38,1,1,1,0,5,0,0,5,1,1],\"graphite.com\":[3,0,1,1,0,6,0,0,3,1,1],\"hodinkee.com\":[12,1,2,6,0,11,0,0,6,0,2],\"fontawesome.com\":[6,2,0,2,0,9,0,0,2,2,1],\"presstv.ir\":[1,1,0,1,0,5,1,0,1,3,0],\"rerererarara.net\":[39,0,0,0,1,5,0,0,2,2,0],\"usenet-4all.pw\":[1,1,0,0,1,5,2,0,0,0,0],\"bienpublic.com\":[39,0,1,0,1,7,0,0,7,0,3],\"histats.com\":[3,0,0,0,0,0,0,0,1,0,0],\"zeczec.com\":[5,2,0,0,0,7,0,0,3,2,0],\"anitokyo.tv\":[0,1,0,1,0,7,0,0,1,2,0],\"anz.com.au\":[7,1,0,1,0,3,0,0,2,0,1],\"cnnindonesia.com\":[40,1,0,0,0,4,0,0,2,0,0],\"regnodeisogni.info\":[1,0,0,0,1,3,2,0,1,0,0],\"fishtank.live\":[0,1,0,1,0,2,0,0,2,0,2],\"kink.com\":[3,0,1,0,1,5,0,0,1,0,0],\"filesun.com\":[4,0,0,0,0,3,0,0,1,0,0],\"transip.nl\":[13,0,2,2,0,7,0,0,6,2,1],\"magyarnemzet.hu\":[36,1,1,0,1,7,0,0,2,3,0],\"bmoinvestorline.com\":[2,0,1,1,0,3,0,0,2,0,0],\"kiro.dev\":[2,1,0,0,0,5,1,0,2,0,0],\"ouigo.com\":[16,1,1,1,1,7,1,0,7,0,2],\"flightbridge.com\":[1,0,1,0,0,4,0,0,1,0,1],\"waronline.org\":[5,1,0,1,1,5,0,0,1,4,0],\"mon-essence.fr\":[6,0,0,0,1,6,0,0,0,0,0],\"hardwareonline.dk\":[31,0,2,1,0,5,1,0,3,0,0],\"tissotwatches.com\":[8,0,1,2,0,4,0,0,4,1,4],\"merrell.com\":[11,1,1,4,0,9,0,0,6,4,3],\"jobright.ai\":[5,0,0,1,0,6,1,0,2,0,1],\"javquick.com\":[1,0,0,0,0,4,0,0,2,0,1],\"comunidad.madrid\":[1,1,0,1,1,11,0,0,1,1,0],\"itsecurity.pt\":[5,1,0,0,0,4,0,0,1,0,0],\"terraform.io\":[2,0,0,1,0,3,0,0,1,1,4],\"asaas.com\":[8,0,0,2,1,3,0,0,1,0,1],\"tmx.com\":[10,1,2,2,0,4,0,0,6,3,0],\"cal.com\":[8,1,0,2,0,7,0,0,4,1,1],\"3dporndude.com\":[1,0,0,1,1,4,0,2,2,0,0],\"lewd.ninja\":[2,0,0,1,1,3,0,0,2,1,0],\"manychat.com\":[7,1,1,4,0,10,0,0,6,2,4],\"centerpointenergy.com\":[17,1,1,0,0,7,0,0,5,0,2],\"apiture.com\":[1,0,0,1,0,3,0,0,3,0,2],\"krisha.kz\":[9,0,0,0,1,2,0,0,4,0,0],\"rewardit.com\":[8,1,0,0,0,8,0,0,1,0,0],\"gamedrive.org\":[3,1,0,3,0,5,0,0,4,2,0],\"dm.si\":[4,0,1,2,0,1,0,0,3,0,2],\"inews.co.uk\":[23,1,0,1,1,5,3,0,8,3,3],\"sexyforums.com\":[2,0,0,1,0,4,0,1,2,3,0],\"ssisurveys.com\":[17,0,0,0,0,6,0,0,3,0,2],\"fjallraven.com\":[5,1,1,4,0,7,0,0,4,1,4],\"oursogo.com\":[4,0,0,1,0,7,0,0,1,0,1],\"beenverified.com\":[15,0,1,4,0,9,1,0,6,3,7],\"monica.im\":[11,1,0,1,1,10,1,0,2,2,4],\"foragentsonly.com\":[1,0,1,1,0,2,0,0,2,0,2],\"telegraf.rs\":[26,1,1,0,1,6,1,0,3,4,0],\"yoti.com\":[2,0,1,1,1,4,1,0,2,0,0],\"lottiefiles.com\":[7,2,1,4,0,11,0,0,7,0,1],\"tz.de\":[66,1,0,2,0,7,1,0,5,2,0],\"ba.no\":[6,2,0,0,0,7,0,0,1,0,1],\"entrenous.fr\":[3,0,0,0,0,1,1,0,0,1,0],\"ticketmaster.co\":[5,3,1,0,1,7,0,0,0,0,3],\"albany.edu\":[4,2,0,2,0,10,0,0,5,0,2],\"nydailynews.com\":[54,0,4,0,0,9,0,0,11,3,2],\"methstreams.ms\":[5,1,0,1,0,7,0,0,2,0,0],\"auto-data.net\":[19,0,1,0,1,2,0,0,1,0,0],\"docmorris.de\":[10,1,1,4,1,5,0,0,3,2,3],\"jeux-geographiques.com\":[3,0,1,0,0,1,0,0,0,0,0],\"11st.co.kr\":[11,1,0,1,0,6,2,0,1,0,0],\"motortrend.com\":[22,1,1,0,0,6,0,0,3,0,2],\"4fnet.org\":[5,1,0,1,0,7,0,0,1,1,1],\"poliwingo.com\":[0,0,0,1,0,1,0,0,0,0,0],\"hiclipart.com\":[2,0,0,0,0,3,0,0,2,0,0],\"1177.se\":[0,0,1,1,0,3,0,0,0,0,1],\"escort-ireland.com\":[3,1,0,0,0,3,0,0,1,1,0],\"9db.jp\":[13,1,0,0,0,8,0,0,0,2,1],\"jannyai.com\":[1,0,0,2,0,5,0,1,2,0,0],\"delhaize.be\":[5,0,0,2,0,6,0,0,4,1,3],\"directoalpaladar.com\":[57,2,2,1,0,7,2,0,5,3,1],\"sharecast.com\":[4,0,1,0,0,3,0,0,1,0,0],\"punchpass.com\":[2,0,0,2,0,4,0,0,2,0,2],\"vendurotterdam.nl\":[1,0,1,0,0,2,0,0,1,0,0],\"franceconnect.gouv.fr\":[1,0,1,0,1,4,0,0,2,0,1],\"mistrzowie.org\":[20,0,0,0,0,4,0,0,3,0,0],\"gov.on.ca\":[3,0,0,1,0,9,1,0,2,0,2],\"35photo.pro\":[3,0,0,1,1,4,0,0,2,0,0],\"adm7prd.com\":[0,0,0,0,1,0,0,0,0,0,0],\"graphic.jp\":[6,1,0,1,0,3,0,0,3,0,0],\"sportskeeda.com\":[40,1,0,0,0,9,0,0,2,5,0],\"outsideonline.com\":[35,3,2,2,0,10,0,0,12,3,5],\"bls.gov\":[3,1,0,0,0,5,0,0,3,0,0],\"myunidays.com\":[7,1,1,1,0,5,0,0,5,0,2],\"rentcafe.com\":[8,0,1,1,0,8,0,0,4,0,3],\"feber.se\":[48,4,2,3,0,9,0,0,1,4,2],\"adultism.com\":[3,0,0,1,0,1,0,0,0,0,1],\"strikeout.im\":[4,1,0,2,0,4,0,0,1,1,1],\"spankbanglive.com\":[2,0,0,0,0,3,0,1,1,0,0],\"comed.com\":[11,1,0,3,0,8,0,0,5,1,2],\"cssbuy.com\":[2,0,0,1,1,5,2,0,1,0,0],\"foroporno.com\":[1,0,0,0,0,3,0,0,2,0,0],\"brain.com.ua\":[6,1,0,0,0,4,0,0,3,0,1],\"hetzner.com\":[4,1,0,3,1,6,0,0,1,0,3],\"jdpower.com\":[18,1,1,1,0,6,0,0,6,1,4],\"battlenet.com.cn\":[2,0,0,0,1,1,0,0,1,0,0],\"hamiltonwatch.com\":[7,1,1,0,0,7,0,0,5,3,2],\"steamhunters.com\":[1,0,0,0,0,6,0,0,2,0,1],\"lsu.edu\":[6,1,1,0,0,13,1,0,6,2,2],\"libcal.com\":[3,0,0,2,0,9,0,0,4,0,2],\"emoji.gg\":[13,0,0,3,0,5,1,0,3,0,0],\"today.com\":[55,2,2,1,0,10,0,0,10,3,7],\"privateproperty.co.za\":[7,1,0,0,1,5,0,0,0,0,2],\"xmovix.net\":[3,0,0,2,1,8,0,1,3,0,1],\"qrv.jp\":[1,0,0,0,0,1,0,0,0,0,0],\"thepiratebay11.com\":[1,0,0,0,1,3,0,0,1,0,1],\"anichin.cafe\":[11,1,0,1,0,6,2,0,5,2,0],\"radiopaedia.org\":[38,2,1,2,0,7,2,0,3,0,0],\"bestmovie.it\":[4,0,0,0,0,1,0,0,1,0,0],\"megatv.com\":[22,1,0,1,0,5,0,0,4,0,2],\"javdb571.com\":[1,0,0,0,0,3,1,1,1,0,0],\"userinterviews.com\":[6,0,2,5,0,10,0,0,7,0,6],\"moegirl.org.cn\":[7,0,0,0,1,3,0,0,2,0,0],\"actvid.rs\":[5,1,0,0,0,5,0,0,2,0,0],\"cdjapan.co.jp\":[7,0,0,2,1,4,0,0,1,0,0],\"cincinnati.com\":[74,1,3,2,0,6,1,0,9,2,0],\"brainking.com\":[0,0,0,0,0,0,0,0,1,0,0],\"morenutrition.de\":[10,1,1,4,0,9,0,0,5,1,4],\"hentaienvy.com\":[2,0,0,1,1,5,0,0,1,0,0],\"mijndak.nl\":[2,1,1,2,0,4,0,0,3,0,0],\"google.pt\":[4,1,0,0,1,4,0,0,0,0,0],\"r18.best\":[2,0,0,0,0,2,0,0,1,0,0],\"barclaysus.com\":[4,0,1,0,0,2,0,0,2,0,4],\"teenxy.com\":[1,0,0,1,1,4,0,1,4,0,0],\"feedwatcher.net\":[17,1,0,0,0,5,0,0,3,1,0],\"softportal.com\":[7,1,0,2,1,4,0,0,4,0,0],\"dyson.com\":[22,1,1,5,0,12,0,0,8,3,5],\"kerrydalestreet.co.uk\":[11,1,1,0,0,8,0,0,1,4,1],\"glp1forum.com\":[2,1,0,0,0,4,0,0,1,0,0],\"pocketoption.com\":[11,0,0,0,0,3,0,0,4,1,1],\"bauhaus.dk\":[7,0,1,3,0,8,0,0,5,1,2],\"del-2.org\":[7,1,1,0,0,4,0,0,1,0,1],\"nofap.com\":[3,1,0,0,0,5,0,0,2,0,0],\"streamin.me\":[5,0,0,1,0,4,0,0,2,0,0],\"juzaphoto.com\":[5,0,1,1,1,4,0,0,1,1,0],\"kubernetes.io\":[2,0,0,0,0,5,0,0,1,0,0],\"manualslib.de\":[39,0,0,2,1,4,1,0,2,0,1],\"flixtor.li\":[2,2,0,0,0,5,0,0,1,0,0],\"pressreader.com\":[7,0,1,0,0,7,0,0,2,0,1],\"sssinstagram.com\":[4,1,0,0,1,2,0,0,2,0,1],\"ontario.ca\":[4,1,0,0,0,5,1,0,2,0,4],\"online-video-cutter.com\":[3,1,0,0,1,4,0,0,1,0,1],\"pakwheels.com\":[9,1,0,1,0,9,0,0,4,0,3],\"spidersweb.pl\":[13,1,0,1,0,7,0,0,2,3,0],\"jmcomic-zzz.one\":[4,0,0,0,0,7,0,1,3,0,0],\"gocardless.com\":[10,0,1,4,0,8,0,0,5,2,4],\"rapidtables.com\":[21,1,0,0,0,7,0,0,2,0,0],\"get-save.com\":[1,1,0,0,1,2,0,0,1,1,0],\"google.com.tr\":[4,1,0,0,1,4,0,0,0,0,0],\"sunpass.com\":[2,0,0,0,0,2,0,0,1,0,1],\"nicusa.com\":[2,0,0,1,0,2,0,0,1,0,0],\"lidl.it\":[5,1,1,2,1,3,0,0,0,0,0],\"fuqster.com\":[1,0,0,1,0,7,0,2,2,0,1],\"zalando-lounge.nl\":[6,0,1,2,0,3,1,0,0,0,2],\"g123.jp\":[10,1,0,0,0,5,1,0,3,0,2],\"hasil.gov.my\":[2,0,0,0,1,9,1,0,1,0,0],\"restaurantguru.com\":[5,0,0,1,1,7,0,0,1,0,2],\"getresponse.com\":[9,2,1,4,0,6,0,0,6,2,1],\"odu.edu\":[4,1,1,1,0,10,1,0,8,0,1],\"redroverk12.com\":[1,0,0,0,0,3,0,0,0,0,2],\"kcbgroup.com\":[1,0,0,0,1,1,0,0,2,0,0],\"elle.com\":[38,1,2,2,0,6,0,0,8,4,6],\"silencershop.com\":[4,1,0,4,0,10,0,0,7,0,5],\"mmsgram.com\":[1,0,0,0,0,2,1,0,2,0,0],\"medialab.com\":[0,0,0,0,1,2,0,0,1,0,0],\"oekakiskey.com\":[0,0,0,0,0,1,0,0,1,0,0],\"prehraj.to\":[2,0,0,1,1,5,0,0,2,0,0],\"foot01.com\":[54,0,1,3,0,7,2,0,5,2,2],\"gab.com\":[2,1,0,0,0,5,0,0,0,0,0],\"cnm.edu\":[3,1,0,1,0,12,0,0,3,0,1],\"thepiratebay.zone\":[1,0,0,0,0,2,0,0,1,0,0],\"easybourse.com\":[6,1,1,1,0,5,0,0,2,0,0],\"fubo.tv\":[32,2,1,1,0,7,0,0,6,1,1],\"romance.io\":[7,0,0,0,0,5,0,0,1,0,1],\"teamtailor.com\":[3,1,0,1,0,6,1,0,1,2,2],\"bluray-disc.de\":[4,0,1,0,1,3,0,0,0,0,0],\"rondogo.sk\":[5,0,0,0,0,2,0,0,0,1,0],\"waldnet.nl\":[3,1,0,0,0,4,0,0,0,0,1],\"comicporn.xxx\":[2,0,0,1,1,4,0,1,2,0,0],\"hemmings.com\":[37,1,2,3,0,7,0,0,10,1,0],\"dskdirect.bg\":[7,0,1,0,1,2,0,0,1,0,1],\"forbesjapan.com\":[33,1,0,1,0,5,1,0,9,4,2],\"ashemaletube.me\":[0,0,0,1,0,6,1,1,2,0,3],\"ladbible.com\":[76,2,1,4,0,8,1,0,9,2,0],\"skillbuilder.aws\":[2,1,0,0,0,6,1,0,2,0,0],\"marketindex.com.au\":[4,1,0,1,0,6,0,0,2,0,1],\"decathlon.com\":[2,0,1,5,1,11,1,0,5,0,3],\"bizportal.co.il\":[5,0,0,0,0,4,0,0,2,0,0],\"logicieleducatif.fr\":[20,0,0,0,1,4,1,0,4,0,0],\"baza-knig.top\":[10,0,0,0,1,2,1,0,5,1,0],\"langchain.com\":[6,1,2,2,0,10,0,0,10,2,3],\"deraktionaer.de\":[7,2,1,1,1,4,0,0,3,0,0],\"cartelempire.online\":[1,0,0,0,0,2,0,0,0,0,1],\"sophia.org\":[10,2,2,1,0,6,0,0,8,2,3],\"truecaller.com\":[3,1,0,2,1,9,0,0,2,0,1],\"teamwork.com\":[3,1,1,3,0,5,0,0,7,1,3],\"ithardware.pl\":[7,1,2,1,0,4,0,0,1,3,0],\"brew.sh\":[3,1,0,0,0,4,0,0,0,0,1],\"comix.to\":[5,1,0,1,0,6,0,0,2,1,0],\"gettyimages.fr\":[5,0,1,0,1,2,0,0,2,0,0],\"sharkninja.com\":[12,0,2,5,0,10,0,0,8,2,4],\"webcamjackers.com\":[1,0,0,0,1,6,0,0,1,0,0],\"egaliteetreconciliation.fr\":[4,1,0,0,1,8,1,0,4,3,0],\"roomies.com\":[3,0,0,2,0,2,0,0,2,0,0],\"berliner-zeitung.de\":[14,2,0,2,0,6,0,0,4,3,0],\"thewest.com.au\":[15,3,1,1,0,6,1,0,6,2,6],\"printavo.com\":[8,0,1,4,0,5,0,0,7,2,2],\"webhostingworld.net\":[0,0,0,0,0,0,0,0,1,1,0],\"animetoast.cc\":[4,2,0,1,1,9,0,1,3,0,0],\"cougarboard.com\":[6,1,0,1,0,6,0,0,3,3,2],\"readwise.io\":[4,1,0,3,0,15,4,0,4,4,2],\"docsend.com\":[4,0,0,4,0,7,0,0,4,0,4],\"wealthcareportal.com\":[3,0,0,0,0,6,0,0,3,0,1],\"vjav.com\":[1,1,0,1,0,4,1,2,2,0,1],\"wn02.cfd\":[0,0,0,1,0,4,1,1,3,0,0],\"carwow.co.uk\":[13,1,0,1,0,7,0,0,5,0,3],\"agentexchange.com\":[5,0,0,0,0,4,0,0,1,0,3],\"mintmobile.com\":[12,1,1,2,0,11,0,0,10,1,6],\"sigsauer.com\":[7,2,1,3,0,8,0,0,6,0,4],\"commerzbank.de\":[6,1,0,1,1,6,0,0,1,0,2],\"toomics.com\":[17,0,0,1,1,6,0,0,3,1,1],\"employeenavigator.com\":[2,0,0,2,0,4,0,0,3,0,0],\"autoscout24.at\":[53,1,1,0,0,4,0,0,3,0,0],\"linguee.fr\":[28,0,0,0,1,5,0,0,1,0,0],\"lcbo.com\":[3,0,0,3,0,6,1,0,6,1,3],\"thenorthface.com\":[14,0,1,4,0,6,0,0,8,2,7],\"freeuseporn.com\":[2,0,0,0,0,5,0,0,1,0,0],\"sverigesradio.se\":[2,0,0,1,0,4,0,0,4,0,1],\"downdetector.co.uk\":[5,0,1,3,0,2,0,0,0,0,1],\"pami.org.ar\":[5,0,0,0,0,2,0,0,1,0,0],\"zalando-prive.it\":[3,0,1,2,1,3,1,0,0,0,2],\"pitchbox.com\":[4,1,0,0,0,7,0,0,3,2,2],\"animenosub.to\":[3,1,0,1,1,6,0,0,3,1,0],\"trophymanager.com\":[31,1,3,1,0,7,1,0,2,1,1],\"eprocure.gov.bd\":[0,0,0,0,0,1,0,0,0,0,1],\"lapatilla.com\":[77,2,0,1,0,7,0,0,8,3,2],\"leechtop.com\":[1,0,0,1,0,4,0,0,1,0,0],\"topstep.com\":[7,1,2,3,1,6,0,0,3,1,4],\"myhorsez.com\":[1,0,0,0,0,4,0,0,0,0,1],\"maaf.fr\":[8,1,0,0,1,7,0,0,5,0,2],\"hstream.moe\":[0,0,0,1,0,4,0,0,1,0,0],\"inbox.lv\":[7,0,1,0,1,5,0,0,1,0,1],\"acgyx.us\":[3,0,0,0,0,2,0,1,2,0,0],\"jacksonsart.com\":[11,1,1,3,0,5,0,0,6,1,1],\"secretbenefits.com\":[1,0,0,0,0,3,0,0,4,0,0],\"memoryexpress.com\":[5,2,0,1,0,4,0,0,2,0,4],\"tengrinews.kz\":[8,1,0,1,1,6,0,0,2,3,0],\"ostrovok.ru\":[7,0,0,0,1,1,0,0,2,1,0],\"nationale-loterij.be\":[8,1,0,0,0,5,0,0,2,0,3],\"duden.de\":[120,2,1,3,1,9,3,0,12,1,1],\"bullx.io\":[1,0,0,0,0,3,0,0,3,0,1],\"georgebrown.ca\":[3,1,0,2,0,10,1,0,4,0,1],\"bible.com\":[3,1,0,1,1,4,0,0,2,0,1],\"zarpanews.gr\":[43,1,0,0,0,8,0,0,2,0,3],\"athleticsmania.com\":[4,1,0,0,0,3,0,0,0,1,0],\"myid.gov.au\":[1,0,0,0,1,1,0,0,2,0,0],\"taiav.com\":[1,0,0,1,0,3,0,0,2,0,0],\"meutimao.com.br\":[7,1,1,0,0,6,0,0,3,1,1],\"rtbhouse.biz\":[5,0,0,1,0,6,0,0,3,0,3],\"momoxfashion.com\":[29,1,1,2,0,6,0,0,6,1,3],\"gray.tv\":[1,0,0,1,0,6,0,0,2,0,2],\"oper.ru\":[3,1,0,1,1,0,0,0,3,2,0],\"globle-game.com\":[36,0,1,1,0,7,1,0,3,0,1],\"xn--pckua2a7gp15o89zb.com\":[28,0,0,0,0,5,0,0,4,1,2],\"alight.com\":[4,3,2,2,0,9,2,0,4,0,3],\"pokemon-vortex.com\":[3,0,0,1,1,4,0,0,2,2,0],\"podio.com\":[4,0,2,0,0,6,0,0,2,0,1],\"forumotion.com\":[8,1,0,2,0,9,1,0,3,3,0],\"niyaniya.moe\":[0,0,0,0,0,1,0,0,1,0,0],\"mixh.jp\":[5,0,0,1,0,6,0,1,2,4,0],\"fantasypros.com\":[73,5,1,2,0,14,3,0,11,2,2],\"etos.nl\":[6,0,0,4,0,3,0,0,2,0,2],\"oeconnection.com\":[1,0,0,1,0,3,0,0,3,0,0],\"lento.pl\":[5,1,1,0,0,3,0,0,1,0,1],\"celebitchy.com\":[29,2,2,0,0,5,0,0,6,4,0],\"elpais.com.uy\":[49,4,0,1,0,11,1,0,5,3,1],\"utwente.nl\":[6,1,1,2,0,9,0,0,1,1,1],\"exacttarget.com\":[3,0,1,1,0,3,0,0,4,0,1],\"espace-citoyens.net\":[4,1,0,0,1,6,0,0,1,3,0],\"inquirer.net\":[53,1,1,0,0,12,0,1,10,6,2],\"booksy.com\":[10,0,1,3,0,8,0,0,5,1,3],\"morganstanley.com\":[15,3,1,0,0,4,1,0,10,0,3],\"cyberghostvpn.com\":[3,1,1,4,1,12,0,0,3,0,2],\"wisprflow.ai\":[6,2,1,2,0,11,0,0,5,1,3],\"aeolservice.es\":[4,1,0,2,0,9,0,0,1,0,0],\"property.com.au\":[9,0,1,1,0,5,0,0,6,0,1],\"njportal.com\":[3,0,0,1,0,4,0,0,1,0,0],\"murha.info\":[3,1,0,1,0,6,1,0,1,2,0],\"blueshieldca.com\":[4,0,1,3,0,7,1,0,4,0,3],\"kingarthurbaking.com\":[33,3,1,1,0,9,0,0,8,2,3],\"onlinebibliotheek.nl\":[3,0,0,0,0,0,0,0,0,0,0],\"bladeforums.com\":[30,1,0,0,0,8,1,0,1,2,0],\"ekitan.com\":[44,0,0,0,0,7,0,0,5,1,0],\"giffgaff.com\":[12,0,1,1,0,5,0,0,8,2,2],\"pub.dev\":[2,1,0,2,0,5,0,0,1,0,0],\"teachable.com\":[3,2,0,4,1,9,0,0,7,1,6],\"openarchieven.nl\":[0,0,0,0,0,4,0,0,0,0,0],\"krea.ai\":[4,0,0,2,0,7,0,0,1,0,2],\"it-connect.fr\":[24,2,0,0,1,4,0,0,4,1,0],\"meh.com\":[4,1,0,1,0,8,0,0,0,1,3],\"turkish123.com\":[5,2,0,1,0,7,0,0,3,0,0],\"trustaccutech.net\":[0,0,0,1,0,1,0,0,0,0,0],\"ted.com\":[24,2,1,2,0,11,0,0,9,1,3],\"storiesig.info\":[3,1,0,1,1,3,0,0,2,0,1],\"switchrom.net\":[4,1,0,1,1,5,0,0,1,0,0],\"hinet.net\":[27,0,0,0,1,7,1,0,6,0,0],\"showboxmovies.net\":[5,2,0,0,0,6,0,0,2,0,1],\"tickcounter.com\":[0,0,0,0,0,0,0,0,1,0,0],\"saveonfoods.com\":[10,2,0,1,0,5,0,0,4,2,2],\"tokyo.lg.jp\":[5,1,1,2,0,10,0,0,1,2,2],\"sciencedaily.com\":[59,0,3,3,0,5,1,0,7,0,0],\"planete-bd.org\":[4,0,0,0,1,2,1,0,1,0,0],\"qtrade.ca\":[7,1,1,1,0,5,0,0,4,1,0],\"mondialtissus.fr\":[6,1,1,3,0,10,0,0,3,1,2],\"film-adult.com\":[4,0,0,2,1,7,0,1,2,0,1],\"masterduelmeta.com\":[38,3,1,3,0,4,1,0,4,1,1],\"whiskybase.com\":[4,0,1,0,1,6,0,0,2,1,0],\"k-bid.com\":[3,1,0,1,0,8,0,0,0,1,1],\"xfantazy.com\":[1,0,0,1,1,3,0,2,3,0,0],\"stockwatch.com\":[46,0,0,1,0,4,1,0,5,2,0],\"gla.ac.uk\":[6,1,0,0,0,9,0,0,4,0,3],\"e-boekhouden.nl\":[5,1,0,2,0,5,0,0,4,0,0],\"eurofins.com\":[3,1,1,0,0,6,0,0,3,2,1],\"suncorpbank.com.au\":[4,0,0,0,1,1,0,0,1,0,0],\"freecourse.io\":[1,0,0,0,0,2,0,0,3,0,0],\"japanhub.net\":[1,1,0,0,1,2,0,0,1,0,0],\"bazlegal.com\":[0,0,0,0,0,0,0,0,0,0,0],\"windguru.cz\":[54,0,0,2,0,6,0,0,4,0,1],\"nudography.com\":[2,0,0,0,1,3,0,0,1,0,0],\"random.org\":[0,0,0,0,0,2,0,0,1,0,0],\"zakupivli.pro\":[6,1,0,0,0,3,1,0,1,0,1],\"yna.co.kr\":[11,1,0,1,0,5,0,0,1,0,2],\"alfabank.ru\":[4,0,0,0,1,2,0,0,1,2,1],\"onemileatatime.com\":[63,1,0,0,0,5,0,0,8,4,0],\"flashscoreusa.com\":[16,0,1,0,0,4,1,0,2,0,0],\"edebiyatdefteri.com\":[5,1,0,0,0,7,0,0,1,0,0],\"deeptek.ai\":[0,0,0,1,0,2,1,0,1,0,1],\"scott-sports.com\":[10,1,1,5,0,6,0,0,7,1,2],\"glassdoor.fr\":[4,1,1,1,0,9,0,0,4,0,2],\"jit.si\":[1,0,0,1,0,3,0,0,1,1,1],\"tiscali.cz\":[18,1,0,0,0,8,0,0,5,0,1],\"walesonline.co.uk\":[46,0,2,2,0,9,1,0,9,1,2],\"programme.tv\":[70,0,1,2,1,8,2,0,8,0,3],\"senang.top\":[6,0,0,0,0,1,0,0,2,0,0],\"wthr.com\":[31,1,1,2,0,8,0,0,5,2,4],\"brandymelville.com\":[2,0,0,5,0,11,2,0,2,0,3],\"cinesubz.lk\":[1,1,0,0,0,4,1,0,4,1,0],\"viu.to\":[0,1,0,0,0,5,1,0,0,0,0],\"cognism.com\":[2,0,2,3,0,11,0,0,4,0,1],\"yakovlevacenter.com\":[3,0,0,0,1,3,0,0,2,2,0],\"junesjourney.com\":[8,1,2,1,0,9,0,0,4,1,2],\"unipd.it\":[5,3,1,2,1,8,0,0,3,0,2],\"jornada.com.mx\":[43,0,0,3,1,7,2,0,6,3,2],\"metazooa.com\":[16,0,1,1,0,4,1,0,1,0,0],\"pincelebs.net\":[0,0,0,0,1,2,0,1,1,0,0],\"cue-monitor.jp\":[18,0,0,0,0,4,0,0,4,1,2],\"harrisinsights.com\":[2,0,0,0,0,2,0,0,0,0,1],\"mercedes-benz.com\":[3,1,1,1,0,7,0,0,1,0,3],\"simkl.com\":[6,1,0,2,0,6,1,0,2,0,1],\"leparking.fr\":[33,0,0,1,0,8,2,0,2,1,0],\"livecamsrip.com\":[3,0,0,1,1,7,0,2,2,0,0],\"okoun.cz\":[3,0,0,0,0,5,3,0,0,2,0],\"yenicaggazetesi.com\":[18,0,0,0,1,6,1,0,2,2,0],\"drogaraia.com.br\":[30,1,1,2,1,7,0,0,5,1,5],\"keiba.go.jp\":[5,1,0,0,0,3,0,0,2,0,0],\"bitunix.com\":[6,0,0,3,0,4,0,0,3,1,1],\"thothub.org\":[1,1,0,0,1,2,0,0,2,0,1],\"mgronline.com\":[40,2,0,0,0,8,0,0,5,4,1],\"hema.com\":[26,1,1,3,0,6,0,0,6,0,2],\"sheridancollege.ca\":[3,1,0,1,0,8,0,0,2,0,3],\"ara.cat\":[73,3,2,5,0,8,1,0,10,3,0],\"urajp.se\":[0,0,0,0,1,5,1,0,1,0,0],\"rockymountainatvmc.com\":[5,1,0,2,0,9,0,0,1,0,2],\"digid.nl\":[1,0,0,2,1,4,0,0,1,0,0],\"amateurvoyeurforum.com\":[4,1,0,1,0,5,0,0,3,0,0],\"danslescoulisses.com\":[16,1,1,0,0,10,0,0,3,3,0],\"workana.com\":[7,1,1,1,1,6,0,0,4,0,1],\"sakugabooru.com\":[0,1,0,0,0,3,0,0,0,0,0],\"comicskingdom.com\":[31,0,2,0,0,7,0,0,5,2,2],\"glasp.co\":[2,1,0,1,0,7,0,0,1,0,0],\"fineartamerica.com\":[5,0,0,2,0,3,0,0,2,1,0],\"dstv.stream\":[4,0,1,0,0,4,0,0,4,0,0],\"planetemu.net\":[0,0,0,1,0,3,0,0,0,0,0],\"wantgoo.com\":[6,0,0,1,1,7,0,0,3,0,0],\"pantip.com\":[18,1,0,1,0,5,0,0,0,0,0],\"divokekmeny.cz\":[0,0,0,0,0,0,0,0,0,0,1],\"javbangers.com\":[2,0,0,1,0,3,0,0,2,0,0],\"tiime.fr\":[8,0,2,4,0,7,0,0,5,0,2],\"scientificamerican.com\":[6,0,0,0,0,3,0,0,3,0,1],\"gazetawroclawska.pl\":[65,0,1,1,1,4,0,0,5,0,2],\"santander.cl\":[5,0,0,2,1,6,0,0,7,0,1],\"limo.media\":[19,0,0,0,0,5,0,0,2,5,0],\"ghe.com\":[0,0,0,1,0,1,0,0,0,0,0],\"golfdigest.co.jp\":[31,1,1,0,1,11,1,0,9,4,2],\"madamlive.tv\":[6,0,0,0,0,4,0,0,2,0,0],\"auto-doc.it\":[25,1,0,1,1,6,0,0,4,0,1],\"truenas.com\":[9,3,2,3,0,9,0,0,5,1,2],\"elektroda.pl\":[6,1,0,1,0,6,0,0,0,0,1],\"telecinco.es\":[68,2,1,2,1,8,0,0,7,3,0],\"porndoe.com\":[2,0,0,1,1,3,0,1,1,0,0],\"commishes.com\":[3,0,0,0,1,1,0,0,2,1,0],\"prefeitura.sp.gov.br\":[6,1,0,1,1,10,1,0,2,1,1],\"nationalreview.com\":[70,1,1,2,0,9,1,0,12,3,3],\"mousehuntgame.com\":[5,0,0,1,0,4,1,0,2,4,1],\"fcinternews.it\":[40,1,0,1,1,6,0,0,2,1,0],\"abc.com\":[6,1,1,0,0,6,1,0,4,0,0],\"allbanglanewspaper.xyz\":[2,0,0,0,0,0,0,0,1,0,0],\"edsm.net\":[19,0,0,1,0,6,1,0,2,2,0],\"sosalkino.guru\":[2,0,0,1,1,3,0,0,2,0,0],\"correio24horas.com.br\":[73,1,1,1,0,11,1,0,9,0,1],\"magister.net\":[0,0,0,1,0,2,1,0,1,1,2],\"axieinfinity.com\":[1,0,0,0,0,4,0,0,1,0,0],\"hmv.com\":[7,0,0,2,0,4,0,0,4,0,4],\"qualys.com\":[2,1,0,1,1,5,0,0,3,1,1],\"realmadryt.pl\":[30,1,0,1,1,9,0,0,4,2,3],\"autosport.com\":[24,1,1,2,0,7,1,0,4,2,2],\"datev.de\":[4,0,1,1,1,6,1,0,2,0,2],\"helline.fr\":[28,1,0,2,1,4,0,0,2,1,0],\"apicbase.com\":[1,0,1,2,0,9,0,0,1,0,2],\"nordea.dk\":[1,1,0,0,0,2,0,0,1,0,0],\"gotsport.com\":[5,0,0,2,0,9,0,0,3,0,2],\"renderosity.com\":[5,1,0,0,0,6,0,0,0,4,1],\"jalf.com\":[3,1,1,1,0,4,0,0,3,0,0],\"aritzia.com\":[5,1,1,0,0,7,0,0,4,0,6],\"challonge.com\":[19,0,1,2,0,3,2,0,4,1,0],\"jinjer.biz\":[4,0,0,1,1,3,0,0,2,0,0],\"vrporn.com\":[4,0,0,1,0,4,0,0,0,0,0],\"feuvert.fr\":[10,1,1,1,0,7,0,0,3,0,3],\"hdmozi.hu\":[5,1,0,0,1,6,1,0,3,1,0],\"seaporn.org\":[1,0,0,0,0,2,0,0,1,0,0],\"lhv.ee\":[3,0,0,1,0,6,0,0,1,0,0],\"recruit.co.jp\":[15,1,0,1,0,7,1,0,7,1,2],\"flashscore.pe\":[17,0,1,0,0,1,1,0,1,0,1],\"autogidas.lt\":[10,0,1,0,1,4,0,0,3,0,1],\"ria.ee\":[0,0,0,2,0,3,0,0,1,0,0],\"zalando.hu\":[5,0,1,1,0,3,1,0,1,0,1],\"hket.com\":[6,1,0,0,0,3,0,0,3,0,0],\"dillards.com\":[40,1,1,3,0,5,2,0,8,3,6],\"getcollectr.com\":[3,0,0,0,0,5,0,0,1,0,0],\"parapolitika.gr\":[22,2,1,0,1,9,0,0,3,3,1],\"ipipeline.com\":[0,0,0,0,0,4,0,0,3,0,0],\"yandex.uz\":[7,1,0,1,1,3,0,0,1,2,1],\"ita-airways.com\":[11,0,1,2,0,7,1,0,11,0,2],\"taboofantazy.com\":[2,1,0,0,0,5,0,1,1,0,0],\"tl-lincoln.net\":[1,0,0,0,0,2,0,0,0,0,0],\"strumyk.net\":[4,0,0,0,0,3,0,0,0,0,0],\"vakantieveilingen.nl\":[7,1,1,0,0,4,0,0,1,0,1],\"porneec.com\":[1,1,0,1,1,6,0,0,1,0,0],\"7daystodiemods.com\":[56,1,3,4,0,6,1,0,9,1,0],\"swarthmorephoenix.com\":[0,0,0,0,0,0,0,0,1,0,0],\"mundoplus.tv\":[8,2,0,0,0,4,0,0,1,1,1],\"rootonline.de\":[2,2,0,0,0,1,0,0,1,0,0],\"unesco.org\":[4,1,0,1,1,6,0,0,3,0,1],\"metmuseum.org\":[14,3,0,1,0,9,0,0,12,1,1],\"centrelink.gov.au\":[0,0,0,0,1,2,0,0,0,0,0],\"hdtube.porn\":[1,0,0,1,1,3,1,3,2,0,0],\"chrome.com\":[5,1,0,0,0,7,0,0,1,0,0],\"donationalerts.com\":[3,2,0,0,1,5,0,0,2,1,2],\"oreno3d.com\":[1,0,0,1,0,5,0,0,1,0,0],\"portswigger.net\":[4,1,0,2,1,5,0,0,2,0,2],\"jiuse.io\":[1,0,0,1,0,2,1,0,3,0,0],\"adopte.app\":[3,0,0,0,1,1,0,0,1,0,0],\"gamepro.de\":[43,3,2,1,0,7,1,0,7,4,1],\"memurlar.net\":[10,1,0,0,1,4,0,0,4,2,0],\"growtherapy.com\":[3,0,1,3,0,9,0,0,4,0,4],\"buyticketbrasil.com\":[1,0,0,0,1,7,0,0,0,0,1],\"le360.ma\":[6,1,0,1,0,6,0,0,1,2,1],\"dealnews.com\":[60,0,3,3,0,9,1,0,8,1,1],\"scrolller.com\":[3,0,0,1,0,3,0,0,2,1,0],\"lespompeuses.com\":[1,0,0,0,0,3,0,0,1,0,0],\"suruga-ya.com\":[30,1,0,0,1,4,0,0,4,0,0],\"psx-place.com\":[7,1,2,3,0,6,1,0,2,2,0],\"coopdeli.jp\":[8,0,0,0,1,2,0,0,3,0,0],\"consumercellular.com\":[12,1,1,1,0,5,0,0,3,2,5],\"haspa.de\":[2,0,0,0,0,2,0,0,1,0,0],\"da.gov.ph\":[1,0,0,1,0,5,0,0,0,0,1],\"8bitdo.com\":[3,1,0,3,0,5,0,0,4,0,0],\"flooranddecor.com\":[11,0,1,3,0,6,0,0,8,1,4],\"mijn.host\":[5,0,1,2,0,3,0,0,1,1,0],\"baginya.org\":[4,1,0,0,0,8,0,0,1,2,0],\"parliament.uk\":[4,0,0,1,0,7,0,0,2,0,1],\"monster.com\":[9,0,1,1,0,10,0,0,8,0,3],\"pcbway.com\":[5,1,0,2,0,8,1,0,1,0,1],\"seabreeze.com.au\":[67,1,0,3,0,3,1,0,3,1,0],\"fishwrangler.com\":[9,0,0,1,0,5,0,0,0,0,0],\"ewrestlingnews.com\":[10,3,1,1,0,6,0,0,5,3,2],\"goobox.fr\":[22,0,0,0,0,5,0,0,0,1,1],\"webselfstorage.com\":[2,0,0,0,0,2,0,0,1,0,0],\"bswift.com\":[3,2,1,1,0,6,0,0,1,1,3],\"lodz.pl\":[7,1,0,1,0,11,0,0,2,3,2],\"xunta.gal\":[4,1,0,2,1,9,0,0,2,3,0],\"nikkeibp.co.jp\":[34,0,0,0,0,5,0,0,5,3,0],\"app.com\":[79,2,3,3,0,7,1,0,16,0,1],\"takeaway.com\":[10,0,0,1,0,11,0,0,2,1,4],\"windfinder.com\":[38,0,0,2,1,3,2,0,3,0,2],\"confirmit.eu\":[1,0,0,0,1,4,0,0,0,0,1],\"steadfast.com.bd\":[3,0,0,0,0,6,0,0,2,0,1],\"cmso.com\":[1,0,1,2,1,3,0,0,1,0,0],\"aki-h.com\":[3,1,0,1,1,6,0,0,3,0,0],\"talktalk.co.uk\":[21,0,3,1,0,12,1,0,3,0,4],\"nationalpublicdata.com\":[3,0,0,1,0,4,0,0,1,0,3],\"digi.ro\":[10,1,0,0,0,3,0,0,3,0,0],\"esquire.com\":[28,1,2,2,0,9,0,0,8,2,5],\"getpostman.com\":[1,0,0,0,0,4,0,0,2,0,1],\"smhi.se\":[2,1,1,0,0,2,0,0,0,0,1],\"draftsim.com\":[28,2,4,0,0,11,1,0,8,1,0],\"aroma-zone.com\":[9,1,1,1,0,13,0,0,9,1,6],\"porndish.com\":[1,1,0,0,1,5,0,1,1,0,0],\"mulebuy.com\":[5,0,0,3,0,6,1,0,2,0,1],\"pornxp.hn\":[0,0,0,0,0,2,0,0,1,0,0],\"akc.org\":[30,1,1,2,0,13,0,0,12,0,2],\"tokmanni.fi\":[6,2,1,2,0,7,1,0,2,1,2],\"courrierinternational.com\":[19,1,0,1,0,5,1,0,2,2,0],\"maxsold.com\":[1,0,0,1,0,4,0,0,2,0,2],\"coinpayu.com\":[5,2,0,1,1,11,3,0,4,0,3],\"vendoo.co\":[8,0,1,4,0,5,0,0,7,1,1],\"lovense.com\":[9,0,0,4,0,6,0,0,4,0,3],\"uaa.com\":[4,0,0,2,0,3,0,0,2,0,0],\"wonporn.com\":[0,0,0,0,0,4,1,0,1,0,0],\"iltirreno.it\":[7,1,1,0,1,3,1,0,0,0,1],\"ryujinx.app\":[1,1,0,4,1,8,0,0,1,1,1],\"altex.ro\":[7,2,1,0,0,6,1,0,5,0,2],\"iefp.pt\":[3,1,0,0,1,6,0,0,2,0,0],\"iterable.com\":[4,2,1,1,0,8,0,0,7,1,3],\"unboxholics.com\":[8,1,1,0,1,8,1,0,1,4,1],\"gls-pakete.de\":[7,0,1,1,1,5,0,0,4,0,1],\"zarahome.com\":[6,0,1,1,0,5,0,0,2,1,5],\"womanwithin.com\":[9,0,1,3,0,8,0,0,5,0,3],\"garagejournal.com\":[64,1,2,1,0,7,1,0,2,0,2],\"custom-cursor.com\":[4,1,0,1,0,6,0,0,2,0,0],\"sportingnews.com\":[63,1,3,2,0,9,1,0,7,3,0],\"travelodge.co.uk\":[29,1,0,1,0,8,1,0,6,0,5],\"candidgirls.io\":[1,0,0,0,1,1,0,0,2,0,0],\"bookbub.com\":[10,0,0,2,0,9,1,0,6,3,1],\"cloudwaysapps.com\":[6,0,2,0,0,9,0,0,7,1,3],\"aldi-sued.de\":[8,0,1,0,1,3,0,0,2,1,2],\"demiplane.com\":[6,1,1,1,0,4,0,0,3,1,2],\"bitrix24.ru\":[4,0,0,0,1,8,0,0,1,0,0],\"allcaps.eu\":[2,1,0,1,0,5,0,0,1,0,0],\"targetsolutions.com\":[3,0,0,0,0,10,0,0,3,0,0],\"citationmachine.net\":[126,3,3,3,0,12,1,0,15,0,3],\"politicalwire.com\":[75,2,4,3,0,8,1,0,11,2,3],\"waipu.tv\":[8,0,1,0,1,2,1,0,3,0,1],\"pennlive.com\":[108,2,4,2,0,8,2,0,23,2,7],\"montecarlotennismasters.com\":[3,1,0,0,0,7,0,0,1,0,1],\"elisa.fi\":[6,2,1,3,0,7,1,0,4,0,3],\"winparts.nl\":[27,1,0,2,0,4,0,0,4,0,1],\"yes24.com\":[9,1,0,2,0,5,0,0,4,2,0],\"egencia.fr\":[7,2,0,1,0,6,2,0,4,0,2],\"logic-immo.com\":[4,0,1,1,1,6,0,0,4,0,2],\"streamscharts.com\":[7,3,0,2,0,8,0,0,0,2,0],\"seats.aero\":[4,0,0,1,0,7,0,0,2,0,2],\"leenbakker.nl\":[3,0,1,2,0,2,0,0,0,0,1],\"colunadofla.com\":[5,1,0,0,1,6,0,0,1,2,3],\"venro.ru\":[1,0,0,0,0,2,0,0,1,0,1],\"caqh.org\":[1,0,1,1,0,8,0,0,4,0,0],\"infomart.co.jp\":[6,1,0,0,0,3,0,0,3,0,0],\"homedepot.com.mx\":[32,2,0,2,1,7,0,0,7,2,2],\"courtreserve.com\":[4,0,0,3,0,4,1,0,2,0,2],\"wowtv.de\":[18,0,1,1,0,3,0,0,7,0,4],\"footballkitarchive.com\":[12,1,0,0,1,7,0,0,4,0,0],\"defector.com\":[6,1,0,0,0,7,0,0,3,5,0],\"12news.com\":[21,1,1,0,0,5,0,0,5,0,1],\"ramoflix.net\":[5,2,0,1,0,7,2,0,2,0,0],\"bellroy.com\":[9,1,0,2,0,7,0,0,3,1,3],\"ub.edu\":[7,2,1,1,1,8,1,0,3,1,0],\"cmoney.tw\":[10,1,0,0,1,8,1,0,6,2,1],\"plaud.ai\":[11,2,2,5,0,12,0,0,11,0,6],\"yousign.app\":[2,0,0,1,0,2,0,0,2,0,3],\"gem.gov.in\":[4,0,0,0,0,4,0,0,1,1,0],\"uba.ar\":[4,1,0,1,1,11,0,0,2,4,1],\"coventrybuildingsociety.co.uk\":[3,0,0,0,0,0,0,0,3,0,3],\"conio.jp\":[1,0,0,0,0,2,0,0,1,0,1],\"zhaopin.com\":[2,0,0,0,1,0,3,0,1,0,1],\"ftmo.com\":[29,2,0,2,1,6,0,0,6,2,1],\"momox-shop.fr\":[30,1,1,0,0,4,0,0,3,0,1],\"french-anime.com\":[7,1,0,1,1,10,0,0,2,0,0],\"westmarine.com\":[8,1,0,5,0,4,0,0,4,0,4],\"rule34.dev\":[2,0,0,1,1,4,0,0,3,0,0],\"unimi.it\":[2,1,1,1,0,5,0,0,2,0,0],\"educacao.sp.gov.br\":[4,1,0,1,1,11,1,0,3,0,2],\"abjav.com\":[1,1,0,1,0,4,0,1,2,0,1],\"nousresearch.com\":[2,1,0,3,0,7,0,0,1,0,1],\"medline.com\":[2,0,1,0,0,8,0,0,5,0,2],\"cwa.gov.tw\":[4,1,0,0,1,6,0,0,2,0,0],\"satr.jp\":[4,0,0,0,0,4,0,0,1,0,0],\"fl.gov\":[2,0,0,1,0,7,1,0,1,2,2],\"dafreeporn.com\":[1,0,0,0,1,3,0,2,2,0,0],\"overclockers.ru\":[6,1,0,1,1,5,1,0,4,3,0],\"ezremove.ai\":[3,0,0,1,1,6,0,0,1,0,1],\"suncoastcreditunion.com\":[7,0,0,1,0,8,0,0,6,0,3],\"akizukidenshi.com\":[3,0,0,0,0,3,0,0,1,0,0],\"practiscore.com\":[7,2,0,3,0,6,0,0,4,0,3],\"xhchannel.com\":[1,0,0,0,0,4,0,2,2,0,1],\"aldi-nord.de\":[5,0,1,1,1,6,0,0,2,0,2],\"randivonal.hu\":[8,0,0,0,0,3,0,0,2,0,2],\"knifecenter.com\":[5,1,0,2,0,6,0,0,5,2,1],\"davidjones.com\":[8,0,0,1,0,8,0,0,10,1,4],\"manulife.com\":[3,2,1,0,0,5,1,0,4,1,2],\"swoogo.com\":[5,1,0,3,0,9,0,0,1,0,3],\"emarsys.net\":[1,1,0,0,0,5,0,0,2,0,2],\"broadcreation.com\":[5,0,0,0,0,0,0,0,1,1,0],\"inxxx.com\":[3,0,0,1,0,6,0,0,1,0,0],\"games-island.eu\":[5,0,0,4,0,4,0,0,1,0,0],\"giantitp.com\":[1,0,0,1,0,4,1,0,1,1,0],\"tvpassport.com\":[50,0,1,1,0,5,1,0,4,2,0],\"hr-manager.net\":[3,0,1,2,0,8,0,0,3,0,1],\"vagaro.com\":[8,1,2,4,0,14,0,0,5,1,6],\"profinance.ru\":[3,0,0,1,1,1,0,0,3,1,0],\"nesine.com\":[5,2,0,0,0,2,0,0,3,0,0],\"gettyimages.co.uk\":[5,0,1,0,0,2,0,0,2,0,0],\"amsterdam.nl\":[1,1,0,2,0,6,0,0,2,1,2],\"daiwa.co.jp\":[11,0,0,0,0,3,0,0,4,0,0],\"abacus.ai\":[7,0,0,2,1,7,0,0,2,2,4],\"zekamashi.net\":[7,1,0,0,0,4,0,0,2,2,1],\"clint.digital\":[1,0,0,1,0,5,1,0,2,0,0],\"auctionzip.com\":[12,0,1,1,0,2,0,0,2,2,2],\"rbs.co.uk\":[3,0,1,1,0,2,0,0,3,0,4],\"lidovky.cz\":[23,0,1,0,0,5,0,0,3,0,1],\"fnmt.gob.es\":[3,1,0,1,1,4,0,0,2,0,0],\"wheresthematch.com\":[23,1,1,1,0,4,0,0,2,0,1],\"bankofoklahoma.com\":[1,0,1,0,0,5,0,0,1,0,2],\"zooskoolvideos.com\":[2,0,0,1,1,2,0,0,1,0,0],\"kh.hu\":[6,1,0,2,0,3,0,0,2,0,2],\"workforceaustralia.gov.au\":[3,0,0,0,0,3,0,0,2,0,1],\"yaoimangaonline.com\":[4,0,0,2,0,4,1,0,2,1,1],\"dezeen.com\":[9,2,0,3,0,8,0,0,4,1,2],\"hypebeast.com\":[43,1,0,3,0,6,1,0,10,2,2],\"savemyexams.com\":[6,1,0,1,0,4,0,0,5,0,2],\"cryptojunkie.net\":[1,0,0,0,0,4,0,0,1,0,1],\"readnovelfull.com\":[11,0,0,1,0,3,0,0,1,0,0],\"a2e.ai\":[4,0,0,0,0,4,1,0,2,0,0],\"1881.no\":[36,0,1,1,0,5,1,0,3,0,0],\"mysql.com\":[2,1,2,1,1,4,0,0,2,0,0],\"rfi.fr\":[31,1,0,0,0,7,0,0,3,2,1],\"chron.com\":[47,1,2,0,0,9,0,0,9,3,3],\"tailwindcss.com\":[4,1,0,0,0,6,0,0,0,0,2],\"pcastuces.com\":[36,1,0,0,1,6,1,0,4,2,1],\"rhs.org.uk\":[7,1,1,1,1,8,0,0,3,0,1],\"pse.com.co\":[5,0,0,1,1,4,0,0,3,0,0],\"edstem.org\":[2,1,0,0,0,3,0,0,0,0,0],\"animesalt.ac\":[2,1,0,0,0,6,1,0,2,0,1],\"www.gob.pe\":[5,1,0,0,1,5,0,0,2,0,1],\"profi.ru\":[6,0,0,1,1,3,0,0,3,1,0],\"zoovilleforum.net\":[1,0,0,1,0,4,0,0,1,0,0],\"citya.com\":[6,0,1,2,1,9,0,0,2,0,0],\"gurushots.com\":[6,0,1,0,0,3,0,0,2,2,0],\"efhub.com\":[1,0,0,1,0,3,0,0,1,1,0],\"tubepleasure.com\":[0,0,0,0,1,1,0,0,0,0,0],\"ferrari.com\":[6,0,1,3,0,8,0,0,9,0,3],\"nebula.tv\":[1,2,0,2,0,5,0,0,0,0,3],\"schoolsfirstfcu.org\":[1,0,1,1,0,8,0,0,1,0,3],\"lsm.lv\":[6,2,1,2,0,6,0,0,3,2,1],\"mercadolivre.com\":[2,0,0,0,1,4,0,0,1,0,2],\"insperity.com\":[2,0,0,1,0,4,0,0,2,0,1],\"salomon.com\":[8,1,1,3,0,8,0,0,6,1,8],\"theeroticreview.com\":[2,0,0,0,0,3,0,0,1,0,0],\"judgehype.com\":[16,3,1,0,1,8,1,0,3,2,4],\"maxicoffee.com\":[27,2,0,1,0,5,0,0,2,1,3],\"nibelis.com\":[2,0,0,0,0,5,0,0,0,0,0],\"dentsudot.com\":[4,0,1,0,0,7,1,0,2,1,0],\"norauto.fr\":[8,1,0,3,1,13,0,0,3,0,4],\"bitchesgirls.com\":[1,0,0,0,0,2,0,0,1,0,0],\"bloxd.io\":[50,1,0,2,0,9,0,0,4,0,2],\"keh.com\":[10,1,0,0,0,5,0,0,4,1,2],\"epidemicsound.com\":[9,1,1,1,0,6,0,0,4,1,4],\"eztv.yt\":[2,0,0,0,0,4,0,0,0,0,0],\"flibusta.is\":[3,1,0,1,1,6,0,0,2,0,0],\"fpl.com\":[7,1,0,1,0,4,0,0,5,0,3],\"exaroton.com\":[0,0,0,0,0,4,0,0,2,0,1],\"lieferando.at\":[8,0,0,2,1,7,0,0,1,1,4],\"nkon.nl\":[4,1,0,2,0,5,0,0,2,0,0],\"bet365.gr\":[1,0,0,0,1,7,0,0,3,0,2],\"medscape.com\":[25,0,1,1,0,5,0,0,9,2,2],\"d4builds.gg\":[9,2,1,3,1,5,0,0,2,1,0],\"animeschedule.net\":[6,0,0,1,0,5,1,0,2,0,0],\"vexmovies.biz.id\":[5,1,0,0,0,8,1,0,1,0,0],\"uglyhedgehog.com\":[9,0,0,0,0,2,0,0,0,0,0],\"mtvuutiset.fi\":[35,0,2,1,0,7,0,0,4,4,3],\"hostkit.pt\":[5,0,0,0,0,3,0,0,2,0,0],\"lewdcorner.com\":[4,1,0,2,0,6,1,0,2,1,0],\"youtooz.com\":[7,1,0,2,1,4,1,0,3,3,3],\"stream-mdh.co\":[3,1,0,1,1,10,0,0,2,1,0],\"globetrotter.de\":[10,1,1,3,1,6,0,0,4,1,3],\"sp-tarkov.com\":[1,1,0,2,1,4,1,0,2,0,0],\"shazoo.ru\":[10,1,0,0,1,4,0,0,5,5,0],\"findmypast.com\":[2,0,1,1,0,7,0,0,1,0,2],\"eon.de\":[8,0,1,2,0,4,0,0,4,0,0],\"sans.org\":[4,2,1,0,0,6,0,0,1,0,3],\"appsflyer.com\":[9,2,1,2,0,10,1,0,6,3,5],\"tum.de\":[6,1,1,1,0,9,1,0,4,1,0],\"filmotip.com\":[6,0,0,2,1,7,1,0,3,0,0],\"sakuramangas.org\":[2,0,0,0,0,2,0,0,1,0,1],\"moncompteformation.gouv.fr\":[3,1,0,0,1,5,0,0,1,0,0],\"anime4i.com\":[2,0,0,0,1,5,1,0,3,1,0],\"l-tike.com\":[9,2,0,1,0,4,0,0,5,2,1],\"stj.jus.br\":[5,0,0,0,1,6,0,0,3,0,1],\"retrogames.cc\":[9,0,0,1,0,6,0,0,1,1,0],\"poudlard.fr\":[0,0,0,0,0,0,0,0,1,0,0],\"applesfera.com\":[51,2,2,2,0,6,2,0,5,4,1],\"verkeerscentrum.be\":[0,0,0,0,0,0,0,0,0,0,0],\"protagon.gr\":[6,1,1,1,0,4,0,0,1,0,0],\"bestbondagevideos.com\":[7,2,0,1,1,7,0,1,3,0,0],\"wetter.de\":[50,0,0,1,0,6,2,0,5,0,0],\"healthstream.com\":[1,1,0,0,0,4,0,0,1,0,0],\"okko.tv\":[6,0,0,0,1,2,0,0,3,2,0],\"kde.org\":[2,1,0,4,0,8,0,0,3,0,2],\"webcomics.jp\":[1,0,0,0,0,1,0,0,2,0,0],\"kaoskrew.org\":[0,0,0,0,0,3,0,0,1,0,0],\"scholastic.com\":[13,1,1,1,0,9,0,0,10,4,5],\"on24.com\":[7,0,1,3,0,11,3,0,3,0,1],\"goodinfo.tw\":[66,0,0,0,0,3,0,0,4,1,1],\"cherrymist.cafe\":[2,0,0,2,0,4,0,0,4,0,0],\"hse.de\":[27,2,1,2,1,5,0,0,5,1,3],\"faphouse4k.com\":[1,0,0,1,1,4,0,0,1,0,0],\"thothub.is\":[1,1,0,0,0,2,0,0,2,0,1],\"pics-view.com\":[1,0,0,0,1,1,0,0,1,0,0],\"rarelust.com\":[1,0,0,0,0,2,0,0,2,0,0],\"adresowo.pl\":[6,0,1,0,0,3,0,0,0,0,1],\"tcgcollector.com\":[0,0,0,0,0,0,0,0,1,0,0],\"siepomaga.pl\":[22,2,0,0,0,4,0,0,1,0,2],\"hentaiplay.net\":[2,1,0,1,1,3,0,0,5,1,0],\"nettimoto.com\":[14,0,1,2,0,7,0,0,3,0,0],\"adminvps.ru\":[4,0,0,0,1,6,0,0,1,0,0],\"asic.gov.au\":[4,0,0,0,1,4,0,0,1,0,1],\"marcel.ai\":[6,4,1,0,0,6,4,0,4,0,4],\"arch.be\":[3,1,0,0,0,2,0,0,1,0,1],\"bitpanda.com\":[2,0,0,4,1,11,0,0,3,0,3],\"bunte.de\":[66,0,1,3,1,3,1,0,6,1,0],\"spectrum.com\":[30,3,0,5,0,11,0,0,12,2,5],\"metricool.com\":[10,3,1,1,1,8,1,0,6,5,0],\"disonsdemain.fr\":[11,1,1,0,0,3,0,0,2,0,0],\"acgjlb.cc\":[0,0,0,0,0,0,1,0,1,0,0],\"go.dev\":[3,0,0,1,0,5,0,0,1,0,0],\"emojiterra.com\":[3,0,1,0,1,3,0,0,0,0,0],\"shareanynudes.com\":[1,0,0,1,0,3,0,0,2,0,0],\"mega4upload.net\":[4,1,0,1,0,6,0,0,2,0,1],\"macked.app\":[1,0,0,2,0,5,1,0,3,0,0],\"123inkt.nl\":[7,0,0,2,0,2,1,0,3,2,2],\"servsafe.com\":[5,0,1,1,0,6,0,0,2,0,0],\"amateur.tv\":[5,0,0,0,1,3,0,2,3,0,1],\"humanite.fr\":[4,1,0,1,1,6,0,0,8,1,3],\"freerepublic.com\":[2,1,0,1,0,7,2,0,3,4,1],\"richersounds.com\":[4,1,1,3,1,9,0,0,5,1,3],\"sec.gov\":[3,1,0,1,0,7,0,0,5,0,2],\"hermes.com\":[6,0,1,3,0,7,1,0,5,2,3],\"auto1.com\":[5,0,0,1,0,4,0,0,0,0,1],\"airgunforums.co.uk\":[4,1,0,0,0,6,0,0,1,2,0],\"primark.com\":[9,1,1,3,1,7,0,0,6,1,1],\"swiggy.com\":[4,0,0,0,0,9,0,0,2,0,2],\"fantasyfootballscout.co.uk\":[14,1,0,4,1,5,0,0,4,3,0],\"gnavi.co.jp\":[38,1,0,1,0,6,1,0,5,2,1],\"astro.build\":[0,1,0,1,0,3,0,0,0,0,2],\"zataz.com\":[5,0,0,0,0,3,0,0,1,1,0],\"toolstation.com\":[9,1,1,5,0,6,0,0,5,0,2],\"tue.nl\":[2,0,1,1,0,7,1,0,0,1,0],\"beforeitsnews.com\":[29,1,0,1,0,10,0,0,3,1,2],\"entertainmentnow.com\":[43,3,2,1,0,8,1,0,8,3,1],\"zooplus.nl\":[7,1,1,1,1,7,0,0,3,0,3],\"xanje.com\":[4,0,0,0,0,3,1,0,2,0,0],\"pattayamail.com\":[6,0,1,2,0,3,0,0,1,3,1],\"rsc.org\":[5,1,1,2,0,7,0,0,4,0,0],\"tvtoday.de\":[33,0,0,0,0,5,0,0,2,0,2],\"colosseo.it\":[2,0,0,1,1,7,0,0,3,0,1],\"gamepressure.com\":[25,1,2,3,1,5,2,0,5,0,0],\"fuckingsession.com\":[1,0,0,1,0,7,0,1,3,0,1],\"coolstuffinc.com\":[6,0,0,0,1,3,0,0,1,2,2],\"ryobitools.eu\":[10,1,1,1,0,7,1,0,9,1,1],\"8tsu.net\":[4,1,0,1,0,5,0,0,5,1,0],\"xxvideoss.org\":[4,1,0,1,0,5,0,1,2,0,0],\"siigo.com\":[9,1,1,3,1,11,0,0,7,0,1],\"yasiland.com\":[1,1,0,0,0,1,0,0,1,0,0],\"fnac.be\":[30,1,1,1,0,6,2,0,5,1,3],\"ikea.com.tr\":[28,1,0,0,1,3,0,0,4,1,0],\"dickblick.com\":[12,1,0,4,0,4,0,0,7,0,5],\"magoosh.com\":[3,0,0,2,0,3,0,0,6,0,2],\"asurascanz.com\":[16,0,0,0,0,4,0,0,1,0,1],\"nehnutelnosti.sk\":[26,0,0,1,0,4,0,0,8,0,1],\"anu.edu.au\":[5,1,1,2,0,13,0,0,2,3,1],\"eversource.com\":[3,1,1,2,0,8,0,0,1,0,3],\"thetv.jp\":[25,1,0,0,1,6,0,0,4,3,0],\"easycash.fr\":[6,0,1,1,1,6,0,0,4,0,0],\"1news.co.nz\":[7,2,0,0,0,7,1,0,8,2,1],\"sachsen.de\":[0,0,1,1,1,4,0,0,0,0,0],\"9292.nl\":[6,0,1,0,0,2,0,0,2,0,1],\"star-hangar.com\":[3,0,0,1,1,0,0,0,2,0,0],\"vivahentai4u.net\":[6,1,0,0,0,4,1,0,3,2,0],\"thalesgroup.com\":[6,1,1,4,0,7,1,0,4,1,3],\"factorialhr.com\":[4,0,1,2,0,8,0,0,4,0,2],\"dsquared2.com\":[3,1,1,3,0,2,0,0,2,1,0],\"kumanga.com\":[2,1,0,0,1,6,1,0,3,0,0],\"lust-goddess.com\":[1,0,0,1,1,3,0,3,0,0,0],\"armslist.com\":[10,0,0,0,0,9,0,0,3,2,1],\"mingle2.com\":[9,1,1,1,0,9,0,0,3,0,1],\"manwafl.cc\":[1,0,0,0,0,0,0,1,1,0,0],\"xe.gr\":[7,0,1,1,1,6,0,0,3,0,1],\"prazskahlidka.cz\":[1,0,0,0,0,1,0,0,0,1,0],\"migros.com.tr\":[8,1,0,0,1,6,1,0,5,0,3],\"adultdeepfakes.com\":[1,0,0,1,1,4,0,0,1,0,0],\"avito.ma\":[7,0,0,2,1,4,0,0,4,0,0],\"adult-machiko.com\":[2,0,0,0,0,6,0,2,4,4,0],\"gimyai.tw\":[0,0,0,0,1,6,0,0,1,0,0],\"classiccars.com\":[6,2,0,2,0,5,0,0,3,1,0],\"intratuin.nl\":[7,0,1,2,0,5,0,0,6,1,1],\"8591.com.tw\":[7,0,0,0,1,2,0,0,4,0,0],\"foll-ow.com\":[0,0,0,0,0,6,0,0,0,0,1],\"wiz.io\":[3,1,1,1,0,4,0,0,1,0,4],\"cineca.it\":[1,0,0,1,1,6,0,0,3,0,1],\"diyaudio.com\":[7,1,0,1,0,4,0,0,1,1,0]},\"categories\":[\"advertising\",\"audio_video_player\",\"consent\",\"customer_interaction\",\"extensions\",\"hosting\",\"misc\",\"pornvertising\",\"site_analytics\",\"social_media\",\"utilities\"]}"
  },
  {
    "path": "whotracksme/data/db.py",
    "content": "import json\nimport requests\nimport sqlite3\nimport importlib.resources\nimport itertools\nimport io\nimport csv\nfrom hashlib import md5\n\ndef asset_string(name):\n    \"\"\"Read an asset file as text.\"\"\"\n    try:\n        assets_dir = importlib.resources.files('whotracksme.data') / 'assets'\n        resource_path = assets_dir / name\n\n        return resource_path.read_text(encoding='utf-8')\n    except (ModuleNotFoundError, FileNotFoundError) as e:\n        raise FileNotFoundError(f\"Asset '{name}' not found in package 'whotracksme.data'\") from e\n\n\ndef load_tracker_db(loc=':memory:'):\n    connection = sqlite3.connect(loc)\n    import_trackers(connection)\n    return connection\n\n\ndef import_trackers(connection):\n    with connection:\n        connection.executescript(asset_string('trackerdb.sql'))\n\ndef create_tracker_map(db, with_iab_vendors=False):\n    # load tracker info\n    cur = db.cursor()\n    cur.execute('''\n        SELECT\n            t.id,\n            t.name,\n            c.name AS category,\n            t.website_url,\n            t.ghostery_id,\n            t.company_id,\n            com.description,\n            com.privacy_url\n        FROM trackers AS t\n        JOIN categories AS c ON c.id = t.category_id\n        LEFT JOIN companies as com ON com.id = t.company_id\n    ''')\n    trackers = {}\n    cols = ['id', 'name', 'category', 'website_url', 'ghostery_id', 'company_id', 'description', 'privacy_url']\n    for row in cur.fetchall():\n        entry = {c: row[i] for i, c in enumerate(cols)}\n        trackers[entry['id']] = entry\n\n    # load company info\n    cur.execute('''\n        SELECT\n            com.id,\n            com.name,\n            com.description,\n            com.website_url,\n            com.ghostery_id,\n            com.privacy_url\n        FROM companies AS com\n    ''')\n    companies = {}\n    for row in cur.fetchall():\n        c = dict([\n            ('id', row[0]),\n            ('name', row[1]),\n            ('description', row[2]),\n            ('website_url', row[3]),\n            ('ghostery_id', row[4]),\n            ('privacy_url', row[5])\n        ])\n        companies[c['id']] = c\n\n    # get tracker domains\n    cur.execute('SELECT tracker, domain from tracker_domains')\n    for row in cur.fetchall():\n        tracker, domain = row\n        domains = trackers[tracker]['domains'] if 'domains' in trackers[tracker] else []\n        domains.append(domain)\n        trackers[tracker]['domains'] = domains\n\n    tracker_map = {\n        'trackers': trackers,\n        'companies': companies,\n    }\n\n    if with_iab_vendors:\n        vendorlist = get_iab_vendorlist()\n        include_vendors = set([int(tracker['iab_vendor'])\n            for tracker in itertools.chain(trackers.values(), companies.values())\n            if tracker['iab_vendor'] is not None])\n        tracker_map['iab'] = {\n            'vendorListVersion': vendorlist['vendorListVersion'],\n            'purposes': vendorlist['purposes'],\n            'features': vendorlist['features'],\n            'vendors': {\n                vendor['id']: vendor\n                for vendor in vendorlist['vendors'] if vendor['id'] in include_vendors\n            }\n        }\n\n    return tracker_map\n\n\niab_vendorlist_url = 'https://vendorlist.consensu.org/vendorlist.json'\n\n\ndef get_iab_vendorlist():\n    iab_list = json.loads(requests.get(iab_vendorlist_url).content)\n    return iab_list\n\n\nINT_COLUMNS = ['site_reach_top10k', 'reach_rank', 'site_reach_rank', 'site_rank', 'tracker_rank']\n\ndef get_column_type(col):\n    if col in INT_COLUMNS:\n        return 'INTEGER'\n    return 'REAL'\n\nBASE_DATA_COLUMNS = [\n    \"cookies\",\n    \"bad_qs\",\n    \"tracked\",\n    \"https\",\n    \"requests\",\n    \"requests_tracking\",\n    \"content_length\",\n    \"requests_failed\",\n    \"has_blocking\",\n    \"script\",\n    \"iframe\",\n    \"beacon\",\n    \"image\",\n    \"stylesheet\",\n    \"font\",\n    \"xhr\",\n    \"plugin\",\n    \"media\",\n    \"referer_leaked\",\n    \"referer_leaked_header\",\n    \"referer_leaked_url\",\n    \"hosts\",\n    \"trackers\",\n    \"companies\",\n]\n\nDATA_COLUMNS = {\n    'trackers': [\n        \"reach\",\n        \"site_reach\",\n        \"site_reach_top10k\",\n        \"site_avg_frequency\"\n    ] + BASE_DATA_COLUMNS + [\n        \"reach_rank\",\n        \"site_reach_rank\"\n    ],\n    'sites': [\n        'popularity'\n    ] + BASE_DATA_COLUMNS,\n    'sites_trackers': [\n        'site_proportion',\n        'tracker_proportion',\n        'site_rank',\n        'tracker_rank',\n    ] + BASE_DATA_COLUMNS\n}\nDATA_COLUMNS['companies'] = DATA_COLUMNS['trackers']\nDATA_COLUMNS['domains'] = DATA_COLUMNS['trackers']\n\nclass WhoTracksMeDB:\n\n    TABLES = {\n        'import_checksums': ['CREATE TABLE import_checksums (filename TEXT UNIQUE, checksum TEXT);'],\n        'trackers_data': ['''CREATE TABLE trackers_data (\n            month TEXT,\n            country TEXT,\n            tracker TEXT,\n            {0}\n            );'''.format(','.join([f'{col} {get_column_type(col)}' for col in DATA_COLUMNS['trackers']])),\n            'CREATE UNIQUE INDEX trackers_data_pkey ON trackers_data (month, country, tracker);'],\n        'companies_data': ['''CREATE TABLE companies_data (\n            month TEXT,\n            country TEXT,\n            company TEXT,\n            {0}\n            );'''.format(','.join([f'{col} {get_column_type(col)}' for col in DATA_COLUMNS['companies']])),\n            'CREATE UNIQUE INDEX companies_data_pkey ON companies_data (month, country, company);'],\n        'domains_data': ['''CREATE TABLE domains_data (\n            month TEXT,\n            country TEXT,\n            domain TEXT,\n            {0}\n            );'''.format(','.join([f'{col} {get_column_type(col)}' for col in DATA_COLUMNS['domains']])),\n            'CREATE UNIQUE INDEX domains_data_pkey ON domains_data (month, country, domain);'],\n        'sites_data': ['''CREATE TABLE sites_data (\n            month TEXT,\n            country TEXT,\n            site TEXT,\n            category TEXT,\n            {0}\n            );'''.format(','.join([f'{col} {get_column_type(col)}' for col in DATA_COLUMNS['sites']])),\n            'CREATE UNIQUE INDEX sites_data_pkey ON sites_data (month, country, site);'],\n        'sites_trackers_data': ['''CREATE TABLE sites_trackers_data (\n            month TEXT,\n            country TEXT,\n            site TEXT,\n            tracker TEXT,\n            {0}\n            );'''.format(','.join([f'{col} {get_column_type(col)}' for col in DATA_COLUMNS['sites_trackers']])),\n            'CREATE UNIQUE INDEX sites_trackers_data_pkey ON sites_trackers_data (month, country, site, tracker);',\n            'CREATE INDEX sites_trackers_sites ON sites_trackers_data (month, country, site)',\n            'CREATE INDEX sites_trackers_trackers ON sites_trackers_data (month, country, tracker)',\n            'CREATE INDEX sites_trackers_tracker_proportion ON sites_trackers_data (tracker_proportion)'],\n    }\n    TRACKER_TABLES = ['categories', 'companies', 'iab_vendors', 'tracker_domains', 'trackers', 'truste_companies', 'urls']\n    NAME_COLUMN_MAP = {\n        'trackers': ['tracker'],\n        'companies': ['company'],\n        'domains': ['host_tld'],\n        'sites': ['site', 'category'],\n        'sites_trackers': ['site', 'tracker']\n    }\n\n    def __init__(self):\n        self.connection = sqlite3.connect('./whotracksme.db')\n        existing_tables = self._get_existing_tables()\n        # create tables\n        with self.connection:\n            # increase cache size\n            self.connection.execute('PRAGMA cache_size = -20000;')\n\n            for table, create_statement in WhoTracksMeDB.TABLES.items():\n                if table not in existing_tables:\n                    for stmt in create_statement:\n                        self.connection.execute(stmt)\n\n            # import trackerdb\n            trackerdb_file = 'trackerdb.sql'\n            trackerdb_sql = asset_string('trackerdb.sql')\n            trackerdb_sql_hash = md5(trackerdb_sql.encode('utf-8')).hexdigest()\n            if 'trackers' not in existing_tables:\n                print('load trackers')\n                self.connection.executescript(trackerdb_sql)\n            elif trackerdb_sql_hash != self.get_file_checksum('trackerdb.sql'):\n                print('reload trackers')\n                for table in WhoTracksMeDB.TRACKER_TABLES:\n                    self.connection.execute(f'DROP TABLE IF EXISTS {table}')\n                self.connection.executescript(trackerdb_sql)\n                self.update_file_checksum(trackerdb_file, trackerdb_sql_hash)\n\n            # turn off journalling\n\n    def _get_existing_tables(self):\n        return [row[0] for row in self.connection.execute(\"SELECT name FROM sqlite_master WHERE type='table'\")]\n\n    def get_file_checksum(self, filename):\n        cursor = self.connection.cursor()\n        cursor.execute('SELECT checksum FROM import_checksums WHERE filename = ?', (filename, ))\n        result = cursor.fetchone()\n        if result is not None:\n            return result[0]\n        return ''\n\n    def update_file_checksum(self, filename, checksum):\n        self.connection.execute('DELETE FROM import_checksums WHERE filename = ?', (filename, ))\n        self.connection.execute('INSERT INTO import_checksums VALUES (?, ?)', (filename, checksum))\n\n    def load_data(self, name, region, month):\n        path = f'{month}/{region}/{name}.csv'\n        try:\n            assets_dir = importlib.resources.files('whotracksme.data') / 'assets'\n            resource_path = assets_dir / path\n            file_bytes = resource_path.read_bytes()\n        except (ModuleNotFoundError, FileNotFoundError) as e:\n            raise FileNotFoundError(f\"Asset '{path}' not found in package 'whotracksme.data'\") from e\n\n        file_hash = md5(file_bytes).hexdigest()\n        if self.get_file_checksum(path) != file_hash:\n            with self.connection:\n                print('update/create data for', path)\n                # delete old data\n                self.connection.execute(f'DELETE FROM {name}_data WHERE month=? AND country=?', (month, region))\n                # read in csv file and insert\n                reader = csv.DictReader(io.StringIO(file_bytes.decode('utf8')))\n                rows = []\n                name_columns = self.NAME_COLUMN_MAP[name]\n\n                def parse_col_value(name, value):\n                    try:\n                        if name in INT_COLUMNS:\n                            return int(value)\n                        return float(value)\n                    except:\n                        return None\n\n                for row in reader:\n                    rowtuple = [row['month'], row['country']] + \\\n                        [row[col] for col in name_columns] + \\\n                        [parse_col_value(col, row.get(col, '')) for col in DATA_COLUMNS[name]]\n                    rows.append(tuple(rowtuple))\n\n                columns = ','.join(['?'] * (len(DATA_COLUMNS[name]) + len(name_columns) + 2))\n                self.connection.executemany(f'INSERT INTO {name}_data VALUES ({columns})', tuple(rows))\n\n                # update checksum\n                self.update_file_checksum(path, file_hash)\n"
  },
  {
    "path": "whotracksme/data/loader.py",
    "content": "from datetime import datetime\nfrom urllib.parse import quote_plus\nimport io\nimport importlib.resources\nfrom collections import namedtuple\nfrom operator import itemgetter\nfrom whotracksme.data.db import load_tracker_db, WhoTracksMeDB, DATA_COLUMNS\n\ndef asset_exists(name):\n    \"\"\"Check if an asset file exists in the package.\"\"\"\n    try:\n        assets_dir = importlib.resources.files('whotracksme.data') / 'assets'\n        resource_path = assets_dir / name\n        return resource_path.is_file()\n    except (ModuleNotFoundError, FileNotFoundError):\n        return False\n\n\ndef asset_stream(name):\n    \"\"\"Return an in-memory stream of the asset file.\"\"\"\n    try:\n        assets_dir = importlib.resources.files('whotracksme.data') / 'assets'\n        resource_path = assets_dir / name\n\n        file_bytes = resource_path.read_bytes()\n        return io.BytesIO(file_bytes)\n    except (ModuleNotFoundError, FileNotFoundError) as e:\n        raise FileNotFoundError(f\"Asset '{name}' not found in package 'whotracksme.data'\") from e\n\n\n\ndef list_available_months(region=\"global\"):\n    \"\"\"List all available month directories that contain data for the specified region.\"\"\"\n    assets_dir = importlib.resources.files('whotracksme.data') / 'assets'\n    return [\n        item.name\n        for item in assets_dir.iterdir()\n        if item.is_dir() and is_valid_date(item.name) and (item / region).is_dir()\n    ]\n\n\nclass DataSource:\n    def __init__(self, region=\"global\", populate=True):\n        self.data_months = sorted(list_available_months(region=region))\n        if populate:\n            print('data available for months:\\n├──', \"\\n├── \".join(self.data_months))\n\n        # Add demographics info to trackers and companies\n        self.db = WhoTracksMeDB()\n\n        self.sites_trackers = SitesTrackers(\n            data_months=[max(self.data_months)],\n            region=region,\n            db=self.db,\n            populate=False,\n        )\n        self.trackers = Trackers(\n            data_months=self.data_months,\n            region=region,\n            db=self.db,\n            populate=populate,\n        )\n        self.companies = Companies(\n            data_months=[max(self.data_months)],\n            region=region,\n            db=self.db,\n            populate=populate,\n        )\n        self.sites = Sites(\n            data_months=[max(self.data_months)],\n            region=region,\n            db=self.db,\n            populate=populate,\n        )\n\n    def __enter__(self):\n        return self\n\n    def __exit__(self, *args):\n        self.db.connection.close()\n\n    @staticmethod\n    def normalize_url(url_substring):\n        return quote_plus(url_substring.replace('/', ' ')).lower()\n\n    def url_for(self, entity, id, path_to_root='.'):\n        if entity == 'tracker':\n            return f'{path_to_root}/trackers/{self.normalize_url(id)}.html'\n        elif entity == 'company':\n            return f'{path_to_root}/companies/{self.normalize_url(id)}.html'\n        elif entity == 'site':\n            return f'{path_to_root}/websites/{self.normalize_url(id)}.html'.lower()\n        elif entity == 'blog':\n            return f'{path_to_root}/blog/{self.normalize_url(id)}.html'\n\n    def get_company_name(self, id):\n        result = self.db.connection.execute('SELECT name FROM companies WHERE id = ?', (id,)).fetchone()\n        if result is not None:\n            return result[0]\n        return id\n\ndef parse_date(date_string):\n    return datetime.strptime(date_string, '%Y-%m')\n\ndef is_valid_date(date_string):\n    try:\n        parse_date(date_string)\n        return True\n    except Exception:\n        return False\n\nDataRowTypes = {\n    \"trackers\": namedtuple('TrackerDataPoint', 'id, month, country, tracker, company_id, category_id, category,' + ','.join(DATA_COLUMNS['trackers'])),\n}\n\nclass SQLDataLoader:\n\n    def __init__(self, data_months, name, db, region='global', id_column=None, extra_columns=[]):\n        self.name = name\n        self.last_month = max(data_months)\n        self.db = db\n        self.id_column = id_column\n        self.region = region\n        self.extra_column_select = []\n        self.extra_joins = ''\n        self.table_name = f'{self.name}_data'\n        # infer table structure\n        self.columns = [row[1] for row in self.db.connection.execute(f'PRAGMA table_info(\"{self.table_name}\")')]\n        self.rowType = namedtuple(f'{self.name}DataPoint', ','.join(['id'] + self.columns + extra_columns))\n\n    def get_data_query(self):\n        return f'''\n            SELECT\n                {self.id_column} AS id,\n                {','.join([f'{self.table_name}.{c}' for c in self.columns])}\n                {',' if len(self.extra_column_select) > 0 else ''}\n                {','.join(self.extra_column_select)}\n            FROM {self.table_name}\n            {self.extra_joins}\n        '''\n\n    def sort_by(self, metric=\"reach\", descending=True):\n        columns = ','.join(DATA_COLUMNS['trackers'])\n        cursor = self.db.connection.execute(f'''\n            {self.get_data_query()}\n            WHERE {self.table_name}.country=? AND month = ?\n            ORDER BY \"{metric}\" {'DESC' if descending else 'ASC'}\n        ''', (self.region, self.last_month))\n        return list(map(self.rowType._make, cursor.fetchall()))\n\n    def get_snapshot(self, month=None):\n        cursor = self.db.connection.execute(f'''\n            {self.get_data_query()}\n            WHERE {self.table_name}.country = ? AND month = ?\n        ''', (self.region, month or self.last_month))\n        return list(map(self.rowType._make, cursor.fetchall()))\n\n    def iter(self):\n        for row in self.get_snapshot():\n            yield row.id, row\n\n    def get_datapoint(self, id, month=None):\n        result = self.db.connection.execute(f'''\n            {self.get_data_query()}\n            WHERE {self.table_name}.country= ? AND month = ? AND {self.id_column} = ?\n        ''', (self.region, month or self.last_month, id)).fetchone()\n        if result is not None:\n            return self.rowType._make(result)\n        return None\n\n    def dump(self):\n        cursor = self.db.connection.execute(f'''\n            {self.get_data_query()}\n            WHERE {self.table_name}.country = ?\n        ''', (self.region,))\n        return list(map(self.rowType._make, cursor.fetchall()))\n\nclass Trackers(SQLDataLoader):\n\n    def __init__(self, data_months, db, region='global', populate=True):\n        super().__init__(data_months, name='trackers', db=db, region=region, id_column='tracker',\n                         extra_columns=['company_id', 'category_id', 'category'])\n        self.extra_column_select = [\n            'trackers.company_id',\n            'trackers.category_id',\n            'categories.name AS category',\n        ]\n        self.extra_joins = '''\n            LEFT JOIN trackers ON trackers.id = trackers_data.tracker\n            LEFT JOIN categories ON trackers.category_id = categories.id\n        '''\n        self.info = {}\n\n        if populate:\n            for month in data_months:\n                self.db.load_data('trackers', self.region, month)\n            self.db.load_data('sites_trackers', self.region, self.last_month)\n            self.db.load_data('sites', self.region, self.last_month)\n\n    # Summary methods across all trackers\n    # -----------------------------------\n\n    def summary_stats(self):\n        \"\"\"\n        Returns: Summary stats across all trackers.\n\n        \"\"\"\n        # snapshot of last month in the data\n        cursor = self.db.connection.execute('''\n            SELECT\n            COUNT(tracker) as count,\n            COUNT(CASE WHEN reach > 0.001 THEN 1 ELSE NULL END) as gt01,\n            COUNT(CASE WHEN cookies > 0.2 THEN 1 ELSE NULL END) as by_cookies,\n            COUNT(CASE WHEN bad_qs > 0.1 THEN 1 ELSE NULL END) as by_fingerprinting,\n            AVG(content_length) as data\n            FROM trackers_data\n            WHERE country=? AND month = ?\n        ''', (self.region, self.last_month))\n        result = cursor.fetchone()\n        return {\n            'count': result[0],\n            'gt01': result[1],\n            'by_cookies': float(result[2]) / result[0],\n            'by_fingerprinting': float(result[3]) / result[0],\n            'data': result[4]\n        }\n\n    # Methods for a specific Tracker\n    # ------------------------------\n    def get_tracker(self, id):\n        if id in self.info:\n            return self.info[id]\n\n        cursor = self.db.connection.execute('''\n            SELECT\n                t.id,\n                t.name,\n                c.name AS category,\n                t.website_url,\n                t.ghostery_id,\n                t.company_id,\n                com.name AS company_name,\n                com.description,\n                com.privacy_url\n            FROM trackers AS t\n            JOIN categories AS c ON c.id = t.category_id\n            LEFT JOIN companies AS com ON com.id = t.company_id\n            WHERE t.id = ?\n            ''', (id,))\n        cols = ['id', 'name', 'category', 'website_url', 'ghostery_id', 'company_id',\n            'company_name', 'description',\n            'privacy_url']\n        row = cursor.fetchone()\n        tracker_info = {c: row[i] for i, c in enumerate(cols)}\n\n        cursor = self.db.connection.execute('''\n            SELECT tracker, MIN(month), MAX(month)\n            FROM trackers_data\n            WHERE country = ? AND tracker = ?\n            GROUP BY tracker\n        ''', (self.region, id))\n        date_range = cursor.fetchone()\n        if date_range is not None:\n            tracker_info['date_range'] = [parse_date(date_range[1]), parse_date(date_range[2])]\n\n        cursor = self.db.connection.execute('''\n            SELECT\n                t.id,\n                dom.domain as domains\n            FROM trackers AS t\n            LEFT JOIN tracker_domains AS dom ON dom.tracker = t.id\n            WHERE t.id = ?\n        ''', (id, ))\n        tracker_info['domains'] = [x[1] for x in cursor.fetchall()]\n\n        overview = self.get_datapoint(id)\n        if overview is not None:\n            tracker_info['overview'] = overview._asdict()\n\n        self.info[id] = tracker_info\n        return tracker_info\n\n    def get_name(self, id):\n        return self.get_tracker(id).get('name')\n\n    def get_rank(self, id):\n        return self.get_tracker(id).get('overview', {}).get('reach_rank')\n\n    def get_rank_label(self, id):\n        \"\"\"\n        Args:\n            id: id of tracker\n\n        Returns: Label based on rank\n\n        \"\"\"\n        r = self.get_rank(id)\n        if r < 3:\n            return 'Dangerously prevalent'\n        if 3 <= r < 11:\n            return 'Extremely prevalent'\n        if 11 <= r < 50:\n            return 'Very prevalent'\n        if 51 <= r <= 100:\n            return 'Commonly prevalent'\n        if 101 <= r:\n            return 'Relatively prevalent'\n\n    def get_tracking_methods(self, id):\n        \"\"\"\n        Args:\n            id: id of tracker to access\n\n        Returns: {'cookies:: bool, 'fingerprinting':: bool}\n                based on chosen threshold by privacy team.\n\n        \"\"\"\n        methods = {\n            'cookies': False,\n            'fingerprinting': False\n        }\n        if self.get_tracker(id).get('overview', {}).get('cookies') > 0.1:\n            methods['cookies'] = True\n        if self.get_tracker(id).get('overview', {}).get('bad_qs') > 0.1:\n            methods['fingerprinting'] = True\n        return methods\n\n    def get_reach(self, id):\n        cursor = self.db.connection.cursor()\n        cursor.execute('''\n            SELECT month, reach, site_reach_top10k FROM trackers_data\n            WHERE country = ? AND tracker = ?\n            ORDER BY month ASC\n        ''', (self.region, id))\n        reach = []\n        months = []\n        site_reach = []\n        for row in cursor.fetchall():\n            m, r, s = row\n            reach.append(r)\n            months.append(parse_date(m))\n            if s is not None:\n                site_reach.append(s)\n        return {\n            'page': reach,\n            'ts': months,\n            'site': site_reach,\n        }\n\n    def get_presence_by_site_category(self, id):\n        cursor = self.db.connection.cursor()\n        cursor.execute('''\n            SELECT category, COUNT(*) AS count\n            FROM sites_trackers_data AS st\n            JOIN sites_data ON\n                st.month = sites_data.month\n                AND st.country = sites_data.country\n                AND st.site = sites_data.site\n            WHERE st.month = ?\n                AND st.country = ?\n                AND tracker = ?\n            GROUP BY sites_data.category\n            ORDER BY count DESC\n        ''', (self.last_month, self.region, id))\n        results = cursor.fetchall()\n        site_count = sum(map(itemgetter(1), results))\n        return [(category, 100 * float(count) / site_count) for category, count in results]\n\n    def similar_trackers(self, id, n=4):\n        \"\"\"\n        Args:\n            id: id of tracker for which similar trackers will be found\n            n: number of similar trackers to find\n\n        Returns:\n            top_n: list of similar trackers, each having an id, the company_id,\n                   the category, and its reach\n        \"\"\"\n        tracker = self.get_tracker(id)\n        category_id = tracker['overview']['category_id']\n        category = tracker['category']\n\n        cursor = self.db.connection.cursor()\n        cursor.execute(f'''\n            SELECT tracker, company_id, reach\n            FROM trackers_data\n            JOIN trackers ON trackers.id = trackers_data.tracker\n            WHERE month = ? AND country = ?\n                AND category_id = ?\n                AND tracker != ?\n            ORDER BY reach DESC\n            LIMIT ?\n        ''', (self.last_month, self.region, category_id, id, n))\n        return [{\n            'id': tracker,\n            'company_id': company_id,\n            'category': category,\n            'reach': reach,\n        } for tracker, company_id, reach in cursor.fetchall()]\n\n    def get_domains(self, id):\n        try:\n            if self.get_tracker(id) is not None:\n                return self.get_tracker(id).get('domains', [])\n            else:\n                return []\n        except Exception as e:\n            print(e)\n\n    def iter_sites(self, id):\n        for site in self.sites.get_tracker(id).itertuples():\n            yield site\n\n\nSiteTrackerEntry = namedtuple('SiteTrackerEntry', 'site, tracker, name, category, company_id, company, site_proportion')\n\nclass Sites(SQLDataLoader):\n    def __init__(self, data_months, db, region='global', populate=True):\n        super().__init__(data_months, name='sites', db=db, region=region, id_column='site',\n                         extra_columns=[])\n\n        if populate:\n            for month in data_months:\n                self.db.load_data('sites', self.region, month)\n            self.db.load_data('sites_trackers', self.region, max(data_months))\n\n    # Summary methods across all sites\n    # --------------------------------\n\n    def summary_stats(self):\n        \"\"\"\n        Returns: aggregate tracker statistics across all sites in database\n\n        \"\"\"\n        cursor = self.db.connection.execute('''\n            SELECT\n            COUNT(site) as count,\n            AVG(tracked) as have_trackers,\n            COUNT(CASE WHEN trackers >= 10 THEN 1 ELSE NULL END) as gt10,\n            AVG(trackers) as average_nr_trackers,\n            AVG(requests_tracking) as requests_tracking,\n            AVG(content_length) as data\n            FROM sites_data\n            WHERE country=? AND month = ?\n        ''', (self.region, self.last_month))\n        result = cursor.fetchone()\n        return {\n            'count': result[0],\n            'have_trackers': result[1],\n            'gt10': result[2],\n            'average_nr_trackers': result[3],\n            'tracker_requests': int(result[4]),\n            'data': result[5]\n        }\n\n    # Methods for one specific site\n    # -----------------------------\n    def get_name(self, id):\n        # NOTE: This is weird\n        return id if len(self.get_site(id)) > 0 else None\n\n    def get_tracker_list(self, site, month=None):\n        query = '''\n            SELECT\n                site,\n                tracker,\n                trackers.name,\n                categories.name AS category,\n                CASE WHEN trackers.company_id IS NULL THEN '' ELSE trackers.company_id END AS company_id,\n                CASE WHEN companies.name IS NULL THEN '' ELSE companies.name END AS company,\n                site_proportion\n            FROM sites_trackers_data\n            JOIN trackers ON trackers.id = sites_trackers_data.tracker\n            JOIN categories ON trackers.category_id = categories.id\n            LEFT JOIN companies ON companies.id = trackers.company_id\n            WHERE month = ? AND sites_trackers_data.country = ?\n                AND site = ? AND category != \"extensions\"\n            ORDER BY site_proportion DESC\n        '''\n        return map(SiteTrackerEntry._make, self.db.connection.execute(query, (month or self.last_month, self.region, site)))\n\n    def trackers_on_site(self, site, month=None):\n        \"\"\"\n        Args:\n            id: a site dict from self._sites\n            trackers: DataSource.trackers\n            companies: DataSource.companies\n\n        Returns:\n            tracker :: dict,\n            category :: string,\n            company_name :: string\n        \"\"\"\n        for row in self.get_tracker_list(site, month):\n            if row.company == '':\n                continue\n            tracker = {\n                'id': row.tracker,\n                'name': row.name,\n                'frequency': row.site_proportion,\n            }\n            yield (tracker, row.category, row.company)\n\n    def mean_trackers_timeseries(self, id):\n        \"\"\"\n        Args:\n            id: id, e.g.: ebay.de\n\n        Returns: [(ts0, mean_trackers0, ... ]\n        \"\"\"\n        return [(s.get('ts'), s.get('mean_trackers'))\n                for s in self.get_site(id).get('history')]\n\n    def get_site_tracker_categories(self, site, month=None):\n        query = '''\n            SELECT\n                categories.name AS category,\n                COUNT(tracker) AS frequency\n            FROM sites_trackers_data\n            JOIN trackers ON trackers.id = sites_trackers_data.tracker\n            JOIN categories ON trackers.category_id = categories.id\n            WHERE month = ? AND sites_trackers_data.country = ?\n                AND site = ?\n            GROUP BY category\n            ORDER BY frequency DESC\n        '''\n        return self.db.connection.execute(query, (month or self.last_month, self.region, site))\n\n\nclass SitesTrackers(SQLDataLoader):\n\n    def __init__(self, data_months, db, region='global', populate=True):\n        super().__init__(data_months, name='sites_trackers', db=db, region=region,\n                         id_column='site || tracker', extra_columns=[])\n\n\nclass Companies(SQLDataLoader):\n\n    def __init__(self, data_months, db, region='global', populate=True):\n        super().__init__(data_months, name='companies', db=db, region=region, id_column='company',\n                         extra_columns=['name'])\n        self.extra_column_select = [\n            'companies.name',\n        ]\n        self.extra_joins = '''\n            LEFT JOIN companies ON companies.id = companies_data.company\n        '''\n\n        if populate:\n            for month in data_months:\n                self.db.load_data('companies', self.region, month)\n"
  },
  {
    "path": "whotracksme/data/pack.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nfrom struct import Struct, unpack_from, pack, calcsize\nimport collections\nimport re\n\nfrom pandas import Timestamp\n\n\nIS_INT = re.compile(r\"[0-9]+\")\nIS_FLOAT = re.compile(r\"[0-9e.-]+\")\nENDIANNESS = \">\"\n\nPRECISION = {\n    # Integers\n    \"b\": 1,\n    \"B\": 1,\n    \"h\": 2,\n    \"H\": 2,\n    \"i\": 4,\n    \"I\": 4,\n    \"q\": 8,\n    \"Q\": 8,\n    # Floats\n    \"e\": 2,\n    \"f\": 4,\n    \"d\": 8,\n}\n\n\ndef get_minimal_int_type(value):\n    is_negative = value < 0\n    positive_value = abs(value)\n\n    # Check 8 bits\n    if positive_value < 128:\n        return \"b\" if is_negative else \"B\"\n\n    # Check 16 bits\n    if positive_value < 32768:\n        return \"h\" if is_negative else \"H\"\n\n    # Check 32 bits\n    if positive_value < 2_147_483_648:\n        return \"i\" if is_negative else \"I\"\n\n    # Fallback to 32 bits\n    return \"q\" if is_negative else \"Q\"\n\n\ndef get_minimal_float_type(value):\n    return \"f\"\n\n\ndef guess_type(value):\n    if isinstance(value, int) or (\n        isinstance(value, str) and IS_INT.fullmatch(value) is not None\n    ):\n        try:\n            int_value = int(value)\n            return get_minimal_int_type(int_value), int_value\n        except ValueError:\n            pass\n    elif isinstance(value, float) or (\n        isinstance(value, str) and IS_FLOAT.fullmatch(value) is not None\n    ):\n        try:\n            float_value = float(value)\n            return get_minimal_float_type(float_value), float_value\n        except ValueError:\n            pass\n    elif isinstance(value, Timestamp):\n        value = value.strftime(\"%Y-%m\")\n    elif not isinstance(value, str):\n        value = str(value)\n\n    # Fallback to string type\n    return \"s\", value\n\n\nclass ByteView:\n    def __init__(self, buffer=b\"\"):\n        self.buffer = buffer\n        self.offset = 0\n\n    def get_string(self, length):\n        return self.get(f\"{length}s\")[0]\n\n    def get(self, f):\n        format_string = f\"{ENDIANNESS}{f}\"\n        value = unpack_from(format_string, self.buffer, offset=self.offset)\n        self.offset += calcsize(format_string)\n        return value\n\n    def set_string(self, string):\n        self.set(\n            f\"{len(string)}s\", string if isinstance(string, bytes) else string.encode()\n        )\n\n    def set(self, f, *values):\n        format_string = f\"{ENDIANNESS}{f}\"\n        self.buffer += Struct(format_string).pack(*values)\n\n\ndef unpack_rows(buffer):\n    view = ByteView(buffer)\n\n    # Metadata size\n    _ = view.get(\"I\")[0]\n\n    # Unpack fields\n    number_of_fields = view.get(\"I\")[0]\n    fields = []\n    for _ in range(number_of_fields):\n        field_size = view.get(\"I\")[0]\n        field = view.get_string(field_size).decode()\n        fields.append(field)\n\n    yield fields\n\n    # Unpack format_string for rows\n    format_string_size = view.get(\"I\")[0]\n    format_string = view.get_string(format_string_size).decode()[1:]\n\n    # Unpack symbols tables\n    number_of_tables = view.get(\"I\")[0]\n    symbols = collections.defaultdict(dict)\n    for _ in range(number_of_tables):\n        header_index = view.get(\"I\")[0]\n        table_size = view.get(\"I\")[0]\n        for i in range(table_size):\n            symbol_size = view.get(\"I\")[0]\n            symbols[header_index][i] = view.get_string(symbol_size).decode()\n\n    number_of_rows = view.get(\"I\")[0]\n    for _ in range(number_of_rows):\n        row = list(view.get(format_string))\n        for header_index, table in symbols.items():\n            row[header_index] = table[row[header_index]]\n        yield tuple(map(str, row))\n\n\ndef pack_rows(rows, fields):\n    if not isinstance(rows, list):\n        rows = list(rows)\n\n    if not rows:\n        return b\"\"\n\n    headers = sorted(\n        [field for field in rows[0]._fields if field in fields], key=lambda f: fields[f]\n    )\n\n    # Find best type for each field, try to find the smallest type possible for each.\n    symbols = collections.defaultdict(dict)\n    types = [None] * len(headers)\n    converted_rows = []\n\n    for row_idx, row in enumerate(rows):\n        converted_row = []\n        for i, field in enumerate(headers):\n            value = getattr(row, field)\n            field_type, value = guess_type(value)\n            if types[i] is not None and ((field_type != 's' and types[i] == 's') or (field_type == 's' and types[i] != 's')):\n                error_msg = f'''Assumption violated: cannot mix strings and numbers in field \"{field}\" (note strings that look like numbers will be also treated as numbers): {getattr(row, field)} vs {getattr(rows[row_idx - 1], field)}\nString/Number clash found:\nPrevious row: {rows[row_idx - 1]}\nCurrent row: {row}'''\n                print(error_msg)\n                raise ValueError(error_msg)\n\n            if field_type == \"s\":\n                # Update symbols table for values of type string\n                field_symbols = symbols[i]\n                if value not in field_symbols:\n                    field_symbols[value] = len(field_symbols)\n                types[i] = \"s\"\n                converted_row.append(field_symbols[value])\n            else:\n                converted_row.append(value)\n                if types[i] is None:\n                    types[i] = field_type\n                elif types[i] != field_type:\n                    # Upgrade to bigger type if needed\n                    if PRECISION[types[i]] < PRECISION[field_type]:\n                        types[i] = field_type\n                    elif PRECISION[types[i]] == PRECISION[field_type]:\n                        print(\"CONFLICT\", headers[i], value, types[i], field_type)\n\n        converted_rows.append(converted_row)\n\n    # Get minimal integer type which can fit all the symbols for this table\n    for field_index, table in symbols.items():\n        types[field_index] = get_minimal_int_type(len(table))\n\n    # Create struct format\n    pack_format = f'{ENDIANNESS}{\"\".join(types)}'\n\n    # Create metadata for this CSV file\n    view = ByteView()\n\n    # Encode headers\n    view.set(\"I\", len(headers))\n    for header in headers:\n        view.set(\"I\", len(header))\n        view.set_string(header)\n\n    # Encode struct format\n    view.set(\"I\", len(pack_format))\n    view.set_string(pack_format)\n\n    # Encode symbols\n    number_of_tables = len(symbols)\n    view.set(\"I\", number_of_tables)\n    for header_index, table in symbols.items():\n        view.set(\"I\", header_index)\n        view.set(\"I\", len(table))\n        for value in table:\n            view.set(\"I\", len(value))\n            view.set_string(value)\n\n    view.set(\"I\", len(rows))\n\n    yield pack(f\"{ENDIANNESS}I\", len(view.buffer))\n    yield view.buffer\n\n    # Serialize rows given the global type found by analyzing all rows\n    struct = Struct(pack_format)\n    for row in converted_rows:\n        yield struct.pack(*row)\n"
  },
  {
    "path": "whotracksme/main.py",
    "content": "#! /usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\n\"\"\"\nWhotracks.me website development tool.\n\nUsage:\n    whotracksme website [serve]\n    whotracksme db (create|dump|check_urls|json)\n    whotracksme -h | --help\n\nOptions:\n    serve           Watch for changes and reload.\n    -h, --help      Show help message.\n\"\"\"\n\n\nfrom pathlib import Path\nimport os\nimport sqlite3\nimport json\n\nimport docopt\n\nfrom whotracksme.website.builder import Builder\nfrom whotracksme.website.serve import serve\nfrom whotracksme.data.db import load_tracker_db, create_tracker_map\nfrom whotracksme.qa.todo import upgrade_to_https, create_task_files\n\n\nclass objectview:\n    \"\"\"Allows to access keys of a dictionary as attributes.\n\n    Example:\n        >>> view = objectview({ 'foo': True, 'bar': False })\n        >>> view.foo\n        True\n        >>> view.bar\n        False\n    \"\"\"\n    def __init__(self, d):\n        self.__dict__ = d\n\n\ndef website(args):\n    builder = Builder()\n    builder.build()\n\n    if args.serve:\n        serve(builder)\n\n\ndef main():\n    args = objectview(docopt.docopt(__doc__))\n    if args.website:\n        website(args)\n    elif args.db:\n        if args.create:\n            load_tracker_db(loc='tracker.db')\n        elif args.dump:\n            # TODO: Replace this with `pathlib`\n            tracker_db_path = os.path.join(os.path.dirname(__file__), 'data', 'assets', 'trackerdb.sql')\n            conn = sqlite3.connect('tracker.db')\n            with open(tracker_db_path, 'w') as fp:\n                for line in conn.iterdump():\n                    fp.write('%s\\n' % line)\n        elif args.check_urls:\n            needqa = Path('needqa')\n            if not needqa.exists():\n                needqa.mkdir()\n            https_upgrade = upgrade_to_https(tracker_db='tracker.db')\n            create_task_files(needqa_folder=needqa, **https_upgrade)\n        elif args.json:\n            db_map = create_tracker_map(load_tracker_db(), with_iab_vendors=True)\n            print(json.dumps(db_map, indent=2, sort_keys=True))\n\n\nif __name__ == '__main__':\n    main()\n"
  },
  {
    "path": "whotracksme/qa/__init__.py",
    "content": ""
  },
  {
    "path": "whotracksme/qa/todo.py",
    "content": "import sqlite3\nfrom whotracksme.qa.utils import retrieve_status, write_to_file\n\n\ndef create_task_files(needqa_folder, **kwargs):\n    \"\"\"\n    This makes sure it writes the received tasks (dictionary) to\n    the QA folder. Each key becomes a file.\n    Args:\n        needqa_folder: the QA tasks folder (output folder)\n        **kwargs: {\"task_name\": individual_tasks_dict}\n\n    Returns:\n    \"\"\"\n    for filename, output in kwargs.items():\n        print(f'Task: {filename} created')\n        write_to_file(needqa_folder.joinpath(filename), output)\n\n\ndef upgrade_to_https(tracker_db):\n    \"\"\"\n    Checks `website_url` for all trackers in the db,\n    checks if it can be safely upgraded to https and\n    returns a dictionary containing QA tasks.\n\n    Args:\n        tracker_db: <string> tracker_db filename\n\n    Returns: QA tasks dictionary for tracker urls\n        - update_urls: Can be safely upgraded to https\n        - manually_check_urls: Need to be looked at on a case-to-case basis.\n    \"\"\"\n\n    to_fetch = {}\n    to_edit = {}\n    to_check_manually = {}\n\n    connection = sqlite3.connect(tracker_db)\n    for row in connection.execute('SELECT id, name, website_url FROM trackers'):\n        if row[2] and not row[2].startswith(\"https\"):\n            url = row[2].replace(\"http\", \"https\")\n            to_fetch[url] = row[0]\n\n    results = retrieve_status(to_fetch.keys())\n    for r in results:\n        id = to_fetch[r['original_url']]\n        if not str(r['status']).startswith('4'):\n            to_edit[id] = str(r['final_url'])\n        else:\n            to_check_manually[id] = r['original_url'].replace('https', 'http')\n\n    return {\n        \"update_urls\": to_edit,\n        \"manually_check_urls\": to_check_manually\n    }\n"
  },
  {
    "path": "whotracksme/qa/utils.py",
    "content": "import aiohttp\nimport asyncio\nimport async_timeout\nimport json\n\n\nasync def fetch(session, url):\n    with async_timeout.timeout(10):\n        try:\n            async with session.head(url, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:60.0) Gecko/20100101 Firefox/60.0'}) as response:\n                return {\n                    \"original_url\": url,\n                    \"status\": response.status,\n                    \"final_url\": response.url\n                }\n        except:\n            return {\n                \"original_url\": url,\n                \"status\": 499,  # assigned to exceptions\n                \"final_url\": url\n            }\n\n\nasync def fetch_all(session, urls, loop):\n    results = await asyncio.gather(\n        *[loop.create_task(fetch(session, url)) for url in urls]\n    )\n    return results\n\n\ndef retrieve_status(urls):\n    async def main(urls, loop):\n        conn = aiohttp.TCPConnector(verify_ssl=True) #verify_ssl needs to be true, otherwise it will accept invalid certificates.\n        async with aiohttp.ClientSession(connector=conn) as session:\n            return await fetch_all(session, urls, loop)\n\n    #https://docs.python.org/3.5/library/asyncio-eventloop.html#asyncio.AbstractEventLoop.set_exception_handler\n    def handler(self, context):\n        print(context['exception'])\n    loop = asyncio.get_event_loop()\n    loop.set_exception_handler(handler)\n    results = loop.run_until_complete(main(urls, loop))\n    return results\n\n\ndef write_to_file(filepath, json_output):\n    with open(f'{filepath}.json', 'w') as fout:\n        json.dump(json_output, fout)\n"
  },
  {
    "path": "whotracksme/website/__init__.py",
    "content": "\n"
  },
  {
    "path": "whotracksme/website/api/meta.py",
    "content": "import os\nfrom datetime import datetime, timezone\nimport json\nimport re\n\ndef get_trackerdb_version():\n    trackerdb_sql = 'whotracksme/data/assets/trackerdb.sql'\n    with open(trackerdb_sql, 'r') as f:\n        header = f.readline()\n        match = re.search(r'-- Generated from https:[/][/]github.com[/]ghostery[/]trackerdb[/]releases[/]download[/](\\d+)[/]trackerdb[.]db', header)\n        if not match:\n            raise ValueError(f'Failed to parse TRACKERDB_VERSION from file {trackerdb_sql}')\n        return match.group(1)\n\n\nTRACKERDB_VERSION = get_trackerdb_version()\n\n\ndef get_api_meta_data(trackerdb_version,\n                      ts=datetime.now(timezone.utc).isoformat()):\n    return {\n        \"trackerdb\": {\n            \"version\": trackerdb_version,\n            \"release\": f\"https://github.com/ghostery/trackerdb/releases/tag/{trackerdb_version}\",\n            \"file\": {\n                \"json\": f\"https://github.com/ghostery/trackerdb/releases/download/{trackerdb_version}/trackerdb.json\",\n                \"db\": f\"https://github.com/ghostery/trackerdb/releases/download/{trackerdb_version}/trackerdb.db\",\n                \"engine\": f\"https://github.com/ghostery/trackerdb/releases/download/{trackerdb_version}/trackerdb.engine\"\n            }\n        },\n        \"updatedAt\": ts\n    }\n\n\ndef update_api_meta_data():\n    meta_data = get_api_meta_data(trackerdb_version=TRACKERDB_VERSION)\n\n    target = '_site/api/v2/meta.json'\n    os.makedirs(os.path.dirname(target), exist_ok=True)\n    with open(target, 'w', encoding='utf-8') as out:\n        json.dump(meta_data, out, indent=2)\n"
  },
  {
    "path": "whotracksme/website/build/__init__.py",
    "content": "\n"
  },
  {
    "path": "whotracksme/website/build/blog.py",
    "content": "import os\nimport calendar\nfrom datetime import datetime\nfrom whotracksme.data.loader import DataSource\nfrom whotracksme.website.utils import print_progress\nfrom whotracksme.website.templates import render_template, get_template\nfrom feedgen.feed import FeedGenerator\nfrom pytz import timezone\n\nMETA_TAGS = [\n    \"title\",\n    \"subtitle\",\n    \"description\",\n    \"author\",\n    \"type\",\n    \"publish\",\n    \"date\",\n    \"tags\",\n    \"header_img\",\n    \"redirect_url\",\n]\n\ndef parse_blogpost(filepath):\n    try:\n        with open(filepath) as r:\n            text = r.read()\n            meta_section, body = text.split(\"+++\")\n\n        meta = {}\n        for line in meta_section.split(\"\\n\"):\n            line = line.strip()\n            if len(line) > 0:\n                key = line.split(\":\")[0]\n                if key not in META_TAGS:\n                    raise ValueError(f'Unknown meta tag \"{key}\". Must be one of {META_TAGS}.')\n                meta[key] = line[len(key)+1:].strip()\n\n        # TODO: update all blog post (explictly add the description and then remove this fallback)\n        if \"description\" not in meta:\n            print(f'WARN: {filepath}: \"description\" not defined; falling back to \"subtitle\")')\n            meta[\"description\"] = meta.get(\"subtitle\", \"\")\n\n        filename = filepath.split(\"/\")[-1].replace(\".md\", \"\")\n        # Note: uncomment to redirect all blogs by their filename\n        # if \"redirect_url\" not in meta:\n        #     meta[\"redirect_url\"] = f'https://www.ghostery.com/blog/{filename}'\n        return {\n            \"filename\": filename,\n            \"title\": meta[\"title\"],\n            \"redirect_url\": meta.get(\"redirect_url\", \"\"),\n            \"subtitle\": meta.get(\"subtitle\", \"\"),\n            \"description\": meta.get(\"description\", \"\"),\n            \"author\": meta.get(\"author\", \"\").capitalize(),\n            \"type\": meta[\"type\"],\n            \"publish\": bool(meta[\"publish\"] == \"True\"),\n            \"date\": meta[\"date\"],\n            \"repr_date\": get_human_date(meta[\"date\"]),\n            \"tags\": meta[\"tags\"].split(\":\")[-1].split(\",\"),\n            \"header_img\": meta[\"header_img\"],\n            \"body\": body,\n        }\n    except Exception as ex:\n        print(f'ERROR: failed to parse blog post {filepath} (details: {ex})')\n        raise ex\n\n\ndef load_blog_posts():\n    blog_posts = [parse_blogpost(os.path.join(\"blog\", f))\n                  for f in os.listdir(\"blog/\")\n                  if f.endswith('.md')]\n    blog_posts.sort(\n        key=lambda p: datetime.strptime(p[\"date\"], \"%Y-%m-%d\"), reverse=True\n    )\n    return blog_posts\n\n\ndef build_blogpost_list(data, blog_posts):\n    with open(\"_site/blog.html\", \"w\") as output:\n        output.write(\n            render_template(\n                template=get_template(data, \"blog.html\"),\n                blog_posts=[p for p in blog_posts if p[\"publish\"]],\n            )\n        )\n    print_progress(text=\"Generate blog list\")\n\n\ndef build_blogpost_pages(blog_posts):\n    data = DataSource(populate=False)\n\n    for blog_post in blog_posts:\n        # TODO: Move template out after footnotes markdown extension does\n        # not save global state\n        template = get_template(\n            data, \"blog-page.html\", render_markdown=True, path_to_root=\"..\"\n        )\n        with open(f'_site/blog/{blog_post.get(\"filename\")}.html', \"w\") as output:\n            output.write(\n                render_template(\n                    path_to_root=\"..\", template=template, blog_post=blog_post\n                )\n            )\n\n    print_progress(text=\"Generate blog posts\")\n\n\ndef get_human_date(date):\n    d = datetime.strptime(date, \"%Y-%m-%d\")\n\n    if 4 <= d.day <= 20 or 24 <= d.day <= 30:\n        suffix = \"th\"\n    else:\n        suffix = [\"st\", \"nd\", \"rd\"][d.day % 10 - 1]\n    month = calendar.month_abbr[d.month]\n    return f\"{month} {d.day}{suffix}, {d.year}\"\n\n\ndef build_rss_feeds(blog_posts):\n    feed = FeedGenerator()\n    feed.load_extension(\"media\", rss=True, atom=True)\n    base = \"https://whotracks.me\"\n\n    for post in blog_posts:\n        if post[\"publish\"]:\n            entry = feed.add_entry()\n            entry.id(f'{base}/blog/{post[\"filename\"]}.html')\n            entry.title(post[\"title\"])\n            entry.link(link={\"href\": f\"{base}/blog/{post['filename']}.html\"})\n            entry.author({\"name\": post[\"author\"]})\n            entry.pubDate(\n                datetime.strptime(post[\"date\"], \"%Y-%m-%d\").replace(\n                    tzinfo=timezone(\"CET\")\n                )\n            )\n            entry.description(post[\"description\"])\n            entry.media.thumbnail(\n                url=f'https://whotracks.me/static/img/{post[\"header_img\"]}'\n            )\n\n    feed.title(\"WhoTracksMe blog\")\n    feed.description(\"By the Ghostery tech team\")\n    feed.link(link={\"href\": f\"{base}/blog.html\"})\n\n    feed.id(\"wtm\")\n    feed.language(\"en\")\n    feed.logo(f\"{base}/static/img/who-tracksme-logo.png\")\n\n    feed.rss_file(\"_site/blog/feed.xml\")\n"
  },
  {
    "path": "whotracksme/website/build/companies.py",
    "content": "from collections import defaultdict\nfrom markupsafe import Markup\n\nfrom whotracksme.website.utils import print_progress, write_json\nfrom whotracksme.website.templates import (\n    get_template,\n    render_template,\n)\nfrom whotracksme.website.plotting.companies import overview_bars\nfrom whotracksme.website.plotting.colors import (\n    tracker_category_colors, wtm_colors\n)\n\n\ndef get_company(companies, company_id):\n    return companies.get(company_id, {})\n\n\ndef company_data(companies, company_id):\n    data = companies.get_company(company_id)\n    parent_id = data.get(\"parent_company\")\n    if parent_id != \"None\":\n        data = companies.get_company(parent_id)\n    return data\n\n\ndef get_company_name(company_dict):\n    company_name = company_dict.get(\"overview\").get(\"id\")\n    if company_dict.get(\"name\"):\n        company_name = company_dict.get(\"name\").replace(\"/\", \" \")\n    return company_name\n\n\ndef website_doughnout(site, data):\n    category_dict = dict()\n    for category, frequency in data.sites.get_site_tracker_categories(site):\n        category_dict[category] = frequency\n\n    return list(category_dict.values()), list(category_dict.keys()), sum(category_dict.values())\n\n\ndef tracker_map_data(site_id, data):\n    nodes = []\n    link_source = []\n    link_target = []\n    link_value = []\n    link_label = []\n\n    for (tracker, category, company) in data.sites.trackers_on_site(site_id):\n\n        # category node index in nodes\n        if category in nodes:\n            cat_idx = nodes.index(category)\n        else:\n            nodes.append(category)\n            cat_idx = len(nodes) - 1\n\n        # company node index in nodes\n        if company in nodes:\n            com_idx = nodes.index(company)\n        else:\n            nodes.append(company)\n            com_idx = len(nodes) - 1\n\n        link_source.append(cat_idx)\n        link_target.append(com_idx)\n        link_label.append(tracker[\"name\"])\n        link_value.append(100.0 * tracker[\"frequency\"])\n\n    label_colors = [tracker_category_colors[l] if l in tracker_category_colors\n                    else wtm_colors[\"purple\"] for l in nodes]\n\n    return dict(\n        node=dict(\n            label=nodes,\n            color=label_colors\n        ),\n        link=dict(\n            source=link_source,\n            target=link_target,\n            value=link_value,\n            label=link_label,\n            color=[\"rgba(227, 163, 43, 0.2)\"] * len(link_label)\n        )\n    )\n\n\ndef company_reach(companies, n=10):\n    sorted_companies = companies.sort_by('reach_rank', descending=False)\n    return sorted_companies[:n]\n\n\ndef company_page(template, company_data, data):\n    company_data[\"logo\"] = None\n    company_id = company_data['overview']['id']\n\n    company_name = get_company_name(company_data)\n    write_json(f'_site/api/v2/organizations/{data.url_for(\"company\", company_id)}.json',\n        demographics=company_data,\n        initials=company_name[:2]\n    )\n    with open(f'_site/{data.url_for(\"company\", company_id)}', 'w') as output:\n        output.write(render_template(\n            path_to_root='..',\n            template=template,\n            demographics=company_data,\n            initials=company_name[:2]\n        ))\n\n\ndef build_company_pages(data):\n    companies = data.companies\n    template = get_template(data, \"company-page.html\")\n\n    for company_data in companies.values():\n        company_page(template, company_data, data)\n\n    print_progress(text=\"Generate company pages\")\n\ndef build_company_reach_chart_page(data):\n    top100 = company_reach(data.companies, n=100)\n    chart = Markup(overview_bars(top100, highlight=10, height=3000))\n    template = get_template(data, name='reach-chart-page.html', path_to_root='..')\n    write_json('_site/api/v2/organizations.json',\n        top100=top100,\n        organizations=data.companies.sort_by('name', descending=False)\n    )\n    with open('_site/companies/reach-chart.html', 'w') as output:\n        output.write(render_template(\n            path_to_root='..',\n            template=template,\n            chart=chart,\n        ))\n        print_progress(text=\"Generate company reach chart\")\n"
  },
  {
    "path": "whotracksme/website/build/data.py",
    "content": "import json\nfrom pathlib import Path\nfrom whotracksme.data.loader import DataSource\nfrom whotracksme.data.db import load_tracker_db, create_tracker_map\nfrom whotracksme.website.utils import print_progress\n\ndef build_tracker_db():\n    with open('_site/data/trackerdb.json', 'w') as output:\n        db_map = create_tracker_map(load_tracker_db(), with_iab_vendors=False)\n        db_map['about'] = 'WhoTracks.Me tracker database: whotracks.me'\n        json.dump(db_map, output, indent=2, sort_keys=True)\n    print_progress(text='Generate tracker DB')\n\ndef build_tracker_json(tracker_id, data):\n    stats = data.trackers.get_tracker(tracker_id)\n    stats['overview'] = dict(stats['overview'])\n    # drop some columns\n    for col in ['companies', 'month', 'trackers', 'tracker', 'id', 'company_id', 'category', 'country', 'site_reach', 'category_id']:\n        del stats['overview'][col]\n    stats['date_range'] = [date.strftime('%Y-%m') for date in stats['date_range']]\n    stats['reach_time_series'] = data.trackers.get_reach(tracker_id)\n    stats['reach_time_series']['ts'] = [month.strftime('%Y-%m') for month in stats['reach_time_series']['ts']]\n    stats['presence_by_category'] = data.trackers.get_presence_by_site_category(tracker_id)\n    # print(stats)\n    with open(f'_site/data/trackers/global/{tracker_id}.json', 'w') as output:\n        json.dump(stats, output)\n\n    gh_id = stats['ghostery_id']\n\n    if isinstance(gh_id, str):\n        if gh_id.isdigit():\n            stats['tracking_method'] = data.trackers.get_tracking_methods(tracker_id)\n            with open(f'_site/data/trackers/ghostery/{gh_id}.json', 'w') as output:\n                json.dump(stats, output)\n\ndef build_api(data):\n    # tracker overviews\n    data_dir = Path('_site/data/trackers/global')\n    gh_data_dir = Path('_site/data/trackers/ghostery')\n\n    data_dir.mkdir(parents=True, exist_ok=True)\n    gh_data_dir.mkdir(parents=True, exist_ok=True)\n\n    for id, stats in data.trackers.iter():\n        build_tracker_json(id, data)\n\n    print_progress(text='Generate API data')\n\ndef build_tracker_api_batch(batch):\n    with DataSource(populate=False) as data:\n        gh_data_dir = Path('_site/data/trackers/ghostery')\n        gh_data_dir.mkdir(parents=True, exist_ok=True)\n\n        for tracker_id in batch:\n            build_tracker_json(tracker_id, data)\n\ndef build_website_api_batch(batch):\n    with DataSource(populate=False) as data:\n        for website in batch:\n            stats = data.sites.get_datapoint(website)\n            with open(f'_site/data/sites/global/{website}.json', 'w') as output:\n                json.dump(stats._asdict(), output)\n"
  },
  {
    "path": "whotracksme/website/build/explorer.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport json\nimport shutil\nimport csv\nfrom pathlib import Path\nfrom datetime import datetime\n\nfrom whotracksme.data.loader import DataSource\nfrom whotracksme.data.db import load_tracker_db, create_tracker_map\nfrom whotracksme.data.pack import pack_rows\nfrom whotracksme.website.utils import print_progress\nfrom whotracksme.website.templates import get_template, render_template\n\n\n# List all fields + define in which order they should be displayed\nFIELDS = {\n    field: rank\n    for rank, field in enumerate(\n        [\n            \"month\",\n            \"country\",\n            \"name\",\n            \"tracker\",\n            \"site\",\n            \"company\",\n            \"category\",\n            \"site_proportion\",\n            \"tracker_proportion\",\n            \"site_rank\",\n            \"tracker_rank\",\n            \"popularity\",\n            \"reach\",\n            \"reach_rank\",\n            \"bad_qs\",\n            \"font\",\n            \"beacon\",\n            \"cookies\",\n            \"content_length\",\n            \"beacon\",\n            \"has_blocking\",\n            \"hosts\",\n            \"https\",\n            \"iframe\",\n            \"image\",\n            \"media\",\n            \"plugin\",\n            \"referer_leaked\",\n            \"referer_leaked_header\",\n            \"referer_leaked_url\",\n            \"requests\",\n            \"requests_failed\",\n            \"requests_tracking\",\n            \"script\",\n            \"site_reach\",\n            \"site_reach_rank\",\n            \"stylesheet\",\n            \"tracked\",\n            \"trackers\",\n            \"xhr\",\n            \"company_id\",\n            \"companies\",\n        ]\n    )\n}\n\n\ndef build_packed_data(data):\n    data_dir = Path(\"_site/data/packed/\")\n    if not data_dir.exists():\n        data_dir.mkdir(parents=True)\n\n    for data_source in [\"trackers\", \"companies\", \"sites\", \"sites_trackers\"]:\n        with open(f\"_site/data/packed/{data_source}.pack\", \"wb\") as output:\n            output.write(\n                b\"\".join(\n                    pack_rows(\n                        fields=FIELDS,\n                        rows=getattr(data, data_source).get_snapshot(),\n                    )\n                )\n            )\n\n    print_progress(text=\"Generate packed data\")\n\n\ndef table_to_csv(table, file):\n    columns = table.rowType._fields\n    with open(file, 'w') as fp:\n        writer = csv.writer(fp)\n        writer.writerow(columns)\n        for row in table.dump():\n            writer.writerow(row)\n\n\ndef build_explorer():\n    data = DataSource(populate=False)\n\n    build_packed_data(data)\n\n    temp_folder = Path(\"temp\")\n    if not temp_folder.exists():\n        temp_folder.mkdir()\n\n    table_to_csv(data.trackers, \"temp/trackers.csv\")\n    table_to_csv(data.sites, \"temp/sites.csv\")\n    table_to_csv(data.companies, \"temp/companies.csv\")\n    table_to_csv(data.sites_trackers, \"temp/sites_trackers.csv\")\n\n    month = data.trackers.last_month\n    shutil.make_archive(\n        f\"_site/data/wtm-data-{month}\", \"zip\", \"temp\"\n    )\n    shutil.rmtree(temp_folder.as_posix(), ignore_errors=True)\n\n    with open(f\"_site/explorer.html\", \"w\") as output:\n        output.write(render_template(\n            template=get_template(data, name=\"explorer.html\"),\n            download_link=f\"data/wtm-data-{month}.zip\"\n        ))\n\n    print_progress(text=\"Generated Exporable Dataset\")\n\n"
  },
  {
    "path": "whotracksme/website/build/home.py",
    "content": "from markupsafe import Markup\nfrom whotracksme.website.plotting.companies import overview_bars\nfrom whotracksme.website.build.companies import company_reach\nfrom whotracksme.website.utils import print_progress, write_json\nfrom whotracksme.website.templates import get_template, render_template\nfrom whotracksme.website.build.blog import load_blog_posts\n\n\ndef build_home(data):\n    top10 = company_reach(data.companies)\n    header_graph = Markup(overview_bars(top10))\n\n    posts = load_blog_posts()[:3]\n\n    tracker_list = data.trackers.sort_by(metric=\"reach\")[:20]\n    trackers_list_company = data.trackers.sort_by(metric=\"company_id\")[:20]\n    most_tracked_sites = data.sites.sort_by(metric='trackers')[:20]\n    least_tracked_sites = data.sites.sort_by(metric='trackers', descending=False)[:20]\n    websites = data.sites.summary_stats()\n    tracker_stats = data.trackers.summary_stats()\n\n    write_json('_site/api/v2/index.json',\n        tracker_list=tracker_list,\n        trackers_list_company=trackers_list_company,\n        most_tracked_sites=most_tracked_sites,\n        least_tracked_sites=least_tracked_sites,\n        websites=websites,\n        tracker_stats=tracker_stats,\n        top10=top10,\n    )\n\n    with open('_site/index.html', 'w') as output:\n        output.write(render_template(\n            template=get_template(data, \"index.html\"),\n            ts=header_graph,\n            tracker_list=tracker_list,\n            trackers_list_company=trackers_list_company,\n            most_tracked_sites=most_tracked_sites,\n            least_tracked_sites=least_tracked_sites,\n            websites=websites,\n            tracker_stats=tracker_stats,\n            top10=top10,\n            posts=posts\n        ))\n\n    print_progress(text=\"Generate home page\")\n\n\ndef build_privacy_policy(data):\n    with open('_site/privacy-policy.html', 'w') as output:\n        output.write(render_template(\n            template=get_template(data, \"privacy-policy.html\"),\n        ))\n\n    print_progress(text=\"Generate Privacy Policy\")\n\n\ndef build_imprint(data):\n    with open('_site/imprint.html', 'w') as output:\n        output.write(render_template(\n            template=get_template(data, \"imprint.html\"),\n        ))\n\n    print_progress(text=\"Generate Imprint\")\n"
  },
  {
    "path": "whotracksme/website/build/trackers.py",
    "content": "from collections import defaultdict\nfrom markupsafe import Markup\n\nfrom whotracksme.data.loader import DataSource\nfrom whotracksme.website.utils import print_progress, write_json, without_keys\nfrom whotracksme.website.templates import (\n    get_template,\n    render_template,\n)\nfrom whotracksme.website.plotting.colors import site_category_colors\nfrom whotracksme.website.plotting.trackers import ts_trend\n\n\ndef recent_tracker_reach(reach):\n    def format_reach(r):\n        if r >= 0.1:\n            return round(r, 1)\n        elif 0.01 <= r <= 0.1:\n            return round(r, 2)\n        return  \"<0.01\"\n\n    return {\n        \"pages\": format_reach(reach['page'][-1] * 100),\n        \"sites\": reach['site'][-1]\n    }\n\n\n\ndef tag_cloud_data(tracker_id, data):\n    cursor = data.db.connection.cursor()\n    cursor.execute('''\n    SELECT\n        sites_trackers_data.site,\n        tracker_proportion AS frequency,\n        site_proportion AS site_freq,\n        sites_data.category AS category,\n        sites_data.trackers AS trackers\n    FROM sites_trackers_data\n    LEFT JOIN sites_data ON sites_trackers_data.site = sites_data.site AND\n        sites_trackers_data.month = sites_data.month AND\n        sites_trackers_data.country = sites_data.country\n    WHERE sites_trackers_data.month = ?\n        AND sites_trackers_data.country = ?\n        AND sites_trackers_data.tracker = ?\n    ORDER BY tracker_proportion DESC\n    ''', (data.trackers.last_month, data.trackers.region, tracker_id))\n\n    def site_summary(row):\n        site, frequency, site_freq, category, trackers = row\n        return {\n            'site': site,\n            'frequency': frequency,\n            'site_freq': site_freq,\n            'category': category or '',\n            'url': data.url_for('site', site, path_to_root='..') if category is not None else None,\n            'site_cat': site_category_colors.get(category, '#000'),\n            'trackers': trackers,\n        }\n\n    all_sites = list(map(site_summary, cursor.fetchall()))\n\n    n_unlinked = len(list(filter(lambda s: s['url'] is None, all_sites)))\n\n    # decide whether non-topsite sites should be included\n    if len(all_sites) - n_unlinked > 30:\n        all_sites = list(filter(lambda s: s['url'] is not None, all_sites))\n\n    sites_by_category = defaultdict(list)\n    for s in all_sites:\n        sites_by_category[s['category']].append(s)\n\n    return all_sites, sites_by_category\n\n\ndef build_trackers_list(data):\n    tracker_list = data.trackers.sort_by(metric=\"reach\")\n    tracker_list_company = data.trackers.sort_by(\n        metric=\"company_id\",\n        descending=False\n    )\n    header_stats = data.trackers.summary_stats()\n    with open('_site/trackers.html', 'w') as output:\n        output.write(render_template(\n            template=get_template(data, name=\"trackers.html\"),\n            tracker_list=tracker_list,\n            trackers_list_company=tracker_list_company,\n            header_stats=header_stats\n        ))\n    write_json('_site/api/v2/trackers.json',\n        tracker_list=tracker_list,\n        trackers_list_company=tracker_list_company,\n        header_stats=header_stats\n    )\n    print_progress(text=\"Generate tracker list\")\n\n\ndef tracker_page_data(tracker_id, tracker, data):\n    # Tracker Reach ts\n    reach = data.trackers.get_reach(tracker_id)\n\n    # tag cloud data\n    all_sites, sites_by_cat = tag_cloud_data(tracker_id, data)\n\n    # for horizontal bar chart in profile\n    website_types = data.trackers.get_presence_by_site_category(tracker_id)\n\n    return {\n        \"url\": data.url_for(\"tracker\", tracker_id),\n        \"app\": tracker,\n        \"profile\": data.trackers.get_tracker(tracker_id),  # profile-card hack\n        \"reach_ts\": reach,\n        \"tracking_methods\": data.trackers.get_tracking_methods(tracker_id),\n        \"website_list\": all_sites,\n        \"sites_by_cat\": sites_by_cat,\n        \"website_types\": website_types[:5],  # top 5\n        \"similar_trackers\": data.trackers.similar_trackers(tracker_id),\n        \"trackers\": data.trackers.summary_stats()['count'],\n    }\n\n\ndef tracker_page(template, data):\n    reach = data['reach_ts']\n\n    # page_reach trend line\n    page_trend = Markup(ts_trend(ts=reach.get('page'), t=reach.get('ts')))\n\n    # domain_reach trend line - may not reach all the way back in time\n    site_trend = Markup(ts_trend(ts=reach.get('site'), t=reach.get('ts')[-len(reach.get('site')):], percent=False))\n\n    with open(f'_site/{data[\"url\"]}', 'w') as output:\n        output.write(render_template(\n            path_to_root='..',\n            template=template,\n            reach=recent_tracker_reach(reach),\n            trends={'page': page_trend, 'site': site_trend},\n            **data,\n        ))\n\ndef build_tracker_pages(data):\n    template = get_template(data, name='tracker-page.html', path_to_root='..')\n\n    for (tracker_id, tracker) in data.trackers.iter():\n        tracker_page(template, tracker_id, tracker, data)\n\n    print_progress(text=\"Generate tracker pages\")\n\ndef build_tracker_page_batch(batch):\n    with DataSource(populate=False) as data:\n        template = get_template(data, name='tracker-page.html', path_to_root='..')\n\n        for tracker_id in batch:\n            page_data = tracker_page_data(tracker_id,\n                                        data.trackers.get_datapoint(tracker_id),\n                                        data)\n            write_json(f'_site/api/v2/trackers/{tracker_id}.json', **without_keys(page_data, \"app\"))\n            tracker_page(template, page_data)\n"
  },
  {
    "path": "whotracksme/website/build/websites.py",
    "content": "#! /usr/bin/env python\n# -*- coding: utf-8 -*-\n\nfrom operator import itemgetter\nfrom markupsafe import Markup\n\nfrom whotracksme.data.loader import DataSource\nfrom whotracksme.website.utils import print_progress, write_json\nfrom whotracksme.website.build.companies import (\n    tracker_map_data,\n    website_doughnout,\n)\nfrom whotracksme.website.templates import (\n    get_template,\n    render_template,\n)\nfrom whotracksme.website.plotting.plots import profile_doughnut\nfrom whotracksme.website.plotting.sankey import sankey_plot\nfrom collections import defaultdict\n\ndef build_website_list(data):\n    header_numbers = data.sites.summary_stats()\n    sorted_websites = data.sites.sort_by(metric='popularity', descending=True)\n    sorted_websites_cat = data.sites.sort_by(metric='category', descending=True)\n\n    # Include the number of unique trackers (\"unique_activities\") in the exported API.\n    activities_per_site = defaultdict(set)\n    for _, row in data.sites_trackers.iter():\n        activities_per_site[row.site].add(row.tracker)\n    def add_activities(site_data):\n        ext_site_data = site_data._asdict()\n        ext_site_data['unique_activities'] = len(activities_per_site[site_data.site])\n        return ext_site_data\n    ext_sorted_websites = [add_activities(i) for i in sorted_websites]\n    ext_sorted_websites_cat = [add_activities(i) for i in sorted_websites_cat]\n\n    write_json('_site/api/v2/websites.json',\n        website_list=ext_sorted_websites,\n        website_list_cat=ext_sorted_websites_cat,\n        header_numbers=header_numbers\n    )\n\n    with open('_site/websites.html', 'w') as output:\n        output.write(render_template(\n            template=get_template(data, \"websites.html\"),\n            website_list=sorted_websites,\n            website_list_cat=sorted_websites_cat,\n            header_numbers=header_numbers\n        ))\n    print_progress(text=\"Generate website list\")\n\n\ndef website_page(template, site, rank, data):\n    site_id = site.site\n\n    # website url is the most common subdomain\n    website_url = f'www.{site_id}'\n    profile = {\n        \"rank\": rank,\n        \"website_url\": website_url,\n        \"name\":  site.site,\n    }\n\n    methods = {\n        'cookies': site.cookies > 0.2,\n        'fingerprinting': site.bad_qs > 0.1,\n    }\n\n    # tracker presence data\n    sankey_data = tracker_map_data(site_id, data)\n    d_values, d_labels, d_total = website_doughnout(site_id, data)\n    profile_dough = Markup(profile_doughnut(d_values, d_labels, d_total))\n\n    rendered_sankey = Markup(sankey_plot(sankey_data))\n\n    # apps per site data\n    tracker_table = list(data.sites.get_tracker_list(site_id))\n\n    write_json('_site/api/v2/websites/{}.json'.format(site.site),\n        site={\n            'overview': site._asdict()\n        },\n        profile=profile,\n        methods=methods,\n        sankey_data=sankey_data,\n        doughnout={\n            \"d_values\": d_values,\n            \"d_labels\": d_labels,\n            \"d_total\": d_total,\n        },\n        tracker_categories=d_labels,\n        tracker_list=tracker_table,\n    )\n\n    with open('_site/websites/{}.html'.format(site.site), 'w') as output:\n        output.write(render_template(\n            path_to_root='..',\n            template=template,\n            site={\n                'overview': site._asdict()\n            },\n            profile=profile,\n            methods=methods,\n            sankey=rendered_sankey,\n            doughnut=profile_dough,\n            tracker_categories=d_labels,\n            tracker_list=tracker_table,\n        ))\n\n\ndef build_website_pages(data):\n    template = get_template(data, \"website-page.html\", path_to_root='..')\n\n    for (rank, site) in enumerate(data.sites.sort_by(metric='popularity', descending=True)):\n        website_page(template, site, rank + 1, data)\n\n    print_progress(text=\"Generate website pages\")\n\n\ndef build_website_pages_batch(batch):\n    with DataSource(populate=False) as data:\n        template = get_template(data, \"website-page.html\", path_to_root='..')\n\n        for rank, site in batch:\n            website_page(template,\n                        data.sites.get_datapoint(site),\n                        rank + 1,\n                        data)\n"
  },
  {
    "path": "whotracksme/website/builder.py",
    "content": "#! /usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\nimport concurrent.futures\nimport os\n\nfrom pathlib import Path\nfrom whotracksme.data.loader import DataSource\n\nfrom whotracksme.website.build.home import build_home, build_privacy_policy, build_imprint\nfrom whotracksme.website.build.blog import (\n    build_blogpost_list,\n    build_blogpost_pages,\n    build_rss_feeds,\n    load_blog_posts\n)\nfrom whotracksme.website.build.websites import (\n    build_website_list,\n    build_website_pages_batch,\n)\nfrom whotracksme.website.build.trackers import (\n    build_trackers_list,\n    tracker_page_data,\n    tracker_page,\n    build_tracker_page_batch\n)\nfrom whotracksme.website.templates import (\n    create_site_structure,\n    copy_custom_error_pages,\n    generate_sitemap,\n)\n# from whotracksme.website.build.companies import build_company_pages\nfrom whotracksme.website.build.companies import build_company_reach_chart_page\nfrom whotracksme.website.build.data import (\n    build_tracker_db, \n    build_tracker_api_batch, \n    build_website_api_batch\n)\nfrom whotracksme.website.build.explorer import build_explorer\n\nfrom whotracksme.website.utils import print_progress\n\nfrom whotracksme.website.api.meta import update_api_meta_data\n\n\nDATA_DIRECTORY = \"data\"\nSTATIC_PATH = \"static\"\n\n\nDATA_FOLDER = 1 << 0\nSTATIC_FOLDER = 1 << 1\nTEMPLATES_FOLDER = 1 << 2\nBLOG_FOLDER = 1 << 3\nALL = (\n    DATA_FOLDER |\n    STATIC_FOLDER |\n    TEMPLATES_FOLDER |\n    BLOG_FOLDER\n)\n\nclass BlockingSingleThreadExecutor(concurrent.futures._base.Executor):\n    \"\"\"\n    Helper class to help with debugging.\n\n    It prevents starting multiple processes, but it is only intended for local development (where DEBUG=1).\n    All submitted tasks will be immediately executed, and there are no asynchronous operations.\n    \"\"\"\n\n    def submit(self, fn, *args, **kwargs):\n        result = fn(*args, **kwargs)\n        with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:\n            return executor.submit(lambda: result)\n\n    def shutdown(self, wait=True, *, cancel_futures=False):\n        # nothing to do; all tasks can been already executed\n        pass\n\nclass Builder:\n    def __init__(self):\n        self.data_source = None\n        self.blog_posts = None\n\n    def build(self):\n        self.feed_event(ALL)\n\n    def on_explorer_folder_change(self):\n        self.feed_event(EXPLORER_FOLDER)\n\n    def on_data_folder_change(self):\n        self.feed_event(DATA_FOLDER)\n\n    def on_templates_folder_change(self):\n        self.feed_event(TEMPLATES_FOLDER)\n\n    def on_static_folder_change(self):\n        self.feed_event(STATIC_FOLDER)\n\n    def on_blog_folder_change(self):\n        self.feed_event(BLOG_FOLDER)\n\n    def _create_executor(self):\n        if os.environ.get('DEBUG') == '1':\n            print('WARNING: running in debug-mode (no spawning of worker processes)')\n            return BlockingSingleThreadExecutor()\n\n        return concurrent.futures.ProcessPoolExecutor(max_workers=8)\n\n    def feed_event(self, event):\n        futures = []\n        with self._create_executor() as executor:\n            ###################################################################\n            # This needs to be first, as other tasks will need to write in   #\n            # the resulting folders.                                          #\n            ###################################################################\n\n            # Depends on folder: 'static/'\n            if event & STATIC_FOLDER:\n                create_site_structure(static_path=STATIC_PATH)\n                print_progress(text='Create _site')\n\n\n            ###################################################################\n            # We then reload data in memory, before generating the site       #\n            ###################################################################\n\n            # Depends on folder: 'data/'\n            if self.data_source is None or event & DATA_FOLDER:\n                # class where all data can be accessed from\n                data_source = DataSource()\n                print_progress(text='Load data sources')\n\n            # Depends on: 'blog/'\n            if self.blog_posts is None or event & BLOG_FOLDER:\n                self.blog_posts = load_blog_posts()\n                print_progress(text='Load blog posts')\n\n\n            ###################################################################\n            # Once site structure has been created and data is refreshed, we  #\n            # can build all parts of the site in parallel, since there is no  #\n            # dependencies between them.                                      #\n            ###################################################################\n\n            # Depends on: 'templates/', 'data/'\n            if event & DATA_FOLDER or event & TEMPLATES_FOLDER:\n                print_progress(text='Generate error pages')\n                copy_custom_error_pages(data=data_source)\n\n            def batched_job(inp, batch_fn, batch_size, message):\n                batches = []\n                input_size = len(inp)\n                for batch in [inp[i:i + batch_size] for i in range(0, input_size, batch_size)]:\n                    submission = executor.submit(batch_fn, batch=batch)\n                    batches.append(submission)\n                    futures.append(submission)\n                for i, f in enumerate(concurrent.futures.as_completed(batches)):\n                    print_progress(text=f\"{message} {min((i+1) * batch_size, input_size)}/{input_size}\")\n                return batches\n\n            # Explorer: depends on 'data/'\n            if event & DATA_FOLDER or event & STATIC_FOLDER:\n                futures.append(executor.submit(\n                    build_explorer,\n                ))\n\n            # Depends on: 'data/', 'blog/', 'templates/'\n            if event & DATA_FOLDER or event & BLOG_FOLDER or event & TEMPLATES_FOLDER:\n                futures.append(executor.submit(\n                    generate_sitemap,\n                    blog_posts=self.blog_posts\n                ))\n\n\n            # Depends on: 'data/', 'templates/'\n            if event & DATA_FOLDER or event & TEMPLATES_FOLDER:\n                # Home\n                build_home(data=data_source)\n                build_privacy_policy(data=data_source)\n                build_imprint(data=data_source)\n\n                # Trackers\n                trackers = [id for id, _ in data_source.trackers.iter()]\n                batched_job(trackers, build_tracker_page_batch, 150, \"Generate tracker pages\")\n                build_trackers_list(data=data_source)\n\n                # Websites\n                websites = list(enumerate([id for id, _ in data_source.sites.iter()]))\n                batched_job(websites, build_website_pages_batch, 400, \"Generate website pages\")\n                build_website_list(data=data_source)\n\n                # Companies\n                build_company_reach_chart_page(data=data_source)\n\n            # Depends on: 'data/', 'blog/', 'templates/'\n            if event & DATA_FOLDER or event & BLOG_FOLDER or event & TEMPLATES_FOLDER:\n                futures.append(executor.submit(\n                    build_blogpost_pages,\n                    blog_posts=self.blog_posts\n                ))\n\n                futures.append(executor.submit(\n                    build_rss_feeds,\n                    blog_posts=self.blog_posts\n                ))\n\n                build_blogpost_list(\n                    data=data_source,\n                    blog_posts=self.blog_posts\n                )\n\n            if event & DATA_FOLDER:\n                build_tracker_db()\n                trackers = [id for id, _ in data_source.trackers.iter()]\n                data_dir = Path('_site/data/trackers/global')\n                if not data_dir.exists():\n                    data_dir.mkdir(parents=True)\n                batched_job(trackers, build_tracker_api_batch, 150, \"Generate Tracker API pages\")\n\n                site_data_dir = Path('_site/data/sites/global')\n                if not site_data_dir.exists():\n                    site_data_dir.mkdir(parents=True)\n\n                sites = [id for id, _ in data_source.sites.iter()]\n                batched_job(sites, build_website_api_batch, 400, \"Generate Website API pages\")\n\n            # TODO: uncomment when company profiles are ready\n            # if args['site'] or args['companies']:\n            #     company_process = Process(target=build_company_pages, args=(data_source,))\n            #     company_process.start()\n\n            # Wait for all jobs to finish\n            concurrent.futures.wait(futures)\n\n            # Getting the `result` of each promise (although none is expected)\n            # allows to re-raise exception happening in children processes. If\n            # we don't do it, exceptions will be silently ignored.\n            for future in futures:\n                future.result()\n\n            update_api_meta_data()\n            print('Done')\n"
  },
  {
    "path": "whotracksme/website/plotting/.vscode/settings.json",
    "content": "version https://git-lfs.github.com/spec/v1\noid sha256:048f53e6ca01ac583b48784cd2f6f7d248e0534849955b144e75f017f73188a3\nsize 38\n"
  },
  {
    "path": "whotracksme/website/plotting/__init__.py",
    "content": ""
  },
  {
    "path": "whotracksme/website/plotting/colors.py",
    "content": "from random import randint\nimport colour\n\nwtm_colors = {\n    \"purple\": \"#A069AB\",\n    \"blue\": \"#00AEF0\",\n    \"black\": \"#1A1A25\",\n    \"white\": \"#FFFFFF\",\n    \"bright_gray\": \"#BFCBD6\",\n    \"inactive_gray\": \"#BCC4CE\",\n    \"transparent\": \"rgba(0,0, 0, 0)\",\n    \"green\": \"#50B1A2\",\n    \"red\": \"#C3043E\",\n    \"yellow\": \"#FFC802\",\n    \"orange\": \"#D4656B\",\n    \"gray_blue\": \"#5F7C86\"\n}\n\ntracker_category_colors = {\n    \"advertising\": \"#BF90D2\",\n    \"comments\": \"#43B7C5\",\n    \"consent\": \"#BECFB3\",\n    \"customer_interaction\": \"#FCC156\",\n    \"utilities\": \"#FC9834\",\n    \"adult_advertsing\": \"#E3A2D4\",\n    \"site_analytics\": \"#84D7F0\",\n    \"social_media\": \"#87BCEF\",\n    \"audio_video_player\": \"#F86D4F\",\n    \"cdn\": \"#C0BB61\",\n    \"misc\": \"#80C87D\",\n    \"pornvertising\": \"#E3A2D4\",\n    \"hosting\": \"#444\",\n    \"unidentified\": \"#D0D0D0\",\n    \"extensions\": \"orange\",\n}\n\nsite_category_colors = {\n    '': \"#000\",\n    'Adult': \"#FFAEB9\",\n    'Banking': \"#FFE4C4\",\n    'Business': \"blue\",\n    'E-Commerce': \"#71C671\",\n    'Entertainment': \"#B8B8B8\",\n    'Government': '#000',\n    'Health': '#000',\n    'News & Portals': \"#B2DFEE\",\n    'Political': '#000',\n    'Recreation': \"#B9D3EE\",\n    'Reference': \"#E0EEEE\"\n}\n\nbiggest_tracker_colors = {\n    'Google': \"#008744\",\n    'Facebook': \"#3b5998\",\n    'Amazon associates': \"#ff9900\",\n    'Infonline': \"#dedc00\",\n    'Criteo': \"#333\",\n    'Appnexus': \"orange\",\n    'Adobe': \"red\",\n    'Aditon technologies ag': \"#D3D518\",\n    'Ebay partner network': \"#85B716\",\n    'Microsoft advertising': \"#00A4EF\"\n}\n\n\ndef palette(color1, color2, number_of_shades):\n    c1 = colour.Color(color1)\n    c2 = colour.Color(color2)\n    return list(map(colour.Color.get_hex, list(c1.range_to(c2, number_of_shades))))\n\n\ndef random_color():\n    r = lambda: randint(0, 255)\n    return '#%02X%02X%02X' % (r(), r(), r())\n"
  },
  {
    "path": "whotracksme/website/plotting/companies.py",
    "content": "from datetime import datetime\nimport plotly.graph_objs as go\n\nfrom whotracksme.website.plotting.utils import set_margins, annotation, div_output, overview_label\nfrom whotracksme.website.plotting.plots import scatter\nfrom whotracksme.website.plotting.colors import random_color, biggest_tracker_colors, wtm_colors\n\n\ndef overview_bars(companies, highlight=2, height=None):\n    x = []\n    y = []\n    colors = [wtm_colors[\"purple\"]] * highlight + [wtm_colors[\"inactive_gray\"]] * (len(companies) - highlight)\n    for c in companies:\n        name = c.name\n        x.append(round(c.reach, 3))\n        y.append(name)\n    data = [\n        go.Bar(\n            x=x[::-1],\n            y=y[::-1],\n            marker={\n                \"color\": colors[::-1]\n            },\n            orientation='h'\n        )\n    ]\n    layout = go.Layout(\n        dict(\n            margin=set_margins(t=30, l=150),\n            showlegend=False,\n            autosize=True,\n            height=height,\n            xaxis=dict(\n                color=wtm_colors[\"gray_blue\"],\n                tickformat=\"%\",\n                anchor=\"free\",\n                position=0\n            )\n        )\n    )\n    fig = dict(data=data, layout=layout)\n    return div_output(fig)\n\n\ndef overview_reach(companies):\n    data = []\n    annotations = []\n    for c in companies:\n        color = random_color()\n        ts = [datetime.strptime(t[\"ts\"], \"%Y-%m\") for t in c[\"history\"]]\n        name = c[\"overview\"][\"id\"].capitalize()\n        y = [t['reach']*100 for t in c[\"history\"]]\n        data.append(\n            scatter(\n                x=ts,\n                y=y,\n                fill=False,\n                name=name,\n                color=color\n            )\n        )\n        annotations.append(\n            overview_label(text=name, x=ts[-1], y=y[-1], color=color)\n        )\n\n    layout = go.Layout(\n        dict(\n            yaxis=dict(\n                title=\"Percentage of sites where company can track\",\n                titlefont=dict(\n                    size=12,\n                    color=\"#666666\"\n                )),\n            margin=set_margins(r=90),\n            legend=dict(\n                x=0,\n                y=50,\n                orientation=\"h\"\n            ),\n            # annotations=annotations\n        )\n    )\n    fig = dict(data=data, layout=layout)\n    return div_output(fig)\n"
  },
  {
    "path": "whotracksme/website/plotting/plots.py",
    "content": "import plotly.graph_objs as go\nimport squarify\n\nfrom whotracksme.website.plotting.utils import (\n    WTMFonts,\n    div_output,\n    set_margins,\n    annotation,\n    set_line_style,\n    set_category_colors\n)\nfrom whotracksme.website.plotting.colors import wtm_colors, palette\n\n\ndef profile_doughnut(values, labels, name, color_palette=False):\n    center_text = str(name)\n\n    trace = go.Pie(\n        values=values,\n        labels=labels,\n        hoverinfo=\"label\",\n        hole=0.65,\n        textinfo=\"none\",\n        marker=dict(\n            colors=set_category_colors(labels),\n            line=dict(\n                color=wtm_colors[\"white\"],\n                width=0\n            )\n        )\n    )\n    data = [trace]\n    layout = dict(\n        showlegend=False,\n        paper_bgcolor=wtm_colors[\"transparent\"],\n        plot_bgcolor=wtm_colors[\"transparent\"],\n        autosize=True,\n        margin=set_margins(l=0, r=0, b=0, t=0, pad=10),\n\n        # Center Text\n        annotations=[\n            annotation(\n                text=center_text.upper(),\n                x=0.5,\n                y=0.5,\n                background_color=wtm_colors[\"transparent\"],\n                shift_x=0,\n                text_size=30,\n                color=\"#333\"\n            )\n        ]\n    )\n    fig = dict(data=data, layout=layout)\n\n    return div_output(fig, height='200px')\n\n\ndef doughnut_chart(values, labels, name, color_palette=False):\n    \"\"\"\n    Doughnut pie chart with text in the middle.\n\n    Args:\n        values: (list) - values for the pie chart\n        labels: (list) - corresponding to the values\n        name:   (str)  - text that goes in the middle of the chart\n\n    Returns: Doughnut pie chart wrapped in a div\n\n    \"\"\"\n    trace = go.Pie(\n        values=values,\n        labels=labels,\n        name=str(name),\n        hoverinfo=\"label+percent\",\n        hole=0.65,\n        pull=0.07,\n        sort=not (color_palette),\n        textinfo=\"label\",\n        textfont=dict(\n            family=WTMFonts.regular,\n            color=wtm_colors[\"white\"]\n        ),\n        marker=dict(\n            colors=palette(wtm_colors[\"blue\"], wtm_colors[\"purple\"], len(labels)) if color_palette else [\n                wtm_colors[\"blue\"], wtm_colors[\"purple\"]],\n            line=dict(\n                color=wtm_colors[\"white\"],\n                width=2\n            )\n        )\n    )\n    data = [trace]\n    layout = dict(\n        showlegend=False,\n        paper_bgcolor=wtm_colors[\"transparent\"],\n        plot_bgcolor=wtm_colors[\"transparent\"],\n        autosize=True,\n        margin=set_margins(),\n        annotations=[\n            annotation(\n                text=str(name).upper(),\n                x=0.5,\n                y=0.5,\n                background_color=wtm_colors[\"transparent\"],\n                shift_x=0,\n                text_size=14\n            )\n        ]\n    )\n    fig = dict(data=data, layout=layout)\n\n    return div_output(fig)\n\n\ndef hbar(label, color=wtm_colors[\"blue\"], **kwargs):\n    x, y = [], []\n    for k, v in kwargs.items():\n        x.append(k)\n        y.append(v)\n\n    return go.Bar(\n        y=x,\n        x=y,\n        width=[0.2, 0.2, 0.2],\n        orientation='h',\n        name=label,\n        marker=dict(\n            color=color,\n            line=dict(\n                color=color,\n                width=4)\n        )\n    )\n\n\ndef scatter(x, y, name, color, fill=True, line_style=\"solid\"):\n    return go.Scatter(\n        x=x,\n        y=y,\n        name=name,\n        line=set_line_style(\n            color=color,\n            width=4,\n            line_style=line_style\n        ),\n        opacity=0.2 if fill else 1,\n        fill='tozeroy' if fill else False,\n        textfont=dict(\n            family=WTMFonts.regular\n        ),\n        mode='lines'\n    )\n\n\ndef line(x, y, color, line_style=\"solid\", mode='lines'):\n    marker = dict(\n        size=10\n    )\n    return go.Scatter(\n        x=x,\n        y=y,\n        text=[\"{0:.2f}% on {1}\".format(y[i], x[i].strftime(\"%b %y\")) for i in range(len(x))],\n        hoverinfo='text',\n        line=set_line_style(\n            color=color,\n            width=3,\n            line_style=line_style\n        ),\n        opacity=1,\n        mode=mode,\n        marker=marker\n    )\n\n\ndef treemap():\n    x = 0.\n    y = 0.\n    width = 100.\n    height = 100.\n\n    values = [500, 433, 78, 25, 25, 7]\n\n    normed = squarify.normalize_sizes(values, width, height)\n    rects = squarify.squarify(normed, x, y, width, height)\n\n    # Choose colors from http://colorbrewer2.org/ under \"Export\"\n    color_brewer = ['rgb(166,206,227)', 'rgb(31,120,180)', 'rgb(178,223,138)',\n                    'rgb(51,160,44)', 'rgb(251,154,153)', 'rgb(227,26,28)']\n    shapes = []\n    annotations = []\n    counter = 0\n\n    for r in rects:\n        shapes.append(\n            dict(\n                type='rect',\n                x0=r['x'],\n                y0=r['y'],\n                x1=r['x'] + r['dx'],\n                y1=r['y'] + r['dy'],\n                line=dict(width=2),\n                fillcolor=color_brewer[counter]\n            )\n        )\n        annotations.append(\n            dict(\n                x=r['x'] + (r['dx'] / 2),\n                y=r['y'] + (r['dy'] / 2),\n                text=values[counter],\n                showarrow=False\n            )\n        )\n        counter = counter + 1\n        if counter >= len(color_brewer):\n            counter = 0\n\n    # For hover text\n    trace0 = go.Scatter(\n        x=[r['x'] + (r['dx'] / 2) for r in rects],\n        y=[r['y'] + (r['dy'] / 2) for r in rects],\n        text=[str(v) for v in values],\n        mode='text',\n    )\n\n    layout = dict(\n        height=700,\n        width=700,\n        xaxis=dict(showgrid=False, zeroline=False),\n        yaxis=dict(showgrid=False, zeroline=False),\n        shapes=shapes,\n        annotations=annotations,\n        hovermode='closest'\n    )\n\n    # With hovertext\n    figure = dict(data=[trace0], layout=layout)\n\n    # Without hovertext\n    # figure = dict(data=[Scatter()], layout=layout)\n\n    return div_output(figure)\n"
  },
  {
    "path": "whotracksme/website/plotting/sankey.py",
    "content": "from whotracksme.website.plotting.utils import div_output, set_margins\n\n\ndef sankey_plot(sndata):\n    data_trace = dict(\n        type='sankey',\n        domain=dict(\n            x=[0, 1],\n            y=[0, 1]\n        ),\n        hoverinfo=\"none\",\n        orientation=\"h\",\n        # valueformat=\".0f\",\n        # valuesuffix=\"% of pages - present\",\n        node=dict(\n            pad=10,\n            thickness=30,\n            label=list(map(lambda x: x.replace(\"_\", \" \").capitalize(), sndata['node']['label'])),\n            color=sndata['node']['color']\n        ),\n        link=dict(\n            source=sndata['link']['source'],\n            target=sndata['link']['target'],\n            value=sndata['link']['value'],\n            label=sndata['link']['label'],\n            color=[\"#dedede\" for _ in range(len(sndata['link']['source']))]\n        )\n    )\n    layout = dict(\n        height=max(len(sndata['link']['source'])*13, 400),\n        font=dict(\n            size=12\n        ),\n        autosize=True,\n        margin=set_margins(t=20, l=2, r=2),\n\n    )\n    fig = dict(data=[data_trace], layout=layout)\n    return div_output(fig)\n"
  },
  {
    "path": "whotracksme/website/plotting/trackers.py",
    "content": "from statistics import mean\nimport plotly.graph_objs as go\nimport squarify\n\nfrom whotracksme.website.plotting.utils import set_margins, div_output, WTMFonts, annotation\nfrom whotracksme.website.plotting.colors import wtm_colors\nfrom whotracksme.website.plotting.plots import scatter, hbar, line\n\n\ndef tracker_cfh(https, fingerprinting, cookies):\n    \"\"\"\n    Horizontal Bar chart plot for cookies, fingerprinting and https\n    per tracker\n\n    Args:\n        https: Requests to tracker that use https\n        fingerprinting: Requests to tracker that could fingerprint\n        cookies: Requests to tracker that use cookies for tracking\n\n    Returns: Horizontal bar chart wrapped in a div\n\n    \"\"\"\n    trace1 = hbar(\n        label=\"Yes\",\n        https=https,\n        fingerprinting=fingerprinting,\n        cookies=cookies\n    )\n    trace2 = hbar(\n        label=\"No\",\n        color=wtm_colors[\"bright_gray\"],\n        https=1 - https,\n        fingerprinting=1 - fingerprinting,\n        cookies=1 - cookies\n    )\n\n    data = [trace1, trace2]\n    layout = go.Layout(\n        paper_bgcolor=wtm_colors[\"transparent\"],\n        plot_bgcolor=wtm_colors[\"transparent\"],\n        autosize=True,\n        barmode=\"stack\",\n        margin=set_margins(l=120, r=100, t=20),\n        height=150,\n        yaxis=dict(\n            showticklabels=True,\n            tickfont=dict(\n                family=WTMFonts.regular,\n                size=13,\n                color=wtm_colors[\"black\"]\n            ),\n        ))\n    fig = go.Figure(data=data, layout=layout)\n    return div_output(fig)\n\n\ndef tracker_reach_ts(ts1, ts2, t):\n    \"\"\"\n    Timeseries area plot for two time-series\n    Args:\n        ts1: timeseries 1\n        ts2: timeseries 2\n        t: x-axis (time)\n\n    Returns: hmtl output of an interactive timeseries plot\n\n    \"\"\"\n    trace0 = scatter(\n        x=t,\n        y=ts1,\n        name=\"Domain Reach\",\n        color=wtm_colors[\"purple\"]\n    )\n    trace1 = scatter(\n        x=t,\n        y=ts2,\n        name=\"Page Reach\",\n        color=wtm_colors[\"blue\"]\n    )\n    layout = go.Layout(\n        margin=set_margins(t=30),\n        height=300\n    )\n\n    # makes sure that whichever is smallest\n    # will be on top (displaying color correctly)\n    if mean(ts1) > mean(ts2):\n        data = [trace0, trace1]\n    else:\n        data = [trace1, trace0]\n    fig = dict(data=data, layout=layout)\n    return div_output(fig)\n\n\ndef ts_trend(ts, t, percent=True):\n    \"\"\"\n    Sparkline for plotting line\n    Args:\n        ts: timeseries data\n        t: x-axis (time)\n\n    Returns: hmtl output of an interactive timeseries plot\n    \"\"\"\n    if percent:\n        y = list(map(lambda x: x * 100, ts))\n    else:\n        y = list(ts)\n    trace0 = line(\n        x=t,\n        y=y,\n        color=wtm_colors[\"purple\"]\n    )\n    trace1 = line(\n        x=[t[-1]],\n        y=[y[-1]],\n        color=wtm_colors[\"purple\"],\n        mode='markers'\n    )\n    layout = go.Layout(\n        dict(\n            showlegend=False,\n            margin=set_margins(l=10, t=30, r=10),\n            height=100,\n            width=153,\n            hoverlabel=dict(\n                bgcolor=wtm_colors[\"black\"],\n                bordercolor=wtm_colors[\"transparent\"],\n                font=dict(\n                    family=WTMFonts.mono,\n                    size=13,\n                    color=wtm_colors[\"bright_gray\"]\n                )\n            ),\n            xaxis=dict(\n                autorange=True,\n                showgrid=False,\n                zeroline=False,\n                showline=False,\n                hoverformat=\"%b %y\",\n                ticks='',\n                showticklabels=False\n            ),\n            yaxis=dict(\n                range=[min(y) * 0.90, max(y) * 1.05 if max(y) != y[-1] else max(y) * 1.15],\n                showgrid=False,\n                zeroline=False,\n                showline=False,\n                ticks='',\n                showticklabels=False\n            )\n        )\n    )\n    data = [trace0, trace1]\n    fig = dict(data=data, layout=layout)\n    return div_output(fig)\n\n\n# NOTE: Experimental representation of tracker prevalence\ndef site_tree_map(sites):\n    site_values = [(site_id, site.get('overview').get('popularity')) for (site_id, site) in sites.items()]\n    values = [val for (_, val) in site_values]\n\n    x = 0\n    y = 0\n    width = 1200\n    height = 700\n\n    normed = squarify.normalize_sizes(values, width, height)\n    rectangles = squarify.squarify(normed, x, y, width, height)\n\n    return site_values, values, rectangles\n\n\ndef tracker_map(app, site_values, rectangles):\n    print(app[\"overview\"][\"id\"])\n    site_where_app = [s.get(\"site\") for s in app.get(\"sites\")]\n    color_brewer = [wtm_colors[\"red\"] if t[0] in site_where_app else wtm_colors[\"bright_gray\"] for t in site_values]\n\n    shapes = []\n    counter = 0\n\n    for r in rectangles:\n        shapes.append(\n            dict(\n                type='rect',\n                x0=r['x'],\n                y0=r['y'],\n                x1=r['x'] + r['dx'],\n                y1=r['y'] + r['dy'],\n                line=dict(\n                    color=wtm_colors[\"white\"],\n                    width=0.5\n                ),\n                fillcolor=color_brewer[counter]\n            )\n        )\n        counter = counter + 1\n        if counter >= len(color_brewer):\n            counter = 0\n\n    # For hover text\n    trace0 = go.Scatter(\n        x=[r['x'] + (r['dx'] / 2) for r in rectangles],\n        y=[r['y'] + (r['dy'] / 2) for r in rectangles],\n        text=[v[0] for v in site_values],\n        mode='markers',\n        hoverinfo=\"text\"\n    )\n\n    layout = dict(\n        autosize=True,\n        xaxis=dict(showgrid=False, zeroline=False, showticklabels=False),\n        yaxis=dict(showgrid=False, zeroline=False, showticklabels=False),\n        shapes=shapes,\n        hovermode='closest',\n        margin=set_margins(t=0, l=0, r=0)\n    )\n\n    figure = dict(data=[trace0], layout=layout)\n\n    return div_output(figure)\n"
  },
  {
    "path": "whotracksme/website/plotting/utils.py",
    "content": "from collections import namedtuple\nfrom plotly.io import to_html\nfrom plotly.graph_objs.layout import Margin\n\nfrom whotracksme.website.plotting.colors import (\n    tracker_category_colors, wtm_colors\n)\n\n\nFontSet = namedtuple(\"FontSet\", 'mono regular')\nWTMFonts = FontSet(\n    mono=\"monospace\",\n    regular=\"sans-serif\"\n)\n\n\ndef set_category_colors(tracker_labels):\n    return [tracker_category_colors[label] for label in tracker_labels]\n\n\ndef set_margins(l=60, r=60, b=40, t=0, pad=5):\n    return Margin(\n        l=l,\n        r=r,\n        b=b,\n        t=t,\n        pad=pad\n    )\n\n\ndef set_line_style(color, width=3, line_style=\"solid\"):\n    \"\"\"\n    Defines default styling of scatter graphs with some smoothing.\n    Args:\n        color: line color\n        width: line width\n        line_style: line style (solid, dashed, ...)\n\n    Returns: line_style dict parameters\n\n    \"\"\"\n    style = dict(\n        color=color,\n        width=width,\n        # shape='spline',\n        # smoothing=1.3,\n        dash=line_style\n    )\n    return style\n\n\ndef annotation(text, x, y, background_color, shift_x=-1, text_size=12, color=\"white\"):\n    if shift_x == -1:\n        shift_x = 4 * len(text) + 10\n    return dict(\n        x=x,\n        y=y,\n        xref='x',\n        yref='y',\n        text=text,\n        font=dict(\n            family=WTMFonts.regular,\n            size=text_size,\n            color=color\n        ),\n        width=len(text) * 10 if len(text) > 30 else 100,\n        showarrow=True,\n        ax=shift_x,\n        ay=0,\n        align='center',\n        bordercolor=background_color,\n        borderpad=5,\n        borderwidth=1,\n        bgcolor=background_color,\n    )\n\n\ndef overview_label(text, x, y, text_size=12, shift_x=-1, color=wtm_colors[\"black\"]):\n    if shift_x == -1:\n        shift_x = 4 * len(text) + 10\n\n    return dict(\n        x=x,\n        y=y,\n        xref='x',\n        yref='y',\n        text=text,\n        font=dict(\n            family=WTMFonts.regular,\n            size=text_size,\n            color=color\n        ),\n        width=len(text) * 10 if len(text) > 30 else 100,\n        showarrow=False,\n        ax=shift_x,\n        ay=0,\n        align='center',\n        borderpad=5,\n        borderwidth=1,\n    )\n\n\ndef div_output(fig, display_mode_bar=False, height=\"100%\"):\n    return to_html(\n        fig=fig,\n        include_plotlyjs=False,\n        full_html=False,\n        default_height=height,\n        config={\"displayModeBar\": display_mode_bar}\n    )\n"
  },
  {
    "path": "whotracksme/website/serve.py",
    "content": "#! /usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\nfrom multiprocessing import Process\nimport os\nimport time\n\nfrom sanic import Sanic\nfrom watchdog.observers import Observer\nimport watchdog\n\n\ndef watch(builder):\n    \"\"\"Watch changes in directories and yield events indicating where the change\n    happened: BLOG_FOLDER, STATIC_FOLDER, TEMPLATES_FOLDER, DATA_FOLDER. The\n    events are then consumed by `build` which will rebuild only what is needed\n    after each change.\n    \"\"\"\n    watched_directories = {\n        'blog': builder.on_blog_folder_change,\n        'data': builder.on_data_folder_change,\n        'static': builder.on_static_folder_change,\n        'templates': builder.on_templates_folder_change,\n        'explorer': builder.on_explorer_folder_change,\n    }\n\n    def handle_event(event):\n        path = event.src_path\n        directory = os.path.relpath(os.path.dirname(path))\n        if directory in watched_directories:\n            print('>', path, 'changed')\n            watched_directories[directory]()\n\n    class Callback(watchdog.events.FileSystemEventHandler):\n        def on_created(self, event):\n            handle_event(event)\n\n        def on_deleted(self, event):\n            handle_event(event)\n\n        def on_modified(self, event):\n            handle_event(event)\n\n        def on_moved(self, event):\n            handle_event(event)\n\n    observer = Observer()\n    observer.schedule(Callback(), '.', recursive=True)\n    observer.start()\n\n    try:\n        while True:\n            time.sleep(1)\n    except KeyboardInterrupt:\n        observer.stop()\n    observer.join()\n\n\ndef serve_site(port):\n    \"\"\"Serve site locally.\"\"\"\n    app = Sanic(__name__, log_config=None)\n    app.static('/', './_site/index.html')\n    app.static('/', './_site/')\n    app.run(\n        host=\"0.0.0.0\",\n        port=port,\n    )\n\n\ndef serve(builder):\n    # Start serving the website locally\n    port = 8000\n    serve_process = Process(target=serve_site, args=(port,), daemon=True)\n    serve_process.start()\n\n    # Start watching for changes\n    watch(builder)\n"
  },
  {
    "path": "whotracksme/website/templates.py",
    "content": "from collections import defaultdict\nimport json\nimport os\nimport shutil\nimport subprocess\nfrom datetime import date\nfrom pathlib import Path\n\nfrom jinja2 import Environment, FileSystemLoader\nfrom markupsafe import Markup\nimport markdown\nimport sass\n\nfrom whotracksme.data.loader import DataSource\nfrom whotracksme.website.utils import print_progress\nfrom whotracksme.website.plotting.colors import (\n    tracker_category_colors, site_category_colors\n)\n\n\ndef site_to_json(data_source, blog_posts):\n    site_idx = defaultdict(list)\n\n\n    def submit_key(name, type, url, weight, idx=site_idx):\n        _name = name.lower()\n        site_idx[type].append({\n            \"name\": name,\n            \"normalized_name\": _name,\n            \"type\": type,\n            \"url\": url.replace(\"./\", \"/\"),\n            \"weight\": weight\n        })\n\n    for tracker in data_source.trackers.get_snapshot():\n        name = data_source.trackers.get_name(tracker.tracker)\n        url = data_source.url_for(\"tracker\", tracker.tracker)\n        weight = (1.0 / tracker.reach_rank) * 1000\n        submit_key(name=name, type=\"tracker\", url=url, weight=weight)\n        # Search a tracker by domain.\n        for d in data_source.trackers.get_domains(tracker.tracker):\n            if name != d:\n                submit_key(name=d, type=\"tracker\", url=url, weight=weight)\n\n    # for company in data_source.companies.get_snapshot().itertuples():\n    #     submit_key(\n    #         name=company.name,\n    #         type=\"company\",\n    #         url=data_source.url_for(\"company\", company.company),\n    #         weight=len(data_source.trackers.df[data_source.trackers.df.company_id == company.company]) or 1\n    #     )\n\n    for site in data_source.sites.get_snapshot():\n        submit_key(\n            name=site.site,\n            type=\"site\",\n            url=data_source.url_for(\"site\", site.site),\n            weight=site.popularity * 10000\n        )\n\n    for blogpost in blog_posts:\n        if blogpost[\"publish\"]:\n            submit_key(\n                name=blogpost.get(\"title\"),\n                type=\"blog\",\n                url=data_source.url_for(\"blog\", blogpost.get(\"filename\")),\n                weight=1\n            )\n\n    site_idx[\"site\"] = sorted(site_idx[\"site\"], key=lambda x: x['weight'], reverse=True)\n    site_idx[\"tracker\"] = sorted(site_idx[\"tracker\"], key=lambda x: x['weight'], reverse=True)\n    site_idx[\"blog\"] = sorted(site_idx[\"blog\"], key=lambda x: x['weight'], reverse=True)\n\n    # return sorted(site_idx, key=lambda x: x['weight'], reverse=True)\n    return site_idx\n\n\n# Paths needed for generating urls\nSITE_PATH = Path('_site').absolute().as_posix()\nPATHS = {\n    \"_site\": SITE_PATH,\n    \"static\": '/static',\n    \"trackers\": '/trackers',\n    \"websites\": '/websites',\n    \"companies\": '/companies',\n    \"blog\": '/blog',\n}\n\nCATEGORY_DESC = {\n    \"advertising\": \"Provides advertising or advertising-related services such as data collection, behavioral analysis or retargeting.\",\n    \"comments\": \"Enables comments sections for articles and product reviews.\",\n    \"customer_interaction\": \"Includes chat, email messaging, customer support, and other interaction tools.\",\n    \"essential\": \"Includes tag managers, privacy notices, and technologies that are critical to the functionality of a website.\",\n    \"adult_advertsing\": \"Delivers advertisements that generally appear on adult content sites.\",\n    \"site_analytics\": \"Collects and analyzes data related to site usage and performance.\",\n    \"social_media\": \"Integrates features related to social media sites.\",\n    \"audio_video_player\": \"Enables websites to publish, distribute, and optimize video and audio content.\",\n    \"cdn\":  \"Content delivery network that delivers resources for different site utilies and usually for many different customers.\",\n    \"misc\": \"This tracker does not fit in other categories or has not yet been labelled.\",\n    \"pornvertising\": \"Delivers advertisements that generally appear on adult content sites.\",\n    \"hosting\": \"This is a service used by the content provider or site owner.\",\n    \"extensions\": \"Software on user-devices that can intercept and analyse browser traffic (man in the middle).\"\n}\n\n\ndef copy_custom_error_pages(data):\n    error_pages = {\n        \"not-found\": get_template(data, \"not-found.html\",  path_to_root=''),\n        \"tracker-not-found\": get_template(data, \"tracker-not-found.html\", path_to_root=''),\n        \"website-not-found\": get_template(data, \"website-not-found.html\", path_to_root='')\n    }\n\n    for error, template in error_pages.items():\n        with open('_site/{}.html'.format(error), 'w') as output:\n            output.write(render_template(template=template, path_to_root=''))\n\n\ndef generate_sitemap(blog_posts):\n    data = DataSource(populate=False)\n    # write sitemap to _site (to be used as index for static site search)\n    with open(\"_site/sitemap.json\", \"w\") as output:\n        json.dump(\n            site_to_json(\n                data_source=data,\n                blog_posts=blog_posts),\n            output\n        )\n    print_progress(text='Generate sitemap index')\n\n\ndef get_template(data_source, name, render_markdown=False, path_to_root='.'):\n    env = Environment(loader=FileSystemLoader('./templates'))\n\n    if render_markdown:\n        md = markdown.Markdown(\n            extensions=[\n                'meta',\n                'fenced_code',\n                'extra',\n                'toc',\n                'def_list',\n                'footnotes',\n                'tables',\n            ]\n        )\n        env.filters[\"markdown\"] = lambda text: Markup(md.convert(text))\n    env.filters[\"prettify_label\"] = \\\n        lambda text: \" \".join(map(lambda x: x.capitalize(), text.split(\"_\"))) \\\n        if text not in [None, \"None\", \"\"] else \"\"\n    env.filters[\"normalize_domain_name\"] = lambda text: text.replace(\"www.\", \"\")\n    env.filters[\"absolute_og_urls\"] = lambda url: url.replace(\"../\", \"\").replace(\"./\", \"\")\n    env.filters[\"url_for\"] = \\\n        lambda entity, id: data_source.url_for(entity, id, path_to_root=path_to_root)\n    env.filters[\"get_app_name\"] = lambda id: data_source.trackers.get_name(id)\n    env.filters[\"get_company_name\"] = lambda id: data_source.get_company_name(id)\n    env.filters[\"get_site_name\"] = lambda id: data_source.sites.get_name(id)\n\n    env.filters[\"b_to_mb\"] = lambda b: round(b / 10 ** 6, 1)\n    env.filters[\"round2\"] = lambda x: round(x, 1)\n    env.filters[\"percentage\"] = lambda x, y: round((x / y) * 100, 1)\n    env.filters[\"to_percentage\"] = lambda x: round(x * 100, 1)\n    env.filters[\"rank_label\"] = lambda id: data_source.trackers.get_rank_label(id)\n    return env.get_template(name)\n\n\ndef render_template(template, path_to_root='.', **context):\n    \"\"\"\n    Args:\n        template: Jinja2 template to be rendered\n        path_to_root: to have relative paths\n        **context: Available variables in template.\n\n    Returns: populated template\n    \"\"\"\n    paths = {k: path_to_root + path for k, path in PATHS.items()}\n    paths['path_to_root'] = path_to_root\n    return template.render(\n        PATHS=paths,\n        TRACKER_CATEGORIES=tracker_category_colors,\n        SITE_CATEGORIES=site_category_colors,\n        CATEGORY_DESC=CATEGORY_DESC,\n        TODAY=date.today().strftime('%d.%m.%Y'),\n        **context\n    )\n\n\ndef create_site_structure(static_path):\n    \"\"\"\n    Args:\n        static_path: path to static folder\n\n    Returns: rendered site ready to publish (_site)\n    \"\"\"\n    def ensure_dir_exists(entry):\n        if not entry.exists():\n            entry.mkdir()\n\n    # data = Path(\"data\")\n    # ensure_dir_exists(data)\n\n    _site = Path(PATHS.get(\"_site\"))\n    ensure_dir_exists(_site)\n\n    trackers = _site.joinpath('trackers')\n    ensure_dir_exists(trackers)\n\n    websites = _site.joinpath('websites')\n    ensure_dir_exists(websites)\n\n    companies = _site.joinpath('companies')\n    ensure_dir_exists(companies)\n\n    blog = _site.joinpath('blog')\n    ensure_dir_exists(blog)\n\n    # Copy static folder inside _site/ (if not there already)\n    _site_static = _site.joinpath('static')\n    shutil.rmtree(_site_static.as_posix(), ignore_errors=True)\n    shutil.copytree(static_path, _site_static.as_posix())\n\n    # Copy data inside _site\n    _site_data = _site.joinpath('data')\n    if not _site_data.exists():\n        data_dir = Path('whotracksme/data/assets').absolute().as_posix()\n        shutil.copytree(data_dir, _site_data.as_posix())\n\n    # compile static/scss directly to _site/static/css\n    scss_folder = Path(static_path).joinpath(\"scss\")\n    css_folder = _site_static.joinpath(\"css\")\n    sass.compile(dirname=(scss_folder, css_folder), output_style='compressed')\n\n"
  },
  {
    "path": "whotracksme/website/utils.py",
    "content": "import datetime\nimport simplejson\nimport pathlib\nimport os\n\n\ndef write_json(path, **data):\n    def myconverter(o):\n        if isinstance(o, datetime.datetime):\n            return o.isoformat()\n\n    pathlib.Path(os.path.dirname(path)).mkdir(parents=True, exist_ok=True)\n    json = simplejson.dumps(data, indent=2, default=myconverter)\n    with open(path, \"w\", encoding=\"utf-8\") as file:\n        file.write(json)\n\n\ndef without_keys(d, keys):\n    return {k: d[k] for k in d.keys() - keys}\n\n\ndef print_progress(text, default_space=40):\n    print(\"{} {:{}} done\".format(text, \".\" * (default_space - len(text)), default_space - len(text)))\n"
  }
]